.welcome-trigger{position:fixed;left:16px;bottom:20px;z-index:85;border:1px solid #c2ac87;border-radius:24px;padding:12px 18px;background:#173d32;color:#fffdf8;font:600 14px/1.4 system-ui;box-shadow:0 3px 16px #173d3220;cursor:pointer}
#welcome-offer{padding:0;border:1px solid #ded5c5;border-radius:12px;width:min(760px,calc(100% - 32px));max-height:85dvh;overflow:auto;background:#fffdf8;color:#173d32;box-shadow:0 20px 80px #0003}
#welcome-offer[open]{display:grid;grid-template-columns:.9fr 1.1fr}#welcome-offer::backdrop{background:#14231ccc}.welcome-photo{min-width:0;display:flex;align-items:center;justify-content:center;background:#eeebe5;padding:0}.welcome-photo img{width:100%;height:100%;max-height:100%;object-fit:cover;object-position:center;display:block}.welcome-body{padding:38px 30px 26px}.welcome-eyebrow{font:11px/1.6 system-ui;letter-spacing:2px;color:#785f43}.welcome-body h2{font-size:36px;line-height:1.3;margin:16px 0}.welcome-body h2 span{font-family:system-ui;font-size:48px}.welcome-body p{line-height:1.8}.welcome-claim{display:block;padding:14px 10px;text-align:center;background:#173d32;color:#fff!important;border-radius:5px;text-decoration:none;font:600 15px/1.5 system-ui}.welcome-later{display:block;margin:10px auto;border:0;background:none;color:#53665b;padding:10px 24px;font:15px system-ui;cursor:pointer}.welcome-close{position:absolute;right:8px;top:8px;width:44px;height:44px;display:grid;place-items:center;border:0;background:#fffdf8;color:#173d32;border-radius:50%;font:28px system-ui;cursor:pointer}.welcome-terms{font-size:12px;color:#615b50;margin-bottom:6px}.welcome-rules{font-size:12px;text-decoration:underline}.welcome-body a:focus-visible,#welcome-offer button:focus-visible,.welcome-trigger:focus-visible{outline:3px solid #b49363;outline-offset:3px}@media(max-width:600px){#welcome-offer[open]{display:block;width:calc(100% - 32px);max-width:360px;max-height:80dvh}.welcome-photo{display:none}.welcome-body{padding:28px 22px 20px}.welcome-body h2{font-size:28px;margin:12px 0}.welcome-body h2 span{font-size:40px}.welcome-trigger{left:12px;bottom:calc(16px + env(safe-area-inset-bottom));font-size:12px;padding:10px 14px}}

/* Keep a quiet, compact offer on phones; load the small photo only on open. */
#welcome-title:focus{outline:none}
#welcome-offer .welcome-close{min-width:44px;min-height:44px;max-width:44px;max-height:44px;padding:0;line-height:1;border:1px solid #d9d2c5;box-shadow:none;z-index:2}
@media(max-width:600px){
 #welcome-offer[open]{width:calc(100% - 32px);max-width:380px;max-height:calc(100dvh - 32px);border-radius:14px}
 #welcome-offer .welcome-photo{display:block;height:112px;overflow:hidden}
 #welcome-offer .welcome-photo img{width:100%;height:112px;object-fit:cover;object-position:center 62%}
 #welcome-offer .welcome-body{padding:16px 20px 18px}
 #welcome-offer .welcome-eyebrow{font-size:10px;letter-spacing:1.6px;margin:0 0 7px}
 #welcome-offer .welcome-body h2{font-size:24px;line-height:1.3;margin:0 0 10px}
 #welcome-offer .welcome-body h2 span{font-size:34px}
 #welcome-offer #welcome-copy{font-size:14px;line-height:1.7;margin:0 0 14px}
 #welcome-offer .welcome-claim{font-size:14px;padding:12px 8px;min-height:44px;box-sizing:border-box}
 #welcome-offer .welcome-later{font-size:14px;margin:4px auto;padding:10px 20px;min-height:44px}
 #welcome-offer .welcome-terms{font-size:11px;line-height:1.7;margin:7px 0}
 #welcome-offer .welcome-rules{font-size:12px;display:inline-flex;align-items:center;min-height:32px}
 #welcome-offer .welcome-close{top:8px;right:8px;font-size:26px;background:#fffdf8ed}
}
@media(max-height:540px) and (max-width:600px){#welcome-offer .welcome-photo{display:none}}

.welcome-trigger[hidden]{display:none!important}

/* Persistent, quiet entry; clear the product purchase bar on phones. */
.welcome-trigger{min-height:44px;box-sizing:border-box}
@media(max-width:800px){body:has(.bean-order-line .bean-add) .welcome-trigger{bottom:calc(96px + env(safe-area-inset-bottom))}}
