:root{--pine:#173b2b;--berry:#8d1f2d;--cream:#fffaf0;--gold:#d4a72c;--ink:#20251f;font:16px/1.55 system-ui,sans-serif;color:var(--ink);background:var(--cream)}*{box-sizing:border-box}body{margin:0}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;background:white;padding:.5rem;z-index:5}.hero{min-height:260px;background:radial-gradient(circle at 20% 25%,rgba(212,167,44,.3) 0 2px,transparent 3px),radial-gradient(circle at 80% 65%,rgba(255,255,255,.22) 0 2px,transparent 3px),linear-gradient(135deg,var(--pine),#245d43);background-size:52px 52px,68px 68px,auto;color:white;display:grid;place-items:center;text-align:center;position:relative;overflow:hidden;padding:2rem}.hero div{position:relative}.hero h1{font:clamp(2.2rem,7vw,4.8rem)/1.05 Georgia,serif;margin:.2rem}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-weight:700;font-size:.78rem}.edition{margin-top:1rem}.edition label{margin-right:.5rem;font-weight:700}.nav{position:sticky;top:0;z-index:4;display:flex;gap:.25rem;justify-content:center;flex-wrap:wrap;background:var(--pine);padding:.55rem}.nav a{color:white;padding:.55rem .75rem;text-decoration:none;border-radius:2rem}.nav a:hover,.nav a[aria-current]{background:var(--berry)}main{max-width:1210px;margin:auto;padding:2rem 1rem;min-height:55vh}h2{font:2rem Georgia,serif;color:var(--pine)}h3,h4{color:var(--pine)}.heading,.location-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.location-heading h3,.location-heading h4{margin:.15rem 0}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.7rem}.cards article,.panel,.location-detail,.location-row{background:white;border:1px solid #dfd6c6;border-radius:.75rem;padding:1rem;box-shadow:0 5px 20px #173b2b12}.vertical-list{display:grid;gap:1rem}.schedule-row{display:grid;grid-template-columns:minmax(8rem,1fr) 4fr;gap:1.25rem;border-top:1px solid #d7cdbb;padding:1rem .25rem}.schedule-row:last-child{border-bottom:1px solid #d7cdbb}.schedule-row h3,.schedule-row p{margin:.15rem 0 .5rem}.schedule-time{display:grid;align-content:start}.schedule-time span,.subtle,.community-label{color:#5e665c;font-size:.9rem}.location-name{font-weight:700}.actions{display:flex;gap:.75rem;flex-wrap:wrap}.actions a,.location-heading>a{min-height:44px;display:inline-flex;align-items:center;font-weight:700}.directory-disclosure{border:1px solid #c9bea9;border-radius:.7rem;background:#f9f2e5}.directory-disclosure>summary{cursor:pointer;padding:1rem;font:700 1.25rem Georgia,serif;color:var(--pine)}.directory-disclosure>summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.directory-disclosure>.community-group{padding:0 1rem 1rem}.location-row{margin:.7rem 0}.vendor-rows{border-top:1px solid #e1d8c9}.vendor-row{display:grid;grid-template-columns:1fr auto;gap:1rem;padding:.8rem 0;border-bottom:1px solid #e1d8c9}.vendor-row p{margin:.2rem 0}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.7rem}.detail-grid div{border-left:3px solid var(--gold);padding-left:.7rem}.detail-grid dt{font-weight:700}.detail-grid dd{margin:0}.location-detail address{font-style:normal}.note{background:#f6eedb;padding:.7rem;border-left:3px solid var(--gold)}.status,.empty{padding:1rem;text-align:center}.error{background:#fee;color:#700;padding:1rem}.map-image{max-width:100%;height:auto;object-fit:contain}button,input,select{font:inherit;padding:.55rem;border:1px solid #998;border-radius:.4rem}textarea{font:inherit;padding:.55rem;border:1px solid #998;border-radius:.4rem;resize:vertical}button{background:var(--berry);color:#fff;font-weight:700;cursor:pointer}footer{background:var(--pine);color:white;padding:2rem;text-align:center}footer a{color:white}.hidden,[hidden]{display:none!important}.message{min-height:1.5rem}.admin-form{display:grid;gap:1rem;max-width:550px}.admin-form label{display:grid;gap:.25rem}.admin-toolbar{display:flex;gap:.7rem;flex-wrap:wrap}.danger{background:#76131f}.field-help{color:#5e665c;font-size:.88rem;line-height:1.4}@media(max-width:600px){.nav{position:static;justify-content:flex-start}.hero{min-height:220px}.cards{grid-template-columns:1fr}.schedule-row{grid-template-columns:1fr;gap:.4rem}.vendor-row{grid-template-columns:1fr}.map-frame{aspect-ratio:auto!important;height:min(78vh,620px)}}
/* Proven guide behavior adapted to the standalone holiday presentation. */
.map-card{grid-column:1/-1}.map-frame{position:relative;aspect-ratio:16/10;overflow:hidden;border:1px solid #c9bea9;border-radius:.55rem;background:#eee;min-height:440px}.map-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.map-labels{columns:2}.button-link{display:inline-block;background:var(--berry);color:#fff;padding:.55rem .8rem;border-radius:.4rem;text-decoration:none;font-weight:700}
.community-disclosure{width:100%;border:1px solid #c9bea9;border-radius:.7rem;background:#f9f2e5}.community-disclosure>summary{cursor:pointer;padding:1rem;font:700 1.25rem Georgia,serif;color:var(--pine)}.community-disclosure>summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.community-locations{padding:0 1rem 1rem}.location-row>p{margin:.35rem 0 .8rem}.location-row .hours{text-align:right;font-weight:600}.location-community>h3{font:1.55rem Georgia,serif;border-bottom:2px solid var(--gold);padding-bottom:.35rem}.location-cards{display:grid;gap:1rem}.location-detail address{overflow-wrap:anywhere}@media(max-width:600px){.location-heading{align-items:flex-start;flex-direction:column;gap:.25rem}.location-row .hours{text-align:left}}
/* The physical flyer owns its styles in assets/css/flyers/covh*.css. */
.flyer{max-width:100%;overflow:hidden}.flyer>.covh-print-root{transform-origin:top left}
.location-vendor-action{display:flex;justify-content:flex-end;margin-top:1rem;padding-top:.8rem;border-top:1px solid #e1d8c9}.location-vendor-action .location-vendor-button{width:auto;min-height:38px;padding:.45rem .8rem;background:#fff;color:var(--berry);border:1px solid #c7a8ad;font-size:.9rem}.location-vendor-action .location-vendor-button:hover{background:#f8ecee}.vendor-submission-dialog{width:min(680px,calc(100vw - 2rem));max-height:90vh;border:0;border-radius:1rem;padding:0;box-shadow:0 24px 80px #0006}.vendor-submission-dialog::backdrop{background:#10271db8}.vendor-submission-shell{padding:1.4rem 1.4rem 1.6rem}.vendor-submission-shell h2{margin-top:.15rem}.vendor-submission-shell .admin-form{max-width:none}.dialog-close-form{position:absolute;right:.7rem;top:.7rem;z-index:2}.dialog-close{border:0;background:transparent;color:var(--ink);font-size:1.8rem;line-height:1;padding:.25rem .45rem}.secondary-action{background:#fff;color:var(--pine);border-color:#b9aa92}.success{background:#edf8ef;color:#154f22;padding:.75rem;border-radius:.4rem}.submission-card{display:grid;gap:.45rem}.submission-card p{margin:.15rem 0}.submission-meta{color:#5e665c;font-size:.9rem}.submission-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.5rem}.submission-actions button{min-width:110px}.submission-actions .reject{background:#76131f}@media(max-width:600px){.vendor-submission-dialog{width:calc(100vw - 1rem);max-height:96vh}.vendor-submission-shell{padding:1rem}.submission-actions button{flex:1}.location-vendor-action{justify-content:flex-start}}
