/*
 * Styly produktových sekcí (hero, benefits, ceník, ...).
 * Přeneseno z designových návrhů.
 */


/* =========================================================
   SYSTÉM BAREVNÝCH PALET PRO CESTY
   Každá cesta nastaví tělu třídu (palette-harmony, palette-power...),
   která naplní univerzální proměnné --c-primary, --c-bg, --c-badge.
   CSS sekcí pak pracuje jen s těmito univerzálními proměnnými.
   ========================================================= */

/* Výchozí paleta (kdyby nebyla zvolená žádná) = Harmony */
:root {
    --c-primary: #B87A8D;
    --c-bg: #F3E7EA;
    --c-badge: #8D6E63;
}

/* PALETA: Harmony (starorůžová.mts-nase-cesty-benefits-grid .benefit-title) */
.palette-harmony {
    --c-primary: #B87A8D;
    --c-bg: #F3E7EA;
    --c-badge: #8D6E63;
}

/* PALETA: Power (brandová modrá) */
.palette-power {
    --c-primary: #4A90E2;
    --c-bg: #E8F1FB;
    --c-badge: #2C5F8A;
}

/* PALETA: Senior (zelená) */
.palette-senior {
    --c-primary: #6BA368;
    --c-bg: #EAF3E9;
    --c-badge: #4A7048;
}

/* PALETA: Aqua fit (tyrkysová) */
.palette-aqua-fit {
	--c-primary: #00B4CC; /* Svěží tyrkysová evokující bazén a energii */
    --c-bg: #E5F7F9;      /* Velmi světlý pastelový nádech pro pozadí */
    --c-badge: #007A8C;   /* Tmavší, kontrastní tyrkysová pro výbornou čitelnost štítků */
}

/* PALETA: Aqua víkend (mořská modř) */
.palette-aqua-vikend {
	--c-primary: #008CA8; /* Hlubší, nasycenější mořská modř pro intenzivnější zážitek */
    --c-bg: #E3F2F5;      /* Světlejší, lehce zastřené vodní pozadí */
    --c-badge: #192837;   /* Vaše tmavá brandová modrá pro profesionální kontrast */
}

/* PALETA: Vitality (terakota) */
.palette-vitality {
	--c-primary: #D17A5A; /* Teplá terakota/zemitá broskvová – evokuje slunce, odpočinek a energii */
    --c-bg: #F9EFEB;      /* Jemné, hřejivé pozadí */
    --c-badge: #7A5344;   /* Vaše brandová hnědá – ideální kontrast a propojení se značkou */
}

/* PALETA: Personal Journey (ostružinová) */
.palette-personal-journey {
	--c-primary: #856088; /* Elegantní ostružinová – prémiový vzhled */
    --c-bg: #F4EFF4;      /* Velmi jemné, lehce nafialovělé pozadí */
    --c-badge: #533556;   /* Sytá tmavě fialová pro výbornou čitelnost */
}

/* PALETA: Body Scan (indigo) */
.palette-body-scan {
	--c-primary: #5C6BC0; /* Odborná, technologická indigová barva */
    --c-bg: #F2F3FA;      /* Velmi jemné, chladnější fialovomodré pozadí */
    --c-badge: #3949AB;   /* Tmavší, výrazný odstín pro perfektní čitelnost */
}

/* PALETA: Nutrition (avokádo a bylinky) */
.palette-nutrition {
	--c-primary: #8CB35A; /* Šťavnatá, čerstvá žlutozelená */
    --c-bg: #F2F7EC;      /* Velmi světlý, pastelově zelenkavý nádech pro pozadí */
    --c-badge: #5C7A36;   /* Tmavá, listová zeleň pro skvělý kontrast na štítku */
}

/* Pomocné třídy pro text a tlačítka */
.text-nase-cesty { color: var(--c-primary) !important; }

.btn-nase-cesty {
    background-color: var(--c-primary);
	font-family: var(--font-body);
    color: white;
    padding: 1rem 2.5rem !important;
    font-size: 1.125rem;
    border-radius: 99px;
	line-height: 1.2;
    display: inline-flex;
    justify-content: center;
	text-align: center;
	line-height: 1.2;
    align-items: center;
    border: 2px solid transparent;
	transition: all 0.3s ease;
}

.btn-nase-cesty:hover {
    background-color: var(--color-sport);
    transform: translateY(-2px);
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
    color: white;
}

.btn-outline-nase-cesty {
    display: inline-flex;
    justify-content: center;
    align-items: center;
	text-align: center;
    padding: 1rem 2.5rem;
    border: 2px solid var(--c-primary);
    border-radius: 99px;
	font-family: var(--font-body);
	font-size: 1.125rem;
	line-height: 1.2;
    color: var(--c-primary);
    font-weight: 700;
    text-decoration: none;
    transition: all 0.3s ease;
    background-color: transparent;
}

.btn-outline-nase-cesty:hover {
    background-color: var(--c-primary);
    color: white;
    transform: translateY(-2px);
    box-shadow: 0 10px 25px -5px rgba(184, 122, 141, 0.2);
}

/* =========================================================
   SDÍLENÉ PRVKY (type-label, play, badge)
   ========================================================= */

/* Štítek typu (kapka + text) */
.mts-hero-type-label {
    display: inline-flex;
    align-items: center;
    background-color: rgba(30, 41, 59, 0.05);
    border: 1px solid rgba(30, 41, 59, 0.1);
    color: var(--color-body);
    padding: 0.5rem 1rem 0.5rem 0.8rem;
    border-radius: 99px;
    font-family: var(--font-body);
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    line-height: 1;
    white-space: nowrap;
    margin-bottom: 1.5rem;
    transition: all 0.3s ease;
}

.mts-hero-type-label::before {
    content: '';
    display: inline-block;
    width: 9px;
    height: 14px;
    margin-right: 0.8rem;
    margin-bottom: 2px;
    background-color: var(--c-primary);
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 189.5 299'%3E%3Cpath d='M93.5,299c111-71,144-232,0-299C-39.5,62-22.5,227,93.5,299z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 189.5 299'%3E%3Cpath d='M93.5,299c111-71,144-232,0-299C-39.5,62-22.5,227,93.5,299z'/%3E%3C/svg%3E");
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
}

/* Velký play kruh */
.play-circle-large {
    width: 7rem;
    height: 7rem;
    background-color: rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(12px);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.5rem;
    border: 1px solid rgba(255, 255, 255, 0.3);
    transition: transform 0.3s;
}

/* Barevný čtvereček s play šipkou (hero + vlog) */
.play-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    background-color: var(--c-primary);
    border-radius: 0.6rem;
    margin-left: 0;
}
.play-icon svg {
    width: 2rem;
    height: 2rem;
    margin-left: 0.15rem;
}

/* Menší varianta ve vlog sekci */
.mts-nase-cesty-vlog .play-icon {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 0.6rem;
}
.mts-nase-cesty-vlog .play-icon svg {
    width: 2rem;
    height: 2rem;
}

/* Video badge (vlevo nahoře) */
.video-badge {
    position: absolute;
    top: 2rem;
    left: 2rem;
    z-index: 5;                      		/* nad posterem i videem */
    background-color: #ffffff;
    color: var(--c-primary);	
    font-size: 0.65rem;
    font-weight: 700;
    padding: 0.5rem 1.5rem;
    border-radius: 99px;
    text-transform: uppercase;    
	opacity: 0.9;
	
}

@keyframes pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.5; }
}

/* =========================================================
   HERO SEKCE – MTS HARMONY
   ========================================================= */
.mts-nase-cesty-hero {
    position: relative;
    padding-top: 9rem;      /* 160px = výška hlavičky (80px) + vzdušnost (80px) */
    padding-bottom: 6rem;    /* 96px */
    background-color: var(--c-bg);
    overflow: visible !important;
}

/* Na mobilu menší padding (méně místa) */
@media (max-width: 767px) {
    .mts-nase-cesty-hero {
        padding-bottom: 4rem;
		}
}

/* Dekorace: velká vlna vpravo */
.mts-nase-cesty-hero-bg-shape {
    position: absolute;
    top: 0;
    right: 0;
    width: 55%;
    height: 100%;
    background-color: white;
    z-index: 0;
    border-top-left-radius: 100% 100%;
}

/* Grid layout */
.mts-nase-cesty-hero-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
        "spacer-top visual"
        "content    visual"
        "actions    visual"
        "spacer-bot visual";
    grid-template-rows: 1fr min-content min-content 1fr;
    column-gap: 4rem;
}

.mts-nase-cesty-hero-content { grid-area: content; }
.mts-nase-cesty-visual       { grid-area: visual; align-self: center; }
.mts-nase-cesty-actions      { grid-area: actions; margin-top: 2.5rem; }

/* Nadpis */
.mts-nase-cesty-title {
    font-family: var(--font-heading);
    font-weight: 900;
    font-size: var(--text-h1);
    line-height: 1.15;
    margin-bottom: 1.5rem;
    color: var(--color-sport);
}

/* Perex */
.mts-nase-cesty-perex {
    font-family: var(--font-body);
    font-size: var(--text-body-size);
    color: #4A5568;
    margin-bottom: 2.5rem;
    max-width: 32rem;
    line-height: 1.6;
}

/* Tlačítka */
.mts-nase-cesty-actions {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}

/* Pravá část (video) */
.mts-nase-cesty-visual {
    position: relative;
    cursor: pointer;
}

.mts-nase-cesty-video-card {
    position: relative;
    aspect-ratio: 4/5;
    border-radius: 3rem;
    overflow: hidden;
    background-color: #111827;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    z-index: 10;
}

/* Poster i video vyplní kartu stejně */
.mts-nase-cesty-video-card .mts-hero-poster,
.mts-nase-cesty-video-card .mts-hero-video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.8s ease;
}

.mts-nase-cesty-video-card .mts-hero-poster {
    opacity: 1;
    transition: opacity 0.5s, transform 0.8s ease;
    z-index: 1;
}

/* Video leží nad posterem */
.mts-nase-cesty-video-card .mts-hero-video {
    z-index: 2;
}

.mts-nase-cesty-video-card:hover .mts-hero-poster { opacity: 0.6; }
.mts-nase-cesty-video-card:hover .mts-hero-poster,
.mts-nase-cesty-video-card:hover .mts-hero-video { transform: scale(1.05); }

.mts-nase-cesty-video-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: white;
    z-index: 3; /* nad videem i posterem */
}

.mts-nase-cesty-video-card:hover .play-circle-large { transform: scale(1.3); }
.mts-nase-cesty-video-card:hover { opacity: 1; transform: translateY(0); }

/* Plovoucí badge (hnědá kapka) */
.mts-nase-cesty-floating-badge {
    position: absolute;
    bottom: -3rem;
    left: -3rem;
    width: 11rem;
    height: 14rem;
    color: var(--c-badge);
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    transform: rotate(-15deg);
    z-index: 20;
    filter: drop-shadow(0 10px 20px rgba(141, 110, 99, 0.2));
    transition: transform 0.5s ease;
}
/* Narovnání lístku při najetí na vizuál (jako O nás) */
.mts-nase-cesty-visual:hover .mts-nase-cesty-floating-badge {
    transform: rotate(0deg);
}

/* SVG kapka na pozadí badge */
.mts-nase-cesty-floating-badge .badge-svg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}

.mts-nase-cesty-floating-badge .badge-svg path {
    fill: var(--c-badge);
}

.mts-nase-cesty-floating-badge .badge-text {
    font-family: var(--font-heading);
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: white;
    padding-bottom: 2rem;
    line-height: 1.4;
}

/* --- RESPONZIVITA HERO (do 989px) --- */
@media (max-width: 989px) {

 .mts-nase-cesty-hero-grid {
        display: flex;
        flex-direction: column;
        align-items: center;          /* vycentruje všechny prvky na střed */
        gap: 0;                        /* mezery řešíme cíleně níže */
    }
  /* Obal "zprůhledníme", aby šly štítek/nadpis/perex řadit jednotlivě */
    .mts-nase-cesty-hero-content { display: contents; }

    /* Nové pořadí: štítek → nadpis → video → „již proběhlo" → datum/místo → perex → tlačítka */
    .mts-hero-type-label    { order: 1; }
    .mts-nase-cesty-title   { order: 2; }
    .mts-nase-cesty-visual  { order: 3; margin-top: 2rem; }
    .mts-hero-akce-stitek-wrap { order: 4; margin-top: 4rem; margin-bottom: 0.75rem; }
    .mts-hero-akce-info     { order: 5; margin-top: 4rem !important; justify-content: center; }
    .mts-nase-cesty-perex   { order: 6; margin-top: 1.5rem; }
    .mts-nase-cesty-actions { order: 7; margin-top: 3rem; }

    /* Když je nad datem štítek, odsazení drží štítek (ať tam není mezera 2×) */
    .mts-hero-akce-stitek-wrap + .mts-hero-akce-info {
        margin-top: 0 !important;
    }

    .mts-nase-cesty-hero-content {
        text-align: center;
    }
    /* Perex vycentrovat (má omezenou šířku) */
    .mts-nase-cesty-perex {
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 0;             /* mezeru pod perexem řeší margin videa */
		margin-top: 4rem;
    }
    .mts-nase-cesty-actions {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        gap: 1rem;
        width: 100%;
    }
    .mts-nase-cesty-visual {
        max-width: 700px;
        width: 100%;
        margin-left: auto;
        margin-right: auto;
    }
 
    .mts-nase-cesty-video-card { max-width: 100%; }
    


}

/* --- RESPONZIVITA HERO (mezi 768px a 989px) --- */
@media (max-width: 989px) and (min-width: 768px) {
	.mts-nase-cesty-floating-badge {    
        width: 14rem;        
        height: 18rem;
        transform: rotate(-10deg);
    }
	.mts-nase-cesty-floating-badge .badge-text {
        font-size: 1rem;
        padding-bottom: 1.5rem;
    }
}
@media (max-width: 989px) {
.mts-nase-cesty-hero-bg-shape { width: 85% }
}

/* --- RESPONZIVITA HERO (mezi 767px a 480px) --- */
@media (max-width: 767px) {
.mts-nase-cesty-hero-bg-shape { width: 90% }
.mts-nase-cesty-visual { max-width: 600px; }
}

/* --- RESPONZIVITA HERO (do 479px) --- */
@media (max-width: 479px) {
.mts-nase-cesty-hero-bg-shape { width: 99% }
.mts-nase-cesty-floating-badge {        
        bottom: -2rem;        
        height: 11rem;
        transform: rotate(-10deg);
    }
.mts-nase-cesty-floating-badge .badge-text {
        font-size: 0.65rem;
        padding-bottom: 1.5rem;
    }
}	

/* =========================================================
   BENEFITS SEKCE (přínosy programu)
   Univerzální pro všechny cesty, barvy z palety.
   ========================================================= */
.mts-nase-cesty-benefits {
    padding: 6rem 0;
    background-color: white;
}

/* Hlavička sekce */
.mts-nase-cesty-benefits-header {
    text-align: center;
    max-width: 800px;
    margin: 0 auto 4rem auto;
}

.mts-nase-cesty-section-title {
    font-family: var(--font-heading);
    font-weight: 900;
    font-size: var(--text-h2);
    color: var(--color-sport);
    margin-bottom: 1rem;
    line-height: 1.15;
}

.mts-nase-cesty-section-desc {
    font-family: var(--font-body);
    font-size: var(--text-body-size);
    color: #4A5568;
    line-height: 1.6;
}

/* Mřížka karet: 4 na řádek (desktop) */
.mts-nase-cesty-benefits-grid {
    display: grid;
    /* 990–1279px: 2 sloupce = karty 2×2, více místa pro text */
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
}

/* Od 1280px: 4 karty vedle sebe */
@media (min-width: 1280px) {
    .mts-nase-cesty-benefits-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

/* Karta – rozdělená: obrázek nahoře (fixní), text dole (roste dle obsahu) */
.mts-nase-cesty-benefits-grid .mts-nase-cesty-benefit-card {
    position: relative;
    border-radius: 2rem;
    overflow: hidden;
	clip-path: inset(0 round 2rem);
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
}

.mts-nase-cesty-benefits-grid .mts-nase-cesty-benefit-card:hover {
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    transform: translateY(-4px);
}

/* Obrázek (horní část karty, fixní výška) */
.mts-nase-cesty-benefits-grid .benefit-bg {
    position: relative;
    height: 14rem;
    flex-shrink: 0;
    overflow: hidden;
}

.mts-nase-cesty-benefits-grid .benefit-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
	object-position: top;
    opacity: 1;
    transition: transform 0.8s ease;
    will-change: transform;
}

.mts-nase-cesty-benefits-grid .mts-nase-cesty-benefit-card:hover .benefit-bg img {
    transform: scale(1.1);
}

/* Barevný překryv – v tomto rozložení se nepoužívá (obrázek zůstává čistý) */
.mts-nase-cesty-benefits-grid .benefit-overlay {
    display: none;
}

/* Obsah karty (spodní část – barevná plocha, roste dle textu) */
.mts-nase-cesty-benefits-grid .benefit-content {
    position: relative;
    z-index: 10;
    flex: 1;
    background-color: var(--c-primary);
    padding: 3.5rem 2rem 2rem 2rem;
    text-align: center;
}

/* Ikona (dvojnásobná, umístěná na přechodu obrázek / text) */
.mts-nase-cesty-benefits-grid .benefit-icon {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 5rem;
    height: 5rem;
    background-color: var(--c-bg);
    backdrop-filter: blur(12px);
    border-radius: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    border: 1px solid rgba(255, 255, 255, 0.3);
}

/* Inline SVG ikona - obarvení a velikost */
.mts-nase-cesty-benefits-grid .benefit-icon svg {
    width: 2rem;
    height: 2rem;
}

.mts-nase-cesty-benefits-grid .benefit-icon svg path {
    fill: var(--c-primary);
}

/* Nadpis a text karty */
.mts-nase-cesty-benefits-grid .benefit-title {
    font-family: var(--font-heading);
    font-weight: 900;
    font-size: 1.875rem;
    margin-bottom: 1rem;
    color: white;
	line-height: 1.2;
}

.mts-nase-cesty-benefits-grid .benefit-text {
    font-family: var(--font-body);
    font-size: var(--h3-text);
    color: var(--c-bg);
    line-height: 1.6;
    margin-bottom: 0;
}

.mts-nase-cesty-benefits-grid .benefit-text a {
    text-decoration: underline;
    transition: all 0.3s ease;
    text-underline-offset: 0.3rem;
}

.mts-nase-cesty-benefits-grid .benefit-text a:hover {
    color: white;
}

/* Do 989px: automatické zalamování, minimální šířka karty 300px */
@media (max-width: 989px) {
    .mts-nase-cesty-benefits-grid {
        grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr));
    }
}

/* Responzivita: padding sekce na mobilu (zalamování řeší auto-fit) */
@media (max-width: 767px) {
    .mts-nase-cesty-benefits { padding: 4rem 0; }
}

/* =========================================================
   BLOK: LOCATIONS (lokality s taby)
   Barvy řízené paletou: var(--c-primary), var(--c-bg)
   ========================================================= */
   
 /* Všechny prvky v locations sekci = body font (DM Sans) */
.mts-nase-cesty-locations,
.mts-nase-cesty-locations * {
    font-family: var(--font-body);
}
/* Výjimka: hlavní nadpis sekce zůstává Fraunces */
.mts-nase-cesty-locations .mts-nase-cesty-section-title {
    font-family: var(--font-heading);
}

.mts-nase-cesty-locations {
    position: relative;   /* kotva pro dekorativní tečky */
    overflow: hidden;     /* tečky přetékající přes okraj se ořízne */
    padding: 6rem 0;
    background-color: white;
}
/* Obsah nad tečkami (tečky mají z-index 0). */
.mts-nase-cesty-locations > .container {
    position: relative;
    z-index: 1;
}

/* Vystředěná hlavička sekce */
.mts-nase-cesty-header-center {
    text-align: center;
    max-width: 800px;
    margin: 0 auto 3rem auto;
}
.mts-nase-cesty-header-center .mts-nase-cesty-section-title {
    color: var(--color-sport);
}

/* Navigace tabů */
/* Přepínač – segmentovaný (sladěno s Ceníkem), pouzdro + průhledné buttony */
.mts-nase-cesty-tabs-nav {
    display: inline-flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.35rem;
    margin-top: 2rem;
    padding: 0.35rem;
    background-color: var(--c-bg);
    border-radius: 99px;
    max-width: 100%;
}
.mts-tab-btn {
    padding: 0.75rem 1.75rem;
    border-radius: 99px;
    border: none;
    background: transparent;
    color: var(--color-sport);
    font-family: var(--font-body);
    font-size: 1.125rem;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.3s ease, color 0.3s ease;
}
.mts-tab-btn:hover {
    color: var(--c-primary);
}
.mts-tab-btn.active {
    background-color: var(--c-primary);
    color: white;
}
/* Mobil – přepínač do sloupce (sladěno s Ceníkem) */
@media (max-width: 767px) {
    .mts-nase-cesty-tabs-nav {
        display: flex;
        flex-direction: column;
        border-radius: 1.25rem;
		width: 100% !important;
    }
    .mts-tab-btn {
        width: 100%;
    }
}

/* =========================================================
   DVOJITÝ FILTR: 1. pruh = města, 2. pruh = části
   ========================================================= */
/* 1. pruh: přepínač měst (výrazný pilulkový) */
.mts-loc-filtr-mesta {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.5rem;
    margin-top: 2.5rem;
    width: fit-content;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
}
.mts-loc-mesto-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.65rem 1.5rem;
    border: 1px solid color-mix(in srgb, var(--color-sport) 25%, transparent);
    background: transparent;
    border-radius: 99px;
    font-family: var(--font-body);
    font-size: 1.125rem;
	text-transform: uppercase;
    font-weight: 700;
    color: var(--color-sport);
    cursor: pointer;
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}
/* Ikona pinu (lokalita) před názvem města. Přes mask dědí barvu textu,
   takže se sama přebarví z tmavé na bílou při aktivaci tlačítka. */
.mts-loc-mesto-btn::before {
    content: "";
    flex-shrink: 0;
    width: 1.05em;
    height: 1.05em;
    background-color: currentColor;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
}
.mts-loc-mesto-btn:hover {
    border-color: var(--color-sport);
}
.mts-loc-mesto-btn.active {
    background-color: var(--color-sport);
    border-color: var(--color-sport);
    color: white;
}

/* Skrytá část (nepatří k vybranému městu) */
.mts-nase-cesty-tabs-nav .mts-tab-btn[hidden] {
    display: none;
}

/* 2. pruh (části) – na vlastním řádku pod městy, vycentrovaný */
.mts-loc-filtr-mesta + .mts-nase-cesty-tabs-nav {
    display: flex;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    margin-top: 1rem;
}

@media (max-width: 767px) {
    .mts-loc-filtr-mesta {
        display: flex;
        flex-direction: column;
        width: 100%;
    }
    .mts-loc-mesto-btn {
        width: 100%;
    }
}

/* Obsah tabů (přepínání) */
.mts-tab-content {
    display: none;
}
.mts-tab-content.active {
    display: block;
}
/* Náběhová animace obsahu (řídí ji JavaScript) */
.mts-tab-content.is-animating {
    animation: mts-tab-fade 2.5s ease forwards;
}
@keyframes mts-tab-fade {
    from {
        opacity: 0;
        transform: translateY(12px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* Karta lokality */
.location-card {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    background-color: white;
    border-radius: 2rem;
    overflow: hidden;
    border: 1px solid #F1F5F9;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    margin-top: 3rem;	
}

/* Levá strana — fotka */
.location-visual {
    position: relative;
    min-height: 400px;
}
.location-visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.location-badge {
    position: absolute;
    top: 2rem;
    left: 2rem;
    background-color: #ffffff;
    color: var(--c-primary);
    padding: 0.5rem 1.5rem;
    border-radius: 99px;	
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase; 
}
/* Pravá strana — informace */
.location-info {
    padding: 4rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.location-name {
	font-family: var(--font-heading);
    font-size: var(--h3-nadpis);
    margin-bottom: 1rem;
    color: var(--color-sport);
	font-weight: 700;
	line-height: 1.2;
}
.location-desc {
    color: #64748B;
    line-height: 1.6;
    margin-bottom: 2rem;
	font-size: var(--h3-text);
}

/* Místo srazu */
.location-details {
    margin-bottom: 2rem;
    padding-bottom: 2rem;
    border-bottom: 1px solid #F1F5F9;
}
.detail-row {
    display: flex;
    gap: 1rem;
}
.detail-icon {
    font-size: 1.5rem;
    line-height: 1;
}
.detail-row strong {
    color: var(--color-sport);
}
.detail-row p {
    margin: 0.25rem 0 0 0;
    color: #64748B;
	font-size: 1.125rem;
}

.detail-row p a {
    text-decoration: underline;
    transition: all 0.3s ease;
    text-underline-offset: 0.3rem;
}

.detail-row p a:hover {
    color: #454E5E;
}

/* Rozvrh lekcí */
.schedule-box {
    background-color: var(--c-bg);
    padding: 1.5rem;
    border-radius: 1.5rem;
    margin-bottom: 2rem;
}
.schedule-title {
    font-size: 1rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--color-sport);
    margin-bottom: 1rem;
	font-weight: 700;
	text-decoration: underline;	
    text-decoration-thickness: 2px;
	text-underline-offset: 0.3rem;
}
.schedule-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.schedule-list li {
    display: flex;
    justify-content: space-between;
    margin-bottom: 0.5rem;
    font-size: 1.125rem;
    color: #475569;
    border-bottom: 1px dashed rgba(71, 85, 104, 0.5);
    padding-bottom: 0.5rem;
}
.schedule-list li:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}
.schedule-list .day {
    font-weight: 700;
}

/* Akce (tlačítka) */
.location-actions {
    display: flex;
    gap: 1rem;
    margin-top: 1rem;
    flex-wrap: wrap;
}

/* === Responzivita === */
@media (max-width: 989px) {
    .location-card {
        grid-template-columns: 1fr;
    }
    .location-visual {
        min-height: 250px;
    }
    .location-info {
        padding: 2rem;
    }
    .location-actions {
        flex-direction: column;
        gap: 1rem;
    }
    .location-actions .btn {
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
    }
}

@media (max-width: 767px) {
    .mts-nase-cesty-locations {
        padding: 4rem 0;
    }
}

/* =========================================================
   BLOK: PRICING (ceník – cenové karty)
   Barvy řízené paletou: var(--c-primary), var(--c-bg)
   ========================================================= */
   
   /* Fonty: celá sekce body, výjimky heading */
.mts-nase-cesty-pricing,
.mts-nase-cesty-pricing * {
    font-family: var(--font-body);
}
.mts-nase-cesty-pricing .mts-nase-cesty-section-title,
.mts-nase-cesty-pricing .price-title,
.mts-nase-cesty-pricing .price-amount {
    font-family: var(--font-heading);
	font-weight: 900;
}
 
.mts-nase-cesty-pricing {
    padding: 6rem 0;
    background-color: var(--c-bg);
    position: relative;
}
 
/* Mřížka karet: 3 vedle sebe */
.mts-nase-cesty-pricing-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    align-items: center;
}
 
/* Karta */
.mts-nase-cesty-pricing-grid .price-card {
    background-color: white;
    border-radius: 2rem;
    padding: 2.5rem;
    text-align: center;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03);
	transform: scale(0.9);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border: 1px solid transparent;
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    height: 100%;
}
.mts-nase-cesty-pricing-grid .price-card:hover {
    transform: scale(0.9) translateY(-5px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
}
 
/* Zvýrazněná karta */
.mts-nase-cesty-pricing-grid .price-card.featured {
    transform: scale(1.05);
    border: 2px solid var(--c-primary);
}
.mts-nase-cesty-pricing-grid .price-card.featured:hover {
    transform: scale(1.05) translateY(-5px);
}
 
/* Štítek nad zvýrazněnou kartou */
.mts-nase-cesty-pricing-grid .featured-label {
    position: absolute;
    top: -12px;
    left: 50%;
    transform: translateX(-50%);
    background-color: var(--c-primary);
    color: white;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    padding: 4px 18px;
    border-radius: 99px;
    white-space: nowrap;
}
 
/* Texty v kartě */
.mts-nase-cesty-pricing-grid .price-title {
    font-size: 1.5rem;
    margin-bottom: 0.5rem;
    color: var(--color-sport);
}
.mts-nase-cesty-pricing-grid .price-card.featured .price-title {
    color: var(--c-primary);
}
.mts-nase-cesty-pricing-grid .price-amount {
    font-family: var(--font-heading);
    font-size: 3rem;
    font-weight: 900;
    color: var(--color-sport);
    line-height: 1;
    margin-bottom: 0.5rem;
}
.mts-nase-cesty-pricing-grid .price-amount .currency {
    font-size: 1.2rem;
    font-weight: 400;
    vertical-align: super;
}
.mts-nase-cesty-pricing-grid .price-desc {
    color: #64748B;
    font-size: 1.125rem;
    margin-bottom: 2rem;
    font-style: italic;
}
 
/* Seznam výhod */
.mts-nase-cesty-pricing-grid .price-list {
    list-style: none;
    padding: 0;
    margin: 0 0 2rem 0;
    color: #475569;
    font-size: 1.25rem;
	line-height: 1.4;
}
.mts-nase-cesty-pricing-grid .price-list li {
    margin-bottom: 0.8rem;
    padding-bottom: 0.8rem;
    border-bottom: 1px dashed rgba(71, 85, 104, 0.3);
}
.mts-nase-cesty-pricing-grid .price-list li:last-child {
    border-bottom: none;
}

.mts-nase-cesty-pricing-grid .price-list li a {
    text-decoration: underline;
    transition: all 0.3s ease;
    text-underline-offset: 0.3rem;
}

.mts-nase-cesty-pricing-grid .price-list li a:hover {
    color: var(--c-badge);
}
 
/* CTA tlačítko v kartě – přilepené ke dnu */
.mts-nase-cesty-pricing-grid .price-cta {
    margin-top: auto;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 100%;
	font-size: 1.25rem !important;
}

/* Outline tlačítko (postranní karty) – vyšší padding, aby sedělo */
.mts-nase-cesty-pricing-grid .price-cta.btn-outline-nase-cesty {
    padding: 1.2rem 2.5rem !important;
}
/* Featured tlačítko – stejný padding jako tlačítka v ostatních sekcích */
.mts-nase-cesty-pricing-grid .price-cta.btn-primary {
    padding: 0.9rem 2.5rem !important;
	font-size: 1rem;
}
 
/* === Responzivita === */
@media (max-width: 989px) {
    .mts-nase-cesty-pricing-grid {
        grid-template-columns: 1fr;
        gap: 3rem;
    }
    .mts-nase-cesty-pricing-grid .price-card.featured {
        transform: scale(1);
    }
    .mts-nase-cesty-pricing-grid .price-card.featured:hover {
        transform: translateY(-5px);
    }
}
 
@media (max-width: 767px) {
    .mts-nase-cesty-pricing {
        padding: 4rem 0;
    }
}

/* =========================================================
   BLOK: VLOG (video + text)
   Tmavá sekce. Barvy řízené paletou: var(--c-primary)
   ========================================================= */
   
   /* Fonty: celá sekce body, výjimka nadpis */
.mts-nase-cesty-vlog,
.mts-nase-cesty-vlog * {
    font-family: var(--font-body);
}
.mts-nase-cesty-vlog .vlog-title {
    font-family: var(--font-heading);
}
 
.mts-nase-cesty-vlog {
    padding: 6rem 0;
    background-color: var(--color-sport);
    color: white;
    overflow: hidden;
}
 
/* Mřížka: video | text */
.mts-nase-cesty-vlog-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: center;
}
 
/* --- LEVÝ SLOUPEC: video --- */
.mts-nase-cesty-vlog-card {
    cursor: pointer;
}
.mts-nase-cesty-vlog .vlog-image-wrapper {
    aspect-ratio: 16 / 9;
    background-color: #1F2937;
    border-radius: 2rem;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
    position: relative;
    transform: translateZ(0);
}
.mts-nase-cesty-vlog .vlog-image-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.8;
    transition: transform 0.8s ease, opacity 0.5s ease;
}
.mts-nase-cesty-vlog-card:hover .vlog-image-wrapper img {
    transform: scale(1.05);
    opacity: 0.6;
}
 
/* Play tlačítko */
.mts-nase-cesty-vlog .vlog-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.mts-nase-cesty-vlog .play-circle-medium {
    width: 5rem;
    height: 5rem;
    background-color: rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(12px);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 1.5rem;
    transition: transform 0.3s ease, background-color 0.3s ease;
    border: 1px solid rgba(255, 255, 255, 0.1);
}
.mts-nase-cesty-vlog-card:hover .play-circle-medium {
    transform: scale(1.15);
    background-color: rgba(255, 255, 255, 0.3);
}
 
/* Popisek pod videem */
.mts-nase-cesty-vlog .vlog-caption {
    margin-top: 1.5rem;
    text-align: center;
    font-family: var(--font-heading);
    font-style: italic;
    color: rgba(255, 255, 255, 0.6);
    font-size: 1.125rem;
}
 
/* --- PRAVÝ SLOUPEC: text --- */
.mts-nase-cesty-vlog .vlog-badge {
    display: inline-block;
    background-color: var(--c-primary);
    padding: 0.4rem 1rem;
    border-radius: 99px;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: white;
    margin-bottom: 1.5rem;
}
.mts-nase-cesty-vlog .vlog-title {
    color: white;
}
.mts-nase-cesty-vlog .vlog-desc {
    color: rgba(255, 255, 255, 0.7);
    line-height: 1.7;
    margin-bottom: 2rem;
}
 
/* Info boxy (ikona + popisek) */
.mts-nase-cesty-vlog .vlog-features {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}
.mts-nase-cesty-vlog .vlog-box {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    background-color: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.1);
    padding: 0.4rem 1rem;
    border-radius: 0.75rem;
    transition: background-color 0.3s;
}
.mts-nase-cesty-vlog .vlog-box:hover {
    background-color: rgba(255, 255, 255, 0.15);
}
.mts-nase-cesty-vlog .vlog-box-icon {
    display: inline-flex;
    color: var(--c-primary);
}
.mts-nase-cesty-vlog .vlog-box-icon svg {
    width: 1.5rem;
    height: 1.5rem;
}

.mts-nase-cesty-vlog .vlog-box-icon svg path {
    fill: var(--c-primary);
}

.mts-nase-cesty-vlog .vlog-box-label {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: white;
}
 
/* --- TLAČÍTKO pod sloupci, vycentrované, pevná šířka --- */
.mts-nase-cesty-vlog .vlog-action-wrapper {
    display: flex;
    justify-content: center;
    margin-top: 4rem;
}
.mts-nase-cesty-vlog .btn-outline-vlog {
    display: inline-flex;
    align-items: center;
    justify-content: center;
	text-align: center;
	line-height: 1.2;
    width: 300px;
    max-width: 100%;
    padding: 1rem 2rem;
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 99px;
    color: white;
	font-size: 1.125rem;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-decoration: none;
    transition: all 0.3s ease;
	
}
.mts-nase-cesty-vlog .btn-outline-vlog:hover {
    background-color: white;
    color: var(--color-sport);
    border-color: white;
    transform: translateY(-2px);
}
 
/* === Responzivita === */
@media (max-width: 989px) {
    .mts-nase-cesty-vlog-grid {
        grid-template-columns: 1fr;
        gap: 3rem;
    }
    .mts-nase-cesty-vlog-content {
        text-align: center;
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .mts-nase-cesty-vlog .vlog-features {
        justify-content: center;
    }
}
 
@media (max-width: 767px) {
    .mts-nase-cesty-vlog {
        padding: 4rem 0;
    }
}

/* =========================================================
   BLOK: FAQ (časté dotazy – accordion)
   Ikona řízená paletou: var(--c-primary)
   ========================================================= */
 
.mts-nase-cesty-faq {
    padding: 6rem 0;
    background-color: white;
}
 
/* Fonty: vše body, výjimka nadpis */
.mts-nase-cesty-faq,
.mts-nase-cesty-faq * {
    font-family: var(--font-body);
}
.mts-nase-cesty-faq .mts-nase-cesty-section-title {
    font-family: var(--font-heading);
}
 
.mts-nase-cesty-faq .faq-container {
    max-width: 800px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
 
.mts-nase-cesty-faq .faq-item {
    background-color: white;
    border-radius: 1rem;
    border: 1px solid #F3F4F6;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
    overflow: hidden;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}
.mts-nase-cesty-faq .faq-item.active {
    border-color: var(--c-primary);
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.08);
}
 
.mts-nase-cesty-faq .faq-btn {
    width: 100%;
    padding: 1.25rem 1.5rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    text-align: left;
    background: none;
    border: none;
    cursor: pointer;
    transition: background-color 0.2s;
}
.mts-nase-cesty-faq .faq-btn:hover {
    background-color: #FAFAFA;
}
 
.mts-nase-cesty-faq .faq-question {
    font-weight: 500;
    font-size: var(--faq-nadpis);
	line-height: 1.3;
    color: var(--color-sport);
}
 
/* Ikona (šipka) – obarvená paletou, otáčí se */
.mts-nase-cesty-faq .faq-icon {
    display: inline-flex;
    flex-shrink: 0;
    color: var(--c-primary);
    transition: transform 0.3s ease;
}
.mts-nase-cesty-faq .faq-icon svg {
    width: 1.5rem;
    height: 1.5rem;
}
.mts-nase-cesty-faq .faq-item.active .faq-icon {
    transform: rotate(180deg);
}
 
/* Rozbalovací obsah */
.mts-nase-cesty-faq .faq-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-out;
}
.mts-nase-cesty-faq .faq-text {
    padding: 0 1.5rem 1.5rem 1.5rem;
    color: #4A5568;
    line-height: 1.6;
	font-size: var(--faq-popis);
	margin-top: 1rem;
}
.mts-nase-cesty-faq .faq-text p {
    margin: 0 0 0.75rem 0;
}
.mts-nase-cesty-faq .faq-text p:last-child {
    margin-bottom: 0;
}

.mts-nase-cesty-faq .faq-text a {
text-decoration: underline;
text-underline-offset: 0.3rem
}

.mts-nase-cesty-faq .faq-text a:hover {
color: var(--color-sport)
}
 
/* === Responzivita === */
@media (max-width: 767px) {
    .mts-nase-cesty-faq {
        padding: 4rem 0;
    }
}

/* =========================================================
   BLOK: CONTACT (text + formulář)
   Barevné pozadí palety: var(--c-primary)
   ========================================================= */
 
.mts-nase-cesty-contact {
    position: relative;
    padding: 6rem 0;
    background-image: linear-gradient(
        to right,
        color-mix(in srgb, var(--c-primary) 75%, transparent),
        var(--c-primary)
    );
    color: white;
    overflow: hidden;
}

/* Dekorativní triskelion na pozadí */
.mts-nase-cesty-contact-deco {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    opacity: 0.08;
    pointer-events: none;
    z-index: 0;
}
.mts-nase-cesty-contact-deco svg {
    height: 95%;
    width: auto;
    display: block;
}
 
/* Fonty: vše body, výjimka nadpis */
.mts-nase-cesty-contact,
.mts-nase-cesty-contact * {
    font-family: var(--font-body);
}
.mts-nase-cesty-contact .contact-title {
    font-family: var(--font-heading);
}
 
.mts-nase-cesty-contact-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: center;
}
 
/* --- LEVÝ SLOUPEC: text --- */
.mts-nase-cesty-contact .contact-subtitle {
    display: block;
    font-size: 0.875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #ffffff;
    margin-bottom: 1rem;
}
.mts-nase-cesty-contact .contact-title {
    color: white;
}
.mts-nase-cesty-contact .contact-perex {
    font-size: var(--text-body-size);
    color: rgba(255, 255, 255, 0.9);
    margin-bottom: 2.5rem;
    line-height: 1.6;
}
.mts-nase-cesty-contact .cta-pre-text {
    font-size: 0.9rem;
    margin-bottom: 0.5rem;
    color: #ffffff;
}
.mts-nase-cesty-contact .btn-white-shadow {
    display: inline-block;
    background-color: white;
    color: var(--c-primary);
	text-align: center;
	line-height: 1.2;
    padding: 1rem 3.5rem;
    border-radius: 99px;
    font-weight: 700;
    font-size: 1.125rem;
    text-decoration: none;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.mts-nase-cesty-contact .btn-white-shadow:hover {
    transform: translateY(-2px);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.2);
}
 
/* --- PRAVÝ SLOUPEC: formulář (glassmorphism) --- */
.mts-nase-cesty-contact .contact-form-col {
    background-color: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(12px);
    border-radius: 2rem;
    padding: 2rem;
    border: 1px solid rgba(255, 255, 255, 0.2);
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}
.mts-nase-cesty-contact .form-title {
    font-size: 1.75rem;
    margin-bottom: 1.5rem;
    color: #ffffff;
	font-family: var(--font-heading);
	font-weight: 700;
}
 
/* Mřížka polí (dvousloupcové rozložení) */
.mts-nase-cesty-contact .mts-form-rows {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}
.mts-nase-cesty-contact .mts-form-group {
    display: flex;
    flex-direction: column;
}
.mts-nase-cesty-contact .mts-form-group.field-full {
    grid-column: 1 / -1;
}
.mts-nase-cesty-contact .mts-form-group.field-half {
    grid-column: span 1;
}
 
/* Labely */
.mts-nase-cesty-contact .mts-form-group label {
    font-size: 1rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: rgba(255, 255, 255, 0.9);
    margin-bottom: 0.5rem;
    font-weight: 900;
}
.mts-nase-cesty-contact .req {
    color: white;
}
 
/* Inputy, selecty, textarea */
.mts-nase-cesty-contact input[type="text"],
.mts-nase-cesty-contact input[type="email"],
.mts-nase-cesty-contact input[type="tel"],
.mts-nase-cesty-contact select,
.mts-nase-cesty-contact textarea {
    width: 100%;
    background-color: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 0.75rem;
    padding: 0.75rem 1rem;
    color: white;
    font-size: 1rem;
    transition: background-color 0.3s ease, border-color 0.3s ease;
    outline: none;
}
.mts-nase-cesty-contact input::placeholder,
.mts-nase-cesty-contact textarea::placeholder {
    color: rgba(255, 255, 255, 0.5);
}
.mts-nase-cesty-contact input:focus,
.mts-nase-cesty-contact select:focus,
.mts-nase-cesty-contact textarea:focus {
    background-color: rgba(255, 255, 255, 0.25);
    border-color: white;
}
/* Dropdown volby (na bílém pozadí, tmavý text) */
.mts-nase-cesty-contact select option {
    color: var(--color-sport);
    background-color: white;
}
 
/* Pole s ikonou (e-mail, telefon) */
.mts-nase-cesty-contact .mts-input-icon {
    position: relative;
}
.mts-nase-cesty-contact .mts-input-icon .input-icon {
    position: absolute;
    left: 1rem;
    top: 50%;
    transform: translateY(-50%);
    display: inline-flex;
    color: rgba(255, 255, 255, 0.6);
    pointer-events: none;
}
.mts-nase-cesty-contact .mts-input-icon .input-icon svg {
    width: 1.25rem;
    height: 1.25rem;
}
.mts-nase-cesty-contact .mts-input-icon input {
    padding-left: 2.75rem;
}
 
/* GDPR souhlas */
.mts-nase-cesty-contact .mts-form-consent {
    margin-top: 1.25rem;
}
.mts-nase-cesty-contact .mts-form-consent label {
    display: flex;
    align-items: flex-start;
    gap: 0.6rem;
    cursor: pointer;
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.85);
    line-height: 1.5;
}
.mts-nase-cesty-contact .mts-form-consent input[type="checkbox"] {
    margin-top: 0.2rem;
    width: 1.1rem;
    height: 1.1rem;
    flex-shrink: 0;
    accent-color: white;
    cursor: pointer;
}
.mts-nase-cesty-contact .mts-form-consent a {
    color: white;
    text-decoration: underline;
}
/* Druhý souhlas – menší mezera, navazuje na GDPR souhlas */
.mts-nase-cesty-contact .mts-form-consent-2 {
    margin-top: 0.5rem;
}
/* Text z WYSIWYG přijde zabalený v <p> – zploštíme ho, aby hvězdička
   zůstala na stejném řádku a nevznikaly zbytečné marginy. */
.mts-nase-cesty-contact .mts-form-consent-2 label > span {
    display: inline;
}
.mts-nase-cesty-contact .mts-form-consent-2 label > span p {
    display: inline;
    margin: 0;
}
 
/* Tlačítko Odeslat */
.mts-nase-cesty-contact .mts-form-submit {
    margin-top: 1.5rem;
    width: 100%;
    background-color: transparent;
    color: white;
    border: 2px solid white;
    cursor: pointer;
	font-size: 1.125rem;
	font-weight: 500;
}
.mts-nase-cesty-contact .mts-form-submit:hover {
    transform: translateY(-2px);
	background-color: white;
	color: var(--c-primary);
}
 
/* Honeypot – skryté pole (nesmí být display:none kvůli robotům) */
.mts-hp-field {
    position: absolute !important;
    left: -9999px !important;
    width: 1px;
    height: 1px;
    overflow: hidden;
}
 
/* === Responzivita === */
@media (max-width: 989px) {
    .mts-nase-cesty-contact-grid {
        grid-template-columns: 1fr;
        gap: 3rem;
    }
    /* Levý sloupec vycentrovaný (texty i tlačítko) */
    .mts-nase-cesty-contact .contact-text-col {
        text-align: center;
    }
}
 
@media (max-width: 767px) {
    .mts-nase-cesty-contact {
        padding: 4rem 0;
    }
}

@media (max-width: 668px) {
    .mts-nase-cesty-contact .mts-form-rows {
        grid-template-columns: 1fr;
    }
    .mts-nase-cesty-contact .mts-form-group.field-half {
        grid-column: 1 / -1;
    }
}

/* =========================================================
   BLOK: TERMÍNY (aktuální termíny kurzů — taby + karty)
   ========================================================= */
 
.mts-nase-cesty-terminy {
    position: relative;   /* kotva pro dekorativní tečky */
    overflow: hidden;     /* tečky přetékající přes okraj se ořízne */
    padding: 6rem 0;
    background-color: white;
}
/* Obsah nad tečkami (tečky mají z-index 0). */
.mts-nase-cesty-terminy > .container {
    position: relative;
    z-index: 1;
}
 
/* Fonty: vše body, výjimky nadpisy */
.mts-nase-cesty-terminy,
.mts-nase-cesty-terminy * {
    font-family: var(--font-body);
}
.mts-nase-cesty-terminy .mts-nase-cesty-section-title,
.mts-nase-cesty-terminy .loc-title,
.mts-nase-cesty-terminy .loc-subtitle,
.mts-nase-cesty-terminy .price-value {
    font-family: var(--font-heading);
}
 
/* --- Hlavička sekce --- */
.mts-nase-cesty-terminy .mts-nase-cesty-terminy-header {
    text-align: center;
    margin-bottom: 3rem;
}
.mts-nase-cesty-terminy .mts-nase-cesty-section-desc {
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}
 
/* --- Taby (pilulky) --- */
.mts-nase-cesty-terminy .mts-nase-cesty-tabs-nav {
    display: inline-flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.35rem;
    margin-top: 1rem;
    padding: 0.35rem;
    background-color: var(--c-bg);
    border-radius: 99px;
    max-width: 100%;
}
.mts-nase-cesty-terminy .mts-tab-btn {
    padding: 0.75rem 1.75rem;
    border-radius: 99px;
    border: none;
    background: transparent;
    color: var(--color-sport);
    font-family: var(--font-body);
    font-size: 1.125rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    cursor: pointer;
    transition: background-color 0.3s ease, color 0.3s ease;
}
.mts-nase-cesty-terminy .mts-tab-btn:hover {
    color: var(--c-primary);
}
.mts-nase-cesty-terminy .mts-tab-btn.active {
    background-color: var(--c-primary);
    color: white;	
}
/* Mobil – přepínač termínů do sloupce */
@media (max-width: 767px) {
    .mts-nase-cesty-terminy .mts-nase-cesty-tabs-nav {
        display: flex;
        flex-direction: column;
        border-radius: 1.25rem;
    }
    .mts-nase-cesty-terminy .mts-tab-btn {
        width: 100%;
    }
}
 
/* --- Obsah tabu (přepínání s animací) --- */
.mts-nase-cesty-terminy .mts-tab-content {
    display: none;
}

.mts-nase-cesty-terminy .mts-tab-content.active {
    display: block;
    background-color: color-mix(in srgb, var(--c-bg) 40%, white);
    padding: 3rem;
    border-radius: 2rem;	
}

.mts-nase-cesty-terminy .mts-tab-content.active.is-animating {
    animation: mts-terminy-fade 2.5s ease forwards;
}
@keyframes mts-terminy-fade {
    from { opacity: 0; transform: translateY(10px); }
    to   { opacity: 1; transform: translateY(0); }
}
 
/* --- Rozšířená hlavička lokality --- */
.mts-nase-cesty-terminy .mts-terminy-loc-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 3rem;
    margin-bottom: 3rem;
    padding-bottom: 2rem;
    border-bottom: 1px dashed var(--c-primary);
}
.mts-nase-cesty-terminy .loc-title {
    font-size: var(--h3-nadpis);
    font-weight: 800;
    margin: 0 0 0.25rem 0;
    color: var(--color-sport);
	line-height: 1.2;
}
.mts-nase-cesty-terminy .loc-subtitle {
    display: block;
    font-style: italic;
    color: #4A5568;
    font-size: 1.125rem;
    margin-bottom: 1.5rem;
}
.mts-nase-cesty-terminy .loc-perex {
    font-size: 1.125rem;
    color: #4A5568;
    line-height: 1.6;
}

.mts-nase-cesty-terminy .loc-header-action {
    flex-shrink: 0;
}
 
/* --- Grid karet kurzů --- */
.mts-nase-cesty-terminy .mts-terminy-courses-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(340px, 100%), 1fr));
    gap: 2rem;
}
 
/* --- Karta kurzu --- */
.mts-nase-cesty-terminy .mts-course-card {
    background-color: white;
    border-radius: 1.5rem;
    border: 1px solid #F1F5F9;    
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    display: flex;
    flex-direction: column;
}
.mts-nase-cesty-terminy .mts-course-card:hover {
    transform: translateY(-5px);    
}
.mts-nase-cesty-terminy .mts-course-card.is-obsazeno {
    opacity: 0.85;
}
 
/* Header karty (obrázek + overlay) */
.mts-nase-cesty-terminy .course-header {
    height: 150px;
    position: relative;
    overflow: hidden;
    background-color: var(--c-primary);
}
.mts-nase-cesty-terminy .course-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
	object-position: top;
}
.mts-nase-cesty-terminy .course-title-overlay {
    position: absolute;
    top: 1.5rem;
    left: 1.5rem;
    color: white;
    z-index: 2;
}
.mts-nase-cesty-terminy .course-loc {
    display: block;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    opacity: 0.9;
    margin-bottom: 0.25rem;
}
.mts-nase-cesty-terminy .course-name {
    font-family: var(--font-heading);
    font-size: 1.75rem;
	line-height: 1.2;
    font-weight: 700;
    color: white;
    margin: 15px 0 0 0;
}
/* Tmavý přechod pod overlay textem (čitelnost na obrázku) */
.mts-nase-cesty-terminy .course-header::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.45), rgba(0, 0, 0, 0.05));
    z-index: 1;
}
 
/* Status badge */
.mts-nase-cesty-terminy .course-status {
    position: absolute;
    z-index: 3;
    font-weight: 700;
    border-radius: 99px;
}
.mts-nase-cesty-terminy .status-volno {
    top: 1.5rem;
    right: 1.5rem;
    background-color: var(--c-primary);
    backdrop-filter: blur(8px);
    padding: 4px 12px;
    color: white;
    font-size: 0.65rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.mts-nase-cesty-terminy .status-obsazeno {
    top: 65%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(-8deg);
    background-color: #EF4444;
    color: white;
    padding: 0.75rem 2.5rem;
    font-weight: 800;
    text-transform: uppercase;
    font-size: 1rem;
	opacity: 0.9;
}

.mts-nase-cesty-terminy .status-pripravujeme {
    top: 65%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(-8deg);
    background-color: #F59E0B;
    color: white;
    padding: 0.75rem 2.5rem;
    font-weight: 800;
    text-transform: uppercase;
    font-size: 1rem;
	opacity: 0.9;
}
 
/* Tělo karty */
.mts-nase-cesty-terminy .course-body {
    padding: 2rem;
    flex: 1;
    display: flex;
    flex-direction: column;
}
.mts-nase-cesty-terminy .course-start {
    background-color: var(--color-sport);
    color: white;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
	font-size: 1.125rem;	
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 0.3rem;
	text-transform: uppercase;
    /* roztažení přes padding course-body (2rem na každé straně) */
    margin: -2rem -2rem 2rem -2rem;	
}
 
/* Info řádky */
.mts-nase-cesty-terminy .course-info-row {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1.25rem;
}
.mts-nase-cesty-terminy .info-icon {
    width: 3rem;
    height: 3rem;
    background-color: #e6ebf1;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.mts-nase-cesty-terminy .info-icon svg {
    width: 1.25rem;
    height: 1.25rem;
}
.mts-nase-cesty-terminy .info-icon svg path {
    fill: var(--c-primary);
}
.mts-nase-cesty-terminy .info-label {
    font-weight: 700;
    font-size: 1.375rem;
    line-height: 1.2;
    color: var(--color-sport);
    margin: 0;
}
.mts-nase-cesty-terminy .info-value {
    font-size: 1.125rem;
    color: #64748B;
    margin: 0;
}
 
/* Footer karty (cena + tlačítko) */
.mts-nase-cesty-terminy .course-footer {
    margin-top: auto;
    padding-top: 1.5rem;
    border-top: 1px solid #F1F5F9;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
}

.mts-nase-cesty-terminy .course-price {
    text-align: center;
}
.mts-nase-cesty-terminy .price-label {
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    color: #94A3B8;
    margin: 0;
}
.mts-nase-cesty-terminy .price-value {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1;
    color: var(--color-sport);
    margin: 0;
}
.mts-nase-cesty-terminy .btn-disabled {
    background-color: #E2E8F0;
    color: #94A3B8;
    cursor: not-allowed;
    pointer-events: none;
    border-radius: 99px;
    padding: 0.8rem 1.5rem !important;
    border: none;
}
 
/* === Responzivita === */
@media (max-width: 1024px) {
    .mts-nase-cesty-terminy .mts-terminy-loc-header {
        flex-direction: column;
        gap: 1.5rem;
    }
}

@media (max-width: 767px) {
    .mts-nase-cesty-terminy {
        padding: 4rem 0;
    }
}

@media (max-width: 668px) {
    .mts-nase-cesty-terminy .mts-terminy-loc-header {
        align-items: center;
    }
    .mts-nase-cesty-terminy .loc-title,
    .mts-nase-cesty-terminy .loc-subtitle,
    .mts-nase-cesty-terminy .loc-perex {
        text-align: center;
    }
    .mts-nase-cesty-terminy .mts-tab-content.active {
        padding: 1rem;
    }
	.mts-nase-cesty-terminy .loc-title {
        padding: 1rem 2rem 0 2rem;
    }
	.mts-nase-cesty-terminy .loc-perex {
        padding: 0 2rem 0 2rem;
    }
}

@media (min-width: 479px) and (max-width: 989px) {
    .mts-nase-cesty-terminy .course-header {
        height: 200px;
    }
}

/* =========================================================
   BLOK: CESTA (timeline kroků)
   ========================================================= */
 
.mts-nase-cesty-cesta {
    padding: 6rem 0;
    background-color: white;
}
 
/* Fonty: vše body, výjimky nadpisy */
.mts-nase-cesty-cesta,
.mts-nase-cesty-cesta * {
    font-family: var(--font-body);
}
.mts-nase-cesty-cesta .mts-nase-cesty-section-title,
.mts-nase-cesty-cesta .step-number,
.mts-nase-cesty-cesta .step-title {
    font-family: var(--font-heading);
}
 
/* Hlavička */
.mts-nase-cesty-cesta .mts-nase-cesty-cesta-header {
    text-align: center;
    margin-bottom: 4rem;
}
.mts-nase-cesty-cesta .mts-nase-cesty-section-desc {
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}
 
/* Timeline grid (flexibilní počet kroků) */
.mts-nase-cesty-cesta .mts-cesta-timeline {
    position: relative;
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 2rem;
}
 
/* Jeden krok */
.mts-nase-cesty-cesta .mts-cesta-step {
    position: relative;
    padding-top: 4.5rem;
}
 
/* Číselné kolečko */
.mts-nase-cesty-cesta .step-number {
    position: absolute;
    left: 0;
    top: 0;
    width: 3rem;
    height: 3rem;
    background-color: var(--c-bg);
    border: 2px solid var(--c-primary);
    color: var(--c-primary);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 1.2rem;
    z-index: 2;
}
 
/* Spojovací čára k dalšímu kroku */
.mts-nase-cesty-cesta .mts-cesta-step::before {
    content: "";
    position: absolute;
    top: 1.4rem;
    left: 3rem;
    right: -2rem;
    height: 2px;
    background-color: var(--c-primary);
    opacity: 0.3;
}
/* Poslední krok nemá čáru (nikam nepokračuje) */
.mts-nase-cesty-cesta .mts-cesta-step:last-child::before {
    display: none;
}
 
/* Karta obsahu kroku */
.mts-nase-cesty-cesta .step-content {
    background-color: #F8FAFC;
    padding: 2rem;
    border-radius: 1.5rem;
    height: 100%;
    transition: transform 0.3s ease, background-color 0.3s ease;
}
.mts-nase-cesty-cesta .mts-cesta-step:hover .step-content {
    transform: translateY(-10px);
    background-color: var(--c-bg);
}
.mts-nase-cesty-cesta .step-title {
    font-size: 1.875rem;
    color: var(--color-sport);
    margin: 0 0 1rem 0;
	font-weight: 700;
	line-height: 1.2;
}
.mts-nase-cesty-cesta .step-text {
    font-size: var(--h3-text);
    color: #475569;
    margin: 0;
}

.mts-nase-cesty-cesta .step-text a {
text-decoration: underline;
transition: all 0.3s ease;
text-underline-offset: 0.3rem;
}

.mts-nase-cesty-cesta .step-text a:hover {
color: var(--color-sport);
}
 
/* === Responzivita: pod sebe s vertikální čárou (jako reference) === */
@media (max-width: 900px) {
    .mts-nase-cesty-cesta .mts-cesta-timeline {
        grid-template-columns: 1fr;
        gap: 0;
        max-width: 600px;
        padding-left: 2rem;
    }
 
    /* Globální svislá čára */
    .mts-nase-cesty-cesta .mts-cesta-timeline::after {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        width: 2px;
        background: linear-gradient(to bottom, var(--c-primary), var(--color-sport));
        opacity: 0.3;
    }
 
    .mts-nase-cesty-cesta .mts-cesta-step {
        padding-top: 0;
        padding-left: 3rem;
        margin-bottom: 3rem;
    }
    .mts-nase-cesty-cesta .mts-cesta-step:last-child {
        margin-bottom: 0;
    }
 
    /* Skrýt vodorovné čáry z desktopu */
    .mts-nase-cesty-cesta .mts-cesta-step::before {
        display: none !important;
    }
 
    .mts-nase-cesty-cesta .step-number {
        left: -1.5rem;
        top: 0;
    }
 
    .mts-nase-cesty-cesta .mts-cesta-step:hover .step-content {
        transform: translateX(10px);
    }
}

/* =========================================================
   BLOK: TARGET (karty „pro koho" + CTA)
   ========================================================= */
 
.mts-nase-cesty-target {
    padding: 6rem 0;
    background-color: white;
}
 
/* Fonty: vše body, výjimky nadpisy */
.mts-nase-cesty-target,
.mts-nase-cesty-target * {
    font-family: var(--font-body);
}
.mts-nase-cesty-target .mts-nase-cesty-section-title,
.mts-nase-cesty-target .target-card-title {
    font-family: var(--font-heading);
}
 
/* Hlavička */
.mts-nase-cesty-target .mts-nase-cesty-target-header {
    text-align: center;
    margin-bottom: 3rem;
}
.mts-nase-cesty-target .mts-nase-cesty-section-desc {
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}
 
/* Grid karet */
.mts-nase-cesty-target .mts-target-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
}
 
/* Karta */
.mts-nase-cesty-target .mts-target-card {
    position: relative;
    padding: 3rem;
    border-radius: 2rem;
    color: white;
    overflow: hidden;
    isolation: isolate;
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.3);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* Hover: karta se zvedne a stín zesílí */
.mts-nase-cesty-target .mts-target-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.5);
}

/* Jemný gradient přes barvu karty (hloubka) */
.mts-nase-cesty-target .mts-target-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.12), transparent 55%);
    z-index: -1;
    pointer-events: none;
}

/* Triskelion v rohu (brand pattern) */
.mts-nase-cesty-target .mts-target-card::before {
    content: "";
    position: absolute;
    right: -3rem;
    bottom: -3rem;
    width: 220px;
    height: 220px;
    background-color: rgba(255, 255, 255, 0.1);
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 146.3 143'%3E%3Cpath d='M71.4,86.8c2,6.2,5.4,12.6,5.4,12.6c33.2-26.8,44-75.6-4-99.4C42.8,12.2,34.4,47.8,46,70l-0.1-0.1 c11.1-1.1,18.6,0.9,18.6,0.9C46.2,52.6,57,25.4,72.8,16.6h0.4C101.4,36,90.8,67.6,71.4,86.8z M104.4,75.8c21.8,1.6,44.2,20.6,41.8,51.8c-15.6,21.4-64.6,28.8-85.6-35.4c4-1.2,7.8-3,10.8-5.4 c3.2,11,26.8,60.2,61,35.8c-0.6-19.2-13.2-36-36.2-32.4C99.6,82.2,102.4,78.4,104.4,75.8z M70,80.6C30,66.6-2.8,87,0.2,128.8c10,14,45.6,25.4,66.4-5.2c-3.2-6.2-5-10-8.6-18.2 c-3.8,25.2-29.6,29-45.2,17.8C13.6,99.4,33,82.6,60.6,91.6C65.2,86,67.2,83.8,70,80.6z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 146.3 143'%3E%3Cpath d='M71.4,86.8c2,6.2,5.4,12.6,5.4,12.6c33.2-26.8,44-75.6-4-99.4C42.8,12.2,34.4,47.8,46,70l-0.1-0.1 c11.1-1.1,18.6,0.9,18.6,0.9C46.2,52.6,57,25.4,72.8,16.6h0.4C101.4,36,90.8,67.6,71.4,86.8z M104.4,75.8c21.8,1.6,44.2,20.6,41.8,51.8c-15.6,21.4-64.6,28.8-85.6-35.4c4-1.2,7.8-3,10.8-5.4 c3.2,11,26.8,60.2,61,35.8c-0.6-19.2-13.2-36-36.2-32.4C99.6,82.2,102.4,78.4,104.4,75.8z M70,80.6C30,66.6-2.8,87,0.2,128.8c10,14,45.6,25.4,66.4-5.2c-3.2-6.2-5-10-8.6-18.2 c-3.8,25.2-29.6,29-45.2,17.8C13.6,99.4,33,82.6,60.6,91.6C65.2,86,67.2,83.8,70,80.6z'/%3E%3C/svg%3E");
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    z-index: -1;
    pointer-events: none;
}
.mts-nase-cesty-target .mts-target-card.card-tmava {
    background-color: var(--color-sport);
}
.mts-nase-cesty-target .mts-target-card.card-paleta {
    background-color: var(--c-primary);
}
.mts-nase-cesty-target .target-card-title {
    font-size: var(--h3-nadpis);
    color: white;
    margin: 0 0 1.5rem 0;
	font-weight: 700;
	line-height: 1.2;
    padding-bottom: 1.5rem;
    border-bottom: 2px dashed rgba(255, 255, 255, 0.25);
}
 
/* Seznam bodů */
.mts-nase-cesty-target .target-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.mts-nase-cesty-target .target-list li {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    margin-bottom: 1rem;
    font-size: var(--h3-text);
	line-height: 1.2;
    color: white;
    opacity: 0.95;
}
.mts-nase-cesty-target .target-list li:last-child {
    margin-bottom: 0;
}
 
/* Ikona bodu (SVG, obarvená bíle) */
.mts-nase-cesty-target .target-bod-icon {
    display: inline-flex;
    flex-shrink: 0;
    width: 1.25rem;
    height: 1.25rem;
    margin-top: 0.15rem;
}
.mts-nase-cesty-target .target-bod-icon svg {
    width: 100%;
    height: 100%;
}
.mts-nase-cesty-target .target-bod-icon svg path {
    fill: white;
}
.mts-nase-cesty-target .target-bod-text {
    flex: 1;
}
 
/* CTA pod kartami */
.mts-nase-cesty-target .mts-target-footer {
    margin-top: 3.5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.25rem;
}
.mts-nase-cesty-target .mts-target-footer .btn {
    padding: 1.2rem 4rem;
    font-size: 1.125rem;
}
.mts-nase-cesty-target .mts-target-pod-cta {
    max-width: 32rem;
    text-align: center;
    font-size: 0.95rem;
    line-height: 1.5;
    color: #4A5568;
    opacity: 0.85;
}
.mts-nase-cesty-target .mts-target-pod-cta p {
    margin: 0;
}
.mts-nase-cesty-target .mts-target-pod-cta a {
    color: var(--c-primary);
    text-decoration: underline;
    text-underline-offset: 0.3rem;
    font-weight: 600;
	transition: all 0.3s ease;
}
.mts-nase-cesty-target .mts-target-pod-cta a:hover {
    color: var(--color-sport);
}
 
/* === Responzivita === */
@media (max-width: 767px) {
    .mts-nase-cesty-target {
        padding: 4rem 0;
    }
    .mts-nase-cesty-target .mts-target-grid {
        grid-template-columns: 1fr;
    }
    .mts-nase-cesty-target .mts-target-card {
        padding: 2rem;
    }
    .mts-nase-cesty-target .mts-target-footer .btn {
        width: 100%;
        padding: 1.1rem 2rem;
    }
}

/* =========================================================
   BLOK: PRICING-PERSONAL (ceník — horizontální řádky)
   ========================================================= */
 
.mts-nase-cesty-pricing-personal {
    padding: 6rem 0;
    background-color: var(--c-bg);
}
 
/* Fonty: vše body, výjimky nadpisy */
.mts-nase-cesty-pricing-personal,
.mts-nase-cesty-pricing-personal * {
    font-family: var(--font-body);
}
.mts-nase-cesty-pricing-personal .mts-nase-cesty-section-title,
.mts-nase-cesty-pricing-personal .pp-title,
.mts-nase-cesty-pricing-personal .pp-amount {
    font-family: var(--font-heading);
}
 
/* Hlavička */
.mts-nase-cesty-pricing-personal .mts-nase-cesty-pp-header {
    text-align: center;
    margin-bottom: 3rem;
}
.mts-nase-cesty-pricing-personal .mts-nase-cesty-section-desc {
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}
 
/* Wrapper */
.mts-nase-cesty-pricing-personal .mts-pp-wrapper {
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 2rem;
}
 
/* Jeden cenový řádek */
.mts-nase-cesty-pricing-personal .mts-pp-row {
    background-color: white;
    border-radius: 2rem;
    border: 1px solid #F1F5F9;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    overflow: hidden;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.mts-nase-cesty-pricing-personal .mts-pp-row:hover {
	transform: translateY(-5px);
	box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
}
 
/* Levý sloupec – info */
.mts-nase-cesty-pricing-personal .pp-info {
    padding: 3rem;
}
.mts-nase-cesty-pricing-personal .pp-title {
    font-size: var(--h3-nadpis);
    color: var(--color-sport);
    margin: 0 0 0.5rem 0;
	font-weight: 700;
	line-height: 1.2;
}
.mts-nase-cesty-pricing-personal .pp-desc {
    color: #64748B;
    font-style: italic;
    margin: 0 0 2rem 0;
	font-size: 1.125rem;
	line-height: 1.2;
}
 
/* Seznam vlastností */
.mts-nase-cesty-pricing-personal .pp-features {
    list-style: none;
    padding: 0;
    margin: 0;
}
.mts-nase-cesty-pricing-personal .pp-features li {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    margin-bottom: 1rem;
    color: #334155;
}
.mts-nase-cesty-pricing-personal .pp-features li:last-child {
    margin-bottom: 0;
}
.mts-nase-cesty-pricing-personal .pp-feature-icon {
    display: inline-flex;
    flex-shrink: 0;
    width: 1.1rem;
    height: 1.1rem;
    margin-top: 0.2rem;
}
.mts-nase-cesty-pricing-personal .pp-feature-icon svg {
    width: 100%;
    height: 100%;
}
.mts-nase-cesty-pricing-personal .pp-feature-icon svg path {
    fill: var(--c-primary);
}
.mts-nase-cesty-pricing-personal .pp-feature-text {
    flex: 1;
	font-size: var(--h3-text);
}

.mts-nase-cesty-pricing-personal .pp-feature-text a {
text-decoration: underline;
transition: all 0.3s ease;
text-underline-offset: 0.3rem;
}

.mts-nase-cesty-pricing-personal .pp-feature-text a:hover {
color: var(--color-sport);
}

.mts-nase-cesty-pricing-personal .is-featured .pp-feature-text a:hover {
color: white;
}
 
/* Pravý sloupec – cena */
.mts-nase-cesty-pricing-personal .pp-price-col {
    background-color: #F8FAFC;
    padding: 3rem;
    border-left: 1px solid #E2E8F0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
}
.mts-nase-cesty-pricing-personal .pp-price-tag {
    margin-bottom: 1.5rem;
}
.mts-nase-cesty-pricing-personal .pp-amount {
    display: block;
    font-size: 3rem;
    font-weight: 900;
    color: var(--c-primary);
    line-height: 1;
}
.mts-nase-cesty-pricing-personal .pp-curr {
    font-size: 1rem;
    color: #64748B;
	font-weight: 700;
}
.mts-nase-cesty-pricing-personal .pp-package {
    margin-bottom: 2rem;
    font-size: 1rem;
    color: var(--color-sport);
	font-weight: 700;
}
.mts-nase-cesty-pricing-personal .pp-btn {
    width: 100%;
}

/* === Zvýrazněná karta (inverzní barvy) === */
.mts-nase-cesty-pricing-personal .mts-pp-row.is-featured {
    background-color: var(--c-primary);
}
.mts-nase-cesty-pricing-personal .mts-pp-row.is-featured .pp-price-col {
    background-color: var(--c-bg);
}
.mts-nase-cesty-pricing-personal .mts-pp-row.is-featured .pp-title {
    color: #ffffff;
}
.mts-nase-cesty-pricing-personal .mts-pp-row.is-featured .pp-desc {
    color: rgba(255, 255, 255, 0.7);
}
.mts-nase-cesty-pricing-personal .mts-pp-row.is-featured .pp-features li {
    color: #ffffff;
}
.mts-nase-cesty-pricing-personal .mts-pp-row.is-featured .pp-feature-icon svg path {
    fill: #ffffff;
}
 
/* === Responzivita === */
@media (max-width: 899px) {
    .mts-nase-cesty-pricing-personal .mts-pp-row {
        grid-template-columns: 1fr;
    }
    .mts-nase-cesty-pricing-personal .pp-price-col {
        border-left: none;
        border-top: 1px solid #E2E8F0;
    }
    .mts-nase-cesty-pricing-personal .pp-info {
        text-align: center;
    }
    .mts-nase-cesty-pricing-personal .pp-features {
        text-align: left;
    }
}

@media (max-width: 767px) {
    .mts-nase-cesty-pricing-personal {
        padding: 4rem 0;
    }
    .mts-nase-cesty-pricing-personal .pp-info {
        padding: 2rem;
    }
    .mts-nase-cesty-pricing-personal .pp-price-col {
        padding: 2rem;
    }
}

/* =========================================================
   BLOK: BENEFITS ICONS (karty s ikonami)
   ========================================================= */

.mts-nase-cesty-benefits-icons {
    padding: 6rem 0;
    background-color: white;
}

/* Fonty: vše body, výjimky nadpisy */
.mts-nase-cesty-benefits-icons,
.mts-nase-cesty-benefits-icons * {
    font-family: var(--font-body);
}
.mts-nase-cesty-benefits-icons .mts-nase-cesty-section-title,
.mts-nase-cesty-benefits-icons .bi-card-title {
    font-family: var(--font-heading);
}

/* Hlavička */
.mts-nase-cesty-benefits-icons .mts-nase-cesty-bi-header {
    text-align: center;
    max-width: 800px;
    margin: 0 auto 4rem auto;
}
.mts-nase-cesty-benefits-icons .mts-nase-cesty-section-desc {
    margin-left: auto;
    margin-right: auto;
}

/* Grid karet (flexibilní počet) */
.mts-nase-cesty-benefits-icons .mts-bi-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 2rem;
}

/* Karta */
.mts-nase-cesty-benefits-icons .mts-bi-card {
    background-color: var(--c-bg);
    padding: 2.5rem 2rem;
    border-radius: 2.5rem;
    text-align: center;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.mts-nase-cesty-benefits-icons .mts-bi-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.06);	
}

/* Ikona v kolečku (obarvená paletou) */
.mts-nase-cesty-benefits-icons .bi-icon {
    width: 4.5rem;
    height: 4.5rem;
    margin: 0 auto 1.5rem auto;
    background-color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.mts-nase-cesty-benefits-icons .bi-icon svg {
    width: 2rem;
    height: 2rem;
}
.mts-nase-cesty-benefits-icons .bi-icon svg path {
    fill: var(--c-primary);
}

/* Texty karty */
.mts-nase-cesty-benefits-icons .bi-card-title {
    font-size: 1.875rem;
    color: var(--color-sport);
    margin: 0 0 1rem 0;
	font-weight: 700;
	line-height: 1.2;
}
.mts-nase-cesty-benefits-icons .bi-card-text {
    font-size: var(--h3-text);
    color: #475569;
    line-height: 1.6;
    margin: 0;
}

/* === Responzivita === */
@media (max-width: 767px) {
    .mts-nase-cesty-benefits-icons {
        padding: 4rem 0;
    }
    .mts-nase-cesty-benefits-icons .mts-bi-grid {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   BLOK: PREP (příprava — text + pravidla + kruh)
   ========================================================= */

.mts-nase-cesty-prep {
    padding: 6rem 0;
}
.mts-nase-cesty-prep.bg-tmava {
    background-color: var(--color-sport);
}
.mts-nase-cesty-prep.bg-paleta {
    background-color: var(--c-primary);
}

/* Fonty: vše body, výjimky nadpisy */
.mts-nase-cesty-prep,
.mts-nase-cesty-prep * {
    font-family: var(--font-body);
}
.mts-nase-cesty-prep .mts-nase-cesty-section-title,
.mts-nase-cesty-prep .prep-number {
    font-family: var(--font-heading);
}

/* Wrapper – dva sloupce */
.mts-nase-cesty-prep .mts-prep-wrapper {
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    gap: 4rem;
    align-items: center;
}

/* Levý sloupec – text */
.mts-nase-cesty-prep .mts-nase-cesty-section-title {
    color: white;
}

.mts-nase-cesty-prep .prep-desc {
    color: white;
    opacity: 0.9;
    margin-bottom: 2rem;
	line-height: 1.7;
}

/* Seznam pravidel */
.mts-nase-cesty-prep .prep-list {
    list-style: none;
    margin: 0;
	border-radius: 2.5rem;
	padding: 1rem;
}
.mts-nase-cesty-prep .prep-list li {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    margin-bottom: 1rem;
    font-size: 1.05rem;
    color: white;
    opacity: 0.95;
}
.mts-nase-cesty-prep .prep-list li:last-child {
    margin-bottom: 0;
}
.mts-nase-cesty-prep .prep-icon {
    display: inline-flex;
    flex-shrink: 0;
    width: 1.2rem;
    height: 1.2rem;
    margin-top: 0.15rem;
}
.mts-nase-cesty-prep .prep-icon svg {
    width: 100%;
    height: 100%;
}
.mts-nase-cesty-prep .prep-icon svg path {
    fill: var(--c-primary);
}
.mts-nase-cesty-prep .prep-list-text {
    flex: 1;
	font-size: var(--h3-text);
}

/* Pravý sloupec – kruh */
.mts-nase-cesty-prep .prep-visual {
    display: flex;
    justify-content: center;
    margin-top: 4rem;
}
.mts-nase-cesty-prep .prep-circle {
    width: 300px;
    height: 300px;
    border-radius: 50%;
    border: 4px dashed rgba(255, 255, 255, 0.25);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}
.mts-nase-cesty-prep .prep-number {
    font-size: 4rem;
    font-weight: 900;
    color: var(--c-primary);
    line-height: 1;
}
.mts-nase-cesty-prep .prep-circle-label {
    color: white;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-top: 0.5rem;
    opacity: 0.85;
    line-height: 1.4;
}

/* === Responzivita === */
@media (max-width: 899px) {
    .mts-nase-cesty-prep .mts-prep-wrapper {
        grid-template-columns: 1fr;
        gap: 3rem;
    }
    .mts-nase-cesty-prep .prep-text {
        text-align: center;
    }
    .mts-nase-cesty-prep .prep-list {
        text-align: left;
    }	
	.mts-nase-cesty-prep .prep-visual  {
		margin-top: 2rem;
    }
	.mts-nase-cesty-prep .prep-desc  {
		margin-bottom: 4rem;
    }

}
@media (max-width: 767px) {
    .mts-nase-cesty-prep {
        padding: 4rem 0;
    }
    .mts-nase-cesty-prep .prep-circle {
        width: 250px;
        height: 250px;
    }
    .mts-nase-cesty-prep .prep-number {
        font-size: 3rem;
    }
}

/* =========================================================
   HERO – zvýrazněná informace (datum + místo)
   ========================================================= */
.mts-nase-cesty-hero .mts-hero-akce-info {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin: 0 0 1.5rem 0;
}
.mts-nase-cesty-hero .mts-hero-akce-polozka {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-family: var(--font-body);
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--c-primary, #1A2B3C);
}
.mts-nase-cesty-hero .mts-hero-akce-polozka svg {
    width: 2rem;
    height: 2rem;
    flex-shrink: 0;
}


/* =========================================================
   BLOK: VÍKENDOVÝ PLÁN (program akce)
   ========================================================= */
.mts-nase-cesty-program {
    padding: 6rem 0;
    background-color: var(--c-bg);
}

/* --- Hlavička --- */
.mts-nase-cesty-program .mts-program-header {
    text-align: center;
    margin-bottom: 3.5rem;
}
.mts-nase-cesty-program .mts-program-podnadpis {
    max-width: 640px;
    margin: 1rem auto 0 auto;
    font-family: var(--font-body);
    font-size: var(--text-body-size);
    line-height: 1.6;
    color: #4A5568;
}

/* --- Barevný pruh s údaji --- */
.mts-nase-cesty-program .mts-program-udaje {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 2.5rem;
    margin-top: 2.5rem;
    padding: 2rem 2.5rem;
    background-color: var(--c-primary, #1A2B3C);
    border-radius: 1.5rem;
}
.mts-nase-cesty-program .mts-program-udaj {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    text-align: left;
}
.mts-nase-cesty-program .mts-program-udaj-ikona {
    display: inline-flex;
    flex-shrink: 0;
    color: #fff;
}
.mts-nase-cesty-program .mts-program-udaj-ikona svg {
    width: 1.75rem;
    height: 1.75rem;
}
.mts-nase-cesty-program .mts-program-udaj-ikona svg path {
    fill: #fff;
}
.mts-nase-cesty-program .mts-program-udaj-text {
    display: flex;
    flex-direction: column;
    line-height: 1.3;
}
.mts-nase-cesty-program .mts-program-udaj-popisek {
    font-family: var(--font-body);
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: rgba(255, 255, 255, 0.75);
}
.mts-nase-cesty-program .mts-program-udaj-hodnota {
    font-family: var(--font-heading);
    font-size: 1.35rem;
    font-weight: 600;
    color: #fff;
}

/* --- Časová osa: karty dnů --- */
.mts-nase-cesty-program .mts-program-dny {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 2rem;
}
@media (max-width: 1279px) {
    .mts-nase-cesty-program .mts-program-dny {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 989px) {
    .mts-nase-cesty-program .mts-program-dny {
        grid-template-columns: 1fr;
    }
}
.mts-nase-cesty-program .mts-program-den {
    background-color: #fff;
    border: 1px solid #E2E8F0;
    border-radius: 1.5rem;
    padding: 2rem;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.mts-nase-cesty-program .mts-program-den:hover {
    transform: translateY(-5px);
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

/* Hlavička dne (číslo + název) */
.mts-nase-cesty-program .mts-program-den-hlavicka {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding-bottom: 1.25rem;
    margin-bottom: 1.5rem;
    border-bottom: 2px dashed var(--c-primary, #1A2B3C);
}
.mts-nase-cesty-program .mts-program-den-cislo {
    font-family: var(--font-heading);
    font-size: 2.5rem;
    font-weight: 700;
    line-height: 1;
    color: var(--c-primary, #1A2B3C);
}
.mts-nase-cesty-program .mts-program-den-nazev {
    font-family: var(--font-heading);
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--color-sport);
    margin: 0;
}

/* Body programu */
.mts-nase-cesty-program .mts-program-bod {
    display: flex;
    gap: 1rem;
    padding: 0.9rem 0;
    border-bottom: 1px solid #EDF2F7;
}
.mts-nase-cesty-program .mts-program-bod:last-child {
    border-bottom: none;
    padding-bottom: 0;
}
.mts-nase-cesty-program .mts-program-bod-cas {
    flex-shrink: 0;
    min-width: 3.5rem;
    font-family: var(--font-body);
    font-size: 1rem;
    font-weight: 700;
    color: var(--c-primary, #1A2B3C);
}
.mts-nase-cesty-program .mts-program-bod-text {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}
.mts-nase-cesty-program .mts-program-bod-nazev {
    font-family: var(--font-body);
    font-size: var(--text-body-size);
	line-height: 1.5;
    font-weight: 600;
    color: var(--color-sport);
}
.mts-nase-cesty-program .mts-program-bod-popis {
    font-family: var(--font-body);
    font-size: 1.125rem;
    line-height: 1.6;
    color: #4A5568;
}

/* --- Mobil --- */
@media (max-width: 767px) {
    .mts-nase-cesty-program {
        padding: 4rem 0;
    }
    .mts-nase-cesty-program .mts-program-udaje {
        flex-direction: column;
        align-items: flex-start;
        gap: 1.5rem;
        padding: 1.75rem;
    }
}


/* =========================================================
   BLOK: CO JE V CENĚ (balíček + cenová karta)
   ========================================================= */
.mts-nase-cesty-balicek {
    padding: 6rem 0;
    background-color: var(--color-bg);
}
.mts-nase-cesty-balicek .mts-balicek-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: center;
}

/* --- Levý sloupec: obsah --- */
.mts-nase-cesty-balicek .mts-balicek-eyebrow {
    display: block;
    font-family: var(--font-body);
    font-size: 0.875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    color: var(--c-primary, #795548);
    margin-bottom: 1rem;
}
.mts-nase-cesty-balicek .mts-balicek-podnadpis {
    font-family: var(--font-body);
    font-size: var(--text-body-size);
    line-height: 1.6;
    color: #4A5568;
    margin-bottom: 2rem;
}

/* Seznam položek s ✓ */
.mts-nase-cesty-balicek .mts-balicek-seznam {
    list-style: none;
    margin: 3rem 0 1rem 0;
    padding: 0 0 0 1.1rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.mts-nase-cesty-balicek .mts-balicek-seznam li {
    display: flex;
    align-items: center;
    gap: 1rem;
}
.mts-nase-cesty-balicek .mts-balicek-check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    background-color: color-mix(in srgb, var(--c-primary, #795548) 15%, white);
    color: var(--c-primary, #795548);
}
.mts-nase-cesty-balicek .mts-balicek-check svg {
    width: 1rem;
    height: 1rem;
}
.mts-nase-cesty-balicek .mts-balicek-polozka-text {
    font-family: var(--font-body);
    font-size: 1.25rem;
    line-height: 1.5;
    color: #4A5568;
}

/* --- Pravý sloupec: tmavá cenová karta --- */
.mts-nase-cesty-balicek .mts-balicek-karta {
    background-color: var(--color-sport);
    color: #fff;
    border-radius: 2.5rem;
    padding: 3.5rem 3rem;
    text-align: center;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.25);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.mts-nase-cesty-balicek .mts-balicek-karta:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.5);
}

.mts-nase-cesty-balicek .mts-balicek-cena-popisek {
    font-family: var(--font-body);
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: var(--c-primary, #ffffff);
    margin-bottom: 1rem;
}
.mts-nase-cesty-balicek .mts-balicek-cena {
    font-family: var(--font-heading);
    font-size: 4rem;
    font-weight: 700;
    line-height: 1;
    color: #fff;
    margin-bottom: 0.75rem;
}
.mts-nase-cesty-balicek .mts-balicek-mena {
    font-size: 1.5rem;
    font-weight: 400;
    vertical-align: super;
}
.mts-nase-cesty-balicek .mts-balicek-cena-poznamka {
    font-family: var(--font-body);
    font-size: 1rem;
    color: rgba(255, 255, 255, 0.6);
    margin-bottom: 2rem;
}
.mts-nase-cesty-balicek .mts-balicek-btn {
    display: block;
    width: 100%;
    padding: 1.25rem;
    background-color: #fff;
    color: var(--color-sport);
    border-radius: 99px;
    font-family: var(--font-body);
    font-weight: 600;
    font-size: 1.125rem;
    text-decoration: none;
    transition: background-color 0.3s ease, color 0.3s ease, transform 0.3s ease;
}
.mts-nase-cesty-balicek .mts-balicek-btn:hover {
    background-color: var(--c-primary, #795548);
    color: #fff;
    transform: translateY(-2px);
}
.mts-nase-cesty-balicek .mts-balicek-btn-podtext {
    font-family: var(--font-body);
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.6);
    margin-top: 1rem;
    margin-bottom: 0;
	font-style: italic;
}

/* --- Mobil --- */
@media (max-width: 989px) {
	.mts-nase-cesty-balicek .mts-balicek-grid {
        grid-template-columns: 1fr;
        gap: 3rem;
    }
	.mts-nase-cesty-balicek .mts-balicek-eyebrow {
		text-align: center;
}
	.mts-nase-cesty-balicek .mts-nase-cesty-section-title {
		text-align: center;
}
	.mts-nase-cesty-balicek .mts-balicek-podnadpis {
		text-align: center;
}
}
@media (max-width: 767px) {
    .mts-nase-cesty-balicek {
        padding: 4rem 0;
    }
    
    .mts-nase-cesty-balicek .mts-balicek-karta {
        padding: 2.5rem 2rem;
    }
}

/* Cenová karta – decentní posun dolů (jen desktop) */
@media (min-width: 990px) {
    .mts-nase-cesty-balicek .mts-balicek-karta {
        margin-top: 2rem;
    }
}


/* =========================================================
   STAV AKCE – „již proběhlo"
   Zapíná se přepínačem u stránky (ACF: akce_probehla).
   Ztlumí program i přihlášku a doplní štítek.
   ========================================================= */

/* Štítek (hero, program, formulář) */
.mts-akce-stitek {
    display: inline-block;
    font-family: var(--font-body);
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: white;
    background-color: #EF4444;    
    padding: 0.35rem 0.9rem;
    border-radius: 99px;
    margin-bottom: 1rem;
}

/* V hero je štítek ve vlastním obalu nad datem a místem */
.mts-hero-akce-stitek-wrap {
    margin-bottom: 1rem;
}
.mts-hero-akce-stitek-wrap .mts-akce-stitek {
    margin-bottom: 0;
}

/* Ztlumení obsahu (program, formulář) */
.mts-nase-cesty-program.je-po-akci .mts-program-udaje,
.mts-nase-cesty-program.je-po-akci .mts-program-dny {
    opacity: 0.55;
    filter: grayscale(0.35);
}

/* Formulář: ztlumíme jen samotná pole, štítek a zpráva zůstanou čitelné */
.contact-form-col.je-po-akci .mts-contact-form {
    opacity: 0.55;
    filter: grayscale(0.35);
}

/* Zpráva nad zablokovaným formulářem */
.mts-akce-zprava {
    font-family: var(--font-body);
    font-size: 0.95rem;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.7);
    margin-bottom: 1.5rem;
	margin-top: -1.5rem;
}
.mts-akce-zprava p {
    margin: 0;
}

/* Neaktivní tlačítko */
.mts-form-submit:disabled,
.mts-form-submit[aria-disabled="true"] {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
}
