/*
 * PZKO v9.10 – veřejné a neveřejné Akce PZKO.
 * Neveřejná akce zůstává viditelná jen jako anonymní obsazenost.
 */

:root {
    --pzko-internal: #79505b;
    --pzko-internal-dark: #573640;
    --pzko-internal-soft: #f7eff1;
}

/* Kompaktní kalendář na homepage */

.home-mini-calendar__day.is-occupied.is-pzko-internal {
    border: 2px dashed var(--pzko-internal);
    background:
        repeating-linear-gradient(
            -45deg,
            var(--pzko-internal-soft),
            var(--pzko-internal-soft) 6px,
            #fff 6px,
            #fff 12px
        );
    color: var(--pzko-internal-dark);
    font-weight: 900;
}

.home-mini-calendar__day.is-occupied.is-pzko-internal::after {
    position: absolute;
    top: 4px;
    right: 4px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--pzko-internal);
    content: "";
}

a.home-mini-calendar__day.is-occupied.is-pzko-internal:hover {
    border-color: var(--pzko-internal-dark);
    background: #f2e4e8;
}

.home-mini-calendar__legend {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.home-mini-calendar__legend-group.is-pzko-internal {
    border: 1px dashed #b8909b;
    background: var(--pzko-internal-soft);
}

.home-mini-calendar__legend i.is-pzko-internal {
    border: 2px dashed var(--pzko-internal);
    background: var(--pzko-internal-soft);
}

.home-mini-calendar__detail.is-pzko-internal {
    border: 2px dashed var(--pzko-internal);
    background: var(--pzko-internal-soft);
}

.home-mini-calendar__detail.is-pzko-internal > small {
    color: var(--pzko-internal-dark);
}

/* Plný kalendář obsazenosti */

.reservation-legend-v9-6 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.reservation-legend-group--pzko-internal {
    border: 1px dashed #b8909b;
    background: var(--pzko-internal-soft);
}

.reservation-legend-group--pzko-internal > strong {
    color: var(--pzko-internal-dark);
}

.legend-swatch--pzko-internal {
    border: 2px dashed var(--pzko-internal) !important;
    background: var(--pzko-internal-soft) !important;
}

.reservation-day.is-event-pzko-internal {
    border: 2px dashed var(--pzko-internal);
    background:
        repeating-linear-gradient(
            -45deg,
            var(--pzko-internal-soft),
            var(--pzko-internal-soft) 7px,
            #fff 7px,
            #fff 14px
        );
    color: var(--pzko-internal-dark);
}

@media (max-width: 1100px) {
    .reservation-legend-v9-6 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .home-mini-calendar__legend,
    .reservation-legend-v9-6 {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================================
   PZKO 9.11.4 – DESIGN B / SAFE CSS-ONLY PHASE
   --------------------------------------------------------------------------
   This phase intentionally changes NO Blade/PHP/database files.
   The existing stable homepage from 9.11.3 remains untouched.
   ========================================================================== */

:root {
    --pzko-b-red: #8d1724;
    --pzko-b-red-dark: #6d101c;
    --pzko-b-orange: #c95f23;
    --pzko-b-ink: #241916;
    --pzko-b-muted: #766760;
    --pzko-b-paper: #fffdf9;
    --pzko-b-cream: #fff6eb;
    --pzko-b-line: #eadfd4;
    --pzko-b-shadow: 0 12px 32px rgba(67, 36, 25, .10);
}

/* Hero: same working Blade, only visual treatment. */
.home-hero.home-hero--compact {
    position: relative;
    min-height: 330px !important;
    overflow: hidden;
    background-position: center 47% !important;
    background-size: cover !important;
    border-radius: 0;
    box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .08);
}

.home-hero.home-hero--compact::after {
    position: absolute;
    inset: 0;
    pointer-events: none;
    content: "";
    background:
        linear-gradient(
            90deg,
            rgba(35, 13, 10, .70) 0%,
            rgba(92, 20, 20, .47) 30%,
            rgba(43, 27, 18, .13) 61%,
            rgba(0, 0, 0, .04) 100%
        );
}

.home-hero.home-hero--compact .home-hero__inner {
    position: relative;
    z-index: 1;
    min-height: 330px !important;
}

.home-hero.home-hero--compact .home-hero__content {
    max-width: 700px;
    padding-block: 45px !important;
}

.home-hero__content > small,
.home-hero__event-copy > small {
    display: inline-block;
    margin-bottom: 8px;
    color: #f6d8b3 !important;
    font-size: .73rem;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.home-hero__content h1,
.home-hero__event-copy h1 {
    max-width: 690px;
    margin: 0;
    color: #fff !important;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2.35rem, 4.2vw, 4.05rem);
    font-weight: 700;
    line-height: .98;
    letter-spacing: -.035em;
    text-wrap: balance;
    text-shadow: 0 2px 20px rgba(0, 0, 0, .18);
}

.home-hero__content > p,
.home-hero__event-copy > p {
    max-width: 560px;
    margin: 16px 0 0;
    color: rgba(255,255,255,.91) !important;
    font-size: 1rem;
    line-height: 1.55;
}

.home-hero__event {
    align-items: center;
    gap: 20px;
}

.home-hero-date {
    min-width: 80px;
    padding: 12px 11px;
    border: 1px solid rgba(255,255,255,.50);
    border-radius: 14px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 10px 26px rgba(0,0,0,.18);
    color: var(--pzko-b-red-dark);
}

.home-hero-date__day {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 2rem;
    line-height: 1;
}

.home-hero-date__month {
    color: var(--pzko-b-red);
    font-weight: 900;
}

.home-hero-date__year {
    color: #8d7b72;
}

.home-hero .btn {
    margin-top: 18px;
    border: 1px solid var(--pzko-b-red);
    border-radius: 999px;
    background: linear-gradient(135deg, #a11f2c, var(--pzko-b-red));
    box-shadow: 0 7px 20px rgba(106, 16, 28, .26);
    color: #fff;
}

.home-hero .btn:hover {
    transform: translateY(-1px);
    background: linear-gradient(135deg, #b12a37, #78121f);
}

/* Main content: warmer, tighter and more editorial like proposal B. */
.home-layout-v9-5 {
    position: relative;
    z-index: 2;
    margin-top: 0;
    padding-top: 24px;
    padding-bottom: 30px;
}

.home-layout-v9-5__grid {
    gap: 22px;
    align-items: start;
}

.home-news__heading {
    margin-bottom: 14px;
    padding-bottom: 11px;
    border-bottom: 1px solid var(--pzko-b-line);
}

.home-section-kicker,
.home-panel__eyebrow {
    color: var(--pzko-b-red) !important;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.home-news__heading h2,
.home-program-events__heading h2,
.home-mini-calendar > h2,
.home-panel__heading h3 {
    color: var(--pzko-b-ink);
    font-family: Georgia, "Times New Roman", serif;
    letter-spacing: -.02em;
}

/* News cards: visual equivalent of the compact cards in proposal B. */
.home-news .cards {
    gap: 14px;
}

.home-news-card {
    overflow: hidden;
    border: 1px solid var(--pzko-b-line) !important;
    border-radius: 15px !important;
    background: var(--pzko-b-paper) !important;
    box-shadow: 0 7px 20px rgba(70, 40, 24, .07) !important;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.home-news-card:hover {
    transform: translateY(-2px);
    border-color: #ddcabc !important;
    box-shadow: var(--pzko-b-shadow) !important;
}

.home-news-card__image {
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: #eee4dc;
}

.home-news-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .25s ease;
}

.home-news-card:hover .home-news-card__image img {
    transform: scale(1.025);
}

.home-news-card__body {
    padding: 14px 15px 16px;
}

.home-news-card__meta {
    gap: 8px;
    color: #8b7b73;
    font-size: .72rem;
}

.home-news-card__rubrics small {
    border-radius: 999px;
    background: #f8e9e7;
    color: var(--pzko-b-red);
    font-weight: 800;
}

.home-news-card h3 {
    margin-top: 8px;
    color: var(--pzko-b-ink);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.15rem;
    line-height: 1.18;
}

.home-news-card h3 a {
    color: inherit;
}

.home-news-card p {
    color: var(--pzko-b-muted);
    font-size: .89rem;
    line-height: 1.48;
}

.home-news-card__link,
.home-news__heading > a,
.home-program-events__all,
.home-mini-calendar__all {
    color: var(--pzko-b-red) !important;
    font-weight: 800;
}

/* Right rail in warm cream, echoing "Najbliższe wydarzenia" from B. */
.home-layout-v9-5__sidebar {
    gap: 16px;
}

.home-mini-calendar,
.home-program-events {
    border: 1px solid #ead8c5 !important;
    border-radius: 16px !important;
    background:
        linear-gradient(180deg, #fff9f1 0%, #fff5e8 100%) !important;
    box-shadow: 0 8px 25px rgba(81, 45, 27, .07) !important;
}

.home-mini-calendar {
    padding: 16px;
}

.home-mini-calendar > h2 {
    margin-bottom: 12px;
    font-size: 1.12rem;
}

.home-mini-calendar__toolbar {
    margin-bottom: 9px;
}

.home-mini-calendar__toolbar a {
    border-color: #e2cdb8 !important;
    background: rgba(255,255,255,.74) !important;
    color: var(--pzko-b-red) !important;
}

.home-mini-calendar__toolbar strong {
    color: #6f3323;
    letter-spacing: .04em;
}

.home-mini-calendar__weekdays {
    color: #9a877b;
    font-size: .67rem;
    font-weight: 800;
}

.home-mini-calendar__day {
    border-radius: 8px !important;
}

.home-mini-calendar__request {
    margin-top: 13px;
    padding: 12px;
    border: 1px solid #e7d6c5;
    border-radius: 12px;
    background: rgba(255,255,255,.72);
}

.home-mini-calendar__request a {
    color: var(--pzko-b-red);
    font-weight: 800;
}

.home-program-events {
    padding: 15px 16px 16px;
}

.home-program-events__heading {
    margin-bottom: 10px;
}

.home-event-previews {
    gap: 8px;
}

.home-event-preview {
    border: 1px solid #eadfd4 !important;
    border-radius: 12px !important;
    background: rgba(255,255,255,.78) !important;
    box-shadow: none !important;
}

.home-event-preview:hover {
    border-color: #dbc4b1 !important;
    background: #fff !important;
}

.home-event-preview__title {
    color: var(--pzko-b-ink);
}

.home-event-preview__arrow {
    color: var(--pzko-b-red);
}

/* Gallery / lower overview. */
.home-overview--simplified {
    padding-top: 30px;
    padding-bottom: 38px;
    background:
        linear-gradient(180deg, #fff 0%, #fbf7f2 100%) !important;
}

.home-panel,
.home-gallery-panel {
    border: 1px solid var(--pzko-b-line) !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 8px 26px rgba(62, 35, 22, .06) !important;
}

.home-gallery-thumbs__image {
    border-radius: 12px !important;
    overflow: hidden;
}

/* Responsive: compact, no extra scrolling from decorative sizing. */
@media (max-width: 1100px) {
    .home-hero.home-hero--compact,
    .home-hero.home-hero--compact .home-hero__inner {
        min-height: 305px !important;
    }

    .home-hero.home-hero--compact .home-hero__content {
        padding-block: 38px !important;
    }

    .home-layout-v9-5__grid {
        gap: 18px;
    }
}

@media (max-width: 760px) {
    .home-hero.home-hero--compact,
    .home-hero.home-hero--compact .home-hero__inner {
        min-height: 285px !important;
    }

    .home-hero.home-hero--compact {
        background-position: 57% center !important;
    }

    .home-hero.home-hero--compact::after {
        background:
            linear-gradient(
                90deg,
                rgba(34, 12, 12, .78) 0%,
                rgba(75, 24, 20, .58) 52%,
                rgba(0,0,0,.12) 100%
            );
    }

    .home-hero.home-hero--compact .home-hero__content {
        max-width: 86%;
        padding-block: 31px !important;
    }

    .home-hero__content h1,
    .home-hero__event-copy h1 {
        font-size: clamp(2rem, 10vw, 3rem);
    }

    .home-hero__event {
        align-items: flex-start;
        gap: 13px;
    }

    .home-hero-date {
        min-width: 66px;
        padding: 9px 8px;
        border-radius: 12px;
    }

    .home-hero-date__day {
        font-size: 1.65rem;
    }

    .home-layout-v9-5 {
        padding-top: 18px;
    }

    .home-news-card__body {
        padding: 12px 13px 14px;
    }

    .home-mini-calendar,
    .home-program-events {
        border-radius: 14px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .home-news-card,
    .home-news-card__image img,
    .home-hero .btn {
        transition: none !important;
    }
}
