:root{
    --bg-page: #fbf7f4;   /* farba sekcie pod hero */
    --bg-hero: #efe4dc;   /* farba hero */
    --divider-h: 94px;    /* výška dividera (rezerva v hero) */
    --ink: #191615;
    --muted: #6b635e;
    --accent: #f47736;
    --border: #e7dfda;
    --almostsuccess: #539955;
    --shadow: 0 8px 24px rgba(25,22,21,.08);
}
/* ===== NAVBAR (z predchádzajúcej verzie) ===== */
body{ background: var(--bg-page); font-family: "Merriweather", serif; }

.site-nav{
    position: fixed; top: 0; inset-inline: 0; z-index: 1030;
    backdrop-filter: saturate(180%) blur(10px);
    background: var(--bg-hero);
    padding: 2rem 0;
    transition: transform .25s ease, background-color .25s ease, padding .25s ease, box-shadow .25s ease;
}

@media (min-width: 576px)  { .site-nav .container { max-width: 600px; } }
@media (min-width: 768px)  { .site-nav .container { max-width: 780px; } }
@media (min-width: 992px)  { .site-nav .container { max-width: 1020px; } }
@media (min-width: 1200px) { .site-nav .container { max-width: 1200px; } }
@media (min-width: 1400px) { .site-nav .container { max-width: 1380px; } }

.site-nav.nav-scrolled{
    background: var(--bg-page);
    box-shadow: var(--shadow);
    /*padding: .15rem 0;*/
}
.site-nav.nav-hidden{ transform: translateY(-100%); }

.site-nav .navbar-brand{ font-weight:800; color:var(--ink); }
.site-nav .nav-link{ color:var(--muted); font-weight:500; margin:0 .4rem; }
.site-nav .nav-link:hover,
.site-nav .nav-link.active{ color:var(--ink); }

.btn-login{
    background:#fff; border:1px solid var(--border);
    border-radius:999px; font-weight:600; padding:.45rem 1rem; margin-right:.5rem;
}
.btn-register{
    background:var(--accent); color:#fff;
    border-radius:999px; font-weight:600; padding:.45rem 1rem;
}
.btn-watch{
    background:var(--almostsuccess); color:#fff;
    border-radius:999px; font-weight:600; padding:.45rem 1rem;
}
.navbar-toggler{ border-color:var(--border); background:#fff; }
.navbar-toggler:focus{ box-shadow:0 0 0 .2rem rgba(0,0,0,.05) }

@media (max-width: 991.98px){
    .nav-actions{ padding-top:.5rem; border-top:1px solid var(--border); }
}
@media (prefers-reduced-motion: reduce){ .site-nav{ transition:none } }

/* hero sa NATIAHNE podľa obsahu; divider sa neprilepí na text/obrázky */
.hero{
    position: relative;
    background: var(--bg-hero);
    padding-bottom: var(--divider-h); /* rezerva = výška dividera */
}
.hero-divider{
    position: absolute;
    left: 0; right: 0; bottom: 0;
    height: var(--divider-h);
    width: 100%;
    display: block;
    fill: var(--bg-page);  /* farba výplne dividera = farba ďalšej sekcie */
    pointer-events: none;
}

/* obrázky v hero budú fluidné, výška podľa obsahu */
.hero img{ max-width:100%; height:auto; display:block; }

img.bernolacisko {
    display: inline-block;
    animation: sway 4s ease-in-out infinite;
    transform-origin: 50% 90%; /* bod otáčania - cca spodok obrázka */
}

@keyframes sway {
    0%   { transform: rotate(0deg); }
    25%  { transform: rotate(1.5deg); }
    50%  { transform: rotate(0deg); }
    75%  { transform: rotate(-1.5deg); }
    100% { transform: rotate(0deg); }
}

/* farba nasledujúcej sekcie */
.next-section{ background: var(--bg-page); }

/* responsívne menší divider na mobile (voliteľné) */
@media (max-width: 576px){
    :root{ --divider-h: 64px; }
}

/* custom */
.hero h1 {
    font-weight: bolder;
    line-height: 1.2;   /* uprav si podľa potreby */
}

.change-this-slogan .cursor {
    display: inline-block;
    animation: blink 1s steps(1, end) infinite;
    opacity: .9;
}
@keyframes blink {
    0%, 50% { opacity: .9; }
    51%,100% { opacity: 0; }
}

.hero h1 span {
    font-family: 'Caveat', cursive;
    font-size: 48pt;
    line-height: 1;          /* menšie riadkovanie pre Caveat */
    vertical-align: middle;  /* alebo baseline / top podľa efektu */
    display: inline-block;   /* umožní lepšie ovládanie výšky */
    margin-top: -5px;        /* ručne dorovnáš, ak stále nesedí */
    margin-bottom: 10px;
}

@media screen and (max-width:768px) {
    .hero {
        text-align: center;
    }
}

.what-we-offer .inner {
    position: relative;
    top: -350px;
    margin-bottom: -350px;
}

@media screen and (max-width:768px) {
    .what-we-offer .inner {
        position: relative;
        top: -260px;
        margin-bottom: -260px;
    }

    .hero img {
        max-height: 300px;
        margin: 0 auto;
    }
}

@media screen and (max-width:577px) {
    .what-we-offer .inner {
        position: relative;
        top: -240px;
        margin-bottom: -240px;
    }

    .hero img {
        max-height: 300px;
        margin: 0 auto;
    }
}

@media screen and (min-width: 769px) and (max-width: 1200px) {
    .what-we-offer .inner {
        position: relative;
        top: -280px;
        margin-bottom: -280px;
    }

    .hero img {
        max-height: 300px;
        margin: 0 auto;
    }
}

.what-we-offer .inner h2.section-label {
    font-family: 'Caveat', cursive;
    font-weight: bolder;
    margin-bottom: 50px;
}

.what-we-offer .inner h2.section-label .arrow {
    height: 1.4em;     /* zarovná s textom */
    width: auto;
    transform: translateY(2px); /* jemný posun dolu ak treba */
}

.what-we-offer .inner .row {
    background: #fff;
    border-radius: 20px;
    padding: 50px 60px;
}

.what-we-offer .inner .row .innercont h2 {
    padding-bottom: 40px;
}

.what-we-offer .inner .row .innercont p {
    display: flex;
    align-items: center;
    gap: .5rem; /* medzera medzi ikonou a textom */
}

.what-we-offer .inner .row .innercont  p .ikona {
    height: 50px;   /* rovnaká výška ako text */
    width: auto;   /* zachová pomer strán */
    flex-shrink: 0;
}

.what-we-offer .odsadene {
    border-left: 2px solid #eceaea;
    padding-left: 20px;
    padding-top: 20px;
    padding-bottom: 20px;
}

@media screen and (max-width: 768px) {
    .what-we-offer .odsadene {
        margin-bottom: 20px;
    }
}

section.project-author-about img.author-photo {
    max-width:100%;
    height :auto;
    max-height: 600px;
}

section.project-author-about h3.how-was-it-made {
    font-family: 'Caveat', cursive;
    font-weight: bolder;
    margin-bottom: 50px;
}

section.project-author-about .innerp {
    padding-left: 60px;
}

section.project-author-about .odsadene {
    border-left: 2px solid #eceaea;
    padding-left: 20px;
    padding-top: 20px;
    padding-bottom: 20px;
}

section.project-author-about .odsadene p span {
    font-family: 'Caveat', cursive;
    font-size: 16pt;
    font-weight: bold;
    color: var(--accent);
}

@media screen and (max-width: 992px) {
    section.project-author-about {
        text-align: center;
    }

    section.project-author-about .innerp {
        padding-left: 0px;
    }

    section.project-author-about .odsadene {
        border-left: none;
        padding-left: 0px;
        padding-top: 20px;
        padding-bottom: 20px;
    }
}

.sectionseparator {
    height: 2px;
    width: 100%;
    background: #eceaea;
}


section.steps img.step-photo {
    max-width:100%;
    height :auto;
    max-height: 600px;
}

section.steps h3.step-head {
    font-family: 'Caveat', cursive;
    font-weight: bolder;
    margin-bottom: 50px;
}

section.steps .innerp {
    padding-left: 60px;
}

section.steps .odsadene {
    border-left: 2px solid #eceaea;
    padding-left: 20px;
    padding-top: 20px;
    padding-bottom: 20px;
}

@media screen and (max-width: 992px) {
    section.steps {
        text-align: center;
    }

    section.steps .innerp {
        padding-left: 0px;
        padding-bottom: 30px;
    }

    section.steps .odsadene {
        border-left: none;
        padding-left: 0px;
        padding-top: 20px;
        padding-bottom: 20px;
    }
}

.contact-footer{
    position: relative;
    overflow: hidden;
    padding-top: 180px;          /* miesto pre divider */
}

.contact-divider{
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 180px;
    transform: rotate(180deg) scaleY(-1);
    display: block;
    z-index: 0;                  /* pod obsahom */
}

.contact-divider path{
    fill: var(--bg-hero, #f8f3f1);
    stroke: none;
}

.contact-footer .inner {
    background: var(--bg-hero);
}

.contact-footer .container{
    position: relative;
    z-index: 1;                  /* nad dividerom */
}