/*
 * Section components: sub-nav, timeline, uzmanlık kartları, akademik liste, medya.
 * Colors come from the brand tokens in app.css (--color-teal-* = lacivert, --color-sand-* = altın).
 */

/* ---------- Sub navigation (Hakkımda / Medya alt sayfaları) ---------- */
.subnav-wrap {
	border-bottom: 1px solid var(--color-sand-200);
	background: var(--color-cream);
	position: sticky;
	top: var(--header-h, 88px);
	z-index: 30;
}
.subnav {
	display: flex;
	gap: .5rem;
	overflow-x: auto;
	scrollbar-width: none;
	padding-top: .85rem;
	padding-bottom: .85rem;
}
.subnav::-webkit-scrollbar { display: none; }
.subnav__link {
	flex: 0 0 auto;
	border-radius: 9999px;
	padding: .55rem 1.1rem;
	font-size: .875rem;
	font-weight: 600;
	color: var(--color-teal-700);
	border: 1px solid var(--color-sand-200);
	background: #fff;
	transition: background-color .2s, color .2s, border-color .2s;
}
.subnav__link:hover { border-color: var(--color-sand-400); color: var(--color-teal-900); }
.subnav__link.is-active { background: var(--color-teal-800); border-color: var(--color-teal-800); color: var(--color-cream); }

.scroll-anchor { scroll-margin-top: 170px; }

/* ---------- Chips (filtre / kategori) ---------- */
.chip-row { display: flex; flex-wrap: wrap; gap: .6rem; margin-bottom: 2.5rem; }
.chip {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	border-radius: 9999px;
	border: 1px solid var(--color-sand-300);
	background: var(--color-cream);
	padding: .6rem 1.15rem;
	font-size: .875rem;
	font-weight: 600;
	color: var(--color-teal-800);
	cursor: pointer;
	transition: all .2s;
}
.chip:hover { border-color: var(--color-sand-500); }
.chip.is-active { background: var(--color-teal-800); border-color: var(--color-teal-800); color: var(--color-cream); }
.chip__count {
	display: inline-grid;
	place-items: center;
	min-width: 1.5rem;
	height: 1.5rem;
	border-radius: 9999px;
	background: var(--color-sand-100);
	color: var(--color-sand-700);
	font-size: .75rem;
}
.chip.is-active .chip__count { background: var(--color-sand-500); color: var(--color-teal-900); }

/* ---------- Generic section heads ---------- */
.intro-section { margin-top: 4rem; }
.section-intro { max-width: 52rem; margin-inline: auto; text-align: center; }
.section-intro.prose-rich p { font-size: 1.1rem; }
.group-head { max-width: 52rem; margin-bottom: 2.25rem; }
.group-head__title {
	font-family: var(--font-serif);
	font-size: clamp(1.75rem, 1.3rem + 1.4vw, 2.4rem);
	line-height: 1.15;
	color: var(--color-teal-900);
	display: flex;
	align-items: center;
	gap: .9rem;
}
.group-head__title::before {
	content: "";
	width: 2.5rem;
	height: 2px;
	background: var(--color-sand-500);
	flex: 0 0 auto;
}
.group-head__text { margin-top: .9rem; color: var(--color-teal-700); line-height: 1.8; }
.group-head__text p { margin: 0 0 .6rem; }
.section-row-head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1rem 2rem;
	margin-bottom: 2rem;
}
.section-row-head__text { margin-top: .6rem; max-width: 44rem; color: var(--color-teal-700); line-height: 1.7; }
.section-row-head__link {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	font-size: .9rem;
	font-weight: 600;
	color: var(--color-sand-700);
}
.section-row-head__link:hover { color: var(--color-teal-900); }
.section-row-head__link i { font-size: .75rem; transition: transform .2s; }
.section-row-head__link:hover i { transform: translateX(3px); }
.empty-note { text-align: center; color: var(--color-teal-600); padding: 3rem 0; }

/* ---------- Timeline (Mesleki Yolculuğum) ---------- */
.timeline {
	position: relative;
	list-style: none;
	margin: 3.5rem auto 0;
	padding: 0;
	max-width: 60rem;
}
.timeline::before {
	content: "";
	position: absolute;
	top: .5rem;
	bottom: .5rem;
	left: 1rem;
	width: 2px;
	background: linear-gradient(var(--color-sand-300), var(--color-sand-500) 50%, var(--color-sand-300));
}
.timeline__item { position: relative; padding-left: 3.25rem; margin-bottom: 1.5rem; }
.timeline__item:last-child { margin-bottom: 0; }
.timeline__dot {
	position: absolute;
	left: calc(1rem - 9px);
	top: 1.6rem;
	width: 20px;
	height: 20px;
	border-radius: 9999px;
	background: var(--color-cream);
	border: 4px solid var(--color-sand-500);
	box-shadow: 0 0 0 5px color-mix(in oklab, var(--color-sand-500) 18%, transparent);
}
.timeline__item:last-child .timeline__dot { background: var(--color-teal-800); border-color: var(--color-teal-800); }
.timeline__card {
	border-radius: 1.5rem;
	border: 1px solid var(--color-sand-200);
	background: #fff;
	padding: 1.4rem 1.6rem;
	box-shadow: 0 10px 30px -10px rgba(24, 46, 54, .08);
	transition: transform .3s, box-shadow .3s;
}
.timeline__card:hover { transform: translateY(-3px); box-shadow: 0 20px 40px -15px rgba(24, 46, 54, .14); }
.timeline__year {
	display: inline-flex;
	border-radius: 9999px;
	background: var(--color-teal-800);
	color: var(--color-sand-200);
	padding: .3rem .85rem;
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .04em;
}
.timeline__title { margin-top: .75rem; font-size: 1.2rem; line-height: 1.3; color: var(--color-teal-900); }
.timeline__text { margin-top: .45rem; font-size: .95rem; line-height: 1.7; color: var(--color-teal-700); }

@media (min-width: 768px) {
	.timeline::before { left: 50%; transform: translateX(-1px); }
	.timeline__item { width: 50%; padding-left: 0; padding-right: 3rem; }
	.timeline__item:nth-child(even) { margin-left: 50%; padding-right: 0; padding-left: 3rem; }
	.timeline__item:not(:first-child) { margin-top: -2.5rem; }
	.timeline__dot { left: auto; right: -10px; }
	.timeline__item:nth-child(even) .timeline__dot { right: auto; left: -10px; }
	.timeline__item:nth-child(odd) .timeline__card { text-align: right; }
}

/* ---------- "Daha fazlası" link cards ---------- */
.link-cards { display: grid; gap: 1.25rem; }
@media (min-width: 768px) { .link-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.link-card {
	display: flex;
	align-items: center;
	gap: 1.25rem;
	border-radius: 1.75rem;
	border: 1px solid var(--color-sand-200);
	background: var(--color-cream);
	padding: 1.6rem 1.75rem;
	box-shadow: 0 10px 30px -10px rgba(24, 46, 54, .08);
	transition: transform .3s, box-shadow .3s, border-color .3s;
}
.link-card:hover { transform: translateY(-3px); border-color: var(--color-sand-400); box-shadow: 0 20px 40px -15px rgba(24, 46, 54, .14); }
.link-card__num { font-family: var(--font-serif); font-size: 2.4rem; line-height: 1; color: var(--color-sand-500); }
.link-card__body { flex: 1; display: flex; flex-direction: column; gap: .3rem; }
.link-card__title { font-family: var(--font-serif); font-size: 1.3rem; color: var(--color-teal-900); }
.link-card__text { font-size: .9rem; line-height: 1.6; color: var(--color-teal-700); }
.link-card__arrow {
	display: grid;
	place-items: center;
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 9999px;
	background: var(--color-teal-800);
	color: var(--color-cream);
	font-size: .85rem;
	transition: background-color .2s, color .2s;
}
.link-card:hover .link-card__arrow { background: var(--color-sand-500); color: var(--color-teal-900); }

/* ---------- Uzmanlık kartları ---------- */
.expertise-grid { display: grid; gap: 1.25rem; }
@media (min-width: 640px) { .expertise-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .expertise-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.expertise-card {
	position: relative;
	border-radius: 1.75rem;
	border: 1px solid var(--color-sand-200);
	background: #fff;
	padding: 1.75rem;
	box-shadow: 0 10px 30px -10px rgba(24, 46, 54, .08);
	transition: transform .3s, box-shadow .3s, border-color .3s;
}
.expertise-card:hover { transform: translateY(-4px); border-color: var(--color-sand-400); box-shadow: 0 20px 40px -15px rgba(24, 46, 54, .14); }
.expertise-card__top { display: flex; align-items: flex-start; justify-content: space-between; }
.expertise-card__icon {
	display: grid;
	place-items: center;
	width: 3.25rem;
	height: 3.25rem;
	border-radius: 1rem;
	background: var(--color-teal-800);
	color: var(--color-sand-300);
	font-size: 1.2rem;
	transition: background-color .3s, color .3s;
}
.expertise-card:hover .expertise-card__icon { background: var(--color-sand-500); color: var(--color-teal-900); }
.expertise-card__num { font-family: var(--font-serif); font-size: 2rem; line-height: 1; color: var(--color-sand-200); }
.expertise-card__title { margin-top: 1.25rem; font-size: 1.2rem; line-height: 1.3; color: var(--color-teal-900); }
.expertise-card__text { margin-top: .6rem; font-size: .93rem; line-height: 1.7; color: var(--color-teal-700); }
.expertise-card__text p { margin: 0 0 .5rem; }
.expertise-card__text p:last-child { margin-bottom: 0; }

.note-box {
	display: flex;
	gap: 1.5rem;
	align-items: flex-start;
	border-radius: 2rem;
	background: var(--color-teal-800);
	padding: 2rem;
	color: var(--color-teal-100);
}
@media (min-width: 768px) { .note-box { padding: 2.75rem 3rem; } }
.note-box__icon {
	flex: 0 0 auto;
	display: grid;
	place-items: center;
	width: 3.5rem;
	height: 3.5rem;
	border-radius: 1rem;
	background: var(--color-sand-500);
	color: var(--color-teal-900);
	font-size: 1.25rem;
}
.note-box__title { font-size: clamp(1.35rem, 1.1rem + .8vw, 1.75rem); color: var(--color-cream); }
.note-box__text.prose-rich { margin-top: .75rem; color: var(--color-teal-100); font-size: 1rem; }
.note-box__text.prose-rich strong { color: var(--color-sand-300); }
@media (max-width: 639px) { .note-box { flex-direction: column; } }

/* ---------- Akademik çalışmalar ---------- */
.pub-group { margin-bottom: 3rem; }
.pub-group[hidden] { display: none; }
.pub-group__title {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: .5rem 1rem;
	padding-bottom: .9rem;
	margin-bottom: 1.25rem;
	border-bottom: 2px solid var(--color-sand-200);
	font-size: clamp(1.35rem, 1.1rem + .8vw, 1.75rem);
	color: var(--color-teal-900);
}
.pub-group__title small { font-family: var(--font-sans); font-size: .8rem; font-weight: 600; color: var(--color-sand-700); }
.pub-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 1rem; counter-reset: pub; }
.pub-item {
	counter-increment: pub;
	position: relative;
	border-radius: 1.5rem;
	border: 1px solid var(--color-sand-200);
	background: #fff;
	padding: 1.4rem 1.5rem 1.4rem 4.5rem;
	box-shadow: 0 10px 30px -12px rgba(24, 46, 54, .07);
}
.pub-item::before {
	content: counter(pub, decimal-leading-zero);
	position: absolute;
	left: 1.5rem;
	top: 1.3rem;
	font-family: var(--font-serif);
	font-size: 1.6rem;
	line-height: 1;
	color: var(--color-sand-400);
}
.pub-item--award {
	border-color: var(--color-sand-400);
	background: linear-gradient(135deg, #fff, var(--color-sand-50));
}
.pub-item__meta { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.pub-tag {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	border-radius: 9999px;
	background: var(--color-teal-50);
	color: var(--color-teal-700);
	padding: .25rem .75rem;
	font-size: .75rem;
	font-weight: 600;
}
.pub-tag--award { background: var(--color-sand-500); color: var(--color-teal-900); }
.pub-year { font-size: .8rem; font-weight: 700; color: var(--color-sand-700); }
.pub-item__award { margin-top: .6rem; font-size: .9rem; font-weight: 700; color: var(--color-sand-700); }
.pub-item__title { margin-top: .55rem; font-family: var(--font-sans); font-size: 1.02rem; font-weight: 600; line-height: 1.5; color: var(--color-teal-900); }
.pub-item__source { margin-top: .35rem; font-size: .9rem; font-style: italic; color: var(--color-teal-600); }
.pub-item__link { display: inline-flex; align-items: center; gap: .4rem; margin-top: .6rem; font-size: .85rem; font-weight: 600; color: var(--color-sand-700); }
.pub-item__link:hover { color: var(--color-teal-900); }
@media (max-width: 480px) {
	.pub-item { padding: 1.25rem; }
	.pub-item::before { position: static; display: block; margin-bottom: .6rem; }
}

/* ---------- Medya (TV + Dergi) ---------- */
.media-grid { display: grid; gap: 1.5rem; }
@media (min-width: 640px) { .media-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .media-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.media-card, .mag-card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border-radius: 1.75rem;
	border: 1px solid var(--color-sand-200);
	background: #fff;
	box-shadow: 0 10px 30px -10px rgba(24, 46, 54, .08);
	transition: transform .3s, box-shadow .3s;
}
.media-card:hover, .mag-card:hover { transform: translateY(-4px); box-shadow: 0 20px 40px -15px rgba(24, 46, 54, .14); }
.media-card__thumb {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: var(--color-teal-900);
	border: 0;
	padding: 0;
	cursor: pointer;
}
.media-card__thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s, opacity .3s; }
.media-card__thumb:hover img { transform: scale(1.05); opacity: .85; }
.media-card__play {
	position: absolute;
	inset: 0;
	margin: auto;
	display: grid;
	place-items: center;
	width: 4rem;
	height: 4rem;
	border-radius: 9999px;
	background: rgba(250, 248, 245, .95);
	color: var(--color-teal-900);
	font-size: 1.1rem;
	box-shadow: 0 10px 30px rgba(0, 0, 0, .25);
	transition: transform .3s, background-color .3s;
}
.media-card__play i { margin-left: 3px; }
.media-card__thumb:hover .media-card__play { transform: scale(1.1); background: var(--color-sand-500); }
.media-card__body, .mag-card__body { display: flex; flex: 1; flex-direction: column; padding: 1.4rem 1.5rem 1.5rem; }
.media-card__meta { display: flex; flex-wrap: wrap; gap: .35rem 1rem; font-size: .8rem; font-weight: 600; color: var(--color-sand-700); }
.media-card__meta i { margin-right: .2rem; }
.media-card__title { margin-top: .6rem; font-size: 1.1rem; line-height: 1.4; color: var(--color-teal-900); flex: 1; }
.media-card__link { display: inline-flex; align-items: center; gap: .45rem; margin-top: 1rem; font-size: .85rem; font-weight: 600; color: var(--color-teal-700); }
.media-card__link i { color: #e40014; font-size: 1rem; }
.media-card__link:hover { color: var(--color-sand-700); }

.mag-card__cover { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: var(--color-sand-100); }
.mag-card__cover img { width: 100%; height: 100%; object-fit: cover; }
.mag-card__cover--empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: .75rem;
	background: linear-gradient(145deg, var(--color-teal-800), var(--color-teal-900));
	color: var(--color-sand-300);
}
.mag-card__cover--empty::after {
	content: "";
	position: absolute;
	inset: .9rem;
	border: 1px solid color-mix(in oklab, var(--color-sand-500) 45%, transparent);
	border-radius: 1.1rem;
}
.mag-card__cover--empty i { font-size: 2.5rem; }
.mag-card__masthead { font-family: var(--font-serif); font-size: 1.35rem; color: var(--color-cream); }
.mag-card__issue { font-size: .8rem; font-weight: 700; letter-spacing: .15em; }
.mag-card__text { margin-top: .5rem; font-size: .9rem; line-height: 1.6; color: var(--color-teal-700); }
.mag-card__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .5rem;
	align-self: flex-start;
	margin-top: 1.1rem;
	border-radius: 9999px;
	background: var(--color-teal-800);
	color: var(--color-cream);
	padding: .65rem 1.2rem;
	font-size: .85rem;
	font-weight: 600;
	transition: background-color .2s, color .2s;
}
.mag-card__btn:hover { background: var(--color-sand-500); color: var(--color-teal-900); }

/* ---------- Video lightbox ---------- */
.video-modal { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; padding: 1rem; }
.video-modal[hidden] { display: none; }
.video-modal__backdrop { position: absolute; inset: 0; background: rgba(10, 22, 26, .85); backdrop-filter: blur(4px); }
.video-modal__box { position: relative; width: min(960px, 100%); }
.video-modal__frame { aspect-ratio: 16 / 9; border-radius: 1.25rem; overflow: hidden; background: #000; box-shadow: 0 30px 60px rgba(0, 0, 0, .4); }
.video-modal__frame iframe { width: 100%; height: 100%; border: 0; display: block; }
.video-modal__close {
	position: absolute;
	top: -3.25rem;
	right: 0;
	display: grid;
	place-items: center;
	width: 2.6rem;
	height: 2.6rem;
	border-radius: 9999px;
	border: 0;
	background: var(--color-cream);
	color: var(--color-teal-900);
	cursor: pointer;
}
body.modal-open { overflow: hidden; }

/* ---------- Hizmet kartı görselsiz yer tutucu ---------- */
.svc-ph {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	background:
		radial-gradient(circle at 80% 15%, color-mix(in oklab, var(--color-sand-500) 30%, transparent), transparent 45%),
		linear-gradient(145deg, var(--color-teal-700), var(--color-teal-900));
	color: color-mix(in oklab, var(--color-sand-300) 70%, transparent);
	font-size: 3.25rem;
}

/* ---------- Footer sütun dengesi ---------- */
.footer-grid { display: grid; gap: 2.5rem; }
.footer-grid__brand p { max-width: 20rem; }
@media (min-width: 768px) {
	.footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3rem; }
}
@media (min-width: 1024px) {
	.footer-grid { grid-template-columns: minmax(0, 1.3fr) minmax(0, .8fr) minmax(0, 1fr) minmax(0, 1.3fr); column-gap: 4.5rem; }
}

/* ---------- "Tümünü gör" butonu ---------- */
.more-row { display: flex; justify-content: center; margin-top: 2.25rem; }
.more-btn {
	display: inline-flex;
	align-items: center;
	gap: .6rem;
	border-radius: 9999px;
	border: 1px solid color-mix(in oklab, var(--color-teal-800) 30%, transparent);
	padding: .85rem 1.6rem;
	font-size: .9rem;
	font-weight: 600;
	color: var(--color-teal-800);
	transition: background-color .2s, color .2s, border-color .2s;
}
.more-btn:hover { background: var(--color-teal-800); border-color: var(--color-teal-800); color: var(--color-cream); }
.more-btn i { font-size: .75rem; transition: transform .2s; }
.more-btn:hover i { transform: translateX(3px); }
.more-btn__count {
	display: inline-grid;
	place-items: center;
	min-width: 1.6rem;
	height: 1.6rem;
	border-radius: 9999px;
	background: var(--color-sand-100);
	color: var(--color-sand-700);
	font-size: .75rem;
}
.more-btn:hover .more-btn__count { background: var(--color-sand-500); color: var(--color-teal-900); }

/* ---------- Giriş: fotoğraf + metin ---------- */
.intro-split { display: grid; gap: 2.5rem; align-items: center; }
@media (min-width: 1024px) { .intro-split { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 4rem; } }
.intro-split__media {
	position: relative;
	overflow: hidden;
	aspect-ratio: 5 / 4;
	border-radius: 2.5rem;
	background: linear-gradient(135deg, var(--color-sand-200), var(--color-teal-100));
	box-shadow: 0 20px 40px -15px rgba(24, 46, 54, .12);
	outline: 1px solid var(--color-sand-200);
}
.intro-split__media::after {
	content: "";
	position: absolute;
	inset: auto -2.5rem -2.5rem auto;
	width: 8rem;
	height: 8rem;
	border-radius: 9999px;
	background: color-mix(in oklab, var(--color-sand-500) 35%, transparent);
}
.intro-split__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 78%; }
.intro-split__title { margin-top: 1rem; font-size: clamp(1.75rem, 1.3rem + 1.4vw, 2.4rem); line-height: 1.2; color: var(--color-teal-900); }
.intro-split__text { margin-top: 1.25rem; }
.intro-split__text p { font-size: 1.08rem; }

/* ---------- Galeri ---------- */
.chip-row--center { justify-content: center; }
.photo-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
@media (min-width: 640px) { .photo-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; } }
@media (min-width: 1024px) { .photo-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; } }
.photo-grid__item {
	position: relative;
	display: block;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border-radius: 1.5rem;
	background: linear-gradient(135deg, var(--color-sand-200), var(--color-teal-100));
	box-shadow: 0 10px 30px -10px rgba(24, 46, 54, .08);
	cursor: zoom-in;
}
.photo-grid__item[hidden] { display: none; }
.photo-grid__item img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.16, 1, .3, 1); }
.photo-grid__item::after { content: ""; position: absolute; inset: 0; background: rgba(24, 46, 54, 0); transition: background-color .3s; }
.photo-grid__item:hover img { transform: scale(1.06); }
.photo-grid__item:hover::after { background: rgba(24, 46, 54, .25); }
.photo-grid__zoom {
	position: absolute;
	z-index: 1;
	inset: 0;
	margin: auto;
	display: grid;
	place-items: center;
	width: 3rem;
	height: 3rem;
	border-radius: 9999px;
	background: rgba(250, 248, 245, .95);
	color: var(--color-teal-900);
	opacity: 0;
	transform: scale(.8);
	transition: opacity .3s, transform .3s;
}
.photo-grid__item:hover .photo-grid__zoom, .photo-grid__item:focus-visible .photo-grid__zoom { opacity: 1; transform: scale(1); }
.photo-grid__item:focus-visible { outline: 3px solid var(--color-sand-500); outline-offset: 3px; }

.lightbox { position: fixed; inset: 0; z-index: 110; display: flex; align-items: center; justify-content: center; background: rgba(10, 22, 26, .94); }
.lightbox[hidden] { display: none; }
.lightbox__stage { margin: 0; display: grid; place-items: center; width: 100%; height: 100%; padding: 4.5rem 1rem; }
.lightbox__img { max-width: min(1200px, 100%); max-height: 100%; object-fit: contain; border-radius: 1rem; box-shadow: 0 30px 60px rgba(0, 0, 0, .45); user-select: none; }
.lightbox__btn {
	position: absolute;
	z-index: 2;
	display: grid;
	place-items: center;
	width: 3rem;
	height: 3rem;
	border: 0;
	border-radius: 9999px;
	background: rgba(250, 248, 245, .12);
	color: var(--color-cream);
	font-size: 1.1rem;
	cursor: pointer;
	transition: background-color .2s, color .2s;
}
.lightbox__btn:hover { background: var(--color-sand-500); color: var(--color-teal-900); }
.lightbox__close { top: 1.25rem; right: 1.25rem; }
.lightbox__prev { left: 1.25rem; top: 50%; transform: translateY(-50%); }
.lightbox__next { right: 1.25rem; top: 50%; transform: translateY(-50%); }
.lightbox__count { position: absolute; bottom: 1.4rem; left: 50%; transform: translateX(-50%); font-size: .85rem; font-weight: 600; letter-spacing: .08em; color: var(--color-sand-300); }
@media (max-width: 639px) {
	.lightbox__prev, .lightbox__next { top: auto; bottom: 1rem; transform: none; }
	.lightbox__count { bottom: 1.9rem; }
}

/* ---------- Mega menü (Hizmetler) ---------- */
.mega {
	position: absolute;
	top: 100%;
	left: 50%;
	width: min(1180px, calc(100vw - 3rem));
	padding-top: .75rem;
	transform: translate(-50%, 8px);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	/* Kapanırken kısa bir bekleme: fare bağlantıdan panele inerken menü kaçmasın. */
	transition: opacity .18s ease .2s, transform .22s ease .2s, visibility 0s linear .4s;
	z-index: 60;
}
.mega-host:hover .mega,
.mega-host:focus-within .mega {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translate(-50%, 0);
	transition-delay: 0s;
}
/* Bağlantı ile panel arasındaki boşluğu kapatan görünmez köprü. */
.mega-host > a { position: relative; }
.mega-host > a::after {
	content: "";
	position: absolute;
	top: 100%;
	left: -1.5rem;
	right: -1.5rem;
	height: 3.25rem;
}
.mega-host > a.is-current { color: var(--color-sand-700); }
.mega__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 250px;
	overflow: hidden;
	border: 1px solid var(--color-sand-200);
	border-radius: 2rem;
	background: #fff;
	box-shadow: 0 30px 60px -20px rgba(24, 46, 54, .25);
}
.mega__cols { display: flex; gap: 0; padding: 1.75rem 1.5rem; }
.mega__col { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; padding: 0 1rem; }
.mega__col + .mega__col { border-left: 1px solid var(--color-sand-100); }
.mega__col--wide { flex-grow: 2; }
.mega__head {
	display: flex;
	align-items: baseline;
	min-height: 2.6rem;
	justify-content: space-between;
	gap: .75rem;
	padding: 0 .65rem .85rem;
	margin-bottom: .5rem;
	border-bottom: 2px solid var(--color-sand-200);
	font-family: var(--font-serif);
	font-size: 1.15rem;
	color: var(--color-teal-900);
	transition: border-color .2s, color .2s;
}
.mega__head:hover { border-color: var(--color-sand-500); color: var(--color-sand-700); }
.mega__head small { font-family: var(--font-sans); font-size: .72rem; font-weight: 600; color: var(--color-sand-700); white-space: nowrap; }
.mega__list { list-style: none; margin: 0; padding: 0; display: grid; gap: .1rem; }
.mega__col--wide .mega__list { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: .75rem; }
.mega__link {
	position: relative;
	display: block;
	padding: .45rem .65rem .45rem 1.35rem;
	border-radius: .75rem;
	font-size: .86rem;
	line-height: 1.35;
	color: var(--color-teal-700);
	overflow-wrap: normal;
	word-break: normal;
	hyphens: none;
	transition: background-color .15s, color .15s;
}
.mega__link::before {
	content: "";
	position: absolute;
	left: .6rem;
	top: .95em;
	width: 5px;
	height: 5px;
	border-radius: 9999px;
	background: var(--color-sand-400);
	transition: background-color .15s, transform .15s;
}
.mega__link:hover, .mega__link.is-current { background: var(--color-sand-50); color: var(--color-teal-900); }
.mega__link:hover::before, .mega__link.is-current::before { background: var(--color-teal-800); transform: scale(1.3); }
.mega__link.is-current { font-weight: 600; }
.mega__all {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	margin-top: auto;
	padding: 1rem .65rem 0;
	font-size: .8rem;
	font-weight: 600;
	color: var(--color-sand-700);
}
.mega__all i { font-size: .65rem; transition: transform .2s; }
.mega__all:hover { color: var(--color-teal-900); }
.mega__all:hover i { transform: translateX(3px); }
.mega__aside {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: .75rem;
	overflow: hidden;
	padding: 2rem 1.75rem;
	background: linear-gradient(160deg, var(--color-teal-800), var(--color-teal-900));
	color: var(--color-teal-100);
}
.mega__aside::after {
	content: "";
	position: absolute;
	right: -3.5rem;
	top: -3.5rem;
	width: 9rem;
	height: 9rem;
	border-radius: 9999px;
	background: color-mix(in oklab, var(--color-sand-500) 22%, transparent);
}
.mega__aside-icon {
	display: grid;
	place-items: center;
	width: 2.75rem;
	height: 2.75rem;
	border-radius: .9rem;
	background: var(--color-sand-500);
	color: var(--color-teal-900);
}
.mega__aside-title { font-family: var(--font-serif); font-size: 1.35rem; color: var(--color-cream); }
.mega__aside-text { font-size: .85rem; line-height: 1.6; }
.mega__aside-btn {
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .5rem;
	border-radius: 9999px;
	padding: .7rem 1rem;
	background: var(--color-sand-500);
	color: var(--color-teal-900);
	font-size: .85rem;
	font-weight: 600;
	transition: background-color .2s, color .2s;
}
.mega__aside-btn:hover { background: var(--color-cream); }
.mega__aside-btn--light { margin-top: auto; background: rgba(250, 248, 245, .12); color: var(--color-cream); }
.mega__aside-btn--light:hover { background: rgba(250, 248, 245, .22); color: var(--color-cream); }
.mega__aside-btn i { font-size: .75rem; }
@media (max-width: 1279px) {
	.mega__inner { grid-template-columns: minmax(0, 1fr); }
	.mega__aside { display: none; }
}

/* ---------- Mobil menü: Hizmetler grupları ---------- */
.mm-toggle i { transition: transform .25s; }
.mm-toggle[aria-expanded="true"] i { transform: rotate(180deg); }
.mm-panel[hidden], .mm-links[hidden] { display: none; }
.mm-groups { list-style: none; margin: 0 0 .5rem .75rem; padding: 0 0 0 .75rem; border-left: 1px solid var(--color-sand-200); }
.mm-row { display: flex; align-items: center; gap: .5rem; }
.mm-cat { flex: 1; display: block; border-radius: 1rem; padding: .65rem 1rem; font-size: .9rem; font-weight: 600; color: var(--color-teal-800); }
.mm-toggle--sm {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	border: 0;
	border-radius: 9999px;
	background: var(--color-sand-100);
	color: var(--color-sand-700);
	padding: .35rem .7rem;
	font-size: .75rem;
	font-weight: 700;
	cursor: pointer;
}
.mm-toggle--sm i { font-size: .65rem; }
.mm-links { list-style: none; margin: 0 0 .5rem .75rem; padding: 0 0 0 .75rem; border-left: 1px solid var(--color-sand-200); }
.mm-link { display: block; border-radius: .75rem; padding: .45rem 1rem; font-size: .85rem; color: var(--color-teal-600); }
.mm-link:hover, .mm-link.is-current { background: var(--color-sand-100); color: var(--color-teal-900); }
