/* Etapa 4: cardápio contemporâneo de restaurante — tipografia contida e cores apetitosas. */
:root{--primary:#bf5336;--border:#ede8e2;--muted:#7a746f}
body{background:#faf9f6;color:#26221f;font-family:'DM Sans',Inter,system-ui,sans-serif}
.store-topline{background:#302621;color:#efe5d9;letter-spacing:.03em}
.store-header{border-color:#efeae4;background:#fffdfb}
.header-inner{padding-top:14px;padding-bottom:14px}
.logo{width:54px;height:54px;border-radius:16px;background:linear-gradient(130deg,#e69b61,#ba5e3b)}
.store-identity h1{font-size:19px;letter-spacing:-.035em}
.layout{max-width:1280px;gap:20px;padding-top:22px}
.hero{min-height:178px;padding:26px 30px;border-radius:22px;background:radial-gradient(circle at 90% 10%,#ffd1a550,transparent 36%),linear-gradient(115deg,#49362e,#a55f41)}
.hero h2{font-size:clamp(21px,2.25vw,29px);line-height:1.2;letter-spacing:-.035em;margin:8px 0}
.hero p{font-size:12px;line-height:1.55;margin:5px 0 15px;color:#fff1e5}
.hero-label{color:#f9d8be}
.hero-cta{color:#86432d;border-radius:999px}
.hero-graphic{font-size:68px;min-width:100px;opacity:.6}
.menu-head{margin:23px 0 14px}.menu-head h2{font-size:22px;letter-spacing:-.035em}
.category-pill{background:white;border-color:#eee5db;color:#726359;border-radius:999px;padding:10px 15px}
.category-pill.active{background:#ab563c;color:#fff;border-color:#ab563c}
.catalog-grid{grid-template-columns:repeat(auto-fill,minmax(208px,1fr));gap:13px}
.product{min-height:260px;border-color:#eee7df;border-radius:18px;box-shadow:0 7px 20px #573b2708}
.product-photo{height:130px;background:linear-gradient(125deg,#f9eee5,#f5dfd1)}
.product-info{padding:14px}.product-info h3{font-size:14px;margin:5px 0}
.product-desc{font-size:11px;margin-bottom:13px}.product-bottom strong{font-size:15px}
.product-bottom button{background:#fff1e9;color:#a34c32;border-radius:12px}
.product-bottom button:hover{background:#b9573a;color:white}
.checkout-card{top:105px;border-color:#efe8e2;border-radius:22px;box-shadow:0 10px 25px #583c2c0a;padding:21px}
.cart-heading h2{font-size:18px}.place-order{background:#b9573a;border-radius:13px}
.checkout-card input,.checkout-card textarea,.checkout-card select{border-color:#e8dfd7;border-radius:12px}
.header-cart{background:#fff3eb;color:#a54d32;border-color:#f4d9ca;border-radius:14px}
.header-cart b,.cart-count{background:#ba5c3e}.store-footer b{color:#ba5c3e}
@media(max-width:570px){.header-inner{padding:10px 13px}.logo{width:45px;height:45px}.store-identity h1{font-size:16px}.layout{padding:12px 12px 105px}.hero{padding:19px 20px;min-height:150px;border-radius:17px}.hero h2{font-size:22px}.hero p{font-size:11px;margin-bottom:12px}.menu-head h2{font-size:20px}.product-photo{height:108px}.product-info{padding:11px}.product-info h3{font-size:12px}.catalog-grid{gap:9px}.product{min-height:235px}.category-pill{font-size:11px;padding:9px 13px}.checkout-card{padding:15px}.mobile-cart-bar button{background:#b9573a}}
.product-stock-state{font-size:10px;font-weight:700;color:#397b65;white-space:nowrap}.product-stock-state.low{color:#9a6b20}.product-stock-state.out{color:#a34b55}.product-bottom button:disabled{opacity:.7;background:#f0f1f5;color:#788094;cursor:not-allowed}
.hero{min-height:150px;display:block;background:linear-gradient(115deg,#49362e,#a55f41)}.hero>div{max-width:620px}.hero p{margin-bottom:0}.header-actions{flex-wrap:wrap;gap:8px}.location-button{min-height:42px;padding:10px 12px;border:1px solid #e8dfd7;background:#fff8f0;color:#74412e;border-radius:11px;font:inherit;cursor:pointer}.address-search-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.address-search-actions>*{flex:1}.map-privacy{display:block;color:#7a746f;font-size:11px;line-height:1.5;margin-bottom:12px}.location-results{display:grid;gap:7px}.location-results button{text-align:left;white-space:normal}.delivery-area-warning{background:#fff0f1;color:#943d48;border:1px solid #f0d2d7;border-radius:12px;padding:12px;margin:10px 0;font-size:13px;line-height:1.5}.place-order:disabled{opacity:.55;cursor:not-allowed}#map{height:280px;z-index:0;border-radius:12px;border:1px solid #e8dfd7}.restaurant-map-marker span{display:block;border:1px solid #714630;background:#fff9ed;color:#714630;border-radius:7px;text-align:center;padding:3px}.customer-orders-dialog{border:1px solid #e8dfd7;border-radius:20px;width:min(650px,calc(100vw - 24px));max-height:90dvh;padding:22px;box-sizing:border-box;color:#302621;background:#fffdfb;overflow:auto}.customer-orders-dialog::backdrop{background:#30262180}.orders-dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.orders-dialog-heading h2{margin:5px 0}.orders-dialog-heading button{width:42px;height:42px;background:white;border:1px solid #e8dfd7;border-radius:10px;font-size:24px;cursor:pointer}.orders-privacy{font-size:12px;line-height:1.6;color:#7a746f}.customer-order{border:1px solid #e8dfd7;background:white;padding:16px;border-radius:14px;margin-top:12px;overflow-wrap:anywhere}.customer-order-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.customer-status{font-size:12px;color:#7b4d36;background:#fff3e5;border-radius:8px;padding:7px}.customer-status.cancelled{color:#943d48;background:#fff0f1}.customer-order summary{cursor:pointer;min-height:40px;display:flex;align-items:center;color:#985239}.customer-order dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;font-size:13px}.customer-order dd{margin:0;text-align:right}.customer-order dt{color:#7a746f}.customer-order li{margin:8px 0}.customer-order li small{display:block;white-space:pre-wrap}.customer-order p{white-space:pre-wrap;font-size:13px;line-height:1.6}.cart-item-note{display:grid!important;gap:4px;font-size:11px!important;margin:8px 0 0!important}.cart-item-note input{min-width:0!important;width:100%!important}.cart-item>div:first-child{min-width:0;flex:1}.store-footer>span{display:none}
@media(max-width:900px){.layout{grid-template-columns:1fr}.checkout-card{position:static;max-height:none}.header-inner{gap:12px;flex-wrap:wrap}.header-actions{justify-content:flex-start}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:570px){.hero{min-height:0}.hero h2{max-width:100%}.header-actions{width:100%}.header-cart{min-height:42px}.header-actions .open-status{margin-left:auto}.customer-orders-dialog{padding:16px;max-height:94dvh}#map{height:250px}.customer-order dl{grid-template-columns:1fr}.customer-order dd{text-align:left}.two-fields{grid-template-columns:1fr}.mobile-cart-bar{bottom:0;padding-bottom:max(10px,env(safe-area-inset-bottom))}.checkout-card{scroll-margin-top:12px}.layout{padding-bottom:110px}.product-bottom{flex-wrap:wrap;gap:7px}}
[hidden]{display:none!important}
.delivery-point-marker span{display:block;background:#fff;border:2px solid #a25436;color:#a25436;border-radius:50%;text-align:center;width:24px;height:24px;line-height:20px;box-shadow:0 2px 5px #30262133}
@media(max-width:570px){.header-actions .header-cart{display:inline-flex;align-items:center;gap:6px;font-size:12px}.header-actions .open-status{order:3;margin-left:auto}.header-actions{padding-top:6px}.customer-orders-dialog{scrollbar-gutter:stable}}
/* Refinamento: ações compactas, carrinho retrátil e localização integrada. */
.store-meta{align-items:center;gap:7px}.store-meta #storeEta{display:inline}.store-meta .meta-dot{display:inline}.store-meta .open-status{padding:0;background:none;font-size:11px;color:#18866b;font-weight:600}.store-meta .open-status.offline{color:#a05534}.header-actions{margin-left:auto;flex-wrap:nowrap}.header-cart{min-height:44px}.cart-toggle{position:relative;width:48px;height:44px;padding:10px;justify-content:center;flex-shrink:0}.cart-toggle b{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;font-size:10px}.layout.cart-closed{grid-template-columns:minmax(0,1fr)}.layout.cart-closed .checkout-card{display:none}.close-cart-panel{width:36px;height:36px;border:1px solid #e8dfd7;border-radius:10px;background:white;font-size:22px;color:#74412e;margin-left:auto}.cart-heading{gap:9px}.clear-cart{padding:8px 0}.checkout-card:focus{outline:none}.address-search-actions{position:relative;display:block;margin:-7px 0 12px}.address-search-submit{position:absolute;right:5px;top:-45px;width:38px;height:36px;border:0;border-radius:8px;background:#fff3e8;color:#8d492f;display:grid;place-items:center;cursor:pointer}.address-search-actions small{font-size:11px;color:#7a746f;line-height:1.5;display:block;padding-top:3px}.checkout-card #address{padding-right:48px}.use-location{display:block;width:100%;margin:12px 0;min-height:44px}.delivery-point-marker span{border:3px solid #fff;background:#b9573a;color:white;box-shadow:0 0 0 2px #b9573a,0 2px 7px #0009}.restaurant-map-marker span{background:#fff;color:#302621;border:2px solid #6356e8;box-shadow:0 2px 6px #0007;font-weight:700}.leaflet-control-attribution{background:#fffffff0!important;color:#202840!important}.leaflet-control-attribution a{color:#244676!important}
@media(max-width:900px){.layout.cart-open{grid-template-columns:1fr}.layout.cart-closed{grid-template-columns:1fr}.checkout-card{scroll-margin-top:160px}.store-identity{min-width:0}.header-inner{flex-wrap:wrap}.header-actions{width:auto;margin-left:auto}}
@media(max-width:570px){.header-inner{padding:10px 12px;gap:9px}.store-identity{flex:1 1 100%}.header-actions{padding-top:0;justify-content:flex-end}.header-actions #openCart{display:inline-flex}.store-meta{gap:5px;font-size:11px}.store-meta .meta-dot,.store-meta #storeEta{display:inline}.store-meta .open-status{order:initial;margin:0;font-size:11px}.cart-toggle{width:46px}.checkout-card{max-height:none;overflow:visible;scroll-margin-top:170px}.cart-open .mobile-cart-bar{display:none}.location-results{max-height:220px;overflow:auto}.address-search-submit{top:-45px}}
.location-privacy{font-size:12px;color:#78685c;margin:12px 0}.location-privacy summary{cursor:pointer}.location-privacy p{line-height:1.5}.address-input-group{display:block;position:relative}.address-input-group input{width:100%;padding-right:48px}.address-input-group .address-search-submit{top:50%;right:4px;transform:translateY(-50%)}

@media(max-width:1100px){body.mobile-cart-open{overflow:hidden;overscroll-behavior:none}.layout .checkout-card{position:fixed!important;inset:0!important;z-index:1500;width:100%;height:min(100dvh,var(--cart-viewport,100dvh));max-height:none!important;margin:0;border-radius:0;border:0;padding:20px 20px max(24px,env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;box-sizing:border-box}.layout .checkout-card[hidden]{display:none!important}.cart-heading{position:sticky;top:-20px;z-index:3;padding:14px 0;background:var(--menu-surface,#fffdfb);border-bottom:1px solid var(--menu-border,#e8dfd7)}.close-cart-panel{width:auto;padding:8px 12px;min-height:44px;font-size:14px}.mobile-cart-open .mobile-cart-bar{display:none!important}.layout.cart-open{display:block}}


/* SIMPLIS MW - ENTREGA NO CABECALHO V1 */

/* Aceitando pedidos: verde */
.store-header #storeStatus:not(.offline) {
    color: #168052 !important;
    font-weight: 700;
}

/* Pedidos pausados: vermelho */
.store-header #storeStatus.offline {
    color: #B04444 !important;
    font-weight: 700;
}

/* Informações comerciais abaixo do prazo */
.store-header .mw-header-delivery-info {
    margin-top: 8px;
    max-width: 100%;
}

.store-header #heroCommercial[hidden] {
    display: none !important;
}

.store-header #heroCommercial:not([hidden]) {
    display: flex !important;
    align-items: center;
    flex-wrap: wrap;
    gap: 5px 18px;
    margin: 0;
    padding: 0;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    width: auto;
    max-width: 100%;
}

.store-header #heroCommercial > span {
    display: inline-flex;
    align-items: center;
    color: #625A54 !important;
    font-size: 11px;
    font-weight: 550;
    line-height: 1.5;
    white-space: normal;
}

/* Separação visual discreta */
.store-header #heroCommercial > span + span::before {
    content: "·";
    color: #A9A19B;
    margin-right: 12px;
}

/* Desktop e tablet */
@media (max-width: 900px) {
    .store-header #heroCommercial {
        gap: 5px 12px;
    }

    .store-header #heroCommercial > span {
        font-size: 11px;
    }
}

/* Celular */
@media (max-width: 600px) {
    .store-header .mw-header-delivery-info {
        margin-top: 7px;
    }

    .store-header #heroCommercial:not([hidden]) {
        flex-direction: column;
        align-items: flex-start;
        gap: 3px;
    }

    .store-header #heroCommercial > span {
        font-size: 10px;
    }

    .store-header #heroCommercial > span + span::before {
        content: none;
    }
}


/* SIMPLIS MW - REFINAMENTO BUSCA E FRETE V1 */

/* Preservar somente a borda externa arredondada da busca */
body .search-box input,
body .search-box input[type="search"] {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    background: transparent !important;
    border-radius: 0 !important;
    min-width: 0;
}

body .search-box input:focus,
body .search-box input:focus-visible {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
}

/* Foco acessível no contêiner externo */
body .search-box:focus-within {
    outline: 2px solid #99432b;
    outline-offset: 2px;
}

/* Remover somente o ponto separador do frete */
.store-header #heroCommercial > span + span::before {
    content: none !important;
    display: none !important;
}


/* SIMPLIS MW - CARRINHO RODAPE V2 */

/* Título à esquerda; ações agrupadas à direita */
.checkout-card .cart-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: nowrap;
    min-width: 0;
}

.checkout-card .cart-heading > div:first-child {
    min-width: 0;
    flex: 1 1 auto;
}

.checkout-card .mw-cart-heading-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex: 0 0 auto;
    min-width: 0;
}

/* Botão Limpar, discreto */
.checkout-card .mw-cart-heading-actions .clear-cart {
    position: static;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-width: 52px;
    min-height: 36px;
    padding: 8px 9px;
    margin: 0;
    flex: 0 0 auto;
    border: 0;
    border-radius: 9px;
    background: transparent;
    color: #99523d;
    font-size: 12px;
    font-weight: 650;
    white-space: nowrap;
}

.checkout-card .mw-cart-heading-actions .clear-cart:hover {
    background: #f8eee8;
}

/* Botão Fechar, separado e sem sobreposição */
.checkout-card .mw-cart-heading-actions .close-cart-panel {
    position: static;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: auto;
    height: auto;
    min-width: 65px;
    min-height: 38px;
    margin: 0 !important;
    padding: 8px 12px;
    border: 1px solid #e8dfd7;
    border-radius: 10px;
    background: #fff;
    color: #74412e;
    font-size: 12px;
    font-weight: 650;
    line-height: 1.2;
    white-space: nowrap;
}

.checkout-card .mw-cart-heading-actions .close-cart-panel:hover {
    background: #fff7f1;
    border-color: #cbb4a5;
}

.checkout-card .mw-cart-heading-actions button:focus-visible {
    outline: 2px solid #99432b;
    outline-offset: 2px;
}

/* Rodapé compacto, próximo ao fim do catálogo */
.layout .browse-area .store-footer {
    padding: 16px 0 8px;
    margin: 20px 0 0;
    font-size: 11px;
    line-height: 1.6;
}

/* Remove o excesso de padding inferior no desktop */
body .layout {
    padding-bottom: 18px;
}

/* Tablet e celular: preservar o carrinho sobreposto */
@media (max-width: 1100px) {
    .layout .checkout-card .cart-heading {
        gap: 10px;
    }

    .layout .checkout-card .mw-cart-heading-actions {
        gap: 7px;
    }
}

/* Telas pequenas */
@media (max-width: 570px) {
    body .layout {
        padding-bottom: 18px;
    }

    .layout .checkout-card .cart-heading {
        gap: 7px;
    }

    .layout .checkout-card .cart-heading h2 {
        font-size: 17px;
    }

    .layout .checkout-card .mw-cart-heading-actions {
        gap: 4px;
    }

    .layout .checkout-card
    .mw-cart-heading-actions .clear-cart {
        min-width: 45px;
        padding: 7px 5px;
        font-size: 11px;
    }

    .layout .checkout-card
    .mw-cart-heading-actions .close-cart-panel {
        min-width: 56px;
        min-height: 38px;
        padding: 7px 9px;
        font-size: 11px;
    }

    .layout .browse-area .store-footer {
        padding: 12px 0 8px;
        margin-top: 14px;
        font-size: 11px;
    }

    /*
      Quando a barra fixa do carrinho aparece,
      reservar espaço para ela não cobrir o rodapé.
    */
    body:has(.mobile-cart-bar:not([hidden]))
    .layout {
        padding-bottom:
            calc(82px + env(safe-area-inset-bottom));
    }
}

/* Celulares estreitos */
@media (max-width: 360px) {
    .layout .checkout-card .cart-heading {
        align-items: flex-start;
    }

    .layout .checkout-card .mw-cart-heading-actions {
        flex-wrap: wrap;
        justify-content: flex-end;
    }
}



/* SIMPLIS MW - HISTORICO CLIENTE V2 */

#ordersDialog.customer-orders-dialog {
    width: min(680px, calc(100vw - 24px));
    border-radius: 22px;
}

#ordersDialog .orders-dialog-heading {
    margin-bottom: 16px;
}

#ordersDialog .orders-privacy {
    display: none;
}

#ordersDialog #tracking {
    display: grid;
    gap: 14px;
}

#ordersDialog .mw-order-card {
    border: 1px solid var(--menu-border, #e8dfd7);
    background: var(--menu-surface, #ffffff);
    border-radius: 17px;
    padding: 18px;
    min-width: 0;
}

#ordersDialog .mw-order-card-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 12px;
}

#ordersDialog .mw-order-identification {
    display: grid;
    gap: 6px;
    min-width: 0;
}

#ordersDialog .mw-order-identification strong {
    font-size: 15px;
    font-weight: 750;
}

#ordersDialog .mw-order-identification small {
    color: var(--menu-secondary-color, #82766f);
    font-size: 12px;
}

#ordersDialog .mw-order-status {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    background: #fff2e5;
    color: #96512f;
    padding: 8px 11px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.3;
}

#ordersDialog .mw-order-status.is-cancelled {
    background: #fff0f1;
    color: #a72c40;
}

#ordersDialog .mw-order-view-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 16px;
    padding: 10px 17px;
    min-height: 42px;
    border-radius: 11px;
    border: 1px solid var(--menu-border, #e8dfd7);
    background: var(--menu-surface, #ffffff);
    color: var(--menu-action-color, #99432b);
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
}

#ordersDialog .mw-order-view-button:hover {
    background: #fff7f1;
}

#ordersDialog .mw-order-detail {
    margin-top: 17px;
    border-top: 1px solid var(--menu-border, #eee7df);
    padding-top: 17px;
}

#ordersDialog .mw-order-detail[hidden] {
    display: none !important;
}

#ordersDialog .mw-order-section {
    margin-bottom: 18px;
}

#ordersDialog .mw-order-section h3 {
    font-size: 13px;
    margin: 0 0 9px;
    letter-spacing: normal;
    font-weight: 750;
}

#ordersDialog .mw-order-section p {
    font-size: 13px;
    margin: 0;
    line-height: 1.6;
}

#ordersDialog .mw-order-products {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 10px;
}

#ordersDialog .mw-order-product {
    margin: 0;
    padding: 10px 12px;
    background: #faf7f4;
    border: 1px solid var(--menu-border, #eee7df);
    border-radius: 10px;
    font-size: 13px;
    line-height: 1.5;
}

#ordersDialog .mw-order-product strong {
    margin-right: 4px;
}

#ordersDialog .mw-order-product small {
    display: block;
    margin-top: 4px;
    color: var(--menu-secondary-color, #7a746f);
    white-space: pre-wrap;
}

#ordersDialog .mw-order-cancellation-state {
    font-size: 12px;
    margin: 0 0 14px;
    color: #96512f;
}

#ordersDialog .mw-order-cancel-button {
    min-height: 43px;
    padding: 10px 16px;
    border: 1px solid #c33443;
    border-radius: 11px;
    background: #ffffff;
    color: #c33443;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
}

#ordersDialog .mw-order-cancel-button:hover {
    background: #a91f30;
    color: #ffffff;
    border-color: #a91f30;
}

@media (max-width: 570px) {
    #ordersDialog.customer-orders-dialog {
        padding: 16px;
    }

    #ordersDialog .mw-order-card {
        padding: 14px;
    }

    #ordersDialog .mw-order-status {
        font-size: 11px;
    }

    #ordersDialog .mw-order-view-button {
        width: 100%;
    }

    #ordersDialog .mw-order-cancel-button {
        width: 100%;
    }
}
