/* ============================================
   AÏSHA-T SHOP — Main Stylesheet
   ============================================ */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;0,700;1,300;1,400&family=Jost:wght@200;300;400;500;600&family=Dancing+Script:wght@600;700&display=swap');

/* ===== CSS VARIABLES ===== */
:root {
  --blush:     #f9d9d9;
  --blush-mid: #f2b8b8;
  --blush-deep:#e89090;
  --wine:      #5c1a2e;
  --wine-mid:  #7a2a40;
  --wine-light:#a84060;
  --cream:     #fdf7f5;
  --dark:      #1a0810;
  --muted:     #9a7070;
  --gold:      #c9a96e;
  --white:     #ffffff;
  --border:    rgba(92,26,46,0.12);

  --ease-bounce: cubic-bezier(0.34, 1.56, 0.64, 1);
  --ease-smooth: cubic-bezier(0.4, 0, 0.2, 1);
}

/* ===== RESET ===== */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior: smooth; font-size: 16px; }
body {
  font-family: 'Jost', sans-serif;
  background: var(--cream);
  color: var(--dark);
  overflow-x: hidden;
  cursor: none;
}
img { max-width:100%; display:block; }
a { text-decoration: none; }

/* ===== CUSTOM CURSOR ===== */
.cursor {
  width: 12px; height: 12px;
  background: var(--wine);
  border-radius: 50%;
  position: fixed; top:0; left:0;
  pointer-events: none; z-index: 99999;
  transform: translate(-50%,-50%);
  transition: transform 0.1s, background 0.3s, width 0.3s, height 0.3s;
}
.cursor-follower {
  width: 36px; height: 36px;
  border: 1.5px solid var(--wine);
  border-radius: 50%;
  position: fixed; top:0; left:0;
  pointer-events: none; z-index: 99998;
  transform: translate(-50%,-50%);
  transition: transform 0.15s ease, border-color 0.3s;
  opacity: 0.6;
}
body:hover .cursor { opacity: 1; }

/* ===== LOADER ===== */
#loader {
  position: fixed; inset:0; z-index: 10000;
  background: var(--wine);
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  gap: 1.5rem;
}
.loader-logo {
  font-family: 'Cormorant Garamond', serif;
  font-size: 3rem; color: var(--blush);
  letter-spacing: 0.2em;
  animation: fadeInUp 0.8s ease both;
}
.loader-logo span { font-style: italic; color: var(--blush-mid); }
.loader-line {
  width: 0; height: 1px;
  background: var(--blush-mid);
  animation: expandLine 1.5s ease 0.5s both;
}
.loader-sub {
  font-family: 'Jost', sans-serif;
  font-size: 0.7rem; letter-spacing: 0.4em;
  color: rgba(249,217,217,0.6);
  text-transform: uppercase;
  animation: fadeIn 0.8s ease 0.8s both;
}
@keyframes expandLine { to { width: 200px; } }
@keyframes fadeIn { from{opacity:0} to{opacity:1} }
@keyframes fadeInUp { from{opacity:0;transform:translateY(30px)} to{opacity:1;transform:translateY(0)} }
#loader.hide {
  animation: loaderOut 0.6s ease 0.3s both;
}
@keyframes loaderOut { to { opacity:0; transform:scale(1.05); pointer-events:none; } }

/* ===== PARTICLES ===== */
#particles-canvas {
  position: fixed; inset:0; z-index:0;
  pointer-events: none; opacity:0.4;
}

/* ===== NAVBAR ===== */
#navbar {
  position: fixed; top:0; left:0; right:0; z-index:1000;
  height: 80px;
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 4rem;
  transition: all 0.4s ease;
}
#navbar.scrolled {
  background: rgba(253,247,245,0.97);
  backdrop-filter: blur(20px);
  height: 65px;
  box-shadow: 0 1px 0 var(--border), 0 20px 60px rgba(92,26,46,0.06);
}
.nav-logo {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.7rem; font-weight: 600;
  color: var(--wine); letter-spacing: 0.08em;
  display: flex; align-items: center; gap: 0.5rem;
  position: relative;
}
.nav-logo::after {
  content: '';
  position: absolute; bottom:-3px; left:0; right:0; height:1px;
  background: var(--wine); transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.4s ease;
}
.nav-logo:hover::after { transform: scaleX(1); transform-origin: left; }
.nav-logo em { font-style: italic; color: var(--wine-light); }

.nav-center { display:flex; align-items:center; gap:3rem; list-style:none; }
.nav-center a {
  font-size: 0.8rem; font-weight: 500;
  letter-spacing: 0.15em; text-transform: uppercase;
  color: var(--wine); position: relative; padding-bottom:3px;
}
.nav-center a::after {
  content:''; position:absolute; bottom:0; left:0; right:0; height:1px;
  background: var(--wine); transform:scaleX(0);
  transform-origin: right; transition: transform 0.3s ease;
}
.nav-center a:hover::after { transform:scaleX(1); transform-origin:left; }

.nav-right { display:flex; align-items:center; gap:1.5rem; }
.nav-icon-btn {
  background:none; border:none; cursor:none;
  color: var(--wine); font-size:1.1rem;
  position:relative; transition:transform 0.2s ease;
  width:40px; height:40px; display:flex; align-items:center; justify-content:center;
  border-radius:50%;
}
.nav-icon-btn:hover { background: rgba(92,26,46,0.06); transform:scale(1.1); }
.badge {
  position:absolute; top:-2px; right:-2px;
  background: var(--wine); color:white;
  width:18px; height:18px; border-radius:50%;
  font-size:0.6rem; font-weight:700;
  display:flex; align-items:center; justify-content:center;
}
.hamburger { display:none; flex-direction:column; gap:5px; cursor:none; background:none; border:none; }
.hamburger span { width:22px; height:1.5px; background:var(--wine); transition:all 0.3s; }

/* ===== HERO ===== */
#hero {
  min-height: 100vh;
  display: grid; grid-template-columns: 1fr 1fr;
  position: relative; overflow: hidden;
}
.hero-left {
  background: var(--wine);
  display: flex; flex-direction: column;
  justify-content: center; padding: 8rem 4rem 4rem;
  position: relative; overflow: hidden;
}
.hero-left::before {
  content:'';
  position:absolute; top:-30%; left:-20%;
  width:500px; height:500px; border-radius:50%;
  background: radial-gradient(circle, rgba(249,217,217,0.08) 0%, transparent 70%);
}
.hero-left::after {
  content:'';
  position:absolute; bottom:-20%; right:-10%;
  width:400px; height:400px; border-radius:50%;
  background: radial-gradient(circle, rgba(249,217,217,0.05) 0%, transparent 70%);
}
.hero-eyebrow {
  font-size:0.7rem; letter-spacing:0.4em; text-transform:uppercase;
  color: var(--blush-mid); margin-bottom:2rem;
  display:flex; align-items:center; gap:1rem;
  animation: slideInLeft 0.8s ease 1.5s both;
}
.hero-eyebrow::before {
  content:''; width:40px; height:1px; background:var(--blush-mid);
}
.hero-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(3rem, 5vw, 5.5rem);
  line-height: 1.0; color: var(--white);
  margin-bottom: 1.5rem;
  animation: slideInLeft 0.8s ease 1.7s both;
}
.hero-title em { font-style:italic; color:var(--blush); display:block; }
.hero-sub {
  font-size:0.95rem; color:rgba(249,217,217,0.7);
  line-height:1.8; max-width:380px; margin-bottom:3rem;
  font-weight:300;
  animation: slideInLeft 0.8s ease 1.9s both;
}
.hero-actions {
  display:flex; gap:1rem; flex-wrap:wrap;
  animation: slideInLeft 0.8s ease 2.1s both;
}
.btn-primary {
  background: var(--blush); color: var(--wine);
  padding:1rem 2.2rem; border-radius:3px;
  font-size:0.8rem; font-weight:600; letter-spacing:0.15em;
  text-transform:uppercase; border:none; cursor:none;
  transition: all 0.3s var(--ease-bounce);
  position:relative; overflow:hidden;
}
.btn-primary::before {
  content:''; position:absolute; inset:0;
  background:var(--white); transform:scaleX(0);
  transform-origin:right; transition:transform 0.4s ease;
}
.btn-primary:hover { color:var(--wine); transform:translateY(-3px); box-shadow:0 15px 40px rgba(92,26,46,0.3); }
.btn-primary:hover::before { transform:scaleX(1); transform-origin:left; }
.btn-primary span { position:relative; z-index:1; }
.btn-ghost {
  background:transparent; color:var(--blush);
  border:1px solid rgba(249,217,217,0.4);
  padding:1rem 2.2rem; border-radius:3px;
  font-size:0.8rem; font-weight:500; letter-spacing:0.15em;
  text-transform:uppercase; cursor:none;
  transition: all 0.3s ease;
}
.btn-ghost:hover { background:rgba(249,217,217,0.1); border-color:var(--blush); }

.hero-stats {
  display:flex; gap:2.5rem; margin-top:4rem;
  animation: slideInLeft 0.8s ease 2.3s both;
}
.hero-stat .num {
  font-family:'Cormorant Garamond', serif;
  font-size:2.2rem; color:var(--blush); line-height:1;
}
.hero-stat .lbl {
  font-size:0.7rem; letter-spacing:0.15em; text-transform:uppercase;
  color:rgba(249,217,217,0.5); margin-top:0.3rem;
}
.hero-stat-sep { width:1px; background:rgba(249,217,217,0.15); }

.hero-right {
  background: var(--blush);
  position:relative; overflow:hidden;
  display:flex; align-items:center; justify-content:center;
}
.hero-visual {
  position:relative; width:100%; height:100%;
  display:flex; align-items:center; justify-content:center;
}
.hero-circle {
  width:60%; aspect-ratio:1;
  border-radius:50%;
  background: linear-gradient(145deg, rgba(255,255,255,0.8), rgba(242,184,184,0.5));
  display:flex; align-items:center; justify-content:center;
  animation: heroFloat 6s ease-in-out infinite;
  box-shadow: 0 40px 100px rgba(92,26,46,0.15);
}
.hero-logo-display {
  font-family:'Dancing Script', cursive;
  font-size:8rem; color:var(--wine); line-height:1;
  text-align:center; user-select:none;
}
@keyframes heroFloat { 0%,100%{transform:translateY(0) rotate(-2deg)} 50%{transform:translateY(-20px) rotate(2deg)} }

.hero-floating-card {
  position:absolute;
  background:white; border-radius:16px;
  padding:1.2rem 1.5rem;
  box-shadow: 0 20px 60px rgba(92,26,46,0.12);
  animation: heroFloat 5s ease-in-out infinite;
}
.hero-floating-card:nth-child(2) { bottom:15%; left:8%; animation-delay:-2s; }
.hero-floating-card:nth-child(3) { top:20%; right:8%; animation-delay:-4s; }
.hfc-label { font-size:0.65rem; letter-spacing:0.15em; text-transform:uppercase; color:var(--muted); }
.hfc-value { font-family:'Cormorant Garamond',serif; font-size:1.4rem; color:var(--wine); font-weight:600; margin-top:0.2rem; }

.hero-scroll {
  position:absolute; bottom:2rem; left:50%;
  transform:translateX(-50%);
  display:flex; flex-direction:column; align-items:center; gap:0.5rem;
  color:rgba(249,217,217,0.5); font-size:0.65rem; letter-spacing:0.2em; text-transform:uppercase;
  animation: bounce 2s ease-in-out infinite;
}
.hero-scroll .arrow { font-size:1rem; }
@keyframes bounce { 0%,100%{transform:translateX(-50%) translateY(0)} 50%{transform:translateX(-50%) translateY(8px)} }
@keyframes slideInLeft { from{opacity:0;transform:translateX(-40px)} to{opacity:1;transform:translateX(0)} }

/* ===== MARQUEE BAND ===== */
.marquee-band {
  background: var(--wine);
  padding:0.8rem 0; overflow:hidden;
  border-top:1px solid rgba(249,217,217,0.1);
  border-bottom:1px solid rgba(249,217,217,0.1);
}
.marquee-track {
  display:flex; gap:3rem;
  animation: marquee 20s linear infinite;
  white-space:nowrap;
}
.marquee-item {
  display:flex; align-items:center; gap:1rem;
  font-size:0.7rem; letter-spacing:0.2em; text-transform:uppercase;
  color:var(--blush); font-weight:500;
}
.marquee-dot { width:4px; height:4px; border-radius:50%; background:var(--blush-mid); flex-shrink:0; }
@keyframes marquee { to{transform:translateX(-50%)} }

/* ===== SECTION COMMONS ===== */
.section { padding:7rem 4rem; position:relative; }
.container { max-width:1200px; margin:0 auto; }
.section-header { margin-bottom:4rem; }
.section-eyebrow {
  font-size:0.7rem; letter-spacing:0.4em; text-transform:uppercase;
  color:var(--wine-light); margin-bottom:1rem;
  display:flex; align-items:center; gap:1rem;
}
.section-eyebrow::before { content:''; width:30px; height:1px; background:var(--wine-light); }
.section-title {
  font-family:'Cormorant Garamond', serif;
  font-size:clamp(2rem,4vw,3.5rem);
  line-height:1.15; color:var(--dark);
}
.section-title em { font-style:italic; color:var(--wine); }
.section-desc { color:var(--muted); margin-top:1rem; max-width:500px; line-height:1.8; font-weight:300; }

/* ===== REVEAL ANIMATIONS ===== */
.reveal {
  opacity:0; transform:translateY(40px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}
.reveal.visible { opacity:1; transform:translateY(0); }
.reveal-left { opacity:0; transform:translateX(-40px); transition: opacity 0.8s ease, transform 0.8s ease; }
.reveal-left.visible { opacity:1; transform:translateX(0); }
.reveal-right { opacity:0; transform:translateX(40px); transition: opacity 0.8s ease, transform 0.8s ease; }
.reveal-right.visible { opacity:1; transform:translateX(0); }

/* ===== CATEGORIES ===== */
#categories { background:white; }
.categories-row { display:flex; gap:1rem; overflow-x:auto; padding-bottom:0.5rem; scrollbar-width:none; }
.categories-row::-webkit-scrollbar { display:none; }
.cat-pill {
  display:flex; align-items:center; gap:0.8rem;
  background:var(--cream); border:1px solid var(--border);
  border-radius:50px; padding:0.7rem 1.5rem;
  cursor:none; transition:all 0.3s var(--ease-bounce);
  white-space:nowrap; flex-shrink:0;
}
.cat-pill:hover, .cat-pill.active {
  background:var(--wine); border-color:var(--wine);
  transform:translateY(-3px); box-shadow:0 10px 30px rgba(92,26,46,0.2);
}
.cat-pill:hover .cat-pill-name, .cat-pill.active .cat-pill-name { color:white; }
.cat-pill:hover .cat-pill-count, .cat-pill.active .cat-pill-count { color:rgba(255,255,255,0.6); }
.cat-pill-emoji { font-size:1.2rem; }
.cat-pill-name { font-size:0.85rem; font-weight:500; color:var(--dark); transition:color 0.3s; }
.cat-pill-count { font-size:0.7rem; color:var(--muted); transition:color 0.3s; margin-left:0.3rem; }

/* ===== PRODUCTS ===== */
.products-toolbar {
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom:2.5rem; flex-wrap:wrap; gap:1rem;
}
.filter-tabs { display:flex; gap:0.5rem; }
.filter-tab {
  background:none; border:1px solid var(--border);
  padding:0.5rem 1.2rem; border-radius:3px;
  font-size:0.75rem; font-weight:500; letter-spacing:0.1em;
  text-transform:uppercase; cursor:none; color:var(--muted);
  transition:all 0.3s; font-family:'Jost', sans-serif;
}
.filter-tab:hover, .filter-tab.active { background:var(--dark); border-color:var(--dark); color:white; }
.search-wrap {
  display:flex; align-items:center; gap:0.7rem;
  border:1px solid var(--border); border-radius:3px;
  padding:0.5rem 1.2rem; background:white;
  transition:border-color 0.3s;
}
.search-wrap:focus-within { border-color:var(--wine); }
.search-wrap input {
  border:none; outline:none; background:transparent;
  font-family:'Jost', sans-serif; font-size:0.85rem; width:180px; color:var(--dark);
}
.search-wrap span { color:var(--muted); }

.products-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(270px, 1fr)); gap:2rem; }
.product-card {
  background:white; border-radius:4px;
  overflow:hidden; position:relative;
  transition:all 0.4s var(--ease-smooth);
  cursor:none;
}
.product-card:hover { transform:translateY(-10px); box-shadow:0 30px 80px rgba(92,26,46,0.12); }
.product-img-wrap {
  aspect-ratio:3/4; overflow:hidden; position:relative;
  background:linear-gradient(145deg, var(--blush), var(--blush-mid));
  display:flex; align-items:center; justify-content:center;
}
.product-img-emoji { font-size:6rem; transition:transform 0.5s ease; }
.product-card:hover .product-img-emoji { transform:scale(1.1); }
.product-overlay {
  position:absolute; inset:0; background:rgba(92,26,46,0.0);
  display:flex; align-items:center; justify-content:center; gap:0.8rem;
  transition:all 0.4s ease;
}
.product-card:hover .product-overlay { background:rgba(92,26,46,0.12); }
.overlay-btn {
  background:white; border:none; width:42px; height:42px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-size:1rem; cursor:none;
  transform:translateY(20px) scale(0.8); opacity:0;
  transition:all 0.3s ease;
  box-shadow:0 8px 25px rgba(0,0,0,0.15);
}
.product-card:hover .overlay-btn { transform:translateY(0) scale(1); opacity:1; }
.overlay-btn:nth-child(2) { transition-delay:0.05s; }
.overlay-btn:nth-child(3) { transition-delay:0.1s; }
.overlay-btn:hover { background:var(--wine); color:white; transform:translateY(-2px) scale(1.1) !important; }

.product-badge {
  position:absolute; top:1rem; left:1rem;
  background:var(--wine); color:white;
  font-size:0.65rem; font-weight:600; letter-spacing:0.1em; text-transform:uppercase;
  padding:0.3rem 0.8rem; border-radius:2px;
}
.product-badge.promo { background:var(--wine-light); }

.product-body { padding:1.4rem; }
.product-name { font-family:'Cormorant Garamond',serif; font-size:1.15rem; font-weight:600; margin-bottom:0.3rem; color:var(--dark); }
.product-cat { font-size:0.7rem; letter-spacing:0.15em; text-transform:uppercase; color:var(--muted); margin-bottom:0.8rem; }
.product-foot { display:flex; align-items:center; justify-content:space-between; }
.product-price { font-family:'Cormorant Garamond',serif; font-size:1.4rem; color:var(--wine); font-weight:600; }
.product-old { font-size:0.8rem; color:var(--muted); text-decoration:line-through; margin-left:0.5rem; }
.add-btn {
  width:36px; height:36px; border-radius:50%; border:1.5px solid var(--wine);
  background:transparent; color:var(--wine); cursor:none; font-size:1.2rem;
  display:flex; align-items:center; justify-content:center;
  transition:all 0.3s var(--ease-bounce);
}
.add-btn:hover { background:var(--wine); color:white; transform:scale(1.1) rotate(90deg); }

/* ===== SERVICE SHEIN SECTION ===== */
#shein-service { background:var(--dark); overflow:hidden; }
.shein-grid { display:grid; grid-template-columns:1fr 1fr; gap:6rem; align-items:center; }
.shein-title { font-family:'Cormorant Garamond',serif; font-size:clamp(2rem,4vw,3.5rem); color:white; line-height:1.1; margin-bottom:1.5rem; }
.shein-title em { font-style:italic; color:var(--blush); }
.shein-desc { color:rgba(255,255,255,0.5); line-height:1.9; font-weight:300; margin-bottom:3rem; }
.shein-steps { display:flex; flex-direction:column; gap:2rem; margin-bottom:3rem; }
.step {
  display:flex; gap:1.5rem; align-items:flex-start;
  padding:1.5rem; border-radius:8px;
  border:1px solid rgba(255,255,255,0.06);
  background:rgba(255,255,255,0.02);
  transition:all 0.3s ease;
}
.step:hover { border-color:rgba(249,217,217,0.2); background:rgba(249,217,217,0.04); }
.step-num {
  width:44px; height:44px; border-radius:50%;
  background:linear-gradient(135deg, var(--wine), var(--wine-light));
  color:white; font-weight:600; font-size:0.9rem;
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.step-body h4 { color:white; font-weight:500; margin-bottom:0.4rem; }
.step-body p { color:rgba(255,255,255,0.45); font-size:0.85rem; line-height:1.7; }

.shein-visual-box {
  background:linear-gradient(145deg, rgba(92,26,46,0.8), rgba(26,8,16,0.9));
  border-radius:20px; padding:3rem;
  border:1px solid rgba(249,217,217,0.1);
  position:relative; overflow:hidden;
}
.shein-visual-box::before {
  content:''; position:absolute; top:-50%; right:-30%;
  width:400px; height:400px; border-radius:50%;
  background:radial-gradient(circle, rgba(249,217,217,0.06) 0%, transparent 70%);
}
.shein-box-title {
  font-family:'Cormorant Garamond',serif;
  font-size:1.5rem; color:var(--blush); margin-bottom:0.5rem;
}
.shein-box-sub { font-size:0.75rem; color:rgba(249,217,217,0.4); letter-spacing:0.15em; text-transform:uppercase; margin-bottom:2rem; }
.tarif-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-bottom:2rem; }
.tarif-card {
  background:rgba(255,255,255,0.04); border:1px solid rgba(249,217,217,0.1);
  border-radius:12px; padding:1.2rem; text-align:center;
  transition:all 0.3s ease;
}
.tarif-card:hover { border-color:rgba(249,217,217,0.3); background:rgba(249,217,217,0.06); }
.tarif-price { font-family:'Cormorant Garamond',serif; font-size:1.8rem; color:var(--blush); font-weight:600; }
.tarif-range { font-size:0.7rem; color:rgba(249,217,217,0.4); margin-top:0.3rem; line-height:1.4; }

.btn-wa {
  display:inline-flex; align-items:center; gap:0.8rem;
  background:#25D366; color:white;
  padding:1rem 2rem; border-radius:4px;
  font-size:0.8rem; font-weight:600; letter-spacing:0.1em; text-transform:uppercase;
  border:none; cursor:none; font-family:'Jost',sans-serif;
  transition:all 0.3s ease; width:100%; justify-content:center;
}
.btn-wa:hover { background:#128C7E; transform:translateY(-2px); box-shadow:0 15px 40px rgba(37,211,102,0.3); }

/* ===== TESTIMONIALS ===== */
#testimonials { background:white; }
.testi-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(300px, 1fr)); gap:2rem; }
.testi-card {
  background:var(--cream); border-radius:4px;
  padding:2.5rem; border:1px solid var(--border);
  position:relative; transition:all 0.4s ease;
}
.testi-card:hover { transform:translateY(-8px); box-shadow:0 30px 70px rgba(92,26,46,0.08); border-color:var(--blush-mid); }
.testi-quote {
  font-family:'Cormorant Garamond',serif;
  font-size:4rem; color:var(--blush-mid); line-height:0.5;
  margin-bottom:1.5rem; display:block;
}
.testi-text { font-size:0.9rem; color:var(--muted); line-height:1.9; font-style:italic; margin-bottom:2rem; }
.testi-stars { color:var(--gold); letter-spacing:0.1em; margin-bottom:1.5rem; font-size:0.85rem; }
.testi-author { display:flex; align-items:center; gap:1rem; }
.testi-avatar {
  width:48px; height:48px; border-radius:50%;
  background:linear-gradient(135deg, var(--blush), var(--wine));
  display:flex; align-items:center; justify-content:center; font-size:1.3rem;
}
.testi-name { font-weight:600; font-size:0.9rem; }
.testi-loc { font-size:0.75rem; color:var(--muted); }

/* ===== CONTACT ===== */
#contact { background:linear-gradient(160deg, var(--blush) 0%, var(--cream) 50%); }
.contact-grid { display:grid; grid-template-columns:1fr 1.3fr; gap:6rem; align-items:start; }
.contact-info h3 { font-family:'Cormorant Garamond',serif; font-size:2rem; margin-bottom:0.5rem; }
.contact-info p { color:var(--muted); line-height:1.8; margin-bottom:2.5rem; font-weight:300; }
.contact-items { display:flex; flex-direction:column; gap:1.2rem; }
.contact-item { display:flex; align-items:center; gap:1rem; }
.ci-icon {
  width:48px; height:48px; border-radius:8px;
  background:white; display:flex; align-items:center; justify-content:center;
  font-size:1.2rem; box-shadow:0 8px 25px rgba(92,26,46,0.08); flex-shrink:0;
}
.ci-label { font-size:0.7rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--muted); }
.ci-val { font-weight:500; font-size:0.95rem; }

.contact-form {
  background:white; border-radius:8px;
  padding:3rem; box-shadow:0 20px 70px rgba(92,26,46,0.08);
}
.contact-form h3 { font-family:'Cormorant Garamond',serif; font-size:1.6rem; margin-bottom:0.3rem; }
.contact-form .sub { color:var(--muted); font-size:0.85rem; margin-bottom:2rem; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.form-group { margin-bottom:1.2rem; }
.form-group label {
  display:block; font-size:0.7rem; font-weight:600;
  letter-spacing:0.15em; text-transform:uppercase; color:var(--dark);
  margin-bottom:0.5rem;
}
.form-group input, .form-group textarea, .form-group select {
  width:100%; padding:0.9rem 1rem;
  border:1.5px solid var(--border); border-radius:3px;
  font-family:'Jost',sans-serif; font-size:0.9rem;
  color:var(--dark); background:var(--cream);
  transition:all 0.3s ease; outline:none; resize:none;
}
.form-group input:focus, .form-group textarea:focus, .form-group select:focus {
  border-color:var(--wine); background:white;
  box-shadow:0 0 0 4px rgba(92,26,46,0.06);
}
.btn-submit {
  width:100%; background:var(--wine); color:white; border:none;
  padding:1.1rem; border-radius:3px; font-size:0.8rem; font-weight:600;
  letter-spacing:0.2em; text-transform:uppercase; cursor:none;
  font-family:'Jost',sans-serif; transition:all 0.3s ease;
  position:relative; overflow:hidden;
}
.btn-submit::before {
  content:''; position:absolute; inset:0;
  background:var(--wine-light); transform:scaleX(0);
  transform-origin:right; transition:transform 0.4s ease;
}
.btn-submit:hover { transform:translateY(-2px); box-shadow:0 15px 40px rgba(92,26,46,0.3); }
.btn-submit:hover::before { transform:scaleX(1); transform-origin:left; }
.btn-submit span { position:relative; z-index:1; }

/* ===== FOOTER ===== */
footer {
  background:var(--dark);
  color:white; padding:5rem 4rem 2rem;
}
.footer-main { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:4rem; max-width:1200px; margin:0 auto 4rem; }
.footer-brand .logo-foot {
  font-family:'Cormorant Garamond',serif; font-size:2rem;
  color:var(--blush); letter-spacing:0.1em; display:block; margin-bottom:1rem;
}
.footer-brand p { color:rgba(255,255,255,0.4); font-size:0.85rem; line-height:1.8; max-width:280px; }
.footer-socials { display:flex; gap:0.8rem; margin-top:1.8rem; }
.soc-btn {
  width:40px; height:40px; border-radius:50%;
  border:1px solid rgba(255,255,255,0.12);
  display:flex; align-items:center; justify-content:center;
  font-size:1rem; color:rgba(255,255,255,0.5);
  transition:all 0.3s ease; cursor:none;
}
.soc-btn:hover { background:var(--wine); border-color:var(--wine); color:white; transform:translateY(-3px); }
.footer-col h4 { font-size:0.7rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--blush-mid); margin-bottom:1.5rem; }
.footer-col ul { list-style:none; display:flex; flex-direction:column; gap:0.8rem; }
.footer-col ul li a { color:rgba(255,255,255,0.4); font-size:0.85rem; transition:color 0.3s; cursor:none; }
.footer-col ul li a:hover { color:var(--blush); }
.footer-bottom {
  border-top:1px solid rgba(255,255,255,0.07);
  padding-top:2rem; max-width:1200px; margin:0 auto;
  display:flex; justify-content:space-between; align-items:center;
  color:rgba(255,255,255,0.25); font-size:0.75rem;
}

/* ===== CART DRAWER ===== */
.cart-overlay {
  position:fixed; inset:0; background:rgba(26,8,16,0.5);
  z-index:5000; display:none; backdrop-filter:blur(6px);
}
.cart-overlay.open { display:block; }
.cart-panel {
  position:fixed; top:0; right:0; bottom:0; width:420px;
  background:white; z-index:5001;
  transform:translateX(100%); transition:transform 0.4s var(--ease-smooth);
  display:flex; flex-direction:column; padding:2.5rem;
  box-shadow:-20px 0 80px rgba(92,26,46,0.12);
}
.cart-overlay.open .cart-panel { transform:translateX(0); }
.cart-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:2rem; }
.cart-head h2 { font-family:'Cormorant Garamond',serif; font-size:1.6rem; }
.cart-close { background:none; border:1px solid var(--border); width:36px; height:36px; border-radius:50%; cursor:none; font-size:1.1rem; display:flex; align-items:center; justify-content:center; transition:all 0.3s; }
.cart-close:hover { background:var(--wine); color:white; border-color:var(--wine); }
.cart-items-list { flex:1; overflow-y:auto; padding-right:0.5rem; }
.cart-item { display:flex; gap:1rem; padding:1rem 0; border-bottom:1px solid var(--border); align-items:center; }
.ci-img { width:72px; height:88px; background:linear-gradient(145deg,var(--blush),var(--blush-mid)); border-radius:4px; display:flex; align-items:center; justify-content:center; font-size:2.2rem; flex-shrink:0; }
.ci-info { flex:1; }
.ci-name { font-weight:600; font-size:0.9rem; margin-bottom:0.3rem; }
.ci-size { font-size:0.75rem; color:var(--muted); }
.ci-bottom { display:flex; align-items:center; justify-content:space-between; margin-top:0.5rem; }
.ci-price { font-family:'Cormorant Garamond',serif; font-size:1.1rem; color:var(--wine); font-weight:600; }
.ci-qty { display:flex; align-items:center; gap:0.5rem; }
.qty-btn { background:var(--cream); border:none; width:26px; height:26px; border-radius:50%; cursor:none; font-size:0.9rem; transition:all 0.2s; }
.qty-btn:hover { background:var(--wine); color:white; }
.ci-del { background:none; border:none; color:var(--muted); cursor:none; font-size:1rem; transition:color 0.2s; }
.ci-del:hover { color:var(--wine); }
.cart-empty-state { display:flex; flex-direction:column; align-items:center; justify-content:center; height:200px; color:var(--muted); gap:1rem; }
.cart-empty-state .icon { font-size:3rem; }
.cart-footer { margin-top:1.5rem; border-top:1.5px solid var(--dark); padding-top:1.5rem; }
.cart-total-row { display:flex; justify-content:space-between; font-family:'Cormorant Garamond',serif; font-size:1.3rem; font-weight:600; margin-bottom:1.5rem; }

/* ===== PRODUCT MODAL ===== */
.modal-overlay {
  position:fixed; inset:0; background:rgba(26,8,16,0.7);
  z-index:6000; display:none; align-items:center; justify-content:center;
  padding:2rem; backdrop-filter:blur(8px);
}
.modal-overlay.open { display:flex; }
.product-modal {
  background:white; border-radius:8px; max-width:850px; width:100%;
  overflow:hidden; max-height:90vh; overflow-y:auto;
  animation:modalIn 0.4s var(--ease-bounce) both;
}
@keyframes modalIn { from{opacity:0;transform:scale(0.9) translateY(20px)} to{opacity:1;transform:scale(1) translateY(0)} }
.modal-grid { display:grid; grid-template-columns:1fr 1fr; }
.modal-img { aspect-ratio:3/4; background:linear-gradient(145deg,var(--blush),var(--blush-mid)); display:flex; align-items:center; justify-content:center; font-size:10rem; }
.modal-body { padding:3rem; display:flex; flex-direction:column; }
.modal-close-btn { align-self:flex-end; background:none; border:1px solid var(--border); width:32px; height:32px; border-radius:50%; cursor:none; font-size:1rem; margin-bottom:1.5rem; transition:all 0.2s; display:flex; align-items:center; justify-content:center; }
.modal-close-btn:hover { background:var(--wine); color:white; border-color:var(--wine); }
.modal-name { font-family:'Cormorant Garamond',serif; font-size:1.8rem; font-weight:600; }
.modal-cat { font-size:0.7rem; letter-spacing:0.15em; text-transform:uppercase; color:var(--muted); margin:0.5rem 0 1.5rem; }
.modal-price { font-family:'Cormorant Garamond',serif; font-size:2.2rem; color:var(--wine); font-weight:600; margin-bottom:1.5rem; }
.modal-desc { color:var(--muted); line-height:1.8; font-size:0.9rem; margin-bottom:2rem; }
.size-section label { font-size:0.7rem; letter-spacing:0.15em; text-transform:uppercase; font-weight:600; display:block; margin-bottom:0.7rem; }
.size-row { display:flex; gap:0.5rem; margin-bottom:2rem; flex-wrap:wrap; }
.size-chip { background:var(--cream); border:1.5px solid var(--border); padding:0.4rem 0.9rem; border-radius:2px; font-size:0.8rem; font-weight:500; cursor:none; transition:all 0.2s; font-family:'Jost',sans-serif; }
.size-chip:hover, .size-chip.active { background:var(--dark); border-color:var(--dark); color:white; }
.modal-btns { display:flex; gap:0.8rem; margin-top:auto; }
.modal-add { flex:1; background:var(--wine); color:white; border:none; padding:1rem; border-radius:3px; font-size:0.8rem; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; cursor:none; font-family:'Jost',sans-serif; transition:all 0.3s; }
.modal-add:hover { background:var(--wine-light); }
.modal-wa-btn { background:#25D366; color:white; border:none; padding:1rem 1.2rem; border-radius:3px; cursor:none; font-size:1.3rem; transition:all 0.3s; }
.modal-wa-btn:hover { background:#128C7E; }

/* ===== TOAST ===== */
.toast {
  position:fixed; bottom:2.5rem; left:50%; z-index:9000;
  transform:translateX(-50%) translateY(100px);
  background:var(--dark); color:white;
  padding:0.9rem 2rem; border-radius:50px;
  font-size:0.85rem; font-weight:500; letter-spacing:0.05em;
  opacity:0; transition:all 0.4s var(--ease-bounce);
  pointer-events:none; white-space:nowrap;
}
.toast.show { transform:translateX(-50%) translateY(0); opacity:1; }

/* ===== WA FLOAT ===== */
.wa-fab {
  position:fixed; bottom:2.5rem; right:2.5rem; z-index:900;
  width:62px; height:62px; border-radius:50%;
  background:#25D366; color:white;
  display:flex; align-items:center; justify-content:center;
  font-size:1.8rem; box-shadow:0 8px 30px rgba(37,211,102,0.5);
  transition:transform 0.3s var(--ease-bounce); cursor:none;
}
.wa-fab:hover { transform:scale(1.15); }
.wa-fab::after {
  content:''; position:absolute; inset:-6px;
  border-radius:50%; border:2px solid rgba(37,211,102,0.4);
  animation:ringPulse 2s ease-in-out infinite;
}
@keyframes ringPulse { 0%{transform:scale(1);opacity:1} 100%{transform:scale(1.4);opacity:0} }

/* ===== MOBILE ===== */
@media (max-width:1024px) {
  #navbar { padding:0 2rem; }
  .section { padding:5rem 2rem; }
  footer { padding:4rem 2rem 2rem; }
  .footer-main { grid-template-columns:1fr 1fr; }
  .shein-grid { grid-template-columns:1fr; gap:3rem; }
  .contact-grid { grid-template-columns:1fr; gap:3rem; }
  #hero { grid-template-columns:1fr; min-height:auto; }
  .hero-right { min-height:50vh; }
  .hero-left { padding:6rem 2rem 3rem; }
}
@media (max-width:768px) {
  body { cursor:auto; }
  .cursor, .cursor-follower { display:none; }
  .nav-center { display:none; }
  .hamburger { display:flex; }
  .nav-center.open { display:flex; flex-direction:column; position:absolute; top:65px; left:0; right:0; background:var(--cream); padding:2rem; border-bottom:1px solid var(--border); gap:1.5rem; z-index:999; }
  .footer-main { grid-template-columns:1fr; }
  .modal-grid { grid-template-columns:1fr; }
  .cart-panel { width:100%; }
  .stats-row { grid-template-columns:repeat(2,1fr); }
}
