/* ===== LA FINAL — LUXE / CHIC ===== */
:root {
  --primary: #1a1a1a;
  --gold: #c9a84c;
  --gold-light: #dbb960;
  --bg: #fff;
  --bg-alt: #f7f5f0;
  --text: #1a1a1a;
  --text-light: #777;
  --border: #e5e1d8;
  --danger: #c0392b;
  --success: #27ae60;
  --radius: 0;
  --shadow: 0 2px 20px rgba(0,0,0,0.06);
  --transition: all 0.3s ease;
}

* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:'Segoe UI',Roboto,Helvetica,Arial,sans-serif; color:var(--text); background:var(--bg); line-height:1.6; }
a { color:inherit; text-decoration:none; }
img { max-width:100%; display:block; }
button, input, select, textarea { font-family:inherit; }

/* ===== HEADER ===== */
.site-header {
  position:fixed; top:0; left:0; right:0; z-index:1000;
  background:transparent; transition:background 0.4s ease, box-shadow 0.4s ease;
}
.site-header.scrolled {
  background:rgba(255,255,255,0.97); box-shadow:0 1px 10px rgba(0,0,0,0.08);
}
.header-inner {
  max-width:1400px; margin:0 auto; padding:18px 40px;
  display:flex; align-items:center; justify-content:space-between;
}
.logo { font-size:22px; font-weight:700; letter-spacing:6px; text-transform:uppercase; color:#fff; transition:color 0.3s; }
.site-header.scrolled .logo { color:var(--primary); }
.nav-links { display:flex; gap:32px; align-items:center; }
.nav-links a {
  font-size:12px; letter-spacing:2px; text-transform:uppercase; color:#fff;
  position:relative; transition:color 0.3s;
}
.site-header.scrolled .nav-links a { color:var(--primary); }
.nav-links a::after {
  content:''; position:absolute; bottom:-4px; left:0; width:0; height:1px;
  background:var(--gold); transition:width 0.3s;
}
.nav-links a:hover::after { width:100%; }
.nav-icons { display:flex; gap:20px; align-items:center; }
.nav-icons a { color:#fff; transition:color 0.3s; position:relative; }
.site-header.scrolled .nav-icons a { color:var(--primary); }
.cart-count {
  position:absolute; top:-8px; right:-10px; background:var(--gold); color:#fff;
  font-size:10px; width:18px; height:18px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; font-weight:700;
}

/* Hamburger */
.hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; z-index:1001; }
.hamburger span { display:block; width:24px; height:2px; background:#fff; transition:var(--transition); }
.site-header.scrolled .hamburger span { background:var(--primary); }

/* Mobile nav */
.mobile-nav {
  display:none; position:fixed; top:0; right:-100%; width:300px; height:100vh;
  background:var(--primary); z-index:999; padding:80px 40px; transition:right 0.4s ease;
}
.mobile-nav.open { right:0; }
.mobile-nav a {
  display:block; color:#fff; font-size:14px; letter-spacing:2px; text-transform:uppercase;
  padding:16px 0; border-bottom:1px solid rgba(255,255,255,0.1);
}
.mobile-overlay {
  display:none; position:fixed; top:0; left:0; width:100%; height:100%;
  background:rgba(0,0,0,0.5); z-index:998;
}
.mobile-overlay.open { display:block; }

/* ===== HERO ===== */
.hero {
  position:relative; height:100vh; display:flex; align-items:center; justify-content:center;
  text-align:center; overflow:hidden;
  background:url('https://images.unsplash.com/photo-1441986300917-64674bd600d8?w=1600') center/cover no-repeat;
}
.hero::before {
  content:''; position:absolute; inset:0; background:rgba(0,0,0,0.45);
}
.hero-content { position:relative; z-index:1; color:#fff; max-width:700px; padding:0 20px; }
.hero-content h1 {
  font-size:56px; letter-spacing:12px; text-transform:uppercase; font-weight:300;
  margin-bottom:16px; animation:fadeUp 1s ease;
}
.hero-content p.subtitle {
  font-size:14px; letter-spacing:4px; text-transform:uppercase; color:var(--gold);
  margin-bottom:24px; animation:fadeUp 1s ease 0.2s both;
}
.hero-content p.desc {
  font-size:16px; line-height:1.7; color:rgba(255,255,255,0.85);
  animation:fadeUp 1s ease 0.4s both;
}
.hero-btn {
  display:inline-block; margin-top:32px; padding:16px 48px; border:1px solid #fff;
  color:#fff; font-size:12px; letter-spacing:3px; text-transform:uppercase;
  transition:var(--transition); animation:fadeUp 1s ease 0.6s both;
}
.hero-btn:hover { background:#fff; color:var(--primary); }

@keyframes fadeUp {
  from { opacity:0; transform:translateY(30px); }
  to { opacity:1; transform:translateY(0); }
}

/* ===== SECTIONS ===== */
.section { padding:100px 5%; }
.section-title {
  text-align:center; font-size:13px; letter-spacing:4px; text-transform:uppercase;
  margin-bottom:50px; position:relative; padding-bottom:20px;
}
.section-title::after {
  content:''; position:absolute; bottom:0; left:50%; transform:translateX(-50%);
  width:50px; height:1px; background:var(--gold);
}

/* ===== CARROUSEL VEDETTES ===== */
.carousel-section { background:var(--bg-alt); }
.carousel-wrap { max-width:1200px; margin:0 auto; position:relative; overflow:hidden; }
.carousel-inner { display:flex; gap:24px; transition:transform 0.5s ease; }
.carousel-arrow {
  position:absolute; top:50%; transform:translateY(-50%); z-index:10;
  width:44px; height:44px; background:rgba(255,255,255,0.95); border:1px solid var(--border);
  display:flex; align-items:center; justify-content:center; cursor:pointer; transition:var(--transition);
}
.carousel-arrow:hover { background:var(--gold); border-color:var(--gold); }
.carousel-arrow:hover svg { stroke:#fff; }
.carousel-arrow.left { left:0; }
.carousel-arrow.right { right:0; }

/* ===== PRODUCT CARDS ===== */
.product-card {
  flex:0 0 calc(33.333% - 16px); background:#fff; overflow:hidden; transition:var(--transition);
}
.product-card:hover { box-shadow:var(--shadow); }
.product-card .img-wrap {
  display:block; position:relative; overflow:hidden; height:380px;
}
.product-card .img-wrap img {
  width:100%; height:100%; object-fit:cover; transition:transform 0.6s ease;
}
.product-card:hover .img-wrap img { transform:scale(1.05); }
.badge-promo {
  position:absolute; top:12px; left:12px; background:var(--danger); color:#fff;
  font-size:10px; letter-spacing:1px; padding:4px 10px; text-transform:uppercase; font-weight:700;
}
.product-card .info { padding:20px; }
.product-card .cat {
  font-size:10px; letter-spacing:2px; text-transform:uppercase; color:var(--text-light);
}
.product-card h3 {
  font-size:15px; font-weight:500; margin:6px 0; letter-spacing:0.5px;
}
.product-card .price {
  font-size:15px; font-weight:600; color:var(--primary);
}
.product-card .price .old {
  text-decoration:line-through; color:var(--text-light); font-weight:400;
  font-size:13px; margin-left:8px;
}
.product-card .btns { margin-top:14px; }
.btn { display:inline-block; padding:10px 24px; font-size:11px; letter-spacing:2px; text-transform:uppercase; transition:var(--transition); cursor:pointer; border:none; }
.btn-filled { background:var(--primary); color:#fff; }
.btn-filled:hover { background:var(--gold); }

/* ===== COLLECTIONS ===== */
.collections-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; max-width:1200px; margin:0 auto; }
.collection-card {
  position:relative; height:450px; overflow:hidden; cursor:pointer;
}
.collection-card img { width:100%; height:100%; object-fit:cover; transition:transform 0.6s ease; }
.collection-card:hover img { transform:scale(1.05); }
.collection-card .overlay {
  position:absolute; inset:0; background:linear-gradient(transparent 40%, rgba(0,0,0,0.6));
  display:flex; align-items:flex-end; padding:30px;
}
.collection-card .overlay h3 {
  color:#fff; font-size:18px; letter-spacing:3px; text-transform:uppercase; font-weight:400;
}

/* ===== REASSURANCE ===== */
.reassurance { background:var(--bg); }
.reassurance-grid {
  display:grid; grid-template-columns:repeat(4,1fr); gap:24px;
  max-width:1200px; margin:0 auto;
}
.reassurance-item {
  text-align:center; padding:40px 20px; border:1px solid var(--border);
  transition:var(--transition);
}
.reassurance-item:hover { transform:translateY(-4px); box-shadow:var(--shadow); border-color:var(--gold); }
.reassurance-item svg { margin:0 auto 16px; stroke:var(--gold); }
.reassurance-item h4 { font-size:13px; letter-spacing:2px; text-transform:uppercase; font-weight:600; margin-bottom:6px; }
.reassurance-item p { font-size:13px; color:var(--text-light); }

/* ===== FOOTER ===== */
.site-footer {
  background:var(--primary); color:#fff; padding:60px 5% 30px;
}
.footer-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:40px;
  max-width:1200px; margin:0 auto;
}
.footer-col h4 {
  font-size:12px; letter-spacing:3px; text-transform:uppercase; margin-bottom:20px;
  color:var(--gold);
}
.footer-col p, .footer-col a {
  font-size:14px; color:rgba(255,255,255,0.7); line-height:2;
}
.footer-col a:hover { color:var(--gold); }
.footer-bottom {
  text-align:center; margin-top:40px; padding-top:20px; border-top:1px solid rgba(255,255,255,0.1);
  font-size:12px; color:rgba(255,255,255,0.5);
}

/* ===== BOUTIQUE / CATALOGUE ===== */
.shop-header {
  padding:140px 5% 60px; background:var(--bg-alt); text-align:center;
}
.shop-header h1 {
  font-size:36px; letter-spacing:8px; text-transform:uppercase; font-weight:300;
}
.filters {
  display:flex; justify-content:center; gap:12px; flex-wrap:wrap;
  max-width:1200px; margin:40px auto 0;
}
.filter-btn {
  padding:10px 24px; background:transparent; border:1px solid var(--border);
  font-size:11px; letter-spacing:2px; text-transform:uppercase; cursor:pointer;
  transition:var(--transition);
}
.filter-btn:hover, .filter-btn.active { background:var(--primary); color:#fff; border-color:var(--primary); }
.products-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:24px;
  max-width:1200px; margin:40px auto; padding:0 5%;
}

/* ===== PRODUCT DETAIL ===== */
.product-detail {
  max-width:1200px; margin:0 auto; padding:120px 5% 60px;
  display:grid; grid-template-columns:1fr 1fr; gap:60px;
}
.pd-gallery { position:relative; }
.pd-main-img {
  width:100%; height:550px; object-fit:cover; cursor:pointer;
}
.pd-thumbs { display:flex; gap:10px; margin-top:10px; }
.pd-thumbs img {
  width:80px; height:80px; object-fit:cover; cursor:pointer; opacity:0.6;
  border:2px solid transparent; transition:var(--transition);
}
.pd-thumbs img:hover, .pd-thumbs img.active { opacity:1; border-color:var(--gold); }
.pd-arrows {
  position:absolute; top:50%; transform:translateY(-50%); width:100%;
  display:flex; justify-content:space-between; padding:0 10px; pointer-events:none;
}
.pd-arrow {
  pointer-events:all; width:40px; height:40px; background:rgba(255,255,255,0.9);
  display:flex; align-items:center; justify-content:center; cursor:pointer;
  transition:var(--transition); border:none;
}
.pd-arrow:hover { background:var(--gold); }
.pd-arrow:hover svg { stroke:#fff; }
.pd-info { padding-top:20px; }
.pd-info .cat { font-size:11px; letter-spacing:2px; text-transform:uppercase; color:var(--text-light); }
.pd-info h1 { font-size:28px; font-weight:400; letter-spacing:2px; margin:8px 0 16px; }
.pd-info .price { font-size:22px; font-weight:600; }
.pd-info .price .old { text-decoration:line-through; color:var(--text-light); font-size:16px; margin-left:10px; font-weight:400; }
.pd-info .desc { margin:24px 0; color:var(--text-light); line-height:1.8; font-size:15px; }

/* Tailles */
.sizes-wrap { margin:24px 0; }
.sizes-wrap label { display:block; font-size:12px; letter-spacing:2px; text-transform:uppercase; margin-bottom:10px; }
.sizes-btns { display:flex; flex-wrap:wrap; gap:8px; }
.size-btn {
  padding:10px 18px; border:1px solid var(--border); background:transparent;
  font-size:12px; letter-spacing:1px; cursor:pointer; transition:var(--transition);
}
.size-btn:hover { border-color:var(--primary); }
.size-btn.active { background:var(--primary); color:#fff; border-color:var(--primary); }
.size-btn.sold-out { opacity:0.4; cursor:not-allowed; text-decoration:line-through; }

.stock-info { font-size:13px; color:var(--success); margin:8px 0; }

.qty-wrap { display:flex; align-items:center; gap:12px; margin:20px 0; }
.qty-wrap button {
  width:36px; height:36px; border:1px solid var(--border); background:transparent;
  font-size:18px; cursor:pointer; transition:var(--transition);
}
.qty-wrap button:hover { border-color:var(--primary); }
.qty-wrap input {
  width:50px; text-align:center; border:1px solid var(--border); padding:8px;
  font-size:14px;
}
.btn-add-cart {
  width:100%; padding:16px; background:var(--primary); color:#fff; border:none;
  font-size:12px; letter-spacing:3px; text-transform:uppercase; cursor:pointer;
  transition:var(--transition); font-weight:600;
}
.btn-add-cart:hover { background:var(--gold); }

.pd-reassurance {
  margin-top:24px; padding:20px; border:1px solid var(--border);
}
.pd-reassurance-item { display:flex; align-items:center; gap:12px; margin-bottom:10px; }
.pd-reassurance-item:last-child { margin-bottom:0; }
.pd-reassurance-item svg { flex-shrink:0; stroke:var(--gold); }
.pd-reassurance-item span { font-size:13px; color:var(--text-light); }
.pd-reassurance-item a { color:var(--gold); font-size:12px; }

/* Lightbox */
.lightbox {
  position:fixed; top:0; left:0; width:100%; height:100%;
  background:rgba(0,0,0,0.92); display:flex; align-items:center; justify-content:center;
  z-index:9999; opacity:0; transition:opacity 0.3s;
}
.lightbox.active { opacity:1; }
.lightbox img { max-width:90%; max-height:90%; object-fit:contain; }
.lightbox-close {
  position:absolute; top:20px; right:30px; color:#fff; font-size:36px; cursor:pointer;
}

/* ===== PANIER ===== */
.cart-page { max-width:1000px; margin:0 auto; padding:120px 5% 60px; }
.cart-page h1 { font-size:28px; letter-spacing:6px; text-transform:uppercase; font-weight:300; margin-bottom:40px; }
.cart-table { width:100%; border-collapse:collapse; }
.cart-table th {
  text-align:left; font-size:11px; letter-spacing:2px; text-transform:uppercase;
  color:var(--text-light); padding:12px 0; border-bottom:2px solid var(--border);
}
.cart-table td { padding:16px 0; border-bottom:1px solid var(--border); vertical-align:middle; }
.cart-table .cart-img { width:80px; height:80px; object-fit:cover; }
.cart-table .cart-product-info h4 { font-size:14px; font-weight:500; }
.cart-table .cart-product-info .cart-size { font-size:12px; color:var(--text-light); }
.cart-table .cart-product-info .cart-sku { font-size:11px; color:var(--text-light); }
.cart-qty { display:flex; align-items:center; gap:8px; }
.cart-qty button { width:28px; height:28px; border:1px solid var(--border); background:transparent; cursor:pointer; font-size:14px; }
.cart-qty input { width:40px; text-align:center; border:1px solid var(--border); padding:4px; }
.cart-remove { cursor:pointer; color:var(--text-light); transition:color 0.3s; }
.cart-remove:hover { color:var(--danger); }
.cart-summary {
  margin-top:40px; text-align:right; padding:30px; background:var(--bg-alt);
}
.cart-summary .line { display:flex; justify-content:flex-end; gap:40px; margin-bottom:8px; font-size:14px; }
.cart-summary .total { font-size:20px; font-weight:600; margin-top:16px; padding-top:16px; border-top:1px solid var(--border); }
.cart-summary .btn-validate {
  margin-top:20px; padding:16px 48px; background:var(--primary); color:#fff;
  border:none; font-size:12px; letter-spacing:3px; text-transform:uppercase;
  cursor:pointer; transition:var(--transition);
}
.cart-summary .btn-validate:hover { background:var(--gold); }

/* Auth choice modal */
.auth-choice-modal {
  display:none; position:fixed; top:0; left:0; width:100%; height:100%;
  background:rgba(0,0,0,0.5); z-index:9999; align-items:center; justify-content:center;
}
.auth-choice-modal.show { display:flex; }
.auth-choice-box {
  background:#fff; padding:40px; max-width:400px; width:90%; text-align:center;
}
.auth-choice-box h3 { font-size:18px; letter-spacing:2px; margin-bottom:24px; }
.auth-choice-box .choice-btn {
  display:block; width:100%; padding:14px; margin-bottom:12px; border:1px solid var(--border);
  background:transparent; font-size:12px; letter-spacing:2px; text-transform:uppercase;
  cursor:pointer; transition:var(--transition);
}
.auth-choice-box .choice-btn:hover { background:var(--primary); color:#fff; border-color:var(--primary); }
.auth-choice-box .choice-btn.primary-btn { background:var(--primary); color:#fff; border-color:var(--primary); }
.auth-choice-box .choice-btn.primary-btn:hover { background:var(--gold); border-color:var(--gold); }

/* Checkout form */
.checkout-form { margin-top:40px; display:none; }
.checkout-form.show { display:block; }
.checkout-form h2 { font-size:18px; letter-spacing:3px; text-transform:uppercase; margin-bottom:24px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px; }
.form-group { display:flex; flex-direction:column; }
.form-group label { font-size:11px; letter-spacing:2px; text-transform:uppercase; margin-bottom:6px; color:var(--text-light); }
.form-group input, .form-group select {
  padding:12px; border:1px solid var(--border); font-size:14px; transition:border-color 0.3s;
}
.form-group input:focus, .form-group select:focus { border-color:var(--gold); outline:none; }
.form-group.full { grid-column:1/-1; }
.address-suggestions {
  position:absolute; top:100%; left:0; right:0; background:#fff;
  border:1px solid var(--border); max-height:200px; overflow-y:auto; z-index:100;
  display:none;
}
.address-suggestions .suggestion {
  padding:10px 12px; cursor:pointer; font-size:13px; border-bottom:1px solid var(--border);
}
.address-suggestions .suggestion:hover { background:var(--bg-alt); }
.shipping-info {
  padding:16px; background:var(--bg-alt); margin:16px 0; font-size:14px;
}
.btn-pay {
  width:100%; padding:16px; background:var(--primary); color:#fff; border:none;
  font-size:12px; letter-spacing:3px; text-transform:uppercase; cursor:pointer;
  transition:var(--transition); margin-top:20px;
}
.btn-pay:hover { background:var(--gold); }

/* ===== AUTH ===== */
.auth-page {
  min-height:100vh; display:flex; align-items:center; justify-content:center;
  padding:120px 20px 60px; background:var(--bg-alt);
}
.auth-box { background:#fff; padding:50px; max-width:440px; width:100%; box-shadow:var(--shadow); }
.auth-tabs { display:flex; margin-bottom:30px; border-bottom:1px solid var(--border); }
.auth-tab {
  flex:1; padding:14px; text-align:center; font-size:12px; letter-spacing:2px;
  text-transform:uppercase; cursor:pointer; border-bottom:2px solid transparent;
  transition:var(--transition); background:none; border-left:none; border-right:none; border-top:none;
}
.auth-tab.active { border-bottom-color:var(--gold); color:var(--gold); }
.auth-form { display:none; }
.auth-form.active { display:block; }
.auth-form .form-group { margin-bottom:16px; }
.auth-form .form-group label { display:block; font-size:11px; letter-spacing:2px; text-transform:uppercase; margin-bottom:6px; color:var(--text-light); }
.auth-form .form-group input { width:100%; padding:12px; border:1px solid var(--border); font-size:14px; }
.auth-form .form-group input:focus { border-color:var(--gold); outline:none; }
.auth-form .btn-submit {
  width:100%; padding:14px; background:var(--primary); color:#fff; border:none;
  font-size:12px; letter-spacing:3px; text-transform:uppercase; cursor:pointer;
  transition:var(--transition); margin-top:8px;
}
.auth-form .btn-submit:hover { background:var(--gold); }
.auth-msg { text-align:center; margin-top:12px; font-size:13px; }
.auth-msg.error { color:var(--danger); }
.auth-msg.success { color:var(--success); }

/* ===== COMPTE ===== */
.account-page { max-width:1000px; margin:0 auto; padding:120px 5% 60px; }
.account-page h1 { font-size:28px; letter-spacing:6px; text-transform:uppercase; font-weight:300; margin-bottom:30px; }
.account-tabs { display:flex; gap:0; margin-bottom:30px; border-bottom:1px solid var(--border); }
.account-tab {
  padding:14px 24px; font-size:12px; letter-spacing:2px; text-transform:uppercase;
  cursor:pointer; border-bottom:2px solid transparent; transition:var(--transition);
  background:none; border-left:none; border-right:none; border-top:none;
}
.account-tab.active { border-bottom-color:var(--gold); color:var(--gold); }
.account-panel { display:none; }
.account-panel.active { display:block; }
.order-card {
  border:1px solid var(--border); margin-bottom:16px; padding:20px;
}
.order-card-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:12px; }
.order-id { font-weight:600; }
.order-date { font-size:13px; color:var(--text-light); }
.order-status {
  padding:4px 12px; font-size:11px; letter-spacing:1px; text-transform:uppercase; font-weight:600;
}
.status-en_attente { background:#fff3cd; color:#856404; }
.status-payee { background:#d4edda; color:#155724; }
.status-expediee { background:#cce5ff; color:#004085; }
.status-livree { background:#d4edda; color:#155724; }
.status-annulee { background:#f8d7da; color:#721c24; }
.tracking-btn {
  display:inline-block; padding:8px 20px; background:var(--primary); color:#fff;
  font-size:11px; letter-spacing:1px; text-transform:uppercase; font-weight:600;
  margin-top:10px; transition:var(--transition);
}
.tracking-btn:hover { background:var(--gold); }
.profile-form .form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px; }
.profile-form .form-group label { display:block; font-size:11px; letter-spacing:2px; text-transform:uppercase; margin-bottom:6px; color:var(--text-light); }
.profile-form .form-group input { width:100%; padding:12px; border:1px solid var(--border); font-size:14px; }
.profile-form .form-group input:focus { border-color:var(--gold); outline:none; }
.profile-form .form-group input:disabled { background:#f5f5f5; }
.btn-logout {
  display:inline-block; padding:12px 32px; border:1px solid var(--danger); color:var(--danger);
  font-size:11px; letter-spacing:2px; text-transform:uppercase; cursor:pointer;
  transition:var(--transition); background:transparent; margin-top:20px;
}
.btn-logout:hover { background:var(--danger); color:#fff; }

/* ===== CONTACT ===== */
.contact-page { max-width:1200px; margin:0 auto; padding:120px 5% 60px; }
.contact-page h1 { text-align:center; font-size:28px; letter-spacing:6px; text-transform:uppercase; font-weight:300; margin-bottom:50px; }
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:60px; }
.contact-info-block h3 { font-size:14px; letter-spacing:2px; text-transform:uppercase; margin-bottom:20px; }
.contact-info-item { display:flex; align-items:flex-start; gap:16px; margin-bottom:20px; }
.contact-info-item svg { flex-shrink:0; stroke:var(--gold); }
.contact-info-item span { font-size:14px; line-height:1.6; color:var(--text-light); }

/* Legal pages */
.legal-page { max-width:800px; margin:0 auto; padding:120px 5% 60px; }
.legal-page h1 { font-size:28px; letter-spacing:6px; text-transform:uppercase; font-weight:300; margin-bottom:30px; }
.legal-content { line-height:1.8; color:var(--text-light); }
.legal-content h2 { color:var(--text); font-size:20px; margin:30px 0 15px; }
.legal-content h3 { color:var(--text); font-size:16px; margin:20px 0 10px; }
.legal-content p { margin-bottom:12px; }
.legal-content ul { margin:10px 0; padding-left:20px; }
.legal-content li { margin-bottom:6px; }

/* Success page */
.success-page {
  min-height:100vh; display:flex; align-items:center; justify-content:center;
  text-align:center; padding:40px 20px;
}
.success-box { max-width:500px; }
.success-box svg { margin:0 auto 20px; }
.success-box h1 { font-size:24px; letter-spacing:4px; text-transform:uppercase; margin-bottom:16px; }
.success-box p { color:var(--text-light); line-height:1.7; margin-bottom:8px; }
.success-box .order-num { font-size:20px; font-weight:600; color:var(--gold); margin:16px 0; }
.success-box .btn-home {
  display:inline-block; margin-top:24px; padding:14px 40px; background:var(--primary);
  color:#fff; font-size:12px; letter-spacing:3px; text-transform:uppercase;
  transition:var(--transition);
}
.success-box .btn-home:hover { background:var(--gold); }

/* ===== TOAST ===== */
.toast {
  position:fixed; bottom:30px; right:30px; padding:14px 28px; background:var(--primary);
  color:#fff; font-size:13px; z-index:10000; transform:translateY(100px); opacity:0;
  transition:all 0.4s ease;
}
.toast.show { transform:translateY(0); opacity:1; }
.toast.error { background:var(--danger); }

/* ===== COOKIE BANNER ===== */
.cookie-banner {
  position:fixed; bottom:0; left:0; right:0; background:var(--primary); color:#fff;
  padding:16px 5%; display:flex; align-items:center; justify-content:space-between;
  z-index:9998; font-size:13px; gap:20px;
}
.cookie-banner button {
  padding:8px 20px; font-size:11px; letter-spacing:1px; text-transform:uppercase;
  cursor:pointer; border:none; transition:var(--transition);
}
.cookie-accept { background:var(--gold); color:#fff; }
.cookie-refuse { background:transparent; border:1px solid rgba(255,255,255,0.3) !important; color:#fff; }

/* ===== REVEAL ANIMATIONS ===== */
.reveal {
  opacity:0; transform:translateY(30px); transition:opacity 0.8s ease, transform 0.8s ease;
  animation:revealFallback 0.8s ease 0.3s forwards;
}
.reveal.visible { opacity:1; transform:translateY(0); animation:none; }
@keyframes revealFallback {
  to { opacity:1; transform:translateY(0); }
}

/* ===== RESPONSIVE ===== */
@media(max-width:1024px) {
  .hamburger { display:flex; }
  .mobile-nav { display:block; }
  .nav-links { display:none; }
  .header-inner { padding:14px 20px; }
  .hero-content h1 { font-size:36px; letter-spacing:6px; }
  .collections-grid { grid-template-columns:1fr; gap:16px; }
  .collection-card { height:300px; }
  .reassurance-grid { grid-template-columns:1fr 1fr; }
  .product-detail { grid-template-columns:1fr; gap:30px; padding-top:100px; }
  .pd-main-img { height:400px; }
  .footer-grid { grid-template-columns:1fr; gap:20px; }
  .contact-grid { grid-template-columns:1fr; }
}

@media(max-width:768px) {
  .section { padding:60px 5%; }
  .hero { height:80vh; }
  .hero-content h1 { font-size:28px; letter-spacing:4px; }
  .hero-content p.subtitle { font-size:11px; }
  .products-grid { grid-template-columns:1fr 1fr; gap:12px; }
  .product-card .img-wrap { height:240px; }
  .product-card .info { padding:12px; }
  .product-card h3 { font-size:13px; }
  .reassurance-grid { grid-template-columns:1fr 1fr; gap:16px; }
  .reassurance-item { padding:24px 12px; }
  .cart-table thead { display:none; }
  .cart-table, .cart-table tbody, .cart-table tr, .cart-table td { display:block; width:100%; }
  .cart-table tr { padding:16px 0; border-bottom:1px solid var(--border); }
  .cart-table td { display:flex; justify-content:space-between; align-items:center; padding:4px 0; border:none; }
  .cart-table td::before { content:attr(data-label); font-weight:600; font-size:11px; text-transform:uppercase; color:var(--text-light); }
  .form-row { grid-template-columns:1fr; }
  .profile-form .form-row { grid-template-columns:1fr; }
  .carousel-arrow { display:none; }
  .carousel-inner {
    overflow-x:auto; -webkit-overflow-scrolling:touch;
    scroll-snap-type:x mandatory; transform:none !important;
  }
  .product-card { flex:0 0 45vw; scroll-snap-align:start; }
  .pd-arrows { display:none; }
}

@media(max-width:480px) {
  .hero-content h1 { font-size:22px; }
  .products-grid { grid-template-columns:1fr 1fr; gap:8px; }
  .product-card .img-wrap { height:200px; }
  .auth-box { padding:30px 20px; }
}
