/*
Theme Name: FARKEDER
Theme URI: https://farkeder.org/
Author: FARKEDER
Description: Üniversiteli gençlere yönelik mekan partileri ve özel kutlamalar için FARKEDER teması. Bilet görünümlü etkinlik listesi, geri sayım, etkinlik yönetimi (tarih, mekan, bilet, dress code, yaş sınırı), WhatsApp üzerinden organizasyon talebi, gece/gündüz teması ve her girişte değişen 5 farklı tasarım (istenirse tek tasarıma sabitlenir).
Version: 2.4.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: farkeder
*/

/* Yazı tipleri temayla birlikte gelir (SIL Open Font License), dış sunucuya bağlanmaz. */
@font-face { font-family: 'Bricolage Grotesque'; font-style: normal; font-display: swap; font-weight: 200 800; font-stretch: 75% 100%; src: url(fonts/bricolage-grotesque-latin-ext-wdth-normal.woff2) format('woff2'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: 'Bricolage Grotesque'; font-style: normal; font-display: swap; font-weight: 200 800; font-stretch: 75% 100%; src: url(fonts/bricolage-grotesque-latin-wdth-normal.woff2) format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'Figtree'; font-style: normal; font-display: swap; font-weight: 300 900; src: url(fonts/figtree-latin-ext-wght-normal.woff2) format('woff2'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: 'Figtree'; font-style: normal; font-display: swap; font-weight: 300 900; src: url(fonts/figtree-latin-wght-normal.woff2) format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }

/* ------------------------------------------------------------------
   Renkler: gece (lacivert-mor), turuncu (logo), kağıt (bilet), sarı, mor
   Gündüz teması bir afiş gibi kağıt zeminli; gece teması mekan gibi koyu.
------------------------------------------------------------------- */
:root {
  --gece: #120c2b;
  --turuncu: #ff6a13;
  --kagit: #fff3dc;
  --sari: #ffd23f;
  --mor: #6d4aff;

  --bg: var(--kagit);
  --surface: #ffe7bd;
  --ink: var(--gece);
  --muted: #564d7a;
  --line: rgba(18, 12, 43, .18);
  --ticket: #ffffff;
  --ticket-ink: var(--gece);
  --ticket-muted: #564d7a;
  --ticket-line: rgba(18, 12, 43, .28);
  --hard: var(--gece);
  --ticket-shadow: var(--gece);
  --header-bg: rgba(255, 243, 220, .88);

  --display: 'Bricolage Grotesque', 'Arial Narrow', system-ui, sans-serif;
  --body: 'Figtree', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --wrap: 1180px;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg: var(--gece); --surface: #1d1547; --ink: var(--kagit); --muted: #b9afd9;
    --line: rgba(255, 243, 220, .18); --ticket: var(--kagit); --hard: #05030f;
    --ticket-shadow: var(--turuncu); --header-bg: rgba(18, 12, 43, .88);
  }
}
:root[data-theme="dark"] {
  --bg: var(--gece); --surface: #1d1547; --ink: var(--kagit); --muted: #b9afd9;
  --line: rgba(255, 243, 220, .18); --ticket: var(--kagit); --hard: #05030f;
  --ticket-shadow: var(--turuncu); --header-bg: rgba(18, 12, 43, .88);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  margin: 0; font-family: var(--body); font-size: 1.0625rem; line-height: 1.55;
  background: var(--bg); color: var(--ink);
  display: flex; flex-direction: column; min-height: 100vh; overflow-x: hidden;
}
.site-main { flex: 1 0 auto; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; display: block; }
h1, h2, h3 { font-family: var(--display); font-stretch: 78%; font-weight: 800; line-height: 1; letter-spacing: -.015em; margin: 0; }
p { margin: 0; }
.wrap { max-width: var(--wrap); margin: 0 auto; padding: 0 20px; }
.wrap-narrow { max-width: 760px; margin: 0 auto; padding: 0 20px; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px,1px,1px,1px); white-space: nowrap; }
.ico { width: 20px; height: 20px; flex: none; display: inline-block; vertical-align: middle; }
:focus-visible { outline: 3px solid var(--turuncu); outline-offset: 3px; border-radius: 6px; }

/* ---------- Üst bar ---------- */
.site-header { position: sticky; top: 0; z-index: 50; background: var(--header-bg); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border-bottom: 2px solid var(--ink); }
.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .site-header { top: 46px; } }
.bar { height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.brand { display: flex; align-items: center; gap: 10px; font-family: var(--display); font-stretch: 78%; font-weight: 800; font-size: 1.5rem; letter-spacing: .01em; }
.brand img { width: 46px; height: 46px; transform: rotate(-8deg); }
.nav-area { display: flex; align-items: center; gap: 8px; }
.main-nav ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 2px; }
.main-nav a { display: block; padding: 8px 14px; border-radius: 999px; font-weight: 600; font-size: .98rem; }
.main-nav a:hover, .main-nav .current-menu-item > a { background: var(--ink); color: var(--bg); }
.icon-btn { width: 42px; height: 42px; border-radius: 999px; border: 2px solid var(--ink); background: transparent; color: var(--ink); cursor: pointer; display: inline-flex; align-items: center; justify-content: center; }
.icon-btn:hover { background: var(--ink); color: var(--bg); }
.icon-sun { display: none !important; }
:root[data-theme="dark"] .icon-sun { display: inline-block !important; }
:root[data-theme="dark"] .icon-moon { display: none !important; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .icon-sun { display: inline-block !important; }
  :root:not([data-theme="light"]) .icon-moon { display: none !important; }
}
.menu-toggle { display: none; }
@media (max-width: 820px) {
  .menu-toggle { display: inline-flex; }
  .main-nav { display: none; position: absolute; top: 72px; left: 0; right: 0; background: var(--bg); border-bottom: 2px solid var(--ink); padding: 10px 20px 18px; }
  .main-nav.open { display: block; }
  .main-nav ul { flex-direction: column; }
  .main-nav a { padding: 13px 14px; font-size: 1.1rem; }
}

/* ---------- Butonlar ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 9px; padding: 13px 22px; border-radius: 999px;
  font: 700 1rem/1.2 var(--body); border: 2px solid var(--ink); background: transparent; color: var(--ink); cursor: pointer;
  transition: transform .12s, box-shadow .12s;
}
.btn:hover { transform: translate(-2px, -2px); box-shadow: 4px 4px 0 var(--hard); }
.btn:active { transform: none; box-shadow: none; }
.btn.primary { background: var(--turuncu); color: var(--gece); border-color: var(--gece); box-shadow: 4px 4px 0 var(--hard); }
.btn.primary:hover { box-shadow: 6px 6px 0 var(--hard); }
.btn[disabled] { opacity: .55; cursor: not-allowed; transform: none; box-shadow: none; }
.btns { display: flex; flex-wrap: wrap; gap: 12px; }

/* ---------- Karşılama ---------- */
.hero { padding: 56px 0 72px; }
.hero-grid { display: grid; gap: 48px; align-items: center; }
@media (min-width: 960px) { .hero-grid { grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr); gap: 56px; } }
.hero-title { font-size: clamp(4.1rem, 18vw, 8.25rem); line-height: .86; letter-spacing: -.03em; transform: rotate(-3deg); transform-origin: left bottom; margin: 18px 0 34px; }
.hero-title span { display: block; }
.hero-lead { font-size: clamp(1.1rem, 2vw, 1.3rem); max-width: 34rem; color: var(--muted); margin-bottom: 28px; font-weight: 500; }
.hero-note { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; font-size: .95rem; background: var(--sari); color: var(--gece); padding: 6px 14px; border-radius: 999px; border: 2px solid var(--gece); transform: rotate(-3deg); }

/* Sıradaki gece bileti */
.next { position: relative; max-width: 440px; width: 100%; margin: 0 auto; transform: rotate(2.5deg); filter: drop-shadow(8px 8px 0 var(--ticket-shadow)); }
.next-in {
  --stub: 148px; background: var(--ticket); color: var(--ticket-ink); border-radius: 22px;
  -webkit-mask: radial-gradient(circle 13px at 0 calc(100% - var(--stub)), #0000 97%, #000) 0 0 / 51% 100% no-repeat, radial-gradient(circle 13px at 100% calc(100% - var(--stub)), #0000 97%, #000) 100% 0 / 51% 100% no-repeat;
          mask: radial-gradient(circle 13px at 0 calc(100% - var(--stub)), #0000 97%, #000) 0 0 / 51% 100% no-repeat, radial-gradient(circle 13px at 100% calc(100% - var(--stub)), #0000 97%, #000) 100% 0 / 51% 100% no-repeat;
}
.next-top { padding: 26px 28px 24px; }
.next-label { font-weight: 700; font-size: .95rem; color: var(--ticket-muted); display: flex; justify-content: space-between; gap: 10px; align-items: center; }
.next-title { font-size: clamp(2rem, 4.4vw, 2.7rem); margin: 14px 0 16px; line-height: .95; }
.next-meta { list-style: none; margin: 0 0 20px; padding: 0; display: grid; gap: 7px; font-weight: 600; font-size: 1rem; }
.next-meta li { display: flex; align-items: center; gap: 9px; }
.next-meta .ico { color: var(--turuncu); }
.next-top .btn { width: 100%; }
.next-stub { height: var(--stub); border-top: 2px dashed var(--ticket-line); padding: 16px 28px; display: flex; flex-direction: column; justify-content: center; gap: 8px; }
.next-stub small { font-weight: 700; font-size: .9rem; color: var(--ticket-muted); }
.count { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.count div { background: var(--gece); color: var(--kagit); border-radius: 10px; padding: 8px 4px 7px; text-align: center; }
.count b { display: block; font: 800 1.9rem/1 var(--display); font-stretch: 78%; font-variant-numeric: tabular-nums; }
.count span { font-size: .78rem; font-weight: 600; opacity: .8; }

/* ---------- Kayan şerit ---------- */
.strip { background: var(--turuncu); color: var(--gece); border-block: 2px solid var(--gece); overflow: hidden; padding: 12px 0; }
.strip-track { display: flex; width: max-content; animation: kay 38s linear infinite; }
.strip:hover .strip-track { animation-play-state: paused; }
.strip ul { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; }
.strip li { display: flex; align-items: center; gap: 12px; padding-right: 34px; font: 800 1.35rem/1 var(--display); font-stretch: 78%; white-space: nowrap; }
.strip .ico { width: 22px; height: 22px; }
@keyframes kay { to { transform: translateX(-50%); } }

/* ---------- Bölümler ---------- */
.section { padding: 84px 0; }
.section-tight { padding: 0 0 84px; }
.head { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 16px 32px; margin-bottom: 38px; }
.head h2 { font-size: clamp(2.3rem, 6vw, 4rem); }
.head p { color: var(--muted); max-width: 30rem; font-weight: 500; }
.head-link { font-weight: 700; border-bottom: 2px solid var(--turuncu); padding-bottom: 2px; }
.head-link:hover { color: var(--turuncu); }

/* ---------- Bilet satırları (etkinlik listesi) ---------- */
.events { display: grid; gap: 22px; }
.tkt { display: block; filter: drop-shadow(5px 5px 0 var(--ticket-shadow)); transition: transform .14s; }
.tkt:hover { transform: translate(-3px, -3px); }
.tkt-in {
  --x: 138px; display: grid; grid-template-columns: var(--x) 1fr auto; background: var(--ticket); color: var(--ticket-ink); border-radius: 18px;
  -webkit-mask: radial-gradient(circle 11px at var(--x) 0, #0000 97%, #000) 0 0 / 100% 51% no-repeat, radial-gradient(circle 11px at var(--x) 100%, #0000 97%, #000) 0 100% / 100% 51% no-repeat;
          mask: radial-gradient(circle 11px at var(--x) 0, #0000 97%, #000) 0 0 / 100% 51% no-repeat, radial-gradient(circle 11px at var(--x) 100%, #0000 97%, #000) 0 100% / 100% 51% no-repeat;
}
.tkt-date { border-right: 2px dashed var(--ticket-line); padding: 20px 10px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.tkt-date b { font: 800 3.4rem/.9 var(--display); font-stretch: 78%; }
.tkt-date span { font-weight: 700; font-size: 1.05rem; margin-top: 4px; }
.tkt-date em { font-style: normal; font-size: .88rem; color: var(--ticket-muted); font-weight: 600; }
.tkt-main { padding: 20px 24px; display: flex; gap: 18px; align-items: center; min-width: 0; }
.tkt-thumb { width: 104px; height: 104px; border-radius: 12px; object-fit: cover; flex: none; }
.tkt-cat { display: inline-flex; align-items: center; gap: 7px; font-weight: 700; font-size: .9rem; color: #c2410c; }
.tkt-cat .ico { width: 17px; height: 17px; }
.tkt h3 { font-size: clamp(1.5rem, 3vw, 2rem); margin: 6px 0 10px; }
.tkt-meta { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 5px 18px; color: var(--ticket-muted); font-weight: 600; font-size: .95rem; }
.tkt-meta li { display: flex; align-items: center; gap: 6px; }
.tkt-meta .ico { width: 16px; height: 16px; color: var(--turuncu); }
.tkt-side { padding: 20px 24px; display: flex; flex-direction: column; align-items: flex-end; justify-content: center; gap: 8px; text-align: right; }
.tkt-price { font: 800 1.35rem/1.1 var(--display); font-stretch: 78%; }
.tkt-go { font-weight: 700; font-size: .95rem; background: var(--gece); color: var(--kagit); padding: 8px 16px; border-radius: 999px; white-space: nowrap; }
.tkt:hover .tkt-go { background: var(--turuncu); color: var(--gece); }
.badge { display: inline-block; font-weight: 700; font-size: .82rem; padding: 4px 11px; border-radius: 999px; background: var(--sari); color: var(--gece); border: 2px solid var(--gece); transform: rotate(-3deg); white-space: nowrap; }
.badge.full { background: var(--gece); color: var(--kagit); }
.badge.past { background: transparent; }
.tkt.is-past { filter: none; opacity: .72; }
@media (max-width: 760px) {
  .tkt-in {
    --y: 66px; grid-template-columns: 1fr;
    -webkit-mask: radial-gradient(circle 10px at 0 var(--y), #0000 97%, #000) 0 0 / 51% 100% no-repeat, radial-gradient(circle 10px at 100% var(--y), #0000 97%, #000) 100% 0 / 51% 100% no-repeat;
            mask: radial-gradient(circle 10px at 0 var(--y), #0000 97%, #000) 0 0 / 51% 100% no-repeat, radial-gradient(circle 10px at 100% var(--y), #0000 97%, #000) 100% 0 / 51% 100% no-repeat;
  }
  .tkt-date { height: var(--y); flex-direction: row; gap: 8px; align-items: baseline; justify-content: flex-start; padding: 0 22px; border-right: 0; border-bottom: 2px dashed var(--ticket-line); align-content: center; flex-wrap: wrap; }
  .tkt-date b { font-size: 2.2rem; line-height: 1; }
  .tkt-date span { margin: 0; }
  .tkt-main { padding: 18px 22px 8px; align-items: flex-start; }
  .tkt-thumb { width: 72px; height: 72px; }
  .tkt-side { flex-direction: row; align-items: center; justify-content: space-between; padding: 10px 22px 20px; text-align: left; flex-wrap: wrap; }
}
.empty { border: 2px dashed var(--line); border-radius: 18px; padding: 44px 24px; text-align: center; display: grid; gap: 18px; justify-items: center; color: var(--muted); font-weight: 500; }

/* Filtreler (etkinlikler sayfası) */
.filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.filters a { padding: 8px 16px; border-radius: 999px; border: 2px solid var(--ink); font-weight: 600; font-size: .95rem; }
.filters a.active, .filters a:hover { background: var(--ink); color: var(--bg); }
.filters + .events, .filters + .empty { margin-top: 26px; }
.pagination { display: flex; justify-content: center; gap: 8px; margin-top: 40px; flex-wrap: wrap; }
.pagination .page-numbers { padding: 8px 15px; border-radius: 999px; border: 2px solid var(--ink); font-weight: 700; }
.pagination .current { background: var(--turuncu); color: var(--gece); }

/* ---------- Kategori çıkartmaları ---------- */
.stickers { display: grid; gap: 16px; grid-template-columns: 1fr; }
@media (min-width: 620px) { .stickers { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 980px) { .stickers { grid-template-columns: repeat(3, 1fr); } }
.stk { display: flex; flex-direction: column; gap: 10px; padding: 24px; border-radius: 22px; border: 2px solid var(--gece); background: var(--kagit); color: var(--gece); min-height: 190px; transition: transform .14s, box-shadow .14s; }
a.stk:hover { transform: translate(-3px, -3px) rotate(-1deg); box-shadow: 6px 6px 0 var(--hard); }
.stk:nth-child(4n+1) { background: var(--turuncu); }
.stk:nth-child(4n+2) { background: var(--sari); }
.stk:nth-child(4n+3) { background: var(--mor); color: #fff; }
.stk:nth-child(4n+4) { background: var(--kagit); }
.stk .ico { width: 34px; height: 34px; }
.stk h3 { font-size: 1.7rem; margin-top: auto; }
.stk p { font-weight: 500; font-size: .98rem; opacity: .9; }
.stk-count { font-weight: 700; font-size: .88rem; align-self: flex-start; background: var(--gece); color: var(--kagit); padding: 3px 11px; border-radius: 999px; }

/* ---------- Organizasyon talebi ---------- */
.org { display: grid; gap: 36px; align-items: start; }
@media (min-width: 920px) { .org { grid-template-columns: 1fr minmax(380px, 460px); gap: 64px; } }
.org-text h2 { font-size: clamp(2.3rem, 6vw, 4rem); margin-bottom: 18px; }
.org-text > p { color: var(--muted); max-width: 32rem; font-weight: 500; margin-bottom: 26px; }
.org-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; }
.org-list li { display: flex; align-items: center; gap: 14px; padding: 14px 0; border-top: 2px solid var(--line); font-weight: 600; font-size: 1.08rem; }
.org-list li:last-child { border-bottom: 2px solid var(--line); }
.org-list .ico { width: 24px; height: 24px; color: var(--turuncu); }
.org-form { background: var(--ticket); color: var(--ticket-ink); border-radius: 22px; padding: 28px; display: grid; gap: 14px; box-shadow: 8px 8px 0 var(--ticket-shadow); transform: rotate(-1.2deg); }
.org-form h3 { font-size: 1.7rem; }
.org-form label { display: grid; gap: 5px; font-size: .9rem; font-weight: 700; }
.org-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.org-form input, .org-form select, .org-form textarea { font: 500 1rem var(--body); color: var(--gece); background: #fff; border: 2px solid var(--gece); border-radius: 12px; padding: 11px 12px; width: 100%; min-width: 0; }
.org-form input:focus, .org-form select:focus, .org-form textarea:focus { outline: 3px solid var(--turuncu); outline-offset: 1px; }
.form-note { font-size: .85rem; color: var(--ticket-muted); font-weight: 500; }

/* ---------- Nasıl işliyor: bileklik ---------- */
.band { list-style: none; margin: 0; padding: 0; display: grid; border: 2px solid var(--ink); border-radius: 22px; overflow: hidden; }
.band li { padding: 26px 26px 28px; display: grid; gap: 8px; align-content: start; border-top: 2px dashed var(--ink); }
.band li:first-child { border-top: 0; }
@media (min-width: 820px) {
  .band { grid-template-columns: repeat(3, 1fr); }
  .band li { border-top: 0; border-left: 2px dashed var(--ink); }
  .band li:first-child { border-left: 0; }
}
.band-n { font: 800 3.6rem/.9 var(--display); font-stretch: 78%; color: var(--turuncu); }
.band h3 { font-size: 1.6rem; }
.band p { color: var(--muted); font-weight: 500; }
.band a { font-weight: 700; border-bottom: 2px solid var(--turuncu); justify-self: start; margin-top: 4px; }

/* ---------- Biz kimiz ---------- */
.about { display: grid; gap: 32px; }
@media (min-width: 820px) { .about { grid-template-columns: repeat(3, 1fr); gap: 40px; } }
.about > div { border-top: 2px solid var(--ink); padding-top: 18px; display: grid; gap: 8px; align-content: start; }
.about .ico { width: 30px; height: 30px; color: var(--turuncu); }
.about h3 { font-size: 1.6rem; }
.about p { color: var(--muted); font-weight: 500; }

/* ---------- Sık sorulanlar ---------- */
.faq { display: grid; gap: 36px; }
@media (min-width: 920px) { .faq { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 64px; } }
.faq h2 { font-size: clamp(2.3rem, 6vw, 4rem); margin-bottom: 14px; }
.faq-side p { color: var(--muted); font-weight: 500; margin-bottom: 20px; }
.faq details { border-top: 2px solid var(--ink); }
.faq details:last-child { border-bottom: 2px solid var(--ink); }
.faq summary { cursor: pointer; list-style: none; padding: 18px 44px 18px 0; position: relative; font: 800 1.35rem/1.15 var(--display); font-stretch: 78%; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; position: absolute; right: 4px; top: 12px; font: 400 2rem/1 var(--body); color: var(--turuncu); transition: transform .15s; }
.faq details[open] summary::after { transform: rotate(45deg); }
.faq details p { padding: 0 0 20px; color: var(--muted); font-weight: 500; max-width: 38rem; }

/* ---------- Kapanış ---------- */
.outro { background: var(--turuncu); color: var(--gece); border-block: 2px solid var(--gece); position: relative; overflow: hidden; padding: 84px 0; }
.outro h2 { font-size: clamp(3rem, 10vw, 7rem); line-height: .88; letter-spacing: -.03em; max-width: 14ch; margin-bottom: 20px; position: relative; z-index: 1; }
.outro p { position: relative; z-index: 1; font-weight: 600; font-size: 1.15rem; max-width: 30rem; margin-bottom: 28px; }
.outro .btn { background: var(--gece); color: var(--kagit); border-color: var(--gece); box-shadow: 4px 4px 0 rgba(18,12,43,.35); position: relative; z-index: 1; }
.outro-stamp {
  position: absolute; right: -70px; bottom: -90px; width: min(52vw, 460px); aspect-ratio: 1; max-width: 100%;
  transform: rotate(14deg); pointer-events: none; background: var(--sari);
  -webkit-mask: url(logo-mark.png) center / contain no-repeat;
          mask: url(logo-mark.png) center / contain no-repeat;
}
@media (max-width: 700px) { .outro-stamp { opacity: .3; } }

/* ---------- Tekil etkinlik ---------- */
.single-hero { padding: 40px 0 26px; }
.back { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; font-size: .95rem; margin-bottom: 22px; border-bottom: 2px solid var(--turuncu); }
.single-hero h1 { font-size: clamp(2.6rem, 8vw, 5.5rem); line-height: .9; letter-spacing: -.025em; margin-top: 12px; }
.event-cat { display: inline-flex; align-items: center; gap: 7px; font-weight: 700; background: var(--sari); color: var(--gece); border: 2px solid var(--gece); border-radius: 999px; padding: 4px 13px; font-size: .92rem; transform: rotate(-2deg); }
.single-cover { border-radius: 22px; overflow: hidden; border: 2px solid var(--ink); margin: 10px 0 34px; }
.single-cover img { width: 100%; }
.single-grid { display: grid; gap: 40px; padding-bottom: 84px; }
@media (min-width: 920px) { .single-grid { grid-template-columns: 1fr 380px; gap: 56px; align-items: start; } }
.info-box { position: sticky; top: 100px; background: var(--ticket); color: var(--ticket-ink); border-radius: 22px; padding: 26px; box-shadow: 8px 8px 0 var(--ticket-shadow); display: grid; gap: 12px; }
.info-box .meta { list-style: none; margin: 0 0 6px; padding: 0; display: grid; }
.info-box .meta li { display: flex; gap: 12px; align-items: flex-start; padding: 11px 0; border-bottom: 2px dashed var(--ticket-line); font-weight: 700; }
.info-box .meta li:first-child { padding-top: 0; }
.info-box .meta .ico { color: var(--turuncu); margin-top: 3px; }
.info-box .meta small { display: block; color: var(--ticket-muted); font-size: .82rem; font-weight: 600; }
.info-box .btn { width: 100%; border-color: var(--gece); color: var(--gece); }
.info-note { font-size: .85rem; color: var(--ticket-muted); text-align: center; font-weight: 500; }

/* ---------- Sayfa ve yazı ---------- */
.page-head { padding: 56px 0 30px; }
.page-head h1 { font-size: clamp(2.8rem, 9vw, 6rem); line-height: .9; letter-spacing: -.025em; }
.page-head .sub { color: var(--muted); font-weight: 500; margin-top: 14px; max-width: 34rem; }
.entry { font-size: 1.1rem; }
.entry > * { margin: 0 0 1.1em; }
.entry h2, .entry h3 { margin: 1.5em 0 .5em; font-size: 1.9rem; }
.entry h3 { font-size: 1.5rem; }
.entry a { border-bottom: 2px solid var(--turuncu); }
.entry img { border-radius: 16px; }
.entry ul, .entry ol { padding-left: 1.3em; }
.posts { display: grid; gap: 22px; }
@media (min-width: 700px) { .posts { grid-template-columns: repeat(2, 1fr); } }
.post { border: 2px solid var(--ink); border-radius: 20px; padding: 22px; display: grid; gap: 10px; align-content: start; transition: transform .14s, box-shadow .14s; }
.post:hover { box-shadow: 6px 6px 0 var(--hard); transform: translate(-3px, -3px); }
.post img { border-radius: 12px; }
.post h3 { font-size: 1.6rem; }
.post p { color: var(--muted); font-weight: 500; }

/* ---------- Alt bilgi ---------- */
.site-footer { padding: 56px 0 28px; }
.foot-top { display: grid; gap: 32px; padding-bottom: 36px; }
@media (min-width: 820px) { .foot-top { grid-template-columns: 1.4fr 1fr 1fr; gap: 48px; } }
.foot-brand p { color: var(--muted); font-weight: 500; max-width: 24rem; margin-top: 14px; }
.foot-col h3 { font-size: 1.25rem; margin-bottom: 12px; }
.foot-col ul, .foot-menu { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.foot-col a { font-weight: 600; display: inline-flex; align-items: center; gap: 9px; }
.foot-col a:hover { color: var(--turuncu); }
.foot-col .ico { width: 18px; height: 18px; color: var(--turuncu); }
.foot-word { font: 800 clamp(4rem, 19vw, 15rem)/.8 var(--display); font-stretch: 78%; letter-spacing: -.04em; white-space: nowrap; color: var(--turuncu); border-top: 2px solid var(--ink); padding-top: 26px; overflow: hidden; }
.foot-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; color: var(--muted); font-size: .92rem; font-weight: 500; padding-top: 18px; }

@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; scroll-behavior: auto !important; }
  .strip-track { animation: none; }
}
@media (max-width: 460px) { .org-row { grid-template-columns: 1fr; } .org-form { padding: 22px; } }

/* ---------- Sosyal medya yönlendirmeleri ---------- */
.hero-social { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin-top: 26px; }
.hero-social span { font-weight: 700; font-size: .95rem; color: var(--muted); margin-right: 4px; }
.hero-social a { display: inline-flex; align-items: center; gap: 7px; padding: 7px 14px; border-radius: 999px; border: 2px solid var(--line); font-weight: 600; font-size: .92rem; }
.hero-social a:hover { border-color: var(--turuncu); color: var(--turuncu); }
.hero-social .ico { width: 17px; height: 17px; color: var(--turuncu); }
.follow { display: grid; gap: 16px; grid-template-columns: 1fr; }
@media (min-width: 620px) { .follow { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1040px) { .follow { grid-template-columns: repeat(4, 1fr); } }
.follow-item { display: flex; flex-direction: column; gap: 8px; padding: 24px; border: 2px solid var(--ink); border-radius: 22px; transition: transform .14s, box-shadow .14s, background-color .14s; }
.follow-item:hover { transform: translate(-3px, -3px); box-shadow: 6px 6px 0 var(--turuncu); }
.follow-item .ico { width: 32px; height: 32px; color: var(--turuncu); margin-bottom: 6px; }
.follow-item h3 { font-size: 1.55rem; }
.follow-item p { color: var(--muted); font-weight: 500; font-size: .98rem; margin-bottom: 10px; }
.follow-go { margin-top: auto; align-self: flex-start; font-weight: 700; font-size: .95rem; background: var(--turuncu); color: var(--gece); padding: 8px 16px; border-radius: 999px; border: 2px solid var(--gece); }
