/* ============================================================
   GYMFIT — STYLESHEET  v2
   Dark / Light mode · Animations · City filter · Map
   ============================================================ */

/* ── Fonts ──────────────────────────────────────────────── */
@font-face { font-family:'HurmeGeo'; src:url('../../font/HurmeGeometricSans1-Light.otf') format('opentype'); font-weight:300; font-display:swap; }
@font-face { font-family:'HurmeGeo'; src:url('../../font/HurmeGeometricSans1.otf') format('opentype'); font-weight:400; font-display:swap; }
@font-face { font-family:'HurmeGeo'; src:url('../../font/HurmeGeometricSans1-SemiBold.otf') format('opentype'); font-weight:600; font-display:swap; }
@font-face { font-family:'HurmeGeo'; src:url('../../font/HurmeGeometricSans1-Bold.otf') format('opentype'); font-weight:700; font-display:swap; }
@font-face { font-family:'HurmeGeo'; src:url('../../font/HurmeGeometricSans1-Black.otf') format('opentype'); font-weight:900; font-display:swap; }

/* ── Design Tokens ───────────────────────────────────────── */
:root {
  --red:          #ed1c24;
  --red-dark:     #c70d15;
  --red-glow:     rgba(232,0,29,.18);

  /* Dark theme (default) */
  --bg:           #090909;
  --bg2:          #111111;
  --bg3:          #1a1a1a;
  --bg4:          #242424;
  --surface:      #1a1a1a;
  --border:       rgba(255,255,255,.07);
  --border-hover: rgba(232,0,29,.4);
  --text:         #f0f0f0;
  --text-muted:   #888;
  --text-faint:   #444;
  --logo-filter:  none; /* white logo on dark */

  --shadow-sm:    0 2px 12px rgba(0,0,0,.4);
  --shadow-md:    0 8px 32px rgba(0,0,0,.55);
  --shadow-lg:    0 24px 64px rgba(0,0,0,.7);

  --nav-h:        72px;
  --header-h:     var(--nav-h);
  --font:         'HurmeGeo', sans-serif;
  --ease-out:     cubic-bezier(.22,1,.36,1);
  --ease-spring:  cubic-bezier(.34,1.56,.64,1);
}

/* ── Light mode overrides ────────────────────────────────── */
[data-theme="light"] {
  --bg:           #f5f5f5;
  --bg2:          #ffffff;
  --bg3:          #ebebeb;
  --bg4:          #e0e0e0;
  --surface:      #ffffff;
  --border:       rgba(0,0,0,.09);
  --border-hover: rgba(232,0,29,.4);
  --text:         #111111;
  --text-muted:   #666;
  --text-faint:   #bbb;
  --logo-filter:  brightness(0); /* black logo in light contexts (footer etc.) */
  --shadow-sm:    0 2px 12px rgba(0,0,0,.08);
  --shadow-md:    0 8px 32px rgba(0,0,0,.12);
  --shadow-lg:    0 24px 64px rgba(0,0,0,.18);
}

/* ── Reset ──────────────────────────────────────────────── */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; overflow-x:hidden; }
body {
  font-family:var(--font);
  background:var(--bg);
  color:var(--text);
  overflow-x:hidden;
  transition: background .4s, color .4s;
}
img { display:block; max-width:100%; }
a  { text-decoration:none; color:inherit; }
button { font-family:var(--font); }
::-webkit-scrollbar { width:4px; }
::-webkit-scrollbar-track { background:var(--bg2); }
::-webkit-scrollbar-thumb { background:var(--red); border-radius:2px; }

/* ============================================================
   NAVBAR
   ============================================================ */
.navbar {
  position:fixed; top:0; left:0; width:100%; z-index:900;
  height:var(--nav-h);
  display:flex; align-items:center; justify-content:space-between;
  padding:0 60px;
  transition: background .4s, backdrop-filter .4s, box-shadow .4s;
}
.navbar.scrolled {
  background:rgba(0,0,0,.92);
  backdrop-filter:blur(20px) saturate(180%);
  border-bottom:1px solid rgba(255,255,255,.08);
  box-shadow:0 8px 24px rgba(0,0,0,.45);
}
[data-theme="light"] .navbar.scrolled {
  background:rgba(245,245,245,.9);
}
/* Logo: always white on hero (dark bg). Only darken when scrolled in light mode */
.nav-logo img {
  height:32px; width:auto;
  filter: none;           /* white logo — visible on dark hero overlay */
  transition:filter .4s;
}
[data-theme="light"] .navbar.scrolled .nav-logo img,
[data-theme="light"] .navbar.navbar-solid .nav-logo img {
  filter: brightness(0);  /* black logo on light bar */
}
.nav-links { display:flex; align-items:center; gap:36px; list-style:none; }
.nav-links a {
  font-size:14px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase;
  color:var(--text-muted);
  position:relative; transition:color .25s;
}
.nav-links a::after {
  content:''; position:absolute; bottom:-4px; left:0;
  width:0; height:2px; background:var(--red); transition:width .3s var(--ease-out);
}
.nav-links a:hover { color:var(--text); }
.nav-links a:hover::after { width:100%; }
/* Transparent navbar over dark hero — keep links white */
.navbar:not(.scrolled) .nav-links a { color:rgba(255,255,255,.78); }
.navbar:not(.scrolled) .nav-links a:hover { color:#fff; }

.nav-right { display:flex; align-items:center; gap:12px; }

/* Theme toggle */
.theme-toggle {
  width:36px; height:36px;
  display:flex; align-items:center; justify-content:center;
  background:none; border:none;
  cursor:pointer; transition:color .25s, background .25s;
  color:rgba(255,255,255,.65); border-radius:6px;
}
.theme-toggle:hover { color:#fff; background:rgba(255,255,255,.1); }
[data-theme="light"] .navbar.scrolled .theme-toggle { color:var(--text-muted); }
[data-theme="light"] .navbar.scrolled .theme-toggle:hover { color:var(--text); background:var(--bg3); }
.theme-toggle .icon-sun { display:none; }
.theme-toggle .icon-moon { display:block; }
[data-theme="light"] .theme-toggle .icon-sun { display:block; }
[data-theme="light"] .theme-toggle .icon-moon { display:none; }

/* CTA button */
.nav-cta {
  display:inline-flex; align-items:center;
  background:var(--red); color:#fff !important;
  font-size:13px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase;
  padding:10px 26px; border:2px solid var(--red);
  clip-path:polygon(8px 0%,100% 0%,calc(100% - 8px) 100%,0% 100%);
  transition:.3s;
}
.nav-cta::after { display:none !important; }
.nav-cta:hover { background:transparent !important; color:var(--red) !important; }

/* Nav social icons */
.nav-social {
  display:flex; align-items:center; gap:2px;
  padding:0 12px; border-left:1px solid rgba(255,255,255,.12); border-right:1px solid rgba(255,255,255,.12);
}
[data-theme="light"] .nav-social { border-color:var(--border); }
[data-theme="light"] .navbar:not(.scrolled) .nav-social { border-color:rgba(255,255,255,.2); }

.nav-social-link {
  width:30px; height:30px; display:flex; align-items:center; justify-content:center;
  color:rgba(255,255,255,.55); border-radius:4px; transition:color .25s, background .25s;
}
.nav-social-link:hover { color:#fff; background:rgba(255,255,255,.1); }
[data-theme="light"] .navbar.scrolled .nav-social-link { color:var(--text-muted); }
[data-theme="light"] .navbar.scrolled .nav-social-link:hover { color:var(--text); background:var(--bg3); }

/* Nav icon buttons (search, theme) */
.nav-icon-btn {
  width:36px; height:36px; display:flex; align-items:center; justify-content:center;
  background:none; border:none; cursor:pointer;
  color:rgba(255,255,255,.65); border-radius:6px; transition:color .25s, background .25s;
}
.nav-icon-btn:hover { color:#fff; background:rgba(255,255,255,.1); }
[data-theme="light"] .navbar.scrolled .nav-icon-btn { color:var(--text-muted); }
[data-theme="light"] .navbar.scrolled .nav-icon-btn:hover { color:var(--text); background:var(--bg3); }

/* Hamburger */
.nav-hamburger {
  display:none; flex-direction:column; gap:5px;
  cursor:pointer; padding:4px; background:none; border:none;
}
.nav-hamburger span { width:26px; height:2px; background:#fff; transition:.3s; display:block; }
[data-theme="light"] .navbar.scrolled .nav-hamburger span { background:var(--text); }

/* ============================================================
   HERO
   ============================================================ */
.hero {
  position:relative; height:100vh; min-height:680px;
  display:flex; align-items:center; overflow:hidden;
}
.hero-slides { position:absolute; inset:0; }
.hero-slide {
  position:absolute; inset:0;
  opacity:0; transform:scale(1.06);
  transition:opacity 1.4s var(--ease-out), transform 7s linear;
}
.hero-slide.active { opacity:1; transform:scale(1); }
.hero-slide img { width:100%; height:100%; object-fit:cover; }
.hero-overlay {
  position:absolute; inset:0;
  background:linear-gradient(125deg,rgba(9,9,9,.9) 0%,rgba(9,9,9,.5) 55%,rgba(232,0,29,.1) 100%);
}
[data-theme="light"] .hero-overlay {
  background:linear-gradient(125deg,rgba(0,0,0,.7) 0%,rgba(0,0,0,.35) 55%,rgba(232,0,29,.08) 100%);
}

.hero-content {
  position:relative; z-index:2; padding:0 60px; max-width:900px;
  will-change:transform;
}
.hero-eyebrow {
  display:inline-flex; align-items:center; gap:12px;
  font-size:12px; font-weight:700; letter-spacing:3.5px; text-transform:uppercase;
  color:var(--red); margin-bottom:22px;
  opacity:0; transform:translateY(20px);
  animation:fadeUp .7s .3s var(--ease-out) forwards;
}
.hero-eyebrow::before { content:''; display:inline-block; width:28px; height:2px; background:var(--red); }

.hero-title {
  font-size:clamp(34px,4.6vw,74px); font-weight:900;
  line-height:1.04; text-transform:uppercase; letter-spacing:-1.5px;
  color:#fff; margin-bottom:22px;
  opacity:0; transform:translateY(30px);
  animation:fadeUp .8s .5s var(--ease-out) forwards;
}
.hero-title span { color:var(--red); display:block; }

.hero-desc {
  font-size:17px; font-weight:300; line-height:1.7; color:rgba(255,255,255,.8);
  max-width:500px; margin-bottom:40px;
  opacity:0; transform:translateY(30px);
  animation:fadeUp .8s .7s var(--ease-out) forwards;
}
.hero-actions {
  display:flex; align-items:center; gap:16px; flex-wrap:wrap;
  opacity:0; transform:translateY(30px);
  animation:fadeUp .8s .9s var(--ease-out) forwards;
}

/* Slide controls */
.hero-dots { position:absolute; bottom:36px; left:60px; z-index:2; display:flex; gap:8px; }
.hero-dot {
  width:28px; height:3px; background:rgba(255,255,255,.3);
  cursor:pointer; border:none; transition:.4s; padding:0;
}
.hero-dot.active { width:52px; background:var(--red); }

.hero-scroll {
  position:absolute; right:56px; bottom:36px; z-index:2;
  writing-mode:vertical-rl;
  display:flex; align-items:center; gap:12px;
  font-size:10px; font-weight:700; letter-spacing:3px; text-transform:uppercase;
  color:rgba(255,255,255,.4);
}
.hero-scroll::after {
  content:''; display:block; width:2px; height:56px;
  background:linear-gradient(to bottom,var(--red),transparent);
  animation:scrollPulse 2.2s ease-in-out infinite;
}
@keyframes scrollPulse {
  0%   { transform:scaleY(0); transform-origin:top; }
  50%  { transform:scaleY(1); transform-origin:top; }
  51%  { transform:scaleY(1); transform-origin:bottom; }
  100% { transform:scaleY(0); transform-origin:bottom; }
}

/* ── Buttons ─────────────────────────────────────────────── */
.btn-primary {
  display:inline-flex; align-items:center; gap:9px;
  background:var(--red); color:#fff; border:2px solid var(--red);
  font-family:var(--font); font-size:12px; font-weight:700;
  letter-spacing:2px; text-transform:uppercase;
  padding:14px 34px; cursor:pointer; transition:.3s;
  clip-path:polygon(12px 0%,100% 0%,calc(100% - 12px) 100%,0% 100%);
}
.btn-primary:hover { background:transparent; color:var(--red); }

.btn-secondary {
  display:inline-flex; align-items:center; gap:9px;
  background:transparent; color:var(--text); border:2px solid var(--border);
  font-family:var(--font); font-size:12px; font-weight:700;
  letter-spacing:2px; text-transform:uppercase;
  padding:14px 34px; cursor:pointer; transition:.3s;
  clip-path:polygon(12px 0%,100% 0%,calc(100% - 12px) 100%,0% 100%);
}
.btn-secondary:hover { border-color:var(--text); background:var(--bg3); }

/* ── Keyframes ──────────────────────────────────────────── */
@keyframes fadeUp {
  to { opacity:1; transform:translateY(0); }
}
@keyframes fadeIn {
  from { opacity:0; } to { opacity:1; }
}
@keyframes slideLeft {
  from { opacity:0; transform:translateX(50px); }
  to   { opacity:1; transform:translateX(0); }
}
@keyframes marqueeScroll {
  from { transform:translateX(0); }
  to   { transform:translateX(-50%); }
}

/* ============================================================
   STATS BAR
   ============================================================ */
.stats-bar { background:var(--red); overflow:hidden; }
.stats-bar-inner { display:grid; grid-template-columns:repeat(4,1fr); }
.stat-item {
  padding:30px 36px; text-align:center;
  border-right:1px solid rgba(255,255,255,.2);
  position:relative; overflow:hidden; cursor:default;
  transition:background .3s;
}
.stat-item:last-child { border-right:none; }
.stat-item::after {
  content:''; position:absolute; inset:0;
  background:rgba(255,255,255,0); transition:.3s;
}
.stat-item:hover::after { background:rgba(255,255,255,.07); }
.stat-num { font-size:44px; font-weight:900; line-height:1; letter-spacing:-1px; }
.stat-label { font-size:10px; font-weight:700; letter-spacing:2.5px; text-transform:uppercase; margin-top:4px; opacity:.85; }

/* ============================================================
   MARQUEE
   ============================================================ */
.marquee-wrap {
  overflow:hidden; padding:20px 0;
  background:var(--bg2);
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
}
.marquee-wrap.light-band {
  background:var(--red);
  border:none;
}
.marquee-track {
  display:flex; width:max-content; gap:0;
  animation:marqueeScroll 35s linear infinite;
}
.marquee-track:hover { animation-play-state:paused; }
.marquee-track.rev { animation-direction:reverse; }

.marquee-word {
  font-size:clamp(30px,4.5vw,54px); font-weight:900;
  text-transform:uppercase; letter-spacing:-0.5px;
  padding:0 20px; white-space:nowrap;
  color:transparent;
  -webkit-text-stroke:1.5px var(--text-faint);
  transition:color .3s, -webkit-text-stroke .3s;
  cursor:default;
}
.marquee-word.solid {
  color:var(--text);
  -webkit-text-stroke:0;
}
.marquee-word:hover { color:var(--red); -webkit-text-stroke:0; }
.marquee-dot { color:var(--red); padding:0 6px; font-size:20px; }

.light-band .marquee-word { -webkit-text-stroke:1.5px rgba(255,255,255,.3); }
.light-band .marquee-word.solid { color:#fff; -webkit-text-stroke:0; }
.light-band .marquee-dot { color:rgba(255,255,255,.6); }

/* ============================================================
   SECTION COMMONS
   ============================================================ */
section { overflow:hidden; }

.section-eyebrow {
  display:inline-flex; align-items:center; gap:10px;
  font-size:11px; font-weight:700; letter-spacing:3.5px; text-transform:uppercase;
  color:var(--red); margin-bottom:14px;
}
.section-eyebrow::before { content:''; display:inline-block; width:22px; height:2px; background:var(--red); }

.section-title {
  font-size:clamp(25px,3.6vw,49px); font-weight:900;
  text-transform:uppercase; line-height:1.08; letter-spacing:-.5px;
  margin-bottom:18px; color:var(--text);
}
.section-desc {
  font-size:18px; font-weight:300; line-height:1.72;
  color:var(--text-muted); max-width:560px;
}

/* ============================================================
   ABOUT
   ============================================================ */
.about-section {
  padding:100px 60px;
  display:grid; grid-template-columns:1fr 1fr; gap:80px;
  align-items:center; background:var(--bg2);
}
.about-features {
  margin-top:36px; display:grid;
  grid-template-columns:1fr 1fr; gap:16px;
}
.feature-card {
  background:var(--bg3); border:1px solid var(--border);
  padding:22px; position:relative; overflow:hidden;
  transition:border-color .3s, transform .3s, box-shadow .3s;
}
.feature-card::before {
  content:''; position:absolute; top:0; left:0;
  width:3px; height:0; background:var(--red); transition:height .4s var(--ease-out);
}
.feature-card:hover { border-color:var(--border-hover); transform:translateY(-4px); box-shadow:var(--shadow-md); }
.feature-card:hover::before { height:100%; }
.feature-icon {
  width:44px; height:44px; margin-bottom:14px;
  display:flex; align-items:center; justify-content:center;
  background:var(--red-glow); border:1px solid rgba(232,0,29,.25);
  color:var(--red);
  transition:background .3s, border-color .3s;
}
.feature-card:hover .feature-icon {
  background:rgba(232,0,29,.2);
  border-color:rgba(232,0,29,.5);
}
.feature-title { font-size:12px; font-weight:700; letter-spacing:.5px; text-transform:uppercase; margin-bottom:7px; color:var(--text); }
.feature-text  { font-size:13px; font-weight:300; line-height:1.6; color:var(--text-muted); }

.about-right { position:relative; }
.about-img-main { width:100%; height:560px; object-fit:cover; }
.about-img-accent {
  position:absolute; bottom:-28px; left:-28px;
  width:200px; height:240px; object-fit:cover;
  border:4px solid var(--bg2);
}
.about-badge {
  position:absolute; top:28px; right:-18px;
  background:var(--red); padding:18px 22px; text-align:center;
  clip-path:polygon(0 0,100% 0,100% 82%,50% 100%,0 82%);
}
.about-badge-num  { font-size:34px; font-weight:900; line-height:1; color:#fff; }
.about-badge-text { font-size:9px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:rgba(255,255,255,.85); margin-top:3px; }

/* ============================================================
   TRAINER
   ============================================================ */
.trainer-section {
  padding:100px 60px;
  display:grid; grid-template-columns:1fr 1fr; gap:80px;
  align-items:center; background:var(--bg);
}
.trainer-img { width:100%; height:600px; object-fit:cover; object-position:top; }
.trainer-tag {
  position:absolute; bottom:36px; right:-20px;
  background:var(--surface); border-left:4px solid var(--red);
  padding:18px 24px; min-width:190px;
  box-shadow:var(--shadow-md);
}
.trainer-left { position:relative; }
.trainer-tag-label { font-size:9px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--red); margin-bottom:3px; }
.trainer-tag-value { font-size:26px; font-weight:900; line-height:1.1; color:var(--text); }
.trainer-list { margin-top:36px; list-style:none; display:flex; flex-direction:column; gap:16px; }
.trainer-list li {
  display:flex; align-items:flex-start; gap:14px;
  font-size:16px; font-weight:300; line-height:1.65; color:var(--text-muted);
  padding-bottom:16px; border-bottom:1px solid var(--border);
}
.trainer-list li:last-child { border-bottom:none; padding-bottom:0; }
.trainer-list li::before {
  content:''; display:block; min-width:24px; height:24px;
  background:var(--red-glow); border:1px solid var(--red); border-radius:50%; margin-top:3px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e8001d' stroke-width='2.5'%3E%3Cpath d='M5 13l4 4L19 7'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:center; background-size:12px;
}

/* ============================================================
   GROUP CLASSES
   ============================================================ */
.classes-section { padding:100px 60px; background:var(--bg2); overflow:visible; }
.classes-header {
  display:flex; align-items:flex-end; justify-content:space-between;
  margin-bottom:48px;
}
.classes-header .section-desc { text-align:right; max-width:360px; }

.classes-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:14px; }
.class-card { position:relative; overflow:hidden; aspect-ratio:2/3; cursor:pointer; }
.class-card img { width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease-out); }
.class-card:hover img { transform:scale(1.08); }
.class-card-overlay {
  position:absolute; inset:0;
  background:linear-gradient(to top,rgba(9,9,9,.95) 0%,rgba(9,9,9,.2) 55%,transparent 100%);
  display:flex; flex-direction:column; justify-content:flex-end;
  padding:22px 18px; transition:.3s;
}
.class-card:hover .class-card-overlay {
  background:linear-gradient(to top,rgba(232,0,29,.88) 0%,rgba(9,9,9,.35) 60%,transparent 100%);
}
.class-tag {
  font-size:9px; font-weight:700; letter-spacing:2px; text-transform:uppercase;
  color:var(--red); background:var(--red-glow);
  padding:3px 9px; display:inline-block; margin-bottom:8px; align-self:flex-start;
  transition:.3s;
}
.class-card:hover .class-tag { background:rgba(255,255,255,.15); color:#fff; }
.class-name {
  font-size:19px; font-weight:900; text-transform:uppercase;
  letter-spacing:.3px; line-height:1.2; color:#fff; margin-bottom:5px;
}
.class-info {
  font-size:13px; color:rgba(255,255,255,.65);
  transform:translateY(8px); opacity:0; transition:.35s var(--ease-out);
}
.class-card:hover .class-info { transform:translateY(0); opacity:1; }

/* ============================================================
   GALLERY
   ============================================================ */
.gallery-section {
  padding:100px 60px;
  background:var(--bg);
  overflow:visible; /* override global section { overflow:hidden } */
}
.gallery-header { text-align:center; margin-bottom:48px; }
.gallery-header .section-desc { margin:0 auto; text-align:center; }
.gallery-header .section-eyebrow { justify-content:center; }
.gallery-header .section-eyebrow::before { display:none; }

/*  Layout: 4 columns, 2 rows of small + 1 featured spanning 2×2
    Col:  [1]       [2]       [3]       [4]
    Row1: featured  featured  img2      img3
    Row2: featured  featured  img4      img5
    Row3: img6      img7      img8      –-   */
.gallery-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  grid-template-rows:230px 230px 230px;
  gap:10px;
}
.gallery-item {
  overflow:hidden; position:relative; cursor:pointer;
  /* explicit row/col assignment via :nth-child */
}
/* Featured — manually placed */
.gallery-item.g-featured {
  grid-column:1/3;
  grid-row:1/3;
}
/* Items 2–5 fill col 3-4, rows 1-2 automatically */
/* Item 6, 7, 8 fill row 3 cols 1-3 automatically */

.gallery-item img {
  width:100%; height:100%; object-fit:cover;
  transition:transform .55s var(--ease-out);
}
.gallery-item:hover img { transform:scale(1.07); }

.g-overlay {
  position:absolute; inset:0;
  background:rgba(232,0,29,0); transition:.3s;
  display:flex; align-items:center; justify-content:center;
}
.gallery-item:hover .g-overlay { background:rgba(232,0,29,.22); }
.g-overlay svg { opacity:0; transform:scale(.5); transition:.3s; color:#fff; }
.gallery-item:hover .g-overlay svg { opacity:1; transform:scale(1); }

/* ============================================================
   APP SECTION
   ============================================================ */
.app-section {
  padding:100px 60px;
  background:var(--bg2);
  overflow:hidden;
}
.app-inner {
  display:grid; grid-template-columns:1fr 1fr; gap:80px;
  align-items:center; max-width:1280px; margin:0 auto;
}
.app-tag {
  display:inline-flex; align-items:center; gap:8px;
  font-size:10px; font-weight:700; letter-spacing:3.5px; text-transform:uppercase;
  color:var(--red); margin-bottom:20px;
}
.app-tag::before { content:'//'; opacity:.55; }
.app-title { font-size:clamp(32px,4.1vw,60px); font-weight:900; text-transform:uppercase; line-height:1.08; letter-spacing:-.5px; margin-bottom:12px; color:var(--text); }
.app-subtitle { font-size:17px; font-weight:300; line-height:1.72; color:var(--text-muted); margin-bottom:32px; }

/* Content boxes */
.app-boxes { display:flex; flex-direction:column; border:1px solid var(--border); margin-bottom:36px; }
.app-box {
  display:flex; align-items:flex-start; gap:18px;
  padding:20px 24px; cursor:pointer;
  border-bottom:1px solid var(--border);
  transition:background .25s; position:relative; overflow:hidden;
}
.app-box:last-child { border-bottom:none; }
.app-box::before {
  content:''; position:absolute; left:0; top:0;
  width:3px; height:100%; background:var(--red);
  transform:scaleY(0); transition:transform .3s var(--ease-out);
}
.app-box:hover { background:var(--bg3); }
.app-box.active { background:var(--bg3); }
.app-box.active::before { transform:scaleY(1); }

.app-box-num {
  font-size:11px; font-weight:700; letter-spacing:2px;
  color:var(--text-faint); padding-top:3px; flex-shrink:0; min-width:26px;
  transition:color .3s;
}
.app-box.active .app-box-num { color:var(--red); }

.app-box-text h4 {
  font-size:16px; font-weight:700; text-transform:uppercase;
  letter-spacing:.5px; color:var(--text); margin-bottom:0;
  transition:margin .35s var(--ease-out);
}
.app-box.active .app-box-text h4 { margin-bottom:6px; }

.app-box-text p {
  font-size:15px; font-weight:300; line-height:1.65;
  color:var(--text-muted);
  max-height:0; overflow:hidden;
  transition:max-height .4s var(--ease-out), opacity .3s;
  opacity:0;
}
.app-box.active .app-box-text p { max-height:80px; opacity:1; }

/* Store buttons */
.app-stores { display:flex; gap:16px; flex-wrap:wrap; align-items:center; }
.app-store-btn {
  display:flex; align-items:center;
  background:none; border:none; padding:0; cursor:pointer;
  transition:transform .3s var(--ease-spring), opacity .3s;
}
.app-store-btn:hover { transform:translateY(-3px); opacity:.85; }
.app-store-btn img { height:44px; width:auto; display:block; }

/* Phone mockup */
.app-right { display:flex; justify-content:center; align-items:center; position:relative; }
.app-right::before {
  content:''; position:absolute; bottom:-20px; left:50%; transform:translateX(-50%);
  width:300px; height:300px;
  background:radial-gradient(ellipse,var(--red-glow),transparent 70%);
  filter:blur(50px); z-index:0; pointer-events:none;
}

.app-mockup {
  position:relative; z-index:1;
  width:260px;
  /* frame aspect ratio 422 × 863 */
  aspect-ratio:422/863;
}
.mockup-screen {
  position:absolute; inset:0; z-index:1;
  overflow:hidden; border-radius:36px;
}
.mockup-screen img {
  width:100%; height:100%; object-fit:cover;
  transition:opacity .45s var(--ease-out);
}
.mockup-screen img.fade-out { opacity:0; }
.mockup-frame {
  position:absolute; inset:0; z-index:2;
  width:100%; height:100%; object-fit:fill;
  pointer-events:none;
}

/* ============================================================
   CLUBS — FILTER + MAP
   ============================================================ */
.clubs-section { padding:100px 60px; background:var(--bg); }
.clubs-header { text-align:center; margin-bottom:48px; }
.clubs-header .section-desc { margin:0 auto; text-align:center; }
.clubs-header .section-eyebrow { justify-content:center; }
.clubs-header .section-eyebrow::before { display:none; }

/* View switcher */
.clubs-controls {
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom:32px; gap:16px; flex-wrap:wrap;
}

.city-tabs {
  display:flex; align-items:center; gap:0;
  background:var(--bg3); border:1px solid var(--border);
  overflow:hidden; border-radius:2px;
}
.city-tab {
  padding:10px 20px; font-size:11px; font-weight:700;
  letter-spacing:1.5px; text-transform:uppercase; cursor:pointer;
  background:none; border:none; color:var(--text-muted);
  position:relative; transition:color .25s, background .25s;
  white-space:nowrap;
}
.city-tab::after {
  content:''; position:absolute; bottom:0; left:0; right:0;
  height:2px; background:var(--red); transform:scaleX(0); transition:transform .25s;
}
.city-tab.active { color:var(--text); background:var(--bg4); }
.city-tab.active::after { transform:scaleX(1); }
.city-tab:hover:not(.active) { color:var(--text); }

/* Count badge on tabs */
.city-tab-count {
  display:inline-flex; align-items:center; justify-content:center;
  min-width:18px; height:18px; background:var(--red);
  color:#fff; font-size:9px; font-weight:700;
  border-radius:9px; padding:0 5px; margin-left:6px;
}

.view-toggle {
  display:flex; gap:0; background:var(--bg3);
  border:1px solid var(--border); border-radius:2px; overflow:hidden;
}
.view-btn {
  padding:10px 14px; cursor:pointer; background:none;
  border:none; color:var(--text-muted); transition:color .25s, background .25s;
  display:flex; align-items:center; justify-content:center;
}
.view-btn.active { background:var(--red); color:#fff; }
.view-btn:hover:not(.active) { background:var(--bg4); color:var(--text); }

/* Club cards */
.clubs-grid {
  display:grid; grid-template-columns:repeat(4,1fr); gap:16px;
  transition:opacity .3s;
}
.clubs-grid.loading { opacity:.4; pointer-events:none; }

.club-card {
  position:relative; overflow:hidden; height:300px; cursor:pointer;
  display:block; color:inherit; text-decoration:none;
  transition:transform .4s var(--ease-out), box-shadow .4s;
}
.club-card:hover { transform:translateY(-6px); box-shadow:var(--shadow-lg); }
.club-card img { width:100%; height:100%; object-fit:cover; transition:transform .5s var(--ease-out); }
.club-card:hover img { transform:scale(1.06); }
.club-card-body {
  position:absolute; inset:0;
  background:linear-gradient(to top,rgba(9,9,9,.92) 0%,transparent 60%);
  padding:20px; display:flex; flex-direction:column; justify-content:flex-end;
}
.club-city  { font-size:9px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--red); margin-bottom:5px; }
.club-name  { font-size:16px; font-weight:900; text-transform:uppercase; letter-spacing:.3px; color:#fff; margin-bottom:8px; line-height:1.2; }
.club-phone {
  font-size:11px; color:rgba(255,255,255,.5);
  transform:translateY(6px); opacity:0; transition:.35s var(--ease-out);
}
.club-card:hover .club-phone { transform:translateY(0); opacity:1; }

.club-coming {
  position:absolute; top:12px; right:12px;
  background:var(--red); color:#fff;
  font-size:8px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase;
  padding:4px 10px;
}

/* MAP VIEW */
.clubs-map-wrap {
  display:none; position:relative; height:520px;
  border:1px solid var(--border); overflow:hidden;
}
.clubs-map-wrap.visible { display:block; }
#clubsMap { width:100%; height:100%; }

/* Leaflet custom popup */
.leaflet-popup-content-wrapper {
  background:var(--bg3) !important;
  border:1px solid var(--border) !important;
  border-radius:2px !important; color:var(--text) !important;
  box-shadow:var(--shadow-md) !important;
}
.leaflet-popup-tip { background:var(--bg3) !important; }
.leaflet-popup-content { margin:14px 18px !important; }
.map-popup-city   { font-size:9px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--red); margin-bottom:3px; }
.map-popup-name   { font-size:14px; font-weight:900; text-transform:uppercase; color:var(--text); margin-bottom:5px; }
.map-popup-phone  { font-size:12px; color:var(--text-muted); }

/* ============================================================
   CTA
   ============================================================ */
.cta-section { position:relative; padding:120px 60px; overflow:hidden; }
.cta-bg { position:absolute; inset:0; z-index:0; }
.cta-bg img { width:100%; height:100%; object-fit:cover; }
.cta-bg::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(135deg,rgba(9,9,9,.92) 0%,rgba(232,0,29,.45) 100%);
}
.cta-content {
  position:relative; z-index:1; text-align:center;
  max-width:680px; margin:0 auto;
}
.cta-content .section-eyebrow { justify-content:center; }
.cta-content .section-eyebrow::before { display:none; }
.cta-title {
  font-size:clamp(38px,5.6vw,78px); font-weight:900;
  text-transform:uppercase; line-height:1.05; letter-spacing:-1px;
  color:#fff; margin-bottom:20px;
}
.cta-title span { color:var(--red); }
.cta-desc { font-size:17px; font-weight:300; line-height:1.7; color:rgba(255,255,255,.82); margin-bottom:40px; }
.cta-actions { display:flex; align-items:center; justify-content:center; gap:16px; flex-wrap:wrap; }

/* ============================================================
   FOOTER
   ============================================================ */
.footer {
  background:var(--bg3);
  border-top:1px solid var(--border);
  padding:68px 60px 0;
}
.footer-top {
  display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr;
  gap:48px; padding-bottom:52px;
  border-bottom:1px solid var(--border);
}
.footer-logo img { height:22px; filter:var(--logo-filter); margin-bottom:20px; transition:filter .4s; }
.footer-brand p { font-size:13px; font-weight:300; line-height:1.75; color:var(--text-muted); max-width:270px; margin-bottom:24px; }
.footer-social { display:flex; gap:8px; }
.social-btn {
  width:36px; height:36px; background:var(--bg4); border:1px solid var(--border);
  display:flex; align-items:center; justify-content:center;
  color:var(--text-muted); font-size:14px; transition:.3s; cursor:pointer;
  border-radius:2px;
}
.social-btn:hover { background:var(--red); border-color:var(--red); color:#fff; }
.social-btn svg { width:15px; height:15px; }

.footer-col-title {
  font-size:11px; font-weight:700; letter-spacing:2.5px; text-transform:uppercase;
  color:var(--text); margin-bottom:22px;
  padding-bottom:10px; border-bottom:2px solid var(--red); display:inline-block;
}
.footer-links { list-style:none; display:flex; flex-direction:column; gap:10px; }
.footer-links a {
  font-size:13px; font-weight:300; color:var(--text-muted); transition:color .25s;
  display:inline-flex; align-items:center; gap:5px;
}
.footer-links a::before { content:'›'; color:var(--red); font-size:15px; line-height:1; }
.footer-links a:hover { color:var(--text); }

.footer-bottom {
  display:flex; align-items:center; justify-content:space-between;
  padding:22px 0; flex-wrap:wrap; gap:12px;
}
.footer-bottom p { font-size:12px; color:var(--text-muted); font-weight:300; }
.footer-bottom-links { display:flex; gap:24px; list-style:none; }
.footer-bottom-links a { font-size:12px; color:var(--text-muted); font-weight:300; transition:color .25s; }
.footer-bottom-links a:hover { color:var(--text); }
.footer-logo-sm img { height:18px; opacity:.4; filter:var(--logo-filter); }

/* ============================================================
   SCROLL REVEAL — JS-driven
   ============================================================ */
.sr { opacity:0; transition:opacity .8s var(--ease-out), transform .8s var(--ease-out); }
.sr.from-bottom { transform:translateY(44px); }
.sr.from-left   { transform:translateX(-52px); }
.sr.from-right  { transform:translateX(52px); }
.sr.from-scale  { transform:scale(.94); }
.sr.visible     { opacity:1; transform:none; }

.sr.d1 { transition-delay:.08s; }
.sr.d2 { transition-delay:.16s; }
.sr.d3 { transition-delay:.24s; }
.sr.d4 { transition-delay:.32s; }
.sr.d5 { transition-delay:.40s; }


/* ============================================================
   LIGHTBOX
   ============================================================ */
.lightbox-wrap {
  display:none; position:fixed; inset:0;
  background:rgba(0,0,0,.93); z-index:9000;
  align-items:center; justify-content:center;
}
.lightbox-wrap.open { display:flex; animation:fadeIn .2s; }
.lightbox-wrap img { max-width:90vw; max-height:88vh; object-fit:contain; box-shadow:var(--shadow-lg); }
.lightbox-close {
  position:absolute; top:20px; right:28px;
  background:none; border:none; color:#fff; font-size:38px; cursor:pointer;
  line-height:1; opacity:.7; transition:opacity .2s;
}
.lightbox-close:hover { opacity:1; }

/* ============================================================
   MOBILE MENU
   ============================================================ */
.mm-overlay {
  position:fixed; inset:0; background:rgba(0,0,0,.65);
  z-index:850; opacity:0; pointer-events:none; transition:opacity .4s;
}
.mm-overlay.open { opacity:1; pointer-events:all; }
.mobile-menu {
  position:fixed; top:0; right:-100%; width:min(320px,100%);
  height:100vh; background:var(--bg3); z-index:860;
  padding:90px 36px 36px; display:flex; flex-direction:column;
  transition:right .42s var(--ease-out);
  border-left:1px solid var(--border);
}
.mobile-menu.open { right:0; }
.mm-close {
  position:absolute; top:20px; right:22px;
  background:none; border:none; color:var(--text); font-size:26px; cursor:pointer;
}
.mm-links { list-style:none; display:flex; flex-direction:column; gap:4px; margin-bottom:32px; }
.mm-links a {
  display:block; font-size:20px; font-weight:700; text-transform:uppercase;
  letter-spacing:.5px; color:var(--text-muted);
  padding:11px 0; border-bottom:1px solid var(--border);
  transition:color .25s, padding-left .25s;
}
.mm-links a:hover { color:var(--text); padding-left:6px; }
.mm-cta {
  display:block; text-align:center; background:var(--red); color:#fff;
  font-size:13px; font-weight:700; letter-spacing:2px; text-transform:uppercase;
  padding:15px; margin-bottom:28px;
  clip-path:polygon(8px 0%,100% 0%,calc(100% - 8px) 100%,0% 100%);
  transition:background .3s;
}
.mm-cta:hover { background:var(--red-dark); }
.mm-theme { display:flex; align-items:center; gap:10px; font-size:13px; color:var(--text-muted); font-weight:600; cursor:pointer; background:none; border:none; }

/* ============================================================
   RESPONSIVE
   ============================================================ */

/* ── 1280px ─ */
@media (max-width:1280px) {
  .clubs-grid { grid-template-columns:repeat(3,1fr); }
}

/* ── 1024px ─ */
@media (max-width:1024px) {
  .navbar { padding:0 24px; }
  .nav-links { gap:24px; }
  .clubs-grid   { grid-template-columns:repeat(2,1fr); }
  .footer-top   { grid-template-columns:1fr 1fr; }
  .footer-brand { grid-column:span 2; }
}

/* ── 768px — Tablet ─ */
@media (max-width:768px) {
  .navbar { padding:0 20px; }
  .nav-links  { display:none; }
  .nav-cta    { display:none; }
  .nav-social { display:none; }       /* moves into mobile menu */
  .nav-hamburger { display:flex; }
  .nav-logo img { height:34px; }      /* bigger logo on mobile */

  .hero-content { padding:0 24px; max-width:100%; }
  .hero-title   { font-size:clamp(28px,7vw,48px); letter-spacing:-1px; }
  .hero-desc    { font-size:14px; }
  .hero-dots    { left:24px; }
  .hero-scroll  { display:none; }

  .stats-bar-inner { grid-template-columns:repeat(2,1fr); }
  .stat-item:nth-child(2) { border-right:none; }
  .stat-item:nth-child(3),
  .stat-item:nth-child(4) { border-top:1px solid rgba(255,255,255,.2); }
  .stat-num { font-size:34px; }

  .about-section,
  .trainer-section { grid-template-columns:1fr; gap:40px; padding:64px 24px; }
  .app-section { padding:56px 24px; }
  .trainer-right { order:1; }
  .trainer-left  { order:2; }
  .trainer-tag   { right:0; bottom:20px; }
  .about-badge   { right:0; top:16px; }
  .about-img-main { height:420px; }
  .about-img-accent { display:none; }
  .trainer-img   { height:420px; }

  /* App section mobile */
  .app-inner  { gap:36px; }
  .app-right  { order:-1; }
  .app-mockup { width:180px; }
  .app-title  { font-size:clamp(22px,5vw,32px); }
  .app-boxes  { margin-bottom:24px; }
  .app-box    { padding:14px 16px; gap:12px; }
  .app-box-text h4 { font-size:13px; }
  .app-stores { gap:12px; }
  .app-store-btn img { height:36px; }

  .classes-section,
  .gallery-section,
  .clubs-section,
  .cta-section { padding:56px 24px; }

  .classes-header { flex-direction:column; align-items:flex-start; gap:14px; }
  .classes-header .section-desc { text-align:left; max-width:100%; }

  /* Gallery tablet: 2 cols */
  .gallery-grid {
    grid-template-columns:repeat(2,1fr);
    grid-template-rows:repeat(5,180px);
  }
  .gallery-item.g-featured { grid-column:1/3; grid-row:1/2; }

  .clubs-grid { grid-template-columns:repeat(2,1fr); }
  .club-card  { height:260px; }

  /* City tabs — horizontal scroll, no wrap */
  .city-tabs {
    flex-wrap:nowrap;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    max-width:100%;
    border-radius:0;
  }
  .city-tabs::-webkit-scrollbar { display:none; }
  .city-tab { flex-shrink:0; padding:9px 13px; font-size:10px; }
  .city-tab-count { display:none; } /* hide count badges on mobile to save space */
  .clubs-controls { flex-direction:column; align-items:flex-start; gap:12px; }

  .cta-section { padding:72px 24px; }
  .cta-title   { font-size:clamp(28px,6vw,52px); }

  .footer { padding:48px 24px 0; }
  .footer-top { grid-template-columns:1fr; }
  .footer-brand { grid-column:auto; }
  .footer-bottom { flex-direction:column; gap:10px; text-align:center; }
}

/* Mobile menu social icons */
.mm-social {
  display:flex; gap:6px; margin-top:auto; padding-top:24px;
  border-top:1px solid var(--border);
}
.mm-social-link {
  width:36px; height:36px; display:flex; align-items:center; justify-content:center;
  background:var(--bg4); border:1px solid var(--border);
  color:var(--text-muted); border-radius:4px;
  transition:background .25s, color .25s, border-color .25s;
}
.mm-social-link:hover { background:var(--red); border-color:var(--red); color:#fff; }
.mm-social-link svg { width:15px; height:15px; }

/* ── 480px — Mobile ─ */
@media (max-width:480px) {
  :root { --nav-h: 60px; }

  .navbar { padding:0 16px; }
  .nav-logo img { height:30px; }
  .hero { min-height:580px; }
  .hero-content { padding:0 20px; }
  .hero-title   { font-size:clamp(26px,8vw,38px); margin-bottom:16px; }
  .hero-eyebrow { font-size:9px; letter-spacing:2px; margin-bottom:14px; }
  .hero-desc    { font-size:13px; margin-bottom:28px; display:none; }
  .hero-actions { gap:10px; }
  .btn-primary, .btn-secondary { padding:12px 24px; font-size:11px; }

  /* App section */
  .app-mockup { width:150px; }
  .app-box    { padding:12px 14px; }
  .app-store-btn img { height:32px; }
  .app-stores { gap:10px; }

  .stat-num   { font-size:28px; }
  .stat-label { font-size:9px; }
  .stat-item  { padding:20px 16px; }

  .section-title { font-size:clamp(20px,6vw,32px); }
  .section-desc  { font-size:14px; }

  .about-features { grid-template-columns:1fr; }
  .about-img-main { height:300px; }

  .trainer-img  { height:320px; }

  /* Gallery mobile: simple 1 col or 2 col equal */
  .gallery-grid {
    grid-template-columns:repeat(2,1fr);
    grid-template-rows:repeat(5,160px);
  }
  .gallery-item.g-featured { grid-column:1/3; grid-row:1/2; height:200px; }
  .gallery-header .section-desc { display:none; }

  .class-name { font-size:13px; }

  .clubs-grid { grid-template-columns:1fr; }
  .club-card  { height:220px; }

  .cta-title { font-size:28px; }
  .cta-desc  { font-size:13px; }

  .app-stores { flex-direction:column; }
  .app-phone  { max-height:360px; }

  .footer-top { gap:28px; }
  .footer-col-title { font-size:10px; }
  .footer-links a   { font-size:12px; }

  .marquee-word { font-size:28px; }

  .search-modal-inner { margin:0 12px; }
  #searchInput { font-size:16px; }
}
/* old 640px block removed — replaced by 768px and 480px blocks above */

/* ============================================================
   SEARCH MODAL
   ============================================================ */
.search-modal {
  position:fixed; inset:0; z-index:950;
  background:rgba(0,0,0,.7);
  backdrop-filter:blur(12px);
  display:flex; align-items:flex-start; justify-content:center;
  padding-top:clamp(60px, 10vh, 120px);
  opacity:0; pointer-events:none;
  transition:opacity .3s;
}
.search-modal.open {
  opacity:1; pointer-events:all;
}
[data-theme="light"] .search-modal {
  background:rgba(0,0,0,.45);
}

.search-modal-inner {
  width:100%; max-width:660px; margin:0 20px;
  background:var(--bg2);
  border:1px solid var(--border);
  box-shadow:var(--shadow-lg);
  transform:translateY(-24px);
  transition:transform .35s var(--ease-spring);
  max-height:80vh; overflow:hidden; display:flex; flex-direction:column;
}
.search-modal.open .search-modal-inner {
  transform:translateY(0);
}

.search-input-wrap {
  display:flex; align-items:center; gap:12px;
  padding:18px 20px;
  border-bottom:1px solid var(--border);
  flex-shrink:0;
}
.search-input-icon { color:var(--text-muted); flex-shrink:0; }

#searchInput {
  flex:1; background:none; border:none; outline:none;
  font-family:var(--font); font-size:18px; font-weight:400;
  color:var(--text);
}
#searchInput::placeholder { color:var(--text-muted); }

.search-close-btn {
  background:var(--bg3); border:1px solid var(--border); border-radius:4px;
  width:32px; height:32px; display:flex; align-items:center; justify-content:center;
  cursor:pointer; color:var(--text-muted); transition:.25s; flex-shrink:0;
}
.search-close-btn:hover { background:var(--bg4); color:var(--text); }

.search-section-label {
  font-size:10px; font-weight:700; letter-spacing:2.5px;
  text-transform:uppercase; color:var(--red);
  padding:14px 20px 8px;
}

.search-quick { flex-shrink:0; }

.search-quick-links {
  display:flex; flex-wrap:wrap; gap:6px; padding:0 20px 14px;
}
.search-quick-link {
  display:inline-flex; align-items:center; gap:6px;
  background:var(--bg3); border:1px solid var(--border);
  padding:7px 14px; font-size:12px; font-weight:600;
  color:var(--text-muted); transition:.25s; cursor:pointer;
  letter-spacing:.3px;
}
.search-quick-link:hover { border-color:var(--red); color:var(--red); background:var(--red-glow); }
.search-quick-link svg { flex-shrink:0; }

.search-results { overflow-y:auto; flex:1; }

.search-results-list {
  padding:0 0 12px;
}

.search-result-item {
  display:flex; align-items:center; gap:14px;
  padding:10px 20px; cursor:pointer;
  transition:background .2s;
  border-bottom:1px solid var(--border);
}
.search-result-item:last-child { border-bottom:none; }
.search-result-item:hover { background:var(--bg3); }

.sri-img {
  width:52px; height:40px; object-fit:cover; flex-shrink:0;
}
.sri-body { flex:1; min-width:0; }
.sri-city {
  font-size:9px; font-weight:700; letter-spacing:2px;
  text-transform:uppercase; color:var(--red); margin-bottom:2px;
}
.sri-name {
  font-size:13px; font-weight:700; text-transform:uppercase;
  color:var(--text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.sri-phone { font-size:11px; color:var(--text-muted); margin-top:1px; }

.sri-arrow {
  color:var(--text-muted); flex-shrink:0;
  transition:transform .2s, color .2s;
}
.search-result-item:hover .sri-arrow { color:var(--red); transform:translateX(3px); }

.search-no-results {
  padding:32px 20px; text-align:center;
  font-size:14px; color:var(--text-muted);
}

/* nav-social and nav-cta visibility handled in main responsive blocks above */

/* ============================================================
   SCROLL PROGRESS BAR
   ============================================================ */
.scroll-progress {
  position:fixed; top:0; left:0; z-index:1100;
  height:3px; width:0;
  background:var(--red);
  transition:width .08s linear;
  pointer-events:none;
}

/* ============================================================
   CLASSES SLIDER
   ============================================================ */
.cs-track-wrap {
  overflow:hidden;
  margin:0 -60px;
  padding:0 60px;
  cursor:grab;
}
.cs-track-wrap:active { cursor:grabbing; }

.cs-track {
  display:flex;
  gap:16px;
  transition:transform .5s var(--ease-out);
  will-change:transform;
}

.cs-track .class-card {
  flex:0 0 calc(25% - 12px);
  aspect-ratio:2/3;
  min-width:0;
}

.cs-arrow {
  width:44px; height:44px;
  display:flex; align-items:center; justify-content:center;
  background:var(--bg4); border:1px solid var(--border);
  cursor:pointer; color:var(--text-muted);
  transition:background .25s, color .25s, border-color .25s;
}
.cs-arrow:hover { background:var(--red); color:#fff; border-color:var(--red); }
.cs-arrow:disabled { opacity:.35; cursor:not-allowed; pointer-events:none; }

.cs-nav { display:flex; gap:8px; }

.cs-progress-wrap {
  margin-top:28px;
  height:3px; background:var(--bg4); border-radius:2px; overflow:hidden;
}
.cs-progress-bar {
  height:100%; background:var(--red); width:25%;
  transition:width .4s var(--ease-out);
  border-radius:2px;
}

/* Magnetic CTA */
.magnetic-btn { transition:transform .3s var(--ease-spring), background .3s, color .3s !important; }

/* ============================================================
   SECTION NAV — connected dots with fill line
   ============================================================ */
.section-nav {
  position:fixed; right:16px; top:50%; transform:translateY(-50%);
  z-index:800; display:flex; flex-direction:column; align-items:center;
  gap:0;
}
/* Track line (grey) */
.snav-track {
  position:absolute; top:0; bottom:0; left:50%;
  width:1px; transform:translateX(-50%);
  background:rgba(255,255,255,.15);
  pointer-events:none;
}
/* Fill line (red), height controlled by JS */
.snav-fill {
  position:absolute; top:0; left:50%;
  width:1px; transform:translateX(-50%);
  background:var(--red);
  height:0; transition:height .5s var(--ease-out);
  pointer-events:none;
}
[data-theme="light"] .snav-track { background:rgba(0,0,0,.15); }

.snav-dot {
  width:5px; height:5px; border-radius:50%;
  background:rgba(255,255,255,.3);
  box-shadow:0 0 0 2px rgba(0,0,0,.25);
  border:none; padding:0; cursor:pointer; flex-shrink:0;
  position:relative; z-index:1;
  margin:10px 0; transition:.3s var(--ease-out);
}
.snav-dot:hover { background:rgba(255,255,255,.75); transform:scale(1.4); }
.snav-dot.active {
  background:var(--red);
  box-shadow:0 0 0 3px rgba(232,0,29,.25);
  transform:scale(1.5);
}
[data-theme="light"] .snav-dot { background:rgba(0,0,0,.25); box-shadow:0 0 0 2px rgba(255,255,255,.5); }
[data-theme="light"] .snav-dot:hover { background:rgba(0,0,0,.55); }
[data-theme="light"] .snav-dot.active { background:var(--red); box-shadow:0 0 0 3px rgba(232,0,29,.2); }
@media(max-width:1024px) { .section-nav { display:none; } }

/* ============================================================
   FLOAT MEMBERSHIP BUBBLE
   ============================================================ */
.float-bubble {
  position:fixed; bottom:32px; left:32px; z-index:810;
  display:flex; align-items:center; gap:12px;
  background:var(--red); color:#fff;
  padding:14px 22px 14px 18px; cursor:pointer;
  font-size:11px; font-weight:700; letter-spacing:1.8px; text-transform:uppercase;
  clip-path:polygon(10px 0%,100% 0%,calc(100% - 10px) 100%,0% 100%);
  transform:translateY(90px); opacity:0;
  transition:transform .65s var(--ease-spring), opacity .4s;
  pointer-events:none; user-select:none;
  text-decoration:none;
  box-shadow:0 8px 32px rgba(232,0,29,.4);
}
.float-bubble.visible { transform:translateY(0); opacity:1; pointer-events:all; }
.float-bubble:hover { background:var(--red-dark); transform:translateY(-4px); }

.float-bubble-dot {
  width:8px; height:8px; border-radius:50%;
  background:#fff; flex-shrink:0;
  animation:pulseDot 1.6s ease-in-out infinite;
}
@keyframes pulseDot {
  0%,100% { transform:scale(1); opacity:1; }
  50%      { transform:scale(1.8); opacity:.5; }
}
.float-bubble-close {
  background:none; border:none; color:rgba(255,255,255,.6);
  font-size:18px; line-height:1; cursor:pointer; padding:0;
  margin-left:6px; transition:color .2s;
}
.float-bubble-close:hover { color:#fff; }
@media(max-width:480px) { .float-bubble { bottom:16px; left:16px; font-size:10px; padding:12px 16px 12px 14px; } }

/* ============================================================
   RESPONSIVE — slider & app boxes
   ============================================================ */
@media (max-width:1024px) {
  .cs-track .class-card { flex:0 0 calc(33.333% - 12px); }
}
@media (max-width:768px) {
  .cs-track-wrap { margin:0 -24px; padding:0 24px; }
  .cs-track .class-card { flex:0 0 calc(50% - 8px); }
  .app-inner { grid-template-columns:1fr; gap:48px; }
  .app-right { order:-1; }
  .app-mockup { width:200px; }
}
@media (max-width:480px) {
  .cs-track-wrap { margin:0 -16px; padding:0 16px; }
  .cs-track .class-card { flex:0 0 calc(85% - 8px); }
}

/* ============================================================
   MEMBERSHIP MODAL
   ============================================================ */
.member-modal {
  position: fixed;
  inset: 0;
  z-index: 2000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  pointer-events: none;
  opacity: 0;
  transition: opacity .35s var(--ease-out);
}
.member-modal.open {
  pointer-events: all;
  opacity: 1;
}
.mm-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.82);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

/* Card */
.mm-card {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 280px 1fr;
  width: 100%;
  max-width: 820px;
  max-height: calc(100vh - 32px);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 32px 80px rgba(0,0,0,.6);
  transform: translateY(24px) scale(.97);
  transition: transform .4s var(--ease-out);
}
.member-modal.open .mm-card {
  transform: translateY(0) scale(1);
}

/* Left panel */
.mm-panel {
  position: relative;
  background: var(--red);
  padding: 40px 32px;
  display: flex;
  flex-direction: column;
  gap: 0;
  overflow: hidden;
}
.mm-panel::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(160deg, rgba(0,0,0,.18) 0%, transparent 60%);
  pointer-events: none;
}
.mm-panel::after {
  content: '';
  position: absolute;
  bottom: -60px;
  right: -60px;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  border: 40px solid rgba(255,255,255,.07);
  pointer-events: none;
}
.mm-panel-close {
  position: absolute;
  top: 16px;
  right: 16px;
  background: rgba(255,255,255,.15);
  border: none;
  border-radius: 50%;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  cursor: pointer;
  transition: background .2s;
}
.mm-panel-close:hover { background: rgba(255,255,255,.28); }
.mm-panel-logo { margin-bottom: 32px; }
.mm-panel-logo img { height: 32px; filter: brightness(0) invert(1); }
.mm-panel-tag {
  font-size: 10px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: rgba(255,255,255,.7);
  font-weight: 700;
  margin-bottom: 12px;
}
.mm-panel-title {
  font-size: clamp(22px, 3vw, 28px);
  font-weight: 900;
  line-height: 1.15;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: -.5px;
  margin-bottom: 32px;
}
.mm-panel-title span { color: rgba(255,255,255,.55); }
.mm-benefits {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-top: auto;
}
.mm-benefits li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 13px;
  color: rgba(255,255,255,.88);
  line-height: 1.4;
}
.mm-benefits li svg {
  flex-shrink: 0;
  margin-top: 1px;
  color: rgba(255,255,255,.9);
}

/* Right form panel */
.mm-form-wrap {
  position: relative;
  background: var(--bg2);
  overflow-y: auto;
  padding: 40px 36px 36px;
  display: flex;
  flex-direction: column;
}
.mm-form-close {
  position: absolute;
  top: 16px;
  right: 16px;
  background: none;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 50%;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-muted);
  cursor: pointer;
  transition: border-color .2s, color .2s;
}
[data-theme="light"] .mm-form-close { border-color: rgba(0,0,0,.15); }
.mm-form-close:hover { border-color: var(--red); color: var(--red); }
.mm-form-eyebrow {
  font-size: 10px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--red);
  font-weight: 700;
  margin-bottom: 6px;
}
.mm-form-heading {
  font-size: 22px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: -.5px;
  color: var(--text);
  margin-bottom: 28px;
}

/* Form rows */
.mmf-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-bottom: 14px;
}
.mmf-field {
  position: relative;
  display: flex;
  flex-direction: column;
}
.mmf-full { margin-bottom: 14px; }
.mmf-field input,
.mmf-field textarea,
.mmf-field select {
  background: var(--bg3);
  border: 1.5px solid rgba(255,255,255,.14);
  border-radius: 8px;
  padding: 20px 14px 8px;
  font-family: var(--font);
  font-size: 14px;
  color: var(--text);
  outline: none;
  transition: border-color .25s, background .25s;
  width: 100%;
  appearance: none;
  -webkit-appearance: none;
}
[data-theme="light"] .mmf-field input,
[data-theme="light"] .mmf-field textarea,
[data-theme="light"] .mmf-field select {
  border-color: rgba(0,0,0,.18);
  background: #f9f9f9;
}
.mmf-field textarea { resize: vertical; min-height: 72px; }
.mmf-field select { cursor: pointer; padding-right: 32px; }
.mmf-field input:focus,
.mmf-field textarea:focus,
.mmf-field select:focus { border-color: var(--red); }
.mmf-field input.invalid,
.mmf-field textarea.invalid,
.mmf-field select.invalid { border-color: #e55; }

/* Floating label */
.mmf-field label {
  position: absolute;
  top: 50%;
  left: 14px;
  transform: translateY(-50%);
  font-size: 14px;
  color: var(--text);
  opacity: .5;
  pointer-events: none;
  transition: top .2s var(--ease-out), font-size .2s var(--ease-out), color .2s, opacity .2s;
  white-space: nowrap;
}
.mmf-field textarea + label { top: 22px; transform: none; }
.mmf-field input:not(:placeholder-shown) + label,
.mmf-field input:focus + label,
.mmf-field textarea:not(:placeholder-shown) + label,
.mmf-field textarea:focus + label {
  top: 8px;
  font-size: 10px;
  color: var(--red);
  opacity: 1;
  transform: none;
}
.mmf-field select + label {
  top: 8px;
  font-size: 10px;
  color: var(--red);
  opacity: 1;
  transform: none;
}
.mmf-select-arrow {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--text-muted);
  pointer-events: none;
}
.mmf-select-field label { top: 8px; font-size: 10px; opacity: 1; transform: none; }
.mmf-req { color: var(--red); }

/* Error messages */
.mmf-err {
  font-size: 11px;
  color: #e55;
  margin-top: 4px;
  display: none;
}
.mmf-field.has-error .mmf-err { display: block; }
.mmf-kvkk-err { margin-bottom: 4px; }

/* Radio group */
.mmf-radio-group {
  margin-bottom: 14px;
}
.mmf-radio-label {
  font-size: 10px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--text);
  opacity: .55;
  font-weight: 700;
  display: block;
  margin-bottom: 10px;
}
.mmf-radios {
  display: flex;
  gap: 16px;
}
.mmf-radio {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  font-size: 13px;
  color: var(--text);
  user-select: none;
}
.mmf-radio input[type="radio"] { display: none; }
.mmf-radio-ui {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,.3);
  flex-shrink: 0;
  position: relative;
  transition: border-color .2s;
}
[data-theme="light"] .mmf-radio-ui { border-color: rgba(0,0,0,.25); }
.mmf-radio-ui::after {
  content: '';
  position: absolute;
  inset: 3px;
  border-radius: 50%;
  background: var(--red);
  transform: scale(0);
  transition: transform .2s var(--ease-out);
}
.mmf-radio input:checked ~ .mmf-radio-ui {
  border-color: var(--red);
}
.mmf-radio input:checked ~ .mmf-radio-ui::after {
  transform: scale(1);
}

/* KVKK checkbox */
.mmf-kvkk {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  cursor: pointer;
  margin-bottom: 4px;
  user-select: none;
}
.mmf-kvkk input[type="checkbox"] { display: none; }
.mmf-kvkk-box {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  border-radius: 4px;
  border: 2px solid rgba(255,255,255,.3);
  margin-top: 1px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .2s, border-color .2s;
  color: transparent;
}
[data-theme="light"] .mmf-kvkk-box { border-color: rgba(0,0,0,.25); }
.mmf-kvkk input:checked ~ .mmf-kvkk-box {
  background: var(--red);
  border-color: var(--red);
  color: #fff;
}
.mmf-kvkk.invalid .mmf-kvkk-box { border-color: #e55; }
.mmf-kvkk-text {
  font-size: 12px;
  color: var(--text-muted);
  line-height: 1.5;
}
.mmf-link { color: var(--red); text-decoration: underline; }
.mmf-link:hover { opacity: .75; }

/* Submit button */
.mm-submit {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  padding: 14px 24px;
  margin-top: 20px;
  background: var(--red);
  color: #fff;
  border: none;
  border-radius: 8px;
  font-family: var(--font);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .5px;
  text-transform: uppercase;
  cursor: pointer;
  transition: background .2s, transform .15s;
}
.mm-submit:hover { background: #c5001a; }
.mm-submit:active { transform: scale(.98); }

/* Success state */
.mm-success {
  display: none;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 16px;
  flex: 1;
  padding: 20px 0;
}
.mm-success.visible {
  display: flex;
}
.mm-form-inner.hidden { display: none; }
.mm-success-icon {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: rgba(232,0,29,.12);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--red);
}
.mm-success h3 {
  font-size: 20px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: -.3px;
  color: var(--text);
}
.mm-success p {
  font-size: 14px;
  color: var(--text-muted);
  max-width: 280px;
  line-height: 1.6;
}

/* Mobile modal */
@media (max-width: 768px) {
  .mm-card {
    grid-template-columns: 1fr;
    max-height: calc(100vh - 32px);
    overflow-y: auto;
  }
  .mm-panel {
    padding: 28px 24px;
  }
  .mm-panel::after { display: none; }
  .mm-panel-title { font-size: 20px; margin-bottom: 16px; }
  .mm-benefits { display: none; }
  .mm-panel-close { display: flex; }
  .mm-form-close { display: none; }
  .mm-form-wrap { padding: 28px 24px 24px; }
  .mmf-row { grid-template-columns: 1fr; }
}

/* ══════════════════════════════════════════════════════════════
   İLETİŞİM SAYFASI
   ══════════════════════════════════════════════════════════════ */

/* Navbar: inner pages always solid — override transparent-hero styles */
.navbar.navbar-solid{background:var(--bg);box-shadow:0 1px 0 var(--border);backdrop-filter:blur(12px) saturate(160%)}
.navbar.navbar-solid .nav-links a{color:var(--text-muted)}
.navbar.navbar-solid .nav-links a:hover{color:var(--text)}
.navbar.navbar-solid .theme-toggle,
.navbar.navbar-solid .nav-icon-btn,
.navbar.navbar-solid .nav-social-link{color:var(--text-muted)}
.navbar.navbar-solid .theme-toggle:hover,
.navbar.navbar-solid .nav-icon-btn:hover,
.navbar.navbar-solid .nav-social-link:hover{color:var(--text);background:var(--bg3)}
[data-theme] .navbar.navbar-solid .nav-social{border-color:var(--border)}
.navbar.navbar-solid .nav-hamburger span{background:var(--text)}
.nav-links a.active{color:var(--red) !important}
.nav-links a.active::after{width:100%}

/* ── PAGE HERO ── */
.page-hero{position:relative;padding:130px 6% 40px;isolation:isolate;overflow:hidden}
.page-hero-bg{position:absolute;inset:0;z-index:-2;
  background:
    radial-gradient(600px circle at 80% 20%,var(--red-glow),transparent 60%),
    radial-gradient(500px circle at 10% 90%,rgba(232,0,29,.08),transparent 55%),
    linear-gradient(180deg,var(--bg) 0%,var(--bg2) 100%);
}
.page-hero::before{content:"";position:absolute;inset:0;z-index:-1;
  background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);
  background-size:64px 64px;mask:radial-gradient(600px circle at 50% 30%,#000,transparent 75%);-webkit-mask:radial-gradient(600px circle at 50% 30%,#000,transparent 75%);opacity:.5}

.crumbs{display:inline-flex;align-items:center;gap:10px;margin-bottom:28px;padding:8px 16px;border-radius:999px;background:var(--bg3);border:1px solid var(--border);font-size:12px;letter-spacing:.5px;color:var(--text-muted)}
.crumbs a{color:var(--text-muted);transition:color .2s}
.crumbs a:hover{color:var(--red)}
.crumbs span{color:var(--text)}
.crumbs svg{opacity:.4}

.page-eyebrow{display:inline-flex;align-items:center;gap:12px;font-size:12px;letter-spacing:3px;font-weight:700;text-transform:uppercase;color:var(--red);margin-bottom:22px}
.page-eyebrow::before{content:"";width:28px;height:2px;background:var(--red)}

.page-title{font-size:clamp(42px,6.2vw,96px);font-weight:900;line-height:.98;letter-spacing:-.025em;text-transform:uppercase;margin-bottom:24px;max-width:1000px}
.page-title span{color:var(--red);display:inline-block;position:relative}
.page-title span::after{content:"";position:absolute;left:0;right:0;bottom:4%;height:14%;background:var(--red-glow);z-index:-1;border-radius:4px}

.page-lede{font-size:18px;line-height:1.6;color:var(--text-muted);max-width:640px}

/* ── QUICK CONTACT CARDS ── */
.qc-section{padding:20px 6% 80px}
.qc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.qc-card{position:relative;padding:28px 26px 24px;background:var(--bg2);border:1px solid var(--border);border-radius:20px;display:flex;flex-direction:column;gap:6px;overflow:hidden;transition:all .4s var(--ease-out,cubic-bezier(.2,.8,.2,1));isolation:isolate}
.qc-card::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,var(--red) 0%,var(--red-dark) 100%);opacity:0;transition:opacity .4s;z-index:-1}
.qc-card:hover{transform:translateY(-6px);border-color:var(--red);box-shadow:0 30px 60px -20px var(--red-glow)}
.qc-card:hover::before{opacity:1}
.qc-card:hover *{color:#fff !important}
.qc-card:hover .qc-icon{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.3)}
.qc-card:hover .qc-icon svg{color:#fff}
.qc-card:hover .qc-go{transform:translateX(4px)}

.qc-icon{width:48px;height:48px;border-radius:14px;background:var(--bg3);border:1px solid var(--border);display:grid;place-items:center;margin-bottom:16px;transition:all .3s}
.qc-icon svg{width:22px;height:22px;color:var(--red);transition:color .3s}
.qc-icon-wa{background:#25d36618;border-color:#25d36644}
.qc-icon-wa svg{color:#25d366}
.qc-card:hover .qc-icon-wa svg{color:#fff}

.qc-label{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--text-muted);font-weight:700}
.qc-value{font-size:19px;font-weight:800;color:var(--text);letter-spacing:-.01em;line-height:1.2;margin-top:2px}
.qc-meta{font-size:12px;color:var(--text-muted);margin-top:2px}
.qc-go{margin-top:auto;padding-top:18px;font-size:12px;letter-spacing:1.5px;font-weight:700;color:var(--red);text-transform:uppercase;transition:transform .3s}

/* ── CONTACT SPLIT: FORM + INFO ── */
.contact-split{display:grid;grid-template-columns:1.4fr 1fr;gap:60px;padding:80px 6%;align-items:start}
.section-eyebrow{font-size:11px;letter-spacing:3px;font-weight:700;text-transform:uppercase;color:var(--red);margin-bottom:18px;display:inline-flex;align-items:center;gap:10px}
.section-eyebrow::before{content:"";width:24px;height:2px;background:var(--red)}
.section-title{font-size:clamp(25px,3.6vw,49px);font-weight:900;line-height:.98;letter-spacing:-.025em;text-transform:uppercase;margin-bottom:16px}
.section-title span{color:var(--red)}
.section-desc{color:var(--text-muted);font-size:17px;line-height:1.6;max-width:520px;margin-bottom:44px}

/* ── FORM ── */
.c-form{margin-top:12px}
.c-subjects{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.c-subject{cursor:pointer}
.c-subject input{position:absolute;opacity:0;pointer-events:none}
.c-subject-ui{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border:1.5px solid var(--border);border-radius:999px;font-size:13px;font-weight:600;color:var(--text-muted);transition:all .25s;background:var(--bg2)}
.c-subject-ui svg{opacity:.7;transition:opacity .25s}
.c-subject:hover .c-subject-ui{color:var(--text);border-color:var(--text-muted)}
.c-subject input:checked + .c-subject-ui{background:var(--red);color:#fff;border-color:var(--red);box-shadow:0 8px 24px -8px var(--red-glow)}
.c-subject input:checked + .c-subject-ui svg{opacity:1}

.c-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.c-field{position:relative;margin-bottom:16px}
.c-field input,.c-field textarea,.c-field select{
  width:100%;padding:22px 18px 10px;background:var(--bg2);border:1.5px solid var(--border);border-radius:14px;color:var(--text);font:inherit;font-size:15px;transition:border-color .25s,background .25s;outline:none;resize:vertical;font-family:inherit}
.c-field textarea{min-height:130px;padding-top:26px}
.c-field label{position:absolute;left:18px;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:14px;pointer-events:none;transition:all .2s;background:transparent;padding:0 4px}
.c-field textarea + label{top:24px;transform:none}
.c-field input:focus + label,.c-field input:not(:placeholder-shown) + label,
.c-field textarea:focus + label,.c-field textarea:not(:placeholder-shown) + label,
.c-select-field select:focus + label,.c-select-field select:valid + label{
  top:8px;transform:none;font-size:10.5px;letter-spacing:1.5px;text-transform:uppercase;color:var(--red);font-weight:700}
.c-field input:focus,.c-field textarea:focus,.c-field select:focus{border-color:var(--red)}
.c-field input:-webkit-autofill{-webkit-box-shadow:0 0 0 30px var(--bg2) inset !important;-webkit-text-fill-color:var(--text) !important}
.c-req{color:var(--red)}
.c-err{display:block;font-size:11px;color:var(--red);margin-top:6px;padding-left:4px;opacity:0;transform:translateY(-4px);transition:all .25s;pointer-events:none;max-height:0;overflow:hidden}
.c-field.error input,.c-field.error textarea,.c-field.error select{border-color:var(--red);background:var(--red-glow)}
.c-field.error .c-err{opacity:1;transform:none;max-height:40px}
.c-counter{position:absolute;right:14px;bottom:8px;font-size:10.5px;color:var(--text-muted);font-weight:600;letter-spacing:.5px}

.c-select-field{position:relative}
.c-select-field select{appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:40px}
.c-select-arrow{position:absolute;right:18px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}

.c-kvkk{display:flex;gap:12px;margin-top:8px;cursor:pointer;align-items:flex-start;font-size:13px;color:var(--text-muted);line-height:1.5}
.c-kvkk input{position:absolute;opacity:0;pointer-events:none}
.c-kvkk-box{flex:none;width:20px;height:20px;border:1.5px solid var(--border);border-radius:6px;display:grid;place-items:center;background:var(--bg2);transition:all .2s;margin-top:1px}
.c-kvkk-box svg{color:#fff;opacity:0;transform:scale(.5);transition:all .2s}
.c-kvkk input:checked + .c-kvkk-box{background:var(--red);border-color:var(--red)}
.c-kvkk input:checked + .c-kvkk-box svg{opacity:1;transform:scale(1)}
.c-link{color:var(--red);text-decoration:underline;text-underline-offset:3px}
.c-kvkk-err{display:none;margin-left:32px;margin-top:6px}
.c-kvkk-err.show{display:block}

.c-submit{margin-top:24px;display:inline-flex;align-items:center;gap:12px;padding:18px 36px;border:none;border-radius:999px;background:var(--red);color:#fff;font-weight:700;font-size:14px;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;transition:all .3s;position:relative;overflow:hidden;box-shadow:0 20px 40px -15px var(--red-glow)}
.c-submit:hover{background:var(--red-dark);transform:translateY(-2px);box-shadow:0 24px 48px -12px var(--red-glow)}
.c-submit svg{transition:transform .3s}
.c-submit:hover svg{transform:translateX(4px)}
.c-submit.loading{pointer-events:none;color:transparent}
.c-submit.loading svg{opacity:0}
.c-submit-loader{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;opacity:0;animation:spin 1s linear infinite}
.c-submit.loading .c-submit-loader{opacity:1}
@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}

.c-success{display:none;margin-top:30px;padding:32px;background:linear-gradient(135deg,rgba(232,0,29,.08),rgba(232,0,29,.02));border:1px solid var(--red);border-radius:20px;text-align:center;animation:successIn .5s var(--ease-out,cubic-bezier(.2,.8,.2,1))}
@keyframes successIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.c-success.show{display:block}
.c-success-ring{width:64px;height:64px;border-radius:50%;background:var(--red);color:#fff;display:grid;place-items:center;margin:0 auto 16px;animation:ringPop .6s var(--ease-out,cubic-bezier(.2,.8,.2,1))}
@keyframes ringPop{0%{transform:scale(0);opacity:0}50%{transform:scale(1.15)}100%{transform:scale(1);opacity:1}}
.c-success h3{font-size:22px;font-weight:800;margin-bottom:10px;letter-spacing:-.01em}
.c-success p{color:var(--text-muted);font-size:14px;line-height:1.6;margin-bottom:14px}
.c-success code{display:inline-block;padding:8px 14px;background:var(--bg3);border:1px solid var(--border);border-radius:8px;font-family:'Courier New',monospace;color:var(--red);font-weight:700;letter-spacing:1px}

/* ── INFO CARDS ── */
.cs-right{display:flex;flex-direction:column;gap:18px;position:sticky;top:100px}
.info-card{background:var(--bg2);border:1px solid var(--border);border-radius:20px;padding:28px}
.info-eyebrow{font-size:10.5px;letter-spacing:2.5px;font-weight:700;text-transform:uppercase;color:var(--red);margin-bottom:12px}
.info-title{font-size:24px;font-weight:900;letter-spacing:-.01em;margin-bottom:18px}
.info-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:16px}
.info-list li{display:flex;gap:14px;align-items:flex-start;font-size:14px;line-height:1.55;color:var(--text)}
.info-list li svg{flex:none;margin-top:3px;color:var(--red)}
.info-list li small{color:var(--text-muted);font-size:12px}

.dept-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}
.dept-list li{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid var(--border);flex-wrap:wrap}
.dept-list li:last-child{border-bottom:none}
.dept-list strong{display:block;font-size:14px;font-weight:700;margin-bottom:2px}
.dept-list span{font-size:12px;color:var(--text-muted)}
.dept-list a{font-size:12px;color:var(--red);font-weight:600;letter-spacing:.3px;transition:letter-spacing .2s}
.dept-list a:hover{letter-spacing:.8px}

.info-eta{background:linear-gradient(135deg,var(--red) 0%,var(--red-dark) 100%);color:#fff;border:none;overflow:hidden;position:relative}
.info-eta::after{content:"";position:absolute;top:-40px;right:-40px;width:180px;height:180px;border-radius:50%;background:rgba(255,255,255,.08)}
.info-eta .info-eyebrow{color:rgba(255,255,255,.8)}
.eta-head{display:flex;align-items:center;gap:10px;margin-bottom:18px;position:relative}
.eta-dot{width:10px;height:10px;background:#4ade80;border-radius:50%;box-shadow:0 0 0 0 rgba(74,222,128,.6);animation:dotPulse 1.8s infinite}
@keyframes dotPulse{0%,100%{box-shadow:0 0 0 0 rgba(74,222,128,.6)}50%{box-shadow:0 0 0 8px rgba(74,222,128,0)}}
.eta-head strong{display:block;font-size:13px;font-weight:700}
.eta-head small{font-size:11px;opacity:.75}
.eta-value{font-size:48px;font-weight:900;line-height:1;letter-spacing:-.03em;margin-bottom:16px;position:relative}
.eta-value small{display:block;font-size:11.5px;font-weight:500;opacity:.82;margin-top:8px;letter-spacing:.3px}
.eta-bar{height:6px;background:rgba(255,255,255,.2);border-radius:999px;overflow:hidden;margin-bottom:10px;position:relative}
.eta-bar i{display:block;height:100%;background:#fff;border-radius:999px;transition:width 1.2s var(--ease-out,cubic-bezier(.2,.8,.2,1))}
.eta-meta{font-size:11.5px;opacity:.8;position:relative}

/* ── MAP SECTION ── */
.map-section{padding:80px 6%}
.map-head{text-align:center;margin-bottom:40px;max-width:640px;margin-left:auto;margin-right:auto}
.map-head .section-eyebrow{justify-content:center}
.map-head .section-eyebrow::before{display:none}
.map-head .section-desc{margin-left:auto;margin-right:auto}
.map-wrap{display:grid;grid-template-columns:340px 1fr;gap:16px;height:560px;border:1px solid var(--border);border-radius:22px;overflow:hidden;background:var(--bg2)}
.map-side{display:flex;flex-direction:column;border-right:1px solid var(--border);min-height:0}
.map-search{position:relative;padding:18px 18px 10px}
.map-search svg{position:absolute;left:32px;top:50%;transform:translateY(-50%);color:var(--text-muted)}
.map-search input{width:100%;padding:12px 14px 12px 40px;background:var(--bg3);border:1.5px solid var(--border);border-radius:10px;color:var(--text);font:inherit;font-size:13px;outline:none;transition:border-color .2s}
.map-search input:focus{border-color:var(--red)}
.map-tabs{display:flex;flex-wrap:wrap;gap:6px;padding:6px 18px 14px;border-bottom:1px solid var(--border)}
.mt{padding:7px 12px;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--text-muted);font-size:11.5px;font-weight:600;letter-spacing:.2px;cursor:pointer;transition:all .2s}
.mt:hover{color:var(--text);border-color:var(--text-muted)}
.mt.active{background:var(--red);color:#fff;border-color:var(--red)}
.map-list{flex:1;overflow-y:auto;padding:6px}
.map-list::-webkit-scrollbar{width:6px}
.map-list::-webkit-scrollbar-thumb{background:var(--bg4);border-radius:3px}
.ml-item{display:flex;flex-direction:column;gap:4px;padding:14px 14px;border-radius:12px;cursor:pointer;transition:all .2s;border:1px solid transparent}
.ml-item:hover{background:var(--bg3)}
.ml-item.active{background:var(--red-glow);border-color:var(--red)}
.ml-item-name{font-size:14px;font-weight:700;display:flex;align-items:center;gap:8px}
.ml-item-badge{font-size:9.5px;letter-spacing:1.2px;font-weight:700;text-transform:uppercase;padding:2px 7px;background:var(--bg3);border-radius:999px;color:var(--text-muted)}
.ml-item-addr{font-size:12px;color:var(--text-muted);line-height:1.45}
.ml-item-meta{display:flex;gap:10px;margin-top:4px}
.ml-item-meta a{font-size:11px;color:var(--red);font-weight:600;letter-spacing:.3px}
.ml-empty{padding:32px;text-align:center;color:var(--text-muted);font-size:13px}

.map-canvas{position:relative;min-height:0}
#contactMap{position:absolute;inset:0}
.leaflet-container{background:var(--bg2)!important;font-family:inherit!important}
[data-theme="dark"] .leaflet-tile-pane{filter:invert(.94) hue-rotate(180deg) saturate(.6) brightness(.9)}

/* ── FAQ ── */
.faq-section{padding:100px 6% 120px;max-width:1100px;margin:0 auto}
.faq-head{text-align:center;margin-bottom:44px}
.faq-head .section-eyebrow{justify-content:center}
.faq-head .section-eyebrow::before{display:none}
.faq-head .section-desc{margin-left:auto;margin-right:auto}
.faq-list{display:flex;flex-direction:column;gap:10px}
.faq-item{background:var(--bg2);border:1px solid var(--border);border-radius:16px;overflow:hidden;transition:border-color .2s,box-shadow .3s}
.faq-item:hover{border-color:var(--text-muted)}
.faq-item[open]{border-color:var(--red);box-shadow:0 20px 40px -20px var(--red-glow)}
.faq-item summary{list-style:none;cursor:pointer;padding:20px 26px;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:15.5px;font-weight:700;color:var(--text);letter-spacing:-.005em;transition:color .2s}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:hover{color:var(--red)}
.faq-item summary i{flex:none;width:28px;height:28px;border-radius:50%;background:var(--bg3);border:1px solid var(--border);position:relative;transition:all .3s}
.faq-item summary i::before,.faq-item summary i::after{content:"";position:absolute;left:50%;top:50%;background:var(--text);transition:all .3s}
.faq-item summary i::before{width:11px;height:2px;transform:translate(-50%,-50%)}
.faq-item summary i::after{width:2px;height:11px;transform:translate(-50%,-50%)}
.faq-item[open] summary i{background:var(--red);border-color:var(--red);transform:rotate(90deg)}
.faq-item[open] summary i::before,.faq-item[open] summary i::after{background:#fff}
.faq-item[open] summary i::after{height:0}
.faq-body{padding:0 26px 24px;color:var(--text-muted);font-size:14.5px;line-height:1.7;animation:faqIn .35s var(--ease-out,cubic-bezier(.2,.8,.2,1))}
.faq-body a{color:var(--red);text-decoration:underline;text-underline-offset:3px}
@keyframes faqIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* ══════════════════════════════════════════════════════════════
   İLETİŞİM RESPONSIVE
   ══════════════════════════════════════════════════════════════ */
@media (max-width:1100px){
  .qc-grid{grid-template-columns:repeat(2,1fr)}
  .contact-split{grid-template-columns:1fr;gap:40px}
  .cs-right{position:static}
  .map-wrap{grid-template-columns:1fr;height:auto}
  .map-side{border-right:none;border-bottom:1px solid var(--border);max-height:360px}
  .map-canvas{height:420px}
}
@media (max-width:720px){
  .page-hero{padding:130px 5% 60px}
  .qc-section{padding:10px 5% 60px}
  .contact-split{padding:60px 5%}
  .map-section{padding:60px 5%}
  .faq-section{padding:70px 5% 90px}
  .qc-grid{grid-template-columns:1fr;gap:12px}
  .qc-card{padding:22px 20px 20px}
  .c-row{grid-template-columns:1fr}
  .c-subjects{gap:6px}
  .c-subject-ui{padding:8px 14px;font-size:12px}
  .info-card{padding:24px}
  .dept-list li{flex-direction:column;align-items:flex-start;gap:4px}
  .faq-item summary{padding:18px 20px;font-size:14.5px;gap:14px}
  .faq-body{padding:0 20px 22px;font-size:14px}
  .map-canvas{height:340px}
}

/* ══════════════════════════════════════════════════════════════
   KULÜPLER LİSTE SAYFASI
   ══════════════════════════════════════════════════════════════ */
.page-hero .hero-stats{display:flex;flex-wrap:wrap;gap:40px;margin-top:36px}
.hs-item strong{display:block;font-size:clamp(32px,3.4vw,46px);font-weight:900;letter-spacing:-.02em;line-height:1}
.hs-item span{display:block;font-size:11px;letter-spacing:2.5px;font-weight:700;text-transform:uppercase;color:var(--text-muted);margin-top:6px}

.clubs-page{padding:20px 6% 100px}

/* ══════════════════════════════════════════════════════════════
   PAGE HERO — sağda dekoratif 3D logo (metni etkilemez)
   ══════════════════════════════════════════════════════════════ */
.page-hero-3d{
  position:absolute;
  right:9%;
  top:50%;
  transform:translateY(-50%);
  width:26%;
  max-width:360px;
  height:auto;
  object-fit:contain;
  z-index:0;
  pointer-events:none;
  filter:drop-shadow(0 26px 52px rgba(232,0,29,.3)) drop-shadow(0 8px 16px rgba(0,0,0,.5));
  animation:floaty3d 6s ease-in-out infinite;
}
@keyframes floaty3d{
  0%,100%{transform:translateY(-50%) rotate(-3deg)}
  50%{transform:translateY(calc(-50% - 14px)) rotate(3deg)}
}
@media (max-width:900px){
  .page-hero-3d{display:none}
}
.k-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px;flex-wrap:wrap;padding:14px;background:var(--bg2);border:1px solid var(--border);border-radius:20px;backdrop-filter:blur(12px)}
.k-city-tabs{display:flex;flex-wrap:wrap;gap:6px}
.k-tab{padding:10px 18px;border:1.5px solid var(--border);border-radius:999px;background:transparent;color:var(--text-muted);font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:8px;cursor:pointer;transition:all .25s}
.k-tab em{font-style:normal;font-size:10px;padding:2px 8px;background:var(--bg3);color:var(--text-muted);border-radius:999px;font-weight:700}
.k-tab:hover{color:var(--text);border-color:var(--text-muted)}
.k-tab.active{background:var(--red);color:#fff;border-color:var(--red);box-shadow:0 10px 24px -12px var(--red-glow)}
.k-tab.active em{background:#fff;color:var(--red)}
.k-toolbar-right{display:flex;gap:10px;align-items:center}
.k-search{position:relative;flex:1;min-width:180px}
.k-search svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-muted)}
.k-search input{width:100%;padding:10px 14px 10px 36px;background:var(--bg3);border:1.5px solid var(--border);border-radius:10px;color:var(--text);font:inherit;font-size:13px;outline:none;transition:border-color .2s}
.k-search input:focus{border-color:var(--red)}
.k-view{display:flex;gap:4px;padding:3px;background:var(--bg3);border:1px solid var(--border);border-radius:10px}
.kv-btn{width:34px;height:34px;border-radius:8px;display:grid;place-items:center;color:var(--text-muted);cursor:pointer;border:none;background:transparent;transition:all .2s}
.kv-btn:hover{color:var(--text)}
.kv-btn.active{background:var(--red);color:#fff}

.k-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.k-card{background:var(--bg2);border:1px solid var(--border);border-radius:20px;overflow:hidden;transition:all .4s var(--ease-out,cubic-bezier(.2,.8,.2,1))}
.k-card.reveal{opacity:0;transform:translateY(20px)}
.k-card.reveal.on{opacity:1;transform:none}
.k-card:hover{border-color:var(--red);transform:translateY(-6px);box-shadow:0 30px 60px -20px var(--red-glow)}
.k-card-link{display:block;color:inherit}
.k-card-img{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--bg3)}
.k-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease-out,cubic-bezier(.2,.8,.2,1))}
.k-card:hover .k-card-img img{transform:scale(1.06)}
.k-card-city{position:absolute;top:12px;left:12px;padding:5px 11px;background:rgba(0,0,0,.65);backdrop-filter:blur(10px);color:#fff;font-size:10.5px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;border-radius:999px}
.k-premium{position:absolute;top:12px;right:12px;padding:5px 12px;background:var(--red);color:#fff;font-size:10px;font-weight:800;letter-spacing:2px;text-transform:uppercase;border-radius:999px;box-shadow:0 8px 24px -8px var(--red-glow)}
.k-card-body{padding:22px}
.k-card-name{font-size:19px;font-weight:900;letter-spacing:-.01em;margin-bottom:10px;text-transform:uppercase}
.k-card-addr{font-size:13px;color:var(--text-muted);line-height:1.5;margin-bottom:16px;display:flex;gap:8px;align-items:flex-start}
.k-card-addr svg{flex:none;margin-top:3px;color:var(--red)}
.k-card-facs{display:flex;gap:6px;margin-bottom:16px;flex-wrap:wrap}
.k-fchip{width:30px;height:30px;border-radius:8px;background:var(--bg3);border:1px solid var(--border);display:grid;place-items:center;color:var(--text-muted);transition:all .2s;cursor:help}
.k-fchip svg{width:16px;height:16px}
.k-card:hover .k-fchip{color:var(--red);border-color:var(--red-glow)}
.k-fmore{font-size:11px;font-weight:700;color:var(--text);letter-spacing:.3px}
.k-card-foot{display:flex;justify-content:space-between;align-items:center;padding-top:16px;border-top:1px solid var(--border)}
.k-card-phone{font-size:13px;font-weight:700;color:var(--text)}
.k-card-go{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;letter-spacing:1.5px;font-weight:800;text-transform:uppercase;color:var(--red);transition:gap .25s}
.k-card:hover .k-card-go{gap:10px}

.k-empty[hidden]{display:none !important}
.k-empty{display:flex;flex-direction:column;align-items:center;gap:14px;padding:80px 20px;text-align:center;color:var(--text-muted);background:var(--bg2);border:1px dashed var(--border);border-radius:20px}
.k-empty h3{font-size:20px;font-weight:800;color:var(--text);letter-spacing:-.01em}
.k-empty p{font-size:14px}
.k-empty .btn-secondary{margin-top:10px}

.k-map-wrap{display:none;height:560px;border:1px solid var(--border);border-radius:20px;overflow:hidden;background:var(--bg2)}
.k-map-wrap.open{display:block}
#kMap{height:100%;width:100%}

/* benefits strip */
.k-benefits{padding:80px 6% 100px}
.k-benefits .section-title{text-align:center;margin:0 auto 40px}
.kb-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.kb-item{padding:30px 24px;background:var(--bg2);border:1px solid var(--border);border-radius:18px;text-align:center;transition:all .3s}
.kb-item:hover{border-color:var(--red);transform:translateY(-6px)}
.kb-ico{width:56px;height:56px;border-radius:14px;background:var(--red-glow);border:1px solid var(--red);color:var(--red);display:grid;place-items:center;margin:0 auto 16px}
.kb-ico svg{width:28px;height:28px}
.kb-item h4{font-size:15px;font-weight:800;margin-bottom:6px;letter-spacing:-.005em}
.kb-item p{font-size:13px;color:var(--text-muted);line-height:1.5}

/* ══════════════════════════════════════════════════════════════
   KULÜP DETAY SAYFASI
   ══════════════════════════════════════════════════════════════ */
.kd-hero{position:relative;min-height:min(640px, 90vh);display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;margin-top:var(--nav-h);isolation:isolate}
.kd-hero-media{position:absolute;inset:0;z-index:-2}
.kd-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.2s ease}
.kd-slide.active{opacity:1}
.kd-slide img{width:100%;height:100%;object-fit:cover}
.kd-hero-overlay{position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,#000 0%,rgba(0,0,0,.75) 35%,rgba(0,0,0,.25) 70%,rgba(0,0,0,.4) 100%)}
.kd-hero-dots{position:absolute;bottom:24px;right:24px;display:flex;gap:8px;z-index:3}
.kd-dot{width:24px;height:3px;background:rgba(255,255,255,.3);border:none;cursor:pointer;padding:0;transition:all .3s}
.kd-dot.active{width:40px;background:var(--red)}
.kd-dot:hover{background:rgba(255,255,255,.6)}

.kd-hero-body{padding:70px 6% 60px;color:#fff;position:relative;z-index:1}
.kd-hero-body .crumbs{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.15);color:rgba(255,255,255,.8);backdrop-filter:blur(10px)}
.kd-hero-body .crumbs a{color:rgba(255,255,255,.8)}
.kd-hero-body .crumbs a:hover{color:#fff}
.kd-hero-body .crumbs span{color:#fff;font-weight:600}

.kd-badges{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}
.kd-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;background:rgba(255,255,255,.14);backdrop-filter:blur(10px);font-size:11.5px;font-weight:700;letter-spacing:1px;text-transform:uppercase;border:1px solid rgba(255,255,255,.18)}
.kd-badge.green{background:rgba(74,222,128,.18);border-color:rgba(74,222,128,.35);color:#4ade80}
.kd-badge .dot{width:6px;height:6px;background:#4ade80;border-radius:50%;animation:dotPulse 1.8s infinite}

.kd-title{font-size:clamp(32px,4vw,56px);font-weight:800;text-transform:uppercase;letter-spacing:-.02em;line-height:1.05;margin-bottom:14px}
.kd-title span{color:var(--red)}
.kd-address{display:flex;align-items:flex-start;gap:10px;font-size:16px;line-height:1.5;color:rgba(255,255,255,.85);max-width:600px;margin-bottom:26px}
.kd-address svg{flex:none;margin-top:3px;color:var(--red)}

.kd-hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.kd-hero-actions .btn-primary,.kd-hero-actions .btn-secondary{border-radius:999px;padding:14px 28px;font-size:13px;clip-path:none}
.kd-hero-actions .btn-secondary{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.25);color:#fff;backdrop-filter:blur(10px)}
.kd-hero-actions .btn-secondary:hover{background:rgba(255,255,255,.2)}

/* Sticky quick bar */
.kd-sticky{position:fixed;top:var(--nav-h);left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:12px 6%;background:var(--bg2);border-bottom:1px solid var(--border);z-index:30;opacity:0;pointer-events:none;transform:translateY(-8px);transition:opacity .3s, transform .3s;backdrop-filter:blur(12px)}
.kd-sticky.show{opacity:1;pointer-events:auto;transform:translateY(0)}
.kds-left strong{display:block;font-size:14px;font-weight:800}
.kds-left span{display:block;font-size:11.5px;color:var(--text-muted);margin-top:2px}
.kds-tabs{display:flex;gap:22px}
.kds-tabs a{font-size:13px;font-weight:600;color:var(--text-muted);transition:color .2s;position:relative;padding:4px 0}
.kds-tabs a:hover{color:var(--red)}
.kds-cta{padding:10px 22px !important;font-size:12px !important}

/* About + stats */
.kd-about{display:grid;grid-template-columns:1.55fr 1fr;gap:40px;padding:100px 6% 80px;align-items:end}
.kd-about .kd-stats-grid{margin-bottom:4px}
.kd-lead{font-size:17px;line-height:1.75;color:var(--text-muted);margin:24px 0 30px;max-width:100%}
/* Yeni hours card */
.kd-hours-card{background:var(--bg2);border:1px solid var(--border);border-radius:20px;padding:24px 26px;position:relative;overflow:hidden;isolation:isolate}
.kd-hours-card::before{content:"";position:absolute;top:0;left:0;width:3px;height:100%;background:linear-gradient(var(--red),var(--red-dark));opacity:.85}
.kd-hours-head{display:flex;align-items:center;gap:14px;padding-bottom:16px;border-bottom:1px solid var(--border);margin-bottom:16px}
.kd-hours-ico{width:44px;height:44px;border-radius:12px;background:var(--red-glow);color:var(--red);display:grid;place-items:center;flex:none;border:1px solid rgba(232,0,29,.25)}
.kd-hours-title strong{display:block;font-size:15px;font-weight:800;letter-spacing:.2px}
.kd-hours-status{display:inline-flex;align-items:center;gap:6px;margin-top:3px;font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:#4ade80}
.kd-hours-status i{width:7px;height:7px;border-radius:50%;background:#4ade80;box-shadow:0 0 0 0 rgba(74,222,128,.6);animation:dotPulse 1.8s infinite;font-style:normal}

.kd-hours{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}
.kd-hours li{display:flex;align-items:center;gap:12px;padding:8px 2px;font-size:14px}
.kd-hours b{font-weight:600;color:var(--text);min-width:150px;font-family:inherit}
.kd-hours i{flex:1;border-top:1px dashed var(--border);font-style:normal}
.kd-hours em{font-style:normal;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:.3px;color:var(--text);min-width:110px;text-align:right}

/* Quick action butonları */
.kd-about-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.kd-action-btn{display:inline-flex;align-items:center;gap:12px;padding:14px 18px;background:var(--bg2);border:1px solid var(--border);border-radius:14px;color:var(--text);transition:all .25s;text-decoration:none;min-width:150px;flex:1}
.kd-action-btn:hover{border-color:var(--red);transform:translateY(-2px);box-shadow:0 14px 28px -14px var(--red-glow)}
.kd-action-ico{width:38px;height:38px;border-radius:10px;background:var(--bg3);color:var(--text);display:grid;place-items:center;flex:none;transition:all .25s}
.kd-action-btn:hover .kd-action-ico{background:var(--red);color:#fff}
.kd-action-txt{display:flex;flex-direction:column;line-height:1.2;min-width:0}
.kd-action-txt span{font-size:10.5px;letter-spacing:1.5px;font-weight:700;text-transform:uppercase;color:var(--text-muted)}
.kd-action-txt strong{font-size:14px;font-weight:800;margin-top:2px;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kd-action-btn.is-primary{background:var(--red);border-color:var(--red);color:#fff}
.kd-action-btn.is-primary .kd-action-ico{background:rgba(255,255,255,.18);color:#fff}
.kd-action-btn.is-primary .kd-action-txt span{color:rgba(255,255,255,.75)}
.kd-action-btn.is-primary:hover{background:var(--red-dark);border-color:var(--red-dark);transform:translateY(-2px);box-shadow:0 14px 28px -12px var(--red-glow)}
.kd-action-btn.is-primary:hover .kd-action-ico{background:rgba(255,255,255,.3)}

@media (max-width:640px){
  .kd-hours b{min-width:110px}
  .kd-about-actions{flex-direction:column}
  .kd-action-btn{width:100%}
}
.kd-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.kd-stat{padding:30px 24px;background:var(--bg2);border:1px solid var(--border);border-radius:18px;transition:all .3s}
.kd-stat:hover{border-color:var(--red);transform:translateY(-4px)}
.kd-stat strong{display:block;font-size:clamp(32px,3.6vw,52px);font-weight:900;letter-spacing:-.03em;line-height:1;color:var(--red)}
.kd-stat span{display:block;font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--text-muted);margin-top:8px}

/* Facilities */
.kd-facilities{padding:100px 6%}
.kd-fac-head{text-align:center;max-width:680px;margin:0 auto 60px}
.kd-fac-head .section-eyebrow{justify-content:center}
.kd-fac-head .section-eyebrow::before{display:none}
.kd-fac-head .section-desc{margin-left:auto;margin-right:auto}
.kd-fac-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.kd-fac{padding:26px 22px;background:var(--bg2);border:1px solid var(--border);border-radius:16px;transition:all .35s var(--ease-out,cubic-bezier(.2,.8,.2,1));cursor:default;position:relative;overflow:hidden;isolation:isolate}
.kd-fac::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 0% 0%,var(--red-glow),transparent 60%);opacity:0;transition:opacity .4s;z-index:-1}
.kd-fac:hover{border-color:var(--red);transform:translateY(-6px)}
.kd-fac:hover::before{opacity:1}
.kd-fac-ico{width:52px;height:52px;border-radius:14px;background:var(--bg3);border:1px solid var(--border);color:var(--red);display:grid;place-items:center;margin-bottom:16px;transition:all .3s}
.kd-fac:hover .kd-fac-ico{background:var(--red);border-color:var(--red);color:#fff;transform:rotate(-6deg) scale(1.05)}
.kd-fac-ico svg{width:26px;height:26px}
.kd-fac h4{font-size:15px;font-weight:800;margin-bottom:4px;letter-spacing:-.005em}
.kd-fac p{font-size:12.5px;color:var(--text-muted);line-height:1.5}

/* Classes / schedule */
.kd-classes{padding:100px 6%;background:var(--bg2);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.kd-cls-head{text-align:center;max-width:700px;margin:0 auto 50px}
.kd-cls-head .section-eyebrow{justify-content:center}
.kd-cls-head .section-eyebrow::before{display:none}
.kd-cls-head .section-desc{margin-left:auto;margin-right:auto}

.kd-days{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 14px;margin-bottom:18px;scrollbar-width:thin}
.kd-day{flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:82px;padding:14px 8px;background:var(--bg);border:1.5px solid var(--border);border-radius:14px;cursor:pointer;transition:all .25s;position:relative}
.kd-day span{font-size:11px;letter-spacing:1.5px;font-weight:700;text-transform:uppercase;color:var(--text-muted)}
.kd-day strong{font-size:22px;font-weight:900;color:var(--text);letter-spacing:-.02em;line-height:1;margin-top:2px}
.kd-day em{font-style:normal;position:absolute;top:-8px;right:-4px;font-size:9px;font-weight:700;letter-spacing:1px;padding:3px 8px;background:var(--red);color:#fff;border-radius:999px;text-transform:uppercase}
.kd-day:hover{border-color:var(--text-muted)}
.kd-day.active{background:var(--red);border-color:var(--red)}
.kd-day.active span,.kd-day.active strong{color:#fff}
.kd-day.active em{background:#fff;color:var(--red)}

.kd-filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:24px;padding-bottom:20px;border-bottom:1px dashed var(--border)}
.kd-filter-label{font-size:12px;letter-spacing:2px;font-weight:700;color:var(--text-muted);text-transform:uppercase;margin-right:4px}
.kd-chip{padding:7px 14px;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--text-muted);font-size:12px;font-weight:600;cursor:pointer;transition:all .2s}
.kd-chip:hover{color:var(--text);border-color:var(--text-muted)}
.kd-chip.active{background:var(--red);color:#fff;border-color:var(--red)}

.kd-schedule{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px;min-height:200px}
.kd-skel{min-height:130px;border-radius:16px;background:linear-gradient(90deg,var(--bg3) 0%,var(--bg) 50%,var(--bg3) 100%);background-size:200% 100%;animation:skel 1.4s linear infinite;border:1px solid var(--border)}
@keyframes skel{to{background-position:-200% 0}}

.kd-class{display:grid;grid-template-columns:90px 1fr 120px;gap:18px;padding:18px;background:var(--bg);border:1px solid var(--border);border-radius:16px;transition:all .3s;align-items:center;position:relative}
.kd-class:hover{border-color:var(--red);transform:translateY(-3px);box-shadow:0 20px 40px -20px var(--red-glow)}
.kd-class.is-full{opacity:.65}
.kd-class.is-full:hover{transform:none;box-shadow:none;border-color:var(--border)}
.kd-class-time{text-align:center;padding:14px 8px;background:var(--bg2);border-radius:12px}
.kd-class-time strong{display:block;font-size:22px;font-weight:900;letter-spacing:-.02em;line-height:1}
.kd-class-time em{display:block;font-style:normal;font-size:10px;letter-spacing:1.5px;font-weight:700;color:var(--text-muted);text-transform:uppercase;margin-top:4px}
.kd-class-body{min-width:0}
.kd-class-row{display:flex;gap:8px;margin-bottom:8px}
.kd-class-cat{font-size:10px;letter-spacing:1.5px;font-weight:800;text-transform:uppercase;padding:4px 10px;border-radius:999px}
.kd-cat-cardio  {background:rgba(255,87,87,.15);color:#ff5757}
.kd-cat-strength{background:rgba(232,0,29,.15);color:var(--red)}
.kd-cat-mind    {background:rgba(137,206,255,.15);color:#89ceff}
.kd-cat-water   {background:rgba(77,213,255,.15);color:#4dd5ff}
.kd-cat-dance   {background:rgba(255,180,77,.15);color:#ffb44d}
.kd-class-level{font-size:10.5px;letter-spacing:1.2px;font-weight:700;text-transform:uppercase;color:var(--text-muted);padding:4px 10px;border:1px solid var(--border);border-radius:999px}
.kd-class-name{font-size:18px;font-weight:900;letter-spacing:-.01em;text-transform:uppercase;margin-bottom:6px}
.kd-class-meta{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--text-muted)}
.kd-class-meta span{display:inline-flex;align-items:center;gap:5px}
.kd-class-meta svg{opacity:.7}

.kd-class-cap{display:flex;flex-direction:column;gap:6px;align-items:flex-end}
.kd-cap-num{font-size:18px;font-weight:900;letter-spacing:-.02em;line-height:1}
.kd-cap-num small{font-size:12px;color:var(--text-muted);font-weight:600}
.kd-cap-bar{width:96px;height:4px;background:var(--bg3);border-radius:999px;overflow:hidden}
.kd-cap-bar i{display:block;height:100%;background:var(--red);border-radius:999px;transition:width .6s}
.kd-class.is-nearly .kd-cap-bar i{background:#ffb44d}
.kd-class.is-full .kd-cap-bar i{background:var(--text-muted)}
.kd-cap-label{font-size:10px;letter-spacing:1.2px;font-weight:700;text-transform:uppercase;color:var(--red)}
.kd-class.is-nearly .kd-cap-label{color:#ffb44d}
.kd-class.is-full .kd-cap-label{color:var(--text-muted)}

.kd-class-book{grid-column:1/-1;margin-top:4px;padding:12px 16px;background:var(--red);color:#fff;border:none;border-radius:10px;font-size:12px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;transition:all .25s}
.kd-class-book:hover{background:var(--red-dark)}
.kd-class-book:disabled{background:var(--bg3);color:var(--text-muted);cursor:not-allowed}
@media (min-width:540px){ .kd-class-book{grid-column:auto;margin-top:0;align-self:stretch;width:100%} .kd-class{grid-template-columns:90px 1fr 120px 130px} }

.kd-empty{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;gap:10px;padding:60px 20px;color:var(--text-muted);text-align:center;background:var(--bg);border:1px dashed var(--border);border-radius:16px}
.kd-empty h3{font-size:18px;font-weight:800;color:var(--text)}

.kd-api-note{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:24px;font-size:12px;color:var(--text-muted);letter-spacing:.3px}
.kd-api-note svg{color:var(--red)}

/* Gallery */
.kd-gallery{padding:100px 6%}
.kd-gal-head{text-align:center;margin-bottom:40px}
.kd-gal-head .section-eyebrow{justify-content:center}
.kd-gal-head .section-eyebrow::before{display:none}
.kd-gal-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:12px}
.kd-gal-item{position:relative;overflow:hidden;border-radius:14px;background:var(--bg3);display:block;cursor:zoom-in}
.kd-gal-item img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease-out,cubic-bezier(.2,.8,.2,1))}
.kd-gal-item:hover img{transform:scale(1.06)}
.kd-gal-item::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(0,0,0,.4));opacity:0;transition:opacity .3s}
.kd-gal-item:hover::after{opacity:1}
.kd-gal-item.big{grid-column:span 2;grid-row:span 2}

/* Map + Form */
.kd-map-form{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:0 6% 100px;margin-top:30px;align-items:stretch}
.kd-mf-map{border-radius:20px 0 0 20px;overflow:hidden;border:1px solid var(--border);border-right:none;min-height:560px;position:relative}
#kdMap{position:absolute;inset:0}
.kd-mf-form{padding:48px;background:var(--bg2);border:1px solid var(--border);border-radius:0 20px 20px 0}
.kd-mf-form .section-title{margin-bottom:14px}
.kd-mf-form .c-submit{margin-top:12px}

/* Related */
.kd-related{padding:40px 6% 120px}
.kd-rel-head{text-align:center;margin-bottom:40px}
.kd-rel-head .section-eyebrow{justify-content:center}
.kd-rel-head .section-eyebrow::before{display:none}
.kd-rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}

/* ══════════════════════════════════════════════════════════════
   KULÜP SAYFALARI RESPONSIVE
   ══════════════════════════════════════════════════════════════ */
@media (max-width:1100px){
  .k-grid,.kd-rel-grid{grid-template-columns:repeat(2,1fr)}
  .kb-grid,.kd-fac-grid{grid-template-columns:repeat(2,1fr)}
  .kd-about{grid-template-columns:1fr;gap:40px}
  .kd-map-form{grid-template-columns:1fr;padding:0 6% 80px}
  .kd-mf-map{border-radius:20px 20px 0 0;border:1px solid var(--border);border-bottom:none;min-height:400px}
  .kd-mf-form{border-radius:0 0 20px 20px;padding:36px 28px}
  .kds-tabs{display:none}
}
@media (max-width:720px){
  .k-toolbar-right{width:100%}
  .k-grid,.kd-rel-grid,.kb-grid,.kd-fac-grid{grid-template-columns:1fr}
  .kd-stats-grid{grid-template-columns:1fr 1fr}
  .kd-gal-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:160px}
  .kd-gal-item.big{grid-column:span 2;grid-row:span 2}
  .kd-class{grid-template-columns:70px 1fr;gap:12px;padding:14px}
  .kd-class-time{padding:10px 4px}
  .kd-class-time strong{font-size:18px}
  .kd-class-cap{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between}
  .kd-cap-bar{flex:1;width:auto}
  .kd-class-book{grid-column:1/-1;margin-top:6px}
  .kd-hero{min-height:auto;margin-top:0}
  .kd-hero-body{padding:100px 5% 40px}
  .kd-title{font-size:clamp(28px,7vw,40px)}
  .kd-about,.kd-facilities,.kd-classes,.kd-gallery,.kd-related{padding-left:5%;padding-right:5%}
  .kd-mf-form{padding:28px 20px}
  .hero-stats{gap:24px}
}

/* ══════════════════════════════════════════════════════════════
   DISABLED CLUB CARDS (yalnız Kadıköy aktif)
   ══════════════════════════════════════════════════════════════ */
.k-card.is-disabled{cursor:default;position:relative}
.k-card.is-disabled:hover{transform:none;border-color:var(--border);box-shadow:none}
.k-card.is-disabled .k-card-img img{filter:grayscale(.6) brightness(.7);transition:filter .4s}
.k-card.is-disabled:hover .k-card-img img{transform:none;filter:grayscale(.4) brightness(.85)}
.k-card.is-disabled .k-card-name,.k-card.is-disabled .k-card-addr,.k-card.is-disabled .k-card-phone{opacity:.7}
.k-card-go-muted{color:var(--text-muted) !important;font-weight:600 !important;font-style:italic;letter-spacing:.3px !important;text-transform:none !important}
.k-soon{position:absolute;top:12px;right:12px;padding:5px 12px;background:rgba(0,0,0,.78);backdrop-filter:blur(8px);color:#fff;font-size:10px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;border-radius:999px;border:1px solid rgba(255,255,255,.2)}

/* ══════════════════════════════════════════════════════════════
   SCHEDULE v2 — part-of-day groups + capacity ring
   ══════════════════════════════════════════════════════════════ */
.kd-schedule{display:flex;flex-direction:column;gap:30px;min-height:200px}
.kd-schedule > .kd-skel{min-height:120px;border-radius:16px}

.sched-group{display:flex;flex-direction:column;gap:10px}
.sched-group-head{display:flex;align-items:center;gap:14px;padding:14px 18px;background:var(--bg);border:1px solid var(--border);border-radius:14px;position:relative;overflow:hidden;isolation:isolate}
.sched-group-head::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--red-glow),transparent 50%);z-index:-1;opacity:.7}
.sched-group[data-part="noon"]    .sched-group-head::before{background:linear-gradient(90deg,rgba(255,210,63,.14),transparent 50%)}
.sched-group[data-part="evening"] .sched-group-head::before{background:linear-gradient(90deg,rgba(137,206,255,.14),transparent 50%)}
.sched-group[data-part="night"]   .sched-group-head::before{background:linear-gradient(90deg,rgba(220,200,255,.14),transparent 50%)}
.sched-group-ico{width:38px;height:38px;border-radius:12px;background:var(--bg2);border:1px solid var(--border);display:grid;place-items:center;color:var(--red);flex:none}
.sched-group[data-part="noon"] .sched-group-ico{color:#ffb44d}
.sched-group[data-part="evening"] .sched-group-ico{color:#89ceff}
.sched-group[data-part="night"] .sched-group-ico{color:#b592ff}
.sched-group-ico svg{width:20px;height:20px}
.sched-group-label{flex:1;min-width:0}
.sched-group-label h3{font-size:16px;font-weight:900;letter-spacing:.3px;text-transform:uppercase;line-height:1}
.sched-group-label span{font-size:11px;letter-spacing:1.5px;font-weight:600;color:var(--text-muted);text-transform:uppercase;margin-top:4px;display:block}
.sched-group-count{font-style:normal;padding:6px 12px;background:var(--bg2);border:1px solid var(--border);border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.8px;color:var(--text-muted);text-transform:uppercase;flex:none}

.sched-items{display:flex;flex-direction:column;gap:10px}
.sched-item{
  display:grid;grid-template-columns:110px 1fr;gap:20px;
  padding:18px 22px;background:var(--bg);border:1px solid var(--border);border-radius:16px;
  align-items:center;position:relative;overflow:hidden;isolation:isolate;
  transition:all .3s var(--ease-out,cubic-bezier(.2,.8,.2,1))
}
.sched-item::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--red);transition:width .25s}
.sched-item[data-cat="cardio"]::before  {background:#ff5757}
.sched-item[data-cat="strength"]::before{background:var(--red)}
.sched-item[data-cat="mind"]::before    {background:#89ceff}
.sched-item[data-cat="water"]::before   {background:#4dd5ff}
.sched-item[data-cat="dance"]::before   {background:#ffb44d}
.sched-item:hover{border-color:var(--text-muted);transform:translateY(-2px);box-shadow:0 20px 40px -20px rgba(0,0,0,.3)}
.sched-item:hover::before{width:6px}
.sched-item.is-full{opacity:.68}
.sched-item.is-full:hover{transform:none;box-shadow:none;border-color:var(--border)}

.sched-time{display:flex;flex-direction:column;align-items:flex-start}
.sched-time strong{font-size:32px;font-weight:900;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums}
.sched-time span{font-size:10.5px;letter-spacing:1.5px;font-weight:700;text-transform:uppercase;color:var(--text-muted);margin-top:6px}

.sched-body{min-width:0}
.sched-tags{display:flex;gap:8px;margin-bottom:6px;flex-wrap:wrap}
.sched-cat{font-size:10px;letter-spacing:1.5px;font-weight:800;text-transform:uppercase;padding:4px 10px;border-radius:999px}
.sched-cat-cardio  {background:rgba(255,87,87,.15); color:#ff5757}
.sched-cat-strength{background:var(--red-glow);     color:var(--red)}
.sched-cat-mind    {background:rgba(137,206,255,.15);color:#4ea5e8}
.sched-cat-water   {background:rgba(77,213,255,.15); color:#20b4d9}
.sched-cat-dance   {background:rgba(255,180,77,.15); color:#d89234}
[data-theme="light"] .sched-cat-cardio  {background:rgba(255,87,87,.15); color:#d13b3b}
[data-theme="light"] .sched-cat-mind    {background:rgba(52,128,200,.15);color:#2a6ba8}
[data-theme="light"] .sched-cat-water   {background:rgba(20,150,200,.15);color:#0e6d92}
[data-theme="light"] .sched-cat-dance   {background:rgba(220,140,30,.15);color:#a66c15}
.sched-level{font-size:10.5px;letter-spacing:1.2px;font-weight:700;text-transform:uppercase;color:var(--text-muted);padding:4px 10px;border:1px solid var(--border);border-radius:999px}
.sched-name{font-size:19px;font-weight:900;letter-spacing:-.01em;text-transform:uppercase;margin:4px 0 8px;line-height:1.1}
.sched-meta{display:flex;gap:14px;flex-wrap:wrap;font-size:12.5px;color:var(--text-muted)}
.sched-meta span{display:inline-flex;align-items:center;gap:6px}
.sched-meta svg{opacity:.7}

/* Circular capacity ring */
.sched-cap{display:flex;flex-direction:column;align-items:center;gap:6px}
.kd-ring-wrap{position:relative;width:64px;height:64px}
.kd-ring{width:64px;height:64px;transform:rotate(0);overflow:visible}
.kd-ring-track{stroke:var(--bg3)}
.kd-ring-fill{stroke:#4ade80;transition:stroke-dasharray .6s var(--ease-out,cubic-bezier(.2,.8,.2,1)),stroke .3s}
.sched-item.is-nearly .kd-ring-fill{stroke:#ffb44d}
.sched-item.is-full   .kd-ring-fill{stroke:var(--text-muted)}
.kd-ring-text{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}
.kd-ring-text strong{font-size:14px;font-weight:900;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.kd-ring-text small{font-size:11px;color:var(--text-muted);font-weight:600}
.sched-state{font-size:10px;letter-spacing:1.5px;font-weight:700;text-transform:uppercase;color:#4ade80}
.sched-item.is-nearly .sched-state{color:#ffb44d}
.sched-item.is-full   .sched-state{color:var(--text-muted)}

.sched-book{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 18px;background:var(--red);color:#fff;border:none;border-radius:12px;font-size:12px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;transition:all .25s;white-space:nowrap}
.sched-book svg{transition:transform .25s}
.sched-book:hover{background:var(--red-dark)}
.sched-book:hover svg{transform:translateX(3px)}
.sched-book:disabled{background:var(--bg3);color:var(--text-muted);cursor:not-allowed}
.sched-book:disabled svg{display:none}

/* ══════════════════════════════════════════════════════════════
   LIGHT TEMA İYİLEŞTİRMELERİ
   ══════════════════════════════════════════════════════════════ */
[data-theme="light"]{
  /* Biraz daha kontrastlı zemin */
  --bg2-soft: #fafafa;
}
[data-theme="light"] .page-hero-bg{
  background:
    radial-gradient(700px circle at 80% 20%,rgba(232,0,29,.09),transparent 60%),
    radial-gradient(600px circle at 10% 90%,rgba(232,0,29,.06),transparent 55%),
    linear-gradient(180deg,#f8f6f3 0%,#ffffff 100%);
}
[data-theme="light"] .k-toolbar{background:rgba(255,255,255,.85);backdrop-filter:blur(18px) saturate(160%);box-shadow:0 1px 0 var(--border)}
[data-theme="light"] .k-card{background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.04)}
[data-theme="light"] .k-card:hover{box-shadow:0 30px 60px -20px rgba(232,0,29,.25),0 1px 3px rgba(0,0,0,.04)}
[data-theme="light"] .k-fchip{background:#f2f2f2}
[data-theme="light"] .k-premium{box-shadow:0 8px 24px -8px rgba(232,0,29,.4)}
[data-theme="light"] .k-empty{background:#fff}

/* Kulüp detay — light */
[data-theme="light"] .kd-sticky{background:rgba(255,255,255,.92);backdrop-filter:blur(18px) saturate(160%)}
[data-theme="light"] .kd-stat{background:#fff}
[data-theme="light"] .kd-stat strong{color:var(--red)}
[data-theme="light"] .kd-hours{background:#fff}
[data-theme="light"] .kd-fac{background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.03)}
[data-theme="light"] .kd-fac-ico{background:#f5f5f5}
[data-theme="light"] .kd-fac:hover .kd-fac-ico{background:var(--red);color:#fff}
[data-theme="light"] .kd-classes{background:#fafafa}
[data-theme="light"] .kd-day{background:#fff}
[data-theme="light"] .kd-chip{background:#fff}
[data-theme="light"] .sched-group-head{background:#fff}
[data-theme="light"] .sched-group-ico{background:#f5f5f5}
[data-theme="light"] .sched-group-count{background:#f5f5f5}
[data-theme="light"] .sched-item{background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.04)}
[data-theme="light"] .sched-item:hover{box-shadow:0 18px 40px -18px rgba(0,0,0,.15)}
[data-theme="light"] .sched-book:disabled{background:#eee}
[data-theme="light"] .kd-empty{background:#fff}
[data-theme="light"] .kd-gal-item{box-shadow:0 1px 3px rgba(0,0,0,.05)}
[data-theme="light"] .kd-mf-form{background:#fff}
[data-theme="light"] .k-benefits .kb-item{background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.04)}
[data-theme="light"] .k-benefits .kb-item:hover{box-shadow:0 20px 40px -15px rgba(232,0,29,.2)}
[data-theme="light"] .k-soon{background:rgba(20,20,20,.85)}
[data-theme="light"] .page-hero .crumbs{background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.04)}

/* İletişim – light */
[data-theme="light"] .qc-card{background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.04)}
[data-theme="light"] .qc-icon{background:#f5f5f5}
[data-theme="light"] .info-card{background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.04)}
[data-theme="light"] .c-field input,[data-theme="light"] .c-field textarea,[data-theme="light"] .c-field select{background:#fff}
[data-theme="light"] .c-field input:-webkit-autofill{-webkit-box-shadow:0 0 0 30px #fff inset !important}
[data-theme="light"] .c-subject-ui{background:#fff}
[data-theme="light"] .faq-item{background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.04)}
[data-theme="light"] .faq-item summary i{background:#f5f5f5}
[data-theme="light"] .map-wrap{background:#fff}
[data-theme="light"] .leaflet-tile-pane{filter:none !important}

/* Ring tune for light theme */
[data-theme="light"] .kd-ring-track{stroke:#eaeaea}

/* Fixed content hook-up (using --nav-h) */
/* kd-hero: navbar hero görselinin üzerinde floating kalsın (margin-top yok) */
.kd-hero{margin-top:0;position:relative}
.kd-hero::after{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:140px;
  background:linear-gradient(to bottom, rgba(0,0,0,.65) 0%, rgba(0,0,0,.25) 60%, transparent 100%);
  z-index:0;
  pointer-events:none;
}
.kd-hero-body{padding-top:110px}
.kd-sticky{top:var(--nav-h);z-index:950}

/* ══════════════════════════════════════════════════════════════
   NAV İKONLARI DAHA PARLAK (ilk açılışta beyaz)
   ══════════════════════════════════════════════════════════════ */
.navbar .nav-social-link,
.navbar .nav-icon-btn,
.navbar .theme-toggle{color:#ffffff !important}
.navbar .nav-social-link svg,
.navbar .nav-icon-btn svg,
.navbar .theme-toggle svg{stroke-width:2}
.navbar .nav-social-link:hover,
.navbar .nav-icon-btn:hover,
.navbar .theme-toggle:hover{color:#ffffff !important;background:rgba(255,255,255,.14)}
/* Light temada solid navbar (iç sayfalar) — koyu ikon */
[data-theme="light"] .navbar.navbar-solid .nav-social-link,
[data-theme="light"] .navbar.navbar-solid .nav-icon-btn,
[data-theme="light"] .navbar.navbar-solid .theme-toggle,
[data-theme="light"] .navbar.scrolled .nav-social-link,
[data-theme="light"] .navbar.scrolled .nav-icon-btn,
[data-theme="light"] .navbar.scrolled .theme-toggle{color:var(--text) !important}
[data-theme="light"] .navbar.navbar-solid .nav-social-link:hover,
[data-theme="light"] .navbar.navbar-solid .nav-icon-btn:hover,
[data-theme="light"] .navbar.navbar-solid .theme-toggle:hover,
[data-theme="light"] .navbar.scrolled .nav-social-link:hover,
[data-theme="light"] .navbar.scrolled .nav-icon-btn:hover,
[data-theme="light"] .navbar.scrolled .theme-toggle:hover{background:var(--bg3) !important}

/* NAV-CTA LOGIN (Giriş Yap) ghost variant */
.nav-cta-ghost{
  background:transparent !important;
  color:#fff !important;
  border-color:#fff !important;
}
.nav-cta-ghost:hover{
  background:#fff !important;
  color:var(--red) !important;
  border-color:#fff !important;
}
.navbar.navbar-solid .nav-cta-ghost,
[data-theme="light"] .navbar.scrolled .nav-cta-ghost{
  color:var(--text) !important;
  border-color:var(--text) !important;
}
.navbar.navbar-solid .nav-cta-ghost:hover,
[data-theme="light"] .navbar.scrolled .nav-cta-ghost:hover{
  background:var(--text) !important;
  color:var(--bg) !important;
}

/* ══════════════════════════════════════════════════════════════
   CTA SECTION — Kulübü Bul butonunu görünür yap
   ══════════════════════════════════════════════════════════════ */
.cta-section .btn-secondary{
  border-color:rgba(255,255,255,.45);
  color:#fff;
  background:transparent;
}
.cta-section .btn-secondary:hover{
  border-color:#fff;
  background:rgba(255,255,255,.12);
  color:#fff;
}
/* CTA title küçültme — tek satır: Hayalindeki Vücuda / Ulaşmanın Zamanı */
.cta-title{font-size:clamp(32px,4.4vw,62px);max-width:900px;margin-left:auto;margin-right:auto;text-wrap:balance}

/* Grup dersleri başlığı tek satırda kalmasın — net 2 satır için */
.kd-cls-head .section-title{font-size:clamp(25px,3.6vw,49px);text-wrap:balance}

/* ══════════════════════════════════════════════════════════════
   EMPTY STATE (sadeleştirilmiş)
   ══════════════════════════════════════════════════════════════ */
.k-empty h3{font-size:22px}
.k-empty p{max-width:320px}

/* ══════════════════════════════════════════════════════════════
   LIGHT TEMA: ACTIVE DURUMLAR (beyaz-beyaz çakışmalarını düzelt)
   ══════════════════════════════════════════════════════════════ */
[data-theme="light"] .kd-day:not(.active){background:#fff}
[data-theme="light"] .kd-day.active{background:var(--red);border-color:var(--red)}
[data-theme="light"] .kd-day.active em{background:#fff;color:var(--red)}
[data-theme="light"] .kd-chip:not(.active){background:#fff}
[data-theme="light"] .kd-chip.active{background:var(--red);color:#fff;border-color:var(--red)}

/* Crumbs: beyaz temada sadece page-hero içindekini beyaz yap, kd-hero-body içindekini olduğu gibi bırak */
[data-theme="light"] .kd-hero-body .crumbs{
  background:rgba(255,255,255,.12);
  color:rgba(255,255,255,.85);
  border-color:rgba(255,255,255,.2);
}
[data-theme="light"] .kd-hero-body .crumbs a{color:rgba(255,255,255,.85)}
[data-theme="light"] .kd-hero-body .crumbs a:hover{color:#fff}
[data-theme="light"] .kd-hero-body .crumbs span{color:#fff}

/* (Nav icon kontrastı navbar section'ında handle edildi) */

/* ══════════════════════════════════════════════════════════════
   FACILITY GRID — büyütülmüş SVG + animasyonlu hover
   ══════════════════════════════════════════════════════════════ */
.kd-fac-head .section-title{white-space:nowrap;font-size:clamp(25px,3.6vw,49px)}

.kd-fac{
  padding:40px 30px 32px;
  background:var(--bg2);
  border:1px solid var(--border);
  border-radius:22px;
  position:relative;
  overflow:hidden;
  isolation:isolate;
  transition:transform .4s var(--ease-out,cubic-bezier(.2,.8,.2,1)), border-color .3s, box-shadow .4s;
  text-align:center;
  animation:facIn .5s var(--ease-out,cubic-bezier(.2,.8,.2,1)) both;
}
@keyframes facIn{
  from{opacity:0;transform:translateY(24px)}
  to{opacity:1;transform:none}
}
.kd-fac::before{
  content:"";
  position:absolute;inset:0;z-index:-1;
  background:radial-gradient(circle at 50% 0%,var(--red-glow),transparent 70%);
  opacity:0;
  transition:opacity .4s;
}
.kd-fac::after{
  content:"";
  position:absolute;top:0;left:50%;
  width:0;height:3px;
  background:var(--red);
  transform:translateX(-50%);
  transition:width .4s;
}
.kd-fac:hover{
  transform:translateY(-10px);
  border-color:var(--red);
  box-shadow:0 30px 60px -20px var(--red-glow);
}
.kd-fac:hover::before{opacity:1}
.kd-fac:hover::after{width:60%}

.kd-fac-ico{
  width:104px;height:104px;
  border-radius:24px;
  background:var(--bg3);
  color:#ffffff;                         /* inline SVG default = beyaz */
  display:grid;place-items:center;
  margin:0 auto 22px;
  border:1px solid var(--border);
  transition:all .5s var(--ease-spring,cubic-bezier(.34,1.56,.64,1));
  position:relative;
}
[data-theme="light"] .kd-fac-ico{color:var(--text)}  /* light tema: siyah */
.kd-fac-ico::before{
  content:"";
  position:absolute;inset:-3px;
  border-radius:inherit;
  border:2px solid var(--red);
  opacity:0;
  transition:all .4s;
}
.kd-fac:hover .kd-fac-ico{
  background:var(--red);
  color:#fff;
  border-color:var(--red);
  transform:scale(1.08) rotate(-6deg);
  animation:iconPulse .6s var(--ease-out,cubic-bezier(.2,.8,.2,1));
}
.kd-fac:hover .kd-fac-ico::before{
  opacity:.25;
  inset:-8px;
  animation:iconRipple 1.2s ease-out infinite;
}
@keyframes iconPulse{
  0%{transform:scale(1) rotate(0)}
  50%{transform:scale(1.15) rotate(-10deg)}
  100%{transform:scale(1.08) rotate(-6deg)}
}
@keyframes iconRipple{
  0%{inset:-3px;opacity:.5}
  100%{inset:-18px;opacity:0}
}

/* Inline SVG icon */
.kd-fac-ico svg{width:56px;height:56px;transition:transform .4s}
.kd-fac:hover .kd-fac-ico svg{transform:scale(1.1)}

/* External SVG icon (img tag + filter for coloring) */
.kd-fac-ico-svg img{
  width:62%;
  height:62%;
  object-fit:contain;
  filter:brightness(0) invert(1);   /* black SVG → white (dark tema default) */
  transition:filter .3s, transform .4s;
}
.kd-fac:hover .kd-fac-ico-svg img{transform:scale(1.1);filter:brightness(0) invert(1)}
[data-theme="light"] .kd-fac-ico-svg img{filter:none}   /* light tema: black/orijinal */
[data-theme="light"] .kd-fac:hover .kd-fac-ico-svg img{filter:brightness(0) invert(1)}  /* hover'da red bg üstünde beyaz */

.kd-fac h4{font-size:18px;font-weight:800;margin-bottom:6px;letter-spacing:-.01em;transition:color .3s}
.kd-fac:hover h4{color:var(--red)}
.kd-fac p{font-size:13.5px;line-height:1.55;color:var(--text-muted)}

@media (max-width:760px){
  .kd-fac-head .section-title{white-space:normal;font-size:clamp(20px,6vw,32px)}
  .kd-fac-ico{width:80px;height:80px;border-radius:20px}
  .kd-fac-ico svg{width:42px;height:42px}
  .kd-fac{padding:32px 24px 28px}
}

/* ══════════════════════════════════════════════════════════════
   SCHEDULE RESPONSIVE
   ══════════════════════════════════════════════════════════════ */
@media (max-width:900px){
  .sched-item{grid-template-columns:90px 1fr;gap:14px;padding:14px 16px}
  .sched-time strong{font-size:26px}
  .sched-cap{grid-column:1/-1;flex-direction:row;gap:14px;justify-content:flex-start;align-items:center;padding-top:10px;border-top:1px dashed var(--border);margin-top:4px}
  .sched-book{grid-column:1/-1;width:100%;margin-top:4px}
  .kd-ring-wrap{width:52px;height:52px}
  .kd-ring{width:52px;height:52px}
  .kd-ring-text strong{font-size:12px}
  .sched-name{font-size:17px}
  .sched-group-head{padding:12px 14px;gap:10px}
  .sched-group-label h3{font-size:14px}
  .sched-group-count{font-size:10px;padding:4px 10px}
}

/* ══════════════════════════════════════════════════════════════
   HAKKIMIZDA SAYFASI
   ══════════════════════════════════════════════════════════════ */

/* hero ekstra boşluk */
.hk-hero{padding-bottom:100px}

/* ── MANIFESTO ── */
.hk-manifesto{padding:100px 6% 120px;background:var(--bg2);border-block:1px solid var(--border);position:relative;overflow:hidden;isolation:isolate}
.hk-manifesto::before{content:"";position:absolute;inset:0;z-index:-1;
  background:
    radial-gradient(600px circle at 20% 0%, var(--red-glow), transparent 50%),
    radial-gradient(500px circle at 90% 100%, rgba(232,0,29,.08), transparent 55%);
}
.hk-man-inner{max-width:1000px;margin:0 auto;text-align:center;position:relative}
.hk-quote-mark{position:absolute;top:-80px;left:-20px;font-size:280px;font-weight:900;line-height:1;color:var(--red);opacity:.1;font-family:Georgia,serif;pointer-events:none;user-select:none}
.hk-manifesto-text{font-size:clamp(28px,4.2vw,56px);font-weight:800;line-height:1.18;letter-spacing:-.01em;color:var(--text);position:relative;z-index:1}
.hk-manifesto-text mark{background:none;color:var(--red);position:relative}
.hk-manifesto-text mark::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:8%;background:var(--red);opacity:.2;border-radius:4px;z-index:-1}
.hk-manifesto-signature{margin-top:40px;font-size:12px;letter-spacing:4px;font-weight:700;text-transform:uppercase;color:var(--text-muted)}

/* ── STORY ── */
.hk-story{display:grid;grid-template-columns:1.15fr 1fr;gap:60px;padding:120px 6%;align-items:center}
.hk-story-text .hk-story-p{font-size:16px;line-height:1.75;color:var(--text-muted);margin-bottom:22px;max-width:580px}
.hk-story-text .hk-story-p em{color:var(--text);font-style:italic;font-weight:600}
.hk-story-text .hk-story-p strong{color:var(--red);font-weight:800}

.hk-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px}
.hk-chip{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;background:var(--bg2);border:1px solid var(--border);border-radius:999px;font-size:12.5px;font-weight:700;letter-spacing:.4px}
.hk-chip i{width:6px;height:6px;border-radius:50%;background:var(--red);font-style:normal;box-shadow:0 0 10px var(--red-glow)}

.hk-story-media{position:relative;aspect-ratio:4/5;border-radius:24px;overflow:hidden;background:var(--bg2)}
.hk-story-img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(.1)}
.hk-media-card{position:absolute;top:24px;right:24px;padding:14px 18px;background:var(--red);color:#fff;border-radius:14px;box-shadow:0 20px 40px -18px var(--red-glow);z-index:2}
.hk-media-num{font-size:32px;font-weight:900;letter-spacing:-.02em;line-height:1}
.hk-media-label{font-size:10px;letter-spacing:2px;text-transform:uppercase;font-weight:700;opacity:.9;margin-top:4px}
.hk-media-tag{position:absolute;left:24px;bottom:24px;right:24px;padding:16px 18px;background:rgba(0,0,0,.78);backdrop-filter:blur(14px);color:#fff;border-radius:14px;border:1px solid rgba(255,255,255,.12);display:flex;align-items:center;gap:12px;font-size:13px;font-weight:700;letter-spacing:.4px;z-index:2}
.hk-media-tag svg{color:var(--red);flex:none}
.hk-media-tag small{font-weight:500;font-size:11px;opacity:.75;letter-spacing:.2px;display:block;margin-top:3px}
.hk-media-tag > *:first-child + *{flex:1;min-width:0}

/* ── VIDEO SECTION ── */
.hk-video-sec{padding:100px 6%;background:var(--bg2);border-block:1px solid var(--border)}
.hk-vid-head{text-align:center;max-width:720px;margin:0 auto 40px}
.hk-vid-head .section-eyebrow{justify-content:center}
.hk-vid-head .section-eyebrow::before{display:none}
.hk-vid-head .section-desc{margin-left:auto;margin-right:auto}

.hk-video-wrap{position:relative;max-width:1100px;margin:0 auto 60px;aspect-ratio:16/9;border-radius:24px;overflow:hidden;border:1px solid var(--border);box-shadow:0 40px 80px -30px rgba(232,0,29,.3)}
.hk-video-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

.hk-vid-texts{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1200px;margin:0 auto}
.hk-vid-col{padding:26px;background:var(--bg);border:1px solid var(--border);border-radius:18px;transition:border-color .3s}
.hk-vid-col:hover{border-color:var(--red)}
.hk-vid-col h3{font-size:17px;font-weight:800;margin-bottom:12px;letter-spacing:-.01em}
.hk-vid-col p{font-size:14px;line-height:1.65;color:var(--text-muted)}

/* ── VALUES ── */
.hk-values{padding:120px 6%}
.hk-val-head{text-align:center;max-width:680px;margin:0 auto 60px}
.hk-val-head .section-eyebrow{justify-content:center}
.hk-val-head .section-eyebrow::before{display:none}
.hk-val-head .section-desc{margin-left:auto;margin-right:auto}

.hk-val-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.hk-val{position:relative;padding:36px 28px 30px;background:var(--bg2);border:1px solid var(--border);border-radius:20px;transition:all .4s var(--ease-out,cubic-bezier(.2,.8,.2,1));overflow:hidden;isolation:isolate}
.hk-val::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--red),var(--red-dark));transform:scaleX(0);transform-origin:left;transition:transform .4s}
.hk-val:hover{transform:translateY(-6px);border-color:var(--red)}
.hk-val:hover::before{transform:scaleX(1)}
.hk-val-num{position:absolute;top:16px;right:22px;font-size:48px;font-weight:900;letter-spacing:-.03em;color:transparent;-webkit-text-stroke:1.5px var(--border);opacity:.8;user-select:none;line-height:1}
.hk-val:hover .hk-val-num{-webkit-text-stroke-color:var(--red);opacity:.25}
.hk-val-ico{width:56px;height:56px;border-radius:14px;background:var(--red-glow);color:var(--red);display:grid;place-items:center;margin-bottom:22px;border:1px solid rgba(232,0,29,.25);transition:all .3s}
.hk-val:hover .hk-val-ico{background:var(--red);color:#fff;transform:rotate(-6deg) scale(1.05)}
.hk-val-ico svg{width:26px;height:26px}
.hk-val h3{font-size:18px;font-weight:800;margin-bottom:10px;letter-spacing:-.01em}
.hk-val p{font-size:14px;color:var(--text-muted);line-height:1.65}

/* ── NUMBERS ── */
.hk-numbers{padding:80px 6%;background:var(--ink,#050505);color:#fff;border-block:1px solid rgba(255,255,255,.06);position:relative;overflow:hidden;isolation:isolate}
.hk-numbers::before{content:"";position:absolute;inset:0;z-index:-1;
  background:
    radial-gradient(600px circle at 10% 50%,rgba(232,0,29,.18),transparent 50%),
    radial-gradient(500px circle at 90% 50%,rgba(232,0,29,.12),transparent 50%);
}
.hk-num-inner{display:grid;grid-template-columns:repeat(5,1fr);gap:30px;max-width:1200px;margin:0 auto;text-align:center}
.hk-num{display:flex;flex-direction:column;gap:8px}
.hk-num strong{font-size:clamp(32px,4vw,58px);font-weight:900;letter-spacing:-.03em;line-height:1;color:#fff}
.hk-num strong span{font-variant-numeric:tabular-nums}
.hk-num:nth-child(1) strong{color:var(--red)}
.hk-num span{font-size:11px;letter-spacing:3px;font-weight:700;text-transform:uppercase;color:rgba(255,255,255,.6)}

/* ── CTA ── */
.hk-cta{position:relative;padding:140px 6%;color:#fff;isolation:isolate;text-align:center;overflow:hidden}
.hk-cta-bg{position:absolute;inset:0;z-index:-2}
.hk-cta-bg img{width:100%;height:100%;object-fit:cover}
.hk-cta::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(135deg,rgba(232,0,29,.85) 0%,rgba(9,9,9,.85) 100%)}
.hk-cta-content{max-width:720px;margin:0 auto}
.hk-cta-content .section-eyebrow{color:#fff;justify-content:center}
.hk-cta-content .section-eyebrow::before{background:#fff}
.hk-cta-content .cta-title{color:#fff;margin-bottom:20px}
.hk-cta-content .cta-title span{color:#fff;text-decoration:underline;text-decoration-color:rgba(255,255,255,.5);text-underline-offset:8px}
.hk-cta-content .cta-desc{color:rgba(255,255,255,.9);margin-bottom:36px}
.hk-cta-content .cta-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.hk-cta-content .btn-primary{background:#fff;color:var(--red);border-color:#fff}
.hk-cta-content .btn-primary:hover{background:transparent;color:#fff}
.hk-cta-content .btn-secondary{border-color:rgba(255,255,255,.6);color:#fff}
.hk-cta-content .btn-secondary:hover{border-color:#fff;background:rgba(255,255,255,.12)}

/* ══════════════════════════════════════════════════════════════
   HAKKIMIZDA RESPONSIVE
   ══════════════════════════════════════════════════════════════ */
@media (max-width:1100px){
  .hk-story{grid-template-columns:1fr;gap:40px}
  .hk-vid-texts{grid-template-columns:1fr 1fr}
  .hk-val-grid{grid-template-columns:1fr 1fr}
  .hk-num-inner{grid-template-columns:repeat(3,1fr);gap:40px 20px}
}
@media (max-width:720px){
  .hk-hero{padding-bottom:60px}
  .hk-manifesto{padding:70px 5%}
  .hk-quote-mark{font-size:180px;top:-50px}
  .hk-story,.hk-video-sec,.hk-values,.hk-numbers,.hk-cta{padding-left:5%;padding-right:5%}
  .hk-story{padding-top:70px;padding-bottom:70px}
  .hk-values{padding-top:70px;padding-bottom:70px}
  .hk-cta{padding:80px 5%}
  .hk-vid-texts{grid-template-columns:1fr}
  .hk-val-grid{grid-template-columns:1fr}
  .hk-num-inner{grid-template-columns:1fr 1fr;gap:30px 16px}
  .hk-media-card{top:16px;right:16px;padding:10px 14px}
  .hk-media-num{font-size:22px}
  .hk-media-tag{left:16px;right:16px;bottom:16px;padding:12px 14px;font-size:12px}
}

/* ══════════════════════════════════════════════════════════════
   LIGHT TEMA (HAKKIMIZDA)
   ══════════════════════════════════════════════════════════════ */
[data-theme="light"] .hk-manifesto{background:#fafafa}
[data-theme="light"] .hk-vid-col{background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.04)}
[data-theme="light"] .hk-val{background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.04)}
[data-theme="light"] .hk-chip{background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.04)}
[data-theme="light"] .hk-video-sec{background:#fafafa}
[data-theme="light"] .hk-numbers{background:#0b0b0b;color:#fff}

/* ══════════════════════════════════════════════════════════════
   VIDEO CARD (YouTube thumbnail + play — tıklayınca YT'de açılır)
   ══════════════════════════════════════════════════════════════ */
.video-card{display:block;position:relative;overflow:hidden;cursor:pointer;text-decoration:none;isolation:isolate}
.video-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .4s;display:block}
.video-card:hover img{transform:scale(1.04);filter:brightness(.75)}

.video-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.15) 0%,rgba(0,0,0,.45) 70%,rgba(0,0,0,.65) 100%);z-index:1;transition:background .3s}
.video-card:hover .video-overlay{background:linear-gradient(180deg,rgba(0,0,0,.2) 0%,rgba(0,0,0,.5) 70%,rgba(0,0,0,.75) 100%)}

.video-play{position:absolute;inset:0;display:grid;place-items:center;z-index:2;pointer-events:none}
.video-play svg{width:96px;height:auto;filter:drop-shadow(0 12px 30px rgba(0,0,0,.55));transition:transform .3s}
.video-play-bg{fill:var(--red);transition:fill .3s}
.video-card:hover .video-play svg{transform:scale(1.08)}
.video-card:hover .video-play-bg{fill:var(--red-dark)}

.video-caption{position:absolute;left:0;right:0;bottom:24px;text-align:center;z-index:3;color:#fff;font-size:12px;letter-spacing:2.5px;font-weight:700;text-transform:uppercase;pointer-events:none;opacity:.9;transition:opacity .3s,transform .3s}
.video-card:hover .video-caption{opacity:1;transform:translateY(-4px)}
@media (max-width:640px){
  .video-play svg{width:72px}
  .video-caption{font-size:10px;letter-spacing:1.8px;bottom:16px}
}

/* ══════════════════════════════════════════════════════════════
   GYMFIT'DE SPOR SAYFASI
   ══════════════════════════════════════════════════════════════ */
.gs-hero{padding-bottom:100px}

/* ── SPLIT INTRO ── */
.gs-intro{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:80px 6% 100px}
.gs-intro-card{display:grid;grid-template-columns:1fr;gap:0;background:var(--bg2);border:1px solid var(--border);border-radius:24px;overflow:hidden;transition:all .4s var(--ease-out,cubic-bezier(.2,.8,.2,1))}
.gs-intro-card:hover{border-color:var(--red);transform:translateY(-6px);box-shadow:0 30px 60px -20px var(--red-glow)}
.gs-intro-img{aspect-ratio:16/9;overflow:hidden;background:var(--bg3)}
.gs-intro-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.gs-intro-card:hover .gs-intro-img img{transform:scale(1.06)}
.gs-intro-body{padding:36px 32px}
.gs-tag{display:inline-block;font-size:10px;letter-spacing:2.5px;font-weight:800;text-transform:uppercase;color:var(--red);padding:6px 12px;background:var(--red-glow);border-radius:999px;border:1px solid rgba(232,0,29,.25);margin-bottom:18px}
.gs-intro-body h3{font-size:clamp(26px,3vw,40px);font-weight:900;letter-spacing:-.02em;line-height:1.1;text-transform:uppercase;margin-bottom:16px}
.gs-intro-body p{font-size:15px;line-height:1.65;color:var(--text-muted);margin-bottom:22px}
.gs-link{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:var(--text);padding-bottom:6px;border-bottom:2px solid var(--ink);transition:all .25s}
.gs-link:hover{color:var(--red);border-color:var(--red);gap:14px}
[data-theme="light"] .gs-link{border-bottom-color:var(--text)}

/* ── 12 CLASSES GRID ── */
.gs-classes{padding:100px 6%;background:var(--bg2);border-block:1px solid var(--border)}
.gs-cls-head{text-align:center;max-width:680px;margin:0 auto 50px}
.gs-cls-head .section-eyebrow{justify-content:center}
.gs-cls-head .section-eyebrow::before{display:none}
.gs-cls-head .section-desc{margin-left:auto;margin-right:auto}

.gs-cls-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.gs-cls{position:relative;padding:28px 22px 26px;background:var(--bg);border:1px solid var(--border);border-radius:18px;transition:all .35s var(--ease-out,cubic-bezier(.2,.8,.2,1));overflow:hidden;isolation:isolate}
.gs-cls::before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .35s}
.gs-cls:hover{transform:translateY(-6px);border-color:var(--red)}
.gs-cls:hover::before{transform:scaleX(1)}
.gs-cls-ico{width:52px;height:52px;border-radius:14px;background:var(--red-glow);color:var(--red);display:grid;place-items:center;margin-bottom:18px;border:1px solid rgba(232,0,29,.2);transition:all .3s}
.gs-cls:hover .gs-cls-ico{background:var(--red);color:#fff;transform:rotate(-6deg) scale(1.05)}
.gs-cls-ico svg{width:26px;height:26px}
.gs-cls-cat{display:inline-block;font-size:10px;letter-spacing:1.5px;font-weight:700;text-transform:uppercase;color:var(--text-muted);padding:3px 10px;background:var(--bg2);border:1px solid var(--border);border-radius:999px;margin-bottom:10px}
.gs-cls h3{font-size:17px;font-weight:900;letter-spacing:-.01em;text-transform:uppercase;margin-bottom:8px}
.gs-cls p{font-size:13px;color:var(--text-muted);line-height:1.6}
[data-theme="light"] .gs-cls{background:#fff}

/* ── BRANCH PICKER (Hızlı erişim) ── */
.gs-picker{padding:120px 6% 100px;position:relative;isolation:isolate;overflow:hidden}
.gs-picker::before{content:"";position:absolute;inset:0;z-index:-1;
  background:
    radial-gradient(600px circle at 50% 0%,var(--red-glow),transparent 60%);
}
.gs-pk-head{text-align:center;max-width:720px;margin:0 auto 40px}
.gs-pk-head .section-eyebrow{justify-content:center}
.gs-pk-head .section-eyebrow::before{display:none}
.gs-pk-head .section-desc{margin-left:auto;margin-right:auto}

.gs-pk-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:36px}
.gs-pk-tab{padding:10px 18px;border:1.5px solid var(--border);border-radius:999px;background:var(--bg2);color:var(--text-muted);font-size:13px;font-weight:700;letter-spacing:.3px;display:inline-flex;align-items:center;gap:8px;cursor:pointer;transition:all .25s}
.gs-pk-tab em{font-style:normal;font-size:10px;padding:2px 8px;background:var(--bg3);color:var(--text-muted);border-radius:999px}
.gs-pk-tab:hover{color:var(--text);border-color:var(--text-muted)}
.gs-pk-tab.active{background:var(--red);color:#fff;border-color:var(--red);box-shadow:0 10px 24px -12px var(--red-glow)}
.gs-pk-tab.active em{background:#fff;color:var(--red)}

.gs-pk-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.gs-pk-card{display:flex;flex-direction:column;background:var(--bg2);border:1px solid var(--border);border-radius:16px;overflow:hidden;transition:all .35s var(--ease-out,cubic-bezier(.2,.8,.2,1));color:inherit}
.gs-pk-card:not(.is-disabled):hover{border-color:var(--red);transform:translateY(-4px);box-shadow:0 20px 40px -20px var(--red-glow)}
.gs-pk-card.is-disabled{cursor:default;opacity:.55}
.gs-pk-card.is-disabled:hover{transform:none;border-color:var(--border);box-shadow:none}
.gs-pk-img{position:relative;aspect-ratio:4/3;background:var(--bg3);overflow:hidden}
.gs-pk-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.gs-pk-card:not(.is-disabled):hover .gs-pk-img img{transform:scale(1.08)}
.gs-pk-card.is-disabled .gs-pk-img img{filter:grayscale(.6) brightness(.7)}
.gs-pk-active,.gs-pk-soon{position:absolute;top:10px;right:10px;padding:4px 10px;font-size:10px;letter-spacing:1.2px;font-weight:800;text-transform:uppercase;border-radius:999px;backdrop-filter:blur(10px)}
.gs-pk-active{background:var(--red);color:#fff}
.gs-pk-soon{background:rgba(0,0,0,.75);color:#fff;border:1px solid rgba(255,255,255,.15)}
.gs-pk-body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:4px;flex:1}
.gs-pk-city{font-size:10px;letter-spacing:2px;font-weight:700;text-transform:uppercase;color:var(--text-muted)}
.gs-pk-body h4{font-size:17px;font-weight:900;letter-spacing:-.01em;text-transform:uppercase;margin:2px 0 auto}
.gs-pk-cta{margin-top:12px;font-size:12px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--red)}
.gs-pk-card.is-disabled .gs-pk-cta{color:var(--text-muted);font-weight:600;text-transform:none;letter-spacing:.3px;font-style:italic}

/* ── VIDEO ── */
.gs-video{padding:100px 6%;background:var(--bg2);border-block:1px solid var(--border)}
.gs-vid-head{text-align:center;max-width:680px;margin:0 auto 40px}
.gs-vid-head .section-eyebrow{justify-content:center}
.gs-vid-head .section-eyebrow::before{display:none}
.gs-vid-wrap{position:relative;max-width:1100px;margin:0 auto;aspect-ratio:16/9;border-radius:24px;overflow:hidden;border:1px solid var(--border);box-shadow:0 40px 80px -30px rgba(232,0,29,.3)}
.gs-vid-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ══════════════════════════════════════════════════════════════
   GYMFIT'DE SPOR RESPONSIVE
   ══════════════════════════════════════════════════════════════ */
@media (max-width:1100px){
  .gs-intro{grid-template-columns:1fr}
  .gs-cls-grid{grid-template-columns:repeat(3,1fr)}
  .gs-pk-grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:780px){
  .gs-intro,.gs-classes,.gs-picker,.gs-video{padding-left:5%;padding-right:5%}
  .gs-cls-grid{grid-template-columns:repeat(2,1fr)}
  .gs-pk-grid{grid-template-columns:repeat(2,1fr)}
  .gs-intro-body{padding:28px 22px}
}
@media (max-width:480px){
  .gs-cls-grid{grid-template-columns:1fr}
  .gs-pk-grid{grid-template-columns:1fr}
}

/* ══════════════════════════════════════════════════════════════
   GLOBAL REVIZE — tek tema, oval butonlar, temiz hero, day selector
   ══════════════════════════════════════════════════════════════ */

/* Tema toggle ve mm-theme butonu kaldırıldı */
.theme-toggle,
.mm-theme{display:none !important}

/* TÜM BUTONLAR OVAL — clip-path kaldırıldı, border-radius pill */
.btn-primary,.btn-secondary,
.nav-cta,.mm-cta,
.float-bubble,
.search-quick-link,
.lightbox-close,
.search-close-btn,
.mm-close,
.float-bubble-close{
  clip-path:none !important;
}
.btn-primary,.btn-secondary,.nav-cta,.mm-cta,.float-bubble{
  border-radius:999px !important;
}
.btn-primary,.btn-secondary{padding:14px 30px}
.nav-cta{padding:11px 24px}
.mm-cta{padding:16px 24px}

/* PAGE-HERO-3D — kırmızı glow ve drop-shadow kaldırıldı */
.page-hero-3d{
  filter:none !important;
}
/* Eski page-hero-bg radial red glow kaldır → temiz bg */
.page-hero-bg{
  background:var(--bg) !important;
}
/* Hero üzerindeki kırmızı opaklık vs kaldır */
.page-hero::before{
  display:none !important;
}

/* KULÜPLER PAGE-TITLE küçült */
.page-hero .page-title{
  font-size:clamp(28px,4vw,52px);
}

/* DAY SELECTOR (Pzt/Sal/Çar..) — daha temiz, site bütünlüğü */
.kd-days{
  background:var(--bg2);
  border:1px solid var(--border);
  border-radius:16px;
  padding:14px;
  gap:6px;
}
.kd-day{
  background:transparent;
  border:none;
  border-radius:12px;
  flex:1;
  min-width:0;
  padding:12px 6px;
  transition:all .25s;
}
.kd-day:hover{background:var(--bg3);border-color:transparent}
.kd-day.active{
  background:var(--red);
  border-color:var(--red);
  box-shadow:0 6px 16px -8px var(--red-glow);
}
.kd-day.active span,
.kd-day.active strong{color:#fff}
.kd-day em{
  background:#fff;
  color:var(--red);
  top:-7px;
  right:50%;
  transform:translateX(50%);
  padding:2px 9px;
  font-size:8.5px;
  letter-spacing:1.2px;
  box-shadow:0 4px 10px -4px rgba(0,0,0,.2);
}

/* Filter chips — daha sade */
.kd-filters{
  background:transparent;
  border-bottom:1px solid var(--border);
  padding-bottom:18px;
}
.kd-chip{
  background:var(--bg2);
  border:1px solid var(--border);
  border-radius:999px;
}
.kd-chip:hover{background:var(--bg3);border-color:var(--text-muted)}
.kd-chip.active{
  background:var(--red);
  color:#fff;
  border-color:var(--red);
}

/* ══════════════════════════════════════════════════════════════
   SCHEDULE REDESIGN — minimal, marka rengi (kırmızı + gri)
   ══════════════════════════════════════════════════════════════ */
.kd-classes{
  background:var(--bg) !important;
  border-block:1px solid var(--border);
}

/* Part-of-day group başlığı — sade beyaz kart */
.sched-group-head{
  background:var(--bg2) !important;
  border:1px solid var(--border) !important;
  padding:16px 20px !important;
}
.sched-group-head::before{display:none !important}
.sched-group-ico{
  background:var(--red-glow) !important;
  color:var(--red) !important;
  border:1px solid rgba(232,0,29,.2);
}
.sched-group-count{background:var(--bg3) !important;color:var(--text-muted)}

/* Tüm sched-item'lar için tek aksan: kırmızı sol bar */
.sched-item{
  background:var(--bg2) !important;
  border:1px solid var(--border);
}
.sched-item::before,
.sched-item[data-cat]::before{
  background:var(--red) !important;
}

/* Kategori chip'leri — hepsi nötr gri arka plan + koyu metin */
.sched-cat,
.sched-cat-cardio,
.sched-cat-strength,
.sched-cat-mind,
.sched-cat-water,
.sched-cat-dance{
  background:var(--bg3) !important;
  color:var(--text) !important;
}

/* HK-numbers light tema — koyu arka plan korundu (image overlay aksanı için) ama içerik temiz */
[data-theme="light"] .hk-numbers{
  background:#0b0b0b;
}

/* ══════════════════════════════════════════════════════════════
   KULÜP DETAY — sağ kolon: info card + stats grid
   ══════════════════════════════════════════════════════════════ */
.kd-side{display:flex;flex-direction:column;gap:18px}
.kd-info-card{background:var(--bg2);border:1px solid var(--border);border-radius:18px;padding:24px}
.kd-info-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:18px}
.kd-info-list li{display:flex;gap:14px;align-items:flex-start}
.kd-info-list svg{color:var(--red);flex:none;margin-top:2px}
.kd-info-list > li > div{flex:1;min-width:0}
.kd-info-label{display:block;font-size:10.5px;letter-spacing:2px;font-weight:700;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px}
.kd-info-list strong{display:block;font-size:14px;font-weight:600;line-height:1.5;color:var(--text)}
.kd-info-list a{color:var(--text);transition:color .2s}
.kd-info-list a:hover{color:var(--red)}
.kd-info-list a strong{font-weight:700}

/* Schedule day selector — net günler, aktif vurgulu */
.kd-day{position:relative}
.kd-day em{font-size:9px !important;padding:2px 7px !important;letter-spacing:1px !important}


