/* ============================================================================
   style-new.css
   POUZE ZMĚNY oproti stávajícímu style.css.
   Načítá se AŽ ZA style.css, takže při stejné specificitě vyhrává pořadím.
   Původní style.css zůstává nedotčený.
   ========================================================================= */


/* ============================================================================
   1. ROZŠÍŘENÉ TOKENY
   --------------------------------------------------------------------------
   Původní terakota #C4846C má na krémovém pozadí kontrast jen 2,89:1
   (WCAG AA vyžaduje 4,5:1) a bílý text na terakotovém tlačítku 3,06:1.
   Zavádíme proto "inkoustovou" variantu pro text a tlačítka; původní odstín
   zůstává pro dekoraci (linky, tečky, rámečky), kde na kontrastu nezáleží.
   ========================================================================= */

:root {
    /* Přístupné varianty akcentu */
    --c-accent-ink:    #9A5F4B;  /* text na světlém i pozadí tlačítek – 4,82:1 / 5,11:1 */
    --c-accent-deep:   #7E4B3A;  /* hover */
    --c-accent-light:  #E4B6A2;  /* akcent na tmavém pozadí – 4,58:1 na závoji citátu */
    --c-sage-deep:     #465141;  /* tmavá šalvěj – bílý text 8,35:1 */

    /* Neutrály */
    --c-ink:           #332D28;
    --c-text-on-sand:  #5C544B;  /* drobný text na pískovém pásu – 5,59:1 */
    --c-hairline:      rgba(61, 54, 48, 0.09);
    --c-hairline-soft: rgba(61, 54, 48, 0.06);

    /* Poloměry – jemně zaoblenější než původní jednotné 4 px */
    --r-sm: 8px;
    --r-md: 12px;
    --r-lg: 16px;
    --r-pill: 999px;

    /* Stíny – vrstvené, ne jeden velký rozmaz */
    --sh-1: 0 1px 2px rgba(61, 54, 48, .05);
    --sh-2: 0 2px 6px rgba(61, 54, 48, .05), 0 10px 30px rgba(61, 54, 48, .06);
    --sh-3: 0 4px 12px rgba(61, 54, 48, .07), 0 24px 60px rgba(61, 54, 48, .10);
    --sh-lift: 0 8px 18px rgba(61, 54, 48, .09), 0 30px 70px rgba(61, 54, 48, .12);

    /* Rytmus sekcí – větší dech mezi bloky */
    --section-padding: 6.5rem 0;
    --section-padding-mobile: 3.75rem 0;
}


/* ============================================================================
   2. ZÁKLAD, PŘÍSTUPNOST, ANIMACE
   ========================================================================= */

html {
    /* Kotvy se už neschovají pod fixní navigaci ani bez JS */
    scroll-padding-top: 6.5rem;
}

body {
    /* Původní overflow-x:hidden maskoval přetékající vnořený .row.
       Ten je v index-new.html opravený, maskování už není potřeba. */
    overflow-x: clip;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

a { color: var(--c-accent-ink); }
a:hover { color: var(--c-accent-deep); }

/* Odkaz pro přeskočení navigace (klávesnice, čtečky) */
.skip-link {
    position: absolute;
    left: -9999px;
    top: 0;
    z-index: 2000;
}
.skip-link:focus {
    left: 1rem;
    top: 1rem;
    background: var(--c-accent-ink);
    color: #fff;
    padding: .8rem 1.3rem;
    border-radius: var(--r-sm);
}

/* Viditelné ohraničení při ovládání klávesnicí – dříve zcela chybělo */
:focus-visible {
    outline: 3px solid var(--c-accent-ink);
    outline-offset: 3px;
    border-radius: 3px;
}
.btn:focus-visible,
.nav-cta:focus-visible { outline-offset: 4px; }

/* KRITICKÁ OPRAVA: v původním CSS má .fade-in natvrdo opacity:0.
   Když selže JS nebo CDN, je celá stránka neviditelná.
   Nově je obsah viditelný ve výchozím stavu a skrývá se až tehdy,
   když JS potvrdí, že běží (třída .js na <html>). */
.fade-in {
    opacity: 1;
    transform: none;
}
html.js .fade-in {
    opacity: 0;
    transform: translateY(22px);
    transition: opacity .7s cubic-bezier(.22, .61, .36, 1),
                transform .7s cubic-bezier(.22, .61, .36, 1);
}
html.js .fade-in.visible {
    opacity: 1;
    transform: none;
}
.fade-in-delay-1 { transition-delay: .08s; }
.fade-in-delay-2 { transition-delay: .16s; }
.fade-in-delay-3 { transition-delay: .24s; }
.fade-in-delay-4 { transition-delay: .32s; }

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    html.js .fade-in {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
    *, *::before, *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}


/* ============================================================================
   3. IKONY – inline SVG sprite místo webfontu Bootstrap Icons (~100 kB pryč)
   ========================================================================= */

.svg-sprite {
    position: absolute;
    width: 0;
    height: 0;
    overflow: hidden;
}

.ico {
    width: 1.15em;
    height: 1.15em;
    flex: 0 0 auto;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
    vertical-align: -.18em;
}

.btn .ico,
.mobile-cta-btn .ico { margin-right: .5rem; }


/* ============================================================================
   4. TYPOGRAFIE – sevřenější nadpisy, čitelná délka řádku
   ========================================================================= */

h1 {
    font-size: clamp(2.05rem, 1.3rem + 2.5vw, 3.15rem);
    line-height: 1.17;
    letter-spacing: -.015em;
}
h2 {
    font-size: clamp(1.7rem, 1.2rem + 1.6vw, 2.35rem);
    line-height: 1.22;
    letter-spacing: -.01em;
}
h3 { font-size: clamp(1.2rem, 1.05rem + .5vw, 1.5rem); }

.section-subtitle {
    color: var(--c-accent-ink);          /* bylo 2,89:1 – nyní 4,82:1 */
    font-size: 1.45rem;
    letter-spacing: .01em;
    margin-bottom: .35rem;
}

.section-header { margin-bottom: 3.25rem; }

.section-header h2::after {
    bottom: -14px;
    width: 54px;
    height: 2px;
    background-color: var(--c-accent-ink);
}


/* ============================================================================
   5. TLAČÍTKA
   ========================================================================= */

.btn-primary-custom {
    background-color: var(--c-accent-ink);
    border-color: var(--c-accent-ink);
    border-radius: var(--r-pill);
    padding: .9rem 2.1rem;
    font-weight: 700;
    letter-spacing: .01em;
    box-shadow: 0 6px 18px rgba(154, 95, 75, .22);
}
.btn-primary-custom:hover,
.btn-primary-custom:focus {
    background-color: var(--c-accent-deep);
    border-color: var(--c-accent-deep);
    box-shadow: 0 10px 26px rgba(154, 95, 75, .28);
}

.btn-outline-custom {
    border-color: rgba(154, 95, 75, .45);
    color: var(--c-accent-ink);
    border-radius: var(--r-pill);
    padding: .9rem 2.1rem;
    font-weight: 700;
    letter-spacing: .01em;
}
.btn-outline-custom:hover,
.btn-outline-custom:focus {
    background-color: var(--c-accent-ink);
    border-color: var(--c-accent-ink);
}


/* ============================================================================
   6. NAVIGACE – přibylo CTA tlačítko
   ========================================================================= */

.navbar { padding: .85rem 0; }
.navbar.scrolled { padding: .6rem 0; }

.nav-link { font-size: .9rem !important; }
.nav-link::after { background-color: var(--c-accent-ink); }
.nav-link:hover { color: var(--c-accent-ink) !important; }

.nav-cta {
    display: inline-block;
    margin-left: .85rem;
    padding: .55rem 1.25rem;
    border-radius: var(--r-pill);
    background-color: var(--c-accent-ink);
    color: #fff !important;
    font-family: var(--font-body);
    font-size: .875rem;
    font-weight: 700;
    letter-spacing: .01em;
    transition: background-color .25s ease, transform .25s ease;
}
.nav-cta:hover {
    background-color: var(--c-accent-deep);
    color: #fff !important;
    transform: translateY(-1px);
}

@media (max-width: 991.98px) {
    .nav-cta {
        display: block;
        margin: .85rem 1rem .35rem;
        text-align: center;
    }
}


/* ============================================================================
   7. HERO
   --------------------------------------------------------------------------
   Původně: amatérská fotka položená na terakotovém gradientu, bez rámu.
   Nově: profesionální portrét 2:3, odsazený rámeček, plovoucí štítek
   s kvalifikací a řádek s adresou a hodinami.
   ========================================================================= */

.hero-v2 {
    min-height: min(100svh, 920px);
    background: linear-gradient(170deg,
                var(--color-cream) 0%,
                var(--color-sand-light) 52%,
                #EFE7DC 100%);
}

.hero-v2::before {
    top: -35%;
    right: -25%;
    width: 85%;
    height: 140%;
}

.hero-content {
    padding-top: 7rem;
    padding-bottom: 3.5rem;
}

.hero-tagline {
    color: var(--c-accent-ink);
    font-size: 1.6rem;
    margin-bottom: .6rem;
}

.hero h1 { margin-bottom: 1.35rem; }

.hero-text {
    font-size: 1.15rem;
    max-width: 34ch;
    margin-bottom: 2.25rem;
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .85rem;
    margin-bottom: 2rem;
}

.hero-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .45rem;
    font-size: .875rem;
    color: var(--color-text-light);
    margin-bottom: 0;
}
.hero-meta .ico { color: var(--c-accent-ink); }
.hero-meta-sep {
    width: 1px;
    height: 1rem;
    background: rgba(61, 54, 48, .2);
    margin: 0 .5rem;
}

/* --- Portrét --- */
.hero-figure {
    position: relative;
    margin: 0 auto;
    max-width: 430px;
}
.hero-figure picture {
    position: relative;
    z-index: 1;
    display: block;
}
.hero-figure img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 2 / 3;
    object-fit: cover;
    object-position: 50% 22%;
    border-radius: var(--r-lg);
    box-shadow: var(--sh-3);
}
/* Odsazený obrysový rámeček za fotkou */
.hero-figure::before {
    content: '';
    position: absolute;
    top: -18px;
    right: -18px;
    width: 68%;
    height: 66%;
    border: 1px solid rgba(154, 95, 75, .45);
    border-radius: var(--r-lg);
    z-index: 0;
}

.hero-badge {
    position: absolute;
    left: -18px;
    bottom: 30px;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: .75rem;
    max-width: 17rem;
    padding: .85rem 1.15rem;
    background: var(--color-white);
    border-radius: var(--r-md);
    box-shadow: var(--sh-lift);
    font-size: .8125rem;
    line-height: 1.45;
    color: var(--color-text-light);
}
.hero-badge .ico {
    width: 1.6rem;
    height: 1.6rem;
    color: var(--c-accent-ink);
}
/* Záměrně weight 400 – řez Libre Baskerville 700 se pak nemusí vůbec stahovat */
.hero-badge strong {
    display: block;
    font-family: var(--font-heading);
    font-weight: 400;
    font-size: .95rem;
    color: var(--color-text);
}

@media (max-width: 991.98px) {
    .hero-v2 { min-height: auto; padding: 6.5rem 0 3.5rem; }
    .hero-content { padding-top: 1rem; text-align: center; }
    .hero-text { margin-inline: auto; max-width: 42ch; }
    .hero-actions, .hero-meta { justify-content: center; }
    .hero-figure { max-width: 340px; margin-top: 1rem; }
    .hero-figure::before { display: none; }
    .hero-badge {
        position: static;
        margin: 1.25rem auto 0;
        max-width: 22rem;
        text-align: left;
    }
}


/* ============================================================================
   8. PÁS DŮVĚRY – nový blok hned pod heroem
   ========================================================================= */

.proof-strip {
    background-color: var(--color-sand);
    border-block: 1px solid rgba(61, 54, 48, .08);
    padding: 1.85rem 0;
}
.proof-list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: center;
}
.proof-list li {
    padding: .3rem 1.1rem;
    border-left: 1px solid rgba(61, 54, 48, .14);
}
.proof-list li:first-child { border-left: 0; }
.proof-list strong {
    display: block;
    font-family: var(--font-heading);
    font-weight: 400;              /* viz .hero-badge strong – šetří jeden řez písma */
    font-size: 1.45rem;
    line-height: 1.2;
    color: var(--c-accent-deep);   /* na pískovém pozadí 5,35:1 */
    margin-bottom: .15rem;
}
.proof-list span {
    font-size: .8125rem;
    line-height: 1.4;
    color: var(--c-text-on-sand);
}

@media (max-width: 767.98px) {
    .proof-list { grid-template-columns: repeat(2, 1fr); gap: 1.1rem 0; }
    .proof-list li:nth-child(odd) { border-left: 0; }
}


/* ============================================================================
   9. PRO KOHO
   ========================================================================= */

.fit-row { margin-bottom: 4.5rem; }

.fit-panel {
    height: 100%;
    padding: 2.1rem 2rem 2.3rem;
    border-radius: var(--r-lg);
}
.fit-yes {
    background-color: var(--color-white);
    border: 1px solid rgba(125, 139, 122, .3);
    box-shadow: var(--sh-2);
}
.fit-no {
    background-color: transparent;
    border: 1px dashed rgba(61, 54, 48, .22);
}
.fit-panel h3 {
    display: flex;
    align-items: center;
    gap: .65rem;
    font-size: 1.2rem;
    margin-bottom: 1.4rem;
}
.fit-yes h3 .ico { color: var(--c-sage-deep); stroke-width: 2.2; }
.fit-no  h3 .ico { color: var(--c-accent-ink); stroke-width: 2.2; }

/* OPRAVA: v původním CSS je content:'?' – zobrazovaly se otazníky.
   Nyní skutečné zaškrtnutí jako SVG. */
.check-list li::before {
    content: '';
    top: .38em;
    width: 1.1rem;
    height: 1.1rem;
    background: no-repeat center / contain
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23465141' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.6 4.6 4.6L19 7.4'/%3E%3C/svg%3E");
}
.check-list li,
.cross-list li {
    padding-left: 1.9rem;
    margin-bottom: .85rem;
}
.cross-list li::before {
    content: '';
    top: .42em;
    width: 1rem;
    height: 1rem;
    background: no-repeat center / contain
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239A5F4B' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='m6.5 6.5 11 11m0-11-11 11'/%3E%3C/svg%3E");
}

.symptom-heading {
    margin: 0 0 2.25rem;
    font-size: 1.5rem;
}

.symptom-card {
    border-radius: var(--r-md);
    border: 1px solid var(--c-hairline);
    box-shadow: var(--sh-1);
    padding: 1.6rem 1.5rem;
}
.symptom-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--sh-2);
    border-color: rgba(125, 139, 122, .35);
}
.symptom-card h4 {
    color: var(--c-sage-deep);
    font-size: 1.05rem;
    padding-bottom: .8rem;
    margin-bottom: .9rem;
    border-bottom: 2px solid var(--color-sand);
}
.symptom-card ul li {
    padding: .4rem 0;
    border-bottom: 1px solid var(--c-hairline-soft);
    color: var(--color-text-light);
}


/* ============================================================================
   10. MŮJ PŘÍBĚH
   ========================================================================= */

.story-figure {
    position: relative;
    margin: 0 auto;
    max-width: 420px;
}
.story-figure img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 2 / 3;
    object-fit: cover;
    object-position: 50% 25%;
    border-radius: var(--r-lg);
    box-shadow: var(--sh-3);
}
.story-quote-v2 {
    position: absolute;
    right: -24px;
    bottom: -28px;
    max-width: 260px;
    padding: 1.2rem 1.35rem;
    background: var(--color-white);
    border-left: 3px solid var(--c-accent-ink);
    border-radius: var(--r-md);
    box-shadow: var(--sh-lift);
}
.story-quote-v2 p {
    margin: 0;
    font-family: var(--font-handwritten);
    font-size: 1.3rem;
    line-height: 1.35;
    color: var(--c-accent-ink);
}

@media (max-width: 991.98px) {
    .story-quote-v2 {
        position: static;
        max-width: 100%;
        margin-top: 1.5rem;
    }
}

.story-lead {
    font-size: 1.1rem;
    color: var(--color-text);
}
.story-text p { max-width: 62ch; }

.timeline { padding-left: 2.15rem; margin-top: 2.5rem; }
.timeline::before { width: 1px; background-color: rgba(61, 54, 48, .16); }
.timeline-item { padding-bottom: 1.4rem; }
.timeline-item::before {
    left: -2.15rem;
    width: 9px;
    height: 9px;
    background-color: var(--color-white);
    border: 2px solid var(--c-accent-ink);
    transform: translateX(-4px);
}
.timeline-item h4 {
    color: var(--c-accent-ink);
    font-size: .875rem;
    letter-spacing: .01em;
}
.timeline-item p { color: var(--color-text-light); }

.timeline-now::before {
    background-color: var(--c-accent-ink);
    box-shadow: 0 0 0 4px rgba(154, 95, 75, .16);
}
.timeline-now h4 { color: var(--c-sage-deep); }

/* --- Kvalifikace / certifikáty ---
   Původně: čtyři nepopsané miniatury vložené do rozbité mřížky.
   Nyní: samostatný blok s popiskami a funkčním zvětšením. */
.qualifications {
    margin-top: 4.5rem;
    padding-top: 2.75rem;
    border-top: 1px solid rgba(61, 54, 48, .12);
}
.qual-heading {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    margin-bottom: 1.85rem;
    font-family: var(--font-body);
    font-weight: 700;
    font-size: .8rem;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--color-text-light);
}
.qual-heading .ico { color: var(--c-accent-ink); }

.cert-card {
    display: flex;
    flex-direction: column;
    gap: .7rem;
    height: 100%;
    text-align: center;
    color: var(--color-text);
}
.cert-thumb {
    display: grid;
    place-items: center;
    aspect-ratio: 4 / 3;
    padding: .55rem;
    overflow: hidden;
    background: var(--color-white);
    border: 1px solid var(--c-hairline);
    border-radius: var(--r-md);
    box-shadow: var(--sh-1);
    transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease;
}
.cert-thumb img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    object-fit: contain;
}
.cert-card:hover .cert-thumb {
    transform: translateY(-4px);
    border-color: rgba(154, 95, 75, .5);
    box-shadow: var(--sh-2);
}
.cert-label {
    font-size: .8rem;
    line-height: 1.35;
    color: var(--color-text-light);
}
.cert-card:hover .cert-label { color: var(--c-accent-ink); }

/* Modal – v původním kódu byl modal-lg omylem na .modal místo .modal-dialog */
#certModal .modal-content { border: 0; border-radius: var(--r-lg); }
#certModal .modal-header { border-bottom: 1px solid var(--c-hairline); }
#certModal .modal-title { font-family: var(--font-heading); }
#certModal .modal-body { padding: 1.25rem; }
#certModal img { max-height: 72vh; width: auto; border-radius: var(--r-sm); }


/* ============================================================================
   11. CITÁTOVÝ PÁS – celoplošná fotka se ztmavovacím závojem
   --------------------------------------------------------------------------
   Původní bílý text na #7D8B7A měl kontrast 3,59:1. Nyní 8,35:1.
   ========================================================================= */

.citat-v2 {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 7rem 0;
    background-color: var(--c-sage-deep);   /* záloha, když fotka nedojede */
}
.citat-bg {
    position: absolute;
    inset: 0;
    z-index: -2;
    display: block;
}
.citat-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 38%;
}
.citat-v2::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(180deg,
                rgba(70, 81, 65, .90) 0%,
                rgba(56, 66, 53, .94) 100%);
}
.citat-v2 blockquote {
    color: var(--color-white);
    max-width: 26ch;
    margin-inline: auto;
    font-size: clamp(1.35rem, 1rem + 1.6vw, 2rem);
}
.citat-v2 cite {
    color: var(--c-accent-light);
    opacity: 1;
    font-size: 1.35rem;
}


/* ============================================================================
   12. JAK TO FUNGUJE – kroky s fotografiemi místo prázdných koleček
   ========================================================================= */

.steps-grid {
    list-style: none;
    padding-left: 0;
    margin-bottom: 4rem;
}

.step-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    background: var(--color-white);
    border: 1px solid var(--c-hairline);
    border-radius: var(--r-lg);
    box-shadow: var(--sh-1);
    transition: transform .3s ease, box-shadow .3s ease;
}
.step-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--sh-2);
}
.step-photo {
    position: relative;
    line-height: 0;
}
.step-photo img {
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 2;
    object-fit: cover;
}
.step-num {
    position: absolute;
    left: 1.35rem;
    bottom: -1.4rem;
    display: grid;
    place-items: center;
    width: 2.8rem;
    height: 2.8rem;
    border-radius: 50%;
    background: var(--c-accent-ink);
    color: var(--color-white);
    font-family: var(--font-heading);
    font-size: 1.15rem;
    line-height: 1;
    box-shadow: 0 8px 20px rgba(126, 75, 58, .38);
}
.step-body { padding: 2.4rem 1.65rem 1.75rem; }
.step-body h3 {
    font-size: 1.2rem;
    margin-bottom: .6rem;
}
.step-body p {
    margin-bottom: 0;
    font-size: .9375rem;
    color: var(--color-text-light);
}

.consultation-info {
    height: 100%;
    border-radius: var(--r-lg);
    border: 1px solid var(--c-hairline);
    box-shadow: var(--sh-1);
    padding: 1.9rem;
}
.consultation-info h4 {
    font-size: 1.05rem;
    padding-bottom: .75rem;
    margin-bottom: .9rem;
    border-bottom: 2px solid var(--color-sand);
}
.consultation-info ul li::before { background-color: var(--c-sage-deep); }
.consultation-avoid ul li::before { background-color: var(--c-accent-ink); }

.note-handwritten {
    margin: 3rem 0 0;
    text-align: center;
    font-family: var(--font-handwritten);
    font-size: 1.65rem;
    color: var(--c-accent-ink);
}


/* ============================================================================
   13. METODY – nahoře dvojice fotografií, pod nimi karty
   ========================================================================= */

.method-gallery { margin-bottom: 3.5rem; }

.gal-figure { margin: 0; }
.gal-figure img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 2;
    object-fit: cover;
    border-radius: var(--r-lg);
    box-shadow: var(--sh-2);
}
.gal-figure figcaption {
    margin-top: .8rem;
    font-size: .85rem;
    font-style: italic;
    color: var(--color-text-light);
    text-align: center;
}

.method-card {
    border-radius: var(--r-lg);
    border: 1px solid var(--c-hairline);
    box-shadow: var(--sh-1);
    padding: 1.9rem 1.75rem;
}
.method-card::before { background-color: var(--c-accent-ink); }
.method-card:hover { box-shadow: var(--sh-2); }
.method-card h3 {
    font-size: 1.2rem;
    margin-bottom: .65rem;
}
.method-icon {
    width: 3rem;
    height: 3rem;
    border-radius: var(--r-md);
    background-color: var(--color-sand-light);
    border: 1px solid rgba(125, 139, 122, .3);
    color: var(--c-sage-deep);
    margin-bottom: 1.35rem;
}
.method-icon .ico { width: 1.45rem; height: 1.45rem; }
.method-for {
    margin-bottom: 0;
    padding-top: .85rem;
    border-top: 1px solid var(--c-hairline-soft);
    color: var(--c-sage-deep);
    font-size: .85rem;
}

.method-card-accent {
    background-color: var(--color-sand-light);
    border-color: rgba(154, 95, 75, .3);
}
.method-card-accent .method-icon {
    background-color: var(--color-white);
    border-color: rgba(154, 95, 75, .3);
    color: var(--c-accent-ink);
}


/* ============================================================================
   14. FAQ – vlásková linka místo stínových boxů, větší klikací plocha
   ========================================================================= */

.accordion-item {
    margin-bottom: .75rem;
    background-color: var(--color-white);
    border: 1px solid var(--c-hairline);
    border-radius: var(--r-md);
    overflow: hidden;
}
.accordion-button {
    border-radius: 0 !important;
    box-shadow: none;
    padding: 1.3rem 1.55rem;
    font-size: 1.05rem;
}
.accordion-button:not(.collapsed) {
    background-color: var(--color-sand-light);
    color: var(--c-accent-ink);
    box-shadow: none;
}
.accordion-button:focus { box-shadow: none; }
.accordion-button::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239A5F4B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9.5 6 6 6-6'/%3E%3C/svg%3E");
    background-size: 1.15rem;
}
.accordion-body {
    background-color: var(--color-white);
    border-top: 1px solid var(--c-hairline);
    border-radius: 0;
    margin-top: 0;
    padding: 1.4rem 1.55rem 1.6rem;
    color: var(--color-text-light);
}


/* ============================================================================
   15. CENÍK – karty s vlastním tlačítkem
   ========================================================================= */

.price-card {
    display: flex;
    flex-direction: column;
    border-radius: var(--r-lg);
    border: 1px solid var(--c-hairline);
    box-shadow: var(--sh-1);
    padding: 2.2rem 1.85rem 2rem;
}
.price-card:hover { box-shadow: var(--sh-2); }

.price-card.featured {
    border: 2px solid var(--c-accent-ink);
    box-shadow: var(--sh-2);
}
.price-card.featured::before {
    background-color: var(--c-accent-ink);
    border-radius: var(--r-pill);
    padding: .3rem 1.1rem;
    font-weight: 700;
    letter-spacing: .08em;
}
.price-card h3 {
    font-size: 1.25rem;
    margin-bottom: .5rem;
}
.price-duration {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    font-size: .8125rem;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--color-text-light);
    margin-bottom: 1.1rem;
}
.price-duration .ico { width: 1rem; height: 1rem; }
.price-amount {
    font-size: 2.7rem;
    line-height: 1.1;
    color: var(--c-accent-ink);
    margin-bottom: 1rem;
}
.price-description { margin-bottom: 1.75rem; }
.price-cta {
    margin-top: auto;
    align-self: stretch;
    padding-inline: 1rem;
}
.cenik-note {
    margin-top: 2.25rem;
    color: var(--color-text-light);
    font-size: .9375rem;
}


/* ============================================================================
   16. KONTAKT
   ========================================================================= */

.contact-card {
    border-radius: var(--r-lg);
    border: 1px solid var(--c-hairline);
    box-shadow: var(--sh-1);
    padding: 1.9rem 1.75rem;
}
.contact-icon {
    width: 2.85rem;
    height: 2.85rem;
    border-radius: var(--r-md);
    background-color: var(--color-sand-light);
    border: 1px solid rgba(154, 95, 75, .25);
    color: var(--c-accent-ink);
    margin-right: 1rem;
}
.contact-icon .ico { width: 1.3rem; height: 1.3rem; }
.contact-item h4 {
    font-family: var(--font-body);
    font-weight: 700;
    font-size: .75rem;
    letter-spacing: .11em;
    text-transform: uppercase;
    color: var(--color-text-light);
    margin-bottom: .2rem;
}
.contact-item p { margin-bottom: 0; }

.preparation-box {
    border-radius: var(--r-lg);
    border: 1px solid rgba(154, 95, 75, .2);
    padding: 1.9rem 1.75rem;
    margin-top: 1.5rem;
}
.preparation-box ul li::before { color: var(--c-accent-ink); }

.map-container {
    border-radius: var(--r-lg);
    overflow: hidden;
    border: 1px solid var(--c-hairline);
    box-shadow: var(--sh-2);
    line-height: 0;
}
.map-container iframe {
    display: block;
    filter: grayscale(.28) contrast(.96);
}

.contact-cta {
    margin-top: 1.5rem;
    padding: 1.85rem 1.5rem;
    text-align: center;
    background-color: var(--color-white);
    border: 1px solid var(--c-hairline);
    border-radius: var(--r-lg);
    box-shadow: var(--sh-1);
}
.contact-cta-lead {
    margin-bottom: 1.2rem;
    font-family: var(--font-heading);
    font-size: 1.1rem;
}
.contact-cta-buttons {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: .85rem;
}


/* ============================================================================
   17. PATIČKA
   ========================================================================= */

.footer {
    background-color: var(--c-ink);
    padding: 4rem 0 1.5rem;
}
.footer p { opacity: .88; }
.footer-brand {
    font-family: var(--font-heading);
    font-size: 1.3rem;
    color: var(--color-white);
    opacity: 1;
    margin-bottom: .3rem;
}
.footer-tagline {
    color: var(--c-accent-light);
    opacity: 1;
    margin-bottom: 1rem;
}
.footer-heading {
    font-family: var(--font-body);
    font-weight: 700;
    font-size: .75rem;
    letter-spacing: .13em;
    text-transform: uppercase;
    color: var(--color-white);
    margin-bottom: 1rem;
}
.footer-links a { opacity: .88; }
.footer-links a:hover { color: var(--c-accent-light); opacity: 1; }
.footer-links li { font-size: .9375rem; opacity: .88; }

.footer-bottom {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: .4rem;
    text-align: left;
    margin-top: 2.5rem;
}
.footer-bottom p { margin-bottom: 0; }
.footer-credit { font-size: .8rem; opacity: .6 !important; }

@media (max-width: 767.98px) {
    .footer-bottom { justify-content: center; text-align: center; }
}


/* ============================================================================
   18. LEPKAVÉ CTA NA MOBILU + TLAČÍTKO NAHORU
   ========================================================================= */

.mobile-cta {
    position: fixed;
    inset: auto 0 0 0;
    z-index: 1030;
    display: none;
    grid-template-columns: 1fr 1fr;
    gap: 1px;
    background: rgba(61, 54, 48, .14);
    box-shadow: 0 -6px 22px rgba(61, 54, 48, .12);
    padding-bottom: env(safe-area-inset-bottom);
}
.mobile-cta-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem .5rem;
    background: var(--color-white);
    color: var(--color-text);
    font-size: .95rem;
    font-weight: 700;
    letter-spacing: .01em;
}
.mobile-cta-primary {
    background: var(--c-accent-ink);
    color: var(--color-white);
}
.mobile-cta-primary:hover,
.mobile-cta-primary:focus { color: var(--color-white); }

.back-to-top {
    background-color: var(--c-accent-ink);
    box-shadow: 0 8px 22px rgba(126, 75, 58, .32);
}
.back-to-top:hover { background-color: var(--c-accent-deep); }

@media (max-width: 991.98px) {
    .mobile-cta { display: grid; }
    body { padding-bottom: 4.25rem; }
    .back-to-top { bottom: 5.5rem; right: 1rem; }
}


/* ============================================================================
   19. TISK
   ========================================================================= */

@media print {
    .navbar, .mobile-cta, .back-to-top, .map-container,
    .hero-figure, .citat-bg, .skip-link { display: none !important; }
    .fade-in { opacity: 1 !important; transform: none !important; }
    body { background: #fff; color: #000; font-size: 11pt; }
    .section-padding { padding: 1.5rem 0; }
    a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 9pt; }
}
