/* CMS additions — loaded after the approved stylesheets. */

/* owner-facing section options (Advanced box in the section editor) */
.sec-pad-sm{padding-top:40px!important;padding-bottom:40px!important}
.sec-pad-lg{padding-top:120px!important;padding-bottom:120px!important}
.sec-pad-top0{padding-top:0!important}
.sec-pad-bottom0{padding-bottom:0!important}
.sec-pad-none{padding-top:0!important;padding-bottom:0!important}
.sec-bg-white{background:#fff!important}
.sec-bg-light{background:var(--usd-bg,#f6f7fb)!important}
.sec-bg-navy{background:var(--usd-navy-deep,#1d2547)!important;color:#fff}
.sec-bg-navy h1,.sec-bg-navy h2,.sec-bg-navy h3,.sec-bg-navy h4,.sec-bg-navy p{color:#fff}
@media (max-width:768px){.sec-hide-m{display:none!important}}

/* H1–H6 selector: a heading whose tag was changed keeps its designed look */
:where(.hx-h1){font-size:2em;font-weight:600}
:where(.hx-h2){font-size:1.5em;font-weight:600}
:where(.hx-h3){font-size:1.17em;font-weight:600}
:where(.hx-h4){font-size:1em;font-weight:600}
:where(.hx-h5){font-size:.83em;font-weight:600}
:where(.hx-h6){font-size:.67em;font-weight:600}
:where(div.hx){display:block}

/* post grid fallback (used when a page has no GenerateBlocks stylesheet) */
.usd-post-grid{display:flex;flex-wrap:wrap;row-gap:40px;margin-left:-20px}
.usd-post-grid>.gb-grid-column{box-sizing:border-box;padding-left:20px;width:33.33%}
@media (max-width:1024px){.usd-post-grid>.gb-grid-column{width:50%}}
@media (max-width:767px){.usd-post-grid>.gb-grid-column{width:100%}}

/* content block */
.usd-prose-boxed{max-width:860px;margin:0 auto;padding:40px 0}
.entry-content img.img-left{float:left;width:46%;margin:.4rem 1.6rem 1rem 0}
.entry-content img.img-right{float:right;width:46%;margin:.4rem 0 1rem 1.6rem}
.entry-content img.img-center{display:block;margin:1rem auto;max-width:70%}
.entry-content table{width:100%;border-collapse:collapse;margin:1.4rem 0}
.entry-content th,.entry-content td{border:1px solid var(--usd-line,#e3e5ee);padding:.6rem .8rem;text-align:left;vertical-align:top}
.entry-content blockquote{border-left:3px solid var(--usd-red,#ff3131);background:var(--usd-bg,#f6f7fb);padding:1rem 1.4rem;margin:1.6rem 0}
.entry-content iframe{max-width:100%}
@media (max-width:640px){.entry-content img.img-left,.entry-content img.img-right,.entry-content img.img-center{float:none;width:100%;max-width:100%;margin:1rem 0}}

/* contact links keep the design colour */
a.usd-plain-link{color:inherit;text-decoration:none}
a.usd-plain-link:hover{text-decoration:underline}

/* FAQ accordion (sections/faq.php) */
.faq-wrap{padding:60px 0}
.faq-inner{max-width:900px;margin:0 auto}
.faq-wrap .sec-head{text-align:center}
.faq-wrap .sec-eyebrow{font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--usd-red-deep,#e0242a);font-weight:600;margin-bottom:6px}
.faq-list{margin-top:28px;border-top:1px solid var(--usd-line,#e3e5ee)}
.faq-item{border-bottom:1px solid var(--usd-line,#e3e5ee)}
.faq-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:1.2rem;padding:1.1rem 0}
.faq-item summary::-webkit-details-marker{display:none}
.faq-q{font-size:1.1rem;margin:0;color:var(--usd-ink,#1c2238);transition:color .2s}
.faq-item summary:hover .faq-q,.faq-item[open] .faq-q{color:var(--usd-red-deep,#e0242a)}
.faq-ic{position:relative;flex:0 0 26px;height:26px;border:1px solid var(--usd-line,#e3e5ee);border-radius:50%;transition:transform .25s}
.faq-ic::before,.faq-ic::after{content:"";position:absolute;left:50%;top:50%;width:10px;height:1.5px;background:var(--usd-red,#ff3131);transform:translate(-50%,-50%)}
.faq-ic::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq-item[open] .faq-ic{transform:rotate(180deg)}
.faq-item[open] .faq-ic::after{opacity:0}
.faq-a{padding:0 2.6rem 1.2rem 0;line-height:1.75}
