/* WordPress core compatibility and shared page layouts. */
/*
 * Classic templates are direct children of body. Global Styles can otherwise
 * treat them as editor content and constrain the announcement, main and footer
 * to the theme.json content width. Keep only intentional .shell containers
 * constrained.
 */
body > .announcement,
body > .site-header,
body > .mega-nav-overlay,
body > .overlay,
body > main,
body > .site-footer {
    max-width: none !important;
    margin-block-start: 0 !important;
    margin-inline: 0 !important;
}
body > .announcement,
body > main,
body > .site-footer { width: 100% !important; }
body > .drawer,
body > .toast {
    max-width: none !important;
    margin: 0 !important;
}
.site-header a,
.site-footer a,
.main-nav__trigger { color: inherit; }

.admin-bar .site-header { top: 66px; }
.admin-bar .site-header.is-sticky { top: 32px; }
.brand .custom-logo-link { display: block; }
.brand .custom-logo { width: auto; height: 42px; }
.brand--footer .custom-logo { height: 49px; }
.main-nav > .menu-item { display: contents; }
.footer-column ul,
.footer-column li { margin: 0; padding: 0; list-style: none; }
.footer-column .menu { display: contents; }
.footer-column li { display: contents; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.alignwide { width: min(1180px, 100%); margin-inline: auto; }
.alignfull { width: 100vw; margin-left: calc(50% - 50vw); }
.wp-caption,
.wp-caption img { max-width: 100%; }
.wp-caption-text { color: rgba(16,16,15,.55); font-size: 12px; }

.standard-page { min-height: 60vh; padding: 72px 0 130px; }
.standard-page__heading { max-width: 1000px; margin-bottom: 58px; }
.standard-page__heading .page-breadcrumbs { margin-bottom: 38px; }
.standard-page__heading h1 { margin: 0; font: 800 clamp(48px,7vw,92px)/.95 "Manrope",sans-serif; letter-spacing: -.06em; }
.standard-page__heading > p { max-width: 650px; margin: 25px 0 0; color: rgba(16,16,15,.62); font-size: 17px; line-height: 1.65; }
.standard-page__content { max-width: 900px; color: rgba(16,16,15,.72); font-size: 16px; line-height: 1.75; }
.standard-page__content h2 { margin: 52px 0 20px; color: var(--ink); font: 800 clamp(28px,4vw,46px)/1.05 "Manrope",sans-serif; letter-spacing: -.045em; }
.standard-page__content h3 { margin: 36px 0 16px; color: var(--ink); font: 800 24px/1.2 "Manrope",sans-serif; }
.standard-page__content a { text-decoration: underline; text-decoration-color: var(--accent); text-underline-offset: 4px; }

.info-content > .wp-block-group.info-section { margin: 0; }
.info-content .wp-block-list.info-list { padding-left: 0; }
.info-content .faq-item summary { grid-template-columns: 1fr 30px; }
.info-content .faq-item summary::after { content: "+"; justify-self: end; font: 400 27px/1 "Manrope",sans-serif; transition: transform .25s var(--ease); }
.info-content .faq-item[open] summary::after { transform: rotate(45deg); }
.info-content .faq-item > p { max-width: 720px; margin: 0; padding: 0 42px 28px 0; color: rgba(16,16,15,.65); font-size: 15px; line-height: 1.7; }
.info-content .info-highlight { display: block; }

.contact-form-wrap .woocommerce-message,
.contact-form-wrap .woocommerce-error { margin-bottom: 20px !important; padding: 15px 18px !important; background: rgba(255,255,255,.55) !important; border-left: 3px solid var(--accent) !important; list-style: none; }
.contact-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.contact-card h2 a { overflow-wrap: anywhere; }

.article-content > h2 { margin: 68px 0 20px; font: 800 clamp(30px,4vw,49px)/1.04 "Manrope",sans-serif; letter-spacing: -.05em; }
.article-content > p { color: rgba(16,16,15,.68); font-size: 16px; line-height: 1.78; }
.article-content > .article-content__lead { color: var(--ink); font-size: 21px; line-height: 1.55; }
.article-share a { width: 36px; height: 36px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; font-weight: 800; }
.navigation.pagination { margin-top: 55px; }
.navigation.pagination .nav-links { display: flex; gap: 8px; }
.navigation.pagination a,
.navigation.pagination span { min-width: 42px; height: 42px; display: grid; place-items: center; background: #e9e2d8; }
.navigation.pagination .current { color: var(--white); background: var(--ink); }

@media (max-width: 782px) {
    .admin-bar .site-header { top: 80px; }
    .admin-bar .site-header.is-sticky { top: 46px; }
}
@media (max-width: 600px) {
    .admin-bar .site-header { top: 34px; }
    .admin-bar .site-header.is-sticky { top: 0; }
    .standard-page { padding: 45px 0 90px; }
    .standard-page__heading h1 { font-size: 46px; }
}
