/* AroundThomasville 2027 public-page extensions. New components only. */
.action-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:18px}
.filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:end}
.filter-grid.wide{grid-template-columns:minmax(220px,2fr) repeat(2,minmax(150px,1fr)) auto}
.result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.result-card{position:relative;padding:18px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);display:flex;flex-direction:column;gap:9px;min-width:0}
.result-card:hover{border-color:var(--line-strong)}
.result-card h2,.result-card h3{font-family:var(--display);font-weight:400;line-height:1.15}.result-card h2{font-size:22px}.result-card h3{font-size:19px}
.result-card p{color:var(--muted);font-size:14px;line-height:1.5}.result-card .btn{align-self:flex-start;margin-top:auto}
.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start}.detail-main{min-width:0}.detail-side{display:flex;flex-direction:column;gap:16px;position:sticky;top:96px}
.fact-list{display:grid;gap:0;margin:0}.fact-list>div{display:grid;grid-template-columns:minmax(100px,.7fr) minmax(0,1.3fr);gap:14px;padding:10px 0;border-bottom:1px solid var(--line)}.fact-list>div:last-child{border-bottom:0}.fact-list dt{font-weight:750;color:var(--muted)}.fact-list dd{margin:0;overflow-wrap:anywhere}
.button-stack{display:grid;gap:8px}.button-stack .btn{width:100%}.button-stack form .btn{width:100%}
.code-box{padding:16px 18px;border-radius:14px;background:var(--citron-tint);border:1px solid color-mix(in srgb,var(--citron) 48%,var(--line));margin-top:16px}.code-box span{display:block;color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.code-box strong{display:block;font-family:var(--display);font-size:28px;margin-top:3px}
.meta-row{display:flex;flex-wrap:wrap;gap:8px 16px;color:var(--muted);font-size:14px;margin-top:12px}.meta-row strong{color:var(--ink)}
.alert-box{padding:14px 16px;border-radius:14px;border:1px solid var(--line-strong);background:var(--surface-2);margin-bottom:18px}.alert-box.success{background:var(--olive-tint);border-color:color-mix(in srgb,var(--olive) 40%,var(--line))}.alert-box.warning{background:var(--citron-tint);border-color:color-mix(in srgb,var(--citron) 45%,var(--line))}.alert-box.danger{background:var(--rose-tint);border-color:color-mix(in srgb,var(--rose) 38%,var(--line))}
.step-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.step-card{padding:16px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line)}.step-card b{display:block;font-family:var(--display);font-size:19px;margin-bottom:5px}.step-card p{color:var(--muted);font-size:14px}
.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.calendar-day{min-height:118px;padding:12px;border-radius:14px;border:1px solid var(--line);background:var(--surface-2)}.calendar-day h3{font-family:var(--display);font-weight:400;font-size:17px}.calendar-day p{font-size:12px;line-height:1.4;margin-top:8px}.calendar-day a{color:var(--sky-text);font-weight:700}
.notice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.notice-card{padding:18px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface-2)}.notice-card h2,.notice-card h3{font-family:var(--display);font-weight:400;font-size:21px}.notice-card p{color:var(--muted);font-size:14px;line-height:1.5;margin-top:6px}
.stat-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.stat-tile{padding:16px;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line)}.stat-tile strong{display:block;font-family:var(--display);font-size:34px;font-weight:400}.stat-tile span{font-size:13px;color:var(--muted);font-weight:700}
.prose{font-size:16px;line-height:1.7}.prose p+p{margin-top:14px}.prose h2{font-family:var(--display);font-size:26px;font-weight:400;margin:22px 0 8px}.prose ul{padding-left:20px;margin-top:8px}
.inline-note{color:var(--muted);font-size:13px}.optional{color:var(--stone);font-size:12px;font-weight:500}.form-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}.form .full{grid-column:1/-1}
.taxonomy-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.taxonomy-options label{display:flex!important;gap:8px!important;align-items:flex-start;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);font-weight:600!important}.taxonomy-options input{width:18px!important;height:18px!important;flex:none;margin-top:1px}
.compare-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.compare-card{padding:18px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line)}
@media(max-width:980px){.result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-grid.wide{grid-template-columns:1fr 1fr}.calendar-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.stat-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.detail-grid,.filter-grid,.filter-grid.wide{grid-template-columns:1fr}.detail-side{position:static}.result-grid,.notice-grid,.step-grid,.compare-grid,.taxonomy-options{grid-template-columns:1fr}.calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-row{grid-template-columns:1fr 1fr}.form .row2{grid-template-columns:1fr}}
@media(max-width:460px){.calendar-grid,.stat-row{grid-template-columns:1fr}}
