/* ==========================================================================
   Memleketim tasarım sistemi (0.4)
   Kaynak: logo (petrol mavisi + turuncu amblem) ve iki tasarım örneği, docs/tasarim-referans/
   Fontlar yerel (GDPR: Google Fonts'a bağlanılmaz). Montserrat başlık, Inter gövde, Caveat el yazısı.
   ========================================================================== */

/* ---------- fontlar ---------- */
@font-face { font-family:"Montserrat"; font-style:normal; font-weight:100 900; font-display:swap; src:url(/assets/fonts/montserrat-latin-wght-normal.woff2) format("woff2-variations"); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:"Montserrat"; font-style:normal; font-weight:100 900; font-display:swap; src:url(/assets/fonts/montserrat-latin-ext-wght-normal.woff2) format("woff2-variations"); unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:"Inter"; font-style:normal; font-weight:100 900; font-display:swap; src:url(/assets/fonts/inter-latin-wght-normal.woff2) format("woff2-variations"); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:"Inter"; font-style:normal; font-weight:100 900; font-display:swap; src:url(/assets/fonts/inter-latin-ext-wght-normal.woff2) format("woff2-variations"); unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:"Caveat"; font-style:normal; font-weight:700; font-display:swap; src:url(/assets/fonts/caveat-latin-700-normal.woff2) format("woff2"); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:"Caveat"; font-style:normal; font-weight:700; font-display:swap; src:url(/assets/fonts/caveat-latin-ext-700-normal.woff2) format("woff2"); unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }

/* ---------- jetonlar ---------- */
:root {
  --primary:#155A78; --primary-600:#124E69; --primary-700:#0F4460; --primary-900:#0B3448; --primary-50:#EAF3F7; --primary-100:#D6E8F0;
  --sky:#8CC4DD; --sky-50:#EEF7FB;
  --accent:#EF7D1A; --accent-btn:#E26A0C; --accent-text:#B9520A; --accent-50:#FEF1E6; --accent-100:#FCE0C8;
  --bg:#FBF7F0; --bg-2:#F5EEE2; --surface:#FFFFFF;
  --ink:#123B50; --ink-2:#4A6373; --ink-3:#7A8E99; --line:#E8E0D3; --line-2:#F0EAE0;
  --ok:#1E7A4C; --ok-50:#E5F4EC; --warn:#A65A00; --warn-50:#FFF2DD; --danger:#B3261E; --danger-50:#FCE9E7;
  --t-green:#1E9E63; --t-green-50:#E7F6EE; --t-blue:#2C79D0; --t-blue-50:#EAF2FC; --t-purple:#7A4FC8; --t-purple-50:#F1ECFA;
  --t-orange:#EF7D1A; --t-orange-50:#FEF1E6; --t-red:#DD4439; --t-red-50:#FDECEA; --t-teal:#15858C; --t-teal-50:#E4F4F4;
  --font-head:"Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-body:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-script:"Caveat", "Segoe Script", "Bradley Hand", cursive;
  --r-sm:8px; --r:12px; --r-lg:18px; --r-xl:26px; --pill:999px;
  --shadow-sm:0 1px 2px rgba(18,59,80,.06);
  --shadow:0 1px 2px rgba(18,59,80,.05), 0 8px 24px rgba(18,59,80,.07);
  --shadow-lg:0 2px 6px rgba(18,59,80,.06), 0 22px 48px rgba(18,59,80,.12);
  --container:1200px; --gutter:24px;
}

/* ---------- temel ---------- */
*, *::before, *::after { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; }
body { margin:0; font:400 15.5px/1.6 var(--font-body); background:var(--bg); color:var(--ink); -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
img, svg { max-width:100%; }
a { color:var(--primary); text-decoration-thickness:1px; text-underline-offset:3px; }
a:hover { color:var(--primary-700); }
h1, h2, h3, h4 { font-family:var(--font-head); color:var(--ink); line-height:1.2; letter-spacing:-.01em; margin:0 0 .5em; }
h1 { font-size:clamp(28px, 3vw, 36px); font-weight:800; }
h2 { font-size:clamp(21px, 2.1vw, 26px); font-weight:750; }
h3 { font-size:17px; font-weight:700; }
p { margin:0 0 1em; }
hr { border:0; border-top:1px solid var(--line); margin:20px 0; }
code { font-family:ui-monospace, SFMono-Regular, Menlo, monospace; font-size:.92em; }
::selection { background:var(--accent-100); }
:focus-visible { outline:3px solid var(--sky); outline-offset:2px; border-radius:6px; }
.icon { width:1.15em; height:1.15em; flex:none; vertical-align:-.2em; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.muted { color:var(--ink-2); } .small { font-size:13.5px; } .xs { font-size:12px; }
.script { font-family:var(--font-script); font-weight:700; color:var(--primary); line-height:1.05; }
.script.accent { color:var(--accent-text); }
.dot-accent { color:var(--accent); }
.nowrap { white-space:nowrap; }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.container { width:100%; max-width:var(--container); margin:0 auto; padding-inline:var(--gutter); }
main { max-width:var(--container); margin:0 auto; padding:32px var(--gutter) 48px; }
main.bleed { max-width:none; padding:0; }

/* ---------- marka ---------- */
.brand { display:inline-flex; align-items:center; gap:10px; text-decoration:none; color:var(--primary-700); font:800 21px/1 var(--font-head); letter-spacing:-.02em; }
.brand img { width:40px; height:40px; }
.brand small { font:600 11px/1 var(--font-body); color:var(--ink-3); letter-spacing:.06em; text-transform:uppercase; margin-left:2px; }
.brand:hover { color:var(--primary-900); }
.monogram { display:inline-grid; place-items:center; width:42px; height:42px; border-radius:12px; background:linear-gradient(135deg, var(--primary) 0%, var(--primary-900) 100%); color:#fff; font:800 15px/1 var(--font-head); letter-spacing:.02em; flex:none; position:relative; }
.monogram::after { content:""; position:absolute; right:-3px; bottom:-3px; width:12px; height:12px; border-radius:4px; background:var(--accent); border:2px solid var(--surface); }
.monogram.lg { width:64px; height:64px; border-radius:18px; font-size:22px; }

/* ---------- üst başlık (site, vitrin) ---------- */
.site-header { position:sticky; top:0; z-index:40; background:rgba(255,255,255,.92); backdrop-filter:saturate(1.4) blur(10px); border-bottom:1px solid var(--line-2); }
.site-header .container { display:flex; align-items:center; gap:28px; min-height:72px; }
.site-nav { display:flex; gap:4px; align-items:center; }
.site-nav a { position:relative; padding:8px 12px; color:var(--ink); text-decoration:none; font:600 14.5px/1 var(--font-head); border-radius:var(--pill); }
.site-nav a:hover { background:var(--primary-50); color:var(--primary-700); }
.site-nav a.active { color:var(--accent-text); }
.site-nav a.active::after { content:""; position:absolute; left:12px; right:12px; bottom:-10px; height:3px; border-radius:3px; background:var(--accent); }
.header-actions { margin-left:auto; display:flex; align-items:center; gap:10px; }
.icon-btn { display:inline-grid; place-items:center; width:40px; height:40px; border-radius:50%; color:var(--ink); background:transparent; border:0; cursor:pointer; text-decoration:none; }
.icon-btn:hover { background:var(--primary-50); color:var(--primary-700); }
.icon-btn .icon { width:20px; height:20px; }
.nav-toggle { display:none; }
.user-chip { display:inline-flex; align-items:center; gap:8px; padding:4px 12px 4px 4px; border-radius:var(--pill); background:var(--primary-50); color:var(--primary-700); text-decoration:none; font:600 14px/1 var(--font-head); }
.user-chip:hover { background:var(--primary-100); }
.avatar { display:inline-grid; place-items:center; width:32px; height:32px; border-radius:50%; background:var(--primary); color:#fff; font:700 12.5px/1 var(--font-head); flex:none; }
.avatar.lg { width:56px; height:56px; font-size:19px; }
.avatar.accent { background:var(--accent); }

/* ---------- alt bilgi ---------- */
.site-footer { background:var(--primary-900); color:#C8DCE6; margin-top:0; }
.site-footer a { color:#E6F1F6; text-decoration:none; } .site-footer a:hover { color:#fff; text-decoration:underline; }
.site-footer .container { padding-block:44px 26px; }
.footer-grid { display:grid; grid-template-columns:minmax(0,1.4fr) repeat(3, minmax(0,1fr)); gap:32px; }
.footer-grid h4 { color:#fff; font-size:14px; letter-spacing:.04em; text-transform:uppercase; margin-bottom:12px; }
.footer-grid ul { list-style:none; margin:0; padding:0; display:grid; gap:8px; font-size:14.5px; }
.site-footer .brand { color:#fff; } .site-footer .brand small { color:#9FC0D0; }
.footer-bottom { display:flex; flex-wrap:wrap; gap:8px 20px; justify-content:space-between; border-top:1px solid rgba(255,255,255,.12); margin-top:32px; padding-top:18px; font-size:13px; color:#9FC0D0; }
.footer-slim { text-align:center; color:var(--ink-2); padding:28px 16px 36px; font-size:13.5px; }
.footer-slim a { color:var(--ink-2); margin:0 8px; }
.footer-slim img { width:20px; height:20px; vertical-align:-5px; margin-right:6px; }

/* ---------- düğmeler ---------- */
.btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:42px; padding:10px 20px; border-radius:var(--pill); border:1.5px solid var(--primary); background:var(--primary); color:#fff; font:650 14.5px/1.15 var(--font-head); text-decoration:none; cursor:pointer; transition:background .15s, border-color .15s, transform .08s, box-shadow .15s; white-space:nowrap; }
.btn:hover { background:var(--primary-700); border-color:var(--primary-700); color:#fff; }
.btn:active { transform:translateY(1px); }
.btn .icon { width:17px; height:17px; }
.btn.secondary { background:var(--surface); color:var(--primary); border-color:var(--primary-100); }
.btn.secondary:hover { background:var(--primary-50); border-color:var(--primary); color:var(--primary-700); }
.btn.ghost { background:transparent; border-color:transparent; color:var(--primary); }
.btn.ghost:hover { background:var(--primary-50); }
.btn.accent { background:var(--accent-btn); border-color:var(--accent-btn); color:#fff; box-shadow:0 6px 16px rgba(226,106,12,.28); }
.btn.accent:hover { background:#C95D09; border-color:#C95D09; }
.btn.lg { min-height:54px; padding:14px 30px; font-size:18.7px; font-weight:750; }
.btn.small { min-height:32px; padding:6px 14px; font-size:13px; }
.btn.danger { background:var(--danger); border-color:var(--danger); }
.btn.danger:hover { background:#8F1E18; border-color:#8F1E18; }
.btn.light { background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.4); color:#fff; }
.btn.light:hover { background:rgba(255,255,255,.2); }
.btn[disabled], .btn.disabled { opacity:.45; cursor:not-allowed; box-shadow:none; }
.link-arrow { display:inline-flex; align-items:center; gap:6px; font:650 14px/1 var(--font-head); color:var(--accent-text); text-decoration:none; }
.link-arrow:hover { color:var(--accent-btn); } .link-arrow .icon { width:16px; height:16px; }

/* ---------- rozet / hap ---------- */
.pill { display:inline-flex; align-items:center; gap:4px; padding:3px 10px; border-radius:var(--pill); background:var(--bg-2); color:var(--ink); font:600 12.5px/1.4 var(--font-body); white-space:nowrap; }
.pill.ok { background:var(--ok-50); color:var(--ok); }
.pill.warn { background:var(--danger-50); color:var(--danger); }
.pill.amber { background:var(--warn-50); color:var(--warn); }
.pill.info { background:var(--primary-50); color:var(--primary-700); }
.pill.accent { background:var(--accent-btn); color:#fff; }
.pill.muted { background:var(--line-2); color:var(--ink-2); }
.tag { display:inline-block; padding:4px 10px; border-radius:6px; font:800 10.5px/1 var(--font-head); letter-spacing:.08em; text-transform:uppercase; color:#fff; background:var(--primary); }
.tag.vefat { background:#2B3A44; } .tag.duyuru { background:var(--accent-btn); } .tag.haber { background:var(--primary); }
.tag.dugun { background:var(--t-purple); } .tag.dogum { background:var(--t-green); } .tag.koy { background:var(--t-teal); } .tag.etkinlik { background:var(--t-red); }
.eyebrow { display:inline-flex; align-items:center; gap:8px; font:750 12.5px/1 var(--font-head); letter-spacing:.12em; text-transform:uppercase; color:var(--accent-text); }

/* ---------- kart ---------- */
.card { background:var(--surface); border:1px solid var(--line-2); border-radius:var(--r-lg); padding:22px; margin-bottom:18px; box-shadow:var(--shadow-sm); overflow-x:auto; }
.card > h3:first-child, .card > h2:first-child { margin-top:0; }
.card.flat { box-shadow:none; }
.card.accent-border { border-color:var(--accent-100); box-shadow:0 0 0 3px var(--accent-50), var(--shadow-sm); }
.card-head { display:flex; align-items:center; gap:10px; margin-bottom:14px; }
.card-head h3 { margin:0; } .card-head .spacer { flex:1; }
.grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); gap:18px; }
.grid-2 { display:grid; grid-template-columns:repeat(auto-fit, minmax(min(100%, 340px), 1fr)); gap:18px; }
.grid-3 { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:20px; }
.grid-4 { display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:20px; }
.stack-sm > * + * { margin-top:8px; }
.empty { text-align:center; padding:36px 16px; color:var(--ink-2); }
.empty .icon { width:40px; height:40px; color:var(--ink-3); margin-bottom:8px; }

/* istatistik kartı */
.stat { display:flex; gap:14px; align-items:flex-start; }
.stat .ico { display:grid; place-items:center; width:46px; height:46px; border-radius:14px; flex:none; }
.stat .ico .icon { width:22px; height:22px; }
.stat .label { color:var(--ink-2); font-size:13.5px; font-weight:500; }
.stat .value { font:800 28px/1.1 var(--font-head); color:var(--ink); margin:2px 0; }
.stat .sub { font-size:13px; color:var(--ink-2); }

/* renk tonları (özellik kartları, ikon kutuları) */
.tint-green { --tc:var(--t-green); --tb:var(--t-green-50); } .tint-blue { --tc:var(--t-blue); --tb:var(--t-blue-50); }
.tint-purple { --tc:var(--t-purple); --tb:var(--t-purple-50); } .tint-orange { --tc:var(--t-orange); --tb:var(--t-orange-50); }
.tint-red { --tc:var(--t-red); --tb:var(--t-red-50); } .tint-teal { --tc:var(--t-teal); --tb:var(--t-teal-50); }
.tint-primary { --tc:var(--primary); --tb:var(--primary-50); }
.ico { background:var(--tb, var(--primary-50)); color:var(--tc, var(--primary)); }
.ico.solid { background:var(--tc, var(--primary)); color:#fff; }

/* ---------- uyarı / flash ---------- */
.flash { display:flex; gap:10px; align-items:flex-start; padding:12px 16px; border-radius:var(--r); margin-bottom:18px; font-size:14.5px; border:1px solid transparent; }
.flash.success { background:var(--ok-50); color:var(--ok); border-color:#CBE8D8; }
.flash.error { background:var(--danger-50); color:var(--danger); border-color:#F5CFCB; }
.flash.info { background:var(--primary-50); color:var(--primary-700); border-color:var(--primary-100); }
.banner { text-align:center; padding:9px 16px; font-size:14px; font-weight:500; }
.banner a { font-weight:700; }
.banner.trial { background:var(--accent-50); color:#7A3A06; } .banner.trial a { color:#7A3A06; }
.banner.pastdue { background:var(--warn-50); color:var(--warn); }
.banner.suspended { background:var(--danger); color:#fff; } .banner.suspended a { color:#fff; }

/* ---------- form ---------- */
label { display:block; font:600 13.5px/1.3 var(--font-body); color:var(--ink); margin:14px 0 6px; }
input, select, textarea { width:100%; padding:11px 14px; border:1.5px solid var(--line); border-radius:var(--r); font:inherit; font-size:15px; color:var(--ink); background:#fff; transition:border-color .15s, box-shadow .15s; }
input::placeholder, textarea::placeholder { color:var(--ink-3); }
input:hover, select:hover, textarea:hover { border-color:#D6CDBE; }
input:focus, select:focus, textarea:focus { outline:none; border-color:var(--primary); box-shadow:0 0 0 4px rgba(21,90,120,.12); }
input[type=checkbox], input[type=radio] { width:18px; height:18px; accent-color:var(--primary); padding:0; }
input[type=file] { padding:9px; background:var(--bg); }
label.check { display:flex; gap:10px; align-items:flex-start; font-weight:400; font-size:14.5px; margin:10px 0; cursor:pointer; }
label.check input { margin-top:2px; flex:none; }
.check-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(180px, 1fr)); gap:2px 16px; }
.check-grid.is-long { max-height:340px; overflow:auto; padding:4px 8px; border:1px solid var(--line); border-radius:10px; }
.list-search-bar { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin:6px 0 8px; }
.list-search-bar .list-search { max-width:280px; margin:0; }
input.list-search { margin-bottom:6px; }
.names-list { list-style:none; margin:0 0 12px; padding:0; display:grid; gap:6px; }
.names-list li { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:6px 10px; background:var(--bg); border-radius:8px; }
.form-row { display:grid; grid-template-columns:repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap:0 16px; }
.form-card { max-width:760px; }
.form-section { font:750 13px/1 var(--font-head); letter-spacing:.08em; text-transform:uppercase; color:var(--ink-2); margin:26px 0 4px; padding-top:18px; border-top:1px solid var(--line-2); }
.form-section:first-child { margin-top:0; padding-top:0; border-top:0; }
[data-type-section] > .form-section:first-child { margin-top:26px; padding-top:18px; border-top:1px solid var(--line-2); }
.hint { font-size:13px; color:var(--ink-2); margin-top:6px; }
.field-error { font-size:13px; color:var(--danger); margin-top:6px; }
.actions { display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-top:20px; }
.actions form, td.row-actions form { display:inline; }
.input-group { display:flex; align-items:center; border:1.5px solid var(--line); border-radius:var(--r); background:#fff; overflow:hidden; }
.input-group input { border:0; box-shadow:none !important; }
.input-group .addon { padding:0 14px; color:var(--ink-2); background:var(--bg); align-self:stretch; display:flex; align-items:center; font-size:14px; border-left:1px solid var(--line); }
.input-group:focus-within { border-color:var(--primary); box-shadow:0 0 0 4px rgba(21,90,120,.12); }

/* ---------- tablo ---------- */
table { width:100%; border-collapse:collapse; font-size:14.5px; }
th { text-align:left; font:700 12px/1.3 var(--font-head); letter-spacing:.06em; text-transform:uppercase; color:var(--ink-2); padding:10px 12px; border-bottom:1px solid var(--line); white-space:nowrap; }
td { text-align:left; padding:13px 12px; border-bottom:1px solid var(--line-2); vertical-align:top; }
tr:last-child td { border-bottom:0; }
tr.clickable { cursor:pointer; transition:background .12s; } tr.clickable:hover td { background:#FBF8F2; }
td.row-actions { white-space:nowrap; text-align:right; }
.person { display:flex; gap:12px; align-items:flex-start; }
.person strong { font-family:var(--font-head); font-weight:700; }

/* ---------- sekme / filtre ---------- */
.tabs { display:flex; gap:6px; flex-wrap:wrap; margin-bottom:18px; }
.tabs a { display:inline-flex; align-items:center; gap:6px; padding:8px 14px; border-radius:var(--pill); background:var(--surface); border:1px solid var(--line); text-decoration:none; color:var(--ink); font:600 13.5px/1 var(--font-head); }
.tabs a:hover { border-color:var(--primary-100); background:var(--primary-50); }
.tabs a.active { background:var(--primary); border-color:var(--primary); color:#fff; }
.tabs a .count { font:700 11.5px/1 var(--font-body); padding:3px 7px; border-radius:var(--pill); background:var(--bg-2); color:var(--ink-2); }
.tabs a.active .count { background:rgba(255,255,255,.2); color:#fff; }
.filters { display:flex; gap:10px; flex-wrap:wrap; align-items:end; margin-bottom:18px; }
.filters label { margin:0 0 6px; font-size:12.5px; color:var(--ink-2); }
.filters > div { min-width:150px; flex:0 1 200px; }
.filters > div.grow { flex:1 1 260px; }

/* ---------- sayfa başlığı ---------- */
.page-head { display:flex; align-items:flex-end; gap:16px; flex-wrap:wrap; margin-bottom:20px; }
.page-head h1 { margin:0; }
.page-head .sub { color:var(--ink-2); margin:6px 0 0; font-size:14.5px; }
.page-head .spacer { flex:1; }
.crumbs { display:flex; align-items:center; gap:6px; font-size:13.5px; color:var(--ink-2); margin-bottom:10px; }
.crumbs a { color:var(--ink-2); text-decoration:none; } .crumbs a:hover { color:var(--primary); }
.crumbs .icon { width:14px; height:14px; }

/* ---------- tanım listesi ---------- */
.kv { display:grid; grid-template-columns:150px minmax(0,1fr); gap:10px 16px; margin:0; font-size:14.5px; }
.kv dt { color:var(--ink-2); } .kv dd { margin:0; }

/* ---------- modal ---------- */
dialog { border:0; border-radius:var(--r-lg); padding:0; max-width:560px; width:calc(100% - 32px); background:var(--surface); color:var(--ink); box-shadow:var(--shadow-lg); }
dialog > form, dialog > div { padding:26px; }
dialog::backdrop { background:rgba(11,52,72,.55); backdrop-filter:blur(2px); }
dialog h3 { margin:0 0 6px; font-size:19px; }
dialog[open] { animation:dlg .18s ease-out; }
@keyframes dlg { from { opacity:0; transform:translateY(8px) scale(.98); } }

/* ---------- uygulama kabuğu (panel, admin) ---------- */
.app { display:grid; grid-template-columns:268px minmax(0,1fr); min-height:100vh; }
.app-sidebar { position:sticky; top:0; height:100vh; overflow-y:auto; background:var(--surface); border-right:1px solid var(--line-2); display:flex; flex-direction:column; padding:18px 14px; gap:14px; }
.app-sidebar .brand { padding:4px 8px 8px; font-size:19px; } .app-sidebar .brand img { width:36px; height:36px; }
.tenant-card { display:flex; gap:10px; align-items:center; padding:12px; border-radius:var(--r); background:var(--bg); border:1px solid var(--line-2); }
.tenant-card .name { font:700 13.5px/1.25 var(--font-head); color:var(--ink); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.tenant-card .meta { font-size:12px; color:var(--ink-2); margin-top:2px; display:flex; gap:6px; align-items:center; flex-wrap:wrap; }
.tenant-card a { text-decoration:none; }
.side-nav { display:flex; flex-direction:column; gap:2px; }
.side-nav .group { font:750 11px/1 var(--font-head); letter-spacing:.1em; text-transform:uppercase; color:var(--ink-3); padding:14px 12px 6px; }
.side-nav a { position:relative; display:flex; align-items:center; gap:12px; padding:9px 12px; border-radius:10px; color:var(--ink-2); text-decoration:none; font:600 14px/1.2 var(--font-head); }
.side-nav a .icon { width:19px; height:19px; color:var(--ink-3); }
.side-nav a:hover { background:var(--bg); color:var(--ink); } .side-nav a:hover .icon { color:var(--primary); }
.side-nav a.active { background:var(--primary-50); color:var(--primary-700); }
.side-nav a.active .icon { color:var(--primary); }
.side-nav a.active::before { content:""; position:absolute; left:-14px; top:8px; bottom:8px; width:4px; border-radius:0 4px 4px 0; background:var(--accent); }
.side-nav a .badge { margin-left:auto; min-width:22px; padding:2px 7px; border-radius:var(--pill); background:var(--accent-btn); color:#fff; font:700 11.5px/1.4 var(--font-body); text-align:center; }
.side-nav a.soon { opacity:.55; } .side-nav a.soon::after { content:"yakında"; margin-left:auto; font:600 10.5px/1 var(--font-body); color:var(--ink-3); }
.side-foot { margin-top:auto; border-top:1px solid var(--line-2); padding-top:12px; }
.app-main { min-width:0; display:flex; flex-direction:column; }
.topbar { position:sticky; top:0; z-index:30; display:flex; align-items:center; gap:12px; min-height:64px; padding:10px 28px; background:rgba(251,247,240,.9); backdrop-filter:blur(10px); border-bottom:1px solid var(--line-2); }
.topbar .title { font:700 15px/1.2 var(--font-head); color:var(--ink-2); display:flex; align-items:center; gap:8px; min-width:0; }
.topbar .title span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.topbar .spacer { flex:1; }
.app-main > main { max-width:1180px; width:100%; margin:0; padding:28px 28px 40px; }
.app .footer-slim { margin-top:auto; }
.app-scrim { display:none; }
/* admin: koyu yan menü */
.app.admin .app-sidebar { background:var(--primary-900); border-right-color:transparent; }
.app.admin .app-sidebar .brand { color:#fff; } .app.admin .app-sidebar .brand small { color:#9FC0D0; }
.app.admin .side-nav a { color:#BFD4DE; } .app.admin .side-nav a .icon { color:#7FA6B8; }
.app.admin .side-nav a:hover { background:rgba(255,255,255,.06); color:#fff; }
.app.admin .side-nav a.active { background:rgba(255,255,255,.1); color:#fff; } .app.admin .side-nav a.active .icon { color:var(--accent); }
.app.admin .side-nav .group { color:#6F97AA; } .app.admin .side-foot { border-top-color:rgba(255,255,255,.1); }
.app.admin .tenant-card { background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.08); } .app.admin .tenant-card .name { color:#fff; } .app.admin .tenant-card .meta { color:#9FC0D0; }

/* ---------- kimlik doğrulama düzeni ---------- */
.auth { min-height:100vh; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); }
.auth-aside { position:relative; overflow:hidden; background:var(--primary-900); color:#DCEAF1; padding:48px 56px; display:flex; flex-direction:column; }
.auth-aside .brand { color:#fff; } .auth-aside .brand small { color:#9FC0D0; }
.auth-aside .motto { margin-top:auto; position:relative; z-index:2; }
.auth-aside .motto .script { color:#fff; font-size:clamp(40px, 4.4vw, 58px); }
.auth-aside .motto p { max-width:440px; font-size:16px; color:#BFD4DE; }
.auth-aside .motto ul { list-style:none; padding:0; margin:22px 0 0; display:grid; gap:10px; }
.auth-aside .motto li { display:flex; gap:10px; align-items:center; color:#E6F1F6; font-weight:500; }
.auth-aside .motto li .icon { color:var(--accent); width:20px; height:20px; }
.auth-aside .watermark { position:absolute; right:-120px; top:-60px; width:520px; opacity:.09; filter:grayscale(1) brightness(3); pointer-events:none; }
.auth-aside .landscape { position:absolute; left:0; right:0; bottom:0; opacity:.35; }
.auth-main { display:flex; flex-direction:column; justify-content:center; padding:48px 24px; }
.auth-card { width:100%; max-width:430px; margin:0 auto; }
.auth-card h1 { font-size:30px; margin-bottom:6px; }
.auth-card .lead { color:var(--ink-2); margin-bottom:24px; }
.auth-card .btn.block { width:100%; margin-top:22px; }
.auth-card .foot { margin-top:22px; font-size:14px; color:var(--ink-2); text-align:center; }
.auth-top { display:none; }
.split-card { max-width:480px; margin:24px auto; }

/* ---------- vitrin (dernek) ---------- */
.tenant-hero { position:relative; background:linear-gradient(180deg, #DDEEF6 0%, var(--bg) 100%); overflow:hidden; }
.tenant-hero .landscape { display:block; width:100%; height:300px; }
.tenant-hero .card-wrap { position:relative; margin-top:-110px; }
.tenant-id { display:flex; gap:20px; align-items:center; flex-wrap:wrap; background:var(--surface); border-radius:var(--r-xl); padding:24px 28px; box-shadow:var(--shadow-lg); }
.tenant-id h1 { margin:0; font-size:clamp(24px, 2.8vw, 34px); }
.tenant-id .meta { color:var(--ink-2); display:flex; gap:14px; flex-wrap:wrap; font-size:14px; margin-top:6px; }
.tenant-id .meta span { display:inline-flex; gap:6px; align-items:center; }
.tenant-id .spacer { flex:1; }
.chips { display:flex; gap:8px; flex-wrap:wrap; }
.chip { display:inline-flex; align-items:center; gap:6px; padding:7px 14px; border-radius:var(--pill); background:var(--surface); border:1px solid var(--line); color:var(--ink); text-decoration:none; font:600 13.5px/1 var(--font-head); }
/* Kayıt formu: kapsama seçimi (yer araması) */
.place-picker { position:relative; }
.place-picker .chips { margin:0 0 8px; }
.place-picker .chips:empty { display:none; }
.place-picker .chip { flex-wrap:wrap; line-height:1.3; }
.chip-x { border:0; background:none; padding:0 0 0 2px; margin:0; cursor:pointer; color:var(--ink-2); display:inline-flex; min-height:0; }
.chip-x:hover { color:var(--danger); }
.place-suggest { position:absolute; left:0; right:0; z-index:30; list-style:none; margin:4px 0 0; padding:6px; background:var(--surface); border:1px solid var(--line); border-radius:12px; box-shadow:var(--shadow-lg); max-height:320px; overflow:auto; }
.place-suggest li { display:flex; gap:10px; align-items:center; padding:8px 10px; border-radius:8px; cursor:pointer; }
.place-suggest li:hover, .place-suggest li.active { background:var(--bg); }
.place-suggest li.picked { opacity:.55; }
.place-suggest li > span { display:flex; flex-direction:column; min-width:0; }
.chip:hover { border-color:var(--primary-100); background:var(--primary-50); color:var(--primary-700); }
.chip .icon { width:15px; height:15px; color:var(--accent); }
.news-card { display:flex; flex-direction:column; background:var(--surface); border:1px solid var(--line-2); border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--shadow-sm); transition:transform .15s, box-shadow .15s; text-decoration:none; color:inherit; }
.news-card:hover { transform:translateY(-2px); box-shadow:var(--shadow); color:inherit; }
.news-card .art { position:relative; height:120px; display:grid; place-items:center; background:var(--tb, var(--primary-50)); color:var(--tc, var(--primary)); overflow:hidden; }
.news-card .art .icon { width:40px; height:40px; stroke-width:1.6; }
.news-card .art .tag { position:absolute; left:14px; bottom:12px; z-index:2; }
.news-card .art::after { content:""; position:absolute; inset:0; background:url(/assets/brand/amblem-160.png) right -30px top -30px / 150px no-repeat; opacity:.12; }
.news-card .body { padding:16px 18px 18px; display:flex; flex-direction:column; flex:1; }
.news-card h3 { font-size:16.5px; margin:0 0 6px; }
.news-card p { color:var(--ink-2); font-size:14px; margin:0 0 12px; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.news-card .foot { margin-top:auto; display:flex; align-items:center; justify-content:space-between; font-size:12.5px; color:var(--ink-3); }
.news-card .go { display:grid; place-items:center; width:28px; height:28px; border-radius:50%; background:var(--accent-btn); color:#fff; }
.news-card .go .icon { width:15px; height:15px; }
.event-row { display:flex; gap:14px; align-items:center; padding:12px 0; border-bottom:1px solid var(--line-2); }
.event-row:last-child { border-bottom:0; }
.datebox { width:56px; flex:none; border-radius:12px; overflow:hidden; text-align:center; border:1px solid var(--line); background:#fff; }
.datebox .m { background:var(--accent-btn); color:#fff; font:750 11px/1 var(--font-head); letter-spacing:.08em; text-transform:uppercase; padding:5px 0; }
.datebox .d { font:800 22px/1 var(--font-head); padding:7px 0 8px; color:var(--ink); }
.funeral { background:#F4F6F7; border-left:4px solid #2B3A44; border-radius:var(--r); padding:14px 16px; }

/* ---------- pazarlama: hero ---------- */
.hero { position:relative; overflow:hidden; background:linear-gradient(180deg, #D6EBF5 0%, #EAF3F4 38%, var(--bg) 100%); }
.hero .landscape { display:block; width:100%; height:clamp(220px, 30vw, 400px); }
.hero-body { position:relative; text-align:center; margin-top:clamp(-90px, -6vw, -30px); padding:0 var(--gutter) 34px; }
.hero h1 { font-size:clamp(38px, 6.2vw, 76px); font-weight:800; letter-spacing:-.03em; color:var(--primary-900); margin:0 0 10px; }
.hero .lead { font-size:clamp(16px, 1.7vw, 20px); color:var(--ink-2); max-width:720px; margin:0 auto 26px; }
.hero .leaf { position:absolute; top:46%; width:70px; opacity:.9; }
.hero .leaf.l { left:8%; } .hero .leaf.r { right:8%; transform:scaleX(-1); }
.search-bar { display:flex; align-items:center; gap:10px; max-width:640px; margin:0 auto; padding:7px 7px 7px 20px; background:#fff; border-radius:var(--pill); box-shadow:var(--shadow-lg); border:1px solid var(--line-2); }
.search-bar .icon { color:var(--primary); width:20px; height:20px; }
.search-bar input { border:0; box-shadow:none !important; padding:10px 4px; font-size:16px; background:transparent; }
.search-bar button { display:grid; place-items:center; width:48px; height:48px; border-radius:50%; border:0; background:var(--accent-btn); color:#fff; cursor:pointer; flex:none; box-shadow:0 6px 14px rgba(226,106,12,.3); }
.search-bar button:hover { background:#C95D09; } .search-bar button .icon { color:#fff; }
.search-types { display:flex; justify-content:center; gap:26px; margin-top:16px; font:600 14px/1 var(--font-head); }
.search-types label { display:inline-flex; align-items:center; gap:7px; margin:0; font:inherit; color:var(--ink-2); cursor:pointer; }
.search-types input { position:absolute; opacity:0; pointer-events:none; width:1px; }
.search-types label .icon { color:var(--primary); }
.search-types input:checked + span { color:var(--accent-text); text-decoration:underline; text-decoration-color:var(--accent); text-decoration-thickness:2px; text-underline-offset:6px; }
.hero-stats { display:flex; justify-content:center; gap:10px 28px; flex-wrap:wrap; margin-top:22px; color:var(--ink-2); font-size:14px; }
.hero-stats strong { color:var(--primary-900); font:800 18px/1 var(--font-head); margin-right:4px; }

/* bölüm başlığı: ortalı, iki yanda ince çizgi */
.section { padding:64px 0; }
.section.tight { padding:44px 0; }
.section-title { text-align:center; margin-bottom:34px; }
.section-title h2 { display:inline-flex; align-items:center; gap:14px; font-size:clamp(26px, 3vw, 38px); font-weight:800; color:var(--primary-900); margin:0; }
.section-title h2::before, .section-title h2::after { content:""; width:clamp(30px, 10vw, 110px); height:1.5px; background:linear-gradient(90deg, transparent, var(--primary-100)); }
.section-title h2::after { transform:scaleX(-1); }
.section-title p { color:var(--ink-2); margin:10px auto 0; max-width:640px; }
.section-head { display:flex; align-items:flex-end; gap:16px; margin-bottom:20px; }
.section-head h2 { margin:0; color:var(--primary-900); } .section-head .spacer { flex:1; }

/* harita */
.map-wrap { display:grid; grid-template-columns:220px minmax(0,1fr) 190px; gap:24px; align-items:center; }
.region-list { background:#fff; border:1px solid var(--line-2); border-radius:var(--r-lg); padding:8px; box-shadow:var(--shadow-sm); }
.region-list button { display:flex; width:100%; align-items:center; gap:10px; padding:10px 12px; border:0; border-radius:10px; background:transparent; color:var(--ink-2); font:600 14px/1.2 var(--font-head); cursor:pointer; text-align:left; }
.region-list button .icon { color:var(--primary); width:17px; height:17px; }
.region-list button:hover { background:var(--bg); color:var(--ink); }
.region-list button.active { background:var(--accent-50); color:var(--accent-text); } .region-list button.active .icon { color:var(--accent); }
.map-box { position:relative; }
.tr-map { display:block; width:100%; height:auto; filter:drop-shadow(0 12px 20px rgba(11,52,72,.18)); }
.tr-map a path { fill:var(--primary); stroke:#fff; stroke-width:.8; transition:fill .15s; cursor:pointer; }
.tr-map a:hover path, .tr-map a:focus path { fill:var(--accent); }
.tr-map.filtered a path { fill:#BFD7E2; } .tr-map.filtered a.in path { fill:var(--primary); }
.map-tip { position:absolute; z-index:5; pointer-events:none; display:flex; gap:10px; align-items:center; padding:10px 14px; background:#fff; border-radius:14px; box-shadow:var(--shadow-lg); font-size:13px; white-space:nowrap; transform:translate(-50%, calc(-100% - 14px)); }
.map-tip strong { display:block; font:750 14px/1.2 var(--font-head); color:var(--ink); }
.map-tip[hidden] { display:none !important; }
.map-side .script { font-size:34px; transform:rotate(-8deg); display:block; }
.map-side .swoosh { display:block; width:150px; margin-top:6px; color:var(--accent); }
.map-legend { display:flex; flex-wrap:wrap; align-items:center; gap:8px 18px; justify-content:center; margin-top:14px; font-size:13px; color:var(--ink-2); }
.map-legend i { display:inline-block; width:12px; height:12px; border-radius:3px; margin-right:6px; vertical-align:-1px; }

/* özellik kartları (örnek tasarım 2) */
.features { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:16px; }
.feature { display:flex; gap:16px; padding:20px; border-radius:var(--r-lg); background:var(--tb); border:1px solid color-mix(in srgb, var(--tc) 14%, transparent); }
.feature .ico { width:54px; height:54px; border-radius:50%; display:grid; place-items:center; flex:none; background:var(--tc); color:#fff; box-shadow:0 8px 18px color-mix(in srgb, var(--tc) 30%, transparent); }
.feature .ico .icon { width:24px; height:24px; }
.feature h3 { color:var(--tc); margin:2px 0 6px; font-size:16.5px; }
.feature p { color:var(--ink-2); font-size:14px; margin:0; }
.feature .soon { font:700 10.5px/1 var(--font-head); letter-spacing:.06em; text-transform:uppercase; color:var(--tc); background:#fff; padding:4px 7px; border-radius:6px; margin-left:6px; vertical-align:2px; }
.platform { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(0,1fr); gap:40px; align-items:start; }
.checklist { list-style:none; padding:0; margin:28px 0 0; display:grid; gap:14px; }
.checklist li { display:flex; gap:12px; align-items:center; font:500 17px/1.3 var(--font-head); color:var(--ink); }
.checklist li strong { font-weight:800; }
.checklist .icon { width:26px; height:26px; color:var(--accent); stroke-width:2.2; }

/* telefon maketi */
.phone { width:290px; margin:0 auto; padding:12px; border-radius:44px; background:#101820; box-shadow:0 30px 60px rgba(11,52,72,.3), inset 0 0 0 2px #2A3440; transform:rotate(3deg); }
.phone .screen { position:relative; border-radius:34px; overflow:hidden; background:#F7F4EE; }
.phone .notch { position:absolute; top:8px; left:50%; transform:translateX(-50%); width:96px; height:24px; background:#101820; border-radius:14px; z-index:3; }
.phone .p-head { display:flex; align-items:center; gap:6px; padding:40px 14px 10px; background:#fff; font:800 13px/1 var(--font-head); color:var(--primary-700); }
.phone .p-head img { width:22px; height:22px; } .phone .p-head .icon { margin-left:auto; width:18px; height:18px; color:var(--ink); }
.phone .p-banner { position:relative; height:128px; overflow:hidden; }
.phone .p-banner svg { width:100%; height:100%; display:block; }
.phone .p-banner .txt { position:absolute; left:14px; bottom:12px; right:14px; color:#fff; text-shadow:0 1px 6px rgba(0,0,0,.35); }
.phone .p-banner strong { display:block; font:800 17px/1.1 var(--font-head); }
.phone .p-banner span { font-size:10.5px; }
.phone .p-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; padding:14px; background:#fff; margin:-8px 10px 0; border-radius:16px; position:relative; box-shadow:var(--shadow); }
.phone .p-grid div { text-align:center; font:600 10px/1.2 var(--font-head); color:var(--ink); }
.phone .p-grid .ico { width:38px; height:38px; border-radius:12px; display:grid; place-items:center; margin:0 auto 5px; background:var(--tc); color:#fff; }
.phone .p-grid .ico .icon { width:18px; height:18px; }
.phone .p-nav { display:flex; justify-content:space-around; padding:12px 6px 16px; margin-top:12px; background:#fff; border-top:1px solid var(--line-2); font:600 9px/1 var(--font-head); color:var(--ink-3); }
.phone .p-nav div { text-align:center; } .phone .p-nav .icon { display:block; margin:0 auto 4px; width:16px; height:16px; }
.phone .p-nav .on { color:var(--primary); }

/* hikâye kartları */
.stories { display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:20px; }

/* fırça darbesi bant */
.brush { position:relative; background:var(--primary-900); color:#fff; padding:34px 40px; clip-path:polygon(0 6%, 3% 2%, 9% 5%, 16% 0, 26% 4%, 37% 1%, 48% 5%, 58% 1%, 69% 4%, 80% 0, 90% 4%, 97% 1%, 100% 6%, 99% 30%, 100% 55%, 98% 80%, 100% 96%, 94% 100%, 84% 96%, 72% 100%, 60% 97%, 49% 100%, 37% 96%, 25% 100%, 14% 97%, 5% 100%, 0 95%, 2% 70%, 0 45%, 2% 22%); }

/* çağrı bandı */
.cta-band { position:relative; overflow:hidden; background:var(--primary-900); color:#fff; }
.cta-band .container { display:flex; align-items:center; gap:28px; padding-block:40px; flex-wrap:wrap; }
.cta-band .ico { width:64px; height:64px; border-radius:50%; display:grid; place-items:center; background:rgba(239,125,26,.15); color:var(--accent); flex:none; }
.cta-band .ico .icon { width:32px; height:32px; }
.cta-band h2 { color:#fff; margin:0; font-size:clamp(20px, 2.4vw, 28px); }
.cta-band h2 em { font-style:normal; color:var(--accent); }
.cta-band p { color:#BFD4DE; margin:6px 0 0; }
.cta-band .spacer { flex:1; }
.cta-band .divider { width:1px; align-self:stretch; background:rgba(255,255,255,.15); }
.cta-band::after { content:""; position:absolute; right:-80px; bottom:-120px; width:360px; height:360px; background:url(/assets/brand/amblem-512.png) center/contain no-repeat; opacity:.07; pointer-events:none; }

/* söz bandı */
.quote-band { text-align:center; padding:56px var(--gutter) 64px; position:relative; }
.quote-band blockquote { margin:0 auto; max-width:760px; font:italic 500 clamp(18px, 2.2vw, 24px)/1.5 Georgia, "Times New Roman", serif; color:var(--primary-900); }
.quote-band .orn { display:block; width:34px; margin:0 auto 12px; }
.quote-band .script { position:absolute; right:6%; top:26px; font-size:34px; transform:rotate(-10deg); color:var(--accent-text); }

/* fiyat kartları */
.plans { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:22px; align-items:stretch; }
.plan { position:relative; display:flex; flex-direction:column; background:#fff; border:1px solid var(--line-2); border-radius:var(--r-xl); padding:28px 26px; box-shadow:var(--shadow-sm); }
.plan.featured { border:2px solid var(--primary); box-shadow:var(--shadow-lg); }
.plan .ribbon { position:absolute; top:-13px; left:50%; transform:translateX(-50%); }
.plan h3 { font-size:20px; margin:0 0 4px; }
.plan .price { font:800 36px/1.1 var(--font-head); color:var(--primary-900); margin:14px 0 2px; }
.plan .price small { font:500 14px/1 var(--font-body); color:var(--ink-2); }
.plan .alt { color:var(--ink-2); font-size:13.5px; }
.plan ul { list-style:none; padding:0; margin:18px 0 22px; display:grid; gap:9px; font-size:14.5px; }
.plan li { display:flex; gap:9px; align-items:flex-start; }
.plan li .icon { color:var(--t-green); width:18px; height:18px; margin-top:2px; }
.plan li.off { color:var(--ink-3); } .plan li.off .icon { color:var(--ink-3); }
.plan li.soon { color:var(--ink-2); } .plan li.soon .icon { color:var(--ink-3); } .plan li .pill.xs { vertical-align:1px; margin-left:4px; }
.plan .cta { margin-top:auto; }
.plan form input { margin-bottom:10px; }

/* e-posta önizleme / belge */
.invoice { background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); padding:36px; max-width:800px; margin:0 auto; box-shadow:var(--shadow-sm); }
.invoice table td:last-child, .invoice table th:last-child { text-align:right; }
.legal { max-width:820px; line-height:1.75; }
.legal h2 { font-size:18px; margin-top:28px; }
.legal blockquote { margin:16px 0; padding:4px 0 4px 18px; border-left:3px solid var(--accent); color:var(--primary-900); font-weight:600; }
.legal-box { max-height:280px; overflow:auto; border:1px solid var(--line); border-radius:var(--r); padding:14px 18px; background:var(--bg); font-size:14px; line-height:1.65; }
.legal-box h2 { font-size:15px; }

/* hata sayfaları */
.error-page { min-height:60vh; display:grid; place-items:center; text-align:center; padding:40px 16px; }
.error-page img { width:88px; margin-bottom:12px; }
.error-page .code { font:800 64px/1 var(--font-head); color:var(--primary-900); letter-spacing:-.04em; }

/* ---------- dar ekran ---------- */
@media (max-width: 1080px) {
  .map-wrap { grid-template-columns:minmax(0,1fr); }
  /* Yatay kaydırılan çip şeridi. Safari/iOS: düğmeler büzülmesin (flex:0 0 auto), hareket şeritte kalsın, sağda "devamı var" solması */
  .region-list { display:flex; gap:6px; overflow-x:auto; overflow-y:hidden; padding:6px; scrollbar-width:none; -webkit-overflow-scrolling:touch; overscroll-behavior-x:contain; touch-action:pan-x pan-y; scroll-snap-type:x proximity; scroll-padding-inline:6px; }
  .region-list::-webkit-scrollbar { display:none; }
  .region-list:not(.at-end) { -webkit-mask-image:linear-gradient(90deg, #000 calc(100% - 36px), transparent); mask-image:linear-gradient(90deg, #000 calc(100% - 36px), transparent); }
  .region-list button { flex:0 0 auto; width:auto; white-space:nowrap; scroll-snap-align:start; }
  .map-side { display:none; }
  .platform { grid-template-columns:minmax(0,1fr) !important; } /* şablonlardaki satır içi sütun oranlarını da ezer */
  .stories, .grid-4 { grid-template-columns:repeat(2, minmax(0,1fr)); }
  .footer-grid { grid-template-columns:repeat(2, minmax(0,1fr)); }
}
@media (max-width: 960px) {
  .app { grid-template-columns:minmax(0,1fr); }
  .app-sidebar { position:fixed; z-index:60; left:0; top:0; bottom:0; width:280px; transform:translateX(-102%); transition:transform .22s ease; box-shadow:var(--shadow-lg); }
  .app.nav-open .app-sidebar { transform:none; }
  .app.nav-open .app-scrim { display:block; position:fixed; inset:0; z-index:55; background:rgba(11,52,72,.45); }
  .nav-toggle { display:inline-grid; }
  .topbar { padding:8px 14px; }
  .app-main > main { padding:20px 16px 32px; }
  .auth { grid-template-columns:minmax(0,1fr); }
  .auth-aside { display:none; }
  .auth-top { display:flex; justify-content:center; padding:22px 16px 0; }
  .grid-3, .plans { grid-template-columns:minmax(0,1fr); }
}
@media (max-width: 760px) {
  :root { --gutter:16px; }
  body { font-size:15px; }
  main { padding:20px 16px 36px; }
  .site-header .container { min-height:62px; gap:12px; }
  .site-nav { display:none; position:absolute; left:0; right:0; top:100%; flex-direction:column; align-items:stretch; gap:0; padding:8px 12px 14px; background:#fff; border-bottom:1px solid var(--line); box-shadow:var(--shadow); }
  .site-header.open .site-nav { display:flex; }
  .site-nav a { padding:12px; border-radius:10px; } .site-nav a.active::after { display:none; }
  .nav-toggle { display:inline-grid; }
  .header-actions .hide-sm { display:none; }
  .brand { font-size:18px; } .brand img { width:34px; height:34px; }
  .hero .leaf { display:none; }
  .search-types { gap:16px; }
  .features, .stories, .grid-4 { grid-template-columns:minmax(0,1fr); }
  .section { padding:44px 0; }
  .section-title h2::before, .section-title h2::after { display:none; }
  .phone { transform:none; }
  .quote-band .script { position:static; display:block; margin-top:12px; transform:none; }
  .cta-band .divider { display:none; }
  .footer-grid { grid-template-columns:minmax(0,1fr); gap:22px; }
  .tenant-hero .landscape { height:200px; }
  .tenant-hero .card-wrap { margin-top:-70px; }
  .tenant-id { padding:18px; border-radius:var(--r-lg); }
  .grid-2 { grid-template-columns:minmax(0,1fr); }
  .kv { grid-template-columns:minmax(0,1fr); gap:0; } .kv dd { margin-bottom:10px; }
  .filters > div, .filters > div.grow { flex:1 1 140px; min-width:0; }
  .card { padding:16px; border-radius:var(--r); }
  table { font-size:14px; } th, td { padding:10px 8px; }
  /* tablo → kart: <table class="stack">, hücrelerde data-label */
  table.stack, table.stack tbody, table.stack tr, table.stack td { display:block; width:auto; }
  table.stack tr:has(th) { display:none; }
  table.stack tr { padding:14px 0; border-bottom:1px solid var(--line-2); }
  table.stack tr:last-child { border-bottom:0; }
  table.stack td { border:0; padding:3px 0; text-align:left; }
  table.stack td[data-label]::before { content:attr(data-label) ": "; color:var(--ink-2); font-size:13px; }
  table.stack td.row-actions { padding-top:10px; text-align:left; }
  .page-head { align-items:flex-start; }
  .brush { padding:26px 22px; }
  .invoice { padding:20px; }
}

@media print {
  .site-header, .site-footer, .footer-slim, .app-sidebar, .topbar, .banner, .no-print { display:none !important; }
  .app { display:block; } body { background:#fff; } main, .app-main > main { padding:0; }
  .invoice { border:0; box-shadow:none; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition:none !important; animation:none !important; } }

/* ---------- ek: ikon boyu, dar ekran gizleme, SweetAlert teması ---------- */
.icon.lg { width:30px; height:30px; }
.swal2-popup { font-family:var(--font-body) !important; border-radius:var(--r-lg) !important; color:var(--ink) !important; padding:1.6em 1.4em 1.4em !important; }
.swal2-title { font-family:var(--font-head) !important; color:var(--ink) !important; font-size:1.35em !important; }
.swal2-html-container { color:var(--ink-2) !important; font-size:1em !important; }
.swal2-styled { border-radius:var(--pill) !important; font-family:var(--font-head) !important; font-weight:650 !important; padding:.7em 1.5em !important; box-shadow:none !important; }
.swal2-styled.swal2-cancel { background:var(--surface) !important; color:var(--primary) !important; border:1.5px solid var(--primary-100) !important; }
.swal2-textarea { border:1.5px solid var(--line) !important; border-radius:var(--r) !important; font-family:var(--font-body) !important; box-shadow:none !important; }
.swal2-textarea:focus { border-color:var(--primary) !important; box-shadow:0 0 0 4px rgba(21,90,120,.12) !important; }
.swal2-icon.swal2-question { border-color:var(--primary-100) !important; color:var(--primary) !important; }
.swal2-icon.swal2-warning { border-color:#F7C99B !important; color:var(--accent-btn) !important; }
.swal2-toast { box-shadow:var(--shadow-lg) !important; }
.swal2-toast.toast-long { width:min(440px, calc(100vw - 32px)) !important; padding:.9em 1.1em !important; }
.swal2-toast.toast-long .swal2-title { font-family:var(--font-body) !important; font-size:.92em !important; font-weight:600 !important; line-height:1.45 !important; }
@media (max-width: 760px) { .hide-sm { display:none !important; } }

/* ---------- ek düzeltmeler (önizleme turu 1) ---------- */
.leaf-sm { width:42px; height:auto; flex:none; }
.section-title h2 .leaf-sm { width:38px; }
.hero .leaf { top:auto; bottom:118px; width:62px; }
.hero .leaf.l { left:calc(50% - 420px); } .hero .leaf.r { right:calc(50% - 420px); }
.phone .p-banner::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(11,52,72,0) 30%, rgba(11,52,72,.72) 100%); }
.phone .p-banner .txt { z-index:1; }
.brand-text { display:flex; flex-direction:column; gap:4px; line-height:1; }
.brand .brand-text small { margin:0; }
.app-sidebar .brand { font-size:18.5px; }
::placeholder { text-transform:none; letter-spacing:normal; font-weight:400; }
.auth-aside .landscape { height:170px; opacity:.28; }
.auth-aside .motto { margin-bottom:120px; }
.auth-aside .watermark { opacity:.06; }
.brand small.plain { text-transform:none; letter-spacing:0; font-size:11.5px; }
@media (max-width: 760px) {
  .header-actions { gap:4px; }
  .header-actions .btn > span { display:none; }
  .header-actions .btn { padding:8px 12px; min-height:40px; }
  .hero .leaf { display:none; }
  .section-head { flex-wrap:wrap; }
}
input[type=hidden] + .form-section, .flash + .form-section { margin-top:0; padding-top:0; border-top:0; }

/* ---------- köyün değerleri ve meslek rehberi ---------- */
.notable-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)); gap:20px; }
.notable-card { display:flex; flex-direction:column; background:var(--surface); border:1px solid var(--line-2); border-radius:var(--r-lg); overflow:hidden; text-decoration:none; color:inherit; box-shadow:var(--shadow-sm); transition:transform .15s, box-shadow .15s; }
.notable-card:hover { transform:translateY(-3px); box-shadow:var(--shadow); color:inherit; }
.notable-card .ph { position:relative; aspect-ratio:4/3; background:var(--tb); display:grid; place-items:center; overflow:hidden; }
.notable-card .ph img { width:100%; height:100%; object-fit:cover; }
.notable-card .ph .init { font:800 44px/1 var(--font-head); color:var(--tc); opacity:.85; }
.notable-card .ph::after { content:""; position:absolute; inset:0; background:url(/assets/brand/amblem-160.png) right -34px bottom -34px / 140px no-repeat; opacity:.12; pointer-events:none; }
.notable-card .ph img ~ .cat, .notable-card .ph .cat { position:absolute; left:12px; bottom:12px; display:inline-flex; align-items:center; gap:6px; padding:5px 10px; border-radius:999px; background:#fff; color:var(--tc); font:700 11.5px/1 var(--font-head); box-shadow:var(--shadow-sm); z-index:1; }
.notable-card .ph .cat .icon { width:14px; height:14px; }
.notable-card .ph .rip { position:absolute; right:12px; top:12px; width:30px; height:30px; border-radius:50%; background:rgba(255,255,255,.92); display:grid; place-items:center; color:#2B3A44; z-index:1; }
.notable-card .body { padding:14px 16px 16px; }
.notable-card h3 { margin:0 0 4px; font-size:16px; }
.notable-card .title { font-size:13.5px; color:var(--ink-2); margin-bottom:8px; }
.notable-card .meta { display:flex; flex-wrap:wrap; gap:6px 12px; font-size:12.5px; color:var(--ink-3); }
.notable-card .meta .icon { width:13px; height:13px; }
.pro-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(290px, 1fr)); gap:18px; }
.pro-card { display:flex; flex-direction:column; gap:8px; background:var(--surface); border:1px solid var(--line-2); border-top:4px solid var(--tc); border-radius:var(--r-lg); padding:18px; box-shadow:var(--shadow-sm); }
.pro-card .top { display:flex; gap:12px; align-items:center; }
.pro-card .ico { width:42px; height:42px; border-radius:12px; display:grid; place-items:center; background:var(--tb); color:var(--tc); flex:none; }
.pro-card .profession { font:750 15px/1.2 var(--font-head); color:var(--tc); }
.pro-card .sector { font-size:12px; color:var(--ink-3); }
.pro-card h3 { margin:4px 0 0; font-size:17px; }
.pro-card .org, .pro-card .loc { font-size:13.5px; color:var(--ink-2); display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
.pro-card .org .icon, .pro-card .loc .icon { width:15px; height:15px; color:var(--ink-3); }
.pro-card p { font-size:13.5px; color:var(--ink-2); margin:2px 0 0; }
.pro-card .contact { margin-top:auto; padding-top:10px; display:flex; flex-wrap:wrap; gap:6px; border-top:1px dashed var(--line); }
.chip-sm { display:inline-flex; align-items:center; gap:4px; padding:2px 8px; border-radius:999px; background:var(--t-green-50); color:var(--t-green); font:600 11.5px/1.4 var(--font-body); }
.chip-sm .icon { width:12px !important; height:12px !important; color:var(--t-green) !important; }
.cat-tabs { display:flex; gap:8px; overflow-x:auto; padding-bottom:4px; margin-bottom:20px; scrollbar-width:thin; -webkit-overflow-scrolling:touch; overscroll-behavior-x:contain; }
.cat-tabs a { flex:0 0 auto; display:inline-flex; align-items:center; gap:7px; white-space:nowrap; padding:8px 14px; border-radius:999px; border:1px solid var(--line); background:#fff; color:var(--ink); text-decoration:none; font:600 13.5px/1 var(--font-head); }
.cat-tabs a .icon { width:16px; height:16px; color:var(--tc, var(--primary)); }
.cat-tabs a.active { background:var(--primary); border-color:var(--primary); color:#fff; } .cat-tabs a.active .icon { color:#fff; }
.person-hero { display:grid; grid-template-columns:minmax(0,300px) minmax(0,1fr); gap:30px; align-items:start; }
.person-hero .portrait { border-radius:var(--r-xl); overflow:hidden; aspect-ratio:4/5; background:var(--tb); display:grid; place-items:center; box-shadow:var(--shadow); }
.person-hero .portrait img { width:100%; height:100%; object-fit:cover; }
.person-hero .portrait .init { font:800 84px/1 var(--font-head); color:var(--tc); }
.upsell { max-width:640px; margin:40px auto; text-align:center; }
.upsell .ico { width:72px; height:72px; border-radius:22px; display:grid; place-items:center; margin:0 auto 18px; }
.upsell .ico .icon { width:34px; height:34px; }
@media (max-width: 760px) { .person-hero { grid-template-columns:minmax(0,1fr); } .person-hero .portrait { max-width:260px; } }
@media (max-width: 1180px) { .site-nav a { padding:8px 9px; font-size:13.5px; } }

/* ---------- tarih seçici (daterangepicker, 0.7) ---------- */
.picker { position:relative; }
.picker .picker-view { padding-left:42px; padding-right:38px; cursor:pointer; background:#fff; }
.picker > .icon { position:absolute; left:14px; top:50%; transform:translateY(-50%); width:18px; height:18px; color:var(--ink-3); pointer-events:none; }
.picker .picker-clear { position:absolute; right:6px; top:50%; transform:translateY(-50%); width:30px; height:30px; border:0; border-radius:50%; background:transparent; color:var(--ink-3); cursor:pointer; display:grid; place-items:center; }
.picker .picker-clear:hover { background:var(--bg-2); color:var(--ink); }
.picker .picker-clear .icon { width:16px; height:16px; }
.daterangepicker { font-family:var(--font-body); border-color:var(--line); border-radius:var(--r); box-shadow:var(--shadow-lg); color:var(--ink); z-index:1100; }
.daterangepicker table { width:100%; font-size:13px; }
.daterangepicker .calendar-table th, .daterangepicker .calendar-table td { padding:0; border:0; font:500 13px/28px var(--font-body); letter-spacing:0; text-transform:none; text-align:center; vertical-align:middle; white-space:nowrap; min-width:32px; width:32px; height:30px; border-radius:8px; color:var(--ink); }
.daterangepicker .calendar-table thead tr:last-child th { font:700 11px/28px var(--font-head); color:var(--ink-3); }
.daterangepicker td.off, .daterangepicker td.off.in-range { color:var(--ink-3); background:transparent; }
.daterangepicker td.disabled { color:#C8C0B4; text-decoration:line-through; }
.daterangepicker .drp-calendar { max-width:none; }
.daterangepicker .calendar-table th.month { font:700 14px/1 var(--font-head); }
.daterangepicker select.monthselect, .daterangepicker select.yearselect, .daterangepicker select.hourselect, .daterangepicker select.minuteselect { width:auto; padding:3px 6px; border-radius:8px; font-size:13px; }
.daterangepicker td.in-range { background:var(--primary-50); color:var(--ink); }
.daterangepicker td.active, .daterangepicker td.active:hover { background:var(--primary); color:#fff; }
.daterangepicker td.available:hover, .daterangepicker th.available:hover { background:var(--bg-2); }
.daterangepicker .ranges li { font-size:13px; border-radius:8px; margin:2px 6px; }
.daterangepicker .ranges li.active { background:var(--primary); }
.daterangepicker .ranges li:hover { background:var(--primary-50); }
.daterangepicker .drp-buttons .btn { min-height:32px; padding:6px 14px; font-size:13px; margin-left:6px; }
.daterangepicker .drp-buttons .btn.btn-default { background:var(--surface); color:var(--primary); border-color:var(--primary-100); }
.daterangepicker .drp-selected { font-size:12.5px; color:var(--ink-2); }

/* ---------- 0.7 içerik akışı: haber, cenaze, etkinlik, bildirim ---------- */
.type-cards { display:grid; grid-template-columns:repeat(auto-fill, minmax(170px, 1fr)); gap:10px; margin-top:6px; }
.type-card { display:flex; gap:10px; align-items:center; margin:0; padding:12px 14px; border:1.5px solid var(--line); border-radius:14px; background:#fff; cursor:pointer; font-weight:400; transition:border-color .15s, box-shadow .15s; }
.type-card:hover { border-color:var(--primary-100); }
.type-card input { position:absolute; opacity:0; pointer-events:none; }
.type-card .ico { width:38px; height:38px; border-radius:11px; display:grid; place-items:center; background:var(--tb); color:var(--tc); flex:none; }
.type-card strong { display:block; font:700 14.5px/1.2 var(--font-head); color:var(--ink); }
.type-card .xs { display:block; line-height:1.3; margin-top:2px; }
.type-card:has(input:checked) { border-color:var(--tc, var(--primary)); box-shadow:0 0 0 3px var(--tb, var(--primary-50)); }
.type-card:has(input:focus-visible) { outline:3px solid var(--sky); outline-offset:2px; }

.comment { display:flex; gap:12px; align-items:flex-start; padding:12px 0; border-bottom:1px solid var(--line-2); }
.comment:last-of-type { border-bottom:0; }
.comment.is-hidden { opacity:.55; }
.comment form { margin:0; }
details.revision { border-bottom:1px solid var(--line-2); padding:10px 0; }
details.revision summary { cursor:pointer; list-style:none; }
details.revision summary::-webkit-details-marker { display:none; }
details.revision[open] summary strong { color:var(--primary); }

.post-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,320px); gap:24px; align-items:start; max-width:1100px; margin:0 auto; }
.post-layout > article > .card, .post-layout > article > section { margin-bottom:18px; }
.post-body { font-size:16.5px; line-height:1.75; }
.memorial { position:relative; overflow:hidden; border-radius:var(--r-xl); padding:clamp(26px,4vw,44px); margin-bottom:18px; text-align:center; color:#E7EEF1;
  background:radial-gradient(120% 90% at 50% 0%, #2D4450 0%, #1C2B33 55%, #141F25 100%); box-shadow:var(--shadow); }
.memorial h1 { color:#fff; font-size:clamp(28px,4vw,40px); margin:6px 0 4px; letter-spacing:0; }
.memorial .sub { color:#B6C6CD; margin:0; }
.memorial .prayer { margin:14px 0 0; font-style:italic; color:#DCE5E9; }
.memorial .ribbon { position:absolute; left:18px; top:-6px; width:26px; height:64px; background:#0E1418; clip-path:polygon(0 0,100% 0,100% 100%,50% 82%,0 100%); box-shadow:0 2px 6px rgba(0,0,0,.4); }
.memorial::after { content:""; position:absolute; inset:0; background:url(/assets/brand/amblem-160.png) right -40px bottom -40px / 180px no-repeat; opacity:.06; pointer-events:none; }
.funeral-card { display:grid; gap:14px; padding:clamp(18px,3vw,26px); }
.fc-row { display:flex; gap:14px; align-items:flex-start; }
.fc-row .ico { width:40px; height:40px; border-radius:12px; display:grid; place-items:center; background:#EEF2F4; color:#2B3A44; flex:none; }
.fc-row .k { font:700 12px/1 var(--font-head); letter-spacing:.06em; text-transform:uppercase; color:var(--ink-3); margin:3px 0 5px; }
.fc-row .v { font-size:15.5px; line-height:1.5; }
.share-row { display:flex; gap:8px; flex-wrap:wrap; align-items:center; margin:0 0 18px; }
a.related { display:grid; grid-template-columns:auto minmax(0,1fr); gap:4px 10px; align-items:center; padding:10px 0; border-bottom:1px solid var(--line-2); text-decoration:none; color:var(--ink); font-size:14px; }
a.related:last-child { border-bottom:0; }
a.related .xs { grid-column:2; }
/* Vefat duyuruları (0.28): ana sayfada sağ sütunda kart; dar ekranda haberlerin üstünde */
.funeral-card { border-top:4px solid #1F2E36; }
.funeral-card .card-head .ico { width:38px; height:38px; border-radius:11px; display:grid; place-items:center; background:#1F2E36; color:#E7EEF1; }
.funeral-item { display:block; padding:10px 0; border-top:1px solid var(--line-2); text-decoration:none; color:var(--ink); font-size:14.5px; line-height:1.4; }
.funeral-item:first-of-type { border-top:0; padding-top:2px; }
.funeral-item strong { font-family:var(--font-head); color:var(--primary-900); }
.funeral-item .d { display:block; font-size:13px; color:var(--ink-2); margin-top:2px; }
.funeral-item:hover strong { color:var(--primary); }
.only-narrow { display:none; }
@media (max-width: 1080px) { .only-narrow { display:block; margin-bottom:22px; } .only-wide { display:none; } }
.news-card .art.has-img { background:#223; height:auto; aspect-ratio:16/9; }
.news-card .art.has-img img { width:100%; height:100%; object-fit:cover; }
.news-card .art.has-img::after { display:none; }
.news-card.is-vefat .art { background:#2B3A44; color:#DCE5E9; }
.news-card .foot { gap:10px; }

.event-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(340px, 1fr)); gap:16px; }
.event-card { display:flex; gap:16px; align-items:center; padding:16px 18px; background:var(--surface); border:1px solid var(--line-2); border-radius:var(--r-lg); box-shadow:var(--shadow-sm); text-decoration:none; color:inherit; transition:transform .15s, box-shadow .15s; }
.event-card:hover { transform:translateY(-2px); box-shadow:var(--shadow); color:inherit; }
.event-card h3 { margin:0 0 4px; font-size:16.5px; }
.event-card .meta { display:flex; flex-wrap:wrap; gap:6px 10px; font-size:13.5px; color:var(--ink-2); align-items:center; }
.event-card .go { color:var(--ink-3); }
.event-card.is-cancelled h3 { text-decoration:line-through; color:var(--ink-3); }
.datebox.lg { width:68px; }
.datebox.lg .d { font-size:28px; padding:8px 0 2px; }
.datebox .w { font:600 11px/1 var(--font-body); color:var(--ink-3); padding:0 0 8px; }
.seg { display:grid; gap:8px; }
.seg-opt { display:block; margin:0; cursor:pointer; }
.seg-opt input { position:absolute; opacity:0; pointer-events:none; }
.seg-opt span { display:flex; gap:10px; align-items:center; padding:12px 14px; border:1.5px solid var(--line); border-radius:12px; font:600 14.5px/1.2 var(--font-head); background:#fff; transition:border-color .15s, background .15s; }
/* Seçili seçenek: renk sınıfı verilmemişse ana renk (renksiz kullanımda seçim görünmüyordu) */
.seg-opt input:checked + span { border-color:var(--primary); background:var(--primary-50); color:var(--primary); }
.seg-opt:hover input:not(:checked):not(:disabled) + span { border-color:var(--primary-100); }
.seg-opt.ok input:checked + span { border-color:var(--ok); background:var(--ok-50); color:var(--ok); }
.seg-opt.amber input:checked + span { border-color:var(--warn); background:var(--warn-50); color:var(--warn); }
.seg-opt.muted input:checked + span { border-color:var(--ink-2); background:var(--bg-2); }
.seg-opt input:disabled + span { opacity:.45; cursor:not-allowed; }
.seg-opt input:focus-visible + span { outline:3px solid var(--sky); outline-offset:2px; }
.rsvp-card { position:sticky; top:90px; }

a.notice { display:flex; gap:14px; align-items:flex-start; padding:14px 6px; border-bottom:1px solid var(--line-2); text-decoration:none; color:var(--ink); }
a.notice:last-of-type { border-bottom:0; }
a.notice:hover { background:var(--bg); }
a.notice .ico { width:40px; height:40px; border-radius:12px; display:grid; place-items:center; background:var(--tb); color:var(--tc); flex:none; }
a.notice .t { display:block; font:700 15px/1.3 var(--font-head); }
a.notice .b { display:block; font-size:14px; color:var(--ink-2); margin-top:2px; }
a.notice .m { display:block; font-size:12px; color:var(--ink-3); margin-top:4px; }
a.notice:not(.unread) .t { font-weight:600; color:var(--ink-2); }
a.notice .dot { width:10px; height:10px; border-radius:50%; background:var(--accent); flex:none; margin-top:6px; }
.icon-btn.bell { position:relative; }
.badge-dot { position:absolute; top:3px; right:1px; min-width:18px; height:18px; padding:0 5px; border-radius:9px; background:var(--accent-btn); color:#fff; font:700 10.5px/18px var(--font-body); text-align:center; box-shadow:0 0 0 2px var(--surface); }
@media (max-width: 960px) { .post-layout { grid-template-columns:minmax(0,1fr); } .rsvp-card { position:static; } }
@media (max-width: 520px) { .event-grid { grid-template-columns:minmax(0,1fr); } .event-card { padding:14px; gap:12px; } .type-cards { grid-template-columns:minmax(0,1fr) minmax(0,1fr); } }

/* Vitrin başlığında uzun dernek adı: tek satırda kesmek yerine iki satıra sar */
/* Dernek sitesi başlığı iki kat: üstte kimlik (logo + tam ad, uzun ad iki satıra iner) ve üyelik düğmeleri, altta menü şeridi */
.tenant-top { background:#fff; }
.tenant-top .container { display:flex; align-items:center; gap:20px; min-height:84px; padding-block:12px; }
.tenant-mark { display:flex; align-items:center; gap:14px; min-width:0; flex:1 1 auto; text-decoration:none; }
.tenant-mark .monogram, .tenant-mark .tenant-logo { width:52px; height:52px; flex:none; }
.tenant-mark .monogram { border-radius:14px; font-size:17px; }
.tenant-mark-text { display:flex; flex-direction:column; gap:5px; min-width:0; }
.tenant-mark-name { font:800 clamp(17px,1.7vw,22px)/1.2 var(--font-head); letter-spacing:-.01em; color:var(--primary-900); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; overflow-wrap:anywhere; }
.tenant-mark-sub { font:500 12.5px/1.2 var(--font-body); color:var(--ink-3); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.tenant-mark:hover .tenant-mark-name { color:var(--primary); }
.tenant-top .header-actions { flex:none; }
.tenant-navbar { position:sticky; top:0; z-index:40; background:rgba(255,255,255,.94); backdrop-filter:saturate(1.4) blur(10px); border-top:1px solid var(--line-2); border-bottom:1px solid var(--line-2); }
.tenant-navbar .site-nav { gap:2px; } /* taşma kaydırması yok: açılır menü kırpılmasın; sığmayan genişlikte menü düğmesi */
.tenant-navbar .nav-dd-btn { position:relative; padding:16px 14px; border-radius:0; background:none !important; }
.tenant-navbar .nav-dd-btn:hover, .tenant-navbar .nav-dd.open .nav-dd-btn { color:var(--primary); }
.tenant-navbar .nav-dd-btn.active::after { content:""; position:absolute; left:14px; right:14px; bottom:0; height:3px; border-radius:3px; background:var(--accent); }
.tenant-navbar .nav-dd-menu { top:calc(100% + 4px); }
.tenant-navbar .site-nav a { padding:16px 14px; border-radius:0; }
.tenant-navbar .site-nav a:hover { background:none; color:var(--primary); }
.tenant-navbar .site-nav a.active::after { bottom:0; left:14px; right:14px; }
@media (max-width: 1100px) {
  .tenant-top .nav-toggle { display:inline-grid; }
  .tenant-navbar { position:relative; border-top:0; border-bottom:0; background:none; backdrop-filter:none; }
  .tenant-navbar .site-nav { top:0; overflow-x:visible; }
  .tenant-navbar.open .site-nav { display:flex; }
  .tenant-navbar .site-nav a { padding:12px; border-radius:10px; }
  .tenant-navbar .nav-dd-btn { padding:12px; border-radius:10px; }
  .tenant-navbar .nav-dd-btn.active::after { display:none; }
  .tenant-top { border-bottom:1px solid var(--line-2); }
}
@media (max-width: 760px) {
  .tenant-top .container { min-height:68px; gap:10px; padding-block:10px; }
  .tenant-mark { gap:10px; }
  .tenant-mark .monogram, .tenant-mark .tenant-logo { width:40px; height:40px; }
  .tenant-mark .monogram { border-radius:11px; font-size:14px; }
  .tenant-mark-name { font-size:15px; }
  .tenant-mark-sub { font-size:11.5px; }
}

/* ---------- 0.8 dernek yönetimi: kimlik, kurullar, belgeler, sponsorlar, moderasyon ---------- */
.tenant-logo { width:42px; height:42px; border-radius:12px; object-fit:contain; background:#fff; border:1px solid var(--line-2); flex:none; }
.tenant-logo.lg { width:64px; height:64px; border-radius:18px; padding:4px; }
.logo-preview { width:64px; height:64px; border-radius:16px; object-fit:contain; background:#fff; border:1px solid var(--line); padding:4px; flex:none; }
/* Kapak fotoğrafı (0.29.0): köy genelde fotoğrafın alt yarısında; bilgisayarda bant ekranla büyür ve kart fotoğrafın yalnız alt kenarına biner.
   Fotoğraf yoksa çizim (landscape) eskisi gibi, kart derin biner. */
.tenant-hero.has-cover { --cover-h:clamp(280px, 26vw, 420px); }
.tenant-hero .tenant-cover { display:block; width:100%; height:var(--cover-h, 300px); object-fit:cover; }
.tenant-hero.has-cover::before { content:""; position:absolute; inset:0 0 auto; height:var(--cover-h, 300px); background:linear-gradient(180deg, rgba(0,0,0,0) 60%, rgba(11,52,72,.28) 100%); pointer-events:none; z-index:0; }
.tenant-hero.has-cover .card-wrap { margin-top:-44px; }
.tenant-id .tagline { margin:4px 0 0; color:var(--ink-2); font-size:15px; }
/* Ana sayfanın üst kartı (0.26): kimlik, köy künyesi, işlevsel düğmeler */
.tenant-id.tid-card { display:block; }
.tid-top { display:flex; gap:20px; align-items:center; flex-wrap:wrap; }
.kunye { display:grid; grid-template-columns:repeat(auto-fill, minmax(140px, 1fr)); gap:10px; margin:0; }
.kunye > div { background:var(--bg); border-radius:12px; padding:10px 12px; min-width:0; }
.kunye dt { display:flex; gap:5px; align-items:center; font:600 11px/1.2 var(--font-body); color:var(--ink-3); text-transform:uppercase; letter-spacing:.05em; }
.kunye dt .icon { width:14px; height:14px; color:var(--accent); flex:none; }
.kunye dd { margin:4px 0 0; font:700 16px/1.25 var(--font-head); color:var(--primary-900); overflow-wrap:anywhere; }
.kunye dd small { font:500 11px var(--font-body); color:var(--ink-3); margin-left:2px; }
.tid-facts { margin-top:18px; padding-top:16px; border-top:1px solid var(--line-2); }
.kunye-card .kunye { grid-template-columns:repeat(2, minmax(0, 1fr)); }
.tid-actions { display:flex; gap:8px; flex-wrap:wrap; margin-top:14px; }
.tid-actions .btn .icon { width:16px; height:16px; }
.tid-dd { position:relative; }
.tid-dd summary { list-style:none; cursor:pointer; }
.tid-dd summary::-webkit-details-marker { display:none; }
.tid-dd[open] summary .icon:last-child { transform:rotate(180deg); }
.tid-dd-menu { position:absolute; z-index:30; top:calc(100% + 6px); left:0; min-width:210px; padding:6px; background:#fff; border:1px solid var(--line); border-radius:12px; box-shadow:var(--shadow-lg); }
.tid-dd-menu a { display:block; padding:9px 12px; border-radius:8px; text-decoration:none; color:var(--ink); font-weight:600; font-size:14px; }
.tid-dd-menu a:hover { background:var(--primary-50); }
.kunye-form { display:grid; grid-template-columns:repeat(auto-fill, minmax(150px, 1fr)); gap:0 14px; }
.kunye-form .wide { grid-column:span 2; }
@media (max-width: 560px) { .kunye-form .wide { grid-column:1 / -1; } }
@media (max-width: 760px) { .tid-top { gap:14px; } .tid-top > div { flex:1 1 calc(100% - 70px); } .tid-top > .btn, .tid-top > .pill { flex:1 1 100%; justify-content:center; }
  .tid-top .tenant-logo.lg, .tid-top .monogram.lg { width:52px; height:52px; border-radius:14px; font-size:18px; align-self:flex-start; } .tid-top h1 { font-size:22px; } .kunye { grid-template-columns:repeat(2, minmax(0, 1fr)); } .tid-actions .btn { flex:1 1 auto; justify-content:center; } }
.swatches { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:8px; }
.swatch { display:flex; gap:8px; align-items:center; margin:0; padding:8px; border:1.5px solid var(--line); border-radius:12px; cursor:pointer; font-weight:500; font-size:12.5px; }
.swatch input { position:absolute; opacity:0; pointer-events:none; }
.swatch span { width:22px; height:22px; border-radius:7px; flex:none; box-shadow:inset 0 0 0 1px rgba(0,0,0,.1); }
.swatch em { font-style:normal; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.swatch:has(input:checked) { border-color:var(--ink); box-shadow:0 0 0 3px var(--primary-50); }
.palette-preview { display:flex; gap:12px; align-items:center; margin-top:12px; padding:12px 14px; border-radius:14px; background:var(--primary-50); }
.palette-preview strong { display:block; font:700 14px/1.2 var(--font-head); color:var(--primary-900); margin-bottom:6px; }
.palette-preview .btn { pointer-events:none; }
.meter { height:8px; border-radius:6px; background:var(--bg-2); overflow:hidden; }
.meter span { display:block; height:100%; background:var(--primary); border-radius:6px; }
.bank-row { padding:12px 0; border-bottom:1px dashed var(--line); }
.bank-box { padding:12px 14px; border-radius:12px; background:var(--bg); margin-bottom:10px; }
.bank-box .iban { display:flex; gap:6px; align-items:center; margin-top:6px; }
.bank-box code { font-size:13.5px; letter-spacing:.02em; overflow-wrap:anywhere; }
.social-row { display:flex; flex-wrap:wrap; gap:6px; margin-top:14px; }
.board-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(300px, 1fr)); gap:14px; }
.board-card { display:flex; gap:14px; align-items:center; background:var(--surface); border:1px solid var(--line-2); border-radius:var(--r-lg); padding:14px 16px; box-shadow:var(--shadow-sm); }
.board-card .ph { width:56px; height:56px; border-radius:50%; object-fit:cover; flex:none; }
.board-card strong { font-family:var(--font-head); font-size:15.5px; }
.slot-cards { display:grid; gap:8px; }
.slot-card { display:block; margin:0; cursor:pointer; font-weight:400; }
.slot-card input { position:absolute; opacity:0; pointer-events:none; }
.slot-card span { display:block; padding:10px 12px; border:1.5px solid var(--line); border-radius:12px; }
.slot-card strong { display:block; font:700 14px/1.2 var(--font-head); }
.slot-card em { font-style:normal; font-size:12.5px; color:var(--ink-2); }
.slot-card input:checked + span { border-color:var(--primary); box-shadow:0 0 0 3px var(--primary-50); }
.ad-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)); gap:16px; }
.ad-card { margin:0; }
.ad-img { height:110px; border-radius:12px; background:var(--bg); display:grid; place-items:center; padding:14px; overflow:hidden; }
.ad-img img { max-width:100%; max-height:100%; object-fit:contain; }
.sponsor-band { margin:30px 0 0; padding:18px; border-radius:var(--r-lg); background:var(--surface); border:1px solid var(--line-2); }
.sponsor-band > div { display:flex; flex-wrap:wrap; gap:14px 26px; align-items:center; margin-top:10px; }
.sponsor-band img { height:44px; width:auto; max-width:160px; object-fit:contain; }
.sponsor-side a { display:flex; justify-content:center; padding:10px; border-radius:12px; background:var(--bg); margin-bottom:8px; text-decoration:none; color:var(--ink); }
.sponsor-side img { max-height:60px; max-width:100%; object-fit:contain; }
.sponsor-strip { border-top:1px solid var(--line-2); background:var(--surface); padding:14px 0; }
.sponsor-strip .container { display:flex; flex-wrap:wrap; gap:10px 22px; align-items:center; justify-content:center; }
.sponsor-strip img { height:30px; width:auto; max-width:120px; object-fit:contain; opacity:.85; }
.sponsor-strip a { color:var(--ink-2); text-decoration:none; font-size:13px; }
.report-card { margin-bottom:14px; }
.report-list { margin:12px 0; padding:0 0 0 18px; font-size:14px; }
.report-list li { margin:4px 0; }
.quote-box { margin:8px 0 0; padding:10px 14px; border-left:3px solid var(--line); background:var(--bg); border-radius:0 10px 10px 0; white-space:pre-line; }
button.linklike { background:none; border:0; padding:0; color:var(--ink-2); font:inherit; cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
button.linklike:hover { color:var(--primary); }
.report-btn { opacity:.5; } .comment:hover .report-btn { opacity:1; }
@media (max-width: 760px) { .tenant-hero.has-cover { --cover-h:220px; } .tenant-hero.has-cover .card-wrap { margin-top:-32px; } }
.iban-input { font-family:ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing:.02em; }

/* ---------- 0.8 zengin metin editörü (Quill) ve haber galerisi ---------- */
.rte .ql-toolbar.ql-snow { border:1.5px solid var(--line); border-radius:var(--r) var(--r) 0 0; background:var(--bg); font-family:var(--font-body); padding:6px 8px; }
.rte .ql-container.ql-snow { border:1.5px solid var(--line); border-top:0; border-radius:0 0 var(--r) var(--r); background:#fff; font:inherit; font-size:15.5px; }
.rte .ql-editor { min-height:220px; line-height:1.7; color:var(--ink); padding:14px 16px; }
.rte .ql-editor.ql-blank::before { color:var(--ink-3); font-style:normal; left:16px; right:16px; }
.rte .ql-editor h2 { font-size:21px; margin:.6em 0 .3em; } .rte .ql-editor h3 { font-size:17px; margin:.6em 0 .3em; }
.rte .ql-editor blockquote { border-left:3px solid var(--accent); padding-left:12px; color:var(--ink-2); }
.rte:focus-within .ql-container.ql-snow, .rte:focus-within .ql-toolbar.ql-snow { border-color:var(--primary); }
.rte .ql-snow .ql-stroke { stroke:var(--ink-2); } .rte .ql-snow .ql-fill { fill:var(--ink-2); }
.rte .ql-snow button:hover .ql-stroke, .rte .ql-snow button.ql-active .ql-stroke { stroke:var(--primary); }
.rte .ql-snow .ql-picker.ql-header .ql-picker-label::before, .rte .ql-snow .ql-picker.ql-header .ql-picker-item::before { content:'Normal metin'; }
.rte .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]::before, .rte .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]::before { content:'Başlık'; }
.rte .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]::before, .rte .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]::before { content:'Alt başlık'; }
.rte .ql-snow .ql-picker.ql-header { width:120px; }
.rte .ql-snow .ql-tooltip { border-radius:10px; box-shadow:var(--shadow); border-color:var(--line); z-index:5; }
.rte .ql-snow .ql-tooltip::before { content:'Bağlantı:'; }
.rte .ql-snow .ql-tooltip[data-mode=link]::before { content:'Adres:'; }
.rte .ql-snow .ql-tooltip a.ql-action::after { content:'Düzenle'; }
.rte .ql-snow .ql-tooltip a.ql-remove::before { content:'Kaldır'; }
.rte .ql-snow .ql-tooltip.ql-editing a.ql-action::after { content:'Kaydet'; }
.rte .ql-snow .ql-tooltip input[type=text] { width:220px; padding:4px 8px; border-radius:6px; }
.post-body h2 { font-size:22px; margin:1.1em 0 .4em; } .post-body h3 { font-size:18px; margin:1em 0 .35em; }
.post-body p { margin:0 0 .9em; } .post-body ul, .post-body ol { margin:0 0 .9em; padding-left:1.4em; }
.post-body blockquote { margin:1em 0; padding:10px 16px; border-left:4px solid var(--accent); background:var(--accent-50); border-radius:0 10px 10px 0; color:var(--ink); }
.post-body a { overflow-wrap:anywhere; }

.gallery-edit { display:grid; grid-template-columns:repeat(auto-fill, minmax(150px, 1fr)); gap:12px; margin-top:8px; }
.g-item { position:relative; margin:0; border:1px solid var(--line); border-radius:12px; overflow:hidden; background:#fff; display:flex; flex-direction:column; }
.g-item img { width:100%; aspect-ratio:4/3; object-fit:cover; display:block; background:var(--bg-2); }
.g-item.is-removed { opacity:.4; } .g-item.is-removed img { filter:grayscale(1); }
.g-item.is-new { border-style:dashed; border-color:var(--primary-100); }
.g-badge { position:absolute; left:8px; top:8px; background:var(--primary); color:#fff; font:700 10.5px/1 var(--font-head); padding:4px 7px; border-radius:6px; text-transform:uppercase; letter-spacing:.05em; }
.g-cover { position:absolute; right:8px; top:8px; margin:0; cursor:pointer; }
.g-cover input { position:absolute; opacity:0; pointer-events:none; }
.g-cover span { display:inline-flex; gap:4px; align-items:center; padding:4px 8px; border-radius:999px; background:rgba(255,255,255,.92); font:600 11.5px/1 var(--font-head); color:var(--ink-2); box-shadow:var(--shadow-sm); }
.g-cover span .icon { width:13px; height:13px; }
.g-cover input:checked + span { background:var(--accent-btn); color:#fff; }
.g-cover input:focus-visible + span { outline:3px solid var(--sky); }
.g-caption { border:0 !important; border-top:1px solid var(--line-2) !important; border-radius:0 !important; font-size:13px !important; padding:8px 10px !important; }
.g-tools { display:flex; align-items:center; gap:2px; padding:2px 4px; border-top:1px solid var(--line-2); }
.g-tools .icon-btn { width:32px; height:32px; } .g-tools .icon-btn .icon { width:16px; height:16px; }
.g-del { margin:0 0 0 auto; cursor:pointer; } .g-del input { position:absolute; opacity:0; }
.g-del span { display:inline-grid; place-items:center; width:32px; height:32px; border-radius:50%; color:var(--ink-3); }
.g-del input:checked + span { background:var(--danger-50); color:var(--danger); }
.g-add { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; min-height:150px; margin:0; border:2px dashed var(--line); border-radius:12px; color:var(--primary); cursor:pointer; text-align:center; padding:12px; font:600 14px var(--font-head); }
.g-add:hover { border-color:var(--primary); background:var(--primary-50); }
.g-add small { font:400 11.5px var(--font-body); color:var(--ink-3); }
.g-add .icon { width:26px; height:26px; }
.g-add input { position:absolute; width:1px; height:1px; opacity:0; }

.gallery-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(180px, 1fr)); gap:10px; }
.gallery-grid a { position:relative; display:block; border-radius:12px; overflow:hidden; background:var(--bg-2); }
.gallery-grid img { width:100%; aspect-ratio:4/3; object-fit:cover; display:block; transition:transform .25s; }
.gallery-grid a:hover img { transform:scale(1.04); }
.gallery-grid a span { position:absolute; left:0; right:0; bottom:0; padding:18px 10px 8px; font-size:12.5px; color:#fff; background:linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,.6)); }
dialog.lightbox { max-width:none; width:100vw; height:100vh; max-height:none; margin:0; padding:0; border-radius:0; background:rgba(8,14,18,.94); color:#fff; box-shadow:none; }
dialog.lightbox::backdrop { background:rgba(0,0,0,.6); }
dialog.lightbox figure { margin:0; width:100%; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:56px 64px 40px; }
dialog.lightbox img { max-width:100%; max-height:calc(100vh - 130px); object-fit:contain; border-radius:6px; }
dialog.lightbox figcaption { margin-top:12px; font-size:14px; color:#D7E2E7; text-align:center; max-width:760px; }
dialog.lightbox button { position:absolute; border:0; background:rgba(255,255,255,.12); color:#fff; width:48px; height:48px; border-radius:50%; font-size:30px; line-height:1; cursor:pointer; display:grid; place-items:center; }
dialog.lightbox button:hover { background:rgba(255,255,255,.24); }
dialog.lightbox .lb-prev { left:14px; top:50%; transform:translateY(-50%); } dialog.lightbox .lb-next { right:14px; top:50%; transform:translateY(-50%); }
dialog.lightbox .lb-close { right:14px; top:14px; font-size:26px; }
dialog.lightbox .lb-count { position:absolute; left:18px; top:22px; font-size:13px; color:#AFC0C8; }
.memorial-photo { width:112px; height:112px; border-radius:50%; object-fit:cover; border:4px solid rgba(255,255,255,.85); box-shadow:0 6px 18px rgba(0,0,0,.35); display:block; margin:0 auto 10px; filter:grayscale(.35); }
@media (max-width: 760px) { dialog.lightbox figure { padding:56px 10px 30px; } .gallery-grid { grid-template-columns:repeat(2, minmax(0,1fr)); } .gallery-edit { grid-template-columns:repeat(2, minmax(0,1fr)); } }

/* ---------- 0.9 üst kuruluş ---------- */
.result-row { display:flex; gap:12px; align-items:center; padding:10px 0; border-bottom:1px solid var(--line-2); }
.result-row:last-of-type { border-bottom:0; }
.umbrella-card { margin-bottom:12px; }

/* ---------- platform yönetimi: paket karşılaştırma ---------- */
.plan-matrix { width:100%; border-collapse:collapse; font-size:14px; }
.plan-matrix th, .plan-matrix td { padding:10px 16px; text-align:left; vertical-align:top; border-bottom:1px solid var(--line-2); }
.plan-matrix th { background:var(--bg); min-width:170px; text-transform:none; letter-spacing:normal; font-size:14px; color:var(--ink); font-weight:600; }
.plan-matrix th .btn { text-transform:none; letter-spacing:normal; }
.plan-matrix tr.sep td { border-top:2px solid var(--line); }
.plan-matrix td:first-child { color:var(--ink-2); font-weight:600; }
.plan-matrix .ok-ico { color:var(--t-green); width:18px; height:18px; }
.limit-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:10px 22px; }
.limit-row { display:flex; gap:10px; align-items:center; justify-content:space-between; padding:10px 12px; border:1px solid var(--line-2); border-radius:12px; background:var(--surface); }
.limit-row .lbl { min-width:0; }
.limit-row .lbl strong { display:block; font-size:14px; }
.limit-row .ctl { display:flex; gap:8px; align-items:center; flex:0 0 auto; }
.limit-row input[type=number] { width:110px; margin:0; }
.limit-row label.check { margin:0; white-space:nowrap; }
@media (max-width: 760px) { .limit-grid { grid-template-columns:minmax(0,1fr); } .limit-row { flex-wrap:wrap; } }
.text-danger { color:#B42318; }
.text-warn { color:var(--accent-text); }

/* ---------- özel alan adı adımları ---------- */
.domain-steps { list-style:none; display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:8px; margin:14px 0 10px; padding:0; }
.domain-steps li { display:flex; gap:8px; align-items:center; padding:10px 12px; border-radius:12px; background:var(--bg); color:var(--ink-2); font-size:13px; font-weight:600; }
.domain-steps li .icon { width:18px; height:18px; flex:none; color:var(--line); }
.domain-steps li.done { background:var(--t-green-50); color:var(--t-green); }
.domain-steps li.done .icon { color:var(--t-green); }
.domain-steps li.now { background:var(--accent-50); color:var(--accent-text); }
.domain-steps li.now .icon { color:var(--accent); }
@media (max-width: 760px) { .domain-steps { grid-template-columns:repeat(2, minmax(0,1fr)); } }

/* ---------- destek talebi yazışması ---------- */
.ticket-thread { display:grid; gap:12px; max-width:860px; margin-bottom:18px; }
.ticket-msg { background:var(--surface); border:1px solid var(--line-2); border-radius:var(--r-lg); padding:16px 18px; box-shadow:var(--shadow-sm); }
.ticket-msg.platform { background:var(--primary-50, #EAF3F6); border-color:var(--primary-100); }
.ticket-msg.internal { background:#FFF7E6; border-style:dashed; border-color:#F2C46D; }
.ticket-msg .who { display:flex; gap:10px; align-items:center; margin-bottom:10px; }
.ticket-msg .body { overflow-wrap:anywhere; line-height:1.6; }
.ticket-msg .files { display:flex; flex-wrap:wrap; gap:6px; margin-top:10px; }

/* ---------- reklam alanları ---------- */
.ad-banner { position:relative; margin:16px 0; }
.ad-banner a, .ad-banner > img { display:block; border-radius:var(--r); overflow:hidden; border:1px solid var(--line-2); background:var(--surface); }
.ad-banner img { display:block; width:100%; height:auto; object-fit:contain; background:var(--surface); }
.ad-top img { aspect-ratio:8 / 1; }
.ad-middle img { aspect-ratio:4 / 1; }
.ad-label { position:absolute; top:6px; right:8px; font:700 10px/1 var(--font-body); letter-spacing:.06em; text-transform:uppercase; color:#fff; background:rgba(11,52,72,.55); padding:4px 6px; border-radius:6px; }
.sponsor-side a:has(img) { padding:0; background:var(--surface); border:1px solid var(--line-2); overflow:hidden; }
.sponsor-side a img { width:100%; max-height:none; aspect-ratio:6 / 5; object-fit:contain; display:block; }
.ad-rates { display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:16px; }
.ad-rate { margin:0; }
.ad-shape { height:86px; border-radius:10px; background:var(--bg); border:1px dashed var(--line); position:relative; overflow:hidden; }
.ad-shape span { position:absolute; background:var(--accent); opacity:.85; border-radius:4px; }
.ad-shape-top span { left:8%; right:8%; top:10px; height:12px; }
.ad-shape-middle span { left:8%; right:30%; top:34px; height:22px; }
.ad-shape-sidebar span { right:8%; width:24%; top:14px; height:46px; }
.ad-shape-home span { left:8%; right:8%; bottom:12px; height:10px; opacity:.5; }
.ad-shape-footer span { left:20%; right:20%; bottom:6px; height:8px; opacity:.5; }
.ad-stats { display:flex; gap:12px; flex-wrap:wrap; align-items:center; }
.ad-stats .icon { width:14px; height:14px; }
.ad-application { display:flex; gap:18px; flex-wrap:wrap; align-items:flex-start; }
.ad-application .ad-img { flex:0 1 360px; }
.prov-grid { grid-template-columns:repeat(auto-fill, minmax(150px, 1fr)); max-height:360px; overflow:auto; margin-top:10px; padding:4px; }
.ad-img img { max-height:82px; width:auto; }
.ad-application .ad-img { height:200px; }
.ad-application .ad-img img { max-height:172px; }

/* Dernek başvurusu: adımlar (koyu kart) ve sonuç sayfaları */
.steps-dark { list-style:none; counter-reset:s; margin:0; padding:0; display:grid; gap:14px; }
.steps-dark li { counter-increment:s; display:grid; grid-template-columns:30px minmax(0,1fr); column-gap:12px; }
.steps-dark li::before { content:counter(s); grid-row:span 2; width:28px; height:28px; border-radius:50%; background:var(--accent); color:#fff; display:grid; place-items:center; font:700 14px/1 var(--font-head); }
.steps-dark strong { color:#fff; font-family:var(--font-head); }
.steps-dark span { color:#BFD4DE; font-size:14px; }
.steps-light { list-style:none; counter-reset:s; margin:0; padding:0; display:grid; gap:12px; }
.steps-light li { counter-increment:s; display:grid; grid-template-columns:30px minmax(0,1fr); column-gap:12px; align-items:start; }
.steps-light li::before { content:counter(s); grid-row:span 2; width:28px; height:28px; border-radius:50%; background:var(--bg); border:1px solid var(--line); color:var(--ink-2); display:grid; place-items:center; font:700 13px/1 var(--font-head); }
.steps-light li.done::before { content:'✓'; background:var(--ok); border-color:var(--ok); color:#fff; }
.steps-light li.now::before { background:var(--accent); border-color:var(--accent); color:#fff; }
.steps-light span { color:var(--ink-2); font-size:14px; }
.brush-lead strong { color:#fff; }
/* Admin › Site sayfaları: adres öneki, geniş önizleme penceresi, silme bağlantısı */
.input-group .addon.pre { border-left:0; border-right:1px solid var(--line); white-space:nowrap; }
dialog.wide { max-width:860px; }
dialog.wide > div { max-height:82vh; overflow:auto; }
.btn.danger-text { color:var(--danger); }
.btn.danger-text:hover { background:var(--danger-50); }
.link-btn { background:none; border:0; padding:0; color:var(--primary); font:inherit; text-decoration:underline; cursor:pointer; }
dialog.wide article { overflow-wrap:anywhere; }
/* Ana sayfa › Biz kimiz (Hakkımızda yayındayken) */
.about-band { background:#fff; }
.about-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:clamp(24px,4vw,56px); align-items:center; }
.about-title { margin:12px 0 12px; color:var(--primary-900); font-size:clamp(24px,2.6vw,34px); line-height:1.2; }
.about-text { color:var(--ink-2); font-size:clamp(15.5px,1.2vw,17px); line-height:1.7; margin:0 0 22px; max-width:640px; }
.about-quote { margin:0; position:relative; background:var(--primary-900); color:#fff; border-radius:var(--r-lg); padding:clamp(24px,3vw,36px); box-shadow:var(--shadow-lg); }
.about-quote .ico { display:grid; place-items:center; width:44px; height:44px; border-radius:12px; background:var(--accent); color:#fff; margin-bottom:16px; }
.about-quote figcaption { font:750 12.5px/1 var(--font-head); letter-spacing:.12em; text-transform:uppercase; color:#F6B26B; margin-bottom:12px; }
.about-quote blockquote { margin:0; font:600 clamp(17px,1.5vw,20px)/1.55 var(--font-head); }
@media (max-width: 860px) { .about-grid { grid-template-columns:minmax(0,1fr); } }
.side-version { display:block; padding:6px 12px 0; font-size:11.5px; color:rgba(255,255,255,.55); }
/* Üst menü: yazılar kırılmaz; üst menüye eklenen sayfalar birden çoksa açılır başlıkta (layouts/site.twig) */
.site-nav a, .nav-dd-btn { white-space:nowrap; }
.nav-dd { position:relative; }
.nav-dd-btn { display:inline-flex; align-items:center; gap:4px; padding:8px 12px; border:0; background:none; color:var(--ink); font:600 14.5px/1 var(--font-head); border-radius:var(--pill); cursor:pointer; }
.nav-dd-btn .icon { width:16px; height:16px; transition:transform .15s; }
.nav-dd-btn:hover, .nav-dd.open .nav-dd-btn { background:var(--primary-50); color:var(--primary-700); }
.nav-dd-btn.active { color:var(--accent-text); }
.nav-dd.open .nav-dd-btn .icon { transform:rotate(180deg); }
.nav-dd-menu { display:none; position:absolute; top:calc(100% + 10px); left:0; min-width:230px; padding:6px; background:#fff; border:1px solid var(--line); border-radius:14px; box-shadow:var(--shadow-lg); z-index:50; }
.nav-dd-menu::before { content:""; position:absolute; left:0; right:0; top:-12px; height:12px; } /* fareyle inerken kapanmasın */
.nav-dd-menu a { display:block; padding:10px 12px; border-radius:10px; }
.nav-dd-menu a.active { background:var(--primary-50); }
.nav-dd-menu a.active::after { display:none; }
.nav-dd.open .nav-dd-menu { display:block; }
@media (hover:hover) and (min-width: 1101px) { .nav-dd:hover .nav-dd-menu { display:block; } .nav-dd:hover .nav-dd-btn .icon { transform:rotate(180deg); } }
/* Dar masaüstünde giriş yapan kullanıcının adı gizlenir (yalnız baş harfler) */
@media (max-width: 1400px) { .site-header .user-chip > span:not(.avatar) { display:none; } .site-header .user-chip { padding:4px; } }
/* Menü sığmayınca menü düğmesi (önceden 760'ta; 761–960 arasında menü ve düğme birlikte görünüyordu) */
@media (max-width: 1100px) {
  .site-nav { display:none; position:absolute; left:0; right:0; top:100%; flex-direction:column; align-items:stretch; gap:0; padding:8px 12px 14px; background:#fff; border-bottom:1px solid var(--line); box-shadow:var(--shadow); max-height:calc(100vh - 72px); overflow-y:auto; }
  .site-header.open .site-nav { display:flex; }
  .site-nav a { padding:12px; border-radius:10px; } .site-nav a.active::after { display:none; }
  .site-header .nav-toggle { display:inline-grid; }
  .nav-dd-btn { width:100%; justify-content:space-between; padding:12px; border-radius:10px; }
  .nav-dd-menu { position:static; min-width:0; padding:0 0 4px 12px; border:0; box-shadow:none; background:none; }
  .nav-dd-menu::before { display:none; }
}
/* Kültürümüz (vitrin): tarif kartları, sözlük (A'dan Z'ye), köy sayfasındaki liste, kayıt sayfası */
.culture-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(260px, 1fr)); gap:18px; }
.culture-card { display:flex; flex-direction:column; background:var(--surface); border:1px solid var(--line-2); border-radius:var(--r-lg); overflow:hidden; text-decoration:none; color:inherit; transition:box-shadow .15s, transform .15s; }
.culture-card:hover { box-shadow:var(--shadow); transform:translateY(-2px); }
.culture-card > img, .culture-ph { width:100%; aspect-ratio:16/10; object-fit:cover; display:block; }
.culture-img { position:relative; display:block; aspect-ratio:16/10; overflow:hidden; background:var(--primary-50); }
.culture-img img { width:100%; height:100%; object-fit:cover; display:block; }
.culture-ph { display:grid; place-items:center; background:var(--accent-50); color:var(--accent); }
.culture-ph .icon { width:40px; height:40px; }
.culture-body { display:flex; flex-direction:column; gap:6px; padding:14px 16px 16px; }
.culture-body strong { font:700 16.5px/1.3 var(--font-head); color:var(--primary-900); }
.culture-letters { display:flex; flex-wrap:wrap; gap:6px; margin:6px 0 18px; }
.culture-letters a { display:inline-grid; place-items:center; min-width:34px; height:34px; padding:0 8px; border-radius:10px; background:var(--surface); border:1px solid var(--line); font:700 14px/1 var(--font-head); color:var(--primary-700); text-decoration:none; }
.culture-letters a:hover { border-color:var(--primary); }
.culture-dict { background:var(--surface); border:1px solid var(--line-2); border-radius:var(--r-lg); padding:18px 22px; margin-bottom:14px; scroll-margin-top:80px; }
.culture-dict h2 { margin:0 0 8px; font-size:22px; color:var(--accent-text); }
.culture-dict dl { margin:0; }
.culture-dict dl > div { padding:9px 0; border-top:1px solid var(--line-2); }
.culture-dict dl > div:first-child { border-top:0; }
.culture-dict dt { font:700 16px/1.3 var(--font-head); }
.culture-dict dt a { color:var(--primary-900); text-decoration:none; } .culture-dict dt a:hover { color:var(--primary); }
.culture-dict dd { margin:3px 0 0; color:var(--ink-2); }
.culture-list { list-style:none; margin:0; padding:0; }
.culture-list li { padding:8px 0; border-top:1px solid var(--line-2); }
.culture-list li:first-child { border-top:0; }
.culture-article { padding:clamp(20px,3vw,34px); }
.culture-cover { width:100%; max-height:440px; object-fit:cover; border-radius:var(--r); margin-bottom:18px; }
/* Aileler (0.36.0): sülale kartları, harf grupları, soyadı etiketleri */
.family-letter { margin-bottom:22px; scroll-margin-top:80px; }
.family-letter h2 { margin:0 0 10px; font-size:22px; color:var(--accent-text); }
.family-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap:14px; }
.family-card { display:flex; gap:14px; align-items:flex-start; min-width:0; padding:14px; background:var(--surface); border:1px solid var(--line-2); border-radius:var(--r-lg); text-decoration:none; color:inherit; transition:box-shadow .15s, transform .15s; }
.family-card:hover { box-shadow:var(--shadow); transform:translateY(-2px); }
.family-ph { flex:none; width:64px; height:64px; border-radius:16px; overflow:hidden; display:grid; place-items:center; background:var(--accent-50); }
.family-ph img { width:100%; height:100%; object-fit:cover; display:block; }
.family-ph .init { font:800 26px/1 var(--font-head); color:var(--accent-text); }
.family-body { display:flex; flex-direction:column; gap:4px; min-width:0; }
.family-body strong { font:700 16.5px/1.3 var(--font-head); color:var(--primary-900); }
.family-surnames { display:flex; flex-wrap:wrap; gap:5px; align-items:center; }
.family-surnames em { font-style:normal; font:600 12px/1 var(--font-head); padding:5px 8px; border-radius:var(--pill); background:var(--primary-50); color:var(--primary-700); }
.family-surnames.lg em { font-size:13.5px; padding:6px 11px; }
.chip.active { background:var(--accent-50); border-color:var(--accent-100); color:var(--accent-text); }
/* Dernek logosu / baş harfler, küçük boy (listeler): tenant_logo(…, 'sm') */
.monogram.sm, .tenant-logo.sm { width:34px; height:34px; border-radius:10px; font-size:12px; }
.monogram.sm::after { width:9px; height:9px; right:-2px; bottom:-2px; }
/* Ana site › Kültür: sözlük kelime çipleri, kartın altındaki yer + dernek */
.culture-chips { display:flex; flex-wrap:wrap; gap:8px; }
.culture-chips a { display:inline-flex; flex-direction:column; gap:2px; padding:10px 14px; border-radius:12px; background:var(--surface); border:1px solid var(--line-2); text-decoration:none; color:var(--primary-900); min-width:120px; }
.culture-chips a:hover { border-color:var(--primary-100); box-shadow:var(--shadow); }
.culture-chips strong { font:700 15.5px/1.2 var(--font-head); }
.culture-chips span { font-size:13px; color:var(--ink-2); }
.culture-src { display:flex; align-items:center; gap:8px; margin-top:4px; }
.culture-src .monogram.sm, .culture-src .tenant-logo.sm { width:26px; height:26px; border-radius:8px; font-size:10px; }
.culture-dict dl > div > dd + dd { margin-top:2px; }
/* Ana sayfa › Kültür bölümü */
.culture-band { background:var(--primary-50); }
.culture-home { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:18px; margin-top:6px; }
.culture-home .card { margin:0; }
@media (max-width: 960px) { .culture-home { grid-template-columns:minmax(0,1fr); } }
.monogram.xs, .tenant-logo.xs { width:22px; height:22px; border-radius:7px; font-size:9px; padding:0; }
.monogram.xs::after { display:none; }
/* Dernek başlığı: kısa ad büyük, tam ad altında küçük (iki satıra kadar) */
.tenant-mark-name.short { font-size:clamp(20px,2vw,26px); -webkit-line-clamp:1; }
.tenant-mark-full { font:600 13px/1.3 var(--font-body); color:var(--ink-2); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; overflow-wrap:anywhere; }
@media (max-width: 760px) { .tenant-mark-name.short { font-size:17px; } .tenant-mark-full { font-size:11.5px; -webkit-line-clamp:1; } }
/* Paylaş düğmeleri (partials/share.twig) */
.share { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:18px; padding-top:16px; border-top:1px solid var(--line-2); }
.share-label { display:inline-flex; align-items:center; gap:6px; font:700 13px/1 var(--font-head); color:var(--ink-2); margin-right:4px; }
.share-label .icon { width:16px; height:16px; }
.share-btn { display:inline-flex; align-items:center; gap:6px; padding:8px 13px; border-radius:var(--pill); border:0; font:650 13px/1 var(--font-head); color:#fff; text-decoration:none; cursor:pointer; }
.share-btn .icon { width:15px; height:15px; }
.share-btn:hover { filter:brightness(.93); }
.share-btn.wa { background:#1FA855; } .share-btn.fb { background:#1877F2; } .share-btn.x { background:#111; } .share-btn.tg { background:#229ED9; }
.share-btn.mail, .share-btn.copy { background:var(--surface); color:var(--primary-700); border:1.5px solid var(--primary-100); }
.share-btn.native { background:var(--primary); }
@media (max-width: 760px) { .share-btn.native:not([hidden]) ~ .share-btn.fb, .share-btn.native:not([hidden]) ~ .share-btn.x, .share-btn.native:not([hidden]) ~ .share-btn.tg { display:none; } }
/* Yol tarifi bağlantıları ve etkinlik durumu şeridi */
.dir-links { display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; margin-top:8px; font-size:13.5px; }
.dir-links .icon { width:15px; height:15px; color:var(--ink-3); }
.dir-links span { color:var(--ink-2); font-weight:600; }
.dir-links a { display:inline-flex; padding:4px 10px; border-radius:var(--pill); background:var(--primary-50); color:var(--primary-700); text-decoration:none; font-weight:600; }
.dir-links a:hover { background:var(--primary-100); }
.event-state { display:flex; gap:10px; align-items:center; margin:18px 0 0; padding:12px 16px; border-radius:var(--r); font-size:15px; }
.event-state .icon { width:20px; height:20px; flex:none; }
.event-state.ended { background:var(--bg-2); color:var(--ink-2); border:1px solid var(--line); }
.event-state.ongoing { background:var(--t-green-50); color:var(--t-green); border:1px solid #BFE6D2; }
.gallery-grid.big { grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)); }
/* İş İnsanları: kartvizit biçimi (85×55 mm oranı); kartvizit görseli yüklenmişse o */
.pro-card.bcard { padding:14px; gap:10px; border-top-width:1px; }
.bcard-face { aspect-ratio:85/55; border-radius:12px; padding:16px 18px; display:flex; flex-direction:column; background:linear-gradient(135deg, var(--tb) 0%, #fff 70%); border:1px solid var(--line-2); position:relative; overflow:hidden; }
.bcard-face::after { content:""; position:absolute; right:-28px; top:-28px; width:110px; height:110px; border-radius:50%; background:var(--tc); opacity:.08; }
.bcard-head { display:flex; align-items:center; gap:8px; }
.bcard-head .ico { width:30px; height:30px; border-radius:9px; display:grid; place-items:center; background:var(--tc); color:#fff; }
.bcard-head .ico .icon { width:16px; height:16px; }
.bcard-head .sector { font:700 11px/1 var(--font-head); letter-spacing:.08em; text-transform:uppercase; color:var(--tc); }
.bcard-face h3 { margin:auto 0 2px; font-size:19px; color:var(--primary-900); }
.bcard-face .profession { font:600 14px/1.3 var(--font-head); color:var(--tc); }
.bcard-face .org { font-size:13px; color:var(--ink-2); }
.bcard-foot { display:flex; flex-wrap:wrap; gap:6px; align-items:center; margin-top:8px; font-size:12.5px; color:var(--ink-2); }
.bcard-foot .icon { width:13px; height:13px; }
.bcard-img { display:block; aspect-ratio:85/55; border-radius:12px; overflow:hidden; border:1px solid var(--line-2); background:#fff; }
.bcard-img img { width:100%; height:100%; object-fit:cover; display:block; }
.bcard-note { font-size:13px; color:var(--ink-2); margin:0; }
/* Memleketim Çarşısı */
.product-card .pimg { position:relative; display:block; }
.product-card .pimg img { width:100%; aspect-ratio:16/10; object-fit:cover; display:block; }
.product-card .pimg .pill { position:absolute; left:10px; top:10px; }
.product-card.is-soldout .pimg img { filter:grayscale(.7); opacity:.75; }
/* Dernek ana sayfasında çarşı: ana sütun dar, dört ürün 2×2 */
.home-market { grid-template-columns:repeat(auto-fill, minmax(260px, 1fr)); }
.section-head h2 .icon { width:22px; height:22px; vertical-align:-3px; color:var(--accent); }
/* Ana sitedeki çarşı şeridi: telefonda alt alta dört büyük kart yerine yana kayan şerit */
@media (max-width: 600px) {
  .market-strip { display:flex; gap:12px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-padding-inline:16px; margin-inline:-16px; padding:0 16px 6px; scrollbar-width:none; }
  .market-strip::-webkit-scrollbar { display:none; }
  .market-strip > * { flex:0 0 78%; scroll-snap-align:start; }
}
.price { font:800 16px/1.2 var(--font-head); color:var(--accent-text); }
.price.lg { font-size:26px; }
.buy-card .btn { width:100%; justify-content:center; margin-top:8px; }
.btn.wa-btn { background:#1FA855; border-color:#1FA855; color:#fff; }
.btn.wa-btn:hover { background:#178E47; border-color:#178E47; }

/* Sayfa başlığı bandı (0.27: Galeri, İş İnsanları): derneğin kapak fotoğrafı ya da manzara çizimi */
.page-hero { position:relative; overflow:hidden; background:linear-gradient(180deg, #DDEEF6 0%, var(--bg) 100%); }
.page-hero .landscape, .page-hero-img { display:block; width:100%; height:300px; object-fit:cover; }
.page-hero:not(.has-photo)::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(251,247,240,.94) 0%, rgba(251,247,240,.75) 40%, rgba(251,247,240,0) 72%); }
.page-hero.has-photo::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(11,52,72,.72) 0%, rgba(11,52,72,.35) 55%, rgba(11,52,72,.15) 100%); }
.page-hero-text { position:absolute; inset:0; z-index:1; display:flex; flex-direction:column; justify-content:center; gap:8px; color:var(--primary-900); }
.page-hero.has-photo .page-hero-text { color:#fff; }
.page-hero-text h1 { margin:0; font-size:clamp(30px, 4.4vw, 52px); letter-spacing:-.02em; color:inherit; text-shadow:0 2px 18px rgba(0,0,0,.18); }
.page-hero-eyebrow { align-self:flex-start; padding:5px 12px; border-radius:8px; background:#F6C04E; color:#0B3448; font:800 12.5px/1 var(--font-head); letter-spacing:.06em; text-transform:uppercase; }
.page-hero-sub { margin:0; max-width:560px; font-size:clamp(15px, 1.6vw, 19px); line-height:1.45; opacity:.95; }
.page-hero-crumbs { display:flex; gap:6px; align-items:center; font-size:14px; flex-wrap:wrap; }
.page-hero-crumbs a { color:inherit; opacity:.85; } .page-hero-crumbs .icon { width:14px; height:14px; opacity:.7; }
@media (max-width: 760px) { .page-hero .landscape, .page-hero-img { height:220px; } }

/* Galeri albümleri */
.album-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap:22px; }
.album-grid.small { grid-template-columns:repeat(auto-fill, minmax(min(100%, 220px), 1fr)); gap:16px; }
.album-card { display:flex; flex-direction:column; padding:8px; border:2px solid var(--primary-100); border-radius:16px; background:var(--surface); text-decoration:none; color:inherit; box-shadow:var(--shadow-sm); transition:transform .15s, box-shadow .15s, border-color .15s; }
.album-card:hover { transform:translateY(-2px); box-shadow:var(--shadow); border-color:var(--primary); }
.album-img { position:relative; display:block; border-radius:10px; overflow:hidden; aspect-ratio:16/10; background:var(--primary-50); }
.album-img img { width:100%; height:100%; object-fit:cover; display:block; }
.album-empty { display:grid; place-items:center; height:100%; color:var(--primary); } .album-empty .icon { width:40px; height:40px; }
.album-count { position:absolute; top:10px; right:10px; padding:5px 10px; border-radius:8px; background:rgba(11,52,72,.86); color:#fff; font:700 13px/1 var(--font-head); }
.album-new { position:absolute; top:10px; left:10px; display:inline-flex; gap:4px; align-items:center; padding:5px 10px; border-radius:8px; background:var(--accent); color:#fff; font:700 12.5px/1 var(--font-head); box-shadow:0 2px 10px rgba(0,0,0,.18); }
.album-new .icon { width:13px; height:13px; }
.album-lock { position:absolute; bottom:10px; left:10px; display:inline-flex; gap:4px; align-items:center; padding:4px 9px; border-radius:8px; background:rgba(255,255,255,.92); color:var(--primary-900); font-size:12px; font-weight:600; }
.album-lock .icon { width:12px; height:12px; }
.album-foot { display:flex; gap:10px; align-items:center; justify-content:space-between; padding:12px 6px 4px; }
.album-foot strong { font:800 19px/1.25 var(--font-head); color:var(--primary-900); min-width:0; }
.album-grid.small .album-foot strong { font-size:16px; }
.album-search { display:flex; gap:8px; align-items:center; padding:0 12px; border:1px solid var(--line); border-radius:12px; background:var(--surface); min-width:min(100%, 280px); }
.album-search input { border:0; padding:11px 0; background:none; box-shadow:none; flex:1; }
.album-search .icon { color:var(--ink-3); }
.fresh-note { display:flex; gap:12px; align-items:flex-start; margin:0 0 22px; padding:14px 16px; border-radius:14px; background:var(--accent-50); border:1px solid var(--accent-100); color:var(--ink); }
.fresh-note > .icon { color:var(--accent-text); flex:none; margin-top:2px; }
.fresh-note a { color:inherit; } .fresh-note a strong { color:var(--accent-text); }
.album-photos a { position:relative; }
.new-flag { position:absolute; top:8px; left:8px; padding:3px 8px; border-radius:6px; background:var(--accent); color:#fff; font:700 11.5px/1.2 var(--font-head); letter-spacing:.02em; }
.hl-rows { display:grid; gap:8px; }
.hl-row { display:grid; grid-template-columns:minmax(120px, 190px) minmax(0, 1fr); gap:8px; }
@media (max-width: 560px) { .hl-row { grid-template-columns:1fr; } }

/* İş İnsanları (0.27): bant, arama kutusu, sektörler, işletme kartları, hızlı filtre, tanıtım kutusu */
.page-hero-script { position:absolute; right:clamp(16px, 4vw, 48px); top:50%; transform:translateY(-50%) rotate(-6deg); font-size:clamp(26px, 3vw, 40px); color:#fff; text-shadow:0 2px 12px rgba(0,0,0,.35); max-width:300px; text-align:right; line-height:1.2; }
.page-hero:not(.has-photo) .page-hero-script { color:var(--accent-text); text-shadow:none; }
@media (max-width: 900px) { .page-hero-script { display:none; } }
.dir-search-wrap { position:relative; z-index:2; margin-top:-46px; }
.dir-search { display:flex; gap:10px; padding:14px; background:var(--surface); border-radius:18px; box-shadow:var(--shadow-lg); flex-wrap:wrap; }
.dir-field { display:flex; gap:8px; align-items:center; padding:0 12px; border:1px solid var(--line); border-radius:12px; background:#fff; min-width:0; flex:1 1 200px; }
.dir-field.grow { flex:2 1 280px; }
.dir-field .icon { color:var(--ink-3); flex:none; width:18px; height:18px; }
.dir-field input, .dir-field select { border:0; box-shadow:none; background:none; padding:12px 0; min-width:0; flex:1; }
.dir-search .btn { flex:0 0 auto; }
@media (max-width: 760px) { .dir-search-wrap { margin-top:-30px; } .dir-search .btn { flex:1 1 100%; justify-content:center; } }
.sector-row { display:grid; grid-template-columns:repeat(auto-fill, minmax(118px, 1fr)); gap:10px; margin:22px 0 26px; }
.sector-tile { position:relative; display:flex; flex-direction:column; align-items:center; gap:8px; padding:14px 8px 12px; border-radius:16px; text-decoration:none; color:var(--ink); text-align:center; transition:background .15s, transform .15s; }
.sector-tile:hover, .sector-tile.active { background:var(--surface); box-shadow:var(--shadow-sm); transform:translateY(-1px); }
.sector-tile.active { outline:2px solid var(--primary); }
.sector-tile .ico { width:56px; height:56px; border-radius:16px; display:grid; place-items:center; }
.sector-tile .ico .icon { width:26px; height:26px; }
.sector-tile .t { font:600 13.5px/1.25 var(--font-head); }
.sector-tile .n { position:absolute; top:6px; left:calc(50% + 20px); min-width:20px; padding:2px 6px; border-radius:999px; background:var(--primary); color:#fff; font:700 10.5px/1.3 var(--font-body); }
h2.title-line { position:relative; margin:0; padding-bottom:10px; font-size:24px; }
h2.title-line::after { content:""; position:absolute; left:0; bottom:0; width:44px; height:3px; border-radius:3px; background:#F6C04E; }
.biz-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(min(100%, 230px), 1fr)); gap:18px; }
.biz-card { position:relative; display:flex; flex-direction:column; background:var(--surface); border:1px solid var(--line-2); border-radius:16px; overflow:hidden; box-shadow:var(--shadow-sm); transition:box-shadow .15s, transform .15s; }
.biz-card:hover { box-shadow:var(--shadow); transform:translateY(-2px); }
.biz-cover { position:relative; display:block; aspect-ratio:16/9; background:var(--primary-50); overflow:hidden; }
.biz-cover img { width:100%; height:100%; object-fit:cover; display:block; }
.biz-cover.is-card img { object-fit:contain; background:#F4F1EA; }
.biz-cover-ico { display:grid; place-items:center; height:100%; } .biz-cover-ico .icon { width:44px; height:44px; opacity:.85; }
.biz-sector { position:absolute; right:10px; bottom:10px; padding:4px 10px; border-radius:999px; background:rgba(11,52,72,.82); color:#fff; font:600 11.5px/1.2 var(--font-head); }
.biz-star { position:absolute; top:10px; right:10px; width:28px; height:28px; border-radius:50%; display:grid; place-items:center; background:#F6C04E; color:#0B3448; } .biz-star .icon { width:15px; height:15px; }
.biz-logo { position:absolute; left:16px; top:calc((100% * 0) + 0px); margin-top:0; }
.biz-card .biz-logo { position:relative; left:auto; top:auto; align-self:flex-start; margin:-34px 0 0 16px; width:64px; height:64px; border-radius:50%; overflow:hidden; background:#fff; border:3px solid #fff; box-shadow:0 4px 14px rgba(11,52,72,.18); display:grid; place-items:center; flex:none; }
.biz-logo img { width:100%; height:100%; object-fit:cover; } .biz-logo span { font:800 20px var(--font-head); color:var(--primary); }
.biz-body { display:flex; flex-direction:column; gap:4px; padding:8px 16px 16px; flex:1; }
.biz-body h3 { margin:2px 0 0; font-size:17px; } .biz-body h3 a { color:var(--primary-900); text-decoration:none; }
.biz-sub { font-size:13px; color:var(--ink-2); }
.biz-loc, .biz-village { display:flex; gap:5px; align-items:center; font-size:12.5px; color:var(--ink-2); } .biz-loc .icon, .biz-village .icon { width:14px; height:14px; color:var(--primary); }
.biz-go { align-self:flex-start; margin-top:auto; }
.biz-body .biz-go { margin-top:10px; }
.quick-filter { background:var(--primary-50); border-color:var(--primary-100); }
.promo-card { background:linear-gradient(160deg, var(--primary) 0%, var(--primary-900) 100%); color:#DCEAF1; border:0; }
.promo-eyebrow { display:flex; gap:6px; align-items:center; color:#fff; font-weight:600; } .promo-eyebrow .icon { width:14px; height:14px; }
.promo-title { display:block; margin-top:6px; font-size:32px; line-height:1.1; color:#F6C04E; }
.values-strip { background:var(--primary-50); border-top:1px solid var(--primary-100); padding-block:18px; }
.values-strip .container { display:grid; grid-template-columns:repeat(auto-fit, minmax(200px, 1fr)); gap:14px; }
.values-strip .container > div { display:flex; gap:12px; align-items:center; } .values-strip .icon { width:30px; height:30px; color:var(--primary); flex:none; }
.values-strip strong { display:block; font:700 14.5px var(--font-head); color:var(--primary-900); } .values-strip span { font-size:12.5px; color:var(--ink-2); }

/* İşletme sayfası */
.biz-hero { position:relative; overflow:hidden; min-height:260px; background:linear-gradient(135deg, var(--primary-900), var(--primary)); }
.biz-hero .landscape, .biz-hero-img { display:block; width:100%; height:300px; object-fit:cover; }
.biz-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(8,24,33,.78) 0%, rgba(8,24,33,.45) 50%, rgba(8,24,33,.2) 100%); }
.biz-hero-in { position:absolute; inset:0; z-index:1; display:flex; gap:22px; align-items:center; color:#fff; }
.biz-hero-logo { width:140px; height:140px; border-radius:50%; overflow:hidden; background:#fff; border:4px solid #F6C04E; box-shadow:0 8px 28px rgba(0,0,0,.35); display:grid; place-items:center; flex:none; }
.biz-hero-logo img { width:100%; height:100%; object-fit:cover; } .biz-hero-logo span { font:800 40px var(--font-head); color:var(--primary); }
.biz-hero-text { min-width:0; } .biz-hero-text h1 { margin:0; color:#fff; font-size:clamp(28px, 4vw, 48px); text-shadow:0 2px 14px rgba(0,0,0,.3); }
.biz-hero-loc { display:flex; gap:6px; align-items:center; margin:6px 0 10px; font-size:17px; } .biz-hero-loc .icon { width:18px; height:18px; }
.biz-hero-pill { display:inline-flex; gap:8px; align-items:center; padding:7px 14px; border-radius:999px; background:rgba(255,255,255,.16); backdrop-filter:blur(4px); font:600 14.5px var(--font-head); } .biz-hero-pill .icon { width:17px; height:17px; }
.biz-hero-slogan { color:#fff; margin-left:auto; max-width:300px; font-size:clamp(24px, 2.6vw, 36px); line-height:1.15; text-align:right; transform:rotate(-6deg); text-shadow:0 2px 12px rgba(0,0,0,.4); }
@media (max-width: 900px) { .biz-hero-slogan { display:none; } }
@media (max-width: 760px) { .biz-hero .landscape, .biz-hero-img { height:240px; } .biz-hero-logo { width:84px; height:84px; border-width:3px; } .biz-hero-logo span { font-size:26px; } .biz-hero-in { gap:14px; } .biz-hero-loc { font-size:14px; } }
.biz-tabs-bar { position:relative; z-index:2; background:var(--surface); border-bottom:1px solid var(--line-2); box-shadow:var(--shadow-sm); }
.biz-tabs { display:flex; gap:6px; align-items:center; min-height:58px; overflow-x:auto; }
.biz-tabs > a:not(.btn) { display:inline-flex; gap:7px; align-items:center; padding:16px 12px; color:var(--ink); text-decoration:none; font:600 14.5px var(--font-head); white-space:nowrap; border-bottom:3px solid transparent; }
.biz-tabs > a:not(.btn):hover { color:var(--primary); border-bottom-color:var(--primary); }
.biz-tabs .btn { white-space:nowrap; } .biz-tabs .spacer { flex:1; }
.biz-lead { margin:0 0 10px; font:700 16px/1.45 var(--font-head); color:var(--primary-700); }
.biz-highlights { display:grid; grid-template-columns:repeat(auto-fit, minmax(130px, 1fr)); gap:0; margin-top:22px; padding-top:18px; border-top:1px solid var(--line-2); }
.biz-highlights > div { display:flex; flex-direction:column; align-items:center; gap:10px; padding:6px 10px; text-align:center; font-size:14px; color:var(--ink-2); }
.biz-highlights > div + div { border-left:1px solid var(--line-2); }
.biz-highlights .ico { width:58px; height:58px; border-radius:50%; display:grid; place-items:center; background:var(--primary-50); color:var(--primary); } .biz-highlights .ico .icon { width:26px; height:26px; }
@media (max-width: 560px) { .biz-highlights { grid-template-columns:repeat(2, 1fr); row-gap:14px; } .biz-highlights > div:nth-child(odd) { border-left:0; } }
.biz-info { list-style:none; margin:0 0 16px; padding:0; display:grid; gap:14px; }
.biz-info li { display:flex; gap:12px; align-items:flex-start; font-size:14.5px; } .biz-info li > .icon { width:20px; height:20px; color:var(--primary); flex:none; margin-top:2px; }
.biz-info li strong { color:var(--primary-900); } .biz-info li span { display:block; color:var(--ink-2); font-size:13.5px; } .biz-info a { color:var(--primary-900); overflow-wrap:anywhere; }
/* İşletme sayfasındaki konum kutusu (0.27). 0.30.1: adı .map-box idi, ana sayfa haritasının kutusuyla çakışıp haritayı 170 piksele kesiyordu */
.biz-map { position:relative; display:block; height:170px; border-radius:12px; overflow:hidden; text-decoration:none; color:inherit;
  background:linear-gradient(115deg, transparent 46%, #fff 46%, #fff 50%, transparent 50%), linear-gradient(25deg, transparent 60%, #fff 60%, #fff 63%, transparent 63%), linear-gradient(160deg, transparent 30%, #FBE9C6 30%, #FBE9C6 33%, transparent 33%), repeating-linear-gradient(0deg, transparent 0 28px, rgba(255,255,255,.7) 28px 30px), repeating-linear-gradient(90deg, transparent 0 34px, rgba(255,255,255,.7) 34px 36px), #E7EEE2; border:1px solid var(--line-2); }
.biz-map-pin { position:absolute; left:50%; top:52%; transform:translate(-50%, -100%); color:#D93A2B; } .biz-map-pin .icon { width:38px; height:38px; fill:#D93A2B; stroke:#fff; }
.biz-map-label { position:absolute; left:14px; top:12px; padding:8px 12px; border-radius:10px; background:#fff; box-shadow:var(--shadow-sm); font-size:12.5px; } .biz-map-label strong { display:block; font-size:13.5px; color:var(--primary-900); } .biz-map-label span { color:var(--ink-2); }
.quote-card { background:#F6EFE3; border-color:#EADFCB; text-align:center; } .quote-card .script { font-size:28px; line-height:1.2; color:var(--primary-900); }

/* Görsel sığdırma (0.28): panelde kırpılan kart kopyası ya da orijinal; dik görsel kesilmez, kenarlar bulanık kopyayla dolar */
.cimg-bg { position:absolute !important; inset:0; width:100% !important; height:100% !important; object-fit:cover !important; filter:blur(18px) brightness(.82) saturate(1.1); transform:scale(1.15); pointer-events:none; }
img.cimg.is-blur { position:absolute; inset:0; z-index:1; width:100% !important; height:100% !important; object-fit:contain !important; }
.product-card .pimg { overflow:hidden; aspect-ratio:16/10; } .product-card .pimg img.cimg { height:100%; }
.cover-box { position:relative; overflow:hidden; background:#1D2A33; width:100%; }
.cover-box > a { display:block; width:100%; height:100%; cursor:zoom-in; }
.cover-box img.cimg { display:block; width:100%; height:100%; object-fit:cover; }
.cover-box.rounded { border-radius:var(--r); margin-bottom:18px; }
/* 0.29.0: bulanık zeminli kapak da bandın yüksekliğinde kalsın (height:100% kapsayıcıda yükseklik olmadığından resmin doğal boyuna uzuyordu; bilgisayarda ekranı kaplıyordu) */
.biz-hero img.cimg.is-blur { position:relative; z-index:0; height:300px !important; }
@media (max-width: 760px) { .biz-hero img.cimg.is-blur { height:240px !important; } }
/* Kırpma (panel) */
dialog.crop-dlg { max-width:880px; }
.crop-stage { max-height:min(62vh, 560px); background:#1D2A33; border-radius:12px; overflow:hidden; }
.crop-stage img { display:block; max-width:100%; }
.crop-bar { display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin-top:10px; }
.crop-bar .xs { flex:1 1 220px; }
.crop-preview { height:54px; aspect-ratio:16/9; object-fit:cover; border-radius:8px; border:2px solid var(--accent); }
.crop-preview.round { aspect-ratio:1; border-radius:50%; }
.crop-file { display:flex; gap:10px; align-items:center; margin-top:6px; flex-wrap:wrap; }
.g-item.is-cropped { outline:3px solid var(--accent); outline-offset:-3px; }
/* Platform desteği (0.28): admin › Dernekler › "Panelini aç" ile girilen panel */
.support-banner { display:flex; gap:12px; align-items:center; flex-wrap:wrap; padding:10px clamp(16px, 3vw, 32px); background:#FFF4DB; border-bottom:1px solid #F1D79A; color:#6A4A00; font-size:13.5px; }
.support-banner > .icon { color:#B9520A; flex:none; } .support-banner > span { flex:1 1 300px; } .support-banner form { margin:0; }

/* "Sırala" penceresi (0.30.0): panel › Galeri, Kültürümüz, Köyün değerleri, Memleketim Çarşısı */
dialog.reorder-dlg { max-width:620px; }
.reorder-list { list-style:none; margin:14px 0 10px; padding:2px; max-height:min(58vh, 520px); overflow:auto; display:grid; gap:8px; }
.reorder-item { display:flex; align-items:center; gap:10px; padding:7px 8px; border:1px solid var(--line); border-radius:12px; background:var(--surface); }
.reorder-item.dragging { border-color:var(--primary); background:var(--primary-50); box-shadow:var(--shadow-lg); position:relative; z-index:1; }
.reorder-handle { flex:none; touch-action:none; cursor:grab; border:0; background:none; color:var(--ink-3); padding:8px 6px; border-radius:8px; display:grid; place-items:center; }
.reorder-handle:hover { background:var(--bg); color:var(--ink); } .reorder-handle:focus-visible { outline:2px solid var(--primary); outline-offset:1px; }
.is-dragging, .is-dragging * { cursor:grabbing !important; user-select:none; }
.reorder-pos { flex:none; width:22px; text-align:center; font:700 13px var(--font-head); color:var(--ink-2); }
.reorder-item img, .reorder-ph { flex:none; width:52px; height:38px; border-radius:8px; object-fit:cover; }
.reorder-ph { display:grid; place-items:center; background:var(--bg); color:var(--ink-3); }
.reorder-txt { flex:1; min-width:0; display:flex; flex-direction:column; line-height:1.3; }
.reorder-txt strong { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-size:14.5px; } .reorder-txt small { color:var(--ink-2); font-size:12.5px; }
.reorder-btns { flex:none; display:flex; } .reorder-btns .icon-btn { width:34px; height:34px; } .reorder-btns .up .icon { transform:rotate(180deg); }
.reorder-item:first-child .up, .reorder-item:last-child .reorder-btns .icon-btn:not(.up) { opacity:.3; pointer-events:none; }
.reorder-actions { flex-wrap:wrap; }
form[data-reorder].is-dirty [data-reorder-save] { box-shadow:0 0 0 3px var(--accent-100); }
@media (max-width: 560px) { .reorder-item img, .reorder-ph { display:none; } .reorder-pos { width:16px; } }

/* Google / Apple ile giriş (0.34.0): marka kılavuzlarına uygun düğmeler; Google beyaz zeminli, Apple siyah */
.social-login { display:grid; gap:10px; margin:18px 0 6px; }
.btn-social { display:flex; align-items:center; justify-content:center; gap:10px; min-height:46px; padding:10px 18px; border-radius:12px; font:600 15px/1.2 var(--font-head); text-decoration:none; border:1.5px solid var(--line); background:#fff; color:#1f1f1f; transition:background .15s, border-color .15s, box-shadow .15s; }
.btn-social svg { width:20px; height:20px; flex:none; }
.btn-social:hover { border-color:#c6c6c6; box-shadow:0 1px 3px rgba(0,0,0,.08); color:#1f1f1f; }
.btn-social.apple { background:#000; border-color:#000; color:#fff; }
.btn-social.apple svg { width:18px; height:18px; }
.btn-social.apple:hover { background:#1d1d1f; color:#fff; }
.or-sep { display:flex; align-items:center; gap:12px; margin:16px 0 4px; color:var(--ink-2); font-size:13px; }
.or-sep::before, .or-sep::after { content:""; flex:1; height:1px; background:var(--line); }
.linked-list { display:grid; gap:10px; }
.linked-row { display:flex; align-items:center; gap:12px; padding:12px 14px; border:1px solid var(--line); border-radius:12px; background:var(--surface); }
.linked-row .brand { width:36px; height:36px; border-radius:10px; display:grid; place-items:center; background:#fff; border:1px solid var(--line); flex:none; }
.linked-row .brand svg { width:20px; height:20px; }
.linked-row .brand.apple { background:#000; border-color:#000; color:#fff; }
.linked-row .grow { flex:1; min-width:0; }
.linked-row form { margin:0; }

/* Harf çubuğu (sözlük, 0.35.0): bilgisayarda satıra sarılır, telefonda yana kayar; kelimesi olmayan harf soluk */
.letter-bar { display:flex; flex-wrap:wrap; gap:6px; margin:6px 0 18px; }
.letter-bar a, .letter-bar span { display:inline-grid; place-items:center; min-width:34px; height:34px; padding:0 8px; border-radius:10px; background:var(--surface); border:1px solid var(--line); font:700 14px/1 var(--font-head); color:var(--primary-700); text-decoration:none; }
.letter-bar a:hover { border-color:var(--primary); }
.letter-bar a.active { background:var(--primary); border-color:var(--primary); color:#fff; }
.letter-bar a.all { padding:0 12px; }
.letter-bar span.off { color:var(--ink-3, #9aa5ad); background:transparent; border-style:dashed; cursor:default; }
@media (max-width: 720px) {
  .letter-bar { flex-wrap:nowrap; overflow-x:auto; padding-bottom:6px; margin-left:-4px; margin-right:-4px; scrollbar-width:thin; }
  .letter-bar a, .letter-bar span { flex:none; }
}
.letter-note { margin:-8px 0 14px; color:var(--ink-2); font-size:14px; }
