/* VetPets native bundle selector, drawn with the same structure and class names
   the Kaching picker had on shopvetpets.com, so product pages match the live
   store and the offer pages' own stylesheets and scripts keep working. Values are
   measured from the live picker. Base rules sit inside :where() (no specificity)
   so each offer page's own CSS always wins over them. */
.vp-native-bundles{margin:15px 0 10px;font-family:inherit}
:where(.vp-native-bundles) .kaching-bundles{color:rgba(18,18,18,.9);line-height:1.4}
:where(.vp-native-bundles) .kaching-bundles__block{display:flex;flex-direction:column}
:where(.vp-native-bundles) .kaching-bundles__bars{position:relative;display:flex;flex-direction:column;margin:0;padding:0;border:0;min-width:0}
:where(.vp-native-bundles) .kaching-bundles__bar{position:relative;display:flex;margin:3.25px 0}
:where(.vp-native-bundles) .kaching-bundles__bar-container{position:relative;display:flex;flex:1;flex-direction:column;justify-content:center;margin:0;border-radius:8px;background:rgba(0,133,255,.07);box-shadow:inset 0 0 0 1px rgba(71,181,233,.3);cursor:pointer}
:where(.vp-native-bundles) .kaching-bundles__bar--selected .kaching-bundles__bar-container{background:#fff;box-shadow:inset 0 0 0 2px #47b5e9}
:where(.vp-native-bundles) .kaching-bundles__bar-radio-input{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
:where(.vp-native-bundles) .kaching-bundles__bar-container:has(.kaching-bundles__bar-radio-input:focus-visible){outline:3px solid #133c58;outline-offset:2px}
:where(.vp-native-bundles) .kaching-bundles__bar-most-popular{position:absolute;top:-8px;right:8px;z-index:3}
:where(.vp-native-bundles) .kaching-bundles__bar-most-popular__content{margin:0 8px;padding:6px 8px;border-radius:0 0 5px 5px;background:#13b6b5;color:#fff;font-size:12px;font-weight:700;line-height:12px;white-space:nowrap}
:where(.vp-native-bundles) .kaching-bundles__bar-wrapper{padding:6.5px 14.75px}
:where(.vp-native-bundles) .kaching-bundles__bar-main{display:flex;align-items:center;gap:18px}
:where(.vp-native-bundles) .kaching-bundles__bar-image{display:block;flex:0 0 auto;width:78px;height:78px;border-radius:6px;object-fit:cover}
:where(.vp-native-bundles) .kaching-bundles__bar-content{display:flex;flex:1;align-items:center;justify-content:space-between;gap:8px;min-width:0}
:where(.vp-native-bundles) .kaching-bundles__bar-content-left{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
:where(.vp-native-bundles) .kaching-bundles__bar-first-line{display:flex;flex-wrap:wrap;align-items:center;column-gap:8px}
:where(.vp-native-bundles) .kaching-bundles__bar-title{color:#000;font-size:16px;font-weight:700;line-height:1.4}
:where(.vp-native-bundles) .kaching-bundles__bar-label{display:flex;align-items:center;justify-content:center;gap:4px;padding:4px 8px;border-radius:8px;background:#47b5e9;color:#fff;font-size:11px;font-weight:700;line-height:1.4}
:where(.vp-native-bundles) .kaching-bundles__bar-second-line{display:flex;align-items:center;column-gap:10px}
:where(.vp-native-bundles) .kaching-bundles__bar-subtitle{color:#000;font-size:12px;font-style:italic;font-weight:500;line-height:1.4}
:where(.vp-native-bundles) .kaching-bundles__bar-pricing{display:flex;flex-direction:column;align-items:flex-end;white-space:nowrap}
:where(.vp-native-bundles) .kaching-bundles__bar-price{color:#4c9bc0;font-size:16px;font-weight:700;line-height:1.4}
:where(.vp-native-bundles) .kaching-bundles__bar-full-price{color:#000;font-size:12px;font-style:italic;font-weight:500;line-height:1.4;text-decoration:line-through}
:where(.vp-native-bundles) .kaching-bundles__free-gift{display:flex;align-items:center;justify-content:space-between;gap:5px 10px;margin:0 1px;padding:7px 14.75px 7px 8px;background:rgba(71,181,233,.08)}
:where(.vp-native-bundles) .kaching-bundles__free-gift:last-child{margin-bottom:1px;border-radius:0 0 7px 7px}
:where(.vp-native-bundles) .kaching-bundles__bar--selected .kaching-bundles__free-gift{margin:0 2px;padding:7px 13.75px 6px 7px}
:where(.vp-native-bundles) .kaching-bundles__bar--selected .kaching-bundles__free-gift:last-child{margin-bottom:2px;border-radius:0 0 6px 6px}
:where(.vp-native-bundles) .kaching-bundles__free-gift__divider{display:flex;height:1px;background:rgba(71,181,233,.15)}
:where(.vp-native-bundles) .kaching-bundles__free-gift__main{display:flex;align-items:center;gap:8.25px;min-width:0}
:where(.vp-native-bundles) .kaching-bundles__free-gift__link{display:flex;flex:0 0 auto}
:where(.vp-native-bundles) .kaching-bundles__free-gift__image{display:flex;width:30px;height:30px;border-radius:4px;object-fit:cover}
:where(.vp-native-bundles) .kaching-bundles__free-gift__image[data-icon]{width:27px;height:25px;object-fit:contain}
:where(.vp-native-bundles) .kaching-bundles__free-gift__content{min-width:0}
:where(.vp-native-bundles) .kaching-bundles__free-gift__text{color:#000;font-size:12px;font-weight:700;line-height:1.4}
:where(.vp-native-bundles) .kaching-bundles__free-gift__full-price{flex:0 0 auto;color:#000;font-size:11px;font-style:italic;font-weight:500;line-height:1.4;text-decoration:line-through}
:where(.vp-native-bundles) .kaching-bundles__subscriptions-wrapper{position:relative;margin-top:3.25px}
:where(.vp-native-bundles) .kaching-bundles__subscriptions .kaching-bundles__bar-container{border:2px dashed #47b5e9;box-shadow:none}
:where(.vp-native-bundles) .kaching-bundles__subscriptions .kaching-bundles__bar-wrapper{margin:-2px}
:where(.vp-native-bundles) .kaching-bundles__subscriptions__checkbox{display:flex;flex:0 0 auto;align-items:center;justify-content:center;width:14px;height:14px;margin-right:6px;border:2px solid #47b5e9;background:#fff;color:#47b5e9}
:where(.vp-native-bundles) .kaching-bundles__subscriptions__checkbox svg{visibility:hidden}
:where(.vp-native-bundles) .kaching-bundles__subscriptions--checked .kaching-bundles__subscriptions__checkbox svg{visibility:visible}
:where(.vp-native-bundles) .kaching-bundles__subscriptions__title{color:#000;font-size:14px;font-weight:700;line-height:1.4}
:where(.vp-native-bundles) .kaching-bundles__subscriptions__subtitle{color:#322d2d;font-size:12px;line-height:1.4}
/* Same as the theme's ADD TO CART on shopvetpets.com (measured). */
.vp-native-add{display:flex;align-items:center;justify-content:center;width:100%;min-height:58px;margin-top:12px;padding:0 28.5px;border:0;border-radius:14px;background:#47b5e9;color:#fff;font-family:inherit;font-size:19px;font-weight:700;letter-spacing:1px;line-height:1.2;cursor:pointer}
.vp-native-add:hover:not(:disabled){filter:brightness(.97)}
.vp-native-add:disabled{opacity:.5;cursor:not-allowed}
.vp-native-status{font-size:13px;margin:8px 0}
.vp-native-add:focus-visible{outline:3px solid #133c58;outline-offset:3px}
.vp-native-bundles .vp-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
:where(.vp-native-bundles) .kaching-bundles, :where(.vp-native-bundles) .kaching-bundles *{letter-spacing:normal}
/* Per-product settings, as configured for each product's picker on shopvetpets.com. */
:where(.vp-native-bundles[data-vp-bundles="glovewipes-quick-clean-kit"],.vp-native-bundles[data-vp-bundles="pawfoam"]) .kaching-bundles__bar-wrapper{padding:11px 21.5px}
:where(.vp-native-bundles[data-vp-bundles="freshwipe-kit-cats-protects-against-dental-problems"]) .kaching-bundles__bar-wrapper{padding:6px 14px}
:where(.vp-native-bundles[data-vp-bundles="freshwipe-kit-cats-protects-against-dental-problems"]) .kaching-bundles__bar-label{background:#13b6b5;font-size:9px}
:where(.vp-native-bundles[data-vp-bundles="freshwipe-kit-cats-protects-against-dental-problems"]) .kaching-bundles__free-gift{background:rgba(71,181,233,.2)}
:where(.vp-native-bundles[data-vp-bundles="freshwipe-kit-cats-protects-against-dental-problems"]) .kaching-bundles__free-gift__text{font-size:10px}
:where(.vp-native-bundles[data-vp-bundles="freshwipe-kit-cats-protects-against-dental-problems"]) .kaching-bundles__free-gift__full-price{font-size:9px}
:where(.vp-native-bundles[data-vp-bundles="earwipes-kit-protects-against-ear-problems"]) .kaching-bundles__bar-container{background:rgba(17,143,203,.07);box-shadow:inset 0 0 0 1px rgba(17,143,203,.3)}
:where(.vp-native-bundles[data-vp-bundles="earwipes-kit-protects-against-ear-problems"]) .kaching-bundles__bar--selected .kaching-bundles__bar-container{background:#fff;box-shadow:inset 0 0 0 2px #118fcb}
:where(.vp-native-bundles[data-vp-bundles="earwipes-kit-protects-against-ear-problems"]) .kaching-bundles__bar-wrapper{padding:5.5px 13.25px}
:where(.vp-native-bundles[data-vp-bundles="earwipes-kit-protects-against-ear-problems"]) .kaching-bundles__bar-subtitle,:where(.vp-native-bundles[data-vp-bundles="earwipes-kit-protects-against-ear-problems"]) .kaching-bundles__bar-full-price{font-weight:700}
:where(.vp-native-bundles[data-vp-bundles="earwipes-kit-protects-against-ear-problems"]) .kaching-bundles__free-gift{background:rgba(17,143,203,.2);padding-right:13.25px}
:where(.vp-native-bundles[data-vp-bundles="earwipes-kit-protects-against-ear-problems"]) .kaching-bundles__free-gift__text{font-size:10px}
:where(.vp-native-bundles[data-vp-bundles="earwipes-kit-protects-against-ear-problems"]) .kaching-bundles__subscriptions .kaching-bundles__bar-container{background:rgba(17,143,203,.07);border-color:#118fcb}
:where(.vp-native-bundles[data-vp-bundles="earwipes-kit-protects-against-ear-problems"]) .kaching-bundles__subscriptions__checkbox{border-color:#118fcb;color:#118fcb}
:where(.vp-native-bundles[data-vp-bundles="earwipes-kit-protects-against-ear-problems"]) .kaching-bundles__subscriptions__title{font-size:15px}
:where(.vp-native-bundles[data-vp-bundles="earwipes-kit-protects-against-ear-problems"]) .kaching-bundles__subscriptions__subtitle{font-size:13px;color:#555}
/* Offer pages bring their own ADD TO CART (it adds the selected bundle), as on shopvetpets.com. */
#eyewipes-offer-page .vp-native-add,#freshwipes-offer-page .vp-native-add{display:none}

/* "Almost Sold Out" pulse above ADD TO CART — restores the theme's stock-status block (FreshWipes, EyeWipes). */
[data-vp-bundles] .stock-status-wrapper{display:flex;align-items:center;gap:6px;margin:12px 0 10px}
[data-vp-bundles] .stock-status-dot{width:14px;height:14px;background-color:#ff9900;border-radius:50%;animation:vpStockPulse 1.5s ease-in-out infinite;display:inline-block;flex-shrink:0}
[data-vp-bundles] .stock-status-text{color:#ff9900;font-weight:700;font-size:14px}
@keyframes vpStockPulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.3);opacity:.7}100%{transform:scale(1);opacity:1}}
/* Compact layout ("compact": true in native-bundles.json): the Kaching custom styles
   on shopvetpets.com, with the same specificity (#vp-compact) so they win over each
   offer page's own CSS. Unselected bars hide gifts and subtitle; notes come from the
   bar's collapsedNote (unselected only) and note (always). */
.vp-native-bundles[data-vp-compact] .kaching-bundles__block:is(.kaching-bundles__block,#vp-compact)>.kaching-bundles__bars>.kaching-bundles__bar:not(.kaching-bundles__bar--selected) :is(.kaching-bundles__free-gift,.kaching-bundles__free-gift__divider,.kaching-bundles__bar-second-line,[class*="of-gift-"]){display:none !important}
.vp-native-bundles[data-vp-compact] .kaching-bundles__block:is(.kaching-bundles__block,#vp-compact)>.kaching-bundles__bars>.kaching-bundles__bar:not(.kaching-bundles__bar--selected) .kaching-bundles__bar-content-left[data-vp-collapsed-note]::after{content:attr(data-vp-collapsed-note);display:block;margin-top:4px;font-size:12px;font-weight:700;color:#13858A}
.vp-native-bundles[data-vp-compact] .kaching-bundles__block:is(.kaching-bundles__block,#vp-compact)>.kaching-bundles__bars>.kaching-bundles__bar .kaching-bundles__bar-content-left[data-vp-note]::after{content:attr(data-vp-note);display:block;margin-top:4px;font-size:12px;font-weight:700;color:#B5651D}
.vp-native-bundles[data-vp-compact] .kaching-bundles__block:is(.kaching-bundles__block,#vp-compact)>.kaching-bundles__bars .kaching-bundles__free-gift{padding-top:5px !important;padding-bottom:5px !important;min-height:0 !important}
.vp-native-bundles[data-vp-compact] .kaching-bundles__block:is(.kaching-bundles__block,#vp-compact)>.kaching-bundles__bars .kaching-bundles__free-gift__image{width:20px !important;height:20px !important}
.vp-native-bundles[data-vp-compact] .kaching-bundles__block:is(.kaching-bundles__block,#vp-compact)>.kaching-bundles__bars .kaching-bundles__free-gift__text{font-size:13px !important;line-height:1.25 !important}
.vp-native-bundles[data-vp-compact] .kaching-bundles__block:is(.kaching-bundles__block,#vp-compact)>.kaching-bundles__bars .kaching-bundles__free-gift__full-price{font-size:12px !important}
.vp-native-bundles[data-vp-compact] .kaching-bundles__block:is(.kaching-bundles__block,#vp-compact)>.kaching-bundles__bars>.kaching-bundles__bar--selected .kaching-bundles__free-gift:is([data-ewof-gift],[data-fwof-gift]){display:flex !important}
.vp-native-bundles[data-vp-compact] .kaching-bundles__block:is(.kaching-bundles__block,#vp-compact)>.kaching-bundles__bars>.kaching-bundles__bar--selected:is(.ewof-gift-toggle,.fwof-gift-toggle){display:none !important}
.vp-native-bundles[data-vp-compact] .kaching-bundles__block:is(.kaching-bundles__block,#vp-compact)>.kaching-bundles__bars:is(.ewof-applied,.fwof-applied){display:none !important}
