
:root{
  --forest:#173f2a; --forest2:#24583a; --green:#4d7d4e;
  --moss:#78945d; --cream:#f3f0e5; --paper:#fffdf7;
  --line:#d9dfd2; --text:#28362c; --muted:#6d786f;
  --shadow:0 12px 32px rgba(20,55,35,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.65}
a{color:inherit}
.site{min-height:100vh;display:flex}
.sidebar{
  width:280px;min-height:100vh;position:fixed;left:0;top:0;z-index:20;
  padding:26px 20px;background:linear-gradient(180deg,rgba(18,55,35,.98),rgba(12,43,27,.98));
  color:#fff;display:flex;flex-direction:column;
}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none;margin-bottom:40px}
.logo-mark{width:62px;height:62px;border-radius:50%;overflow:hidden;flex:0 0 62px;border:2px solid rgba(255,255,255,.45);background:#fff}
.logo-mark img{width:100%;height:100%;object-fit:cover;display:block}
.logo-text strong{display:block;font-size:14px;line-height:1.25;letter-spacing:.4px}
.logo-text span{display:block;margin-top:4px;font-size:13px;text-transform:uppercase;letter-spacing:2px;color:#e6b451}
.nav-title{margin:0 10px 10px;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.5)}
nav a{display:block;padding:12px 14px;margin:4px 0;border-radius:9px;text-decoration:none;color:rgba(255,255,255,.82);transition:.2s}
nav a:hover,nav a.active{background:rgba(255,255,255,.12);color:#fff;transform:translateX(3px)}
.sidebar-bottom{margin-top:auto;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);font-size:12px;color:rgba(255,255,255,.58)}
.content{margin-left:280px;width:calc(100% - 280px)}
.hero{
  min-height:440px;padding:52px 7%;display:flex;align-items:flex-end;color:#fff;
  background:linear-gradient(0deg,rgba(9,38,23,.86),rgba(9,38,23,.05)),url("../images/hero.jpg") center/cover;
}
.hero-inner{max-width:850px}
.eyebrow{display:inline-block;padding:6px 12px;border-radius:20px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.3);font-size:10px;text-transform:uppercase;letter-spacing:2px}
.hero h1{margin:12px 0 8px;font-size:clamp(38px,5vw,68px);line-height:1.02}
.hero p{margin:0;max-width:720px;font-size:18px;color:rgba(255,255,255,.9)}
.page{max-width:1220px;margin:auto;padding:55px 7%}
.page-title{margin-bottom:34px}.page-title h1{margin:0 0 8px;color:var(--forest);font-size:40px}.page-title p{margin:0;color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card,.info-box,.route-card,.sponsor,.download-box{background:var(--paper);border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow)}
.card{overflow:hidden}.card-image{height:180px;background:linear-gradient(0deg,rgba(20,55,35,.7),rgba(20,55,35,.1)),url("../images/jitrenka-logo.jpg") center/cover;display:grid;place-items:center;color:#fff;font-weight:bold}.card-body{padding:22px}.card h2,.card h3,.info-box h2{margin-top:0;color:var(--forest)}
.button{display:inline-block;background:var(--green);color:#fff;padding:11px 18px;border-radius:8px;text-decoration:none;font-weight:bold}.button:hover{background:var(--forest2)}
.notice{padding:18px 22px;border-left:5px solid var(--green);background:#e2ecd9;border-radius:8px;margin:25px 0}
.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.info-box{padding:25px}
.schedule{width:100%;border-collapse:collapse;background:var(--paper);box-shadow:var(--shadow);border-radius:14px;overflow:hidden}
.schedule th,.schedule td{padding:15px 18px;text-align:left;border-bottom:1px solid var(--line)}.schedule th{background:var(--forest);color:#fff}
.route-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.route-card{overflow:hidden}.route-photo{height:180px;padding:20px;display:flex;align-items:flex-end;color:#fff;font-size:32px;font-weight:800;letter-spacing:1px;background:linear-gradient(0deg,rgba(8,43,24,.78),rgba(8,43,24,.05)),url("../images/jitrenka-logo.jpg") center/cover}
.route-content{padding:23px}.route-content h2{margin:8px 0;color:var(--forest);font-size:25px}.route-content p{color:var(--muted)}
.route-tag{display:inline-block;padding:4px 9px;border-radius:20px;font-size:10px;font-weight:bold;letter-spacing:1px}.easy{background:#dcebd8;color:#2e673a}.medium{background:#e9e8c9;color:#69681e}.hard{background:#f0d9d2;color:#8b3d2e}
.route-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center}.route-stats strong{display:block;color:var(--forest)}.route-stats span{font-size:11px;color:var(--muted)}
.route-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:25px}
.map-box{margin-top:25px;padding:28px;background:var(--paper);border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow)}
.map-placeholder{min-height:260px;margin-top:20px;border:2px dashed #a9bca7;border-radius:12px;display:grid;place-items:center;color:#668069;background:#e8efe3;font-weight:bold}
.sponsors{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.sponsor{min-height:190px;padding:25px;display:flex;align-items:center;justify-content:center;text-align:center}.sponsor:nth-child(4),.sponsor:nth-child(5){min-height:170px}
.sponsor-placeholder{width:100%;height:120px;border:2px dashed #b2c1ad;border-radius:10px;display:grid;place-items:center;color:#7a8a7a;font-size:12px;letter-spacing:1px}
.download-box{padding:30px;text-align:center}.poster-preview{max-width:620px;margin:25px auto;border-radius:10px;box-shadow:0 12px 30px rgba(0,0,0,.16);background:#ddd;min-height:260px;display:grid;place-items:center;color:#777}.poster-preview iframe{width:100%;height:700px;border:0;border-radius:10px}
.footer{padding:28px 7%;background:var(--forest);color:rgba(255,255,255,.68);font-size:13px}
@media(max-width:950px){.cards,.route-cards{grid-template-columns:1fr}.sponsors{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){
 .site{display:block}.sidebar{position:relative;width:100%;min-height:auto;padding:18px}.content{margin:0;width:100%}
 .logo{margin-bottom:15px}nav{display:flex;flex-wrap:wrap;gap:4px}nav a{padding:9px 11px}.nav-title,.sidebar-bottom{display:none}
 .hero{min-height:360px}.info-grid,.route-info-grid{grid-template-columns:1fr}.sponsors{grid-template-columns:1fr}
}

.route-photo{height:180px;position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:20px;color:#fff;font-size:32px;font-weight:800;letter-spacing:1px;background:#234d32}.route-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.route-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,43,24,.78),rgba(8,43,24,.05))}.route-photo span{position:relative;z-index:1}


/* Tři samostatné fotografie na úvodní stránce */
.home-photo{position:relative;overflow:hidden;display:flex!important;align-items:flex-end!important;padding:18px!important;background:#234d32!important}
.home-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.home-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,43,24,.72),rgba(8,43,24,.04))}
.home-photo span{position:relative;z-index:1;color:#fff;font-weight:bold;text-shadow:0 1px 4px rgba(0,0,0,.7)}


/* Loga pěti sponzorů */
.sponsor-logo{overflow:hidden;padding:14px;background:#fff}
.sponsor-logo img{width:100%;height:100%;object-fit:contain;display:block}
