/* ============================================================
   immobilie-bewerten.css
   Paid-Landing-Page für Google-Ads-Kampagne 2 (Online-Rechner)
   Prefix: .ib-*  (Immobilie-Bewerten)
   Design-System: WI Teal + Gold, Cormorant Garamond + DM Sans
   Mobile-first.
   ============================================================ */

:root {
  --ib-teal: #4BBFAD;
  --ib-teal-dark: #2f8a7d;
  --ib-teal-soft: #e9f7f4;
  --ib-gold: #c5a55a;
  --ib-gold-dark: #a8893d;
  --ib-ink: #1a1a1a;
  --ib-ink-soft: #3a3a3a;
  --ib-mute: #6b6b6b;
  --ib-bg: #ffffff;
  --ib-bg-cream: #f7f4ee;
  --ib-bg-soft: #f3f2ef;
  --ib-border: #e5e1d7;
  --ib-ok: #27ae60;
  --ib-shadow-sm: 0 2px 8px rgba(15,15,15,0.06);
  --ib-shadow-md: 0 6px 20px rgba(15,15,15,0.08);
  --ib-shadow-lg: 0 14px 40px rgba(15,15,15,0.10);
  --ib-radius: 14px;
  --ib-radius-sm: 8px;
  --ib-ff-head: 'Cormorant Garamond', Georgia, serif;
  --ib-ff-body: 'DM Sans', system-ui, sans-serif;
  --ib-container: 1140px;
  --ib-container-narrow: 880px;
}

*, *::before, *::after { box-sizing: border-box; }

.ib-body {
  margin: 0;
  padding: 0;
  font-family: var(--ib-ff-body);
  font-size: 17px;
  line-height: 1.55;
  color: var(--ib-ink);
  background: var(--ib-bg);
  -webkit-font-smoothing: antialiased;
}

.ib-body img { max-width: 100%; height: auto; display: block; }
.ib-body a { color: var(--ib-teal-dark); }

/* ── Container ── */
.ib-container {
  max-width: var(--ib-container);
  margin: 0 auto;
  padding: 0 20px;
}
.ib-container--narrow { max-width: var(--ib-container-narrow); }

/* ── Section-Spacing ── */
.ib-section {
  padding: 56px 0;
}
.ib-section--cream { background: var(--ib-bg-cream); }
.ib-section--soft  { background: var(--ib-bg-soft); }
.ib-section--ink   { background: var(--ib-ink); color: #f3f2ef; }
.ib-section--ink h2, .ib-section--ink h3 { color: #fff; }

@media (min-width: 860px) {
  .ib-section { padding: 96px 0; }
}

/* ── Kicker + Headline ── */
.ib-kicker {
  display: inline-block;
  font-family: var(--ib-ff-body);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ib-teal-dark);
  margin-bottom: 14px;
}
.ib-kicker--gold { color: var(--ib-gold-dark); }

.ib-h2 {
  font-family: var(--ib-ff-head);
  font-weight: 500;
  font-size: 32px;
  line-height: 1.1;
  letter-spacing: -0.01em;
  color: var(--ib-ink);
  margin: 0 0 14px;
}
.ib-h2 em { font-style: italic; color: var(--ib-gold-dark); }

@media (min-width: 860px) {
  .ib-h2 { font-size: 44px; }
}

.ib-h3 {
  font-family: var(--ib-ff-head);
  font-weight: 500;
  font-size: 22px;
  line-height: 1.2;
  color: var(--ib-ink);
  margin: 0 0 8px;
}

.ib-lead {
  font-size: 17px;
  color: var(--ib-ink-soft);
  max-width: 60ch;
  margin: 0 0 28px;
}
@media (min-width: 860px) {
  .ib-lead { font-size: 19px; }
}

.ib-section__head { margin-bottom: 32px; max-width: 720px; }

/* ── Buttons ── */
.ib-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 15px 28px;
  border-radius: 999px;
  font-family: var(--ib-ff-body);
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.005em;
  text-decoration: none;
  cursor: pointer;
  border: 1px solid transparent;
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.ib-btn:hover { transform: translateY(-1px); }
.ib-btn--primary {
  background: var(--ib-teal);
  color: #fff;
  box-shadow: 0 10px 28px rgba(75,191,173,0.35);
}
.ib-btn--primary:hover { background: var(--ib-teal-dark); }
.ib-btn--ghost {
  background: transparent;
  color: var(--ib-ink);
  border-color: var(--ib-ink);
}
.ib-btn--ghost:hover { background: var(--ib-ink); color: #fff; }
.ib-btn--ghost-light {
  background: transparent;
  color: #fff;
  border-color: rgba(255,255,255,0.5);
}
.ib-btn--ghost-light:hover { background: #fff; color: var(--ib-ink); }
.ib-btn--wa {
  background: #25D366;
  color: #fff;
}
.ib-btn--wa:hover { background: #1fa857; }

.ib-btn:focus-visible {
  outline: 2px solid var(--ib-gold);
  outline-offset: 3px;
}

/* ── Card-Utility ── */
.ib-card {
  background: #fff;
  border: 1px solid var(--ib-border);
  border-radius: var(--ib-radius);
  padding: 28px 26px;
  box-shadow: var(--ib-shadow-sm);
}

/* ── Icon-Größen ── */
.ib-icon {
  width: 28px;
  height: 28px;
  flex-shrink: 0;
}
.ib-icon--lg { width: 36px; height: 36px; }
.ib-icon--sm { width: 18px; height: 18px; }

/* ── Grid-Utilities ── */
.ib-grid-2 { display: grid; grid-template-columns: 1fr; gap: 20px; }
.ib-grid-3 { display: grid; grid-template-columns: 1fr; gap: 20px; }
.ib-grid-4 { display: grid; grid-template-columns: 1fr; gap: 20px; }
@media (min-width: 720px) {
  .ib-grid-2 { grid-template-columns: repeat(2, 1fr); gap: 28px; }
  .ib-grid-3 { grid-template-columns: repeat(3, 1fr); gap: 28px; }
  .ib-grid-4 { grid-template-columns: repeat(2, 1fr); gap: 24px; }
}
@media (min-width: 1024px) {
  .ib-grid-4 { grid-template-columns: repeat(4, 1fr); }
}

/* ───────────────────────────────────────────────────────── */
/* HERO — Split-Layout, Mobile stacked                       */
/* ───────────────────────────────────────────────────────── */

.ib-hero {
  position: relative;
  background: linear-gradient(180deg, #0e1f1c 0%, #1a2c28 100%);
  color: #f3f2ef;
  /* Fixed-Navbar (.lp-header) ist ~86px mobile / ~96px desktop hoch.
     Padding-top muss Navbar-Hoehe + Atemraum enthalten, sonst wird der
     Eyebrow "Online-Bewertung * 3 Minuten" verdeckt. */
  padding: 110px 0 0;
  overflow: hidden;
}
.ib-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  /* Mobile (Default): 400w ~24 KB. Responsive Varianten via Media-Queries. */
  background-image: url('/bilder/will-immobilien-buero-400w.webp');
  background-size: cover;
  background-position: center 30%;
  opacity: 0.20;
  z-index: 0;
  pointer-events: none;
}
@media (min-width: 700px) {
  .ib-hero::before { background-image: url('/bilder/will-immobilien-buero-800w.webp'); }
}
@media (min-width: 1100px) {
  .ib-hero::before { background-image: url('/bilder/will-immobilien-buero-1200w.webp'); }
}
.ib-hero__grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr;
  gap: 32px;
  align-items: stretch;
}
.ib-hero__col-left {
  padding: 20px 0 0;
}
.ib-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 18px;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.22);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #fff;
  margin-bottom: 18px;
}
.ib-hero__eyebrow::before {
  content: "";
  width: 8px; height: 8px;
  background: var(--ib-teal);
  border-radius: 50%;
}
.ib-hero__h1 {
  font-family: var(--ib-ff-head);
  font-weight: 500;
  font-size: 42px;
  line-height: 1.05;
  letter-spacing: -0.02em;
  margin: 0 0 18px;
  color: #fff;
}
.ib-hero__h1 em { font-style: italic; color: var(--ib-gold); }
.ib-hero__sub {
  font-size: 17px;
  line-height: 1.5;
  color: rgba(255,255,255,0.88);
  margin: 0 0 24px;
  max-width: 56ch;
  text-shadow: 0 1px 3px rgba(0,0,0,0.35);
}
.ib-hero__trust-list {
  list-style: none;
  margin: 0 0 24px;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
.ib-hero__trust-item {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 14px;
  color: rgba(255,255,255,0.92);
}
.ib-hero__trust-item svg { color: var(--ib-gold); }

.ib-hero__mini-steps {
  list-style: none;
  margin: 20px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}
.ib-hero__mini-step {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: 14px 16px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 10px;
}
.ib-hero__mini-step-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px; height: 28px;
  background: var(--ib-teal);
  color: #fff;
  font-family: var(--ib-ff-head);
  font-weight: 600;
  font-size: 16px;
  border-radius: 50%;
  flex-shrink: 0;
}
.ib-hero__mini-step-body {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.ib-hero__mini-step-title {
  display: block;
  font-weight: 500;
  font-size: 15px;
  color: #fff;
}
.ib-hero__mini-step-text {
  display: block;
  font-size: 13px;
  color: rgba(255,255,255,0.75);
  line-height: 1.4;
}

/* Hero Rechner-Spalte */
.ib-hero__col-right {
  background: #fff;
  border-radius: var(--ib-radius) var(--ib-radius) 0 0;
  padding: 20px 20px 0;
  margin-top: 24px;
  box-shadow: 0 -10px 30px rgba(0,0,0,0.25);
}
.ib-hero__rechner-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--ib-border);
  color: var(--ib-ink);
}
.ib-hero__rechner-head strong {
  font-family: var(--ib-ff-head);
  font-weight: 600;
  font-size: 18px;
  color: var(--ib-ink);
}
.ib-hero__rechner-head small {
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ib-mute);
}
.ib-hero__rechner-frame {
  width: 100%;
  border: 0;
  display: block;
  min-height: 720px;
  overflow: hidden;
  border-radius: 0 0 var(--ib-radius) var(--ib-radius);
}

/* Desktop Hero */
@media (min-width: 900px) {
  /* Desktop-Navbar ~96px (trust ~30px + inner 66px) + Atemraum */
  .ib-hero { padding: 130px 0 0; }
  .ib-hero__grid {
    grid-template-columns: 1fr 1.1fr;
    gap: 48px;
  }
  .ib-hero__h1 { font-size: 64px; }
  .ib-hero__sub { font-size: 20px; }
  .ib-hero__col-right {
    margin-top: 0;
    padding: 24px;
    border-radius: var(--ib-radius);
  }
  .ib-hero__rechner-frame { min-height: 760px; border-radius: 0; }
}

/* ───────────────────────────────────────────────────────── */
/* EARLY-CONTACT — Premium-Intent direkt nach Rechner        */
/* ───────────────────────────────────────────────────────── */

.ib-early {
  background: var(--ib-bg-cream);
  padding: 40px 0;
  border-top: 1px solid var(--ib-border);
  border-bottom: 1px solid var(--ib-border);
}
.ib-early__wrap {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  align-items: center;
}
.ib-early__text h3,
.ib-early__h2 {
  font-family: var(--ib-ff-head);
  font-weight: 500;
  font-size: 26px;
  line-height: 1.15;
  color: var(--ib-ink);
  margin: 0 0 8px;
}
.ib-early__h2 em { font-style: italic; color: var(--ib-gold-dark); }
.ib-early__text p {
  color: var(--ib-ink-soft);
  margin: 0;
  max-width: 60ch;
}
.ib-early__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
@media (min-width: 860px) {
  .ib-early { padding: 54px 0; }
  .ib-early__wrap { grid-template-columns: 1.3fr 1fr; gap: 36px; }
  .ib-early__text h3,
  .ib-early__h2 { font-size: 30px; }
}

/* ───────────────────────────────────────────────────────── */
/* WARUM-UNS                                                  */
/* ───────────────────────────────────────────────────────── */

.ib-warum__card {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.ib-warum__icon {
  width: 42px; height: 42px;
  color: var(--ib-teal);
}
.ib-warum__card h3 {
  font-family: var(--ib-ff-head);
  font-weight: 500;
  font-size: 21px;
  color: var(--ib-ink);
  margin: 0;
}
.ib-warum__card p {
  color: var(--ib-ink-soft);
  font-size: 15px;
  margin: 0;
}

/* ───────────────────────────────────────────────────────── */
/* EINLADUNG — Dennis + Sarah, Trust-Anker nach Warum-uns    */
/* Kompakter als MP-LP-Hero: Portrait + Zitat je Karte,      */
/* Desktop 2-spaltig, Mobile gestapelt.                       */
/* ───────────────────────────────────────────────────────── */

.ib-einladung {
  background: #fff;
}
.ib-einladung .ib-section__head {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
.ib-einladung .ib-section__head .ib-lead {
  margin-left: auto;
  margin-right: auto;
}

.ib-einladung__grid {
  margin-top: 8px;
}

.ib-einladung__card {
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 24px;
  background: var(--ib-bg-cream);
  border: 1px solid var(--ib-border);
  border-radius: var(--ib-radius);
  box-shadow: var(--ib-shadow-sm);
}

.ib-einladung__portrait {
  width: 96px;
  height: 96px;
  border-radius: 50%;
  overflow: hidden;
  border: 2px solid var(--ib-gold);
  flex-shrink: 0;
  box-shadow: var(--ib-shadow-sm);
}
.ib-einladung__portrait img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.ib-einladung__body {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.ib-einladung__quote {
  font-family: var(--ib-ff-head);
  font-style: italic;
  font-weight: 500;
  font-size: 20px;
  line-height: 1.35;
  color: var(--ib-ink);
  margin: 0;
  position: relative;
  padding-left: 18px;
  border-left: 3px solid var(--ib-teal);
}

.ib-einladung__footer {
  margin: 0;
  padding-top: 4px;
  border-top: 1px solid var(--ib-border);
  padding-top: 12px;
}
.ib-einladung__name {
  font-family: var(--ib-ff-head);
  font-weight: 600;
  font-size: 18px;
  color: var(--ib-ink);
  line-height: 1.2;
}
.ib-einladung__role {
  font-size: 13px;
  letter-spacing: 0.02em;
  color: var(--ib-mute);
  margin-top: 2px;
}

.ib-einladung__cta {
  margin-top: 32px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  text-align: center;
}
.ib-einladung__cta-note {
  font-size: 13px;
  color: var(--ib-mute);
  margin: 0;
}

/* Desktop: Karten horizontaler (Portrait links, Zitat rechts) */
@media (min-width: 720px) {
  .ib-einladung__card {
    flex-direction: row;
    align-items: flex-start;
    gap: 24px;
    padding: 28px;
  }
  .ib-einladung__portrait {
    width: 120px;
    height: 120px;
  }
  .ib-einladung__quote {
    font-size: 21px;
  }
}

@media (min-width: 1024px) {
  .ib-einladung__portrait {
    width: 132px;
    height: 132px;
  }
  .ib-einladung__quote {
    font-size: 22px;
  }
}

/* ───────────────────────────────────────────────────────── */
/* PROZESS                                                    */
/* ───────────────────────────────────────────────────────── */

.ib-prozess__card {
  position: relative;
  padding-top: 36px;
}
.ib-prozess__num {
  position: absolute;
  top: -18px;
  left: 24px;
  font-family: var(--ib-ff-head);
  font-weight: 500;
  font-style: italic;
  font-size: 48px;
  line-height: 1;
  color: var(--ib-gold);
}
.ib-prozess__card h3 {
  font-family: var(--ib-ff-head);
  font-weight: 500;
  font-size: 22px;
  margin: 0 0 8px;
  color: var(--ib-ink);
}

/* ───────────────────────────────────────────────────────── */
/* REGION — Geo-SEO                                           */
/* ───────────────────────────────────────────────────────── */

.ib-region__group {
  margin-bottom: 22px;
}
.ib-region__group h3 {
  font-family: var(--ib-ff-head);
  font-weight: 500;
  font-size: 19px;
  color: var(--ib-gold-dark);
  margin: 0 0 10px;
  padding-bottom: 6px;
  border-bottom: 1px solid var(--ib-border);
}
.ib-region__list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.ib-region__item {
  padding: 6px 14px;
  background: #fff;
  border: 1px solid var(--ib-border);
  border-radius: 999px;
  font-size: 13px;
  color: var(--ib-ink-soft);
}

/* ───────────────────────────────────────────────────────── */
/* TRUST                                                       */
/* ───────────────────────────────────────────────────────── */

.ib-trust__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}
@media (min-width: 720px) {
  .ib-trust__grid { grid-template-columns: repeat(3, 1fr); }
}
.ib-trust__item {
  display: flex;
  gap: 14px;
  align-items: center;
  padding: 20px;
  background: var(--ib-bg-soft);
  border-radius: var(--ib-radius);
}
.ib-trust__icon {
  width: 36px; height: 36px;
  color: var(--ib-gold);
  flex-shrink: 0;
}
.ib-trust__val {
  font-family: var(--ib-ff-head);
  font-size: 22px;
  color: var(--ib-ink);
  margin: 0 0 2px;
}
.ib-trust__label {
  font-size: 13px;
  color: var(--ib-mute);
  margin: 0;
}

/* ───────────────────────────────────────────────────────── */
/* FAQ                                                        */
/* ───────────────────────────────────────────────────────── */

.ib-faq__list {
  max-width: 780px;
  margin: 0 auto;
}
.ib-faq__item {
  border-bottom: 1px solid var(--ib-border);
}
.ib-faq__item:last-child { border-bottom: none; }
.ib-faq__summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 20px 0;
  cursor: pointer;
  list-style: none;
}
.ib-faq__summary::-webkit-details-marker { display: none; }
.ib-faq__q {
  font-family: var(--ib-ff-head);
  font-weight: 500;
  font-size: 19px;
  line-height: 1.3;
  color: var(--ib-ink);
  margin: 0;
  flex: 1;
}
.ib-faq__chev {
  width: 22px; height: 22px;
  color: var(--ib-mute);
  transition: transform .2s ease;
  flex-shrink: 0;
}
.ib-faq__item[open] .ib-faq__chev {
  transform: rotate(180deg);
  color: var(--ib-teal);
}
.ib-faq__a {
  padding: 0 0 22px;
  font-size: 16px;
  color: var(--ib-ink-soft);
  line-height: 1.6;
  max-width: 68ch;
  margin: 0;
}

/* ───────────────────────────────────────────────────────── */
/* CTA — Upsell zum Termin                                    */
/* ───────────────────────────────────────────────────────── */

.ib-cta {
  background:
    linear-gradient(135deg, rgba(10,20,18,0.85) 0%, rgba(10,20,18,0.72) 100%),
    url('/bilder/will-immobilien-buero-400w.webp') center/cover no-repeat;
  color: #fff;
  padding: 72px 0;
}
@media (min-width: 700px) {
  .ib-cta {
    background:
      linear-gradient(135deg, rgba(10,20,18,0.85) 0%, rgba(10,20,18,0.72) 100%),
      url('/bilder/will-immobilien-buero-800w.webp') center/cover no-repeat;
  }
}
@media (min-width: 1100px) {
  .ib-cta {
    background:
      linear-gradient(135deg, rgba(10,20,18,0.85) 0%, rgba(10,20,18,0.72) 100%),
      url('/bilder/will-immobilien-buero-1200w.webp') center/cover no-repeat;
  }
}
.ib-cta__inner {
  text-align: center;
  max-width: 640px;
  margin: 0 auto;
}
.ib-cta__h2 {
  font-family: var(--ib-ff-head);
  font-weight: 500;
  font-size: 34px;
  line-height: 1.12;
  margin: 0 0 14px;
  color: #fff;
}
.ib-cta__h2 em { color: var(--ib-gold); font-style: italic; }
.ib-cta__text {
  font-size: 17px;
  color: rgba(255,255,255,0.88);
  margin: 0 0 28px;
}
.ib-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  justify-content: center;
}
@media (min-width: 860px) {
  .ib-cta { padding: 110px 0; }
  .ib-cta__h2 { font-size: 44px; }
}

/* ───────────────────────────────────────────────────────── */
/* Utility                                                    */
/* ───────────────────────────────────────────────────────── */

.ib-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;
}

/* Focus-visible global override für Rechner-Kontrast */
.ib-body *:focus-visible {
  outline: 2px solid var(--ib-gold);
  outline-offset: 3px;
  border-radius: 4px;
}

/* ───────────────────────────────────────────────────────── */
/* FOOTER — portiert aus /css/style.css (WI-CI konform)      */
/* Globale Footer-Klassen (site-footer, footer-*, fc-*)      */
/* nicht unter .ib-body scoped, damit der gemeinsame         */
/* includes/footer.php identisch wie auf anderen Seiten      */
/* rendert. Hex-Werte statt --ib-*-Tokens, da Footer         */
/* außerhalb des LP-Scopes steht.                            */
/* ───────────────────────────────────────────────────────── */
.site-footer { background:#1a1a1a; color:#ccc; font-family:'DM Sans',system-ui,sans-serif; }

.footer-top {
  max-width:1400px; margin:0 auto;
  padding: clamp(56px,6vw,80px) clamp(20px,3vw,48px) 48px;
  display:grid;
  grid-template-columns: 1.8fr 1fr 1fr 1.4fr;
  gap:48px;
}

.footer-logo-img { height:40px; width:auto; display:block; filter:brightness(0) invert(1); opacity:0.88; margin-bottom:18px; }
.footer-tagline { font-family:'Cormorant Garamond',Georgia,serif; font-size:19px; font-weight:600; color:#fff; line-height:1.4; margin-bottom:13px; }
.footer-desc { font-size:13px; color:#777; line-height:1.8; margin-bottom:24px; max-width:280px; }

.footer-contacts { display:flex; flex-direction:column; gap:10px; margin-bottom:22px; }
.fc-item { display:flex; align-items:center; gap:11px; font-size:13px; color:#999; }
.fc-item a { color:#999; text-decoration:none; transition:color 0.2s; }
.fc-item a:hover { color:#4BBFAD; }
.fc-icon { width:30px; height:30px; flex-shrink:0; background:rgba(255,255,255,0.05); border-radius:7px; display:flex; align-items:center; justify-content:center; font-size:14px; }

.footer-hours { font-size:12px; color:#666; line-height:2; margin-bottom:20px; }
.footer-hours strong { color:#888; display:inline-block; min-width:48px; }

.footer-col-ttl { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:2px; color:#b39a6a; margin-bottom:18px; padding-bottom:10px; border-bottom:1px solid rgba(255,255,255,0.06); }
.footer-nav { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:9px; }
.footer-nav li a { font-size:13px; color:#777; text-decoration:none; transition:color 0.2s, padding-left 0.2s; display:block; }
.footer-nav li a:hover { color:#4BBFAD; padding-left:4px; }

/* Bottom bar */
.footer-bottom {
  border-top:1px solid rgba(255,255,255,0.06);
  padding: 18px clamp(20px,3vw,48px);
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px;
}
.footer-bottom-links { display:flex; align-items:center; gap:6px; flex-wrap:wrap; font-size:12px; color:#444; }
.footer-bottom-links a { color:#444; text-decoration:none; transition:color 0.2s; }
.footer-bottom-links a:hover { color:#777; }
.footer-bottom-links span { color:#333; }
.footer-bottom-logo img { height:26px; width:auto; filter:brightness(0) invert(1); opacity:0.28; }

@media(max-width:1100px) { .footer-top { grid-template-columns:1fr 1fr; gap:36px; } }
@media(max-width:640px)  { .footer-top { grid-template-columns:1fr; gap:32px; } .footer-bottom { flex-direction:column; align-items:flex-start; } }
