/* =============================================================
   IVORIC v5 — "same house, more life"
   A small, targeted layer. Same fonts (Bebas Neue + Inter), same palette
   (ink / cream / tan / burgundy / olive). It restyles only:
     1. the homepage ticker      4. the footer
     2. the Tee Edit header      5. the login page
     3. Instagram + philosophy   6. the account hero + empty orders
   Self-contained: every colour has a fallback, so it does not depend on
   older stylesheets being current.
   Kill switch: set $iv_v5 = false in include/head.php and this file stops
   loading; the PHP blocks fall back to their previous markup.
   ============================================================= */
:root {
  --v5-ink: #0F0F0F;
  --v5-cream: #F5F0E8;
  --v5-cream-soft: #FAF7F1;
  --v5-line: #E8E4DC;
  --v5-tan: #C68B59;
  --v5-tan-d: #A5612F;
  --v5-burg: #7A2E38;
  --v5-burg-d: #3D1015;
  --v5-olive: #5C6B3C;
  --v5-wine: #8C2438;
  --v5-wine-l: #D24A68;
  --v5-display: 'Bebas Neue', 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  --v5-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --v5-ig: linear-gradient(135deg, #833AB4 0%, #C13584 36%, #E1306C 60%, #F56040 82%, #FCAF45 100%);
}

/* ---------- 1. Ticker: one voice, one size, one rhythm ---------- */
body.iv-home .iv3-moods { background: var(--v5-ink); padding: clamp(12px, 1.6vw, 18px) 0; border-block: 1px solid rgba(198,139,89,.35); }
body.iv-home .iv3-moods__track { animation-duration: 70s; align-items: center; }
body.iv-home .iv3-moods__item,
body.iv-home .iv3-moods__item.is-out {
  font-size: clamp(1.25rem, 2vw, 1.7rem); letter-spacing: .16em; line-height: 1; gap: clamp(28px, 3.2vw, 48px); padding-right: clamp(28px, 3.2vw, 48px);
  color: var(--v5-cream); -webkit-text-stroke: 0; font-weight: 400;
}
body.iv-home .iv3-moods__star { width: 6px; height: 6px; clip-path: none; border-radius: 50%; background: var(--v5-tan); }

/* ---------- 2. Tee Edit ---------- */
body.iv-home .iv5-edit {
  background:
    radial-gradient(820px 380px at 100% 0%, rgba(198,139,89,.20), transparent 70%),
    radial-gradient(640px 320px at 0% 100%, rgba(122,46,56,.10), transparent 70%),
    var(--v5-cream-soft);
  border-bottom: 1px solid var(--v5-line);
}
body.iv-home .iv5-edit .iv-section__head { position: relative; }
body.iv-home .iv5-edit .iv-eyebrow::before { background: var(--v5-burg); animation: iv5-pulse 2.2s ease-in-out infinite; }
body.iv-home .iv5-edit .iv-section__title .iv-hl {
  color: var(--v5-ink); text-decoration: underline; text-decoration-color: var(--v5-tan); text-decoration-thickness: .07em; text-underline-offset: .09em; text-decoration-skip-ink: none;
}
.iv5-edit__all {
  display: inline-flex; align-items: center; gap: 10px; align-self: flex-start;
  font: 700 12.5px/1 var(--v5-body); letter-spacing: .14em; text-transform: uppercase; text-decoration: none;
  color: var(--v5-ink); border-bottom: 2px solid var(--v5-tan); padding-bottom: 6px; transition: gap .2s, color .2s;
}
.iv5-edit__all:hover { gap: 16px; color: var(--v5-tan-d); }
@media (min-width: 992px) {
  body.iv-home .iv5-edit .iv-section__head { padding-right: 240px; }
  .iv5-edit__all { position: absolute; right: 0; bottom: 8px; }
}
@media (hover: hover) {
  body.iv-home .iv5-edit .product-card { transition: transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s; }
  body.iv-home .iv5-edit .product-card:hover { transform: translateY(-6px); box-shadow: 0 18px 34px rgba(15,15,15,.12); }
}
@keyframes iv5-pulse { 0%,100% { box-shadow: 0 0 0 0 rgba(122,46,56,.45); } 50% { box-shadow: 0 0 0 7px rgba(122,46,56,0); } }

/* ---------- 3a. Instagram: on-theme gradient + quirky lines ---------- */
body.iv-home .iv3-ig { background: var(--v5-ig); color: #fff; }
body.iv-home .iv3-ig::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(520px 320px at 8% 0%, rgba(255,255,255,.16), transparent 70%), radial-gradient(520px 360px at 100% 100%, rgba(255,214,120,.22), transparent 70%);
}
body.iv-home .iv3-ig .container { position: relative; }
body.iv-home .iv3-ig .iv3-ig__sticker { background: #fff; color: var(--v5-ink); box-shadow: 3px 3px 0 rgba(15,15,15,.28); }
body.iv-home .iv3-ig .iv3-ig__title { color: #fff; }
body.iv-home .iv3-ig .iv3-ig__title .iv3-ig__out { color: transparent; -webkit-text-stroke: 2px #fff; }
body.iv-home .iv3-ig .iv3-ig__text { color: rgba(255,255,255,.95); }
body.iv-home .iv3-ig .iv3-ig__btn { background: #fff; color: #B72E7C; border-color: #fff; box-shadow: 4px 4px 0 rgba(15,15,15,.28); }
body.iv-home .iv3-ig .iv3-ig__btn:hover { background: var(--v5-ink); border-color: var(--v5-ink); color: #fff; transform: translate(-2px, -2px); box-shadow: 6px 6px 0 rgba(255,255,255,.35); }
body.iv-home .iv3-ig .iv3-ig__tag { color: rgba(255,255,255,.92); }
body.iv-home .iv3-ig .iv3-ig__tag b { color: #fff; border-bottom: 2px solid rgba(255,255,255,.7); font-weight: 700; }
body.iv-home .iv3-ig .iv3-ig__tile { box-shadow: 0 16px 36px rgba(60,10,60,.45); }
body.iv-home .iv3-ig .iv3-ig__tile::before { background: rgba(255,255,255,.55); }
body.iv-home .iv3-ig .iv3-ig__badge { background: #fff; color: #C13584; box-shadow: 0 10px 26px rgba(60,10,60,.4); }

.iv5-ig__cmt { margin: clamp(22px, 3vw, 34px) 0 0; }
.iv5-ig__cmt-label { margin: 0 0 12px; font: 700 11.5px/1 var(--v5-body); letter-spacing: .16em; text-transform: uppercase; color: rgba(255,255,255,.85); }
.iv5-ig__bubbles { display: flex; flex-wrap: wrap; gap: 10px 10px; margin: 0; padding: 0; list-style: none; }
.iv5-ig__bubbles li {
  position: relative; background: #fff; color: var(--v5-ink); padding: 10px 16px 10px 12px; border-radius: 18px 18px 18px 4px;
  font: 500 14px/1.3 var(--v5-body); box-shadow: 0 8px 18px rgba(60,10,60,.28); transform: rotate(var(--r, 0deg));
  display: inline-flex; align-items: center; gap: 9px;
}
.iv5-ig__bubbles li::before { content: ""; width: 22px; height: 22px; border-radius: 50%; flex: none; background: var(--v5-ig); }
.iv5-ig__bubbles li:nth-child(1) { --r: -2deg; }
.iv5-ig__bubbles li:nth-child(2) { --r: 1.5deg; }
.iv5-ig__bubbles li:nth-child(3) { --r: -1deg; }
.iv5-ig__bubbles li:nth-child(4) { --r: 2deg; }
.iv5-ig__bubbles li:nth-child(5) { --r: 1deg; }
.iv5-ig__bubbles li:nth-child(6) { --r: -1.5deg; }
.iv5-ig__bubbles li:nth-child(7) { --r: 2deg; }
.iv5-ig__bubbles li:nth-child(8) { --r: -2deg; }
.iv5-ig__bubbles li { transition: transform .25s; }
.iv5-ig__bubbles li:hover { transform: rotate(0deg) translateY(-3px) scale(1.03); }
.iv5-ig__bubbles li:nth-child(even)::before { background: linear-gradient(135deg, #FCAF45, #E1306C); }
.iv5-ig__bubbles li:nth-child(3n)::before { background: linear-gradient(135deg, #833AB4, #F56040); }

/* ---------- 4. Footer ---------- */
.iv-footer { position: relative; overflow: hidden; background: var(--v5-ink); color: var(--v5-cream); }
.iv5-foot-top {
  display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: clamp(20px, 4vw, 64px); align-items: end;
  padding: 0 0 clamp(30px, 4.4vw, 56px); margin-bottom: clamp(30px, 4vw, 48px); border-bottom: 1px solid rgba(245,240,232,.16);
}
.iv-footer .iv5-foot-top__line { margin: 0; font-family: var(--v5-display); font-weight: 400; text-transform: uppercase; font-size: clamp(2.8rem, 6vw, 5.6rem); line-height: .9; letter-spacing: .004em; color: var(--v5-cream); }
.iv5-foot-top__line span { display: block; color: #A82840; }
.iv-footer .iv5-foot-top__side p { margin: 0 0 18px; max-width: 24em; font: 400 15px/1.55 var(--v5-body); color: rgba(245,240,232,.78); }
.iv-footer a.iv5-foot-btn {
  display: inline-flex; align-items: center; gap: 10px; min-height: 50px; padding: 0 26px; background: var(--v5-wine); color: #fff; opacity: 1;
  border: 1.5px solid var(--v5-wine); font: 700 12.5px/1 var(--v5-body); letter-spacing: .12em; text-transform: uppercase; text-decoration: none;
  transition: transform .2s, box-shadow .2s, background .2s;
}
.iv-footer a.iv5-foot-btn:hover { background: #fff; border-color: #fff; color: var(--v5-wine); transform: translate(-2px, -2px); box-shadow: 4px 4px 0 var(--v5-wine); }
.iv-footer .iv-footer-logo { height: 38px; width: auto; max-width: 140px; filter: brightness(0) invert(1); opacity: .95; }
.iv-footer .iv-foot-title { font-family: var(--v5-display); font-weight: 400; font-size: 1.15rem; letter-spacing: .16em; text-transform: uppercase; color: var(--v5-tan); margin: 0 0 16px; }
.iv-footer .iv5-foot-note { margin: 0 0 18px; max-width: 340px; font: 400 14px/1.7 var(--v5-body); color: rgba(245,240,232,.82); }
.iv5-foot-mark {
  margin: clamp(14px, 2.4vw, 34px) 0 -.17em; text-align: center; white-space: nowrap; overflow: hidden; user-select: none; pointer-events: none;
  font-family: var(--v5-display); font-size: clamp(5rem, 23vw, 20rem); line-height: .8; letter-spacing: .05em;
  color: transparent; background: linear-gradient(180deg, rgba(245,240,232,.18) 0%, rgba(210,74,104,.14) 55%, rgba(245,240,232,0) 92%);
  -webkit-background-clip: text; background-clip: text;
}
@media (max-width: 767px) { .iv5-foot-top { grid-template-columns: 1fr; align-items: start; } }

/* ---------- 5. Login ---------- */
.iv5-auth {
  display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); max-width: 1080px; margin: clamp(24px, 4vw, 56px) auto clamp(40px, 6vw, 80px);
  width: calc(100% - 32px); box-shadow: 0 30px 70px rgba(15,15,15,.18); border-radius: 6px; overflow: hidden; background: #fff;
}
.iv5-auth__art {
  position: relative; min-height: 560px; padding: clamp(28px, 4vw, 52px); color: var(--v5-cream); display: flex; flex-direction: column; justify-content: flex-end; isolation: isolate;
  background: var(--v5-ink);
}
.iv5-auth__art img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 12%; z-index: -2; }
.iv5-auth__art::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(61,16,21,.10) 0%, rgba(15,15,15,.40) 45%, rgba(15,15,15,.90) 100%); }
.iv5-auth__stamp {
  position: absolute; top: clamp(18px, 3vw, 32px); right: clamp(18px, 3vw, 32px); width: 104px; height: 104px; border-radius: 50%;
  background: var(--v5-tan); color: var(--v5-ink); display: grid; place-items: center; text-align: center; transform: rotate(10deg);
  font: 400 1.35rem/.95 var(--v5-display); letter-spacing: .06em; text-transform: uppercase; box-shadow: 0 10px 24px rgba(0,0,0,.3);
}
.iv5-auth__art h2 { margin: 0 0 12px; font-family: var(--v5-display); font-weight: 400; text-transform: uppercase; font-size: clamp(3.2rem, 6.4vw, 5.6rem); line-height: .86; color: var(--v5-cream); }
.iv5-auth__art h2 span { color: var(--v5-tan); display: block; }
.iv5-auth__art > p { margin: 0 0 22px; max-width: 24em; font: 400 15.5px/1.55 var(--v5-body); color: rgba(245,240,232,.9); }
.iv5-auth__perks { list-style: none; margin: 0; padding: 18px 0 0; border-top: 1px solid rgba(245,240,232,.3); display: grid; gap: 10px; }
.iv5-auth__perks li { display: flex; align-items: center; gap: 12px; font: 500 14px/1.35 var(--v5-body); color: var(--v5-cream); }
.iv5-auth__perks li::before { content: ""; width: 18px; height: 18px; flex: none; border-radius: 50%; background: var(--v5-tan) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230F0F0F' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/11px no-repeat; }
.iv5-auth__form { display: flex; align-items: center; justify-content: center; padding: clamp(26px, 4vw, 52px); background: var(--v5-cream-soft); position: relative; }
.iv5-auth__form::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, var(--v5-tan), var(--v5-burg)); }
.iv5-auth__form .card { border: 0 !important; box-shadow: none !important; background: transparent !important; padding: 0 !important; width: 100%; max-width: 380px; }
.iv5-auth__form h3 { font-family: var(--v5-display) !important; font-weight: 400 !important; font-size: clamp(2.6rem, 4vw, 3.4rem); letter-spacing: .04em !important; line-height: .95; margin: 0 0 8px !important; }
.iv5-auth__form .ivl-sub { font: 400 14.5px/1.5 var(--v5-body); color: #5a5a5a; }
.iv5-auth__eyebrow { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 12px; padding: 6px 12px; border: 1px solid rgba(15,15,15,.22); border-radius: 999px; font: 600 11.5px/1 var(--v5-body); letter-spacing: .06em; color: var(--v5-ink); background: #fff; }
.iv5-auth__eyebrow::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--v5-burg); animation: iv5-pulse 2.2s ease-in-out infinite; }
@media (max-width: 860px) {
  .iv5-auth { grid-template-columns: 1fr; margin-top: 12px; }
  .iv5-auth__art { min-height: 320px; padding: 26px 22px 22px; }
  .iv5-auth__art img { object-position: 50% 8%; }
  .iv5-auth__art h2 { font-size: 3rem; }
  .iv5-auth__art > p, .iv5-auth__perks, .iv5-auth__stamp { display: none; }
  .iv5-auth { margin-bottom: 110px; }
}

/* ---------- 6. Account hero: a membership card, a different one per tier ---------- */
.iv5-acc { --a: #C68B59; --a2: #E4B98D; position: relative; overflow: hidden; color: var(--v5-cream); isolation: isolate; }
.iv5-acc--ivy   { --a: #E8A06A; --a2: #F4C9A0; background: radial-gradient(700px 380px at 88% 8%, rgba(232,160,106,.34), transparent 70%), radial-gradient(520px 340px at 0% 100%, rgba(122,46,56,.55), transparent 70%), linear-gradient(135deg, #1A0608 0%, #3D0C14 45%, #6B1A24 100%); }
.iv5-acc--gold  { --a: #E9C48F; --a2: #F6DDB8; background: radial-gradient(700px 380px at 88% 8%, rgba(233,196,143,.30), transparent 70%), radial-gradient(520px 340px at 0% 100%, rgba(198,139,89,.28), transparent 70%), linear-gradient(135deg, #140C07 0%, #2E1C0F 45%, #5A3A1E 100%); }
.iv5-acc--black { --a: #9DB8D8; --a2: #D6E2F2; background: radial-gradient(700px 380px at 88% 8%, rgba(123,158,196,.30), transparent 70%), radial-gradient(520px 340px at 0% 100%, rgba(255,255,255,.06), transparent 70%), linear-gradient(135deg, #04060C 0%, #0A0F1E 45%, #141C2E 100%); }
.iv5-acc__in { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: clamp(28px, 5vw, 80px); align-items: center; padding-block: clamp(40px, 5.5vw, 76px); }
.iv5-acc__eyebrow { display: inline-flex; align-items: center; gap: 9px; margin: 0 0 clamp(10px, 1.6vw, 16px); padding: 7px 14px; border: 1px solid rgba(245,240,232,.38); border-radius: 999px; font: 600 11.5px/1 var(--v5-body); letter-spacing: .14em; text-transform: uppercase; color: var(--v5-cream); }
.iv5-acc__eyebrow::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--a); animation: iv5-pulse-a 2.4s ease-in-out infinite; }
@keyframes iv5-pulse-a { 0%,100% { box-shadow: 0 0 0 0 rgba(255,255,255,.35); } 50% { box-shadow: 0 0 0 7px rgba(255,255,255,0); } }
.iv5-acc h1.iv5-acc__name { margin: 0 0 8px; font-family: var(--v5-display); font-weight: 400; text-transform: uppercase; font-size: clamp(3.4rem, 9vw, 8rem); line-height: .86; letter-spacing: .005em; color: var(--v5-cream); }
.iv5-acc__name small { display: block; font-size: .36em; letter-spacing: .16em; color: var(--a); line-height: 1.3; margin-bottom: .12em; }
.iv5-acc__line { margin: 0 0 clamp(20px, 3vw, 30px); font: 500 clamp(1rem, 1.5vw, 1.2rem)/1.5 var(--v5-body); color: rgba(245,240,232,.88); max-width: 30em; }
.iv5-acc__stats { display: flex; flex-wrap: wrap; gap: 0; margin: 0 0 clamp(18px, 2.6vw, 26px); border-block: 1px solid rgba(245,240,232,.22); }
.iv5-acc__stat { padding: 14px clamp(16px, 2.6vw, 34px) 14px 0; margin-right: clamp(16px, 2.6vw, 34px); border-right: 1px solid rgba(245,240,232,.22); }
.iv5-acc__stat:last-child { border-right: 0; margin-right: 0; padding-right: 0; }
.iv5-acc__stat b { display: block; font-family: var(--v5-display); font-weight: 400; font-size: clamp(1.9rem, 3.4vw, 2.8rem); line-height: 1; letter-spacing: .04em; color: var(--a2); }
.iv5-acc__stat span { display: block; margin-top: 4px; font: 600 10.5px/1.2 var(--v5-body); letter-spacing: .16em; text-transform: uppercase; color: rgba(245,240,232,.7); }
.iv5-acc__bar { max-width: 420px; }
.iv5-acc__bar-top { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 8px; font: 600 12px/1.3 var(--v5-body); letter-spacing: .04em; color: rgba(245,240,232,.9); }
.iv5-acc__bar-top b { color: var(--a2); font-weight: 700; }
.iv5-acc__track { height: 6px; border-radius: 99px; background: rgba(245,240,232,.16); overflow: hidden; }
.iv5-acc__track i { display: block; height: 100%; min-width: 6px; border-radius: 99px; background: linear-gradient(90deg, var(--a), var(--a2)); }
.iv5-acc__top-note { margin: 0; font: 600 12.5px/1.4 var(--v5-body); letter-spacing: .04em; color: var(--a2); }

/* the card */
.iv5-card-wrap { perspective: 1000px; justify-self: center; width: 100%; max-width: 400px; }
.iv5-card {
  position: relative; aspect-ratio: 1.586; border-radius: 18px; padding: clamp(16px, 2vw, 24px); overflow: hidden; display: flex; flex-direction: column; justify-content: space-between;
  transform: rotate(-4deg); transition: transform .5s cubic-bezier(.2,.7,.2,1); color: var(--v5-cream);
  border: 1px solid rgba(255,255,255,.22); box-shadow: 0 30px 60px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.25);
  background: linear-gradient(135deg, rgba(255,255,255,.16), rgba(255,255,255,.03) 60%), var(--cb, #2C3E17);
}
.iv5-acc--ivy .iv5-card   { --cb: #4A1019; }
.iv5-acc--gold .iv5-card  { --cb: #4A2C16; }
.iv5-acc--black .iv5-card { --cb: #0B1020; }
.iv5-card-wrap:hover .iv5-card { transform: rotate(0deg) translateY(-6px) scale(1.02); }
.iv5-card::before { /* foil shine, slow */
  content: ""; position: absolute; inset: -40% -60%; background: linear-gradient(105deg, transparent 42%, rgba(255,255,255,.22) 50%, transparent 58%); transform: translateX(-60%); animation: iv5-shine 6.5s ease-in-out infinite;
}
@keyframes iv5-shine { 0%, 55% { transform: translateX(-60%); } 100% { transform: translateX(60%); } }
.iv5-card::after { content: ""; position: absolute; right: -30px; top: -30px; width: 150px; height: 150px; border-radius: 50%; border: 1px solid rgba(255,255,255,.16); box-shadow: 0 0 0 22px rgba(255,255,255,.04), 0 0 0 46px rgba(255,255,255,.03); }
.iv5-card__top { display: flex; justify-content: space-between; align-items: flex-start; position: relative; z-index: 1; }
.iv5-card__brand { font-family: var(--v5-display); font-size: 1.7rem; letter-spacing: .22em; line-height: 1; }
.iv5-card__club { font: 700 9.5px/1 var(--v5-body); letter-spacing: .2em; text-transform: uppercase; color: var(--a2); margin-top: 6px; }
.iv5-card__tier { font-family: var(--v5-display); font-size: 1.15rem; letter-spacing: .14em; text-transform: uppercase; padding: 5px 10px 4px; border: 1px solid var(--a); color: var(--a2); border-radius: 4px; line-height: 1; }
.iv5-card__chip { width: 42px; height: 31px; border-radius: 6px; position: relative; z-index: 1; background: linear-gradient(135deg, var(--a2), var(--a)); box-shadow: inset 0 0 0 1px rgba(0,0,0,.2); }
.iv5-card__chip::before, .iv5-card__chip::after { content: ""; position: absolute; left: 0; right: 0; height: 1px; background: rgba(0,0,0,.28); top: 33%; }
.iv5-card__chip::after { top: 66%; }
.iv5-card__bot { display: flex; justify-content: space-between; align-items: flex-end; gap: 10px; position: relative; z-index: 1; }
.iv5-card__holder { font-family: var(--v5-display); font-size: clamp(1.4rem, 2.4vw, 1.9rem); letter-spacing: .12em; line-height: 1; text-transform: uppercase; }
.iv5-card__since { font: 600 9.5px/1.3 var(--v5-body); letter-spacing: .16em; text-transform: uppercase; color: rgba(245,240,232,.75); text-align: right; white-space: nowrap; }
.iv5-card-note { margin: 18px 0 0; text-align: center; font: 500 13px/1.5 var(--v5-body); color: rgba(245,240,232,.82); }
@media (max-width: 860px) {
  .iv5-acc__in { grid-template-columns: 1fr; gap: 26px; }
  .iv5-card-wrap { max-width: 320px; justify-self: start; }
  .iv5-card { transform: rotate(-2deg); }
  .iv5-acc__stat { padding-right: 14px; margin-right: 14px; }
}
@media (prefers-reduced-motion: reduce) { .iv5-card::before, .iv5-acc__eyebrow::before, .iv5-auth__eyebrow::before, body.iv-home .iv5-edit .iv-eyebrow::before { animation: none; } }

/* empty orders */
.iv5-empty { position: relative; overflow: hidden; text-align: left; padding: clamp(28px, 4vw, 52px) !important; background: var(--v5-cream-soft); border: 1px solid var(--v5-line); }
.iv5-empty::after { content: "00"; position: absolute; right: -10px; bottom: -34px; font-family: var(--v5-display); font-size: clamp(8rem, 18vw, 14rem); line-height: 1; letter-spacing: .02em; color: transparent; -webkit-text-stroke: 1.2px rgba(198,139,89,.4); pointer-events: none; }
.iv5-empty__kicker { display: inline-block; margin: 0 0 12px; padding: 6px 12px; border: 1px solid rgba(15,15,15,.22); border-radius: 999px; font: 600 11.5px/1 var(--v5-body); letter-spacing: .06em; color: var(--v5-ink); background: #fff; }
.iv5-empty h3 { margin: 0 0 10px; font-family: var(--v5-display); font-weight: 400; text-transform: uppercase; font-size: clamp(2.4rem, 5vw, 4rem); line-height: .9; letter-spacing: .01em; color: var(--v5-ink); }
.iv5-empty h3 span { color: var(--v5-tan-d); }
.iv5-empty p { margin: 0 0 22px; max-width: 30em; font: 400 15.5px/1.6 var(--v5-body); color: #555; position: relative; z-index: 1; }
.iv5-empty .iv-btn { margin-top: 0; position: relative; z-index: 1; }

/* empty orders: left-aligned, beats the generic centred .iv-empty */
.iv-card.iv-empty.iv5-empty { text-align: left; color: var(--v5-ink); }

/* ---------- 7. Header: lively, still quiet ---------- */
header.header-area.header4 { position: relative; border-bottom: 0 !important; background: #fff; }
header.header-area.header4::after { /* a thin brand line under the bar */
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; pointer-events: none;
  background: linear-gradient(90deg, var(--v5-tan) 0%, var(--v5-wine) 38%, var(--v5-olive) 72%, var(--v5-tan) 100%); opacity: .9;
}
.d-xl-block header.header4 .main-menu ul > li > a {
  font-family: var(--v5-body); font-weight: 700; font-size: 13px; letter-spacing: .12em; color: var(--v5-ink);
  background: linear-gradient(var(--v5-tan), var(--v5-tan)) 9px calc(100% - 22px) / 0 2px no-repeat; transition: background-size .3s ease, color .2s;
}
.d-xl-block header.header4 .main-menu ul > li > a:hover { background-size: calc(100% - 18px) 2px; color: var(--v5-ink); }
.d-xl-block header.header4 .main-menu ul > li.iv-secondary-nav-item > a[href="club-ivy"] {
  display: inline-flex; align-items: center; gap: 8px; padding: 11px 16px; margin: 0 6px; border-radius: 999px; color: #fff;
  background: linear-gradient(120deg, var(--v5-wine), #B03A55 55%, var(--v5-tan)); background-size: 100% 100%; box-shadow: 0 6px 16px rgba(140,36,56,.28);
  transition: transform .2s, box-shadow .2s; position: relative; overflow: hidden;
}
.d-xl-block header.header4 .main-menu ul > li.iv-secondary-nav-item > a[href="club-ivy"]::before {
  content: ""; width: 7px; height: 7px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 0 rgba(255,255,255,.6); animation: iv5-pulse-w 2.4s ease-in-out infinite;
}
.d-xl-block header.header4 .main-menu ul > li.iv-secondary-nav-item > a[href="club-ivy"]:hover { transform: translateY(-2px); box-shadow: 0 10px 22px rgba(140,36,56,.34); background-size: 100% 100%; color: #fff; }
@keyframes iv5-pulse-w { 0%,100% { box-shadow: 0 0 0 0 rgba(255,255,255,.55); } 50% { box-shadow: 0 0 0 6px rgba(255,255,255,0); } }
.d-xl-block header.header4 .main-menu ul > li.iv-secondary-nav-item > a[href="refer"]::after { content: "₹"; margin-left: clamp(3px, .4vw, 7px); color: var(--v5-tan-d); font-weight: 800; }
header.header4 #search_input { background: var(--v5-cream-soft); border: 1px solid var(--v5-line); transition: border-color .2s, box-shadow .2s, background .2s; }
header.header4 #search_input:focus { background: #fff; border-color: var(--v5-tan); box-shadow: 0 0 0 4px rgba(198,139,89,.18); outline: 0; }
/* cart + wishlist counts: wine, not yellow */
header.header-area .number.cart-count, header.header-area .number.wishlist-count, header.header4 .nav-right > ul .cart-area span { background: var(--v5-wine) !important; color: #fff !important; }
.iv-mob-nav__item.is-active, .iv-mob-nav__item:active { color: var(--v5-wine); }
@media (prefers-reduced-motion: reduce) { .d-xl-block header.header4 .main-menu ul > li.iv-secondary-nav-item > a[href="club-ivy"]::before { animation: none; } }

/* ---------- 8. Our Story ---------- */
.iv5-tri { position: absolute; left: 0; right: 0; bottom: 0; height: 5px; display: flex; }
.iv5-tri i { flex: 1; } .iv5-tri i:nth-child(1) { background: var(--v5-tan); } .iv5-tri i:nth-child(2) { background: var(--v5-cream); } .iv5-tri i:nth-child(3) { background: var(--v5-olive); }
.iv5-ab-hero {
  position: relative; overflow: hidden; color: #fff; text-align: left;
  padding: clamp(72px, 11vw, 150px) 0 clamp(64px, 9vw, 120px);
  background: radial-gradient(800px 460px at 90% 0%, rgba(198,139,89,.34), transparent 70%), radial-gradient(700px 460px at 0% 100%, rgba(140,36,56,.7), transparent 70%), linear-gradient(135deg, #17090C 0%, #2E0D14 55%, #4A1620 100%);
}
.iv5-ab-eyebrow, .iv5-ab-kicker { display: inline-block; margin: 0 0 16px; padding: 7px 14px; border: 1px solid currentColor; border-radius: 999px; font: 600 12px/1 var(--v5-body); letter-spacing: .08em; text-transform: uppercase; }
.iv5-ab-hero .iv5-ab-eyebrow { color: #fff; border-color: rgba(255,255,255,.5); }
.iv5-ab-hero h1 { margin: 0 0 22px; font-family: var(--v5-display); font-weight: 400; text-transform: uppercase; font-size: clamp(3.6rem, 11vw, 10rem); line-height: .84; letter-spacing: .004em; color: #fff; text-shadow: none; }
.iv5-ab-hero h1 span { display: block; color: var(--v5-tan); }
.iv5-ab-lead { margin: 0 0 clamp(24px, 3vw, 36px); max-width: 34em; font: 400 clamp(1.05rem, 1.6vw, 1.3rem)/1.6 var(--v5-body); color: rgba(255,255,255,.92); }
.iv5-ab-ctas { display: flex; flex-wrap: wrap; gap: 12px; }
.iv5-ab-btn { min-height: 52px; padding: 0 26px; font-size: 12.5px; letter-spacing: .14em; }
.iv5-ab-btn--solid { background: var(--v5-tan); color: var(--v5-ink); border-color: var(--v5-tan); box-shadow: 4px 4px 0 rgba(255,255,255,.85); }
.iv5-ab-btn--solid:hover { background: #fff; border-color: #fff; color: var(--v5-ink); transform: translate(-2px, -2px); box-shadow: 6px 6px 0 var(--v5-tan); }
.iv5-ab-btn--line { background: transparent; color: #fff; border-color: rgba(255,255,255,.6); }
.iv5-ab-btn--line:hover { background: #fff; color: var(--v5-ink); border-color: #fff; }
.iv5-ab-sec { padding: clamp(56px, 8vw, 110px) 0; background: var(--v5-cream-soft); color: var(--v5-ink); position: relative; }
.iv5-ab-sec--cream { background: var(--v5-cream); }
.iv5-ab-sec--wine { color: #fff; background: radial-gradient(700px 400px at 100% 0%, rgba(198,139,89,.22), transparent 70%), linear-gradient(135deg, #3A0F18, #5A1826 60%, #6E1E2E); }
.iv5-ab-sec--ink { color: #fff; background: radial-gradient(700px 400px at 0% 100%, rgba(140,36,56,.55), transparent 70%), var(--v5-ink); padding-bottom: clamp(64px, 9vw, 120px); }
.iv5-ab-kicker { color: var(--v5-wine); border-color: rgba(140,36,56,.4); background: transparent; }
.iv5-ab-sec--wine .iv5-ab-kicker, .iv5-ab-sec--ink .iv5-ab-kicker { color: var(--v5-tan); border-color: rgba(198,139,89,.6); }
.iv5-ab-two { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(28px, 6vw, 96px); align-items: center; }
.iv5-ab-copy h2, .iv5-ab-head h2, .iv5-ab-close h2 { margin: 0 0 20px; font-family: var(--v5-display); font-weight: 400; text-transform: uppercase; font-size: clamp(2.6rem, 6vw, 5rem); line-height: .92; letter-spacing: .005em; color: inherit; }
.iv5-ab-copy p { margin: 0 0 16px; max-width: 34em; font: 400 17px/1.75 var(--v5-body); color: #3a3a3a; }
.iv5-ab-pull { margin: 0; padding: clamp(28px, 4vw, 52px); background: var(--v5-ink); border-left: 6px solid var(--v5-wine); position: relative; }
.iv5-ab-pull p { margin: 0; font-family: var(--v5-display); font-size: clamp(2.2rem, 4.6vw, 3.8rem); line-height: .96; text-transform: uppercase; color: #fff; }
.iv5-ab-pull p span { color: var(--v5-tan); }
.iv5-ab-head { max-width: 920px; margin-bottom: clamp(26px, 4vw, 46px); }
.iv5-ab-head--center { margin-inline: auto; text-align: center; }
.iv5-ab-sub { margin: 0; max-width: 40em; font: 400 clamp(1rem, 1.4vw, 1.2rem)/1.7 var(--v5-body); color: inherit; opacity: .9; }
.iv5-ab-head--center .iv5-ab-sub { margin-inline: auto; }
.iv5-ab-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.iv5-ab-card { padding: 26px 22px 28px; border: 1px solid rgba(255,255,255,.25); background: rgba(255,255,255,.06); transition: transform .3s, background .3s; }
.iv5-ab-card:hover { transform: translateY(-5px); background: rgba(255,255,255,.12); }
.iv5-ab-card span { display: block; font-family: var(--v5-display); font-size: 2.2rem; line-height: 1; color: var(--v5-tan); margin-bottom: 14px; }
.iv5-ab-card h3 { margin: 0 0 10px; font-family: var(--v5-display); font-weight: 400; font-size: 1.9rem; letter-spacing: .03em; text-transform: uppercase; color: #fff; }
.iv5-ab-card p { margin: 0; font: 400 15px/1.65 var(--v5-body); color: rgba(255,255,255,.88); }
.iv5-ab-line { margin: clamp(26px, 4vw, 44px) 0 0; font: 400 clamp(1.1rem, 1.8vw, 1.5rem)/1.5 var(--v5-body); color: #fff; }
.iv5-ab-line b { color: var(--v5-tan); font-weight: 700; }
.iv5-ab-rules { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 3vw, 40px); margin-top: clamp(28px, 4vw, 48px); }
.iv5-ab-rules > div { padding-top: 18px; border-top: 3px solid var(--v5-wine); }
.iv5-ab-rules b { display: block; margin-bottom: 8px; font-family: var(--v5-display); font-weight: 400; font-size: 1.9rem; letter-spacing: .03em; text-transform: uppercase; color: var(--v5-ink); }
.iv5-ab-rules p { margin: 0; font: 400 15.5px/1.7 var(--v5-body); color: #3a3a3a; }
.iv5-ab-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: clamp(32px, 5vw, 60px); border: 1px solid rgba(15,15,15,.14); background: #fff; }
.iv5-ab-stats > div { padding: clamp(18px, 3vw, 32px) 18px; text-align: center; border-right: 1px solid rgba(15,15,15,.14); }
.iv5-ab-stats > div:last-child { border-right: 0; }
.iv5-ab-stats b { display: block; font-family: var(--v5-display); font-weight: 400; font-size: clamp(2.4rem, 5vw, 4rem); line-height: 1; color: var(--v5-wine); }
.iv5-ab-stats span { display: block; margin-top: 6px; font: 600 11.5px/1.3 var(--v5-body); letter-spacing: .14em; text-transform: uppercase; color: #3a3a3a; }
.iv5-ab-chapters { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border-top: 1px solid rgba(15,15,15,.18); }
.iv5-ab-chapters li { padding: clamp(22px, 3vw, 36px) clamp(18px, 3vw, 36px) clamp(22px, 3vw, 36px) 0; border-right: 1px solid rgba(15,15,15,.18); margin-right: clamp(18px, 3vw, 36px); }
.iv5-ab-chapters li:last-child { border-right: 0; margin-right: 0; }
.iv5-ab-chapters span { display: block; margin-bottom: 8px; font: 700 11.5px/1 var(--v5-body); letter-spacing: .16em; text-transform: uppercase; color: var(--v5-wine); }
.iv5-ab-chapters h3 { margin: 0 0 10px; font-family: var(--v5-display); font-weight: 400; font-size: clamp(2rem, 3vw, 2.6rem); text-transform: uppercase; color: var(--v5-ink); }
.iv5-ab-chapters p { margin: 0; font: 400 15.5px/1.7 var(--v5-body); color: #3a3a3a; }
.iv5-ab-close { text-align: center; }
.iv5-ab-close h2 span { display: block; color: var(--v5-wine-l); }
.iv5-ab-close .iv5-ab-sub { margin: 0 auto clamp(24px, 3vw, 34px); color: rgba(255,255,255,.9); }
.iv5-ab-close .iv5-ab-ctas { justify-content: center; }
@media (max-width: 991px) { .iv5-ab-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } .iv5-ab-two { grid-template-columns: 1fr; } }
@media (max-width: 767px) {
  .iv5-ab-rules, .iv5-ab-chapters { grid-template-columns: 1fr; }
  .iv5-ab-chapters li { border-right: 0; border-bottom: 1px solid rgba(15,15,15,.18); margin-right: 0; padding-right: 0; }
  .iv5-ab-chapters li:last-child { border-bottom: 0; }
  .iv5-ab-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .iv5-ab-stats > div:nth-child(2) { border-right: 0; } .iv5-ab-stats > div:nth-child(-n+2) { border-bottom: 1px solid rgba(15,15,15,.14); }
  .iv5-ab-cards { grid-template-columns: 1fr; }
}

/* ---------- 9. Club Ivy+ ---------- */
a.iv5-card-wrap { display: block; color: inherit; text-decoration: none; cursor: pointer; }
a.iv5-card-wrap:focus-visible { outline: 3px solid var(--a2); outline-offset: 8px; border-radius: 20px; }
.iv5-card-more { display: block; margin-top: 8px; text-align: center; font: 700 11.5px/1 var(--v5-body); letter-spacing: .16em; text-transform: uppercase; color: var(--a2); transition: letter-spacing .25s; }
a.iv5-card-wrap:hover .iv5-card-more { letter-spacing: .22em; }
.iv5-card.t-ivy   { --a: #E8A06A; --a2: #F4C9A0; --cb: #4A1019; }
.iv5-card.t-gold  { --a: #E9C48F; --a2: #F6DDB8; --cb: #4A2C16; }
.iv5-card.t-black { --a: #9DB8D8; --a2: #D6E2F2; --cb: #0B1020; }

.iv5-cl-hero__in { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(28px, 5vw, 80px); align-items: center; padding-block: clamp(30px, 3.6vw, 52px) clamp(36px, 4.4vw, 60px); }
.iv5-cl-h1 { margin: 0 0 14px; font-family: var(--v5-display); font-weight: 400; text-transform: uppercase; font-size: clamp(3.6rem, 9.5vw, 8.4rem); line-height: .86; letter-spacing: .005em; color: var(--v5-cream); }
.iv5-cl-h1 small { display: block; margin-bottom: .14em; font-size: .3em; letter-spacing: .14em; line-height: 1.2; color: var(--a); }
.iv5-cl-hero .iv5-acc__line { max-width: 31em; }
/* signed-in hero carries more rows (stats, progress, links), so its headline is a size down and the CTA stays on the first screen */
.iv5-cl-h1--tier { font-size: clamp(3.2rem, 7.4vw, 6.4rem); margin-bottom: 12px; }
.iv5-cl-hero .iv5-acc__stats { margin-bottom: clamp(14px, 2vw, 20px); }
.iv5-cl-hero .iv5-acc__stat b { font-size: clamp(2rem, 3.2vw, 2.7rem); }
.iv5-cl-hero__cta { margin-top: clamp(20px, 3vw, 30px); }
.iv5-cl-hero__cta--top { margin: 0 0 clamp(20px, 2.6vw, 28px); } /* signed-in: buttons sit right under the lead, above the numbers */
.iv5-cl-hero__fine { margin: 14px 0 0; font: 500 13px/1.4 var(--v5-body); color: rgba(245,240,232,.78); }
.iv5-cl-hero .iv5-card { transform: rotate(-3deg); width: 100%; }
.iv5-cl-single { max-width: 420px; margin-inline: auto; width: 100%; }
.iv5-cl-single:hover .iv5-card { transform: rotate(0) translateY(-6px) scale(1.02); }
.iv5-cl-fan { position: relative; width: 100%; max-width: 440px; margin-inline: auto; aspect-ratio: 1.15; }
.iv5-cl-fan .iv5-card { position: absolute; width: 82%; left: 9%; transition: transform .5s cubic-bezier(.2,.7,.2,1); }
.iv5-cl-fan__black { top: 0; transform: rotate(-9deg) translateX(-8%); }
.iv5-cl-fan__gold  { top: 14%; transform: rotate(-1deg) translateX(4%); }
.iv5-cl-fan__ivy   { top: 30%; transform: rotate(7deg) translateX(-2%); }
.iv5-cl-fan:hover .iv5-cl-fan__black { transform: rotate(-13deg) translate(-14%, -4%); }
.iv5-cl-fan:hover .iv5-cl-fan__gold  { transform: rotate(0) translateX(4%); }
.iv5-cl-fan:hover .iv5-cl-fan__ivy   { transform: rotate(11deg) translate(6%, 3%); }

.iv5-cl-nums { background: var(--v5-ink); color: #fff; border-bottom: 1px solid rgba(255,255,255,.1); }
.iv5-cl-nums ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.iv5-cl-nums li { padding: clamp(18px, 3vw, 30px) 16px; text-align: center; border-right: 1px solid rgba(255,255,255,.14); }
.iv5-cl-nums li:last-child { border-right: 0; }
.iv5-cl-nums b { display: block; font-family: var(--v5-display); font-weight: 400; font-size: clamp(2.2rem, 4.4vw, 3.6rem); line-height: 1; letter-spacing: .03em; color: var(--v5-tan); }
.iv5-cl-nums span { display: block; margin-top: 6px; font: 600 11px/1.3 var(--v5-body); letter-spacing: .15em; text-transform: uppercase; color: rgba(255,255,255,.82); }

.iv5-cl-sec .iv5-ab-head h2 { color: var(--v5-ink); }
.iv5-cl-sec.iv5-ab-sec--ink .iv5-ab-head h2, .iv5-cl-sec.iv5-ab-sec--ink h2 { color: #fff; }
.iv5-cl-sec--tight { padding-block: clamp(36px, 5vw, 64px); }
.iv5-cl-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(14px, 2vw, 24px); counter-reset: none; }
.iv5-cl-steps li { padding: 22px 20px 26px; background: #fff; border: 1px solid var(--v5-line); border-top: 4px solid var(--v5-wine); transition: transform .3s, box-shadow .3s; }
.iv5-cl-steps li:hover { transform: translateY(-5px); box-shadow: 0 18px 36px rgba(15,15,15,.1); }
.iv5-cl-steps span { display: block; font-family: var(--v5-display); font-size: 2.4rem; line-height: 1; color: var(--v5-wine); margin-bottom: 10px; }
.iv5-cl-steps h3 { margin: 0 0 8px; font-family: var(--v5-display); font-weight: 400; font-size: 1.9rem; letter-spacing: .03em; text-transform: uppercase; color: var(--v5-ink); }
.iv5-cl-steps p { margin: 0; font: 400 14.5px/1.65 var(--v5-body); color: #3a3a3a; }

.iv5-cl-tiers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(14px, 2vw, 24px); align-items: stretch; padding-top: 14px; }
.iv5-cl-tier { position: relative; display: flex; flex-direction: column; padding: 30px 26px 28px; background: #fff; border: 1px solid var(--v5-line); border-top: 6px solid var(--t, var(--v5-olive)); transition: transform .3s, box-shadow .3s; }
.iv5-cl-tier:hover { transform: translateY(-6px); box-shadow: 0 22px 44px rgba(15,15,15,.12); }
.iv5-cl-tier--ivy { --t: #8C2438; } .iv5-cl-tier--gold { --t: #9A6A35; } .iv5-cl-tier--black { --t: #0B1020; }
.iv5-cl-tier.is-mine { outline: 2px solid var(--t); outline-offset: 4px; }
.iv5-cl-tier__flag { position: absolute; top: -14px; left: 22px; padding: 6px 12px; background: var(--t); color: #fff; font: 700 10.5px/1 var(--v5-body); letter-spacing: .16em; text-transform: uppercase; }
.iv5-cl-tier__sub { margin: 0 0 4px; font: 700 11px/1.3 var(--v5-body); letter-spacing: .16em; text-transform: uppercase; color: #5a5a5a; }
.iv5-cl-tier h3 { margin: 0; font-family: var(--v5-display); font-weight: 400; font-size: 2.8rem; line-height: 1; letter-spacing: .03em; text-transform: uppercase; color: var(--v5-ink); }
.iv5-cl-tier__rate { margin: 14px 0 4px; font-family: var(--v5-display); font-size: 5.2rem; line-height: .9; color: var(--t); }
.iv5-cl-tier__rate sup { font-size: .5em; vertical-align: top; position: relative; top: .1em; margin-left: 2px; }
.iv5-cl-tier__rate small { display: block; margin-top: 8px; font: 600 11px/1 var(--v5-body); letter-spacing: .16em; text-transform: uppercase; color: #5a5a5a; }
.iv5-cl-tier__need { margin: 0 0 18px; padding-bottom: 16px; border-bottom: 1px solid var(--v5-line); font: 600 13px/1.4 var(--v5-body); color: var(--v5-ink); }
.iv5-cl-tier ul { list-style: none; margin: 0; padding: 0; flex: 1; }
.iv5-cl-tier li { position: relative; padding: 8px 0 8px 26px; font: 400 14.5px/1.5 var(--v5-body); color: #2a2a2a; }
.iv5-cl-tier li::before { content: ""; position: absolute; left: 2px; top: 12px; width: 12px; height: 7px; border-left: 2px solid var(--t); border-bottom: 2px solid var(--t); transform: rotate(-45deg); }

.iv5-cl-tablewrap { margin-top: clamp(28px, 4vw, 52px); overflow-x: auto; background: #fff; border: 1px solid var(--v5-line); -webkit-overflow-scrolling: touch; }
.iv5-cl-table { width: 100%; min-width: 620px; border-collapse: collapse; font: 400 14.5px/1.4 var(--v5-body); color: #2a2a2a; }
.iv5-cl-table th, .iv5-cl-table td { padding: 14px 18px; text-align: center; border-bottom: 1px solid var(--v5-line); }
.iv5-cl-table thead th { background: var(--v5-ink); color: #fff; font: 700 12px/1 var(--v5-body); letter-spacing: .16em; text-transform: uppercase; }
.iv5-cl-table thead th:first-child { text-align: left; color: var(--v5-tan); }
.iv5-cl-table tbody th { text-align: left; font-weight: 600; color: var(--v5-ink); background: var(--v5-cream-soft); position: sticky; left: 0; }
.iv5-cl-table tbody tr:last-child th, .iv5-cl-table tbody tr:last-child td { border-bottom: 0; }
.iv5-cl-table tbody tr:hover td { background: #fbf6f0; }
.iv5-cl-table td:nth-child(3) { background: rgba(140,36,56,.04); }

.iv5-cl-calc { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(28px, 6vw, 90px); align-items: center; }
.iv5-cl-calc__copy h2 { margin: 0 0 18px; font-family: var(--v5-display); font-weight: 400; text-transform: uppercase; font-size: clamp(2.6rem, 5.6vw, 4.8rem); line-height: .92; color: #fff; }
.iv5-cl-calc__box { padding: clamp(22px, 3vw, 36px); background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.22); }
.iv5-cl-calc__box label { display: flex; justify-content: space-between; align-items: baseline; margin: 0 0 14px; font: 600 12px/1 var(--v5-body); letter-spacing: .16em; text-transform: uppercase; color: rgba(255,255,255,.85); }
.iv5-cl-calc__box label b { font-family: var(--v5-display); font-weight: 400; font-size: 2.4rem; letter-spacing: .04em; color: var(--v5-tan); }
#iv5-cl-range { -webkit-appearance: none; appearance: none; width: 100%; height: 6px; border-radius: 99px; outline: 0; margin: 0 0 22px; background: linear-gradient(90deg, var(--v5-wine-l) var(--p, 10%), rgba(255,255,255,.2) var(--p, 10%)); }
#iv5-cl-range::-webkit-slider-thumb { -webkit-appearance: none; width: 24px; height: 24px; border-radius: 50%; background: #fff; border: 4px solid var(--v5-wine); cursor: grab; box-shadow: 0 2px 10px rgba(0,0,0,.4); }
#iv5-cl-range::-moz-range-thumb { width: 18px; height: 18px; border-radius: 50%; background: #fff; border: 4px solid var(--v5-wine); cursor: grab; }
#iv5-cl-range:focus-visible { box-shadow: 0 0 0 4px rgba(210,74,104,.35); }
.iv5-cl-calc__row { display: grid; grid-template-columns: 1fr auto; gap: 2px 14px; padding: 14px 0; border-top: 1px solid rgba(255,255,255,.16); align-items: baseline; }
.iv5-cl-calc__t { font-family: var(--v5-display); font-size: 1.6rem; letter-spacing: .05em; text-transform: uppercase; color: #fff; grid-row: span 2; }
.iv5-cl-calc__t i { font-style: normal; margin-left: 8px; font-size: 1.1rem; color: var(--v5-tan); }
.iv5-cl-calc__earn { text-align: right; font: 500 13px/1.3 var(--v5-body); color: rgba(255,255,255,.85); }
.iv5-cl-calc__earn b { font-family: var(--v5-display); font-weight: 400; font-size: 2rem; letter-spacing: .03em; color: #fff; }
.iv5-cl-calc__use { text-align: right; font: 500 12px/1.3 var(--v5-body); color: rgba(255,255,255,.7); }
.iv5-cl-calc__use b { color: var(--v5-tan); font-weight: 700; }
.iv5-cl-calc__fine { margin: 14px 0 0; font: 400 12px/1.5 var(--v5-body); color: rgba(255,255,255,.7); }

.iv5-cl-perks { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border-top: 1px solid rgba(15,15,15,.18); border-left: 1px solid rgba(15,15,15,.18); }
.iv5-cl-perks > div { padding: clamp(22px, 3vw, 34px); border-right: 1px solid rgba(15,15,15,.18); border-bottom: 1px solid rgba(15,15,15,.18); transition: background .3s; }
.iv5-cl-perks > div:hover { background: #fff; }
.iv5-cl-perks span { display: block; margin-bottom: 8px; font: 700 11.5px/1 var(--v5-body); letter-spacing: .16em; color: var(--v5-wine); }
.iv5-cl-perks h3 { margin: 0 0 8px; font-family: var(--v5-display); font-weight: 400; font-size: clamp(1.9rem, 2.6vw, 2.4rem); text-transform: uppercase; color: var(--v5-ink); }
.iv5-cl-perks p { margin: 0; font: 400 15px/1.65 var(--v5-body); color: #3a3a3a; }
.iv5-cl-refer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; margin-top: clamp(24px, 3.5vw, 40px); padding: 20px 24px; background: var(--v5-ink); color: #fff; }
.iv5-cl-refer p { margin: 0; font: 400 16px/1.5 var(--v5-body); color: #fff; }
.iv5-cl-refer b { color: var(--v5-tan); }
.iv5-cl-refer__btn { background: transparent; color: #fff; border: 1px solid rgba(255,255,255,.6); min-height: 46px; padding: 0 22px; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; }
.iv5-cl-refer__btn:hover { background: #fff; color: var(--v5-ink); }

.iv5-cl-ledger { max-width: 780px; margin: 0 auto; }
.iv5-cl-ledger h2 { margin: 0 0 8px; font-family: var(--v5-display); font-weight: 400; font-size: clamp(2.2rem, 4vw, 3.2rem); text-transform: uppercase; color: var(--v5-ink); }
.iv5-cl-ledger__sub { margin: 0 0 14px; font: 400 14px/1.6 var(--v5-body); color: #3a3a3a; }
.iv5-cl-tx { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 14px 0; border-bottom: 1px solid var(--v5-line); }
.iv5-cl-tx__main { margin: 0; font: 500 14.5px/1.4 var(--v5-body); color: var(--v5-ink); }
.iv5-cl-tx__main a { color: inherit; text-decoration: underline; }
.iv5-cl-tx__meta { margin: 4px 0 0; font: 500 12px/1.3 var(--v5-body); color: #5a5a5a; }
.iv5-cl-tx__tag { display: inline-block; margin-left: 8px; padding: 3px 9px; border-radius: 99px; background: #f3e4d6; color: #7a3d10; font: 700 10px/1 var(--v5-body); letter-spacing: .1em; text-transform: uppercase; vertical-align: middle; }
.iv5-cl-tx__pts { margin: 0; font-family: var(--v5-display); font-size: 1.6rem; letter-spacing: .03em; white-space: nowrap; color: var(--v5-ink); }
.iv5-cl-tx__pts.is-earn { color: #2E7D32; } .iv5-cl-tx__pts.is-burn { color: #B71C1C; } .iv5-cl-tx__pts.is-pending { color: #5a5a5a; }

.iv5-cl-faqgrid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(28px, 6vw, 90px); align-items: start; }
.iv5-cl-faqhead { position: sticky; top: 110px; }
.iv5-cl-faqhead h2 { margin: 0 0 14px; font-family: var(--v5-display); font-weight: 400; text-transform: uppercase; font-size: clamp(2.6rem, 5vw, 4.4rem); line-height: .92; color: var(--v5-ink); }
.iv5-cl-faqhead a, .iv5-cl-faq a, .iv5-cl-terms a { color: var(--v5-wine); text-decoration: underline; font-weight: 600; }
.iv5-cl-faq details { border-bottom: 1px solid rgba(15,15,15,.2); }
.iv5-cl-faq details:first-child { border-top: 1px solid rgba(15,15,15,.2); }
.iv5-cl-faq summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 20px 0; font: 600 16px/1.4 var(--v5-body); color: var(--v5-ink); }
.iv5-cl-faq summary::-webkit-details-marker { display: none; }
.iv5-cl-faq summary::after { content: "+"; flex: none; width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; border: 1px solid var(--v5-ink); font-size: 18px; line-height: 1; transition: transform .25s, background .25s, color .25s; }
.iv5-cl-faq details[open] summary::after { transform: rotate(45deg); background: var(--v5-wine); border-color: var(--v5-wine); color: #fff; }
.iv5-cl-faq details p { margin: 0; padding: 0 40px 22px 0; font: 400 15.5px/1.75 var(--v5-body); color: #3a3a3a; }
.iv5-cl-terms { margin: clamp(26px, 4vw, 44px) 0 0; font: 400 13px/1.5 var(--v5-body); color: #5a5a5a; text-align: center; }
.iv5-cl-close { padding-bottom: clamp(70px, 9vw, 120px); }

@media (max-width: 991px) {
  .iv5-cl-hero__in { grid-template-columns: 1fr; }
  .iv5-cl-hero__art { order: -1; max-width: 360px; width: 100%; margin-inline: auto; }
  .iv5-cl-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .iv5-cl-tiers { grid-template-columns: 1fr; max-width: 520px; margin-inline: auto; }
  .iv5-cl-calc, .iv5-cl-faqgrid { grid-template-columns: 1fr; }
  .iv5-cl-faqhead { position: static; }
  .iv5-cl-perks { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .iv5-cl-nums ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .iv5-cl-nums li:nth-child(2) { border-right: 0; } .iv5-cl-nums li:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.14); }
  .iv5-cl-steps, .iv5-cl-perks { grid-template-columns: 1fr; }
  .iv5-cl-hero__art { max-width: 300px; }
  .iv5-cl-calc__row { grid-template-columns: 1fr; }
  .iv5-cl-calc__t { grid-row: auto; } .iv5-cl-calc__earn, .iv5-cl-calc__use { text-align: left; }
  .iv5-cl-faq details p { padding-right: 0; }
}
@media (prefers-reduced-motion: reduce) { .iv5-cl-steps li, .iv5-cl-tier, .iv5-cl-fan .iv5-card { transition: none; } }
@media (max-width: 600px) {
  .iv5-cl-table th, .iv5-cl-table td { padding: 12px 10px; font-size: 13.5px; }
  .iv5-cl-table tbody th { min-width: 150px; }
}

/* ---------- 10. Inner pages: one header family, no repeated star ---------- */
body .iv-collection-hero, body .iv-wishlist-hero, body .iv-cart-hero, body .iv-account-hero, body .iv-faq-hero, body .iv-contact-hero {
  position: relative; overflow: hidden; text-align: left; color: var(--v5-cream); border-bottom: 0;
  padding: clamp(44px, 6.5vw, 92px) 0 clamp(40px, 5.5vw, 76px);
  background: radial-gradient(640px 340px at 92% 0%, rgba(198,139,89,.30), transparent 70%), radial-gradient(560px 360px at 0% 100%, rgba(140,36,56,.62), transparent 70%), linear-gradient(135deg, #130708 0%, #26090F 55%, #3E111B 100%);
}
body .iv-collection-hero::after, body .iv-wishlist-hero::after, body .iv-cart-hero::after, body .iv-account-hero::after, body .iv-faq-hero::after, body .iv-contact-hero::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; top: auto; width: auto; height: 5px; aspect-ratio: auto; transform: none; clip-path: none; opacity: 1; right: 0;
  background: linear-gradient(90deg, var(--v5-tan) 0 33.33%, var(--v5-cream) 33.33% 66.66%, var(--v5-olive) 66.66% 100%);
}
body .iv-faq-hero .container, body .iv-contact-hero .container { position: relative; z-index: 1; }
body .iv-faq-hero .iv-eyebrow, body .iv-contact-hero .iv-eyebrow, body .iv-collection-hero .iv-eyebrow, body .iv-wishlist-hero .iv-eyebrow, body .iv-cart-hero .iv-eyebrow {
  display: inline-flex; align-items: center; gap: 8px; margin: 0 0 14px; padding: 7px 13px; border: 1px solid rgba(245,240,232,.42); border-radius: 999px;
  font: 600 12px/1 var(--v5-body); letter-spacing: .08em; text-transform: uppercase; color: var(--v5-cream); background: transparent;
}
body .iv-faq-hero .iv-eyebrow::before, body .iv-contact-hero .iv-eyebrow::before, body .iv-collection-hero .iv-eyebrow::before, body .iv-wishlist-hero .iv-eyebrow::before, body .iv-cart-hero .iv-eyebrow::before {
  content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--v5-tan); animation: iv5-pulse-a 2.4s ease-in-out infinite;
}
body .iv-collection-hero h1, body .iv-wishlist-hero__title, body .iv-cart-hero__title, body .iv-faq-hero h1, body .iv-contact-hero h1 {
  font-family: var(--v5-display); font-weight: 400; text-transform: uppercase; text-align: left; color: var(--v5-cream);
  font-size: clamp(3.2rem, 9vw, 7.4rem); line-height: .86; letter-spacing: .004em; margin: 0; max-width: 12em;
}
body .iv-collection-hero p:not(.iv-eyebrow), body .iv-wishlist-hero .iv5-hero-sub, body .iv-faq-hero p:not(.iv-eyebrow), body .iv-contact-hero p:not(.iv-eyebrow) {
  margin: 16px 0 0; max-width: 34em; text-align: left; color: rgba(245,240,232,.88); font: 400 clamp(1rem, 1.5vw, 1.15rem)/1.6 var(--v5-body);
}
@media (max-width: 575px) {
  body .iv-collection-hero h1, body .iv-wishlist-hero__title, body .iv-cart-hero__title, body .iv-faq-hero h1, body .iv-contact-hero h1 { font-size: clamp(2.9rem, 15vw, 4.4rem); max-width: 8em; }
}

/* empty states: wine, not tan */
.iv-empty-state__icon { background: var(--v5-wine); color: #fff; box-shadow: 4px 4px 0 var(--v5-ink); }
.iv-empty-state__title { font-family: var(--v5-display); }

/* FAQ "still stuck" + contact cards pick up the palette */
body .iv-faq-help { background: var(--v5-cream); border-top: 1px solid var(--v5-line); }
body .iv-faq-help h2 { font-family: var(--v5-display); font-weight: 400; text-transform: uppercase; font-size: clamp(2.4rem, 5vw, 4rem); line-height: .92; letter-spacing: .005em; }
body .iv-contact-card { transition: transform .25s, box-shadow .25s, border-color .25s; }
body .iv-contact-card:hover { transform: translate(-3px, -3px); box-shadow: 6px 6px 0 var(--v5-wine); border-color: var(--v5-ink); }
body .iv-contact-card__icon { color: var(--v5-wine); }
body .iv-contact-form-wrap h2 { font-family: var(--v5-display); font-weight: 400; text-transform: uppercase; font-size: clamp(2.2rem, 4vw, 3.2rem); line-height: .95; }

/* referral page: gold accents become wine */
.refer-section [style*="#CBB275"] { border-left-color: var(--v5-wine) !important; }
.refer-section .step-num { color: var(--v5-wine) !important; font-family: var(--v5-display); font-weight: 400 !important; font-size: 2.6rem !important; line-height: 1; }
.refer-section .step-box { transition: transform .3s, box-shadow .3s; }
.refer-section .step-box:hover { transform: translateY(-5px); box-shadow: 0 18px 36px rgba(15,15,15,.12) !important; }

/* payment failed: calm, on brand */
.iv5-pf__mark { width: 76px; height: 76px; margin: 0 auto 22px; display: grid; place-items: center; border-radius: 50%; background: var(--v5-wine); color: #fff; font: 400 3rem/1 var(--v5-display); box-shadow: 4px 4px 0 var(--v5-ink); transform: rotate(-6deg); }
.iv5-pf__title { margin: 0 0 12px; font-family: var(--v5-display); font-weight: 400; text-transform: uppercase; font-size: clamp(2.8rem, 8vw, 4.2rem); line-height: .9; color: var(--v5-ink); }
.iv5-pf__sub { margin: 0 auto 28px; max-width: 30em; font: 400 15.5px/1.7 var(--v5-body); color: #3a3a3a; }
.iv5-pf a[href^="payment/"] { background: var(--v5-wine) !important; border-radius: 0 !important; }
.iv5-pf a[href^="payment/"]:hover { background: var(--v5-ink) !important; }

/* thank-you / order pages: wine accents */
body .iv-ty .iv-ty__check { background: var(--v5-wine); }
body .iv-contact-grid { position: relative; z-index: 2; }

/* ---------- 11. Header lockup: the brand leads ---------- */
/* Layout: true-centre grid. Menu hugs the left, search + icons hug the right, the lockup sits on the exact page centre. */
.d-xl-block header.header4 > .container { max-width: min(94vw, 1680px); }
.d-xl-block header.header4 .col-lg-12 { display: grid !important; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; column-gap: clamp(18px, 2.4vw, 56px); }
.d-xl-block header.header4 .main-menu { justify-self: start; min-width: 0; }
.d-xl-block header.header4 .main-menu > ul { display: flex; flex-wrap: nowrap; align-items: center; white-space: nowrap; }
.d-xl-block header.header4 .main-menu ul > li { flex: none; padding-left: clamp(0px, .3vw, 5px) !important; padding-right: clamp(0px, .3vw, 5px) !important; }
.d-xl-block header.header4 .main-menu ul > li > a { font-size: clamp(10.5px, .9vw, 13px); letter-spacing: clamp(.06em, .5vw - .02em, .11em); padding-left: clamp(4px, .55vw, 9px); padding-right: clamp(4px, .55vw, 9px); }
.d-xl-block header.header4 .main-menu ul > li.iv-secondary-nav-item > a[href="club-ivy"] { padding: 10px clamp(10px, 1vw, 16px); margin: 0 clamp(1px, .35vw, 6px); gap: 6px; }
.d-xl-block header.header4 .header-logo { justify-self: center; --mk: clamp(44px, 3.7vw, 58px); --lg: clamp(2px, .3vw, 5px); --sh: clamp(6px, 1vw, 16px); margin-left: calc(var(--sh) * -1); margin-right: var(--sh); } /* the WORD sits (nearly) on the page centre; the mark hangs to its left */
.d-xl-block header.header4 .nav-right { justify-self: stretch; min-width: 0; display: flex; justify-content: flex-end; }
.d-xl-block header.header4 .nav-right > ul { display: flex; align-items: center; justify-content: space-between; gap: clamp(16px, 2.2vw, 48px); width: 100%; max-width: 640px; margin: 0; padding: 0; }
.d-xl-block header.header4 .nav-right .position-relative { flex: 1 1 auto; width: auto; max-width: clamp(170px, 19vw, 330px) !important; min-width: 120px; }
.d-xl-block header.header4 .nav-right #search_input { width: 100%; min-width: 0; }
/* account / wishlist / bag: bigger, labelled, evenly spaced */
.d-xl-block header.header4 .nav-right > ul > .d-flex { flex: none; gap: clamp(14px, 1.9vw, 38px); }
.d-xl-block header.header4 .nav-right > ul > .d-flex > li { padding: 0 !important; }
.d-xl-block header.header4 .nav-right > ul > .d-flex a { position: relative; display: flex; flex-direction: column; align-items: center; gap: 5px; color: var(--v5-ink); text-decoration: none; transition: color .2s, transform .25s; }
.d-xl-block header.header4 .nav-right > ul > .d-flex a:hover { color: var(--v5-wine); transform: translateY(-2px); }
.d-xl-block header.header4 .nav-right > ul > .d-flex a svg { width: clamp(22px, 1.75vw, 27px); height: auto; display: block; }
.d-xl-block header.header4 .nav-right > ul > .d-flex a svg path { fill: currentColor; stroke: none; }
.d-xl-block header.header4 .nav-right > ul > .d-flex a[href="cart-page"] svg path { fill: none; stroke: currentColor; }
.d-xl-block header.header4 .nav-right > ul > .d-flex a::after { font: 700 9.5px/1 var(--v5-body); letter-spacing: .16em; text-transform: uppercase; }
.d-xl-block header.header4 .nav-right > ul > .d-flex a.user::after { content: "Account"; }
.d-xl-block header.header4 .nav-right > ul > .d-flex a[href="wishlist"]::after { content: "Wishlist"; }
.d-xl-block header.header4 .nav-right > ul > .d-flex a[href="cart-page"]::after { content: "Cart"; }
.d-xl-block header.header4 .nav-right .cart-area { position: relative; }
.d-xl-block header.header4 .nav-right .cart-area { display: flex; justify-content: center; }
.d-xl-block header.header4 .nav-right .cart-area > span { top: -8px !important; left: 50% !important; right: auto !important; margin-left: 7px; } /* badge anchors to the icon centre, not the label width */

header.header-area.header4 .header-logo a { position: relative; display: inline-flex; align-items: center; gap: var(--lg, 4px); padding-bottom: 2px; text-decoration: none; transition: transform .35s cubic-bezier(.2,.7,.2,1); }
header.header-area.header4 .header-logo a:hover { transform: translateY(-2px); }
.iv5-logo__mark { position: relative; display: block; flex: none; line-height: 0; margin-right: calc(var(--mk, 58px) * -.08); transition: transform .45s cubic-bezier(.2,.7,.2,1); }
header.header-area.header4 .header-logo .iv5-logo__mark img { width: var(--mk, 58px); height: auto; max-width: none; display: block; filter: drop-shadow(0 5px 8px rgba(140,36,56,.34)); }
.iv5-glint { position: relative; display: block; line-height: 0; }
.iv5-logo__mark::after, .iv5-glint::after { /* foil glint that passes through the mark only */
  content: ""; position: absolute; inset: 0; pointer-events: none;
  -webkit-mask: url("../image/left-logo.png") center / 100% 100% no-repeat; mask: url("../image/left-logo.png") center / 100% 100% no-repeat;
  background: linear-gradient(105deg, transparent 38%, rgba(228,185,141,.95) 50%, transparent 62%) 0 0 / 260% 100% no-repeat; background-position: 160% 0;
  animation: iv5-glint 6.5s ease-in-out 1.2s infinite;
}
@keyframes iv5-glint { 0%, 55% { background-position: 160% 0; } 100% { background-position: -60% 0; } }
header.header-area.header4 .header-logo a:hover .iv5-logo__mark { transform: rotate(-6deg) scale(1.06); }
header.header-area.header4 .header-logo a:hover .iv5-logo__mark::after { animation-duration: 1.4s; animation-delay: 0s; }
header.header-area.header4 .header-logo img.iv5-logo__word { width: clamp(96px, 8.4vw, 132px); height: auto; max-width: none; flex: none; filter: brightness(.18) contrast(1.35); }
/* the tagline hangs under the WORDMARK (not the whole lockup), so word + tagline read as one centred stack */
.iv5-logo__tag { position: absolute; left: calc(var(--mk, 58px) * .92 + var(--lg, 4px) - 6px); right: -6px; top: calc(100% + 1px); display: flex; align-items: center; justify-content: center; gap: 8px; font: 700 clamp(6.5px, .52vw, 7.5px)/1 var(--v5-body); letter-spacing: .4em; text-transform: uppercase; color: var(--v5-wine); white-space: nowrap; pointer-events: none; }
.iv5-logo__tag::before, .iv5-logo__tag::after { content: ""; width: clamp(10px, 1.3vw, 20px); height: 1px; background: linear-gradient(90deg, transparent, var(--v5-tan)); }
.iv5-logo__tag::after { transform: scaleX(-1); }
@media (prefers-reduced-motion: reduce) { .iv5-logo__mark::after { animation: none; } }

/* ---------- 12. Homepage: Made in India x Our Philosophy (one section) ---------- */
.iv5-ph {
  position: relative; overflow: hidden; color: var(--v5-cream); padding: clamp(64px, 7vw, 104px) 0 clamp(56px, 6vw, 88px);
  background:
    radial-gradient(760px 420px at 85% 8%, rgba(198,139,89,.28), transparent 70%),
    radial-gradient(640px 420px at 0% 100%, rgba(122,46,56,.65), transparent 70%),
    linear-gradient(135deg, #2A0B10 0%, #3D1015 55%, #4A1620 100%);
}
.iv5-ph__wrap { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, .7fr); gap: clamp(32px, 5vw, 80px); align-items: center; }
.iv5-ph .iv5-ph__eyebrow {
  display: inline-flex; align-items: center; gap: 8px; margin: 0 0 clamp(14px, 2vw, 22px); padding: 7px 14px;
  border: 1px solid rgba(245,240,232,.34); border-radius: 999px; font: 600 12px/1 var(--v5-body); letter-spacing: .06em; color: var(--v5-cream);
}
.iv5-ph .iv5-ph__eyebrow::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--v5-tan); }
.iv5-ph h2.iv5-ph__title {
  margin: 0 0 clamp(20px, 2.4vw, 30px); font-family: var(--v5-display); font-weight: 400; text-transform: uppercase;
  font-size: clamp(3.1rem, 7.4vw, 6.7rem); line-height: .88; letter-spacing: .004em; color: var(--v5-cream);
}
.iv5-ph__title span { display: block; }
.iv5-ph__title .l2 { color: var(--v5-tan); }
.iv5-ph p.iv5-ph__lead { margin: 0 0 14px; max-width: 30em; font: 500 clamp(1.1rem, 1.55vw, 1.35rem)/1.55 var(--v5-body); color: var(--v5-cream); }
.iv5-ph p.iv5-ph__quote { margin: 0 0 clamp(24px, 3vw, 34px); max-width: 33em; font: 400 15px/1.65 var(--v5-body); color: rgba(245,240,232,.74); }
.iv5-ph__ctas { display: flex; flex-wrap: wrap; gap: 12px; }
.iv5-ph a.iv5-ph__btn {
  display: inline-flex; align-items: center; gap: 12px; min-height: 52px; padding: 0 28px; font: 700 12.5px/1 var(--v5-body);
  letter-spacing: .14em; text-transform: uppercase; text-decoration: none; border: 1.5px solid var(--v5-tan); transition: transform .2s, box-shadow .2s, background .2s, color .2s;
}
.iv5-ph a.iv5-ph__btn--solid { background: var(--v5-tan); color: var(--v5-ink); box-shadow: 4px 4px 0 rgba(245,240,232,.9); }
.iv5-ph a.iv5-ph__btn--solid:hover { background: var(--v5-cream); border-color: var(--v5-cream); transform: translate(-2px, -2px); box-shadow: 6px 6px 0 var(--v5-tan); }
.iv5-ph a.iv5-ph__btn--line { background: transparent; color: var(--v5-cream); border-color: rgba(245,240,232,.5); }
.iv5-ph a.iv5-ph__btn--line:hover { border-color: var(--v5-cream); background: rgba(245,240,232,.08); }
.iv5-ph__fig { margin: 0; justify-self: center; width: 100%; max-width: 410px; }
.iv5-ph__frame { position: relative; }
.iv5-ph__frame::before { content: ""; position: absolute; inset: 18px -18px -18px 18px; border: 1px solid rgba(198,139,89,.7); }
.iv5-ph__frame img.iv5-ph__photo { position: relative; z-index: 1; display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 12%; box-shadow: 0 40px 80px -30px rgba(0,0,0,.65); }
.iv5-ph__badge { position: absolute; z-index: 2; left: -58px; bottom: 40px; width: clamp(124px, 12.2vw, 160px); aspect-ratio: 1; filter: drop-shadow(0 14px 24px rgba(0,0,0,.5)); }
.iv5-ph__badge svg { display: block; width: 100%; height: 100%; }
.iv5-ph__badgemark { position: absolute; left: 50%; top: 50%; width: 38%; transform: translate(-50%, -50%); }
.iv5-ph__badgemark img { display: block; width: 100%; height: auto; }
.iv5-ph__ring { transform-origin: 60px 60px; animation: iv5-spin 40s linear infinite; }
@keyframes iv5-spin { to { transform: rotate(360deg); } }
.iv5-ph__cap { display: flex; align-items: center; gap: 14px; margin-top: 34px; font: 700 11px/1 var(--v5-body); letter-spacing: .3em; text-transform: uppercase; color: var(--v5-tan); }
.iv5-ph__cap i { flex: 1; height: 1px; background: linear-gradient(90deg, rgba(198,139,89,.8), rgba(198,139,89,.1)); }
.iv5-ph__pil { list-style: none; margin: clamp(40px, 5vw, 72px) 0 0; padding: clamp(22px, 2.6vw, 32px) 0 0; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(245,240,232,.22); }
.iv5-ph__pil li { display: grid; grid-template-columns: auto 1fr; gap: 0 18px; align-items: start; padding: 0 clamp(18px, 2.6vw, 40px); }
.iv5-ph__pil li:first-child { padding-left: 0; }
.iv5-ph__pil li + li { border-left: 1px solid rgba(245,240,232,.16); }
.iv5-ph__pil .n { grid-row: 1 / span 2; font-family: var(--v5-display); font-size: clamp(2.6rem, 4vw, 3.6rem); line-height: .9; color: transparent; -webkit-text-stroke: 1.2px var(--v5-tan); }
.iv5-ph__pil h3 { margin: 2px 0 4px; font-family: var(--v5-display); font-weight: 400; font-size: clamp(1.5rem, 2.1vw, 1.9rem); letter-spacing: .05em; text-transform: uppercase; color: var(--v5-cream); }
.iv5-ph__pil p { margin: 0; font: 400 14px/1.55 var(--v5-body); color: rgba(245,240,232,.72); }
@media (max-width: 991px) {
  .iv5-ph__wrap { grid-template-columns: 1fr; }
  .iv5-ph__fig { justify-self: start; max-width: 380px; width: calc(100% - 22px); }
  .iv5-ph__badge { left: -8px; }
}
@media (max-width: 700px) {
  .iv5-ph__pil { grid-template-columns: 1fr; }
  .iv5-ph__pil li, .iv5-ph__pil li + li { padding: 16px 0; border-left: 0; }
  .iv5-ph__pil li + li { border-top: 1px solid rgba(245,240,232,.16); }
  .iv5-ph__pil li:first-child { padding-top: 0; }
  .iv5-ph__ctas a { width: 100%; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) { .iv5-ph__ring { animation: none; } }

/* membership number */
.iv5-card__mid { display: flex; align-items: center; justify-content: space-between; gap: 12px; position: relative; z-index: 1; }
.iv5-card__no { font: 600 clamp(11.5px, 1.25vw, 14px)/1 var(--v5-body); font-variant-numeric: tabular-nums; letter-spacing: .24em; color: rgba(245,240,232,.92); text-shadow: 0 1px 0 rgba(0,0,0,.35); white-space: nowrap; }

/* ---------- 13. Club Ivy+: the points ledger ---------- */
.iv5-cl-hero__jump { color: var(--a2); text-decoration: underline; text-underline-offset: 3px; font-weight: 600; }
.iv5-ld { background: var(--v5-cream-soft); }
.iv5-ld__tiles { display: grid; grid-template-columns: 1.3fr 1fr 1fr 1fr; gap: clamp(10px, 1.6vw, 18px); margin-bottom: clamp(22px, 3vw, 34px); }
.iv5-ld__tile { padding: clamp(16px, 2.2vw, 26px); background: #fff; border: 1px solid var(--v5-line); border-top: 4px solid var(--v5-tan); }
.iv5-ld__tile b { display: block; font-family: var(--v5-display); font-weight: 400; font-size: clamp(2.4rem, 4.4vw, 3.8rem); line-height: 1; letter-spacing: .02em; color: var(--v5-ink); }
.iv5-ld__tile span { display: block; margin-top: 8px; font: 700 11px/1.3 var(--v5-body); letter-spacing: .14em; text-transform: uppercase; color: #4a4a4a; }
.iv5-ld__tile--main { background: linear-gradient(135deg, #2A0A10, #5A1826); border-color: transparent; border-top-color: var(--v5-tan); }
.iv5-ld__tile--main b { color: #fff; } .iv5-ld__tile--main span { color: rgba(255,255,255,.85); }
.iv5-ld__bar { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.iv5-ld__bar button { padding: 10px 18px; min-height: 40px; border: 1.5px solid var(--v5-ink); background: transparent; color: var(--v5-ink); border-radius: 999px; font: 700 12px/1 var(--v5-body); letter-spacing: .1em; text-transform: uppercase; cursor: pointer; transition: background .2s, color .2s; }
.iv5-ld__bar button:hover { background: rgba(15,15,15,.06); }
.iv5-ld__bar button.is-on { background: var(--v5-ink); color: #fff; }
.iv5-ld__list { list-style: none; margin: 0; padding: 0; background: #fff; border: 1px solid var(--v5-line); }
.iv5-ld__row { display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; gap: 14px; align-items: start; padding: 18px clamp(14px, 2vw, 24px); border-bottom: 1px solid var(--v5-line); }
.iv5-ld__row:last-child { border-bottom: 0; }
.iv5-ld__row[hidden] { display: none; }
.iv5-ld__dot { width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; font: 700 17px/1 var(--v5-body); color: #fff; background: #2E7D32; }
.iv5-ld__row--progress .iv5-ld__dot { background: var(--v5-tan-d); letter-spacing: .05em; }
.iv5-ld__row--spent .iv5-ld__dot { background: var(--v5-wine); }
.iv5-ld__title { margin: 0; font: 600 15px/1.4 var(--v5-body); color: var(--v5-ink); }
.iv5-ld__title a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.iv5-ld__tag { display: inline-block; margin-left: 8px; padding: 3px 9px; border-radius: 99px; font: 700 10px/1 var(--v5-body); letter-spacing: .1em; text-transform: uppercase; vertical-align: middle; }
.iv5-ld__tag--earned { background: #E3F1E4; color: #1F6024; } .iv5-ld__tag--progress { background: #F6E6D3; color: #7A3D10; } .iv5-ld__tag--spent { background: #F4DADF; color: #7A1A2B; }
.iv5-ld__meta { margin: 4px 0 0; font: 500 12.5px/1.4 var(--v5-body); color: #4a4a4a; }
.iv5-ld__pts { margin: 0; font-family: var(--v5-display); font-size: 2rem; line-height: 1; letter-spacing: .02em; color: #1F6024; white-space: nowrap; }
.iv5-ld__row--progress .iv5-ld__pts { color: var(--v5-tan-d); } .iv5-ld__row--spent .iv5-ld__pts { color: var(--v5-wine); }
.iv5-ld__steps { list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; margin: 12px 0 0; padding: 0; max-width: 460px; }
.iv5-ld__steps li { position: relative; padding-top: 10px; font: 600 10.5px/1.2 var(--v5-body); letter-spacing: .06em; text-transform: uppercase; color: #8a8a8a; }
.iv5-ld__steps li::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; border-radius: 4px; background: #E3DED4; }
.iv5-ld__steps li.is-done { color: var(--v5-ink); } .iv5-ld__steps li.is-done::before { background: var(--v5-wine); }
.iv5-ld__steps li.is-now { color: var(--v5-tan-d); } .iv5-ld__steps li.is-now::before { background: repeating-linear-gradient(45deg, var(--v5-tan) 0 6px, #F1DFCB 6px 12px); animation: iv5-ld-slide 1.2s linear infinite; background-size: 17px 17px; }
@keyframes iv5-ld-slide { to { background-position: 17px 0; } }
.iv5-ld__empty { padding: clamp(26px, 4vw, 44px); background: #fff; border: 1px dashed rgba(15,15,15,.3); text-align: left; }
.iv5-ld__empty b { display: block; margin-bottom: 8px; font-family: var(--v5-display); font-weight: 400; font-size: clamp(2rem, 4vw, 3rem); text-transform: uppercase; color: var(--v5-ink); }
.iv5-ld__empty p { margin: 0 0 18px; max-width: 34em; font: 400 15.5px/1.7 var(--v5-body); color: #3a3a3a; }
.iv5-ld__cta { background: var(--v5-wine) !important; color: #fff !important; border-color: var(--v5-wine) !important; box-shadow: 4px 4px 0 var(--v5-ink) !important; }
.iv5-ld__none { padding: 22px; background: #fff; border: 1px solid var(--v5-line); font: 500 14px/1.5 var(--v5-body); color: #4a4a4a; }
.iv5-ld__note { margin: 14px 0 0; font: 400 13px/1.6 var(--v5-body); color: #4a4a4a; }
@media (max-width: 767px) {
  .iv5-ld__tiles { grid-template-columns: 1fr 1fr; }
  .iv5-ld__tile--main { grid-column: 1 / -1; }
  .iv5-ld__row { grid-template-columns: 34px minmax(0, 1fr) auto; gap: 10px; }
  .iv5-ld__dot { width: 34px; height: 34px; }
  .iv5-ld__steps li { font-size: 9px; letter-spacing: .02em; }
}
@media (prefers-reduced-motion: reduce) { .iv5-ld__steps li.is-now::before { animation: none; } }

/* ---------- 14. Homepage hero: wine, not tan; no "01" watermark ---------- */
body .iv-hero2__numeral { display: none !important; }
body .iv-hero2 .iv-hl { color: var(--v5-wine); }
body .iv-hero2 .iv-hero2__btn--solid { background: var(--v5-wine); border-color: var(--v5-wine); color: #fff; }
body .iv-hero2 .iv-hero2__btn--solid:hover { background: var(--v5-ink); border-color: var(--v5-ink); color: #fff; }

/* ---------- 15. Empty states sit high so the CTA is always above the fold ---------- */
body .iv-empty-state { padding: clamp(26px, 3vw, 40px) 20px clamp(44px, 5vw, 72px); }
body .iv-empty-state__icon { width: 68px; height: 68px; font-size: 28px; margin-bottom: 12px; }
body .iv-empty-state__title { margin: 6px 0 10px; }
body .iv-empty-state__sub { margin-bottom: 22px; }
body .wishlist-section:has(.iv-empty-state) { margin-top: 0 !important; margin-bottom: 40px !important; }
body .iv5-empty { padding: clamp(24px, 3vw, 40px) !important; }

/* ---------- 16. Club Ivy+ page: section rhythm (no dead air between sections) ---------- */
.iv5-cl-sec { padding-block: clamp(44px, 5.4vw, 76px); }
.iv5-cl-sec.iv5-ab-sec--ink { padding-bottom: clamp(48px, 6vw, 84px); }
.iv5-cl-sec.iv5-ld { padding-bottom: clamp(20px, 2.6vw, 34px); }                 /* ledger ... */
.iv5-cl-sec.iv5-ld ~ #how { padding-top: clamp(30px, 4vw, 52px); }              /* ... flows straight into how-it-works (same background) */
.iv5-cl-close.iv5-ab-sec { padding-block: clamp(52px, 6.4vw, 90px); }

/* ---------- 17. Compare table: quiet, editorial; each tier column carries its own colour ---------- */
.iv5-sr { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.iv5-cl-tablewrap { border: 0; background: #fff; box-shadow: 0 22px 50px rgba(15,15,15,.08), 0 0 0 1px rgba(15,15,15,.06); }
.iv5-cl-table { font-size: 15px; }
.iv5-cl-table th, .iv5-cl-table td { padding: 17px 22px; border-bottom: 1px solid rgba(15,15,15,.07); }
.iv5-cl-table thead th { padding: 0; border-bottom: 0; background: none; letter-spacing: 0; text-transform: none; vertical-align: bottom; position: relative; }
.iv5-cl-table thead th:first-child { background: var(--v5-ink); text-align: left; padding: 26px 22px 22px; }
.iv5-cl-table__title { display: block; font: 400 clamp(1.7rem, 2.6vw, 2.3rem)/.95 var(--v5-display); letter-spacing: .04em; text-transform: uppercase; color: var(--v5-cream); }
.iv5-cl-table__sub { display: block; margin-top: 8px; font: 600 10.5px/1 var(--v5-body); letter-spacing: .18em; text-transform: uppercase; color: var(--v5-tan); }
.iv5-cl-table thead th:nth-child(n+2) { padding: 26px 16px 20px; border-bottom: 3px solid var(--tc); }
.iv5-cl-table__tier { display: inline-block; font: 400 clamp(1.25rem, 1.9vw, 1.6rem)/1 var(--v5-display); letter-spacing: .12em; text-transform: uppercase; color: #fff; }
.iv5-cl-table thead th:nth-child(2) { --tc: #A63248; background: linear-gradient(180deg, #230810, #5A1523); }
.iv5-cl-table thead th:nth-child(3) { --tc: #D49A62; background: linear-gradient(180deg, #1F130A, #7A4E26); }
.iv5-cl-table thead th:nth-child(4) { --tc: #6F8DBA; background: linear-gradient(180deg, #060912, #18223A); }
.iv5-cl-table tbody th { padding-left: 22px; font: 600 14.5px/1.4 var(--v5-body); color: var(--v5-ink); background: #fff; }
.iv5-cl-table tbody td { color: #2a2a2a; }
.iv5-cl-table tbody td:nth-child(2) { background: rgba(140,36,56,.045); }
.iv5-cl-table tbody td:nth-child(3) { background: rgba(198,139,89,.09); }
.iv5-cl-table tbody td:nth-child(4) { background: rgba(31,43,69,.055); }
.iv5-cl-table tbody tr:hover td:nth-child(2) { background: rgba(140,36,56,.09); }
.iv5-cl-table tbody tr:hover td:nth-child(3) { background: rgba(198,139,89,.16); }
.iv5-cl-table tbody tr:hover td:nth-child(4) { background: rgba(31,43,69,.10); }
.iv5-cl-table tbody tr:hover th { background: #fbf8f3; }
/* the headline row: the rate itself, in display type */
.iv5-cl-table tr.is-key td { font: 400 clamp(1.5rem, 2.2vw, 2rem)/1 var(--v5-display); letter-spacing: .04em; padding-block: 14px; }
.iv5-cl-table tr.is-key td:nth-child(2) { color: #8C2438; } .iv5-cl-table tr.is-key td:nth-child(3) { color: #A5612F; } .iv5-cl-table tr.is-key td:nth-child(4) { color: #2C4670; }
/* yes / none as marks, not words */
.iv5-yes, .iv5-no { font-size: 0; }
.iv5-yes::before { content: "\2713"; font: 700 17px/1 var(--v5-body); color: var(--tc, var(--v5-wine)); }
.iv5-no::before { content: ""; display: inline-block; width: 12px; height: 1px; background: rgba(15,15,15,.28); vertical-align: middle; }
.iv5-cl-table td:nth-child(2) .iv5-yes::before { color: #8C2438; } .iv5-cl-table td:nth-child(3) .iv5-yes::before { color: #A5612F; } .iv5-cl-table td:nth-child(4) .iv5-yes::before { color: #2C4670; }
.iv5-plus { font-size: 13.5px; color: #555; margin-left: 4px; }

@media (max-width: 575px) {
  .iv5-cl-table { min-width: 560px; font-size: 13.5px; }
  .iv5-cl-table th, .iv5-cl-table td { padding: 13px 10px; }
  .iv5-cl-table tbody th, .iv5-cl-table thead th:first-child { width: 124px; min-width: 124px; max-width: 124px; padding-left: 14px; font-size: 12.5px; box-shadow: 6px 0 10px -6px rgba(15,15,15,.18); z-index: 2; }
  .iv5-cl-table thead th:first-child { left: 0; position: sticky; }
  .iv5-cl-table__title { font-size: 1.5rem; } .iv5-cl-table__sub { font-size: 9px; letter-spacing: .12em; }
  .iv5-cl-table thead th:nth-child(n+2) { padding: 22px 8px 16px; }
  .iv5-cl-table td { white-space: nowrap; }
}

/* ---------- 18. Membership ID line (account + Club Ivy+ hero) ---------- */
.iv5-mid { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 14px; margin: clamp(16px, 2vw, 22px) 0 4px; }
.iv5-mid__k { font: 700 10.5px/1 var(--v5-body); letter-spacing: .16em; text-transform: uppercase; color: rgba(245,240,232,.72); }
.iv5-mid__v { font-family: var(--v5-display); font-weight: 400; font-size: clamp(1.35rem, 2vw, 1.7rem); line-height: 1; letter-spacing: .14em; color: var(--a2, #E4B98D); }
.iv5-mid__copy { padding: 7px 13px; background: transparent; border: 1px solid rgba(245,240,232,.4); border-radius: 999px; color: var(--v5-cream); font: 700 10.5px/1 var(--v5-body); letter-spacing: .14em; text-transform: uppercase; cursor: pointer; transition: background .2s, border-color .2s; }
.iv5-mid__copy:hover { background: rgba(245,240,232,.14); border-color: rgba(245,240,232,.75); }
.iv5-mid__fine { margin: 0; font: 500 12.5px/1.4 var(--v5-body); color: rgba(245,240,232,.7); }
.iv5-mid--center { justify-content: center; margin-top: 18px; }

/* ---------- 19. Footer lockup: same mark, same glint, on the dark footer ---------- */
.iv5-flogo { position: relative; display: inline-flex; align-items: center; gap: 12px; margin: 0 0 34px; padding-bottom: 4px; text-decoration: none; transition: transform .35s cubic-bezier(.2,.7,.2,1); }
.iv5-flogo:hover { transform: translateY(-2px); }
.iv5-flogo__mark { flex: none; margin-right: 0; }
.iv5-flogo__tag { position: absolute; left: 78px; right: 0; top: calc(100% + 7px); display: flex; align-items: center; justify-content: center; gap: 10px; font: 800 10.5px/1 var(--v5-body); letter-spacing: .44em; text-transform: uppercase; color: #C23553; white-space: nowrap; pointer-events: none; }
.iv5-flogo__tag::before, .iv5-flogo__tag::after { content: ""; width: 22px; height: 2px; background: linear-gradient(90deg, transparent, #C23553); }
.iv5-flogo__tag::after { transform: scaleX(-1); }
/* Silver lockup on the dark footer: the real ribbon mark (header artwork, lifted to silver, wine glow) + a chrome-silver wordmark
   cut from the real wordmark's shape, with a sweep that runs across both. Wordmark/sweep are masked to the PNG shapes.
   --fx-lift = how much the mark is brightened (raise if the live mark looks too dark, lower if it looks blown out). */
.iv5-flogo { gap: 14px; }
.iv5-fx { position: relative; display: block; flex: none; line-height: 0; }
.iv-footer .iv5-fx img { display: block; height: auto; max-width: none; }
.iv5-fx::before, .iv5-fx::after { content: ""; position: absolute; inset: 0; pointer-events: none; -webkit-mask: var(--fx-img) center / 100% 100% no-repeat; mask: var(--fx-img) center / 100% 100% no-repeat; }
.iv5-fx::after {
  background: linear-gradient(100deg, transparent 28%, rgba(255,246,232,.6) 42%, #fff 50%, rgba(255,246,232,.6) 58%, transparent 72%) 0 0 / 300% 100% no-repeat; background-position: 175% 0;
  animation: iv5-fx 4.6s cubic-bezier(.45,.05,.3,1) var(--fx-d, 1s) infinite;
}
.iv5-flogo__mark.iv5-fx { --fx-img: url("../image/left-logo.png"); --fx-d: 1s; filter: drop-shadow(0 5px 16px rgba(210,74,104,.6)); }
.iv5-flogo__mark.iv5-fx::before { display: none; }
.iv-footer .iv5-flogo__mark img { width: 64px; opacity: 1; filter: brightness(var(--fx-lift, 1.75)) contrast(1.2); }
.iv5-flogo__word.iv5-fx { --fx-img: url("../image/Logo_1.png"); --fx-d: 1.28s; width: 196px; filter: drop-shadow(0 2px 10px rgba(255,255,255,.08)); }
.iv5-flogo__word.iv5-fx::before { background: linear-gradient(180deg, #FFFFFF 0%, #D6DAE0 44%, #8E949F 54%, #E4E7EB 100%); }
.iv-footer .iv5-flogo__word img { width: 100%; opacity: 0; }
.iv5-flogo:hover .iv5-fx::after { animation-duration: 1.5s; animation-delay: 0s; }
@keyframes iv5-fx { 0%, 36% { background-position: 175% 0; } 76%, 100% { background-position: -75% 0; } }
@media (prefers-reduced-motion: reduce) { .iv5-fx::after { animation: none; opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .iv5-glint::after { animation: none; } }

/* ---------- 20. Footer, compact (a footer, not a page) ---------- */
.iv-footer.iv5-foot { padding: clamp(36px, 4.2vw, 54px) 0 18px; }
.iv-footer.iv5-foot .iv5-foot-top {
  grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px 40px;
  padding: 0 0 clamp(20px, 2.4vw, 28px); margin-bottom: clamp(24px, 2.8vw, 34px);
}
.iv-footer.iv5-foot .iv5-foot-top__line { font-size: clamp(2.1rem, 3.5vw, 3.3rem); line-height: 1; white-space: nowrap; }
.iv-footer.iv5-foot .iv5-foot-top__line span { display: inline; margin-left: .12em; }
.iv-footer.iv5-foot .iv5-foot-top__side { display: flex; align-items: center; gap: 22px; }
.iv-footer.iv5-foot .iv5-foot-top__side p { margin: 0; max-width: 17em; font-size: 13.5px; line-height: 1.5; }
.iv-footer.iv5-foot a.iv5-foot-btn { min-height: 44px; padding: 0 22px; font-size: 11.5px; white-space: nowrap; }

.iv-footer.iv5-foot .iv5-flogo { margin: 0 0 40px; }
.iv-footer.iv5-foot .iv5-foot-note { margin: 0 0 14px !important; max-width: 400px !important; font-size: 13.5px !important; line-height: 1.6 !important; }
.iv-footer.iv5-foot .iv-footer-social { width: 34px; height: 34px; font-size: 14px; }
.iv-footer.iv5-foot .iv-foot-title { font-size: 1.05rem; margin: 0 0 12px; }
.iv-footer.iv5-foot-cols, .iv5-foot-cols { --bs-gutter-y: 1.5rem; }
.iv5-foot-cols li { margin-bottom: 7px !important; }
.iv5-foot-cols li a { font-size: 13.5px; }
.iv-footer .iv5-foot-co { margin: 0; font-size: 13px; line-height: 1.75; color: var(--v5-cream); }

.iv5-foot-bar { margin-top: clamp(26px, 3vw, 38px); padding-top: 18px; border-top: 1px solid rgba(245,240,232,.14); }
.iv5-foot-bar__row { display: flex; align-items: center; justify-content: space-between; gap: 12px 28px; flex-wrap: wrap; }
.iv5-foot-bar__pay { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.iv5-foot-bar__label { margin-right: 6px; font: 700 10.5px/1 var(--v5-body); letter-spacing: .18em; text-transform: uppercase; color: rgba(245,240,232,.7); }
.iv5-foot-bar .iv-pay-chip { min-width: 38px; height: 24px; padding: 0 9px; font-size: 10.5px; }
.iv5-foot-bar .iv-pay-chip i { font-size: 16px; }
.iv5-foot-bar .iv-pay-chip .fa-building-columns { font-size: 12px; margin-right: 5px; }
.iv5-foot-bar__secure { margin-left: 10px; font: 500 11.5px/1 var(--v5-body); letter-spacing: .03em; color: rgba(245,240,232,.62); white-space: nowrap; }
.iv5-foot-bar__secure i { margin-right: 6px; color: #7BC47F; }
.iv5-foot-bar__made { font: 600 10.5px/1 var(--v5-body); letter-spacing: .18em; text-transform: uppercase; color: rgba(245,240,232,.66); white-space: nowrap; }
.iv5-foot-bar__made i { margin-right: 7px; color: #C44; }
.iv5-foot-bar__legal { margin: 16px 0 0; text-align: center; font: 400 11.5px/1.4 var(--v5-body); letter-spacing: .08em; color: rgba(245,240,232,.5); }

@media (max-width: 991px) {
  .iv-footer.iv5-foot .iv5-foot-top__side p { display: none; }
}
@media (max-width: 767px) {
  .iv-footer.iv5-foot { padding-bottom: calc(18px + 64px + env(safe-area-inset-bottom, 0px)); }
  .iv-footer.iv5-foot .iv5-foot-top { grid-template-columns: 1fr; }
  .iv-footer.iv5-foot .iv5-foot-top__line { white-space: normal; font-size: clamp(2.2rem, 9vw, 2.9rem); }
  .iv5-foot-bar__row { justify-content: flex-start; }
  .iv5-foot-bar__secure { margin-left: 0; flex-basis: 100%; margin-top: 4px; }
  .iv5-foot-bar__legal { text-align: left; }
}

/* ---------- 22. Footer: the India band ---------- */
.iv-footer.iv5-foot { padding-bottom: 0; }
.iv5-foot-bar__secure { margin-left: 0; }
.iv5-foot-india { margin-top: 14px; padding: 17px 0 18px; text-align: center; background: #0F0F0F; border-top: 1px solid rgba(198,139,89,.7); }
.iv5-foot-india__txt { display: inline-flex; align-items: center; justify-content: center; gap: 14px; font-family: var(--v5-display); font-weight: 400; font-size: clamp(1.25rem, 2.1vw, 1.7rem); line-height: 1; letter-spacing: .26em; text-transform: uppercase; color: #F5F0E8; }

@media (max-width: 767px) {
  .iv5-foot-india { padding-bottom: calc(18px + 64px + env(safe-area-inset-bottom, 0px)); }
  .iv5-foot-india__txt { letter-spacing: .18em; gap: 10px; }
}


/* dark: chips, badge, heart */
.iv-footer.iv5-foot .iv5-foot-bar__label { color: #F5F0E8; }
/* payment chips: their own brand colours, on white */
.iv-footer.iv5-foot .iv5-foot-bar .iv-pay-chip { background: #fff; border: 1px solid #fff; color: #1b1b1b; height: 28px; padding: 0 11px; box-shadow: 0 2px 8px rgba(0,0,0,.35); }
.iv-footer.iv5-foot .iv5-foot-bar .iv-pay-chip i { font-size: 20px; }
.iv-footer.iv5-foot .iv5-foot-bar .iv-pay-chip .fa-cc-visa { color: #1A1F71; }
.iv-footer.iv5-foot .iv5-foot-bar .iv-pay-chip .fa-cc-mastercard { color: #EB001B; }
.iv-footer.iv5-foot .iv5-foot-bar .iv-pay-chip .fa-building-columns { color: #0F0F0F; font-size: 13px; }
.iv5-pc-upi b { font: italic 800 13px/1 var(--v5-body); letter-spacing: .02em; color: #3b3b3b; }
.iv5-pc-upi__ar { display: inline-block; width: 0; height: 0; margin-left: 3px; border-style: solid; border-width: 5px 0 5px 8px; border-color: transparent transparent transparent #F37021; position: relative; }
.iv5-pc-upi__ar::after { content: ""; position: absolute; left: -11px; top: -5px; border-style: solid; border-width: 5px 0 5px 8px; border-color: transparent transparent transparent #097939; }
.iv5-pc-rupay b { font: 800 13px/1 var(--v5-body); letter-spacing: -.01em; }
.iv5-pc-rupay .ru { color: #1B4B9B; }
.iv5-pc-rupay .pay { color: #F58220; }
/* the trust badge */
.iv-footer.iv5-foot .iv5-foot-bar__secure { display: inline-flex; align-items: center; gap: 11px; padding: 8px 16px 8px 13px; border: 1px solid rgba(198,139,89,.7); border-radius: 4px; background: rgba(245,240,232,.06); color: #F5F0E8; }
.iv-footer.iv5-foot .iv5-foot-bar__secure > i { font-size: 22px; color: #C68B59; }
.iv5-foot-bar__secure-t { display: flex; flex-direction: column; gap: 3px; line-height: 1; text-align: left; }
.iv5-foot-bar__secure-t em { font: 600 9px/1 var(--v5-body); font-style: normal; letter-spacing: .2em; text-transform: uppercase; color: rgba(245,240,232,.7); }
.iv5-foot-bar__secure-t strong { font: 800 13.5px/1 var(--v5-body); letter-spacing: .03em; color: #fff; }
.iv-footer.iv5-foot .iv5-foot-bar__legal { color: rgba(245,240,232,.55); }
.iv-footer.iv5-foot .iv5-foot-india { position: relative; margin-top: -2px; padding-top: 19px; background: #0F0F0F; border-top: 0; }
.iv-footer.iv5-foot .iv5-foot-india::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 1px; background: rgba(198,139,89,.5); }
.iv5-foot-india__txt i { font-size: .68em; color: #E8213D; filter: drop-shadow(0 0 6px rgba(232,33,61,.45)); }

.iv-footer.iv5-foot .iv5-foot-india { background:#000; }
.iv-footer.iv5-foot .iv5-foot-india { margin-top: 16px; padding-top: 17px; background: #000; }
@media (max-width: 767px) { .iv-footer.iv5-foot .iv5-foot-india { padding-bottom: calc(18px + 64px + env(safe-area-inset-bottom, 0px)); } }

/* ---------- 24. Footer lockup: white mark + wordmark, bold wine tagline, golden flash ---------- */
.iv-footer.iv5-foot .iv5-flogo { margin-bottom: 34px; }
.iv-footer.iv5-foot .iv5-flogo__mark.iv5-fx { filter: drop-shadow(0 4px 14px rgba(255,255,255,.14)); }
.iv-footer.iv5-foot .iv5-flogo__mark img { filter: grayscale(1) brightness(2.7) contrast(.95); }
.iv-footer.iv5-foot .iv5-flogo__word.iv5-fx { filter: brightness(1.13) drop-shadow(0 2px 12px rgba(255,255,255,.12)); }
.iv-footer.iv5-foot .iv5-flogo__word.iv5-fx::before { display: block; background: linear-gradient(180deg, #FFFFFF 0%, #F4F4F6 50%, #FFFFFF 100%); }
.iv-footer.iv5-foot .iv5-fx::after { background: linear-gradient(105deg, transparent 32%, rgba(198,139,89,.85) 43%, #FFD98A 50%, rgba(198,139,89,.85) 57%, transparent 68%) 0 0 / 300% 100% no-repeat; background-position: 175% 0; }
.iv-footer.iv5-foot .iv5-flogo__tag { color: #C23553; font-weight: 800; }
.iv-footer.iv5-foot .iv5-flogo__tag::before, .iv-footer.iv5-foot .iv5-flogo__tag::after { background: linear-gradient(90deg, transparent, #C23553); }

/* ---------- 25. Header lockup: one gold sweep that travels the WHOLE lockup (mark -> wordmark -> tagline) ---------- */
.iv5-logo__wordw { position: relative; display: block; flex: none; line-height: 0; }
.iv5-logo__wordw::after { content: ""; position: absolute; inset: 0; pointer-events: none;
  -webkit-mask: url("../image/Logo_1.png") center / 100% 100% no-repeat; mask: url("../image/Logo_1.png") center / 100% 100% no-repeat;
  background: linear-gradient(105deg, transparent 38%, rgba(236,190,120,.98) 50%, transparent 62%) 0 0 / 260% 100% no-repeat; background-position: 160% 0;
  animation: iv5-glint-w 6.5s ease-in-out 1.2s infinite; }
.iv5-logo__mark::after { background: linear-gradient(105deg, transparent 38%, rgba(236,190,120,.98) 50%, transparent 62%) 0 0 / 260% 100% no-repeat; background-position: 160% 0; animation-name: iv5-glint-m; }
.iv5-logo__tag { background: linear-gradient(105deg, transparent 38%, #E3A95F 50%, transparent 62%) 0 0 / 260% 100% no-repeat, linear-gradient(var(--v5-wine), var(--v5-wine)) 0 0 / 100% 100% no-repeat; background-position: 160% 0, 0 0;
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; animation: iv5-glint-t 6.5s ease-in-out 1.2s infinite; }
@keyframes iv5-glint-m { 0%, 48% { background-position: 160% 0; } 57%, 100% { background-position: -60% 0; } }
@keyframes iv5-glint-w { 0%, 54% { background-position: 160% 0; } 74%, 100% { background-position: -60% 0; } }
@keyframes iv5-glint-t { 0%, 62% { background-position: 160% 0, 0 0; } 82%, 100% { background-position: -60% 0, 0 0; } }
header.header-area.header4 .header-logo a:hover .iv5-logo__wordw::after, header.header-area.header4 .header-logo a:hover .iv5-logo__tag { animation-duration: 1.4s; animation-delay: 0s; }
@media (prefers-reduced-motion: reduce) { .iv5-logo__wordw::after, .iv5-logo__tag { animation: none; } .iv5-logo__tag { background: none; -webkit-text-fill-color: currentColor; color: var(--v5-wine); } }

/* ---------- 26. Footer: Facebook ---------- */
.iv-footer-social--fb { background: #1877F2; border-color: #1877F2; }
.iv-footer-social--fb i { color: #FFFFFF; }

/* ---------- 26b. Footer: Snapchat ---------- */
.iv-footer-social--sc { background: #FFFC00; border-color: #FFFC00; }
.iv-footer-social--sc i { color: #0F0F0F; }

/* ---------- 27. Footer: softer, slightly greyed off-white instead of crisp white (the India strip keeps its cream) ---------- */
.iv-footer.iv5-foot .iv5-foot-top__line { color: #E2DED6; }
.iv-footer.iv5-foot a.iv5-foot-btn { color: #EDE8E0; }
.iv-footer.iv5-foot .iv5-foot-cols li a { color: #C9C5BE; }
.iv-footer.iv5-foot .iv5-foot-cols li a:hover { color: #EFEBE4; }
.iv-footer.iv5-foot .iv5-foot-co, .iv-footer.iv5-foot .iv5-foot-co a { color: #C9C5BE; }
.iv-footer.iv5-foot .iv5-foot-co strong { color: #E2DED6; }
.iv-footer.iv5-foot .iv5-foot-bar__label { color: #CFCBC4; }
.iv5-foot-bar__secure-t em { color: #B4B0A9; }
.iv5-foot-bar__secure-t strong { color: #E2DED6; }
.iv-footer.iv5-foot .iv5-flogo__mark img { filter: grayscale(1) brightness(2.15) contrast(.95); }
.iv-footer.iv5-foot .iv5-flogo__word.iv5-fx { filter: drop-shadow(0 2px 12px rgba(255,255,255,.08)); }
.iv-footer.iv5-foot .iv5-flogo__word.iv5-fx::before { background: linear-gradient(180deg, #E4E0D9 0%, #D5D1CA 52%, #E1DDD6 100%); }

/* ---------- 28. Footer: the inner-page hero gradient (black -> wine, tan glow top-right, wine glow bottom-left); the India strip stays black ---------- */
.iv-footer.iv5-foot { background: radial-gradient(760px 400px at 94% 0%, rgba(198,139,89,.30), transparent 70%), radial-gradient(700px 420px at 0% 100%, rgba(140,36,56,.62), transparent 70%), linear-gradient(135deg, #130708 0%, #26090F 55%, #3E111B 100%); }
.iv-footer.iv5-foot a.iv5-foot-btn { background: #C68B59; border-color: #C68B59; color: #1B0A0E; }
.iv-footer.iv5-foot a.iv5-foot-btn:hover { background: #E2B07C; border-color: #E2B07C; color: #1B0A0E; box-shadow: 4px 4px 0 #8C2438; transform: translate(-2px, -2px); }
.iv-footer.iv5-foot .iv5-foot-top__line span { color: #C23553; }
@media (max-width: 767px) {
  .iv-footer.iv5-foot { background: radial-gradient(460px 280px at 100% 0%, rgba(198,139,89,.30), transparent 70%), radial-gradient(460px 340px at 0% 100%, rgba(140,36,56,.62), transparent 70%), linear-gradient(160deg, #130708 0%, #26090F 55%, #3E111B 100%); }
}

/* ---------- 29. Footer: tighter (same look, less air) ---------- */
.iv-footer.iv5-foot { padding-top: clamp(22px, 2.4vw, 32px); }
.iv-footer.iv5-foot .iv5-foot-top { padding: 0 0 clamp(14px, 1.5vw, 18px); margin-bottom: clamp(16px, 1.8vw, 22px); }
.iv-footer.iv5-foot .iv5-foot-top__line { font-size: clamp(1.9rem, 2.9vw, 2.7rem); }
.iv-footer.iv5-foot a.iv5-foot-btn { min-height: 40px; }
.iv-footer.iv5-foot .iv5-flogo { margin-bottom: 20px; }
.iv-footer.iv5-foot-cols, .iv5-foot-cols { --bs-gutter-y: 1rem; }
.iv5-foot-cols li { margin-bottom: 4px !important; }
.iv-footer.iv5-foot .iv-foot-title { margin: 0 0 9px; }
.iv5-foot-bar { margin-top: clamp(18px, 2vw, 24px); padding-top: 14px; }
.iv-footer.iv5-foot .iv5-foot-bar .iv-pay-chip { height: 26px; }
.iv-footer.iv5-foot .iv5-foot-bar__secure { padding: 6px 14px 6px 11px; }
.iv5-foot-bar__legal { margin-top: 10px; }
.iv-footer.iv5-foot .iv5-foot-india { margin-top: 12px; padding: 12px 0 13px; }
.iv5-foot-india__txt { font-size: clamp(1.1rem, 1.7vw, 1.4rem); }
@media (max-width: 767px) { .iv-footer.iv5-foot .iv5-foot-india { padding-bottom: calc(13px + 64px + env(safe-area-inset-bottom, 0px)); } }

/* ---------- 30. Footer: WhatsApp + email sit under Contact ("reach us"); the logo column keeps only the follow icons ---------- */
.iv5-foot-reach { display: flex; gap: 12px; margin-top: 12px; }

/* ---------- 31. Floating WhatsApp: gone on mobile (the footer Contact icon is the chat entry there); smaller + footer-aware on desktop ---------- */
@media (max-width: 768px) { .iv-wa { display: none !important; } }
@media (min-width: 769px) {
  .iv-wa { width: 46px; height: 46px; bottom: 20px; right: 20px; box-shadow: 0 6px 18px rgba(0,0,0,.28); transition: opacity .25s, transform .25s; }
  .iv-wa i { font-size: 23px; }
  .iv-wa.is-hidden { opacity: 0; pointer-events: none; transform: translateY(8px); }
}

/* ---------- 32. Account hero: compact; the left side uses its width (stats row, progress + ID side by side); card stays full size ---------- */
section.iv5-acc:not(.iv5-cl-hero) .iv5-acc__in { grid-template-columns: minmax(0, 1fr) minmax(300px, 400px); gap: clamp(24px, 4vw, 64px); padding-block: clamp(20px, 2.4vw, 30px); }
section.iv5-acc:not(.iv5-cl-hero) .iv5-acc__eyebrow { margin-bottom: 8px; padding: 6px 13px; font-size: 11px; }
section.iv5-acc:not(.iv5-cl-hero) h1.iv5-acc__name { margin: 0 0 6px; font-size: clamp(2.6rem, 4.6vw, 3.9rem); line-height: 1; }
section.iv5-acc:not(.iv5-cl-hero) .iv5-acc__name small { display: inline; font-size: .46em; margin: 0 .35em 0 0; vertical-align: .32em; }
section.iv5-acc:not(.iv5-cl-hero) .iv5-acc__line { margin-bottom: 14px; font-size: 1.05rem; }
section.iv5-acc:not(.iv5-cl-hero) .iv5-acc__stats { margin: 0 0 14px; max-width: 640px; }
section.iv5-acc:not(.iv5-cl-hero) .iv5-acc__stat { padding-block: 9px; }
section.iv5-acc:not(.iv5-cl-hero) .iv5-acc__stat b { font-size: clamp(1.6rem, 2.3vw, 2rem); }
section.iv5-acc:not(.iv5-cl-hero) .iv5-acc__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 40px; max-width: 640px; }
section.iv5-acc:not(.iv5-cl-hero) .iv5-acc__foot .iv5-acc__bar { flex: 1 1 280px; max-width: none; }
section.iv5-acc:not(.iv5-cl-hero) .iv5-acc__foot .iv5-mid { margin: 0; }
section.iv5-acc:not(.iv5-cl-hero) .iv5-mid__fine, section.iv5-acc:not(.iv5-cl-hero) .iv5-card-note { display: none; }
section.iv5-acc:not(.iv5-cl-hero) .iv5-acc__right { justify-self: center; width: 100%; max-width: 400px; }
section.iv5-acc:not(.iv5-cl-hero) .iv5-card-more { display: block; margin-top: 10px; text-align: center; font-size: 10.5px; }
@media (max-width: 860px) {
  section.iv5-acc:not(.iv5-cl-hero) .iv5-acc__in { grid-template-columns: 1fr; gap: 18px; }
  section.iv5-acc:not(.iv5-cl-hero) .iv5-acc__right { justify-self: start; max-width: 320px; }
}

/* ---------- 28. Footer brand column: brighter wordmark, breathing room, social row lower ---------- */
.iv-footer.iv5-foot .iv5-flogo { margin-bottom: 52px; }
.iv-footer.iv5-foot .iv5-flogo__mark img { filter: grayscale(1) brightness(2.7) contrast(.95); }
.iv-footer.iv5-foot .iv5-flogo__word.iv5-fx { filter: drop-shadow(0 2px 14px rgba(255,255,255,.22)); }
.iv-footer.iv5-foot .iv5-flogo__word.iv5-fx::before { display: block; background: linear-gradient(180deg, #FFFFFF 0%, #FBF8F3 52%, #FFFFFF 100%); }
.iv-footer.iv5-foot .iv5-fx::after { background: linear-gradient(105deg, transparent 30%, rgba(214,150,70,.9) 43%, #F2B04E 50%, rgba(214,150,70,.9) 57%, transparent 70%) 0 0 / 300% 100% no-repeat; background-position: 175% 0; }
.iv-footer.iv5-foot .iv5-foot-follow { margin: 0 0 12px; font: 700 10.5px/1 var(--v5-body); letter-spacing: .24em; text-transform: uppercase; color: #C68B59; }
.iv-footer.iv5-foot .iv5-foot-social { margin-top: 0 !important; gap: 12px !important; }
.iv-footer.iv5-foot .iv5-foot-social .iv-footer-social { width: 38px; height: 38px; font-size: 15px; }
@media (max-width: 991px) { .iv-footer.iv5-foot .iv5-flogo { margin-bottom: 36px; } }

/* ---------- 29. Footer text: whiter ---------- */
.iv-footer.iv5-foot .iv5-foot-cols li a { color: #F2EFE9; opacity: 1; }
.iv-footer.iv5-foot .iv5-foot-cols li a:hover { color: #FFFFFF; }
.iv-footer.iv5-foot .iv5-foot-co, .iv-footer.iv5-foot .iv5-foot-co a { color: #F2EFE9; opacity: 1; }
.iv-footer.iv5-foot .iv5-foot-co strong { color: #FFFFFF; }
.iv-footer.iv5-foot .iv5-foot-bar__label { color: #FFFFFF; }
.iv-footer.iv5-foot .iv5-foot-bar__secure-t em { color: #E4E0D9; }
.iv-footer.iv5-foot .iv5-foot-bar__secure-t strong { color: #FFFFFF; }
.iv-footer.iv5-foot .iv5-foot-bar__legal { color: rgba(245,240,232,.82); }
.iv-footer.iv5-foot .iv5-foot-bar__made, .iv5-foot-india__txt { color: #FFFFFF; }
.iv-footer.iv5-foot .iv5-foot-top__line { color: #FFFFFF; }

/* ---------- 30. Footer links and contact: pure white ---------- */
.iv-footer.iv5-foot .iv5-foot-cols li a,
.iv-footer.iv5-foot .iv5-foot-co,
.iv-footer.iv5-foot .iv5-foot-co a { color: #FFFFFF !important; opacity: 1 !important; }


/* ---------- 31. Footer tagline "Wear Perfection": gold ---------- */
.iv-footer.iv5-foot .iv5-flogo__tag { color: #D9A66C !important; -webkit-text-fill-color: #D9A66C; }
.iv-footer.iv5-foot .iv5-flogo__tag::before, .iv-footer.iv5-foot .iv5-flogo__tag::after { background: linear-gradient(90deg, transparent, #D9A66C); }

/* ---------- 32. Product page: brand/SKU line + wishlist/share row ---------- */
.iv-pdp-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 0 12px; margin: 6px 0 14px; font: 500 11.5px/1.4 var(--v5-body, inherit); letter-spacing: .16em; text-transform: uppercase; color: #8a847c; }
.iv-pdp-meta b { font-weight: 700; color: #0F0F0F; letter-spacing: .16em; }
.iv-pdp-meta__sep { width: 1px; height: 11px; background: #cfc8bd; }
.compare-wishlist-area.iv-pdp-actions { margin-top: 22px; padding: 18px 0 6px; border-top: 1px solid #ece7df; }
.compare-wishlist-area.iv-pdp-actions ul { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.compare-wishlist-area.iv-pdp-actions ul li a.buttonLInk { display: inline-flex; align-items: center; gap: 8px; padding: 10px 18px; border: 1px solid #0F0F0F; border-radius: 999px; background: transparent; color: #0F0F0F; font-weight: 600; font-size: 12px; line-height: 1; letter-spacing: .12em; text-transform: uppercase; transition: background .2s, color .2s; }
.compare-wishlist-area.iv-pdp-actions ul li a.buttonLInk i { color: #8C2438; transition: color .2s; }
.compare-wishlist-area.iv-pdp-actions ul li a.buttonLInk:hover { background: #0F0F0F; color: #fff; }
.compare-wishlist-area.iv-pdp-actions ul li a.buttonLInk:hover i { color: #fff; }
.compare-wishlist-area.iv-pdp-actions .iv-pdp-actions__offer { flex: 0 0 100%; width: 100%; }
.compare-wishlist-area.iv-pdp-actions .iv-share-offer { margin-top: 4px; max-width: 460px; }
@media (max-width: 520px) { .compare-wishlist-area.iv-pdp-actions ul li:not(.iv-pdp-actions__offer) { flex: 1 1 calc(50% - 6px); } .compare-wishlist-area.iv-pdp-actions ul li:not(.iv-pdp-actions__offer) > * { width: 100%; justify-content: center; } }

/* ---------- 33. Breathing room under the header on pages that open straight into content ---------- */
.shop-details-top-section { padding-top: clamp(26px, 3.6vw, 56px); }
.cart-page { padding-top: clamp(22px, 3vw, 44px); }
@media (max-width: 767px) { .shop-details-top-section { padding-top: 18px; } .cart-page { padding-top: 16px; } }

/* ---------- 34. Desktop header: menu never runs into the logo (1200-1799px) ---------- */
@media (min-width: 1200px) and (max-width: 1799.98px) {
  .d-xl-block header.header4 .col-lg-12 { column-gap: clamp(14px, 1.3vw, 30px); }
  .d-xl-block header.header4 .main-menu ul > li { padding-left: 0 !important; padding-right: 0 !important; }
  .d-xl-block header.header4 .main-menu ul > li > a { font-size: clamp(10px, .76vw, 12.5px); letter-spacing: .07em; padding-left: clamp(4px, .45vw, 8px); padding-right: clamp(4px, .45vw, 8px); }
  .d-xl-block header.header4 .main-menu ul > li.iv-secondary-nav-item > a[href="club-ivy"] { padding: 9px clamp(9px, .8vw, 14px); margin: 0 clamp(2px, .3vw, 5px); }
  .d-xl-block header.header4 .main-menu ul > li.iv-secondary-nav-item > a[href="refer"]::after { margin-left: 3px; }
  .d-xl-block header.header4 .nav-right > ul { gap: clamp(12px, 1.4vw, 32px); }
  .d-xl-block header.header4 .nav-right .position-relative { max-width: clamp(150px, 15vw, 280px) !important; }
}

/* ---------- 35. Visual clean-up (Oct 2026 full-site scan) ---------- */
/* Brand colour instead of the old theme's yellow and Bootstrap's default blue */
:root { --primary-color: #C68B59; --bs-link-color: #8C2438; --bs-link-color-rgb: 140, 36, 56; --bs-link-hover-color: #5A1426; --bs-link-hover-color-rgb: 90, 20, 38; }
.cart-page .primary-btn, #placeOrderBtn.primary-btn {
  background: var(--v5-ink); color: #fff; border: 0; border-radius: 999px; min-height: 54px; padding: 16px 28px;
  font-family: var(--v5-body); font-weight: 700; font-size: 13px; letter-spacing: .16em; transition: background .2s, transform .2s;
}
.cart-page .primary-btn:hover, #placeOrderBtn.primary-btn:hover { background: var(--v5-wine); color: #fff; transform: translateY(-1px); }
.cart-page .primary-btn::after, #placeOrderBtn.primary-btn::after { display: none; }

/* Cart: on-brand heading, cleaner rows, no stray blue link */
.cart-page .cart-widget-title h4 { font-family: var(--v5-display); font-size: clamp(30px, 4vw, 44px); letter-spacing: .02em; text-transform: uppercase; margin: 0; }
.cart-page .cart-widget-title { margin-bottom: 18px; padding-bottom: 14px; border-bottom: 1px solid var(--v5-line); }
.cart-page .cart-table thead th { font-family: var(--v5-body); font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: #8a847c; }
.cart-page .product-info-wrapper .product-info-img img { border-radius: 10px; object-fit: cover; }
.cart-page .product-info-wrapper .product-info-content h6 { font-family: var(--v5-body); font-weight: 600; color: var(--v5-ink); }
.cart-page .cart-shopping-wrapper .details-button, .cart-page .details-button { color: var(--v5-wine) !important; font-weight: 700; letter-spacing: .14em; font-size: 12px; text-transform: uppercase; }
.cart-page .cart-shopping-wrapper .details-button svg, .cart-page .details-button svg { fill: var(--v5-wine) !important; }
@media (max-width: 767px) {
  .cart-page .row.mt-5 { margin-top: 18px !important; }
  .cart-page .cart-table thead { display: none; }
  .cart-page .cart-table tbody tr { display: grid !important; grid-template-columns: 1fr auto; gap: 4px 12px; padding: 16px 0; border-bottom: 1px solid var(--v5-line); }
  .cart-page .cart-table tbody td { display: block !important; width: auto !important; padding: 0 !important; border: 0 !important; text-align: left !important; }
  .cart-page .cart-table tbody td::before { display: none !important; }
  .cart-page .cart-table tbody td[data-label="Product Info"] { grid-column: 1 / -1; }
  .cart-page .cart-table tbody td[data-label="Price"] { display: none !important; }
  .cart-page .cart-table tbody td[data-label="Total"] { grid-column: 1 / -1; justify-self: end; font-weight: 700; font-size: 16px; }
  .cart-page .product-info-wrapper { flex-direction: row !important; align-items: flex-start !important; gap: 14px !important; }
  .cart-page .product-info-wrapper .product-info-img img { width: 84px; height: 112px; max-width: none; max-height: none; }
  .cart-page .product-info-wrapper .product-info-content { text-align: left; flex: 1; min-width: 0; }
  .cart-page .product-info-wrapper .product-info-content h6 { max-width: none; font-size: 15px; }
  .cart-page .product-info-wrapper .product-info-content ul { justify-content: flex-start !important; }
}

/* Product cards: one discount badge (on the photo), not two */
.product-card .product-card-content .price .iv-discount-badge--sm { display: none; }

/* Product page: the "Log in" link inside the offer card is a normal inline link */
.compare-wishlist-area .iv-share-offer a { display: inline !important; padding: 0 !important; color: #fff !important; font-weight: 700; text-decoration: underline; text-underline-offset: 2px; gap: 0; }

/* Product page gallery (desktop): tall photo with a thumbnail rail, no empty white bands */
@media (min-width: 992px) {
  .product-gallery { display: grid; grid-template-columns: 78px minmax(0, 1fr); gap: 14px; align-items: start; text-align: left; }
  .product-gallery .product-main-img { grid-column: 2; grid-row: 1; height: auto; aspect-ratio: 2 / 3; max-height: min(78vh, 780px); width: auto; max-width: 100%; justify-self: center; background: var(--v5-cream-soft); border-radius: 14px; }
  .product-gallery .product-main-img img { width: 100%; height: 100%; max-height: none; object-fit: cover; }
  .product-gallery .product-thumbnails { grid-column: 1; grid-row: 1; display: flex !important; flex-direction: column; gap: 10px; margin-top: 0 !important; max-height: min(78vh, 780px); overflow-y: auto; scrollbar-width: none; }
  .product-gallery .product-thumbnails::-webkit-scrollbar { display: none; }
  .product-gallery .product-thumbnails img { width: 78px !important; height: 117px !important; border-radius: 8px; border: 2px solid transparent; flex: none; }
  .product-gallery .product-thumbnails img.active { border-color: var(--v5-ink); }
}
/* Related products: same photo shape for every card */
.product-details-page .product-card .product-card-img img, .iv-related-products .product-card-img img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; }

/* Collection sort box (desktop) */
.iv-filter-bar__sort .nice-select { float: none; display: inline-flex; align-items: center; height: 40px; line-height: 40px; min-width: 210px; padding: 0 40px 0 16px; border: 1px solid var(--v5-line); border-radius: 999px; background: #fff; font-size: 13px; font-weight: 600; }
.iv-filter-bar__sort .nice-select .current { display: inline; line-height: 40px; }
.iv-filter-bar__sort .nice-select::after { position: absolute; top: 50%; right: 18px; margin-top: -4px; }
.iv-filter-bar__sort .nice-select .list { border-radius: 12px; min-width: 100%; }

/* My Account order rows on phones: title gets the full width */
@media (max-width: 575px) {
  .iv-acc-panel .iv-card { padding: 6px 14px !important; }
  .iv-order-row { grid-template-columns: 64px minmax(0, 1fr) !important; row-gap: 6px; }
  .iv-order-row > div:last-child { grid-column: 2; display: flex; align-items: center; justify-content: space-between; gap: 10px; text-align: left; }
  .iv-order-row > div:last-child p { margin: 0; }
}

/* Thank-you page: the Instagram ask (its styles lived in a file that never reached the server) */
.iv3-ty-ig { position: relative; max-width: 560px; margin: 40px auto 8px; padding: 34px 26px 28px; border-radius: 22px; text-align: center; color: #fff; background: var(--v5-ig); box-shadow: 0 18px 40px rgba(193,53,132,.25); overflow: hidden; }
.iv3-ty-ig::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 85% 10%, rgba(255,255,255,.28), transparent 45%); pointer-events: none; }
.iv3-ty-ig__sticker { position: relative; display: inline-block; margin-bottom: 12px; padding: 5px 12px; background: #fff; color: var(--v5-ink); font: 700 12px/1.2 var(--v5-body); letter-spacing: .04em; border-radius: 6px; transform: rotate(-3deg); box-shadow: 3px 3px 0 rgba(0,0,0,.18); }
.iv3-ty-ig__title { position: relative; margin: 0 0 10px; font-family: var(--v5-display); font-size: clamp(34px, 6vw, 48px); line-height: .95; letter-spacing: .02em; text-transform: uppercase; color: #fff; }
.iv3-ty-ig__text { position: relative; margin: 0 0 20px; font-size: 15px; color: rgba(255,255,255,.92); }
.iv3-ty-ig__text strong { color: #fff; }
.iv3-ty-ig__row { position: relative; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px 18px; }
.iv3-ty-ig__btn { display: inline-flex; align-items: center; gap: 9px; padding: 13px 22px; border-radius: 999px; background: #fff; color: #C13584 !important; font: 700 12px/1 var(--v5-body); letter-spacing: .14em; text-transform: uppercase; text-decoration: none; box-shadow: 0 8px 18px rgba(0,0,0,.15); transition: transform .2s; }
.iv3-ty-ig__btn:hover { transform: translateY(-2px); }
.iv3-ty-ig__btn svg { width: 18px; height: 18px; flex: none; }
.iv3-ty-ig__alt { display: inline-flex; align-items: center; gap: 7px; color: #fff !important; font-weight: 600; font-size: 14px; text-decoration: underline; text-underline-offset: 3px; }
.iv-ty__actions { margin-bottom: 8px; }

/* Careers: same look as the rest of the site */
section.application-form { max-width: 620px; margin: clamp(32px, 6vw, 64px) auto; padding: clamp(22px, 4vw, 36px); border: 1px solid var(--v5-line); border-radius: 18px; background: var(--v5-cream-soft); box-shadow: 0 18px 40px rgba(15,15,15,.06); }
section.application-form h2 { font-family: var(--v5-display); font-size: clamp(30px, 4vw, 40px); letter-spacing: .02em; text-transform: uppercase; }
section.application-form input, section.application-form textarea { border: 1px solid #d8d1c6; border-radius: 10px; background: #fff; font-size: 15px; }
section.application-form input:focus, section.application-form textarea:focus { outline: 0; border-color: var(--v5-tan); box-shadow: 0 0 0 4px rgba(198,139,89,.18); }
section.application-form input[type="file"] { padding: 10px; background: #fff; }
section.application-form input[type="file"]::file-selector-button { margin-right: 12px; padding: 8px 14px; border: 0; border-radius: 999px; background: var(--v5-ink); color: #fff; font-weight: 600; cursor: pointer; }
section.application-form button[type="submit"] { border-radius: 999px; min-height: 52px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; font-size: 13px; }
section.application-form button[type="submit"]:hover { background: var(--v5-wine); }
/* Product page: Add to cart / Buy now share the full row */
.shop-details-btn.product-detail-cta { display: grid !important; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 18px; }
.shop-details-btn.product-detail-cta .primary-btn, .shop-details-btn.product-detail-cta .primary-btn2 {
  width: 100%; min-height: 52px; margin: 0; padding: 14px 10px; display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--v5-body); font-weight: 700; font-size: 13px; letter-spacing: .14em; text-transform: uppercase; border-radius: 0;
}
.shop-details-btn.product-detail-cta .primary-btn { background: #fff; color: var(--v5-ink); border: 1.5px solid var(--v5-ink); }
.shop-details-btn.product-detail-cta .primary-btn:hover { background: var(--v5-ink); color: #fff; }
.shop-details-btn.product-detail-cta .primary-btn2 { background: var(--v5-ink); color: #fff; border: 1.5px solid var(--v5-ink); }
.shop-details-btn.product-detail-cta .primary-btn2:hover { background: var(--v5-wine); border-color: var(--v5-wine); color: #fff; }

/* ---------- 36. Inside the Android app: a little more colour, same premium base ---------- */
/* .iv-in-app is set on <html> by include/head.php when the site runs in the Ivoric app. */
.iv-in-app { --iv-sunset: linear-gradient(90deg, #8C2438 0%, #E2557A 52%, #F29A3E 100%); }
.iv-in-app img[src*="left-logo.png"] { content: url("/assets/app/mark-sunset-240.png"); object-fit: contain; }
.iv-in-app header.header-area::after { background: var(--iv-sunset) !important; opacity: 1; height: 3px; }
.iv-in-app .iv-mob-nav { box-shadow: 0 -8px 24px rgba(140,36,56,.10); }
.iv-in-app .iv-mob-nav__item.is-active { color: #C2385C; }
.iv-in-app .iv-mob-nav__item.is-active i { background: var(--iv-sunset); -webkit-background-clip: text; background-clip: text; color: transparent; }
.iv-in-app .iv-mob-nav__item.is-active::before { content: ""; position: absolute; top: 0; left: 50%; width: 26px; height: 3px; margin-left: -13px; border-radius: 0 0 4px 4px; background: var(--iv-sunset); }
.iv-in-app .iv-mob-nav__item { position: relative; }
.iv-in-app .iv-discount-badge { background: var(--iv-sunset) !important; color: #fff !important; }
.iv-in-app .shop-details-btn.product-detail-cta .primary-btn2,
.iv-in-app .cart-page .primary-btn, .iv-in-app #placeOrderBtn.primary-btn { background: linear-gradient(120deg, #7A1D33, #C2385C 55%, #E8833A); border-color: transparent; }
@media (prefers-reduced-motion: no-preference) {
  .iv-in-app .iv-mob-nav__item.is-active i { animation: iv-app-pop .35s ease-out; }
  @keyframes iv-app-pop { 0% { transform: scale(.7); } 70% { transform: scale(1.15); } 100% { transform: scale(1); } }
}
.iv-in-app .iv-mob-cta__btn, .iv-in-app .iv-sticky-checkout .iv-btn--primary { background: linear-gradient(120deg, #7A1D33, #C2385C 55%, #E8833A) !important; border-color: transparent !important; color: #fff !important; border-radius: 999px; }

/* ---------- 37. iPhone: "Add Ivoric to your Home Screen" tip (assets/js/ios-install.js) ---------- */
.iv-ios-tip { position: fixed; left: 12px; right: 12px; bottom: calc(76px + env(safe-area-inset-bottom, 0px)); z-index: 1200; max-width: 420px; margin: 0 auto;
  padding: 16px 16px 12px; border-radius: 20px; background: #FFF8EF; color: #0F0F0F; font-family: var(--v5-body);
  box-shadow: 0 18px 44px rgba(90,20,38,.28); border: 1px solid rgba(194,56,92,.18);
  transform: translateY(24px); opacity: 0; transition: transform .3s ease, opacity .3s ease; }
.iv-ios-tip::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; border-radius: 20px 20px 0 0; background: linear-gradient(90deg, #8C2438, #E2557A 52%, #F29A3E); }
.iv-ios-tip.is-in { transform: none; opacity: 1; }
.iv-ios-tip__x { position: absolute; top: 8px; right: 10px; width: 32px; height: 32px; border: 0; background: none; font-size: 24px; line-height: 1; color: #8a847c; }
.iv-ios-tip__top { display: flex; align-items: center; gap: 12px; padding-right: 28px; }
.iv-ios-tip__top img { width: 52px; height: 52px; border-radius: 12px; flex: none; box-shadow: 0 4px 10px rgba(140,36,56,.25); }
.iv-ios-tip__top strong { display: block; font-size: 15px; line-height: 1.25; font-weight: 800; }
.iv-ios-tip__top span { display: block; margin-top: 2px; font-size: 12.5px; color: #5f5a54; }
.iv-ios-tip__steps { list-style: none; margin: 14px 0 6px; padding: 12px; border-radius: 14px; background: #fff; display: grid; gap: 10px; }
.iv-ios-tip__steps li { display: flex; align-items: center; gap: 10px; font-size: 13.5px; line-height: 1.35; }
.iv-ios-tip__steps i { flex: none; width: 30px; height: 30px; border-radius: 8px; display: grid; place-items: center; color: #fff; background: linear-gradient(135deg, #7A1D33, #C2385C 55%, #F29A3E); }
.iv-ios-tip__steps svg { width: 18px; height: 18px; }
.iv-ios-tip__steps em { display: block; font-style: normal; font-size: 11.5px; color: #8a847c; }
.iv-ios-tip__later { display: block; margin: 4px auto 0; padding: 6px 12px; border: 0; background: none; font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #8C2438; }
@media (min-width: 768px) { .iv-ios-tip { bottom: 24px; } }
@media (prefers-reduced-motion: reduce) { .iv-ios-tip { transition: none; } }

/* ── 2026-10-27: desktop header balance ─────────────────────────────────────
   Left menu was small and packed; the right side (search + icons) is airy.
   Left menu items now get the same relaxed spacing, the search text and icons
   come down a notch, and the "Wear Perfection" tagline is larger.
   The tagline paints with background-clip:text, which only paints inside its own
   box, so its box must be as wide as the text (it used to be only as wide as the
   logo word, which clipped the first letters once the text was enlarged). */
@media (min-width: 1200px) {
  .d-xl-block header.header4 .main-menu > ul { gap: clamp(0px, calc(1.6vw - 14px), 22px); }
  .d-xl-block header.header4 .main-menu ul > li { padding-left: 0 !important; padding-right: 0 !important; }
  .d-xl-block header.header4 .main-menu ul > li > a { font-size: clamp(11.5px, .9vw, 14px); letter-spacing: .08em; padding-left: clamp(4px, calc(1.2vw - 8px), 14px); padding-right: clamp(4px, calc(1.2vw - 8px), 14px); }
  .d-xl-block header.header4 .main-menu ul > li.iv-secondary-nav-item > a[href="club-ivy"] { font-size: clamp(11px, .85vw, 13px); padding: 10px clamp(11px, 1vw, 18px); margin: 0 clamp(0px, calc(.8vw - 6px), 8px); }
  .d-xl-block header.header4 .nav-right #search_input { font-size: 14px; padding-top: 9px !important; padding-bottom: 9px !important; }
  .d-xl-block header.header4 .nav-right > ul > .d-flex a svg { width: clamp(20px, 1.5vw, 24px); }
  .d-xl-block header.header4 .nav-right > ul > .d-flex a::after { font-size: 10px; }
  .iv5-logo__tag { left: calc(var(--mk, 58px) * .92 + var(--lg, 4px) + clamp(96px, 8.4vw, 132px) / 2); right: auto; width: max-content; transform: translateX(-50%);
    top: calc(100% + 3px); font-size: clamp(9px, .66vw, 11px); letter-spacing: .3em; padding-left: .3em; /* offsets trailing letter-space so it centres optically */ }
  .iv5-logo__tag::before, .iv5-logo__tag::after { display: none; }
}
