/* Suncoast final engineering pass — shared checkout, cart, and product-art systems. */

/* CHECKOUT: one reliable scroll path lives inside the iframe document root. */
.sc-checkout-drawer{
  display:flex!important;
  flex-direction:column!important;
  height:100dvh!important;
  max-height:100dvh!important;
  overflow:hidden!important
}
.sc-checkout-drawer-head{flex:0 0 auto!important}
.sc-checkout-frame-wrap{
  position:relative!important;
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:hidden!important
}
.sc-checkout-frame-wrap iframe{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  border:0!important
}
html:has(body.sc-embedded-checkout){
  height:auto!important;
  min-height:100%!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior-y:contain!important;
  -webkit-overflow-scrolling:touch!important
}
body.sc-embedded-checkout{
  height:auto!important;
  min-height:100%!important;
  overflow:visible!important
}

/* CHECKOUT FIELDS: one consistent label model, no competing empty/filled offsets. */
body.sc-embedded-checkout .wc-block-components-text-input{
  position:relative!important;
  min-height:50px!important;
  margin:0!important
}
body.sc-embedded-checkout .wc-block-components-text-input input,
body.sc-embedded-checkout .wc-block-components-text-input textarea{
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  min-height:50px!important;
  padding:17px 13px 5px!important;
  border-radius:10px!important;
  font-size:16px!important;
  line-height:1.2!important
}
body.sc-embedded-checkout .wc-block-components-text-input label{
  position:absolute!important;
  top:6px!important;
  left:13px!important;
  transform:none!important;
  margin:0!important;
  padding:0!important;
  font-size:.61rem!important;
  line-height:1!important;
  font-weight:750!important;
  color:#526579!important;
  pointer-events:none!important
}
body.sc-embedded-checkout .wc-block-components-address-form__country,
body.sc-embedded-checkout .wc-block-components-address-form__state{
  min-width:0!important;
  width:100%!important;
  max-width:100%!important;
  overflow:visible!important
}
body.sc-embedded-checkout .wc-block-components-address-form__country .wc-block-components-combobox,
body.sc-embedded-checkout .wc-block-components-address-form__state .wc-block-components-combobox,
body.sc-embedded-checkout .wc-block-components-address-form__country .wc-block-components-select-control,
body.sc-embedded-checkout .wc-block-components-address-form__state .wc-block-components-select-control,
body.sc-embedded-checkout .wc-block-components-address-form__country .components-base-control__field,
body.sc-embedded-checkout .wc-block-components-address-form__state .components-base-control__field{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:5px!important;
  width:100%!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  overflow:visible!important
}
body.sc-embedded-checkout .wc-block-components-address-form__country label,
body.sc-embedded-checkout .wc-block-components-address-form__state label,
body.sc-embedded-checkout .wc-block-components-address-form__country .components-base-control__label,
body.sc-embedded-checkout .wc-block-components-address-form__state .components-base-control__label,
body.sc-embedded-checkout .wc-block-components-address-form__country .wc-block-components-select-control__label,
body.sc-embedded-checkout .wc-block-components-address-form__state .wc-block-components-select-control__label{
  position:static!important;
  inset:auto!important;
  transform:none!important;
  order:0!important;
  display:block!important;
  margin:0!important;
  padding:0!important;
  font-size:.64rem!important;
  line-height:1.2!important;
  font-weight:750!important;
  color:#526579!important;
  background:transparent!important;
  pointer-events:none!important
}
body.sc-embedded-checkout .wc-block-components-address-form__country .components-combobox-control__input,
body.sc-embedded-checkout .wc-block-components-address-form__state .components-combobox-control__input,
body.sc-embedded-checkout .wc-block-components-address-form__country select,
body.sc-embedded-checkout .wc-block-components-address-form__state select{
  order:1!important;
  display:block!important;
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:50px!important;
  min-height:50px!important;
  margin:0!important;
  padding:0 38px 0 12px!important;
  font-size:16px!important;
  line-height:1.2!important;
  color:#20364b!important;
  background:#fff!important
}
body.sc-embedded-checkout .wc-block-components-validation-error{
  position:static!important;
  width:100%!important;
  margin:.28rem 0 0!important;
  line-height:1.35!important
}

/* CART: compact product rows with image/name + controls/line total kept together. */
.sc-cart-drawer{
  display:flex!important;
  flex-direction:column!important;
  width:min(480px,96vw)!important;
  height:100dvh!important;
  max-height:100dvh!important;
  overflow:hidden!important
}
.sc-cart-drawer-head{flex:0 0 auto!important}
.sc-cart-drawer-body{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important
}
.sc-cart-drawer .woocommerce-mini-cart{
  list-style:none!important;
  margin:0!important;
  padding:0!important
}
.sc-cart-drawer .woocommerce-mini-cart-item{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:6px!important;
  min-height:0!important;
  padding:10px 0!important;
  border-bottom:1px solid #e8eef3!important
}
.sc-cart-drawer .woocommerce-mini-cart-item>a:not(.remove){
  grid-column:1!important;
  justify-self:stretch!important;
  float:none!important;
  display:grid!important;
  grid-template-columns:64px minmax(0,1fr)!important;
  align-items:center!important;
  gap:11px!important;
  width:100%!important;
  max-width:100%!important;
  min-height:64px!important;
  margin:0!important;
  padding-right:38px!important;
  color:#0a356d!important;
  font-size:.9rem!important;
  font-weight:900!important;
  line-height:1.28!important;
  text-decoration:none!important
}
.sc-cart-drawer .woocommerce-mini-cart-item img{
  float:none!important;
  display:block!important;
  width:64px!important;
  height:64px!important;
  max-width:64px!important;
  margin:0!important;
  padding:5px!important;
  box-sizing:border-box!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#f7f9fb!important;
  border:1px solid #e3edf4!important;
  border-radius:11px!important;
  filter:none!important
}
.sc-cart-drawer .sc-mini-cart-line{
  grid-column:1!important;
  justify-self:stretch!important;
  float:none!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:center!important;
  gap:9px!important;
  width:calc(100% - 75px)!important;
  max-width:calc(100% - 75px)!important;
  margin:0 0 0 75px!important;
  min-width:0!important
}
.sc-cart-drawer .sc-mini-qty{
  flex:0 0 auto!important;
  display:grid!important;
  grid-template-columns:36px 44px 36px!important;
  align-items:center!important;
  border:1px solid #dbe5ed!important;
  border-radius:10px!important;
  overflow:hidden!important;
  background:#fff!important
}
.sc-cart-drawer .sc-mini-qty-btn{
  min-width:36px!important;
  width:36px!important;
  height:38px!important;
  border:0!important;
  background:#f7f9fb!important;
  color:#0f3b69!important
}
.sc-cart-drawer .sc-mini-qty-value{
  width:44px!important;
  min-width:44px!important;
  height:38px!important;
  padding:0!important;
  border:0!important;
  border-inline:1px solid #e3eaf0!important;
  border-radius:0!important;
  text-align:center!important;
  background:#fff!important;
  color:#17324d!important;
  font-weight:800!important
}
.sc-cart-drawer .sc-mini-line-price{
  justify-self:end!important;
  min-width:0!important;
  margin:0!important;
  text-align:right!important;
  color:#a25a11!important;
  font-size:.82rem!important;
  line-height:1.18!important;
  font-weight:900!important
}
.sc-cart-drawer .sc-mini-line-price del,
.sc-cart-drawer .sc-mini-line-price ins{
  display:inline!important;
  white-space:nowrap!important
}
.sc-cart-drawer .sc-mini-line-price del{margin-right:5px!important;color:#7d8996!important}
.sc-cart-drawer .sc-mini-line-price ins{text-decoration:none!important;color:#a25a11!important}
.sc-cart-drawer .sc-mini-line-price small{
  display:block!important;
  margin-top:2px!important;
  color:#7c5a22!important;
  font-size:.6rem!important;
  line-height:1.15!important;
  font-weight:800!important;
  white-space:normal!important
}
.sc-cart-drawer .woocommerce-mini-cart-item .variation{
  grid-column:1!important;
  justify-self:stretch!important;
  float:none!important;
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:1px 5px!important;
  width:calc(100% - 75px)!important;
  max-width:calc(100% - 75px)!important;
  min-height:0!important;
  margin:0 0 0 75px!important;
  color:#68788a!important;
  font-size:.68rem!important;
  line-height:1.15!important
}
.sc-cart-drawer .woocommerce-mini-cart-item .variation dt,
.sc-cart-drawer .woocommerce-mini-cart-item .variation dd{
  float:none!important;
  margin:0!important;
  padding:0!important
}
.sc-cart-drawer .woocommerce-mini-cart-item .variation dd p{margin:0!important}
.sc-cart-drawer .sc-mini-product-copy{
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  gap:3px!important
}
.sc-cart-drawer .sc-mini-product-name{
  display:block!important;
  min-width:0!important;
  color:#0a356d!important;
  font:inherit!important;
  font-weight:900!important;
  line-height:1.25!important
}
.sc-cart-drawer .sc-mini-product-copy .variation{
  width:auto!important;
  max-width:100%!important;
  min-height:0!important;
  margin:0!important;
  color:#68788a!important;
  font-size:.68rem!important;
  line-height:1.15!important
}
.sc-cart-drawer .sc-mini-product-copy .variation-Amount,
.sc-cart-drawer .sc-mini-product-copy .variation-Strength{
  display:inline!important
}
.sc-cart-drawer .sc-mini-product-copy .variation-Bundlesavings{
  display:none!important
}
.sc-cart-drawer .woocommerce-mini-cart-item .variation-Bundlesavings{display:none!important}
.sc-cart-drawer .remove{
  position:absolute!important;
  top:11px!important;
  right:0!important;
  width:32px!important;
  height:32px!important;
  min-width:32px!important;
  min-height:32px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:50%!important;
  background:#f6f9fc!important;
  color:#7a8798!important
}

/* Beat later legacy cart-grid rules from the draft Tailwind bundle. */
body .sc-cart-drawer .woocommerce-mini-cart-item{
  grid-template-columns:64px minmax(0,1fr)!important;
  grid-auto-flow:row!important;
  column-gap:11px!important;
  row-gap:4px!important
}
body .sc-cart-drawer .woocommerce-mini-cart-item>a:not(.remove){
  grid-column:1/-1!important;
  grid-row:auto!important;
  grid-template-columns:64px minmax(0,1fr)!important;
  width:100%!important;
  max-width:100%!important
}
body .sc-cart-drawer .woocommerce-mini-cart-item dl.variation{
  grid-column:2!important;
  grid-row:auto!important;
  justify-self:stretch!important;
  width:auto!important;
  max-width:100%!important;
  min-height:0!important;
  margin:-2px 38px 0 0!important;
  padding:0!important
}
body .sc-cart-drawer .woocommerce-mini-cart-item .sc-mini-cart-line{
  grid-column:2!important;
  grid-row:auto!important;
  justify-self:stretch!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important
}

/* CART FOOTER: keep utilities secondary and reserve the drawer for products. */
.sc-cart-drawer-foot{
  flex:0 0 auto!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:2px!important;
  width:100%!important;
  max-height:min(36dvh,260px)!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain!important;
  padding:5px 14px max(5px,env(safe-area-inset-bottom))!important;
  scrollbar-width:thin!important
}
.sc-cart-drawer-foot>*{grid-column:1!important;min-width:0!important}
.sc-cart-summary{
  display:grid!important;
  gap:0!important;
  margin:0!important;
  padding:0 0 2px!important
}
.sc-cart-summary>div{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  min-height:17px!important;
  margin:0!important;
  padding:0!important;
  font-size:.72rem!important;
  line-height:1.1!important
}
.sc-cart-summary .is-total{
  min-height:20px!important;
  margin-top:1px!important;
  padding-top:2px!important;
  border-top:1px solid #e7edf2!important;
  font-size:.8rem!important
}
.sc-cart-utility{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:5px!important;
  margin:0!important
}
.sc-cart-utility>button{
  grid-template-columns:18px minmax(0,1fr) auto!important;
  gap:6px!important;
  width:100%!important;
  height:44px!important;
  min-height:44px!important;
  padding:0 8px!important;
  border-radius:9px!important
}
.sc-cart-utility>button svg{
  width:16px!important;
  height:16px!important
}
.sc-cart-utility>button span{min-width:0!important}
.sc-cart-utility>button strong{
  font-size:.66rem!important;
  line-height:1.05!important;
  white-space:nowrap!important
}
.sc-cart-utility>button small{
  margin-top:1px!important;
  font-size:.52rem!important;
  line-height:1!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important
}
.sc-cart-utility>button>b{
  font-size:.95rem!important;
  transform:none!important
}
.sc-cart-utility>button[aria-expanded="true"]>b{transform:rotate(90deg)!important}
.sc-cart-utility-panels{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  width:100%!important;
  margin:0!important
}
.sc-cart-utility-panel{
  grid-column:1!important;
  margin:1px 0!important;
  padding:6px 8px!important
}
.sc-cart-utility-panel>strong{font-size:.65rem!important}
.sc-cart-utility-panel>p{margin:2px 0 0!important;font-size:.57rem!important}
.sc-cart-utility-panel form > div{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:5px!important
}
.sc-cart-utility-panel input{
  height:36px!important;
  min-height:36px!important
}
.sc-cart-utility-panel button[type="submit"]{
  min-height:36px!important;
  height:36px!important
}
.sc-cart-drawer-foot .btn-primary,
.sc-cart-drawer-foot .btn-secondary{
  width:100%!important;
  margin:0!important;
  border-radius:10px!important
}
.sc-cart-drawer-foot .btn-primary{
  min-height:42px!important;
  font-size:.82rem!important;
  box-shadow:0 8px 18px rgba(15,59,105,.13)!important
}
.sc-cart-drawer-foot .btn-secondary{
  min-height:34px!important;
  font-size:.72rem!important
}
.sc-cart-continue{
  width:100%!important;
  min-height:22px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  text-align:center!important;
  font-size:.68rem!important
}

/* PRODUCT ART SYSTEM: stable frames, high-res responsive sources, no crop or blur. */
.woocommerce ul.products li.product{
  display:flex!important;
  flex-direction:column!important;
  height:100%!important;
  min-width:0!important
}
.woocommerce ul.products li.product>a.woocommerce-LoopProduct-link{
  display:flex!important;
  flex-direction:column!important;
  flex:1 1 auto!important;
  min-width:0!important
}
.woocommerce ul.products li.product a img.sc-sunset-catalog-image,
.product-frame .woocommerce ul.products li.product a img.sc-sunset-catalog-image{
  display:block!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:1/1!important;
  max-height:none!important;
  padding:8%!important;
  box-sizing:border-box!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#f7f9fb!important;
  border-radius:14px!important;
  filter:none!important
}
.woocommerce ul.products li.product.outofstock a img.sc-sunset-catalog-image{
  filter:grayscale(.9) saturate(.55) contrast(1.03)!important;
  opacity:.68!important
}
.suncoast-stock-overlay{
  top:1rem!important;
  left:1rem!important;
  color:#fff!important;
  background:rgba(54,65,77,.9)!important
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  min-height:2.7em!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:center!important;
  text-align:center!important
}
.woocommerce ul.products li.product .suncoast-product-strength{
  min-height:2.6em!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:center!important;
  text-align:center!important
}
.woocommerce ul.products li.product .sc-card-meta-row{min-height:32px!important}
.woocommerce ul.products li.product .price{min-height:1.55em!important}
.woocommerce ul.products li.product .suncoast-card-actions{margin-top:auto!important}

/* Bundle art keeps each vial close to the single-vial scale instead of shrinking groups excessively. */
.sc-bundle-vials{
  height:94px!important;
  min-height:94px!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:center!important;
  overflow:visible!important;
  gap:0!important;
  margin:.5rem 0 .35rem!important
}
body.single-product .summary.entry-summary .sc-bundle-vials img.sc-bundle-vial-art{
  flex:0 0 auto!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  height:88px!important;
  min-height:88px!important;
  max-height:88px!important;
  margin:0!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  background:transparent!important;
  filter:drop-shadow(0 7px 8px rgba(15,59,105,.12))!important
}
.sc-vials-2 img.sc-bundle-vial-art,
.sc-vials-3 img.sc-bundle-vial-art{
  height:88px!important;
  max-height:88px!important;
  margin:0!important
}

/* Restock thumbnails use the same mapped high-resolution artwork and a stable frame. */
.sc-restock-status-thumb,
.sc-restock-card-image{
  width:88px!important;
  height:96px!important;
  min-width:88px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:8px!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  border-radius:14px!important;
  background:#f7f9fb!important
}
.sc-restock-status-thumb img,
.sc-restock-card-image img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  margin:0!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:center!important;
  filter:none!important
}

/* Responsive catalog keeps equal frames and card baselines. */
@media(min-width:1280px){
  .woo-shell #suncoast-products ul.products{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
@media(min-width:900px) and (max-width:1279px){
  .woo-shell #suncoast-products ul.products{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:899px){
  .woo-shell #suncoast-products ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:640px){
  .sc-cart-drawer{
    width:calc(100vw - 8px)!important;
    max-width:430px!important
  }
  .sc-cart-drawer-body{padding-inline:12px!important}
  .sc-cart-drawer-foot{
    padding-left:12px!important;
    padding-right:12px!important;
    padding-bottom:max(8px,env(safe-area-inset-bottom))!important
  }
  .sc-cart-drawer .woocommerce-mini-cart-item>a:not(.remove){
    grid-template-columns:64px minmax(0,1fr)!important;
    gap:10px!important
  }
  .sc-cart-drawer .woocommerce-mini-cart-item img{
    width:64px!important;
    height:64px!important;
    max-width:64px!important
  }
  .sc-cart-drawer .sc-mini-cart-line{margin-left:74px!important}
  body.sc-drawer-open:not(.sc-checkout-open) [data-sc-sticky-cart],
  body:has(.sc-cart-drawer.is-open) [data-sc-sticky-cart],
  .sc-cart-drawer.is-open ~ [data-sc-sticky-cart]{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important
  }
  .sc-restock-status-thumb,
  .sc-restock-card-image{
    width:76px!important;
    height:84px!important;
    min-width:76px!important
  }
}
