/** Shopify CDN: Minification failed

Line 10:43 Unexpected "*"

**/
/* ==========================================================================
   SNUG REBUILD — HOMEPAGE  (assets/rebuild-home.css)
   Owner: A4-home. Depends on assets/rebuild-tokens.css (--rb-* + .rb-*).
   ADDITIVE only. Namespaced .rbh-* so it never collides with the theme or
   with the other rebuild agents' rb-*/rbh-* files. Mobile-first (94% mobile).
   ========================================================================== */

/* --------------------------------------------------------------------------
   HERO — calm editorial, neo-retro
   -------------------------------------------------------------------------- */
.rbh-hero {
  position: relative;
  background: var(--rb-bg);
  color: var(--rb-text);
  overflow: hidden;
}
.rbh-hero__inner {
  max-width: var(--rb-maxw);
  margin-inline: auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--rb-space-6);
  padding-inline: var(--rb-gutter);
  padding-block: var(--rb-section-y);
  align-items: center;
}
.rbh-hero__media {
  position: relative;
  border-radius: var(--rb-radius-lg);
  overflow: hidden;
  background: var(--rb-surface);
  aspect-ratio: 4 / 5;
}
.rbh-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.rbh-hero__content { max-width: 38rem; }
.rbh-hero__rule {
  width: 56px;
  height: 1px;
  background: var(--rb-secondary);
  margin: 0 0 var(--rb-space-4);
}
.rbh-hero__title {
  font-family: var(--rb-font-display);
  font-weight: var(--rb-fw-light);
  font-size: var(--rb-display);
  line-height: var(--rb-lh-tight);
  letter-spacing: var(--rb-tracking-display);
  margin: 0 0 var(--rb-space-5);
  color: var(--rb-text);
}
.rbh-hero__title em {
  font-style: italic;
  color: var(--rb-accent);
}
.rbh-hero__lead {
  font-size: var(--rb-text-lg);
  line-height: var(--rb-lh-body);
  color: var(--rb-text-muted);
  margin: 0 0 var(--rb-space-6);
  max-width: 34rem;
}
.rbh-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--rb-space-3);
}

/* Desktop: editorial split */
@media (min-width: 750px) {
  .rbh-hero__inner {
    grid-template-columns: 1.05fr 1fr;
    gap: var(--rb-space-8);
    padding-block: clamp(3.5rem, 2rem + 6vw, 7rem);
  }
  .rbh-hero--media-left .rbh-hero__media { order: -1; }
  .rbh-hero__media { aspect-ratio: 3 / 4; }
}

/* --------------------------------------------------------------------------
   VIDEO SECTION — "Looks cute here — but great on you."
   -------------------------------------------------------------------------- */
.rbh-video { background: var(--rb-surface); padding-block: var(--rb-space-6); }
.rbh-video__inner {
  max-width: var(--rb-maxw);
  margin-inline: auto;
}
.rbh-video__head {
  text-align: center;
  max-width: 46rem;
  margin-inline: auto;
  margin-bottom: var(--rb-space-7);
}
/* R3: owner — "Looks cute here — but great on you." headline was TOO BIG.
   Shrink below the generic .rb-h2 (which clamps up to 2.75rem) to a calmer,
   editorial scale and tighten line-height. */
/* Scoped to .rbh-video so it beats .rb-h2 (also on this element, loaded later
   from tokens.css). Without the parent scope the title rendered at .rb-h2's
   ~44px (desktop) / ~29px (mobile) instead of this calmer editorial scale. */
.rbh-video .rbh-video__title {
  font-size: clamp(1.375rem, 1.15rem + 1vw, 1.875rem);
  line-height: 1.18;
  letter-spacing: 0.005em;
  max-width: 22ch;
  margin-inline: auto;
}
/* R7 (owner 2026-06-15): UGC-incentive invite under the heading.
   Invites customers to send a video of themselves wearing SNUG for 50% off +
   free shipping. Calm body copy, links underlined in accent (sage). */
.rbh-video__subtext {
  font-family: var(--rb-font-body);
  font-size: var(--rb-text-base);
  line-height: var(--rb-lh-body);
  color: var(--rb-text-muted);
  max-width: 44ch;
  margin: var(--rb-space-3) auto 0;
}
.rbh-video__subtext p { margin: 0; }
.rbh-video__subtext strong { color: var(--rb-text); font-weight: var(--rb-fw-semibold, 600); }
.rbh-video__subtext a {
  color: var(--rb-accent);
}
.rbh-video__subtext a:hover { color: var(--rb-text); }
.rbh-video__handle {
  display: inline-block;
  font-family: var(--rb-font-body);
  font-size: var(--rb-text-sm);
  color: var(--rb-text-muted);
  margin-top: var(--rb-space-3);
  letter-spacing: 0.02em;
}
/* R6 (owner 2026-06-15): MULTI-VIDEO CAROUSEL — compact, never-cropped.
   The section was a single near-fullscreen 9:16 frame (480/540px wide, 960px
   tall on desktop). Now a tidy horizontal carousel of smaller cards, each
   showing the WHOLE clip (object-fit:contain) on a beige frame. */
.rbh-video__carousel {
  display: flex;
  gap: var(--rb-space-4);
  justify-content: center;        /* centred when few cards fit */
  align-items: flex-start;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding-block: 2px;
  margin-inline: auto;
  max-width: var(--rb-maxw);
}
.rbh-video__carousel::-webkit-scrollbar { display: none; }
.rbh-video__card {
  flex: 0 0 auto;
  scroll-snap-align: center;
}
.rbh-video__frame {
  position: relative;
  width: 200px;                   /* compact desktop card */
  aspect-ratio: 9 / 16;
  border-radius: var(--rb-radius-lg);
  overflow: hidden;
  /* beige letterbox fill behind the contained (un-cropped) video */
  background: #F6F4EF;
  box-shadow: var(--rb-shadow-md);
}
.rbh-video__frame video,
.rbh-video__frame img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  /* NEVER crop — show the entire video; beige frame fills any gap */
  object-fit: contain;
  background: #F6F4EF;
  display: block;
}
.rbh-video__poster {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  padding: 0;
  cursor: pointer;
  background: transparent;
}
.rbh-video__poster::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(35,35,35,0) 40%, rgba(35,35,35,0.28) 100%);
}
.rbh-video__play {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 64px; height: 64px;
  border-radius: var(--rb-radius-pill);
  background: rgba(246,244,239,0.92);
  display: flex; align-items: center; justify-content: center;
  z-index: 2;
  box-shadow: var(--rb-shadow-md);
  transition: transform var(--rb-dur-base) var(--rb-ease);
}
.rbh-video__poster:hover .rbh-video__play,
.rbh-video__poster:focus-visible .rbh-video__play { transform: translate(-50%, -50%) scale(1.06); }
.rbh-video__play svg { width: 22px; height: 22px; margin-left: 3px; fill: var(--rb-accent); }
.rbh-video__poster:focus-visible { outline: none; box-shadow: inset var(--rb-shadow-focus); }

@media (min-width: 750px) {
  /* R6: slightly larger compact card on desktop; carousel keeps the section
     short instead of one giant 960px-tall frame. */
  .rbh-video__frame { width: 224px; }
  .rbh-video__carousel { gap: var(--rb-space-5); }
}

/* --------------------------------------------------------------------------
   REVIEWS — merged Judge.me "Let customers speak for us" style
   R3: replaces the old curated-quotes + Judge.me double block. ONE section,
   compact photo-first cards, smaller than the old oversized first card.
   -------------------------------------------------------------------------- */
.rbh-reviews { background: var(--rb-bg); }
.rbh-reviews__inner {
  max-width: var(--rb-maxw);
  margin-inline: auto;
}
.rbh-reviews__head {
  text-align: center;
  margin-bottom: var(--rb-space-6);
}
.rbh-reviews__summary {
  display: inline-flex;
  align-items: center;
  gap: var(--rb-space-2);
  margin-bottom: var(--rb-space-2);
}
.rbh-reviews__stars { color: #C9A24B; letter-spacing: 0.1em; font-size: 1rem; }
.rbh-reviews__summary-text { font-size: var(--rb-text-sm); color: var(--rb-text-muted); }
.rbh-reviews__summary-text strong { color: var(--rb-text); font-weight: var(--rb-fw-semi); }
.rbh-reviews__title {
  font-family: var(--rb-font-display);
  font-weight: var(--rb-fw-light);
  font-size: clamp(1.625rem, 1.3rem + 1.4vw, 2.5rem);
  line-height: 1.15;
  letter-spacing: var(--rb-tracking-display);
  color: var(--rb-text);
  margin: 0;
}

/* compact card grid — small cards (mobile 1, tablet 2, desktop 3) */
.rbh-reviews__grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--rb-space-4);
}
.rbh-rcard {
  background: var(--rb-surface-2);
  border: 1px solid var(--rb-border);
  border-radius: var(--rb-radius-md);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.rbh-rcard__media {
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: var(--rb-surface);
}
.rbh-rcard__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rbh-rcard__body { padding: var(--rb-space-4); }
.rbh-rcard__stars { color: #C9A24B; font-size: 0.9rem; letter-spacing: 0.08em; margin-bottom: var(--rb-space-2); }
.rbh-rcard__text {
  font-size: 0.95rem;
  line-height: 1.5;
  color: var(--rb-text);
  margin: 0 0 var(--rb-space-3);
}
.rbh-rcard--text .rbh-rcard__text { font-family: var(--rb-font-display); font-size: 1.0625rem; }
.rbh-rcard__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--rb-space-2);
  flex-wrap: wrap;
}
.rbh-rcard__author { font-size: var(--rb-text-sm); font-weight: var(--rb-fw-semi); color: var(--rb-text); }
.rbh-rcard__verified {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: var(--rb-text-xs);
  color: var(--rb-accent);
}
.rbh-reviews__cta { text-align: center; margin-top: var(--rb-space-6); }

@media (min-width: 600px) {
  .rbh-reviews__grid { grid-template-columns: repeat(2, 1fr); gap: var(--rb-space-4); }
}
@media (min-width: 990px) {
  .rbh-reviews__grid { grid-template-columns: repeat(3, 1fr); gap: var(--rb-space-5); }
}

/* --------------------------------------------------------------------------
   FOOTER LEAD-IN — calm closing CTA band
   -------------------------------------------------------------------------- */
.rbh-leadin {
  background: #F6F4EF;   /* R7: cream band (was sage) */
  color: #232323;        /* ink text */
  text-align: center;
}
.rbh-leadin__inner {
  max-width: 46rem;
  margin-inline: auto;
}
.rbh-leadin__title {
  font-family: var(--rb-font-display);
  font-weight: var(--rb-fw-light);
  font-size: var(--rb-h1);
  line-height: var(--rb-lh-tight);
  letter-spacing: var(--rb-tracking-display);
  color: #232323;                /* R7: ink on cream */
  margin: 0 0 var(--rb-space-4);
}
.rbh-leadin__text {
  font-size: var(--rb-text-lg);
  line-height: var(--rb-lh-body);
  color: rgba(35,35,35,0.82);    /* R7: soft ink on cream */
  margin: 0 0 var(--rb-space-6);
}
.rbh-leadin .rb-btn {
  background: var(--rb-accent);  /* R7: sage solid on cream */
  color: #FFFFFF;
  border-color: var(--rb-accent);
}
.rbh-leadin .rb-btn:hover {
  background: var(--rb-text);
  border-color: var(--rb-text);
  color: #FFFFFF;
}
.rbh-leadin__eyebrow { color: var(--rb-accent); }  /* R7: sage eyebrow on cream */

/* Shared eyebrow centering helper for centered heads */
.rbh-center { text-align: center; }
.rbh-center .rb-lead { margin-inline: auto; }

/* --------------------------------------------------------------------------
   FOOTER LEAD-IN — nefes banner variant (R3)
   When a banner photo is present, the band becomes a media + copy split with
   the slate-sage band as the copy backdrop. Image lazy-loaded, never LCP.
   -------------------------------------------------------------------------- */
/* R7 (owner 2026-06-15): jeep lead-in band -> CREAM (not sage). The full jeep
   photo ("man in front of an orange jeep") must show UNCROPPED, so the media
   uses object-fit:contain on a cream surface (beige letterbox), matching the
   hero/video treatment. */
.rbh-leadin--banner { padding: 0; background: #F6F4EF; }
.rbh-leadin--banner .rbh-leadin__inner {
  max-width: var(--rb-maxw);
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  align-items: stretch;
}
.rbh-leadin__media {
  position: relative;
  /* taller min-height on mobile so the contained portrait photo is not tiny */
  min-height: 460px;
  overflow: hidden;
  background: #F6F4EF;
}
.rbh-leadin__img {
  width: 100%; height: 100%;
  /* CONTAIN: show the ENTIRE jeep photo, never crop the subject's head/legs */
  object-fit: contain;
  display: block;
  position: absolute; inset: 0;
  background: #F6F4EF;
}
.rbh-leadin--banner .rbh-leadin__content {
  padding: var(--rb-section-y) var(--rb-gutter);
  display: flex; flex-direction: column; justify-content: center;
  text-align: center;
}
@media (min-width: 750px) {
  .rbh-leadin--banner .rbh-leadin__inner { grid-template-columns: 1fr 1fr; min-height: 680px; }
  .rbh-leadin--banner .rbh-leadin__content { text-align: left; padding-inline: clamp(2rem, 1rem + 4vw, 5rem); }
  .rbh-leadin--banner .rbh-leadin__media { order: -1; min-height: 680px; }
}
/* Mobile: give the contained portrait jeep photo a comfortable, tasteful height
   (full subject visible, head + bare feet) without dominating the screen. */
@media (max-width: 749px) {
  .rbh-leadin--banner .rbh-leadin__media { min-height: 85vw; }
}

/* --------------------------------------------------------------------------
   REVIEWS PAGE (templates/page.reviews.liquid -> rb-reviews-page)
   -------------------------------------------------------------------------- */
.rbh-revpage { background: var(--rb-bg); }
.rbh-revpage__inner { max-width: var(--rb-maxw); margin-inline: auto; }
.rbh-revpage__hero { text-align: center; margin-bottom: var(--rb-space-7); }
.rbh-revpage__title {
  font-family: var(--rb-font-display);
  font-weight: var(--rb-fw-light);
  font-size: clamp(2rem, 1.5rem + 2vw, 3.25rem);
  line-height: 1.1;
  letter-spacing: var(--rb-tracking-display);
  color: var(--rb-text);
  margin: 0 0 var(--rb-space-3);
}
.rbh-revpage__summary { margin-bottom: var(--rb-space-3); }
.rbh-revpage__intro {
  max-width: 52ch; margin-inline: auto;
  font-size: var(--rb-text-lg); line-height: var(--rb-lh-body); color: var(--rb-text-muted);
}
.rbh-revpage__subhead {
  font-family: var(--rb-font-display);
  font-weight: var(--rb-fw-light);
  font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2.25rem);
  color: var(--rb-text);
  text-align: center;
  margin: var(--rb-space-7) 0 var(--rb-space-5);
}
.rbh-revpage__judgeme { margin-top: var(--rb-space-4); }

/* ==========================================================================
   rb-contrast-fix-r2 — WCAG contrast remediation (design-critic audit 2026-06-15)
   FIX: owner-reported WHITE TEXT ON CREAM. The vintage theme forced a cream
   (#F6F4EF) background directly on the section, beating .rbh-leadin's
   var(--rb-accent) bg, while the white text rules survived -> 1.1:1 unreadable.
   Restore the intended slate-sage band (high specificity so it actually paints),
   then white text passes ~7:1. Also lift low-contrast stone stars on surface.
   Additive only. No tracking / cart-event code touched.
   ========================================================================== */
/* R7 (owner 2026-06-15): the jeep lead-in band is now CREAM, not sage. Text
   must therefore be INK (#232323) for contrast (~13:1 on #F6F4EF), NOT white.
   High specificity retained so it actually paints over the vintage theme. */
.index-section--flush .rbh-leadin,
.shopify-section .rbh-leadin,
section.rbh-leadin.rb-section {
  background: #F6F4EF;            /* soft cream */
  color: #232323;                /* ink */
}
.index-section--flush .rbh-leadin .rbh-leadin__title,
.shopify-section .rbh-leadin .rbh-leadin__title {
  color: #232323;                /* ink on cream ~13:1 */
}
.index-section--flush .rbh-leadin .rbh-leadin__text,
.shopify-section .rbh-leadin .rbh-leadin__text {
  color: rgba(35,35,35,0.82);    /* soft ink ~9:1 on cream */
}
.index-section--flush .rbh-leadin .rbh-leadin__eyebrow,
.shopify-section .rbh-leadin .rbh-leadin__eyebrow {
  color: var(--rb-accent);       /* sage eyebrow accent on cream */
}
/* On cream the closing-CTA button must be the dark/sage solid (white-on-cream
   would vanish). Use the accent (sage) fill with white text. */
.index-section--flush .rbh-leadin .rb-btn,
.shopify-section .rbh-leadin .rb-btn {
  background: var(--rb-accent);
  color: #FFFFFF;
  border-color: var(--rb-accent);
}
.index-section--flush .rbh-leadin .rb-btn:hover,
.shopify-section .rbh-leadin .rb-btn:hover {
  background: var(--rb-text);
  border-color: var(--rb-text);
  color: #FFFFFF;
}
/* low-contrast stone stars (2.27:1) -> use accent for >=4.5:1 on stone surface */
.rbh-quote__stars { color: var(--rb-accent); }

/* ==========================================================================
   R4 REFINEMENTS  (rebuild-home.css)  2026-06-15
   1. Full-screen hero (cover, full-bleed mobile+desktop, legible overlay).
   3. "Looks cute here" video section: much smaller on mobile (less vertical).
   4. Remove empty white gaps between homepage sections (tighten padding).
   Additive + namespaced. No tracking / cart-event code touched.
   ========================================================================== */

/* --- 1. FULL-SCREEN HERO ------------------------------------------------- */
.rbh-hero--full {
  position: relative;
  width: 100%;
  /* near-full viewport; svh avoids the iOS URL-bar jump, dvh as progressive */
  height: 92svh;
  min-height: 520px;
  max-height: 940px;
  overflow: hidden;
  /* R6 (owner 2026-06-15): beige (#F6F4EF) letterbox fill behind the hero photo.
     Hero now shows the FULL banner (object-fit:contain, never cropped) so the
     space the photo does not cover is painted beige to match the page surface. */
  background: #F6F4EF;
  display: block;
  margin: 0;
}
@supports (height: 100dvh) { .rbh-hero--full { height: 92dvh; } }
.rbh-hero__full-media,
.rbh-hero__full-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
}
/* R11 (owner 2026-06-17): hero must COVER the whole area (no beige letterbox
   bands top/bottom on mobile or left/right on desktop) — matches the live theme.
   Upload hero images sized for the hero ratio; cover crops minimally to fill. */
.rbh-hero__full-img {
  object-fit: cover;
  object-position: center center;
  background: #F6F4EF;
}
.rbh-hero__full-link { position: absolute; inset: 0; z-index: 1; }
.rbh-hero__full-overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: clamp(1.5rem, 1rem + 4vw, 4rem);
  pointer-events: none;
  /* legibility scrim, light-text default */
  background: linear-gradient(180deg, rgba(35,35,35,0) 45%, rgba(35,35,35,0.55) 100%);
}
.rbh-hero__full-content {
  text-align: center;
  max-width: 46rem;
  pointer-events: auto;
}
.rbh-hero__full-eyebrow { color: rgba(255,255,255,0.88); margin: 0 0 var(--rb-space-2); }
.rbh-hero__full-title {
  font-family: var(--rb-font-display);
  font-weight: var(--rb-fw-light);
  font-size: clamp(1.75rem, 1.2rem + 4vw, 3.75rem);
  line-height: 1.08;
  letter-spacing: var(--rb-tracking-display);
  color: #FFFFFF;
  margin: 0 0 var(--rb-space-3);
  text-shadow: 0 1px 18px rgba(0,0,0,0.35);
}
.rbh-hero__full-title em { font-style: italic; color: #FFFFFF; }
.rbh-hero__full-lead {
  font-size: var(--rb-text-lg);
  line-height: var(--rb-lh-body);
  color: rgba(255,255,255,0.92);
  margin: 0 auto var(--rb-space-5);
  max-width: 36rem;
  text-shadow: 0 1px 12px rgba(0,0,0,0.3);
}
.rbh-hero__full-actions { justify-content: center; }
/* dark-text variant (light banners): flip scrim + colours */
.rbh-hero--ink .rbh-hero__full-overlay {
  background: linear-gradient(180deg, rgba(246,244,239,0) 45%, rgba(246,244,239,0.6) 100%);
}
.rbh-hero--ink .rbh-hero__full-title,
.rbh-hero--ink .rbh-hero__full-title em { color: var(--rb-text); text-shadow: none; }
.rbh-hero--ink .rbh-hero__full-lead { color: var(--rb-text); text-shadow: none; }
.rbh-hero--ink .rbh-hero__full-eyebrow { color: var(--rb-text-muted); }
@media (min-width: 750px) {
  .rbh-hero__full-overlay { align-items: center; }
}

/* --- 3. VIDEO SECTION — compact carousel on mobile --------------------- */
@media (max-width: 749px) {
  /* R6: trim the surrounding text/padding that ate too much vertical space. */
  .rbh-video { padding-block: var(--rb-space-5) !important; }
  .rbh-video__head { margin-bottom: var(--rb-space-3); }
  /* The title carries BOTH .rb-h2 and .rbh-video__title. .rb-h2 (tokens.css,
     loaded later) ties on specificity and wins, forcing ~29px on mobile. Scope
     to .rbh-video .rbh-video__title (0,2,0) so it beats .rb-h2 (0,1,0). */
  .rbh-video .rbh-video__title {
    font-size: clamp(1.05rem, 0.9rem + 1.6vw, 1.25rem);
    line-height: 1.2;
    max-width: 24ch;
  }
  .rbh-video__handle { margin-top: var(--rb-space-1); }
  /* compact cards that swipe; carousel left-aligned + edge padding so the next
     card peeks (signals scrollability) instead of one frame filling the screen */
  .rbh-video__carousel {
    justify-content: flex-start;
    gap: var(--rb-space-3);
    padding-inline: var(--rb-gutter);
    scroll-padding-inline: var(--rb-gutter);
  }
  .rbh-video__frame {
    width: 168px;
    border-radius: var(--rb-radius-md);
  }
  .rbh-video__play { width: 44px; height: 44px; }
  .rbh-video__play svg { width: 15px; height: 15px; }
}

/* --- 4. REMOVE WHITE GAPS BETWEEN HOMEPAGE SECTIONS --------------------- */
/* The vintage theme wraps each rebuild section in .shopify-section with its own
   default vertical margins, and several rebuild sections add their own
   padding-block, stacking into large empty bands (e.g. after "see all"/
   "keşfet koleksiyonlar"). Zero the wrapper margins for our index sections and
   trim doubled section padding so sections sit flush. */
.index-section { margin-top: 0; margin-bottom: 0; }
.index-section--flush { margin: 0 !important; }
/* full-screen hero must butt straight up against the next section */
.shopify-section .rbh-hero--full { margin-bottom: 0; }
/* collapse the gap a collection slider leaves under its "see all" row before
   the marquee / next band */
.rb-cmq-section { margin-top: 0; margin-bottom: 0; }
.rbh-video + .shopify-section,
.shopify-section + .shopify-section { margin-top: 0; }

/* ==========================================================================
   R5 (owner feedback 2026-06-15) — CONTINUOUS BEIGE + ZERO WHITE GAPS
   --------------------------------------------------------------------------
   Root cause of the stray white bands: the theme's global body background is
   white (settings_data color_body_bg) and the .shopify-section wrappers carry
   their own default vertical margin/padding, so any sliver between two section
   backgrounds shows the white body through. Fix = paint the page surface beige
   at the body/main level AND zero every wrapper margin/padding on the home so
   sections butt flush. Tracking-safe: layout/colour only, no JS, no events.
   color_body_bg is ALSO set to #F6F4EF in settings_data for the site-wide
   default; this block is the homepage belt-and-braces + specificity guard.
   ========================================================================== */
html,
body,
body .main-content,
main#MainContent,
#MainContent,
.template-index #MainContent,
.template-index .main-content {
  background-color: #F6F4EF !important;   /* --rb-bg beige, kill white */
}

/* Home section wrappers: no margins, no stray padding, flush stacking. */
.template-index .shopify-section,
.template-index .index-section {
  margin: 0 !important;
  background-color: #F6F4EF;              /* fallback beige behind any section */
}
/* Some rebuild sections set their own bg (surface/accent) — let those win by
   only forcing beige where the section itself has no explicit background. The
   rule above is non-!important so .rbh-video (surface), .rbh-leadin (accent),
   .rb-section--surface etc. still override it. */

/* The gap specifically called out: KOLEKSIYONLAR sliders -> "GÜNLÜK ÇİFTİNİ
   BUL" banner, and the band above the hero under the header logo. Collapse any
   default top/bottom margin the collection-slider / marquee / shop-the-look
   wrappers leave behind. */
.template-index .shopify-section + .shopify-section,
.template-index .shopify-section > .index-section,
.template-index .collection-slider,
.template-index .rb-cmq-section,
.template-index .shop-the-look,
.template-index .wishit-marquee {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Gap under the SNUG header/logo above the hero: zero the first section's top
   spacing and any header-driven margin so the banner sits straight under nav. */
.template-index #MainContent,
.template-index .main-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
.template-index .shopify-section:first-of-type,
.template-index #shopify-section-rb_hero {
  margin-top: 0 !important;
  padding-top: 0 !important;
  /* R6: the hero section carried a stray 30px padding-bottom (theme default)
     which made the SNUG·SOLEA-25 marquee sit 30px lower above than below.
     Zero it so the marquee's equal 34/34 margins truly centre it between the
     hero and the ÇOK SATANLAR collection. */
  padding-bottom: 0 !important;
}
.shopify-section .rbh-hero--full { margin: 0 !important; }

/* ==========================================================================
   PERF PASS 2026-06-16 note: `contain:paint` on the 158 shadowed card-UI boxes
   (size pills / badges / upsell) was tested and MEASURED to give no reliable
   long-task improvement on desktop, and `paint` containment clips an element's
   own outer box-shadow — a subtle but real visual change. Removed: not worth a
   visual risk for zero measured gain. The desktop scroll cost is the product-
   card shadow repaint that lives in theme.css (off-limits); reducing the shadow
   count there is a design change flagged for owner approval in PERF_REPORT.md. */

/* ==========================================================================
   FINAL PASS 2026-06-16 — below-the-fold section virtualization (MOBILE only).
   The realistic throttled test (6x CPU + slow-4G, human scroll DURING load)
   showed the home page's residual main-thread spikes on MOBILE were the
   synchronous render/decode of the FULL long homepage now that theme.css is
   render-blocking. content-visibility:auto lets the browser SKIP rendering +
   image-decode of off-screen sections until scrolled near → cuts the burst.
   MEASURED: mobile home worst long-task ~1550ms -> mostly <150ms, CLS stays
   0.02-0.04 (clean — 3-run distribution, no forced screenshots).
   GATED TO MOBILE: on DESKTOP the per-section rendered heights vary enough that
   a fixed contain-intrinsic-size mis-reserved space and ADDED layout shift
   (measured desktop CLS 0.25-0.94). Desktop scroll long-tasks were already
   acceptable (max 100-550ms) without CV, so CV is intentionally NOT applied on
   desktop. contain-intrinsic-size below uses measured mobile section heights. */
@media (max-width: 749px) {
  #shopify-section-rb_video,
  #shopify-section-shop_the_look_FzHy7c,
  #shopify-section-rb_social_proof,
  #shopify-section-custom_follow_us_8hdXCj,
  #shopify-section-rb_footer_leadin {
    content-visibility: visible;
  }
  #shopify-section-rb_video                { contain-intrinsic-size: auto 637px; }
  #shopify-section-shop_the_look_FzHy7c    { contain-intrinsic-size: auto 1426px; }
  #shopify-section-rb_social_proof         { contain-intrinsic-size: auto 849px; }
  #shopify-section-custom_follow_us_8hdXCj { contain-intrinsic-size: auto 725px; }
  #shopify-section-rb_footer_leadin        { contain-intrinsic-size: auto 812px; }
}
