/* ================================================================
   Foto Hayal — Düğün & Nişan Fotoğrafçısı
   Palet: çiçek açan pembe, şampanya altın, sıcak krem
   Atmosfer: güneşli, canlı, kutlama — mutlu günlerin rengi
   ================================================================ */

/* ----- 1. Değişkenler ----------------------------------------- */
:root {
    --white:       #ffffff;
    --surface:     #fffaf6;        /* sıcak krem zemin */
    --blush:       #fef0f4;        /* çok açık pembe */
    --blush-mid:   #fad8e4;        /* orta pembe */
    --blush-deep:  #f0bad0;        /* kenarlıklar */
    --rose:        #c4607c;        /* canlı gül kırmızısı */
    --rose-dark:   #a04060;        /* hover */
    --rose-light:  #f9d0dc;        /* çok açık gül */
    --gold:        #c8922a;        /* sıcak altın */
    --gold-light:  #e8bc6e;        /* parlak altın */
    --gold-warm:   #fce8c0;        /* en açık altın */
    /* Footer / header için koyu arka plan */
    --deep:        #2c1420;        /* derin mor-kahve */
    --deep-warm:   #3a1c10;        /* sıcak kahve */
    --ink:         #2a1518;        /* koyu metin */
    --ink-mid:     #5c3848;        /* orta metin */
    --muted:       rgba(42,21,24,.5);
    --radius:      14px;
    --radius-sm:   8px;
    --shadow-xs:   0 3px 16px rgba(196,96,124,.08);
    --shadow:      0 12px 40px rgba(196,96,124,.13);
    --shadow-lg:   0 28px 60px rgba(196,96,124,.18);
    --font-sans:   "Montserrat", system-ui, sans-serif;
    --font-serif:  "Playfair Display", Georgia, serif;
    --font-script: "Great Vibes", cursive;
    --transition:  0.28s ease;
}

/* ----- 2. Reset & temel --------------------------------------- */
*,*::before,*::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }

body {
    margin: 0;
    font-family: var(--font-sans);
    font-size: 1rem;
    line-height: 1.68;
    color: var(--ink);
    background: var(--surface);
    min-height: 100vh;
    overflow-x: hidden;
}

img { max-width: 100%; height: auto; vertical-align: middle; }

a {
    color: var(--rose);
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    transition: color var(--transition);
}
a:hover { color: var(--rose-dark); }

.container {
    width: min(1140px, 100% - 2.5rem);
    margin-inline: auto;
}

.visually-hidden {
    position: absolute; width: 1px; height: 1px;
    padding: 0; margin: -1px; overflow: hidden;
    clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

/* ----- 3. Top bar --------------------------------------------- */
.top-bar {
    background: linear-gradient(90deg, var(--rose) 0%, #d4527a 40%, var(--gold) 100%);
    border-bottom: none;
    font-size: 0.82rem;
    letter-spacing: 0.03em;
}

.top-bar__inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.5rem 2rem;
    padding: 0.5rem 0;
}

.top-bar__link {
    color: rgba(255,255,255,.92);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    font-weight: 600;
}
.top-bar__link:hover { color: var(--white); text-decoration: underline; }
.top-bar__link::before { font-style: normal; font-size: 0.95em; }
.top-bar__link[href^="tel"]::before  { content: "☎"; }
.top-bar__link[href*="instagram"]::before { content: "◆"; font-size: 0.7em; }

/* ----- 4. Header ---------------------------------------------- */
.site-header {
    position: sticky;
    top: 0;
    z-index: 50;
    background: rgba(253, 248, 245, 0.94);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border-bottom: 1px solid var(--blush-deep);
}

.site-header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.9rem 0;
}

/* Marka logosu */
.brand {
    display: flex;
    align-items: center;
    text-decoration: none;
}

/* İmza görseli (header brand) */
.brand__imza {
    height: clamp(2rem, 4vw, 2.8rem);
    width: auto;
    display: block;
    filter: brightness(0);
    transition: filter var(--transition);
}
[data-theme="dark"] .brand__imza {
    filter: brightness(0) invert(1);
}

/* Nav */
.nav-toggle {
    display: none;
    flex-direction: column;
    gap: 5px;
    padding: 0.5rem;
    background: transparent;
    border: 1px solid var(--blush-deep);
    border-radius: var(--radius-sm);
    cursor: pointer;
}
.nav-toggle__bar {
    width: 22px; height: 2px;
    background: var(--ink-mid);
    border-radius: 99px;
    transition: background var(--transition);
}

.main-nav__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0 1.75rem;
    list-style: none;
    margin: 0; padding: 0;
}

.main-nav__link {
    text-decoration: none;
    color: var(--ink-mid);
    font-weight: 500;
    font-size: 0.9rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding-bottom: 2px;
    border-bottom: 2px solid transparent;
    transition: color var(--transition), border-color var(--transition);
}
.main-nav__link:hover,
.main-nav__link.is-active {
    color: var(--rose);
    border-color: var(--gold);
}

/* Mobil nav */
@media (max-width: 768px) {
    .nav-toggle { display: flex; }

    .main-nav {
        position: absolute;
        left: 0; right: 0; top: 100%;
        background: var(--white);
        border-bottom: 1px solid var(--blush-deep);
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.32s ease;
    }
    .main-nav.is-open { max-height: 280px; }
    .main-nav__list {
        flex-direction: column;
        padding: 1.25rem 1.5rem;
        gap: 0.2rem;
    }
    .main-nav__link { font-size: 0.95rem; padding: 0.4rem 0; }
}

/* ----- 5. Dekoratif yardımcılar ------------------------------ */

/* İnce altın yatay çizgi + baklava */
.divider {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin: 0 auto 2.5rem;
    max-width: 240px;
}
.divider::before,
.divider::after {
    content: "";
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--gold-light), transparent);
}
.divider__gem {
    width: 9px; height: 9px;
    background: var(--gold);
    transform: rotate(45deg);
    border-radius: 2px;
    flex-shrink: 0;
}

/* Bölüm başlık stili */
.section__eyebrow {
    display: block;
    font-family: var(--font-sans);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 0.6rem;
}

.section__title {
    margin: 0 0 0.75rem;
    font-family: var(--font-serif);
    font-size: clamp(1.8rem, 3.5vw, 2.6rem);
    font-weight: 700;
    color: var(--ink);
    line-height: 1.2;
}

.section__title em {
    font-style: italic;
    color: var(--rose);
}

.section__lead {
    margin: 0 0 0;
    max-width: 52ch;
    color: var(--muted);
    font-size: 1rem;
    line-height: 1.7;
}

/* ----- 6. Hero ------------------------------------------------ */
.hero {
    position: relative;
    min-height: min(88vh, 720px);
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    overflow: hidden;
}

/* Görsel yokken: güneşli, çiçekli, canlı */
.hero--light {
    background:
        radial-gradient(ellipse 70% 80% at 80% 20%, rgba(248,190,210,.65) 0%, transparent 55%),
        radial-gradient(ellipse 60% 70% at 15% 80%, rgba(250,215,140,.55) 0%, transparent 50%),
        radial-gradient(ellipse 90% 60% at 50% 110%, rgba(196,96,124,.20) 0%, transparent 60%),
        linear-gradient(150deg, #fff5f8 0%, #fff0ea 45%, #fff5ee 80%, #ffeef5 100%);
    color: var(--ink);
}

/* Görsel varken: koyu overlay */
.hero--dark {
    background-color: #2e1a14;
    background-size: cover;
    background-position: center;
    color: #fff;
}

/* Arka plan görsel CSS custom prop ile geliyor */
.hero--dark { background-image: var(--hero-bg); }

/* Çevresel halkalar (lens efekti) */
.hero__rings {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden;
}
.hero__rings::before,
.hero__rings::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    border: 1px solid rgba(196,152,90,.25);
}
.hero--light .hero__rings::before {
    width: 520px; height: 520px;
    right: -90px; top: -130px;
    border-color: rgba(196,96,124,.22);
    box-shadow:
        0 0 0 28px rgba(196,96,124,.08),
        0 0 0 60px rgba(200,146,42,.07),
        0 0 0 105px rgba(196,96,124,.04);
}
.hero--light .hero__rings::after {
    width: 300px; height: 300px;
    left: -50px; bottom: -70px;
    border-color: rgba(200,146,42,.3);
    box-shadow:
        0 0 0 20px rgba(200,146,42,.08),
        0 0 0 50px rgba(200,146,42,.04);
}
.hero--dark .hero__rings::before {
    width: 520px; height: 520px;
    right: -60px; top: -100px;
    border-color: rgba(255,255,255,.18);
    box-shadow:
        0 0 0 35px rgba(255,255,255,.06),
        0 0 0 75px rgba(255,255,255,.035),
        0 0 0 125px rgba(255,255,255,.018);
}

.hero__overlay {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.hero--dark .hero__overlay {
    background: linear-gradient(
        160deg,
        rgba(14,6,4,.55) 0%,
        rgba(20,10,8,.3) 50%,
        rgba(40,20,14,.6) 100%
    );
}
.hero--light .hero__overlay { background: transparent; }
.hero--dark .hero__overlay {
    background: linear-gradient(
        160deg,
        rgba(14,6,4,.55) 0%,
        rgba(20,10,8,.3) 50%,
        rgba(40,20,14,.6) 100%
    );
}

.hero__content {
    position: relative;
    z-index: 1;
    padding: 4.5rem 1rem;
    max-width: 680px;
}

.hero__promo {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0 0 1.25rem;
    padding: 0.45rem 1.25rem;
    border-radius: 999px;
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}
.hero--light .hero__promo {
    background: linear-gradient(90deg, rgba(196,96,124,.12), rgba(200,146,42,.12));
    color: var(--rose-dark);
    border: 1px solid rgba(196,96,124,.25);
}
.hero--dark .hero__promo {
    background: rgba(200,146,42,.22);
    color: var(--gold-light);
    border: 1px solid rgba(200,146,42,.4);
}
.hero__promo::before { content: "✦"; font-size: 0.7em; }

.hero__title {
    margin: 0;
    font-family: var(--font-serif);
    font-size: clamp(3rem, 7vw, 5rem);
    font-weight: 700;
    letter-spacing: 0.06em;
    line-height: 1.05;
}
.hero--light .hero__title { color: var(--ink); }
.hero--dark  .hero__title { color: #fff; text-shadow: 0 2px 24px rgba(0,0,0,.35); }

.hero__subtitle {
    margin: 0.5rem 0 0;
    font-family: var(--font-script);
    font-size: clamp(2.8rem, 8vw, 5rem);
    line-height: 1;
}
.hero--light .hero__subtitle { color: var(--rose); }
.hero--dark  .hero__subtitle { color: var(--gold-light); }

/* Logo görseli (hero altı) */
.hero__logo {
    display: block;
    height: clamp(5rem, 14vw, 10rem);
    width: auto;
    margin: 1rem auto 0;
    filter: brightness(0);               /* açık temada siyah */
    transition: filter var(--transition);
}
.hero--dark .hero__logo {
    filter: brightness(0) invert(1);     /* hero görsel varken beyaz */
}
[data-theme="dark"] .hero--light .hero__logo {
    filter: brightness(0) invert(1);     /* koyu temada, hero ışıksızken beyaz */
}

.hero__tagline {
    margin: 1.5rem auto 0;
    font-size: 0.97rem;
    max-width: 36ch;
    line-height: 1.7;
    letter-spacing: 0.01em;
}
.hero--light .hero__tagline { color: var(--muted); }
.hero--dark  .hero__tagline { color: rgba(255,255,255,.72); }

.hero__cta {
    margin-top: 2.25rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.85rem;
    justify-content: center;
}

/* ----- 7. Butonlar -------------------------------------------- */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.7rem 1.6rem;
    font-family: inherit;
    font-weight: 600;
    font-size: 0.875rem;
    letter-spacing: 0.05em;
    border-radius: 999px;
    border: 2px solid transparent;
    cursor: pointer;
    text-decoration: none;
    transition: background var(--transition), color var(--transition),
                border-color var(--transition), box-shadow var(--transition),
                transform var(--transition);
}
.btn:hover { transform: translateY(-1px); }
.btn:active { transform: translateY(0); }

.btn--primary {
    background: var(--rose);
    color: #fff;
    border-color: var(--rose);
    box-shadow: 0 6px 20px rgba(191,111,130,.35);
}
.btn--primary:hover {
    background: var(--rose-dark);
    border-color: var(--rose-dark);
    color: #fff;
    box-shadow: 0 10px 28px rgba(191,111,130,.45);
}

.btn--gold {
    background: var(--gold);
    color: #fff;
    border-color: var(--gold);
    box-shadow: 0 6px 20px rgba(196,152,90,.35);
}
.btn--gold:hover {
    background: #a87d46;
    color: #fff;
    box-shadow: 0 10px 28px rgba(196,152,90,.45);
}

.btn--ghost {
    background: transparent;
    color: #fff;
    border-color: rgba(255,255,255,.6);
}
.btn--ghost:hover {
    background: rgba(255,255,255,.12);
    color: #fff;
    border-color: rgba(255,255,255,.9);
}

.btn--outline {
    background: transparent;
    color: var(--rose);
    border-color: var(--blush-deep);
}
.btn--outline:hover {
    background: var(--blush);
    border-color: var(--rose);
}
/* Hero --light açık arka planda outline normal davranır */
.hero--light .btn--outline {
    color: var(--rose);
    border-color: var(--blush-deep);
}
.hero--light .btn--outline:hover {
    background: var(--blush);
    border-color: var(--rose);
    color: var(--rose-dark);
}

.btn--secondary {
    background: var(--ink);
    color: var(--surface);
    border-color: var(--ink);
}
.btn--secondary:hover {
    background: var(--ink-mid);
    color: var(--white);
}

.text-link {
    font-weight: 600;
    text-decoration: none;
    color: var(--rose);
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
}
.text-link::after { content: "→"; transition: transform var(--transition); }
.text-link:hover::after { transform: translateX(3px); }

/* ----- 8. Bölümler -------------------------------------------- */
.section {
    padding: 5rem 0;
}
.section--tight   { padding-top: 1rem; }
.section--blush   { background: linear-gradient(160deg, var(--blush) 0%, #fde8f0 60%, var(--blush) 100%); }
.section--centered { text-align: center; }
.section--centered .section__lead { margin-inline: auto; }

/* Canlı gül bölümü (CTA) */
.section--velvet {
    background: linear-gradient(135deg,
        var(--rose) 0%,
        #d4527a 35%,
        #b84870 65%,
        var(--rose) 100%
    );
    position: relative;
    overflow: hidden;
}
/* Parlama efekti */
.section--velvet::before {
    content: "";
    position: absolute;
    top: -40%; left: 50%; transform: translateX(-50%);
    width: 60%; height: 200%;
    background: radial-gradient(ellipse, rgba(255,255,255,.18) 0%, transparent 65%);
    pointer-events: none;
}
.section--velvet .section__eyebrow { color: rgba(255,255,255,.75); letter-spacing: 0.22em; }
.section--velvet .section__title   { color: #fff; }
.section--velvet .section__title em { color: var(--gold-warm); font-style: italic; }
.section--velvet .section__lead    { color: rgba(255,255,255,.75); }

.section__more {
    margin-top: 2.5rem;
    text-align: center;
}

.page-head {
    padding: 3.5rem 0 1.5rem;
    text-align: center;
    background: linear-gradient(180deg, var(--blush) 0%, transparent 100%);
}
.page-head__title {
    margin: 0;
    font-family: var(--font-serif);
    font-size: clamp(2rem, 4.5vw, 2.8rem);
    color: var(--ink);
}
.page-head__lead {
    margin: 0.75rem auto 0;
    max-width: 42ch;
    color: var(--muted);
}

/* ----- 9. Hizmet listesi (zarif, tipografik) ------------------ */
.services-head {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem 3rem;
    align-items: end;
    margin-bottom: 3rem;
}
@media (max-width: 680px) {
    .services-head { grid-template-columns: 1fr; }
}

.services-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    border: 1px solid var(--blush-deep);
    border-radius: var(--radius);
    overflow: hidden;
    background: var(--white);
    box-shadow: var(--shadow-xs);
}
@media (max-width: 600px) {
    .services-list { grid-template-columns: 1fr; }
}

.service-entry {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    padding: 1.5rem 1.75rem;
    text-decoration: none;
    color: var(--ink);
    border-bottom: 1px solid var(--blush-deep);
    border-right: 1px solid var(--blush-deep);
    position: relative;
    transition: background var(--transition), border-color var(--transition);
}
/* Son iki öğenin alt kenarlığını kaldır (2 sütun varsayılan) */
.service-entry:nth-last-child(-n+2) { border-bottom: none; }
/* Sağ kolonun sağ kenarlığını kaldır */
.service-entry:nth-child(even) { border-right: none; }

/* Tek kalan son öğe (toplam tek sayı) → tam genişlikte uzat, içeriği ortala */
.service-entry:last-child:nth-child(odd) {
    grid-column: 1 / -1;
    border-right: none;
    justify-content: center;
}
.service-entry:last-child:nth-child(odd) .service-entry__body {
    flex: 0 1 auto;
}
/* Bu durumda satır üstündeki çift-sıralı öğenin alt kenarlığını geri getir */
.service-entry:nth-last-child(2):nth-child(even) {
    border-bottom: 1px solid var(--blush-deep);
}

@media (max-width: 600px) {
    .service-entry { border-right: none; grid-column: auto; }
    .service-entry:nth-last-child(-n+2) { border-bottom: 1px solid var(--blush-deep); }
    .service-entry:last-child { border-bottom: none; }
    .service-entry:nth-last-child(2):nth-child(even) { border-bottom: 1px solid var(--blush-deep); }
}

.service-entry:hover {
    background: var(--blush);
}
.service-entry:hover .service-entry__arrow {
    transform: translateX(4px);
    color: var(--rose);
}

.service-entry__num {
    font-family: var(--font-serif);
    font-size: 1.6rem;
    font-weight: 700;
    color: var(--blush-deep);
    line-height: 1;
    min-width: 2rem;
    flex-shrink: 0;
    transition: color var(--transition);
}
.service-entry:hover .service-entry__num { color: var(--rose); }

.service-entry__body {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    flex: 1;
}

.service-entry__name {
    font-family: var(--font-serif);
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--ink);
    line-height: 1.2;
}

.service-entry__desc {
    font-size: 0.82rem;
    color: var(--muted);
    line-height: 1.4;
}

.service-entry__arrow {
    font-size: 1rem;
    color: var(--blush-deep);
    flex-shrink: 0;
    transition: transform var(--transition), color var(--transition);
}

/* ----- 10. Alıntı banner (sıcak & çiçekli) -------------------- */
.quote-band {
    background: linear-gradient(135deg,
        #fff5f9 0%,
        #ffe8f0 30%,
        #fff8ee 65%,
        #fff0f7 100%
    );
    border-top: 1px solid var(--blush-deep);
    border-bottom: 1px solid var(--blush-deep);
    padding: 5rem 0;
    text-align: center;
    position: relative;
    overflow: hidden;
}
/* Büyük dekoratif tırnak işareti */
.quote-band::before {
    content: "\201C";
    position: absolute;
    font-family: var(--font-serif);
    font-size: 22rem;
    line-height: 1;
    top: -3rem;
    left: 0.5rem;
    color: var(--blush-mid);
    pointer-events: none;
    opacity: 0.6;
}
/* Dekoratif çiçek çemberi sağ köşe */
.quote-band::after {
    content: "✿";
    position: absolute;
    font-size: 12rem;
    right: 2rem;
    bottom: -2rem;
    color: var(--blush-mid);
    opacity: 0.4;
    pointer-events: none;
    line-height: 1;
}
.quote-band__text {
    font-family: var(--font-serif);
    font-size: clamp(1.25rem, 2.8vw, 1.85rem);
    font-style: italic;
    color: var(--ink);
    max-width: 40ch;
    margin: 0 auto 1.25rem;
    position: relative;
    line-height: 1.6;
}
.quote-band__author {
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--gold);
}

/* ----- 11. Ana sayfa galeri grid (sabit oran) ----------------- */
.grid--gallery {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1.25rem;
}
.tile {
    margin: 0;
    background: var(--white);
    border-radius: var(--radius);
    overflow: hidden;
    box-shadow: var(--shadow-xs);
    border: 1px solid var(--blush-deep);
    transition: box-shadow var(--transition), transform var(--transition);
}
.tile:hover {
    box-shadow: var(--shadow-lg);
    transform: translateY(-4px);
}
.tile__link {
    display: block;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: var(--blush);
    position: relative;
}
.tile__link img {
    width: 100%; height: 100%;
    object-fit: cover;
    transition: transform 0.45s ease;
}
.tile:hover .tile__link img { transform: scale(1.06); }
.tile__cap {
    padding: 0.6rem 0.9rem;
    font-size: 0.83rem;
    color: var(--muted);
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 500;
}
.tile__video {
    margin-left: auto;
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--rose);
    text-decoration: none;
    background: var(--blush);
    padding: 0.15rem 0.5rem;
    border-radius: 99px;
}

/* ----- 11b. Portfolyo — Fotoğraf Baskısı Albüm Görünümü ------- *
 *
 * CSS columns masonry: dikey/yatay her fotoğraf doğal boyutunda,
 * sütun bazlı akışta "albüme dizilmiş baskılar" hissi.
 * Her kart polaroid tarzı: beyaz çerçeve + alt yazı alanı + gölge.
 */

/* Portfolyo sayfası: kağıt doku arka planı */
.portfolio-wrap {
    background: linear-gradient(160deg, #f9f2ea 0%, #f4ece0 50%, #f9f2ea 100%);
    border-radius: var(--radius);
    padding: 2rem;
    box-shadow: inset 0 2px 8px rgba(100,50,30,.06);
}
@media (max-width: 600px) {
    .portfolio-wrap { padding: 1rem; border-radius: var(--radius-sm); }
}

/* Masonry: CSS columns */
.album-grid {
    column-count: 3;
    column-gap: 18px;
}
@media (max-width: 900px)  { .album-grid { column-count: 2; column-gap: 14px; } }
@media (max-width: 480px)  { .album-grid { column-count: 2; column-gap: 10px; } }
@media (max-width: 360px)  { .album-grid { column-count: 1; } }

/* Fotoğraf baskısı kartı */
.album-cell {
    break-inside: avoid;
    display: block;
    margin-bottom: 18px;
    position: relative;
    background: #fff;
    /* Polaroid tarzı çerçeve: alt daha geniş */
    padding: 7px 7px 36px;
    border-radius: 3px;
    box-shadow:
        0 1px 3px rgba(0,0,0,.10),
        0 4px 12px rgba(0,0,0,.08),
        0 10px 30px rgba(100,50,30,.08);
    transition: transform 0.35s ease, box-shadow 0.35s ease;
    cursor: pointer;
}
/* Hafif kaçık açılar — gerçek baskı hissi */
.album-cell:nth-child(4n+1) { transform: rotate(-0.5deg); }
.album-cell:nth-child(4n+2) { transform: rotate( 0.4deg); }
.album-cell:nth-child(4n+3) { transform: rotate(-0.3deg); }
.album-cell:nth-child(4n+4) { transform: rotate( 0.6deg); }

.album-cell:hover {
    transform: translateY(-6px) rotate(0deg) scale(1.02) !important;
    box-shadow:
        0 2px 6px rgba(0,0,0,.10),
        0 10px 28px rgba(0,0,0,.12),
        0 24px 50px rgba(100,50,30,.14);
    z-index: 5;
}

/* Fotoğraf alanı */
.album-cell a {
    display: block;
    position: relative;
    overflow: hidden;
    border-radius: 1px;
    text-decoration: none;
}
.album-cell img {
    width: 100%;
    height: auto;
    display: block;
    transition: filter 0.35s ease;
}
.album-cell:hover img {
    filter: brightness(1.06) saturate(1.08);
}

/* Alt Polaroid yazı alanı */
.album-cell__label {
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}
.album-cell__caption {
    font-family: var(--font-sans);
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--ink-mid);
    letter-spacing: 0.04em;
    text-transform: uppercase;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 90%;
}

/* Hover overlay (hafif) */
.album-cell__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(30,10,15,.5) 0%, transparent 55%);
    display: flex;
    align-items: flex-end;
    padding: 0.6rem 0.7rem;
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
    border-radius: 1px;
}
.album-cell:hover .album-cell__overlay { opacity: 1; }
.album-cell__overlay-text {
    font-family: var(--font-serif);
    font-size: 0.85rem;
    font-weight: 600;
    color: #fff;
    text-shadow: 0 1px 6px rgba(0,0,0,.5);
}

.album-cell__badge {
    background: var(--rose);
    color: #fff;
    font-size: 0.68rem;
    font-weight: 700;
    padding: 0.15rem 0.5rem;
    border-radius: 99px;
    white-space: nowrap;
}

.album-cell__video-link {
    position: absolute;
    top: 0.5rem; right: 0.5rem;
    background: rgba(255,255,255,.9);
    color: var(--rose);
    font-size: 0.68rem;
    font-weight: 700;
    padding: 0.15rem 0.5rem;
    border-radius: 99px;
    text-decoration: none;
    box-shadow: 0 2px 6px rgba(0,0,0,.1);
    z-index: 2;
    transition: background var(--transition), color var(--transition);
}
.album-cell__video-link:hover { background: var(--rose); color: #fff; }

@keyframes skeleton {
    0%   { background-position: 100% 50%; }
    100% { background-position:   0% 50%; }
}

.empty-state {
    text-align: center;
    padding: 4rem 1rem;
    color: var(--muted);
    font-style: italic;
}

/* ----- 12. Filtre sekmeleri ----------------------------------- */
.filter-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    margin-bottom: 2.5rem;
    justify-content: center;
}
.filter-tab {
    padding: 0.45rem 1.1rem;
    border-radius: 999px;
    text-decoration: none;
    font-size: 0.85rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    color: var(--ink-mid);
    background: var(--white);
    border: 1px solid var(--blush-deep);
    transition: background var(--transition), color var(--transition),
                border-color var(--transition), box-shadow var(--transition);
}
.filter-tab:hover {
    border-color: var(--rose);
    color: var(--rose);
}
.filter-tab.is-active {
    background: var(--rose);
    color: #fff;
    border-color: var(--rose);
    box-shadow: 0 4px 14px rgba(191,111,130,.3);
}

/* ----- 13. İletişim sayfası (form yok) ------------------------ */
.contact-pg {
    display: grid;
    gap: 2.5rem;
    grid-template-columns: 1.1fr 1fr;
    align-items: start;
}
@media (max-width: 820px) {
    .contact-pg { grid-template-columns: 1fr; }
}

.contact-col {}

/* WhatsApp büyük CTA */
.cta-wa {
    display: flex;
    align-items: center;
    gap: 1.1rem;
    padding: 1.2rem 1.5rem;
    background: #25d366;
    color: #fff;
    border-radius: var(--radius);
    text-decoration: none;
    box-shadow: 0 8px 28px rgba(37,211,102,.35);
    margin-bottom: 1.5rem;
    transition: background var(--transition), transform var(--transition), box-shadow var(--transition);
}
.cta-wa:hover {
    background: #1da851;
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 14px 36px rgba(37,211,102,.45);
}
.cta-wa__icon {
    width: 2.4rem; height: 2.4rem;
    flex-shrink: 0;
    fill: #fff;
}
.cta-wa strong {
    display: block;
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.2;
}
.cta-wa small {
    font-size: 0.88rem;
    opacity: 0.88;
}

/* İletişim yöntemleri listesi */
.contact-methods {
    display: flex;
    flex-direction: column;
    gap: 0;
    background: var(--white);
    border: 1px solid var(--blush-deep);
    border-radius: var(--radius);
    overflow: hidden;
    box-shadow: var(--shadow-xs);
    margin-bottom: 1.25rem;
}

.contact-method {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.1rem 1.25rem;
    text-decoration: none;
    color: var(--ink);
    border-bottom: 1px solid var(--blush-deep);
    transition: background var(--transition);
}
.contact-method:last-child { border-bottom: none; }
.contact-method:hover { background: var(--blush); }

.contact-method__icon {
    width: 2.4rem; height: 2.4rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.contact-method__icon svg { width: 1.1rem; height: 1.1rem; }
.contact-method__icon--phone { background: #e8f4fd; color: #1565c0; fill: #1565c0; }
.contact-method__icon--phone svg { fill: #1565c0; }
.contact-method__icon--ig { background: #fce4ec; color: #c2185b; }
.contact-method__icon--ig svg { fill: #c2185b; }
.contact-method__icon--map { background: #e8f5e9; color: #2e7d32; }
.contact-method__icon--map svg { fill: #2e7d32; }

.contact-method__text {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}
.contact-method__label {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--muted);
}
.contact-method__value {
    font-size: 0.93rem;
    font-weight: 600;
    color: var(--ink);
    line-height: 1.4;
}

.contact-hours {
    font-size: 0.85rem;
    color: var(--muted);
    margin: 0;
    padding: 1rem 1.25rem;
    background: var(--blush);
    border: 1px solid var(--blush-deep);
    border-radius: var(--radius-sm);
    line-height: 1.6;
}
.contact-hours strong { color: var(--ink-mid); }

/* Harita */
.contact-col--map {}
.map-wrap {
    border-radius: var(--radius);
    overflow: hidden;
    border: 1px solid var(--blush-deep);
    box-shadow: var(--shadow);
    height: 420px;
    position: relative;
    background: var(--blush);
}
.map-wrap iframe {
    width: 100%; height: 100%;
    display: block;
    border: none;
}
.map-cta {
    position: absolute;
    bottom: 1rem; right: 1rem;
    background: var(--rose);
    color: #fff;
    text-decoration: none;
    font-size: 0.82rem;
    font-weight: 700;
    padding: 0.45rem 0.9rem;
    border-radius: 99px;
    box-shadow: 0 4px 14px rgba(191,111,130,.4);
    transition: background var(--transition);
}
.map-cta:hover { background: var(--rose-dark); color: #fff; }

/* Eski contact-grid/card stilleri korunuyor (admin sayfaları için) */
.contact-grid { display: grid; gap: 2rem; grid-template-columns: 1fr 1.4fr; align-items: start; }
@media (max-width: 780px) { .contact-grid { grid-template-columns: 1fr; } }
.contact-card { background: var(--white); padding: 2rem; border-radius: var(--radius); box-shadow: var(--shadow); border: 1px solid var(--blush-deep); }
.contact-card__title { margin: 0 0 1.25rem; font-family: var(--font-serif); font-size: 1.25rem; color: var(--ink); }
.contact-list { list-style: none; margin: 0; padding: 0; }
.contact-list li { display: flex; align-items: center; gap: .65rem; padding: .6rem 0; border-bottom: 1px dashed var(--blush-deep); font-size: .95rem; }
.contact-list li:last-child { border-bottom: none; }
.contact-list__icon { font-size: 1.1rem; }
.contact-list a { font-weight: 600; color: var(--rose); }
.contact-form-wrap { background: var(--white); padding: 2rem; border-radius: var(--radius); box-shadow: var(--shadow); border: 1px solid var(--blush-deep); }
.contact-form-wrap h2 { margin: 0 0 1.25rem; font-family: var(--font-serif); font-size: 1.25rem; color: var(--ink); }

.field { display: block; margin-bottom: 1.1rem; }
.field__label {
    display: block;
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    margin-bottom: 0.4rem;
    color: var(--ink-mid);
}
.field__input {
    width: 100%;
    padding: 0.7rem 0.9rem;
    font-family: inherit;
    font-size: 0.97rem;
    border: 1px solid var(--blush-deep);
    border-radius: var(--radius-sm);
    background: var(--blush);
    color: var(--ink);
    transition: border-color var(--transition), box-shadow var(--transition);
}
.field__input:focus {
    outline: none;
    border-color: var(--rose);
    box-shadow: 0 0 0 3px rgba(191,111,130,.15);
    background: var(--white);
}
.field__input--area { resize: vertical; min-height: 130px; }

.alert {
    padding: 0.85rem 1.1rem;
    border-radius: var(--radius-sm);
    margin-bottom: 1.1rem;
    font-size: 0.93rem;
}
.alert--error  { background:#fde8ec; color:#7a1028; border:1px solid #e8b4bf; }
.alert--success{ background:#f0faf0; color:#1a5e28; border:1px solid #a8d6a8; }

/* ----- 14. Footer --------------------------------------------- */
.site-footer {
    margin-top: 0;
    background: linear-gradient(160deg, var(--deep) 0%, #3a1830 50%, var(--deep-warm) 100%);
    color: rgba(255,248,244,.82);
    padding: 4rem 1rem 3.5rem;
    position: relative;
    /* overflow:clip yalnız dekoratif pseudo-elementleri keser,
       içerik yüksekliğini ve sayfanın scroll'unu etkilemez */
    overflow: clip;
}
.site-footer::before {
    content: "";
    position: absolute;
    top: 0; left: 50%; transform: translateX(-50%);
    width: 60%; height: 1px;
    background: linear-gradient(90deg, transparent, rgba(200,146,42,.5), transparent);
}
.site-footer::after {
    content: "";
    position: absolute;
    bottom: 0; left: 0; right: 0; height: 3px;
    background: linear-gradient(90deg, var(--rose), var(--gold), var(--rose));
}

.site-footer__inner {
    text-align: center;
    position: relative;
}

.site-footer__brand { margin-bottom: 0.5rem; }
.site-footer__brand strong {
    display: block;
    font-family: var(--font-sans);
    font-size: 0.78rem;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--gold-light);
}
.site-footer__script {
    font-family: var(--font-script);
    font-size: 2.4rem;
    color: rgba(255,255,255,.9);
    display: block;
    line-height: 1.5;
    padding: 0.15em 0;
}

.site-footer__divider {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    max-width: 200px;
    margin: 1.25rem auto;
}
.site-footer__divider::before,
.site-footer__divider::after {
    content: "";
    flex: 1; height: 1px;
    background: rgba(196,152,90,.4);
}
.site-footer__divider__gem {
    width: 7px; height: 7px;
    background: var(--gold);
    transform: rotate(45deg);
    border-radius: 2px;
    flex-shrink: 0;
}

.site-footer__note {
    margin: 0 auto 1.25rem;
    font-size: 0.88rem;
    opacity: 0.75;
    max-width: 48ch;
    line-height: 1.6;
}
.site-footer__links {
    font-size: 0.88rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 0.25rem 0.5rem;
}
.site-footer__links a {
    color: rgba(255,255,255,.8);
    text-decoration: none;
    transition: color var(--transition);
}
.site-footer__links a:hover { color: var(--gold-light); }
.site-footer__dot { opacity: 0.35; margin: 0 0.25rem; }

.site-footer__copy {
    margin-top: 2rem;
    font-size: 0.75rem;
    opacity: 0.4;
}

@media (max-width: 768px) {
    .site-footer {
        padding: 2.5rem 1.25rem 4rem;
    }
    .site-footer__script {
        font-size: 1.9rem;
    }
    .site-footer__links {
        flex-direction: column;
        gap: 0.55rem;
    }
    .site-footer__dot {
        display: none;
    }
    .site-footer__note {
        font-size: 0.82rem;
    }
    .site-footer__copy {
        margin-top: 1.5rem;
    }
}
/* iOS home bar güvenli alan */
@supports (padding-bottom: env(safe-area-inset-bottom)) {
    .site-footer {
        padding-bottom: calc(3.5rem + env(safe-area-inset-bottom));
    }
    @media (max-width: 768px) {
        .site-footer {
            padding-bottom: calc(4rem + env(safe-area-inset-bottom));
        }
    }
}

/* ----- 15. Lightbox ------------------------------------------- */
.lightbox {
    position: fixed; inset: 0; z-index: 200;
    background: rgba(14,8,6,.96);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
}
.lightbox[hidden] { display: none !important; }

.lightbox__figure {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.85rem;
    max-width: min(96vw, 1200px);
}

.lightbox__img {
    max-width: 100%;
    max-height: 86vh;
    object-fit: contain;
    border-radius: 4px;
    box-shadow: 0 32px 100px rgba(0,0,0,.65);
    display: block;
}

.lightbox__cap {
    font-family: var(--font-serif);
    font-size: 0.92rem;
    font-style: italic;
    color: rgba(255,255,255,.65);
    text-align: center;
    min-height: 1em;
}

.lightbox__close {
    position: absolute; top: 1.25rem; right: 1.25rem;
    width: 46px; height: 46px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 50%;
    background: rgba(255,255,255,.08);
    color: #fff;
    font-size: 1.5rem;
    line-height: 1;
    cursor: pointer;
    transition: background var(--transition), border-color var(--transition);
    display: flex; align-items: center; justify-content: center;
}
.lightbox__close:hover {
    background: rgba(255,255,255,.22);
    border-color: rgba(255,255,255,.4);
}

/* ----- 16. Admin (değişmedi, minimal) ------------------------- */
.admin-body {
    margin: 0;
    font-family: var(--font-sans);
    background: #f5ede9;
    color: var(--ink);
    min-height: 100vh;
}
.admin-layout {
    display: grid;
    grid-template-columns: 220px 1fr;
    min-height: 100vh;
}
@media (max-width: 900px) {
    .admin-layout { grid-template-columns: 1fr; }
}
.admin-sidebar {
    background: #2e1a14;
    color: rgba(255,255,255,.85);
    padding: 1.5rem 1.25rem;
}
.admin-sidebar strong {
    display: block;
    font-family: var(--font-serif);
    font-size: 1.05rem;
    color: var(--gold-light);
    margin-bottom: 0.25rem;
}
.admin-sidebar a {
    color: rgba(255,255,255,.75);
    text-decoration: none;
    display: block;
    padding: 0.42rem 0;
    font-size: 0.9rem;
    transition: color var(--transition);
}
.admin-sidebar a:hover { color: var(--gold-light); }
.admin-sidebar__title {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    opacity: 0.5;
    margin: 1.25rem 0 0.35rem;
}
.admin-main { padding: 1.75rem 2.25rem; }
.admin-header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.75rem;
}
.admin-table {
    width: 100%;
    border-collapse: collapse;
    background: var(--white);
    border-radius: var(--radius);
    overflow: hidden;
    box-shadow: var(--shadow);
    font-size: 0.9rem;
}
.admin-table th,
.admin-table td {
    padding: 0.7rem 0.85rem;
    text-align: left;
    border-bottom: 1px solid #f0e8e4;
}
.admin-table th { background: #fdf0ec; font-weight: 600; font-size: 0.82rem; text-transform: uppercase; letter-spacing: 0.05em; }
.admin-table td .inline-form,
.admin-table td form.inline-form { display: inline; margin-left: 0.35rem; vertical-align: middle; }
.admin-thumb {
    width: 60px; height: 45px;
    object-fit: cover;
    border-radius: var(--radius-sm);
    border: 1px solid var(--blush-deep);
}
.admin-form {
    max-width: 540px;
    background: var(--white);
    padding: 1.5rem;
    border-radius: var(--radius);
    box-shadow: var(--shadow);
}
.admin-form .field__input { background: #fdf8f5; }
.form-actions { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 1.25rem; }
.btn--small { padding: 0.35rem 0.85rem; font-size: 0.82rem; border-radius: 99px; }
.btn--danger { background: #b71c1c; color: #fff; border-color: #b71c1c; }
.btn--danger:hover { background: #8b0000; }
.inline-form { display: inline; }

/* ----- 17. Tema toggle butonu --------------------------------- */
.theme-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 1px solid var(--blush-deep);
    background: transparent;
    color: var(--ink-mid);
    font-size: 1rem;
    cursor: pointer;
    flex-shrink: 0;
    transition: background var(--transition), border-color var(--transition),
                color var(--transition), transform var(--transition);
    line-height: 1;
    padding: 0;
}
.theme-toggle:hover {
    background: var(--blush);
    border-color: var(--rose);
    color: var(--rose);
    transform: rotate(18deg) scale(1.08);
}
.theme-toggle:active { transform: scale(0.95); }

/* Koyu modda buton görünümü */
[data-theme="dark"] .theme-toggle {
    border-color: var(--blush-deep);
    color: var(--gold-light);
}
[data-theme="dark"] .theme-toggle:hover {
    background: var(--blush);
    border-color: var(--gold);
    color: var(--gold);
}

/* ----- 18. Koyu tema ------------------------------------------ */
[data-theme="dark"] {
    color-scheme: dark;
}

[data-theme="dark"],
[data-theme="dark"] :root {
    --white:       #1e1018;
    --surface:     #110810;
    --blush:       #26111e;
    --blush-mid:   #3a1828;
    --blush-deep:  #4e2038;
    --ink:         #f5e6ee;
    --ink-mid:     #c8a0b8;
    --muted:       rgba(245,230,238,.5);
    --shadow-xs:   0 3px 16px rgba(0,0,0,.35);
    --shadow:      0 12px 40px rgba(0,0,0,.45);
    --shadow-lg:   0 28px 60px rgba(0,0,0,.55);
}

/* Header arka planı */
[data-theme="dark"] .site-header {
    background: rgba(17, 8, 16, 0.94);
    border-bottom-color: var(--blush-deep);
}

/* Mobil nav arka planı (yalnızca mobilde) */
@media (max-width: 768px) {
    [data-theme="dark"] .main-nav {
        background: #1e1018;
        border-bottom-color: var(--blush-deep);
    }
}

/* Hero --light koyu modda */
[data-theme="dark"] .hero--light {
    background:
        radial-gradient(ellipse 70% 80% at 80% 20%, rgba(100,30,60,.55) 0%, transparent 55%),
        radial-gradient(ellipse 60% 70% at 15% 80%, rgba(120,80,20,.4) 0%, transparent 50%),
        linear-gradient(150deg, #1a0d16 0%, #160a12 45%, #1c0d10 100%);
    color: var(--ink);
}
[data-theme="dark"] .hero--light .hero__title { color: var(--ink); }
[data-theme="dark"] .hero--light .hero__subtitle { color: var(--rose); }
[data-theme="dark"] .hero--light .hero__tagline  { color: var(--muted); }
[data-theme="dark"] .hero--light .hero__promo {
    background: rgba(196,96,124,.18);
    border-color: rgba(196,96,124,.3);
    color: var(--rose-light);
}

/* Alıntı bandı */
[data-theme="dark"] .quote-band {
    background: linear-gradient(135deg, #1e0d18 0%, #280e1e 35%, #200e10 65%, #1e0d18 100%);
    border-top-color: var(--blush-deep);
    border-bottom-color: var(--blush-deep);
}
[data-theme="dark"] .quote-band::before { color: var(--blush-mid); }
[data-theme="dark"] .quote-band::after  { color: var(--blush-mid); }

/* Pembe bölümler */
[data-theme="dark"] .section--blush {
    background: linear-gradient(160deg, var(--blush) 0%, #2e0f22 60%, var(--blush) 100%);
}

/* Sayfa başlığı */
[data-theme="dark"] .page-head {
    background: linear-gradient(180deg, var(--blush) 0%, transparent 100%);
}

/* Portfolyo kağıt doku */
[data-theme="dark"] .portfolio-wrap {
    background: linear-gradient(160deg, #1a0e14 0%, #160a10 50%, #1a0e14 100%);
    box-shadow: inset 0 2px 8px rgba(0,0,0,.3);
}

/* Polaroid kartlar */
[data-theme="dark"] .album-cell {
    background: #2a1220;
    box-shadow:
        0 1px 3px rgba(0,0,0,.4),
        0 4px 12px rgba(0,0,0,.35),
        0 10px 30px rgba(0,0,0,.3);
}
[data-theme="dark"] .album-cell__caption { color: var(--ink-mid); }

/* Hizmet listesi */
[data-theme="dark"] .services-list {
    background: var(--white);
    border-color: var(--blush-deep);
}
[data-theme="dark"] .service-entry {
    border-bottom-color: var(--blush-deep);
    border-right-color: var(--blush-deep);
    color: var(--ink);
}
[data-theme="dark"] .service-entry:hover { background: var(--blush); }

/* İletişim yöntemleri */
[data-theme="dark"] .contact-methods {
    background: var(--white);
    border-color: var(--blush-deep);
}
[data-theme="dark"] .contact-method {
    color: var(--ink);
    border-bottom-color: var(--blush-deep);
}
[data-theme="dark"] .contact-method:hover { background: var(--blush); }
[data-theme="dark"] .contact-hours {
    background: var(--blush);
    border-color: var(--blush-deep);
}
[data-theme="dark"] .map-wrap {
    border-color: var(--blush-deep);
    background: var(--blush);
}

/* Filtre sekmeleri */
[data-theme="dark"] .filter-tab {
    background: var(--white);
    border-color: var(--blush-deep);
    color: var(--ink-mid);
}
[data-theme="dark"] .filter-tab:hover {
    border-color: var(--rose);
    color: var(--rose);
}
[data-theme="dark"] .filter-tab.is-active {
    background: var(--rose);
    color: #fff;
    border-color: var(--rose);
}

/* Galeri kartları */
[data-theme="dark"] .tile {
    background: var(--white);
    border-color: var(--blush-deep);
}
[data-theme="dark"] .tile__link { background: var(--blush); }

/* Form alanları */
[data-theme="dark"] .field__input {
    background: var(--blush);
    border-color: var(--blush-deep);
    color: var(--ink);
}
[data-theme="dark"] .field__input:focus {
    background: var(--white);
    border-color: var(--rose);
}

/* Eski contact-card */
[data-theme="dark"] .contact-card,
[data-theme="dark"] .contact-form-wrap {
    background: var(--white);
    border-color: var(--blush-deep);
}
[data-theme="dark"] .contact-list li { border-bottom-color: var(--blush-deep); }
