/*
Theme Name: Veloura Atelier
Theme URI: https://veloura.unirevahealthcare.com/
Author: Veloura
Description: A premium, responsive WooCommerce theme created for Veloura. Includes an editorial home page, WooCommerce styling, mobile navigation, search and mini cart.
Version: 1.5.3
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: veloura-atelier
*/
:root {
  --wine: #581923;
  --wine-dark: #351015;
  --berry: #8b3140;
  --blush: #d7a09d;
  --blush-pale: #f2dcda;
  --cream: #fbf7f0;
  --cream-deep: #efe5d9;
  --paper: #fffdf9;
  --ink: #1d1917;
  --muted: #726962;
  --sage: #7e8870;
  --line: rgba(29, 25, 23, .14);
  --shadow: 0 18px 55px rgba(62, 31, 28, .12);
  --serif: Georgia, 'Times New Roman', serif;
  --sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --max: 1320px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--cream);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
body.menu-open, body.drawer-open { overflow: hidden; }
img { display: block; width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 2px solid var(--berry); outline-offset: 3px; }
::selection { color: #fff; background: var(--wine); }

.container { width: min(calc(100% - 48px), var(--max)); margin-inline: auto; }
.narrow { width: min(calc(100% - 48px), 850px); margin-inline: auto; }
.section { padding: clamp(72px, 9vw, 132px) 0; }
.section-sm { padding: clamp(48px, 6vw, 84px) 0; }
.bg-paper { background: var(--paper); }
.bg-wine { color: #fff; background: var(--wine); }
.bg-blush { background: var(--blush-pale); }
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 14px;
  color: var(--wine);
  font-size: .72rem;
  font-weight: 750;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.eyebrow::before { width: 28px; height: 1px; background: currentColor; content: ''; }
.bg-wine .eyebrow { color: #f4c7c3; }
.display, h1, h2, h3 { font-family: var(--serif); font-weight: 400; letter-spacing: -.035em; line-height: 1.03; }
h1, h2, h3, p { margin-top: 0; }
h1 { font-size: clamp(3.25rem, 7vw, 7.4rem); }
h2 { margin-bottom: 22px; font-size: clamp(2.35rem, 4.5vw, 4.9rem); }
h3 { font-size: clamp(1.35rem, 2.2vw, 2rem); }
.lede { max-width: 650px; color: var(--muted); font-size: clamp(1rem, 1.5vw, 1.22rem); }
.bg-wine .lede { color: rgba(255,255,255,.72); }
.section-head { display: flex; align-items: end; justify-content: space-between; gap: 32px; margin-bottom: 42px; }
.section-head h2 { margin-bottom: 0; }
.section-head .lede { margin: 0 0 6px; }
.text-center { text-align: center; }
.text-center .lede { margin-inline: auto; }

.btn {
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 13px 24px;
  border: 1px solid var(--wine);
  border-radius: 999px;
  background: var(--wine);
  color: #fff;
  font-size: .78rem;
  font-weight: 750;
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
  transition: transform .25s ease, box-shadow .25s ease, background .25s ease, color .25s ease;
}
.btn:hover { transform: translateY(-2px); box-shadow: 0 10px 28px rgba(88,25,35,.2); }
.btn-outline { color: var(--wine); background: transparent; }
.btn-outline:hover { color: #fff; background: var(--wine); }
.btn-light { border-color: #fff; background: #fff; color: var(--wine); }
.btn-ghost { border-color: rgba(255,255,255,.42); background: transparent; color: #fff; }
.btn-small { min-height: 42px; padding: 10px 18px; font-size: .69rem; }
.text-link {
  display: inline-flex; align-items: center; gap: 10px; padding-bottom: 4px;
  border-bottom: 1px solid currentColor; color: var(--wine); font-size: .74rem; font-weight: 750;
  letter-spacing: .12em; text-transform: uppercase;
}
.text-link::after { content: '↗'; transition: transform .2s ease; }
.text-link:hover::after { transform: translate(2px,-2px); }

.announcement {
  position: relative; z-index: 60; min-height: 34px; display: flex; align-items: center; justify-content: center;
  padding: 7px 48px; background: var(--wine-dark); color: #fff; text-align: center;
  font-size: .68rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
}
.announcement span { color: #f0bab6; }
.site-header {
  position: sticky; top: 0; z-index: 50; border-bottom: 1px solid transparent;
  background: rgba(251,247,240,.93); backdrop-filter: blur(14px); transition: box-shadow .25s, border-color .25s;
}
.site-header.scrolled { border-color: var(--line); box-shadow: 0 8px 25px rgba(37,20,17,.06); }
.nav-wrap { min-height: 78px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; }
.nav-list { display: flex; align-items: center; gap: 28px; list-style: none; margin: 0; padding: 0; }
.nav-link { position: relative; font-size: .74rem; font-weight: 720; letter-spacing: .09em; text-transform: uppercase; }
.nav-link::after { position: absolute; right: 0; bottom: -7px; left: 0; height: 1px; background: var(--wine); transform: scaleX(0); content: ''; transition: transform .2s; }
.nav-link:hover::after, .nav-link.active::after { transform: scaleX(1); }
.logo {
  display: inline-flex; flex-direction: column; align-items: center; color: var(--wine);
  font-family: var(--serif); font-size: 1.68rem; letter-spacing: .19em; line-height: .92;
}
.logo small { margin-top: 7px; font-family: var(--sans); font-size: .48rem; font-weight: 800; letter-spacing: .36em; text-transform: uppercase; }
.nav-actions { display: flex; justify-content: flex-end; align-items: center; gap: 6px; }
.icon-btn {
  position: relative; width: 42px; height: 42px; display: inline-grid; place-items: center;
  border: 0; border-radius: 50%; background: transparent; cursor: pointer; transition: background .2s;
}
.icon-btn:hover { background: var(--cream-deep); }
.icon-btn svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.cart-count {
  position: absolute; top: 1px; right: 0; min-width: 18px; height: 18px; display: grid; place-items: center;
  padding: 0 4px; border-radius: 50%; background: var(--wine); color: #fff; font-size: .62rem; font-weight: 800;
}
.mobile-toggle { display: none; }

.mobile-menu { position: fixed; inset: 0; z-index: 100; display: none; background: var(--cream); padding: 28px; }
.mobile-menu.open { display: block; animation: fadeIn .2s; }
.mobile-menu-head { display: flex; justify-content: space-between; align-items: center; }
.mobile-menu nav { display: grid; gap: 12px; margin-top: 56px; }
.mobile-menu nav a { padding: 10px 0; border-bottom: 1px solid var(--line); font-family: var(--serif); font-size: 2.4rem; line-height: 1.15; }
.mobile-menu-foot { position: absolute; right: 28px; bottom: 30px; left: 28px; color: var(--muted); font-size: .82rem; }

.search-layer { position: fixed; inset: 0; z-index: 110; display: none; background: rgba(29,25,23,.48); backdrop-filter: blur(8px); }
.search-layer.open { display: block; animation: fadeIn .2s; }
.search-panel { padding: 26px 0 54px; background: var(--cream); box-shadow: var(--shadow); }
.search-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.search-form { display: flex; align-items: center; gap: 14px; margin-top: 34px; border-bottom: 1px solid var(--ink); }
.search-form input { width: 100%; padding: 18px 4px; border: 0; background: transparent; color: var(--ink); font-family: var(--serif); font-size: clamp(2rem,4vw,4rem); outline: 0; }
.search-hints { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; color: var(--muted); font-size: .78rem; }
.search-hints button { padding: 8px 13px; border: 1px solid var(--line); border-radius: 999px; background: transparent; cursor: pointer; }

.cart-backdrop { position: fixed; inset: 0; z-index: 90; display: none; background: rgba(29,25,23,.44); backdrop-filter: blur(3px); }
.cart-backdrop.open { display: block; animation: fadeIn .2s; }
.cart-drawer {
  position: fixed; top: 0; right: 0; bottom: 0; z-index: 100; width: min(480px, 100%); display: flex; flex-direction: column;
  padding: 26px; background: var(--paper); transform: translateX(102%); transition: transform .36s cubic-bezier(.7,0,.2,1);
}
.cart-drawer.open { transform: none; }
.drawer-head { display: flex; align-items: center; justify-content: space-between; padding-bottom: 22px; border-bottom: 1px solid var(--line); }
.drawer-head h3 { margin: 0; font-size: 1.65rem; }
.drawer-items { flex: 1; overflow: auto; padding: 18px 0; }
.drawer-product { display: grid; grid-template-columns: 96px 1fr; gap: 16px; padding: 12px 0 18px; border-bottom: 1px solid var(--line); }
.drawer-product img { aspect-ratio: 1; object-fit: cover; background: var(--cream-deep); }
.drawer-product h4 { margin: 2px 0 3px; font-family: var(--serif); font-size: 1.15rem; font-weight: 400; }
.drawer-product p { margin: 0; color: var(--muted); font-size: .76rem; }
.drawer-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 11px; }
.qty-mini { display: inline-flex; align-items: center; border: 1px solid var(--line); border-radius: 99px; overflow: hidden; }
.qty-mini button { width: 28px; height: 28px; border: 0; background: transparent; cursor: pointer; }
.qty-mini span { min-width: 20px; text-align: center; font-size: .78rem; }
.remove-link { border: 0; background: transparent; color: var(--muted); font-size: .67rem; text-decoration: underline; cursor: pointer; }
.empty-cart { display: grid; min-height: 58vh; place-content: center; text-align: center; }
.empty-cart .orb { width: 76px; height: 76px; margin: 0 auto 22px; border: 1px solid var(--blush); border-radius: 50%; background: radial-gradient(circle at 35% 30%, #fff 0 8%, #d89a9b 48%, var(--wine) 100%); box-shadow: 0 15px 35px rgba(88,25,35,.16); }
.drawer-foot { padding-top: 18px; border-top: 1px solid var(--line); }
.subtotal { display: flex; justify-content: space-between; margin-bottom: 8px; font-family: var(--serif); font-size: 1.4rem; }
.drawer-foot small { display: block; margin-bottom: 16px; color: var(--muted); }
.drawer-foot .btn { width: 100%; }

.hero { position: relative; min-height: min(800px, calc(100svh - 112px)); overflow: hidden; background: var(--cream); }
.hero-grid { width: 100%; min-height: inherit; display: grid; grid-template-columns: 46% 54%; }
.hero-copy { position: relative; z-index: 2; display: flex; flex-direction: column; justify-content: center; padding: clamp(66px,8vw,120px) max(28px, calc((100vw - var(--max))/2)); padding-right: clamp(34px,6vw,94px); }
.hero h1 { max-width: 690px; margin-bottom: 24px; color: var(--wine); }
.hero h1 em { color: var(--ink); font-weight: 400; }
.hero-copy .lede { max-width: 540px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
.hero-note { display: flex; align-items: center; gap: 11px; margin-top: 48px; color: var(--muted); font-size: .72rem; letter-spacing: .06em; text-transform: uppercase; }
.hero-note span { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: var(--wine); }
.hero-visual { position: relative; min-height: 600px; }
.hero-visual img { height: 100%; object-fit: cover; object-position: 53% center; }
.hero-badge {
  position: absolute; right: 34px; bottom: 34px; width: 132px; height: 132px; display: grid; place-items: center;
  border-radius: 50%; background: rgba(255,253,249,.9); box-shadow: var(--shadow); color: var(--wine); text-align: center;
  font-family: var(--serif); font-size: .95rem; line-height: 1.1; transform: rotate(-7deg); backdrop-filter: blur(10px);
}
.hero-badge::before { position: absolute; inset: 8px; border: 1px solid var(--blush); border-radius: 50%; content: ''; }
.hero-badge strong { position: relative; font-size: 1.65rem; font-weight: 400; }

.promise-bar { overflow: hidden; border-block: 1px solid var(--line); background: var(--paper); }
.promise-track { display: flex; width: max-content; animation: marquee 28s linear infinite; }
.promise-set { display: flex; align-items: center; }
.promise-set span { display: flex; align-items: center; gap: 22px; padding: 18px 34px; color: var(--wine); font-family: var(--serif); font-size: 1rem; white-space: nowrap; }
.promise-set span::after { width: 7px; height: 7px; border-radius: 50%; background: var(--blush); content: ''; }

.product-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.product-card { position: relative; min-width: 0; }
.product-image { position: relative; overflow: hidden; background: var(--cream-deep); }
.product-image img { aspect-ratio: 1; object-fit: cover; transition: transform .55s ease; }
.product-card:hover .product-image img { transform: scale(1.025); }
.product-tag { position: absolute; top: 14px; left: 14px; padding: 7px 11px; border-radius: 99px; background: var(--paper); color: var(--wine); font-size: .62rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.quick-add { position: absolute; right: 12px; bottom: 12px; left: 12px; min-height: 44px; border: 0; border-radius: 999px; background: rgba(88,25,35,.95); color: #fff; font-size: .7rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; cursor: pointer; opacity: 0; transform: translateY(8px); transition: .25s; }
.product-card:hover .quick-add { opacity: 1; transform: none; }
.product-info { padding: 16px 3px; }
.product-kicker { margin-bottom: 5px; color: var(--muted); font-size: .64rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.product-info h3 { margin: 0 0 7px; font-size: 1.38rem; }
.product-meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.product-price { font-weight: 720; }
.product-rating { color: var(--wine); font-size: .72rem; }
.product-rating small { color: var(--muted); }
.product-card .placeholder-note { display: block; color: var(--muted); font-size: .66rem; }

.ritual-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.ritual-card { position: relative; min-height: 650px; overflow: hidden; color: #fff; }
.ritual-card img { position: absolute; inset: 0; height: 100%; object-fit: cover; transition: transform .7s ease; }
.ritual-card:hover img { transform: scale(1.03); }
.ritual-card::after { position: absolute; inset: 0; background: linear-gradient(to top, rgba(30,12,13,.72), transparent 58%); content: ''; }
.ritual-copy { position: absolute; right: 0; bottom: 0; left: 0; z-index: 1; padding: clamp(28px,5vw,58px); }
.ritual-copy h3 { max-width: 430px; margin: 0 0 12px; font-size: clamp(2.3rem,4vw,4.4rem); }
.ritual-copy p { max-width: 410px; color: rgba(255,255,255,.78); }
.ritual-copy .text-link { color: #fff; }

.concern-list { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 38px; }
.concern { padding: 14px 20px; border: 1px solid var(--line); border-radius: 999px; background: transparent; color: var(--wine); cursor: pointer; transition: .2s; }
.concern:hover { border-color: var(--wine); background: var(--wine); color: #fff; }

.story-grid { display: grid; grid-template-columns: 1.08fr .92fr; align-items: stretch; }
.story-image { min-height: 600px; }
.story-image img { height: 100%; object-fit: cover; }
.story-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(44px,7vw,105px); background: var(--wine); color: #fff; }
.story-copy h2 { font-size: clamp(2.7rem,5vw,5.5rem); }
.story-points { display: grid; gap: 22px; margin: 30px 0 36px; }
.story-point { display: grid; grid-template-columns: 42px 1fr; gap: 16px; }
.story-point b { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.32); border-radius: 50%; color: #f2c5c1; font-family: var(--serif); font-weight: 400; }
.story-point strong { display: block; margin-bottom: 3px; font-family: var(--serif); font-size: 1.16rem; font-weight: 400; }
.story-point span { color: rgba(255,255,255,.66); font-size: .84rem; }

.metrics { display: grid; grid-template-columns: repeat(3,1fr); border: 1px solid rgba(255,255,255,.22); }
.metric { padding: 30px; text-align: center; }
.metric + .metric { border-left: 1px solid rgba(255,255,255,.22); }
.metric strong { display: block; margin-bottom: 5px; color: #f2c5c1; font-family: var(--serif); font-size: clamp(2.2rem,4vw,4.2rem); font-weight: 400; }
.metric span { color: rgba(255,255,255,.7); font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; }

.testimonial-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 20px; }
.quote-card { position: relative; min-height: 410px; display: flex; flex-direction: column; justify-content: space-between; padding: clamp(34px,5vw,68px); overflow: hidden; background: var(--blush-pale); }
.quote-card::before { position: absolute; top: -55px; right: -35px; width: 190px; height: 190px; border-radius: 50%; background: rgba(88,25,35,.08); content: ''; }
.quote-card blockquote { max-width: 800px; margin: 0; color: var(--wine); font-family: var(--serif); font-size: clamp(2rem,3.4vw,3.8rem); letter-spacing: -.035em; line-height: 1.1; }
.quote-card footer { color: var(--muted); font-size: .78rem; letter-spacing: .09em; text-transform: uppercase; }
.values-card { display: grid; gap: 1px; background: var(--line); }
.value { display: flex; align-items: center; gap: 16px; padding: 25px; background: var(--paper); }
.value i { width: 44px; height: 44px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; background: var(--cream-deep); color: var(--wine); font-family: var(--serif); font-size: 1.1rem; font-style: normal; }
.value strong { display: block; font-family: var(--serif); font-size: 1.12rem; font-weight: 400; }
.value span { color: var(--muted); font-size: .74rem; }

.bundle { position: relative; display: grid; grid-template-columns: 1fr 1fr; overflow: hidden; background: var(--cream-deep); }
.bundle-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(45px,8vw,110px); }
.bundle-art { min-height: 480px; background: radial-gradient(circle at 55% 42%, #f1c9c4 0 13%, transparent 13.5%), linear-gradient(145deg, var(--wine) 0 45%, #a75f67 45.2% 68%, #ecd9ca 68.2%); }
.bundle-products { position: absolute; right: 7%; bottom: 8%; width: 38%; display: flex; align-items: end; justify-content: center; gap: 3%; }
.bundle-products img { width: 46%; border-radius: 4px; box-shadow: 0 25px 60px rgba(31,13,14,.24); object-fit: cover; }

.newsletter { display: grid; grid-template-columns: .85fr 1.15fr; align-items: center; gap: 70px; }
.newsletter h2 { margin-bottom: 0; }
.news-form { display: flex; border-bottom: 1px solid rgba(255,255,255,.5); }
.news-form input { width: 100%; padding: 18px 0; border: 0; background: transparent; color: #fff; outline: 0; }
.news-form input::placeholder { color: rgba(255,255,255,.58); }
.news-form button { border: 0; background: transparent; color: #fff; font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; cursor: pointer; }
.form-note { margin-top: 12px; color: rgba(255,255,255,.5); font-size: .68rem; }

.site-footer { padding: 70px 0 24px; background: var(--wine-dark); color: #fff; }
.footer-grid { display: grid; grid-template-columns: 1.3fr repeat(3,.7fr); gap: 46px; }
.footer-brand .logo { align-items: flex-start; color: #fff; }
.footer-brand p { max-width: 340px; margin: 24px 0; color: rgba(255,255,255,.6); }
.socials { display: flex; gap: 9px; }
.socials a { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.24); border-radius: 50%; font-size: .7rem; transition: .2s; }
.socials a:hover { background: #fff; color: var(--wine-dark); }
.footer-col h4 { margin: 3px 0 20px; color: #e8b4b0; font-size: .69rem; letter-spacing: .14em; text-transform: uppercase; }
.footer-col a, .footer-col span { display: block; margin: 10px 0; color: rgba(255,255,255,.68); font-size: .84rem; }
.footer-col a:hover { color: #fff; }
.footer-bottom { display: flex; justify-content: space-between; gap: 30px; margin-top: 64px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.14); color: rgba(255,255,255,.43); font-size: .67rem; }

.page-hero { padding: clamp(70px,10vw,140px) 0 64px; text-align: center; background: var(--cream-deep); }
.page-hero h1 { margin: 8px 0 20px; font-size: clamp(3.5rem,8vw,7.5rem); color: var(--wine); }
.page-hero .lede { margin-inline: auto; }
.breadcrumbs { color: var(--muted); font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; }
.breadcrumbs a:hover { color: var(--wine); }

.shop-layout { display: grid; grid-template-columns: 230px 1fr; gap: 48px; }
.filters { position: sticky; top: 122px; height: fit-content; }
.filter-group { padding: 22px 0; border-top: 1px solid var(--line); }
.filter-group:first-child { padding-top: 0; border: 0; }
.filter-group h4 { margin: 0 0 14px; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; }
.check { display: flex; align-items: center; gap: 10px; margin: 10px 0; color: var(--muted); font-size: .82rem; cursor: pointer; }
.check input { accent-color: var(--wine); }
.shop-top { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 25px; }
.shop-top p { margin: 0; color: var(--muted); font-size: .82rem; }
.select { padding: 11px 35px 11px 14px; border: 1px solid var(--line); border-radius: 99px; background: var(--paper); color: var(--ink); font-size: .76rem; }
.shop-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 26px 18px; }
.mobile-filter { display: none; }

.product-detail { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(40px,7vw,100px); align-items: start; }
.product-gallery { position: sticky; top: 114px; display: grid; grid-template-columns: 84px 1fr; gap: 14px; }
.thumbs { display: grid; align-content: start; gap: 10px; }
.thumb { padding: 0; border: 1px solid transparent; background: transparent; cursor: pointer; }
.thumb.active { border-color: var(--wine); }
.thumb img { aspect-ratio: 1; object-fit: cover; }
.main-product-img { aspect-ratio: 1; object-fit: cover; background: var(--cream-deep); }
.product-summary { padding-top: 12px; }
.product-summary h1 { margin: 10px 0 18px; font-size: clamp(3rem,5vw,5.4rem); color: var(--wine); }
.summary-rating { display: flex; gap: 10px; color: var(--wine); font-size: .8rem; }
.summary-rating span:last-child { color: var(--muted); }
.summary-price { margin: 20px 0; font-size: 1.4rem; font-weight: 740; }
.tax-note { color: var(--muted); font-size: .72rem; }
.summary-desc { margin: 25px 0; color: var(--muted); font-size: 1rem; }
.pill-row { display: flex; flex-wrap: wrap; gap: 8px; margin: 22px 0; }
.pill-row span { padding: 8px 12px; border-radius: 99px; background: var(--blush-pale); color: var(--wine); font-size: .69rem; }
.buy-row { display: grid; grid-template-columns: 128px 1fr; gap: 12px; margin: 26px 0; }
.qty-control { display: grid; grid-template-columns: 38px 1fr 38px; border: 1px solid var(--wine); border-radius: 999px; overflow: hidden; }
.qty-control button { border: 0; background: transparent; cursor: pointer; }
.qty-control input { width: 100%; border: 0; background: transparent; text-align: center; outline: 0; }
.shipping-notes { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 18px 0 32px; }
.shipping-note { padding: 15px; border: 1px solid var(--line); font-size: .74rem; }
.shipping-note strong { display: block; margin-bottom: 2px; }
.shipping-note span { color: var(--muted); }
.accordion { border-top: 1px solid var(--line); }
.acc-item { border-bottom: 1px solid var(--line); }
.acc-head { width: 100%; display: flex; align-items: center; justify-content: space-between; padding: 19px 0; border: 0; background: transparent; font-weight: 700; text-align: left; cursor: pointer; }
.acc-head::after { content: '+'; font-size: 1.25rem; font-weight: 400; }
.acc-item.open .acc-head::after { content: '−'; }
.acc-body { max-height: 0; overflow: hidden; color: var(--muted); font-size: .86rem; transition: max-height .3s; }
.acc-body > div { padding: 0 0 20px; }
.acc-item.open .acc-body { max-height: 300px; }

.cart-page { display: grid; grid-template-columns: 1.4fr .6fr; gap: 50px; align-items: start; }
.cart-table { border-top: 1px solid var(--line); }
.cart-line { display: grid; grid-template-columns: 120px 1fr auto; gap: 22px; padding: 24px 0; border-bottom: 1px solid var(--line); }
.cart-line img { aspect-ratio: 1; object-fit: cover; }
.cart-line h3 { margin: 4px 0 6px; font-size: 1.35rem; }
.cart-line p { margin: 0; color: var(--muted); font-size: .75rem; }
.cart-line .qty-mini { margin-top: 17px; }
.cart-line-price { display: flex; flex-direction: column; align-items: end; justify-content: space-between; font-weight: 720; }
.order-card { position: sticky; top: 120px; padding: 30px; background: var(--paper); box-shadow: var(--shadow); }
.order-card h3 { margin-bottom: 26px; }
.order-row { display: flex; justify-content: space-between; gap: 15px; margin: 13px 0; color: var(--muted); font-size: .84rem; }
.order-total { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--line); color: var(--ink); font-family: var(--serif); font-size: 1.25rem; }
.order-card .btn { width: 100%; margin-top: 18px; }
.coupon { display: flex; margin-top: 20px; border-bottom: 1px solid var(--line); }
.coupon input { min-width: 0; width: 100%; padding: 12px 0; border: 0; background: transparent; outline: 0; }
.coupon button { border: 0; background: transparent; color: var(--wine); font-size: .68rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; cursor: pointer; }

.checkout-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 60px; align-items: start; }
.form-section { margin-bottom: 42px; }
.form-section-head { display: flex; justify-content: space-between; align-items: baseline; gap: 20px; margin-bottom: 22px; padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.form-section-head h3 { margin: 0; }
.form-section-head span { color: var(--muted); font-size: .72rem; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.field { display: grid; gap: 7px; }
.field.full { grid-column: 1 / -1; }
.field label { font-size: .68rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.field input, .field select, .field textarea { width: 100%; padding: 14px 15px; border: 1px solid var(--line); border-radius: 0; background: var(--paper); outline: 0; }
.field textarea { min-height: 130px; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--wine); }
.payment-option { display: flex; align-items: flex-start; gap: 12px; padding: 17px 0; border-bottom: 1px solid var(--line); }
.payment-option input { margin-top: 4px; accent-color: var(--wine); }
.payment-option strong { display: block; font-size: .86rem; }
.payment-option small { color: var(--muted); }
.checkout-products { margin: 16px 0 20px; }
.checkout-product { display: grid; grid-template-columns: 62px 1fr auto; gap: 12px; align-items: center; margin: 13px 0; }
.checkout-product img { aspect-ratio: 1; object-fit: cover; }
.checkout-product h4 { margin: 0; font-family: var(--serif); font-size: 1rem; font-weight: 400; }
.checkout-product span { font-size: .74rem; }

.account-grid { display: grid; grid-template-columns: 1fr 1fr; min-height: 620px; background: var(--paper); box-shadow: var(--shadow); }
.account-art { position: relative; overflow: hidden; background: var(--wine); }
.account-art img { height: 100%; object-fit: cover; opacity: .84; }
.account-art::after { position: absolute; inset: 0; background: linear-gradient(to top, rgba(53,16,21,.75), transparent); content: ''; }
.account-art-copy { position: absolute; right: 45px; bottom: 42px; left: 45px; z-index: 2; color: #fff; }
.account-art-copy h2 { font-size: 3.6rem; }
.account-form { display: flex; flex-direction: column; justify-content: center; padding: clamp(38px,7vw,92px); }
.account-form h1 { margin-bottom: 10px; font-size: 3.7rem; color: var(--wine); }
.account-form > p { color: var(--muted); }
.account-form .field { margin-top: 18px; }
.account-form .btn { width: 100%; margin-top: 24px; }
.form-split { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 14px; color: var(--muted); font-size: .72rem; }

.contact-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(45px,9vw,130px); }
.contact-info h1 { margin: 8px 0 25px; font-size: clamp(3.6rem,7vw,7rem); color: var(--wine); }
.contact-list { margin-top: 42px; border-top: 1px solid var(--line); }
.contact-row { display: grid; grid-template-columns: 100px 1fr; gap: 20px; padding: 20px 0; border-bottom: 1px solid var(--line); }
.contact-row strong { font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; }
.contact-row span { color: var(--muted); }
.notice { margin-top: 26px; padding: 17px; border-left: 3px solid var(--wine); background: var(--blush-pale); color: var(--muted); font-size: .78rem; }
.contact-form-card { padding: clamp(30px,5vw,62px); background: var(--paper); box-shadow: var(--shadow); }
.contact-form-card h2 { font-size: 3rem; }

.toast { position: fixed; z-index: 200; right: 24px; bottom: 24px; max-width: min(380px, calc(100% - 48px)); padding: 15px 20px; border-radius: 4px; background: var(--wine-dark); color: #fff; box-shadow: var(--shadow); font-size: .82rem; opacity: 0; transform: translateY(18px); pointer-events: none; transition: .3s; }
.toast.show { opacity: 1; transform: none; }
.loading-bar { position: fixed; z-index: 300; top: 0; left: 0; width: 0; height: 3px; background: var(--blush); transition: width .2s; }
.reveal { opacity: 0; transform: translateY(22px); transition: opacity .7s ease, transform .7s ease; }
.reveal.visible { opacity: 1; transform: none; }

@keyframes marquee { to { transform: translateX(-50%); } }
@keyframes fadeIn { from { opacity: 0; } }

@media (max-width: 1080px) {
  .nav-list { gap: 18px; }
  .nav-link { font-size: .68rem; }
  .product-grid { grid-template-columns: repeat(2,1fr); gap: 35px 18px; }
  .shop-grid { grid-template-columns: repeat(2,1fr); }
  .hero-grid { grid-template-columns: 48% 52%; }
  .hero-copy { padding-left: 34px; }
  .footer-grid { grid-template-columns: 1.2fr repeat(3,.8fr); }
}

@media (max-width: 820px) {
  .container, .narrow { width: min(calc(100% - 32px), var(--max)); }
  .section { padding: 72px 0; }
  .section-head { align-items: start; flex-direction: column; margin-bottom: 30px; }
  .desktop-nav, .account-icon { display: none; }
  .nav-wrap { min-height: 68px; grid-template-columns: 1fr auto 1fr; }
  .mobile-toggle { display: grid; justify-self: start; }
  .logo { font-size: 1.35rem; }
  .hero { min-height: auto; }
  .hero-grid { display: flex; flex-direction: column-reverse; }
  .hero-visual { min-height: 54svh; }
  .hero-visual img { object-position: 58% center; }
  .hero-copy { padding: 52px 22px 62px; }
  .hero h1 { font-size: clamp(3.4rem,15vw,5.7rem); }
  .hero-note { margin-top: 32px; }
  .hero-badge { right: 18px; bottom: 18px; width: 100px; height: 100px; font-size: .7rem; }
  .hero-badge strong { font-size: 1.2rem; }
  .quick-add { opacity: 1; transform: none; }
  .ritual-card { min-height: 520px; }
  .story-grid { grid-template-columns: 1fr; }
  .story-image { min-height: 430px; }
  .testimonial-grid, .bundle, .newsletter { grid-template-columns: 1fr; }
  .bundle-products { bottom: 3%; width: 70%; }
  .newsletter { gap: 35px; }
  .footer-grid { grid-template-columns: 1.3fr 1fr 1fr; }
  .footer-brand { grid-column: 1 / -1; }
  .shop-layout { grid-template-columns: 1fr; }
  .filters { display: none; }
  .mobile-filter { display: inline-flex; }
  .product-detail { grid-template-columns: 1fr; }
  .product-gallery { position: static; }
  .cart-page, .checkout-grid, .contact-grid { grid-template-columns: 1fr; }
  .order-card { position: static; }
  .account-grid { grid-template-columns: 1fr; }
  .account-art { min-height: 380px; }
}

@media (max-width: 560px) {
  .announcement { padding-inline: 16px; font-size: .59rem; }
  .nav-actions { gap: 0; }
  .icon-btn { width: 38px; height: 38px; }
  .hero-actions .btn { width: 100%; }
  .hero-visual { min-height: 440px; }
  .product-grid, .shop-grid { grid-template-columns: 1fr 1fr; gap: 28px 10px; }
  .product-info h3 { font-size: 1.04rem; }
  .product-kicker { font-size: .56rem; }
  .product-price { font-size: .85rem; }
  .product-rating { display: none; }
  .quick-add { right: 8px; bottom: 8px; left: 8px; min-height: 38px; font-size: .6rem; }
  .product-tag { top: 8px; left: 8px; font-size: .52rem; }
  .ritual-grid { grid-template-columns: 1fr; }
  .ritual-card { min-height: 480px; }
  .metrics { grid-template-columns: 1fr; }
  .metric + .metric { border-top: 1px solid rgba(255,255,255,.22); border-left: 0; }
  .bundle { display: block; }
  .bundle-art { min-height: 390px; }
  .bundle-products { right: 13%; bottom: 3%; width: 74%; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 36px 22px; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-col:last-child { grid-column: 1 / -1; }
  .footer-bottom { flex-direction: column; gap: 8px; }
  .shop-top { align-items: stretch; flex-direction: column; }
  .shop-top > div { display: flex; justify-content: space-between; }
  .product-gallery { display: block; }
  .thumbs { display: none; }
  .buy-row { grid-template-columns: 110px 1fr; }
  .shipping-notes { grid-template-columns: 1fr; }
  .cart-line { grid-template-columns: 84px 1fr; gap: 14px; }
  .cart-line-price { grid-column: 2; align-items: start; flex-direction: row; }
  .form-grid { grid-template-columns: 1fr; }
  .field.full { grid-column: auto; }
  .account-art { display: none; }
  .account-form { padding: 45px 25px; }
  .contact-row { grid-template-columns: 82px 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
}

/* WordPress + WooCommerce integration */
.nav-list > li > a { position:relative; font-size:.74rem; font-weight:720; letter-spacing:.09em; text-transform:uppercase; }
.nav-list > li > a::after { position:absolute; right:0; bottom:-7px; left:0; height:1px; background:var(--wine); transform:scaleX(0); content:''; transition:transform .2s; }
.nav-list > li > a:hover::after,.nav-list > .current-menu-item > a::after { transform:scaleX(1); }
.site-branding { display:flex; justify-content:center; }
.search-hints a { padding:8px 13px; border:1px solid var(--line); border-radius:999px; }
.admin-bar .site-header { top: 32px; }
.admin-bar .mobile-menu, .admin-bar .search-layer { top: 32px; }
.screen-reader-text { position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.custom-logo-link img { width:auto; max-width:170px; max-height:54px; object-fit:contain; }
.custom-logo-link { display:flex; align-items:center; justify-content:center; }
.wp-block-image img { height:auto; }
.alignwide { width:min(calc(100% - 48px),var(--max)); margin-inline:auto; }
.alignfull { width:100%; }
.entry-content > *:not(.alignfull):not(.alignwide) { width:min(calc(100% - 48px),900px); margin-inline:auto; }
.entry-content > .woocommerce { width:min(calc(100% - 48px),var(--max)); margin:72px auto; }
.default-page { min-height:55vh; }
.default-page .entry-title { color:var(--wine); }
.post-edit-link { display:inline-flex; margin-top:20px; color:var(--wine); text-decoration:underline; }

.woocommerce .woocommerce-breadcrumb { margin:0 0 20px; color:var(--muted); font-size:.7rem; letter-spacing:.09em; text-transform:uppercase; }
.woocommerce .woocommerce-breadcrumb a { color:var(--wine); }
.woocommerce .page-title { margin:0; color:var(--wine); }
.woo-archive-head { padding:80px 0 54px; text-align:center; background:var(--cream-deep); }
.woo-content { padding:72px 0 100px; background:var(--paper); }
.woocommerce .woocommerce-result-count { color:var(--muted); font-size:.82rem; }
.woocommerce .woocommerce-ordering select { padding:11px 38px 11px 14px; border:1px solid var(--line); border-radius:999px; background:var(--paper); }
.woocommerce ul.products { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:34px 20px; margin:34px 0 0; }
.woocommerce ul.products::before,.woocommerce ul.products::after { display:none; }
.woocommerce ul.products li.product { float:none!important; width:auto!important; margin:0!important; }
.woocommerce ul.products li.product a img { margin:0; aspect-ratio:1; object-fit:cover; background:var(--cream-deep); transition:transform .45s; }
.woocommerce ul.products li.product:hover a img { transform:scale(1.02); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding:15px 0 5px; color:var(--ink); font-family:var(--serif); font-size:1.4rem; font-weight:400; letter-spacing:-.025em; }
.woocommerce ul.products li.product .price { color:var(--ink); font-size:.9rem; font-weight:720; }
.woocommerce ul.products li.product .button { display:inline-flex; min-height:40px; align-items:center; justify-content:center; margin-top:12px; padding:10px 18px; border:1px solid var(--wine); border-radius:999px; background:var(--wine); color:#fff; font-size:.67rem; font-weight:750; letter-spacing:.08em; text-transform:uppercase; }
.woocommerce span.onsale { top:12px; left:12px; min-height:auto; padding:6px 11px; border-radius:999px; background:var(--wine); font-size:.62rem; line-height:1.4; }
.woocommerce nav.woocommerce-pagination ul { border:0; }
.woocommerce nav.woocommerce-pagination ul li { margin:3px; border:0; }
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span { min-width:40px; height:40px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; }
.woocommerce nav.woocommerce-pagination ul li span.current { background:var(--wine); color:#fff; }

.single-product .woo-content { padding-top:60px; }
.woocommerce div.product { display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(40px,7vw,90px); }
.woocommerce div.product div.images,.woocommerce div.product div.summary { float:none; width:auto; margin:0; }
.woocommerce div.product div.images img { background:var(--cream-deep); }
.woocommerce div.product .product_title { margin:10px 0 18px; color:var(--wine); font-family:var(--serif); font-size:clamp(3rem,5vw,5.2rem); font-weight:400; letter-spacing:-.035em; line-height:1.02; }
.woocommerce div.product p.price,.woocommerce div.product span.price { color:var(--ink); font-size:1.35rem; font-weight:720; }
.woocommerce div.product .woocommerce-product-details__short-description { margin:24px 0; color:var(--muted); }
.woocommerce div.product form.cart { display:flex; gap:12px; margin:28px 0; }
.woocommerce .quantity .qty { min-height:50px; border:1px solid var(--wine); border-radius:999px; }
.woocommerce div.product form.cart .button,.woocommerce button.button.alt,.woocommerce a.button.alt,.woocommerce input.button.alt { min-height:50px; padding:12px 24px; border-radius:999px; background:var(--wine); color:#fff; font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; }
.woocommerce div.product form.cart .button:hover,.woocommerce button.button.alt:hover,.woocommerce a.button.alt:hover { background:var(--wine-dark); }
.woocommerce div.product .product_meta { display:grid; gap:5px; margin-top:24px; color:var(--muted); font-size:.75rem; }
.woocommerce div.product .woocommerce-tabs { grid-column:1/-1; margin-top:30px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { display:flex; gap:24px; padding:0; border-bottom:1px solid var(--line); }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display:none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { margin:0; padding:0; border:0; background:transparent; }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display:none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding:14px 0; color:var(--muted); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color:var(--wine); border-bottom:1px solid var(--wine); }
.woocommerce div.product .woocommerce-tabs .panel { color:var(--muted); }
.woocommerce .related.products { grid-column:1/-1; margin-top:60px; }
.woocommerce .related.products > h2 { font-size:clamp(2.4rem,4vw,4rem); }

.woocommerce-message,.woocommerce-info,.woocommerce-error { margin-bottom:25px; border-top:0; border-left:3px solid var(--wine); background:var(--blush-pale); color:var(--ink); }
.woocommerce-message::before,.woocommerce-info::before { color:var(--wine); }
.woocommerce table.shop_table { border:1px solid var(--line); border-radius:0; background:var(--paper); }
.woocommerce table.shop_table th,.woocommerce table.shop_table td { padding:16px; border-color:var(--line); }
.woocommerce-cart table.cart img { width:90px; }
.woocommerce-cart table.cart .product-name a { font-family:var(--serif); font-size:1.2rem; }
.woocommerce .cart-collaterals .cart_totals { padding:28px; background:var(--paper); box-shadow:var(--shadow); }
.woocommerce .cart-collaterals .cart_totals h2 { font-size:2rem; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { background:var(--wine); }
.woocommerce form .form-row label { color:var(--ink); font-size:.68rem; font-weight:750; letter-spacing:.08em; text-transform:uppercase; }
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.select2-container--default .select2-selection--single { min-height:48px; padding:12px 14px; border:1px solid var(--line); border-radius:0; background:var(--paper); }
.woocommerce-checkout #customer_details { margin-bottom:35px; }
.woocommerce-checkout h3 { font-size:2rem; }
.woocommerce-checkout-review-order { padding:28px; background:var(--paper); box-shadow:var(--shadow); }
.woocommerce-checkout #payment { border-radius:0; background:var(--cream-deep); }
.woocommerce-account .woocommerce-MyAccount-navigation { width:24%; }
.woocommerce-account .woocommerce-MyAccount-content { width:72%; padding:30px; background:var(--paper); box-shadow:var(--shadow); }
.woocommerce-MyAccount-navigation ul { margin:0; padding:0; list-style:none; }
.woocommerce-MyAccount-navigation li a { display:block; padding:14px 0; border-bottom:1px solid var(--line); }
.woocommerce-MyAccount-navigation li.is-active a { color:var(--wine); font-weight:700; }
.woocommerce form.login,.woocommerce form.register { border:1px solid var(--line); border-radius:0; background:var(--paper); }

.widget_shopping_cart_content .mini_cart_item { position:relative; min-height:92px; padding:10px 28px 14px 95px!important; border-bottom:1px solid var(--line); }
.widget_shopping_cart_content .mini_cart_item img { position:absolute; left:0; width:80px!important; height:80px; object-fit:cover; }
.widget_shopping_cart_content .remove { right:0!important; left:auto!important; color:var(--wine)!important; }
.widget_shopping_cart_content .woocommerce-mini-cart__total { display:flex; justify-content:space-between; padding:18px 0 10px; border-top:0!important; }
.widget_shopping_cart_content .woocommerce-mini-cart__buttons { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.widget_shopping_cart_content .woocommerce-mini-cart__buttons .button { margin:0; padding:12px; border-radius:999px; background:var(--wine); color:#fff; text-align:center; font-size:.68rem; letter-spacing:.06em; text-transform:uppercase; }
.widget_shopping_cart_content .woocommerce-mini-cart__empty-message { display:grid; min-height:45vh; place-items:center; color:var(--muted); text-align:center; }
.home-products .woocommerce ul.products { margin-top:0; }
.home-products .woocommerce ul.products li.product .button { display:none; }
.price-pending { color:var(--wine); font-size:.74rem; font-weight:750; letter-spacing:.08em; text-transform:uppercase; }
.demo-disclosure { margin-top:18px; color:var(--muted); font-size:.72rem; }

@media(max-width:820px){
 .admin-bar .site-header { top:46px; }
 .woocommerce ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .woocommerce div.product { grid-template-columns:1fr; }
 .woocommerce-account .woocommerce-MyAccount-navigation,.woocommerce-account .woocommerce-MyAccount-content { float:none; width:100%; }
 .woocommerce-account .woocommerce-MyAccount-content { margin-top:30px; }
}
@media(max-width:560px){
 .entry-content > .woocommerce { width:min(calc(100% - 28px),var(--max)); margin-block:45px; }
 .woo-content { padding-block:45px 70px; }
 .woocommerce ul.products { gap:28px 10px; }
 .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:1.05rem; }
 .woocommerce ul.products li.product .button { min-height:36px; padding:8px 12px; font-size:.56rem; }
 .woocommerce div.product form.cart { align-items:stretch; }
 .woocommerce div.product .woocommerce-tabs ul.tabs { gap:12px; overflow:auto; }
 .woocommerce-cart table.cart img { width:62px; }
}

/* Veloura signature logo */
.brand-logo-link { display:inline-flex; align-items:center; justify-content:center; }
.brand-logo-img { width:auto; height:62px; object-fit:contain; }
.footer-brand .brand-logo-link { justify-content:flex-start; }
.footer-brand .brand-logo-img { height:92px; filter:invert(1); }

/* Hero v2 — dark editorial campaign */
.hero-luxe { position:relative; min-height:min(830px,calc(100svh - 112px)); padding:26px 0; overflow:hidden; background:var(--wine-dark); color:#fff; isolation:isolate; }
.hero-luxe::before { position:absolute; inset:0; z-index:-2; background:linear-gradient(125deg,rgba(255,255,255,.035),transparent 38%),radial-gradient(circle at 8% 85%,rgba(215,160,157,.18),transparent 30%); content:''; }
.hero-glow { position:absolute; z-index:-1; top:-240px; left:-200px; width:620px; height:620px; border:1px solid rgba(255,255,255,.08); border-radius:50%; }
.hero-glow::before,.hero-glow::after { position:absolute; border:1px solid rgba(255,255,255,.06); border-radius:50%; content:''; }
.hero-glow::before { inset:72px; }
.hero-glow::after { inset:145px; }
.hero-luxe .hero-grid { width:min(calc(100% - 48px),var(--max)); min-height:inherit; margin-inline:auto; grid-template-columns:.82fr 1.18fr; gap:clamp(30px,5vw,78px); }
.hero-luxe .hero-copy { padding:clamp(60px,8vw,110px) 0 clamp(52px,7vw,90px); }
.hero-brand-mark { width:82px; height:auto; margin:0 0 24px; filter:invert(1); opacity:.96; }
.hero-luxe .eyebrow { color:#f0bab6; }
.hero-luxe h1 { max-width:640px; margin-bottom:25px; color:#fff; font-size:clamp(3.65rem,6.3vw,6.9rem); }
.hero-luxe h1 em { display:block; color:#e6aaa6; font-style:italic; }
.hero-luxe .lede { max-width:555px; color:rgba(255,255,255,.7); }
.hero-luxe .hero-actions { margin-top:30px; }
.hero-luxe .btn-ghost:hover { border-color:#fff; background:#fff; color:var(--wine-dark); }
.hero-trust { display:flex; align-items:center; flex-wrap:wrap; gap:13px; margin-top:48px; color:rgba(255,255,255,.54); font-size:.65rem; font-weight:750; letter-spacing:.13em; text-transform:uppercase; }
.hero-trust i { width:4px; height:4px; border-radius:50%; background:#dba4a0; }
.hero-luxe .hero-visual { min-height:680px; padding:0; }
.hero-frame { position:relative; width:100%; height:100%; min-height:680px; overflow:hidden; border-radius:150px 8px 150px 8px; box-shadow:0 30px 80px rgba(0,0,0,.3); }
.hero-frame::after { position:absolute; inset:14px; border:1px solid rgba(255,255,255,.28); border-radius:139px 4px 139px 4px; content:''; pointer-events:none; }
.hero-campaign { width:100%; height:100%; object-fit:cover; object-position:52% center; }
.hero-spotlight { position:absolute; z-index:2; top:38px; right:38px; min-width:160px; padding:18px 20px; border:1px solid rgba(53,16,21,.1); background:rgba(255,253,249,.88); color:var(--wine); box-shadow:0 16px 35px rgba(45,19,18,.14); backdrop-filter:blur(12px); }
.hero-spotlight span { display:block; margin-bottom:3px; color:var(--muted); font-size:.58rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.hero-spotlight strong { font-family:var(--serif); font-size:1.2rem; font-weight:400; }
.hero-product-peek { position:absolute; z-index:3; right:30px; bottom:30px; left:30px; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:16px; padding:13px 16px; border:1px solid rgba(255,255,255,.36); background:rgba(53,16,21,.88); color:#fff; box-shadow:0 18px 45px rgba(25,8,10,.24); backdrop-filter:blur(14px); transition:transform .25s,background .25s; }
.hero-product-peek:hover { transform:translateY(-3px); background:rgba(88,25,35,.96); }
.peek-images { display:flex; }
.peek-images img { width:52px; height:52px; margin-left:-9px; border:2px solid rgba(255,255,255,.9); border-radius:50%; object-fit:cover; }
.peek-images img:first-child { margin-left:0; }
.peek-copy { display:grid; line-height:1.15; }
.peek-copy small { margin-bottom:4px; color:rgba(255,255,255,.6); font-size:.58rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.peek-copy strong { font-family:var(--serif); font-size:1.15rem; font-weight:400; }
.hero-product-peek b { width:40px; height:40px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.28); border-radius:50%; font-size:1rem; font-weight:400; }

@media(max-width:820px){
  .brand-logo-img { height:52px; }
  .hero-luxe { min-height:auto; padding:0 0 24px; }
  .hero-luxe .hero-grid { width:100%; display:flex; flex-direction:column; gap:0; }
  .hero-luxe .hero-copy { padding:54px 24px 44px; }
  .hero-brand-mark { width:70px; margin-bottom:18px; }
  .hero-luxe h1 { font-size:clamp(3.5rem,14vw,5.8rem); }
  .hero-luxe .hero-visual { min-height:0; padding:0 18px; }
  .hero-frame { min-height:570px; border-radius:95px 5px 95px 5px; }
  .hero-frame::after { border-radius:84px 3px 84px 3px; }
  .hero-trust { margin-top:32px; }
  .hero-spotlight { top:26px; right:26px; }
  .hero-product-peek { right:18px; bottom:18px; left:18px; }
}
@media(max-width:560px){
  .hero-luxe .hero-copy { padding:46px 20px 38px; }
  .hero-luxe h1 { font-size:clamp(3.25rem,16vw,4.7rem); }
  .hero-luxe .hero-actions .btn { width:100%; }
  .hero-frame { min-height:490px; border-radius:72px 4px 72px 4px; }
  .hero-frame::after { inset:9px; border-radius:63px 2px 63px 2px; }
  .hero-campaign { object-position:60% center; }
  .hero-spotlight { top:20px; right:20px; min-width:0; padding:12px 14px; }
  .hero-spotlight strong { font-size:1rem; }
  .hero-product-peek { grid-template-columns:auto 1fr; gap:11px; padding:11px; }
  .hero-product-peek b { display:none; }
  .peek-images img { width:40px; height:40px; }
  .peek-copy strong { font-size:.95rem; }
}

/* Elementor compatibility and imported Veloura templates */
.elementor-page .elementor-entry,
.elementor-page .veloura-elementor-full-width { width:100%; margin:0; padding:0; }
.elementor-page .elementor-entry > .elementor,
.elementor-page .elementor-entry .elementor-section-wrap { width:100%; }
.veloura-elementor-page .entry-content > *,
.elementor-page .entry-content > * { width:auto; max-width:none; margin-inline:0; }
.elementor-template-full-width #main-content,
.page-template-elementor-full-width #main-content { overflow:hidden; }
.elementor-location-header { position:relative; z-index:55; }
.elementor-location-footer { position:relative; z-index:2; }

.veloura-el-hero { position:relative; min-height:760px; overflow:hidden; background:#351015; color:#fff; isolation:isolate; }
.veloura-el-hero::before { position:absolute; z-index:-1; inset:-260px auto auto -220px; width:650px; height:650px; border:1px solid rgba(255,255,255,.08); border-radius:50%; box-shadow:inset 0 0 0 72px rgba(255,255,255,.018),inset 0 0 0 145px rgba(255,255,255,.018); content:''; }
.veloura-el-hero-copy { justify-content:center; padding:70px clamp(24px,5vw,78px)!important; }
.veloura-el-hero-logo img { width:82px!important; height:auto; filter:invert(1); }
.veloura-el-eyebrow .elementor-heading-title { color:#f0bab6; font-family:var(--sans); font-size:.72rem; font-weight:750; letter-spacing:.18em; text-transform:uppercase; }
.veloura-el-hero-title .elementor-heading-title { max-width:650px; color:#fff; font-family:var(--serif); font-size:clamp(3.7rem,6.2vw,6.8rem); font-weight:400; letter-spacing:-.04em; line-height:1.02; }
.veloura-el-hero-title em { display:block; color:#e6aaa6; font-weight:400; }
.veloura-el-hero-text { max-width:560px; color:rgba(255,255,255,.72); font-size:1.08rem; }
.veloura-el-button-primary .elementor-button { border:1px solid #fff; border-radius:999px; background:#fff; color:#581923; font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.veloura-el-button-secondary .elementor-button { border:1px solid rgba(255,255,255,.42); border-radius:999px; background:transparent; color:#fff; font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.veloura-el-hero-visual { position:relative; min-height:680px; padding:26px 26px 26px 0!important; }
.veloura-el-hero-campaign,.veloura-el-hero-campaign .elementor-widget-container { height:100%; }
.veloura-el-hero-campaign img { width:100%; height:100%!important; min-height:680px; border-radius:150px 8px 150px 8px; object-fit:cover; box-shadow:0 30px 80px rgba(0,0,0,.3); }
.veloura-el-product-peek { position:absolute!important; z-index:3; right:52px; bottom:52px; left:26px; }
.veloura-el-product-peek .hero-product-peek { position:relative; right:auto; bottom:auto; left:auto; }
.veloura-el-promise .elementor-widget-container { overflow:hidden; border-block:1px solid var(--line); background:var(--paper); }
.veloura-el-section { padding:clamp(72px,9vw,124px) 24px!important; }
.veloura-el-section-title .elementor-heading-title { color:var(--wine); font-family:var(--serif); font-size:clamp(2.5rem,4.7vw,4.9rem); font-weight:400; letter-spacing:-.035em; line-height:1.04; }
.veloura-el-products .woocommerce ul.products { margin-top:28px; }
.veloura-el-ritual-card { overflow:hidden; background:var(--paper); box-shadow:var(--shadow); }
.veloura-el-ritual-card .elementor-image-box-img { width:100%!important; margin:0!important; }
.veloura-el-ritual-card img { width:100%; aspect-ratio:4/5; object-fit:cover; }
.veloura-el-ritual-card .elementor-image-box-content { padding:26px 28px 34px; }
.veloura-el-ritual-card .elementor-image-box-title { color:var(--wine); font-family:var(--serif); font-size:2.1rem; font-weight:400; }
.veloura-el-story { background:var(--wine); color:#fff; }
.veloura-el-story-image,.veloura-el-story-image .elementor-widget-container { height:100%; }
.veloura-el-story-image img { height:100%!important; min-height:600px; object-fit:cover; }
.veloura-el-story-copy { justify-content:center; padding:clamp(50px,7vw,105px)!important; }
.veloura-el-story-copy .elementor-heading-title { color:#fff; }
.veloura-el-story-copy .elementor-widget-text-editor { color:rgba(255,255,255,.7); }

@media(max-width:820px){
 .veloura-el-hero { min-height:auto; }
 .veloura-el-hero-copy { padding:54px 24px 44px!important; }
 .veloura-el-hero-visual { min-height:560px; padding:0 18px 24px!important; }
 .veloura-el-hero-campaign img { min-height:540px; border-radius:95px 5px 95px 5px; }
 .veloura-el-product-peek { right:36px; bottom:42px; left:36px; }
 .veloura-el-story-image img { min-height:440px; }
}
@media(max-width:560px){
 .veloura-el-section { padding:64px 18px!important; }
 .veloura-el-hero-title .elementor-heading-title { font-size:clamp(3.25rem,16vw,4.8rem); }
 .veloura-el-hero-visual { min-height:500px; }
 .veloura-el-hero-campaign img { min-height:480px; border-radius:72px 4px 72px 4px; }
 .veloura-el-product-peek { right:28px; bottom:34px; left:28px; }
}

/* Animated campaign slider */
.hero-slider,.hero-slides { position:absolute; inset:0; }
.hero-slider { z-index:1; overflow:hidden; }
.hero-slide { position:absolute; inset:0; margin:0; opacity:0; visibility:hidden; transition:opacity .9s ease,visibility .9s; }
.hero-slide.is-active { opacity:1; visibility:visible; }
.hero-slide img { width:100%; height:100%; object-fit:cover; object-position:center; transform:scale(1.01); transition:transform 7s cubic-bezier(.2,.6,.2,1); }
.hero-slide:first-child img { object-position:52% center; }
.hero-slide:nth-child(2) img { object-position:center 30%; }
.hero-slide:nth-child(3) img { object-position:center 26%; }
.hero-slide.is-active img { transform:scale(1.075); }
.hero-slider-controls { position:absolute; z-index:5; top:32px; left:32px; display:flex; align-items:center; gap:11px; padding:8px 10px; border:1px solid rgba(255,255,255,.44); border-radius:999px; background:rgba(53,16,21,.68); color:#fff; backdrop-filter:blur(12px); }
.hero-slider-controls > button { width:30px; height:30px; display:grid; place-items:center; padding:0; border:0; border-radius:50%; background:transparent; color:#fff; cursor:pointer; transition:background .2s,transform .2s; }
.hero-slider-controls > button:hover { background:rgba(255,255,255,.16); transform:scale(1.06); }
.hero-slider-dots { display:flex; align-items:center; gap:6px; }
.hero-slider-dots button { width:6px; height:6px; padding:0; border:0; border-radius:99px; background:rgba(255,255,255,.42); cursor:pointer; transition:width .3s,background .3s; }
.hero-slider-dots button.is-active { width:22px; background:#fff; }
.hero-spotlight { animation:velouraFloat 4.8s ease-in-out infinite; }
.hero-luxe .hero-copy > * { animation:velouraCopyIn .75s both; }
.hero-luxe .hero-copy > *:nth-child(2) { animation-delay:.08s; }
.hero-luxe .hero-copy > *:nth-child(3) { animation-delay:.15s; }
.hero-luxe .hero-copy > *:nth-child(4) { animation-delay:.22s; }
.hero-luxe .hero-copy > *:nth-child(5) { animation-delay:.29s; }
.hero-luxe .hero-copy > *:nth-child(6) { animation-delay:.36s; }
@keyframes velouraFloat { 0%,100%{ transform:translateY(0) } 50%{ transform:translateY(-8px) } }
@keyframes velouraCopyIn { from{ opacity:0; transform:translateY(18px) } to{ opacity:1; transform:none } }
@media(max-width:560px){
 .hero-slider-controls { top:18px; left:18px; gap:6px; padding:6px 8px; }
 .hero-slider-controls > button { width:26px; height:26px; }
 .hero-slide:first-child img { object-position:60% center; }
}

/* Razorpay / COD checkout presentation */
.veloura-payment-trust { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:0 0 20px; padding:14px 16px; border:1px solid var(--line); background:var(--paper); }
.veloura-payment-trust strong { margin-right:auto; color:var(--wine); font-family:var(--serif); font-size:1rem; font-weight:400; }
.veloura-payment-trust span { padding:5px 9px; border:1px solid var(--line); border-radius:999px; color:var(--muted); background:#fff; font-size:.62rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.woocommerce-checkout #payment ul.payment_methods li { padding:13px 0; border-bottom:1px solid rgba(29,25,23,.1); }
.woocommerce-checkout #payment ul.payment_methods li label { color:var(--ink); font-weight:750; }
.woocommerce-checkout #payment div.payment_box { border-left:3px solid var(--wine); border-radius:0; background:var(--paper); color:var(--muted); }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color:var(--paper); }
.woocommerce-checkout #payment .payment_method_razorpay label::after { display:inline-block; margin-left:8px; padding:4px 8px; border-radius:999px; background:#2d1b69; color:#fff; content:'UPI · Cards · Netbanking'; font-size:.55rem; letter-spacing:.05em; vertical-align:middle; }
.woocommerce-checkout #payment .payment_method_cod label::after { display:inline-block; margin-left:8px; padding:4px 8px; border-radius:999px; background:var(--blush-pale); color:var(--wine); content:'Pay on delivery'; font-size:.55rem; letter-spacing:.05em; vertical-align:middle; }

/* miniOrange / MSG91 phone OTP modal branding */
.mo_customer_validation-modal,
.mo_customer_validation-modal-backdrop { z-index:99998!important; }
.mo_customer_validation-modal-content,
.mo-modal-content,
.mo_customer_validation-modal .modal-content { width:min(520px,calc(100% - 28px))!important; max-width:520px!important; padding:36px clamp(22px,4vw,46px)!important; border:1px solid rgba(88,25,35,.12)!important; border-radius:72px 8px 72px 8px!important; background:var(--paper)!important; box-shadow:0 32px 90px rgba(31,10,13,.3)!important; font-family:var(--sans)!important; }
.mo_customer_validation-modal h1,
.mo_customer_validation-modal h2,
.mo_customer_validation-modal h3,
.mo-modal-content h1,
.mo-modal-content h2 { color:var(--wine)!important; font-family:var(--serif)!important; font-weight:400!important; letter-spacing:-.03em; }
.mo_customer_validation-modal input[type='text'],
.mo_customer_validation-modal input[type='tel'],
.mo_customer_validation-modal input[type='number'],
.mo-modal-content input[type='text'],
.mo-modal-content input[type='tel'] { min-height:50px!important; border:1px solid var(--line)!important; border-radius:0!important; background:#fff!important; box-shadow:none!important; }
.mo_customer_validation-modal input:focus,
.mo-modal-content input:focus { border-color:var(--wine)!important; outline:2px solid rgba(88,25,35,.08)!important; }
.mo_customer_validation-modal button,
.mo_customer_validation-modal input[type='button'],
.mo_customer_validation-modal input[type='submit'],
.mo-modal-content button { min-height:48px!important; padding:12px 22px!important; border:1px solid var(--wine)!important; border-radius:999px!important; background:var(--wine)!important; color:#fff!important; font-size:.72rem!important; font-weight:800!important; letter-spacing:.08em!important; text-transform:uppercase!important; }
.mo_customer_validation-modal .close,
.mo-modal-content .close { width:38px!important; min-height:38px!important; padding:0!important; border-radius:50%!important; }
.mo_customer_validation-modal-backdrop,
.mo-modal-backdrop { background:rgba(26,12,14,.62)!important; backdrop-filter:blur(6px); }
.iti { width:100%; }
.woocommerce-checkout .mo-otp-form,
.woocommerce-checkout [class*='otp-form'] { margin:16px 0; }
@media(max-width:560px){ .mo_customer_validation-modal-content,.mo-modal-content,.mo_customer_validation-modal .modal-content { padding:30px 20px!important; border-radius:46px 6px 46px 6px!important; } }

/* Hero section slideshow - responsive 1536x1024 (3:2) full banner without cropping on Desktop, Tablet & Mobile */
.elementor-22 .elementor-element.elementor-element-dk000108 {
  position: relative !important;
  width: 100% !important;
  max-width: 100% !important;
  --min-height: 66.6667vw !important;
  min-height: 0 !important;
  height: auto !important;
  aspect-ratio: 1536 / 1024 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
}

.elementor-22 .elementor-element.elementor-element-dk000108::after {
  content: "" !important;
  display: block !important;
  width: 100% !important;
  padding-top: 66.666667% !important;
  pointer-events: none !important;
}

.elementor-22 .elementor-element.elementor-element-dk000108 .elementor-background-slideshow__slide__image {
  width: 100% !important;
  height: 100% !important;
  background-size: 100% 100% !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
}

.elementor-22 .elementor-element.elementor-element-dk000108::before,
.elementor-22 .elementor-element.elementor-element-dk000108 > .elementor-background-slideshow::before {
  background-image: none !important;
  opacity: 0 !important;
  display: none !important;
}

@media (max-width: 1024px) {
  .elementor-22 .elementor-element.elementor-element-dk000108 {
    --min-height: 66.6667vw !important;
    min-height: 0 !important;
    height: auto !important;
    aspect-ratio: 1536 / 1024 !important;
    padding: 0 !important;
  }
  .elementor-22 .elementor-element.elementor-element-dk000108 .elementor-background-slideshow__slide__image {
    background-size: 100% 100% !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
  }
}

@media (max-width: 767px) {
  .elementor-22 .elementor-element.elementor-element-dk000108 {
    --min-height: 66.6667vw !important;
    min-height: 0 !important;
    height: auto !important;
    aspect-ratio: 1536 / 1024 !important;
    padding: 0 !important;
  }
  .elementor-22 .elementor-element.elementor-element-dk000108 .elementor-background-slideshow__slide__image {
    background-size: 100% 100% !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
  }
}

