/* =========================================================
   CRYSTAL CLEANING — CONTACT / FAQ V106
   Approved from V106.1 brief.
   Visual-only layer. Preserves V100/V101 security + AJAX.
   ========================================================= */

.faq-contact-v106{
    position:relative;
    overflow:hidden;
    padding:clamp(56px,5.2vw,82px) 0!important;
    background:
        radial-gradient(circle at 5% 15%,rgba(117,184,32,.065),transparent 24%),
        radial-gradient(circle at 96% 88%,rgba(117,184,32,.045),transparent 22%),
        linear-gradient(180deg,#f9fbf7 0%,#f5f8f3 100%)!important;
}

.faq-contact-grid-v106{
    display:grid!important;
    grid-template-columns:minmax(0,.84fr) minmax(500px,1.16fr)!important;
    gap:clamp(28px,3.1vw,48px)!important;
    align-items:start!important;
    max-width:1500px;
}

/* ---------- FAQ ---------- */
.faq-contact-v106 .faq-panel-v106{
    min-width:0;
    padding:5px 2px 4px 0;
}

.faq-contact-v106 .faq-panel-v106>.section-kicker,
.faq-contact-v106 .contact-panel-v106>.section-kicker{
    position:relative;
    display:inline-flex!important;
    align-items:center;
    gap:10px;
    margin:0 0 10px!important;
    color:#56871c!important;
    font-size:10px!important;
    font-weight:850!important;
    line-height:1!important;
    letter-spacing:.16em!important;
    text-transform:uppercase;
}

.faq-contact-v106 .faq-panel-v106>.section-kicker::before{
    content:"";
    width:32px;
    height:2px;
    border-radius:99px;
    background:#75b820;
}

.faq-contact-v106 .faq-panel-v106>h2,
.faq-contact-v106 .contact-panel-v106>h2{
    margin:0!important;
    font-family:inherit!important;
    color:#111a15!important;
    font-weight:780!important;
    line-height:1.06!important;
    letter-spacing:-.035em!important;
    text-wrap:balance;
    -webkit-font-smoothing:antialiased;
}

.faq-contact-v106 .faq-panel-v106>h2{
    max-width:570px;
    font-size:clamp(34px,3.25vw,50px)!important;
}

.faq-contact-v106 .faq-list{
    display:grid!important;
    gap:9px!important;
    margin-top:20px!important;
}

.faq-contact-v106 .faq-list details{
    overflow:hidden;
    border:1px solid #dbe5dc!important;
    border-radius:11px!important;
    background:rgba(255,255,255,.92)!important;
    box-shadow:0 8px 22px rgba(25,47,33,.025);
    transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}

.faq-contact-v106 .faq-list details:hover,
.faq-contact-v106 .faq-list details[open]{
    border-color:#bfd4a6!important;
    box-shadow:0 10px 26px rgba(68,100,42,.055);
    background:#fff!important;
}

.faq-contact-v106 .faq-list summary{
    position:relative;
    min-height:52px;
    display:flex;
    align-items:center;
    padding:0 52px 0 16px!important;
    list-style:none;
    cursor:pointer;
    color:#1d2923;
    font-size:12.5px!important;
    font-weight:720!important;
    line-height:1.35;
}

.faq-contact-v106 .faq-list summary::-webkit-details-marker{display:none}
.faq-contact-v106 .faq-list summary::marker{display:none}

.faq-contact-v106 .faq-list summary::after{
    content:"⌄";
    position:absolute;
    right:13px;
    top:50%;
    width:27px;
    height:27px;
    display:grid;
    place-items:center;
    border-radius:8px;
    background:#eef7e4;
    color:#56871c;
    font-size:17px;
    line-height:1;
    transform:translateY(-50%);
    transition:transform .2s ease,background .2s ease;
}

.faq-contact-v106 .faq-list details[open] summary::after{
    transform:translateY(-50%) rotate(180deg);
    background:#e6f2d7;
}

.faq-contact-v106 .faq-list p{
    margin:0!important;
    padding:0 16px 15px!important;
    color:#68786f!important;
    font-size:12px!important;
    line-height:1.58!important;
}

/* ---------- Contact card ---------- */
.faq-contact-v106 .contact-panel-v106{
    position:relative;
    min-width:0;
    padding:24px!important;
    overflow:visible;
    border:1px solid #dbe5dc!important;
    border-radius:18px!important;
    background:rgba(255,255,255,.97)!important;
    box-shadow:0 22px 55px rgba(25,47,33,.085)!important;
    -webkit-font-smoothing:antialiased;
}

.faq-contact-v106 .contact-panel-v106::before{
    content:"";
    position:absolute;
    top:-1px;
    left:24px;
    width:64px;
    height:3px;
    border-radius:0 0 5px 5px;
    background:linear-gradient(90deg,#75b820,#9ed64f);
}

.faq-contact-v106 .contact-panel-v106>h2{
    font-size:clamp(30px,2.55vw,40px)!important;
}

.faq-contact-v106 .contact-panel-v106>p{
    max-width:700px;
    margin:10px 0 18px!important;
    color:#68786f!important;
    font-size:12.8px!important;
    line-height:1.55!important;
}

.faq-contact-v106 .contact-form-v106{
    display:grid!important;
    gap:10px!important;
    margin-top:0!important;
}

.faq-contact-v106 .contact-form-v106 .contact-form__grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
}

.faq-contact-v106 .contact-form-v106 input,
.faq-contact-v106 .contact-form-v106 select,
.faq-contact-v106 .contact-form-v106 textarea{
    width:100%!important;
    border:1px solid #dbe5dc!important;
    border-radius:10px!important;
    background:#fff!important;
    color:#26332c!important;
    outline:none!important;
    box-shadow:none!important;
    font-family:inherit!important;
    font-size:12.8px!important;
    transition:border-color .15s ease,box-shadow .15s ease,background .15s ease!important;
}

.faq-contact-v106 .contact-form-v106 input,
.faq-contact-v106 .contact-form-v106 select{
    min-height:44px!important;
    height:44px!important;
    padding:0 13px!important;
}

.faq-contact-v106 .contact-form-v106 textarea{
    min-height:106px!important;
    height:auto!important;
    padding:12px 13px!important;
    line-height:1.5!important;
    resize:vertical;
}

.faq-contact-v106 .contact-form-v106 input::placeholder,
.faq-contact-v106 .contact-form-v106 textarea::placeholder{
    color:#87918c!important;
    opacity:1;
}

.faq-contact-v106 .contact-form-v106 input:focus,
.faq-contact-v106 .contact-form-v106 select:focus,
.faq-contact-v106 .contact-form-v106 textarea:focus{
    border-color:#98bd67!important;
    box-shadow:0 0 0 4px rgba(117,184,32,.09)!important;
    background:#fefffd!important;
}

.faq-contact-v106 .contact-submit-v101{
    width:auto!important;
    min-width:168px!important;
    min-height:44px!important;
    justify-self:end!important;
    margin-top:2px!important;
    padding:0 20px!important;
    border-radius:10px!important;
    font-size:11.5px!important;
    font-weight:760!important;
    box-shadow:0 12px 28px rgba(96,151,25,.17)!important;
}

.faq-contact-v106 .contact-status-v101{
    margin-top:2px!important;
    min-height:56px!important;
    padding:11px 13px!important;
    border-radius:10px!important;
}

.faq-contact-v106 .contact-status-v101__icon{
    width:31px!important;
    height:31px!important;
}

.faq-contact-v106 .contact-status-v101__copy strong{
    font-size:12px!important;
}

.faq-contact-v106 .contact-status-v101__copy small{
    font-size:11px!important;
}

/* ---------- Laptop: designed for 100% Chrome zoom ---------- */
@media (min-width:1050px) and (max-width:1500px){
    .faq-contact-v106{
        padding:42px 0!important;
    }
    .faq-contact-grid-v106{
        grid-template-columns:minmax(0,.76fr) minmax(500px,1.24fr)!important;
        gap:24px!important;
    }
    .faq-contact-v106 .faq-panel-v106>h2{
        font-size:39px!important;
    }
    .faq-contact-v106 .faq-list{
        margin-top:16px!important;
        gap:8px!important;
    }
    .faq-contact-v106 .faq-list summary{
        min-height:48px!important;
        font-size:11.8px!important;
    }
    .faq-contact-v106 .faq-list p{
        font-size:11px!important;
    }
    .faq-contact-v106 .contact-panel-v106{
        padding:21px!important;
        border-radius:16px!important;
    }
    .faq-contact-v106 .contact-panel-v106::before{
        left:21px;
    }
    .faq-contact-v106 .contact-panel-v106>h2{
        font-size:33px!important;
    }
    .faq-contact-v106 .contact-panel-v106>p{
        margin:9px 0 14px!important;
        font-size:11.8px!important;
        line-height:1.5!important;
    }
    .faq-contact-v106 .contact-form-v106 input,
    .faq-contact-v106 .contact-form-v106 select{
        min-height:41px!important;
        height:41px!important;
        font-size:11.8px!important;
    }
    .faq-contact-v106 .contact-form-v106 textarea{
        min-height:96px!important;
        font-size:11.8px!important;
    }
    .faq-contact-v106 .contact-submit-v101{
        min-height:41px!important;
        font-size:11px!important;
    }
}

/* ---------- Tablet ---------- */
@media (max-width:1049px){
    .faq-contact-v106{
        padding:48px 0!important;
    }
    .faq-contact-grid-v106{
        grid-template-columns:1fr!important;
        gap:18px!important;
    }
    .faq-contact-v106 .faq-panel-v106{
        padding:0!important;
    }
    .faq-contact-v106 .faq-panel-v106>h2{
        max-width:none;
        font-size:36px!important;
    }
    .faq-contact-v106 .contact-panel-v106{
        padding:20px!important;
    }
    .faq-contact-v106 .contact-panel-v106::before{
        left:20px;
    }
}

/* ---------- Mobile ---------- */
@media (max-width:640px){
    .faq-contact-v106{
        padding:34px 0!important;
    }
    .faq-contact-grid-v106{
        gap:14px!important;
    }
    .faq-contact-v106 .faq-panel-v106>h2{
        font-size:31px!important;
    }
    .faq-contact-v106 .faq-list{
        margin-top:15px!important;
    }
    .faq-contact-v106 .faq-list summary{
        min-height:52px!important;
        padding-left:13px!important;
        font-size:12px!important;
    }
    .faq-contact-v106 .contact-panel-v106{
        padding:18px!important;
        border-radius:14px!important;
    }
    .faq-contact-v106 .contact-panel-v106::before{
        left:18px;
    }
    .faq-contact-v106 .contact-panel-v106>h2{
        font-size:28px!important;
    }
    .faq-contact-v106 .contact-panel-v106>p{
        font-size:12px!important;
    }
    .faq-contact-v106 .contact-form-v106 .contact-form__grid{
        grid-template-columns:1fr!important;
    }
    .faq-contact-v106 .contact-form-v106 input,
    .faq-contact-v106 .contact-form-v106 select{
        min-height:44px!important;
        height:44px!important;
        font-size:15px!important;
    }
    .faq-contact-v106 .contact-form-v106 textarea{
        min-height:104px!important;
        font-size:15px!important;
    }
    .faq-contact-v106 .contact-submit-v101{
        width:100%!important;
        min-width:0!important;
        min-height:44px!important;
        justify-self:stretch!important;
    }
}

@media (prefers-reduced-motion:reduce){
    .faq-contact-v106 .faq-list details,
    .faq-contact-v106 .faq-list summary::after,
    .faq-contact-v106 .contact-form-v106 input,
    .faq-contact-v106 .contact-form-v106 select,
    .faq-contact-v106 .contact-form-v106 textarea{
        transition:none!important;
    }
}
