/*
 * Theme-adaptive styling. Nothing here assumes a light or dark site:
 *  - text, borders and panels are derived from the inherited text color (currentColor);
 *  - buttons use the active theme's own button style (.wp-element-button) when it has one,
 *    and fall back to a plain outlined button that is readable on any background.
 * Override anything with your theme CSS or the `atfc_enqueue_styles` filter.
 */
.atfc-lesson,.atfc-lookup,.atfc-cta,.atfc-share,.atfc-page{
  --atfc-line:color-mix(in srgb,currentColor 22%,transparent);
  --atfc-line-strong:color-mix(in srgb,currentColor 50%,transparent);
  --atfc-t1:color-mix(in srgb,currentColor 5%,transparent);
  --atfc-t2:color-mix(in srgb,currentColor 10%,transparent);
  --atfc-mute:color-mix(in srgb,currentColor 75%,transparent);
  font-family:inherit;color:inherit;
  max-width:var(--wp--style--global--content-size,42rem);margin-left:auto;margin-right:auto}
@supports not (color:color-mix(in srgb,red,blue)){
  .atfc-lesson,.atfc-lookup,.atfc-cta,.atfc-share,.atfc-page{--atfc-line:rgba(128,128,128,.4);--atfc-line-strong:rgba(128,128,128,.75);--atfc-t1:rgba(128,128,128,.1);--atfc-t2:rgba(128,128,128,.18);--atfc-mute:inherit}
}
.atfc-lookup h2,.atfc-lookup h3,.atfc-lookup h4,.atfc-lesson h2{font-family:inherit;font-weight:600;line-height:1.15;letter-spacing:-0.02em;color:inherit}
.atfc-lookup a:not(.atfc-btn),.atfc-lesson a:not(.atfc-btn),.atfc-cta a:not(.atfc-btn),.atfc-share a:not(.atfc-btn){color:inherit;text-decoration:underline}
.atfc-lookup a:not(.atfc-btn):hover,.atfc-lesson a:not(.atfc-btn):hover,.atfc-cta a:not(.atfc-btn):hover{text-decoration:underline dashed}

/* Buttons: zero-specificity fallback so the theme's .wp-element-button styling wins when present. */
:where(.atfc-btn){display:inline-block;padding:.65rem 1rem;border:2px solid currentColor;border-radius:.2rem;background:transparent;color:inherit;font:inherit;font-weight:600;line-height:1.3;text-decoration:none;cursor:pointer}
:where(.atfc-btn):hover,:where(.atfc-btn):focus{background:var(--atfc-t2)}
.atfc-btn[disabled]{opacity:.6;cursor:wait}
.atfc-btn-secondary{padding:.4rem .8rem;font-weight:500;background:transparent!important;color:inherit!important;border:1px solid var(--atfc-line-strong)!important}
.atfc-btn-secondary:hover{background:var(--atfc-t2)!important}

/* Number callout (lesson). The number is plain large text, so it is always visible. */
.atfc-callout{background:var(--atfc-t1);border:1px solid var(--atfc-line);border-left:4px solid currentColor;padding:1rem 1.25rem;margin:1.2rem auto}
.atfc-callout p{margin:.2rem 0}
.atfc-callout-label{font-size:.85rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--atfc-mute)}
.atfc-callout-num{font-size:2.2rem;font-weight:600;letter-spacing:-0.02em;line-height:1.1}
.atfc-callout-note{font-size:.9rem;color:var(--atfc-mute)}

/* Lookup form */
.atfc-field{margin:0 0 .9rem}
.atfc-field label{display:block;font-weight:500;margin-bottom:.25rem}
.atfc-field input{width:100%;max-width:22rem;padding:.6rem .8rem;border:1px solid currentColor;border-radius:4px;background:transparent;color:inherit;font:inherit}
.atfc-lookup :focus-visible,.atfc-cta :focus-visible{outline:2px solid currentColor;outline-offset:2px}
.atfc-precise{margin:0 0 1rem}
.atfc-precise summary{cursor:pointer}
.atfc-hint{color:var(--atfc-mute);font-size:.9rem;margin:.3rem 0 0}
.atfc-status{min-height:1.5rem;margin:.8rem 0}
.atfc-error{font-weight:600;border-left:4px solid currentColor;padding-left:.6rem}
.atfc-warn{background:var(--atfc-t2);border-left:4px solid currentColor;padding:.7rem .9rem;margin:.7rem 0}
.atfc-where{font-weight:600}
.atfc-section{margin:2rem 0}
.atfc-section h3{border-bottom:1px solid var(--atfc-line-strong);padding-bottom:.4rem}
.atfc-card{border:1px solid var(--atfc-line);border-radius:0;padding:1rem 1.2rem;margin:.9rem 0;background:var(--atfc-t1)}
.atfc-card h4{margin:0 0 .2rem;font-size:1.15rem}
.atfc-meta{color:var(--atfc-mute);margin:0 0 .5rem}
.atfc-switch{background:var(--atfc-t2);padding:.5rem .7rem;font-size:.95rem}
.atfc-addr{font-size:.9rem;margin:.2rem 0}
.atfc-links,.atfc-offices,.atfc-news-list{list-style:none;padding:0;margin:.5rem 0}
.atfc-links li{display:inline-block;margin-right:1rem}
.atfc-offices li,.atfc-news-list li{margin:.35rem 0;font-size:.95rem}
.atfc-date{color:var(--atfc-mute);font-size:.85rem}

/* Call-to-action box ([atfc_call_cta]) */
.atfc-cta{border:1px solid var(--atfc-line);border-left:4px solid currentColor;background:var(--atfc-t1);padding:1rem 1.25rem;margin:1.5rem auto;border-radius:0}
.atfc-cta p{margin:.3rem 0}
.atfc-cta-title{font-size:1.25rem;font-weight:600;letter-spacing:-0.02em;line-height:1.15}
.atfc-cta-num{font-size:1.9rem;font-weight:600;letter-spacing:-0.02em;line-height:1.1}
.atfc-cta-row{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap}
.atfc-cta-note{color:var(--atfc-mute);font-size:.9rem}
.atfc-cta-lesson{font-weight:500}

/* Phone helpers, shown only where needed */
.atfc-phone-tools{margin:.4rem 0}
.atfc-inapp-hint{background:var(--atfc-t2);border-left:4px solid currentColor;padding:.6rem .8rem;margin:.6rem 0;font-size:.9rem}
.atfc-inapp-hint[hidden],.atfc-phone-tools [hidden],.atfc-share [hidden]{display:none!important}
/* Share block ([atfc_share]) */
.atfc-share{border:1px solid var(--atfc-line);background:var(--atfc-t1);padding:1rem 1.25rem;margin:1.5rem auto}
.atfc-share-title{font-size:1.25rem;font-weight:600;letter-spacing:-0.02em;margin:0 0 .4rem}
.atfc-share .wp-block-social-links{margin:0;padding:0}
