/* C14: cart, purchase choices and the two new product regions. */
.policy-wrap { max-width: 760px; }
.policy-copy { font: 400 16px/1.7 var(--font-body); }
.policy-copy p,body[data-page="privacy"] .policy-copy p { margin: 14px 0; line-height: 1.7; }
.policy-copy h2 { margin: 30px 0 10px; font: 600 23px/1.35 var(--font-body); text-transform: none; }
.policy-wrap h1 { line-height: 1.15; }
.policy-related { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 30px; padding-top: 20px; border-top: 1px solid #777; }
/* C15 populated drawer: fixed header/top, one scrolling body, fixed checkout. */
#cart-dialog:not(.cart-empty) { width:min(420px,100vw); max-width:100vw; height:100dvh; max-height:100dvh; padding:0 18px; background:#fff; color:#181818; overflow:hidden; }
#cart-dialog:not(.cart-empty)[open] { display:flex; flex-direction:column; }
#cart-dialog:not(.cart-empty) .dialog-heading { flex:none; background:#fff; margin:0; padding:10px 0; border-bottom:1px solid #e5e5e5; }
#cart-dialog:not(.cart-empty) .dialog-heading h2 { font:700 22px/1.2 var(--font-body); margin:0; }
#cart-dialog:not(.cart-empty) .dialog-heading button { color:#171717; min-width:44px; min-height:44px; }
#cart-dialog .commerce-content { display:flex; flex:1; flex-direction:column; min-height:0; overflow:hidden; font:400 13px/1.45 var(--font-body); }
#cart-dialog .commerce-cart-top { flex:none; }
#cart-dialog .commerce-unlocked { padding:9px 5px; margin:10px 0; background:#faf4df; border:1px solid #e9d891; border-radius:5px; text-align:center; font-size:10px; font-weight:700; }
#cart-dialog .cart-upgrade-group { margin:7px 0; }
#cart-dialog .cart-upgrade-group h3 { font:700 11px/1.3 var(--font-body); margin:0 0 4px; }
#cart-dialog .cart-upgrade-group > div { display:flex; gap:6px; }
#cart-dialog .cart-upgrade-group button { flex:1; min-width:0; min-height:44px; padding:6px 8px; border:1px solid #d6b95c; border-radius:5px; background:#fbf5e3; color:#171717; }
#cart-dialog .cart-upgrade-group strong { display:flex; justify-content:space-between; gap:5px; flex-wrap:wrap; font-size:11px; }
#cart-dialog .cart-upgrade-group small { display:none; }
#cart-dialog .commerce-scroll { flex:1; min-height:0; overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#c9c9c9 transparent; }
#cart-dialog .commerce-row { display:grid; grid-template-columns:52px minmax(0,1fr) auto; align-items:center; gap:10px; padding:12px 0; border-bottom:1px solid #e9e9e9; }
#cart-dialog .commerce-row img { width:52px; height:76px; object-fit:contain; }
#cart-dialog .commerce-row img.cart-ebook-art { width:44px; height:66px; justify-self:center; }
#cart-dialog .commerce-row h3 { font:700 12px/1.4 var(--font-body); margin:0 0 3px; color:#171717; overflow-wrap:break-word; }
#cart-dialog .commerce-row p { margin:2px 0 6px; font-size:11px; line-height:1.4; }
#cart-dialog .commerce-row-price { display:flex; flex-direction:column; gap:3px; text-align:right; white-space:nowrap; font-size:13px; }
#cart-dialog .commerce-row-price del { color:#757575; font-size:11px; }
#cart-dialog .commerce-stepper { display:inline-flex; align-items:center; border:1px solid #d5d5d5; border-radius:4px; }
#cart-dialog .commerce-stepper button { width:38px; height:44px; padding:0; font-size:19px; color:#171717; }
#cart-dialog .commerce-stepper span { min-width:25px; text-align:center; font-size:12px; }
#cart-dialog .commerce-remove { display:block; min-height:30px; padding:5px 0; color:#626262; text-decoration:underline; font:400 11px/1.4 var(--font-body); }
#cart-dialog .free-tag { display:inline-block; font-size:9px; line-height:1.4; font-weight:700; color:#5b4911; background:#faf0c9; padding:3px 5px; border-radius:3px; }
#cart-dialog .commerce-summary { padding:12px 0; font-size:11px; }
#cart-dialog .commerce-summary dl, #cart-dialog .commerce-checkout-footer dl { margin:0; }
#cart-dialog .commerce-summary dl > div, #cart-dialog .commerce-checkout-footer dl > div { display:flex; justify-content:space-between; gap:12px; margin:5px 0; }
#cart-dialog .commerce-summary dd, #cart-dialog .commerce-checkout-footer dd { margin:0; font-weight:700; white-space:nowrap; }
#cart-dialog .commerce-basis { color:#666; font-size:10px; line-height:1.5; margin:10px 0 0; }
#cart-dialog .commerce-checkout-footer { flex:none; background:#fff; border-top:1px solid #ddd; padding:9px 0 max(10px,env(safe-area-inset-bottom)); }
#cart-dialog .commerce-saving { color:#635015; font-size:12px; font-weight:700; }
#cart-dialog .commerce-total { font-size:20px; font-weight:700; }
#cart-dialog .commerce-checkout.button { width:100%; min-width:0; min-height:46px; margin-top:9px; padding:10px; font-size:16px; background:linear-gradient(#ffe796,#d6b95c); color:#080808; border:1px solid #c09b34; box-shadow:0 3px 12px #b8953325; }
#cart-dialog .commerce-checkout-status { font-size:11px; line-height:1.35; margin:6px 0; }
#cart-dialog .commerce-checkout-status:empty { display:none; }
#cart-dialog .commerce-guarantee { font-size:9px; line-height:1.4; color:#626262; text-align:center; margin:9px 0 0; }
#cart-dialog .commerce-guarantee a { text-decoration:underline; }
/* C15 comparison matrices. All rules stay inside the purchase dialog. */
dialog.purchase-modal { width:min(1100px,calc(100vw - 40px)); max-width:1100px; max-height:calc(100dvh - 32px); margin:auto; padding:0; color:#fff; background:#080808; border:1px solid #d6b95c; border-radius:12px; box-shadow:0 0 28px #d6b95c20; overflow:hidden; transform:translateY(12px); opacity:0; transition:transform 260ms ease,opacity 260ms ease; }
.purchase-modal[data-drawer-state=opening],.purchase-modal[data-drawer-state=open] { transform:translateY(0); opacity:1; }
.purchase-modal::backdrop { background:#000c; backdrop-filter:blur(4px); opacity:0; transition:opacity 260ms ease; }
.purchase-modal[data-drawer-state=opening]::backdrop,.purchase-modal[data-drawer-state=open]::backdrop { opacity:1; }
.purchase-modal .upsell-header { position:relative; display:flex; align-items:center; justify-content:center; min-height:44px; }
.purchase-modal .upsell-header img { width:135px; height:auto; }
.purchase-modal .upsell-header button { position:absolute; right:5px; top:0; width:44px; height:44px; font-size:28px; color:#fff; }
.purchase-modal .upsell-content { padding:8px 22px 14px; }
.purchase-modal .upsell-content > h2 { color:var(--rox-gold); font:400 clamp(24px,2.5vw,32px)/1.15 var(--font-display); text-align:center; margin:0 0 7px; }
.purchase-modal .upsell-content > p { font:400 13px/1.4 var(--font-body); text-align:center; margin:0 0 12px; }
.purchase-modal .upsell-matrix { width:100%; border-collapse:collapse; table-layout:fixed; font:500 14px/1.2 var(--font-body); }
.purchase-modal .upsell-feature-column { width:24%; }
.purchase-modal .upsell-column-current { background:#151515; }
.purchase-modal .upsell-column-popular { background:#d6b95c13; }
.purchase-modal .upsell-column-best { background:#b8192510; }
.purchase-modal .upsell-matrix th,.purchase-modal .upsell-matrix td { padding:8px 9px; border-bottom:1px solid #ffffff26; border-right:1px solid #ffffff16; text-align:center; }
.purchase-modal .upsell-matrix tr > :last-child { border-right:0; }
.purchase-modal .upsell-matrix tbody th { text-align:left; font-weight:500; font-size:11px; }
.purchase-modal .upsell-matrix tbody td { font-weight:600; height:35px; }
.purchase-modal .upsell-matrix thead th { padding:5px 6px 8px; font-weight:400; }
.purchase-modal .upsell-matrix thead td { background:#080808; border-right:1px solid #ffffff16; }
.purchase-modal .upsell-matrix thead strong { display:block; font:400 20px/1.2 var(--font-heading); margin:5px 0; }
.purchase-modal .upsell-tag { display:inline-block; padding:3px 6px; border-radius:3px; color:#111; background:var(--rox-gold); font:700 9px/1.2 var(--font-body); white-space:nowrap; }
.purchase-modal .upsell-tag-current { background:#444; color:#eee; }
.purchase-modal .upsell-tag-best { background:#c81c29; color:#fff; }
.purchase-modal .upsell-mini-art { width:76px; height:48px; object-fit:contain; margin:3px auto; }
.purchase-modal .upsell-top-price { display:block; font-size:17px; font-weight:700; }
.purchase-modal .upsell-unit { display:block; font-size:11px; color:#ccc; margin-top:3px; }
.purchase-modal .upsell-matrix small { font:inherit; font-size:11px; }
.purchase-modal [data-compare-row=savings] { color:#ead37f; }
.purchase-modal .upsell-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; margin-top:12px; }
.purchase-modal[data-from-bottles="3"] .upsell-actions { grid-template-columns:repeat(2,minmax(0,1fr)); }
.purchase-modal .upsell-actions .button { min-width:0; min-height:48px; padding:8px; font:700 12px/1.25 var(--font-body); color:#000; background:var(--rox-gold); border-radius:5px; border:1px solid #e9cf78; }
.purchase-modal .upsell-actions [data-choice-bottles="6"] { border-color:#dc3541; }
.purchase-modal .upsell-actions .upsell-continue { background:#3b3b3b; border-color:#888; color:#fff; }
.purchase-modal .upsell-actions .button:hover { filter:brightness(1.12); }
.purchase-modal .upsell-actions .button > span { font:inherit; }
.purchase-modal .upsell-mobile-row { display:none; }
.purchase-modal .upsell-content .upsell-basis { font-size:10px; line-height:1.3; color:#bdbdbd; margin:9px 0 0; }
.purchase-modal .upsell-content .upsell-callout { color:var(--rox-gold); font-size:13px; font-weight:700; margin:8px 0 0; }
.purchase-modal .upsell-callout:empty,.purchase-modal [data-purchase-status]:empty,.purchase-modal .upsell-shipping,.purchase-modal .upsell-mobile-label { display:none; }
.purchase-modal button:disabled { cursor:wait; opacity:.7; }
@media(max-width:749px) {
 dialog.purchase-modal { width:calc(100vw - 16px); max-height:calc(100dvh - 16px); border-radius:9px; }
 .purchase-modal .upsell-header img { width:114px; }
 .purchase-modal .upsell-content { padding:4px 10px 10px; }
 .purchase-modal .upsell-content > h2 { font-size:22px; line-height:1.1; margin-bottom:6px; }
 .purchase-modal .upsell-content > p { font-size:11px; line-height:1.3; margin-bottom:9px; }
 .purchase-modal .upsell-desktop-label,.purchase-modal .upsell-desktop-row,.purchase-modal .upsell-mini-art,.purchase-modal .upsell-top-price,.purchase-modal .upsell-unit { display:none; }
 .purchase-modal .upsell-mobile-label { display:inline; }
 .purchase-modal .upsell-mobile-row { display:table-row; }
 .purchase-modal .upsell-feature-column { width:25%; }
 .purchase-modal[data-from-bottles="3"] .upsell-feature-column { width:33%; }
 .purchase-modal .upsell-matrix { font-size:12px; }
 .purchase-modal .upsell-matrix th,.purchase-modal .upsell-matrix td { padding:6px 3px; }
 .purchase-modal .upsell-matrix tbody td { height:32px; }
 .purchase-modal .upsell-matrix tbody th { font-size:9px; line-height:1.15; }
 .purchase-modal .upsell-matrix small { display:block; font-size:10px; line-height:1.15; }
 .purchase-modal .upsell-matrix thead th { padding:2px 2px 5px; }
 .purchase-modal .upsell-matrix thead strong { font-size:14px; margin:4px 0 0; }
 .purchase-modal .upsell-tag { font-size:7px; padding:3px 4px; }
 .purchase-modal .upsell-actions,.purchase-modal[data-from-bottles="3"] .upsell-actions { display:flex; flex-direction:column; gap:5px; margin-top:8px; }
 .purchase-modal .upsell-actions .button { min-height:44px; height:44px; font-size:12px; }
 .purchase-modal .upsell-actions [data-choice-bottles="6"] { order:0; }
 .purchase-modal .upsell-actions [data-choice-bottles="3"] { order:1; }
 .purchase-modal .upsell-actions .upsell-continue { order:2; font-size:11px; }
 .purchase-modal .upsell-content .upsell-shipping { display:block; font-size:8px; line-height:1.3; margin:8px 0 0; }
 .purchase-modal[data-from-bottles="3"] .upsell-shipping { display:none; }
 .purchase-modal .upsell-content .upsell-basis { font-size:8px; margin-top:7px; }
 .purchase-modal .upsell-content .upsell-callout { font-size:11px; margin-top:6px; }
}
@media(max-width:749px) and (max-height:700px) {
 .purchase-modal .upsell-content > h2 { font-size:20px; }
 .purchase-modal .upsell-matrix th,.purchase-modal .upsell-matrix td { padding-block:5px; }
 .purchase-modal .upsell-matrix tbody td { height:29px; }
 .purchase-modal .upsell-content > p { margin-bottom:7px; }
}
@media(min-width:750px) and (max-height:780px) {
 .purchase-modal .upsell-mini-art { height:32px; }
 .purchase-modal .upsell-matrix tbody td { height:34px; }
 .purchase-modal .upsell-matrix th,.purchase-modal .upsell-matrix td { padding-block:7px; }
 .purchase-modal .upsell-content > h2 { font-size:27px; }
}
@media(prefers-reduced-motion:reduce) { dialog.purchase-modal,.purchase-modal::backdrop { transition-duration:1ms; } }
.c14-gifts { text-align: center; margin: 26px 0 0; }
.c14-gifts h3 { color: var(--rox-gold); font: 700 22px/1.3 var(--font-body); margin: 0 0 8px; }
.c14-gifts p { font: 400 13px/1.5 var(--font-body); margin: 8px auto; max-width: 420px; }
.c14-gifts .gift-value { color: #ead37f; font-weight: 700; font-size: 12px; }
.c14-gifts > img { width: min(100%,360px); height: auto; object-fit: contain; margin: 8px auto; display: block; }
.c14-gifts button { min-height: 44px; font-size: 12px; text-decoration: underline; }
/* C15 pump uses the site's black section and main gold CTA family. */
.roxhydra-section { background:var(--black); }
.roxhydra-section .roxhydra-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:48px; }
.roxhydra-section .roxhydra-photo { display:block; width:100%; height:auto; border-radius:12px; }
.roxhydra-section .section-kicker { text-align:left; margin-bottom:10px; }
.roxhydra-section .roxhydra-copy h2 { text-align:left; color:var(--rox-gold); margin:0 0 14px; font-size:clamp(36px,4vw,52px); }
.roxhydra-section .roxhydra-copy p { font:400 16px/1.6 var(--font-body); }
.roxhydra-section .roxhydra-copy .roxhydra-price { font-size:24px; font-weight:700; color:var(--rox-gold); margin:0 0 18px; }
.roxhydra-section .roxhydra-cta { width:100%; min-height:66px; padding:12px 14px; margin-top:26px; gap:14px; border:1px solid #ffedb0; border-radius:6px; background:linear-gradient(110deg,#f9dd87 0%,#d6b95c 50%,#efcf73 100%); color:#000; font:400 clamp(16px,1.7vw,23px)/1.15 var(--font-heading); box-shadow:inset 0 1px 1px #fff9,0 0 12px #d6b95cb3,0 0 32px #d6b95c6b,0 0 52px #d6b95c2e; }
.roxhydra-section .roxhydra-cta > span { font:inherit; }
.roxhydra-section .roxhydra-cta small { display:block; font:600 11px/1.3 var(--font-body); margin-top:5px; }
.roxhydra-section .roxhydra-cta svg { color:#000; flex:0 0 23px; }
.roxhydra-section .roxhydra-cta:is(:hover,:focus-visible) { box-shadow:inset 0 1px 1px #fffc,0 0 16px #d6b95ce0,0 0 38px #d6b95c80,0 0 56px #d6b95c40; }
@media(max-width:749px) {
 .roxhydra-section .roxhydra-grid { grid-template-columns:1fr; gap:24px; }
 .roxhydra-section .roxhydra-cta { font-size:17px; }
 #cart-dialog:not(.cart-empty) { width:100vw; }
 .c14-gifts > img { max-width:320px; }
}
.marquee-shield { width: 11px; height: 13px; display: inline-block; flex-shrink: 0; margin-right: 5px; vertical-align: -1px; color: var(--rox-gold); }
