/*
 * custom.css
 * Projektove utility, layout styly a drobne komponenty pro Bootstrap 5.
 */

/* ===== TYPOGRAFIE ===== */
body {
    font-size: 110% !important;
    color: #000000 !important;
}

/* ===== LAYOUT ===== */
.vyska_100 {
    min-height: 100vh;
}

.container2 {
    margin-right: auto;
    margin-left: auto;
}

/* ===== FORMULARE ===== */
.form-control-lg-custom {
    height: 3rem;
    border-radius: 10rem;
    font-size: 0.9rem;
    padding: 0.75rem 1.25rem;
}

input {
    color: #000000 !important;
}

input[type="file"].form-control {
    border: none;
    background: transparent;
    padding: 0;
    margin: 0;
}

input[type="file"].form-control::file-selector-button {
    padding: .375rem .75rem;
    border: 1px solid #ced4da;
    border-radius: .25rem;
    background-color: #e9ecef;
    cursor: pointer;
    transition: background-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

input[type="file"].form-control::file-selector-button:hover {
    background-color: #d8dfe7;
}

input[type="file"].form-control::file-selector-button:focus {
    outline: none;
    box-shadow: 0 0 0 .25rem rgba(13, 110, 253, .25);
}

.upload-nazev-souboru {
    display: inline-block;
    max-width: 200px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    vertical-align: middle;
}

/* ===== BARVY POZADI KATEGORII ===== */
.index_pozadi_masove { background-color: #e74a3b; }
.index_pozadi_sladke { background-color: #f6c23e; }
.index_pozadi_ostatni { background-color: #36b9cc; }
.index_pozadi_vegetarianske { background-color: #1cc88a; }
.index_pozadi_pecivo { background-color: #4e73df; }
.index_pozadi_polevky { background-color: #b4a7d6; }
.index_pozadi_uvod { background-color: #C1AECD; }

/* ===== TEXTOVE BARVY ===== */
.text-purple { color: #b4a7d6 !important; }
.text-orange { color: #e67e22 !important; }
.text-pink { color: #e91e8c !important; }

/* ===== BORDER UTILITY ===== */
.border-bottom-purple { border-bottom: .25rem solid #b4a7d6 !important; }
.border-bottom-primary { border-bottom: .25rem solid var(--bs-primary) !important; }
.border-bottom-success { border-bottom: .25rem solid var(--bs-success) !important; }
.border-bottom-danger { border-bottom: .25rem solid var(--bs-danger) !important; }
.border-bottom-warning { border-bottom: .25rem solid var(--bs-warning) !important; }
.border-bottom-info { border-bottom: .25rem solid var(--bs-info) !important; }
.border-bottom-secondary { border-bottom: .25rem solid var(--bs-secondary) !important; }

.spodni_cara {
    border-bottom: 1px solid #EFEFEF;
}

/* ===== SEDE UTILITY ===== */
.bg-gray-100 { background-color: #f8f9fc !important; }
.bg-gray-200 { background-color: #eaecf4 !important; }
.text-gray-600 { color: #858796 !important; }
.text-gray-700 { color: #6e707e !important; }
.text-gray-900 { color: #3a3b45 !important; }

/* ===== OVERFLOW ===== */
.o-hidden {
    overflow: hidden !important;
}

/* ===== MISC ===== */
.nowrap {
    white-space: nowrap;
}

.pointer:hover {
    cursor: pointer;
}

.preteceni {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    padding: 10px !important;
}

.smazat-ingredienci {
    color: #adb5bd;
    font-size: 0.85rem;
    transition: color .15s;
    cursor: pointer;
}

.smazat-ingredienci:hover {
    color: #dc3545;
}

/* ===== LINKY A MENU ===== */
a:not(.nav-link):not(.btn):not(.navbar-brand),
a:not(.nav-link):not(.btn):not(.navbar-brand):hover {
    color: #000000;
    text-decoration: none;
}

.navbar-nav .nav-link:hover {
    opacity: 0.7;
}

/* ===== PRIHLASENI/NEPRIHLASENI ===== */
.show-logged-in,
.show-not-logged-in {
    display: none !important;
}

.is-logged-in .show-logged-in {
    display: block !important;
}

.is-not-logged-in .show-not-logged-in {
    display: block !important;
}

/* ===== VEREJNE STRANKY ===== */
.public-page-bg {
    background-color: #f8f9fa;
    min-height: 100vh;
}

.uvod-hero-gradient {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
    border-radius: 0;
}

.uvod-hero-gradient .navbar-brand {
    color: #ffffff !important;
}

.uvod-hero-hr {
    opacity: 0.3;
}

/* ===== HODNOCENI RECEPTU ===== */
.recept-meta {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .35rem 1rem;
}

.recept-meta-polozka {
    white-space: nowrap;
}

.hodnoceni-form {
    gap: 0;
    white-space: nowrap;
    vertical-align: middle;
}

.hodnoceni-hvezdy {
    display: inline-flex;
    gap: .1rem;
}

.hodnoceni-hvezda {
    appearance: none;
    border: 0;
    background: transparent;
    color: #d4d9df;
    cursor: pointer;
    font-size: 1.05rem;
    line-height: 1;
    padding: .2rem .08rem;
    transition: color .15s ease, transform .15s ease;
}

.hodnoceni-hvezda.aktivni,
.hodnoceni-hvezda:hover,
.hodnoceni-hvezda:focus-visible {
    color: #f6b400;
}

.hodnoceni-hvezda.prumer {
    color: #f6d87a;
}

.hodnoceni-hvezda.vlastni i {
    -webkit-text-stroke: 1.5px #f6b400;
}

.hodnoceni-tooltip {
    cursor: help;
}

.hodnoceni-hvezda:hover,
.hodnoceni-hvezda:focus-visible {
    transform: scale(1.12);
}

.hodnoceni-hvezda:focus-visible {
    outline: 2px solid var(--bs-primary);
    outline-offset: 2px;
}

.hodnoceni-hvezda:disabled {
    cursor: wait;
    opacity: .65;
}

.hodnoceni-zprava {
    display: inline-block;
    min-height: 1em;
}

/* ===== HOVER KARTY ===== */
.hover-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.hover-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 1rem 3rem rgba(0, 0, 0, .175) !important;
}

.feature-icon {
    transition: transform 0.3s ease;
}

.hover-card:hover .feature-icon {
    transform: scale(1.1);
}
