/*
 * Bab-ı Zer — Professional colour & typography refinement, November 2026
 * Uses local/system fonts only. No extra tracking, external calls or dependencies.
 * Intentionally leaves website structure, routes, modal behaviour and hero video unchanged.
 */
:root {
  --ink: #2c3440;
  --muted: #59616b;
  --wine: #765263;
  --blush: #e7bfcd;
  --blush-deep: #aa7189;
  --gold: #b79a70;
  --cream: #fbf8f7;
  --line: rgba(100, 105, 113, .19);
  --shadow: 0 25px 65px rgba(25, 30, 42, .16);
  --boutique-charcoal: #28303e;
  --boutique-slate: #373947;
  --boutique-pearl: #fdfaf9;
  --boutique-rose: #e7c1cc;
  --boutique-violet: #745a6c;
}

body {
  color: var(--ink);
  background-color: #e8e3e5;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Navigation: clear but not chunky; elegant controls with restrained hover. */
.site-topbar {
  background: rgba(253, 251, 250, .96);
  border-color: rgba(255, 255, 255, .92);
  box-shadow: 0 12px 36px rgba(29, 31, 43, .14);
}
.nav-item {
  color: #3c424d;
  font-weight: 600;
  letter-spacing: .018em;
}
.nav-item:hover, .nav-item:focus-visible {
  color: #58394a;
  background: #f5e7ec;
  box-shadow: 0 7px 18px rgba(97, 68, 82, .08);
}
.language-switch { background: #f4eff0; border-color: #eee5e8; }
.language-switch a { color: #4e5360; }
.language-switch a[aria-current="page"] { color: #292f3c; }
.language-switch a:hover { background: #fff9fb; }

.top-reserve, .hero-cta, .menu-book {
  background: #e8c3cf;
  border-color: #d7a6b8;
  color: #423340;
  font-weight: 650;
  letter-spacing: .025em;
  box-shadow: 0 7px 18px rgba(125, 79, 103, .12);
}
.top-reserve:hover, .top-reserve:focus-visible,
.hero-cta.primary-cta:hover, .hero-cta.primary-cta:focus-visible,
.menu-book:hover, .menu-book:focus-visible {
  background: #dcb1c0;
  color: #302b38;
  border-color: #bd8aa0;
  box-shadow: 0 12px 24px rgba(123, 77, 103, .20);
}

/* Hero: premium, editorial, legible; retain size and overall composition. */
.hero-panel {
  background: linear-gradient(150deg, rgba(255, 253, 252, .95), rgba(249, 243, 245, .92));
  border-color: rgba(255, 255, 255, .92);
  box-shadow: 0 24px 72px rgba(29, 30, 41, .18);
}
.hero-eyebrow { color: #655d69; font-weight: 650; letter-spacing: .16em; }
.hero-panel h1 {
  color: #2d3441;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
  letter-spacing: .14em;
  line-height: 1.16;
}
.hero-gold-rule {
  background: linear-gradient(90deg, transparent, #ba9d78 32%, #b0946c 70%, transparent);
}
.hero-subtitle {
  color: #4d5360;
  font-size: clamp(16px, 1.32vw, 19px);
  letter-spacing: .002em;
  line-height: 1.75;
}
.secondary-cta {
  background: #fffefe;
  border-color: #d6c6cf;
  color: #404651;
}
.secondary-cta:hover, .secondary-cta:focus-visible {
  background: #f6eef1;
  border-color: #c8a6b5;
  color: #33323e;
  box-shadow: 0 13px 26px rgba(98, 77, 94, .11);
}
.outline-cta {
  background: rgba(255,255,255,.38);
  border-color: #b8a5b0;
  color: #424753;
}
.outline-cta:hover, .outline-cta:focus-visible {
  background: #f3e9ee;
  border-color: #ac8d9c;
  color: #30333f;
  box-shadow: 0 13px 26px rgba(98, 77, 94, .11);
}
.signature-divider { color: #a77287; }
.signature-divider::before, .signature-divider::after {
  background: linear-gradient(90deg, transparent, #b9a4ad);
}
.hero-signature strong {
  color: #62616b;
  font-size: 13px;
  letter-spacing: .035em;
  font-weight: 650;
}

/* Footer: sophisticated charcoal/plum, explicitly replacing the muddy brown. */
.footer-card,
.detail-modal .footer-card {
  background: linear-gradient(125deg, rgba(38, 46, 60, .975), rgba(54, 53, 68, .965));
  border: 1px solid rgba(234, 220, 226, .23);
  border-radius: 22px;
  box-shadow: 0 18px 48px rgba(19, 23, 34, .22);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  color: #f9f7fa;
  gap: 25px;
}
.footer-column h3 {
  color: #f2dee6;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.4;
  letter-spacing: .145em;
  margin-bottom: 14px;
}
.footer-column p {
  color: #f1f0f3;
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: .005em;
}
.footer-column strong { color: #ffffff; font-weight: 650; }
.footer-column a {
  color: #f1eff3;
  border-bottom-color: rgba(255, 255, 255, .24);
  text-decoration-thickness: 1px;
  transition: color .2s, border-color .2s;
}
.footer-column a:hover, .footer-column a:focus-visible {
  color: #f7d2df;
  border-color: #f7d2df;
}
.footer-legal a, .footer-legal button {
  color: #f1eff3;
  font-size: 13px;
  margin-bottom: 5px;
  line-height: 1.55;
}
.footer-cookie-btn {
  border: 0;
  color: #f1eff3;
  text-underline-offset: 5px;
  text-decoration-color: rgba(255,255,255,.28);
}
.footer-cookie-btn:hover, .footer-cookie-btn:focus-visible { color: #f7d2df; }
.copyright, .detail-copyright {
  color: #f7f3f6;
  font-size: 11px;
  letter-spacing: .13em;
  font-weight: 600;
  text-shadow: 0 2px 12px rgba(13, 17, 25, .5);
}

/* Interior content: a consistent typographic scale, cool neutral ink. */
.modal-tools {
  color: #636674;
  background: #fdfbfb;
  border-color: #e9e3e8;
}
.modal-close { color: #513f4c; background: #f3e8ee; }
.modal-close:hover { background: #ead2dd; color: #312c38; }
.detail-content {
  color: #414953;
  background: rgba(254, 252, 251, .975);
  font-size: 16px;
  line-height: 1.85;
}
.detail-content .major {
  color: #2e3542;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
  border-bottom-color: #dacbd5;
}
.detail-content h3 {
  color: #574253;
  font-weight: 500;
}
.detail-content strong { color: #303642; font-weight: 650; }
.detail-content a:not(.button) { color: #82516b; }
.detail-content a:hover { color: #583a51; }
.detail-content .button {
  color: #3a3440;
  background: #ebc9d4;
  border-color: #d9adbe;
  font-weight: 650;
}
.detail-content .button:hover { background: #deb4c4; }

/* Legal notices & restaurant menu: print-like, with excellent reading contrast. */
.static-page .video-backdrop::after { background: rgba(31, 35, 46, .59); }
.back-home, .lang-link {
  color: #3e4451;
  background: rgba(253, 251, 250, .97);
  border-color: rgba(255,255,255,.92);
}
.back-home:hover, .lang-link:hover { background: #f2e4eb; color: #503a4a; }
.legal-main, .menu-heading {
  background: rgba(255, 253, 252, .985);
  color: #36404d;
  border-color: rgba(255,255,255,.95);
}
.legal-kicker { color: #7d586b; letter-spacing: .15em; }
.legal-main h1, .menu-heading h1 {
  color: #2d3441;
  font-weight: 400;
  letter-spacing: -.014em;
}
.legal-lead, .menu-heading p { color: #515965; }
.legal-updated { color: #646b78; border-color: #e6dfe4; }
.legal-section { border-bottom-color: #e7e0e5; }
.legal-section h2 { color: #453c4b; font-weight: 650; }
.legal-section div { color: #3f4856; line-height: 1.85; }
.legal-section a { color: #86516a; }
.legal-section a:hover { color: #573849; }
.data-table-wrap td, .data-table-wrap th { border-bottom-color: #e5dfe4; }
.data-table-wrap th { background: #f5eff2; }
.inline-cookie-button { color: #513849; background: #f2e1e9; border-color: #d6b5c2; }

/* Cookie notice, consistent with legal pages rather than an unrelated accent. */
.cookie-banner, .cookie-dialog-inner {
  color: #303845;
  background: #fffdfc;
  border-color: #e9e2e6;
}
.cookie-banner strong { color: #343745; font-weight: 700; }
.cookie-banner p, .cookie-dialog-inner p { color: #58616b; }
.cookie-banner a, .cookie-dialog-actions a { color: #82516b; }
.cookie-actions button, .cookie-dialog-actions button {
  color: #41434f;
  background: #f4edf0;
  border-color: #e0d0d9;
}
.cookie-actions .cookie-accept, .cookie-dialog-actions .cookie-accept {
  background: #e8c1cd;
  border-color: #d2a1b3;
  color: #3d3340;
}
.cookie-actions button:hover, .cookie-dialog-actions button:hover { background: #e8d4dd; }
.cookie-dialog-inner h2 { color: #2f3743; }
.cookie-row { border-top-color: #e6dfe4; }
.cookie-row span { color: #765669; }
.cookie-close { color: #3f3e4a; background: #f3e9ee; }

/* Responsive refinements: preserve the established responsive layout. */
@media (max-width: 700px) {
  .footer-card, .detail-modal .footer-card { gap: 19px; }
  .footer-column p { font-size: 13px; }
  .footer-legal a, .footer-legal button { font-size: 12.5px; }
  .hero-panel h1 { letter-spacing: .11em; }
}
@media (prefers-reduced-motion: reduce) {
  .footer-column a, .nav-item, .hero-cta { transition-duration: .01ms; }
}

/* 2026.11: simplified first impression — remove redundant eyebrow without changing the brand. */
.homepage .hero-panel { padding-top: clamp(30px, 3.5vw, 43px); padding-bottom: 29px; }
.homepage .hero-gold-rule { margin: 18px auto 19px; }
.homepage .hero-actions { margin-top: 24px; margin-bottom: 19px; }
.homepage .hero-signature { gap: 5px; }
@media (max-width: 730px) {
 .homepage .hero-panel { padding: 29px 22px 26px; }
 .homepage .hero-gold-rule { margin: 17px auto; }
 .homepage .hero-actions { margin-top: 20px; margin-bottom: 19px; }
}
