/* ==========================================================================
   Public sayfalar — ana sayfa, faaliyet planı / takvim, geçmiş faaliyetler,
   faaliyet detayı, galeri, duyurular (SPEC §12.9, §12.22–§12.24, §13.1).
   Yalnız components.css'te karşılığı olmayan sayfa kuralları; yalnız jeton,
   ham renk yok. Görünümler @section Styles ile yükler.
   ========================================================================== */

/* ------------------------------------------------------------------ Ana sayfa: hero + bilet
   Bilet (UpcomingEvents bileşeni) hero'nun hemen ardından gelir ve hero'nun alt
   payına taşar: hero'ya alt boşluk, bilete aynı ölçüde negatif üst boşluk. */
.home-hero{padding-bottom:72px}
.home-upnext{position:relative;z-index:2;margin-top:-72px}
.home-upnext--solo{margin-bottom:56px}
@media (min-width:768px){
  .home-hero{padding-bottom:96px}
  .home-upnext{margin-top:-96px}
  .home-upnext--solo{margin-bottom:80px}
}
/* dokunma hedefi ≥44 px (SPEC §16): components.css'te 40 px — istek requests/public-home.md §7 */
.home-hero .hero__pill{min-height:44px}
.hero__pill .bi{font-size:1rem}
.hero__pill:hover{background:var(--chrome-2);color:var(--on-chrome)}
.hero__cta>.btn .bi{font-size:1.25rem}

.home-ticket__title-link:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px;text-decoration-color:var(--brand)}
.home-ticket__range .date-block__day{font-size:2.75rem;white-space:nowrap}
.home-ticket__meter{padding-top:6px}
.home-ticket__cap{font:var(--t-meta);color:var(--text-2)}
.home-ticket__cap b{margin-right:4px;font:600 1.375rem/1 var(--font-display);color:var(--text)}
.home-ticket__state{display:flex;align-items:center;gap:8px;font:600 .875rem/1.3 var(--font-body);color:var(--text-2)}
.ticket__cta .link-arrow{justify-content:center}
/* "Uygulamadan katıl" dar CTA sütununa sığsın (768–1279: sütun 240/256 px) */
@media (max-width:1279.98px){.ticket__cta .btn{padding-inline:16px}}
@media (min-width:768px) and (max-width:1023.98px){
  .home-upnext .ticket{grid-template-columns:128px minmax(0,1fr) 264px}
  .home-upnext .ticket__stats .stat__label .bi{display:none}
}
.no-event .empty__icon{margin:0}
@media (max-width:767.98px){.home-ticket__range .date-block__day{font-size:1.625rem}}
/* çok günlü faaliyet (aynı ay): "10–11" fikstür tarih sütununa sığsın */
.date-block--range .date-block__day{font-size:1.75rem;white-space:nowrap;letter-spacing:-.02em}
@media (max-width:767.98px){.date-block--range .date-block__day{font-size:1.375rem}}
.no-event__title{font:var(--t-h4)}
.no-event__text{margin-top:4px;color:var(--text-2)}

/* ------------------------------------------------------------------ Ana sayfa: haberler + kişiler */
.home-news__side:not(:has(*)){display:none}
.home-news__list{padding:4px 18px}
@media (max-width:767.98px){.home-news__list{padding:0 16px}}
@media (min-width:1024px){.home-news:has(>.home-news__side:not(:has(*))){grid-template-columns:minmax(0,1fr)}}
.notice-feature__title a:hover,.nt-feature__title a:hover{text-decoration:underline;text-underline-offset:4px}
.notice-feature__summary{color:var(--text-2)}
/* Fotoğraf yüklenemezse (onerror → img kaldırılır) altındaki dekoratif sırt silueti ortaya çıkar. */
.notice-feature__media .nt-media-img{position:absolute;inset:0;z-index:3;width:100%;height:100%;object-fit:cover}
.people-strip>div{min-width:0}
.people-strip .avatar{font:600 .875rem/1 var(--font-body);color:var(--ctx-avatar-fg)}
.people-strip__icon{flex:none;margin-left:auto;font-size:1.25rem;color:var(--text-2)}
.home-active__list{display:grid;padding:4px 20px 8px}
.home-active__list li{display:grid;grid-template-columns:22px auto minmax(0,1fr) auto;gap:12px;align-items:center;min-height:56px;border-bottom:1px solid var(--border)}
.home-active__list li:last-child{border-bottom:0}
.home-active__rank{font:600 1.125rem/1 var(--font-display);color:var(--text-3);text-align:center;font-variant-numeric:tabular-nums}
.home-active__name{font:600 .9375rem/1.3 var(--font-body);overflow-wrap:anywhere}
.home-active__count{font:var(--t-sm);color:var(--text-2);white-space:nowrap}

/* ------------------------------------------------------------------ Ana sayfa: katıl + iletişim */
.join__lead{max-width:560px;color:var(--text-2)}
/* 1024–1279: katıl kartı tam genişlik, iletişim kartı altında yatay (dar sütunda metin sıkışmasın);
   haberlerde öne çıkan duyuru tam genişlik, kişiler şeridi altında */
@media (min-width:1024px) and (max-width:1279.98px){
  .home-join{grid-template-columns:minmax(0,1fr)}
  .home-news{grid-template-columns:minmax(0,1fr)}
}
@media (min-width:768px) and (max-width:1279.98px){
  .home-join .contact-card{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto;column-gap:32px;align-items:start}
  .home-join .contact-card__actions{grid-column:1/-1;max-width:560px}
}
.join__steps strong{color:var(--text)}
/* telefon / e-posta bağlantısı satır yüksekliğinde kalmasın: dokunma hedefi ≥44 px (SPEC §16).
   Negatif dikey boşluk satır aralığını korur (bağlantı metni yerinden oynamaz). */
.contact-card__lines a{display:inline-flex;align-items:center;min-height:44px;margin-block:-10px}
.contact-card__lines a:hover{text-decoration:underline;text-underline-offset:3px}
.contact-card address{font-style:normal}
.contact-card__lead{margin-top:6px}

/* "Kulübü tanıyın" diyaloğu (AboutUs bileşeni) */
.home-about{width:min(880px,100% - 32px)}
.home-about__video{position:relative;aspect-ratio:16/9;margin-top:16px;border-radius:var(--r-md);overflow:hidden;background:var(--chrome)}
.home-about__video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.home-about__text{margin-top:16px;max-height:40vh;overflow:auto}

/* ------------------------------------------------------------------ Faaliyet listeleri (plan, geçmiş) */
.page-intro+.plan-body{padding-top:28px}
@media (min-width:768px){.page-intro+.plan-body{padding-top:32px}}
.plan-divider{display:flex;align-items:center;gap:12px;margin:48px 0 4px;font:600 .9375rem/1.3 var(--font-body);color:var(--text-2)}
.plan-divider::after{content:"";flex:1;height:1px;background:var(--border)}
.plan-divider__count{font:var(--t-micro);padding:4px 7px;border-radius:6px;background:var(--g100);color:var(--g700)}
@media (max-width:767.98px){.date-block--range .date-block__wd{display:none}}
.plan-years{display:flex;gap:8px;overflow-x:auto;scrollbar-width:thin;margin:0 0 12px;padding:2px 2px 10px}
.plan-years .chip{flex:none}
.plan-tabs{margin-bottom:24px}
/* Dar ekranda sekmeler yatay kayar ama components.css çubuğu gizliyor: sağ kenardaki solma
   üçüncü sekmenin devam ettiğini gösterir (maske rengi görünmez, yalnız saydamlık taşır). */
@media (max-width:767.98px){
  .plan-tabs .tabs__tab{padding:0 10px}
  .plan-tabs{-webkit-mask-image:linear-gradient(90deg,var(--n1000) calc(100% - 24px),transparent);mask-image:linear-gradient(90deg,var(--n1000) calc(100% - 24px),transparent)}
  /* sona gelindiğinde (ya da hiç kaymıyorsa) solma kalkar: son sekme tam okunur */
  .plan-tabs.is-end{-webkit-mask-image:none;mask-image:none}
}
@media (max-width:420px){
  .plan-tabs .tabs__tab{padding:0 8px;gap:6px}
  .plan-tabs .tabs__count{padding:3px 5px}
}
/* uzun bağlantı / sözcük (Word'den gelen adresler) dar ekranda taşmasın */
.rich{overflow-wrap:anywhere}
.plan-tools{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-bottom:12px}
/* arama açıkken süzgeç çiplerinin kendi toplamları gizlenir (arama sonucunu göstermiyorlar) */
.plan-tools.is-searching [data-list-chips] .chip__count{display:none}
.plan-search{flex:1 1 260px;max-width:440px}
.plan-count{font:var(--t-sm);color:var(--text-2)}
.plan-group+.plan-group{margin-top:24px}
.plan-group .month-head{padding-top:12px}
.plan-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:40px;padding-top:16px;border-top:1px solid var(--border)}
.fixture__status .bi-images,.fixture__status .bi-camera{color:var(--text-2)}
.fixture__sub{margin-top:2px;font:var(--t-sm);color:var(--text-2);overflow-wrap:anywhere}
.fixture__title{overflow-wrap:anywhere}
.fixture__row.is-next{background:var(--bg-subtle)}
/* rozeti ve alt bilgisi olmayan satırda boş durum satırı (telefonda kesikli çizgi) basılmasın */
.fixture__status:not(:has(*)){display:none}
/* istatistiği ve ölçeği olmayan satır (eski kayıtlar): başlık boş kalan sütunlara uzar, iki satıra sıkışmaz */
@media (min-width:1280px){.fixture__link:not(:has(.fixture__facts)) .fixture__main{grid-column:main-start/meter-end}}
@media (min-width:768px) and (max-width:1279.98px){.fixture__link:not(:has(.fixture__facts)){row-gap:0}.fixture__link:not(:has(.fixture__facts)) .fixture__main{grid-row:1/-1;align-self:center}}

/* ------------------------------------------------------------------ Takvim (_PlanCalendar) */
.pcal__head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-bottom:16px}
.pcal__title{font:var(--t-h2)}
.pcal__count{font:var(--t-sm);color:var(--text-2)}
.pcal__nav{display:flex;align-items:center;gap:8px;margin-left:auto}
.pcal__grid{width:100%;table-layout:fixed;border-collapse:collapse;border-top:2px solid var(--rule)}
.pcal__grid th{padding:12px 10px;font:600 .8125rem/1 var(--font-body);color:var(--text-2);text-align:left;border-bottom:1px solid var(--border)}
.pcal__grid abbr{text-decoration:none}
.pcal__grid td{position:relative;height:128px;padding:8px;vertical-align:top;border:1px solid var(--border);border-top:0}
.pcal__grid td:first-child{border-left:0}
.pcal__grid td:last-child{border-right:0}
.pcal__num{display:inline-grid;place-items:center;min-width:30px;height:30px;padding:0 6px;border-radius:var(--r-pill);font:600 .875rem/1 var(--font-body);font-variant-numeric:tabular-nums;color:var(--text)}
.pcal__day.is-out{background:var(--bg-subtle)}
.pcal__day.is-out .pcal__num{color:var(--text-3)}
.pcal__day.is-today .pcal__num{background:var(--primary);color:var(--on-primary)}
/* hücre içeriği gövde metnidir: SPEC §20 metin tabanı 14 px (13 px yalnız th / eksen / saat) */
.pcal__ev{display:flex;align-items:center;min-height:44px;margin-top:6px;padding:6px 8px;border-radius:var(--r-sm);border-left:3px solid var(--g900);background:var(--bg-muted);font:600 .875rem/1.3 var(--font-body);color:var(--text);overflow-wrap:anywhere}
.pcal__ev span{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.pcal__ev:hover{background:var(--g150)}
.pcal__ev.is-done{border-left-color:var(--g300);color:var(--text-2)}
.pcal__agenda-title{margin:8px 0 4px;font:var(--t-h4)}
.pcal__empty{padding:24px 0;color:var(--text-2)}
@media (max-width:767.98px){.pcal__grid{display:none}.pcal__title{font-size:1.625rem}}
@media (min-width:768px){.pcal__agenda{display:none}}

/* ------------------------------------------------------------------ Faaliyet detayı */
.ev-head--noline{padding-bottom:112px}
.ev-head--flat{padding-bottom:36px}
@media (min-width:768px){.ev-head--noline{padding-bottom:136px}.ev-head--flat{padding-bottom:48px}}
@media (min-width:1024px){.event-facts .facts.ev-facts{grid-template-columns:1.5fr repeat(var(--n,7),minmax(0,1fr))}.ev-facts .facts__label{white-space:nowrap}}
@media (min-width:1024px) and (max-width:1279.98px){.ev-facts .facts__label .bi{display:none}.event-facts .ev-facts .facts__item{padding:18px 10px 18px 14px}}
.ev-facts .meter__label{font-size:1.0625rem}
.ev-facts .facts__value .meter{padding-top:4px}
.ev-facts__none{font:600 1.0625rem/1.3 var(--font-body);color:var(--text-2);white-space:normal}
.ev-layout--flat{padding-top:32px}
.event-head__title{overflow-wrap:anywhere}
.event-head__sub span{min-width:0;overflow-wrap:anywhere}
.ev-card__hint{font:var(--t-sm);color:var(--text-2)}
.ev-attach{display:grid;gap:10px}
.ev-attach .attach{color:inherit}
.ev-attach .attach:hover{border-color:var(--g300);box-shadow:var(--e1)}
.ev-attach .bi-arrows-angle-expand{color:var(--text-2)}
.ev-photos{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:768px){.ev-photos{grid-template-columns:repeat(4,minmax(0,1fr))}}
.reg-card__title{font:var(--t-h4)}
.reg-card__cap .t-label{color:var(--text-2)}
.reg-card__cap .unit{font-size:1.25rem}
.reg-card__note a{text-decoration:underline;text-underline-offset:3px}
.reg-card__actions{display:grid;gap:8px}
.leader b{overflow-wrap:anywhere}
.join-bar__text{display:grid;gap:2px;min-width:0;font:var(--t-sm);color:var(--text-2)}
.join-bar__text b{font:600 .9375rem/1.3 var(--font-body);color:var(--text)}

/* ------------------------------------------------------------------ Rota (GPX/KML → std-rota.js)
   Sayfadaki tek irtifa profili budur ve yalnız yüklenmiş kayıttan çizilir (220 px).
   Harita Leaflet + OpenStreetMap; katkı metni sunucudan gelir ve Leaflet'in kendi
   katkı kutusunda her zaman görünür (OSM koşulu). */
.rota-profil{position:relative;height:220px;touch-action:pan-y}
.rota-profil svg{display:block;width:100%;height:100%}
.rota-profil:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:var(--r-sm)}
@media (hover:hover){.rota-profil{cursor:crosshair}}
/* SVG içinde [hidden] tarayıcıya göre değişir; imleç açıkça gizlenir */
.rota-profil [data-imlec][hidden]{display:none}
.rota-profil__tip{position:absolute;z-index:2;display:block;padding:6px 10px;transform:translateX(-50%);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg-surface);box-shadow:var(--e2);font:600 .875rem/1.2 var(--font-body);color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none}
.rota-profil__tip[hidden]{display:none}
.rota-profil__yardim{margin-top:6px;font:var(--t-sm);color:var(--text-2)}

.rota-harita{position:relative}
.rota-harita__tuval{position:relative;z-index:0;isolation:isolate;height:340px;border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;background:var(--bg-muted)}
@media (max-width:767.98px){.rota-harita__tuval{height:280px}}
/* JS kapalıysa / Leaflet gelmezse kutuda bu metin kalır, sayfa bozulmaz */
.rota-harita__yedek{display:grid;align-content:center;justify-items:center;gap:6px;height:100%;padding:24px;text-align:center;font:var(--t-sm);color:var(--text-2)}
.rota-harita__yedek .bi{font-size:1.5rem;color:var(--text-3)}
.rota-harita[data-rota-durum="hazir"] .rota-harita__yedek{display:none}
.rota-harita--tam{position:fixed;inset:0;z-index:var(--z-modal);padding:12px;background:var(--bg-surface)}
.rota-harita--tam .rota-harita__tuval{height:100%;border-radius:var(--r-sm)}
body.rota-tam-acik{overflow:hidden}
/* Leaflet karoları ve denetimleri sayfa tipografisine uysun */
.rota-harita .leaflet-container{font-family:var(--font-body);background:var(--bg-muted)}
.rota-harita .leaflet-control-attribution{font-size:.75rem}

.rota-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;margin-top:12px;font:var(--t-sm);color:var(--text-2)}
.rota-meta .bi{margin-right:4px;color:var(--text-3)}
.rota-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.rota-embed{border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;background:var(--bg-muted)}
.rota-embed iframe{display:block;width:100%;height:420px;border:0}
@media (max-width:767.98px){.rota-embed iframe{height:320px}}

/* ------------------------------------------------------------------ Galeri ızgarası + görüntüleyici */
.gal-grid{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:768px){.gal-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}}
@media (min-width:1024px){.gal-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.gal-item{position:relative;display:block;aspect-ratio:1;overflow:hidden;border-radius:var(--r-md);background:var(--g100)}
/* görsel yüklenemezse (onerror → saydam piksel) altındaki simge görünür */
.gal-item__ph{position:absolute;inset:0;display:grid;place-items:center;font-size:1.75rem;color:var(--text-3)}
.gal-item img{position:relative;width:100%;height:100%;object-fit:cover;transition:transform var(--d-base) var(--ease-standard)}
.gal-item:hover img{transform:scale(1.03)}
.gal-item__more{position:absolute;inset:0;display:grid;place-items:center;background:var(--scrim);font:600 1rem/1.3 var(--font-body);color:var(--on-chrome)}
@media (prefers-reduced-motion:reduce){.gal-item img{transition:none}.gal-item:hover img{transform:none}}

.lb{position:fixed;inset:0;width:100%;height:100%;margin:0;background:var(--n1000);color:var(--on-chrome);overflow:hidden}
.lb::backdrop{background:var(--n1000)}
.lb[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}
.lb__bar{display:flex;align-items:center;gap:8px;padding:10px 12px}
.lb__count{margin-right:auto;padding-left:6px;font:var(--t-meta);color:var(--on-chrome-2);font-variant-numeric:tabular-nums}
.lb__stage{position:relative;display:grid;place-items:center;min-height:0;margin:0;padding:0 12px;touch-action:pan-y}
.lb__stage img{max-width:100%;max-height:100%;object-fit:contain;border-radius:var(--r-sm);user-select:none}
.lb__caption{padding:12px 16px 16px;font:var(--t-sm);color:var(--on-chrome-2);text-align:center}
.lb__nav{position:absolute;top:50%;z-index:1;transform:translateY(-50%)}
.lb__nav--prev{left:12px}
.lb__nav--next{right:12px}
@media (max-width:767.98px){.lb__nav{top:auto;bottom:12px;transform:none}}

/* ------------------------------------------------------------------ Duyurular */
/* liste öğeleri <li> içinde: bileşenin :last-child kuralı her bağlantının çizgisini siliyordu */
.notice-list>li:not(:last-child)>.notice-list__item{border-bottom:1px solid var(--border)}
.nt-feature{margin-bottom:24px}
.nt-list{padding:4px 20px}
.notice-list__item.nt-item--media{grid-template-columns:56px minmax(0,1fr) 120px 20px}
.nt-thumb{width:120px;aspect-ratio:16/10;border-radius:var(--r-sm);object-fit:cover;background:var(--g100)}
.notice-list__title{overflow-wrap:anywhere}
@media (max-width:767.98px){
  .nt-list{padding:0 16px}
  .notice-list__item.nt-item--media{grid-template-columns:56px minmax(0,1fr) 20px}
  .nt-thumb{display:none}
}
.nt-head .section-head{display:block}
.nt-head__meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:14px;font:var(--t-meta);color:var(--text-2)}
.nt-lead{margin-top:16px;font:var(--t-lead);color:var(--text-2)}
.nt-figure{margin:0 0 32px}
.nt-figure__btn{display:block;width:100%;padding:0;border:0;border-radius:var(--r-lg);overflow:hidden;background:var(--g100);cursor:zoom-in}
.nt-figure__btn img{width:100%;max-height:560px;object-fit:cover}
.nt-pager{display:grid;gap:12px;margin-top:48px}
@media (min-width:768px){.nt-pager{grid-template-columns:repeat(2,minmax(0,1fr))}}
.nt-pager__link{display:grid;gap:4px;align-content:start;min-height:44px;padding:16px 18px;border:1px solid var(--border);border-radius:var(--r-lg);color:inherit;transition:border-color var(--d-fast),box-shadow var(--d-fast)}
.nt-pager__link:hover{border-color:var(--border-strong);box-shadow:var(--e1)}
.nt-pager__link:hover .nt-pager__title{text-decoration:underline;text-underline-offset:3px}
@media (min-width:768px){
  .nt-pager__link--next{text-align:right;justify-items:end}
  .nt-pager__link--next:only-child{grid-column:2}
}
.nt-pager__dir{display:inline-flex;align-items:center;gap:6px;font:var(--t-sm);color:var(--text-2)}
.nt-pager__title{font:600 1rem/1.35 var(--font-body);overflow-wrap:anywhere}
.nt-pager__date{font:var(--t-sm);color:var(--text-2)}
.nt-pager+.nt-foot{margin-top:24px}
.nt-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:48px;padding-top:20px;border-top:1px solid var(--border)}
