/* ==========================================================================
   AlphaBuds BC — Redesign 2026 : Product page, cart, footer, global cleanup
   ========================================================================== */

/* --------------------------------------------------------------------------
   Homepage: our sections manage their own rhythm
   -------------------------------------------------------------------------- */
body.os-home #content,
body.os-home .page-wrapper{padding-top:0!important;padding-bottom:0!important;}
body.os-home .entry-content{padding:0;margin:0;}
body.os-home .page-wrapper > .row{max-width:none;padding:0;}

/* Legacy floating decorations that fight the new layout */
.os-floating-bg,
.shop-bottom-text{display:none!important;}

/* --------------------------------------------------------------------------
   Product detail page
   -------------------------------------------------------------------------- */
.single-product .product-title,
.product-main .product-title{
  font-size:clamp(1.5rem,2.6vw,2.1rem);font-weight:780;letter-spacing:-.03em;
  line-height:1.15;margin-bottom:10px;text-transform:none;
}
.single-product .product-main{padding-top:24px;}

/* Gallery */
.product-gallery .woocommerce-product-gallery__image img,
.product-images img{
  border-radius:var(--os-r-lg);
  background:var(--os-surface-2);
}
.product-thumbnails img{border-radius:var(--os-r-sm);}
.product-thumbnails .is-nav-selected img{outline:2px solid var(--os-green);outline-offset:1px;}

/* Price block */
.single-product .price,
.product-main .price{
  font-size:1.65rem;font-weight:780;color:var(--os-ink);letter-spacing:-.025em;
  display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;
}
.single-product .price del{font-size:1.05rem;font-weight:600;color:var(--os-muted);}
.single-product .price ins{text-decoration:none;color:var(--os-red);}

/* Rating row */
.single-product .woocommerce-product-rating{
  display:flex;align-items:center;gap:10px;margin-bottom:14px;
}

/* Add to cart */
.single-product form.cart .button,
.single-product .single_add_to_cart_button{
  min-height:54px;padding:16px 34px;border-radius:var(--os-r-pill);
  background:var(--os-green);border:0;color:#fff;
  font-size:1rem;font-weight:750;letter-spacing:0;text-transform:none;
  box-shadow:var(--os-sh-1);transition:background .16s ease,box-shadow .16s ease;
}
.single-product form.cart .button:hover{background:var(--os-green-600);box-shadow:var(--os-sh-2);}
.single-product form.cart .quantity input[type="number"]{
  height:54px;border:1.5px solid var(--os-line);border-radius:var(--os-r-pill);
  background:#fff;font-weight:700;font-size:1rem;box-shadow:none;
}

/* Trust strip under the buy box */
.os-pdp-trust{
  display:grid;grid-template-columns:repeat(2,1fr);gap:10px;
  margin:20px 0 0;padding:16px;border:1px solid var(--os-line);
  border-radius:var(--os-r);background:var(--os-surface-2);
}
.os-pdp-trust__i{display:flex;align-items:center;gap:10px;font-size:.84rem;font-weight:640;color:var(--os-ink-2);}
.os-pdp-trust__i svg{flex:none;color:var(--os-green);}
@media (max-width:480px){.os-pdp-trust{grid-template-columns:1fr;}}

/* Tabs */
.product-tabs{border-bottom:1px solid var(--os-line);}
.product-tabs > li > a{
  font-size:.92rem;font-weight:700;text-transform:none;letter-spacing:0;
  color:var(--os-muted);padding:14px 4px;
}
.product-tabs > li.active > a{color:var(--os-ink);border-bottom-color:var(--os-green);}
.product-footer .tab-panels{padding-top:22px;}

/* --------------------------------------------------------------------------
   Cart & checkout
   -------------------------------------------------------------------------- */
.woocommerce-cart-form table.shop_table,
.cart-collaterals table{
  border:1px solid var(--os-line);border-radius:var(--os-r-lg);overflow:hidden;
}
.woocommerce-cart-form th{
  background:var(--os-surface-2);font-size:.78rem;font-weight:750;
  text-transform:uppercase;letter-spacing:.05em;color:var(--os-muted);
}
.cart_totals h3,.cross-sells h2{font-size:1.15rem;font-weight:760;}
.checkout-button,
.wc-proceed-to-checkout .button{
  min-height:54px;border-radius:var(--os-r-pill);background:var(--os-green);
  font-size:1rem;font-weight:750;text-transform:none;letter-spacing:0;
}
.checkout-button:hover{background:var(--os-green-600);}

.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select,
.woocommerce-form input.input-text{
  height:50px;border:1.5px solid var(--os-line);border-radius:var(--os-r);
  background:#fff;padding:0 15px;font-size:.95rem;font-family:var(--os-font);
  box-shadow:none;color:var(--os-ink);
}
.woocommerce-checkout .form-row textarea{height:auto;padding:13px 15px;}
.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row select:focus{
  border-color:var(--os-green);box-shadow:0 0 0 4px rgba(23,117,60,.1);
}
.woocommerce-checkout label{font-size:.85rem;font-weight:650;color:var(--os-ink-2);}

/* Notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error{
  border-radius:var(--os-r);border:1px solid var(--os-line);
  background:var(--os-surface-2);color:var(--os-ink-2);
  font-size:.92rem;padding:15px 18px;
}
.woocommerce-message{background:var(--os-green-050);border-color:#bfe3cb;color:var(--os-green-700);}
.woocommerce-error{background:var(--os-red-050);border-color:#f0c4c1;color:#8a1c16;}

/* --------------------------------------------------------------------------
   Footer
   -------------------------------------------------------------------------- */
.footer-wrapper{background:var(--os-ink);}
#footer .footer-1,
#footer .footer-2{background:transparent;}
#footer,
#footer p,
#footer li,
#footer a{color:rgba(255,255,255,.72);font-size:.9rem;}
#footer a:hover{color:#fff;}
#footer h3,#footer .widget-title{
  color:#fff;font-size:.78rem;font-weight:750;letter-spacing:.07em;text-transform:uppercase;
  margin-bottom:14px;
}
.absolute-footer{background:transparent;border-top:1px solid rgba(255,255,255,.1);
  color:rgba(255,255,255,.5);font-size:.8rem;}

/* --------------------------------------------------------------------------
   Third-party widget placement — stop them colliding with the tab bar
   -------------------------------------------------------------------------- */
@media (max-width:1099px){
  .ivole-floating-widget,
  #cusrev_floating_widget,
  .wps_wpr_spin_wheel_tab{bottom:74px!important;}
}
#os-stg-ribbon{bottom:0;}
@media (max-width:1099px){#os-stg-ribbon{bottom:62px;}}

/* --------------------------------------------------------------------------
   Reduced motion
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:.01ms!important;animation-iteration-count:1!important;
    transition-duration:.01ms!important;scroll-behavior:auto!important;
  }
}

/* --------------------------------------------------------------------------
   Quantity stepper.
   Flatsome's .ux-quantity ships near-black (#1a1a1a shell, #222 buttons with
   #888 glyphs) which reads as disabled next to the new buy box.
   -------------------------------------------------------------------------- */
form.cart .ux-quantity,
.single-product .ux-quantity{
  background:#fff!important;
  border:1.5px solid var(--os-line);
  border-radius:var(--os-r-pill);
  overflow:hidden;
  height:54px;
}
.ux-quantity .ux-quantity__button{
  background:#fff!important;
  color:var(--os-ink)!important;
  border:0!important;border-radius:0!important;
  width:44px;height:100%;
  font-size:1.15rem;font-weight:700;box-shadow:none;
  transition:background .14s ease,color .14s ease;
}
.ux-quantity .ux-quantity__button:hover{
  background:var(--os-green-050)!important;color:var(--os-green)!important;
}
.ux-quantity input.qty,
.ux-quantity input[type="number"]{
  background:#fff!important;color:var(--os-ink)!important;
  border:0!important;box-shadow:none!important;
  height:100%;width:54px;text-align:center;
  font-weight:700;font-size:1rem;font-family:var(--os-font);
}

/* PDP breadcrumbs */
.os-pdp-crumbs{padding:18px 0 4px;}
.os-pdp-crumbs .os-crumbs{margin:0;}

/* --------------------------------------------------------------------------
   Product gallery (theme template, no flexslider)
   -------------------------------------------------------------------------- */
.woocommerce div.product div.images,
.woocommerce-product-gallery{opacity:1 !important;}

.os-gal{display:flex;flex-direction:column;gap:12px;}
.os-gal__stage{
  margin:0;background:#fff;border:1px solid var(--os-line);
  border-radius:var(--os-r-lg);overflow:hidden;
  aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;
}
.os-gal__main{width:100%;height:100%;object-fit:contain;padding:18px;display:block;}
.os-gal__thumbs{display:flex;gap:9px;flex-wrap:wrap;}
.os-gal__thumb{
  width:74px;height:74px;padding:4px;background:#fff;cursor:pointer;
  border:1.5px solid var(--os-line);border-radius:var(--os-r);
  transition:border-color .16s ease;
}
.os-gal__thumb img{width:100%;height:100%;object-fit:contain;display:block;}
.os-gal__thumb:hover{border-color:var(--os-leaf);}
.os-gal__thumb.is-on{border-color:var(--os-green);box-shadow:0 0 0 2px rgba(23,117,60,.14);}

/* --------------------------------------------------------------------------
   Single product layout (Woo default markup)
   -------------------------------------------------------------------------- */
.woocommerce div.product{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);
  gap:44px;align-items:start;padding-top:8px;}
.woocommerce div.product > .os-gal,
.woocommerce div.product div.images{grid-column:1;}
.woocommerce div.product .summary{grid-column:2;margin:0;width:auto;float:none;}
.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product .related,
.woocommerce div.product .up-sells,
.woocommerce div.product .product_meta{grid-column:1 / -1;}
@media (max-width:900px){
  .woocommerce div.product{grid-template-columns:1fr;gap:24px;}
  .woocommerce div.product .summary{grid-column:1;}
}

.woocommerce div.product .product_title{
  font-size:clamp(1.5rem,2.6vw,2.15rem);font-weight:790;letter-spacing:-.03em;
  line-height:1.15;margin:0 0 10px;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price{
  color:var(--os-ink);font-size:1.55rem;font-weight:780;letter-spacing:-.025em;
  margin:0 0 16px;
}
.woocommerce div.product p.price del{color:var(--os-muted);font-size:1rem;font-weight:600;}
.woocommerce div.product p.price ins{text-decoration:none;color:var(--os-red);}

/* Quantity + add to cart (Woo default markup) */
.woocommerce div.product form.cart{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 6px;}
.woocommerce .quantity{display:inline-flex;align-items:center;}
.woocommerce .quantity input.qty{
  width:78px;height:54px;text-align:center;
  background:#fff !important;color:var(--os-ink) !important;
  border:1.5px solid var(--os-line) !important;border-radius:var(--os-r-pill) !important;
  font-weight:700;font-size:1rem;font-family:var(--os-font);box-shadow:none !important;
}
.woocommerce div.product form.cart .button,
.woocommerce div.product .single_add_to_cart_button{
  min-height:54px;padding:16px 34px;border-radius:var(--os-r-pill);
  background:var(--os-green);border:0;color:#fff;
  font-size:1rem;font-weight:750;letter-spacing:0;text-transform:none;
  box-shadow:var(--os-sh-1);
}
.woocommerce div.product form.cart .button:hover{background:var(--os-green-600);}

/* Tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs{
  padding:0;margin:36px 0 0;border-bottom:1px solid var(--os-line);display:flex;gap:4px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{display:none;}
.woocommerce div.product .woocommerce-tabs ul.tabs li{
  background:transparent;border:0;border-radius:0;margin:0;padding:0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none;}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  display:block;padding:14px 16px;color:var(--os-muted);font-weight:700;font-size:.95rem;
  border-bottom:2px solid transparent;text-decoration:none;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{
  color:var(--os-ink);border-bottom-color:var(--os-green);
}
.woocommerce div.product .woocommerce-tabs .panel{padding-top:20px;}
.woocommerce div.product .woocommerce-tabs h2{font-size:1.2rem;}

.woocommerce div.product .product_meta{
  font-size:.86rem;color:var(--os-muted);border-top:1px solid var(--os-line);
  padding-top:14px;margin-top:18px;
}

.woocommerce .related > h2,
.woocommerce .up-sells > h2{font-size:1.35rem;font-weight:770;margin:40px 0 18px;}
