/* === 1. TLAČÍTKA === */
.et_pb_button, button, input[type="submit"], .button, .kjd-top-button {
    background-color: var(--btn-bg) !important;
    color: var(--btn-text) !important;
    font-family: var(--font-primary) !important;
    font-size: 1.063rem !important;
    font-weight: 700 !important;
    line-height: 1.5 !important;
    padding: 0.75rem 1.75rem !important;
    border: 0.125rem solid transparent !important;
    border-radius: 0.25rem !important;
    text-decoration: none !important;
    display: inline-block;
    cursor: pointer;
    box-sizing: border-box !important;
    transition: background-color 0.2s ease-in-out, transform 0.1s ease-in-out;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
}
.et_pb_button:hover, button:hover, .button:hover, .et_pb_module .et_pb_button:hover, .kjd-top-button:hover {
    background-color: var(--btn-hover) !important;
    color: var(--btn-text) !important;
    transform: none !important;
    scale: 1 !important;
    letter-spacing: 0rem !important;
}
.et_pb_button:active, button:active { transform: scale(0.98) !important; }
.et-info a:not(.kjd-top-button) { background-color: transparent !important; padding: 0 !important; color: inherit !important; }

/* === 2. FORMULÁŘE === */
input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="search"], .et_pb_search input.et_pb_s, textarea, select {
    width: 100%;
    box-sizing: border-box !important;
    font-family: var(--font-primary) !important;
    font-size: 1.063rem !important;
    line-height: 1.5 !important;
    padding: 0.75rem 1rem !important;
    color: var(--text-main) !important;
    background-color: #FFFFFF !important;
    border: 0.125rem solid var(--border-color) !important;
    border-radius: 0.25rem !important;
    transition: border-color 0.2s ease-in-out;
    min-width: 12rem !important;
}
input:focus, textarea:focus, select:focus, .et_pb_search input.et_pb_s:focus {
    border-color: var(--focus-outline) !important;
    outline: none !important;
    box-shadow: 0 0 0 0.188rem rgba(27,77,147,.2) !important;
}
label { font-family: var(--font-primary) !important; font-weight: 600 !important; display: block; margin-bottom: 0.5rem; }

/* === 3. SEZNAMY A CITACE === */
.entry-content ul, .et_pb_text ul { list-style: none; padding-left: 1.5em; }
.entry-content ul li, .et_pb_text ul li { position: relative; }
.entry-content ul li::before, .et_pb_text ul li::before { content: "•"; color: var(--yellow-detail); font-weight: bold; position: absolute; left: -1em; }
.kjd-archive-list li::before { display: none !important; }

blockquote, .wp-block-blockquote { border-left: 0.375rem solid var(--yellow-detail) !important; background-color: var(--bg-light) !important; margin: 1.5em 0 !important; padding: 1rem 1.5rem !important; font-style: italic; }
blockquote p, .wp-block-blockquote p { font-size: 1.25rem !important; color: var(--text-main) !important; margin-bottom: 0 !important; }

/* === 4. TABULKY A MÉDIA === */
.table-wrapper, .wp-block-table { width: 100%; overflow-x: auto; margin-bottom: 1.5em; }
table { width: 100%; border-collapse: collapse; font-family: var(--font-primary) !important; font-size: 1rem; }
th { background-color: var(--bg-light); color: var(--text-main); font-weight: 700; text-align: left; border-bottom: 0.188rem solid var(--border-color); }
th, td { padding: 0.75rem !important; border: 0.063rem solid var(--border-color); }
tr:nth-child(even) { background-color: rgba(244, 245, 246, 0.5); }

img, .wp-block-image img { max-width: 100%; height: auto; }
.entry-content img, .et_pb_image img, .wp-block-image img { border-radius: 0.25rem; }
figcaption, .wp-element-caption { font-size: 0.9rem !important; color: #55585A !important; text-align: center; margin-top: 0.5rem; }
iframe, video { max-width: 100%; }

/* === 5. NOTIFIKACE === */
.notice-box { padding: 1rem !important; border-radius: 0.25rem !important; margin-bottom: 1.5rem !important; border-left: 0.313rem solid transparent; }
.notice-error { background-color: #FDF1F1 !important; color: var(--state-error) !important; border-left-color: var(--state-error) !important; }
.notice-success { background-color: #F2F9F3 !important; color: var(--state-success) !important; border-left-color: var(--state-success) !important; }

/* === 6. PŘÍSTUPNÉ KARTY (BLURB GRID) === */
.custom-accessible-card {
    height: 100% !important; display: flex !important; flex-direction: column !important;
    border: 0.063rem solid var(--border-color) !important; border-radius: 0.25rem !important;
    padding: 1.5rem !important; background-color: var(--web-bg) !important;
    transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out !important;
}
.custom-accessible-card:hover, .custom-accessible-card:focus-within {
    border-color: var(--focus-outline) !important; box-shadow: 0 0 0 0.188rem rgba(27, 77, 147, 0.2) !important;
}
.custom-accessible-card .et_pb_blurb_title a, .custom-accessible-card .et_pb_main_blurb_image a { visibility: hidden !important; }
.custom-accessible-card .et_pb_blurb_title a *, .custom-accessible-card .et_pb_main_blurb_image a *, .custom-accessible-card .et_pb_main_blurb_image span, .custom-accessible-card .et_pb_blurb_icon { visibility: visible !important; }
.custom-accessible-card a:focus { outline: none !important; }

.karta-vlevo .et_pb_blurb_content { display: grid !important; grid-template-columns: max-content 1fr !important; column-gap: 1.2rem !important; row-gap: 0.6rem !important; }
.karta-vlevo .et_pb_blurb_container { display: contents !important; }
.karta-vlevo .et_pb_main_blurb_image { grid-column: 1 !important; grid-row: 1 !important; margin: 0 !important; padding: 0 !important; align-self: center !important; }
.karta-vlevo h3.et_pb_module_header { grid-column: 2 !important; grid-row: 1 !important; margin: 0 !important; align-self: center !important; }
.karta-vlevo .et_pb_blurb_description { grid-column: 1 / span 2 !important; grid-row: 2 !important; margin: 0 !important; }
.karta-vlevo .et_pb_blurb_description p { margin: 0 !important; display: block !important; }

/* === 7. DYNAMICKÉ VYHLEDÁVÁNÍ === */
.custom-search-block {
    width: 100%; margin-bottom: 1.5rem; font-family: var(--font-primary) !important;
    display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.5rem;
}
.search-toggles { display: flex; gap: 1.5rem; }
.search-toggle-label { display: flex; align-items: center; gap: 0.5rem; cursor: pointer; font-weight: 600 !important; color: var(--text-main); white-space: nowrap !important; }
.search-toggle-label input[type="radio"] { width: 1.2rem; height: 1.2rem; accent-color: var(--focus-outline); cursor: pointer; }
.search-toggle-label input[type="radio"]:focus-visible { outline: 0.125rem solid var(--focus-outline) !important; outline-offset: 0.125rem !important; }
.accessible-search-form { flex-grow: 1; display: flex; }
.search-input-group { display: flex; flex-grow: 1; gap: 0.5rem; width: 100%; }
.search-field-input { flex: 1; font-family: var(--font-primary) !important; font-size: 1.063rem !important; line-height: 1.5 !important; padding: 0.75rem 1rem !important; color: var(--text-main) !important; background-color: #FFFFFF !important; border: 0.125rem solid var(--border-color) !important; border-radius: 0.25rem !important; transition: border-color 0.2s ease-in-out; }
.search-field-input:focus { border-color: var(--focus-outline) !important; outline: none !important; box-shadow: 0 0 0 0.188rem rgba(27,77,147,.2) !important; }

@media (max-width: 56rem) {
    .custom-search-block { flex-direction: column; align-items: flex-start; gap: 0.75rem; }
    .accessible-search-form { width: 100% !important; }
    .search-input-group { flex-direction: column; width: 100% !important; }
    .search-field-input, .search-submit-btn { width: 100% !important; }
}

/* === 8. LIŠTA UPOZORNĚNÍ === */
.kjd-alert-section { padding: 0 !important; margin: 0 !important; min-height: 0 !important; background: transparent !important; border: none !important; }
.kjd-alert-section .et_pb_row { padding: 0 !important; margin: 0 !important; width: 100% !important; max-width: 100% !important; min-height: 0 !important; }
.kjd-alert-section .et_pb_column, .kjd-alert-section .et_pb_code { padding: 0 !important; margin: 0 !important; }

/* 1. Horní lišta (Nová vycentrovaná krabička - Varianta A) */
.kjd-alert-bar { max-width: 1080px !important; width: calc(100% - 2.5rem) !important; margin: 1.5rem auto 1.5rem auto !important; background-color: var(--web-bg) !important; border: 0.063rem solid var(--border-color) !important; border-radius: 0.25rem !important; box-sizing: border-box !important; transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out !important; }
.kjd-alert-bar:hover { border-color: var(--focus-outline) !important; box-shadow: 0 0.125rem 0.5rem rgba(0,0,0,0.04) !important; }
.kjd-alert-container { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; column-gap: 1.5rem; row-gap: 0.35rem; padding: 0.75rem 1.5rem; text-align: center; font-size: 1.125rem; line-height: 1.4; }
.kjd-alert-separator { color: var(--text-main) !important; font-weight: 700; opacity: 0.4; user-select: none; }
.kjd-alert-link { color: var(--link-main) !important; text-decoration: underline !important; text-decoration-thickness: 0.063rem !important; font-weight: 700; transition: color 0.2s ease-in-out, text-decoration-thickness 0.2s ease-in-out; }
.kjd-alert-link:hover { color: var(--btn-bg) !important; text-decoration: underline !important; text-decoration-thickness: 0.125rem !important; }
.kjd-alert-link:focus-visible { outline: 0.188rem solid var(--focus-outline) !important; outline-offset: 0.25rem !important; border-radius: 0.125rem !important; }

/* 2. Karta druhého upozornění pod lištou (Obnovený a zafixovaný styl: obrázek vlevo, text vpravo) */
.kjd-alert-card { position: relative !important; display: grid !important; grid-template-columns: 14rem 1fr !important; gap: 1.5rem !important; background-color: var(--web-bg) !important; border: 0.063rem solid var(--border-color) !important; border-radius: 0.25rem !important; padding: 1.5rem !important; box-sizing: border-box !important; transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out !important; }
.kjd-alert-card:hover, .kjd-alert-card:focus-within { border-color: var(--focus-outline) !important; box-shadow: 0 0 0 0.188rem rgba(27, 77, 147, 0.2) !important; cursor: pointer; }
.kjd-alert-card .card-image { width: 100% !important; }
.kjd-alert-card .card-image img { width: 100% !important; height: auto !important; aspect-ratio: 16 / 10 !important; object-fit: cover !important; border-radius: 0.25rem !important; display: block !important; }
.kjd-alert-card .card-content { display: flex !important; flex-direction: column !important; justify-content: flex-start !important; }
.kjd-alert-card .card-content h3 { margin: 0 0 0.5rem 0 !important; font-family: var(--font-heading) !important; font-size: 1.375rem !important; font-weight: 700 !important; line-height: 1.3 !important; }
.kjd-alert-card .card-content h3 a { color: var(--text-main) !important; text-decoration: none !important; }
.kjd-alert-card .card-content h3 a::after { content: "" !important; position: absolute !important; top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important; z-index: 10 !important; }
.kjd-alert-card .card-content h3 a:focus { outline: none !important; }
.kjd-alert-card .card-content p { margin: 0 !important; font-family: var(--font-primary) !important; font-size: 1.063rem !important; line-height: 1.5 !important; }

/* Responzivní chování pro mobily a tablety */
@media (max-width: 48rem) {
    .kjd-alert-bar { width: calc(100% - 1.5rem) !important; margin: 1rem auto 1rem auto !important; }
    .kjd-alert-separator { display: none !important; }
    .kjd-alert-container { flex-direction: column; gap: 0.5rem !important; padding: 1rem !important; }
    .kjd-alert-card { grid-template-columns: 1fr !important; gap: 1rem !important; padding: 1.25rem !important; }
    .kjd-alert-card .card-image img { aspect-ratio: 16 / 9 !important; }
}

/* === 9. STRÁNKA KONTAKTŮ (VIZITKY) === */
.kjd-contact-hero h1 { margin-top: 0 !important; margin-bottom: 1.5rem !important; line-height: 1.2 !important; font-size: 1.75rem !important; }
.et_pb_text:has(.kjd-contact-grid) h2 { margin-top: 2.5rem !important; margin-bottom: 1.5rem !important; line-height: 1.2 !important; font-size: 1.5rem !important; }
@media (min-width: 54.01rem) { .kjd-contact-top-row, .kjd-contact-grid { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 1.25rem !important; align-items: stretch !important; } }
@media (max-width: 54rem) { .kjd-contact-top-row, .kjd-contact-grid { display: grid !important; grid-template-columns: 1fr !important; gap: 1.5rem !important; } }
.kjd-info-box, .kjd-contact-card { background-color: var(--web-bg) !important; padding: 1.25rem !important; border-radius: 0.375rem !important; border: 0.063rem solid var(--border-color) !important; display: flex !important; flex-direction: column !important; transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out !important; box-sizing: border-box !important; }
.kjd-info-box h3, .kjd-contact-card h3, .kjd-contact-top-row .kjd-info-box h2, .kjd-contact-top-row .kjd-contact-card h2 { margin-top: 0 !important; margin-bottom: 0.25rem !important; font-size: 1.15rem !important; color: var(--text-main) !important; line-height: 1.3 !important; }
.kjd-contact-card { border-left: 0.25rem solid var(--link-main) !important; }
.kjd-info-box p, .kjd-contact-card p { margin-top: 0 !important; margin-bottom: 0.25rem !important; line-height: 1.4 !important; font-size: 1rem !important; }
.kjd-info-box p:last-child, .kjd-contact-card p:last-child { margin-bottom: 0 !important; }
.kjd-contact-lead strong { display: inline-block; min-width: 4.5rem; }
.kjd-billing-lead strong { display: inline-block; min-width: 7rem; }
.kjd-links { display: flex !important; flex-direction: column !important; gap: 0 !important; margin-top: 0.25rem !important; padding-top: 0 !important; }
.kjd-links a { color: var(--link-main); text-decoration: underline; font-weight: 500; line-height: 1.3; text-decoration-thickness: 0.063rem; transition: text-decoration-thickness 0.2s ease-in-out, color 0.2s ease-in-out; word-break: break-word; display: block !important; padding-top: 0.35rem !important; padding-bottom: 0.35rem !important; }
.kjd-links br { display: none !important; }
.kjd-links a:hover, .kjd-links a:focus-visible { color: var(--btn-bg); text-decoration-thickness: 0.125rem; outline: none !important; }
.kjd-info-box:hover, .kjd-info-box:focus-within, .kjd-contact-card:hover, .kjd-contact-card:focus-within { border-color: var(--focus-outline) !important; box-shadow: 0 0 0 0.188rem rgba(27, 77, 147, 0.2) !important; }

/* === 10. STRÁNKA OTEVÍRACÍ DOBY === */
.kjd-hours-section h2 { margin-top: 2rem !important; margin-bottom: 1.5rem !important; line-height: 1.2 !important; font-size: 1.5rem !important; }
@media (min-width: 54.01rem) { .kjd-hours-grid { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 1.25rem !important; align-items: stretch !important; } }
@media (max-width: 54rem) { .kjd-hours-grid { display: grid !important; grid-template-columns: 1fr !important; gap: 1.5rem !important; } }
.kjd-hours-box { background-color: var(--web-bg) !important; padding: 1.25rem !important; border-radius: 0.375rem !important; border: 0.063rem solid var(--border-color) !important; border-left: 0.25rem solid var(--link-main) !important; display: flex !important; flex-direction: column !important; box-sizing: border-box !important; color: var(--text-main) !important; transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out !important; }
.kjd-hours-box h3 { margin-top: 0 !important; margin-bottom: 1rem !important; font-size: 1.15rem !important; color: var(--text-main) !important; line-height: 1.3 !important; }
.kjd-hours-list { list-style: none !important; padding: 0 !important; margin: 0 !important; display: flex !important; flex-direction: column !important; gap: 0.5rem !important; }
.kjd-hours-list li { display: flex !important; justify-content: space-between !important; font-size: 1rem !important; line-height: 1.4 !important; border-bottom: 0.063rem dashed var(--border-color) !important; padding-bottom: 0.25rem !important; color: var(--text-main) !important; }
.kjd-hours-list li::before { content: none !important; display: none !important; }
.kjd-hours-list li:last-child { border-bottom: none !important; padding-bottom: 0 !important; }
.kjd-day { font-weight: 500 !important; color: var(--text-main) !important; }
.kjd-time { font-weight: 400 !important; color: var(--text-main) !important; text-align: right !important; }
.kjd-time.kjd-closed { color: #c62828 !important; font-weight: 600 !important; }
.kjd-hours-box:hover { border-color: var(--focus-outline) !important; box-shadow: 0 0 0 0.188rem rgba(27, 77, 147, 0.2) !important; }

/* === 11. ÚVODNÍ STRÁNKA (DOPORUČOVANÉ KARTY) === */
.kjd-recommended-grid { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; gap: 1.5rem !important; width: 100% !important; margin-bottom: 2rem !important; }
@media (max-width: 61.25rem) { .kjd-recommended-grid { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 37.5rem) { .kjd-recommended-grid { grid-template-columns: 1fr !important; } }

.kjd-recommended-card {
    position: relative !important; background-color: var(--web-bg) !important; border: 0.063rem solid var(--border-color) !important; border-radius: 0.25rem !important;
    padding: 0.75rem 1.125rem !important; display: flex !important; align-items: center !important; justify-content: center !important; text-align: center !important;
    min-height: 4.5rem !important; transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out !important;
}
.kjd-recommended-card h3 { margin: 0 !important; padding: 0 !important; font-family: var(--font-heading) !important; font-size: 1.125rem !important; font-weight: 700 !important; line-height: 1.3 !important; }
.kjd-recommended-card h3 a { color: var(--text-main) !important; text-decoration: none !important; }
.kjd-recommended-card h3 a::after { content: "" !important; position: absolute !important; top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important; z-index: 1 !important; }
.kjd-recommended-card h3 a:focus { outline: none !important; }
.kjd-recommended-card:hover, .kjd-recommended-card:focus-within { border-color: var(--focus-outline) !important; box-shadow: 0 0 0 0.188rem rgba(27, 77, 147, 0.2) !important; cursor: pointer; }

/* === 12. MŘÍŽKA AKTUALIT (3x2 KARTY) === */
.kjd-news-grid { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 2.5rem 1.5rem !important; width: 100% !important; margin-bottom: 2.5rem !important; }
.kjd-news-card { position: relative !important; display: flex !important; flex-direction: column !important; justify-content: space-between; border-top: none !important; border-left: none !important; border-right: none !important; border-bottom: 0.063rem solid var(--border-color) !important; border-radius: 0 !important; padding: 0 0 1.5rem 0 !important; background-color: transparent !important; transition: border-color 0.2s ease-in-out !important; height: 100% !important; }
.kjd-news-card:hover { border-bottom-color: var(--link-main) !important; cursor: pointer; }
.kjd-news-card:hover h3 a { color: var(--link-main) !important; }
.kjd-news-card:focus-within { outline: 0.188rem solid var(--focus-outline) !important; outline-offset: 0.5rem !important; border-radius: 0.25rem !important; background-color: rgba(27, 77, 147, 0.03) !important; }
.kjd-news-card h3 { margin: 0 0 1.2rem 0 !important; font-family: var(--font-heading) !important; font-size: 1.25rem !important; font-weight: 700 !important; line-height: 1.3 !important; }
.kjd-news-card h3 a { color: var(--text-main) !important; text-decoration: none !important; }
.kjd-news-card h3 a::after { content: "" !important; position: absolute !important; top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important; z-index: 10 !important; }
.kjd-news-card h3 a:focus { outline: none !important; }
.kjd-news-card .card-image { width: 100% !important; margin-top: auto !important; }
.kjd-news-card .card-image img { width: 100% !important; height: auto !important; aspect-ratio: 16 / 10 !important; object-fit: cover !important; border-radius: 0.25rem !important; display: block !important; }

@media (max-width: 65rem) { .kjd-news-grid { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 40rem) { .kjd-news-grid { grid-template-columns: 1fr !important; } }

/* === 13. UPOUTÁVKY SLUŽEB === */
.kjd-services-grid { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 2rem !important; width: 100% !important; margin: 2rem auto !important; box-sizing: border-box !important; }
.kjd-services-card { position: relative !important; display: flex !important; flex-direction: column !important; background-color: var(--web-bg) !important; border-top: 0.25rem solid var(--link-main) !important; border-left: none !important; border-right: none !important; border-bottom: none !important; border-radius: 0 0 0.25rem 0.25rem !important; padding: 1.5rem !important; box-shadow: 0 0.125rem 0.5rem rgba(0,0,0,0.06) !important; transition: transform 0.2s ease-in-out, border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out !important; box-sizing: border-box !important; }
.kjd-services-card:hover { transform: translateY(-0.313rem) !important; box-shadow: 0 0.625rem 1.25rem rgba(27, 77, 147, 0.12) !important; cursor: pointer; }
.kjd-services-card:focus-within { transform: translateY(-0.313rem) !important; outline: 0.188rem solid var(--focus-outline) !important; outline-offset: 0.188rem !important; box-shadow: none !important; }
.kjd-services-card .card-image { width: 100% !important; margin-bottom: 1rem !important; }
.kjd-services-card .card-image img { width: 100% !important; height: auto !important; aspect-ratio: 16 / 9 !important; object-fit: cover !important; border-radius: 0.188rem !important; display: block !important; }
.kjd-services-card .card-content { display: flex !important; flex-direction: column !important; flex-grow: 1 !important; }
.kjd-services-card .card-badge { align-self: flex-start !important; font-family: var(--font-primary) !important; font-size: 0.813rem !important; font-weight: 700 !important; text-transform: uppercase !important; color: var(--link-main) !important; letter-spacing: 0.05rem !important; margin-bottom: 0.375rem !important; opacity: 0.85; }
.kjd-services-card:hover .card-badge, .kjd-services-card:focus-within .card-badge { color: var(--focus-outline) !important; }
.kjd-services-card h3 { margin: 0 0 0.5rem 0 !important; font-family: var(--font-heading) !important; font-size: 1.313rem !important; font-weight: 700 !important; line-height: 1.3 !important; }
.kjd-services-card h3 a { color: var(--text-main) !important; text-decoration: none !important; }
.kjd-services-card h3 a::after { content: "" !important; position: absolute !important; top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important; z-index: 10 !important; }
.kjd-services-card h3 a:focus { outline: none !important; }
.kjd-services-card p { margin: 0 !important; font-family: var(--font-primary) !important; font-size: 1.031rem !important; color: var(--text-main) !important; line-height: 1.5 !important; }
@media (max-width: 62rem) { .kjd-services-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 1.5rem !important; } }
@media (max-width: 48rem) { .kjd-services-grid { grid-template-columns: 1fr !important; gap: 1.5rem !important; } .kjd-services-card:hover, .kjd-services-card:focus-within { transform: none !important; } }

/* === 14. NOVÉ CENTROVANÉ BOXY (ČERVENÁ LINKA + NADZVEDNUTÍ v REM) === */
/* Zmenšení mezer mezi boxy – přitáhneme je blíž k sobě */
.kjd-nove-sluzby-box {
    margin-bottom: 1rem !important;
}

/* Vrátí obrázek a nadpis do oken pod sebe a vycentruje je */
.kjd-nove-sluzby-box .et_pb_blurb_content {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    width: 100% !important;
}

/* Velikost nadpisů jako mají aktuality na webu */
.kjd-nove-sluzby-box h3.et_pb_module_header {
    margin: 1.5rem 0 0 0 !important;
    padding: 0 !important;
    width: 100% !important;
    font-size: 1.35rem !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
}

/* OPRAVA DVOJITÉHO TABU: Natvrdo skryje duplicitní odkaz na obrázku pro klávesnici (TAB) */
.kjd-nove-sluzby-box .et_pb_main_blurb_image a {
    visibility: hidden !important; /* Prohlížeč tento odkaz zcela vyřadí z TAB navigace */
    display: block !important;
}

/* 💥 GLOBÁLNÍ OPRAVA OBRÁZKŮ PRO OBA ŘÁDKY: Vynutí plnou šířku a ořez (Cover) */
.kjd-nove-sluzby-box .et_pb_main_blurb_image,
.kjd-nove-sluzby-box .et_pb_main_blurb_image a,
.kjd-nove-sluzby-box .et_pb_main_blurb_image img,
.kjd-nove-sluzby-box .et_pb_main_blurb_image a img {
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
}

/* Zpětné zobrazení samotného obrázku, aby nezmizel z očí, ale zůstal roztažený a oříznutý */
.kjd-nove-sluzby-box .et_pb_main_blurb_image a img {
    visibility: visible !important;
    height: 14rem !important; /* Pevná výška vyhrazeného prostoru v rem pro všech 6 boxů */
    object-fit: cover !important; /* Obrázek vyplní prostor od okraje k okraji a ořízne se */
    object-position: center !important;
}

/* Prostor pro obrázek */
.kjd-nove-sluzby-box .et_pb_main_blurb_image {
    margin: 0 !important;
    padding: 0 !important;
    justify-content: center !important;
}

/* VZHLED BOXU: Červená čára nahoře, stín a úplně odstraněné rámečky */
.kjd-nove-sluzby-box {
    border-top: 0.25rem solid #cc0000 !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: none !important;
    background-color: var(--web-bg) !important;
    transition: transform 0.25s ease-in-out, box-shadow 0.25s ease-in-out !important;
}

/* EFEKT NADZVEDNUTÍ: Při najetí myší nebo stisknutí klávesy TAB */
.kjd-nove-sluzby-box:hover,
.kjd-nove-sluzby-box:focus-within {
    transform: translateY(-0.375rem) !important;
    box-shadow: 0 0.625rem 1.25rem rgba(0, 0, 0, 0.1), 0 0 0 0.188rem rgba(27, 77, 147, 0.2) !important;
}

/* Úprava pro mobily */
@media (max-width: 767px) {
    .kjd-nove-sluzby-box .et_pb_main_blurb_image a img {
        height: auto !important; /* Na mobilu pustíme přirozenou výšku */
    }
}
