/* RGV bundle - generated, do not edit. Sources remain on disk. */

/* ---- rgv-forms.css ---- */
/* RGV Compound - WPForms + header/footer + global polish, brand-matched. */
:root{
  --rgv-porcelain:#F2EDE2; --rgv-surface:#FDFBF5; --rgv-ink:#17130C;
  --rgv-brass:#B78F38; --rgv-brass-deep:#8E6B24; --rgv-mist:#E3DCCB;
  --rgv-grey1:#4A443A; --rgv-grey2:#6F675A; --rgv-grey3:#8A8272;
}

/* ---- Sticky header ---- */
.rgv-site-header{
  position:sticky; top:0; z-index:100;
  -webkit-backdrop-filter:saturate(120%) blur(8px); backdrop-filter:saturate(120%) blur(8px);
}

/* ---- Footer 3-column grid ---- */
@media(min-width:768px){
  .rgv-foot-cols{ display:flex; }
  .rgv-foot-cols > .e-con-inner{ display:grid !important; grid-template-columns:1.6fr 1fr 1fr; gap:40px; }
}
/* footer vertical menus: stack items */
.rgv-foot-col .xpro-elementor-horizontal-menu ul,
.rgv-foot-col ul.xpro-menu{ display:flex; flex-direction:column; gap:10px; }
.rgv-foot-col .xpro-elementor-horizontal-menu li{ margin:0 !important; }

/* ---- WPForms field styling scoped to our wrapper ---- */
.rgv-form-wrap .wpforms-form .wpforms-field{ padding:0 0 16px; }
.rgv-form-wrap .wpforms-form label.wpforms-field-label{
  font-family:"IBM Plex Mono", ui-monospace, monospace !important;
  font-size:10px !important; letter-spacing:.1em; text-transform:uppercase;
  color:var(--rgv-grey2) !important; font-weight:500 !important; margin-bottom:7px;
}
.rgv-form-wrap .wpforms-form input[type=text],
.rgv-form-wrap .wpforms-form input[type=email],
.rgv-form-wrap .wpforms-form textarea{
  width:100% !important; background:var(--rgv-surface) !important;
  border:1.5px solid var(--rgv-mist) !important; border-radius:12px !important;
  padding:13px 14px !important; font-family:"DM Sans", sans-serif !important;
  font-size:15px !important; color:var(--rgv-ink) !important; box-shadow:none !important;
  transition:border-color .14s ease;
}
.rgv-form-wrap .wpforms-form textarea{ min-height:130px !important; resize:vertical; }
.rgv-form-wrap .wpforms-form input:focus,
.rgv-form-wrap .wpforms-form textarea:focus{
  outline:none !important; border-color:var(--rgv-brass) !important;
}
.rgv-form-wrap .wpforms-form ::placeholder{ color:var(--rgv-grey3) !important; opacity:1; }
.rgv-form-wrap .wpforms-form .wpforms-required-label{ color:var(--rgv-brass-deep) !important; }

/* Submit button -> primary ink button */
.rgv-form-wrap .wpforms-form button[type=submit],
.rgv-form-wrap .wpforms-form .wpforms-submit{
  background:var(--rgv-ink) !important; color:var(--rgv-porcelain) !important;
  border:none !important; border-radius:14px !important;
  font-family:"DM Sans", sans-serif !important; font-weight:700 !important; font-size:15px !important;
  padding:15px 26px !important; cursor:pointer; width:100%; letter-spacing:.01em;
  transition:opacity .14s ease;
}
.rgv-form-wrap .wpforms-form button[type=submit]:hover,
.rgv-form-wrap .wpforms-form .wpforms-submit:hover{ background:var(--rgv-brass-deep) !important; }

/* WPForms confirmation message */
.rgv-form-wrap .wpforms-confirmation-container-full{
  background:var(--rgv-surface) !important; border:1.5px solid var(--rgv-mist) !important;
  border-radius:12px !important; color:var(--rgv-ink) !important;
  font-family:"DM Sans", sans-serif !important;
}

/* ---- Global polish ---- */
body{ -webkit-font-smoothing:antialiased; }
.elementor-accordion .elementor-tab-title{ font-family:"DM Sans", sans-serif; }


/* ============ SHOP GRID (Xpro Woo Product Grid) ============ */
.rgv-shop-grid .xpro-woo-product-grid-item{
  background:var(--rgv-surface); border-radius:12px; overflow:hidden;
  transition:border-color .14s ease, transform .1s ease;
}
.rgv-shop-grid .xpro-woo-product-grid-item:hover{ border-color:var(--rgv-brass) !important; transform:translateY(-1px); }
/* image frame: show WHOLE image, no zoom/crop, sharp */
.rgv-shop-grid .xpro-woo-product-grid-img-section{ background:var(--rgv-mist-soft); aspect-ratio:4 / 5; width:100%; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.rgv-shop-grid img.xpro-product-img-url{ width:100% !important; height:100% !important; object-fit:contain !important; object-position:center; padding:10px; image-rendering:auto; }
.rgv-shop-grid .xpro-woo-product-grid-content-sec{ padding:18px 18px 20px; }
.rgv-shop-grid .xpro-woo-product-grid-title{ font-family:"Bodoni Moda",serif !important; text-transform:uppercase; }
.rgv-shop-grid .xpro-woo-product-grid-title a{ color:var(--rgv-ink) !important; }
.rgv-shop-grid .xpro-woo-product-grid-title a:hover{ color:var(--rgv-brass-deep) !important; }
.rgv-shop-grid .price, .rgv-shop-grid .woocommerce-Price-amount{ color:var(--rgv-ink) !important; font-family:"DM Sans",sans-serif !important; font-weight:700; }
.rgv-shop-grid del .woocommerce-Price-amount{ color:var(--rgv-grey3) !important; font-weight:400; }
.rgv-shop-grid ins .woocommerce-Price-amount{ color:var(--rgv-brass-deep) !important; }
/* add to cart button */
.rgv-shop-grid .xpro-woo-add-to-cart a,
.rgv-shop-grid .button.add_to_cart_button,
.rgv-shop-grid a.added_to_cart{
  background:var(--rgv-ink) !important; color:var(--rgv-porcelain) !important;
  border:none !important; border-radius:12px !important; font-family:"DM Sans",sans-serif !important;
  font-weight:700 !important; font-size:13px !important; padding:12px 18px !important; letter-spacing:.01em; text-transform:none !important;
  transition:background .14s ease;
}
.rgv-shop-grid .xpro-woo-add-to-cart a:hover,
.rgv-shop-grid .button.add_to_cart_button:hover{ background:var(--rgv-brass-deep) !important; color:var(--rgv-porcelain) !important; }

/* ============ WOOCOMMERCE SINGLE PRODUCT ============ */
.woocommerce div.product .product_title{ font-family:"Bodoni Moda",serif !important; text-transform:uppercase; color:var(--rgv-ink) !important; letter-spacing:.01em; }
.woocommerce div.product p.price, .woocommerce div.product span.price,
.woocommerce div.product .woocommerce-Price-amount{ color:var(--rgv-ink) !important; font-family:"DM Sans",sans-serif !important; font-weight:700; }
.woocommerce div.product .woocommerce-product-details__short-description{ color:var(--rgv-grey1); font-family:"DM Sans",sans-serif; }
.woocommerce .quantity .qty{ border:1.5px solid var(--rgv-mist) !important; border-radius:12px !important; background:var(--rgv-surface) !important; color:var(--rgv-ink); font-family:"DM Sans",sans-serif; }
.woocommerce div.product form.cart .button,
.woocommerce div.product .single_add_to_cart_button{
  background:var(--rgv-ink) !important; color:var(--rgv-porcelain) !important; border:none !important;
  border-radius:14px !important; font-family:"DM Sans",sans-serif !important; font-weight:700 !important;
  padding:15px 28px !important; letter-spacing:.01em; text-transform:none !important; transition:background .14s ease;
}
.woocommerce div.product form.cart .button:hover,
.woocommerce div.product .single_add_to_cart_button:hover{ background:var(--rgv-brass-deep) !important; }
/* variation dropdowns */
.woocommerce div.product form.cart .variations select{
  border:1.5px solid var(--rgv-mist) !important; border-radius:12px !important; background:var(--rgv-surface) !important;
  padding:12px 14px !important; font-family:"DM Sans",sans-serif !important; color:var(--rgv-ink) !important;
}
.woocommerce div.product form.cart .variations select:focus{ outline:none; border-color:var(--rgv-brass) !important; }
.woocommerce div.product form.cart .variations label{ font-family:"IBM Plex Mono",monospace !important; text-transform:uppercase; font-size:11px; letter-spacing:.08em; color:var(--rgv-grey2) !important; }
/* tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{ border-bottom-color:var(--rgv-brass) !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a{ font-family:"IBM Plex Mono",monospace !important; text-transform:uppercase; font-size:12px; letter-spacing:.06em; color:var(--rgv-grey2); }
.woocommerce div.product .woocommerce-tabs h2, .woocommerce div.product .woocommerce-tabs h3{ font-family:"Bodoni Moda",serif !important; text-transform:uppercase; color:var(--rgv-ink); }
.woocommerce span.onsale{ background:var(--rgv-brass) !important; color:var(--rgv-ink) !important; font-family:"IBM Plex Mono",monospace; font-size:10px; letter-spacing:.06em; border-radius:8px; }
/* related products headings */
.woocommerce .related > h2, .woocommerce .upsells > h2{ font-family:"Bodoni Moda",serif !important; text-transform:uppercase; color:var(--rgv-ink); }
/* woocommerce notices -> brand */
.woocommerce-message, .woocommerce-info{ border-top-color:var(--rgv-brass) !important; background:var(--rgv-surface) !important; color:var(--rgv-ink); font-family:"DM Sans",sans-serif; }
.woocommerce-message a.button, .woocommerce-info a.button{ background:var(--rgv-ink) !important; color:var(--rgv-porcelain) !important; border-radius:12px !important; }


/* ============ HOMEPAGE V2 (image-rich) ============ */
/* Image tiles: contain image, no crop, on porcelain */
.rgv-img-tile img{ width:100% !important; height:auto !important; object-fit:contain !important; display:block; margin:0 auto; }
.rgv-hero-tile{ min-height:420px; }
.rgv-hero-tile img, .rgv-benefit-tile img{ max-height:440px; width:auto !important; object-fit:contain !important; }
/* Hero split: text 1.1fr, image 0.9fr on desktop */
@media(min-width:1025px){
  .rgv-hero-split > .e-con-inner, .rgv-hero-split{ }
  .rgv-hero-split .rgv-hero-left{ flex:1.1 1 0; }
  .rgv-hero-split .rgv-hero-tile{ flex:0.9 1 0; }
  .rgv-benefits-split .rgv-benefit-tile{ flex:0.9 1 0; }
  .rgv-benefits-split .rgv-hero-left{ flex:1.1 1 0; }
}
/* Featured products grid (homepage) reuse shop styling */
.rgv-featured-grid img.xpro-product-img-url{ width:100% !important; height:100% !important; object-fit:contain !important; padding:10px; }
.rgv-featured-grid .xpro-woo-product-grid-img-section{ background:var(--rgv-mist-soft); aspect-ratio:4 / 5; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.rgv-featured-grid .xpro-woo-product-grid-item{ background:var(--rgv-surface); border-radius:12px; overflow:hidden; transition:border-color .14s ease, transform .1s ease; }
.rgv-featured-grid .xpro-woo-product-grid-item:hover{ border-color:var(--rgv-brass) !important; transform:translateY(-1px); }
.rgv-featured-grid .xpro-woo-product-grid-content-sec{ padding:16px 16px 18px; }
.rgv-featured-grid .xpro-woo-product-grid-title{ font-family:"Bodoni Moda",serif !important; text-transform:uppercase; }
.rgv-featured-grid .xpro-woo-product-grid-title a{ color:var(--rgv-ink) !important; }
.rgv-featured-grid .price, .rgv-featured-grid .woocommerce-Price-amount{ color:var(--rgv-ink) !important; font-family:"DM Sans",sans-serif !important; font-weight:700; }
.rgv-featured-grid ins .woocommerce-Price-amount{ color:var(--rgv-brass-deep) !important; }
.rgv-featured-grid del .woocommerce-Price-amount{ color:var(--rgv-grey3) !important; font-weight:400; }
.rgv-featured-grid .xpro-woo-add-to-cart a, .rgv-featured-grid .button.add_to_cart_button{ background:var(--rgv-ink) !important; color:var(--rgv-porcelain) !important; border:none !important; border-radius:12px !important; font-family:"DM Sans",sans-serif !important; font-weight:700 !important; font-size:13px !important; padding:11px 16px !important; text-transform:none !important; }
.rgv-featured-grid .xpro-woo-add-to-cart a:hover, .rgv-featured-grid .button.add_to_cart_button:hover{ background:var(--rgv-brass-deep) !important; }
/* COA band image tile inside dark band */
.rgv-coa-tile{ background:rgba(255,255,255,0.04) !important; border-color:rgba(255,255,255,0.14) !important; }
/* Promo bar */
.rgv-promo-bar{ text-align:center; }


/* ============ SCROLL REVEAL + LOGO ============ */
.rgv-logo img{ display:block; height:auto; }
@media (prefers-reduced-motion: no-preference){
  html{ scroll-behavior:smooth; }
  .rgv-reveal{ opacity:0; transform:translateY(22px); transition:opacity .7s cubic-bezier(.16,.7,.3,1), transform .7s cubic-bezier(.16,.7,.3,1); will-change:opacity, transform; }
  .rgv-reveal.rgv-revealed{ opacity:1; transform:none; }
}
@media (prefers-reduced-motion: reduce){
  .rgv-reveal{ opacity:1 !important; transform:none !important; }
}


/* ============ DARK FRAMED HERO ============ */
.rgv-hero-outer{ background:#0D0B07 !important; }
.rgv-hero-imgslot{ aspect-ratio:3/4; }
@media(max-width:1024px){
  .rgv-hero-split{ min-height:0 !important; }
  .rgv-hero-right{ border-left:none !important; border-top:1px solid rgba(183,143,56,0.16) !important; padding:34px 20px !important; }
  .rgv-hero-imgslot{ width:70% !important; min-height:280px !important; }
}


/* ============ DARK THEME — sections, featured grid, faq, shop ============ */
.rgv-dark-section .rgv-dslot{ aspect-ratio:3/4; }
@media(max-width:1024px){
  .rgv-ben-split, .rgv-coa-frame .e-con{ }
  .rgv-ben-left{ margin-bottom:24px; }
}
/* Featured product grid on dark */
.rgv-dfeatured .xpro-woo-product-grid-item{ background:#1A1509; border-radius:8px; overflow:hidden; transition:border-color .18s ease, transform .18s ease; }
.rgv-dfeatured .xpro-woo-product-grid-item:hover{ border-color:#B78F38 !important; transform:translateY(-2px); }
.rgv-dfeatured .xpro-woo-product-grid-img-section{ background:#0F0C07; aspect-ratio:4/5; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.rgv-dfeatured img.xpro-product-img-url{ width:100% !important; height:100% !important; object-fit:contain !important; padding:14px; }
.rgv-dfeatured .xpro-woo-product-grid-content-sec{ padding:16px 16px 18px; }
.rgv-dfeatured .xpro-woo-product-grid-title a{ color:#F5F0E6 !important; }
.rgv-dfeatured .price, .rgv-dfeatured .woocommerce-Price-amount{ color:#F5F0E6 !important; }
.rgv-dfeatured ins .woocommerce-Price-amount{ color:#C99F44 !important; }
.rgv-dfeatured del .woocommerce-Price-amount{ color:#8A8272 !important; }
/* Dark FAQ accordion */
.rgv-dfaq .elementor-accordion .elementor-tab-title, .rgv-dfaq .elementor-accordion .elementor-tab-content{ background:transparent !important; }
.rgv-dfaq .elementor-accordion .elementor-accordion-item{ border-color:rgba(183,143,56,0.16) !important; }
.rgv-dfaq .elementor-tab-title a, .rgv-dfaq .elementor-tab-title{ color:#F5F0E6 !important; font-family:"DM Sans",sans-serif; }
.rgv-dfaq .elementor-tab-content{ color:#A59D8B !important; }


/* ============ INTERIOR PAGES → DARK & READABLE (exclude homepage) ============ */
body:not(.home).page{ background:#0D0B07; }
/* Give interior page content a comfortable dark reading canvas */
body:not(.home).page .elementor-widget-heading .elementor-heading-title{ color:#F5F0E6 !important; }
body:not(.home).page .elementor-widget-text-editor{ color:#B8AF9C !important; }
body:not(.home).page .elementor-widget-text-editor p{ color:#B8AF9C !important; }
/* eyebrows / mono labels stay gold-ish */
body:not(.home).page .elementor-widget-heading .elementor-heading-title[style*="8A8272"],
body:not(.home).page .elementor-widget-heading .elementor-heading-title[style*="6F675A"]{ color:#9A7B33 !important; }
/* Cards / surface panels -> dark */
body:not(.home).page [style*="background-color:#FDFBF5"],
body:not(.home).page [style*="background-color:#F2EDE2"],
body:not(.home).page [style*="background-color:#EEE8D8"]{ background-color:#1A1509 !important; }
/* Borders mist -> gold-dim */
body:not(.home).page [style*="border-color:#E3DCCB"]{ border-color:rgba(183,143,56,0.2) !important; }
/* Links -> gold */
body:not(.home):not(.rgv-thankyou):not(.rgv-focus-checkout).page a:not([class*="btn"]):not([class*="button"]){ color:#C99F44 !important; }
body:not(.home):not(.rgv-thankyou):not(.rgv-focus-checkout).page a:not(.elementor-button):not(.button)[style*="border-bottom"]{ border-color:#B78F38 !important; }
/* Prose list bullets already brass; keep. Callout box dark: */
body:not(.home).page .prose, body:not(.home).page .callout{ }
/* Buttons: ink primary would vanish on dark; make ghost/ink readable */
body:not(.home).page .elementor-button{ }
/* Preview note left-border keeps gold */


/* ============ INTERIOR DARK — form, cards, callouts, buttons ============ */
/* WPForms on dark */
body:not(.home).page .wpforms-form input[type=text], body:not(.home).page .wpforms-form input[type=email], body:not(.home).page .wpforms-form textarea{ background:#1A1509 !important; border-color:rgba(183,143,56,0.28) !important; color:#F5F0E6 !important; }
body:not(.home).page .wpforms-form ::placeholder{ color:#7a6f52 !important; }
body:not(.home).page .wpforms-form label.wpforms-field-label{ color:#9A7B33 !important; }
body:not(.home).page .wpforms-form button[type=submit], body:not(.home).page .wpforms-form .wpforms-submit{ background:#B78F38 !important; color:#141109 !important; }
body:not(.home).page .wpforms-form button[type=submit]:hover{ background:#C99F44 !important; }
/* Support block + COA cards (they had surface bg via container) */
body:not(.home).page .e-con[style]{ }
/* Ink primary buttons on dark pages -> gold so they show */
body:not(.home).page .elementor-button{ background-color:#B78F38 !important; color:#141109 !important; text-decoration:none !important; }
body:not(.home).page .elementor-button:hover{ background-color:#C99F44 !important; color:#141109 !important; }
/* But ghost buttons (transparent) keep light text */
body:not(.home).page .elementor-button[style*="background:transparent"], body:not(.home).page .elementor-button[style*="rgba(0,0,0,0)"]{ background:transparent !important; color:#F5F0E6 !important; border-color:rgba(183,143,56,0.4) !important; }
/* Prose bullet text readable */
body:not(.home).page .prose li, body:not(.home).page .prose p{ color:#B8AF9C !important; }
body:not(.home).page .prose h3{ color:#F5F0E6 !important; }


/* ============ FIX PACK ============ */
/* 1. Remove the stray theme page title (every page has its own Elementor header) */
.page-header{ display:none !important; }
.entry-title:not(.product_title){ display:none !important; }

/* 8. Dark mobile menu flyout (Xpro horizontal menu responsive panel) */
.xpro-elementor-horizontal-menu-responsive-tablet .xpro-elementor-horizontal-menu-nav,
.xpro-elementor-horizontal-menu-responsive-mobile .xpro-elementor-horizontal-menu-nav,
.xpro-menu-responsive-wrapper, .xpro-elementor-dropdown, ul.xpro-elementor-horizontal-menu.xpro-menu-open,
.xpro-elementor-horizontal-navbar-wrapper .xpro-menu-responsive, .xpro-elementor-menu-responsive-menu{ background:#141109 !important; }
.rgv-site-header .xpro-elementor-horizontal-menu ul, .rgv-site-header .xpro-menu-responsive ul{ background:#141109 !important; }
.rgv-site-header .xpro-menu-responsive a, .rgv-site-header .xpro-elementor-horizontal-menu-responsive-tablet a{ color:#C7BFAD !important; border-color:rgba(183,143,56,0.14) !important; }
.rgv-site-header .xpro-menu-responsive a:hover{ color:#F5F0E6 !important; background:rgba(183,143,56,0.08) !important; }
.rgv-site-header .xpro-menu-toggle, .rgv-site-header .xpro-menu-close, .rgv-site-header .xpro-elementor-menu-toggle-icon{ color:#F5F0E6 !important; }
.rgv-site-header .xpro-elementor-horizontal-navbar-wrapper .xpro-menu-icon, .rgv-site-header i.xpro-menu-bar{ color:#F5F0E6 !important; }

/* 4. Research Use Disclaimer white callout -> dark */
body:not(.home).page .callout{ background:#1A1509 !important; border-color:rgba(183,143,56,0.2) !important; }
body:not(.home).page .callout p{ color:#D8D0BE !important; }

/* 5. Shop page product names readable + featured-style cards */
.rgv-shop-grid .xpro-woo-product-grid-item, body.woocommerce ul.products li.product{ background:#1A1509 !important; border:1px solid rgba(183,143,56,0.16) !important; border-radius:8px !important; overflow:hidden; transition:border-color .18s ease, transform .18s ease; }
.rgv-shop-grid .xpro-woo-product-grid-item:hover{ border-color:#B78F38 !important; transform:translateY(-2px); }
.rgv-shop-grid .xpro-woo-product-grid-title, .rgv-shop-grid .xpro-woo-product-grid-title a{ color:#F5F0E6 !important; font-family:"Bodoni Moda",serif !important; }
.rgv-shop-grid .xpro-woo-product-grid-title a:hover{ color:#C99F44 !important; }
.rgv-shop-grid .xpro-woo-product-grid-img-section{ background:#0F0C07 !important; }


/* ============ FAQ PANEL + REVIEWS BOX polish ============ */
.rgv-faq-panel{ max-width:760px; }
/* reviews grid: right-edge divider off on last col, bottom divider between rows */
.rgv-rev-grid > .rgv-rev-cell{ border-bottom:1px solid rgba(183,143,56,0.16) !important; }
@media(min-width:1025px){
  .rgv-rev-grid > .rgv-rev-cell:nth-child(3n){ border-right:none !important; }
  .rgv-rev-grid > .rgv-rev-cell:nth-child(n+4){ }
  .rgv-rev-grid > .rgv-rev-cell:nth-last-child(-n+3){ border-bottom:none !important; }
}
@media(min-width:768px) and (max-width:1024px){
  .rgv-rev-grid > .rgv-rev-cell:nth-child(2n){ border-right:none !important; }
  .rgv-rev-grid > .rgv-rev-cell:nth-last-child(-n+2){ border-bottom:none !important; }
}
@media(max-width:767px){
  .rgv-rev-grid > .rgv-rev-cell{ border-right:none !important; }
  .rgv-rev-grid > .rgv-rev-cell:last-child{ border-bottom:none !important; }
  .rgv-rev-box{ }
}
.rgv-rev-cell{ transition:background-color .18s ease; }
.rgv-rev-cell:hover{ background:rgba(183,143,56,0.03); }


/* ============ FAQ SPLIT (image left / accordion right) ============ */
@media(min-width:1025px){
  .rgv-faq-split{ align-items:stretch; }
  .rgv-faq-split .rgv-faq-left{ flex:0.82 1 0; display:flex; }
  .rgv-faq-split .rgv-faq-right{ flex:1.18 1 0; }
  .rgv-faq-left .rgv-faq-imgbox{ flex:1 1 auto; min-height:100% !important; }
}
@media(max-width:1024px){
  .rgv-faq-left .rgv-faq-imgbox{ min-height:260px !important; aspect-ratio:4/3; }
  .rgv-faq-left{ margin-bottom:8px; }
}


/* ============ MOBILE MENU FLYOUT — kill the white flash ============ */
@media(max-width:1024px){
  /* the sliding panel itself + its backdrop */
  .xpro-elementor-horizontal-menu-responsive-tablet .xpro-elementor-horizontal-navbar,
  .xpro-elementor-horizontal-menu-responsive-mobile .xpro-elementor-horizontal-navbar,
  .xpro-elementor-horizontal-navbar-wrapper.xpro-menu-open .xpro-elementor-horizontal-navbar,
  .xpro-elementor-horizontal-navbar{ background-color:#141109 !important; }
  .xpro-elementor-horizontal-navbar-nav{ background-color:#141109 !important; }
  /* backdrop overlay behind panel */
  .xpro-elementor-horizontal-menu-overlay, .xpro-menu-overlay, .xpro-elementor-menu-backdrop{ background-color:rgba(13,11,7,0.85) !important; }
  /* the whole wrapper while open (prevents white behind) */
  .xpro-elementor-horizontal-navbar-wrapper{ background:transparent !important; }
  body .xpro-elementor-horizontal-navbar *{ background-color:transparent; }
  body .xpro-elementor-horizontal-navbar{ background-color:#141109 !important; }
  .xpro-elementor-horizontal-navbar-nav .nav-item{ border-bottom:1px solid rgba(183,143,56,0.12) !important; }
  .xpro-elementor-horizontal-navbar-nav .xpro-elementor-nav-link{ color:#D8D0BE !important; padding:16px 24px !important; }
  .xpro-elementor-horizontal-navbar-nav .xpro-elementor-nav-link:hover{ color:#F5F0E6 !important; }
  .xpro-elementor-horizontal-menu-close{ color:#F5F0E6 !important; }
  .xpro-elementor-horizontal-menu-close i{ color:#F5F0E6 !important; }
}


/* ============ MOBILE REVIEWS + FAQ polish ============ */
@media(max-width:767px){
  /* reviews box: single column, clean dividers only between cells */
  .rgv-rev-box{ border-radius:12px !important; }
  .rgv-rev-grid{ display:block !important; }
  .rgv-rev-grid > .rgv-rev-cell{ border-right:none !important; border-bottom:1px solid rgba(183,143,56,0.16) !important; padding:22px 22px !important; }
  .rgv-rev-grid > .rgv-rev-cell:last-child{ border-bottom:none !important; }
  /* review box header: stack title over rating cleanly */
  .rgv-rev-box .e-con[style]:first-child, .rgv-rev-box > .e-con-inner > .e-con:first-child{ }
  /* section side padding on mobile so boxes are not edge-to-edge */
  .rgv-dark-section > .e-con-inner{ padding-left:18px !important; padding-right:18px !important; }
  /* FAQ image box reasonable height on mobile */
  .rgv-faq-left .rgv-faq-imgbox{ min-height:220px !important; }
  /* section vertical padding tighter on mobile */
  .rgv-dark-section{ padding-top:56px !important; padding-bottom:56px !important; }
  /* hero frame padding tighter */
  .rgv-hero-outer{ padding-left:14px !important; padding-right:14px !important; }
  /* headings scale down a touch on mobile */
  .rgv-dark-section h2.elementor-heading-title{ font-size:27px !important; }
}
@media(max-width:480px){
  .rgv-hero-split h1.elementor-heading-title{ font-size:34px !important; }
}


/* ============ CONTACT PAGE two-column ============ */
@media(min-width:1025px){
  .rgv-contact-row{ align-items:stretch !important; }
  .rgv-contact-row .rgv-contact-left{ flex:0.9 1 0 !important; }
  .rgv-contact-row .rgv-contact-right{ flex:1.1 1 0 !important; }
}
/* subtle radial glow behind the top heading */
.rgv-contact-top{ background:radial-gradient(120% 100% at 70% 0%, rgba(183,143,56,0.10) 0%, rgba(20,17,9,0) 55%), #141109 !important; }
/* WPForms inside the right card: Name + Email side by side */
.rgv-contact-right .wpforms-form .wpforms-field-container{ display:grid; grid-template-columns:1fr 1fr; gap:0 18px; }
.rgv-contact-right .wpforms-form .wpforms-field-name{ grid-column:1; }
.rgv-contact-right .wpforms-form .wpforms-field-email{ grid-column:2; }
.rgv-contact-right .wpforms-form .wpforms-field-textarea{ grid-column:1 / -1; }
.rgv-contact-right .wpforms-form .wpforms-submit-container{ grid-column:1 / -1; }
@media(max-width:600px){ .rgv-contact-right .wpforms-form .wpforms-field-container{ grid-template-columns:1fr; } }
/* field styling (in case not covered) */
.rgv-contact-right .wpforms-form label.wpforms-field-label{ font-family:"IBM Plex Mono",monospace !important; font-size:10px !important; letter-spacing:.1em; text-transform:uppercase; color:#9A7B33 !important; font-weight:500 !important; margin-bottom:7px; }
.rgv-contact-right .wpforms-form input[type=text], .rgv-contact-right .wpforms-form input[type=email], .rgv-contact-right .wpforms-form textarea{ background:#0F0C07 !important; border:1.5px solid rgba(183,143,56,0.28) !important; border-radius:12px !important; color:#F5F0E6 !important; padding:13px 14px !important; font-family:"DM Sans",sans-serif !important; font-size:15px !important; }
.rgv-contact-right .wpforms-form input:focus, .rgv-contact-right .wpforms-form textarea:focus{ border-color:#B78F38 !important; outline:none !important; }
.rgv-contact-right .wpforms-form ::placeholder{ color:#6b5f43 !important; }
.rgv-contact-right .wpforms-form textarea{ min-height:150px !important; }
.rgv-contact-right .wpforms-form button[type=submit]{ background:#C6A044 !important; color:#141109 !important; border:none !important; border-radius:12px !important; font-family:"DM Sans",sans-serif !important; font-weight:700 !important; font-size:16px !important; padding:16px 30px !important; width:100%; transition:background .18s ease; }
.rgv-contact-right .wpforms-form button[type=submit]:hover{ background:#D8B255 !important; }

/* ============ HERO v3 PRODUCT-LED (mobile-first) ============ */
/* trust chips */
.rgv-trust-chips{ gap:8px !important; }
/* DESKTOP: photo on right, contained */
@media(min-width:1025px){
  .rgv-hero-split .rgv-hero-left{ flex:1.15 1 0; }
  .rgv-hero-split .rgv-hero-right{ flex:0.85 1 0; }
  .rgv-hero-photo img{ max-height:420px; width:auto; object-fit:contain; }
}
/* MOBILE: product image becomes a right-anchored backdrop behind the text */
@media(max-width:1024px){
  .rgv-hero-split{ position:relative !important; min-height:0 !important; overflow:hidden; }
  /* hide the separate image column; use it as background instead */
  .rgv-hero-split .rgv-hero-right{ display:none !important; }
  .rgv-hero-split{ background:linear-gradient(180deg, rgba(20,17,9,0.55) 0%, rgba(15,12,7,0.85) 70%, #0f0c07 100%), url("https://rgvcompound.com/wp-content/uploads/2026/07/GLP-3R-10-819x1024.webp") !important; background-size:auto 100%, cover !important; background-position:center right, center right !important; background-repeat:no-repeat, no-repeat !important; }
  .rgv-hero-split .rgv-hero-left{ padding:36px 24px 34px 24px !important; position:relative; z-index:2; }
  .rgv-hero-split h1.elementor-heading-title{ font-size:34px !important; line-height:1.04 !important; }
  .rgv-trust-chips{ margin-top:22px !important; }
}
@media(max-width:480px){
  .rgv-hero-split h1.elementor-heading-title{ font-size:31px !important; }
  .rgv-hero-split .rgv-hero-left{ padding:30px 20px 30px 20px !important; }
}





/* ============ SINGLE PRODUCT PAGE — dark theme colors ============ */
.woocommerce div.product .product_title, .single-product .product_title{ color:#F5F0E6 !important; }
/* price */
.woocommerce div.product p.price, .woocommerce div.product span.price, .single-product .price, .single-product .price .woocommerce-Price-amount{ color:#C99F44 !important; font-weight:700 !important; }
.woocommerce div.product del .woocommerce-Price-amount{ color:#8A8272 !important; }
/* short + full description */
.woocommerce div.product .woocommerce-product-details__short-description, .woocommerce-product-details__short-description p, .single-product .woocommerce-Tabs-panel p, .woocommerce-tabs .panel p, .single-product #tab-description p{ color:#C7BFAD !important; }
/* description heading / tab labels */
.woocommerce-tabs .panel h2, .woocommerce div.product .woocommerce-tabs h2, .woocommerce-tabs ul.tabs li a{ color:#F5F0E6 !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a{ color:#B8AF9C !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{ color:#F5F0E6 !important; }
/* any stray dark body text on product page */
.single-product .site-main, .single-product .product{ color:#C7BFAD; }
.single-product h1, .single-product h2, .single-product h3{ color:#F5F0E6 !important; }

/* ---- RELATED PRODUCTS: fix pink names, add readable prices ---- */
.woocommerce .related.products h2, .woocommerce .upsells.products h2{ color:#F5F0E6 !important; }
.woocommerce .related.products ul.products li.product, .woocommerce ul.products li.product{ background:#161109 !important; border:1px solid rgba(183,143,56,0.18) !important; border-radius:12px !important; padding:12px !important; overflow:hidden; }
.woocommerce .related.products ul.products li.product a, .woocommerce ul.products li.product a{ color:#F5F0E6 !important; }
.woocommerce .related.products ul.products li.product .woocommerce-loop-product__title, .woocommerce ul.products li.product h2, .woocommerce ul.products li.product .woocommerce-loop-product__title{ color:#F5F0E6 !important; font-family:"DM Sans",sans-serif !important; font-weight:600 !important; font-size:15px !important; padding:8px 0 4px !important; }
.woocommerce .related.products ul.products li.product .price, .woocommerce ul.products li.product .price, .woocommerce ul.products li.product .price .woocommerce-Price-amount{ color:#C99F44 !important; font-weight:700 !important; display:block !important; visibility:visible !important; }
.woocommerce ul.products li.product del .woocommerce-Price-amount{ color:#8A8272 !important; font-weight:400; }
/* select options / add to cart buttons on loop */
.woocommerce ul.products li.product .button, .woocommerce .related.products .button{ background:#B78F38 !important; color:#141109 !important; border:none !important; border-radius:10px !important; font-weight:700 !important; text-transform:none !important; margin-top:8px !important; }
.woocommerce ul.products li.product .button:hover{ background:#C99F44 !important; }
/* onsale badge gold */
.woocommerce span.onsale{ background:#B78F38 !important; color:#141109 !important; }
/* variation dropdowns + quantity on dark */
.woocommerce div.product form.cart .variations select, .woocommerce .quantity .qty{ background:#0F0C07 !important; color:#F5F0E6 !important; border:1.5px solid rgba(183,143,56,0.28) !important; border-radius:10px !important; }
.woocommerce div.product form.cart .variations label{ color:#C99F44 !important; }
.woocommerce div.product form.cart .single_add_to_cart_button, .woocommerce div.product .single_add_to_cart_button{ background:#C6A044 !important; color:#141109 !important; border:none !important; border-radius:10px !important; font-weight:700 !important; }
.woocommerce div.product form.cart .single_add_to_cart_button:hover{ background:#D8B255 !important; }

/* ============ SINGLE PRODUCT — price, SKU/cats, tabs (all products) ============ */
/* summary price: current + strikethrough both readable */
.woocommerce div.product .summary .price, .woocommerce div.product .summary .price .woocommerce-Price-amount, .woocommerce div.product .summary .price ins .woocommerce-Price-amount, .woocommerce div.product p.price ins .woocommerce-Price-amount{ color:#C99F44 !important; font-weight:700 !important; }
.woocommerce div.product .summary .price del .woocommerce-Price-amount, .woocommerce div.product p.price del .woocommerce-Price-amount{ color:#8A8272 !important; font-weight:400 !important; }
.woocommerce div.product .summary .price ins{ text-decoration:none !important; }
/* SKU + Categories line: label muted, links gold (not orange) */
.woocommerce div.product .product_meta{ color:#8A8272 !important; border-top:1px solid rgba(183,143,56,0.14); padding-top:14px; margin-top:16px; }
.woocommerce div.product .product_meta .sku_wrapper, .woocommerce div.product .product_meta .posted_in, .woocommerce div.product .product_meta .tagged_as{ color:#8A8272 !important; }
.woocommerce div.product .product_meta .sku{ color:#C7BFAD !important; }
.woocommerce div.product .product_meta a{ color:#C99F44 !important; }
.woocommerce div.product .product_meta a:hover{ color:#E0B85A !important; }
/* TABS: dark bar, gold active, no white boxes */
.woocommerce div.product .woocommerce-tabs ul.tabs{ border:none !important; padding:0 !important; margin:0 0 4px !important; display:flex; flex-wrap:wrap; gap:6px; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before{ display:none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li{ background:#161109 !important; border:1px solid rgba(183,143,56,0.2) !important; border-radius:10px !important; margin:0 !important; padding:0 !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after{ display:none !important; border:none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a{ color:#B8AF9C !important; font-family:"DM Sans",sans-serif !important; font-weight:600 !important; padding:11px 18px !important; display:block; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{ background:#B78F38 !important; border-color:#B78F38 !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{ color:#141109 !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li:hover:not(.active){ border-color:rgba(183,143,56,0.5) !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li:hover:not(.active) a{ color:#F5F0E6 !important; }
/* tab panel content */
.woocommerce div.product .woocommerce-Tabs-panel{ color:#C7BFAD !important; padding-top:18px !important; }
.woocommerce div.product .woocommerce-Tabs-panel h2, .woocommerce div.product .woocommerce-Tabs-panel h3{ color:#F5F0E6 !important; }
.woocommerce div.product .woocommerce-Tabs-panel p, .woocommerce div.product .woocommerce-Tabs-panel li, .woocommerce div.product .woocommerce-Tabs-panel td, .woocommerce div.product .woocommerce-Tabs-panel th{ color:#C7BFAD !important; }
/* additional info table borders on dark */
.woocommerce div.product .woocommerce-product-attributes, .woocommerce table.shop_attributes{ color:#C7BFAD !important; }
.woocommerce table.shop_attributes th, .woocommerce table.shop_attributes td{ border-color:rgba(183,143,56,0.14) !important; background:transparent !important; }
.woocommerce table.shop_attributes th{ color:#C99F44 !important; }

/* ============ MOBILE MENU — full-screen, fade in, links rise ============ */
@media(max-width:1024px){
  /* full-screen dark overlay panel */
  .rgv-site-header .xpro-elementor-horizontal-navbar{ position:fixed !important; inset:0 !important; width:100vw !important; height:100vh !important; height:100dvh !important; background:#0D0B07 !important; display:flex !important; flex-direction:column !important; align-items:center !important; justify-content:center !important; z-index:99999 !important; opacity:0; visibility:hidden; transition:opacity .38s ease, visibility .38s ease !important; }
  /* when Xpro opens the menu, its push-right wrapper gets transformed; reveal our overlay */
  .xpro-push-right.xpro-menu-active .xpro-elementor-horizontal-navbar,
  .xpro-elementor-horizontal-navbar-wrapper.active .xpro-elementor-horizontal-navbar,
  .xpro-elementor-horizontal-navbar-wrapper.xpro-menu-open .xpro-elementor-horizontal-navbar,
  body.xpro-menu-open .rgv-site-header .xpro-elementor-horizontal-navbar{ opacity:1 !important; visibility:visible !important; }
  /* nav list vertical, centered, big */
  .rgv-site-header .xpro-elementor-horizontal-navbar-nav{ flex-direction:column !important; align-items:center !important; gap:6px !important; background:transparent !important; width:auto !important; }
  .rgv-site-header .xpro-elementor-horizontal-navbar-nav .nav-item{ border:none !important; width:auto !important; text-align:center; }
  .rgv-site-header .xpro-elementor-horizontal-navbar-nav .xpro-elementor-nav-link{ color:#F5F0E6 !important; font-family:"DM Sans",sans-serif !important; text-transform:none !important; letter-spacing:0 !important; font-size:27px !important; font-weight:600 !important; padding:14px 20px !important; }
  .rgv-site-header .xpro-elementor-horizontal-navbar-nav .current-menu-item > .xpro-elementor-nav-link{ color:#C99F44 !important; }
  .rgv-site-header .xpro-elementor-horizontal-navbar-nav .xpro-elementor-nav-link:hover{ color:#C99F44 !important; background:transparent !important; }
  /* links rise + fade in, staggered, once overlay visible */
  .rgv-site-header .xpro-elementor-horizontal-navbar-nav .nav-item{ opacity:0; transform:translateY(18px); }
  .xpro-elementor-horizontal-navbar-wrapper.xpro-menu-open .xpro-elementor-horizontal-navbar-nav .nav-item,
  body.xpro-menu-open .rgv-site-header .xpro-elementor-horizontal-navbar-nav .nav-item{ animation:rgvRise .5s cubic-bezier(.16,.7,.3,1) forwards; }
  .xpro-elementor-horizontal-navbar-wrapper.xpro-menu-open .nav-item:nth-child(1){ animation-delay:.10s; }
  .xpro-elementor-horizontal-navbar-wrapper.xpro-menu-open .nav-item:nth-child(2){ animation-delay:.16s; }
  .xpro-elementor-horizontal-navbar-wrapper.xpro-menu-open .nav-item:nth-child(3){ animation-delay:.22s; }
  .xpro-elementor-horizontal-navbar-wrapper.xpro-menu-open .nav-item:nth-child(4){ animation-delay:.28s; }
  .xpro-elementor-horizontal-navbar-wrapper.xpro-menu-open .nav-item:nth-child(5){ animation-delay:.34s; }
  /* close (x) button top-right, gold on hover */
  .rgv-site-header .xpro-elementor-horizontal-menu-close{ position:fixed !important; top:22px !important; right:22px !important; z-index:100000 !important; color:#C7BFAD !important; font-size:26px !important; }
  .rgv-site-header .xpro-elementor-horizontal-menu-close:hover, .rgv-site-header .xpro-elementor-horizontal-menu-close:hover i{ color:#C99F44 !important; }
}
@keyframes rgvRise{ to{ opacity:1; transform:translateY(0); } }
@media(prefers-reduced-motion:reduce){
  .rgv-site-header .xpro-elementor-horizontal-navbar-nav .nav-item{ opacity:1 !important; transform:none !important; animation:none !important; }
  .rgv-site-header .xpro-elementor-horizontal-navbar{ transition:none !important; }
}

/* ============ MOBILE MENU — correct open trigger (active) ============ */
@media(max-width:1024px){
  /* Xpro toggles .active on the menu toggler when open. Reveal overlay + animate links off that. */
  .rgv-site-header .xpro-elementor-horizontal-menu-toggler.active ~ .xpro-elementor-horizontal-navbar,
  .xpro-elementor-horizontal-menu-toggler.active ~ .xpro-elementor-horizontal-navbar{ opacity:1 !important; visibility:visible !important; }
  /* Also: the navbar itself gets shown via its own active state in some Xpro versions */
  .rgv-site-header .xpro-elementor-horizontal-navbar.active,
  .xpro-elementor-horizontal-navbar-wrapper .xpro-elementor-horizontal-navbar.active{ opacity:1 !important; visibility:visible !important; }
  /* trigger the link rise when toggler active */
  .xpro-elementor-horizontal-menu-toggler.active ~ .xpro-elementor-horizontal-navbar .nav-item{ animation:rgvRise .5s cubic-bezier(.16,.7,.3,1) forwards; }
  .xpro-elementor-horizontal-menu-toggler.active ~ .xpro-elementor-horizontal-navbar .nav-item:nth-child(1){ animation-delay:.10s; }
  .xpro-elementor-horizontal-menu-toggler.active ~ .xpro-elementor-horizontal-navbar .nav-item:nth-child(2){ animation-delay:.16s; }
  .xpro-elementor-horizontal-menu-toggler.active ~ .xpro-elementor-horizontal-navbar .nav-item:nth-child(3){ animation-delay:.22s; }
  .xpro-elementor-horizontal-menu-toggler.active ~ .xpro-elementor-horizontal-navbar .nav-item:nth-child(4){ animation-delay:.28s; }
  .xpro-elementor-horizontal-menu-toggler.active ~ .xpro-elementor-horizontal-navbar .nav-item:nth-child(5){ animation-delay:.34s; }
}

/* ============ MOBILE MENU — links always visible + soft close (override) ============ */
@media(max-width:1024px){
  /* links must ALWAYS be visible (no opacity:0 default that can strand them) */
  .rgv-site-header .xpro-elementor-horizontal-navbar-nav .nav-item{ opacity:1 !important; transform:none !important; }
  .rgv-site-header .xpro-elementor-horizontal-navbar-nav .xpro-elementor-nav-link{ color:#F5F0E6 !important; opacity:1 !important; visibility:visible !important; font-size:27px !important; font-weight:600 !important; font-family:"DM Sans",sans-serif !important; text-transform:none !important; letter-spacing:0 !important; }
  .rgv-site-header .xpro-elementor-horizontal-navbar-nav .current-menu-item > .xpro-elementor-nav-link{ color:#C99F44 !important; }
  /* keep the smooth link-rise as an ENHANCEMENT only while active, but end state is visible either way */
  .xpro-elementor-horizontal-menu-toggler.active ~ .xpro-elementor-horizontal-navbar .nav-item{ animation:rgvRiseSoft .5s cubic-bezier(.16,.7,.3,1) both; }
  .xpro-elementor-horizontal-menu-toggler.active ~ .xpro-elementor-horizontal-navbar .nav-item:nth-child(1){ animation-delay:.08s; }
  .xpro-elementor-horizontal-menu-toggler.active ~ .xpro-elementor-horizontal-navbar .nav-item:nth-child(2){ animation-delay:.14s; }
  .xpro-elementor-horizontal-menu-toggler.active ~ .xpro-elementor-horizontal-navbar .nav-item:nth-child(3){ animation-delay:.20s; }
  .xpro-elementor-horizontal-menu-toggler.active ~ .xpro-elementor-horizontal-navbar .nav-item:nth-child(4){ animation-delay:.26s; }
  .xpro-elementor-horizontal-menu-toggler.active ~ .xpro-elementor-horizontal-navbar .nav-item:nth-child(5){ animation-delay:.32s; }
  /* soft close (x): muted, blends in, gold on hover */
  .rgv-site-header .xpro-elementor-horizontal-menu-close, .rgv-site-header .xpro-elementor-horizontal-menu-close i{ color:#7a6f52 !important; font-size:24px !important; opacity:0.9; }
  .rgv-site-header .xpro-elementor-horizontal-menu-close:hover, .rgv-site-header .xpro-elementor-horizontal-menu-close:hover i{ color:#C99F44 !important; opacity:1; }
}
@keyframes rgvRiseSoft{ from{ opacity:0; transform:translateY(16px); } to{ opacity:1; transform:translateY(0); } }
@media(prefers-reduced-motion:reduce){ .xpro-elementor-horizontal-menu-toggler.active ~ .xpro-elementor-horizontal-navbar .nav-item{ animation:none !important; } }

/* ============ MOBILE MENU — full-page, see-through gradient, centered (override) ============ */
@media(max-width:1024px){
  /* full-page overlay: translucent dark gradient so homepage shows through faintly */
  .rgv-site-header .xpro-elementor-horizontal-navbar{ position:fixed !important; inset:0 !important; top:0 !important; left:0 !important; right:0 !important; bottom:0 !important; width:100vw !important; height:100vh !important; height:100dvh !important; transform:none !important; margin:0 !important; padding:0 !important; display:flex !important; flex-direction:column !important; align-items:center !important; justify-content:center !important; z-index:99999 !important; -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); background:radial-gradient(120% 90% at 50% 20%, rgba(30,24,12,0.86) 0%, rgba(13,11,7,0.9) 60%, rgba(10,8,5,0.94) 100%) !important; }
  /* kill Xpro right-slide push so it is centered, not from the side */
  .rgv-site-header .xpro-push-right .xpro-elementor-horizontal-navbar, .rgv-site-header .xpro-elementor-horizontal-navbar-wrapper .xpro-elementor-horizontal-navbar{ transform:none !important; right:0 !important; left:0 !important; }
  /* nav centered */
  .rgv-site-header .xpro-elementor-horizontal-navbar-nav{ flex-direction:column !important; align-items:center !important; justify-content:center !important; gap:8px !important; background:transparent !important; width:100% !important; margin:0 auto !important; }
  .rgv-site-header .xpro-elementor-horizontal-navbar-nav .nav-item{ width:100% !important; text-align:center !important; border:none !important; }
  .rgv-site-header .xpro-elementor-horizontal-navbar-nav .xpro-elementor-nav-link{ display:inline-block !important; text-align:center !important; }
}

/* ============ MOBILE MENU — premium overlay (RGV brand, final design) ============ */
@media(max-width:1024px){
  /* full-page solid near-black ground with brass glow up top */
  .rgv-site-header .xpro-elementor-horizontal-navbar{ position:fixed !important; inset:0 !important; width:100vw !important; height:100vh !important; height:100dvh !important; transform:none !important; margin:0 !important; padding:76px 28px 40px !important; display:flex !important; flex-direction:column !important; align-items:stretch !important; justify-content:center !important; z-index:99999 !important; -webkit-backdrop-filter:none; backdrop-filter:none; background:radial-gradient(90% 55% at 50% 8%, rgba(183,143,56,0.13) 0%, rgba(20,17,9,0) 55%), #0C0A06 !important; }
  .rgv-site-header .xpro-push-right .xpro-elementor-horizontal-navbar{ transform:none !important; right:0 !important; left:0 !important; }
  /* menu heading label at top (eyebrow) */
  .rgv-site-header .xpro-elementor-horizontal-navbar::before{ content:"Menu"; position:absolute; top:30px; left:30px; font-family:"IBM Plex Mono",monospace; font-size:10px; letter-spacing:.24em; text-transform:uppercase; color:#9A7B33; }
  /* nav list: index style, full width, hairline dividers */
  .rgv-site-header .xpro-elementor-horizontal-navbar-nav{ flex-direction:column !important; align-items:stretch !important; justify-content:center !important; gap:0 !important; background:transparent !important; width:100% !important; max-width:440px; margin:0 auto !important; border-top:1px solid rgba(183,143,56,0.14); }
  .rgv-site-header .xpro-elementor-horizontal-navbar-nav .nav-item{ width:100% !important; text-align:left !important; border:none !important; border-bottom:1px solid rgba(183,143,56,0.14) !important; position:relative; opacity:1 !important; }
  /* numbered counter (01, 02...) before each name */
  /* numbered menu counter removed - it printed a stray "02" inside the pink
     Xpro underline bar on mobile and was never part of the design */
  .rgv-site-header .xpro-elementor-horizontal-navbar-nav .xpro-elementor-nav-link{ display:flex !important; align-items:baseline !important; gap:16px !important; text-align:left !important; color:#F5F0E6 !important; font-family:"Bodoni Moda",Didot,serif !important; font-weight:700 !important; text-transform:uppercase !important; letter-spacing:.02em !important; font-size:26px !important; padding:22px 6px !important; transition:color .18s ease, padding-left .22s ease; }
  .rgv-site-header .xpro-elementor-horizontal-navbar-nav .xpro-elementor-nav-link::before{ content:none !important; display:none !important; background:transparent !important; }
  .rgv-site-header .xpro-elementor-horizontal-navbar-nav .nav-item:hover .xpro-elementor-nav-link, .rgv-site-header .xpro-elementor-horizontal-navbar-nav .current-menu-item > .xpro-elementor-nav-link{ color:#C99F44 !important; padding-left:14px !important; }
  /* gold accent bar sliding under active/hover */
  .rgv-site-header .xpro-elementor-horizontal-navbar-nav .nav-item::after{ content:""; position:absolute; left:0; bottom:-1px; height:1px; width:0; background:#B78F38; transition:width .28s cubic-bezier(.16,.7,.3,1); }
  .rgv-site-header .xpro-elementor-horizontal-navbar-nav .nav-item:hover::after, .rgv-site-header .xpro-elementor-horizontal-navbar-nav .current-menu-item::after{ width:100%; }
  /* footer inside overlay: wordmark + RUO tag */
  .rgv-site-header .xpro-elementor-horizontal-navbar::after{ content:"RGV \2022 COMPOUND \2014 RESEARCH USE ONLY"; position:absolute; bottom:34px; left:0; right:0; text-align:center; font-family:"IBM Plex Mono",monospace; font-size:9px; letter-spacing:.16em; text-transform:uppercase; color:#5f5640; }
  /* soft close x */
  .rgv-site-header .xpro-elementor-horizontal-menu-close, .rgv-site-header .xpro-elementor-horizontal-menu-close i{ color:#8a7c5a !important; font-size:22px !important; top:26px !important; right:26px !important; }
  .rgv-site-header .xpro-elementor-horizontal-menu-close:hover, .rgv-site-header .xpro-elementor-horizontal-menu-close:hover i{ color:#C99F44 !important; }
  /* rise-in animation on open (enhancement) */
  .xpro-elementor-horizontal-menu-toggler.active ~ .xpro-elementor-horizontal-navbar .nav-item{ animation:rgvRiseSoft .5s cubic-bezier(.16,.7,.3,1) both; }
  .xpro-elementor-horizontal-menu-toggler.active ~ .xpro-elementor-horizontal-navbar .nav-item:nth-child(1){ animation-delay:.08s; }
  .xpro-elementor-horizontal-menu-toggler.active ~ .xpro-elementor-horizontal-navbar .nav-item:nth-child(2){ animation-delay:.14s; }
  .xpro-elementor-horizontal-menu-toggler.active ~ .xpro-elementor-horizontal-navbar .nav-item:nth-child(3){ animation-delay:.20s; }
  .xpro-elementor-horizontal-menu-toggler.active ~ .xpro-elementor-horizontal-navbar .nav-item:nth-child(4){ animation-delay:.26s; }
  .xpro-elementor-horizontal-menu-toggler.active ~ .xpro-elementor-horizontal-navbar .nav-item:nth-child(5){ animation-delay:.32s; }
}

/* ============ HAMBURGER ICON — gold ============ */
.rgv-site-header .xpro-elementor-horizontal-menu-toggler,
.rgv-site-header .xpro-elementor-horizontal-menu-toggler i,
.rgv-site-header .xpro-elementor-horizontal-menu-toggler svg,
.rgv-site-header .xpro-elementor-horizontal-menu-toggler .xpro-menu-bar,
.rgv-site-header .xpro-menu-icon, .rgv-site-header i.xpro-menu-bar,
.rgv-site-header .xpro-elementor-horizontal-navbar-wrapper > button:first-child i,
.rgv-site-header .xpro-elementor-horizontal-navbar-wrapper > button:first-child svg{ color:#B78F38 !important; fill:#B78F38 !important; }
.rgv-site-header .xpro-elementor-horizontal-menu-toggler .xpro-menu-bar,
.rgv-site-header .xpro-elementor-horizontal-menu-toggler span{ background-color:#B78F38 !important; }
.rgv-site-header .xpro-elementor-horizontal-menu-toggler:hover, .rgv-site-header .xpro-elementor-horizontal-menu-toggler:hover i{ color:#C99F44 !important; fill:#C99F44 !important; }

/* ============ NATIVE SHOP GRID (matches related products, uniform squares) ============ */
.rgv-native-shop ul.products{ display:grid !important; grid-template-columns:repeat(4,1fr) !important; gap:20px !important; margin:0 !important; padding:0 !important; list-style:none !important; }
.rgv-native-shop ul.products::before, .rgv-native-shop ul.products::after{ display:none !important; }
.rgv-native-shop ul.products li.product{ width:auto !important; margin:0 !important; float:none !important; background:#161109 !important; border:1px solid rgba(183,143,56,0.2) !important; border-radius:14px !important; padding:14px !important; display:flex !important; flex-direction:column !important; overflow:hidden !important; transition:border-color .18s ease, transform .16s ease; }
.rgv-native-shop ul.products li.product:hover{ border-color:rgba(183,143,56,0.55) !important; transform:translateY(-3px); }
/* UNIFORM square image tile */
.rgv-native-shop ul.products li.product a img, .rgv-native-shop ul.products li.product img{ width:100% !important; aspect-ratio:1/1 !important; height:auto !important; object-fit:cover !important; border-radius:10px !important; margin:0 0 12px !important; background:#0C0A06 !important; display:block !important; }
/* title */
.rgv-native-shop ul.products li.product .woocommerce-loop-product__title, .rgv-native-shop ul.products li.product h2{ color:#F5F0E6 !important; font-family:"DM Sans",sans-serif !important; font-weight:600 !important; font-size:16px !important; padding:2px 0 6px !important; margin:0 !important; line-height:1.25; }
.rgv-native-shop ul.products li.product a{ color:#F5F0E6 !important; }
/* price */
.rgv-native-shop ul.products li.product .price{ color:#C99F44 !important; font-family:"DM Sans",sans-serif !important; font-weight:700 !important; font-size:16px !important; margin:0 0 12px !important; display:block !important; }
.rgv-native-shop ul.products li.product del, .rgv-native-shop ul.products li.product del .woocommerce-Price-amount{ color:#8A8272 !important; font-weight:400 !important; font-size:13px !important; }
.rgv-native-shop ul.products li.product ins{ text-decoration:none !important; margin-left:6px; }
/* select options / add to cart full width gold */
.rgv-native-shop ul.products li.product .button, .rgv-native-shop ul.products li.product .added_to_cart{ display:block !important; width:100% !important; text-align:center !important; background:#C6A044 !important; color:#141109 !important; border:none !important; border-radius:10px !important; font-family:"DM Sans",sans-serif !important; font-weight:700 !important; font-size:14px !important; padding:13px 14px !important; text-transform:none !important; margin-top:auto !important; transition:background .18s ease; }
.rgv-native-shop ul.products li.product .button:hover{ background:#D8B255 !important; }
/* sale badge */
.rgv-native-shop ul.products li.product .onsale{ background:#B78F38 !important; color:#141109 !important; border-radius:8px !important; top:10px !important; right:10px !important; }
@media(max-width:1024px){ .rgv-native-shop ul.products{ grid-template-columns:repeat(2,1fr) !important; } }
@media(max-width:480px){ .rgv-native-shop ul.products{ grid-template-columns:repeat(2,1fr) !important; gap:12px !important; } .rgv-native-shop ul.products li.product .woocommerce-loop-product__title{ font-size:14px !important; } }

/* ============ REVIEWS — auto-scroll marquee belt ============ */
.rgv-rev-grid{ display:flex !important; flex-wrap:nowrap !important; grid-template-columns:none !important; gap:14px !important; width:max-content !important; will-change:transform; animation:rgvMarquee 42s linear infinite; }
.rgv-rev-grid:hover{ animation-play-state:paused; }
.rgv-rev-grid > .rgv-rev-cell{ flex:0 0 auto !important; width:300px !important; border-right:none !important; border-bottom:none !important; background:#161109 !important; border:1px solid rgba(183,143,56,0.18) !important; border-radius:12px !important; }
/* mask/track wrapper: hide overflow so it looks like a belt, fade edges */
.rgv-rev-box{ overflow:hidden !important; }
.rgv-rev-track{ overflow:hidden; position:relative; -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%); mask-image:linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%); }
@keyframes rgvMarquee{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
@media(max-width:767px){
  .rgv-rev-grid > .rgv-rev-cell{ width:270px !important; }
  .rgv-rev-grid{ animation-duration:34s; }
}
@media(prefers-reduced-motion:reduce){ .rgv-rev-grid{ animation:none !important; } .rgv-rev-track{ overflow-x:auto; } }

/* ============ GHK-Cu benefits image — crop from LEFT, keep vial+glow ============ */
.rgv-ghk-slot{ padding:0 !important; overflow:hidden !important; border-radius:6px !important; min-height:0 !important; aspect-ratio:auto !important; display:block !important; }
.rgv-ghk-slot .elementor-widget-image, .rgv-ghk-slot .rgv-ghk-img{ width:100% !important; height:100% !important; margin:0 !important; }
.rgv-ghk-slot .elementor-widget-image .elementor-widget-container, .rgv-ghk-slot figure, .rgv-ghk-slot .elementor-image{ height:100% !important; margin:0 !important; }
.rgv-ghk-slot img{ width:100% !important; height:100% !important; object-fit:cover !important; object-position:78% center !important; display:block !important; border-radius:6px; }
/* DESKTOP: wider view of the scene */
@media(min-width:1025px){
  .rgv-ghk-slot{ aspect-ratio:4 / 5 !important; }
  .rgv-ghk-slot img{ object-position:72% center !important; }
}
/* TABLET */
@media(min-width:768px) and (max-width:1024px){
  .rgv-ghk-slot{ aspect-ratio:16 / 10 !important; }
  .rgv-ghk-slot img{ object-position:75% center !important; }
}
/* iPHONE: taller crop, vial stays in frame (crop more off the LEFT) */
@media(max-width:767px){
  .rgv-ghk-slot{ aspect-ratio:5 / 4 !important; }
  .rgv-ghk-slot img{ object-position:82% center !important; }
}
@media(max-width:430px){
  .rgv-ghk-slot{ aspect-ratio:1 / 1 !important; }
  .rgv-ghk-slot img{ object-position:85% center !important; }
}

/* ============ SCIENCE YOU CAN TRUST — image as background behind text ============ */
/* hide the old separate image column */
.rgv-ben-left-hide{ display:none !important; }
/* image as background with dark scrim so text is readable (crop from LEFT) */
.rgv-ghk-bg{ position:relative !important; border-radius:6px !important; overflow:hidden !important; background-image:linear-gradient(90deg, rgba(15,12,7,0.94) 0%, rgba(18,14,8,0.80) 45%, rgba(18,14,8,0.42) 72%, rgba(18,14,8,0.35) 100%), url("https://rgvcompound.com/wp-content/uploads/2026/07/BPC-819x1024.webp") !important; background-size:auto, cover !important; background-position:center, 78% center !important; background-repeat:no-repeat, no-repeat !important; }
.rgv-ghk-bg > .e-con-inner{ position:relative; z-index:2; }
/* give the text column room now that it is full width */
@media(min-width:1025px){
  .rgv-ghk-bg{ min-height:440px !important; background-position:center, 70% center !important; }
  .rgv-ghk-bg .rgv-hero-left, .rgv-ghk-bg > .e-con-inner > .e-con{ max-width:62%; }
}
@media(max-width:1024px){
  .rgv-ghk-bg{ min-height:0 !important; background-position:center, 80% center !important; }
}
@media(max-width:767px){
  .rgv-ghk-bg{ background-image:linear-gradient(180deg, rgba(15,12,7,0.62) 0%, rgba(16,13,8,0.86) 62%, rgba(14,11,7,0.94) 100%), url("https://rgvcompound.com/wp-content/uploads/2026/07/BPC-819x1024.webp") !important; background-position:center, 76% center !important; }
}

/* ============ SCIENCE YOU CAN TRUST — desktop matches mobile look ============ */
@media(min-width:1025px){
  .rgv-ghk-bg{ min-height:460px !important; background-image:linear-gradient(180deg, rgba(15,12,7,0.60) 0%, rgba(16,13,8,0.84) 62%, rgba(14,11,7,0.92) 100%), url("https://rgvcompound.com/wp-content/uploads/2026/07/BPC-819x1024.webp") !important; background-size:auto, cover !important; background-position:center, 72% center !important; }
  /* let text span like mobile (not squeezed to 62%) */
  .rgv-ghk-bg .rgv-hero-left, .rgv-ghk-bg > .e-con-inner > .e-con{ max-width:none !important; }
  .rgv-ghk-bg > .e-con-inner{ padding-top:56px !important; padding-bottom:56px !important; }
}
@media(min-width:768px) and (max-width:1024px){
  .rgv-ghk-bg{ background-image:linear-gradient(180deg, rgba(15,12,7,0.60) 0%, rgba(16,13,8,0.84) 62%, rgba(14,11,7,0.92) 100%), url("https://rgvcompound.com/wp-content/uploads/2026/07/BPC-819x1024.webp") !important; background-position:center, 76% center !important; }
}

/* ============ SCIENCE YOU CAN TRUST — desktop FIT (no top/bottom cut) ============ */
@media(min-width:1025px){
  /* match the image aspect (1672x941 = ~16:9) so cover does not crop vertically */
  .rgv-ghk-bg{ min-height:0 !important; aspect-ratio:16 / 9 !important; background-size:auto, 100% auto !important; background-position:center, right center !important; }
  /* keep content vertically centered inside the wider band */
  .rgv-ghk-bg > .e-con-inner{ display:flex !important; align-items:center !important; padding-top:44px !important; padding-bottom:44px !important; }
}
@media(min-width:1600px){
  .rgv-ghk-bg{ background-size:auto, cover !important; }
}

/* ============ SCIENCE YOU CAN TRUST — shorter band (final sizing) ============ */
@media(min-width:1025px){
  /* cap the height so it does not eat the screen; keep vial visible via contained fit */
  .rgv-ghk-bg{ aspect-ratio:auto !important; min-height:0 !important; height:auto !important; max-height:none !important; background-size:auto, contain !important; background-position:center, right center !important; background-repeat:no-repeat, no-repeat !important; }
  .rgv-ghk-bg > .e-con-inner{ padding-top:38px !important; padding-bottom:38px !important; min-height:340px; display:flex !important; align-items:center !important; }
}
@media(min-width:1400px){
  .rgv-ghk-bg > .e-con-inner{ min-height:380px; }
}
@media(min-width:768px) and (max-width:1024px){
  .rgv-ghk-bg{ background-size:auto, contain !important; background-position:center, right center !important; }
  .rgv-ghk-bg > .e-con-inner{ min-height:300px; padding-top:32px !important; padding-bottom:32px !important; }
}

/* ============ SCIENCE YOU CAN TRUST — centered content, image as full bg ============ */
.rgv-ghk-bg{ background-image:linear-gradient(180deg, rgba(13,11,7,0.72) 0%, rgba(15,12,7,0.80) 55%, rgba(13,11,7,0.88) 100%), url("https://rgvcompound.com/wp-content/uploads/2026/07/BPC-819x1024.webp") !important; background-size:auto, cover !important; background-position:center, center center !important; background-repeat:no-repeat, no-repeat !important; }
/* center the whole content block */
.rgv-ghk-bg > .e-con-inner{ display:flex !important; flex-direction:column !important; align-items:center !important; justify-content:center !important; text-align:center !important; }
.rgv-ghk-bg .rgv-hero-left, .rgv-ghk-bg > .e-con-inner > .e-con{ align-items:center !important; text-align:center !important; max-width:760px !important; margin:0 auto !important; }
/* center headings + text */
.rgv-ghk-bg .elementor-heading-title{ text-align:center !important; }
.rgv-ghk-bg .elementor-widget-text-editor, .rgv-ghk-bg .elementor-widget-text-editor p{ text-align:center !important; margin-left:auto !important; margin-right:auto !important; }
/* trust rows: centered, evenly spread */
.rgv-ghk-bg .rgv-hero-left > .e-con{ align-items:center !important; text-align:center !important; }
.rgv-ghk-bg .e-con .elementor-widget-heading .elementor-heading-title{ text-align:center !important; }
@media(min-width:1025px){
  .rgv-ghk-bg > .e-con-inner{ min-height:420px !important; padding-top:64px !important; padding-bottom:64px !important; }
}
@media(min-width:768px) and (max-width:1024px){
  .rgv-ghk-bg > .e-con-inner{ min-height:360px !important; padding-top:52px !important; padding-bottom:52px !important; }
}
@media(max-width:767px){
  .rgv-ghk-bg{ background-position:center, center center !important; background-size:auto, cover !important; }
  .rgv-ghk-bg > .e-con-inner{ padding:46px 22px !important; text-align:center !important; }
  .rgv-ghk-bg .rgv-hero-left, .rgv-ghk-bg > .e-con-inner > .e-con{ max-width:100% !important; }
}

/* ============ SCIENCE YOU CAN TRUST — smaller vial in background (sizing only) ============ */
/* scale the background image down so the vial sits smaller and fits nicely. Layout/text untouched. */
.rgv-ghk-bg{ background-size:auto, contain !important; background-position:center, center center !important; background-repeat:no-repeat, no-repeat !important; }
@media(min-width:1025px){
  .rgv-ghk-bg{ background-size:auto, 62% auto !important; background-position:center, center center !important; }
}
@media(min-width:1400px){
  .rgv-ghk-bg{ background-size:auto, 54% auto !important; }
}
@media(min-width:768px) and (max-width:1024px){
  .rgv-ghk-bg{ background-size:auto, 78% auto !important; }
}
@media(max-width:767px){
  .rgv-ghk-bg{ background-size:auto, 118% auto !important; background-position:center, center center !important; }
}




/* ============ FLOW: feather image edges + soften ALL section transitions ============ */
.rgv-ghk-bg{ position:relative !important; border-radius:0 !important; }
.rgv-ghk-bg{ background-image:linear-gradient(180deg, rgba(13,11,7,0.72) 0%, rgba(15,12,7,0.80) 55%, rgba(13,11,7,0.88) 100%), url("https://rgvcompound.com/wp-content/uploads/2026/07/BPC-819x1024.webp") !important; background-size:auto, cover !important; background-position:center, center center !important; background-repeat:no-repeat, no-repeat !important; }
.rgv-ghk-bg::before{ content:""; position:absolute; inset:0; z-index:1; pointer-events:none; background: linear-gradient(90deg, #0D0B07 0%, rgba(13,11,7,0.75) 12%, rgba(13,11,7,0) 30%, rgba(13,11,7,0) 70%, rgba(13,11,7,0.75) 88%, #0D0B07 100%), linear-gradient(180deg, #0D0B07 0%, rgba(13,11,7,0.55) 14%, rgba(13,11,7,0) 40%, rgba(13,11,7,0) 62%, rgba(13,11,7,0.6) 86%, #0D0B07 100%); }
.rgv-ghk-bg > .e-con-inner{ position:relative; z-index:2; display:flex !important; flex-direction:column !important; align-items:center !important; justify-content:center !important; text-align:center !important; }
.rgv-ben-left-hide{ display:none !important; }
@media(min-width:1025px){ .rgv-ghk-bg{ background-size:auto, 62% auto !important; } }
@media(min-width:1400px){ .rgv-ghk-bg{ background-size:auto, 54% auto !important; } }
@media(min-width:768px) and (max-width:1024px){ .rgv-ghk-bg{ background-size:auto, 78% auto !important; } }
@media(max-width:767px){ .rgv-ghk-bg{ background-size:auto, 118% auto !important; } }
.rgv-dark-section{ position:relative; }
.rgv-dark-section::before, .rgv-dark-section::after{ content:""; position:absolute; left:0; right:0; height:80px; pointer-events:none; z-index:1; }
.rgv-dark-section::before{ top:-1px; background:linear-gradient(180deg, rgba(13,11,7,0.9) 0%, rgba(13,11,7,0) 100%); }
.rgv-dark-section::after{ bottom:-1px; background:linear-gradient(0deg, rgba(13,11,7,0.9) 0%, rgba(13,11,7,0) 100%); }
.rgv-hero-outer{ position:relative; }
.rgv-hero-outer::after{ content:""; position:absolute; left:0; right:0; bottom:-1px; height:70px; pointer-events:none; z-index:1; background:linear-gradient(0deg, rgba(13,11,7,0.85) 0%, rgba(13,11,7,0) 100%); }
.rgv-site-footer{ position:relative; }
.rgv-site-footer::before{ content:""; position:absolute; left:0; right:0; top:-1px; height:70px; pointer-events:none; z-index:1; background:linear-gradient(180deg, rgba(13,11,7,0.85) 0%, rgba(13,11,7,0) 100%); }
@media(max-width:767px){ .rgv-dark-section::before, .rgv-dark-section::after{ height:56px; } .rgv-hero-outer::after, .rgv-site-footer::before{ height:50px; } }

/* ============ HALF STAR + MOBILE TEXTAREA ============ */
.rgv-halfstar{ background-image:linear-gradient(90deg, currentColor 0%, currentColor 50%, rgba(183,143,56,0.26) 50%, rgba(183,143,56,0.26) 100%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:#C99F44; }
.rgv-form-wrap textarea, .rgv-contact-right textarea, .rgv-form-wrap .wpforms-field-textarea textarea, .wpforms-container textarea{ width:100% !important; max-width:100% !important; min-width:0 !important; box-sizing:border-box !important; display:block !important; }
.rgv-form-wrap .wpforms-field:not(.wpforms-field-text), .rgv-contact-right .wpforms-field:not(.wpforms-field-text){ width:100% !important; max-width:100% !important; box-sizing:border-box !important; }
@media(max-width:767px){
  .rgv-form-wrap textarea, .rgv-contact-right textarea, .wpforms-container textarea{ width:100% !important; max-width:100% !important; min-height:140px !important; resize:vertical !important; padding:14px 14px !important; }
  .rgv-form-wrap .wpforms-field-textarea, .rgv-contact-right .wpforms-field-textarea{ width:100% !important; max-width:100% !important; }
  .wpforms-container .wpforms-field-medium, .wpforms-container textarea.wpforms-field-medium, .wpforms-container .wpforms-field-small{ max-width:100% !important; width:100% !important; }
}

/* ============ FILLER SLOT IMAGES ============ */
.rgv-dslot, .rgv-faq-imgbox{ overflow:hidden !important; position:relative !important; padding:0 !important; }
.rgv-slot-img, .rgv-slot-img .elementor-widget-container, .rgv-slot-img figure{ width:100% !important; height:100% !important; margin:0 !important; display:block !important; }
.rgv-slot-img img{ width:100% !important; height:100% !important; object-fit:cover !important; object-position:center !important; display:block !important; border-radius:inherit !important; }
.rgv-faq-imgbox .rgv-slot-img img{ object-position:center center !important; }
.rgv-dslot .rgv-slot-img img{ object-fit:cover !important; object-position:center top !important; }

/* ============ MOBILE TEXTAREA — high specificity override ============ */
div.wpforms-container-full .wpforms-form textarea,
div.wpforms-container-full .wpforms-form textarea.wpforms-field-large,
div.wpforms-container-full .wpforms-form textarea.wpforms-field-medium,
div.wpforms-container .wpforms-form .wpforms-field-textarea textarea,
.rgv-contact-right div.wpforms-container-full .wpforms-form textarea,
.rgv-form-wrap div.wpforms-container-full .wpforms-form textarea{
  width:100% !important; max-width:100% !important; min-width:100% !important; box-sizing:border-box !important; display:block !important; }
div.wpforms-container-full .wpforms-form .wpforms-field.wpforms-field-textarea{ width:100% !important; max-width:100% !important; padding-left:0 !important; padding-right:0 !important; box-sizing:border-box !important; }
@media(max-width:767px){
  div.wpforms-container-full .wpforms-form textarea,
  div.wpforms-container-full .wpforms-form textarea.wpforms-field-large,
  .rgv-contact-right div.wpforms-container-full .wpforms-form textarea{
    width:100% !important; max-width:100% !important; min-width:100% !important; min-height:150px !important; padding:14px !important; resize:vertical !important; }
  div.wpforms-container-full .wpforms-form .wpforms-field:not(.wpforms-field-hp):not(.wpforms-field-text){ width:100% !important; max-width:100% !important; box-sizing:border-box !important; }
  .rgv-contact-right .wpforms-form{ display:block !important; }
  .rgv-contact-right .wpforms-form .wpforms-field:not(.wpforms-field-text){ width:100% !important; margin-bottom:14px !important; }
}

/* ============ WPFORMS FIELD WIDTH CAP OVERRIDE (fixes 60% narrow box) ============ */
.wpforms-container input.wpforms-field-small,
.wpforms-container input.wpforms-field-medium,
.wpforms-container input.wpforms-field-large,
.wpforms-container select.wpforms-field-small,
.wpforms-container select.wpforms-field-medium,
.wpforms-container select.wpforms-field-large,
.wpforms-container .wpforms-field-row.wpforms-field-small,
.wpforms-container .wpforms-field-row.wpforms-field-medium,
.wpforms-container .wpforms-field-row.wpforms-field-large,
div.wpforms-container-full .wpforms-form .wpforms-field input.wpforms-field-small,
div.wpforms-container-full .wpforms-form .wpforms-field input.wpforms-field-medium,
div.wpforms-container-full .wpforms-form .wpforms-field input.wpforms-field-large,
div.wpforms-container-full .wpforms-form .wpforms-field select.wpforms-field-medium,
div.wpforms-container-full .wpforms-form .wpforms-field .wpforms-field-row.wpforms-field-medium,
div.wpforms-container-full .wpforms-form .wpforms-field textarea.wpforms-field-small,
div.wpforms-container-full .wpforms-form .wpforms-field textarea.wpforms-field-medium,
div.wpforms-container-full .wpforms-form .wpforms-field textarea.wpforms-field-large{
  max-width:100% !important; width:100% !important; box-sizing:border-box !important; }
div.wpforms-container-full .wpforms-form .wpforms-field:not(.wpforms-field-text){ max-width:100% !important; }

/* ============ RESTORE WPFORMS ANTI-SPAM HONEYPOT HIDING ============ */
/* WPForms injects a decoy field (class wpforms-field-text, no rgv-field) hidden at 1px.
   Our width rules must never reveal it, or real users can type in it and be flagged as spam. */
.wpforms-container .wpforms-form .wpforms-field.wpforms-field-text:not(.rgv-field),
#wpforms-140 .wpforms-form .wpforms-field.wpforms-field-text:not(.rgv-field),
.wpforms-container .wpforms-form .wpforms-field-hp{
  position:absolute !important; overflow:hidden !important; display:inline !important;
  height:1px !important; width:1px !important; min-width:0 !important; max-width:1px !important;
  z-index:-1000 !important; padding:0 !important; margin:0 !important; border:0 !important;
  left:-9000px !important; clip:rect(0,0,0,0) !important; }
.wpforms-container .wpforms-form .wpforms-field.wpforms-field-text:not(.rgv-field) *{
  height:1px !important; width:1px !important; max-width:1px !important; padding:0 !important; margin:0 !important; border:0 !important; font-size:1px !important; }


/* ============ CART / CHECKOUT / ACCOUNT — dark + gold ============ */
/* ---- TWEAK THESE (or override them in Appearance > Customize > Additional CSS) ---- */
:root{
  --rgvc-gold:#C6A044;        /* buttons + prices */
  --rgvc-gold-soft:#C99F44;   /* links, small accents */
  --rgvc-gold-hover:#DBB65A;  /* button hover */
  --rgvc-label:#9A7B33;       /* small uppercase labels */
  --rgvc-page-bg:#0D0B07;     /* page background */
  --rgvc-card:#161109;        /* cards / tables */
  --rgvc-card-2:#1A1509;      /* table headers */
  --rgvc-field:#0F0C07;       /* input background */
  --rgvc-border:rgba(183,143,56,0.20);
  --rgvc-text:#F5F0E6;        /* body text */
  --rgvc-radius:14px;         /* card corner rounding */
  --rgvc-radius-btn:10px;     /* button rounding */
  --rgvc-pad:22px;            /* card padding */
  --rgvc-maxw:1180px;         /* content width */
  --rgvc-thumb:64px;          /* cart image size */
}
/* ---- end tweakables ---- */
.woocommerce-cart, .woocommerce-checkout, .woocommerce-account{ background:var(--rgvc-page-bg) !important; }
.woocommerce-cart .site-main, .woocommerce-checkout .site-main, .woocommerce-account .site-main{ max-width:var(--rgvc-maxw); margin:0 auto; padding:54px 22px 90px !important; }
.woocommerce-cart h1,.woocommerce-checkout h1,.woocommerce-account h1,.woocommerce-cart h2,.woocommerce-checkout h2,.woocommerce-account h2,.woocommerce-cart h3,.woocommerce-checkout h3{ color:var(--rgvc-text) !important; font-family:'Bodoni Moda',Georgia,serif !important; }
.woocommerce-cart p,.woocommerce-checkout p,.woocommerce-account p,.woocommerce-cart td,.woocommerce-checkout td,.woocommerce-cart th,.woocommerce-checkout th,.woocommerce-account td,.woocommerce-account th,.woocommerce-cart label,.woocommerce-checkout label,.woocommerce-account label{ color:var(--rgvc-text) !important; }
.woocommerce a{ color:var(--rgvc-gold-soft); }
.woocommerce a:hover{ color:var(--rgvc-gold-hover); }
.woocommerce table.shop_table{ background:var(--rgvc-card) !important; border:1px solid var(--rgvc-border) !important; border-radius:var(--rgvc-radius) !important; border-collapse:separate !important; overflow:hidden; }
.woocommerce table.shop_table th{ background:var(--rgvc-card-2) !important; color:var(--rgvc-label) !important; font-family:'IBM Plex Mono',monospace !important; font-size:11px !important; letter-spacing:.12em; text-transform:uppercase; border-bottom:1px solid var(--rgvc-border) !important; padding:16px 14px !important; }
.woocommerce table.shop_table td{ border-top:1px solid rgba(183,143,56,0.12) !important; padding:16px 14px !important; background:transparent !important; }
.woocommerce table.shop_table tbody tr:hover td{ background:rgba(183,143,56,0.04) !important; }
.woocommerce table.shop_table img{ width:var(--rgvc-thumb) !important; height:var(--rgvc-thumb) !important; object-fit:cover !important; border-radius:8px !important; background:#0C0A06 !important; border:1px solid var(--rgvc-border) !important; }
.woocommerce table.shop_table .product-name a{ color:var(--rgvc-text) !important; font-weight:600 !important; text-decoration:none !important; }
.woocommerce table.shop_table .product-name a:hover{ color:var(--rgvc-gold-soft) !important; }
.woocommerce .amount, .woocommerce .price, .woocommerce table.shop_table .amount{ color:var(--rgvc-gold-soft) !important; font-weight:700 !important; }
.woocommerce a.remove{ color:#C87B6B !important; border-radius:50% !important; }
.woocommerce a.remove:hover{ background:#8A2D1E !important; color:#fff !important; }
.woocommerce .quantity input.qty, .woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, .woocommerce-account input.input-text, .select2-container--default .select2-selection--single{ background:var(--rgvc-field) !important; border:1.5px solid var(--rgvc-border) !important; border-radius:var(--rgvc-radius-btn) !important; color:var(--rgvc-text) !important; padding:12px !important; font-family:'DM Sans',sans-serif !important; font-size:15px !important; box-shadow:none !important; height:auto !important; }
.select2-container--default .select2-selection--single .select2-selection__rendered{ color:var(--rgvc-text) !important; line-height:normal !important; }
.select2-dropdown{ background:var(--rgvc-card) !important; border:1px solid var(--rgvc-border) !important; color:var(--rgvc-text) !important; }
.select2-container--default .select2-results__option--highlighted[aria-selected]{ background:var(--rgvc-gold) !important; color:#141109 !important; }
.woocommerce form .form-row input.input-text:focus, .woocommerce form .form-row textarea:focus, .woocommerce form .form-row select:focus{ border-color:#B78F38 !important; outline:none !important; }
.woocommerce form .form-row label, .woocommerce-checkout label{ font-family:'IBM Plex Mono',monospace !important; font-size:10px !important; letter-spacing:.1em; text-transform:uppercase; color:var(--rgvc-label) !important; margin-bottom:6px !important; display:block; }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit, .woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce #place_order{ background:var(--rgvc-gold) !important; color:#141109 !important; border:none !important; border-radius:var(--rgvc-radius-btn) !important; font-family:'DM Sans',sans-serif !important; font-weight:700 !important; font-size:15px !important; padding:14px 24px !important; text-shadow:none !important; transition:background .18s ease, transform .12s ease; }
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce #place_order:hover{ background:var(--rgvc-gold-hover) !important; color:#141109 !important; transform:translateY(-1px); }
.woocommerce button.button:disabled, .woocommerce a.button.disabled{ background:rgba(198,160,68,0.35) !important; color:rgba(20,17,9,0.6) !important; }
.woocommerce #place_order{ width:100% !important; padding:17px 24px !important; font-size:16px !important; }
.woocommerce .cart_totals, .woocommerce-checkout #order_review, .woocommerce .cart-collaterals .cross-sells{ background:var(--rgvc-card) !important; border:1px solid var(--rgvc-border) !important; border-radius:16px !important; padding:var(--rgvc-pad) !important; }
.woocommerce .cart_totals h2, .woocommerce-checkout #order_review_heading{ font-family:'IBM Plex Mono',monospace !important; font-size:11px !important; letter-spacing:.16em; text-transform:uppercase; color:var(--rgvc-label) !important; margin-bottom:14px !important; }
.woocommerce .cart_totals table.shop_table, .woocommerce-checkout .woocommerce-checkout-review-order-table{ background:transparent !important; border:none !important; }
.woocommerce .cart_totals table.shop_table th, .woocommerce-checkout-review-order-table th{ background:transparent !important; border-bottom:1px solid rgba(183,143,56,0.12) !important; }
.woocommerce-checkout-review-order-table tfoot .order-total th, .woocommerce-checkout-review-order-table tfoot .order-total td, .woocommerce .cart_totals .order-total th, .woocommerce .cart_totals .order-total td{ border-top:1px solid var(--rgvc-border) !important; font-size:17px !important; }
.woocommerce-checkout #customer_details{ background:var(--rgvc-card) !important; border:1px solid var(--rgvc-border) !important; border-radius:16px !important; padding:var(--rgvc-pad) !important; margin-bottom:22px !important; }
.woocommerce-info, .woocommerce-message, .woocommerce-error{ background:var(--rgvc-card-2) !important; border-top:none !important; border-left:3px solid var(--rgvc-gold) !important; border-radius:var(--rgvc-radius-btn) !important; color:var(--rgvc-text) !important; padding:16px 18px !important; }
.woocommerce-info::before, .woocommerce-message::before{ color:var(--rgvc-gold-soft) !important; }
.woocommerce-error{ border-left-color:#C0553F !important; }
.woocommerce-error::before{ color:#C0553F !important; }
.woocommerce .coupon input.input-text{ min-width:180px !important; }
.woocommerce .cart-empty, .woocommerce .return-to-shop{ text-align:center !important; }
.woocommerce .cart-empty{ font-family:'Bodoni Moda',Georgia,serif !important; font-size:24px !important; color:var(--rgvc-text) !important; }
.woocommerce-account .woocommerce-MyAccount-navigation ul{ list-style:none !important; margin:0 !important; padding:0 !important; background:var(--rgvc-card) !important; border:1px solid var(--rgvc-border) !important; border-radius:var(--rgvc-radius) !important; overflow:hidden; }
.woocommerce-account .woocommerce-MyAccount-navigation li{ border-bottom:1px solid rgba(183,143,56,0.12) !important; }
.woocommerce-account .woocommerce-MyAccount-navigation li a{ display:block !important; padding:14px 16px !important; color:var(--rgvc-text) !important; text-decoration:none !important; font-size:15px !important; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a, .woocommerce-account .woocommerce-MyAccount-navigation li a:hover{ background:rgba(183,143,56,0.10) !important; color:var(--rgvc-gold-soft) !important; }
.woocommerce-account .woocommerce-MyAccount-content{ background:var(--rgvc-card) !important; border:1px solid var(--rgvc-border) !important; border-radius:var(--rgvc-radius) !important; padding:var(--rgvc-pad) !important; }
.woocommerce-form-login, .woocommerce-form-register{ background:var(--rgvc-card) !important; border:1px solid var(--rgvc-border) !important; border-radius:16px !important; padding:24px !important; }
@media(max-width:767px){
  .woocommerce-cart .site-main, .woocommerce-checkout .site-main, .woocommerce-account .site-main{ padding:30px 14px 60px !important; }
  .woocommerce table.shop_table_responsive tr, .woocommerce-page table.shop_table_responsive tr{ background:var(--rgvc-card) !important; border:1px solid var(--rgvc-border) !important; border-radius:12px !important; display:block; margin-bottom:12px; }
  .woocommerce table.shop_table_responsive tr td, .woocommerce-page table.shop_table_responsive tr td{ display:flex !important; justify-content:space-between !important; align-items:center !important; text-align:right !important; border-top:1px solid rgba(183,143,56,0.10) !important; }
  .woocommerce table.shop_table_responsive tr td::before, .woocommerce-page table.shop_table_responsive tr td::before{ color:var(--rgvc-label) !important; font-family:'IBM Plex Mono',monospace !important; font-size:10px !important; letter-spacing:.1em; text-transform:uppercase; }
  .woocommerce .cart_totals, .woocommerce-checkout #order_review, .woocommerce-checkout #customer_details{ padding:16px !important; }
  .woocommerce .coupon input.input-text{ width:100% !important; margin-bottom:10px !important; }
  .woocommerce a.button, .woocommerce button.button, .woocommerce input.button{ width:100% !important; }
}

/* ============ REVIEWS: placeholder disclosure ============ */
.rgv-rev-note{ max-width:760px; margin:14px auto 0 !important; }
.rgv-rev-note p{ margin:0 !important; font-size:13px !important; line-height:1.6 !important; color:#9C947F !important; text-align:center !important; background:rgba(183,143,56,0.06) !important; border:1px dashed rgba(183,143,56,0.28) !important; border-radius:10px !important; padding:12px 16px !important; }
.rgv-rev-note p strong{ color:#C99F44 !important; }
@media(max-width:767px){ .rgv-rev-note{ margin:12px 10px 0 !important; } .rgv-rev-note p{ font-size:12.5px !important; padding:11px 13px !important; } }

/* ============ LEGAL ENTITY / PLACEHOLDER NOTICES ============ */
.rgv-legal-entity p{ margin-bottom:12px !important; }
.rgv-legal-entity strong{ color:#C99F44 !important; }
.rgv-coa-note p{ font-size:13.5px !important; line-height:1.6 !important; color:#9C947F !important; background:rgba(183,143,56,0.06) !important; border:1px dashed rgba(183,143,56,0.28) !important; border-radius:10px !important; padding:14px 18px !important; margin:0 !important; }
.rgv-coa-note p strong{ color:#C99F44 !important; }

/* ============ FAQ IMAGE PORTRAIT ============ */
.rgv-faq-imgbox{ aspect-ratio:4/5 !important; min-height:0 !important; border-radius:16px !important; overflow:hidden !important; }
.rgv-faq-imgbox .rgv-slot-img img{ object-fit:cover !important; object-position:center !important; }
.rgv-faq-left{ align-items:flex-start !important; }
@media(max-width:1024px){ .rgv-faq-imgbox{ aspect-ratio:4/5 !important; max-width:420px; margin:0 auto 24px !important; } }
@media(max-width:767px){ .rgv-faq-imgbox{ max-width:100%; aspect-ratio:1/1 !important; } }

/* ============ COA SLOT RATIO (image is 2:3) ============ */
.rgv-coa-frame .rgv-dslot{ aspect-ratio:2/3 !important; min-height:0 !important; overflow:hidden !important; border-radius:14px !important; }
.rgv-coa-frame .rgv-dslot .rgv-slot-img img{ object-fit:cover !important; object-position:center top !important; }
@media(max-width:767px){ .rgv-coa-frame .rgv-dslot{ aspect-ratio:3/4 !important; max-width:380px; margin:0 auto; } }


/* ---- rgv-cart.css ---- */
/* RGV Compound - cart drawer + cart page */
:root{
  --rgvd-panel:#0C0A06;
  --rgvd-panel-2:#100D08;
  --rgvd-line:rgba(183,143,56,0.22);
  --rgvd-line-soft:rgba(183,143,56,0.14);
  --rgvd-gold:#C6A044;
  --rgvd-gold-soft:#C99F44;
  --rgvd-text:#F5F0E6;
  --rgvd-muted:#9C947F;
  --rgvd-w:440px;
}

html.rgv-dw-lock{ overflow:hidden !important; }

.rgv-dw-root{ position:fixed; inset:0; z-index:999999; pointer-events:none; }
.rgv-dw-root .rgv-dw-overlay{ position:absolute; inset:0; background:rgba(4,3,2,0.62); backdrop-filter:blur(3px); -webkit-backdrop-filter:blur(3px); opacity:0; transition:opacity .34s ease; pointer-events:none; }
.rgv-dw-root.is-open{ pointer-events:auto; }
.rgv-dw-root.is-open .rgv-dw-overlay{ opacity:1; pointer-events:auto; }

.rgv-dw-panel{ position:absolute; top:0; right:0; height:100%; width:var(--rgvd-w); max-width:100%; background:var(--rgvd-panel); border-left:1px solid var(--rgvd-line); box-shadow:-30px 0 70px rgba(0,0,0,0.55); display:flex; flex-direction:column; transform:translateX(100%); transition:transform .40s cubic-bezier(.22,.61,.36,1); will-change:transform; }
.rgv-dw-root.is-open .rgv-dw-panel{ transform:translateX(0); }

.rgv-dw-head{ display:flex; align-items:center; justify-content:space-between; padding:22px 22px 18px; border-bottom:1px solid var(--rgvd-line-soft); flex:0 0 auto; }
.rgv-dw-title{ margin:0 !important; font-family:'DM Sans',sans-serif !important; font-size:19px !important; font-weight:700 !important; color:var(--rgvd-text) !important; }
.rgv-dw-close{ width:42px; height:42px; flex:0 0 42px; border-radius:50%; background:transparent; border:1px solid var(--rgvd-line); color:var(--rgvd-text); display:flex; align-items:center; justify-content:center; cursor:pointer; padding:0; transition:background .18s ease, border-color .18s ease, transform .18s ease; }
.rgv-dw-close:hover{ background:rgba(183,143,56,0.12); border-color:var(--rgvd-gold); transform:rotate(90deg); }

.rgv-dw-body{ flex:1 1 auto; overflow-y:auto; overscroll-behavior:contain; padding:6px 22px 10px; }
.rgv-dw-body::-webkit-scrollbar{ width:6px; }
.rgv-dw-body::-webkit-scrollbar-thumb{ background:rgba(183,143,56,0.28); border-radius:4px; }

/* ---- line item ---- */
.rgv-dw-item{ display:flex; gap:14px; padding:20px 0; border-bottom:1px dashed var(--rgvd-line-soft); transition:opacity .2s ease; }
.rgv-dw-item.is-going{ opacity:.35; }
.rgv-dw-thumb{ flex:0 0 74px; width:74px; height:74px; border-radius:10px; overflow:hidden; background:#171207; border:1px solid var(--rgvd-line-soft); }
.rgv-dw-thumb img{ width:100% !important; height:100% !important; object-fit:cover !important; display:block; }
.rgv-dw-info{ flex:1 1 auto; min-width:0; display:flex; flex-direction:column; justify-content:space-between; gap:12px; }
.rgv-dw-row1{ display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.rgv-dw-name{ font-family:'DM Sans',sans-serif; font-size:15.5px; font-weight:700; color:var(--rgvd-text); line-height:1.3; }
.rgv-dw-remove{ flex:0 0 auto; background:none; border:none; padding:2px; cursor:pointer; }
.rgv-dw-remove{ color:#7E7767; transition:color .16s ease; }
.rgv-dw-remove:hover{ color:#C0553F; }
.rgv-dw-row2{ display:flex; align-items:center; justify-content:space-between; gap:10px; }

.rgv-dw-qty{ display:inline-flex; align-items:center; border:1px solid var(--rgvd-line); border-radius:999px; overflow:hidden; height:34px; }
.rgv-dw-step{ width:32px; height:32px; background:transparent; border:none; color:var(--rgvd-gold-soft); font-size:16px; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .16s ease; }
.rgv-dw-step:hover{ background:rgba(183,143,56,0.14); }
.rgv-dw-qnum{ min-width:30px; text-align:center; font-size:14px; font-weight:600; color:var(--rgvd-text); }
.rgv-dw-price{ font-size:14px; color:var(--rgvd-text); font-weight:700; white-space:nowrap; }
.rgv-dw-price em{ font-style:normal; font-weight:400; color:var(--rgvd-muted); }
.rgv-dw-price .amount{ color:var(--rgvd-text) !important; }

/* ---- cross sell ---- */
.rgv-dw-xsell{ padding:18px 0 6px; border-top:1px dashed var(--rgvd-line-soft); margin-top:2px; }
.rgv-dw-xsell-title{ font-family:'DM Sans',sans-serif; font-size:15px; font-weight:700; color:var(--rgvd-text); margin-bottom:14px; }
.rgv-dw-xrow{ display:flex; align-items:center; gap:12px; padding:10px 0; }
.rgv-dw-xthumb{ flex:0 0 56px; width:56px; height:56px; border-radius:9px; overflow:hidden; background:#171207; border:1px solid var(--rgvd-line-soft); }
.rgv-dw-xthumb img{ width:100% !important; height:100% !important; object-fit:cover !important; display:block; }
.rgv-dw-xinfo{ flex:1 1 auto; min-width:0; display:flex; flex-direction:column; gap:3px; }
.rgv-dw-xname{ font-size:14.5px; font-weight:600; color:var(--rgvd-text) !important; text-decoration:none !important; line-height:1.3; }
.rgv-dw-xname:hover{ color:var(--rgvd-gold-soft) !important; }
.rgv-dw-xprice, .rgv-dw-xprice .amount{ font-size:13.5px; color:var(--rgvd-muted) !important; }
.rgv-dw-xadd{ flex:0 0 auto; background:var(--rgvd-gold); color:#141109 !important; border:none; border-radius:9px; font-family:'DM Sans',sans-serif; font-weight:700; font-size:14px; padding:10px 20px; cursor:pointer; text-decoration:none !important; transition:background .18s ease; }
.rgv-dw-xadd:hover{ background:#DBB65A; }
.rgv-dw-xadd.is-loading{ opacity:.55; pointer-events:none; }

/* ---- empty ---- */
.rgv-dw-empty{ text-align:center; padding:70px 10px; }
.rgv-dw-empty-mark{ font-size:34px; color:rgba(183,143,56,0.4); margin-bottom:12px; }
.rgv-dw-empty p{ color:var(--rgvd-muted) !important; margin-bottom:20px !important; }

/* ---- foot ---- */
.rgv-dw-foot{ flex:0 0 auto; padding:18px 22px 22px; border-top:1px solid var(--rgvd-line-soft); background:var(--rgvd-panel-2); }
.rgv-dw-sub{ display:flex; align-items:baseline; justify-content:space-between; margin-bottom:16px; }
.rgv-dw-sub span{ font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--rgvd-muted); }
.rgv-dw-sub strong, .rgv-dw-sub strong .amount{ font-size:20px !important; font-weight:700 !important; color:var(--rgvd-text) !important; }
.rgv-dw-actions{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.rgv-dw-btn{ display:flex; align-items:center; justify-content:center; height:52px; border-radius:11px; font-family:'DM Sans',sans-serif; font-weight:700; font-size:13.5px; letter-spacing:.06em; text-transform:uppercase; text-decoration:none !important; cursor:pointer; transition:background .18s ease, border-color .18s ease, color .18s ease; }
.rgv-dw-btn-gold{ background:var(--rgvd-gold); color:#141109 !important; border:1px solid var(--rgvd-gold); }
.rgv-dw-btn-gold:hover{ background:#DBB65A; color:#141109 !important; }
.rgv-dw-btn-ghost{ background:transparent; color:var(--rgvd-text) !important; border:1px solid var(--rgvd-line); }
.rgv-dw-btn-ghost:hover{ border-color:var(--rgvd-gold); color:var(--rgvd-gold-soft) !important; }

/* ---- busy ---- */
.rgv-dw-loading{ position:absolute; inset:0; pointer-events:none; opacity:0; transition:opacity .18s ease; }
.rgv-dw-root.is-busy .rgv-dw-loading{ opacity:1; }
.rgv-dw-root.is-busy .rgv-dw-body{ opacity:.5; }
.rgv-dw-body{ transition:opacity .18s ease; }

/* ---- header cart count badge ---- */
.rgv-cart-count{ display:inline-block; min-width:18px; height:18px; line-height:18px; padding:0 5px; border-radius:999px; background:var(--rgvd-gold); color:#141109; font-size:11px; font-weight:700; text-align:center; margin-left:7px; }
.rgv-cart-count[data-count="0"]{ display:none; }

/* ---- mobile ---- */
@media(max-width:600px){
  .rgv-dw-panel{ width:94vw; }
  .rgv-dw-head{ padding:18px 16px 14px; }
  .rgv-dw-body{ padding:4px 16px 8px; }
  .rgv-dw-foot{ padding:14px 16px 18px; }
  .rgv-dw-thumb{ flex:0 0 64px; width:64px; height:64px; }
  .rgv-dw-name{ font-size:14.5px; }
  .rgv-dw-btn{ height:50px; font-size:12.5px; }
}

/* ================= RGV PAYMENT BADGES =================
   Sits at the foot of the drawer, under the action buttons. Quiet by design:
   the job is to answer "do I need my wallet" and "can I split this" before
   the shopper opens checkout, not to shout logos at them.
   ====================================================== */
.rgv-pay{
  margin:14px 0 0; padding:13px 0 0;
  border-top:1px solid rgba(242,237,226,.10);
}
.rgv-pay-head{
  display:flex; align-items:center; gap:6px; margin:0 0 9px;
  font-family:'IBM Plex Mono',ui-monospace,monospace;
  font-size:9.5px; letter-spacing:.12em; text-transform:uppercase;
  color:#8A8272;
}
.rgv-pay-lock{ flex:0 0 auto; color:#8E9E6B; }
.rgv-pay-list{
  display:flex; flex-wrap:wrap; gap:6px;
  list-style:none; margin:0; padding:0;
}
.rgv-pay-chip{
  font-family:'DM Sans',system-ui,sans-serif;
  font-size:11.5px; font-weight:600; line-height:1; color:#D9D2C4;
  padding:6px 9px; border-radius:6px;
  border:1px solid rgba(242,237,226,.14);
  background:rgba(242,237,226,.045);
  white-space:nowrap;
}
.rgv-pay-networks{
  font-family:'DM Sans',system-ui,sans-serif;
  font-size:11px; line-height:1.5; color:#6F675A;
  margin:9px 0 0 !important;
}
@media (max-width:420px){
  .rgv-pay-chip{ font-size:11px; padding:5px 8px; }
}

/* ================= RGV TIERED OFFER =================
   The gift line shows its real list price struck through beside Free, so
   the value is visible rather than implied. The marker on the progress
   track is where free shipping was won, on a bar scaled to the vial.
   =================================================== */
.rgv-gift-was{
  color:#8A8272; text-decoration:line-through; opacity:.8;
  margin-right:6px; font-weight:500;
}
.rgv-gift-free{ color:#8E9E6B; font-weight:700; }
.rgv-gbar-track{ position:relative; }
.rgv-gbar-marker{
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  width:2px; height:12px; border-radius:1px;
  background:rgba(242,237,226,.6);
}
/* once shipping is won the midpoint is behind them - dim it */
.rgv-gbar.is-reached .rgv-gbar-marker{ background:rgba(23,19,12,.35); }
.rgv-gbar.is-complete .rgv-gbar-fill{ background:linear-gradient(90deg,#2F7A3E,#4E9E5C); }

.rgv-gift-arrow{ color:#6F675A; margin:0 4px 0 0; font-size:.9em; }
.rgv-dw-price.is-gift{ white-space:nowrap; }
.rgv-dw-price.is-gift .rgv-gift-was{ font-size:.92em; }


/* ---- rgv-cartpage.css ---- */
/* RGV Compound - cart page (two column, borderless) */

/* kill the old boxed table styling on the cart page only */
.woocommerce-cart .woocommerce table.shop_table{ background:transparent !important; border:none !important; border-radius:0 !important; }
.woocommerce-cart .woocommerce table.shop_table th,
.woocommerce-cart .woocommerce table.shop_table td{ border:none !important; background:transparent !important; }

.rgv-cart-wrap{
  display:grid;
  grid-template-columns:minmax(0,1.62fr) minmax(320px,0.95fr);
  gap:38px;
  align-items:start;
  max-width:1180px;
  margin:0 auto;
}

/* ---------- left column ---------- */
.rgv-cart-main{ min-width:0; }

.rgv-cart-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) 132px 108px 40px;
  align-items:center;
  gap:16px;
  padding:0 0 14px;
  border-bottom:1px solid rgba(183,143,56,0.20);
}
.rgv-cart-head span{
  font-family:'DM Sans',sans-serif;
  font-size:14px;
  font-weight:700;
  color:#F5F0E6;
}
.rgv-ch-qty{ text-align:center; }
.rgv-ch-sub{ text-align:right; }

.rgv-cart-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 132px 108px 40px;
  align-items:center;
  gap:16px;
  padding:22px 0;
  border-bottom:1px dashed rgba(183,143,56,0.14);
}

.rgv-cr-product{ display:flex; align-items:center; gap:16px; min-width:0; }
.rgv-cr-thumb{ flex:0 0 82px; width:82px; height:82px; border-radius:11px; overflow:hidden; background:#171207; border:1px solid rgba(183,143,56,0.14); }
.rgv-cr-thumb img{ width:100% !important; height:100% !important; object-fit:cover !important; display:block; }
.rgv-cr-meta{ display:flex; flex-direction:column; gap:5px; min-width:0; }
.rgv-cr-name{ font-family:'DM Sans',sans-serif; font-size:15.5px; font-weight:600; color:#C99F44 !important; text-decoration:none !important; line-height:1.32; }
.rgv-cr-name:hover{ color:#E0BE6A !important; }
.rgv-cr-unit, .rgv-cr-unit .amount{ font-size:14px; color:#F5F0E6 !important; font-weight:600; }
.rgv-cr-meta .variation{ margin:0 !important; font-size:12.5px; color:#9C947F !important; }
.rgv-cr-meta .variation p, .rgv-cr-meta .variation dd, .rgv-cr-meta .variation dt{ margin:0 !important; color:#9C947F !important; font-size:12.5px !important; }

.rgv-cr-qty{ display:flex; justify-content:center; }
.rgv-cr-stepper{ display:inline-flex; align-items:center; border:1px solid rgba(183,143,56,0.22); border-radius:999px; overflow:hidden; height:40px; background:transparent; }
.rgv-cr-step{ width:36px; height:38px; background:transparent; border:none; color:#C99F44; font-size:17px; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .16s ease; }
.rgv-cr-step:hover{ background:rgba(183,143,56,0.14); }
.rgv-cr-stepper .quantity{ margin:0 !important; }
.rgv-cr-stepper input.qty{
  width:44px !important; min-width:0 !important; height:38px !important;
  background:transparent !important; border:none !important; border-radius:0 !important;
  color:#F5F0E6 !important; text-align:center !important; font-size:14px !important;
  font-weight:600 !important; padding:0 !important; box-shadow:none !important;
  -moz-appearance:textfield;
}
.rgv-cr-stepper input.qty::-webkit-outer-spin-button,
.rgv-cr-stepper input.qty::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }

.rgv-cr-sub, .rgv-cr-sub .amount{ text-align:right; font-size:15.5px; font-weight:700; color:#F5F0E6 !important; }

.rgv-cr-x{ display:flex; justify-content:flex-end; }
.rgv-cr-remove{
  width:34px !important; height:34px !important; display:flex !important;
  align-items:center !important; justify-content:center !important;
  color:#7E7767 !important; background:transparent !important; border-radius:8px !important;
  font-size:0 !important; text-decoration:none !important; transition:color .16s ease, background .16s ease;
}
.rgv-cr-remove:hover{ color:#C0553F !important; background:rgba(192,85,63,0.10) !important; }

/* tools row */
.rgv-cart-tools{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; padding:22px 0 0; }
.rgv-coupon{ display:flex; gap:10px; flex:1 1 auto; }
.rgv-cart-tools input#coupon_code{
  background:#0F0C07 !important; border:1.5px solid rgba(183,143,56,0.22) !important;
  border-radius:10px !important; color:#F5F0E6 !important; padding:13px 14px !important;
  font-size:14.5px !important; min-width:190px; max-width:260px;
}
.rgv-cart-tools input#coupon_code::placeholder{ color:#7E7767; }
.rgv-cart-tools .button{ border-radius:10px !important; font-size:14px !important; padding:13px 22px !important; }
.rgv-cart-tools .rgv-btn-ghost{ background:transparent !important; color:#F5F0E6 !important; border:1px solid rgba(183,143,56,0.30) !important; }
.rgv-cart-tools .rgv-btn-ghost:hover{ border-color:#C6A044 !important; color:#C99F44 !important; background:rgba(183,143,56,0.06) !important; }
.rgv-cart-tools .rgv-btn-quiet{ margin-left:auto; background:transparent !important; color:#9C947F !important; border:1px solid rgba(183,143,56,0.18) !important; }
.rgv-cart-tools .rgv-btn-quiet:hover:not(:disabled){ color:#C99F44 !important; border-color:#C6A044 !important; background:rgba(183,143,56,0.06) !important; }
.rgv-cart-tools .rgv-btn-quiet:disabled{ opacity:.4; }

/* ---------- right column ---------- */
.rgv-cart-side{ position:sticky; top:104px; }
.rgv-totals{
  background:#100D08 !important;
  border:1px solid rgba(183,143,56,0.22) !important;
  border-radius:16px !important;
  padding:26px 24px !important;
  width:100% !important;
  float:none !important;
}
.rgv-tot-title{
  margin:0 0 18px !important;
  font-family:'DM Sans',sans-serif !important;
  font-size:17px !important; font-weight:700 !important;
  color:#F5F0E6 !important; letter-spacing:0 !important; text-transform:none !important;
}
.rgv-tot-rows{ display:flex; flex-direction:column; }
.rgv-tot-row{
  display:flex; align-items:baseline; justify-content:space-between; gap:14px;
  padding:15px 0; border-bottom:1px dashed rgba(183,143,56,0.16);
}
.rgv-tot-row:first-child{ padding-top:0; }
.rgv-tot-k{ font-size:14.5px; color:#F5F0E6; font-weight:600; }
.rgv-tot-v, .rgv-tot-v .amount{ font-size:14.5px; color:#F5F0E6 !important; font-weight:700; text-align:right; }
.rgv-tot-row.coupon-welcome25 .rgv-tot-v, .rgv-tot-row[class*="coupon-"] .rgv-tot-v{ color:#C99F44 !important; }
.rgv-tot-shipping{ padding:15px 0; border-bottom:1px dashed rgba(183,143,56,0.16); font-size:14.5px; color:#F5F0E6; }
.rgv-tot-shipping ul{ list-style:none; margin:0 0 6px !important; padding:0 !important; }
.rgv-tot-shipping li{ margin-bottom:6px; }
.rgv-tot-shipping label{ color:#F5F0E6 !important; font-size:14px !important; text-transform:none !important; letter-spacing:0 !important; font-family:'DM Sans',sans-serif !important; }
.rgv-tot-shipping .woocommerce-shipping-destination{ color:#9C947F !important; font-size:13px; margin:6px 0 0 !important; }
.rgv-tot-shipping a{ color:#C99F44 !important; }

.rgv-tot-grand{ border-bottom:none !important; padding-top:18px !important; }
.rgv-tot-grand .rgv-tot-k{ font-size:17px; font-weight:700; }
.rgv-tot-grand .rgv-tot-v, .rgv-tot-grand .rgv-tot-v .amount{ font-size:20px !important; color:#F5F0E6 !important; font-weight:700 !important; }

.rgv-tot-cta{ margin-top:20px; }
.rgv-tot-cta .checkout-button{
  display:flex !important; align-items:center; justify-content:center;
  width:100% !important; height:56px !important; padding:0 !important;
  background:#C6A044 !important; color:#141109 !important;
  border-radius:11px !important; font-size:15.5px !important; font-weight:700 !important;
  font-family:'DM Sans',sans-serif !important; margin:0 !important;
}
.rgv-tot-cta .checkout-button:hover{ background:#DBB65A !important; }

/* ---------- responsive ---------- */
@media(max-width:1024px){
  .rgv-cart-wrap{ grid-template-columns:1fr; gap:26px; }
  .rgv-cart-side{ position:static; }
}
@media(max-width:767px){
  .rgv-cart-head{ display:none; }
  .rgv-cart-row{
    grid-template-columns:1fr auto;
    grid-template-areas:"prod prod" "qty sub";
    gap:14px; padding:18px 0;
  }
  .rgv-cr-product{ grid-area:prod; }
  .rgv-cr-qty{ grid-area:qty; justify-content:flex-start; }
  .rgv-cr-sub{ grid-area:sub; }
  .rgv-cr-x{ position:absolute; right:0; margin-top:-6px; }
  .rgv-cart-row{ position:relative; }
  .rgv-cr-thumb{ flex:0 0 68px; width:68px; height:68px; }
  .rgv-cr-name{ font-size:14.5px; padding-right:34px; }
  .rgv-cart-tools{ flex-direction:column; align-items:stretch; }
  .rgv-coupon{ flex-direction:column; }
  .rgv-cart-tools input#coupon_code{ max-width:100%; width:100%; }
  .rgv-cart-tools .button{ width:100% !important; }
  .rgv-cart-tools .rgv-btn-quiet{ margin-left:0; }
  .rgv-totals{ padding:20px 18px !important; }
}

/* checkout order disclosures */
.rgv-disclosures{ background:#100D08; border:1px solid rgba(183,143,56,0.22); border-radius:14px; padding:20px 20px 16px; margin:0 0 22px; }
.rgv-disclosures h3{ margin:0 0 12px !important; font-family:"DM Sans",sans-serif !important; font-size:15px !important; font-weight:700 !important; color:#F5F0E6 !important; }
.rgv-disclosures p{ margin:0 0 10px !important; font-size:13.5px !important; line-height:1.55 !important; color:#C9C1AE !important; }
.rgv-disclosures p strong{ color:#C99F44 !important; font-weight:700 !important; }
.rgv-disclosures .rgv-desc{ color:#C99F44 !important; font-family:"IBM Plex Mono",monospace !important; font-size:12.5px !important; }
.rgv-disclosures .rgv-disc-links{ margin-top:12px !important; padding-top:12px; border-top:1px dashed rgba(183,143,56,0.16); }
.rgv-disclosures .rgv-disc-links a{ color:#C99F44 !important; text-decoration:none !important; font-size:13px !important; }
.rgv-disclosures .rgv-disc-links a:hover{ text-decoration:underline !important; }
@media(max-width:767px){ .rgv-disclosures{ padding:16px; } }


/* ---- rgv-shopnav.css ---- */
/* RGV Compound - shop section navigation, chips, submenu, category archives */

/* ---------- filter chips ---------- */
.rgv-chipbar{ position:relative; z-index:3; }
.rgv-chips p{
  margin:0 !important; display:flex; flex-wrap:wrap; gap:10px;
  justify-content:center; align-items:center;
}
.rgv-chip{
  display:inline-flex; align-items:center; justify-content:center;
  padding:11px 20px; border-radius:999px;
  border:1px solid rgba(183,143,56,0.28) !important;
  background:rgba(183,143,56,0.05) !important;
  color:#F5F0E6 !important; text-decoration:none !important;
  font-family:'DM Sans',sans-serif !important;
  font-size:13.5px !important; font-weight:600 !important;
  letter-spacing:.02em; white-space:nowrap;
  transition:background .18s ease, border-color .18s ease, color .18s ease, transform .14s ease;
}
.rgv-chip:hover, .rgv-chip:focus{
  background:rgba(183,143,56,0.14) !important;
  border-color:#B78F38 !important; color:#E0BE6A !important;
  transform:translateY(-1px);
}

/* ---------- section headings on the shop page ---------- */
.rgv-shop-sec{ scroll-margin-top:110px; }
.rgv-shop-eyebrow .elementor-heading-title,
.rgv-shop-eyebrow{
  font-family:'IBM Plex Mono',monospace !important;
  font-size:11px !important; letter-spacing:.18em !important;
  text-transform:uppercase !important; color:#9A7B33 !important;
  margin-bottom:8px !important;
}
.rgv-shop-h2 .elementor-heading-title, .rgv-shop-h2{
  font-family:'Bodoni Moda',Georgia,serif !important;
  font-size:34px !important; line-height:1.12 !important;
  color:#F5F0E6 !important; margin:0 0 10px !important;
  text-transform:uppercase !important; letter-spacing:.005em !important;
}
.rgv-shop-sub p{
  margin:0 0 26px !important; max-width:680px;
  font-size:14.5px !important; line-height:1.6 !important; color:#9C947F !important;
}

/* ---------- header submenu (desktop) ---------- */
.rgv-site-header .xpro-elementor-horizontal-navbar-nav li.menu-item-has-children{ position:relative; }
.rgv-site-header .xpro-elementor-horizontal-navbar-nav ul.sub-menu,
.rgv-site-header .xpro-elementor-horizontal-navbar-nav .xpro-elementor-sub-menu{
  background:#0C0A06 !important;
  border:1px solid rgba(183,143,56,0.22) !important;
  border-radius:12px !important;
  padding:8px !important; min-width:224px;
  box-shadow:0 24px 48px rgba(0,0,0,0.55) !important;
}
.rgv-site-header .xpro-elementor-horizontal-navbar-nav ul.sub-menu li a,
.rgv-site-header .xpro-elementor-horizontal-navbar-nav .xpro-elementor-sub-menu li a{
  padding:11px 14px !important; border-radius:8px !important;
  color:#F5F0E6 !important; font-size:14px !important;
  font-family:'DM Sans',sans-serif !important; text-transform:none !important;
  letter-spacing:0 !important;
}
.rgv-site-header .xpro-elementor-horizontal-navbar-nav ul.sub-menu li a:hover,
.rgv-site-header .xpro-elementor-horizontal-navbar-nav .xpro-elementor-sub-menu li a:hover{
  background:rgba(183,143,56,0.12) !important; color:#E0BE6A !important;
}

/* ---------- mobile overlay submenu ---------- */
@media(max-width:1024px){
  .rgv-site-header .xpro-elementor-horizontal-navbar-nav ul.sub-menu,
  .rgv-site-header .xpro-elementor-horizontal-navbar-nav .xpro-elementor-sub-menu{
    position:static !important; display:block !important;
    background:transparent !important; border:none !important;
    box-shadow:none !important; padding:0 0 6px 0 !important;
    min-width:0 !important; opacity:1 !important; visibility:visible !important;
    transform:none !important;
  }
  .rgv-site-header .xpro-elementor-horizontal-navbar-nav ul.sub-menu li,
  .rgv-site-header .xpro-elementor-horizontal-navbar-nav .xpro-elementor-sub-menu li{
    border-bottom:none !important;
  }
  .rgv-site-header .xpro-elementor-horizontal-navbar-nav ul.sub-menu li a,
  .rgv-site-header .xpro-elementor-horizontal-navbar-nav .xpro-elementor-sub-menu li a{
    padding:9px 0 9px 18px !important;
    font-size:14.5px !important; color:#C9C1AE !important;
    border-left:1px solid rgba(183,143,56,0.20) !important;
    margin-left:2px !important; border-radius:0 !important;
  }
  .rgv-site-header .xpro-elementor-horizontal-navbar-nav ul.sub-menu li a::before,
  .rgv-site-header .xpro-elementor-horizontal-navbar-nav .xpro-elementor-sub-menu li a::before{
    content:none !important;
  }
  .rgv-chips p{ gap:8px; }
  .rgv-chip{ padding:10px 15px; font-size:12.5px !important; }
  .rgv-shop-h2 .elementor-heading-title, .rgv-shop-h2{ font-size:26px !important; }
  .rgv-shop-sec{ scroll-margin-top:84px; }
}

/* ---------- category archive pages get the same card styling ---------- */
.woocommerce.archive ul.products,
.tax-product_cat ul.products{
  display:grid !important; grid-template-columns:repeat(4,1fr) !important;
  gap:20px !important; margin:0 !important; padding:0 !important; list-style:none !important;
}
.woocommerce.archive ul.products li.product,
.tax-product_cat ul.products li.product{
  background:#161109 !important; border:1px solid rgba(183,143,56,0.20) !important;
  border-radius:14px !important; padding:14px !important;
  display:flex !important; flex-direction:column !important; width:auto !important; margin:0 !important;
}
.woocommerce.archive ul.products li.product img,
.tax-product_cat ul.products li.product img{
  width:100% !important; aspect-ratio:1/1 !important; object-fit:cover !important;
  border-radius:10px !important; background:#0C0A06 !important; margin-bottom:12px !important;
}
.woocommerce.archive ul.products li.product .woocommerce-loop-product__title,
.tax-product_cat ul.products li.product .woocommerce-loop-product__title{
  color:#F5F0E6 !important; font-size:15px !important; font-weight:600 !important;
  font-family:'DM Sans',sans-serif !important; padding:0 !important; margin:0 0 6px !important;
}
.woocommerce.archive ul.products li.product .price,
.tax-product_cat ul.products li.product .price{
  color:#C99F44 !important; font-weight:700 !important; font-size:16px !important; margin-bottom:12px !important;
}
.woocommerce.archive ul.products li.product .button,
.tax-product_cat ul.products li.product .button{
  display:block !important; width:100% !important; text-align:center !important;
  background:#C6A044 !important; color:#141109 !important; border-radius:10px !important;
  margin-top:auto !important; padding:12px 16px !important; font-weight:700 !important;
}
.woocommerce.archive .woocommerce-products-header__title,
.tax-product_cat .woocommerce-products-header__title{
  font-family:'Bodoni Moda',Georgia,serif !important; color:#F5F0E6 !important;
  text-transform:uppercase !important; font-size:32px !important;
}
.woocommerce.archive .term-description p,
.tax-product_cat .term-description p{ color:#9C947F !important; max-width:680px; }
.woocommerce.archive .woocommerce-result-count,
.woocommerce.archive .woocommerce-ordering,
.tax-product_cat .woocommerce-result-count,
.tax-product_cat .woocommerce-ordering{ color:#9C947F !important; }
@media(max-width:1024px){
  .woocommerce.archive ul.products, .tax-product_cat ul.products{ grid-template-columns:repeat(2,1fr) !important; }
}

/* ===== Xpro dropdown - correct selectors ===== */
.rgv-site-header ul.xpro-elementor-dropdown-menu{
  background:#0C0A06 !important; border:1px solid rgba(183,143,56,0.22) !important;
  border-radius:12px !important; padding:8px !important; min-width:232px !important;
  box-shadow:0 24px 48px rgba(0,0,0,0.55) !important; list-style:none !important; margin-top:8px !important; }
.rgv-site-header ul.xpro-elementor-dropdown-menu li{ border:none !important; margin:0 !important; }
.rgv-site-header a.xpro-elementor-dropdown-item{
  display:block !important; padding:11px 14px !important; border-radius:8px !important;
  color:#F5F0E6 !important; font-family:'DM Sans',sans-serif !important;
  font-size:14px !important; font-weight:500 !important; text-transform:none !important;
  letter-spacing:0 !important; text-decoration:none !important; transition:background .16s ease, color .16s ease; }
.rgv-site-header a.xpro-elementor-dropdown-item:hover{ background:rgba(183,143,56,0.12) !important; color:#E0BE6A !important; }
/* hover fallback in case the toggle script does not fire */
@media(min-width:1025px){
  .rgv-site-header li.dropdown{ position:relative !important; }
  .rgv-site-header li.dropdown:hover > ul.xpro-elementor-dropdown-menu{ display:block !important; opacity:1 !important; visibility:visible !important; transform:none !important; }
  .rgv-site-header .xpro-dropdown-menu-toggle{ margin-left:5px; }
}
/* mobile overlay: children inline under the parent */
@media(max-width:1024px){
  .rgv-site-header ul.xpro-elementor-dropdown-menu{
    position:static !important; display:block !important; opacity:1 !important; visibility:visible !important;
    background:transparent !important; border:none !important; box-shadow:none !important;
    min-width:0 !important; padding:2px 0 8px 0 !important; margin:0 !important; transform:none !important; }
  .rgv-site-header a.xpro-elementor-dropdown-item{
    padding:9px 0 9px 18px !important; font-size:14.5px !important; color:#C9C1AE !important;
    border-left:1px solid rgba(183,143,56,0.20) !important; border-radius:0 !important; }
  .rgv-site-header a.xpro-elementor-dropdown-item::before{ content:none !important; }
  .rgv-site-header .xpro-dropdown-menu-toggle{ display:none !important; }
}

/* ============ "Also available bundled with" notice ============ */
.rgv-bundle-notes{ margin:0 0 22px; display:flex; flex-direction:column; gap:8px; }
.rgv-bundle-note{
  display:flex; align-items:center; justify-content:space-between; gap:14px;
  padding:13px 16px; border-radius:11px;
  background:rgba(183,143,56,0.06) !important;
  border:1px dashed rgba(183,143,56,0.32) !important;
  text-decoration:none !important;
  transition:background .18s ease, border-color .18s ease, transform .14s ease; }
.rgv-bundle-note:hover{ background:rgba(183,143,56,0.12) !important; border-color:#B78F38 !important; transform:translateY(-1px); }
.rgv-bn-label{ font-family:'DM Sans',sans-serif !important; font-size:14px !important; color:#F5F0E6 !important; line-height:1.4; }
.rgv-bn-save{
  flex:0 0 auto; font-family:'DM Sans',sans-serif !important; font-size:13px !important;
  font-weight:700 !important; color:#141109 !important; background:#C6A044 !important;
  padding:6px 12px; border-radius:999px; white-space:nowrap; }
.rgv-bn-save .amount, .rgv-bn-save bdi{ color:#141109 !important; font-weight:700 !important; }
@media(max-width:600px){
  .rgv-bundle-note{ flex-direction:column; align-items:flex-start; gap:9px; padding:12px 14px; }
  .rgv-bn-label{ font-size:13.5px !important; }
}


/* ---- rgv-dropdown.css ---- */
/* RGV Compound - Shop dropdown v2. High specificity via the Xpro widget wrapper. */

/* ============ DESKTOP: open on hover ============ */
@media(min-width:1025px){
  body .elementor-element-707bf83 li.dropdown{ position:relative !important; }

  body .elementor-element-707bf83 ul.xpro-elementor-dropdown-menu{
    display:block !important;
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
    position:absolute !important;
    top:100% !important;
    left:0 !important;
    margin:0 !important;
    padding:10px !important;
    min-width:238px !important;
    background:#0C0A06 !important;
    background-color:#0C0A06 !important;
    background-image:none !important;
    border:1px solid rgba(183,143,56,0.26) !important;
    border-radius:12px !important;
    box-shadow:0 26px 52px rgba(0,0,0,0.60) !important;
    list-style:none !important;
    z-index:99999 !important;
    transform:translateY(6px) !important;
    transition:opacity .18s ease, transform .18s ease, visibility .18s ease !important;
  }

  body .elementor-element-707bf83 li.dropdown::after{
    content:""; position:absolute; left:0; right:0; top:100%; height:16px;
  }

  body .elementor-element-707bf83 li.dropdown:hover > ul.xpro-elementor-dropdown-menu,
  body .elementor-element-707bf83 li.dropdown:focus-within > ul.xpro-elementor-dropdown-menu{
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transform:translateY(0) !important;
  }

  body .elementor-element-707bf83 ul.xpro-elementor-dropdown-menu li{
    border:none !important; margin:0 !important; width:100% !important; background:transparent !important;
  }

  body .elementor-element-707bf83 a.xpro-elementor-dropdown-item{
    display:block !important;
    padding:11px 14px !important;
    border-radius:8px !important;
    background:transparent !important;
    color:#F5F0E6 !important;
    font-family:'DM Sans',sans-serif !important;
    font-size:14.5px !important;
    font-weight:500 !important;
    text-transform:none !important;
    letter-spacing:0 !important;
    white-space:nowrap !important;
    transition:background .16s ease, color .16s ease;
  }
  body .elementor-element-707bf83 a.xpro-elementor-dropdown-item:hover{
    background:rgba(183,143,56,0.13) !important;
    color:#E0BE6A !important;
  }
  body .elementor-element-707bf83 .xpro-dropdown-menu-toggle{
    display:inline-block !important; margin-left:6px !important;
  }
}

/* ============ MOBILE: SHOP matches siblings, children nested + dark ============ */
@media(max-width:1024px){
  .rgv-site-header .xpro-elementor-horizontal-navbar-nav > li.dropdown > a{
    display:flex !important;
    align-items:baseline !important;
    gap:16px !important;
    text-align:left !important;
    color:#F5F0E6 !important;
    font-family:'Bodoni Moda',Didot,serif !important;
    font-weight:700 !important;
    text-transform:uppercase !important;
    letter-spacing:.02em !important;
    font-size:26px !important;
    padding:22px 6px !important;
    background:transparent !important;
    transition:color .18s ease;
  }
  /* Xpro hardcodes a #c92a61 bar on every top level link via a::before. The
     desktop override further down this file repaints it gold, but it was
     scoped to min-width:1025px, so on mobile the pink bar survived - and a
     leftover counter experiment was printing a stray number inside it.
     There is no underline in the mobile design, so remove the pseudo. */
  .rgv-site-header .xpro-elementor-horizontal-navbar-nav > li > a::before,
  .rgv-site-header .xpro-elementor-horizontal-navbar-nav > li.dropdown > a::before,
  body [class*="xpro-elementor-horizontal-menu-style-"] .xpro-elementor-horizontal-navbar-nav > li > a::before,
  body [class*="xpro-elementor-horizontal-menu-style-"] .xpro-elementor-horizontal-navbar-nav > li:hover > a::before,
  body [class*="xpro-elementor-horizontal-menu-style-"] .xpro-elementor-horizontal-navbar-nav > li.current-menu-item > a::before{
    content:none !important;
    display:none !important;
    background:transparent !important;
    background-color:transparent !important;
    background-image:none !important;
    width:0 !important;
    height:0 !important;
  }
  .rgv-site-header .xpro-elementor-horizontal-navbar-nav > li.dropdown > a:hover{ color:#C99F44 !important; }
  .rgv-site-header .xpro-dropdown-menu-toggle{ display:none !important; }

  body .elementor-element-707bf83 ul.xpro-elementor-dropdown-menu,
  .rgv-site-header ul.xpro-elementor-dropdown-menu{
    position:static !important;
    display:block !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transform:none !important;
    box-shadow:none !important;
    background:transparent !important;
    background-color:transparent !important;
    background-image:none !important;
    border:none !important;
    border-radius:0 !important;
    min-width:0 !important;
    margin:0 0 16px 0 !important;
    padding:0 0 0 24px !important;
    list-style:none !important;
  }
  body .elementor-element-707bf83 ul.xpro-elementor-dropdown-menu li,
  .rgv-site-header ul.xpro-elementor-dropdown-menu li{
    border:none !important;
    border-bottom:none !important;
    margin:0 !important;
    background:transparent !important;
    background-color:transparent !important;
  }
  body .elementor-element-707bf83 a.xpro-elementor-dropdown-item,
  .rgv-site-header a.xpro-elementor-dropdown-item{
    display:block !important;
    padding:13px 0 13px 18px !important;
    background:transparent !important;
    background-color:transparent !important;
    background-image:none !important;
    color:#C9C1AE !important;
    font-family:'DM Sans',sans-serif !important;
    font-size:16px !important;
    font-weight:500 !important;
    text-transform:none !important;
    letter-spacing:0 !important;
    border-left:1px solid rgba(183,143,56,0.22) !important;
    border-radius:0 !important;
    white-space:normal !important;
  }
  body .elementor-element-707bf83 a.xpro-elementor-dropdown-item:hover,
  .rgv-site-header a.xpro-elementor-dropdown-item:hover{
    color:#C99F44 !important;
    background:transparent !important;
  }
  .rgv-site-header a.xpro-elementor-dropdown-item::before{ content:none !important; }
}

/* ================= RGV POLISH: tap/selection/focus + submenu toggle ================= */
html, body, a, button, input, select, textarea,
.rgv-site-header a, .rgv-site-header button,
.woocommerce a, .woocommerce button, .woocommerce .button,
li.product a, li.product .button, .rgv-dw-panel a, .rgv-dw-panel button{
  -webkit-tap-highlight-color:rgba(0,0,0,0) !important;
}
::selection{ background:rgba(183,143,56,0.32) !important; color:#F5F0E6 !important; }
::-moz-selection{ background:rgba(183,143,56,0.32) !important; color:#F5F0E6 !important; }
a:focus, button:focus, .button:focus,
.rgv-site-header a:focus, .rgv-site-header button:focus,
.woocommerce a:focus, .woocommerce button:focus, .woocommerce .button:focus,
li.product a:focus{ outline:none !important; box-shadow:none !important; }
a:focus-visible, button:focus-visible, .button:focus-visible,
input:focus-visible, select:focus-visible, textarea:focus-visible{
  outline:2px solid rgba(183,143,56,0.75) !important; outline-offset:2px !important; }

@media(max-width:1024px){
  body .elementor-element-707bf83 li.dropdown > ul.xpro-elementor-dropdown-menu,
  .rgv-site-header li.dropdown > ul.xpro-elementor-dropdown-menu{
    display:none !important; opacity:1 !important; visibility:visible !important; }
  body .elementor-element-707bf83 li.dropdown.rgv-open > ul.xpro-elementor-dropdown-menu,
  .rgv-site-header li.dropdown.rgv-open > ul.xpro-elementor-dropdown-menu{
    display:block !important; animation:rgvSubIn .26s ease both; }
  .rgv-site-header .xpro-elementor-horizontal-navbar-nav > li.dropdown > a::after{
    content:"\25BE"; margin-left:9px;
    font-family:'IBM Plex Mono',monospace !important; font-size:20px !important;
    font-weight:400 !important; line-height:1; color:#9A7B33 !important;
    transition:transform .24s ease, color .22s ease; transform-origin:center; display:inline-block; }
  .rgv-site-header .xpro-elementor-horizontal-navbar-nav > li.dropdown.rgv-open > a::after{
    transform:rotate(180deg); color:#C99F44 !important; }
  .rgv-site-header .xpro-elementor-horizontal-navbar-nav > li.dropdown.rgv-open > a{ color:#C99F44 !important; }
}
@keyframes rgvSubIn{ from{ opacity:0; transform:translateY(-6px); } to{ opacity:1; transform:translateY(0); } }
@media(prefers-reduced-motion:reduce){ .rgv-site-header li.dropdown.rgv-open > ul.xpro-elementor-dropdown-menu{ animation:none !important; } }

/* ============ UNDERLINE COLOUR: Xpro underlineFromLeft defaults to crimson ============ */
@media(min-width:1025px){
  body .elementor-element-707bf83 .xpro-elementor-nav-link::before,
  body .elementor-element-707bf83 .xpro-elementor-nav-link::after,
  body .elementor-element-707bf83 a.nav-link::before,
  body .elementor-element-707bf83 a.nav-link::after,
  body .elementor-element-707bf83 a.dropdown-toggle::before,
  body .elementor-element-707bf83 a.dropdown-toggle::after,
  body .elementor-element-707bf83 li.nav-item::before,
  body .elementor-element-707bf83 li.nav-item::after{
    background:#B78F38 !important;
    background-color:#B78F38 !important;
    background-image:none !important;
    border-color:#B78F38 !important; }
  body .elementor-element-707bf83 .xpro-elementor-nav-link,
  body .elementor-element-707bf83 a.nav-link,
  body .elementor-element-707bf83 a.dropdown-toggle{
    border-bottom-color:#B78F38 !important; text-decoration-color:#B78F38 !important; }
}

/* ===== CRIMSON OVERRIDE: xpro-widgets.css hardcodes background-color:#c92a61 ===== */
@media(min-width:1025px){
body [class*="xpro-elementor-horizontal-menu-style-"] .xpro-elementor-horizontal-navbar-nav > li > a::before,
body [class*="xpro-elementor-horizontal-menu-style-"] .xpro-elementor-horizontal-navbar-nav > li > a::after,
body [class*="xpro-elementor-horizontal-menu-style-"] .xpro-elementor-horizontal-navbar-nav > li:hover > a::before,
body [class*="xpro-elementor-horizontal-menu-style-"] .xpro-elementor-horizontal-navbar-nav > li:hover > a::after,
body [class*="xpro-elementor-horizontal-menu-style-"] .xpro-elementor-horizontal-navbar-nav > li.current_page_item > a::before,
body [class*="xpro-elementor-horizontal-menu-style-"] .xpro-elementor-horizontal-navbar-nav > li.current-menu-item > a::before,
body [class*="xpro-elementor-horizontal-menu-style-"] .xpro-elementor-horizontal-navbar-nav > li.dropdown > a::before,
body [class*="xpro-elementor-horizontal-menu-style-"] .xpro-elementor-horizontal-navbar-nav > li.dropdown > a::after{
  background:#B78F38 !important;
  background-color:#B78F38 !important;
  background-image:none !important;
  border-color:#B78F38 !important; }
}

/* ===== KILL AFTER BLOCK: only ::before is the underline; ::after is a large box ===== */
@media(min-width:1025px){
body [class*="xpro-elementor-horizontal-menu-style-"] .xpro-elementor-horizontal-navbar-nav > li > a::after,
body [class*="xpro-elementor-horizontal-menu-style-"] .xpro-elementor-horizontal-navbar-nav > li:hover > a::after,
body [class*="xpro-elementor-horizontal-menu-style-"] .xpro-elementor-horizontal-navbar-nav > li.current_page_item > a::after,
body [class*="xpro-elementor-horizontal-menu-style-"] .xpro-elementor-horizontal-navbar-nav > li.current-menu-item > a::after,
body [class*="xpro-elementor-horizontal-menu-style-"] .xpro-elementor-horizontal-navbar-nav > li.dropdown > a::after,
body [class*="xpro-elementor-horizontal-menu-style-"] .xpro-elementor-horizontal-navbar-nav > li.dropdown:hover > a::after{
  content:none !important;
  display:none !important;
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
  border:none !important;
  width:0 !important; height:0 !important; }
  /* keep the underline itself tidy */
body [class*="xpro-elementor-horizontal-menu-style-"] .xpro-elementor-horizontal-navbar-nav > li > a::before{ height:2px !important; bottom:-4px !important; }
}

/* ===== BRIDGE TRANSPARENT: li.nav-item::after is my invisible hover bridge, never paint it ===== */
@media(min-width:1025px){
  body .elementor-element-707bf83 li.nav-item::before,
  body .elementor-element-707bf83 li.nav-item::after,
  body .elementor-element-707bf83 li.dropdown::before,
  body .elementor-element-707bf83 li.dropdown::after,
  body [class*="xpro-elementor-horizontal-menu-style-"] .xpro-elementor-horizontal-navbar-nav > li::before,
  body [class*="xpro-elementor-horizontal-menu-style-"] .xpro-elementor-horizontal-navbar-nav > li::after{
    background:transparent !important;
    background-color:transparent !important;
    background-image:none !important;
    border-color:transparent !important;
    box-shadow:none !important; }
}


/* ---- rgv-productpage.css ---- */
/* RGV Compound - single product page summary column */

.single-product div.product .summary.entry-summary{ padding-left:8px; }

/* ---- title + price ---- */
.single-product div.product .summary .product_title{
  font-family:'DM Sans',sans-serif !important;
  font-size:clamp(34px,4.4vw,54px) !important;
  line-height:1.04 !important;
  font-weight:700 !important;
  color:#FFFFFF !important;
  letter-spacing:-0.01em !important;
  margin:0 0 14px !important;
}
.single-product div.product .summary > p.price,
.single-product div.product .summary > .price{
  font-family:'DM Sans',sans-serif !important;
  font-size:clamp(26px,3vw,34px) !important;
  font-weight:700 !important;
  color:#D9B45F !important;
  margin:0 0 22px !important;
}
.single-product div.product .summary > .price .amount,
.single-product div.product .summary > .price bdi{ color:#D9B45F !important; }

/* ---- short description ---- */
.single-product div.product .summary .woocommerce-product-details__short-description,
.single-product div.product .summary .woocommerce-product-details__short-description p{
  font-size:16px !important;
  line-height:1.6 !important;
  color:#A9A192 !important;
  margin:0 0 26px !important;
}

/* ---- size swatches ---- */
.rgv-hidden-select{
  position:absolute !important; width:1px !important; height:1px !important;
  overflow:hidden !important; clip:rect(0 0 0 0) !important; white-space:nowrap !important;
}
.single-product div.product .variations{ margin:0 0 6px !important; background:transparent !important; border:none !important; }
.single-product div.product .variations table,
.single-product div.product .variations tbody,
.single-product div.product .variations tr,
.single-product div.product .variations td,
.single-product div.product .variations th{
  display:block !important; width:100% !important; background:transparent !important;
  border:none !important; padding:0 !important; margin:0 !important;
}
.single-product div.product .variations .label,
.single-product div.product .variations label{
  display:block !important;
  font-family:'DM Sans',sans-serif !important;
  font-size:15px !important; font-weight:500 !important;
  color:#A9A192 !important; text-transform:none !important;
  letter-spacing:0 !important; margin:0 0 12px !important;
}
.rgv-swatches{ display:flex; flex-wrap:wrap; gap:12px; margin:0 0 20px; }
.rgv-swatch{
  min-width:84px; padding:15px 22px;
  border-radius:14px;
  background:#141109 !important;
  border:1px solid rgba(183,143,56,0.30) !important;
  color:#F5F0E6 !important;
  font-family:'DM Sans',sans-serif !important;
  font-size:16px !important; font-weight:600 !important;
  cursor:pointer; line-height:1;
  transition:background .16s ease, border-color .16s ease, color .16s ease, transform .12s ease;
}
.rgv-swatch:hover{ border-color:#B78F38 !important; transform:translateY(-1px); }
.rgv-swatch.is-active{
  background:#D9B45F !important; border-color:#D9B45F !important; color:#141109 !important;
}
.rgv-swatch.is-unavailable{
  color:#6B6455 !important; border-color:rgba(183,143,56,0.14) !important;
  text-decoration:line-through; cursor:not-allowed; background:transparent !important;
}
.rgv-swatch.is-unavailable:hover{ transform:none; border-color:rgba(183,143,56,0.14) !important; }

/* selected variation price */
.single-product div.product .woocommerce-variation-price .price,
.single-product div.product .woocommerce-variation-price .amount{
  font-family:'DM Sans',sans-serif !important;
  font-size:24px !important; font-weight:700 !important; color:#D9B45F !important;
}
.single-product div.product .woocommerce-variation{ margin-bottom:12px !important; }
.single-product div.product .woocommerce-variation-availability p{ color:#A9A192 !important; margin:6px 0 0 !important; }
.single-product div.product .reset_variations{
  display:inline-block !important; font-size:13px !important; color:#8A8272 !important; margin-left:2px;
}

/* ---- frequently bought with this ---- */
.rgv-fbt{
  border:1px solid rgba(183,143,56,0.22);
  border-radius:16px;
  padding:18px;
  margin:6px 0 22px;
  background:rgba(183,143,56,0.035);
}
.rgv-fbt-head{
  font-family:'DM Sans',sans-serif !important;
  font-size:16px !important; font-weight:700 !important;
  color:#F5F0E6 !important; margin-bottom:14px;
}
.rgv-fbt-row{ display:flex; align-items:center; gap:14px; padding:9px 0; }
.rgv-fbt-row + .rgv-fbt-row{ border-top:1px dashed rgba(183,143,56,0.16); }
.rgv-fbt-thumb{ flex:0 0 62px; width:62px; height:62px; border-radius:11px; overflow:hidden; background:#171207; border:1px solid rgba(183,143,56,0.14); }
.rgv-fbt-thumb img{ width:100% !important; height:100% !important; object-fit:cover !important; display:block; }
.rgv-fbt-info{ flex:1 1 auto; min-width:0; display:flex; flex-direction:column; gap:4px; }
.rgv-fbt-name{
  font-family:'DM Sans',sans-serif !important; font-size:15px !important; font-weight:600 !important;
  color:#F5F0E6 !important; text-decoration:none !important; line-height:1.3;
}
.rgv-fbt-name:hover{ color:#D9B45F !important; }
.rgv-fbt-price, .rgv-fbt-price .amount, .rgv-fbt-price bdi{
  font-size:14px !important; color:#D9B45F !important; font-weight:600 !important;
}
.rgv-fbt-add{
  flex:0 0 auto; background:transparent !important; color:#D9B45F !important;
  border:1px solid rgba(183,143,56,0.42) !important; border-radius:10px !important;
  font-family:'DM Sans',sans-serif !important; font-size:14px !important; font-weight:700 !important;
  padding:10px 20px !important; cursor:pointer; text-decoration:none !important;
  transition:background .16s ease, color .16s ease;
}
.rgv-fbt-add:hover{ background:#D9B45F !important; color:#141109 !important; }
.rgv-fbt-add.is-loading{ opacity:.6; pointer-events:none; }
.rgv-fbt-add.is-added{ background:#D9B45F !important; color:#141109 !important; }

/* ---- quantity + add to cart ---- */
.single-product div.product form.cart{ display:block !important; margin-bottom:26px !important; }
.single-product div.product form.cart .quantity{
  display:inline-flex !important; vertical-align:middle; margin:0 12px 0 0 !important;
}
.single-product div.product form.cart .quantity input.qty{
  width:76px !important; height:62px !important;
  background:#0F0C07 !important; border:1px solid rgba(183,143,56,0.28) !important;
  border-radius:13px !important; color:#F5F0E6 !important;
  font-size:17px !important; text-align:center !important;
}
.single-product div.product form.cart button.single_add_to_cart_button{
  width:calc(100% - 88px) !important;
  height:62px !important;
  background:#D9B45F !important; color:#141109 !important;
  border:none !important; border-radius:13px !important;
  font-family:'DM Sans',sans-serif !important;
  font-size:17px !important; font-weight:700 !important;
  text-transform:uppercase !important; letter-spacing:.06em !important;
  vertical-align:middle;
  transition:background .18s ease, transform .12s ease;
}
.single-product div.product form.cart button.single_add_to_cart_button:hover{
  background:#E8C878 !important; transform:translateY(-1px);
}
.single-product div.product form.cart button.single_add_to_cart_button.disabled,
.single-product div.product form.cart button.single_add_to_cart_button:disabled{
  background:rgba(217,180,95,0.34) !important; color:rgba(20,17,9,0.55) !important; transform:none;
}

/* ---- product meta ---- */
.single-product div.product .product_meta{
  border-top:1px solid rgba(183,143,56,0.16); padding-top:16px; margin-top:4px;
  font-size:13.5px !important; color:#8A8272 !important;
}
.single-product div.product .product_meta a{ color:#C99F44 !important; }

/* ---- bundle notice sits under the price ---- */
.single-product .rgv-bundle-notes{ margin:0 0 22px !important; }

/* ---- mobile ---- */
@media(max-width:767px){
  .single-product div.product .summary.entry-summary{ padding-left:0; }
  .rgv-swatch{ min-width:74px; padding:13px 18px; font-size:15px !important; }
  .single-product div.product form.cart .quantity input.qty{ width:66px !important; height:56px !important; }
  .single-product div.product form.cart button.single_add_to_cart_button{
    width:calc(100% - 78px) !important; height:56px !important; font-size:15px !important;
  }
  .rgv-fbt{ padding:15px; }
  .rgv-fbt-thumb{ flex:0 0 54px; width:54px; height:54px; }
}


/* ---- rgv-productpage2.css ---- */
/* RGV Compound - product summary v2: visible title, single column, full-width CTA */

/* ---- title must show (it carries .entry-title, hidden site-wide) ---- */
.single-product div.product .summary h1.product_title,
.single-product div.product .summary .product_title.entry-title{
  display:block !important;
  visibility:visible !important;
  font-family:'DM Sans',sans-serif !important;
  font-size:clamp(32px,4.2vw,52px) !important;
  line-height:1.05 !important;
  font-weight:700 !important;
  color:#FFFFFF !important;
  letter-spacing:-0.015em !important;
  margin:0 0 12px !important;
}

/* ---- tighten the stack ---- */
.single-product div.product .summary > p.price{ margin:0 0 18px !important; }
.single-product .rgv-bundle-notes{ margin:0 0 18px !important; }
.single-product div.product .summary .woocommerce-product-details__short-description{ margin:0 0 20px !important; }
.single-product div.product .summary .woocommerce-product-details__short-description .woocommerce-product-details__short-description{ margin:0 !important; }
.single-product div.product .summary .woocommerce-product-details__short-description p{ margin:0 !important; }

/* ---- single column: nothing sits beside anything ---- */
.single-product div.product form.cart,
.single-product div.product form.variations_form.cart{
  display:block !important;
  float:none !important;
  width:100% !important;
  margin:0 0 22px !important;
}
.single-product div.product form.cart::after{ content:""; display:block; clear:both; }
.single-product div.product form.cart > *{ float:none !important; }
.single-product div.product .variations{ margin:0 0 4px !important; }
.single-product div.product .woocommerce-variation-add-to-cart{
  display:block !important; width:100% !important; float:none !important;
}

/* ---- size label + swatches ---- */
.single-product div.product .variations .label,
.single-product div.product .variations label{
  font-size:15px !important; color:#A9A192 !important; margin:0 0 10px !important;
}
.rgv-swatches{ margin:0 0 18px !important; }

/* ---- hide the Clear link ---- */
.single-product div.product .reset_variations{ display:none !important; }

/* ---- variation price block ---- */
.single-product div.product .woocommerce-variation{ margin:0 0 14px !important; }
.single-product div.product .woocommerce-variation-price{ margin:0 0 4px !important; }

/* ---- frequently bought: full width, above the button ---- */
.single-product div.product form.cart .rgv-fbt{
  display:block !important;
  width:100% !important;
  float:none !important;
  clear:both !important;
  box-sizing:border-box !important;
  margin:0 0 18px !important;
}

/* ---- quantity hidden, CTA full-width pill ---- */
.single-product div.product form.cart .quantity{ display:none !important; }

.single-product div.product form.cart button.single_add_to_cart_button,
.single-product div.product form.cart .single_add_to_cart_button{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  float:none !important;
  clear:both !important;
  height:66px !important;
  line-height:66px !important;
  padding:0 !important;
  background:#D9B45F !important;
  color:#141109 !important;
  border:none !important;
  border-radius:999px !important;
  font-family:'DM Sans',sans-serif !important;
  font-size:17px !important;
  font-weight:700 !important;
  text-transform:uppercase !important;
  letter-spacing:.06em !important;
  text-align:center !important;
  transition:background .18s ease, transform .12s ease;
}
.single-product div.product form.cart button.single_add_to_cart_button:hover{
  background:#E8C878 !important; transform:translateY(-1px);
}
.single-product div.product form.cart button.single_add_to_cart_button.disabled,
.single-product div.product form.cart button.single_add_to_cart_button:disabled{
  background:rgba(217,180,95,0.32) !important; color:rgba(20,17,9,0.55) !important; transform:none;
}

/* ---- FBT rows: keep them tidy at full width ---- */
.rgv-fbt-row{ align-items:center !important; }
.rgv-fbt-info{ flex:1 1 auto !important; }
.rgv-fbt-name{ font-size:15.5px !important; }
.rgv-fbt-add{ margin-left:auto !important; }

/* ---- meta ---- */
.single-product div.product .product_meta{ margin-top:0 !important; }

@media(max-width:767px){
  .single-product div.product .summary h1.product_title{ font-size:30px !important; }
  .single-product div.product form.cart button.single_add_to_cart_button{
    height:58px !important; line-height:58px !important; font-size:15px !important;
  }
  .rgv-fbt-row{ flex-wrap:nowrap !important; }
  .rgv-fbt-name{ font-size:14px !important; }
  .rgv-fbt-add{ padding:9px 15px !important; font-size:13px !important; }
}


/* ---- rgv-coabg.css ---- */
/* RGV Compound - COA section: certificate as background with dark scrim.
   Mirrors the treatment used on "Science you can trust". */

.rgv-coa-frame{
  position:relative !important;
  overflow:hidden !important;
  border-radius:18px !important;
  background-color:#0F0C07 !important;
  background-repeat:no-repeat, no-repeat !important;
  background-image:
    linear-gradient(90deg,
      rgba(12,10,6,0.97) 0%,
      rgba(13,11,7,0.94) 34%,
      rgba(13,11,7,0.76) 52%,
      rgba(13,11,7,0.46) 68%,
      rgba(12,10,6,0.34) 84%,
      rgba(12,10,6,0.52) 100%),
    url("https://rgvcompound.com/wp-content/uploads/2026/08/exec-160ee127-25d5-4494-9caa-894a64c71a3a.png") !important;
  background-size:auto, auto 112% !important;
  background-position:center, right -1% center !important;
}

/* soft vignette so the certificate melts into the panel edges */
.rgv-coa-frame::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(180deg, rgba(12,10,6,0.55) 0%, rgba(12,10,6,0) 22%, rgba(12,10,6,0) 74%, rgba(12,10,6,0.72) 100%),
    radial-gradient(120% 90% at 100% 50%, rgba(12,10,6,0) 42%, rgba(12,10,6,0.55) 100%);
}
.rgv-coa-frame > *{ position:relative; z-index:2; }

/* the old framed image slot is now redundant */
.rgv-coa-frame .rgv-coa-imgcol,
.rgv-coa-frame .rgv-hero-right{ display:none !important; }

/* keep the copy left, clear of the certificate */
@media(min-width:1025px){
  .rgv-coa-frame{
    min-height:560px !important;
    display:flex !important;
    align-items:center !important;
    padding:56px 48px !important;
  }
  .rgv-coa-frame .rgv-coa-text{
    max-width:56% !important;
    flex:0 1 56% !important;
  }
}

@media(min-width:1500px){
  .rgv-coa-frame{
    background-size:auto, auto 104% !important;
    background-position:center, right 3% center !important;
  }
  .rgv-coa-frame .rgv-coa-text{ max-width:52% !important; }
}

@media(min-width:768px) and (max-width:1024px){
  .rgv-coa-frame{
    min-height:460px !important;
    padding:44px 32px !important;
    background-size:auto, auto 96% !important;
    background-position:center, right -8% center !important;
    background-image:
      linear-gradient(90deg,
        rgba(12,10,6,0.97) 0%,
        rgba(13,11,7,0.93) 40%,
        rgba(13,11,7,0.70) 62%,
        rgba(12,10,6,0.44) 100%),
      url("https://rgvcompound.com/wp-content/uploads/2026/08/exec-160ee127-25d5-4494-9caa-894a64c71a3a.png") !important;
  }
  .rgv-coa-frame .rgv-coa-text{ max-width:70% !important; }
}

/* mobile: certificate sits behind, vertical scrim keeps the copy readable */
@media(max-width:767px){
  .rgv-coa-frame{
    min-height:0 !important;
    padding:38px 20px 42px !important;
    border-radius:14px !important;
    background-size:auto, auto 100% !important;
    background-position:center, center 18% !important;
    background-image:
      linear-gradient(180deg,
        rgba(12,10,6,0.72) 0%,
        rgba(13,11,7,0.90) 46%,
        rgba(12,10,6,0.96) 100%),
      url("https://rgvcompound.com/wp-content/uploads/2026/08/exec-160ee127-25d5-4494-9caa-894a64c71a3a.png") !important;
  }
  .rgv-coa-frame .rgv-coa-text{ max-width:100% !important; }
  .rgv-coa-frame::before{
    background:linear-gradient(180deg, rgba(12,10,6,0.45) 0%, rgba(12,10,6,0) 30%, rgba(12,10,6,0) 70%, rgba(12,10,6,0.65) 100%);
  }
}


/* ---- rgv-checkout.css ---- */
/* RGV Compound - two column checkout */

/* ---------- distraction free: hide nav + cart, keep the logo ---------- */
body.rgv-focus-checkout .rgv-site-header .xpro-elementor-horizontal-navbar-wrapper,
body.rgv-focus-checkout .rgv-site-header .elementor-widget-xpro-horizontal-menu,
body.rgv-focus-checkout .rgv-site-header .elementor-widget-button,
body.rgv-focus-checkout .rgv-site-header .xpro-elementor-navbar-toggler,
body.rgv-focus-checkout .rgv-cart-count{
  display:none !important;
}
body.rgv-focus-checkout .rgv-site-header .e-con-inner{ justify-content:center !important; }

/* ---------- shell ---------- */
.woocommerce-checkout .site-main{ max-width:1240px; margin:0 auto; padding:40px 20px 90px !important; }
.rgv-checkout{ display:block !important; }

.rgv-co-grid{
  display:grid;
  grid-template-columns:minmax(0,1.28fr) minmax(340px,0.95fr);
  gap:44px;
  align-items:start;
}
.rgv-co-main{ min-width:0; }

/* ---------- section headings ---------- */
.rgv-co-h,
.woocommerce-checkout .rgv-co-main h3,
.woocommerce-checkout #customer_details h3{
  font-family:'DM Sans',sans-serif !important;
  font-size:22px !important;
  font-weight:700 !important;
  color:#F5F0E6 !important;
  margin:0 0 16px !important;
  letter-spacing:0 !important;
  text-transform:none !important;
}
.rgv-co-secure{ font-size:13.5px !important; color:#8A8272 !important; margin:-8px 0 16px !important; }

/* ---------- customer details: single column stack ---------- */
.woocommerce-checkout #customer_details,
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2{
  display:block !important; width:100% !important; float:none !important; max-width:100% !important;
}
.woocommerce-checkout #customer_details{
  background:#100D08 !important;
  border:1px solid rgba(183,143,56,0.20) !important;
  border-radius:16px !important;
  padding:26px !important;
  margin:0 0 22px !important;
}
.woocommerce-checkout #customer_details .col-2{ margin-top:22px !important; }

/* two-up rows for first/last name etc. */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper{
  display:grid !important;
  grid-template-columns:1fr 1fr;
  gap:0 16px;
}
.woocommerce-checkout .form-row{ grid-column:1 / -1; margin:0 0 16px !important; padding:0 !important; }
.woocommerce-checkout #billing_first_name_field,
.woocommerce-checkout #shipping_first_name_field{ grid-column:1 !important; }
.woocommerce-checkout #billing_last_name_field,
.woocommerce-checkout #shipping_last_name_field{ grid-column:2 !important; }

/* ---------- payment block ---------- */
.rgv-co-payment{
  background:#100D08 !important;
  border:1px solid rgba(183,143,56,0.20) !important;
  border-radius:16px !important;
  padding:26px !important;
}
.woocommerce-checkout #payment{ background:transparent !important; border-radius:0 !important; }
.woocommerce-checkout #payment ul.payment_methods{
  background:transparent !important; border:none !important; padding:0 !important; margin:0 0 18px !important;
}
.woocommerce-checkout #payment ul.payment_methods li{
  background:#0F0C07 !important;
  border:1px solid rgba(183,143,56,0.22) !important;
  border-radius:12px !important;
  padding:14px 16px !important;
  margin:0 0 12px !important;
  list-style:none !important;
}
.woocommerce-checkout #payment ul.payment_methods li label{
  color:#F5F0E6 !important; font-size:15px !important; font-weight:600 !important;
  font-family:'DM Sans',sans-serif !important; text-transform:none !important; letter-spacing:0 !important;
}
.woocommerce-checkout #payment div.payment_box{
  background:#0B0906 !important;
  border:1px solid rgba(183,143,56,0.16) !important;
  border-radius:10px !important;
  margin:12px 0 0 !important;
  padding:14px !important;
  color:#C9C1AE !important;
}
.woocommerce-checkout #payment div.payment_box::before{ display:none !important; }
.woocommerce-checkout .woocommerce-privacy-policy-text p{ font-size:13px !important; color:#8A8272 !important; }
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper{ margin-top:14px; }
.woocommerce-checkout .woocommerce-terms-and-conditions-checkbox-text{ color:#C9C1AE !important; font-size:13.5px !important; }

/* place order */
.woocommerce-checkout #place_order{
  width:100% !important;
  height:62px !important;
  background:#D9B45F !important;
  color:#141109 !important;
  border:none !important;
  border-radius:999px !important;
  font-family:'DM Sans',sans-serif !important;
  font-size:16.5px !important;
  font-weight:700 !important;
  text-transform:uppercase !important;
  letter-spacing:.06em !important;
  margin-top:16px !important;
}
.woocommerce-checkout #place_order:hover{ background:#E8C878 !important; }

/* ---------- right panel ---------- */
.rgv-co-side{ position:sticky; top:96px; }
.rgv-co-panel{
  background:#100D08 !important;
  border:1px solid rgba(183,143,56,0.22) !important;
  border-radius:16px !important;
  padding:24px !important;
}
.rgv-co-panel .rgv-co-h{ font-size:19px !important; margin:0 0 14px !important; }
.rgv-co-toggle{ display:none; }

/* disclosures sit at the top of the panel */
.rgv-co-panel .rgv-disclosures{ margin:0 0 18px !important; background:#0B0906 !important; }

/* order table */
.woocommerce-checkout table.shop_table{
  background:transparent !important; border:none !important; margin:0 !important; width:100% !important;
}
.woocommerce-checkout table.shop_table th,
.woocommerce-checkout table.shop_table td{
  background:transparent !important;
  border:none !important;
  border-bottom:1px dashed rgba(183,143,56,0.16) !important;
  padding:13px 0 !important;
  color:#F5F0E6 !important;
  font-size:14.5px !important;
}
.woocommerce-checkout table.shop_table thead th{
  font-family:'IBM Plex Mono',monospace !important;
  font-size:10.5px !important; letter-spacing:.14em; text-transform:uppercase;
  color:#9A7B33 !important; padding-bottom:10px !important;
}
.woocommerce-checkout table.shop_table .product-name{ color:#F5F0E6 !important; }
.woocommerce-checkout table.shop_table .product-total,
.woocommerce-checkout table.shop_table .amount{ color:#D9B45F !important; font-weight:600 !important; }
.woocommerce-checkout table.shop_table tfoot th{
  color:#C9C1AE !important; font-weight:500 !important; text-transform:none !important;
  letter-spacing:0 !important; font-family:'DM Sans',sans-serif !important; font-size:14.5px !important;
}
.woocommerce-checkout table.shop_table tfoot .order-total th,
.woocommerce-checkout table.shop_table tfoot .order-total td{
  border-bottom:none !important; padding-top:16px !important;
  font-size:18px !important; font-weight:700 !important;
}
.woocommerce-checkout table.shop_table tfoot .order-total .amount{ font-size:20px !important; }
.woocommerce-checkout #shipping_method{ list-style:none !important; margin:0 !important; padding:0 !important; }
.woocommerce-checkout #shipping_method li{ margin:0 0 6px !important; }
.woocommerce-checkout #shipping_method label{ color:#F5F0E6 !important; font-size:14px !important; }
.woocommerce-checkout .woocommerce-shipping-destination{ color:#8A8272 !important; font-size:13px !important; }

/* ---------- promo code ---------- */
.rgv-co-coupon{ margin:0 0 18px; }
.rgv-co-coupon-label{
  display:block; font-family:'IBM Plex Mono',monospace !important;
  font-size:10.5px !important; letter-spacing:.14em; text-transform:uppercase;
  color:#9A7B33 !important; margin-bottom:9px;
}
.rgv-co-coupon-row{ display:flex; gap:9px; }
.rgv-co-coupon-row input.input-text{
  flex:1 1 auto; min-width:0;
  background:#0F0C07 !important; border:1.5px solid rgba(183,143,56,0.24) !important;
  border-radius:10px !important; color:#F5F0E6 !important;
  padding:12px 13px !important; font-size:14.5px !important;
}
.rgv-co-coupon-btn{
  flex:0 0 auto; background:transparent !important; color:#D9B45F !important;
  border:1px solid rgba(183,143,56,0.42) !important; border-radius:10px !important;
  padding:12px 20px !important; font-weight:700 !important; font-size:14px !important; cursor:pointer;
}
.rgv-co-coupon-btn:hover{ background:#D9B45F !important; color:#141109 !important; }
.rgv-co-coupon-msg{ font-size:13px; margin-top:8px; color:#8A8272; }
.rgv-co-coupon-msg.is-ok{ color:#7FBF6A; }
.rgv-co-coupon-msg.is-err{ color:#C0553F; }

/* ---------- coupon banner at top is relocated, hide any remnant ---------- */
.woocommerce-checkout .woocommerce-form-coupon-toggle{ display:none !important; }

/* ---------- responsive ---------- */
@media(max-width:1024px){
  .rgv-co-grid{ grid-template-columns:1fr; gap:24px; }
  .rgv-co-side{ position:static; order:-1; }

  .rgv-co-panel{ padding:0 !important; overflow:hidden; }
  .rgv-co-toggle{
    display:flex !important; width:100%; align-items:center; justify-content:space-between;
    gap:12px; padding:16px 18px; background:transparent !important; border:none !important;
    color:#F5F0E6 !important; cursor:pointer;
    font-family:'DM Sans',sans-serif !important; font-size:15px !important; font-weight:600 !important;
  }
  .rgv-co-toggle-label::after{ content:" \25BE"; color:#9A7B33; }
  .rgv-co-panel.is-open .rgv-co-toggle-label::after{ content:" \25B4"; }
  .rgv-co-toggle-total{ color:#D9B45F !important; font-weight:700 !important; font-size:17px !important; }
  .rgv-co-panel-inner{ display:none; padding:0 18px 20px; }
  .rgv-co-panel.is-open .rgv-co-panel-inner{ display:block; }

  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
  .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper{ grid-template-columns:1fr; }
  .woocommerce-checkout #billing_first_name_field,
  .woocommerce-checkout #billing_last_name_field,
  .woocommerce-checkout #shipping_first_name_field,
  .woocommerce-checkout #shipping_last_name_field{ grid-column:1 / -1 !important; }
}
@media(max-width:767px){
  .woocommerce-checkout .site-main{ padding:22px 14px 60px !important; }
  .woocommerce-checkout #customer_details,
  .rgv-co-payment{ padding:18px !important; }
  .rgv-co-h{ font-size:19px !important; }
}

/* ================= RGV EXPRESS TOP =================
   Wallet strip above the form. Hidden until the buttons actually render,
   so a failure leaves no empty gap - the page just looks as it did before.
   ================================================== */
.rgv-xp{ max-width:520px; margin:0 auto 26px; }
.rgv-xp[hidden]{ display:none !important; }
.rgv-xp-h{
  margin:0 0 10px; text-align:center;
  font-family:'IBM Plex Mono',ui-monospace,monospace;
  font-size:10.5px; letter-spacing:.12em; text-transform:uppercase;
  color:#6F675A;
}
.rgv-xp-host{ min-height:0; }
.rgv-xp-host > div{ margin:0; }
.rgv-xp-or{
  display:flex; align-items:center; gap:12px; margin:18px 0 0;
  font-family:'IBM Plex Mono',ui-monospace,monospace;
  font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:#8A8272;
}
.rgv-xp-or::before, .rgv-xp-or::after{
  content:""; flex:1 1 auto; height:1px; background:rgba(42,35,24,.16);
}
@media (max-width:1024px){
  .rgv-xp{ max-width:none; margin:0 0 20px; }
}

/* ================= RGV REQUIRED MARKERS =================
   Small red note on the field itself, replacing the block of text at the
   top of the form. Clears the moment the field has content.
   ======================================================= */
.rgv-req-note{
  display:block; margin:5px 0 0;
  font-family:'DM Sans',system-ui,sans-serif;
  font-size:11.5px; font-weight:600; letter-spacing:.01em;
  color:#C0392B;
}
.form-row.rgv-missing input[type=text],
.form-row.rgv-missing input[type=tel],
.form-row.rgv-missing input[type=email],
.form-row.rgv-missing textarea,
.form-row.rgv-missing select,
.form-row.rgv-missing .select2-selection{
  border-color:#C0392B !important;
}
.form-row.rgv-missing label{ color:#C0392B; }
/* the terms row is a checkbox, so sit the note under the whole row */
.form-row.rgv-missing.validate-required .rgv-req-note{ margin-left:0; }

/* ================= RGV DELIVERY TOGGLE =================
   The form is collapsed by a class JS adds. If scripts never run the form
   is simply visible - there is no state where a shopper cannot type an
   address.
   ====================================================== */
.rgv-dt{ margin:0 0 22px; }
.rgv-dt[hidden]{ display:none !important; }
.rgv-dt-btn{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  width:100%; padding:15px 18px; cursor:pointer;
  background:transparent; border:1px solid rgba(42,35,24,.22); border-radius:10px;
  font-family:'DM Sans',system-ui,sans-serif;
  font-size:15px; font-weight:600; color:#2A2318; text-align:left;
  transition:border-color .16s ease, background .16s ease;
}
.rgv-dt-btn:hover{ border-color:rgba(183,143,56,.55); background:rgba(183,143,56,.05); }
.rgv-dt-btn:focus-visible{ outline:2px solid #B78F38; outline-offset:2px; }
.rgv-dt-chev{ font-size:18px; line-height:1; color:#8A8272; }
body.rgv-dt-collapsed #customer_details{ display:none !important; }

/* ================= RGV TERMS TOP ================= */
.rgv-terms-top{ margin:0 0 18px; }
.rgv-terms-top .form-row{ margin:0; padding:0; }
.rgv-terms-top label{ display:flex; align-items:flex-start; gap:10px; cursor:pointer; }
.rgv-terms-top input[type=checkbox]{ margin:2px 0 0; flex:0 0 auto; }
.rgv-terms-top .woocommerce-terms-and-conditions-checkbox-text{
  font-family:'DM Sans',system-ui,sans-serif; font-size:13.5px; line-height:1.5; color:#4A4234;
}
.rgv-terms-top.rgv-missing .woocommerce-terms-and-conditions-checkbox-text{ color:#C0392B; }

/* ================= RGV DELIVERY TOGGLE OPEN STATE ================= */
.rgv-dt-chev{ transition:transform .18s ease; }
.rgv-dt-btn[aria-expanded="true"] .rgv-dt-chev{ transform:rotate(180deg); }
.rgv-dt-btn[aria-expanded="true"]{ border-color:rgba(42,35,24,.14); }


/* ---- rgv-checkout-light.css ---- */
/* ==========================================================================
   RGV Compound - checkout, light edition.
   Loads last. Rebuilds checkout as a full bleed two column layout:
   white form on the left, cream summary rail on the right.
   Everything is scoped to body.rgv-focus-checkout so no other page moves.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Repoint the shared shop variables.
   Every dark rule in rgv-forms.css and rgv-checkout.css reads these custom
   properties, so recolouring them here recolours all of those rules at once
   instead of fighting each selector on specificity.
   -------------------------------------------------------------------------- */
body.rgv-focus-checkout{
  --rgvc-gold:#C6A044;
  --rgvc-gold-soft:#8F6E27;
  --rgvc-gold-hover:#D4B45C;
  --rgvc-label:#8A7B55;
  --rgvc-page-bg:#FFFFFF;
  --rgvc-card:transparent;
  --rgvc-card-2:transparent;
  --rgvc-field:#FFFFFF;
  --rgvc-border:#E4DCC9;
  --rgvc-text:#171310;
  --rgvc-pad:0px;
  --rgvc-radius:0px;
  --rgvc-maxw:none;

  --co-white:#FFFFFF;
  --co-panel:#F6EFDF;
  --co-panel-2:#EFE6D1;
  --co-ink:#171310;
  --co-ink-2:#6B6350;
  --co-ink-3:#8E8672;
  --co-line:#E7E0CF;
  --co-line-2:#DBD1B9;
  --co-gold:#B78F38;
  --co-gold-dk:#8A6B25;
  --co-cta:#C6A044;
  --co-cta-hover:#D4B45C;

  background:var(--co-white) !important;
  color:var(--co-ink) !important;
  font-family:'DM Sans',sans-serif;
}

/* --------------------------------------------------------------------------
   2. Distraction free shell.
   Site header and footer are hidden; the logo and a short legal footer are
   rendered inside the left column by form-checkout.php instead.
   -------------------------------------------------------------------------- */
body.rgv-focus-checkout .rgv-site-header,
body.rgv-focus-checkout .rgv-site-footer{ display:none !important; }

body.rgv-focus-checkout #content,
body.rgv-focus-checkout .site-main,
body.rgv-focus-checkout .page-content,
body.rgv-focus-checkout .entry-content,
body.rgv-focus-checkout .woocommerce,
body.rgv-focus-checkout .rgv-checkout,
body.rgv-focus-checkout .rgv-co-grid{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
body.rgv-focus-checkout #content,
body.rgv-focus-checkout .site-main,
body.rgv-focus-checkout .page-content,
body.rgv-focus-checkout .woocommerce{
  max-width:none !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
}

/* --------------------------------------------------------------------------
   3. The split
   -------------------------------------------------------------------------- */
body.rgv-focus-checkout .rgv-co-grid{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:0 !important;
  align-items:stretch !important;
  min-height:100vh;
}
body.rgv-focus-checkout .rgv-co-main{
  background:var(--co-white) !important;
  padding:44px clamp(22px,3.4vw,54px) 64px clamp(22px,4.2vw,80px) !important;
  min-width:0;
}
body.rgv-focus-checkout .rgv-co-main > *{
  width:100%;
  max-width:560px;
  margin-left:auto !important;
  margin-right:0 !important;
}
body.rgv-focus-checkout .rgv-co-side{
  background:var(--co-panel) !important;
  border-left:1px solid var(--co-line-2) !important;
  padding:44px clamp(22px,4.2vw,80px) 64px clamp(22px,3.4vw,54px) !important;
  position:static !important;
  min-width:0;
}
body.rgv-focus-checkout .rgv-co-side > *{
  width:100%;
  max-width:470px;
  margin-right:auto !important;
  margin-left:0 !important;
}

/* --------------------------------------------------------------------------
   4. Logo + headings
   -------------------------------------------------------------------------- */
body.rgv-focus-checkout .rgv-co-brand{ margin:0 0 36px !important; }
body.rgv-focus-checkout .rgv-co-brand a{ display:inline-block; }
body.rgv-focus-checkout .rgv-co-brand img{ height:38px; width:auto; display:block; }

body.rgv-focus-checkout .rgv-co-h,
body.rgv-focus-checkout .woocommerce-checkout h3,
body.rgv-focus-checkout .woocommerce-checkout #customer_details h3,
body.rgv-focus-checkout .rgv-co-main h3{
  font-family:'DM Sans',sans-serif !important;
  font-size:20px !important;
  font-weight:700 !important;
  line-height:1.25 !important;
  color:var(--co-ink) !important;
  letter-spacing:-0.01em !important;
  text-transform:none !important;
  margin:0 0 16px !important;
}
body.rgv-focus-checkout .rgv-co-secure{
  font-size:13.5px !important;
  color:var(--co-ink-3) !important;
  margin:-10px 0 16px !important;
}
/* the summary column is self evident, keep the heading for screen readers only */
body.rgv-focus-checkout #order_review_heading{
  position:absolute !important;
  width:1px !important; height:1px !important;
  padding:0 !important; margin:-1px !important;
  overflow:hidden !important; clip:rect(0,0,0,0) !important;
  white-space:nowrap !important; border:0 !important;
}

/* --------------------------------------------------------------------------
   5. Left column: flat sections, no card chrome
   -------------------------------------------------------------------------- */
body.rgv-focus-checkout .woocommerce-checkout #customer_details,
body.rgv-focus-checkout .rgv-co-payment{
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  padding:0 !important;
  box-shadow:none !important;
  margin:0 0 36px !important;
}
body.rgv-focus-checkout .rgv-co-payment{ margin-bottom:0 !important; }
body.rgv-focus-checkout .woocommerce-checkout #customer_details .col-2{ margin-top:30px !important; }

/* --------------------------------------------------------------------------
   6. Fields
   -------------------------------------------------------------------------- */
body.rgv-focus-checkout .woocommerce form .form-row label,
body.rgv-focus-checkout .woocommerce-checkout .form-row label,
body.rgv-focus-checkout .woocommerce-checkout label{
  font-family:'DM Sans',sans-serif !important;
  font-size:13px !important;
  font-weight:500 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  color:var(--co-ink-2) !important;
  margin:0 0 7px !important;
  display:block;
}
body.rgv-focus-checkout .woocommerce-checkout .required{ color:#B4442E !important; text-decoration:none !important; }

body.rgv-focus-checkout .woocommerce form .form-row input.input-text,
body.rgv-focus-checkout .woocommerce form .form-row textarea,
body.rgv-focus-checkout .woocommerce form .form-row select,
body.rgv-focus-checkout .woocommerce-checkout .form-row input.input-text,
body.rgv-focus-checkout .woocommerce-checkout .form-row textarea,
body.rgv-focus-checkout .woocommerce-checkout .form-row select,
body.rgv-focus-checkout .select2-container--default .select2-selection--single{
  background:#FFFFFF !important;
  border:1px solid var(--co-line-2) !important;
  border-radius:9px !important;
  color:var(--co-ink) !important;
  font-family:'DM Sans',sans-serif !important;
  font-size:15px !important;
  line-height:1.35 !important;
  padding:13px 14px !important;
  min-height:50px !important;
  height:auto !important;
  box-shadow:none !important;
  transition:border-color .15s ease, box-shadow .15s ease;
}
body.rgv-focus-checkout .woocommerce-checkout .form-row textarea{ min-height:92px !important; }
body.rgv-focus-checkout .woocommerce-checkout .form-row input.input-text::placeholder,
body.rgv-focus-checkout .woocommerce-checkout .form-row textarea::placeholder{ color:#A79E88 !important; }

body.rgv-focus-checkout .woocommerce form .form-row input.input-text:focus,
body.rgv-focus-checkout .woocommerce form .form-row textarea:focus,
body.rgv-focus-checkout .woocommerce form .form-row select:focus,
body.rgv-focus-checkout .woocommerce-checkout .form-row input.input-text:focus,
body.rgv-focus-checkout .woocommerce-checkout .form-row textarea:focus,
body.rgv-focus-checkout .woocommerce-checkout .form-row select:focus{
  border-color:var(--co-gold) !important;
  box-shadow:0 0 0 3px rgba(183,143,56,0.15) !important;
  outline:none !important;
}
body.rgv-focus-checkout .select2-container--default .select2-selection--single .select2-selection__rendered{
  color:var(--co-ink) !important; line-height:24px !important;
}
body.rgv-focus-checkout .select2-dropdown{ background:#fff !important; border-color:var(--co-line-2) !important; color:var(--co-ink) !important; }

/* field grid: name pair, then state / zip pair */
body.rgv-focus-checkout .woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
body.rgv-focus-checkout .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper{
  display:grid !important;
  grid-template-columns:1fr 1fr;
  gap:0 14px !important;
}
body.rgv-focus-checkout .woocommerce-checkout .form-row{
  grid-column:1 / -1;
  margin:0 0 15px !important;
  padding:0 !important;
}
body.rgv-focus-checkout .woocommerce-checkout #billing_first_name_field,
body.rgv-focus-checkout .woocommerce-checkout #shipping_first_name_field,
body.rgv-focus-checkout .woocommerce-checkout #billing_state_field,
body.rgv-focus-checkout .woocommerce-checkout #shipping_state_field{ grid-column:1 !important; }
body.rgv-focus-checkout .woocommerce-checkout #billing_last_name_field,
body.rgv-focus-checkout .woocommerce-checkout #shipping_last_name_field,
body.rgv-focus-checkout .woocommerce-checkout #billing_postcode_field,
body.rgv-focus-checkout .woocommerce-checkout #shipping_postcode_field{ grid-column:2 !important; }

/* checkboxes */
body.rgv-focus-checkout input[type="checkbox"]{
  width:17px !important; height:17px !important;
  accent-color:var(--co-gold);
  margin:0 9px 0 0 !important; vertical-align:-3px;
}
body.rgv-focus-checkout #ship-to-different-address{ margin:4px 0 0 !important; }
body.rgv-focus-checkout #ship-to-different-address label,
body.rgv-focus-checkout #ship-to-different-address span{
  font-size:14.5px !important; font-weight:500 !important;
  color:var(--co-ink) !important; text-transform:none !important; letter-spacing:0 !important;
}

/* --------------------------------------------------------------------------
   7. Payment
   -------------------------------------------------------------------------- */
body.rgv-focus-checkout .woocommerce-checkout #payment{ background:transparent !important; border-radius:0 !important; }
body.rgv-focus-checkout .woocommerce-checkout #payment ul.payment_methods{
  background:transparent !important; border:0 !important; padding:0 !important; margin:0 !important;
}
body.rgv-focus-checkout .woocommerce-checkout #payment ul.payment_methods li{
  background:#FFFFFF !important;
  border:1px solid var(--co-line-2) !important;
  border-radius:11px !important;
  padding:15px 16px !important;
  margin:0 0 10px !important;
  list-style:none !important;
}
body.rgv-focus-checkout .woocommerce-checkout #payment ul.payment_methods li label{
  color:var(--co-ink) !important;
  font-size:15px !important; font-weight:600 !important;
  text-transform:none !important; letter-spacing:0 !important;
}
body.rgv-focus-checkout .woocommerce-checkout #payment div.payment_box{
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  color:var(--co-ink-2) !important;
  margin:14px 0 0 !important;
  padding:0 !important;
}
body.rgv-focus-checkout .woocommerce-checkout #payment div.payment_box::before,
body.rgv-focus-checkout .woocommerce-checkout #payment div.payment_box::after{ display:none !important; }

body.rgv-focus-checkout .woocommerce-checkout .woocommerce-privacy-policy-text p{
  font-size:12.8px !important; line-height:1.65 !important; color:var(--co-ink-3) !important; margin:18px 0 0 !important;
}
body.rgv-focus-checkout .woocommerce-checkout .woocommerce-terms-and-conditions-wrapper{ margin-top:14px !important; }
body.rgv-focus-checkout .woocommerce-checkout .woocommerce-terms-and-conditions-checkbox-text{
  color:var(--co-ink-2) !important; font-size:13.5px !important;
}
body.rgv-focus-checkout .woocommerce-checkout a{ color:var(--co-gold-dk) !important; }

body.rgv-focus-checkout .woocommerce-checkout #place_order,
body.rgv-focus-checkout .woocommerce #place_order{
  width:100% !important;
  min-height:56px !important;
  height:auto !important;
  background:var(--co-cta) !important;
  color:#171310 !important;
  border:0 !important;
  border-radius:10px !important;
  font-family:'DM Sans',sans-serif !important;
  font-size:16px !important;
  font-weight:700 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  padding:16px 24px !important;
  margin:20px 0 0 !important;
  box-shadow:none !important;
}
body.rgv-focus-checkout .woocommerce-checkout #place_order:hover,
body.rgv-focus-checkout .woocommerce #place_order:hover{
  background:var(--co-cta-hover) !important; transform:none !important;
}

/* --------------------------------------------------------------------------
   8. Summary panel
   Flex ordering puts the promo code below the summary on every breakpoint,
   and outside the mobile collapsible so it is always reachable.
   -------------------------------------------------------------------------- */
body.rgv-focus-checkout .rgv-co-panel{
  display:flex !important;
  flex-direction:column !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  padding:0 !important;
  position:sticky;
  top:38px;
}
body.rgv-focus-checkout .rgv-co-toggle{ display:none !important; order:1; }
body.rgv-focus-checkout .rgv-co-panel-inner{ order:2; display:block !important; padding:0 !important; }
body.rgv-focus-checkout .rgv-co-coupon{ order:3; }

/* disclosures card */
body.rgv-focus-checkout .rgv-disclosures{
  background:#FFFFFF !important;
  border:1px solid var(--co-line) !important;
  border-radius:12px !important;
  padding:16px 18px !important;
  margin:0 0 24px !important;
}
body.rgv-focus-checkout .rgv-disclosures h3{
  font-family:'DM Sans',sans-serif !important;
  font-size:14px !important; font-weight:700 !important;
  color:var(--co-ink) !important; margin:0 0 10px !important;
  text-transform:none !important; letter-spacing:0 !important;
}
body.rgv-focus-checkout .rgv-disclosures p{
  font-size:12.6px !important; line-height:1.6 !important;
  color:var(--co-ink-2) !important; margin:0 0 9px !important;
}
body.rgv-focus-checkout .rgv-disclosures p strong{ color:var(--co-gold-dk) !important; font-weight:700 !important; }
body.rgv-focus-checkout .rgv-disclosures .rgv-disc-links{
  border-top:1px solid var(--co-line) !important;
  padding-top:10px !important; margin:12px 0 0 !important; font-size:12.4px !important;
}
body.rgv-focus-checkout .rgv-disclosures .rgv-disc-links a{ color:var(--co-gold-dk) !important; }

/* --------------------------------------------------------------------------
   9. Order summary table
   -------------------------------------------------------------------------- */
body.rgv-focus-checkout #order_review,
body.rgv-focus-checkout .woocommerce-checkout-review-order#order_review{
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  padding:0 !important;
}
body.rgv-focus-checkout .woocommerce table.shop_table.rgv-sum,
body.rgv-focus-checkout table.rgv-sum{
  width:100% !important;
  background:transparent !important;
  border:0 !important;
  border-collapse:collapse !important;
  border-radius:0 !important;
  margin:0 !important;
  overflow:visible !important;
}
body.rgv-focus-checkout table.rgv-sum th,
body.rgv-focus-checkout table.rgv-sum td{
  background:transparent !important;
  border:0 !important;
  padding:0 !important;
}

/* line items */
body.rgv-focus-checkout .rgv-sum-cell{ padding:0 0 16px !important; }
body.rgv-focus-checkout .rgv-sum-line{ display:flex; align-items:center; gap:14px; }
body.rgv-focus-checkout .rgv-sum-thumb{ position:relative; flex:0 0 auto; display:block; line-height:0; }
body.rgv-focus-checkout .woocommerce table.shop_table.rgv-sum img,
body.rgv-focus-checkout .rgv-sum-thumb img{
  width:60px !important; height:60px !important;
  object-fit:cover !important;
  border-radius:10px !important;
  border:1px solid var(--co-line-2) !important;
  background:#FFFFFF !important;
  display:block !important;
  margin:0 !important;
}
body.rgv-focus-checkout .rgv-sum-qty{
  position:absolute; top:-8px; right:-8px;
  min-width:22px; height:22px; padding:0 6px;
  display:flex; align-items:center; justify-content:center;
  border-radius:999px;
  background:#6B6350; color:#FFFFFF;
  font-size:11.5px; font-weight:700; line-height:1;
  box-shadow:0 0 0 2px var(--co-panel);
}
body.rgv-focus-checkout .rgv-sum-info{ flex:1 1 auto; min-width:0; }
body.rgv-focus-checkout .rgv-sum-name{
  display:block; font-size:14.5px; font-weight:600; line-height:1.35;
  color:var(--co-ink) !important;
}
body.rgv-focus-checkout .rgv-sum-info .variation{ margin:4px 0 0 !important; font-size:12.4px !important; color:var(--co-ink-3) !important; }
body.rgv-focus-checkout .rgv-sum-info .variation dt,
body.rgv-focus-checkout .rgv-sum-info .variation dd,
body.rgv-focus-checkout .rgv-sum-info .variation dd p{
  display:inline !important; margin:0 !important; padding:0 !important;
  font-weight:400 !important; font-size:12.4px !important; color:var(--co-ink-3) !important;
}
body.rgv-focus-checkout .rgv-sum-amt{
  flex:0 0 auto; font-size:14.5px; font-weight:600; white-space:nowrap;
  color:var(--co-ink) !important;
}
body.rgv-focus-checkout .woocommerce table.shop_table.rgv-sum .rgv-sum-amt .amount{
  color:var(--co-ink) !important; font-weight:600 !important;
}

/* totals */
body.rgv-focus-checkout .rgv-sum-lines tr th,
body.rgv-focus-checkout .rgv-sum-lines tr td{
  font-family:'DM Sans',sans-serif !important;
  font-size:14px !important;
  font-weight:500 !important;
  text-transform:none !important;
  letter-spacing:0 !important;
  padding:9px 0 !important;
  border:0 !important;
  vertical-align:top !important;
}
body.rgv-focus-checkout .rgv-sum-lines tr th{ text-align:left !important; color:var(--co-ink-2) !important; }
body.rgv-focus-checkout .rgv-sum-lines tr td{ text-align:right !important; color:var(--co-ink) !important; }
body.rgv-focus-checkout .woocommerce table.shop_table.rgv-sum tfoot .amount{
  color:var(--co-ink) !important; font-weight:600 !important;
}
body.rgv-focus-checkout .rgv-sum-lines tr.cart-subtotal th,
body.rgv-focus-checkout .rgv-sum-lines tr.cart-subtotal td{
  border-top:1px solid var(--co-line-2) !important;
  padding-top:18px !important;
}
body.rgv-focus-checkout .rgv-sum-lines tr.cart-discount th,
body.rgv-focus-checkout .rgv-sum-lines tr.cart-discount td,
body.rgv-focus-checkout .woocommerce table.shop_table.rgv-sum tr.cart-discount .amount{
  color:#2F7A3E !important;
}
body.rgv-focus-checkout .rgv-sum-lines tr.order-total th,
body.rgv-focus-checkout .rgv-sum-lines tr.order-total td{
  border-top:1px solid var(--co-line-2) !important;
  padding-top:16px !important;
  font-size:17px !important;
  font-weight:700 !important;
  color:var(--co-ink) !important;
}
body.rgv-focus-checkout .woocommerce table.shop_table.rgv-sum tr.order-total .amount{
  font-size:21px !important; font-weight:700 !important; color:var(--co-ink) !important;
}
body.rgv-focus-checkout .woocommerce-checkout #shipping_method{
  list-style:none !important; margin:0 !important; padding:0 !important; text-align:right !important;
}
body.rgv-focus-checkout .woocommerce-checkout #shipping_method li{ margin:0 0 4px !important; }
body.rgv-focus-checkout .woocommerce-checkout #shipping_method label{
  display:inline !important; color:var(--co-ink) !important; font-size:14px !important; margin:0 !important;
}
body.rgv-focus-checkout .woocommerce-shipping-destination,
body.rgv-focus-checkout .woocommerce-shipping-calculator{ display:none !important; }

/* --------------------------------------------------------------------------
   10. Promo code
   -------------------------------------------------------------------------- */
body.rgv-focus-checkout .rgv-co-coupon{
  margin:24px 0 0 !important;
  padding:22px 0 0 !important;
  border-top:1px solid var(--co-line-2) !important;
  border-bottom:0 !important;
}
body.rgv-focus-checkout .rgv-co-coupon-label{
  display:block;
  font-family:'DM Sans',sans-serif !important;
  font-size:13px !important; font-weight:600 !important;
  letter-spacing:0 !important; text-transform:none !important;
  color:var(--co-ink-2) !important; margin:0 0 8px !important;
}
body.rgv-focus-checkout .rgv-co-coupon-row{ display:flex !important; gap:9px !important; }
body.rgv-focus-checkout .rgv-co-coupon-row input.input-text{
  flex:1 1 auto; min-width:0;
  background:#FFFFFF !important;
  border:1px solid var(--co-line-2) !important;
  border-radius:9px !important;
  color:var(--co-ink) !important;
  padding:13px 14px !important;
  font-size:15px !important;
  min-height:50px !important;
}
body.rgv-focus-checkout .rgv-co-coupon-row input.input-text:focus{
  border-color:var(--co-gold) !important;
  box-shadow:0 0 0 3px rgba(183,143,56,0.15) !important;
  outline:none !important;
}
body.rgv-focus-checkout .rgv-co-coupon-btn{
  flex:0 0 auto;
  min-height:50px !important;
  padding:0 24px !important;
  background:var(--co-panel-2) !important;
  color:var(--co-ink) !important;
  border:1px solid var(--co-line-2) !important;
  border-radius:9px !important;
  font-family:'DM Sans',sans-serif !important;
  font-size:14.5px !important; font-weight:600 !important;
  text-transform:none !important; letter-spacing:0 !important;
  cursor:pointer;
}
body.rgv-focus-checkout .rgv-co-coupon-btn:hover{
  background:var(--co-cta) !important; border-color:var(--co-cta) !important;
  color:#171310 !important; transform:none !important;
}
body.rgv-focus-checkout .rgv-co-coupon-msg{ font-size:13px !important; margin-top:8px !important; color:var(--co-ink-2) !important; }
body.rgv-focus-checkout .rgv-co-coupon-msg.is-ok{ color:#2F7A3E !important; }
body.rgv-focus-checkout .rgv-co-coupon-msg.is-err{ color:#B4442E !important; }

/* --------------------------------------------------------------------------
   11. Notices
   -------------------------------------------------------------------------- */
body.rgv-focus-checkout .woocommerce > .woocommerce-notices-wrapper,
body.rgv-focus-checkout .woocommerce > .woocommerce-NoticeGroup{
  display:block;
  background:var(--co-white) !important;
  box-sizing:border-box;
  padding:28px clamp(22px,3.4vw,54px) 0 clamp(22px,4.2vw,80px) !important;
  max-width:50vw;
}
body.rgv-focus-checkout .woocommerce > .woocommerce-notices-wrapper > *,
body.rgv-focus-checkout .woocommerce > .woocommerce-NoticeGroup > *{
  max-width:560px; margin-left:auto !important; margin-right:0 !important;
}
body.rgv-focus-checkout .woocommerce > .woocommerce-notices-wrapper:empty{ display:none !important; padding:0 !important; }

body.rgv-focus-checkout .woocommerce-error,
body.rgv-focus-checkout .woocommerce-NoticeGroup .woocommerce-error{
  background:#FCF0EC !important;
  border:1px solid #E8C3B7 !important;
  border-left:3px solid #B4442E !important;
  border-radius:10px !important;
  color:#8A2F1E !important;
  padding:14px 18px 14px 18px !important;
  margin:0 0 18px !important;
  list-style:none !important;
}
body.rgv-focus-checkout .woocommerce-error li{ color:#8A2F1E !important; margin:0 0 4px !important; }
body.rgv-focus-checkout .woocommerce-error::before{ display:none !important; }
body.rgv-focus-checkout .woocommerce-message,
body.rgv-focus-checkout .woocommerce-info{
  background:#F5F1E5 !important;
  border:1px solid var(--co-line) !important;
  border-left:3px solid var(--co-gold) !important;
  border-radius:10px !important;
  color:var(--co-ink) !important;
  padding:14px 18px !important;
  margin:0 0 18px !important;
}
body.rgv-focus-checkout .woocommerce-checkout .woocommerce-form-coupon-toggle{ display:none !important; }

/* --------------------------------------------------------------------------
   12. Checkout footer
   -------------------------------------------------------------------------- */
body.rgv-focus-checkout .rgv-co-foot{
  margin:38px 0 0 !important;
  padding:22px 0 0 !important;
  border-top:1px solid var(--co-line) !important;
}
body.rgv-focus-checkout .rgv-co-back{
  display:inline-block;
  font-size:14px !important; font-weight:500 !important;
  color:var(--co-gold-dk) !important; text-decoration:none !important;
  margin:0 0 16px !important;
}
body.rgv-focus-checkout .rgv-co-back:hover{ text-decoration:underline !important; }
body.rgv-focus-checkout .rgv-co-foot-note{
  font-size:11.4px !important; line-height:1.65 !important;
  color:var(--co-ink-3) !important; margin:0 0 12px !important;
}
body.rgv-focus-checkout .rgv-co-foot-links{ font-size:12.5px !important; margin:0 0 8px !important; line-height:1.8 !important; }
body.rgv-focus-checkout .rgv-co-copy{ font-size:12px !important; color:var(--co-ink-3) !important; margin:0 !important; }

/* --------------------------------------------------------------------------
   13. Tablet and mobile
   -------------------------------------------------------------------------- */
@media(max-width:1024px){
  body.rgv-focus-checkout .rgv-co-grid{ grid-template-columns:1fr; min-height:0; }

  body.rgv-focus-checkout .rgv-co-side{
    order:-1;
    border-left:0 !important;
    border-bottom:1px solid var(--co-line-2) !important;
    padding:0 !important;
    position:static !important;
  }
  body.rgv-focus-checkout .rgv-co-side > *{ max-width:none; }
  body.rgv-focus-checkout .rgv-co-panel{ position:static !important; top:auto; }

  body.rgv-focus-checkout .rgv-co-toggle{
    display:flex !important;
    width:100%; align-items:center; justify-content:space-between; gap:12px;
    padding:16px 18px !important;
    background:transparent !important;
    border:0 !important;
    border-bottom:1px solid var(--co-line-2) !important;
    color:var(--co-ink) !important;
    font-family:'DM Sans',sans-serif !important;
    font-size:15px !important; font-weight:600 !important;
    cursor:pointer;
  }
  body.rgv-focus-checkout .rgv-co-toggle-label::after{ content:" \25BE"; color:var(--co-gold-dk); }
  body.rgv-focus-checkout .rgv-co-panel.is-open .rgv-co-toggle-label::after{ content:" \25B4"; }
  body.rgv-focus-checkout .rgv-co-toggle-total{ color:var(--co-ink) !important; font-weight:700 !important; font-size:17px !important; }

  body.rgv-focus-checkout .rgv-co-panel-inner{ display:none !important; padding:18px 18px 4px !important; }
  body.rgv-focus-checkout .rgv-co-panel.is-open .rgv-co-panel-inner{ display:block !important; }

  body.rgv-focus-checkout .rgv-co-coupon{
    margin:0 !important;
    padding:16px 18px !important;
    border-top:1px solid var(--co-line-2) !important;
  }

  body.rgv-focus-checkout .rgv-co-main{
    padding:26px 18px 56px !important;
  }
  body.rgv-focus-checkout .rgv-co-main > *{ max-width:none; margin-left:0 !important; }
  body.rgv-focus-checkout .rgv-co-brand{ margin:0 0 26px !important; text-align:center; }
  body.rgv-focus-checkout .rgv-co-brand a{ display:inline-block; }
  body.rgv-focus-checkout .rgv-co-brand img{ height:32px; margin:0 auto; }

  body.rgv-focus-checkout .woocommerce > .woocommerce-notices-wrapper,
  body.rgv-focus-checkout .woocommerce > .woocommerce-NoticeGroup{ max-width:none; padding:18px 18px 0 !important; }
  body.rgv-focus-checkout .woocommerce > .woocommerce-notices-wrapper > *,
  body.rgv-focus-checkout .woocommerce > .woocommerce-NoticeGroup > *{ max-width:none; margin-left:0 !important; }

  body.rgv-focus-checkout .rgv-sum-qty{ box-shadow:0 0 0 2px var(--co-panel); }
}

@media(max-width:520px){
  body.rgv-focus-checkout .woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
  body.rgv-focus-checkout .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper{
    grid-template-columns:1fr;
  }
  body.rgv-focus-checkout .woocommerce-checkout #billing_first_name_field,
  body.rgv-focus-checkout .woocommerce-checkout #billing_last_name_field,
  body.rgv-focus-checkout .woocommerce-checkout #shipping_first_name_field,
  body.rgv-focus-checkout .woocommerce-checkout #shipping_last_name_field,
  body.rgv-focus-checkout .woocommerce-checkout #billing_state_field,
  body.rgv-focus-checkout .woocommerce-checkout #billing_postcode_field,
  body.rgv-focus-checkout .woocommerce-checkout #shipping_state_field,
  body.rgv-focus-checkout .woocommerce-checkout #shipping_postcode_field{ grid-column:1 / -1 !important; }

  body.rgv-focus-checkout .rgv-co-coupon-row{ flex-direction:column; }
  body.rgv-focus-checkout .rgv-co-coupon-row input.input-text,
  body.rgv-focus-checkout .rgv-co-coupon-btn{ width:100% !important; min-height:52px !important; }
  body.rgv-focus-checkout .rgv-co-h{ font-size:19px !important; }
}

/* wordpress admin bar offset for the sticky summary */
body.admin-bar.rgv-focus-checkout .rgv-co-panel{ top:70px; }
@media(max-width:1024px){ body.admin-bar.rgv-focus-checkout .rgv-co-panel{ top:auto; } }

/* ================= RGV GIFT BAR ON CHECKOUT =================
   The progress bar was built for the dark cart drawer, where the message is
   near-white (#F5F0E6). The checkout column is cream, so those colours have
   to be inverted or the text is invisible. Scoped to data-context=checkout
   so the drawer and cart page are untouched.
   =========================================================== */
.rgv-gbar[data-context=checkout]{
  background:rgba(183,143,56,.10);
  border:1px solid rgba(183,143,56,.34);
  border-radius:12px; padding:14px 16px; margin:0 0 18px;
}
.rgv-gbar[data-context=checkout] .rgv-gbar-msg{ color:#2A2318 !important; }
.rgv-gbar[data-context=checkout] .rgv-gbar-msg .amount,
.rgv-gbar[data-context=checkout] .rgv-gbar-msg .woocommerce-Price-amount{
  color:#8E6B24 !important; font-weight:700 !important;
}
.rgv-gbar[data-context=checkout] .rgv-gbar-note{ color:#6F675A !important; }
.rgv-gbar[data-context=checkout] .rgv-gbar-track{ background:rgba(42,35,24,.14); }
.rgv-gbar[data-context=checkout].is-reached{
  background:rgba(47,122,62,.10); border-color:rgba(47,122,62,.38);
}
.rgv-gbar[data-context=checkout].is-reached .rgv-gbar-msg{ color:#245C30 !important; }

/* ================= RGV TIERED OFFER LIGHT ================= */
.rgv-gbar[data-context=checkout] .rgv-gift-was{ color:#6F675A; }
.rgv-gbar[data-context=checkout] .rgv-gbar-marker{ background:rgba(42,35,24,.45); }
.woocommerce-checkout .rgv-gift-was{ color:#6F675A; }


/* ---- rgv-checkout-mobile.css ---- */
/* ==========================================================================
   RGV Compound - checkout, mobile order review.

   On phones and tablets the cart is shown twice, the way the reference
   checkout does it:
     - the collapsible bar at the very top, for a quick glance
     - an always open "Your cart" block with the promo field, sitting directly
       above the place order button

   The bottom block is rendered by rgv_mobile_order_summary() inside the
   #payment fragment, so WooCommerce re-renders it on every totals refresh.
   It is hidden entirely on desktop.
   ========================================================================== */

.rgv-msum{ display:none; }

@media(max-width:1024px){

  body.rgv-focus-checkout .rgv-msum{
    display:block;
    background:var(--co-panel);
    border:1px solid var(--co-line-2);
    border-radius:12px;
    padding:18px 16px;
    margin:24px 0 0;
  }

  body.rgv-focus-checkout .rgv-msum-h{
    font-family:'DM Sans',sans-serif !important;
    font-size:18px !important;
    font-weight:700 !important;
    line-height:1.25 !important;
    color:var(--co-ink) !important;
    letter-spacing:-0.01em !important;
    text-transform:none !important;
    margin:0 0 16px !important;
  }

  /* line items reuse the summary item styling */
  body.rgv-focus-checkout .rgv-msum-items .rgv-sum-line{
    display:flex; align-items:center; gap:14px;
    margin:0 0 14px;
  }
  body.rgv-focus-checkout .rgv-msum-items .rgv-sum-line:last-child{ margin-bottom:0; }
  body.rgv-focus-checkout .rgv-msum-items img{
    width:56px !important; height:56px !important;
    object-fit:cover !important;
    border-radius:10px !important;
    border:1px solid var(--co-line-2) !important;
    background:#FFFFFF !important;
    display:block !important;
    margin:0 !important;
  }
  body.rgv-focus-checkout .rgv-msum-items .rgv-sum-amt,
  body.rgv-focus-checkout .rgv-msum-items .rgv-sum-amt .amount{
    color:var(--co-ink) !important; font-weight:600 !important; font-size:14.5px !important;
  }

  /* promo field: always visible, full width, no collapsing needed */
  body.rgv-focus-checkout .rgv-msum-promo{
    order:0 !important;
    margin:18px 0 0 !important;
    padding:18px 0 0 !important;
    border-top:1px solid var(--co-line-2) !important;
    border-bottom:0 !important;
  }
  body.rgv-focus-checkout .rgv-msum-promo .rgv-co-coupon-row{ flex-direction:column; gap:9px !important; }
  body.rgv-focus-checkout .rgv-msum-promo .rgv-co-coupon-row input.input-text,
  body.rgv-focus-checkout .rgv-msum-promo .rgv-co-coupon-btn{
    width:100% !important; min-height:52px !important;
  }

  /* totals */
  body.rgv-focus-checkout .rgv-msum-lines{
    margin:18px 0 0;
    padding:16px 0 0;
    border-top:1px solid var(--co-line-2);
  }
  body.rgv-focus-checkout .rgv-msum-row{
    display:flex; align-items:baseline; justify-content:space-between; gap:16px;
    font-family:'DM Sans',sans-serif;
    font-size:14px; font-weight:500;
    color:var(--co-ink-2);
    padding:7px 0;
  }
  body.rgv-focus-checkout .rgv-msum-row > span:last-child{
    color:var(--co-ink); text-align:right; white-space:nowrap;
  }
  body.rgv-focus-checkout .rgv-msum-row .amount{ color:var(--co-ink) !important; font-weight:600 !important; }
  body.rgv-focus-checkout .rgv-msum-row.is-discount,
  body.rgv-focus-checkout .rgv-msum-row.is-discount > span:last-child,
  body.rgv-focus-checkout .rgv-msum-row.is-discount .amount{ color:#2F7A3E !important; }
  body.rgv-focus-checkout .rgv-msum-row.is-discount .woocommerce-remove-coupon{
    color:var(--co-ink-3) !important; font-size:12px !important; margin-left:6px; text-decoration:underline !important;
  }
  body.rgv-focus-checkout .rgv-msum-row.is-total{
    margin-top:8px; padding-top:15px;
    border-top:1px solid var(--co-line-2);
    font-size:17px !important; font-weight:700 !important; color:var(--co-ink) !important;
  }
  body.rgv-focus-checkout .rgv-msum-row.is-total .amount{ font-size:20px !important; font-weight:700 !important; }

  /* the bottom block now carries the promo field, so drop the duplicate
     that sits under the collapsible bar at the top */
  body.rgv-focus-checkout .rgv-co-side .rgv-co-coupon{ display:none !important; }
  body.rgv-focus-checkout .rgv-co-panel-inner{ padding:18px 18px !important; }

  /* place order sits right under the cart, like the reference checkout */
  body.rgv-focus-checkout .woocommerce-checkout #place_order{ margin-top:18px !important; }
}


/* ---- rgv-thankyou.css ---- */
/* ==========================================================================
   RGV Compound - order confirmation.

   Two column layout: white detail column on the left, tan order summary rail
   on the right, full width logo bar across the top. Same palette and shell as
   the light checkout.

   The .rgv-od-* block further down is the order details card used on
   My Account > View order. Its colours come from variables that default to the
   dark site theme, so that page is unaffected by this file.
   ========================================================================== */

:root{
  --od-card:#161109;
  --od-card-2:#0F0C07;
  --od-line:rgba(183,143,56,0.20);
  --od-ink:#F5F0E6;
  --od-ink-2:#C9C1AE;
  --od-ink-3:#8A8272;
  --od-accent:#D9B45F;
  --od-thumb-bg:#0C0A06;
}

/* --------------------------------------------------------------------------
   1. Light page. Re-pointing the shared --rgvc-* variables recolours every
      dark shop rule in rgv-forms.css at once.
   -------------------------------------------------------------------------- */
body.rgv-thankyou{
  --rgvc-gold:#C6A044;
  --rgvc-gold-soft:#8A6B25;
  --rgvc-gold-hover:#D4B45C;
  --rgvc-label:#8A7B55;
  --rgvc-page-bg:#FFFFFF;
  --rgvc-card:transparent;
  --rgvc-card-2:transparent;
  --rgvc-field:#FFFFFF;
  --rgvc-border:#E7E0CF;
  --rgvc-text:#171310;
  --rgvc-pad:0px;
  --rgvc-radius:0px;
  --rgvc-maxw:none;

  --od-card:#F6EFDF;
  --od-card-2:#FFFFFF;
  --od-line:#DBD1B9;
  --od-ink:#171310;
  --od-ink-2:#6B6350;
  --od-ink-3:#8E8672;
  --od-accent:#8A6B25;
  --od-thumb-bg:#FFFFFF;

  --ty-white:#FFFFFF;
  --ty-tan:#F6EFDF;
  --ty-line:#E7E0CF;
  --ty-line-2:#DBD1B9;
  --ty-ink:#171310;
  --ty-ink-2:#6B6350;
  --ty-ink-3:#8E8672;
  --ty-ok:#2F7A3E;
  --ty-gold:#8A6B25;
  --ty-cta:#C6A044;
  --ty-cta-hover:#D4B45C;

  background:var(--ty-white) !important;
  color:var(--ty-ink) !important;
  font-family:'DM Sans',sans-serif;
}

/* distraction free shell, same as checkout */
body.rgv-thankyou .rgv-site-header,
body.rgv-thankyou .rgv-site-footer,
body.rgv-thankyou .page-header{ display:none !important; }

body.rgv-thankyou #content,
body.rgv-thankyou .site-main,
body.rgv-thankyou .page-content,
body.rgv-thankyou .entry-content,
body.rgv-thankyou .woocommerce,
body.rgv-thankyou .rgv-ty{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  max-width:none !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
}

body.rgv-thankyou .screen-reader-text{
  position:absolute !important; width:1px !important; height:1px !important;
  padding:0 !important; margin:-1px !important; overflow:hidden !important;
  clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important;
}

/* --------------------------------------------------------------------------
   2. Logo bar + split
   -------------------------------------------------------------------------- */
body.rgv-thankyou .rgv-ty-topbar{
  background:var(--ty-white);
  border-bottom:1px solid var(--ty-line);
  padding:26px clamp(22px,4.2vw,80px);
}
body.rgv-thankyou .rgv-ty-topbar img{ height:36px; width:auto; display:block; }

body.rgv-thankyou .rgv-ty-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  align-items:stretch;
  min-height:calc(100vh - 90px);
}
body.rgv-thankyou .rgv-ty-main{
  background:var(--ty-white);
  padding:46px clamp(22px,3.4vw,54px) 64px clamp(22px,4.2vw,80px);
  min-width:0;
}
body.rgv-thankyou .rgv-ty-main > *{
  width:100%; max-width:560px;
  margin-left:auto !important; margin-right:0 !important;
}
body.rgv-thankyou .rgv-ty-side{
  background:var(--ty-tan);
  border-left:1px solid var(--ty-line-2);
  padding:46px clamp(22px,4.2vw,80px) 64px clamp(22px,3.4vw,54px);
  min-width:0;
}
body.rgv-thankyou .rgv-ty-sum{
  width:100%; max-width:470px;
  margin-right:auto; margin-left:0;
  position:sticky; top:34px;
}

/* --------------------------------------------------------------------------
   3. Confirmation header
   -------------------------------------------------------------------------- */
body.rgv-thankyou .rgv-ty-head{
  display:flex; align-items:flex-start; gap:16px;
  margin:0 0 30px !important;
}
body.rgv-thankyou .rgv-ty-mark{
  flex:0 0 auto;
  display:inline-flex; align-items:center; justify-content:center;
  width:44px; height:44px; border-radius:999px;
  border:2px solid var(--ty-ok); color:var(--ty-ok);
  background:transparent;
}
body.rgv-thankyou .rgv-ty-mark.is-failed{
  border-color:#B4442E; color:#B4442E;
  font-size:22px; font-weight:700; font-family:'DM Sans',sans-serif;
}
body.rgv-thankyou .rgv-ty-head-text{ min-width:0; padding-top:1px; }
body.rgv-thankyou .rgv-ty-eyebrow{
  font-family:'DM Sans',sans-serif !important;
  font-size:14px !important; font-weight:500 !important;
  letter-spacing:0 !important; text-transform:none !important;
  color:var(--ty-ink-3) !important;
  margin:0 0 4px !important;
}
body.rgv-thankyou .rgv-ty-title{
  font-family:'DM Sans',sans-serif !important;
  font-size:28px !important; font-weight:700 !important;
  line-height:1.2 !important; letter-spacing:-0.015em !important;
  color:var(--ty-ink) !important;
  margin:0 !important; text-transform:none !important;
}

/* --------------------------------------------------------------------------
   4. Cards
   -------------------------------------------------------------------------- */
body.rgv-thankyou .rgv-ty-card{
  background:var(--ty-white);
  border:1px solid var(--ty-line-2);
  border-radius:12px;
  padding:20px 22px;
  margin:0 0 18px !important;
}
body.rgv-thankyou .rgv-ty-card-h{
  font-family:'DM Sans',sans-serif !important;
  font-size:17px !important; font-weight:700 !important;
  color:var(--ty-ink) !important;
  letter-spacing:-0.01em !important; text-transform:none !important;
  margin:0 0 8px !important;
}
body.rgv-thankyou .rgv-ty-card-p{
  font-size:14.5px !important; line-height:1.6 !important;
  color:var(--ty-ink-2) !important; margin:0 !important;
  background:none !important; border:0 !important; padding:0 !important;
}
body.rgv-thankyou .rgv-ty-card-p::before{ display:none !important; }

/* order details grid */
body.rgv-thankyou .rgv-ty-dl{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px 24px;
  margin-top:16px;
}
body.rgv-thankyou .rgv-ty-dl-item h3{
  font-family:'DM Sans',sans-serif !important;
  font-size:13.5px !important; font-weight:700 !important;
  color:var(--ty-ink) !important;
  text-transform:none !important; letter-spacing:0 !important;
  margin:0 0 6px !important;
}
body.rgv-thankyou .rgv-ty-dl-item p,
body.rgv-thankyou .rgv-ty-dl-item address{
  font-style:normal !important;
  font-size:13.8px !important; line-height:1.6 !important;
  color:var(--ty-ink-2) !important;
  margin:0 !important; padding:0 !important; border:0 !important;
  overflow-wrap:anywhere;
}
body.rgv-thankyou .rgv-ty-dl-item p .amount{ color:var(--ty-ink-2) !important; font-weight:600 !important; }

/* --------------------------------------------------------------------------
   5. Help, actions, footer
   -------------------------------------------------------------------------- */
body.rgv-thankyou .rgv-ty-help{ margin:4px 0 20px !important; }
body.rgv-thankyou .rgv-ty-help p{
  font-size:13.8px !important; line-height:1.6 !important;
  color:var(--ty-ink-2) !important; margin:0 !important;
}
body.rgv-thankyou a{ color:var(--ty-gold) !important; }

body.rgv-thankyou .rgv-ty-actions{ margin:0 !important; display:flex; gap:10px; flex-wrap:wrap; }
body.rgv-thankyou .rgv-ty-btn{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:52px; padding:0 28px !important;
  background:var(--ty-cta) !important; color:#171310 !important;
  border:0 !important; border-radius:10px !important;
  font-family:'DM Sans',sans-serif !important;
  font-size:15.5px !important; font-weight:700 !important;
  text-transform:none !important; letter-spacing:0 !important;
  text-decoration:none !important;
}
body.rgv-thankyou .rgv-ty-btn:hover{ background:var(--ty-cta-hover) !important; color:#171310 !important; transform:none !important; }
body.rgv-thankyou .rgv-ty-btn.is-ghost{
  background:transparent !important; color:var(--ty-gold) !important;
  border:1px solid var(--ty-line-2) !important;
}

body.rgv-thankyou .rgv-ty-foot{
  margin:40px 0 0 !important; padding:22px 0 0 !important;
  border-top:1px solid var(--ty-line) !important;
}
body.rgv-thankyou .rgv-ty-foot-note{
  font-size:11.4px !important; line-height:1.65 !important;
  color:var(--ty-ink-3) !important; margin:0 0 12px !important;
}
body.rgv-thankyou .rgv-ty-foot-links{ font-size:12.5px !important; margin:0 0 8px !important; line-height:1.8 !important; }
body.rgv-thankyou .rgv-ty-copy{ font-size:12px !important; color:var(--ty-ink-3) !important; margin:0 !important; }

/* --------------------------------------------------------------------------
   6. Summary rail
   -------------------------------------------------------------------------- */
body.rgv-thankyou .rgv-ty-line{ display:flex; align-items:center; gap:14px; margin:0 0 18px; }
body.rgv-thankyou .rgv-ty-thumb{ position:relative; flex:0 0 auto; display:block; line-height:0; }
body.rgv-thankyou .rgv-ty-thumb img{
  width:62px !important; height:62px !important;
  object-fit:cover !important; border-radius:10px !important;
  border:1px solid var(--ty-line-2) !important;
  background:#FFFFFF !important; display:block !important; margin:0 !important;
}
body.rgv-thankyou .rgv-ty-qty{
  position:absolute; top:-8px; right:-8px;
  min-width:22px; height:22px; padding:0 6px;
  display:flex; align-items:center; justify-content:center;
  border-radius:999px; background:#6B6350; color:#FFFFFF;
  font-size:11.5px; font-weight:700; line-height:1;
  box-shadow:0 0 0 2px var(--ty-tan);
}
body.rgv-thankyou .rgv-ty-info{ flex:1 1 auto; min-width:0; }
body.rgv-thankyou .rgv-ty-name{
  display:block; font-size:14.5px; font-weight:600; line-height:1.35;
  color:var(--ty-ink) !important;
}
body.rgv-thankyou .rgv-ty-info .wc-item-meta,
body.rgv-thankyou .rgv-ty-info .variation{
  list-style:none !important; margin:4px 0 0 !important; padding:0 !important;
}
body.rgv-thankyou .rgv-ty-info .wc-item-meta li,
body.rgv-thankyou .rgv-ty-info .wc-item-meta p,
body.rgv-thankyou .rgv-ty-info .variation dt,
body.rgv-thankyou .rgv-ty-info .variation dd,
body.rgv-thankyou .rgv-ty-info .variation dd p{
  display:inline !important; margin:0 !important; padding:0 !important;
  font-weight:400 !important; font-size:12.4px !important; color:var(--ty-ink-3) !important;
}
body.rgv-thankyou .rgv-ty-amt{
  flex:0 0 auto; font-size:14.5px; font-weight:600; white-space:nowrap;
  color:var(--ty-ink) !important;
}
body.rgv-thankyou .rgv-ty-amt .amount{ color:var(--ty-ink) !important; font-weight:600 !important; }

body.rgv-thankyou .rgv-ty-sum-lines{
  margin:22px 0 0; padding:18px 0 0;
  border-top:1px solid var(--ty-line-2);
}
body.rgv-thankyou .rgv-ty-sum-row{
  display:flex; align-items:baseline; justify-content:space-between; gap:16px;
  font-family:'DM Sans',sans-serif;
  font-size:14px; font-weight:500;
  color:var(--ty-ink-2) !important;
  padding:7px 0;
}
body.rgv-thankyou .rgv-ty-sum-row > span:last-child{ color:var(--ty-ink) !important; text-align:right; }
body.rgv-thankyou .rgv-ty-sum-row .amount{ color:var(--ty-ink) !important; font-weight:600 !important; }
body.rgv-thankyou .rgv-ty-sum-row small{ color:var(--ty-ink-3) !important; font-weight:400 !important; }
body.rgv-thankyou .rgv-ty-sum-row.is-discount,
body.rgv-thankyou .rgv-ty-sum-row.is-discount > span:last-child,
body.rgv-thankyou .rgv-ty-sum-row.is-discount .amount{ color:var(--ty-ok) !important; }
body.rgv-thankyou .rgv-ty-sum-row.is-total{
  margin-top:8px; padding-top:15px; border-top:1px solid var(--ty-line-2);
  font-size:17px !important; font-weight:700 !important; color:var(--ty-ink) !important;
}
body.rgv-thankyou .rgv-ty-sum-row.is-total .amount{ font-size:21px !important; font-weight:700 !important; }

/* --------------------------------------------------------------------------
   7. Mobile
   -------------------------------------------------------------------------- */
@media(max-width:1024px){
  body.rgv-thankyou .rgv-ty-grid{ grid-template-columns:1fr; min-height:0; }
  body.rgv-thankyou .rgv-ty-main{ padding:30px 18px 48px; order:1; }
  body.rgv-thankyou .rgv-ty-main > *{ max-width:none; margin-left:0 !important; }
  body.rgv-thankyou .rgv-ty-side{
    order:2;
    border-left:0; border-top:1px solid var(--ty-line-2);
    padding:26px 18px 48px;
  }
  body.rgv-thankyou .rgv-ty-sum{ max-width:none; position:static; }
  body.rgv-thankyou .rgv-ty-topbar{ padding:20px 18px; text-align:center; }
  body.rgv-thankyou .rgv-ty-topbar a{ display:inline-block; }
  body.rgv-thankyou .rgv-ty-topbar img{ height:30px; margin:0 auto; }
}

@media(max-width:560px){
  body.rgv-thankyou .rgv-ty-title{ font-size:24px !important; }
  body.rgv-thankyou .rgv-ty-dl{ grid-template-columns:1fr; gap:18px; }
  body.rgv-thankyou .rgv-ty-btn{ width:100%; }
  body.rgv-thankyou .rgv-ty-card{ padding:18px; }
}

/* ==========================================================================
   My Account > View order card (.rgv-od-*)
   Uses the --od-* variables, which stay dark outside the confirmation page.
   ========================================================================== */
.rgv-od{ margin:0 0 30px; }
.rgv-od-title{
  font-family:'DM Sans',sans-serif !important;
  font-size:18px !important; font-weight:700 !important;
  color:var(--od-ink) !important;
  letter-spacing:-0.01em !important; text-transform:none !important;
  margin:0 0 14px !important;
}
.rgv-od-card{
  background:var(--od-card);
  border:1px solid var(--od-line);
  border-radius:14px;
  padding:20px;
}
.rgv-od-line{ display:flex; align-items:center; gap:14px; margin:0 0 16px; }
.rgv-od-line:last-child{ margin-bottom:0; }
.rgv-od-thumb{ position:relative; flex:0 0 auto; display:block; line-height:0; }
.rgv-od-thumb img{
  width:60px !important; height:60px !important;
  object-fit:cover !important; border-radius:10px !important;
  border:1px solid var(--od-line) !important;
  background:var(--od-thumb-bg) !important;
  display:block !important; margin:0 !important;
}
.rgv-od-qty{
  position:absolute; top:-8px; right:-8px;
  min-width:22px; height:22px; padding:0 6px;
  display:flex; align-items:center; justify-content:center;
  border-radius:999px; background:#6B6350; color:#FFFFFF;
  font-size:11.5px; font-weight:700; line-height:1;
  box-shadow:0 0 0 2px var(--od-card);
}
.rgv-od-info{ flex:1 1 auto; min-width:0; }
.rgv-od-name{
  display:block; font-family:'DM Sans',sans-serif;
  font-size:14.5px; font-weight:600; line-height:1.35;
  color:var(--od-ink) !important;
}
.rgv-od-info .wc-item-meta,
.rgv-od-info .variation{
  list-style:none !important; margin:4px 0 0 !important; padding:0 !important;
}
.rgv-od-info .wc-item-meta li,
.rgv-od-info .wc-item-meta p,
.rgv-od-info .variation dt,
.rgv-od-info .variation dd,
.rgv-od-info .variation dd p{
  display:inline !important; margin:0 !important; padding:0 !important;
  font-weight:400 !important; font-size:12.4px !important; color:var(--od-ink-3) !important;
}
.rgv-od-amt{ flex:0 0 auto; font-size:14.5px; font-weight:600; white-space:nowrap; color:var(--od-ink) !important; }
.rgv-od-amt .amount{ color:var(--od-ink) !important; font-weight:600 !important; }
.rgv-od-note{
  margin:12px 0 0; padding:12px 14px;
  background:var(--od-card-2); border:1px solid var(--od-line); border-radius:10px;
}
.rgv-od-note p{ margin:0 !important; font-size:13px !important; color:var(--od-ink-2) !important; }
.rgv-od-lines{ margin:18px 0 0; padding:16px 0 0; border-top:1px solid var(--od-line); }
.rgv-od-row{
  display:flex; align-items:baseline; justify-content:space-between; gap:16px;
  font-family:'DM Sans',sans-serif; font-size:14px; font-weight:500;
  color:var(--od-ink-2) !important; padding:7px 0;
}
.rgv-od-row > span:last-child{ color:var(--od-ink) !important; text-align:right; }
.rgv-od-row .amount{ color:var(--od-ink) !important; font-weight:600 !important; }
.rgv-od-row small{ color:var(--od-ink-3) !important; font-weight:400 !important; }
.rgv-od-row.is-discount,
.rgv-od-row.is-discount > span:last-child,
.rgv-od-row.is-discount .amount{ color:#2F7A3E !important; }
.rgv-od-row.is-note{ display:block; }
.rgv-od-row.is-note > span:first-child{ display:block; margin-bottom:4px; }
.rgv-od-row.is-note > span:last-child{ text-align:left; }
.rgv-od-row.is-total{
  margin-top:8px; padding-top:15px; border-top:1px solid var(--od-line);
  font-size:17px !important; font-weight:700 !important; color:var(--od-ink) !important;
}
.rgv-od-row.is-total .amount{ font-size:20px !important; font-weight:700 !important; }
.rgv-od-actions{ margin:18px 0 0; padding-top:16px; border-top:1px solid var(--od-line); display:flex; gap:10px; flex-wrap:wrap; }

/* --------------------------------------------------------------------------
   Logged-out fallback. If an order belongs to a registered account and the
   visitor is not signed in, WooCommerce bypasses thankyou.php and shows a
   login prompt. Keep that path readable on the light page.
   -------------------------------------------------------------------------- */
body.rgv-thankyou .woocommerce > .woocommerce-notice--success{
  max-width:720px; margin:44px auto 16px !important; padding:0 22px !important;
  font-family:'DM Sans',sans-serif !important;
  font-size:22px !important; font-weight:700 !important;
  color:var(--ty-ink) !important; text-align:center;
  background:none !important; border:0 !important;
}
body.rgv-thankyou .woocommerce > .woocommerce-notice--success::before{ display:none !important; }
body.rgv-thankyou .woocommerce > .woocommerce-info{
  max-width:676px; margin:0 auto 20px !important;
  background:#F5F1E5 !important; border:1px solid var(--ty-line) !important;
  border-left:3px solid var(--ty-cta) !important; border-radius:10px !important;
  color:var(--ty-ink) !important; padding:14px 18px !important;
}
body.rgv-thankyou .woocommerce-form-login{
  max-width:676px; margin:0 auto 60px !important;
  background:#FFFFFF !important;
  border:1px solid var(--ty-line) !important;
  border-radius:14px !important;
  padding:24px !important;
}
body.rgv-thankyou .woocommerce-form-login label{
  font-family:'DM Sans',sans-serif !important; font-size:13px !important;
  font-weight:500 !important; text-transform:none !important; letter-spacing:0 !important;
  color:var(--ty-ink-2) !important; margin:0 0 7px !important;
}
body.rgv-thankyou .woocommerce-form-login input.input-text,
body.rgv-thankyou .woocommerce-form-login input[type="password"]{
  background:#FFFFFF !important; border:1px solid var(--ty-line-2) !important;
  border-radius:9px !important; color:var(--ty-ink) !important;
  padding:13px 14px !important; font-size:15px !important; min-height:50px !important;
}
body.rgv-thankyou .woocommerce-form-login .button{
  background:var(--ty-cta) !important; color:#171310 !important;
  border:0 !important; border-radius:10px !important;
  min-height:50px !important; font-weight:700 !important; text-transform:none !important;
}

/* --------------------------------------------------------------------------
   Specificity guard. rgv-forms.css carries a blanket
   body:not(.home).page a { color:#C99F44 !important } from the dark theme,
   which is (0,2,2) and outranked the button rule above. These selectors sit
   above it so the confirmation page links can never be gold on gold again.
   -------------------------------------------------------------------------- */
html body.rgv-thankyou.page a{ color:var(--ty-gold) !important; }
html body.rgv-thankyou.page a.rgv-ty-btn,
html body.rgv-thankyou a.rgv-ty-btn{
  color:#171310 !important;
  -webkit-text-fill-color:#171310 !important;
}
html body.rgv-thankyou.page a.rgv-ty-btn.is-ghost{
  color:var(--ty-gold) !important; -webkit-text-fill-color:var(--ty-gold) !important;
}
html body.rgv-thankyou.page a.rgv-track-btn{
  color:#171310 !important; -webkit-text-fill-color:#171310 !important;
}

/* spam folder nudge inside the confirmed card */
body.rgv-thankyou .rgv-ty-spam{
  display:block;
  margin:12px 0 0;
  padding:12px 14px;
  background:#F6EFDF;
  border:1px solid #DBD1B9;
  border-radius:9px;
  font-size:13.4px;
  line-height:1.6;
  color:#6B6350;
}
body.rgv-thankyou .rgv-ty-spam strong{ color:#171310; font-weight:700; }


/* ---- rgv-tracking.css ---- */
/* ==========================================================================
   RGV Compound - shipment tracking.
   The tracking card appears on the order confirmation, My Account order view
   and the public /track-order/ page, so its colours run off the same --od-*
   variables: dark by default, light on the confirmation page.
   ========================================================================== */

.rgv-track{
  margin:0 0 24px;
  padding:18px 20px;
  background:var(--od-card, #161109);
  border:1px solid var(--od-line, rgba(183,143,56,0.20));
  border-left:3px solid var(--od-accent, #D9B45F);
  border-radius:12px;
}
.rgv-track-h{
  font-family:'DM Sans',sans-serif !important;
  font-size:15px !important; font-weight:700 !important;
  color:var(--od-ink, #F5F0E6) !important;
  text-transform:none !important; letter-spacing:0 !important;
  margin:0 0 8px !important;
}
.rgv-track-p{
  font-size:14px !important; line-height:1.6 !important;
  color:var(--od-ink-2, #C9C1AE) !important;
  margin:0 0 14px !important;
  overflow-wrap:anywhere;
}
.rgv-track-p strong{ color:var(--od-ink, #F5F0E6) !important; font-weight:700 !important; }
.rgv-track-date{ font-size:13px; color:var(--od-ink-3, #8A8272) !important; }
.rgv-track-btn{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:46px; padding:0 24px;
  background:#C6A044 !important; color:#171310 !important;
  border-radius:9px !important;
  font-family:'DM Sans',sans-serif !important;
  font-size:14.5px !important; font-weight:700 !important;
  text-decoration:none !important; text-transform:none !important;
}
.rgv-track-btn:hover{ background:#D4B45C !important; color:#171310 !important; }

/* --------------------------------------------------------------------------
   /track-order/ page. Stays on the dark site theme so it matches the rest of
   the site, unlike checkout and the confirmation page.
   -------------------------------------------------------------------------- */
.rgv-trackpage{ max-width:620px; margin:0 auto; }
.rgv-trackpage-intro{
  font-size:15px; line-height:1.7; color:#C9C1AE;
  margin:0 0 26px;
}
.woocommerce form.track_order{
  background:#161109;
  border:1px solid rgba(183,143,56,0.20);
  border-radius:16px;
  padding:26px;
  max-width:620px;
  margin:0 auto 30px;
}
.woocommerce form.track_order p:first-child{
  font-size:14.5px !important; line-height:1.65 !important;
  color:#C9C1AE !important; margin:0 0 20px !important;
}
.woocommerce form.track_order .form-row{ margin:0 0 16px !important; padding:0 !important; width:100% !important; float:none !important; }
.woocommerce form.track_order label{
  display:block !important;
  font-family:'DM Sans',sans-serif !important;
  font-size:13px !important; font-weight:500 !important;
  text-transform:none !important; letter-spacing:0 !important;
  color:#C9C1AE !important; margin:0 0 7px !important;
}
.woocommerce form.track_order input.input-text{
  width:100% !important;
  background:#0F0C07 !important;
  border:1.5px solid rgba(183,143,56,0.24) !important;
  border-radius:10px !important;
  color:#F5F0E6 !important;
  padding:13px 14px !important;
  font-size:15px !important;
  min-height:50px !important;
}
.woocommerce form.track_order input.input-text:focus{
  border-color:#B78F38 !important; outline:none !important;
  box-shadow:0 0 0 3px rgba(183,143,56,0.15) !important;
}
.woocommerce form.track_order .form-row-wide button.button,
.woocommerce form.track_order button.button{
  width:100% !important;
  min-height:52px !important;
  background:#C6A044 !important; color:#171310 !important;
  border:0 !important; border-radius:10px !important;
  font-size:15.5px !important; font-weight:700 !important;
  text-transform:none !important; letter-spacing:0 !important;
  margin-top:4px !important;
}
.woocommerce form.track_order button.button:hover{ background:#D4B45C !important; }

/* the result view */
.woocommerce ul.order_details{
  list-style:none !important;
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px; background:rgba(183,143,56,0.20);
  border:1px solid rgba(183,143,56,0.20); border-radius:14px; overflow:hidden;
  margin:0 auto 26px !important; padding:0 !important; max-width:620px;
}
.woocommerce ul.order_details li{
  background:#161109; margin:0 !important; padding:14px 16px !important;
  border:0 !important; list-style:none !important;
  font-family:'DM Sans',sans-serif !important;
  font-size:10px !important; letter-spacing:.13em; text-transform:uppercase;
  color:#8A8272 !important;
}
.woocommerce ul.order_details li strong{
  display:block; margin-top:5px;
  font-size:14.5px !important; font-weight:600 !important;
  letter-spacing:0 !important; text-transform:none !important;
  color:#F5F0E6 !important;
}

@media(max-width:560px){
  .woocommerce ul.order_details{ grid-template-columns:1fr; }
  .woocommerce form.track_order{ padding:18px; }
  .rgv-track-btn{ width:100%; }
}


/* ---- rgv-coa.css ---- */
/* ==========================================================================
   RGV Compound - COA page: reference table + documentation request form
   ========================================================================== */

/* ---------- compound reference table ---------- */
.rgv-coa-ref{ margin:0; }
.rgv-coa-ref-scroll{
  overflow-x:auto;
  border:1px solid rgba(183,143,56,0.20);
  border-radius:14px;
  background:#161109;
  -webkit-overflow-scrolling:touch;
}
.rgv-coa-ref-table{
  width:100%;
  border-collapse:collapse;
  min-width:620px;
  margin:0 !important;
  background:transparent !important;
  border:0 !important;
}
.rgv-coa-ref-table thead th{
  background:#1A1509 !important;
  font-family:'IBM Plex Mono',monospace !important;
  font-size:10.5px !important;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#9A7B33 !important;
  text-align:left !important;
  padding:14px 16px !important;
  border:0 !important;
  border-bottom:1px solid rgba(183,143,56,0.20) !important;
  white-space:nowrap;
}
.rgv-coa-ref-table tbody th,
.rgv-coa-ref-table tbody td{
  padding:14px 16px !important;
  border:0 !important;
  border-top:1px solid rgba(183,143,56,0.10) !important;
  background:transparent !important;
  font-family:'DM Sans',sans-serif !important;
  font-size:14px !important;
  color:#C9C1AE !important;
  text-align:left !important;
  vertical-align:middle;
}
.rgv-coa-ref-table tbody tr:first-child th,
.rgv-coa-ref-table tbody tr:first-child td{ border-top:0 !important; }
.rgv-coa-ref-table tbody th{ font-weight:600 !important; color:#F5F0E6 !important; white-space:nowrap; }
.rgv-coa-ref-table tbody th a{ color:#F5F0E6 !important; text-decoration:none !important; }
.rgv-coa-ref-table tbody th a:hover{ color:#D9B45F !important; }
.rgv-coa-ref-table tbody td{ font-family:'IBM Plex Mono',monospace !important; font-size:13px !important; }
.rgv-coa-ref-table tbody tr:hover th,
.rgv-coa-ref-table tbody tr:hover td{ background:rgba(183,143,56,0.04) !important; }
.rgv-coa-ref-note{
  font-size:12.5px !important;
  line-height:1.6 !important;
  color:#8A8272 !important;
  margin:12px 0 0 !important;
}

/* ---------- request form ---------- */
.rgv-coareq{
  background:#161109;
  border:1px solid rgba(183,143,56,0.22);
  border-radius:16px;
  padding:28px;
}
.rgv-coareq-h{
  font-family:'Bodoni Moda',Georgia,serif !important;
  font-size:26px !important;
  font-weight:700 !important;
  color:#F5F0E6 !important;
  margin:0 0 10px !important;
  letter-spacing:0 !important;
}
.rgv-coareq-p{
  font-size:15px !important;
  line-height:1.7 !important;
  color:#B8AF9C !important;
  margin:0 0 22px !important;
}
.rgv-coareq-form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 16px;
}
.rgv-coareq-row{ margin:0 0 16px; min-width:0; }
.rgv-coareq-row.is-wide{ grid-column:1 / -1; }
.rgv-coareq-row label{
  display:block;
  font-family:'DM Sans',sans-serif !important;
  font-size:13px !important;
  font-weight:500 !important;
  color:#C9C1AE !important;
  margin:0 0 7px !important;
  text-transform:none !important;
  letter-spacing:0 !important;
}
.rgv-coareq-req{ color:#C0553F; }
.rgv-coareq-opt{ color:#8A8272; font-weight:400; }
.rgv-coareq-row input,
.rgv-coareq-row textarea{
  width:100% !important;
  box-sizing:border-box !important;
  background:#0F0C07 !important;
  border:1.5px solid rgba(183,143,56,0.24) !important;
  border-radius:10px !important;
  color:#F5F0E6 !important;
  font-family:'DM Sans',sans-serif !important;
  font-size:15px !important;
  padding:13px 14px !important;
  min-height:50px !important;
}
.rgv-coareq-row textarea{ min-height:110px !important; resize:vertical; }
.rgv-coareq-row input::placeholder,
.rgv-coareq-row textarea::placeholder{ color:#7E7767 !important; }
.rgv-coareq-row input:focus,
.rgv-coareq-row textarea:focus{
  border-color:#B78F38 !important;
  outline:none !important;
  box-shadow:0 0 0 3px rgba(183,143,56,0.15) !important;
}

/* honeypot: present for bots, invisible and unreachable for people */
.rgv-coareq-hp{
  position:absolute !important;
  left:-9999px !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
}

.rgv-coareq-actions{
  grid-column:1 / -1;
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
  margin-top:4px;
}
.rgv-coareq-btn{
  min-height:52px;
  padding:0 28px !important;
  background:#C6A044 !important;
  color:#141109 !important;
  border:0 !important;
  border-radius:10px !important;
  font-family:'DM Sans',sans-serif !important;
  font-size:15.5px !important;
  font-weight:700 !important;
  text-transform:none !important;
  letter-spacing:0 !important;
  cursor:pointer;
}
.rgv-coareq-btn:hover{ background:#D4B45C !important; }
.rgv-coareq-btn:disabled{ opacity:.6; cursor:default; }
.rgv-coareq-msg{ font-size:14px; color:#B8AF9C; }
.rgv-coareq-msg.is-ok{ color:#7FBF6A; }
.rgv-coareq-msg.is-err{ color:#C0553F; }

/* ---------- product page link ---------- */
.rgv-coa-prodlink{
  margin:14px 0 0 !important;
  font-size:13.5px !important;
}
.rgv-coa-prodlink a{
  color:#C99F44 !important;
  text-decoration:none !important;
  border-bottom:1px solid rgba(183,143,56,0.35);
  padding-bottom:1px;
}
.rgv-coa-prodlink a:hover{ color:#D9B45F !important; }

@media(max-width:767px){
  .rgv-coareq{ padding:20px; }
  .rgv-coareq-form{ grid-template-columns:1fr; gap:0; }
  .rgv-coareq-h{ font-size:22px !important; }
  .rgv-coareq-btn{ width:100%; }
  .rgv-coa-ref-table thead th,
  .rgv-coa-ref-table tbody th,
  .rgv-coa-ref-table tbody td{ padding:12px 13px !important; }
}


/* ---- rgv-uifix.css ---- */
/* ==========================================================================
   RGV Compound - interface corrections. Loaded last on purpose.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Hello Elementor's reset.css paints EVERY bare <button> magenta on hover
      and focus:

        [type="button"]:focus, [type="button"]:hover,
        [type="submit"]:focus, [type="submit"]:hover,
        button:focus, button:hover { background-color:#CC3366; color:#fff; }

      That is what turned the cart drawer close button into a pink circle when
      tapped. On a phone there is no hover, but the tap leaves :focus behind,
      so the pink sticks until you tap elsewhere.

      Same selector list, same specificity, later in the cascade - so it beats
      the theme reset without !important, and any button with its own
      intentional hover styling (higher specificity) still wins over this.
   -------------------------------------------------------------------------- */
[type="button"]:focus, [type="button"]:hover,
[type="submit"]:focus, [type="submit"]:hover,
button:focus, button:hover{
  background-color:transparent;
  color:inherit;
  text-decoration:none;
}
/* the theme also gives bare buttons a magenta resting colour + border */
[type="button"], [type="submit"], button{
  color:inherit;
}

/* our own chrome-less buttons must never pick up a background */
.rgv-dw-close, .rgv-dw-close:hover, .rgv-dw-close:focus, .rgv-dw-close:active,
.rgv-co-toggle, .rgv-co-toggle:hover, .rgv-co-toggle:focus, .rgv-co-toggle:active,
.rgv-cr-remove, .rgv-cr-remove:hover, .rgv-cr-remove:focus,
.rgv-cr-stepper button, .rgv-cr-stepper button:hover, .rgv-cr-stepper button:focus,
.rgv-dw-qty button, .rgv-dw-qty button:hover, .rgv-dw-qty button:focus,
button.xpro-elementor-horizontal-menu-toggler:hover,
button.xpro-elementor-horizontal-menu-toggler:focus,
button.xpro-elementor-horizontal-menu-close:hover,
button.xpro-elementor-horizontal-menu-close:focus{
  background-color:transparent !important;
  background-image:none !important;
}
.rgv-dw-close, .rgv-dw-close:hover, .rgv-dw-close:focus{
  color:#F5F0E6 !important;
  border:1px solid rgba(183,143,56,0.30) !important;
  border-radius:999px !important;
}
.rgv-dw-close:hover{ color:#D9B45F !important; border-color:rgba(183,143,56,0.60) !important; }

/* --------------------------------------------------------------------------
   2. Cart drawer buttons. These are <a> elements, so the interior-page link
      colour was painting "View cart" gold on its own gold background.
      rgv-forms.css now exempts anything with btn/button in its class, this
      just pins the intended colours.
   -------------------------------------------------------------------------- */
.rgv-dw-btn-gold,
.rgv-dw-btn-gold:hover,
.rgv-dw-btn-gold:focus{
  background-color:#C6A044 !important;
  color:#141109 !important;
  -webkit-text-fill-color:#141109 !important;
}
.rgv-dw-btn-gold:hover{ background-color:#D4B45C !important; }
.rgv-dw-btn-ghost,
.rgv-dw-btn-ghost:hover,
.rgv-dw-btn-ghost:focus{
  color:#F5F0E6 !important;
  -webkit-text-fill-color:#F5F0E6 !important;
}

/* --------------------------------------------------------------------------
   3. Header cart button: identical on every page.
      The Elementor widget itself is configured with gold text, and the dark
      theme override that corrected it was scoped to body:not(.home).page, so
      the home page and any non-page template were left with gold on gold.
   -------------------------------------------------------------------------- */
.rgv-site-header .elementor-button,
.rgv-site-header .elementor-button:hover,
.rgv-site-header .elementor-button:focus,
.rgv-site-header .elementor-button:visited{
  background-color:#B78F38 !important;
  color:#141109 !important;
  -webkit-text-fill-color:#141109 !important;
  text-decoration:none !important;
}
.rgv-site-header .elementor-button:hover{ background-color:#C99F44 !important; }
.rgv-site-header .elementor-button svg,
.rgv-site-header .elementor-button:hover svg{ fill:#141109 !important; }
.rgv-site-header .elementor-button .rgv-cart-count{ color:#141109 !important; }

/* --------------------------------------------------------------------------
   4. Contact form layout.
      The field container is a two column grid. WPForms' anti-spam decoy
      fields (.wpforms-field-text without our .rgv-field class) were sitting
      in the flow and eating grid cells, which pushed the real fields out of
      alignment and stopped the message box filling the row.

      The decoys stay in the DOM and stay hidden - they are moved out of the
      grid rather than removed, so anti-spam still works.
   -------------------------------------------------------------------------- */
.rgv-contact-right .wpforms-form .wpforms-field.wpforms-field-text:not(.rgv-field),
.rgv-form-wrap .wpforms-form .wpforms-field.wpforms-field-text:not(.rgv-field),
div.wpforms-container-full .wpforms-form .wpforms-field-hp{
  position:absolute !important;
  left:-9999px !important;
  top:auto !important;
  width:1px !important;
  height:1px !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
}

.rgv-contact-right .wpforms-form .wpforms-field-container,
.rgv-form-wrap .wpforms-form .wpforms-field-container{
  display:grid !important;
  grid-template-columns:1fr 1fr;
  gap:0 16px;
  align-items:start;
}
.rgv-contact-right .wpforms-form .wpforms-field-name,
.rgv-form-wrap .wpforms-form .wpforms-field-name{ grid-column:1; }
.rgv-contact-right .wpforms-form .wpforms-field-email,
.rgv-form-wrap .wpforms-form .wpforms-field-email{ grid-column:2; }
.rgv-contact-right .wpforms-form .wpforms-field-textarea,
.rgv-form-wrap .wpforms-form .wpforms-field-textarea,
.rgv-contact-right .wpforms-form .wpforms-submit-container,
.rgv-form-wrap .wpforms-form .wpforms-submit-container{ grid-column:1 / -1; }

.rgv-contact-right .wpforms-form .wpforms-field.rgv-field,
.rgv-form-wrap .wpforms-form .wpforms-field.rgv-field{
  width:auto !important;
  min-width:0;
  margin:0 0 16px !important;
  padding:0 !important;
}
.rgv-contact-right .wpforms-form textarea,
.rgv-form-wrap .wpforms-form textarea,
.wpforms-container textarea{
  width:100% !important;
  min-height:150px !important;
  box-sizing:border-box !important;
  resize:vertical;
}
.rgv-contact-right .wpforms-form input[type="text"],
.rgv-contact-right .wpforms-form input[type="email"],
.rgv-form-wrap .wpforms-form input[type="text"],
.rgv-form-wrap .wpforms-form input[type="email"]{
  width:100% !important;
  box-sizing:border-box !important;
}

/* single column from tablet down, so nothing is ever squeezed */
@media(max-width:880px){
  .rgv-contact-right .wpforms-form .wpforms-field-container,
  .rgv-form-wrap .wpforms-form .wpforms-field-container{
    grid-template-columns:1fr !important;
    gap:0 !important;
  }
  .rgv-contact-right .wpforms-form .wpforms-field-name,
  .rgv-contact-right .wpforms-form .wpforms-field-email,
  .rgv-form-wrap .wpforms-form .wpforms-field-name,
  .rgv-form-wrap .wpforms-form .wpforms-field-email{ grid-column:1 / -1 !important; }
  .rgv-contact-right .wpforms-form textarea,
  .rgv-form-wrap .wpforms-form textarea{ min-height:170px !important; }
}

/* --------------------------------------------------------------------------
   5. Welcome gift progress bar.
      Appears at the top of the cart drawer and above the cart table. Tells
      the shopper what they unlock before anything is added for them.
   -------------------------------------------------------------------------- */
.rgv-gbar{
  background:rgba(183,143,56,0.07);
  border:1px solid rgba(183,143,56,0.22);
  border-radius:12px;
  padding:14px 16px;
  margin:0 0 18px;
}
.rgv-gbar.is-reached{
  background:rgba(47,122,62,0.10);
  border-color:rgba(47,122,62,0.34);
}
.rgv-gbar-msg{
  font-family:'DM Sans',sans-serif !important;
  font-size:14px !important;
  font-weight:600 !important;
  line-height:1.45 !important;
  color:#F5F0E6 !important;
  margin:0 0 10px !important;
}
.rgv-gbar-msg .amount,
.rgv-gbar-msg .woocommerce-Price-amount{ color:#D9B45F !important; font-weight:700 !important; }
.rgv-gbar.is-reached .rgv-gbar-msg{ color:#CFE3CE !important; }
.rgv-gbar-tick{
  display:inline-flex; align-items:center; justify-content:center;
  width:18px; height:18px; margin-right:7px; vertical-align:-3px;
  border-radius:999px; background:#2F7A3E; color:#fff;
  font-size:11px; font-weight:700; line-height:1;
}
.rgv-gbar-track{
  position:relative; height:6px; border-radius:999px;
  background:rgba(245,240,230,0.12); overflow:hidden;
}
.rgv-gbar-fill{
  display:block; height:100%; border-radius:999px;
  background:linear-gradient(90deg,#B78F38,#D9B45F);
  transition:width .45s cubic-bezier(.16,.7,.3,1);
}
.rgv-gbar.is-reached .rgv-gbar-fill{ background:linear-gradient(90deg,#2F7A3E,#4E9E5C); }
.rgv-gbar-note{
  font-family:'DM Sans',sans-serif !important;
  font-size:12px !important; line-height:1.5 !important;
  color:#8A8272 !important;
  margin:9px 0 0 !important;
}

/* inside the slide-in drawer */
.rgv-dw-barwrap .rgv-gbar{ margin:0 0 16px; }
.rgv-dw-barwrap:empty{ display:none; }

/* on the cart page, match the column width */
.woocommerce-cart .rgv-gbar{ max-width:none; margin:0 0 22px; }

/* the free line item in cart, drawer and checkout */
.rgv-gift-badge{
  display:inline-block; margin-left:8px;
  padding:3px 8px; border-radius:999px;
  background:rgba(183,143,56,0.16); border:1px solid rgba(183,143,56,0.34);
  font-family:'DM Sans',sans-serif !important;
  font-size:10.5px !important; font-weight:700 !important;
  letter-spacing:.04em; text-transform:uppercase;
  color:#D9B45F !important; vertical-align:1px;
}
.rgv-gift-free{ font-weight:700 !important; color:#2F7A3E !important; }
.rgv-gift-qty{ font-weight:600; opacity:.75; }

/* light checkout + confirmation pages need the readable variants */
body.rgv-focus-checkout .rgv-gift-badge,
body.rgv-thankyou .rgv-gift-badge{
  background:#F3EAD6; border-color:#DBD1B9;
  color:#8A6B25 !important;
}
body.rgv-focus-checkout .rgv-gift-free,
body.rgv-thankyou .rgv-gift-free{ color:#2F7A3E !important; }

/* --------------------------------------------------------------------------
   6. Local delivery notice on the product page
   -------------------------------------------------------------------------- */
.rgv-local{
  margin:16px 0 0;
  padding:14px 16px;
  background:rgba(183,143,56,0.07);
  border:1px solid rgba(183,143,56,0.22);
  border-left:3px solid #B78F38;
  border-radius:11px;
}
.rgv-local-h{
  font-family:'DM Sans',sans-serif !important;
  font-size:14.5px !important;
  font-weight:700 !important;
  line-height:1.45 !important;
  color:#F5F0E6 !important;
  margin:0 0 7px !important;
}
.rgv-local-sub{
  font-family:'DM Sans',sans-serif !important;
  font-size:12.4px !important;
  line-height:1.6 !important;
  color:#8A8272 !important;
  margin:0 !important;
}
@media(max-width:767px){
  .rgv-local{ padding:13px 14px; }
  .rgv-local-h{ font-size:14px !important; }
  .rgv-local-sub{ font-size:12px !important; }
}

/* countdown emphasis + live dot */
.rgv-local-count{
  display:inline-block;
  color:#D9B45F !important;
  font-weight:700 !important;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.rgv-local-dot{
  display:inline-block; width:8px; height:8px; margin-right:8px;
  border-radius:999px; background:#4E9E5C; vertical-align:1px;
  box-shadow:0 0 0 0 rgba(78,158,92,0.65);
  animation:rgvLocalPulse 2s infinite;
}
.rgv-local-dot.is-off{ background:#8A8272; animation:none; box-shadow:none; }
@keyframes rgvLocalPulse{
  0%{ box-shadow:0 0 0 0 rgba(78,158,92,0.55); }
  70%{ box-shadow:0 0 0 7px rgba(78,158,92,0); }
  100%{ box-shadow:0 0 0 0 rgba(78,158,92,0); }
}
@media (prefers-reduced-motion: reduce){ .rgv-local-dot{ animation:none; } }

/* --------------------------------------------------------------------------
   8. Footer postal address (CAN-SPAM requires a valid physical address that
      is verifiable from the storefront)
   -------------------------------------------------------------------------- */
.rgv-foot-address{ margin-top:16px !important; }
.rgv-foot-address .rgv-foot-addr,
.rgv-foot-address p{
  font-family:'DM Sans',sans-serif !important;
  font-size:12.5px !important;
  line-height:1.7 !important;
  color:#8A8272 !important;
  margin:0 !important;
}
@media(max-width:1024px){
  .rgv-foot-address{ margin-top:14px !important; }
  .rgv-foot-address p{ font-size:12px !important; }
}


/* ---- rgv-headerfix.css ---- */
/* ==========================================================================
   RGV Compound - header layout on mobile and tablet.

   Elementor sets --flex-wrap-mobile:wrap on both header containers, so below
   1025px the right hand cluster could not fit beside the logo, wrapped onto
   its own line, and sat left with dead space above it. Desktop is untouched.
   ========================================================================== */

/* cart count badge, all breakpoints */
.rgv-site-header .rgv-cart-btn .elementor-button{ position:relative; }
.rgv-cart-count{
  position:absolute;
  top:-7px; right:-7px;
  min-width:19px; height:19px; padding:0 5px;
  display:flex; align-items:center; justify-content:center;
  border-radius:999px;
  background:#C6A044;
  color:#141109 !important;
  font-family:'DM Sans',sans-serif;
  font-size:11px; font-weight:700; line-height:1;
  box-shadow:0 0 0 2px #141109;
}
.rgv-cart-count[data-count="0"]{ display:none; }

@media(max-width:1024px){

  /* the header row never wraps */
  .rgv-site-header .elementor-element-dc49a41,
  .rgv-site-header .elementor-element-dc49a41 > .e-con-inner{
    flex-wrap:nowrap !important;
    align-items:center !important;
    justify-content:space-between !important;
  }

  /* right hand cluster hugs the right edge */
  .rgv-site-header .elementor-element-8ebf522{
    flex-wrap:nowrap !important;
    width:auto !important;
    max-width:none !important;
    flex:0 0 auto !important;
    margin-left:auto !important;
    justify-content:flex-end !important;
    align-items:center !important;
    gap:10px !important;
  }

  /* logo holds its size */
  .rgv-site-header .rgv-logo{ flex:0 0 auto !important; }
  .rgv-site-header .rgv-logo img{ width:150px !important; }

  /* cart first, hamburger last, matching the reference header */
  .rgv-site-header .elementor-element-8ebf522 .rgv-cart-btn{ order:1 !important; }
  .rgv-site-header .elementor-element-8ebf522 .elementor-widget-xpro-horizontal-menu{ order:2 !important; }
  .rgv-site-header .elementor-element-8ebf522 > .elementor-widget{
    width:auto !important;
    flex:0 0 auto !important;
    margin:0 !important;
  }

  /* cart becomes a compact outlined tile */
  .rgv-site-header .rgv-cart-btn .elementor-button{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:44px !important;
    height:44px !important;
    min-height:44px !important;
    padding:0 !important;
    background-color:rgba(183,143,56,0.10) !important;
    border:1px solid rgba(183,143,56,0.45) !important;
    border-radius:11px !important;
    box-shadow:none !important;
  }
  .rgv-site-header .rgv-cart-btn .elementor-button:hover{
    background-color:rgba(183,143,56,0.20) !important;
    border-color:rgba(183,143,56,0.75) !important;
  }
  /* icon only, drop the word */
  .rgv-site-header .rgv-cart-btn .elementor-button-text{
    position:absolute !important;
    width:1px !important; height:1px !important;
    overflow:hidden !important;
    clip:rect(0,0,0,0) !important;
    white-space:nowrap !important;
  }
  .rgv-site-header .rgv-cart-btn .elementor-button-content-wrapper{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:0 !important;
  }
  .rgv-site-header .rgv-cart-btn .elementor-button-icon{
    margin:0 !important;
    display:flex !important;
    align-items:center !important;
  }
  .rgv-site-header .rgv-cart-btn .elementor-button-icon svg{
    width:19px !important; height:19px !important;
    fill:#D9B45F !important;
  }
  .rgv-site-header .rgv-cart-btn .elementor-button:hover .elementor-button-icon svg{ fill:#F0D48A !important; }

  /* hamburger matched to the same tile size */
  .rgv-site-header .xpro-elementor-horizontal-navbar-wrapper{
    display:flex !important;
    align-items:center !important;
  }
  .rgv-site-header button.xpro-elementor-horizontal-menu-toggler{
    width:44px !important;
    height:44px !important;
    padding:0 !important;
    margin:0 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:transparent !important;
    border:0 !important;
    border-radius:11px !important;
  }
  .rgv-site-header button.xpro-elementor-horizontal-menu-toggler i,
  .rgv-site-header button.xpro-elementor-horizontal-menu-toggler svg{
    font-size:22px !important;
    color:#F5F0E6 !important;
    fill:#F5F0E6 !important;
  }

  /* tighten the bar */
  .rgv-site-header .elementor-element-dc49a41{
    padding-left:18px !important;
    padding-right:18px !important;
    padding-top:12px !important;
    padding-bottom:12px !important;
  }
}

@media(max-width:420px){
  .rgv-site-header .rgv-logo img{ width:132px !important; }
  .rgv-site-header .elementor-element-8ebf522{ gap:6px !important; }
}


/* ---- rgv-marketing.css ---- */
/* ==========================================================================
   RGV Compound - subscribe form, checkout opt in, email preferences page
   ========================================================================== */

/* ---------- subscribe form ---------- */
.rgv-sub{
  background:#161109;
  border:1px solid rgba(183,143,56,0.22);
  border-radius:14px;
  padding:22px 24px;
}
.rgv-sub-h{
  font-family:'Bodoni Moda',Georgia,serif !important;
  font-size:22px !important;
  font-weight:700 !important;
  color:#F5F0E6 !important;
  margin:0 0 8px !important;
}
.rgv-sub-p{
  font-size:13.5px !important;
  line-height:1.65 !important;
  color:#B8AF9C !important;
  margin:0 0 16px !important;
}
.rgv-sub-row{ display:flex; gap:10px; }
.rgv-sub-row input[type="email"]{
  flex:1 1 auto; min-width:0;
  background:#0F0C07 !important;
  border:1.5px solid rgba(183,143,56,0.24) !important;
  border-radius:10px !important;
  color:#F5F0E6 !important;
  padding:13px 14px !important;
  font-size:15px !important;
  min-height:50px !important;
  box-sizing:border-box !important;
}
.rgv-sub-row input[type="email"]::placeholder{ color:#7E7767 !important; }
.rgv-sub-row input[type="email"]:focus{
  border-color:#B78F38 !important; outline:none !important;
  box-shadow:0 0 0 3px rgba(183,143,56,0.15) !important;
}
.rgv-sub-btn{
  flex:0 0 auto;
  min-height:50px; padding:0 24px !important;
  background:#C6A044 !important; color:#141109 !important;
  border:0 !important; border-radius:10px !important;
  font-family:'DM Sans',sans-serif !important;
  font-size:15px !important; font-weight:700 !important;
  text-transform:none !important; cursor:pointer;
}
.rgv-sub-btn:hover{ background:#D4B45C !important; }
.rgv-sub-btn:disabled{ opacity:.6; cursor:default; }
.rgv-sub-hp{ position:absolute !important; left:-9999px !important; width:1px !important; height:1px !important; overflow:hidden !important; }
.rgv-sub-msg{ font-size:13px !important; margin:10px 0 0 !important; color:#B8AF9C !important; }
.rgv-sub-msg.is-ok{ color:#7FBF6A !important; }
.rgv-sub-msg.is-err{ color:#C0553F !important; }

@media(max-width:600px){
  .rgv-sub{ padding:18px; }
  .rgv-sub-row{ flex-direction:column; }
  .rgv-sub-btn{ width:100%; }
}

/* ---------- checkout opt in ---------- */
body.rgv-focus-checkout .rgv-optin{
  margin:16px 0 0 !important;
  padding:14px 16px !important;
  background:#FBF8F1 !important;
  border:1px solid #DBD1B9 !important;
  border-radius:10px !important;
}
body.rgv-focus-checkout .rgv-optin label{
  display:flex !important;
  align-items:flex-start !important;
  gap:10px !important;
  font-size:13.5px !important;
  font-weight:500 !important;
  line-height:1.5 !important;
  color:#6B6350 !important;
  margin:0 !important;
  cursor:pointer;
}
body.rgv-focus-checkout .rgv-optin input[type="checkbox"]{
  margin:2px 0 0 !important;
  flex:0 0 auto;
}

/* ---------- email preferences page ---------- */
.rgv-prefs{ max-width:620px; }
.rgv-prefs-h{
  font-family:'Bodoni Moda',Georgia,serif !important;
  font-size:28px !important;
  font-weight:700 !important;
  color:#F5F0E6 !important;
  margin:0 0 14px !important;
}
.rgv-prefs-p{
  font-size:15.5px !important;
  line-height:1.7 !important;
  color:#B8AF9C !important;
  margin:0 0 14px !important;
}
.rgv-prefs-p strong{ color:#F5F0E6 !important; }
.rgv-prefs-note{
  margin:18px 0 0 !important;
  padding:14px 16px !important;
  background:#161109;
  border:1px solid rgba(183,143,56,0.20);
  border-left:3px solid #B78F38;
  border-radius:10px;
  font-size:13.5px !important;
  line-height:1.65 !important;
  color:#8A8272 !important;
}


/* ---- rgv-announce.css ---- */
/* ==========================================================================
   RGV Compound - sticky scrolling offer bar

   Sits above the sticky site header on every page. Server-rendered with a
   fixed height so it can never cause layout shift - the site currently scores
   a perfect 0 on CLS and this must not change that.

   Loaded last in the bundle so the .rgv-site-header offset wins.
   ========================================================================== */

:root{
  --rgv-announce-h: 34px;
  --rgv-announce-speed: 40s;
}
@media (max-width: 767px){
  :root{ --rgv-announce-h: 30px; }
}

.rgv-announce{
  position: sticky;
  top: 0;
  z-index: 101;                 /* above .rgv-site-header (100) */
  height: var(--rgv-announce-h);
  display: flex;
  align-items: center;
  overflow: hidden;
  background: linear-gradient(90deg,#A8802F 0%,#C99F44 45%,#B78F38 100%);
  border-bottom: 1px solid rgba(23,19,12,.20);
  box-shadow: 0 1px 0 rgba(0,0,0,.25);
  contain: layout paint;
}

/* The sticky header now pins directly beneath the bar rather than the viewport top. */
.rgv-site-header{
  top: var(--rgv-announce-h);
}

/* Logged-in admin bar sits above everything; keep the offer bar clear of it. */
body.admin-bar .rgv-announce{ top: 32px; }
body.admin-bar .rgv-site-header{ top: calc(32px + var(--rgv-announce-h)); }
@media screen and (max-width: 782px){
  body.admin-bar .rgv-announce{ top: 46px; }
  body.admin-bar .rgv-site-header{ top: calc(46px + var(--rgv-announce-h)); }
}

.rgv-announce-track{
  display: flex;
  width: max-content;
  will-change: transform;
  animation: rgv-announce-scroll var(--rgv-announce-speed) linear infinite;
}

/* Two identical groups; translating exactly -50% loops seamlessly. */
.rgv-announce-group{
  display: flex;
  align-items: center;
  flex: 0 0 auto;
}

.rgv-announce-item{
  font-family: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 11.5px;
  font-weight: 500;
  letter-spacing: .085em;
  text-transform: uppercase;
  white-space: nowrap;
  color: #17130C;
  padding: 0 20px;
  line-height: 1;
}
@media (max-width: 767px){
  .rgv-announce-item{ font-size: 10.5px; padding: 0 14px; letter-spacing: .07em; }
}

.rgv-announce-sep{
  flex: 0 0 auto;
  font-size: 9px;
  line-height: 1;
  color: rgba(23,19,12,.55);
  transform: translateY(-.5px);
}

@keyframes rgv-announce-scroll{
  from{ transform: translateX(0); }
  to  { transform: translateX(-50%); }
}

/* Pause on hover so a reader can finish a sentence. */
.rgv-announce:hover .rgv-announce-track,
.rgv-announce:focus-within .rgv-announce-track{
  animation-play-state: paused;
}

/*
 * Reduced motion: no scrolling at all. Show the first group only, centred,
 * so the message is still readable and nothing moves.
 */
@media (prefers-reduced-motion: reduce){
  .rgv-announce{ justify-content: center; }
  .rgv-announce-track{ animation: none; width: auto; }
  .rgv-announce-group[aria-hidden="true"]{ display: none; }
}

/* ================= RGV BELT PAYMENT MARKS =================
   Marks are capped to the belt line height so adding them cannot change the
   bar height. Inlined SVG, so no extra request and no layout shift while it
   loads. Falls back to a plain wordmark until the official files are added.
   ========================================================= */
.rgv-abelt-pay{ display:inline-flex; align-items:center; gap:7px; vertical-align:middle; }
.rgv-abelt-mark{ display:inline-flex; align-items:center; }
.rgv-abelt-mark svg{
  display:block; height:14px; width:auto; max-width:64px;
}
.rgv-abelt-word{ letter-spacing:.08em; }
.rgv-abelt-dash{ opacity:.55; margin:0 1px; }
@media (max-width:600px){
  .rgv-abelt-mark svg{ height:12px; max-width:54px; }
  .rgv-abelt-pay{ gap:5px; }
}


/* ---- rgv-imgslot.css ---- */
/* ==========================================================================
   RGV Compound - framing corrections after the homepage image swap

   The "Science you can trust" slot previously held the GHK-Cu photograph, a
   wide landscape scene (1672x941) with the vial sitting to the right. Its crop
   was hand-tuned per breakpoint - object-position 72% to 85% - so the vial
   stayed in frame while the empty left of the scene was cropped away.

   That slot now holds the BPC-157 photograph, which is portrait (1122x1402)
   with the vial centred. Keeping the old percentages would push a centred
   subject off to one side. Every breakpoint is reset to centre framing.

   The slot itself uses object-fit:cover with a fixed aspect-ratio, so layout
   cannot shift regardless of which image sits in it - only the framing needed
   correcting.

   Loaded last in the bundle so these win over the originals.
   ========================================================================== */

.rgv-ghk-slot img{
  object-position: center center !important;
}

@media (min-width: 1025px){
  .rgv-ghk-slot img{ object-position: center center !important; }
}

@media (min-width: 768px) and (max-width: 1024px){
  .rgv-ghk-slot img{ object-position: center center !important; }
}

@media (max-width: 767px){
  .rgv-ghk-slot img{ object-position: center center !important; }
}

@media (max-width: 430px){
  .rgv-ghk-slot img{ object-position: center center !important; }
}


/* ---- rgv-pdp.css ---- */
/* ==========================================================================
   RGV Compound - structured product detail page
   Numbered sections matching the home page language. Brand palette only.
   ========================================================================== */

/* WooCommerce floats the gallery left and the summary right. The stock tabs
   carried clear:both; replacing them means we must clear the floats ourselves,
   or these sections lay out alongside the gallery and headings stretch. */
.rgv-pdp{ clear:both; max-width:1180px; margin:56px auto 0; padding:0 20px 8px; }

.rgv-pdp-sec{ padding:44px 0; border-top:1px solid rgba(183,143,56,.22); }
.rgv-pdp-sec:first-child{ border-top:0; padding-top:8px; }

/* ---- numbered heading ---- */
.rgv-pdp-head{ display:flex; align-items:center; gap:12px; margin-bottom:10px; }
.rgv-pdp-num{
  font-family:'IBM Plex Mono',ui-monospace,monospace;
  font-size:11px; font-weight:700; letter-spacing:.14em; color:#B78F38;
  padding:3px 8px; border:1px solid rgba(183,143,56,.42);
  border-radius:4px; line-height:1;
}
.rgv-pdp-eyebrow{
  font-family:'IBM Plex Mono',ui-monospace,monospace;
  font-size:11px; font-weight:500; letter-spacing:.16em;
  text-transform:uppercase; color:#8A8272;
}
.rgv-pdp-title{
  font-family:'Bodoni Moda',Georgia,serif;
  font-size:clamp(26px,4vw,38px); font-weight:700; line-height:1.12;
  color:#F2EDE2; margin:0 0 22px; letter-spacing:.01em;
}

/* ---- prose ---- */
.rgv-pdp-prose{
  font-family:'DM Sans',system-ui,sans-serif;
  font-size:15px; line-height:1.72; color:#B9B2A4; max-width:74ch;
}
.rgv-pdp-prose p{ margin:0 0 14px; }
.rgv-pdp-prose p:last-child{ margin-bottom:0; }

/* ---- specification table ---- */
.rgv-spec{ margin:0; display:block; border-top:1px solid rgba(242,237,226,.10); }
.rgv-spec-row{
  display:grid; grid-template-columns:minmax(190px,30%) 1fr; gap:18px;
  padding:15px 2px; border-bottom:1px solid rgba(242,237,226,.10);
  align-items:start;
}
.rgv-spec dt{
  font-family:'IBM Plex Mono',ui-monospace,monospace;
  font-size:10.5px; font-weight:600; letter-spacing:.11em;
  text-transform:uppercase; color:#8A8272; margin:0; line-height:1.5;
}
.rgv-spec dd{
  font-family:'DM Sans',system-ui,sans-serif;
  font-size:14.5px; line-height:1.6; color:#F2EDE2; margin:0;
}
.rgv-spec dd sub{ font-size:.72em; }
@media(max-width:600px){
  .rgv-spec-row{ grid-template-columns:1fr; gap:5px; padding:13px 2px; }
}

.rgv-pdp-ruo{
  font-family:'DM Sans',system-ui,sans-serif;
  font-size:12.5px; line-height:1.6; color:#8A8272;
  margin:16px 0 0; padding:12px 14px;
  background:rgba(183,143,56,.06);
  border-left:2px solid rgba(183,143,56,.45); border-radius:3px;
}

/* ---- documentation ---- */
.rgv-doc-list{ list-style:none; margin:22px 0 0; padding:0; display:grid; gap:1px;
  background:rgba(242,237,226,.10); border:1px solid rgba(242,237,226,.10); border-radius:6px; overflow:hidden; }
.rgv-doc-list li{ background:#100D08; padding:16px 18px; margin:0; }
.rgv-doc-list strong{
  display:block; font-family:'IBM Plex Mono',ui-monospace,monospace;
  font-size:10.5px; font-weight:600; letter-spacing:.11em;
  text-transform:uppercase; color:#B78F38; margin-bottom:6px;
}
.rgv-doc-list span{
  font-family:'DM Sans',system-ui,sans-serif;
  font-size:14px; line-height:1.6; color:#B9B2A4;
}
@media(min-width:768px){ .rgv-doc-list{ grid-template-columns:repeat(3,1fr); } }

.rgv-pdp-btn{
  display:inline-block; margin-top:22px; padding:13px 26px;
  background:linear-gradient(180deg,#C99F44,#B78F38); color:#17130C !important;
  font-family:'IBM Plex Mono',ui-monospace,monospace;
  font-size:11.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  text-decoration:none !important; border-radius:999px; line-height:1;
  transition:filter .18s ease;
}
.rgv-pdp-btn:hover{ filter:brightness(1.07); }

/* ---- trust row under the buy box ---- */
.rgv-pdp-trust{
  list-style:none; margin:18px 0 0; padding:0;
  display:grid; gap:9px;
}
.rgv-pdp-trust li{
  display:flex; align-items:flex-start; gap:9px; margin:0;
  font-family:'DM Sans',system-ui,sans-serif;
  font-size:13.5px; line-height:1.5; color:#B9B2A4;
}
.rgv-pdp-tick{ color:#B78F38; font-size:12px; line-height:1.55; flex:0 0 auto; }
@media(min-width:520px){ .rgv-pdp-trust{ grid-template-columns:1fr 1fr; gap:9px 20px; } }

/* ---- reviews ---- */
.rgv-pdp-rscore{ display:flex; align-items:baseline; gap:12px; margin-bottom:18px; }
.rgv-pdp-rnum{ font-family:'Bodoni Moda',Georgia,serif; font-size:44px; font-weight:700; color:#F2EDE2; line-height:1; }
.rgv-pdp-rmeta{ font-family:'DM Sans',system-ui,sans-serif; font-size:13.5px; color:#8A8272; }

/* ---- sticky mobile buy bar ---- */
.rgv-pdp-sticky{
  position:fixed; left:0; right:0; bottom:0; z-index:95;
  display:none; align-items:center; gap:12px;
  padding:10px 14px calc(10px + env(safe-area-inset-bottom));
  background:rgba(13,11,7,.96);
  -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
  border-top:1px solid rgba(183,143,56,.28);
}
.rgv-pdp-sticky .rgv-sb-name{
  font-family:'DM Sans',system-ui,sans-serif; font-size:13.5px;
  color:#F2EDE2; font-weight:600; line-height:1.2;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.rgv-pdp-sticky .rgv-sb-price{
  font-family:'IBM Plex Mono',ui-monospace,monospace;
  font-size:12px; color:#B78F38; line-height:1.3; margin-top:2px;
}
.rgv-pdp-sticky .rgv-sb-info{ min-width:0; flex:1 1 auto; }
.rgv-pdp-sticky .rgv-sb-btn{
  flex:0 0 auto; padding:12px 22px; border:0; cursor:pointer;
  background:linear-gradient(180deg,#C99F44,#B78F38); color:#17130C;
  font-family:'IBM Plex Mono',ui-monospace,monospace;
  font-size:11.5px; font-weight:700; letter-spacing:.09em;
  text-transform:uppercase; border-radius:999px; line-height:1;
  text-decoration:none;
}
@media(max-width:1024px){
  .rgv-pdp-sticky.is-on{ display:flex; }
  body.rgv-has-stickybar{ padding-bottom:70px; }
}
@media(prefers-reduced-motion:reduce){ .rgv-pdp-btn{ transition:none; } }

/* ================= RGV SPEC GROUPS =================
   Bundles, blends and multi-component items list identity data per component.
   Each component gets a sub-heading above its own table, and any shared rows
   that trail the components are labelled so they are not read as belonging
   to the last component only.
   ================================================== */
.rgv-spec-sub{
  font-family:'DM Sans',system-ui,sans-serif;
  font-size:13px; font-weight:700; letter-spacing:.02em; color:#F2EDE2;
  margin:26px 0 10px; padding:0 0 8px;
  border-bottom:1px solid rgba(183,143,56,.22);
}
.rgv-spec-sub:first-of-type{ margin-top:6px; }
.rgv-spec-sub.is-shared{
  font-family:'IBM Plex Mono',ui-monospace,monospace;
  font-size:10px; letter-spacing:.1em; text-transform:uppercase;
  color:#8A8272; font-weight:500;
}
.rgv-spec-note{ margin:0 0 12px; }
.rgv-spec-note p{ margin:0 0 8px; }
.rgv-spec-bullets{
  list-style:none; margin:6px 0 0; padding:0;
}
.rgv-spec-bullets li{
  position:relative; padding:0 0 0 18px; margin:0 0 9px;
  font-family:'DM Sans',system-ui,sans-serif;
  font-size:14px; line-height:1.6; color:#B9B2A4;
}
.rgv-spec-bullets li::before{
  content:''; position:absolute; left:2px; top:9px;
  width:5px; height:5px; border-radius:50%; background:#C99F44;
}
.rgv-spec-bullets li:last-child{ margin-bottom:0; }


/* ---- rgv-pdp-reviews.css ---- */
/* ==========================================================================
   RGV Compound - rating button, review wall, reworked sticky bar
   Loads after rgv-pdp.css in the bundle so the sticky overrides win.
   ========================================================================== */

/* ---- stars ---- */
.rgv-stars{ display:inline-flex; gap:2px; line-height:1; }
.rgv-star{ color:rgba(242,237,226,.22); font-size:14px; line-height:1; }
.rgv-star.is-on,
.rgv-star.is-half{ color:#C99F44; }

/* ---- actionable rating button under the product title ---- */
.rgv-rating-btn{
  display:inline-flex; align-items:center; gap:9px;
  margin:0 0 14px; padding:7px 14px 7px 12px;
  border:1px solid rgba(183,143,56,.38); border-radius:999px;
  background:rgba(183,143,56,.08);
  text-decoration:none !important; cursor:pointer;
  transition:background .18s ease, border-color .18s ease;
}
.rgv-rating-btn:hover{ background:rgba(183,143,56,.16); border-color:rgba(183,143,56,.6); }
.rgv-rating-num{
  font-family:'DM Sans',system-ui,sans-serif;
  font-size:14px; font-weight:700; color:#F2EDE2; line-height:1;
}
.rgv-rating-count{
  font-family:'DM Sans',system-ui,sans-serif;
  font-size:13px; color:#B9B2A4; line-height:1; text-decoration:underline;
  text-underline-offset:3px; text-decoration-color:rgba(185,178,164,.4);
}
.rgv-rating-go{ color:#B78F38; font-size:13px; line-height:1; }

/* ---- review section header ---- */
.rgv-rev-top{ margin-bottom:26px; }
.rgv-rev-score{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.rgv-rev-num{
  font-family:'Bodoni Moda',Georgia,serif;
  font-size:52px; font-weight:700; color:#F2EDE2; line-height:1;
}
.rgv-rev-score .rgv-star{ font-size:17px; }
.rgv-rev-meta{
  font-family:'DM Sans',system-ui,sans-serif;
  font-size:13.5px; color:#8A8272; width:100%;
}

/* ---- review cards ---- */
.rgv-revw-grid{ display:grid; gap:14px; }
@media(min-width:700px){ .rgv-revw-grid{ grid-template-columns:repeat(2,1fr); } }
@media(min-width:1060px){ .rgv-revw-grid{ grid-template-columns:repeat(3,1fr); } }

.rgv-rev-card{
  background:#100D08; border:1px solid rgba(242,237,226,.10);
  border-radius:8px; padding:18px; display:flex; flex-direction:column; gap:10px;
}
.rgv-rev-head{ display:flex; align-items:center; gap:10px; }
.rgv-rev-avatar{
  width:32px; height:32px; flex:0 0 32px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(180deg,#C99F44,#8E6B24); color:#17130C;
  font-family:'DM Sans',system-ui,sans-serif; font-size:14px; font-weight:700; line-height:1;
}
.rgv-rev-who{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.rgv-rev-name{
  font-family:'DM Sans',system-ui,sans-serif;
  font-size:14px; font-weight:600; color:#F2EDE2; line-height:1.2;
}
.rgv-rev-badge{
  font-family:'IBM Plex Mono',ui-monospace,monospace;
  font-size:9.5px; letter-spacing:.09em; text-transform:uppercase; color:#8E9E6B;
  line-height:1;
}
.rgv-rev-date{
  margin-left:auto; flex:0 0 auto;
  font-family:'IBM Plex Mono',ui-monospace,monospace;
  font-size:10px; letter-spacing:.05em; color:#6F675A; line-height:1;
}
.rgv-rev-text{
  font-family:'DM Sans',system-ui,sans-serif;
  font-size:14px; line-height:1.62; color:#B9B2A4; margin:0;
}
.rgv-rev-variant{
  align-self:flex-start; margin-top:auto;
  font-family:'IBM Plex Mono',ui-monospace,monospace;
  font-size:10px; letter-spacing:.08em; text-transform:uppercase;
  color:#8A8272; padding:4px 9px;
  border:1px solid rgba(242,237,226,.12); border-radius:4px; line-height:1;
}

/* ==========================================================================
   Sticky buy bar - reworked after iPhone testing
   Floats clear of the browser chrome, no repeated price, slides in and out.
   ========================================================================== */
.rgv-pdp-sticky{
  position:fixed; z-index:95;
  left:12px; right:12px; bottom:calc(16px + env(safe-area-inset-bottom));
  display:flex; align-items:center; gap:12px;
  padding:9px 9px 9px 18px;
  background:rgba(16,13,8,.97);
  -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px);
  border:1px solid rgba(183,143,56,.34); border-top:1px solid rgba(183,143,56,.34);
  border-radius:999px;
  box-shadow:0 10px 30px rgba(0,0,0,.55);
  transform:translateY(150%); opacity:0; pointer-events:none;
  transition:transform .3s cubic-bezier(.16,.7,.3,1), opacity .25s ease;
}
.rgv-pdp-sticky.is-on{ transform:none; opacity:1; pointer-events:auto; }

.rgv-pdp-sticky .rgv-sb-name{
  flex:1 1 auto; min-width:0;
  font-family:'DM Sans',system-ui,sans-serif;
  font-size:14px; font-weight:600; color:#F2EDE2; line-height:1.2;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.rgv-pdp-sticky .rgv-sb-btn{
  flex:0 0 auto; padding:12px 22px; border:0;
  background:linear-gradient(180deg,#C99F44,#B78F38); color:#17130C !important;
  font-family:'IBM Plex Mono',ui-monospace,monospace;
  font-size:11.5px; font-weight:700; letter-spacing:.09em;
  text-transform:uppercase; border-radius:999px; line-height:1;
  text-decoration:none !important;
}

/* Desktop has the buy box permanently in reach; bar is mobile/tablet only. */
@media(min-width:1025px){ .rgv-pdp-sticky{ display:none !important; } }
body.rgv-has-stickybar{ padding-bottom:0; }

@media(prefers-reduced-motion:reduce){
  .rgv-pdp-sticky{ transition:none; }
}

/* Real half star: gold left half, muted right half. */
.rgv-star.is-half{
  background:linear-gradient(90deg,#C99F44 50%,rgba(242,237,226,.22) 50%);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
}

/* ================= RGV REAL REVIEW LIST =================
   WooCommerce prints its own <ol class="commentlist"> and an h2 counter.
   The cards are rendered by rgv_pdp_review_card_open, so the list itself
   just needs to become the same grid .rgv-revw-grid used.
   ====================================================== */
.rgv-pdp-reviews #reviews > h2,
.rgv-pdp-reviews #comments > h2{ display:none; }
.rgv-pdp-reviews .commentlist{
  list-style:none; margin:0; padding:0;
  display:grid; gap:14px; grid-template-columns:1fr;
}
.rgv-pdp-reviews .commentlist > li{ list-style:none; margin:0; padding:0; }
.rgv-pdp-reviews .commentlist:before,
.rgv-pdp-reviews .commentlist:after{ display:none; }
@media (min-width:640px){ .rgv-pdp-reviews .commentlist{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1000px){ .rgv-pdp-reviews .commentlist{ grid-template-columns:repeat(3,1fr); } }
.rgv-rev-text p{ margin:0 0 8px; }
.rgv-rev-text p:last-child{ margin-bottom:0; }

/* ---- review form (verified purchasers only) ---- */
.rgv-pdp-reviews #review_form_wrapper{ margin-top:34px; }
.rgv-pdp-reviews #reply-title{
  display:block; font-family:'DM Sans',system-ui,sans-serif;
  font-size:15px; font-weight:600; color:#F2EDE2; margin:0 0 14px;
}
.rgv-pdp-reviews .comment-form label{
  display:block; font-family:'IBM Plex Mono',ui-monospace,monospace;
  font-size:10.5px; letter-spacing:.08em; text-transform:uppercase;
  color:#8A8272; margin:0 0 7px;
}
.rgv-pdp-reviews .comment-form textarea,
.rgv-pdp-reviews .comment-form input[type=text],
.rgv-pdp-reviews .comment-form input[type=email]{
  width:100%; max-width:620px; background:#100D08; color:#F2EDE2;
  border:1px solid rgba(242,237,226,.14); border-radius:6px;
  padding:11px 13px; font-family:'DM Sans',system-ui,sans-serif; font-size:14px;
}
.rgv-pdp-reviews .comment-form textarea{ min-height:120px; resize:vertical; }
.rgv-pdp-reviews .comment-form textarea:focus,
.rgv-pdp-reviews .comment-form input:focus{ outline:none; border-color:rgba(183,143,56,.55); }
.rgv-pdp-reviews .woocommerce-noreviews,
.rgv-pdp-reviews .woocommerce-verification-required{
  font-family:'DM Sans',system-ui,sans-serif; font-size:13.5px; color:#8A8272; margin:0;
}

/* ================= RGV GRID SPECIFICITY =================
   WooCommerce ships .woocommerce #reviews #comments ol.commentlist::before
   as a clearfix (content:" "; display:table). Inside a grid that pseudo
   element becomes a real grid item and occupies the first cell, pushing
   every card one slot to the right. Two IDs in that selector outrank a
   plain class override, so match the weight and kill the content outright.
   ====================================================== */
.woocommerce .rgv-pdp-reviews #reviews #comments ol.commentlist::before,
.woocommerce .rgv-pdp-reviews #reviews #comments ol.commentlist::after,
.rgv-pdp-reviews #reviews #comments ol.commentlist::before,
.rgv-pdp-reviews #reviews #comments ol.commentlist::after{
  content:none !important; display:none !important;
}
.woocommerce .rgv-pdp-reviews #reviews #comments ol.commentlist,
.rgv-pdp-reviews #reviews #comments ol.commentlist{
  display:grid; gap:14px; grid-template-columns:1fr;
  list-style:none; margin:0; padding:0;
}
@media (min-width:640px){
  .woocommerce .rgv-pdp-reviews #reviews #comments ol.commentlist,
  .rgv-pdp-reviews #reviews #comments ol.commentlist{ grid-template-columns:repeat(2,1fr); }
}
@media (min-width:1000px){
  .woocommerce .rgv-pdp-reviews #reviews #comments ol.commentlist,
  .rgv-pdp-reviews #reviews #comments ol.commentlist{ grid-template-columns:repeat(3,1fr); }
}
.rgv-pdp-reviews .commentlist > .rgv-rev-card{ margin:0; }


/* ---- rgv-related.css ---- */
/* ==========================================================================
   RGV Compound - Related Products

   The brief: every card identical, nothing ragged, one visual language.

   Three things create the alignment:
     1. grid, not WooCommerce's floats, so rows can't stagger
     2. the price line carries margin-top:auto inside the card link, so it
        pins to the bottom of the text block no matter how many lines the
        title runs to - this is what makes prices sit on one line across a row
     3. the CTA is a fixed-height segmented control, so all buttons align

   The CTA is one gold pill split into equal segments - one segment per size,
   or a single full-width segment for simple products. Same shape, same
   height, same type, whether the card offers one option or three.
   ========================================================================== */

.related.products{ clear:both; max-width:1180px; margin:64px auto 0; padding:0 20px; }
.related.products > h2{
  font-family:'Bodoni Moda',Georgia,serif;
  font-size:clamp(26px,3.4vw,38px); color:#F2EDE2; margin:0 0 24px; line-height:1.1;
}

/* ---- grid ---- */
.woocommerce .related.products ul.products,
.related.products ul.products{
  display:grid; grid-template-columns:repeat(4,1fr); gap:18px;
  margin:0; padding:0; list-style:none; float:none;
}
.woocommerce .related.products ul.products::before,
.woocommerce .related.products ul.products::after,
.related.products ul.products::before,
.related.products ul.products::after{ content:none !important; display:none !important; }

@media (max-width:1100px){ .woocommerce .related.products ul.products,.related.products ul.products{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:820px){  .woocommerce .related.products ul.products,.related.products ul.products{ grid-template-columns:repeat(2,1fr); gap:14px; } }

/* ---- card ---- */
.woocommerce .related.products ul.products li.product,
.related.products ul.products li.product{
  float:none !important; width:auto !important; margin:0 !important; clear:none !important;
  display:flex; flex-direction:column;
  background:#100D08; border:1px solid rgba(183,143,56,.22); border-radius:14px;
  padding:14px; overflow:hidden;
  transition:border-color .18s ease, transform .18s ease;
}
.related.products ul.products li.product:hover{ border-color:rgba(183,143,56,.45); transform:translateY(-2px); }
.related.products ul.products li.product::before,
.related.products ul.products li.product::after{ content:none !important; display:none !important; }

/* the anchor wraps image + title + price; make it the flexible region so the
   price can be pushed to its bottom edge */
.related.products ul.products li.product a.woocommerce-LoopProduct-link{
  display:flex !important; flex-direction:column; flex:1 1 auto;
  text-decoration:none !important; color:inherit;
}

.related.products ul.products li.product img{
  width:100%; height:auto; aspect-ratio:1/1; object-fit:cover;
  border-radius:9px; margin:0 0 12px !important; display:block;
}

.related.products ul.products li.product h2.woocommerce-loop-product__title,
.related.products ul.products li.product .woocommerce-loop-product__title{
  font-family:'DM Sans',system-ui,sans-serif !important;
  font-size:14.5px !important; font-weight:600 !important; line-height:1.34 !important;
  color:#F2EDE2 !important; margin:0 0 10px !important; padding:0 !important;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
  overflow:hidden;
}

/* margin-top:auto is the alignment trick - price sits flush to the bottom of
   the text block whether the title ran to one line or two */
.related.products ul.products li.product .price{
  font-family:'DM Sans',system-ui,sans-serif !important;
  font-size:15px !important; font-weight:700 !important; color:#C99F44 !important;
  line-height:1.25 !important; margin:auto 0 12px !important;
  white-space:nowrap; display:block;
}
.related.products ul.products li.product .price del{ opacity:.45; margin-right:5px; font-weight:500; }
.related.products ul.products li.product .price ins{ text-decoration:none; }
.rgv-rel-from{
  font-family:'IBM Plex Mono',ui-monospace,monospace;
  font-size:9.5px; letter-spacing:.1em; text-transform:uppercase;
  color:#8A8272; font-weight:500; margin-right:3px; vertical-align:1px;
}

/* ---- CTA: one pill, equal segments ---- */
.rgv-rel-cta{
  display:flex; align-items:stretch; margin-top:auto;
  height:42px; border-radius:999px; overflow:hidden;
  background:linear-gradient(180deg,#D2A64B,#B98B31);
  box-shadow:0 1px 0 rgba(255,255,255,.14) inset;
}

.rgv-rel-pill{
  flex:1 1 0; min-width:0; position:relative;
  display:flex; align-items:center; justify-content:center;
  padding:0 6px; margin:0; border:0; background:transparent; cursor:pointer;
  font-family:'DM Sans',system-ui,sans-serif;
  -webkit-appearance:none; appearance:none;
  transition:background .15s ease;
}
/* hairline divider between segments */
.rgv-rel-pill + .rgv-rel-pill::before{
  content:''; position:absolute; left:0; top:8px; bottom:8px;
  width:1px; background:rgba(23,19,12,.28);
}
.rgv-rel-pill:hover{ background:rgba(23,19,12,.13); }
.rgv-rel-pill:active{ background:rgba(23,19,12,.22); }
.rgv-rel-pill:focus-visible{ outline:2px solid #F2EDE2; outline-offset:-3px; }

.rgv-rel-pill-label{
  font-size:13.5px; font-weight:700; letter-spacing:.01em;
  color:#17130C; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  line-height:1;
}
.rgv-rel-cta.is-one .rgv-rel-pill-label{ font-size:14px; }

/* states */
.rgv-rel-pill.is-loading{ pointer-events:none; }
.rgv-rel-pill.is-loading .rgv-rel-pill-label{ opacity:.35; }
.rgv-rel-pill.is-done{ background:rgba(23,19,12,.2); }
.rgv-rel-pill.is-done .rgv-rel-pill-label::after{ content:' \2713'; }

@media (max-width:820px){
  .related.products ul.products li.product{ padding:12px; border-radius:12px; }
  .rgv-rel-cta{ height:44px; }
  .rgv-rel-pill-label{ font-size:13px; }
}
@media (max-width:400px){
  .rgv-rel-pill-label{ font-size:12px; }
  .rgv-rel-pill{ padding:0 3px; }
}


/* ---- rgv-coa-cards.css ---- */
/* ==========================================================================
   RGV Compound - Certificate of Analysis cards

   Placement mirrors the reference: on desktop the cards sit under the gallery
   in the left column, level with the buy box. They are rendered AFTER both
   product columns in the DOM and floated back under the gallery, so on mobile
   they fall into normal flow directly beneath Add to cart - exactly where the
   reference puts them - with no duplicate markup.
   ========================================================================== */

.rgv-coa-cards{ margin:26px 0 0; clear:left; }

.rgv-coa-cards-h{
  font-family:'IBM Plex Mono',ui-monospace,monospace;
  font-size:10px; letter-spacing:.14em; text-transform:uppercase;
  color:#8A8272; margin:0 0 12px;
}

.rgv-coa-card{
  display:flex; align-items:stretch; gap:14px;
  background:linear-gradient(135deg, rgba(183,143,56,.10), rgba(183,143,56,.03));
  border:1px solid rgba(183,143,56,.30);
  border-radius:12px; padding:14px; margin:0 0 12px;
  transition:border-color .18s ease, transform .18s ease;
}
.rgv-coa-card:last-child{ margin-bottom:0; }
.rgv-coa-card:hover{ border-color:rgba(183,143,56,.55); transform:translateY(-1px); }

/* ---- thumbnail ---- */
.rgv-coa-thumb{
  flex:0 0 84px; width:84px;
  border-radius:8px; overflow:hidden; background:#F6F3EC;
  display:flex; align-items:center; justify-content:center;
}
.rgv-coa-thumb .rgv-coa-img{
  display:block; width:100%; height:100%;
  object-fit:cover; object-position:top center;
}
.rgv-coa-doc{
  display:flex; align-items:center; justify-content:center;
  width:100%; height:100%; min-height:96px; color:#8A8272;
}
.rgv-coa-doc svg{ width:30px; height:30px; }

/* ---- body ---- */
.rgv-coa-body{
  flex:1 1 auto; min-width:0;
  display:flex; flex-direction:column; align-items:flex-start; gap:9px;
}

.rgv-coa-tag{
  display:inline-block;
  background:#C99F44; color:#17130C;
  font-family:'DM Sans',system-ui,sans-serif;
  font-size:12.5px; font-weight:700; line-height:1;
  padding:6px 11px; border-radius:999px;
}

.rgv-coa-meta{ margin:0; display:grid; gap:3px; }
.rgv-coa-meta > div{ display:flex; gap:6px; align-items:baseline; }
.rgv-coa-meta dt{
  font-family:'DM Sans',system-ui,sans-serif;
  font-size:12.5px; font-weight:700; color:#F2EDE2; margin:0;
}
.rgv-coa-meta dt::after{ content:':'; }
.rgv-coa-meta dd{
  font-family:'DM Sans',system-ui,sans-serif;
  font-size:12.5px; color:#B9B2A4; margin:0;
  overflow-wrap:anywhere;
}

.rgv-coa-view{
  display:inline-flex; align-items:center; justify-content:center;
  margin-top:2px; padding:7px 20px;
  background:#C99F44; color:#17130C !important;
  border-radius:999px; text-decoration:none !important;
  font-family:'DM Sans',system-ui,sans-serif;
  font-size:12.5px; font-weight:700; letter-spacing:.02em;
  transition:background .16s ease;
}
.rgv-coa-view:hover{ background:#D9AF54; }
.rgv-coa-view:focus-visible{ outline:2px solid #F2EDE2; outline-offset:2px; }

/* ---- desktop: return the block to the gallery column ---- */
@media (min-width:768px){
  .single-product .rgv-coa-cards{
    float:left;
    width:48%;
    margin:26px 0 34px;
  }
}
@media (min-width:1200px){
  .single-product .rgv-coa-cards{ width:46%; }
}

/* ---- mobile ---- */
@media (max-width:767px){
  .rgv-coa-cards{ margin:22px 0 0; }
  .rgv-coa-thumb{ flex:0 0 70px; width:70px; }
  .rgv-coa-meta dt, .rgv-coa-meta dd{ font-size:12px; }
}

/* on the COA page the cards run full width in a grid */
.rgv-coa-cards[data-context="page"]{ float:none; width:auto; clear:both; }
@media (min-width:900px){
  .rgv-coa-cards[data-context="page"]{
    display:grid; grid-template-columns:repeat(2,1fr); gap:14px;
  }
  .rgv-coa-cards[data-context="page"] .rgv-coa-cards-h{ grid-column:1 / -1; margin:0; }
  .rgv-coa-cards[data-context="page"] .rgv-coa-card{ margin:0; }
}

/* ---------- COA index page ---------- */
.rgv-coa-index{ margin:0 0 40px; }
.rgv-coa-count{ font-family:"IBM Plex Mono",ui-monospace,monospace; font-size:11px; letter-spacing:.1em;
  text-transform:uppercase; color:#8A8272; margin:0 0 22px; }
.rgv-coa-empty{ color:#B9B2A4; font-size:14.5px; line-height:1.65; margin:0; }
.rgv-coa-group{ margin:0 0 32px; }
.rgv-coa-group-h{ font-family:"DM Sans",system-ui,sans-serif; font-size:17px; font-weight:700;
  margin:0 0 12px; letter-spacing:.01em; }
.rgv-coa-group-h a{ color:#F2EDE2 !important; text-decoration:none !important; border-bottom:1px solid rgba(201,159,68,.4); }
.rgv-coa-group-h a:hover{ border-bottom-color:#C99F44; }
.rgv-coa-index .rgv-coa-cards{ margin:0; }
.rgv-coa-index .rgv-coa-cards-h{ display:none; }

/* ---------- documentation standards ---------- */
.rgv-coa-standards{ margin:44px 0 0; padding:30px 0 0; border-top:1px solid rgba(183,143,56,.24); }
.rgv-coa-standards-h{ font-family:"DM Sans",system-ui,sans-serif; font-size:20px; font-weight:700;
  color:#F2EDE2; margin:0 0 20px; }
.rgv-coa-standards-grid{ display:grid; gap:18px; }
@media (min-width:760px){ .rgv-coa-standards-grid{ grid-template-columns:repeat(2,1fr); gap:22px; } }
.rgv-coa-standard{ background:rgba(183,143,56,.05); border:1px solid rgba(183,143,56,.20);
  border-radius:12px; padding:18px 20px; }
.rgv-coa-standard h3{ font-family:"DM Sans",system-ui,sans-serif; font-size:14px; font-weight:700;
  color:#C99F44; margin:0 0 8px; letter-spacing:.01em; }
.rgv-coa-standard p{ font-size:13.5px; line-height:1.65; color:#B9B2A4; margin:0; }
.rgv-coa-ruo{ margin:22px 0 0; font-family:"IBM Plex Mono",ui-monospace,monospace;
  font-size:10.5px; letter-spacing:.08em; text-transform:uppercase; color:#8A8272; line-height:1.7; }


/* ---- rgv-coa-viewer.css ---- */
/* ==========================================================================
   RGV Compound - certificate viewer

   The View control is a <button> carrying three defences against theme link
   rules, because .elementor a beat .rgv-coa-view on specificity and painted
   the label the same gold as its own background:
     - button.rgv-coa-view raises specificity to (0,1,1)
     - -webkit-text-fill-color, which overrides color where it is set
     - an explicit appearance reset so no button skin bleeds through
   ========================================================================== */

button.rgv-coa-view,
.rgv-coa-card button.rgv-coa-view,
.rgv-coa-index button.rgv-coa-view{
  -webkit-appearance:none; appearance:none;
  display:inline-flex; align-items:center; justify-content:center;
  margin-top:2px; padding:7px 22px;
  background:#C99F44 !important;
  color:#17130C !important;
  -webkit-text-fill-color:#17130C !important;
  border:0 !important; border-radius:999px;
  font-family:'DM Sans',system-ui,sans-serif;
  font-size:12.5px; font-weight:700; letter-spacing:.02em; line-height:1.2;
  text-decoration:none !important; text-transform:none;
  cursor:pointer; box-shadow:none;
  transition:background .16s ease, transform .16s ease;
}
button.rgv-coa-view:hover{ background:#D9AF54 !important; transform:translateY(-1px); }
button.rgv-coa-view:focus-visible{ outline:2px solid #F2EDE2; outline-offset:2px; }

/* ---------- modal ---------- */
.rgv-coa-modal[hidden]{ display:none !important; }
.rgv-coa-modal{
  position:fixed; inset:0; z-index:999999;
  display:flex; align-items:center; justify-content:center;
  padding:24px;
}
.rgv-coa-modal-backdrop{
  position:absolute; inset:0;
  background:rgba(8,7,5,.86);
  -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px);
  animation:rgvCoaFade .18s ease;
}
@keyframes rgvCoaFade{ from{opacity:0} to{opacity:1} }
@keyframes rgvCoaRise{ from{opacity:0; transform:translateY(10px) scale(.99)} to{opacity:1; transform:none} }

.rgv-coa-modal-box{
  position:relative;
  display:flex; flex-direction:column;
  width:min(940px, 100%); max-height:92vh;
  background:#12100C;
  border:1px solid rgba(183,143,56,.34);
  border-radius:14px;
  box-shadow:0 24px 70px rgba(0,0,0,.6);
  overflow:hidden;
  animation:rgvCoaRise .2s ease;
}

.rgv-coa-modal-head{
  display:flex; align-items:flex-start; gap:16px;
  padding:18px 20px 14px;
  border-bottom:1px solid rgba(183,143,56,.22);
  flex:0 0 auto;
}
.rgv-coa-modal-headings{ min-width:0; }
.rgv-coa-modal-eyebrow{
  margin:0 0 4px;
  font-family:'IBM Plex Mono',ui-monospace,monospace;
  font-size:9.5px; letter-spacing:.16em; text-transform:uppercase; color:#8A8272;
}
.rgv-coa-modal-title{
  margin:0; font-family:'DM Sans',system-ui,sans-serif;
  font-size:17px; font-weight:700; color:#F2EDE2; line-height:1.25;
}
.rgv-coa-modal-meta{
  margin:5px 0 0; font-family:'DM Sans',system-ui,sans-serif;
  font-size:12.5px; color:#B9B2A4; line-height:1.5;
}

.rgv-coa-modal-x{
  -webkit-appearance:none; appearance:none;
  margin-left:auto; flex:0 0 auto;
  width:34px; height:34px; padding:0;
  display:flex; align-items:center; justify-content:center;
  background:rgba(242,237,226,.06) !important;
  color:#F2EDE2 !important; -webkit-text-fill-color:#F2EDE2 !important;
  border:1px solid rgba(242,237,226,.16) !important; border-radius:50%;
  cursor:pointer; transition:background .16s ease;
}
.rgv-coa-modal-x:hover{ background:rgba(242,237,226,.14) !important; }
.rgv-coa-modal-x svg{ width:16px; height:16px; }

.rgv-coa-modal-body{
  flex:1 1 auto; overflow-y:auto;
  padding:18px 20px;
  background:#0C0B08;
  -webkit-overflow-scrolling:touch;
}
.rgv-coa-modal-body img{
  display:block; width:100%; height:auto;
  margin:0 auto 14px; border-radius:6px;
  background:#fff;
  -webkit-user-select:none; user-select:none;
  -webkit-user-drag:none;
  pointer-events:none;              /* blocks drag-to-desktop and the image context menu */
}
.rgv-coa-modal-body img:last-child{ margin-bottom:0; }

.rgv-coa-modal-loading,
.rgv-coa-modal-error{
  margin:0; padding:40px 0; text-align:center;
  font-family:'DM Sans',system-ui,sans-serif; font-size:13.5px; color:#8A8272;
}

.rgv-coa-modal-foot{
  flex:0 0 auto; margin:0;
  padding:11px 20px;
  border-top:1px solid rgba(183,143,56,.22);
  font-family:'IBM Plex Mono',ui-monospace,monospace;
  font-size:9.5px; letter-spacing:.09em; text-transform:uppercase;
  color:#8A8272; line-height:1.6;
}

body.rgv-coa-open{ overflow:hidden; }

/* ---------- mobile: full-bleed sheet ---------- */
@media (max-width:767px){
  .rgv-coa-modal{ padding:0; }
  .rgv-coa-modal-box{
    width:100%; max-height:100vh; height:100%;
    border:0; border-radius:0;
  }
  .rgv-coa-modal-head{ padding:14px 15px 12px; }
  .rgv-coa-modal-title{ font-size:15.5px; }
  .rgv-coa-modal-meta{ font-size:11.5px; }
  .rgv-coa-modal-body{ padding:12px; }
}


/* ---- rgv-checkout-ux.css ---- */
/* ==========================================================================
   RGV Compound - checkout conversion fixes
   Layout and behaviour only. No colour, background or type changes.
   ========================================================================== */

/* ---------- Fix 2: collapsed promo code ---------- */
.rgv-co-coupon--collapsed{
  margin:0 0 14px;
  padding:0;
  border:0;
  background:none;
}
.rgv-co-coupon--collapsed > .rgv-co-coupon-toggle{
  display:inline-block;
  padding:4px 0;
  font-family:'DM Sans',system-ui,sans-serif;
  font-size:12.5px;
  line-height:1.4;
  text-decoration:underline;
  text-underline-offset:2px;
  cursor:pointer;
  opacity:.75;
  list-style:none;
}
.rgv-co-coupon--collapsed > .rgv-co-coupon-toggle:hover{ opacity:1; }
.rgv-co-coupon--collapsed > .rgv-co-coupon-toggle::-webkit-details-marker{ display:none; }
.rgv-co-coupon--collapsed > .rgv-co-coupon-toggle::marker{ content:''; }
.rgv-co-coupon--collapsed[open] > .rgv-co-coupon-toggle{ margin-bottom:8px; opacity:1; }

.rgv-co-coupon-body{ padding:0; }
.rgv-co-coupon--collapsed .rgv-co-coupon-row{
  display:flex; gap:8px; align-items:stretch;
}
.rgv-co-coupon--collapsed .rgv-co-coupon-row .input-text{ flex:1 1 auto; min-width:0; }
.rgv-co-coupon--collapsed .rgv-co-coupon-btn{ flex:0 0 auto; }
.rgv-co-coupon--collapsed .rgv-co-coupon-msg:empty{ display:none; }
.rgv-co-coupon--collapsed .rgv-co-coupon-msg{ margin-top:6px; font-size:12px; }

/* ---------- Fix 1: acceptance above Place order ---------- */

/* Breathing room so the checkbox reads as its own step rather than part of
   the payment fields directly above it. */
.rgv-co-payment .woocommerce-terms-and-conditions-wrapper{
  margin:14px 0 4px;
}
.rgv-co-payment .woocommerce-terms-and-conditions-wrapper .form-row{
  margin:0;
  padding:0;
}

/* Larger tap target for the box itself on touch screens. */
@media (max-width:767px){
  .rgv-co-payment .woocommerce-terms-and-conditions-wrapper input#terms{
    width:20px; height:20px;
    margin-right:8px;
    vertical-align:middle;
  }
  .rgv-co-payment .woocommerce-terms-and-conditions-wrapper label{
    display:flex; align-items:flex-start; gap:2px;
    line-height:1.45;
  }
}

/* Momentary highlight when a wallet tap is blocked by an unticked box. */
@keyframes rgvTermsFlash{
  0%, 100% { box-shadow:0 0 0 0 rgba(201,159,68,0); }
  25%, 75% { box-shadow:0 0 0 3px rgba(201,159,68,.55); }
}
.rgv-terms-flash{
  animation:rgvTermsFlash 1.1s ease 2;
  border-radius:6px;
}

/* The notice must never sit under a sticky element once scrolled to. */
.woocommerce-NoticeGroup-checkout,
.rgv-checkout ul.woocommerce-error{
  scroll-margin-top:90px;
  scroll-margin-bottom:90px;
}
.rgv-req-note{ scroll-margin-top:110px; }

