/* SnapProfile v15.2 — Advanced Content Layouts & Carousels
   A single content-layout contract for every repeatable public section. */
.section-v3[class*="content-layout-"]{
  --content-current:var(--content-desktop,3);
  --content-gap:var(--section-gap,1.25rem);
  --content-control-size:42px;
}
.section-v3 [data-content-track]{min-width:0}
.section-v3 [data-content-track] > *{min-width:0}
.section-v3 .content-stage-hidden{display:none!important}

/* Deterministic grid/list/compact modes. */
.section-v3.content-layout-grid [data-content-track],
.section-v3.content-layout-tabs [data-content-track],
.section-v3.content-layout-compact [data-content-track]{
  display:grid!important;
  grid-template-columns:repeat(var(--content-current),minmax(0,1fr))!important;
  gap:var(--content-gap)!important;
  align-items:stretch;
}
.section-v3.content-layout-list [data-content-track]{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:clamp(.85rem,1.8vw,1.35rem)!important;
}
.section-v3.content-layout-compact [data-content-track]{--content-gap:clamp(.65rem,1.4vw,1rem)}
.section-v3.content-layout-compact [data-content-track] > *{padding:clamp(.75rem,1.5vw,1rem)!important}

/* Bento and featured layouts deliberately keep item cards intact. */
.section-v3.content-layout-bento [data-content-track],
.section-v3.content-layout-featured-grid [data-content-track]{
  display:grid!important;
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  gap:var(--content-gap)!important;
  align-items:stretch;
}
.section-v3.content-layout-bento [data-content-track] > *{grid-column:span 4}
.section-v3.content-layout-bento [data-content-track] > :first-child{grid-column:span 8;grid-row:span 2}
.section-v3.content-layout-bento [data-content-track] > :nth-child(4n){grid-column:span 8}
.section-v3.content-layout-featured-grid [data-content-track] > *{grid-column:span 4}
.section-v3.content-layout-featured-grid [data-content-track] > .is-content-featured,
.section-v3.content-layout-featured-grid [data-content-track] > :first-child.is-content-auto-featured{grid-column:span 8;grid-row:span 2}

/* Masonry is intentionally limited by the builder to media-heavy sections. */
.section-v3.content-layout-masonry [data-content-track]{
  display:block!important;
  columns:var(--content-current);
  column-gap:var(--content-gap);
}
.section-v3.content-layout-masonry [data-content-track] > *{
  width:100%;
  break-inside:avoid;
  margin:0 0 var(--content-gap)!important;
}

/* Horizontal / carousel / focus slider share one physical rail. */
.section-v3.content-layout-horizontal [data-content-track],
.section-v3.content-layout-carousel [data-content-track],
.section-v3.content-layout-slider [data-content-track]{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:var(--content-gap)!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  overscroll-behavior-inline:contain;
  scroll-snap-type:inline mandatory;
  scroll-behavior:smooth;
  scrollbar-width:none;
  -ms-overflow-style:none;
  padding-block:.25rem .65rem;
  touch-action:pan-y pinch-zoom;
}
.section-v3.content-layout-horizontal [data-content-track]::-webkit-scrollbar,
.section-v3.content-layout-carousel [data-content-track]::-webkit-scrollbar,
.section-v3.content-layout-slider [data-content-track]::-webkit-scrollbar{display:none}
.section-v3.content-layout-horizontal [data-content-track] > *,
.section-v3.content-layout-carousel [data-content-track] > *,
.section-v3.content-layout-slider [data-content-track] > *{
  flex:0 0 calc((100% - (var(--content-current) - 1) * var(--content-gap)) / var(--content-current))!important;
  width:auto!important;
  max-width:none!important;
  scroll-snap-align:start;
  scroll-snap-stop:always;
}
.section-v3.content-layout-slider [data-content-track] > *{
  flex-basis:min(100%,calc((100% - (var(--content-current) - 1) * var(--content-gap)) / var(--content-current)))!important;
}
.section-v3.content-center [data-content-track]{scroll-padding-inline:10%}
.section-v3.content-center [data-content-track] > *{scroll-snap-align:center}
.section-v3.content-peek.content-layout-carousel [data-content-track] > *,
.section-v3.content-peek.content-layout-slider [data-content-track] > *,
.section-v3.content-peek.content-layout-horizontal [data-content-track] > *{
  flex-basis:calc(((100% - (var(--content-current) - 1) * var(--content-gap)) / var(--content-current)) - clamp(12px,2.4vw,34px))!important;
}
.section-v3.is-content-dragging [data-content-track]{cursor:grabbing;scroll-behavior:auto!important;user-select:none}

/* Stage 3 owns navigation whenever a content layout is explicit. */
.section-v3:not(.content-layout-inherit) [data-slider-nav]{display:none!important}
.v152-content-nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.85rem;
  margin-top:clamp(1rem,2.2vw,1.6rem);
}
.v152-content-actions{display:flex;align-items:center;gap:.55rem}
.v152-content-nav button,
.v152-content-filter{
  appearance:none;
  border:1px solid color-mix(in srgb,var(--theme-body,#667085) 18%,transparent);
  background:color-mix(in srgb,var(--card-bg,#fff) 94%,transparent);
  color:var(--theme-heading,#101828);
  font:inherit;
  cursor:pointer;
  transition:transform .18s ease,border-color .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease;
}
.v152-content-nav button{
  inline-size:var(--content-control-size);
  block-size:var(--content-control-size);
  display:grid;
  place-items:center;
  border-radius:999px;
  font-size:1.05rem;
  box-shadow:0 8px 22px rgb(15 23 42 / .08);
}
.v152-content-nav button:hover,.v152-content-nav button:focus-visible,
.v152-content-filter:hover,.v152-content-filter:focus-visible{
  transform:translateY(-1px);
  border-color:var(--brand,#635bff);
  outline:none;
  box-shadow:0 10px 26px color-mix(in srgb,var(--brand,#635bff) 16%,transparent);
}
.v152-content-nav button:disabled{opacity:.38;cursor:not-allowed;transform:none;box-shadow:none}
.v152-content-count{display:flex;align-items:baseline;gap:.35rem;font-variant-numeric:tabular-nums;color:var(--theme-body,#667085);font-size:.88rem}
.v152-content-count strong{color:var(--theme-heading,#101828);font-size:1rem}
.v152-content-dots{display:flex;align-items:center;justify-content:center;gap:.4rem;flex:1;min-width:0}
.v152-content-dot{inline-size:8px!important;block-size:8px!important;padding:0!important;border:0!important;background:color-mix(in srgb,var(--theme-body,#667085) 28%,transparent)!important;box-shadow:none!important}
.v152-content-dot.is-active{inline-size:24px!important;background:var(--brand,#635bff)!important}

/* Generated category/tabs controls. */
.v152-content-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 clamp(1rem,2vw,1.4rem)}
.v152-content-filter{padding:.58rem .9rem;border-radius:999px;font-size:.88rem}
.v152-content-filter.is-active{background:var(--brand,#635bff);border-color:var(--brand,#635bff);color:#fff}
.filter-mode-tabs .v152-content-filters{border-bottom:1px solid color-mix(in srgb,var(--theme-body,#667085) 16%,transparent);gap:0}
.filter-mode-tabs .v152-content-filter{border:0;border-radius:0;background:transparent;box-shadow:none;padding:.7rem .9rem;border-bottom:2px solid transparent}
.filter-mode-tabs .v152-content-filter.is-active{color:var(--brand,#635bff);border-bottom-color:var(--brand,#635bff);background:transparent}

/* List mode gets deliberate horizontal composition rather than a one-column grid only. */
.section-v3.content-layout-list [data-content-track] > article,
.section-v3.content-layout-list [data-content-track] > a,
.section-v3.content-layout-list [data-content-track] > figure,
.section-v3.content-layout-list [data-content-track] > details{
  width:100%;
}
.section-v3.content-layout-list .product-card{display:grid;grid-template-columns:minmax(150px,30%) minmax(0,1fr);align-items:stretch}
.section-v3.content-layout-list .product-card .product-media{height:100%;min-height:180px}

@media (max-width:1024px){
  .section-v3[class*="content-layout-"]{--content-current:var(--content-tablet,2)}
  .section-v3.content-layout-bento [data-content-track] > *{grid-column:span 6}
  .section-v3.content-layout-bento [data-content-track] > :first-child,
  .section-v3.content-layout-bento [data-content-track] > :nth-child(4n){grid-column:span 12;grid-row:auto}
  .section-v3.content-layout-featured-grid [data-content-track] > *{grid-column:span 6}
  .section-v3.content-layout-featured-grid [data-content-track] > .is-content-featured,
  .section-v3.content-layout-featured-grid [data-content-track] > :first-child.is-content-auto-featured{grid-column:span 12;grid-row:auto}
}
@media (max-width:640px){
  .section-v3[class*="content-layout-"]{--content-current:var(--content-mobile,1);--content-control-size:40px}
  .section-v3.content-layout-bento [data-content-track],
  .section-v3.content-layout-featured-grid [data-content-track]{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .section-v3.content-layout-bento [data-content-track] > *,
  .section-v3.content-layout-bento [data-content-track] > :first-child,
  .section-v3.content-layout-bento [data-content-track] > :nth-child(4n),
  .section-v3.content-layout-featured-grid [data-content-track] > *,
  .section-v3.content-layout-featured-grid [data-content-track] > .is-content-featured,
  .section-v3.content-layout-featured-grid [data-content-track] > :first-child.is-content-auto-featured{grid-column:span 2;grid-row:auto}
  .section-v3.content-layout-masonry [data-content-track]{columns:var(--content-current)}
  .section-v3.content-layout-list .product-card{grid-template-columns:1fr}
  .section-v3.content-layout-list .product-card .product-media{min-height:0}
  .v152-content-nav{gap:.55rem}
  .v152-content-dots{overflow:hidden;justify-content:flex-start}
  .v152-content-filters{overflow-x:auto;flex-wrap:nowrap;padding-bottom:.2rem;scrollbar-width:none}
  .v152-content-filters::-webkit-scrollbar{display:none}
  .v152-content-filter{white-space:nowrap}
}
@media (prefers-reduced-motion:reduce){
  .section-v3 [data-content-track]{scroll-behavior:auto!important}
  .v152-content-nav button,.v152-content-filter{transition:none}
}
