/* ==========================================================================
   1. GLOBÁLNÍ NASTAVENÍ A ZÁKLADNÍ ELEMENTY
   ========================================================================== */

body {
    padding-top: 20px !important;
}

img {
    max-width: 100%;
    height: auto;
}

h1 {
    font-size: 1.2em !important;
}
h2 {
    font-size: 1.2em !important;
}

h3 {
    font-size: 1.1em !important;
}

/* Tlačítka (všeobecná) */
.btn,
.wp-block-button__link {
    font-size: 0.8rem !important;
    padding: 0.1rem 0.3rem !important;
    width: auto !important;
    display: inline-block;
    margin-left: 0 !important;
}

.wp-block-buttons,
.nkd-button-wrapper {
    justify-content: flex-start !important;
    margin-top: 0.5rem;
    margin-bottom: 1.5rem;
}

/* Overlay pro otevřené menu */
body::before {
    content: "";
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.5);
    backdrop-filter: blur(2px);
    opacity: 0;
    pointer-events: none;
    transition: opacity .25s ease;
    z-index: 999;
}

body.menu-open::before {
    opacity: 1;
    pointer-events: auto;
}

/* ==========================================================================
   2. HLAVIČKA (SITE HEADER)
   ========================================================================== */

header.site-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    z-index: 1050 !important;
    background-color: #DDE6F0 !important;
    border-bottom: 1px solid #dee2e6 !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05) !important;
    padding: 10px 0 !important;
}

.admin-bar header.site-header {
    top: 32px !important;
}

.admin-bar body {
    padding-top: 125px;
}

.site-main,
.admin-bar .site-main {
    margin-top: 0 !important;
}

.site-header .row {
    margin: 0 !important;
}

.custom-logo-link {
    display: flex !important;
    align-items: center;
    line-height: 0 !important;
    margin: 0 !important;
}

.custom-logo {
    max-height: 70px !important;
    width: auto !important;
    margin: 0 !important;
    display: block;
}

.nkd-site-subtitle {
    font-size: 0.7rem !important;
    margin-left: 10px !important;
}

.site-header .header-actions {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center;
    flex-wrap: nowrap !important;
    gap: 0.5rem !important;
    margin-right: 0 !important;
    box-sizing: border-box;
}

.btn-donate {
    flex: 0 0 auto;
    white-space: nowrap !important;
    padding: 0.4rem 0.6rem !important;
    font-size: 0.85rem !important;
    margin-right: 0 !important;
}

.header-social {
    display: none;
}

/* ==========================================================================
   OPRAVA ODSAZENÍ OBSAHU POD FIXNÍM HEADEREM
   ========================================================================== */

/* Sjednocení odsazení pro hlavní obsahový kontejner na mobilu */
body.mobile-view #main.site-main,
#main.site-main {
    padding-top: 40px !important; /* Výška fixního headeru + rezerva */
}

/* Pokud používáte specifické wrappery, sjednotíme i je */
.nkd-single-wrap,
.nkd-archive-wrap {
    margin-top: 0 !important;
    padding-top: 10px;
}

/* ==========================================================================
   3. NAVIGACE A MENU (MAIN MENU)
   ========================================================================== */

header .navbar {
    width: 100% !important;
    justify-content: center !important;
}

.navbar-toggler {
    flex: 0 0 auto;
    padding: 0.3rem 0.4rem !important;
    border: 1px solid #ddd !important;
    margin-right: 0 !important;
}

/* Kontejner menu */
#mainMenu {
    width: 60vw !important;
    margin: 15px auto 0 auto !important;
    padding: 0 !important;
    background-color: var(--nkd-white);
}

#mainMenu ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
}

/* Položky menu a odkazy */
#mainMenu .navbar-nav {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    align-items: flex-end; /* Původní .navbar-nav vlastnost */
}

#mainMenu .nav-item,
.navbar-nav .nav-item {
    width: 100%;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border-bottom: 1px solid #dee2e6;
    position: relative !important;
    display: block !important;
}

#mainMenu .navbar-nav > .nav-item:last-child,
#mainMenu .sub-menu > .nav-item:last-child,
.navbar-nav .nav-item:last-child {
    border-bottom: none !important;
}

#mainMenu .nav-link {
    display: block !important;
    padding: 4px 15px !important;
    margin: 0 !important;
    color: var(--nkd-navy) !important;
    font-size: 1rem !important;
    font-weight: 400 !important;
    text-decoration: none !important;
    text-align: right !important;
    white-space: normal !important;
    background-color: transparent !important;
}

#mainMenu .navbar-nav > li > a {
    font-weight: 600 !important; /* Specifické pro hlavní rodiče */
}

#mainMenu .nav-link:active,
#mainMenu .nav-link:focus {
    color: var(--nkd-red) !important;
}

/* Sub-menu (Podpoložky) */
#mainMenu .sub-menu {
    display: block !important;
    position: static !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
}

#mainMenu .sub-menu li a {
    padding: 4px 15px !important;
    font-size: 0.95rem !important;
}

#mainMenu .dropdown-toggle::after {
    display: none !important;
}

/* --------------------------------------------------------------------------
   MOBILNÍ OFFCANVAS MENU
   -------------------------------------------------------------------------- */

/* Zajištění nulového okraje u hlavního obalu navigace */
.nkd-mobile-nav {
    margin: 0;
    padding: 0;
}

/* Formátování dvousloupcového seznamu položek první úrovně */
.nkd-menu-list-columns {
    list-style: none;
    padding-left: 0;
    margin: 0;
    column-count: 2;
    column-gap: 1rem;
}

/* Položky hlavního menu */
.nkd-menu-list-columns > li {
    break-inside: avoid;
    margin-bottom: 0.6rem;
}

/* Odstranění jakýchkoliv šipek u položek menu (neutralizace desktopových stylů) */
.nkd-mobile-nav .menu-item-has-children > a::after,
.nkd-mobile-nav .menu-item-has-children > a::before {
    display: none !important;
    content: none !important;
}

/* Odkazy první úrovně */
.nkd-menu-list-columns li > a {
    color: #212529;
    text-decoration: none !important;
    font-size: 1rem;
    display: inline-block;
}

/* Odkazy zanořeného podmenu */
.nkd-menu-list-columns .sub-menu > li > a {
    color: #495057;
    font-size: 0.9rem;
    margin-bottom: 0.25rem;
}

/* Nadpisy lokací */
.nkd-menu-heading {
    text-decoration: none !important;
    margin-bottom: 0.75rem;
}

/* Odkazy v hlavičce Offcanvas */
.offcanvas-header a {
    text-decoration: underline;
}

/* Výjimka pro tlačítko Vyhledat */
.offcanvas-body .btn {
    text-decoration: none !important;
}

/* Sjednocení vertikálních mezer pro všechny položky menu (1. i 2. úroveň) */
.nkd-menu-list-columns li {
    margin-bottom: 0.6rem !important;
}

/* Zajištění nerozbitnosti položky mezi sloupci (pouze pro 1. úroveň) */
.nkd-menu-list-columns > li {
    break-inside: avoid;
}

/* Formátování zanořeného podmenu */
.nkd-menu-list-columns .sub-menu {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
    list-style: none;
    padding-left: 0.2rem;
    /* Upraveno odsazení celého bloku podmenu, aby navazovalo na stejný rytmus */
    margin-top: 0.6rem !important;
    margin-bottom: 0 !important;
    border: none !important;
    box-shadow: none !important;
    background-color: transparent !important;
}

/* Odkazy zanořeného podmenu - reset dodatečných mezer */
.nkd-menu-list-columns .sub-menu > li > a {
    color: #495057;
    font-size: 0.9rem;
    margin-bottom: 0 !important; /* Vynulováno, mezeru tvoří nadřazené <li> */
}


/* ==========================================================================
   4. HERO CAROUSEL
   ========================================================================== */

.nkd-carousel-content-wrapper {
    padding: 1rem 1rem !important;
    text-align: center;
    width: 100% !important;
}

.nkd-split-carousel .nkd-carousel-content-wrapper {
    clear: both;
    padding: 4rem 1rem 0.5rem 1rem !important;
}

.nkd-quote-box .quote-text {
    font-size: 1.2rem !important;
    line-height: 1.2;
    margin-bottom: 0.3rem !important;
}

.nkd-quote-box h4.nkd-carousel-header-color {
    font-size: 1.1rem !important;
    line-height: 1.2;
    margin-bottom: 0.5rem 0;
}

.nkd-carousel-image-holder {
    aspect-ratio: 21 / 9 !important;
    width: 100%;
    padding-bottom: 1em !important;
}

.carousel-controls-custom {
    bottom: 10px !important;
    right: 10px !important;
}

.btn-carousel {
    width: 36px !important;
    height: 36px !important;
    font-size: 0.8rem;
}

/* Odstranění okrajů kontejneru pro vynucení edge-to-edge zobrazení na mobilu */
.nkd-split-carousel .container {
    padding-left: 0 !important;
    padding-right: 0 !important;
    max-width: 100% !important;
}

/* Odstranění nadbytečného prostoru nad nadpisem */
.nkd-split-carousel .nkd-carousel-content-wrapper {
    padding-top: 40px !important; /* Eliminuje horní část třídy p-4 na mobilu */
}

/* Úprava nadpisu h4 v carouselu */
.nkd-split-carousel .nkd-quote-box h4.nkd-carousel-header-color {
    margin-top: 0 !important; /* Resetuje globální margin-top nadpisů */
    background-color: var(--nkd-navy) !important;
    color: var(--nkd-white) !important;
    padding: 1rem !important;
}

/* Zajištění přesného poměru stran 16:9 a zobrazení obrázku na celou šířku */
.nkd-carousel-image-holder {
    aspect-ratio: 2 / 1 !important;
    width: 100% !important;
    padding-bottom: 0 !important;
    overflow: hidden !important;
}

.nkd-carousel-image-holder img.hero-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

/* ==========================================================================
   5. AKTUALITY A ARCHIV (Sjednocené zobrazení)
   ========================================================================== */

/* Společné nastavení pro všechny karty aktualit na mobilu */
.homepage-news .news-item {
    border-top: 1px solid #eee !important;
    margin-top: 0rem;
    padding-top: 0rem;
    border-radius: 4px !important;
}

/* Zrušení horní linky u úplně prvního příspěvku */
.homepage-news .col-12:first-child .news-item {
    border-top: none !important;
    margin-top: 0;
}

/* Vynucení řádkového zobrazení na mobilu pro všechny karty */
.homepage-news .news-item .row.g-0 {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: flex-start;
}

/* Sjednocení šířek: 40% obrázek, 60% text */
.homepage-news .news-image-column {
    width: 40% !important;
    flex: 0 0 40% !important;
}

.homepage-news .news-content-column {
    width: 60% !important;
    flex: 0 0 60% !important;
}

/* Úprava kontejneru obrázku */
.homepage-news .news-image-container {
    aspect-ratio: 16 / 9 !important;
    width: 100%;
    overflow: hidden;
}

/* Úprava vnitřku karty (textu) */
.homepage-news .card-body {
    padding: 0 0 0 1rem !important;
    margin-top: 0 !important;
}

.homepage-news .news-date {
    margin-top: 0 !important;
    padding-top: 0 !important;
    line-height: 1 !important;
    font-size: 0.7rem;
    margin-bottom: 0rem;
}

.homepage-news .card-title {
    margin-top: 0 !important;
    padding-top: 0 !important;
    line-height: 1.2 !important;
    font-size: 0.9rem !important;
}

/* Podbarvení prioritního/dominantního příspěvku */

.news-item.nkd-bg-priority {
    background-color: rgb(255,204,51) !important; /* Žlutá */
    padding: 0.75rem !important; /* Přidáme vnitřní prostor, když je tam barva */
    border-top: none !important; /* Žlutý blok nepotřebuje linku */
}

.news-item .card-body {
    padding-top: 0;
    padding-bottom: 0;
}

/**
 * Redukce výšky řádku pro odstranění typografické mezery mezi datem a nadpisem
 */
.news-item .card-body .news-date {
   line-height: 1;
   font-size: 0.7rem !important;
}
/* velikost nadpisu, menší než standardní fs-6 (1rem) */
.news-item .card-body .card-title {
    font-size: 0.9rem !important;
    line-height: 1.2;
    margin-top: 2px;
}


/* ==========================================================================
   6. DETAIL PŘÍSPĚVKU A STRÁNKY
   ========================================================================== */

body .site-main h1.wp-block-post-title,
body .site-main h1.entry-title {
    font-size: 1.5rem !important;
    line-height: 1.3 !important;
    padding: 0.1rem 25px 1rem 25px !important;
    margin-top: 0 !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
}

body.single .site-main h1.wp-block-post-title,
body.page .site-main h1.wp-block-post-title {
    background-color: var(--nkd-navy) !important;
    color: var(--nkd-white) !important;
    width: 100vw !important;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
}

.nkd-detail-img {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin: 0 0 20px 0 !important;
}

.nkd-detail-img .nkd-circle-wrap,
.nkd-circle-wrap {
    width: 100% !important;
    margin: 0 !important;
    border-radius: 0 !important;
    float: none !important;
}

/* ==========================================================================
   7. DROBEČKOVÁ NAVIGACE (BREADCRUMBS)
   ========================================================================= */

.theme-breadcrumb-wrapper .breadcrumb,
.entry-breadcrumbs-container .breadcrumb {
    font-size: 0.85rem;
    display: flex;
}

.theme-breadcrumb-wrapper .breadcrumb {
    flex-wrap: nowrap;
    white-space: nowrap;
    overflow-x: auto;
    scrollbar-width: none;
}

.theme-breadcrumb-wrapper .breadcrumb::-webkit-scrollbar {
    display: none;
}

.theme-breadcrumb-wrapper .breadcrumb-item.active {
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 150px;
}

.entry-breadcrumbs-container .breadcrumb {
    justify-content: center !important;
    text-align: center;
    padding: 0;
}

.entry-breadcrumbs-container .breadcrumb-item {
    font-size: 0.85rem;
}

/* ==========================================================================
   8. OSTATNÍ (PARTNEŘI, PAGINACE, GRID)
   ========================================================================== */

/* Společný základ pro zmenšení inline paddingu na mobilu pro všechna loga */
.nkd-partneri-container .partner-logo {
    padding: 4px !important;
    width: auto;
    margin: 0 auto;
}

/* Generální partneři (typ 1) - největší */
.nkd-partneri-container .partner-type-1 .partner-logo {
    max-height: 120px !important;
}

/* Hlavní partneři (typ 2), Kraje (typ 4) a Záštity (typ 6) - střední */
.nkd-partneri-container .partner-type-2 .partner-logo,
.nkd-partneri-container .partner-type-4 .partner-logo,
.nkd-partneri-container .partner-type-6 .partner-logo {
    max-height: 90px !important;
}

/* Ostatní partneři a města a obce (typy 3, 5) - nejmenší */
.nkd-partneri-container .partner-type-3 .partner-logo,
.nkd-partneri-container .partner-type-5 .partner-logo {
    max-height: 65px !important;
}

.footer-partners h2 {
    text-align: center;
    font-size: 1.1rem;
}

.pagination-wrapper .page-link {
    padding: 10px 15px;
    font-size: 1rem;
}

/* GRID FIX PRO MALÉ MOBILY */
@media (max-width: 575.98px) {
    .nkd-archive-grid .col-sm-6 {
        flex: 0 0 100%;
        max-width: 100%;
    }
}

/* ==========================================================================
   obchod WOOCOMMERCE
   ========================================================================== */

/* Zvětšení dotykových ploch pro mobilní košík */
.woocommerce-cart table.cart td.actions .button,
.woocommerce-cart table.cart td.actions .coupon .button {
    width: 100% !important;
    display: block;
    margin-bottom: 10px;
}

/* Na mobilu skryjeme některé méně důležité sloupce v tabulce košíku */
.shop_table.cart thead th.product-price,
.shop_table.cart tbody td.product-price {
    display: none;
}

/* různé */

/* citace */
.wp-block-quote{
   font-size:1.1rem;
}

/* ==========================================================================
   odběr novinek
   ========================================================================== */

.nkd-newsletter-form {
    border: none !important;
    padding: 1.5rem !important; /* Oprava: Přidáno horizontální odsazení */
}
.nkd-newsletter-form .btn {
    width: 100%; /* Mobilní tlačítko na celou šířku */
}
