/* ============================================================
   Tasquinha Escuteiros 172 — Theme Bootstrap 5
   Fonte: Inter (carregada no header)
   Paleta natureza / acampamento
   ============================================================ */

:root {
    --rest-font:             'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif;
    --rest-primary:          #2D6A4F;
    --rest-primary-light:    #40916C;
    --rest-primary-dark:     #1B4332;
    --rest-primary-soft:     #D8F3DC;
    --rest-accent:           #D4A017;
    --rest-accent-light:     #F4E4A6;
    --rest-accent-dark:      #9A7B1A;
    --rest-olive:            #606C38;
    --rest-wine:             #BC4749;
    --rest-cream:            #F8FAF5;
    --rest-comida:           #B45309;
    --rest-comida-dark:      #92400E;
    --rest-comida-soft:      #FEF3C7;
    --rest-bebida:           #075985;
    --rest-bebida-dark:      #0C4A6E;
    --rest-bebida-soft:      #E0F2FE;
    --rest-outros:           #5B21B6;
    --rest-outros-dark:      #4C1D95;
    --rest-outros-soft:      #EDE9FE;
    --rest-bg:               var(--rest-cream);
    --rest-bg-soft:          #FFFFFF;
    --rest-surface:          #ffffff;
    --rest-border:           #D4E2D4;
    --rest-border-strong:    #B7CDB7;
    --rest-footer:           #1B4332;
    --rest-text:             #1B2E1B;
    --rest-text-muted:       #5C6B5C;
    --rest-success:          #2D6A4F;
    --rest-success-soft:     #D8F3DC;
    --rest-warning:          #B45309;
    --rest-warning-soft:     #FEF3C7;
    --rest-danger:           #BC4749;
    --rest-danger-soft:      #FEE2E2;
    --rest-info:             #0E7490;
    --rest-info-soft:        #CFFAFE;
    --rest-mesa-livre:       var(--rest-success);
    --rest-mesa-ocupada:     var(--rest-wine);
    --rest-mesa-reservada:   var(--rest-warning);
    --bs-primary:            var(--rest-primary);
    --bs-secondary:          #606C38;
    --bs-success:            var(--rest-success);
    --bs-warning:            var(--rest-warning);
    --bs-danger:             var(--rest-danger);
    --bs-info:               var(--rest-info);
    --bs-light:              var(--rest-bg-soft);
    --bs-dark:               var(--rest-footer);
    --bs-primary-rgb:        45, 106, 79;
    --bs-success-rgb:        45, 106, 79;
    --bs-warning-rgb:        180, 83, 9;
    --bs-danger-rgb:         188, 71, 73;
    --bs-info-rgb:           14, 116, 144;
    --bs-body-font-family:   var(--rest-font);
    --bs-body-bg:            var(--rest-bg);
    --bs-body-color:         var(--rest-text);
    --bs-link-color:         var(--rest-primary);
    --bs-link-hover-color:   var(--rest-primary-light);
    --bs-border-color:       var(--rest-border);
    --bs-border-radius:      0.65rem;
    --bs-border-radius-lg:   0.85rem;
    --bs-border-radius-xl:   1rem;
    --bs-btn-border-radius:  0.65rem;
    --bs-btn-padding-y:      0.65rem;
    --bs-btn-padding-x:      1.15rem;
    --bs-btn-font-weight:    600;
    --bs-card-border-radius: 0.85rem;
    --bs-card-border-color:  var(--rest-border);
    --bs-card-bg:            var(--rest-surface);
    --bs-card-cap-bg:        rgba(45, 106, 79, 0.06);
    --rest-shadow-sm:  0 1px 3px rgba(27, 67, 50, 0.08);
    --rest-shadow:     0 4px 12px rgba(27, 67, 50, 0.1);
    --rest-shadow-lg:  0 10px 24px rgba(27, 67, 50, 0.12);
    --rest-navbar-height: 4rem;
}

html {
    scroll-behavior: smooth;
    font-size: 16px;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

body {
    background-color: var(--rest-bg);
    color: var(--rest-text);
    min-height: 100vh;
    font-family: var(--rest-font);
    font-size: 1rem;
    line-height: 1.5;
    letter-spacing: -0.01em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
    font-family: var(--rest-font);
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--rest-primary-dark);
}

.btn-primary {
    --bs-btn-bg: var(--rest-primary);
    --bs-btn-border-color: var(--rest-primary);
    --bs-btn-hover-bg: var(--rest-primary-light);
    --bs-btn-hover-border-color: var(--rest-primary-light);
    --bs-btn-active-bg: var(--rest-primary-dark);
    --bs-btn-active-border-color: var(--rest-primary-dark);
}

.btn-accent {
    color: var(--rest-primary-dark);
    background: var(--rest-accent);
    border-color: var(--rest-accent);
    font-weight: 600;
}

.btn-comida {
    background: var(--rest-comida);
    border-color: var(--rest-comida-dark);
    color: #fff;
}
.btn-comida:hover, .btn-comida:focus {
    background: var(--rest-comida-dark);
    border-color: var(--rest-comida-dark);
    color: #fff;
}
.btn-bebida {
    background: var(--rest-bebida);
    border-color: var(--rest-bebida-dark);
    color: #fff;
}
.btn-bebida:hover, .btn-bebida:focus {
    background: var(--rest-bebida-dark);
    border-color: var(--rest-bebida-dark);
    color: #fff;
}
.btn-outros {
    background: var(--rest-outros);
    border-color: var(--rest-outros-dark);
    color: #fff;
}
.btn-outros:hover, .btn-outros:focus {
    background: var(--rest-outros-dark);
    border-color: var(--rest-outros-dark);
    color: #fff;
}

.card { box-shadow: var(--rest-shadow-sm); border: 1px solid var(--rest-border); }
.card-header { background: var(--bs-card-cap-bg); border-bottom: 1px solid var(--rest-border); font-weight: 600; }

.navbar-rest {
    background: linear-gradient(135deg, var(--rest-primary-dark), var(--rest-primary));
    box-shadow: var(--rest-shadow);
}
.navbar-rest .navbar-brand, .navbar-rest .nav-link { color: rgba(255,255,255,0.92) !important; }
.navbar-rest .nav-link:hover, .navbar-rest .nav-link.active { color: var(--rest-accent-light) !important; }
.navbar-rest .navbar-toggler { border-color: rgba(255,255,255,0.4); }
.navbar-rest .navbar-toggler-icon { filter: invert(1); }

.stat-card {
    border: 1px solid var(--rest-border);
    border-radius: var(--bs-border-radius-lg);
    background: var(--rest-surface);
    box-shadow: var(--rest-shadow-sm);
    padding: 1.25rem;
    height: 100%;
}
.stat-card .stat-label { font-size: 0.85rem; color: var(--rest-text-muted); text-transform: uppercase; letter-spacing: 0.04em; font-weight: 600; }
.stat-card .stat-value { font-family: var(--rest-font); font-size: 1.75rem; font-weight: 800; color: var(--rest-primary-dark); margin-top: 0.25rem; letter-spacing: -0.03em; }
.stat-card.stat-devolucao .stat-value { color: var(--rest-danger); }
.stat-card.stat-liquido .stat-value { color: var(--rest-success); }

.mesa-card {
    border: 2px solid var(--rest-border);
    border-radius: var(--bs-border-radius-lg);
    background: var(--rest-surface);
    padding: 1rem;
    text-align: center;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
    cursor: pointer;
    text-decoration: none;
    color: inherit;
    display: block;
}
.mesa-card:hover { transform: translateY(-2px); box-shadow: var(--rest-shadow); color: inherit; }
.mesa-card.estado-livre { border-color: var(--rest-mesa-livre); }
.mesa-card.estado-ocupada { border-color: var(--rest-mesa-ocupada); }
.mesa-card.estado-reservada { border-color: var(--rest-mesa-reservada); }
.mesa-numero { font-family: var(--rest-font); font-size: 2rem; font-weight: 800; line-height: 1; letter-spacing: -0.03em; }

.badge-categoria-comida { background: var(--rest-comida-soft); color: var(--rest-comida); }
.badge-categoria-bebida { background: var(--rest-bebida-soft); color: var(--rest-bebida); }
.badge-categoria-outros { background: var(--rest-outros-soft); color: var(--rest-outros); }

.pedido-resumo { background: var(--rest-primary-soft); border: 1px solid var(--rest-border); border-radius: var(--bs-border-radius-lg); padding: 1rem 1.25rem; }
.pedido-resumo .valor-final { font-family: var(--rest-font); font-size: 1.5rem; font-weight: 800; color: var(--rest-success); letter-spacing: -0.03em; }
.linha-devolvida { opacity: 0.65; text-decoration: line-through; }
.table-rest thead th { background: var(--rest-primary-soft); color: var(--rest-primary-dark); font-weight: 600; border-bottom: 2px solid var(--rest-border); }
.login-card { max-width: 420px; margin: 0 auto; border-top: 4px solid var(--rest-accent); }
.login-brand { font-family: var(--rest-font); font-weight: 800; color: var(--rest-primary-dark); letter-spacing: -0.03em; }
.produto-btn {
    text-align: left;
    white-space: normal;
    height: 100%;
    background: #E8F0E8;
    border-color: #B7CDB7;
    color: var(--rest-text);
}
.produto-btn:hover, .produto-btn:focus {
    background: #D4E2D4;
    border-color: var(--rest-primary-light);
    color: var(--rest-text);
}
.produto-btn .preco { font-weight: 700; color: var(--rest-primary-dark); }
