/* Match Askırba's water palette; keep the floating promotion compact. */
.ask-loyalty { --loyalty-ink:#163c55; --loyalty-blue:#236387; --loyalty-ice:#edf5f8; --loyalty-line:#ccdde6; position:relative; color:var(--loyalty-ink); background:var(--loyalty-ice); border:1px solid var(--loyalty-line); border-radius:8px; padding:1.4rem; margin-bottom:2rem; font-size:1.3rem; line-height:1.55; text-align:left; }
.ask-loyalty__intro { display:flex; align-items:center; gap:1rem; }
.ask-loyalty__intro > div { min-width:0; }
.ask-loyalty__intro small { font-size:1.1rem; }
.ask-loyalty__bottle { width:3rem; height:4.4rem; flex-shrink:0; color:var(--loyalty-blue); }
.ask-loyalty__eyebrow { display:block; font-size:1rem; font-weight:700; letter-spacing:.12em; }
.ask-loyalty__title { display:block; font-size:1.4rem; line-height:1.35; }
.ask-loyalty__balance { margin-left:auto; flex-shrink:0; font-size:1.5rem; font-weight:700; white-space:nowrap; }
.ask-loyalty__balance small { display:block; text-align:right; font-size:1rem; font-weight:400; }
.ask-loyalty__meter { height:.7rem; background:var(--loyalty-line); border-radius:1rem; margin:1.2rem 0; overflow:hidden; }
.ask-loyalty__meter span { display:block; height:100%; background:var(--loyalty-blue); border-radius:inherit; transition:width .2s; }
.ask-loyalty p { margin:1rem 0; font-size:1.2rem; line-height:1.55; }
.ask-loyalty__cart { border-left:2px solid var(--loyalty-blue); padding-left:1rem; }
.ask-loyalty__actions { display:flex; flex-wrap:wrap; align-items:center; gap:.6rem 1.2rem; }
.ask-loyalty a.ask-loyalty__cta { display:inline-flex; align-items:center; justify-content:center; gap:.8rem; min-height:4.4rem; padding:.8rem 1.2rem; background:var(--loyalty-blue); color:#fff; border-radius:4px; font-size:1.2rem; font-weight:600; }
.ask-loyalty a.ask-loyalty__history { min-height:4.4rem; display:inline-flex; align-items:center; color:var(--loyalty-ink); text-decoration:underline; font-size:1.2rem; }
.ask-loyalty a:focus-visible, .ask-loyalty summary:focus-visible, .ask-loyalty button:focus-visible { outline:2px solid var(--loyalty-blue); outline-offset:3px; }
.ask-loyalty__details summary { cursor:pointer; min-height:4.4rem; display:flex; align-items:center; text-decoration:underline; font-size:1.1rem; }
.ask-loyalty__details[open], .ask-loyalty__preference { border-top:1px solid var(--loyalty-line); margin-top:1.2rem; }
.ask-loyalty__dismiss, .ask-loyalty__restore { border:0; background:transparent; color:var(--loyalty-ink); font:inherit; cursor:pointer; min-height:4.4rem; }
.ask-loyalty__dismiss { display:flex; align-items:center; justify-content:flex-end; gap:.8rem; margin:-1.2rem -.6rem .2rem auto; padding:.4rem .6rem; font-size:1.1rem; }
.ask-loyalty__dismiss span { font-size:2rem; line-height:1; }
.ask-loyalty__restore { padding:.5rem 0; text-align:left; text-decoration:underline; }
.ask-loyalty--floating { position:fixed; z-index:1050; bottom:2rem; left:2rem; width:34rem; max-width:calc(100vw - 4rem); margin:0; padding:1.2rem 1.4rem .6rem; box-shadow:0 6px 24px #163c551c; max-height:60dvh; overflow:auto; }
.ask-loyalty--floating .ask-loyalty__eyebrow,
.ask-loyalty--floating .ask-loyalty__bottle,
.ask-loyalty--floating .ask-loyalty__cart,
.ask-loyalty--floating .ask-loyalty__details,
.ask-loyalty.ask-loyalty--floating a.ask-loyalty__history { display:none; }
.ask-loyalty--floating .ask-loyalty__dismiss { margin:-1.2rem -.6rem -.4rem auto; }
.ask-loyalty--floating .ask-loyalty__balance { font-size:1.3rem; }
.ask-loyalty--floating .ask-loyalty__balance small { display:none; }
.ask-loyalty--floating .ask-loyalty__meter { height:.4rem; margin:.8rem 0 .3rem; }
.ask-loyalty--floating .ask-loyalty__remaining { margin:.3rem 0 0; font-size:1.1rem; }
.ask-loyalty--floating .ask-loyalty__actions { justify-content:flex-end; }
.ask-loyalty--floating a.ask-loyalty__cta { background:transparent; color:var(--loyalty-blue); padding:.4rem 0; }
.has-loyalty-progress .page-wrapper { padding-bottom:20rem; }
.cart-dropdown .cart-action { flex-wrap:wrap; }
.cart-dropdown .ask-loyalty { width:100%; flex-basis:100%; margin:0 0 1rem; }
.cart-dropdown .ask-loyalty a { margin:0; }
.cart-dropdown .dropdown-box { max-height:65dvh; overflow-y:auto; }
.ask-loyalty--compact .ask-loyalty__bottle,
.ask-loyalty--compact .ask-loyalty__eyebrow,
.ask-loyalty--compact .ask-loyalty__intro > div > small { display:none; }
.cart-dropdown .ask-loyalty p { font-size:1.1rem; font-weight:400; line-height:1.45; }
.ask-loyalty--compact .ask-loyalty__meter { margin:.8rem 0; }
.ask-loyalty--compact .ask-loyalty__actions { gap:0 1rem; }
.ask-loyalty--compact a.ask-loyalty__cta { padding:.4rem 0; background:transparent; color:var(--loyalty-blue); }
.ask-loyalty--compact a.ask-loyalty__history { font-size:1.1rem; }
.ask-loyalty--compact .ask-loyalty__title, .ask-loyalty--compact .ask-loyalty__balance { font-size:1.3rem; }
.cart-view .ask-loyalty--floating,
body:has(.cart-dropdown:hover) .ask-loyalty--floating,
body:has(.cart-dropdown.opened) .ask-loyalty--floating,
body:has(.ask-loyalty--account) .ask-loyalty--floating,
body:has(.ask-loyalty--full) .ask-loyalty--floating { display:none; }
body:has(.ask-loyalty--account) .page-wrapper,
body:has(.ask-loyalty--full) .page-wrapper { padding-bottom:0; }
@media (max-width:767px) {
    .ask-loyalty { padding:1.2rem; border-radius:10px; }
    .ask-loyalty--floating { left:1rem; width:calc(100% - 2rem); max-width:none; padding:.8rem 1.2rem .2rem; bottom:calc(6.4rem + env(safe-area-inset-bottom)); }
    .ask-loyalty--floating .ask-loyalty__dismiss { margin:-.8rem -.4rem -.5rem auto; }
    .ask-loyalty--floating .ask-loyalty__intro small { display:none; }
    .ask-loyalty--floating .ask-loyalty__remaining { float:left; width:calc(100% - 9rem); margin-top:.6rem; line-height:1.4; }
    .ask-loyalty--floating .ask-loyalty__actions { overflow:hidden; }
    .ask-loyalty--floating .ask-loyalty__title { font-size:1.3rem; }
    .ask-loyalty--compact .ask-loyalty__details { display:none; }
    .has-loyalty-progress .page-wrapper { padding-bottom:15rem; }
}
@media (prefers-reduced-motion:reduce) { .ask-loyalty__meter span { transition:none; } }
