/* derKosie JTL-Shop 5 / NOVA design layer
   Scope: global shop chrome, listings, detail pages and dk-* OPC modules. */

:root {
  --dk-ink:#10272d;
  --dk-ink-soft:#294147;
  --dk-paper:#f5f2ea;
  --dk-paper-deep:#e8e2d5;
  --dk-blue:#1747ff;
  --dk-lime:#c9ff3d;
  --dk-green:#087c3a;
  --dk-orange:#ff6848;
  --dk-line:rgba(16,39,45,.16);
}

html { scroll-behavior:smooth; }
body.is-nova { background:var(--dk-paper); color:var(--dk-ink); font-family:Inter,"Segoe UI",Arial,sans-serif; }
#main-wrapper { background:var(--dk-paper); }
a { transition:color .18s ease,background-color .18s ease,border-color .18s ease,transform .18s ease; }
.container,.container-fluid-xl { max-width:1480px; }

/* Header */
#jtl-nav-wrapper { background:rgba(245,242,234,.96); border-bottom:1px solid var(--dk-line); box-shadow:none; backdrop-filter:blur(14px); }
#jtl-nav-wrapper > .container-fluid { padding-inline:clamp(18px,4vw,70px); }
#logo .navbar-brand { width:190px; height:54px; display:block; overflow:hidden; }
#shop-logo { width:190px; max-width:none; height:auto; max-height:none; display:block; }
#mainNavigation .nav-link { color:var(--dk-ink); font-size:.83rem; font-weight:700; }
#mainNavigation .nav-link:hover,#mainNavigation .nav-item.active > .nav-link { color:var(--dk-blue); }
#shop-nav .nav-link { color:var(--dk-ink); }
#search .search-wrapper .form-control { background:transparent; border:0; border-bottom:1px solid var(--dk-ink); border-radius:0; }
#search .btn-secondary { background:transparent; border:0; color:var(--dk-ink); }
.cart-icon-dropdown-price { font-weight:800; }
.fa-sup { background:var(--dk-blue); color:#fff; }

/* Shared controls */
.btn { border-radius:3px; font-weight:750; box-shadow:none; }
.btn-primary { background:var(--dk-lime); border-color:var(--dk-ink); color:var(--dk-ink); }
.btn-primary:hover,.btn-primary:focus { background:var(--dk-lime); border-color:var(--dk-ink); color:var(--dk-ink); transform:translateY(-2px); box-shadow:0 4px 0 var(--dk-ink); }
.btn-secondary,.btn-outline-secondary { background:transparent; border-color:var(--dk-ink); color:var(--dk-ink); }
.btn-secondary:hover,.btn-outline-secondary:hover { background:var(--dk-ink); border-color:var(--dk-ink); color:#fff; }
.form-control,.custom-select { border-color:rgba(16,39,45,.28); border-radius:2px; }
.form-control:focus,.custom-select:focus { border-color:var(--dk-blue); box-shadow:0 0 0 .15rem rgba(23,71,255,.14); }

/* Breadcrumbs and titles */
.breadcrumb-container { padding-top:20px; }
.breadcrumb { background:transparent; font-size:.72rem; }
#content-wrapper .title .h2,#content-wrapper h1.h2 { color:var(--dk-ink); font-size:clamp(2.5rem,5vw,5.2rem); font-weight:850; line-height:.92; letter-spacing:-.055em; }
.dk-shop-overview #result-wrapper > .title { display:none; }

/* Product listings */
.product-list { margin-inline:-8px; }
.product-wrapper { padding-inline:8px; margin-bottom:16px!important; }
.productbox { height:100%; background:#fff; border:1px solid var(--dk-ink); }
.productbox-inner > .row { height:100%; }
.productbox-image { overflow:hidden; }
/* Only the outer gallery gets the neutral background. NOVA places the second
   hover image in an absolutely positioned .square wrapper; an opaque
   background there would cover the first image even while the second image
   itself is transparent. */
.productbox .productbox-image:not(.square) { background:#f0eee8; }
.productbox .productbox-image.square { background:transparent; }
.productbox-image img { padding:20px; transition:opacity .24s ease, transform .28s ease; }
/* NOVA centers listing images with translate(-50%, -50%). Keep that
   translation on hover; replacing it with a plain scale makes images jump. */
.productbox:hover .productbox-image img { transform:translate(-50%, -50%) scale(1.035); }
.productbox-title { padding:18px 18px 7px; font-size:.92rem; font-weight:750; line-height:1.35; }
.productbox-title a { color:var(--dk-ink); }
.productbox .price_wrapper { padding:4px 18px 18px; }
.productbox-price { color:var(--dk-ink); font-size:1.1rem; font-weight:850; }
.productbox .price-note { color:#6e7a7d; font-size:.68rem; }
.productbox-ribbon { background:var(--dk-blue)!important; color:#fff!important; border-radius:0; text-transform:uppercase; letter-spacing:.06em; font-size:.62rem; }
.productbox-quick-actions .badge { background:var(--dk-ink); border:0; }
.productlist-page-nav { padding:14px 0; border-block:1px solid var(--dk-line); }

/* Product detail */
.product-detail { padding-block:30px 70px; }
.product-gallery { background:#efede7; padding:clamp(18px,3vw,45px); }
.product-image { object-fit:contain; object-position:center; }
.product-info { padding-left:clamp(25px,5vw,75px); }
.product-title { color:var(--dk-ink); font-size:clamp(2rem,3.3vw,4rem)!important; font-weight:850; line-height:.98; letter-spacing:-.045em; }
.info-essential { color:#68777a; font-size:.74rem; }
.shortdesc { color:var(--dk-ink-soft); line-height:1.65; }
.product-offer .price.h1 { color:var(--dk-ink); font-size:2rem; font-weight:900; }
.stock-information { padding:14px 0; border-block:1px solid var(--dk-line); }
.product-buy .btn-primary { min-height:52px; }
.tab-navigation .nav-tabs { border-bottom:1px solid var(--dk-ink); }
.tab-navigation .nav-link { border:0; border-bottom:3px solid transparent; color:var(--dk-ink); font-weight:750; }
.tab-navigation .nav-link.active { background:transparent; border-bottom-color:var(--dk-blue); color:var(--dk-blue); }
.tab-content .desc { max-width:850px; color:var(--dk-ink-soft); line-height:1.72; }
.tab-content .desc h2,.tab-content .desc h3 { color:var(--dk-ink); font-weight:850; letter-spacing:-.03em; }

/* Reusable article-description system for new JTL-Wawi products */
.dk-article-content { margin:0; color:var(--dk-ink); background:var(--dk-paper); font-size:1rem; line-height:1.65; }
.dk-article-content * { box-sizing:border-box; }
.dk-article-content img { max-width:100%; height:auto; display:block; }
.dk-article-content h2,.dk-article-content h3,.dk-article-content p { margin-top:0; }
.dk-article-intro { display:grid; grid-template-columns:1.05fr .95fr; border:1px solid var(--dk-ink); background:#fff; }
.dk-article-intro-copy { padding:clamp(35px,5vw,75px); display:flex; flex-direction:column; justify-content:center; }
.dk-article-intro-copy h2 { margin:0; font-size:clamp(2.3rem,4.5vw,5.1rem); line-height:.92; letter-spacing:-.055em; }
.dk-article-intro-copy > p:not(.dk-eyebrow) { max-width:650px; margin:25px 0 0; color:var(--dk-ink-soft); }
.dk-article-intro-media { min-height:430px; padding:clamp(24px,4vw,60px); display:grid; place-items:center; background:#ece9e2; }
.dk-article-intro-media img { width:100%; height:100%; max-height:560px; object-fit:contain; }
.dk-article-facts { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--dk-ink); border-top:0; }
.dk-article-fact { min-height:165px; padding:24px; border-right:1px solid var(--dk-ink); }
.dk-article-fact:last-child { border-right:0; }
.dk-article-fact small { display:block; margin-bottom:28px; font-size:.62rem; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.dk-article-fact b { display:block; margin-bottom:7px; font-size:1rem; }
.dk-article-fact p { margin:0; color:var(--dk-ink-soft); font-size:.82rem; line-height:1.5; }
.dk-article-story { padding:clamp(55px,7vw,100px); background:#fff; border-inline:1px solid var(--dk-ink); }
.dk-article-story-inner { max-width:920px; margin:auto; }
.dk-article-story h2 { margin-bottom:28px; font-size:clamp(2.1rem,4vw,4.4rem); line-height:.95; letter-spacing:-.05em; }
.dk-article-story p { color:var(--dk-ink-soft); }
.dk-article-story ul { margin:28px 0 0; padding:0; list-style:none; border-top:1px solid var(--dk-line); }
.dk-article-story li { padding:15px 0 15px 30px; position:relative; border-bottom:1px solid var(--dk-line); }
.dk-article-story li::before { content:"✓"; position:absolute; left:0; color:var(--dk-green); font-weight:900; }
.dk-article-specs { display:grid; grid-template-columns:.8fr 1.2fr; border:1px solid var(--dk-ink); }
.dk-article-specs-title { padding:clamp(38px,5vw,70px); background:var(--dk-ink); color:#fff; }
.dk-article-specs-title .dk-eyebrow { color:var(--dk-lime); }
.dk-article-specs-title h2 { margin:0; font-size:clamp(2.2rem,4vw,4.5rem); line-height:.95; letter-spacing:-.05em; }
.dk-article-specs-list { margin:0; padding:clamp(35px,5vw,70px); background:var(--dk-paper-deep); }
.dk-article-specs-list > div { display:grid; grid-template-columns:minmax(120px,.7fr) 1.3fr; gap:20px; padding:14px 0; border-bottom:1px solid var(--dk-line); }
.dk-article-specs-list dt { font-size:.73rem; font-weight:850; }
.dk-article-specs-list dd { margin:0; color:var(--dk-ink-soft); font-size:.82rem; }
.dk-article-service { padding:clamp(45px,6vw,85px); display:flex; align-items:center; justify-content:space-between; gap:45px; background:var(--dk-lime); border:1px solid var(--dk-ink); border-top:0; }
.dk-article-service h2 { margin:0 0 12px; font-size:clamp(2rem,3.3vw,3.7rem); line-height:.96; letter-spacing:-.045em; }
.dk-article-service p { max-width:650px; margin:0; }
.dk-article-service a { flex:0 0 auto; }

/* Footer */
#footer { background:#081a1f; color:#a9bbb8; }
#footer .productlist-filter-headline,#footer .box-normal-link { color:var(--dk-lime); font-size:.72rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
#footer a { color:#a9bbb8; }
#footer a:hover { color:#fff; }
#footer .footnote-vat { border-top:1px solid #304348; }
.dk-footer-logo { width:min(420px,80vw); height:150px; display:block; overflow:hidden; }
.dk-footer-logo img { width:min(420px,80vw); max-width:none; height:auto; display:block; }
.dk-footer-claim { margin:14px 0 0; color:#809895; }
#copyright { background:#061418; color:#718784; }

/* JTL legal pages: content remains managed by JTL / legal-text service */
#content > .well { margin:0; padding:clamp(45px,6vw,90px) 0; background:transparent; border:0; border-radius:0; box-shadow:none; }
#content > .well > .container { max-width:1120px; padding:clamp(35px,5vw,75px); background:#fff; border:1px solid var(--dk-line); }
#content > .well h1 { margin:0 0 45px; color:var(--dk-ink); font-size:clamp(2.8rem,6vw,6.3rem); line-height:.9; letter-spacing:-.06em; font-weight:850; }
#content > .well h2 { margin:50px 0 20px; padding-top:22px; color:var(--dk-ink); border-top:1px solid var(--dk-ink); font-size:clamp(1.45rem,2.5vw,2.3rem); line-height:1.08; letter-spacing:-.035em; font-weight:850; }
#content > .well h3 { margin:34px 0 14px; color:var(--dk-ink); font-size:1.15rem; font-weight:850; }
#content > .well p,#content > .well li { color:var(--dk-ink-soft); line-height:1.72; }
#content > .well a { color:var(--dk-blue); text-decoration:underline; text-underline-offset:3px; }
#content > .well ol,#content > .well ul { padding-left:1.35rem; }
#content > .well table { width:100%; margin:25px 0; border-collapse:collapse; }
#content > .well th,#content > .well td { padding:12px; border:1px solid var(--dk-line); vertical-align:top; }
#content > .well .alert,#content > .well .card { border-radius:2px; }
#content > .well [style*="font-size"] { max-width:100%; }

/* OPC homepage components */
.dk-home { width:100%; margin:0; color:var(--dk-ink); }
.dk-home * { box-sizing:border-box; }
.dk-home a { color:inherit; text-decoration:none; }
.dk-eyebrow { margin:0 0 22px; font-size:.68rem; letter-spacing:.18em; text-transform:uppercase; font-weight:900; }
.dk-btn { min-height:52px; padding:0 20px; display:inline-flex; align-items:center; justify-content:center; gap:16px; border:1px solid var(--dk-ink); border-radius:3px; font-size:.84rem; font-weight:850; }
.dk-btn:hover { transform:translateY(-2px); box-shadow:0 5px 0 var(--dk-ink); }
.dk-btn-primary { background:var(--dk-lime); }
.dk-btn-dark { background:var(--dk-ink); color:#fff!important; }
.dk-hero { min-height:720px; display:grid; grid-template-columns:46% 54%; border-bottom:1px solid var(--dk-ink); overflow:hidden; }
.dk-hero-copy { padding:clamp(65px,8vw,120px) 4.5vw 50px 6vw; display:flex; flex-direction:column; justify-content:center; }
.dk-hero h1 { margin:0; font-size:clamp(4rem,7vw,7.7rem); line-height:.86; letter-spacing:-.075em; font-weight:900; }
.dk-hero h1 em { color:var(--dk-blue); font-family:Georgia,serif; font-weight:400; }
.dk-hero-lead { max-width:620px; margin:30px 0; font-size:clamp(1.05rem,1.35vw,1.3rem); line-height:1.55; }
.dk-hero-actions { display:flex; flex-wrap:wrap; gap:12px; }
.dk-hero-media { min-height:560px; position:relative; background:#d9e5df; overflow:hidden; }
.dk-hero-media img { width:100%; height:100%; object-fit:cover; }
.dk-badge { position:absolute; right:6%; bottom:7%; width:145px; height:145px; padding:25px 20px; display:flex; flex-direction:column; justify-content:center; background:var(--dk-blue); color:#fff; border-radius:50%; transform:rotate(5deg); }
.dk-badge b { font-size:1.3rem; line-height:.85; }
.dk-badge small { margin-top:9px; line-height:1.3; }
.dk-categories { padding:clamp(75px,8vw,125px) 5vw; }
.dk-section-head { margin-bottom:42px; display:flex; justify-content:space-between; align-items:flex-end; gap:30px; }
.dk-section-head h2,.dk-designer h2,.dk-rfid h2,.dk-returns h2 { margin:0; font-size:clamp(2.8rem,5vw,5.6rem); line-height:.9; letter-spacing:-.06em; font-weight:850; }
.dk-category-grid { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--dk-ink); }
.dk-category { min-height:330px; padding:24px; display:flex; flex-direction:column; border-right:1px solid var(--dk-ink); }
.dk-category:last-child { border-right:0; }
.dk-category:hover { position:relative; z-index:2; transform:translateY(-6px); box-shadow:0 6px 0 var(--dk-ink); }
.dk-category > small { font-weight:900; }
.dk-category > div { margin:auto 0 25px; }
.dk-category h3 { margin:0 0 12px; font-size:clamp(1.6rem,2.3vw,2.8rem); line-height:.95; letter-spacing:-.05em; }
.dk-category p { margin:0; line-height:1.5; font-size:.84rem; }
.dk-category:nth-child(1){background:#fff}.dk-category:nth-child(2){background:var(--dk-lime)}.dk-category:nth-child(3){background:var(--dk-green);color:#fff}.dk-category:nth-child(4){background:var(--dk-orange)}
.dk-designer { display:grid; grid-template-columns:1.05fr .95fr; background:var(--dk-ink); color:#fff; }
.dk-designer-media { min-height:700px; position:relative; overflow:hidden; }
.dk-designer-media img { width:100%; height:100%; object-fit:cover; object-position:center 20%; filter:saturate(.78) contrast(1.05); }
.dk-designer-copy { padding:clamp(70px,8vw,120px) 7vw; display:flex; flex-direction:column; justify-content:center; }
.dk-designer-copy .dk-eyebrow { color:var(--dk-lime); }
.dk-designer h2 em { color:var(--dk-lime); font-family:Georgia,serif; font-weight:400; }
.dk-designer-copy > p:not(.dk-eyebrow) { color:#c6d4d1; line-height:1.65; }
.dk-steps { list-style:none; padding:0; margin:24px 0 34px; border-top:1px solid rgba(255,255,255,.2); }
.dk-steps li { display:grid; grid-template-columns:38px 1fr; gap:16px; padding:18px 0; border-bottom:1px solid rgba(255,255,255,.2); }
.dk-steps span { color:var(--dk-lime); font-weight:900; }
.dk-steps b,.dk-steps small { display:block; }.dk-steps small{margin-top:4px;color:#93a9a5}
.dk-rfid { min-height:760px; display:grid; grid-template-columns:.95fr 1.05fr; background:#0d2d33; color:#fff; border-top:1px solid rgba(255,255,255,.12); }
.dk-rfid-copy { padding:clamp(70px,8vw,120px) 7vw; display:flex; flex-direction:column; justify-content:center; }
.dk-rfid-copy .dk-eyebrow { color:var(--dk-lime); }
.dk-rfid h2 em { color:var(--dk-lime); font-family:Georgia,serif; font-weight:400; }
.dk-rfid-copy > p:not(.dk-eyebrow) { color:#c6d4d1; line-height:1.65; }
.dk-rfid-actions { display:flex; align-items:center; flex-wrap:wrap; gap:24px; }
.dk-text-link { display:inline-flex; align-items:center; padding-bottom:4px; border-bottom:1px solid currentColor; color:#fff!important; font-size:.78rem; font-weight:850; }
.dk-rfid-note { display:block; margin-top:18px; color:#78918d; line-height:1.45; }
.dk-rfid-visual { min-height:650px; position:relative; overflow:hidden; background:#dce9e3; }
.dk-rfid-visual::before { content:"RFID"; position:absolute; left:-2%; bottom:-11%; color:rgba(8,124,58,.08); font-size:clamp(12rem,27vw,31rem); line-height:.8; font-weight:950; letter-spacing:-.1em; }
.dk-rfid-ring { position:absolute; display:block; border:2px solid rgba(16,39,45,.16); border-radius:50%; }
.dk-rfid-ring-one { width:68%; aspect-ratio:1; left:16%; top:13%; }
.dk-rfid-ring-two { width:46%; aspect-ratio:1; left:27%; top:24%; }
.dk-rfid-tag { position:absolute; width:38%; height:auto; filter:drop-shadow(0 28px 24px rgba(16,39,45,.28)); }
.dk-rfid-tag-front { left:17%; top:15%; transform:rotate(-12deg); z-index:2; }
.dk-rfid-tag-back { right:14%; bottom:13%; transform:rotate(12deg); z-index:1; }
.dk-rfid-chip { position:absolute; z-index:3; padding:12px 18px; border:2px solid var(--dk-ink); background:var(--dk-lime); color:var(--dk-ink); font-size:.7rem; letter-spacing:.13em; box-shadow:5px 5px 0 var(--dk-blue); }
.dk-rfid-chip-one { right:8%; top:10%; transform:rotate(5deg); }
.dk-rfid-chip-two { left:7%; bottom:10%; transform:rotate(-6deg); background:#fff; }
.dk-returns { padding:clamp(80px,9vw,140px) 7vw; background:var(--dk-lime); }
.dk-returns p:not(.dk-eyebrow) { max-width:700px; margin:30px 0; line-height:1.65; }

@media (max-width:1100px) {
  .dk-category-grid { grid-template-columns:repeat(2,1fr); }
  .dk-category:nth-child(2){border-right:0}.dk-category:nth-child(-n+2){border-bottom:1px solid var(--dk-ink)}
}
@media (max-width:900px) {
  .dk-hero,.dk-designer,.dk-rfid { grid-template-columns:1fr; }
  .product-info { padding-left:15px; padding-top:35px; }
  .dk-article-intro,.dk-article-specs { grid-template-columns:1fr; }
  .dk-article-facts { grid-template-columns:1fr; }
  .dk-article-fact { border-right:0; border-bottom:1px solid var(--dk-ink); }
  .dk-article-fact:last-child { border-bottom:0; }
  .dk-article-service { align-items:flex-start; flex-direction:column; }
}
@media (max-width:575px) {
  #logo .navbar-brand { width:158px; height:47px; }
  #shop-logo { width:158px; }
  .dk-footer-logo { height:110px; }
  .dk-hero-copy,.dk-designer-copy,.dk-rfid-copy,.dk-returns { padding:65px 20px; }
  .dk-hero h1 { font-size:clamp(3.3rem,18vw,5.2rem); }
  .dk-hero-media { min-height:460px; }
  .dk-category-grid { grid-template-columns:1fr; }
  .dk-category { min-height:260px; border-right:0; border-bottom:1px solid var(--dk-ink)!important; }
  .dk-category:last-child { border-bottom:0!important; }
  .dk-designer-media { min-height:500px; }
  .dk-rfid-visual { min-height:500px; }
  .dk-rfid-tag { width:43%; }
  .dk-rfid-actions { align-items:flex-start; flex-direction:column; }
  .product-wrapper { padding-inline:5px; }
  .productbox-title,.productbox .price_wrapper { padding-inline:11px; }
  .dk-article-intro-copy,.dk-article-story,.dk-article-specs-title,.dk-article-specs-list,.dk-article-service { padding:40px 20px; }
  .dk-article-intro-media { min-height:330px; }
  .dk-article-specs-list > div { grid-template-columns:1fr; gap:4px; }
}

/* Final homepage integration inside JTL */
body.dk-home-active #main-wrapper { width:100%; max-width:none; padding:0; }
body.dk-home-active #main-wrapper > .container,
body.dk-home-active #main-wrapper > .container-fluid { width:100%; max-width:none; margin:0; padding:0; }
body.dk-home-active .breadcrumb-container { display:none; }

#header-top-bar.dk-service-ready { min-height:34px; display:flex!important; background:var(--dk-ink); color:#dce9e6; }
#header-top-bar.dk-service-ready > .container-fluid { width:100%; max-width:none; padding:7px 4vw; display:flex!important; flex-direction:row!important; justify-content:space-between; align-items:center; }
.dk-service-item { font-size:.72rem; letter-spacing:.06em; }
#logo .navbar-brand { width:190px; height:68px; }
#shop-logo.dk-shop-logo { width:190px; height:auto; max-height:none; object-fit:contain; }
#mainNavigation .dk-designer-nav > .nav-link { color:var(--dk-green); }
#mainNavigation .nav-scrollbar-inner > .nav-item > .nav-link { padding-left:8px; padding-right:8px; }
#mainNavigation .nav-scrollbar-inner { column-gap:6px; }
#shop-nav-wish { display:none!important; }

.dk-hero { min-height:calc(100vh - 112px); padding:0; }
.dk-designer,.dk-rfid { padding:0; }
.dk-trust-list { list-style:none; margin:auto 0 0; padding:34px 0 0; display:grid; grid-template-columns:repeat(3,1fr); gap:20px; border-top:1px solid var(--dk-line); }
.dk-trust-list li { display:flex; flex-direction:column; gap:5px; }
.dk-trust-list b { font-size:.76rem; }
.dk-trust-list span { color:#607076; font-size:.69rem; line-height:1.35; }
.dk-hero h1,.dk-categories h2,.dk-category h3,.dk-products-head h2 { color:var(--dk-ink); }
.dk-designer h2,.dk-rfid h2,.dk-final-cta h2 { color:#fff; }
.dk-designer .dk-btn-primary,.dk-rfid .dk-btn-primary { color:var(--dk-ink)!important; }

.dk-design-chip { position:absolute; z-index:3; padding:12px 18px; border:2px solid var(--dk-ink); background:var(--dk-lime); color:var(--dk-ink); font-size:.7rem; letter-spacing:.13em; box-shadow:5px 5px 0 var(--dk-blue); }
.dk-design-chip-one { left:8%; top:9%; transform:rotate(-5deg); }
.dk-design-chip-two { right:7%; bottom:8%; transform:rotate(5deg); background:#fff; }
.dk-designer-note { margin-top:18px; color:#78918d; line-height:1.45; }
.dk-steps li > span { width:30px; height:30px; display:grid; place-items:center; border:1px solid var(--dk-lime); border-radius:50%; font-size:.7rem; }

.dk-products { padding:clamp(80px,9vw,140px) 5vw; background:#fff; }
.dk-products-head { margin-bottom:46px; display:flex; justify-content:space-between; align-items:flex-end; gap:40px; }
.dk-products-head h2 { margin:0; font-size:clamp(2.8rem,5vw,5.6rem); line-height:.9; letter-spacing:-.065em; font-weight:850; }
.dk-text-link-dark { color:var(--dk-ink)!important; }
.dk-product-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--dk-ink); border:1px solid var(--dk-ink); }
.dk-product-card { min-width:0; background:#fff; }
.dk-product-image { height:390px; padding:30px; position:relative; display:block; overflow:hidden; background:#f0eee8; }
.dk-product-image > span { position:absolute; left:16px; top:16px; z-index:2; padding:7px 10px; background:var(--dk-ink); color:#fff; border-radius:2px; font-size:.6rem; letter-spacing:.08em; text-transform:uppercase; font-weight:900; }
.dk-product-image img { width:100%; height:100%; display:block; object-fit:contain; transition:transform .3s ease; }
.dk-product-card:hover .dk-product-image img { transform:scale(1.035); }
.dk-product-info { min-height:175px; padding:20px; display:flex; flex-direction:column; border-top:1px solid var(--dk-ink); }
.dk-product-info > p { margin:0 0 8px; color:#6e7a7d; font-size:.69rem; }
.dk-product-info h3 { margin:0; font-size:1rem; line-height:1.35; }
.dk-product-info > div { margin-top:auto; padding-top:24px; display:flex; justify-content:space-between; align-items:center; gap:15px; }
.dk-product-info strong { font-size:1.05rem; }
.dk-product-info div a { font-size:.7rem; font-weight:850; }
.dk-price-note { margin:14px 0 0; color:#7b8688; font-size:.68rem; }

.dk-returns { padding:0; display:grid; grid-template-columns:1fr 1fr; border-block:1px solid var(--dk-ink); background:transparent; }
.dk-returns-copy { padding:clamp(80px,9vw,145px) 7vw; background:var(--dk-lime); }
.dk-returns-copy h2 em { color:var(--dk-ink); font-family:Georgia,serif; font-weight:400; }
.dk-returns-copy > p:not(.dk-eyebrow) { max-width:620px; margin:32px 0; font-size:1.05rem; line-height:1.65; }
.dk-returns-principles { padding:clamp(70px,8vw,120px) 7vw; background:var(--dk-paper-deep); }
.dk-returns-principles > div { padding:27px 0; display:grid; grid-template-columns:45px 1fr; column-gap:20px; border-top:1px solid var(--dk-ink); }
.dk-returns-principles span { grid-row:1 / span 2; font-size:.65rem; font-weight:900; }
.dk-returns-principles h3 { margin:0 0 9px; font-size:1.15rem; }
.dk-returns-principles p { margin:0; max-width:470px; color:#596a6d; line-height:1.5; font-size:.85rem; }

.dk-promise { padding:20px 4vw; display:flex; justify-content:space-around; gap:25px; overflow:hidden; background:var(--dk-blue); color:#fff; border-bottom:1px solid var(--dk-ink); font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; font-weight:900; white-space:nowrap; }
.dk-promise span::before { content:"✦"; margin-right:22px; color:var(--dk-lime); }
.dk-final-cta { padding:clamp(85px,10vw,165px) 6vw; background:var(--dk-ink); color:#fff; }
.dk-final-cta .dk-eyebrow { color:var(--dk-lime); }
.dk-final-cta h2 { margin:0; max-width:1100px; font-size:clamp(4rem,8.5vw,10rem); line-height:.9; letter-spacing:-.065em; font-weight:850; }
.dk-final-cta > div { margin-top:45px; display:flex; align-items:center; gap:28px; }
.dk-footer-brand-injected { padding:45px 0 35px; border-bottom:1px solid #304348; }
.dk-footer-brand-injected a { width:min(420px,80vw); height:150px; display:block; overflow:hidden; }
.dk-footer-brand-injected img { width:min(420px,80vw); max-width:none; height:auto; display:block; }
.dk-footer-brand-injected p { margin:14px 0 0; color:#809895; }
#footer a { color:#a9bbb8!important; }
#footer a:hover { color:#fff!important; }

@media (max-width:1180px) {
  .dk-product-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:900px) {
  .dk-returns { grid-template-columns:1fr; }
  .dk-products-head { display:block; }
  .dk-products-head .dk-text-link { margin-top:30px; }
}
@media (max-width:575px) {
  #header-top-bar.dk-service-ready > .container-fluid { padding-inline:18px; }
  #header-top-bar.dk-service-ready .dk-service-item:last-child { display:none; }
  #logo .navbar-brand { width:158px; height:58px; }
  #shop-logo.dk-shop-logo { width:158px; }
  .dk-trust-list { grid-template-columns:1fr; margin-top:50px; }
  .dk-products { padding:75px 18px; }
  .dk-product-grid { grid-template-columns:1fr; }
  .dk-product-image { height:360px; }
  .dk-returns-copy,.dk-returns-principles { padding:75px 22px; }
  .dk-promise { justify-content:flex-start; }
  .dk-final-cta { padding:85px 22px; }
  .dk-final-cta > div { align-items:flex-start; flex-direction:column; }
  .dk-footer-brand-injected a { height:110px; }
}
