@charset "UTF-8";

/* =========================================================
   MojePrazdniny.cz – REDESIGN LAYER
   Material Design inspired (W3.CSS compatible)
   =========================================================
   Zásady:
   - W3.CSS necháváme řešit layout/utility.
   - redesign.css řeší design tokens, role-based barvy, komponenty a drobné doplňky.
   - Komponenty: 1 třída = 1 role (nelepit dohromady 5 tříd).
   ========================================================= */


/* =========================================================
   1) RESET / NORMALIZATION
   ========================================================= */
*,
*::before,
*::after { box-sizing: border-box; }

img, svg { border: none; }


/* =========================================================
   2) DESIGN TOKENS
   ========================================================= */
:root{
    /* TYPOGRAPHY
       Použití:
       - --font-body: všechen běžný text (body, inputy, tlačítka)
       - --font-heading: nadpisy (h1–h6) */
    --font-body: Roboto, system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
    --font-heading: "Raleway", Roboto, system-ui, -apple-system, "Segoe UI", Arial, sans-serif;

    /* Základní typografická škála */
    --font-size-base: 16px;
    --line-height-base: 1.7;

    /* Váhy */
    --fw-display: 300;  /* velké hero titulky */
    --fw-regular: 400;  /* default text */
    --fw-medium: 500;   /* zvýraznění bez křiku */
    --fw-strong: 600;   /* nadpisy / důležité labely */
    --fw-bold: 700;     /* používat střídmě */

    /* RADIUS */
    --radius-base: 6px;

    /* WIDTH SYSTEM */
    --md-maxw: 1205px;
    --md-hero-maxw: 1600px;

    /* BACKGROUNDS (chladnější neutrál) */
    --c-bg: #f3f7f7;

    --c-surface-1: #fbfdfd;  /* top surface (karty, modaly) */
    --c-surface-2: #ecf2f1;  /* sekundární bloky */
    --c-surface-3: #e2ecea;  /* zvýrazněné sekce */
    --c-surface: var(--c-surface-1);

    /* TEXT */
    --c-text: rgba(10, 18, 18, 0.86);
    --c-text-strong: rgba(10, 18, 18, 0.92);
    --c-text-2: rgba(10, 18, 18, 0.62);
    --c-text-3: rgba(10, 18, 18, 0.40);

    /* (volitelný alias pro akční text – zatím slabý) */
    --c-text-action: rgba(10, 18, 18, 0.40);

    /* BORDERS */
    --c-border: rgba(10, 18, 18, 0.14);

    /* ACTION (brand accent) */
    --c-action: #41645D;
    --c-action-hover: #15484b;
    --c-on-action: #ffffff;

    /* FOCUS (navázané na action) */
    --focus-ring: 0 0 0 3px rgba(65,100,93,0.28);

    /* ACTION (RGBA variants) – pro soft bg / highlighty */
    --c-action-90: rgba(65,100,93,0.90);
    --c-action-85: rgba(65,100,93,0.85);
    --c-action-80: rgba(65,100,93,0.80);
    --c-action-70: rgba(65,100,93,0.70);
    --c-action-60: rgba(65,100,93,0.60);
    --c-action-40: rgba(65,100,93,0.40);
    --c-action-20: rgba(65,100,93,0.20);

    /* SHADOWS */
    --shadow-0: none;
    --shadow-1:
            0 1px 2px rgba(0,0,0,0.06),
            0 2px 6px rgba(0,0,0,0.06);
    --shadow-2:
            0 6px 14px rgba(0,0,0,0.10),
            0 2px 6px rgba(0,0,0,0.06);
    --shadow-3:
            0 12px 28px rgba(0,0,0,0.14),
            0 4px 10px rgba(0,0,0,0.08);
    --shadow-4:
            0 18px 44px rgba(0,0,0,0.18),
            0 6px 16px rgba(0,0,0,0.10);

    /* MOTION */
    --md-ease: cubic-bezier(.2,.0,.0,1);
    --md-dur-120: 120ms;
    --md-dur-200: 200ms;

    --md-sticky-top: 0px; /* uprav podle výšky top baru */
}
/* =========================================================
   3) BASE TYPOGRAPHY (globální defaulty)
   ========================================================= */
html { font-size: var(--font-size-base); }


body {
    font-family: var(--font-body);
    line-height: var(--line-height-base);
    font-weight: var(--fw-regular);
    color: var(--c-text);
    background-color: var(--c-bg);
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
    font-weight: var(--fw-strong);
    color: var(--c-text-strong);
    margin: 0;
}
p, ul, ol {margin: 0;}
/* =========================================================
   DEFAULT HEADING MAPPING (H1–H3) – Travel catalogue scale
   - nízká specificita přes :where()
   - ruční md-* třídy to vždy snadno přepíšou
   ========================================================= */

:where(h1){
    font-family: var(--font-heading);
    font-weight: var(--fw-bold);
    font-size: clamp(26px, 3vw, 34px);
    line-height: 1.15;
    letter-spacing: -0.02em;
    color: var(--c-text-strong);
    margin: 0;
    text-wrap: balance;
}

:where(h2){
    font-family: var(--font-heading);
    font-weight: var(--fw-strong);
    font-size: clamp(20px, 2vw, 26px);
    line-height: 1.25;
    letter-spacing: -0.01em;
    color: var(--c-text-strong);
    margin: 0;
}

:where(h3){
    font-family: var(--font-heading);
    font-weight: var(--fw-strong);
    font-size: clamp(17px, 0.9vw + 10px, 20px);
    line-height: 1.30;
    letter-spacing: 0;
    color: var(--c-text-strong);
    margin: 0;
}
/* =========================================================
   MD TYPOGRAPHY SYSTEM – napojený na tokeny projektu
   ========================================================= */

/* ===== DISPLAY ===== */
.md-display{
    font-family: var(--font-heading);
    font-weight: var(--fw-bold);
    font-size: clamp(32px, 3.2vw, 48px);
    line-height: 1.15;
    letter-spacing: -0.02em;
    color: var(--c-text-strong);
    margin: 0;
}

.md-display-sm{
    font-family: var(--font-heading);
    font-weight: var(--fw-bold);
    font-size: clamp(28px, 2.6vw, 40px);
    line-height: 1.18;
    letter-spacing: -0.02em;
    color: var(--c-text-strong);
    margin: 0;
}

/* ===== HEADLINE ===== */
.md-headline{
    font-family: var(--font-heading);
    font-weight: var(--fw-strong);
    font-size: clamp(22px, 2vw, 32px);
    line-height: 1.25;
    letter-spacing: -0.01em;
    color: var(--c-text-strong);
    margin: 0;
}

.md-headline-sm{
    font-family: var(--font-heading);
    font-weight: var(--fw-strong);
    font-size: clamp(20px, 1.6vw, 26px);
    line-height: 1.28;
    letter-spacing: -0.01em;
    color: var(--c-text-strong);
    margin: 0;
}

/* ===== TITLE ===== */
.md-title{
    font-family: var(--font-heading);
    font-weight: var(--fw-strong);
    font-size: clamp(18px, 1.3vw, 22px);
    line-height: 1.3;
    color: var(--c-text-strong);
    margin: 0;
}

.md-title-sm{
    font-family: var(--font-heading);
    font-weight: var(--fw-medium);
    font-size: 16px;
    line-height: 1.35;
    color: var(--c-text-strong);
    margin: 0;
}

/* ===== BODY ===== */
.md-body{
    font-family: var(--font-body);
    font-weight: var(--fw-regular);
    font-size: 16px;
    line-height: 1.7;
    color: var(--c-text);
    margin: 0;
}

.md-body-sm{
    font-family: var(--font-body);
    font-weight: var(--fw-regular);
    font-size: 14px;
    line-height: 1.6;
    color: var(--c-text);
    margin: 0;
}

/* ===== LABEL ===== */
.md-label{
    font-family: var(--font-body);
    font-weight: var(--fw-strong);
    font-size: 14px;
    line-height: 1.2;
    letter-spacing: 0.02em;
    color: var(--c-text-strong);
    margin: 0;
}

/* ===== FLOW SPACING ===== */
.md-flow > * + * { margin-top: 12px; }
.md-flow-tight > * + * { margin-top: 8px; }

.md-stack > .md-headline + *,
.md-stack > .md-title + * {
    margin-top: 10px;
}

.md-paragraphs p + p { margin-top: 12px; }

/* =========================================================
   4) ACCESSIBILITY – FOCUS
   ========================================================= */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: none;
    box-shadow: var(--focus-ring);
}

/* =========================================================
   5) ROLE CLASSES (barvy / povrchy / text)
   ========================================================= */

/* BACKGROUND / SURFACES */
.md-bg { background-color: var(--c-bg); }

.md-surface,
.md-surface-1 { background-color: var(--c-surface-1); }
.md-surface-2 { background-color: var(--c-surface-2); }
.md-surface-3 { background-color: var(--c-surface-3); }
/* měkká akční plocha */
.bg-action-soft { background: var(--c-action-20); }

/* TEXT */
.md-text { color: var(--c-text); }
.md-text-strong { color: var(--c-text-strong); }
.md-text-2 { color: var(--c-text-2); }
.md-text-3 { color: var(--c-text-3); }
.md-text-on-action { color: var(--c-on-action); }

/* WRAPPER */
.md-wrapper-large{
    margin: 0 auto;max-width: var(--md-hero-maxw);}
.md-wrapper{
    margin: 0 auto;max-width: var(--md-maxw);}

/* ACTION TEXT */
.md-text-action { color: var(--c-action); }

/* BORDERS */
.md-border { border: 1px solid var(--c-border); }

/* SHADOW */
.md-shadow-1 { box-shadow: var(--shadow-1); }
.md-shadow-2 { box-shadow: var(--shadow-2); }
.md-shadow-3 { box-shadow: var(--shadow-3); }
.md-shadow-4 { box-shadow: var(--shadow-4); }

/* RADIUS */
.md-round { border-radius: var(--radius-base); }

/* HOVER (jemné zvýraznění povrchu) */
.md-hover-surface:hover { background-color: var(--c-surface-2); }

/* ACTION BACKGROUND (role) */
.md-bg-action {background: var(--c-action);color: var(--c-on-action);}
.md-bg-action:hover {background: var(--c-action-hover);}

.md-light{ font-weight:var(--fw-display);}
/* =========================================================
   6) COMPONENTS – LINKS (obecné linky)
   ========================================================= */


/* =========================================================
   7) UTILITIES (malé pomocné třídy, když chybí ve W3)
   ========================================================= */


/* =========================================================
   8) W3 INTEGRATION (cílené přemostění, minimálně)
   ========================================================= */


/* =========================================================
   9) W3 INTEGRATION (cílené přemostění)
   ========================================================= */

/* pokud používáš W3 button + md-bg-action */
.w3-button.md-bg-action:hover {
    background-color: var(--c-action-hover) !important;
    color: var(--c-on-action) !important;
    box-shadow: var(--shadow-2);
}

/* CARDS: přemapování w3-card na MD shadows */
.w3-card,
.w3-card-2{
    box-shadow: var(--shadow-1) !important;
}

.w3-card-4{
    box-shadow: var(--shadow-2) !important;
}

.w3-hover-shadow:hover{
    box-shadow: var(--shadow-2) !important;
}
.w3-teal, .w3-hover-teal:hover {
    color: #fff !important;
    background-color: var(--c-action) !important;
}

/* =========================================================
   MD SPLIT – HERO
   ========================================================= */

/* základ – desktop */
.md-split {
    padding: 0 16px;
    --mediaH: 620px;
}

.md-split__wrap {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    align-items: stretch;

    max-width: var(--md-hero-maxw);
    margin: 0 auto;

    padding: 28px;
}

/* FOTO */
.md-split__media {
    position: relative;
    height: var(--mediaH);
    border-radius: 4px;
    overflow: hidden;
}

/* zajistí správné chování obrázku */
.md-split__picture,
.md-split__img {
    display: block;
    width: 100%;
    height: 100%;
}

.md-split__img {
    object-fit: cover;
}

/* overlay */
.md-split__mediaOverlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(0,0,0,.12), rgba(0,0,0,0));
}

/* TEXT KARTA */
.md-split__card {
    align-self: center;
    justify-self: end;

    background: var(--c-surface-1);
    border-radius: 4px;

    padding: 42px 48px;

    box-shadow: var(--shadow-2);
    transform: translateX(-80px);
    max-width: 720px;
}
/* =========================================================
   RESPONSIVE – MD SPLIT
   ========================================================= */

@media (max-width: 800px){

    .md-split{
        --mediaH: 260px;
        padding: 0;
    }

    .md-split__wrap{
        grid-template-columns: 1fr;
        padding: 28px;
    }

    .md-split__card{
        position: relative;
        z-index: 3;

        transform: none;
        justify-self: center;

        width: calc(100% - 32px);
        margin-top: -80px;

        margin-left: auto;
        margin-right: auto;

        max-height: none;
        overflow: visible;

        padding: 48px 22px;
    }
}

/* Mobile */
@media (max-width: 600px){
    .md-split{
        --mediaH: 400px;
    }
}
.md-split__picture { display: block; }

@media (max-width: 600px) {
    .md-split__picture { aspect-ratio: 1 / 1; }   /* 500×500 */
}

@media (min-width: 601px) {
    .md-split__picture { aspect-ratio: 3 / 2; }   /* 800×533 */
}

.md-split__img{
    width: 100%;
    height: 100%;
    object-fit: cover; /* drží ořez hezky */
    display: block;
}

/* =========================
   FIXED ACTION BUTTONS PAGE
   ========================= */
#scrollBtn, #dateBtn {
    position: fixed;
    z-index: 1000;
}

#scrollBtn {
    right: 19px;
    bottom: 16px;
}

#dateBtn {
    right: 16px;
    bottom: 88px;
}

@media (max-width: 600px) {
    #scrollBtn { right: 15px; }
    #dateBtn { right: 12px; bottom: 84px; }
}

/* =========================================================
   COMPONENTS – BUTTONS (MD overlay style)
   ========================================================= */
.md-btn{
    position: relative;
    overflow: hidden;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;

    min-height: 44px;
    padding: 10px 18px;
    line-height: 1.1;

    border: 0;
    border-radius: var(--radius-base);
    cursor: pointer;

    font: inherit;

    /* pro <a> */
    text-decoration: none;
    -webkit-tap-highlight-color: transparent;
    color: inherit;
}

/* role */
.md-btn--primary,
.md-btn--primary:visited{
    background: var(--c-action);
    color: var(--c-on-action);
}


/* overlay vrstva (Material-ish) */
.md-btn::before{
    content:"";
    position:absolute;
    inset:0;
    background: #fff; /* protože action je tmavá */
    opacity: 0;
    transition: opacity var(--md-dur-200) var(--md-ease);
    z-index: 0;
}

/* obsah nad overlay */
.md-btn > span,
.md-btn > svg{
    position: relative;
    z-index: 1;
}

/* hover / pressed */
.md-btn:hover::before{ opacity: .08; }
.md-btn:active::before{ opacity: .16; }
.md-btn:hover {box-shadow: 0 4px 12px rgba(0,0,0,.10);}

/* focus */
.md-btn:focus-visible{
    outline: none;
    box-shadow: var(--focus-ring);
}

/* volitelné: full width */
.md-btn--block{ width: 100%; }
.md-btn--radius32{ border-radius: 32px; }

/* =========================================================
   md-breadcrumbs (system component)
   ========================================================= */

.md-bc{
    position: relative;
    display: flex;
    align-items: center;
    gap: 10px;
}

/* Sticky varianta */
.md-bc-sticky-wrap{
    position: sticky;
    top: var(--md-sticky-top, 0);
    z-index: 50;
    background: var(--c-bg, #f7f6f5);
    backdrop-filter: blur(6px);
}

/* Scroll wrapper */
.md-bc__scroll{
    flex: 1 1 auto;
    min-width: 0;
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;

    /* skryj scrollbar */
    scrollbar-width: none;
    -ms-overflow-style: none;
}
.md-bc__scroll::-webkit-scrollbar{ display:none; }

/* List */
.md-bc__list{
    display: inline-flex;
    align-items: center;
    gap: 0;
    padding: 0;
    margin: 0;
    list-style: none;
}

/* Item */
.md-bc__item{
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
}

/* Separator (Material-ish) */
.md-bc__item:not(:last-child)::after{
    content: "›";
    opacity: .55;
    margin: 0 10px;
}

/* Link + current */
.md-bc__link,
.md-bc__current{
    display: inline-flex;
    align-items: center;
    gap: 6px;
    text-decoration: none;
    font-size: 13px;
    line-height: 20px;
    color: var(--c-text, rgba(0,0,0,.82));
    opacity: .78; /* on-surface-variant feel */
}

.md-bc__link:hover{
    text-decoration: underline;
    opacity: .92;
}

.md-bc__item--current .md-bc__current{
    opacity: 1;
    color: var(--c-text-strong, rgba(0,0,0,.92));
    font-weight: 600;
}

/* Home icon */
.md-bc__icon{
    width: 18px;
    height: 18px;
    fill: currentColor;
    opacity: .9;
    position: relative;
    top: -1px;
}
/* Group caption (pokud používáš) */
.md-bc__group{
    opacity: .85;
}

/* Actions slot vpravo */
.md-bc__actions{
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
}

/* Jemný hint, že vlevo je něco schované (fade) */
.md-bc::before{
    content:"";
    position:absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 22px;
    pointer-events:none;
    background: linear-gradient(to right, var(--c-bg, #f7f6f5), rgba(0,0,0,0));
    opacity: .9;
}

/* Jemný hint i vpravo (volitelné) */
.md-bc::after{
    content:"";
    position:absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 22px;
    pointer-events:none;
    background: linear-gradient(to left, var(--c-bg, #f7f6f5), rgba(0,0,0,0));
    opacity: .35;
}

/* =========================================================
   12) WIP / LAB – ROZPRACOVANÉ (DOČASNÉ)
   =========================================================
   Sem dávej věci, které teď ladíme / testujeme.
   Jakmile je něco finální, přesune se to do správné sekce výše.
   ========================================================= */