*{box-sizing:border-box}
:root{
    --green:#15662f;
    --green-dark:#0d5024;
    --green-soft:#eef6ef;
    --ink:#18251c;
    --muted:#687268;
    --line:#e4e8e3;
    --paper:#ffffff;
    --warm:#f7f4ee;
    --max:1180px;
    --shadow:0 12px 30px rgba(22,49,28,.11);
}
html{scroll-behavior:smooth}
body{
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:Arial,Helvetica,sans-serif;
    line-height:1.5;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
.wrap{width:min(var(--max),calc(100% - 40px));margin:0 auto}

.site-header{
    background:#fff;
    border-bottom:1px solid var(--line);
    position:relative;
    z-index:20;
}
.header-inner{
    min-height:84px;
    display:grid;
    grid-template-columns:210px 1fr 320px;
    gap:26px;
    align-items:center;
}
.site-logo img{
    width:150px;
    height:60px;
    object-fit:cover;
    object-position:center;
}
.main-nav{
    display:flex;
    justify-content:center;
    gap:30px;
    font-size:13px;
    font-weight:800;
}
.main-nav a:hover{color:var(--green)}
.header-search{
    display:grid;
    grid-template-columns:1fr 48px;
    border:1px solid #dfe4df;
    border-radius:8px;
    overflow:hidden;
}
.header-search input{
    border:0;
    padding:12px 14px;
    outline:0;
    min-width:0;
}
.header-search button{
    border:0;
    background:var(--green);
    color:#fff;
    font-size:24px;
    cursor:pointer;
}

.green-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:var(--green);
    color:#fff;
    padding:12px 20px;
    border-radius:7px;
    font-weight:800;
    border:0;
}
.green-button:hover{background:var(--green-dark)}

.hero-home{
    background:
      linear-gradient(90deg,rgba(240,248,233,.95),rgba(240,248,233,.55)),
      radial-gradient(circle at 85% 20%,#b9d98f 0,transparent 32%),
      linear-gradient(135deg,#eff5d9,#d4e8bd);
    border-bottom:1px solid #d9e0cd;
}

.hero-home.top5-section{
    background:
        linear-gradient(
            90deg,
            rgba(240,248,233,.94) 0%,
            rgba(240,248,233,.78) 28%,
            rgba(240,248,233,.45) 55%,
            rgba(240,248,233,.45) 100%
        ),
        url('../images/top5-bg.webp');

    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
}

.hero-home-grid{
    min-height:370px;
    display:grid;
    grid-template-columns:250px 1fr;
    gap:30px;
    align-items:center;
    padding:38px 0 34px;
}
.hero-copy h1{
    font-family:Georgia,'Times New Roman',serif;
    font-size:42px;
    line-height:1.05;
    margin:0 0 16px;
    color:#123d20;
}
.hero-copy p{
    font-size:18px;
    margin:0 0 22px;
    max-width:230px;
}
.hero-books{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:16px;
    align-items:end;
}
.hero-book{
    min-width:0;
    text-align:center;
    transform:scale(1);
    transition:transform .65s ease,filter .65s ease;
    transform-origin:bottom center;
}
.hero-book.is-focus{
    transform:scale(1.075);
    z-index:2;
}
.cover-wrap{
    position:relative;
    display:block;
}
.hero-book img{
    width:100%;
    aspect-ratio:2/3;
    object-fit:cover;
    box-shadow:var(--shadow);
    border-radius:2px;
}
.book-label{
    position:absolute;
    top:-8px;
    right:-8px;
    z-index:3;
    color:#fff;
    font-weight:800;
    font-size:11px;
    padding:6px 9px;
    border-radius:999px;
}
.book-label.new{background:#c92d37}
.book-label.preorder{background:#d98d16}
.hero-book h3{
    font-size:14px;
    line-height:1.25;
    margin:12px 0 3px;
    height:35px;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}
.book-author{
    margin:0;
    font-size:13px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.home-main{padding:44px 0 60px}
.home-columns{
    display:grid;
    grid-template-columns:minmax(0,2.15fr) minmax(280px,.95fr);
    gap:28px;
    align-items:start;
}
.home-left{min-width:0}
.home-right{
    display:grid;
    gap:24px;
}
.section-title-row{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:20px;
    margin-bottom:18px;
}
.section-title-row h2{
    font-family:Georgia,'Times New Roman',serif;
    font-size:32px;
    line-height:1;
    margin:0;
}
.section-title-row>a{
    color:var(--green);
    font-size:12px;
    font-weight:800;
    white-space:nowrap;
}
.article-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:16px;
}
.article-card img,.article-placeholder{
    width:100%;
    aspect-ratio:16/9;
    object-fit:cover;
    border-radius:4px;
    background:linear-gradient(135deg,#dbe8d3,#b8cfac);
}
.article-card time{
    display:block;
    color:#637064;
    font-size:12px;
    margin:9px 0 4px;
}
.article-card h3,.article-card h2{
    margin:0 0 5px;
    font-size:15px;
    line-height:1.3;
}
.article-card p{
    font-size:13px;
    margin:0 0 10px;
    color:#435046;
}
.read-more{
    color:var(--green);
    font-size:12px;
    font-weight:800;
}
.download-card{
    position:relative;
    overflow:hidden;
    background:linear-gradient(145deg,#eef8ee,#d9edcf);
    border-radius:7px;
    padding:28px 26px;
    min-height:296px;
}
.download-card:after{
    content:"";
    position:absolute;
    width:160px;
    height:160px;
    right:-45px;
    bottom:-60px;
    border-radius:50%;
    background:rgba(58,130,53,.13);
}
.download-icon{
    position:absolute;
    top:23px;
    right:24px;
    color:var(--green);
    font-size:56px;
    line-height:1;
}
.download-card h2{
    font-family:Georgia,'Times New Roman',serif;
    font-size:34px;
    margin:0 0 6px;
}
.download-card h3{
    margin:0 0 16px;
    font-size:18px;
}
.download-card p{
    margin:0 0 20px;
    font-size:14px;
    max-width:235px;
}
.recommended-card{
    border-top:1px solid var(--line);
    padding-top:18px;
}
.recommended-card .section-title-row h2{font-size:30px}
.recommended-list{
    display:grid;
    gap:12px;
}
.recommended-list article{
    display:grid;
    grid-template-columns:54px 1fr;
    gap:12px;
    align-items:center;
}
.recommended-list img{
    width:54px;
    height:76px;
    object-fit:cover;
    box-shadow:0 4px 12px rgba(0,0,0,.1);
}
.recommended-list h3{
    font-size:14px;
    line-height:1.2;
    margin:0 0 4px;
}
.recommended-list p{
    margin:0;
    color:#59635b;
    font-size:13px;
}
.home-banner{
    margin:24px 0;
    display:flex;
    justify-content:center;
    align-items:center;
    width:100%;
}
.home-banner>a{
    display:flex;
    justify-content:center;
    align-items:center;
    width:100%;
}
.home-banner img{
    display:block;
    width:auto;
    max-width:100%;
    height:auto;
    max-height:220px;
    object-fit:contain;
    object-position:center;
    margin:0 auto;
    border-radius:6px;
}
.latest-block{padding-top:2px}
.latest-grid{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:18px 14px;
}
.small-book-card{text-align:center;min-width:0}
.small-book-card img{
    width:100%;
    aspect-ratio:2/3;
    object-fit:cover;
    box-shadow:0 7px 18px rgba(0,0,0,.12);
}
.small-book-card h3{
    font-size:13px;
    line-height:1.25;
    margin:8px 0 0;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}
.nature-quote{
    background:linear-gradient(90deg,#315f23,#7fa34d,#315f23);
    color:#fff;
    text-align:center;
    padding:30px 0;
    font-family:Georgia,'Times New Roman',serif;
    font-size:26px;
    font-style:italic;
}

.site-footer{
    background:linear-gradient(#f7f8f7,#eef0ef);
    border-top:1px solid #e3e6e3;
}
.footer-grid{
    display:grid;
    grid-template-columns:1.25fr .9fr .9fr 1.15fr;
    gap:34px;
    padding:38px 0;
}
.footer-brand img{
    width:185px;
    height:82px;
    object-fit:cover;
}
.footer-brand p{
    color:#4f5a51;
    font-size:14px;
    max-width:250px;
}
.site-footer h3{
    margin:0 0 14px;
    font-size:14px;
}
.footer-links{
    display:grid;
    gap:8px;
}
.footer-links a{
    color:#37443a;
    font-size:13px;
}
.footer-links a:hover{color:var(--green)}
.facebook-card{
    display:grid;
    grid-template-columns:46px 1fr;
    gap:12px;
    align-items:center;
    border:1px solid #ccd5cc;
    background:#fff;
    padding:12px;
    border-radius:5px;
}
.fb-mark{
    width:46px;
    height:46px;
    display:grid;
    place-items:center;
    background:#1877f2;
    color:#fff;
    border-radius:4px;
    font:bold 30px Arial;
}
.facebook-card strong{display:block;font-size:14px}
.facebook-card small{display:block;color:#657067;margin-top:3px}
.footer-bottom{
    border-top:1px solid #dfe3df;
    background:rgba(255,255,255,.55);
}
.footer-bottom .wrap{
    min-height:56px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    font-size:12px;
    color:#4d584f;
}
.footer-leaf{color:var(--green)}

.page-section{padding:50px 0 70px}
.page-title-row h1,.page-section> .wrap>h1,.article-detail h1{
    font-family:Georgia,'Times New Roman',serif;
    font-size:42px;
    margin:0 0 12px;
}
.page-intro{color:var(--muted);margin-top:-4px;margin-bottom:28px}
.archive-search{
    display:grid;
    grid-template-columns:1fr auto;
    gap:12px;
    margin:24px 0 30px;
}
.archive-search input{
    border:1px solid #dce3dc;
    border-radius:7px;
    padding:12px 14px;
}
.archive-book-grid{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:30px 22px;
}
.archive-book img{
    width:100%;
    aspect-ratio:2/3;
    object-fit:cover;
    box-shadow:var(--shadow);
}
.archive-book h2{
    font-size:15px;
    line-height:1.3;
    margin:10px 0 4px;
}
.archive-book p{
    margin:0;
    color:var(--muted);
    font-size:13px;
}
.book-detail{
    display:grid;
    grid-template-columns:300px 1fr;
    gap:60px;
    align-items:start;
}
.detail-cover{
    width:100%;
    box-shadow:var(--shadow);
}
.bux-button{width:100%;margin-top:16px}
.book-facts{
    margin:18px 0 0;
    border-top:1px solid var(--line);
}
.book-facts div{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    padding:9px 0;
    border-bottom:1px solid var(--line);
    font-size:13px;
}
.book-facts dt{font-weight:700}
.book-facts dd{margin:0;text-align:right;color:#556058}
.book-copy .eyebrow{
    color:var(--green);
    font-weight:800;
    font-size:12px;
    letter-spacing:.12em;
}
.book-copy h1{
    font-family:Georgia,'Times New Roman',serif;
    font-size:46px;
    line-height:1.08;
    margin:8px 0 8px;
}
.detail-author{
    color:#5b665e;
    font-size:18px;
    margin:0 0 28px;
}
.annotation{
    font-size:17px;
    line-height:1.75;
    max-width:760px;
}
.article-archive-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
}
.article-detail{
    max-width:850px;
}
.article-detail time{color:var(--muted)}
.article-hero-image{
    width:100%;
    max-height:520px;
    object-fit:cover;
    margin:24px 0;
}
.article-perex{
    font-size:20px;
    font-weight:700;
    line-height:1.55;
}
.article-content{
    font-size:17px;
    line-height:1.75;
}
.download-list{
    display:grid;
    gap:12px;
}
.download-list article{
    display:grid;
    grid-template-columns:1fr auto;
    gap:22px;
    align-items:center;
    padding:20px;
    border:1px solid var(--line);
    border-radius:8px;
}
.download-list h2{
    margin:0 0 5px;
    font-size:18px;
}
.download-list p{margin:0;color:var(--muted)}
.narrow-copy{max-width:800px}
.narrow-copy p{font-size:18px;line-height:1.7}
.empty-soft{
    background:#f4f7f4;
    border:1px solid #e1e6e1;
    padding:18px;
    border-radius:7px;
    color:#667068;
}


/* =========================================================
   DETAIL KNIHY – ODPORÚČANÉ TITULY POD ANOTÁCIOU
========================================================= */

.related-after-annotation{
    margin-top:42px;
    padding:28px;
    background:#f5f7f2;
    border:1px solid #e8ece4;
    border-radius:10px;
}

.related-after-annotation h2{
    margin:0 0 20px;
    font-family:Georgia,'Times New Roman',serif;
    font-size:27px;
    line-height:1.2;
}

.related-wide-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:18px;
}

.related-book-card{
    min-width:0;
}

.related-book-card img{
    width:100%;
    aspect-ratio:2/3;
    object-fit:cover;
    box-shadow:0 6px 16px rgba(0,0,0,.10);
    background:#fff;
}

.related-book-card h3{
    margin:9px 0 4px;
    font-size:13px;
    line-height:1.25;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}

.related-book-card p{
    margin:0;
    color:#697168;
    font-size:12px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

@media(max-width:980px){
    .related-wide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}

    .header-inner{grid-template-columns:150px 1fr;gap:16px;padding:12px 0}
    .site-logo img{width:130px;height:52px}
    .header-search{grid-column:1/-1}
    .hero-home-grid{grid-template-columns:1fr}
    .hero-copy{max-width:480px}
    .home-columns{grid-template-columns:1fr}
    .home-right{grid-template-columns:1fr 1fr}
    .footer-grid{grid-template-columns:1fr 1fr}
    .archive-book-grid{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:720px){
    .related-after-annotation{padding:20px}
    .related-wide-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}

    .wrap{width:min(100% - 28px,var(--max))}
    .header-inner{display:flex;flex-wrap:wrap}
    .main-nav{order:3;width:100%;justify-content:flex-start;overflow:auto;gap:20px;padding-bottom:2px}
    .header-search{flex:1;min-width:230px}
    .hero-copy h1{font-size:34px}
    .hero-books{grid-template-columns:repeat(5,120px);overflow:auto;padding:14px 4px 22px}
    .hero-book.is-focus{transform:scale(1.04)}
    .article-grid{grid-template-columns:1fr}
    .home-right{grid-template-columns:1fr}
    .latest-grid{grid-template-columns:repeat(2,1fr)}
    .footer-grid{grid-template-columns:1fr}
    .archive-book-grid{grid-template-columns:repeat(2,1fr)}
    .book-detail{grid-template-columns:1fr;gap:35px}
    .book-cover-column{max-width:340px}
    .article-archive-grid{grid-template-columns:1fr}
    .download-list article{grid-template-columns:1fr}
    .footer-bottom .wrap{flex-direction:column;align-items:flex-start;justify-content:center;padding:14px 0}
}


/* =========================================================
   NA STIAHNUTIE
========================================================= */

.downloads-library{
    max-width:980px;
}

.downloads-heading{
    margin-bottom:34px;
}

.downloads-heading h1{
    margin-bottom:8px;
}

.downloads-heading p{
    max-width:720px;
    margin:0;
    color:#667064;
    font-size:1.05rem;
    line-height:1.65;
}

.download-group{
    margin:0 0 42px;
}

.download-group-heading{
    margin-bottom:13px;
}

.download-group-heading h2{
    margin:0 0 5px;
    color:#174e2b;
    font-size:1.45rem;
}

.download-group-heading p{
    margin:0;
    color:#7a817a;
    font-size:.9rem;
}

.download-list-modern{
    display:block;
    border-top:1px solid #e1e7df;
}

.download-list-modern .download-item{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    padding:15px 2px;
    border-bottom:1px solid #e1e7df;
    background:transparent;
}

.download-item-copy{
    min-width:0;
}

.download-item h3{
    margin:0;
    font-size:1rem;
    line-height:1.45;
    font-weight:700;
}

.download-item h3 a{
    color:#183b25;
    text-decoration:none;
}

.download-item h3 a:hover{
    text-decoration:underline;
}

.download-meta{
    margin-left:5px;
    color:#737c74;
    font-weight:400;
    white-space:normal;
}

.download-item-copy p{
    margin:6px 0 0;
    color:#6d756e;
}

.download-button{
    flex:0 0 auto;
    min-width:112px;
    text-align:center;
    padding:9px 13px;
    font-size:.78rem;
}

@media (max-width:700px){
    .download-list-modern .download-item{
        align-items:flex-start;
        flex-direction:column;
        gap:10px;
        padding:16px 0;
    }

    .download-button{
        min-width:0;
    }

    .download-meta{
        display:block;
        margin:3px 0 0;
    }
}

@media (max-width:720px){

    /* HLAVIČKA */
    .header-inner{
        display:flex;
        flex-wrap:wrap;
        justify-content:center;
    }

    .site-logo{
        order:1;
        width:100%;
        display:flex;
        justify-content:center;
        text-align:center;
    }

    .site-logo img{
        margin:0 auto;
    }

    .header-search{
        order:2;
        flex:0 0 100%;
        min-width:0;
    }

    .main-nav{
        order:3;
        width:100%;
        justify-content:center;
        text-align:center;
        gap:20px;
        overflow-x:auto;
        padding-bottom:2px;
    }


    /* ÚVODNÝ BLOK */
    .hero-copy{
        width:100%;
        max-width:none;
        margin:0 auto;
        text-align:center;
    }

    .hero-copy h1{
        text-align:center;
    }

    .hero-copy p{
        max-width:330px;
        margin:0 auto 22px;
        text-align:center;
    }


    /* OBÁLKY – cca +15 % oproti pôvodným 120 px */
    .hero-books{
        grid-template-columns:repeat(5,138px);
        gap:16px;
        overflow-x:auto;
        padding:14px 8px 22px;
    }


    /* FOOTER */
    .footer-grid{
        grid-template-columns:1fr;
        text-align:center;
    }

    .footer-brand img{
        margin-left:auto;
        margin-right:auto;
    }

    .footer-brand p{
        margin-left:auto;
        margin-right:auto;
    }

    .footer-links{
        justify-items:center;
        text-align:center;
    }

    .site-footer h3{
        text-align:center;
    }

    .facebook-card{
        max-width:340px;
        margin-left:auto;
        margin-right:auto;
        text-align:left;
    }

    .footer-bottom .wrap{
        flex-direction:column;
        align-items:center;
        justify-content:center;
        text-align:center;
        padding:14px 0;
    }
}

