/* ==========================================================================
   hidrologi.net — Modern v2.8.2 FAQ
   Visual language follows Engineer Profile / Modern v2.8.
   ========================================================================== */

.mv28-faq-page{
    background:var(--mv28-page,#f4f7fb);
}

.mv28-faq-main{
    min-height:65vh;
    padding-top:18px;
}

.mv28-faq-cover{
    width:min(var(--mv28-container,1160px),calc(100% - 36px));
    margin:0 auto;
    overflow:hidden;
    border-radius:12px;
    color:#fff;
    background:
        radial-gradient(circle at 88% 8%,rgba(43,186,158,.25),transparent 30%),
        radial-gradient(circle at 12% 100%,rgba(43,155,224,.20),transparent 28%),
        linear-gradient(135deg,#07385f 0%,#07599d 60%,#0b7582 100%);
    box-shadow:0 5px 18px rgba(31,72,107,.055);
}

.mv28-faq-cover-inner{
    min-height:230px;
    padding:35px 34px;
    display:flex;
    justify-content:space-between;
    gap:30px;
    align-items:flex-end;
}

.mv28-faq-cover-copy{
    max-width:760px;
}

.mv28-faq-kicker{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:#bfe8f1;
    font-size:10px;
    font-weight:900;
    letter-spacing:.1em;
    text-transform:uppercase;
}

.mv28-faq-kicker::before{
    content:"";
    width:18px;
    height:2px;
    background:#f58a25;
}

.mv28-faq-cover h1{
    margin:9px 0 0;
    color:#fff;
    font-size:40px;
    line-height:1.06;
    letter-spacing:-1px;
}

.mv28-faq-cover p{
    max-width:700px;
    margin:12px 0 0;
    color:#dcebf3;
    font-size:14px;
    line-height:1.65;
}

.mv28-faq-contact{
    min-width:220px;
    min-height:58px;
    padding:10px 12px;
    display:grid;
    grid-template-columns:34px minmax(0,1fr) 15px;
    gap:10px;
    align-items:center;
    border:1px solid rgba(255,255,255,.18);
    border-radius:10px;
    color:#fff;
    background:rgba(255,255,255,.09);
}

.mv28-faq-contact>span{
    width:34px;
    height:34px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:8px;
    color:#fff;
    background:rgba(255,255,255,.12);
}

.mv28-faq-contact svg{
    width:16px;
    height:16px;
}

.mv28-faq-contact small,
.mv28-faq-contact strong{
    display:block;
}

.mv28-faq-contact small{
    color:#cfe4ee;
    font-size:8px;
}

.mv28-faq-contact strong{
    margin-top:2px;
    color:#fff;
    font-size:11px;
}

.mv28-faq-summary{
    position:relative;
    z-index:3;
    margin-top:-24px;
}

.mv28-faq-summary-card{
    width:min(var(--mv28-container,1160px),calc(100% - 70px));
    margin:0 auto;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    border:1px solid #dfe7ef;
    border-radius:12px;
    background:#fff;
    box-shadow:0 7px 22px rgba(31,72,107,.075);
}

.mv28-faq-summary-card article{
    min-height:96px;
    padding:16px 18px;
    display:grid;
    grid-template-columns:38px minmax(0,1fr);
    gap:10px;
    align-items:center;
    border-right:1px solid #e8eef3;
}

.mv28-faq-summary-card article:last-child{
    border-right:0;
}

.mv28-faq-summary-card article>span{
    width:38px;
    height:38px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:9px;
    color:#0871ca;
    background:#edf7ff;
}

.mv28-faq-summary-card svg{
    width:19px;
    height:19px;
}

.mv28-faq-summary-card strong,
.mv28-faq-summary-card small{
    display:block;
}

.mv28-faq-summary-card strong{
    color:#173e5e;
    font-size:12px;
}

.mv28-faq-summary-card small{
    margin-top:4px;
    color:#71879a;
    font-size:9px;
    line-height:1.35;
}

.mv28-faq-section{
    padding:28px 0 42px;
}

.mv28-faq-layout{
    display:grid;
    grid-template-columns:280px minmax(0,1fr);
    gap:18px;
    align-items:start;
}

.mv28-faq-sidebar{
    position:sticky;
    top:82px;
    display:grid;
    gap:14px;
}

.mv28-faq-side-card,
.mv28-faq-search-card,
.mv28-faq-item{
    border:1px solid #dfe7ef;
    border-radius:12px;
    background:#fff;
    box-shadow:0 5px 18px rgba(31,72,107,.05);
}

.mv28-faq-side-card{
    padding:18px;
}

.mv28-faq-section-label{
    display:inline-flex;
    align-items:center;
    gap:7px;
    color:#0871ca;
    font-size:9px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.mv28-faq-section-label::before{
    content:"";
    width:16px;
    height:2px;
    background:#f58a25;
}

.mv28-faq-side-card h2{
    margin:8px 0 0;
    color:#153e5d;
    font-size:17px;
    line-height:1.25;
}

.mv28-faq-side-card p{
    margin:9px 0 0;
    color:#647d90;
    font-size:11px;
    line-height:1.6;
}

.mv28-faq-category-list{
    display:grid;
    gap:5px;
    margin-top:13px;
}

.mv28-faq-category-list button{
    min-height:37px;
    padding:0 9px;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:8px;
    align-items:center;
    border:1px solid transparent;
    border-radius:8px;
    color:#557087;
    background:transparent;
    text-align:left;
    font:inherit;
    font-size:10px;
    font-weight:800;
    cursor:pointer;
}

.mv28-faq-category-list button:hover,
.mv28-faq-category-list button.is-active{
    border-color:#d8e6ef;
    color:#0871ca;
    background:#f2f8fd;
}

.mv28-faq-category-list b{
    min-width:22px;
    height:22px;
    padding:0 6px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    color:#698298;
    background:#edf3f7;
    font-size:8px;
}

.mv28-faq-category-list button.is-active b{
    color:#fff;
    background:#0871ca;
}

.mv28-faq-side-button{
    min-height:37px;
    margin-top:13px;
    padding:0 12px;
    display:inline-flex;
    align-items:center;
    gap:7px;
    border-radius:7px;
    color:#fff;
    background:#0871ca;
    font-size:10px;
    font-weight:900;
}

.mv28-faq-side-button svg{
    width:13px;
    height:13px;
}

.mv28-faq-quick-links{
    display:grid;
    gap:5px;
    margin-top:12px;
}

.mv28-faq-quick-links a{
    min-height:36px;
    padding:0 9px;
    display:grid;
    grid-template-columns:minmax(0,1fr) 13px;
    gap:7px;
    align-items:center;
    border:1px solid #e3ebf1;
    border-radius:7px;
    color:#47677f;
    background:#fbfdff;
    font-size:10px;
    font-weight:800;
}

.mv28-faq-quick-links a:hover{
    color:#0871ca;
    border-color:#c9ddea;
    background:#f2f8fd;
}

.mv28-faq-quick-links svg{
    width:12px;
    height:12px;
}

.mv28-faq-content{
    min-width:0;
}

.mv28-faq-search-card{
    padding:15px;
    margin-bottom:13px;
}

.mv28-faq-search{
    height:43px;
    padding:0 12px;
    display:flex;
    align-items:center;
    gap:8px;
    border:1px solid #d7e3ec;
    border-radius:9px;
    background:#f9fbfd;
}

.mv28-faq-search:focus-within{
    border-color:#9bc9ee;
    box-shadow:0 0 0 3px rgba(8,116,216,.07);
    background:#fff;
}

.mv28-faq-search>span{
    display:flex;
    color:#7990a3;
}

.mv28-faq-search svg{
    width:16px;
    height:16px;
}

.mv28-faq-search input{
    width:100%;
    min-width:0;
    border:0;
    outline:0;
    background:transparent;
    color:#355773;
    font:inherit;
    font-size:12px;
}

.mv28-faq-search-card p{
    margin:8px 2px 0;
    color:#7b90a1;
    font-size:9px;
}

.mv28-faq-list{
    display:grid;
    gap:9px;
}

.mv28-faq-item{
    overflow:hidden;
}

.mv28-faq-question{
    width:100%;
    min-height:68px;
    padding:13px 15px;
    display:grid;
    grid-template-columns:minmax(0,1fr) 28px;
    gap:12px;
    align-items:center;
    border:0;
    background:#fff;
    text-align:left;
    font:inherit;
    cursor:pointer;
}

.mv28-faq-question>span{
    min-width:0;
}

.mv28-faq-question small,
.mv28-faq-question strong{
    display:block;
}

.mv28-faq-question small{
    color:#0871ca;
    font-size:8px;
    font-weight:900;
    letter-spacing:.06em;
    text-transform:uppercase;
}

.mv28-faq-question strong{
    margin-top:4px;
    color:#173e5e;
    font-size:13px;
    line-height:1.35;
}

.mv28-faq-question i{
    width:28px;
    height:28px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    color:#0871ca;
    background:#edf7ff;
    font-size:17px;
    font-style:normal;
}

.mv28-faq-question:hover{
    background:#fbfdff;
}

.mv28-faq-answer{
    display:none;
    padding:0 15px 16px;
    border-top:1px solid #eef2f5;
}

.mv28-faq-answer.is-open{
    display:block;
}

.mv28-faq-answer p{
    max-width:780px;
    margin:13px 0 0;
    color:#587187;
    font-size:12px;
    line-height:1.7;
}

.mv28-faq-answer a{
    margin-top:11px;
    display:inline-flex;
    align-items:center;
    gap:5px;
    color:#0871ca;
    font-size:10px;
    font-weight:900;
}

.mv28-faq-answer a svg{
    width:12px;
    height:12px;
}

.mv28-faq-empty{
    padding:34px 20px;
    border:1px dashed #cadbe7;
    border-radius:12px;
    background:#fff;
    text-align:center;
}

.mv28-faq-empty>span{
    width:46px;
    height:46px;
    margin:0 auto;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    color:#0871ca;
    background:#edf7ff;
}

.mv28-faq-empty svg{
    width:21px;
    height:21px;
}

.mv28-faq-empty h2{
    margin:12px 0 0;
    color:#153e5d;
    font-size:19px;
}

.mv28-faq-empty p{
    margin:7px 0 14px;
    color:#6d8496;
    font-size:11px;
}

.mv28-faq-empty button{
    min-height:36px;
    padding:0 12px;
    border:0;
    border-radius:7px;
    color:#fff;
    background:#0871ca;
    font:inherit;
    font-size:10px;
    font-weight:900;
    cursor:pointer;
}

.mv28-faq-item[hidden]{
    display:none!important;
}

/* Tablet ---------------------------------------------------------------- */
@media(max-width:900px){
    .mv28-faq-cover-inner{
        align-items:flex-start;
        flex-direction:column;
    }

    .mv28-faq-summary-card{
        grid-template-columns:1fr 1fr;
    }

    .mv28-faq-summary-card article:nth-child(2){
        border-right:0;
    }

    .mv28-faq-summary-card article:nth-child(-n+2){
        border-bottom:1px solid #e8eef3;
    }

    .mv28-faq-layout{
        grid-template-columns:1fr;
    }

    .mv28-faq-sidebar{
        position:static;
        grid-template-columns:1fr 1fr;
    }

    .mv28-faq-side-card:first-child{
        grid-column:1 / -1;
    }

    .mv28-faq-category-list{
        grid-template-columns:1fr 1fr;
    }
}

/* Mobile ---------------------------------------------------------------- */
@media(max-width:620px){
    .mv28-faq-main{
        padding-top:10px;
    }

    .mv28-faq-cover{
        width:calc(100% - 18px);
        border-radius:11px;
    }

    .mv28-faq-cover-inner{
        min-height:0;
        padding:24px 18px 42px;
    }

    .mv28-faq-cover h1{
        font-size:29px;
    }

    .mv28-faq-cover p{
        font-size:12px;
    }

    .mv28-faq-contact{
        width:100%;
        min-width:0;
    }

    .mv28-faq-summary{
        margin-top:-22px;
    }

    .mv28-faq-summary-card{
        width:calc(100% - 36px);
        grid-template-columns:1fr 1fr;
    }

    .mv28-faq-summary-card article{
        min-height:94px;
        padding:12px;
        grid-template-columns:32px minmax(0,1fr);
        gap:8px;
    }

    .mv28-faq-summary-card article>span{
        width:32px;
        height:32px;
    }

    .mv28-faq-summary-card strong{
        font-size:10px;
    }

    .mv28-faq-summary-card small{
        font-size:7.8px;
    }

    .mv28-faq-section{
        padding:20px 0 30px;
    }

    .mv28-faq-sidebar{
        grid-template-columns:1fr;
    }

    .mv28-faq-side-card:first-child{
        grid-column:auto;
    }

    .mv28-faq-category-list{
        grid-template-columns:1fr 1fr;
    }

    .mv28-faq-side-card{
        padding:15px;
    }

    .mv28-faq-search-card{
        padding:11px;
    }

    .mv28-faq-question{
        min-height:62px;
        padding:11px 12px;
    }

    .mv28-faq-question strong{
        font-size:11px;
    }

    .mv28-faq-answer{
        padding:0 12px 13px;
    }

    .mv28-faq-answer p{
        font-size:11px;
    }
}

@media(max-width:420px){
    .mv28-faq-category-list{
        grid-template-columns:1fr;
    }
}
