/* Shared visual system for native templates and retained CMS content blocks. */
body.dn-native{--dn-role-h1:46px;--dn-role-h1-mobile:32px;--dn-role-h2:34px;--dn-role-space:80px}

/* One page heading only on landing pages that own a full hero. */
body:has(.all-salons-page)>.dn-native-main>.dn-page-head,
body:has(.dn-install-landing)>.dn-native-main>.dn-page-head{display:none!important}

body:has(.all-salons-page)>.dn-native-main>.dn-page-body,
body:has(.dn-install-landing)>.dn-native-main>.dn-page-body{padding:0!important}
body:has(.all-salons-page)>.dn-native-main>.dn-page-body>.dn-native-wrap,
body:has(.dn-install-landing)>.dn-native-main>.dn-page-body>.dn-native-wrap{width:100%!important;max-width:none!important}

body:has(.all-salons-page) .all-salons-hero h1,
body:has(.dn-install-landing) .dn-install-hero h1{font-size:clamp(40px,4vw,52px)!important;line-height:1.06!important;letter-spacing:-.03em!important}
body.dn-native .dn-city-page .dn-city-detail{padding:30px 0 0!important}
body:has(.all-salons-page) .exact-reference-page .wrap,
body:has(.dn-install-landing) .dn-install-shell{width:min(var(--dn-wrap),calc(100% - 64px))!important}

/* Stable content: information must not disappear until a scroll observer runs. */
.dn-home-v4 .dn-reveal{opacity:1!important;transform:none!important}

/* Homepage product cards use the same scale, colour and CTA language as catalogue cards. */
.dn-home-v4 .dn-home-products .row{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important}
.dn-home-v4 .dn-home-products .row>[class*="col-"]:nth-child(n+5){display:none!important}
.dn-home-v4 .dn-home-products article{min-height:500px!important;border:1px solid var(--dn-line)!important;border-radius:0!important}
.dn-home-v4 .dn-home-products .figure-grid{padding:0!important}
.dn-home-v4 .dn-home-products .image{height:300px!important;margin:0!important;padding:20px!important;background:var(--dn-soft)!important}
.dn-home-v4 .dn-home-products .img-responsive-1by1{width:100%!important;height:100%!important;aspect-ratio:auto!important}
.dn-home-v4 .dn-home-products .text{min-height:82px!important;padding:18px 16px 8px!important}
.dn-home-v4 .dn-home-products .title{font:700 15px/1.45 Montserrat,Arial,sans-serif!important}
.dn-home-v4 .dn-home-products .price-wrapper{margin:0 16px!important;padding:14px 0 12px!important;border-top:1px solid var(--dn-line)!important}
.dn-home-v4 .dn-home-products .price-label,.dn-home-v4 .dn-home-products .price-label span{color:var(--dn-ink)!important;font:700 25px/1.15 Montserrat,Arial,sans-serif!important}
.dn-home-v4 .dn-home-products .price-label [itemprop="priceCurrency"]{font:400 13px/1 Roboto,Arial,sans-serif!important}
.dn-home-product-cta{display:flex!important;min-height:44px!important;align-items:center!important;justify-content:center!important;margin:0 16px 16px!important;background:var(--dn-orange)!important;color:var(--dn-ink)!important;font:800 13px/1.2 Montserrat,Arial,sans-serif!important;text-decoration:none!important}
.dn-home-product-cta:after{content:"→";margin-left:9px;font-size:16px}

/* Homepage inspiration is image-led and readable at every viewport. */
.dn-home-v4 .dn-inspiration-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important}
.dn-home-v4 .dn-inspiration-grid a{aspect-ratio:4/3!important;background:#ede7df!important}
.dn-home-v4 .dn-inspiration-grid a:after{display:none!important}
.dn-home-v4 .dn-inspiration-grid img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important}
.dn-home-v4 .dn-inspiration-label{position:absolute;z-index:2;right:0;bottom:0;left:0;display:flex;min-height:58px;align-items:center;padding:12px 16px;background:linear-gradient(0deg,rgba(35,31,28,.92),rgba(35,31,28,.18));color:#fff;font:700 14px/1.35 Montserrat,Arial,sans-serif}
.dn-home-v4 .dn-inspiration-label:after{content:"→";margin-left:auto;color:var(--dn-orange);font-size:19px}

/* CMS forms inherit one geometry and always keep a visible focus state. */
body.dn-native .contactform input:not([type="hidden"]):not([type="submit"]),
body.dn-native .contactform select,
body.dn-native .contactform textarea{border-radius:0!important;box-shadow:none!important}
body.dn-native .contactform :is(input,select,textarea,button):focus-visible{outline:2px solid var(--dn-orange)!important;outline-offset:2px!important}

@media(max-width:1199px){
  .dn-home-v4 .dn-home-products .row{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .dn-home-v4 .dn-home-products .row>[class*="col-"]:nth-child(4){display:none!important}
}
@media(max-width:991px){
  body:has(.all-salons-page) .exact-reference-page .wrap,body:has(.dn-install-landing) .dn-install-shell{width:min(100% - 36px,var(--dn-wrap))!important}
  .dn-home-v4 .dn-inspiration-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:640px){
  body:has(.all-salons-page) .all-salons-hero h1,body:has(.dn-install-landing) .dn-install-hero h1{font-size:34px!important;line-height:1.08!important}
  body.dn-native .dn-city-page .dn-city-detail{padding-top:24px!important}
  body:has(.all-salons-page) .exact-reference-page .wrap,body:has(.dn-install-landing) .dn-install-shell{width:calc(100% - 28px)!important}
  .dn-home-v4 .dn-home-products .row{grid-template-columns:1fr!important;gap:14px!important}
  .dn-home-v4 .dn-home-products .row>[class*="col-"]:nth-child(n+4){display:none!important}
  .dn-home-v4 .dn-home-products article{min-height:0!important}
  .dn-home-v4 .dn-home-products .image{height:340px!important}
  .dn-home-v4 .dn-inspiration-grid{grid-template-columns:1fr!important;gap:12px!important}
  .dn-home-v4 .dn-inspiration-grid a{aspect-ratio:4/3!important}
}

@media(prefers-reduced-motion:reduce){.dn-home-v4 *{transition:none!important;animation:none!important}}
