/* Shared navigation and legal links for Manduvia's public pages. */
.public-header,.public-footer,.public-cart-dialog{font:500 1rem/1.45 Figtree,system-ui,sans-serif;color:#2a1a14}
.public-header{background:#faf4ec;border-bottom:1px solid #e5d6c8;position:relative;z-index:5}
.public-header-inner,.public-footer>div{max-width:1240px;margin:auto;padding:14px clamp(16px,4vw,48px);box-sizing:border-box}
.public-header-inner,.public-header nav,.public-actions{display:flex;align-items:center;gap:clamp(10px,2vw,28px)}
.public-header nav{flex:1;justify-content:center}
.public-header a,.public-footer a{color:inherit;text-decoration:none}
.public-header a:hover,.public-footer a:hover{text-decoration:underline}
.public-header .logo,.public-footer .logo{display:inline-flex;align-items:center;gap:8px;font:bold 1.65rem Georgia,serif}
.public-header .logo img,.public-footer .logo img{width:30px;height:36px}
.public-header .logo-w span,.public-footer .logo-w span{color:#c9481f}
.public-actions{gap:12px}.public-actions form{margin:0}.public-actions button{font:inherit;background:none;border:0;cursor:pointer}
.public-actions .public-cart,.public-cart-dialog .button-primary{display:inline-block;background:#2a1a14;color:white;border-radius:11px;padding:10px 15px;text-decoration:none}
.public-footer{border-top:1px solid #e5d6c8;background:#f3e8da;margin-top:40px}
.public-footer>div{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:24px;padding-block:36px}
.public-footer nav{display:grid;align-content:start;gap:8px}.public-footer section p{margin:8px 0}
.public-cart-dialog{width:min(420px,90vw);box-sizing:border-box;background:#fffaf3;border:1px solid #ddc9b5;border-radius:16px;padding:24px;margin:auto}
.public-cart-dialog::backdrop{background:#24160f88}.public-cart-dialog form{float:right}.public-cart-dialog button{background:none;border:0;font-size:24px;cursor:pointer}.public-cart-dialog p{margin:14px 0}
.map-list-link{display:inline-block;margin:0 16px 12px;color:#823814;text-decoration:underline}
.order-progress{list-style:none;display:flex;gap:8px;padding:0;margin:24px 0;max-width:640px}
.order-progress li{display:flex;gap:6px;flex:1;padding:8px 0;border-bottom:3px solid #dfd2c4;color:#69574a;font-weight:600}
.order-progress [aria-current=step]{color:#963415;border-color:#c9481f}
.product-customize{background:none;color:#833517;border:0;text-decoration:underline;cursor:pointer;font:inherit;font-size:.85rem}
@media(max-width:850px){.public-header-inner{flex-wrap:wrap;justify-content:space-between;gap:10px}.public-header nav{order:3;flex:1 0 100%;justify-content:flex-start;flex-wrap:wrap;font-size:.91rem}.public-actions{font-size:.9rem}.public-footer>div{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.public-header .logo{font-size:1.35rem}.public-header nav{gap:8px 14px}.public-header .logo img{width:24px}.public-actions{gap:7px}.public-cart-dialog{padding:18px}.public-footer>div{gap:20px 14px}}
.mobile-cart-bar[hidden]{display:none!important}

.restaurant-overview{padding:clamp(18px,3vw,32px);margin-bottom:24px;border:1px solid #e4d4c3;border-radius:20px;background:#fffaf3}
.overview-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
.overview-heading>div{min-width:0}
.overview-heading h1{font-size:clamp(1.9rem,4vw,3rem);line-height:1.08;overflow-wrap:anywhere}
.overview-heading p{margin:6px 0 10px;color:#68584c}
.overview-heading img{width:clamp(62px,10vw,92px);aspect-ratio:1;height:auto;object-fit:cover;border-radius:14px;flex:none}
.overview-heading .badge{max-width:100%;white-space:normal}
.overview-terms{display:flex;gap:18px 36px;flex-wrap:wrap;border-top:1px solid #e4d4c3;margin:18px 0 12px;padding-top:14px}
.overview-terms dt{color:#68584c;font-size:.89rem}
.overview-terms dd{margin:3px 0 0;font-weight:700}
.delivery-term-note{display:block;margin-top:2px;font-size:.85em;font-weight:400;color:#68584c}
.delivery-term-note[hidden]{display:none}
.overview-map-link{display:inline-block;padding:6px 0;color:#8c391e;text-decoration:underline;text-underline-offset:3px}
.directory-values,.restaurant-meta{grid-template-columns:repeat(auto-fit,minmax(min(100%,8.5rem),1fr))}
.map-key{display:flex;flex-wrap:wrap;gap:8px 20px;margin:0 0 9px;padding:0;list-style:none}
.map-key li,.place-marker{display:flex;align-items:center;gap:7px}
.leaflet-container .place-marker{display:flex;align-items:center;justify-content:center}
.place-symbol{width:18px;height:18px;box-sizing:border-box;position:relative;display:inline-block;flex:none;border:2px solid white;box-shadow:0 0 0 1px #4e453c}
.place-symbol.is-open{border-radius:50%;background:#236642}
.place-symbol.is-open::after{content:"";position:absolute;left:4px;top:2px;width:5px;height:8px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}
.place-symbol.is-closed{border-radius:4px;background:#685c53}
.place-symbol.is-closed::after{content:"";position:absolute;left:3px;right:3px;top:6px;height:2px;background:white}
@media(max-width:600px){
    .overview-terms{display:block;padding-top:4px}
    .overview-terms>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:baseline;gap:12px;padding:8px 0}
    .overview-terms dd{text-align:right;margin:0}
    .overview-terms dt,.overview-terms dd{overflow-wrap:anywhere}
}

/* Keep public forms and navigation readable on narrow phones. */
.public-header nav a{white-space:nowrap}
.public-footer nav,.public-footer section{min-width:0}
.public-footer nav a{overflow-wrap:break-word;hyphens:auto}
@media(max-width:600px){
    .public-footer>div>section{grid-column:1/-1}
    .is-public h1,.is-public h2,.is-public h3{hyphens:auto;overflow-wrap:break-word}
    .is-public .page-main .btn{white-space:normal;text-align:center}
    .order-progress li{display:flex;flex-direction:column;gap:3px;font-size:13px;min-width:0}
    #checkoutPanel .form-stack>fieldset{min-width:0;padding:0;border:0;border-radius:0}
    #checkoutPanel .checkout-heading{font-family:Figtree,system-ui,sans-serif;font-size:18px;line-height:1.35;margin:4px 0 14px}
    #checkoutPanel .checkout-heading span{flex:none}
    #checkoutPanel .payment-option{min-width:0;padding:12px}
    #checkoutPanel .payment-option input{flex:none}
}
@media(max-width:480px){
    #checkoutPanel .grid-cols-2{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:360px){
    .public-footer>div{grid-template-columns:minmax(0,1fr)}
    .is-public h1{font-size:28px}
}

#checkoutPanel .form-stack>.checkout-choice{padding:16px;border:1px solid #e4d4c3;border-radius:16px;background:#f7eddf}
#checkoutPanel .checkout-choice .checkout-heading{padding:0 6px;margin:0 0 8px}
#checkoutPanel .checkout-choice .payment-option{background:#fffaf3}
@media(max-width:360px){
    #checkoutPanel .form-stack>.checkout-choice{padding:12px}
}
