/* ==========================================================================
   Block Builder — Theme (Resort Kostelec)

   Kostelec brand vrstva builderu. Základ: programátorova generická šablona
   blocks-theme.css — přepsána pro Kostelec barvy, fonty a vizuální styl.

   NESLOUČOVAT s hlavním styles.css webu.
   Načítá se všude (frontend, admin builder canvas, TinyMCE iframe).
   ========================================================================== */

/* --- Fonty --------------------------------------------------------------- */

@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=Montserrat:wght@400;500;600;700&display=swap');

/* --- Brand proměnné ------------------------------------------------------ */

:root {
    --k-primary:    #831427;   /* tmavě červená */
    --k-accent:     #b17f4a;   /* zlatavá */
    --k-cream:      #faf5ed;   /* teplá krémová */
    --k-cream-dark: #f0e8d5;
    --k-text:       #3f2f25;   /* základní text */
    --k-text-muted: #6b5b4e;   /* sekundární text */
    --k-secondary:  #7d4e24;   /* hnědá */
    --k-muted:      #9e9189;   /* popisky, meta */
    --k-white:      #ffffff;
}

/* --- Section background presety ---------------------------------------- */

.block-section--default   { --block-bg: #ffffff; }
.block-section--grey      { --block-bg: var(--k-cream); }
.block-section--grey-wide { --block-bg: var(--k-cream); }

/* Tmavá sekce */
.block-section--dark-wide {
    --block-bg: #2a1a10;
    color: var(--k-cream);
}

.block-section--dark-wide h1,
.block-section--dark-wide h2,
.block-section--dark-wide h3,
.block-section--dark-wide h4,
.block-section--dark-wide h5,
.block-section--dark-wide h6,
.block-section--dark-wide .block-heading,
.block-section--dark-wide .block-feature__title {
    color: #ffffff;
}

.block-section--dark-wide .block-feature__text,
.block-section--dark-wide .block-quote__author,
.block-section--dark-wide .block-image__caption {
    color: rgba(255, 255, 255, 0.65);
}

.block-section--dark-wide a { color: var(--k-accent); text-decoration: underline; }

.block-section--dark-wide .block-quote {
    background: rgba(255, 255, 255, 0.06);
    border-left-color: var(--k-accent);
}

.block-section--dark-wide .block-accordion__item {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.15);
}

.block-section--dark-wide .block-accordion__item[open] .block-accordion__title {
    background: rgba(255, 255, 255, 0.1);
    border-bottom-color: rgba(255, 255, 255, 0.15);
}

.block-section--dark-wide .block-accordion__body {
    color: rgba(255, 255, 255, 0.85);
}

/* Gradient zvýraznění */
.block-section--highlight {
    --block-bg: linear-gradient(135deg, #faf5ed, #fff8f0);
}

/* Úzký obsah — 57.5rem = 920px, shodné s .wysiwyg--center v styles.css */
.block-section--narrow {
    --block-max-width: 57.5rem;
}

/* --- Column box varianty ------------------------------------------------ */

.block-section__col--box-light,
.block-section__col--box-dark {
    padding: 1.5rem;
    border-radius: 12px;
    box-shadow: inset 0 0 0 1px rgba(131, 20, 39, 0.1);
}

.block-section__col--box-light { background: var(--k-cream); }
.block-section__col--box-dark  { background: #f5ead9; }

@media (min-width: 768px) {
    .block-section__col--box-light,
    .block-section__col--box-dark {
        padding: 2rem;
    }
}

/* H3 nadpisy v boxových sloupcích — červená, shodná s původním webem */
.block-section__col--box-light .block-heading,
.block-section__col--box-dark .block-heading {
    color: var(--k-primary);
    font-size: 1.75rem;
    line-height: 1.05;
    margin-bottom: 1.125rem;
}

/* --- Nadpisy — DM Serif Display ----------------------------------------- */
/* Barva a line-height shodné s .wysiwyg h2 v styles.css (#831427, 1.02).  */

.block-heading {
    font-family: 'DM Serif Display', Georgia, serif;
    color: var(--k-primary);    /* #831427 — shodné s .wysiwyg h2 */
    font-weight: 400;
    line-height: 1.02;
}

/* Velikosti shodné s styles.css: h2 = clamp(34px, 4vw, 52px), h3 = 28px. */
.block-heading--h2 { font-size: 2.5rem; }
.block-heading--h3 { font-size: 1.75rem; }
.block-heading--h4 { font-size: clamp(1.0625rem, 1.6vw, 1.25rem); }

.block-heading--center { text-align: center; }
.block-heading--right  { text-align: right; }

/* --- Eyebrow label ------------------------------------------------------- */
/* První .block-richtext v sloupci bezprostředně před .block-heading
   je automaticky detekován jako eyebrow popisek (CSS :has()).
   Chrome 105+, Firefox 121+, Safari 15.4+.                               */
/* Barva: var(--k-accent) = #b17f4a — shodná s .eyebrow v styles.css.    */

.block-section__col > .block-richtext:first-child:has(+ .block-heading),
.block-section__pre > .block-richtext:first-child:has(+ .block-heading),
.block-richtext--eyebrow {
    font-family: 'Montserrat', sans-serif;
    font-size: 0.9375rem;       /* = 15px, shodné s .section .eyebrow */
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--k-accent);     /* #b17f4a zlatavá — shodné s .eyebrow */
    line-height: 1.4;
}

/* --- Richtext typografie ------------------------------------------------- */

.block-richtext {
    font-family: 'Montserrat', sans-serif;
    color: var(--k-text-muted);
    font-size: 1rem;
    line-height: 1.7;
}

.block-richtext a {
    color: var(--k-primary);
    text-decoration: underline;
}

/* Podnadpisy uvnitř richtextu — SVATBY / FIREMNÍ AKCE styl */
.block-richtext h3 {
    font-family: 'Montserrat', sans-serif;
    font-size: 0.9375rem;   /* 15px */
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--k-primary);
    margin: 1.75rem 0 0.625rem;
}

.block-richtext h3:first-child { margin-top: 0; }

/* H2 uvnitř richtextu — stejný vzhled jako element „Nadpis". Používá se tam,
   kde nadpis nese samotný obsah z administrace (např. popis pokoje). */
.block-richtext h2 {
    font-family: 'DM Serif Display', Georgia, serif;
    color: var(--k-primary);
    font-weight: 400;
    font-size: 2.5rem;
    line-height: 1.02;
    margin: 2.5rem 0 1.125rem;
}

.block-richtext h2:first-child { margin-top: 0; }

/* Odkaz-šipka — "Více o ... →" — tučně, bez podtržení */
.block-richtext a.block-link {
    font-weight: 600;
    text-decoration: none;
    display: inline-block;
    margin-top: 0.25rem;
}

/* Odrážky — kruhová tečka zlatavá (styl shodný s původním webem) */
.block-richtext ul {
    list-style: none;
    padding-left: 0;
    margin: 0 0 1rem;
}

.block-richtext ul > li {
    display: list-item;
    list-style: none;
    padding-left: 1.375rem;
    position: relative;
    margin-bottom: 0.35rem;
    color: var(--k-text-muted);
}

.block-richtext ul > li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.68em;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--k-accent);
}

.block-richtext ol > li {
    display: list-item;
    list-style: decimal outside;
    margin-bottom: 0.35rem;
    color: var(--k-text-muted);
}

.block-richtext .block-align-left,
.block-richtext.block-align-left    { text-align: left; }
.block-richtext .block-align-center,
.block-richtext.block-align-center  { text-align: center; }
.block-richtext .block-align-right,
.block-richtext.block-align-right   { text-align: right; }

/* --- Tlačítka — Kostelec styl ------------------------------------------ */

.block-section .block-button-wrap .block-button {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 0.9375rem;
    letter-spacing: 0.02em;
    border-radius: 8px;
    padding: 0.75rem 1.75rem;
}

.block-section .block-button-wrap .block-button--primary {
    background: var(--k-primary);
    color: #ffffff;
}
.block-section .block-button-wrap .block-button--primary:hover {
    background: #6a1020;
    color: #ffffff;
    opacity: 1;
}

.block-section .block-button-wrap .block-button--secondary {
    background: transparent;
    color: var(--k-primary);
    border: 1.5px solid var(--k-primary);
}
.block-section .block-button-wrap .block-button--secondary:hover {
    background: rgba(131, 20, 39, 0.06);
    color: var(--k-primary);
    opacity: 1;
}

.block-section .block-button-wrap .block-button--ghost {
    background: transparent;
    color: inherit;
    border: 1.5px solid currentColor;
}
.block-section .block-button-wrap .block-button--ghost:hover {
    background: rgba(0, 0, 0, 0.04);
    color: inherit;
    opacity: 1;
}

/* --- Obrázek ------------------------------------------------------------- */

.block-image img {
    border-radius: 12px;
}

.block-image__caption {
    color: var(--k-text-muted);
    font-family: 'Montserrat', sans-serif;
    font-size: 0.8125rem;
}

/* --- Oddělovač ---------------------------------------------------------- */

.block-divider--line {
    background: rgba(131, 20, 39, 0.12);
}

/* --- Icon feature -------------------------------------------------------- */

.block-feature__title {
    font-size: 1.125rem;
    font-family: 'DM Serif Display', Georgia, serif;
    color: var(--k-text);
    font-weight: 400;
}

.block-feature__text {
    color: var(--k-text-muted);
    font-family: 'Montserrat', sans-serif;
}

/* --- Icon item (vertikální) ---------------------------------------------- */

.block-icon-item__icon {
    color: var(--k-primary);
}

.block-icon-item__title {
    font-family: 'DM Serif Display', Georgia, serif;
    font-size: 1.375rem;
    font-weight: 400;
    color: var(--k-text);
}

.block-icon-item__text {
    font-family: 'Montserrat', sans-serif;
    font-size: 0.9375rem;
    color: var(--k-text-muted);
}

/* --- Badge --------------------------------------------------------------- */

.block-badge {
    background: rgba(131, 20, 39, 0.08);
    color: var(--k-primary);
    font-family: 'Montserrat', sans-serif;
}

/* --- Accordion (FAQ) ----------------------------------------------------- */

.block-accordion {
    border: 1px solid rgba(131, 20, 39, 0.12);
    border-radius: 8px;
    overflow: hidden;
}

.block-accordion__item {
    border: none;
    border-bottom: 1px solid rgba(131, 20, 39, 0.12);
    background: #ffffff;
    border-radius: 0;
}

.block-accordion__item:last-child {
    border-bottom: none;
}

.block-accordion__title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 0.9375rem;
    color: var(--k-text);
    padding: 1.125rem 3rem 1.125rem 1.25rem;
}

.block-accordion__title::after {
    content: '+';
    font-size: 1.375rem;
    color: var(--k-primary);
    font-weight: 400;
    right: 1.25rem;
}

.block-accordion__item[open] .block-accordion__title {
    border-bottom: 1px solid rgba(131, 20, 39, 0.1);
    background: rgba(131, 20, 39, 0.03);
}

.block-accordion__item[open] .block-accordion__title::after {
    content: '−';
}

.block-accordion__body {
    color: var(--k-text-muted);
    font-family: 'Montserrat', sans-serif;
    font-size: 1rem;
    line-height: 1.7;
    padding: 1.25rem;
    background: #ffffff;
}

/* --- Spec --------------------------------------------------------------- */

.block-spec__label {
    color: var(--k-text-muted);
    font-family: 'Montserrat', sans-serif;
}

.block-spec__value {
    color: var(--k-text);
    font-family: 'DM Serif Display', Georgia, serif;
    font-weight: 400;
}

.block-spec__value--price {
    color: var(--k-primary);
}

/* --- Citace ------------------------------------------------------------- */

.block-quote {
    border-left: 3px solid var(--k-accent);
    background: rgba(177, 127, 74, 0.07);
    border-radius: 0 8px 8px 0;
}

.block-quote__text {
    font-style: italic;
    color: var(--k-text);
    font-family: 'DM Serif Display', Georgia, serif;
    font-size: 1.0625rem;
}

.block-quote__author {
    color: var(--k-text-muted);
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
}
