/* ============================================================
   RADHA FASHION — design tokens
   Palette pulled from the store itself: the magenta neon sign,
   and the mustard / teal / maroon jewel tones stacked on the
   fabric shelves.
   ============================================================ */
:root{
  --cream:      #F6F0E4;
  --cream-dim:  #EFE6D3;
  --ink:        #221F1F;
  --ink-soft:   #4A4340;
  --magenta:    #C81C6B;
  --magenta-dk: #931551;
  --mustard:    #D9A017;
  --teal:       #2A6F6A;
  --maroon:     #7A2331;
  --line:       rgba(34,31,31,0.12);

  --font-display: "Fraunces", Georgia, serif;
  --font-body: "Work Sans", -apple-system, sans-serif;

  --container: 1180px;
}

*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; }
body{
  font-family: var(--font-body);
  background: var(--cream);
  color: var(--ink);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
img{ display:block; max-width:100%; height:auto; }
a{ color:inherit; text-decoration:none; }
.wrap{ max-width: var(--container); margin:0 auto; padding: 0 28px; }

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *{ animation-duration:0.01ms !important; transition-duration:0.01ms !important; }
}

/* ---------- shared type ---------- */
.eyebrow{
  display:inline-block;
  font-family: var(--font-body);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--magenta-dk);
  margin-bottom: 14px;
}
.eyebrow--light{ color: var(--cream); opacity:0.85; }
.eyebrow--center{ display:block; text-align:center; }

.section-title{
  font-family: var(--font-display);
  font-weight: 600;
  font-size: clamp(1.9rem, 3.4vw, 2.7rem);
  text-align:center;
  max-width: 720px;
  margin: 0 auto 14px;
}
.section-sub{
  text-align:center;
  color: var(--ink-soft);
  max-width: 520px;
  margin: 0 auto 56px;
  font-size: 1.02rem;
}

.btn{
  display:inline-block;
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 0.92rem;
  letter-spacing: 0.02em;
  padding: 15px 30px;
  border-radius: 2px;
  border: 1.5px solid transparent;
  transition: transform 0.18s ease, background 0.18s ease, color 0.18s ease;
}
.btn--solid{ background: var(--magenta); color: var(--cream); }
.btn--solid:hover{ background: var(--magenta-dk); transform: translateY(-2px); }
.btn--ghost{ border-color: rgba(246,240,228,0.55); color: var(--cream); }
.btn--ghost:hover{ background: rgba(246,240,228,0.12); transform: translateY(-2px); }
.btn--small{ padding: 11px 22px; font-size: 0.85rem; }

/* ---------- signature swatch strip ----------
   Echoes the folded-fabric shelves: a row of stacked
   colour blocks, uneven heights, slightly overlapped. */
.swatch-strip{
  display:flex;
  height: 10px;
  width:100%;
}
.swatch-strip span{ flex:1; }
.swatch-strip span:nth-child(1){ background:var(--magenta); }
.swatch-strip span:nth-child(2){ background:var(--mustard); }
.swatch-strip span:nth-child(3){ background:var(--teal); }
.swatch-strip span:nth-child(4){ background:var(--maroon); }
.swatch-strip span:nth-child(5){ background:var(--ink); }
.swatch-strip span:nth-child(6){ background:var(--magenta-dk); }
.swatch-strip span:nth-child(7){ background:var(--mustard); }
.swatch-strip span:nth-child(8){ background:var(--teal); }
.swatch-strip span:nth-child(9){ background:var(--maroon); }
.swatch-strip span:nth-child(10){ background:var(--magenta); }
.swatch-strip span:nth-child(11){ background:var(--ink); }
.swatch-strip span:nth-child(12){ background:var(--mustard); }
.swatch-strip--footer{ height:6px; margin: 30px 0 22px; }

/* ================= HEADER ================= */
.header{
  position: sticky; top:0; z-index: 50;
  background: var(--cream);
  border-bottom: 1px solid var(--line);
}
.nav-row{
  display:flex; align-items:center; justify-content:space-between;
  padding-top: 18px; padding-bottom: 18px;
}
.brand{
  font-family: var(--font-display);
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.01em;
}
.brand em{ font-style: italic; color: var(--magenta); font-weight:500; }

.nav{ display:flex; align-items:center; gap: 32px; }
.nav a{
  font-size: 0.92rem;
  font-weight: 500;
  color: var(--ink-soft);
  transition: color 0.15s ease;
}
.nav a:hover{ color: var(--magenta); }
.nav-cta{
  background: var(--ink);
  color: var(--cream) !important;
  padding: 10px 20px;
  border-radius: 2px;
}
.nav-cta:hover{ background: var(--magenta) !important; }

.nav-toggle, .nav-toggle-label{ display:none; }

/* ================= HERO ================= */
.hero{ position:relative; color: var(--cream); overflow:hidden; }
.hero-media{ position:absolute; inset:0; }
.hero-media img{ width:100%; height:100%; object-fit:cover; }
.hero-media-shade{
  position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(8,7,7,0.15) 0%, rgba(8,7,7,0.3) 55%, rgba(8,7,7,0.55) 100%);
}
.hero-inner{
  position:relative;
  padding: 44px 40px;
  margin-top: 130px;
  margin-bottom: 100px;
  max-width: 640px;
  background: rgba(8,7,7,0.5);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  border-radius: 4px;
  border: 1px solid rgba(246,240,228,0.12);
}
.eyebrow--light{
  color: var(--cream);
  opacity: 1;
  text-shadow: 0 2px 10px rgba(0,0,0,0.55);
}
.hero h1{
  font-family: var(--font-display);
  font-size: clamp(2.6rem, 6vw, 4.4rem);
  font-weight: 600;
  line-height: 1.04;
  margin-bottom: 24px;
  text-shadow: 0 4px 24px rgba(0,0,0,0.55);
}
.hero h1 em{ font-style: italic; color: var(--mustard); font-weight:500; }
.hero-text{
  font-size: 1.08rem;
  max-width: 480px;
  color: var(--cream);
  margin-bottom: 38px;
  text-shadow: 0 2px 14px rgba(0,0,0,0.6);
}
.hero-actions{ display:flex; gap: 16px; flex-wrap:wrap; }

/* ================= ABOUT ================= */
.about{ padding: 110px 0; }
.about-grid{
  display:grid;
  grid-template-columns: 1.05fr 0.85fr;
  gap: 70px;
  align-items:center;
}
.about-copy h2{
  font-family: var(--font-display);
  font-size: clamp(1.9rem, 3.2vw, 2.5rem);
  font-weight: 600;
  line-height:1.15;
  margin-bottom: 22px;
}
.about-copy p{ color: var(--ink-soft); margin-bottom: 16px; max-width: 480px; }
.about-stats{
  display:flex; gap: 40px;
  margin-top: 34px;
  padding-top: 30px;
  border-top: 1px solid var(--line);
}
.about-stats strong{
  display:block;
  font-family: var(--font-display);
  font-size: 1.5rem;
  color: var(--magenta-dk);
}
.about-stats span{
  font-size: 0.8rem;
  color: var(--ink-soft);
  letter-spacing: 0.03em;
}
.about-photo{
  aspect-ratio: 4/5;
  overflow:hidden;
  border-radius: 3px;
}
.about-photo img{ width:100%; height:100%; object-fit:cover; object-position: top center; }

/* ================= COLLECTIONS ================= */
.collections{ padding: 40px 0 100px; }

.collection-block{
  display:grid;
  grid-template-columns: 0.9fr 1.1fr;
  align-items:center;
  gap: 60px;
  max-width: var(--container);
  margin: 0 auto 90px;
  padding: 0 28px;
}
.collection-block--reverse{ grid-template-columns: 1.1fr 0.9fr; }
.collection-block--reverse .collection-media{ order:2; }
.collection-block--reverse .collection-copy{ order:1; }

.collection-media{
  aspect-ratio: 4/5;
  overflow:hidden;
  border-radius: 3px;
  background: var(--cream-dim);
}
.collection-media img{ width:100%; height:100%; object-fit:cover; object-position: top center; }

.tag{
  display:inline-block;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 6px 14px;
  border-radius: 2px;
  color: var(--cream);
  margin-bottom: 18px;
}
.tag--magenta{ background: var(--magenta); }
.tag--teal{ background: var(--teal); }
.tag--mustard{ background: var(--mustard); color: var(--ink); }

.collection-copy h3{
  font-family: var(--font-display);
  font-size: clamp(1.5rem, 2.6vw, 2rem);
  font-weight: 600;
  margin-bottom: 16px;
  max-width: 420px;
}
.collection-copy p{ color: var(--ink-soft); max-width: 420px; }

/* ================= SHELVES (signature section) ================= */
.shelves{
  position: relative;
  min-height: 78vh;
  display:flex; align-items:flex-end;
  color: var(--cream);
  overflow:hidden;
}
.shelves-media{ position:absolute; inset:0; }
.shelves-media img{ width:100%; height:100%; object-fit:cover; }
.shelves-media::after{ content:''; }
.shelves::before{
  content:'';
  position:absolute; inset:0;
  background: linear-gradient(0deg, rgba(12,10,10,0.96) 0%, rgba(12,10,10,0.55) 55%, rgba(12,10,10,0.25) 100%);
}
.shelves-copy{
  position:relative;
  padding: 80px 28px 70px;
  max-width: 680px;
}
.shelves-copy h2{
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 500;
  font-size: clamp(1.8rem, 3.6vw, 2.7rem);
  margin-bottom: 18px;
  line-height:1.18;
  text-shadow: 0 4px 20px rgba(0,0,0,0.6);
}
.shelves-copy p{ color: var(--cream); max-width: 520px; text-shadow: 0 2px 12px rgba(0,0,0,0.6); }

.shelf-secondary{ background: var(--ink); padding: 90px 0; color: var(--cream); }
.shelf-secondary-grid{
  display:grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 60px;
  align-items:center;
}
.shelf-secondary-img{ border-radius:3px; }
.shelf-secondary-copy .eyebrow{ color: var(--mustard); }
.shelf-secondary-copy h3{
  font-family: var(--font-display);
  font-size: clamp(1.4rem, 2.4vw, 1.9rem);
  font-weight:600;
  margin-bottom: 16px;
  max-width: 420px;
}
.shelf-secondary-copy p{ color: rgba(246,240,228,0.75); max-width: 420px; margin-bottom: 26px; }

/* ================= VISIT ================= */
.visit{ padding: 110px 0 100px; }
.visit-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.visit-card{
  background: var(--cream-dim);
  border: 1px solid var(--line);
  border-radius: 3px;
  padding: 34px 30px;
}
.visit-card h4{
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight:600;
  margin-bottom: 14px;
}
.visit-card a{
  display:block;
  color: var(--magenta-dk);
  font-weight:500;
  margin-bottom: 6px;
}
.visit-card a:hover{ text-decoration: underline; }
.visit-card .fine{ margin-top: 10px; font-size: 0.85rem; color: var(--ink-soft); }

/* ================= FOOTER ================= */
.footer{ background: var(--ink); color: var(--cream); padding: 60px 0 40px; }
.footer-inner{ text-align:center; }
.footer-brand{
  font-family: var(--font-display);
  font-size: 1.4rem;
  font-weight:600;
}
.footer-brand em{ font-style:italic; color: var(--mustard); font-weight:500; }
.footer-tag{ color: rgba(246,240,228,0.7); margin-top: 10px; font-size: 0.95rem; }
.footer-legal{ color: rgba(246,240,228,0.45); font-size: 0.78rem; }

/* ================= RESPONSIVE ================= */
@media (max-width: 900px){
  .about-grid, .collection-block, .collection-block--reverse, .shelf-secondary-grid{
    grid-template-columns: 1fr;
  }
  .collection-block--reverse .collection-media, .collection-block--reverse .collection-copy{ order:initial; }
  .about-photo{ order:-1; aspect-ratio: 16/10; }
  .collection-copy p, .collection-copy h3{ max-width:none; }
  .visit-grid{ grid-template-columns: 1fr; }
}

@media (max-width: 760px){
  .nav-toggle-label{
    display:flex; flex-direction:column; gap:5px; cursor:pointer; z-index:60;
  }
  .nav-toggle-label span{ width:24px; height:2px; background: var(--ink); display:block; }
  .nav-toggle{ display:none; }
  .nav{
    position:absolute; top:100%; left:0; right:0;
    flex-direction:column; align-items:flex-start; gap: 0;
    background: var(--cream);
    border-bottom: 1px solid var(--line);
    max-height:0; overflow:hidden;
    transition: max-height 0.25s ease;
  }
  .nav a{ padding: 16px 28px; width:100%; border-top: 1px solid var(--line); }
  .nav-cta{ margin: 16px 28px; width: calc(100% - 56px); text-align:center; }
  .nav-toggle:checked ~ .nav{ max-height: 320px; }

  .hero-inner{ padding: 100px 24px 70px; }
  .about, .collections, .visit{ padding-top: 70px; padding-bottom: 70px; }
  .collection-block{ margin-bottom: 60px; }
}
