:root{
  --ubb-g:#073B25;
  --ubb-g2:#0D5135;
  --ubb-gold:#C89522;
  --ubb-gold2:#E7C45A;
  --ubb-cream:#F7F4EA;
  --ubb-soft:#EEF3EA;
  --ubb-ink:#111713;
  --ubb-muted:#65716A;
  --ubb-line:rgba(7,59,37,.13);
  --ubb-shadow:0 22px 60px rgba(5,47,29,.11);
}

.ubb-product-page{
  width:100%;
  margin:0;
  padding:0;
  overflow:hidden;
  background:#fff;
  color:var(--ubb-ink);
  font-family:"DM Sans",Arial,sans-serif;
}

.ubb-product-page *,
.ubb-product-page *::before,
.ubb-product-page *::after{
  box-sizing:border-box;
}

.ubb-product-page a{
  text-decoration:none!important;
}

.ubb-product-page img{
  max-width:100%;
}

.ubb-product-container{
  width:min(1180px,calc(100% - 40px));
  margin:0 auto;
}

.ubb-product-section{
  padding:88px 0;
}

/* Breadcrumb */
.ubb-product-breadcrumbs{
  background:#fff;
  border-bottom:1px solid var(--ubb-line);
  padding:14px 0;
}

.ubb-product-breadcrumbs .ubb-product-container{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:10px;
  color:#808983;
}

.ubb-product-breadcrumbs a{
  color:var(--ubb-g)!important;
  font-weight:700;
}

.ubb-product-breadcrumbs .current{
  max-width:420px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* Main product */
.ubb-product-hero{
  background:linear-gradient(135deg,#FBFAF6 0%,#F4F0E4 57%,#EDF2EA 100%);
  padding:58px 0 70px;
}

.ubb-product-main-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:72px;
  align-items:center;
}

/* Gallery */
.ubb-product-main-image{
  min-height:530px;
  padding:35px;
  border-radius:30px;
  border:1px solid rgba(7,59,37,.09);
  background:rgba(255,255,255,.76);
  display:grid;
  place-items:center;
  position:relative;
  overflow:hidden;
}

.ubb-product-main-image::before{
  content:"";
  width:410px;
  height:410px;
  position:absolute;
  border-radius:50%;
  border:1px solid rgba(7,59,37,.07);
  box-shadow:
    0 0 0 38px rgba(7,59,37,.02),
    0 0 0 76px rgba(208,154,34,.018);
}

.ubb-main-product-image{
  width:min(78%,430px);
  max-height:470px;
  object-fit:contain;
  position:relative;
  z-index:2;
  filter:drop-shadow(0 32px 26px rgba(0,0,0,.16));
  transition:transform .4s ease;
}

.ubb-product-main-image:hover .ubb-main-product-image{
  transform:scale(1.025) translateY(-3px);
}

.ubb-no-image{
  position:relative;
  z-index:2;
  color:var(--ubb-muted);
  font-size:14px;
}

.ubb-product-thumbs{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:12px;
}

.ubb-product-thumb{
  width:68px;
  height:68px;
  padding:6px;
  border:1px solid var(--ubb-line);
  border-radius:13px;
  background:#fff;
  display:grid;
  place-items:center;
  cursor:pointer;
  transition:
    transform .25s ease,
    border-color .25s ease,
    box-shadow .25s ease;
}

.ubb-product-thumb:hover,
.ubb-product-thumb.is-active{
  transform:translateY(-2px);
  border-color:var(--ubb-gold);
  box-shadow:0 8px 20px rgba(7,59,37,.07);
}

.ubb-product-thumb img{
  width:100%;
  height:100%;
  object-fit:contain;
}

/* Summary */
.ubb-product-kicker{
  color:var(--ubb-gold);
  font-size:10px;
  font-weight:800;
  letter-spacing:.17em;
  text-transform:uppercase;
}

.ubb-product-title{
  margin:16px 0!important;
  color:var(--ubb-g)!important;
  font:
    700
    clamp(45px,5.1vw,68px)
    /.97
    "Manrope",
    Arial,
    sans-serif!important;
  letter-spacing:-.055em!important;
}

.ubb-product-rating{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:21px;
}

.ubb-stars,
.ubb-big-stars{
  color:var(--ubb-gold);
  font-size:14px;
  letter-spacing:.08em;
}

.ubb-review-text{
  color:var(--ubb-muted);
  font-size:11px;
}

.ubb-product-excerpt{
  max-width:600px;
  margin-bottom:20px;
}

.ubb-product-excerpt p{
  margin:0 0 9px!important;
  color:var(--ubb-muted)!important;
  font-size:16px!important;
  line-height:1.78!important;
}

/* Price */
.ubb-product-price{
  display:flex;
  flex-wrap:wrap;
  align-items:end;
  gap:12px;
  margin:12px 0 21px;
}

.ubb-price-old{
  color:#969C97;
  font-size:19px;
  text-decoration:line-through;
}

.ubb-price-current,
.ubb-price-current .amount{
  color:var(--ubb-g)!important;
  font:
    800
    35px/1
    "Manrope",
    Arial,
    sans-serif!important;
}

.ubb-save-badge{
  padding:6px 9px;
  border-radius:7px;
  background:#E7F1E8;
  color:#25754C;
  font-size:10px;
  font-weight:800;
}

/* Purchase */
.ubb-purchase-box{
  padding:20px;
  border:1px solid var(--ubb-line);
  border-radius:21px;
  background:#fff;
  box-shadow:0 15px 36px rgba(7,59,37,.07);
}

.ubb-live-stock{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:14px;
  color:#23774C;
  font-size:11px;
  font-weight:800;
}

.ubb-live-stock.ubb-out-stock{
  color:#9B332C;
}

.ubb-stock-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#32A968;
  box-shadow:0 0 0 4px rgba(50,169,104,.11);
}

.ubb-out-stock .ubb-stock-dot{
  background:#B73B32;
  box-shadow:0 0 0 4px rgba(183,59,50,.10);
}

/* Native WooCommerce Cart */
.ubb-cart-area form.cart{
  display:flex!important;
  align-items:stretch;
  flex-wrap:wrap;
  gap:10px;
  margin:0!important;
}

.ubb-cart-area .quantity{
  margin:0!important;
}

.ubb-cart-area .quantity .qty{
  width:68px;
  height:52px;
  border:1px solid var(--ubb-line);
  border-radius:13px;
  background:#fff!important;
  color:var(--ubb-g)!important;
  text-align:center;
  font-weight:800;
  padding:0 7px;
}

.ubb-cart-area .single_add_to_cart_button,
.ubb-cart-area button.single_add_to_cart_button,
.ubb-cart-area .button{
  min-height:52px!important;
  padding:0 25px!important;
  border:0!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,#B87B0C,#F0C95E)!important;
  color:#132217!important;
  font-family:"DM Sans",Arial,sans-serif!important;
  font-size:12px!important;
  font-weight:800!important;
  letter-spacing:.04em!important;
  box-shadow:0 12px 25px rgba(208,154,34,.23)!important;
  transition:
    transform .3s ease,
    box-shadow .3s ease,
    filter .3s ease!important;
  cursor:pointer!important;
}

.ubb-cart-area .single_add_to_cart_button:hover,
.ubb-cart-area button.single_add_to_cart_button:hover,
.ubb-cart-area .button:hover{
  transform:translateY(-3px)!important;
  filter:brightness(1.04)!important;
  box-shadow:0 18px 34px rgba(208,154,34,.33)!important;
  color:#132217!important;
}

/* Correct typo-safe selectors too */
.ubb-cart-area .woocommerce-variation-add-to-cart,
.ubb-cart-area .woocommerce-variation-add-to-cart-enabled{
  display:flex!important;
  align-items:stretch;
  flex-wrap:wrap;
  gap:10px;
  width:100%;
}

.ubb-cart-area .variations{
  width:100%;
  margin:0 0 10px!important;
  border:0!important;
  background:transparent!important;
}

.ubb-cart-area .variations td,
.ubb-cart-area .variations th{
  padding:7px 0!important;
  border:0!important;
  background:transparent!important;
}

.ubb-cart-area .variations label{
  color:var(--ubb-g);
  font-size:11px;
  font-weight:800;
}

.ubb-cart-area .variations select{
  width:100%;
  min-height:46px;
  padding:0 12px;
  border:1px solid var(--ubb-line);
  border-radius:12px;
  background:#fff;
  color:var(--ubb-ink);
}

.ubb-cart-area .reset_variations{
  color:var(--ubb-gold)!important;
  font-size:10px;
}

.ubb-secure-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px 16px;
  margin-top:14px;
  color:#7A837D;
  font-size:9px;
}

.ubb-product-highlights{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
  margin-top:13px;
}

.ubb-highlight{
  display:flex;
  align-items:flex-start;
  gap:8px;
  padding:11px 12px;
  border:1px solid var(--ubb-line);
  border-radius:13px;
  background:rgba(255,255,255,.66);
  color:var(--ubb-g);
  font-size:10px;
  font-weight:800;
  line-height:1.45;
}

.ubb-highlight-check{
  width:18px;
  height:18px;
  min-width:18px;
  border-radius:50%;
  background:#E7F1E8;
  color:#24754C;
  display:grid;
  place-items:center;
  font-size:9px;
}

/* Trust */
.ubb-product-trust{
  background:var(--ubb-g);
  color:#fff;
}

.ubb-trust-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
}

.ubb-trust-item{
  padding:20px 18px;
  border-right:1px solid rgba(255,255,255,.13);
}

.ubb-trust-item:last-child{
  border-right:0;
}

.ubb-trust-item strong{
  display:block;
  color:#fff;
  font-size:13px;
}

.ubb-trust-item span{
  display:block;
  margin-top:4px;
  color:rgba(255,255,255,.63);
  font-size:9px;
}

/* Section Head */
.ubb-product-section-head{
  max-width:760px;
  margin:0 auto 44px;
  text-align:center;
}

.ubb-section-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:var(--ubb-gold);
  font-size:10px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.ubb-section-eyebrow::before{
  content:"";
  width:27px;
  height:1px;
  background:var(--ubb-gold);
}

.ubb-product-section-head h2{
  margin:16px 0;
  color:var(--ubb-ink);
  font:
    700
    clamp(43px,5.2vw,68px)
    /1
    "Manrope",
    Arial,
    sans-serif!important;
  letter-spacing:-.055em!important;
}

.ubb-product-section-head h2 span{
  color:var(--ubb-gold);
}

.ubb-product-section-head p{
  margin:0;
  color:var(--ubb-muted);
  font-size:16px;
  line-height:1.8;
}

/* Benefits */
.ubb-benefits-section{
  background:var(--ubb-cream);
}

.ubb-benefits-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:15px;
}

.ubb-benefit-card{
  position:relative;
  min-height:235px;
  padding:25px;
  border:1px solid var(--ubb-line);
  border-radius:24px;
  background:#fff;
  overflow:hidden;
  transition:
    transform .35s ease,
    box-shadow .35s ease,
    border-color .35s ease;
}

.ubb-benefit-card::after{
  content:"";
  position:absolute;
  width:100px;
  height:100px;
  right:-35px;
  bottom:-35px;
  border-radius:50%;
  background:rgba(240,201,94,.28);
  transition:transform .35s ease;
}

.ubb-benefit-card:hover{
  transform:translateY(-7px);
  box-shadow:var(--ubb-shadow);
  border-color:rgba(208,154,34,.3);
}

.ubb-benefit-card:hover::after{
  transform:scale(1.3);
}

.ubb-benefit-icon{
  width:48px;
  height:48px;
  margin-bottom:18px;
  border-radius:15px;
  display:grid;
  place-items:center;
  background:var(--ubb-g);
  color:var(--ubb-gold2);
  font-size:19px;
  position:relative;
  z-index:1;
}

.ubb-benefit-card h3{
  margin:0 0 8px;
  color:var(--ubb-g);
  font-size:19px;
  position:relative;
  z-index:1;
}

.ubb-benefit-card p{
  margin:0;
  color:var(--ubb-muted);
  font-size:12px;
  line-height:1.65;
  position:relative;
  z-index:1;
}

/* Details */
.ubb-details-section{
  background:#fff;
}

.ubb-details-grid{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:75px;
  align-items:start;
}

.ubb-details-intro{
  position:sticky;
  top:100px;
}

.ubb-details-intro h2{
  margin:16px 0 17px;
  color:var(--ubb-g);
  font:
    700
    clamp(42px,4.7vw,62px)
    /1.02
    "Manrope",
    Arial,
    sans-serif!important;
  letter-spacing:-.055em!important;
}

.ubb-details-intro h2 span{
  color:var(--ubb-gold);
}

.ubb-details-intro p{
  margin:0;
  color:var(--ubb-muted);
  font-size:15px;
  line-height:1.8;
}

.ubb-details-accordion{
  border-top:1px solid var(--ubb-line);
}

.ubb-detail-item{
  border-bottom:1px solid var(--ubb-line);
}

.ubb-detail-button,
.ubb-detail-button:hover,
.ubb-detail-button:focus,
.ubb-detail-button:active{
  width:100%;
  padding:20px 3px;
  border:0!important;
  background:transparent!important;
  color:var(--ubb-g)!important;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  text-align:left;
  cursor:pointer;
  font-size:14px;
  font-weight:800;
  box-shadow:none!important;
  outline:none!important;
  appearance:none;
  -webkit-appearance:none;
}

.ubb-detail-button:hover{
  color:var(--ubb-gold)!important;
}

.ubb-detail-button b{
  width:30px;
  height:30px;
  min-width:30px;
  border-radius:50%;
  border:1px solid rgba(208,154,34,.35);
  display:grid;
  place-items:center;
  color:var(--ubb-gold);
  background:transparent!important;
  font-size:19px;
  line-height:1;
  font-weight:400;
  transition:.3s ease;
}

.ubb-detail-item.is-open .ubb-detail-button b{
  transform:rotate(45deg);
  background:var(--ubb-gold)!important;
  color:#fff!important;
  border-color:var(--ubb-gold);
}

.ubb-detail-content{
  display:grid;
  grid-template-rows:0fr;
  transition:grid-template-rows .4s ease;
}

.ubb-detail-content>div{
  overflow:hidden;
  padding:0 42px 20px 3px;
}

.ubb-detail-content p,
.ubb-detail-content li{
  color:var(--ubb-muted);
  font-size:14px;
  line-height:1.8;
}

/* Reviews */
.ubb-reviews-section{
  background:var(--ubb-cream);
}

.ubb-reviews-box{
  padding:30px;
  border:1px solid var(--ubb-line);
  border-radius:28px;
  background:#fff;
  box-shadow:var(--ubb-shadow);
}

.ubb-rating-summary{
  display:flex;
  align-items:center;
  gap:18px;
  padding-bottom:25px;
  border-bottom:1px solid var(--ubb-line);
}

.ubb-rating-summary>strong{
  color:var(--ubb-g);
  font:
    800
    48px/1
    "Manrope",
    sans-serif;
  letter-spacing:-.05em;
}

.ubb-rating-summary span{
  color:var(--ubb-muted);
  font-size:10px;
}

.ubb-review-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin:22px 0;
}

.ubb-review-card{
  padding:20px;
  border:1px solid var(--ubb-line);
  border-radius:18px;
  background:var(--ubb-soft);
}

.ubb-review-stars{
  margin-bottom:10px;
  color:var(--ubb-gold);
  font-size:12px;
  letter-spacing:.1em;
}

.ubb-review-card p{
  margin:0 0 14px;
  color:var(--ubb-muted);
  font-size:12px;
  line-height:1.7;
}

.ubb-review-card strong{
  color:var(--ubb-g);
  font-size:11px;
}

.ubb-no-reviews{
  padding:20px 0;
  color:var(--ubb-muted);
  font-size:12px;
}

/* Final */
.ubb-product-final{
  padding:90px 0;
  background:var(--ubb-g);
  color:#fff;
  text-align:center;
  position:relative;
  overflow:hidden;
}

.ubb-product-final::before,
.ubb-product-final::after{
  content:"";
  position:absolute;
  border-radius:50%;
  border:1px solid rgba(240,201,94,.1);
}

.ubb-product-final::before{
  width:500px;
  height:500px;
  left:-340px;
  top:-310px;
}

.ubb-product-final::after{
  width:380px;
  height:380px;
  right:-250px;
  bottom:-280px;
}

.ubb-product-final-inner{
  position:relative;
  z-index:2;
}

.ubb-product-final .ubb-section-eyebrow{
  color:var(--ubb-gold2);
  justify-content:center;
}

.ubb-product-final h2{
  max-width:820px;
  margin:17px auto 18px;
  color:#fff;
  font:
    700
    clamp(45px,5.5vw,73px)
    /.98
    "Manrope",
    Arial,
    sans-serif!important;
  letter-spacing:-.055em!important;
}

.ubb-product-final h2 span{
  color:var(--ubb-gold2);
}

.ubb-product-final p{
  max-width:640px;
  margin:0 auto 25px;
  color:rgba(255,255,255,.68);
  font-size:15px;
  line-height:1.8;
}

.ubb-disclaimer{
  margin-top:22px!important;
  font-size:9px!important;
  color:rgba(255,255,255,.4)!important;
}

/* Buttons */
.ubb-product-page .ubb-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:50px;
  padding:0 22px;
  border-radius:999px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.04em;
  border:1px solid transparent;
  transition:
    transform .3s ease,
    box-shadow .3s ease,
    background .3s ease,
    color .3s ease,
    border-color .3s ease;
}

.ubb-product-page .ubb-btn:hover{
  transform:translateY(-3px);
}

.ubb-btn-gold{
  background:linear-gradient(135deg,#B87B0C,#F0C95E);
  color:#132217!important;
  box-shadow:0 12px 25px rgba(208,154,34,.23);
}

.ubb-btn-gold:hover{
  background:linear-gradient(135deg,#C68B13,#F6D978);
  box-shadow:0 18px 35px rgba(208,154,34,.33);
}

.ubb-btn-outline{
  background:#fff;
  border-color:var(--ubb-line)!important;
  color:var(--ubb-g)!important;
}

.ubb-btn-outline:hover{
  background:#FCFAF2;
  border-color:rgba(208,154,34,.5)!important;
}

/* Responsive */
@media(max-width:1000px){
  .ubb-product-main-grid,
  .ubb-details-grid{
    grid-template-columns:1fr;
    gap:38px;
  }

  .ubb-product-summary{
    max-width:760px;
    margin:0 auto;
  }

  .ubb-product-hero{
    padding-top:45px;
  }

  .ubb-main-product-image{
    width:min(70%,400px);
  }

  .ubb-details-intro{
    position:static;
  }

  .ubb-benefits-grid{
    grid-template-columns:1fr 1fr;
  }

  .ubb-review-grid{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:680px){
  .ubb-product-container{
    width:min(100% - 28px,1180px);
  }

  .ubb-product-section{
    padding:64px 0;
  }

  .ubb-product-hero{
    padding:28px 0 48px;
  }

  .ubb-product-title{
    font-size:45px!important;
  }

  .ubb-product-main-image{
    min-height:390px;
    padding:22px;
    border-radius:25px;
  }

  .ubb-product-main-image::before{
    width:310px;
    height:310px;
  }

  .ubb-main-product-image{
    width:72%;
  }

  .ubb-product-thumb{
    width:61px;
    height:61px;
  }

  .ubb-purchase-box{
    padding:16px;
    border-radius:19px;
  }

  .ubb-cart-area form.cart,
  .ubb-cart-area .woocommerce-variation-add-to-cart,
  .ubb-cart-area .woocommerce-variation-add-to-cart-enabled{
    flex-direction:column;
    align-items:stretch;
  }

  .ubb-cart-area .quantity,
  .ubb-cart-area .quantity .qty{
    width:100%;
  }

  .ubb-cart-area .single_add_to_cart_button,
  .ubb-cart-area button.single_add_to_cart_button,
  .ubb-cart-area .button{
    width:100%!important;
  }

  .ubb-secure-row{
    flex-direction:column;
    gap:5px;
  }

  .ubb-product-highlights{
    grid-template-columns:1fr;
  }

  .ubb-trust-grid{
    grid-template-columns:1fr 1fr;
  }

  .ubb-trust-item{
    padding:14px 10px;
  }

  .ubb-trust-item strong{
    font-size:10px;
  }

  .ubb-trust-item span{
    font-size:8px;
  }

  .ubb-product-section-head h2,
  .ubb-details-intro h2{
    font-size:43px!important;
  }

  .ubb-product-section-head p,
  .ubb-details-intro p{
    font-size:14px;
  }

  .ubb-benefits-grid{
    grid-template-columns:1fr;
  }

  .ubb-benefit-card{
    min-height:205px;
  }

  .ubb-detail-button{
    padding:18px 2px;
    font-size:13px;
  }

  .ubb-detail-content>div{
    padding:0 30px 18px 2px;
  }

  .ubb-detail-content p,
  .ubb-detail-content li{
    font-size:13px;
  }

  .ubb-reviews-box{
    padding:20px;
    border-radius:23px;
  }

  .ubb-review-grid{
    grid-template-columns:1fr;
  }

  .ubb-product-final{
    padding:70px 0;
  }

  .ubb-product-final h2{
    font-size:43px!important;
  }

  .ubb-product-final p{
    font-size:14px;
  }

  .ubb-product-page .ubb-btn{
    width:100%;
  }
}

@media(prefers-reduced-motion:reduce){
  .ubb-product-page *,
  .ubb-product-page *::before,
  .ubb-product-page *::after{
    animation:none!important;
    transition:none!important;
  }
}
