/*
Theme Name: RKservis
Template: twentytwentyfive
Text Domain: rkservis
Version: 1.0.0
Description: Child theme pro firmu R.K.Servis, spol. s r.o.
*/

/* ============================================
   GLOBÁLNÍ PROMĚNNÉ A RESET
   ============================================ */
:root {
    --rk-blue:        #1B3A8C;
    --rk-blue-dark:   #142D6E;
    --rk-blue-light:  #E6F1FB;
    --rk-gray:        #6B6B6B;
    --rk-text:        #1A1A1A;
    --rk-text-muted:  #5F6368;
    --rk-bg-light:    #F2F4F8;
    --rk-white:       #FFFFFF;
    --rk-radius:      10px;
    --rk-radius-sm:   6px;
}

/* ============================================
   HERO SEKCE  –  třída: rk-hero
   Použij na Cover blok
   ============================================ */
.rk-hero {
    min-height: 520px !important;
    background-color: var(--rk-blue) !important;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 80px 24px !important;
    position: relative;
}

.rk-hero .wp-block-cover__inner-container {
    max-width: 720px;
    width: 100%;
    margin: 0 auto;
    text-align: center;
    z-index: 2;
}

/* ISO badge nad nadpisem */
.rk-hero-badge {
    display: inline-block;
    background: rgba(255, 255, 255, 0.15);
    border: 1px solid rgba(255, 255, 255, 0.35);
    border-radius: 30px;
    padding: 5px 18px;
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--rk-white);
    letter-spacing: 0.04em;
    margin-bottom: 20px;
    text-transform: uppercase;
}

/* Nadpis hero */
.rk-hero h1,
.rk-hero .wp-block-cover__inner-container h1 {
    color: var(--rk-white) !important;
    font-size: clamp(2rem, 4vw, 3rem) !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.02em !important;
    margin-bottom: 16px !important;
}

/* Perex pod nadpisem */
.rk-hero p {
    color: rgba(255, 255, 255, 0.8) !important;
    font-size: 1.1rem !important;
    line-height: 1.7 !important;
    max-width: 540px;
    margin: 0 auto 32px !important;
}

/* Tlačítka v hero */
.rk-hero .wp-block-buttons {
    justify-content: center;
    gap: 12px;
}

.rk-hero .wp-block-button__link {
    border-radius: var(--rk-radius-sm) !important;
    font-family: var(--wp--preset--font-family--heading) !important;
    font-weight: 700 !important;
    font-size: 0.9rem !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    padding: 14px 28px !important;
    transition: background 0.2s, color 0.2s, border-color 0.2s;
}

/* Primární tlačítko (bílé) */
.rk-hero .wp-block-button.is-style-fill .wp-block-button__link {
    background: var(--rk-white) !important;
    color: var(--rk-blue) !important;
    border: 2px solid var(--rk-white) !important;
}

.rk-hero .wp-block-button.is-style-fill .wp-block-button__link:hover {
    background: var(--rk-blue-light) !important;
    border-color: var(--rk-blue-light) !important;
}

/* Sekundární tlačítko (outline) */
.rk-hero .wp-block-button.is-style-outline .wp-block-button__link {
    background: transparent !important;
    color: var(--rk-white) !important;
    border: 2px solid rgba(255, 255, 255, 0.5) !important;
}

.rk-hero .wp-block-button.is-style-outline .wp-block-button__link:hover {
    background: rgba(255, 255, 255, 0.1) !important;
    border-color: var(--rk-white) !important;
}

/* ============================================
   PAIN POINTS SEKCE  –  třída: rk-painpoints
   Použij na vnější Group blok
   ============================================ */
.rk-painpoints {
    background: var(--rk-white) !important;
    padding: 64px 24px !important;
}

.rk-painpoints > .wp-block-group__inner-container {
    max-width: 1100px;
    margin: 0 auto;
}

/* Nadpis sekce */
.rk-painpoints-title {
    text-align: center;
    margin-bottom: 8px !important;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    color: var(--rk-text-muted) !important;
}

.rk-painpoints-heading {
    text-align: center !important;
    font-size: clamp(1.4rem, 2.5vw, 1.9rem) !important;
    font-weight: 700 !important;
    color: var(--rk-text) !important;
    margin-bottom: 40px !important;
}

/* Columns wrapper */
.rk-painpoints .wp-block-columns {
    gap: 16px !important;
    align-items: stretch !important;
}

.rk-painpoints .wp-block-column {
    flex-basis: 0 !important;
    flex-grow: 1 !important;
}

/* Jednotlivá karta  –  třída: rk-pain-card
   Použij na každý Column blok nebo vnitřní Group */
.rk-pain-card {
    background: var(--rk-white) !important;
    border: 1px solid #E2E6EE !important;
    border-radius: var(--rk-radius) !important;
    padding: 24px 20px !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    transition: box-shadow 0.2s, border-color 0.2s, transform 0.2s;
}

.rk-pain-card:hover {
    border-color: var(--rk-blue) !important;
    box-shadow: 0 4px 20px rgba(27, 58, 140, 0.10) !important;
    transform: translateY(-2px);
}

/* Ikona karty */
.rk-pain-card .rk-pain-icon {
    width: 44px;
    height: 44px;
    border-radius: var(--rk-radius-sm);
    background: var(--rk-blue-light);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

/* Nadpis karty */
.rk-pain-card h3,
.rk-pain-card h4 {
    font-size: 1rem !important;
    font-weight: 700 !important;
    color: var(--rk-text) !important;
    line-height: 1.4 !important;
    margin: 0 !important;
}

/* Text karty */
.rk-pain-card p {
    font-size: 0.88rem !important;
    color: var(--rk-text-muted) !important;
    line-height: 1.6 !important;
    margin: 0 !important;
    flex-grow: 1;
}

/* Link na kartě */
.rk-pain-card a,
.rk-pain-card .rk-pain-link {
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    color: var(--rk-blue) !important;
    text-decoration: none !important;
    margin-top: auto;
    display: inline-block;
}

.rk-pain-card a:hover {
    color: var(--rk-blue-dark) !important;
    text-decoration: underline !important;
}

/* ============================================
   STATS BAR  –  třída: rk-stats
   Použij na Group blok
   ============================================ */
.rk-stats {
    background: var(--rk-bg-light) !important;
    padding: 32px 24px !important;
    border-top: 1px solid #D8DEE9;
    border-bottom: 1px solid #D8DEE9;
}

.rk-stats > .wp-block-group__inner-container {
    max-width: 1100px;
    margin: 0 auto;
}

.rk-stats .wp-block-columns {
    gap: 0 !important;
    align-items: stretch !important;
}

/* Jednotlivé stat číslo – třída: rk-stat-item */
.rk-stat-item {
    text-align: center !important;
    padding: 16px 12px !important;
    border-right: 1px solid #D8DEE9;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
}

.rk-stat-item:last-child {
    border-right: none !important;
}

.rk-stat-item .rk-stat-number {
    font-family: var(--wp--preset--font-family--heading) !important;
    font-size: clamp(1.8rem, 3vw, 2.4rem) !important;
    font-weight: 800 !important;
    color: var(--rk-blue) !important;
    line-height: 1.1 !important;
    display: block;
}

.rk-stat-item .rk-stat-label {
    font-size: 0.72rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    color: var(--rk-text-muted) !important;
    margin-top: 6px !important;
    display: block;
}

/* ============================================
   RESPONZIVITA
   ============================================ */
@media (max-width: 781px) {
    .rk-hero {
        min-height: 400px !important;
        padding: 60px 20px !important;
    }

    .rk-painpoints {
        padding: 48px 16px !important;
    }

    .rk-painpoints .wp-block-columns {
        flex-direction: column !important;
    }

    .rk-stats .wp-block-columns {
        flex-wrap: wrap !important;
    }

    .rk-stats .wp-block-column {
        flex-basis: 50% !important;
        min-width: 50% !important;
    }

    .rk-stat-item:nth-child(2) {
        border-right: none !important;
    }

    .rk-stat-item:nth-child(3) {
        border-top: 1px solid #D8DEE9;
    }

    .rk-stat-item:nth-child(4) {
        border-top: 1px solid #D8DEE9;
        border-right: none !important;
    }
}

@media (max-width: 480px) {
    .rk-hero h1,
    .rk-hero .wp-block-cover__inner-container h1 {
        font-size: 1.7rem !important;
    }

    .rk-stats .wp-block-column {
        flex-basis: 100% !important;
        min-width: 100% !important;
    }

    .rk-stat-item {
        border-right: none !important;
        border-bottom: 1px solid #D8DEE9;
    }
}

/* ============================================
   OPRAVY A DOPLŇKY
   ============================================ */

/* Skrytí výchozího nadpisu stránky */
.page .wp-block-post-title,
.page h1.wp-block-post-title,
.entry-header .wp-block-post-title {
    display: none !important;
}

/* Hero – tmavší překryv pro lepší čitelnost textu */
.rk-hero.wp-block-cover::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(10, 25, 60, 0.55);
    z-index: 1;
}

.rk-hero .wp-block-cover__inner-container {
    position: relative;
    z-index: 2;
}

/* Pain point karty – modrý horní akcent */
.rk-pain-card {
    border-top: 3px solid var(--rk-blue) !important;
    border-left: 1px solid #E2E6EE !important;
    border-right: 1px solid #E2E6EE !important;
    border-bottom: 1px solid #E2E6EE !important;
}

/* Ikony na pain point kartách – přes SVG v CSS */
/* Použití: přidej prázdný div s třídou rk-pain-icon-[typ] */
.rk-pain-icon {
    width: 44px;
    height: 44px;
    border-radius: var(--rk-radius-sm);
    background: var(--rk-blue-light);
    margin-bottom: 4px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 22px 22px;
}

.rk-pain-icon-druzstvo {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231B3A8C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 9l9-7 9 7v11a2 2 0 01-2 2H5a2 2 0 01-2-2z'/%3E%3Cpolyline points='9 22 9 12 15 12 15 22'/%3E%3C/svg%3E");
}

.rk-pain-icon-spravce {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231B3A8C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' y1='8' x2='12' y2='12'/%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'/%3E%3C/svg%3E");
}

.rk-pain-icon-dum {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231B3A8C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='7' width='20' height='14' rx='2'/%3E%3Cpath d='M16 7V5a2 2 0 00-2-2h-4a2 2 0 00-2 2v2'/%3E%3Cline x1='12' y1='12' x2='12' y2='16'/%3E%3Cline x1='10' y1='14' x2='14' y2='14'/%3E%3C/svg%3E");
}

.rk-pain-icon-dedicstvi {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231B3A8C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 12h6m-3-3v6M21 12a9 9 0 11-18 0 9 9 0 0118 0z'/%3E%3C/svg%3E");
}

/* ============================================
   OPRAVY V2
   ============================================ */

/* Hero perex – lepší čitelnost přes text-shadow */
.rk-hero p {
    text-shadow: 0 1px 8px rgba(0,0,0,0.7), 0 0 30px rgba(0,0,0,0.5) !important;
}

/* Hero nadpis – také text-shadow pro jistotu */
.rk-hero h1,
.rk-hero .wp-block-cover__inner-container h1 {
    text-shadow: 0 2px 12px rgba(0,0,0,0.6) !important;
}

/* Mezera mezi hero a pain points – zrušení výchozích marginů */
.rk-hero + * ,
.wp-block-cover.rk-hero + .wp-block-group {
    margin-top: 0 !important;
}

/* Pain point karty – ikony oprava */
/* Tmavší pozadí ikony + větší kontrast */
.rk-pain-icon {
    background-color: #1B3A8C !important;
    background-size: 22px 22px !important;
}

/* SVG ikony překresleny s bílým stroke místo modrého */
.rk-pain-icon-druzstvo {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 9l9-7 9 7v11a2 2 0 01-2 2H5a2 2 0 01-2-2z'/%3E%3Cpolyline points='9 22 9 12 15 12 15 22'/%3E%3C/svg%3E") !important;
}

.rk-pain-icon-spravce {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' y1='8' x2='12' y2='12'/%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'/%3E%3C/svg%3E") !important;
}

.rk-pain-icon-dum {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='7' width='20' height='14' rx='2'/%3E%3Cpath d='M16 7V5a2 2 0 00-2-2h-4a2 2 0 00-2 2v2'/%3E%3Cline x1='12' y1='12' x2='12' y2='16'/%3E%3Cline x1='10' y1='14' x2='14' y2='14'/%3E%3C/svg%3E") !important;
}

.rk-pain-icon-dedicstvi {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 12h6m-3-3v6M21 12a9 9 0 11-18 0 9 9 0 0118 0z'/%3E%3C/svg%3E") !important;
}

/* Pain point karty – silnější horní border */
.rk-pain-card {
    border-top: 4px solid var(--rk-blue) !important;
}

/* Pain points nadpis – bez uppercase */
.rk-painpoints-heading {
    text-transform: none !important;
    font-size: clamp(1.5rem, 2.5vw, 2rem) !important;
}

/* Stats – odstraní zbytečnou mezeru nahoře */
.rk-stats {
    margin-top: 0 !important;
}

/* ============================================
   FONT AWESOME IKONY NA PAIN POINT KARTÁCH
   ============================================ */

/* Wrapper ikony – nahraď rk-pain-icon divy tímto */
.rk-pain-icon-fa {
    width: 52px;
    height: 52px;
    border-radius: var(--rk-radius-sm);
    background: var(--rk-blue);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 8px;
    flex-shrink: 0;
}

.rk-pain-icon-fa i,
.rk-pain-icon-fa .fa,
.rk-pain-icon-fa .fas,
.rk-pain-icon-fa .far {
    color: #ffffff !important;
    font-size: 1.3rem !important;
}

/* Oprava mezery mezi hero a pain points */
.wp-site-blocks > * + * {
    margin-top: 0;
}

.rk-painpoints {
    margin-top: 0 !important;
    padding-top: 56px !important;
}

/* Mezera pod hero – odstraní výchozí WordPress spacing */
.rk-hero.wp-block-cover {
    margin-bottom: 0 !important;
}

/* ============================================
   FONT AWESOME – OPRAVA ZOBRAZENÍ IKONY
   ============================================ */

/* Větší ikony bez wrapperu – záchytné pravidlo */
.rk-pain-card .fa,
.rk-pain-card .fas,
.rk-pain-card .far,
.rk-pain-card .fab {
    font-size: 1.6rem !important;
    color: var(--rk-white) !important;
    display: block;
}

/* Wrapper – span i div varianta */
.rk-pain-icon-fa {
    width: 52px !important;
    height: 52px !important;
    border-radius: var(--rk-radius-sm) !important;
    background: var(--rk-blue) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 12px !important;
}

.rk-pain-icon-fa .fa,
.rk-pain-icon-fa .fas,
.rk-pain-icon-fa .far,
.rk-pain-icon-fa .fab {
    font-size: 1.4rem !important;
    color: var(--rk-white) !important;
    display: inline !important;
}

/* Ikony přímo v .wp-block-html uvnitř karty */
.rk-pain-card .wp-block-html .rk-pain-icon-fa,
.rk-pain-card > * > .rk-pain-icon-fa {
    display: inline-flex !important;
}

/* ============================================
   MOBILNÍ LAYOUT PAIN POINT KARET
   ============================================ */
@media (max-width: 781px) {

    /* Karta – horizontální layout na mobilu */
    .rk-pain-card {
        flex-direction: row !important;
        align-items: flex-start !important;
        gap: 16px !important;
        padding: 20px 16px !important;
    }

    /* Ikona – vlevo, menší, neshrinkuje se */
    .rk-pain-icon-fa {
        width: 44px !important;
        height: 44px !important;
        flex-shrink: 0 !important;
        margin-bottom: 0 !important;
        align-self: flex-start !important;
    }

    /* Text obsah vpravo od ikony */
    .rk-pain-card > *:not(.rk-pain-icon-fa) {
        flex: 1 !important;
    }

    /* Nadpis karty na mobilu */
    .rk-pain-card h3,
    .rk-pain-card h4 {
        font-size: 0.95rem !important;
        margin-top: 0 !important;
    }
}

/* ============================================
   MOBILNÍ OPRAVA V2 – vertikální karty
   ============================================ */
@media (max-width: 781px) {

    /* Karty pod sebou – vertikální layout */
    .rk-pain-card {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 8px !important;
        padding: 20px 18px !important;
    }

    /* Ikona – normální velikost, vlevo nahoře */
    .rk-pain-icon-fa {
        width: 46px !important;
        height: 46px !important;
        margin-bottom: 4px !important;
        align-self: flex-start !important;
        display: inline-flex !important;
    }

    /* Obsah karty – plná šířka */
    .rk-pain-card h3,
    .rk-pain-card h4 {
        font-size: 1rem !important;
        width: 100% !important;
    }

    .rk-pain-card p {
        width: 100% !important;
        font-size: 0.9rem !important;
    }

    /* Columns uvnitř pain points – jeden sloupec na mobilu */
    .rk-painpoints .wp-block-columns {
        flex-direction: column !important;
        gap: 12px !important;
    }

    .rk-painpoints .wp-block-column {
        width: 100% !important;
        flex-basis: 100% !important;
    }
}

/* ============================================
/* ============================================
/* ============================================
/* ============================================
/* ============================================
/* ============================================
/* ============================================
   STRÁNKA SLUŽEB – rk-services-*
   ============================================ */

/* Intro text pod hero */
.rk-services-intro {
    background: var(--rk-white) !important;
    padding: 32px 24px !important;
    border-bottom: 1px solid #E2E6EE;
}

.rk-services-intro > .wp-block-group__inner-container {
    max-width: 720px;
    margin: 0 auto;
    text-align: center;
}

.rk-services-intro p {
    font-size: 1.05rem !important;
    color: var(--rk-text-muted) !important;
    line-height: 1.7 !important;
    margin: 0 !important;
}

.rk-services-intro strong {
    color: var(--rk-text) !important;
    font-weight: 700 !important;
}

/* Grid sekce */
.rk-services-grid {
    background: var(--rk-bg-light) !important;
    padding: 40px 24px !important;
}

.rk-services-grid > .wp-block-group__inner-container {
    max-width: 1100px;
    margin: 0 auto;
}

/* Řádky karet */
.rk-services-grid .wp-block-columns {
    gap: 16px !important;
    align-items: stretch !important;
    margin-bottom: 16px !important;
}

.rk-services-grid .wp-block-columns:last-child {
    margin-bottom: 0 !important;
}

.rk-services-grid .wp-block-column {
    flex-basis: 0 !important;
    flex-grow: 1 !important;
}

/* Servisní karta – třída: rk-service-card */
.rk-service-card {
    background: var(--rk-white) !important;
    border: 1px solid #E2E6EE !important;
    border-top: 4px solid var(--rk-blue) !important;
    border-radius: var(--rk-radius) !important;
    padding: 24px 20px !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    transition: box-shadow 0.2s, transform 0.2s;
}

.rk-service-card:hover {
    box-shadow: 0 4px 20px rgba(27, 58, 140, 0.10) !important;
    transform: translateY(-2px);
}

/* Ikona karty */
.rk-service-card .rk-pain-icon-fa {
    width: 48px !important;
    height: 48px !important;
    margin-bottom: 4px !important;
}

/* Nadpis karty */
.rk-service-card h3,
.rk-service-card h4 {
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    color: var(--rk-text) !important;
    margin: 0 !important;
    line-height: 1.3 !important;
}

/* Text karty */
.rk-service-card p {
    font-size: 0.88rem !important;
    color: var(--rk-text-muted) !important;
    line-height: 1.65 !important;
    margin: 0 !important;
    flex-grow: 1;
}

/* Odkaz v kartě */
.rk-service-card a {
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    color: var(--rk-blue) !important;
    text-decoration: none !important;
    margin-top: auto;
    display: inline-block;
}

.rk-service-card a:hover {
    color: var(--rk-blue-dark) !important;
    text-decoration: underline !important;
}

/* CTA karta – třída: rk-service-cta */
.rk-service-cta {
    background: var(--rk-blue) !important;
    border: none !important;
    border-radius: var(--rk-radius) !important;
    padding: 24px 20px !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 10px !important;
}

.rk-service-cta h3,
.rk-service-cta h4 {
    color: var(--rk-white) !important;
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    margin: 0 !important;
}

.rk-service-cta p {
    color: rgba(255, 255, 255, 0.8) !important;
    font-size: 0.88rem !important;
    line-height: 1.6 !important;
    margin: 0 !important;
}

/* Telefonní číslo v CTA */
.rk-service-cta .rk-cta-phone {
    font-size: 1.4rem !important;
    font-weight: 700 !important;
    color: var(--rk-white) !important;
    font-family: var(--wp--preset--font-family--heading) !important;
    letter-spacing: 0.02em !important;
}

/* Tlačítko v CTA kartě */
.rk-service-cta .wp-block-button__link {
    background: rgba(255, 255, 255, 0.15) !important;
    border: 1.5px solid rgba(255, 255, 255, 0.4) !important;
    color: var(--rk-white) !important;
    border-radius: var(--rk-radius-sm) !important;
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    padding: 10px 20px !important;
    transition: background 0.2s;
}

.rk-service-cta .wp-block-button__link:hover {
    background: rgba(255, 255, 255, 0.25) !important;
}

/* Responzivita */
@media (max-width: 781px) {
    .rk-services-grid {
        padding: 24px 16px !important;
    }

    .rk-services-grid .wp-block-columns {
        flex-direction: column !important;
        gap: 12px !important;
    }

    .rk-services-grid .wp-block-column {
        width: 100% !important;
        flex-basis: 100% !important;
    }

    .rk-service-card,
    .rk-service-cta {
        padding: 20px 16px !important;
    }
}

/* ============================================
/* ============================================
/* ============================================
/* ============================================
/* ============================================
/* ============================================
   SEKCE RECENZÍ – rk-reviews-*
   ============================================ */

.rk-reviews {
    background: var(--rk-bg-light) !important;
    padding: 56px 24px !important;
}

.rk-reviews > .wp-block-group__inner-container {
    max-width: 1100px;
    margin: 0 auto;
}

.rk-reviews-title {
    text-align: center !important;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    color: var(--rk-text-muted) !important;
    margin-bottom: 8px !important;
}

.rk-reviews-heading {
    text-align: center !important;
    font-size: clamp(1.4rem, 2.5vw, 1.9rem) !important;
    font-weight: 700 !important;
    color: var(--rk-text) !important;
    margin-bottom: 6px !important;
    text-transform: none !important;
}

.rk-reviews-sub {
    text-align: center !important;
    font-size: 0.9rem !important;
    color: var(--rk-text-muted) !important;
    margin-bottom: 36px !important;
}

.rk-reviews .wp-block-columns {
    gap: 16px !important;
    align-items: stretch !important;
}

.rk-reviews .wp-block-column {
    flex-basis: 0 !important;
    flex-grow: 1 !important;
}

.rk-review-card {
    background: var(--rk-white) !important;
    border: 1px solid #E2E6EE !important;
    border-radius: var(--rk-radius) !important;
    padding: 22px 20px !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}

.rk-review-stars {
    color: #BA7517 !important;
    font-size: 1rem !important;
    letter-spacing: 2px !important;
    display: block;
}

.rk-review-card p {
    font-size: 0.9rem !important;
    color: var(--rk-text-muted) !important;
    line-height: 1.7 !important;
    font-style: italic !important;
    margin: 0 !important;
    flex-grow: 1;
}

.rk-review-author-wrap {
    padding-top: 12px !important;
    border-top: 1px solid #E2E6EE !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin-top: auto;
}

.rk-review-avatar {
    width: 40px !important;
    height: 40px !important;
    border-radius: 50% !important;
    background: var(--rk-blue) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 0.8rem !important;
    font-weight: 700 !important;
    color: var(--rk-white) !important;
    flex-shrink: 0 !important;
}

.rk-review-name {
    font-size: 0.85rem !important;
    font-weight: 700 !important;
    color: var(--rk-text) !important;
    display: block;
}

.rk-review-role {
    font-size: 0.78rem !important;
    color: var(--rk-text-muted) !important;
    display: block;
}

.rk-reviews-footer {
    margin-top: 24px !important;
    padding: 14px 20px !important;
    background: var(--rk-white) !important;
    border: 1px solid #E2E6EE !important;
    border-radius: var(--rk-radius) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}

.rk-reviews-footer p {
    font-size: 0.85rem !important;
    color: var(--rk-text-muted) !important;
    margin: 0 !important;
}

.rk-reviews-footer strong {
    color: var(--rk-text) !important;
    font-weight: 700 !important;
}

.rk-reviews-footer a {
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    color: var(--rk-blue) !important;
    text-decoration: none !important;
}

@media (max-width: 781px) {
    .rk-reviews {
        padding: 40px 16px !important;
    }

    .rk-reviews .wp-block-columns {
        flex-direction: column !important;
        gap: 12px !important;
    }

    .rk-reviews .wp-block-column {
        width: 100% !important;
        flex-basis: 100% !important;
    }

    .rk-reviews-footer {
        flex-direction: column !important;
        gap: 8px !important;
        text-align: center !important;
    }
}

/* ============================================
   OPRAVA – intro text na stránce služeb
   ============================================ */

/* Odstraní omezení šířky textu v intro sekci */
.rk-services-intro p,
.rk-services-intro .wp-block-paragraph {
    max-width: 100% !important;
    width: 100% !important;
}

/* Pokud je text přímo v Group bloku bez wrapperu */
.rk-services-intro > .wp-block-group__inner-container > p,
.rk-services-intro > .wp-block-group__inner-container > .wp-block-paragraph {
    max-width: 100% !important;
}

/* Twenty Twenty-Five omezuje šířku textu globálně – přebijeme */
.rk-services-intro .wp-block-paragraph {
    max-width: none !important;
}

/* ============================================
   STRÁNKA O NÁS – rk-about-*
   ============================================ */

/* Hlavní text + stats grid */
.rk-about-intro {
    background: var(--rk-white) !important;
    padding: 48px 24px !important;
}

.rk-about-intro > .wp-block-group__inner-container {
    max-width: 1100px;
    margin: 0 auto;
}

.rk-about-intro .wp-block-columns {
    gap: 40px !important;
    align-items: start !important;
}

/* Levý sloupec – text */
.rk-about-text h2 {
    font-size: clamp(1.3rem, 2.5vw, 1.7rem) !important;
    font-weight: 700 !important;
    color: var(--rk-text) !important;
    margin-bottom: 16px !important;
    text-transform: none !important;
    line-height: 1.35 !important;
}

.rk-about-text p {
    font-size: 0.95rem !important;
    color: var(--rk-text-muted) !important;
    line-height: 1.75 !important;
    margin-bottom: 12px !important;
}

/* Pravý sloupec – stats */
.rk-about-stats {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
}

.rk-about-stat {
    background: var(--rk-bg-light) !important;
    border-radius: var(--rk-radius) !important;
    padding: 18px !important;
    text-align: center !important;
}

.rk-about-stat.is-blue {
    background: var(--rk-blue) !important;
}

.rk-about-stat .rk-stat-number {
    font-family: var(--wp--preset--font-family--heading) !important;
    font-size: 1.9rem !important;
    font-weight: 800 !important;
    color: var(--rk-blue) !important;
    display: block;
    line-height: 1.1;
}

.rk-about-stat.is-blue .rk-stat-number {
    color: var(--rk-white) !important;
}

.rk-about-stat .rk-stat-label {
    font-size: 0.7rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    color: var(--rk-text-muted) !important;
    margin-top: 4px !important;
    display: block;
}

.rk-about-stat.is-blue .rk-stat-label {
    color: rgba(255,255,255,0.75) !important;
}

/* ISO sekce */
.rk-about-iso {
    background: var(--rk-bg-light) !important;
    padding: 48px 24px !important;
    border-top: 1px solid #E2E6EE;
}

.rk-about-iso > .wp-block-group__inner-container {
    max-width: 1100px;
    margin: 0 auto;
}

.rk-about-iso .wp-block-columns {
    gap: 40px !important;
    align-items: start !important;
}

.rk-about-iso-badge {
    display: inline-block !important;
    background: var(--rk-blue-light) !important;
    color: #0C447C !important;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    padding: 4px 12px !important;
    border-radius: 20px !important;
    margin-bottom: 12px !important;
}

.rk-about-iso h3 {
    font-size: 1.2rem !important;
    font-weight: 700 !important;
    color: var(--rk-text) !important;
    margin-bottom: 12px !important;
    text-transform: none !important;
}

.rk-about-iso p {
    font-size: 0.9rem !important;
    color: var(--rk-text-muted) !important;
    line-height: 1.7 !important;
}

/* ISO checklisty */
.rk-iso-check {
    display: flex !important;
    gap: 12px !important;
    align-items: flex-start !important;
    margin-bottom: 10px !important;
}

.rk-iso-check-icon {
    width: 20px !important;
    height: 20px !important;
    border-radius: 50% !important;
    background: var(--rk-blue) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    margin-top: 1px !important;
}

.rk-iso-check-icon i {
    font-size: 0.6rem !important;
    color: white !important;
}

.rk-iso-check p {
    margin: 0 !important;
    font-size: 0.88rem !important;
    color: var(--rk-text-muted) !important;
    line-height: 1.5 !important;
}

.rk-iso-check strong {
    color: var(--rk-text) !important;
}

/* Citace / highlight */
.rk-about-quote {
    background: var(--rk-blue) !important;
    padding: 48px 24px !important;
    text-align: center !important;
}

.rk-about-quote > .wp-block-group__inner-container {
    max-width: 720px;
    margin: 0 auto;
}

.rk-about-quote p {
    font-size: clamp(1rem, 1.5vw, 1.15rem) !important;
    color: var(--rk-white) !important;
    line-height: 1.75 !important;
    font-style: italic !important;
    margin: 0 !important;
}

.rk-about-quote .rk-quote-label {
    font-size: 0.72rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    color: rgba(255,255,255,0.6) !important;
    margin-bottom: 14px !important;
    display: block;
    font-style: normal !important;
}

/* Osobní tón – sekce před týmem */
.rk-about-personal {
    background: var(--rk-white) !important;
    padding: 40px 24px !important;
    border-top: 1px solid #E2E6EE;
    text-align: center !important;
}

.rk-about-personal > .wp-block-group__inner-container {
    max-width: 680px;
    margin: 0 auto;
}

.rk-about-personal p {
    font-size: 0.95rem !important;
    color: var(--rk-text-muted) !important;
    line-height: 1.75 !important;
    margin-bottom: 12px !important;
}

/* Tým */
.rk-about-team {
    background: var(--rk-bg-light) !important;
    padding: 48px 24px !important;
    border-top: 1px solid #E2E6EE;
}

.rk-about-team > .wp-block-group__inner-container {
    max-width: 700px;
    margin: 0 auto;
    text-align: center;
}

.rk-about-team-title {
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    color: var(--rk-text-muted) !important;
    margin-bottom: 8px !important;
    text-align: center !important;
}

.rk-about-team h2 {
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    color: var(--rk-text) !important;
    margin-bottom: 28px !important;
    text-transform: none !important;
    text-align: center !important;
}

.rk-about-team .wp-block-columns {
    gap: 16px !important;
    justify-content: center !important;
}

/* Karta člena týmu */
.rk-team-card {
    background: var(--rk-white) !important;
    border: 1px solid #E2E6EE !important;
    border-radius: var(--rk-radius) !important;
    padding: 24px 20px !important;
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 8px !important;
}

.rk-team-avatar {
    width: 60px !important;
    height: 60px !important;
    border-radius: 50% !important;
    background: var(--rk-blue) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    color: var(--rk-white) !important;
    font-family: var(--wp--preset--font-family--heading) !important;
    margin-bottom: 4px !important;
}

.rk-team-card h4 {
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    color: var(--rk-text) !important;
    margin: 0 !important;
}

.rk-team-card .rk-team-role {
    font-size: 0.8rem !important;
    color: var(--rk-text-muted) !important;
}

.rk-team-card .rk-team-contact {
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    color: var(--rk-blue) !important;
    text-decoration: none !important;
}

/* Responzivita */
@media (max-width: 781px) {
    .rk-about-intro,
    .rk-about-iso,
    .rk-about-quote,
    .rk-about-personal,
    .rk-about-team {
        padding: 36px 16px !important;
    }

    .rk-about-intro .wp-block-columns,
    .rk-about-iso .wp-block-columns,
    .rk-about-team .wp-block-columns {
        flex-direction: column !important;
    }

    .rk-about-stats {
        grid-template-columns: 1fr 1fr !important;
    }
}

/* ============================================
   O NÁS – stats grid oprava (kompaktní)
   ============================================ */

.rk-about-stats {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 0 !important;
    border: 1px solid #E2E6EE !important;
    border-radius: var(--rk-radius) !important;
    overflow: hidden !important;
    align-self: center !important;
}

.rk-about-stat {
    background: var(--rk-bg-light) !important;
    border-radius: 0 !important;
    padding: 20px 16px !important;
    text-align: center !important;
    border-right: 1px solid #E2E6EE !important;
    border-bottom: 1px solid #E2E6EE !important;
}

.rk-about-stat:nth-child(2),
.rk-about-stat:nth-child(4) {
    border-right: none !important;
}

.rk-about-stat:nth-child(3),
.rk-about-stat:nth-child(4) {
    border-bottom: none !important;
}

.rk-about-stat.is-blue {
    background: var(--rk-blue) !important;
}

.rk-about-stat .rk-stat-number {
    font-size: 1.7rem !important;
}

/* ============================================
   O NÁS – stats grid oprava v2
   ============================================ */

/* Wrapper – zaoblené rohy zpět */
.rk-about-stats {
    border-radius: var(--rk-radius) !important;
    overflow: hidden !important;
    border: 1px solid #E2E6EE !important;
    gap: 0 !important;
}

/* Každý box stejná šířka */
.rk-about-stats .rk-about-stat {
    width: 100% !important;
    min-width: 0 !important;
    flex: 1 1 0 !important;
}

/* Gutenberg obaluje Custom HTML do wp-block-html – cílíme i na něj */
.rk-about-stats > .wp-block-html,
.rk-about-stats > div {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    display: flex !important;
}

.rk-about-stats > .wp-block-html .rk-about-stat,
.rk-about-stats > div .rk-about-stat {
    width: 100% !important;
    flex: 1 !important;
}

/* ============================================
   O NÁS – stats grid oprava v3 – finální
   ============================================ */

.rk-about-stats {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    border: none !important;
    border-radius: 0 !important;
    overflow: visible !important;
    background: transparent !important;
}

.rk-about-stat {
    border-radius: var(--rk-radius) !important;
    padding: 20px 16px !important;
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    background: var(--rk-bg-light) !important;
    border: 1px solid #E2E6EE !important;
}

.rk-about-stat.is-blue {
    background: var(--rk-blue) !important;
    border-color: var(--rk-blue) !important;
}

.rk-about-stat .rk-stat-number {
    display: block !important;
    font-family: var(--wp--preset--font-family--heading) !important;
    font-size: 1.8rem !important;
    font-weight: 800 !important;
    color: var(--rk-blue) !important;
    line-height: 1.1 !important;
}

.rk-about-stat.is-blue .rk-stat-number {
    color: #ffffff !important;
}

.rk-about-stat .rk-stat-label {
    display: block !important;
    font-size: 0.68rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    color: var(--rk-text-muted) !important;
    margin-top: 2px !important;
}

.rk-about-stat.is-blue .rk-stat-label {
    color: rgba(255,255,255,0.8) !important;
}

/* O NÁS – stats finální doladění */
.rk-about-stat {
    min-height: 100px !important;
    border-radius: 10px !important;
    padding: 24px 16px !important;
}

/* O NÁS – stats grid fix přetékání */
.rk-about-stats {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
}

.rk-about-stat {
    width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
    word-break: break-word !important;
}

/* O NÁS – stats grid fix v4 */
.rk-about-stats {
    display: grid !important;
    grid-template-columns: calc(50% - 5px) calc(50% - 5px) !important;
    gap: 10px !important;
    width: 100% !important;
}

.rk-about-stat {
    width: auto !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* O NÁS – drobné opravy */

/* Menší mezera pod intro sekcí */
.rk-about-intro {
    padding-bottom: 32px !important;
}

/* Osobní text – centrování a správné styly */
.rk-about-personal {
    text-align: center !important;
}

.rk-about-personal p {
    max-width: 640px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: 14px !important;
}

.rk-about-personal strong {
    color: var(--rk-text) !important;
    font-weight: 700 !important;
}

/* O NÁS – osobní text centrování */
.rk-about-personal {
    text-align: center !important;
}

.rk-about-personal p,
.rk-about-personal .wp-block-paragraph {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 640px !important;
}

/* ============================================
   PODSTRÁNKY SLUŽEB – rk-subservice-*
   Použitelné pro všechny 4 podstránky
   ============================================ */

/* Úvodní text */
.rk-subservice-intro {
    background: var(--rk-white) !important;
    padding: 32px 24px !important;
    border-bottom: 1px solid #E2E6EE;
    text-align: center !important;
}

.rk-subservice-intro > .wp-block-group__inner-container {
    max-width: 720px;
    margin: 0 auto;
}

.rk-subservice-intro p {
    font-size: 1rem !important;
    color: var(--rk-text-muted) !important;
    line-height: 1.75 !important;
    margin: 0 auto !important;
    max-width: 100% !important;
}

/* Grid oblastí */
.rk-subservice-grid {
    background: var(--rk-bg-light) !important;
    padding: 36px 24px !important;
}

.rk-subservice-grid > .wp-block-group__inner-container {
    max-width: 1100px;
    margin: 0 auto;
}

.rk-subservice-grid .wp-block-columns {
    gap: 12px !important;
    align-items: stretch !important;
    margin-bottom: 12px !important;
}

.rk-subservice-grid .wp-block-columns:last-of-type {
    margin-bottom: 0 !important;
}

.rk-subservice-grid .wp-block-column {
    flex-basis: 0 !important;
    flex-grow: 1 !important;
}

/* Karta oblasti – třída: rk-subservice-card */
.rk-subservice-card {
    background: var(--rk-white) !important;
    border: 1px solid #E2E6EE !important;
    border-left: 4px solid var(--rk-blue) !important;
    border-radius: var(--rk-radius) !important;
    padding: 20px 18px !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}

/* Nadpis karty */
.rk-subservice-card h3,
.rk-subservice-card h4 {
    font-size: 1rem !important;
    font-weight: 700 !important;
    color: var(--rk-text) !important;
    margin: 0 0 6px !important;
    line-height: 1.3 !important;
}

/* Checklist položky */
.rk-subservice-item {
    display: flex !important;
    gap: 8px !important;
    align-items: flex-start !important;
    margin-bottom: 5px !important;
}

.rk-subservice-item:last-child {
    margin-bottom: 0 !important;
}

.rk-subservice-check {
    width: 17px !important;
    height: 17px !important;
    border-radius: 50% !important;
    background: var(--rk-blue) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    margin-top: 2px !important;
}

.rk-subservice-check i {
    font-size: 0.55rem !important;
    color: #fff !important;
}

.rk-subservice-item p,
.rk-subservice-item span {
    font-size: 0.88rem !important;
    color: var(--rk-text-muted) !important;
    line-height: 1.5 !important;
    margin: 0 !important;
}

/* CTA lišta */
.rk-subservice-cta {
    background: var(--rk-blue) !important;
    padding: 20px 24px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    flex-wrap: wrap !important;
}

.rk-subservice-cta p {
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    color: var(--rk-white) !important;
    margin: 0 !important;
}

.rk-subservice-cta .wp-block-button__link {
    background: rgba(255,255,255,0.15) !important;
    border: 1.5px solid rgba(255,255,255,0.4) !important;
    color: var(--rk-white) !important;
    border-radius: var(--rk-radius-sm) !important;
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    padding: 10px 22px !important;
    white-space: nowrap !important;
    transition: background 0.2s !important;
}

.rk-subservice-cta .wp-block-button__link:hover {
    background: rgba(255,255,255,0.25) !important;
}

/* Responzivita */
@media (max-width: 781px) {
    .rk-subservice-grid {
        padding: 24px 16px !important;
    }

    .rk-subservice-grid .wp-block-columns {
        flex-direction: column !important;
        gap: 10px !important;
    }

    .rk-subservice-grid .wp-block-column {
        width: 100% !important;
        flex-basis: 100% !important;
    }

    .rk-subservice-cta {
        flex-direction: column !important;
        text-align: center !important;
    }
}

/* Subservice karty – menší mezery mezi položkami */
.rk-subservice-card .rk-subservice-item {
    margin-bottom: 2px !important;
}

.rk-subservice-card p,
.rk-subservice-card .wp-block-paragraph {
    margin-bottom: 0 !important;
    margin-top: 0 !important;
}

/* Přebití WordPress výchozího block spacingu v kartách */
.rk-subservice-card :where(.is-layout-constrained) > *,
.rk-subservice-card > * {
    margin-block-start: 0 !important;
    margin-block-end: 0 !important;
}

.rk-pain-card :where(.is-layout-constrained) > *,
.rk-pain-card > * {
    margin-block-start: 0 !important;
    margin-block-end: 0 !important;
}

.rk-service-card :where(.is-layout-constrained) > *,
.rk-service-card > * {
    margin-block-start: 0 !important;
    margin-block-end: 0 !important;
}

.rk-review-card :where(.is-layout-constrained) > *,
.rk-review-card > * {
    margin-block-start: 0 !important;
    margin-block-end: 0 !important;
}

.rk-team-card :where(.is-layout-constrained) > *,
.rk-team-card > * {
    margin-block-start: 0 !important;
    margin-block-end: 0 !important;
}

/* ============================================
   rk-service-cta – styly pro zvýrazněnou kartu
   ============================================ */

/* Checkmarky a text na modré kartě */
.rk-service-cta .rk-subservice-check {
    background: rgba(255,255,255,0.3) !important;
    border: 1px solid rgba(255,255,255,0.5) !important;
}

.rk-service-cta .rk-subservice-check i {
    color: #ffffff !important;
}

.rk-service-cta .rk-subservice-item p,
.rk-service-cta .rk-subservice-item span {
    color: rgba(255,255,255,0.9) !important;
}

.rk-service-cta h3,
.rk-service-cta h4 {
    color: #ffffff !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    margin-bottom: 12px !important;
}

/* Odstranění velkých mezer */
.rk-service-cta :where(.is-layout-constrained) > *,
.rk-service-cta > * {
    margin-block-start: 0 !important;
    margin-block-end: 0 !important;
}

.rk-service-cta .rk-subservice-item {
    margin-bottom: 4px !important;
}

/* ============================================
   STRÁNKA KONTAKT – rk-contact-*
   ============================================ */

/* Sekce formulář + info */
.rk-contact-top {
    background: var(--rk-white) !important;
    padding: 48px 24px !important;
}

.rk-contact-top > .wp-block-group__inner-container {
    max-width: 1100px;
    margin: 0 auto;
}

.rk-contact-top .wp-block-columns {
    gap: 40px !important;
    align-items: start !important;
}

/* Levý sloupec – formulář */
.rk-contact-form h3,
.rk-contact-form h2 {
    font-size: 1.2rem !important;
    font-weight: 700 !important;
    color: var(--rk-text) !important;
    margin-bottom: 20px !important;
    text-transform: none !important;
}

/* Contact Form 7 styly */
.rk-contact-form .wpcf7-form {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}

.rk-contact-form .wpcf7-form p {
    margin: 0 !important;
}

.rk-contact-form input[type="text"],
.rk-contact-form input[type="email"],
.rk-contact-form input[type="tel"],
.rk-contact-form textarea {
    width: 100% !important;
    padding: 11px 14px !important;
    border: 1px solid #D8DEE9 !important;
    border-radius: var(--rk-radius-sm) !important;
    font-size: 0.9rem !important;
    font-family: var(--wp--preset--font-family--body) !important;
    color: var(--rk-text) !important;
    background: var(--rk-bg-light) !important;
    transition: border-color 0.2s !important;
    box-sizing: border-box !important;
}

.rk-contact-form input:focus,
.rk-contact-form textarea:focus {
    outline: none !important;
    border-color: var(--rk-blue) !important;
    background: var(--rk-white) !important;
}

.rk-contact-form textarea {
    min-height: 120px !important;
    resize: vertical !important;
}

.rk-contact-form input[type="submit"],
.rk-contact-form .wpcf7-submit {
    background: var(--rk-blue) !important;
    color: var(--rk-white) !important;
    border: none !important;
    border-radius: var(--rk-radius-sm) !important;
    padding: 12px 28px !important;
    font-size: 0.85rem !important;
    font-weight: 700 !important;
    font-family: var(--wp--preset--font-family--heading) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    cursor: pointer !important;
    transition: background 0.2s !important;
    width: 100% !important;
}

.rk-contact-form input[type="submit"]:hover,
.rk-contact-form .wpcf7-submit:hover {
    background: var(--rk-blue-dark) !important;
}

/* Pravý sloupec – kontaktní info */
.rk-contact-info {
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
}

.rk-contact-info-block {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
}

.rk-contact-info-label {
    font-size: 0.72rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    color: var(--rk-text-muted) !important;
    margin-bottom: 6px !important;
    display: block;
}

.rk-contact-info-block p {
    font-size: 0.9rem !important;
    color: var(--rk-text) !important;
    margin: 0 !important;
    line-height: 1.6 !important;
}

.rk-contact-info-block a {
    color: var(--rk-blue) !important;
    text-decoration: none !important;
    font-size: 0.9rem !important;
}

.rk-contact-info-block a:hover {
    text-decoration: underline !important;
}

/* Úřední hodiny */
.rk-hours-row {
    display: flex !important;
    justify-content: space-between !important;
    font-size: 0.88rem !important;
    padding: 3px 0 !important;
    border-bottom: 0.5px solid #E2E6EE !important;
}

.rk-hours-row:last-of-type {
    border-bottom: none !important;
}

.rk-hours-row span:first-child {
    color: var(--rk-text) !important;
    font-weight: 500 !important;
}

.rk-hours-row span:last-child {
    color: var(--rk-text-muted) !important;
}

.rk-hours-note {
    font-size: 0.78rem !important;
    color: var(--rk-text-muted) !important;
    font-style: italic !important;
    margin-top: 6px !important;
    display: block;
}

/* Havarijní linka */
.rk-emergency-phone {
    font-size: 1.6rem !important;
    font-weight: 800 !important;
    color: var(--rk-blue) !important;
    font-family: var(--wp--preset--font-family--heading) !important;
    display: block;
    text-decoration: none !important;
}

.rk-emergency-note {
    font-size: 0.78rem !important;
    color: var(--rk-text-muted) !important;
    display: block;
    margin-top: 2px !important;
}

/* Mapa */
.rk-contact-map {
    background: var(--rk-bg-light) !important;
    border-top: 1px solid #E2E6EE !important;
    border-bottom: 1px solid #E2E6EE !important;
}

.rk-contact-map iframe {
    width: 100% !important;
    height: 380px !important;
    display: block !important;
    border: none !important;
}

/* Responzivita */
@media (max-width: 781px) {
    .rk-contact-top {
        padding: 32px 16px !important;
    }

    .rk-contact-top .wp-block-columns {
        flex-direction: column !important;
        gap: 32px !important;
    }
}

/* ============================================
   CONTACT FORM 7 – vlastní styly
   ============================================ */

/* Wrapper každého pole */
.rk-cf7-field {
    display: flex !important;
    flex-direction: column !important;
    gap: 5px !important;
    margin-bottom: 14px !important;
}

.rk-cf7-field:last-of-type {
    margin-bottom: 0 !important;
}

/* Label */
.rk-cf7-field label {
    font-size: 0.82rem !important;
    font-weight: 600 !important;
    color: var(--rk-text) !important;
    display: block !important;
}

/* Inputy a textarea */
.rk-cf7-field input[type="text"],
.rk-cf7-field input[type="email"],
.rk-cf7-field input[type="tel"],
.rk-cf7-field textarea {
    width: 100% !important;
    padding: 11px 14px !important;
    border: 1.5px solid #D8DEE9 !important;
    border-radius: var(--rk-radius-sm) !important;
    font-size: 0.9rem !important;
    font-family: var(--wp--preset--font-family--body) !important;
    color: var(--rk-text) !important;
    background: var(--rk-white) !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
    box-sizing: border-box !important;
    appearance: none !important;
}

.rk-cf7-field input:focus,
.rk-cf7-field textarea:focus {
    outline: none !important;
    border-color: var(--rk-blue) !important;
    box-shadow: 0 0 0 3px rgba(27, 58, 140, 0.1) !important;
}

/* Placeholder */
.rk-cf7-field input::placeholder,
.rk-cf7-field textarea::placeholder {
    color: #B4B2A9 !important;
    font-size: 0.88rem !important;
}

/* Textarea */
.rk-cf7-field textarea {
    min-height: 120px !important;
    resize: vertical !important;
    line-height: 1.6 !important;
}

/* Chybové hlášení */
.rk-cf7-field .wpcf7-not-valid-tip {
    font-size: 0.78rem !important;
    color: #E24B4A !important;
    margin-top: 3px !important;
}

.rk-cf7-field input.wpcf7-not-valid,
.rk-cf7-field textarea.wpcf7-not-valid {
    border-color: #E24B4A !important;
}

/* Submit tlačítko */
.rk-contact-form .wpcf7-submit {
    width: 100% !important;
    padding: 13px 28px !important;
    background: var(--rk-blue) !important;
    color: var(--rk-white) !important;
    border: none !important;
    border-radius: var(--rk-radius-sm) !important;
    font-size: 0.88rem !important;
    font-weight: 700 !important;
    font-family: var(--wp--preset--font-family--heading) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.07em !important;
    cursor: pointer !important;
    transition: background 0.2s !important;
    margin-top: 6px !important;
}

.rk-contact-form .wpcf7-submit:hover {
    background: var(--rk-blue-dark) !important;
}

.rk-contact-form .wpcf7-submit:disabled {
    opacity: 0.7 !important;
    cursor: not-allowed !important;
}

/* Úspěšné odeslání */
.rk-contact-form .wpcf7-response-output {
    margin-top: 12px !important;
    padding: 10px 14px !important;
    border-radius: var(--rk-radius-sm) !important;
    font-size: 0.88rem !important;
    border: none !important;
}

.rk-contact-form .wpcf7-mail-sent-ok {
    background: #EAF3DE !important;
    color: #27500A !important;
}

.rk-contact-form .wpcf7-mail-sent-ng,
.rk-contact-form .wpcf7-spam-blocked {
    background: #FCEBEB !important;
    color: #791F1F !important;
}

/* CF7 – kompaktnější mezery */
.rk-contact-form .wpcf7-form :where(.is-layout-constrained) > *,
.rk-contact-form .wpcf7-form > *,
.rk-cf7-field :where(.is-layout-constrained) > * {
    margin-block-start: 0 !important;
    margin-block-end: 0 !important;
}

.rk-cf7-field {
    margin-bottom: 10px !important;
}

.rk-cf7-field input[type="text"],
.rk-cf7-field input[type="email"],
.rk-cf7-field input[type="tel"] {
    padding: 9px 12px !important;
}

.rk-cf7-field textarea {
    min-height: 100px !important;
    padding: 9px 12px !important;
}

/* Tlačítko odeslat */
.wpcf7-submit {
    padding: 10px 24px !important;
    width: auto !important;
}

/* CF7 – agresivní reset mezer */
.rk-contact-form .wpcf7 p,
.rk-contact-form .wpcf7 br,
.rk-contact-form .wpcf7-form p {
    display: none !important;
}

.rk-contact-form .wpcf7 p:has(input),
.rk-contact-form .wpcf7 p:has(textarea),
.rk-contact-form .wpcf7 p:has([type="submit"]) {
    display: block !important;
    margin: 0 0 10px 0 !important;
    padding: 0 !important;
}

.rk-contact-form .wpcf7-form-control-wrap {
    display: block !important;
    margin-top: 4px !important;
}

.rk-contact-form .wpcf7 textarea {
    min-height: 100px !important;
    max-height: 200px !important;
}

/* CF7 – přesný fix podle skutečné HTML struktury */
.rk-cf7-field p {
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
}

.rk-cf7-field p label {
    font-size: 0.82rem !important;
    font-weight: 600 !important;
    color: var(--rk-text) !important;
}

.rk-cf7-field p br {
    display: none !important;
}

.rk-cf7-field .wpcf7-form-control-wrap {
    display: block !important;
}

.rk-cf7-field textarea.wpcf7-textarea {
    min-height: 100px !important;
    max-height: 160px !important;
    rows: 4 !important;
}

/* ============================================
   KONTAKT – sekce týmu rk-contact-team
   ============================================ */

.rk-contact-team {
    background: var(--rk-white) !important;
    padding: 48px 24px !important;
    border-top: 1px solid #E2E6EE;
}

.rk-contact-team > .wp-block-group__inner-container {
    max-width: 1100px;
    margin: 0 auto;
}

/* Hlavička sekce */
.rk-contact-team-title {
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    color: var(--rk-text-muted) !important;
    text-align: center !important;
    margin-bottom: 8px !important;
    display: block;
}

.rk-contact-team h2 {
    font-size: clamp(1.3rem, 2vw, 1.7rem) !important;
    font-weight: 700 !important;
    color: var(--rk-text) !important;
    text-align: center !important;
    text-transform: none !important;
    margin-bottom: 36px !important;
}

/* Nadpis úseku */
.rk-team-section-label {
    font-size: 0.72rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    color: var(--rk-text-muted) !important;
    padding-bottom: 8px !important;
    border-bottom: 1px solid #E2E6EE !important;
    margin-bottom: 12px !important;
    display: block;
}

/* Grid osob */
.rk-team-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin-bottom: 28px !important;
}

.rk-team-grid:last-child {
    margin-bottom: 0 !important;
}

/* Karta osoby */
.rk-team-person {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 12px 14px !important;
    background: var(--rk-bg-light) !important;
    border-radius: var(--rk-radius) !important;
    border: 1px solid #E2E6EE !important;
}

.rk-team-person-avatar {
    width: 42px !important;
    height: 42px !important;
    border-radius: 50% !important;
    background: var(--rk-blue) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 0.82rem !important;
    font-weight: 700 !important;
    color: var(--rk-white) !important;
    font-family: var(--wp--preset--font-family--heading) !important;
    flex-shrink: 0 !important;
}

.rk-team-person-name {
    font-size: 0.88rem !important;
    font-weight: 600 !important;
    color: var(--rk-text) !important;
    display: block;
    margin-bottom: 2px !important;
}

.rk-team-person-info {
    font-size: 0.78rem !important;
    color: var(--rk-text-muted) !important;
    display: block;
    line-height: 1.5 !important;
}

.rk-team-person-info a {
    color: var(--rk-blue) !important;
    text-decoration: none !important;
}

.rk-team-person-info a:hover {
    text-decoration: underline !important;
}

/* Responzivita */
@media (max-width: 781px) {
    .rk-contact-team {
        padding: 36px 16px !important;
    }

    .rk-team-grid {
        grid-template-columns: 1fr !important;
    }
}

/* ============================================
   FOOTER – rk-footer
   ============================================ */

.rk-footer {
    background: #0F2660 !important;
    padding: 48px 24px 36px !important;
}

.rk-footer > .wp-block-group__inner-container {
    max-width: 1100px;
    margin: 0 auto;
}

.rk-footer .wp-block-columns {
    gap: 40px !important;
    align-items: start !important;
}

/* Sloupec 1 – širší */
.rk-footer .wp-block-column:first-child {
    flex-basis: 40% !important;
}

/* Název firmy */
.rk-footer-name {
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    margin-bottom: 14px !important;
    display: block;
    font-family: var(--wp--preset--font-family--heading) !important;
}

/* Kontaktní údaje */
.rk-footer-contact {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    margin-bottom: 14px !important;
}

.rk-footer-contact p,
.rk-footer-contact span {
    font-size: 0.85rem !important;
    color: rgba(255,255,255,0.7) !important;
    margin: 0 !important;
    line-height: 1.6 !important;
}

.rk-footer-contact a {
    color: rgba(255,255,255,0.7) !important;
    text-decoration: none !important;
}

.rk-footer-contact a:hover {
    color: #ffffff !important;
}

/* Havarijní linka */
.rk-footer-emergency {
    padding-top: 14px !important;
    border-top: 1px solid rgba(255,255,255,0.12) !important;
    margin-top: 14px !important;
}

.rk-footer-emergency-label {
    font-size: 0.7rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    color: rgba(255,255,255,0.5) !important;
    display: block;
    margin-bottom: 4px !important;
}

.rk-footer-emergency-phone {
    font-size: 1.3rem !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    font-family: var(--wp--preset--font-family--heading) !important;
    text-decoration: none !important;
    display: block;
}

/* Nadpisy sloupců */
.rk-footer-col-title {
    font-size: 0.7rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    color: rgba(255,255,255,0.5) !important;
    margin-bottom: 14px !important;
    display: block;
}

/* Navigační odkazy */
.rk-footer-nav {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
}

.rk-footer-nav a {
    font-size: 0.88rem !important;
    color: rgba(255,255,255,0.8) !important;
    text-decoration: none !important;
    transition: color 0.2s !important;
}

.rk-footer-nav a:hover {
    color: #ffffff !important;
}

/* Spodní lišta */
.rk-footer-bar {
    background: #0A1E4A !important;
    padding: 14px 24px !important;
}

.rk-footer-bar > .wp-block-group__inner-container {
    max-width: 1100px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.rk-footer-bar p {
    font-size: 0.78rem !important;
    color: rgba(255,255,255,0.4) !important;
    margin: 0 !important;
}

/* Responzivita */
@media (max-width: 781px) {
    .rk-footer {
        padding: 36px 16px 28px !important;
    }

    .rk-footer .wp-block-columns {
        flex-direction: column !important;
        gap: 28px !important;
    }

    .rk-footer .wp-block-column:first-child {
        flex-basis: 100% !important;
    }

    .rk-footer-bar > .wp-block-group__inner-container {
        flex-direction: column !important;
        gap: 6px !important;
        text-align: center !important;
    }
}

/* Footer – Navigation bloky */
.rk-footer .wp-block-navigation,
.rk-footer .wp-block-navigation__container {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    align-items: flex-start !important;
}

.rk-footer .wp-block-navigation a,
.rk-footer .wp-block-navigation-item__content {
    font-size: 0.88rem !important;
    color: rgba(255,255,255,0.8) !important;
    text-decoration: none !important;
    transition: color 0.2s !important;
    padding: 0 !important;
}

.rk-footer .wp-block-navigation a:hover {
    color: #ffffff !important;
}

/* Skrýt hamburger menu ve footeru */
.rk-footer .wp-block-navigation__responsive-container-open {
    display: none !important;
}

.rk-footer .wp-block-navigation__responsive-container {
    display: block !important;
    position: static !important;
    background: transparent !important;
}

/* ============================================
   HOMEPAGE – CTA sekce před footerem
   ============================================ */

.rk-cta-section {
    background: var(--rk-blue) !important;
    padding: 64px 24px !important;
    text-align: center !important;
}

.rk-cta-section > .wp-block-group__inner-container {
    max-width: 640px;
    margin: 0 auto;
}

.rk-cta-label {
    font-size: 0.72rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    color: rgba(255,255,255,0.6) !important;
    display: block;
    margin-bottom: 12px !important;
}

.rk-cta-section h2 {
    font-size: clamp(1.4rem, 2.5vw, 2rem) !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    line-height: 1.3 !important;
    margin-bottom: 14px !important;
    text-transform: none !important;
}

.rk-cta-section p {
    font-size: 0.95rem !important;
    color: rgba(255,255,255,0.78) !important;
    line-height: 1.75 !important;
    margin-bottom: 28px !important;
    max-width: 480px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Tlačítka */
.rk-cta-section .wp-block-buttons {
    justify-content: center !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
}

/* Primární – bílé */
.rk-cta-section .wp-block-button.is-style-fill .wp-block-button__link {
    background: var(--rk-white) !important;
    color: var(--rk-blue) !important;
    border: 2px solid var(--rk-white) !important;
    font-family: var(--wp--preset--font-family--heading) !important;
    font-weight: 700 !important;
    font-size: 0.88rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    padding: 13px 28px !important;
    border-radius: var(--rk-radius-sm) !important;
    transition: background 0.2s, color 0.2s !important;
}

.rk-cta-section .wp-block-button.is-style-fill .wp-block-button__link:hover {
    background: var(--rk-blue-light) !important;
    border-color: var(--rk-blue-light) !important;
}

/* Sekundární – outline */
.rk-cta-section .wp-block-button.is-style-outline .wp-block-button__link {
    background: transparent !important;
    color: var(--rk-white) !important;
    border: 2px solid rgba(255,255,255,0.45) !important;
    font-weight: 600 !important;
    font-size: 0.88rem !important;
    padding: 13px 28px !important;
    border-radius: var(--rk-radius-sm) !important;
    transition: border-color 0.2s, background 0.2s !important;
}

.rk-cta-section .wp-block-button.is-style-outline .wp-block-button__link:hover {
    border-color: var(--rk-white) !important;
    background: rgba(255,255,255,0.08) !important;
}

@media (max-width: 781px) {
    .rk-cta-section {
        padding: 48px 16px !important;
    }

    .rk-cta-section .wp-block-buttons {
        flex-direction: column !important;
        align-items: center !important;
    }
}

/* CTA sekce – oprava primárního tlačítka */
.rk-cta-section .wp-block-button__link,
.rk-cta-section .wp-block-button .wp-block-button__link {
    background: var(--rk-white) !important;
    color: var(--rk-blue) !important;
    border: 2px solid var(--rk-white) !important;
}

.rk-cta-section .wp-block-button__link:hover {
    background: var(--rk-blue-light) !important;
    color: var(--rk-blue) !important;
}

/* ============================================
   HOMEPAGE – Jak to funguje
   ============================================ */

.rk-how-it-works {
    background: var(--rk-white) !important;
    padding: 64px 24px !important;
}

.rk-how-it-works > .wp-block-group__inner-container {
    max-width: 640px;
    margin: 0 auto;
}

.rk-how-title {
    font-size: 0.72rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    color: var(--rk-blue) !important;
    text-align: center !important;
    margin-bottom: 8px !important;
    display: block;
}

.rk-how-it-works h2 {
    font-size: clamp(1.4rem, 2.5vw, 1.9rem) !important;
    font-weight: 700 !important;
    color: var(--rk-text) !important;
    text-align: center !important;
    text-transform: none !important;
    margin-bottom: 48px !important;
    line-height: 1.3 !important;
}

/* Wrapper kroků */
.rk-steps {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
}

/* Vertikální linka vlevo */
.rk-steps::before {
    content: '' !important;
    position: absolute !important;
    left: 27px !important;
    top: 28px !important;
    bottom: 28px !important;
    width: 2px !important;
    background: #E2E6EE !important;
    z-index: 0 !important;
}

/* Jeden krok */
.rk-step {
    display: flex !important;
    gap: 20px !important;
    align-items: flex-start !important;
    margin-bottom: 32px !important;
    position: relative !important;
    z-index: 1 !important;
}

.rk-step:last-child {
    margin-bottom: 0 !important;
}

/* Číslo kroku */
.rk-step-number {
    width: 56px !important;
    height: 56px !important;
    border-radius: 50% !important;
    background: var(--rk-blue) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    font-size: 1.2rem !important;
    font-weight: 800 !important;
    color: var(--rk-white) !important;
    font-family: var(--wp--preset--font-family--heading) !important;
}

/* Text kroku */
.rk-step-content {
    padding-top: 10px !important;
    flex: 1 !important;
}

.rk-step-content h3,
.rk-step-content h4 {
    font-size: 1rem !important;
    font-weight: 700 !important;
    color: var(--rk-text) !important;
    margin-bottom: 5px !important;
    text-transform: none !important;
}

.rk-step-content p {
    font-size: 0.9rem !important;
    color: var(--rk-text-muted) !important;
    line-height: 1.65 !important;
    margin: 0 !important;
}

@media (max-width: 781px) {
    .rk-how-it-works {
        padding: 48px 16px !important;
    }
}

/* Jak to funguje – text zarovnaný nahoru */
.rk-step {
    align-items: flex-start !important;
}

.rk-step-content {
    padding-top: 4px !important;
}

/* Jak to funguje – finální fix zarovnání */
.rk-step {
    align-items: flex-start !important;
}

.rk-step-number {
    margin-top: 0 !important;
    flex-shrink: 0 !important;
}

.rk-step-content {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

.rk-step-content h3,
.rk-step-content h4 {
    margin-top: 0 !important;
    padding-top: 0 !important;
    line-height: 56px !important;
    margin-bottom: 4px !important;
}

/* Recenze – zarovnání doleva */
.rk-review-card {
    text-align: left !important;
}

.rk-review-stars {
    text-align: left !important;
}

.rk-review-card p {
    text-align: left !important;
}

/* ============================================
   STRÁNKA FORMULÁŘE KE STAŽENÍ
   ============================================ */

.rk-downloads {
    background: var(--rk-white) !important;
    padding: 48px 24px !important;
}

.rk-downloads > .wp-block-group__inner-container {
    max-width: 900px;
    margin: 0 auto;
}

/* Skupina dokumentů */
.rk-download-group {
    margin-bottom: 40px !important;
}

.rk-download-group:last-child {
    margin-bottom: 0 !important;
}

/* Nadpis skupiny */
.rk-download-group-title {
    font-size: 0.72rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    color: var(--rk-text-muted) !important;
    padding-bottom: 10px !important;
    border-bottom: 2px solid var(--rk-blue) !important;
    margin-bottom: 12px !important;
    display: block;
}

/* Jednotlivý soubor */
.rk-download-item {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    padding: 12px 16px !important;
    border-bottom: 1px solid #E2E6EE !important;
    transition: background 0.15s !important;
}

.rk-download-item:hover {
    background: var(--rk-bg-light) !important;
    border-radius: var(--rk-radius-sm) !important;
}

.rk-download-item:last-child {
    border-bottom: none !important;
}

/* Levá část – ikona + název */
.rk-download-left {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    flex: 1 !important;
    min-width: 0 !important;
}

/* Ikona formátu */
.rk-download-icon {
    width: 36px !important;
    height: 36px !important;
    border-radius: var(--rk-radius-sm) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 0.65rem !important;
    font-weight: 700 !important;
    flex-shrink: 0 !important;
    font-family: var(--wp--preset--font-family--heading) !important;
    letter-spacing: 0.02em !important;
}

.rk-download-icon.pdf {
    background: #FDECEA !important;
    color: #C0392B !important;
}

.rk-download-icon.docx {
    background: #E8F0FE !important;
    color: #1A56DB !important;
}

.rk-download-icon.xlsx {
    background: #E6F4EA !important;
    color: #1E7E34 !important;
}

/* Název souboru */
.rk-download-name {
    font-size: 0.92rem !important;
    color: var(--rk-text) !important;
    font-weight: 500 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

/* Tlačítko stažení */
.rk-download-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 7px 14px !important;
    background: var(--rk-blue-light) !important;
    color: var(--rk-blue) !important;
    border-radius: var(--rk-radius-sm) !important;
    font-size: 0.78rem !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
    transition: background 0.2s, color 0.2s !important;
}

.rk-download-btn:hover {
    background: var(--rk-blue) !important;
    color: var(--rk-white) !important;
}

/* Responzivita */
@media (max-width: 781px) {
    .rk-downloads {
        padding: 32px 16px !important;
    }

    .rk-download-item {
        flex-wrap: wrap !important;
        gap: 10px !important;
    }

    .rk-download-name {
        white-space: normal !important;
        font-size: 0.88rem !important;
    }

    .rk-download-btn {
        width: 100% !important;
        justify-content: center !important;
    }
}

/* ============================================
   FORMULÁŘE – nativní File blok styly
   ============================================ */

/* Wrapper skupiny – přidej třídu rk-download-group na Group blok */
.rk-downloads .wp-block-file {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    padding: 12px 16px !important;
    border-bottom: 1px solid #E2E6EE !important;
    transition: background 0.15s !important;
    margin: 0 !important;
}

.rk-downloads .wp-block-file:hover {
    background: var(--rk-bg-light) !important;
    border-radius: var(--rk-radius-sm) !important;
}

/* Název souboru – odkaz */
.rk-downloads .wp-block-file > a:first-child {
    font-size: 0.92rem !important;
    font-weight: 500 !important;
    color: var(--rk-text) !important;
    text-decoration: none !important;
    flex: 1 !important;
}

.rk-downloads .wp-block-file > a:first-child:hover {
    color: var(--rk-blue) !important;
}

/* Tlačítko stáhnout */
.rk-downloads .wp-block-file__button {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 7px 14px !important;
    background: var(--rk-blue-light) !important;
    color: var(--rk-blue) !important;
    border-radius: var(--rk-radius-sm) !important;
    font-size: 0.78rem !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
    transition: background 0.2s, color 0.2s !important;
    border: none !important;
    font-family: var(--wp--preset--font-family--body) !important;
}

.rk-downloads .wp-block-file__button:hover {
    background: var(--rk-blue) !important;
    color: var(--rk-white) !important;
}

/* Nadpis skupiny */
.rk-download-group-title {
    font-size: 0.72rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    color: var(--rk-text-muted) !important;
    padding-bottom: 10px !important;
    border-bottom: 2px solid var(--rk-blue) !important;
    margin-bottom: 0 !important;
    display: block;
}

/* Skupina – poslední file blok bez borderu */
.rk-download-group .wp-block-file:last-child {
    border-bottom: none !important;
}

/* Mezera mezi skupinami */
.rk-download-group {
    margin-bottom: 36px !important;
}

.rk-download-group:last-child {
    margin-bottom: 0 !important;
}

/* Responzivita */
@media (max-width: 781px) {
    .rk-downloads .wp-block-file {
        flex-wrap: wrap !important;
    }

    .rk-downloads .wp-block-file__button {
        width: 100% !important;
        justify-content: center !important;
    }
}

/* ============================================
   NAVIGACE – z-index fix + hover stabilita
   ============================================ */

/* Mobilní menu nad vším */
.wp-block-navigation__responsive-container.is-menu-open {
    z-index: 99999 !important;
    position: fixed !important;
}

/* Desktop dropdown nad hero */
.wp-block-navigation__submenu-container {
    z-index: 99999 !important;
}

/* Hero nesmí překrývat navigaci */
.rk-hero.wp-block-cover,
.rk-hero.wp-block-cover::before {
    z-index: 0 !important;
}

.rk-hero .wp-block-cover__inner-container {
    z-index: 1 !important;
}

/* Sticky header nad vším */
header.wp-block-template-part,
header.wp-block-template-part .is-position-sticky {
    z-index: 9999 !important;
}

/* Hover stabilita – zabráníme mizení menu při pohybu myši */
.wp-block-navigation-item:hover > .wp-block-navigation__submenu-container {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

/* Přidáme neviditelný buffer mezi položkou a submenu */
.wp-block-navigation__submenu-container {
    margin-top: -2px !important;
    padding-top: 2px !important;
}
