:root{--hbd2-black:#0a0a0a;--hbd2-panel:#111;--hbd2-orange:#f26a0a;--hbd2-cream:#f6efe3;--hbd2-cream2:#eadfce;--hbd2-ink:#17130f;--hbd2-muted:#6e6255;--hbd2-line:#dbcbb7;--hbd2-max:1240px}
html{scroll-behavior:smooth;background:var(--hbd2-black)}
body.hbd-v2{background:var(--hbd2-cream)!important;color:var(--hbd2-ink)!important;font-family:Barlow,Arial,sans-serif!important;line-height:1.6!important;overflow-x:hidden}
body.hbd-v2 main,body.hbd-v2 section{position:relative}
body.hbd-v2 h1,body.hbd-v2 h2,body.hbd-v2 h3,body.hbd-v2 h4{font-family:'Bebas Neue','Oswald',Arial,sans-serif!important;letter-spacing:.025em!important;text-wrap:balance}
body.hbd-v2 p,body.hbd-v2 li{color:inherit}
body.hbd-v2 img{max-width:100%;height:auto}
body.hbd-v2 a{transition:.18s ease}
body.hbd-v2 .hbd-site-header{position:sticky!important;top:0!important;z-index:999999!important}
body.hbd-v2 .hbd-header-inner{min-height:72px!important}
body.hbd-v2 .hbd-site-footer{margin-top:0!important}

/* Universal page frame */
body.hbd-v2:not(.hbd-home):not(.hbd-roadtrip):not(.hbd-gps) main{max-width:var(--hbd2-max);margin:0 auto;padding:56px 28px 72px}
body.hbd-v2:not(.hbd-home):not(.hbd-roadtrip):not(.hbd-gps) main>section,body.hbd-v2:not(.hbd-home):not(.hbd-roadtrip):not(.hbd-gps) main>article{border-radius:14px}
body.hbd-v2:not(.hbd-home):not(.hbd-roadtrip):not(.hbd-gps) h1{font-size:clamp(2.7rem,6vw,5.6rem)!important;line-height:.95!important;color:var(--hbd2-ink)!important;margin:0 0 24px!important}
body.hbd-v2:not(.hbd-home):not(.hbd-roadtrip):not(.hbd-gps) h2{font-size:clamp(2rem,3.5vw,3.3rem)!important;line-height:1!important;color:var(--hbd2-ink)!important;margin:42px 0 18px!important;border-bottom:3px solid var(--hbd2-orange)!important;padding-bottom:10px!important}
body.hbd-v2:not(.hbd-home):not(.hbd-roadtrip):not(.hbd-gps) h3{font-size:1.45rem!important;color:var(--hbd2-ink)!important}
body.hbd-v2:not(.hbd-home):not(.hbd-roadtrip):not(.hbd-gps) p{font-size:1.04rem;max-width:78ch}

/* Home */
body.hbd-home{background:var(--hbd2-black)!important;color:#fff!important}
body.hbd-home .hero{min-height:72vh!important;padding:110px 6vw 70px!important;background:#0a0a0a!important}
body.hbd-home .hero h1{font-size:clamp(4rem,10vw,8.5rem)!important;line-height:.82!important;color:#fff!important}
body.hbd-home .hero p{color:#e9dfd2!important;max-width:760px!important}
body.hbd-home section:not(.hero){padding:82px max(6vw,24px)!important}
body.hbd-home section:nth-of-type(even){background:var(--hbd2-cream)!important;color:var(--hbd2-ink)!important}
body.hbd-home section:nth-of-type(odd):not(.hero){background:#111!important;color:#fff!important}
body.hbd-home section h2{font-size:clamp(3rem,7vw,6rem)!important;line-height:.9!important}
body.hbd-home .divider{display:none!important}
body.hbd-home .platform-card,body.hbd-home .shop-card,body.hbd-home .universe-card,body.hbd-home article{border-radius:12px!important;overflow:hidden!important;box-shadow:0 12px 30px rgba(0,0,0,.16)!important}

/* Listings and standard cards */
body.hbd-listing{background:var(--hbd2-cream)!important}
body.hbd-listing .blog-hero,body.hbd-listing .hero,body.hbd-listing main>header{background:var(--hbd2-black)!important;color:#fff!important;padding:72px max(6vw,28px)!important;margin:0!important;max-width:none!important;border-radius:0!important}
body.hbd-listing .blog-hero h1,body.hbd-listing .hero h1,body.hbd-listing main>header h1{color:#fff!important}
body.hbd-listing .blog-wrap,body.hbd-listing main{max-width:var(--hbd2-max)!important;margin:auto!important;padding:58px 28px 80px!important}
body.hbd-listing article,body.hbd-listing .card,body.hbd-listing .route-card,body.hbd-listing .blog-card,body.hbd-listing .road-card{background:#fff!important;color:var(--hbd2-ink)!important;border:1px solid var(--hbd2-line)!important;border-radius:12px!important;box-shadow:0 10px 25px rgba(30,20,10,.08)!important;overflow:hidden!important}
body.hbd-listing a[class*="btn"],body.hbd-listing button{background:var(--hbd2-orange)!important;color:#fff!important;border:0!important;border-radius:4px!important}

/* Shop */
body.hbd-shop .shop-hero{background:var(--hbd2-black)!important;color:#fff!important;padding:82px max(6vw,28px)!important}
body.hbd-shop .shop-hero h1{color:#fff!important}
body.hbd-shop .shop-category{max-width:var(--hbd2-max)!important;margin:0 auto!important;padding:64px 28px!important;background:transparent!important;color:var(--hbd2-ink)!important}
body.hbd-shop .product-card,body.hbd-shop [class*="shop-card"]{background:#fff!important;color:var(--hbd2-ink)!important;border:1px solid var(--hbd2-line)!important;border-radius:12px!important;box-shadow:0 8px 24px rgba(30,20,10,.08)!important}
body.hbd-shop .category-separator{display:none!important}

/* Story */
body.hbd-story{background:var(--hbd2-cream)!important}
body.hbd-story>header.hero{background:var(--hbd2-black)!important;color:#fff!important;padding:80px 7vw 60px!important;min-height:auto!important}
body.hbd-story>header.hero h1{color:#fff!important;font-size:clamp(3.2rem,7vw,6.8rem)!important;line-height:.9!important}
body.hbd-story main{max-width:980px!important;padding-top:58px!important}
body.hbd-story article{background:#fff!important;padding:clamp(24px,5vw,64px)!important;border:1px solid var(--hbd2-line)!important;box-shadow:0 15px 40px rgba(30,20,10,.08)!important}
body.hbd-story article p{font-family:Lora,Georgia,serif!important;font-size:1.12rem!important;line-height:1.85!important;color:#342d25!important}
body.hbd-story figure img{border-radius:10px!important}

/* Road trips: preserve functional exact template and enforce readability */
body.hbd-roadtrip{background:var(--hbd2-cream)!important;color:var(--hbd2-ink)!important}
body.hbd-roadtrip main{max-width:var(--hbd2-max)!important;margin:auto!important}
body.hbd-roadtrip h1,body.hbd-roadtrip h2,body.hbd-roadtrip h3,body.hbd-roadtrip p,body.hbd-roadtrip li{opacity:1!important;filter:none!important}
body.hbd-roadtrip main,body.hbd-roadtrip main *{text-shadow:none!important}
body.hbd-roadtrip main p,body.hbd-roadtrip main li{color:#342d25!important}
body.hbd-roadtrip main h1,body.hbd-roadtrip main h2,body.hbd-roadtrip main h3{color:var(--hbd2-ink)!important}
body.hbd-roadtrip [class*="card"]{opacity:1!important}

/* GPS: do not disrupt Leaflet, only guarantee contrast */
body.hbd-gps{background:var(--hbd2-cream)!important;color:var(--hbd2-ink)!important}
body.hbd-gps .hero{background:var(--hbd2-black)!important;color:#fff!important}
body.hbd-gps .hero h1,body.hbd-gps .hero h2,body.hbd-gps .hero p{color:#fff!important;opacity:1!important}
body.hbd-gps main{max-width:none!important;margin:0!important;padding:0!important}
body.hbd-gps .leaflet-container{font-family:Barlow,Arial,sans-serif!important}
body.hbd-gps .leaflet-popup-content,body.hbd-gps .leaflet-popup-content *{color:#f7efe4!important;opacity:1!important}
body.hbd-gps [class*="panel"],body.hbd-gps [class*="list"]{opacity:1!important}
body.hbd-gps [class*="panel"] h2,body.hbd-gps [class*="panel"] h3,body.hbd-gps [class*="panel"] p{opacity:1!important}

/* Forms and buttons */
body.hbd-v2 input,body.hbd-v2 textarea,body.hbd-v2 select{border:1px solid #bcae9c!important;background:#fff!important;color:#17130f!important;border-radius:5px!important;padding:12px!important}
body.hbd-v2 button,body.hbd-v2 .btn,body.hbd-v2 [class*="button"],body.hbd-v2 [class*="cta"]{font-family:'Oswald',Arial,sans-serif!important;letter-spacing:.06em!important}

@media(max-width:900px){body.hbd-v2 .hbd-header-inner{min-height:66px!important}body.hbd-home .hero{min-height:62vh!important}body.hbd-v2:not(.hbd-home):not(.hbd-roadtrip):not(.hbd-gps) main{padding:36px 18px 56px!important}}
@media(max-width:600px){body.hbd-home .hero{padding:85px 20px 50px!important}body.hbd-home section:not(.hero){padding:55px 20px!important}body.hbd-v2 h1{overflow-wrap:anywhere}body.hbd-story article{padding:26px 20px!important}}

/* HBD v403 — Boutique compacte, alignée et sans agrandissement des photos */
body.shop-page{
  overflow-x:hidden!important;
  background:#f4ebdd!important;
}
body.shop-page .shop-hero{
  min-height:0!important;
  padding:96px 24px 28px!important;
  background:#0d0d0d!important;
}
body.shop-page .shop-hero h1{
  font-size:clamp(44px,5.2vw,76px)!important;
  line-height:.9!important;
  margin:8px 0 12px!important;
}
body.shop-page .shop-hero p{
  max-width:760px!important;
  margin:0 0 18px!important;
  font-size:1rem!important;
}
body.shop-page section.shop-category,
body.shop-page section#camera,
body.shop-page section#motard,
body.shop-page section#chien,
body.shop-page section#roadtrip{
  width:min(1180px,calc(100% - 48px))!important;
  max-width:1180px!important;
  margin:0 auto!important;
  padding:42px 0 48px!important;
  float:none!important;
  clear:both!important;
  transform:none!important;
  position:relative!important;
  left:auto!important;
  right:auto!important;
  background:transparent!important;
  border-top:1px solid rgba(240,90,0,.24)!important;
}
body.shop-page section.shop-category:first-of-type,
body.shop-page section#camera{border-top:0!important;}
body.shop-page .cat-head{
  width:100%!important;
  max-width:none!important;
  margin:0 0 20px!important;
  padding:0 0 15px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(260px,430px)!important;
  align-items:end!important;
  gap:28px!important;
  border-bottom:1px solid rgba(23,19,15,.16)!important;
}
body.shop-page .cat-head h2{
  color:#17130f!important;
  font-size:clamp(30px,3.1vw,48px)!important;
  line-height:1!important;
  margin:5px 0 0!important;
}
body.shop-page .cat-head p{
  display:block!important;
  color:#5d5145!important;
  font-size:.96rem!important;
  line-height:1.5!important;
  margin:0!important;
}
body.shop-page .product-grid{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:16px!important;
  align-items:stretch!important;
}
body.shop-page .product-card{
  width:auto!important;
  min-width:0!important;
  min-height:390px!important;
  margin:0!important;
  padding:12px!important;
  display:flex!important;
  flex-direction:column!important;
  background:#fffdf9!important;
  border:1px solid #d8c8b4!important;
  border-radius:7px!important;
  box-shadow:0 5px 14px rgba(20,15,10,.07)!important;
}
body.shop-page .product-img{
  height:155px!important;
  min-height:155px!important;
  padding:8px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#fff!important;
  overflow:hidden!important;
}
body.shop-page .product-img img,
body.shop-page .product-card img{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:82%!important;
  max-height:138px!important;
  object-fit:contain!important;
  object-position:center!important;
  image-rendering:auto!important;
  transform:none!important;
  filter:none!important;
}
body.shop-page .product-info{
  flex:1!important;
  display:flex!important;
  flex-direction:column!important;
  padding:12px 2px 0!important;
}
body.shop-page .product-info h3,
body.shop-page .product-card h3{
  color:#2a2119!important;
  font-size:.92rem!important;
  line-height:1.25!important;
  min-height:2.5em!important;
  margin:0 0 7px!important;
}
body.shop-page .product-info p,
body.shop-page .product-card p{
  color:#5d5145!important;
  font-size:.78rem!important;
  line-height:1.42!important;
}
body.shop-page .product-card .amazon-btn,
body.shop-page .product-card a[class*="btn"]{
  margin-top:auto!important;
}
body.shop-page .see-all{
  display:block!important;
  width:max-content!important;
  margin:20px auto 0!important;
}
@media(max-width:1050px){
 body.shop-page .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
 body.shop-page .cat-head{grid-template-columns:1fr!important;gap:10px!important;}
 body.shop-page .cat-head p{max-width:700px!important;}
}
@media(max-width:700px){
 body.shop-page .shop-hero{padding:82px 18px 22px!important;}
 body.shop-page section.shop-category,
 body.shop-page section#camera,
 body.shop-page section#motard,
 body.shop-page section#chien,
 body.shop-page section#roadtrip{width:calc(100% - 32px)!important;padding:32px 0 38px!important;}
 body.shop-page .product-grid{grid-template-columns:1fr!important;}
 body.shop-page .product-card{min-height:0!important;}
 body.shop-page .product-img{height:145px!important;min-height:145px!important;}
 body.shop-page .product-img img,body.shop-page .product-card img{max-height:128px!important;}
}
