
/* QR handoff email option: scoped to the portrait shell and touch-friendly. */
.pack-email-card{margin:clamp(18px,2.3vh,32px) 0 10px;padding:clamp(15px,1.7vh,23px);background:#fff;border:1px solid #b7dfeb;border-radius:22px;box-shadow:0 5px 20px rgba(3,30,59,.07);min-width:0}
.pack-email-eyebrow{color:#087fa6;font-size:clamp(10px,1.05vh,13px);letter-spacing:.13em;font-weight:900}
.shell .pack-email-card h3{font-size:clamp(20px,2vh,27px);line-height:1.17;margin:8px 0}
.pack-email-intro,.pack-email-explain,.pack-email-mode{font-size:clamp(13px,1.32vh,16px);line-height:1.45;color:#426078}
.pack-email-label{display:block;font-size:clamp(14px,1.4vh,18px);margin:16px 0 8px;font-weight:800}
.pack-email-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:9px}
.pack-email-entry input{min-width:0;width:100%;margin:0;min-height:52px}
.pack-email-entry button{max-width:190px;min-height:52px;white-space:normal;line-height:1.22;padding:11px 15px}
.pack-email-consent{display:flex!important;align-items:flex-start;gap:11px!important;margin:17px 0 9px!important;font-weight:500!important;font-size:clamp(13px,1.32vh,16px)!important;line-height:1.45;color:#29475d}
.pack-email-consent input{width:23px!important;height:23px!important;min-height:23px!important;flex:0 0 23px;margin:0!important;accent-color:#008eae}
.pack-email-consent span{min-width:0}
.pack-email-explain{margin:8px 0}.pack-email-explain a{color:#007a9f;text-decoration:underline}
.pack-email-mode{margin:12px 0 0;font-weight:650}.pack-email-mode.is-preview{color:#875114}
.pack-email-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.pack-email-feedback{border-radius:14px;padding:13px 15px;margin-top:14px;font-size:clamp(13px,1.32vh,16px);line-height:1.4;overflow-wrap:anywhere}
.pack-email-feedback.is-success{background:#e6f9ef;border:1px solid #a5dcca;color:#155d47}
.pack-email-feedback.is-error{background:#fff0e9;border:1px solid #e4bc9c;color:#8a361e}
@media(max-width:550px){.pack-email-entry{grid-template-columns:1fr}.pack-email-entry button{max-width:none}}


/* Required email gate: Samsung portrait and kiosk-safe spacing. */
.shell .required-email-wrap{max-width:100%;min-width:0;margin:clamp(12px,1.6vh,24px) 0;padding:clamp(14px,1.8vh,25px);background:#fff;border:1px solid #c7e4ec;border-radius:22px}
.shell .required-email-wrap h2{margin:10px 0 12px;font-size:clamp(25px,2.85vh,39px);line-height:1.15}
.shell .required-email-wrap .lede{font-size:clamp(15px,1.6vh,21px);margin-bottom:12px}
.shell .pack-email-card{padding:clamp(12px,1.65vh,22px);margin:8px 0 0}
.shell .pack-email-entry{display:grid;grid-template-columns:1fr;gap:10px}
.shell .pack-email-entry input{width:100%;font-size:clamp(17px,1.6vh,21px);min-height:56px}
.shell .pack-email-entry button{width:100%;max-width:none;min-height:56px;font-size:clamp(16px,1.5vh,19px)}
.shell .pack-email-consent{display:flex;align-items:flex-start;gap:12px;font-size:clamp(14px,1.4vh,18px)!important;line-height:1.4}
.shell .pack-email-consent input{flex:0 0 24px;width:24px!important;height:24px!important;min-height:24px!important;margin:0 2px 0 0!important;accent-color:#008eae}
.shell .pack-email-consent span{min-width:0}
.shell .pack-email-explain{font-size:clamp(12px,1.2vh,16px);line-height:1.5}
.shell .pack-email-mode{font-size:clamp(12px,1.25vh,16px);line-height:1.5;background:#f0f8fb;padding:10px;border-radius:10px}
.shell .required-email-saved{margin:12px 0;padding:12px 15px;background:#e9faf5;border:1px solid #b5dfd4;border-radius:12px;color:#155b4b;font-size:clamp(13px,1.3vh,17px);line-height:1.4}
.shell .pack-email-label{font-size:clamp(14px,1.5vh,18px)}
@media(max-width:700px){.shell .required-email-wrap{margin:12px 0;padding:14px}}
