@font-face {
	font-weight: normal;
	font-style: normal;
	font-family: "woodmart-font";
	src: url("//rubyonlinestore.com/wp-content/themes/woodmart/fonts/woodmart-font-1-400.woff2?v=8.3.9") format("woff2");
}

@font-face {
	font-family: "star";
	font-weight: 400;
	font-style: normal;
	src: url("//rubyonlinestore.com/wp-content/plugins/woocommerce/assets/fonts/star.eot?#iefix") format("embedded-opentype"), url("//rubyonlinestore.com/wp-content/plugins/woocommerce/assets/fonts/star.woff") format("woff"), url("//rubyonlinestore.com/wp-content/plugins/woocommerce/assets/fonts/star.ttf") format("truetype"), url("//rubyonlinestore.com/wp-content/plugins/woocommerce/assets/fonts/star.svg#star") format("svg");
}

@font-face {
	font-family: "WooCommerce";
	font-weight: 400;
	font-style: normal;
	src: url("//rubyonlinestore.com/wp-content/plugins/woocommerce/assets/fonts/WooCommerce.eot?#iefix") format("embedded-opentype"), url("//rubyonlinestore.com/wp-content/plugins/woocommerce/assets/fonts/WooCommerce.woff") format("woff"), url("//rubyonlinestore.com/wp-content/plugins/woocommerce/assets/fonts/WooCommerce.ttf") format("truetype"), url("//rubyonlinestore.com/wp-content/plugins/woocommerce/assets/fonts/WooCommerce.svg#WooCommerce") format("svg");
}

:root {
	--wd-text-font: "Lato", Arial, Helvetica, sans-serif;
	--wd-text-font-weight: 400;
	--wd-text-color: rgb(118,118,118);
	--wd-text-font-size: 15px;
	--wd-title-font: "Poppins", Arial, Helvetica, sans-serif;
	--wd-title-font-weight: 600;
	--wd-title-color: #242424;
	--wd-entities-title-font: "Poppins", Arial, Helvetica, sans-serif;
	--wd-entities-title-font-weight: 500;
	--wd-entities-title-color: #333333;
	--wd-entities-title-color-hover: rgb(51 51 51 / 65%);
	--wd-alternative-font: "Lato", Arial, Helvetica, sans-serif;
	--wd-widget-title-font: "Poppins", Arial, Helvetica, sans-serif;
	--wd-widget-title-font-weight: 600;
	--wd-widget-title-transform: uppercase;
	--wd-widget-title-color: #333;
	--wd-widget-title-font-size: 16px;
	--wd-header-el-font: "Lato", Arial, Helvetica, sans-serif;
	--wd-header-el-font-weight: 700;
	--wd-header-el-transform: uppercase;
	--wd-header-el-font-size: 13px;
	--wd-otl-style: dotted;
	--wd-otl-width: 2px;
	--wd-primary-color: #83b735;
	--wd-alternative-color: #fbbc34;
	--btn-default-bgcolor: #f7f7f7;
	--btn-default-bgcolor-hover: #efefef;
	--btn-accented-bgcolor: #83b735;
	--btn-accented-bgcolor-hover: #74a32f;
	--wd-form-brd-width: 2px;
	--notices-success-bg: #459647;
	--notices-success-color: #fff;
	--notices-warning-bg: #E0B252;
	--notices-warning-color: #fff;
	--wd-link-color: #333333;
	--wd-link-color-hover: #242424;
}
.wd-age-verify-wrap {
	--wd-popup-width: 500px;
}
.wd-popup.wd-promo-popup {
	background-color: #111111;
	background-image: url(https://rubyonlinestore.com/wp-content/uploads/2021/08/promo-popup.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
}
.wd-promo-popup-wrap {
	--wd-popup-width: 800px;
	--wd-popup-padding: 15px;
}
:is(.woodmart-woocommerce-layered-nav, .wd-product-category-filter) .wd-scroll-content {
	max-height: 223px;
}
.wd-page-title .wd-page-title-bg img {
	object-fit: none;
}
.wd-footer {
	background-color: #ffffff;
	background-image: none;
}
html .product-image-summary-wrap .product_title, html .wd-single-title .product_title {
	font-weight: 600;
}
.mfp-wrap.wd-popup-quick-view-wrap {
	--wd-popup-width: 920px;
}
:root{
--wd-container-w: 1222px;
--wd-form-brd-radius: 0px;
--btn-default-color: #333;
--btn-default-color-hover: #333;
--btn-accented-color: #fff;
--btn-accented-color-hover: #fff;
--btn-default-brd-radius: 0px;
--btn-default-box-shadow: none;
--btn-default-box-shadow-hover: none;
--btn-default-box-shadow-active: none;
--btn-default-bottom: 0px;
--btn-accented-bottom-active: -1px;
--btn-accented-brd-radius: 0px;
--btn-accented-box-shadow: inset 0 -2px 0 rgba(0, 0, 0, .15);
--btn-accented-box-shadow-hover: inset 0 -2px 0 rgba(0, 0, 0, .15);
--wd-brd-radius: 0px;
}

@media (min-width: 1222px) {
section.elementor-section.wd-section-stretch > .elementor-container {
margin-left: auto;
margin-right: auto;
}
}


.wd-page-title {
background-color: #0a0a0a;
}

/* Remove ONLY the cart icon overlay on product images (WoodMart) */
.wd-product .wd-add-btn,
.wd-product .add-to-cart-loop,
.wd-product .product-element-bottom,
.wd-product .wd-buttons{
  display:none !important;
}

/* Hide product title from breadcrumbs (last item only) */
.single-product .woocommerce-breadcrumb span:last-child,
.single-product .woocommerce-breadcrumb a:last-child{
  display:none !important;
}

/* =========================================================
   RUBY — VARIATIONS FINAL (ELEMENTOR SAFE)
   Works on ALL product pages (no .single-product dependency)
   Desktop: inline variations row
   Mobile: stacked variations + CLEAR inline + ATC + SIZE CHART in one line
========================================================= */

/* =========================
   DESKTOP (>=768px)
========================= */
@media (min-width:768px){

  form.variations_form table.variations{
    display:block !important;
    width:auto !important;
  }

  form.variations_form table.variations tbody{
    display:inline-flex !important;
    align-items:center !important;
    gap:18px !important;
    width:fit-content !important;
  }

  form.variations_form table.variations tr{
    display:inline-flex !important;
    align-items:center !important;
    gap:6px !important;
    margin:0 !important;
    padding:0 !important;
    width:auto !important;
  }

  /* LABEL */
  form.variations_form table.variations th.label,
  form.variations_form table.variations th.label.cell{
    padding:0 !important;
    margin:0 !important;
    display:flex !important;
    align-items:center !important;
    height:30px !important;
    min-height:30px !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }

  form.variations_form table.variations th.label label,
  form.variations_form table.variations th.label.cell label{
    margin:0 !important;
    padding:0 !important;
    font-size:14px !important;
    font-weight:800 !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }

  /* VALUE */
  form.variations_form table.variations td.value,
  form.variations_form table.variations td.value.cell{
    padding:0 !important;
    margin:0 !important;
    display:flex !important;
    align-items:center !important;
    height:30px !important;
    min-height:30px !important;
    width:auto !important;
  }

  /* SELECT */
  form.variations_form table.variations td.value select,
  form.variations_form table.variations td.value.cell select{
    width:120px !important;
    min-width:120px !important;
    max-width:120px !important;

    height:30px !important;
    line-height:28px !important;
    padding:0 10px !important;

    border-radius:10px !important;
    border:1px solid rgba(27,143,111,.45) !important;

    font-size:12.5px !important;
    font-weight:700 !important;
    color:#111 !important;

    background:#fff !important;
    box-shadow:none !important;

    -webkit-appearance:none !important;
    -moz-appearance:none !important;
    appearance:none !important;
    background-image:none !important;
  }

  /* CLEAR (inline after Size) */
  form.variations_form a.reset_variations{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;

    height:28px !important;
    padding:0 12px !important;
    margin-left:8px !important;

    font-size:12px !important;
    font-weight:900 !important;
    letter-spacing:.25px !important;
    text-transform:uppercase !important;

    color:#0f7a5a !important;
    background:rgba(27,143,111,.12) !important;
    border:1px solid rgba(27,143,111,.45) !important;
    border-radius:999px !important;

    text-decoration:none !important;
    cursor:pointer !important;

    float:none !important;
    clear:none !important;
  }

  form.variations_form a.reset_variations:before,
  form.variations_form a.reset_variations:after{
    content:none !important;
    display:none !important;
  }
}

/* =========================
   MOBILE (<=767px) — NUCLEAR OVERRIDE
   - Forces flex rows
   - CLEAR inline inside value cell
   - ATC + SIZE CHART stays in one line
========================= */
@media (max-width:767px){

  body form.variations_form table.variations{
    display:block !important;
    width:100% !important;
    margin:0 0 6px !important;
    border-collapse:collapse !important;
  }

  body form.variations_form table.variations tbody{
    display:block !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
  }

  body form.variations_form table.variations tr{
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    width:100% !important;
    margin:0 0 8px !important;
    padding:0 !important;
  }

  /* Label column */
  body form.variations_form table.variations th.label,
  body form.variations_form table.variations th.label.cell{
    display:flex !important;
    align-items:center !important;

    width:92px !important;
    min-width:92px !important;

    padding:0 !important;
    margin:0 !important;

    height:28px !important;
    min-height:28px !important;

    line-height:1 !important;
    white-space:nowrap !important;
  }

  body form.variations_form table.variations th.label label,
  body form.variations_form table.variations th.label.cell label{
    margin:0 !important;
    padding:0 !important;
    font-size:14px !important;
    font-weight:800 !important;
    line-height:1 !important;
  }

  /* Value cell */
  body form.variations_form table.variations td.value,
  body form.variations_form table.variations td.value.cell{
    display:flex !important;
    align-items:center !important;

    padding:0 !important;
    margin:0 !important;

    height:28px !important;
    min-height:28px !important;

    width:auto !important;
    flex:0 0 auto !important;
  }

  /* Select */
  body form.variations_form table.variations td.value select,
  body form.variations_form table.variations td.value.cell select{
    width:120px !important;
    min-width:120px !important;
    max-width:120px !important;

    height:28px !important;
    line-height:26px !important;
    padding:0 10px !important;

    border-radius:10px !important;
    border:1px solid rgba(27,143,111,.45) !important;

    font-size:12.5px !important;
    font-weight:700 !important;
    color:#111 !important;

    background:#fff !important;
    box-shadow:none !important;

    -webkit-appearance:none !important;
    -moz-appearance:none !important;
    appearance:none !important;
    background-image:none !important;
  }

  /* ATC row: Quantity + ATC + Size Chart in ONE LINE */
  body form.variations_form .single_variation_wrap,
  body form.variations_form .woocommerce-variation-add-to-cart{
    margin-top:6px !important;
    padding-top:0 !important;
  }

  body form.variations_form .woocommerce-variation-add-to-cart{
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    flex-wrap:nowrap !important;
  }

  body form.variations_form .quantity,
  body form.variations_form button.single_add_to_cart_button,
  body form.variations_form .ruby-size-chart-btn{
    flex:0 0 auto !important;
    margin:0 !important;
    white-space:nowrap !important;
  }

  body form.variations_form br{
    display:none !important;
  }
}

/* ✅ Mobile CLEAR INLINE (final) */
@media (max-width:767px){

  body form.variations_form table.variations td.value{
    flex:1 1 auto !important;
    min-width:0 !important;
    gap:10px !important;
  }

  body form.variations_form table.variations td.value select{
    flex:1 1 auto !important;
    min-width:0 !important;
  }

  body form.variations_form table.variations td.value a.reset_variations{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;

    height:28px !important;
    padding:0 12px !important;

    font-size:12px !important;
    font-weight:900 !important;
    letter-spacing:.25px !important;
    text-transform:uppercase !important;

    color:#0f7a5a !important;
    background:rgba(27,143,111,.12) !important;
    border:1px solid rgba(27,143,111,.45) !important;
    border-radius:999px !important;

    white-space:nowrap !important;
    line-height:1 !important;
    text-decoration:none !important;
  }

  body form.variations_form table.variations td.value a.reset_variations:before,
  body form.variations_form table.variations td.value a.reset_variations:after{
    content:none !important;
    display:none !important;
  }
}

/* =========================================================
   RUBY — TRUST BADGES (FINAL, LOCKED)
   NOTE: Trust is OUTSIDE form.cart (after add_to_cart_form)
========================================================= */

/* ✅ Trust row (targets .summary, not form.cart) */
.single-product .summary .tm-trust-row{
  display:flex;
  width:100%;
  margin-top:16px !important;  /* spacing lock */
  margin-bottom:16px;
  gap:12px;
  padding-left:10px;
  justify-content:flex-start;
  clear:both;
}

/* Trust card */
.single-product .tm-trust-item{
  flex:0 0 auto;
  width:108px;
  height:78px;
  padding:8px;

  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;

  border-radius:14px;
  background:#f5faf8;
  border:1px solid #cfe9dd;
  color:#23413a;
  box-sizing:border-box;
}

.single-product .tm-trust-icon svg{
  width:24px;
  height:24px;
  margin-bottom:6px;

  stroke:var(--ruby-green, rgb(27,143,111));
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.single-product .tm-trust-text{
  font-size:12px;
  font-weight:700;
  line-height:1.1;
}

@media (min-width:992px){
  .single-product .tm-trust-item:hover{
    background:#edf7f2;
    border-color:#b6ddce;
  }
}

@media (max-width:600px){
  .single-product .summary .tm-trust-row{
    justify-content:space-between;
    gap:10px;
    padding-left:6px;
  }

  .single-product .tm-trust-item{
    width:calc((100% - 20px) / 3);
    height:74px;
    border-radius:13px;
  }

  .single-product .tm-trust-icon svg{
    width:22px;
    height:22px;
    margin-bottom:5px;
  }

  .single-product .tm-trust-text{
    font-size:11.5px;
  }
}


/* =========================================================
   RUBY — OFFERS + EID ROW (FINAL LOCKED - SAFE)
   NOTE: Offers is OUTSIDE form.cart now
========================================================= */

.single-product .summary .ruby-offers{
  margin-top:14px;
  border:1px solid rgba(0,0,0,.08);
  background:#fff;
  border-radius:14px;
  padding:14px;
  max-width:100%;
}

.single-product .summary .ruby-offers__title{
  font-weight:900;
  font-size:16px;
  margin-bottom:12px;
  color:#111;
}

.single-product .summary .ruby-offers__item{
  display:flex;
  align-items:center;
  gap:12px;
  background:#f6f7f7;
  border-radius:12px;
  padding:12px;
  margin-bottom:10px;
}

.single-product .summary .ruby-offers__item:last-child{ margin-bottom:0; }

.single-product .summary .ruby-offers__icon{
  width:34px;
  height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  background:rgba(16,135,84,.10);
  color:#108754;
  font-weight:900;
  flex:0 0 auto;
}

.single-product .summary .ruby-offers__text{
  flex:1 1 auto;
  min-width:0;
}

.single-product .summary .ruby-offers__main{
  font-size:14px;
  font-weight:800;
  color:#111;
  line-height:1.25;
}

.single-product .summary .ruby-offers__sub{
  font-size:12px;
  color:#666;
  margin-top:4px;
  line-height:1.25;
}

.single-product .summary .ruby-offers__btn{
  flex:0 0 auto;
  border:0;
  background:#108754;
  color:#fff;
  font-weight:900;
  font-size:13px;
  padding:8px 12px;
  border-radius:10px;
  cursor:pointer;
  white-space:nowrap;
}

/* =========================================================
   EID ROW — LOCKED GRID (badge left, button right, icons below badge)
========================================================= */

/* Eid container becomes grid */
.single-product .summary .ruby-offers__item--eid{
  display:grid !important;
  grid-template-columns: 1fr auto !important;
  grid-template-rows: auto auto !important;
  gap:10px 12px !important;
  align-items:start !important;
  width:100% !important;
}

/* Golden badge (LEFT top) */
.single-product .summary .ruby-eid-cta{
  grid-column: 1 / 2 !important;
  grid-row: 1 / 2 !important;
  justify-self:start !important;
  align-self:start !important;

  background-image:linear-gradient(45deg, rgb(166, 109, 48), rgb(255, 229, 142) 50%, rgb(224, 176, 87) 100%);
  background-color:transparent;
  border:0;

  color:#000;
  font-weight:900;
  font-size:13px;

  /* equal height with CTA */
  min-height:44px !important;
  padding:0 16px !important;

  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  border-radius:10px !important;
  line-height:1.1 !important;

  flex:0 0 auto;
  margin:0 !important;
  text-align:left;
}

/* Right wrapper should not fight grid */
.single-product .summary .ruby-offers__eid-right{
  display:contents !important;
}

/* Eid button (RIGHT top) */
.single-product .summary .ruby-offers__btn--eid{
  grid-column: 2 / 3 !important;
  grid-row: 1 / 2 !important;
  justify-self:end !important;
  align-self:start !important;

  /* equal height with badge */
  min-height:44px !important;
  padding:0 16px !important;

  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  border-radius:10px !important;
  line-height:1.1 !important;

  white-space:nowrap !important;
  margin:0 !important;
}

/* Payment icons (single image) — BELOW badge on LEFT */
.single-product .summary .ruby-offers__item--eid img[src*="payment-icon"]{
  grid-column: 1 / 2 !important;
  grid-row: 2 / 3 !important;
  justify-self:start !important;
  align-self:start !important;

  height:30px !important;      /* LOCKED from your final */
  max-height:30px !important;
  width:auto !important;

  display:inline-block !important;
  vertical-align:middle !important;
  opacity:1 !important;
  filter:saturate(1.1) contrast(1.05) !important;
}

/* Mobile tune */
@media (max-width:767px){
  .single-product .summary .ruby-offers{ padding:12px; }

  .single-product .summary .ruby-eid-cta{
    font-size:12.5px !important;
  }

  .single-product .summary .ruby-offers__btn--eid{
    font-size:12px !important;
  }
}


/* =========================================================
   🔒 Prevent flicker: hide until JS locks position
   (ONLY if you have the JS below enabled)
========================================================= */

.single-product .ruby-offers,
.single-product .tm-trust-row{
  opacity:0;
  transition: opacity .12s ease;
}

.single-product.ruby-pdp-locked .ruby-offers,
.single-product.ruby-pdp-locked .tm-trust-row{
  opacity:1;
}
