/* ── RoomRecipe — Shared Styles ──────────────────────────────────────────── */
/* Bu dosya 3 sayfada ortak olan CSS kurallarını içerir.                     */
/* Sayfa-spesifik kurallar her HTML dosyasının kendi <style> bloğunda kalır. */

/* ── RESET ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

/* ── CSS CUSTOM PROPERTIES ── */
:root {
  --teal: #2dd4bf; --teal-dark: #0d9488; --black: #05070a; --dark: #0f172a;
  --slate-50: #f8fafc; --slate-100: #f1f5f9; --slate-200: #e2e8f0;
  --slate-400: #94a3b8; --slate-500: #64748b; --slate-700: #334155;
  --slate-900: #0f172a; --white: #ffffff;
  --cream: #faf9f6; --cream-100: #f4f0e8; --warm-border: #e8e0d0;
}

/* ── BASE ── */
html { scroll-behavior: smooth; }
body { font-family: 'DM Sans', sans-serif; color: var(--black); background: var(--white); overflow-x: hidden; }

/* ── NAVBAR ── */
.navbar {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  padding: 14px 40px; background: rgba(15,23,42,0.85); backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(255,255,255,0.06);
  display: flex; align-items: center; justify-content: space-between;
  transition: background 0.3s;
}
.navbar.scrolled { background: rgba(255,255,255,0.96); border-bottom-color: var(--slate-100); }
.navbar.scrolled .nav-links a { color: var(--slate-500); }
.navbar.scrolled .nav-links a:hover { color: var(--slate-900); }
.navbar.scrolled .nav-btn { border-color: var(--slate-200); color: var(--slate-900); }
.navbar.scrolled .nav-logo-text { color: var(--slate-900); }
.nav-logo { display: flex; align-items: center; gap: 10px; cursor: pointer; text-decoration: none; }
.nav-logo-icon { width: 30px; height: 30px; background: var(--teal); border-radius: 7px; display: flex; align-items: center; justify-content: center; font-weight: 900; font-size: 13px; color: var(--dark); }
.nav-logo-text { font-size: 16px; font-weight: 900; letter-spacing: -0.3px; color: #fff; }
.nav-logo-text span { color: var(--teal); }
.nav-links { display: flex; gap: 28px; list-style: none; }
.nav-links a { text-decoration: none; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; color: rgba(255,255,255,0.5); transition: color 0.2s; }
.nav-links a:hover { color: #fff; }
.nav-right { display: flex; align-items: center; gap: 10px; }
.nav-btn { padding: 8px 22px; border: 1px solid rgba(255,255,255,0.2); border-radius: 8px; font-size: 11px; font-weight: 700; background: transparent; color: #fff; cursor: pointer; transition: all 0.2s; }
.nav-btn:hover { background: rgba(255,255,255,0.1); }
.nav-cta { background: var(--teal); color: var(--dark); padding: 9px 20px; border: none; border-radius: 8px; font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: 0.12em; cursor: pointer; transition: all 0.2s; text-decoration: none; white-space: nowrap; display: inline-flex; align-items: center; }
.nav-cta:hover { background: #fff; transform: translateY(-1px); }
/* ── HAMBURGER ── */
.nav-hamburger {
  display: none; background: none; border: none; color: #fff;
  font-size: 22px; cursor: pointer; padding: 4px 8px; line-height: 1;
  transition: color 0.2s;
}
.navbar.scrolled .nav-hamburger { color: var(--slate-900); }
@media (max-width: 768px) {
  .navbar { padding: 12px 20px; }
  .nav-hamburger { display: flex; align-items: center; }
  .nav-links {
    display: none; flex-direction: column;
    position: absolute; top: 100%; left: 0; right: 0;
    background: var(--dark); padding: 16px 20px 24px;
    border-bottom: 1px solid rgba(255,255,255,0.08); gap: 0;
  }
  .nav-links.open { display: flex; }
  .nav-links li { border-bottom: 1px solid rgba(255,255,255,0.06); }
  .nav-links li:last-child { border-bottom: none; }
  .nav-links a { display: block; padding: 13px 0; color: rgba(255,255,255,0.7) !important; font-size: 12px; }
  .navbar.scrolled .nav-links { background: #fff; border-bottom-color: var(--slate-100); }
  .navbar.scrolled .nav-links a { color: var(--slate-500) !important; }
  .navbar.scrolled .nav-links a:hover { color: var(--slate-900) !important; }
  .nav-right .nav-btn { display: none; }
}

/* ── FOOTER SOCIAL ── */
.footer-social { display: flex; align-items: center; gap: 14px; }
.footer-social a {
  display: flex; align-items: center; justify-content: center;
  width: 30px; height: 30px; border-radius: 7px;
  background: var(--slate-100); color: var(--slate-500);
  transition: all 0.2s; text-decoration: none;
}
.footer-social a:hover { background: var(--teal); color: var(--dark); }
.footer-social svg { width: 15px; height: 15px; fill: currentColor; }

/* ── SCROLL REVEAL ── */
.reveal { opacity:0; transform:translateY(28px); transition:opacity 0.65s cubic-bezier(0.16,1,0.3,1),transform 0.65s cubic-bezier(0.16,1,0.3,1); }
.reveal.revealed { opacity:1; transform:none; }
.reveal-left { opacity:0; transform:translateX(-32px); transition:opacity 0.7s cubic-bezier(0.16,1,0.3,1),transform 0.7s cubic-bezier(0.16,1,0.3,1); }
.reveal-left.revealed { opacity:1; transform:none; }
.reveal-right { opacity:0; transform:translateX(32px); transition:opacity 0.7s cubic-bezier(0.16,1,0.3,1),transform 0.7s cubic-bezier(0.16,1,0.3,1); }
.reveal-right.revealed { opacity:1; transform:none; }
.reveal-d1 { transition-delay: 0.08s; }
.reveal-d2 { transition-delay: 0.16s; }
.reveal-d3 { transition-delay: 0.24s; }

/* ── FOOTER ── */
.footer { padding: 32px 40px; border-top: 1px solid var(--slate-100); }
.footer-inner { max-width: 1280px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 14px; }
.footer-logo { display: flex; align-items: center; gap: 8px; cursor: pointer; }
.footer-logo-wrap { display: flex; align-items: center; gap: 8px; }
.footer-logo-icon { width: 22px; height: 22px; background: var(--slate-900); border-radius: 5px; display: flex; align-items: center; justify-content: center; font-size: 9px; font-weight: 900; color: #fff; }
.footer-logo-text { font-size: 12px; font-weight: 900; color: var(--slate-900); }
.footer-logo-text span { color: var(--teal); }
.footer-copy { font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.12em; color: var(--slate-400); }
.footer-links { display: flex; gap: 18px; }
.footer-links a { font-size: 9px; font-weight: 900; text-transform: uppercase; letter-spacing: 0.15em; color: var(--slate-400); text-decoration: none; transition: color 0.2s; }
.footer-links a:hover { color: var(--teal); }

/* ── COOKIE CONSENT ── */
.cookie-banner {
  display: none; position: fixed; bottom: 0; left: 0; right: 0; z-index: 200;
  background: var(--dark); border-top: 1px solid rgba(255,255,255,0.1);
  padding: 16px 40px; align-items: center; justify-content: space-between;
  gap: 16px; flex-wrap: wrap;
}
.cookie-banner.visible { display: flex; }
.cookie-text { font-size: 13px; color: rgba(255,255,255,0.7); line-height: 1.5; }
.cookie-text a { color: var(--teal); text-decoration: none; }
.cookie-text a:hover { text-decoration: underline; }
.cookie-actions { display: flex; gap: 10px; flex-shrink: 0; }
.cookie-btn {
  padding: 8px 20px; border-radius: 7px; font-size: 11px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.1em; cursor: pointer; border: none; transition: all 0.2s;
}
.cookie-accept { background: var(--teal); color: var(--dark); }
.cookie-accept:hover { background: #fff; }
.cookie-reject { background: transparent; color: rgba(255,255,255,0.5); border: 1px solid rgba(255,255,255,0.2); }
.cookie-reject:hover { color: #fff; border-color: rgba(255,255,255,0.4); }
@media (max-width: 768px) { .cookie-banner { padding: 16px 20px; } .cookie-text { font-size: 12px; } }

/* ── ANIMATIONS ── */
@keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.4; } }
