/*
 * The Cosmic Studio — Shop V38 Luxury Commerce UI
 * Isolated to shop-v38-page. No backend, AJAX or catalogue logic changes.
 */

html.shop-v38-document{
  max-width:100%;
  overflow-x:hidden!important;
  scroll-behavior:smooth;
}

html.shop-v38-document body.shop-v38-page{
  --shop-bg:#FAFAF8;
  --shop-card:#FFFFFF;
  --shop-primary:#12372A;
  --shop-primary-dark:#0c291f;
  --shop-accent:#B68D40;
  --shop-text:#222222;
  --shop-muted:#6f746f;
  --shop-border:#EAEAEA;
  --shop-soft-border:#E8E8E8;
  --shop-radius:18px;
  --shop-transition:250ms ease;
  max-width:100%;
  overflow-x:hidden!important;
  background:var(--shop-bg)!important;
  color:var(--shop-text);
  font-family:"Inter",sans-serif;
}

html.shop-v38-document body.shop-v38-page *{
  box-sizing:border-box;
  scroll-margin-top:calc(var(--shop-sticky-top,154px) + 14px);
}

body.shop-v38-page .shell{
  width:min(100% - 40px,1460px);
  margin-inline:auto;
}

body.shop-v38-page h1,
body.shop-v38-page h2,
body.shop-v38-page h3{
  font-family:"Playfair Display","Cormorant Garamond",serif;
}

/* Compact page heading: 120–140px only. */
body.shop-v38-page .shop-compact-header{
  min-height:132px;
  display:flex;
  align-items:center;
  padding:18px 0 20px!important;
  background:linear-gradient(180deg,#fff 0%,#fbfbf8 100%);
  border-bottom:1px solid var(--shop-border);
}

body.shop-v38-page .shop-compact-header-inner{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:9px;
}

body.shop-v38-page .shop-breadcrumb{
  display:flex;
  align-items:center;
  gap:8px;
  color:#7b807c;
  font-size:12px;
  line-height:1;
}

body.shop-v38-page .shop-breadcrumb a{
  color:var(--shop-primary);
  font-weight:700;
  text-decoration:none;
}

body.shop-v38-page .shop-title-row{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
}

body.shop-v38-page .shop-title-row h1{
  margin:0!important;
  color:var(--shop-primary)!important;
  font-size:clamp(38px,3.5vw,52px)!important;
  font-weight:600!important;
  line-height:.96!important;
  letter-spacing:-.025em;
}

body.shop-v38-page .shop-title-row p{
  max-width:620px;
  margin:7px 0 0!important;
  color:#686e69;
  font-size:14px!important;
  line-height:1.5!important;
}

body.shop-v38-page .shop-header-count{
  display:flex;
  align-items:baseline;
  gap:8px;
  flex:0 0 auto;
  padding-bottom:3px;
  color:var(--shop-primary);
}

body.shop-v38-page .shop-header-count strong{
  font-family:"Playfair Display",serif;
  font-size:30px;
  font-weight:650;
  line-height:1;
}

body.shop-v38-page .shop-header-count span{
  color:#747a76;
  font-size:11px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}

/* Sticky category pills. */
body.shop-v38-page .shop-category-strip{
  position:sticky!important;
  top:var(--shop-header-height,90px)!important;
  z-index:80!important;
  padding:10px 0!important;
  background:rgba(250,250,248,.96)!important;
  border-bottom:1px solid var(--shop-border)!important;
  box-shadow:0 8px 24px rgba(18,55,42,.035)!important;
  backdrop-filter:blur(18px);
}

body.shop-v38-page .category-strip-row{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}

body.shop-v38-page .chip-row{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  flex:1 1 auto;
  min-width:0;
  overflow-x:auto!important;
  scrollbar-width:none;
  overscroll-behavior-inline:contain;
}

body.shop-v38-page .chip-row::-webkit-scrollbar{display:none}

body.shop-v38-page .chip{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  height:40px!important;
  min-height:40px!important;
  margin:0!important;
  padding:0 20px!important;
  border:1px solid #e3e5e3!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#26322d!important;
  font-size:13px!important;
  font-weight:750!important;
  line-height:1!important;
  text-decoration:none!important;
  white-space:nowrap;
  transition:background var(--shop-transition),border-color var(--shop-transition),color var(--shop-transition),transform var(--shop-transition)!important;
}

body.shop-v38-page .chip:hover{
  background:#f8efdc!important;
  border-color:#e7d1a5!important;
  color:var(--shop-primary)!important;
  transform:translateY(-1px);
}

body.shop-v38-page .chip.active,
body.shop-v38-page .chip[aria-current="true"]{
  background:var(--shop-primary)!important;
  border-color:var(--shop-primary)!important;
  color:#fff!important;
  box-shadow:0 5px 14px rgba(18,55,42,.13)!important;
}

body.shop-v38-page .mobile-shop-actions{display:none}

/* Top toolbar: count / search / sort on one compact row. */
body.shop-v38-page .shop-control-section{
  padding:18px 0 0!important;
  background:var(--shop-bg);
}

body.shop-v38-page .shop-control-bar{
  display:grid!important;
  grid-template-columns:minmax(110px,.55fr) minmax(300px,1.45fr) minmax(220px,.72fr)!important;
  align-items:center!important;
  gap:16px!important;
  min-height:64px!important;
  padding:10px 12px!important;
  border:1px solid var(--shop-border)!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 7px 24px rgba(18,55,42,.035)!important;
}

body.shop-v38-page .toolbar-product-count{
  display:flex;
  align-items:baseline;
  gap:6px;
  padding-left:8px;
  color:var(--shop-primary);
  white-space:nowrap;
}

body.shop-v38-page .toolbar-product-count strong{
  font-size:18px;
  font-weight:800;
}

body.shop-v38-page .toolbar-product-count span{
  color:#757b77;
  font-size:12px;
  font-weight:650;
}

body.shop-v38-page .shop-search-form{
  position:relative;
  display:flex;
  align-items:center;
  min-width:0;
  height:42px;
  margin:0!important;
  border:1px solid #dedfdd;
  border-radius:12px;
  background:#fafaf8;
  overflow:hidden;
  transition:border-color var(--shop-transition),box-shadow var(--shop-transition),background var(--shop-transition);
}

body.shop-v38-page .shop-search-form:focus-within{
  border-color:rgba(182,141,64,.8);
  background:#fff;
  box-shadow:0 0 0 3px rgba(182,141,64,.1);
}

body.shop-v38-page .shop-search-icon{
  display:grid;
  place-items:center;
  flex:0 0 42px;
  color:var(--shop-primary);
  font-size:18px;
}

body.shop-v38-page .shop-search-form input[type="search"]{
  width:100%!important;
  min-width:0!important;
  height:40px!important;
  min-height:40px!important;
  margin:0!important;
  padding:0 8px 0 0!important;
  border:0!important;
  outline:0!important;
  background:transparent!important;
  color:var(--shop-text)!important;
  font-size:13px!important;
  box-shadow:none!important;
}

body.shop-v38-page .shop-search-form input::placeholder{color:#979c98}

body.shop-v38-page .shop-search-form button{
  flex:0 0 auto;
  height:34px!important;
  min-height:34px!important;
  margin-right:4px!important;
  padding:0 13px!important;
  border:0!important;
  border-radius:9px!important;
  background:var(--shop-primary)!important;
  color:#fff!important;
  font-size:11px!important;
  font-weight:750!important;
  transition:background var(--shop-transition)!important;
}

body.shop-v38-page .shop-search-form button:hover{background:var(--shop-accent)!important}

body.shop-v38-page .sort-form{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:9px!important;
  margin:0!important;
}

body.shop-v38-page .sort-form label{
  flex:0 0 auto;
  color:#6c726e;
  font-size:11px;
  font-weight:700;
  white-space:nowrap;
}

body.shop-v38-page .sort-form select,
body.shop-v38-page .mobile-sort-form select{
  height:42px!important;
  min-height:42px!important;
  margin:0!important;
  padding:0 38px 0 13px!important;
  border:1px solid #dedfdd!important;
  border-radius:12px!important;
  background-color:#fafaf8!important;
  color:var(--shop-primary)!important;
  font-size:12px!important;
  font-weight:750!important;
  outline:0!important;
  box-shadow:none!important;
  cursor:pointer;
  transition:border-color var(--shop-transition),box-shadow var(--shop-transition)!important;
}

body.shop-v38-page .sort-form select:focus,
body.shop-v38-page .mobile-sort-form select:focus{
  border-color:var(--shop-accent)!important;
  box-shadow:0 0 0 3px rgba(182,141,64,.1)!important;
}

/* Main layout and sticky filter. */
body.shop-v38-page .shop-layout-v37{
  display:grid!important;
  grid-template-columns:252px minmax(0,1fr)!important;
  align-items:start!important;
  gap:24px!important;
  width:min(100% - 40px,1460px)!important;
  min-height:0!important;
  max-height:none!important;
  padding:20px 0 80px!important;
  overflow:visible!important;
}

body.shop-v38-page .shop-filter-column{
  position:sticky!important;
  top:var(--shop-sticky-top,154px)!important;
  align-self:start!important;
  min-width:0!important;
  max-height:calc(100dvh - var(--shop-sticky-top,154px) - 14px)!important;
  z-index:35!important;
}

body.shop-v38-page .filter-panel-v37{
  display:flex!important;
  flex-direction:column!important;
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  min-height:0!important;
  max-height:inherit!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  transform:none!important;
  visibility:visible!important;
  pointer-events:auto!important;
  border:1px solid var(--shop-soft-border)!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 10px 32px rgba(18,55,42,.05)!important;
}

body.shop-v38-page .filter-panel-title{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  flex:0 0 auto!important;
  min-height:64px!important;
  padding:13px 15px!important;
  border-bottom:1px solid var(--shop-border)!important;
  background:#fff!important;
}

body.shop-v38-page .filter-panel-title h2{
  margin:1px 0 0!important;
  color:var(--shop-primary)!important;
  font-size:24px!important;
  font-weight:600!important;
  line-height:1!important;
}

body.shop-v38-page .filter-eyebrow{
  display:block;
  color:var(--shop-accent);
  font-size:9px;
  font-weight:800;
  letter-spacing:.16em;
  line-height:1;
  text-transform:uppercase;
}

body.shop-v38-page .filter-title-actions{
  display:flex;
  align-items:center;
  gap:9px;
}

body.shop-v38-page .filter-title-actions>a{
  color:#7e6228;
  font-size:11px;
  font-weight:750;
  text-decoration:none;
}

body.shop-v38-page .drawer-close{
  display:none;
  width:34px!important;
  height:34px!important;
  min-height:34px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid var(--shop-border)!important;
  border-radius:10px!important;
  background:#fff!important;
  color:var(--shop-primary)!important;
  font-size:22px!important;
  line-height:1!important;
}

body.shop-v38-page .filter-panel-body{
  min-height:0!important;
  padding:10px!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  scrollbar-width:thin;
  scrollbar-color:#d3d7d4 transparent;
  overscroll-behavior:contain;
}

body.shop-v38-page .filter-panel-body::-webkit-scrollbar{width:5px}
body.shop-v38-page .filter-panel-body::-webkit-scrollbar-thumb{background:#d3d7d4;border-radius:999px}

body.shop-v38-page .filter-accordion{
  margin:0 0 8px!important;
  border:1px solid var(--shop-border)!important;
  border-radius:13px!important;
  background:#fff!important;
  overflow:hidden!important;
  transition:border-color var(--shop-transition),background var(--shop-transition),box-shadow var(--shop-transition)!important;
}

body.shop-v38-page .filter-accordion:last-child{margin-bottom:0!important}

body.shop-v38-page .filter-accordion.is-active{
  border-color:rgba(182,141,64,.45)!important;
  background:#fffdf8!important;
  box-shadow:inset 3px 0 0 var(--shop-accent)!important;
}

body.shop-v38-page .filter-accordion summary{
  position:relative;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  min-height:44px!important;
  padding:0 38px 0 12px!important;
  cursor:pointer;
  list-style:none!important;
  color:var(--shop-primary)!important;
  font-size:12px!important;
  font-weight:800!important;
  user-select:none;
}

body.shop-v38-page .filter-accordion summary::-webkit-details-marker{display:none}

body.shop-v38-page .filter-accordion summary small{
  color:#9a8560;
  font-size:9px;
  font-weight:750;
  letter-spacing:.04em;
}

body.shop-v38-page .filter-accordion summary::after{
  content:"+";
  position:absolute;
  right:12px;
  top:50%;
  transform:translateY(-50%);
  color:#7a827e;
  font-size:17px;
  font-weight:500;
  transition:transform var(--shop-transition),color var(--shop-transition);
}

body.shop-v38-page .filter-accordion[open] summary::after{
  content:"−";
  color:var(--shop-accent);
}

body.shop-v38-page details.filter-accordion:not([open])>.filter-accordion-content{display:block}

body.shop-v38-page .filter-accordion-content{
  max-height:520px;
  padding:0 8px 9px!important;
  overflow:hidden;
  opacity:1;
  transition:max-height var(--shop-transition),opacity var(--shop-transition),padding var(--shop-transition)!important;
}

body.shop-v38-page .filter-accordion:not([open]) .filter-accordion-content{
  max-height:0;
  padding-top:0!important;
  padding-bottom:0!important;
  opacity:0;
}

body.shop-v38-page .filter-check{
  position:relative;
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  min-height:34px!important;
  margin:1px 0!important;
  padding:5px 6px!important;
  border:1px solid transparent!important;
  border-radius:9px!important;
  color:#39433e!important;
  font-size:11.5px!important;
  line-height:1.25!important;
  cursor:pointer;
  transition:background var(--shop-transition),border-color var(--shop-transition),color var(--shop-transition)!important;
}

body.shop-v38-page .filter-check:hover{
  border-color:#eee7d8!important;
  background:#fbf7ed!important;
  color:var(--shop-primary)!important;
}

body.shop-v38-page .filter-check input{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
}

body.shop-v38-page .custom-check{
  position:relative;
  flex:0 0 17px;
  width:17px;
  height:17px;
  border:1.5px solid #c9cecb;
  border-radius:5px;
  background:#fff;
  transition:background var(--shop-transition),border-color var(--shop-transition),box-shadow var(--shop-transition);
}

body.shop-v38-page .custom-check.is-radio{border-radius:50%}

body.shop-v38-page .filter-check input:checked+.custom-check{
  border-color:var(--shop-primary);
  background:var(--shop-primary);
  box-shadow:0 0 0 3px rgba(18,55,42,.08);
}

body.shop-v38-page .filter-check input:checked+.custom-check::after{
  content:"";
  position:absolute;
  left:5px;
  top:2px;
  width:4px;
  height:8px;
  border:solid #fff;
  border-width:0 2px 2px 0;
  transform:rotate(45deg);
}

body.shop-v38-page .filter-check input:checked+.custom-check.is-radio::after{
  left:4px;
  top:4px;
  width:7px;
  height:7px;
  border:0;
  border-radius:50%;
  background:#fff;
  transform:none;
}

body.shop-v38-page .filter-option-label{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  width:100%;
  min-width:0;
}

body.shop-v38-page .filter-option-label small{
  margin-left:auto;
  color:#9ba09c;
  font-size:9px;
  font-weight:750;
}

body.shop-v38-page .range-row{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
}

body.shop-v38-page .range-row label{min-width:0}

body.shop-v38-page .range-row label>span{
  display:block;
  margin:0 0 5px;
  color:#858b87;
  font-size:9px;
  font-weight:700;
}

body.shop-v38-page .range-row input{
  width:100%!important;
  height:38px!important;
  min-height:38px!important;
  margin:0!important;
  padding:0 9px!important;
  border:1px solid #dedfdd!important;
  border-radius:10px!important;
  background:#fafaf8!important;
  color:var(--shop-text)!important;
  font-size:11px!important;
  outline:0!important;
  box-shadow:none!important;
}

body.shop-v38-page .range-row input:focus{
  border-color:var(--shop-accent)!important;
  box-shadow:0 0 0 3px rgba(182,141,64,.1)!important;
}

body.shop-v38-page .filter-panel-actions{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
  flex:0 0 auto!important;
  padding:10px!important;
  border-top:1px solid var(--shop-border)!important;
  background:#fff!important;
}

body.shop-v38-page .filter-panel-actions .btn-luxe,
body.shop-v38-page .filter-panel-actions .btn-line{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  height:40px!important;
  min-height:40px!important;
  margin:0!important;
  padding:0 10px!important;
  border-radius:12px!important;
  font-size:10px!important;
  font-weight:800!important;
  text-decoration:none!important;
}

body.shop-v38-page .filter-panel-actions .btn-luxe{
  border:1px solid var(--shop-primary)!important;
  background:var(--shop-primary)!important;
  color:#fff!important;
}

body.shop-v38-page .filter-panel-actions .btn-luxe:hover{
  border-color:var(--shop-accent)!important;
  background:var(--shop-accent)!important;
}

body.shop-v38-page .filter-panel-actions .btn-line{
  border:1px solid #dfe1df!important;
  background:#fff!important;
  color:var(--shop-primary)!important;
}

/* Result area and active filters. */
body.shop-v38-page .shop-main{
  display:block!important;
  min-width:0!important;
  width:100%!important;
  min-height:520px!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
}

body.shop-v38-page .shop-results-anchor{
  width:1px;
  height:1px;
  outline:0;
}

body.shop-v38-page .active-filter-row{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  min-height:38px!important;
  margin:0 0 12px!important;
  padding:5px 7px!important;
  border:1px solid transparent!important;
  border-radius:12px!important;
  background:transparent!important;
  color:#777e79!important;
  font-size:11px!important;
  font-weight:650!important;
}

body.shop-v38-page .active-filter-row.has-filters{
  border-color:var(--shop-border)!important;
  background:#fff!important;
}

body.shop-v38-page .active-filter-chips{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  flex-wrap:wrap!important;
  min-width:0;
}

body.shop-v38-page .active-filter-chip{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  min-height:28px!important;
  padding:4px 9px!important;
  border:1px solid #e7dac0!important;
  border-radius:999px!important;
  background:#fffaf0!important;
  color:#6f551f!important;
  font-size:10px!important;
  font-weight:750!important;
  text-decoration:none!important;
  transition:background var(--shop-transition),border-color var(--shop-transition)!important;
}

body.shop-v38-page .active-filter-chip:hover{
  border-color:var(--shop-accent)!important;
  background:#f8edda!important;
}

body.shop-v38-page .active-filter-chip span{font-size:14px;line-height:1}

body.shop-v38-page .clear-filter-link{
  flex:0 0 auto;
  color:#8a6723!important;
  font-size:10px!important;
  font-weight:800!important;
  text-decoration:underline!important;
  text-underline-offset:3px;
}

body.shop-v38-page .shop-inline-message{
  margin:0 0 12px!important;
  padding:10px 12px!important;
  border:1px solid #eed2ce!important;
  border-radius:12px!important;
  background:#fff5f3!important;
  color:#943c32!important;
  font-size:12px!important;
  font-weight:650!important;
}

body.shop-v38-page .shop-results-area{
  display:block!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  transition:opacity 180ms ease!important;
}

/* 4 / 3 / 2 product grid. */
body.shop-v38-page .product-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  align-items:stretch!important;
  gap:20px!important;
  margin:0!important;
  padding:0!important;
}

/* Compact luxury product card. */
body.shop-v38-page .product-card--shop-luxe{
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  opacity:1!important;
  filter:none!important;
  transform:none!important;
  border:1px solid #ECECEC!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 4px 14px rgba(18,55,42,.035)!important;
  transition:transform var(--shop-transition),box-shadow var(--shop-transition),border-color var(--shop-transition)!important;
}

body.shop-v38-page .product-card--shop-luxe:hover{
  transform:translateY(-5px)!important;
  border-color:#e0d3b8!important;
  box-shadow:0 14px 32px rgba(18,55,42,.09)!important;
}

body.shop-v38-page .product-card--shop-luxe .product-media{
  position:relative!important;
  display:block!important;
  width:min(calc(100% - 20px),220px)!important;
  aspect-ratio:1/1!important;
  height:auto!important;
  min-height:0!important;
  margin:10px auto 0!important;
  padding:0!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:14px!important;
  background:#f6f5f1!important;
}

body.shop-v38-page .product-card--shop-luxe .product-image-link{
  position:relative!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  overflow:hidden!important;
  border-radius:inherit!important;
  background:#f6f5f1!important;
}

body.shop-v38-page .product-card--shop-luxe .product-image-link img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:7px!important;
  object-fit:contain!important;
  object-position:center!important;
  background:transparent!important;
  opacity:1!important;
  filter:none!important;
  transform:scale(1)!important;
  transition:transform var(--shop-transition)!important;
}

body.shop-v38-page .product-card--shop-luxe:hover .product-image-link img{
  transform:scale(1.04)!important;
}

body.shop-v38-page .product-card--shop-luxe .product-badge{
  position:absolute!important;
  top:8px!important;
  left:8px!important;
  z-index:4!important;
  display:inline-flex!important;
  align-items:center!important;
  min-height:25px!important;
  max-width:calc(100% - 50px)!important;
  padding:0 8px!important;
  border:0!important;
  border-radius:999px!important;
  background:var(--shop-primary)!important;
  color:#fff!important;
  font-size:8px!important;
  font-weight:850!important;
  letter-spacing:.05em!important;
  line-height:1!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
  box-shadow:0 4px 10px rgba(18,55,42,.15)!important;
}

body.shop-v38-page .product-card--shop-luxe .product-badge.stock-out{
  background:#6f746f!important;
}

body.shop-v38-page .product-card--shop-luxe .floating-actions{
  position:absolute!important;
  top:8px!important;
  right:8px!important;
  z-index:5!important;
  display:flex!important;
  flex-direction:column!important;
  gap:5px!important;
}

body.shop-v38-page .product-card--shop-luxe .floating-actions a,
body.shop-v38-page .product-card--shop-luxe .floating-actions button{
  display:grid!important;
  place-items:center!important;
  width:31px!important;
  height:31px!important;
  min-height:31px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid rgba(18,55,42,.1)!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.94)!important;
  color:var(--shop-primary)!important;
  font-size:15px!important;
  line-height:1!important;
  text-decoration:none!important;
  box-shadow:0 4px 12px rgba(18,55,42,.07)!important;
  transition:background var(--shop-transition),color var(--shop-transition),transform var(--shop-transition)!important;
}

body.shop-v38-page .product-card--shop-luxe .floating-actions a:hover,
body.shop-v38-page .product-card--shop-luxe .floating-actions button:hover{
  background:var(--shop-primary)!important;
  color:#fff!important;
  transform:translateY(-1px)!important;
}

body.shop-v38-page .product-card--shop-luxe .product-body{
  display:flex!important;
  flex:1 1 auto!important;
  flex-direction:column!important;
  min-width:0!important;
  min-height:0!important;
  padding:12px 13px 13px!important;
}

body.shop-v38-page .product-card--shop-luxe .product-kicker{
  display:block!important;
  min-width:0!important;
  margin:0 0 5px!important;
  overflow:hidden!important;
  color:#8c6a2c!important;
  font-size:9px!important;
  font-weight:800!important;
  letter-spacing:.08em!important;
  line-height:1.2!important;
  text-overflow:ellipsis!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
}

body.shop-v38-page .product-card--shop-luxe h3{
  min-height:2.5em!important;
  margin:0 0 6px!important;
  overflow:hidden!important;
  color:var(--shop-text)!important;
  font-family:"Inter",sans-serif!important;
  font-size:17px!important;
  font-weight:600!important;
  letter-spacing:-.015em!important;
  line-height:1.25!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
}

body.shop-v38-page .product-card--shop-luxe h3 a{
  color:inherit!important;
  font:inherit!important;
  text-decoration:none!important;
}

body.shop-v38-page .product-card--shop-luxe .product-rating-row{
  display:flex!important;
  align-items:center!important;
  gap:5px!important;
  min-height:18px!important;
  margin:0 0 6px!important;
  color:#7e827f!important;
  font-size:10px!important;
  line-height:1!important;
}

body.shop-v38-page .product-card--shop-luxe .product-rating-star{
  color:var(--shop-accent)!important;
  font-size:12px!important;
}

body.shop-v38-page .product-card--shop-luxe .price-row{
  display:flex!important;
  align-items:baseline!important;
  justify-content:space-between!important;
  gap:8px!important;
  min-height:26px!important;
  margin:auto 0 0!important;
  padding:0!important;
}

body.shop-v38-page .product-card--shop-luxe .price-row b{
  color:var(--shop-primary)!important;
  font-size:20px!important;
  font-weight:700!important;
  line-height:1!important;
  white-space:nowrap!important;
}

body.shop-v38-page .product-card--shop-luxe .price-row small{
  overflow:hidden;
  color:#8c918d!important;
  font-size:8px!important;
  font-weight:650!important;
  line-height:1.15!important;
  text-align:right!important;
  text-overflow:ellipsis;
  white-space:nowrap;
}

body.shop-v38-page .product-card--shop-luxe .product-actions-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:7px!important;
  margin:9px 0 0!important;
  padding:0!important;
}

body.shop-v38-page .product-card--shop-luxe .product-actions-row form{min-width:0;margin:0!important}

body.shop-v38-page .product-card--shop-luxe .product-cta,
body.shop-v38-page .product-card--shop-luxe .product-whatsapp{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  height:42px!important;
  min-height:42px!important;
  margin:0!important;
  padding:0 12px!important;
  border-radius:12px!important;
  font-size:10px!important;
  font-weight:800!important;
  line-height:1!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  transition:background var(--shop-transition),border-color var(--shop-transition),color var(--shop-transition)!important;
}

body.shop-v38-page .product-card--shop-luxe .product-cta{
  width:100%!important;
  border:1px solid var(--shop-primary)!important;
  background:var(--shop-primary)!important;
  color:#fff!important;
}

body.shop-v38-page .product-card--shop-luxe .product-cta:hover{
  border-color:var(--shop-accent)!important;
  background:var(--shop-accent)!important;
}

body.shop-v38-page .product-card--shop-luxe .product-cta.is-disabled{
  border-color:#b9bdbb!important;
  background:#b9bdbb!important;
  cursor:not-allowed!important;
}

body.shop-v38-page .product-card--shop-luxe .product-whatsapp{
  min-width:78px!important;
  border:1px solid #d9e3dd!important;
  background:#fff!important;
  color:var(--shop-primary)!important;
}

body.shop-v38-page .product-card--shop-luxe .product-whatsapp:hover{
  border-color:var(--shop-accent)!important;
  background:#fbf3e4!important;
  color:#76591f!important;
}

/* Loading, empty state and pagination. */
body.shop-v38-page .shop-main{position:relative!important}

body.shop-v38-page .shop-main::before{
  content:"";
  position:fixed;
  left:calc(50% - 20px);
  top:calc(50% - 20px);
  z-index:10090;
  width:40px;
  height:40px;
  border:3px solid rgba(18,55,42,.15);
  border-top-color:var(--shop-primary);
  border-radius:50%;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  animation:shopV37Spin .75s linear infinite;
  transition:opacity 150ms ease,visibility 150ms ease;
}

body.shop-v38-page .shop-main.is-loading::before{opacity:1;visibility:visible}
body.shop-v38-page .shop-main.is-loading .shop-results-area{opacity:.36;pointer-events:none}
@keyframes shopV37Spin{to{transform:rotate(360deg)}}

body.shop-v38-page .shop-empty-state{
  display:grid!important;
  place-items:center!important;
  min-height:320px!important;
  padding:36px!important;
  border:1px solid var(--shop-border)!important;
  border-radius:18px!important;
  background:#fff!important;
  text-align:center!important;
}

body.shop-v38-page .shop-empty-state h3{margin:4px 0!important;font-size:28px!important;color:var(--shop-primary)!important}
body.shop-v38-page .shop-empty-state p{margin:0 0 14px!important;color:#727874!important;font-size:13px!important}

body.shop-v38-page .pagination-luxe{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  margin:30px 0 0!important;
  padding:0!important;
}

body.shop-v38-page .pagination-pages{display:flex!important;gap:6px!important}

body.shop-v38-page .pagination-luxe a,
body.shop-v38-page .pagination-luxe span{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:38px!important;
  height:38px!important;
  min-height:38px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid #e1e4e2!important;
  border-radius:11px!important;
  background:#fff!important;
  color:var(--shop-primary)!important;
  font-size:11px!important;
  font-weight:750!important;
  text-decoration:none!important;
  transition:background var(--shop-transition),border-color var(--shop-transition),color var(--shop-transition)!important;
}

body.shop-v38-page .pagination-luxe a:hover,
body.shop-v38-page .pagination-luxe .active{
  border-color:var(--shop-primary)!important;
  background:var(--shop-primary)!important;
  color:#fff!important;
}

body.shop-v38-page .pagination-arrow{
  width:auto!important;
  min-width:92px!important;
  gap:6px!important;
  padding:0 12px!important;
}

body.shop-v38-page .pagination-arrow.is-disabled{opacity:.42!important;pointer-events:none!important}

body.shop-v38-page .shop-filter-scrim{
  position:fixed!important;
  inset:0!important;
  z-index:10060!important;
  background:rgba(4,20,15,.5)!important;
  opacity:0!important;
  visibility:hidden!important;
  backdrop-filter:blur(4px);
  transition:opacity var(--shop-transition),visibility var(--shop-transition)!important;
}

body.shop-v38-page .shop-filter-scrim.is-open{opacity:1!important;visibility:visible!important}
body.shop-v38-page.shop-filter-open{overflow:hidden!important}

/* Tablet: 3 columns. */
@media(max-width:1199px){
  body.shop-v38-page .shop-layout-v37{
    display:block!important;
    width:min(100% - 32px,1100px)!important;
    padding:18px 0 80px!important;
  }

  body.shop-v38-page .shop-control-bar{
    grid-template-columns:110px minmax(260px,1fr) minmax(210px,.6fr)!important;
  }

  body.shop-v38-page .shop-filter-column{
    position:static!important;
    max-height:none!important;
  }

  body.shop-v38-page .filter-panel-v37{
    position:fixed!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    top:auto!important;
    z-index:10070!important;
    width:100%!important;
    height:min(88dvh,760px)!important;
    max-height:88dvh!important;
    border-radius:22px 22px 0 0!important;
    transform:translateY(104%)!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:transform var(--shop-transition),visibility var(--shop-transition)!important;
  }

  body.shop-v38-page .filter-panel-v37.is-open{
    transform:translateY(0)!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }

  body.shop-v38-page .drawer-close{display:grid!important;place-items:center!important}

  body.shop-v38-page .filter-panel-body{padding:10px 14px!important}
  body.shop-v38-page .filter-panel-actions{padding:10px 14px calc(10px + env(safe-area-inset-bottom))!important}

  body.shop-v38-page .mobile-shop-actions{
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    flex:0 0 auto!important;
  }

  body.shop-v38-page .mobile-filter-button{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    height:40px!important;
    min-height:40px!important;
    margin:0!important;
    padding:0 13px!important;
    border:1px solid var(--shop-primary)!important;
    border-radius:12px!important;
    background:var(--shop-primary)!important;
    color:#fff!important;
    font-size:11px!important;
    font-weight:800!important;
    white-space:nowrap!important;
  }

  body.shop-v38-page .mobile-filter-button b{
    display:grid;
    place-items:center;
    min-width:18px;
    height:18px;
    padding:0 5px;
    border-radius:999px;
    background:var(--shop-accent);
    color:#fff;
    font-size:9px;
  }

  body.shop-v38-page .mobile-filter-button b[data-filter-count="0"]{display:none}
  body.shop-v38-page .mobile-sort-form{margin:0!important}
  body.shop-v38-page .mobile-sort-form select{width:118px!important;height:40px!important;min-height:40px!important;border-color:#d9ddda!important;background:#fff!important}

  body.shop-v38-page .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  body.shop-v38-page .product-card--shop-luxe .product-media{width:min(calc(100% - 18px),180px)!important}
}

/* Mobile: 2 columns, sticky filter/sort controls, compact cards. */
@media(max-width:767px){
  html.shop-v38-document{scroll-behavior:auto}
  body.shop-v38-page .shell{width:min(100% - 20px,720px)}

  body.shop-v38-page .shop-compact-header{
    min-height:124px;
    padding:14px 0 16px!important;
  }

  body.shop-v38-page .shop-title-row{align-items:flex-end;gap:12px}
  body.shop-v38-page .shop-title-row h1{font-size:38px!important}
  body.shop-v38-page .shop-title-row p{max-width:260px;margin-top:5px!important;font-size:11.5px!important;line-height:1.4!important}
  body.shop-v38-page .shop-header-count{gap:4px}
  body.shop-v38-page .shop-header-count strong{font-size:22px}
  body.shop-v38-page .shop-header-count span{font-size:8px}
  body.shop-v38-page .shop-breadcrumb{font-size:10px}

  body.shop-v38-page .shop-category-strip{
    top:var(--shop-header-height,68px)!important;
    padding:7px 0!important;
  }

  body.shop-v38-page .category-strip-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:8px!important;
  }

  body.shop-v38-page .chip-row{gap:6px!important}
  body.shop-v38-page .chip{height:38px!important;min-height:38px!important;padding:0 14px!important;font-size:11px!important}

  body.shop-v38-page .mobile-filter-button{height:38px!important;min-height:38px!important;padding:0 10px!important}
  body.shop-v38-page .mobile-sort-form select{width:92px!important;height:38px!important;min-height:38px!important;padding-left:9px!important;padding-right:26px!important;font-size:10px!important}

  body.shop-v38-page .shop-control-section{padding-top:10px!important}
  body.shop-v38-page .shop-control-bar{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:7px!important;
    min-height:0!important;
    padding:8px!important;
    border-radius:14px!important;
  }

  body.shop-v38-page .toolbar-product-count,
  body.shop-v38-page .desktop-sort-form{display:none!important}

  body.shop-v38-page .shop-search-form{height:40px}
  body.shop-v38-page .shop-search-form input[type="search"]{height:38px!important;min-height:38px!important;font-size:12px!important}
  body.shop-v38-page .shop-search-form button{height:32px!important;min-height:32px!important}

  body.shop-v38-page .shop-layout-v37{
    width:min(100% - 20px,720px)!important;
    padding:12px 0 76px!important;
  }

  body.shop-v38-page .active-filter-row{
    min-height:32px!important;
    margin-bottom:8px!important;
    padding:4px 5px!important;
    overflow:hidden!important;
  }

  body.shop-v38-page .active-filter-chips{
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
    scrollbar-width:none;
  }
  body.shop-v38-page .active-filter-chips::-webkit-scrollbar{display:none}
  body.shop-v38-page .active-filter-chip{flex:0 0 auto!important;min-height:26px!important;padding:3px 8px!important;font-size:9px!important}
  body.shop-v38-page .all-products-note{font-size:9px}

  body.shop-v38-page .product-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }

  body.shop-v38-page .product-card--shop-luxe{border-radius:15px!important}
  body.shop-v38-page .product-card--shop-luxe:hover{transform:none!important}

  body.shop-v38-page .product-card--shop-luxe .product-media{
    width:min(calc(100% - 12px),160px)!important;
    margin-top:6px!important;
    border-radius:11px!important;
  }

  body.shop-v38-page .product-card--shop-luxe .product-image-link img{padding:4px!important}
  body.shop-v38-page .product-card--shop-luxe .product-badge{top:5px!important;left:5px!important;min-height:20px!important;padding:0 6px!important;font-size:6.5px!important}
  body.shop-v38-page .product-card--shop-luxe .floating-actions{top:5px!important;right:5px!important;gap:4px!important}
  body.shop-v38-page .product-card--shop-luxe .floating-actions a,
  body.shop-v38-page .product-card--shop-luxe .floating-actions button{width:26px!important;height:26px!important;min-height:26px!important;font-size:12px!important}

  body.shop-v38-page .product-card--shop-luxe .product-body{padding:8px 9px 9px!important}
  body.shop-v38-page .product-card--shop-luxe .product-kicker{margin-bottom:4px!important;font-size:7px!important}
  body.shop-v38-page .product-card--shop-luxe h3{min-height:2.5em!important;margin-bottom:4px!important;font-size:13px!important;line-height:1.25!important}
  body.shop-v38-page .product-card--shop-luxe .product-rating-row{min-height:15px!important;margin-bottom:4px!important;font-size:8px!important}
  body.shop-v38-page .product-card--shop-luxe .product-rating-star{font-size:10px!important}
  body.shop-v38-page .product-card--shop-luxe .price-row{min-height:22px!important}
  body.shop-v38-page .product-card--shop-luxe .price-row b{font-size:15px!important}
  body.shop-v38-page .product-card--shop-luxe .price-row small{display:none!important}
  body.shop-v38-page .product-card--shop-luxe .product-actions-row{grid-template-columns:1fr!important;gap:5px!important;margin-top:6px!important}
  body.shop-v38-page .product-card--shop-luxe .product-cta,
  body.shop-v38-page .product-card--shop-luxe .product-whatsapp{height:34px!important;min-height:34px!important;border-radius:9px!important;font-size:8px!important}
  body.shop-v38-page .product-card--shop-luxe .product-whatsapp{display:none!important}

  body.shop-v38-page .filter-panel-v37{height:min(90dvh,760px)!important;max-height:90dvh!important}
  body.shop-v38-page .filter-panel-title{min-height:60px!important;padding:11px 14px!important}
  body.shop-v38-page .filter-panel-title h2{font-size:23px!important}
  body.shop-v38-page .filter-panel-actions{grid-template-columns:1fr 1fr!important}

  body.shop-v38-page .pagination-luxe{gap:5px!important;margin-top:22px!important}
  body.shop-v38-page .pagination-luxe a,
  body.shop-v38-page .pagination-luxe span{width:34px!important;height:34px!important;min-height:34px!important;border-radius:9px!important;font-size:10px!important}
  body.shop-v38-page .pagination-arrow{min-width:36px!important;width:36px!important;padding:0!important;font-size:17px!important}
  body.shop-v38-page .pagination-arrow span{display:none!important}
}

@media(max-width:359px){
  body.shop-v38-page .category-strip-row{grid-template-columns:1fr!important}
  body.shop-v38-page .mobile-shop-actions{justify-content:space-between!important}
  body.shop-v38-page .mobile-filter-button{flex:1 1 auto!important}
  body.shop-v38-page .mobile-sort-form{flex:1 1 auto!important}
  body.shop-v38-page .mobile-sort-form select{width:100%!important}
  body.shop-v38-page .product-grid{gap:8px!important}
  body.shop-v38-page .product-card--shop-luxe .product-body{padding-inline:7px!important}
  body.shop-v38-page .product-card--shop-luxe h3{font-size:12px!important}
}

@media(prefers-reduced-motion:reduce){
  html.shop-v38-document{scroll-behavior:auto}
  body.shop-v38-page .chip,
  body.shop-v38-page .filter-accordion,
  body.shop-v38-page .filter-accordion-content,
  body.shop-v38-page .filter-panel-v37,
  body.shop-v38-page .shop-filter-scrim,
  body.shop-v38-page .product-card--shop-luxe,
  body.shop-v38-page .product-card--shop-luxe img{transition:none!important}
}

/* Final high-specificity isolation lock against legacy global shop rules. */
html.shop-v38-document body.cosmic-v15.shop-page.shop-v38-page .shop-layout-v37{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
}

html.shop-v38-document body.cosmic-v15.shop-page.shop-v38-page .shop-main,
html.shop-v38-document body.cosmic-v15.shop-page.shop-v38-page .shop-results-area{
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
}

html.shop-v38-document body.cosmic-v15.shop-page.shop-v38-page .product-grid{
  display:grid!important;
  margin:0!important;
  padding:0!important;
}

/* V38 mobile/tablet legacy conflict locks. */
@media(max-width:1199px){
  html.shop-v38-document body.cosmic-v15.shop-page.shop-v38-page .shop-filter-column{
    position:static!important;
    top:auto!important;
    width:100%!important;
    height:0!important;
    min-height:0!important;
    max-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    z-index:auto!important;
  }

  html.shop-v38-document body.cosmic-v15.shop-page.shop-v38-page #shopFilterPanel.filter-panel-v37{
    position:fixed!important;
    left:0!important;
    right:0!important;
    top:auto!important;
    bottom:0!important;
    z-index:10070!important;
    width:100%!important;
    height:min(88dvh,760px)!important;
    min-height:0!important;
    max-height:88dvh!important;
    margin:0!important;
    overflow:hidden!important;
    transform:translateY(104%)!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }

  html.shop-v38-document body.cosmic-v15.shop-page.shop-v38-page #shopFilterPanel.filter-panel-v37.is-open{
    transform:translateY(0)!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }

  html.shop-v38-document body.cosmic-v15.shop-page.shop-v38-page .shop-filter-scrim{
    position:fixed!important;
    inset:0!important;
    z-index:10060!important;
  }

  html.shop-v38-document body.cosmic-v15.shop-page.shop-v38-page .shop-main,
  html.shop-v38-document body.cosmic-v15.shop-page.shop-v38-page .shop-results-area{
    position:relative!important;
    top:auto!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
  }

  html.shop-v38-document body.cosmic-v15.shop-page.shop-v38-page .shop-results-anchor{
    position:static!important;
    top:auto!important;
    margin:0!important;
  }

  html.shop-v38-document body.cosmic-v15.shop-page.shop-v38-page .active-filter-row{
    position:static!important;
    inset:auto!important;
    width:100%!important;
    min-height:32px!important;
    margin:0 0 10px!important;
    transform:none!important;
    z-index:auto!important;
  }

  html.shop-v38-document body.cosmic-v15.shop-page.shop-v38-page .product-grid{
    position:static!important;
    inset:auto!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:16px!important;
    width:100%!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
  }
}

@media(max-width:767px){
  html.shop-v38-document body.cosmic-v15.shop-page.shop-v38-page #shopFilterPanel.filter-panel-v37{
    height:min(90dvh,760px)!important;
    max-height:90dvh!important;
  }

  html.shop-v38-document body.cosmic-v15.shop-page.shop-v38-page .product-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }

  html.shop-v38-document body.cosmic-v15.shop-page.shop-v38-page .active-filter-row{
    min-height:30px!important;
    margin:0 0 8px!important;
    padding:4px 5px!important;
  }
}

/* Preserve the existing WhatsApp action in the compact mobile card. */
@media(max-width:767px){
  html.shop-v38-document body.cosmic-v15.shop-page.shop-v38-page .product-card--shop-luxe .product-actions-row{
    grid-template-columns:minmax(0,1fr) 58px!important;
    gap:5px!important;
  }
  html.shop-v38-document body.cosmic-v15.shop-page.shop-v38-page .product-card--shop-luxe .product-whatsapp{
    display:flex!important;
    min-width:58px!important;
    width:58px!important;
    padding:0 4px!important;
    font-size:7px!important;
  }
}

/* ==========================================================
   V38 — Full-width shop, top filter bar and five-card grid
   ========================================================== */

html.shop-v38-document body.cosmic-v15.shop-page.shop-v38-page .shop-compact-header,
html.shop-v38-document body.cosmic-v15.shop-page.shop-v38-page .shop-filter-column,
html.shop-v38-document body.cosmic-v15.shop-page.shop-v38-page .filter-panel-v38,
html.shop-v38-document body.cosmic-v15.shop-page.shop-v38-page .shop-filter-scrim,
html.shop-v38-document body.cosmic-v15.shop-page.shop-v38-page .mobile-shop-actions,
html.shop-v38-document body.cosmic-v15.shop-page.shop-v38-page .shop-control-section{
  display:none!important;
}

body.shop-v38-page .shell{
  width:min(100% - 32px,1560px)!important;
}

body.shop-v38-page .shop-main-filter-section.shop-category-strip{
  position:sticky!important;
  top:var(--shop-header-height,88px)!important;
  z-index:90!important;
  margin:0!important;
  padding:9px 0 10px!important;
  border-top:1px solid rgba(234,234,234,.8)!important;
  border-bottom:1px solid var(--shop-border)!important;
  background:rgba(250,250,248,.97)!important;
  box-shadow:0 10px 28px rgba(18,55,42,.055)!important;
  backdrop-filter:blur(18px);
}

body.shop-v38-page .shop-main-filter-shell{
  display:grid!important;
  gap:8px!important;
}

body.shop-v38-page .shop-filter-topline{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-width:0!important;
}

body.shop-v38-page .shop-filter-topline .chip-row{
  min-width:0!important;
  padding:0!important;
}

body.shop-v38-page .shop-filter-topline .chip{
  height:36px!important;
  min-height:36px!important;
  padding:0 16px!important;
  font-size:12px!important;
}

body.shop-v38-page .shop-clear-all{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  height:34px!important;
  min-height:34px!important;
  padding:0 13px!important;
  border:1px solid #e2d4b8!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#7d5e23!important;
  font-size:10px!important;
  font-weight:800!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  transition:background 250ms ease,color 250ms ease,border-color 250ms ease!important;
}

body.shop-v38-page .shop-clear-all:hover{
  border-color:var(--shop-accent)!important;
  background:#f8efdc!important;
  color:var(--shop-primary)!important;
}

body.shop-v38-page .shop-main-filter{
  display:grid!important;
  grid-template-columns:82px minmax(180px,1.35fr) minmax(188px,.9fr) minmax(138px,.72fr) minmax(132px,.66fr) minmax(150px,.74fr) 66px!important;
  align-items:end!important;
  gap:8px!important;
  margin:0!important;
  padding:8px!important;
  border:1px solid var(--shop-border)!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 5px 18px rgba(18,55,42,.03)!important;
}

body.shop-v38-page [data-shop-category-hidden]{display:none!important}

body.shop-v38-page .toolbar-product-count{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  align-self:stretch!important;
  gap:0!important;
  min-width:0!important;
  padding:0 5px!important;
  border-right:1px solid var(--shop-border)!important;
}

body.shop-v38-page .toolbar-product-count strong{
  color:var(--shop-primary)!important;
  font-size:20px!important;
  font-weight:850!important;
  line-height:1!important;
}

body.shop-v38-page .toolbar-product-count span{
  margin-top:3px!important;
  color:#777d79!important;
  font-size:9px!important;
  font-weight:800!important;
  letter-spacing:.08em!important;
  line-height:1!important;
  text-transform:uppercase!important;
}

body.shop-v38-page .shop-control{
  display:grid!important;
  gap:4px!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}

body.shop-v38-page fieldset.shop-control{min-inline-size:0!important}

body.shop-v38-page .shop-control > span:first-child,
body.shop-v38-page .shop-control > legend{
  display:block!important;
  width:auto!important;
  margin:0!important;
  padding:0 2px!important;
  color:#777d79!important;
  font-size:8px!important;
  font-weight:850!important;
  letter-spacing:.08em!important;
  line-height:1!important;
  text-transform:uppercase!important;
}

body.shop-v38-page .shop-search-field{
  position:relative!important;
  display:block!important;
}

body.shop-v38-page .shop-search-field i{
  position:absolute!important;
  left:11px!important;
  top:50%!important;
  z-index:2!important;
  transform:translateY(-50%)!important;
  color:#65706a!important;
  font-style:normal!important;
  font-size:15px!important;
  pointer-events:none!important;
}

body.shop-v38-page .shop-main-filter input[type="search"],
body.shop-v38-page .shop-main-filter input[type="number"],
body.shop-v38-page .shop-main-filter select{
  display:block!important;
  width:100%!important;
  height:38px!important;
  min-height:38px!important;
  margin:0!important;
  border:1px solid #e1e3e1!important;
  border-radius:10px!important;
  background:#fafaf8!important;
  color:var(--shop-primary)!important;
  font-family:"Inter",sans-serif!important;
  font-size:11px!important;
  font-weight:650!important;
  line-height:1!important;
  outline:0!important;
  box-shadow:none!important;
  transition:border-color 250ms ease,box-shadow 250ms ease,background 250ms ease!important;
}

body.shop-v38-page .shop-main-filter input[type="search"]{
  padding:0 11px 0 32px!important;
}

body.shop-v38-page .shop-main-filter input[type="number"]{
  padding:0 8px!important;
  appearance:textfield;
}

body.shop-v38-page .shop-main-filter input[type="number"]::-webkit-outer-spin-button,
body.shop-v38-page .shop-main-filter input[type="number"]::-webkit-inner-spin-button{
  margin:0;
  appearance:none;
}

body.shop-v38-page .shop-main-filter select{
  padding:0 28px 0 10px!important;
  cursor:pointer!important;
}

body.shop-v38-page .shop-main-filter input:focus,
body.shop-v38-page .shop-main-filter select:focus{
  border-color:var(--shop-accent)!important;
  background:#fff!important;
  box-shadow:0 0 0 3px rgba(182,141,64,.1)!important;
}

body.shop-v38-page .shop-price-fields{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 8px minmax(0,1fr)!important;
  align-items:center!important;
  gap:4px!important;
}

body.shop-v38-page .shop-price-fields > span{
  color:#9a9e9b!important;
  font-size:10px!important;
  text-align:center!important;
}

body.shop-v38-page .shop-filter-submit{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  height:38px!important;
  min-height:38px!important;
  margin:0!important;
  padding:0 8px!important;
  border:1px solid var(--shop-primary)!important;
  border-radius:10px!important;
  background:var(--shop-primary)!important;
  color:#fff!important;
  font-size:10px!important;
  font-weight:800!important;
  line-height:1!important;
  transition:background 250ms ease,border-color 250ms ease,color 250ms ease!important;
}

body.shop-v38-page .shop-filter-submit:hover{
  border-color:var(--shop-accent)!important;
  background:var(--shop-accent)!important;
  color:#fff!important;
}

html.shop-v38-document body.cosmic-v15.shop-page.shop-v38-page .shop-layout-v38{
  display:block!important;
  width:min(100% - 32px,1560px)!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin-inline:auto!important;
  padding:16px 0 74px!important;
  overflow:visible!important;
}

html.shop-v38-document body.cosmic-v15.shop-page.shop-v38-page .shop-main,
html.shop-v38-document body.cosmic-v15.shop-page.shop-v38-page .shop-results-area{
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
}

body.shop-v38-page .active-filter-row{
  min-height:32px!important;
  margin:0 0 10px!important;
  padding:5px 7px!important;
}

html.shop-v38-document body.cosmic-v15.shop-page.shop-v38-page .product-grid{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  align-items:stretch!important;
  gap:16px!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
}

body.shop-v38-page .product-card--shop-luxe{
  min-width:0!important;
  border-radius:16px!important;
}

body.shop-v38-page .product-card--shop-luxe .product-media{
  width:min(calc(100% - 14px),220px)!important;
  margin:7px auto 0!important;
  border-radius:12px!important;
}

body.shop-v38-page .product-card--shop-luxe .product-image-link img{
  padding:5px!important;
}

body.shop-v38-page .product-card--shop-luxe .product-body{
  padding:9px 10px 11px!important;
}

body.shop-v38-page .product-card--shop-luxe .product-kicker{
  margin-bottom:4px!important;
  font-size:7.5px!important;
}

body.shop-v38-page .product-card--shop-luxe h3{
  min-height:2.5em!important;
  margin:0 0 5px!important;
  font-size:15px!important;
  font-weight:750!important;
  line-height:1.25!important;
}

body.shop-v38-page .product-card--shop-luxe h3 a{
  font-weight:750!important;
}

body.shop-v38-page .product-card--shop-luxe .product-short-description{
  display:-webkit-box!important;
  min-height:2.8em!important;
  margin:0 0 5px!important;
  overflow:hidden!important;
  color:#747873!important;
  font-size:10.5px!important;
  font-weight:450!important;
  line-height:1.4!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
}

body.shop-v38-page .product-card--shop-luxe .product-rating-row{
  min-height:15px!important;
  margin:0 0 5px!important;
  font-size:8.5px!important;
}

body.shop-v38-page .product-card--shop-luxe .price-row{
  min-height:25px!important;
  margin-top:auto!important;
}

body.shop-v38-page .product-card--shop-luxe .price-row b{
  font-size:16px!important;
}

body.shop-v38-page .product-card--shop-luxe .price-row small{
  font-size:7px!important;
}

body.shop-v38-page .product-card--shop-luxe .product-actions-row{
  grid-template-columns:minmax(0,1fr) 72px!important;
  gap:6px!important;
  margin-top:7px!important;
}

body.shop-v38-page .product-card--shop-luxe .product-cta,
body.shop-v38-page .product-card--shop-luxe .product-whatsapp{
  height:34px!important;
  min-height:34px!important;
  border-radius:9px!important;
  font-size:8px!important;
}

@media(max-width:1279px){
  body.shop-v38-page .shop-main-filter{
    grid-template-columns:74px minmax(190px,1.3fr) minmax(180px,.9fr) minmax(140px,.7fr) minmax(140px,.7fr) 66px!important;
  }
  body.shop-v38-page .shop-sort-control{grid-column:auto!important}
  body.shop-v38-page .shop-select-control:nth-of-type(4){display:none!important}
  html.shop-v38-document body.cosmic-v15.shop-page.shop-v38-page .product-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
}

@media(max-width:991px){
  body.shop-v38-page .shop-main-filter-section.shop-category-strip{
    position:relative!important;
    top:auto!important;
    z-index:20!important;
  }
  body.shop-v38-page .shop-main-filter{
    grid-template-columns:72px minmax(190px,1.3fr) minmax(180px,1fr) minmax(145px,.8fr) 64px!important;
  }
  body.shop-v38-page .shop-select-control{display:none!important}
  body.shop-v38-page .shop-sort-control{display:grid!important}
  html.shop-v38-document body.cosmic-v15.shop-page.shop-v38-page .product-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:14px!important;
  }
}

@media(max-width:767px){
  body.shop-v38-page .shell,
  html.shop-v38-document body.cosmic-v15.shop-page.shop-v38-page .shop-layout-v38{
    width:min(100% - 18px,1560px)!important;
  }

  body.shop-v38-page .shop-main-filter-section.shop-category-strip{
    padding:7px 0 8px!important;
  }

  body.shop-v38-page .shop-main-filter-shell{gap:6px!important}
  body.shop-v38-page .shop-filter-topline{gap:6px!important}
  body.shop-v38-page .shop-filter-topline .chip-row{gap:6px!important}
  body.shop-v38-page .shop-filter-topline .chip{
    height:34px!important;
    min-height:34px!important;
    padding:0 13px!important;
    font-size:10px!important;
  }
  body.shop-v38-page .shop-clear-all{
    height:32px!important;
    min-height:32px!important;
    padding:0 9px!important;
    font-size:8px!important;
  }

  body.shop-v38-page .shop-main-filter{
    grid-template-columns:52px minmax(0,1fr) 92px 52px!important;
    gap:5px!important;
    padding:6px!important;
    border-radius:12px!important;
  }

  body.shop-v38-page .toolbar-product-count{padding:0 3px!important}
  body.shop-v38-page .toolbar-product-count strong{font-size:16px!important}
  body.shop-v38-page .toolbar-product-count span{font-size:6.5px!important}
  body.shop-v38-page .shop-price-control{display:none!important}
  body.shop-v38-page .shop-select-control{display:none!important}
  body.shop-v38-page .shop-sort-control{display:grid!important}
  body.shop-v38-page .shop-control > span:first-child,
  body.shop-v38-page .shop-control > legend{display:none!important}
  body.shop-v38-page .shop-main-filter input[type="search"],
  body.shop-v38-page .shop-main-filter select,
  body.shop-v38-page .shop-filter-submit{
    height:34px!important;
    min-height:34px!important;
    border-radius:9px!important;
    font-size:9px!important;
  }
  body.shop-v38-page .shop-main-filter input[type="search"]{padding-left:28px!important}
  body.shop-v38-page .shop-search-field i{left:9px!important;font-size:13px!important}

  html.shop-v38-document body.cosmic-v15.shop-page.shop-v38-page .shop-layout-v38{
    padding:10px 0 54px!important;
  }

  body.shop-v38-page .active-filter-row{
    min-height:28px!important;
    margin-bottom:7px!important;
    padding:4px 5px!important;
  }

  html.shop-v38-document body.cosmic-v15.shop-page.shop-v38-page .product-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:9px!important;
  }

  body.shop-v38-page .product-card--shop-luxe .product-media{
    width:min(calc(100% - 10px),160px)!important;
    margin-top:5px!important;
  }
  body.shop-v38-page .product-card--shop-luxe .product-body{padding:7px 8px 8px!important}
  body.shop-v38-page .product-card--shop-luxe h3{
    min-height:2.45em!important;
    margin-bottom:3px!important;
    font-size:12.5px!important;
    font-weight:750!important;
  }
  body.shop-v38-page .product-card--shop-luxe .product-short-description{
    min-height:2.7em!important;
    margin-bottom:4px!important;
    font-size:8.5px!important;
    line-height:1.35!important;
  }
  body.shop-v38-page .product-card--shop-luxe .product-rating-row{
    min-height:13px!important;
    margin-bottom:3px!important;
    font-size:7px!important;
  }
  body.shop-v38-page .product-card--shop-luxe .price-row b{font-size:14px!important}
  body.shop-v38-page .product-card--shop-luxe .product-actions-row{
    grid-template-columns:minmax(0,1fr) 55px!important;
    gap:4px!important;
    margin-top:5px!important;
  }
  body.shop-v38-page .product-card--shop-luxe .product-cta,
  body.shop-v38-page .product-card--shop-luxe .product-whatsapp{
    height:31px!important;
    min-height:31px!important;
    font-size:7px!important;
  }
  body.shop-v38-page .product-card--shop-luxe .product-whatsapp{
    display:flex!important;
    width:55px!important;
    min-width:55px!important;
  }
}

@media(max-width:399px){
  body.shop-v38-page .shop-main-filter{
    grid-template-columns:44px minmax(0,1fr) 82px 48px!important;
  }
  body.shop-v38-page .shop-filter-submit{padding:0 4px!important;font-size:8px!important}
  body.shop-v38-page .product-card--shop-luxe .product-short-description{font-size:8px!important}
}

/* V38 responsive filter visibility correction: keep every filter accessible. */
@media(max-width:1279px){
  body.shop-v38-page .shop-main-filter{
    grid-template-columns:74px minmax(220px,1.35fr) minmax(190px,.9fr) minmax(145px,.72fr)!important;
  }
  body.shop-v38-page .shop-select-control,
  body.shop-v38-page .shop-sort-control{display:grid!important}
}

@media(max-width:991px){
  body.shop-v38-page .shop-main-filter{
    grid-template-columns:70px minmax(210px,1.4fr) minmax(185px,1fr)!important;
  }
  body.shop-v38-page .shop-select-control,
  body.shop-v38-page .shop-sort-control,
  body.shop-v38-page .shop-price-control{display:grid!important}
}

@media(max-width:767px){
  body.shop-v38-page .shop-main-filter{
    display:flex!important;
    align-items:flex-end!important;
    gap:6px!important;
    overflow-x:auto!important;
    overscroll-behavior-inline:contain!important;
    scrollbar-width:none!important;
  }
  body.shop-v38-page .shop-main-filter::-webkit-scrollbar{display:none!important}
  body.shop-v38-page .toolbar-product-count{flex:0 0 48px!important;min-height:34px!important}
  body.shop-v38-page .shop-search-control{display:grid!important;flex:0 0 168px!important}
  body.shop-v38-page .shop-price-control{display:grid!important;flex:0 0 178px!important}
  body.shop-v38-page .shop-intent-control{display:grid!important;flex:0 0 138px!important}
  body.shop-v38-page .shop-availability-control{display:grid!important;flex:0 0 128px!important}
  body.shop-v38-page .shop-sort-control{display:grid!important;flex:0 0 132px!important}
  body.shop-v38-page .shop-filter-submit{flex:0 0 52px!important;width:52px!important}
  body.shop-v38-page .shop-control > span:first-child,
  body.shop-v38-page .shop-control > legend{display:block!important;font-size:6.5px!important}
  body.shop-v38-page .shop-price-fields input{height:34px!important;min-height:34px!important}
}
