.section-title { font-family: 'Oswald', sans-serif; font-size: 1.5rem; color: #D42E25; text-transform: uppercase; font-weight: normal; margin-top: 0; margin-bottom: 24px; }
.content-section { margin-top: 0; }
.layout-container { display: flex; gap: 24px; align-items: flex-start; }
.main-content { flex: 1; min-width: 0; }
.sidebar { width: 300px; flex-shrink: 0; }
.card-grid { display: flex; flex-direction: column; gap: 24px; }
/* Header/global rules have been moved to `assets/system-wide.css` to avoid duplication. */
.card {
    background-color: white;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: box-shadow 0.3s ease-in-out;
}
.card:hover {
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
}
.card--auto-height { height: auto; }
.card-content { padding: 20px; flex-grow: 1; display: flex; flex-direction: column; }

/* (file continues with full original menu.css styles) */
.day-selector { display: flex; align-items: center; justify-content: space-between; background-color: #fff; border-radius: 12px; padding: 15px 20px; margin-bottom: 24px; box-shadow: 0 4px 12px rgba(0,0,0,0.08); }
.menu-filter-bar { flex-direction: column; gap: 24px; }
.day-selector-days { display: flex; align-items: center; justify-content: space-between; width: 100%; }
.day-selector-center { display: flex; flex-direction: column; align-items: center; text-align: center; }
.day-title { margin: 0 0 10px 0; }
.day-arrow { text-decoration: none; font-size: 2.5rem; color: #d0d0d0; font-weight: bold; transition: color 0.2s; user-select: none; }
.day-arrow:hover { color: #D42E25; }

/* Styly pro Date-picker (skrytý) */
.datepicker-wrapper {
    display: none;
}

/* *** STYLY PRO NOVÝ VYHLEDÁVACÍ TLAČÍTKO *** */
.menu-search-control {
    display: flex;
    width: 100%;
}
.menu-search-input {
    width: 100%; 
    font-family: 'Roboto', sans-serif; 
    font-size: 0.9rem; 
    padding: 10px 15px 10px 40px; 
    border-radius: 20px 0 0 20px; 
    border: 1px solid #dcdfe6; 
    box-sizing: border-box; 
    border-right: none; 
}
.menu-search-button {
    flex-shrink: 0;
    padding: 10px 15px;
    background-color: #D42E25;
    color: white;
    border: 1px solid #D42E25;
    border-radius: 0 20px 20px 0; 
    font-family: 'Roboto', sans-serif;
    font-size: 0.9rem;
    cursor: pointer;
    font-weight: 700;
    transition: background-color 0.2s;
    height: 38px; 
    box-sizing: border-box;
}
.menu-search-button:hover {
    background-color: #a1231d;
    border-color: #a1231d;
}
.menu-search-wrapper { position: relative; flex-grow: 1; display: flex; }
.menu-search-wrapper svg { position: absolute; left: 15px; top: 50%; transform: translateY(-50%); width: 16px; height: 16px; fill: #90949c; z-index: 1; }
/* *** KONEC STYLŮ PRO VYHLEDÁVACÍ TLAČÍTKO *** */


.menu-filters { display: flex; width: 100%; gap: 15px; flex-shrink: 0; } /* Přidávám flex-shrink: 0 */
.menu-select { 
    font-family: 'Roboto', sans-serif; 
    font-size: 0.9rem; 
    padding: 10px; 
    border-radius: 20px; 
    border: 1px solid #dcdfe6; 
    background-color: #fff; 
    flex-basis: 200px;
    flex-shrink: 0; /* Přidávám flex-shrink: 0 */
}


/* ----- Karta Menu ----- */
.card--menu .menu-header { 
    display: flex; 
    gap: 15px; 
    align-items: center; 
    border-bottom: 1px solid #f0f2f5; 
    padding-bottom: 15px; 
    margin-bottom: 15px; 
}
.card--menu .menu-logo { 
    width: 70px; 
    height: 70px; 
    object-fit: contain; 
    flex-shrink: 0; 
    border: 1px solid #f0f2f5; 
    border-radius: 8px; 
}
.card--menu .menu-header-info {
    display: flex; 
    flex-direction: column;
    gap: 3px; 
}
.card--menu .menu-header-info h3 { 
    margin: 0; 
    line-height: 1.2;
}
.card--menu .menu-header-info h3 a { 
    color: #D42E25; 
    font-family: 'Oswald', sans-serif; 
    font-size: 1.4rem; 
    font-weight: normal !important; /* OPRAVA: Název restaurace NEBUDE tučný */
    text-decoration: none; 
    transition: color 0.2s;
}
.card--menu .menu-header-info h3 a:hover { 
    color: #a1231d; 
}
.card--menu .menu-header-info p { 
    font-size: 0.8rem; 
    color: #606770; 
    margin: 0; 
}
.card--menu .menu-header-info .menu-time,
.card--menu .menu-header-info .menu-phone { 
    font-size: 0.85rem; 
    font-weight: normal; 
    color: #333; 
    margin: 0; 
    display: flex; 
    align-items: center; 
    gap: 6px; 
}
.card--menu .menu-header-info .menu-phone a { 
    color: inherit; 
    text-decoration: none; 
    display: flex; 
    align-items: center; 
    gap: 6px; 
}
.card--menu .menu-header-info .menu-phone a:hover { 
    color: #D42E25; 
}
.info-icon { 
    width: 0.9em; 
    height: 0.9em; 
    vertical-align: -0.1em; 
    flex-shrink: 0; 
    fill: #D42E25; 
}

/* Detail sidebar: links should be red to match site accent */
.detail-sidebar-info a {
    color: #D42E25;
    text-decoration: none;
}
.detail-sidebar-info a:hover,
.detail-sidebar-info a:focus {
    color: #a1231d;
    text-decoration: underline;
}

/* Generic icon sizing and color: uses sprite <symbol> viewBox for scaling */
.icon {
    width: 1em;
    height: 1em;
    vertical-align: -0.125em;
    fill: currentColor;
}

/* Úprava .menu-intro */
.menu-intro {
    background-color: #fffaf0;
    padding: 15px; 
    margin-bottom: 15px;
    border-radius: 6px;
    font-size: 0.85rem;
    color: #555;
    line-height: 1.5;
    border: 1px solid #eee5d6;
    white-space: pre-wrap;
    /* Odstraněny negativní marginy */
}
.menu-intro > *:last-child { margin-bottom: 0; }
.card--menu .menu-table-wrapper { position: relative; }
.card--menu .menu-table { 
    width: 100%; 
    border-collapse: collapse; 
    margin-bottom: 15px; 
    /* table-layout: fixed; <-- Odstraněno z desktopu */
}
.card--menu .menu-table td { 
    padding: 6px 0; 
    vertical-align: top; 
    font-size: 0.95rem; 
    line-height: 1.4; 
}
.card--menu .menu-table tr:not(:last-child) td { 
    border-bottom: 1px dashed #f0f2f5; 
}
.card--menu .menu-table .menu-item-name { 
    color: #333; 
    /* word-break: break-word; <-- Odstraněno z desktopu */
    /* width: 100%; <-- Odstraněno z desktopu */
}
.card--menu .menu-table .menu-item-price { 
    color: #D42E25; 
    font-weight: 700; 
    text-align: right; 
    white-space: nowrap; 
    padding-left: 15px; 
}

/* New non-table menu list styles (used by dynamic and converted static menus) */
.menu-list {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.menu-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    padding: 6px 0;
    border-bottom: 1px dashed #f0f2f5;
}
.menu-name {
    flex: 1 1 auto;
    word-break: break-word;
    white-space: pre-wrap;
    color: #333;
}
.menu-price {
    flex: 0 0 auto;
    margin-left: 12px;
    white-space: nowrap;
    color: #D42E25;
    font-weight: 700;
    text-align: right;
}

/* Opening hours (non-table fallback) */
.opening-hours {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.hours-row { display:flex; justify-content:space-between; padding:4px 0; }
.hours-row .day { font-weight:700; color:#333; }
.hours-row .hours { color:#606770; }

/* Poznámky */
.menu-notes { 
    margin-top: 5px; 
    padding-top: 15px; 
    border-top: 1px dashed #f0f2f5; 
    font-size: 0.8rem; 
    color: #606770; 
    line-height: 1.4; 
    white-space: pre-wrap; 
    /* Uvnitř card-content, bez extra paddingu */
    padding-left: 0; 
    padding-right: 0;
}
.menu-notes p { margin: 0 0 8px 0; }
.menu-notes p:last-child { margin-bottom: 0; }

/* Weekly notes: use same visual style as per-day notes (rendered once above the week) */
.weekly-notes {
    margin-top: 5px;
    padding-top: 15px;
    border-top: 1px dashed #f0f2f5;
    font-size: 0.8rem;
    color: #606770;
    line-height: 1.4;
    white-space: pre-wrap;
    padding-left: 0;
    padding-right: 0;
}
.weekly-notes p { margin: 0 0 8px 0; }
.weekly-notes p:last-child { margin-bottom: 0; }

/* ----- ZÁPATÍ KARTY (OBLÍBENÉ) ----- */
.menu-footer {
    /* OPRAVA: Zajištění správného odsazení a zrušení oříznutí */
    padding: 20px 20px 30px 20px !important; 
    
    /* Zajištění roztažení a přilepení k okrajům karty */
    margin-left: -20px !important; 
    margin-right: -20px !important; 
    margin-bottom: -20px !important; 
    
    /* Zajištění správného zarovnání */
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important; 

    border-top: 1px solid #dcdfe6 !important; 
    font-size: 0.85rem !important;
    
    width: calc(100% + 40px) !important;
    box-sizing: border-box !important;
}

.menu-favorite-info {
    color: #606770 !important;
    font-weight: normal !important; /* OPRAVA: Text je netučný */
    line-height: 1.5 !important;
    flex-shrink: 1 !important;
    min-width: 50% !important;
    
    /* Zajištění správného horizontálního zarovnání */
    margin-left: 20px !important; 
    margin-right: 15px !important; 
}
.menu-favorite-info .fav-count { /* Cílíme na číslo uvnitř span, aby bylo tučné */
    font-weight: 700 !important;
    color: #333 !important;
}

.add-to-favorites {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    text-decoration: none !important;
    color: #D42E25 !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    flex-shrink: 0 !important;
    margin-left: 15px !important; 
    margin-right: 20px !important;
}
.add-to-favorites:hover {
    opacity: 0.8 !important;
}
.fav-star-icon {
    position: static !important;
    width: 1.1em !important; 
    height: 1.1em !important;
    fill: #D42E25 !important; 
    transition: fill 0.2s ease; /* Přidána animace pro hvězdu */
}

/* ZMĚNA: Přidán styl pro aktivní oblíbené tlačítko */
.add-to-favorites.is-favorite {
    /* kept intentionally minimal to indicate active state without changing layout */
    background-color: transparent !important;
}
.add-to-favorites.is-favorite .fav-star-icon {
    fill: #FFC107 !important; /* Zlatá hvězda */
}
/* ZMĚNA: Přidán styl pro text "ODEBRAT" */
.add-to-favorites.is-favorite .remove-fav-text {
    color: #90949c; /* Šedá barva */
    font-weight: 400; /* Normální tloušťka písma (ne tučné) */
    margin-left: 4px; /* Malá mezera */
}


/* ----- Zpráva o načítání/Chybě/Nenalezení ----- */
.loading-message { font-size: 1rem; color: #606770; text-align: center; padding: 40px; }

/* ----- Sidebar ----- */
.admin-button { 
    display: block; 
    padding: 12px 20px; 
    margin-bottom: 24px; 
    background-color: #D42E25; 
    color: white; 
    border: none; 
    border-radius: 8px; 
    font-family: 'Oswald', sans-serif; 
    font-size: 1.1rem; 
    text-transform: uppercase; 
    cursor: pointer; 
    transition: background-color 0.2s; 
    text-align: center; 
    text-decoration: none; /* Přidáno pro odkaz */
}
.admin-button:hover { 
    background-color: #a1231d; 
    color: white; /* Přidáno pro odkaz */
    text-decoration: none; /* Přidáno pro odkaz */
}
.sidebar-ad { margin-bottom: 16px; line-height: 0; }
.sidebar-ad img { max-width: 100%; height: auto; display: block; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.1); }

/* ----- Styly pro mobilní reklamy ----- */
.mobile-ad-banner-grid {
    display: none; /* Na desktopu skryté */
    grid-template-columns: 1fr 1fr 1fr; /* 3 sloupce */
    gap: 10px; /* Mezera mezi bannery */
    margin-bottom: 24px; /* Mezera pod bannery */
}
.mobile-ad-banner-grid .sidebar-ad {
    margin-bottom: 0; /* Vynulování původní mezery */
}
.mobile-ad-banner-grid .sidebar-ad img {
    width: 100%; /* Zmenšení obrázku na šířku sloupce */
    height: auto;
}

/* ----- Patička ----- */
/* footer rules moved to assets/system-wide.css; removed duplicate */

/* ----- Responzivita ----- */
/* header sticky behavior is handled in assets/system-wide.css */
@media (max-width: 900px) { /* Zalamování layoutu a úpravy hlavičky */
    .layout-container { flex-direction: column; }
    .sidebar { width: 100%; margin-top: 40px; }
    /* header / nav responsive rules moved to assets/system-wide.css */

    /* ZMĚNA: Zobrazení mobilní reklamy a skrytí originálů */
    .mobile-ad-banner-grid {
        display: grid;
    }
    .sidebar .sidebar-ad {
        display: none;
    }
}
@media (max-width: 768px) {
    /* Small header/footer responsive overrides moved to assets/system-wide.css */
    .day-selector { padding: 15px 20px; flex-direction: column; gap: 15px; } /* Horizontální padding na 20px */
    .day-selector-days { width: 100%; justify-content: space-around; }
    .day-title { font-size: 1.2rem; margin: 0 0 10px 0; }
    .day-arrow { font-size: 2.2rem; }
    .menu-filters { flex-direction: column; width: 100%; } /* Přidávám width: 100% pro robustnost */
    .menu-select { flex-basis: auto; width: 100%; } /* Použije plnou šířku, přepisuje 200px */
    
    /* ROBUSNÍ ZALAMOVÁNÍ TABULKY POUZE PRO MOBIL */
    .card--menu .menu-table { 
        table-layout: fixed; /* Nutné pro spolehlivé zalamování */
    }
    .card--menu .menu-table .menu-item-name { 
        word-break: break-word; /* Povolí lámání dlouhých slov */
        width: 100%; /* Zajistí, že buňka bude flexibilní */
    }
    
    /* KOMPAKTNÍ FONT A PADDING */
    .card--menu .menu-table td { 
        padding: 4px 0; /* Snížení vertikálního paddingu */
        font-size: 0.75rem; /* Zmenšení fontu menu položek */
        line-height: 1.35; 
        overflow-wrap: break-word; 
    } 

    /* Oprava přetékání ceny na mobilu */
    .card--menu .menu-table .menu-item-price {
        width: 65px; /* Dáme ceně pevnou šířku */
        padding-left: 5px; /* Snížíme odsazení z 15px na 5px */
    }
    
    .menu-intro { 
        font-size: 0.75rem; 
        padding: 10px; /* Sjednocení paddingu na mobilu */
        margin-left: 0; /* Odstranění negativních marginů na mobilu */
        margin-right: 0;
    } 
    
    .menu-notes { font-size: 0.75rem; } 
    
    .menu-footer {
        flex-direction: column;
        gap: 15px;
        align-items: flex-start;
        padding-left: 20px;
        padding-right: 20px;
    }
    
    /* ZMĚNA: Mobilní reklamy */
    .mobile-ad-banner-grid {
        gap: 5px; /* Menší mezery na mobilu */
    }
}



/* ================================================= */

/* ================================================= */
/* ===== NOVÉ STYLY PRO KARTU DETAIL RESTAURACE ==== */
/* ================================================= */

#restaurant-detail-container .card {
    padding: 24px;
}

#restaurant-detail-container .detail-header {
    display: flex;
    gap: 24px;
    align-items: flex-start;
    border-bottom: 1px solid #f0f2f5;
    padding-bottom: 24px;
    margin-bottom: 24px;
}
#restaurant-detail-container .detail-logo {
    width: 100px;
    height: 100px;
    object-fit: contain;
    flex-shrink: 0;
    border: 1px solid #f0f2f5;
    border-radius: 12px;
}
#restaurant-detail-container .detail-info {
    flex-grow: 1;
}
#restaurant-detail-container .detail-info h1 {
    font-family: 'Oswald', sans-serif;
    font-size: 2.2rem;
    color: #D42E25;
    line-height: 1.2;
    margin: 0 0 12px 0;
}
#restaurant-detail-container .detail-description {
    font-size: 0.9rem;
    color: #333;
    line-height: 1.5;
    margin-bottom: 15px;
}
#restaurant-detail-container .detail-contact-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 20px; /* Mezery mezi kontakty */
    align-items: center;
}
#restaurant-detail-container .detail-contact-row p {
    margin: 0;
    font-size: 0.9rem;
    color: #333;
    display: flex;
    align-items: center;
    gap: 8px;
}
#restaurant-detail-container .detail-contact-row a:hover {
    color: #a1231d;
}
#restaurant-detail-container .info-icon {
    width: 1.1em;
    height: 1.1em;
    fill: #D42E25;
    flex-shrink: 0;
}

/* --- Rozložení obsahu (Menu vs Info) --- */
#restaurant-detail-container .detail-content-layout {
    display: flex;
    gap: 30px;
    align-items: flex-start;
}
#restaurant-detail-container .detail-main-column {
    flex: 2; /* Menu zabere 2/3 */
    min-width: 0; /* Důležité pro flex zalamování */
}
#restaurant-detail-container .detail-sidebar-info {
    flex: 1; /* Info zabere 1/3 */
    min-width: 280px; /* Minimální šířka info sloupce */
    background-color: #fafafa;
    border-radius: 8px;
    padding: 20px;
    border: 1px solid #f0f2f5;
}
#restaurant-detail-container .detail-main-column h3,
#restaurant-detail-container .detail-sidebar-info h3 {
    font-family: 'Oswald', sans-serif;
    font-weight: normal;
    font-size: 1.4rem;
    color: #333;
    margin: 0 0 15px 0;
    padding-bottom: 10px;
    border-bottom: 2px solid #D42E25;
}

/* --- Přepínač záložek (Tabů) --- */
#restaurant-detail-container .detail-tabs {
    display: flex;
    gap: 8px;
    margin-bottom: 20px;
}
#restaurant-detail-container .tab-button {
    font-family: 'Oswald', sans-serif;
    font-size: 1.2rem;
    padding: 10px 20px;
    border: none;
    background-color: #f0f2f5;
    color: #606770;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s ease;
    font-weight: normal;
}
#restaurant-detail-container .tab-button:hover {
    background-color: #e0e2e5;
}
#restaurant-detail-container .tab-button.active {
    background-color: #D42E25;
    color: white;
}
#restaurant-detail-container .tab-panel {
    display: block; /* Výchozí */
}
#restaurant-detail-container .tab-panel.hidden {
    display: none; /* Skryté */
}


/* --- Tabulka denního menu --- */
#restaurant-detail-container .daily-menu-block {
    margin-bottom: 25px;
}
#restaurant-detail-container .daily-menu-block h4 { /* např. Čtvrtek 30. 10. */
    font-family: 'Oswald', sans-serif;
    font-size: 1.2rem;
    font-weight: normal;
    color: #D42E25;
    margin: 0 0 15px 0;
}
#restaurant-detail-container .menu-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed; /* Zajišťuje zalamování */
}
#restaurant-detail-container .menu-table td {
    padding: 8px 0;
    vertical-align: top;
    font-size: 0.9rem;
    line-height: 1.4;
    border-bottom: 1px dashed #f0f2f5;
}
#restaurant-detail-container .menu-table .item-name {
    color: #333;
    word-break: break-word; /* Zalamování */
    width: 100%;
}
#restaurant-detail-container .menu-table .item-price {
    color: #D42E25;
    font-weight: 700;
    text-align: right;
    white-space: nowrap;
    width: 70px; /* Pevná šířka pro cenu */
    padding-left: 10px;
}
#restaurant-detail-container .menu-notes {
    font-size: 0.85rem;
    color: #606770;
    padding: 10px;
    background-color: #fffaf0;
    border-radius: 6px;
    margin-top: 15px;
}
#restaurant-detail-container .menu-notes p { margin: 0 0 5px 0; }
#restaurant-detail-container .menu-notes p:last-child { margin-bottom: 0; }

/* --- Stálý jídelní lístek --- */
#restaurant-detail-container .permanent-menu-category {
    margin-bottom: 30px; /* Větší mezera mezi kategoriemi */
}
#restaurant-detail-container .permanent-menu-category h3 { /* např. Polévky, Předkrmy */
    font-family: 'Oswald', sans-serif;
    font-size: 1.2rem;
    font-weight: normal;
    color: #D42E25;
    margin: 0 0 15px 0;
    padding-bottom: 5px;
    border-bottom: 1px solid #f0f2f5;
}


/* --- Info v postranním panelu --- */
#restaurant-detail-container .info-block {
    margin-bottom: 20px;
}
#restaurant-detail-container .info-block p, #restaurant-detail-container .info-block li {
    font-size: 0.9rem;
    line-height: 1.6;
    margin: 0 0 5px 0;
}
#restaurant-detail-container .info-block ul {
    list-style: none;
    padding-left: 0;
    margin: 0;
}
#restaurant-detail-container .info-block .icon-list li {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
}
#restaurant-detail-container .info-block .icon-list .info-icon {
    width: 1.1em; /* Zmenšení ikonek v kontaktech */
    height: 1.1em;
}

/* Tabulka otevírací doby */
#restaurant-detail-container .opening-hours-table {
    width: 100%;
    font-size: 0.9rem;
}
#restaurant-detail-container .opening-hours-table td {
    padding: 4px 0;
}
#restaurant-detail-container .opening-hours-table .day {
    font-weight: 700;
    color: #333;
    width: 80px;
}
#restaurant-detail-container .opening-hours-table .hours {
    color: #606770;
}

/* Platební metody */
#restaurant-detail-container .payment-icons {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}
#restaurant-detail-container .payment-icons img {
    height: 25px;
    width: auto;
}

/* ================================================= */
/* ===== RESPONZIVITA (Kopie + Úpravy) ========= */
/* ================================================= */

@media (max-width: 900px) {

    /* Detail karty */
    .detail-content-layout { flex-direction: column; }
    
    /* ZMĚNA: Přesouváme postranní panel (Kontakty) nahoru */
    .detail-main-column { order: 2; } /* Menu bude druhé */
    #restaurant-detail-container .detail-sidebar-info { order: 1; min-width: 100%; } /* Kontakty budou první */
}

@media (max-width: 768px) {
    /* Detail karty mobil */
    #restaurant-detail-container .card { padding: 15px; }
    .detail-header { flex-direction: column; align-items: center; text-align: center; gap: 15px; padding-bottom: 15px; margin-bottom: 15px; }
    .detail-logo { width: 80px; height: 80px; }
    .detail-info h1 { font-size: 1.8rem; }
    .detail-contact-row { justify-content: center; }
    .detail-main-column h3, .detail-sidebar-info h3 { font-size: 1.2rem; }
    .detail-sidebar-info { padding: 15px; }
    
    .menu-table td { font-size: 0.85rem; }
    .menu-table .item-price { width: 65px; }
    
    .tab-button { font-size: 1.1rem; padding: 8px 15px; }
}

        /* ============================================= */
        /* ===== NOVÉ STYLY PRO PŘIHLAŠOVACÍ STRÁNKU ===== */
        /* ============================================= */

        .login-container {
            max-width: 450px;
            width: 100%;
            margin: 0 auto; /* Centruje horizontálně */
        }
        .login-card {
            padding: 30px 35px;
        }
        .login-card h2 {
            font-family: 'Oswald', sans-serif;
            font-weight: normal;
            font-size: 1.8rem;
            color: #D42E25;
            text-align: center;
            margin: 0 0 10px 0;
            text-transform: uppercase;
        }
        .login-card .login-info-text {
            font-size: 0.95rem;
            color: #606770;
            text-align: center;
            margin-bottom: 25px;
        }
        .login-form {
            display: flex;
            flex-direction: column;
            gap: 15px;
        }
        .login-form input[type="text"],
        .login-form input[type="password"] {
            width: 100%;
            padding: 12px 18px;
            font-family: 'Roboto', sans-serif;
            font-size: 1rem;
            border-radius: 25px;
            border: 1px solid #dcdfe6;
            background-color: #fdfdfd;
            box-sizing: border-box;
        }
        .login-form input[type="text"]:focus,
        .login-form input[type="password"]:focus {
            border-color: #D42E25;
            box-shadow: 0 0 5px rgba(212, 46, 37, 0.3);
        }

        .login-form .submit-button {
            display: block;
            width: 100%;
            padding: 12px 20px;
            margin-top: 10px;
            background-color: #D42E25;
            color: white;
            border: none;
            border-radius: 25px;
            font-family: 'Oswald', sans-serif;
            font-size: 1.2rem;
            text-transform: uppercase;
            cursor: pointer;
            transition: background-color 0.2s;
            text-align: center;
        }
        .login-form .submit-button:hover {
            background-color: #a1231d;
        }

        .login-card .pm-link {
            text-align: center;
            margin-top: 25px;
            font-size: 0.9rem;
        }
        .login-card .pm-link a {
            color: #D42E25;
        }
        
        .login-card .pm-link a:hover {
            color: #a1231d;
        }
