/* All County Content Model: field-list layouts. Colours/fonts are the Elementor globals (Site Settings). */
.ac-r{--ac-font:var(--e-global-typography-text-font-family),sans-serif;font-family:var(--ac-font);margin:0;padding:0;list-style:none}
.ac-ico{display:block;flex:none;stroke:currentColor}

/* Overview checks (CityPage `check`): 26px Primary tile, white check */
.ac-r-checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px 20px}
.ac-r-checks li{display:flex;align-items:flex-start;gap:12px;font-weight:700;font-size:15px;line-height:1.4;color:var(--e-global-color-secondary)}
.ac-r-tile{flex:none;width:24px;height:24px;display:grid;place-items:center;border-radius:3px;background:var(--e-global-color-primary);color:var(--e-global-color-acwhite)}

/* Materials table */
.ac-r-table{border-top:1px solid var(--e-global-color-acborder)}
.ac-r-row{display:grid;grid-template-columns:minmax(110px,.7fr) minmax(0,2fr);gap:20px;padding:20px 0;border-bottom:1px solid var(--e-global-color-acborder)}
.ac-r-mat{font-weight:900;font-size:16px;line-height:1.3;text-transform:uppercase;color:var(--e-global-color-secondary)}
.ac-r-row strong{display:block;font-weight:800;font-size:15px;line-height:1.35;color:var(--e-global-color-primary)}
.ac-r-row strong + span{display:block;margin-top:4px;font-size:15px;line-height:1.6;color:var(--e-global-color-text)}
@media(max-width:600px){.ac-r-row{grid-template-columns:1fr;gap:6px}}

/* Rule cards: white cards with a FeatureRow inside (3 across, 2 below 900px, 1 on phones) */
.ac-r-rules{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}
@media(max-width:767px){.ac-r-rules{grid-template-columns:1fr}}
.ac-r-rule{display:flex;gap:18px;align-items:flex-start;padding:26px;background:var(--e-global-color-acwhite);border-radius:6px;box-shadow:0 1px 2px rgba(0,0,0,.08)}
.ac-r-icon{flex:none;width:48px;height:48px;display:grid;place-items:center;border-radius:3px;background:var(--e-global-color-primary);color:var(--e-global-color-acwhite)}
.ac-r-t{margin:0 0 4px;font-weight:800;font-size:17px;line-height:1.35;text-transform:none;letter-spacing:0;color:var(--e-global-color-secondary)}
.ac-r-b{margin:0;font-size:15px;line-height:1.6;color:var(--e-global-color-text)}

/* FAQ (Accordion.jsx) */
.ac-r-faq{border-top:1px solid var(--e-global-color-acborder)}
.ac-r-faq details{border-bottom:1px solid var(--e-global-color-acborder)}
.ac-r-faq summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 0;cursor:pointer;list-style:none}
.ac-r-faq summary::-webkit-details-marker{display:none}
.ac-r-faq summary h3{margin:0;font-weight:700;font-size:16px;line-height:1.35;text-transform:none;letter-spacing:0;color:var(--e-global-color-secondary);transition:color 120ms}
.ac-r-faq details[open] summary h3{color:var(--e-global-color-primary)}
.ac-r-faq-ico{flex:none;width:30px;height:30px;display:grid;place-items:center;border-radius:3px;background:var(--e-global-color-acsubtle);color:var(--e-global-color-secondary);transition:background-color 120ms,color 120ms}
.ac-r-faq details[open] .ac-r-faq-ico{background:var(--e-global-color-primary);color:var(--e-global-color-acwhite)}
.ac-r-faq .ac-minus,.ac-r-faq details[open] .ac-plus{display:none}
.ac-r-faq details[open] .ac-minus{display:block}
.ac-r-faq-a{padding:0 46px 22px 0;font-size:15px;line-height:1.65;color:var(--e-global-color-text)}
.ac-r-faq-a p{margin:0 0 10px}

/* City chips (Nearby) */
.ac-r-chips{display:flex;flex-wrap:wrap;gap:10px}
.ac-r.ac-r-chips a{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 16px;border-radius:3px;background:var(--e-global-color-acsurface);font-weight:800;font-size:14px;line-height:1;color:var(--e-global-color-secondary);text-decoration:none;transition:background-color 120ms,color 120ms}
.ac-r.ac-r-chips a .ac-ico{color:var(--e-global-color-primary)}
.ac-r.ac-r-chips a:hover{background:var(--e-global-color-actint);color:var(--e-global-color-primary)}

/* Neighborhood pills */
.ac-r-lines{display:flex;flex-wrap:wrap;gap:8px}
.ac-r-lines li{display:inline-flex;align-items:center;height:32px;padding:0 12px;border:1px solid var(--e-global-color-acborder);border-radius:3px;font-weight:700;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--e-global-color-secondary)}
.ac-tone-dark .ac-r-lines li{border-color:var(--e-global-color-acwhite25);color:var(--e-global-color-acwhite)}

/* Review stars from the Review tag */
.ac-stars-on{color:var(--e-global-color-acrating)}
.ac-stars-off{color:var(--e-global-color-acborder)}
.ac-r-empty{padding:12px;border:1px dashed var(--e-global-color-acborder);color:var(--e-global-color-acmuted)}

/* Article blocks (ArticlePage.jsx) */
.ac-r-takeaways{display:flex;flex-direction:column;gap:14px;padding:24px 26px;background:var(--e-global-color-acsurface);border-top:4px solid var(--e-global-color-primary);border-radius:6px}
.ac-r-takeaways-t{font-weight:900;font-size:18px;line-height:1.2;text-transform:uppercase;color:var(--e-global-color-secondary)}
.ac-r-takeaways ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}
.ac-r-takeaways li{display:flex;gap:10px;font-weight:500;font-size:15.5px;line-height:1.6;color:var(--e-global-color-text)}
.ac-r-takeaways li .ac-ico{color:var(--e-global-color-primary);margin-top:3px}
.ac-r-takeaways strong,.ac-article strong{color:var(--e-global-color-secondary);font-weight:800}
.ac-r-points{display:flex;flex-direction:column;gap:8px}
.ac-r-points li{display:flex;align-items:center;gap:12px;font-weight:700;font-size:15px;line-height:1.4;color:var(--e-global-color-secondary)}
.ac-r-points .ac-r-tile{width:24px;height:24px}
.ac-r-sources{display:flex;flex-direction:column;gap:10px;padding-top:24px;border-top:1px solid var(--e-global-color-acborder)}
.ac-r-sources strong{font-weight:800;font-size:13px;line-height:1;letter-spacing:.1em;text-transform:uppercase;color:var(--e-global-color-secondary)}
.ac-r-sources a{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px;line-height:1.45;color:var(--e-global-color-primary)}
/* Article body (post content) */
.ac-article{font-family:var(--e-global-typography-text-font-family),sans-serif}
.ac-article > *{margin:0 0 18px}
.ac-article p{font-weight:500;font-size:17px;line-height:1.75;color:var(--e-global-color-text)}
.ac-article h2{margin:46px 0 18px;font-weight:900;font-size:26px;line-height:1.2;text-transform:uppercase;color:var(--e-global-color-secondary);scroll-margin-top:140px}
.ac-article h3{margin:30px 0 12px;font-weight:800;font-size:19px;line-height:1.3;text-transform:none;color:var(--e-global-color-secondary)}
.ac-article ul{padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}
.ac-article ul li{position:relative;padding-left:20px;font-weight:500;font-size:16.5px;line-height:1.65;color:var(--e-global-color-text)}
.ac-article ul li::before{content:"";position:absolute;left:0;top:10px;width:8px;height:8px;border-radius:2px;background:var(--e-global-color-primary)}
.ac-article ol{padding:0;list-style:none;counter-reset:ac;border:1px solid var(--e-global-color-acborder);border-radius:6px;overflow:hidden}
.ac-article ol li{counter-increment:ac;display:block;position:relative;padding:14px 18px 14px 62px;font-weight:500;font-size:16px;line-height:1.55;color:var(--e-global-color-text)}
.ac-article ol li + li{border-top:1px solid var(--e-global-color-acborder)}
.ac-article ol li:nth-child(even){background:var(--e-global-color-acsurface)}
.ac-article ol li::before{content:counter(ac,decimal-leading-zero);position:absolute;left:18px;top:14px;width:28px;font-weight:900;font-size:15px;line-height:24.8px;color:var(--e-global-color-primary)}
.ac-article .ac-note,.ac-article aside{display:block;padding:20px 22px 20px 58px;position:relative;background:var(--e-global-color-secondary);border-radius:6px;color:var(--e-global-color-acwhite90);font-weight:500;font-size:15.5px;line-height:1.65}
.ac-article .ac-note::before,.ac-article aside::before{content:"i";position:absolute;left:22px;top:20px;width:22px;height:22px;border-radius:50%;border:2px solid var(--e-global-color-accent);color:var(--e-global-color-accent);font-weight:800;font-size:13px;line-height:18px;text-align:center}
.ac-article .ac-note strong,.ac-article aside strong{display:block;margin-bottom:6px;color:var(--e-global-color-acwhite);font-size:14px;letter-spacing:.06em;text-transform:uppercase}
.ac-article a{color:var(--e-global-color-primary);font-weight:700}
.ac-article table{width:100%;border-collapse:collapse;font-size:15px}
.ac-article th,.ac-article td{padding:12px 14px;border-bottom:1px solid var(--e-global-color-acborder);text-align:left;vertical-align:top}
.ac-article th{font-weight:800;color:var(--e-global-color-secondary);background:var(--e-global-color-acsurface)}
.ac-article img{max-width:100%;height:auto;border-radius:6px}

.ac-no-text{font-style:italic;color:var(--e-global-color-acmuted)}

/* ---------- Specials & Offers (1.3.0) ---------- */
body.offer-live .show-if-ended,body.offer-ended .show-if-live,body:not(.single-special) .show-if-ended{display:none!important}
.ac-offer-badge{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border-radius:999px;font-family:var(--e-global-typography-text-font-family),sans-serif;font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;line-height:1;background:var(--e-global-color-secondary);color:var(--e-global-color-acwhite)}
.ac-offer-badge svg{stroke:var(--e-global-color-accent);flex:none}
.ac-offer-badge--light{background:var(--e-global-color-acwhite);color:var(--e-global-color-secondary)}
.ac-offer-badge--light svg{stroke:var(--e-global-color-primary)}
.ac-offer-points{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.ac-offer-points li{display:flex;gap:10px;align-items:flex-start;font-weight:600;font-size:14.5px;line-height:1.45;color:var(--e-global-color-secondary)}
.ac-offer-points svg{stroke:var(--e-global-color-primary);flex:none;margin-top:2px}
.ac-offer-points--light li{color:var(--e-global-color-acwhite);font-size:15.5px}
.ac-offer-points--light svg{stroke:var(--e-global-color-acwhite);background:var(--e-global-color-primary);border-radius:3px;padding:2px;width:20px;height:20px}
.ac-offer-btns{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.ac-offer-btn{display:inline-flex;align-items:center;gap:8px;height:46px;padding:0 22px;border-radius:3px;font-weight:800;font-size:13px;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;white-space:nowrap}
.ac-offer-btn svg{stroke:currentColor}
.ac-offer-btn--primary,.ac-offer-btn--primary:visited{background:var(--e-global-color-primary)!important;color:var(--e-global-color-acwhite)!important}
.ac-offer-btn--primary:hover{background:var(--e-global-color-achover)!important;color:var(--e-global-color-acwhite)!important}
.ac-offer-btn--ghost{color:var(--e-global-color-primary)!important;padding:0 8px}
.ac-offer-btn--ghost:hover{color:var(--e-global-color-achover)}
.ac-offer-btn--ghost-dark{border:1px solid var(--e-global-color-acwhite25);color:var(--e-global-color-acwhite)!important}
.ac-offer-incls{display:flex;flex-direction:column}
.ac-offer-incl{display:flex;gap:16px;align-items:flex-start;padding:18px 0;border-top:1px solid var(--e-global-color-acborder)}
.ac-offer-incl__icon{flex:none;width:44px;height:44px;display:grid;place-items:center;border-radius:3px;background:var(--e-global-color-primary)}
.ac-offer-incl__icon svg{stroke:var(--e-global-color-acwhite)}
.ac-offer-incl__t{margin:0 0 4px;font-weight:800;font-size:16px;color:var(--e-global-color-secondary)}
.ac-offer-incl__b{margin:0;font-size:15px;line-height:1.6;color:var(--e-global-color-text)}
.ac-offer-card{padding:32px;border-radius:6px;border-top:6px solid var(--e-global-color-primary);background:var(--e-global-color-acwhite);box-shadow:0 1px 2px rgba(0,0,0,.08)}
.ac-offer-card--dark{background:var(--e-global-color-secondary);color:var(--e-global-color-acwhite)}
.ac-offer-card__h{display:flex;align-items:center;gap:10px;margin:0 0 18px;font-weight:900;font-size:18px;text-transform:uppercase;color:var(--e-global-color-secondary)}
.ac-offer-card--dark .ac-offer-card__h{color:var(--e-global-color-acwhite)}
.ac-offer-card__h svg{stroke:var(--e-global-color-primary)}
.ac-offer-card dl{display:grid;grid-template-columns:minmax(110px,auto) 1fr;margin:0}
.ac-offer-card dt,.ac-offer-card dd{margin:0;padding:12px 0;border-top:1px solid var(--e-global-color-acwhite14)}
.ac-offer-card dt{font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--e-global-color-accent)}
.ac-offer-card dd{font-size:15px;font-weight:700;line-height:1.45}
.ac-offer-card ol{margin:0;padding-left:20px;font-size:14px;line-height:1.55;color:var(--e-global-color-text)}
.ac-offer-card ol li{margin-bottom:8px}
.ac-offer-card__foot{margin:16px 0 0;padding-top:14px;border-top:1px solid var(--e-global-color-acborder);font-size:12.5px;line-height:1.5;color:var(--e-global-color-acmuted)}
.ac-offer-strip,.ac-offer-empty{display:flex;align-items:center;gap:20px;padding:22px 26px;border-radius:6px;background:#EEF4F9;flex-wrap:wrap}
.ac-offer-strip__icon{flex:none;width:52px;height:52px;display:grid;place-items:center;border-radius:3px;background:var(--e-global-color-primary)}
.ac-offer-strip__icon svg{stroke:var(--e-global-color-acwhite)}
.ac-offer-strip__body{flex:1 1 320px;min-width:0}
.ac-offer-strip__top{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 6px}
.ac-offer-strip__eyebrow{font-size:11.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--e-global-color-primary)}
.ac-offer-strip__t{margin:0 0 4px;font-weight:900;font-size:20px;line-height:1.2;text-transform:uppercase;color:var(--e-global-color-secondary)}
.ac-offer-strip__q{margin:0;font-size:14.5px;line-height:1.5;color:var(--e-global-color-text)}
.ac-offer-empty > div:nth-child(2){flex:1 1 320px}
.ac-offer-endnote{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.ac-offer-endnote p{margin:0;font-weight:700;color:var(--e-global-color-secondary)}
.ac-offer-thanks{margin:12px 0 0;font-weight:600;font-size:17px;color:var(--e-global-color-acwhite)}
.ac-offer-bar{position:fixed;left:0;right:0;bottom:0;z-index:999;display:flex;align-items:center;justify-content:center;gap:20px;padding:12px 20px;background:var(--e-global-color-secondary);color:var(--e-global-color-acwhite);box-shadow:0 -4px 14px rgba(0,0,0,.18);flex-wrap:wrap}
.ac-offer-bar p{margin:0;font-size:14.5px;line-height:1.4}
.ac-offer-bar .ac-offer-btn{height:40px}
body.offer-live{padding-bottom:72px}
@media(max-width:767px){.ac-offer-bar{gap:10px;padding:10px 14px}.ac-offer-bar p{font-size:13px;text-align:center}.ac-offer-strip .ac-offer-btn{width:100%;justify-content:center}}
/* Offer form: radio options as buttons, 2-segment progress */
.ac-offer-form .elementor-field-type-radio .elementor-field-subgroup{display:flex!important;flex-direction:row!important;flex-wrap:wrap;gap:8px}
.ac-offer-form .elementor-field-type-radio .elementor-field-option{display:inline-flex!important;width:auto!important}
.ac-offer-form .elementor-field-type-radio .elementor-field-option{margin:0!important}
.ac-offer-form .elementor-field-type-radio input{position:absolute;opacity:0;pointer-events:none}
.ac-offer-form .elementor-field-type-radio .elementor-field-option label{display:inline-flex!important;align-items:center!important;line-height:1.2!important;margin:0!important;gap:6px;min-height:44px;padding:0 14px;border:1.5px solid #D9D9D9;border-radius:3px;font-weight:700;font-size:14px;cursor:pointer;background:#fff;color:var(--e-global-color-secondary)}
.ac-offer-form .elementor-field-type-radio input:checked + label{border-color:var(--e-global-color-primary);background:#EEF4F9}
.ac-offer-form .elementor-field-type-radio input:checked + label::before{content:"✓";color:var(--e-global-color-primary);font-weight:900}
.ac-offer-form .elementor-field-type-radio input:focus-visible + label{outline:2px solid var(--e-global-color-primary);outline-offset:2px}
.ac-offer-form .e-form__indicators__indicator__progress{height:4px}
.ac-offer-form .ac-under-note{margin:0;font-size:13px;color:var(--e-global-color-acmuted)}
