:root{
    --bg:#ffffff;
    --card:#ffffff;
    --text:#222222;
    --ink:#222222;
    --muted:#6d6d6d;
    --gold:#203470;
    --gold-dark:#182956;
    --blue:#203470;
    --blue-dark:#182956;
    --danger:#B42318;
    --border:#ECE6DE;
    --line:#ECE6DE;
    --surface:#F7F4EF;
    --shadow:0 10px 40px rgba(0,0,0,.05);
}
* { box-sizing: border-box; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.6;
}
a { color: inherit; text-decoration: none; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 76px;
  padding: 0 6vw;
  background: linear-gradient(180deg, #ffffff 0%, #fafbfc 100%);
  border-bottom: 1px solid var(--line);
}
.brand { display: inline-flex; align-items: center; gap: 10px; font-weight: 600; }
.brand span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 5px !important; background: var(--ink); color: #fff; }
.nav { display: flex; align-items: center; gap: 18px; font-size: 14px; font-weight: 600; }
.nav a { color: var(--muted); }

.menu-button,
.button,
.nav-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 18px;
  border: 1px solid var(--line);
  border-radius: 5px !important;
  background: #fff;
  color: var(--ink);
  font: inherit;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s, border-color 0.2s, color 0.2s;
}
.button{
    border-radius: 5px !important;
    padding:14px 28px;
    font-weight:600;
    transition:.25s;
}

.button.gold{
    background:#203470;
    border:none;
    color:#fff;
}

.button.gold:hover{
    background:#182956;
    transform:translateY(-2px);
}

.button.secondary{
    background:#fff;
    border:1px solid #203470;
    color:#203470;
}

.button.secondary:hover{
    background:#203470;
    border-color:#203470;
    color:#fff;
}
.button.mini { min-height: 36px; margin-top: 8px; padding: 0 12px; }
.menu-button { display: none; }

main { min-height: 70vh; }
.hero,
.page-hero,
.event-hero {
  display: grid;
  align-items: center;
  min-height: calc(92vh - 76px);
  padding: 12vh 6vw;
}
.hero {
  background:
    linear-gradient(90deg, rgba(255,255,255,.98), rgba(255,255,255,.92), rgba(255,255,255,.85)),
    url("https://images.unsplash.com/photo-1455390582262-044cdead277a?auto=format&fit=crop&w=1800&q=80") center/cover;
}
.page-hero {
  min-height: 52vh;
  background:
    linear-gradient(90deg, rgba(255,255,255,.98), rgba(255,255,255,.94)),
    url("https://images.unsplash.com/photo-1516321318423-f06f85e504b3?auto=format&fit=crop&w=1600&q=80") center/cover;
}
.event-hero.ankara-hero {
  background:
    linear-gradient(90deg, rgba(255,255,255,.98), rgba(255,255,255,.92), rgba(255,255,255,.88)),
    url("https://images.unsplash.com/photo-1518655048521-f130df041f66?auto=format&fit=crop&w=1800&q=80") center/cover;
}
.hero-inner, .section, .auth-shell, .admin-shell, .profile {
  width: min(1120px, 88vw);
  margin-left: auto;
  margin-right: auto;
}
.hero-inner { margin-left: 0; max-width: 760px; }
.page-hero .hero-inner, .event-hero .hero-inner { margin-left: auto; }
.eyebrow { color: var(--blue); font-size: 13px; font-weight: 600; text-transform: uppercase; }
h1 { margin: 0 0 18px; font-size: clamp(40px, 7vw, 82px); line-height: 1; letter-spacing: 0; }
.gallery-hero h1 { font-weight: 600; }
.hotel-hero h1,
.hotel-location-grid h2,
.hotel-location-grid h3 { font-weight: 600; }
h2 { margin: 0 0 18px; font-size: clamp(26px, 4vw, 44px); line-height: 1.1; font-weight: 600; }
h3 { margin: 0 0 10px; font-size: 20px; font-weight: 600; }
.footer h2, .footer h3 { font-weight: 600; }
.lead { max-width: 690px; color: var(--muted); font-size: 20px; }
.muted { color: var(--muted); }
.actions, .admin-tabs { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 16px; margin-top: 24px; }

.section { margin-top: 72px; margin-bottom: 72px; }
.section-head { max-width: 720px; margin-bottom: 24px; }
.section-head.centered { margin-left: auto; margin-right: auto; text-align: center; }
.event-year-buttons { display: flex; justify-content: center; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 24px; }
.compact-section { margin-top: 56px; }
.grid { display: grid; gap: 22px; }
.grid.three { grid-template-columns: repeat(3, 1fr); }
.grid.two { grid-template-columns: repeat(2, 1fr); }
.card, .event-card, .form-card, .profile-card, .table-card, .notice {
  border: 1px solid var(--line);
  border-radius: 5px !important;
  background: #fff;
  box-shadow: var(--shadow);
}
.card, .event-card, .form-card, .profile-card, .table-card, .notice { padding: 28px; }
.icon { display: inline-grid; place-items: center; width: 46px; height: 46px; margin-bottom: 16px; border-radius: 5px !important; background: var(--surface); }
.event-image {
  width: 100%;
  aspect-ratio: 16 / 10;
  margin-bottom: 20px;
  border-radius: 5px !important;
  background: url("https://images.unsplash.com/photo-1455390582262-044cdead277a?auto=format&fit=crop&w=900&q=80") center/cover;
}
.event-image.alt { background-image: url("https://images.unsplash.com/photo-1484480974693-6ca0a78fb36b?auto=format&fit=crop&w=900&q=80"); }

.sponsor-section {
  padding: 52px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: #ffffff;
}
.sponsor-strip {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 14px;
}
.sponsor-logo {
  display: grid;
  place-items: center;
  min-height: 60px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 5px !important;
  background: #fff;
  color: var(--ink);
  font-weight: 600;
  text-align: center;
  box-shadow: 0 10px 28px rgba(26, 26, 26, 0.05);
}

.floor-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 22px;
}
.floor-card {
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 5px !important;
  background: #fff;
  box-shadow: var(--shadow);
}
.floor-plan {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  min-height: 310px;
  margin-bottom: 18px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 5px !important;
  background:
    linear-gradient(90deg, rgba(59,130,246,.06) 1px, transparent 1px),
    linear-gradient(180deg, rgba(59,130,246,.06) 1px, transparent 1px),
    var(--surface);
  background-size: 34px 34px;
}
.floor-plan.compact {
  background-color: #fafafa;
}
.booth {
  display: grid;
  place-items: center;
  min-height: 64px;
  border: 1px solid #ddd3bd;
  border-radius: 5px !important;
  background: #fff;
  color: var(--ink);
  font-size: 13px;
  font-weight: 600;
}
.booth.wide {
  grid-column: 1 / -1;
  background: #1a1a1a;
  color: #fff;
}

.stats-strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: #ffffff;
}
.admin-shell .stats-strip { grid-template-columns: repeat(5, 1fr); }
.stat { padding: 26px 16px; text-align: center; }
.stat strong { display: block; font-size: 34px; line-height: 1; }
.stat span { color: var(--muted); font-weight: 600; }

.auth-shell, .admin-shell { padding: 56px 0; }
.form-card { width: min(760px, 100%); }
.form-card.compact { width: min(480px, 100%); }
.form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
label { display: grid; gap: 8px; margin-bottom: 16px; font-weight: 600; }
input, textarea, select {
  width: 100%;
  min-height: 44px;
  border: 1px solid var(--line);
  border-radius: 5px !important;
  padding: 10px 12px;
  background: #fff;
  color: var(--ink);
  font: inherit;
}
textarea { min-height: 112px; resize: vertical; }
.check { display: flex; align-items: center; gap: 10px; font-weight: 600; }
.check input { width: auto; min-height: auto; }
.flash { width: min(1120px, 88vw); margin: 18px auto; padding: 14px 16px; border: 1px solid #ffd1ca; border-radius: 5px !important; background: #fff5f3; color: var(--danger); }
.flash.success { border-color: var(--line); background: #f0f7ff; color: #1e40af; }

.profile-card { padding: 34px; }
.profile-head { display: grid; grid-template-columns: 96px 1fr; gap: 18px; align-items: center; margin-bottom: 28px; }
.avatar { display: grid; place-items: center; width: 84px; height: 84px; border-radius: 5px !important; background: var(--ink); color: #fff; font-size: 30px; font-weight: 600; }
.profile-grid { margin: 28px 0; }
.badge-list, .notice-list { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.badge-pill { display: inline-flex; align-items: center; gap: 8px; padding: 9px 12px; border-radius: 5px !important; background: var(--surface); font-size: 14px; font-weight: 600; }
.notice-list { display: grid; }
.notice.unread { border-color: var(--blue); background: #f0f7ff; }

.table-card { margin-top: 28px; }
.table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 5px !important; }
table { width: 100%; min-width: 900px; border-collapse: collapse; background: #fff; }
th, td { padding: 14px 16px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
th { background: var(--surface); font-size: 13px; text-transform: uppercase; }
.inline-form { margin: 0; }
.pill-form { display: inline-flex; align-items: center; gap: 8px; margin: 3px; }
.link-button { border: 0; background: transparent; color: var(--ink); font-weight: 600; cursor: pointer; }
.link-button.danger { color: var(--danger); }
.admin-form { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 22px; }
.admin-form textarea { grid-column: 1 / -1; }
.admin-list { margin-top: 20px; }

.split { display: grid; grid-template-columns: .85fr 1.15fr; gap: 32px; align-items: center; }
.gallery-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.gallery-grid.large { grid-template-columns: repeat(3, 1fr); }
.gallery-tile { min-height: 180px; border-radius: 5px !important; background-size: cover; background-position: center; box-shadow: var(--shadow); }
.gallery-tile.one { background-image: url("https://images.unsplash.com/photo-1499951360447-b19be8fe80f5?auto=format&fit=crop&w=900&q=80"); }
.gallery-tile.two { background-image: url("https://images.unsplash.com/photo-1516414447565-b14be0adf13e?auto=format&fit=crop&w=900&q=80"); }
.gallery-tile.three { background-image: url("https://images.unsplash.com/photo-1455390582262-044cdead277a?auto=format&fit=crop&w=900&q=80"); }
.gallery-tile.four { background-image: url("https://images.unsplash.com/photo-1517842645767-c639042777db?auto=format&fit=crop&w=900&q=80"); }
.gallery-tile.five { background-image: url("https://images.unsplash.com/photo-1516321318423-f06f85e504b3?auto=format&fit=crop&w=900&q=80"); }
.gallery-tile.six { background-image: url("https://images.unsplash.com/photo-1484480974693-6ca0a78fb36b?auto=format&fit=crop&w=900&q=80"); }

.footer {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 22px;
  padding: 42px 6vw;
  background: linear-gradient(180deg, #1a1a2e 0%, #111118 100%);
  color: #fff;
}
.footer p, .footer small, .footer a { color: #d7d7d7; }
.footer-links { display: flex; flex-wrap: wrap; gap: 14px; align-content: start; }
.footer small { grid-column: 1 / -1; }

.year-selector-bar {
  background: #1a1a2e;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  padding: 14px 0;
}
.year-selector-bar .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.year-form {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
}
.year-form label {
  margin: 0;
  color: #f2d27a;
  font-size: 13px;
  font-weight: 600;
}
.year-form select {
  min-height: 38px;
  border-color: rgba(242,210,122,0.55);
  background: #111118;
  color: #fff;
}
.year-badge,
.pill {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  border-radius: 5px !important;
  font-size: 13px;
  font-weight: 600;
}
.year-badge {
  padding: 7px 14px;
  background: var(--gold);
  color: #1a1a2e;
}
.pill {
  margin-bottom: 14px;
  padding: 6px 10px;
  background: var(--surface);
  color: var(--muted);
}
.event-page-hero,
.hotel-hero,
.gallery-hero {
  min-height: 58vh;
}
.event-page-hero .hero-inner,
.hotel-hero .hero-inner,
.gallery-hero .hero-inner {
  grid-template-columns: 1fr;
}
.hero-copy {
  max-width: 720px;
  font-size: 18px;
}
.event-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}
.event-meta span {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 7px 12px;
  border: 1px solid var(--line);
  border-radius: 5px !important;
  background: rgba(255,255,255,0.78);
  color: var(--ink);
  font-weight: 600;
}
.event-stats {
  grid-template-columns: repeat(3, 1fr);
}
.event-detail-split {
  align-items: start;
}
.timeline {
  display: grid;
  gap: 12px;
}
.timeline-row {
  display: grid;
  grid-template-columns: 88px 1fr;
  gap: 14px;
  align-items: start;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 5px !important;
  background: #fff;
  box-shadow: var(--shadow);
}
.time-badge {
  display: grid;
  place-items: center;
  min-height: 42px;
  border-radius: 5px !important;
  background: #203470;
  color: #fff;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.time-content {
  display: grid;
  gap: 4px;
}
.time-desc {
  color: var(--muted);
}
.workshop-card-clean {
  min-height: 190px;
}
.floor-header {
  margin-bottom: 12px;
}
.floor-label {
  display: inline-block;
  margin-bottom: 8px;
  color: var(--gold-dark);
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
}
.floor-desc {
  margin-bottom: 0;
}
.accommodation-grid {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 22px;
}
.accommodation-card.primary {
  background: linear-gradient(180deg, #fff, #fbf8f2);
}
.info-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  margin: 24px 0 0;
}
.info-list div {
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 5px !important;
  background: #fff;
}
.info-list dt {
  color: var(--muted);
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
}
.info-list dd {
  margin: 4px 0 0;
  color: var(--ink);
  font-weight: 600;
}
.clean-list {
  margin: 18px 0 0;
  padding-left: 18px;
  color: var(--muted);
}
.clean-list li + li {
  margin-top: 8px;
}
.gallery-page-grid .gallery-tile {
  display: flex;
  align-items: end;
  min-height: 300px;
}
.gallery-page-grid .gallery-tile span {
  display: block;
  width: 100%;
  padding: 48px 16px 16px;
  background: linear-gradient(transparent, rgba(0,0,0,.72));
  color: #fff;
  font-weight: 600;
}
.home-intro-hero ~ .sponsor-section {
    display: none;
}
.event-sponsor-section {
    display: block;
}
.map-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr);
    gap: 22px;
    align-items: stretch;
}
.hotel-location-grid {
    display: grid;
    grid-template-columns: minmax(340px, .85fr) minmax(0, 1.15fr);
    gap: 22px;
    align-items: stretch;
    --hotel-accent: #8a6a2f;
    --hotel-accent-dark: #6f5424;
    --blue: var(--hotel-accent);
    --blue-dark: var(--hotel-accent-dark);
    --gold: var(--hotel-accent);
    --gold-dark: var(--hotel-accent-dark);
}
.map-card {
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 5px !important;
    background: #fff;
    box-shadow: var(--shadow);
}
.hotel-map-card {
    min-height: 100%;
    --hotel-accent: #8a6a2f;
    --hotel-accent-dark: #6f5424;
    --blue: var(--hotel-accent);
    --blue-dark: var(--hotel-accent-dark);
    --gold: var(--hotel-accent);
    --gold-dark: var(--hotel-accent-dark);
}
.map-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 20px;
    border-bottom: 1px solid var(--line);
}
.map-card-head h2 {
    margin-bottom: 0;
}
.route-panel {
    margin-top: 26px;
    padding-top: 22px;
    border-top: 1px solid var(--line);
}
.price-panel {
    margin-top: 26px;
    padding: 18px;
    border: 1px solid rgba(138,106,47,.25);
    border-radius: 5px !important;
    background: rgba(138,106,47,.06);
}
.price-list {
    display: grid;
    gap: 10px;
    margin: 14px 0;
}
.price-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 0;
    border-bottom: 1px solid rgba(138,106,47,.18);
}
.price-row:last-child {
    border-bottom: 0;
}
.price-row span {
    color: var(--muted);
    font-weight: 600;
}
.price-row strong {
    color: var(--hotel-accent-dark);
    text-align: right;
}
.map-stage {
    position: relative;
}
.map-tabs {
    display: flex;
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 2;
    overflow: hidden;
    border: 1px solid rgba(26,26,46,.18);
    border-radius: 5px !important;
    background: rgba(255,255,255,.92);
    box-shadow: 0 10px 24px rgba(0,0,0,.14);
    backdrop-filter: blur(8px);
}
.map-tab {
    min-height: 38px;
    min-width: 76px;
    padding: 0 14px;
    border: 0;
    border-right: 1px solid var(--line);
    background: transparent;
    color: var(--muted);
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}
.map-tab:last-child {
    border-right: 0;
}
.map-tab.active {
    background: var(--hotel-accent, #1a1a2e);
    color: #fff;
}
.map-frame {
    display: none;
    width: 100%;
    height: 480px;
    border: 0;
}
.map-frame.active {
    display: block;
}
.route-card {
    height: 100%;
}
.route-list {
    display: grid;
    gap: 12px;
    margin: 20px 0 0;
    padding-left: 18px;
    color: var(--muted);
}
.route-list strong {
    color: var(--ink);
}

@media (max-width: 920px) {
  .menu-button { display: inline-flex; }
  .nav {
    position: absolute;
    top: 76px;
    left: 0;
    right: 0;
    display: none;
    flex-direction: column;
    align-items: stretch;
    padding: 18px 6vw 24px;
    background: #fff;
    border-bottom: 1px solid var(--line);
  }
  .nav.open { display: flex; }
  .grid.three, .grid.two, .stats-strip, .admin-shell .stats-strip, .form-grid, .admin-form, .split, .gallery-grid.large, .gallery-grid, .sponsor-strip, .floor-grid { grid-template-columns: 1fr; }
  .hero, .page-hero, .event-hero { min-height: auto; padding-top: 80px; padding-bottom: 80px; }
  .profile-head, .footer { grid-template-columns: 1fr; }
}

.container { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.container.narrow { max-width: 800px; }
.bg-warm { background: #ffffff; }

/* Hero */
.hero-inner { display: grid; grid-template-columns: 1.2fr 1fr; gap: 60px; align-items: center; }
.hero-visual { position: relative; height: 400px; }
.floating-card { position: absolute; background: white; padding: 16px 24px; border-radius: 5px !important; box-shadow: 0 20px 40px rgba(0,0,0,0.1); display: flex; align-items: center; gap: 12px; animation: float 6s ease-in-out infinite; }
.card-1 { top: 20%; left: 10%; animation-delay: 0s; }
.card-2 { top: 50%; right: 5%; animation-delay: 2s; }
.card-3 { bottom: 15%; left: 20%; animation-delay: 4s; }
.fc-icon { font-size: 24px; }
.fc-text { font-weight: 600; color: #333; }

/* Animations */
.animate-fade-up { opacity: 0; transform: translateY(30px); animation: fadeUp 0.8s ease forwards; }
.delay-1 { animation-delay: 0.1s; }
.delay-2 { animation-delay: 0.2s; }
.delay-3 { animation-delay: 0.3s; }
.delay-4 { animation-delay: 0.4s; }
@keyframes fadeUp { to { opacity: 1; transform: translateY(0); } }
@keyframes float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-20px); } }

/* Event Cards */
.event-card { background: white; border-radius: 5px !important; overflow: hidden; box-shadow: 0 4px 20px rgba(0,0,0,0.06); transition: transform 0.3s, box-shadow 0.3s; }
.event-card:hover { transform: translateY(-8px); box-shadow: 0 20px 40px rgba(0,0,0,0.12); }
.event-image { height: 200px; background: linear-gradient(135deg, #f5f0e8, #e8e0d0); position: relative; }
.event-city-badge { position: absolute; top: 16px; left: 16px; background: var(--blue); color: white; padding: 6px 14px; border-radius: 5px !important; font-size: 12px; font-weight: 600; }
.event-body { padding: 24px; }
.event-meta-line { display: flex; align-items: center; gap: 6px; color: #888; font-size: 13px; margin: 8px 0 12px; flex-wrap: wrap; }
.dot-sep { margin: 0 4px; }

/* Stats */
.stats-grid { display: flex; justify-content: center; align-items: center; gap: 40px; flex-wrap: wrap; }
.stat-divider { width: 1px; height: 60px; background: rgba(0,0,0,0.1); }
.stat-icon { font-size: 28px; margin-bottom: 8px; }

/* FAQ */
.faq-number { font-size: 48px; font-weight: 600; color: rgba(0,0,0,0.06); line-height: 1; margin-bottom: 12px; }

/* Notice */
.notice-card { display: flex; gap: 20px; align-items: flex-start; }
.notice-date { display: flex; flex-direction: column; align-items: center; background: var(--surface); padding: 12px 16px; border-radius: 5px !important; min-width: 60px; }
.notice-date .day { font-size: 24px; font-weight: 600; color: var(--blue); }
.notice-date .month { font-size: 12px; text-transform: uppercase; color: #888; letter-spacing: 1px; }

/* =====================
   AUTH — Ortalanmış Giriş / Kayıt
   ===================== */

.auth-shell {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: calc(100vh - 76px);
  padding: 24px 20px;
}

.form-card.register-card {
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
  padding: 32px 36px;
  border-radius: 5px !important;
  border: 1px solid var(--line);
  background: #fff;
  box-shadow: 0 12px 40px rgba(26, 26, 26, 0.08);
}

.register-card .register-head {
  text-align: center;
  margin-bottom: 20px;
}

.register-card .eyebrow {
  display: inline-block;
  margin-bottom: 6px;
  letter-spacing: 0.08em;
  font-size: 11px;
}

.register-card h1 {
  margin: 0 0 6px;
  font-size: 24px;
  text-align: center;
}

.register-card .lead {
  margin: 0 auto;
  font-size: 13px;
  max-width: 400px;
  text-align: center;
  line-height: 1.5;
}

.register-card .auth-switch {
  text-align: center;
  margin-top: 6px;
  font-size: 13px;
  font-weight: 600;
  color: var(--muted);
}

.register-card .auth-switch a {
  color: var(--blue);
  font-weight: 600;
  text-decoration: none;
}

.register-card .auth-switch a:hover {
  text-decoration: underline;
}

/* Hata mesajları */
.register-card .flash {
  margin: 10px 0;
  padding: 10px 14px;
  border-radius: 5px !important;
  font-size: 13px;
  font-weight: 600;
}

.register-card .flash.error {
  border: 1px solid #ffc7c7;
  background: #fff0f0;
  color: #c62828;
}

/* Form grid içindeki inputlar */
.register-card .form-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  margin-bottom: 12px;
}

.register-card label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 0;
  font-size: 11px;
  font-weight: 600;
  color: var(--ink);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.register-card input,
.register-card textarea {
  width: 100%;
  min-height: 40px;
  padding: 10px 14px;
  border-radius: 5px !important;
  border: 1.5px solid var(--line);
  background: #fff;
  color: var(--ink);
  font-size: 14px;
  font-family: inherit;
  transition: border-color 0.2s, box-shadow 0.2s;
  text-transform: none;
  letter-spacing: 0;
}

.register-card input:focus,
.register-card textarea:focus {
  outline: none;
  border-color: var(--blue);
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.12);
}

.register-card textarea {
  min-height: 80px;
  resize: vertical;
}

/* Checkboxlar */
.register-card .check {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 10px 0;
  font-size: 13px;
  font-weight: 600;
  color: var(--muted);
  text-transform: none;
  letter-spacing: 0;
  cursor: pointer;
}

.register-card .check input[type="checkbox"] {
  width: 18px;
  height: 18px;
  min-height: auto;
  margin-top: 2px;
  accent-color: var(--blue);
  cursor: pointer;
  flex-shrink: 0;
}

/* Buton */
.register-card .button.gold {
  width: 100%;
  min-height: 44px;
  margin-top: 10px;
  border-radius: 5px !important;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.02em;
  border-color: var(--blue);
  background: var(--blue);
  color: #fff;
}

.register-card .button.gold:hover {
  background: var(--blue-dark);
  border-color: var(--blue-dark);
}

@media (max-width: 640px) {
  .form-card.register-card {
    padding: 24px 20px;
    border-radius: 5px !important;
  }
  .register-card .form-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .register-card h1 {
    font-size: 20px;
  }
}

/* =====================
   AUTH — Login (Kompakt Kart)
   ===================== */

.form-card.login-card {
  width: 100%;
  max-width: 360px;
  margin: 0 auto;
  padding: 32px 32px;
  border-radius: 5px !important;
  border: 1px solid var(--line);
  background: #fff;
  box-shadow: 0 12px 40px rgba(26, 26, 26, 0.08);
}

.login-card .login-head {
  text-align: center;
  margin-bottom: 20px;
}

.login-card .eyebrow {
  display: inline-block;
  margin-bottom: 6px;
  letter-spacing: 0.08em;
  font-size: 11px;
}

.login-card h1 {
  margin: 0 0 6px;
  font-size: 22px;
  text-align: center;
}

.login-card .lead {
  margin: 0 auto;
  font-size: 13px;
  max-width: 260px;
  text-align: center;
  line-height: 1.5;
}

/* Hata mesajı */
.login-card .flash {
  margin: 0 0 14px;
  padding: 10px 14px;
  border-radius: 5px !important;
  font-size: 13px;
  font-weight: 600;
  text-align: center;
}

.login-card .flash.error {
  border: 1px solid #ffc7c7;
  background: #fff0f0;
  color: #c62828;
}

/* Form */
.login-form {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.login-form label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 0;
  font-size: 11px;
  font-weight: 600;
  color: var(--ink);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.login-form input[type="email"],
.login-form input[type="password"] {
  width: 100%;
  min-height: 40px;
  padding: 10px 14px;
  border-radius: 5px !important;
  border: 1.5px solid var(--line);
  background: #fff;
  color: var(--ink);
  font-size: 14px;
  font-family: inherit;
  transition: border-color 0.2s, box-shadow 0.2s;
  text-transform: none;
  letter-spacing: 0;
}

.login-form input:focus {
  outline: none;
  border-color: var(--blue);
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.12);
}

.login-form input::placeholder {
  color: #b0b0b0;
}

/* Beni hatırla */
.login-form .check {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  font-size: 13px;
  font-weight: 600;
  color: var(--muted);
  text-transform: none;
  letter-spacing: 0;
  cursor: pointer;
}

.login-form .check input[type="checkbox"] {
  width: 18px;
  height: 18px;
  min-height: auto;
  accent-color: var(--blue);
  cursor: pointer;
  flex-shrink: 0;
}

/* Buton */
.login-form .button.gold {
  width: 100%;
  min-height: 44px;
  margin-top: 4px;
  border-radius: 5px !important;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.02em;
  border-color: var(--blue);
  background: var(--blue);
  color: #fff;
}

.login-form .button.gold:hover {
  background: var(--blue-dark);
  border-color: var(--blue-dark);
}

.login-help {
  margin-top: 12px;
  text-align: center;
  font-size: 12px;
  font-weight: 600;
  color: var(--muted);
}

/* Alt link */
.login-footer {
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
  text-align: center;
  font-size: 13px;
  font-weight: 600;
  color: var(--muted);
}

.login-footer a {
  color: var(--blue);
  font-weight: 600;
  text-decoration: none;
}

.login-footer a:hover {
  text-decoration: underline;
}

@media (max-width: 520px) {
  .form-card.login-card {
    padding: 24px 20px;
    border-radius: 5px !important;
  }
  .login-card h1 {
    font-size: 20px;
  }
}

/* =====================
   ACCORDION — Neler Var?
   ===================== */

.accordion-grid {
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-width: 780px;
    margin: 0 auto;
}

.accordion-item {
    border: 1px solid var(--line);
    border-radius: 5px !important;
    background: #fff;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04);
    overflow: hidden;
    transition: box-shadow 0.25s ease, border-color 0.25s ease;
}

.accordion-item:hover {
    border-color: #d1d5db;
}

.accordion-item[open] {
    box-shadow: 0 8px 28px rgba(0,0,0,0.08);
    border-color: var(--blue);
}

.accordion-item summary {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 18px 22px;
    cursor: pointer;
    list-style: none;
    user-select: none;
    outline: none;
}

.accordion-item summary::-webkit-details-marker {
    display: none;
}

.acc-icon {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 5px !important;
    background: var(--surface);
    font-size: 18px;
    flex-shrink: 0;
    transition: background 0.2s;
}

.accordion-item[open] .acc-icon {
    background: var(--blue);
    color: #fff;
}

.acc-title {
    flex: 1;
    min-width: 0;
}

.acc-title h3 {
    margin: 0 0 2px;
    font-size: 16px;
    font-weight: 600;
}

.acc-hint {
    display: block;
    font-size: 13px;
    color: var(--muted);
    font-weight: 600;
}

.acc-arrow {
    width: 18px;
    height: 18px;
    color: var(--muted);
    transition: transform 0.3s ease, color 0.2s;
    flex-shrink: 0;
}

.accordion-item[open] .acc-arrow {
    transform: rotate(180deg);
    color: var(--blue);
}

.acc-content {
    padding: 0 22px 18px 80px;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.7;
    animation: accOpen 0.3s ease;
}

.acc-content p {
    margin: 0;
}

@keyframes accOpen {
    from { opacity: 0; transform: translateY(-6px); }
    to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 640px) {
    .accordion-item summary {
        padding: 16px 18px;
        gap: 12px;
    }
    .acc-content {
        padding: 0 18px 16px 72px;
    }
    .acc-icon {
        width: 38px;
        height: 38px;
        font-size: 16px;
    }
    .acc-title h3 {
        font-size: 15px;
    }
    .acc-hint {
        font-size: 12px;
    }
}

/* =====================
   FOOTER — Sosyal Medya
   ===================== */

.social-links {
    display: flex;
    gap: 10px;
    margin-top: 14px;
}

.social-links a {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 5px !important;
    background: rgba(255,255,255,0.08);
    color: #d7d7d7;
    transition: background 0.2s, color 0.2s, transform 0.2s;
}

.social-links a:hover {
    background: var(--blue);
    color: #fff;
    transform: translateY(-2px);
}

/* Sponsor strip — sade ve akıcı */
.sponsor-strip {
    display: flex;
    gap: 2.5rem;
    overflow-x: auto;
    padding: 1rem 0;
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE */
    mask-image: linear-gradient(to right, transparent, black 5%, black 95%, transparent);
    -webkit-mask-image: linear-gradient(to right, transparent, black 5%, black 95%, transparent);
}
.sponsor-strip::-webkit-scrollbar { display: none; }

.sponsor-logo {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.9rem;
    color: var(--muted, #888);
    white-space: nowrap;
    opacity: 0.7;
    transition: opacity 0.2s;
}
.sponsor-logo:hover { opacity: 1; }

.sponsor-dot {
    width: 6px;
    height: 6px;
    border-radius: 5px !important;
    background: var(--gold, #c9a84c);
    display: inline-block;
}

/* Floor plan görselleri */
.floor-plan img {
    width: 100%;
    height: auto;
    border-radius: 5px !important;
    display: block;
}

.gallery-tile {
    min-height: 280px;
    border-radius: 5px !important;
    background: linear-gradient(135deg, #f5f0e8 0%, #ebe4d6 100%);
    position: relative;
    overflow: hidden;
}
.gallery-tile.one { background: linear-gradient(135deg, #e8dfd1 0%, #d4c8b5 100%); }
.gallery-tile.two { background: linear-gradient(135deg, #f0eadd 0%, #e2d9c8 100%); }
.gallery-tile.three { background: linear-gradient(135deg, #ddd5c7 0%, #c9bfb0 100%); }

/* Boş durum kartları daha şık */
.empty-state {
    text-align: center;
    padding: 3rem 2rem;
    border: 1px dashed rgba(0,0,0,0.1);
    border-radius: 5px !important;
    background: rgba(255,255,255,0.5);
}
.empty-icon {
    font-size: 2.5rem;
    margin-bottom: 1rem;
    opacity: 0.5;
}
/* ========================================
   SPONSOR MARQUEE — GERÇEK LOGOLAR
   ======================================== */

.sponsor-section {
    padding: 4rem 0;
    background: #ffffff;
    overflow: hidden;
}

.marquee-wrapper {
    position: relative;
    width: 100%;
    overflow: hidden;
    padding: 0.5rem 0;
}

/* Sol/sağ yumuşak fade */
.marquee-wrapper::before,
.marquee-wrapper::after {
    content: '';
    position: absolute;
    top: 0;
    width: 100px;
    height: 100%;
    z-index: 2;
    pointer-events: none;
}
.marquee-wrapper::before {
    left: 0;
    background: linear-gradient(to right, #faf8f5, transparent);
}
.marquee-wrapper::after {
    right: 0;
    background: linear-gradient(to left, #faf8f5, transparent);
}

.marquee-track {
    display: flex;
    align-items: center;
    gap: 3.5rem;
    width: max-content;
    animation: marquee-scroll 24s linear infinite;
}

.marquee-wrapper:hover .marquee-track {
    animation-play-state: paused;
}

@keyframes marquee-scroll {
    0%   { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

/* Sponsor kartı */
.sponsor-item {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.7rem;
    padding: 1.4rem 2rem;
    background: #fff;
    border-radius: 5px !important;
    border: 1px solid rgba(0,0,0,0.04);
    box-shadow: 0 2px 14px rgba(0,0,0,0.03);
    transition: transform 0.35s ease, box-shadow 0.35s ease;
    cursor: pointer;
}
.sponsor-item:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 32px rgba(0,0,0,0.09);
}

/* Logo kutusu */
.sponsor-logo-wrap {
    width: 90px;
    height: 90px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border-radius: 5px !important;
    padding: 10px;
}

.sponsor-logo-wrap img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    /* Gri tonlamada başlar, hover'da renkli olur — çok şık */
    filter: grayscale(100%);
    opacity: 0.6;
    transition: all 0.4s ease;
}

.sponsor-item:hover .sponsor-logo-wrap img {
    filter: grayscale(0%);
    opacity: 1;
    transform: scale(1.08);
}

.sponsor-name {
    font-size: 0.82rem;
    color: #6b5e4f;
    font-weight: 500;
    white-space: nowrap;
    letter-spacing: 0.02em;
}

/* Responsive */
@media (max-width: 640px) {
    .marquee-track { gap: 2rem; }
    .sponsor-item { padding: 1rem 1.4rem; }
    .sponsor-logo-wrap { width: 64px; height: 64px; padding: 6px; }
    .marquee-wrapper::before,
    .marquee-wrapper::after { width: 60px; }
}

/* Page rebuild overrides */
.event-page-hero .hero-inner,
.hotel-hero .hero-inner,
.gallery-hero .hero-inner {
    display: block;
    max-width: 820px;
    margin-left: auto;
    margin-right: auto;
}
.event-page-hero .actions,
.hotel-hero .actions,
.gallery-hero .actions {
    justify-content: center;
}
.event-page-hero,
.hotel-hero,
.gallery-hero {
    text-align: center;
}
.event-page-hero .event-meta {
    justify-content: center;
}
.floor-card .floor-plan {
    display: block;
    min-height: 0;
}
.floor-card .floor-plan img {
    aspect-ratio: 16 / 10;
    object-fit: cover;
}

@media (max-width: 920px) {
    .year-selector-bar .container,
    .accommodation-grid,
    .hotel-location-grid,
    .map-layout,
    .event-stats,
    .info-list {
        grid-template-columns: 1fr;
    }
    .year-selector-bar .container {
        flex-direction: column;
        align-items: stretch;
    }
    .year-form {
        width: 100%;
    }
    .year-badge {
        justify-content: center;
        width: 100%;
    }
    .accommodation-grid {
        display: grid;
    }
    .map-frame {
        height: 360px;
    }
}

@media (max-width: 560px) {
    .timeline-row {
        grid-template-columns: 1fr;
    }
    .event-meta span {
        width: 100%;
        justify-content: center;
    }
}

/* =========================================================
   GALERİ
========================================================= */

.gallery-page-grid {
    display: block !important;
    width: 100% !important;
    column-count: 3 !important;
    column-gap: 18px !important;
}

.gallery-page-grid .gallery-photo {
    display: inline-block !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
    vertical-align: top !important;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
}

.gallery-page-grid .gallery-link {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    overflow: hidden !important;
    cursor: pointer !important;
    border-radius: 5px !important;
}

.gallery-page-grid .gallery-link img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: 100% !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    object-fit: fill !important;
    object-position: center !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

.gallery-page-grid .gallery-overlay {
    position: absolute !important;
    inset: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 0 !important;
    background: rgba(0, 0, 0, .25) !important;
    transition: opacity .25s ease !important;
}

.gallery-page-grid .gallery-link:hover .gallery-overlay,
.gallery-page-grid .gallery-link:focus-visible .gallery-overlay {
    opacity: 1 !important;
}

.gallery-page-grid .gallery-overlay > span {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 52px !important;
    height: 52px !important;
    border: 1px solid rgba(255, 255, 255, .8) !important;
    border-radius: 5px !important;
    color: #fff !important;
    background: rgba(0, 0, 0, .3) !important;
    font-size: 24px !important;
}

/* =========================================================
   GALERİ LIGHTBOX
========================================================= */

body.gallery-lightbox-open {
    overflow: hidden !important;
}

.gallery-lightbox {
    position: fixed !important;
    inset: 0 !important;
    z-index: 999999 !important;
    display: none !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100vw !important;
    height: 100vh !important;
    padding: 40px 90px !important;
    background: rgba(0, 0, 0, .94) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

.gallery-lightbox.is-open {
    display: flex !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

.lightbox-content {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: min(1200px, 90vw) !important;
    height: min(84vh, 900px) !important;
}

.lightbox-content img {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 90vw !important;
    max-height: 82vh !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: contain !important;
    border-radius: 5px !important;
    box-shadow: 0 20px 70px rgba(0, 0, 0, .55) !important;
}

.lightbox-close {
    position: absolute !important;
    top: 22px !important;
    right: 25px !important;
    z-index: 10 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 48px !important;
    height: 48px !important;
    padding: 0 !important;
    border: 1px solid rgba(255, 255, 255, .25) !important;
    border-radius: 5px !important;
    color: #fff !important;
    background: rgba(255, 255, 255, .10) !important;
    font-size: 32px !important;
    line-height: 1 !important;
    cursor: pointer !important;
}

.lightbox-arrow {
    position: absolute !important;
    top: 50% !important;
    z-index: 10 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 54px !important;
    height: 54px !important;
    padding: 0 !important;
    border: 1px solid rgba(255, 255, 255, .25) !important;
    border-radius: 5px !important;
    color: #fff !important;
    background: rgba(255, 255, 255, .10) !important;
    font-size: 24px !important;
    line-height: 1 !important;
    cursor: pointer !important;
    transform: translateY(-50%) !important;
}

.lightbox-prev {
    left: 25px !important;
}

.lightbox-next {
    right: 25px !important;
}

.lightbox-counter {
    position: absolute !important;
    left: 50% !important;
    bottom: -34px !important;
    transform: translateX(-50%) !important;
    color: rgba(255, 255, 255, .8) !important;
    font-size: 14px !important;
    white-space: nowrap !important;
}

.lightbox-close:hover,
.lightbox-arrow:hover {
    background: rgba(255, 255, 255, .20) !important;
}

@media (max-width: 1000px) {
    .gallery-page-grid {
        column-count: 2 !important;
    }
}

@media (max-width: 600px) {
    .gallery-page-grid {
        column-count: 1 !important;
        column-gap: 0 !important;
    }

    .gallery-page-grid .gallery-photo {
        margin-bottom: 12px !important;
    }

    .gallery-page-grid .gallery-link {
        border-radius: 5px !important;
    }

    .gallery-lightbox {
        padding: 20px 12px !important;
    }

    .lightbox-content {
        width: 100% !important;
        height: 78vh !important;
    }

    .lightbox-content img {
        max-width: 94vw !important;
        max-height: 76vh !important;
    }

    .lightbox-arrow {
        width: 44px !important;
        height: 44px !important;
        font-size: 20px !important;
    }

    .lightbox-prev {
        left: 8px !important;
    }

    .lightbox-next {
        right: 8px !important;
    }

    .lightbox-close {
        top: 10px !important;
        right: 10px !important;
        width: 42px !important;
        height: 42px !important;
    }
}
.event-countdown {
    margin-top: 32px;
    text-align: center;
}

.countdown-title {
    margin-bottom: 14px;
    color: rgba(255, 255, 255, .9);
    font-size: 14px;
    letter-spacing: .4px;
}

.countdown-title strong {
    color: #c9a227;
    font-weight: 600;
}

.countdown-grid {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.countdown-box {
    width: 82px;
    min-height: 82px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    padding: 10px;

    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 5px !important;

    background: rgba(0, 0, 0, .28);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);

    box-shadow: 0 8px 30px rgba(0, 0, 0, .12);
}

.countdown-box span {
    display: block;

    color: #fff;

    font-size: 28px;
    font-weight: 600;
    line-height: 1;

    font-variant-numeric: tabular-nums;
}

.countdown-box small {
    margin-top: 8px;

    color: rgba(255, 255, 255, .65);

    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.countdown-separator {
    color: #c9a227;
    font-size: 24px;
    font-weight: 600;
    margin-top: -16px;
}

@media (max-width: 600px) {

    .event-countdown {
        margin-top: 25px;
    }

    .countdown-grid {
        gap: 5px;
    }

    .countdown-box {
        width: 64px;
        min-height: 70px;
        padding: 8px 5px;
    }

    .countdown-box span {
        font-size: 21px;
    }

    .countdown-box small {
        margin-top: 6px;
        font-size: 8px;
    }

    .countdown-separator {
        font-size: 18px;
    }

}
:root {
    --ana-bg: #ffffff;
    --ana-white: #ffffff;
    --ana-text: #181818;
    --ana-muted: #777777;
    --ana-border: #e5e5e5;
    --ana-gold: #c5a15a;
    --ana-gold-dark: #a98442;
}

body {
    background: #ffffff;
    color: var(--ana-text);
}

/* HERO */

.home-intro-hero {
    position: relative;
    min-height: 680px;

    display: flex;
    align-items: center;

    padding: 90px 0;

    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,.98) 0%,
            rgba(255,255,255,.93) 43%,
            rgba(255,255,255,.30) 100%
        ),
        url("https://images.unsplash.com/photo-1455390582262-044cdead277a?auto=format&fit=crop&w=2000&q=85")
        center / cover no-repeat;

    border-bottom: 1px solid var(--ana-border);
}

.home-intro-hero .hero-inner {
    width: min(1180px, 92vw);
    margin: 0 auto;
}

.home-intro-hero .hero-content {
    max-width: 650px;
}

.home-intro-hero h1 {
    margin: 0;

    color: #181818;

    font-size: clamp(48px, 6vw, 78px);
    line-height: 1.02;

    letter-spacing: -2.5px;
    font-weight: 600;
}

.home-intro-hero h1::after {
    content: "";

    display: block;

    width: 55px;
    height: 3px;

    margin-top: 25px;

    background: var(--ana-gold);
}

/* ETKİNLİK BİLGİLERİ */

.home-intro-hero .event-meta {
    display: flex;
    flex-wrap: wrap;

    gap: 22px;

    margin-top: 28px;
}

.home-intro-hero .meta-item {
    display: inline-flex;
    align-items: center;

    gap: 8px;

    color: #444444;

    font-size: 13px;
    font-weight: 500;
}

.home-intro-hero .meta-item svg {
    color: var(--ana-gold);
}

/* BUTONLAR */

.home-intro-hero .actions {
    display: flex;
    flex-wrap: wrap;

    gap: 12px;

    margin-top: 32px;
}

.home-intro-hero .button {
    min-height: 46px;

    padding: 0 22px;

    border-radius: 5px !important;

    font-size: 13px;
    font-weight: 600;

    box-shadow: none;
}

.home-intro-hero .button.gold {
    background: var(--ana-gold);
    border: 1px solid var(--ana-gold);

    color: #ffffff;
}

.home-intro-hero .button.gold:hover {
    background: var(--ana-gold-dark);
    border-color: var(--ana-gold-dark);

    transform: none;
}

.home-intro-hero .button.secondary {
    background: #ffffff;

    border: 1px solid #aaaaaa;

    color: #181818;
}

.home-intro-hero .button.secondary:hover {
    background: #181818;
    border-color: #181818;

    color: #ffffff;

    transform: none;
}

/* GERİ SAYIM */

.home-intro-hero .event-countdown {
    margin-top: 38px;
}

.home-intro-hero .countdown-title {
    margin-bottom: 12px;

    color: #777777;

    font-size: 12px;
    font-weight: 500;
}

.home-intro-hero .countdown-title strong {
    color: var(--ana-gold-dark);
}

.home-intro-hero .countdown-grid {
    display: flex;
    align-items: center;

    gap: 8px;
}

.home-intro-hero .countdown-box {
    width: 70px;
    height: 64px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    background: #ffffff;

    border: 1px solid var(--ana-border);
    border-radius: 5px !important;
}

.home-intro-hero .countdown-box span {
    color: #181818;

    font-size: 23px;
    font-weight: 600;

    line-height: 1;
    font-variant-numeric: tabular-nums;
}

.home-intro-hero .countdown-box small {
    margin-top: 7px;

    color: #888888;

    font-size: 8px;
    font-weight: 600;

    letter-spacing: .1em;
    text-transform: uppercase;
}

.home-intro-hero .countdown-separator {
    color: var(--ana-gold);

    font-size: 20px;
}

/* TÜM BÖLÜMLER BEYAZ */

.home-intro-hero ~ .section,
.home-intro-hero ~ section,
.home-intro-hero ~ .section.bg-warm,
.home-intro-hero ~ .faq-grid {
    background: #ffffff !important;
}

.home-intro-hero ~ .section {
    padding-top: 85px;
    padding-bottom: 85px;

    border-bottom: 1px solid var(--ana-border);
}

/* BAŞLIKLAR */

.home-intro-hero ~ .section .section-head {
    margin-bottom: 40px;
}

.home-intro-hero ~ .section .section-head h2 {
    color: #181818;

    font-size: 32px;
    font-weight: 600;

    letter-spacing: -.7px;
}

.home-intro-hero ~ .section .section-head .subtitle {
    margin-top: 8px;

    color: #777777;

    font-size: 14px;
}

/* ETKİNLİK KARTLARI */

.home-intro-hero ~ .section .event-grid {
    gap: 24px;
}

.home-intro-hero ~ .section .event-card {
    overflow: hidden;

    background: #ffffff;

    border: 1px solid var(--ana-border);
    border-radius: 5px !important;

    box-shadow: none;

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.home-intro-hero ~ .section .event-card:hover {
    transform: translateY(-3px);

    box-shadow: 0 12px 30px rgba(0,0,0,.07);
}

.home-intro-hero ~ .section .event-image {
    height: 220px;

    margin: 0;

    border-radius: 5px !important;

    background-size: cover;
    background-position: center;
}

.home-intro-hero ~ .section .event-image-overlay {
    background:
        linear-gradient(
            to top,
            rgba(0,0,0,.28),
            transparent 60%
        );
}

.home-intro-hero ~ .section .event-city-badge {
    top: 15px;
    left: 15px;

    padding: 6px 9px;

    background: #ffffff;

    border-radius: 5px !important;

    color: #181818;

    font-size: 10px;
    font-weight: 600;
}

.home-intro-hero ~ .section .event-body {
    padding: 24px;
}

.home-intro-hero ~ .section .event-body h3 {
    margin-bottom: 10px;

    color: #181818;

    font-size: 20px;
}

.home-intro-hero ~ .section .event-meta-line {
    color: #777777;

    font-size: 12px;
}

.home-intro-hero ~ .section .event-meta-line svg {
    color: var(--ana-gold);
}

.home-intro-hero ~ .section .event-desc {
    margin: 15px 0 20px;

    color: #666666;

    font-size: 13px;
    line-height: 1.7;
}

.home-intro-hero ~ .section .event-body .button {
    width: 100%;

    min-height: 43px;

    border-radius: 5px !important;
}

/* SPONSOR TAMAMEN YOK */

.sponsor-section {
    display: none !important;
}

/* GALERİ */

.home-intro-hero ~ .section .gallery-grid.large {
    display: grid;

    grid-template-columns: 1.25fr .75fr;
    grid-template-rows: 230px 230px;

    gap: 10px;
}

.home-intro-hero ~ .section .gallery-tile {
    overflow: hidden;

    min-height: 0;

    border-radius: 5px !important;

    background-position: center;
    background-size: cover;

    box-shadow: none;

    transition: transform .25s ease;
}

.home-intro-hero ~ .section .gallery-tile:hover {
    transform: scale(1.01);
}

.home-intro-hero ~ .section .gallery-tile.one {
    grid-column: 1;
    grid-row: 1 / 3;
}

.home-intro-hero ~ .section .gallery-tile.two {
    grid-column: 2;
    grid-row: 1;
}

.home-intro-hero ~ .section .gallery-tile.three {
    grid-column: 2;
    grid-row: 2;
}

.home-intro-hero ~ .section .center-action {
    display: flex;
    justify-content: center;

    margin-top: 28px;
}

/* SSS */

.home-intro-hero ~ .faq-grid .faq-header {
    margin-bottom: 30px;
}

.home-intro-hero ~ .faq-grid .faq-header h2 {
    color: #181818;

    font-size: 32px;
}

.home-intro-hero ~ .faq-grid .faq-cards {
    gap: 15px;
}

.home-intro-hero ~ .faq-grid .faq-item {
    padding: 28px;

    background: #ffffff;

    border: 1px solid var(--ana-border);
    border-radius: 5px !important;

    box-shadow: none;
}

.home-intro-hero ~ .faq-grid .faq-number {
    margin-bottom: 15px;

    color: var(--ana-gold-dark);

    font-size: 12px;
    font-weight: 600;

    letter-spacing: .12em;
}

.home-intro-hero ~ .faq-grid .faq-item h3 {
    margin-bottom: 8px;

    color: #181818;

    font-size: 18px;
}

.home-intro-hero ~ .faq-grid .faq-item p {
    margin: 0;

    color: #777777;

    font-size: 13px;
    line-height: 1.7;
}

/* DUYURULAR */

.home-intro-hero ~ .section .notice-grid {
    gap: 14px;
}

.home-intro-hero ~ .section .notice-card {
    display: flex;
    gap: 18px;

    padding: 22px;

    background: #ffffff;

    border: 1px solid var(--ana-border);
    border-radius: 5px !important;

    box-shadow: none;
}

.home-intro-hero ~ .section .notice-date {
    flex-shrink: 0;

    width: 52px;
    height: 58px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    background: #ffffff;

    border: 1px solid var(--ana-border);
}

.home-intro-hero ~ .section .notice-date .day {
    color: var(--ana-gold-dark);

    font-size: 20px;
    font-weight: 600;
}

.home-intro-hero ~ .section .notice-date .month {
    color: #777777;

    font-size: 8px;
    font-weight: 600;

    text-transform: uppercase;
}

.home-intro-hero ~ .section .notice-content h3 {
    margin-bottom: 6px;

    color: #181818;

    font-size: 16px;
}

.home-intro-hero ~ .section .notice-content p {
    margin: 0;

    color: #777777;

    font-size: 13px;
    line-height: 1.6;
}

/* MOBİL */

@media (max-width: 900px) {

    .home-intro-hero {
        min-height: 620px;

        background:
            linear-gradient(
                rgba(255,255,255,.88),
                rgba(255,255,255,.96)
            ),
            url("https://images.unsplash.com/photo-1455390582262-044cdead277a?auto=format&fit=crop&w=1600&q=85")
            center / cover no-repeat;
    }

}

@media (max-width: 600px) {

    .home-intro-hero {
        min-height: 650px;
        padding: 55px 0;
    }

    .home-intro-hero .hero-inner {
        width: calc(100% - 36px);
    }

    .home-intro-hero h1 {
        font-size: 42px;
        letter-spacing: -1.5px;
    }

    .home-intro-hero .event-meta {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }

    .home-intro-hero .actions {
        flex-direction: column;
    }

    .home-intro-hero .actions .button {
        width: 100%;
    }

    .home-intro-hero .countdown-grid {
        justify-content: space-between;
    }

    .home-intro-hero .countdown-box {
        width: 62px;
        height: 60px;
    }

    .home-intro-hero ~ .section {
        padding-top: 60px;
        padding-bottom: 60px;
    }

    .home-intro-hero ~ .section .section-head h2 {
        font-size: 27px;
    }

    .home-intro-hero ~ .section .gallery-grid.large {
        grid-template-columns: 1fr;
        grid-template-rows: 260px 180px 180px;
    }

    .home-intro-hero ~ .section .gallery-tile.one,
    .home-intro-hero ~ .section .gallery-tile.two,
    .home-intro-hero ~ .section .gallery-tile.three {
        grid-column: auto;
        grid-row: auto;
    }
}
/* =========================================================
   FINAL CSS FIX / OVERRIDES
   Amaç: Çakışan eski kuralları ezmek, responsive düzeni
   sabitlemek ve mevcut PHP/HTML sınıflarıyla uyumlu çalıştırmak.
   ========================================================= */

html { scroll-behavior: smooth; }
html, body { width: 100%; min-height: 100%; }
body { overflow-x: hidden; }
img, svg { max-width: 100%; }
button, input, textarea, select { font: inherit; }

/* ANA KONTEYNERLER */
.container,
.hero-inner,
.section,
.auth-shell,
.admin-shell,
.profile {
    width: min(1120px, calc(100% - 40px));
    max-width: 1120px;
    margin-left: auto;
    margin-right: auto;
}

.container { padding-left: 0; padding-right: 0; }
.container.narrow { max-width: 800px; }

/* HEADER */
.site-header {
    width: 100%;
    padding-left: max(20px, calc((100vw - 1200px) / 2));
    padding-right: max(20px, calc((100vw - 1200px) / 2));
}

.brand { flex-shrink: 0; }
.nav { flex-wrap: wrap; }

/* HERO */
.hero,
.page-hero,
.event-hero,
.home-intro-hero {
    width: 100%;
    overflow: hidden;
}

.hero-inner {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
    gap: 48px;
    align-items: center;
}

.hero-inner > * { min-width: 0; }
.hero-content,
.hero-copy { min-width: 0; }

.home-intro-hero .hero-inner {
    display: block;
    width: min(1180px, calc(100% - 40px));
    max-width: 1180px;
}

.home-intro-hero .hero-content { max-width: 650px; }

/* BUTONLAR */
.button,
.menu-button,
.nav-cta {
    white-space: nowrap;
    text-decoration: none;
}

.button:focus-visible,
.menu-button:focus-visible,
.nav a:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
summary:focus-visible {
    outline: 2px solid var(--blue);
    outline-offset: 2px;
}

/* GRIDLER */
.grid,
.event-grid,
.notice-grid,
.faq-cards {
    width: 100%;
}

.grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.gallery-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.gallery-grid.large { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.floor-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.card,
.event-card,
.form-card,
.profile-card,
.table-card,
.notice,
.floor-card,
.map-card {
    min-width: 0;
}

/* EVENT KARTLARI */
.event-card { overflow: hidden; }
.event-image { overflow: hidden; background-size: cover; background-position: center; }
.event-body { min-width: 0; }
.event-body h3 { overflow-wrap: anywhere; }

/* EVENT SAYFASI */
.event-page-hero .hero-inner,
.hotel-hero .hero-inner,
.gallery-hero .hero-inner {
    display: block;
    width: min(820px, calc(100% - 40px));
    max-width: 820px;
    text-align: center;
}

.event-page-hero .actions,
.hotel-hero .actions,
.gallery-hero .actions,
.event-page-hero .event-meta {
    justify-content: center;
}

.event-meta { width: 100%; }
.event-meta span { max-width: 100%; }

/* ETKİNLİK İSTATİSTİKLERİ */
.event-stats,
.stats-strip {
    width: 100%;
}

/* HARİTA / OTEL */
.map-layout,
.hotel-location-grid,
.accommodation-grid {
    min-width: 0;
}

.map-layout > *,
.hotel-location-grid > *,
.accommodation-grid > * {
    min-width: 0;
}

.map-card { overflow: hidden; }
.map-frame { max-width: 100%; }

/* FORM */
.form-grid > *,
.admin-form > * { min-width: 0; }

input,
textarea,
select {
    max-width: 100%;
    appearance: none;
}

select { appearance: auto; }

/* TABLO */
.table-wrap { max-width: 100%; }
table { max-width: 100%; }

/* SPONSOR */
/* Eski dosyada sponsor-section sonradan display:none yapılıyordu.
   Sponsor alanı HTML'de varsa artık düzgün şekilde görünür. */
.event-sponsor-section,
.sponsor-section {
    display: block;
}

.sponsor-section { width: 100%; overflow: hidden; }
.sponsor-strip { max-width: 100%; }

/* GALLERY */
.gallery-page-grid {
    width: 100%;
    max-width: 100%;
}

.gallery-page-grid .gallery-photo,
.gallery-page-grid .gallery-link,
.gallery-page-grid .gallery-link img {
    max-width: 100%;
}

/* LIGHTBOX */
.gallery-lightbox { box-sizing: border-box; }
.gallery-lightbox.is-open { display: flex !important; }
.lightbox-content { min-width: 0; min-height: 0; }

/* AUTH */
.auth-shell {
    width: 100%;
    max-width: none;
}

.form-card.register-card,
.form-card.login-card {
    flex-shrink: 0;
}

/* FOOTER */
.footer {
    width: 100%;
    box-sizing: border-box;
}

/* =========================================================
   RESPONSIVE — TABLET
   ========================================================= */
@media (max-width: 1100px) {
    .site-header {
        padding-left: 24px;
        padding-right: 24px;
    }

    .hero-inner {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .hero-visual { display: none; }

    .map-layout,
    .hotel-location-grid,
    .accommodation-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 920px) {
    .container,
    .hero-inner,
    .section,
    .profile {
        width: min(100% - 32px, 760px);
    }

    .site-header { min-height: 70px; }

    .menu-button {
        display: inline-flex;
        position: relative;
        z-index: 22;
    }

    .nav {
        top: 70px;
        padding: 14px 16px 20px;
        gap: 6px;
        box-shadow: 0 14px 30px rgba(0,0,0,.08);
    }

    .nav a,
    .nav .nav-cta {
        width: 100%;
        min-height: 44px;
        justify-content: flex-start;
        padding-left: 14px;
    }

    .nav-dropdown {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: stretch;
    }

    .nav-dropdown::after {
        display: none;
    }

    .nav-dropdown::after {
        display: none;
    }

    .nav-trigger {
        width: 100%;
        justify-content: space-between;
    }

    .nav-submenu {
        position: static;
        min-width: 0;
        width: 100%;
        margin: 0 0 8px;
        padding: 4px 0 4px 12px;
        border: 0;
        border-left: 1px solid rgba(198, 169, 107, .35);
        border-radius: 5px !important;
        background: transparent;
        box-shadow: none;
        opacity: 1;
        pointer-events: auto;
        clip-path: none;
        transform: none;
        transition: none;
    }

    .nav-submenu::before {
        display: none;
    }

    .nav-submenu a {
        width: 100%;
        min-height: 38px;
        padding: 8px 12px 8px 30px;
        white-space: normal;
        opacity: 1;
        transform: none;
        transition: background .2s ease, color .2s ease;
    }

    .nav-dropdown:hover .nav-submenu,
    .nav-dropdown:focus-within .nav-submenu {
        transform: none;
    }

    .grid.three,
    .grid.two,
    .event-grid,
    .notice-grid,
    .faq-cards,
    .stats-strip,
    .admin-shell .stats-strip,
    .form-grid,
    .admin-form,
    .split,
    .floor-grid,
    .sponsor-strip {
        grid-template-columns: 1fr;
    }

    .grid,
    .event-grid,
    .notice-grid,
    .faq-cards {
        display: grid;
    }

    .gallery-grid,
    .gallery-grid.large {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home-intro-hero {
        min-height: 620px;
    }

    .home-intro-hero .hero-inner {
        width: calc(100% - 32px);
    }

    .floor-card .floor-plan {
        overflow: hidden;
    }
}

/* =========================================================
   RESPONSIVE — MOBİL
   ========================================================= */
@media (max-width: 640px) {
    .container,
    .hero-inner,
    .section,
    .profile {
        width: calc(100% - 28px);
    }

    .site-header {
        padding-left: 14px;
        padding-right: 14px;
    }

    .brand { font-size: 14px; }
    .brand span { width: 32px; height: 32px; }

    h1 { font-size: clamp(34px, 12vw, 48px); }
    h2 { font-size: clamp(24px, 8vw, 34px); }
    .lead { font-size: 16px; }

    .hero,
    .page-hero,
    .event-hero {
        padding: 64px 0;
    }

    .home-intro-hero {
        min-height: 650px;
        padding: 56px 0;
    }

    .home-intro-hero h1 {
        font-size: 42px;
        letter-spacing: -1.5px;
    }

    .home-intro-hero .event-meta {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }

    .actions,
    .home-intro-hero .actions {
        width: 100%;
        flex-direction: column;
    }

    .actions .button,
    .home-intro-hero .actions .button {
        width: 100%;
    }

    .event-meta span {
        width: 100%;
        justify-content: center;
    }

    .card,
    .event-card,
    .form-card,
    .profile-card,
    .table-card,
    .notice,
    .floor-card {
        padding: 20px;
    }

    .gallery-grid,
    .gallery-grid.large {
        grid-template-columns: 1fr;
    }

    .home-intro-hero ~ .section .gallery-grid.large {
        grid-template-columns: 1fr;
        grid-template-rows: 260px 180px 180px;
    }

    .timeline-row {
        grid-template-columns: 1fr;
    }

    .time-badge { width: 100%; }

    .info-list {
        grid-template-columns: 1fr;
    }

    .countdown-grid {
        gap: 5px;
    }

    .home-intro-hero .countdown-box {
        width: 62px;
        height: 60px;
    }

    .countdown-box {
        width: 64px;
        min-height: 70px;
    }

    .countdown-box span { font-size: 21px; }

    .footer {
        grid-template-columns: 1fr;
        padding: 34px 20px;
    }

    .footer-links {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .register-card .form-grid {
        grid-template-columns: 1fr;
    }

    .form-card.register-card,
    .form-card.login-card {
        padding: 24px 20px;
    }

    .gallery-lightbox {
        padding: 20px 10px !important;
    }

    .lightbox-content {
        width: 100% !important;
        height: 78vh !important;
    }

    .lightbox-content img {
        max-width: 94vw !important;
        max-height: 76vh !important;
    }
}

@media (max-width: 420px) {
    .home-intro-hero h1 { font-size: 36px; }

    .countdown-grid {
        gap: 3px;
    }

    .home-intro-hero .countdown-box {
        width: 55px;
        height: 56px;
    }

    .home-intro-hero .countdown-box span {
        font-size: 19px;
    }

    .home-intro-hero .countdown-box small {
        font-size: 7px;
    }

    .social-links { flex-wrap: wrap; }
}

/* Hareket azaltma tercihi */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}

/* Launch polish: quieter editorial rhythm, fewer template-like effects. */
:root {
    --bg: #fdfcf9;
    --card: #ffffff;
    --ink: #20201d;
    --text: #20201d;
    --muted: #66645f;
    --gold: #b08a3c;
    --gold-dark: #8f6d2e;
    --blue: #2f6f73;
    --blue-dark: #255a5d;
    --line: #e8e1d6;
    --border: #e8e1d6;
    --surface: #f5f1ea;
    --shadow: 0 18px 44px rgba(38, 32, 22, .07);
}

body {
    background: var(--bg);
    color: var(--ink);
    font-family: "Segoe UI", Inter, ui-sans-serif, system-ui, -apple-system, sans-serif;
}

.site-header {
    overflow: visible;
    background: rgba(255, 255, 255, .92);
    backdrop-filter: blur(18px) saturate(1.2);
    box-shadow: 0 1px 0 rgba(20, 20, 20, .06), 0 18px 42px rgba(20, 20, 20, .045);
}

.brand {
    letter-spacing: .01em;
}

.nav {
    gap: 16px;
    font-weight: 500;
    overflow: visible;
}

.nav a {
    color: #5f5b53;
}

.nav-dropdown {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.nav-dropdown::after {
    content: "";
    position: absolute;
    top: 100%;
    left: -34px;
    right: -34px;
    height: 30px;
}

.nav-trigger {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 42px;
    padding: 0 2px;
    transition: color .22s ease;
}

.nav-chevron {
    width: 7px;
    height: 7px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: translateY(-2px) rotate(45deg);
    transition: transform .24s ease;
}

.nav-submenu {
    position: absolute;
    top: 100%;
    left: 50%;
    z-index: 50;
    min-width: 286px;
    padding: 22px 12px 12px;
    border: 1px solid rgba(20, 20, 20, .08);
    border-radius: 5px !important;
    background:
        linear-gradient(180deg, rgba(255,255,255,.62) 0, rgba(255,255,255,0) 22px),
        radial-gradient(circle at 24% 12%, rgba(198, 169, 107, .14), transparent 28%),
        linear-gradient(145deg, rgba(255,255,255,.99), rgba(255,255,255,.96)),
        #fff;
    box-shadow: 0 26px 70px rgba(22, 20, 18, .18), inset 0 1px 0 rgba(255,255,255,.9);
    opacity: 0;
    pointer-events: none;
    clip-path: inset(0 0 100% 0 round 16px);
    transform: translate3d(-50%, 10px, 0) scale(.94) rotateX(-7deg);
    transform-origin: top center;
    will-change: opacity, transform, clip-path;
    transition:
        opacity .22s ease,
        transform .34s cubic-bezier(.16, 1, .3, 1),
        clip-path .34s cubic-bezier(.16, 1, .3, 1);
}

.nav-submenu::before {
    content: "";
    position: absolute;
    top: 15px;
    left: 50%;
    width: 14px;
    height: 14px;
    border-left: 1px solid rgba(20, 20, 20, .08);
    border-top: 1px solid rgba(20, 20, 20, .08);
    background: rgba(255,255,255,.99);
    transform: translateX(-50%) rotate(45deg);
}

.nav-submenu a {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 46px;
    padding: 10px 14px 10px 38px;
    border-radius: 5px !important;
    color: #3b3833;
    white-space: nowrap;
    opacity: 0;
    transform: translateY(-8px);
    transition:
        background .2s ease,
        color .2s ease,
        transform .22s ease,
        opacity .2s ease;
}

.nav-submenu a::before {
    content: "";
    position: absolute;
    left: 16px;
    width: 8px;
    height: 8px;
    border-radius: 5px !important;
    background: var(--gold);
    box-shadow: 0 0 0 4px rgba(198, 169, 107, .13);
}

.nav-submenu a:hover,
.nav-submenu a:focus-visible {
    background: linear-gradient(90deg, rgba(198, 169, 107, .16), rgba(198, 169, 107, .05));
    color: var(--ink);
    transform: translateX(4px);
}

.nav-dropdown:hover .nav-submenu,
.nav-dropdown:focus-within .nav-submenu,
.nav-dropdown.is-open .nav-submenu {
    opacity: 1;
    pointer-events: auto;
    clip-path: inset(0 0 0 0 round 16px);
    transform: translate3d(-50%, 0, 0) scale(1) rotateX(0);
}

.nav-dropdown:hover .nav-submenu a,
.nav-dropdown:focus-within .nav-submenu a,
.nav-dropdown.is-open .nav-submenu a {
    opacity: 1;
    transform: translateY(0);
}

.nav-dropdown:hover .nav-submenu a:nth-child(2),
.nav-dropdown:focus-within .nav-submenu a:nth-child(2),
.nav-dropdown.is-open .nav-submenu a:nth-child(2) {
    transition-delay: .04s;
}

.nav-dropdown:hover .nav-chevron,
.nav-dropdown:focus-within .nav-chevron,
.nav-dropdown.is-open .nav-chevron {
    transform: translateY(1px) rotate(225deg);
}

@media (max-width: 920px) {
    .nav-dropdown {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: stretch;
    }

    .nav-dropdown::after {
        display: none;
    }

    .nav-trigger {
        width: 100%;
        justify-content: space-between;
    }

    .nav-submenu {
        position: static;
        min-width: 0;
        width: 100%;
        margin: 0 0 8px;
        padding: 4px 0 4px 12px;
        border: 0;
        border-left: 1px solid rgba(198, 169, 107, .35);
        border-radius: 5px !important;
        background: transparent;
        box-shadow: none;
        opacity: 1;
        pointer-events: auto;
        clip-path: none;
        transform: none;
        transition: none;
    }

    .nav-submenu::before {
        display: none;
    }

    .nav-submenu a {
        width: 100%;
        min-height: 38px;
        padding: 8px 12px 8px 30px;
        white-space: normal;
        opacity: 1;
        transform: none;
        transition: background .2s ease, color .2s ease;
    }

    .nav-dropdown:hover .nav-submenu,
    .nav-dropdown:focus-within .nav-submenu {
        transform: none;
    }
}

.lang-link {
    padding: 7px 10px;
    border: 1px solid var(--line);
    border-radius: 5px !important;
    background: #fff;
}

.hero,
.page-hero,
.event-hero {
    background-color: var(--bg);
}

.home-intro-hero {
    background:
        linear-gradient(90deg, rgba(253,252,249,.96) 0%, rgba(253,252,249,.88) 48%, rgba(253,252,249,.46) 100%),
        url("https://images.unsplash.com/photo-1455390582262-044cdead277a?auto=format&fit=crop&w=2000&q=84") center / cover no-repeat;
}

.page-hero {
    background:
        linear-gradient(90deg, rgba(253,252,249,.97), rgba(253,252,249,.83)),
        url("https://images.unsplash.com/photo-1516414447565-b14be0adf13e?auto=format&fit=crop&w=1800&q=82") center / cover no-repeat;
}

h1,
h2,
h3 {
    letter-spacing: 0;
}

.lead {
    color: #5f5b53;
}

.page-hero a {
    color: var(--blue-dark);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 4px;
}

.button {
    border-radius: 5px !important;
    box-shadow: none;
}

.button.gold {
    background: var(--ink);
    color: #fff;
}

.button.gold:hover {
    background: #38342f;
}

.button.secondary {
    background: #fff;
    border-color: #d8d0c3;
}

.card,
.event-card,
.form-card,
.profile-card,
.table-card,
.notice,
.floor-card,
.map-card {
    border-radius: 5px !important;
    box-shadow: 0 14px 34px rgba(35, 31, 25, .055);
}

.event-card {
    background: #fff;
}

.event-image,
.gallery-tile,
.floor-card,
.map-card {
    border-radius: 5px !important;
}

.value-list p,
.editorial-pair article {
    margin: 0;
    padding-top: 18px;
    border-top: 1px solid var(--line);
}

.value-list strong {
    color: var(--ink);
}

.final-cta {
    text-align: center;
}

.final-cta p {
    margin: 0 0 20px;
    font-size: 18px;
}

.social-links {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 14px;
}

.footer {
    background: #24211d;
}

.footer a:hover {
    color: #fff;
}

/* Premium white theme */
:root {
    --bg: #ffffff;
    --card: #ffffff;
    --surface: #ffffff;
    --border: #ececec;
    --line: #ececec;
}

html,
body,
main,
.section,
.bg-warm,
.auth-shell,
.admin-shell,
.profile,
.site-header,
.footer,
.card,
.event-card,
.form-card,
.profile-card,
.table-card,
.notice,
.floor-card,
.map-card,
.sponsor-section,
.final-cta,
.empty-gallery,
.year-selector-bar {
    background-color: #ffffff !important;
}

.footer {
    border-top: 1px solid var(--line);
    color: var(--ink);
}

.footer a,
.footer p,
.footer small {
    color: #5f5b53;
}

.footer a:hover {
    color: var(--ink);
}

.button.secondary,
.lang-link,
input,
textarea,
select,
table,
.notice-date,
.badge-pill {
    background-color: #ffffff !important;
}

/* Launch admin/account polish */
.account-dropdown {
    margin-left: 2px;
    order: 20;
}

.lang-link {
    order: 10;
}

.account-trigger {
    gap: 9px;
    min-height: 44px;
    padding: 4px 8px 4px 4px;
    border: 1px solid var(--line);
    border-radius: 5px !important;
    background: #fff;
}

.nav-avatar {
    display: inline-grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 5px !important;
    background: var(--ink);
    color: #fff;
    font-size: 14px;
    font-weight: 600;
}

.account-name {
    max-width: 90px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.notification-dot {
    display: inline-grid;
    place-items: center;
    min-width: 22px;
    height: 22px;
    padding: 0 6px;
    border-radius: 5px !important;
    background: var(--gold);
    color: #fff;
    font-size: 12px;
    font-weight: 600;
}

.account-submenu {
    right: 0;
    left: auto;
    min-width: 230px;
    transform: translate3d(0, 10px, 0) scale(.94) rotateX(-7deg);
}

.account-submenu::before {
    left: auto;
    right: 30px;
}

.account-dropdown:hover .account-submenu,
.account-dropdown:focus-within .account-submenu,
.account-dropdown.is-open .account-submenu {
    transform: translate3d(0, 0, 0) scale(1) rotateX(0);
}

.admin-dashboard {
    display: grid;
    gap: 24px;
}

.admin-hero,
.admin-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.admin-hero h1 {
    margin-bottom: 10px;
}

.admin-section {
    padding: 28px;
}

.event-editor {
    align-items: end;
    padding: 20px;
    border: 1px solid var(--line);
    border-radius: 5px !important;
    background: #fbfaf8;
}

.event-editor label,
.admin-event-form label {
    margin-bottom: 0;
}

.event-editor .full {
    grid-column: 1 / -1;
}

.admin-event-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin-top: 24px;
}

.admin-event-card {
    display: grid;
    grid-template-columns: minmax(150px, .38fr) minmax(0, .62fr);
    gap: 16px;
    padding: 16px;
    border: 1px solid var(--line);
    border-radius: 5px !important;
    background: #fff;
    box-shadow: 0 14px 34px rgba(35, 31, 25, .055);
}

.admin-event-preview {
    min-height: 100%;
    border-radius: 5px !important;
    background: url("https://images.unsplash.com/photo-1455390582262-044cdead277a?auto=format&fit=crop&w=900&q=80") center/cover;
}

.admin-event-form {
    display: grid;
    gap: 12px;
}

.admin-form-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.admin-delete-form {
    grid-column: 2;
    margin-top: 4px;
}

.profile-card-modern {
    padding: 34px;
    border: 1px solid var(--line);
    background:
        linear-gradient(180deg, rgba(176, 138, 60, .06), rgba(255, 255, 255, 0) 210px),
        #fff;
}

.profile-hero-row {
    grid-template-columns: 96px minmax(0, 1fr) auto;
}

.profile-title h1 {
    margin-bottom: 8px;
    font-size: clamp(34px, 5vw, 56px);
}

.profile-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin: 28px 0;
}

.profile-stat {
    min-width: 0;
    padding: 18px;
    border: 1px solid var(--line);
    border-radius: 5px !important;
    background: #fff;
}

.profile-stat span {
    display: block;
    margin-bottom: 6px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
}

.profile-stat strong {
    display: block;
    overflow-wrap: anywhere;
    color: var(--ink);
    font-size: 16px;
}

@media (max-width: 1100px) {
    .admin-event-list {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 920px) {
    .account-trigger {
        width: 100%;
        justify-content: flex-start;
        border-radius: 5px !important;
        padding: 6px 10px;
    }

    .account-submenu {
        transform: none;
    }

    .admin-hero,
    .admin-section-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .admin-section {
        padding: 20px;
    }

    .admin-event-card {
        grid-template-columns: 1fr;
    }

    .admin-event-preview {
        min-height: 180px;
    }

    .admin-delete-form {
        grid-column: auto;
    }

    .profile-hero-row,
    .profile-summary {
        grid-template-columns: 1fr;
    }

    .profile-hero-row .button {
        width: 100%;
    }
}

@media (max-width: 640px) {
    .account-name {
        max-width: none;
    }

    .admin-form-row {
        grid-template-columns: 1fr;
    }
}

/* Compact event management */
.quick-event-form {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    margin-top: 18px;
}

.admin-events-table {
    margin-top: 20px;
}

.admin-events-table table {
    min-width: 760px;
}

.admin-event-line {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.admin-event-thumb {
    flex: 0 0 auto;
    width: 54px;
    height: 40px;
    border: 1px solid var(--line);
    border-radius: 5px !important;
    background: url("https://images.unsplash.com/photo-1455390582262-044cdead277a?auto=format&fit=crop&w=300&q=70") center/cover;
}

.event-detail-editor {
    display: grid;
    gap: 20px;
}

.event-detail-cover {
    width: 100%;
    aspect-ratio: 16 / 5;
    border: 1px solid var(--line);
    border-radius: 5px !important;
    background-position: center;
    background-size: cover;
}

.event-editor-page {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: 0;
}

.event-delete-panel {
    padding-top: 16px;
    border-top: 1px solid var(--line);
}

input[type="file"] {
    padding: 9px 10px;
}

@media (max-width: 920px) {
    .quick-event-form,
    .event-editor-page {
        grid-template-columns: 1fr;
    }
}

/* Final white-only theme overrides. Kept last so page-specific styles cannot reintroduce colour. */
:root {
    --bg: #ffffff;
    --card: #ffffff;
    --text: #171717;
    --ink: #171717;
    --muted: #5f5f5f;
    --gold: #171717;
    --gold-dark: #000000;
    --blue: #171717;
    --blue-dark: #000000;
    --danger: #4a4a4a;
    --border: #dedede;
    --line: #dedede;
    --surface: #f7f7f7;
    --shadow: 0 8px 24px rgba(0, 0, 0, .04);
}

.footer, .footer p, .footer small, .footer a,
.footer .social-links a, .nav a, .nav-submenu a {
    color: #171717 !important;
}

.footer { background: #ffffff !important; border-top: 1px solid var(--line); }

/* Text labels need natural-width links; the older icon rule forced 38px boxes. */
.footer .social-links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 18px;
}

.footer .social-links a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px !important;
    min-width: 40px;
    height: 40px;
    min-height: 40px;
    padding: 0;
    border: 1px solid var(--line);
    border-radius: 5px !important;
    background: transparent !important;
}

.footer .social-links a:hover { background: #f5f5f5 !important; }
.footer .social-links svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.footer .social-links .social-fill { fill: currentColor; stroke: none; }

/* Dynamic home gallery images fill the original three-tile layout. */
.home-gallery-tile {
    display: block;
    position: relative;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
}

.home-gallery-tile img {
    display: block;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform .25s ease;
}

.home-gallery-tile:hover img { transform: scale(1.03); }

/* Home hero slider */
.home-hero-slider {
    display: block;
    min-height: 680px;
    padding: 0;
}

.home-slider {
    position: relative;
    min-height: inherit;
    overflow: hidden;
}

.home-slide {
    position: absolute;
    inset: 0;
    display: grid;
    align-items: center;
    opacity: 0;
    pointer-events: none;
    transform: translateX(4%);
    transition: opacity .65s ease, transform .7s cubic-bezier(.2, .8, .2, 1);
}

.home-slide.is-active {
    opacity: 1;
    pointer-events: auto;
    transform: translateX(0);
}

.home-slide:first-child {
    background: linear-gradient(115deg, rgba(255, 255, 255, .98), rgba(255, 255, 255, .88) 52%, rgba(255, 255, 255, .5));
}

.home-slide .hero-inner { width: min(1180px, 92vw); margin: 0 auto; }
.home-slogan-content { max-width: 740px; }
.home-slide-kicker { display: inline-block; margin-bottom: 18px; color: #102a4c; font-size: 13px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.home-slogan-content h1 { max-width: 720px; }
.home-slogan-content .lead { max-width: 560px; margin: 22px 0 0; font-size: clamp(18px, 2vw, 22px); }

.home-slider-controls {
    position: absolute;
    z-index: 2;
    right: max(4vw, 24px);
    bottom: 34px;
    display: flex;
    gap: 9px;
}

.home-slider-dot {
    width: 9px;
    height: 9px;
    padding: 0;
    border: 0;
    border-radius: 5px !important;
    background: rgba(16, 42, 76, .28);
    cursor: pointer;
    transition: width .28s ease, background-color .28s ease;
}

.home-slider-dot.is-active { width: 32px; border-radius: 5px !important; background: #102a4c; }

@media (max-width: 600px) {
    .home-hero-slider, .home-slider { min-height: 650px; }
    .home-slide .hero-inner { width: calc(100% - 36px); }
    .home-slider-controls { right: 18px; bottom: 24px; }
}

/* Editorial home page — intentional, quiet, community-first. */
.home-hero-slider {
    min-height: min(760px, calc(100vh - 76px));
    background: #f4f1eb;
    border-bottom: 1px solid #d9d2c7;
}

.home-slider { min-height: min(760px, calc(100vh - 76px)); }
.home-slide { transform: translateX(24px); }
.home-slide:first-child { background: #f4f1eb; }
.home-slide:first-child::after {
    content: 'SKT';
    position: absolute;
    right: 5vw;
    bottom: 7vh;
    color: rgba(16, 42, 76, .08);
    font-size: clamp(120px, 18vw, 280px);
    font-weight: 600;
    letter-spacing: -.12em;
    line-height: .7;
    pointer-events: none;
}

.home-slide:nth-child(2) {
    background: #102a4c;
    color: #fff;
}

.home-slide:nth-child(2)::before {
    content: '';
    position: absolute;
    top: 0;
    right: 9vw;
    bottom: 0;
    width: min(34vw, 480px);
    border-right: 1px solid rgba(255, 255, 255, .13);
    border-left: 1px solid rgba(255, 255, 255, .13);
    background: repeating-linear-gradient(90deg, transparent 0 58px, rgba(255, 255, 255, .05) 59px 60px);
    pointer-events: none;
}

.home-hero-slider .hero-content { position: relative; z-index: 1; max-width: 720px; }
.home-hero-slider h1 {
    max-width: 760px;
    font-size: clamp(48px, 6.2vw, 88px);
    letter-spacing: -.07em;
    line-height: .97;
}

.home-slide:nth-child(2) h1,
.home-slide:nth-child(2) .lead,
.home-slide:nth-child(2) .event-meta,
.home-slide:nth-child(2) .countdown-title { color: #fff; }

.home-slide:nth-child(2) .meta-item {
    border-color: rgba(255, 255, 255, .28);
    color: rgba(255, 255, 255, .82);
}

.home-slide:nth-child(2) .countdown-box {
    border-color: rgba(255, 255, 255, .25);
    background: rgba(255, 255, 255, .1);
}

.home-slide:nth-child(2) .countdown-box span { color: #fff; }
.home-slide:nth-child(2) .countdown-box small { color: rgba(255, 255, 255, .65); }
.home-slide:nth-child(2) .countdown-separator,
.home-slide:nth-child(2) .countdown-title strong { color: #c8d7ea; }
.home-slide:nth-child(2) .button.secondary { border-color: rgba(255, 255, 255, .42); color: #fff; background: transparent; }
.home-slide:nth-child(2) .button.secondary:hover { color: rgba(255, 255, 255, .72); background: rgba(255, 255, 255, .1); }

.home-slide-kicker,
.home-event-label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 24px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.home-event-label { color: #c8d7ea; }
.home-slide-kicker::before,
.home-event-label::before { content: ''; width: 28px; height: 1px; background: currentColor; }
.home-slogan-note { margin: 28px 0 0; color: #5d6877; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; }
.home-slider-controls { right: 6vw; bottom: 38px; }
.home-slider-dot { background: rgba(16, 42, 76, .25); }
.home-slider-dot.is-active { background: #102a4c; }
.home-slide:nth-child(2) ~ .home-slider-controls .home-slider-dot { background: rgba(255, 255, 255, .35); }

.home-events-section,
.home-gallery-section,
.home-faq-section,
.home-notices-section { padding-top: 112px !important; padding-bottom: 112px !important; }
.home-events-section { background: #fff !important; }
.home-events-section .section-head,
.home-gallery-section .section-head,
.home-notices-section .section-head { display: flex; align-items: end; justify-content: space-between; text-align: left; border-bottom: 1px solid #d9d2c7; padding-bottom: 22px; }
.home-events-section .section-head h2,
.home-gallery-section .section-head h2,
.home-notices-section .section-head h2 { margin: 0; font-size: clamp(32px, 4vw, 52px); letter-spacing: -.055em; }
.home-events-section .section-head .subtitle,
.home-gallery-section .section-head .subtitle,
.home-notices-section .section-head .subtitle { max-width: 310px; margin: 0; text-align: right; }

.home-events-section .event-grid { gap: 0; border-top: 0; }
.home-events-section .event-card { border: 0; border-radius: 5px !important; box-shadow: none; background: transparent; }
.home-events-section .event-card + .event-card { border-left: 1px solid #d9d2c7; }
.home-events-section .event-image { height: 260px; border-radius: 5px !important; }
.home-events-section .event-body { padding: 24px 0 0; }
.home-events-section .event-card + .event-card .event-body,
.home-events-section .event-card + .event-card .event-image { margin-left: 24px; }
.home-events-section .event-card:hover { transform: none; box-shadow: none; }
.home-events-section .event-card:hover .event-image { filter: saturate(1.08); transform: scale(.985); }

.home-gallery-section { background: #f4f1eb !important; }
.home-gallery-section .gallery-grid.large { border: 1px solid #d9d2c7; padding: 10px; background: #fff; }
.home-gallery-section .center-action { justify-content: flex-start; }
.home-faq-section { background: #102a4c !important; color: #fff; }
.home-faq-section .faq-header h2 { color: #fff; font-size: clamp(32px, 4vw, 52px); letter-spacing: -.055em; }
.home-faq-section .faq-item { background: transparent; border-color: rgba(255, 255, 255, .18); box-shadow: none; }
.home-faq-section .faq-item h3 { color: #fff; }
.home-faq-section .faq-item p { color: rgba(255, 255, 255, .7); }
.home-faq-section .faq-number { color: #c8d7ea; }
.home-notices-section { background: #fff !important; }
.home-notices-section .notice-card { border-radius: 5px !important; border: 0; border-top: 1px solid #d9d2c7; box-shadow: none; padding: 24px 0; }
.home-notices-section .notice-card:hover { transform: translateX(8px); box-shadow: none; border-color: #102a4c; }

@media (max-width: 760px) {
    .home-hero-slider, .home-slider { min-height: 650px; }
    .home-slide:first-child::after, .home-slide:nth-child(2)::before { display: none; }
    .home-events-section, .home-gallery-section, .home-faq-section, .home-notices-section { padding-top: 72px !important; padding-bottom: 72px !important; }
    .home-events-section .section-head, .home-gallery-section .section-head, .home-notices-section .section-head { display: block; }
    .home-events-section .section-head .subtitle, .home-gallery-section .section-head .subtitle, .home-notices-section .section-head .subtitle { margin-top: 12px; text-align: left; }
    .home-events-section .event-card + .event-card { border-top: 1px solid #d9d2c7; border-left: 0; margin-top: 28px; padding-top: 28px; }
    .home-events-section .event-card + .event-card .event-body, .home-events-section .event-card + .event-card .event-image { margin-left: 0; }
}

/* Ankara page: visible logo-only sponsor marquee and contemporary hover feedback. */
:root {
    --gold: #102a4c;
    --gold-dark: #1b3d68;
    --ana-gold: #102a4c;
    --ana-gold-dark: #1b3d68;
}

.event-sponsor-section {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.event-sponsor-section .sponsor-item {
    padding: 12px 18px;
    border: 1px solid #e2e8f0;
    border-radius: 5px !important;
}

.event-sponsor-section .sponsor-logo-wrap {
    width: 108px;
    height: 68px;
    padding: 0;
}

.event-sponsor-section .sponsor-logo-wrap img {
    filter: none;
    opacity: 1;
}

.button,
.nav a,
.event-sponsor-section .sponsor-item,
.workshop-card,
.floor-card,
.gallery-tile,
.event-card,
.notice {
    transition: transform .28s cubic-bezier(.2, .8, .2, 1), box-shadow .28s ease, border-color .28s ease, background-color .28s ease, color .28s ease;
}

.button {
    position: relative;
    isolation: isolate;
    overflow: hidden;
}

.button::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(115deg, transparent 18%, rgba(255, 255, 255, .24) 46%, transparent 72%);
    transform: translateX(-130%);
    transition: transform .55s cubic-bezier(.2, .8, .2, 1);
}

.button:hover { transform: translateY(-3px) scale(1.015); }
.button:hover::before { transform: translateX(130%); }
.button.gold { background: #102a4c; border-color: #102a4c; color: #fff; }
.button.gold:hover { background: #1b3d68; border-color: #1b3d68; box-shadow: 0 13px 28px rgba(16, 42, 76, .28), 0 0 0 4px rgba(16, 42, 76, .08); }
.button.secondary { background: #fff; border-color: #102a4c; color: #102a4c; }
.button.secondary:hover { background: #f8fafc; color: rgba(16, 42, 76, .62); box-shadow: 0 10px 24px rgba(16, 42, 76, .12), 0 0 0 4px rgba(16, 42, 76, .06); }

.nav a:not(.lang-link) { position: relative; }
.nav a:not(.lang-link)::after { content: ''; position: absolute; right: 0; bottom: -7px; left: 0; height: 2px; border-radius: 5px !important; background: #102a4c; transform: scaleX(0); transform-origin: right; transition: transform .28s cubic-bezier(.2, .8, .2, 1); }
.nav a:not(.lang-link):hover::after { transform: scaleX(1); transform-origin: left; }

.workshop-card:hover, .floor-card:hover, .event-card:hover, .notice:hover { transform: translateY(-6px); border-color: rgba(16, 42, 76, .22); box-shadow: 0 20px 45px rgba(16, 42, 76, .11); }
.gallery-tile:hover { transform: translateY(-4px); box-shadow: 0 18px 38px rgba(16, 42, 76, .16); }
.event-sponsor-section .sponsor-item:hover { transform: translateY(-5px) scale(1.035); border-color: rgba(16, 42, 76, .22); box-shadow: 0 14px 30px rgba(16, 42, 76, .14); }
.event-sponsor-section .sponsor-item:hover img { transform: scale(1.06); }

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* =========================================================
   ANA SAYFA HERO SLIDER
   ========================================================= */

.hero-rotator {
    position: relative;
    width: 100%;
    min-height: 450px;
    overflow: hidden;
    isolation: isolate;
}

.hero-rotator-track {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 450px;
}

.hero-rotator-slide {
    position: absolute;
    inset: 0;
    width: 100%;
    min-height: 450px;

    opacity: 0;
    visibility: hidden;
    pointer-events: none;

    transform: translateX(40px);
    transition:
        opacity 0.7s ease,
        transform 0.7s ease,
        visibility 0.7s ease;

    z-index: 1;
}

.hero-rotator-slide.is-active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(0);
    z-index: 2;
}

/* Hero içeriği */
.hero-rotator .hero-inner {
    position: relative;
    z-index: 3;
    width: 100%;
    min-height: 450px;

    display: flex;
    align-items: center;
}

.hero-rotator .hero-content {
    position: relative;
    z-index: 5;
    max-width: 650px;
}

/* İlk slayt */
.hero-rotator-slide:first-child .hero-content {
    padding-top: 0;
}

.hero-rotator-slide:first-child h1 {
    max-width: 600px;
}

/* İkinci slayt */
.hero-rotator-slide:nth-child(2) .hero-content {
    max-width: 680px;
}

/* Başlık */
.hero-rotator h1 {
    margin: 0 0 28px;
    font-size: clamp(48px, 5vw, 72px);
    line-height: 0.98;
    letter-spacing: -2.5px;
}

/* Alt açıklama */
.hero-rotator .lead {
    max-width: 620px;
    margin: 0;
    font-size: 18px;
    line-height: 1.7;
    color: #666;
}

/* Küçük çizgi */
.hero-rotator .hero-content::after {
    content: "";
    display: block;
    width: 52px;
    height: 3px;
    margin-top: 28px;
    background: #15365c;
}

/* İkinci slaytta çizginin başlığın hemen altında kalması */
.hero-rotator-slide:nth-child(2) .hero-content::after {
    margin-top: 28px;
}

/* Event bilgileri */
.hero-rotator .event-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 28px;
}

.hero-rotator .meta-item {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 8px 12px;

    border: 1px solid #ddd;
    border-radius: 5px !important;

    background: rgba(255, 255, 255, 0.85);
    color: #444;

    font-size: 13px;
}

/* Butonlar */
.hero-rotator .actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 30px;
}

.hero-rotator .actions .button {
    min-height: 44px;
}

/* Countdown */
.hero-rotator .event-countdown {
    margin-top: 36px;
}

.hero-rotator .countdown-title {
    margin-bottom: 14px;
    color: #777;
    font-size: 13px;
    letter-spacing: .2px;
}

.hero-rotator .countdown-title strong {
    color: #15365c;
}

/* Countdown kutuları */
.hero-rotator .countdown-grid {
    display: flex;
    align-items: center;
    gap: 10px;
}

.hero-rotator .countdown-box {
    width: 66px;
    height: 76px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    background: rgba(255, 255, 255, 0.94);
    border: 1px solid #e1e1e1;
    border-radius: 5px !important;

    box-shadow: 0 5px 18px rgba(0, 0, 0, .05);
}

.hero-rotator .countdown-box span {
    display: block;
    font-size: 23px;
    line-height: 1;
    font-weight: 600;
    color: #222;
}

.hero-rotator .countdown-box small {
    margin-top: 7px;
    font-size: 8px;
    line-height: 1;
    text-transform: uppercase;
    color: #888;
    font-weight: 600;
}

.hero-rotator .countdown-separator {
    color: #15365c;
    font-size: 20px;
    font-weight: 600;
}

/* Slider noktaları */
.hero-rotator-controls {
    position: absolute;
    left: 50%;
    bottom: 28px;
    z-index: 20;

    display: flex;
    align-items: center;
    gap: 8px;

    transform: translateX(-50%);
}

.hero-rotator-dot {
    width: 9px;
    height: 9px;
    padding: 0;

    border: 0;
    border-radius: 5px !important;

    background: rgba(21, 54, 92, .25);

    cursor: pointer;

    transition:
        width .3s ease,
        background .3s ease,
        transform .3s ease;
}

.hero-rotator-dot.is-active {
    width: 28px;
    border-radius: 5px !important;
    background: #15365c;
}

/* =========================================================
   ANİMASYONLAR
   ========================================================= */

.animate-fade-up {
    opacity: 0;
    transform: translateY(20px);
}

.hero-rotator-slide.is-active .animate-fade-up {
    animation: heroFadeUp .7s ease forwards;
}

.hero-rotator-slide.is-active .delay-1 {
    animation-delay: .15s;
}

.hero-rotator-slide.is-active .delay-3 {
    animation-delay: .35s;
}

.hero-rotator-slide.is-active .delay-4 {
    animation-delay: .45s;
}

.hero-rotator-slide.is-active .delay-5 {
    animation-delay: .55s;
}

@keyframes heroFadeUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* =========================================================
   MOBİL
   ========================================================= */

@media (max-width: 768px) {

    .hero-rotator,
    .hero-rotator-track,
    .hero-rotator-slide,
    .hero-rotator .hero-inner {
        min-height: 340px;
    }

    .hero-rotator .hero-inner {
        align-items: flex-start;
        padding-top: 90px;
    }

    .hero-rotator .hero-content {
        width: 100%;
        max-width: 100%;
    }

    .hero-rotator h1 {
        max-width: 100%;
        font-size: 44px;
        letter-spacing: -1.8px;
    }

    .hero-rotator .lead {
        font-size: 16px;
    }

    .hero-rotator .event-meta {
        gap: 8px;
    }

    .hero-rotator .meta-item {
        font-size: 12px;
    }

    .hero-rotator .countdown-box {
        width: 58px;
        height: 68px;
    }

    .hero-rotator .countdown-box span {
        font-size: 20px;
    }

    .hero-rotator-controls {
        bottom: 18px;
    }
}

/* Ana sayfa sayaç hizalama */
.home-intro-hero .event-countdown {
    width: 100%;
    margin-left: 0;
    margin-right: auto;
    text-align: left;
}

.home-intro-hero .countdown-title {
    text-align: left;
}

.home-intro-hero .countdown-grid {
    justify-content: flex-start;
    margin-left: 0;
    margin-right: auto;
}
/* =========================================================
   HOME INTRO HERO
   ========================================================= */

.home-intro-hero {
    background: #f7f3eb;
    overflow: hidden;
}

.home-intro-inner {
    max-width: 1320px;
    margin: 0 auto;
    min-height: 520px;
    display: grid;
    grid-template-columns: 46% 54%;
    align-items: stretch;
}

.home-intro-content {
    padding: 70px 55px 70px 45px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.home-intro-content .eyebrow,
.eyebrow {
    display: block;
    margin-bottom: 16px;
    font-size: 12px;
    letter-spacing: .18em;
    font-weight: 600;
    color: #a6814c;
}

.home-intro-content h1 {
    max-width: 570px;
    margin: 0 0 22px;
    font-size: clamp(38px, 4vw, 58px);
    line-height: 1.08;
}

.home-intro-content .lead {
    max-width: 560px;
    margin-bottom: 18px;
    font-size: 20px;
    line-height: 1.6;
}

.home-intro-content > p:not(.lead) {
    max-width: 550px;
    line-height: 1.75;
}

.home-intro-content .actions {
    margin-top: 25px;
}

.home-intro-image {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
}

.home-intro-image img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
}


/* =========================================================
   ABOUT SARIKALEM
   ========================================================= */

.about-sarikalem {
    display: grid;
    grid-template-columns: 42% 58%;
    gap: 70px;
    align-items: start;
}

.about-sarikalem-heading h2 {
    max-width: 500px;
    font-size: clamp(34px, 4vw, 52px);
    line-height: 1.1;
    margin: 0 0 20px;
}

.about-lead {
    max-width: 430px;
    font-size: 20px;
    line-height: 1.6;
}

.about-sarikalem-content {
    padding-top: 0;
}

.about-sarikalem-content p {
    max-width: 700px;
    font-size: 17px;
    line-height: 1.85;
    margin: 0 0 22px;
}

.about-sarikale­m-content .button {
    margin-top: 12px;
}

.about-features {
    margin-top: 70px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 35px;
}

.about-feature {
    border-top: 1px solid rgba(0, 0, 0, .15);
    padding-top: 25px;
}

.about-feature-number {
    color: #a6814c;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .12em;
    margin-bottom: 20px;
}

.about-feature h3 {
    margin-bottom: 10px;
}

.about-feature p {
    color: #6d675d;
    line-height: 1.7;
}


/* =========================================================
   EVENT
   ========================================================= */

.home-event-section {
    background: #29251f;
    color: #fff;
}

.home-event-layout {
    min-height: 500px;
    display: grid;
    grid-template-columns: 1fr 360px;
    gap: 70px;
    align-items: center;
}

.home-event-content {
    padding: 50px 0;
}

.home-event-content h2 {
    font-size: clamp(38px, 5vw, 64px);
    font-weight: 600;
    line-height: 1.05;
    margin: 0 0 25px;
}

.home-event-meta.event-meta span.meta-item {
    font-weight: 400;
}

.home-event-content .actions {
    flex-wrap: wrap;
    align-items: flex-start;
}

.actions .button.disabled,
.button.disabled {
    pointer-events: none;
    cursor: default;
    opacity: .5;
    background: #6b7280 !important;
    border-color: #6b7280 !important;
}

.actions .ticket-note,
.ticket-note {
    margin: 6px 0 0;
    font-size: 13px;
    color: #a9a196;
}

.ticket-cta {
    display: flex;
    flex-direction: column;
}

.home-event-content .eyebrow {
    color: #d4b276;
}

.home-event-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 30px;
}

/* =========================================================
   ETKİNLİK SAĞ GÖRSELİ
   ========================================================= */

/* =========================================================
   ETKİNLİK SAĞ GÖRSELİ
   ========================================================= */

.home-event-side {
    background: #eef0f6 !important;
    padding: 0 !important;
    overflow: hidden;
}

.home-event-side-inner {
    width: 100%;
    height: 100%;
    min-height: 620px;
    padding: 0 !important;
    border: none !important;
    overflow: hidden;
    display: flex;
    align-items: stretch;
    justify-content: stretch;
}

.home-event-side-inner img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 620px;
    object-fit: cover;
    object-position: center;
}
/* =========================================================
   COUNTDOWN
   ========================================================= */

.home-event-section .event-countdown {
    margin-top: 40px;
}

.home-event-section .countdown-title {
    color: #c9c1b5;
    margin-bottom: 15px;
}

.home-event-section .countdown-title strong {
    color: #fff;
}

.home-event-section .countdown-grid {
    display: flex;
    align-items: center;
    gap: 10px;
}

.home-event-section .countdown-box {
    width: 62px;
    min-height: 62px;
    min-width: 40px;
    padding: 8px;
    text-align: center;
}

.home-event-section .countdown-box span {
    display: block;
    font-size: 20px;
    font-weight: 300;
    color: #fff;
}

.home-event-section .countdown-box small {
    display: block;
    margin-top: 4px;
    color: #a9a196;
    font-size: 9px;
    font-weight: 300;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.home-event-section .countdown-separator {
    font-size: 16px;
    font-weight: 300;
    color: #a6814c;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 900px) {

    .home-intro-inner {
        grid-template-columns: 1fr;
    }

    .home-intro-content {
        padding: 55px 25px;
    }

    .home-intro-image {
        min-height: 350px;
    }

    .about-sarikalem {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .about-sarikalem-content {
        padding-top: 0;
    }

    .about-features {
        grid-template-columns: 1fr;
        gap: 25px;
        margin-top: 45px;
    }

    .home-event-layout {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .home-event-side {
        min-height: 300px;
        order: 2;
    }

    .home-event-content {
        display: contents;
    }

    .home-event-content h2 {
        order: 1;
        margin-top: 40px;
    }

    .home-event-content .home-event-meta {
        order: 3;
        margin-top: 25px;
    }

    .home-event-content .event-countdown {
        order: 4;
        margin-top: 15px;
    }

    .home-event-content .actions {
        order: 5;
        margin-top: 25px;
        margin-bottom: 40px;
    }

}

@media (max-width: 600px) {

    .home-intro-content h1 {
        font-size: 38px;
    }

    .home-intro-content .lead {
        font-size: 17px;
    }

    .home-intro-image {
        min-height: 280px;
    }

    .home-event-content {
        padding: 30px 0;
    }

    .home-event-content h2 {
        font-size: 40px;
    }

    .home-event-meta {
        flex-direction: column;
    }

    .home-event-meta .meta-item {
        border-right: 0;
        padding-right: 0;
    }

    .home-event-section .countdown-grid {
        gap: 3px;
    }

    .home-event-section .countdown-box {
        width: 50px;
        min-height: 50px;
        min-width: 32px;
        padding: 6px;
    }

    .home-event-section .countdown-box span {
        font-size: 16px;
        font-weight: 300;
    }

    .home-event-side {
        min-height: 250px;
    }

}


/* =========================================================
   FINAL HOMEPAGE CSS
   .home-intro-hero kullanılmaz.
   Homepage hero: .home-intro-hero
   Galeri: dinamik <img> + 1 büyük sol / 2 sağ düzeni
   ========================================================= */

.home-intro-hero,
.home-intro-hero ~ .section,
.home-intro-hero ~ section,
.home-intro-hero ~ .section.bg-warm {
    background: #ffffff !important;
    color: #222222 !important;
}

.home-intro-hero {
    position: relative !important;
    width: 100% !important;
    min-height: 520px !important;
    padding: 0 !important;
    display: block !important;
    overflow: hidden !important;
    border-bottom: 1px solid #ececec !important;
}

.home-intro-inner {
    width: min(1320px, calc(100% - 48px)) !important;
    min-height: 520px !important;
    margin: 0 auto !important;
    display: grid !important;
    grid-template-columns: 46% 54% !important;
    align-items: stretch !important;
}

.home-intro-content {
    min-width: 0 !important;
    padding: 70px 55px 70px 45px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}

.home-intro-content h1,
.home-intro-content p,
.home-intro-content .lead {
    color: #222222 !important;
}

.home-intro-content .eyebrow,
.home-intro-hero .eyebrow {
    color: #203470 !important;
}

.home-intro-image {
    min-width: 0 !important;
    min-height: 520px !important;
    overflow: hidden !important;
}

.home-intro-image img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
}

/* Bölüm ritmi */
.home-intro-hero ~ .section {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 85px !important;
    padding-bottom: 85px !important;
    border-bottom: 1px solid #ececec !important;
}

.home-intro-hero ~ .section .section-head {
    margin-bottom: 40px !important;
}

.home-intro-hero ~ .section .section-head h2 {
    color: #222222 !important;
}

.home-intro-hero ~ .section .section-head .subtitle,
.home-intro-hero ~ .section .muted {
    color: #222222 !important;
}

/* Butonlar */
.home-intro-hero .button.gold,
.home-intro-hero ~ .section .button.gold {
    background: #203470 !important;
    border-color: #203470 !important;
    color: #ffffff !important;
}

.home-intro-hero .button.secondary,
.home-intro-hero ~ .section .button.secondary {
    background: #ffffff !important;
    border: 1px solid #203470 !important;
    color: #203470 !important;
}

.home-intro-hero .button.secondary:hover,
.home-intro-hero ~ .section .button.secondary:hover {
    background: #203470 !important;
    border-color: #203470 !important;
    color: #ffffff !important;
}

/* =========================================================
   HOME GALLERY — ÇALIŞAN DÜZEN
   ========================================================= */

.home-intro-hero ~ .section .gallery-grid.large {
    display: grid !important;
    grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr) !important;
    grid-template-rows: 230px 230px !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
}

.home-intro-hero ~ .section .gallery-grid.large .gallery-tile {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 5px !important;
    background: #f4f4f4 !important;
    background-image: none !important;
    box-shadow: none !important;
}

.home-intro-hero ~ .section .gallery-grid.large .gallery-tile.one {
    grid-column: 1 !important;
    grid-row: 1 / 3 !important;
}

.home-intro-hero ~ .section .gallery-grid.large .gallery-tile.two {
    grid-column: 2 !important;
    grid-row: 1 !important;
}

.home-intro-hero ~ .section .gallery-grid.large .gallery-tile.three {
    grid-column: 2 !important;
    grid-row: 2 !important;
}

/* PHP'den gelen gerçek <img> */
.home-intro-hero ~ .section .gallery-grid.large .gallery-tile img {
    position: static !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    object-fit: cover !important;
    object-position: center !important;
}

.home-intro-hero ~ .section .gallery-grid.large .gallery-tile:hover img {
    transform: scale(1.02);
}

/* Galeri butonu */
.home-intro-hero ~ .section .center-action {
    display: flex !important;
    justify-content: center !important;
    margin-top: 28px !important;
}

/* =========================================================
   EVENT + NOTICE
   ========================================================= */

.home-event-section {
    background: #ffffff !important;
    color: #222222 !important;
    border-top: 1px solid #ececec !important;
    border-bottom: 1px solid #ececec !important;
}

.home-event-section h2,
.home-event-section h3,
.home-event-section p,
.home-event-section .countdown-title {
    color: #222222 !important;
}

.home-event-section .eyebrow,
.home-event-section .countdown-box span,
.home-event-section .countdown-separator,
.home-event-side-inner span,
.home-event-side-inner strong,
.home-event-side-inner small {
    color: #203470 !important;
}

.home-event-side {
    background: #ffffff !important;
}

.home-event-side-inner {
    border-color: rgba(32, 52, 112, .25) !important;
}

/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 900px) {
    .home-intro-inner {
        width: calc(100% - 32px) !important;
        grid-template-columns: 1fr !important;
    }

    .home-intro-content {
        padding: 55px 25px !important;
    }

    .home-intro-image {
        min-height: 350px !important;
    }

    .home-intro-hero ~ .section .gallery-grid.large {
        grid-template-columns: 1fr 1fr !important;
        grid-template-rows: 260px 180px !important;
    }

    .home-intro-hero ~ .section .gallery-grid.large .gallery-tile.one {
        grid-column: 1 / 3 !important;
        grid-row: 1 !important;
    }

    .home-intro-hero ~ .section .gallery-grid.large .gallery-tile.two {
        grid-column: 1 !important;
        grid-row: 2 !important;
    }

    .home-intro-hero ~ .section .gallery-grid.large .gallery-tile.three {
        grid-column: 2 !important;
        grid-row: 2 !important;
    }
}

@media (max-width: 600px) {
    .home-intro-inner {
        width: calc(100% - 28px) !important;
    }

    .home-intro-content {
        padding: 45px 16px !important;
    }

    .home-intro-content h1 {
        font-size: 38px !important;
    }

    .home-intro-image {
        min-height: 280px !important;
    }

    .home-intro-hero ~ .section {
        padding-top: 60px !important;
        padding-bottom: 60px !important;
    }

    .home-intro-hero ~ .section .gallery-grid.large {
        grid-template-columns: 1fr !important;
        grid-template-rows: 260px 180px 180px !important;
    }

    .home-intro-hero ~ .section .gallery-grid.large .gallery-tile.one,
    .home-intro-hero ~ .section .gallery-grid.large .gallery-tile.two,
    .home-intro-hero ~ .section .gallery-grid.large .gallery-tile.three {
        grid-column: 1 !important;
        grid-row: auto !important;
    }
}
/* ================================
   ANKARA GÖRSELİ
   Oran bozulmaz, kırpılmaz,
   gri boşluk oluşmaz
================================ */

.home-event-side {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    background: #ffffff !important;
    overflow: hidden !important;
}

.home-event-side-inner {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    background: #ffffff !important;
    overflow: hidden !important;
}

.home-event-side-inner img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: contain !important;
}

/* =========================================================
   SARIKALEM — RESPONSIVE POLISH / MOBILE-FIRST OVERRIDES
   Masaüstü görünümü korunur; tablet ve telefonlarda tüm
   sayfa bileşenleri taşmadan ve sade/premium görünür.
   ========================================================= */

html { scroll-behavior: smooth; }
body { overflow-x: hidden; }
img, svg, video, iframe { max-width: 100%; }
button, input, textarea, select { max-width: 100%; }
.container, .section, .auth-shell, .admin-shell, .profile {
  width: min(1120px, calc(100% - 40px));
}

/* Genel kart ve grid taşmalarını önle */
.grid, .split, .form-grid, .admin-form, .stats-strip,
.profile-head, .profile-grid, .event-detail-split, .event-detail-editor,
.home-event-layout, .hotel-location-grid, .hotel-photo-grid,
.route-cards, .countdown-grid, .sponsor-strip, .floor-grid {
  min-width: 0;
}
.card, .notice-card, .profile-card, .form-card, .login-card,
.accommodation-card, .floor-card, .workshop-card-clean,
.table-card, .map-card, .hotel-map-card, .hotel-photo-card {
  min-width: 0;
}

/* Header */
@media (max-width: 920px) {
  .site-header {
    min-height: 68px;
    height: 68px;
    padding: 0 20px;
  }
  .brand {
    font-size: 15px;
    white-space: nowrap;
  }
  .menu-button {
    display: inline-flex !important;
    min-height: 40px;
    padding: 0 14px;
    border-radius: 5px !important;
    flex: 0 0 auto;
  }
  .nav {
    top: 68px !important;
    padding: 12px 20px 18px !important;
    gap: 4px !important;
    max-height: calc(100vh - 68px);
    overflow-y: auto;
    box-shadow: 0 18px 30px rgba(0,0,0,.08);
  }
  .nav a,
  .nav .nav-trigger {
    min-height: 44px;
    display: flex;
    align-items: center;
    padding: 9px 4px;
  }
  .nav .nav-cta {
    margin-top: 5px;
    justify-content: center;
  }
}

/* Tablet */
@media (max-width: 900px) {
  .hero, .page-hero, .event-hero {
    min-height: auto !important;
    padding: 72px 20px !important;
  }
  .hero-inner,
  .page-hero .hero-inner,
  .event-hero .hero-inner {
    width: min(100%, 760px);
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .hero-inner {
    grid-template-columns: 1fr !important;
    gap: 32px;
  }
  .hero-visual {
    height: 320px;
  }
  .lead { font-size: 18px; }
  h1 { font-size: clamp(38px, 8vw, 64px); }
  .section {
    width: calc(100% - 40px);
    margin-top: 56px;
    margin-bottom: 56px;
  }

  .home-intro-inner {
    grid-template-columns: 1fr !important;
    width: calc(100% - 40px) !important;
    min-height: 0 !important;
  }
  .home-intro-content {
    padding: 54px 36px !important;
  }
  .home-intro-image {
    min-height: 360px !important;
  }

  .home-event-layout {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }
  .home-event-content { padding: 0 !important; display: contents !important; }
  .home-event-content h2 { order: 1 !important; }
  .home-event-side { order: 2 !important; }
  .home-event-content .home-event-meta { order: 3 !important; margin-top: 25px !important; }
  .home-event-content .event-countdown { order: 4 !important; margin-top: 15px !important; }
  .home-event-content .actions { order: 5 !important; margin-top: 25px !important; margin-bottom: 10px !important; }

  .event-detail-split,
  .hotel-location-grid {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  .event-sponsor-section .sponsor-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .gallery-page-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .gallery-photo { min-width: 0; }
  .gallery-link { width: 100%; }

  .hotel-photo-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .footer {
    gap: 28px !important;
    padding: 40px 20px !important;
  }
}

/* Telefon */
@media (max-width: 600px) {
  .container, .section, .auth-shell, .admin-shell, .profile {
    width: calc(100% - 28px);
  }

  .site-header {
    padding: 0 14px;
  }
  .brand span { width: 30px; height: 30px; }
  .brand { gap: 8px; font-size: 14px; }

  .hero, .page-hero, .event-hero {
    padding: 56px 14px !important;
  }
  .hero-inner,
  .page-hero .hero-inner,
  .event-hero .hero-inner {
    width: 100%;
  }
  h1 {
    font-size: clamp(34px, 11vw, 48px) !important;
    line-height: 1.02;
    margin-bottom: 14px;
  }
  h2 {
    font-size: clamp(25px, 8vw, 34px) !important;
  }
  h3 { font-size: 18px; }
  .lead {
    font-size: 16px;
    line-height: 1.55;
  }
  .eyebrow { font-size: 11px; letter-spacing: .06em; }

  .actions {
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 9px;
    margin-top: 20px;
  }
  .actions .button,
  .actions a.button,
  .actions button {
    width: 100%;
    min-height: 46px;
  }

  .section {
    margin-top: 42px !important;
    margin-bottom: 42px !important;
  }
  .section-head {
    margin-bottom: 20px !important;
  }

  /* Ana sayfa */
  .home-intro-inner {
    width: calc(100% - 28px) !important;
    border-radius: 5px !important;
    min-height: 0 !important;
  }
  .home-intro-content {
    padding: 38px 20px !important;
  }
  .home-intro-content h1 {
    font-size: 35px !important;
  }
  .home-intro-image {
    min-height: 250px !important;
  }

  .home-intro-hero ~ .section {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }
  .home-intro-hero ~ .section .gallery-grid.large {
    grid-template-columns: 1fr !important;
    grid-template-rows: repeat(3, minmax(190px, 56vw)) !important;
    gap: 8px !important;
  }

  .home-event-content { padding: 0 !important; }
  .home-event-meta {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  .countdown-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
  .countdown-grid > * {
    min-width: 0;
  }

  /* Genel gridler */
  .grid.three, .grid.two, .stats-strip, .form-grid, .admin-form,
  .split, .gallery-grid, .sponsor-strip, .floor-grid,
  .route-cards, .hotel-photo-grid, .event-stats {
    grid-template-columns: 1fr !important;
  }
  .gallery-page-grid {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  .gallery-photo img {
    width: 100%;
    height: auto;
  }

  /* Kartlar */
  .card, .notice-card, .profile-card, .form-card, .login-card,
  .accommodation-card, .floor-card, .workshop-card-clean,
  .table-card, .map-card, .hotel-map-card {
    border-radius: 5px !important;
  }
  .card, .profile-card, .form-card {
    padding: 20px;
  }

  /* Profil / hesap */
  .profile-head {
    grid-template-columns: 1fr !important;
    text-align: center;
    justify-items: center;
  }
  .profile-summary { text-align: center; }
  .profile-stat {
    width: 100%;
  }

  /* Formlar */
  label { margin-bottom: 13px; }
  input, textarea, select {
    min-height: 46px;
    font-size: 16px; /* iOS zoom engeli */
  }
  textarea { min-height: 120px; }
  .check {
    align-items: flex-start;
    font-size: 14px;
  }
  .check input {
    margin-top: 4px;
    flex: 0 0 auto;
  }

  /* Etkinlik */
  .event-year-buttons {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 8px !important;
  }
  .event-year-buttons > * { width: 100%; }
  .event-meta {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }
  .event-slider {
    min-height: 0 !important;
  }
  .event-slider-arrow {
    width: 38px !important;
    height: 38px !important;
  }
  .event-slide-info {
    padding: 18px !important;
  }

  /* Galeri lightbox */
  .gallery-lightbox {
    padding: 12px !important;
  }
  .gallery-lightbox img {
    max-height: 78vh !important;
    object-fit: contain !important;
  }

  /* Otel / harita */
  .map-tabs {
    position: static !important;
    width: 100%;
    margin-bottom: 10px;
  }
  .map-tab {
    flex: 1;
    min-width: 0;
  }
  .map-frame {
    height: 340px !important;
  }
  .hotel-photo-grid {
    grid-template-columns: 1fr !important;
  }
  .hotel-address,
  .map-address {
    overflow-wrap: anywhere;
  }

  /* Tablolar yatay kaydırılabilir kalsın */
  .table-wrap {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  table { min-width: 720px; }

  /* Footer */
  .footer {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
    padding: 34px 14px !important;
  }
  .footer-links {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 8px 18px !important;
  }

  /* Yatay taşma yapan uzun metinler */
  .notice-card, .notice-content, .event-detail-editor,
  .admin-events-table, .price-row, .sponsor-item {
    overflow-wrap: anywhere;
  }

  /* Mobilde yapışkan/absolute elemanların ekranı sıkıştırmasını önle */
  .floating-card {
    position: static !important;
    margin: 10px 0;
  }
}

/* Çok küçük telefonlar */
@media (max-width: 380px) {
  .site-header { padding: 0 10px; }
  .brand { font-size: 13px; }
  .menu-button { padding: 0 11px; }
  .hero, .page-hero, .event-hero { padding-left: 10px !important; padding-right: 10px !important; }
  .container, .section, .auth-shell, .admin-shell, .profile { width: calc(100% - 20px); }
  .home-intro-inner { width: calc(100% - 20px) !important; }
  .home-intro-content { padding: 30px 16px !important; }
  .event-year-buttons { grid-template-columns: 1fr !important; }
  .footer-links { grid-template-columns: 1fr; }
}
/* =========================================================
   MOBİL HERO SIRALAMASI — BAŞLIK > GÖRSEL > METİNLER > BUTONLAR
   ========================================================= */
@media (max-width: 900px) {
    .home-intro-inner {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        min-height: 0 !important;
        margin: 0 !important;
    }

    .home-intro-content {
        display: contents !important;
    }

    .home-intro-content h1 {
        order: 1 !important;
        width: 100% !important;
        max-width: none !important;
        box-sizing: border-box !important;
        margin: 0 !important;
        padding: 48px 24px 22px !important;
        font-size: clamp(34px, 9vw, 46px) !important;
        line-height: 1.08 !important;
    }

    .home-intro-image {
        order: 2 !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 0 !important;
        height: auto !important;
        padding: 0 !important;
        margin: 0 !important;
        overflow: hidden !important;
    }

    .home-intro-image img {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-width: none !important;
        max-height: none !important;
        object-fit: cover !important;
        object-position: center !important;
    }

    .home-intro-content .lead {
        order: 3 !important;
        width: 100% !important;
        max-width: none !important;
        box-sizing: border-box !important;
        margin: 0 !important;
        padding: 30px 24px 0 !important;
        font-size: 18px !important;
        line-height: 1.65 !important;
    }

    .home-intro-content > p:not(.lead) {
        order: 4 !important;
        width: 100% !important;
        max-width: none !important;
        box-sizing: border-box !important;
        margin: 0 !important;
        padding: 28px 24px 0 !important;
        line-height: 1.7 !important;
    }

    .home-intro-content .actions {
        order: 5 !important;
        width: 100% !important;
        box-sizing: border-box !important;
        margin: 28px 0 0 !important;
        padding: 0 24px 42px !important;
    }

    .home-intro-content .actions .button {
        width: 100% !important;
        box-sizing: border-box !important;
    }
}

@media (max-width: 380px) {
    .home-intro-content h1 {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }
    .home-intro-content .lead,
    .home-intro-content > p:not(.lead) {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }
    .home-intro-content .actions {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }
}



/* =========================================================
   FINAL MOBILE / RESPONSIVE POLISH
   - Mobile navigation is a full-height drawer.
   - No hover styling on touch navigation; links use thin separators.
   - Home hero image stays visually aligned with the text column.
   - Footer includes the community CTA.
   ========================================================= */

/* Desktop home hero: balanced text/image alignment */
.home-intro-inner {
    width: min(1320px, calc(100% - 48px)) !important;
    min-height: 520px !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    align-items: stretch !important;
}

.home-intro-content {
    min-width: 0 !important;
    padding: 64px 56px 64px 48px !important;
    justify-content: center !important;
}

.home-intro-image {
    min-width: 0 !important;
    min-height: 520px !important;
    height: 100% !important;
    align-self: stretch !important;
}

.home-intro-image img {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: center !important;
}

/* Full mobile drawer */
@media (max-width: 920px) {
    .site-header {
        position: sticky !important;
        z-index: 100 !important;
    }

    .menu-button {
        position: relative !important;
        z-index: 102 !important;
        min-height: 42px !important;
        border: 1px solid #dedede !important;
        background: #fff !important;
        color: #222 !important;
        box-shadow: none !important;
        transform: none !important;
        transition: none !important;
    }

    .menu-button:hover,
    .menu-button:active {
        background: #fff !important;
        color: #222 !important;
        border-color: #dedede !important;
        transform: none !important;
    }

    .nav {
        position: fixed !important;
        top: 76px !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        width: 100vw !important;
        height: calc(100dvh - 76px) !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 10px 24px 28px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        gap: 0 !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        background: #fff !important;
        border: 0 !important;
        border-top: 1px solid #ececec !important;
        box-shadow: 0 20px 45px rgba(20,20,20,.10) !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transform: translateX(100%) !important;
        transition: transform .28s ease, opacity .2s ease, visibility 0s linear .28s !important;
    }

    .nav.open {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: translateX(0) !important;
        transition: transform .28s ease, opacity .2s ease !important;
    }

    .nav > a,
    .nav .nav-trigger {
        width: 100% !important;
        min-height: 54px !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        border-bottom: 1px solid #e8e8e8 !important;
        border-radius: 5px !important;
        background: transparent !important;
        color: #292929 !important;
        transform: none !important;
        transition: none !important;
    }

    .nav > a:hover,
    .nav > a:focus,
    .nav > a:active,
    .nav .nav-trigger:hover,
    .nav .nav-trigger:focus,
    .nav .nav-trigger:active {
        background: transparent !important;
        color: #292929 !important;
        transform: none !important;
    }

    .nav > a:last-child {
        border-bottom: 0 !important;
    }

    .nav .lang-link {
        justify-content: flex-start !important;
        width: 100% !important;
        min-height: 54px !important;
        padding: 0 !important;
        border: 0 !important;
        border-bottom: 1px solid #e8e8e8 !important;
        border-radius: 5px !important;
        background: transparent !important;
    }

    .nav-dropdown {
        width: 100% !important;
        margin: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
    }

    .nav-submenu {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 0 0 14px !important;
        border: 0 !important;
        border-left: 1px solid #e8e8e8 !important;
        border-radius: 5px !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .nav-submenu a,
    .nav-submenu a:hover,
    .nav-submenu a:focus,
    .nav-submenu a:active {
        min-height: 48px !important;
        padding: 0 12px !important;
        border-radius: 5px !important;
        border-bottom: 1px solid #eeeeee !important;
        background: transparent !important;
        color: #555 !important;
        transform: none !important;
        transition: none !important;
    }

    /* Keep the mobile drawer clean: no desktop dropdown animation. */
    .nav-dropdown:hover .nav-submenu,
    .nav-dropdown:focus-within .nav-submenu,
    .nav-dropdown.is-open .nav-submenu {
        transform: none !important;
        opacity: 1 !important;
        clip-path: none !important;
    }

    .nav-submenu a::before,
    .nav-submenu::before {
        display: none !important;
    }

    .home-intro-inner {
        width: 100% !important;
        min-height: 0 !important;
        grid-template-columns: 1fr !important;
    }

    .home-intro-content {
        padding: 48px 24px 34px !important;
    }

    .home-intro-image {
        min-height: 0 !important;
        height: auto !important;
    }

    .home-intro-image img {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 16 / 10 !important;
        object-fit: cover !important;
    }

    .footer {
        grid-template-columns: 1fr !important;
    }
}

/* Footer community CTA */
.footer-join {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 6px;
    min-width: 0;
}

.footer-join strong {
    color: var(--ink) !important;
    font-size: 18px;
    letter-spacing: -.01em;
}

.footer-join p {
    margin: 0 0 8px !important;
    max-width: 360px;
    line-height: 1.55;
}

.footer-join .button {
    margin-top: 2px;
}

@media (min-width: 921px) {
    .footer {
        grid-template-columns: minmax(220px, 1fr) minmax(240px, .9fr) auto !important;
        align-items: start !important;
    }
}

@media (max-width: 640px) {
    .nav {
        top: 70px !important;
        height: calc(100dvh - 70px) !important;
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    .footer-join {
        padding: 4px 0 8px;
    }

    .footer-join .button {
        width: 100%;
    }
}

/* =========================================================
   FINAL HERO LAYOUT
   Desktop: image is inset and vertically cropped.
   Mobile: title/accent first, image immediately underneath.
   ========================================================= */

@media (min-width: 921px) {
    .home-intro-hero {
        background: #fff !important;
        overflow: hidden !important;
    }

    .home-intro-inner {
        width: min(1320px, calc(100% - 96px)) !important;
        min-height: 620px !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        column-gap: 52px !important;
        align-items: stretch !important;
    }

    .home-intro-content {
        padding: 72px 0 !important;
        min-width: 0 !important;
    }

    .home-intro-image {
        align-self: center !important;
        width: 100% !important;
        height: 560px !important;
        min-height: 0 !important;
        margin: 30px 0 !important;
        overflow: hidden !important;
        background: #f5f1e9 !important;
    }

    .home-intro-image img {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        max-width: none !important;
        max-height: none !important;
        object-fit: cover !important;
        object-position: center center !important;
    }
}

@media (max-width: 920px) {
    /* Header remains compact while the drawer occupies the full viewport. */
    .site-header {
        min-height: 86px !important;
        padding: 0 16px !important;
    }

    .nav {
        top: 86px !important;
        height: calc(100dvh - 86px) !important;
    }

    /* Exact mobile order: heading -> image -> remaining text -> button. */
    .home-intro-inner {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        min-height: 0 !important;
        margin: 0 !important;
    }

    .home-intro-content {
        display: contents !important;
    }

    .home-intro-content h1 {
        order: 1 !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 62px 28px 22px !important;
        font-size: clamp(34px, 8.8vw, 48px) !important;
        line-height: 1.08 !important;
        letter-spacing: -1.6px !important;
    }

    .home-intro-content h1::after {
        width: 70px !important;
        height: 3px !important;
        margin-top: 28px !important;
    }

    .home-intro-image {
        order: 2 !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        background: #f5f1e9 !important;
    }

    .home-intro-image img {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        max-width: none !important;
        max-height: none !important;
        aspect-ratio: 1.42 / 1 !important;
        object-fit: cover !important;
        object-position: center center !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 5px !important;
    }

    .home-intro-content .lead {
        order: 3 !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 30px 28px 0 !important;
        font-size: 18px !important;
        line-height: 1.65 !important;
    }

    .home-intro-content > p:not(.lead) {
        order: 4 !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 26px 28px 0 !important;
        line-height: 1.7 !important;
    }

    .home-intro-content .actions {
        order: 5 !important;
        width: 100% !important;
        margin: 26px 0 0 !important;
        padding: 0 28px 42px !important;
    }

    .home-intro-content .actions .button {
        width: 100% !important;
    }

    /* No hover/focus visual effects for mobile drawer links. */
    .nav > a,
    .nav > a:hover,
    .nav > a:focus,
    .nav > a:active,
    .nav .nav-trigger,
    .nav .nav-trigger:hover,
    .nav .nav-trigger:focus,
    .nav .nav-trigger:active {
        background: transparent !important;
        color: #292929 !important;
        transform: none !important;
        transition: none !important;
        box-shadow: none !important;
    }

    .nav > a,
    .nav .nav-trigger {
        border-bottom: 1px solid #e8e8e8 !important;
    }
}

@media (max-width: 600px) {
    .home-intro-content h1 {
        padding-left: 24px !important;
        padding-right: 24px !important;
    }

    .home-intro-content .lead,
    .home-intro-content > p:not(.lead) {
        padding-left: 24px !important;
        padding-right: 24px !important;
    }

    .home-intro-content .actions {
        padding-left: 24px !important;
        padding-right: 24px !important;
    }
}

/* =========================================================
   FINAL INDEX MOBILE ORDER
   Mobilde sıra kesin olarak: BAŞLIK -> GÖRSEL -> METİNLER -> BUTON
   ========================================================= */
@media (max-width: 920px) {
  .home-intro-inner {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    margin: 0 !important;
    min-height: 0 !important;
  }

  /* İçeriği flex akışına çıkarıyoruz; böylece görsel h1'in hemen altına gelir. */
  .home-intro-content {
    display: contents !important;
  }

  .home-intro-content h1 {
    order: 1 !important;
    margin: 0 !important;
    padding: 62px 28px 0 !important;
    width: 100% !important;
    max-width: none !important;
  }

  .home-intro-content h1::after {
    display: block !important;
    width: 70px !important;
    height: 3px !important;
    margin-top: 28px !important;
    margin-bottom: 28px !important;
    background: #203470 !important;
  }

  .home-intro-image {
    order: 2 !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  .home-intro-image img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1.42 / 1 !important;
    object-fit: cover !important;
    object-position: center center !important;
    max-width: none !important;
    max-height: none !important;
  }

  .home-intro-content .lead {
    order: 3 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 30px 28px 0 !important;
    max-width: none !important;
  }

  .home-intro-content > p:not(.lead) {
    order: 4 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 26px 28px 0 !important;
    max-width: none !important;
  }

  .home-intro-content .actions {
    order: 5 !important;
    width: 100% !important;
    margin: 26px 0 0 !important;
    padding: 0 28px 42px !important;
  }
}

@media (max-width: 600px) {
  .home-intro-content h1 {
    padding-left: 24px !important;
    padding-right: 24px !important;
    font-size: clamp(34px, 8.8vw, 48px) !important;
  }

  .home-intro-content .lead,
  .home-intro-content > p:not(.lead) {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  .home-intro-content .actions {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
}

/* Desktop: görsel yazıya yapışmaz ve üstten/alttan kırpılmış görünür. */
@media (min-width: 921px) {
  .home-intro-inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    column-gap: 52px !important;
    align-items: stretch !important;
    width: min(1320px, calc(100% - 96px)) !important;
    min-height: 620px !important;
  }

  .home-intro-image {
    height: 560px !important;
    margin: 30px 0 !important;
    overflow: hidden !important;
  }

  .home-intro-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
  }
}


/* =========================================================
   FOOTER — unified white editorial layout
   ========================================================= */
:root { --site-radius: 8px; }

.footer {
    width: 100%;
    margin: 0;
    padding: 0;
    background: #fff !important;
    color: #181818 !important;
    border-top: 1px solid #e7e7e7;
    border-radius: 5px !important;
    overflow: hidden;
    box-sizing: border-box;
}

.footer-join {
    display: grid !important;
    grid-template-columns: minmax(0, 1.05fr) minmax(420px, .95fr);
    gap: 72px;
    align-items: center;
    padding: 76px clamp(32px, 6vw, 96px) 72px;
    background: #fff !important;
    border-bottom: 1px solid #e7e7e7;
    box-sizing: border-box;
}

.footer-join-copy { min-width: 0; }
.footer-kicker {
    display: block;
    margin-bottom: 14px;
    font-size: 15px;
    line-height: 1.2;
    color: #5e5e5e;
}

.footer-join h2 {
    max-width: 720px;
    margin: 0;
    color: #181818 !important;
    font-size: clamp(40px, 4.2vw, 68px);
    line-height: .98;
    letter-spacing: -2.6px;
    font-weight: 600;
}

.footer-join h2 em {
    font-style: italic;
    font-weight: 600;
}

.footer-join p {
    max-width: 620px;
    margin: 26px 0 0;
    color: #555 !important;
    font-size: 17px;
    line-height: 1.6;
}

.footer-newsletter { width: 100%; }
.footer-newsletter label {
    display: block;
    margin-bottom: 10px;
    color: #181818 !important;
    font-size: 14px;
    font-weight: 600;
}

.footer-newsletter-field {
    display: flex;
    width: 100%;
    min-height: 62px;
    border: 1px solid #cfcfcf;
    border-radius: 5px !important;
    background: #fff;
    overflow: hidden;
    box-sizing: border-box;
}

.footer-newsletter-field input {
    flex: 1 1 auto;
    min-width: 0;
    height: 62px;
    padding: 0 18px;
    border: 0 !important;
    outline: 0;
    background: #fff !important;
    color: #181818 !important;
    font: inherit;
    font-size: 15px;
    border-radius: 5px !important;
    box-shadow: none !important;
}

.footer-newsletter-field input::placeholder { color: #8a8a8a; }
.footer-newsletter-field button {
    flex: 0 0 auto;
    align-self: center;
    height: 46px;
    margin-right: 8px;
    padding: 0 18px;
    border: 1px solid #181818;
    border-radius: 5px !important;
    background: #181818;
    color: #fff;
    font: inherit;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: opacity .2s ease;
}
.footer-newsletter-field button:hover { opacity: .86; }

.footer-main {
    display: grid;
    grid-template-columns: minmax(240px, 1.2fr) minmax(300px, 1fr) auto;
    column-gap: 72px;
    row-gap: 32px;
    align-items: start;
    padding: 56px clamp(32px, 6vw, 96px) 26px;
    background: #fff !important;
    color: #181818 !important;
    box-sizing: border-box;
}

.footer-main > div:first-child { min-width: 0; }
.footer-main > div:first-child > strong {
    display: block;
    margin-bottom: 14px;
    color: #181818 !important;
    font-size: 20px;
}
.footer-main > div:first-child > p {
    max-width: 480px;
    margin: 0;
    color: #555 !important;
    line-height: 1.65;
}

.footer .social-links {
    display: flex !important;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px;
}
.footer .social-links a {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 42px !important;
    min-width: 42px;
    height: 42px;
    min-height: 42px;
    padding: 0;
    border: 1px solid #d8d8d8;
    border-radius: 5px !important;
    background: #fff !important;
    color: #181818 !important;
    transition: background .2s ease, border-color .2s ease;
}
.footer .social-links a:hover { background: #f6f6f6 !important; border-color: #bdbdbd; }
.footer .social-links svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.footer .social-links .social-fill { fill: currentColor; stroke: none; }

.footer-links {
    display: flex !important;
    flex-wrap: wrap;
    gap: 10px 24px;
    align-content: start;
    margin: 0 !important;
    padding: 0 !important;
}
.footer-links::before {
    content: "Keşfet";
    display: block;
    flex-basis: 100%;
    margin-bottom: 4px;
    color: #181818;
    font-size: 14px;
    font-weight: 600;
}
.footer-links a {
    color: #555 !important;
    font-size: 15px;
    text-decoration: none;
}
.footer-links a:hover { color: #181818 !important; }

.footer-main small {
    justify-self: end;
    align-self: start;
    color: #555 !important;
    font-size: 14px;
    line-height: 1.5;
    text-align: right;
}

/* One radius decision across the interface. */
.button, .button.gold, .button.secondary, .lang-link, input, textarea, select,
.card, .event-card, .form-card, .profile-card, .table-card, .notice, .floor-card,
.map-card, .badge-pill, .footer-newsletter-field, .footer-newsletter-field button,
.footer .social-links a { border-radius: 5px !important; }

@media (max-width: 900px) {
    .footer-join { grid-template-columns: 1fr; gap: 36px; padding: 52px 24px; }
    .footer-join h2 { font-size: clamp(38px, 9vw, 56px); letter-spacing: -1.8px; }
    .footer-newsletter-field { display: flex; }
    .footer-main { grid-template-columns: 1fr; gap: 34px; padding: 42px 24px 24px; }
    .footer-main small { justify-self: start; text-align: left; }
}

@media (max-width: 560px) {
    .footer-join { padding: 42px 20px; }
    .footer-join p { font-size: 15px; }
    .footer-newsletter-field { display: grid; border: 0; overflow: visible; gap: 10px; }
    .footer-newsletter-field input { width: 100%; height: 54px; border: 1px solid #cfcfcf !important; border-radius: 5px !important; box-sizing: border-box; }
    .footer-newsletter-field button { width: 100%; height: 50px; margin: 0; }
    .footer-main { padding: 36px 20px 22px; }
    .footer-links { gap: 10px 18px; }
}

/* =========================================================
   FOOTER FINAL — DESKTOP, MOBIL İLE AYNI DİKEY HİYERARŞİ
   Tüm ekranlarda aynı yapı: Katılın → E-posta → Society →
   Sosyal medya → Keşfet → Telif. Tek beyaz zemin.
   ========================================================= */
.footer {
    display: block !important;
    width: 100% !important;
    background: #fff !important;
    color: #181818 !important;
    border-top: 1px solid #e7e7e7 !important;
    border-radius: 5px !important;
    overflow: hidden !important;
}

.footer-join {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 30px !important;
    align-items: start !important;
    padding: 52px clamp(24px, 6vw, 96px) !important;
    background: #fff !important;
    border-bottom: 1px solid #e7e7e7 !important;
}

.footer-join h2 {
    max-width: 760px !important;
    font-size: clamp(38px, 5vw, 56px) !important;
    line-height: .98 !important;
    letter-spacing: -2px !important;
}

.footer-join p {
    max-width: 620px !important;
    margin-top: 22px !important;
    font-size: 16px !important;
    line-height: 1.6 !important;
}

.footer-newsletter {
    width: 100% !important;
    max-width: 760px !important;
}

.footer-newsletter-field {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    gap: 10px !important;
    width: 100% !important;
    min-height: 54px !important;
    border: 0 !important;
    border-radius: 5px !important;
    overflow: visible !important;
    background: transparent !important;
}

.footer-newsletter-field input {
    width: 100% !important;
    height: 54px !important;
    min-width: 0 !important;
    padding: 0 16px !important;
    border: 1px solid #cfcfcf !important;
    border-radius: 5px !important;
    box-sizing: border-box !important;
}

.footer-newsletter-field button {
    height: 54px !important;
    margin: 0 !important;
    padding: 0 22px !important;
    border: 1px solid #181818 !important;
    border-radius: 5px !important;
    background: #181818 !important;
    color: #fff !important;
}

.footer-main {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 30px !important;
    padding: 42px clamp(24px, 6vw, 96px) 24px !important;
    background: #fff !important;
    color: #181818 !important;
}

.footer-main > div:first-child > strong {
    margin-bottom: 12px !important;
}

.footer .social-links {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin-top: 20px !important;
}

.footer .social-links a {
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    border-radius: 5px !important;
}

.footer-links {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px 22px !important;
    align-items: center !important;
}

.footer-links::before {
    flex-basis: 100% !important;
    margin-bottom: 0 !important;
}

.footer-main small {
    justify-self: start !important;
    text-align: left !important;
    padding-top: 4px !important;
}

@media (max-width: 560px) {
    .footer-join {
        padding: 42px 20px !important;
        gap: 26px !important;
    }

    .footer-join h2 {
        font-size: clamp(38px, 9vw, 56px) !important;
        letter-spacing: -1.8px !important;
    }

    .footer-newsletter-field {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }

    .footer-newsletter-field button {
        width: 100% !important;
    }

    .footer-main {
        padding: 36px 20px 22px !important;
        gap: 28px !important;
    }
}

/* Sarıkalem footer — white theme */
.footer {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  padding: 0;
  background: #fff;
  color: #222222;
  border-top: 1px solid rgba(32,52,112,.14);
}
.footer-join {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, .9fr);
  gap: 56px;
  align-items: center;
  padding: 56px 6vw;
  border-bottom: 1px solid rgba(32,52,112,.12);
}
.footer-join-copy { max-width: 700px; }
.footer-kicker {
  display: inline-block;
  margin-bottom: 12px;
  color: #203470;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .02em;
}
.footer-join h2 {
  margin: 0;
  color: #222222;
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1.08;
}
.footer-join h2 em { color: #203470; font-style: italic; }
.footer-join p { margin: 16px 0 0; max-width: 620px; color: #555b68; }
.footer-newsletter { margin: 0; }
.footer-newsletter label { display:block; margin-bottom: 8px; color:#222222; font-size:13px; font-weight:600; }
.footer-newsletter-field {
  display:flex; align-items:center; gap:10px;
  padding:6px; border:1px solid rgba(32,52,112,.22); border-radius: 5px !important; background:#fff;
}
.footer-newsletter-field input {
  min-width:0; flex:1; border:0; outline:0; background:transparent; color:#222222; padding:12px 14px;
}
.footer-newsletter-field input::placeholder { color:#8a8f9b; }
.footer-newsletter-field button {
  border:0; border-radius: 5px !important; padding:12px 20px; background:#203470; color:#fff; cursor:pointer;
}
.footer-main {
  display:grid; grid-template-columns:minmax(280px,1fr) auto; gap:60px;
  padding:48px 6vw 28px;
}
.footer-main strong { color:#222222; font-size:22px; }
.footer-main p { max-width:560px; margin:12px 0 20px; color:#555b68; }
.footer p, .footer small, .footer a { color:#222222; }
.footer-links { display:flex; flex-wrap:wrap; justify-content:flex-end; align-content:start; gap:24px; }
.footer-links a { color:#203470; text-decoration:none; font-weight:600; }
.footer-links a:hover { text-decoration:underline; }
.footer small { grid-column:1 / -1; padding-top:22px; margin-top:18px; border-top:1px solid rgba(32,52,112,.12); color:#6b7080; }
.social-links { display:flex; gap:12px; }
.social-links a {
  display:grid; place-items:center; width:50px; height:50px;
  border:1px solid rgba(32,52,112,.22); border-radius: 5px !important; color:#203470; background:#fff;
}
.social-links svg { width:22px; height:22px; fill:currentColor; stroke:currentColor; }
.social-links a:hover { border-color:#203470; background:#f7f8fc; }
@media (max-width: 760px) {
  .footer-join, .footer-main { grid-template-columns:1fr; gap:28px; padding-left:24px; padding-right:24px; }
  .footer-links { justify-content:flex-start; }
  .footer-newsletter-field { border-radius: 5px !important; }
}


/* Tek parça katılımcı firma krokisi + büyütme */
.floor-single-card {
  max-width: 1180px;
  margin: 0 auto;
  padding: 18px;
  border: 1px solid rgba(16, 42, 76, .12);
  border-radius: 5px !important;
  background: #fff;
  box-shadow: 0 18px 50px rgba(16, 42, 76, .08);
}
.floor-plan.zoomable {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  border-radius: 5px !important;
  overflow: hidden;
  cursor: zoom-in;
  background: #f8f8f8;
}
.floor-plan.zoomable img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 680px;
  object-fit: contain;
  transform: scale(1);
  transition: transform .35s ease;
}
.floor-plan.zoomable:hover img { transform: scale(1.025); }
.floor-zoom-hint {
  position: absolute;
  right: 18px;
  bottom: 18px;
  padding: 9px 13px;
  border-radius: 5px !important;
  background: rgba(255,255,255,.94);
  color: #203470;
  font-size: 12px;
  font-weight: 600;
  box-shadow: 0 8px 22px rgba(0,0,0,.12);
  pointer-events: none;
}
.floor-lightbox {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 30px;
  background: rgba(12, 16, 24, .88);
  opacity: 0;
  visibility: hidden;
  transition: opacity .2s ease, visibility .2s ease;
}
.floor-lightbox.is-open { opacity: 1; visibility: visible; }
.floor-lightbox img {
  max-width: min(94vw, 1500px);
  max-height: 90vh;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 5px !important;
  box-shadow: 0 24px 80px rgba(0,0,0,.4);
  position: relative;
  z-index: 1;
}
.floor-lightbox-close {
  position: fixed;
  top: 18px;
  right: 22px;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 5px !important;
  background: rgba(255,255,255,.12);
  color: #fff;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
  z-index: 2;
}
@media (max-width: 700px) {
  .floor-single-card { padding: 8px; border-radius: 5px !important; }
  .floor-zoom-hint { right: 10px; bottom: 10px; font-size: 11px; padding: 7px 10px; }
  .floor-lightbox { padding: 12px; }
}


/* =========================================================
   FINAL FOOTER COMPACT LAYOUT — all public pages
   ========================================================= */
.footer {
  display:block !important;
  height:auto !important;
  min-height:0 !important;
  margin-top:0 !important;
}
.footer-join {
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(360px,.9fr) !important;
  gap:48px !important;
  padding:52px 6vw 48px !important;
  align-items:center !important;
}
.footer-main {
  display:block !important;
  padding:30px 6vw 20px !important;
  min-height:0 !important;
  overflow:hidden !important;
}
.footer-main > div:first-child {
  display:inline-block !important;
  vertical-align:top !important;
  width:calc(58% - 28px) !important;
  min-width:0 !important;
}
.footer-links {
  float:left !important;
  display:flex !important;
  width:auto !important;
  max-width:42% !important;
  margin:2px 0 0 56px !important;
  padding:0 !important;
  justify-content:flex-start !important;
  align-content:flex-start !important;
  gap:8px 22px !important;
}
.footer-links::before {
  flex-basis:100% !important;
  width:100% !important;
  margin-bottom:2px !important;
}
.footer-main small {
  display:block !important;
  clear:both !important;
  width:100% !important;
  padding-top:18px !important;
  margin-top:18px !important;
  text-align:left !important;
  justify-self:auto !important;
}
.footer .social-links { margin-top:18px !important; }

@media (max-width:900px) {
  .footer-join { grid-template-columns:1fr !important; gap:28px !important; padding:44px 24px !important; }
  .footer-main { padding:28px 24px 18px !important; }
  .footer-main > div:first-child { width:100% !important; }
  .footer-links {
    float:none !important;
    max-width:none !important;
    margin:28px 0 0 !important;
  }
  .footer-main small { margin-top:18px !important; }
}
@media (max-width:560px) {
  .footer-join { padding:38px 20px !important; }
  .footer-main { padding:26px 20px 18px !important; }
  .footer-links { gap:8px 18px !important; }
}


/* =========================================================
   FINAL GLOBAL FOOTER — identical structure on every page
   ========================================================= */
.footer { width:100% !important; min-height:0 !important; background:#fff !important; color:#181818 !important; border-top:1px solid #e7e7e7 !important; }
.footer-join { display:grid !important; grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr) !important; gap:64px !important; align-items:center !important; padding:54px clamp(24px,5vw,96px) 50px !important; border-bottom:1px solid #e7e7e7 !important; }
.footer-join-copy { min-width:0 !important; }
.footer-kicker { display:block !important; margin:0 0 14px !important; color:#203470 !important; font-size:15px !important; line-height:1.2 !important; font-weight:600 !important; }
.footer-join h2 { max-width:760px !important; margin:0 !important; color:#181818 !important; font-size:clamp(38px,4vw,64px) !important; line-height:.99 !important; letter-spacing:-2.4px !important; font-weight:600 !important; }
.footer-join h2 em { color:#203470 !important; font-style:italic !important; font-weight:600 !important; }
.footer-join p { max-width:650px !important; margin:24px 0 0 !important; color:#666 !important; font-size:17px !important; line-height:1.55 !important; }
.footer-newsletter { width:100% !important; }
.footer-newsletter label { display:block !important; margin:0 0 10px !important; color:#181818 !important; font-size:14px !important; font-weight:600 !important; }
.footer-newsletter-field { display:flex !important; width:100% !important; min-height:62px !important; border:1px solid #cfcfcf !important; border-radius: 5px !important; overflow:hidden !important; background:#fff !important; }
.footer-newsletter-field input { flex:1 1 auto !important; min-width:0 !important; height:62px !important; border:0 !important; padding:0 18px !important; background:#fff !important; color:#181818 !important; outline:0 !important; }
.footer-newsletter-field button { flex:0 0 auto !important; height:62px !important; padding:0 24px !important; border:0 !important; background:#203470 !important; color:#fff !important; font-weight:600 !important; cursor:pointer !important; }
.footer-main { display:grid !important; grid-template-columns:minmax(0,1fr) auto !important; grid-template-rows:auto auto !important; column-gap:72px !important; row-gap:26px !important; align-items:start !important; padding:38px clamp(24px,5vw,96px) 24px !important; min-height:0 !important; }
.footer-brand { min-width:0 !important; }
.footer-brand strong { display:block !important; color:#181818 !important; font-size:24px !important; line-height:1.2 !important; }
.footer-brand p { max-width:620px !important; margin:14px 0 0 !important; color:#777 !important; font-size:16px !important; line-height:1.65 !important; }
.footer .social-links { display:flex !important; flex-wrap:wrap !important; gap:10px !important; margin:22px 0 0 !important; }
.footer .social-links a { display:flex !important; align-items:center !important; justify-content:center !important; width:52px !important; height:52px !important; border:1px solid #ddd !important; border-radius: 5px !important; color:#181818 !important; text-decoration:none !important; background:#fff !important; font-weight:600 !important; }
.footer .social-links a:hover { background:#f7f7f7 !important; }
.footer .social-links a span { font-size:18px !important; line-height:1 !important; }
.footer-nav { justify-self:end !important; min-width:0 !important; }
.footer-nav > strong { display:block !important; margin:0 0 14px !important; color:#181818 !important; font-size:15px !important; }
.footer-links { display:flex !important; flex-direction:row !important; flex-wrap:nowrap !important; align-items:center !important; justify-content:flex-start !important; gap:0 30px !important; width:max-content !important; max-width:none !important; margin:0 !important; padding:0 !important; float:none !important; }
.footer-links::before { display:none !important; content:none !important; }
.footer-links a { display:inline-block !important; white-space:nowrap !important; color:#5f5f5f !important; text-decoration:none !important; font-size:16px !important; }
.footer-links a:hover { color:#203470 !important; }
.footer-main > small { grid-column:1 / -1 !important; display:block !important; width:100% !important; padding-top:18px !important; margin:0 !important; border-top:1px solid #e7e7e7 !important; color:#999 !important; font-size:14px !important; text-align:left !important; }
@media (max-width:900px) {
  .footer-join { grid-template-columns:1fr !important; gap:30px !important; padding:44px 24px !important; }
  .footer-main { grid-template-columns:1fr !important; gap:28px !important; padding:30px 24px 20px !important; }
  .footer-nav { justify-self:start !important; }
  .footer-links { width:auto !important; max-width:100% !important; flex-wrap:wrap !important; gap:12px 24px !important; }
  .footer-main > small { grid-column:1 !important; }
}
@media (max-width:560px) {
  .footer-join { padding:36px 20px !important; }
  .footer-join h2 { font-size:34px !important; letter-spacing:-1.4px !important; }
  .footer-join p { font-size:15px !important; }
  .footer-main { padding:26px 20px 18px !important; }
  .footer-links { gap:10px 18px !important; }
  .footer .social-links a { width:48px !important; height:48px !important; }
}

/* FINAL FOOTER JOIN — more compact */
.footer-join {
  padding: 40px 6vw !important;
  gap: 40px !important;
}
.footer-join h2 {
  font-size: clamp(28px, 3.2vw, 40px) !important;
  line-height: 1.08 !important;
  letter-spacing: -1.1px !important;
}
.footer-join p {
  margin-top: 12px !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
}
.footer-newsletter {
  max-width: 470px !important;
}
.footer-newsletter label {
  margin-bottom: 7px !important;
  font-size: 13px !important;
}
.footer-newsletter-field {
  padding: 4px !important;
}
.footer-newsletter-field input {
  height: 42px !important;
  padding: 0 13px !important;
  font-size: 14px !important;
}
.footer-newsletter-field button {
  height: 42px !important;
  padding: 0 18px !important;
  font-size: 14px !important;
}
@media (max-width: 900px) {
  .footer-join { padding: 36px 24px !important; gap: 24px !important; }
  .footer-join h2 { font-size: clamp(27px, 7vw, 36px) !important; }
}
@media (max-width: 560px) {
  .footer-join { padding: 32px 20px !important; }
  .footer-join h2 { font-size: 29px !important; }
}

/* Final interaction cleanup */
.event-slider-arrow,
.lightbox-arrow {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  padding: 0 !important;
  text-align: center !important;
}

.event-slider-arrow:hover,
.event-slider-arrow:focus,
.lightbox-arrow:hover,
.lightbox-arrow:focus {
  transform: translateY(-50%) !important;
  box-shadow: none !important;
}

/* Remove hover shadows throughout the site */
*:hover {
  box-shadow: none !important;
}

/* Mobile menu: no hover effects */
@media (max-width: 920px) {
  .nav > a:hover,
  .nav > a:focus,
  .nav > a:active,
  .nav .nav-trigger:hover,
  .nav .nav-trigger:focus,
  .nav .nav-trigger:active,
  .nav-submenu a:hover,
  .nav-submenu a:focus,
  .nav-submenu a:active,
  .menu-button:hover,
  .menu-button:focus,
  .menu-button:active {
    background: transparent !important;
    color: inherit !important;
    border-color: inherit !important;
    transform: none !important;
    box-shadow: none !important;
  }
}

/* Gallery action buttons: keep each button at its natural height instead of stretching to the tallest item. */
.gallery-hero .actions,
.event-page-hero .actions,
.hotel-hero .actions {
  align-items: flex-start;
  gap: 18px;
}
.gallery-hero .actions > .button,
.gallery-hero .actions > a.button,
.gallery-hero .actions > .year-ticket-status {
  align-self: flex-start;
}

/* FINAL FIX — Footer keşfet bağlantıları üst menü gibi yatay */
.footer .footer-nav {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-self: end !important;
  width: max-content !important;
}
.footer .footer-nav > strong {
  display: block !important;
  margin: 0 0 14px !important;
}
.footer .footer-nav .footer-links {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0 30px !important;
  width: max-content !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.footer .footer-nav .footer-links a {
  display: inline-block !important;
  flex: 0 0 auto !important;
  white-space: nowrap !important;
  margin: 0 !important;
}
@media (max-width: 900px) {
  .footer .footer-nav {
    justify-self: start !important;
    width: 100% !important;
  }
  .footer .footer-nav .footer-links {
    width: 100% !important;
    max-width: 100% !important;
    flex-wrap: wrap !important;
    gap: 12px 24px !important;
  }
}
@media (max-width: 560px) {
  .footer .footer-nav .footer-links {
    gap: 10px 18px !important;
  }
}


/* =========================================================
   GLOBAL CONSISTENCY — ALL PAGES / TR + EN
   ========================================================= */
.button,
.menu-button,
.nav-cta {
  min-height: 50px !important;
  height: 50px !important;
  padding: 0 22px !important;
  border-radius: 5px !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transform: none !important;
  box-shadow: none !important;
}
.button:hover,
.menu-button:hover,
.nav-cta:hover,
.button.gold:hover,
.button.secondary:hover {
  transform: none !important;
  box-shadow: none !important;
}
.button::before { display:none !important; }
.button.gold { background:#203470 !important; border-color:#203470 !important; color:#fff !important; }
.button.gold:hover { background:#182956 !important; border-color:#182956 !important; color:#fff !important; }
.button.secondary { background:#fff !important; border-color:#203470 !important; color:#203470 !important; }
.button.secondary:hover { background:#203470 !important; border-color:#203470 !important; color:#fff !important; }
.button.gold.disabled,
.button.gold.disabled:hover { background:#6b7280 !important; border-color:#6b7280 !important; color:#fff !important; }

/* One identical footer layout on every HTML page. */
.footer {
  display:block !important;
  width:100% !important;
  background:#fff !important;
  color:#222 !important;
  border-top:1px solid rgba(32,52,112,.14) !important;
  border-radius: 5px !important;
  overflow:hidden !important;
}
.footer-join {
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(360px,.9fr) !important;
  gap:56px !important;
  align-items:center !important;
  padding:52px 6vw !important;
  background:#fff !important;
  border-bottom:1px solid rgba(32,52,112,.12) !important;
}
.footer-join-copy{max-width:700px !important;}
.footer-kicker{display:inline-block !important;margin-bottom:12px !important;color:#203470 !important;font-size:13px !important;font-weight:600 !important;}
.footer-join h2{margin:0 !important;color:#222 !important;font-size:clamp(30px,4vw,48px) !important;line-height:1.08 !important;letter-spacing:-1px !important;}
.footer-join h2 em{color:#203470 !important;font-style:italic !important;}
.footer-join p{margin:16px 0 0 !important;max-width:620px !important;color:#555b68 !important;font-size:16px !important;}
.footer-newsletter{margin:0 !important;width:100% !important;}
.footer-newsletter label{display:block !important;margin-bottom:8px !important;color:#222 !important;font-size:13px !important;font-weight:600 !important;}
.footer-newsletter-field{display:flex !important;align-items:center !important;gap:10px !important;padding:6px !important;border:1px solid rgba(32,52,112,.22) !important;border-radius: 5px !important;background:#fff !important;box-sizing:border-box !important;}
.footer-newsletter-field input{min-width:0 !important;flex:1 !important;height:50px !important;border:0 !important;outline:0 !important;background:transparent !important;color:#222 !important;padding:12px 14px !important;box-sizing:border-box !important;}
.footer-newsletter-field button{height:50px !important;min-height:50px !important;margin:0 !important;padding:0 20px !important;border:0 !important;border-radius: 5px !important;background:#203470 !important;color:#fff !important;cursor:pointer !important;box-shadow:none !important;}
.footer-newsletter-field button:hover{background:#203470 !important;opacity:1 !important;box-shadow:none !important;transform:none !important;}
.footer-main{display:grid !important;grid-template-columns:minmax(0,1fr) auto !important;gap:30px !important;padding:42px 6vw 24px !important;background:#fff !important;color:#222 !important;}
.footer-brand{min-width:0 !important;}
.footer-brand strong{display:block !important;margin-bottom:12px !important;}
.footer-brand p{max-width:620px !important;margin:0 !important;color:#777 !important;line-height:1.7 !important;}
.footer .social-links{display:flex !important;flex-wrap:wrap !important;gap:10px !important;margin-top:20px !important;}
.footer .social-links a{width:52px !important;min-width:52px !important;height:52px !important;min-height:52px !important;display:flex !important;align-items:center !important;justify-content:center !important;border:1px solid #d8d8d8 !important;border-radius: 5px !important;background:#fff !important;color:#181818 !important;box-sizing:border-box !important;box-shadow:none !important;}
.footer .social-links a:hover{background:#fff !important;border-color:#d8d8d8 !important;color:#181818 !important;box-shadow:none !important;transform:none !important;}
.footer .social-links svg{width:18px !important;height:18px !important;fill:none !important;stroke:currentColor !important;stroke-width:1.8 !important;}
.footer .social-links .social-fill{fill:currentColor !important;stroke:none !important;}
.footer-nav{justify-self:end !important;min-width:0 !important;}
.footer-nav strong{display:block !important;margin-bottom:16px !important;}
.footer-links{display:flex !important;flex-wrap:wrap !important;align-items:center !important;justify-content:flex-end !important;gap:0 !important;white-space:nowrap !important;}
.footer-links::before{display:none !important;content:none !important;}
.footer-links a{display:inline-flex !important;align-items:center !important;padding:0 !important;margin:0 0 0 24px !important;color:#555 !important;font-weight:600 !important;text-decoration:none !important;white-space:nowrap !important;}
.footer-links a:first-child{margin-left:0 !important;}
.footer-links a:hover{color:#555 !important;transform:none !important;box-shadow:none !important;}
.footer-main small{grid-column:1/-1 !important;justify-self:start !important;margin-top:10px !important;padding-top:20px !important;border-top:1px solid #e7e7e7 !important;width:100% !important;color:#999 !important;text-align:left !important;}
@media (max-width:700px){
 .footer-join{grid-template-columns:1fr !important;gap:26px !important;padding:42px 20px !important;}
 .footer-join h2{font-size:clamp(32px,8vw,46px) !important;}
 .footer-newsletter-field{display:grid !important;grid-template-columns:1fr !important;border-radius: 5px !important;gap:8px !important;padding:6px !important;}
 .footer-newsletter-field input{width:100% !important;}
 .footer-newsletter-field button{width:100% !important;}
 .footer-main{grid-template-columns:1fr !important;gap:28px !important;padding:36px 20px 22px !important;}
 .footer-nav{justify-self:start !important;}
 .footer-links{justify-content:flex-start !important;white-space:normal !important;gap:14px 20px !important;}
 .footer-links a,.footer-links a:first-child{margin:0 !important;}
}


/* FINAL HEADER / BUTTON CONSISTENCY
   Menu button is mobile-only. Normal buttons keep one common size. */
.menu-button {
  display: none !important;
}

@media (max-width: 920px) {
  .menu-button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
  }
}

.menu-button-icon {
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 22px;
}

.menu-button-icon span {
  display: block;
  width: 100%;
  height: 2px;
  background: currentColor;
  border-radius: 2px !important;
}

/* Formspree newsletter: stay on the current page and show the result inline. */
.newsletter-status{margin-top:10px;font-size:13px;line-height:1.5;min-height:1.5em}
.newsletter-status.success{color:#203470}
.newsletter-status.error{color:#a21d1d}
.footer-newsletter button[type="submit"]:disabled{opacity:.6;cursor:wait}

/* GLOBAL BORDER RADIUS — 5PX */
*, *::before, *::after {
  border-radius: 5px !important;
}

/* FINAL MOBILE MENU — HOVER EFFECTS COMPLETELY DISABLED */
@media (max-width: 920px) {
  .nav a:hover,
  .nav a:focus,
  .nav a:active,
  .nav > a:hover,
  .nav > a:focus,
  .nav > a:active,
  .nav .nav-trigger:hover,
  .nav .nav-trigger:focus,
  .nav .nav-trigger:active,
  .nav-submenu a:hover,
  .nav-submenu a:focus,
  .nav-submenu a:active,
  .nav .nav-cta:hover,
  .nav .nav-cta:focus,
  .nav .nav-cta:active,
  .menu-button:hover,
  .menu-button:focus,
  .menu-button:active {
    background: transparent !important;
    color: inherit !important;
    border-color: inherit !important;
    transform: none !important;
    box-shadow: none !important;
    text-decoration: none !important;
  }

  .nav a::after,
  .nav a:hover::after,
  .nav a:focus::after,
  .nav a:active::after {
    transform: scaleX(0) !important;
    opacity: 0 !important;
    transition: none !important;
  }

  .nav-submenu a {
    transition: none !important;
  }

  .nav,
  .nav a,
  .nav button,
  .menu-button {
    -webkit-tap-highlight-color: transparent !important;
  }
}

/* Google reCAPTCHA v2 — newsletter */

/* Sarıkalem Society SVG logo */
.brand {
    display: inline-flex !important;
    align-items: center !important;
    flex-shrink: 0;
    line-height: 0;
}
.brand img {
    display: block;
    width: 170px;
    height: auto;
    max-height: 48px;
    object-fit: contain;
}
.footer-brand-logo {
    display: block;
    width: 190px;
    height: auto;
    max-height: 60px;
    object-fit: contain;
    margin: 0 0 14px;
}
@media (max-width: 760px) {
    .brand img { width: 145px; max-height: 42px; }
    .footer-brand-logo { width: 170px; }
}

/* ABSOLUTE FINAL — mobile hamburger: no frame, no hover/tap effects anywhere */
@media (max-width: 920px) {
  .menu-button,
  .menu-button:hover,
  .menu-button:focus,
  .menu-button:active,
  .menu-button:focus-visible {
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: none !important;
    color: #222 !important;
    padding: 0 8px !important;
  }

  .nav a,
  .nav a:hover,
  .nav a:focus,
  .nav a:focus-visible,
  .nav a:active,
  .nav-submenu a,
  .nav-submenu a:hover,
  .nav-submenu a:focus,
  .nav-submenu a:focus-visible,
  .nav-submenu a:active,
  .nav .nav-trigger,
  .nav .nav-trigger:hover,
  .nav .nav-trigger:focus,
  .nav .nav-trigger:focus-visible,
  .nav .nav-trigger:active,
  .nav .nav-cta,
  .nav .nav-cta:hover,
  .nav .nav-cta:focus,
  .nav .nav-cta:focus-visible,
  .nav .nav-cta:active {
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
    outline: none !important;
  }

  .nav,
  .nav a,
  .nav button,
  .menu-button {
    -webkit-tap-highlight-color: transparent !important;
  }

  .nav > a,
  .nav .nav-trigger,
  .nav-submenu a {
    border-bottom: 0 !important;
  }

  .nav .lang-link {
    border-bottom: 0 !important;
    width: auto !important;
    min-height: auto !important;
    margin-top: auto !important;
    align-self: flex-start !important;
    justify-content: flex-start !important;
    padding: 14px 0 0 !important;
  }

  .nav,
  .nav.open {
    transition: none !important;
    animation: none !important;
  }
}

/* DESKTOP HEADER — logo centered on top row, nav links centered below, EN pinned top-right */
@media (min-width: 921px) {
  .site-header {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    min-height: 0 !important;
    padding: 22px 6vw 0 !important;
    gap: 0 !important;
  }

  .site-header .brand {
    display: flex !important;
    align-items: center !important;
    height: 48px !important;
    margin: 0 auto !important;
  }

  .site-header .nav {
    position: static !important;
    display: flex !important;
    width: 100% !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 32px !important;
    margin-top: 18px !important;
    padding-bottom: 18px !important;
    border-bottom: 1px solid #ececec !important;
  }

  .site-header .nav .lang-link {
    position: absolute !important;
    top: 22px !important;
    right: 6vw !important;
    height: 48px !important;
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
  }
}

/* ABSOLUTE FINAL — center event/hotel/gallery hero text and controls */
.event-page-hero .hero-inner,
.hotel-hero .hero-inner,
.gallery-hero .hero-inner {
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}
.event-page-hero .hero-inner h1,
.event-page-hero .hero-inner p,
.hotel-hero .hero-inner h1,
.hotel-hero .hero-inner p,
.gallery-hero .hero-inner h1,
.gallery-hero .hero-inner p {
  text-align: center !important;
}
.event-page-hero .hero-inner .event-meta,
.event-page-hero .hero-inner .actions,
.hotel-hero .hero-inner .actions,
.gallery-hero .hero-inner .actions {
  justify-content: center !important;
}
.event-page-hero .hero-inner .ticket-cta {
  align-items: center !important;
}

/* =========================================================
   GLOBAL FOOTER — her sayfada birebir aynı
   (sayfa içi footer stilleri kaldırıldı, tek kaynak burasıdır)
   ========================================================= */
.footer-join {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(300px, .78fr) !important;
  gap: 32px !important;
  align-items: center !important;
  padding: 34px clamp(20px, 6vw, 96px) !important;
  border-bottom: 1px solid #e7e7e7 !important;
}
.footer-join-copy { min-width: 0 !important; }
.footer-join h2 {
  margin: 0 !important;
  font-size: clamp(23px, 2.6vw, 32px) !important;
  line-height: 1.14 !important;
  letter-spacing: -.7px !important;
}
.footer-join p {
  margin: 9px 0 0 !important;
  max-width: 520px !important;
  font-size: 14.5px !important;
  line-height: 1.55 !important;
}
.footer-newsletter { width: 100% !important; max-width: 420px !important; justify-self: end !important; }
.footer-newsletter-field {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  min-height: 0 !important;
  padding: 4px !important;
  box-sizing: border-box !important;
}
.footer-newsletter-field input {
  height: 40px !important;
  padding: 0 13px !important;
  font-size: 14px !important;
}
.footer-newsletter-field button {
  height: 40px !important;
  padding: 0 17px !important;
  font-size: 14px !important;
}
.footer .form-status {
  margin: 9px 0 0 !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
  color: #5f5f5f !important;
}
.footer .form-status.success { color: #1d7a4c !important; }
.footer .form-status.error { color: #b3261e !important; }

.footer-main {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 34px 64px !important;
  align-items: start !important;
  padding: 40px clamp(20px, 6vw, 96px) 26px !important;
}
.footer-brand { max-width: 560px !important; min-width: 0 !important; }
.footer-brand p { margin: 12px 0 0 !important; font-size: 15px !important; line-height: 1.6 !important; }
.footer-nav { min-width: 0 !important; justify-self: end !important; }
.footer-links {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px 26px !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 12px 0 0 !important;
  padding: 0 !important;
  float: none !important;
}
.footer-links::before { content: none !important; display: none !important; }
.footer-links a { display: inline-block !important; margin: 0 !important; white-space: nowrap !important; font-size: 15px !important; font-weight: 600 !important; }
.footer .social-links { display: flex !important; flex-wrap: wrap !important; gap: 10px !important; margin: 14px 0 0 !important; }
.footer .social-links a { display: grid !important; place-items: center !important; width: 38px !important; height: 38px !important; border-radius: 5px !important; }
.footer-main > small { grid-column: 1 / -1 !important; }

@media (max-width: 900px) {
  .footer-join {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
    padding: 30px 20px !important;
  }
  .footer-newsletter { max-width: none !important; justify-self: stretch !important; }
  .footer-main { grid-template-columns: 1fr !important; gap: 26px !important; padding: 32px 20px 22px !important; }
  .footer-nav { justify-self: start !important; }
  .footer-links { margin-top: 10px !important; gap: 10px 20px !important; }
}
@media (max-width: 560px) {
  .footer-join h2 { font-size: 23px !important; letter-spacing: -.5px !important; }
  .footer-join p { font-size: 14px !important; }
  .footer-newsletter-field { display: flex !important; border: 1px solid #cfcfcf !important; gap: 6px !important; }
  .footer-newsletter-field input { width: auto !important; height: 40px !important; border: 0 !important; }
  .footer-newsletter-field button { width: auto !important; height: 40px !important; padding: 0 14px !important; }
}

/* =========================================================
   MOBİL — yatay kayma / taşma düzeltmesi
   ========================================================= */
@media (max-width: 920px) {
  html, body {
    max-width: 100% !important;
    overflow-x: clip !important; /* clip: sticky header'ı bozmadan yatay taşmayı keser */
  }
  @supports not (overflow: clip) {
    html, body { overflow-x: hidden !important; }
  }
  img, svg, video, iframe, canvas { max-width: 100% !important; height: auto; }
  .site-header { padding-left: 20px !important; padding-right: 20px !important; }
  .container, .section, .hero-inner, .auth-shell, .admin-shell, .profile {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  [class*="grid"], [class*="-row"], [class*="-layout"] { min-width: 0 !important; }
  /* geniş tablolar: sayfayı değil, kendi kutusunu kaydırsın */
  .admin-events-table, .table-wrap, .table-scroll, .admin-table-wrap {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  pre, code { white-space: pre-wrap !important; word-break: break-word !important; }
}

/* =========================================================
   TİPOGRAFİ — ağırlık sadeleştirmesi
   En kalın ağırlık 600; strong/b de aynı ölçeği kullanır.
   ========================================================= */
strong, b, th, dt, .footer-brand strong, .footer-nav > strong { font-weight: 600; }

/* =========================================================
   GALERİ SAYFALARI — grid masonry
   3 sütunlu ızgara; her fotoğraf kendi oranında, kırpılmadan
   ve gerdirilmeden yerleşir. Satır aralıkları app.js hesaplar.
   ========================================================= */
.gallery-page-grid {
    display: grid !important;
    width: 100% !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 16px !important;
    grid-auto-rows: 6px !important;
    align-items: start !important;
    column-count: auto !important;
}
.gallery-page-grid .gallery-photo {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border-radius: 5px !important;
    background: #f3f4f6 !important;
    grid-row-end: span var(--span, 40) !important;
    align-self: start !important;
}
/* Oran zorlanmaz: kutunun boyu görselin kendi oranından gelir. */
.gallery-page-grid .gallery-link {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    line-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}
.gallery-page-grid .gallery-link img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: none !important;
    object-fit: contain !important;
    transition: transform .35s ease !important;
}
.gallery-page-grid .gallery-photo:hover img {
    transform: scale(1.03) !important;
}
@media (max-width: 900px) {
    .gallery-page-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; }
}
@media (max-width: 560px) {
    .gallery-page-grid { grid-template-columns: 1fr !important; gap: 10px !important; }
}