/* ==========================================================================
   Temă "bilet de comandă" — cacao, caramel, zmeură, fistic.
   Semnătura vizuală: carduri cu antet perforat + "găurele de bilet",
   ca o adeverință ruptă dintr-un carnet de comenzi.
   ========================================================================== */

:root {
    --crem: #FAF3E7;
    --hartie: #FFFDF9;
    --cacao: #3B2A20;
    --cacao-light: #5A4636;
    --caramel: #C17817;
    --caramel-inchis: #9C5F12;
    --caramel-pal: #F2D9AE;
    --zmeura: #B23A48;
    --zmeura-pal: #F3D9DA;
    --fistic: #6E8C5D;
    --fistic-pal: #DCE6D2;
    --linie: #E4D5BE;
    --text-muted-cald: #8A7565;
}

body {
    background-color: var(--crem);
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    color: var(--cacao);
}

h1, h2, h3, h4, h5, h6,
.navbar-brand, .h3, .h4 {
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: var(--cacao);
}

a {
    color: var(--caramel-inchis);
}
a:hover {
    color: var(--cacao);
}

.text-muted {
    color: var(--text-muted-cald) !important;
}

/* ===== Navbar ===== */
.app-navbar {
    background-color: var(--cacao);
    box-shadow: 0 2px 8px rgba(59, 42, 32, 0.15);
}
.app-navbar .navbar-brand {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 600;
    font-size: 1.25rem;
    color: var(--crem) !important;
}
.app-navbar .navbar-brand svg {
    flex-shrink: 0;
}
.app-navbar .nav-link {
    color: rgba(250, 243, 231, 0.75) !important;
    font-weight: 500;
}
.app-navbar .nav-link:hover {
    color: var(--crem) !important;
}
.app-navbar .nav-link.active {
    font-weight: 600;
    color: var(--crem) !important;
    border-bottom: 2px solid var(--caramel);
}
.app-navbar .navbar-text {
    color: rgba(250, 243, 231, 0.75);
}
.app-navbar .btn-outline-light {
    border-color: rgba(250, 243, 231, 0.4);
}
.app-navbar .btn-outline-light:hover {
    background-color: var(--caramel);
    border-color: var(--caramel);
}

/* ===== Butoane ===== */
.btn {
    border-radius: 8px;
    font-weight: 500;
}
.btn-primary {
    background-color: var(--caramel);
    border-color: var(--caramel);
    color: #fff;
}
.btn-primary:hover, .btn-primary:focus {
    background-color: var(--caramel-inchis);
    border-color: var(--caramel-inchis);
    color: #fff;
}
.btn-outline-primary {
    color: var(--caramel-inchis);
    border-color: var(--caramel);
}
.btn-outline-primary:hover {
    background-color: var(--caramel);
    border-color: var(--caramel);
    color: #fff;
}
.btn-outline-secondary {
    color: var(--cacao-light);
    border-color: var(--linie);
}
.btn-outline-secondary:hover {
    background-color: var(--cacao);
    border-color: var(--cacao);
    color: var(--crem);
}
.btn-outline-danger {
    color: var(--zmeura);
    border-color: var(--zmeura);
}
.btn-outline-danger:hover {
    background-color: var(--zmeura);
    border-color: var(--zmeura);
}

/* ===== Carduri — semnătura: antet perforat + "găurele de bilet" ===== */
.card {
    background-color: var(--hartie);
    border: 1px solid var(--linie);
    border-radius: 10px;
    box-shadow: 0 1px 3px rgba(59, 42, 32, 0.06);
    position: relative;
    overflow: visible;
}
.card-header {
    background-color: var(--hartie);
    border-bottom: 1.5px dashed var(--linie);
    color: var(--cacao);
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 600;
    letter-spacing: 0.01em;
    position: relative;
    border-radius: 10px 10px 0 0 !important;
}
.card-header::before,
.card-header::after {
    content: '';
    position: absolute;
    bottom: -6px;
    width: 12px;
    height: 12px;
    background: var(--crem);
    border-radius: 50%;
    border: 1px solid var(--linie);
}
.card-header::before { left: -6px; }
.card-header::after { right: -6px; }

/* ===== Login / instalare ===== */
.login-body {
    min-height: 100vh;
    background: linear-gradient(135deg, var(--cacao) 0%, var(--caramel-inchis) 100%);
}
.login-card {
    width: 100%;
    max-width: 380px;
    border: none;
    border-radius: 16px;
}

/* ===== Statistici dashboard ===== */
.stat-card {
    border-left-width: 4px;
    transition: transform .15s ease;
}
.stat-card:hover {
    transform: translateY(-2px);
}

/* ===== Tabele ===== */
.table {
    color: var(--cacao);
}
.table thead th {
    color: var(--text-muted-cald);
    font-weight: 600;
    font-size: 0.82rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    border-bottom: 1.5px solid var(--linie);
}
.table-hover tbody tr:hover {
    background-color: var(--crem);
}
.table td, .table th {
    border-color: var(--linie);
}

.descriere-col {
    max-width: 260px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.thumb-poza {
    width: 48px;
    height: 48px;
    object-fit: cover;
    border-radius: 8px;
}
.thumb-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--caramel-pal);
    color: var(--caramel-inchis);
    font-size: 1.2rem;
}

.poza-lipsa {
    height: 220px;
    background: var(--caramel-pal);
    border-radius: 10px;
}

/* ===== Badge-uri de status — recolorate pe tema cofetăriei ===== */
.badge.bg-secondary { background-color: var(--text-muted-cald) !important; }
.badge.bg-info      { background-color: var(--caramel-inchis) !important; }
.badge.bg-warning   { background-color: var(--caramel) !important; color: #fff !important; }
.badge.bg-primary   { background-color: var(--cacao) !important; }
.badge.bg-success   { background-color: var(--fistic) !important; }
.badge.bg-danger    { background-color: var(--zmeura) !important; }

/* ===== Formulare ===== */
.form-control, .form-select {
    border-color: var(--linie);
    border-radius: 8px;
}
.form-control:focus, .form-select:focus {
    border-color: var(--caramel);
    box-shadow: 0 0 0 0.2rem rgba(193, 120, 23, 0.15);
}
.form-label {
    font-weight: 500;
    color: var(--cacao-light);
    font-size: 0.9rem;
}

/* ===== Calendar livrări ===== */
.calendar-table th {
    background-color: var(--cacao);
    color: var(--crem);
    text-align: center;
    font-weight: 500;
}
.calendar-table td {
    height: 110px;
    width: 14.28%;
    vertical-align: top;
    padding: 4px;
}
.calendar-gol {
    background: var(--crem);
}
.calendar-zi.calendar-azi {
    background: var(--caramel-pal);
}
.calendar-numar {
    font-weight: 600;
    font-size: .85rem;
    color: var(--text-muted-cald);
    margin-bottom: 4px;
}
.calendar-comanda {
    display: block;
    font-size: .72rem;
    color: #fff;
    padding: 2px 5px;
    border-radius: 4px;
    margin-bottom: 2px;
    text-decoration: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.calendar-comanda:hover {
    opacity: .85;
    color: #fff;
}

@media (max-width: 768px) {
    .calendar-table td { height: 70px; font-size: .8rem; }
}

/* ===== Tabel Detalii tort / Reteta de lucru (galben + chenar verde punctat) ===== */
.tabel-reteta {
    width: 100%;
    border-collapse: collapse;
    border: 2px dashed #2e8b3d;
    background: #fff;
}
.tabel-reteta th {
    background: #ffff00;
    text-align: center;
    padding: 8px;
    font-weight: 700;
    font-size: 1.05rem;
    border-bottom: 2px dashed #2e8b3d;
    font-family: 'Fraunces', Georgia, serif;
}
.tabel-reteta td {
    padding: 7px 12px;
    border-bottom: 1px solid #ddd;
    vertical-align: top;
}
.tabel-reteta tr:last-child td {
    border-bottom: none;
}
.tabel-reteta td:first-child {
    width: 55%;
    color: #333;
}
.tabel-reteta td:last-child {
    font-weight: 600;
}

/* ===== Printare reteta ===== */
@media print {
    body * {
        visibility: hidden;
    }
    #zonaPrint, #zonaPrint * {
        visibility: visible;
    }
    #zonaPrint {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
    }
    .no-print {
        display: none !important;
    }
    .tabel-reteta {
        break-inside: avoid;
    }
}

/* ===== Fise de comanda multiple (comenzi_print.php) — 4 fise pe pagina (grid 2x2) ===== */
.pagina-fise {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8mm;
    margin-bottom: 8mm;
}
.fisa-comanda {
    border: 2.5px solid var(--cacao);
    border-radius: 8px;
    padding: 3mm;
    break-inside: avoid;
}
.fisa-antet {
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 600;
    font-size: 1rem;
    margin-bottom: 5px;
    color: var(--cacao);
}
.tabel-reteta-mic {
    font-size: 0.92rem;
}
.tabel-reteta-mic th {
    padding: 6px;
    font-size: 0.98rem;
}
.tabel-reteta-mic td {
    padding: 5px 8px;
}

@media print {
    .pagina-fise {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 1fr 1fr;
    }
    .fisa-comanda {
        border-width: 3px;
    }
    .pagina-cu-break {
        page-break-after: always;
    }
    @page {
        size: A4;
        margin: 10mm;
    }
}

@media (max-width: 768px) {
    .pagina-fise {
        grid-template-columns: 1fr;
    }
}

.sumar-print {
    max-width: 500px;
    margin-top: 4mm;
}
@media print {
    .sumar-print {
        page-break-before: always;
    }
}

/* ===== Print listă comenzi (index.php) — doar randurile bifate, 2 pe pagina, text mai mare ===== */
@media print {
    .rand-neselectat-print {
        display: none !important;
    }
    .print-header {
        display: block !important;
        font-family: 'Fraunces', Georgia, serif;
        font-weight: 600;
        font-size: 1.3rem;
        margin-bottom: 12px;
        color: var(--cacao);
    }
    #zonaPrint table.table {
        font-size: 0.8rem;
        border-collapse: collapse;
        border: 1.5px solid var(--cacao);
    }
    #zonaPrint table.table th,
    #zonaPrint table.table td {
        padding: 6px 8px;
        border: 1px solid var(--cacao) !important;
    }
}
