/* Swan Rooms – Ergänzungen zu style.min.css (bisherige Inline-Styles, Galerie, Lightbox, Mobil) */

img {
  margin: 5px; }

/* ---------- Navigation ---------- */
.navbar-toggler {
  border: none;
  padding: .25rem .5rem; }
  .navbar-toggler:focus {
    outline: none; }

/* Mobiles Menü: etwas mehr Luft und gut tippbare Einträge */
@media (max-width: 991.98px) {
  #navbar-nav-header .nav-link {
    padding: .9rem 0;
    border-bottom: 1px solid #f1f1f1; }
  #navbar-nav-header .nav-item:last-child .nav-link {
    border-bottom: none; }
  /* Hover-Abdunkeln ergibt auf Touch-Geräten keinen Sinn */
  .navbar-nav:hover li a {
    opacity: 1; } }

/* Fixierte Navigation beim Scrollen (Template-Funktion): Logo etwas kleiner */
.not-on-top #gtco-header-navbar {
  padding-top: .5rem !important;
  padding-bottom: .5rem !important; }
  .not-on-top #gtco-header-navbar .navbar-brand img {
    height: 50px;
    transition: height .3s ease; }

.navbar-brand img {
  transition: height .3s ease; }

/* Sprungmarken nicht unter der fixierten Navigation verstecken */
section[id] {
  scroll-margin-top: 90px; }

/* ---------- Galerie ---------- */
.room-gallery .flex-column {
  max-width: 220px; }

.gallery-item {
  display: block;
  position: relative;
  margin: 5px;
  overflow: hidden;
  border-radius: 3px;
  cursor: zoom-in;
  background-color: #f7f8f9; }
  .gallery-item img {
    display: block;
    position: relative;
    z-index: 1;
    width: 100%;
    margin: 0;
    transition: transform .6s cubic-bezier(.2, .7, .3, 1); }
  /* Platzhalter, solange das Bild noch lädt (liegt hinter dem Bild) */
  .gallery-item:before {
    content: '\e827';
    /* lnr-picture */
    font-family: 'Linearicons-Free';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    color: #d3d8dd; }
  .gallery-item:after {
    z-index: 2;
    content: '\e86f';
    /* lnr-magnifier */
    font-family: 'Linearicons-Free';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    color: #fff;
    background: rgba(241, 39, 17, 0.35);
    opacity: 0;
    transition: opacity .35s ease; }
  .gallery-item:hover img,
  .gallery-item:focus img {
    transform: scale(1.08); }
  .gallery-item:hover:after,
  .gallery-item:focus:after {
    opacity: 1; }

/* Mobil: zwei Spalten statt einer langen Bilderkette */
@media (max-width: 575.98px) {
  .room-gallery {
    width: 100%; }
  .room-gallery .flex-column {
    flex: 0 0 50%;
    max-width: 50%; }
  .gallery-item:after {
    display: none; } }

/* ---------- Lightbox (Lightcase) ---------- */
/* Die Lightcase-Icon-Schrift fehlt im Projekt – stattdessen Linearicons verwenden */
[class*='lightcase-icon-']:before {
  font-family: 'Linearicons-Free', sans-serif; }

.lightcase-icon-close:before {
  content: '\e870'; }

.lightcase-icon-prev:before {
  content: '\e875'; }

.lightcase-icon-next:before {
  content: '\e876'; }

#lightcase-overlay {
  background: #1b1b1b; }

#lightcase-case img {
  margin: 0;
  border-radius: 3px; }

#lightcase-info #lightcase-title,
#lightcase-info #lightcase-sequenceInfo {
  font-family: 'Lato', sans-serif;
  color: #eee; }

/* Vollbild-Modus auf dem Handy: Titel dezent statt grauem Kasten */
.lightcase-fullScreenMode #lightcase-info #lightcase-title {
  background: transparent;
  font-size: 1.6rem;
  padding: 18px 60px 18px 16px; }

/* Mobiles Menü: Trennlinie zum Inhalt darunter */
@media (max-width: 991.98px) {
  #gtco-header-navbar:has(.navbar-collapse.show),
  #gtco-header-navbar:has(.navbar-collapse.collapsing) {
    box-shadow: rgba(0, 0, 0, 0.08) 0 8px 15px 0; } }

/* ---------- Kontakt ---------- */
/* style.min.css blendet <br> in .section-sub-title mobil aus – für die Adresse beibehalten */
.contact-address br {
  display: inline !important; }

.contact-address a {
  color: inherit; }
  .contact-address a:hover {
    color: #d05165; }

/* ---------- Mobil allgemein ---------- */
@media (max-width: 767.98px) {
  .jumbotron {
    min-height: 380px; }
  .counter-item .number {
    font-size: 48px; }
  /* Preisliste: Lücke unter den Leistungen auf dem Handy verkleinern */
  .price-box .price-box-list {
    min-height: 0; }
  /* reCAPTCHA in schmalen Spalten nicht abschneiden */
  .g-recaptcha {
    transform-origin: 0 0; } }

@media (max-width: 359.98px) {
  .g-recaptcha {
    transform: scale(.88); } }

@media (prefers-reduced-motion: reduce) {
  .gallery-item img,
  .gallery-item:after {
    transition: none; } }

/* ---------- Startseite mobil ---------- */
/* Die Navigation liegt über dem Titelbild: Logo kleiner, Text darunter beginnen lassen */
@media (max-width: 991.98px) {
  .navbar-brand img {
    height: 60px; }
  .jumbotron {
    padding-top: 130px;
    padding-bottom: 50px; } }

/* Zähler als 2×2-Raster statt vier Zeilen untereinander */
@media (max-width: 767.98px) {
  .counter-item:nth-last-child(2) {
    margin-bottom: 0; } }

/* Platz unter dem Footer, damit das Cookie-Symbol (unten links) ihn nicht verdeckt */
/* (ab 1200px steht das Symbol neben der Seite) */
@media (max-width: 1199.98px) {
  .boxed-page {
    margin-bottom: 100px; } }

/* ---------- Vorteile (WLAN, Lage, Cafés): Linien-Icons ---------- */
.feature-icon {
  width: 64px;
  height: 64px;
  margin-bottom: 1.5rem; }

/* ---------- Karte im Kontaktbereich ---------- */
.contact-map {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 240px;
  margin: 0 0 1.5rem;
  padding: 1.5rem;
  overflow: hidden;
  text-align: center;
  border-radius: 3px;
  background-color: #f7f8f9; }
  .contact-map > .lnr {
    font-size: 32px;
    margin-bottom: 1rem; }
  .contact-map small {
    margin-top: .75rem;
    color: #6c757d; }
  .contact-map.is-loaded {
    padding: 0; }
  .contact-map iframe {
    display: block;
    width: 100%;
    height: 280px;
    border: 0; }

/* ---------- Häufige Fragen ---------- */
.faq-list {
  max-width: 760px;
  margin: 0 auto; }

.faq-item {
  border-bottom: 1px solid #e5e5e5; }
  .faq-item summary {
    padding: 1rem 0;
    font-weight: 400;
    cursor: pointer; }
  .faq-item summary:hover {
    color: #d05165; }
  .faq-item p {
    margin: 0;
    padding: 0 0 1rem; }
