/* DNLPRO TOOLS 1.1.0 — mobile-first layout based on the user's reference.
   Loaded after original store.css. Does not alter checkout templates or WC data. */
:root {
  --dnl-green: #079f32;
  --dnl-dark: #067a29;
  --dnl-ink: #17211b;
  --dnl-soft: #e9f8ed;
  --dnl-line: #dce9df;
  --dnl-muted: #525d55;
}

/* White header, green top accent, authentic user-supplied horizontal logo. */
.dnl-topline { display: none !important; }
.dnl-header {
  position: relative;
  z-index: 30;
  background: #fff;
  border-top: 4px solid var(--dnl-green);
  border-bottom: 3px solid var(--dnl-green);
}
.dnl-header-grid {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 8px 10px;
  align-items: center;
  padding-block: 10px 12px;
}
.dnl-brand { display: inline-flex; align-items: center; min-width: 0; }
.dnl-brand .dnl-logo-image {
  display: block;
  width: clamp(174px, 58vw, 265px);
  max-width: 100%;
  height: auto;
  object-fit: contain;
  object-position: left center;
}
.dnl-header-actions { gap: 5px; }
.dnl-header-actions>a { min-width: 45px; min-height: 45px; gap: 4px; }
.dnl-header-actions .dnl-account-action { display: none; }
.dnl-header-actions .dnl-cart-action .dnl-icon { width: 29px; height: 29px; stroke-width: 1.8; }
.dnl-cart-action .dnl-cart-count {
  background: #0aaa3a;
  color: #fff;
  position: absolute;
  top: 0;
  right: -2px;
  min-width: 20px;
  height: 20px;
  font-size: 11px;
  font-weight: 800;
}
.dnl-search {
  grid-column: 1 / -1;
  grid-row: 2;
  display: flex;
  align-items: center;
  gap: 0;
  min-height: 56px;
  background: #fdfefa;
  border: 2px solid #09a438;
  border-radius: 17px;
  box-shadow: 0 3px 0 #d2ebd9;
  overflow: hidden;
  padding: 0;
}
.dnl-search .dnl-search-icon { display: flex; flex: none; align-items: center; color: #17211b; padding-left: 14px; }
.dnl-search .dnl-search-icon .dnl-icon { width: 23px; height: 23px; }
.dnl-search input[type=search] {
  min-width: 0;
  width: 100%;
  flex: 1;
  background: transparent;
  border: 0 !important;
  box-shadow: none !important;
  color: #17211b;
  font-size: 16px;
  padding: 13px 11px !important;
  min-height: 52px;
}
.dnl-search input[type=search]::placeholder { color: #737c75; opacity: 1; }
.dnl-search button {
  width: auto;
  min-width: 88px;
  min-height: 54px;
  height: auto;
  flex: none;
  margin: 0;
  padding: 10px 15px;
  border: 0;
  border-left: 1px solid #0aa638;
  border-radius: 0 13px 13px 0;
  background: var(--dnl-green);
  color: #fff;
  font-size: 14px;
  font-weight: 900;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.dnl-search button:hover { background: var(--dnl-dark); }
.dnl-main-nav { display: none; }

/* Film comes immediately after the search: no giant hero and no section numbering. */
.dnl-home--wooster-layout { background: #f1f0eb; }
.dnl-showcase { background: #f1f0eb; padding: 8px 0 26px; }
.dnl-home--wooster-layout .dnl-section-index,
.dnl-home--wooster-layout .dnl-brand-strip { display: none !important; }
.dnl-showcase .dnl-wrap { max-width: 1140px; }
.dnl-showcase .dnl-feature {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  background: transparent;
  border: 0;
  border-radius: 0;
  overflow: visible;
  padding: 0;
  margin: 0 0 24px;
  align-items: stretch;
}
.dnl-feature-video { min-width: 0; }
.dnl-feature-video > .dnl-video,
.dnl-feature-video > .dnl-feature-photo-fallback,
.dnl-feature-video > .dnl-action-art {
  display: block;
  width: 100%;
  border-radius: 21px;
  overflow: hidden;
  background: #1a1b1c;
}
.dnl-feature-video > .dnl-video { color: #fff; }
.dnl-feature-video .dnl-video-stage { background: #191a1b; aspect-ratio: 16 / 9; }
.dnl-feature-video .dnl-video-poster { opacity: .16; object-fit: cover; }
.dnl-feature-video .dnl-video-gate { min-height: 0; gap: 10px; color: #fff; }
.dnl-feature-video .dnl-video-gate:before {
  content: '';
  position: absolute;
  top: 10px;
  right: 10px;
  width: 112px;
  height: 39px;
  border-radius: 8px;
  border: 2px solid #fff;
  background: #fff url('dnlpro-logo-poziome.webp') center / 102px auto no-repeat;
}
.dnl-video-gate .dnl-eyebrow { color: #a3e8b4; }
.dnl-video-gate h3 { color: #fff; }
.dnl-video-gate p { color: #dfede1; max-width: 370px; }
.dnl-video-gate .dnl-button { min-height: 47px; }
.dnl-feature-video .dnl-video-tools { background: #191a1b; padding: 5px 14px; }
.dnl-feature-video .dnl-video-tools a,
.dnl-feature-video .dnl-video-tools button { color: #dcffe4; }
.dnl-feature-video .dnl-video-help { color: #adc2b3; background: #191a1b; font-size: 10px !important; padding-top: 3px; }
.dnl-video--portrait .dnl-video-stage { aspect-ratio: 9 / 16; max-height: 560px; max-width: 340px; margin-inline: auto; }
.dnl-feature-photo-fallback { position: relative; aspect-ratio: 16 / 9; }
.dnl-feature-photo-fallback img { width: 100%; height: 100%; object-fit: contain; }
.dnl-feature-photo-fallback span { position: absolute; bottom: 12px; left: 12px; background: var(--dnl-green); color: #fff; padding: 8px 11px; border-radius: 7px; font-size: 12px; font-weight: 800; }
.dnl-feature-copy {
  min-width: 0;
  background: #fff;
  padding: 22px 18px;
  border-radius: 21px;
  overflow: hidden;
}
.dnl-feature-copy > .dnl-eyebrow { margin: 0 0 14px; color: #24352b; font-size: 10px; letter-spacing: 1.7px; }
.dnl-feature-product-main { display: grid; grid-template-columns: 38% minmax(0,1fr); align-items: center; gap: 17px; }
.dnl-feature-image { display: grid; width: 100%; min-width: 0; align-items: center; }
.dnl-feature-image img { width: 100%; max-width: none; max-height: 235px; height: auto; object-fit: contain; }
.dnl-feature-sample-photo { display: block; width: 100%; max-height: 245px; object-fit: contain; }
.dnl-feature-detail { min-width: 0; }
.dnl-feature-detail h3 { color: #18201a; font-size: clamp(19px, 4.8vw, 27px); line-height: 1.15; letter-spacing: -.7px; margin: 0 0 10px; font-weight: 850; overflow-wrap: anywhere; }
.dnl-feature-detail p { font-size: 14px !important; line-height: 1.55 !important; color: #49544b; margin: 0 0 11px; overflow-wrap: anywhere; }
.dnl-feature-detail .dnl-price { font-size: 24px; font-weight: 900; color: #151d17; margin: 13px 0; }
.dnl-feature-detail .dnl-button { margin-top: 3px; min-height: 44px; padding: 11px 13px; font-size: 13px; border-radius: 11px; gap: 7px; }
.dnl-feature-detail .dnl-button .dnl-icon { width: 17px; }
.dnl-next-video-heading { margin: 20px 0 17px; }
.dnl-next-video-heading .dnl-eyebrow { font-size: 11px; color: #29392d; }
.dnl-next-video-heading h2 { font-size: clamp(25px, 6vw, 36px); line-height: 1.2; letter-spacing: -.7px; }

/* When the catalogue is empty, show branded video/product placeholders (not fake prices). */
.dnl-action-art {
  min-height: 235px;
  aspect-ratio: 16 / 9;
  display: grid;
  align-items: center;
  justify-items: center;
  background: #1b1c1d;
  padding: 30px 20px;
  border-radius: 21px;
  gap: 20px;
}
.dnl-action-art::before,
.dnl-action-art::after { display: none; }
.dnl-action-brand { display: block; width: min(56%, 230px); justify-self: end; align-self: start; background: white; border-radius: 8px; padding: 5px; }
.dnl-action-brand .dnl-logo-image { width: 100%; height: auto; object-fit: contain; }
.dnl-demo-play { align-self: center; justify-self: center; gap: 9px; }
.dnl-demo-play .dnl-icon { width: 17px; }
.dnl-video-caption { margin: 8px 0 0; font-size: 12px; line-height: 1.55; color: #4c5950; }

/* Catalog uses clear rounded product cards and green CTAs. */
.dnl-catalog { background: #f6f8f5; border-block: 1px solid var(--dnl-line); }
.dnl-section { padding-block: 36px; }
.dnl-section-heading { margin-bottom: 19px; }
.dnl-section-heading h2 { color: #17211b; font-size: clamp(27px,5vw,38px); line-height: 1.1; }
.dnl-section-heading .dnl-eyebrow { margin-bottom: 7px; }
.dnl-product-card { border-radius: 17px; background: white; overflow: hidden; }
.dnl-product-photo { background: #fff; }
.dnl-product-copy h3 { font-size: 14px; }
.dnl-product-link { color: var(--dnl-dark); }
.dnl-button, .dnl-product-link { font-weight: 800; }
.dnl-button { background: var(--dnl-green); border-radius: 11px; }
.dnl-button:hover { background: var(--dnl-dark); }
.dnl-social { border-radius: 20px; background: #14231a; }
.dnl-footer { background: #f6f9f6; }
.dnl-footer .dnl-logo-image { width: min(260px, 100%); height: auto; max-height: none; }

/* Bottom bar inspired by the reference: bright-white surface, green active item. */
.dnl-mobile-nav {
  grid-template-columns: repeat(5, minmax(0,1fr));
  padding: 8px max(6px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));
  border-top: 1px solid #d5e0d7;
  border-radius: 21px 21px 0 0;
  box-shadow: 0 -3px 14px #17211b0d;
  background: white;
  gap: 2px;
}
.dnl-mobile-nav > a {
  color: #647068;
  min-width: 0;
  min-height: 54px;
  border: 2px solid transparent;
  border-radius: 13px;
  gap: 4px;
  padding: 4px 1px;
  font-size: 11px;
  font-weight: 750;
  text-align: center;
  white-space: nowrap;
}
.dnl-mobile-nav .dnl-icon { width: 23px; height: 23px; }
.dnl-mobile-nav > a.is-active {
  color: #14331c;
  border-color: #15aa43;
  background: #e6f9ec;
}
.dnl-mobile-nav > a.dnl-mobile-highlight {
  color: white;
  background: #079f32;
  border-color: #079f32;
  border-radius: 14px;
}
.dnl-mobile-nav > a.dnl-mobile-highlight .dnl-icon { width: 26px; height: 26px; }
.dnl-mobile-nav .dnl-cart-count { background: var(--dnl-green); color: white; }
.dnlpro-shell { padding-bottom: calc(84px + env(safe-area-inset-bottom)); }

/* For Woo blocks and other pages preserve a usable checkout. */
@media (max-width: 599px) {
  .dnl-header .dnl-wrap { width: min(100% - 30px,1240px); }
  .dnl-home .dnl-wrap { width: min(100% - 28px,1240px); }
}
@media (max-width: 380px) {
  .dnl-brand .dnl-logo-image { width: clamp(158px,55vw,204px); }
  .dnl-search button { min-width: 76px; padding: 9px 10px; font-size: 12px; }
  .dnl-feature-product-main { grid-template-columns: 34% minmax(0,1fr); gap: 10px; }
  .dnl-feature-copy { padding: 18px 13px; }
  .dnl-feature-detail h3 { font-size: 18px; }
  .dnl-feature-detail .dnl-button { padding-inline: 8px; font-size: 12px; }
  .dnl-mobile-nav>a { font-size: 10px; }
}
@media (min-width: 600px) {
  .dnl-header-grid { gap: 13px 24px; }
  .dnl-brand .dnl-logo-image { width: 267px; }
  .dnl-header-actions .dnl-account-action { display: flex; }
  .dnl-feature-copy { padding: 25px; }
  .dnl-feature-product-main { grid-template-columns: minmax(130px,37%) 1fr; gap: 27px; }
}
@media (min-width: 960px) {
  .dnl-header-grid {
    grid-template-columns: 278px minmax(0,1fr) auto;
    gap: 26px;
    padding-block: 16px;
  }
  .dnl-search { grid-column: auto; grid-row: auto; }
  .dnl-brand .dnl-logo-image { width: 270px; }
  .dnl-main-nav { display: flex; border-top: 1px solid #eef2ed; padding-top: 8px; padding-bottom: 12px; gap: 28px; }
  .dnl-main-nav>a { min-height: 28px; }
  .dnl-showcase { padding-top: 25px; padding-bottom: 45px; }
  .dnl-showcase .dnl-feature {
    grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr);
    align-items: center;
    gap: 25px;
    margin-bottom: 28px;
  }
  .dnl-feature-copy { padding: 29px; }
  .dnl-feature-product-main { grid-template-columns: 38% minmax(0,1fr); gap: 18px; }
  .dnl-feature-detail h3 { font-size: clamp(23px,2.5vw,33px); }
  .dnl-action-art { min-height: 310px; }
  .dnl-mobile-nav { display: none; }
  .dnlpro-shell { padding-bottom: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .dnl-button, .dnl-product-card { transition: none; }
}
