/* ================================================
   timeline-minimal.css
   Csak a cd-h-timeline pluginhoz szükséges stílusok.
   Az eredeti timeline.css ~3100 soros CodyHouse
   keretrendszeréből kiszűrve.
   ================================================ */

/* 1. Box-sizing alap – a container/dates helyes méretezéséhez */
*,
*::after,
*::before {
    box-sizing: border-box;
}

/* 2. Spacing változók – --space-sm és --space-xs referencia a timeline-ban */
:root {
    --space-unit:  1em;
    --space-xs:    calc(0.5  * var(--space-unit));   /* event-date margin */
    --space-sm:    calc(0.75 * var(--space-unit));   /* date padding-bottom */
}

/* 3. Timeline saját design token-jei */
:root {
    --cd-color-1:   hsl(0,  0%,  22%);   /* sötét szöveg */
    --cd-color-1-h: 0;
    --cd-color-1-s: 0%;
    --cd-color-1-l: 22%;

    --cd-color-2:   hsl(355, 71%, 44%);   /* zöld "filling line" és aktív pontok */
    --cd-color-2-h: 74;
    --cd-color-2-s: 93%;
    --cd-color-2-l: 32%;

    --cd-color-3:   hsl(0,  0%,  97%);   /* világos háttér / fade overlay */
    --cd-color-3-h: 0;
    --cd-color-3-s: 0%;
    --cd-color-3-l: 97%;

    --font-primary:   'Fira Sans',       sans-serif;
    --font-secondary: 'Playfair Display', serif;
}

/* 4. Opcionális: oldal alap háttere és szövegszíne
   (kihagyható, ha a saját oldalad ezt felülírja) */
body {
    color:            hsl(0, 0%, 22%);
    color:            var(--cd-color-1);
    background-color: hsl(0, 0%, 97%);
    background-color: var(--cd-color-3);
}

/* ================================================
   5. A timeline komponens stílusai (a lényeg)
   ================================================ */

/* Felsorolásjelek eltüntetése – csak a timeline-on belül,
   hogy ne érintse az oldal többi részét */
.cd-h-timeline ul,
.cd-h-timeline ol {
    list-style: none;
    padding: 0;
    margin: 0;
}

/* Betöltés előtt rejtett, utána fade-in */
.js .cd-h-timeline {
    opacity: 0;
    transition: opacity 0.2s;
}
.js .cd-h-timeline--loaded {
    opacity: 1;
}

/* Felső dátumsor konténer */
.js .cd-h-timeline__container {
    position: relative;
    height: 100px;
    max-width: 924px;
}

/* Görgethetõ dátumterület */
.js .cd-h-timeline__dates {
    position: relative;
    height: 100%;
    margin: 0 40px;
    overflow: hidden;
}

/* Bal/jobb fade overlay a görgetés jelzésére */
.js .cd-h-timeline__dates::after,
.js .cd-h-timeline__dates::before {
    content: '';
    position: absolute;
    z-index: 2;
    top: 0;
    height: 100%;
    width: 20px;
}
.js .cd-h-timeline__dates::before {
    left: 0;
    background: linear-gradient(to right, hsl(0, 0%, 97%), hsla(0, 0%, 97%, 0));
    background: linear-gradient(
        to right,
        var(--cd-color-3),
        hsla(var(--cd-color-3-h), var(--cd-color-3-s), var(--cd-color-3-l), 0)
    );
}
.js .cd-h-timeline__dates::after {
    right: 0;
    background: linear-gradient(to left, hsl(0, 0%, 97%), hsla(0, 0%, 97%, 0));
    background: linear-gradient(
        to left,
        var(--cd-color-3),
        hsla(var(--cd-color-3-h), var(--cd-color-3-s), var(--cd-color-3-l), 0)
    );
}

/* A vízszintes vonal */
.js .cd-h-timeline__line {
    position: absolute;
    z-index: 1;
    left: 0;
    top: 49px;
    height: 2px;
    background-color: hsl(0, 0%, 87.3%);
    background-color: hsl(var(--cd-color-3-h), var(--cd-color-3-s), calc(var(--cd-color-3-l) * 0.9));
    transition: transform 0.4s, -webkit-transform 0.4s;
}

/* A zöld kitöltő vonal (scaleX-szel animált) */
.js .cd-h-timeline__filling-line {
    position: absolute;
    z-index: 1;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    background-color: hsl(74, 93%, 32%);
    background-color: var(--cd-color-2);
    -webkit-transform: scaleX(0);
    -ms-transform:     scaleX(0);
    transform:         scaleX(0);
    -webkit-transform-origin: left center;
    -ms-transform-origin:     left center;
    transform-origin:         left center;
    transition: transform 0.3s, -webkit-transform 0.3s;
}

/* Dátum linkek a vonalon */
.js .cd-h-timeline__date {
    position: absolute;
    bottom: 0;
    z-index: 2;
    text-align: center;
    font-size: 0.8em;
    padding-bottom: 0.75em;
    padding-bottom: var(--space-sm);
    color: hsl(0, 0%, 22%);
    color: var(--cd-color-1);
    -webkit-user-select: none;
    -moz-user-select:    none;
    -ms-user-select:     none;
    user-select:         none;
    text-decoration: none;
}

/* A kör pont a dátumon */
.js .cd-h-timeline__date::after {
    content: '';
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform:     translateX(-50%);
    transform:         translateX(-50%);
    bottom: -5px;
    height: 12px;
    width: 12px;
    border-radius: 50%;
    border-width: 2px;
    border-style: solid;
    border-color: hsl(0, 0%, 87.3%);
    border-color: hsl(var(--cd-color-3-h), var(--cd-color-3-s), calc(var(--cd-color-3-l) * 0.9));
    background-color: hsl(0, 0%, 97%);
    background-color: var(--cd-color-3);
    transition: background-color 0.3s, border-color 0.3s;
}
.js .cd-h-timeline__date:hover::after {
    background-color: hsl(74, 93%, 32%);
    background-color: var(--cd-color-2);
    border-color:     hsl(74, 93%, 32%);
    border-color:     var(--cd-color-2);
}
@media (min-width: 64rem) {
    .js .cd-h-timeline__date {
        font-size: .85em;
    }
}

/* Kiválasztott dátum */
.js .cd-h-timeline__date--selected {
    pointer-events: none;
}
.js .cd-h-timeline__date--selected::after {
    background-color: hsl(74, 93%, 32%);
    background-color: var(--cd-color-2);
    border-color:     hsl(74, 93%, 32%);
    border-color:     var(--cd-color-2);
}

/* A kiválasztottnál régebbi dátumok pontjai */
.js .cd-h-timeline__date--older-event::after {
    border-color: hsl(74, 93%, 32%);
    border-color: var(--cd-color-2);
}

/* Nyíl navigáció gombok */
.js .cd-h-timeline__navigation {
    position: absolute;
    z-index: 1;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform:     translateY(-50%);
    transform:         translateY(-50%);
    height: 34px;
    width: 34px;
    border-radius: 50%;
    border-width: 2px;
    border-style: solid;
    border-color: hsl(0, 0%, 87.3%);
    border-color: hsl(var(--cd-color-3-h), var(--cd-color-3-s), calc(var(--cd-color-3-l) * 0.9));
    transition: border-color 0.3s;
    /* "Prev" / "Next" szöveg elrejtése */
    overflow: hidden;
    color: transparent;
    font-size: 0;
}
.js .cd-h-timeline__navigation::after {
    content: '';
    position: absolute;
    height: 16px;
    width: 16px;
    top: 50%;
    left: 50%;
    -webkit-transform: translateX(-50%) translateY(-50%);
    -ms-transform:     translateX(-50%) translateY(-50%);
    transform:         translateX(-50%) translateY(-50%);
    /* Inline SVG sprite: felső 16px = aktív nyíl, alsó 16px = inaktív nyíl */
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='32'%3E%3Cg fill='none' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline stroke='%23383838' points='5,3 11,8 5,13'/%3E%3Cpolyline stroke='%23c0c0c0' points='5,19 11,24 5,29'/%3E%3C/g%3E%3C/svg%3E") no-repeat 0 0;
}
.js .cd-h-timeline__navigation:hover {
    border-color: hsl(74, 93%, 32%);
    border-color: var(--cd-color-2);
}
.js .cd-h-timeline__navigation--prev {
    left: 0;
    -webkit-transform: translateY(-50%) rotate(180deg);
    -ms-transform:     translateY(-50%) rotate(180deg);
    transform:         translateY(-50%) rotate(180deg);
}
.js .cd-h-timeline__navigation--next {
    right: 0;
}
.js .cd-h-timeline__navigation--inactive {
    cursor: not-allowed;
}
.js .cd-h-timeline__navigation--inactive::after {
    background-position: 0 -16px;
}
.js .cd-h-timeline__navigation--inactive:hover {
    border-color: hsl(0, 0%, 87.3%);
    border-color: hsl(var(--cd-color-3-h), var(--cd-color-3-s), calc(var(--cd-color-3-l) * 0.9));
}

/* Esemény tartalom terület */
.js .cd-h-timeline__events {
    position: relative;
    width: 100%;
    overflow: hidden;
    transition: height 0.4s;
}

/* Egyedi esemény panel */
.js .cd-h-timeline__event {
    position: absolute;
    z-index: 1;
    width: 100%;
    left: 0;
    top: 0;
    -webkit-transform: translateX(-100%);
    -ms-transform:     translateX(-100%);
    transform:         translateX(-100%);
    padding: 1px 5%;
    opacity: 0;
    -webkit-animation-duration: 0.4s;
    animation-duration: 0.4s;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
}
.js .cd-h-timeline__event--selected {
    position: relative;
    z-index: 2;
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform:     translateX(0);
    transform:         translateX(0);
}

/* Belépési / kilépési animáció irányok */
.js .cd-h-timeline__event--enter-right,
.js .cd-h-timeline__event--leave-right {
    -webkit-animation-name: cd-enter-right;
    animation-name:         cd-enter-right;
}
.js .cd-h-timeline__event--enter-left,
.js .cd-h-timeline__event--leave-left {
    -webkit-animation-name: cd-enter-left;
    animation-name:         cd-enter-left;
}
.js .cd-h-timeline__event--leave-right,
.js .cd-h-timeline__event--leave-left {
    animation-direction: reverse;
}

/* Esemény tartalom szélességkorlátja */
.js .cd-h-timeline__event-content {
    max-width: 924px;
}

/* Esemény cím */
.js .cd-h-timeline__event-title {
    font-size: 1.875rem;
    margin-bottom: 0.9375rem;
    line-height: normal;
}

/* Esemény dátum felirat */
.js .cd-h-timeline__event-date {
    display: block;
    font-style: italic;
    margin: 0.5em auto;
    margin: var(--space-xs) auto;
}
.js .cd-h-timeline__event-date::before {
    content: '- ';
}

/* Keyframe animációk */
@-webkit-keyframes cd-enter-right {
    0%   { opacity: 0; -webkit-transform: translateX(100%);  transform: translateX(100%);  }
    100% { opacity: 1; -webkit-transform: translateX(0%);    transform: translateX(0%);    }
}
@keyframes cd-enter-right {
    0%   { opacity: 0; -webkit-transform: translateX(100%);  transform: translateX(100%);  }
    100% { opacity: 1; -webkit-transform: translateX(0%);    transform: translateX(0%);    }
}
@-webkit-keyframes cd-enter-left {
    0%   { opacity: 0; -webkit-transform: translateX(-100%); transform: translateX(-100%); }
    100% { opacity: 1; -webkit-transform: translateX(0%);    transform: translateX(0%);    }
}
@keyframes cd-enter-left {
    0%   { opacity: 0; -webkit-transform: translateX(-100%); transform: translateX(-100%); }
    100% { opacity: 1; -webkit-transform: translateX(0%);    transform: translateX(0%);    }
}

/* JS nélküli fallback: elrejtjük a navigációt */
html:not(.js) .cd-h-timeline__dates,
html:not(.js) .cd-h-timeline__navigation {
    display: none;
}
