/* Native controls layered over the preserved Finecontext design. */
[role="tabpanel"][hidden] { display: none !important; }
body.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .site-header { top: 46px; } }
@media (max-width: 600px) { body.admin-bar .site-header { top: 0; } }
html:not(.fc-js) .menu-button { display: none; }
@media (max-width: 900px) {
  html:not(.fc-js) .site-header { height: auto; padding-block: 14px; }
  html:not(.fc-js) .nav-inner { flex-wrap: wrap; gap: 12px; }
  html:not(.fc-js) .nav-links { display: flex; position: static; flex-wrap: wrap; flex: 1 0 100%; gap: 9px 18px; padding: 0; background: transparent; box-shadow: none; }
  html:not(.fc-js) .site-header .nav-links > a:not(.button) { font-size: 13px; color: #426257; }
}
.ast-gallery-tabs [role="tab"], .report-tab-list [role="tab"] { display: inline-flex; align-items: center; justify-content: center; cursor: pointer; font: inherit; }
.ast-gallery-tabs [role="tab"] svg, .report-tab-list [role="tab"] svg { flex: 0 0 auto; }
.report-image-button { display: block; position: relative; width: 100%; cursor: zoom-in; }
.ast-screenshot:focus-visible, .report-image-button:focus-visible, [role="tab"]:focus-visible, .fc-dialog-close:focus-visible { outline: 3px solid #087f73; outline-offset: 3px; }
.wp-faq-item, .faq-accordion details { border-bottom: 1px solid #d8e3da; }
.wp-faq-item summary, .faq-accordion details summary { display: flex; align-items: center; justify-content: space-between; gap: 18px; cursor: pointer; list-style: none; }
.wp-faq-item summary::-webkit-details-marker, .faq-accordion details summary::-webkit-details-marker { display: none; }
.wp-faq-item summary::after, .faq-accordion details summary::after { content: '+'; flex: 0 0 auto; font-size: 24px; font-weight: 400; color: #087f73; }
.wp-faq-item[open] summary::after, .faq-accordion details[open] summary::after { content: '−'; }
.wp-faq-item [data-slot="accordion-content"], .faq-accordion details [data-slot="accordion-content"] { padding-bottom: 24px; }
.wp-faq-item summary:focus-visible, .faq-accordion details summary:focus-visible { outline: 2px solid #087f73; outline-offset: 4px; }
dialog.fc-report-dialog[data-slot="dialog-content"] { position: fixed; inset: 0; transform: none; margin: auto; width: min(1400px, calc(100vw - 40px)); max-width: min(1400px, calc(100vw - 40px)); max-height: 94dvh; height: fit-content; padding: 24px; border: 1px solid #c5dfd0; border-radius: 12px; background: #f8fbf8; color: #143e35; box-shadow: 0 24px 90px #061a2640; overflow: auto; }
dialog.fc-report-dialog[open] { display: flex; flex-direction: column; gap: 9px; }
dialog.fc-report-dialog::backdrop { background: #09251dd9; backdrop-filter: blur(5px); }
dialog.fc-report-dialog .fc-dialog-title { margin: 0; padding-right: 42px; font-family: Manrope, Geist, sans-serif; font-size: 20px; line-height: 1.5; }
dialog.fc-report-dialog .fc-dialog-description { margin: 0; padding-right: 35px; font-size: 14px; line-height: 1.75; color: #4c6b61; }
dialog.fc-report-dialog .report-original-link { align-self: flex-start; color: #087f73; font-size: 14px; text-decoration: underline; text-underline-offset: 4px; }
dialog.fc-report-dialog .fc-dialog-close { position: absolute; right: 14px; top: 14px; display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border: 1px solid #bdd5c6; border-radius: 50%; background: #fff; color: #143e35; cursor: pointer; }
dialog.fc-report-dialog .fc-dialog-close:hover { background: #e3f3eb; }
dialog.fc-report-dialog .report-dialog-image { margin-top: 7px; max-height: calc(94dvh - 170px); overflow: auto; border: 1px solid #dbe6dd; border-radius: 6px; background: #fff; }
dialog.fc-report-dialog .report-dialog-image img { display: block; width: 100%; height: auto; }
@media (max-width: 600px) {
  dialog.fc-report-dialog[data-slot="dialog-content"] { width: calc(100vw - 20px); max-width: calc(100vw - 20px); padding: 19px 12px; }
  dialog.fc-report-dialog .fc-dialog-title { font-size: 17px; }
  dialog.fc-report-dialog .fc-dialog-description { padding-right: 0; font-size: 13px; }
  dialog.fc-report-dialog .fc-dialog-close { top: 10px; right: 9px; width: 32px; height: 32px; }
  dialog.fc-report-dialog .report-dialog-image { max-height: calc(94dvh - 190px); }
}
@media (prefers-reduced-motion: reduce) {
  .reveal, .reveal.will-reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
  .client-marquee-track { animation: none !important; transform: none !important; }
}
