/* ==========================================================================
   LOCAWORK · Modern Professional Design System
   ========================================================================== */

/* ---------- Reset & Base ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:'Plus Jakarta Sans','Inter',system-ui,-apple-system,sans-serif;
  font-size:16px;line-height:1.65;color:var(--text);background:var(--bg);
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden
}
img{max-width:100%;display:block;height:auto}
a{color:inherit;text-decoration:none;transition:color .25s ease}
button{font:inherit;cursor:pointer;border:0;background:none}
ul{list-style:none}

/* ---------- Tokens ---------- */
:root{
  --primary:#0d2840;          /* Derin lacivert - güven */
  --primary-light:#1c3d5a;
  --primary-dark:#081a2c;
  --accent:#d4923a;            /* Sıcak amber - sıcaklık */
  --accent-light:#e8a958;
  --accent-dark:#a86f1f;

  --text:#1a2233;
  --text-soft:#4a5568;
  --text-muted:#7e8896;
  --text-on-dark:#e7eaf0;

  --bg:#fdfcfa;
  --bg-soft:#f5f1ec;            /* sıcak krem */
  --bg-card:#ffffff;
  --bg-dark:#0d2840;

  --border:#e9e3d8;
  --border-soft:#f0ece4;

  --shadow-sm:0 1px 2px rgba(13,40,64,.05);
  --shadow:0 4px 16px rgba(13,40,64,.08);
  --shadow-lg:0 16px 48px rgba(13,40,64,.12);
  --shadow-xl:0 24px 64px rgba(13,40,64,.16);

  --radius-sm:6px;
  --radius:12px;
  --radius-lg:20px;
  --radius-xl:32px;

  --container:1240px;

  --display:'Fraunces','Playfair Display',serif;
  --font-display:'Fraunces','Playfair Display',serif; /* FIX: 12 yerde kullanılıyordu, tanımsızdı → başlıklar jenerik fonta düşüyordu */
  --primary-deep:#081a2c;                             /* FIX: page-hero arka planını kıran tanımsız değişken */
}

/* ---------- Typography ---------- */
h1,h2,h3,h4,h5,h6{
  font-family:var(--display);font-weight:600;color:var(--text);
  line-height:1.2;letter-spacing:-.02em
}
h1{font-size:clamp(2rem,5.4vw,3.75rem);font-weight:700}
h2{font-size:clamp(1.75rem,3.6vw,2.5rem)}
h3{font-size:clamp(1.25rem,2.4vw,1.5rem)}
h4{font-size:1.125rem;font-weight:700}
p{color:var(--text-soft)}
.lead{font-size:1.125rem;color:var(--text-soft);max-width:680px}

/* ---------- Layout ---------- */
.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 24px}
@media(max-width:640px){.container{padding:0 18px}}

section{padding:90px 0}
@media(max-width:768px){section{padding:60px 0}}

.section-head{text-align:center;max-width:720px;margin:0 auto 56px}
.section-head .eyebrow{display:inline-block;font-size:.8rem;text-transform:uppercase;letter-spacing:.18em;color:var(--accent);font-weight:600;margin-bottom:14px}
.section-head h2{margin-bottom:14px}
.section-head p{color:var(--text-soft)}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:14px 28px;border-radius:999px;font-weight:600;
  font-size:.95rem;letter-spacing:.01em;
  transition:all .25s cubic-bezier(.4,0,.2,1);
  cursor:pointer;border:1.5px solid transparent;white-space:nowrap
}
.btn svg{width:18px;height:18px}
.btn-primary{background:var(--primary);color:#fff}
.btn-primary:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.btn-accent{background:var(--accent);color:#fff}
.btn-accent:hover{background:var(--accent-dark);transform:translateY(-2px);box-shadow:0 12px 28px rgba(212,146,58,.35)}
.btn-outline{background:transparent;color:var(--primary);border-color:var(--primary)}
.btn-outline:hover{background:var(--primary);color:#fff;transform:translateY(-2px)}
.btn-ghost{background:transparent;color:var(--text)}
.btn-ghost:hover{background:var(--bg-soft)}
.btn-white{background:#fff;color:var(--primary)}
.btn-white:hover{background:var(--bg-soft);transform:translateY(-2px)}

/* ---------- Top Bar ---------- */
.topbar{background:var(--primary-dark);color:var(--text-on-dark);font-size:.85rem;padding:8px 0}
.topbar .container{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.topbar a{color:var(--text-on-dark);transition:color .2s}
.topbar a:hover{color:var(--accent-light)}
.topbar-info{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.topbar-info > *{display:inline-flex;align-items:center;gap:6px}
.topbar-info svg{width:14px;height:14px;color:var(--accent-light)}
.topbar-social{display:flex;gap:14px;align-items:center}
.topbar-social a{display:inline-flex;align-items:center;justify-content:center}
.topbar-social svg{width:14px;height:14px}
@media(max-width:768px){
  .topbar{padding:6px 0;font-size:.78rem}
  .topbar .container{justify-content:center;gap:10px}
  .topbar-info{font-size:.78rem;gap:14px;justify-content:center}
  .topbar-info > *:nth-child(n+2){display:none} /* sadece telefon kalsın */
  .topbar-social{gap:10px}
  .topbar-social svg{width:13px;height:13px}
}
@media(max-width:480px){
  .topbar-social{display:none}
}

/* ---------- Header / Navigation ---------- */
.site-header{
  position:sticky;top:0;z-index:90;background:rgba(255,255,255,.92);
  backdrop-filter:saturate(150%) blur(12px);
  -webkit-backdrop-filter:saturate(150%) blur(12px);
  border-bottom:1px solid var(--border-soft);
  transition:box-shadow .25s
}
.site-header.scrolled{box-shadow:var(--shadow)}
.nav{display:flex;align-items:center;justify-content:space-between;padding:16px 0;gap:24px}
.brand{display:flex;align-items:center;gap:12px;font-family:var(--display);font-weight:700;font-size:1.4rem;color:var(--primary);flex-shrink:0}
.brand img{max-height:48px;height:auto;width:auto;display:block}
.brand-mark{
  width:42px;height:42px;border-radius:12px;
  background:linear-gradient(135deg,var(--primary),var(--primary-light));
  color:#fff;display:flex;align-items:center;justify-content:center;
  font-family:var(--display);font-size:1.3rem;font-weight:700;
  box-shadow:0 6px 18px rgba(13,40,64,.18)
}
.brand small{display:block;font-family:'Plus Jakarta Sans',sans-serif;font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-weight:600;margin-top:2px}

.nav-menu{display:flex;align-items:center;gap:2px;flex-wrap:nowrap}
.nav-menu a{
  padding:10px 14px;border-radius:10px;font-weight:500;
  color:var(--text);font-size:.95rem;white-space:nowrap;
  transition:all .2s;position:relative
}
.nav-menu a:hover{background:var(--bg-soft);color:var(--primary)}
.nav-menu a.active{color:var(--primary);background:transparent;font-weight:600}
.nav-menu a.active::after{
  content:'';position:absolute;left:14px;right:14px;bottom:4px;
  height:2px;background:var(--accent);border-radius:2px
}
.nav-cta{display:flex;align-items:center;gap:10px;flex-shrink:0}

.menu-toggle{display:none;width:44px;height:44px;border-radius:12px;align-items:center;justify-content:center;color:var(--primary);background:var(--bg-soft)}

@media(max-width:1024px){
  .nav{padding:12px 0;gap:10px}
  .nav-menu{
    position:fixed;top:0;right:-100%;width:min(360px,85%);height:100vh;
    background:#fff;flex-direction:column;align-items:stretch;
    padding:80px 24px 24px;gap:4px;transition:right .35s cubic-bezier(.4,0,.2,1);
    box-shadow:-12px 0 48px rgba(13,40,64,.18);overflow-y:auto;
    /* z-index: cookie consent (1050) ve site-search-overlay (1100) üstünde olmalı */
    z-index:1200
  }
  .nav-menu.open{right:0}
  .nav-menu a{
    padding:14px 18px;border-radius:12px;font-size:1rem;white-space:normal;
    position:relative;z-index:2;pointer-events:auto;
    display:block;text-decoration:none
  }
  .nav-menu a.active{background:var(--bg-soft)}
  .nav-menu a.active::after{display:none}
  .menu-toggle{display:inline-flex}
  .nav-cta .btn:not(.btn-accent){display:none}
  .menu-overlay{
    position:fixed;inset:0;background:rgba(13,40,64,.5);
    opacity:0;pointer-events:none;transition:opacity .25s;
    z-index:1199
  }
  .menu-overlay.open{opacity:1;pointer-events:auto}
  .menu-close{
    position:absolute;top:18px;right:18px;width:44px;height:44px;
    border-radius:12px;background:var(--bg-soft);color:var(--primary);
    display:flex;align-items:center;justify-content:center;border:0;cursor:pointer;
    z-index:3
  }
  /* Menü açıkken cookie consent banner'ı geçici gizle (üstüne çıkmasın) */
  body.menu-open .cookie-consent{display:none}
}
@media(min-width:1025px){.menu-close{display:none}}

/* Mobil header kompakt */
@media(max-width:768px){
  .nav{padding:10px 0;gap:8px}
  .brand img{max-height:38px}
  .nav-cta{gap:6px}
  .search-toggle{width:38px;height:38px}
  .search-toggle svg{width:16px;height:16px}
  .menu-toggle{width:40px;height:40px}
}
@media(max-width:480px){
  .container{padding:0 14px}
  .nav{gap:6px}
  .brand img{max-height:34px}
  /* Rezervasyon butonu: sadece icon, "Rezervasyon" yazısı gizli */
  .nav-cta .btn-accent{padding:9px 11px;font-size:0;gap:0}
  .nav-cta .btn-accent svg{width:18px;height:18px;margin:0}
  .search-toggle{width:36px;height:36px}
  .menu-toggle{width:38px;height:38px}
}

/* ---------- Hero ---------- */
.hero{
  position:relative;padding:80px 0 100px;
  background:
    radial-gradient(ellipse 80% 50% at 80% 30%, rgba(212,146,58,.10), transparent 60%),
    radial-gradient(ellipse 70% 60% at 10% 80%, rgba(13,40,64,.06), transparent 60%),
    linear-gradient(180deg,#fdfcfa 0%,#f5f1ec 100%);
  overflow:hidden
}
.hero::before{
  content:'';position:absolute;top:-200px;right:-200px;width:600px;height:600px;
  background:radial-gradient(circle,rgba(212,146,58,.08),transparent 70%);
  border-radius:50%;pointer-events:none
}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center;position:relative;z-index:1}
@media(max-width:1024px){.hero-grid{grid-template-columns:1fr;gap:48px}}

.hero-eyebrow{
  display:inline-flex;align-items:center;gap:8px;padding:8px 16px;
  background:rgba(212,146,58,.12);color:var(--accent-dark);
  border-radius:999px;font-size:.85rem;font-weight:600;letter-spacing:.02em;margin-bottom:24px
}
.hero-eyebrow::before{content:'';width:6px;height:6px;background:var(--accent);border-radius:50%}

.hero h1{margin-bottom:20px}
.hero h1 em{font-style:italic;color:var(--accent);font-family:var(--display)}
.hero-text{font-size:1.125rem;color:var(--text-soft);margin-bottom:32px;max-width:540px}

.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:40px}

.hero-stats{display:flex;gap:32px;padding-top:32px;border-top:1px solid var(--border)}
.hero-stat .num{font-family:var(--display);font-size:1.75rem;font-weight:700;color:var(--primary);display:block}
.hero-stat .lbl{font-size:.85rem;color:var(--text-muted);font-weight:500}

.hero-visual{position:relative}
.hero-visual-main{
  border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-xl);
  aspect-ratio:4/5;background:linear-gradient(135deg,#1c3d5a,#0d2840);position:relative
}
.hero-visual-main img{width:100%;height:100%;object-fit:cover}
.hero-visual-card{
  position:absolute;background:#fff;border-radius:var(--radius-lg);
  padding:18px 22px;box-shadow:var(--shadow-xl);display:flex;align-items:center;gap:14px
}
.hero-visual-card.top{top:32px;left:-32px}
.hero-visual-card.bottom{bottom:32px;right:-32px}
.hero-visual-card .ic{
  width:48px;height:48px;border-radius:14px;background:var(--bg-soft);
  display:flex;align-items:center;justify-content:center;color:var(--accent);flex-shrink:0
}
.hero-visual-card .tt{font-weight:700;color:var(--primary);font-size:.95rem;line-height:1.2;display:block}
.hero-visual-card .sb{font-size:.78rem;color:var(--text-muted);display:block;margin-top:2px}
@media(max-width:1024px){.hero-visual-card.top{left:8px}.hero-visual-card.bottom{right:8px}}

/* ---------- Logo Strip ---------- */
.logo-strip{padding:50px 0;border-bottom:1px solid var(--border-soft);background:#fff}
.logo-strip-inner{display:flex;align-items:center;gap:48px;flex-wrap:wrap;justify-content:center;opacity:.6}
.logo-strip-inner span{font-family:var(--display);color:var(--text-muted);font-size:1.2rem;font-weight:600}

/* ---------- Features Grid ---------- */
.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px}
.feature{
  padding:28px;border-radius:var(--radius-lg);background:#fff;
  border:1px solid var(--border-soft);transition:all .3s
}
.feature:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--accent)}
.feature .ic{
  width:56px;height:56px;border-radius:16px;
  background:linear-gradient(135deg,rgba(212,146,58,.15),rgba(212,146,58,.05));
  color:var(--accent);display:flex;align-items:center;justify-content:center;margin-bottom:18px
}
.feature h4{margin-bottom:8px;font-family:var(--display);color:var(--primary)}
.feature p{font-size:.95rem}

/* ---------- Service Cards ---------- */
.services-section{background:var(--bg-soft);position:relative;overflow:hidden}
.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:28px}
.service-card{
  background:#fff;border-radius:var(--radius-lg);overflow:hidden;
  box-shadow:var(--shadow-sm);transition:all .3s;display:flex;flex-direction:column;
  border:1px solid var(--border-soft)
}
.service-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-xl)}
.service-card-img{aspect-ratio:16/10;overflow:hidden;background:linear-gradient(135deg,#1c3d5a,#0d2840);position:relative}
.service-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.service-card:hover .service-card-img img{transform:scale(1.05)}
.service-card-img .badge{
  position:absolute;top:14px;left:14px;background:rgba(255,255,255,.95);
  color:var(--primary);font-size:.75rem;font-weight:700;
  padding:6px 12px;border-radius:999px;letter-spacing:.04em;text-transform:uppercase
}
.service-card-img .ic-fallback{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  color:rgba(255,255,255,.3)
}
.service-card-body{padding:28px;flex:1;display:flex;flex-direction:column}
.service-card-body h3{font-size:1.3rem;margin-bottom:10px;color:var(--primary)}
.service-card-body p{font-size:.95rem;margin-bottom:20px;flex:1}
.service-meta{display:flex;gap:16px;font-size:.8rem;color:var(--text-muted);margin-bottom:20px;flex-wrap:wrap}
.service-meta span{display:inline-flex;align-items:center;gap:5px}
.service-meta svg{width:14px;height:14px;color:var(--accent)}
.service-card-foot{display:flex;align-items:center;justify-content:space-between;padding-top:18px;border-top:1px solid var(--border-soft)}
.service-price{display:flex;flex-direction:column}
.service-price .from{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);font-weight:600}
.service-price .price{font-family:var(--display);font-size:1.4rem;font-weight:700;color:var(--accent);line-height:1}
.service-price .price small{font-size:.8rem;color:var(--text-muted);font-weight:500;font-family:'Plus Jakarta Sans',sans-serif}
.service-card-foot a{display:inline-flex;align-items:center;gap:6px;color:var(--primary);font-weight:600;font-size:.9rem}
.service-card-foot a:hover{color:var(--accent)}
.service-card-foot a svg{width:16px;height:16px;transition:transform .25s}
.service-card-foot a:hover svg{transform:translateX(3px)}

/* ---------- About Block ---------- */
.about-block{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
@media(max-width:1024px){.about-block{grid-template-columns:1fr;gap:40px}}
.about-img{position:relative;border-radius:var(--radius-xl);overflow:hidden;aspect-ratio:5/6;box-shadow:var(--shadow-xl)}
.about-img img{width:100%;height:100%;object-fit:cover}
.about-img-stat{
  position:absolute;bottom:24px;left:24px;background:#fff;
  padding:20px 24px;border-radius:var(--radius);box-shadow:var(--shadow-lg)
}
.about-img-stat .num{font-family:var(--display);font-size:2rem;color:var(--accent);font-weight:700;line-height:1}
.about-img-stat .lbl{font-size:.8rem;color:var(--text-muted);font-weight:500}
.about-content .eyebrow{display:inline-block;font-size:.8rem;text-transform:uppercase;letter-spacing:.18em;color:var(--accent);font-weight:600;margin-bottom:14px}
.about-content h2{margin-bottom:20px}
.about-content .lead{margin-bottom:24px}
.about-list{display:grid;gap:14px;margin-bottom:30px}
.about-list li{display:flex;gap:12px;align-items:flex-start;font-size:.95rem;color:var(--text-soft)}
.about-list li svg{width:20px;height:20px;color:var(--accent);margin-top:2px;flex-shrink:0}

/* ---------- Stats ---------- */
.stats-section{background:var(--primary);color:#fff;padding:80px 0}
.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:32px;text-align:center}
.stat-num{font-family:var(--display);font-size:3rem;font-weight:700;color:var(--accent-light);line-height:1;margin-bottom:8px}
.stat-lbl{font-size:.95rem;color:var(--text-on-dark);opacity:.9}

/* ---------- Testimonials ---------- */
.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}
.testimonial{
  background:#fff;border-radius:var(--radius-lg);padding:32px;
  border:1px solid var(--border-soft);transition:all .3s;position:relative
}
.testimonial:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.testimonial::before{content:'"';position:absolute;top:14px;right:24px;font-family:var(--display);font-size:5rem;color:var(--accent);opacity:.2;line-height:1}
.testimonial-stars{color:var(--accent);display:flex;gap:2px;margin-bottom:14px}
.testimonial-stars svg{width:18px;height:18px;fill:currentColor}
.testimonial p{font-size:1rem;color:var(--text);line-height:1.7;margin-bottom:20px;position:relative;z-index:1}
.testimonial-author{display:flex;align-items:center;gap:12px;padding-top:18px;border-top:1px solid var(--border-soft)}
.testimonial-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--accent-light),var(--accent));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:1.1rem;flex-shrink:0}
.testimonial-author .name{font-weight:700;color:var(--primary);font-size:.95rem;display:block}
.testimonial-author .role{font-size:.82rem;color:var(--text-muted);display:block}

/* ---------- FAQ ---------- */
.faq-list{max-width:820px;margin:0 auto;display:grid;gap:14px}
.faq-item{background:#fff;border-radius:var(--radius);border:1px solid var(--border-soft);overflow:hidden;transition:all .25s}
.faq-item.open{box-shadow:var(--shadow);border-color:var(--accent)}
.faq-q{
  width:100%;padding:22px 26px;text-align:left;display:flex;
  justify-content:space-between;align-items:center;gap:18px;
  font-weight:600;color:var(--primary);font-size:1rem
}
.faq-q svg{flex-shrink:0;transition:transform .25s;color:var(--accent)}
.faq-item.open .faq-q svg{transform:rotate(180deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease;padding:0 26px}
.faq-item.open .faq-a{max-height:400px;padding-bottom:22px}
.faq-a p{color:var(--text-soft);font-size:.95rem}

/* ---------- CTA Banner ---------- */
.cta-banner{
  background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);
  border-radius:var(--radius-xl);padding:60px;color:#fff;
  display:grid;grid-template-columns:1.4fr 1fr;gap:32px;align-items:center;
  position:relative;overflow:hidden
}
.cta-banner::before{
  content:'';position:absolute;top:-100px;right:-100px;width:400px;height:400px;
  background:radial-gradient(circle,rgba(212,146,58,.25),transparent 70%);
  border-radius:50%
}
.cta-banner > *{position:relative;z-index:1}
.cta-banner h2{color:#fff;margin-bottom:12px}
.cta-banner p{color:rgba(255,255,255,.85)}
.cta-banner-actions{display:flex;gap:14px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:768px){.cta-banner{padding:40px 24px;grid-template-columns:1fr;text-align:center}.cta-banner-actions{justify-content:center}}

/* ---------- Blog Cards ---------- */
.blog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:28px}
.blog-card{
  background:#fff;border-radius:var(--radius-lg);overflow:hidden;
  border:1px solid var(--border-soft);transition:all .3s;display:flex;flex-direction:column
}
.blog-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.blog-img{aspect-ratio:16/10;overflow:hidden;background:var(--bg-soft);position:relative}
.blog-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.blog-card:hover .blog-img img{transform:scale(1.05)}
.blog-img .ic-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--accent);opacity:.4}
.blog-body{padding:26px;flex:1;display:flex;flex-direction:column}
.blog-meta{display:flex;gap:14px;font-size:.78rem;color:var(--text-muted);margin-bottom:12px;align-items:center;flex-wrap:wrap}
.blog-cat{background:rgba(212,146,58,.12);color:var(--accent-dark);padding:4px 10px;border-radius:999px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:.7rem}
.blog-card h3{font-size:1.2rem;line-height:1.35;margin-bottom:10px;color:var(--primary)}
.blog-card h3 a:hover{color:var(--accent)}
.blog-card .excerpt{font-size:.92rem;color:var(--text-soft);margin-bottom:18px;flex:1}
.blog-readmore{display:inline-flex;align-items:center;gap:6px;color:var(--accent);font-weight:600;font-size:.9rem}
.blog-readmore svg{width:16px;height:16px;transition:transform .25s}
.blog-readmore:hover svg{transform:translateX(3px)}

/* ---------- Page Header (inner pages) ---------- */
.page-header{
  background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);
  color:#fff;padding:80px 0 90px;text-align:center;position:relative;overflow:hidden
}
.page-header::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at 70% 0%,rgba(212,146,58,.18),transparent 60%);
  pointer-events:none
}
.page-header > .container{position:relative;z-index:1}
.page-header h1{color:#fff;margin-bottom:14px}
.page-header p{color:rgba(255,255,255,.85);max-width:680px;margin:0 auto}
.breadcrumb{display:inline-flex;gap:8px;align-items:center;margin-bottom:18px;font-size:.85rem;color:rgba(255,255,255,.7)}
.breadcrumb a:hover{color:var(--accent-light)}
.breadcrumb svg{width:14px;height:14px;opacity:.6}

/* ---------- Forms ---------- */
.form-group{margin-bottom:18px}
.form-group label{display:block;font-weight:600;color:var(--primary);font-size:.9rem;margin-bottom:8px}
.form-control,.form-select,textarea.form-control{
  width:100%;padding:14px 18px;border:1.5px solid var(--border);
  border-radius:var(--radius);font-size:.95rem;font-family:inherit;
  background:#fff;color:var(--text);transition:all .2s
}
.form-control:focus,.form-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px rgba(212,146,58,.1)}
textarea.form-control{min-height:140px;resize:vertical}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:640px){.form-row{grid-template-columns:1fr}}

.alert{padding:14px 18px;border-radius:var(--radius);margin-bottom:18px;font-size:.92rem;border-left:4px solid}
.alert-success{background:#e8f7ec;border-color:#16a34a;color:#15803d}
.alert-error{background:#fdecec;border-color:#dc2626;color:#b91c1c}
.alert-info{background:#e8f1fb;border-color:#2563eb;color:#1d4ed8}
.alert-warning{background:#fef5e7;border-color:#d4923a;color:#a86f1f}

/* ---------- Contact ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:48px;align-items:start}
@media(max-width:1024px){.contact-grid{grid-template-columns:1fr}}
.contact-info{display:grid;gap:18px}
.contact-info-item{
  display:flex;gap:16px;padding:22px;background:#fff;border-radius:var(--radius);
  border:1px solid var(--border-soft);transition:all .25s
}
.contact-info-item:hover{border-color:var(--accent);box-shadow:var(--shadow)}
.contact-info-item .ic{
  width:48px;height:48px;border-radius:14px;flex-shrink:0;
  background:linear-gradient(135deg,rgba(212,146,58,.15),rgba(212,146,58,.05));
  color:var(--accent);display:flex;align-items:center;justify-content:center
}
.contact-info-item h4{font-size:.95rem;color:var(--primary);margin-bottom:4px;font-family:'Plus Jakarta Sans',sans-serif;font-weight:700}
.contact-info-item p,.contact-info-item a{color:var(--text-soft);font-size:.92rem;line-height:1.5}
.contact-info-item a:hover{color:var(--accent)}

.contact-form{background:#fff;border-radius:var(--radius-lg);padding:36px;border:1px solid var(--border-soft);box-shadow:var(--shadow-sm)}
@media(max-width:640px){.contact-form{padding:24px}}

.map-wrap{margin-top:0;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);height:420px}
.map-wrap iframe{width:100%;height:100%;border:0}

/* ---------- Gallery ---------- */
.gallery-filters{display:flex;gap:10px;justify-content:center;margin-bottom:36px;flex-wrap:wrap}
.gallery-filter{
  padding:10px 20px;border-radius:999px;background:#fff;color:var(--text);
  font-weight:600;font-size:.9rem;border:1.5px solid var(--border);transition:all .2s
}
.gallery-filter.active,.gallery-filter:hover{background:var(--primary);color:#fff;border-color:var(--primary)}
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.gallery-item{
  border-radius:var(--radius);overflow:hidden;aspect-ratio:1;
  background:var(--bg-soft);cursor:pointer;position:relative;transition:transform .3s
}
.gallery-item:hover{transform:scale(1.02)}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.gallery-item:hover img{transform:scale(1.05)}
.gallery-item-overlay{
  position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(13,40,64,.8) 100%);
  display:flex;align-items:flex-end;padding:18px;opacity:0;transition:opacity .25s
}
.gallery-item:hover .gallery-item-overlay{opacity:1}
.gallery-item-overlay span{color:#fff;font-weight:600;font-size:.95rem}

/* Lightbox */
.lightbox{position:fixed;inset:0;background:rgba(13,40,64,.92);z-index:200;display:none;align-items:center;justify-content:center;padding:20px}
.lightbox.open{display:flex}
.lightbox img{max-width:90vw;max-height:90vh;border-radius:var(--radius);box-shadow:var(--shadow-xl)}
.lightbox-close{position:absolute;top:24px;right:24px;width:48px;height:48px;border-radius:50%;background:#fff;color:var(--primary);display:flex;align-items:center;justify-content:center}

/* ---------- Service Detail ---------- */
.service-detail-grid{display:grid;grid-template-columns:1.4fr .9fr;gap:48px;align-items:start}
@media(max-width:1024px){.service-detail-grid{grid-template-columns:1fr}}
.service-detail-img{border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:16/10;background:var(--bg-soft);box-shadow:var(--shadow);margin-bottom:32px}
.service-detail-img img{width:100%;height:100%;object-fit:cover}
.service-content h2,.service-content h3{margin-top:32px;margin-bottom:14px;color:var(--primary)}
.service-content p{margin-bottom:14px;line-height:1.75}
.service-content ul{margin:14px 0 18px 22px}
.service-content ul li{list-style:disc;margin-bottom:6px;color:var(--text-soft)}
.service-features{
  background:linear-gradient(135deg,rgba(212,146,58,.06),rgba(13,40,64,.03));
  border-radius:var(--radius-lg);padding:32px;margin-top:24px;
  border:1px solid var(--border-soft)
}
.service-features h3{margin-top:0!important;margin-bottom:18px;font-size:1.2rem}
.service-features ul{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0;list-style:none}
.service-features ul li{display:flex;gap:10px;font-size:.92rem;color:var(--text);align-items:flex-start;list-style:none}
.service-features ul li svg{color:var(--accent);flex-shrink:0;margin-top:2px}
@media(max-width:640px){.service-features ul{grid-template-columns:1fr}}

.service-sidebar{position:sticky;top:100px}
.service-price-card{
  background:#fff;border-radius:var(--radius-lg);padding:32px;
  border:1px solid var(--border-soft);box-shadow:var(--shadow);margin-bottom:24px
}
.service-price-card .from{font-size:.7rem;text-transform:uppercase;letter-spacing:.15em;color:var(--text-muted);font-weight:700}
.service-price-card .price{font-family:var(--display);font-size:2.4rem;color:var(--accent);font-weight:700;line-height:1}
.service-price-card .price small{font-size:1rem;color:var(--text-muted);font-weight:500;font-family:'Plus Jakarta Sans',sans-serif}
.service-price-card .meta{display:grid;gap:12px;margin:24px 0;padding:20px 0;border-top:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft)}
.service-price-card .meta-row{display:flex;justify-content:space-between;font-size:.9rem}
.service-price-card .meta-row span:first-child{color:var(--text-muted)}
.service-price-card .meta-row span:last-child{color:var(--primary);font-weight:600}
.service-price-card .btn{width:100%;justify-content:center}

/* ---------- Footer ---------- */
.site-footer{background:var(--primary-dark);color:var(--text-on-dark);padding:80px 0 0;margin-top:80px}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:48px;margin-bottom:48px}
@media(max-width:1024px){.footer-grid{grid-template-columns:1fr 1fr;gap:36px}}
@media(max-width:640px){.footer-grid{grid-template-columns:1fr;gap:32px}}

.footer-col h5{
  color:#fff;font-family:'Plus Jakarta Sans',sans-serif;font-size:.85rem;
  text-transform:uppercase;letter-spacing:.16em;font-weight:700;margin-bottom:22px;
  position:relative;padding-bottom:10px
}
.footer-col h5::after{content:'';position:absolute;bottom:0;left:0;width:32px;height:2px;background:var(--accent)}
.footer-col p,.footer-col a{color:rgba(231,234,240,.7);font-size:.92rem;line-height:1.7}
.footer-col a:hover{color:var(--accent-light)}
.footer-col ul li{margin-bottom:10px}
.footer-col ul li a{display:inline-flex;align-items:center;gap:6px}
.footer-brand p{margin:18px 0 24px;max-width:340px}
.footer-contact{display:grid;gap:14px;font-size:.92rem}
.footer-contact-item{display:flex;gap:12px;align-items:flex-start}
.footer-contact-item svg{color:var(--accent-light);flex-shrink:0;margin-top:2px}
.footer-newsletter{background:rgba(255,255,255,.04);border-radius:var(--radius);padding:20px}
.footer-newsletter form{display:flex;gap:8px;margin-top:14px}
.footer-newsletter input{
  flex:1;padding:12px 14px;background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-sm);
  color:#fff;font-size:.9rem
}
.footer-newsletter input::placeholder{color:rgba(231,234,240,.5)}
.footer-newsletter input:focus{outline:none;border-color:var(--accent)}
.footer-newsletter button{padding:12px 18px;background:var(--accent);color:#fff;border-radius:var(--radius-sm);font-weight:600;font-size:.9rem;display:inline-flex;align-items:center;justify-content:center}
.footer-newsletter button:hover{background:var(--accent-dark)}

.footer-social{display:flex;gap:10px;margin-top:18px}
.footer-social a{
  width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.06);
  display:flex;align-items:center;justify-content:center;transition:all .25s
}
.footer-social a:hover{background:var(--accent);color:#fff;transform:translateY(-2px)}
.footer-social svg{width:18px;height:18px}

.footer-bottom{
  border-top:1px solid rgba(255,255,255,.08);padding:24px 0;
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;
  font-size:.85rem;color:rgba(231,234,240,.55)
}
.footer-bottom-links{display:flex;gap:24px;flex-wrap:wrap}

/* ---------- Floating WhatsApp ---------- */
.whatsapp-float{
  position:fixed;bottom:24px;right:24px;width:60px;height:60px;border-radius:50%;
  background:#25d366;color:#fff;display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 24px rgba(37,211,102,.4);z-index:80;transition:transform .25s
}
.whatsapp-float:hover{transform:scale(1.08)}
.whatsapp-float svg{width:30px;height:30px}

/* ---------- Pagination ---------- */
.pagination{display:flex;justify-content:center;gap:8px;margin-top:48px;flex-wrap:wrap}
.pagination a,.pagination span{
  padding:10px 16px;border-radius:var(--radius-sm);background:#fff;
  border:1px solid var(--border-soft);color:var(--text);font-weight:600;font-size:.9rem
}
.pagination a:hover,.pagination .current{background:var(--primary);color:#fff;border-color:var(--primary)}

/* ============================================================
   A11Y — Accessibility iyileştirmeleri
   ============================================================ */
/* Skip Link — klavye kullanıcıları için */
.skip-link{
  position:absolute;top:-100px;left:0;z-index:10000;
  background:var(--primary);color:#fff;padding:12px 20px;
  text-decoration:none;font-weight:600;border-radius:0 0 8px 0;
  transition:top .2s
}
.skip-link:focus{top:0;outline:3px solid var(--accent);outline-offset:2px}

/* Focus indicators — keyboard navigation */
a:focus-visible,button:focus-visible,input:focus-visible,
textarea:focus-visible,select:focus-visible,details:focus-visible{
  outline:3px solid var(--accent);outline-offset:2px;border-radius:4px
}
.btn:focus-visible{outline-offset:3px}

/* Screen reader only */
.sr-only{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0
}

/* ============================================================
   FLOATING ACTIONS — WhatsApp + Phone (desktop & tablet)
   ============================================================ */
.floating-actions{
  position:fixed;bottom:24px;right:24px;z-index:90;
  display:flex;flex-direction:column;gap:12px
}
.whatsapp-float,.phone-float{
  width:60px;height:60px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.2);
  transition:transform .2s,box-shadow .2s;position:relative
}
.whatsapp-float{background:#25d366}
.phone-float{background:var(--primary)}
.whatsapp-float:hover,.phone-float:hover{
  transform:translateY(-3px);box-shadow:0 12px 30px rgba(0,0,0,.28)
}
.whatsapp-float::before,.phone-float::before{
  content:'';position:absolute;inset:-4px;border-radius:50%;
  border:3px solid currentColor;opacity:.3;animation:pulse 2s infinite
}
@keyframes pulse{
  0%{transform:scale(1);opacity:.3}
  100%{transform:scale(1.4);opacity:0}
}

/* Mobile (≤640px): floating action küçülür, mobile sticky CTA görünür */
@media(max-width:640px){
  .floating-actions{bottom:80px;right:14px;gap:8px}
  .whatsapp-float,.phone-float{width:50px;height:50px}
  .whatsapp-float svg,.phone-float svg{width:24px;height:24px}
  .phone-float{display:none} /* mobile sticky bar'da zaten ara butonu var */
}

/* ============================================================
   MOBILE STICKY CTA BAR — sadece mobilde alttan sabit
   ============================================================ */
.mobile-sticky-cta{
  display:none;position:fixed;bottom:0;left:0;right:0;z-index:88;
  background:#fff;border-top:1px solid var(--border);
  box-shadow:0 -4px 20px rgba(13,40,64,.08);
  padding:8px 6px;gap:6px
}
.msc-btn{
  flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:2px;padding:8px 4px;border-radius:10px;font-size:.7rem;font-weight:600;
  color:var(--primary);text-decoration:none;text-align:center;line-height:1.2
}
.msc-btn svg{width:18px;height:18px}
.msc-btn:hover{background:var(--bg-soft)}
.msc-call{color:var(--primary)}
.msc-wa{color:#25d366}
.msc-book{color:#fff;background:var(--accent)}
.msc-book svg{stroke:#fff}
@media(max-width:640px){
  .mobile-sticky-cta{display:flex}
  /* Body bottom padding ki sticky bar içeriği kapatmasın */
  body{padding-bottom:64px}
  /* WhatsApp float button mobilde üstte */
  .floating-actions{bottom:74px}
}

/* ============================================================
   AI REZERVASYON ASİSTANI — Chat Widget
   ============================================================ */
.ai-assistant{position:fixed;bottom:24px;left:24px;z-index:95;font-family:inherit}
@media(max-width:640px){.ai-assistant{bottom:80px;left:14px}}

.ai-bubble{
    width:60px;height:60px;border-radius:50%;
    background:linear-gradient(135deg,#0d2840,#1a3a5c);
    color:#fff;border:0;cursor:pointer;
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 10px 30px rgba(13,40,64,.25);
    transition:transform .2s,box-shadow .2s;position:relative
}
.ai-bubble:hover{transform:scale(1.05);box-shadow:0 12px 36px rgba(13,40,64,.32)}
.ai-bubble-badge{
    position:absolute;top:-4px;right:-4px;
    background:#d4923a;color:#fff;font-size:10px;font-weight:700;
    padding:3px 7px;border-radius:99px;line-height:1;
    box-shadow:0 2px 6px rgba(212,146,58,.4)
}
.ai-bubble::before{
    content:'';position:absolute;inset:-4px;border-radius:50%;
    border:3px solid #0d2840;opacity:.2;animation:aiPulse 2s infinite
}
@keyframes aiPulse{0%{transform:scale(1);opacity:.3}100%{transform:scale(1.4);opacity:0}}
@media(max-width:640px){.ai-bubble{width:52px;height:52px}.ai-bubble svg{width:24px;height:24px}}

.ai-panel{
    position:absolute;bottom:74px;left:0;
    width:360px;max-width:calc(100vw - 28px);height:520px;max-height:calc(100vh - 120px);
    background:#fff;border-radius:18px;box-shadow:0 20px 60px rgba(13,40,64,.2);
    display:none;flex-direction:column;overflow:hidden;
    border:1px solid #e2e8f0
}
.ai-panel.open{display:flex;animation:aiSlideUp .3s ease-out}
@keyframes aiSlideUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}

.ai-header{
    background:linear-gradient(135deg,#0d2840,#1a3a5c);
    color:#fff;padding:14px 16px;
    display:flex;align-items:center;gap:12px
}
.ai-header-avatar{
    width:40px;height:40px;border-radius:50%;
    background:rgba(255,255,255,.15);
    display:flex;align-items:center;justify-content:center;font-size:22px
}
.ai-header-info{flex:1}
.ai-header-info strong{display:block;font-size:14px}
.ai-header-info small{display:flex;align-items:center;gap:5px;color:rgba(255,255,255,.7);font-size:11px;margin-top:2px}
.ai-status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#10b981;animation:aiBlink 1.5s infinite}
@keyframes aiBlink{0%,100%{opacity:1}50%{opacity:.5}}
.ai-close{background:transparent;border:0;color:#fff;font-size:28px;cursor:pointer;line-height:1;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:background .15s}
.ai-close:hover{background:rgba(255,255,255,.15)}

.ai-messages{
    flex:1;overflow-y:auto;padding:16px;
    display:flex;flex-direction:column;gap:10px;
    background:#f8fafc
}
.ai-msg{max-width:80%;padding:10px 14px;border-radius:14px;font-size:14px;line-height:1.5;word-wrap:break-word}
.ai-msg-bot{background:#fff;color:#0d2840;border:1px solid #e2e8f0;align-self:flex-start;border-bottom-left-radius:4px}
.ai-msg-user{background:#0d2840;color:#fff;align-self:flex-end;border-bottom-right-radius:4px}
.ai-msg strong{font-weight:700}
.ai-msg-typing{display:flex;gap:3px;padding:14px}
.ai-msg-typing span{width:7px;height:7px;border-radius:50%;background:#94a3b8;animation:aiTyping 1.2s infinite}
.ai-msg-typing span:nth-child(2){animation-delay:.2s}
.ai-msg-typing span:nth-child(3){animation-delay:.4s}
@keyframes aiTyping{0%,80%,100%{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}

.ai-quick-replies{
    display:flex;flex-wrap:wrap;gap:6px;padding:0 12px 8px;
    background:#f8fafc;border-top:1px solid #e2e8f0
}
.ai-qr-btn{
    background:#fff;border:1px solid #cbd5e1;border-radius:99px;
    padding:7px 14px;font-size:12px;font-weight:600;color:#0d2840;
    cursor:pointer;transition:all .15s
}
.ai-qr-btn:hover{background:#0d2840;color:#fff;border-color:#0d2840}

.ai-input-form{
    display:flex;gap:8px;padding:12px;
    background:#fff;border-top:1px solid #e2e8f0
}
.ai-input-form input{
    flex:1;border:1px solid #cbd5e1;border-radius:99px;
    padding:10px 16px;font-size:14px;outline:none
}
.ai-input-form input:focus{border-color:#0d2840}
.ai-input-form button{
    background:#d4923a;color:#fff;border:0;cursor:pointer;
    width:40px;height:40px;border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    transition:transform .15s
}
.ai-input-form button:hover{transform:scale(1.05)}

@media(max-width:640px){
    .ai-panel{
        position:fixed;bottom:0;left:0;right:0;top:0;
        width:100vw;height:100vh;max-height:none;border-radius:0
    }
}

/* ============================================================
   EXIT-INTENT POPUP
   ============================================================ */
.exit-popup{
  position:fixed;inset:0;background:rgba(13,40,64,.85);
  backdrop-filter:blur(8px);z-index:1300;
  display:none;align-items:center;justify-content:center;padding:20px
}
.exit-popup.open{display:flex;animation:fadeIn .25s ease-out}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.exit-popup-inner{
  background:#fff;border-radius:20px;padding:36px 32px;
  max-width:460px;width:100%;text-align:center;position:relative;
  box-shadow:0 30px 80px rgba(0,0,0,.4)
}
.exit-popup-close{
  position:absolute;top:14px;right:14px;
  width:36px;height:36px;border-radius:50%;
  background:var(--bg-soft);border:0;cursor:pointer;
  font-size:24px;color:var(--text);line-height:1
}
.exit-popup-close:hover{background:#fee2e2;color:#dc2626}
.exit-popup-icon{
  width:80px;height:80px;border-radius:50%;
  background:linear-gradient(135deg,var(--accent),#f59e0b);
  color:#fff;display:flex;align-items:center;justify-content:center;
  margin:0 auto 20px
}
.exit-popup h3{margin:0 0 12px;font-size:1.6rem;color:var(--primary)}
.exit-popup p{margin:0 0 20px;color:var(--text);line-height:1.6}
.exit-popup-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}

/* ---------- Animations ---------- */
@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes revealFallback{to{opacity:1;transform:translateY(0)}}
/* Reveal: önce gizli, ama JS başarısız olursa 1.2s sonra otomatik göster (progressive enhancement) */
.reveal{opacity:0;animation:revealFallback .01s 1.2s forwards}
.reveal.visible{animation:fadeUp .7s cubic-bezier(.4,0,.2,1) forwards}
/* Hareket azaltma tercihi: hemen göster, animasyon yok */
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;animation:none}}
/* JS hiç çalışmadıysa (noscript) anında göster */
.no-js .reveal{opacity:1;animation:none}

/* ---------- Mobile fixes ---------- */
@media(max-width:640px){
  .hero{padding:50px 0 60px}
  .hero-stats{gap:18px;flex-wrap:wrap}
  .hero-stat{flex:1;min-width:90px}
  .hero-visual-card{padding:12px 16px}
  .hero-visual-card .ic{width:36px;height:36px}
  .hero-visual-card .tt{font-size:.8rem}
  .hero-visual-card .sb{font-size:.7rem}
  .cta-banner{padding:32px 22px}
  .stats-section{padding:50px 0}
  .stat-num{font-size:2.2rem}
}

/* ============================================================
   PAGE HERO (inner pages)
   ============================================================ */
.page-hero{
  background:linear-gradient(135deg,rgba(13,40,64,.93) 0%,rgba(8,26,44,.90) 100%),
             url('/uploads/gallery/locawork-resepsiyon-lounge.jpg') center 35%/cover no-repeat;
  color:#fff;padding:120px 0 70px;position:relative;overflow:hidden
}
.page-hero::before{
  content:'';position:absolute;inset:0;
  background-image:radial-gradient(circle at 20% 30%,rgba(212,146,58,.15),transparent 50%),
                   radial-gradient(circle at 80% 70%,rgba(255,255,255,.05),transparent 50%);
  pointer-events:none
}
.page-hero .container{position:relative;z-index:2}
.page-hero .breadcrumb{
  display:flex;align-items:center;gap:8px;font-size:.88rem;
  color:rgba(255,255,255,.7);margin-bottom:18px;flex-wrap:wrap
}
.page-hero .breadcrumb a{color:rgba(255,255,255,.85)}
.page-hero .breadcrumb a:hover{color:var(--accent)}
.page-hero .eyebrow{
  display:inline-block;background:rgba(212,146,58,.2);color:var(--accent);
  padding:6px 14px;border-radius:99px;font-size:.78rem;font-weight:600;
  letter-spacing:.06em;text-transform:uppercase;margin-bottom:14px
}
.page-title{
  font-family:var(--font-display);font-size:clamp(2.2rem,5vw,3.6rem);
  font-weight:600;line-height:1.1;margin:0 0 14px
}
.page-subtitle{font-size:1.15rem;color:rgba(255,255,255,.78);max-width:640px;margin:0}
.page-hero-detail .page-title{max-width:800px}

/* Breadcrumb general */
.breadcrumb{display:flex;align-items:center;gap:6px;font-size:.85rem;flex-wrap:wrap}
.breadcrumb a{color:var(--muted)}
.breadcrumb a:hover{color:var(--primary)}
.breadcrumb span{color:var(--text);font-weight:500}

/* ============================================================
   CONTENT WRAP - rich text from CMS
   ============================================================ */
.content-wrap{font-size:1.05rem;line-height:1.8;color:var(--text)}
.content-wrap p{margin:0 0 1.2em}
.content-wrap h2,.content-h2{
  font-family:var(--font-display);font-size:1.7rem;font-weight:600;
  color:var(--primary);margin:2em 0 .7em
}
.content-wrap h3{
  font-family:var(--font-display);font-size:1.35rem;font-weight:600;
  color:var(--primary);margin:1.6em 0 .6em
}
.content-wrap ul,.content-wrap ol{margin:0 0 1.2em;padding-left:1.6em}
.content-wrap li{margin-bottom:.5em}
.content-wrap a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.content-wrap a:hover{color:var(--accent-deep)}
.content-wrap blockquote{
  border-left:4px solid var(--accent);background:var(--bg-soft);
  padding:18px 22px;margin:1.5em 0;font-style:italic;border-radius:0 8px 8px 0
}
.content-wrap img{max-width:100%;height:auto;border-radius:var(--radius);margin:1em 0}
.container-narrow{max-width:820px;margin-left:auto;margin-right:auto}

/* ============================================================
   FILTER BAR
   ============================================================ */
.filter-bar{
  display:flex;gap:10px;flex-wrap:wrap;justify-content:center;
  margin-bottom:42px;padding:14px;background:var(--bg-soft);
  border-radius:99px;max-width:900px;margin-left:auto;margin-right:auto
}
.filter-chip{
  padding:9px 18px;border-radius:99px;font-size:.88rem;font-weight:600;
  color:var(--muted);transition:all .25s ease;border:1px solid transparent
}
.filter-chip:hover{color:var(--primary);background:#fff}
.filter-chip.active{background:var(--primary);color:#fff;box-shadow:0 4px 12px rgba(13,40,64,.2)}

/* ============================================================
   SERVICE DETAIL
   ============================================================ */
.detail-layout{display:grid;grid-template-columns:1fr 360px;gap:48px;align-items:start}
.detail-image{border-radius:var(--radius-lg);overflow:hidden;margin-bottom:30px;aspect-ratio:16/9}
.detail-image img{width:100%;height:100%;object-fit:cover}
.detail-sidebar{position:sticky;top:100px;display:flex;flex-direction:column;gap:18px}
.price-card{
  background:linear-gradient(135deg,var(--primary) 0%,var(--primary-deep) 100%);
  color:#fff;padding:28px;border-radius:var(--radius-lg);
  box-shadow:0 12px 40px rgba(13,40,64,.18)
}
.price-card .price-label{
  display:block;font-size:.8rem;text-transform:uppercase;
  letter-spacing:.08em;color:rgba(255,255,255,.7);margin-bottom:6px
}
.price-card .price-value{
  font-family:var(--font-display);font-size:2rem;font-weight:600;
  color:var(--accent);margin-bottom:20px;line-height:1.1
}
.price-card .btn{margin-top:8px}
.price-card .btn-primary{background:var(--accent);color:var(--primary-deep);border-color:var(--accent)}
.price-card .btn-primary:hover{background:var(--accent-deep);border-color:var(--accent-deep);color:#fff}
.price-card .btn-outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}
.price-card .btn-outline:hover{background:rgba(255,255,255,.1);border-color:#fff}
.price-card .btn-whatsapp{background:#25d366;color:#fff;border-color:#25d366}
.price-card .btn-whatsapp:hover{background:#1ea854}

.info-card{
  background:#fff;border:1px solid var(--border-soft);
  padding:22px;border-radius:var(--radius-lg)
}
.info-card h4{margin:0 0 14px;font-family:var(--font-display);color:var(--primary);font-size:1.05rem}
.info-list{list-style:none;padding:0;margin:0}
.info-list li{display:flex;align-items:center;gap:10px;padding:8px 0;color:var(--text);font-size:.92rem}
.info-list li svg{color:var(--accent);flex-shrink:0}

.features-list{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:14px;margin:20px 0 32px
}
.feature-item{
  display:flex;align-items:center;gap:12px;padding:14px 18px;
  background:var(--bg-soft);border-radius:var(--radius);font-size:.95rem
}
.feature-item svg{color:var(--accent);flex-shrink:0}

@media(max-width:900px){
  .detail-layout{grid-template-columns:1fr;gap:32px}
  .detail-sidebar{position:static}
}

/* ============================================================
   BLOG GRID & POST
   ============================================================ */
.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:30px}
.blog-card{
  background:#fff;border-radius:var(--radius-lg);overflow:hidden;
  border:1px solid var(--border-soft);transition:all .3s ease
}
.blog-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(0,0,0,.08)}
.blog-image{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--bg-soft)}
.blog-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.blog-card:hover .blog-image img{transform:scale(1.06)}
.blog-image-placeholder{
  width:100%;height:100%;display:flex;align-items:center;justify-content:center;
  color:var(--muted);background:linear-gradient(135deg,var(--bg-soft),var(--bg))
}
.blog-body{padding:24px}
.blog-category{
  display:inline-block;font-size:.72rem;text-transform:uppercase;
  letter-spacing:.08em;color:var(--accent);font-weight:700;margin-bottom:10px
}
.blog-card h3{margin:0 0 12px;font-family:var(--font-display);font-size:1.2rem;line-height:1.35}
.blog-card h3 a{color:var(--primary)}
.blog-card h3 a:hover{color:var(--accent)}
.blog-card p{color:var(--muted);font-size:.92rem;line-height:1.6;margin:0 0 16px}
.blog-meta{
  display:flex;gap:16px;font-size:.78rem;color:var(--muted);
  padding-top:14px;border-top:1px solid var(--border-soft);align-items:center
}
.blog-meta span{display:inline-flex;align-items:center;gap:6px}

.post-article{padding:0 0 60px}
.post-header{padding:120px 0 40px;background:var(--bg-soft);text-align:center}
.post-category-tag{
  display:inline-block;background:var(--accent);color:#fff;
  padding:6px 14px;border-radius:99px;font-size:.78rem;font-weight:600;
  letter-spacing:.06em;text-transform:uppercase;margin:14px 0
}
.post-title{
  font-family:var(--font-display);font-size:clamp(2rem,4.5vw,3rem);
  font-weight:600;color:var(--primary);line-height:1.15;margin:.4em 0 .6em
}
.post-meta{
  display:flex;gap:20px;justify-content:center;
  font-size:.88rem;color:var(--muted);flex-wrap:wrap
}
.post-meta span{display:inline-flex;align-items:center;gap:6px}
.post-cover{margin:30px 0 40px}
.post-cover img{
  width:100%;aspect-ratio:21/9;object-fit:cover;
  border-radius:var(--radius-lg);box-shadow:0 24px 60px rgba(0,0,0,.12)
}
.post-content{padding:20px 0 40px}

/* ============================================================
   GALLERY
   ============================================================ */
.gallery-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:18px
}
.gallery-item{
  position:relative;aspect-ratio:4/3;overflow:hidden;
  border-radius:var(--radius);background:var(--bg-soft);cursor:pointer
}
.gallery-item img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .5s ease
}
.gallery-item:hover img{transform:scale(1.07)}
.gallery-overlay{
  position:absolute;inset:0;background:rgba(13,40,64,.7);
  color:#fff;display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:10px;opacity:0;transition:opacity .3s ease
}
.gallery-item:hover .gallery-overlay{opacity:1}
.gallery-overlay span{font-weight:600;font-size:.95rem}

/* Lightbox */
.lightbox{
  position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:9999;
  display:none;align-items:center;justify-content:center;padding:30px
}
.lightbox.active{display:flex}
.lightbox img{max-width:95vw;max-height:90vh;border-radius:8px;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.lightbox-close{
  position:absolute;top:20px;right:20px;background:#fff;
  border:none;width:48px;height:48px;border-radius:50%;cursor:pointer;
  display:flex;align-items:center;justify-content:center;font-size:1.4rem
}

/* ============================================================
   CONTACT
   ============================================================ */
.contact-grid{display:grid;grid-template-columns:380px 1fr;gap:50px}
.contact-info{display:flex;flex-direction:column;gap:18px}
.contact-card{
  background:#fff;border:1px solid var(--border-soft);
  padding:24px;border-radius:var(--radius-lg);transition:all .3s ease
}
.contact-card:hover{border-color:var(--accent);transform:translateX(4px)}
.contact-icon{
  width:48px;height:48px;border-radius:12px;
  background:var(--bg-soft);color:var(--accent);
  display:inline-flex;align-items:center;justify-content:center;margin-bottom:14px
}
.contact-card h3{margin:0 0 8px;font-family:var(--font-display);color:var(--primary);font-size:1.1rem}
.contact-card p{margin:0 0 10px;color:var(--text);font-size:.95rem;line-height:1.5}
.contact-card p a{color:var(--primary);font-weight:600}
.contact-card p a:hover{color:var(--accent)}

.contact-form-wrap{
  background:#fff;padding:36px;border-radius:var(--radius-lg);
  border:1px solid var(--border-soft);box-shadow:0 8px 30px rgba(0,0,0,.04)
}
.form-title{font-family:var(--font-display);color:var(--primary);font-size:1.6rem;margin:0 0 8px}
.form-lead{color:var(--muted);margin:0 0 24px}
.contact-form{display:flex;flex-direction:column;gap:18px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form-group label{
  display:block;font-size:.85rem;font-weight:600;color:var(--primary);
  margin-bottom:6px;letter-spacing:.02em
}
.form-group input,.form-group textarea,.form-group select{
  width:100%;padding:12px 14px;border:1.5px solid var(--border);
  border-radius:var(--radius-sm);font-family:inherit;font-size:.95rem;
  background:#fff;transition:all .2s ease;color:var(--text)
}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{
  outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(212,146,58,.15)
}
.form-group textarea{resize:vertical;min-height:120px;font-family:inherit}

.alert{
  padding:14px 18px;border-radius:var(--radius-sm);margin-bottom:20px;
  display:flex;align-items:center;gap:10px;font-size:.92rem
}
.alert-success{background:#e7f6ec;color:#0a5023;border:1px solid #b8e0c4}
.alert-error{background:#fdecec;color:#8a1f1f;border:1px solid #f4c2c2}
.alert svg{flex-shrink:0}

.map-section{margin-top:0}
.map-section iframe{display:block;filter:grayscale(.2)}

@media(max-width:900px){
  .contact-grid{grid-template-columns:1fr;gap:30px}
  .form-row{grid-template-columns:1fr;gap:14px}
  .contact-form-wrap{padding:24px}
}

/* ============================================================
   ERROR PAGE
   ============================================================ */
.error-page{padding:120px 0;text-align:center;background:var(--bg-soft);min-height:60vh;display:flex;align-items:center}
.error-content{max-width:500px;margin:0 auto}
.error-code{
  font-family:var(--font-display);font-size:8rem;font-weight:700;
  color:var(--primary);line-height:1;margin-bottom:20px;
  background:linear-gradient(135deg,var(--primary),var(--accent));
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent
}
.error-content h1{font-family:var(--font-display);color:var(--primary);font-size:2rem;margin:0 0 14px}
.error-content p{color:var(--muted);font-size:1.05rem;margin:0 0 30px}
.error-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ============================================================
   EMPTY STATE
   ============================================================ */
.empty-state{
  text-align:center;padding:60px 30px;color:var(--muted);
  font-size:1.05rem;background:var(--bg-soft);border-radius:var(--radius-lg)
}

/* ============================================================
   SERVICE FOOTER (price + arrow)
   ============================================================ */
.service-footer{
  display:flex;align-items:center;justify-content:space-between;
  padding-top:14px;border-top:1px solid var(--border-soft);margin-top:14px
}
.service-price{font-family:var(--font-display);font-weight:600;color:var(--accent);font-size:1.05rem}
.service-category{
  display:inline-block;font-size:.7rem;text-transform:uppercase;
  letter-spacing:.08em;color:var(--accent);font-weight:700;margin-bottom:8px
}
.service-image-placeholder,.blog-image-placeholder{
  width:100%;aspect-ratio:16/10;display:flex;align-items:center;justify-content:center;
  color:var(--muted);background:linear-gradient(135deg,var(--bg-soft),var(--border-soft))
}

/* btn-block */
.btn-block{width:100%;justify-content:center}

@media(max-width:640px){
  .page-hero{padding:90px 0 50px}
  .filter-bar{padding:10px;border-radius:var(--radius-lg)}
  .filter-chip{padding:7px 14px;font-size:.82rem}
  .post-cover img{aspect-ratio:16/10}
  .error-code{font-size:5rem}
}

/* ===== SEARCH OVERLAY (v1.3) ===== */
.search-toggle{
  background:transparent;border:1.5px solid var(--border, #e2e8f0);color:var(--text-muted, #64748b);
  width:42px;height:42px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;
  cursor:pointer;transition:all .2s;
}
.search-toggle:hover{border-color:var(--accent, #d4923a);color:var(--accent, #d4923a);transform:translateY(-1px);}
.site-search-overlay{
  position:fixed;inset:0;background:rgba(13,40,64,.92);backdrop-filter:blur(8px);
  z-index:1100;display:flex;align-items:flex-start;justify-content:center;
  padding:80px 20px 20px;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s;
}
.site-search-overlay.open{opacity:1;visibility:visible;}
.site-search-close{
  position:absolute;top:24px;right:24px;background:rgba(255,255,255,.1);border:0;color:#fff;
  width:48px;height:48px;border-radius:50%;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;
  transition:background .2s;
}
.site-search-close:hover{background:rgba(255,255,255,.2);}
.site-search-form{width:100%;max-width:680px;}
.site-search-label{display:block;color:rgba(255,255,255,.85);font-size:14px;margin-bottom:14px;text-align:center;}
.site-search-input-row{
  display:flex;align-items:center;gap:8px;background:#fff;border-radius:14px;padding:6px;
  box-shadow:0 20px 60px rgba(0,0,0,.3);
}
.site-search-icon{padding-left:18px;color:#94a3b8;display:flex;}
.site-search-input-row input{
  flex:1;border:0;outline:0;padding:18px 8px;font-size:18px;background:transparent;color:#0d2840;
}
.site-search-input-row .btn{flex-shrink:0;padding:14px 28px;}
.site-search-hint{color:rgba(255,255,255,.6);font-size:13px;text-align:center;margin-top:14px;}
@media(max-width:560px){
  .site-search-overlay{padding:60px 16px 16px;}
  .site-search-close{top:14px;right:14px;width:42px;height:42px;}
  .site-search-input-row input{font-size:16px;padding:14px 6px;}
  .site-search-input-row .btn{padding:12px 18px;font-size:14px;}
}

/* ===== COOKIE CONSENT (KVKK) ===== */
.cookie-consent{
  position:fixed;left:20px;right:20px;bottom:20px;z-index:1050;
  background:#fff;border-radius:14px;box-shadow:0 12px 40px rgba(0,0,0,.18);
  border:1px solid #e2e8f0;animation:cookieSlideUp .4s ease-out;
}
.cookie-consent-inner{
  display:flex;align-items:center;gap:24px;padding:18px 22px;flex-wrap:wrap;
}
.cookie-consent-text{
  flex:1;min-width:260px;color:#475569;font-size:14px;line-height:1.5;
}
.cookie-consent-text a{color:#d4923a;font-weight:600;text-decoration:underline;}
.cookie-consent-actions{display:flex;gap:8px;flex-wrap:wrap;}
.cookie-btn{
  border:0;padding:10px 20px;border-radius:8px;font-weight:600;cursor:pointer;
  font-size:14px;transition:all .2s;font-family:inherit;
}
.cookie-btn-accept{background:#d4923a;color:#fff;}
.cookie-btn-accept:hover{background:#b87a25;transform:translateY(-1px);}
.cookie-btn-decline{background:#f1f5f9;color:#475569;}
.cookie-btn-decline:hover{background:#e2e8f0;}
@keyframes cookieSlideUp{from{transform:translateY(40px);opacity:0;}to{transform:translateY(0);opacity:1;}}
@media(max-width:640px){
  .cookie-consent{left:12px;right:12px;bottom:12px;}
  .cookie-consent-inner{padding:16px;flex-direction:column;align-items:stretch;}
  .cookie-consent-actions{justify-content:flex-end;}
}

/* ===== ALERT WARNING ===== */
.alert-warning{background:#fef3c7;color:#92400e;border:1px solid #fde68a;padding:14px 18px;border-radius:10px;}

/* ===========================================================
   v1.5 MEGA — Lang Switcher, Badges, Price Calc, Star Rating
   =========================================================== */

/* Dil seçici */
.lang-switcher {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    margin-right: 4px;
}
.lang-link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 6px 10px;
    font-size: 12px;
    font-weight: 600;
    color: #64748b;
    text-decoration: none;
    border-radius: 8px;
    line-height: 1;
    white-space: nowrap;
    transition: all .15s;
}
.lang-link:hover {
    background: var(--bg-soft);
    color: var(--primary);
}
.lang-link.lang-active {
    background: var(--bg-soft);
    color: var(--primary);
}

/* Badge'ler (admin & frontend ortak) */
.badge {
    display: inline-block;
    padding: 3px 10px;
    font-size: 12px;
    font-weight: 600;
    border-radius: 999px;
    line-height: 1.4;
}
.badge-success { background: #dcfce7; color: #15803d; }
.badge-warning { background: #fef3c7; color: #92400e; }
.badge-danger  { background: #fee2e2; color: #991b1b; }
.badge-info    { background: #dbeafe; color: #1e40af; }
.badge-muted   { background: #f1f5f9; color: #64748b; }

/* Fiyat hesaplayıcı */
.price-calc {
    background: #fff;
    padding: 28px;
    border-radius: 14px;
    box-shadow: 0 4px 20px rgba(13, 40, 64, 0.08);
    border: 1px solid #e2e8f0;
    max-width: 720px;
    margin: 30px auto;
}
.price-calc h3 {
    margin: 0 0 8px;
    color: #0d2840;
}
.price-calc .form-row {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    gap: 14px;
    margin: 18px 0;
}
@media (max-width: 600px) {
    .price-calc .form-row { grid-template-columns: 1fr; }
}
.price-calc select,
.price-calc input {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    font-size: 15px;
}
.pc-result {
    background: linear-gradient(135deg, #fef3c7, #fef9c3);
    padding: 18px;
    border-radius: 10px;
    border: 1px solid #fde68a;
}
.pc-line {
    display: flex;
    justify-content: space-between;
    padding: 6px 0;
    color: #475569;
    font-size: 15px;
}
.pc-line.pc-total {
    border-top: 2px solid #fde68a;
    margin-top: 10px;
    padding-top: 12px;
    color: #0d2840;
    font-weight: 700;
    font-size: 22px;
}

/* Yıldız puanlama */
.star-rating {
    display: inline-flex;
    flex-direction: row-reverse;
    gap: 4px;
}
.star-rating input { display: none; }
.star-rating label {
    font-size: 48px;
    cursor: pointer;
    color: #e2e8f0;
    transition: color .15s;
    line-height: 1;
}
.star-rating label:hover,
.star-rating label:hover ~ label,
.star-rating input:checked ~ label {
    color: #f59e0b;
}

/* Üye paneli buton */
.btn-block { width: 100%; }
.btn-sm-hide { display: inline-flex; }
@media (max-width: 768px) { .btn-sm-hide { display: none; } }

/* Alert variants */
.alert {
    padding: 14px 18px;
    border-radius: 8px;
    margin: 14px 0;
    font-size: 14px;
    line-height: 1.5;
}
.alert-success { background: #f0fdf4; color: #15803d; border: 1px solid #bbf7d0; }
.alert-error,
.alert-danger  { background: #fef2f2; color: #991b1b; border: 1px solid #fecaca; }
.alert-warning { background: #fefce8; color: #92400e; border: 1px solid #fde68a; }
.alert-info    { background: #eff6ff; color: #1e40af; border: 1px solid #bfdbfe; }

/* Form group base (üye sayfaları için) */
.form-group { margin-bottom: 18px; }
.form-group label {
    display: block;
    font-weight: 600;
    color: #0d2840;
    font-size: 14px;
    margin-bottom: 6px;
}
.form-group input,
.form-group select,
.form-group textarea {
    width: 100%;
    padding: 11px 14px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    font-size: 15px;
    font-family: inherit;
    transition: border-color .15s;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
    outline: none;
    border-color: #d4923a;
    box-shadow: 0 0 0 3px rgba(212, 146, 58, 0.1);
}
.form-group small {
    display: block;
    color: #94a3b8;
    font-size: 13px;
    margin-top: 4px;
}
.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}
@media (max-width: 600px) {
    .form-row { grid-template-columns: 1fr; }
}

/* Animation */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* ===========================================================
   v1.5 — Member Portal (üye paneli — global)
   =========================================================== */
.member-layout {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 30px;
}
@media (max-width: 768px) { .member-layout { grid-template-columns: 1fr; } }

.member-sidebar {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.member-card {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 24px;
    text-align: center;
}
.member-avatar {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: linear-gradient(135deg, #0d2840, #1a3a5c);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 22px;
    margin: 0 auto 12px;
}
.member-name { font-weight: 600; color: #0d2840; }
.member-email { color: #64748b; font-size: 13px; margin-top: 2px; }

.member-nav {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    overflow: hidden;
}
.member-nav a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 18px;
    border-bottom: 1px solid #f1f5f9;
    color: #475569;
    text-decoration: none;
    font-weight: 500;
    transition: all .15s;
}
.member-nav a:hover {
    background: #f8fafc;
    color: #0d2840;
}
.member-nav a.active {
    background: #fef3c7;
    color: #92400e;
    border-left: 4px solid #d4923a;
}
.member-nav .logout-link { color: #dc2626; }

.member-content { min-height: 400px; }

.card-pad {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 32px;
}
.card-pad h2 {
    margin-top: 0;
    color: #0d2840;
}

.member-auth-card {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 32px;
}
.auth-links {
    margin-top: 20px;
    text-align: center;
    color: #64748b;
    font-size: 14px;
}
.auth-links a {
    color: #d4923a;
    font-weight: 600;
}

/* Reservation list (member panel) */
.reservation-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.reservation-item {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    padding: 16px;
    border-radius: 8px;
}
.r-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
}
.r-info {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    color: #64748b;
    font-size: 14px;
}


/* ================================================================================
   LOCAWORK · PREMIUM CİLA — BİRLEŞİK BLOK (3 denetim sentezi)
   style.css'in EN SONUNA olduğu gibi ekleyin. Tek blok, çakışmasız, drop-in.
   Mevcut sınıf adları KORUNUR, hiçbir kural silinmez; yalnızca eksik değişken
   alias'ları + optik/ritim/derinlik/mobil/CRO mikro-ekleri.
   Sıra önemli: bölüm 0 (alias'lar) MUTLAKA önce gelir.
   font-variation-settings desteklemeyen tarayıcılarda sessizce yok sayılır
   (graceful degradation) — statik Fraunces fallback'i bozulmaz.
   ================================================================================ */

/* --------------------------------------------------------------------------------
   0) KRİTİK — EKSİK DEĞİŞKEN ALIAS'LARI  (en yüksek etki)
   Canlıda --font-display / --primary-deep / --accent-deep / --muted TANIMSIZDI
   (isim uyuşmazlığı: kod --primary-deep çağırıyor, tema --primary-dark tanımlamış).
   var(... , fallback) kullanıyoruz: --primary-dark VARSA onu, YOKSA sabit rengi alır.
   Bu blok görünmez beyaz başlığı, jenerik sans'a düşen başlıkları ve soluk-metin
   hiyerarşisini TEK HAMLEDE geri getirir.
   -------------------------------------------------------------------------------- */
:root{
  --font-display: var(--display, 'Fraunces','Playfair Display',serif);
  --primary-deep: var(--primary-dark, #081a2c);   /* page-hero & price-card gradyanı geçerli olur */
  --accent-deep:  var(--accent-dark, #b87420);    /* link & CTA hover canlanır */
  --muted:        var(--text-muted, #7e8896);     /* breadcrumb/blog-meta/form-lead soluk tonu döner */
  --ease:         cubic-bezier(.4,0,.2,1);        /* tutarlı premium easing token'ı */
}

/* --------------------------------------------------------------------------------
   1) FRAUNCES OPTİK BOYUT (opsz) — büyük başlıklar editorial 'display' karaktere kavuşur
   opsz 9..144 yüklüydü ama hiç kullanılmıyordu. Ölçü/yapı DEĞİŞMEZ, yalnız karakter.
   -------------------------------------------------------------------------------- */
h1, .page-title, .post-title, .hero-stat .num, .stat-num{
  font-optical-sizing:auto;
  font-variation-settings:'opsz' 144;
}
h2, .about-content h2, .cta-banner h2, .form-title{
  font-optical-sizing:auto;
  font-variation-settings:'opsz' 110;
}
h3, .content-wrap h2, .content-h2{
  font-optical-sizing:auto;
  font-variation-settings:'opsz' 64;
}

/* --------------------------------------------------------------------------------
   2) ÖLÇEĞE DUYARLI HARF ARALIĞI — dev başlık sıkı, küçük başlık nötr (optik denge)
   Tek-tip -.02em'in küçük h3/h4'lerde yarattığı 'kalabalık' hissini giderir.
   -------------------------------------------------------------------------------- */
h1{ letter-spacing:-.03em; }
h2{ letter-spacing:-.022em; }
h3{ letter-spacing:-.012em; }
h4, h5, h6{ letter-spacing:0; }

/* --------------------------------------------------------------------------------
   3) HERO — odak noktası: gerçek Fraunces editorial italiği + sıkı tracking
   -------------------------------------------------------------------------------- */
.hero h1{ letter-spacing:-.035em; }
.hero h1 em{
  font-optical-sizing:auto;
  font-variation-settings:'opsz' 144;
  font-weight:500;
  letter-spacing:-.01em;
}

/* --------------------------------------------------------------------------------
   4) EYEBROW ETİKETLERİ — sakin lüks (küçük punto + zarif tracking + nefes)
   -------------------------------------------------------------------------------- */
.section-head .eyebrow,
.about-content .eyebrow{
  font-size:.72rem;
  letter-spacing:.22em;
  margin-bottom:18px;
}

/* --------------------------------------------------------------------------------
   5) BÜYÜK METİN NEFESİ — ferah satır yüksekliği + ideal okuma ölçüsü
   -------------------------------------------------------------------------------- */
.lead{ line-height:1.55; max-width:600px; }
.hero-text{ line-height:1.6; }

/* --------------------------------------------------------------------------------
   6) CÖMERT DİKEY RİTİM — premium = daha geniş, tutarlı boşluk
   Mevcut @max-width:768px{section{padding:60px 0}} kuralı KORUNUR (sonra geldiği
   ve daha düşük breakpoint olduğu için kazanır). Burada masaüstü + tablet veriyoruz.
   -------------------------------------------------------------------------------- */
section{ padding:104px 0; }
.section-head{ margin-bottom:64px; }
@media (max-width:1024px){ section{ padding:80px 0; } }

/* --------------------------------------------------------------------------------
   7) KART İÇ BOŞLUKLARI — cömert ve TUTARLI (blog-body çift-tanımı sabitlenir)
   -------------------------------------------------------------------------------- */
.feature{ padding:32px; }
.service-card-body{ padding:30px 30px 26px; }
.testimonial{ padding:36px; }
.blog-body{ padding:28px; }   /* 24px/26px tutarsızlığını tek değere kilitler */

/* --------------------------------------------------------------------------------
   8) KART DERİNLİĞİ + TUTARLI AMBER VURGU — 'kâğıt-yapışık' yerine premium 'yüzme'
   Lens-1 (padding) + Lens-2 (gölge) + Lens-3 (amber şerit) birleşik, çakışmasız.
   -------------------------------------------------------------------------------- */
.service-card{
  box-shadow:var(--shadow);                       /* sm -> orta: durağanken bile hafif yüzer */
  transition:transform .35s var(--ease), box-shadow .35s var(--ease);
}
.service-card:hover{ box-shadow:var(--shadow-xl); }
.feature{ box-shadow:var(--shadow-sm); }          /* düz beyaz yerine ince taban gölgesi */

.service-card, .blog-card{ position:relative; }
.service-card::after, .blog-card::after{
  content:''; position:absolute; left:0; right:0; top:0; height:3px;
  background:var(--accent); transform:scaleX(0); transform-origin:left;
  transition:transform .3s var(--ease);
  border-radius:var(--radius-lg) var(--radius-lg) 0 0;
  pointer-events:none;
}
.service-card:hover::after, .blog-card:hover::after{ transform:scaleX(1); }
.service-card:hover, .blog-card:hover{ border-color:var(--accent); }

/* --------------------------------------------------------------------------------
   9) HERO CTA HİYERARŞİSİ — birincil amber 'kahraman', ikincil outline yumuşar
   Yalnız .hero-actions kapsamında; global .btn davranışı KORUNUR.
   -------------------------------------------------------------------------------- */
.hero-actions .btn-accent{
  box-shadow:0 10px 26px rgba(212,146,58,.30);    /* sıcak amber yükselti = tek baskın eylem */
  padding:15px 30px;                              /* ikincilden hafif daha iri */
}
.hero-actions .btn-accent:hover{
  box-shadow:0 14px 32px rgba(212,146,58,.42);
}
.hero-actions .btn-outline{
  border-color:var(--border);
  color:var(--primary);
}
.hero-actions .btn-outline:hover{
  background:var(--bg-soft);                       /* lacivert dolgu YERİNE krem + amber kenar */
  border-color:var(--accent);
  color:var(--primary);
  transform:translateY(-2px);
}

/* --------------------------------------------------------------------------------
   10) FLOAT BUTONLAR — sonsuz pulse halkasını durdur (sakin kurumsal ton)
   -------------------------------------------------------------------------------- */
.whatsapp-float::before,
.phone-float::before{
  animation:none;
  opacity:0;
}

/* --------------------------------------------------------------------------------
   11) TABLET (641–1024px) ALT STICKY CTA — header'da gizlenen 'Hemen Ara'yı telafi
   ≤640px kuralları zaten mevcut; bu yalnız üst sınırı genişletir, mobili bozmaz.
   -------------------------------------------------------------------------------- */
@media (max-width:1024px){
  .mobile-sticky-cta{ display:flex; }
  body{ padding-bottom:64px; }
}

/* --------------------------------------------------------------------------------
   12) TOPBAR TELEFON — tıklanabilir güven çıpasını güçlendir
   -------------------------------------------------------------------------------- */
.topbar-info a{ font-weight:600; }
.topbar-info a:hover{ color:var(--accent-light); }
.topbar-info a:hover svg{ color:var(--accent-light); }

/* --------------------------------------------------------------------------------
   13) STICKY HEADER — kaydırınca net 'yüzen çubuk' ayrımı (mevcut .scrolled kancası)
   -------------------------------------------------------------------------------- */
.site-header.scrolled{
  background:rgba(255,255,255,.96);
  box-shadow:0 4px 20px rgba(13,40,64,.10);
  border-bottom-color:transparent;
}

/* --------------------------------------------------------------------------------
   14) FİYAT & İSTATİSTİK RAKAMLARI — kurumsal hizalı (lining + tabular)
   -------------------------------------------------------------------------------- */
.service-price .price,
.service-price-card .price,
.price-value,
.stat-num,
.hero-stat .num,
.about-img-stat .num,
.pc-line.pc-total,
.pc-total{
  font-variant-numeric:lining-nums tabular-nums;
  font-feature-settings:'lnum' 1, 'tnum' 1;
}

/* --------------------------------------------------------------------------------
   15) MOBİL BAŞLIK NEFESİ + İSTATİSTİK SARMASI (≤640px) — mobil-ağırlıklı trafik
   -------------------------------------------------------------------------------- */
@media (max-width:640px){
  h1{ line-height:1.25; }
  .page-title{ line-height:1.18; font-size:clamp(1.9rem,5vw,3.6rem); }
  .post-title{ line-height:1.2; }
  .hero-stats{ row-gap:22px; }    /* 2x2'ye sarınca dikey nefes */
}

/* --------------------------------------------------------------------------------
   16) GÜVENLİK & SAVUNMA CİLALARI — düşük risk, yüksek hijyen
   -------------------------------------------------------------------------------- */
/* Boş/kırık görsel perdesi (gereksiz istek + kırık-ikon önler) */
img:not([src]), img[src=""]{ visibility:hidden; }

/* Mobil hayalet yatay kayma (off-canvas .nav-menu kaynaklı) */
html{ overflow-x:clip; }

/* CLS savunması: aspect-ratio garantisi olmayan CMS/içerik görselleri */
.content-wrap img{ aspect-ratio:16/9; object-fit:cover; }
.service-card-img img, .blog-img img, .gallery-item img{ background:var(--bg-soft); }

/* Etkileşim easing tutarlılığı (mevcut transition'ları ezmeden eğriyi hizalar) */
.gallery-filter, .cookie-btn, .lang-link, .filter-chip,
.search-toggle, .footer-social a{
  transition:all .25s var(--ease);
}

/* Erişilebilirlik: <a>/<button> olmayan tıklanabilir öğelere odak halkası */
.gallery-item:focus-visible, .service-card:focus-visible,
.faq-item:focus-visible, [role="button"]:focus-visible{
  outline:3px solid var(--accent); outline-offset:2px; border-radius:var(--radius);
}

/* --------------------------------------------------------------------------------
   17) PREMIUM HERO ARKA PLANI — gerçek ofis fotosu + lacivert .92 overlay
   Eldeki 7 fotodan resepsiyon kullanıldı. Brief'te bu düzeltme yapıldıysa bile
   idempotent: aynı sonucu garanti eder. İstenmezse bu blok güvenle silinebilir;
   bölüm 0'daki --primary-deep aliası düz lacivert hero'yu zaten kurtarır.
   NOT: anasayfa hero <img>'i (index.php) için kod/DB tarafında Unsplash URL'sini
   '/uploads/gallery/locawork-resepsiyon-lounge.jpg' ile değiştirin — bu CSS'le
   yapılamaz ama en yüksek etkili tek dokunuştur.
   -------------------------------------------------------------------------------- */
.page-hero{
  background-image:
    linear-gradient(135deg, rgba(13,40,64,.92) 0%, rgba(8,26,44,.94) 100%),
    url('/uploads/gallery/locawork-resepsiyon.jpg');
  background-size:cover;
  background-position:center;
}

/* ===== LÜKS REDESIGN (Boutique Members Club) ===== */
/* ================================================================================
   LOCAWORK · BOUTIQUE MEMBERS CLUB — BİRLEŞİK LÜKS KATMANI (deploy-hazır)
   style.css'in EN SONUNA ekleyin (mevcut ~1812. satır + premium-cila bloğunun DA
   sonuna). Markup DEĞİŞMEZ — yalnız override. Mevcut hiçbir kural silinmez.
   Mevcut .reveal IntersectionObserver (main.js:113) ve .scrolled hook'u KORUNUR;
   İKİNCİ observer KURULMAZ — stagger CSS --i ile, index'i minik JS atar.
   Mobil-ağırlıklı: blur yalnız header; tek noise; fixed kaplama mobilde kapalı;
   tüm animasyon transform/opacity (60fps). prefers-reduced-motion tam saygılı.
   ================================================================================ */

/* --------------------------------------------------------------------------------
   L0) LÜKS TOKEN'LARI (mevcut --accent/--primary/--ease/--display EZİLMEZ, ek tonlar)
   -------------------------------------------------------------------------------- */
:root{
  --gold:#d4923a;                 /* = --accent · detay/hairline */
  --gold-soft:#e8a958;            /* koyu zeminde DETAY parıltısı (gövde metni DEĞİL) */
  --gold-deep:#a86f1f;            /* açık krem üstünde em/vurgu (AA-large) */
  --midnight:#06121f;             /* CTA en koyu */
  --night:#0a1f33;                /* hizmetler gece zemini */
  --night-2:#102b45;
  --cream:#faf6ef;                /* sıcak krem nefes */
  --hairline:rgba(212,146,58,.45);
  --hairline-soft:rgba(212,146,58,.18);
  --ease-soft:cubic-bezier(.16,1,.3,1);   /* uzun yumuşak decay = lüks giriş */
  --dur:.45s; --dur-slow:.7s; --stagger:80ms;
  /* Çok-katmanlı kart gölgesi (yakın-sıkı + uzak-yumuşak) */
  --elev-1:0 1px 2px rgba(13,40,64,.05),0 6px 18px -6px rgba(13,40,64,.12);
  --elev-2:0 2px 4px rgba(13,40,64,.06),0 14px 36px -10px rgba(13,40,64,.18);
  --elev-3:0 4px 8px rgba(13,40,64,.07),0 30px 70px -16px rgba(13,40,64,.30);
  --inset-hairline:inset 0 0 0 1px rgba(255,255,255,.6),inset 0 1px 0 rgba(255,255,255,.9);
  /* TEK noise değişkeni — inline SVG (ağ isteği YOK) */
  --noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");
}

/* sıcaklık: zemini bir tık ısıt (lüks krem) + çok hafif mesh */
body{
  background:
    radial-gradient(ellipse 90% 60% at 85% -5%,rgba(212,146,58,.05),transparent 55%),
    radial-gradient(ellipse 80% 70% at -5% 105%,rgba(13,40,64,.04),transparent 55%),
    var(--cream);
}
/* İpeksi doku — fixed kaplama (mobilde KAPALI, performans) */
body::before{
  content:'';position:fixed;inset:0;z-index:0;pointer-events:none;
  background-image:var(--noise);background-size:160px 160px;opacity:.035;mix-blend-mode:multiply;
}
/* Gerçek içerik + dönüşüm çıpaları dokunun üstünde; fixed çıpalar ETKİLENMEZ */
.topbar,.site-header,main,section,.site-footer{position:relative;z-index:1}

/* ================================================================================
   L1) EDİTORYAL TİPOGRAFİ — Fraunces hak ettiği ölçekte (variation-settings TEK kullanım)
   ================================================================================ */
h1,h2,h3,.page-title,.post-title{font-optical-sizing:auto}
.hero h1{
  font-size:clamp(2.2rem,5.6vw,4.2rem);
  letter-spacing:-.025em;line-height:1.07
}
/* em vurgusu: gold-deep (krem üstünde AA-large; saf accent #d4923a riskliydi) */
.hero h1 em{font-style:italic;color:var(--gold-deep);font-family:var(--display)}
.section-head h2,.about-content h2{
  font-size:clamp(1.85rem,3.8vw,2.75rem);letter-spacing:-.02em
}

/* ================================================================================
   L2) SECTION-HEAD — altın hairline eyebrow (editoryal imza) + başlık altı divider
   ================================================================================ */
.section-head .eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  letter-spacing:.22em;font-size:.76rem;color:var(--gold-deep)
}
.section-head .eyebrow::before,.section-head .eyebrow::after{
  content:'';width:24px;height:1px;
  background:linear-gradient(90deg,transparent,var(--gold))
}
.section-head .eyebrow::after{transform:scaleX(-1)}
.section-head h2{position:relative;padding-bottom:18px}
.section-head h2::after{
  content:'';position:absolute;left:50%;bottom:0;transform:translateX(-50%);
  width:54px;height:3px;border-radius:3px;
  background:linear-gradient(90deg,var(--gold-soft),var(--gold),var(--gold-deep))
}
.about-content .eyebrow{
  position:relative;padding-top:16px;letter-spacing:.22em;color:var(--gold-deep)
}
.about-content .eyebrow::before{
  content:'';position:absolute;top:0;left:0;width:30px;height:1px;
  background:linear-gradient(90deg,var(--gold),transparent)
}

/* ================================================================================
   L3) HEADER — gerçek frosted glass + altın hairline + premium scrolled shrink
   Mevcut .site-header / .scrolled korunur; doygunlaştırıp derinleştirilir.
   ================================================================================ */
.site-header{
  background:rgba(250,246,239,.80);
  -webkit-backdrop-filter:saturate(180%) blur(16px);
  backdrop-filter:saturate(180%) blur(16px);
  border-bottom:1px solid var(--hairline-soft)
}
.site-header.scrolled{
  background:rgba(250,246,239,.93);
  box-shadow:0 6px 28px -10px rgba(13,40,64,.22),0 1px 0 var(--hairline-soft) inset;
  border-bottom-color:transparent
}
.site-header .nav{transition:padding var(--dur) var(--ease-soft)}
.brand img{transition:max-height var(--dur) var(--ease-soft)}
.site-header.scrolled .nav{padding-top:9px;padding-bottom:9px}
.site-header.scrolled .brand img{max-height:40px}
.brand small{letter-spacing:.22em;color:var(--gold-deep)}
.nav-menu a.active::after{height:1.5px;background:var(--gold)}
@media(max-width:768px){
  .site-header.scrolled .brand img{max-height:32px}
  .site-header.scrolled .nav{padding-top:7px;padding-bottom:7px}
}

/* ================================================================================
   L4) BUTONLAR — fiziksel altın; METİN LACİVERT (kontrast bug düzeltmesi)
   btn-accent metni beyazdı=2.63:1 FAIL → lacivert=5.72:1 AA PASS.
   Shine ::before z-index:0 (metnin ALTINDA), text-node örtme riski YOK.
   ================================================================================ */
.btn-accent{
  color:var(--primary)!important;        /* AA: amber üstünde 5.72:1 */
  background:linear-gradient(135deg,var(--gold-soft) 0%,var(--gold) 55%,var(--gold-deep) 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.45),
    inset 0 -1px 0 rgba(120,75,15,.45),
    0 8px 22px -6px rgba(212,146,58,.55)
}
.btn-accent:hover{
  color:var(--primary)!important;
  background:linear-gradient(135deg,var(--gold-soft) 0%,var(--gold) 55%,var(--gold-deep) 100%);
  transform:translateY(-2px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.5),
    inset 0 -1px 0 rgba(120,75,15,.5),
    0 14px 32px -6px rgba(212,146,58,.62)
}
.btn-accent svg{color:var(--primary)}
.btn-primary{
  background:linear-gradient(135deg,var(--primary-light) 0%,var(--primary) 60%,var(--primary-dark) 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),inset 0 -1px 0 rgba(0,0,0,.25),0 8px 22px -8px rgba(13,40,64,.5)
}
.btn-primary:hover{transform:translateY(-2px);box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 14px 32px -8px rgba(13,40,64,.55)}
.btn-outline{border-color:var(--hairline)}
.btn-outline:hover{background:rgba(212,146,58,.08);border-color:var(--gold);color:var(--primary)}
.btn-white{box-shadow:0 8px 22px -8px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.8)}
/* SHINE — soldan geçen ışık, metnin ALTINDA (z-index:0) */
.btn-accent,.btn-primary,.btn-white{position:relative;overflow:hidden}
.btn-accent::after,.btn-primary::after,.btn-white::after{
  content:'';position:absolute;top:0;left:-130%;width:60%;height:100%;z-index:0;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.4),transparent);
  transform:skewX(-18deg);transition:left .65s var(--ease-soft);pointer-events:none
}
.btn-white::after{background:linear-gradient(100deg,transparent,rgba(13,40,64,.1),transparent)}
.btn-accent:hover::after,.btn-primary:hover::after,.btn-white:hover::after{left:130%}
/* içerik shine üstünde — text node dahil normal akış z-index:auto > 0 değil,
   bu yüzden shine z-index:0 + buton içeriği doğal olarak üstte kalır (stacking) */
.btn-accent > *,.btn-primary > *,.btn-white > *{position:relative;z-index:1}

/* ================================================================================
   L5) ORTAK FOTO SANAT YÖNETİMİ — lacivert duotone + ince grain (tek görsel dil)
   Badge'e z-index:2 GARANTİ (overlay üstünde okunur) — denetçi düzeltmesi.
   ================================================================================ */
.service-card-img,.about-img,.gallery-item,.detail-image,.blog-img,.blog-image,.page-hero{position:relative}
.service-card-img::after,.about-img::after,.gallery-item::after,
.detail-image::after,.blog-img::after,.blog-image::after{
  content:'';position:absolute;inset:0;pointer-events:none;z-index:1;
  background:
    linear-gradient(180deg,rgba(10,31,51,.05) 0%,rgba(6,18,31,.30) 100%),
    var(--noise);
  background-size:auto,160px 160px;
  background-blend-mode:multiply,overlay;opacity:.82;
  transition:opacity .4s ease
}
.service-card:hover .service-card-img::after,.gallery-item:hover::after{opacity:.5}
.service-card-img img,.about-img img,.gallery-item img,
.detail-image img,.blog-img img,.blog-image img{filter:saturate(1.03) contrast(1.02)}
/* Badge overlay'in ÜSTÜNDE + cam rozet */
.service-card-img .badge{
  z-index:2;
  background:rgba(255,255,255,.88);color:var(--primary);
  box-shadow:0 4px 14px -4px rgba(13,40,64,.35),inset 0 0 0 1px var(--hairline-soft)
}

/* ================================================================================
   L6) FEATURES (AÇIK krem) — kart altın üst-çizgi + malzeme gölgesi
   ================================================================================ */
.features-grid .feature{
  background:#fff;position:relative;overflow:hidden;
  box-shadow:var(--elev-1),var(--inset-hairline);
  transition:transform var(--dur) var(--ease-soft),box-shadow var(--dur) var(--ease-soft),border-color var(--dur) var(--ease-soft)
}
.features-grid .feature::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--gold),var(--gold-soft));
  transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease-soft)
}
.features-grid .feature:hover{transform:translateY(-5px);border-color:var(--hairline);box-shadow:var(--elev-3),var(--inset-hairline)}
.features-grid .feature:hover::before{transform:scaleX(1)}
.feature .ic{
  background:linear-gradient(135deg,rgba(212,146,58,.20),rgba(212,146,58,.05));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 6px 14px -6px rgba(212,146,58,.45)
}

/* ================================================================================
   L7) HİZMETLER = DERİN GECE BÖLÜMÜ (en büyük lüks dönüşüm)
   Koyu zemin üstünde beyaz "aydınlık ada" kartlar + altın üst-çizgi.
   ================================================================================ */
.services-section{
  background:
    radial-gradient(ellipse 60% 50% at 80% 0%,rgba(212,146,58,.10),transparent 60%),
    linear-gradient(180deg,var(--night) 0%,var(--midnight) 100%);
  color:#fff;position:relative;
  border-top:1px solid var(--hairline-soft);border-bottom:1px solid var(--hairline-soft)
}
.services-section::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background-image:var(--noise);background-size:160px 160px;opacity:.05;mix-blend-mode:overlay
}
.services-section .container{position:relative;z-index:1}
.services-section .section-head h2{color:#fff}
.services-section .section-head p{color:rgba(231,234,240,.78)}
.services-section .section-head .eyebrow{color:var(--gold-soft)}
.services-section .section-head h2::after{background:linear-gradient(90deg,var(--gold-soft),var(--gold))}
.services-section .service-card{
  background:#fff;
  box-shadow:var(--elev-2),0 20px 50px rgba(0,0,0,.35);position:relative
}
.services-section .service-card::before{
  content:'';position:absolute;top:0;left:24px;right:24px;height:2px;z-index:3;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.9
}
.services-section .service-card:hover{transform:translateY(-8px);box-shadow:0 30px 70px rgba(0,0,0,.45)}
.services-section .service-price .price{color:var(--gold-deep)}

/* ================================================================================
   L8) ABOUT (AÇIK krem) — görsel hairline çerçeve
   ================================================================================ */
.about-img{border:1px solid var(--hairline-soft)}
.about-img-stat{border:1px solid var(--hairline-soft)}
.about-list li svg{color:var(--gold)}
.about-img img{transition:transform var(--dur-slow) var(--ease-soft)}
.about-img:hover img{transform:scale(1.04)}

/* ================================================================================
   L9) STATS (KOYU) — radyal lacivert + dokuma + altın hairline ayraçlar + ışıldayan rakam
   ================================================================================ */
.stats-section{
  background:
    radial-gradient(ellipse 50% 70% at 50% -10%,rgba(212,146,58,.13),transparent 60%),
    radial-gradient(ellipse 90% 70% at 110% 120%,rgba(28,61,90,.55),transparent 50%),
    linear-gradient(180deg,var(--night-2) 0%,var(--night) 100%);
  position:relative;overflow:hidden;
  border-top:1px solid var(--hairline-soft);border-bottom:1px solid var(--hairline-soft)
}
.stats-section::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background-image:var(--noise);background-size:160px 160px;opacity:.06;mix-blend-mode:overlay
}
.stats-section::after{
  content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:min(680px,70%);height:1px;
  background:linear-gradient(90deg,transparent,var(--hairline),transparent)
}
.stats-section .container{position:relative;z-index:1}
/* rakamlar arası dikey altın hairline (yalnız geniş ekran) */
@media(min-width:760px){
  .stats-grid .stat{position:relative}
  .stats-grid .stat + .stat::before{
    content:'';position:absolute;left:0;top:14%;bottom:14%;width:1px;
    background:linear-gradient(180deg,transparent,var(--hairline),transparent)
  }
}
.stat-num{
  color:var(--gold-soft);letter-spacing:-.02em;
  text-shadow:0 2px 18px rgba(212,146,58,.18)
}
.stat-lbl{letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;opacity:.82}

/* ================================================================================
   L10) TESTIMONIALS (AÇIK krem) — altın tırnak + üst hairline + malzeme gölgesi
   ================================================================================ */
.testimonial{
  position:relative;overflow:hidden;
  box-shadow:var(--elev-1),var(--inset-hairline);
  transition:transform var(--dur) var(--ease-soft),box-shadow var(--dur) var(--ease-soft),border-color var(--dur) var(--ease-soft)
}
.testimonial::after{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--gold),transparent);
  transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease-soft)
}
.testimonial:hover{transform:translateY(-5px);border-color:var(--hairline);box-shadow:var(--elev-3),var(--inset-hairline)}
.testimonial:hover::after{transform:scaleX(1)}
.testimonial::before{color:var(--gold);opacity:.18}
.testimonial-stars{color:var(--gold)}
.testimonial-avatar{box-shadow:0 0 0 1px var(--hairline-soft),0 6px 16px rgba(212,146,58,.25)}

/* ================================================================================
   L11) CTA = MIDNIGHT + altın hairline iç-çerçeve (davetiye estetiği)
   ================================================================================ */
.cta-banner{
  background:
    radial-gradient(ellipse 70% 80% at 80% 20%,rgba(212,146,58,.18),transparent 60%),
    linear-gradient(135deg,var(--night) 0%,var(--midnight) 100%);
  border:1px solid var(--hairline-soft);
  box-shadow:0 30px 80px -24px rgba(0,0,0,.5),inset 0 0 0 1px rgba(255,255,255,.04)
}
.cta-banner::after{
  content:'';position:absolute;inset:14px;border:1px solid var(--hairline-soft);
  border-radius:calc(var(--radius-xl,32px) - 12px);pointer-events:none;z-index:0
}
.cta-banner h2{color:#fff}
/* CTA içindeki beyaz buton: AA — koyu metin beyaz zeminde */
.cta-banner .btn-white{background:var(--gold);color:var(--midnight);border-color:var(--gold)}
.cta-banner .btn-white:hover{background:var(--gold-soft);color:var(--midnight)}

/* ================================================================================
   L12) BLOG KARTLARI — malzeme gölgesi + foto zoom
   ================================================================================ */
.blog-card{
  box-shadow:var(--elev-1),var(--inset-hairline);
  transition:transform var(--dur) var(--ease-soft),box-shadow var(--dur) var(--ease-soft)
}
.blog-card:hover{transform:translateY(-6px);box-shadow:var(--elev-3),var(--inset-hairline)}
.blog-img img,.blog-image img{transition:transform var(--dur-slow) var(--ease-soft)}
.blog-card:hover .blog-img img,.blog-card:hover .blog-image img{transform:scale(1.06)}

/* ================================================================================
   L13) PAGE-HERO (alt sayfa) — altın taban hairline + grain
   ================================================================================ */
.page-hero{box-shadow:inset 0 -1px 0 var(--hairline)}
.page-hero::after{
  content:'';position:absolute;inset:0;pointer-events:none;z-index:1;
  background-image:var(--noise);background-size:160px 160px;opacity:.05;mix-blend-mode:overlay
}
.page-hero .container{position:relative;z-index:2}
.page-hero .eyebrow{box-shadow:inset 0 0 0 1px var(--hairline-soft);letter-spacing:.16em}
.page-title{position:relative;z-index:2}

/* ================================================================================
   L14) FOOTER — altın üst-bandı + cam newsletter + altın sosyal hover
   ================================================================================ */
.site-footer{position:relative;border-top:1px solid var(--hairline-soft)}
.site-footer::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--hairline) 30%,var(--hairline) 70%,transparent)
}
.footer-col h5::after{background:linear-gradient(90deg,var(--gold),transparent);height:1.5px;width:36px}
.footer-newsletter input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(212,146,58,.18)}
.footer-newsletter button{
  background:linear-gradient(135deg,var(--gold-soft),var(--gold));
  box-shadow:0 6px 16px -6px rgba(212,146,58,.55)
}
.footer-social a:hover{
  background:linear-gradient(135deg,var(--gold-soft),var(--gold));color:#fff;
  box-shadow:0 8px 20px -6px rgba(212,146,58,.6)
}

/* ================================================================================
   L15) HERO — altın taban + grain + glass info-card + güçlü float gölge
   ================================================================================ */
.hero{border-bottom:1px solid var(--hairline-soft)}
.hero::after{
  content:'';position:absolute;inset:0;pointer-events:none;z-index:0;
  background-image:var(--noise);background-size:160px 160px;opacity:.04;mix-blend-mode:multiply
}
.hero .container,.hero-grid{position:relative;z-index:1}
.hero-stat .num{letter-spacing:-.02em}
.hero-stat .lbl{letter-spacing:.06em;text-transform:uppercase;font-size:.72rem}
.hero-stats{border-top-color:var(--hairline-soft)}
/* ana görsel: güçlü XL float + duotone overlay */
.hero-visual-main{
  position:relative;
  box-shadow:0 40px 80px -28px rgba(13,40,64,.45),inset 0 0 0 1px rgba(255,255,255,.12)
}
.hero-visual-main::after{
  content:'';position:absolute;inset:0;pointer-events:none;border-radius:inherit;
  background:linear-gradient(180deg,rgba(255,255,255,.05),transparent 35%,rgba(6,18,31,.40))
}
.hero-visual-main img{filter:saturate(1.04) contrast(1.03)}
/* cam bilgi kartları (blur yalnız desktop) */
.hero-visual-card{
  background:rgba(255,255,255,.74);border:1px solid var(--hairline-soft);
  -webkit-backdrop-filter:saturate(160%) blur(14px);backdrop-filter:saturate(160%) blur(14px);
  box-shadow:0 18px 44px -14px rgba(13,40,64,.40),inset 0 0 0 1px rgba(255,255,255,.6)
}
.hero-visual-card .ic{
  background:linear-gradient(135deg,rgba(212,146,58,.20),rgba(212,146,58,.05));
  color:var(--gold-deep)
}

/* ================================================================================
   L16) REVEAL — mevcut motor (main.js:113) korunur; CSS stagger + premium easing
   .reveal.visible zaten fadeUp veriyordu; burada easing'i premium'a çekip --i'den
   gecikme okuyoruz. BLUR YOK (GPU-only opacity+translateY). İkinci observer YOK.
   ================================================================================ */
.reveal.visible{
  animation:lwReveal var(--dur-slow) var(--ease-soft) forwards;
  animation-delay:calc(var(--i,0) * var(--stagger))
}
@keyframes lwReveal{
  from{opacity:0;transform:translateY(24px)}
  to{opacity:1;transform:translateY(0)}
}
.reveal--zoom.visible{animation-name:lwRevealZoom}
@keyframes lwRevealZoom{
  from{opacity:0;transform:scale(.96)}
  to{opacity:1;transform:scale(1)}
}

/* ================================================================================
   L17) LINK ALT-ÇİZGİ — soldan doğan altın underline (nav/footer/kart linkleri)
   ================================================================================ */
.nav-menu a:not(.btn),.footer-col a,.service-card-foot a,.blog-readmore{position:relative}
.nav-menu a:not(.btn)::after,.footer-col a::after,
.service-card-foot a::after,.blog-readmore::after{
  content:'';position:absolute;left:0;right:0;bottom:-2px;height:1.5px;
  background:var(--gold);transform:scaleX(0);transform-origin:left;
  transition:transform var(--dur) var(--ease-soft);pointer-events:none
}
.nav-menu a:not(.btn):hover::after,.footer-col a:hover::after,
.service-card-foot a:hover::after,.blog-readmore:hover::after{transform:scaleX(1)}

/* ================================================================================
   L18) HERO FLOAT — sonsuz ince yüzme (YALNIZ desktop, reduced-motion yok)
   ================================================================================ */
@media (hover:hover) and (min-width:1025px){
  .hero-visual-main{animation:lwFloat 7s var(--ease-soft) infinite}
  .hero-visual-card.top{animation:lwFloatCard 6s var(--ease-soft) infinite}
  .hero-visual-card.bottom{animation:lwFloatCard 6s var(--ease-soft) infinite reverse;animation-delay:-2s}
}
@keyframes lwFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes lwFloatCard{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}

/* ================================================================================
   L19) MOBİL PERFORMANS GÜVENLİĞİ (≤640px) — denetçi korunmalısı
   tek noise · fixed kaplama KAPALI · backdrop-blur (header hariç) KAPALI ·
   mix-blend hafif · stagger söner · animasyon yalnız transform/opacity
   ================================================================================ */
@media(max-width:640px){
  body::before{display:none}                       /* fixed+blend kaplama tamamen kapalı */
  .hero-visual-card{                                /* hero kartlarında blur KAPALI */
    -webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(255,255,255,.92)
  }
  .service-card-img .badge{background:rgba(255,255,255,.94)}
  .hero::after,.services-section::before,.stats-section::before,.page-hero::after{opacity:.03}
  .service-card-img::after,.about-img::after,.gallery-item::after,
  .blog-img::after,.blog-image::after,.detail-image::after{opacity:.7}
  .cta-banner::after{inset:10px}
  .services-section .service-card{box-shadow:var(--elev-2),0 12px 30px rgba(0,0,0,.3)}
  :root{--dur:.32s;--dur-slow:.5s;--stagger:40ms}
  .service-card:hover,.blog-card:hover{transform:translateY(-3px)}
}

/* ================================================================================
   L20) prefers-reduced-motion — TAM SAYGI (mevcut satır 842 korunur, genişletilir)
   ================================================================================ */
@media(prefers-reduced-motion:reduce){
  .reveal,.reveal.visible{animation:none!important;opacity:1!important;transform:none!important}
  .hero-visual-main,.hero-visual-card.top,.hero-visual-card.bottom{animation:none!important;transform:none!important}
  .btn-accent::after,.btn-primary::after,.btn-white::after{display:none}
  .features-grid .feature::before,.testimonial::after,
  .nav-menu a::after,.footer-col a::after{transition:none}
}
/* ============================================================
   FİYAT GÖSTERME — iş kuralı: ofis fiyatları ASLA yazmaz
   ============================================================ */
.service-price,.service-card .price,.service-card-foot .service-price,
.price-card .price-value,.price-card .price-label,.price-value,
.pc-total,.price-calc,.service-price-card{display:none!important}
/* hizmet-detay fiyat kartı → "arayın" mesajı */
.price-card{text-align:center}
.price-card::after{content:"Size özel teklif için arayın";display:block;font-family:var(--display);font-size:1.15rem;font-weight:600;color:var(--primary)}
.price-card::before{content:"0322 458 58 08";display:block;font-size:.95rem;font-weight:700;color:var(--accent-dark);margin-bottom:6px;letter-spacing:.02em}
