.sno-home,
.sno-home-section {
	--sno-home-blue: #eaf5fc;
	--sno-home-blue-strong: #4296c8;
	--sno-home-green: #eef7eb;
	--sno-home-green-strong: #4a9d61;
	--sno-home-orange: #fff5e8;
	--sno-home-orange-strong: #e79c3b;
	--sno-home-pink: #fdf0f3;
	--sno-home-pink-strong: #df6177;
	box-sizing: border-box;
	color: var(--sno-ink);
	font-family: var(--theme-font-family, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif);
	font-size: 1rem;
	line-height: 1.65;
}

.sno-home *,
.sno-home-section * {
	box-sizing: border-box;
}

.sno-home {
	width: 100%;
	max-width: 1240px;
	margin: 0 auto;
	padding: 8px 0 44px;
}

.sno-home-section {
	width: 100%;
	max-width: 1240px;
	margin: 0 auto 30px;
}

.sno-home > .sno-home-section {
	margin-bottom: 30px;
}

.sno-home-section :where(h2, h3, p, figure) {
	margin-top: 0;
}

.sno-home-section__heading {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 18px;
	margin: 0 4px 14px;
}

.sno-home-section__heading h2 {
	margin: 0;
	color: var(--sno-ink);
	font-size: clamp(1.35rem, 2vw, 1.65rem);
	font-weight: 750;
	line-height: 1.25;
}

.sno-home-section__heading > p {
	margin: 0;
	color: var(--sno-muted);
	font-size: 0.88rem;
}

.sno-home-section__heading > a {
	flex: 0 0 auto;
	color: var(--sno-primary-dark);
	font-size: 0.88rem;
	font-weight: 700;
	text-decoration: none;
}

.sno-home-section__heading > a:hover,
.sno-home-section__heading > a:focus-visible {
	color: var(--sno-primary);
	text-decoration: underline;
}

.sno-home-section__heading--decorated h2 {
	display: flex;
	align-items: center;
	gap: 10px;
}

.sno-home-section__heading--decorated h2 > span {
	color: var(--sno-coral);
	font-size: 1.45em;
	line-height: 1;
}

.sno-home-button {
	display: inline-flex;
	min-height: 46px;
	align-items: center;
	justify-content: center;
	gap: 9px;
	padding: 10px 18px;
	border: 1px solid transparent;
	border-radius: var(--sno-radius-sm);
	font-size: 0.94rem;
	font-weight: 750;
	line-height: 1.25;
	text-align: center;
	text-decoration: none;
}

.sno-home-button--primary {
	background: var(--sno-primary);
	color: var(--sno-white);
}

.sno-home-button--primary:hover,
.sno-home-button--primary:focus-visible {
	background: var(--sno-primary-dark);
	color: var(--sno-white);
}

.sno-home-text-link {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	color: var(--sno-primary-dark);
	font-size: 0.9rem;
	font-weight: 700;
	text-decoration: none;
}

.sno-home-text-link:hover,
.sno-home-text-link:focus-visible {
	color: var(--sno-primary);
	text-decoration: underline;
}

.sno-home-section a:focus-visible {
	outline: 3px solid rgba(26, 138, 130, 0.2);
	outline-offset: 3px;
}

/* Bugünün planı */
.sno-home-today {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	overflow: hidden;
	min-height: 335px;
	border: 1px solid #f2dfe2;
	border-radius: 16px;
	background: var(--sno-home-pink);
	box-shadow: var(--sno-shadow);
}

.sno-home-today__background {
	position: absolute;
	z-index: 0;
	inset: 0;
	background-image: var(--sno-home-hero-bg);
	background-position: center;
	background-size: cover;
}

.sno-home-today__background::after {
	position: absolute;
	inset: 0;
	background: rgba(253, 251, 247, 0.82);
	content: "";
}

.sno-home-today--has-image {
	grid-template-columns: minmax(0, 1.05fr) minmax(340px, 0.95fr);
}

.sno-home-today__body {
	position: relative;
	z-index: 1;
	display: flex;
	min-width: 0;
	flex-direction: column;
	justify-content: center;
	padding: clamp(26px, 4vw, 44px);
}

.sno-home-eyebrow {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 10px;
	color: #b9485d;
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.sno-home-eyebrow__icon {
	display: inline-grid;
	width: 34px;
	height: 34px;
	place-items: center;
	border-radius: 9px;
	background: rgba(232, 115, 90, 0.13);
	font-size: 1.15rem;
}

.sno-home-today__meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 9px;
	color: var(--sno-muted);
	font-size: 0.92rem;
}

.sno-home-today h2 {
	max-width: 650px;
	margin: 0 0 10px;
	color: var(--sno-ink);
	font-size: clamp(1.65rem, 3vw, 2.35rem);
	font-weight: 800;
	line-height: 1.16;
}

.sno-home-today__summary {
	display: -webkit-box;
	max-width: 680px;
	margin: 0;
	overflow: hidden;
	color: #44575d;
	font-size: 1rem;
	line-height: 1.65;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.sno-home-today__actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px 22px;
	margin-top: 22px;
}

.sno-home-today__image {
	position: relative;
	z-index: 1;
	min-height: 335px;
	margin: 0;
	overflow: hidden;
	background: #f5e7df;
}

.sno-home-today__image::after {
	position: absolute;
	inset: 0 auto 0 0;
	width: 45px;
	background: linear-gradient(90deg, var(--sno-home-pink), rgba(253, 240, 243, 0));
	content: "";
	pointer-events: none;
}

.sno-home-today__image img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 335px;
	object-fit: cover;
}

.sno-home-today__fallback-links {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 18px;
}

.sno-home-today__fallback-links a {
	display: grid;
	gap: 2px;
	min-width: 190px;
	padding: 11px 14px;
	border: 1px solid #efcfd5;
	border-radius: 10px;
	background: rgba(255, 255, 255, 0.7);
	color: var(--sno-ink);
	text-decoration: none;
}

.sno-home-today__fallback-links small {
	color: var(--sno-muted);
	font-size: 0.8rem;
}

.sno-home-today__fallback-links strong {
	font-size: 0.9rem;
}

/* Hızlı erişim */
.sno-home-quick__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
}

.sno-home-quick-card {
	position: relative;
	display: flex;
	min-width: 0;
	min-height: 168px;
	flex-direction: column;
	align-items: flex-start;
	padding: 21px;
	border: 1px solid transparent;
	border-radius: 12px;
	color: var(--sno-ink);
	text-decoration: none;
	transition: transform 160ms ease, border-color 160ms ease;
}

.sno-home-quick-card--archive { background: var(--sno-home-blue); }
.sno-home-quick-card--activities { background: var(--sno-home-green); }
.sno-home-quick-card--teacher { background: var(--sno-home-orange); }
.sno-home-quick-card--portfolio { background: var(--sno-home-pink); }

.sno-home-quick-card:hover,
.sno-home-quick-card:focus-visible {
	border-color: rgba(32, 52, 58, 0.16);
	color: var(--sno-ink);
	transform: translateY(-2px);
}

.sno-home-quick-card.is-unlinked,
.sno-home-activity-card.is-unlinked {
	opacity: 0.64;
}

.sno-home-quick-card__icon,
.sno-home-activity-card__icon,
.sno-home-archive-cta__icon {
	display: inline-grid;
	width: 40px;
	height: 40px;
	place-items: center;
	margin-bottom: 13px;
}

.sno-home-quick-card__icon svg,
.sno-home-activity-card__icon svg,
.sno-home-archive-cta__icon svg {
	display: block;
	width: 100%;
	height: 100%;
}

.sno-home-quick-card--archive .sno-home-quick-card__icon { color: var(--sno-home-blue-strong); }
.sno-home-quick-card--activities .sno-home-quick-card__icon { color: var(--sno-home-green-strong); }
.sno-home-quick-card--teacher .sno-home-quick-card__icon { color: var(--sno-home-orange-strong); }
.sno-home-quick-card--portfolio .sno-home-quick-card__icon { color: var(--sno-home-pink-strong); }

.sno-home-quick-card > strong {
	margin-bottom: 5px;
	font-size: 1.05rem;
	font-weight: 750;
}

.sno-home-quick-card__description {
	max-width: 220px;
	color: var(--sno-muted);
	font-size: 0.88rem;
	line-height: 1.5;
}

.sno-home-card-arrow {
	display: inline-grid;
	width: 32px;
	height: 32px;
	place-items: center;
	border: 1px solid rgba(32, 52, 58, 0.1);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.82);
	color: var(--sno-primary-dark);
	font-size: 1.35rem;
	font-style: normal;
	line-height: 1;
}

.sno-home-quick-card > .sno-home-card-arrow {
	position: absolute;
	right: 16px;
	bottom: 15px;
}

/* Haftalık planlar */
.sno-home-weekly {
	padding: 20px;
	border: 1px solid #f0e8e8;
	border-radius: 12px;
	background: #fdf9f9;
}

.sno-home-weekly__track {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 10px;
}

.sno-home-week-card {
	position: relative;
	display: flex;
	min-width: 0;
	min-height: 128px;
	flex-direction: column;
	align-items: flex-start;
	padding: 15px;
	border: 1px solid var(--sno-line);
	border-radius: 10px;
	background: var(--sno-white);
	color: var(--sno-ink);
	text-decoration: none;
}

.sno-home-week-card.has-plan:hover,
.sno-home-week-card.has-plan:focus-visible {
	border-color: var(--sno-primary);
	color: var(--sno-ink);
}

.sno-home-week-card.is-today {
	border-color: var(--sno-coral);
	background: var(--sno-home-pink);
}

.sno-home-week-card__top {
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: space-between;
	gap: 6px;
}

.sno-home-week-card__top strong {
	font-size: 0.94rem;
	font-weight: 800;
}

.sno-home-week-card__top small {
	padding: 2px 6px;
	border-radius: 999px;
	background: var(--sno-coral);
	color: var(--sno-white);
	font-size: 0.8rem;
	font-weight: 800;
}

.sno-home-week-card > span {
	margin: 2px 0 8px;
	color: var(--sno-muted);
	font-size: 0.86rem;
}

.sno-home-week-card > b {
	display: -webkit-box;
	overflow: hidden;
	font-size: 0.88rem;
	font-weight: 700;
	line-height: 1.35;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.sno-home-week-card > i {
	position: absolute;
	right: 13px;
	bottom: 10px;
	font-size: 1.25rem;
	font-style: normal;
}

.sno-home-week-card > em {
	color: var(--sno-muted);
	font-size: 0.8rem;
	font-style: normal;
	line-height: 1.35;
}

.sno-home-week-card.is-disabled {
	background: rgba(255, 255, 255, 0.55);
	opacity: 0.72;
}

/* Yeni eklenenler */
.sno-home-latest__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
}

.sno-home-content-card {
	display: block;
	min-width: 0;
	overflow: hidden;
	border: 1px solid var(--sno-line);
	border-radius: 10px;
	background: var(--sno-white);
	color: var(--sno-ink);
	text-decoration: none;
	transition: border-color 160ms ease, transform 160ms ease;
}

.sno-home-content-card:hover,
.sno-home-content-card:focus-visible {
	border-color: rgba(26, 138, 130, 0.5);
	color: var(--sno-ink);
	transform: translateY(-2px);
}

.sno-home-content-card__image {
	position: relative;
	display: grid;
	height: 142px;
	place-items: center;
	overflow: hidden;
	background: var(--sno-bg);
	color: var(--sno-coral);
	font-size: 2rem;
}

.sno-home-content-card__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.sno-home-content-card__tag {
	position: absolute;
	bottom: 0;
	left: 12px;
	padding: 3px 8px;
	border-radius: 7px 7px 0 0;
	background: var(--sno-primary);
	color: var(--sno-white);
	font-size: 0.8rem;
	font-weight: 750;
	line-height: 1.3;
}

.sno-home-content-card__body {
	display: grid;
	gap: 7px;
	padding: 13px;
}

.sno-home-content-card__body strong {
	display: -webkit-box;
	overflow: hidden;
	font-size: 0.94rem;
	font-weight: 750;
	line-height: 1.35;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.sno-home-content-card__body time {
	color: var(--sno-muted);
	font-size: 0.8rem;
}

.sno-home-empty {
	margin: 0;
	padding: 17px;
	border: 1px solid var(--sno-line);
	border-radius: 10px;
	background: var(--sno-bg);
	color: var(--sno-muted);
}

/* Etkinlik kartları */
.sno-home-activities__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}

.sno-home-activity-card {
	display: grid;
	min-width: 0;
	min-height: 128px;
	grid-template-columns: 44px minmax(0, 1fr) 32px;
	align-items: center;
	gap: 12px;
	padding: 17px;
	border: 1px solid var(--sno-line);
	border-radius: 10px;
	background: var(--sno-white);
	color: var(--sno-ink);
	text-decoration: none;
}

.sno-home-activity-card--turkce { background: #f4f8ef; }
.sno-home-activity-card--sanat { background: #fff8ed; }
.sno-home-activity-card--oyun { background: #eef7fb; }

.sno-home-activity-card:hover,
.sno-home-activity-card:focus-visible {
	border-color: rgba(26, 138, 130, 0.5);
	color: var(--sno-ink);
}

.sno-home-activity-card__icon {
	width: 42px;
	height: 42px;
	margin: 0;
}

.sno-home-activity-card--turkce .sno-home-activity-card__icon { color: var(--sno-home-green-strong); }
.sno-home-activity-card--sanat .sno-home-activity-card__icon { color: var(--sno-home-orange-strong); }
.sno-home-activity-card--oyun .sno-home-activity-card__icon { color: var(--sno-home-blue-strong); }

.sno-home-activity-card > span:nth-child(2) {
	display: grid;
	gap: 4px;
}

.sno-home-activity-card strong {
	font-size: 1rem;
	font-weight: 750;
}

.sno-home-activity-card small {
	color: var(--sno-muted);
	font-size: 0.84rem;
	line-height: 1.45;
}

/* Arşiv CTA */
.sno-home-archive-cta {
	display: grid;
	grid-template-columns: 58px minmax(0, 1fr) auto;
	align-items: center;
	gap: 18px;
	padding: 22px 26px;
	border: 1px solid #dcebd9;
	border-radius: 12px;
	background: var(--sno-home-green);
}

.sno-home-archive-cta__icon {
	width: 48px;
	height: 48px;
	margin: 0;
	color: var(--sno-home-green-strong);
}

.sno-home-archive-cta h2 {
	margin: 0 0 2px;
	font-size: 1.2rem;
	font-weight: 750;
	line-height: 1.3;
}

.sno-home-archive-cta p {
	margin: 0;
	color: var(--sno-muted);
	font-size: 0.92rem;
}

.sno-home-button--archive {
	background: #4f945d;
	color: var(--sno-white);
}

.sno-home-button--archive:hover,
.sno-home-button--archive:focus-visible {
	background: #397847;
	color: var(--sno-white);
}

@media (max-width: 980px) {
	.sno-home-today--has-image {
		grid-template-columns: minmax(0, 1fr) minmax(300px, 0.78fr);
	}

	.sno-home-quick__grid,
	.sno-home-latest__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.sno-home-weekly__track {
		grid-template-columns: none;
		grid-auto-flow: column;
		grid-auto-columns: minmax(175px, 32vw);
		overflow-x: auto;
		padding: 3px 3px 9px;
		scroll-snap-type: x proximity;
	}

	.sno-home-week-card {
		scroll-snap-align: start;
	}

	.sno-home-activities__grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 760px) {
	.sno-home {
		padding-top: 0;
	}

	.sno-home-section,
	.sno-home > .sno-home-section {
		margin-bottom: 24px;
	}

	.sno-home-section__heading {
		align-items: flex-start;
		flex-direction: column;
		gap: 5px;
	}

	.sno-home-today,
	.sno-home-today--has-image {
		grid-template-columns: minmax(0, 1fr);
	}

	.sno-home-today__image {
		min-height: 220px;
		order: -1;
	}

	.sno-home-today__image::after {
		display: none;
	}

	.sno-home-today__image img {
		min-height: 220px;
		max-height: 300px;
	}

	.sno-home-today__body {
		padding: 23px 20px 26px;
	}

	.sno-home-today h2 {
		font-size: clamp(1.45rem, 7vw, 1.9rem);
	}

	.sno-home-weekly {
		padding: 17px 14px;
	}

	.sno-home-weekly__track {
		grid-auto-columns: minmax(168px, 72vw);
	}

	.sno-home-archive-cta {
		grid-template-columns: 48px minmax(0, 1fr);
		padding: 20px;
	}

	.sno-home-archive-cta .sno-home-button {
		grid-column: 1 / -1;
		width: 100%;
	}
}

@media (max-width: 520px) {
	.sno-home-quick__grid,
	.sno-home-latest__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.sno-home-quick-card {
		min-height: 145px;
	}

	.sno-home-today__actions,
	.sno-home-today__fallback-links {
		align-items: stretch;
		flex-direction: column;
	}

	.sno-home-today__actions .sno-home-button,
	.sno-home-today__actions .sno-home-text-link,
	.sno-home-today__fallback-links a {
		width: 100%;
	}

	.sno-home-today__actions .sno-home-text-link {
		justify-content: center;
	}

	.sno-home-activity-card {
		grid-template-columns: 40px minmax(0, 1fr) 30px;
		padding: 15px 13px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.sno-home-quick-card,
	.sno-home-content-card {
		transition: none;
	}
}
