/* =========================================================
   CHIC RIHAM BOUTIQUE — Luxury Design System
   Palette: cream / warm beige / deep wine burgundy / soft gold / charcoal
   Display: Cormorant Garamond  |  Body: Jost  |  Utility: Jost (caps, tracked)
   Signature motif: the four‑point sparkle from the CHIC RIHAM mark, used as
   a recurring divider / bullet / hover accent throughout the site.
   ========================================================= */

:root{
  --cream:        #F7F2EA;
  --beige:        #EFE6D8;
  --beige-deep:   #E3D6C2;
  --wine:         #6E1E2B;
  --wine-deep:    #4A1420;
  --gold:         #B68A4E;
  --gold-soft:    #D8BD8C;
  --charcoal:     #2A2220;
  --charcoal-soft:#5C4F49;
  --white:        #FFFDFB;

  --font-display: 'Cormorant Garamond', 'Times New Roman', serif;
  --font-body:    'Jost', 'Helvetica Neue', Arial, sans-serif;

  --container: 1280px;
  --gutter: clamp(24px, 6vw, 96px);

  --ease: cubic-bezier(.22,.61,.36,1);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--cream);
  color:var(--charcoal);
  font-family:var(--font-body);
  font-weight:300;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{margin:0;padding:0;list-style:none;}
button{font-family:inherit;cursor:pointer;}
::selection{background:var(--wine);color:var(--white);}

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

/* ---------- Layout helpers ---------- */
.wrap{max-width:var(--container);margin:0 auto;padding:0 var(--gutter);}
.section{padding:clamp(72px,10vw,140px) 0;}
.section--tight{padding:clamp(48px,6vw,90px) 0;}
.section--beige{background:var(--beige);}
.section--wine{background:var(--wine);color:var(--beige);}
.center{text-align:center;}

/* ---------- Eyebrow + Headline system ---------- */
.eyebrow{
  font-family:var(--font-body);
  font-size:11px;
  letter-spacing:.32em;
  text-transform:uppercase;
  color:var(--gold);
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin:0 0 18px;
}
.eyebrow .spark{width:9px;height:9px;}
h1,h2,h3,h4{
  font-family:var(--font-display);
  font-weight:500;
  letter-spacing:.01em;
  margin:0 0 .4em;
  color:var(--charcoal);
}
h1{font-size:clamp(40px,6vw,78px);line-height:1.05;font-weight:400;}
h2{font-size:clamp(32px,4.4vw,52px);line-height:1.1;}
h3{font-size:clamp(22px,2.4vw,28px);}
.lede{
  font-size:clamp(16px,1.4vw,19px);
  color:var(--charcoal-soft);
  max-width:560px;
  font-weight:300;
}
.section--wine h2,.section--wine h3,.section--wine .lede{color:var(--beige);}
.section--wine .eyebrow{color:var(--gold-soft);}

/* ---------- Sparkle signature ---------- */
.spark{
  display:inline-block;
  position:relative;
  flex:0 0 auto;
}
.spark::before{
  content:'';
  position:absolute;inset:0;
  background:currentColor;
  clip-path:polygon(50% 0%,58% 42%,100% 50%,58% 58%,50% 100%,42% 58%,0% 50%,42% 42%);
}
.divider{
  display:flex;align-items:center;justify-content:center;gap:14px;
  margin:0 auto 28px;color:var(--gold);
}
.divider::before,.divider::after{
  content:'';height:1px;width:60px;background:linear-gradient(90deg,transparent,var(--gold-soft));
}
.divider::after{background:linear-gradient(90deg,var(--gold-soft),transparent);}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--font-body);
  font-size:12px;letter-spacing:.22em;text-transform:uppercase;
  padding:17px 38px;border:1px solid var(--charcoal);
  background:transparent;color:var(--charcoal);
  transition:background .45s var(--ease),color .45s var(--ease),border-color .45s var(--ease);
}
.btn:hover,.btn:focus-visible{background:var(--charcoal);color:var(--cream);}
.btn--wine{border-color:var(--wine);color:var(--wine);}
.btn--wine:hover{background:var(--wine);color:var(--cream);}
.btn--gold{border-color:var(--gold-soft);color:var(--beige);}
.btn--gold:hover{background:var(--gold-soft);color:var(--wine-deep);}
.btn--light{border-color:var(--beige);color:var(--beige);}
.btn--light:hover{background:var(--beige);color:var(--wine-deep);}
.btn--full{width:100%;justify-content:center;}
.btn--whatsapp{
  border-color:var(--wine);background:var(--wine);color:var(--cream);
  padding:19px 0;font-size:13px;letter-spacing:.24em;
}
.btn--whatsapp:hover{background:var(--wine-deep);border-color:var(--wine-deep);}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;}

/* =========================================================
   HEADER / NAV
   ========================================================= */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:100;
  background:rgba(247,242,234,.0);
  transition:background .5s var(--ease),box-shadow .5s var(--ease),padding .4s var(--ease);
  padding:26px 0;
}
.site-header.is-scrolled{
  background:rgba(247,242,234,.94);
  backdrop-filter:blur(10px);
  box-shadow:0 1px 0 rgba(42,34,32,.08);
  padding:14px 0;
}
.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;}
.nav-logo img{height:90px;width:auto;transition:height .4s var(--ease);}
.site-header.is-scrolled .nav-logo img{height:75px;}
.nav-links{display:flex;align-items:center;gap:34px;}
.nav-links a{
  font-size:12px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--charcoal);position:relative;padding:4px 0;
}
.nav-links a::after{
  content:'';position:absolute;left:0;bottom:-2px;width:0;height:1px;background:var(--wine);
  transition:width .35s var(--ease);
}
.nav-links a:hover::after,.nav-links a.active::after{width:100%;}
.nav-actions{display:flex;align-items:center;gap:18px;}
.nav-actions a.icon-link{font-size:11px;letter-spacing:.16em;text-transform:uppercase;}
.nav-toggle{display:none;background:none;border:none;flex-direction:column;gap:5px;padding:6px;}
.nav-toggle span{width:24px;height:1px;background:var(--charcoal);}

@media (max-width:980px){
  .nav-links{
    position:fixed;inset:0;top:0;
    background:var(--cream);
    flex-direction:column;justify-content:center;gap:36px;
    transform:translateX(100%);transition:transform .5s var(--ease);
  }
  .nav-links.is-open{transform:translateX(0);}
  .nav-links a{font-size:15px;}
  .nav-toggle{display:flex;}
  .nav-actions .icon-link{display:none;}
}

/* =========================================================
   HERO
   ========================================================= */
.hero{
  position:relative;min-height:100vh;
  display:flex;align-items:flex-end;
  background:linear-gradient(180deg,rgba(42,22,26,.15),rgba(36,16,20,.72)),
    url('https://images.unsplash.com/photo-1490481651871-ab68de25d43d?q=80&w=1800&auto=format&fit=crop') center/cover;
  overflow:hidden;
}
.hero-inner{
  position:relative;z-index:2;width:100%;
  padding:0 var(--gutter) clamp(64px,9vw,120px);
  color:var(--cream);
}
.hero .eyebrow{color:var(--gold-soft);}
.hero h1{color:var(--white);max-width:920px;}
.hero .lede{color:rgba(247,242,234,.82);max-width:480px;margin-bottom:34px;}
.hero-cta{display:flex;gap:18px;flex-wrap:wrap;}
.hero-scroll{
  position:absolute;right:var(--gutter);bottom:40px;z-index:2;
  display:flex;flex-direction:column;align-items:center;gap:10px;
  color:var(--beige);font-size:10px;letter-spacing:.3em;writing-mode:vertical-rl;
}
.hero-scroll .line{width:1px;height:60px;background:rgba(247,242,234,.5);writing-mode:horizontal-tb;animation:scrollLine 2.4s infinite var(--ease);}
@keyframes scrollLine{0%{transform:scaleY(0);transform-origin:top;}50%{transform:scaleY(1);transform-origin:top;}50.01%{transform-origin:bottom;}100%{transform:scaleY(0);transform-origin:bottom;}}

/* Page header for sub-pages (no full hero) */
.page-head{
  padding:clamp(150px,18vw,210px) 0 clamp(60px,8vw,90px);
  background:var(--beige);text-align:center;
}
.page-head h1{font-size:clamp(36px,5vw,58px);}
.breadcrumb{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--charcoal-soft);}
.breadcrumb a{color:var(--wine);}

/* =========================================================
   BRAND / COLLECTION / PRODUCT CARDS
   ========================================================= */
.grid{display:grid;gap:36px;}
.grid--3{grid-template-columns:repeat(3,1fr);}
.grid--4{grid-template-columns:repeat(4,1fr);}
.grid--6{grid-template-columns:repeat(6,1fr);}
@media (max-width:980px){.grid--4{grid-template-columns:repeat(2,1fr);}.grid--3{grid-template-columns:repeat(2,1fr);}.grid--6{grid-template-columns:repeat(3,1fr);}}
@media (max-width:620px){.grid--4,.grid--3,.grid--6{grid-template-columns:1fr 1fr;}}

.brand-card{
  background:var(--white);
  padding:46px 30px 36px;text-align:center;
  border:1px solid var(--beige-deep);
  transition:transform .5s var(--ease),box-shadow .5s var(--ease);
  display:flex;flex-direction:column;align-items:center;
}
.brand-card:hover{transform:translateY(-6px);box-shadow:0 24px 50px rgba(74,20,32,.10);}
.brand-card .logo-frame{
  height:90px;display:flex;align-items:center;justify-content:center;margin-bottom:24px;
}
.brand-card .logo-frame img{max-height:78px;max-width:160px;object-fit:contain;}
.brand-card .tag{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:10px;}
.brand-card p{font-size:14px;color:var(--charcoal-soft);margin:0 0 26px;}
.brand-card .btn{margin-top:auto;}

.product-card{position:relative;}
.product-card .frame{
  position:relative;overflow:hidden;background:var(--beige);
  aspect-ratio:3/4;margin-bottom:18px;
}
.product-card .frame img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease);}
.product-card:hover .frame img{transform:scale(1.06);}
.product-card .frame .quick{
  position:absolute;left:0;right:0;bottom:0;
  background:rgba(42,34,32,.88);color:var(--cream);
  text-align:center;padding:13px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  transform:translateY(100%);transition:transform .4s var(--ease);
}
.product-card:hover .frame .quick{transform:translateY(0);}
.product-card .brand-tag{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:6px;}
.product-card h4{font-size:18px;margin-bottom:4px;}
.product-card .price{font-size:14px;color:var(--charcoal-soft);letter-spacing:.04em;}

/* Category tiles */
.cat-tile{position:relative;overflow:hidden;aspect-ratio:4/5;}
.cat-tile img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease);}
.cat-tile:hover img{transform:scale(1.08);}
.cat-tile .overlay{
  position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,10,12,0) 40%,rgba(20,10,12,.78));
  display:flex;flex-direction:column;justify-content:flex-end;padding:26px;color:var(--white);
}
.cat-tile .overlay span{font-family:var(--font-display);font-size:24px;}
.cat-tile .overlay small{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-soft);}

/* ---------- Perfume / signature split ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch;}
.split img{height:100%;width:100%;object-fit:cover;}
.split .copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(40px,6vw,90px);}
@media (max-width:900px){.split{grid-template-columns:1fr;}.split img{aspect-ratio:4/3;}}

/* ---------- Why CHIC RIHAM pillars ---------- */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;}
@media (max-width:900px){.pillars{grid-template-columns:1fr;gap:40px;}}
.pillar{text-align:center;padding:0 10px;}
.pillar .spark{width:18px;height:18px;color:var(--gold);margin-bottom:18px;}
.pillar h3{margin-bottom:10px;}
.pillar p{font-size:14.5px;color:var(--charcoal-soft);}

/* ---------- Instagram strip ---------- */
.insta-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;}
.insta-grid a{position:relative;overflow:hidden;aspect-ratio:1/1;display:block;}
.insta-grid img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease);}
.insta-grid a:hover img{transform:scale(1.1);}
@media (max-width:760px){.insta-grid{grid-template-columns:repeat(3,1fr);}}

/* ---------- Newsletter ---------- */
.newsletter{background:var(--wine-deep);color:var(--beige);text-align:center;}
.newsletter form{
  display:flex;gap:0;max-width:460px;margin:30px auto 0;border-bottom:1px solid var(--gold-soft);
}
.newsletter input{
  flex:1;background:none;border:none;color:var(--beige);padding:14px 4px;font-size:14px;font-family:var(--font-body);
}
.newsletter input::placeholder{color:rgba(247,242,234,.55);}
.newsletter button{
  background:none;border:none;color:var(--gold-soft);font-size:11px;letter-spacing:.2em;text-transform:uppercase;padding:14px 4px;
}

/* =========================================================
   FOOTER
   ========================================================= */
.site-footer{background:var(--charcoal);color:var(--beige);}
.footer-top{padding:clamp(60px,8vw,90px) 0 50px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1.1fr;gap:50px;}
@media (max-width:900px){.footer-top{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.footer-top{grid-template-columns:1fr;}}
.footer-top .logo-img{height:38px;margin-bottom:18px;filter:brightness(0) invert(1);}
.site-footer p{color:rgba(247,242,234,.6);font-size:14px;}
.footer-col h4{font-family:var(--font-body);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-soft);margin-bottom:18px;font-weight:400;}
.footer-col li{margin-bottom:11px;}
.footer-col a{font-size:14px;color:rgba(247,242,234,.78);transition:color .3s;}
.footer-col a:hover{color:var(--gold-soft);}
.footer-bottom{
  border-top:1px solid rgba(247,242,234,.12);padding:22px 0;
  display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;
  font-size:12px;color:rgba(247,242,234,.5);
}
.footer-bottom .legal a{margin-left:18px;color:rgba(247,242,234,.5);}
.footer-bottom .legal a:hover{color:var(--gold-soft);}

/* =========================================================
   SHOP / FILTER / PRODUCT PAGE
   ========================================================= */
.shop-toolbar{
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:18px;
  padding-bottom:30px;border-bottom:1px solid var(--beige-deep);margin-bottom:46px;
}
.filter-pills{display:flex;gap:10px;flex-wrap:wrap;}
.filter-pills button{
  background:none;border:1px solid var(--beige-deep);padding:9px 20px;
  font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--charcoal-soft);
  transition:all .3s var(--ease);
}
.filter-pills button.active,.filter-pills button:hover{background:var(--wine);border-color:var(--wine);color:var(--cream);}
.sort-select{
  border:none;border-bottom:1px solid var(--charcoal);background:none;
  font-family:var(--font-body);font-size:12px;letter-spacing:.1em;text-transform:uppercase;padding:6px 0;
}

.product-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;}
@media (max-width:900px){.product-layout{grid-template-columns:1fr;gap:36px;}}
.product-gallery .main-frame{aspect-ratio:4/5;background:var(--beige);overflow:hidden;margin-bottom:14px;}
.product-gallery .main-frame img{width:100%;height:100%;object-fit:cover;}
.thumbs{display:flex;gap:12px;}
.thumbs button{width:74px;height:90px;padding:0;border:1px solid var(--beige-deep);background:var(--beige);overflow:hidden;opacity:.7;}
.thumbs button.active{opacity:1;border-color:var(--wine);}
.thumbs img{width:100%;height:100%;object-fit:cover;}

.product-info .brand-tag a{color:var(--wine);font-size:11px;letter-spacing:.2em;text-transform:uppercase;}
.product-info h1{font-size:clamp(28px,3.4vw,40px);margin:10px 0 14px;}
.product-info .price{font-size:20px;color:var(--wine);font-family:var(--font-display);margin-bottom:22px;}
.product-info .desc{font-size:15px;color:var(--charcoal-soft);margin-bottom:30px;}
.option-block{margin-bottom:26px;}
.option-block label{display:block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--charcoal-soft);margin-bottom:12px;}
.swatches{display:flex;gap:10px;}
.swatch{
  width:42px;height:42px;border-radius:50%;border:1px solid var(--beige-deep);
  display:flex;align-items:center;justify-content:center;cursor:pointer;
}
.swatch.active{border:2px solid var(--wine);box-shadow:0 0 0 2px var(--cream) inset;}
.size-opts{display:flex;gap:10px;}
.size-opts button{
  width:48px;height:42px;border:1px solid var(--beige-deep);background:none;font-size:12px;letter-spacing:.05em;
  transition:all .3s;
}
.size-opts button.active,.size-opts button:hover{background:var(--charcoal);color:var(--cream);border-color:var(--charcoal);}
.qty-stepper{display:flex;align-items:center;border:1px solid var(--beige-deep);width:fit-content;}
.qty-stepper button{width:40px;height:42px;background:none;border:none;font-size:16px;}
.qty-stepper span{width:46px;text-align:center;font-size:14px;}
.product-meta-list{margin-top:30px;border-top:1px solid var(--beige-deep);padding-top:22px;}
.product-meta-list li{font-size:13px;color:var(--charcoal-soft);margin-bottom:8px;display:flex;gap:10px;}
.product-meta-list .spark{width:8px;height:8px;color:var(--gold);margin-top:4px;}

/* ---------- About page ---------- */
.about-hero{position:relative;height:62vh;min-height:420px;background:linear-gradient(180deg,rgba(42,22,26,.1),rgba(36,16,20,.7)),url('https://images.unsplash.com/photo-1483985988355-763728e1935b?q=80&w=1800&auto=format&fit=crop') center/cover;display:flex;align-items:center;}
.about-hero .wrap{color:var(--white);}
.about-quote{
  font-family:var(--font-display);font-style:italic;font-size:clamp(22px,2.6vw,30px);
  max-width:760px;margin:0 auto;text-align:center;color:var(--wine-deep);line-height:1.5;
}
.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;}
@media (max-width:900px){.timeline{grid-template-columns:1fr 1fr;}}
.timeline .t-item{border-top:1px solid var(--gold-soft);padding-top:16px;}
.timeline .t-item .yr{font-family:var(--font-display);font-size:30px;color:var(--wine);}

/* ---------- Contact page ---------- */
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr;}}
.contact-info li{display:flex;gap:16px;margin-bottom:30px;align-items:flex-start;}
.contact-info .spark{width:14px;height:14px;color:var(--gold);margin-top:6px;}
.contact-info h4{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--charcoal-soft);margin-bottom:6px;font-family:var(--font-body);font-weight:400;}
.contact-info p,.contact-info a{font-size:16px;}
.form-field{margin-bottom:24px;}
.form-field label{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--charcoal-soft);margin-bottom:10px;}
.form-field input,.form-field textarea{
  width:100%;border:none;border-bottom:1px solid var(--charcoal);background:none;
  font-family:var(--font-body);font-size:15px;padding:10px 2px;color:var(--charcoal);
}
.form-field textarea{resize:vertical;min-height:110px;}
.map-frame{margin-top:50px;border:1px solid var(--beige-deep);aspect-ratio:16/7;overflow:hidden;}
.map-frame iframe{width:100%;height:100%;border:0;filter:sepia(.18) saturate(.85);}

/* ---------- Reveal animation ---------- */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease),transform .9s var(--ease);}
.reveal.is-visible{opacity:1;transform:translateY(0);}

/* ---------- Toast (whatsapp confirm) ---------- */
.toast{
  position:fixed;bottom:30px;left:50%;transform:translateX(-50%) translateY(20px);
  background:var(--charcoal);color:var(--cream);padding:16px 28px;font-size:13px;
  letter-spacing:.05em;z-index:300;opacity:0;pointer-events:none;transition:all .4s var(--ease);
}
.toast.is-shown{opacity:1;transform:translateX(-50%) translateY(0);}
