.elementor-2712 .elementor-element.elementor-element-b234a3d{--display:flex;--min-height:30px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2712 .elementor-element.elementor-element-b234a3d:not(.elementor-motion-effects-element-type-background), .elementor-2712 .elementor-element.elementor-element-b234a3d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#2A4F7C;}.elementor-2712 .elementor-element.elementor-element-58b3834{--display:flex;}.elementor-2712 .elementor-element.elementor-element-f45134a{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-2712 .elementor-element.elementor-element-f45134a.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-2712 .elementor-element.elementor-element-4b1596a{--display:flex;}.elementor-2712 .elementor-element.elementor-element-4b1596a.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-widget-woocommerce-product-add-to-cart .added_to_cart{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );line-height:var( --e-global-typography-accent-line-height );}.elementor-2712 .elementor-element.elementor-element-588851f .cart button, .elementor-2712 .elementor-element.elementor-element-588851f .cart .button{transition:all 0.2s;}.elementor-2712 .elementor-element.elementor-element-588851f .quantity .qty{transition:all 0.2s;}.elementor-2712 .elementor-element.elementor-element-517ec44{--display:flex;}.elementor-2712 .elementor-element.elementor-element-e7bf382{--display:flex;--min-height:30px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2712 .elementor-element.elementor-element-e7bf382:not(.elementor-motion-effects-element-type-background), .elementor-2712 .elementor-element.elementor-element-e7bf382 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#2A4F7C;}@media(min-width:768px){.elementor-2712 .elementor-element.elementor-element-f45134a{--width:84.017%;}.elementor-2712 .elementor-element.elementor-element-4b1596a{--width:102%;}}@media(max-width:1024px){.elementor-widget-woocommerce-product-add-to-cart .added_to_cart{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}}@media(max-width:767px){.elementor-widget-woocommerce-product-add-to-cart .added_to_cart{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}}/* Start custom CSS for html, class: .elementor-element-0b11a19 *//* =========================================
   HERO SECTION — CLEAN PREMIUM VERSION
========================================= */

/* Reset Elementor constraints (keep these) */
.hero-section.e-con{
  padding: 0 !important;
}

.hero-widget.elementor-widget{
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
  align-self: stretch !important;
  margin: 0 !important;
}

.hero-widget .elementor-widget-container{
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Font + rendering */
.hero-page,
.hero-page *{
  font-family: "Montserrat", sans-serif !important;
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Layout */
.hero-page .hero-wrap{
  width: min(1100px, calc(100% - 40px));
  margin: 0 auto;
}

/* Section (replaces dark gradient) */
.hero-page .hero-bar{
  background: #ffffff;
  padding: 48px 0 34px;
  text-align: center;
}

/* Title */
.hero-page .hero-title{
  margin: 0;
  font-size: clamp(32px, 4vw, 44px);
  font-weight: 850;
  letter-spacing: -0.02em;
  line-height: 1.12;
  color: #B3202D; /* premium red */
}

/* Underline accent */
.hero-page .hero-title::after{
  content: "";
  display: block;
  width: 86px;
  height: 3px;
  margin: 16px auto 0;
  border-radius: 999px;
  background: #2A4F7C; /* navy accent */
  opacity: 0.95;
}

/* Mobile */
@media (max-width: 600px){

  .hero-page .hero-bar{
    padding: 38px 0 26px;
  }

  .hero-page .hero-wrap{
    width: min(1100px, calc(100% - 28px));
  }

  .hero-page .hero-title{
    font-size: 30px;
  }

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-22fc495 */.ob-product-form-head__text{
  margin:10px 0 0;
  width:100%;
  max-width:none;
  color:rgba(16,24,40,0.74);
  font-size:15px;
  line-height:1.55;
  font-weight:500;
  letter-spacing:-0.01em;
}

.ob-product-form-head__nowrap{
  white-space:nowrap;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-f45134a *//* =========================================================
   ORIGIN BLOODS — REUSABLE PRODUCT TEMPLATE
========================================================= */

/* =========================
   BASE
========================= */

.ob-product-layout,
.ob-product-layout *{
  box-sizing:border-box;
  font-family:"Montserrat",sans-serif !important;
}

.ob-product-layout{
  width:min(1180px, calc(100% - 40px));
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(520px,560px) minmax(300px,1fr);
  gap:38px;
  align-items:start;
  padding:28px 0 56px;
}

/* =========================
   LEFT COLUMN
========================= */

.ob-product-layout__left{
  display:flex;
  flex-direction:column;
  align-items:stretch;
}

.ob-product-media{
  margin:0;
  width:100%;
  border-radius:26px;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(16,24,40,0.08);
  box-shadow:0 14px 34px rgba(16,24,40,0.07);
}

.ob-product-media__image{
  display:block;
  width:100%;
  aspect-ratio:1.58 / 1;
  object-fit:cover;
}

.ob-product-price-badge-wrap{
  width:100%;
  display:flex;
  justify-content:center;
  margin-top:18px;
}

.ob-product-price-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:46px;
  padding:0 18px;
  border-radius:14px;
  background:#B3202D;
  color:#fff;
  box-shadow:0 12px 24px rgba(179,32,45,0.16);
}

.ob-product-price-badge__prefix{
  font-size:14px;
  font-weight:700;
  line-height:1;
}

.ob-product-price-badge__value{
  font-size:24px;
  font-weight:900;
  line-height:1;
  letter-spacing:-0.03em;
}

/* =========================
   FORM CARD
========================= */

.ob-product-form-card{
  max-width:590px;
  width:100%;
  margin:10px auto 0; /* was 18px - pulls whole box higher */
  position:relative;
  border-radius:24px;
  background:linear-gradient(180deg,#ffffff 0%,#fbfcfe 100%);
  border:1px solid rgba(42,79,124,0.10);
  box-shadow:0 14px 34px rgba(16,24,40,0.06);
  overflow:hidden;
}

.ob-product-form-card::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:4px;
  background:linear-gradient(180deg,#B3202D 0%,#2A4F7C 100%);
}

.ob-product-form-head{
  padding:20px 20px 6px;
}

.ob-product-form-head__title{
  margin:0;
  color:#2A4F7C;
  font-size:26px;
  font-weight:650;
  line-height:1.12;
  letter-spacing:-0.03em;
}

.ob-product-form-head__title::after{
  content:"";
  display:block;
  width:72px;
  height:3px;
  margin:14px 0 0;
  border-radius:999px;
  background:#B3202D;
}

.ob-product-form-head__text{
  margin:10px 0 0;
  width:100%;
  max-width:none;
  color:rgba(16,24,40,0.74);
  font-size:14px;
  line-height:1.45;
  font-weight:500;
  letter-spacing:-0.01em;
  white-space:normal;
}

/* =========================
   APF / WAPF FORM
========================= */

.ob-wapf-form{
  max-width:590px;
  width:100% !important;
  margin:0 auto !important;
  padding:6px 20px 20px !important;
}

.ob-wapf-form,
.ob-wapf-form .elementor-widget-container,
.ob-wapf-form .woocommerce,
.ob-wapf-form .wapf,
.ob-wapf-form .wapf-wrapper,
.ob-wapf-form .wapf-field-group,
.ob-wapf-form .wapf-field-row,
.ob-wapf-form .wapf-field-container,
.ob-wapf-form .wapf-field-input{
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

/* hide duplicate APF field heading */
.ob-wapf-form .wapf-field-label{
  display:none !important;
}

/* =========================
   RADIO OPTIONS
========================= */

.ob-wapf-form .wapf-radios{
  display:flex !important;
  flex-direction:column !important;
  gap:12px !important;
  width:100% !important;
  align-items:flex-start !important;
}

.ob-wapf-form .wapf-radio{
  width:100% !important;
  max-width:520px !important;
}

/* actual card */
.ob-wapf-form .wapf-radio .wapf-input-label{
  display:grid !important;
  grid-template-columns:18px minmax(0,1fr) auto !important;
  align-items:center !important;
  column-gap:16px !important;
  width:100% !important;
  min-height:58px !important;
  padding:12px 18px !important;
  margin:0 !important;
  border:1px solid #D8DEE8 !important;
  border-radius:18px !important;
  background:#F7F8FA !important;
  box-shadow:none !important;
  cursor:pointer !important;
  transition:border-color .18s ease, background-color .18s ease, box-shadow .18s ease !important;
  box-sizing:border-box !important;
}

.ob-wapf-form .wapf-radio .wapf-input-label:hover{
  border-color:#CCD5E2 !important;
  background:#F8FAFC !important;
}

/* native radio */
.ob-wapf-form .wapf-radio .wapf-input{
  grid-column:1 !important;
  justify-self:start !important;
  align-self:center !important;
  width:16px !important;
  height:16px !important;
  margin:0 !important;
  accent-color:#C61F2C !important;
  transform:none !important;
}

/* hide empty custom span */
.ob-wapf-form .wapf-radio .wapf-custom{
  display:none !important;
}

/* text */
.ob-wapf-form .wapf-radio .wapf-label-text{
  grid-column:2 !important;
  min-width:0 !important;
  margin:0 !important;
  display:block !important;
  font-size:15px !important;
  line-height:1.3 !important;
  font-weight:600 !important;
  letter-spacing:-0.01em !important;
  color:#2A4F7C !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  text-align:left !important;
}

/* default pill */
.ob-wapf-form .wapf-radio .origin-option-pill{
  grid-column:3 !important;
  justify-self:end !important;
  margin:0 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:78px !important;
  height:30px !important;
  padding:0 14px !important;
  border-radius:999px !important;
  border:1px solid #D4DCE7 !important;
  background:#EEF2F6 !important;
  color:#2A4F7C !important;
  font-size:15px !important;
  font-weight:700 !important;
  line-height:1 !important;
  white-space:nowrap !important;
}

/* free pill */
.ob-wapf-form .wapf-radio .origin-option-pill.origin-free{
  background:#E7F7EF !important;
  border-color:#B9E5CC !important;
  color:#13A05F !important;
}

/* =========================
   CHECKED STATE
========================= */

.ob-wapf-form .wapf-radio .wapf-input-label:has(.wapf-input:checked){
  border:1px solid #D72638 !important;
  background:#F7F8FA !important;
  box-shadow:0 0 0 1px #D72638 !important;
}

.ob-wapf-form .wapf-radio .wapf-input-label:has(.wapf-input:checked) .origin-option-pill{
  border-color:#E3B5BC !important;
  background:#F4F5F7 !important;
  color:#B3202D !important;
}

.ob-wapf-form .wapf-radio .wapf-input-label:has(.wapf-input:checked) .origin-option-pill.origin-free{
  background:#E7F7EF !important;
  border-color:#B9E5CC !important;
  color:#13A05F !important;
}

/* =========================
   CART / BUTTON
========================= */

.ob-wapf-form form.cart,
.elementor-widget-woocommerce-product-add-to-cart.ob-wapf-form form.cart,
.woocommerce div.product .ob-wapf-form form.cart{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  gap:14px !important;
  width:100% !important;
  margin:8px 0 0 !important;
}

.ob-wapf-form .quantity,
.ob-wapf-form .qty,
.ob-wapf-form input.qty{
  display:none !important;
}

.ob-wapf-form .single_add_to_cart_button{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  min-width:170px !important;
  min-height:48px !important;
  padding:0 16px !important;
  margin:10px auto 0 !important;
  border:0 !important;
  border-radius:16px !important;
  background:#C61F2C !important;
  color:#fff !important;
  font-size:16px !important;
  font-weight:800 !important;
  letter-spacing:-0.01em !important;
  text-transform:none !important;
  box-shadow:0 10px 22px rgba(198,31,44,0.15) !important;
  transition:transform .16s ease, box-shadow .2s ease !important;
}

.ob-wapf-form .single_add_to_cart_button:hover{
  transform:translateY(-2px) !important;
  box-shadow:0 14px 26px rgba(198,31,44,0.20) !important;
}

.ob-wapf-form .single_add_to_cart_button:active{
  transform:translateY(1px) scale(.985) !important;
}

/* hide totals */
.ob-wapf-form .wapf-product-totals,
.ob-wapf-form .wapf-product-totals *{
  display:none !important;
  visibility:hidden !important;
  height:0 !important;
  max-height:0 !important;
  overflow:hidden !important;
  margin:0 !important;
  padding:0 !important;
}

/* =========================
   RIGHT COLUMN
========================= */

.ob-product-layout__right{
  padding-top:2px;
}

.ob-product-copy p{
  margin:0 0 16px;
  font-size:16px;
  line-height:1.8;
  color:rgba(16,24,40,0.80);
}

.ob-product-measures{
  margin-top:18px;
}

.ob-product-measures__title{
  margin:0 0 16px;
  color:#2A4F7C;
  font-size:22px;
  font-weight:750;
  line-height:1.15;
  letter-spacing:-0.02em;
}

.ob-product-measures__title::after{
  content:"";
  display:block;
  width:68px;
  height:3px;
  margin:12px 0 0;
  border-radius:999px;
  background:#B3202D;
}

.ob-product-measures__columns{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 26px;
}

.ob-product-measures__list{
  list-style:none;
  margin:0;
  padding:0;
}

.ob-product-measures__list li{
  position:relative;
  margin:0 0 10px;
  padding-left:22px;
  color:#2A4F7C;
  font-size:15px;
  line-height:1.45;
  font-weight:700;
  letter-spacing:-0.01em;
}

.ob-product-measures__list li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:.05em;
  width:16px;
  height:16px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#B3202D;
  color:#fff;
  font-size:10px;
  font-weight:900;
}

.ob-product-benefits{
  margin-top:28px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px 16px;
}

.ob-product-benefits__item{
  position:relative;
  display:flex;
  align-items:center;
  min-height:50px;
  padding:12px 16px 12px 46px;
  border-radius:18px;
  background:#fff;
  border:1px solid rgba(16,24,40,0.08);
  box-shadow:0 8px 20px rgba(16,24,40,0.05);
  font-size:15px;
  line-height:1.45;
  font-weight:650;
  color:rgba(16,24,40,0.84);
}

.ob-product-benefits__item::before{
  content:"✓";
  position:absolute;
  left:14px;
  top:50%;
  transform:translateY(-50%);
  width:22px;
  height:22px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#21b573;
  color:#fff;
  font-size:13px;
  font-weight:900;
}

/* =========================
   RESPONSIVE
========================= */

@media (max-width:1080px){
  .ob-product-layout{
    grid-template-columns:1fr;
    gap:34px;
  }

  .ob-product-layout__left{
    max-width:720px;
  }

  .ob-product-form-card,
  .ob-wapf-form{
    max-width:100%;
  }
}

@media (max-width:767px){
  .ob-product-layout{
    width:min(1180px, calc(100% - 26px));
    gap:28px;
    padding:24px 0 44px;
  }

  .ob-product-form-card{
    margin:10px auto 0;
    border-radius:20px;
  }

  .ob-product-form-head{
    padding:24px 18px 14px;
  }

  .ob-wapf-form{
    padding:6px 18px 20px !important;
  }

  .ob-product-form-head__title{
    font-size:24px;
    line-height:1.2;
  }

  .ob-product-form-head__text,
  .ob-product-copy p{
    font-size:14px;
    line-height:1.5;
  }

  .ob-product-measures__title{
    font-size:21px;
  }

  .ob-product-measures__columns{
    grid-template-columns:1fr;
    gap:0;
  }

  .ob-product-measures__list li{
    font-size:14px;
    line-height:1.4;
    margin:0 0 9px;
  }

  .ob-product-benefits{
    grid-template-columns:1fr;
  }

  .ob-product-benefits__item{
    font-size:14px;
    min-height:46px;
  }

  .ob-wapf-form .wapf-radio{
    max-width:100% !important;
  }

  .ob-wapf-form .wapf-radio .wapf-input-label{
    grid-template-columns:16px minmax(0,1fr) auto !important;
    column-gap:12px !important;
    min-height:56px !important;
    padding:11px 14px !important;
    border-radius:16px !important;
    box-sizing:border-box !important;
  }

  .ob-wapf-form .wapf-radio .wapf-label-text{
    font-size:14px !important;
    line-height:1.3 !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
  }

  .ob-wapf-form .wapf-radio .origin-option-pill{
    min-width:72px !important;
    height:29px !important;
    padding:0 12px !important;
    font-size:14px !important;
  }

  .ob-wapf-form .single_add_to_cart_button{
    width:100% !important;
    max-width:220px !important;
    min-width:unset !important;
  }
}/* End custom CSS */