/* Single product page */
.single-product .vsp-thumbs{display:none!important;}
.single-product .vsp-trust-bar{display:none!important;}
.single-product .vsp-title{font-family:'Montserrat',sans-serif!important;font-weight:800!important;font-size:34px!important;line-height:1.08!important;letter-spacing:-.022em!important;color:#0B1220!important;text-transform:none!important;margin:0 0 10px!important;}
.single-product .vsp-price-main,.single-product .vsp-price-from{color:#1B4DFF!important;font-family:'Montserrat',sans-serif!important;font-weight:800!important;font-size:24px!important;letter-spacing:-.01em!important;}
.single-product .vsp-price-row{display:inline-flex;align-items:baseline;gap:10px;flex-wrap:wrap;}
.single-product .vsp-price-from{font-size:16px!important;font-weight:700!important;color:#8A93A2!important;text-decoration:line-through!important;opacity:1;order:2;}
.single-product .vsp-price-main{order:1;}
.single-product .vsp-price-original{font-size:15px!important;color:#8A93A2!important;}
/* Badge bubbles */
.vsp-badges{display:flex;flex-wrap:wrap;gap:9px;margin:14px 0 16px;}
.vsp-badge{display:inline-flex;align-items:center;gap:7px;background:#F6F8FC;border:1px solid #D9E3F7;border-radius:999px;padding:9px 16px;font-family:'Montserrat',sans-serif;font-size:12.5px;font-weight:600;color:#0B1220;line-height:1;white-space:nowrap;}
.vsp-badge svg{width:14px;height:14px;flex:none;color:#1B4DFF;}
/* Ships-today bar */
.single-product .vsp-urgency-bar{background:#EFFCF3!important;border:1px solid #B7ECC8!important;border-radius:10px!important;padding:12px 16px!important;margin:0 0 18px!important;}
.single-product .vsp-urgency-row{display:flex!important;align-items:center;gap:10px;font-family:'Montserrat',sans-serif!important;font-size:13.5px!important;font-weight:600!important;color:#15803D!important;}
.single-product .vsp-urgency-row svg{display:none!important;}
.vsp-livedot{position:relative;width:9px;height:9px;border-radius:50%;background:#22C55E;flex:none;box-shadow:0 0 8px rgba(34,197,94,.95);}
.vsp-livedot::after{content:"";position:absolute;inset:0;border-radius:50%;background:#22C55E;animation:vspPulse 2s ease-out infinite;}
@keyframes vspPulse{0%{transform:scale(1);opacity:.6}100%{transform:scale(3.2);opacity:0}}
@media (prefers-reduced-motion:reduce){.vsp-livedot::after{animation:none;}}

/* Volume bundle selector */
.vsp-bundles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:6px 0 8px;}
.vsp-bundle{display:flex;flex-direction:column;align-items:center;gap:5px;background:#fff;border:1.5px solid #E3E6EC;border-radius:12px;padding:14px 8px;cursor:pointer;font-family:'Montserrat',sans-serif;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;}
.vsp-bundle:hover{border-color:#B9CCFF;}
.vsp-bundle.is-active{border-color:#1B4DFF;background:#F5F8FF;box-shadow:0 0 0 3px rgba(27,77,255,.10);}
.vsp-bundle__qty{font-size:14.5px;font-weight:700;color:#0B1220;line-height:1;}
.vsp-bundle__tag{font-size:11.5px;font-weight:600;color:#5A6474;line-height:1;}
.vsp-bundle__tag--save{color:#15803D;}
.vsp-bundle.is-active .vsp-bundle__tag--save{color:#12703a;}
.vsp-bundles__note{font-size:11.5px;color:#8A93A2;margin:0 0 18px;text-align:center;}
@media (max-width:520px){
  .vsp-bundles{gap:8px;}
  .vsp-bundle{padding:12px 6px;}
  .vsp-bundle__qty{font-size:13.5px;}
  .vsp-bundle__tag{font-size:10.5px;}
}

/* Action row: qty + add to cart + buy now */
.vsp-action-row{display:flex!important;align-items:stretch!important;gap:10px!important;margin:4px 0 18px!important;}
.vsp-action-row .vsp-qty-ctrl{display:flex!important;align-items:center;flex:none!important;border:1.5px solid #E3E6EC!important;border-radius:10px!important;background:#fff!important;overflow:hidden;}
.vsp-action-row .vsp-qty-btn{width:34px!important;height:100%!important;min-height:48px!important;background:none!important;border:0!important;font-size:18px!important;color:#0B1220!important;cursor:pointer;}
.vsp-action-row .vsp-qty-btn:hover{background:#F5F8FF!important;}
.vsp-action-row .vsp-qty-num{min-width:26px!important;text-align:center;font-family:'Montserrat',sans-serif!important;font-size:15px!important;font-weight:700!important;color:#0B1220!important;}
.vsp-atc-btn{flex:1 1 auto!important;display:inline-flex!important;align-items:center;justify-content:center;gap:9px;background:#1B4DFF!important;color:#fff!important;border:0!important;border-radius:10px!important;padding:15px 20px!important;font-family:'Montserrat',sans-serif!important;font-size:15px!important;font-weight:700!important;cursor:pointer;box-shadow:0 10px 24px rgba(27,77,255,.26)!important;}
.vsp-atc-btn:hover{background:#1540DB!important;}
.vsp-buynow{flex:0 0 auto!important;background:#232B3A!important;color:#fff!important;border:0!important;border-radius:10px!important;padding:15px 26px!important;font-family:'Montserrat',sans-serif!important;font-size:15px!important;font-weight:700!important;cursor:pointer;}
.vsp-buynow:hover{background:#0B1220!important;}
@media (max-width:520px){.vsp-action-row{flex-wrap:wrap;}.vsp-atc-btn{flex:1 1 140px!important;padding:15px 12px!important;}.vsp-buynow{padding:15px 18px!important;}}

/* Mobile: keep qty + add to cart + buy now on one row */
@media (max-width:520px){
  .vsp-action-row{flex-wrap:nowrap!important;gap:7px!important;align-items:stretch!important;}
  .vsp-action-row .vsp-qty-ctrl{flex:0 0 auto!important;}
  .vsp-action-row .vsp-qty-btn{width:26px!important;min-height:44px!important;font-size:16px!important;}
  .vsp-action-row .vsp-qty-num{min-width:18px!important;font-size:14px!important;}
  .vsp-atc-btn{flex:1 1 0!important;min-width:0!important;padding:14px 8px!important;font-size:13.5px!important;gap:6px!important;white-space:nowrap!important;}
  .vsp-atc-btn svg{display:none!important;}
  .vsp-buynow{flex:0 0 auto!important;padding:14px 14px!important;font-size:13.5px!important;white-space:nowrap!important;}
}
@media (max-width:360px){
  .vsp-atc-btn,.vsp-buynow{font-size:12.5px!important;padding:13px 8px!important;}
  .vsp-action-row .vsp-qty-btn{width:22px!important;}
}

/* Force single row on phones - template sets column direction */
@media (max-width:768px){
  .vsp-action-row,.vsp-summary .vsp-action-row{flex-direction:row!important;flex-wrap:nowrap!important;align-items:stretch!important;gap:7px!important;width:100%!important;}
  .vsp-action-row > *{width:auto!important;}
  .vsp-action-row .vsp-qty-ctrl{flex:0 0 auto!important;width:auto!important;}
  .vsp-atc-btn{flex:1 1 0!important;min-width:0!important;width:auto!important;}
  .vsp-buynow{flex:0 0 auto!important;width:auto!important;}
}

/* Delivery / dispatch points */
.vsp-deliver{list-style:none;margin:4px 0 22px;padding:0;display:flex;flex-direction:column;gap:12px;}
.vsp-deliver li{display:flex;align-items:center;gap:11px;font-family:'Montserrat',sans-serif;font-size:14.5px;font-weight:500;color:#5A6474;line-height:1.4;}
.vsp-deliver li strong{color:#0B1220;font-weight:700;}
.vsp-deliver__ico{flex:none;display:flex;align-items:center;justify-content:center;color:#1B4DFF;}
.vsp-deliver__ico svg{width:19px;height:19px;}
@media (max-width:520px){
  .vsp-deliver{gap:10px;margin-bottom:18px;}
  .vsp-deliver li{font-size:13.5px;gap:9px;}
  .vsp-deliver__ico svg{width:17px;height:17px;}
}

/* COA reveal */
.vsp-coa{margin:0 0 8px;}
.vsp-coa__btn{width:100%;display:flex;align-items:center;justify-content:center;gap:11px;background:#fff;border:1.5px solid #0B1220;border-radius:12px;padding:16px 20px;font-family:'Montserrat',sans-serif;font-size:15px;font-weight:700;color:#0B1220;cursor:pointer;transition:background .15s ease,border-color .15s ease;}
.vsp-coa__btn:hover{background:#F5F8FF;border-color:#1B4DFF;color:#1B4DFF;}
.vsp-coa__ico{display:flex;color:#1B4DFF;}
.vsp-coa__ico svg{width:19px;height:19px;}
.vsp-coa__err{margin:10px 0 0;font-size:12.5px;font-weight:600;color:#DC2626;text-align:center;}
.vsp-coa__err[hidden]{display:none;}
.vsp-coa__panel{margin-top:14px;border:1px solid #E3E6EC;border-radius:12px;overflow:hidden;background:#F5F8FF;}
.vsp-coa__panel[hidden]{display:none;}
.vsp-coa__panel iframe{display:block;width:100%;height:620px;border:0;}
.vsp-coa__open{display:block;text-align:center;padding:11px;font-size:13px;font-weight:700;color:#1B4DFF;text-decoration:none;border-top:1px solid #E3E6EC;background:#fff;}
@media (max-width:520px){
  .vsp-coa__btn{font-size:14px;padding:15px 14px;gap:9px;}
  .vsp-coa__panel iframe{height:420px;}
}

/* Frequently researched together */
.vsp-freq{background:#fff;padding:44px 0 56px;}
.vsp-freq__inner{max-width:1240px;margin:0 auto;padding:0 24px;}
.vsp-freq__title{font-family:'Montserrat',sans-serif;font-weight:800;font-size:26px;line-height:1.1;letter-spacing:-.022em;color:#0B1220;margin:0 0 20px;}
.vsp-freq__track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:4px 0 10px;scrollbar-width:none;-ms-overflow-style:none;}
.vsp-freq__track::-webkit-scrollbar{display:none;}
.vsp-freq__card{flex:0 0 calc((100% - 4*16px)/5);scroll-snap-align:start;display:flex;flex-direction:column;background:#fff;border:1px solid #E3E6EC;border-radius:12px;overflow:hidden;text-decoration:none;transition:transform .16s ease,box-shadow .16s ease;}
.vsp-freq__card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(11,18,32,.10);}
.vsp-freq__media{display:block;background:#EEF3FF;aspect-ratio:1/1;}
.vsp-freq__media img{width:100%;height:100%;object-fit:contain;padding:12px;}
.vsp-freq__name{padding:12px 12px 2px;font-family:'Montserrat',sans-serif;font-size:13.5px;font-weight:600;color:#0B1220;line-height:1.3;}
.vsp-freq__price{padding:0 12px 14px;font-family:'Montserrat',sans-serif;font-size:14.5px;font-weight:700;color:#0B1220;}
.vsp-freq__price del{opacity:.5;font-weight:500;margin-right:5px;}
.vsp-freq__price ins{text-decoration:none;}
@media (max-width:1024px){.vsp-freq__card{flex:0 0 calc((100% - 2*16px)/2.6);}}
@media (max-width:767px){
  .vsp-freq{padding:34px 0 44px;}
  .vsp-freq__inner{padding:0 24px;}
  .vsp-freq__title{font-size:21px;}
  .vsp-freq__card{flex:0 0 62%;}
}

/* Delivery points: keep each on its own line, no odd wrapping */
.vsp-deliver li{display:flex!important;align-items:flex-start!important;gap:11px!important;flex-wrap:nowrap!important;}
.vsp-deliver__ico{flex:0 0 auto!important;margin-top:1px;}
.vsp-deliver__txt{flex:1 1 auto!important;min-width:0!important;display:block!important;line-height:1.45!important;}
.vsp-deliver__txt strong{white-space:nowrap;}
@media (max-width:520px){
  .vsp-deliver li{font-size:13px!important;gap:9px!important;}
  .vsp-deliver__txt strong{white-space:normal;}
}

/* Stock line + ships-today bar */
.vsp-stockline{font-family:'Montserrat',sans-serif;font-size:13.5px;font-weight:700;color:#15803D;margin:2px 0 14px;}
.vsp-stockline.is-out{color:#8A93A2;}
.single-product .vsp-urgency-bar{display:flex!important;align-items:center!important;gap:10px!important;background:#EFFCF3!important;border:1px solid #B7ECC8!important;border-radius:10px!important;padding:12px 16px!important;margin:0 0 18px!important;}
.vsp-ship{font-family:'Montserrat',sans-serif!important;font-size:13.5px!important;font-weight:600!important;color:#15803D!important;line-height:1.4!important;}
.vsp-ship strong{font-weight:800!important;color:#12703a!important;}

/* Smaller title and price, dot pinned left */
.single-product .vsp-title{font-size:27px!important;line-height:1.12!important;margin:0 0 8px!important;}
.single-product .vsp-price-main{font-size:20px!important;}
.single-product .vsp-price-from{font-size:12px!important;}
.single-product .vsp-price-original{font-size:13.5px!important;}
.vsp-stockline{margin:0 0 14px!important;}
.single-product .vsp-urgency-bar{flex-direction:row!important;justify-content:flex-start!important;text-align:left!important;}
.single-product .vsp-urgency-bar .vsp-livedot{order:-1!important;flex:0 0 9px!important;}
.single-product .vsp-urgency-bar .vsp-ship{flex:1 1 auto!important;}
@media (max-width:520px){.single-product .vsp-title{font-size:23px!important;}.single-product .vsp-price-main{font-size:18px!important;}}

/* Tighten gap under the ships bar */
.vsp-atc-wrap{display:none!important;}
.single-product .vsp-urgency-bar{margin:0 0 14px!important;}
.vsp-bundles{margin:0 0 6px!important;}
.single-product .vsp-dosage-row{margin:0 0 14px!important;}

/* Badge pills - explicit sizing */
.single-product .vsp-badges{display:flex!important;flex-wrap:wrap!important;gap:9px!important;margin:0 0 16px!important;}
.single-product .vsp-badges .vsp-badge{display:inline-flex!important;align-items:center!important;gap:7px!important;background:#F6F8FC!important;border:1px solid #D9E3F7!important;border-radius:999px!important;padding:9px 16px!important;font-family:'Montserrat',sans-serif!important;font-size:12.5px!important;font-weight:600!important;color:#0B1220!important;line-height:1!important;white-space:nowrap!important;}
.single-product .vsp-badges .vsp-badge svg{width:14px!important;height:14px!important;min-width:14px!important;max-width:14px!important;flex:none!important;color:#1B4DFF!important;}
.single-product .vsp-dosage-row{display:flex!important;align-items:center!important;gap:12px!important;}

/* Variation pills: active state */
.single-product .vsp-dose-pill{background:#fff!important;border:1.5px solid #0B1220!important;color:#0B1220!important;border-radius:999px!important;padding:9px 18px!important;font-family:'Montserrat',sans-serif!important;font-size:13.5px!important;font-weight:700!important;cursor:pointer!important;transition:background .15s ease,border-color .15s ease,color .15s ease!important;}
.single-product .vsp-dose-pill:hover{border-color:#1B4DFF!important;color:#1B4DFF!important;}
.single-product .vsp-dose-pill.active{background:#1B4DFF!important;border-color:#1B4DFF!important;color:#fff!important;}
.single-product .vsp-dose-pill:disabled{opacity:.4!important;cursor:not-allowed!important;}

/* Upsell tiles white */
.vsp-freq__media{background:#FFFFFF!important;}
