/* 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; }
