/* ============================================================
   V6.3 — SAGE + ROSE LIGHT
   Brighter veterinary palette: soft sage, ivory and muted blush.
   Emergency red stays distinct and reserved for Notdienst actions.
   ============================================================ */
:root {
  --navy-950: #365f59;
  --navy-900: #47756e;
  --navy-800: #5b8b82;
  --teal-700: #527e76;
  --teal-600: #6b9c92;
  --teal-500: #82b3a8;
  --mint-200: #d7e9e4;
  --mint-100: #edf6f3;
  --cream: #fbfdfc;
  --ink: #294642;
  --muted: #687d79;
  --border: rgba(55, 94, 87, .12);
  --shadow-sm: 0 10px 28px rgba(55, 94, 87, .07);
  --shadow-lg: 0 24px 70px rgba(55, 94, 87, .14);
  --rose-600: #bd7085;
  --rose-500: #d28a9e;
  --rose-400: #e2a8b8;
  --rose-300: #ecc6d0;
  --rose-200: #f4dce3;
  --rose-100: #fbf0f3;
}

body {
  color: var(--ink);
  background: #fff;
}

a { color: #4f7f76; }
a:hover { color: var(--rose-600); }

/* ---------------- Header ---------------- */
.premium-nav {
  background: rgba(235, 245, 242, .94);
  border-bottom: 1px solid rgba(55,94,87,.11);
  box-shadow: 0 7px 22px rgba(55,94,87,.06);
}
.premium-nav.nav-scrolled {
  background: rgba(248, 251, 250, .97);
  border-bottom-color: rgba(55,94,87,.14);
  box-shadow: 0 12px 30px rgba(55,94,87,.10);
}
.navbar-brand,
.navbar-brand .brand-name { color: #294b46 !important; }
.navbar-brand small { color: #718681 !important; }
.brand-mark {
  color: #4f7d75;
  background: rgba(255,255,255,.72);
  border-color: rgba(74,121,112,.22);
}
.nav-link { color: #536d68 !important; }
.nav-link:hover,
.nav-link:focus,
.premium-nav .nav-link.active { color: #294b46 !important; }
.premium-nav .nav-link::after,
.premium-nav .nav-link.active::after { background: var(--rose-500); }
.nav-emergency { color: #b63d49 !important; }

/* ---------------- Hero ---------------- */
.hero-section {
  color: var(--ink);
  background:
    radial-gradient(circle at 86% 14%, rgba(229,169,185,.42), transparent 27%),
    radial-gradient(circle at 72% 88%, rgba(137,187,176,.28), transparent 31%),
    linear-gradient(118deg, #f8fbfa 0%, #e7f2ee 50%, #f5e8ec 100%);
  border-bottom: 1px solid rgba(83,125,117,.10);
}
.hero-title {
  color: #294b46;
  text-shadow: none;
}
.hero-section .eyebrow { color: var(--rose-600); }
.hero-lead { color: #5d7570; }
.hero-trust { color: #405f59; }
.trust-item .icon,
.trust-item i { color: #5e9288; }
.glass-card {
  background: rgba(255,255,255,.58);
  border-color: rgba(255,255,255,.74);
  box-shadow: 0 24px 60px rgba(71,117,110,.13);
}
.hero-orb-1 { background: #c9e1db; opacity: .62; }
.hero-orb-2 { background: #efc6d1; opacity: .52; }
.hero-section .btn-outline-light {
  color: #365f59;
  border-color: rgba(54,95,89,.48);
  background: rgba(255,255,255,.34);
}
.hero-section .btn-outline-light:hover,
.hero-section .btn-outline-light:focus {
  color: #294b46;
  border-color: var(--rose-400);
  background: #fff;
}

/* Hero/photo placeholders: much lighter until real photography arrives. */
.image-placeholder {
  background:
    radial-gradient(circle at 82% 18%, rgba(231,172,188,.52), transparent 27%),
    radial-gradient(circle at 18% 84%, rgba(174,210,202,.58), transparent 29%),
    linear-gradient(140deg, #dbece7 0%, #b7d5cd 58%, #efd7de 100%);
  color: #355c56;
  border: 1px solid rgba(73,118,110,.15);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.35);
}
.image-placeholder small { color: #6b827d; }
.image-placeholder .icon,
.image-placeholder i { color: #527f77; }

/* ---------------- General sections ---------------- */
.quick-facts-section { background: #fbfdfc; }
.section-soft {
  background:
    radial-gradient(circle at 96% 0%, rgba(239,198,208,.20), transparent 24%),
    linear-gradient(180deg, #eff7f4, #fbfdfc);
}
.quick-card,
.content-card,
.service-card,
.premium-accordion .accordion-item {
  background: rgba(255,255,255,.96);
}
.quick-card,
.content-card,
.service-card {
  border-color: rgba(68,110,102,.12);
}
.icon-circle,
.service-card i,
.first-aid-step > span {
  background: #e4f1ed;
  color: #527f77;
}
.quick-card:nth-child(odd) .icon-circle { background: #f8e9ed; color: #b66f82; }
.service-card:hover {
  border-color: rgba(210,138,158,.36);
  box-shadow: 0 16px 32px rgba(88,128,120,.10);
}
.section-heading .eyebrow,
.content-card .eyebrow,
.faq-intro .eyebrow { color: #b97083; }
.section-heading h2,
.content-card h2,
.faq-intro h2 { color: #294b46; }
.section-note,
.info-line,
.faq-intro p,
.faq-call-note,
.premium-accordion .accordion-body,
.notfall-step small { color: #677d78; }
.callout-box,
.mini-info-card { background: #eaf5f1; }
.mini-info-card-warm { background: #fbf0f3; }

/* Soft rose details, kept away from the emergency-red hierarchy. */
.notfall-steps-shell {
  background: linear-gradient(145deg,#fff 0%,#fff9fb 100%);
  border-color: rgba(210,138,158,.18);
}
.notfall-step > i,
.notfall-step .icon {
  background: #f7e7ec;
  color: #b86f82;
}
.premium-accordion .accordion-button:not(.collapsed) {
  color: #315c55;
  background: linear-gradient(90deg,#edf6f3,#fff5f7);
}
.premium-accordion .accordion-button:focus {
  border-color: rgba(210,138,158,.42);
  box-shadow: 0 0 0 .22rem rgba(210,138,158,.13);
}

/* ---------------- Emergency stays unmistakably red ---------------- */
.quick-card-emergency .icon-circle,
.quick-card-emergency:nth-child(odd) .icon-circle {
  background: #fdebed;
  color: var(--danger);
}
.emergency-section { background: #fff; }
.emergency-panel {
  background: linear-gradient(145deg,#fff,#fff8fa);
  border-color: rgba(216,41,50,.20);
}
.emergency-title { color: var(--danger); }

/* ---------------- Location ---------------- */
.location-shell {
  border-color: rgba(71,117,110,.13);
  box-shadow: 0 24px 58px rgba(71,117,110,.12);
}
.location-info {
  color: #294b46;
  background:
    radial-gradient(circle at 4% 8%, rgba(255,255,255,.55), transparent 30%),
    linear-gradient(155deg, #dcece7 0%, #b9d8d0 64%, #eac7d1 145%);
}
.location-kicker { color: #a95f73; }
.location-info h2,
.location-info strong,
.location-info a:not(.btn) { color: #294b46; }
.location-detail { border-top-color: rgba(55,94,87,.14); }
.location-detail small { color: #6a807b; }
.location-detail-icon {
  color: #4f7e75;
  background: rgba(255,255,255,.58);
  border: 1px solid rgba(75,119,111,.12);
}
.location-hint { color: #657b76; }
.location-route-btn {
  color: #fff !important;
  background: #4f7d75;
  border-color: #4f7d75;
}
.location-route-btn:hover { background: #406d65; border-color: #406d65; }
.location-map-badge {
  background: rgba(247,251,249,.93);
  color: #294b46;
  border: 1px solid rgba(62,103,95,.16);
  box-shadow: 0 10px 26px rgba(53,94,86,.14);
}
.location-map-badge small { color: #6c817c; }
.location-map-badge > .icon { color: #b86f82; }

/* ---------------- Footer ---------------- */
.site-footer {
  background:
    radial-gradient(circle at 88% -10%, rgba(230,168,185,.22), transparent 29%),
    linear-gradient(120deg,#456f68,#5f8d84);
}
.footer-link { color: rgba(255,255,255,.88); }
.footer-link:hover { color: #fff; }
.footer-emergency {
  background: rgba(255,255,255,.14);
  border-color: rgba(255,255,255,.20);
}
.footer-emergency span { color: rgba(255,255,255,.78); }
.footer-credit { color: rgba(255,255,255,.72); }
.footer-credit a { color: #ffe3ea; }

/* ---------------- Legal / utility pages ---------------- */
.legal-hero {
  color: #294b46;
  background:
    radial-gradient(circle at 88% 15%, rgba(230,168,185,.34), transparent 29%),
    linear-gradient(135deg,#eef7f4 0%,#dbece7 60%,#f6e7eb 100%);
}
.legal-hero h1 { color:#294b46; }
.legal-hero p { color:#5f7772; }
.legal-back { color:#4e7d75; }
.legal-main { background:linear-gradient(180deg,#f3f9f7,#fff 18rem); }
.error-404-section {
  color:#294b46;
  background:radial-gradient(circle at 80% 15%,rgba(231,171,188,.34),transparent 30%),linear-gradient(145deg,#eef7f4,#d5e9e4);
}
.error-404-card { background:rgba(255,255,255,.75); border-color:rgba(72,116,108,.12); }

/* ---------------- Mobile ---------------- */
@media (max-width: 991.98px) {
  .mobile-nav-drawer,
  .offcanvas-lg.offcanvas-end {
    color: #294b46 !important;
    background:
      radial-gradient(circle at 92% 5%, rgba(230,168,185,.30), transparent 31%),
      linear-gradient(165deg,#f6fbf9 0%,#e4f1ed 58%,#f6e8ec 100%) !important;
    border-left-color: rgba(61,104,96,.12) !important;
    box-shadow: -20px 0 55px rgba(53,94,86,.18);
  }
  .mobile-nav-header {
    background: rgba(239,247,244,.94) !important;
    border-bottom-color: rgba(61,104,96,.12) !important;
  }
  .mobile-nav-header .offcanvas-title { color:#294b46; }
  .mobile-nav-mark {
    color:#527f77;
    background:rgba(255,255,255,.68);
    border-color:rgba(71,113,105,.15);
  }
  .mobile-nav-close { background-color:rgba(52,92,85,.09); filter:none; }
  .mobile-menu-link {
    color:#425f5a !important;
    background:rgba(255,255,255,.54);
    border-color:rgba(67,108,100,.10);
  }
  .mobile-menu-link:hover,
  .mobile-menu-link:focus,
  .mobile-menu-link:active {
    color:#294b46 !important;
    background:#fff;
    border-color:rgba(210,138,158,.28);
  }
  .mobile-menu-link-icon {
    background:#e3f0ec;
    color:#527f77;
  }
  .mobile-menu-link-emergency {
    color:#a92e3a !important;
    background:#fff0f3;
    border-color:rgba(216,41,50,.13);
  }
  .mobile-menu-link-emergency .mobile-menu-link-icon {
    color:#c33e49;
    background:#fde2e6;
  }
  .mobile-menu-info {
    background:rgba(255,255,255,.52);
    border-color:rgba(67,108,100,.10);
  }
  .mobile-menu-info > div,
  .mobile-menu-info strong { color:#365853; }
  .mobile-menu-info small { color:#758985; }
  .mobile-menu-info i { color:#b86f82; }
  .mobile-menu-route {
    color:#365b55;
    border-color:rgba(54,91,85,.22);
    background:rgba(255,255,255,.58);
  }
  .mobile-menu-route:hover,
  .mobile-menu-route:focus { color:#294b46; background:#fff; }
  .offcanvas-kicker { color:#af677a; }
  .offcanvas-backdrop { background-color:#294640; }
  .offcanvas-backdrop.show { opacity:.42; }
  .mobile-emergency-dock {
    background:rgba(65,107,99,.94);
    border-color:rgba(255,255,255,.18);
  }
}

@media (max-width: 767.98px) {
  .hero-section {
    background:
      radial-gradient(circle at 96% 8%, rgba(230,168,185,.38), transparent 32%),
      radial-gradient(circle at 18% 95%, rgba(145,194,183,.26), transparent 32%),
      linear-gradient(155deg,#f8fbfa 0%,#e5f1ed 68%,#f7eaee 100%) !important;
  }
  .hero-title { color:#294b46; }
  .hero-lead { color:#617773; }
  .hero-trust { color:#405f59; }
  .section-soft { background:#f1f8f6; }
}


/* ============================================================
   V6.5 — NOTDIENST PRIORITY NOTICE
   Calm rose/sage notice for existing practice patients.
   ============================================================ */
.topbar-priority {
  opacity: .92;
  font-size: .82rem;
  font-weight: 650;
  white-space: nowrap;
}
.priority-notice {
  display: inline-flex;
  align-items: center;
  max-width: 680px;
  padding: .72rem 1rem;
  border-radius: 999px;
  color: #365f59;
  background: rgba(255,255,255,.64);
  border: 1px solid rgba(189,112,133,.24);
  box-shadow: 0 8px 24px rgba(55,94,87,.06);
  backdrop-filter: blur(8px);
}
.priority-notice .icon { color: var(--rose-600); flex: 0 0 auto; }
.priority-inline {
  display: inline-block;
  margin-top: .3rem;
  color: #8f5364;
  font-weight: 700;
}
.emergency-priority-text { color: #8f5364; }
.faq-call-note strong { color: #8f5364; }
.footer-priority { color: #f4dce3; font-weight: 700; }

@media (max-width: 767.98px) {
  .priority-notice {
    border-radius: 18px;
    font-size: .88rem;
    line-height: 1.35;
    padding: .7rem .85rem;
  }
}
