/* Escala tipográfica principal — leitura confortável em todo o sistema */
body { font-size: 18px; line-height: 1.5; }
.brand { font-size: 18px; }
.brand small { font-size: 10px; }
.brand-mark { font-size: 13px; }
.eyebrow { font-size: 13px; }
.button { min-height: 54px; padding-inline: 26px; font-size: 15px; }
.announcement { height: 34px; font-size: 12px; }
.store-header nav a { font-size: 15px; }
.track-link, .simple-header > a:last-child { font-size: 14px; }
.cart-trigger { font-size: 15px; }
.cart-trigger b { font-size: 11px; }

/* Página inicial enquadrada na altura útil da tela */
@media (min-width: 1001px) {
    .store-hero {
        /* O conteudo pode ganhar uma linha com zoom ou fontes ampliadas.
           A altura flexivel mantem texto e galeria na mesma linha do grid. */
        height: auto;
        min-height: max(610px, calc(100vh - 112px));
        min-height: max(610px, calc(100svh - 112px));
        max-height: none;
    }
    .hero-content { padding-top: 45px; padding-bottom: 45px; }
    .hero-content h1 { margin-block: 16px 20px; font-size: clamp(50px, 4.7vw, 69px); }
    .hero-buttons { margin-block: 28px 34px; }
    .hero-gallery { min-height: 0; }
    .hero-photo-main img { object-position: center 48%; }
}

@media (min-width: 721px) and (max-width: 1000px) {
    .store-hero { min-height: 620px; }
    .hero-content h1 { font-size: clamp(48px, 5.8vw, 62px); }
}

.hero-content > p:not(.eyebrow) { font-size: 19px; line-height: 1.65; }
.text-button { font-size: 15px; }
.hero-details b { font-size: 30px; }
.hero-details small { max-width: 125px; font-size: 13px; }
.hero-caption small { font-size: 12px; }
.hero-caption strong { font-size: 25px; }
.hero-caption span { font-size: 14px; }
.hero-seal span { font-size: 13px; }
.hero-seal b { font-size: 18px; }
.service-points > div > b { font-size: 23px; }
.service-points strong { font-size: 19px; }
.service-points small { font-size: 14px; }

/* Cardápio e conteúdo */
.section-head > p, .ritual-copy > p:not(.eyebrow), .history-section > div > p:not(.eyebrow) { font-size: 18px; }
.search-box input, .tracking-lookup input { font-size: 16px; }
.category-filters button { padding: 11px 16px; font-size: 14px; }
.product-tag, .sold-out { font-size: 12px; }
.product-meta { font-size: 13px; }
.product-content h3 { font-size: 27px; }
.product-content > p { font-size: 17px; }
.product-footer > strong { font-size: 23px; }
.add-product { font-size: 14px; }
.ritual-copy li > b { font-size: 23px; }
.ritual-copy li strong { font-size: 20px; }
.ritual-copy li small { font-size: 15px; }
.history-section figcaption { font-size: 16px; }
.tracking-lookup label { font-size: 13px; }

/* Rodapé, sacola, checkout e acompanhamento */
.footer-grid > div { font-size: 15px; }
.footer-grid > div:first-child p { font-size: 17px; }
.footer-grid strong { font-size: 13px; }
.footer-bottom { font-size: 13px; }
.cart-drawer header small { font-size: 12px; }
.pickup-note { font-size: 14px; }
.cart-item h3 { font-size: 19px; }
.cart-item small, .cart-quantity { font-size: 14px; }
.cart-drawer > footer > div span { font-size: 16px; }
.checkout-button { min-height: 50px; font-size: 15px; }
.dialog-content > p:not(.eyebrow), .checkout-dialog > p:not(.eyebrow) { font-size: 18px; }
.preparation-note small { font-size: 12px; }
.preparation-note p { font-size: 17px; }
.preparation-note span { font-size: 14px; }
.checkout-dialog label, .payment-methods legend { font-size: 15px; }
.checkout-dialog input, .checkout-dialog textarea { font-size: 17px; }
.payment-option strong { font-size: 15px; }
.payment-option small, .change-field small { font-size: 13px; }
.checkout-summary { font-size: 16px; }
.checkout-dialog form > small { font-size: 13px; }
.checkout-account strong { font-size: 14px; }
.checkout-account small, .checkout-account a { font-size: 12px; }
.global-toast { font-size: 15px; }
.tracking-intro { font-size: 18px; }
.status-highlight small { font-size: 12px; }
.status-highlight p { font-size: 15px; }
.status-steps > div { font-size: 14px; }
.tracking-item strong { font-size: 18px; }
.tracking-item small { font-size: 12px; }
.tracking-payment small { font-size: 11px; }
.tracking-payment strong { font-size: 17px; }
.status-card > footer span { font-size: 16px; }
.tracking-help p { font-size: 16px; }

/* Login, cadastro e conta do cliente */
.login-box > p:not(.eyebrow) { font-size: 18px; line-height: 1.6; }
.login-box label { font-size: 15px; }
.login-box input { font-size: 17px; }
.back-store, .account-switch { font-size: 15px; }
.form-error { font-size: 15px; }
.account-header-actions > a, .account-header-actions button { font-size: 14px; }
.account-welcome > div > p:last-child { font-size: 18px; }
.account-identity small { font-size: 11px; }
.account-identity strong { font-size: 16px; }
.account-orders > header > strong { font-size: 14px; }
.account-order-head span small { font-size: 12px; }
.customer-order-status { font-size: 11px; }
.account-order-items { font-size: 15px; }
.account-order-list footer > span, .account-order-list footer > a { font-size: 13px; }
.account-empty p { font-size: 15px; }

/* Cozinha */
.kitchen-page { font-size: 18px; font-weight: 500; }
.kitchen-page button, .kitchen-page input { font-weight: 600; }
.kitchen-page .eyebrow { font-size: 14px; font-weight: 800; }
.kitchen-header .brand { font-weight: 700; }
.kitchen-header form button { font-size: 15px; font-weight: 700; }
.kitchen-live { font-size: 16px; font-weight: 700; }
.kitchen-live small { font-size: 13px; font-weight: 500; }
.kitchen-nav button { font-size: 16px; font-weight: 700; }
.kitchen-nav b { font-size: 13px; font-weight: 800; }
.kitchen-title h1 { font-size: 50px; }
.kitchen-title > div > p:last-child { font-size: 18px; font-weight: 500; }
.kitchen-kpis strong { font-size: 32px; }
.kitchen-kpis small { font-size: 14px; font-weight: 700; }
.orders-toolbar input, .recipe-search input { font-size: 17px; font-weight: 500; }
.orders-toolbar > button, .history-toggle { font-size: 15px; font-weight: 700; }
.order-card > header h3 { font-size: 27px; }
.order-card > header span { font-size: 14px; font-weight: 600; }
.order-state { font-size: 13px; font-weight: 800; }
.order-line { font-size: 17px; font-weight: 600; }
.order-line b { font-size: 18px; font-weight: 800; }
.order-payment-badge { font-size: 12px; }
.order-card-note { font-size: 15px; font-weight: 600; }
.order-card > footer span { font-size: 15px; font-weight: 700; }
.order-card > footer button { font-size: 15px; font-weight: 800; }
.availability-grid small { font-size: 13px; font-weight: 800; }
.availability-grid strong { font-size: 21px; }
.kitchen-recipes small { font-size: 13px; font-weight: 800; }
.kitchen-recipes h3 { font-size: 26px; }
.kitchen-recipes p { font-size: 16px; font-weight: 500; }
.kitchen-recipes button { font-size: 15px; font-weight: 800; }
.checklist-tabs button { font-size: 15px; font-weight: 700; }
.checklist-card header small { font-size: 13px; font-weight: 800; }
.checklist-card header strong { font-size: 22px; }
.check-item { font-size: 18px; font-weight: 600; }
.order-drawer > header small { font-size: 13px; font-weight: 800; }
.order-drawer > header h2 { font-size: 42px; }
.order-general-note { font-size: 15px; font-weight: 700; }
.drawer-item-head h3 { font-size: 25px; }
.drawer-item-head span { font-size: 13px; font-weight: 800; }
.drawer-item-note { font-size: 15px; font-weight: 600; }
.item-actions button { font-size: 14px; font-weight: 800; }
.order-main-action { font-size: 16px; font-weight: 800; }
.recipe-dialog > div > p:not(.eyebrow) { font-size: 17px; }
.recipe-dialog section small { font-size: 13px; font-weight: 800; }
.recipe-dialog section p { font-size: 17px; font-weight: 500; }
.recipe-time { font-size: 16px; font-weight: 600; }

/* Administração */
.admin-header form button, .admin-secure { font-size: 13px; }
.admin-sidebar > div > small { font-size: 11px; }
.admin-sidebar button { font-size: 15px; }
.admin-sidebar footer a { font-size: 13px; }
.admin-title > div > p:last-child { font-size: 15px; }
.period-filter a { font-size: 13px; }
.metric-grid small { font-size: 11px; }
.metric-grid strong { font-size: 32px; }
.metric-grid span { font-size: 13px; }
.admin-card header small { font-size: 10px; }
.admin-card header h2 { font-size: 22px; }
.admin-card header a { font-size: 13px; }
.status-summary small { font-size: 12px; }
.customer-metric span { font-size: 14px; }
.payment-breakdown b, .top-products span strong { font-size: 14px; }
.payment-breakdown small, .top-products span small { font-size: 12px; }
.admin-empty { font-size: 14px; }
.movement-form label { font-size: 14px; }
.movement-form input, .movement-form select { font-size: 15px; }
.movement-rows article > div strong { font-size: 14px; }
.movement-rows article > div small { font-size: 12px; }
.admin-search input { font-size: 14px; }
.admin-table-card table { font-size: 14px; }
.admin-table-card th { font-size: 11px; }
.admin-table-card td small { font-size: 12px; }
.admin-table-card td form button { font-size: 12px; }
.admin-status { font-size: 11px; }

@media (max-width: 720px) {
    body { font-size: 17px; }
    .store-hero { min-height: 0; }
    .hero-content { min-height: auto; padding-top: 58px; padding-bottom: 50px; }
    .hero-content h1 { font-size: clamp(47px, 13vw, 60px); }
    .hero-content > p:not(.eyebrow) { font-size: 18px; }
    .hero-gallery { height: min(480px, 65svh); min-height: 390px; }
    .section-head > p, .ritual-copy > p:not(.eyebrow), .history-section > div > p:not(.eyebrow) { font-size: 17px; }
    .status-steps > div { font-size: 12px; }
    .kitchen-nav button { font-size: 15px; }
    .kitchen-title h1 { font-size: 42px; }
    .kitchen-title > div > p:last-child { font-size: 16px; }
    .kitchen-kpis small { font-size: 13px; }
    .order-card > header h3 { font-size: 25px; }
    .order-line { font-size: 16px; }
    .check-item { font-size: 17px; }
    .drawer-item-head h3 { font-size: 22px; }
    .preparation-steps li > span { font-size: 16px; }
    .admin-sidebar button { font-size: 14px; }
    .admin-table-card table { font-size: 13px; }
}

@media (max-width: 430px) {
    .brand { font-size: 15px; }
    .brand small { font-size: 9px; }
    .hero-details small { max-width: 105px; font-size: 12px; }
    .hero-gallery { min-height: 360px; }
    .status-steps span { font-size: 11px; }
}
