/* PMS FAQ Page v1.2 */
:root{
    --pms-faq-dark:#07111B;
    --pms-faq-black:#111315;
    --pms-faq-charcoal:#1A1D21;
    --pms-faq-blue:#1E88FF;
    --pms-faq-light:#4FC3FF;
    --pms-faq-white:#FFFFFF;
    --pms-faq-muted:#C8D4E2;
}


body.pms-faq-active{
    background:#07111B!important;
    overflow-x:hidden!important;
}

/* Keep Kadence header/footer visible while removing the default page shell */
body.pms-faq-active .entry-hero,
body.pms-faq-active .entry-hero-container-inner,
body.pms-faq-active .entry-header,
body.pms-faq-active .page-header,
body.pms-faq-active .entry-title,
body.pms-faq-active .page-title,
body.pms-faq-active .wp-block-post-title,
body.pms-faq-active h1.entry-title{
    display:none!important;
    height:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
}

body.pms-faq-active #primary,
body.pms-faq-active #main,
body.pms-faq-active .site-main,
body.pms-faq-active .site-content,
body.pms-faq-active .content-area,
body.pms-faq-active .content-container,
body.pms-faq-active .content-bg,
body.pms-faq-active .entry,
body.pms-faq-active article,
body.pms-faq-active .entry-content-wrap,
body.pms-faq-active .entry-content,
body.pms-faq-active .wp-block-post-content,
body.pms-faq-active .wp-site-blocks,
body.pms-faq-active .wp-block-group{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    background:#07111B!important;
    box-shadow:none!important;
}

body.pms-faq-active .content-wrap,
body.pms-faq-active .site-container,
body.pms-faq-active .entry-content{
    max-width:none!important;
}

body.pms-faq-active .entry-content > *,
body.pms-faq-active .wp-block-post-content > *{
    max-width:none!important;
}

body.pms-faq-active #page,
body.pms-faq-active #inner-wrap,
body.pms-faq-active #content,
body.pms-faq-active .site,
body.pms-faq-active .site-container,
body.pms-faq-active .content-wrap,
body.pms-faq-active .content-width-fullwidth,
body.pms-faq-active .wp-site-blocks,
body.pms-faq-active .entry-content-wrap,
body.pms-faq-active .entry-content,
body.pms-faq-active .wp-block-post-content{
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:0!important;
    padding-right:0!important;
    background:#07111B!important;
}

body.pms-faq-active #main,
body.pms-faq-active .site-main,
body.pms-faq-active .content-area{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    background:#07111B!important;
}

body.pms-faq-active .entry-content > .pms-faq-page,
body.pms-faq-active .wp-block-post-content > .pms-faq-page{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    left:auto!important;
}

body.pms-faq-active .pms-ul-header-spacer{
    display:none!important;
    height:0!important;
    min-height:0!important;
}

body:has(#pms-faq-page) .entry-title,
body:has(#pms-faq-page) .page-title{
    display:none!important;
}

body:has(#pms-faq-page) .entry-content,
body:has(#pms-faq-page) .wp-block-post-content{
    max-width:none!important;
    padding:0!important;
    margin:0!important;
}

.pms-faq-page{
    width:100%!important;
    max-width:none!important;
    position:relative!important;
    left:auto!important;
    right:auto!important;
    margin:0!important;
    overflow:hidden;
    background:
        radial-gradient(circle at 12% 0%, rgba(30,136,255,.22), transparent 34%),
        radial-gradient(circle at 92% 12%, rgba(79,195,255,.14), transparent 30%),
        linear-gradient(180deg, #07111B 0%, #081726 44%, #07111B 100%);
    color:var(--pms-faq-white);
    padding:84px 20px 96px;
    box-sizing:border-box;
    font-family:inherit;
}

.pms-faq-page *{
    box-sizing:border-box;
}

.pms-faq-hero,
.pms-faq-feature-grid,
.pms-faq-sections,
.pms-faq-cta{
    max-width:1180px;
    margin-left:auto;
    margin-right:auto;
}

.pms-faq-hero{
    margin-bottom:34px;
}

.pms-faq-hero-inner{
    position:relative;
    overflow:hidden;
    border:1px solid rgba(30,136,255,.38);
    border-radius:30px;
    padding:58px 52px;
    background:
        radial-gradient(circle at 10% 0%, rgba(30,136,255,.26), transparent 40%),
        linear-gradient(135deg, rgba(8,24,39,.96), rgba(3,11,20,.96));
    box-shadow:0 30px 90px rgba(0,0,0,.38);
}

.pms-faq-hero-inner::before{
    content:"";
    position:absolute;
    top:0;
    left:52px;
    width:150px;
    height:3px;
    background:linear-gradient(90deg, var(--pms-faq-blue), var(--pms-faq-light));
    border-radius:99px;
}

.pms-faq-kicker{
    margin:0 0 14px;
    color:var(--pms-faq-light);
    font-size:13px;
    font-weight:900;
    letter-spacing:.16em;
    text-transform:uppercase;
    line-height:1.4;
}

.pms-faq-hero h1{
    margin:0 0 18px;
    color:var(--pms-faq-white);
    font-size:clamp(42px, 6vw, 78px);
    line-height:.95;
    letter-spacing:-.06em;
    max-width:880px;
}

.pms-faq-lead{
    margin:0;
    color:var(--pms-faq-muted);
    font-size:clamp(17px, 2vw, 22px);
    line-height:1.62;
    max-width:790px;
}

.pms-faq-actions{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    margin-top:30px;
}

.pms-faq-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:52px;
    border-radius:999px;
    padding:14px 24px;
    font-size:15px;
    font-weight:900;
    line-height:1;
    text-decoration:none!important;
    transition:transform .2s ease, border-color .2s ease, background .2s ease;
}

.pms-faq-btn:hover{
    transform:translateY(-2px);
}

.pms-faq-btn-primary{
    color:#FFFFFF!important;
    border:1px solid rgba(79,195,255,.74);
    background:linear-gradient(135deg, var(--pms-faq-blue), #0B63D8);
    box-shadow:0 18px 42px rgba(30,136,255,.26);
}

.pms-faq-btn-secondary{
    color:#FFFFFF!important;
    border:1px solid rgba(79,195,255,.38);
    background:rgba(10,30,50,.72);
}

.pms-faq-feature-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:24px;
    margin-bottom:56px;
}

.pms-faq-feature-card{
    position:relative;
    overflow:hidden;
    min-height:286px;
    border-radius:24px;
    border:1px solid rgba(30,136,255,.52);
    background:
        radial-gradient(circle at 20% 0%, rgba(30,136,255,.18), transparent 36%),
        linear-gradient(180deg, rgba(5,18,31,.98), rgba(2,10,18,.98));
    box-shadow:0 22px 58px rgba(0,0,0,.26);
}

.pms-faq-feature-card::before{
    content:"";
    position:absolute;
    top:0;
    left:44px;
    width:104px;
    height:2px;
    background:linear-gradient(90deg, var(--pms-faq-blue), var(--pms-faq-light));
    border-radius:99px;
}

.pms-faq-card-inner{
    padding:36px 44px 40px;
}

.pms-faq-badge{
    display:inline-flex;
    width:50px;
    height:42px;
    align-items:center;
    justify-content:center;
    margin:0 0 22px;
    border-radius:12px;
    border:1px solid var(--pms-faq-blue);
    background:rgba(30,136,255,.14);
    color:#FFFFFF;
    font-size:20px;
    font-weight:950;
    line-height:1;
    letter-spacing:-.04em;
}

.pms-faq-feature-card h2{
    margin:0 0 14px;
    color:#FFFFFF;
    font-size:clamp(24px, 2.7vw, 34px);
    line-height:1.04;
    letter-spacing:-.045em;
}

.pms-faq-feature-card p{
    margin:0;
    color:var(--pms-faq-muted);
    font-size:16px;
    line-height:1.62;
}

.pms-faq-sections{
    display:grid;
    gap:34px;
}

.pms-faq-section{
    position:relative;
    overflow:hidden;
    border-radius:28px;
    border:1px solid rgba(30,136,255,.42);
    background:
        radial-gradient(circle at 8% 0%, rgba(30,136,255,.16), transparent 34%),
        linear-gradient(180deg, rgba(5,18,31,.97), rgba(3,12,21,.97));
    box-shadow:0 24px 60px rgba(0,0,0,.25);
}

.pms-faq-section::before{
    content:"";
    position:absolute;
    top:0;
    left:42px;
    width:128px;
    height:2px;
    background:linear-gradient(90deg, var(--pms-faq-blue), var(--pms-faq-light));
    border-radius:99px;
}

.pms-faq-section-head{
    display:flex;
    align-items:center;
    gap:18px;
    padding:34px 42px 26px;
    border-bottom:1px solid rgba(79,195,255,.14);
}

.pms-faq-section-head span{
    display:inline-flex;
    flex:0 0 auto;
    width:50px;
    height:42px;
    align-items:center;
    justify-content:center;
    border-radius:12px;
    border:1px solid var(--pms-faq-blue);
    background:rgba(30,136,255,.14);
    color:#FFFFFF;
    font-size:20px;
    font-weight:950;
    line-height:1;
    letter-spacing:-.04em;
}

.pms-faq-section-head h2{
    margin:0;
    color:#FFFFFF;
    font-size:clamp(28px, 3vw, 44px);
    line-height:1.05;
    letter-spacing:-.05em;
}

.pms-faq-list{
    padding:20px 24px 28px;
}

.pms-faq-item{
    border:1px solid rgba(79,195,255,.22);
    border-radius:18px;
    background:rgba(7,20,34,.76);
    overflow:hidden;
    margin:0 0 14px;
}

.pms-faq-item:last-child{
    margin-bottom:0;
}

.pms-faq-item summary{
    list-style:none;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:22px 24px;
    color:#FFFFFF;
    font-size:18px;
    font-weight:900;
    line-height:1.32;
}

.pms-faq-item summary::-webkit-details-marker{
    display:none;
}

.pms-faq-item summary i{
    position:relative;
    flex:0 0 auto;
    width:34px;
    height:34px;
    border-radius:11px;
    border:1px solid rgba(79,195,255,.38);
    background:rgba(30,136,255,.12);
}

.pms-faq-item summary i::before,
.pms-faq-item summary i::after{
    content:"";
    position:absolute;
    left:50%;
    top:50%;
    width:14px;
    height:2px;
    border-radius:99px;
    background:#FFFFFF;
    transform:translate(-50%, -50%);
    transition:transform .2s ease;
}

.pms-faq-item summary i::after{
    transform:translate(-50%, -50%) rotate(90deg);
}

.pms-faq-item[open] summary i::after{
    transform:translate(-50%, -50%) rotate(0deg);
}

.pms-faq-answer{
    padding:0 24px 24px;
}

.pms-faq-answer p{
    margin:0;
    max-width:900px;
    color:var(--pms-faq-muted);
    font-size:16px;
    line-height:1.66;
}

.pms-faq-cta{
    margin-top:56px;
}

.pms-faq-cta-inner{
    position:relative;
    overflow:hidden;
    border-radius:30px;
    border:1px solid rgba(30,136,255,.48);
    padding:46px 52px;
    background:
        radial-gradient(circle at 0% 0%, rgba(30,136,255,.24), transparent 40%),
        linear-gradient(135deg, rgba(10,31,52,.98), rgba(4,13,24,.98));
    box-shadow:0 28px 80px rgba(0,0,0,.32);
}

.pms-faq-cta-inner::before{
    content:"";
    position:absolute;
    top:0;
    left:52px;
    width:138px;
    height:3px;
    border-radius:99px;
    background:linear-gradient(90deg, var(--pms-faq-blue), var(--pms-faq-light));
}

.pms-faq-cta h2{
    margin:0 0 14px;
    color:#FFFFFF;
    font-size:clamp(34px, 4vw, 58px);
    line-height:1;
    letter-spacing:-.055em;
    max-width:840px;
}

.pms-faq-cta p:not(.pms-faq-kicker){
    margin:0 0 26px;
    color:var(--pms-faq-muted);
    font-size:18px;
    line-height:1.62;
    max-width:820px;
}

@media(max-width:980px){
    .pms-faq-feature-grid{
        grid-template-columns:1fr;
    }

    .pms-faq-hero-inner,
    .pms-faq-cta-inner{
        padding:46px 30px;
    }

    .pms-faq-hero-inner::before,
    .pms-faq-cta-inner::before{
        left:30px;
    }

    .pms-faq-card-inner{
        padding:34px 30px 36px;
    }

    .pms-faq-feature-card::before,
    .pms-faq-section::before{
        left:30px;
    }

    .pms-faq-section-head{
        padding:32px 30px 24px;
    }

    .pms-faq-list{
        padding:18px 18px 24px;
    }
}

@media(max-width:640px){
    .pms-faq-page{
        padding:56px 14px 76px;
    }

    .pms-faq-hero-inner,
    .pms-faq-cta-inner{
        border-radius:24px;
        padding:38px 22px;
    }

    .pms-faq-hero-inner::before,
    .pms-faq-cta-inner::before{
        left:22px;
    }

    .pms-faq-actions{
        flex-direction:column;
    }

    .pms-faq-btn{
        width:100%;
    }

    .pms-faq-section-head{
        align-items:flex-start;
        flex-direction:column;
        padding:30px 22px 22px;
    }

    .pms-faq-list{
        padding:16px 12px 20px;
    }

    .pms-faq-item summary{
        padding:20px 18px;
        font-size:16px;
    }

    .pms-faq-answer{
        padding:0 18px 20px;
    }

    .pms-faq-card-inner{
        padding:32px 24px 34px;
    }

    .pms-faq-feature-card::before,
    .pms-faq-section::before{
        left:24px;
    }
}


/* PMS FAQ v1.1 - Fix sideways page shift */
html,
body{
    overflow-x:hidden!important;
}

body:has(#pms-faq-page) #page,
body:has(#pms-faq-page) .site,
body:has(#pms-faq-page) .site-content,
body:has(#pms-faq-page) .content-area,
body:has(#pms-faq-page) .site-main,
body:has(#pms-faq-page) main,
body:has(#pms-faq-page) article,
body:has(#pms-faq-page) .entry,
body:has(#pms-faq-page) .entry-content,
body:has(#pms-faq-page) .wp-site-blocks,
body:has(#pms-faq-page) .wp-block-group,
body:has(#pms-faq-page) .wp-block-post-content{
    max-width:none!important;
    width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
}

body:has(#pms-faq-page) .entry-content > *,
body:has(#pms-faq-page) .wp-block-post-content > *{
    max-width:none!important;
}

#pms-faq-page{
    transform:none!important;
    translate:none!important;
}


/* PMS FAQ v1.2
   Kadence header/footer compatibility and true centre hero alignment. */
.pms-faq-page{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    left:auto!important;
    right:auto!important;
    transform:none!important;
    translate:none!important;
}

.pms-faq-hero{
    width:min(1180px, calc(100% - 72px))!important;
    max-width:1180px!important;
    margin-left:auto!important;
    margin-right:auto!important;
}

.pms-faq-hero-inner{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
}

.pms-faq-hero-inner::before{
    left:50%!important;
    transform:translateX(-50%)!important;
}

.pms-faq-kicker,
.pms-faq-hero h1,
.pms-faq-lead,
.pms-faq-actions{
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
}

.pms-faq-hero h1{
    display:block!important;
    width:100%!important;
    max-width:980px!important;
    color:#FFFFFF!important;
    text-shadow:0 0 22px rgba(30,136,255,.22)!important;
    transform:none!important;
    left:auto!important;
    right:auto!important;
    text-wrap:balance;
}

.pms-faq-lead{
    width:100%!important;
    max-width:820px!important;
    color:#D7E9F7!important;
}

.pms-faq-actions{
    width:100%!important;
    justify-content:center!important;
}

.pms-faq-feature-card h2,
.pms-faq-section-head h2,
.pms-faq-cta h2{
    color:#FFFFFF!important;
    text-shadow:0 0 18px rgba(30,136,255,.18)!important;
}

.pms-faq-feature-card p,
.pms-faq-answer p,
.pms-faq-cta p:not(.pms-faq-kicker){
    color:#D7E9F7!important;
}

.pms-faq-item summary{
    color:#FFFFFF!important;
}

@media(max-width:640px){
    .pms-faq-hero{
        width:min(100% - 30px, 1180px)!important;
    }

    .pms-faq-hero-inner::before{
        left:50%!important;
    }
}
