/* Campaign colour belongs inside artwork and accents; shopping surfaces stay white. */
body:has([data-hero]) { --vo-gutter: clamp(16px,3.472222vw,50px); }
body:has([data-hero]) .vo-featured-offers { background: #fff; padding-block: 30px 36px; }
body:has([data-hero]) .vo-lifestyle-section { background: #fff; }
body:has([data-hero]) .vo-lifestyle-tile { background: #f5f5f5; }
body:has([data-hero]) .vo-lifestyle-tile img { mix-blend-mode: multiply; }
.vo-offer-teaser { margin-block: 8px 28px; }
.vo-offer-teaser[hidden] { display: none; }
.vo-offer-teaser-link { position: relative; isolation: isolate; display: flex; align-items: center; gap: 28px; min-height: 126px; overflow: hidden; padding: 24px 36px; border-radius: 14px; color: #fff; background: radial-gradient(ellipse at 90% 0%,#ffffff16,transparent 65%),linear-gradient(110deg,var(--vo-offer-start,#18151f),var(--vo-offer-end,#5d3d73)); }
.vo-offer-teaser-link::after { content: ''; position: absolute; z-index: -1; width: 310px; height: 310px; right: 10%; top: -230px; border-radius: 50%; border: 1px solid #ffffff1a; box-shadow: 0 0 0 35px #ffffff04; }
.vo-offer-teaser-benefit { display: flex; align-items: baseline; gap: 10px; padding-right: 28px; border-right: 1px solid #ffffff30; flex: none; }
.vo-offer-teaser-benefit strong { font-size: 64px; font-weight: 600; line-height: 1; letter-spacing: -.07em; }
.vo-offer-teaser-benefit > span { font-size: 12px; letter-spacing: .15em; }
.vo-offer-teaser-copy { display: grid; gap: 7px; flex: 1; min-width: 0; }
.vo-offer-teaser-copy .vo-eyebrow { color: #ffffffa6; font-size: 9px; letter-spacing: .14em; }
.vo-offer-teaser-copy > strong { font-size: clamp(18px,1.7vw,26px); font-weight: 500; letter-spacing: -.035em; line-height: 1.15; }
.vo-offer-teaser-copy > span:last-child { font-size: 11px; color: #ffffffb8; }
.vo-offer-teaser-action { display: inline-flex; align-items: center; justify-content: center; gap: 26px; flex: none; min-height: 40px; padding: 10px 22px; border-radius: 999px; background: #fff; color: #111; font-size: 11px; font-weight: 500; transition: transform .2s ease; }
.vo-offer-teaser-link:hover .vo-offer-teaser-action { transform: translateX(3px); }
body:has([data-hero]) .vo-offer-campaign-heading { color: #fff; background: radial-gradient(ellipse at 100% 0%,var(--vo-offer-end,#383038),transparent 65%),#121212; box-shadow: none; border: 1px solid #ffffff12; border-radius: 14px; padding: 26px 30px; margin: 0 0 24px; gap: 28px; }
body:has([data-hero]) .vo-offer-campaign-heading::after { display: none; }
body:has([data-hero]) .vo-offer-benefit { padding: 0 28px 0 0; border: 0; border-right: 1px solid #ffffff26; border-radius: 0; margin: 0; align-self: stretch; color: #f0e6d4; background: transparent; }
body:has([data-hero]) .vo-offer-benefit strong { font-size: 58px; font-weight: 500; }
body:has([data-hero]) .vo-offer-benefit > span { font-size: 9px; margin-top: 7px; letter-spacing: .25em; }
body:has([data-hero]) .vo-offer-campaign-heading h2 { font-size: clamp(22px,2vw,28px); font-weight: 500; color: #fff; margin: 9px 0; letter-spacing: -.035em; }
body:has([data-hero]) .vo-offer-campaign-meta { gap: 10px; }
body:has([data-hero]) .vo-offer-campaign-meta .vo-eyebrow { color: #d5c4a7; font-size: 9px; letter-spacing: .16em; }
body:has([data-hero]) .vo-offer-campaign-meta > span { color: #ffffffb8; border-color: #ffffff26; background: transparent; font-size: 9px; padding: 3px 8px; }
body:has([data-hero]) .vo-offer-campaign-description { color: #ffffffa6; font-size: 11px; }
body:has([data-hero]) .vo-offer-campaign-heading .vo-offer-browse { background: #f0e6d4; border-color: #f0e6d4; color: #171717; min-height: 40px; font-size: 11px; padding: 10px 22px; }
body:has([data-hero]) .vo-featured-offers .vo-product-rail { padding-block: 0; }
body:has([data-hero]) .vo-featured-offers .vo-card-body > .flex:first-child { min-height: 38px; }
body:has([data-hero]) .vo-featured-offers .vo-card-body h3 { min-height: 0; }
@media(max-width:639px) {
    .vo-offer-teaser { margin-block: 4px 18px; }
    .vo-offer-teaser-link { display: grid; grid-template-columns: auto minmax(0,1fr); min-height: 0; padding: 18px 16px; gap: 12px 16px; border-radius: 10px; }
    .vo-offer-teaser-benefit { grid-row: 1 / 3; gap: 6px; padding-right: 14px; }
    .vo-offer-teaser-benefit strong { font-size: 42px; }
    .vo-offer-teaser-benefit > span { font-size: 9px; }
    .vo-offer-teaser-copy { gap: 5px; }
    .vo-offer-teaser-copy > strong { font-size: 17px; }
    .vo-offer-teaser-copy .vo-eyebrow { display: none; }
    .vo-offer-teaser-copy > span:last-child { font-size: 9px; }
    .vo-offer-teaser-action { grid-column: 2; justify-self: start; min-height: 30px; padding: 7px 14px; font-size: 10px; margin: 0; gap: 16px; }
    body:has([data-hero]) .vo-featured-offers { padding-block: 22px 28px; }
    body:has([data-hero]) .vo-offer-campaign-heading { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 14px 18px; padding: 22px 18px; margin-bottom: 18px; }
    body:has([data-hero]) .vo-offer-benefit { padding: 4px 18px 4px 0; grid-row: 1 / 3; }
    body:has([data-hero]) .vo-offer-benefit strong { font-size: 40px; }
    body:has([data-hero]) .vo-offer-campaign-heading h2 { font-size: 19px; line-height: 1.2; }
    body:has([data-hero]) .vo-offer-campaign-meta > span { display: none; }
    body:has([data-hero]) .vo-offer-campaign-heading .vo-offer-browse { grid-column: 2; justify-self: start; min-height: 32px; font-size: 10px; padding: 7px 14px; }
}
@media(prefers-reduced-motion:reduce) { .vo-offer-teaser-action { transition: none; } }

/* Offer cards keep native artwork and amounts, with a quieter compact footer. */
body:has([data-hero]) .vo-featured-offers .vo-card-photo { aspect-ratio: 1.12; }
body:has([data-hero]) .vo-featured-offers .vo-card-photo img { padding: 22px; }
body:has([data-hero]) .vo-featured-offers .vo-card-body { padding-top: 14px; }
body:has([data-hero]) .vo-featured-offers .vo-card-body > .flex:first-child { min-height: 30px; }
body:has([data-hero]) .vo-featured-offers .vo-included-offers { background: transparent; border: 0; border-top: 1px solid #ececec; padding: 10px 0 0; margin-top: 12px; }
body:has([data-hero]) .vo-featured-offers .vo-offer-included { font-size: 10px; line-height: 1.5; color: #444; }
body:has([data-hero]) .vo-featured-offers .vo-offer-terms { font-size: 9px; color: #888; }
@media(max-width:639px) {
    body:has([data-hero]) .vo-featured-offers .vo-card-photo img { padding: 10px; }
    body:has([data-hero]) .vo-featured-offers .vo-card-body { padding-top: 10px; }
    body:has([data-hero]) .vo-featured-offers .vo-offer-included { font-size: 9px; }
    body:has([data-hero]) .vo-featured-offers .vo-offer-terms { font-size: 8px; }
}
