.vhcp-card-badge, .vhcp-campaign-notice {
    box-sizing: border-box;
    max-width: 100%;
    font-family: inherit;
    white-space: normal;
    overflow-wrap: anywhere;
}
.vhcp-card-badge {
    display: inline-block;
    margin: 0;
    padding: 3px 6px;
    border: 1px solid #bed7f1;
    border-radius: 5px;
    background: #eaf4ff;
    color: #134f87;
    font-family: inherit;
    font-size: 11px;
    font-weight: 650;
    line-height: 1.15;
    white-space: nowrap;
    text-transform: none;
}
.vhcp-product-offers,.vhcp-together-offers {
    box-sizing:border-box;background:#f0f2f5;border:1px solid #ddd;border-radius:7px;
}
.vhcp-product-offers {
    display:flex;align-items:center;gap:8px;grid-column:1/-1;
    width:100%;min-width:0;max-width:100%;margin:5px 0;padding:5px 8px;
    color:#2c3640;
}
.vhcp-product-offers > strong {flex:none;font:inherit;font-size:13px;font-weight:650}
.vhcp-product-offers > nav {
    display:flex;align-items:center;flex:1 1 0;min-width:0;gap:5px;padding:1px 0;
    overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;
}
.vhcp-product-offers .vhcp-pdp-badge {
    flex:0 0 auto;max-width:none;padding:3px 7px;text-decoration:none;
    font-size:clamp(11px,2.6vw,12px);font-weight:650;line-height:1.25;
}
.vhcp-product-offers .vhcp-pdp-badge:hover {text-decoration:underline}
.vhcp-product-offers .vhcp-pdp-badge:focus-visible {outline:2px solid #1b4f8f;outline-offset:-2px}

.vhcp-campaign-notice {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 6px 12px;
    width: 100%;
    grid-column: 1 / -1;
    margin: 0 0 12px;
    padding: 9px 12px;
    border-radius: 8px;
    background: #eaf4ff;
    border: 1px solid #bed7f1;
    color: #153e65;
    font-size: 14px;
    line-height: 1.4;
}
.vhcp-campaign-notice > div { display: flex; align-items: baseline; flex-wrap: wrap; gap: 2px 9px; }
.vhcp-campaign-notice strong { font-size: 15px; color: #124d81; }
.vhcp-campaign-notice a { display: inline-block; padding: 4px 0; color: #124d81; font-weight: 600; text-decoration: underline; }
.vhcp-campaign-notice a:focus-visible {
    outline: 2px solid #18599c;
    outline-offset: 2px;
}
:is(.product-img,.image,.product-image,.card-image,a):has(> .vhcp-card-offers) {position:relative}
a:has(> .vhcp-card-offers) {display:block}
.vhcp-card-offers {
    position:absolute;
    bottom:var(--vhcp-badge-bottom,32px);
    top:var(--vhcp-badge-top,auto);
    left:var(--vhcp-badge-inset,5px);
    z-index:4;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:3px;
    width:max-content;
    max-width:min(calc(100% - 2 * max(0px,var(--vhcp-badge-inset,5px))),var(--vhcp-badge-width,100%));
    pointer-events:none;
}
.vh-pce-badge[data-vhcp-lift] {translate:0 var(--vhcp-counter-rise)}
.vhcp-card-offers[data-placement="image"][data-align="right"] {left:auto;right:var(--vhcp-badge-inset,5px);align-items:flex-end}
.vhcp-card-offers[data-placement="caption"] {--vhcp-default-pad-y:2px;position:static;margin:var(--vhcp-caption-y,4px) var(--vhcp-badge-inset,5px) max(4px,var(--vhcp-caption-y,4px))}
[data-vhcp-price-row] {display:flex;align-items:center;flex-wrap:wrap;min-width:0;max-width:100%}
[data-vhcp-price-values] {min-width:0;max-width:100%}
[data-vhcp-price-row] > .vhcp-card-offers {--vhcp-default-pad-y:2px;position:static;flex:0 0 auto;min-width:0;
    margin-inline-start:var(--vhcp-badge-inset,5px);max-width:calc(100% - max(0px,var(--vhcp-badge-inset,5px)))}
.vhcp-card-offers[data-placement="price_right"] {translate:0 calc(var(--vhcp-caption-y,4px) - 4px)}
[data-vhcp-price-row]:has(> [data-placement="price_below"]) {display:block}
.vhcp-card-offers[data-placement="price_below"] {margin-top:var(--vhcp-caption-y,4px)}
.vhcp-card-offers .vhcp-card-badge {
    display:block;max-width:100%;height:var(--vhcp-badge-height,auto);align-content:center;
    border-radius:var(--vhcp-badge-radius,5px);font-size:var(--vhcp-badge-font,11px);font-weight:var(--vhcp-badge-weight,650);
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.25;
    padding:var(--vhcp-badge-pad-top,var(--vhcp-default-pad-y,0px)) var(--vhcp-badge-pad-right,6px)
            var(--vhcp-badge-pad-bottom,var(--vhcp-default-pad-y,0px)) var(--vhcp-badge-pad-left,6px);
}
.vhcp-card-badge[data-family="buy_get"] {background:#eef0ff;border-color:#c0c7eb;color:#343f78;}
.vhcp-card-badge[data-family="volume"] {background:#e9f7f5;border-color:#99c7bd;color:#15574f;}
.vhcp-card-badge[data-family="position"] {background:#fff5e7;border-color:#e1ca9e;color:#6b481a;}
.vhcp-card-badge[data-family="percent"] {background:#eaf7ef;border-color:#a7d3b9;color:#125a39}

[data-vhcp-sale-base="paired"] {display:none !important}
.caption:has(.vhcp-sale-offer) {container-type:inline-size}
.vhcp-sale-offer {
    display:inline-flex !important;
    align-items:baseline;
    flex-wrap:nowrap;
    gap:.18em;
    max-width:100%;
    color:inherit;
    font-family:inherit;
    font-size:clamp(10px,3vw,15px);
    line-height:1.35;
    letter-spacing:-.045em;
    text-transform:none !important;
    vertical-align:baseline;
}
@supports (font-size:1cqi) {
    .caption .vhcp-sale-offer {font-size:clamp(8px,var(--vhcp-fit),15px)}
}
.vhcp-sale-offer > del, .vhcp-sale-offer > strong {
    display:inline !important;
    font-family:inherit;
    white-space:nowrap;
    text-transform:none !important;
}
.vhcp-sale-offer > del {font-size:.88em;font-weight:500;color:#495963;text-decoration:line-through}
.vhcp-sale-offer > strong {font-size:1em;font-weight:700;color:#0e683c}


.vhcp-card-badge[data-family="together"] {background:#f1edff;border-color:#c9bceb;color:#493675;}
.vhcp-together-offers {grid-column:1/-1;width:100%;min-width:0;margin:6px 0 10px}
.vhcp-together-offers details {margin:0;border:0;background:transparent;border-radius:inherit;color:#17364e}
.vhcp-together-offers summary {padding:10px 12px;cursor:pointer;font-weight:600}
.vhcp-together-offers summary small {display:inline;margin-inline-start:8px;color:#47617b;font-weight:500}
.vhcp-together-offers fieldset {display:grid;gap:9px;min-width:0;padding:0 12px 12px;margin:0;border:0}
.vhcp-together-offers label {display:grid;gap:4px;min-width:0;margin:0;font-size:13px;font-weight:600}
.vhcp-together-offers select {width:100%;max-width:100%;box-sizing:border-box;padding:8px;background:#fff;color:#17364e;border:1px solid #b8cce1;border-radius:6px}
/* Rich Together bundle: product pair, add-on detail, savings and verified total. */
.vhcp-together-offers.vhcp-addon {--vhcp-viva-navy:#17364e;--vhcp-viva-blue:#1766a3;--vhcp-viva-bright:#2387d5;--vhcp-viva-soft:#eaf4ff;--vhcp-viva-border:#bed7f1;--vhcp-viva-muted:#60758a;padding:14px 16px;color:var(--vhcp-viva-navy);background:#fff;border:1px solid #d7e0e8;border-radius:16px;font-family:inherit;box-shadow:0 2px 8px rgba(19,54,78,.04)}
.vhcp-addon-heading {display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 8px;font-size:clamp(20px,2vw,28px);line-height:1.15;font-weight:800;color:#17364e}
.vhcp-addon fieldset {display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:0;padding:0}
.vhcp-addon fieldset>label,.vhcp-addon fieldset>p {grid-column:1/-1}
.vhcp-addon-pair {display:flex;align-items:center;justify-content:center;gap:clamp(16px,4vw,42px);min-width:0;padding:10px 8px 18px;border-bottom:1px solid #e3e8ed}
.vhcp-addon-pair>img,.vhcp-addon-reward-link>img {display:block;box-sizing:border-box;width:104px;height:156px;max-width:none;flex:none;object-fit:contain;border:1px solid #e0e5e9;border-radius:11px;background:#fff}
.vhcp-addon-reward-link {position:relative;display:block;flex:none;border:0;border-radius:11px;text-decoration:none!important}
.vhcp-addon-reward-link:focus-visible,.vhcp-addon-product-link:focus-visible {outline:2px solid #1b4f8f;outline-offset:3px}
.vhcp-addon-plus {font-size:40px;line-height:1;font-weight:800;color:#17364e}
.vhcp-addon-percent {position:absolute;z-index:1;top:-11px;right:-13px;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--vhcp-viva-bright);color:#fff;font-size:23px;font-weight:900;line-height:1;box-shadow:0 0 0 3px #fff,0 2px 7px rgba(23,102,163,.25)}
.vhcp-addon-product {display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid #e3e8ed;min-width:0}
.vhcp-addon-product-link {display:flex;align-items:center;gap:12px;min-width:0;color:#17364e!important;text-decoration:none!important}
.vhcp-addon-product-link img {display:block;box-sizing:border-box;width:64px;height:96px;flex:none;object-fit:contain;border:1px solid #e0e5e9;border-radius:9px;background:#fff}
.vhcp-addon-product-link strong {min-width:0;font-size:15px;line-height:1.35;font-weight:650;color:#2e3944;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.vhcp-addon-product-prices {display:grid;grid-template-columns:auto auto;align-items:baseline;justify-content:end;gap:4px 9px;text-align:right;white-space:nowrap}
.vhcp-addon-product-old {color:#7a8086;font-size:13px;font-weight:500}
.vhcp-addon-product-new {color:var(--vhcp-viva-blue);font-size:19px;font-weight:800}
.vhcp-addon-saving {grid-column:1/-1;justify-self:end;max-width:100%;padding:5px 9px;border:1px solid var(--vhcp-viva-border);border-radius:8px;background:var(--vhcp-viva-soft);color:var(--vhcp-viva-blue);font-size:13px;font-weight:800;line-height:1.25;text-align:right;white-space:normal}
.vhcp-addon-actions {display:grid;grid-template-columns:minmax(0,1fr) minmax(165px,auto);align-items:center;gap:9px 14px;min-width:0;padding-top:14px}
.vhcp-addon-actions p {grid-column:1/-1;margin:0;font-size:12px;line-height:1.4}
.vhcp-addon-actions p:empty {display:none}
.vhcp-addon-total {display:flex;align-items:baseline;gap:5px 8px;flex-wrap:wrap;min-width:0}
.vhcp-addon-total small {font-size:16px;font-weight:750;color:#25313d}
.vhcp-addon-total small::after {content:':'}.vhcp-addon-total del {color:#7a8086;font-size:14px;white-space:nowrap}
.vhcp-addon-total strong {color:var(--vhcp-viva-blue);font-size:22px;font-weight:850;white-space:nowrap}
.vhcp-addon-actions .vhcp-together-add {width:100%;min-width:0;min-height:48px;padding:10px 15px!important;white-space:normal;line-height:1.2;background:#fff!important;color:var(--vhcp-viva-blue)!important;border:2px solid var(--vhcp-viva-blue)!important;border-radius:10px!important;font-size:16px;font-weight:800!important;box-shadow:none}
.vhcp-addon-actions .vhcp-together-add:hover,.vhcp-addon-actions .vhcp-together-add:focus-visible {background:var(--vhcp-viva-blue)!important;color:#fff!important}
@media(max-width:767px){
    .vhcp-together-offers.vhcp-addon {padding:12px 14px;border-radius:14px}
    .vhcp-addon-heading {font-size:20px;margin-bottom:6px}
    .vhcp-addon-pair {gap:18px;padding:8px 4px 14px}
    .vhcp-addon-pair>img,.vhcp-addon-reward-link>img {width:80px;height:120px}
    .vhcp-addon-plus {font-size:30px}
    .vhcp-addon-percent {top:-8px;right:-9px;width:34px;height:34px;font-size:18px;box-shadow:0 0 0 2px #fff,0 2px 5px rgba(23,102,163,.22)}
    .vhcp-addon-product {grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:11px 0}
    .vhcp-addon-product-link {gap:8px}.vhcp-addon-product-link img {width:52px;height:78px;border-radius:7px}
    .vhcp-addon-product-link strong {font-size:13px;-webkit-line-clamp:3}
    .vhcp-addon-product-prices {gap:2px 6px}.vhcp-addon-product-old {font-size:11px}.vhcp-addon-product-new {font-size:16px}
    .vhcp-addon-saving {padding:4px 6px;font-size:11px}
    .vhcp-addon-actions {grid-template-columns:minmax(0,1fr) minmax(145px,auto);gap:7px 10px;padding-top:11px}
    .vhcp-addon-total small {font-size:14px}.vhcp-addon-total del {font-size:11px}.vhcp-addon-total strong {font-size:18px}
    .vhcp-addon-actions .vhcp-together-add {min-height:44px;padding:8px 10px!important;font-size:14px}
}
@media(max-width:360px){
    .vhcp-addon-product {grid-template-columns:1fr}.vhcp-addon-product-prices {justify-content:start;text-align:left}.vhcp-addon-saving {justify-self:start}
    .vhcp-addon-actions {grid-template-columns:1fr}.vhcp-addon-actions .vhcp-together-add {grid-column:1}.vhcp-addon-total {grid-column:1}
}
.vhcp-together-axes {display:grid;gap:5px}
.vhcp-together-pages {display:flex;align-items:center;gap:8px}
.vhcp-together-offers [hidden] {display:none!important}
.vhcp-together-offers fieldset>p,.vhcp-together-offers dl {margin:0}
.vhcp-together-offers fieldset>p:empty,.vhcp-together-axes:empty {display:none}
.vhcp-together-offers dl>div {display:flex;justify-content:space-between;gap:8px;padding:3px 0}
.vhcp-together-offers dt {min-width:0;font-weight:500;overflow-wrap:anywhere}
.vhcp-together-offers dd {margin:0;white-space:nowrap}
.vhcp-together-offers dl>div:last-child {color:#155a40;font-weight:700}
.vhcp-together-offers button {padding:7px 10px;color:#175c93;background:#fff;border:1px solid #b1c5d7;border-radius:6px;cursor:pointer}
.vhcp-together-offers button.vhcp-together-add {font-weight:700}
.vhcp-together-offers button:disabled {opacity:.55;cursor:default}
.vhcp-together-offers a {color:#165b8b;text-decoration:underline}
.vhcp-gifts {box-sizing:border-box;width:100%;max-width:1200px;margin:12px auto;padding:14px;color:#17364e;background:#f4f9ff;border:1px solid #c4d8e9;border-radius:10px;text-align:start}
.vhcp-gifts[hidden],.vhcp-gifts [hidden]{display:none!important}
.vhcp-gifts h3 {font-size:17px;margin:0 0 8px}
.vhcp-gifts article {display:grid;gap:6px;font-size:14px;min-width:0}
.vhcp-gifts article+article {border-top:1px solid #d4e1ed;margin-top:10px;padding-top:10px}
.vhcp-gifts p,.vhcp-gifts fieldset {margin:0}
.vhcp-gifts p:empty,.vhcp-gifts small:empty {display:none}
.vhcp-gifts summary {font-weight:600;cursor:pointer;color:#155991}
.vhcp-gifts fieldset {border:0;padding:8px 0 0;display:grid;gap:7px;max-width:500px;min-width:0}
.vhcp-gifts label {display:grid;gap:4px;margin:0;min-width:0}
.vhcp-gifts select,.vhcp-gifts button {box-sizing:border-box;min-width:0;padding:7px 9px;color:#17364e;background:#fff;border:1px solid #b8cce1;border-radius:6px;font:inherit}
.vhcp-gifts select {width:100%}
.vhcp-gifts button {width:fit-content;cursor:pointer}
.vhcp-gifts button.vhcp-gift-claim {background:#1766a3;color:white;border-color:#1766a3;font-weight:600}
.vhcp-gifts button:disabled {opacity:.55;cursor:default}
.vhcp-gift-pages,.vhcp-gift-line {display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.vhcp-gifts a {color:#165b8b;text-decoration:underline}

[data-vhcp-shipping-status] {box-sizing:border-box;width:100%;max-width:1200px;margin:10px auto;padding:12px 14px;border:1px solid #bbd5c8;border-radius:10px;background:#f4faf6;color:#204b39}
[data-vhcp-shipping-status][hidden],[data-vhcp-shipping-status] a[hidden]{display:none!important}
[data-vhcp-shipping-status] p {margin:4px 0}
[data-vhcp-shipping-status] a {color:#165b8b;text-decoration:underline}
.vhcp-card-badge[data-family="free_shipping"] {background:#ebf6ee;color:#155338;border-color:#83b595}

#q-checkout #payment-shipping > .form-group[data-vhcp-sole-shipping] {display:none!important}

/* Homepage artwork is the link. Keep both uploaded device variants uncropped. */
.vhcp-home-showcase {box-sizing:border-box;display:grid;gap:var(--vhcp-gap,12px);width:100%;max-width:1180px;min-width:0;grid-column:1/-1;margin:0 auto 14px;padding:8px clamp(8px,1.4vw,18px) 0;scroll-margin-top:100px}
.vhcp-home-showcase[hidden]{display:none!important}
.vhcp-home-grid {display:grid;grid-template-columns:repeat(var(--vhcp-desktop-cols,3),minmax(0,1fr));gap:var(--vhcp-gap,12px);align-items:start}
.vhcp-home-stage {position:relative;isolation:isolate;touch-action:pan-y pinch-zoom;width:fit-content;min-width:0;max-width:100%;margin-inline:auto}
.vhcp-home-showcase :is(.vhcp-home-fixed,.vhcp-home-feature) {display:block;width:fit-content;max-width:100%;min-width:0;margin-inline:auto;color:inherit;text-decoration:none;line-height:0;border-radius:clamp(9px,1.2vw,16px)}
.vhcp-home-showcase picture {display:block}
.vhcp-home-showcase img {display:block;max-width:100%;width:auto;height:auto;margin-inline:auto;border-radius:clamp(9px,1.2vw,16px);object-fit:contain}
.vhcp-home-fixed img {max-height:var(--vhcp-fixed-desktop-height,none)}
.vhcp-home-feature img {max-height:var(--vhcp-carousel-desktop-height,none)}
.vhcp-home-dots {position:absolute;bottom:3px;left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;max-width:100%;z-index:1}
.vhcp-home-dots .vhcp-home-dot {position:relative;display:grid;place-items:center;width:26px;height:28px;flex:0 1 26px;margin:0;padding:0;border:0;background:transparent;box-shadow:none;cursor:pointer;appearance:none}
.vhcp-home-dot::after {content:'';box-sizing:border-box;width:9px;height:9px;border-radius:50%;background:rgba(15,32,43,.64);border:1.5px solid #fff;box-shadow:0 0 0 1px #16232a77}
.vhcp-home-dot[aria-pressed="true"]::after {background:#fff;box-shadow:0 0 0 1px #243647,0 1px 4px #0a1a2577}
.vhcp-home-showcase :is(a,button):focus-visible {outline:3px solid #278bdd;outline-offset:-3px}
@media(max-width:767px) {
    .vhcp-home-grid {grid-template-columns:repeat(var(--vhcp-mobile-cols,2),minmax(0,1fr))}
    .vhcp-home-fixed img {max-height:var(--vhcp-fixed-mobile-height,none)}
    .vhcp-home-feature img {max-height:var(--vhcp-carousel-mobile-height,none)}
}

/* Twelve square tracks across the shop's 1145px top area, four on phones.
   The container's content box is the reference for both dimensions. */
.vhcp-home-showcase.vhcp-home-board {container-type:inline-size;display:block;max-width:1145px;width:100%;padding:0;margin:10px auto 14px}
.vhcp-board-grid {display:grid;gap:var(--vhcp-gap);grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:calc((100cqw - 11 * var(--vhcp-gap)) / 12)}
.vhcp-board-slot {container-type:inline-size;grid-area:var(--vhcp-d-row) / var(--vhcp-d-col) / span var(--vhcp-d-rows) / span var(--vhcp-d-span);position:relative;min-width:0;min-height:0;overflow:hidden;border-radius:clamp(6px,1vw,14px);isolation:isolate;touch-action:pan-y pinch-zoom}
.vhcp-board-slot .vhcp-home-board-link,.vhcp-board-slot picture,.vhcp-board-slot img {display:block;width:100%;height:100%;margin:0;border-radius:0}
.vhcp-board-slot img {object-fit:cover;object-position:center}
.vhcp-board-slot .vhcp-home-dots {bottom:1px}
.vhcp-board-slot .vhcp-home-dot {min-width:0}
@container(max-width:110px) {
    .vhcp-board-slot .vhcp-home-dot {height:18px;width:20px;flex-basis:20px}
    .vhcp-board-slot .vhcp-home-dot::after {width:7px;height:7px}
}
@media(min-width:768px) and (max-width:1144px) {
    .vhcp-home-showcase.vhcp-home-board {width:calc(100% - 20px)}
}
@media(max-width:767px) {
    .vhcp-home-showcase.vhcp-home-board {width:calc(100% - 16px);margin-top:8px}
    .vhcp-board-grid {grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:calc((100cqw - 3 * var(--vhcp-gap)) / 4)}
    .vhcp-board-slot {grid-area:var(--vhcp-m-row) / var(--vhcp-m-col) / span var(--vhcp-m-rows) / span var(--vhcp-m-span)}
}
