/* Hlavní kontejner */
.scb-wrapper {
    max-width: 900px;
    padding: 20px;
    margin: 0 auto;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
}

/* --- 1. Úpravy Flatpickr Kalendáře --- */
.scb-calendar-container {
    text-align: center;
    margin-bottom: 30px;
}

.flatpickr-calendar{
    margin: 0px auto;
}

/* Skrytí inputu, chceme jen inline kalendář */
.flatpickr-input {
    /*display: none;*/
}

/* Stylování "Půlených dnů" a obsazenosti */

/* Plně obsazený den (uprostřed rezervace) */
.flatpickr-day.scb-booked-full {
    background: #ff5c5c !important;
    border-color: #ff5c5c !important;
    color: white !important;
    cursor: not-allowed;
}

/* Den odjezdu (Ráno obsazeno, Odpoledne volno pro příjezd) */
/* Vizuál: Levý horní roh červený, pravý dolní bílý/zelený */
.flatpickr-day.scb-booked-checkout {
    background: linear-gradient(135deg, #ff5c5c 50%, #ffffff 50%);
    color: #333;
    border-color: #ffffff;
}
/* Pokud je den vybrán jako začátek nové rezervace, musí se přebarvit */
.flatpickr-day.selected.scb-booked-checkout {
    background: linear-gradient(135deg, #ff5c5c 50%, #569ff7 50%) !important;
}

/* Den příjezdu (Ráno volno, Odpoledne obsazeno) */
/* Vizuál: Levý horní roh bílý, pravý dolní červený */
.flatpickr-day.scb-booked-checkin {
    background: linear-gradient(135deg, #ffffff 50%, #ff5c5c 50%);
    color: #333;
    border-color: #ffffff;
}
/* Pokud je den vybrán jako konec nové rezervace */
.flatpickr-day.selected.scb-booked-checkin {
    background: linear-gradient(135deg, #569ff7 50%, #ff5c5c 50%) !important;
}

/* Víkendy - jemné podbarvení pro orientaci */
.flatpickr-day.flatpickr-disabled, 
.flatpickr-day.flatpickr-disabled:hover {
    color: #ccc; /* Minulost */
}
.flatpickr-day:nth-child(7n), .flatpickr-day:nth-child(7n+6) {
    background-color: #f8f9fa;
}

/* Plně obsazený den - ČEKÁ NA SCHVÁLENÍ (Oranžová/Žlutá) */
.flatpickr-day.scb-pending-full {
    background: #f6c23e !important;
    border-color: #f6c23e !important;
    color: white !important;
}

/* Půlené dny - ČEKÁ NA SCHVÁLENÍ */
.flatpickr-day.scb-pending-checkout {
    background: linear-gradient(135deg, #f6c23e 50%, #ffffff 50%);
    border-color: #ffffff;
}

.flatpickr-day.scb-pending-checkin {
    background: linear-gradient(135deg, #ffffff 50%, #f6c23e 50%);
    border-color: #ffffff;
}

/* Oprava výběru na půleném dni, aby barva při kliknutí nezmizela úplně */
.flatpickr-day.selected.scb-pending-checkout {
    background: linear-gradient(135deg, #f6c23e 50%, #569ff7 50%) !important;
}
.flatpickr-day.selected.scb-pending-checkin {
    background: linear-gradient(135deg, #569ff7 50%, #f6c23e 50%) !important;
}

/* Legenda */
.scb-legend {
    margin-top: 15px;
    display: flex;
    justify-content: center;
    gap: 20px;
    font-size: 14px;
}
.scb-legend .box {
    display: inline-block;
    width: 15px;
    height: 15px;
    margin-right: 5px;
    border-radius: 3px;
}
.scb-legend .available .box { background: #fff; border: 1px solid #ccc; }
.scb-legend .pending .box { background: #f6c23e; }
.scb-legend .booked .box { background: #ff5c5c; }


/* --- 2. Formulář --- */
#scb-form-container {
    background: #fdfdfd;
    padding: 25px;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    /* Formulář skryjeme, dokud není vybrán termín (volitelné, teď necháme viditelný pro přehled) */
}

.scb-form-row {
    display: flex;
    gap: 20px;
    margin-bottom: 15px;
}
.scb-form-group {
    flex: 1;
    display: flex;
    flex-direction: column;
    margin-bottom: 15px;
}
.scb-form-group label {
    font-weight: 600;
    margin-bottom: 5px;
    font-size: 14px;
}
.scb-form-group input, 
.scb-form-group select, 
.scb-form-group textarea {
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 16px;
}
.checkbox-group label {
    display: flex;
    align-items: center;
    font-weight: normal;
    cursor: pointer;
}
.checkbox-group input {
    width: 18px;
    height: 18px;
    margin-right: 10px;
}

label[for="has_dog"]{
	padding-top: 35px;
}

.scb-submit-btn {
    width: fit-content;
    font-family: 'Alegreya', serif;
    padding: 10px 30px;
    background-color: #6B5A84;
    color: white;
    border: none;
    font-size: 1.25em;
    line-height: 1.5em;
    font-weight: bold;
    cursor: pointer;
    transition: background 0.3s;
    border-radius: 100px;
}
.scb-submit-btn:hover {
    background-color: #574277;
}
.scb-submit-btn:disabled {
    background-color: #95a5a6;
    cursor: wait;
}

/* Validace a zprávy */
.scb-message {
    padding: 15px;
    margin-bottom: 20px;
    border-radius: 4px;
}
.scb-message.success { background-color: #d4edda; color: #155724; border: 1px solid #c3e6cb; }
.scb-message.error { background-color: #f8d7da; color: #721c24; border: 1px solid #f5c6cb; }

/* Mobilní zobrazení */
@media (max-width: 767px) {
    .scb-form-row {
        flex-direction: column;
        gap: 0;
    }

    /* Zajistí, že kontejner kalendáře nepřeteče */
    .flatpickr-calendar.inline {
        margin: 0 auto;
        width: 100% !important;
        max-width: 315px; /* Standardní šířka jednoho měsíce Flatpickru */
    }

    .scb-calendar-container {
        padding: 0 10px;
        overflow-x: hidden;
    }

    /* Legenda pod sebou na mobilu, aby se vešla */
    .scb-legend {
        flex-direction: column;
        align-items: flex-start;
        display: inline-block;
        text-align: left;
    }
    
    .scb-legend .legend-item {
        margin-bottom: 5px;
        display: block;
    }    
}

/* Kontejner pro stránkování pod tabulkou */
.tablenav.bottom {
    margin-top: 20px;
    padding: 10px 0;
    border-top: 1px solid #ddd;
}

.tablenav .tablenav-pages {
    font-size: 14px;
    color: #555;
}

/* Styl pro samotné odkazy (tlačítka) */
.pagination-links a, 
.pagination-links .current,
.pagination-links .dots {
    display: inline-block;
    padding: 8px 14px;
    margin: 0 4px;
    border: 1px solid #2271b1;
    border-radius: 4px;
    text-decoration: none;
    background: #fff;
    color: #2271b1;
    font-weight: 600;
    transition: all 0.2s ease-in-out;
}

/* Aktivní stránka (výrazně odlišená) */
.pagination-links .current {
    background-color: #2271b1;
    color: #fff;
    cursor: default;
}

/* Efekt při najetí myší */
.pagination-links a:hover {
    background-color: #f0f6fb;
    border-color: #135e96;
    color: #135e96;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

/* Počet položek (vlevo od tlačítek) */
.displaying-num {
    margin-right: 20px;
    font-weight: 600;
}


/* Oprava rozvržení tabulky v adminu */
.scb-admin-table {
    table-layout: auto !important; /* Zruší fixní šířky */
    width: 100% !important;
}

/* Sloupce, které mají zůstat v jednom řádku (data, jména, telefony) */
.scb-admin-table th, 
.scb-admin-table td {
    vertical-align: middle;
    padding: 10px 8px;
}

/* Zakážeme zalamování u klíčových sloupců */
.scb-admin-table td:nth-child(1), /* ID */
.scb-admin-table td:nth-child(2), /* Termín / Datum */
.scb-admin-table td:nth-child(3), /* Jméno */
.scb-admin-table td:nth-child(4), /* Email */
.scb-admin-table td:nth-child(5)  /* Telefon */ {
    white-space: nowrap;
    width: 1%; /* Přinutí sloupec se smrštit na minimum obsahu */
}

/* Sloupec s poznámkou nebo adresou necháme, aby se roztáhl */
.scb-admin-table td:last-child {
    white-space: normal;
    min-width: 150px;
}

/* Responzivita v adminu (pokud je tabulka příliš široká, umožní skrolování) */
@media screen and (max-width: 1200px) {
    .scb-admin-table {
        display: block;
        overflow-x: auto;
    }
}