/* ==========================================================================
   Pishgam Rayan — SMS FAQ V7
   Clean page-specific component CSS
   ========================================================================== */

.pr-faq{
    --pr-faq-radius:16px;
    --pr-faq-border:rgba(var(--color-primary-rgb),.10);
    --pr-faq-muted:#66758a;

    /*
      ScrollSpy line = floating header bottom + this gap.
      Uses the global 8px spacing scale from pr-tokens.css.
    */
    --pr-faq-spy-gap:var(--space-8,4rem);
    position:relative;
    width:100%;
    color:var(--color-ink,#14213a);
}

/* HERO */
.pr-faq-hero{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    display:flex;
    align-items:center;
    min-height:390px;
    padding:clamp(5.25rem,8vw,7.5rem) 0 clamp(3.5rem,6vw,5rem);
    background-color:#f8faff;
    background-image:
        linear-gradient(90deg,rgba(248,250,255,.98) 0%,rgba(248,250,255,.92) 40%,rgba(248,250,255,.58) 70%,rgba(248,250,255,.20) 100%),
        var(--pr-faq-hero-image);
    background-repeat:no-repeat;
    background-size:cover;
    background-position:66% center;
}

.pr-faq-hero::after{
    content:"";
    position:absolute;
    inset:auto 0 0;
    height:1px;
    background:linear-gradient(90deg,transparent,rgba(var(--color-primary-rgb),.13),transparent);
}

.pr-faq-hero__content{
    width:min(100%,780px);
    margin-inline:auto;
}

.pr-faq-hero__title{
    max-width:780px;
    margin:0 auto clamp(1.7rem,3vw,2.4rem);
    color:var(--color-ink,#14213a);
    font-size:clamp(1.8rem,3.3vw,3rem);
    font-weight:850;
    line-height:1.55;
    letter-spacing:-.035em;
    text-align:center;
}

/* SEARCH */
.pr-faq-search{
    width:min(100%,700px);
    margin-inline:auto;
}

.pr-faq-search__box{
    position:relative;
    display:flex;
    align-items:center;
    min-height:58px;
    overflow:hidden;
    border:1px solid var(--pr-faq-border);
    border-radius:18px;
    background:#fff;
    box-shadow:0 12px 32px rgba(10,35,90,.055);
    transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}

.pr-faq-search__box:focus-within{
    transform:translateY(-1px);
    border-color:rgba(var(--color-primary-rgb),.34);
    box-shadow:0 15px 36px rgba(10,35,90,.075),0 0 0 4px rgba(var(--color-primary-rgb),.045);
}

.pr-faq-search__icon{
    position:absolute;
    right:19px;
    z-index:1;
    color:var(--color-primary,#003399);
    font-size:.95rem;
    pointer-events:none;
}

.pr-faq-search__input{
    width:100%;
    min-width:0;
    min-height:58px;
    padding:13px 50px 13px 52px;
    border:0;
    outline:0;
    color:var(--color-ink,#14213a);
    background:transparent;
    font:inherit;
    font-size:.94rem;
}

.pr-faq-search__input::-webkit-search-cancel-button{display:none}
.pr-faq-search__input::placeholder{color:#939fb0}

.pr-faq-search__clear{
    position:absolute;
    left:13px;
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    padding:0;
    border:0;
    border-radius:10px;
    color:#7c899b;
    background:rgba(var(--color-primary-rgb),.045);
    cursor:pointer;
    transition:color .16s ease,background-color .16s ease;
}

.pr-faq-search__clear:hover{
    color:var(--color-primary,#003399);
    background:rgba(var(--color-primary-rgb),.09);
}

.pr-faq-popular{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px;
    margin-top:14px;
    padding-inline:4px;
}

.pr-faq-popular__label{
    color:#7a8799;
    font-size:.76rem;
    font-weight:750;
}

.pr-faq-popular__item{
    min-height:32px;
    padding:5px 12px;
    border:1px solid var(--pr-faq-border);
    border-radius:999px;
    color:#566479;
    background:#fff;
    cursor:pointer;
    font:inherit;
    font-size:.73rem;
    font-weight:650;
    transition:color .16s ease,background-color .16s ease,border-color .16s ease,transform .16s ease;
}

@media (hover:hover) and (pointer:fine){
    .pr-faq-popular__item:hover{
        transform:translateY(-1px);
        border-color:var(--color-primary,#003399);
        color:#fff;
        background:var(--color-primary,#003399);
    }
}

.pr-faq-empty{
    margin-top:16px;
    padding:15px 18px;
    border:1px solid rgba(190,46,58,.11);
    border-radius:14px;
    color:#a82d38;
    background:#fff7f8;
    text-align:center;
    font-size:.82rem;
    font-weight:700;
}

/* PAGE */
.pr-faq-page-section{
    margin:0!important;
    padding:clamp(3.25rem,6vw,5.5rem) 0!important;
    background:linear-gradient(180deg,#fbfcff 0%,var(--color-bg,#f7f9fd) 100%)!important;
}

.pr-faq-content{min-width:0}

.pr-faq-section{
    padding:clamp(1.45rem,3vw,2.45rem) 0 clamp(2.5rem,4vw,3.7rem);
    border-bottom:1px solid rgba(var(--color-primary-rgb),.075);
}

.pr-faq-section:first-child{padding-top:0}
.pr-faq-section:last-child{padding-bottom:0;border-bottom:0}

.pr-faq-section__title{
    position:relative;
    margin:0 0 1.25rem;
    padding:0 17px .9rem 0;
    color:var(--color-ink,#14213a);
    font-size:clamp(1.34rem,2vw,1.8rem);
    font-weight:850;
    line-height:1.55;
    letter-spacing:-.025em;
}

.pr-faq-section__title::before{
    content:"";
    position:absolute;
    top:.35em;
    right:0;
    width:4px;
    height:1.08em;
    border-radius:999px;
    background:linear-gradient(180deg,var(--color-primary,#003399) 0 76%,var(--color-secondary,#ffcc00) 76% 100%);
}

.pr-faq-section__title::after{
    content:"";
    position:absolute;
    right:17px;
    bottom:0;
    width:min(155px,25vw);
    height:1px;
    background:linear-gradient(90deg,rgba(var(--color-primary-rgb),.26),transparent);
}

/* FAQ ITEMS */
.pr-faq-list{
    display:grid;
    gap:10px;
}

.pr-faq-item{
    overflow:hidden;
    border:1px solid var(--pr-faq-border);
    border-radius:var(--pr-faq-radius);
    background:#fff;
    box-shadow:0 8px 24px rgba(10,35,90,.04);
    transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}

.pr-faq-item[open]{
    border-color:rgba(var(--color-primary-rgb),.20);
    box-shadow:0 13px 32px rgba(10,35,90,.06);
}

.pr-faq-item.is-search-match{border-color:rgba(var(--color-primary-rgb),.23)}

@media (hover:hover) and (pointer:fine){
    .pr-faq-item:hover{
        transform:translateY(-1px);
        border-color:rgba(var(--color-primary-rgb),.15);
    }
}

.pr-faq-item__question{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    min-height:58px;
    padding:14px 18px;
    color:var(--color-ink,#17233b);
    background:transparent;
    cursor:pointer;
    list-style:none;
    font-size:clamp(.92rem,1.05vw,1rem);
    font-weight:780;
    line-height:1.9;
    transition:color .16s ease,background-color .16s ease;
}

.pr-faq-item__question::-webkit-details-marker{display:none}
.pr-faq-item__question::marker{content:""}

.pr-faq-item__question:hover{
    color:var(--color-primary,#003399);
    background:rgba(var(--color-primary-rgb),.022);
}

.pr-faq-item[open] .pr-faq-item__question{
    color:var(--color-primary-dark,#002876);
    background:linear-gradient(90deg,rgba(var(--color-primary-rgb),.02),rgba(var(--color-primary-rgb),.06));
}

.pr-faq-item__control{
    display:grid;
    place-items:center;
    width:32px;
    height:32px;
    flex:0 0 32px;
    border:1px solid var(--pr-faq-border);
    border-radius:10px;
    color:var(--color-primary,#003399);
    background:rgba(var(--color-primary-rgb),.05);
    font-size:.70rem;
    transition:color .16s ease,background-color .16s ease,border-color .16s ease,transform .18s ease;
}

.pr-faq-item[open] .pr-faq-item__control{
    border-color:var(--color-primary,#003399);
    color:#fff;
    background:var(--color-primary,#003399);
    transform:rotate(45deg);
}

.pr-faq-item__answer{
    padding:0 18px 18px;
    color:#536177;
    background:linear-gradient(180deg,rgba(var(--color-primary-rgb),.034),rgba(var(--color-primary-rgb),.012));
}

.pr-faq-item__answer::before{
    content:"";
    display:block;
    height:1px;
    margin:0 0 14px;
    background:linear-gradient(90deg,rgba(var(--color-primary-rgb),.13),transparent 84%);
}

.pr-faq-item__answer-inner,
.pr-faq-item__answer-inner p{
    color:#536177;
    font-size:.94rem;
    line-height:2.05;
}

.pr-faq-item__answer-inner > :first-child{margin-top:0}
.pr-faq-item__answer-inner > :last-child{margin-bottom:0}

/* DESKTOP TOC */
.pr-faq-nav{
    position:sticky;
    top:112px;
    padding:8px 0 8px 18px;
}

.pr-faq-nav__list{
    display:grid;
    gap:3px;
    margin:0;
    padding:0 15px 0 0;
    list-style:none;
}

.pr-faq-nav__item{margin:0;padding:0}

.pr-faq-nav__link{
    display:block;
    width:100%;
    padding:9px 12px;
    border:0;
    border-radius:10px;
    color:#718096;
    background:transparent;
    text-align:right;
    cursor:pointer;
    font:inherit;
    font-size:.80rem;
    font-weight:650;
    line-height:1.75;
    transition:color .16s ease,background-color .16s ease;
}

.pr-faq-nav__link:hover{
    color:var(--color-primary,#003399);
    background:rgba(var(--color-primary-rgb),.035);
}

.pr-faq-nav__link.is-active{
    color:var(--color-primary,#003399);
    background:linear-gradient(90deg,rgba(var(--color-primary-rgb),.045),rgba(var(--color-primary-rgb),.09));
    font-weight:800;
}

.pr-faq-nav__indicator{
    position:absolute;
    top:8px;
    right:0;
    width:3px;
    height:24px;
    border-radius:999px;
    opacity:0;
    background:var(--color-primary,#003399);
    box-shadow:0 0 12px rgba(var(--color-primary-rgb),.18);
    pointer-events:none;
    transition:transform .16s ease,height .16s ease,opacity .12s ease;
}

.pr-faq-nav__indicator::after{
    content:"";
    position:absolute;
    right:50%;
    bottom:-3px;
    width:7px;
    height:7px;
    transform:translateX(50%);
    border:2px solid var(--color-bg,#f7f9fd);
    border-radius:50%;
    background:var(--color-secondary,#ffcc00);
}

/* MOBILE TOC */
.pr-faq-mobile-nav{
    overflow:hidden;
    margin-bottom:1rem;
    border:1px solid var(--pr-faq-border);
    border-radius:16px;
    background:#fff;
    box-shadow:0 8px 22px rgba(10,35,90,.04);
}

.pr-faq-mobile-nav__summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:14px 16px;
    color:var(--color-ink,#14213a);
    cursor:pointer;
    list-style:none;
    font-weight:800;
}

.pr-faq-mobile-nav__summary::-webkit-details-marker{display:none}
.pr-faq-mobile-nav__summary::marker{content:""}

.pr-faq-mobile-nav__summary i{
    color:var(--color-primary,#003399);
    font-size:.78rem;
    transition:transform .18s ease;
}

.pr-faq-mobile-nav[open] .pr-faq-mobile-nav__summary i{transform:rotate(180deg)}

.pr-faq-mobile-nav__panel{
    padding:0 8px 10px;
    border-top:1px solid rgba(var(--color-primary-rgb),.065);
}

.pr-faq-mobile-nav__list{
    display:grid;
    gap:2px;
    margin:0;
    padding:8px 0 0;
    list-style:none;
}

.pr-faq-mobile-nav .pr-faq-nav__link{padding:10px 11px}

/* FILTER STATE */
.pr-faq-section[hidden],
.pr-faq-item[hidden],
.pr-faq-nav__item[hidden],
.pr-faq-empty[hidden],
.pr-faq-search__clear[hidden]{
    display:none!important;
}

/* RESPONSIVE */
@media (max-width:1199.98px){
    .pr-faq{
        --pr-faq-spy-gap:var(--space-3,1.5rem);
    }

    .pr-faq-page-section{
        padding:2rem 0 3.5rem!important;
    }
}

@media (max-width:767.98px){
    .pr-faq-hero{
        min-height:auto;
        padding:5.75rem 0 3rem;
        background-image:
            linear-gradient(180deg,rgba(248,250,255,.97),rgba(248,250,255,.90)),
            var(--pr-faq-hero-image);
        background-position:center;
    }

    .pr-faq-hero__title{
        margin-bottom:1.45rem;
        font-size:clamp(1.5rem,7vw,2rem);
    }

    .pr-faq-search__box,
    .pr-faq-search__input{min-height:52px}

    .pr-faq-search__input{
        padding-block:11px;
        font-size:.90rem;
    }

    .pr-faq-popular{gap:6px}
    .pr-faq-popular__label{width:100%}

    .pr-faq-popular__item{
        min-height:30px;
        padding:4px 10px;
        font-size:.69rem;
    }

    .pr-faq-section{padding:1.35rem 0 2.3rem}
    .pr-faq-section__title{font-size:1.28rem}
    .pr-faq-item{border-radius:14px}

    .pr-faq-item__question{
        min-height:54px;
        padding:12px 14px;
        font-size:.90rem;
    }

    .pr-faq-item__control{
        width:30px;
        height:30px;
        flex-basis:30px;
    }

    .pr-faq-item__answer{padding:0 14px 16px}
}

/* VDI / ACCESSIBILITY */
.pr-performance-lite .pr-faq-item,
.pr-software-renderer .pr-faq-item,
.pr-performance-lite .pr-faq-search__box,
.pr-software-renderer .pr-faq-search__box,
.pr-performance-lite .pr-faq-mobile-nav,
.pr-software-renderer .pr-faq-mobile-nav{
    box-shadow:none;
}

.pr-performance-lite .pr-faq-item,
.pr-software-renderer .pr-faq-item{
    transform:none!important;
}

@media (prefers-reduced-motion:reduce){
    .pr-faq-item,
    .pr-faq-item__question,
    .pr-faq-item__control,
    .pr-faq-search__box,
    .pr-faq-popular__item,
    .pr-faq-nav__link,
    .pr-faq-nav__indicator,
    .pr-faq-mobile-nav__summary i{
        transition:none!important;
    }
}
