:root{--pine:#123d32;--pine2:#0b2b24;--gold:#e2a33b;--cream:#f5f0e6;--ink:#18342d;--muted:#687a74}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:Arial,sans-serif;color:var(--ink);background:#fcfbf8}
.serif{font-family:Georgia,serif}
.text-gold{color:var(--gold)!important}
.bg-pine{background:var(--pine)!important}
.bg-cream{background:var(--cream)}
a{text-decoration:none}
.brand-mark{width:42px;height:42px;border:2px solid;border-radius:50%;display:grid;place-items:center;font-family:Georgia,serif}
.eyebrow{font-size:.72rem;letter-spacing:.18em;font-weight:700;text-transform:uppercase}
.hero{min-height:620px;display:flex;align-items:center;color:#fff;background-position:center;background-size:cover;transition:background-image 1.2s ease;position:relative}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#082d26eF,#082d2640)}
.hero>.container{position:relative;z-index:2}
.hero h1{font-size:clamp(3.2rem,7vw,6rem);line-height:.97}
.btn-gold{background:var(--gold);border-color:var(--gold);color:#18342d;font-weight:700}
.btn-gold:hover{background:#c98b24;border-color:#c98b24}
.choice-row{margin-top:-44px;position:relative;z-index:5}
.choice-card{background:#fff;border:0;box-shadow:0 10px 28px #0b33271d;transition:.2s}
.choice-card:hover{transform:translateY(-4px);box-shadow:0 15px 32px #0b33272b}
.section-title{font-size:clamp(2.25rem,4vw,3.7rem)}
.filter-bar{background:#fff;border:1px solid #dce4df;box-shadow:0 6px 20px #17382c0d}
.listing-card{border:0;box-shadow:0 4px 18px #17382c12;overflow:hidden;transition:.2s}
.listing-card:hover{transform:translateY(-3px);box-shadow:0 12px 26px #17382c20}
.listing-card img{height:210px;object-fit:cover}
.logo-chip{width:58px;height:58px;background:#fff;border-radius:12px;display:grid;place-items:center;font-weight:800;box-shadow:0 4px 14px #0002}
.profile-hero{min-height:420px;background:linear-gradient(90deg,#082d26e8,#082d2630),url("https://images.unsplash.com/photo-1554118811-1e0d58224f24?auto=format&fit=crop&w=1800&q=85") center/cover;display:flex;align-items:end;color:#fff}
.special-box{background:#fff9e9;border:1px solid #efd195;border-radius:12px}
.deal-box{background:#edf5ee;border-left:5px solid #3c8a5c}
.dashboard-shell{background:#f2f5f2;min-height:100vh}
.sidebar{background:var(--pine2);color:#fff;min-height:100vh}
.sidebar a{color:#c8d9d3;padding:.8rem 1rem;border-radius:8px;display:block}
.sidebar a:hover,.sidebar a.active{color:#fff;background:#ffffff17}
.stub-badge{background:#fff0c7;color:#76510f;border:1px solid #e6c879}
.photo-drop{border:2px dashed #b8c7bf;background:#f8faf8;min-height:170px;display:grid;place-items:center;text-align:center}
.phone-frame{max-width:350px;background:#fff;border:10px solid #18342d;border-radius:28px;overflow:hidden;box-shadow:0 18px 45px #18342d30}
.category-tile{border:1px solid #dce4df;background:#fff;border-radius:12px;padding:1.25rem;height:100%}
.activity-card img{height:190px;object-fit:cover}
.map-panel{min-height:440px;background:#dfe9e2;position:relative;overflow:hidden;border-radius:16px}
.county-dot{position:absolute;transform:translate(-50%,-50%);border:0;border-radius:50%;background:#6f987c;color:#fff;width:90px;height:62px;font-weight:700;box-shadow:0 4px 12px #153c3040}
.county-dot.core{background:var(--gold)}
.county-dot:hover .county-pop{display:block}
.county-pop{display:none;position:absolute;bottom:70px;left:50%;transform:translateX(-50%);width:220px;background:#fff;color:var(--ink);padding:12px;border-radius:8px;box-shadow:0 10px 28px #0003;text-align:left;font-size:.78rem;z-index:9}
.map-panel:before{content:"";position:absolute;inset:8%;border-radius:48%;background:radial-gradient(circle,#eef3ec,#bdcfbf);box-shadow:inset 0 0 50px #66856d40}
.form-control,.form-select{padding:.78rem}
.footer-link{color:#c4d5cf}
.footer-link:hover{color:#fff}
@media(max-width:767px){.hero{min-height:560px}
.choice-row{margin-top:0}
.sidebar{min-height:auto}
.map-panel{min-height:520px}
.county-dot{width:76px;height:54px;font-size:.74rem}
}
.special-link{border:0;background:transparent;color:#276747;font-family:Georgia,serif;font-size:1.2rem;font-weight:700;padding:.25rem 0;border-bottom:2px solid #d9a443;cursor:pointer}
.special-link:hover,.special-link:focus{color:#123d32;border-color:#123d32}
.popover{max-width:340px}
.popover-header{font-family:Georgia,serif;font-size:1.05rem;color:#18342d}
.popover-body{line-height:1.6;color:#52665f}
.google-map{height:520px;border-radius:16px;overflow:hidden;background:#dfe9e2;box-shadow:0 12px 32px #17382c20}
.map-loading{height:100%;display:grid;place-items:center;color:#52665f;font-weight:700}
.map-key{display:inline-block;width:14px;height:14px;border-radius:3px;margin-right:5px;vertical-align:-2px}
.core-key{background:#e2a33b}
.region-key{background:#438a68}
.map-info{max-width:250px;line-height:1.5;color:#18342d}
.map-info strong{font-family:Georgia,serif;font-size:1.1rem}
.map-info b{color:#a86812}
.county-map-label{background:#123d32cc;border-radius:4px;padding:3px 6px;text-shadow:0 1px 2px #000}
.card-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.special-card-link{border:0;background:transparent;color:#276747;font-family:Georgia,serif;font-size:.92rem;font-weight:700;padding:.4rem 0;border-bottom:2px solid #d9a443;cursor:pointer;text-align:right}
.special-card-link:hover,.special-card-link:focus{color:#123d32;border-color:#123d32}
.woof-profile-hero{min-height:430px;background:linear-gradient(90deg,#082d26e8,#082d2630),url("https://images.unsplash.com/photo-1601758228041-f3b2795255f1?auto=format&fit=crop&w=1800&q=85") center/cover;display:flex;align-items:end;color:#fff}
.mill-camp-profile-hero{min-height:430px;background:linear-gradient(90deg,#082d26e8,#082d2630),url("mill-camp-hero.jpg") center/cover;display:flex;align-items:end;color:#fff}
@media(max-width:575px){.card-actions{align-items:flex-start}
.special-card-link{text-align:left}
.popover{max-width:calc(100vw - 32px)}
}
.business-card-logo{width:116px!important;height:94px!important;object-fit:contain!important;background:#fff;border:1px solid #e1e7e3;border-radius:12px;padding:.4rem;box-shadow:0 5px 16px #17382c20;margin-top:-72px;margin-bottom:1rem;position:relative;z-index:2}
.profile-logo-panel{width:132px;height:108px;background:#fff;border-radius:14px;padding:.5rem;display:grid;place-items:center;box-shadow:0 6px 20px #0003;flex:0 0 auto}
.profile-logo-panel img{max-width:100%;max-height:100%;object-fit:contain}
@media(max-width:575px){.profile-logo-panel{width:100px;height:82px}
}
.card-actions{flex-wrap:nowrap;gap:.5rem;width:100%}
.card-actions .btn{flex:0 0 auto;padding:.42rem .6rem;font-size:.78rem}
.card-actions .special-card-link{flex:0 0 auto;font-size:.75rem;line-height:1.15;white-space:nowrap;text-align:right;margin-left:auto}
.card-deal-strip{display:grid;grid-template-columns:88px minmax(0,1fr) 14px;align-items:center;gap:.65rem;width:100%;min-height:66px;background:#fff3d7;border:1px solid #edcf8c;border-radius:9px;color:#18342d;padding:.65rem .75rem;margin:.25rem 0 .65rem;font-family:inherit;font-size:.78rem;line-height:1.25;text-align:left;cursor:pointer}
.card-deal-strip span{display:flex;align-items:center;gap:.5rem;color:#9a6514;font-size:.65rem;font-weight:800;letter-spacing:.08em;line-height:1.1;text-transform:uppercase;white-space:nowrap}
.card-deal-strip span i{font-size:1rem}
.card-deal-strip span em{font-style:normal}
.card-deal-strip strong{display:flex;align-items:center;min-height:2.5em;text-align:left}
.card-deal-strip b{color:#9a6514;font-size:1.05rem;text-align:right}
.card-deal-strip:hover{background:#ffe9b5;color:#123d32}
.deal-modal .modal-content{border:0;border-radius:16px;overflow:hidden;box-shadow:0 20px 60px #0b2b2440}
.deal-modal .modal-header{background:var(--pine);color:#fff;border:0}
.deal-modal .btn-close{filter:invert(1)}
.deal-modal-offer{background:#fff3d7;border-left:5px solid var(--gold);border-radius:10px;padding:1rem}
.weekly-feature{background:#f5f0e6;border:1px solid #e4dccd;border-radius:14px;padding:1.25rem}
