/*
 * Da Vat Hy Lures — Phase 23B.7D
 * Catalogue / Products: Home Page Section Rhythm.
 *
 * Cards remain where they are semantically useful: the product grid.
 * The PAGE itself is built from broad horizontal sections.
 */

/* Shared Home-style section width. */
.q4-catalogue{
  --dvh23b7d-pad:max(28px,calc((100vw - 1500px)/2 + 28px));
  background:#f4efe5!important;
}

/* ---------- HERO: full-width brand anchor ---------- */
.q4-catalogue .dvh-public-hero--catalogue{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:32px 0 30px!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:
    radial-gradient(circle at 82% 10%,rgba(18,103,72,.22),transparent 28%),
    linear-gradient(118deg,#073d2f 0%,#0a4b38 58%,#355c3d 100%)!important;
}
.q4-catalogue .dvh-public-hero--catalogue>.wrap{
  width:min(1500px,88.5vw)!important;
  max-width:none!important;
  margin:0 auto!important;
}
.q4-catalogue .cataloguehero h1{
  font-size:clamp(2.55rem,5vw,4.35rem)!important;
  line-height:.96!important;
  margin-bottom:8px!important;
}
.q4-catalogue .cataloguehero p{
  max-width:760px!important;
  font-size:.94rem!important;
}
.q4-catalogue .cataloguehero .eyebrow{
  font-size:.72rem!important;
  letter-spacing:.10em!important;
}

/* ---------- CATEGORY BAND ---------- */
.q4-catalogue .public-category-nav{
  width:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-bottom:1px solid rgba(12,47,37,.10)!important;
  background:#f7f3e9!important;
}
.q4-catalogue .public-category-nav>.wrap{
  width:min(1500px,88.5vw)!important;
  max-width:none!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:190px minmax(0,1fr)!important;
  gap:18px!important;
  align-items:stretch!important;
  padding:14px 0!important;
}
.q4-catalogue .public-category-heading{
  display:flex!important;
  flex-direction:column;
  justify-content:center;
  gap:2px!important;
  padding-right:18px;
  border-right:1px solid rgba(12,47,37,.12);
}
.q4-catalogue .public-category-heading h2{
  font-size:1.18rem!important;
}
.q4-catalogue .category-all-link{
  margin-top:3px!important;
}
.q4-catalogue .public-category-chips{
  display:grid!important;
  grid-template-columns:repeat(7,minmax(0,1fr))!important;
  gap:0!important;
  border-top:1px solid rgba(12,47,37,.10);
  border-bottom:1px solid rgba(12,47,37,.10);
}
.q4-catalogue .public-category-chips a{
  min-height:58px!important;
  padding:9px 12px!important;
  border:0!important;
  border-right:1px solid rgba(12,47,37,.10)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
}
.q4-catalogue .public-category-chips a:last-child{
  border-right:0!important;
}
.q4-catalogue .public-category-chips a:hover{
  background:#fffdf8!important;
}
.q4-catalogue .public-category-chips span{
  font-size:.77rem!important;
}
.q4-catalogue .public-category-chips small{
  font-size:.64rem!important;
}

/* ---------- SEARCH / FILTER BAND ---------- */
.q4-catalogue .filtersection{
  width:100%!important;
  margin:0!important;
  padding:22px 0 24px!important;
  border:0!important;
  border-bottom:1px solid rgba(12,47,37,.10)!important;
  background:#fff!important;
}
.q4-catalogue .filtersection>.wrap{
  width:min(1500px,88.5vw)!important;
  max-width:none!important;
  margin:0 auto!important;
}
.q4-catalogue .filterheading{
  padding:0 0 12px!important;
  border-bottom:1px solid rgba(12,47,37,.10);
}
.q4-catalogue .filterheading strong{
  font-family:Georgia,serif;
  font-size:1.18rem!important;
}
.q4-catalogue .filtertoggle{
  min-height:38px!important;
  padding:8px 14px!important;
  border-radius:4px!important;
  box-shadow:none!important;
}
.q4-catalogue .filterpanel{
  margin-top:14px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.q4-catalogue .filtersearch{
  margin:0 0 12px!important;
}
.q4-catalogue .filtersearch input,
.q4-catalogue .filtergrid input,
.q4-catalogue .filtergrid select{
  min-height:41px!important;
  border-radius:5px!important;
  background:#fbfaf6!important;
}
.q4-catalogue .filtergrid{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:10px!important;
  margin:0!important;
}
.q4-catalogue .filteractions{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
  max-width:640px;
  margin:13px 0 0 auto!important;
  padding-top:13px;
  border-top:1px solid rgba(12,47,37,.08);
}
.q4-catalogue .filteractions .btn{
  border-radius:4px!important;
  box-shadow:none!important;
}

/* ---------- STOCKIST: informational band, not a card ---------- */
.q4-catalogue .dvh22-stockist-section{
  width:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-bottom:1px solid rgba(12,47,37,.10)!important;
  background:#f4efe5!important;
}
.q4-catalogue .dvh22-stockist-section>.wrap{
  width:min(1500px,88.5vw)!important;
  max-width:none!important;
  margin:0 auto!important;
}
.q4-catalogue .dvh22-stockist-card{
  min-height:70px!important;
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  padding:11px 0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.q4-catalogue .dvh22-stockist-icon{
  width:38px!important;
  height:38px!important;
  flex:0 0 38px!important;
  border-radius:50%!important;
}
.q4-catalogue .dvh22-stockist-icon svg{
  width:22px!important;
  height:22px!important;
}
.q4-catalogue .dvh22-stockist-card h2{
  display:inline;
  margin:0 7px!important;
  font-family:Inter,Arial,sans-serif!important;
  font-size:.91rem!important;
}
.q4-catalogue .dvh22-stockist-location{
  font-weight:500;
  color:#65736c;
}
.q4-catalogue .dvh22-stockist-card p{
  display:inline;
  font-size:.76rem!important;
}

/* ---------- PRODUCT GRID: cards belong here ---------- */
.q4-catalogue .catalogue{
  width:100%!important;
  margin:0!important;
  padding:26px 0 62px!important;
  background:#f7f4ec!important;
}
.q4-catalogue .catalogue>.wrap{
  width:min(1500px,88.5vw)!important;
  max-width:none!important;
  margin:0 auto!important;
}
.q4-catalogue .product{
  border-radius:8px!important;
  box-shadow:0 4px 12px rgba(14,45,36,.045)!important;
}
.q4-catalogue .product:hover{
  box-shadow:0 9px 22px rgba(14,45,36,.085)!important;
}
.q4-catalogue .media360-badge,
.q4-catalogue .badge{
  border-radius:3px!important;
}
.q4-catalogue .actions .btn{
  border-radius:4px!important;
}

/* Keep confirmation / empty states understated. */
.q4-catalogue .cart-confirmation.compact,
.q4-catalogue .empty{
  border-radius:6px!important;
  box-shadow:none!important;
}

/* ---------- RESPONSIVE ---------- */
@media(max-width:1100px){
  .q4-catalogue .public-category-nav>.wrap{
    grid-template-columns:1fr!important;
  }
  .q4-catalogue .public-category-heading{
    border-right:0;
    padding-right:0;
  }
  .q4-catalogue .public-category-chips{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
  .q4-catalogue .public-category-chips a:nth-child(4n){
    border-right:0!important;
  }
  .q4-catalogue .public-category-chips a:nth-child(n+5){
    border-top:1px solid rgba(12,47,37,.10)!important;
  }
  .q4-catalogue .filtergrid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}

@media(max-width:700px){
  .q4-catalogue{
    --dvh23b7d-pad:18px;
  }
  .q4-catalogue .dvh-public-hero--catalogue>.wrap,
  .q4-catalogue .public-category-nav>.wrap,
  .q4-catalogue .filtersection>.wrap,
  .q4-catalogue .dvh22-stockist-section>.wrap,
  .q4-catalogue .catalogue>.wrap{
    width:calc(100% - 32px)!important;
  }
  .q4-catalogue .dvh-public-hero--catalogue{
    padding:24px 0 22px!important;
  }
  .q4-catalogue .cataloguehero h1{
    font-size:clamp(2.15rem,11vw,3rem)!important;
  }
  .q4-catalogue .public-category-chips{
    display:flex!important;
    gap:6px!important;
    overflow-x:auto!important;
    border:0!important;
    padding-bottom:3px!important;
    scrollbar-width:none;
  }
  .q4-catalogue .public-category-chips::-webkit-scrollbar{display:none}
  .q4-catalogue .public-category-chips a{
    min-width:112px!important;
    min-height:45px!important;
    border:1px solid rgba(12,47,37,.12)!important;
    border-radius:5px!important;
    background:#fff!important;
  }
  .q4-catalogue .filtergrid{
    grid-template-columns:1fr 1fr!important;
  }
  .q4-catalogue .filteractions{
    grid-template-columns:1fr!important;
    max-width:none;
  }
  .q4-catalogue .dvh22-stockist-card{
    align-items:flex-start!important;
  }
  .q4-catalogue .dvh22-stockist-card h2,
  .q4-catalogue .dvh22-stockist-card p{
    display:block!important;
    margin:2px 0!important;
  }
}

@media(max-width:480px){
  .q4-catalogue .filtergrid{
    grid-template-columns:1fr!important;
  }
}
