:root{
  --kpt-psc-primary:#0b79b7;
  --kpt-psc-buy:#25ad45;
  --kpt-psc-mobile-offset:60px;
  --kpt-psc-border:#dde3ea;
  --kpt-psc-text:#182235;
  --kpt-psc-muted:#667085;
  --kpt-psc-surface:#ffffff;
}

/* Shell */
#kpt-pro-sticky-cart.kpt-psc{
  position:fixed!important;
  left:0!important;right:0!important;bottom:0!important;
  z-index:2147483000!important;
  background:rgba(255,255,255,.985)!important;
  border-top:1px solid rgba(15,23,42,.10)!important;
  box-shadow:0 -10px 32px rgba(15,23,42,.12)!important;
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  transform:translateY(115%)!important;
  opacity:0!important;visibility:hidden!important;pointer-events:none!important;
  transition:transform .28s ease,opacity .22s ease,visibility .22s ease!important;
  font-family:inherit!important;
  box-sizing:border-box!important;
}
#kpt-pro-sticky-cart.kpt-psc *{box-sizing:border-box!important}
#kpt-pro-sticky-cart.kpt-psc.is-visible{
  transform:translateY(0)!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important
}
.kpt-psc__inner{
  width:min(1600px,calc(100% - 32px))!important;
  margin:0 auto!important;
  padding:12px 0!important;
  display:grid!important;
  grid-template-columns:minmax(250px,390px) minmax(0,1fr)!important;
  gap:28px!important;
  align-items:center!important;
}

/* Product summary */
.kpt-psc__product{display:flex!important;align-items:center!important;gap:14px!important;min-width:0!important}
.kpt-psc__image{width:64px!important;height:64px!important;min-width:64px!important;object-fit:contain!important;border-radius:13px!important;border:1px solid #e5e9ef!important;background:#fff!important;padding:3px!important}
.kpt-psc__meta{min-width:0!important;display:flex!important;flex-direction:column!important;gap:3px!important}
.kpt-psc__title{font-size:15px!important;line-height:1.35!important;font-weight:750!important;color:var(--kpt-psc-text)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.kpt-psc__price{font-size:18px!important;line-height:1.15!important;font-weight:800!important;color:#0e5fb5!important;margin:0!important}
.kpt-psc__price del{font-size:12px!important;opacity:.52!important}.kpt-psc__price ins{text-decoration:none!important}
.kpt-psc__stock{font-size:12px!important;line-height:1.2!important;color:#5fae3d!important;font-weight:650!important;min-height:14px!important}

/* Controls root */
.kpt-psc__controls{min-width:0!important;display:grid!important;gap:9px!important;align-items:end!important}
.kpt-mode-standard .kpt-psc__controls{grid-template-columns:1fr!important}
.kpt-mode-email .kpt-psc__controls{grid-template-columns:minmax(240px,380px) minmax(500px,1fr)!important;align-items:center!important}
.kpt-mode-variation .kpt-psc__controls{grid-template-columns:1fr!important}

/* Email */
.kpt-psc__email-wrap{display:block!important;margin:0!important;min-width:0!important}
.kpt-psc__email{
  width:100%!important;height:48px!important;margin:0!important;padding:0 16px!important;
  border:1px solid var(--kpt-psc-border)!important;border-radius:12px!important;
  background:#fff!important;color:var(--kpt-psc-text)!important;font-size:14px!important;
  outline:none!important;box-shadow:none!important;transition:border-color .18s ease,box-shadow .18s ease!important
}
.kpt-psc__email:focus{border-color:var(--kpt-psc-primary)!important;box-shadow:0 0 0 3px rgba(11,121,183,.12)!important}
.kpt-psc__email.is-invalid{border-color:#dc2626!important;box-shadow:0 0 0 3px rgba(220,38,38,.10)!important}

/* Variation controls */
.kpt-psc__variations{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(180px,320px))!important;
  justify-content:start!important;
  gap:9px 12px!important;
  min-width:0!important;
}
.kpt-psc__variation-field{display:grid!important;gap:5px!important;min-width:0!important;margin:0!important}
.kpt-psc__variation-label{font-size:12px!important;line-height:1.2!important;font-weight:750!important;color:#475467!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.kpt-psc__variation-select{
  width:100%!important;height:46px!important;margin:0!important;padding:0 38px 0 13px!important;
  border:1px solid #cfd8e3!important;border-radius:12px!important;background-color:#fff!important;
  color:var(--kpt-psc-text)!important;font-size:14px!important;font-weight:650!important;
  box-shadow:none!important;outline:none!important;cursor:pointer!important
}
.kpt-psc__variation-select:focus{border-color:var(--kpt-psc-primary)!important;box-shadow:0 0 0 3px rgba(11,121,183,.10)!important}
.kpt-psc__variation-field.is-selected .kpt-psc__variation-select{border-color:#b8c6d6!important}

/* Purchase row */
.kpt-psc__purchase-row{
  min-width:0!important;display:grid!important;
  grid-template-columns:156px minmax(360px,1fr)!important;
  gap:12px!important;align-items:center!important
}
.kpt-mode-email .kpt-psc__purchase-row{grid-column:2!important;grid-row:1!important}
.kpt-mode-email .kpt-psc__email-wrap{grid-column:1!important;grid-row:1!important}
.kpt-psc__quantity{
  width:156px!important;height:48px!important;display:grid!important;grid-template-columns:48px 60px 48px!important;
  align-items:stretch!important;border:1px solid var(--kpt-psc-border)!important;border-radius:12px!important;
  overflow:hidden!important;background:#fff!important;box-shadow:0 1px 2px rgba(15,23,42,.03)!important
}
.kpt-psc__qty-button,.kpt-psc__qty{
  height:46px!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important
}
.kpt-psc__qty-button{width:48px!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#f7f9fc!important;color:#071a34!important;font-size:21px!important;font-weight:850!important;line-height:1!important;cursor:pointer!important}
.kpt-psc__qty-button:hover{background:#eef3f8!important}
.kpt-psc__qty{width:60px!important;padding:0!important;background:#fff!important;color:#111827!important;text-align:center!important;font-size:15px!important;font-weight:750!important;-moz-appearance:textfield!important}
.kpt-psc__qty::-webkit-outer-spin-button,.kpt-psc__qty::-webkit-inner-spin-button{-webkit-appearance:none!important;margin:0!important}
.kpt-psc__actions{min-width:0!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important}
.kpt-psc__button{
  min-width:0!important;width:100%!important;min-height:48px!important;margin:0!important;padding:10px 18px!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  border:0!important;border-radius:12px!important;color:#fff!important;font-size:14px!important;font-weight:800!important;
  text-transform:none!important;letter-spacing:0!important;line-height:1.2!important;cursor:pointer!important;
  box-shadow:0 6px 16px rgba(15,23,42,.09)!important;
  opacity:1!important;visibility:visible!important;white-space:nowrap!important;
  transition:transform .16s ease,filter .16s ease,box-shadow .16s ease!important
}
.kpt-psc__add{background:var(--kpt-psc-primary)!important}.kpt-psc__buy{background:var(--kpt-psc-buy)!important}
.kpt-psc__button:hover{filter:brightness(.96)!important;transform:translateY(-1px)!important;box-shadow:0 8px 20px rgba(15,23,42,.13)!important}
.kpt-psc__button:disabled,.kpt-psc__button.is-loading{opacity:.58!important;cursor:not-allowed!important;transform:none!important;box-shadow:none!important}
.kpt-psc__message{grid-column:1/-1!important;min-height:0!important;margin:0!important;font-size:12px!important;line-height:1.25!important;color:#c62828!important;text-align:center!important}
.kpt-psc__message.is-success{color:#18864b!important}

/* Mid size desktop/tablet */
@media(max-width:1180px){
  .kpt-psc__inner{width:min(1120px,calc(100% - 24px))!important;grid-template-columns:minmax(220px,300px) minmax(0,1fr)!important;gap:18px!important}
  .kpt-mode-email .kpt-psc__controls{grid-template-columns:minmax(210px,300px) minmax(0,1fr)!important}
  .kpt-psc__purchase-row{grid-template-columns:138px minmax(320px,1fr)!important;gap:9px!important}
  .kpt-psc__quantity{width:138px!important;grid-template-columns:42px 54px 42px!important}.kpt-psc__qty-button{width:42px!important}.kpt-psc__qty{width:54px!important}
  .kpt-psc__actions{gap:9px!important}
  .kpt-psc__variations{grid-template-columns:repeat(2,minmax(160px,1fr))!important}
}

/* Mobile/tablet dock */
@media(max-width:900px){
  #kpt-pro-sticky-cart.kpt-psc{bottom:var(--kpt-psc-mobile-offset)!important;background:#fff!important;box-shadow:0 -8px 26px rgba(15,23,42,.12)!important}
  .kpt-psc__inner{width:100%!important;padding:9px 10px!important;display:block!important}
  .kpt-psc__product{display:none!important}
  .kpt-psc__controls,.kpt-mode-email .kpt-psc__controls,.kpt-mode-variation .kpt-psc__controls{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;align-items:stretch!important}
  .kpt-mode-email .kpt-psc__email-wrap,.kpt-mode-email .kpt-psc__purchase-row{grid-column:1!important;grid-row:auto!important}
  .kpt-psc__email{height:44px!important;border-radius:11px!important;padding:0 13px!important;font-size:13.5px!important}
  .kpt-psc__variations{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;width:100%!important}
  .kpt-psc__variation-field{gap:4px!important}.kpt-psc__variation-label{font-size:11.5px!important}.kpt-psc__variation-select{height:44px!important;border-radius:11px!important;font-size:13px!important;padding-left:11px!important}
  .kpt-psc__purchase-row{grid-template-columns:116px minmax(0,1fr)!important;gap:8px!important;width:100%!important}
  .kpt-psc__quantity{width:116px!important;height:46px!important;grid-template-columns:36px 44px 36px!important;border-radius:11px!important}
  .kpt-psc__qty-button,.kpt-psc__qty{height:44px!important}.kpt-psc__qty-button{width:36px!important;font-size:19px!important}.kpt-psc__qty{width:44px!important;font-size:14px!important}
  .kpt-psc__actions{gap:8px!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
  .kpt-psc__button{min-height:46px!important;padding:9px 7px!important;border-radius:11px!important;font-size:13.5px!important;box-shadow:none!important}
  .kpt-psc__message{font-size:11.5px!important}
}

/* Narrow phones */
@media(max-width:520px){
  .kpt-psc__inner{padding:8px!important}
  .kpt-psc__variations{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .kpt-psc__variation-select{font-size:12.5px!important;padding-right:28px!important}
  .kpt-psc__purchase-row{grid-template-columns:108px minmax(0,1fr)!important;gap:7px!important}
  .kpt-psc__quantity{width:108px!important;grid-template-columns:34px 40px 34px!important}.kpt-psc__qty-button{width:34px!important}.kpt-psc__qty{width:40px!important}
  .kpt-psc__actions{gap:7px!important}.kpt-psc__button{font-size:12.5px!important;padding:8px 5px!important}
}

/* Very small phones: keep actions usable rather than squeezing */
@media(max-width:365px){
  .kpt-psc__variations{grid-template-columns:1fr!important}
  .kpt-psc__purchase-row{grid-template-columns:100px minmax(0,1fr)!important}
  .kpt-psc__quantity{width:100px!important;grid-template-columns:31px 38px 31px!important}.kpt-psc__qty-button{width:31px!important}.kpt-psc__qty{width:38px!important}
  .kpt-psc__button{font-size:11.5px!important;padding-inline:3px!important}
}

/* Woodmart/off-canvas safety */
body.admin-bar #kpt-pro-sticky-cart.kpt-psc{z-index:2147483000!important}
body.wd-side-hidden-opened #kpt-pro-sticky-cart,
html.wd-side-hidden-opened #kpt-pro-sticky-cart,
.wd-close-side.wd-close-side-opened~#kpt-pro-sticky-cart{opacity:0!important;pointer-events:none!important}

/* ==========================================================
   v2.6.1 — exact three-mode layout
   Standard: product | quantity | actions
   Email:    product | email    | quantity | actions
   Variation:product | options  | quantity | actions
   ========================================================== */
@media(min-width:901px){
  .kpt-mode-standard .kpt-psc__controls,
  .kpt-mode-email .kpt-psc__controls,
  .kpt-mode-variation .kpt-psc__controls{
    display:grid!important;
    grid-template-rows:1fr!important;
    align-items:center!important;
    gap:12px!important;
  }

  .kpt-mode-standard .kpt-psc__controls{
    grid-template-columns:minmax(0,1fr)!important;
  }

  .kpt-mode-email .kpt-psc__controls,
  .kpt-mode-variation .kpt-psc__controls{
    grid-template-columns:minmax(230px,400px) minmax(520px,1fr)!important;
  }

  .kpt-mode-email .kpt-psc__email-wrap,
  .kpt-mode-variation .kpt-psc__variations{
    grid-column:1!important;
    grid-row:1!important;
    align-self:center!important;
    width:100%!important;
  }

  .kpt-mode-email .kpt-psc__purchase-row,
  .kpt-mode-variation .kpt-psc__purchase-row{
    grid-column:2!important;
    grid-row:1!important;
  }

  .kpt-mode-standard .kpt-psc__purchase-row{
    grid-column:1!important;
    grid-row:1!important;
  }

  /* The variation selector literally replaces the email slot. */
  .kpt-mode-variation .kpt-psc__variations{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .kpt-mode-variation .kpt-psc__variations.is-multiple,
  .kpt-mode-variation .kpt-psc__variations[data-count="2"]{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .kpt-mode-variation .kpt-psc__variation-field{
    display:block!important;
    margin:0!important;
  }
  .kpt-mode-variation .kpt-psc__variation-label{
    position:absolute!important;
    width:1px!important;height:1px!important;
    padding:0!important;margin:-1px!important;
    overflow:hidden!important;clip:rect(0,0,0,0)!important;
    white-space:nowrap!important;border:0!important;
  }
  .kpt-mode-variation .kpt-psc__variation-select{
    height:48px!important;
    border-radius:12px!important;
    font-size:14px!important;
    font-weight:700!important;
  }

  .kpt-mode-standard .kpt-psc__purchase-row,
  .kpt-mode-email .kpt-psc__purchase-row,
  .kpt-mode-variation .kpt-psc__purchase-row{
    grid-template-columns:156px minmax(360px,1fr)!important;
    align-items:center!important;
    gap:12px!important;
  }

  .kpt-psc__message{
    position:absolute!important;
    left:50%!important;
    bottom:3px!important;
    transform:translateX(-50%)!important;
    pointer-events:none!important;
  }
}

/* Tablet: preserve the same semantic slot, but avoid crushed buttons. */
@media(min-width:901px) and (max-width:1180px){
  .kpt-mode-email .kpt-psc__controls,
  .kpt-mode-variation .kpt-psc__controls{
    grid-template-columns:minmax(190px,290px) minmax(430px,1fr)!important;
    gap:9px!important;
  }
  .kpt-mode-standard .kpt-psc__purchase-row,
  .kpt-mode-email .kpt-psc__purchase-row,
  .kpt-mode-variation .kpt-psc__purchase-row{
    grid-template-columns:138px minmax(290px,1fr)!important;
    gap:9px!important;
  }
}

/* Mobile: the optional slot (email OR variations) occupies the same first row. */
@media(max-width:900px){
  .kpt-mode-email .kpt-psc__email-wrap,
  .kpt-mode-variation .kpt-psc__variations{
    grid-column:1!important;
    grid-row:1!important;
    width:100%!important;
  }
  .kpt-mode-email .kpt-psc__purchase-row,
  .kpt-mode-variation .kpt-psc__purchase-row{
    grid-column:1!important;
    grid-row:2!important;
  }
  .kpt-mode-standard .kpt-psc__purchase-row{
    grid-column:1!important;
    grid-row:1!important;
  }
  .kpt-mode-variation .kpt-psc__variation-label{
    position:absolute!important;
    width:1px!important;height:1px!important;
    padding:0!important;margin:-1px!important;
    overflow:hidden!important;clip:rect(0,0,0,0)!important;
    white-space:nowrap!important;border:0!important;
  }
  .kpt-mode-variation .kpt-psc__variation-field{display:block!important}
  .kpt-mode-variation .kpt-psc__variation-select{height:44px!important}
}


/* ==============================================================
   v2.6.2 — Mobile full-width variation selector
   On phones, variation choices occupy a dedicated full-width row
   above quantity + purchase buttons. This keeps the purchase row
   compact and makes long options such as "1 Device 1 Year" easy
   to read and tap.
   ============================================================== */
@media (max-width:900px){
  .kpt-mode-variation .kpt-psc__controls{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:10px!important;
    width:100%!important;
  }

  .kpt-mode-variation .kpt-psc__variations{
    grid-column:1 / -1!important;
    grid-row:1!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
  }

  .kpt-mode-variation .kpt-psc__variation-field,
  .kpt-mode-variation .kpt-psc__variations.is-multiple .kpt-psc__variation-field,
  .kpt-mode-variation .kpt-psc__variations[data-count="2"] .kpt-psc__variation-field{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
  }

  .kpt-mode-variation .kpt-psc__variation-select{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    height:50px!important;
    padding:0 42px 0 15px!important;
    border-radius:12px!important;
    font-size:14px!important;
    font-weight:650!important;
    line-height:48px!important;
    box-sizing:border-box!important;
    background-color:#fff!important;
  }

  .kpt-mode-variation .kpt-psc__purchase-row{
    grid-column:1 / -1!important;
    grid-row:2!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
  }
}

@media (max-width:520px){
  .kpt-mode-variation .kpt-psc__variation-select{
    height:52px!important;
    line-height:50px!important;
    font-size:14px!important;
  }
}
