/*
 * WordPress Fallback CSS
 * Замена отсутствующих WordPress стилей
 */

/* Contact Form 7 */
.wpcf7 * {
    box-sizing: border-box;
}

.wpcf7 form {
    margin: 0;
}

.wpcf7-form p {
    margin: 0 0 1em;
}

.wpcf7-form label {
    display: block;
    margin-bottom: 0.5em;
    font-weight: 600;
}

.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="url"],
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="number"],
.wpcf7-form textarea,
.wpcf7-form select {
    width: 100%;
    padding: 0.5em;
    border: 1px solid #ddd;
    border-radius: 3px;
}

.wpcf7-form input[type="submit"] {
    padding: 0.8em 2em;
    background: #333;
    color: #fff;
    border: none;
    border-radius: 3px;
    cursor: pointer;
}

/* Revolution Slider Fallback */
.rev_slider_wrapper,
.rev_slider {
    position: relative;
    overflow: hidden;
}

.tp-caption {
    position: absolute;
    z-index: 1;
}

.rev-slidebg {
    width: 100%;
    height: auto;
}

/* PE Icon 7 Stroke (Fallback icons) */
[class^="pe-7s-"],
[class*=" pe-7s-"] {
    font-family: 'Pe-icon-7-stroke', Arial, sans-serif;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.pe-7s-call:before { content: "📞"; }
.pe-7s-mail:before { content: "✉"; }
.pe-7s-map-marker:before { content: "📍"; }
.pe-7s-home:before { content: "🏠"; }
.pe-7s-user:before { content: "👤"; }

/* Font Awesome Fallback */
.fa {
    display: inline-block;
    font: normal normal normal 14px/1 FontAwesome;
    font-size: inherit;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.fa-phone:before { content: "📞"; }
.fa-envelope:before { content: "✉"; }
.fa-clock-o:before { content: "🕐"; }
.fa-commenting:before { content: "💬"; }
.fa-navicon:before,
.fa-bars:before { content: "☰"; }
.fa-search:before { content: "🔍"; }
.fa-times:before { content: "✕"; }
.fa-chevron-up:before { content: "▲"; }
.fa-chevron-down:before { content: "▼"; }

/* Slick Slider */
.slick-slider {
    position: relative;
    display: block;
    box-sizing: border-box;
    -webkit-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
    -khtml-user-select: none;
    touch-action: pan-y;
}

.slick-list {
    position: relative;
    display: block;
    overflow: hidden;
    margin: 0;
    padding: 0;
}

.slick-track {
    position: relative;
    top: 0;
    left: 0;
    display: block;
}

.slick-slide {
    display: none;
    float: left;
    height: 100%;
    min-height: 1px;
}

.slick-slide.slick-active {
    display: block;
}

/* Slick Theme */
.slick-prev,
.slick-next {
    position: absolute;
    top: 50%;
    width: 40px;
    height: 40px;
    padding: 0;
    transform: translate(0, -50%);
    cursor: pointer;
    border: none;
    outline: none;
    background: rgba(0,0,0,0.5);
    color: #fff;
    font-size: 20px;
    line-height: 40px;
    text-align: center;
    z-index: 10;
}

.slick-prev { left: 10px; }
.slick-next { right: 10px; }

.slick-prev:before { content: "‹"; }
.slick-next:before { content: "›"; }

.slick-dots {
    position: absolute;
    bottom: 10px;
    list-style: none;
    display: flex;
    justify-content: center;
    width: 100%;
    padding: 0;
    margin: 0;
}

.slick-dots li {
    margin: 0 5px;
}

.slick-dots button {
    width: 12px;
    height: 12px;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: rgba(255,255,255,0.5);
    cursor: pointer;
    font-size: 0;
}

.slick-dots .slick-active button {
    background: rgba(255,255,255,1);
}

/* Magnific Popup */
.mfp-bg {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1042;
    overflow: hidden;
    background: #0b0b0b;
    opacity: 0.8;
}

.mfp-wrap {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1043;
    outline: none !important;
}

.mfp-container {
    text-align: center;
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    padding: 0 8px;
    box-sizing: border-box;
}

.mfp-content {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    margin: 0 auto;
    text-align: left;
    z-index: 1045;
}

/* Swipebox */
.swipebox-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 99999;
    overflow: hidden;
    user-select: none;
}

/* Visual Composer */
.vc_row {
    margin-left: -15px;
    margin-right: -15px;
}

.vc_row:after {
    content: "";
    display: table;
    clear: both;
}

.vc_column_container {
    padding-left: 15px;
    padding-right: 15px;
}

.wpb_column {
    float: left;
    min-height: 1px;
}

.vc_col-sm-12 { width: 100%; }
.vc_col-sm-6 { width: 50%; }
.vc_col-sm-4 { width: 33.333%; }
.vc_col-sm-3 { width: 25%; }

.wpb_wrapper {
    position: relative;
}

.wpb_text_column {
    margin-bottom: 20px;
}

.wpb_content_element {
    margin-bottom: 35px;
}

/* WPForms */
.wpforms-container-full .wpforms-form {
    max-width: 100%;
}

.wpforms-field-container {
    margin-bottom: 20px;
}

.wpforms-field {
    margin-bottom: 20px;
}

.wpforms-field-label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
}

.wpforms-field input,
.wpforms-field textarea {
    width: 100%;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 3px;
}

.wpforms-submit-container {
    text-align: center;
    margin-top: 20px;
}

/* Kirki Styles - уже есть inline, но добавим fallback */
.kirki-styles {
    /* Стили уже в inline CSS */
}

/* Grid System */
.container {
    max-width: 1170px;
    margin: 0 auto;
    padding: 0 15px;
}

.row {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -15px;
}

.col-xs-12,
.col-sm-12,
.col-md-12,
.col-lg-12 {
    width: 100%;
    padding: 0 15px;
}

.col-sm-6 { width: 50%; }
.col-sm-4 { width: 33.333%; }
.col-sm-3 { width: 25%; }
.col-sm-2 { width: 16.666%; }

.col-md-6 { width: 50%; }
.col-md-4 { width: 33.333%; }
.col-md-3 { width: 25%; }

/* Responsive */
@media (max-width: 768px) {
    .col-sm-12,
    .col-sm-6,
    .col-sm-4,
    .col-sm-3,
    .col-sm-2 {
        width: 100%;
    }

    .slick-prev { left: 5px; }
    .slick-next { right: 5px; }
}

@media (max-width: 992px) {
    .col-md-12,
    .col-md-6,
    .col-md-4,
    .col-md-3 {
        width: 100%;
    }

    .hidden-md-up {
        display: none !important;
    }

    .hidden-lg-up {
        display: block !important;
    }
}

/* Utility classes */
.center-xs { text-align: center; }
.start-xs { text-align: left; }
.end-xs { text-align: right; }

.row-xs-center {
    justify-content: center;
}

.hidden {
    display: none !important;
}

.visible {
    display: block !important;
}
