/* =========================================================================
   TEVORIA — Base / Ortak Komponentler
   Tüm custom sayfalar .tv-page ile scope'lanır (Blocksy/Woo ile çakışmasın).
   ========================================================================= */

.tv-page { color: var(--tv-text); font-family: var(--tv-font-body); line-height: 1.65; }
.tv-page *, .tv-page *::before, .tv-page *::after { box-sizing: border-box; }
.tv-page :where(img) { max-width: 100%; height: auto; display: block; }

/* Layout ---------------------------------------------------------------- */
.tv-container { width: 100%; max-width: var(--tv-container); margin-inline: auto; padding-inline: var(--tv-gutter); }
.tv-section { padding-block: var(--tv-section-y); position: relative; }
.tv-section--soft  { background: var(--tv-bg-soft); }
.tv-section--cream { background: var(--tv-bg-cream); }
.tv-section--navy  { background: var(--tv-bg-navy); color: var(--tv-on-dark); }
.tv-section--navy .tv-section-title,
.tv-section--navy h2, .tv-section--navy h3 { color: #fff; }
.tv-section--navy .tv-lead { color: var(--tv-on-dark-2); }

/* Bölüm başlığı --------------------------------------------------------- */
.tv-head { margin-bottom: 56px; }
.tv-head--center { text-align: center; max-width: 720px; margin-inline: auto; margin-bottom: 56px; }
.tv-eyebrow {
	display: inline-block; font-size: .76rem; font-weight: 700; letter-spacing: .16em;
	text-transform: uppercase; color: var(--tv-gold-2);
}
.tv-section--navy .tv-eyebrow { color: var(--tv-gold); }
.tv-eyebrow-dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--tv-c-pink); margin-right: 9px; vertical-align: middle; }

/* Tipografi ------------------------------------------------------------- */
.tv-page h1, .tv-page h2, .tv-page h3, .tv-page h4 {
	font-family: var(--tv-font-display); color: var(--tv-ink);
	line-height: 1.08; letter-spacing: -.02em; margin: 0;
}
.tv-h1, .tv-page h1 { font-size: clamp(2.5rem, 5vw, 4rem); font-weight: 800; letter-spacing: -.035em; }
.tv-section-title, .tv-page h2 { font-size: clamp(1.9rem, 3.4vw, 2.7rem); font-weight: 700; letter-spacing: -.03em; }
.tv-page h3 { font-size: clamp(1.12rem, 1.5vw, 1.35rem); font-weight: 700; letter-spacing: -.015em; }
.tv-lead { font-size: clamp(1.02rem, 1.3vw, 1.18rem); color: var(--tv-text-2); margin-top: 18px; }
.tv-head .tv-section-title { margin-top: 14px; }

/* Accent vurgu (marka) — canlı rainbow gradient, temiz sans (italik yok) */
.tv-accent, .tv-page em.tv-em {
	font-style: normal;
	background: var(--tv-grad-rainbow);
	-webkit-background-clip: text; background-clip: text;
	-webkit-text-fill-color: transparent; color: transparent;
}

/* Butonlar -------------------------------------------------------------- */
.tv-btn {
	display: inline-flex; align-items: center; gap: 10px;
	font-family: var(--tv-font-body); font-size: .98rem; font-weight: 600; line-height: 1;
	padding: 15px 28px; border-radius: var(--tv-radius-pill); border: 1px solid transparent;
	cursor: pointer; text-decoration: none; transition: all var(--tv-dur) var(--tv-ease);
	white-space: nowrap;
}
.tv-btn svg { transition: transform var(--tv-dur) var(--tv-ease); }
.tv-btn:hover svg { transform: translateX(4px); }

.tv-btn--primary { background: var(--tv-c-pink); color: #fff; box-shadow: var(--tv-shadow-gold); }
.tv-btn--primary:hover { background: var(--tv-c-pink-d); color: #fff; transform: translateY(-2px); box-shadow: var(--tv-shadow-3); }

.tv-btn--gold { background: var(--tv-grad-gold); color: #fff; box-shadow: var(--tv-shadow-gold); }
.tv-btn--gold:hover { color: #fff; transform: translateY(-2px); filter: brightness(1.05); box-shadow: var(--tv-shadow-3); }

.tv-btn--ghost { background: #fff; color: var(--tv-ink); border-color: var(--tv-border-2); }
.tv-btn--ghost:hover { color: var(--tv-ink); border-color: var(--tv-navy); transform: translateY(-2px); box-shadow: var(--tv-shadow-1); }
.tv-section--navy .tv-btn--ghost { background: rgba(255,255,255,.08); color: #fff; border-color: rgba(255,255,255,.24); }
.tv-section--navy .tv-btn--ghost:hover { color: #fff; background: rgba(255,255,255,.16); border-color: rgba(255,255,255,.5); }

.tv-btn--lg { padding: 18px 34px; font-size: 1.04rem; }

/* Inline ok'lu link */
.tv-textlink {
	display: inline-flex; align-items: center; gap: 7px; font-weight: 600;
	color: var(--tv-navy); text-decoration: none; transition: color var(--tv-dur) var(--tv-ease);
}
.tv-textlink svg { transition: transform var(--tv-dur) var(--tv-ease); }
.tv-textlink:hover { color: var(--tv-gold-2); }
.tv-textlink:hover svg { transform: translateX(4px); }

/* Kart ------------------------------------------------------------------ */
.tv-card {
	background: #fff; border: 1px solid var(--tv-border); border-radius: var(--tv-radius-lg);
	box-shadow: var(--tv-shadow-1); transition: transform var(--tv-dur) var(--tv-ease), box-shadow var(--tv-dur) var(--tv-ease), border-color var(--tv-dur) var(--tv-ease);
}
.tv-card:hover { transform: translateY(-4px); box-shadow: var(--tv-shadow-3); border-color: var(--tv-border-gold); }

/* Rozet / pill ---------------------------------------------------------- */
.tv-badge {
	display: inline-flex; align-items: center; gap: 6px; padding: 7px 14px;
	border-radius: var(--tv-radius-pill); font-size: .74rem; font-weight: 700;
	letter-spacing: .04em; text-transform: uppercase;
	background: var(--tv-gold-tint); color: var(--tv-gold-2); border: 1px solid var(--tv-border-gold);
}

/* Grid yardımcıları ----------------------------------------------------- */
.tv-grid { display: grid; gap: 24px; }
.tv-grid--2 { grid-template-columns: repeat(2, 1fr); }
.tv-grid--3 { grid-template-columns: repeat(3, 1fr); }
.tv-grid--4 { grid-template-columns: repeat(4, 1fr); }

@media (max-width: 980px) {
	.tv-grid--3, .tv-grid--4 { grid-template-columns: repeat(2, 1fr); }
	.tv-head, .tv-head--center { margin-bottom: 42px; }
}
@media (max-width: 600px) {
	.tv-grid--2, .tv-grid--3, .tv-grid--4 { grid-template-columns: 1fr; }
	.tv-btn { width: 100%; justify-content: center; }
}

/* Scroll reveal (tüm custom sayfalarda) --------------------------------- */
.tv-page [data-animate] { opacity: 0; transform: translateY(24px); transition: opacity .7s var(--tv-ease), transform .7s var(--tv-ease); will-change: opacity, transform; }
.tv-page [data-animate="scale"] { transform: scale(.94); }
.tv-page [data-animate="fade"]  { transform: none; }
.tv-page [data-animate="left"]  { transform: translateX(-30px); }
.tv-page [data-animate="right"] { transform: translateX(30px); }
.tv-page [data-animate].is-in   { opacity: 1; transform: none; }

/* Ortak: Neden Biz / değer kartları (birden çok sayfada) */
.tv-why-card { background: #fff; border: 1px solid var(--tv-border); border-radius: var(--tv-radius-lg); padding: 30px 26px; box-shadow: var(--tv-shadow-1); transition: transform .4s var(--tv-ease), box-shadow .4s var(--tv-ease); }
.tv-why-card:hover { transform: translateY(-4px); box-shadow: var(--tv-shadow-2); }
.tv-why-icon { display: inline-flex; align-items: center; justify-content: center; width: 54px; height: 54px; border-radius: 16px; background: var(--tv-pink-tint); color: var(--tv-c-pink); font-size: 1.35rem; margin-bottom: 18px; }
.tv-why-icon svg { width: 26px; height: 26px; }
/* Çok-renkli ikonlar (oyuncu) */
.tv-why-card:nth-child(4n+2) .tv-why-icon { background: var(--tv-blue-tint); color: var(--tv-c-blue); }
.tv-why-card:nth-child(4n+3) .tv-why-icon { background: var(--tv-yellow-tint); color: var(--tv-c-orange); }
.tv-why-card:nth-child(4n+4) .tv-why-icon { background: var(--tv-mint-tint); color: var(--tv-c-green); }
.tv-why-card h3 { color: var(--tv-ink); margin-bottom: 10px; }
.tv-why-card p { color: var(--tv-text-2); font-size: .95rem; }

/* Ortak: sertifika satırı */
.tv-cert-row { display: flex; flex-wrap: wrap; justify-content: center; gap: 22px; }
.tv-cert-badge { width: 150px; height: 100px; border: 1px dashed var(--tv-border-gold); border-radius: var(--tv-radius); display: flex; align-items: center; justify-content: center; background: #fff; }
.tv-cert-badge span { font-size: .8rem; letter-spacing: .1em; text-transform: uppercase; color: var(--tv-text-3); }

/* Ortak: kalite mühürleri (madalyon) — anasayfa + hakkımızda */
.tv-seals { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.tv-seal { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 16px; padding: 8px; }
.tv-seal-badge { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 92px; height: 92px; border-radius: 50%;
	background: radial-gradient(circle at 50% 40%, #fff, var(--tv-bg-soft)); border: 2px solid var(--tv-gold-tint); color: var(--tv-c-pink); box-shadow: var(--tv-shadow-1); }
.tv-seal-badge::before { content: ""; position: absolute; inset: 7px; border-radius: 50%; border: 1.5px dashed var(--tv-border-gold); }
.tv-seal-badge svg { width: 34px; height: 34px; }
.tv-seal:nth-child(2) .tv-seal-badge { color: var(--tv-c-green); border-color: var(--tv-mint-tint); }
.tv-seal:nth-child(3) .tv-seal-badge { color: var(--tv-c-orange); border-color: var(--tv-yellow-tint); }
.tv-seal:nth-child(4) .tv-seal-badge { color: var(--tv-c-blue); border-color: var(--tv-blue-tint); }
.tv-seal-label { font-weight: 700; color: var(--tv-ink); font-size: .95rem; max-width: 12rem; }
/* Mühür responsive override'ları — base kurallardan SONRA gelmeli (media query specificity eklemez, source-order kazanır) */
@media (max-width: 980px) {
	.tv-seals { grid-template-columns: repeat(2, 1fr); gap: 34px 24px; }
}
@media (max-width: 600px) {
	.tv-seals { grid-template-columns: 1fr; gap: 26px; }
	.tv-seal { flex-direction: row; text-align: left; justify-content: flex-start; }
	.tv-seal-label { max-width: none; }
}

/* Reduced motion -------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
	.tv-page *, .tv-page *::before, .tv-page *::after { transition: none !important; animation: none !important; }
}
