/* =========================================================
   THEME SYSTEM — compact, deduplicated (v5)
   ========================================================= */

/* ---------- Fallback ---------- */
:root{
  --bg:#ffffff;
  --text:#0f1115;
  --muted:#6b7280;
  --primary:#111827;
  --primary-contrast:#ffffff;
  --accent:#f59e0b;
  --card:#ffffff;
  --border:#e5e7eb;

  /* hero text defaults */
  --hero-text:#ffffff;
  --hero-sub:rgba(255,255,255,.86);
}

/* ---------- Base apply ---------- */
html,body{ background:var(--bg); color:var(--text); }
a{ color:var(--primary); }
.muted,.section-subtitle{ color:var(--muted); }
.card,.box,.card.clean{ background:var(--card)!important; border:1px solid var(--border)!important; }
.h-row{ background:var(--card); border-color:var(--border); }
.map-shell{ background:var(--card); border-color:var(--border); }
input[type=text],input[type=number],input[type=file],textarea,select{
  background:var(--card); color:var(--text); border:1px solid var(--border);
}
/* small highlight */
.h-row.today{ background:color-mix(in oklab,var(--accent) 12%, #fff)!important; border-color:var(--accent)!important; }

/* ---------- Header / Nav ---------- */
.main-header{
  background:var(--primary)!important;
  color:var(--primary-contrast)!important;
  border-bottom:1px solid color-mix(in oklab,var(--primary) 70%, var(--border))!important;
}
.main-header .logo-text{ color:var(--primary-contrast)!important; }
.main-header .main-nav a{ color:var(--primary-contrast)!important; opacity:.9; }
.main-header .main-nav a:hover{ opacity:1; color:var(--primary-contrast)!important; }
.main-header .main-nav a.active{ color:var(--accent)!important; border-bottom:2px solid var(--accent)!important; }

/* ---------- Footer ---------- */
.site-footer,footer,.footer,.main-footer{
  background:var(--primary)!important;
  color:var(--primary-contrast)!important;
  border-top:1px solid color-mix(in oklab,var(--primary) 70%, var(--border))!important;
}
.site-footer a,footer a,.footer a{ color:var(--primary-contrast)!important; opacity:.9; }
.site-footer a:hover,footer a:hover,.footer a:hover{ opacity:1; color:var(--accent)!important; }
.site-footer h3,footer h3,.footer h3{ color:var(--accent)!important; }
hr,.footer hr{ border:none!important; border-top:1px solid var(--border)!important; }

/* ---------- Strip arrows ---------- */
.strip .nav{ background:var(--primary)!important; border-color:var(--primary)!important; }
.strip .nav:disabled{ opacity:.45; }

/* ---------- HERO ---------- */
.hero h1{ color:var(--hero-text)!important; text-shadow:0 2px 12px rgba(0,0,0,.45); }
.hero h1 span{ color:var(--accent)!important; }
.hero .lead,.section-subtitle{ color:var(--hero-sub)!important; text-shadow:0 2px 12px rgba(0,0,0,.45); }

/* remove glass panels */
.hero-v3 .hero-copy,.hero-v3 .hero-foreground-card{
  background:transparent!important; border:none!important; box-shadow:none!important; backdrop-filter:none!important;
}
.hero-v3 .hero-copy{ padding:0!important; }

/* CTA buttons — targeted only in hero */
.hero-v3 .cta-stack .btn-xl{
  background:var(--accent)!important; border:1px solid var(--accent)!important; color:#fff!important;
  transition:transform .15s ease, filter .15s ease, box-shadow .15s ease;
}
.hero-v3 .cta-stack .btn-xl:hover{ transform:translateY(-1px); filter:brightness(1.05); box-shadow:0 8px 28px rgba(0,0,0,.25); }
.hero-v3 .cta-stack .btn-xl.btn-ghost{
  background:transparent!important; color:rgba(255,255,255,.92)!important; border:1px solid rgba(255,255,255,.55)!important;
}
.hero-v3 .cta-stack .btn-xl.btn-ghost:hover{ color:#fff!important; border-color:#fff!important; box-shadow:0 8px 28px rgba(0,0,0,.25); }

/* ---------- Admin (global) ---------- */
.admin-header{
  background:var(--primary)!important; color:var(--primary-contrast)!important;
  border-bottom:1px solid color-mix(in oklab,var(--primary) 70%, var(--border))!important;
}
.admin-header .btn.btn-sm{ background:var(--accent)!important; color:var(--primary-contrast)!important; border:1px solid var(--accent)!important; }

.admin-container{ background:var(--bg)!important; }
.admin-content{ background:var(--bg)!important; }
.tab-btn{ background:var(--card)!important; border:1px solid var(--border)!important; color:var(--text)!important; }
.tab-btn.active{ background:var(--primary)!important; border-color:var(--primary)!important; color:var(--primary-contrast)!important; }

/* Admin sidebar + readability fix */
.admin-sidebar,.sidebar{
  background:color-mix(in oklab,var(--primary) 8%, var(--bg))!important;
  border-right:1px solid var(--border)!important; color:var(--text)!important;
}
.sidebar a,.admin-sidebar a{ color:var(--text)!important; opacity:.9; }
.sidebar a:hover,.admin-sidebar a:hover{ opacity:1; color:var(--text)!important; }
.sidebar a.active,.admin-sidebar a.active,.sidebar li.active>a,.admin-sidebar li.active>a{
  background:var(--primary)!important; color:var(--primary-contrast)!important; border-left:4px solid var(--accent)!important; opacity:1!important;
}
.sidebar a.active .icon,.admin-sidebar a.active .icon{ color:var(--primary-contrast)!important; }
.sidebar .section-title,.admin-sidebar .section-title,.sidebar h6,.admin-sidebar h6,.sidebar .heading,.admin-sidebar .heading{
  color:var(--muted)!important; letter-spacing:.06em; text-transform:uppercase;
}

/* =========================================================
   THEMES (15)
   ========================================================= */
body[data-theme="default"]{
  --bg:#ffffff; --text:#0f1115; --muted:#6b7280;
  --primary:#111827; --primary-contrast:#ffffff; --accent:#f59e0b;
  --card:#ffffff; --border:#e5e7eb;
}
body[data-theme="forest"]{
  --bg:#f7faf7; --text:#0a1f19; --muted:#64756f;
  --primary:#065f46; --primary-contrast:#eafff7; --accent:#10b981;
  --card:#ffffff; --border:#d9eee7;
}
body[data-theme="ocean"]{
  --bg:#f3f9ff; --text:#0b1f2e; --muted:#5b7286;
  --primary:#0ea5e9; --primary-contrast:#06212d; --accent:#1e40af;
  --card:#ffffff; --border:#dbeafe;
}
body[data-theme="sunset"]{
  --bg:#fff7ed; --text:#2a0e06; --muted:#6b5049;
  --primary:#ea580c; --primary-contrast:#fff4ea; --accent:#ef4444;
  --card:#ffffff; --border:#ffe5d1;
}
body[data-theme="sand"]{
  --bg:#fbf7ef; --text:#2b2214; --muted:#7a6a52;
  --primary:#92400e; --primary-contrast:#fff7e6; --accent:#eab308;
  --card:#ffffff; --border:#efe6d3;
}
body[data-theme="plum"]{
  --bg:#f8f7ff; --text:#1b1130; --muted:#706a85;
  --primary:#6d28d9; --primary-contrast:#f8f7ff; --accent:#7c3aed;
  --card:#ffffff; --border:#eadffd;
}
body[data-theme="carbon"]{
  --bg:#0f1115; --text:#e5e7eb; --muted:#94a3b8;
  --primary:#111827; --primary-contrast:#ffffff; --accent:#3b82f6;
  --card:#0f1115; --border:#1f2937;
}
body[data-theme="emerald"]{
  --bg:#f1fdf6; --text:#071b16; --muted:#5f7b71;
  --primary:#059669; --primary-contrast:#eafff7; --accent:#10b981;
  --card:#ffffff; --border:#dcfce7;
}
body[data-theme="rose"]{
  --bg:#fff1f3; --text:#2a0b13; --muted:#8a5c68;
  --primary:#be123c; --primary-contrast:#fff1f3; --accent:#f43f5e;
  --card:#ffffff; --border:#ffe4e6;
}
body[data-theme="cocoa"]{
  --bg:#fbf7f5; --text:#201714; --muted:#7c6a63;
  --primary:#4e342e; --primary-contrast:#fefaf7; --accent:#8d6e63;
  --card:#ffffff; --border:#e8ded9;
}
body[data-theme="navy"]{
  --bg:#eef2ff; --text:#060b1f; --muted:#5c6c8c;
  --primary:#1d4ed8; --primary-contrast:#eef2ff; --accent:#0b1f5e;
  --card:#ffffff; --border:#dbe2ff;
}
body[data-theme="slate"]{
  --bg:#f1f5f9; --text:#0a0f1d; --muted:#64748b;
  --primary:#0f172a; --primary-contrast:#e2e8f0; --accent:#334155;
  --card:#ffffff; --border:#e2e8f0;
}
body[data-theme="coral"]{
  --bg:#fff1e6; --text:#2b0f09; --muted:#896259;
  --primary:#b91c1c; --primary-contrast:#fff5f5; --accent:#fb923c;
  --card:#ffffff; --border:#ffe6d6;
}
body[data-theme="lime"]{
  --bg:#f7fde8; --text:#121a07; --muted:#627153;
  --primary:#3f6212; --primary-contrast:#f7fde8; --accent:#a3e635;
  --card:#ffffff; --border:#ecfccb;
}
body[data-theme="teal"]{
  --bg:#effdfb; --text:#071a19; --muted:#557872;
  --primary:#115e59; --primary-contrast:#effdfb; --accent:#14b8a6;
  --card:#ffffff; --border:#ccfbf1;
}
/* ====== THEME-WIDE ACCENTS (buttons, titles, cards, icons) ====== */

/* 1) Başlık altı çizgi */
.section-title,
h2.section-title {
  position: relative;
}
.section-title::after,
h2.section-title::after{
  content:"";
  display:block;
  width:76px;
  height:4px;
  margin-top:10px;
  border-radius:999px;
  background: var(--accent);
  box-shadow: 0 4px 14px color-mix(in oklab, var(--accent) 40%, transparent);
}

/* 2) Birincil / ikincil buton – (hero dahil her yerde) */
.btn, .btn-xl {
  background: var(--primary) !important;
  color: var(--primary-contrast) !important;
  border: 1px solid var(--primary) !important;
}
.btn:hover, .btn-xl:hover { filter: brightness(.95); }

.btn-ghost, .btn-xl.btn-ghost{
  background: transparent !important;
  color: var(--primary) !important;
  border: 1px solid var(--primary) !important;
}
.btn-ghost:hover, .btn-xl.btn-ghost:hover{
  background: color-mix(in oklab, var(--primary) 10%, transparent) !important;
}

/* 3) Hero özel CTA grubu (varsa) */
.hero .cta .btn,
.hero .cta .btn-xl{ /* hero içindeki butonlar zaten btn miras alıyor */
  box-shadow: 0 8px 24px color-mix(in oklab, var(--primary) 35%, transparent);
}

/* 4) Kart vurguları: üst şerit, fiyat bandı, köşe pulu */
.card .accent-bar,
.card .price-strip,
.card .corner-pill{
  background: var(--accent) !important;
  color: var(--primary-contrast) !important;
  border: 1px solid color-mix(in oklab, var(--accent) 85%, var(--border)) !important;
}
.card .corner-pill{
  position:absolute; right:14px; top:14px;
  border-radius:999px; padding:.35rem .6rem; font-weight:600;
}

/* 5) Özellik/Fayda kartı ikonları */
.icon-badge, .feature-icon, .icon-pill{
  display:inline-grid; place-items:center;
  width:56px; height:56px; border-radius:20px;
  background: color-mix(in oklab, var(--accent) 16%, var(--card));
  border: 1px solid color-mix(in oklab, var(--accent) 60%, var(--border));
  color: var(--accent);
  box-shadow: 0 6px 18px color-mix(in oklab, var(--accent) 24%, transparent);
}

/* 6) Kartların genel görünümü temaya otursun */
.card, .box{
  background: var(--card) !important;
  border: 1px solid var(--border) !important;
}

/* 7) Küçük etiket/rozeti (örn. “Yeni”, “%10”) */
.badge, .chip{
  display:inline-block;
  padding:.25rem .55rem;
  border-radius:999px;
  background: color-mix(in oklab, var(--primary) 12%, var(--card));
  border:1px solid color-mix(in oklab, var(--primary) 65%, var(--border));
  color: var(--primary);
  font-weight:600;
}

/* 8) Navigasyon aktif vurgu (üst menü) */
.main-header .main-nav a.active{
  color: var(--accent) !important;
  border-bottom: 2px solid var(--accent) !important;
}

/* 9) Sayfa içi link buton görünümü isteyenler */
.link-accent{ color: var(--primary); border-bottom:2px solid var(--accent); }
.link-accent:hover{ color: var(--accent); }
