/* HBD v405 — readability and layout audit layer. Loaded last on every page. */
:root{--hbd-a-bg:#f5efe4;--hbd-a-paper:#fffaf2;--hbd-a-ink:#17130f;--hbd-a-muted:#51483f;--hbd-a-orange:#f36a08;--hbd-a-black:#090909;--hbd-a-line:#d7c8b5}
html,body{max-width:100%;overflow-x:hidden}
body{font-size:16px}
body:not(.hbd-home):not(.gps-page):not(.hbd-exact-roadtrip){background:var(--hbd-a-bg)!important;color:var(--hbd-a-ink)!important}
body:not(.hbd-home):not(.gps-page):not(.hbd-exact-roadtrip) main,
body:not(.hbd-home):not(.gps-page):not(.hbd-exact-roadtrip) article,
body:not(.hbd-home):not(.gps-page):not(.hbd-exact-roadtrip) section:not(.site-footer):not(.hbd-footer):not(.hero):not(.shop-hero){color:var(--hbd-a-ink)}
body:not(.hbd-home):not(.gps-page):not(.hbd-exact-roadtrip) main h1,
body:not(.hbd-home):not(.gps-page):not(.hbd-exact-roadtrip) main h2,
body:not(.hbd-home):not(.gps-page):not(.hbd-exact-roadtrip) main h3,
body:not(.hbd-home):not(.gps-page):not(.hbd-exact-roadtrip) main h4,
body:not(.hbd-home):not(.gps-page):not(.hbd-exact-roadtrip) main p,
body:not(.hbd-home):not(.gps-page):not(.hbd-exact-roadtrip) main li,
body:not(.hbd-home):not(.gps-page):not(.hbd-exact-roadtrip) main label,
body:not(.hbd-home):not(.gps-page):not(.hbd-exact-roadtrip) main small{color:inherit!important;opacity:1!important}
.site-header,.hbd-header,header.site-header,.site-footer,.hbd-footer,footer.site-footer,.hbd-shell-header,.hbd-shell-footer{background:var(--hbd-a-black)!important;color:#fff!important}
.site-header *, .hbd-header *, header.site-header *, .site-footer *, .hbd-footer *, footer.site-footer *, .hbd-shell-header *, .hbd-shell-footer *{color:#fff!important;opacity:1!important}
.site-header a:hover,.hbd-header a:hover,.hbd-shell-header a:hover,.site-footer a:hover,.hbd-footer a:hover{color:var(--hbd-a-orange)!important}
button,.btn,.button,[class*="cta"],input[type="submit"]{opacity:1!important}
main a:not(.cta-btn):not(.btn):not(.button){color:#b54200!important;text-decoration-thickness:1px;text-underline-offset:3px}
img{height:auto}
/* Home: preserve current photography; only enforce readable contrast. */
body.hbd-home{background:#090909!important;color:#fff!important}
body.hbd-home .hero,body.hbd-home [class*="dark"],body.hbd-home [style*="background:#0"],body.hbd-home [style*="background: #0"]{color:#fff!important}
body.hbd-home .hero *,body.hbd-home [class*="dark"] *{color:inherit!important;opacity:1!important}
body.hbd-home main section:not([class*="dark"]):not(.hero){color:var(--hbd-a-ink)}
body.hbd-home main section:not([class*="dark"]):not(.hero) h1,body.hbd-home main section:not([class*="dark"]):not(.hero) h2,body.hbd-home main section:not([class*="dark"]):not(.hero) h3,body.hbd-home main section:not([class*="dark"]):not(.hero) p{color:inherit!important;opacity:1!important}
/* Road-trip pages */
body.hbd-exact-roadtrip .hero *{opacity:1!important}
body.hbd-exact-roadtrip article p,body.hbd-exact-roadtrip article li{color:#352f29!important}
body.hbd-exact-roadtrip .hbd-side-card.dark,body.hbd-exact-roadtrip .hbd-side-card.dark *{color:#fff!important;opacity:1!important}
body.hbd-exact-roadtrip .hbd-side-card.orange,body.hbd-exact-roadtrip .hbd-side-card.orange *{color:#fff!important;opacity:1!important}
body.hbd-exact-roadtrip .hbd-exact-toc *{opacity:1!important}
/* GPS: dark summary, cream interactive section, readable panels. */
body.gps-page{background:#090909!important;color:#fff!important}
body.gps-page .site-header *,body.gps-page .hbd-header *{color:#fff!important}
body.gps-page .route-summary,body.gps-page .route-panel,body.gps-page .stats-panel,body.gps-page [class*="itinerary"],body.gps-page [class*="summary"]{color:#fff!important}
body.gps-page .route-summary *,body.gps-page .route-panel *,body.gps-page .stats-panel *{color:inherit!important;opacity:1!important}
body.gps-page .explore-section,body.gps-page .map-shell,body.gps-page .map-section{background:var(--hbd-a-bg)!important;color:var(--hbd-a-ink)!important}
body.gps-page .explore-section h1,body.gps-page .explore-section h2,body.gps-page .explore-section h3,body.gps-page .explore-section p,body.gps-page .map-shell h1,body.gps-page .map-shell h2,body.gps-page .map-shell h3,body.gps-page .map-shell p{color:var(--hbd-a-ink)!important;opacity:1!important}
body.gps-page .map-panel,body.gps-page .filters,body.gps-page .filter-bar,body.gps-page .places-panel,body.gps-page .results-panel,body.gps-page .leaflet-popup-content-wrapper{background:#111!important;color:#fff!important}
body.gps-page .map-panel *,body.gps-page .filters *,body.gps-page .filter-bar *,body.gps-page .places-panel *,body.gps-page .results-panel *,body.gps-page .leaflet-popup-content-wrapper *{color:inherit!important;opacity:1!important}
body.gps-page .place-card,body.gps-page .result-card,body.gps-page [class*="location-card"]{background:var(--hbd-a-paper)!important;color:var(--hbd-a-ink)!important;border-color:var(--hbd-a-line)!important}
body.gps-page .place-card *,body.gps-page .result-card *,body.gps-page [class*="location-card"] *{color:inherit!important;opacity:1!important}
/* Boutique: one centered grid and equal categories. */
body.shop-page .shop-hero{min-height:260px!important;padding:60px 24px 34px!important;color:#fff!important;background:#090909!important}
body.shop-page .shop-hero *{color:#fff!important;opacity:1!important}
body.shop-page main,body.shop-page .shop-main,body.shop-page .shop-wrapper{width:min(1180px,calc(100% - 40px))!important;max-width:1180px!important;margin:0 auto!important;padding:34px 0 70px!important}
body.shop-page .shop-category{width:100%!important;max-width:100%!important;margin:0 0 46px!important;padding:0!important;position:static!important;transform:none!important}
body.shop-page .category-separator{width:100%!important;max-width:100%!important;margin:28px 0!important}
body.shop-page .cat-head{display:grid!important;grid-template-columns:minmax(220px,.75fr) minmax(280px,1.25fr)!important;gap:28px!important;align-items:end!important;width:100%!important;margin:0 0 18px!important;padding:0 0 14px!important;border-bottom:1px solid var(--hbd-a-line)!important}
body.shop-page .cat-head *,body.shop-page .shop-category>h2,body.shop-page .shop-category>p{color:var(--hbd-a-ink)!important;opacity:1!important}
body.shop-page .product-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important;width:100%!important;margin:0!important;align-items:stretch!important}
body.shop-page .product-card{width:auto!important;min-width:0!important;max-width:none!important;margin:0!important;background:#fff!important;color:var(--hbd-a-ink)!important;border:1px solid var(--hbd-a-line)!important;border-radius:8px!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}
body.shop-page .product-card *{color:inherit!important;opacity:1!important}
body.shop-page .product-img{height:170px!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#fff!important;padding:12px!important;overflow:hidden!important}
body.shop-page .product-img img,body.shop-page .product-card>img{width:100%!important;height:100%!important;max-height:146px!important;object-fit:contain!important;object-position:center!important;padding:0!important;margin:auto!important}
body.shop-page .product-info{display:flex!important;flex:1!important;flex-direction:column!important;padding:15px!important}
body.shop-page .product-info h3{font-size:1rem!important;line-height:1.25!important;color:var(--hbd-a-ink)!important}
body.shop-page .product-info p{font-size:.88rem!important;line-height:1.5!important;color:var(--hbd-a-muted)!important}
body.shop-page .product-info a{margin-top:auto!important;color:#fff!important;background:var(--hbd-a-orange)!important}
/* Story/general/listing cards */
body.hbd-story article,body.hbd-general article,body.hbd-listing article,body.hbd-clean-listing article,.route-card,.card{background:var(--hbd-a-paper)!important;color:var(--hbd-a-ink)!important}
body.hbd-story article *,body.hbd-general article *,body.hbd-listing article *,body.hbd-clean-listing article *,.route-card *,.card *{opacity:1!important}
body.hbd-story article p,body.hbd-general article p,body.hbd-listing article p,body.hbd-clean-listing article p,.route-card p,.card p{color:var(--hbd-a-muted)!important}
body.hbd-story article h1,body.hbd-story article h2,body.hbd-story article h3,body.hbd-general article h1,body.hbd-general article h2,body.hbd-general article h3,body.hbd-listing h1,body.hbd-listing h2,body.hbd-listing h3,body.hbd-clean-listing h1,body.hbd-clean-listing h2,body.hbd-clean-listing h3,.route-card h2,.route-card h3,.card h2,.card h3{color:var(--hbd-a-ink)!important}
@media(max-width:980px){body.shop-page .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.hbd-exact-layout{grid-template-columns:1fr!important}.hbd-exact-aside{position:static!important}}
@media(max-width:640px){body{font-size:15px}body.shop-page main,body.shop-page .shop-main,body.shop-page .shop-wrapper{width:min(100% - 24px,1180px)!important}.body.shop-page .cat-head,body.shop-page .cat-head{grid-template-columns:1fr!important;gap:10px!important}.body.shop-page .product-grid,body.shop-page .product-grid{grid-template-columns:1fr!important}.site-header .inner,.hbd-header .inner,.nav-inner{padding-left:14px!important;padding-right:14px!important}}
