/* Shared frontend/editor FAQ layouts; colors follow the active practice brand. */
.odtm-faqs, .odtm-faqs.flov-section, .odtm-faqs.odgl-section { box-sizing:border-box; padding:clamp(48px,7vw,100px) 20px; color:var(--od-text-primary,#222); background:var(--od-surface-sunken,#fff8f2); font-family:var(--od-font-body,sans-serif); }
.odtm-faqs *, .odtm-faqs *::before, .odtm-faqs *::after { box-sizing:border-box; }
.editor-styles-wrapper .wp-block-odtm-faqs:not(.odtm-faqs) { padding:0; display:block; background:transparent; }
.odtm-faqs__inner { width:100%; max-width:1000px; margin-inline:auto; }
/* Size and leading come from the host theme's h2, so a FAQ section title
   matches the section titles around it; this block owns only its own spacing
   and width. It measured 3.4-6px larger than a sibling h2 on its own ramp. */
.odtm-faqs h2.odtm-faqs__title { max-width:32ch; margin:0 0 32px; color:var(--od-text-heading,#111); font-family:var(--od-font-display,sans-serif); font-weight:600; }
.odtm-faqs__items { min-width:0; }
.odtm-faqs .odtm-faqs__item { margin:0; padding:0; border:0; border-bottom:1px solid var(--od-border-default,#ddd); }
.odtm-faqs .odtm-faqs__question { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:64px; margin:0; padding:24px 0; color:var(--od-text-heading,#111); font:600 20px/1.5 var(--od-font-body,sans-serif); text-align:left; overflow-wrap:anywhere; }
.odtm-faqs summary.odtm-faqs__question { list-style:none; cursor:pointer; }
.odtm-faqs summary::-webkit-details-marker { display:none; }
.odtm-faqs summary::before, .odtm-faqs summary::after { display:none; }
.odtm-faqs .odtm-faqs__question h3 { min-width:0; margin:0; font:inherit; color:inherit; text-wrap:pretty; letter-spacing:normal; }
.odtm-faqs__icon { flex:0 0 20px; color:var(--od-brand-strong,#007ba5); transition:transform .15s ease; }
.odtm-faqs__item[open] > summary .odtm-faqs__icon { transform:rotate(45deg); }
.odtm-faqs__question:focus-visible { outline:3px solid var(--od-brand-strong,#007ba5); outline-offset:4px; border-radius:4px; }
.odtm-faqs .odtm-faqs__answer { padding:0 0 28px; font-size:18px; line-height:1.7; overflow-wrap:anywhere; }
.odtm-faqs .odtm-faqs__answer > :first-child { margin-top:0; }
.odtm-faqs .odtm-faqs__answer > :last-child { margin-bottom:0; }
.odtm-faqs__answer p { margin:0 0 18px; }
.odtm-faqs__answer :is(ul,ol) { margin:16px 0; padding-inline-start:24px; }
.odtm-faqs__answer li + li { margin-top:8px; }
.odtm-faqs__answer a { color:var(--od-text-link,#007ba5); text-decoration:underline; text-underline-offset:3px; }
.odtm-faqs__answer a:hover { color:var(--od-text-link-hover,#00658a); }
.odtm-faqs--cards .odtm-faqs__items { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.odtm-faqs--cards .odtm-faqs__item { padding:28px; border:1px solid var(--od-border-default,#ddd); border-radius:20px; background:var(--od-surface-page,#fff); }
.odtm-faqs--cards .odtm-faqs__question { padding:0; margin:0 0 16px; }
.odtm-faqs--cards .odtm-faqs__answer { padding:0; }
@media(max-width:700px) {
 .odtm-faqs--cards .odtm-faqs__items { grid-template-columns:minmax(0,1fr); }
 .odtm-faqs .odtm-faqs__question { font-size:18px; gap:16px; }
 .odtm-faqs .odtm-faqs__answer { font-size:17px; }
}
@media(prefers-reduced-motion:reduce) { .odtm-faqs__icon { transition:none; } }
