/*
Theme Name: LK Levoča
Description: Custom theme for Lyžiarsky klub Levoča — premium, editorial, family-club feel. Works with the "LK Levoča CMS" plugin (Athletes, Team, Results, Alumni, Partners, Klub 100 Supporters, Gallery).
Author: LK Levoča
Version: 1.0.0
Text Domain: lkl
*/

:root{
	/* Palette */
	--lkl-blue-deep:   #0b2a4a;
	--lkl-blue:        #14497e;
	--lkl-ice:         #eaf3fb;
	--lkl-ice-2:       #d7e9f7;
	--lkl-grey:        #6b7480;
	--lkl-grey-light:  #f4f6f8;
	--lkl-white:       #ffffff;
	--lkl-gold:        #c9a227;
	--lkl-silver:      #9aa3ab;
	--lkl-bronze:      #a1673c;

	/* Type */
	--lkl-font: -apple-system, "Inter", "Segoe UI", system-ui, sans-serif;
	--lkl-h1: clamp(2.4rem, 5vw, 4.2rem);
	--lkl-h2: clamp(1.8rem, 3vw, 2.6rem);
	--lkl-h3: clamp(1.3rem, 2vw, 1.6rem);

	/* Spacing */
	--lkl-gap: clamp(1.5rem, 4vw, 4rem);
	--lkl-radius: 6px;
}

*{ box-sizing: border-box; }
body{
	margin:0;
	font-family: var(--lkl-font);
	color: var(--lkl-blue-deep);
	background: var(--lkl-white);
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
}
img{ max-width:100%; display:block; }
a{ color: inherit; text-decoration:none; }
.lkl-wrap{ max-width:1280px; margin:0 auto; padding:0 var(--lkl-gap); }
.lkl-section{ padding: clamp(3rem, 8vw, 7rem) 0; }
.lkl-section--ice{ background: var(--lkl-ice); }
.lkl-section--dark{ background: var(--lkl-blue-deep); color:#fff; }
h1,h2,h3{ font-weight:700; line-height:1.1; margin:0 0 .6em; }
h1{ font-size: var(--lkl-h1); }
h2{ font-size: var(--lkl-h2); }
h3{ font-size: var(--lkl-h3); }
p{ margin:0 0 1em; }
.lkl-eyebrow{ text-transform:uppercase; letter-spacing:.12em; font-size:.78rem; color: var(--lkl-blue); font-weight:600; margin-bottom:.6em; }
.lkl-lede{ font-size:1.15rem; color: var(--lkl-grey); max-width:620px; }

/* Buttons */
.lkl-btn{ display:inline-block; padding:.85em 1.7em; border-radius: var(--lkl-radius); font-weight:600; font-size:.95rem; transition: transform .15s ease, background .2s ease; }
.lkl-btn--primary{ background: var(--lkl-blue); color:#fff; }
.lkl-btn--primary:hover{ background: var(--lkl-blue-deep); transform: translateY(-1px); }
.lkl-btn--ghost{ border:1px solid var(--lkl-blue); color: var(--lkl-blue); }
.lkl-btn--ghost:hover{ background: var(--lkl-ice); }
.lkl-btn--light{ background:#fff; color: var(--lkl-blue-deep); }

/* Header / nav */
.lkl-header{ position:sticky; top:0; z-index:50; background: rgba(255,255,255,.92); backdrop-filter: blur(8px); border-bottom:1px solid var(--lkl-ice-2); }
.lkl-header__inner{ display:flex; align-items:center; justify-content:space-between; padding:1rem var(--lkl-gap); }
.lkl-logo{ font-weight:800; font-size:1.15rem; color: var(--lkl-blue-deep); }
.lkl-nav ul{ list-style:none; display:flex; gap:1.8rem; margin:0; padding:0; }
.lkl-nav a{ font-size:.92rem; font-weight:500; color: var(--lkl-blue-deep); }
.lkl-nav a:hover{ color: var(--lkl-blue); }
.lkl-nav-toggle{ display:none; }
@media (max-width: 900px){
	.lkl-nav{ display:none; }
	.lkl-nav-toggle{ display:block; }
}

/* Hero */
.lkl-hero{ position:relative; padding: clamp(4rem,10vw,8rem) 0 clamp(3rem,6vw,5rem); overflow:hidden; }
.lkl-hero__grid{ display:grid; grid-template-columns: 1.1fr .9fr; gap: var(--lkl-gap); align-items:center; }
.lkl-hero__mosaic{ display:grid; grid-template-columns: repeat(2,1fr); grid-template-rows: repeat(2,1fr); gap:.6rem; aspect-ratio: 1/1; }
.lkl-hero__mosaic img, .lkl-placeholder{ width:100%; height:100%; object-fit:cover; border-radius: var(--lkl-radius); }
.lkl-hero__mosaic > *:first-child{ grid-row: span 2; }
.lkl-placeholder{ background: linear-gradient(135deg, var(--lkl-ice), var(--lkl-ice-2)); display:flex; align-items:center; justify-content:center; color: var(--lkl-blue); font-size:.8rem; text-align:center; padding:1rem; border:1px dashed var(--lkl-blue);}
.lkl-hero__philosophy{ margin-top:1.4em; font-size:1.1rem; font-weight:600; color: var(--lkl-blue); }
.lkl-hero__cta{ display:flex; gap:1rem; margin-top:2rem; flex-wrap:wrap; }

/* Cards */
.lkl-grid{ display:grid; gap: var(--lkl-gap); }
.lkl-grid--2{ grid-template-columns: repeat(2,1fr); }
.lkl-grid--3{ grid-template-columns: repeat(3,1fr); }
.lkl-grid--4{ grid-template-columns: repeat(4,1fr); }
@media (max-width: 900px){
	.lkl-grid--2, .lkl-grid--3, .lkl-grid--4, .lkl-hero__grid{ grid-template-columns: 1fr; }
}

.lkl-athlete-card{ display:grid; grid-template-columns: 1fr 1.1fr; gap:2rem; align-items:center; }
.lkl-athlete-card__photo{ aspect-ratio: 3/4; border-radius: var(--lkl-radius); overflow:hidden; }
.lkl-athlete-card__meta{ font-size:.85rem; color: var(--lkl-grey); margin-bottom:.5em; }
@media (max-width: 700px){ .lkl-athlete-card{ grid-template-columns:1fr; } }

.lkl-medal{ display:inline-flex; align-items:center; gap:.4em; font-weight:700; font-size:.85rem; padding:.25em .7em; border-radius:999px; }
.lkl-medal--gold{ background:#fbf1d3; color:#8a6d0a; }
.lkl-medal--silver{ background:#eef0f2; color:#5c6570; }
.lkl-medal--bronze{ background:#f3e3d6; color:#8a5327; }

.lkl-achievement-card{ background:#fff; border:1px solid var(--lkl-ice-2); border-radius: var(--lkl-radius); padding:1.6rem; }

/* Klub 100 */
.lkl-klub100{ background: var(--lkl-blue-deep); color:#fff; border-radius: 10px; padding: clamp(2rem,5vw,4rem); }
.lkl-klub100 .lkl-lede{ color: var(--lkl-ice-2); }
.lkl-klub100__figure{ font-size:3rem; font-weight:800; color:#fff; }

/* Timeline */
.lkl-timeline{ display:flex; overflow-x:auto; gap:2rem; padding-bottom:1rem; }
.lkl-timeline__item{ min-width:200px; border-left:3px solid var(--lkl-blue); padding-left:1rem; }
.lkl-timeline__year{ font-weight:800; color: var(--lkl-blue); font-size:1.2rem; }

/* Partner logos */
.lkl-partner-logo{ display:flex; align-items:center; justify-content:center; padding:1.2rem; border:1px solid var(--lkl-ice-2); border-radius: var(--lkl-radius); height:90px; }
.lkl-partner-logo img{ max-height:100%; width:auto; filter: grayscale(1); opacity:.7; transition:.2s; }
.lkl-partner-logo:hover img{ filter:none; opacity:1; }

/* Footer */
.lkl-footer{ background: var(--lkl-grey-light); padding: 3rem 0; margin-top: 4rem; font-size:.9rem; color: var(--lkl-grey); }
