/* =========================================================================
   PlusMitDom — custom.css
   Läuft NACH bootstrap.min.css. Absichtlich schlank: Bootstrap liefert die
   Struktur/Komponenten (Navbar, Cards, Accordion, Forms, Grid), hier wird
   nur Schrift + Markenfarbe (gedecktes Navy/Gold) ergänzt sowie ein paar
   Kleinigkeiten (Footer, Logo, Player-Rahmen). Keine externen Ressourcen.
   ========================================================================= */

@font-face{font-family:'Work Sans';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/work-sans/work-sans-latin-400-normal.woff2') format('woff2');}
@font-face{font-family:'Work Sans';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/work-sans/work-sans-latin-500-normal.woff2') format('woff2');}
@font-face{font-family:'Work Sans';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/work-sans/work-sans-latin-600-normal.woff2') format('woff2');}
@font-face{font-family:'Work Sans';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/work-sans/work-sans-latin-700-normal.woff2') format('woff2');}

:root{
  --brand-navy:#1E2A38;
  --brand-navy-dark:#141C26;
  --brand-gold:#93764A;
  --brand-gold-dark:#78602F;
  --brand-tint:#EEF1F4;

  --bs-body-font-family:'Work Sans', ui-sans-serif, system-ui, -apple-system, sans-serif;
  --bs-link-color:var(--brand-navy);
  --bs-link-color-rgb:30,42,56;
  --bs-link-hover-color:var(--brand-gold-dark);
  --bs-link-hover-color-rgb:120,96,47;
}

html, body{
  /* Sicherheitsnetz gegen jeden minimalen horizontalen Overflow (z.B.
     durch Rundungsfehler bei Breiten auf Mobilgeräten) - verhindert das
     leichte seitliche Verschieben der Seite, ohne Inhalte abzuschneiden. */
  overflow-x:hidden;
  max-width:100%;
}

/* Verstecktes Honeypot-Feld gegen Spam-Bots - bewusst NICHT mit
   position:absolute + riesigem negativen left-Wert (alte Technik), das
   kann auf manchen Mobilgeräten zu genau dem leichten horizontalen
   Verschieben der Seite führen, das gemeldet wurde. Stattdessen die
   Standard-"visually hidden"-Technik: 1x1px, im normalen Textfluss. */
.honeypot-field{
  position:absolute;
  width:1px;
  height:1px;
  margin:-1px;
  padding:0;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

body{color:var(--brand-navy);}
h1,h2,h3,h4,h5,.navbar-brand{font-weight:700;}
.navbar-brand img{width:32px;height:32px;}

/* ---------- Buttons: Bootstrap-Struktur, eigene Markenfarbe ---------- */
.btn-primary{background-color:var(--brand-navy);border-color:var(--brand-navy);}
.btn-primary:hover,.btn-primary:focus,.btn-primary:active{background-color:var(--brand-gold-dark) !important;border-color:var(--brand-gold-dark) !important;}
.btn-outline-primary{color:var(--brand-navy);border-color:var(--brand-navy);}
.btn-outline-primary:hover{background-color:var(--brand-navy);border-color:var(--brand-navy);}
.btn-outline-light:hover{color:var(--brand-navy);}

/* ---------- Navbar (Header, heller Hintergrund) ---------- */
.navbar{border-bottom:1px solid #E1E4E8;}
.navbar .navbar-brand{display:flex;align-items:center;gap:.55rem;color:var(--brand-navy) !important;}
.nav-link{font-weight:500;}
.nav-link.active,.nav-link:hover{color:var(--brand-gold-dark) !important;}

/* ---------- Hero ---------- */
.hero{padding-block:4.5rem;background:var(--brand-tint);}
.hero img{border-radius:.5rem;}

/* ---------- Leistungen ---------- */
.service-icon{width:46px;height:46px;border-radius:50%;background:var(--brand-tint);display:flex;align-items:center;justify-content:center;color:var(--brand-gold-dark);margin-bottom:.9rem;}

/* ---------- Video / Player ---------- */
.player-frame{border-radius:.5rem;overflow:hidden;background:var(--brand-navy);border:1px solid #E1E4E8;}
.player-frame video{width:100%;display:block;}

/* ---------- Karriere ---------- */
.career-section{background:var(--brand-navy);color:#fff;}
.career-section .text-muted-light{color:#C7CDD4 !important;}
.career-section img{border-radius:.5rem;max-height:520px;object-fit:contain;background:var(--brand-navy-dark);}

/* ---------- Accordion (FAQ) ---------- */
.accordion-button:not(.collapsed){background-color:var(--brand-tint);color:var(--brand-navy);}
.accordion-button:focus{box-shadow:0 0 0 .2rem rgba(30,42,56,.15);}
.accordion-button::after{filter:none;}

/* ---------- Footer ---------- */
.site-footer{background:var(--brand-navy-dark);color:#C7CDD4;}
.site-footer .navbar-brand{display:flex;align-items:center;gap:.55rem;color:#fff !important;}
.site-footer a{color:#fff;}
.site-footer a:hover{color:var(--brand-gold);}
.site-footer h6{color:#C9B48B;letter-spacing:.06em;text-transform:uppercase;font-size:.8rem;font-weight:700;}
.social-icon{width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.25);display:inline-flex;align-items:center;justify-content:center;color:#fff;transition:background-color .2s ease,color .2s ease;overflow:hidden;}
.social-icon:hover{background:var(--brand-gold);color:var(--brand-navy);border-color:var(--brand-gold);}
.social-icon img{width:18px;height:18px;object-fit:contain;}

/* ---------- Formular ---------- */
.form-check-label a{color:var(--brand-gold-dark);}

/* ---------- Link-in-Bio Seite (service.php) ---------- */
.bio-page{max-width:480px;margin-inline:auto;}
.bio-avatar{width:128px;height:128px;object-fit:cover;border-radius:50%;border:3px solid var(--brand-tint);}
.bio-link{display:block;width:100%;}

@media (max-width:767.98px){
  .hero{padding-block:3rem;text-align:center;}
  .career-section .row{text-align:center;}
}

/* ---------- Sterne-Auswahl im Bewertungsformular (reines CSS, kein JS) ---------- */
.star-rating{display:inline-flex;flex-direction:row-reverse;gap:.1em;}
.star-rating input{position:absolute;opacity:0;width:0;height:0;}
.star-rating label{font-size:2.2rem;line-height:1;color:#d9dbe0;cursor:pointer;transition:color .15s ease;}
.star-rating input:checked ~ label,
.star-rating label:hover,
.star-rating label:hover ~ label{color:var(--brand-gold);}
.star-rating input:focus-visible + label{outline:2px solid var(--brand-gold);outline-offset:2px;}

/* Nur-lesende Sterne-Anzeige (Durchschnitt, einzelne Bewertungskarten) */
.sterne-anzeige{color:var(--brand-gold);letter-spacing:.05em;}

/* ---------- Bewertungen: Karten + horizontaler Slider ---------- */
.bewertungen-slider{display:flex;gap:1.25rem;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.75rem;margin:0 -.25rem;padding-left:.25rem;padding-right:.25rem;-webkit-overflow-scrolling:touch;}
.bewertungen-slider::-webkit-scrollbar{height:6px;}
.bewertungen-slider::-webkit-scrollbar-thumb{background:var(--brand-tint);border-radius:99px;}
.bewertung-card{scroll-snap-align:start;flex:0 0 auto;width:300px;background:var(--white);border:1px solid var(--line, #E1E4E8);border-radius:.5rem;padding:1.25rem;display:flex;flex-direction:column;gap:.5rem;}
.bewertung-card .sterne-anzeige{font-size:1.1rem;}
.bewertung-card__text{color:var(--brand-navy);font-size:.95rem;flex:1;}
.bewertung-card__meta{font-size:.825rem;color:#5B6570;}
