/* JR BITES checkout and profile previews. Ordering stays locked until a real receiver is connected. */
.account-entry{display:flex;align-items:center;justify-content:space-between;gap:18px;width:min(calc(100% - 36px),1164px);margin:14px auto;padding:15px 17px;border:1px solid #eadbe9;border-radius:20px;background:linear-gradient(115deg,#fff,#fcf5fd);box-shadow:0 8px 22px #26122d0b}
.account-entry-copy{display:flex;flex-direction:column;gap:4px;min-width:0}.account-entry-copy small{color:#7629a8;font-size:.65rem;font-weight:900;letter-spacing:.1em}.account-entry-copy strong{color:#2f1a39;font-size:clamp(.9rem,2vw,1.12rem);letter-spacing:-.02em;line-height:1.2}
.account-entry-actions{display:flex;gap:9px;flex:none}.account-entry-actions button{min-height:43px;padding:9px 16px;border:1px solid #7629a8;border-radius:13px;background:#7629a8;color:#fff;font:inherit;font-size:.86rem;font-weight:850;transition:transform .2s,box-shadow .2s,background .2s}.account-entry-actions button+button{background:#fff;color:#5a2677}.account-entry-actions button:hover{transform:translateY(-2px);box-shadow:0 6px 12px #7629a827}.account-entry-actions button:active{transform:scale(.97)}
.account-entry-cart{width:auto;margin:16px 18px 0;padding:14px;box-shadow:0 5px 15px #26122d0b}
.account-entry-cart .account-entry-copy strong{font-size:.84rem;line-height:1.25}
.account-entry-cart .account-entry-actions button{min-height:32px;padding:6px 10px;font-size:.73rem;border-radius:10px}
.menu-profile-link{align-self:center;flex:none;border:1px solid #7629a8;border-radius:14px;background:#fff;color:#55206f;padding:10px 14px;font-weight:850;transition:transform .2s,box-shadow .2s}
.menu-profile-link:hover,.cart-profile-promo button:hover{transform:translateY(-2px);box-shadow:0 7px 14px #421c551c}
.cart-top,.profile-top{background:linear-gradient(120deg,#1b1021 0%,#4d205f 72%,#27132f 100%);color:#fff;border:0;padding-block:calc(15px + env(safe-area-inset-top)) 17px}
.cart-top h2,.profile-top h2{display:flex;align-items:center;gap:12px;font-size:clamp(1.32rem,4.5vw,1.8rem);line-height:1.07;letter-spacing:-.045em}
.cart-top h2>span:last-child,.profile-top h2>span:last-child{display:block;min-width:0}
.cart-top h2 small,.profile-top h2 small{display:block;margin-top:5px;color:#f4dcaa;font-size:.67rem;font-weight:650;letter-spacing:.03em;line-height:1.2}
.cart-heading-icon{display:grid;place-items:center;width:47px;height:47px;flex:none;border:1px solid #ffdc7a77;border-radius:15px;background:#f4b51522;color:#ffd261;box-shadow:inset 0 1px 0 #ffffff35}
.cart-heading-icon svg{width:25px;height:25px}
.cart-top .screen-close,.profile-top .screen-close{background:#ffffff18;color:#fff;border:1px solid #ffffff50}
.cart-intro{display:flex;flex-direction:column;gap:4px;padding:20px 20px 11px}
.cart-intro strong{font-size:1.08rem;letter-spacing:-.02em}
.cart-intro span{font-size:.83rem;color:#706773}
.service-toggle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 18px 16px}
.service-toggle button{display:flex;align-items:center;gap:8px;min-width:0;min-height:62px;padding:11px;border:1.5px solid #e3d8e8;border-radius:18px;background:#fff;color:#38283e;text-align:left;font-size:.93rem;box-shadow:0 3px 10px #2e18300a;transition:transform .22s cubic-bezier(.2,.8,.2,1),border-color .22s,background .22s,box-shadow .22s}
.service-toggle button.chosen{border-color:#7629a8;background:#f3e8fa;color:#49205f;box-shadow:0 6px 17px #7629a827}
.service-toggle button:active,.pickup-choice button:active{transform:scale(.97)}
.service-symbol{display:grid;place-items:center;width:29px;height:29px;flex:none;border-radius:9px;background:#f3eaf7;color:#7629a8;font-size:1.25rem}
.service-check{display:grid;place-items:center;width:20px;height:20px;flex:none;margin-left:auto;border:1.5px solid #b4a6bb;border-radius:50%;font-size:.78rem;color:transparent;transition:background .2s,color .2s,transform .2s}
.chosen .service-check{border-color:#7629a8;background:#7629a8;color:#fff;transform:scale(1.06)}
.cash-banner{display:flex;align-items:center;gap:11px;margin:0 18px 18px;padding:13px 15px;border:1px solid #ddb030;border-radius:15px;background:linear-gradient(110deg,#fff0b0,#fff8d9);color:#342105;box-shadow:0 6px 17px #b781121c}
.cash-banner span{display:grid;place-items:center;width:29px;height:29px;flex:none;border-radius:50%;background:#f4b515;color:#442500;font-size:1.15rem}
.cash-banner strong{font-size:1.02rem;letter-spacing:.01em}
.cart-form-card{margin:0 18px 18px;padding:17px;border:1px solid #e8dfea;border-radius:21px;background:#fff;box-shadow:0 8px 25px #26122d0b}
.cart-form-card h3,.basket-list h3,.profile-history h3{margin:0 0 15px;color:#281931;font-size:1.13rem;letter-spacing:-.025em}
.cart-form-card .form-field{gap:7px;padding:0;margin:0 0 15px;font-size:.9rem}
.cart-form-card .form-field:last-of-type{margin-bottom:0}
.cart-form-card .form-field input,.cart-form-card .form-field textarea{border-color:#d8cede;border-radius:13px;background:#fff;box-shadow:inset 0 1px 1px #2b10270a}
.cart-form-card .form-field :is(input,textarea):focus{outline:2px solid #ad73c8;outline-offset:1px}
.field-label{display:block}.required-star{color:#d92435;font-weight:950}.optional-label{color:#7c7280;font-size:.78rem;font-weight:550}
.location-button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:47px;margin:0 0 11px;padding:10px 13px;border:0;border-radius:14px;background:#7629a8;color:#fff;font:inherit;font-weight:850;box-shadow:0 6px 13px #7629a82d;transition:transform .2s,box-shadow .2s}
.location-button:hover{transform:translateY(-2px);box-shadow:0 9px 17px #7629a833}
.location-onboarding{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;max-width:1120px;margin:14px auto 4px;padding:14px 18px;border:1px solid #e6d8eb;border-radius:20px;background:linear-gradient(115deg,#fffaf1,#f8edf9);box-shadow:0 7px 22px #36133b12;color:#382247}
.location-onboarding-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#f7ba16;color:#271529;font-size:1.55rem;font-weight:800}
.location-onboarding strong{display:block;font-size:1rem}.location-onboarding p{margin:3px 0 0;font-size:.79rem;line-height:1.4}
.location-onboarding>button,.location-permission-actions button{min-height:42px;padding:9px 13px;border:0;border-radius:12px;background:#7629a8;color:#fff;font:inherit;font-weight:800;cursor:pointer}
.location-permission-help{grid-column:1/-1;padding:13px 14px;border:1px solid #ebc7d0;border-radius:14px;background:#fff5f6;color:#602e3d;font-size:.82rem;line-height:1.45}
.location-permission-help strong{display:block;margin-bottom:4px;font-size:.94rem}.location-permission-help p{margin:0 0 10px}.location-permission-help ol{margin:5px 0 12px;padding-left:21px}.location-permission-help li+li{margin-top:5px}
.location-permission-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.location-permission-actions a{color:#5e257f;font-weight:800;text-underline-offset:3px}
@media(max-width:640px){.location-onboarding{grid-template-columns:auto minmax(0,1fr);margin:11px 12px 2px;padding:13px}.location-onboarding>button{grid-column:1/-1;width:100%}}
.location-result{display:flex;align-items:center;gap:10px;margin:0 0 13px;padding:10px;border:1px solid #aed9ae;border-radius:13px;background:#f1f9f0;color:#184922}
.location-check{display:grid;place-items:center;width:25px;height:25px;flex:none;border-radius:50%;background:#259b49;color:#fff;font-weight:800}
.location-result div{display:flex;flex:1;min-width:0;flex-direction:column;gap:2px}.location-result strong{font-size:.82rem}.location-result small{font-size:.72rem;color:#3e7147;overflow-wrap:anywhere}.location-result a{color:#234f91;font-size:.82rem;font-weight:750}
.delivery-map-preview{overflow:hidden;margin:-3px 0 12px;border:1px solid #ddd5e2;border-radius:15px;background:#f7f5f8}
.delivery-map-preview iframe{display:block;width:100%;height:180px;border:0;background:#f7f5f8}
.delivery-map-preview small{display:block;padding:6px 9px;color:#665d69;font-size:.68rem;line-height:1.25}
.location-actions{display:flex;flex-wrap:wrap;gap:8px;margin:-4px 0 10px}
.location-actions a,.location-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:37px;padding:7px 10px;border:1px solid #ddd1e4;border-radius:11px;background:#faf6fc;color:#5b2b70;font:inherit;font-size:.76rem;font-weight:800;text-decoration:none;transition:transform .2s,background .2s}
.location-actions button{border-color:#efcdd2;background:#fff6f7;color:#a52d3e}
.location-actions :is(a,button):hover{transform:translateY(-2px)}
.location-actions :is(a,button):focus-visible{outline:3px solid #b178cf;outline-offset:2px}
.field-hint,.form-status{font-size:.78rem;line-height:1.4;color:#736775;margin:0 0 13px;overflow-wrap:anywhere}
.form-status{color:#593372;font-weight:700}
.photo-input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.photo-attach{display:flex;justify-content:center;align-items:center;min-height:43px;margin:0 0 7px;border:1.5px dashed #aa82ba;border-radius:13px;background:#fbf7fe;color:#612b7e;font-size:.83rem;font-weight:850;cursor:pointer}
.photo-input:focus-visible+.photo-attach{outline:3px solid #b178cf;outline-offset:2px}
.photo-attach-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:8px}
.photo-attach-actions .photo-attach{min-height:55px;height:100%;margin:0;padding:8px;text-align:center;line-height:1.2}
.photo-attach.photo-camera{border-style:solid;border-color:#7629a8;background:#f3e8fa}
.delivery-photo-list{display:flex;flex-direction:column;gap:8px;margin:0 0 12px}
.delivery-photo{display:flex;align-items:center;gap:10px;padding:7px;border:1px solid #e5d9ec;border-radius:13px;background:#faf7fc}
.delivery-photo img{width:48px;height:48px;flex:none;border-radius:9px;object-fit:cover;background:#fff}
.delivery-photo span{display:flex;flex:1;min-width:0;flex-direction:column;gap:2px;color:#3d254c;font-size:.78rem;font-weight:800}.delivery-photo small{overflow:hidden;color:#736775;font-size:.69rem;font-weight:500;text-overflow:ellipsis;white-space:nowrap}
.delivery-photo button{display:grid;place-items:center;width:33px;height:33px;flex:none;border:1px solid #e5c9d1;border-radius:10px;background:#fff;color:#a02d46;font:inherit;font-size:1.2rem;font-weight:800}
.delivery-photo button:focus-visible{outline:3px solid #b178cf;outline-offset:2px}
.delivery-reminder{margin:8px 0 0;padding:12px;border-left:4px solid #f4b515;border-radius:10px;background:#fff9e7;color:#5a4726;font-size:.82rem;line-height:1.45}
.pickup-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:16px}
.pickup-choice button{display:flex;align-items:center;gap:7px;min-height:50px;padding:9px;border:1.5px solid #dfd4e5;border-radius:13px;background:#fff;color:#3c2c40;text-align:left;font:inherit;font-size:.8rem;font-weight:750;transition:transform .2s,border-color .2s,background .2s}
.pickup-choice button.chosen{border-color:#7629a8;background:#f3e8fa;color:#4d205f}
.pickup-choice .service-check{order:-1;margin-left:0}
.pickup-location{display:flex;align-items:flex-start;gap:11px;margin:6px 0 0;padding:14px;border:1px solid #dfd4e5;border-radius:14px;background:#fbf7fe;color:#3c2c40}
.pickup-location-pin{display:grid;place-items:center;width:32px;height:32px;flex:none;border-radius:50%;background:#7629a8;color:#fff;font-size:1.2rem}
.pickup-location div{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0}
.pickup-location strong{font-size:.88rem}.pickup-location small{font-size:.76rem;color:#665b6d}
.pickup-location a{margin-top:5px;color:#612b7e;font-size:.82rem;font-weight:850;text-decoration:underline;text-underline-offset:3px}
.pickup-location a:focus-visible{outline:3px solid #b178cf;outline-offset:3px;border-radius:3px}
.customer-form.cart-form-card{border-top:1px solid #e8dfea;padding-top:17px}
.cart-profile-promo{display:flex;align-items:flex-start;gap:13px;margin:3px 18px 20px;padding:18px;border-radius:20px;background:linear-gradient(125deg,#26122f,#5e267a);color:#fff;box-shadow:0 9px 24px #2e18302b}
.cart-profile-promo-icon{display:grid;place-items:center;width:39px;height:39px;flex:none;border-radius:13px;background:#f4b515;color:#341a37;font-size:1.4rem}
.cart-profile-promo div{min-width:0}.cart-profile-promo small{color:#ffda76;font-size:.66rem;font-weight:900;letter-spacing:.1em}.cart-profile-promo h3{margin:4px 0 6px;font-size:1.05rem}.cart-profile-promo p{margin:0 0 13px;color:#f1e4f6;font-size:.81rem;line-height:1.4}
.cart-profile-promo button{min-height:38px;padding:8px 12px;border:0;border-radius:11px;background:#f4b515;color:#2b1730;font:inherit;font-size:.79rem;font-weight:900;transition:transform .2s,box-shadow .2s}
.basket-list{margin-top:6px}.basket-list h3{margin:0;padding:10px 20px 13px}
.basket-item{grid-template-columns:74px minmax(0,1fr) auto;padding:16px 18px;gap:10px;align-items:start}
.basket-photo{width:74px;height:82px}.basket-info>strong{font-size:.96rem}.basket-right>strong{text-align:right;color:#54236f;white-space:nowrap;font-size:.85rem}
.basket-choices{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.basket-choices-title{width:100%;color:#716874;font-size:.69rem;font-weight:700}
.basket-info .basket-choice{display:inline-flex;align-items:center;gap:7px;max-width:100%;margin:0;padding:6px 7px 6px 9px;border:1px solid #e5d9ec;border-radius:10px;background:#faf6fc;color:#54296a;text-align:left;font-size:.72rem;line-height:1.25;font-weight:700}
.basket-choice span{overflow-wrap:anywhere}.basket-choice b{display:grid;place-items:center;width:16px;height:16px;flex:none;border-radius:50%;background:#eadced;color:#622d78;font-size:1rem;line-height:1}
.basket-info .basket-item-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}.basket-info .basket-item-actions button{margin:6px 0 0;font-size:.78rem}
.basket-info .basket-item-actions button[data-action="remove-item"]{padding:6px 9px;border:1px solid #efcdd2;border-radius:9px;background:#fff6f7;color:#a52d3e;font-weight:800}
.basket-summary{margin:12px 20px 0;padding:17px 0}.basket-summary .summary-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(100px,auto);align-items:start;gap:15px;padding:7px 0;font-size:.87rem}.basket-summary .summary-row strong{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.basket-summary .summary-total{margin-top:6px;padding-top:13px;border-top:1px solid #e8e0ea;font-size:1.03rem;color:#3d204e}
.basket-summary p{margin:11px 0 0;font-size:.79rem;line-height:1.45}
.cart-screen .checkout-warning,.profile-screen .checkout-warning{margin:0 20px 22px;background:#fff4d7;color:#554622;font-size:.79rem}
.cart-screen .checkout-warning.checkout-confirmed{display:flex;align-items:flex-start;gap:14px;padding:19px 18px;background:#eef9ef;color:#1c542e;border:1px solid #a8dbb2;box-shadow:0 10px 26px rgba(31,112,56,.12);font-size:1rem}
.checkout-confirmed-icon{flex:none;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#237a43;color:white;font-weight:800;font-size:1.55rem}
.checkout-confirmed strong{display:block;font-size:1.2rem;line-height:1.15;margin:0 0 7px}
.checkout-confirmed small{display:block;font-size:.91rem;line-height:1.4;overflow-wrap:anywhere;margin-top:5px}
.cart-bottom,.profile-screen .screen-bottom{padding:11px 18px}.cart-bottom .add-cta:disabled{background:#eee9f1;color:#6d5977;border:1px solid #d4c9da;cursor:not-allowed}
.checkout-readiness{margin:0 0 10px;padding:11px 14px;border:1px solid #e8bf62;border-radius:15px;background:#fff7de;color:#533b17;box-shadow:0 8px 24px #42230d1c;animation:checkout-readiness-in .24s ease-out both}
.checkout-readiness strong{display:block;font-size:.85rem;line-height:1.25}.checkout-readiness ul{margin:5px 0 0;padding-left:19px;max-height:90px;overflow:auto;font-size:.78rem;line-height:1.35}.checkout-readiness li+li{margin-top:2px}
.checkout-readiness button{margin:6px 0 0;padding:0;border:0;background:transparent;color:#592273;font:inherit;font-size:.79rem;font-weight:800;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.cart-form-card .form-field.needs-attention :is(input,textarea){border-color:#d78439;box-shadow:0 0 0 2px #f6d79988}
@keyframes checkout-readiness-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.checkout-readiness{animation:none}}
.profile-intro{margin:18px 18px 15px;padding:18px;border-radius:19px;background:linear-gradient(115deg,#25112f,#61277e);color:#fff}.profile-intro strong{font-size:1.23rem}.profile-intro p{margin:8px 0 0;color:#f3e7f5;font-size:.83rem;line-height:1.45}
.profile-switch-in-hero{margin-top:13px;padding:9px 0;border:0;background:transparent;color:#ffdf80;text-decoration:underline;text-underline-offset:3px;font:inherit;font-size:.82rem;font-weight:850;text-align:left}
.profile-switch{display:block;margin:0 18px 17px;padding:8px 0;border:0;background:transparent;color:#612b7e;text-decoration:underline;text-underline-offset:3px;font:inherit;font-size:.84rem;font-weight:850;text-align:left}
.profile-email-button{width:100%;margin:4px 0 9px}.profile-email-button:disabled{background:#eee9f1;color:#6d5977}
.profile-fields .form-field{display:block}.profile-fields .form-field input{display:block;margin-top:7px}.profile-fields .form-field .required-star,.profile-fields .form-field .optional-label{display:inline}
.profile-location-button{margin-top:6px}.profile-consent,.profile-terms,.profile-history{margin:0 18px 17px;padding:16px 17px;border:1px solid #e8dfea;border-radius:19px;background:#fff}
.profile-consent p,.profile-terms p,.profile-history p{margin:0 0 12px;font-size:.83rem;line-height:1.45;color:#584c5e}
.profile-consent label,.profile-terms label{display:flex;align-items:flex-start;gap:10px;margin:10px 0;color:#33263a;font-size:.82rem;line-height:1.45}
.profile-consent input,.profile-terms input{width:19px;height:19px;flex:none;margin:0;accent-color:#7629a8}
.profile-terms p:last-child,.profile-history p:last-child{margin-bottom:0}.profile-history{background:#f8f4fa}
@media(max-width:440px){.menu-profile-link{padding:8px 10px;font-size:.75rem}.cart-top h2,.profile-top h2{font-size:1.34rem}.cart-heading-icon{width:43px;height:43px}.service-toggle button{padding:9px;font-size:.82rem;gap:6px}.service-symbol{width:26px;height:26px}.basket-item{grid-template-columns:60px minmax(0,1fr);gap:8px;padding-inline:15px}.basket-photo{width:60px;height:68px}.basket-right{grid-column:2;flex-direction:row;align-items:center;justify-content:space-between;gap:8px}.basket-right>strong{text-align:left}.basket-right .number-stepper button{width:31px;height:31px}.basket-summary .summary-row{font-size:.81rem}}
@media(max-width:350px){.service-toggle button{font-size:.75rem}.service-symbol{display:none}.pickup-choice{grid-template-columns:1fr}.cart-top h2 small,.profile-top h2 small{font-size:.6rem}}
@media(max-width:560px){.account-entry{align-items:stretch;flex-direction:column;gap:11px;margin-top:10px}.account-entry-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.account-entry-actions button{min-width:0}.account-entry-cart{margin-top:14px}}
@media(max-width:560px){.account-entry-cart{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px}.account-entry-cart .account-entry-actions{display:flex;flex-direction:column;gap:4px}}
@media(prefers-reduced-motion:reduce){.menu-profile-link,.account-entry-actions button,.service-toggle button,.service-check,.pickup-choice button,.location-button,.location-actions :is(a,button),.cart-profile-promo button{transition:none}}
.profile-welcome{display:flex;flex-direction:column;align-items:center;gap:12px;margin:22px 18px;padding:34px 22px;border-radius:23px;background:radial-gradient(circle at 50% 0%,#7d3596,#2a1337 70%);color:#fff;text-align:center;box-shadow:0 16px 35px #34153a30;animation:profile-welcome-enter .6s ease-out both}
.profile-welcome img{width:108px;height:108px;object-fit:contain;filter:drop-shadow(0 7px 14px #0005)}
.profile-welcome span{color:#ffd46c;font-size:.72rem;font-weight:900;letter-spacing:.16em}
.profile-welcome h3{margin:0;font-size:clamp(1.8rem,6vw,2.5rem);line-height:1.08}
.profile-welcome p{max-width:31ch;margin:0;color:#f4eaf7;font-size:.94rem;line-height:1.5}
.profile-welcome .pill{margin-top:8px;padding:12px 23px;background:#f4b515;color:#2a1337;font-weight:900}
.full-overlay .profile-screen{height:100%;max-height:100%;min-height:0}
.profile-screen .profile-scroll{min-height:0;scroll-padding-bottom:20px}
.profile-screen [data-profile-code]{font-size:20px;letter-spacing:.16em;min-height:54px}
@keyframes profile-welcome-enter{from{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(prefers-reduced-motion:reduce){.profile-welcome{animation:none}}
