/*
 * SOLAR ONE — PRODUCT PAGE PREMIUM V5
 * OpenCart 3.0.3.8 + Journal3
 * Replaces V4. Load only this file.
 */

.route-product-product:not(.popup){
  --so-blue:#0C43BE;
  --so-blue-dark:#083795;
  --so-text:#172A4B;
  --so-muted:#71809A;
  --so-line:#DDE6F2;
  --so-soft:#F7FAFF;
  --so-white:#FFF;
}

/* ===== DESKTOP: gallery left / information right ===== */
@media (min-width:1025px){
  .route-product-product:not(.popup) .product-info{
    display:flex!important;
    flex-flow:row nowrap!important;
    align-items:flex-start!important;
    gap:26px!important;
    width:100%!important;
  }
  .route-product-product:not(.popup) .product-info>.product-left{
    flex:0 0 43%!important;
    width:43%!important;
    max-width:43%!important;
    min-width:0!important;
    float:none!important;
    margin:0!important;
  }
  .route-product-product:not(.popup) .product-info>.product-right{
    flex:1 1 57%!important;
    width:auto!important;
    max-width:none!important;
    min-width:0!important;
    float:none!important;
    margin:0!important;
    padding:0!important;
  }
}

/* ===== GALLERY ===== */
.route-product-product:not(.popup) .product-left .product-image{
  width:100%;
  margin:0!important;
  padding:12px!important;
  box-sizing:border-box;
  background:#fff;
  border:1px solid var(--so-line);
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 6px 22px rgba(20,45,85,.035);
}
.route-product-product:not(.popup) .product-left .main-image{
  border-radius:12px;
  overflow:hidden;
  background:#fff;
}
.route-product-product:not(.popup) .product-left .additional-images{gap:8px!important}
.route-product-product:not(.popup) .product-left .additional-image img{
  border:1px solid var(--so-line)!important;
  border-radius:9px!important;
  background:#fff!important;
}
.route-product-product:not(.popup) .product-left .additional-image:hover img{
  border-color:var(--so-blue)!important;
}

/* ===== ONE RIGHT-HAND CARD ===== */
.route-product-product:not(.popup) .product-right #product.product-details{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:0!important;
  width:100%!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  background:#fff!important;
  border:1px solid var(--so-line)!important;
  border-radius:16px!important;
  box-shadow:0 6px 22px rgba(20,45,85,.035)!important;
  overflow:hidden!important;
}
.route-product-product:not(.popup) .product-right #product>.page-title{display:none!important}

/* native order */
.route-product-product:not(.popup) .product-right #product>.blocks-top{order:10!important}
.route-product-product:not(.popup) .product-right #product>.product-stats{order:20!important}
.route-product-product:not(.popup) .product-right #product>.rating-page{order:30!important}
.route-product-product:not(.popup) .product-right #product>.product-price-group{order:40!important}
.route-product-product:not(.popup) .product-right #product>.product-options{order:45!important}
.route-product-product:not(.popup) .product-right #product>.button-group-page{order:60!important}
.route-product-product:not(.popup) .product-right #product>.blocks-bottom{order:70!important}
.route-product-product:not(.popup) .product-right #product>.so-v5-benefits{order:80!important}

/* ===== PROMO BLOCKS — COMPACT ===== */
.route-product-product:not(.popup) .product-right .blocks-top{
  width:100%!important;
  margin:0!important;
  padding:14px 14px 8px!important;
}
.route-product-product:not(.popup) .product-right .blocks-top .grid-rows,
.route-product-product:not(.popup) .product-right .blocks-top .grid-row,
.route-product-product:not(.popup) .product-right .blocks-top .grid-cols,
.route-product-product:not(.popup) .product-right .blocks-top .grid-col,
.route-product-product:not(.popup) .product-right .blocks-top .grid-items,
.route-product-product:not(.popup) .product-right .blocks-top .grid-item,
.route-product-product:not(.popup) .product-right .blocks-top .module,
.route-product-product:not(.popup) .product-right .blocks-top .module-body,
.route-product-product:not(.popup) .product-right .blocks-top .module-item{
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  box-sizing:border-box!important;
}
.route-product-product:not(.popup) .product-right .blocks-top .grid-items{
  display:flex!important;
  flex-direction:column!important;
  gap:7px!important;
}
.route-product-product:not(.popup) .product-right .blocks-top .grid-item{
  flex:0 0 auto!important;
}
.route-product-product:not(.popup) .product-right .blocks-top .info-block{
  display:flex!important;
  align-items:flex-start!important;
  width:100%!important;
  min-height:0!important;
  margin:0!important;
  padding:10px 12px!important;
  background:#F7FAFF!important;
  border:1px solid #D7E4F7!important;
  border-radius:10px!important;
  box-shadow:none!important;
}
.route-product-product:not(.popup) .product-right .blocks-top .info-block-title{
  color:#10377F!important;
  font-size:12px!important;
  line-height:1.35!important;
  font-weight:750!important;
  text-transform:none!important;
  letter-spacing:0!important;
}
.route-product-product:not(.popup) .product-right .blocks-top .info-block-text{
  margin-top:2px!important;
  color:#6980A5!important;
  font-size:11px!important;
  line-height:1.4!important;
}

/* ===== MODEL + BRAND — remove empty vertical space ===== */
.route-product-product:not(.popup) .product-right .product-stats{
  display:flex!important;
  flex-flow:row nowrap!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  width:auto!important;
  min-height:0!important;
  margin:0 14px!important;
  padding:7px 0 9px!important;
  border-bottom:1px solid var(--so-line)!important;
}
.route-product-product:not(.popup) .product-right .product-stats ul{
  flex:1 1 auto!important;
  width:auto!important;
  margin:0!important;
  padding:0!important;
}
.route-product-product:not(.popup) .product-right .product-stats li{
  margin:0!important;
  padding:0!important;
  color:var(--so-muted)!important;
  font-size:11px!important;
  line-height:1.45!important;
}
.route-product-product:not(.popup) .product-right .product-stats li b{
  color:var(--so-text)!important;
  font-weight:750!important;
}
.route-product-product:not(.popup) .product-right .brand-image.product-manufacturer{
  flex:0 0 auto!important;
  width:auto!important;
  margin:0!important;
  padding:0!important;
}
.route-product-product:not(.popup) .product-right .brand-image.product-manufacturer a{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:64px!important;
  margin:0!important;
  padding:5px 7px!important;
  background:#fff!important;
  border:1px solid var(--so-line)!important;
  border-radius:9px!important;
  text-decoration:none!important;
}
.route-product-product:not(.popup) .product-right .brand-image.product-manufacturer img{
  display:block!important;
  max-width:50px!important;
  max-height:40px!important;
  width:auto!important;
  height:auto!important;
}

/* ===== RATING ===== */
.route-product-product:not(.popup) .product-right .rating.rating-page{
  display:flex!important;
  align-items:center!important;
  width:auto!important;
  min-height:0!important;
  margin:0 14px!important;
  padding:8px 0!important;
  border-bottom:1px solid var(--so-line)!important;
}
.route-product-product:not(.popup) .product-right .review-links,
.route-product-product:not(.popup) .product-right .review-links a{
  color:#7787A1!important;
  font-size:11px!important;
}

/* ===== PRICE ===== */
.route-product-product:not(.popup) .product-right .product-price-group{
  width:100%!important;
  margin:0!important;
  padding:12px 14px 9px!important;
}
.route-product-product:not(.popup) .product-right .price-group{
  display:flex!important;
  flex-flow:row wrap!important;
  align-items:baseline!important;
  gap:6px 17px!important;
}
.route-product-product:not(.popup) .product-right .product-price-new{order:-1!important}
.route-product-product:not(.popup) .product-right .product-price-new,
.route-product-product:not(.popup) .product-right .price-new-live{
  color:var(--so-blue)!important;
  font-size:30px!important;
  line-height:1.05!important;
  font-weight:800!important;
  letter-spacing:-.035em!important;
}
.route-product-product:not(.popup) .product-right .product-price-old,
.route-product-product:not(.popup) .product-right .price-old-live{
  color:#8D99AB!important;
  font-size:16px!important;
  font-weight:500!important;
}
.route-product-product:not(.popup) .product-right .product-tax{
  display:block!important;
  margin-top:5px!important;
  color:#76849A!important;
  font-size:11px!important;
}
.route-product-product:not(.popup) .product-right .product-tax span{
  color:var(--so-text)!important;
  font-weight:750!important;
}

/* ===== OPTIONS ===== */
.route-product-product:not(.popup) .product-right .product-options{
  width:100%!important;
  margin:0!important;
  padding:0 14px 9px!important;
}

/* ===== TBI =====
   Intentionally untouched: Journal3 / TBI native styling is preserved.
*/

/* ===== CART ROW ===== */
.route-product-product:not(.popup) .product-right .button-group-page{
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  margin:0!important;
  padding:0 14px 9px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.route-product-product:not(.popup) .product-right .button-group-page .buttons-wrapper{
  display:flex!important;
  flex-flow:row nowrap!important;
  align-items:stretch!important;
  width:100%!important;
  gap:7px!important;
  margin:0!important;
}
.route-product-product:not(.popup) .product-right .stepper-group.cart-group{
  display:flex!important;
  flex:1 1 auto!important;
  flex-flow:row nowrap!important;
  align-items:stretch!important;
  gap:7px!important;
  width:auto!important;
}
.route-product-product:not(.popup) .product-right .stepper{
  flex:0 0 60px!important;
  width:60px!important;
  min-width:60px!important;
  height:46px!important;
  border:1px solid var(--so-line)!important;
  border-radius:9px!important;
  overflow:hidden!important;
  background:#fff!important;
}
.route-product-product:not(.popup) .product-right .stepper input{
  height:44px!important;
  border:0!important;
  box-shadow:none!important;
}
.route-product-product:not(.popup) .product-right #button-cart{
  /* Allow Journal to hide this button for products with a zero price. */
  display:flex;
  align-items:center!important;
  justify-content:center!important;
  flex:1 1 auto!important;
  width:auto!important;
  min-height:46px!important;
  height:46px!important;
  margin:0!important;
  padding:0 18px!important;
  color:#fff!important;
  background:var(--so-blue)!important;
  border:1px solid var(--so-blue)!important;
  border-radius:9px!important;
  box-shadow:0 6px 16px rgba(12,67,190,.16)!important;
  font-size:11px!important;
  font-weight:750!important;
}
.route-product-product:not(.popup) .product-right #button-cart:hover{
  background:var(--so-blue-dark)!important;
  border-color:var(--so-blue-dark)!important;
}
.route-product-product:not(.popup) .product-right .wishlist-compare{
  display:flex!important;
  flex:0 0 auto!important;
  flex-flow:row nowrap!important;
  gap:6px!important;
  width:auto!important;
  margin:0!important;
}
.route-product-product:not(.popup) .product-right .wishlist-compare .btn{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 46px!important;
  width:46px!important;
  min-width:46px!important;
  height:46px!important;
  margin:0!important;
  padding:0!important;
  color:var(--so-blue)!important;
  background:#fff!important;
  border:1px solid var(--so-line)!important;
  border-radius:9px!important;
  box-shadow:none!important;
}

/* ===== ASK PRODUCT + B2B: FORCE INSIDE CARD ===== */
.route-product-product:not(.popup) .product-right .blocks-bottom{
  width:100%!important;
  margin:0!important;
  padding:0 14px 10px!important;
}
.route-product-product:not(.popup) .product-right .blocks-bottom .grid-rows,
.route-product-product:not(.popup) .product-right .blocks-bottom .grid-row,
.route-product-product:not(.popup) .product-right .blocks-bottom .grid-cols,
.route-product-product:not(.popup) .product-right .blocks-bottom .grid-col{
  width:100%!important;
  max-width:100%!important;
  min-height:0!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
}
.route-product-product:not(.popup) .product-right .blocks-bottom .grid-items{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  align-items:stretch!important;
  gap:7px!important;
  width:100%!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
}
.route-product-product:not(.popup) .product-right .blocks-bottom .grid-item{
  position:relative!important;
  inset:auto!important;
  float:none!important;
  width:auto!important;
  max-width:none!important;
  min-height:0!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
}
.route-product-product:not(.popup) .product-right .blocks-bottom .title-module{
  display:none!important;
}
.route-product-product:not(.popup) .product-right .blocks-bottom .grid-item:has(.title-module){
  display:none!important;
}
.route-product-product:not(.popup) .product-right .blocks-bottom .module-button{
  width:100%!important;
  margin:0!important;
  padding:0!important;
}
.route-product-product:not(.popup) .product-right .blocks-bottom .module-button .btn{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:43px!important;
  margin:0!important;
  padding:8px 10px!important;
  color:var(--so-blue)!important;
  background:#fff!important;
  border:1px solid #D6E2F3!important;
  border-radius:9px!important;
  box-shadow:none!important;
  font-size:10px!important;
  font-weight:750!important;
}
.route-product-product:not(.popup) .product-right .blocks-bottom .module-button .btn:hover{
  color:#fff!important;
  background:var(--so-blue)!important;
  border-color:var(--so-blue)!important;
}

/* ===== BENEFITS ADDED BY HELPER ===== */
.route-product-product:not(.popup) .product-right .so-v5-benefits{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:6px!important;
  width:auto!important;
  margin:0 14px 14px!important;
  padding-top:10px!important;
  border-top:1px solid var(--so-line)!important;
}
.route-product-product:not(.popup) .so-v5-benefit{
  display:flex;
  align-items:center;
  gap:6px;
  min-width:0;
  padding:8px 6px;
  background:var(--so-soft);
  border:1px solid #E8EEF7;
  border-radius:8px;
}
.route-product-product:not(.popup) .so-v5-benefit-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 25px;
  width:25px;
  height:25px;
  color:var(--so-blue);
  background:#EDF4FF;
  border-radius:50%;
  font-size:13px;
  font-weight:800;
}
.route-product-product:not(.popup) .so-v5-benefit-copy{
  min-width:0;
  line-height:1.15;
}
.route-product-product:not(.popup) .so-v5-benefit-copy strong{
  display:block;
  color:var(--so-text);
  font-size:9px;
  font-weight:750;
}
.route-product-product:not(.popup) .so-v5-benefit-copy span{
  display:block;
  margin-top:2px;
  color:#8491A5;
  font-size:8px;
}

/* ===== TABS ===== */
.route-product-product:not(.popup) .blocks-default .tabs-container.product_tabs{
  margin-top:22px!important;
  background:#fff;
  border:1px solid var(--so-line);
  border-radius:14px;
  overflow:hidden;
}
.route-product-product:not(.popup) .blocks-default .product_tabs .nav-tabs{
  display:flex;
  flex-wrap:wrap;
  margin:0!important;
  padding:0 14px;
  border:0!important;
  border-bottom:1px solid var(--so-line)!important;
}
.route-product-product:not(.popup) .blocks-default .product_tabs .nav-tabs>li>a{
  position:relative;
  margin:0!important;
  padding:14px!important;
  border:0!important;
  background:transparent!important;
  color:var(--so-muted)!important;
  font-size:11px!important;
  font-weight:700!important;
}
.route-product-product:not(.popup) .blocks-default .product_tabs .nav-tabs>li.active>a{
  color:var(--so-blue)!important;
}
.route-product-product:not(.popup) .blocks-default .product_tabs .nav-tabs>li.active>a:after{
  content:"";
  position:absolute;
  left:14px;right:14px;bottom:-1px;
  height:3px;
  background:var(--so-blue);
  border-radius:3px 3px 0 0;
}
.route-product-product:not(.popup) .blocks-default .product_tabs .tab-content{
  padding:20px!important;
}

/* ===== RESPONSIVE ===== */
@media (max-width:1250px) and (min-width:1025px){
  .route-product-product:not(.popup) .product-info>.product-left{
    flex-basis:41%!important;width:41%!important;max-width:41%!important;
  }
  .route-product-product:not(.popup) .product-right .so-v5-benefits{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media (max-width:1024px){
  .route-product-product:not(.popup) .product-info{display:block!important}
  .route-product-product:not(.popup) .product-info>.product-left,
  .route-product-product:not(.popup) .product-info>.product-right{
    width:100%!important;max-width:100%!important;float:none!important;margin:0!important;
  }
  .route-product-product:not(.popup) .product-info>.product-right{margin-top:16px!important}
  .route-product-product:not(.popup) .product-right .so-v5-benefits{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media (max-width:600px){
  .route-product-product:not(.popup) .product-right .product-price-new,
  .route-product-product:not(.popup) .product-right .price-new-live{font-size:27px!important}
  .route-product-product:not(.popup) .product-right .button-group-page .buttons-wrapper{flex-wrap:wrap!important}
  .route-product-product:not(.popup) .product-right .stepper-group.cart-group{flex:1 1 100%!important}
  .route-product-product:not(.popup) .product-right .wishlist-compare{width:100%!important}
  .route-product-product:not(.popup) .product-right .wishlist-compare .btn{
    flex:1 1 50%!important;width:auto!important;
  }
  .route-product-product:not(.popup) .product-right .blocks-bottom .grid-items{
    grid-template-columns:1fr!important;
  }
  .route-product-product:not(.popup) .product-right .so-v5-benefits{
    grid-template-columns:1fr 1fr!important;
  }
}


/* ==========================================================
   SOLAR ONE V5.3 — SAFE ALIGNMENT / TBI FIX
   - all promo info blocks share exactly the same left/right axis
   - normal price and discounted price use the same strong sizing
   - TBI internals are completely untouched
   - only the OUTER TBI container gets horizontal auto margins
   ========================================================== */

/* ---------- PROMO AREA: ONE COMMON AXIS ---------- */
.route-product-product:not(.popup)
.product-right #product.product-details > .blocks-top{
  width:auto!important;
  margin:0 14px!important;
  padding:14px 0 8px!important;
}

/* Journal3 can add module-specific padding/margins at several nesting levels.
   Zero only horizontal spacing on wrappers so EVERY info-block has identical width. */
.route-product-product:not(.popup) .product-right .blocks-top .product-blocks-top,
.route-product-product:not(.popup) .product-right .blocks-top .grid-row,
.route-product-product:not(.popup) .product-right .blocks-top .grid-cols,
.route-product-product:not(.popup) .product-right .blocks-top .grid-col,
.route-product-product:not(.popup) .product-right .blocks-top .grid-items,
.route-product-product:not(.popup) .product-right .blocks-top .grid-item,
.route-product-product:not(.popup) .product-right .blocks-top .module,
.route-product-product:not(.popup) .product-right .blocks-top .module-body,
.route-product-product:not(.popup) .product-right .blocks-top .module-item,
.route-product-product:not(.popup) .product-right .blocks-top .info-blocks{
  width:100%!important;
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
  box-sizing:border-box!important;
}

.route-product-product:not(.popup) .product-right .blocks-top .product-blocks-top{
  margin-top:0!important;
  margin-bottom:7px!important;
}
.route-product-product:not(.popup) .product-right .blocks-top .product-blocks-top:last-child{
  margin-bottom:0!important;
}

/* Some modules contain 2+ info blocks in the same module-body. */
.route-product-product:not(.popup) .product-right .blocks-top .module-body{
  display:flex!important;
  flex-direction:column!important;
  gap:7px!important;
}

.route-product-product:not(.popup) .product-right .blocks-top .info-block{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  box-sizing:border-box!important;
}

/* ---------- MODEL / BRAND + RATING + PRICE: SAME AXIS ---------- */
.route-product-product:not(.popup)
.product-right #product.product-details > .product-stats,
.route-product-product:not(.popup)
.product-right #product.product-details > .rating.rating-page,
.route-product-product:not(.popup)
.product-right #product.product-details > .product-price-group{
  width:auto!important;
  margin-left:14px!important;
  margin-right:14px!important;
  box-sizing:border-box!important;
}

.route-product-product:not(.popup)
.product-right #product.product-details > .product-stats{
  padding:8px 0 9px!important;
}

.route-product-product:not(.popup)
.product-right #product.product-details > .rating.rating-page{
  padding:8px 0!important;
}

.route-product-product:not(.popup)
.product-right #product.product-details > .product-price-group{
  padding:14px 0 10px!important;
}

/* ---------- PRICE: NORMAL + PROMOTIONAL ---------- */
/* Journal3 uses .product-price for a normal price and .product-price-new when discounted. */
.route-product-product:not(.popup) .product-right .product-price,
.route-product-product:not(.popup) .product-right .product-price-new,
.route-product-product:not(.popup) .product-right .price-new-live{
  color:var(--so-blue)!important;
  font-size:30px!important;
  line-height:1.08!important;
  font-weight:800!important;
  letter-spacing:-.03em!important;
}

.route-product-product:not(.popup) .product-right .product-price-old,
.route-product-product:not(.popup) .product-right .price-old-live{
  font-size:16px!important;
}

/* ---------- MOBILE ---------- */
@media (max-width:600px){
  .route-product-product:not(.popup)
  .product-right #product.product-details > .blocks-top,
  .route-product-product:not(.popup)
  .product-right #product.product-details > .product-stats,
  .route-product-product:not(.popup)
  .product-right #product.product-details > .rating.rating-page,
  .route-product-product:not(.popup)
  .product-right #product.product-details > .product-price-group{
    margin-left:12px!important;
    margin-right:12px!important;
  }

  .route-product-product:not(.popup) .product-right .product-price,
  .route-product-product:not(.popup) .product-right .product-price-new,
  .route-product-product:not(.popup) .product-right .price-new-live{
    font-size:27px!important;
  }
}


/* ==========================================================
   SOLAR ONE V5.4 — TBI INTERACTION + STRONGER PRICE
   ========================================================== */

/* IMPORTANT:
   TBI can create/show interactive content outside its initial box.
   Do not clip descendants of the product panel. */
.route-product-product:not(.popup)
.product-right #product.product-details{
  overflow:hidden!important;
}

/* Preserve the rounded-card appearance while allowing TBI overlays/popups. */


/* PRICE — stronger visual hierarchy for BOTH normal and discounted products */
.route-product-product:not(.popup) .product-right .product-price,
.route-product-product:not(.popup) .product-right .product-price-new,
.route-product-product:not(.popup) .product-right .price-new-live{
  color:#0C43BE!important;
  font-size:36px!important;
  line-height:1!important;
  font-weight:800!important;
  letter-spacing:-.04em!important;
}

/* Old price remains clearly secondary */
.route-product-product:not(.popup) .product-right .product-price-old,
.route-product-product:not(.popup) .product-right .price-old-live{
  color:#8B97AA!important;
  font-size:17px!important;
  line-height:1.2!important;
  font-weight:500!important;
}

/* VAT line remains readable below the price */
.route-product-product:not(.popup) .product-right .product-tax{
  margin-top:7px!important;
  font-size:12px!important;
  line-height:1.35!important;
}

@media (max-width:600px){
  .route-product-product:not(.popup) .product-right .product-price,
  .route-product-product:not(.popup) .product-right .product-price-new,
  .route-product-product:not(.popup) .product-right .price-new-live{
    font-size:31px!important;
  }
}


/* ==========================================================
   SOLAR ONE V5.5 — PRICE EMPHASIS
   TBI is deliberately NOT targeted anywhere in this patch.
   ========================================================== */
.route-product-product:not(.popup) .product-right .product-price,
.route-product-product:not(.popup) .product-right .product-price-new,
.route-product-product:not(.popup) .product-right .price-new-live{
  color:#0C43BE!important;
  font-size:42px!important;
  line-height:1!important;
  font-weight:850!important;
  letter-spacing:-.045em!important;
}

.route-product-product:not(.popup) .product-right .product-price-old,
.route-product-product:not(.popup) .product-right .price-old-live{
  color:#8B97AA!important;
  font-size:18px!important;
  line-height:1.2!important;
  font-weight:500!important;
}

.route-product-product:not(.popup) .product-right .product-tax{
  margin-top:8px!important;
  font-size:12px!important;
}

@media (max-width:600px){
  .route-product-product:not(.popup) .product-right .product-price,
  .route-product-product:not(.popup) .product-right .product-price-new,
  .route-product-product:not(.popup) .product-right .price-new-live{
    font-size:34px!important;
  }
}


/* ==========================================================
   SOLAR ONE V5.6 — TBI CENTER ONLY + LARGE BLACK SALE PRICE
   ========================================================== */

/* TBI: ONLY center the outer wrapper.
   Do not touch any TBI child, dimensions, border, background,
   position, transform, overflow or pointer events. */
.route-product-product:not(.popup)
.product-right #product.product-details > [id^="tbibank_button_container"]{
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Main/current selling price — normal products AND discounted products */
.route-product-product:not(.popup) .product-right .product-price,
.route-product-product:not(.popup) .product-right .product-price-new,
.route-product-product:not(.popup) .product-right .price-new-live{
  color:#111111!important;
  font-size:42px!important;
  line-height:1!important;
  font-weight:850!important;
  letter-spacing:-.045em!important;
}

/* Previous/list price stays secondary */
.route-product-product:not(.popup) .product-right .product-price-old,
.route-product-product:not(.popup) .product-right .price-old-live{
  color:#8B97AA!important;
  font-size:18px!important;
  line-height:1.2!important;
  font-weight:500!important;
}

@media (max-width:600px){
  .route-product-product:not(.popup) .product-right .product-price,
  .route-product-product:not(.popup) .product-right .product-price-new,
  .route-product-product:not(.popup) .product-right .price-new-live{
    color:#111111!important;
    font-size:34px!important;
  }
}


/* ==========================================================
   SOLAR ONE V5.7 — SALE PRICE 2X
   ========================================================== */
.route-product-product:not(.popup) .product-right .product-price,
.route-product-product:not(.popup) .product-right .product-price-new,
.route-product-product:not(.popup) .product-right .price-new-live{
  color:#000000!important;
  font-size:84px!important;
  line-height:.95!important;
  font-weight:850!important;
  letter-spacing:-.055em!important;
}

@media (max-width:1024px){
  .route-product-product:not(.popup) .product-right .product-price,
  .route-product-product:not(.popup) .product-right .product-price-new,
  .route-product-product:not(.popup) .product-right .price-new-live{
    font-size:64px!important;
  }
}

@media (max-width:600px){
  .route-product-product:not(.popup) .product-right .product-price,
  .route-product-product:not(.popup) .product-right .product-price-new,
  .route-product-product:not(.popup) .product-right .price-new-live{
    font-size:52px!important;
  }
}


/* ==========================================================
   SOLAR ONE V5.8 — PROMO/INFO BLOCKS BELOW ADD TO CART
   Moves the entire native .blocks-top area, regardless of how
   many Journal3 info blocks it contains.
   ========================================================== */

/* Cart remains before the informational blocks */
.route-product-product:not(.popup)
.product-right #product.product-details > .button-group-page{
  order:60!important;
}

/* ALL Journal3 promo/info modules from the top area
   are moved immediately below Add to Cart. */
.route-product-product:not(.popup)
.product-right #product.product-details > .blocks-top{
  order:65!important;
  width:auto!important;
  margin:12px 14px 0!important;
  padding:0!important;
}

/* Keep any number of info blocks stacked cleanly */
.route-product-product:not(.popup)
.product-right .blocks-top .module-body{
  display:flex!important;
  flex-direction:column!important;
  gap:7px!important;
}

.route-product-product:not(.popup)
.product-right .blocks-top .product-blocks-top,
.route-product-product:not(.popup)
.product-right .blocks-top .grid-row,
.route-product-product:not(.popup)
.product-right .blocks-top .grid-cols,
.route-product-product:not(.popup)
.product-right .blocks-top .grid-col,
.route-product-product:not(.popup)
.product-right .blocks-top .grid-items,
.route-product-product:not(.popup)
.product-right .blocks-top .grid-item,
.route-product-product:not(.popup)
.product-right .blocks-top .module,
.route-product-product:not(.popup)
.product-right .blocks-top .module-body,
.route-product-product:not(.popup)
.product-right .blocks-top .module-item,
.route-product-product:not(.popup)
.product-right .blocks-top .info-blocks,
.route-product-product:not(.popup)
.product-right .blocks-top .info-block{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}

/* Existing lower product blocks continue after promo/info blocks */
.route-product-product:not(.popup)
.product-right #product.product-details > .blocks-bottom{
  order:70!important;
}

@media (max-width:600px){
  .route-product-product:not(.popup)
  .product-right #product.product-details > .blocks-top{
    margin:10px 12px 0!important;
  }
}


/* ==========================================================
   SOLAR ONE V5.9 — FINAL PRICE SIZE
   ========================================================== */

/* Current selling price: black, strong, premium */
.route-product-product:not(.popup) .product-right .product-price,
.route-product-product:not(.popup) .product-right .product-price-new,
.route-product-product:not(.popup) .product-right .price-new-live{
  color:#000000!important;
  font-size:56px!important;
  line-height:1!important;
  font-weight:800!important;
  letter-spacing:-.045em!important;
}

/* Old price remains secondary on discounted products */
.route-product-product:not(.popup) .product-right .product-price-old,
.route-product-product:not(.popup) .product-right .price-old-live{
  color:#8B97AA!important;
  font-size:18px!important;
  line-height:1.2!important;
  font-weight:500!important;
}

/* VAT / secondary price information */
.route-product-product:not(.popup) .product-right .product-tax{
  margin-top:8px!important;
  font-size:13px!important;
  line-height:1.35!important;
}

/* Tablet */
@media (max-width:1024px){
  .route-product-product:not(.popup) .product-right .product-price,
  .route-product-product:not(.popup) .product-right .product-price-new,
  .route-product-product:not(.popup) .product-right .price-new-live{
    font-size:44px!important;
  }
}

/* Mobile */
@media (max-width:600px){
  .route-product-product:not(.popup) .product-right .product-price,
  .route-product-product:not(.popup) .product-right .product-price-new,
  .route-product-product:not(.popup) .product-right .price-new-live{
    font-size:36px!important;
    letter-spacing:-.035em!important;
  }
}


/* ==========================================================
   SOLAR ONE V5.10 — PRICE TYPOGRAPHY FIX
   ========================================================== */

/* Price: remove negative tracking that was squeezing the digits */
.route-product-product:not(.popup) .product-right .product-price,
.route-product-product:not(.popup) .product-right .product-price-new,
.route-product-product:not(.popup) .product-right .price-new-live{
  color:#000000!important;
  font-size:54px!important;
  line-height:1.08!important;
  font-weight:800!important;
  letter-spacing:0!important;
  font-kerning:normal!important;
  font-variant-numeric:tabular-nums!important;
  white-space:nowrap!important;
}

/* Give the price row enough vertical room */
.route-product-product:not(.popup)
.product-right #product.product-details > .product-price-group{
  overflow:visible!important;
  min-height:64px!important;
}

/* Tablet */
@media (max-width:1024px){
  .route-product-product:not(.popup) .product-right .product-price,
  .route-product-product:not(.popup) .product-right .product-price-new,
  .route-product-product:not(.popup) .product-right .price-new-live{
    font-size:44px!important;
    letter-spacing:0!important;
  }

  .route-product-product:not(.popup)
  .product-right #product.product-details > .product-price-group{
    min-height:54px!important;
  }
}

/* Mobile */
@media (max-width:600px){
  .route-product-product:not(.popup) .product-right .product-price,
  .route-product-product:not(.popup) .product-right .product-price-new,
  .route-product-product:not(.popup) .product-right .price-new-live{
    font-size:36px!important;
    line-height:1.08!important;
    letter-spacing:0!important;
  }

  .route-product-product:not(.popup)
  .product-right #product.product-details > .product-price-group{
    min-height:44px!important;
  }
}


/* ==========================================================
   SOLAR ONE V5.11 — NORMAL PRICE vs SPECIAL PRICE
   Journal3 price structures are styled separately.
   ========================================================== */

/* ----------------------------------------------------------
   1. NORMAL PRICE — product WITHOUT special/old price
   Journal3: .product-price
   ---------------------------------------------------------- */
.route-product-product:not(.popup)
.product-right .product-price-group .product-price{
  color:#000000!important;
  font-size:54px!important;
  line-height:1.08!important;
  font-weight:800!important;
  letter-spacing:0!important;
  font-kerning:normal!important;
  font-variant-numeric:tabular-nums!important;
  white-space:nowrap!important;
}

/* ----------------------------------------------------------
   2. SPECIAL / CURRENT PRICE — discounted product
   Journal3: .product-price-new / .price-new-live
   Slightly smaller because old price is displayed beside it.
   ---------------------------------------------------------- */
.route-product-product:not(.popup)
.product-right .product-price-group .product-price-new,
.route-product-product:not(.popup)
.product-right .product-price-group .price-new-live{
  color:#000000!important;
  font-size:46px!important;
  line-height:1.08!important;
  font-weight:800!important;
  letter-spacing:0!important;
  font-kerning:normal!important;
  font-variant-numeric:tabular-nums!important;
  white-space:nowrap!important;
}

/* ----------------------------------------------------------
   3. OLD PRICE — discounted products only
   ---------------------------------------------------------- */
.route-product-product:not(.popup)
.product-right .product-price-group .product-price-old,
.route-product-product:not(.popup)
.product-right .product-price-group .price-old-live{
  color:#8B97AA!important;
  font-size:17px!important;
  line-height:1.2!important;
  font-weight:500!important;
  letter-spacing:0!important;
  text-decoration:line-through!important;
  white-space:nowrap!important;
}

/* Make the whole price group flexible enough for both structures */
.route-product-product:not(.popup)
.product-right #product.product-details > .product-price-group{
  overflow:visible!important;
  min-height:0!important;
}

/* TABLET */
@media (max-width:1024px){
  .route-product-product:not(.popup)
  .product-right .product-price-group .product-price{
    font-size:46px!important;
  }

  .route-product-product:not(.popup)
  .product-right .product-price-group .product-price-new,
  .route-product-product:not(.popup)
  .product-right .product-price-group .price-new-live{
    font-size:40px!important;
  }
}

/* MOBILE */
@media (max-width:600px){
  .route-product-product:not(.popup)
  .product-right .product-price-group .product-price{
    font-size:38px!important;
  }

  .route-product-product:not(.popup)
  .product-right .product-price-group .product-price-new,
  .route-product-product:not(.popup)
  .product-right .product-price-group .price-new-live{
    font-size:36px!important;
  }

  .route-product-product:not(.popup)
  .product-right .product-price-group .product-price-old,
  .route-product-product:not(.popup)
  .product-right .product-price-group .price-old-live{
    font-size:15px!important;
  }
}


/* ==========================================================
   SOLAR ONE V5.12 — CORRECT JOURNAL3 NORMAL/SPECIAL PRICE
   IMPORTANT:
   Journal3 uses .price-old-live even for the NORMAL price.
   Therefore .price-old-live alone must NEVER mean "old price".
   ========================================================== */

/* NORMAL PRICE
   Real markup example:
   .product-price > .price-old-live
   This is NOT an old/discounted price. */
.route-product-product:not(.popup)
.product-right .product-price-group .product-price:not(.product-price-old) > .price-old-live,
.route-product-product:not(.popup)
.product-right .product-price-group .product-price > .price-old-live{
  color:#000000!important;
  font-size:54px!important;
  line-height:1.08!important;
  font-weight:800!important;
  letter-spacing:0!important;
  font-kerning:normal!important;
  font-variant-numeric:tabular-nums!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}

/* SPECIAL / CURRENT SELLING PRICE */
.route-product-product:not(.popup)
.product-right .product-price-group .product-price-new,
.route-product-product:not(.popup)
.product-right .product-price-group .product-price-new .price-new-live{
  color:#000000!important;
  font-size:46px!important;
  line-height:1.08!important;
  font-weight:800!important;
  letter-spacing:0!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}

/* OLD PRICE ONLY when it is actually inside Journal3's
   .product-price-old wrapper. */
.route-product-product:not(.popup)
.product-right .product-price-group .product-price-old,
.route-product-product:not(.popup)
.product-right .product-price-group .product-price-old .price-old-live{
  color:#8B97AA!important;
  font-size:17px!important;
  line-height:1.2!important;
  font-weight:500!important;
  letter-spacing:0!important;
  text-decoration:line-through!important;
  white-space:nowrap!important;
}

/* TABLET */
@media (max-width:1024px){
  .route-product-product:not(.popup)
  .product-right .product-price-group .product-price:not(.product-price-old) > .price-old-live,
  .route-product-product:not(.popup)
  .product-right .product-price-group .product-price > .price-old-live{
    font-size:46px!important;
  }

  .route-product-product:not(.popup)
  .product-right .product-price-group .product-price-new,
  .route-product-product:not(.popup)
  .product-right .product-price-group .product-price-new .price-new-live{
    font-size:40px!important;
  }
}

/* MOBILE */
@media (max-width:600px){
  .route-product-product:not(.popup)
  .product-right .product-price-group .product-price:not(.product-price-old) > .price-old-live,
  .route-product-product:not(.popup)
  .product-right .product-price-group .product-price > .price-old-live{
    font-size:38px!important;
  }

  .route-product-product:not(.popup)
  .product-right .product-price-group .product-price-new,
  .route-product-product:not(.popup)
  .product-right .product-price-group .product-price-new .price-new-live{
    font-size:36px!important;
  }

  .route-product-product:not(.popup)
  .product-right .product-price-group .product-price-old,
  .route-product-product:not(.popup)
  .product-right .product-price-group .product-price-old .price-old-live{
    font-size:15px!important;
  }
}


/* ==========================================================
   SOLAR ONE V5.13 — BALANCED PRICE SIZE
   Keeps the corrected Journal3 normal/special price logic.
   ========================================================== */

/* NORMAL PRICE */
.route-product-product:not(.popup)
.product-right .product-price-group .product-price:not(.product-price-old) > .price-old-live,
.route-product-product:not(.popup)
.product-right .product-price-group .product-price > .price-old-live{
  color:#000000!important;
  font-size:42px!important;
  line-height:1.08!important;
  font-weight:800!important;
  letter-spacing:0!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}

/* SPECIAL / CURRENT PRICE */
.route-product-product:not(.popup)
.product-right .product-price-group .product-price-new,
.route-product-product:not(.popup)
.product-right .product-price-group .product-price-new .price-new-live{
  color:#000000!important;
  font-size:40px!important;
  line-height:1.08!important;
  font-weight:800!important;
  letter-spacing:0!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}

/* OLD PRICE */
.route-product-product:not(.popup)
.product-right .product-price-group .product-price-old,
.route-product-product:not(.popup)
.product-right .product-price-group .product-price-old .price-old-live{
  color:#8B97AA!important;
  font-size:17px!important;
  font-weight:500!important;
  text-decoration:line-through!important;
}

/* TABLET */
@media (max-width:1024px){
  .route-product-product:not(.popup)
  .product-right .product-price-group .product-price:not(.product-price-old) > .price-old-live,
  .route-product-product:not(.popup)
  .product-right .product-price-group .product-price > .price-old-live{
    font-size:38px!important;
  }

  .route-product-product:not(.popup)
  .product-right .product-price-group .product-price-new,
  .route-product-product:not(.popup)
  .product-right .product-price-group .product-price-new .price-new-live{
    font-size:36px!important;
  }
}

/* MOBILE */
@media (max-width:600px){
  .route-product-product:not(.popup)
  .product-right .product-price-group .product-price:not(.product-price-old) > .price-old-live,
  .route-product-product:not(.popup)
  .product-right .product-price-group .product-price > .price-old-live{
    font-size:32px!important;
  }

  .route-product-product:not(.popup)
  .product-right .product-price-group .product-price-new,
  .route-product-product:not(.popup)
  .product-right .product-price-group .product-price-new .price-new-live{
    font-size:32px!important;
  }

  .route-product-product:not(.popup)
  .product-right .product-price-group .product-price-old,
  .route-product-product:not(.popup)
  .product-right .product-price-group .product-price-old .price-old-live{
    font-size:15px!important;
  }
}


/* ==========================================================
   SOLAR ONE V5.14 — SOLAR ONE BLUE PRICE
   ========================================================== */

/* NORMAL PRICE */
.route-product-product:not(.popup)
.product-right .product-price-group .product-price:not(.product-price-old) > .price-old-live,
.route-product-product:not(.popup)
.product-right .product-price-group .product-price > .price-old-live{
  color:#0C43BE!important;
}

/* SPECIAL / CURRENT SELLING PRICE */
.route-product-product:not(.popup)
.product-right .product-price-group .product-price-new,
.route-product-product:not(.popup)
.product-right .product-price-group .product-price-new .price-new-live{
  color:#0C43BE!important;
}

/* OLD PRICE stays secondary */
.route-product-product:not(.popup)
.product-right .product-price-group .product-price-old,
.route-product-product:not(.popup)
.product-right .product-price-group .product-price-old .price-old-live{
  color:#8B97AA!important;
}


/* Mobile: keep purchase controls below the Journal header (z-index: 15).
   Overrides the theme's inherited z-index: 10000 without changing layout. */
html.mobile-header-active.route-product-product:not(.popup)
.product-info .product-right .button-group-page {
  z-index: 1 !important;
}

/* Preserve Journal's purchase restrictions when the product price is hidden. */
.route-product-product:not(.popup) .product-info.has-zero-price .product-right #button-cart,
.route-product-product:not(.popup) .product-info.has-zero-price .product-right .stepper-group.cart-group {
  display: none !important;
}


/* Equal spacing between product information cards, including separate modules. */
.route-product-product:not(.popup) .product-right #product.product-details > .blocks-top {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  margin-bottom: 14px !important;
}
.route-product-product:not(.popup) .product-right #product.product-details > .blocks-top > .product-blocks-top {
  margin: 0 !important;
}
.route-product-product:not(.popup) .product-right .blocks-top .module-body {
  gap: 12px !important;
}
.route-product-product:not(.popup) .product-right .blocks-top .module-body > .module-item {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
/* Remove the theme's extra vertical gutters around nested module wrappers. */
.route-product-product:not(.popup) .product-right #product.product-details > .blocks-top :is(.product-blocks-top, .grid-row, .grid-cols, .grid-col, .grid-items, .grid-item, .module, .module-body, .module-item) {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Current selling price: live_options also uses price-old-live for a regular price.
   Scope the rule to the current price, preserving crossed-out historical prices. */
html.route-product-product #product .product-price:not(.product-price-old),
html.route-product-product #product .product-price:not(.product-price-old) > .price-old-live,
html.route-product-product #product .product-price-new,
html.route-product-product #product .price-new-live {
  color: #0C43BE !important;
}
