/*
 * G4D - Skoleni / Kurzy
 * Styly pro podstránku Skoleni.
 * Hero a base styly přebírá z g4d.cz hlavního CSS (g4d-header-service, g4d-text-shadow, Roboto Condensed).
 * Zde jen Skoleni-specifické komponenty.
 *
 * G4D zelená: #63b854 (matchuje hlavni web)
 */

:root {
	--sk-green: #52b133;
	--sk-green-dark: #43951f;
	--sk-green-light: #f0f8ee;
	--sk-green-dim: rgba(82,177,51,0.10);
	--sk-green-border: rgba(82,177,51,0.35);
	--sk-off-white: #f7f7f5;
	--sk-gray-line: #e0e0dc;
	--sk-gray-mid: #888;
	--sk-gray-dark: #5a5a5a;
	--sk-black: #1a1a1a;
	--sk-text: #4c5966;  /* hlavni barva textu, ladi se Software strankou */
}

/* Bootstrap py-lg-10 doplnek (existujici Bootstrap konci u py-5) */
.py-lg-10 { padding-top: 6rem !important; padding-bottom: 6rem !important; }
.scroll-margin-top { scroll-margin-top: 60px; }

/* g4d.cz pouziva Roboto Condensed - vynucujeme i pro Skoleni */
.display-5,
[class*="sk-"],
[class*="sk-"] strong,
[class*="sk-"] span {
	font-family: "Roboto Condensed", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}
.display-5 { font-size: 2.6rem; font-weight: 300; line-height: 1.2; color: var(--sk-text); }

/* ── HERO TAG (badge nad nadpisem na image hero) ── */
.sk-hero-tag {
	display: inline-block;
	background: rgba(82, 177, 51, 0.85);
	color: #fff;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding: 6px 14px;
	max-width: max-content;
}

/* Breadcrumb na detailech (na image hero) */
.sk-breadcrumb {
	font-size: 0.85rem;
	letter-spacing: 0.04em;
	text-align: center;
}
.sk-breadcrumb a { color: #fff !important; text-decoration: none; opacity: 0.9; }
.sk-breadcrumb a:hover { opacity: 1; text-decoration: underline; }

/* ── SECTION LABEL (zelený tah + zelený popisek nad H2) ── */
.sk-section-label {
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--sk-green-dark);
	display: inline-flex;
	align-items: center;
	gap: 12px;
}
/* Pomlcky (zelene carky) odstraneny - sladeni se Software vzorem */

/* ── STATS ── */
.sk-stat-value {
	font-size: 2.4rem;
	font-weight: 700;
	color: var(--sk-text);
	line-height: 1;
}
.sk-stat-unit {
	color: var(--sk-green);
	font-size: 1rem;
	margin-left: 3px;
}
.sk-stat-label {
	font-size: 0.85rem;
	letter-spacing: 0.04em;
	color: var(--sk-gray-mid);
	margin-top: 6px;
}

/* ── CATEGORY CARDS (rozcestnik) ── */
.sk-cat-card {
	background: #fff;
	border: 1px solid var(--sk-gray-line);
	padding: 32px 28px;
	position: relative;
	transition: all .25s;
	display: flex;
	flex-direction: column;
}
.sk-cat-card:hover {
	border-color: var(--sk-green);
	box-shadow: 0 8px 24px rgba(0,0,0,0.08);
	transform: translateY(-3px);
}
.sk-cat-card-highlight {
	border-top: 4px solid var(--sk-green);
}
.sk-cat-card-soon { opacity: 0.85; }
.sk-cat-badge {
	display: inline-block;
	background: var(--sk-green-dim);
	color: var(--sk-green-dark);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 4px 10px;
	margin-bottom: 14px;
	align-self: flex-start;
}
.sk-cat-card-soon .sk-cat-badge {
	background: #fff3cd;
	color: #856404;
}
.sk-cat-title {
	font-size: 1.15rem;
	font-weight: 700;
	color: var(--sk-text);
	margin-bottom: 12px;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	line-height: 1.25;
}
.sk-cat-perex {
	font-size: 0.92rem;
	color: var(--sk-text);
	line-height: 1.65;
	font-weight: 300;
	margin-bottom: 16px;
}
.sk-cat-meta {
	list-style: none;
	padding: 0;
	margin: 0 0 20px 0;
}
.sk-cat-meta li {
	font-size: 0.85rem;
	color: var(--sk-gray-dark);
	padding: 5px 0;
	border-bottom: 1px solid var(--sk-gray-line);
}
.sk-cat-meta li:last-child { border-bottom: none; }
.sk-cat-meta li::before {
	content: '✓ ';
	color: var(--sk-green);
	margin-right: 6px;
	font-weight: 700;
}
.sk-cat-cta {
	display: inline-block;
	color: var(--sk-green-dark);
	font-weight: 700;
	font-size: 0.88rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	text-decoration: none;
	margin-top: auto;
	border-top: 1px solid var(--sk-gray-line);
	padding-top: 16px;
}
.sk-cat-cta:hover {
	color: var(--sk-green);
	text-decoration: none;
}
/* Stretched link: cela karta klikaci (Bootstrap pattern) */
.sk-cat-cta::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1;
	pointer-events: auto;
	background-color: rgba(0, 0, 0, 0);
}

/* ── WHY G4D / ADVANTAGES ── */
.sk-why-item {
	background: #fff;
	border-left: 3px solid var(--sk-green);
	padding: 24px 22px;
	transition: background .2s;
}
.sk-why-item:hover {
	background: var(--sk-green-light);
}
.sk-why-title {
	font-size: 1rem;
	font-weight: 700;
	color: var(--sk-text);
	text-transform: uppercase;
	letter-spacing: 0.04em;
	margin-bottom: 10px;
}
.sk-why-text {
	font-size: 0.92rem;
	color: var(--sk-gray-dark);
	line-height: 1.65;
	font-weight: 300;
	margin: 0;
}

/* ── TESTIMONIALS ── */
.sk-test-card {
	background: #fff;
	border-left: 3px solid var(--sk-green);
	padding: 28px 26px;
}
.sk-test-quote {
	font-size: 0.95rem;
	color: var(--sk-black);
	line-height: 1.7;
	font-weight: 300;
	margin: 0 0 16px 0;
	font-style: italic;
	border: none;
	padding: 0;
}
.sk-test-author { display: flex; flex-direction: column; font-size: 0.85rem; }
.sk-test-author strong { color: var(--sk-black); font-weight: 700; }
.sk-test-author span { color: var(--sk-gray-mid); font-size: 0.78rem; }

/* ── FAQ ── */
.sk-faq-item {
	border-bottom: 1px solid var(--sk-gray-line);
	padding: 16px 0;
}
.sk-faq-q {
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--sk-text);
	cursor: pointer;
	list-style: none;
	position: relative;
	padding-right: 32px;
}
.sk-faq-q::-webkit-details-marker { display: none; }
.sk-faq-q::after {
	content: '+';
	position: absolute;
	right: 0; top: 50%;
	transform: translateY(-50%);
	font-size: 1.5rem;
	color: var(--sk-green);
	line-height: 1;
}
.sk-faq-item[open] .sk-faq-q::after { content: '−'; }
.sk-faq-a {
	padding: 14px 0 4px 0;
	color: var(--sk-gray-dark);
	line-height: 1.7;
	font-weight: 300;
	font-size: 0.95rem;
}

/* ── CURRICULUM (5 okruhu) ── */
.sk-cur-item {
	display: flex;
	gap: 24px;
	background: #fff;
	border: 1px solid var(--sk-gray-line);
	border-left: 3px solid var(--sk-green);
	padding: 28px;
	margin-bottom: 20px;
}
.sk-cur-num {
	flex-shrink: 0;
	width: 50px; height: 50px;
	background: var(--sk-green-dim);
	color: var(--sk-green-dark);
	font-size: 1.5rem;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
}
.sk-cur-body { flex: 1; }
.sk-cur-title {
	font-size: 1.2rem;
	font-weight: 700;
	color: var(--sk-text);
	text-transform: uppercase;
	letter-spacing: 0.03em;
	margin-bottom: 8px;
}
.sk-cur-summary {
	font-size: 0.92rem;
	color: var(--sk-gray-mid);
	font-style: italic;
	line-height: 1.6;
	margin-bottom: 14px;
}
.sk-cur-outcome {
	font-size: 0.95rem;
	color: var(--sk-gray-dark);
	line-height: 1.7;
	font-weight: 300;
	margin-bottom: 12px;
}
.sk-cur-benefit {
	font-size: 0.92rem;
	color: var(--sk-green-dark);
	line-height: 1.6;
	background: var(--sk-green-light);
	padding: 12px 16px;
	border-left: 2px solid var(--sk-green);
	margin: 0;
}

/* ── TAGS ── */
.sk-tag {
	display: inline-block;
	padding: 8px 18px;
	margin: 4px;
	border: 1px solid var(--sk-gray-line);
	font-size: 0.85rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--sk-gray-dark);
	background: #fff;
	/* :hover odstraněn - není to tlačítko, jen výpis kategorií */
}

.sk-segment {
	background: #fff;
	border: 1px solid var(--sk-gray-line);
	border-left: 3px solid var(--sk-green);
	padding: 20px 22px;
}
.sk-segment strong {
	display: block;
	font-size: 0.92rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--sk-black);
	margin-bottom: 8px;
}
.sk-segment p {
	font-size: 0.88rem;
	color: var(--sk-gray-dark);
	line-height: 1.6;
	font-weight: 300;
	margin: 0;
}

/* ── SOFTWARE GRID ── */
.sk-sw-card {
	background: #fff;
	border: 1px solid var(--sk-gray-line);
	padding: 28px 22px;
	transition: border-color .2s;
}
.sk-sw-card:hover { border-color: var(--sk-green); }
.sk-sw-name {
	font-size: 1.15rem;
	font-weight: 700;
	color: var(--sk-green-dark);
	margin-bottom: 14px;
}
.sk-sw-desc {
	font-size: 0.88rem;
	color: var(--sk-gray-dark);
	line-height: 1.65;
	font-weight: 300;
	margin: 0;
}

/* ── TOPICS LIST ── */
.sk-topics-list {
	list-style: none;
	padding: 0;
	margin: 0;
}
.sk-topics-list li {
	position: relative;
	padding: 16px 0 16px 44px;
	border-bottom: 1px solid var(--sk-gray-line);
	color: var(--sk-gray-dark);
	font-size: 1rem;
	line-height: 1.6;
}
.sk-topics-list li::before {
	content: '✓';
	position: absolute;
	left: 0; top: 14px;
	width: 28px; height: 28px;
	background: var(--sk-green);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.9rem;
	font-weight: 700;
	border-radius: 50%;
}

/* ── SERVICES (konzultace) ── */
.sk-service-card {
	background: #fff;
	padding: 26px 22px;
	border: 1px solid var(--sk-gray-line);
	transition: background .2s;
}
.sk-service-card:hover { background: var(--sk-green-light); }
.sk-service-title {
	font-size: 1rem;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--sk-black);
	letter-spacing: 0.04em;
	margin-bottom: 10px;
}
.sk-service-card p {
	font-size: 0.9rem;
	color: var(--sk-gray-dark);
	line-height: 1.65;
	font-weight: 300;
	margin: 0;
}

/* ── PRICE CARD (rekvalifikační kurz) ── */
.sk-price-card {
	background: var(--sk-off-white);
	border: 1px solid var(--sk-gray-line);
	padding: 36px 32px;
}
.sk-price-label {
	font-size: 0.78rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--sk-gray-mid);
	margin-bottom: 10px;
}
.sk-price-value {
	font-size: 3rem;
	font-weight: 700;
	color: var(--sk-black);
	line-height: 1;
}
.sk-price-note {
	font-size: 0.85rem;
	color: var(--sk-gray-mid);
	margin-top: 5px;
	margin-bottom: 22px;
	font-weight: 300;
}
.sk-price-divider {
	border: none;
	border-top: 1px solid var(--sk-gray-line);
	margin: 20px 0;
}
.sk-price-badge {
	display: inline-block;
	background: var(--sk-green);
	color: #fff;
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	padding: 8px 16px;
	margin-bottom: 14px;
}
.sk-price-funding {
	font-size: 0.92rem;
	color: var(--sk-gray-dark);
	line-height: 1.7;
	font-weight: 300;
	margin: 0;
}
.sk-funding-steps-title {
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--sk-black);
	margin-bottom: 22px;
}
.sk-step {
	display: flex;
	gap: 14px;
	margin-bottom: 22px;
}
.sk-step-num {
	flex-shrink: 0;
	width: 32px; height: 32px;
	border: 1.5px solid var(--sk-green);
	color: var(--sk-green-dark);
	font-weight: 700;
	font-size: 0.9rem;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
}
.sk-step-body strong {
	display: block;
	font-size: 0.92rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--sk-black);
	margin-bottom: 5px;
}
.sk-step-body p {
	font-size: 0.92rem;
	color: var(--sk-gray-dark);
	line-height: 1.6;
	font-weight: 300;
	margin: 0;
}

/* ── RESPONSIVE ── */
@media (max-width: 991px) {
	.sk-cur-item { flex-direction: column; gap: 16px; padding: 22px; }
	.display-5 { font-size: 2rem; }
	.sk-price-value { font-size: 2.4rem; }
}
@media (max-width: 576px) {
	.sk-cat-card { padding: 24px 20px; }
}


/* ── GALLERY Z NASICH SKOLENI ── */
.sk-gallery-link {
	display: block;
	overflow: hidden;
	position: relative;
	border: 1px solid var(--sk-gray-line);
	transition: all .25s;
}
allery-link:hover {
	border-color: var(--sk-green);
	box-shadow: 0 8px 24px rgba(0,0,0,0.12);
}
.sk-gallery-img {
	width: 100%;
	height: 280px;
	object-fit: cover;
	display: block;
	transition: transform .4s ease;
}
.sk-gallery-link:hover .sk-gallery-img {
	transform: scale(1.04);
}
@media (max-width: 991px) {
	.sk-gallery-img { height: 240px; }
}

/* ── TERMÍNY KURZU (rekvalifikační) ── */
.sk-dates-list {
	list-style: none;
	padding: 0;
	margin: 0;
}
.sk-date-item {
	background: #fff;
	border: 1px solid var(--sk-gray-line);
	border-left: 4px solid var(--sk-green);
	padding: 16px 20px;
	margin-bottom: 12px;
	font-size: 1.05rem;
	color: var(--sk-text);
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
}
.sk-date-item.sk-date-expired {
	border-left-color: var(--sk-gray-line);
	background: #f8f9fa;
	color: var(--sk-gray-mid);
}
.sk-date-item.sk-date-expired strong {
	text-decoration: line-through;
	opacity: 0.7;
}
.sk-date-badge-closed {
	display: inline-block;
	background: #fff3cd;
	color: #856404;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	padding: 4px 10px;
}

/* Termin past (probehl) - sedy stridingouts */
.sk-date-item.sk-date-past {
	border-left-color: var(--sk-gray-line);
	background: #f8f9fa;
	color: var(--sk-gray-mid);
}
.sk-date-item.sk-date-past strong {
	text-decoration: line-through;
	opacity: 0.6;
}
.sk-date-badge-past {
	display: inline-block;
	background: #e9ecef;
	color: var(--sk-gray-mid);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	padding: 4px 10px;
}

/* Termin open (lze se hlasit) - zeleny badge */
.sk-date-badge-open {
	display: inline-block;
	background: var(--sk-green-dim);
	color: var(--sk-green-dark);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	padding: 4px 10px;
}
