/*
 * Ramr.am Spiritual Theme — WooCommerce CSS v2
 * Single Product · Shop Archive · Cart · Checkout · My Account
 * Sunrise palette: --amber #E8944A  --saffron #F2C14E  --cream #FBF0E0
 */

/* ══════════════════════════════════════════════
   0. RESET WOO DEFAULTS
══════════════════════════════════════════════ */
.woocommerce,
.woocommerce-page {
  background: transparent;
  color: var(--cream, #FBF0E0);
}

.woocommerce div.product,
.woocommerce #content div.product,
.woocommerce-page div.product,
.woocommerce-page #content div.product {
  background: transparent !important;
}

/* ══════════════════════════════════════════════
   1. SINGLE PRODUCT LAYOUT
══════════════════════════════════════════════ */

/* Page wrapper */
.ramram-single-product {
  padding-top: 3rem;
  padding-bottom: 5rem;
  position: relative;
  z-index: 2;
}

/* Two-column inner grid */
.ramram-product-inner {
  display: grid;
  grid-template-columns: 55% 1fr;
  gap: 3rem 4rem;
  align-items: start;
  margin-bottom: 4rem;
}

.ramram-product-gallery {
  position: sticky;
  top: 5rem;
  width: 100%;
}

.ramram-product-summary {
  display: flex;
  flex-direction: column;
}

/* Full-width tabs below grid */
.ramram-product-tabs {
  width: 100%;
  clear: both;
}

/* Override WooCommerce's own div.product grid — let ours take over */
.woocommerce div.product {
  display: block !important;
}

/* ══════════════════════════════════════════════
   2. PRODUCT GALLERY — BIG IMAGE + ZOOM
══════════════════════════════════════════════ */

/* ══════════════════════════════════════════════
   GALLERY — IMAGE LARGE + WORKING ZOOM
   WooCommerce zoom.js (elevateZoom) requires:
   • .woocommerce-product-gallery__image  → position:relative, NO overflow:hidden
   • The <a> inside it                    → display:block, width:100%
   • The <img>                            → width:100%, height:auto (natural)
   • .woocommerce-product-gallery         → overflow:visible (zoom window extends outside)
   • data-large_image on the <img>        → full-size URL (set in functions.php)
══════════════════════════════════════════════ */

/* Outermost gallery wrapper */
.woocommerce-product-gallery {
  position: relative !important;
  overflow: visible !important;   /* MUST be visible — zoom window extends beyond */
  width: 100% !important;
}

/* Flexslider root — also must NOT clip */
.woocommerce-product-gallery .flexslider {
  margin: 0 !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

/* Flexslider viewport — visible so zoom window is not clipped */
.woocommerce-product-gallery .flex-viewport {
  overflow: visible !important;
}

/* The UL wrapper that holds each slide */
.woocommerce-product-gallery__wrapper {
  margin: 0 !important;
  overflow: visible !important;   /* NOT hidden — zoom needs to paint outside */
  width: 100% !important;
  display: block !important;
}

/* Each slide item */
.woocommerce-product-gallery__image {
  width: 100% !important;
  position: relative !important;
  overflow: visible !important;   /* zoom lens sits on top of this */
  border: 1px solid rgba(232,148,74,.18) !important;
  background: rgba(13,10,26,.6) !important;
  display: block !important;      /* NOT flex — flex breaks zoom attachment */
  text-align: center !important;
}

/* The <a> link wrapping the image */
.woocommerce-product-gallery__image > a {
  display: block !important;
  width: 100% !important;
  line-height: 0 !important;
}

/* ── THE MAIN PRODUCT IMAGE ─────────────────────────────
   • width: 100%  → fills the full gallery column
   • height: auto → natural proportions, nothing cropped
   • max-height   → prevents enormous images on big screens
   • object-fit removed — let the image render naturally
   WooCommerce zoom.js reads the naturalWidth/Height of
   this element; don't constrain with object-fit.
─────────────────────────────────────────────────────── */
.woocommerce-product-gallery__image img,
.woocommerce-product-gallery__image > a img {
  width: 100% !important;
  height: auto !important;
  max-height: 580px !important;
  display: block !important;
  margin: 0 auto !important;
  cursor: crosshair !important;
  transition: none !important;    /* disable scale — conflicts with zoom lens position */
  background: rgba(13,10,26,.5) !important;
}

/* Remove hover scale — it offsets the zoom lens position */
.woocommerce-product-gallery__image:hover img {
  transform: none !important;
}

/* ── ZOOM LENS & WINDOW (elevateZoom / zoom.js) ──────── */

/* zoomImg is the magnified <img> that zoom.js appends */
.zoomImg {
  max-height: none !important;    /* do NOT constrain the zoom source */
  cursor: crosshair !important;
}

/* All ancestors of the gallery must NOT clip the zoom window */
.ramram-product-gallery,
.ramram-product-inner {
  overflow: visible !important;
}

/* The positioned container zoom.js creates */
.zoomContainer {
  z-index: 9990 !important;
  pointer-events: none !important;
}

/* Semi-transparent lens rectangle that follows the cursor */
.zoomLens {
  border: 2px solid rgba(232,148,74,.7) !important;
  background-color: rgba(232,148,74,.07) !important;
  cursor: crosshair !important;
  box-shadow: 0 0 0 1px rgba(232,148,74,.2) !important;
}

/* The floating zoomed-image window */
.zoomWindowContainer {
  z-index: 9990 !important;
}

.zoomWindowContainer > div {
  border: 2px solid rgba(232,148,74,.4) !important;
  box-shadow: 0 16px 60px rgba(0,0,0,.8), 0 0 0 1px rgba(232,148,74,.15) !important;
  background: #0D0A1A !important;
}

/* ── Sale Badge ──────────────────────────────── */
.woocommerce-product-gallery .onsale,
.woocommerce span.onsale {
  background: linear-gradient(135deg, #D4736A, #C4595A) !important;
  color: #fff !important;
  border-radius: 0 !important;
  font-family: var(--font-ui, 'DM Sans', sans-serif) !important;
  font-size: .6rem !important;
  font-weight: 700 !important;
  letter-spacing: .2em !important;
  text-transform: uppercase !important;
  padding: .35rem 1rem !important;
  top: 14px !important;
  left: 14px !important;
  right: auto !important;
  min-height: unset !important;
  line-height: 2 !important;
  z-index: 10 !important;
  position: absolute !important;
}

/* ── Thumbnails ──────────────────────────────── */
.flex-control-nav {
  list-style: none !important;
  padding: 0 !important;
  margin: .75rem 0 0 !important;
  display: flex !important;
  gap: .5rem !important;
  flex-wrap: wrap !important;
}

.flex-control-thumbs {
  display: flex !important;
  gap: .5rem !important;
  flex-wrap: wrap !important;
  padding: 0 !important;
  margin: .75rem 0 0 !important;
}

.flex-control-thumbs li {
  width: calc(25% - .4rem) !important;
  flex: 0 0 calc(25% - .4rem) !important;
  cursor: pointer !important;
  list-style: none !important;
  overflow: hidden !important;
  border: 2px solid rgba(232,148,74,.12) !important;
  opacity: .6 !important;
  transition: all .25s ease !important;
}

.flex-control-thumbs li:hover,
.flex-control-thumbs li.flex-active {
  opacity: 1 !important;
  border-color: var(--amber, #E8944A) !important;
  box-shadow: 0 0 12px rgba(232,148,74,.3) !important;
}

.flex-control-thumbs li img {
  width: 100% !important;
  height: 90px !important;
  object-fit: cover !important;
  display: block !important;
  cursor: pointer !important;
  transition: transform .3s ease !important;
}

.flex-control-thumbs li:hover img {
  transform: scale(1.05) !important;
}

/* Flexslider viewport */
.woocommerce-product-gallery .flexslider {
  margin: 0 !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

.woocommerce-product-gallery .flex-viewport {
  overflow: visible !important; /* allow zoom window to extend outside */
}

/* ══════════════════════════════════════════════
   3. PRODUCT SUMMARY
══════════════════════════════════════════════ */

/* Breadcrumb */
.woocommerce-breadcrumb {
  font-family: var(--font-ui, sans-serif) !important;
  font-size: .72rem !important;
  letter-spacing: .1em !important;
  color: rgba(232,148,74,.4) !important;
  margin-bottom: 1.2rem !important;
  display: block !important;
}

.woocommerce-breadcrumb a {
  color: rgba(232,148,74,.5) !important;
  text-decoration: none !important;
  transition: color .3s !important;
}

.woocommerce-breadcrumb a:hover { color: var(--amber, #E8944A) !important; }

/* Product title */
.woocommerce div.product h1.product_title,
.woocommerce div.product .product_title {
  font-family: var(--font-hero, 'Playfair Display', serif) !important;
  font-size: clamp(1.7rem, 3.5vw, 2.8rem) !important;
  font-weight: 700 !important;
  letter-spacing: -.02em !important;
  color: var(--cream, #FBF0E0) !important;
  line-height: 1.15 !important;
  margin: 0 0 .8rem !important;
}

/* Star rating */
.woocommerce div.product .woocommerce-product-rating {
  display: flex !important;
  align-items: center !important;
  gap: .7rem !important;
  margin-bottom: 1.2rem !important;
}

.woocommerce .star-rating {
  font-size: .9rem !important;
  color: rgba(232,148,74,.2) !important;
  overflow: hidden !important;
  position: relative !important;
  height: 1em !important;
  line-height: 1 !important;
  display: inline-block !important;
  width: 5.4em !important;
}

.woocommerce .star-rating::before {
  content: '\53\53\53\53\53' !important;
  color: rgba(232,148,74,.2) !important;
  float: left !important;
  top: 0 !important;
  left: 0 !important;
  position: absolute !important;
}

.woocommerce .star-rating span {
  overflow: hidden !important;
  float: left !important;
  top: 0 !important;
  left: 0 !important;
  position: absolute !important;
  padding-top: 1.5em !important;
}

.woocommerce .star-rating span::before {
  content: '\53\53\53\53\53' !important;
  top: 0 !important;
  position: absolute !important;
  left: 0 !important;
  color: var(--amber, #E8944A) !important;
}

.woocommerce div.product .woocommerce-review-link {
  font-family: var(--font-ui, sans-serif) !important;
  font-size: .78rem !important;
  color: rgba(232,148,74,.5) !important;
  text-decoration: none !important;
}

.woocommerce div.product .woocommerce-review-link:hover {
  color: var(--amber, #E8944A) !important;
}

/* Price */
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-family: var(--font-ui, sans-serif) !important;
  display: flex !important;
  align-items: baseline !important;
  gap: .8rem !important;
  flex-wrap: wrap !important;
  margin: 0 0 1.5rem !important;
  padding-bottom: 1.5rem !important;
  border-bottom: 1px solid rgba(232,148,74,.12) !important;
}

.woocommerce div.product p.price del,
.woocommerce div.product span.price del {
  font-size: 1.1rem !important;
  color: rgba(232,148,74,.3) !important;
  font-weight: 400 !important;
  text-decoration: line-through !important;
}

.woocommerce div.product p.price del .woocommerce-Price-amount,
.woocommerce div.product span.price del .woocommerce-Price-amount {
  font-size: 1.1rem !important;
  color: rgba(232,148,74,.3) !important;
}

.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins {
  text-decoration: none !important;
  font-size: 2rem !important;
  font-weight: 700 !important;
}

.woocommerce div.product p.price ins .woocommerce-Price-amount,
.woocommerce div.product span.price ins .woocommerce-Price-amount,
.woocommerce div.product p.price .woocommerce-Price-amount {
  font-size: 2rem !important;
  font-weight: 700 !important;
  color: var(--amber, #E8944A) !important;
}

/* Short description */
.woocommerce div.product .woocommerce-product-details__short-description,
.woocommerce div.product .short-description {
  font-family: var(--font-ui, sans-serif) !important;
  font-size: .97rem !important;
  font-weight: 300 !important;
  color: var(--cream-dim, rgba(251,240,224,.65)) !important;
  line-height: 1.85 !important;
  margin-bottom: 1.8rem !important;
  padding-left: 1rem !important;
  border-left: 2px solid rgba(232,148,74,.25) !important;
}

.woocommerce div.product .woocommerce-product-details__short-description p {
  color: var(--cream-dim, rgba(251,240,224,.65)) !important;
  margin-bottom: .6rem !important;
  font-size: .97rem !important;
}

/* ── Variations ────────────────────────────── */
.woocommerce div.product form.cart {
  margin: 0 !important;
}

.woocommerce div.product form.variations_form table.variations {
  width: 100% !important;
  border: none !important;
  margin-bottom: 1.5rem !important;
  border-collapse: collapse !important;
  background: transparent !important;
}

.woocommerce div.product form.variations_form table.variations td,
.woocommerce div.product form.variations_form table.variations th {
  border: none !important;
  padding: .5rem 0 !important;
  vertical-align: middle !important;
  background: transparent !important;
}

.woocommerce div.product form.variations_form table.variations td.label label {
  font-family: var(--font-ui, sans-serif) !important;
  font-size: .68rem !important;
  font-weight: 700 !important;
  letter-spacing: .28em !important;
  text-transform: uppercase !important;
  color: rgba(232,148,74,.65) !important;
  white-space: nowrap !important;
  padding-right: 1.2rem !important;
}

/* Variation select */
.woocommerce div.product form.variations_form table.variations td.value select {
  width: 100% !important;
  background: rgba(13,10,26,.85) !important;
  border: 1.5px solid rgba(232,148,74,.35) !important;
  border-radius: 0 !important;
  color: var(--cream, #FBF0E0) !important;
  font-family: var(--font-ui, sans-serif) !important;
  font-size: .9rem !important;
  padding: .8rem 2.8rem .8rem 1rem !important;
  cursor: pointer !important;
  transition: border-color .3s, box-shadow .3s !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23E8944A' stroke-width='1.8' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: calc(100% - 1rem) center !important;
}

.woocommerce div.product form.variations_form table.variations td.value select:focus {
  border-color: var(--amber, #E8944A) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(232,148,74,.15) !important;
}

.woocommerce div.product form.variations_form table.variations td.value select option {
  background: #0D0A1A !important;
  color: var(--cream, #FBF0E0) !important;
}

.woocommerce div.product form.variations_form .reset_variations {
  font-family: var(--font-ui, sans-serif) !important;
  font-size: .7rem !important;
  color: rgba(232,148,74,.4) !important;
  text-decoration: none !important;
  letter-spacing: .08em !important;
  display: inline-block !important;
  margin-top: .4rem !important;
  transition: color .3s !important;
}

.woocommerce div.product form.variations_form .reset_variations:hover {
  color: var(--amber, #E8944A) !important;
}

/* Variation price */
.woocommerce div.product form.variations_form .woocommerce-variation-price .price {
  font-size: 1.8rem !important;
  font-weight: 700 !important;
  color: var(--amber, #E8944A) !important;
}

/* ══════════════════════════════════════════════
   4. QUANTITY STEPPER + ADD TO CART
══════════════════════════════════════════════ */

/* Cart row: qty + button side by side */
.woocommerce div.product form.cart {
  display: flex !important;
  align-items: center !important;
  gap: .75rem !important;
  flex-wrap: wrap !important;
  margin: 1.5rem 0 !important;
}

/* Quantity wrapper */
.woocommerce div.product form.cart div.quantity,
.ramram-qty-wrap {
  display: flex !important;
  align-items: center !important;
  border: 1.5px solid rgba(232,148,74,.35) !important;
  background: rgba(13,10,26,.7) !important;
  height: 54px !important;
  flex-shrink: 0 !important;
  overflow: hidden !important;
}

/* Qty − + buttons injected by JS */
.qty-btn {
  width: 44px !important;
  height: 52px !important;
  background: transparent !important;
  border: none !important;
  border-right: 1px solid rgba(232,148,74,.18) !important;
  color: var(--amber, #E8944A) !important;
  font-size: 1.4rem !important;
  font-weight: 300 !important;
  line-height: 1 !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background .2s !important;
  flex-shrink: 0 !important;
  padding: 0 !important;
}

.qty-btn.qty-plus {
  border-right: none !important;
  border-left: 1px solid rgba(232,148,74,.18) !important;
}

.qty-btn:hover {
  background: rgba(232,148,74,.12) !important;
}

.qty-btn:active {
  background: rgba(232,148,74,.22) !important;
}

/* Qty number input */
.woocommerce div.product form.cart div.quantity input.qty {
  width: 60px !important;
  height: 52px !important;
  border: none !important;
  background: transparent !important;
  color: var(--cream, #FBF0E0) !important;
  font-family: var(--font-ui, sans-serif) !important;
  font-size: 1.1rem !important;
  font-weight: 600 !important;
  text-align: center !important;
  outline: none !important;
  padding: 0 !important;
  -moz-appearance: textfield !important;
}

.woocommerce div.product form.cart div.quantity input.qty::-webkit-outer-spin-button,
.woocommerce div.product form.cart div.quantity input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

/* Add to Cart Button */
.woocommerce div.product form.cart button.single_add_to_cart_button,
.woocommerce div.product form.cart .single_add_to_cart_button {
  flex: 1 1 180px !important;
  height: 54px !important;
  background: linear-gradient(135deg, #E8944A 0%, #F2C14E 100%) !important;
  color: #1A0D05 !important;
  font-family: var(--font-ui, sans-serif) !important;
  font-size: .8rem !important;
  font-weight: 700 !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  border: none !important;
  border-radius: 0 !important;
  cursor: pointer !important;
  transition: all .35s !important;
  box-shadow: 0 4px 28px rgba(232,148,74,.38) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .5rem !important;
  position: relative !important;
  overflow: hidden !important;
}

.woocommerce div.product form.cart button.single_add_to_cart_button:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 48px rgba(232,148,74,.55) !important;
}

.woocommerce div.product form.cart button.single_add_to_cart_button.loading {
  opacity: .75 !important;
  pointer-events: none !important;
}

/* Loading spinner dot */
@keyframes ramramPulse {
  0%, 100% { opacity: .3; transform: scale(.8); }
  50%       { opacity: 1;  transform: scale(1.2); }
}

.loading-dot {
  width: 8px;
  height: 8px;
  background: #1A0D05;
  border-radius: 50%;
  display: inline-block;
  animation: ramramPulse .8s ease-in-out infinite;
}

/* ── Trust Badges ──────────────────────────── */
.product-trust-badges {
  display: flex;
  gap: .8rem;
  flex-wrap: wrap;
  margin-top: 1.5rem;
  padding: 1rem 1.2rem;
  background: rgba(232,148,74,.04);
  border: 1px solid rgba(232,148,74,.1);
}

.trust-badge {
  display: flex;
  align-items: center;
  gap: .45rem;
  font-family: var(--font-ui, sans-serif);
  font-size: .78rem;
  color: rgba(251,240,224,.45);
}

.trust-badge .icon { font-size: .95rem; }

/* ── Product Meta (SKU, cats, tags) ────────── */
.woocommerce div.product .product_meta {
  margin-top: 1.5rem !important;
  padding-top: 1.2rem !important;
  border-top: 1px solid rgba(232,148,74,.1) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: .5rem !important;
}

.woocommerce div.product .product_meta > span {
  font-family: var(--font-ui, sans-serif) !important;
  font-size: .8rem !important;
  color: rgba(251,240,224,.38) !important;
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: .35rem !important;
}

.woocommerce div.product .product_meta > span .label,
.woocommerce div.product .product_meta > span b {
  font-weight: 700 !important;
  color: rgba(232,148,74,.55) !important;
  text-transform: uppercase !important;
  letter-spacing: .18em !important;
  font-size: .65rem !important;
  min-width: 70px !important;
}

.woocommerce div.product .product_meta > span a {
  color: rgba(232,148,74,.55) !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(232,148,74,.2) !important;
  transition: all .25s !important;
  padding-bottom: 1px !important;
}

.woocommerce div.product .product_meta > span a:hover {
  color: var(--amber, #E8944A) !important;
  border-color: var(--amber, #E8944A) !important;
}

/* ══════════════════════════════════════════════
   5. STICKY ADD-TO-CART BAR (injected by JS)
══════════════════════════════════════════════ */
#ramram-sticky-bar {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 9999;
  background: rgba(7, 5, 15, 0.97);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-top: 1px solid rgba(232,148,74,.25);
  box-shadow: 0 -4px 30px rgba(0,0,0,.5);
  transform: translateY(100%);
  transition: transform .4s cubic-bezier(.4, 0, .2, 1);
  padding: .75rem var(--gutter, 1.5rem);
}

#ramram-sticky-bar.visible {
  transform: translateY(0);
}

.ramram-sticky-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  max-width: var(--container, 1280px);
  margin: 0 auto;
  flex-wrap: wrap;
}

.ramram-sticky-info {
  display: flex;
  flex-direction: column;
  gap: .2rem;
  flex: 1;
  min-width: 0;
  overflow: hidden;
}

.ramram-sticky-title {
  font-family: var(--font-hero, 'Playfair Display', serif);
  font-size: .95rem;
  font-weight: 700;
  color: var(--cream, #FBF0E0);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ramram-sticky-price {
  font-family: var(--font-ui, sans-serif);
  font-size: 1rem;
  font-weight: 700;
  color: var(--amber, #E8944A);
}

.ramram-sticky-price del { color: rgba(232,148,74,.35); font-size: .82rem; font-weight: 400; margin-right: .3rem; }
.ramram-sticky-price ins { text-decoration: none; }

/* Actions: qty + button */
.ramram-sticky-actions {
  display: flex;
  align-items: center;
  gap: .6rem;
  flex-shrink: 0;
}

/* Sticky qty */
.ramram-sticky-qty {
  display: flex;
  align-items: center;
  border: 1.5px solid rgba(232,148,74,.3);
  background: rgba(13,10,26,.8);
  height: 46px;
  overflow: hidden;
}

.sticky-qty-btn {
  width: 38px;
  height: 44px;
  background: transparent;
  border: none;
  color: var(--amber, #E8944A);
  font-size: 1.2rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .2s;
  padding: 0;
  flex-shrink: 0;
}

.sticky-qty-btn:first-child {
  border-right: 1px solid rgba(232,148,74,.15);
}

.sticky-qty-btn:last-child {
  border-left: 1px solid rgba(232,148,74,.15);
}

.sticky-qty-btn:hover {
  background: rgba(232,148,74,.12);
}

.sticky-qty-input {
  width: 50px;
  height: 44px;
  border: none;
  background: transparent;
  color: var(--cream, #FBF0E0);
  font-family: var(--font-ui, sans-serif);
  font-size: 1rem;
  font-weight: 600;
  text-align: center;
  outline: none;
  padding: 0;
  -moz-appearance: textfield;
}

.sticky-qty-input::-webkit-outer-spin-button,
.sticky-qty-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Sticky Add to Cart */
.ramram-sticky-add {
  height: 46px;
  padding: 0 1.8rem;
  background: linear-gradient(135deg, #E8944A, #F2C14E);
  color: #1A0D05;
  font-family: var(--font-ui, sans-serif);
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  border: none;
  cursor: pointer;
  transition: all .3s;
  white-space: nowrap;
  box-shadow: 0 2px 16px rgba(232,148,74,.35);
}

.ramram-sticky-add:hover {
  box-shadow: 0 4px 28px rgba(232,148,74,.55);
  transform: translateY(-1px);
}

.ramram-sticky-add.added {
  background: linear-gradient(135deg, #16a34a, #22c55e);
  color: #fff;
  box-shadow: 0 4px 20px rgba(22,163,74,.4);
}

/* ══════════════════════════════════════════════
   6. PRODUCT TABS
══════════════════════════════════════════════ */
.woocommerce div.product .woocommerce-tabs {
  margin-top: 1rem !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
  display: flex !important;
  gap: 0 !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border-bottom: 1px solid rgba(232,148,74,.2) !important;
  background: transparent !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
  display: none !important;
  content: none !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  font-family: var(--font-ui, sans-serif) !important;
  font-size: .75rem !important;
  font-weight: 600 !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  color: rgba(251,240,224,.38) !important;
  text-decoration: none !important;
  padding: 1rem 1.8rem !important;
  display: block !important;
  transition: color .25s !important;
  border-bottom: 2px solid transparent !important;
  margin-bottom: -1px !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
  color: var(--amber, #E8944A) !important;
  background: transparent !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: var(--amber, #E8944A) !important;
  border-bottom-color: var(--amber, #E8944A) !important;
  background: transparent !important;
}

.woocommerce div.product .woocommerce-tabs .panel {
  background: rgba(255,255,255,.02) !important;
  border: 1px solid rgba(232,148,74,.1) !important;
  border-top: none !important;
  padding: 2.2rem 2.5rem !important;
  margin: 0 !important;
  color: var(--cream-dim, rgba(251,240,224,.65)) !important;
}

.woocommerce div.product .woocommerce-tabs .panel h2 {
  font-family: var(--font-hero, serif) !important;
  font-size: 1.4rem !important;
  font-weight: 700 !important;
  color: var(--cream, #FBF0E0) !important;
  margin-bottom: 1.2rem !important;
  padding-bottom: .8rem !important;
  border-bottom: 1px solid rgba(232,148,74,.1) !important;
}

.woocommerce div.product .woocommerce-tabs .panel p {
  font-family: var(--font-ui, sans-serif) !important;
  font-size: .97rem !important;
  color: var(--cream-dim, rgba(251,240,224,.65)) !important;
  line-height: 1.85 !important;
  margin-bottom: 1rem !important;
}

.woocommerce div.product .woocommerce-tabs .panel ul,
.woocommerce div.product .woocommerce-tabs .panel ol {
  color: var(--cream-dim, rgba(251,240,224,.65)) !important;
  font-family: var(--font-ui, sans-serif) !important;
  padding-left: 1.5rem !important;
  margin-bottom: 1rem !important;
}

.woocommerce div.product .woocommerce-tabs .panel li {
  margin-bottom: .4rem !important;
}

/* Additional information table */
.woocommerce div.product .woocommerce-tabs .panel table.shop_attributes {
  width: 100% !important;
  border-collapse: collapse !important;
}

.woocommerce div.product .woocommerce-tabs .panel table.shop_attributes th {
  font-family: var(--font-ui, sans-serif) !important;
  font-size: .7rem !important;
  font-weight: 700 !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  color: var(--amber, #E8944A) !important;
  padding: .9rem 1rem !important;
  border-bottom: 1px solid rgba(232,148,74,.1) !important;
  text-align: left !important;
  background: transparent !important;
  width: 35% !important;
  vertical-align: top !important;
}

.woocommerce div.product .woocommerce-tabs .panel table.shop_attributes td {
  padding: .9rem 1rem !important;
  border-bottom: 1px solid rgba(232,148,74,.06) !important;
  background: transparent !important;
  color: var(--cream-dim, rgba(251,240,224,.65)) !important;
  font-family: var(--font-ui, sans-serif) !important;
  font-size: .9rem !important;
}

/* ── Reviews ───────────────────────────────── */
.woocommerce #reviews #comments ol.commentlist {
  list-style: none !important;
  padding: 0 !important;
}

.woocommerce #reviews #comments ol.commentlist li {
  margin-bottom: 1.8rem !important;
  padding-bottom: 1.8rem !important;
  border-bottom: 1px solid rgba(232,148,74,.08) !important;
  background: transparent !important;
}

.woocommerce #reviews #comments ol.commentlist li .comment_container {
  display: flex !important;
  gap: 1.2rem !important;
  background: transparent !important;
  padding: 0 !important;
  border: none !important;
}

.woocommerce #reviews #comments ol.commentlist li img.avatar {
  width: 48px !important;
  height: 48px !important;
  border-radius: 50% !important;
  border: 2px solid rgba(232,148,74,.2) !important;
  flex-shrink: 0 !important;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text {
  flex: 1 !important;
  background: transparent !important;
  padding: 0 !important;
  border: none !important;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text p.meta {
  display: flex !important;
  align-items: center !important;
  gap: .7rem !important;
  flex-wrap: wrap !important;
  margin-bottom: .6rem !important;
  font-size: .8rem !important;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text p.meta strong {
  color: var(--cream, #FBF0E0) !important;
  font-weight: 600 !important;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text p.meta time {
  color: rgba(251,240,224,.3) !important;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text .description p {
  font-size: .95rem !important;
  color: var(--cream-dim, rgba(251,240,224,.65)) !important;
  line-height: 1.8 !important;
  margin: 0 !important;
}

/* Review form */
.woocommerce #review_form #respond {
  background: rgba(255,255,255,.02) !important;
  border: 1px solid rgba(232,148,74,.1) !important;
  padding: 2rem !important;
  margin-top: 2rem !important;
}

.woocommerce #review_form #respond .comment-reply-title {
  font-family: var(--font-hero, serif) !important;
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  color: var(--cream, #FBF0E0) !important;
  margin-bottom: 1.2rem !important;
  display: block !important;
}

/* ══════════════════════════════════════════════
   7. RELATED PRODUCTS & UPSELLS
══════════════════════════════════════════════ */
.woocommerce div.product .related.products,
.woocommerce div.product .up-sells {
  padding-top: 2.5rem;
  border-top: 1px solid rgba(232,148,74,.1);
  margin-top: 1rem;
}

.woocommerce div.product .related.products > h2,
.woocommerce div.product .up-sells > h2 {
  font-family: var(--font-hero, serif) !important;
  font-size: clamp(1.4rem, 2.5vw, 2rem) !important;
  font-weight: 700 !important;
  color: var(--cream, #FBF0E0) !important;
  letter-spacing: -.02em !important;
  margin-bottom: 2rem !important;
  display: flex;
  align-items: center;
  gap: .7rem;
}

.woocommerce div.product .related.products > h2::before,
.woocommerce div.product .up-sells > h2::before {
  content: '✦';
  color: var(--amber, #E8944A);
  font-size: .85rem;
}

/* ══════════════════════════════════════════════
   8. SHOP ARCHIVE
══════════════════════════════════════════════ */
.woocommerce .woocommerce-result-count {
  font-family: var(--font-ui, sans-serif) !important;
  font-size: .78rem !important;
  color: rgba(232,148,74,.4) !important;
  margin: 0 !important;
}

.woocommerce .woocommerce-ordering select {
  background: rgba(13,10,26,.85) !important;
  border: 1px solid rgba(232,148,74,.22) !important;
  color: var(--cream, #FBF0E0) !important;
  font-family: var(--font-ui, sans-serif) !important;
  font-size: .78rem !important;
  padding: .55rem 2rem .55rem .9rem !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23E8944A' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: calc(100% - .8rem) center !important;
  border-radius: 0 !important;
  cursor: pointer !important;
}

/* Pagination */
.woocommerce nav.woocommerce-pagination ul {
  display: flex !important;
  gap: .4rem !important;
  list-style: none !important;
  justify-content: center !important;
  padding: 2.5rem 0 0 !important;
  border: none !important;
}

.woocommerce nav.woocommerce-pagination ul li { border: none !important; }

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  font-family: var(--font-ui, sans-serif) !important;
  font-size: .8rem !important;
  font-weight: 600 !important;
  width: 38px !important;
  height: 38px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(255,255,255,.03) !important;
  border: 1px solid rgba(232,148,74,.15) !important;
  color: rgba(251,240,224,.5) !important;
  text-decoration: none !important;
  transition: all .25s !important;
}

.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
  background: rgba(232,148,74,.15) !important;
  border-color: var(--amber, #E8944A) !important;
  color: var(--amber, #E8944A) !important;
}

/* ══════════════════════════════════════════════
   9. CART PAGE
══════════════════════════════════════════════ */
.woocommerce-cart .woocommerce,
.woocommerce-cart .woocommerce-page {
  display: grid !important;
  grid-template-columns: 1fr 340px !important;
  gap: 3rem !important;
  align-items: start !important;
}

.woocommerce-cart .cart-collaterals { min-width: 0; }

.woocommerce-cart h2,
.woocommerce-cart h1 {
  font-family: var(--font-hero, serif) !important;
  font-weight: 700 !important;
  color: var(--cream, #FBF0E0) !important;
  letter-spacing: -.02em !important;
  margin-bottom: 1.5rem !important;
}

.woocommerce-cart table.cart {
  width: 100% !important;
  border-collapse: collapse !important;
  background: rgba(255,255,255,.02) !important;
  border: 1px solid rgba(232,148,74,.1) !important;
}

.woocommerce-cart table.cart th {
  font-family: var(--font-ui, sans-serif) !important;
  font-size: .65rem !important;
  font-weight: 700 !important;
  letter-spacing: .28em !important;
  text-transform: uppercase !important;
  color: var(--amber, #E8944A) !important;
  padding: 1rem 1.2rem !important;
  border-bottom: 1px solid rgba(232,148,74,.15) !important;
  background: transparent !important;
}

.woocommerce-cart table.cart td {
  padding: 1.1rem 1.2rem !important;
  border-bottom: 1px solid rgba(232,148,74,.06) !important;
  color: var(--cream-dim, rgba(251,240,224,.65)) !important;
  vertical-align: middle !important;
  background: transparent !important;
}

.woocommerce-cart table.cart td.product-name a {
  font-family: var(--font-hero, serif) !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: var(--cream, #FBF0E0) !important;
  text-decoration: none !important;
  transition: color .3s !important;
}

.woocommerce-cart table.cart td.product-name a:hover { color: var(--amber, #E8944A) !important; }

.woocommerce-cart table.cart td.product-price .amount,
.woocommerce-cart table.cart td.product-subtotal .amount {
  font-weight: 700 !important;
  color: var(--amber, #E8944A) !important;
}

.woocommerce-cart table.cart a.remove {
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  background: rgba(212,115,106,.1) !important;
  border: 1px solid rgba(212,115,106,.2) !important;
  color: #F0A898 !important;
  font-size: 1rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  transition: all .25s !important;
}

.woocommerce-cart table.cart a.remove:hover {
  background: rgba(212,115,106,.25) !important;
  color: #fff !important;
}

/* Cart totals box */
.woocommerce-cart .cart_totals {
  background: rgba(255,255,255,.025) !important;
  border: 1px solid rgba(232,148,74,.12) !important;
  padding: 2rem !important;
}

.woocommerce-cart .cart_totals h2 {
  font-size: 1.2rem !important;
  margin-bottom: 1.5rem !important;
}

.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
  padding: .8rem 0 !important;
  border-bottom: 1px solid rgba(232,148,74,.08) !important;
  font-family: var(--font-ui, sans-serif) !important;
}

.woocommerce-cart .cart_totals table th {
  font-size: .7rem !important;
  font-weight: 700 !important;
  letter-spacing: .2em !important;
  text-transform: uppercase !important;
  color: rgba(232,148,74,.55) !important;
}

.woocommerce-cart .cart_totals table td {
  text-align: right !important;
  color: var(--cream-dim, rgba(251,240,224,.65)) !important;
}

.woocommerce-cart .cart_totals .order-total td,
.woocommerce-cart .cart_totals .order-total th {
  font-size: 1.2rem !important;
  font-weight: 700 !important;
  color: var(--amber, #E8944A) !important;
  border-bottom: none !important;
  padding-top: 1rem !important;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  display: block !important;
  width: 100% !important;
  background: linear-gradient(135deg, #E8944A, #F2C14E) !important;
  color: #1A0D05 !important;
  font-family: var(--font-ui, sans-serif) !important;
  font-size: .8rem !important;
  font-weight: 700 !important;
  letter-spacing: .25em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  text-align: center !important;
  padding: 1.1rem !important;
  margin-top: 1.5rem !important;
  box-shadow: 0 4px 28px rgba(232,148,74,.35) !important;
  transition: all .35s !important;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
  box-shadow: 0 8px 48px rgba(232,148,74,.55) !important;
  transform: translateY(-2px) !important;
}

/* ══════════════════════════════════════════════
   10. CHECKOUT
══════════════════════════════════════════════ */
.woocommerce-checkout h3 {
  font-family: var(--font-hero, serif) !important;
  font-size: 1.3rem !important;
  font-weight: 700 !important;
  color: var(--cream, #FBF0E0) !important;
  letter-spacing: -.02em !important;
  margin-bottom: 1.4rem !important;
  padding-bottom: .8rem !important;
  border-bottom: 1px solid rgba(232,148,74,.15) !important;
}

/* Form inputs */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  background: rgba(255,255,255,.03) !important;
  border: 1.5px solid rgba(232,148,74,.2) !important;
  border-radius: 0 !important;
  color: var(--cream, #FBF0E0) !important;
  font-family: var(--font-ui, sans-serif) !important;
  font-size: .92rem !important;
  padding: .82rem 1.1rem !important;
  transition: border-color .3s, box-shadow .3s !important;
  width: 100% !important;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
  border-color: var(--amber, #E8944A) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(232,148,74,.12) !important;
}

.woocommerce form .form-row label {
  font-family: var(--font-ui, sans-serif) !important;
  font-size: .68rem !important;
  font-weight: 700 !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  color: rgba(232,148,74,.55) !important;
  margin-bottom: .4rem !important;
  display: block !important;
}

/* Place order */
.woocommerce #payment #place_order,
.woocommerce #respond input#submit {
  background: linear-gradient(135deg, #E8944A, #F2C14E) !important;
  color: #1A0D05 !important;
  font-family: var(--font-ui, sans-serif) !important;
  font-size: .8rem !important;
  font-weight: 700 !important;
  letter-spacing: .25em !important;
  text-transform: uppercase !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 1.1rem 3rem !important;
  width: 100% !important;
  box-shadow: 0 4px 28px rgba(232,148,74,.35) !important;
  transition: all .35s !important;
  cursor: pointer !important;
}

.woocommerce #payment #place_order:hover {
  box-shadow: 0 8px 48px rgba(232,148,74,.55) !important;
  transform: translateY(-2px) !important;
}

/* ══════════════════════════════════════════════
   11. NOTICES
══════════════════════════════════════════════ */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  font-family: var(--font-ui, sans-serif) !important;
  font-size: .9rem !important;
  border-radius: 0 !important;
  padding: 1rem 1.5rem !important;
  margin-bottom: 1.5rem !important;
  list-style: none !important;
  display: flex !important;
  align-items: center !important;
  gap: 1rem !important;
}

.woocommerce-message {
  background: rgba(242,193,78,.07) !important;
  border-top: 3px solid var(--saffron, #F2C14E) !important;
  color: var(--cream, #FBF0E0) !important;
}

.woocommerce-info {
  background: rgba(123,167,196,.07) !important;
  border-top: 3px solid #7BA7C4 !important;
  color: var(--cream, #FBF0E0) !important;
}

.woocommerce-error {
  background: rgba(212,115,106,.07) !important;
  border-top: 3px solid var(--rose, #D4736A) !important;
  color: var(--cream, #FBF0E0) !important;
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before { display: none !important; }

.woocommerce-message a,
.woocommerce-info a {
  color: var(--amber, #E8944A) !important;
  font-weight: 700 !important;
  margin-left: auto !important;
  text-decoration: none !important;
  border: 1px solid rgba(232,148,74,.3) !important;
  padding: .3rem .9rem !important;
  font-size: .72rem !important;
  letter-spacing: .15em !important;
  text-transform: uppercase !important;
  transition: all .25s !important;
}

.woocommerce-message a:hover { background: rgba(232,148,74,.1) !important; }

/* ══════════════════════════════════════════════
   12. RESPONSIVE
══════════════════════════════════════════════ */
@media (max-width: 900px) {
  .ramram-product-inner {
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
  }

  .ramram-product-gallery {
    position: static !important;
    overflow: visible !important;
  }

  .woocommerce-product-gallery__image img,
  .woocommerce-product-gallery__image:first-child img {
    max-height: 450px !important;
  }

  .woocommerce-cart .woocommerce,
  .woocommerce-cart .woocommerce-page {
    grid-template-columns: 1fr !important;
  }

  .ramram-sticky-info { display: none; }
}

@media (max-width: 600px) {
  .woocommerce-product-gallery__image img,
  .woocommerce-product-gallery__image:first-child img {
    max-height: 360px !important;
  }

  .woocommerce div.product h1.product_title,
  .woocommerce div.product .product_title {
    font-size: 1.6rem !important;
  }

  .woocommerce div.product form.cart {
    flex-direction: column !important;
  }

  .woocommerce div.product form.cart div.quantity,
  .ramram-qty-wrap {
    width: 100% !important;
  }

  .woocommerce div.product form.cart div.quantity input.qty {
    flex: 1 !important;
    width: auto !important;
  }

  .woocommerce div.product form.cart button.single_add_to_cart_button {
    width: 100% !important;
    flex: none !important;
  }

  .woocommerce div.product .woocommerce-tabs ul.tabs li a {
    padding: .8rem 1rem !important;
    font-size: .65rem !important;
  }

  .woocommerce div.product .woocommerce-tabs .panel {
    padding: 1.4rem !important;
  }

  .ramram-sticky-actions { gap: .4rem; }
  .ramram-sticky-add { padding: 0 1rem; font-size: .7rem; }
}
