/* ============================================================
   RATI & ROSE — Complete Redesign
   Romantic · Soft Pink · Modern · Professional
   ============================================================ */

:root {
  /* Core palette — soft, romantic, whitish-pink */
  --pink-50:  #fff0f3;
  --pink-100: #ffe0e8;
  --pink-200: #ffc5d3;
  --blush:    #f5c2c7;
  --rose:     #c9737a;
  --rose-dark:#a0525a;
  --gold:     #c8a96e;
  --gold-light:#e8d5b0;
  --maroon:   #8b1a2b;
  --maroon-light:#a83040;
  --cream:    #fffbf8;
  --champagne:#fdf4f0;
  --white:    #ffffff;
  --text-dark:#2a1a1e;
  --text-mid: #5a3540;
  --text-light:#9e7880;
  --border:   #f0dde0;
  --shadow:   0 2px 20px rgba(139,26,43,0.07);
  --shadow-hover: 0 10px 36px rgba(139,26,43,0.15);
  --radius:   16px;
  --radius-lg:22px;
}

/* 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(--text-dark); overflow-x:hidden; line-height:1.6; }
h1,h2,h3,h4,h5,h6 { font-family:'Cormorant Garamond',serif; font-weight:400; line-height:1.2; }
a { color:inherit; text-decoration:none; transition:color 0.2s; }
img { max-width:100%; height:auto; display:block; }
button { cursor:pointer; font-family:'Jost',sans-serif; }
input,textarea,select { font-family:'Jost',sans-serif; }
ul,ol { list-style:none; }
html,body { max-width:100%; overflow-x:hidden; }

.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
:focus-visible { outline:2px solid var(--rose); outline-offset:2px; border-radius:4px; }

/* ── LOGO ── */
.logo-svg { display:flex; align-items:center; gap:10px; cursor:pointer; text-decoration:none; }
.logo-icon { width:34px; height:34px; flex-shrink:0; }
.logo-text { font-family:'Cormorant Garamond',serif; font-size:21px; font-weight:600; color:var(--maroon); letter-spacing:0.04em; }
.logo-text span { color:var(--rose); }

/* ── ANNOUNCE BAR ── */
.announce-bar { background:var(--maroon); color:#fff; text-align:center; padding:8px 16px; font-size:11.5px; letter-spacing:0.04em; font-weight:500; overflow:hidden; }
.marquee-inner { display:inline-flex; animation:marquee 32s linear infinite; white-space:nowrap; }
.marquee-inner span { margin:0 36px; }
@keyframes marquee { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }

/* ── NAVBAR ── */
nav { position:sticky; top:0; z-index:1000; background:rgba(255,251,248,0.97); backdrop-filter:blur(20px); border-bottom:1px solid var(--border); }
.nav-inner { max-width:1700px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; height:66px; padding:0 28px; gap:12px; }
.nav-links { display:flex; gap:2px; align-items:center; }
.nav-links>li { position:relative; }
.nav-links a { font-size:12px; font-weight:600; letter-spacing:0.06em; text-transform:uppercase; color:var(--text-mid); transition:color 0.2s; cursor:pointer; padding:6px 10px; border-radius:7px; display:block; white-space:nowrap; }
.nav-links a:hover { color:var(--maroon); background:var(--pink-50); }

/* Gift nav items — highlighted */
.nav-gift-her>a { color:var(--rose) !important; }
.nav-gift-him>a { color:#6b3fa0 !important; }
.nav-gift-her>a:hover { background:#fff0f3 !important; }
.nav-gift-him>a:hover { background:#f5f0ff !important; }

/* ── DROPDOWN ── */
.has-dropdown { position:relative; }
.dropdown-menu { display:none; position:absolute; top:100%; left:50%; transform:translateX(-50%); background:#fff; border:1px solid var(--border); border-radius:var(--radius-lg); padding:10px; min-width:220px; box-shadow:0 20px 60px rgba(0,0,0,.12); z-index:500; padding-top:18px; margin-top:-8px; }
.dropdown-menu.grid-3 { min-width:520px; display:none; grid-template-columns:repeat(3,1fr); gap:4px; padding-top:18px; margin-top:-8px; }
.has-dropdown:hover .dropdown-menu { display:block; }
.has-dropdown:hover .dropdown-menu.grid-3 { display:grid; }
.has-dropdown:hover>a::after,.has-dropdown:hover>span::after { content:''; position:absolute; top:100%; left:0; width:100%; height:16px; }
.dd-item { padding:9px 12px; border-radius:10px; cursor:pointer; transition:background 0.15s; font-size:13px; color:var(--text-mid); display:flex; align-items:center; gap:8px; white-space:nowrap; text-decoration:none; }
.dd-item:hover { background:var(--pink-50); color:var(--maroon); }
.dd-icon { font-size:14px; }
.dd-sep { font-size:10px; letter-spacing:0.12em; text-transform:uppercase; color:var(--rose); font-weight:700; padding:8px 12px 4px; grid-column:1/-1; display:block; }

/* Gift for Her dropdown banner */
.dd-gift-banner { background:linear-gradient(135deg,#fff0f3,#ffe0e8); border-radius:12px; padding:14px 16px; margin-bottom:8px; display:flex; align-items:center; gap:12px; text-decoration:none; grid-column:1/-1; }
.dd-gift-banner-her { background:linear-gradient(135deg,#fff0f3,#fce4eb); }
.dd-gift-banner-him { background:linear-gradient(135deg,#f0f0ff,#e8e0f8); }
.dd-gift-banner h4 { font-family:'Cormorant Garamond',serif; font-size:18px; color:var(--maroon); margin-bottom:2px; }
.dd-gift-banner p { font-size:11px; color:var(--text-light); }

/* ── NAV ICONS ── */
.nav-icons { display:flex; gap:10px; align-items:center; }
.nav-icons button { background:none; border:none; cursor:pointer; font-size:19px; color:var(--text-mid); transition:color 0.2s; position:relative; padding:4px; }
.nav-icons button:hover { color:var(--maroon); }
.cart-count { position:absolute; top:-6px; right:-8px; background:var(--rose); color:#fff; border-radius:50%; width:16px; height:16px; font-size:9px; display:flex; align-items:center; justify-content:center; font-weight:700; }
.hamburger { display:none !important; }

/* ── BUTTONS ── */
.btn-primary { background:var(--maroon); color:#fff; border:none; padding:13px 34px; font-size:13px; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; border-radius:50px; cursor:pointer; transition:all 0.3s; display:inline-flex; align-items:center; justify-content:center; gap:6px; }
.btn-primary:hover { background:var(--maroon-light); transform:translateY(-2px); box-shadow:0 8px 25px rgba(139,26,43,0.3); }
.btn-primary:active { transform:translateY(0); }
.btn-outline { background:transparent; color:var(--maroon); border:1.5px solid var(--maroon); padding:12px 32px; font-size:13px; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; border-radius:50px; cursor:pointer; transition:all 0.3s; display:inline-flex; align-items:center; }
.btn-outline:hover { background:var(--maroon); color:#fff; }
.btn-outline-white { background:transparent; color:#fff; border:1.5px solid rgba(255,255,255,0.65); padding:13px 34px; font-size:13px; font-weight:500; letter-spacing:0.1em; text-transform:uppercase; border-radius:50px; cursor:pointer; transition:all 0.3s; }
.btn-outline-white:hover { background:rgba(255,255,255,0.12); border-color:#fff; }
.btn-danger { background:#fee2e2; color:#b91c1c; border:none; padding:8px 18px; border-radius:8px; font-size:13px; font-weight:500; cursor:pointer; }

/* ── SECTIONS ── */
section { padding:64px 28px; max-width:1360px; margin:0 auto; }
.section-label { font-size:10px; letter-spacing:0.28em; text-transform:uppercase; color:var(--rose); margin-bottom:10px; font-weight:600; }
.section-title { font-size:clamp(24px,3.5vw,40px); color:var(--maroon); margin-bottom:6px; }
.section-sub { font-size:15px; color:var(--text-light); font-family:'Cormorant Garamond',serif; font-style:italic; margin-bottom:36px; }
.section-header { text-align:center; margin-bottom:36px; }
.bg-champagne { background:var(--champagne); }
.bg-pink { background:var(--pink-50); }

/* ── PAGE HEADER ── */
.page-header {
  position: relative;
  width: min(1360px, calc(100% - 56px));
  margin: 26px auto 12px;
  padding: 42px 34px;
  text-align: center;
  color: #fff;
  border-radius: 30px;
  overflow: hidden;
  background:
    radial-gradient(circle at 15% 18%, rgba(255,255,255,0.24), transparent 20%),
    radial-gradient(circle at 85% 25%, rgba(232,213,176,0.28), transparent 22%),
    linear-gradient(120deg, #f6c875 0%, #c9737a 34%, #8b1a2b 72%, #4b1633 100%);
  box-shadow: 0 24px 56px rgba(100, 28, 39, 0.16);
}
.page-header::before {
  content: '';
  position: absolute;
  inset: auto -70px -70px auto;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,0.22);
}
.page-header::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(58,16,30,0.18), transparent 45%, rgba(255,255,255,0.05));
  pointer-events: none;
}
.page-header h1 {
  position: relative;
  z-index: 1;
  font-size: clamp(30px, 4.8vw, 52px);
  line-height: 1.05;
  margin-bottom: 10px;
}
.page-header p {
  position: relative;
  z-index: 1;
  max-width: 760px;
  margin: 0 auto;
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  font-size: clamp(16px, 1.8vw, 21px);
  color: rgba(255,255,255,0.88);
}

/* ── INNER PAGE SYSTEM ── */
.inner-page-section {
  position: relative;
  margin-top: 8px;
}

.inner-page-grid {
  display: grid;
  grid-template-columns: 1.02fr .98fr;
  gap: 28px;
  align-items: start;
}

.inner-page-card {
  background:
    radial-gradient(circle at top right, rgba(232,213,176,0.18), transparent 24%),
    linear-gradient(180deg, rgba(255,255,255,0.98) 0%, #fffdfa 100%);
  border: 1px solid var(--border);
  border-radius: 24px;
  padding: 28px;
  box-shadow: 0 18px 44px rgba(139,26,43,0.07);
}

.inner-page-soft {
  background: linear-gradient(180deg, #fff7f5 0%, #fffdfb 100%);
}

.inner-page-stack {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.inner-page-stat {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px;
  align-items: start;
  padding: 16px 18px;
  border-radius: 18px;
  background: rgba(253,244,240,0.85);
  border: 1px solid var(--border);
}

.inner-page-stat-icon {
  width: 48px;
  height: 48px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  background: linear-gradient(135deg, #fff 0%, var(--pink-50) 100%);
}

.inner-page-stat strong {
  display: block;
  font-size: 15px;
  color: var(--text-dark);
  margin-bottom: 4px;
}

.inner-page-stat span {
  display: block;
  font-size: 13px;
  color: var(--text-light);
  line-height: 1.7;
}

.inner-page-kicker {
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--rose);
  font-weight: 700;
  margin-bottom: 12px;
}

.inner-page-title {
  font-size: clamp(28px, 4vw, 44px);
  color: var(--maroon);
  margin-bottom: 12px;
}

.inner-page-copy {
  font-size: 15px;
  color: var(--text-mid);
  line-height: 1.9;
}

.inner-page-list {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-top: 24px;
}

.inner-page-chip-row {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 22px;
}

.inner-page-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: #fff;
  color: var(--text-mid);
  font-size: 13px;
  text-decoration: none;
}

.inner-page-cta {
  margin-top: 28px;
  border-radius: 26px;
  padding: 28px;
  background:
    radial-gradient(circle at top left, rgba(255,255,255,0.18), transparent 20%),
    linear-gradient(130deg, #233451 0%, #3c557f 55%, #6e8fb1 100%);
  color: #fff;
  box-shadow: 0 22px 44px rgba(35,52,81,0.18);
}

.inner-page-cta h3 {
  font-size: clamp(26px, 3.4vw, 38px);
  margin-bottom: 8px;
}

.inner-page-cta p {
  font-size: 15px;
  color: rgba(255,255,255,0.84);
  line-height: 1.8;
  margin-bottom: 18px;
}

.inner-page-btns {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

/* ── HERO ── */
.hero { position:relative; min-height:88vh; display:flex; align-items:center; overflow:hidden; background:linear-gradient(135deg,#2d0f18 0%,var(--maroon) 45%,#c9737a 100%); }
.hero-bg { position:absolute; inset:0; background-size:cover; background-position:center; opacity:0.2; }
.hero-overlay { position:absolute; inset:0; background:linear-gradient(105deg,rgba(45,15,24,0.9) 0%,rgba(139,26,43,0.55) 55%,transparent 100%); }
.hero-content { position:relative; z-index:2; max-width:1360px; margin:0 auto; padding:0 60px; color:#fff; width:100%; }
.hero-eyebrow { font-size:10px; letter-spacing:0.32em; text-transform:uppercase; color:var(--gold-light); margin-bottom:18px; opacity:0.9; }
.hero h1 { font-size:clamp(48px,6.5vw,90px); line-height:1.05; font-weight:300; letter-spacing:0.02em; margin-bottom:10px; }
.hero h1 em { font-style:italic; color:var(--blush); }
.hero-tagline { font-size:clamp(15px,1.8vw,20px); font-family:'Cormorant Garamond',serif; font-style:italic; color:var(--gold-light); margin-bottom:38px; }
.hero-btns { display:flex; gap:14px; flex-wrap:wrap; }
.hero-decor { position:absolute; right:0; top:50%; transform:translateY(-50%); width:44%; height:90%; overflow:hidden; }
.hero-img { width:100%; height:100%; object-fit:cover; border-radius:60% 0 0 60%; opacity:0.7; }

/* ── SHOP BY RECIPIENT BANNER (Giva-style) ── */


/* .recipient-section { background:var(--champagne); }
.recipient-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.recipient-card { position:relative; border-radius:var(--radius-lg); overflow:hidden; aspect-ratio:5/2; cursor:pointer; display:flex; align-items:center; text-decoration:none; transition:transform 0.3s,box-shadow 0.3s; }
.recipient-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-hover); }
.recipient-card-her { background:linear-gradient(135deg,#fce4eb 0%,#f5c2c7 50%,#e8a0aa 100%); }
.recipient-card-him { background:linear-gradient(135deg,#e8eaf6 0%,#c5cae9 50%,#9fa8da 100%); }
.recipient-card-combo { background:linear-gradient(135deg,#fff8e1 0%,#fde68a 50%,#f59e0b 100%); }
.recipient-body { padding:28px 32px; z-index:1; }
.recipient-body h3 { font-family:'Cormorant Garamond',serif; font-size:clamp(22px,3vw,36px); color:var(--maroon); margin-bottom:5px; }
.recipient-body p { font-size:13px; color:var(--text-mid); margin-bottom:14px; }
.recipient-card-him .recipient-body h3 { color:#2d3a8c; }
.recipient-card-him .recipient-body p { color:#4a5296; }
.recipient-img { position:absolute; right:0; top:0; height:100%; width:45%; object-fit:cover; object-position:top; } */

.recipient-section {
  background: var(--champagne);
}

/* GRID FIX */
.recipient-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

/* CARD FIX */
.recipient-card {
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  width: 100%;
  min-height: 160px; /* reduced */
  display: flex;
  align-items: center;
  text-decoration: none;
}

/* BODY FIX */
.recipient-body {
  padding: 20px;
  z-index: 1;
  width: 100%;
}

/* TEXT FIX */
.recipient-body h3 {
  font-size: 22px;
  line-height: 1.3;
}

.recipient-body p {
  font-size: 12px;
  line-height: 1.5;
}

/* MOBILE FIX (IMPORTANT) */
@media (max-width: 600px) {

  .recipient-grid {
    grid-template-columns: 1fr; /* stack */
  }

  .recipient-card {
    min-height: auto;
    padding: 10px 0;
  }

  .recipient-body {
    padding: 16px;
  }

  section {
    padding: 24px 16px !important; /* FIX CROPPING */
  }

  .section-header {
    padding: 0 6px;
  }

  .section-title {
    font-size: 22px;
  }

  .section-label {
    font-size: 11px;
  }
}

/* ── Best practice ── */
* {
  box-sizing: border-box;
}

body {
  overflow-x: hidden;
}

/* ── OCCASION GRID (compact, like Giva) ── */
.occasion-grid-compact { display:grid; grid-template-columns:repeat(6,1fr); gap:12px; }
.occ-chip { display:flex; flex-direction:column; align-items:center; gap:7px; text-decoration:none; cursor:pointer; }
.occ-chip-img { width:88px; height:88px; border-radius:50%; overflow:hidden; background:linear-gradient(135deg,var(--pink-100),var(--blush)); border:3px solid #fff; box-shadow:0 3px 12px rgba(139,26,43,0.12); transition:all 0.3s; }
.occ-chip:hover .occ-chip-img { transform:scale(1.07); box-shadow:0 6px 20px rgba(139,26,43,0.2); border-color:var(--rose); }
.occ-chip-img img { width:100%; height:100%; object-fit:cover; }
.occ-chip-icon { width:100%; height:100%; display:flex; align-items:center; justify-content:center; font-size:32px; }
.occ-chip-label { font-size:11px; font-weight:600; color:var(--text-mid); text-align:center; letter-spacing:0.03em; }
.occ-chip:hover .occ-chip-label { color:var(--maroon); }

/* ── PRODUCT GRID ── */
.product-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.product-card { background:var(--white); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); transition:all 0.3s; cursor:pointer; position:relative; border:1px solid transparent; }
.product-card:hover { transform:translateY(-5px); box-shadow:var(--shadow-hover); border-color:var(--border); }
.product-img-wrap { position:relative; aspect-ratio:1; overflow:hidden; background:var(--pink-50); }
.product-img-wrap img { width:100%; height:100%; object-fit:cover; transition:transform 0.5s; }
.product-card:hover .product-img-wrap img { transform:scale(1.06); }
.product-badge { position:absolute; top:10px; left:10px; background:#50a340; color:#fff; font-size:9px; font-weight:700; letter-spacing:0.07em; text-transform:uppercase; padding:3px 10px; border-radius:50px; z-index:1; }
.combo-badge { position:absolute; top:10px; left:10px; background:linear-gradient(135deg,var(--gold),#a07840); color:#fff; font-size:9px; font-weight:700; letter-spacing:0.07em; text-transform:uppercase; padding:3px 10px; border-radius:50px; z-index:1; }
.wishlist-btn { position:absolute; top:9px; right:9px; background:rgba(255,255,255,0.92); border:none; width:30px; height:30px; border-radius:50%; display:flex; align-items:center; justify-content:center; cursor:pointer; font-size:13px; transition:all 0.2s; z-index:1; box-shadow:0 2px 8px rgba(0,0,0,0.08); }
.wishlist-btn:hover,.wishlist-btn.active { background:var(--rose); color:#fff; }
.product-info { padding:12px 14px 14px; }
.product-name { font-family:'Cormorant Garamond',serif; font-size:15px; color:var(--text-dark); margin-bottom:2px; line-height:1.3; }
.product-material { font-size:10px; color:var(--text-light); margin-bottom:6px; }
.product-rating { display:flex; align-items:center; gap:4px; margin-bottom:7px; }
.stars { color:var(--gold); font-size:11px; }
.review-count { font-size:10px; color:var(--text-light); }
.price-row { display:flex; align-items:center; gap:6px; margin-bottom:10px; flex-wrap:wrap; }
.price { font-size:16px; font-weight:700; color:var(--maroon); }
.price-original { font-size:11px; color:var(--text-light); text-decoration:line-through; }
.discount-tag { font-size:9px; color:#16a34a; font-weight:700; background:#dcfce7; padding:2px 6px; border-radius:4px; }
.btn-cart { width:100%; background:var(--maroon); color:#fff; border:none; padding:9px; border-radius:10px; font-size:11px; font-weight:700; letter-spacing:0.09em; text-transform:uppercase; cursor:pointer; transition:all 0.25s; }
.btn-cart:hover { background:var(--maroon-light); }

/* ── OCCASION GRID (existing large style) ── */
.occasion-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.occasion-card { position:relative; border-radius:18px; overflow:hidden; aspect-ratio:4/5; cursor:pointer; transition:transform 0.4s; }
.occasion-card:hover { transform:scale(1.02); }
.occasion-card img { width:100%; height:100%; object-fit:cover; transition:transform 0.6s; }
.occasion-card:hover img { transform:scale(1.08); }
.occasion-overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(45,15,24,0.85) 0%,transparent 60%); display:flex; flex-direction:column; justify-content:flex-end; padding:20px; }
.occasion-icon { font-size:24px; margin-bottom:4px; }
.occasion-name { font-family:'Cormorant Garamond',serif; font-size:19px; color:#fff; }
.occasion-sub { font-size:10px; color:rgba(255,255,255,0.7); letter-spacing:0.1em; text-transform:uppercase; }

/* ── PRICE BANDS ── */
.price-bands { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.price-band { background:linear-gradient(135deg,var(--maroon) 0%,var(--rose) 100%); border-radius:18px; padding:30px 18px; text-align:center; color:#fff; cursor:pointer; transition:transform 0.3s,box-shadow 0.3s; }
.price-band:hover { transform:translateY(-4px); box-shadow:0 14px 36px rgba(139,26,43,0.28); }
.price-band:nth-child(2) { background:linear-gradient(135deg,#5a1a24 0%,var(--maroon) 100%); }
.price-band:nth-child(3) { background:linear-gradient(135deg,var(--rose) 0%,var(--gold) 100%); }
.price-band:nth-child(4) { background:linear-gradient(135deg,var(--gold) 0%,#a07840 100%); }
.price-band-amount { font-size:26px; font-family:'Cormorant Garamond',serif; margin-bottom:4px; }
.price-band-label { font-size:10px; letter-spacing:0.14em; text-transform:uppercase; opacity:0.85; }

/* ── WHY CHOOSE US ── */
.why-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.why-card { background:var(--white); border-radius:18px; padding:26px 20px; text-align:center; box-shadow:var(--shadow); transition:all 0.3s; border-bottom:3px solid transparent; }
.why-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-hover); border-bottom-color:var(--rose); }
.why-icon { font-size:34px; margin-bottom:12px; }
.why-title { font-family:'Cormorant Garamond',serif; font-size:18px; color:var(--maroon); margin-bottom:7px; }
.why-desc { font-size:12px; color:var(--text-light); line-height:1.7; }

/* ── REVIEWS ── */
.reviews-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.review-card { background:var(--white); border-radius:var(--radius); padding:22px; box-shadow:var(--shadow); border:1px solid var(--border); }
.review-card {
  position: relative;
  overflow: hidden;
  border-radius: 22px;
  padding: 24px;
  box-shadow: 0 18px 38px rgba(139,26,43,0.07);
}
.review-card::before {
  content: '';
  position: absolute;
  inset: 0 0 auto 0;
  height: 4px;
  background: linear-gradient(90deg, var(--gold), var(--rose), var(--maroon));
  opacity: .72;
}
.review-header { display:flex; align-items:center; gap:12px; margin-bottom:12px; }
.reviewer-img { width:44px; height:44px; border-radius:50%; object-fit:cover; }
.reviewer-name { font-weight:600; font-size:13px; color:var(--text-dark); }
.reviewer-city { font-size:11px; color:var(--text-light); }
.review-stars { color:var(--gold); font-size:13px; margin-bottom:8px; }
.review-text { font-size:13px; line-height:1.7; color:var(--text-mid); font-style:italic; }
.review-product { font-size:11px; color:var(--rose); margin-top:10px; font-weight:500; }
.verified-badge { font-size:10px; color:#16a34a; background:#dcfce7; padding:2px 8px; border-radius:50px; display:inline-flex; align-items:center; gap:3px; margin-top:8px; }

/* ── BLOG ── */
.blog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.blog-card { background:var(--white); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); transition:all 0.3s; cursor:pointer; border:1px solid var(--border); }
.blog-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-hover); }
.blog-img-wrap { overflow:hidden; }
.blog-img { width:100%; aspect-ratio:16/10; object-fit:cover; transition:transform 0.5s; }
.blog-card:hover .blog-img { transform:scale(1.04); }
.blog-info { padding:16px; }
.blog-cat { font-size:10px; color:var(--rose); letter-spacing:0.12em; text-transform:uppercase; font-weight:700; margin-bottom:6px; }
.blog-title { font-family:'Cormorant Garamond',serif; font-size:18px; color:var(--text-dark); margin-bottom:8px; line-height:1.4; }
.blog-excerpt { font-size:12px; color:var(--text-light); line-height:1.7; margin-bottom:12px; }
.blog-meta { display:flex; justify-content:space-between; align-items:center; }
.blog-author { font-size:11px; color:var(--text-mid); font-weight:500; }
.blog-read { font-size:11px; color:var(--rose); font-weight:500; }

/* ── SHOP ── */
.shop-layout { display:grid; grid-template-columns:230px 1fr; gap:32px; align-items:start; }
.shop-sidebar { background:var(--white); border-radius:var(--radius); padding:22px; box-shadow:var(--shadow); position:sticky; top:86px; border:1px solid var(--border); }
.sidebar-section { margin-bottom:22px; }
.sidebar-title { font-size:10px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:var(--text-dark); margin-bottom:10px; border-bottom:1px solid var(--border); padding-bottom:7px; }
.sidebar-opt { display:block; width:100%; text-align:left; padding:7px 10px; border-radius:8px; border:none; background:transparent; font-size:13px; cursor:pointer; color:var(--text-mid); transition:all 0.2s; }
.sidebar-opt:hover,.sidebar-opt.active { background:var(--pink-50); color:var(--maroon); font-weight:500; }
.filter-bar { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:26px; }
.filter-btn { padding:6px 16px; border-radius:50px; border:1.5px solid var(--border); background:transparent; font-size:11px; font-weight:600; letter-spacing:0.06em; text-transform:uppercase; cursor:pointer; transition:all 0.2s; color:var(--text-mid); }
.filter-btn.active,.filter-btn:hover { background:var(--maroon); color:#fff; border-color:var(--maroon); }

/* ── PRODUCT DETAIL ── */
.product-detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:start; }
.pd-thumb-wrap { transition:border-color 0.2s,transform 0.2s; }
.pd-thumb-wrap:hover { transform:scale(1.05); }
.pd-thumb-wrap.active,.pd-thumb-wrap.pd-thumb-active { border-color:var(--maroon) !important; }
#pdMainImgWrap { position:relative; overflow:hidden; }
#pdMainImg { transition:transform 0.1s ease; }
.product-main-img { width:100%; border-radius:var(--radius-lg); aspect-ratio:1; object-fit:cover; margin-bottom:12px; }
.product-thumbs { display:flex; gap:10px; flex-wrap:wrap; }
.product-thumb { width:64px; height:64px; border-radius:10px; object-fit:cover; cursor:pointer; border:2px solid transparent; transition:border-color 0.2s; }
.product-thumb.active { border-color:var(--rose); }
.product-detail-name { font-size:clamp(22px,3vw,34px); color:var(--maroon); margin-bottom:6px; line-height:1.25; }
.product-detail-material { font-size:13px; color:var(--text-light); margin-bottom:12px; }
.product-detail-price { font-size:28px; font-weight:700; color:var(--maroon); }
.product-detail-original { font-size:15px; color:var(--text-light); text-decoration:line-through; margin-left:8px; }
.product-detail-discount { display:inline-block; background:#dcfce7; color:#16a34a; padding:3px 11px; border-radius:50px; font-size:12px; font-weight:600; margin-left:8px; }
.product-detail-desc { font-size:14px; line-height:1.9; color:var(--text-mid); margin-bottom:20px; }
.size-label { font-size:11px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:var(--text-dark); margin-bottom:8px; }
.size-grid { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:20px; }
.size-btn { padding:8px 18px; border-radius:8px; border:1.5px solid var(--border); background:transparent; font-size:13px; cursor:pointer; transition:all 0.2s; color:var(--text-mid); }
.size-btn.active,.size-btn:hover { border-color:var(--maroon); color:var(--maroon); background:var(--pink-50); }
.btn-add-cart { width:100%; background:var(--maroon); color:#fff; border:none; padding:16px; border-radius:50px; font-size:14px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; cursor:pointer; transition:all 0.3s; margin-bottom:12px; }
.btn-add-cart:hover { background:var(--maroon-light); transform:translateY(-1px); box-shadow:0 6px 20px rgba(139,26,43,0.3); }
.buy-options { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-bottom:18px; }
.btn-buy-option { display:flex; align-items:center; justify-content:center; gap:5px; padding:10px; border-radius:10px; border:1.5px solid var(--border); background:var(--white); font-size:12px; font-weight:600; cursor:pointer; transition:all 0.2s; text-decoration:none; color:var(--text-mid); }
.btn-buy-option:hover { border-color:var(--rose); color:var(--maroon); background:var(--pink-50); }
.delivery-info { background:var(--champagne); border-radius:14px; padding:14px 16px; margin-bottom:20px; border:1px solid var(--border); }
.delivery-info h4 { font-size:12px; font-weight:700; margin-bottom:8px; color:var(--text-dark); }
.delivery-info p { font-size:12px; color:var(--text-mid); margin-bottom:3px; }
.personal-msg-box { background:linear-gradient(135deg,#fff5f7,var(--cream)); border:1.5px solid var(--blush); border-radius:var(--radius); padding:24px; margin:28px 0; }
.personal-msg-box h3 { font-size:20px; color:var(--maroon); margin-bottom:5px; }
.personal-msg-box p { font-size:13px; color:var(--text-light); margin-bottom:14px; }
.msg-input { width:100%; min-height:86px; border:1.5px solid var(--border); border-radius:12px; padding:13px; font-size:14px; font-family:'Jost',sans-serif; resize:vertical; color:var(--text-dark); background:#fff; transition:border-color 0.2s; margin-bottom:10px; }
.msg-input:focus { outline:none; border-color:var(--rose); }
.msg-presets { display:flex; gap:7px; flex-wrap:wrap; margin-bottom:12px; }
.msg-preset { padding:5px 12px; border-radius:50px; border:1px solid var(--border); background:#fff; font-size:12px; cursor:pointer; transition:all 0.2s; color:var(--text-mid); }
.msg-preset:hover { border-color:var(--rose); color:var(--maroon); }

/* ── AUTH ── */
.auth-page { min-height:100vh; display:flex; align-items:center; justify-content:center; padding:40px 20px; background:linear-gradient(135deg,#2d0f18 0%,var(--maroon) 50%,var(--rose) 100%); }
.auth-box { background:#fff; border-radius:24px; padding:44px 40px; max-width:460px; width:100%; box-shadow:0 24px 80px rgba(0,0,0,0.2); }
.auth-logo { text-align:center; margin-bottom:28px; }
.auth-title { font-size:30px; color:var(--maroon); text-align:center; margin-bottom:6px; }
.auth-sub { font-size:14px; color:var(--text-light); text-align:center; margin-bottom:28px; font-family:'Cormorant Garamond',serif; font-style:italic; }
.form-group { margin-bottom:15px; }
.form-label { display:block; font-size:11px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:var(--text-dark); margin-bottom:6px; }
.form-input { width:100%; padding:12px 14px; border:1.5px solid var(--border); border-radius:10px; font-size:14px; color:var(--text-dark); background:var(--cream); transition:border-color 0.2s; }
.form-input:focus { outline:none; border-color:var(--rose); background:#fff; }
.form-textarea { width:100%; padding:12px 14px; border:1.5px solid var(--border); border-radius:10px; font-size:14px; min-height:100px; resize:vertical; color:var(--text-dark); background:var(--cream); margin-bottom:12px; }
.form-textarea:focus { outline:none; border-color:var(--rose); }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.form-error { background:#fef2f2; border:1px solid #fca5a5; border-radius:10px; padding:12px 16px; font-size:13px; color:#b91c1c; margin-bottom:15px; }
.form-success { background:#f0fdf4; border:1px solid #86efac; border-radius:10px; padding:12px 16px; font-size:13px; color:#166534; margin-bottom:15px; }
.auth-link { text-align:center; font-size:13px; color:var(--text-light); margin-top:18px; }
.auth-link a { color:var(--rose); font-weight:600; }
.otp-inputs { display:flex; gap:10px; justify-content:center; margin:22px 0; }
.otp-input { width:50px; height:58px; border:2px solid var(--border); border-radius:12px; text-align:center; font-size:22px; font-weight:700; color:var(--maroon); background:var(--cream); transition:border-color 0.2s; }
.otp-input:focus { outline:none; border-color:var(--rose); background:#fff; }

/* ── ACCOUNT ── */
.account-grid { display:grid; grid-template-columns:240px 1fr; gap:28px; align-items:start; }
.account-sidebar { background:var(--white); border-radius:var(--radius); padding:22px; box-shadow:var(--shadow); position:sticky; top:86px; border:1px solid var(--border); }
.account-avatar { width:76px; height:76px; border-radius:50%; object-fit:cover; border:3px solid var(--blush); display:block; margin:0 auto 10px; }
.account-name { font-family:'Cormorant Garamond',serif; font-size:20px; color:var(--maroon); text-align:center; margin-bottom:3px; }
.account-email { font-size:11px; color:var(--text-light); text-align:center; margin-bottom:18px; }
.account-nav a { display:flex; align-items:center; gap:9px; padding:9px 13px; border-radius:10px; font-size:13px; color:var(--text-mid); text-decoration:none; transition:all 0.2s; margin-bottom:3px; }
.account-nav a:hover,.account-nav a.active { background:var(--pink-50); color:var(--maroon); font-weight:600; }

/* ── NEWSLETTER ── */
.newsletter-band { background:linear-gradient(135deg,var(--maroon) 0%,#5a1a24 100%); padding:60px 28px; text-align:center; margin-top:48px; }
.newsletter-band h2 { font-size:36px; color:#fff; margin-bottom:8px; }
.newsletter-band p { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:17px; color:rgba(255,255,255,0.75); margin-bottom:26px; }
.newsletter-form { display:flex; max-width:460px; margin:0 auto; }
.newsletter-input { flex:1; padding:14px 22px; border:none; border-radius:50px 0 0 50px; font-size:14px; background:rgba(255,255,255,0.95); }
.newsletter-input:focus { outline:none; }
.btn-newsletter { background:var(--gold); color:#fff; border:none; padding:14px 24px; border-radius:0 50px 50px 0; font-size:12px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; cursor:pointer; transition:background 0.2s; white-space:nowrap; }
.btn-newsletter:hover { background:#a07840; }

/* ── FOOTER ── */
footer { background:#1a0a0d; color:rgba(255,255,255,0.7); padding:56px 28px 24px; }
.footer-inner { max-width:1360px; margin:0 auto; }
.footer-top { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:44px; padding-bottom:44px; border-bottom:1px solid rgba(255,255,255,0.07); margin-bottom:26px; }
.footer-logo-area { margin-bottom:12px; display:flex; align-items:center; gap:10px; }
.footer-logo-text { font-family:'Cormorant Garamond',serif; font-size:24px; color:#fff; }
.footer-logo-text span { color:var(--rose); }
.footer-tagline { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:13px; color:rgba(255,255,255,0.42); margin-bottom:16px; line-height:1.6; }
.footer-social { display:flex; gap:9px; margin-top:18px; }
.social-btn { width:34px; height:34px; background:rgba(255,255,255,0.07); border:1px solid rgba(255,255,255,0.1); border-radius:50%; display:flex; align-items:center; justify-content:center; transition:all 0.2s; color:rgba(255,255,255,0.7); }
.social-btn:hover { background:var(--rose); border-color:var(--rose); color:#fff; }
.footer-col h4 { color:#fff; font-size:10px; letter-spacing:0.15em; text-transform:uppercase; font-weight:700; margin-bottom:14px; }
.footer-col ul li { margin-bottom:8px; }
.footer-col ul li a { font-size:13px; color:rgba(255,255,255,0.52); text-decoration:none; transition:color 0.2s; }
.footer-col ul li a:hover { color:var(--rose); }
.footer-bottom { display:flex; justify-content:space-between; align-items:center; font-size:11px; color:rgba(255,255,255,0.26); flex-wrap:wrap; gap:10px; }
.footer-payments { display:flex; gap:7px; flex-wrap:wrap; }
.payment-icon { background:rgba(255,255,255,0.07); padding:4px 9px; border-radius:6px; font-size:10px; color:rgba(255,255,255,0.42); }

/* ── CART PANEL ── */
.cart-overlay { position:fixed; inset:0; background:rgba(0,0,0,0.5); z-index:2000; opacity:0; pointer-events:none; transition:opacity 0.3s; }
.cart-overlay.open { opacity:1; pointer-events:all; }
.cart-panel { position:fixed; top:0; right:-440px; width:420px; height:100%; background:var(--cream); z-index:2001; transition:right 0.4s cubic-bezier(0.4,0,0.2,1); display:flex; flex-direction:column; box-shadow:-8px 0 40px rgba(0,0,0,0.14); }
.cart-panel.open { right:0; }
.cart-header { padding:20px 22px 13px; border-bottom:1px solid var(--border); display:flex; justify-content:space-between; align-items:center; }
.cart-header h3 { font-size:20px; color:var(--maroon); }
.cart-close { background:none; border:none; font-size:20px; cursor:pointer; color:var(--text-mid); }
.cart-items { flex:1; overflow-y:auto; padding:13px 22px; }
.cart-item { display:flex; gap:12px; padding:13px 0; border-bottom:1px solid var(--border); }
.cart-item-img { width:66px; height:66px; border-radius:10px; object-fit:cover; flex-shrink:0; background:var(--pink-50); }
.cart-item-name { font-size:13px; color:var(--text-dark); font-weight:500; margin-bottom:2px; }
.cart-item-price { font-size:14px; color:var(--maroon); font-weight:700; }
.cart-item-qty { display:flex; align-items:center; gap:6px; margin-top:6px; }
.cart-qty-btn { width:26px; height:26px; border-radius:6px; border:1.5px solid var(--border); background:var(--champagne); cursor:pointer; font-size:15px; font-weight:700; display:flex; align-items:center; justify-content:center; transition:all .2s; color:var(--maroon); }
.cart-qty-btn:hover { background:var(--maroon); color:#fff; border-color:var(--maroon); }
.cart-qty-num { font-size:14px; font-weight:700; color:var(--maroon); min-width:22px; text-align:center; }
.cart-item-remove { background:none; border:none; font-size:14px; color:var(--text-light); cursor:pointer; padding:4px; transition:color .2s; margin-left:4px; }
.cart-item-remove:hover { color:#b91c1c; }
.cart-footer { padding:16px 22px; border-top:1px solid var(--border); }
.cart-total { display:flex; justify-content:space-between; font-size:16px; font-weight:700; color:var(--text-dark); margin-bottom:13px; }
.btn-checkout { width:100%; background:var(--maroon); color:#fff; border:none; padding:14px; border-radius:50px; font-size:14px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; cursor:pointer; transition:background 0.2s; }
.btn-checkout:hover { background:var(--maroon-light); }
.cart-empty { text-align:center; padding:56px 18px; color:var(--text-light); font-family:'Cormorant Garamond',serif; font-size:18px; }

/* ── MODAL ── */
.modal-overlay { position:fixed; inset:0; background:rgba(0,0,0,0.6); z-index:3000; display:flex; align-items:center; justify-content:center; padding:20px; opacity:0; pointer-events:none; transition:opacity 0.3s; }
.modal-overlay.open { opacity:1; pointer-events:all; }
.modal-box { background:#fff; border-radius:22px; padding:36px; max-width:520px; width:100%; text-align:center; animation:popIn 0.35s ease; position:relative; }
@keyframes popIn { from{transform:scale(0.9);opacity:0} to{transform:scale(1);opacity:1} }
.modal-close { position:absolute; top:14px; right:18px; background:none; border:none; font-size:20px; cursor:pointer; color:var(--text-mid); }
.modal-box h2 { font-size:28px; color:var(--maroon); margin-bottom:12px; }
.modal-platforms { display:flex; gap:10px; justify-content:center; flex-wrap:wrap; margin-bottom:18px; }
.platform-btn { display:flex; align-items:center; gap:7px; padding:11px 20px; border-radius:11px; border:1.5px solid var(--border); font-size:13px; font-weight:600; cursor:pointer; transition:all 0.2s; text-decoration:none; color:var(--text-mid); }
.platform-btn:hover { border-color:var(--maroon); color:var(--maroon); transform:translateY(-2px); }

/* ── MOBILE MENU ── */
.mobile-menu { display:none; position:fixed; inset:0; background:var(--cream); z-index:3000; flex-direction:column; padding:68px 28px 28px; overflow-y:auto; }
.mobile-menu.open { display:flex; }
.mobile-menu-close { position:absolute; top:16px; right:20px; background:none; border:none; font-size:24px; cursor:pointer; color:var(--text-mid); }
.mob-nav-item { padding:12px 0; border-bottom:1px solid var(--border); }
.mob-nav-link { font-family:'Cormorant Garamond',serif; font-size:28px; color:var(--maroon); text-decoration:none; cursor:pointer; display:block; }
.mob-sub { display:none; padding:9px 0 3px 14px; }
.mob-sub.open { display:block; }
.mob-sub a { display:block; padding:7px 0; font-size:15px; color:var(--text-mid); text-decoration:none; }
.mob-sub a:hover { color:var(--maroon); }
.mob-expand { background:none; border:none; float:right; font-size:16px; cursor:pointer; color:var(--text-light); }

/* ── TOAST ── */
.toast { position:fixed; bottom:88px; right:22px; background:var(--maroon); color:#fff; padding:12px 20px; border-radius:50px; font-size:13px; font-weight:500; z-index:9999; opacity:0; transform:translateY(18px); transition:all 0.3s; pointer-events:none; max-width:300px; }
.toast.show { opacity:1; transform:translateY(0); }

/* ── PAGINATION ── */
.pagination { display:flex; justify-content:center; gap:7px; margin-top:44px; flex-wrap:wrap; }
.page-btn { padding:8px 15px; border-radius:9px; border:1.5px solid var(--border); background:var(--white); font-size:13px; font-weight:500; color:var(--text-mid); text-decoration:none; transition:all 0.2s; }
.page-btn.active,.page-btn:hover { background:var(--maroon); color:#fff; border-color:var(--maroon); }

/* ── BADGES ── */
.badge { display:inline-block; padding:3px 10px; border-radius:50px; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:0.06em; }
.badge-success { background:#dcfce7; color:#166534; }
.badge-warning { background:#fef9e7; color:#b7791f; }
.badge-danger  { background:#fef2f2; color:#b91c1c; }
.badge-info    { background:#eff6ff; color:#1e40af; }

/* ── SEARCH ── */
.search-bar-dropdown { display:none; position:fixed; top:0; left:0; right:0; z-index:2000; background:rgba(0,0,0,0.55); backdrop-filter:blur(7px); }
.search-bar-dropdown.open { display:block; }
.search-bar-inner { max-width:680px; margin:64px auto 0; padding:16px; }
.search-bar-wrap { display:flex; align-items:center; gap:0; background:#fff; border-radius:50px; box-shadow:0 20px 60px rgba(0,0,0,0.28); overflow:hidden; border:2px solid var(--border); }
.search-bar-wrap:focus-within { border-color:var(--rose); }
.search-bar-icon { padding:0 14px 0 18px; font-size:17px; opacity:0.5; }
.search-bar-input { flex:1; border:none; outline:none; font-size:16px; font-family:'Jost',sans-serif; padding:15px 8px; background:transparent; color:var(--text-dark); }
.search-bar-input::placeholder { color:var(--text-light); }
.search-bar-btn { background:var(--maroon); color:#fff; border:none; padding:13px 22px; font-size:13px; font-weight:700; cursor:pointer; font-family:'Jost',sans-serif; transition:background .2s; white-space:nowrap; }
.search-bar-btn:hover { background:var(--maroon-light); }
.search-close-btn { position:absolute; top:16px; right:16px; background:rgba(255,255,255,0.18); border:none; color:#fff; font-size:20px; width:38px; height:38px; border-radius:50%; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .2s; }
.search-close-btn:hover { background:rgba(255,255,255,0.28); }
.search-bar-hints { display:flex; gap:8px; flex-wrap:wrap; margin-top:12px; }
.search-bar-hints span { font-size:11px; color:rgba(255,255,255,0.58); }
.search-bar-hints a { font-size:11px; background:rgba(255,255,255,0.14); color:#fff; padding:4px 12px; border-radius:50px; text-decoration:none; transition:background .2s; }
.search-bar-hints a:hover { background:rgba(255,255,255,0.28); }

/* ── UTILITIES ── */
.text-center{text-align:center} .text-maroon{color:var(--maroon)} .text-rose{color:var(--rose)} .text-gold{color:var(--gold)}
.mt-1{margin-top:8px} .mt-2{margin-top:16px} .mt-3{margin-top:24px} .mt-4{margin-top:32px}
.mb-1{margin-bottom:8px} .mb-2{margin-bottom:16px} .mb-3{margin-bottom:24px} .mb-4{margin-bottom:32px}
.d-flex{display:flex} .align-center{align-items:center} .justify-between{justify-content:space-between} .flex-wrap{flex-wrap:wrap}
.w-full{width:100%} .hidden{display:none !important} .gap-2{gap:16px}

/* ── STORE, ABOUT, CONTACT pages ── */
.about-story-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;margin-bottom:52px}
.about-values{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:52px}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin-bottom:48px}
.value-card{background:var(--champagne);border-radius:16px;padding:22px 18px;text-align:center;border:1px solid var(--border)}
.value-card .icon{font-size:30px;margin-bottom:10px}
.value-card h3{font-size:16px;color:var(--maroon);margin-bottom:7px}
.value-card p{font-size:12px;color:var(--text-mid);line-height:1.7}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start}
.contact-info-list{display:flex;flex-direction:column;gap:14px;margin-bottom:26px}
.contact-info-item{display:flex;gap:12px;align-items:flex-start;padding:13px 15px;background:var(--champagne);border-radius:12px;border:1px solid var(--border)}
.contact-info-icon{font-size:20px;flex-shrink:0;margin-top:2px}
.contact-info-label{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--rose);font-weight:700;margin-bottom:2px}
.contact-info-value{font-size:13px;color:var(--text-dark);font-weight:500}
.contact-form-card{background:var(--white);border-radius:18px;padding:28px;box-shadow:var(--shadow);border:1px solid var(--border)}
.joinus-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start}
.positions-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:28px}
.position-card{background:var(--champagne);border-radius:14px;padding:18px;cursor:pointer;border:1.5px solid transparent;transition:all .2s}
.position-card:hover{border-color:var(--rose);background:var(--white)}
.joinus-form-card{background:var(--white);border-radius:18px;padding:28px;box-shadow:var(--shadow)}
.store-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}
.store-card{
  background: linear-gradient(180deg, #fff8f4 0%, #ffffff 100%);
  border-radius:22px;
  padding:24px;
  border:1px solid var(--border);
  box-shadow:0 18px 38px rgba(139,26,43,.06)
}
.occasions-hero{background:linear-gradient(135deg,var(--maroon),var(--rose));color:#fff;padding:42px 28px;text-align:center}
.occasions-hero h1{font-size:clamp(26px,6vw,48px);margin-bottom:7px}
.blog-cat-scroll-wrap{overflow:hidden;margin-bottom:26px;position:relative}
.blog-cat-scroll{display:flex;gap:8px;overflow-x:auto;padding:3px 2px 9px;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.blog-cat-scroll::-webkit-scrollbar{display:none}
.blog-cat-scroll .filter-btn{flex-shrink:0;white-space:nowrap}
.blog-featured{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:32px;background:var(--champagne);border-radius:18px;overflow:hidden;border:1px solid var(--border)}
.blog-featured-img{aspect-ratio:4/3;object-fit:cover;width:100%;height:100%}
.blog-featured-body{padding:28px 28px 28px 0;display:flex;flex-direction:column;justify-content:center}
.admin-table{width:100%;border-collapse:collapse;font-size:13px}
.admin-table th{background:var(--champagne);padding:10px 13px;text-align:left;font-weight:700;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--maroon);white-space:nowrap}
.admin-table td{padding:10px 13px;border-bottom:1px solid var(--border);vertical-align:middle}
.admin-table tr:hover td{background:var(--pink-50)}
.back-btn{display:inline-flex;align-items:center;gap:5px;color:var(--rose);font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;background:none;border:none;cursor:pointer;margin-bottom:26px;padding:0;text-decoration:none}
.back-btn:hover{color:var(--maroon)}

/* ═══════════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════════ */
@media(max-width:1200px){
  .product-grid{grid-template-columns:repeat(3,1fr)}
  .why-grid{grid-template-columns:repeat(2,1fr)}
  .footer-top{grid-template-columns:1fr 1fr;gap:28px}
  .occasion-grid-compact{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:900px){
  .nav-links{display:none !important}
  .hamburger{display:flex !important;background:none;border:none;cursor:pointer;font-size:23px;color:var(--text-mid)}
  .nav-inner{padding:0 16px;height:60px}
  section{padding:40px 16px}
  .hero-content{padding:0 20px}
  .hero-decor{display:none}
  .hero{min-height:74vh}
  .occasion-grid{grid-template-columns:repeat(2,1fr);gap:12px}
  .occasion-grid-compact{grid-template-columns:repeat(4,1fr);gap:10px}
  .occ-chip-img{width:72px;height:72px}
  .product-grid{grid-template-columns:repeat(2,1fr);gap:12px}
  .price-bands{grid-template-columns:repeat(2,1fr);gap:10px}
  .reviews-grid{grid-template-columns:1fr}
  .blog-grid{grid-template-columns:1fr}
  .why-grid{grid-template-columns:1fr 1fr;gap:12px}
  .product-detail-grid{grid-template-columns:1fr;gap:22px}
  .shop-layout{grid-template-columns:1fr}
  .shop-sidebar{position:static}
  .account-grid{grid-template-columns:1fr}
  .account-sidebar{position:static}
  .about-grid,.contact-grid,.positions-grid,.about-values,.joinus-grid{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr}
  .store-grid{grid-template-columns:1fr}
  .footer-top{grid-template-columns:1fr 1fr;gap:20px}
  .cart-panel{width:100vw;right:-100vw}
  .newsletter-form{flex-direction:column}
  .newsletter-input{border-radius:50px;margin-bottom:8px}
  .btn-newsletter{border-radius:50px}
  .modal-box{padding:26px 16px;width:95vw}
  .auth-box{padding:30px 20px;margin:16px}
  .recipient-grid{grid-template-columns:1fr}
  .recipient-card{aspect-ratio:3/1}
}
@media(max-width:600px){
  .nav-inner{padding:0 12px;height:56px}
  .logo-text{font-size:17px}
  .logo-icon{width:28px;height:28px}
  .hero{min-height:64vh}
  .hero h1{font-size:clamp(32px,10vw,50px)}
  .hero-tagline{font-size:14px}
  .hero-btns{flex-direction:column;gap:10px}
  .hero-btns a,.hero-btns button{width:100%;text-align:center}
  .occasion-grid{grid-template-columns:1fr 1fr;gap:10px}
  .occasion-grid-compact{grid-template-columns:repeat(3,1fr);gap:8px}
  .occ-chip-img{width:62px;height:62px}
  .occ-chip-label{font-size:10px}
  .product-grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .price-bands{grid-template-columns:1fr 1fr;gap:8px}
  .why-grid{grid-template-columns:1fr}
  .product-name{font-size:13px}
  .price{font-size:15px}
  .product-info{padding:9px}
  .btn-cart{font-size:10px;padding:8px}
  .product-detail-name{font-size:21px}
  .product-detail-price{font-size:24px}
  .footer-top{grid-template-columns:1fr;gap:20px}
  .footer-bottom{flex-direction:column;gap:10px;text-align:center}
  .auth-box{padding:26px 16px}
  .auth-title{font-size:24px}
  .section-title{font-size:clamp(26px,8vw,42px)}
  .blog-grid{grid-template-columns:1fr}
  section{padding:32px 14px}
  .search-bar-inner{margin:44px 12px 0}
  .about-values{grid-template-columns:1fr 1fr}
}
@media(max-width:420px){
  .product-grid{grid-template-columns:repeat(2,1fr);gap:8px}
  .product-info{padding:7px}
  .product-name{font-size:12px}
  .otp-inputs{gap:5px}
  .otp-input{width:42px;height:50px;font-size:20px}
  .hero-btns a,.hero-btns button{padding:12px 20px;font-size:12px}
  .modal-box{padding:18px 13px}
  section{padding:26px 12px}
  .occasion-grid-compact{grid-template-columns:repeat(3,1fr)}
}

/* ═══════════════════════════════════════════
   GIFT LANDING PAGES — shared styles
═══════════════════════════════════════════ */

/* Occasion pills (used on gifts-for-her, him, combos) */
.occasion-pill { display:inline-flex; align-items:center; gap:7px; padding:9px 20px; border-radius:50px; border:1.5px solid var(--border); font-size:12px; font-weight:600; cursor:pointer; transition:all .2s; color:var(--text-mid); text-decoration:none; background:#fff; }
.occasion-pill:hover, .occasion-pill.active { background:var(--maroon); color:#fff; border-color:var(--maroon); }
.occasion-pill .emoji { font-size:16px; }

/* Price pills */
.price-pill { padding:9px 20px; border-radius:50px; background:#fff; border:1.5px solid var(--border); font-size:13px; font-weight:600; color:var(--text-mid); cursor:pointer; transition:all .2s; text-decoration:none; display:inline-block; }
.price-pill:hover { border-color:var(--rose); color:var(--maroon); background:var(--pink-50); }
.price-pills { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:28px; justify-content:center; }

/* Hero carousel dots */
.hero-dots { position:absolute; bottom:28px; left:50%; transform:translateX(-50%); display:flex; gap:8px; z-index:10; }
.hero-dot { width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,.4); border:none; cursor:pointer; transition:all .3s; padding:0; }
.hero-dot.active { background:#fff; width:24px; border-radius:4px; }
.hero-arrow { position:absolute; top:50%; transform:translateY(-50%); z-index:10; background:rgba(255,255,255,.14); border:none; color:#fff; width:44px; height:44px; border-radius:50%; font-size:18px; cursor:pointer; transition:background .2s; display:flex; align-items:center; justify-content:center; }
.hero-arrow:hover { background:rgba(255,255,255,.28); }
.hero-arrow-prev { left:20px; }
.hero-arrow-next { right:20px; }

/* Profile page cards */
.profile-card { background:#fff; border-radius:16px; padding:28px; box-shadow:0 2px 20px rgba(139,26,43,.07); margin-bottom:20px; border:1px solid var(--border); }
.profile-card h3 { font-family:'Cormorant Garamond',serif; font-size:20px; color:var(--maroon); margin-bottom:20px; display:flex; align-items:center; gap:8px; }
.pf-grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.pf-label { display:block; font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--text-mid); margin-bottom:6px; }
.pf-input { width:100%; padding:11px 14px; border:1.5px solid var(--border); border-radius:10px; font-size:14px; font-family:'Jost',sans-serif; color:var(--text-dark); background:var(--cream); transition:border-color .2s; box-sizing:border-box; }
.pf-input:focus { outline:none; border-color:var(--rose); background:#fff; }
.pf-input:disabled { opacity:.55; cursor:not-allowed; }
.pf-group { margin-bottom:14px; }
.pf-btn { background:var(--maroon); color:#fff; border:none; padding:12px 28px; border-radius:50px; font-size:13px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; cursor:pointer; font-family:'Jost',sans-serif; transition:all .2s; display:inline-block; }
.pf-btn:hover { background:var(--maroon-light); transform:translateY(-1px); }
.pf-btn-outline { background:transparent; color:var(--maroon); border:1.5px solid var(--maroon); padding:11px 24px; border-radius:50px; font-size:13px; font-weight:600; cursor:pointer; font-family:'Jost',sans-serif; transition:all .2s; display:inline-block; }
.pf-btn-outline:hover { background:var(--maroon); color:#fff; }
.pf-success { background:#f0fdf4; border:1px solid #86efac; border-radius:10px; padding:12px 16px; font-size:13px; color:#166534; margin-bottom:16px; }
.pf-error   { background:#fef2f2; border:1px solid #fca5a5; border-radius:10px; padding:12px 16px; font-size:13px; color:#b91c1c; margin-bottom:16px; }

/* Fix profile layout */
.account-grid {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 20px;
  width: 100%;
}

.account-grid > div {
  min-width: 0;
}

.profile-card {
  width: 100%;
  box-sizing: border-box;
}

/* Mobile fix */
@media (max-width: 768px) {
  .account-grid {
    grid-template-columns: 1fr;
  }
}

/* Recipient section (mobile fix) */
.recipient-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.recipient-card { position:relative; border-radius:18px; overflow:hidden; min-height:180px; cursor:pointer; display:flex; align-items:center; text-decoration:none; transition:transform .3s,box-shadow .3s; }
.recipient-card:hover { transform:translateY(-3px); box-shadow:0 12px 40px rgba(139,26,43,.18); }
.recipient-card-her { background:linear-gradient(135deg,#fce4eb 0%,#f5c2c7 60%,#e8a0aa 100%); }
.recipient-card-him { background:linear-gradient(135deg,#e8eaf6 0%,#c5cae9 60%,#9fa8da 100%); }
.recipient-body { padding:28px 32px; z-index:1; }
.recipient-body h3 { font-family:'Cormorant Garamond',serif; font-size:clamp(22px,3vw,36px); margin-bottom:6px; line-height:1.2; color:var(--maroon); }
.recipient-body p { font-size:13px; color:var(--text-mid); margin-bottom:16px; line-height:1.6; }
.recipient-him-btn { background:#2d3a8c; color:#fff; border:none; padding:11px 22px; border-radius:50px; font-size:12px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; cursor:pointer; display:inline-flex; align-items:center; gap:5px; transition:all .2s; text-decoration:none; }
.recipient-him-btn:hover { background:#1e2d6e; transform:translateY(-1px); }

@media(max-width:900px) {
  .hero-arrow { display:none; }
}
@media(max-width:600px) {
  .page-header {
    width: min(1360px, calc(100% - 20px));
    margin: 14px auto 8px;
    padding: 28px 18px;
    border-radius: 22px;
  }
  .page-header h1 { font-size: 30px; }
  .page-header p { font-size: 16px; }
  .inner-page-card,
  .inner-page-cta { padding: 20px; border-radius: 20px; }
  .inner-page-grid { grid-template-columns: 1fr; gap: 18px; }
  .recipient-grid { grid-template-columns:1fr; gap:12px; }
  .recipient-card { min-height:140px; }
  .recipient-body { padding:20px 22px; }
  .recipient-body h3 { font-size:24px; }
  .recipient-body p { font-size:12px; margin-bottom:14px; }
  .pf-grid-2 { grid-template-columns:1fr; }
  .hero-dots { bottom:16px; }
}

/* ═══════════════════════════════════════════
   FINAL POLISH — micro-interactions & consistency
═══════════════════════════════════════════ */

/* Smooth focus rings everywhere */
input:focus, select:focus, textarea:focus, button:focus-visible { outline:2px solid var(--rose); outline-offset:2px; }

/* Section divider stripe pattern */
.stripe-divider { height:3px; background:linear-gradient(90deg,var(--maroon),var(--rose),var(--gold),var(--rose),var(--maroon)); opacity:.25; border:none; margin:0; }

/* Floating WhatsApp button */
.whatsapp-float { position:fixed; bottom:24px; right:24px; z-index:800; background:#25d366; color:#fff; width:54px; height:54px; border-radius:50%; display:flex; align-items:center; justify-content:center; box-shadow:0 4px 20px rgba(37,211,102,.45); text-decoration:none; transition:transform .25s,box-shadow .25s; font-size:26px; }
.whatsapp-float:hover { transform:scale(1.1) translateY(-2px); box-shadow:0 8px 28px rgba(37,211,102,.55); }

/* Product card — subtle entry animation */
@keyframes cardFadeIn { from{opacity:0;transform:translateY(12px)} to{opacity:1;transform:translateY(0)} }
.product-grid .product-card { animation:cardFadeIn .4s ease both; }
.product-grid .product-card:nth-child(2) { animation-delay:.07s; }
.product-grid .product-card:nth-child(3) { animation-delay:.14s; }
.product-grid .product-card:nth-child(4) { animation-delay:.21s; }

/* Nav hover underline */
.nav-links > li > a { position:relative; }

/* ═══════════════════════════════════════════
   GIFTING UI REFRESH — shared modern override system
═══════════════════════════════════════════ */

:root {
  --pink-50: #fff7f3;
  --pink-100: #ffece4;
  --pink-200: #ffd7ca;
  --blush: #f3c9bb;
  --rose: #df7d66;
  --rose-dark: #c8644d;
  --gold: #d7ad6d;
  --gold-light: #f4e0bb;
  --maroon: #7e2f2f;
  --maroon-light: #9c4343;
  --cream: #fffdfa;
  --champagne: #fff5ee;
  --white: #ffffff;
  --text-dark: #221c1a;
  --text-mid: #5c4c47;
  --text-light: #907f79;
  --border: #f0dfd6;
  --shadow: 0 14px 38px rgba(93, 52, 43, 0.08);
  --shadow-hover: 0 24px 58px rgba(93, 52, 43, 0.14);
  --radius: 18px;
  --radius-lg: 30px;
}

body {
  background:
    radial-gradient(circle at top left, rgba(255, 229, 214, 0.42), transparent 24%),
    linear-gradient(180deg, #fffdfa 0%, #fff8f4 48%, #fffdfa 100%);
  color: var(--text-dark);
}

main {
  position: relative;
}

nav {
  background: rgba(255, 253, 250, 0.92);
  backdrop-filter: blur(22px);
  border-bottom: 1px solid rgba(240, 223, 214, 0.82);
  box-shadow: 0 10px 30px rgba(126, 47, 47, 0.05);
}

.nav-inner {
  height: 74px;
  gap: 18px;
}

.logo-text {
  font-size: 24px;
  letter-spacing: 0.05em;
}

.nav-links {
  gap: 6px;
}

.nav-links a {
  font-size: 11.5px;
  letter-spacing: 0.08em;
  border-radius: 999px;
  padding: 10px 14px;
  color: var(--text-mid);
}

.nav-links a:hover,
.nav-links > li:hover > a {
  color: var(--maroon);
  background: rgba(255, 236, 228, 0.9);
}

.dropdown-menu,
.dropdown-menu.grid-3 {
  margin-top: 10px;
  padding: 16px;
  border-radius: 24px;
  border: 1px solid rgba(240, 223, 214, 0.95);
  box-shadow: 0 28px 70px rgba(53, 28, 24, 0.14);
  background:
    radial-gradient(circle at top right, rgba(255, 236, 228, 0.7), transparent 22%),
    #fffdfa;
}

.dd-item {
  padding: 11px 13px;
  border-radius: 14px;
  font-size: 13px;
}

.dd-item:hover {
  background: rgba(255, 236, 228, 0.72);
}

.nav-icons button {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(255, 236, 228, 0.55);
  color: var(--maroon);
}

.nav-icons button:hover {
  background: rgba(223, 125, 102, 0.12);
}

.btn-primary,
.pf-btn,
.btn-checkout,
.btn-add-cart,
.btn-cart,
.search-bar-btn {
  background: linear-gradient(135deg, var(--maroon) 0%, var(--rose) 100%);
  box-shadow: 0 12px 26px rgba(126, 47, 47, 0.18);
}

.btn-primary:hover,
.pf-btn:hover,
.btn-checkout:hover,
.btn-add-cart:hover,
.btn-cart:hover,
.search-bar-btn:hover {
  background: linear-gradient(135deg, var(--maroon-light) 0%, var(--rose-dark) 100%);
  box-shadow: 0 16px 30px rgba(126, 47, 47, 0.22);
}

.btn-outline,
.pf-btn-outline {
  border-color: rgba(126, 47, 47, 0.18);
  background: rgba(255, 255, 255, 0.84);
  color: var(--maroon);
}

.btn-outline:hover,
.pf-btn-outline:hover {
  background: var(--maroon);
  border-color: var(--maroon);
}

section {
  padding: 72px 28px;
}

.section-header {
  margin-bottom: 42px;
}

.section-label,
.inner-page-kicker {
  color: var(--rose);
  letter-spacing: 0.22em;
}

.section-title,
.inner-page-title {
  color: #2f2421;
  font-weight: 600;
}

.section-sub,
.inner-page-copy,
.page-header p {
  color: var(--text-mid);
}

.page-header {
  width: min(1320px, calc(100% - 40px));
  margin: 26px auto 4px;
  padding: 34px 38px;
  text-align: left;
  border-radius: 34px;
  background:
    radial-gradient(circle at 14% 20%, rgba(255,255,255,0.34), transparent 22%),
    radial-gradient(circle at 88% 24%, rgba(255,224,195,0.34), transparent 24%),
    linear-gradient(120deg, #fff1da 0%, #ffd9be 18%, #f2a986 45%, #ce785f 70%, #87433f 100%);
  box-shadow: 0 30px 66px rgba(110, 60, 45, 0.17);
}

.page-header::after {
  background:
    linear-gradient(90deg, rgba(89, 49, 38, 0.15), transparent 50%, rgba(255, 255, 255, 0.08));
}

.page-header h1 {
  max-width: 700px;
  font-size: clamp(30px, 4.2vw, 52px);
  font-weight: 600;
  color: #fffefb;
}

.page-header p {
  max-width: 620px;
  margin: 0;
  font-size: clamp(15px, 1.55vw, 20px);
  color: rgba(255, 248, 244, 0.9);
}

.hero {
  min-height: 72vh;
  background:
    radial-gradient(circle at top left, rgba(255,255,255,0.2), transparent 24%),
    linear-gradient(120deg, #fff0dd 0%, #f9c8ab 24%, #e3977a 50%, #b85f59 78%, #6d3036 100%);
}

.hero-overlay {
  background: linear-gradient(100deg, rgba(91, 45, 38, 0.72) 0%, rgba(161, 89, 72, 0.42) 52%, rgba(255, 255, 255, 0.04) 100%);
}

.hero-content {
  padding: 0 42px;
}

.hero h1 {
  max-width: 620px;
  font-size: clamp(38px, 5vw, 72px);
  font-weight: 600;
}

.hero-tagline {
  max-width: 540px;
  font-size: clamp(16px, 1.5vw, 20px);
  color: rgba(255, 245, 236, 0.88);
}

.hero-img {
  border-radius: 42px 0 0 42px;
  opacity: 0.88;
}

.inner-page-card,
.contact-form-card,
.joinus-form-card,
.profile-card,
.store-card,
.shop-sidebar,
.account-sidebar,
.review-card,
.blog-card,
.product-card {
  border: 1px solid rgba(240, 223, 214, 0.95);
  box-shadow: var(--shadow);
}

.inner-page-card,
.contact-form-card,
.joinus-form-card,
.profile-card,
.store-card,
.shop-sidebar,
.account-sidebar,
.review-card {
  background:
    radial-gradient(circle at top right, rgba(255, 240, 231, 0.7), transparent 26%),
    linear-gradient(180deg, #fffdfb 0%, #fff9f5 100%);
  border-radius: 24px;
}

.product-grid {
  gap: 24px;
}

.product-card {
  border-radius: 22px;
  overflow: hidden;
  background: linear-gradient(180deg, #ffffff 0%, #fffaf7 100%);
}

.product-card:hover {
  transform: translateY(-8px);
}

.product-img-wrap {
  background: linear-gradient(180deg, #fff4ec 0%, #fffaf7 100%);
}

.product-info {
  padding: 16px 16px 18px;
}

.product-name {
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 6px;
}

.product-material {
  font-size: 11px;
  margin-bottom: 8px;
}

.price-row {
  margin-bottom: 14px;
}

.price {
  font-size: 19px;
}

.discount-tag {
  border-radius: 999px;
  padding: 4px 8px;
}

.wishlist-btn {
  width: 36px;
  height: 36px;
  top: 12px;
  right: 12px;
  background: rgba(255, 255, 255, 0.94);
}

.blog-card,
.review-card {
  border-radius: 24px;
}

.blog-info {
  padding: 20px;
}

.blog-title {
  font-size: 22px;
  font-weight: 600;
}

.review-text {
  font-style: normal;
}

.filter-btn,
.occasion-pill,
.price-pill,
.inner-page-chip,
.msg-preset,
.size-btn,
.sidebar-opt {
  border-radius: 999px;
}

.filter-btn,
.occasion-pill,
.price-pill {
  background: rgba(255, 255, 255, 0.9);
  border-color: rgba(240, 223, 214, 0.95);
}

.filter-btn.active,
.filter-btn:hover,
.occasion-pill.active,
.occasion-pill:hover {
  background: linear-gradient(135deg, var(--maroon) 0%, var(--rose) 100%);
  border-color: transparent;
}

.form-input,
.form-textarea,
.pf-input,
.msg-input,
.newsletter-input,
.search-bar-wrap,
.delivery-info,
.personal-msg-box,
.contact-info-item {
  border-color: rgba(240, 223, 214, 0.95);
}

.form-input,
.form-textarea,
.pf-input,
.msg-input {
  border-radius: 14px;
  background: #fffdfa;
}

.search-bar-wrap {
  border-radius: 20px;
  box-shadow: 0 24px 60px rgba(53, 28, 24, 0.18);
}

.search-bar-input {
  padding-top: 17px;
  padding-bottom: 17px;
}

.newsletter-band,
.inner-page-cta {
  background:
    radial-gradient(circle at top right, rgba(255,255,255,0.18), transparent 24%),
    linear-gradient(130deg, #65353a 0%, #8d4a49 45%, #d38869 100%);
}

footer {
  margin-top: 44px;
  background:
    radial-gradient(circle at top left, rgba(255,255,255,0.06), transparent 18%),
    linear-gradient(180deg, #2d1a1a 0%, #1d1313 100%);
  padding-top: 72px;
}

.footer-top {
  gap: 36px;
}

.footer-col h4 {
  font-size: 11px;
  letter-spacing: 0.18em;
  color: rgba(255,255,255,0.84);
}

.footer-col ul li a,
.footer-tagline {
  color: rgba(255,255,255,0.62);
}

.footer-col ul li a:hover {
  color: #fff3e6;
}

.social-btn {
  width: 40px;
  height: 40px;
  background: rgba(255,255,255,0.08);
}

.payment-icon {
  border-radius: 999px;
}

@media (max-width: 900px) {
  .nav-inner {
    height: 64px;
  }

  .page-header {
    width: min(1320px, calc(100% - 28px));
    margin-top: 18px;
    padding: 28px 24px;
    border-radius: 26px;
  }

  .hero {
    min-height: 60vh;
  }

  .hero-content {
    padding: 0 20px;
  }

  .product-grid {
    gap: 14px;
  }
}

@media (max-width: 600px) {
  section {
    padding: 42px 14px;
  }

  .nav-inner {
    height: 58px;
    padding: 0 12px;
  }

  .logo-text {
    font-size: 18px;
  }

  .page-header {
    width: calc(100% - 20px);
    margin-top: 14px;
    padding: 24px 18px;
    border-radius: 22px;
  }

  .page-header h1 {
    font-size: 28px;
  }

  .page-header p {
    font-size: 15px;
    max-width: 100%;
  }

  .hero {
    min-height: 54vh;
  }

  .hero h1 {
    font-size: clamp(30px, 9vw, 44px);
  }

  .hero-tagline {
    font-size: 14px;
  }

  .product-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }

  .product-card,
  .blog-card,
  .review-card,
  .inner-page-card,
  .contact-form-card,
  .joinus-form-card,
  .profile-card,
  .store-card {
    border-radius: 18px;
  }

  .product-name {
    font-size: 15px;
  }

  .price {
    font-size: 16px;
  }

  .footer-top {
    gap: 22px;
  }
}
.nav-links > li > a::after { content:''; position:absolute; bottom:0; left:10px; right:10px; height:2px; background:var(--rose); border-radius:2px; transform:scaleX(0); transition:transform .2s; }
.nav-links > li > a:hover::after { transform:scaleX(1); }

/* Orders page cards */
.orders-card { background:#fff; border:1px solid var(--border); border-radius:16px; overflow:hidden; box-shadow:0 1px 8px rgba(139,26,43,.05); transition:box-shadow .2s,transform .2s; margin-bottom:14px; }
.orders-card:hover { box-shadow:0 6px 24px rgba(139,26,43,.1); transform:translateY(-1px); }

/* Order detail styles */
.od-card { background:#fff; border:1px solid var(--border); border-radius:18px; overflow:hidden; box-shadow:0 2px 20px rgba(139,26,43,.06); margin-bottom:18px; }
.od-card-head { padding:14px 22px; background:var(--champagne); border-bottom:1px solid var(--border); display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; }
.od-card-title { font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--maroon); }
.od-item-row { display:flex; gap:14px; padding:14px 0; align-items:center; border-bottom:1px solid var(--border); }
.od-item-row:last-child { border-bottom:none; }
.od-summary-row { display:flex; justify-content:space-between; font-size:13px; color:var(--text-mid); margin-bottom:6px; }
.od-total-row   { display:flex; justify-content:space-between; font-size:18px; font-weight:700; color:var(--maroon); padding-top:10px; border-top:1.5px solid var(--border); }
.od-2col { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:18px; }
.od-tl-row { display:flex; gap:14px; padding:14px 0; border-bottom:1px solid var(--border); }
.od-tl-row:last-child { border-bottom:none; }

@media(max-width:640px) {
  .od-2col { grid-template-columns:1fr; gap:12px; }
  .whatsapp-float { bottom:16px; right:16px; width:48px; height:48px; font-size:22px; }
  .od-card-head { padding:12px 16px; }
}

@media(max-width:900px) {
  .inner-page-grid { grid-template-columns: 1fr; }
}

/* ── HORIZONTAL SCROLL TABS (mobile-first) ──────────────── */
.hscroll-tabs {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding: 4px 0 12px;
  margin-bottom: 24px;
  /* Left align on all screens */
  justify-content: flex-start;
}
.hscroll-tabs::-webkit-scrollbar { display: none; }
.hscroll-tabs .filter-btn,
.hscroll-tabs a.filter-btn { flex-shrink: 0; white-space: nowrap; }
/* On desktop center if fits, otherwise scroll */
@media (min-width: 768px) {
  .hscroll-tabs { justify-content: center; flex-wrap: nowrap; }
}

/* ═══════════════════════════════════════════
   MIGRATED INTERNAL CSS
   Moved from view files into the main stylesheet
═══════════════════════════════════════════ */

/* Legal pages */
.legal-page{max-width:820px;margin:0 auto;padding:56px 24px 80px;}
.legal-page h1{font-family:'Cormorant Garamond',serif;font-size:clamp(32px,5vw,48px);color:var(--maroon);margin-bottom:8px;}
.legal-page .meta{font-size:13px;color:var(--text-light);margin-bottom:40px;padding-bottom:20px;border-bottom:1px solid var(--border);}
.legal-page h2{font-family:'Cormorant Garamond',serif;font-size:24px;color:var(--maroon);margin:36px 0 12px;}
.legal-page h3{font-size:16px;font-weight:600;color:var(--text-dark);margin:22px 0 8px;}
.legal-page p{font-size:15px;color:var(--text-mid);line-height:1.9;margin-bottom:14px;}
.legal-page ul{margin:10px 0 18px 20px;}
.legal-page ul li{font-size:15px;color:var(--text-mid);line-height:1.9;margin-bottom:6px;}
.legal-page a{color:var(--rose);}
.legal-highlight{background:var(--champagne);border-left:4px solid var(--maroon);border-radius:0 10px 10px 0;padding:16px 20px;margin:20px 0;}
.legal-highlight p{margin:0;font-size:14px;}
.step-list{list-style:none;margin:0;padding:0;}
.step-list li{display:flex;gap:16px;padding:16px;background:var(--champagne);border-radius:12px;margin-bottom:10px;align-items:flex-start;}
.step-num{width:28px;height:28px;background:var(--maroon);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0;}
.ship-table{width:100%;border-collapse:collapse;margin:16px 0 24px;}
.ship-table th{background:var(--maroon);color:#fff;padding:12px 16px;text-align:left;font-size:13px;font-weight:600;}
.ship-table td{padding:11px 16px;border-bottom:1px solid var(--border);font-size:14px;color:var(--text-mid);}
.ship-table tr:last-child td{border-bottom:none;}
.ship-table tr:hover td{background:var(--champagne);}

/* Footer animation */
@keyframes slideInUp{from{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}


/* Source: views/shop/index.php */

  .shop-shell {
    position: relative;
  }

  .shop-filter-drawer {
    --drawer-bg: #f7f3ee;
    --drawer-surface: #fffdf9;
    --drawer-line: rgba(99, 63, 44, 0.12);
    --drawer-text: #2f241d;
    --drawer-muted: #7b6a60;
    --drawer-accent: #9d3c56;
    --drawer-accent-soft: #f6dfe6;
  }

  .shop-topbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    margin-bottom: 22px;
    padding: 18px 20px;
    background: linear-gradient(135deg, #fffdfb 0%, #fff7fa 100%);
    border: 1px solid var(--border);
    border-radius: 18px;
    box-shadow: 0 14px 34px rgba(139, 26, 43, 0.06);
  }

  .shop-topbar-left {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
  }

  .shop-filter-trigger {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    border: 1px solid rgba(139, 26, 43, 0.18);
    background: #fff;
    color: var(--maroon);
    border-radius: 999px;
    padding: 11px 18px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    cursor: pointer;
    transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
  }

  .shop-filter-trigger:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 24px rgba(139, 26, 43, 0.12);
    border-color: rgba(139, 26, 43, 0.35);
  }

  .shop-filter-badge {
    min-width: 22px;
    height: 22px;
    padding: 0 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: var(--maroon);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
  }

  .shop-topbar-meta {
    font-size: 14px;
    color: var(--text-light);
  }

  .shop-sort-form {
    display: flex;
    gap: 8px;
    align-items: center;
  }

  .shop-sort-form select {
    padding: 9px 14px;
    border: 1.5px solid var(--border);
    border-radius: 10px;
    font-family: 'Jost', sans-serif;
    font-size: 13px;
    color: var(--text-mid);
    background: var(--white);
  }

  .shop-active-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 20px;
  }

  .shop-filter-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid var(--border);
    font-size: 12px;
    color: var(--text-mid);
    text-decoration: none;
  }

  .shop-filter-chip strong {
    color: var(--maroon);
    font-weight: 600;
  }

  .shop-filter-overlay {
    position: fixed;
    inset: 0;
    background: rgba(15, 18, 28, 0.45);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.25s ease, visibility 0.25s ease;
    z-index: 1200;
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
  }

  .shop-filter-overlay.show {
    opacity: 1;
    visibility: visible;
  }

  .shop-filter-drawer {
    position: fixed;
    top: 0;
    right: 0;
    width: min(430px, 100%);
    height: 100vh;
    background:
      radial-gradient(circle at top right, rgba(181, 87, 111, 0.16), transparent 28%),
      linear-gradient(180deg, #faf6f1 0%, #fffdfa 100%);
    box-shadow: -20px 0 50px rgba(15, 18, 28, 0.18);
    z-index: 1300;
    transform: translateX(100%);
    transition: transform 0.28s ease;
    display: flex;
    flex-direction: column;
  }

  .shop-filter-drawer.open {
    transform: translateX(0);
  }

  .shop-filter-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    padding: 22px 22px 18px;
    border-bottom: 1px solid var(--drawer-line);
  }

  .shop-filter-head h3 {
    margin: 0;
    font-size: 28px;
    color: var(--drawer-text);
  }

  .shop-filter-close {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid var(--drawer-line);
    background: rgba(255, 255, 255, 0.85);
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
    color: var(--drawer-text);
  }

  .shop-filter-form {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
  }

  .shop-filter-body {
    flex: 1;
    overflow-y: auto;
    padding: 18px 22px 132px;
  }

  .shop-filter-section + .shop-filter-section {
    margin-top: 18px;
  }

  .shop-filter-card {
    background: rgba(255, 255, 255, 0.84);
    border: 1px solid var(--drawer-line);
    border-radius: 20px;
    padding: 18px;
    box-shadow: 0 16px 30px rgba(90, 61, 43, 0.06);
  }

  .shop-filter-intro {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 18px;
    padding: 14px 16px;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(157, 60, 86, 0.08), rgba(227, 192, 161, 0.18));
    border: 1px solid rgba(157, 60, 86, 0.08);
  }

  .shop-filter-intro strong {
    display: block;
    font-size: 14px;
    color: var(--drawer-text);
  }

  .shop-filter-intro span {
    display: block;
    font-size: 12px;
    color: var(--drawer-muted);
    margin-top: 4px;
  }

  .shop-filter-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    height: 42px;
    border-radius: 14px;
    background: #fff;
    color: var(--drawer-accent);
    font-weight: 700;
    box-shadow: inset 0 0 0 1px rgba(157, 60, 86, 0.12);
  }

  .shop-filter-label {
    display: block;
    margin-bottom: 12px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--drawer-text);
  }

  .shop-filter-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
  }

  .shop-filter-pills input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
  }

  .shop-filter-pills label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 11px 15px;
    border-radius: 14px;
    border: 1px solid var(--drawer-line);
    background: rgba(255, 255, 255, 0.92);
    font-size: 13px;
    color: var(--drawer-muted);
    cursor: pointer;
    transition: all 0.2s ease;
  }

  .shop-filter-pills input:checked + label {
    background: linear-gradient(135deg, var(--drawer-accent) 0%, #6f2740 100%);
    border-color: var(--drawer-accent);
    color: #fff;
    box-shadow: 0 12px 22px rgba(109, 39, 64, 0.22);
  }

  .shop-filter-select {
    width: 100%;
    padding: 14px 16px;
    border: 1px solid var(--drawer-line);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.96);
    color: var(--drawer-text);
    font-size: 14px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75);
  }

  .shop-filter-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    padding: 16px 22px 22px;
    border-top: 1px solid var(--drawer-line);
    background: linear-gradient(180deg, rgba(250, 246, 241, 0.2), rgba(255, 253, 249, 0.97) 30%);
    position: sticky;
    bottom: 0;
  }

  .shop-btn-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    border: 1px solid var(--drawer-line);
    background: rgba(255, 255, 255, 0.92);
    color: var(--drawer-text);
    text-decoration: none;
    font-size: 14px;
    font-weight: 700;
    padding: 14px 16px;
    cursor: pointer;
  }

  .shop-btn-primary {
    border: 0;
    border-radius: 14px;
    background: linear-gradient(135deg, var(--drawer-accent) 0%, #722742 100%);
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    padding: 14px 16px;
    cursor: pointer;
    box-shadow: 0 14px 24px rgba(114, 39, 66, 0.24);
  }

  .shop-btn-secondary:hover,
  .shop-btn-primary:hover,
  .shop-filter-close:hover {
    transform: translateY(-1px);
  }

  .shop-grid-wrap {
    min-width: 0;
  }

  @media (max-width: 768px) {
    .shop-topbar {
      padding: 16px;
      border-radius: 16px;
    }

    .shop-topbar-left,
    .shop-sort-form {
      width: 100%;
    }

    .shop-filter-trigger,
    .shop-sort-form select {
      width: 100%;
      justify-content: center;
    }

    .shop-filter-actions {
      grid-template-columns: 1fr;
    }
  }



/* Source: views/components/checkout-modal.php */

@keyframes tyFadeIn  { from{opacity:0} to{opacity:1} }
@keyframes tySlideUp { from{opacity:0;transform:translateY(28px) scale(.97)} to{opacity:1;transform:translateY(0) scale(1)} }
@keyframes tyRosePop { from{opacity:0;transform:scale(.4) rotate(-15deg)} to{opacity:1;transform:scale(1) rotate(0)} }
@keyframes tyConfetti{
  0%  { opacity:0; transform:translateY(0) scale(0); }
  30% { opacity:1; transform:translateY(-60px) scale(1) rotate(45deg); }
  100%{ opacity:0; transform:translateY(120px) scale(.5) rotate(180deg); }
}


.co-inp{width:100%;padding:8px 11px;border:1px solid var(--border);border-radius:8px;font-size:12px;font-family:inherit;box-sizing:border-box;}.co-inp:focus{outline:none;border-color:var(--rose);}


/* Source: views/shop/product.php */

/* ── PRODUCT DETAIL PAGE ── */
.pd-highlights-box { background:#fff; border:1px solid var(--border); border-radius:16px; overflow:hidden; margin-bottom:20px; }
.pd-highlights-head { display:flex; justify-content:space-between; align-items:center; padding:14px 18px; border-bottom:1px solid var(--border); background:var(--champagne); }
.pd-highlights-head h4 { font-size:15px; font-weight:700; color:var(--text-dark); margin:0; }
.pd-highlights-grid { display:grid; grid-template-columns:1fr 1fr; gap:0; }
.pd-hl-cell { padding:12px 16px; border-right:1px solid var(--border); border-bottom:1px solid var(--border); }
.pd-hl-cell:nth-child(even) { border-right:none; }
.pd-hl-cell:nth-last-child(-n+2) { border-bottom:none; }
.pd-hl-key { font-size:11px; color:var(--text-light); margin-bottom:3px; font-weight:500; }
.pd-hl-val { font-size:14px; color:var(--text-dark); font-weight:600; }

/* Additional details table */
.pd-add-details { padding:0; }
.pd-add-details-btn { width:100%; display:flex; justify-content:space-between; align-items:center; padding:12px 18px; background:none; border:none; border-top:1px solid var(--border); cursor:pointer; font-size:13px; font-weight:700; color:var(--text-dark); font-family:'Jost',sans-serif; }
.pd-add-details-btn:hover { background:var(--champagne); }
.pd-add-details-table { display:none; }
.pd-add-details-table.open { display:table; width:100%; border-collapse:collapse; }
.pd-add-details-table tr:nth-child(odd) td { background:var(--champagne); }
.pd-add-details-table td { padding:9px 18px; font-size:13px; border-bottom:1px solid var(--border); }
.pd-add-details-table td:first-child { color:var(--text-light); width:45%; font-weight:500; }
.pd-add-details-table td:last-child { color:var(--text-dark); font-weight:600; }

/* 4 custom highlight points */
.pd-custom-points { list-style:none; padding:0; margin:0; }
.pd-custom-points li { display:flex; align-items:flex-start; gap:10px; padding:10px 18px; border-bottom:1px solid var(--border); font-size:13px; color:var(--text-mid); line-height:1.5; }
.pd-custom-points li:last-child { border-bottom:none; }
.pd-custom-points li::before { content:'✦'; color:var(--rose); font-size:11px; flex-shrink:0; margin-top:2px; }

/* Description box */
.pd-desc-box { background:#fff; border:1px solid var(--border); border-radius:16px; padding:20px; margin-bottom:20px; }
.pd-desc-box h4 { font-size:15px; font-weight:700; color:var(--text-dark); margin-bottom:12px; }
.pd-desc-text { font-size:14px; line-height:1.9; color:var(--text-mid); }

/* Suggested products section */
.pd-suggested { margin-top:60px; padding-top:48px; border-top:2px solid var(--border); }
.pd-suggested h2 { font-family:'Cormorant Garamond',serif; font-size:clamp(24px,3.5vw,36px); color:var(--maroon); margin-bottom:6px; }
.pd-suggested-sub { font-size:14px; color:var(--text-light); font-family:'Cormorant Garamond',serif; font-style:italic; margin-bottom:28px; }

@media(max-width:600px) {
  .pd-highlights-grid { grid-template-columns:1fr; }
  .pd-hl-cell { border-right:none; border-bottom:1px solid var(--border); }
  .pd-hl-cell:last-child { border-bottom:none; }
}



/* Source: views/pages/combos.php */

/* ═══ COMBO GIFTS PAGE ═══ */
.combo-hero {
  position:relative;min-height:58vh;display:flex;align-items:center;
  background:linear-gradient(135deg,#1a0508 0%,#5a1a24 40%,#8b4513 70%,#c8a96e 100%);overflow:hidden;
}
.combo-hero-overlay { position:absolute;inset:0;background:linear-gradient(110deg,rgba(26,5,8,.92) 0%,rgba(90,26,36,.55) 55%,transparent 100%); }
.combo-hero-floats { position:absolute;right:0;top:0;bottom:0;width:50%;display:flex;align-items:center;justify-content:flex-end;padding-right:5%;pointer-events:none; }
.combo-hero-emojis { font-size:clamp(60px,8vw,120px);line-height:1;opacity:.3;text-align:right;user-select:none; }
.combo-hero-inner { position:relative;z-index:2;max-width:1360px;margin:0 auto;padding:70px 48px;color:#fff;width:100%; }
.combo-hero-inner .eyebrow { font-size:10px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold-light);margin-bottom:16px;opacity:.9; }
.combo-hero-inner h1 { font-family:'Cormorant Garamond',serif;font-size:clamp(40px,6vw,80px);font-weight:300;line-height:1.05;margin-bottom:14px; }
.combo-hero-inner h1 span { font-style:italic;color:var(--gold-light); }
.combo-hero-inner p { font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(15px,2vw,20px);color:var(--gold-light);margin-bottom:32px;max-width:520px;line-height:1.6; }

/* ── WHAT'S INCLUDED ── */
.combo-includes {
  background:linear-gradient(135deg,var(--champagne),var(--pink-50));
  padding:28px 0;border-bottom:1px solid var(--border);overflow-x:auto;
}
.combo-includes-inner {
  max-width:1360px;margin:0 auto;padding:0 28px;
  display:flex;align-items:center;justify-content:center;gap:0;min-width:max-content;
}
.combo-incl-item { display:flex;flex-direction:column;align-items:center;gap:6px;padding:0 24px; }
.combo-incl-icon { font-size:32px; }
.combo-incl-name { font-size:11px;font-weight:700;color:var(--text-mid);text-transform:uppercase;letter-spacing:.07em;white-space:nowrap; }
.combo-plus { font-size:24px;color:var(--rose);font-weight:700;padding:0 8px; }

/* ── OCCASION COMBOS GRID ── */
.combo-occ-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:16px; }
.combo-occ-card {
  position:relative;border-radius:20px;overflow:hidden;aspect-ratio:16/9;
  display:block;text-decoration:none;transition:transform .3s,box-shadow .3s;
}
.combo-occ-card:hover { transform:translateY(-4px);box-shadow:0 16px 44px rgba(139,26,43,.25); }
.combo-occ-card-bg { position:absolute;inset:0;transition:transform .5s; }
.combo-occ-card:hover .combo-occ-card-bg { transform:scale(1.05); }
.combo-occ-card-overlay { position:absolute;inset:0;background:linear-gradient(to top,rgba(26,5,8,.88) 0%,rgba(26,5,8,.2) 60%,transparent 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:20px 22px; }
.combo-occ-card-emoji { font-size:28px;margin-bottom:6px; }
.combo-occ-card-name  { font-family:'Cormorant Garamond',serif;font-size:22px;color:#fff;font-weight:600; }
.combo-occ-card-sub   { font-size:11px;color:rgba(255,255,255,.75);margin-top:3px; }

/* ── COMBO VALUE PROP ── */
.combo-value { display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px; }
.combo-val-card { background:#fff;border-radius:18px;padding:28px 22px;text-align:center;box-shadow:var(--shadow);border:1px solid var(--border);transition:transform .3s; }
.combo-val-card:hover { transform:translateY(-4px);box-shadow:var(--shadow-hover); }
.combo-val-icon { font-size:44px;margin-bottom:12px; }
.combo-val-title { font-family:'Cormorant Garamond',serif;font-size:20px;color:var(--maroon);margin-bottom:8px; }
.combo-val-desc  { font-size:13px;color:var(--text-light);line-height:1.7; }

/* ── COMPARED TO STRIP ── */
.combo-vs-strip { display:grid;grid-template-columns:1fr 40px 1fr;gap:0;border-radius:20px;overflow:hidden;align-items:stretch; }
.combo-vs-bad  { background:var(--champagne);padding:32px 36px;border:2px solid var(--border); }
.combo-vs-good { background:linear-gradient(135deg,var(--maroon),#c9537a);padding:32px 36px; }
.combo-vs-mid  { background:#fff;display:flex;align-items:center;justify-content:center;font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:700;color:var(--maroon);border-top:2px solid var(--border);border-bottom:2px solid var(--border); }
.combo-vs-item { display:flex;align-items:center;gap:10px;margin-bottom:10px;font-size:13px; }

@media(max-width:1100px) {
  .combo-occ-grid { grid-template-columns:repeat(2,1fr); }
}
@media(max-width:900px) {
  .combo-value     { grid-template-columns:1fr; }
  .combo-vs-strip  { grid-template-columns:1fr; border-radius:16px; }
  .combo-vs-mid    { display:none; }
  .combo-vs-bad    { padding:24px 20px; border-radius:16px 16px 0 0; border:2px solid var(--border); border-bottom:none; }
  .combo-vs-good   { padding:24px 20px; border-radius:0 0 16px 16px; }
  .combo-occ-grid  { grid-template-columns:1fr 1fr; gap:10px; }
}
@media(max-width:600px) {
  .combo-hero-inner  { padding:44px 20px; }
  .combo-hero-floats { display:none; }
  .combo-occ-grid    { grid-template-columns:1fr; }
  .combo-occ-card    { aspect-ratio:3/2; }
  .combo-vs-bad,
  .combo-vs-good     { padding:18px 16px; }
  .combo-vs-item     { font-size:12px; gap:8px; margin-bottom:8px; }
}



/* Source: views/pages/track-order.php */
 
    /* Recommended products */
    .rec-section { margin-top:40px; }
    .rec-section h3 { font-family:'Cormorant Garamond',serif;font-size:26px;color:#7a2836;margin-bottom:20px;text-align:center; }
    .rec-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px; }
  


.track-hero { background:linear-gradient(135deg,#1a0a0d 0%,#7a2836 60%,#c9737a 100%);padding:60px 0 0; }
.track-hero-inner { max-width:900px;margin:0 auto;padding:0 24px 50px;text-align:center;color:#fff; }
.track-hero-inner h1 { font-family:'Cormorant Garamond',serif;font-size:clamp(32px,5vw,56px);font-weight:300;margin-bottom:10px; }
.track-hero-inner p  { font-size:15px;opacity:.85;margin-bottom:32px; }

.track-form { display:flex;gap:10px;max-width:540px;margin:0 auto;flex-wrap:wrap; }
.track-form input { flex:1;min-width:200px;padding:14px 20px;border:none;border-radius:50px;font-size:14px;outline:none;font-family:inherit;color:#1a0a0d;box-shadow:0 2px 12px rgba(0,0,0,.15); }
.track-form button { padding:14px 28px;background:#fff;color:#7a2836;border:none;border-radius:50px;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit;white-space:nowrap;transition:background .2s; }
.track-form button:hover { background:#fde8ed; }

/* Result card */
.track-content { max-width:860px;margin:0 auto;padding:40px 24px 64px; }
.track-card { background:#fff;border-radius:20px;box-shadow:0 4px 24px rgba(122,40,54,.1);overflow:hidden;margin-bottom:28px; }
.track-card-head { background:linear-gradient(135deg,#7a2836,#c9737a);padding:24px 28px;color:#fff;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px; }
.track-card-head h2 { font-family:'Cormorant Garamond',serif;font-size:22px;margin:0; }
.track-status-pill { padding:6px 16px;border-radius:50px;font-size:12px;font-weight:700;background:rgba(255,255,255,.2);color:#fff;letter-spacing:.06em; }
.track-card-body { padding:24px 28px; }
.track-info-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px; }
.track-info-item label { font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#9e8080;display:block;margin-bottom:4px; }
.track-info-item span { font-size:14px;font-weight:600;color:#1a0a0d; }

/* Timeline */
.timeline { position:relative;padding-left:36px; }
.timeline::before { content:'';position:absolute;left:11px;top:0;bottom:0;width:2px;background:#ecd9d9; }
.timeline-item { position:relative;padding-bottom:24px; }
.timeline-item:last-child { padding-bottom:0; }
.tl-dot { position:absolute;left:-25px;top:2px;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;background:#fff;border:2px solid #ecd9d9;z-index:1; }
.tl-dot.done { border-color:var(--tl-color,#7a2836);background:var(--tl-color,#7a2836);color:#fff; }
.tl-dot.current { border-color:var(--tl-color,#7a2836);background:#fff;box-shadow:0 0 0 4px rgba(122,40,54,.15); }
.tl-time { font-size:11px;color:#9e8080;margin-bottom:2px; }
.tl-label { font-size:14px;font-weight:600;color:#1a0a0d; }
.tl-note { font-size:12px;color:#5c3d3d;margin-top:3px; }

/* Tracking link box */
.track-link-box { background:#f0f9ff;border:1px solid #bae6fd;border-radius:12px;padding:16px 20px;display:flex;align-items:center;gap:14px;margin-top:20px; }
.track-link-box a { color:#0369a1;font-weight:600;font-size:13px;text-decoration:none;word-break:break-all; }
.track-link-box a:hover { text-decoration:underline; }

/* Recommended products */
.rec-section { margin-top:40px; }
.rec-section h3 { font-family:'Cormorant Garamond',serif;font-size:26px;color:#7a2836;margin-bottom:20px;text-align:center; }
.rec-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px; }

/* Error state */
.track-error { text-align:center;padding:50px 20px;background:#fff;border-radius:20px;box-shadow:0 4px 24px rgba(122,40,54,.08);margin-bottom:28px; }
.track-error .err-icon { font-size:52px;margin-bottom:14px; }
.track-error h3 { font-family:'Cormorant Garamond',serif;font-size:24px;color:#7a2836;margin-bottom:8px; }
.track-error p { font-size:14px;color:#666;max-width:400px;margin:0 auto; }

@media(max-width:600px){
  .track-card-head { padding:18px 20px; }
  .track-card-body { padding:18px 20px; }
  .track-info-grid { grid-template-columns:1fr 1fr; }
}



/* Source: views/pages/gifts-for-him.php */

/* ═══ GIFTS FOR HIM ═══ */
.gfhim-hero {
  position:relative;min-height:55vh;display:flex;align-items:center;
  background:linear-gradient(135deg,#0a0f1e 0%,#1a237e 45%,#3949ab 75%,#7986cb 100%);overflow:hidden;
}
.gfhim-hero-overlay { position:absolute;inset:0;background:linear-gradient(110deg,rgba(10,15,30,.92) 0%,rgba(26,35,126,.55) 55%,transparent 100%); }
.gfhim-hero-floats { position:absolute;right:0;top:0;bottom:0;width:50%;display:flex;align-items:center;justify-content:flex-end;padding-right:5%;pointer-events:none; }
.gfhim-hero-emojis { font-size:clamp(60px,8vw,120px);line-height:1;opacity:.3;text-align:right;user-select:none; }
.gfhim-hero-inner { position:relative;z-index:2;max-width:1360px;margin:0 auto;padding:70px 48px;color:#fff;width:100%; }
.gfhim-hero-inner .eyebrow { font-size:10px;letter-spacing:.32em;text-transform:uppercase;color:#b3c5ff;margin-bottom:16px;opacity:.9; }
.gfhim-hero-inner h1 { font-family:'Cormorant Garamond',serif;font-size:clamp(40px,6vw,80px);font-weight:300;line-height:1.05;margin-bottom:14px; }
.gfhim-hero-inner h1 span { font-style:italic;color:#90caf9; }
.gfhim-hero-inner p  { font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(15px,2vw,20px);color:#c5cae9;margin-bottom:32px;max-width:500px;line-height:1.6; }
.gfhim-btn-blue { background:linear-gradient(135deg,#1a237e,#3949ab);color:#fff;border:none;padding:13px 34px;font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;border-radius:50px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:7px;transition:all .3s; }
.gfhim-btn-blue:hover { background:linear-gradient(135deg,#283593,#5c6bc0);transform:translateY(-2px);box-shadow:0 8px 24px rgba(26,35,126,.4); }

/* ── OCCASIONS ── */
.gfhim-occ-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:14px; }
.gfhim-occ { position:relative;border-radius:18px;padding:24px;display:flex;flex-direction:column;text-decoration:none;transition:transform .3s,box-shadow .3s;min-height:120px;overflow:hidden; }
.gfhim-occ:hover { transform:translateY(-4px);box-shadow:0 14px 40px rgba(26,35,126,.25); }
.gfhim-occ .occ-emoji { font-size:30px;margin-bottom:8px; }
.gfhim-occ .occ-name  { font-family:'Cormorant Garamond',serif;font-size:20px;color:#fff;font-weight:600; }
.gfhim-occ .occ-tag   { font-size:10px;color:rgba(255,255,255,.7);margin-top:3px;letter-spacing:.05em; }
.gfhim-occ::before    { content:'';position:absolute;inset:0;background:rgba(0,0,0,.1);transition:background .3s; }
.gfhim-occ:hover::before { background:rgba(0,0,0,0); }

/* ── CATEGORIES ── */
.gfhim-cats { display:grid;grid-template-columns:repeat(4,1fr);gap:14px; }
.gfhim-cat { border-radius:18px;padding:22px;text-decoration:none;display:flex;flex-direction:column;align-items:center;text-align:center;transition:transform .3s,box-shadow .3s;border:2px solid transparent; }
.gfhim-cat:hover { transform:translateY(-4px);box-shadow:0 12px 32px rgba(26,35,126,.18);border-color:rgba(121,134,203,.5); }
.gfhim-cat .cat-icon { font-size:36px;margin-bottom:10px; }
.gfhim-cat .cat-name { font-family:'Cormorant Garamond',serif;font-size:18px;font-weight:600;margin-bottom:4px; }
.gfhim-cat .cat-desc { font-size:11px;opacity:.75; }

/* ── COUPLE STRIP ── */
.gfhim-couple-strip {
  background:linear-gradient(135deg,#1a237e 0%,#283593 50%,#3949ab 100%);
  border-radius:20px;padding:36px 40px;display:flex;align-items:center;gap:28px;
}
.gfhim-couple-strip h3 { font-family:'Cormorant Garamond',serif;font-size:28px;color:#fff;margin-bottom:8px; }
.gfhim-couple-strip p  { font-size:14px;color:rgba(255,255,255,.8);line-height:1.7;margin-bottom:18px; }
.gfhim-couple-strip .big-icon { font-size:64px;flex-shrink:0; }

@media(max-width:900px) { .gfhim-occ-grid{grid-template-columns:1fr 1fr} .gfhim-cats{grid-template-columns:1fr 1fr} .gfhim-couple-strip{flex-direction:column;padding:24px;text-align:center} }
@media(max-width:600px) { .gfhim-hero-inner{padding:44px 20px} .gfhim-hero-floats{display:none} }



/* Source: views/home/index.php */

  .rr-home {
    --bg: #f6f8fb;
    --surface: #ffffff;
    --surface-soft: #f2f5f9;
    --text: #1b2230;
    --muted: #5f6b7a;
    --line: #dde4ee;
    --brand: #c42e59;
    --brand-2: #8b1f6a;
    --accent: #0f8b8d;
    --radius-xl: 22px;
    --radius-lg: 16px;
    --radius-md: 12px;
    --shadow: 0 10px 30px rgba(15, 25, 40, 0.08);
    background: var(--bg);
    color: var(--text);
    padding: 18px 0 48px;
  }

  .rr-wrap {
    width: min(1200px, calc(100% - 32px));
    margin: 0 auto;
  }

  .rr-section {
    margin-top: 26px;
  }

  .rr-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 14px;
  }

  .rr-heading h2 {
    margin: 0;
    font-size: clamp(22px, 2.8vw, 32px);
    letter-spacing: 0.2px;
  }

  .rr-heading p {
    margin: 6px 0 0;
    color: var(--muted);
    font-size: 14px;
  }

  .rr-link {
    color: var(--brand-2);
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
  }

  .rr-hero {
    border-radius: var(--radius-xl);
    overflow: hidden;
    position: relative;
    min-height: clamp(320px, 45vw, 460px);
    box-shadow: var(--shadow);
  }

  .rr-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    pointer-events: none;
    transition: opacity .45s ease;
    padding: clamp(24px, 5vw, 54px);
    display: flex;
    align-items: center;
  }

  .rr-slide.active {
    opacity: 1;
    pointer-events: auto;
  }

  .rr-slide.rose {
    background: radial-gradient(1200px 450px at 88% -10%, rgba(255,255,255,.35), transparent 60%), linear-gradient(125deg, #f56e96 0%, #c42e59 45%, #7f1f66 100%);
  }

  .rr-slide.gold {
    background: radial-gradient(1200px 450px at 88% -10%, rgba(255,255,255,.35), transparent 60%), linear-gradient(125deg, #f7ca6c 0%, #e5903b 45%, #a8592a 100%);
  }

  .rr-slide.blue {
    background: radial-gradient(1200px 450px at 88% -10%, rgba(255,255,255,.35), transparent 60%), linear-gradient(125deg, #52b3dd 0%, #2477b3 45%, #224b86 100%);
  }

  .rr-slide::after {
    content: '';
    position: absolute;
    right: -50px;
    bottom: -90px;
    width: 340px;
    height: 340px;
    border-radius: 50%;
    border: 2px solid rgba(255,255,255,.22);
  }

  .rr-hero-content {
    position: relative;
    z-index: 1;
    width: min(620px, 100%);
    color: #fff;
  }

  .rr-kicker {
    margin: 0 0 8px;
    letter-spacing: .12em;
    text-transform: uppercase;
    font-size: 11px;
    opacity: .95;
  }

  .rr-hero h1 {
    margin: 0;
    font-size: clamp(32px, 4.5vw, 56px);
    line-height: 1.08;
    font-weight: 700;
  }

  .rr-hero p {
    margin: 12px 0 0;
    font-size: clamp(14px, 1.5vw, 18px);
    line-height: 1.6;
    color: rgba(255,255,255,.92);
  }

  .rr-cta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 20px;
  }

  .rr-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 11px 18px;
    border-radius: 999px;
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
    border: 1px solid transparent;
  }

  .rr-btn.primary {
    background: #fff;
    color: #1f2634;
  }

  .rr-btn.secondary {
    background: rgba(255,255,255,.08);
    color: #fff;
    border-color: rgba(255,255,255,.35);
  }

  .rr-dots {
    position: absolute;
    bottom: 16px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 8px;
    z-index: 2;
  }

  .rr-dot {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    border: 0;
    background: rgba(255,255,255,.5);
    cursor: pointer;
  }

  .rr-dot.active {
    width: 24px;
    background: #fff;
  }

  .rr-cats {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .rr-cat {
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    padding: 10px;
    text-decoration: none;
    color: var(--text);
    text-align: center;
    box-shadow: 0 4px 12px rgba(20, 36, 60, 0.05);
  }

  .rr-cat-badge {
    width: 56px;
    height: 56px;
    margin: 0 auto 8px;
    border-radius: 14px;
    background: linear-gradient(145deg, #ffd1df, #f0f5ff);
    display: grid;
    place-items: center;
    overflow: hidden;
    font-size: 22px;
  }

  .rr-cat-badge img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .rr-cat span {
    font-size: 12px;
    display: block;
    line-height: 1.3;
    font-weight: 600;
  }

  .rr-relations {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .rr-relation {
    position: relative;
    border-radius: var(--radius-lg);
    padding: 22px;
    min-height: 180px;
    color: #fff;
    text-decoration: none;
    overflow: hidden;
    box-shadow: var(--shadow);
  }

  .rr-relation::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(10, 10, 10, .38), rgba(10, 10, 10, .15));
  }

  .rr-relation .inner {
    position: relative;
    z-index: 1;
    display: flex;
    height: 100%;
    flex-direction: column;
    justify-content: flex-end;
    gap: 8px;
  }

  .rr-relation h3 {
    margin: 0;
    font-size: 20px;
  }

  .rr-relation p {
    margin: 0;
    font-size: 13px;
    opacity: .92;
  }

  .rr-relation-1 { background: linear-gradient(135deg, #ce3868, #8e2d72); }
  .rr-relation-2 { background: linear-gradient(135deg, #3361ad, #24407a); }
  .rr-relation-3 { background: linear-gradient(135deg, #de8b2f, #9f5b1f); }
  .rr-relation-4 { background: linear-gradient(135deg, #0f8b8d, #0b5e73); }

  .rr-products,
  .rr-panel {
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius-xl);
    padding: 16px;
    box-shadow: 0 8px 24px rgba(14, 28, 45, 0.05);
  }

  .rr-video-shell {
    background:
      radial-gradient(circle at top right, rgba(196, 46, 89, 0.18), transparent 30%),
      linear-gradient(135deg, #1d1420 0%, #3d1830 42%, #8b1f52 100%);
    border-radius: var(--radius-xl);
    padding: 6px;
    box-shadow: 0 18px 48px rgba(38, 14, 30, 0.2);
  }

  .rr-video-stage {
    position: relative;
    min-height: clamp(320px, 42vw, 500px);
    border-radius: calc(var(--radius-xl) - 6px);
    overflow: hidden;
    background: #120d14;
  }

  .rr-video-media {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
  }

  .rr-video-fallback {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: inherit;
    background:
      radial-gradient(circle at center, rgba(255,255,255,0.12), transparent 32%),
      linear-gradient(135deg, #2d1930 0%, #4d1737 52%, #8b1f52 100%);
    color: rgba(255,255,255,0.92);
    text-align: center;
    padding: 24px;
  }

  .rr-video-fallback strong {
    font-size: clamp(22px, 3.3vw, 34px);
    letter-spacing: 0.02em;
  }

  .rr-video-fallback span {
    font-size: 13px;
    padding: 10px 14px;
    border-radius: 999px;
    background: rgba(255,255,255,0.1);
    border: 1px solid rgba(255,255,255,0.18);
  }

  .rr-video-fallback-chip,
  .rr-video-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    padding: 7px 12px;
    border-radius: 999px;
    background: rgba(255,255,255,0.12);
    border: 1px solid rgba(255,255,255,0.14);
    color: rgba(255,255,255,0.9);
    font-size: 11px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
  }

  .rr-video-overlay {
    position: absolute;
    inset: 0;
    background:
      linear-gradient(90deg, rgba(10, 8, 11, 0.82) 0%, rgba(10, 8, 11, 0.3) 42%, rgba(10, 8, 11, 0.5) 100%),
      linear-gradient(180deg, rgba(255,255,255,0.06), transparent 24%);
    pointer-events: none;
  }

  .rr-video-copy {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 14px;
    width: min(560px, 100%);
    padding: clamp(24px, 5vw, 52px);
    color: #fff;
  }

  .rr-video-copy h2 {
    margin: 0;
    font-size: clamp(28px, 4vw, 52px);
    line-height: 1.06;
    letter-spacing: -0.02em;
  }

  .rr-video-copy p {
    margin: 0;
    font-size: clamp(14px, 1.45vw, 17px);
    line-height: 1.7;
    color: rgba(255,255,255,0.86);
    max-width: 46ch;
  }

  .rr-tabs {
    display: flex;
    gap: 8px;
    margin-bottom: 14px;
    flex-wrap: wrap;
  }

  .rr-tab {
    border: 1px solid var(--line);
    border-radius: 999px;
    background: #fff;
    color: #374358;
    font-size: 13px;
    padding: 8px 14px;
    cursor: pointer;
  }

  .rr-tab.active {
    background: #1f2d46;
    border-color: #1f2d46;
    color: #fff;
  }

  .rr-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .rr-grid > div {
    min-width: 0;
  }

  .rr-features {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .rr-feature {
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    background: #fff;
    padding: 14px;
  }

  .rr-feature strong {
    display: block;
    margin-bottom: 4px;
    font-size: 14px;
  }

  .rr-feature span {
    font-size: 12px;
    color: var(--muted);
    line-height: 1.5;
    display: block;
  }

  .rr-empty {
    text-align: center;
    border: 1px dashed var(--line);
    border-radius: var(--radius-md);
    background: #fcfdff;
    color: var(--muted);
    padding: 28px 16px;
    font-size: 14px;
  }

  .rr-newsletter {
    background: linear-gradient(130deg, #13253f 0%, #2b3f67 55%, #324f84 100%);
    color: #fff;
    padding: clamp(20px, 4vw, 30px);
    border-radius: var(--radius-xl);
  }

  .rr-newsletter h3 {
    margin: 0;
    font-size: clamp(22px, 2.5vw, 32px);
  }

  .rr-newsletter p {
    margin: 8px 0 16px;
    color: rgba(255,255,255,.86);
  }

  .rr-newsletter-row {
    display: flex;
    gap: 10px;
  }

  .rr-newsletter-row input {
    flex: 1;
    min-width: 0;
    border: 1px solid rgba(255,255,255,.25);
    background: rgba(255,255,255,.12);
    color: #fff;
    border-radius: 10px;
    padding: 11px 12px;
    outline: none;
  }

  .rr-newsletter-row input::placeholder {
    color: rgba(255,255,255,.68);
  }

  .rr-newsletter-row button {
    border: 0;
    background: #fff;
    color: #1d2a43;
    border-radius: 10px;
    padding: 11px 16px;
    font-weight: 700;
    cursor: pointer;
  }

  @media (max-width: 1100px) {
    .rr-cats {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .rr-relations,
    .rr-grid,
    .rr-features {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  @media (max-width: 700px) {
    .rr-home {
      padding: 12px 0 38px;
    }

    .rr-wrap {
      width: min(1200px, calc(100% - 20px));
    }

    .rr-heading {
      align-items: start;
      flex-direction: column;
    }

    .rr-cats {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .rr-relations,
    .rr-grid,
    .rr-features {
      grid-template-columns: 1fr;
    }

    .rr-newsletter-row {
      flex-direction: column;
    }
  }



/* Source: views/pages/our-journey.php */

/* Hero Section */
.journey-hero {
    background: linear-gradient(rgba(0,0,0,0.6), rgba(0,0,0,0.6)), url('https://images.unsplash.com/photo-1513519245088-0e12902e35ca?auto=format&fit=crop&w=1600&q=80');
    background-size: cover;
    background-position: center;
    color: #fff;
    padding: clamp(80px, 15vh, 140px) 24px;
    text-align: center;
    clip-path: polygon(0 0, 100% 0, 100% 95%, 0 100%);
}

.journey-hero h1 {
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(32px, 7vw, 64px);
    margin-bottom: 12px;
}

.journey-hero p {
    font-size: clamp(14px, 2vw, 18px);
    font-style: italic;
    opacity: 0.9;
    max-width: 700px;
    margin: 0 auto;
}

/* Container */
.story-wrapper {
    max-width: 1100px;
    margin: 0 auto;
    padding: 60px 20px;
}

.section-title {
    text-align: center;
    margin-bottom: 50px;
}

.section-title h2 {
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(28px, 5vw, 42px);
    color: var(--maroon);
}

/* Timeline: Mobile First */
.timeline {
    position: relative;
    padding: 20px 0;
}

/* The vertical line */
.timeline::before {
    content: '';
    position: absolute;
    width: 2px;
    background: var(--rose);
    top: 0;
    bottom: 0;
    left: 20px; /* Aligned to left on mobile */
}

.timeline-item {
    position: relative;
    margin-bottom: 40px;
    padding-left: 50px; /* Space for the line/icon */
    width: 100%;
}

.timeline-dot {
    position: absolute;
    left: 8px;
    top: 15px;
    width: 24px;
    height: 24px;
    background: #fff;
    border: 2px solid var(--rose);
    border-radius: 50%;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
}

.timeline-content {
    background: #fff;
    padding: 25px;
    border-radius: 15px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
    border-left: 4px solid var(--rose);
}

.timeline-content h3 {
    font-family: 'Cormorant Garamond', serif;
    font-size: 22px;
    color: var(--maroon);
    margin-bottom: 8px;
}

.timeline-content p {
    font-size: 14px;
    line-height: 1.6;
    color: var(--text-mid);
}

/* Desktop Timeline Overrides */
@media (min-width: 768px) {
    .timeline::before {
        left: 50%;
        margin-left: -1px;
    }
    .timeline-item {
        width: 50%;
        padding-left: 0;
    }
    .timeline-item.left {
        left: 0;
        padding-right: 50px;
        text-align: right;
    }
    .timeline-item.right {
        left: 50%;
        padding-left: 50px;
    }
    .timeline-dot {
        left: auto;
        right: -12px;
    }
    .timeline-item.right .timeline-dot {
        left: -12px;
    }
    .timeline-item.left .timeline-content {
        border-left: none;
        border-right: 4px solid var(--rose);
    }
}

/* Founders */
.founder-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 30px;
    margin-top: 40px;
}

.founder-card {
    background: var(--soft-rose);
    border-radius: 20px;
    padding: 40px 20px;
    text-align: center;
    transition: 0.3s;
}

.founder-img {
    width: 150px;
    height: 150px;
    border-radius: 50%;
    object-fit: cover;
    margin-bottom: 20px;
    border: 4px solid #fff;
}

/* Vision Cards */
.vision-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 20px;
}

.vision-card {
    background: var(--deep-maroon);
    color: #fff;
    padding: 30px;
    border-radius: 15px;
}

.vision-card h4 {
    color: var(--gold);
    margin-bottom: 10px;
}




/* Source: views/pages/gifts-for-her.php */

/* ═══ GIFTS FOR HER — Full Page Styles ═══ */
.gfh-hero {
  position:relative; min-height:58vh; display:flex; align-items:center;
  background:linear-gradient(135deg,#1a0510 0%,#7a1a3a 40%,#c9537a 75%,#f5c2c7 100%);
  overflow:hidden;
}
.gfh-hero-overlay { position:absolute;inset:0;background:linear-gradient(110deg,rgba(26,5,16,.92) 0%,rgba(122,26,58,.55) 55%,transparent 100%); }
.gfh-hero-floats {
  position:absolute;right:0;top:0;bottom:0;width:50%;
  background:radial-gradient(ellipse at 80% 50%,rgba(245,194,199,.25) 0%,transparent 70%);
  display:flex;align-items:center;justify-content:flex-end;padding-right:5%;
}
.gfh-hero-emojis { font-size:clamp(60px,8vw,120px);line-height:1;opacity:.35;text-align:right;pointer-events:none;user-select:none; }
.gfh-hero-inner { position:relative;z-index:2;max-width:1360px;margin:0 auto;padding:70px 48px;color:#fff;width:100%; }
.gfh-hero-inner .eyebrow { font-size:10px;letter-spacing:.32em;text-transform:uppercase;color:#f9d4dd;margin-bottom:16px;opacity:.9; }
.gfh-hero-inner h1 { font-family:'Cormorant Garamond',serif;font-size:clamp(40px,6vw,80px);font-weight:300;line-height:1.05;margin-bottom:14px; }
.gfh-hero-inner h1 span { font-style:italic;color:#f5c2c7; }
.gfh-hero-inner p { font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(15px,2vw,20px);color:#fde8ed;margin-bottom:32px;max-width:500px;line-height:1.6; }
.gfh-hero-btns { display:flex;gap:14px;flex-wrap:wrap; }
.gfh-hero-btns a { text-decoration:none;display:inline-flex;align-items:center;gap:7px; }

/* ── TRUST STRIP ── */
.gfh-trust { background:linear-gradient(135deg,#fff0f5,#fff5f8);border-bottom:1px solid var(--border);padding:16px 0;overflow-x:auto; }
.gfh-trust-inner { max-width:1360px;margin:0 auto;padding:0 28px;display:flex;gap:0;align-items:center;min-width:max-content; }
.gfh-trust-item { display:flex;align-items:center;gap:8px;padding:4px 22px;font-size:12px;font-weight:600;color:var(--text-mid);border-right:1px solid var(--border);white-space:nowrap; }
.gfh-trust-item:last-child { border-right:none; }
.gfh-trust-item span:first-child { font-size:18px; }

/* ── OCCASION CARDS ── */
.gfh-occasions { display:grid;grid-template-columns:repeat(3,1fr);gap:14px; }
.gfh-occ-card {
  position:relative;border-radius:18px;padding:24px;text-decoration:none;
  display:flex;flex-direction:column;align-items:flex-start;
  transition:transform .3s,box-shadow .3s;min-height:120px;overflow:hidden;
}
.gfh-occ-card:hover { transform:translateY(-4px);box-shadow:0 14px 40px rgba(139,26,43,.2); }
.gfh-occ-card .occ-emoji { font-size:32px;margin-bottom:8px; }
.gfh-occ-card .occ-name { font-family:'Cormorant Garamond',serif;font-size:20px;color:#fff;font-weight:600;line-height:1.2; }
.gfh-occ-card .occ-tag  { font-size:10px;color:rgba(255,255,255,.75);margin-top:4px;letter-spacing:.06em;text-transform:uppercase; }
.gfh-occ-card::before { content:'';position:absolute;inset:0;background:rgba(0,0,0,.12);transition:background .3s; }
.gfh-occ-card:hover::before { background:rgba(0,0,0,0); }

/* ── SPECIAL DATES BANNER ── */
.gfh-dates-banner {
  background:linear-gradient(135deg,#7a1a3a 0%,#c9537a 60%,#f5c2c7 100%);
  border-radius:20px;padding:32px 36px;display:flex;align-items:center;gap:28px;
  text-decoration:none;transition:transform .3s,box-shadow .3s;
}
.gfh-dates-banner:hover { transform:translateY(-3px);box-shadow:0 14px 40px rgba(139,26,43,.3); }
.gfh-dates-banner .big-emoji { font-size:64px;flex-shrink:0; }
.gfh-dates-banner h3 { font-family:'Cormorant Garamond',serif;font-size:28px;color:#fff;margin-bottom:6px; }
.gfh-dates-banner p { font-size:14px;color:rgba(255,255,255,.85);line-height:1.6;max-width:500px; }
.gfh-dates-banner .dates-list { display:flex;gap:12px;margin-top:14px;flex-wrap:wrap; }
.gfh-dates-banner .date-chip { background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.3);border-radius:50px;padding:5px 14px;font-size:12px;color:#fff;font-weight:600; }

/* ── CATEGORY VISUAL CARDS ── */
.gfh-cats { display:grid;grid-template-columns:repeat(4,1fr);gap:14px; }
.gfh-cat { position:relative;border-radius:16px;overflow:hidden;aspect-ratio:3/4;display:block;text-decoration:none;transition:transform .3s,box-shadow .3s; }
.gfh-cat:hover { transform:translateY(-4px);box-shadow:0 14px 40px rgba(139,26,43,.22); }
.gfh-cat-bg { position:absolute;inset:0;transition:transform .5s; }
.gfh-cat:hover .gfh-cat-bg { transform:scale(1.07); }
.gfh-cat-overlay { position:absolute;inset:0;background:linear-gradient(to top,rgba(26,5,16,.85) 0%,rgba(26,5,16,.1) 60%,transparent 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:18px; }
.gfh-cat-icon { font-size:26px;margin-bottom:6px; }
.gfh-cat-name { font-family:'Cormorant Garamond',serif;font-size:19px;color:#fff;font-weight:600;line-height:1.2; }
.gfh-cat-desc { font-size:10px;color:rgba(255,255,255,.7);margin-top:3px;letter-spacing:.05em; }

/* ── PRICE BAND CARDS ── */
.gfh-price-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:12px; }
.gfh-price-card { border-radius:16px;padding:22px 18px;text-align:center;text-decoration:none;display:block;transition:transform .3s,box-shadow .3s;border:2px solid transparent; }
.gfh-price-card:hover { transform:translateY(-4px);box-shadow:0 12px 32px rgba(139,26,43,.18);border-color:var(--rose); }
.gfh-price-card .amount { font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:600;margin-bottom:4px; }
.gfh-price-card .label  { font-size:11px;letter-spacing:.1em;text-transform:uppercase;opacity:.85; }

/* ── STORY / MARKETING STRIP ── */
.gfh-story-strip { display:grid;grid-template-columns:1fr 1fr;gap:0;border-radius:20px;overflow:hidden; }
.gfh-story-left  { background:linear-gradient(135deg,#fce4eb,#f5c2c7);padding:40px 44px;display:flex;flex-direction:column;justify-content:center; }
.gfh-story-right { background:linear-gradient(135deg,#7a1a3a,#c9537a);padding:40px 44px;display:flex;flex-direction:column;justify-content:center; }
.gfh-story-left  h3 { font-family:'Cormorant Garamond',serif;font-size:clamp(24px,3vw,36px);color:var(--maroon);margin-bottom:10px; }
.gfh-story-right h3 { font-family:'Cormorant Garamond',serif;font-size:clamp(24px,3vw,36px);color:#fff;margin-bottom:10px; }
.gfh-story-left  p { font-size:14px;color:var(--text-mid);line-height:1.7;margin-bottom:18px; }
.gfh-story-right p { font-size:14px;color:rgba(255,255,255,.85);line-height:1.7;margin-bottom:18px; }
.gfh-story-stat { display:flex;gap:24px;flex-wrap:wrap; }
.gfh-stat { text-align:center; }
.gfh-stat .num { font-family:'Cormorant Garamond',serif;font-size:30px;font-weight:600; }
.gfh-stat .lbl { font-size:10px;text-transform:uppercase;letter-spacing:.1em;opacity:.75; }

@media(max-width:1100px) {
  .gfh-cats { grid-template-columns:repeat(2,1fr); }
  .gfh-price-grid { grid-template-columns:repeat(2,1fr); }
}
@media(max-width:900px) {
  .gfh-occasions { grid-template-columns:repeat(2,1fr); }
  .gfh-story-strip { grid-template-columns:1fr; }
  .gfh-dates-banner { flex-direction:column;text-align:center;padding:24px 22px; }
  .gfh-dates-banner .big-emoji { font-size:48px; }
  .gfh-dates-banner .dates-list { justify-content:center; }
}
@media(max-width:600px) {
  .gfh-hero-inner { padding:44px 20px; }
  .gfh-hero-floats { display:none; }
  .gfh-occasions { grid-template-columns:1fr 1fr; }
  .gfh-cats { grid-template-columns:1fr 1fr; }
  .gfh-price-grid { grid-template-columns:1fr 1fr; }
  .gfh-story-left, .gfh-story-right { padding:28px 22px; }
}



/* Source: views/pages/about.php */

/* Modern Hero */
.about-hero {
    background: linear-gradient(rgba(0,0,0,0.6), rgba(0,0,0,0.6)), url('https://images.unsplash.com/photo-1513201099705-a9746e1e201f?auto=format&fit=crop&w=1600&q=80');
    background-size: cover;
    background-position: center;
    color: #fff;
    padding: clamp(80px, 12vh, 150px) 24px;
    text-align: center;
    clip-path: polygon(0 0, 100% 0, 100% 90%, 0 100%);
}

.about-hero h1 {
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(32px, 7vw, 64px);
    margin-bottom: 10px;
}

.about-hero p {
    font-size: clamp(16px, 2vw, 22px);
    font-style: italic;
    color: var(--gold);
}

/* Story Section */
.about-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 60px 24px;
}

.intro-section {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
    margin-bottom: 80px;
}

@media (max-width: 992px) {
    .intro-section { grid-template-columns: 1fr; text-align: center; }
}

.intro-text h2 {
    font-family: 'Cormorant Garamond', serif;
    font-size: 38px;
    color: var(--maroon);
    margin-bottom: 20px;
}

.intro-text p {
    font-size: 16px;
    line-height: 1.8;
    color: var(--text-mid);
    margin-bottom: 20px;
}

/* Category Bento Grid */
.bento-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-auto-rows: 200px;
    gap: 20px;
    margin: 60px 0;
}

.bento-item {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 20px;
    transition: transform 0.4s ease;
}

.bento-item:hover { transform: scale(1.02); }

.bento-item::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(transparent, rgba(0,0,0,0.8));
}

.bento-content { position: relative; z-index: 2; }
.bento-content h3 { font-size: 18px; margin-bottom: 5px; }
.bento-content p { font-size: 12px; opacity: 0.8; }

/* Bento Specifics */

/* .item-1 {
  grid-column: span 2;
  grid-row: span 2;
  background: url('/public/images/placeholder.png') center/cover no-repeat;
}

.item-2 {
  grid-column: span 2;
  background: var(--maroon);
}

.item-3 {
  background: url('/public/images/about-2.png') center/cover no-repeat;
}

.item-4 {
  background: var(--rose);
}

.item-5 {
  grid-column: span 2;
  background: url('/public/images/about-3.png') center/cover no-repeat;
} */

.item-1 { grid-column: span 2; grid-row: span 2; background: url('https://images.unsplash.com/photo-1516131206008-dd041a9764fd?auto=format&fit=crop&w=800&q=80') center/cover; }
.item-2 { grid-column: span 2; background: var(--maroon); }
.item-3 { background: url('https://images.unsplash.com/photo-1549416847-707b2951c5c3?auto=format&fit=crop&w=400&q=80') center/cover; }
.item-4 { background: var(--rose); }
.item-5 { grid-column: span 2; background: url('https://images.unsplash.com/photo-1481391319762-47dff72954d9?auto=format&fit=crop&w=800&q=80') center/cover; } 
.item-6 { 
    grid-column: span 2; 
    background: url('https://images.unsplash.com/photo-1549461756-8ad31868307c?q=80&w=2070&auto=format&fit=crop') center/cover; 
}


@media (max-width: 768px) {
    .bento-grid { grid-template-columns: 1fr 1fr; grid-auto-rows: 150px; }
    .item-1 { grid-column: span 2; grid-row: span 1; }
    .item-5 { grid-column: span 2; }
    .item-6 { grid-column: span 2; }
}

/* Feature Strip */
.feature-strip {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 20px;
    background: var(--soft-rose);
    padding: 40px;
    border-radius: 30px;
    margin-bottom: 80px;
    text-align: center;
}

.feature-box i { font-size: 30px; color: var(--maroon); display: block; margin-bottom: 10px; }
.feature-box h4 { font-size: 16px; margin-bottom: 5px; }
.feature-box p { font-size: 13px; color: var(--text-light); }




/* Source: views/pages/international-shipping.php */

.legal-hero{background:linear-gradient(135deg,var(--maroon) 0%,var(--rose) 100%);color:#fff;padding:52px 24px;text-align:center}
.legal-hero h1{font-family:'Cormorant Garamond',serif;font-size:clamp(28px,6vw,48px);font-weight:400;margin-bottom:8px}
.legal-hero p{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:15px;opacity:.85}
.intl-page{max-width:820px;margin:0 auto;padding:48px 24px 72px}
.intl-status{background:var(--champagne);border-radius:16px;padding:32px;text-align:center;margin-bottom:40px}
.intl-status .badge{display:inline-block;background:#fef9e7;color:#b7791f;border:1.5px solid #fde68a;padding:6px 18px;border-radius:50px;font-size:13px;font-weight:600;margin-bottom:16px}
.intl-status h2{font-family:'Cormorant Garamond',serif;font-size:28px;color:var(--maroon);margin-bottom:10px}
.intl-status p{font-size:14px;color:var(--text-mid);line-height:1.8;max-width:480px;margin:0 auto 20px}
.legal-section{margin-bottom:40px}
.legal-section h2{font-family:'Cormorant Garamond',serif;font-size:clamp(20px,4vw,28px);color:var(--maroon);margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid var(--border)}
.legal-section p{font-size:14px;color:var(--text-mid);line-height:1.85;margin-bottom:12px}
.legal-section ul{padding-left:20px;margin-bottom:12px}
.legal-section ul li{font-size:14px;color:var(--text-mid);line-height:1.75;margin-bottom:5px}
.intl-form{background:var(--white);border-radius:16px;padding:28px;box-shadow:var(--shadow)}
.intl-form h3{font-family:'Cormorant Garamond',serif;font-size:22px;color:var(--maroon);margin-bottom:6px}
.intl-form p{font-size:13px;color:var(--text-light);margin-bottom:20px}
.form-group{margin-bottom:14px}
.form-label{display:block;font-size:11px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--text-dark);margin-bottom:6px}
.form-input,.form-select,.form-textarea{width:100%;padding:11px 14px;border:1.5px solid var(--border);border-radius:10px;font-size:14px;font-family:'Jost',sans-serif;color:var(--text-dark);background:var(--cream);transition:border-color .2s;outline:none}
.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--rose)}
.form-textarea{min-height:90px;resize:vertical}



/* Source: views/pages/quotes.php */

  .quotes-shell {
    max-width: 1360px;
    margin: 0 auto;
    padding: 0 28px 64px;
  }

  .quotes-lead {
    margin: 18px auto 0;
    max-width: 980px;
    display: grid;
    grid-template-columns: 1.2fr .8fr;
    gap: 18px;
  }

  .quotes-lead-card,
  .quotes-mini-stat,
  .quotes-block,
  .quote-card,
  .quote-wide-card {
    background: rgba(255,255,255,0.9);
    border: 1px solid var(--border);
    box-shadow: 0 18px 40px rgba(139,26,43,0.06);
  }

  .quotes-lead-card {
    border-radius: 26px;
    padding: 24px;
    background:
      radial-gradient(circle at top right, rgba(232,213,176,0.42), transparent 26%),
      linear-gradient(135deg, #fffdf8 0%, #fff4f6 100%);
  }

  .quotes-eyebrow {
    font-size: 11px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--rose);
    font-weight: 600;
    margin-bottom: 10px;
  }

  .quotes-lead-card h2 {
    font-size: clamp(28px, 3.8vw, 42px);
    color: var(--maroon);
    margin-bottom: 10px;
  }

  .quotes-lead-card p {
    color: var(--text-mid);
    font-size: 15px;
    line-height: 1.8;
  }

  .quotes-mini-stack {
    display: grid;
    gap: 18px;
  }

  .quotes-mini-stat {
    border-radius: 24px;
    padding: 22px;
  }

  .quotes-mini-stat strong {
    display: block;
    font-size: 30px;
    color: var(--maroon);
    line-height: 1;
  }

  .quotes-mini-stat span {
    display: block;
    margin-top: 8px;
    color: var(--text-mid);
    font-size: 14px;
  }

  .quotes-section {
    margin-top: 28px;
  }

  .quotes-block {
    border-radius: 28px;
    padding: 26px;
  }

  .quotes-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 18px;
  }

  .quotes-head h3 {
    font-size: clamp(26px, 3vw, 38px);
    color: var(--maroon);
    margin: 0;
  }

  .quotes-head p {
    margin: 8px 0 0;
    color: var(--text-light);
    font-size: 15px;
    font-family: 'Cormorant Garamond', serif;
    font-style: italic;
  }

  .occasion-grid,
  .category-grid,
  .general-grid {
    display: grid;
    gap: 16px;
  }

  .occasion-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .category-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .general-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .quote-card,
  .quote-wide-card {
    border-radius: 24px;
    overflow: hidden;
  }

  .quote-card-top {
    padding: 22px 22px 14px;
    color: #fff;
  }

  .quote-card.rose .quote-card-top { background: linear-gradient(135deg, #d26a84 0%, #8b1a2b 100%); }
  .quote-card.gold .quote-card-top { background: linear-gradient(135deg, #f2c86b 0%, #c9803f 100%); }
  .quote-card.ivory .quote-card-top { background: linear-gradient(135deg, #d6bc97 0%, #9b7b5f 100%); }
  .quote-card.plum .quote-card-top { background: linear-gradient(135deg, #8f5aa8 0%, #5d2958 100%); }

  .quote-card-top h4 {
    font-size: 24px;
    margin-bottom: 6px;
  }

  .quote-card-top p {
    margin: 0;
    font-size: 13px;
    color: rgba(255,255,255,0.86);
  }

  .quote-list {
    padding: 18px 22px 24px;
    background: #fff;
  }

  .quote-list li + li {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--border);
  }

  .quote-line {
    font-size: 14px;
    color: var(--text-mid);
    line-height: 1.8;
  }

  .quote-mark {
    color: var(--rose);
    font-weight: 700;
    margin-right: 6px;
  }

  .quote-wide-card {
    padding: 22px;
    background: linear-gradient(180deg, #fffdfa 0%, #ffffff 100%);
  }

  .quote-wide-card h4 {
    font-size: 20px;
    color: var(--maroon);
    margin-bottom: 10px;
  }

  .quote-wide-card ul li + li {
    margin-top: 10px;
  }

  .quote-shop-banner {
    margin-top: 28px;
    border-radius: 30px;
    padding: 28px;
    background:
      radial-gradient(circle at top left, rgba(255,255,255,0.18), transparent 24%),
      linear-gradient(130deg, #1c304f 0%, #35527f 52%, #5a789c 100%);
    color: #fff;
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    gap: 20px;
    align-items: center;
    box-shadow: 0 26px 50px rgba(34, 55, 89, 0.2);
  }

  .quote-shop-banner h3 {
    font-size: clamp(28px, 3vw, 42px);
    margin-bottom: 10px;
  }

  .quote-shop-banner p {
    color: rgba(255,255,255,0.86);
    font-size: 15px;
    line-height: 1.8;
    margin-bottom: 16px;
  }

  .quote-shop-links {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
  }

  .quote-shop-note {
    background: rgba(255,255,255,0.1);
    border: 1px solid rgba(255,255,255,0.16);
    border-radius: 24px;
    padding: 22px;
  }

  .quote-shop-note strong {
    display: block;
    font-size: 16px;
    margin-bottom: 10px;
  }

  .quote-shop-note ul {
    list-style: none;
    padding: 0;
    margin: 0;
  }

  .quote-shop-note li + li {
    margin-top: 10px;
  }

  .quote-shop-note li {
    color: rgba(255,255,255,0.84);
    font-size: 14px;
  }

  @media (max-width: 1024px) {
    .quotes-lead,
    .quote-shop-banner,
    .category-grid {
      grid-template-columns: 1fr 1fr;
    }

    .occasion-grid,
    .general-grid {
      grid-template-columns: 1fr;
    }
  }

  @media (max-width: 700px) {
    .quotes-shell {
      padding: 0 10px 36px;
    }

    .quotes-lead,
    .quote-shop-banner,
    .category-grid {
      grid-template-columns: 1fr;
    }

    .quotes-lead-card,
    .quotes-mini-stat,
    .quotes-block,
    .quote-shop-banner {
      border-radius: 22px;
    }

    .quotes-block {
      padding: 18px;
    }

    .quotes-head {
      align-items: start;
      flex-direction: column;
    }
  }



/* Source: views/pages/corporate-gifts.php */

/* ── RESET + BASE ── */

.cg-wrap *{box-sizing:border-box;}

/* ── HERO WITH ROUNDED BOTTOM ── */

.cg-hero{
  position:relative; min-height:58vh; display:flex; align-items:center;
  background:linear-gradient(135deg,#0d0d1a 0%,#1a1a3e 45%,#2e2060 75%,#4a2c6e 100%);
  border-bottom-left-radius: 2% 20px;
  border-bottom-right-radius: 2% 20px;
  overflow: hidden;
}

.cg-hero-bg{
  position:absolute;inset:0;
  background:radial-gradient(ellipse at 70% 50%,rgba(138,99,210,.18) 0%,transparent 65%),
             radial-gradient(ellipse at 20% 80%,rgba(201,115,122,.12) 0%,transparent 55%);
}
.cg-hero-inner{
  position:relative;z-index:2;margin:0 auto;
  padding:80px 48px;width:100%;display:grid;
  grid-template-columns:1fr 1fr;gap:40px;align-items:center;
}
.cg-hero-left .eyebrow{
  font-size:10px;letter-spacing:.36em;text-transform:uppercase;
  color:#c5b8f0;margin-bottom:16px;font-weight:600;
}
.cg-hero-left h1{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(36px,4.8vw,66px);font-weight:300;
  line-height:1.05;color:#fff;margin-bottom:18px;
}
.cg-hero-left h1 em{font-style:italic;color:#c5b8f0;}
.cg-hero-left p{
  font-size:15px;color:rgba(255,255,255,.78);
  line-height:1.7;max-width:460px;margin-bottom:30px;
}
.cg-hero-btns{display:flex;gap:12px;flex-wrap:wrap;}
.cg-hero-btns a{
  padding:13px 26px;border-radius:50px;font-size:13px;
  font-weight:600;text-decoration:none;display:inline-flex;
  align-items:center;gap:7px;transition:all .2s;
}
.cg-btn-white{background:#fff;color:#1a1a3e;}
.cg-btn-white:hover{background:#e8e4ff;transform:translateY(-1px);}
.cg-btn-ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.35);}
.cg-btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.08);}

/* Hero right — floating stat cards */
.cg-hero-right{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.cg-stat-card{
  background:rgba(255,255,255,.07);backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,.12);border-radius:16px;
  padding:22px 18px;text-align:center;
}
.cg-stat-card .num{
  font-family:'Cormorant Garamond',serif;font-size:36px;
  font-weight:600;color:#fff;line-height:1;
}
.cg-stat-card .lbl{
  font-size:11px;color:rgba(255,255,255,.6);
  margin-top:5px;letter-spacing:.06em;
}
.cg-stat-card .ico{font-size:24px;margin-bottom:8px;}

/* ── TRUST STRIP ── */
.cg-trust{background:#f5f3ff;border-bottom:1px solid #e0d8f8;padding:14px 0;overflow-x:auto;}
.cg-trust-inner{
  margin:0 auto;padding:0 28px;
  display:flex;align-items:center;min-width:max-content;
}
.cg-trust-item{
  display:flex;align-items:center;gap:8px;padding:4px 22px;
  font-size:12px;font-weight:600;color:#3d2d7a;
  border-right:1px solid #e0d8f8;white-space:nowrap;
}
.cg-trust-item:last-child{border-right:none;}
.cg-trust-item span:first-child{font-size:17px;}

/* ── SECTION WRAPPER ── */
.cg-section{margin:0 auto;padding:64px 28px;}
.cg-section-label{
  font-size:10px;letter-spacing:.28em;text-transform:uppercase;
  color:var(--rose,#c9737a);font-weight:700;margin-bottom:10px;
}
.cg-section-title{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(28px,3.8vw,46px);color:#1a1a3e;
  margin-bottom:10px;font-weight:300;line-height:1.1;
}
.cg-section-title em{font-style:italic;color:#5a4a9e;}
.cg-section-sub{
  font-size:14px;color:#666;margin-bottom:44px;
  /* max-width:520px; */
  line-height:1.7;
}

/* ── OCCASION CARDS ── */
.cg-occ-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:16px;margin-bottom:60px;
}
.cg-occ-card{
  background:linear-gradient(145deg,#1a1a3e,#2e2060);
  border-radius:20px;padding:30px 18px 24px;
  text-align:center;color:#fff;text-decoration:none;
  transition:transform .2s,box-shadow .2s;
  border:1px solid rgba(255,255,255,.06);
}
.cg-occ-card:hover{transform:translateY(-5px);box-shadow:0 16px 40px rgba(26,26,62,.35);}
.cg-occ-card .ico{font-size:38px;margin-bottom:12px;display:block;}
.cg-occ-card h3{
  font-family:'Cormorant Garamond',serif;font-size:18px;
  font-weight:600;line-height:1.2;margin-bottom:6px;
}
.cg-occ-card p{font-size:11px;color:rgba(255,255,255,.6);line-height:1.5;}

/* ── WHY US ── */
.cg-why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:60px;}
.cg-why-card{
  background:#fff;border:1px solid #eee;border-radius:18px;
  padding:28px 22px;transition:box-shadow .2s;
}
.cg-why-card:hover{box-shadow:0 8px 28px rgba(26,26,62,.08);}
.cg-why-card .ico{font-size:32px;margin-bottom:14px;}
.cg-why-card h3{
  font-family:'Cormorant Garamond',serif;font-size:20px;
  color:#1a1a3e;margin-bottom:8px;
}
.cg-why-card p{font-size:13px;color:#666;line-height:1.65;}

/* ── PRODUCTS SECTION ── */
.cg-products-section{padding:60px 0; text-align: center;}
.cg-products-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(230px,1fr));
  gap:22px;
}
.cg-empty{
  text-align:center;padding:64px 20px;
  background:#fff;border-radius:20px;
}
.cg-empty .ico{font-size:52px;margin-bottom:16px;}
.cg-empty h3{
  font-family:'Cormorant Garamond',serif;font-size:24px;
  color:#1a1a3e;margin-bottom:8px;
}
.cg-empty p{font-size:14px;color:#666;margin-bottom:22px;}

/* ── QUOTE FORM ── */
.cg-quote{
  background:linear-gradient(135deg,#1a1a3e 0%,#2e2060 60%,#4a2c6e 100%);
  border-radius:28px;padding:56px 48px;color:#fff;
  display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;
}
.cg-quote-left h2{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(26px,3.5vw,42px);font-weight:300;
  margin-bottom:12px;line-height:1.1;
}
.cg-quote-left h2 em{font-style:italic;color:#c5b8f0;}
.cg-quote-left p{font-size:14px;color:rgba(255,255,255,.75);line-height:1.7;margin-bottom:24px;}
.cg-quote-perks{list-style:none;padding:0;margin:0;}
.cg-quote-perks li{
  font-size:13px;color:rgba(255,255,255,.8);
  padding:5px 0;display:flex;align-items:center;gap:9px;
}
.cg-quote-perks li::before{content:'✓';color:#a78bfa;font-weight:700;}

/* Form */
.cg-quote-form{display:flex;flex-direction:column;gap:14px;}
.cg-quote-form label{
  font-size:10px;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(255,255,255,.6);font-weight:600;margin-bottom:4px;display:block;
}
.cg-quote-form input,
.cg-quote-form textarea{
  width:100%;padding:13px 16px;
  background:rgba(255,255,255,.1);border:1.5px solid rgba(255,255,255,.18);
  border-radius:12px;font-size:14px;color:#fff;font-family:inherit;
  outline:none;transition:border-color .2s;
}
.cg-quote-form input::placeholder,
.cg-quote-form textarea::placeholder{color:rgba(255,255,255,.35);}
.cg-quote-form input:focus,
.cg-quote-form textarea:focus{border-color:rgba(255,255,255,.5);}
.cg-quote-form textarea{resize:vertical;min-height:80px;}
.cg-quote-form .row2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.cg-quote-submit{
  background:#fff;color:#1a1a3e;border:none;
  padding:14px 28px;border-radius:50px;font-size:14px;
  font-weight:700;cursor:pointer;font-family:inherit;
  display:inline-flex;align-items:center;gap:7px;
  transition:background .2s,transform .15s;align-self:flex-start;
}
.cg-quote-submit:hover{background:#e8e4ff;transform:translateY(-1px);}
.cg-quote-msg{font-size:13px;padding:10px 14px;border-radius:10px;display:none;margin-top:4px;}
.cg-quote-msg.ok{background:rgba(134,239,172,.2);color:#86efac;border:1px solid rgba(134,239,172,.3);}
.cg-quote-msg.err{background:rgba(252,165,165,.15);color:#fca5a5;border:1px solid rgba(252,165,165,.25);}

/* ── RESPONSIVE ── */
@media(max-width:1100px){
  .cg-occ-grid{grid-template-columns:repeat(3,1fr);}
  .cg-why-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:900px){
  .cg-hero-inner{grid-template-columns:1fr;padding:56px 24px;}
  .cg-hero-right{display:none;}
  .cg-quote{grid-template-columns:1fr;padding:36px 24px;}
}
@media(max-width:640px){
  .cg-occ-grid{grid-template-columns:repeat(2,1fr);}
  .cg-why-grid{grid-template-columns:1fr;}
  .cg-section{padding:44px 20px;}
  .cg-quote-form .row2{grid-template-columns:1fr;}
}





/* Source: views/pages/faq.php */

.faq-page { max-width: 780px; margin: 0 auto; padding: 56px 24px 80px; }
.faq-page h1 { font-family:'Cormorant Garamond',serif; font-size:clamp(32px,5vw,48px); color:var(--maroon); margin-bottom:8px; }
.faq-page .sub { font-size:15px; color:var(--text-light); margin-bottom:40px; font-family:'Cormorant Garamond',serif; font-style:italic; }
.faq-section-title { font-family:'Cormorant Garamond',serif; font-size:26px; color:var(--maroon); margin:40px 0 18px; padding-bottom:10px; border-bottom:2px solid var(--border); }
.faq-item { border:1px solid var(--border); border-radius:14px; margin-bottom:10px; overflow:hidden; background:var(--white); }
.faq-q { width:100%; text-align:left; padding:16px 20px; background:none; border:none; font-family:'Jost',sans-serif; font-size:15px; font-weight:600; color:var(--text-dark); cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:12px; transition:background .2s; }
.faq-q:hover { background:var(--champagne); }
.faq-q .arrow { font-size:18px; transition:transform .3s; flex-shrink:0; }
.faq-item.open .faq-q { background:var(--champagne); color:var(--maroon); }
.faq-item.open .faq-q .arrow { transform:rotate(45deg); }
.faq-a { display:none; padding:0 20px 18px; font-size:14px; color:var(--text-mid); line-height:1.9; }
.faq-item.open .faq-a { display:block; }
.faq-a a { color:var(--rose); }
.faq-contact { background:linear-gradient(135deg,var(--maroon),var(--rose)); border-radius:20px; padding:32px; text-align:center; color:#fff; margin-top:48px; }
.faq-contact h3 { font-size:26px; margin-bottom:8px; }
.faq-contact p { font-size:14px; opacity:.85; margin-bottom:20px; }
.faq-contact a { background:#fff; color:var(--maroon); padding:12px 28px; border-radius:50px; text-decoration:none; font-weight:600; font-size:14px; display:inline-block; margin:4px; }
@media(max-width:600px){ .faq-page{padding:36px 16px 60px;} .faq-q{font-size:14px;padding:14px 16px;} .faq-a{padding:0 16px 16px;} }



/* Source: views/pages/maintenance.php */

.maintenance-page, .maintenance-page *{box-sizing:border-box;}
.maintenance-page{background:#0d0407;color:#fff;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow-x:hidden;}
.maintenance-page .bg{position:fixed;inset:0;background:radial-gradient(ellipse at 30% 50%,#3a0a15 0%,#1a0508 40%,#0d0407 100%);z-index:0;}
/* Animated rose petals */
.maintenance-page .petals{position:fixed;inset:0;z-index:1;pointer-events:none;overflow:hidden;}
.maintenance-page .petal{position:absolute;font-size:20px;animation:fall linear infinite;opacity:.4;}
@keyframes fall{0%{transform:translateY(-60px) rotate(0);opacity:.4;}100%{transform:translateY(110vh) rotate(360deg);opacity:0;}}
.maintenance-page .container{position:relative;z-index:2;max-width:580px;width:100%;padding:40px 24px;text-align:center;}
.maintenance-page .logo{font-family:'Cormorant Garamond',serif;font-size:clamp(28px,6vw,44px);font-weight:600;letter-spacing:.08em;margin-bottom:8px;}
.maintenance-page .logo span{color:#f5c2c7;}
.maintenance-page .tagline{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:16px;color:rgba(255,255,255,.55);margin-bottom:40px;}
.maintenance-page .headline{font-family:'Cormorant Garamond',serif;font-size:clamp(36px,8vw,58px);font-weight:300;line-height:1.15;margin-bottom:14px;}
.maintenance-page .headline em{color:#f5c2c7;font-style:italic;}
.maintenance-page .sub{font-size:15px;color:rgba(255,255,255,.65);line-height:1.8;margin-bottom:40px;max-width:440px;margin-left:auto;margin-right:auto;}
.maintenance-page .highlight-box{background:rgba(201,115,122,.12);border:1px solid rgba(201,115,122,.3);border-radius:16px;padding:22px 28px;margin-bottom:36px;}
.maintenance-page .highlight-box p{font-size:14px;color:rgba(255,255,255,.75);line-height:1.8;}
.maintenance-page .highlight-box strong{color:#f5c2c7;}
.maintenance-page .form-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:32px;margin-bottom:32px;backdrop-filter:blur(12px);}
.maintenance-page .form-card h3{font-family:'Cormorant Garamond',serif;font-size:24px;margin-bottom:6px;}
.maintenance-page .form-card p{font-size:13px;color:rgba(255,255,255,.55);margin-bottom:20px;}
.maintenance-page .form-group{margin-bottom:12px;text-align:left;}
.maintenance-page .form-label{display:block;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:5px;}
.maintenance-page .form-input{width:100%;padding:12px 15px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);border-radius:10px;font-size:14px;font-family:'Jost',sans-serif;color:#fff;transition:border-color .2s;outline:none;}
.maintenance-page .form-input::placeholder{color:rgba(255,255,255,.3);}
.maintenance-page .form-input:focus{border-color:rgba(201,115,122,.6);}
.maintenance-page .form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.maintenance-page .btn-join{width:100%;background:linear-gradient(135deg,#7a2836,#c9737a);color:#fff;border:none;padding:15px;border-radius:50px;font-size:14px;font-weight:600;letter-spacing:.08em;cursor:pointer;font-family:'Jost',sans-serif;transition:opacity .2s;margin-top:6px;}
.maintenance-page .btn-join:hover{opacity:.9;}
.maintenance-page .success-msg{background:rgba(34,168,97,.15);border:1px solid rgba(34,168,97,.3);border-radius:12px;padding:16px;font-size:14px;color:#6ee7b7;margin-bottom:16px;}
.maintenance-page .error-msg{background:rgba(185,28,28,.15);border:1px solid rgba(185,28,28,.3);border-radius:12px;padding:16px;font-size:14px;color:#fca5a5;margin-bottom:16px;}
.maintenance-page .features{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;margin-bottom:32px;}
.maintenance-page .feature{padding:18px 12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:14px;}
.maintenance-page .feature-icon{font-size:26px;margin-bottom:8px;}
.maintenance-page .feature-label{font-size:12px;color:rgba(255,255,255,.6);line-height:1.5;}
.maintenance-page .social{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.maintenance-page .social a{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:50px;text-decoration:none;color:rgba(255,255,255,.75);font-size:12px;transition:all .2s;}
.maintenance-page .social a:hover{background:rgba(201,115,122,.2);border-color:rgba(201,115,122,.4);color:#fff;}
.maintenance-page .admin-link{margin-top:32px;font-size:11px;color:rgba(255,255,255,.2);}
.maintenance-page .admin-link a{color:rgba(255,255,255,.2);text-decoration:none;}
.maintenance-page .admin-link a:hover{color:rgba(255,255,255,.5);}
@media(max-width:500px){.maintenance-page .form-row{grid-template-columns:1fr;}.maintenance-page .features{grid-template-columns:1fr 1fr;}}

/* ═══════════════════════════════════════════
   FINAL SITE-WIDE OVERRIDES
═══════════════════════════════════════════ */

body {
  background:
    radial-gradient(circle at top left, rgba(255, 229, 214, 0.42), transparent 24%),
    linear-gradient(180deg, #fffdfa 0%, #fff8f4 48%, #fffdfa 100%);
}

nav {
  background: rgba(255, 253, 250, 0.92);
  border-bottom: 1px solid rgba(240, 223, 214, 0.82);
  box-shadow: 0 10px 30px rgba(126, 47, 47, 0.05);
}

.page-header,
.track-hero,
.combo-hero,
.gfhim-hero,
.rr-hero,
.journey-hero,
.gfh-hero,
.about-hero {
  border-radius: 30px;
  overflow: hidden;
  box-shadow: 0 30px 66px rgba(110, 60, 45, 0.16);
}

.page-header {
  background:
    radial-gradient(circle at 14% 20%, rgba(255,255,255,0.34), transparent 22%),
    radial-gradient(circle at 88% 24%, rgba(255,224,195,0.34), transparent 24%),
    linear-gradient(120deg, #fff1da 0%, #ffd9be 18%, #f2a986 45%, #ce785f 70%, #87433f 100%);
}

.product-card,
.blog-card,
.review-card,
.inner-page-card,
.contact-form-card,
.joinus-form-card,
.profile-card,
.store-card,
.shop-sidebar,
.account-sidebar {
  border: 1px solid rgba(240, 223, 214, 0.95);
  border-radius: 22px;
  box-shadow: 0 14px 38px rgba(93, 52, 43, 0.08);
}

.product-card {
  background: linear-gradient(180deg, #ffffff 0%, #fffaf7 100%);
}

.product-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 24px 58px rgba(93, 52, 43, 0.14);
}

.btn-primary,
.pf-btn,
.btn-checkout,
.btn-add-cart,
.btn-cart,
.search-bar-btn {
  background: linear-gradient(135deg, #7e2f2f 0%, #df7d66 100%);
  box-shadow: 0 12px 26px rgba(126, 47, 47, 0.18);
}

.btn-primary:hover,
.pf-btn:hover,
.btn-checkout:hover,
.btn-add-cart:hover,
.btn-cart:hover,
.search-bar-btn:hover {
  background: linear-gradient(135deg, #9c4343 0%, #c8644d 100%);
}

footer {
  background:
    radial-gradient(circle at top left, rgba(255,255,255,0.06), transparent 18%),
    linear-gradient(180deg, #2d1a1a 0%, #1d1313 100%);
}

@media (max-width: 600px) {
  .page-header,
  .track-hero,
  .combo-hero,
  .gfhim-hero,
  .rr-hero,
  .journey-hero,
  .gfh-hero,
  .about-hero {
    border-radius: 20px;
  }
}

/* ═══════════════════════════════════════════
   SITE COMPACTNESS + MOBILE PRODUCT GRID
═══════════════════════════════════════════ */

.product-grid,
.rr-grid {
  align-items: start;
}

.product-card {
  border-radius: 20px;
}

.product-img-wrap {
  aspect-ratio: 1 / 1;
}

.product-info {
  padding: 14px 14px 12px;
}

.product-name {
  font-size: 16px;
  line-height: 1.35;
}

.product-material,
.review-count {
  font-size: 11px;
}

.product-rating {
  margin-bottom: 8px;
}

.price-row {
  gap: 5px;
  margin-bottom: 10px;
}

.price {
  font-size: 17px;
}

.btn-cart {
  min-height: 40px;
  font-size: 11px;
  letter-spacing: .08em;
  border-radius: 12px;
}

.occasion-grid-compact {
  gap: 14px;
}

.occ-chip {
  gap: 8px;
}

.occ-chip-img {
  width: 84px;
  height: 84px;
  border-radius: 26px;
  background: linear-gradient(145deg, #fff2ee, #f7fbff);
  border: 1px solid rgba(240, 223, 214, 0.9);
  box-shadow: 0 10px 26px rgba(93, 52, 43, 0.08);
}

.occ-chip-label {
  font-size: 12px;
  font-weight: 700;
}

.recipient-grid,
.rr-relations {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.recipient-card,
.rr-relation {
  min-height: 138px;
  padding: 18px;
  border-radius: 22px;
  border: 1px solid rgba(240, 223, 214, 0.55);
  box-shadow: 0 16px 34px rgba(93, 52, 43, 0.10);
}

.recipient-card .recipient-body,
.rr-relation .inner {
  justify-content: flex-end;
}

.recipient-body,
.rr-relation .inner {
  gap: 6px;
}

.recipient-body h3,
.rr-relation h3 {
  font-size: 20px;
  line-height: 1.15;
}

.recipient-body p,
.rr-relation p {
  font-size: 12px;
  line-height: 1.55;
  max-width: 24ch;
}

.rr-relation::after,
.recipient-card::after {
  content: '\2192';
  position: absolute;
  right: 16px;
  top: 16px;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: rgba(255,255,255,0.16);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  backdrop-filter: blur(6px);
}

.rr-products,
.rr-panel {
  padding: 18px;
  border-radius: 24px;
}

@media (max-width: 1100px) {
  .recipient-grid,
  .rr-relations {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .rr-cats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
  }

  .recipient-grid,
  .rr-relations {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .recipient-card,
  .rr-relation {
    min-height: 120px;
    padding: 14px;
    border-radius: 18px;
  }

  .recipient-body {
    padding: 0;
  }

  .recipient-body h3,
  .rr-relation h3 {
    font-size: 17px;
  }

  .recipient-body p,
  .rr-relation p {
    font-size: 11px;
    max-width: none;
  }

  .rr-products,
  .rr-panel {
    padding: 14px;
  }

  .rr-video-shell {
    padding: 12px;
  }

  .rr-video-stage {
    min-height: 420px;
  }

  .rr-video-copy {
    justify-content: end;
    width: 100%;
    padding: 18px;
  }

  .rr-video-copy h2 {
    font-size: 28px;
  }
}

@media (max-width: 600px) {
  .product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  .rr-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .rr-grid > div,
  .rr-grid .product-card {
    min-width: 0;
    width: 100%;
  }

  .product-card {
    border-radius: 16px;
  }

  .product-info {
    padding: 10px 10px 8px;
  }

  .product-name {
    font-size: 13px;
  }

  .product-material,
  .review-count,
  .stars {
    font-size: 10px;
  }

  .price {
    font-size: 15px;
  }

  .price-original {
    font-size: 10px;
  }

  .discount-tag {
    font-size: 8px;
    padding: 3px 6px;
  }

  .wishlist-btn {
    width: 30px;
    height: 30px;
    top: 8px;
    right: 8px;
    font-size: 12px;
  }

  .product-badge,
  .combo-badge {
    top: 8px;
    left: 8px;
    font-size: 8px;
    padding: 3px 8px;
  }

  .btn-cart {
    min-height: 36px;
    font-size: 10px;
    padding: 8px;
  }

  .occasion-grid-compact {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
  }

  .occ-chip-img {
    width: 100%;
    max-width: 74px;
    height: 74px;
    border-radius: 20px;
  }

  .occ-chip-label {
    font-size: 10px;
    line-height: 1.3;
  }

  .recipient-grid,
  .rr-relations {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .recipient-card,
  .rr-relation {
    min-height: 112px;
    padding: 12px;
    border-radius: 16px;
  }

  .rr-relation::after,
  .recipient-card::after {
    top: 10px;
    right: 10px;
    width: 28px;
    height: 28px;
    font-size: 12px;
  }

  .recipient-body h3,
  .rr-relation h3 {
    font-size: 15px;
  }

  .recipient-body p,
  .rr-relation p {
    font-size: 10px;
    line-height: 1.45;
  }
}

@media (max-width: 420px) {
  .product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  .rr-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .product-card {
    min-width: 0;
  }

  .product-info {
    padding: 9px 9px 8px;
  }

  .product-name {
    font-size: 12px;
  }

  .price {
    font-size: 14px;
  }

  .occasion-grid-compact {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }

  .recipient-grid,
  .rr-relations {
    gap: 8px;
  }
}

/* ═══════════════════════════════════════════
   MOBILE MENU REFRESH
═══════════════════════════════════════════ */

.hamburger {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(126, 47, 47, 0.1), rgba(223, 125, 102, 0.18)) !important;
  color: var(--maroon) !important;
  box-shadow: inset 0 0 0 1px rgba(126, 47, 47, 0.08);
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.hamburger:hover {
  transform: translateY(-1px);
  background: linear-gradient(135deg, rgba(126, 47, 47, 0.16), rgba(223, 125, 102, 0.24)) !important;
  box-shadow: 0 10px 24px rgba(126, 47, 47, 0.12);
}

.mobile-menu {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 3000;
  background: rgba(42, 24, 22, 0.4);
  backdrop-filter: blur(10px);
  padding: 0;
  align-items: stretch;
  justify-content: flex-end;
}

.mobile-menu.open {
  display: flex;
}

.mobile-menu-backdrop {
  flex: 1 1 auto;
}

.mobile-menu-panel {
  position: relative;
  width: min(420px, 92vw);
  height: 100%;
  overflow-y: auto;
  padding: 22px 18px 28px;
  background:
    radial-gradient(circle at top right, rgba(255, 232, 220, 0.86), transparent 22%),
    linear-gradient(180deg, #fffdfa 0%, #fff6f0 100%);
  box-shadow: -18px 0 48px rgba(47, 26, 24, 0.16);
}

.mobile-menu-close {
  top: 18px;
  right: 18px;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,0.78);
  border: 1px solid rgba(240, 223, 214, 0.9);
  color: var(--maroon);
  box-shadow: 0 10px 22px rgba(126, 47, 47, 0.08);
}

.mobile-menu-user {
  margin: 4px 0 14px;
  padding: 18px 18px 16px;
  border-radius: 22px;
  border: 1px solid rgba(240, 223, 214, 0.95);
  background:
    radial-gradient(circle at top right, rgba(255, 239, 230, 0.7), transparent 25%),
    linear-gradient(180deg, #ffffff 0%, #fff9f5 100%);
}

.mobile-menu-user-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 24px;
  color: var(--maroon);
  margin-bottom: 4px;
}

.mobile-menu-user-link {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--rose);
}

.mob-nav-item {
  margin-bottom: 10px;
  padding: 0;
  border: none;
}

.mob-nav-link,
.mob-nav-trigger {
  width: 100%;
  min-height: 60px;
  padding: 16px 18px;
  border-radius: 20px;
  border: 1px solid rgba(240, 223, 214, 0.95);
  background: rgba(255, 255, 255, 0.86);
  color: var(--text-dark);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  font-family: 'Jost', sans-serif;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: .01em;
  box-shadow: 0 10px 24px rgba(126, 47, 47, 0.05);
  text-decoration: none;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}

.mob-nav-link:hover,
.mob-nav-trigger:hover {
  transform: translateY(-1px);
  border-color: rgba(223, 125, 102, 0.28);
  box-shadow: 0 14px 28px rgba(126, 47, 47, 0.08);
}

.mob-nav-link-her {
  background: linear-gradient(135deg, rgba(255, 239, 244, 0.96), rgba(255, 250, 247, 0.95));
  color: #c05a73;
}

.mob-nav-link-him {
  background: linear-gradient(135deg, rgba(239, 244, 255, 0.96), rgba(255, 250, 247, 0.95));
  color: #5661a9;
}

.mob-nav-link-text {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-align: left;
}

.mob-nav-trigger {
  cursor: pointer;
}

.mob-expand {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: rgba(126, 47, 47, 0.08);
  color: var(--maroon);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  flex-shrink: 0;
  transition: transform .22s ease, background .22s ease;
}

.mob-nav-item.expanded .mob-expand {
  transform: rotate(180deg);
  background: linear-gradient(135deg, rgba(126, 47, 47, 0.14), rgba(223, 125, 102, 0.2));
}

.mob-sub {
  display: none;
  margin-top: 8px;
  padding: 10px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(240, 223, 214, 0.9);
}

.mob-sub.open {
  display: grid;
  gap: 6px;
}

.mob-sub a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 14px;
  font-size: 14px;
  font-weight: 500;
  color: var(--text-mid);
  background: rgba(255, 250, 247, 0.8);
  transition: background .18s ease, color .18s ease, transform .18s ease;
}

.mob-sub a:hover {
  color: var(--maroon);
  background: rgba(255, 239, 230, 0.95);
  transform: translateX(2px);
}

.mobile-menu-auth {
  position: sticky;
  bottom: 0;
  padding-top: 16px;
  margin-top: 16px;
  background: linear-gradient(180deg, rgba(255,246,240,0), #fff6f0 24%);
}

.mobile-menu-auth-primary,
.mobile-menu-auth-secondary {
  display: block;
  width: 100%;
  text-align: center;
  text-decoration: none;
}

.mobile-menu-auth-primary {
  margin-bottom: 10px;
}

.mobile-menu-auth-secondary {
  padding: 12px 18px;
}

@media (max-width: 900px) {
  .hamburger {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    font-size: 22px;
  }
}

@media (max-width: 600px) {
  .mobile-menu-panel {
    width: 100%;
    max-width: 100%;
    padding: 18px 14px 24px;
  }

  .mobile-menu-close {
    top: 14px;
    right: 14px;
  }

  .mobile-menu-user {
    margin-top: 6px;
    padding: 16px;
  }

  .mobile-menu-user-title {
    font-size: 22px;
  }

  .mob-nav-link,
  .mob-nav-trigger {
    min-height: 56px;
    padding: 14px 15px;
    font-size: 15px;
    border-radius: 18px;
  }

  .mob-sub {
    padding: 8px;
    border-radius: 16px;
  }

  .mob-sub a {
    padding: 11px 12px;
    font-size: 13px;
  }
}

/* ═══════════════════════════════════════════
   SEARCH + NEWSLETTER + FOOTER + TOAST POLISH
═══════════════════════════════════════════ */

.search-bar-dropdown {
  background: rgba(34, 24, 22, 0.46);
  backdrop-filter: blur(16px);
}

.search-bar-inner {
  max-width: 760px;
  margin: 82px auto 0;
  padding: 18px;
}

.search-bar-wrap {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 0;
  border-radius: 28px;
  border: 1px solid rgba(255, 214, 198, 0.7);
  background:
    radial-gradient(circle at top right, rgba(255, 237, 227, 0.86), transparent 24%),
    linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(255,248,243,0.98) 100%);
  box-shadow: 0 28px 70px rgba(49, 28, 24, 0.22);
  overflow: hidden;
}

.search-bar-wrap:focus-within {
  border-color: rgba(223, 125, 102, 0.7);
  box-shadow: 0 32px 78px rgba(49, 28, 24, 0.24);
}

.search-bar-icon {
  padding: 0 18px 0 22px;
  font-size: 18px;
  color: var(--rose);
  opacity: .92;
}

.search-bar-input {
  min-width: 0;
  padding: 19px 14px;
  font-size: 16px;
  color: var(--text-dark);
}

.search-bar-input::placeholder {
  color: #9f8f8a;
}

.search-bar-btn {
  min-width: 126px;
  height: 54px;
  margin: 7px;
  border-radius: 18px;
  padding: 0 22px;
  font-size: 13px;
  letter-spacing: .06em;
}

.search-close-btn {
  top: 18px;
  right: 18px;
  width: 44px;
  height: 44px;
  background: rgba(255,255,255,0.18);
  border: 1px solid rgba(255,255,255,0.2);
  color: #fff;
  box-shadow: 0 12px 28px rgba(0,0,0,0.14);
}

.search-bar-hints {
  margin-top: 14px;
  align-items: center;
}

.search-bar-hints span {
  color: rgba(255,255,255,0.74);
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.search-bar-hints a {
  background: rgba(255,255,255,0.14);
  border: 1px solid rgba(255,255,255,0.12);
  color: #393540;
  padding: 7px 12px;
  font-size: 11px;
  font-weight: 600;
}

.search-bar-hints a:hover {
  background: rgba(255,255,255,0.24);
}

.newsletter-band,
.rr-newsletter {
  border-radius: 28px;
  box-shadow: 0 24px 58px rgba(52, 34, 34, 0.18);
}

.newsletter-band {
  padding: 52px 24px;
}

.newsletter-band h2,
.rr-newsletter h3 {
  letter-spacing: .01em;
}

.newsletter-band p,
.rr-newsletter p {
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
}

.newsletter-form,
.rr-newsletter-row {
  max-width: 620px;
  margin-left: auto;
  margin-right: auto;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 22px;
  padding: 8px;
  gap: 8px;
  backdrop-filter: blur(10px);
}

.newsletter-input,
.rr-newsletter-row input {
  border-radius: 16px !important;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.96) !important;
  color: var(--text-dark) !important;
  padding: 15px 16px !important;
}

.newsletter-input::placeholder,
.rr-newsletter-row input::placeholder {
  color: #988983 !important;
}

.btn-newsletter,
.rr-newsletter-row button {
  min-width: 150px;
  border-radius: 16px !important;
  padding: 0 18px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .08em;
  text-transform: uppercase;
  background: linear-gradient(135deg, #f2c272 0%, #d99554 100%) !important;
  color: #fff !important;
  box-shadow: 0 14px 28px rgba(215, 173, 109, 0.24);
}

.footer-inner {
  max-width: 1320px;
}

.footer-top {
  grid-template-columns: minmax(0, 1.35fr) minmax(0, .9fr) minmax(0, .9fr) minmax(0, 1.05fr);
  gap: 28px;
  padding: 26px;
  border-radius: 30px;
  border: 1px solid rgba(255,255,255,0.08);
  background:
    radial-gradient(circle at top right, rgba(255,255,255,0.05), transparent 24%),
    rgba(255,255,255,0.03);
}

.footer-logo-area {
  margin-bottom: 16px;
}

.footer-logo-text {
  font-size: 28px;
}

.footer-tagline {
  font-size: 15px;
  color: rgba(255,255,255,0.72);
  margin-bottom: 14px;
}

.footer-contact-line {
  font-size: 13px;
  color: rgba(255,255,255,0.58);
  margin-bottom: 7px;
}

.footer-contact-line-last {
  margin-bottom: 20px;
}

.footer-contact-line a {
  color: rgba(255,255,255,0.74) !important;
}

.footer-social {
  gap: 10px;
}

.footer-newsletter {
  margin-top: 22px;
  padding: 16px;
  border-radius: 22px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
}

.footer-newsletter-label {
  color: rgba(255,255,255,0.72);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  margin-bottom: 10px;
}

.footer-newsletter-form {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
}

.footer-newsletter-input {
  min-width: 0;
  padding: 13px 14px;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 14px;
  font-size: 13px;
  font-family: 'Jost', sans-serif;
  background: rgba(255,255,255,0.08);
  color: #fff;
  outline: none;
  transition: border-color .2s ease, background .2s ease;
}

.footer-newsletter-input:focus {
  background: rgba(255,255,255,0.14);
  border-color: rgba(255,255,255,0.22);
}

.footer-newsletter-input::placeholder {
  color: rgba(255,255,255,0.44);
}

.footer-newsletter-btn {
  border: 0;
  border-radius: 14px;
  padding: 0 18px;
  min-height: 46px;
  background: linear-gradient(135deg, #f2c272 0%, #d99554 100%);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
  box-shadow: 0 12px 24px rgba(215, 173, 109, 0.22);
}

.footer-install-btn {
  margin-top: 10px;
  width: 100%;
  min-height: 44px;
  display: inline-flex;
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(255,255,255,0.08), rgba(242, 194, 114, 0.18));
  color: #fff3e6;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 10px 22px rgba(0,0,0,0.08);
}

.footer-install-btn:hover {
  background: linear-gradient(135deg, rgba(255,255,255,0.12), rgba(242, 194, 114, 0.26));
}

.footer-bottom {
  margin-top: 18px;
  padding: 0 6px;
  color: rgba(255,255,255,0.4);
}

.payment-icon {
  background: rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.66);
  padding: 6px 10px;
}

.toast {
  left: 50%;
  right: auto;
  bottom: 104px;
  transform: translate(-50%, 22px);
  min-width: min(88vw, 320px);
  max-width: min(90vw, 520px);
  text-align: center;
  border-radius: 18px;
  padding: 14px 18px;
  background:
    radial-gradient(circle at top right, rgba(255,255,255,0.16), transparent 26%),
    linear-gradient(135deg, rgba(126, 47, 47, 0.98) 0%, rgba(223, 125, 102, 0.96) 100%);
  box-shadow: 0 24px 54px rgba(67, 35, 31, 0.24);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .01em;
}

.toast.show {
  transform: translate(-50%, 0);
}

.install-modal {
  position: fixed;
  inset: 0;
  z-index: 10020;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 18px;
}

.install-modal.open {
  display: flex;
}

.install-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(26, 18, 18, 0.58);
  backdrop-filter: blur(10px);
  animation: installFade .3s ease;
}

.install-modal-card {
  position: relative;
  z-index: 1;
  width: min(440px, 100%);
  border-radius: 28px;
  padding: 30px 24px 24px;
  background:
    radial-gradient(circle at top right, rgba(255, 233, 221, 0.85), transparent 24%),
    linear-gradient(180deg, #fffdfa 0%, #fff6f0 100%);
  border: 1px solid rgba(240, 223, 214, 0.95);
  box-shadow: 0 32px 72px rgba(41, 23, 22, 0.24);
  text-align: center;
  animation: installPop .38s cubic-bezier(.22,.68,0,1.15);
  overflow: hidden;
}

.install-modal-card::before {
  content: '';
  position: absolute;
  inset: 0 0 auto 0;
  height: 5px;
  background: linear-gradient(90deg, var(--gold), var(--rose), var(--maroon));
}

.install-modal-close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: 1px solid rgba(240, 223, 214, 0.92);
  background: rgba(255,255,255,0.84);
  color: var(--maroon);
  font-size: 18px;
}

.install-modal-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(255, 241, 234, 0.96);
  border: 1px solid rgba(240, 223, 214, 0.95);
  color: var(--rose);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.install-modal-icon {
  font-size: 52px;
  margin: 14px 0 10px;
  animation: installFloat 2.6s ease-in-out infinite;
}

.install-modal-card h3 {
  font-size: 34px;
  color: var(--maroon);
  margin-bottom: 8px;
}

.install-modal-card p {
  color: var(--text-mid);
  font-size: 14px;
  line-height: 1.8;
  margin-bottom: 16px;
}

.install-modal-points {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
  margin-bottom: 18px;
}

.install-modal-points span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.78);
  border: 1px solid rgba(240, 223, 214, 0.95);
  color: var(--text-dark);
  font-size: 12px;
  font-weight: 600;
}

.install-ios-guide {
  display: none;
  margin-bottom: 18px;
  text-align: left;
  border-radius: 18px;
  padding: 14px;
  background: rgba(255,255,255,0.78);
  border: 1px solid rgba(240, 223, 214, 0.95);
}

.install-ios-guide.show {
  display: grid;
  gap: 10px;
}

.install-ios-step {
  display: grid;
  grid-template-columns: 30px 1fr;
  gap: 10px;
  align-items: start;
}

.install-ios-step strong {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, rgba(126, 47, 47, 0.1), rgba(223, 125, 102, 0.18));
  color: var(--maroon);
}

.install-ios-step span {
  font-size: 13px;
  color: var(--text-mid);
  line-height: 1.7;
}

.install-modal-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.install-modal-primary,
.install-modal-secondary {
  min-height: 48px;
  border-radius: 16px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.install-modal-primary {
  border: 0;
  background: linear-gradient(135deg, var(--maroon), var(--rose));
  color: #fff;
  box-shadow: 0 18px 34px rgba(126, 47, 47, 0.2);
}

.install-modal-secondary {
  border: 1px solid rgba(240, 223, 214, 0.95);
  background: rgba(255,255,255,0.78);
  color: var(--text-mid);
}

@keyframes installFade {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes installPop {
  from { opacity: 0; transform: translateY(24px) scale(.94); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes installFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-4px); }
}

@media (max-width: 900px) {
  .footer-top {
    grid-template-columns: 1fr 1fr;
    padding: 20px;
  }

  .search-bar-inner {
    margin-top: 72px;
  }
}

@media (max-width: 600px) {
  .search-bar-inner {
    margin: 74px 10px 0;
    padding: 10px;
  }

  .search-bar-wrap {
    grid-template-columns: 1fr;
    border-radius: 24px;
    padding: 8px;
    gap: 8px;
  }

  .search-bar-icon {
    display: none;
  }

  .search-bar-input {
    width: 100%;
    border-radius: 16px;
    background: rgba(255,255,255,0.96);
    border: 1px solid rgba(255, 214, 198, 0.52);
    padding: 15px 14px;
  }

  .search-bar-btn {
    width: 100%;
    height: 48px;
    margin: 0;
    border-radius: 16px;
  }

  .search-bar-hints {
    gap: 6px;
    margin-top: 12px;
  }

  .search-bar-hints a {
    font-size: 10px;
    padding: 6px 10px;
  }

  .newsletter-form,
  .rr-newsletter-row,
  .footer-newsletter-form {
    grid-template-columns: 1fr;
    display: grid;
  }

  .btn-newsletter,
  .rr-newsletter-row button,
  .footer-newsletter-btn {
    width: 100%;
    min-height: 46px;
  }

  .footer-top {
    grid-template-columns: 1fr;
    padding: 16px;
    border-radius: 22px;
  }

  .footer-newsletter {
    padding: 14px;
  }

  .toast {
    bottom: 92px;
    min-width: min(92vw, 320px);
    padding: 13px 16px;
    font-size: 12px;
  }

  .install-modal-card {
    border-radius: 22px;
    padding: 26px 16px 16px;
  }

  .install-modal-card h3 {
    font-size: 28px;
  }

  .install-modal-actions {
    grid-template-columns: 1fr;
  }
}

/* ═══════════════════════════════════════════
   CART + CHECKOUT POLISH
═══════════════════════════════════════════ */

.cart-overlay {
  background: rgba(30, 20, 19, 0.42);
  backdrop-filter: blur(8px);
}

.cart-panel {
  width: min(440px, 100vw);
  right: calc(-1 * min(440px, 100vw));
  background:
    radial-gradient(circle at top right, rgba(255, 238, 229, 0.8), transparent 22%),
    linear-gradient(180deg, #fffdfa 0%, #fff8f3 100%);
  box-shadow: -20px 0 52px rgba(41, 23, 22, 0.18);
}

.cart-header {
  padding: 22px 22px 14px;
  background: rgba(255,255,255,0.72);
  backdrop-filter: blur(12px);
}

.cart-header h3 {
  font-size: 24px;
  font-weight: 600;
}

.cart-close {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,0.84);
  border: 1px solid rgba(240, 223, 214, 0.9);
  color: var(--maroon);
}

.cart-items {
  padding: 16px 18px;
}

.cart-item {
  gap: 12px;
  padding: 14px 0;
  align-items: center;
}

.cart-item-img {
  width: 74px;
  height: 74px;
  border-radius: 16px;
  border: 1px solid rgba(240, 223, 214, 0.9);
  box-shadow: 0 10px 24px rgba(93, 52, 43, 0.08);
}

.cart-item-name {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
}

.cart-item-price {
  font-size: 18px;
}

.cart-item-qty {
  gap: 8px;
  margin-top: 8px;
}

.cart-qty-btn {
  width: 30px;
  height: 30px;
  border-radius: 10px;
  background: rgba(255,255,255,0.88);
  border-color: rgba(240, 223, 214, 0.95);
  box-shadow: 0 8px 18px rgba(93, 52, 43, 0.06);
}

.cart-qty-num {
  min-width: 18px;
  font-size: 13px;
}

.cart-item-remove {
  width: 30px;
  height: 30px;
  border-radius: 10px;
  background: rgba(255,255,255,0.72);
  border: 1px solid rgba(240, 223, 214, 0.8);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.cart-footer {
  padding: 18px 20px 20px;
  background: rgba(255,255,255,0.78);
  backdrop-filter: blur(12px);
}

.cart-total {
  font-size: 17px;
  margin-bottom: 14px;
}

.btn-checkout {
  min-height: 52px;
  border-radius: 18px;
  font-size: 13px;
  letter-spacing: .12em;
  box-shadow: 0 18px 34px rgba(126, 47, 47, 0.2);
}

#checkoutModal {
  background: rgba(30, 20, 19, 0.48);
  backdrop-filter: blur(10px);
}

#checkoutModal .checkout-modal-box {
  max-width: 620px !important;
  border-radius: 28px !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at top right, rgba(255, 238, 229, 0.82), transparent 18%),
    linear-gradient(180deg, #fffdfa 0%, #fff8f3 100%) !important;
  box-shadow: 0 28px 72px rgba(41, 23, 22, 0.22) !important;
}

#checkoutModal .checkout-modal-head {
  background: rgba(255,255,255,0.82) !important;
  backdrop-filter: blur(12px);
  padding: 22px 24px 16px !important;
}

#checkoutModal .modal-close {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,0.86);
  border: 1px solid rgba(240, 223, 214, 0.9);
  color: var(--maroon);
}

#checkoutModal .checkout-modal-body {
  padding: 18px 22px 24px !important;
}

#checkoutModal .co-card,
#checkoutModal .co-addr-label,
#checkoutModal .co-gift-wrap,
#checkoutModal #coOnlineLabel,
#checkoutModal #coCODLabel {
  background: rgba(255,255,255,0.82);
  border-radius: 18px !important;
  border-color: rgba(240, 223, 214, 0.95) !important;
  box-shadow: 0 12px 30px rgba(93, 52, 43, 0.06);
}

#checkoutModal .co-summary-card {
  padding: 16px 16px 14px !important;
  background:
    radial-gradient(circle at top right, rgba(255, 245, 236, 0.95), transparent 24%),
    linear-gradient(180deg, #fff5ef 0%, #fffbf8 100%) !important;
}

#checkoutModal .co-section-title,
#checkoutModal .co-section-heading {
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: 11px !important;
  font-weight: 700 !important;
  color: var(--maroon) !important;
}

#checkoutModal .co-summary-totals > div:last-child {
  font-size: 20px !important;
  font-weight: 800 !important;
}

#checkoutModal .co-saved-addresses {
  gap: 10px !important;
}

#checkoutModal .co-addr-label {
  gap: 12px !important;
  padding: 14px !important;
}

#checkoutModal .co-add-address-btn {
  border-style: dashed !important;
  border-width: 1.5px !important;
  min-height: 48px;
  background: rgba(255,255,255,0.52) !important;
}

#checkoutModal .co-new-address {
  padding: 14px !important;
}

.co-inp,
#checkoutModal .co-textarea {
  width: 100%;
  border: 1px solid rgba(240, 223, 214, 0.95) !important;
  border-radius: 14px !important;
  background: #fffdfb !important;
  padding: 12px 13px !important;
  font-size: 13px !important;
  color: var(--text-dark);
  box-sizing: border-box;
}

.co-inp:focus,
#checkoutModal .co-textarea:focus {
  outline: none;
  border-color: rgba(223, 125, 102, 0.72) !important;
  box-shadow: 0 0 0 4px rgba(223, 125, 102, 0.10);
}

#checkoutModal .co-gift-wrap {
  min-height: 54px;
  padding: 14px 15px !important;
}

#checkoutModal .co-payment-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 10px !important;
}

#checkoutModal #coOnlineLabel,
#checkoutModal #coCODLabel {
  padding: 14px !important;
}

#checkoutModal .co-error {
  border-radius: 16px !important;
  padding: 13px 14px !important;
}

#checkoutModal .co-place-btn {
  min-height: 56px;
  border-radius: 18px !important;
  font-size: 15px !important;
  letter-spacing: .04em;
  box-shadow: 0 20px 38px rgba(126, 47, 47, 0.22);
}

#checkoutModal .co-terms {
  margin-top: 10px !important;
  line-height: 1.7;
}

@media (max-width: 600px) {
  .cart-panel {
    width: 100vw;
    right: -100vw;
  }

  .cart-header {
    padding: 18px 16px 12px;
  }

  .cart-header h3 {
    font-size: 22px;
  }

  .cart-items {
    padding: 12px 14px;
  }

  .cart-item {
    align-items: flex-start;
  }

  .cart-item-img {
    width: 64px;
    height: 64px;
    border-radius: 14px;
  }

  .cart-item-price {
    font-size: 16px;
  }

  .cart-footer {
    padding: 16px 14px 18px;
  }

  .btn-checkout {
    min-height: 48px;
    border-radius: 16px;
    font-size: 12px;
  }

  #checkoutModal .checkout-modal-box {
    width: min(100%, 100vw) !important;
    max-width: calc(100vw - 16px) !important;
    border-radius: 22px !important;
  }

  #checkoutModal .checkout-modal-head {
    padding: 18px 18px 14px !important;
  }

  #checkoutModal .checkout-modal-body {
    padding: 14px 14px 18px !important;
  }

  #checkoutModal .co-payment-grid {
    grid-template-columns: 1fr !important;
  }

  #checkoutModal #coNewAddrForm > div[style*="grid-template-columns:1fr 1fr"],
  #checkoutModal #coNewAddrForm > div[style*="grid-template-columns:1fr 1fr 1fr"] {
    grid-template-columns: 1fr !important;
  }

  #checkoutModal .co-place-btn {
    min-height: 52px;
    border-radius: 16px !important;
  }
}

/* ═══════════════════════════════════════════
   ACCOUNT ORDER PAGES FIX
═══════════════════════════════════════════ */

.orders-card {
  background: linear-gradient(180deg, #ffffff 0%, #fffaf6 100%);
  border: 1px solid rgba(240, 223, 214, 0.95);
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 16px 34px rgba(93, 52, 43, 0.08);
  margin-bottom: 16px;
}

.orders-card-head {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) auto auto auto;
  gap: 12px;
  align-items: center;
  padding: 16px 18px;
  border-bottom: 1px solid rgba(240, 223, 214, 0.8);
  background: rgba(255, 246, 240, 0.88);
}

.orders-card-body {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 18px;
}

.orders-status-dot {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 7px 12px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
}

.orders-thumb {
  width: 58px;
  height: 58px;
  border-radius: 16px;
  overflow: hidden;
  flex-shrink: 0;
  background: linear-gradient(145deg, #fff3ee, #ffffff);
  border: 1px solid rgba(240, 223, 214, 0.9);
  box-shadow: 0 8px 18px rgba(93, 52, 43, 0.06);
}

.orders-view-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  min-height: 42px;
  padding: 0 16px;
  border-radius: 14px;
  background: rgba(255, 241, 234, 0.92);
  border: 1px solid rgba(240, 223, 214, 0.95);
  color: var(--maroon);
  text-decoration: none;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .04em;
}

.orders-progress {
  padding: 0 18px 16px;
}

.orders-track {
  height: 8px;
  border-radius: 999px;
  background: #f4e4da;
  overflow: hidden;
}

.orders-track-fill {
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--maroon), var(--rose));
}

.orders-track-labels {
  margin-top: 10px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  font-size: 10px;
  font-weight: 600;
  color: var(--text-light);
  text-align: center;
}

.od-wrap {
  width: min(1120px, calc(100% - 28px));
  margin: 20px auto 32px;
}

.od-card {
  border-radius: 24px;
  border: 1px solid rgba(240, 223, 214, 0.95);
  background: linear-gradient(180deg, #ffffff 0%, #fffaf6 100%);
  box-shadow: 0 16px 34px rgba(93, 52, 43, 0.08);
}

.od-card-head {
  padding: 16px 20px;
  background: rgba(255, 244, 236, 0.9);
}

.od-card-title {
  letter-spacing: .14em;
}

.od-step-dot {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 700;
  box-shadow: 0 8px 18px rgba(93, 52, 43, 0.08);
}

.od-info-val {
  font-size: 14px;
  color: var(--text-dark);
  line-height: 1.8;
}

.od-item-thumb {
  width: 96px;
  height: 96px;
  border-radius: 18px;
  overflow: hidden;
  flex-shrink: 0;
  background: linear-gradient(145deg, #fff3ee, #ffffff);
  border: 1px solid rgba(240, 223, 214, 0.9);
  box-shadow: 0 10px 20px rgba(93, 52, 43, 0.08);
}

.od-summary-row,
.od-total-row {
  gap: 16px;
}

.od-tl-icon {
  width: 38px;
  height: 38px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

@media (max-width: 900px) {
  .orders-card-head {
    grid-template-columns: 1fr auto;
  }

  .orders-card-body {
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .orders-view-btn {
    width: 100%;
  }
}

@media (max-width: 640px) {
  .od-wrap {
    width: calc(100% - 16px);
    margin-top: 14px;
  }

  .orders-card {
    border-radius: 18px;
  }

  .orders-card-head {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 12px 14px;
  }

  .orders-card-body {
    padding: 12px 14px;
    gap: 10px;
  }

  .orders-thumb {
    width: 48px;
    height: 48px;
    border-radius: 12px;
  }

  .orders-track-labels {
    font-size: 9px;
    gap: 4px;
  }

  .od-card {
    border-radius: 18px;
    margin-bottom: 14px;
  }

  .od-card-head {
    padding: 12px 14px;
  }

  .od-item-row {
    align-items: flex-start;
    gap: 10px;
    padding: 12px 0;
  }

  .od-item-thumb {
    width: 72px;
    height: 72px;
    border-radius: 14px;
  }

  .od-info-val {
    font-size: 13px;
    line-height: 1.7;
  }

  .od-step-dot {
    width: 28px;
    height: 28px;
    font-size: 10px;
  }

  .page-header h1[style],
  .page-header p[style] {
    max-width: 100%;
  }
}
