/* === Kurzy: detail kurzu, ceník, doplňkové sekce ===
   Brand barvy: #e26091 / #d14d7a (sladěno s pruhem statistik na /reference) */

:root {
    --kurz-pink: #e26091;
    --kurz-pink-dark: #d14d7a;
    --kurz-ink: #333;
    --kurz-muted: #666;
}

/* ---------- HERO ---------- */
.kurz-hero {
    background: linear-gradient(135deg, #7a3a57 0%, #4d2136 100%);
    color: #fff;
    padding: 70px 0 60px;
    text-align: center;
}

.kurz-hero h1 {
    color: #fff;
    margin: 0 0 18px;
    font-size: 38px;
    line-height: 1.2;
}

/* Hero s fotopozadím (akreditovaný kurz) */
.kurz-hero--image {
    background-size: cover;
    background-position: center 42%;
    background-repeat: no-repeat;
    padding: 80px 0 70px;
    text-shadow: 0 2px 16px rgba(60, 15, 35, 0.65);
}

.kurz-hero .kurz-perex {
    max-width: 760px;
    margin: 0 auto;
    font-size: 18px;
    line-height: 1.6;
    opacity: 0.97;
}

/* meta chips (délka / formát / místo / cena) */
.kurz-meta {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    margin-top: 28px;
}

.kurz-meta .chip {
    background: rgba(255, 255, 255, 0.16);
    border: 1px solid rgba(255, 255, 255, 0.35);
    border-radius: 999px;
    padding: 8px 18px;
    font-size: 15px;
}

.kurz-meta .chip i {
    margin-right: 7px;
    opacity: 0.9;
}

.kurz-meta .chip.chip-price {
    background: #fff;
    color: var(--kurz-pink-dark);
    border-color: #fff;
    font-weight: 700;
}

/* ---------- TĚLO ---------- */
.kurz-body {
    padding: 55px 0;
}

.kurz-body .lead-block p {
    font-size: 17px;
    line-height: 1.75;
    color: #444;
    margin-bottom: 18px;
}

.kurz-card {
    background: #fff;
    border: 1px solid #f0e3e9;
    border-radius: 14px;
    padding: 28px 30px;
    box-shadow: 0 2px 18px rgba(210, 77, 122, 0.08);
    margin-bottom: 26px;
}

.kurz-card h2 {
    margin-top: 0;
    font-size: 24px;
    color: var(--kurz-ink);
}

/* "Co se naučíte" checklist */
.kurz-naucite {
    list-style: none;
    padding: 0;
    margin: 0;
}

.kurz-naucite li {
    position: relative;
    padding: 9px 0 9px 34px;
    border-bottom: 1px solid #f5eef1;
    color: #444;
    font-size: 16px;
}

.kurz-naucite li:last-child {
    border-bottom: none;
}

.kurz-naucite li::before {
    content: "\f00c"; /* fa-check */
    font-family: FontAwesome;
    position: absolute;
    left: 0;
    top: 9px;
    color: var(--kurz-pink);
    font-size: 15px;
}

/* Osnova kurzu (akreditovaný) */
.osnova-note {
    color: var(--kurz-muted);
    font-size: 14px;
    margin: 0 0 12px;
}

.kurz-osnova {
    margin: 0;
    padding-left: 22px;
}

.kurz-osnova li {
    padding: 7px 0;
    border-bottom: 1px solid #f5eef1;
    color: #444;
    font-size: 15px;
}

.kurz-osnova li:last-child {
    border-bottom: none;
}

/* Harmonogram / termíny */
.kurz-harmonogram-card h2 i { color: var(--kurz-pink); margin-right: 8px; }
.kurz-harmonogram {
    list-style: none;
    padding: 0;
    margin: 0;
}
.kurz-harmonogram li {
    position: relative;
    padding: 9px 0 9px 26px;
    border-bottom: 1px solid #f5eef1;
    color: #444;
    font-size: 15px;
}
.kurz-harmonogram li:last-child { border-bottom: none; }

/* Týdenní mřížka */
.kurz-tyden {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 8px;
    margin: 8px 0 16px;
}
.kurz-den {
    border-radius: 10px;
    padding: 12px 5px;
    text-align: center;
    border: 1px solid #f0e3e9;
    background: #fff;
}
.kurz-den .kd-dow { display: block; font-weight: 700; color: #b89aa6; text-transform: uppercase; font-size: 11px; letter-spacing: 1px; }
.kurz-den .kd-cas { display: block; font-weight: 800; font-size: 13px; margin: 5px 0; color: var(--kurz-pink-dark); }
.kurz-den .kd-co { display: block; font-size: 11px; color: #777; line-height: 1.3; }
.kurz-den--off { background: #f4eef1; }
.kurz-den--off .kd-cas, .kurz-den--off .kd-co, .kurz-den--off .kd-dow { color: #b29aa6; }
.kurz-den--am { border: 2px solid #f3c9da; }
.kurz-den--pm { border: 2px solid #e98fb4; }
.kurz-akr-info {
    margin-top: 14px;
    background: linear-gradient(135deg, #7a3a57 0%, #4d2136 100%);
    color: #fff;
    border-radius: 10px;
    padding: 10px 14px;
    font-size: 13px;
}
.kurz-akr-info i { margin-right: 7px; }
@@media (max-width: 600px) {
    .kurz-tyden { grid-template-columns: repeat(2, 1fr); }
}
.kurz-harmonogram li::before {
    content: "\f105"; /* fa-angle-right */
    font-family: FontAwesome;
    position: absolute;
    left: 6px;
    top: 9px;
    color: var(--kurz-pink);
}

/* info box (pro koho / parametry) */
.kurz-info dl {
    margin: 0;
}

.kurz-info dt {
    color: var(--kurz-muted);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-size: 12px;
    margin-top: 14px;
}

.kurz-info dt:first-child {
    margin-top: 0;
}

.kurz-info dd {
    margin: 3px 0 0;
    font-size: 16px;
    color: var(--kurz-ink);
}

.kurz-price-note {
    font-size: 14px;
    color: var(--kurz-muted);
    margin-top: 6px;
}

/* ---------- CTA pruh ---------- */
.kurz-cta-band {
    background: linear-gradient(135deg, #7a3a57 0%, #4d2136 100%);
    color: #fff;
    text-align: center;
    padding: 50px 0;
}

.kurz-cta-band h2 {
    color: #fff;
    margin-top: 0;
}

.kurz-cta-band .btn {
    margin: 8px;
}

/* scope na .kurz-cta-band/.kurz-hero → vyšší specificita, přebije webový .btn */
.kurz-cta-band .btn-light, .kurz-hero .btn-light {
    background: #fff !important;
    color: var(--kurz-pink-dark) !important;
    border: 2px solid #fff !important;
    font-weight: 600;
}

.kurz-cta-band .btn-light:hover, .kurz-cta-band .btn-light:focus,
.kurz-hero .btn-light:hover, .kurz-hero .btn-light:focus {
    background: #fff !important;
    color: var(--kurz-pink) !important;
}

.kurz-cta-band .btn-outline-light, .kurz-hero .btn-outline-light {
    background: transparent !important;
    color: #fff !important;
    border: 2px solid #fff !important;
}

.kurz-cta-band .btn-outline-light:hover, .kurz-cta-band .btn-outline-light:focus,
.kurz-hero .btn-outline-light:hover, .kurz-hero .btn-outline-light:focus {
    background: #fff !important;
    color: var(--kurz-pink-dark) !important;
}

/* ---------- Související kurzy ---------- */
.related-courses {
    padding: 50px 0;
    background: #faf6f8;
}

.related-courses h2 {
    text-align: center;
    margin-bottom: 30px;
}

.related-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.related-grid a {
    display: block;
    background: #fff;
    border: 1px solid #f0e3e9;
    border-radius: 12px;
    padding: 18px 20px;
    color: var(--kurz-ink);
    text-decoration: none;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.related-grid a:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 22px rgba(210, 77, 122, 0.14);
    color: var(--kurz-pink-dark);
}

.related-grid h3 {
    font-size: 17px;
    margin: 0 0 6px;
}

.related-grid p {
    font-size: 14px;
    color: var(--kurz-muted);
    margin: 0;
}

/* ---------- Ceník ---------- */
.cenik-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 22px;
    align-items: start;
}

.cenik-card {
    background: #fff;
    border: 1px solid #f0e3e9;
    border-radius: 14px;
    padding: 26px 28px;
    box-shadow: 0 2px 14px rgba(210, 77, 122, 0.07);
    display: flex;
    flex-direction: column;
}

.cenik-card.is-highlight {
    border: 2px solid var(--kurz-pink);
    box-shadow: 0 6px 24px rgba(210, 77, 122, 0.16);
}

.cenik-card h3 {
    margin: 0 0 6px;
    font-size: 21px;
}

.cenik-card .cenik-perex {
    color: var(--kurz-muted);
    font-size: 15px;
    flex-grow: 1;
}

.cenik-card .cenik-price {
    font-size: 28px;
    font-weight: 700;
    color: var(--kurz-pink-dark);
    margin: 14px 0 2px;
}

.cenik-card .cenik-params {
    font-size: 14px;
    color: var(--kurz-muted);
    margin-bottom: 16px;
}

.cenik-card .btn {
    align-self: flex-start;
}

.cenik-note {
    text-align: center;
    color: var(--kurz-muted);
    font-size: 14px;
    margin-top: 26px;
}

/* ---------- O mně: certifikáty ---------- */
.cert-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin-top: 16px;
}

.cert-grid .cert {
    position: relative;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
}

.cert-grid .cert img {
    width: 100%;
    height: 170px;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}

.cert-grid .cert:hover img {
    transform: scale(1.05);
}

/* ---------- Responsive ---------- */
@media (max-width: 991px) {
    .related-grid,
    .cert-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 767px) {
    .kurz-hero {
        padding: 50px 0 44px;
    }

    .kurz-hero h1 {
        font-size: 28px;
    }

    .kurz-hero .kurz-perex {
        font-size: 16px;
    }

    .cenik-grid,
    .related-grid,
    .cert-grid {
        grid-template-columns: 1fr;
    }
}

/* Kurzové karty (sdílené s homepage – styl jako služby marieskabova) */
.courses-active { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; margin-top: 10px; }
.kurz-card-tile { background:#fff; border-radius:15px; overflow:hidden; display:flex; flex-direction:column; box-shadow:0 10px 30px rgba(0,0,0,.10); transition:transform .3s ease, box-shadow .3s ease; }
.kurz-card-tile:hover { transform:translateY(-8px); box-shadow:0 20px 45px rgba(0,0,0,.16); }
.kurz-card-tile--featured { border:2px solid var(--accent); }
.kurz-card-img { display:block; height:210px; background-size:cover; background-position:center; position:relative; }
.kurz-card-badge { position:absolute; top:16px; left:16px; background:var(--accent); color:#fff; padding:6px 14px; border-radius:30px; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.5px; }
.kurz-card-content { padding:22px 24px 6px; flex-grow:1; display:flex; flex-direction:column; }
.kurz-card-content h3 { margin:0 0 8px; font-size:21px; color:#333; }
.kurz-card-content > p { font-size:14.5px; line-height:1.55; color:#666; margin:0 0 14px; }
.kurz-card-features { list-style:none; padding:0; margin:0; }
.kurz-card-features li { padding:5px 0; font-size:14px; color:#555; }
.kurz-card-features i { color:var(--accent); margin-right:9px; }
.kurz-card-footer { padding:10px 24px 24px; margin-top:auto; }
.kurz-card-btn { display:inline-block; width:100%; box-sizing:border-box; padding:13px 24px; text-align:center; background:var(--accent); color:#fff; border-radius:30px; font-weight:600; text-decoration:none; transition:filter .2s ease, transform .2s ease; }
.kurz-card-btn:hover { filter:brightness(.92); color:#fff; transform:scale(1.03); }
.kurz-card-price { text-align:center; font-size:15px; font-weight:700; color:var(--accent); margin:12px 0 0; }
@media (max-width: 991px){ .courses-active { grid-template-columns:1fr 1fr; } }
@media (max-width: 767px){ .courses-active { grid-template-columns:1fr; } }

/* Rezervační poplatek — info box na stránce kurzu (jen akreditovaný kurz) */
.kurz-rezervace-note{display:flex;gap:12px;align-items:flex-start;margin-top:18px;padding:14px 16px;
  background:#faf2f6;border:1px solid #e7c9d8;border-left:4px solid #b03a63;border-radius:10px;}
.kurz-rezervace-note > i{color:#b03a63;font-size:18px;margin-top:2px;flex-shrink:0;}
.kurz-rezervace-note strong{display:block;color:#4d2136;font-size:14px;margin-bottom:3px;}
.kurz-rezervace-note p{margin:0;font-size:13px;line-height:1.5;color:#6b5560;}
