/* Qamarero real clone pass: app width, headers, products, sheets and cart.
   Extraído de site.css para poder mantener la web por bloques. */

/* =========================================================
   V9.3 - PEDIDOS CLON QAMARERO REAL
   Ajuste basado en F12 de referencia: ancho 448px, cards 120px,
   tipografia 16px, precio 16px y footer sin solapes.
   ========================================================= */

/* Base app: móvil full, escritorio centrado como Qamarero */
.pedido-page.pedido-phone-layout[data-pedido-page] {
    --qm-app-width: 448px;
    --qm-accent: #ff4b2f;
    --qm-green: #009b52;
    --qm-line: #eeeeee;
    --qm-section: #f3f3f3;
    --qm-text: #212121;
    --qm-muted: #777777;
    background: #eef2f7 !important;
    color: var(--qm-text) !important;
    padding: 0 !important;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

.pedido-phone-layout .pedido-menu-shell {
    width: 100% !important;
    max-width: var(--qm-app-width) !important;
    margin: 0 auto !important;
    min-height: 100dvh !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    border: 0 !important;
    overflow: visible !important;
    background: #fff !important;
}

@media (min-width: 700px) {
    .pedido-page.pedido-phone-layout[data-pedido-page] {
        padding: 18px 0 !important;
    }

    .pedido-phone-layout .pedido-menu-shell {
        min-height: calc(100dvh - 36px) !important;
        border-radius: 0 !important;
        overflow: hidden !important;
        box-shadow: 0 12px 34px rgba(0,0,0,.08) !important;
    }
}

/* Cabecera local: conservamos esencia, pero sin zoom */
.pedido-store-head {
    padding: max(18px, env(safe-area-inset-top)) 18px 0 !important;
    background: linear-gradient(180deg, #eeeeee 0%, #f7f7f7 62%, #fff 100%) !important;
}

.pedido-store-topbar {
    min-height: 142px !important;
}

.pedido-logo-box {
    width: 172px !important;
    height: 68px !important;
    max-width: 52vw !important;
    border-radius: 0 0 8px 8px !important;
    background: #f8f8f8 !important;
}

.pedido-phone-layout .carta-lang {
    min-height: 48px !important;
    padding: 8px 14px !important;
    gap: 8px !important;
    border-radius: 999px !important;
    font-size: 18px !important;
    line-height: 1 !important;
}

.pedido-phone-layout .flag-es,
.pedido-phone-layout .carta-lang .flag-es {
    width: 30px !important;
    height: 30px !important;
}

.pedido-store-info h1 {
    margin: 0 !important;
    font-size: 34px !important;
    line-height: 1.04 !important;
    font-weight: 500 !important;
    letter-spacing: -.9px !important;
}

.pedido-store-info p {
    margin: 13px 0 0 !important;
    color: var(--qm-muted) !important;
    font-size: 16px !important;
    line-height: 1.28 !important;
    font-weight: 600 !important;
    letter-spacing: .2px !important;
}

.pedido-store-info p span {
    width: 1px !important;
    height: 18px !important;
    margin: 0 12px !important;
    background: #e2e2e2 !important;
}

.pedido-phone-layout .pedido-mode-tabs {
    margin-top: 18px !important;
    padding: 5px !important;
    gap: 6px !important;
    border-radius: 16px !important;
    background: #eeeeee !important;
}

.pedido-phone-layout .pedido-mode-tabs button {
    min-height: 48px !important;
    border-radius: 13px !important;
    font-size: 0 !important;
    padding: 0 !important;
}

.pedido-phone-layout .pedido-mode-tabs button span { display: none !important; }
.pedido-phone-layout .pedido-mode-tabs button:first-child::before { font-size: 24px !important; }
.pedido-phone-layout .pedido-mode-tabs button:last-child::before { font-size: 26px !important; }

.pedido-open-row {
    min-height: 62px !important;
    padding: 0 !important;
}

.pedido-open-row > strong {
    font-size: 22px !important;
    line-height: 1.1 !important;
    font-weight: 500 !important;
    letter-spacing: -.2px !important;
}

.pedido-phone-layout .pedido-open-state {
    padding: 0 !important;
    background: transparent !important;
    font-size: 21px !important;
    line-height: 1 !important;
    font-weight: 500 !important;
    gap: 10px !important;
    color: #777 !important;
}

.pedido-phone-layout .pedido-open-state i {
    width: 12px !important;
    height: 12px !important;
    border-width: 4px !important;
}

/* Barra sticky: medida real aprox. 66px */
.pedido-category-stick {
    min-height: 66px !important;
    height: 66px !important;
    padding: 10px 18px !important;
    gap: 13px !important;
    background: rgba(255,255,255,.98) !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
}

.pedido-menu-button {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    border-radius: 5px !important;
    gap: 4px !important;
    background: #171717 !important;
    box-shadow: none !important;
}

.pedido-menu-button span {
    width: 18px !important;
    height: 2px !important;
    border-radius: 999px !important;
}

.pedido-category-stick > strong {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: 18px !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;
    letter-spacing: .5px !important;
}

.pedido-section {
    scroll-margin-top: 68px !important;
}

.pedido-section > h2 {
    min-height: 66px !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    padding: 0 18px !important;
    background: var(--qm-section) !important;
    color: #202020 !important;
    font-size: 18px !important;
    line-height: 1.15 !important;
    font-weight: 800 !important;
    letter-spacing: .1px !important;
}

/* Producto: clon de card Qamarero. Parent 120px, imagen 80px, texto 16px */
.pedido-phone-layout .pedido-one-list {
    padding: 0 0 calc(86px + env(safe-area-inset-bottom)) !important;
    gap: 0 !important;
}

.pedido-phone-layout .pedido-product {
    min-height: 120px !important;
    height: 120px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 34px !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 0 18px !important;
    border-radius: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid var(--qm-line) !important;
    box-shadow: none !important;
    background: #fff !important;
    transform: none !important;
}

.pedido-phone-layout .pedido-product:hover { transform: none !important; }

.pedido-phone-layout .pedido-product-main-button {
    height: 100% !important;
    display: grid !important;
    grid-template-columns: 80px minmax(0, 1fr) !important;
    gap: 16px !important;
    align-items: center !important;
    padding: 0 !important;
}

.pedido-phone-layout .pedido-product-img {
    width: 80px !important;
    height: 80px !important;
    border-radius: 7px !important;
    background: #f3f3f3 !important;
    font-size: 0 !important;
}

.pedido-phone-layout .pedido-product-img span {
    display: none !important;
}

.pedido-phone-layout .pedido-product-info {
    min-width: 0 !important;
    display: block !important;
    padding-top: 1px !important;
}

.pedido-phone-layout .pedido-product h3 {
    margin: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: 16px !important;
    line-height: 1.22 !important;
    font-weight: 500 !important;
    letter-spacing: .1px !important;
}

.pedido-phone-layout .pedido-product p {
    margin: 6px 0 9px !important;
    max-width: 100% !important;
    display: block !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    color: #666 !important;
    font-size: 15px !important;
    line-height: 1.25 !important;
    font-weight: 400 !important;
    letter-spacing: .05px !important;
}

.pedido-phone-layout .pedido-product strong {
    display: block !important;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace !important;
    font-size: 16px !important;
    line-height: 1 !important;
    font-weight: 500 !important;
    letter-spacing: .8px !important;
    color: #222 !important;
}

.pedido-phone-layout .pedido-add {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    border-radius: 50% !important;
    display: grid !important;
    place-items: center !important;
    padding: 0 !important;
    border: 0 !important;
    background: #fff !important;
    color: var(--qm-accent) !important;
    font-size: 24px !important;
    font-weight: 300 !important;
    line-height: 1 !important;
    box-shadow: 0 3px 11px rgba(0,0,0,.12) !important;
}

/* Flotantes: no invaden tanto */
.pedido-search-fab {
    width: 58px !important;
    height: 58px !important;
    left: calc(50% - min(224px, 50vw) + 8px) !important;
    bottom: calc(12px + env(safe-area-inset-bottom)) !important;
    border-radius: 13px !important;
    font-size: 36px !important;
    font-weight: 300 !important;
    color: var(--qm-accent) !important;
    background: #fff !important;
    box-shadow: 0 10px 28px rgba(0,0,0,.11) !important;
}

.pedido-phone-layout .pedido-mobile-cart {
    left: calc(50% - min(224px, 50vw) + 78px) !important;
    right: calc(50% - min(224px, 50vw) + 8px) !important;
    bottom: calc(12px + env(safe-area-inset-bottom)) !important;
    min-height: 58px !important;
    border-radius: 25px !important;
    padding: 0 16px !important;
    gap: 10px !important;
    background: var(--qm-green) !important;
    color: #fff !important;
    box-shadow: 0 10px 30px rgba(0,0,0,.16) !important;
}

.pedido-mobile-cart span { font-size: 17px !important; }
.pedido-mobile-cart strong { font-size: 16px !important; line-height: 1.12 !important; font-weight: 800 !important; }
.pedido-mobile-cart em { font-size: 18px !important; line-height: 1 !important; font-weight: 850 !important; letter-spacing: .2px !important; }

/* Categorías bottom sheet */
.pedido-category-panel {
    width: 100% !important;
    max-width: var(--qm-app-width) !important;
    max-height: 76dvh !important;
    border-radius: 8px 8px 0 0 !important;
    background: #fff !important;
}

.pedido-category-panel header {
    min-height: 74px !important;
    padding: 0 20px !important;
}

.pedido-category-panel h2 {
    font-size: 26px !important;
    line-height: 1 !important;
    font-weight: 760 !important;
    letter-spacing: .3px !important;
}

.pedido-category-panel header button {
    width: 38px !important;
    height: 38px !important;
    font-size: 38px !important;
    font-weight: 260 !important;
}

.pedido-category-panel nav {
    padding: 8px 18px 12px !important;
}

.pedido-category-panel nav a {
    min-height: 58px !important;
    padding: 0 18px !important;
    border-radius: 7px !important;
    font-size: 20px !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;
    letter-spacing: .4px !important;
}

.pedido-category-panel nav a.active {
    background: var(--qm-accent) !important;
    color: #fff !important;
}

.pedido-category-panel footer {
    padding: 14px 16px max(14px, env(safe-area-inset-bottom)) !important;
}

.pedido-category-panel footer button {
    min-height: 62px !important;
    border-radius: 18px !important;
    border: 1.5px solid #1d1d1d !important;
    font-size: 20px !important;
    font-weight: 800 !important;
}

/* Sheets y complementos: footer en flujo, jamás encima del precio */
.pedido-phone-layout .pedido-sheet-panel,
.pedido-sheet-panel {
    width: 100% !important;
    max-width: var(--qm-app-width) !important;
    max-height: 78dvh !important;
    border-radius: 0 !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
}

.pedido-config-head {
    flex: 0 0 auto !important;
    padding: 24px 18px 12px !important;
}

.pedido-config-head h2 {
    font-size: 26px !important;
    line-height: 1.08 !important;
    font-weight: 500 !important;
    letter-spacing: .3px !important;
}

.pedido-config-head strong {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace !important;
    font-size: 24px !important;
    line-height: 1 !important;
    font-weight: 500 !important;
    letter-spacing: 1px !important;
}

.pedido-qty-row {
    flex: 0 0 auto !important;
    gap: 12px !important;
    padding: 6px 18px 18px !important;
}

.pedido-qty-row button,
.pedido-qty-row strong {
    width: 58px !important;
    height: 48px !important;
    border-radius: 15px !important;
    font-size: 25px !important;
}

.pedido-qty-row strong {
    font-size: 21px !important;
    font-weight: 800 !important;
}

.pedido-phone-layout .pedido-options-body,
.pedido-options-body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow: auto !important;
    padding: 0 18px 12px !important;
}

.pedido-phone-layout .pedido-option-group {
    padding: 12px 0 20px !important;
}

.pedido-phone-layout .pedido-option-group + .pedido-option-group {
    border-top: 0 !important;
}

.pedido-phone-layout .pedido-option-group-head {
    margin-bottom: 10px !important;
}

.pedido-phone-layout .pedido-option-group-head small {
    font-size: 15px !important;
    line-height: 1.1 !important;
    font-weight: 400 !important;
    color: #777 !important;
}

.pedido-phone-layout .pedido-option-group-head h3 {
    font-size: 19px !important;
    line-height: 1.15 !important;
    letter-spacing: 3.1px !important;
    font-weight: 500 !important;
}

.pedido-phone-layout .pedido-option-group-head span {
    padding-top: 20px !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    color: #777 !important;
}

.pedido-phone-layout .pedido-option-row {
    min-height: 56px !important;
    grid-template-columns: minmax(0, 1fr) auto 24px !important;
    gap: 8px !important;
    padding: 6px 0 !important;
}

.pedido-phone-layout .pedido-option-row strong {
    font-size: 18px !important;
    line-height: 1.15 !important;
    letter-spacing: 2.2px !important;
    font-weight: 400 !important;
}

.pedido-phone-layout .pedido-option-row em {
    font-size: 17px !important;
    line-height: 1 !important;
    letter-spacing: .9px !important;
    font-weight: 700 !important;
    color: var(--qm-green) !important;
}

.pedido-phone-layout .pedido-option-box {
    width: 23px !important;
    height: 23px !important;
    border-radius: 4px !important;
    border-width: 3px !important;
}

.pedido-sheet-footer,
.pedido-phone-layout .pedido-config-footer {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    flex: 0 0 auto !important;
    display: grid !important;
    grid-template-columns: .9fr 1.2fr !important;
    gap: 10px !important;
    padding: 12px 16px max(12px, env(safe-area-inset-bottom)) !important;
    background: #fff !important;
    border-top: 1px solid rgba(238,238,238,.9) !important;
}

.pedido-phone-layout .pedido-sheet-footer button,
.pedido-sheet-footer button,
.pedido-checkout-form .primary {
    min-height: 58px !important;
    border-radius: 17px !important;
    font-size: 17px !important;
    font-weight: 800 !important;
}

.pedido-phone-layout .pedido-sheet-footer .primary,
.pedido-sheet-footer .primary {
    background: var(--qm-green) !important;
    color: #fff !important;
}

.pedido-cart-sheet-panel .pedido-sheet-header,
.pedido-checkout-panel .pedido-sheet-header {
    flex: 0 0 auto !important;
    padding: 16px 18px 12px !important;
}

.pedido-sheet-header h2 {
    font-size: 24px !important;
    line-height: 1.08 !important;
    letter-spacing: -.3px !important;
}

.pedido-cart-lines-modal {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: auto !important;
    padding: 12px 18px 0 !important;
}

.modal-total {
    flex: 0 0 auto !important;
    margin: 10px 18px 10px !important;
    padding-top: 12px !important;
}

.pedido-cart-total strong {
    font-size: 22px !important;
}

.pedido-checkout-form {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow: auto !important;
    padding: 14px 18px 16px !important;
}

@media (max-width: 390px) {
    .pedido-store-topbar { min-height: 130px !important; }
    .pedido-store-info h1 { font-size: 31px !important; }
    .pedido-store-info p { font-size: 15px !important; }
    .pedido-category-stick { height: 62px !important; min-height: 62px !important; }
    .pedido-menu-button { width: 38px !important; height: 38px !important; min-width: 38px !important; }
    .pedido-section { scroll-margin-top: 64px !important; }
    .pedido-section > h2 { min-height: 62px !important; font-size: 17px !important; }
    .pedido-phone-layout .pedido-product { height: 116px !important; min-height: 116px !important; padding-left: 16px !important; padding-right: 16px !important; }
    .pedido-phone-layout .pedido-product-main-button { grid-template-columns: 76px minmax(0, 1fr) !important; gap: 14px !important; }
    .pedido-phone-layout .pedido-product-img { width: 76px !important; height: 76px !important; }
    .pedido-phone-layout .pedido-product h3 { font-size: 15.5px !important; }
    .pedido-phone-layout .pedido-product p { font-size: 14px !important; }
    .pedido-phone-layout .pedido-product strong { font-size: 15.5px !important; }
}

