
/* Srinithi Textiles brand palette */
:root{
  --color-royal-purple:#482E83;
  --color-ocean-blue:#2563EB;
  --color-teal:#06B6D4;
  --color-emerald:#22C55E;
  --color-amber:#F3A20B;
  --color-pink:#EC4899;
  --color-ruby-red:#E11D48;
  --color-charcoal:#0F172A;
  --color-warm-ivory:#E9E0D2;
  --color-white:#FFFFFF;
  --color-border:#E5E7EB;
  --color-muted:#64748B;
  --gradient-brand:linear-gradient(110deg,#482E83 0%,#2563EB 38%,#06B6D4 72%,#EC4899 100%);
}
*{ -webkit-tap-highlight-color: transparent; }
html{ scroll-behavior:smooth; scroll-padding-top:96px; }
body{ font-family:'Jost',sans-serif; background:linear-gradient(180deg,#E9E0D2 0%,#E6DED5 38%,#E1DBD5 70%,#E9E0D2 100%); background-attachment:fixed; color:var(--color-charcoal); overflow-x:hidden; }
.font-serif{ font-family:'Cormorant Garamond',serif; }
::selection{ background:#482E83; color:#fff; }
::-webkit-scrollbar{ width:10px; height:8px; }
::-webkit-scrollbar-track{ background:#E9E0D2; }
::-webkit-scrollbar-thumb{ background:#CBBDA8; border-radius:99px; border:2px solid #E9E0D2; }
::-webkit-scrollbar-thumb:hover{ background:#482E83; }
.no-scrollbar::-webkit-scrollbar{ display:none; }
.no-scrollbar{ -ms-overflow-style:none; scrollbar-width:none; }
.thin-scroll::-webkit-scrollbar{ width:5px; height:5px; }
.texture-weave{ background-image: repeating-linear-gradient(0deg, rgba(236,72,153,.05) 0 1px, transparent 1px 9px), repeating-linear-gradient(90deg, rgba(72,46,131,.05) 0 1px, transparent 1px 9px); }
.texture-dots{ background-image: radial-gradient(rgba(6,182,212,.20) 1.2px, transparent 1.2px); background-size:18px 18px; }
#collections{ background:linear-gradient(135deg,#E9E0D2 0%,#E8E0EA 55%,#E0E5E8 100%); }
#highlights{ background:linear-gradient(135deg,#DDEBEA 0%,#E8E0EA 55%,#E9E0D2 100%); }
#testimonials{ background:linear-gradient(135deg,#E9E0D2 0%,#F1E3E0 55%,#E8E0EA 100%); }
#contact{ background:linear-gradient(135deg,#E8E0EA 0%,#E0E5E8 58%,#E9E0D2 100%); }
.grain::after{ content:''; position:absolute; inset:0; pointer-events:none; opacity:.05; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
.nav-link{ position:relative; font-size:13px; letter-spacing:.12em; text-transform:uppercase; font-weight:500; color:#334155; padding:8px 2px; white-space:nowrap; transition:color .3s; }
.nav-link::after{ content:''; position:absolute; left:0; bottom:2px; height:1.5px; width:100%; background:var(--gradient-brand); transform:scaleX(0); transform-origin:left; transition:transform .4s cubic-bezier(.22,1,.36,1); border-radius:99px; }
.nav-link:hover{ color:#482E83; } .nav-link:hover::after,.nav-link.active::after{ transform:scaleX(1); }
.reveal{ opacity:0; transform:translateY(34px); transition:opacity .9s cubic-bezier(.22,1,.36,1), transform .9s cubic-bezier(.22,1,.36,1); }
.reveal.revealed{ opacity:1; transform:none; }
.reveal-delay-1{ transition-delay:.12s; } .reveal-delay-2{ transition-delay:.24s; } .reveal-delay-3{ transition-delay:.36s; }
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:10px; font-weight:500; letter-spacing:.08em; text-transform:uppercase; font-size:13px; border-radius:99px; padding:15px 32px; min-height:52px; transition:all .4s cubic-bezier(.22,1,.36,1); cursor:pointer; }
.btn-primary{ background:#482E83; color:#fff; box-shadow:0 12px 30px -8px rgba(72,46,131,.35); }
.btn-primary:hover{ background:#352061; transform:translateY(-2px); box-shadow:0 18px 40px -10px rgba(72,46,131,.42); }
.btn-gold{ background:#F3A20B; color:#0F172A; box-shadow:0 12px 30px -8px rgba(243,162,11,.32); }
.btn-gold:hover{ transform:translateY(-2px); box-shadow:0 18px 44px -10px rgba(243,162,11,.42); filter:brightness(1.05); }
.btn-outline{ background:rgba(255,255,255,.92); backdrop-filter:blur(10px); color:#0F172A; border:1.5px solid #CBD5E1; }
.btn-outline:hover{ border-color:#482E83; background:#fff; transform:translateY(-2px); box-shadow:0 14px 32px -10px rgba(72,46,131,.22); }
.btn-white{ background:#fff; color:#0F172A; box-shadow:0 10px 30px rgba(15,23,42,.08); }
.btn-white:hover{ transform:translateY(-2px); box-shadow:0 18px 40px rgba(0,0,0,.12); }
.img-zoom img{ transition:transform 1s cubic-bezier(.22,1,.36,1); }
.img-zoom:hover img{ transform:scale(1.08); }
.card-lift{ transition:transform .5s cubic-bezier(.22,1,.36,1), box-shadow .5s; }
.card-lift:hover{ transform:translateY(-8px); }
.eyebrow{ display:inline-flex; align-items:center; gap:12px; font-size:12px; letter-spacing:.28em; text-transform:uppercase; color:#482E83; font-weight:500; }
.eyebrow::before{ content:''; width:36px; height:1px; background:#EC4899; }
.eyebrow.center::after{ content:''; width:36px; height:1px; background:#06B6D4; }
.hero-arch{ border-radius:260px 260px 28px 28px; overflow:hidden; border:10px solid #fff; box-shadow:0 40px 80px -20px rgba(112,67,154,.25); }
.arch-outline{ position:absolute; inset:0; border-radius:260px 260px 28px 28px; border:1px solid rgba(72,46,131,.35); transform:translate(18px,18px); pointer-events:none; }
.hero-slide{ position:absolute; inset:0; opacity:0; transition:opacity 1.4s ease; }
.hero-slide.active{ opacity:1; }
@keyframes floaty{ 0%,100%{ transform:translateY(0);} 50%{ transform:translateY(-12px);} }
.floaty{ animation:floaty 5s ease-in-out infinite; } .floaty-2{ animation:floaty 6.5s ease-in-out infinite; animation-delay:1s; }
@keyframes spinSlow{ to{ transform:rotate(360deg);} }
.spin-slow{ animation:spinSlow 18s linear infinite; }
@keyframes marquee{ 0%{ transform:translateX(0);} 100%{ transform:translateX(-50%);} }
.marquee-track{ display:flex; width:max-content; animation:marquee 34s linear infinite; }
.marquee-track:hover{ animation-play-state:paused; }
@keyframes pulseDot{ 0%,100%{ transform:scale(1); opacity:1;} 50%{ transform:scale(1.6); opacity:.6;} }
.pulse-dot{ animation:pulseDot 1.8s ease-in-out infinite; }
.drawer{ transition:transform .55s cubic-bezier(.22,1,.36,1); }
.modal-overlay{ position:fixed; inset:0; background:rgba(15,23,42,.58); backdrop-filter:blur(8px); opacity:0; pointer-events:none; transition:opacity .4s; z-index:80; }
.modal-overlay.open{ opacity:1; pointer-events:auto; }
.modal-box{ transform:translateY(28px) scale(.97); opacity:0; transition:all .5s cubic-bezier(.22,1,.36,1); }
.modal-overlay.open .modal-box{ transform:translateY(0) scale(1); opacity:1; }
.tab-pill{ padding:11px 22px; border-radius:99px; font-size:13px; letter-spacing:.08em; text-transform:uppercase; font-weight:500; border:1.5px solid #CBD5E1; color:#64748B; background:#fff; transition:all .35s; white-space:nowrap; cursor:pointer; }
.tab-pill:hover{ border-color:#482E83; color:#0F172A; }
.tab-pill.active{ background:#482E83; border-color:#482E83; color:#fff; box-shadow:0 10px 24px -8px rgba(72,46,131,.35); }
.input{ width:100%; background:#fff; border:1.5px solid #CBD5E1; border-radius:14px; padding:14px 18px; font-size:15px; outline:none; transition:all .3s; color:#0F172A; }
.input:focus{ border-color:#482E83; box-shadow:0 0 0 4px rgba(72,46,131,.14); }
.input::placeholder{ color:#94A3B8; }
.swatch{ width:36px; height:36px; border-radius:99px; border:3px solid #fff; box-shadow:0 0 0 1px rgba(0,0,0,.12), 0 4px 10px rgba(0,0,0,.12); cursor:pointer; transition:all .3s; position:relative; }
.swatch:hover{ transform:scale(1.12); }
.swatch.active{ box-shadow:0 0 0 2px #482E83, 0 6px 14px rgba(72,46,131,.35); transform:scale(1.1); }
.size-pill{ padding:10px 18px; border-radius:12px; border:1.5px solid #CBD5E1; font-size:13px; font-weight:500; cursor:pointer; transition:all .3s; background:#fff; }
.size-pill:hover{ border-color:#482E83; } .size-pill.active{ background:#482E83; color:#fff; border-color:#482E83; }
.accordion-content{ max-height:0; overflow:hidden; transition:max-height .5s cubic-bezier(.22,1,.36,1); }
.accordion-item.open .accordion-content{ max-height:300px; }
.accordion-item.open .acc-icon{ transform:rotate(45deg); } .acc-icon{ transition:transform .4s; }
.gallery-thumb{ border:2px solid transparent; border-radius:14px; overflow:hidden; cursor:pointer; transition:all .3s; opacity:.7; }
.gallery-thumb:hover{ opacity:1; } .gallery-thumb.active{ border-color:#482E83; opacity:1; box-shadow:0 8px 20px -6px rgba(72,46,131,.35); }
.toast{ transform:translateX(120%); transition:transform .5s cubic-bezier(.22,1,.36,1); }
.toast.show{ transform:translateX(0); }
.dot-nav{ width:8px; height:8px; border-radius:99px; background:#CBD5E1; transition:all .4s; cursor:pointer; }
.dot-nav.active{ width:32px; background:#482E83; }
.gold-divider{ display:flex; align-items:center; gap:12px; justify-content:center; }
.gold-divider::before,.gold-divider::after{ content:''; height:1px; width:64px; background:linear-gradient(90deg,transparent,#2563EB); }
.gold-divider::after{ background:linear-gradient(90deg,#EC4899,transparent); }
.wishlist-heart svg{ transition:all .3s; }
.wishlist-heart.active svg{ fill:#EC4899; stroke:#EC4899; transform:scale(1.1); }
.checkbox-custom{ width:22px; height:22px; border-radius:7px; border:2px solid #CBD5E1; display:flex; align-items:center; justify-content:center; transition:all .3s; cursor:pointer; background:#fff; flex-shrink:0; }
.checkbox-custom.checked{ background:#482E83; border-color:#482E83; }
.checkbox-custom.checked svg{ opacity:1; transform:scale(1); } .checkbox-custom svg{ opacity:0; transform:scale(.5); transition:all .25s; }
@media (max-width:1279px){ .mobile-centered{ position:absolute; left:50%; transform:translateX(-50%); } }
@media (max-width:767px){ body{ padding-bottom:76px; } }
.snap-row{ scroll-snap-type:x mandatory; } .snap-row>*{ scroll-snap-align:start; }
.fold{ position:absolute; border-radius:99px; filter:blur(70px); pointer-events:none; }
.success-check{ stroke-dasharray:60; stroke-dashoffset:60; animation:draw .8s .3s ease forwards; }
@keyframes draw{ to{ stroke-dashoffset:0; } }
@keyframes fadeUp{ from{ opacity:0; transform:translateY(20px);} to{ opacity:1; transform:none;} }
.fade-up{ animation:fadeUp .7s cubic-bezier(.22,1,.36,1) both; }
svg[stroke="#2A2030"]{ stroke:#0F172A; }
svg[stroke="#D62978"]{ stroke:#EC4899; }
