:root {
      /* --primary: #062A23; */
      --primary: #062A23;
      /* Vedore Primary */
      --secondary: #6d211e;
      /* Vedore Secondary */
      --cream: #ffffff;
      /* Vedore Ternary (assuming white) */

      /* Light luxury background system */
      --bg: #fbfaf7;
      --bg-2: #f6f3ee;
      --text: #062A23;
      --muted: rgba(6, 42, 35, .72);

      --border: rgba(6, 42, 35, .14);
      --shadow: 0 18px 40px rgba(6, 42, 35, .08);

      --vedore-primary: var(--primary);
      --vedore-secondary: var(--secondary);
      --vedore-ink: var(--text);
      --vedore-bg: var(--bg);
      --vedore-bg-soft: var(--bg-2);
      --vedore-line: var(--border);
}

@font-face {
      font-family: "TheSeasons";
      src: url("../fonts/TheSeasons.woff") format('woff');
}

/* Base */
body {
      margin: 0;
}

/* Prevent horizontal overflow (common first-load issue) */
html,
body {
      width: 100%;
      overflow-x: hidden;
}

.brand-font {
      font-family: "TheSeasons" !important;
}

/* Ensure media/sections never exceed viewport */
img,
video,
svg,
canvas {
      max-width: 100%;
      height: auto;
}

/* If any section uses absolute pseudo elements, keep it clipped */
.hero,
.ingredients,
.footer {
      overflow-x: clip;
      /* modern */
}

/* fallback for older browsers */
@supports not (overflow-x: clip) {

      .hero,
      .ingredients,
      .footer {
            overflow-x: hidden;
      }
}

html {
      scroll-behavior: smooth;
}

body {
      font-family: "Urbanist", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
      background: var(--bg);
      color: var(--text);
}

.text-primary {
      color: var(--vedore-primary) !important;
}

.text-secondary {
      color: var(--vedore-secondary) !important;
}

.text-justify {
      text-align: justify;
}

/* Headings (fallback for The Seasons) */
.display-title,
.section-title {
      font-family: "The Seasons", "Urbanist", serif;
      letter-spacing: .04em;
}

.display-title {
      font-size: clamp(2.2rem, 4.2vw, 4rem);
      line-height: 1.05;
}

.section-title {
      font-size: clamp(1.6rem, 2.6vw, 2.5rem);
}

/* Reusable helpers */
.section-pad {
      padding: 90px 0;
}

.section-soft {
      background: linear-gradient(180deg, var(--bg-2), var(--bg));
}

.eyebrow {
      letter-spacing: .22em;
      text-transform: uppercase;
      font-size: .78rem;
      margin: 0;
      color: rgba(6, 42, 35, .78);
}

.lead-text {
      font-size: 1.05rem;
      line-height: 1.75;
      color: rgba(6, 42, 35, .85);
}

.muted-text {
      color: var(--muted);
}

.tiny-note {
      font-size: .82rem;
      color: rgba(6, 42, 35, .55);
}

/* Brand */
.brand-mark {
      width: 14px;
      height: 14px;
      border-radius: 4px;
      background: linear-gradient(135deg, var(--secondary), var(--primary));
      display: inline-block;
}

.brand-text {
      font-weight: 700;
      letter-spacing: .18em;
}

/* Navbar */
#mainNavbar {
      transition: background-color .35s ease, box-shadow .35s ease, border-color .35s ease, padding .35s ease;
      padding: 14px 0;
      z-index: 1050;
}

#mainNavbar.nav-transparent {
      background: transparent;
      border-bottom: 1px solid transparent;
}

#mainNavbar.nav-scrolled {
      background: rgba(255, 255, 255, .92);
      border-bottom: 1px solid rgba(6, 42, 35, .10);
      box-shadow: 0 12px 28px rgba(6, 42, 35, .08);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
      padding: 10px 0;
}

#mainNavbar .nav-link {
      color: rgba(6, 42, 35, .86);
      transition: opacity .2s ease, transform .2s ease;
}

#mainNavbar .nav-link:hover {
      opacity: 1;
      transform: translateY(-1px);
}

.navbar-toggler {
      border-color: rgba(6, 42, 35, .22);
}

/* .navbar-toggler-icon { */
/* filter: invert(1) grayscale(1) contrast(2); */
/* } */

/* Buttons */
.btn-vedore-dark {
      background: var(--primary);
      border: 0;
      color: #fff;
      box-shadow: 0 14px 30px rgba(6, 42, 35, .18);
      transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

.btn-vedore-dark:hover {
      transition: 0.3s;
      transform: translateY(-1px);
      box-shadow: 0 18px 40px rgba(6, 42, 35, .22);
      filter: saturate(1.05);
}

.btn-vedore {
      background: linear-gradient(135deg, var(--secondary), #3A0D13);
      border: 0;
      color: #fff;
      box-shadow: 0 14px 30px rgba(6, 42, 35, .18);
      transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

.btn-vedore:hover {
      background: linear-gradient(135deg, #3A0D13, var(--secondary));
      transform: translateY(-1px);
      box-shadow: 0 18px 40px rgba(6, 42, 35, .22);
      filter: saturate(1.05);
      color: var(--cream);
}

.btn-outline-vedore {
      border: 1px solid rgba(6, 42, 35, .24);
      color: var(--primary);
      background: rgba(255, 255, 255, .65);
}

.btn-outline-vedore:hover {
      background: rgba(6, 42, 35, .06);
      border-color: rgba(6, 42, 35, .30);
      color: var(--primary);
}

.btn-vedore-secondary {
      background: var(--primary);
      border: 1px solid var(--primary);
      color: #fff;
      box-shadow: 0 10px 24px rgba(6, 42, 35, .22);
      transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.btn-vedore-secondary:hover {
      background: #0a3d33;
      border-color: #0a3d33;
      color: #fff;
      transform: translateY(-1px);
      box-shadow: 0 16px 36px rgba(6, 42, 35, .30);
}

.btn-vedore-secondary:active {
      transform: translateY(0);
      box-shadow: 0 8px 18px rgba(6, 42, 35, .20);
}

/* HERO */
.hero {
      position: relative;
      min-height: 100vh;
      overflow: hidden;
      background: #fff;
}

/* .hero__video {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
} */

/* HERO BANNER (image instead of video) */
.hero__banner {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      background-size: cover;
      background-position: center center;
      background-repeat: no-repeat;
      z-index: 0;
}

/* Slight premium image softness (optional but recommended) */
.hero__banner::after {
      content: "";
      position: absolute;
      inset: 0;
      background:
            radial-gradient(900px 600px at 30% 40%, rgba(255, 255, 255, .08), transparent 60%);
}


.hero__overlay {
      position: absolute;
      inset: 0;
      /* light overlay to keep it elegant (not dark) */
      background:
            linear-gradient(90deg, rgba(251, 250, 247, .92) 0%, rgba(251, 250, 247, .70) 55%, rgba(251, 250, 247, .40) 100%),
            radial-gradient(900px 600px at 25% 35%, rgba(109, 33, 30, .10), transparent 60%),
            radial-gradient(900px 600px at 70% 60%, rgba(6, 42, 35, .10), transparent 55%);
}

.hero__text-overlay {
      display: inline-block;
      max-width: 640px;
      padding: 22px 22px;
      border-radius: 22px;

      /* light overlay only behind text */
      background:
            linear-gradient(90deg,
                  rgba(251, 250, 247, .92) 0%,
                  rgba(251, 250, 247, .78) 55%,
                  rgba(251, 250, 247, .62) 100%);

      border: 1px solid rgba(6, 42, 35, .12);
      box-shadow: 0 18px 40px rgba(6, 42, 35, .10);
      backdrop-filter: blur(6px);
      -webkit-backdrop-filter: blur(6px);
}





.hero__content {
      position: relative;
      z-index: 2;
}

/* hero points */
.hero-points {
      display: flex;
      gap: 10px;
      flex-wrap: wrap;
}

.hero-point {
      font-size: .92rem;
      padding: 8px 12px;
      border-radius: 999px;
      background: rgba(255, 255, 255, .75);
      border: 1px solid rgba(6, 42, 35, .12);
      color: rgba(6, 42, 35, .80);
}

/* hero product card */
.hero-card {
      background: rgba(255, 255, 255, .88);
      border: 1px solid rgba(6, 42, 35, .12);
      border-radius: 22px;
      box-shadow: var(--shadow);
      padding: 16px;
}

/* price tags */
.price-tag {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 6px 12px;
      border-radius: 999px;
      background: rgba(6, 42, 35, .06);
      border: 1px solid rgba(6, 42, 35, .12);
      color: var(--primary);
      font-weight: 700;
}

.price-tag--big {
      padding: 10px 16px;
      font-size: 1.1rem;
}

/* checklist */
.list-check {
      list-style: none;
      padding-left: 0;
      margin: 0;
}

.list-check li {
      position: relative;
      padding-left: 26px;
      margin-bottom: 10px;
      color: rgba(6, 42, 35, .82);
}

.list-check li::before {
      content: "✓";
      position: absolute;
      left: 0;
      top: 0;
      color: var(--secondary);
      font-weight: 700;
}

/* scroll cue */
.scroll-cue {
      position: absolute;
      left: 50%;
      bottom: 22px;
      transform: translateX(-50%);
      width: 34px;
      height: 54px;
      border-radius: 20px;
      border: 1px solid rgba(6, 42, 35, .18);
      display: flex;
      align-items: flex-start;
      justify-content: center;
      padding-top: 10px;
      z-index: 3;
      opacity: .9;
      background: rgba(255, 255, 255, .60);
}

.scroll-cue span {
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: rgba(6, 42, 35, .55);
      animation: dot 1.4s infinite ease-in-out;
}

@keyframes dot {
      0% {
            transform: translateY(0);
            opacity: .55;
      }

      50% {
            transform: translateY(14px);
            opacity: 1;
      }

      100% {
            transform: translateY(0);
            opacity: .55;
      }
}


/* =========================
   PHILOSOPHY SECTION
========================= */

.philosophy-section {
      position: relative;
      padding: 50px 0 50px;
      background:
            radial-gradient(700px 400px at 20% 0%, rgba(122, 41, 38, 0.08), transparent 60%),
            radial-gradient(700px 400px at 80% 100%, rgba(0, 0, 0, 0.04), transparent 60%),
            #ffffff;
      overflow: hidden;
}

/* subtle divider from hero */
.philosophy-section::before {
      content: "";
      position: absolute;
      top: 0;
      left: 50%;
      transform: translateX(-50%);
      width: 80px;
      height: 2px;
      background: linear-gradient(90deg, transparent, var(--primary), transparent);
      opacity: 0.4;
}

/* Eyebrow */
.philosophy-eyebrow {
      letter-spacing: 0.18em;
      text-transform: uppercase;
      font-size: 0.75rem;
      color: var(--primary);
      opacity: 0.75;
}

/* Title */
.philosophy-title {
      font-size: 2.6rem;
      font-weight: 600;
      line-height: 1.3;
      color: #111;
}

.philosophy-title span {
      color: var(--primary);
}

/* Body text */
.philosophy-text {
      font-size: 1rem;
      line-height: 1.8;
      color: #555;
      max-width: 640px;
      margin: 0 auto;
}

/* Highlight ending */
.philosophy-highlight {
      font-size: 1.1rem;
      line-height: 1.8;
      color: #111;
}

.philosophy-highlight strong {
      color: var(--primary);
      font-weight: 600;
}

/* =========================
   MOBILE
========================= */

@media (max-width: 768px) {

      .philosophy-section {
            padding: 80px 0 60px;
      }

      .philosophy-title {
            font-size: 2rem;
      }

      .philosophy-text {
            font-size: 0.95rem;
      }

      .philosophy-highlight {
            font-size: 1rem;
      }
}

.philosophy-title span {
      position: relative;
}

.philosogy-title span::after {
      content: "";
      position: absolute;
      bottom: -4px;
      left: 0;
      width: 100%;
      height: 2px;
      background: var(--primary);
      opacity: 0.3;
}

/* =========================
   INVITE SECTION
========================= */

.invite-section {
      position: relative;
      padding: 50px 0;
      background:
            radial-gradient(800px 500px at 50% 0%, rgba(122, 41, 38, 0.08), transparent 60%),
            linear-gradient(180deg, #fafafa 0%, #ffffff 100%);
      overflow: hidden;
}

/* subtle glow behind content */
.invite-section::before {
      content: "";
      position: absolute;
      width: 300px;
      height: 300px;
      background: radial-gradient(circle, rgba(122, 41, 38, 0.12), transparent 70%);
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      filter: blur(60px);
      z-index: 0;
}

/* content layering */
.invite-section .container {
      position: relative;
      z-index: 1;
}

/* Eyebrow */
.invite-eyebrow {
      letter-spacing: 0.18em;
      text-transform: uppercase;
      font-size: 0.75rem;
      color: var(--primary);
      opacity: 0.75;
}

/* Title */
.invite-title {
      font-size: 2.4rem;
      font-weight: 600;
      color: #111;
}

/* Text */
.invite-text {
      font-size: 1rem;
      color: #555;
      line-height: 1.8;
}

/* CTA Button (premium effect) */
.invite-btn {
      border-radius: 50px;
      font-weight: 600;
      letter-spacing: 0.03em;
      position: relative;
      overflow: hidden;
      transition: all 0.35s ease;
}

/* subtle hover luxury glow */
.invite-btn:hover {
      transform: translateY(-2px);
      box-shadow: 0 10px 30px rgba(122, 41, 38, 0.25);
}

/* =========================
   MOBILE
========================= */

@media (max-width: 768px) {

      .invite-section {
            padding: 80px 0;
      }

      .invite-title {
            font-size: 1.9rem;
      }

      .invite-text {
            font-size: 0.95rem;
      }

      .invite-btn {
            width: 100%;
      }
}


/* INGREDIENTS (Seamless, Primary background) */
.ingredients {
      padding: 90px 0;
      background:
            radial-gradient(900px 500px at 15% 0%, rgba(255, 255, 255, .10), transparent 60%),
            radial-gradient(900px 500px at 85% 20%, rgba(255, 255, 255, .08), transparent 55%),
            linear-gradient(180deg,
                  #0c3b33 0%,
                  var(--primary) 55%,
                  #041f1a 100%);
      color: rgba(255, 255, 255, .92);
      border-top: 1px solid rgba(255, 255, 255, .14);
      position: relative;
      overflow: hidden;
      min-height: 700px;
}

/* subtle premium lighting */
.ingredients::before {
      content: "";
      position: absolute;
      inset: 0;
      /* changed from -2px */
      transform: scale(1.02);
      /* gives the same “bleed” without overflow */
      transform-origin: center;
      background:
            radial-gradient(900px 500px at 20% 10%, rgba(255, 255, 255, .10), transparent 60%),
            radial-gradient(900px 500px at 80% 40%, rgba(109, 33, 30, .16), transparent 55%),
            radial-gradient(900px 500px at 40% 90%, rgba(255, 255, 255, .06), transparent 60%);
      pointer-events: none;
}

.ingredients .container {
      /* Relative removed for full-bleed absolute child */
      z-index: 1;
}

/* Typography */
.ingredients-eyebrow {
      letter-spacing: .22em;
      text-transform: uppercase;
      font-size: .78rem;
      color: rgba(255, 255, 255, .78);
}

.ingredients-title {
      font-family: "The Seasons", "Urbanist", serif;
      letter-spacing: .04em;
      font-size: clamp(1.7rem, 2.8vw, 2.6rem);
      line-height: 1.15;
      color: #fff;
}

.ingredients-sub {
      color: rgba(255, 255, 255, .80);
      line-height: 1.75;
      max-width: 560px;
}

/* Seamless list (no boxes) */
.ingredients-list {
      list-style: none;
      padding: 0;
      margin: 0;
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 24px 20px;
}

@media (max-width: 575px) {
      .ingredients-list {
            grid-template-columns: 1fr;
            gap: 16px;
      }
}

.ingredients-list li {
      display: flex;
      gap: 12px;
      align-items: flex-start;
      padding: 0;
      /* no boxes */
}

.ingredients-list .dot {
      width: 10px;
      height: 10px;
      border-radius: 999px;
      margin-top: 8px;
      background: rgba(255, 255, 255, .70);
      box-shadow: 0 10px 18px rgba(0, 0, 0, .18);
}

.ingredients-list .name {
      font-weight: 700;
      color: #fff;
}

.ingredients-list .desc {
      font-size: .95rem;
      color: rgba(255, 255, 255, .78);
      line-height: 1.6;
      margin-top: 2px;
}

.ingredients-cta {
      display: flex;
      gap: 14px;
      flex-wrap: wrap;
      align-items: center;
}

.ingredients-note {
      font-size: .85rem;
      color: rgba(255, 255, 255, .70);
}

/* caption */
.ingredient-slide .cap {
      position: absolute;
      left: 14px;
      right: 14px;
      bottom: 14px;
      padding: 14px 14px;
      border-radius: 18px;
      background: linear-gradient(180deg, rgba(0, 0, 0, .05), rgba(0, 0, 0, .45));
      border: 1px solid rgba(255, 255, 255, .18);
      backdrop-filter: blur(6px);
      -webkit-backdrop-filter: blur(6px);
}

.cap-title {
      color: #fff;
      font-weight: 800;
      letter-spacing: .02em;
}

.cap-sub {
      color: rgba(255, 255, 255, .80);
      font-size: .92rem;
      margin-top: 2px;
}

/* Ingredients carousel (no box, seamless) */
.ingredients-carousel {
      position: relative;
      height: 100%;
}

/* Slide */
.ingredient-slide {
      position: relative;
      border-radius: 0;
      overflow: hidden;
      height: 100%;
}

/* Image */
.ingredient-slide img {
      width: 100%;
      height: 100%;
      min-height: 480px;
      object-fit: cover;
      display: block;
}

/* Caption overlay */
.ingredient-slide .cap {
      position: absolute;
      left: 18px;
      right: 18px;
      bottom: 18px;
      padding: 14px 16px;
      border-radius: 18px;

      background: linear-gradient(180deg,
                  rgba(0, 0, 0, .05),
                  rgba(0, 0, 0, .45));

      backdrop-filter: blur(6px);
      -webkit-backdrop-filter: blur(6px);
}

.cap-title {
      color: #fff;
      font-weight: 800;
      letter-spacing: .02em;
}

.cap-sub {
      color: rgba(255, 255, 255, .80);
      font-size: .92rem;
      margin-top: 2px;
}

/* Fade timing refinement */
.carousel-fade .carousel-item {
      transition: opacity 1.2s ease-in-out;
}

@media (min-width: 992px) {
      .ingredients {
            display: flex;
            align-items: center;
            padding: 0;
            /* Remove padding to be full height */
      }

      .ingredients-right-col {
            position: absolute !important;
            top: 0;
            bottom: 0;
            right: 0;
            width: 50% !important;
            padding: 0 !important;
            margin: 0 !important;
            z-index: 0;
      }

      .ingredients-left-col {
            position: relative;
            z-index: 2;
            padding-top: 90px;
            padding-bottom: 90px;
      }
}

/* Mobile adjustment */
@media (max-width: 991px) {
      .ingredient-slide img {
            height: 360px !important;
            min-height: auto;
      }
}


/* Interactive Product Section */
.product-interactive {
      position: relative;
      overflow: hidden;
      background: var(--bg);
}

.product-img-wrapper {
      height: 100%;
      min-height: 480px;
}

@media (min-width: 992px) {
      .product-img-wrapper {
            min-height: 100vh;
      }

      .product-content-wrapper {
            padding-left: 10% !important;
            padding-right: 5% !important;
            max-width: 720px;
            margin: 0 auto;
      }
}

.product-full-img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
}

/* Glass Badge */
.product-glass-badge {
      position: absolute;
      bottom: 40px;
      left: 40px;
      background: rgba(255, 255, 255, 0.15);
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
      border: 1px solid rgba(255, 255, 255, 0.25);
      padding: 12px 24px;
      border-radius: 30px;
      color: #fff;
      font-weight: 600;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      font-size: 0.85rem;
      box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
      animation: floatBadge 4s ease-in-out infinite;
      z-index: 2;
}

@keyframes floatBadge {

      0%,
      100% {
            transform: translateY(0);
      }

      50% {
            transform: translateY(-10px);
      }
}

/* Interactive Grid & Cards */
.interactive-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 20px;
}

@media (max-width: 575px) {
      .interactive-grid {
            grid-template-columns: 1fr;
      }
}

.i-card {
      background: rgba(255, 255, 255, 0.6);
      border: 1px solid rgba(6, 42, 35, 0.08);
      border-radius: 20px;
      padding: 22px;
      position: relative;
      overflow: hidden;
      transition: all 0.45s cubic-bezier(0.165, 0.84, 0.44, 1);
      cursor: crosshair;
}

.i-card::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: linear-gradient(135deg, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.2) 100%);
      opacity: 0;
      transition: opacity 0.45s ease;
      z-index: 1;
}

.i-card-inner {
      position: relative;
      z-index: 2;
}

.i-card:hover {
      transform: translateY(-6px);
      box-shadow: 0 18px 35px rgba(6, 42, 35, 0.12);
      background: rgba(255, 255, 255, 0.9);
      border-color: rgba(6, 42, 35, 0.2);
}

.i-card:hover::before {
      opacity: 1;
}

.i-card .fw-semibold {
      color: var(--primary);
      transition: transform 0.3s ease;
}

.i-card-back p {
      color: var(--muted);
      max-height: 0;
      opacity: 0;
      overflow: hidden;
      margin-top: 0;
      transition: all 0.45s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.i-card:hover .i-card-back p {
      max-height: 50px;
      opacity: 1;
      margin-top: 8px;
}

.i-card:hover .fw-semibold {
      transform: translateY(-2px);
}

.mini-dot {
      width: 10px;
      height: 10px;
      border-radius: 999px;
      background: var(--secondary);
}

/* Button pulse effect */
.i-btn {
      transition: all 0.3s ease;
      position: relative;
      overflow: hidden;
      box-shadow: 0 10px 20px rgba(6, 42, 35, 0.15);
}

.i-btn::after {
      content: '';
      position: absolute;
      top: 50%;
      left: 50%;
      width: 0;
      height: 0;
      background: radial-gradient(circle, rgba(255, 255, 255, 0.4) 0%, transparent 70%);
      transform: translate(-50%, -50%);
      transition: width 0.5s ease, height 0.5s ease;
      border-radius: 50%;
}

.i-btn:hover::after {
      width: 300px;
      height: 300px;
}

/* =========================
   REVIEWS (Luxury Grid)
========================= */
.reviews-luxury {
      background: #ffffff;
      color: var(--primary);
      overflow: hidden;
      position: relative;
      border-top: 1px solid rgba(6, 42, 35, 0.05);
}

.reviews-luxury .section-title {
      color: #111;
}

.review-stats .stars {
      color: #d4af37;
      /* Gold */
      font-size: 1.2rem;
}

.review-stats .fw-bold {
      color: var(--primary);
}

.review-stats .muted-text {
      color: #666;
}

.luxury-review-card {
      background: #ffffff;
      border: 1px solid rgba(6, 42, 35, 0.08);
      box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
      border-radius: 30px;
      padding: 45px 40px;
      height: 100%;
      display: flex;
      flex-direction: column;
      transition: all 0.45s cubic-bezier(0.165, 0.84, 0.44, 1);
      position: relative;
}

.luxury-review-card:hover {
      transform: translateY(-10px);
      border-color: rgba(6, 42, 35, 0.15);
      box-shadow: 0 25px 50px rgba(6, 42, 35, 0.1);
}

.quote-icon {
      font-family: "The Seasons", serif;
      font-size: 6rem;
      line-height: 1;
      color: rgba(6, 42, 35, 0.05);
      position: absolute;
      top: 10px;
      left: 30px;
      pointer-events: none;
}

.review-content {
      font-size: 1.15rem;
      line-height: 1.8;
      color: #444;
      margin-bottom: 35px;
      position: relative;
      z-index: 1;
      font-style: italic;
}

.review-footer {
      margin-top: auto;
      display: flex;
      align-items: center;
      gap: 16px;
}

.author-avatar {
      width: 52px;
      height: 52px;
      background: linear-gradient(135deg, #d4af37, #b8860b);
      color: #fff;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      font-weight: 800;
      font-size: 0.95rem;
      letter-spacing: 0.05em;
      box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
      border: 2px solid #fff;
}

.author-name {
      font-weight: 700;
      font-size: 1.05rem;
      color: var(--primary);
      letter-spacing: 0.02em;
}

.verified-status {
      font-size: 0.8rem;
      color: #d4af37;
      display: flex;
      align-items: center;
      gap: 5px;
      margin-top: 3px;
      text-transform: uppercase;
      letter-spacing: 0.05em;
      font-weight: 600;
}

@media (max-width: 991px) {
      .review-stats {
            text-align: left;
            margin-top: 15px;
      }

      .luxury-review-card {
            padding: 35px 30px;
      }
}

/* Footer */
/* FOOTER (no boxes) */
.footer {
      /* Using Vedore Primary as base, elegant luxury gradient */
      background:
            radial-gradient(900px 500px at 15% 0%, rgba(255, 255, 255, .10), transparent 60%),
            radial-gradient(900px 500px at 85% 20%, rgba(255, 255, 255, .08), transparent 55%),
            linear-gradient(180deg,
                  #0c3b33 0%,
                  var(--primary) 55%,
                  #041f1a 100%);
      color: rgba(255, 255, 255, .92);
      border-top: 1px solid rgba(255, 255, 255, .14);
}

.footer-top {
      padding: 70px 0 40px;
}

.footer-brand .brand-text {
      color: #fff;
}

.footer-tagline {
      color: rgba(255, 255, 255, .82);
      max-width: 360px;
      line-height: 1.7;
}

.footer-title {
      letter-spacing: .14em;
      text-transform: uppercase;
      font-size: .78rem;
      color: rgba(255, 255, 255, .78);
      margin-bottom: 12px;
}

.footer-links li {
      margin-bottom: 10px;
}

.footer-links a {
      color: rgba(255, 255, 255, .86);
      text-decoration: none;
      transition: opacity .2s ease, transform .2s ease;
}

.footer-links a:hover {
      opacity: 1;
      transform: translateX(2px);
      color: #fff;
}

.footer-social-link {
      color: rgba(255, 255, 255, .86);
      text-decoration: none;
      border-bottom: 1px solid rgba(255, 255, 255, .25);
      padding-bottom: 2px;
}

.footer-social-link:hover {
      color: #fff;
      border-bottom-color: rgba(255, 255, 255, .55);
}

.footer-divider {
      border-color: rgba(255, 255, 255, .16);
      margin: 0;
}

.footer-bottom {
      padding: 18px 0 22px;
}

.footer-bottom-text {
      color: rgba(255, 255, 255, .80);
}

.footer-mini-link {
      color: rgba(255, 255, 255, .86);
      text-decoration: none;
}

.footer-mini-link:hover {
      color: #fff;
      text-decoration: underline;
}

@media (min-width: 1200px) {
      .footer {
            background-attachment: fixed;
      }
}

/* Instagram grid in footer (subtle, premium) */
.ig-grid--footer {
      gap: 10px;
}

.ig-tile--footer {
      border: 1px solid rgba(255, 255, 255, .18);
      border-radius: 14px;
}

.ig-tile--footer img {
      transition: transform .25s ease, filter .25s ease;
}

.ig-tile--footer:hover img {
      transform: scale(1.06);
      filter: saturate(1.05);
}

/* Instagram grid */
.ig-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 8px;
}

.ig-tile {
      display: block;
      border-radius: 14px;
      overflow: hidden;
      border: 1px solid rgba(6, 42, 35, .10);
}

.ig-tile img {
      width: 100%;
      height: 100%;
      aspect-ratio: 1 / 1;
      object-fit: cover;
      transition: transform .25s ease;
}

.ig-tile:hover img {
      transform: scale(1.06);
}

/* OPTIONAL: Glass effect class for Bootstrap modals only */
.glass {
      background: rgba(255, 255, 255, 0.10);
      border: 1px solid rgba(255, 255, 255, 0.18);
      box-shadow: 0 18px 40px rgba(0, 0, 0, .20);
      backdrop-filter: blur(14px);
      -webkit-backdrop-filter: blur(14px);
      border-radius: 22px;
}

/* Mobile overlay adjust */
@media (max-width: 991px) {
      .hero__overlay {
            background:
                  linear-gradient(180deg, rgba(251, 250, 247, .92) 0%, rgba(251, 250, 247, .78) 60%, rgba(251, 250, 247, .55) 100%),
                  radial-gradient(900px 600px at 25% 35%, rgba(109, 33, 30, .10), transparent 60%),
                  radial-gradient(900px 600px at 70% 60%, rgba(6, 42, 35, .10), transparent 55%);
      }
}

/* =========================
   POLICY PAGES (VEDORÉ)
   ========================= */
.policy-page {
      background: var(--bg);
      color: var(--text);
}

.policy-hero {
      padding: 110px 0 38px;
      background:
            radial-gradient(900px 500px at 20% 10%, rgba(109, 33, 30, .10), transparent 60%),
            radial-gradient(900px 500px at 80% 30%, rgba(6, 42, 35, .10), transparent 55%),
            linear-gradient(180deg, #ffffff 0%, var(--bg) 100%);
      border-bottom: 1px solid rgba(6, 42, 35, .08);
}

.policy-title {
      font-family: "The Seasons", "Urbanist", serif;
      letter-spacing: .04em;
      font-size: clamp(1.9rem, 3vw, 2.7rem);
      line-height: 1.15;
      margin: 0;
}

.policy-meta {
      margin-top: 10px;
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      color: rgba(6, 42, 35, .68);
      font-size: .92rem;
}

.policy-chip {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 7px 12px;
      /* border-radius: 999px; */
      /* border: 1px solid rgba(6, 42, 35, .12); */
      /* background: rgba(255, 255, 255, .75); */
}

.policy-wrap {
      padding: 28px 0 80px;
}

.policy-card {
      background: #fff;
      border: 1px solid rgba(6, 42, 35, .10);
      border-radius: 22px;
      box-shadow: 0 16px 38px rgba(6, 42, 35, .06);
      padding: 18px 18px;
}

.policy-content h2 {
      font-family: "The Seasons", "Urbanist", serif;
      letter-spacing: .03em;
      font-size: 1.35rem;
      margin: 22px 0 10px;
}

.policy-content h3 {
      font-size: 1.05rem;
      margin: 16px 0 8px;
      font-weight: 700;
}

.policy-content p,
.policy-content li {
      color: rgba(6, 42, 35, .80);
      line-height: 1.75;
}

.policy-content ul {
      padding-left: 1.1rem;
      margin-bottom: 14px;
}

.policy-content hr {
      border-color: rgba(6, 42, 35, .10);
      margin: 18px 0;
}

/* Right TOC */
.policy-toc {
      position: sticky;
      top: 92px;
      /* below navbar */
      border: 1px solid rgba(6, 42, 35, .10);
      border-radius: 18px;
      background: rgba(255, 255, 255, .85);
      box-shadow: 0 14px 30px rgba(6, 42, 35, .06);
      overflow: hidden;
}

.policy-toc__head {
      padding: 14px 14px;
      border-bottom: 1px solid rgba(6, 42, 35, .08);
      display: flex;
      align-items: center;
      justify-content: space-between;
}

.policy-toc__title {
      margin: 0;
      font-size: .86rem;
      letter-spacing: .18em;
      text-transform: uppercase;
      color: rgba(6, 42, 35, .72);
      font-weight: 700;
}

.policy-toc a {
      display: block;
      padding: 10px 14px;
      text-decoration: none;
      color: rgba(6, 42, 35, .78);
      border-left: 3px solid transparent;
      transition: background .2s ease, border-color .2s ease, color .2s ease;
}

.policy-toc a:hover {
      background: rgba(6, 42, 35, .04);
      color: var(--primary);
}

.policy-toc a.active {
      background: rgba(109, 33, 30, .06);
      border-left-color: var(--secondary);
      color: var(--primary);
      font-weight: 600;
}

/* Mobile TOC accordion */
.policy-toc-mobile .accordion-button {
      font-weight: 700;
      letter-spacing: .08em;
      text-transform: uppercase;
      font-size: .82rem;
      color: rgba(6, 42, 35, .78);
}

.policy-toc-mobile .accordion-button:not(.collapsed) {
      background: rgba(6, 42, 35, .04);
      color: var(--primary);
}

.policy-toc-mobile .accordion-body a {
      display: block;
      padding: 8px 0;
      text-decoration: none;
      color: rgba(6, 42, 35, .80);
}

.policy-toc-mobile .accordion-body a:hover {
      color: var(--primary);
      text-decoration: underline;
}

/* “Policy Updates” callout */
.policy-callout {
      margin-top: 20px;
      border-radius: 18px;
      padding: 14px 14px;
      background: linear-gradient(135deg, rgba(109, 33, 30, .08), rgba(6, 42, 35, .06));
      border: 1px solid rgba(6, 42, 35, .12);
}

.policy-callout b {
      color: var(--primary);
}

/* keep policy pages from causing overflow */
.policy-page,
.policy-hero,
.policy-wrap {
      overflow-x: clip;
}

@supports not (overflow-x: clip) {

      .policy-page,
      .policy-hero,
      .policy-wrap {
            overflow-x: hidden;
      }
}


/* =========================
   FAQ PAGE (MATCHES SITE)
   ========================= */

.faq-page {
      background: var(--bg);
      color: var(--text);
}

/* Hero spacing aligns with policy pages / site navbar height */
.faq-hero {
      padding: 110px 0 34px;
      background:
            radial-gradient(900px 500px at 20% 10%, rgba(109, 33, 30, .10), transparent 60%),
            radial-gradient(900px 500px at 80% 30%, rgba(6, 42, 35, .10), transparent 55%),
            linear-gradient(180deg, #ffffff 0%, var(--bg) 100%);
      border-bottom: 1px solid rgba(6, 42, 35, .08);
}

@media (max-width: 575.98px) {
      .faq-hero {
            padding: 98px 0 24px;
      }
}

.faq-kicker {
      letter-spacing: .22em;
      text-transform: uppercase;
      font-size: .78rem;
      margin: 0;
      color: rgba(6, 42, 35, .78);
      font-weight: 700;
}

.faq-title {
      font-family: "The Seasons", "Urbanist", serif;
      letter-spacing: .04em;
      font-size: clamp(1.9rem, 3vw, 2.7rem);
      line-height: 1.15;
      margin: 10px 0 8px;
      color: var(--secondary);
}

.faq-subtitle {
      margin: 0;
      max-width: 62ch;
      color: rgba(6, 42, 35, .70);
      line-height: 1.75;
}

/* Toolbar */
.faq-toolbar {
      margin-top: 18px;
      border: 1px solid var(--border);
      background: rgba(255, 255, 255, .75);
      border-radius: 18px;
      padding: 14px;
      box-shadow: 0 14px 30px rgba(6, 42, 35, .06);
}

.faq-search-wrap {
      position: relative;
}

.faq-search-icon {
      position: absolute;
      left: 14px;
      top: 50%;
      transform: translateY(-50%);
      color: rgba(6, 42, 35, .50);
      pointer-events: none;
}

.faq-search-input {
      border-radius: 999px;
      border: 1px solid rgba(6, 42, 35, .16);
      padding: 12px 14px;
      padding-left: 44px;
      background: #fff;
}

.faq-count {
      margin-top: 6px;
      color: rgba(6, 42, 35, .55);
      font-weight: 600;
      font-size: .92rem;
}

/* Chips */
.faq-chips {
      gap: 10px;
      flex-wrap: wrap;
}

.faq-chip {
      border: 1px solid rgba(6, 42, 35, .16);
      background: rgba(255, 255, 255, .70);
      color: rgba(6, 42, 35, .72);
      padding: 8px 12px;
      border-radius: 999px;
      font-weight: 700;
      font-size: .9rem;
      text-decoration: none;
      display: inline-flex;
      align-items: center;
      transition: transform .12s ease, border-color .12s ease, color .12s ease;
}

.faq-chip:hover {
      transform: translateY(-1px);
      border-color: rgba(6, 42, 35, .28);
      color: var(--primary);
}

/* Section headings */
.faq-section {
      padding: 22px 0;
}

.faq-section-title {
      font-family: "The Seasons", "Urbanist", serif;
      letter-spacing: .03em;
      font-size: 1.35rem;
      margin: 0 0 10px;
      color: var(--primary);
}

.faq-section-note {
      margin: 0 0 14px;
      color: rgba(6, 42, 35, .65);
}

/* Accordion (seamless like policy cards) */
.faq-acc {
      --bs-accordion-border-color: transparent;
      --bs-accordion-bg: transparent;
      --bs-accordion-btn-bg: rgba(255, 255, 255, .85);
      --bs-accordion-btn-color: rgba(6, 42, 35, .88);
      --bs-accordion-active-bg: rgba(255, 255, 255, .95);
      --bs-accordion-active-color: var(--primary);
      --bs-accordion-btn-focus-box-shadow: none;
}

.faq-acc .accordion-item {
      border: 1px solid rgba(6, 42, 35, .10);
      background: rgba(255, 255, 255, .82);
      border-radius: 18px;
      overflow: hidden;
      margin-bottom: 12px;
      box-shadow: 0 12px 26px rgba(6, 42, 35, .05);
}

.faq-acc .accordion-button {
      padding: 16px 18px;
      font-weight: 800;
      letter-spacing: .01em;
}

.faq-acc .accordion-body {
      padding: 0 18px 16px;
      color: rgba(6, 42, 35, .78);
      line-height: 1.75;
}

/* Callout */
.faq-callout {
      border-left: 3px solid var(--secondary);
      padding: 10px 12px;
      background: rgba(109, 33, 30, .06);
      border-radius: 12px;
      color: rgba(6, 42, 35, .72);
      margin-top: 12px;
}

/* =========================
   CONTACT PAGE (VEDORE)
   ========================= */

.contact-page {
      background: var(--bg);
      color: var(--text);
}

/* Hero */
.contact-hero {
      padding: 110px 0 34px;
      background:
            radial-gradient(900px 500px at 20% 10%, rgba(109, 33, 30, .10), transparent 60%),
            radial-gradient(900px 500px at 80% 30%, rgba(6, 42, 35, .10), transparent 55%),
            linear-gradient(180deg, #ffffff 0%, var(--bg) 100%);
      border-bottom: 1px solid rgba(6, 42, 35, .08);
}

@media (max-width: 575.98px) {
      .contact-hero {
            padding: 98px 0 24px;
      }
}

.contact-kicker {
      letter-spacing: .22em;
      text-transform: uppercase;
      font-size: .78rem;
      margin: 0;
      color: rgba(6, 42, 35, .78);
      font-weight: 700;
}

.contact-title {
      font-family: "The Seasons", "Urbanist", serif;
      letter-spacing: .04em;
      font-size: clamp(1.9rem, 3vw, 2.7rem);
      line-height: 1.15;
      margin: 10px 0 8px;
      color: var(--secondary);
}

.contact-subtitle {
      margin: 0;
      max-width: 66ch;
      color: rgba(6, 42, 35, .70);
      line-height: 1.75;
}

/* Panels */
.contact-panel,
.contact-form-wrap {
      border: 1px solid rgba(6, 42, 35, .10);
      background: rgba(255, 255, 255, .82);
      border-radius: 18px;
      padding: 18px;
      box-shadow: 0 12px 26px rgba(6, 42, 35, .05);
}

.contact-panel-title {
      font-family: "The Seasons", "Urbanist", serif;
      letter-spacing: .03em;
      font-size: 1.35rem;
      margin: 0 0 10px;
      color: var(--primary);
}

.contact-panel-text {
      margin: 0 0 14px;
      color: rgba(6, 42, 35, .70);
      line-height: 1.7;
}

/* Info rows */
.contact-info {
      display: grid;
      gap: 12px;
      margin-top: 6px;
}

.contact-info-row {
      padding: 12px 12px;
      border: 1px solid rgba(6, 42, 35, .10);
      border-radius: 14px;
      background: rgba(255, 255, 255, .70);
}

.contact-info-label {
      font-size: .85rem;
      color: rgba(6, 42, 35, .62);
      font-weight: 700;
      letter-spacing: .08em;
      text-transform: uppercase;
      margin-bottom: 4px;
}

.contact-info-value {
      color: rgba(6, 42, 35, .88);
      font-weight: 700;
      text-decoration: none;
}

.contact-info-value:hover {
      color: var(--primary);
      text-decoration: underline;
}

/* Notes */
.contact-note {
      margin-top: 14px;
      border-left: 3px solid var(--secondary);
      padding: 10px 12px;
      background: rgba(109, 33, 30, .06);
      border-radius: 12px;
      color: rgba(6, 42, 35, .72);
}

.contact-note a {
      color: var(--primary);
      font-weight: 700;
}

/* Form inputs */
.contact-form .form-label {
      font-weight: 800;
      color: rgba(6, 42, 35, .78);
      letter-spacing: .02em;
}

.contact-input {
      border-radius: 14px;
      border: 1px solid rgba(6, 42, 35, .14);
      padding: 12px 12px;
      background: rgba(255, 255, 255, .95);
}

.contact-input:focus {
      border-color: rgba(6, 42, 35, .30);
      box-shadow: 0 0 0 0.2rem rgba(6, 42, 35, .08);
}

.contact-privacy {
      color: rgba(6, 42, 35, .62);
      font-weight: 600;
      font-size: .95rem;
}

.contact-privacy a {
      color: var(--primary);
      font-weight: 700;
      text-decoration: none;
}

.contact-privacy a:hover {
      text-decoration: underline;
}

/* Parsley error styling (matches theme) */
.parsley-errors-list {
      margin: 6px 0 0;
      padding: 0;
      list-style: none;
      color: var(--secondary);
      font-weight: 700;
      font-size: .92rem;
}

input.parsley-error,
select.parsley-error,
textarea.parsley-error {
      border-color: rgba(109, 33, 30, .55) !important;
      background: rgba(109, 33, 30, .04) !important;
}

input.parsley-success,
select.parsley-success,
textarea.parsley-success {
      border-color: rgba(6, 42, 35, .30) !important;
}

/* =========================
   GLASS AUTH MODALS
   ========================= */

.glass-modal {
      border-radius: 18px;
      border: 1px solid rgba(255, 255, 255, .20);
      background: rgba(6, 42, 35, .55);
      /* matches your primary tone */
      backdrop-filter: blur(14px);
      -webkit-backdrop-filter: blur(14px);
      box-shadow: 0 20px 60px rgba(0, 0, 0, .35);
      overflow: hidden;
}

.glass-title {
      color: #fff;
      font-weight: 800;
      letter-spacing: .02em;
}

.glass-subtitle {
      color: rgba(255, 255, 255, .78);
      line-height: 1.7;
}

.glass-label {
      color: rgba(255, 255, 255, .82);
      font-weight: 700;
      font-size: .92rem;
}

.glass-help {
      display: block;
      margin-top: 6px;
      color: rgba(255, 255, 255, .68);
}

.glass-input {
      border-radius: 14px;
      background: rgba(255, 255, 255, .10);
      border: 1px solid rgba(255, 255, 255, .22);
      color: #fff;
      padding: 12px 12px;
}

.glass-input::placeholder {
      color: rgba(255, 255, 255, .55);
}

.glass-input:focus {
      background: rgba(255, 255, 255, .14);
      border-color: rgba(255, 255, 255, .40);
      box-shadow: 0 0 0 .2rem rgba(255, 255, 255, .10);
      color: #fff;
}

/* Primary button */
.glass-btn-primary {
      border-radius: 999px;
      padding: 12px 14px;
      font-weight: 800;
      border: 1px solid rgba(255, 255, 255, .26);
      background: rgba(255, 255, 255, .18);
      color: #fff;
      transition: transform .12s ease, background .12s ease, border-color .12s ease;
}

.glass-btn-primary:hover {
      transform: translateY(-1px);
      background: rgba(255, 255, 255, .24);
      border-color: rgba(255, 255, 255, .34);
      color: #fff;
}

.glass-muted {
      color: rgba(255, 255, 255, .72);
}

.glass-link {
      color: rgba(255, 255, 255, .92);
      font-weight: 800;
      text-decoration: none;
      border-bottom: 1px solid rgba(255, 255, 255, .25);
      padding-bottom: 1px;
}

.glass-link:hover {
      color: #fff;
      border-bottom-color: rgba(255, 255, 255, .55);
}

/* OTP boxes */
.otp-wrap {
      display: grid;
      grid-template-columns: repeat(6, 1fr);
      gap: 10px;
}

.otp-box {
      width: 100%;
      height: 46px;
      border-radius: 12px;
      border: 1px solid rgba(255, 255, 255, .22);
      background: rgba(255, 255, 255, .10);
      color: #fff;
      text-align: center;
      font-size: 1.05rem;
      font-weight: 800;
      outline: none;
}

.otp-box:focus {
      border-color: rgba(255, 255, 255, .42);
      box-shadow: 0 0 0 .2rem rgba(255, 255, 255, .10);
      background: rgba(255, 255, 255, .14);
}

@media (max-width: 420px) {
      .otp-wrap {
            gap: 8px;
      }

      .otp-box {
            height: 44px;
            border-radius: 10px;
      }
}

/* =========================
   ABOUT PAGE (MODERN, CREATIVE)
   ========================= */

.about-page {
      background: var(--bg);
      color: var(--text);
}

.min-vh-60 {
      min-height: 60vh;
}

/* Hero */
.about-hero {
      padding-top: 86px;
      /* navbar offset */
      background:
            radial-gradient(900px 520px at 20% 8%, rgba(6, 42, 35, .10), transparent 55%),
            radial-gradient(900px 520px at 85% 15%, rgba(109, 33, 30, .10), transparent 58%),
            linear-gradient(180deg, #ffffff 0%, var(--bg) 100%);
      border-bottom: 1px solid rgba(6, 42, 35, .08);
}

.about-eyebrow {
      letter-spacing: .22em;
      text-transform: uppercase;
      font-size: .78rem;
      color: rgba(6, 42, 35, .70);
      font-weight: 700;
}

.about-title {
      font-family: "The Seasons", "Urbanist", serif;
      letter-spacing: .04em;
      font-size: clamp(2.0rem, 3.4vw, 3.1rem);
      line-height: 1.08;
      color: var(--primary);
}

.about-lead {
      max-width: 64ch;
      color: rgba(6, 42, 35, .74);
      line-height: 1.8;
      font-size: 1.05rem;
}

/* Metrics */
.about-metrics {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 12px;
      max-width: 560px;
}

.metric {
      border: 1px solid rgba(6, 42, 35, .10);
      border-radius: 16px;
      background: rgba(255, 255, 255, .80);
      padding: 12px 12px;
      box-shadow: 0 12px 26px rgba(6, 42, 35, .05);
}

.metric-val {
      font-weight: 900;
      letter-spacing: .08em;
      color: var(--secondary);
}

.metric-label {
      font-weight: 700;
      color: rgba(6, 42, 35, .72);
      margin-top: 2px;
}

/* Hero card */
.about-hero-card {
      border: 1px solid rgba(6, 42, 35, .10);
      background: rgba(255, 255, 255, .84);
      border-radius: 22px;
      padding: 16px;
      box-shadow: 0 16px 40px rgba(6, 42, 35, .08);
}

.about-hero-card__top {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      gap: 12px;
      margin-bottom: 12px;
}

.about-card-kicker {
      letter-spacing: .18em;
      text-transform: uppercase;
      font-size: .72rem;
      color: rgba(6, 42, 35, .62);
      font-weight: 800;
}

.about-card-title {
      font-weight: 900;
      color: var(--primary);
      letter-spacing: .02em;
}

.about-card-sub {
      color: rgba(6, 42, 35, .66);
      font-weight: 600;
      font-size: .95rem;
}

.about-hero-card__bottom {
      margin-top: 12px;
}

/* Sections */
.about-section {
      padding: 72px 0;
}

.about-section--soft {
      background:
            radial-gradient(900px 520px at 15% 15%, rgba(109, 33, 30, .06), transparent 55%),
            radial-gradient(900px 520px at 85% 25%, rgba(6, 42, 35, .06), transparent 58%);
}

/* Timeline */
.about-timeline {
      border: 1px solid rgba(6, 42, 35, .10);
      border-radius: 20px;
      background: rgba(255, 255, 255, .82);
      padding: 18px;
      box-shadow: 0 14px 30px rgba(6, 42, 35, .06);
}

.tl-item {
      display: grid;
      grid-template-columns: 16px 1fr;
      gap: 14px;
      padding: 14px 0;
      position: relative;
}

.tl-item:not(:last-child) {
      border-bottom: 1px dashed rgba(6, 42, 35, .14);
}

.tl-dot {
      width: 12px;
      height: 12px;
      border-radius: 99px;
      background: var(--secondary);
      box-shadow: 0 0 0 6px rgba(109, 33, 30, .12);
      margin-top: 6px;
}

.tl-title {
      font-weight: 900;
      color: var(--primary);
      margin-bottom: 2px;
}

.tl-text {
      color: rgba(6, 42, 35, .70);
      line-height: 1.7;
}

/* Value cards */
.value-card {
      border: 1px solid rgba(6, 42, 35, .10);
      border-radius: 18px;
      background: rgba(255, 255, 255, .84);
      padding: 16px;
      height: 100%;
      box-shadow: 0 14px 30px rgba(6, 42, 35, .06);
}

.value-icon {
      width: 40px;
      height: 40px;
      border-radius: 14px;
      display: grid;
      place-items: center;
      background: rgba(6, 42, 35, .08);
      color: var(--primary);
      font-weight: 900;
      margin-bottom: 10px;
}

.value-title {
      font-weight: 900;
      color: var(--primary);
      margin-bottom: 6px;
}

.value-text {
      color: rgba(6, 42, 35, .70);
      line-height: 1.7;
}

/* Photo grid */
.about-photo-grid {
      display: grid;
      grid-template-columns: 1.1fr .9fr;
      grid-template-rows: 1fr 1fr;
      gap: 14px;
}

.about-photo-grid .ph {
      border-radius: 22px;
      overflow: hidden;
      border: 1px solid rgba(6, 42, 35, .10);
      box-shadow: 0 16px 40px rgba(6, 42, 35, .08);
      background: rgba(255, 255, 255, .65);
}

.about-photo-grid .ph img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
}

.about-photo-grid .ph.a {
      grid-row: 1 / span 2;
}

.about-photo-grid .ph.b {
      grid-column: 2;
      grid-row: 1;
}

.about-photo-grid .ph.c {
      grid-column: 2;
      grid-row: 2;
}

/* Checks */
.about-checks {
      display: grid;
      gap: 10px;
      margin-top: 10px;
}

.about-check {
      padding-left: 18px;
      position: relative;
      color: rgba(6, 42, 35, .76);
      font-weight: 650;
}

.about-check::before {
      content: "";
      width: 8px;
      height: 8px;
      border-radius: 99px;
      position: absolute;
      left: 0;
      top: 8px;
      background: var(--secondary);
}

/* CTA strip */
.about-cta {
      padding: 56px 0;
      /* background: var(--primary); */
      background:
            radial-gradient(900px 500px at 15% 0%, rgba(255, 255, 255, .10), transparent 60%),
            radial-gradient(900px 500px at 85% 20%, rgba(255, 255, 255, .08), transparent 55%),
            linear-gradient(180deg, #7a2926 0%, var(--secondary) 55%, #4f1715 100%);
      color: rgba(255, 255, 255, .92);
}

.about-cta-inner {
      border: 1px solid rgba(255, 255, 255, .18);
      border-radius: 22px;
      padding: 18px;
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 14px;
      background:
            radial-gradient(900px 520px at 10% 0%, rgba(255, 255, 255, .10), transparent 60%),
            radial-gradient(900px 520px at 85% 20%, rgba(255, 255, 255, .08), transparent 55%),
            linear-gradient(180deg, rgba(255, 255, 255, .06) 0%, rgba(255, 255, 255, .02) 100%);
      /* Using Vedore Secondary as base, with a refined gradient */
      /* background:
            radial-gradient(900px 500px at 15% 0%, rgba(255, 255, 255, .10), transparent 60%),
            radial-gradient(900px 500px at 85% 20%, rgba(255, 255, 255, .08), transparent 55%),
            linear-gradient(180deg, #7a2926 0%, var(--secondary) 55%, #4f1715 100%);
      color: rgba(255, 255, 255, .92);
      border-top: 1px solid rgba(255, 255, 255, .14); */
}

.about-cta-title {
      font-weight: 900;
      letter-spacing: .02em;
      font-size: 1.15rem;
}

.about-cta-sub {
      color: rgba(255, 255, 255, .78);
      margin-top: 2px;
}

/* Mobile tweaks */
@media (max-width: 991.98px) {
      .about-metrics {
            grid-template-columns: 1fr;
            max-width: 520px;
      }

      .about-photo-grid {
            grid-template-columns: 1fr;
            grid-template-rows: auto;
      }

      .about-photo-grid .ph.a,
      .about-photo-grid .ph.b,
      .about-photo-grid .ph.c {
            grid-column: auto;
            grid-row: auto;
      }

      .about-cta-inner {
            flex-direction: column;
            align-items: flex-start;
      }
}

/* =========================
   ABOUT PAGE v2
   ========================= */

.about-page {
      background: var(--bg);
      color: var(--text);
}

.aboutv2-hero {
      position: relative;
      padding-top: 92px;
      background:
            radial-gradient(900px 520px at 18% 10%, rgba(6, 42, 35, .09), transparent 55%),
            radial-gradient(900px 520px at 85% 16%, rgba(109, 33, 30, .10), transparent 58%),
            linear-gradient(180deg, #ffffff 0%, var(--bg) 100%);
      border-bottom: 1px solid rgba(6, 42, 35, .08);
      overflow: hidden;
}

.aboutv2-eyebrow,
.aboutv2-statement-eyebrow,
.aboutv2-cta-eyebrow {
      letter-spacing: .22em;
      text-transform: uppercase;
      font-size: .78rem;
      color: rgba(6, 42, 35, .68);
      font-weight: 800;
}

.aboutv2-title {
      font-family: "The Seasons", "Urbanist", serif;
      font-size: clamp(2.1rem, 3.8vw, 3.6rem);
      line-height: 1.04;
      letter-spacing: .03em;
      color: var(--primary);
      /* max-width: 11ch; */
}

.aboutv2-title span {
      color: var(--secondary);
}

.aboutv2-lead {
      max-width: 62ch;
      color: rgba(6, 42, 35, .74);
      line-height: 1.9;
      font-size: 1.05rem;
}

.aboutv2-tags {
      display: flex;
      gap: 10px;
      flex-wrap: wrap;
}

.aboutv2-tag {
      display: inline-flex;
      align-items: center;
      padding: 8px 14px;
      border-radius: 999px;
      background: rgba(255, 255, 255, .82);
      border: 1px solid rgba(6, 42, 35, .10);
      color: rgba(6, 42, 35, .82);
      font-size: .88rem;
      font-weight: 800;
      box-shadow: 0 10px 24px rgba(6, 42, 35, .05);
}

.aboutv2-stat-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 12px;
      max-width: 720px;
}

.aboutv2-stat {
      border: 1px solid rgba(6, 42, 35, .10);
      border-radius: 18px;
      background: rgba(255, 255, 255, .84);
      padding: 16px;
      box-shadow: 0 12px 26px rgba(6, 42, 35, .05);
}

.aboutv2-stat-no {
      font-weight: 900;
      color: var(--secondary);
      font-size: 1rem;
      letter-spacing: .08em;
      margin-bottom: 6px;
}

.aboutv2-stat-text {
      color: rgba(6, 42, 35, .74);
      line-height: 1.65;
      font-weight: 700;
      font-size: .95rem;
}

.aboutv2-hero-media {
      position: relative;
      min-height: 620px;
      border-radius: 28px;
      overflow: hidden;
      box-shadow: 0 18px 50px rgba(6, 42, 35, .10);
      border: 1px solid rgba(6, 42, 35, .10);
      background: rgba(255, 255, 255, .70);
}

.aboutv2-hero-media img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      min-height: 620px;
}

.aboutv2-media-card {
      position: absolute;
      left: 20px;
      right: 20px;
      bottom: 20px;
      padding: 18px;
      border-radius: 22px;
      background:
            linear-gradient(180deg, rgba(255, 255, 255, .78), rgba(255, 255, 255, .92));
      border: 1px solid rgba(6, 42, 35, .10);
      box-shadow: 0 12px 28px rgba(6, 42, 35, .08);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
}

.aboutv2-media-kicker {
      letter-spacing: .18em;
      text-transform: uppercase;
      font-size: .72rem;
      color: rgba(6, 42, 35, .58);
      font-weight: 800;
      margin-bottom: 6px;
}

.aboutv2-media-title {
      font-weight: 900;
      color: var(--primary);
      font-size: 1.12rem;
}

.aboutv2-media-sub {
      margin-top: 4px;
      color: rgba(6, 42, 35, .66);
      font-weight: 650;
      line-height: 1.6;
      font-size: .94rem;
}

/* statement */
.aboutv2-statement {
      padding: 88px 0;
      background:
            radial-gradient(900px 500px at 20% 0%, rgba(109, 33, 30, .06), transparent 58%),
            linear-gradient(180deg, #ffffff 0%, #fcfaf7 100%);
      position: relative;
      overflow: hidden;
}

.aboutv2-statement::before {
      content: "";
      position: absolute;
      top: 0;
      left: 50%;
      transform: translateX(-50%);
      width: 86px;
      height: 2px;
      background: linear-gradient(90deg, transparent, var(--primary), transparent);
      opacity: .35;
}

.aboutv2-statement-title {
      font-family: "The Seasons", "Urbanist", serif;
      font-size: clamp(1.9rem, 3vw, 3rem);
      line-height: 1.16;
      letter-spacing: .03em;
      color: #111;
}

.aboutv2-statement-title span {
      color: var(--secondary);
}

.aboutv2-statement-text {
      max-width: 62ch;
      margin-left: auto;
      margin-right: auto;
      color: rgba(6, 42, 35, .72);
      line-height: 1.9;
      font-size: 1.04rem;
}

/* shared sections */
.aboutv2-section {
      padding: 78px 0;
}

.aboutv2-section--soft {
      background:
            radial-gradient(900px 520px at 15% 15%, rgba(109, 33, 30, .05), transparent 55%),
            radial-gradient(900px 520px at 85% 25%, rgba(6, 42, 35, .05), transparent 58%);
}

/* timeline */
.aboutv2-timeline {
      border: 1px solid rgba(6, 42, 35, .10);
      border-radius: 24px;
      background: rgba(255, 255, 255, .86);
      padding: 22px;
      box-shadow: 0 16px 34px rgba(6, 42, 35, .06);
}

.aboutv2-timeline-item {
      display: grid;
      grid-template-columns: 14px 1fr;
      gap: 14px;
      padding: 14px 0;
}

.aboutv2-timeline-item:not(:last-child) {
      border-bottom: 1px dashed rgba(6, 42, 35, .14);
}

.aboutv2-timeline-dot {
      width: 10px;
      height: 10px;
      border-radius: 999px;
      background: var(--secondary);
      box-shadow: 0 0 0 6px rgba(109, 33, 30, .10);
      margin-top: 7px;
}

.aboutv2-timeline-title {
      font-weight: 900;
      color: var(--primary);
      margin-bottom: 3px;
}

.aboutv2-timeline-text {
      color: rgba(6, 42, 35, .70);
      line-height: 1.75;
}

/* collage */
.aboutv2-collage {
      display: grid;
      grid-template-columns: 1.08fr .92fr;
      gap: 14px;
}

.aboutv2-collage-main,
.aboutv2-collage-small {
      border-radius: 24px;
      overflow: hidden;
      border: 1px solid rgba(6, 42, 35, .10);
      background: rgba(255, 255, 255, .80);
      box-shadow: 0 16px 36px rgba(6, 42, 35, .08);
}

.aboutv2-collage-main {
      min-height: 540px;
}

.aboutv2-collage-side {
      display: grid;
      gap: 14px;
}

.aboutv2-collage-small {
      min-height: 263px;
}

.aboutv2-collage img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
}

.aboutv2-value-list {
      display: grid;
      gap: 14px;
}

.aboutv2-value-item {
      border: 1px solid rgba(6, 42, 35, .10);
      border-radius: 18px;
      background: rgba(255, 255, 255, .84);
      padding: 16px;
      box-shadow: 0 12px 28px rgba(6, 42, 35, .05);
}

.aboutv2-value-title {
      font-weight: 900;
      color: var(--primary);
      margin-bottom: 4px;
}

.aboutv2-value-text {
      color: rgba(6, 42, 35, .70);
      line-height: 1.75;
}

/* ritual */
.aboutv2-ritual-text {
      max-width: 70ch;
      margin-left: auto;
      margin-right: auto;
      color: rgba(6, 42, 35, .72);
      line-height: 1.85;
      font-size: 1.04rem;
}

.aboutv2-ritual-card {
      height: 100%;
      border: 1px solid rgba(6, 42, 35, .10);
      border-radius: 22px;
      background: rgba(255, 255, 255, .86);
      padding: 22px;
      box-shadow: 0 14px 30px rgba(6, 42, 35, .06);
}

.aboutv2-ritual-no {
      font-weight: 900;
      color: var(--secondary);
      letter-spacing: .08em;
      margin-bottom: 10px;
}

.aboutv2-ritual-card-title {
      font-weight: 900;
      color: var(--primary);
      margin-bottom: 6px;
      font-size: 1.04rem;
}

.aboutv2-ritual-card-text {
      color: rgba(6, 42, 35, .70);
      line-height: 1.75;
}

/* CTA */
.aboutv2-cta {
      padding: 0 0 72px;
      background: var(--bg);
}

.aboutv2-cta-box {
      border-radius: 28px;
      padding: 26px;
      border: 1px solid rgba(255, 255, 255, .16);
      background:
            radial-gradient(900px 500px at 15% 0%, rgba(255, 255, 255, .10), transparent 60%),
            radial-gradient(900px 500px at 85% 20%, rgba(255, 255, 255, .08), transparent 55%),
            linear-gradient(180deg, #7a2926 0%, var(--secondary) 55%, #4f1715 100%);
      color: rgba(255, 255, 255, .92);
      box-shadow: 0 18px 44px rgba(6, 42, 35, .10);
}

.aboutv2-cta-title {
      font-weight: 900;
      font-size: 1.35rem;
      letter-spacing: .01em;
      color: #fff;
}

.aboutv2-cta-text {
      color: rgba(255, 255, 255, .82);
      line-height: 1.75;
}

/* responsive */
@media (max-width: 991.98px) {
      .aboutv2-stat-grid {
            grid-template-columns: 1fr;
            max-width: 520px;
      }

      .aboutv2-hero-media,
      .aboutv2-hero-media img {
            min-height: 480px;
      }

      .aboutv2-collage {
            grid-template-columns: 1fr;
      }

      .aboutv2-collage-main {
            min-height: 320px;
      }

      .aboutv2-collage-small {
            min-height: 220px;
      }
}

@media (max-width: 575.98px) {
      .aboutv2-hero {
            padding-top: 84px;
      }

      .aboutv2-title {
            max-width: none;
      }

      .aboutv2-lead,
      .aboutv2-statement-text,
      .aboutv2-ritual-text {
            font-size: .98rem;
            line-height: 1.8;
      }

      .aboutv2-hero-media,
      .aboutv2-hero-media img {
            min-height: 360px;
      }

      .aboutv2-media-card {
            left: 14px;
            right: 14px;
            bottom: 14px;
            padding: 14px;
            border-radius: 18px;
      }

      .aboutv2-statement,
      .aboutv2-section {
            padding: 62px 0;
      }

      .aboutv2-timeline,
      .aboutv2-ritual-card,
      .aboutv2-value-item {
            padding: 18px;
      }

      .aboutv2-cta {
            padding-bottom: 60px;
      }

      .aboutv2-cta-box {
            padding: 20px 18px;
            border-radius: 22px;
      }
}


/* =========================
   PREMIUM PDP v2 (FULLSCREEN SLIDER)
   ========================= */

.pdp2-page {
      background: var(--bg);
      color: var(--text);
}

/* Fullscreen hero carousel */
.pdp2-hero {
      position: relative;
}

.pdp2-carousel {
      height: 60vh;
}

.pdp2-carousel .carousel-inner,
.pdp2-carousel .carousel-item {
      height: 60vh;
}

.pdp2-hero-img {
      height: 60vh;
      width: 100%;
      object-fit: cover;
      display: block;
}

/* Premium overlay over slider (subtle, not dark) */
.pdp2-hero-overlay {
      position: absolute;
      inset: 0;
      display: flex;
      align-items: flex-end;
      padding-bottom: 32px;
      background:
            linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .10) 55%, rgba(0, 0, 0, .30) 100%);
}

.pdp2-hero-content {
      max-width: 720px;
}

.pdp2-eyebrow {
      letter-spacing: .22em;
      text-transform: uppercase;
      font-size: .78rem;
      color: rgba(255, 255, 255, .86);
      font-weight: 800;
}

.pdp2-title {
      font-family: "The Seasons", "Urbanist", serif;
      letter-spacing: .03em;
      font-size: clamp(1.9rem, 3.1vw, 3.1rem);
      line-height: 1.08;
      color: #fff;
}

.pdp2-meta {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      align-items: center;
      color: rgba(255, 255, 255, .80);
      font-weight: 650;
}

.pdp2-price {
      font-weight: 900;
      color: #fff;
      font-size: 1.15rem;
}

.pdp2-dot {
      width: 5px;
      height: 5px;
      border-radius: 99px;
      background: rgba(255, 255, 255, .55);
      display: inline-block;
}

.pdp2-stock {
      color: #fff;
      font-weight: 900;
      background: rgba(255, 255, 255, .14);
      border: 1px solid rgba(255, 255, 255, .20);
      padding: 6px 10px;
      border-radius: 999px;
}

.pdp2-cta {
      border-radius: 999px;
      padding: 12px 16px;
      font-weight: 900;
}

/* Small premium badges */
.pdp2-badges {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
}

.pdp2-badge {
      background: rgba(255, 255, 255, .14);
      border: 1px solid rgba(255, 255, 255, .20);
      color: rgba(255, 255, 255, .92);
      font-weight: 800;
      font-size: .82rem;
      padding: 7px 12px;
      border-radius: 999px;
}

/* Indicators styling */
.pdp2-indicators {
      bottom: 18px;
}

.pdp2-indicators [data-bs-target] {
      width: 20px;
      height: 4px;
      border-radius: 20px;
      border: 0;
}

/* Scroll hint */
.pdp2-scroll {
      position: absolute;
      right: 22px;
      bottom: 26px;
      text-decoration: none;
      display: inline-flex;
      align-items: center;
      gap: 10px;
      color: rgba(255, 255, 255, .78);
      font-weight: 800;
      letter-spacing: .12em;
      text-transform: uppercase;
      font-size: .72rem;
}

.pdp2-scroll-line {
      width: 34px;
      height: 1px;
      background: rgba(255, 255, 255, .55);
}

.pdp2-scroll:hover {
      color: #fff;
}

/* Detail sections */
.pdp2-strip {
      padding: 72px 0 28px;
      background: var(--bg);
}

.pdp2-sec-title {
      font-family: "The Seasons", "Urbanist", serif;
      letter-spacing: .03em;
      color: var(--primary);
      font-size: 1.75rem;
      line-height: 1.15;
}

.pdp2-sec-sub {
      color: rgba(6, 42, 35, .72);
      line-height: 1.8;
      font-weight: 600;
}

.pdp2-mini-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 12px;
}

.pdp2-mini {
      border: 1px solid rgba(6, 42, 35, .10);
      border-radius: 18px;
      background: rgba(255, 255, 255, .84);
      padding: 14px;
      box-shadow: 0 14px 30px rgba(6, 42, 35, .06);
}

.pdp2-mini-title {
      letter-spacing: .18em;
      text-transform: uppercase;
      font-size: .72rem;
      color: rgba(6, 42, 35, .62);
      font-weight: 900;
}

.pdp2-mini-text {
      margin-top: 4px;
      color: rgba(6, 42, 35, .78);
      font-weight: 750;
}

.pdp2-buybar {
      border-radius: 999px;
      padding: 12px 14px;
      font-weight: 900;
}

/* Cards */
.pdp2-section {
      padding: 54px 0;
}

.pdp2-section--soft {
      background:
            radial-gradient(900px 520px at 15% 15%, rgba(109, 33, 30, .06), transparent 55%),
            radial-gradient(900px 520px at 85% 25%, rgba(6, 42, 35, .06), transparent 58%);
}

.pdp2-card {
      border: 1px solid rgba(6, 42, 35, .10);
      border-radius: 22px;
      background: rgba(255, 255, 255, .86);
      padding: 18px;
      box-shadow: 0 16px 40px rgba(6, 42, 35, .08);
}

.pdp2-kicker {
      letter-spacing: .22em;
      text-transform: uppercase;
      font-size: .78rem;
      color: rgba(6, 42, 35, .62);
      font-weight: 900;
}

.pdp2-h3 {
      font-family: "The Seasons", "Urbanist", serif;
      letter-spacing: .03em;
      color: var(--primary);
      font-size: 1.55rem;
      margin: 0;
}

/* Tiles */
.pdp2-tiles {
      display: grid;
      gap: 12px;
}

.pdp2-tile {
      border: 1px solid rgba(6, 42, 35, .10);
      border-radius: 18px;
      background: rgba(255, 255, 255, .82);
      padding: 14px;
}

.pdp2-tile-title {
      font-weight: 900;
      color: rgba(6, 42, 35, .92);
}

.pdp2-tile-text {
      margin-top: 6px;
      color: rgba(6, 42, 35, .70);
      line-height: 1.7;
      font-weight: 600;
}

/* Ritual Summary Closure */
.pdp2-ritual-summary {
      border-top: 1px solid rgba(6, 42, 35, .08);
      padding-top: 24px;
      position: relative;
}

.pdp2-ritual-summary::before {
      content: "";
      position: absolute;
      top: -1px;
      left: 0;
      width: 40px;
      height: 2px;
      background: var(--primary);
}

.pdp2-ritual-summary-text {
      font-size: 1.05rem;
      line-height: 1.8;
      color: rgba(6, 42, 35, .82);
      font-weight: 600;
      font-style: italic;
      letter-spacing: 0.01em;
      max-width: 95%;
}

/* Accordion premium */
.pdp2-acc {
      --bs-accordion-border-color: transparent;
      --bs-accordion-bg: transparent;
      --bs-accordion-btn-bg: rgba(255, 255, 255, .92);
      --bs-accordion-btn-color: rgba(6, 42, 35, .88);
      --bs-accordion-active-bg: rgba(255, 255, 255, .98);
      --bs-accordion-active-color: var(--primary);
      --bs-accordion-btn-focus-box-shadow: none;
}

.pdp2-acc .accordion-item {
      border: 1px solid rgba(6, 42, 35, .10);
      background: rgba(255, 255, 255, .88);
      border-radius: 18px;
      overflow: hidden;
      margin-bottom: 12px;
      box-shadow: 0 12px 26px rgba(6, 42, 35, .05);
}

.pdp2-acc .accordion-button {
      padding: 16px 18px;
      font-weight: 900;
      letter-spacing: .01em;
}

.pdp2-acc .accordion-body {
      color: rgba(6, 42, 35, .78);
      line-height: 1.75;
      padding: 0 18px 16px;
}

.pdp2-list {
      margin: 0;
      padding-left: 18px;
      display: grid;
      gap: 8px;
}

/* Gallery */
.pdp2-gallery {
      display: grid;
      grid-template-columns: repeat(6, minmax(0, 1fr));
      gap: 12px;
}

.pdp2-g-item {
      border: 0;
      padding: 0;
      border-radius: 18px;
      overflow: hidden;
      background: rgba(255, 255, 255, .70);
      border: 1px solid rgba(6, 42, 35, .10);
      box-shadow: 0 14px 30px rgba(6, 42, 35, .06);
      cursor: pointer;
      transition: transform .12s ease;
}

.pdp2-g-item:hover {
      transform: translateY(-2px);
}

.pdp2-g-item img {
      width: 100%;
      height: 180px;
      object-fit: cover;
      display: block;
}

@media (max-width: 991.98px) {
      .pdp2-meta {
            gap: 8px;
      }

      .pdp2-scroll {
            display: none;
      }

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

      .pdp2-g-item img {
            height: 160px;
      }

      .pdp2-mini-grid {
            grid-template-columns: 1fr;
      }
}

/* Modals */
.pdp2-modal {
      border-radius: 22px;
      border: 1px solid rgba(6, 42, 35, .10);
      background: rgba(255, 255, 255, .98);
      overflow: hidden;
}

.pdp2-modal-summary {
      border: 1px solid rgba(6, 42, 35, .10);
      border-radius: 18px;
      padding: 14px;
      background: rgba(6, 42, 35, .04);
}

.pdp2-modal-name {
      font-weight: 900;
      color: var(--primary);
      letter-spacing: .02em;
}

.pdp2-modal-sub {
      color: rgba(6, 42, 35, .70);
      font-weight: 650;
      margin-top: 4px;
}

.pdp2-modal-price {
      font-weight: 900;
      font-size: 1.35rem;
      color: rgba(6, 42, 35, .92);
}

.pdp2-modal-note {
      color: rgba(6, 42, 35, .60);
      font-weight: 650;
      margin-top: 4px;
}

.pdp2-form .form-label {
      font-weight: 900;
      color: rgba(6, 42, 35, .78);
}

.pdp2-input {
      border-radius: 14px;
      border: 1px solid rgba(6, 42, 35, .14);
      padding: 12px 12px;
      background: rgba(255, 255, 255, .98);
}

.pdp2-input:focus {
      border-color: rgba(6, 42, 35, .28);
      box-shadow: 0 0 0 .2rem rgba(6, 42, 35, .08);
}

/* Lightbox */
.pdp2-lightbox {
      border-radius: 22px;
      overflow: hidden;
}

.pdp2-lightbox-img {
      width: 100%;
      height: auto;
      border-radius: 16px;
      display: block;
}


/* ============================
   VEDORE Luxury Alert System
============================ */

.vedore-alert {
      position: fixed;
      top: 30px;
      right: 30px;
      min-width: 320px;
      max-width: 420px;
      padding: 18px 22px;
      border-radius: 16px;
      backdrop-filter: blur(20px);
      background: rgba(6, 42, 35, 0.85);
      border: 1px solid rgba(255, 255, 255, 0.08);
      box-shadow: 0 20px 50px rgba(0, 0, 0, 0.25);
      z-index: 9999;
      transform: translateY(-20px);
      opacity: 0;
      transition: all 0.4s ease;
}

.vedore-alert.show {
      transform: translateY(0);
      opacity: 1;
}

.vedore-alert-content {
      display: flex;
      align-items: center;
      gap: 15px;
}

.vedore-alert-icon i {
      font-size: 22px;
      color: #d4af37;
      /* Luxury gold accent */
}

.vedore-alert-title {
      font-family: 'The Seasons', serif;
      color: #ffffff;
      margin-bottom: 4px;
      font-size: 16px;
}

.vedore-alert-message {
      font-family: 'Urbanist', sans-serif;
      color: #e6e6e6;
      font-size: 14px;
      margin: 0;
}

.vedore-alert-close {
      margin-left: auto;
      background: transparent;
      border: none;
      font-size: 18px;
      color: #ffffff;
      opacity: 0.7;
      cursor: pointer;
      transition: 0.3s;
}

.vedore-alert-close:hover {
      opacity: 1;
}


/* =========================
   SUCCESS v2 (CREATIVE + PREMIUM)
   ========================= */

.success2-page {
      background: var(--bg);
      color: var(--text);
}

.success2-wrap {
      padding-top: 110px;
      /* navbar offset */
      padding-bottom: 70px;
      min-height: calc(100vh - 200px);
      background:
            radial-gradient(1000px 560px at 18% 12%, rgba(6, 42, 35, .09), transparent 55%),
            radial-gradient(1000px 560px at 85% 22%, rgba(109, 33, 30, .09), transparent 58%),
            linear-gradient(180deg, #ffffff 0%, var(--bg) 100%);
}

.success2-shell {
      max-width: 980px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: 260px 1fr;
      gap: 22px;
      align-items: center;
      padding: 26px;
      border-radius: 28px;
      background: rgba(255, 255, 255, .86);
      border: 1px solid rgba(6, 42, 35, .10);
      box-shadow: 0 18px 55px rgba(6, 42, 35, .08);
      overflow: hidden;
      position: relative;
}

/* Decorative background line-work */
.success2-shell::before {
      content: "";
      position: absolute;
      inset: -80px -120px auto auto;
      width: 360px;
      height: 360px;
      border-radius: 999px;
      background:
            radial-gradient(circle at 30% 30%, rgba(109, 33, 30, .18), transparent 60%),
            radial-gradient(circle at 70% 65%, rgba(6, 42, 35, .16), transparent 62%);
      filter: blur(2px);
      pointer-events: none;
      opacity: .8;
}

/* Emblem */
.success2-emblem {
      width: 220px;
      height: 220px;
      margin: 0 auto;
      position: relative;
      display: grid;
      place-items: center;
}

.success2-orbit {
      position: absolute;
      inset: 10px;
      border-radius: 999px;
      border: 1px solid rgba(6, 42, 35, .14);
      box-shadow: inset 0 0 0 10px rgba(6, 42, 35, .04);
}

.success2-seal {
      width: 92px;
      height: 92px;
      border-radius: 999px;
      display: grid;
      place-items: center;
      background: rgba(6, 42, 35, .06);
      border: 1px solid rgba(6, 42, 35, .14);
      box-shadow: 0 18px 40px rgba(6, 42, 35, .10);
}

.success2-check {
      font-weight: 900;
      font-size: 2.0rem;
      color: var(--primary);
      line-height: 1;
}

/* Sparks */
.success2-spark {
      position: absolute;
      width: 10px;
      height: 10px;
      border-radius: 99px;
      background: var(--secondary);
      opacity: .75;
      box-shadow: 0 0 0 10px rgba(109, 33, 30, .12);
}

.success2-spark.s1 {
      top: 20px;
      right: 30px;
}

.success2-spark.s2 {
      bottom: 36px;
      left: 22px;
      background: var(--primary);
      box-shadow: 0 0 0 10px rgba(6, 42, 35, .10);
}

.success2-spark.s3 {
      bottom: 16px;
      right: 52px;
      opacity: .55;
}

/* Content */
.success2-eyebrow {
      letter-spacing: .22em;
      text-transform: uppercase;
      font-size: .78rem;
      color: rgba(6, 42, 35, .62);
      font-weight: 900;
}

.success2-title {
      font-family: "The Seasons", "Urbanist", serif;
      letter-spacing: .03em;
      color: var(--primary);
      font-size: clamp(1.7rem, 2.6vw, 2.4rem);
      line-height: 1.12;
}

.success2-copy {
      max-width: 62ch;
      color: rgba(6, 42, 35, .74);
      font-size: 1.05rem;
      line-height: 1.9;
      font-weight: 600;
}

/* Chips */
.success2-chips {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
}

.success2-chip {
      border-radius: 999px;
      padding: 8px 12px;
      font-weight: 900;
      font-size: .85rem;
      letter-spacing: .02em;
      color: rgba(6, 42, 35, .86);
      border: 1px solid rgba(6, 42, 35, .10);
      background: rgba(6, 42, 35, .06);
}

.success2-chip--soft {
      background: rgba(255, 255, 255, .80);
      color: rgba(6, 42, 35, .72);
}

/* Actions */
.success2-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
}

.success2-foot {
      color: rgba(6, 42, 35, .62);
      font-weight: 650;
}

.success2-muted {
      color: rgba(6, 42, 35, .62);
}

.success2-link {
      color: rgba(6, 42, 35, .78);
      font-weight: 900;
      text-decoration: none;
      border-bottom: 1px solid rgba(6, 42, 35, .22);
      padding-bottom: 1px;
}

.success2-link:hover {
      color: var(--primary);
      border-bottom-color: rgba(6, 42, 35, .35);
}

/* Mobile */
@media (max-width: 991.98px) {
      .success2-shell {
            grid-template-columns: 1fr;
            text-align: center;
      }

      .success2-copy {
            margin-left: auto;
            margin-right: auto;
      }

      .success2-actions {
            justify-content: center;
      }

      .success2-chips {
            justify-content: center;
      }
}

/*
*	Overlay loader
*/
.overlay {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(0, 0, 0, 0.5);
      /* Adjust the opacity as needed */
      z-index: 9999;
      /* Ensure the overlay appears above other content */
      display: none;
}

.overlay .loader-card {
      width: 30%;
      margin: 25% auto;
}

/* =========================
   PDP SLIDE OVERLAY (FIX)
   ========================= */

/* Make each slide a positioning context */
.pdp2-carousel .carousel-item {
      position: relative;
}

/* Overlay that sits above the image */
.pdp2-slide-overlay {
      position: absolute;
      inset: 0;
      z-index: 2;
      display: flex;
      align-items: flex-end;
      padding: 0 0 32px 0;

      /* subtle premium gradient so text is readable */
      background: linear-gradient(180deg,
                  rgba(0, 0, 0, 0) 0%,
                  rgba(0, 0, 0, 0.12) 55%,
                  rgba(0, 0, 0, 0.32) 100%);
}

/* Keep text width premium + readable */
.pdp2-slide-content {
      max-width: 760px;
}

/* Ensure overlay text is above everything */
.pdp2-slide-overlay * {
      position: relative;
      z-index: 3;
}

/* Mobile spacing refinement */
@media (max-width: 991.98px) {
      .pdp2-slide-overlay {
            padding-bottom: 22px;
      }
}


/* =========================
   INVITATION UNDER REVIEW PAGE
   ========================= */

.review-hero {
      position: relative;
      min-height: 100vh;
      background: #fff;
      overflow: hidden;
}

.review-hero__media,
.review-carousel,
.review-carousel .carousel-inner,
.review-carousel .carousel-item {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
}

.review-carousel .carousel-item img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
}

/* .review-hero__overlay {
      position: absolute;
      inset: 0;
      background:
            linear-gradient(90deg, rgba(251, 250, 247, .93) 0%, rgba(251, 250, 247, .78) 45%, rgba(251, 250, 247, .34) 100%),
            radial-gradient(900px 600px at 25% 35%, rgba(109, 33, 30, .10), transparent 60%),
            radial-gradient(900px 600px at 70% 60%, rgba(6, 42, 35, .08), transparent 55%);
      z-index: 1;
} */

.review-hero__content {
      position: relative;
      z-index: 2;
}

.review-hero__card {
      display: inline-block;
      max-width: 700px;
      padding: 24px 24px;
      border-radius: 24px;
      background:
            linear-gradient(90deg,
                  rgba(251, 250, 247, .94) 0%,
                  rgba(251, 250, 247, .82) 58%,
                  rgba(251, 250, 247, .68) 100%);
      border: 1px solid rgba(6, 42, 35, .12);
      box-shadow: 0 18px 40px rgba(6, 42, 35, .10);
      backdrop-filter: blur(6px);
      -webkit-backdrop-filter: blur(6px);
}

.review-status-badges {
      display: flex;
      gap: 10px;
      flex-wrap: wrap;
}

.review-status-badge {
      display: inline-flex;
      align-items: center;
      padding: 8px 14px;
      border-radius: 999px;
      background: rgba(6, 42, 35, .08);
      border: 1px solid rgba(6, 42, 35, .12);
      color: rgba(6, 42, 35, .86);
      font-size: .92rem;
      font-weight: 700;
}

.review-status-badge--soft {
      background: rgba(255, 255, 255, .80);
      color: rgba(6, 42, 35, .74);
}

.review-carousel .carousel-control-prev,
.review-carousel .carousel-control-next {
      width: 52px;
      opacity: 1;
      z-index: 3;
}

.review-carousel .carousel-control-prev-icon,
.review-carousel .carousel-control-next-icon {
      width: 2.5rem;
      height: 2.5rem;
      border-radius: 999px;
      background-color: rgba(255, 255, 255, .28);
      backdrop-filter: blur(8px);
      -webkit-backdrop-filter: blur(8px);
      background-size: 50% 50%;
}

.review-carousel-indicators {
      z-index: 3;
      bottom: 22px;
}

.review-carousel-indicators [data-bs-target] {
      width: 18px;
      height: 4px;
      border-radius: 999px;
      border: 0;
}

/* strip */
.review-strip {
      padding: 30px 0 20px;
      background: var(--bg);
}

.review-mini-card {
      height: 100%;
      border: 1px solid rgba(6, 42, 35, .10);
      border-radius: 20px;
      background: rgba(255, 255, 255, .84);
      padding: 18px;
      box-shadow: 0 14px 30px rgba(6, 42, 35, .06);
}

.review-mini-card__label {
      letter-spacing: .18em;
      text-transform: uppercase;
      font-size: .72rem;
      color: rgba(6, 42, 35, .62);
      font-weight: 800;
      margin-bottom: 6px;
}

.review-mini-card__value {
      color: rgba(6, 42, 35, .82);
      font-weight: 700;
      line-height: 1.7;
}

/* product block */
.review-product-shot {
      border: 1px solid rgba(6, 42, 35, .10);
      border-radius: 28px;
      padding: 16px;
      background: rgba(255, 255, 255, .84);
      box-shadow: var(--shadow);
}

/* gallery */
.review-gallery-section {
      padding: 80px 0;
      background: var(--bg);
}

.review-gallery {
      display: grid;
      grid-template-columns: 1.25fr 1fr 1fr;
      gap: 14px;
}

.review-gallery__item {
      border-radius: 22px;
      overflow: hidden;
      border: 1px solid rgba(6, 42, 35, .10);
      box-shadow: 0 14px 30px rgba(6, 42, 35, .06);
      background: rgba(255, 255, 255, .80);
      min-height: 220px;
}

.review-gallery__item--large {
      grid-row: span 2;
      min-height: 460px;
}

.review-gallery__item img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      transition: transform .3s ease;
}

.review-gallery__item:hover img {
      transform: scale(1.04);
}

/* notify band */
.review-notify {
      background:
            radial-gradient(900px 500px at 15% 0%, rgba(255, 255, 255, .10), transparent 60%),
            radial-gradient(900px 500px at 85% 20%, rgba(255, 255, 255, .08), transparent 55%),
            linear-gradient(180deg, #0c3b33 0%, var(--primary) 55%, #041f1a 100%);
      color: rgba(255, 255, 255, .92);
}

.review-notify__wrap {
      border: 1px solid rgba(255, 255, 255, .18);
      border-radius: 26px;
      padding: 24px;
      background:
            radial-gradient(900px 520px at 10% 0%, rgba(255, 255, 255, .10), transparent 60%),
            radial-gradient(900px 520px at 85% 20%, rgba(255, 255, 255, .08), transparent 55%),
            linear-gradient(180deg, rgba(255, 255, 255, .06) 0%, rgba(255, 255, 255, .02) 100%);
}

.review-notify__text {
      color: rgba(255, 255, 255, .82);
      line-height: 1.8;
      margin: 0;
}

.review-notify__stack {
      display: grid;
      gap: 10px;
}

.review-notify__pill {
      padding: 12px 14px;
      border-radius: 999px;
      /* border: 1px solid rgba(255, 255, 255, .18); */
      /* background: rgba(255, 255, 255, .08); */
      color: rgba(255, 255, 255, .92);
      font-weight: 700;
      text-align: center;
}

.review-notify__pill--accent {
      background: rgba(255, 255, 255, .16);
}

/* mobile */
@media (max-width: 991.98px) {
      .review-hero__overlay {
            background:
                  linear-gradient(180deg, rgba(251, 250, 247, .94) 0%, rgba(251, 250, 247, .82) 58%, rgba(251, 250, 247, .58) 100%),
                  radial-gradient(900px 600px at 25% 35%, rgba(109, 33, 30, .10), transparent 60%),
                  radial-gradient(900px 600px at 70% 60%, rgba(6, 42, 35, .08), transparent 55%);
      }

      .review-hero__card {
            padding: 20px 18px;
      }

      .review-gallery {
            grid-template-columns: 1fr 1fr;
      }

      .review-gallery__item--large {
            grid-column: span 2;
            grid-row: auto;
            min-height: 300px;
      }
}

@media (max-width: 575.98px) {
      .review-status-badge {
            font-size: .85rem;
      }

      .review-gallery {
            grid-template-columns: 1fr;
      }

      .review-gallery__item--large {
            grid-column: auto;
            min-height: 260px;
      }

      .review-gallery__item {
            min-height: 220px;
      }
}

/* =========================
   PROFILE PAGE
   ========================= */

.profile-hero {
      padding: 110px 0 34px;
      background:
            radial-gradient(900px 500px at 20% 10%, rgba(109, 33, 30, .10), transparent 60%),
            radial-gradient(900px 500px at 80% 30%, rgba(6, 42, 35, .10), transparent 55%),
            linear-gradient(180deg, #ffffff 0%, var(--bg) 100%);
      border-bottom: 1px solid rgba(6, 42, 35, .08);
}

.profile-title {
      font-family: "The Seasons", "Urbanist", serif;
      letter-spacing: .04em;
      font-size: clamp(1.9rem, 3vw, 2.7rem);
      line-height: 1.15;
      margin: 0;
      color: var(--primary);
}

.profile-subtitle {
      max-width: 62ch;
      color: rgba(6, 42, 35, .70);
      line-height: 1.75;
}

.profile-hero-card {
      border: 1px solid rgba(6, 42, 35, .10);
      border-radius: 22px;
      background: rgba(255, 255, 255, .84);
      padding: 18px;
      box-shadow: 0 14px 30px rgba(6, 42, 35, .06);
      display: flex;
      align-items: center;
      gap: 14px;
}

.profile-avatar {
      width: 64px;
      height: 64px;
      border-radius: 999px;
      display: grid;
      place-items: center;
      background: linear-gradient(135deg, rgba(109, 33, 30, .16), rgba(6, 42, 35, .14));
      color: var(--primary);
      font-weight: 900;
      font-size: 1.4rem;
      border: 1px solid rgba(6, 42, 35, .10);
}

.profile-hero-name {
      font-weight: 900;
      color: rgba(6, 42, 35, .88);
}

.profile-hero-meta {
      color: rgba(6, 42, 35, .62);
      font-weight: 650;
      margin-top: 2px;
}

.profile-section {
      padding: 42px 0 80px;
      background: var(--bg);
}

.profile-card {
      border: 1px solid rgba(6, 42, 35, .10);
      border-radius: 24px;
      background: rgba(255, 255, 255, .86);
      padding: 22px;
      box-shadow: 0 16px 40px rgba(6, 42, 35, .08);
}

.profile-card__head {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 14px;
}

.profile-label {
      font-weight: 800;
      color: rgba(6, 42, 35, .78);
      letter-spacing: .02em;
}

.profile-input {
      border-radius: 14px;
      border: 1px solid rgba(6, 42, 35, .14);
      padding: 12px 12px;
      background: rgba(255, 255, 255, .95);
}

.profile-input:focus {
      border-color: rgba(6, 42, 35, .30);
      box-shadow: 0 0 0 0.2rem rgba(6, 42, 35, .08);
}

/* stats */
.profile-stats-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 12px;
}

.profile-stat-box {
      display: block;
      text-decoration: none;
      border: 1px solid rgba(6, 42, 35, .10);
      border-radius: 18px;
      background: rgba(255, 255, 255, .82);
      padding: 18px 14px;
      box-shadow: 0 12px 26px rgba(6, 42, 35, .05);
      transition: transform .14s ease, box-shadow .14s ease, border-color .14s ease;
}

.profile-stat-box:hover {
      transform: translateY(-2px);
      box-shadow: 0 16px 32px rgba(6, 42, 35, .08);
      border-color: rgba(6, 42, 35, .18);
}

.profile-stat-number {
      font-size: 1.7rem;
      font-weight: 900;
      color: var(--primary);
      line-height: 1;
}

.profile-stat-label {
      margin-top: 8px;
      color: rgba(6, 42, 35, .70);
      font-weight: 700;
      line-height: 1.4;
}

.profile-note {
      border-left: 3px solid var(--secondary);
      padding: 10px 12px;
      background: rgba(109, 33, 30, .06);
      border-radius: 12px;
      color: rgba(6, 42, 35, .72);
      font-size: .95rem;
}

@media (max-width: 575.98px) {
      .profile-hero {
            padding: 98px 0 24px;
      }

      .profile-card {
            padding: 18px;
      }

      .profile-stats-grid {
            grid-template-columns: 1fr;
      }
}

/* =========================
   SAVED ADDRESS PAGE
   ========================= */

.address-hero {
      padding: 110px 0 34px;
      background:
            radial-gradient(900px 500px at 20% 10%, rgba(109, 33, 30, .10), transparent 60%),
            radial-gradient(900px 500px at 80% 30%, rgba(6, 42, 35, .10), transparent 55%),
            linear-gradient(180deg, #ffffff 0%, var(--bg) 100%);
      border-bottom: 1px solid rgba(6, 42, 35, .08);
}

.address-title {
      font-family: "The Seasons", "Urbanist", serif;
      letter-spacing: .04em;
      font-size: clamp(1.9rem, 3vw, 2.7rem);
      line-height: 1.15;
      margin: 0;
      color: var(--primary);
}

.address-subtitle {
      max-width: 62ch;
      color: rgba(6, 42, 35, .70);
      line-height: 1.75;
}

.address-hero-card {
      border: 1px solid rgba(6, 42, 35, .10);
      border-radius: 22px;
      background: rgba(255, 255, 255, .84);
      padding: 18px;
      box-shadow: 0 14px 30px rgba(6, 42, 35, .06);
      display: flex;
      align-items: center;
      gap: 14px;
}

.address-hero-icon {
      width: 64px;
      height: 64px;
      border-radius: 999px;
      display: grid;
      place-items: center;
      background: linear-gradient(135deg, rgba(109, 33, 30, .16), rgba(6, 42, 35, .14));
      color: var(--primary);
      font-weight: 900;
      font-size: 1.5rem;
      border: 1px solid rgba(6, 42, 35, .10);
}

.address-hero-name {
      font-weight: 900;
      color: rgba(6, 42, 35, .88);
}

.address-hero-meta {
      color: rgba(6, 42, 35, .62);
      font-weight: 650;
      margin-top: 2px;
}

.address-section {
      padding: 42px 0 80px;
      background: var(--bg);
}

.address-card {
      border: 1px solid rgba(6, 42, 35, .10);
      border-radius: 24px;
      background: rgba(255, 255, 255, .86);
      padding: 22px;
      box-shadow: 0 16px 40px rgba(6, 42, 35, .08);
}

.address-card__head {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 14px;
}

/* Saved address list */
.saved-address-list {
      display: grid;
      gap: 14px;
}

.saved-address-item {
      border: 1px solid rgba(6, 42, 35, .10);
      border-radius: 20px;
      background: rgba(255, 255, 255, .82);
      padding: 18px;
      box-shadow: 0 12px 26px rgba(6, 42, 35, .05);
      transition: border-color .14s ease, box-shadow .14s ease, transform .14s ease;
}

.saved-address-item:hover {
      transform: translateY(-2px);
      box-shadow: 0 16px 32px rgba(6, 42, 35, .08);
      border-color: rgba(6, 42, 35, .18);
}

.saved-address-item.active {
      border-color: rgba(109, 33, 30, .24);
      background: linear-gradient(180deg, rgba(109, 33, 30, .10), rgba(255, 255, 255, .88));
}

.saved-address-top {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      margin-bottom: 10px;
}

.saved-address-badge {
      display: inline-flex;
      align-items: center;
      padding: 7px 12px;
      border-radius: 999px;
      background: rgba(6, 42, 35, .08);
      border: 1px solid rgba(6, 42, 35, .12);
      color: rgba(6, 42, 35, .84);
      font-size: .85rem;
      font-weight: 800;
}

.saved-address-badge--soft {
      background: rgba(255, 255, 255, .82);
      color: rgba(6, 42, 35, .68);
}

.saved-address-actions {
      display: flex;
      gap: 12px;
      align-items: center;
      flex-wrap: wrap;
}

.saved-address-link {
      border: 0;
      background: transparent;
      padding: 0;
      color: rgba(6, 42, 35, .78);
      font-weight: 800;
      font-size: .92rem;
      cursor: pointer;
}

.saved-address-link:hover {
      color: var(--primary);
      text-decoration: underline;
}

.saved-address-link--danger {
      color: rgba(109, 33, 30, .90);
}

.saved-address-name {
      font-weight: 900;
      color: rgba(6, 42, 35, .90);
      margin-bottom: 4px;
}

.saved-address-mobile {
      color: rgba(6, 42, 35, .70);
      font-weight: 700;
      margin-bottom: 8px;
}

.saved-address-text {
      color: rgba(6, 42, 35, .76);
      line-height: 1.8;
      font-weight: 600;
}

/* Form */
.address-label {
      font-weight: 800;
      color: rgba(6, 42, 35, .78);
      letter-spacing: .02em;
}

.address-optional {
      font-size: .88rem;
      color: rgba(6, 42, 35, .50);
      font-weight: 600;
}

.address-input {
      border-radius: 14px;
      border: 1px solid rgba(6, 42, 35, .14);
      padding: 12px 12px;
      background: rgba(255, 255, 255, .95);
}

.address-input:focus {
      border-color: rgba(6, 42, 35, .30);
      box-shadow: 0 0 0 0.2rem rgba(6, 42, 35, .08);
}

.address-note {
      border-left: 3px solid var(--secondary);
      padding: 10px 12px;
      background: rgba(109, 33, 30, .06);
      border-radius: 12px;
      color: rgba(6, 42, 35, .72);
      font-size: .95rem;
}

/* Mobile */
@media (max-width: 575.98px) {
      .address-hero {
            padding: 98px 0 24px;
      }

      .address-card {
            padding: 18px;
      }

      .saved-address-top {
            flex-direction: column;
            align-items: flex-start;
      }

      .saved-address-actions {
            gap: 10px;
      }
}

/* Custom Vedore Checkbox */
.vedore-checkbox {
      appearance: none;
      -webkit-appearance: none;
      width: 20px;
      height: 20px;
      border: 2px solid rgba(6, 42, 35, .25);
      border-radius: 6px;
      background-color: #fff;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      margin: 0;
      transition: all 0.25s ease;
}

.vedore-checkbox:checked {
      background-color: var(--primary);
      border-color: var(--primary);
}

.vedore-checkbox:checked::after {
      content: "✓";
      color: #fff;
      font-size: 14px;
      font-weight: 900;
      position: absolute;
}

.vedore-checkbox:focus {
      outline: none;
      border-color: var(--primary);
      box-shadow: 0 0 0 0.25rem rgba(1, 111, 40, .15);
}

.address-checkbox-label {
      font-weight: 700;
      color: rgba(6, 42, 35, .80);
      cursor: pointer;
      display: inline-flex;
      align-items: center;
      user-select: none;
}

/* =========================
VEDORE CONFIRM DIALOG
========================= */

.jconfirm.jconfirm-vedore .jconfirm-bg {
      backdrop-filter: blur(6px);
}

.jconfirm.jconfirm-vedore .jconfirm-box {
      border-radius: 16px;
      border: 1px solid rgba(0, 0, 0, 0.08);
      box-shadow: 0 20px 50px rgba(0, 0, 0, 0.15);
      font-family: "Urbanist", sans-serif;
}

.jconfirm.jconfirm-vedore .jconfirm-title {
      font-weight: 600;
      font-size: 18px;
      color: #062a23;
}

.jconfirm.jconfirm-vedore .jconfirm-content {
      color: #444;
      font-size: 14px;
}

.jconfirm.jconfirm-vedore .btn-confirm {
      background: var(--primary);
      border: none;
      border-radius: 30px;
      padding: 8px 18px;
      color: #fff;
}

.jconfirm.jconfirm-vedore .btn-cancel {
      border-radius: 30px;
}


/* =========================
   PDP GALLERY - ENHANCED LIGHTBOX
   ========================= */

.pdp2-gallery--enhanced {
      grid-template-columns: 1.35fr 1fr 1fr;
      grid-auto-rows: 220px;
      gap: 14px;
}

.pdp2-gallery--enhanced .pdp2-g-item {
      position: relative;
      border-radius: 22px;
      overflow: hidden;
      background: rgba(255, 255, 255, .82);
      border: 1px solid rgba(6, 42, 35, .10);
      box-shadow: 0 14px 30px rgba(6, 42, 35, .06);
      transition: transform .18s ease, box-shadow .18s ease;
}

.pdp2-gallery--enhanced .pdp2-g-item:hover {
      transform: translateY(-3px);
      box-shadow: 0 18px 34px rgba(6, 42, 35, .10);
}

.pdp2-gallery--enhanced .pdp2-g-item--featured {
      grid-row: span 2;
}

.pdp2-gallery--enhanced .pdp2-g-item img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      transition: transform .35s ease;
}

.pdp2-gallery--enhanced .pdp2-g-item:hover img {
      transform: scale(1.04);
}

.pdp2-g-caption {
      position: absolute;
      left: 16px;
      right: 16px;
      bottom: 16px;
      padding: 14px 14px;
      border-radius: 18px;
      background: linear-gradient(180deg, rgba(0, 0, 0, .05), rgba(0, 0, 0, .48));
      border: 1px solid rgba(255, 255, 255, .14);
      color: #fff;
      text-align: left;
      backdrop-filter: blur(6px);
      -webkit-backdrop-filter: blur(6px);
}

.pdp2-g-caption-title {
      display: block;
      font-weight: 900;
      letter-spacing: .02em;
}

.pdp2-g-caption-sub {
      display: block;
      margin-top: 3px;
      font-size: .92rem;
      color: rgba(255, 255, 255, .80);
}

.pdp2-g-zoom {
      position: absolute;
      top: 14px;
      right: 14px;
      width: 42px;
      height: 42px;
      border-radius: 999px;
      display: grid;
      place-items: center;
      background: rgba(255, 255, 255, .16);
      border: 1px solid rgba(255, 255, 255, .20);
      color: #fff;
      backdrop-filter: blur(8px);
      -webkit-backdrop-filter: blur(8px);
      box-shadow: 0 10px 20px rgba(0, 0, 0, .14);
}

/* Interactive lightbox */
.pdp2-lightbox--interactive {
      background: rgba(8, 16, 14, .94);
      border: 1px solid rgba(255, 255, 255, .08);
      color: #fff;
}

.pdp2-lightbox--interactive .modal-header {
      padding: 18px 20px 6px;
}

.pdp2-lightbox--interactive .btn-close {
      filter: invert(1) grayscale(1);
      opacity: .9;
}

.pdp2-lightbox-topbar {
      display: flex;
      flex-direction: column;
      gap: 4px;
}

.pdp2-lightbox-kicker {
      letter-spacing: .16em;
      text-transform: uppercase;
      font-size: .72rem;
      color: rgba(255, 255, 255, .66);
      font-weight: 800;
}

.pdp2-lightbox-counter {
      color: rgba(255, 255, 255, .90);
      font-weight: 700;
}

.pdp2-lightbox-stage {
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center;
      min-height: 62vh;
      padding: 10px 56px;
}

.pdp2-lightbox-image-wrap {
      width: 100%;
      display: flex;
      justify-content: center;
      align-items: center;
}

.pdp2-lightbox-img {
      max-width: 100%;
      max-height: 68vh;
      width: auto;
      height: auto;
      object-fit: contain;
      border-radius: 18px;
      box-shadow: 0 18px 40px rgba(0, 0, 0, .28);
      background: rgba(255, 255, 255, .02);
}

.pdp2-lightbox-nav {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      width: 48px;
      height: 48px;
      border-radius: 999px;
      border: 1px solid rgba(255, 255, 255, .16);
      background: rgba(255, 255, 255, .08);
      color: #fff;
      display: grid;
      place-items: center;
      backdrop-filter: blur(8px);
      -webkit-backdrop-filter: blur(8px);
      z-index: 3;
      transition: background .18s ease, transform .18s ease;
}

.pdp2-lightbox-nav:hover {
      background: rgba(255, 255, 255, .16);
}

.pdp2-lightbox-prev {
      left: 0;
}

.pdp2-lightbox-next {
      right: 0;
}

.pdp2-lightbox-nav i {
      font-size: 1.2rem;
}

.pdp2-lightbox-thumbs {
      display: flex;
      gap: 10px;
      justify-content: center;
      flex-wrap: wrap;
      padding: 8px 0 6px;
}

.pdp2-lightbox-thumb {
      width: 72px;
      height: 72px;
      padding: 0;
      border-radius: 14px;
      overflow: hidden;
      border: 1px solid rgba(255, 255, 255, .10);
      background: rgba(255, 255, 255, .06);
      opacity: .66;
      transition: opacity .18s ease, transform .18s ease, border-color .18s ease;
}

.pdp2-lightbox-thumb img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
}

.pdp2-lightbox-thumb.active,
.pdp2-lightbox-thumb:hover {
      opacity: 1;
      transform: translateY(-2px);
      border-color: rgba(255, 255, 255, .28);
}

@media (max-width: 991.98px) {
      .pdp2-gallery--enhanced {
            grid-template-columns: 1fr 1fr;
            grid-auto-rows: 180px;
      }

      .pdp2-gallery--enhanced .pdp2-g-item--featured {
            grid-column: span 2;
            grid-row: span 1;
            min-height: 280px;
      }

      .pdp2-lightbox-stage {
            min-height: 52vh;
            padding: 6px 42px;
      }

      .pdp2-lightbox-img {
            max-height: 54vh;
      }

      .pdp2-lightbox-thumb {
            width: 62px;
            height: 62px;
      }
}

@media (max-width: 575.98px) {
      .pdp2-gallery--enhanced {
            grid-template-columns: 1fr;
            grid-auto-rows: 220px;
      }

      .pdp2-gallery--enhanced .pdp2-g-item--featured {
            grid-column: auto;
            min-height: 260px;
      }

      .pdp2-g-caption {
            left: 12px;
            right: 12px;
            bottom: 12px;
            padding: 12px;
      }

      .pdp2-g-zoom {
            width: 38px;
            height: 38px;
            top: 12px;
            right: 12px;
      }

      .pdp2-lightbox--interactive .modal-header {
            padding: 14px 14px 6px;
      }

      .pdp2-lightbox-stage {
            padding: 4px 0 8px;
            min-height: auto;
      }

      .pdp2-lightbox-nav {
            width: 42px;
            height: 42px;
            top: auto;
            bottom: -6px;
            transform: none;
      }

      .pdp2-lightbox-prev {
            left: calc(50% - 52px);
      }

      .pdp2-lightbox-next {
            right: calc(50% - 52px);
      }

      .pdp2-lightbox-img {
            max-height: 50vh;
            border-radius: 14px;
      }

      .pdp2-lightbox-thumbs {
            margin-top: 18px;
            padding-bottom: 4px;
      }

      .pdp2-lightbox-thumb {
            width: 56px;
            height: 56px;
            border-radius: 12px;
      }
}

/*
*   CHECKOUT SCREEN SHIPPING ADDRESS
*/
#shipping-addresses {
      display: grid;
      gap: 16px;
      padding-top: 20px;
}

.saved-address-card {
      position: relative;
      display: block;
      margin: 0;
      cursor: pointer;
}

.saved-address-radio {
      position: absolute;
      opacity: 0;
      pointer-events: none;
}

.saved-address-inner {
      position: relative;
      padding: 18px 18px 16px;
      border: 1px solid rgba(6, 42, 35, 0.12);
      border-radius: 18px;
      background: #ffffff;
      transition: all 0.25s ease;
      box-shadow: 0 8px 24px rgba(0, 0, 0, 0.04);
}

.saved-address-card:hover .saved-address-inner {
      transform: translateY(-2px);
      box-shadow: 0 14px 30px rgba(0, 0, 0, 0.08);
      border-color: rgba(6, 42, 35, 0.25);
}

.saved-address-card.active .saved-address-inner,
.saved-address-radio:checked+.saved-address-inner {
      border-color: #062A23;
      box-shadow: 0 14px 34px rgba(6, 42, 35, 0.12);
      background: #fcfffe;
}

.saved-address-top {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: 14px;
}

.saved-address-badge {
      display: inline-flex;
      align-items: center;
      min-height: 28px;
      padding: 5px 12px;
      border-radius: 999px;
      font-size: 12px;
      font-weight: 600;
      letter-spacing: 0.3px;
}

.saved-address-badge.default {
      background: #062A23;
      color: #fff;
}

.saved-address-badge.saved {
      background: rgba(109, 33, 30, 0.08);
      color: #6d211e;
}

.saved-address-action-btn {
      border: 0;
      background: transparent;
      color: #062A23;
      font-size: 13px;
      font-weight: 600;
      padding: 0;
      cursor: pointer;
}

.saved-address-user {
      margin-bottom: 10px;
}

.saved-address-name-row {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
}

.saved-address-name {
      font-size: 16px;
      font-weight: 700;
      color: #062A23;
      line-height: 1.3;
}

.saved-address-check {
      color: #062A23;
      font-size: 18px;
      opacity: 0;
      transform: scale(0.9);
      transition: all 0.25s ease;
}

.saved-address-radio:checked+.saved-address-inner .saved-address-check {
      opacity: 1;
      transform: scale(1);
}

.saved-address-mobile {
      margin-top: 4px;
      font-size: 14px;
      color: #444;
}

.saved-address-text {
      font-size: 14px;
      line-height: 1.7;
      color: #5b5b5b;
      padding-right: 20px;
}

/* =========================
   ORDER DETAIL PAGE - REDESIGNED
   ========================= */

.order-detail-hero {
      padding: 110px 0 34px;
      background:
            radial-gradient(900px 500px at 20% 10%, rgba(109, 33, 30, .10), transparent 60%),
            radial-gradient(900px 500px at 80% 30%, rgba(6, 42, 35, .10), transparent 55%),
            linear-gradient(180deg, #ffffff 0%, var(--bg) 100%);
      border-bottom: 1px solid rgba(6, 42, 35, .08);
}

.order-detail-title {
      font-family: "The Seasons", "Urbanist", serif;
      letter-spacing: .04em;
      font-size: clamp(1.9rem, 3vw, 2.7rem);
      line-height: 1.15;
      margin: 0;
      color: var(--primary);
}

.order-detail-subtitle {
      max-width: 62ch;
      color: rgba(6, 42, 35, .70);
      line-height: 1.75;
}

.order-detail-hero-card {
      border: 1px solid rgba(6, 42, 35, .10);
      border-radius: 22px;
      background: rgba(255, 255, 255, .84);
      padding: 18px;
      box-shadow: 0 14px 30px rgba(6, 42, 35, .06);
      display: flex;
      align-items: center;
      gap: 14px;
}

.order-detail-hero-icon {
      width: 64px;
      height: 64px;
      border-radius: 999px;
      display: grid;
      place-items: center;
      background: linear-gradient(135deg, rgba(109, 33, 30, .16), rgba(6, 42, 35, .14));
      color: var(--primary);
      font-size: 1.3rem;
      border: 1px solid rgba(6, 42, 35, .10);
}

.order-detail-hero-name {
      font-weight: 900;
      color: rgba(6, 42, 35, .88);
}

.order-detail-hero-meta {
      color: rgba(6, 42, 35, .62);
      font-weight: 650;
      margin-top: 2px;
}

.order-detail-main {
      padding: 42px 0 80px;
      background: var(--bg);
}

.order-panel,
.order-summary-panel {
      border: 1px solid rgba(6, 42, 35, .10);
      border-radius: 24px;
      background: rgba(255, 255, 255, .88);
      padding: 22px;
      box-shadow: 0 16px 40px rgba(6, 42, 35, .08);
}

.order-panel-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 14px;
      flex-wrap: wrap;
}

.order-panel-title {
      font-family: "The Seasons", "Urbanist", serif;
      letter-spacing: .03em;
      color: var(--primary);
      font-size: 1.45rem;
      margin: 0;
}

.order-status-wrap {
      display: flex;
      gap: 10px;
      flex-wrap: wrap;
}

.order-pill {
      display: inline-flex;
      align-items: center;
      padding: 8px 14px;
      border-radius: 999px;
      background: rgba(6, 42, 35, .08);
      border: 1px solid rgba(6, 42, 35, .12);
      color: rgba(6, 42, 35, .86);
      font-size: .92rem;
      font-weight: 700;
}

.order-pill--soft {
      background: rgba(109, 33, 30, .06);
      color: rgba(109, 33, 30, .86);
      border-color: rgba(109, 33, 30, .12);
}

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

.order-meta-box {
      border: 1px solid rgba(6, 42, 35, .10);
      border-radius: 18px;
      background: rgba(255, 255, 255, .82);
      padding: 16px;
}

.order-meta-label {
      letter-spacing: .14em;
      text-transform: uppercase;
      font-size: .72rem;
      color: rgba(6, 42, 35, .56);
      font-weight: 800;
      margin-bottom: 6px;
}

.order-meta-value {
      color: rgba(6, 42, 35, .86);
      font-weight: 800;
      line-height: 1.5;
}

/* items */
.order-items-list {
      display: grid;
      gap: 14px;
}

.order-item-row {
      display: flex;
      gap: 16px;
      align-items: center;
      border: 1px solid rgba(6, 42, 35, .10);
      border-radius: 20px;
      background: rgba(255, 255, 255, .82);
      padding: 16px;
      transition: transform .14s ease, box-shadow .14s ease;
}

.order-item-row:hover {
      transform: translateY(-1px);
      box-shadow: 0 12px 28px rgba(6, 42, 35, .06);
}

.order-item-img {
      width: 96px;
      min-width: 96px;
      height: 96px;
      border-radius: 18px;
      overflow: hidden;
      border: 1px solid rgba(6, 42, 35, .10);
      background: rgba(255, 255, 255, .70);
}

.order-item-img img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
}

.order-item-body {
      flex: 1;
      min-width: 0;
}

.order-item-main {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      gap: 16px;
      flex-wrap: wrap;
}

.order-item-name {
      font-size: 1.04rem;
      font-weight: 900;
      color: rgba(6, 42, 35, .90);
      margin: 0 0 6px;
      line-height: 1.4;
}

.order-item-meta-line {
      color: rgba(6, 42, 35, .66);
      font-weight: 700;
      font-size: .94rem;
}

.order-item-price-box {
      text-align: right;
}

.order-item-price {
      font-size: 1.04rem;
      font-weight: 900;
      color: var(--primary);
}

.order-item-subprice {
      margin-top: 4px;
      color: rgba(6, 42, 35, .66);
      font-weight: 700;
      font-size: .92rem;
}

/* shipping */
.shipping-card {
      border: 1px solid rgba(6, 42, 35, .10);
      border-radius: 20px;
      background:
            linear-gradient(180deg, rgba(109, 33, 30, .05), rgba(255, 255, 255, .90));
      padding: 18px;
}

.shipping-card-name {
      font-size: 1rem;
      font-weight: 900;
      color: rgba(6, 42, 35, .90);
      margin-bottom: 4px;
}

.shipping-card-phone {
      color: rgba(6, 42, 35, .70);
      font-weight: 700;
      margin-bottom: 8px;
}

.shipping-card-address {
      color: rgba(6, 42, 35, .76);
      line-height: 1.8;
      font-weight: 600;
}

/* summary */
.order-summary-panel {
      position: sticky;
      top: 96px;
}

.order-summary-box {
      border: 1px solid rgba(6, 42, 35, .10);
      border-radius: 20px;
      background: rgba(255, 255, 255, .82);
      padding: 18px;
}

.order-summary-line {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 14px;
      color: rgba(6, 42, 35, .78);
      font-weight: 700;
      padding: 10px 0;
}

.order-summary-separator {
      height: 1px;
      background: rgba(6, 42, 35, .10);
      margin: 2px 0;
}

.order-summary-line--total {
      color: var(--primary);
      font-size: 1.05rem;
      font-weight: 900;
}

.order-help-note {
      border-left: 3px solid var(--secondary);
      padding: 10px 12px;
      background: rgba(109, 33, 30, .06);
      border-radius: 12px;
      color: rgba(6, 42, 35, .72);
      font-size: .95rem;
}

.order-help-note a {
      color: var(--primary);
      font-weight: 800;
      text-decoration: none;
}

.order-help-note a:hover {
      text-decoration: underline;
}

/* print */
@media print {

      #mainNavbar,
      #footer,
      .btn,
      .modal,
      .dropdown,
      .order-help-note {
            display: none !important;
      }

      body {
            background: #fff !important;
      }

      .order-detail-hero,
      .order-detail-main {
            background: #fff !important;
            padding: 0 !important;
      }

      .order-panel,
      .order-summary-panel,
      .order-item-row,
      .order-meta-box,
      .shipping-card,
      .order-summary-box {
            box-shadow: none !important;
            background: #fff !important;
            border-color: #ddd !important;
      }

      .order-summary-panel {
            position: static !important;
      }

      .container {
            max-width: 100% !important;
            width: 100% !important;
      }
}

/* responsive */
@media (max-width: 991.98px) {
      .order-summary-panel {
            position: static;
      }
}

@media (max-width: 575.98px) {
      .order-detail-hero {
            padding: 98px 0 24px;
      }

      .order-panel,
      .order-summary-panel {
            padding: 18px;
      }

      .order-meta-grid {
            grid-template-columns: 1fr;
      }

      .order-item-row {
            align-items: flex-start;
      }

      .order-item-img {
            width: 80px;
            min-width: 80px;
            height: 80px;
      }

      .order-item-main {
            flex-direction: column;
            align-items: flex-start;
      }

      .order-item-price-box {
            text-align: left;
      }
}

/* =========================
   DETAILED COMPOSITION MODAL
   ========================= */

.composition-modal {
      border-radius: 26px;
      overflow: hidden;
      border: 1px solid rgba(255, 255, 255, .10);
      background:
            radial-gradient(900px 520px at 15% 0%, rgba(255, 255, 255, .06), transparent 60%),
            radial-gradient(900px 520px at 85% 20%, rgba(109, 33, 30, .08), transparent 55%),
            linear-gradient(180deg, #0a3a32 0%, var(--primary) 52%, #041f1a 100%);
      color: rgba(255, 255, 255, .92);
      box-shadow: 0 28px 60px rgba(0, 0, 0, .24);
}

.composition-modal__header {
      padding: 26px 26px 14px;
}

.composition-modal__eyebrow {
      letter-spacing: .20em;
      text-transform: uppercase;
      font-size: .76rem;
      color: rgba(255, 255, 255, .72);
      font-weight: 800;
}

.composition-modal__title {
      font-family: "The Seasons", "Urbanist", serif;
      letter-spacing: .03em;
      font-size: clamp(1.6rem, 2.4vw, 2.2rem);
      color: #fff;
}

.composition-modal__close {
      filter: invert(1) grayscale(1);
      opacity: .9;
}

.composition-modal__body {
      padding: 8px 26px 22px;
}

.composition-modal__footer {
      padding: 12px 26px 24px;
      justify-content: space-between;
}

.composition-footer-note {
      color: rgba(255, 255, 255, .68);
      font-weight: 600;
      font-size: .95rem;
}

/* left side */
.composition-hero-card {
      border: 1px solid rgba(255, 255, 255, .14);
      border-radius: 24px;
      overflow: hidden;
      background: rgba(255, 255, 255, .08);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
}

.composition-hero-card__media {
      aspect-ratio: 1 / 1;
      overflow: hidden;
}

.composition-hero-card__media img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
}

.composition-hero-card__content {
      padding: 18px;
}

.composition-badge {
      display: inline-flex;
      align-items: center;
      padding: 8px 14px;
      border-radius: 999px;
      background: rgba(255, 255, 255, .12);
      border: 1px solid rgba(255, 255, 255, .16);
      color: #fff;
      font-size: .85rem;
      font-weight: 800;
      margin-bottom: 12px;
}

.composition-hero-text {
      color: rgba(255, 255, 255, .80);
      line-height: 1.8;
}

.composition-note-box {
      border: 1px solid rgba(255, 255, 255, .12);
      border-radius: 18px;
      padding: 16px;
      background: rgba(255, 255, 255, .07);
      color: rgba(255, 255, 255, .78);
      line-height: 1.75;
}

.composition-note-box__title {
      font-weight: 900;
      color: #fff;
      margin-bottom: 6px;
}

/* right grid */
.composition-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 14px;
}

.composition-item {
      border: 1px solid rgba(255, 255, 255, .12);
      border-radius: 20px;
      padding: 16px;
      background: rgba(255, 255, 255, .07);
      backdrop-filter: blur(8px);
      -webkit-backdrop-filter: blur(8px);
      transition: transform .18s ease, background .18s ease, border-color .18s ease;
}

.composition-item:hover {
      transform: translateY(-2px);
      background: rgba(255, 255, 255, .10);
      border-color: rgba(255, 255, 255, .20);
}

.composition-item__top {
      display: flex;
      align-items: center;
      gap: 12px;
      margin-bottom: 10px;
}

.composition-item__icon {
      width: 42px;
      height: 42px;
      min-width: 42px;
      border-radius: 999px;
      display: grid;
      place-items: center;
      font-weight: 900;
      color: #fff;
      background: linear-gradient(135deg, rgba(109, 33, 30, .85), rgba(255, 255, 255, .18));
      border: 1px solid rgba(255, 255, 255, .14);
      box-shadow: 0 10px 24px rgba(0, 0, 0, .14);
}

.composition-item__name {
      font-weight: 900;
      color: #fff;
      line-height: 1.3;
}

.composition-item__tag {
      font-size: .84rem;
      color: rgba(255, 255, 255, .66);
      margin-top: 2px;
}

.composition-item__text {
      color: rgba(255, 255, 255, .78);
      line-height: 1.75;
      font-size: .95rem;
}

/* timeline */
.composition-timeline {
      border: 1px solid rgba(255, 255, 255, .12);
      border-radius: 22px;
      padding: 18px;
      background: rgba(255, 255, 255, .06);
}

.composition-timeline__title {
      font-weight: 900;
      color: #fff;
      margin-bottom: 14px;
      letter-spacing: .01em;
}

.composition-step {
      display: grid;
      grid-template-columns: 14px 1fr;
      gap: 14px;
      padding: 12px 0;
}

.composition-step:not(:last-child) {
      border-bottom: 1px dashed rgba(255, 255, 255, .12);
}

.composition-step__dot {
      width: 10px;
      height: 10px;
      border-radius: 999px;
      background: #fff;
      box-shadow: 0 0 0 6px rgba(255, 255, 255, .10);
      margin-top: 7px;
}

.composition-step__name {
      font-weight: 800;
      color: #fff;
      margin-bottom: 3px;
}

.composition-step__text {
      color: rgba(255, 255, 255, .76);
      line-height: 1.7;
      font-size: .95rem;
}

/* mobile */
@media (max-width: 991.98px) {
      .composition-grid {
            grid-template-columns: 1fr;
      }
}

@media (max-width: 575.98px) {

      .composition-modal__header,
      .composition-modal__body,
      .composition-modal__footer {
            padding-left: 16px;
            padding-right: 16px;
      }

      .composition-modal__footer {
            flex-direction: column;
            align-items: stretch;
            gap: 10px;
      }

      .composition-footer-note {
            text-align: center;
      }

      .composition-item,
      .composition-timeline,
      .composition-note-box {
            border-radius: 18px;
      }
}

/* =========================
   COMPOSITION MODAL CAROUSEL
   ========================= */

.composition-carousel {
      position: relative;
}

.composition-carousel__inner {
      border-bottom: 1px solid rgba(255, 255, 255, .08);
}

.composition-carousel .carousel-item {
      position: relative;
}

.composition-carousel .composition-hero-card__media {
      aspect-ratio: 1 / 1;
      overflow: hidden;
      position: relative;
}

.composition-carousel .composition-hero-card__media img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
}

.composition-carousel__caption {
      position: absolute;
      left: 16px;
      right: 16px;
      bottom: 16px;
      padding: 14px;
      border-radius: 16px;
      background: linear-gradient(180deg, rgba(0, 0, 0, .08), rgba(0, 0, 0, .48));
      border: 1px solid rgba(255, 255, 255, .16);
      backdrop-filter: blur(8px);
      -webkit-backdrop-filter: blur(8px);
      color: #fff;
}

.composition-carousel__title {
      font-weight: 900;
      letter-spacing: .02em;
}

.composition-carousel__sub {
      margin-top: 3px;
      font-size: .9rem;
      color: rgba(255, 255, 255, .78);
}

.composition-carousel__control {
      width: 44px;
      opacity: 1;
}

.composition-carousel__control .carousel-control-prev-icon,
.composition-carousel__control .carousel-control-next-icon {
      width: 2.3rem;
      height: 2.3rem;
      border-radius: 999px;
      background-color: rgba(255, 255, 255, .18);
      backdrop-filter: blur(8px);
      -webkit-backdrop-filter: blur(8px);
      background-size: 50% 50%;
}

.composition-carousel__indicators {
      margin-bottom: 10px;
}

.composition-carousel__indicators [data-bs-target] {
      width: 18px;
      height: 4px;
      border-radius: 999px;
      border: 0;
}

@media (max-width: 575.98px) {
      .composition-carousel__caption {
            left: 12px;
            right: 12px;
            bottom: 12px;
            padding: 12px;
      }

      .composition-carousel__title {
            font-size: .96rem;
      }

      .composition-carousel__sub {
            font-size: .84rem;
      }
}

/* FIX: Carousel controls alignment */

.composition-carousel .carousel-control-prev,
.composition-carousel .carousel-control-next {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      width: 48px;
      height: 48px;
      display: flex;
      align-items: center;
      justify-content: center;
      z-index: 5;
}

/* Left button */
.composition-carousel .carousel-control-prev {
      left: 12px;
}

/* Right button */
.composition-carousel .carousel-control-next {
      right: 12px;
}

/* Make buttons circular + premium */
.composition-carousel .carousel-control-prev-icon,
.composition-carousel .carousel-control-next-icon {
      width: 36px;
      height: 36px;
      border-radius: 50%;
      background-color: rgba(255, 255, 255, 0.18);
      backdrop-filter: blur(8px);
      -webkit-backdrop-filter: blur(8px);
      background-size: 55% 55%;
}

/* =========================
   ORDER HISTORY PAGE
   ========================= */

.orders-hero {
      padding: 110px 0 34px;
      background:
            radial-gradient(900px 500px at 20% 10%, rgba(109, 33, 30, .10), transparent 60%),
            radial-gradient(900px 500px at 80% 30%, rgba(6, 42, 35, .10), transparent 55%),
            linear-gradient(180deg, #ffffff 0%, var(--bg) 100%);
      border-bottom: 1px solid rgba(6, 42, 35, .08);
}

.orders-title {
      font-family: "The Seasons", "Urbanist", serif;
      letter-spacing: .04em;
      font-size: clamp(1.9rem, 3vw, 2.7rem);
      line-height: 1.15;
      margin: 0;
      color: var(--primary);
}

.orders-subtitle {
      max-width: 62ch;
      color: rgba(6, 42, 35, .70);
      line-height: 1.75;
}

.orders-hero-card {
      border: 1px solid rgba(6, 42, 35, .10);
      border-radius: 22px;
      background: rgba(255, 255, 255, .84);
      padding: 18px;
      box-shadow: 0 14px 30px rgba(6, 42, 35, .06);
      display: flex;
      align-items: center;
      gap: 14px;
}

.orders-hero-icon {
      width: 64px;
      height: 64px;
      border-radius: 999px;
      display: grid;
      place-items: center;
      background: linear-gradient(135deg, rgba(109, 33, 30, .16), rgba(6, 42, 35, .14));
      color: var(--primary);
      font-size: 1.3rem;
      border: 1px solid rgba(6, 42, 35, .10);
}

.orders-hero-name {
      font-weight: 900;
      color: rgba(6, 42, 35, .88);
}

.orders-hero-meta {
      color: rgba(6, 42, 35, .62);
      font-weight: 650;
      margin-top: 2px;
}

.orders-section {
      padding: 42px 0 80px;
      background: var(--bg);
}

/* filter */
.orders-filter-bar {
      border: 1px solid rgba(6, 42, 35, .10);
      border-radius: 22px;
      background: rgba(255, 255, 255, .86);
      padding: 18px;
      box-shadow: 0 16px 40px rgba(6, 42, 35, .08);
}

.orders-filter-label {
      font-weight: 800;
      color: rgba(6, 42, 35, .78);
      letter-spacing: .02em;
}

.orders-filter-input {
      border-radius: 14px;
      border: 1px solid rgba(6, 42, 35, .14);
      padding: 12px 12px;
      background: rgba(255, 255, 255, .95);
}

.orders-filter-input:focus {
      border-color: rgba(6, 42, 35, .30);
      box-shadow: 0 0 0 0.2rem rgba(6, 42, 35, .08);
}

/* list */
.orders-list {
      display: grid;
      gap: 16px;
}

.order-history-card {
      border: 1px solid rgba(6, 42, 35, .10);
      border-radius: 22px;
      background: rgba(255, 255, 255, .88);
      padding: 18px;
      box-shadow: 0 16px 40px rgba(6, 42, 35, .08);
      display: flex;
      gap: 18px;
      align-items: center;
      transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.order-history-card:hover {
      transform: translateY(-2px);
      box-shadow: 0 18px 42px rgba(6, 42, 35, .10);
      border-color: rgba(6, 42, 35, .16);
}

.order-history-card__media {
      width: 110px;
      min-width: 110px;
      height: 110px;
      border-radius: 18px;
      overflow: hidden;
      border: 1px solid rgba(6, 42, 35, .10);
      background: rgba(255, 255, 255, .70);
}

.order-history-card__media img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
}

.order-history-card__body {
      flex: 1;
      min-width: 0;
}

.order-history-card__top {
      display: flex;
      justify-content: space-between;
      gap: 16px;
      align-items: flex-start;
      flex-wrap: wrap;
}

.order-history-id {
      letter-spacing: .14em;
      text-transform: uppercase;
      font-size: .72rem;
      color: rgba(6, 42, 35, .58);
      font-weight: 800;
      margin-bottom: 6px;
}

.order-history-product {
      font-size: 1.08rem;
      font-weight: 900;
      color: rgba(6, 42, 35, .90);
      line-height: 1.4;
}

.order-history-meta {
      color: rgba(6, 42, 35, .66);
      font-weight: 700;
      font-size: .94rem;
}

.order-history-status-wrap {
      display: flex;
      flex-direction: column;
      gap: 8px;
      align-items: flex-end;
}

.order-history-status,
.order-history-payment {
      display: inline-flex;
      align-items: center;
      padding: 7px 12px;
      border-radius: 999px;
      font-size: .85rem;
      font-weight: 800;
      white-space: nowrap;
}

.order-history-status--processing {
      background: rgba(6, 42, 35, .08);
      border: 1px solid rgba(6, 42, 35, .12);
      color: rgba(6, 42, 35, .86);
}

.order-history-status--delivered {
      background: rgba(22, 132, 74, .10);
      border: 1px solid rgba(22, 132, 74, .16);
      color: #16844a;
}

.order-history-status--cancelled {
      background: rgba(109, 33, 30, .10);
      border: 1px solid rgba(109, 33, 30, .14);
      color: var(--secondary);
}

.order-history-status--shipped {
      background: rgba(70, 97, 180, .10);
      border: 1px solid rgba(70, 97, 180, .14);
      color: #4661b4;
}

.order-history-status--placed {
      background: rgba(183, 125, 30, .10);
      border: 1px solid rgba(183, 125, 30, .14);
      color: #b77d1e;
}

.order-history-payment {
      background: rgba(255, 255, 255, .88);
      border: 1px solid rgba(6, 42, 35, .10);
      color: rgba(6, 42, 35, .72);
}

.order-history-card__bottom {
      margin-top: 14px;
      display: flex;
      justify-content: space-between;
      gap: 14px;
      align-items: center;
      flex-wrap: wrap;
}

.order-history-total {
      color: rgba(6, 42, 35, .72);
      font-weight: 700;
}

.order-history-total span {
      color: var(--primary);
      font-weight: 900;
      font-size: 1.02rem;
      margin-left: 4px;
}

.order-history-actions {
      display: flex;
      gap: 10px;
      flex-wrap: wrap;
}

/* empty state */
.orders-empty-state {
      border: 1px solid rgba(6, 42, 35, .10);
      border-radius: 24px;
      background: rgba(255, 255, 255, .88);
      padding: 34px 24px;
      box-shadow: 0 16px 40px rgba(6, 42, 35, .08);
      text-align: center;
}

.orders-empty-state__icon {
      width: 74px;
      height: 74px;
      border-radius: 999px;
      display: grid;
      place-items: center;
      margin: 0 auto 14px;
      background: linear-gradient(135deg, rgba(109, 33, 30, .14), rgba(6, 42, 35, .12));
      color: var(--primary);
      font-size: 1.5rem;
      border: 1px solid rgba(6, 42, 35, .10);
}

.orders-empty-state__title {
      font-family: "The Seasons", "Urbanist", serif;
      letter-spacing: .03em;
      color: var(--primary);
      margin-bottom: 8px;
}

.orders-empty-state__text {
      color: rgba(6, 42, 35, .70);
      line-height: 1.75;
      max-width: 58ch;
      margin: 0 auto 18px;
}

/* pagination */
.orders-pagination-wrap {
      border: 1px solid rgba(6, 42, 35, .10);
      border-radius: 20px;
      background: rgba(255, 255, 255, .86);
      padding: 16px;
      box-shadow: 0 16px 40px rgba(6, 42, 35, .08);
}

.orders-pagination .page-link {
      border-radius: 12px !important;
      border: 1px solid rgba(6, 42, 35, .10);
      color: rgba(6, 42, 35, .80);
      padding: 10px 14px;
      margin: 0 4px;
      background: rgba(255, 255, 255, .90);
      font-weight: 700;
      box-shadow: none;
}

.orders-pagination .page-link:hover {
      background: rgba(6, 42, 35, .05);
      color: var(--primary);
      border-color: rgba(6, 42, 35, .18);
}

.orders-pagination .page-item.active .page-link {
      background: linear-gradient(135deg, var(--secondary), #3A0D13);
      border-color: transparent;
      color: #fff;
      box-shadow: 0 12px 24px rgba(6, 42, 35, .16);
}

.orders-pagination .page-item.disabled .page-link {
      color: rgba(6, 42, 35, .36);
      background: rgba(255, 255, 255, .75);
}

/* mobile */
@media (max-width: 767.98px) {
      .order-history-card {
            flex-direction: column;
            align-items: flex-start;
      }

      .order-history-card__media {
            width: 100%;
            height: 220px;
      }

      .order-history-status-wrap {
            align-items: flex-start;
      }

      .order-history-card__bottom {
            align-items: flex-start;
            flex-direction: column;
      }

      .orders-pagination .page-link {
            padding: 8px 12px;
            margin: 0 2px;
      }
}

@media (max-width: 575.98px) {
      .orders-hero {
            padding: 98px 0 24px;
      }

      .orders-filter-bar,
      .orders-pagination-wrap,
      .order-history-card,
      .orders-empty-state {
            padding: 16px;
      }

      .order-history-card__media {
            height: 180px;
      }

      .order-history-product {
            font-size: 1rem;
      }
}

/* =========================
   INVITATION REVIEW HERO - REDESIGN
   ========================= */

.review-hero__overlay {
      position: absolute;
      inset: 0;
      background:
            linear-gradient(180deg,
                  rgba(5, 16, 14, .10) 0%,
                  rgba(5, 16, 14, .16) 40%,
                  rgba(5, 16, 14, .58) 100%);
      z-index: 1;
}

.review-hero__content {
      position: relative;
      z-index: 2;
}

.review-hero__panel {
      margin-bottom: 88px;
      padding: 28px 30px;
      border-radius: 28px;
      background:
            linear-gradient(180deg,
                  rgba(6, 42, 35, .30) 0%,
                  rgba(6, 42, 35, .48) 100%);
      border: 1px solid rgba(255, 255, 255, .14);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
      box-shadow: 0 22px 50px rgba(0, 0, 0, .18);
}

.review-hero__eyebrow {
      color: rgba(255, 255, 255, .76);
}

.review-hero__text {
      color: rgba(255, 255, 255, .84);
      line-height: 1.8;
      font-size: 1.02rem;
      max-width: 60ch;
}

.review-hero__side {
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      height: 100%;
}

.review-status-badge--dark {
      background: rgba(255, 255, 255, .16);
      border: 1px solid rgba(255, 255, 255, .18);
      color: #fff;
}

.review-status-badge--darksoft {
      background: rgba(255, 255, 255, .10);
      border: 1px solid rgba(255, 255, 255, .14);
      color: rgba(255, 255, 255, .84);
}

.review-hero .btn-outline-light {
      border-color: rgba(255, 255, 255, .32);
      color: #fff;
      background: rgba(255, 255, 255, .06);
}

.review-hero .btn-outline-light:hover {
      background: rgba(255, 255, 255, .14);
      color: #fff;
      border-color: rgba(255, 255, 255, .44);
}

/* old card no longer needed in hero */
.review-hero__card {
      display: none;
}

@media (max-width: 991.98px) {
      .review-hero__panel {
            margin-bottom: 72px;
            padding: 22px 20px;
            border-radius: 22px;
      }

      .review-hero__text {
            font-size: .98rem;
      }

      .review-hero__side {
            margin-top: 6px;
      }
}

@media (max-width: 575.98px) {
      .review-hero__panel {
            margin-bottom: 64px;
            padding: 18px 16px;
            border-radius: 18px;
      }

      .review-hero__text {
            line-height: 1.7;
            font-size: .95rem;
      }

      .review-status-badges {
            gap: 8px;
      }

      .review-status-badge {
            font-size: .8rem;
            padding: 7px 10px;
      }
}

/* =========================
   REVIEW HERO CAROUSEL CONTROLS FIX
   ========================= */

.review-carousel .carousel-control-prev,
.review-carousel .carousel-control-next {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      width: 56px;
      height: 56px;
      display: flex;
      align-items: center;
      justify-content: center;
      opacity: 1 !important;
      z-index: 4;
}

.review-carousel .carousel-control-prev {
      left: 18px;
}

.review-carousel .carousel-control-next {
      right: 18px;
}

.review-carousel .carousel-control-prev-icon,
.review-carousel .carousel-control-next-icon {
      width: 44px;
      height: 44px;
      border-radius: 999px;
      background-color: rgba(255, 255, 255, .22);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
      background-size: 52% 52%;
      box-shadow: 0 10px 24px rgba(0, 0, 0, .16);
      transition: transform .2s ease, background-color .2s ease, opacity .2s ease;
      opacity: 1 !important;
}

.review-carousel .carousel-control-prev:hover .carousel-control-prev-icon,
.review-carousel .carousel-control-next:hover .carousel-control-next-icon {
      background-color: rgba(255, 255, 255, .32);
      transform: scale(1.04);
}

/* keep indicators above image too */
.review-carousel-indicators {
      z-index: 4;
}

/* mobile refinement */
@media (max-width: 575.98px) {

      .review-carousel .carousel-control-prev,
      .review-carousel .carousel-control-next {
            width: 46px;
            height: 46px;
      }

      .review-carousel .carousel-control-prev {
            left: 10px;
      }

      .review-carousel .carousel-control-next {
            right: 10px;
      }

      .review-carousel .carousel-control-prev-icon,
      .review-carousel .carousel-control-next-icon {
            width: 36px;
            height: 36px;
      }
}

/* =========================
   INVITATION REVIEW - RITUAL SECTION REDESIGN
   ========================= */

.review-ritual-section {
      background: var(--bg);
}

.review-ritual-media {
      position: relative;
      height: 100%;
      min-height: 620px;
      overflow: hidden;
}

.review-ritual-media img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
}

.review-ritual-content {
      width: 100%;
      max-width: 720px;
      padding: 72px 8%;
}

.review-ritual-title {
      font-family: "The Seasons", "Urbanist", serif;
      letter-spacing: .03em;
      color: var(--primary);
      font-size: clamp(1.9rem, 3vw, 2.8rem);
      line-height: 1.12;
}

.review-ritual-text {
      color: rgba(6, 42, 35, .74);
      line-height: 1.85;
      font-size: 1.02rem;
      max-width: 58ch;
}

.review-ritual-points {
      display: grid;
      gap: 16px;
}

.review-ritual-point {
      display: grid;
      grid-template-columns: 14px 1fr;
      gap: 14px;
      align-items: flex-start;
}

.review-ritual-dot {
      width: 10px;
      height: 10px;
      border-radius: 999px;
      background: var(--secondary);
      box-shadow: 0 0 0 6px rgba(109, 33, 30, .10);
      margin-top: 7px;
}

.review-ritual-point-title {
      font-weight: 900;
      color: rgba(6, 42, 35, .90);
      margin-bottom: 3px;
      letter-spacing: .01em;
}

.review-ritual-point-text {
      color: rgba(6, 42, 35, .68);
      line-height: 1.75;
      font-size: .96rem;
}

@media (max-width: 991.98px) {
      .review-ritual-media {
            min-height: 420px;
      }

      .review-ritual-content {
            padding: 42px 22px;
      }
}

@media (max-width: 575.98px) {
      .review-ritual-media {
            min-height: 320px;
      }

      .review-ritual-content {
            padding: 34px 16px;
      }

      .review-ritual-title {
            font-size: 1.8rem;
      }

      .review-ritual-text {
            font-size: .96rem;
            line-height: 1.75;
      }

      .review-ritual-point {
            gap: 12px;
      }
}

/* =========================
   NAVBAR TEXT COLOR BEHAVIOR
   ========================= */

/* Default (before scroll) → transparent navbar */
/* .navbar:not(.scrolled) .nav-link {
      color: #ffffff !important;
} */

/* .navbar:not(.scrolled) .navbar-brand {
      color: #ffffff !important;
} */

/* Optional: icons / toggler */
/* .navbar:not(.scrolled) .navbar-toggler {
      border-color: rgba(255, 255, 255, 0.6);
} */

/* .navbar:not(.scrolled) .navbar-toggler-icon {
      filter: invert(1);
} */

/* After scroll → keep your existing styles (no change needed) */
/* .navbar.scrolled .nav-link {
      color: var(--primary);
   
} */