.bag-button{border:1px solid var(--berry,#952b46);border-radius:30px;padding:10px 15px;background:transparent;color:#952b46;font:inherit;cursor:pointer;white-space:nowrap}.bag-button span{display:inline-grid;place-items:center;margin-left:7px;min-width:22px;height:22px;border-radius:50%;background:#952b46;color:#fff;font-size:12px}.menu-section{background:#f1e9de;scroll-margin-top:90px}.shop-notice{font-size:13px;background:#faf5ee;padding:15px 18px;border-left:3px solid #952b46;line-height:1.6}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:25px 0}.filters button{font:inherit;font-size:13px;border:1px solid #d5c6b9;border-radius:25px;padding:10px 18px;background:transparent;color:#42221f;cursor:pointer}.filters button[aria-pressed=true]{background:#952b46;border-color:#952b46;color:#fff}.menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.menu-card{background:#faf5ee;border-radius:7px;overflow:hidden;display:flex;flex-direction:column}.menu-card img{width:100%;height:230px;object-fit:cover}.menu-card-body{padding:22px;display:flex;flex-direction:column;flex:1}.menu-card h3{font-family:'DM Serif Display',Georgia,serif;font-size:25px;font-weight:400;line-height:1.15;margin:6px 0 15px}.menu-card .eyebrow{font-size:10px;margin:0}.menu-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto}.menu-card button{background:#952b46;color:white;border:0;border-radius:25px;padding:10px 18px;font:inherit;font-size:13px;cursor:pointer}.menu-card img,.menu-card button{transition:transform .3s}.menu-card:hover img{transform:scale(1.025)}.shop-dialog{background:#faf5ee;color:#42221f;border:0;border-radius:14px;padding:35px;width:min(94vw,600px);max-height:90dvh;overflow:auto;box-shadow:0 20px 100px #42221f33}.shop-dialog::backdrop{background:#24120ec0;backdrop-filter:blur(5px)}.shop-dialog h2{font-size:44px;margin:10px 0 24px;line-height:1.1}.shop-dialog h3{font-family:'DM Serif Display',Georgia,serif;font-size:26px;font-weight:400}.dialog-close{position:absolute;top:12px;right:15px;border:0;background:#faf5ee;color:#952b46;border-radius:50%;height:36px;width:36px;cursor:pointer;font-size:26px;z-index:1}.detail-photo{width:100%;height:250px;object-fit:cover;border-radius:8px;margin-bottom:22px}.shop-dialog label{display:block;font-size:13px;margin:17px 0 7px}.shop-dialog select,.shop-dialog input{width:100%;border:1px solid #cdb8a7;border-radius:6px;background:white;color:#42221f;padding:13px;font:inherit;font-size:15px}.shop-dialog .button{border:0;font:inherit;cursor:pointer;width:100%;justify-content:center;margin-top:20px}.shop-dialog button:disabled{opacity:.55;cursor:not-allowed}.shop-dialog small,.checkout-note{font-size:12px;line-height:1.7;color:#6d544b}.cart-line{display:grid;grid-template-columns:64px 1fr auto;gap:15px;padding:18px 0;border-bottom:1px solid #dfd0c2;align-items:start}.cart-line img{width:64px;height:72px;object-fit:cover;border-radius:5px}.cart-line h3{font-size:20px;margin:0 0 6px}.cart-line p{font-size:12px;margin:0 0 10px}.quantity{display:flex;gap:10px;align-items:center;font-size:13px}.quantity button{border:1px solid #ccb4a3;background:transparent;color:#952b46;cursor:pointer;border-radius:50%;width:25px;height:25px}.quantity .remove{border:0;width:auto;border-radius:0;text-decoration:underline;margin-left:6px;font-size:11px}.cart-total,.order-total{display:flex;justify-content:space-between;padding:22px 0;font-size:19px}.quote-row{display:flex;justify-content:space-between;font-size:14px;margin:10px 0}.checkout-address{padding:16px;border:1px solid #dfd0c2;border-radius:8px;margin:15px 0;font-size:14px;line-height:1.7}.checkout-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.checkout-grid label{margin-top:0}.checkout-grid .wide{grid-column:1/-1}.checkout-error{color:#952b46;font-size:14px;line-height:1.6;margin-top:15px}.demo-card{padding:24px;border:1px dashed #b99184;border-radius:8px;background:#f4e7dd;text-align:center;margin-top:20px}.demo-card b{display:block;font-size:16px;margin-bottom:8px}.toast{position:fixed;left:50%;bottom:25px;transform:translateX(-50%) translateY(130px);background:#42221f;color:white;padding:14px 25px;border-radius:30px;z-index:10;transition:transform .2s;width:max-content;max-width:90vw;font-size:14px}.toast.show{transform:translateX(-50%) translateY(0)}.success-mark{font-size:50px;color:#952b46;margin:20px 0}.menu-empty{grid-column:1/-1;padding:40px;text-align:center}.shop-dialog a{color:#952b46}.shop-dialog :focus-visible,.menu-section :focus-visible,.bag-button:focus-visible{outline:3px solid #952b46;outline-offset:4px}#card-container{margin-top:20px;min-height:90px}
[hidden]{display:none!important}.header{gap:24px}.header nav{margin-left:auto}
#payment-area .order-total{padding:14px 0}#payment-area .demo-card{padding:18px}#payment-area .checkout-note{margin-bottom:8px}
@media(max-width:700px){.header{gap:10px}.menu-toggle{margin-left:auto}.header nav{order:4}.bag-button{padding:9px 12px}}
@media(max-width:900px){.menu-grid{grid-template-columns:repeat(2,1fr)}.menu-card img{height:210px}}
@media(max-width:600px){.menu-grid{grid-template-columns:1fr;gap:20px}.menu-card{display:grid;grid-template-columns:110px 1fr}.menu-card img{height:100%;min-height:160px}.menu-card-body{padding:16px}.menu-card h3{font-size:22px}.menu-card-bottom{flex-wrap:wrap;font-size:14px}.shop-dialog{padding:28px 22px}.shop-dialog h2{font-size:37px}.detail-photo{height:210px}.checkout-grid{grid-template-columns:1fr}.checkout-grid .wide{grid-column:auto}.cart-line{gap:10px;grid-template-columns:50px 1fr auto}.cart-line img{width:50px;height:65px}}
@media(prefers-reduced-motion:reduce){.menu-card img,.toast{transition:none}}

.date-calendar {border:1px solid #dfd1c5;border-radius:14px;padding:14px;background:#fffcf7;margin:14px 0;}
.calendar-heading {display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.calendar-heading button {border:0;background:transparent;color:#952b46;font-size:28px;width:40px;height:40px;cursor:pointer;}
.calendar-grid {display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;text-align:center;}
.calendar-weekday {font-size:12px;color:#856d65;padding:5px;}
.calendar-grid button {border:1px solid #e5c9d0;border-radius:9px;background:#f7e7eb;color:#752339;min-height:38px;font:inherit;cursor:pointer;}
.calendar-grid button[aria-pressed="true"] {background:#952b46;color:white;border-color:#952b46;}
.calendar-grid button:disabled {border-color:transparent;background:transparent;color:#b6a79e;cursor:default;}
.calendar-heading button:disabled {color:#cbbdb4;cursor:default;}
.selected-date {font-size:14px;color:#752339;min-height:22px;}

.cancel-checkout {display:block;border:0;background:transparent;text-decoration:underline;color:#752339;margin:18px 0;padding:8px 0;cursor:pointer;}

.policy-page{max-width:820px;margin:40px auto;padding:32px;}.policy-page .wordmark{display:inline-block;margin-bottom:48px;}.policy-page h1{font-size:clamp(36px,6vw,64px);line-height:1.1;margin:16px 0 28px;}.policy-page h2{font-size:26px;margin:32px 0 12px;}.policy-page p{line-height:1.7;}.policy-acceptance{display:flex!important;align-items:flex-start;gap:12px;line-height:1.5;margin:20px 0!important;font-weight:400!important;}.policy-acceptance input{width:18px!important;min-width:18px;min-height:18px;margin:4px 0!important;accent-color:#952b46;}.policy-acceptance a{color:#952b46;text-decoration:underline;}

.help-form{margin:2rem 0}.help-form label:not(.policy-acceptance){display:block;font-weight:600;margin:1.25rem 0 .4rem}.help-form input:not([type=checkbox]),.help-form select,.help-form textarea{width:100%;padding:.85rem;border:1px solid #cbb8b2;border-radius:8px;background:#fffdfa;color:#42221f;font:inherit}.help-form textarea{resize:vertical}.help-form .button{margin-top:1rem}.help-form .policy-acceptance{margin-top:1rem}.help-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.help-back{display:inline-block;margin-top:1.5rem}#help-status:empty{display:none}

/* Audit: focus, touch targets and narrow-screen confirmation readability. */
.dialog-close{width:44px;height:44px}.quantity button{min-width:32px;min-height:32px}.quantity{flex-wrap:wrap}.quantity .remove{min-height:32px}.shop-dialog small{overflow-wrap:anywhere}.date-label{font-size:13px;margin:17px 0 7px}.calendar-weekday{color:#70554e}.help-form :focus-visible{outline:3px solid #952b46;outline-offset:4px}
