.pickup-alert-banner { box-sizing:border-box; position:fixed; z-index:2147483001; top:max(12px,env(safe-area-inset-top)); right:max(12px,env(safe-area-inset-right)); width:min(640px,calc(100vw - 24px)); max-height:45vh; max-height:45dvh; padding:14px 48px 14px 16px; border:1px solid #f2b16e; border-left:5px solid #ed6e18; border-radius:14px; background:#fff7ec; color:#10243e; box-shadow:0 8px 30px #10243e35; font-family:inherit; }
.pickup-alert-banner[hidden] { display:none !important; }
.pickup-alert-list { display:grid; gap:10px; max-height:calc(45vh - 30px); max-height:calc(45dvh - 30px); overflow:auto; overscroll-behavior:contain; }
.pickup-alert-row { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:start; gap:14px; padding-top:10px; border-top:1px solid #f1d5b2; }
.pickup-alert-row:first-child { padding-top:0; border-top:0; }
.pickup-alert-phone { font-size:1.2rem; font-weight:850; line-height:1.5; color:#9a3e10; letter-spacing:.04em; }
.pickup-alert-items { min-width:0; color:#10243e; font-size:1rem; line-height:1.7; font-weight:650; white-space:pre-wrap; overflow-wrap:anywhere; }
.pickup-alert-banner .pickup-alert-close { position:absolute; top:7px; right:7px; display:flex; justify-content:center; align-items:center; min-width:36px; width:36px; min-height:36px; height:36px; margin:0; padding:0; border:1px solid transparent; border-radius:8px; color:#6e5546; background:transparent; font-family:inherit; font-size:24px; font-weight:700; line-height:1; cursor:pointer; }
.pickup-alert-close:focus-visible { outline:3px solid #e55e15; outline-offset:1px; }
@media(max-width:480px) {
  .pickup-alert-banner { top:max(8px,env(safe-area-inset-top)); right:8px; width:calc(100vw - 16px); padding:12px 44px 12px 12px; }
  .pickup-alert-row { gap:10px; }
  .pickup-alert-phone { font-size:1.1rem; }
  .pickup-alert-items { font-size:.92rem; }
}
