:root{font-family:system-ui,-apple-system,sans-serif;color:#193d3b;background:#f3f8f6;font-size:16px;line-height:1.5;--green:#176e64;--orange:#e8853c}*{box-sizing:border-box}body{margin:0}a{color:#12675e}button,input,select,textarea{font:inherit}button,.button{border:0;background:var(--green);color:white;border-radius:9px;padding:11px 17px;cursor:pointer;text-decoration:none;display:inline-block;font-weight:650}button:hover,.button:hover{filter:brightness(.94)}button.secondary,.button.secondary{background:#e3eeea;color:#214f49}button.danger{background:#9c342f}button:disabled{opacity:.55;cursor:wait}input,select,textarea{width:100%;background:white;border:1px solid #b9cdc5;border-radius:7px;padding:10px;color:#163d37}input[type=checkbox]{width:19px;height:19px;flex:0 0 19px;accent-color:var(--green);margin:0}textarea{resize:vertical}fieldset{border:1px solid #ceded7;border-radius:12px;margin:20px 0;padding:20px;min-width:0}legend{font-weight:700;padding:0 8px}h1{font-size:clamp(1.65rem,3vw,2.4rem)}h2{font-size:1.4rem}.mc-top{padding:15px 4vw;display:flex;gap:24px;align-items:center;justify-content:space-between;background:white;border-bottom:1px solid #d8e5df}.mc-top nav{display:flex;gap:20px}.mc-top form{margin:0}.mc-brand{font-size:1.5rem;font-weight:850;text-decoration:none;color:var(--green);white-space:nowrap}.mc-brand span{color:var(--orange)}.mc-page{max-width:1250px;margin:auto;padding:20px 24px 60px}.mc-page.narrow{max-width:900px}.mc-footer{padding:24px;text-align:center;background:#193d3b;color:white}.card{background:white;border:1px solid #d4e2dc;border-radius:14px;padding:22px;margin:16px 0}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field{display:grid;gap:6px;align-content:start}.check{display:flex;gap:10px;align-items:center;margin:8px 0}.choices{margin:0;padding:12px}.choices legend{font-size:.95rem}.alert{padding:14px;border-radius:8px;background:#e3f2e8;margin:15px 0}.alert.error{background:#fce9e5;color:#7f2119}.muted,small{color:#526f68}.actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:18px}.status{display:inline-block;padding:4px 11px;border-radius:20px;background:#f6edd8;color:#6b5317;font-size:.9rem}.status.approved{background:#ddefe4;color:#1c5b3a}.status.rejected{background:#f9e1de;color:#8d2922}.location-map{height:240px;margin-top:16px;border-radius:10px;background:#e3ede8}.location-map:empty{display:none}.geocode-status{display:block;margin:6px 0}.search-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);gap:24px;align-items:start}.search-map-panel{position:sticky;top:12px}.search-map{height:calc(100vh - 170px);min-height:320px;border-radius:14px;background:#e0ece6}.map-counter{background:white;border-radius:9px;padding:10px;margin-bottom:8px}.map-pin{background:#176e64;color:white;border:3px solid white;border-radius:50%;font-weight:800;font-size:15px;text-align:center;line-height:30px;box-shadow:0 3px 8px #0004}.result-card{width:100%;text-align:left;cursor:pointer;background:white;color:#193d3b;border:1px solid #d4e2dc;font-weight:400}.result-card h2{margin:6px 0}.result-card:focus,.result-card:hover{outline:3px solid #96c7b5;filter:none}.price{font-size:1.35rem;font-weight:800}.filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.detail-list{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.detail-list dt{font-weight:650}.detail-list dd{margin:0 0 14px}.request-layout{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:start}.gallery{display:flex;gap:10px;overflow:auto}.gallery img{height:160px;max-width:240px;object-fit:cover;border-radius:9px}dialog{width:min(1080px,96vw);max-height:90vh;border:0;border-radius:16px;padding:0}dialog::backdrop{background:#15352c99}dialog iframe{display:block;width:100%;height:80vh;border:0}dialog .dialog-head{padding:10px 16px;display:flex;justify-content:space-between;align-items:center}dialog .dialog-head button{padding:5px 12px}table{width:100%;border-collapse:collapse}td,th{padding:10px;text-align:left;border-bottom:1px solid #d5e2dd}noscript{display:block;padding:12px;background:#ffeddb}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@media(max-width:800px){.search-layout,.request-layout{grid-template-columns:1fr}.search-map-panel{grid-row:1;top:0;z-index:400;background:#f3f8f6;padding-bottom:8px}.search-map{height:32vh;min-height:200px}.mc-top nav{display:none}.mc-top{gap:10px}.mc-page{padding:16px 14px}.grid,.detail-list{grid-template-columns:1fr}.filter-grid{grid-template-columns:1fr 1fr}.card,fieldset{padding:15px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin-top:20px;text-align:center}.calendar-grid button{padding:12px 2px;border-radius:7px;color:#254b43;background:#edf4ef}.calendar-grid .available{background:#dcefe2}.calendar-grid .unavailable{background:#e4e7e5;color:#5d6660}.calendar-grid .booked{background:#f4d0cb;color:#872b25}.calendar-grid .chosen{outline:3px solid #176e64;outline-offset:-3px}

[hidden]{display:none!important}
.field,.filter-grid>*,.search-layout>*,.grid>*{min-width:0}input,select,textarea{min-width:0;max-width:100%}legend{max-width:100%;white-space:normal}@media(max-width:800px){.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.search-layout{grid-template-columns:minmax(0,1fr)}}
/* The pole ends at the exact location of the establishment. */
.thermal-flag{background:transparent;border:0;border-left:4px solid #a52230;filter:drop-shadow(0 2px 2px #0003)}
.thermal-flag-cloth{height:38px;width:48px;background:#ce2f3d;border-radius:3px 8px 8px 0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:27px}
.thermal-flag-cloth img{width:34px;height:30px;object-fit:contain;background:#fff;border-radius:3px;padding:2px;box-sizing:border-box}
.map-annotation{font-size:.88rem;line-height:1.5;margin:10px 0;padding:8px 12px;background:#fff;border-left:3px solid #ce2f3d;overflow-wrap:anywhere}
.establishment-banner small{overflow-wrap:anywhere}.establishment-banner>div{min-width:0;max-width:100%}
.thermal-flag,.thermal-flag *{pointer-events:none!important}
