@import url('https://fonts.googleapis.com/css2?family=Sora:wght@400;600;700;800&family=Inter:wght@400;500;600;700&display=swap');

/* =========================================================
   Saar-Care Portal – einheitlicher Look mit der Landing
   (home1/index.html). Lädt NACH dem bestehenden CSS.
   ========================================================= */

:root {
  --ink:#0B1533; --navy:#101C3F; --primary:#247cff; --primary-600:#1a63d1;
  --primary-050:#eef5ff; --teal:#0CC2A4; --teal-050:#E9FBF6; --coral:#FF5D4F;
  --bg:#F7FAFF; --card:#FFFFFF; --muted:#5A6B8C; --line:#E4EAF6;
  --radius:22px; --radius-sm:14px;
  --shadow-sm:0 4px 14px rgba(16,28,63,.06);
  --shadow:0 12px 34px rgba(16,28,63,.10);
  --shadow-lg:0 30px 70px rgba(11,21,51,.16);
  --grad:linear-gradient(135deg,#101C3F 0%,#1a3aa8 55%,#247cff 130%);

  --primary-color:#247cff;
  --primary-hover:#1a63d1;
  --white-color:#ffffff;
  --dark-color:#101C3F;
  --section-bg-color:#EEF3FB;
  --border-color:#E4EAF6;
}

html{scroll-behavior:smooth}

body{
  font-family:'Inter',-apple-system,'Segoe UI',sans-serif;
  background:var(--bg);
  color:var(--ink);
  line-height:1.65;
}
h1,h2,h3,h4,h5,h6,.navbar-brand,.hero-stat-number,.featured-text{
  font-family:'Sora',-apple-system,'Segoe UI',sans-serif;
  color:var(--ink);
}
a{color:var(--primary)}

/* ---------- Navigation (öffentliche Seiten) ---------- */
.navbar:not(.navbar-admin),
.navbar.navbar-light,
.navbar.bg-light{
  background:var(--grad) !important;
  box-shadow:0 4px 18px rgba(11,21,51,.28) !important;
}
.navbar.bg-light .navbar-brand,
.navbar:not(.navbar-admin) .navbar-brand,
.navbar .navbar-brand,
.navbar .navbar-brand strong{color:#fff !important}
.navbar .nav-link{
  color:rgba(255,255,255,.9) !important;
  font-weight:500;
}
.navbar .nav-link:hover,
.navbar .nav-link.active{color:#fff !important}
.navbar .navbar-toggler{border-color:rgba(255,255,255,.5)}
.navbar .navbar-toggler-icon{
  background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255,255,255,1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* ---------- Admin-Navigation ---------- */
.navbar-admin{
  background:var(--grad) !important;
  border-bottom:0;
}
.navbar-admin .navbar-brand,
.navbar-admin .navbar-text{color:#fff !important}
.navbar-admin .navbar-text.text-white-50{color:rgba(255,255,255,.72) !important}
.navbar-admin .btn-outline-light{border-color:rgba(255,255,255,.55);color:#fff}
.navbar-admin .btn-outline-light:hover{background:#fff;color:var(--navy);border-color:#fff}

/* ---------- Sprachumschalter ---------- */
.nav-lang-switch{
  background:rgba(255,255,255,.14) !important;
  border-radius:10px !important;
  box-shadow:none !important;
  backdrop-filter:blur(6px);
  border:1px solid rgba(255,255,255,.25);
}
.nav-lang-switch a{color:#fff !important;border-color:rgba(255,255,255,.6) !important;border-radius:7px}
.nav-lang-switch a[style*="background:#3f51b5"],
.nav-lang-switch a[style*="background:#247cff"]{
  background:var(--grad) !important;
  border-color:transparent !important;
}

/* ---------- Hero ---------- */
.hero{
  background:var(--grad);
  padding-top:76px;
}
.hero .container{
  height:auto;
  min-height:520px;
  border-radius:0 0 var(--radius) var(--radius);
}
.hero .carousel-item{min-height:520px}
.hero .carousel-item img{
  width:100%;
  height:520px;
  object-fit:cover;
  opacity:.35;
}
.heroText{
  background:rgba(255,255,255,.97) !important;
  border-radius:var(--radius);
  box-shadow:var(--shadow-lg);
  bottom:34px !important;
  right:auto !important;
  left:3.5%;
  width:52% !important;
  padding:2rem 2.4rem !important;
}
.heroText h1{font-weight:800;font-size:clamp(1.5rem,3vw,2.3rem)}
.animated-item{color:var(--primary) !important;font-weight:700}
[dir="rtl"] .heroText{left:auto !important;right:3.5% !important}

/* ---------- Hero-Leiste/Kennzahlen ---------- */
.hero-strip{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow-sm);
}
.hero-stat-number{color:var(--primary)}
.hero-stat-label{color:var(--muted)}

/* ---------- Buttons ---------- */
.btn{
  border-radius:12px;
  font-family:'Inter',sans-serif;
  font-weight:600;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.btn:hover{transform:translateY(-1px)}
.btn-primary,
#submit-button{
  background:var(--grad) !important;
  border:0 !important;
  color:#fff !important;
  box-shadow:0 8px 20px rgba(36,124,255,.30);
}
.btn-primary:hover,
#submit-button:hover{
  transform:translateY(-1px);
  box-shadow:0 12px 26px rgba(36,124,255,.40) !important;
}
.btn-outline-primary{
  color:var(--primary) !important;
  border-color:var(--primary) !important;
  background:#fff !important;
}
.btn-outline-primary:hover{
  background:var(--primary) !important;
  color:#fff !important;
}
.btn-portal-link{
  background:var(--grad) !important;
  box-shadow:0 10px 24px rgba(36,124,255,.32);
}
.btn-view-file{background:var(--primary-050);color:var(--primary-600);border:none}
.btn-view-file:hover{background:#d8e7ff;color:var(--primary-600)}

/* ---------- Karten ---------- */
.card,
.login-card,
.job-card,
.testimonial-card{
  background:#fff;
  border:1px solid var(--line) !important;
  border-radius:var(--radius) !important;
  box-shadow:var(--shadow-sm);
}
.job-card:hover{box-shadow:var(--shadow) !important}
.featured-circle{
  border-radius:50%;
  background:var(--grad) !important;
  color:#fff;
}
.featured-circle .featured-text{color:#fff}
.job-badge{border-radius:20px;font-weight:600}

/* ---------- Tabs / Akkordeon ---------- */
.nav-tabs .nav-link{border:none;color:var(--muted);font-weight:600;border-radius:30px}
.nav-tabs .nav-link.active{background:var(--grad) !important;color:#fff !important}
.audience-toggle .nav-link{border:2px solid var(--primary);color:var(--primary);border-radius:30px}
.audience-toggle .nav-link.active{background:var(--primary) !important;color:#fff !important}
.accordion-item{border:1px solid var(--line);border-radius:14px !important;overflow:hidden;margin-bottom:12px}
.accordion-button{font-weight:600;color:var(--ink);background:#fff}
.accordion-button:not(.collapsed){background:var(--primary-050);color:var(--primary-600)}
.accordion-button:focus{box-shadow:0 0 0 3px rgba(36,124,255,.15);border-color:var(--primary)}

/* ---------- Formulare ---------- */
.form-control,
input[type="text"],input[type="email"],input[type="tel"],input[type="file"],
input[type="password"],select,textarea{
  border:1.5px solid var(--line) !important;
  border-radius:13px !important;
  font-family:'Inter',sans-serif;
  color:var(--ink);
  background:#fff;
  transition:border .15s,box-shadow .15s;
}
.form-control:focus{
  border-color:var(--primary) !important;
  box-shadow:0 0 0 3px rgba(36,124,255,.15) !important;
}
label{font-weight:600;color:var(--ink)}
.booking-form .form-control{
  background:#fff;
  border:1.5px solid var(--line) !important;
  border-radius:13px;
  border-bottom:1.5px solid var(--line) !important;
  color:var(--ink);
  margin-top:12px;
}
.booking-form #submit-button{
  border-radius:12px;
  background:var(--grad) !important;
  text-transform:none;
  letter-spacing:0;
}

/* ---------- Tabellen (Admin) ---------- */
.table-responsive{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden;
}
.table{--bs-table-hover-bg:#F0F6FF}
.table thead th{
  background:var(--primary-050);
  color:var(--ink);
  font-weight:700;
  border-bottom:1px solid var(--line);
}
.table td,.table th{padding:.85rem .9rem}

/* ---------- Badges ---------- */
.badge-waiting,.badge-status-wartend{background:#F6A821;color:#fff;border-radius:30px}
.badge-active,.badge-status-aktiv{background:var(--teal);color:#fff;border-radius:30px}
.badge-status-wartend,.badge-status-aktiv{font-weight:600}

/* ---------- Footer ---------- */
.site-footer{
  background:var(--grad);
  color:rgba(255,255,255,.85);
  border-radius:var(--radius) var(--radius) 0 0;
  margin-top:2rem;
}
.site-footer .text-muted,
.site-footer a.text-muted{color:rgba(255,255,255,.8) !important}
.site-footer p{color:rgba(255,255,255,.85)}
.site-footer .lang-switcher a{color:#fff !important}
.site-footer .lang-switcher a[style*="background:#3f51b5"],
.site-footer .lang-switcher a[style*="background:#247cff"]{background:rgba(255,255,255,.25) !important;border-color:transparent !important}

/* ---------- Sektionen ---------- */
.section-padding{padding-top:5.5rem;padding-bottom:5.5rem}
section.bg-light,#jobs{background:var(--bg) !important}
.text-primary{color:var(--primary) !important}
.text-muted{color:var(--muted) !important}

/* ---------- RTL ---------- */
[dir="rtl"] body{text-align:right}
[dir="rtl"] .hero .carousel-item img{transform:scaleX(-1)}

/* ---------- Mobil ---------- */
@media (max-width: 991px){
  .hero .container{min-height:0}
  .hero .carousel-item,.hero .carousel-item img{height:250px;min-height:0}
  .heroText{
    width:100% !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    border-radius:0;
    padding:1.25rem 1.25rem 1rem !important;
    box-shadow:none;
  }
  [dir="rtl"] .heroText{left:0 !important;right:0 !important}
  .section-padding{padding-top:3.5rem;padding-bottom:3.5rem}
  .nav-lang-switch{right:60px !important}
  html[dir="rtl"] .nav-lang-switch{right:auto !important;left:60px !important}
}

/* ---------- Kontakt-Modal (Portal) ---------- */
.kont-modal{position:fixed;inset:0;z-index:2100;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(11,21,51,.55);backdrop-filter:blur(6px)}
.kont-modal.open{display:flex}
.kont-card{position:relative;width:min(560px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:26px;border:1px solid var(--line);box-shadow:var(--shadow-lg);animation:modalIn .28s ease}
@keyframes modalIn{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}
.kont-head{padding:28px 32px 22px;background:var(--grad);color:#fff;border-radius:26px 26px 0 0;position:relative}
.kont-head h3{font-family:'Sora';font-size:1.5rem;font-weight:800;margin:0 0 4px;color:#fff}
.kont-head p{color:rgba(255,255,255,.82);font-size:.92rem;margin:0}
.kont-close{position:absolute;top:18px;inset-inline-end:18px;width:36px;height:36px;border:0;border-radius:11px;background:rgba(255,255,255,.16);color:#fff;font-size:1.15rem;line-height:1;cursor:pointer;display:grid;place-items:center}
.kont-close:hover{background:rgba(255,255,255,.28)}
.kont-body{padding:26px 32px 32px}
.kont-field{margin-bottom:16px}
.kont-field label{display:block;font-weight:600;font-size:.88rem;margin-bottom:7px;color:var(--ink)}
.kont-field input,.kont-field textarea{width:100%;border:1.5px solid var(--line);border-radius:13px;padding:12px 15px;font-family:'Inter';font-size:.96rem;color:var(--ink);background:#fff;box-sizing:border-box}
.kont-field input:focus,.kont-field textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(36,124,255,.15)}
.kont-body .btn{width:100%}
.kont-note{font-size:.8rem;color:var(--muted);margin-top:14px;text-align:center}
.kont-result{margin-top:14px;padding:12px 16px;border-radius:12px;font-size:.92rem;display:none;text-align:center}
.kont-result.ok{display:block;background:var(--teal-050);color:#0A8F7B}
.kont-result.err{display:block;background:#FFEDEC;color:#D6453D}

/* ---------- Cookie-Banner (Portal) ---------- */
#cookiebar{position:fixed;left:0;right:0;bottom:0;z-index:2000;background:rgba(11,21,51,.97);backdrop-filter:blur(8px);color:#E8EEFA;padding:18px 24px;box-shadow:0 -8px 30px rgba(11,21,51,.25);transform:translateY(105%);transition:transform .4s ease}
#cookiebar.show{transform:none}
.cookiebar-inner{max-width:1180px;margin-inline:auto;display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.cookiebar-inner p{flex:1 1 380px;font-size:.92rem;color:#C6D3EA;margin:0}
.cookiebar-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.cookiebar-actions a{color:#9DB8F2;font-size:.9rem;text-decoration:underline}
.btn-ghost{background:transparent;border:1.5px solid rgba(255,255,255,.6);color:#fff}
.btn-ghost:hover{background:rgba(255,255,255,.15);color:#fff}
