/* ============================================================
   TA FESTIVAL SINGLE v4 (30 Eyl 2026): tekil festival sayfasi.
   Taban css/ta-clubs-v3.css (.tac-wrap .tac-v3); burada yalniz festivale ozgu ekler.
   Tek renk, Chivo, turkuaz yok, sol aksan cizgisi yok.
   ============================================================ */

/* ---------- hero ---------- */
.tafs .tafs-h1 { text-wrap: balance; }
.tafs .tafs-h1.is-long { font-size: clamp(34px, 4.4vw, 60px); line-height: 1.02; letter-spacing: -0.03em; }
.tafs .tafs-h1.is-xlong { font-size: clamp(30px, 3.4vw, 46px); line-height: 1.06; letter-spacing: -0.025em; }
.tafs .tafs-h1 small { display: block; margin-top: 14px; font-size: 15px; font-weight: 700; letter-spacing: 1.6px; text-transform: uppercase; line-height: 1.4; color: var(--tac-muted); }
.tafs .tac-stats, .tafs .tac-door { max-width: none; }
.tafs .tafs-stats-1 { grid-template-columns: minmax(0, 1fr); }
.tafs .tafs-stats-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.tafs .tac-stats dd { white-space: nowrap; }
.tafs .tac-stats dd.is-sm { font-size: 24px; letter-spacing: -0.02em; line-height: 1.42; }
.tafs .tac-door-t { overflow-wrap: anywhere; }

/* takvim yapragi + durum rozeti (arsiv kartlariyla ayni) */
.tafs .tafs-cal { position: absolute; left: 14px; top: 14px; z-index: 2; display: flex; flex-direction: column; align-items: center; min-width: 58px; background: #fff; color: var(--tac-ink); border-radius: 9px; overflow: hidden; box-shadow: 0 6px 18px rgba(0,0,0,.28); line-height: 1; }
.tafs .tafs-cal span { display: block; width: 100%; text-align: center; background: var(--tac-ink); color: #fff; font-size: 11px; font-weight: 800; letter-spacing: 1.5px; text-transform: uppercase; padding: 5px 0 4px; }
.tafs .tafs-cal b { display: block; font-size: 27px; font-weight: 900; letter-spacing: -0.03em; padding: 6px 10px 7px; }
.tafs .tafs-badge { position: absolute; right: 14px; top: 14px; z-index: 2; background: rgba(0,0,0,.72); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); color: #fff; border-radius: 20px; padding: 6px 13px; font-size: 12px; font-weight: 700; letter-spacing: .4px; line-height: 1.2; }
.tafs .tafs-badge.is-live { background: #fff; color: var(--tac-ink); }
.tafs .tafs-badge.is-live::before { content: ''; display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--tac-ink); margin-right: 6px; vertical-align: 1px; animation: tafs-pulse 1.6s ease-in-out infinite; }
@keyframes tafs-pulse { 50% { opacity: .25; } }

/* acilis: hero parcalari sirayla gelir */
.tafs .tac-chero-photo, .tafs .tac-chero-text > * { animation: tafs-in .6s cubic-bezier(.2,.7,.2,1) both; }
.tafs .tac-chero-text > *:nth-child(1) { animation-delay: .04s; }
.tafs .tac-chero-text > *:nth-child(2) { animation-delay: .09s; }
.tafs .tac-chero-text > *:nth-child(3) { animation-delay: .14s; }
.tafs .tac-chero-text > *:nth-child(4) { animation-delay: .19s; }
.tafs .tac-chero-text > *:nth-child(5) { animation-delay: .24s; }
.tafs .tac-chero-text > *:nth-child(n+6) { animation-delay: .29s; }
@keyframes tafs-in { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }

/* iptal bandi */
.tafs .tafs-cancel { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; margin: 28px 0 0; padding: 16px 20px; border: 1px solid var(--tac-ink); border-radius: 12px; background: #f6f6f4; }
.tafs .tafs-cancel span { flex: 0 0 auto; font-size: 10.5px; font-weight: 800; letter-spacing: 1.5px; text-transform: uppercase; color: #fff; background: var(--tac-ink); border-radius: 4px; padding: 5px 9px; }
.tafs .tafs-cancel p { flex: 1 1 320px; margin: 0; font-size: 15px; line-height: 1.55; color: var(--tac-text); }
.tafs .ta-fest-past { margin: 28px 0 0; }

/* ---------- hizli bilgi ---------- */
.tafs .tac-facts-dl dd a.tafs-plain { font-size: inherit; margin-left: 0; border-bottom: 1px solid #c9cbd1; }
.tafs .tac-facts-dl dd a.tafs-plain:hover { border-color: var(--tac-ink); }
.tafs .tafs-heads { list-style: none; margin: 0; padding: 0; counter-reset: tafsh; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 22px; }
.tafs .tafs-heads li { counter-increment: tafsh; display: flex; align-items: baseline; gap: 10px; padding: 9px 0; margin: 0; border-top: 1px solid var(--tac-line); font-size: 15px; font-weight: 700; color: var(--tac-ink); list-style: none; min-width: 0; }
.tafs .tafs-heads li:nth-child(-n+2) { border-top: 0; }
.tafs .tafs-heads li::before { content: counter(tafsh, decimal-leading-zero); font-size: 11px; font-weight: 800; color: var(--tac-muted); min-width: 18px; }
.tafs .tafs-heads a, .tafs .tac-note a { display: inline !important; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: #c9ccd2; }
.tafs .tafs-heads a:hover, .tafs .tac-note a:hover { text-decoration-color: currentColor; }
.tafs .tac-note a { font-weight: 700; color: var(--tac-ink); }

/* ---------- metin ---------- */
/* 30 Eyl: tum bolumler ayni genislikte (baslik cizgisi ile icerik ayni sag kenarda biter) */
.tafs .tafs-prose, .tafs .tafs-narrow { max-width: none; }
.tafs .tac-faq details p, .tafs .tac-chero-desc { max-width: none; }
.tafs .tafs-prose > *:last-child { margin-bottom: 0; }
.tafs .tafs-prose h2, .tafs .tafs-prose h3, .tafs .tafs-prose h4 { font-family: inherit; font-size: 21px; font-weight: 900; letter-spacing: -0.015em; line-height: 1.25; color: var(--tac-ink); margin: 34px 0 12px; padding: 0; }
.tafs .tafs-prose h2::before, .tafs .tafs-prose h2::after, .tafs .tafs-prose h3::before, .tafs .tafs-prose h3::after { display: none; }
.tafs .tafs-prose a { display: inline !important; color: var(--tac-ink); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: #b9bcc3; }
.tafs .tafs-prose a:hover { text-decoration-color: currentColor; }
.tafs .tafs-prose strong { color: var(--tac-ink); }
.tafs .tafs-prose ul, .tafs .tafs-prose ol { font-size: 18px; line-height: 1.8; margin: 0 0 18px; padding-left: 22px; }
.tafs .tafs-prose img { max-width: 100%; height: auto; border-radius: 12px; }

/* ---------- lineup ---------- */
.tafs .tafs-lineup { list-style: none; margin: 0; padding: 0; columns: 4; column-gap: 32px; }
.tafs .tafs-lineup li { break-inside: avoid; margin: 0; padding: 9px 0; border-bottom: 1px solid var(--tac-line); font-size: 15px; font-weight: 500; line-height: 1.35; color: var(--tac-text); list-style: none; overflow-wrap: anywhere; }
.tafs .tafs-lineup li::before { display: none; }
.tafs .tafs-lineup li.is-head { font-weight: 900; color: var(--tac-ink); }
.tafs .tafs-lineup a { display: inline !important; color: inherit; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: #c9ccd2; }
.tafs .tafs-lineup a:hover { text-decoration-color: currentColor; }
.tafs .festival-lineup-content { max-width: none; font-size: 17px; line-height: 1.85; color: var(--tac-text); }

/* ---------- video + harita ---------- */
.tafs .tafs-video { background: var(--tac-ink); }
.tafs .tafs-map { aspect-ratio: 16 / 8; }
.tafs .talg-sub { max-width: none; }

/* ---------- Link Graph bolumleri (festival-section isaretcisiyle gelir) ---------- */
.tafs .festival-section { margin: 0; padding: 0; border: 0; }
.tafs .festival-section.talg-sec { margin: 56px 0 0; scroll-margin-top: 24px; }
.tafs .festival-section-title { font-family: inherit; font-size: clamp(22px, 2.4vw, 30px); font-weight: 900; letter-spacing: -0.02em; line-height: 1.1; color: var(--tac-ink); border-bottom: 2px solid var(--tac-ink); padding: 0 0 12px; margin: 0 0 18px; }
.tafs .festival-section-title::before, .tafs .festival-section-title::after { display: none !important; }

/* ---------- SSS ---------- */
.tafs .tafs-faq-a { max-width: none; padding: 0 0 20px; }
.tafs .tafs-faq-a p { margin: 0 0 10px; font-size: 16px; line-height: 1.7; color: var(--tac-text); }
.tafs .tafs-faq-a p:last-child { margin-bottom: 0; }
.tafs .tafs-faq-a a { display: inline !important; text-decoration: underline; text-underline-offset: 3px; }

/* ---------- cekilis formu ---------- */
.tafs .tafs-win { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: 40px; align-items: start; background: var(--tac-panel); border: 1px solid var(--tac-line); border-radius: 16px; padding: 34px 36px; }
.tafs .tafs-win-k { display: inline-block; font-size: 10.5px; font-weight: 800; letter-spacing: 1.6px; text-transform: uppercase; color: #fff; background: var(--tac-ink); border-radius: 4px; padding: 5px 10px; margin: 0 0 14px; }
.tafs .tafs-win h2 { font-family: inherit; font-size: clamp(24px, 2.6vw, 34px); font-weight: 900; letter-spacing: -0.025em; line-height: 1.08; color: var(--tac-ink); margin: 0 0 12px; padding: 0; }
.tafs .tafs-win h2::before, .tafs .tafs-win h2::after { display: none; }
.tafs .tafs-win-text p { font-size: 16px; line-height: 1.65; color: var(--tac-text); margin: 0; }
.tafs .tafs-form { margin: 0; padding: 0; background: none; border: 0; max-width: none; }
.tafs .tafs-form p { margin: 0; }
.tafs .tafs-form br { display: none; }
.tafs .tafs-form .festival-form-wrapper { display: flex; flex-direction: column; gap: 12px; }
.tafs .tafs-form .festival-form-row { display: flex; gap: 12px; margin: 0; }
.tafs .tafs-form .festival-form-half, .tafs .tafs-form .festival-form-full { flex: 1 1 0; min-width: 0; margin: 0; padding: 0; width: auto; }
.tafs .tafs-form .wpcf7-form-control-wrap { display: block; }
.tafs .tafs-form input[type="text"], .tafs .tafs-form input[type="email"], .tafs .tafs-form input[type="tel"], .tafs .tafs-form .festival-input {
  width: 100%; height: 48px; padding: 0 14px; margin: 0; font-family: inherit; font-size: 15px; color: var(--tac-ink);
  background: #fff; border: 1px solid var(--tac-field); border-radius: 8px; box-shadow: none; outline: none; }
.tafs .tafs-form input::placeholder { color: var(--tac-faint); }
.tafs .tafs-form input[type="text"]:focus, .tafs .tafs-form .festival-input:focus { border-color: var(--tac-ink); box-shadow: 0 0 0 3px rgba(20,20,20,.08); }
.tafs .tafs-form .festival-privacy-policy { background: none; border: 0; border-radius: 0; padding: 0; margin: 2px 0 0; }
.tafs .tafs-form .festival-privacy-policy p { font-size: 12.5px; line-height: 1.6; color: var(--tac-muted); }
.tafs .tafs-form .festival-privacy-policy a { display: inline !important; color: var(--tac-ink); text-decoration: underline; text-underline-offset: 3px; }
.tafs .tafs-form button[type="submit"], .tafs .tafs-form input[type="submit"], .tafs .tafs-form .event-btn-contact-form {
  display: flex; align-items: center; justify-content: center; width: 100% !important; max-width: none; height: 48px; padding: 0 22px; margin: 0;
  font-family: inherit; font-size: 12px; font-weight: 700; letter-spacing: 1.6px; text-transform: uppercase; line-height: 1;
  color: #fff; background: var(--tac-ink); border: 1.5px solid var(--tac-ink); border-radius: 8px; cursor: pointer; transition: background .2s ease, transform .2s ease; }
.tafs .tafs-form button[type="submit"]:hover, .tafs .tafs-form input[type="submit"]:hover { background: #333; transform: translateY(-2px); }
.tafs .tafs-form .wpcf7-spinner { position: absolute; }
.tafs .tafs-form .wpcf7-not-valid-tip { color: #b3261e; font-size: 13px; margin-top: 5px; }
.tafs .tafs-form .wpcf7-response-output { margin: 14px 0 0; padding: 12px !important; border-radius: 8px; font-size: 14px; text-align: center; }

/* ---------- haberler ---------- */
.tafs .tafs-news { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 24px; }
.tafs .tafs-news-card { display: block !important; text-decoration: none; min-width: 0; }
.tafs .tafs-news-card figure { margin: 0 0 12px; aspect-ratio: 16 / 10; border-radius: 12px; overflow: hidden; background: var(--tac-ink); }
.tafs .tafs-news-card img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .45s ease; }
.tafs .tafs-news-card:hover img { transform: scale(1.04); }
.tafs .tafs-news-card span { display: block; font-size: 10.5px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; color: var(--tac-muted); margin: 0 0 6px; }
.tafs .tafs-news-card h3 { font-family: inherit; font-size: 18px; font-weight: 800; line-height: 1.3; letter-spacing: -0.015em; color: var(--tac-ink); margin: 0; padding: 0; text-wrap: balance; }
.tafs .tafs-news-card h3::before, .tafs .tafs-news-card h3::after { display: none; }
.tafs .tafs-news-card:hover h3 { text-decoration: underline; text-underline-offset: 3px; }

.tafs .tac-top-num { letter-spacing: .4px; }
.tafs .new-gallery-for-festivals-section { border: 0; padding-top: 0; }

@media (max-width: 1100px) {
  .tafs .tafs-lineup { columns: 3; }
}
@media (max-width: 900px) {
  .tafs .tafs-win { grid-template-columns: minmax(0, 1fr); gap: 22px; padding: 26px 22px; }
  .tafs .tafs-news { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tafs .tafs-map { aspect-ratio: 4 / 3; }
}
@media (max-width: 600px) {
  .tafs .tafs-h1, .tafs .tafs-h1.is-long { font-size: clamp(32px, 9.4vw, 42px); }
  .tafs .tafs-h1.is-xlong { font-size: clamp(27px, 7.6vw, 34px); }
  .tafs .tafs-h1 small { font-size: 12.5px; margin-top: 10px; }
  .tafs .tac-stats { grid-template-columns: 1.5fr 1fr 1fr; }
  .tafs .tac-stats.tafs-stats-2 { grid-template-columns: 1.5fr 1fr; }
  .tafs .tac-stats dd { font-size: 24px; }
  .tafs .tac-stats dd.is-sm { font-size: 17px; line-height: 1.45; }
  .tafs .tac-stats > div { padding-right: 10px; }
  .tafs .tac-stats > div + div { padding-left: 12px; }
  .tafs .tac-abtn { flex: 1 1 auto; justify-content: center; }
  .tafs .tafs-lineup { columns: 2; column-gap: 18px; }
  .tafs .tafs-lineup li { font-size: 14px; padding: 8px 0; }
  .tafs .tafs-heads { grid-template-columns: minmax(0, 1fr); }
  .tafs .tafs-heads li:nth-child(2) { border-top: 1px solid var(--tac-line); }
  .tafs .tafs-prose h2, .tafs .tafs-prose h3 { font-size: 19px; margin-top: 28px; }
  .tafs .tafs-news { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  .tafs .tafs-form .festival-form-row { flex-direction: column; }
  .tafs .tafs-win { padding: 22px 16px; border-radius: 14px; }
  .tafs .tafs-map { aspect-ratio: 3 / 4; }
  .tafs .tafs-cal { left: 10px; top: 10px; min-width: 48px; }
  .tafs .tafs-cal b { font-size: 22px; padding: 5px 8px 6px; }
  .tafs .tafs-badge { right: 10px; top: 10px; font-size: 11px; padding: 5px 10px; }
  .tafs .festival-section.talg-sec { margin-top: 44px; }
  .tafs .tac-top-4 .tac-top-card { aspect-ratio: 1 / 1; }
  .tafs .tac-top-info small { letter-spacing: .8px; font-size: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .tafs .tac-chero-photo, .tafs .tac-chero-text > * { animation: none !important; }
}

/* ---------- 30 Eyl 2026 KOMPAKT HERO (taban: ta-clubs-v3.css sonundaki blok) ---------- */
.tafs .tafs-h1.is-long { font-size: clamp(28px, 3vw, 42px); line-height: 1.05; letter-spacing: -0.025em; }
.tafs .tafs-h1.is-xlong { font-size: clamp(25px, 2.5vw, 34px); line-height: 1.1; letter-spacing: -0.02em; }
.tafs .tafs-h1 small { margin-top: 8px; font-size: 12px; letter-spacing: 1.4px; }
.tafs .tac-stats dd.is-sm { font-size: 16px; letter-spacing: -0.01em; line-height: 1.5; }
.tafs .tafs-cal { left: 12px; top: 12px; min-width: 50px; }
.tafs .tafs-cal b { font-size: 22px; padding: 5px 8px 6px; }
.tafs .tafs-badge { right: 12px; top: 12px; font-size: 11px; padding: 5px 11px; }
@media (max-width: 600px) {
  .tafs .tafs-h1, .tafs .tafs-h1.is-long { font-size: clamp(28px, 8vw, 36px); }
  .tafs .tafs-h1.is-xlong { font-size: clamp(24px, 6.8vw, 30px); }
  .tafs .tafs-h1 small { font-size: 11.5px; margin-top: 7px; }
  .tafs .tac-stats dd { font-size: 18px; }
  .tafs .tac-stats dd.is-sm { font-size: 14px; line-height: 1.5; }
}
