/* Reederei Löwa Betriebsplugin – eigenständige Stile */
.loewa-contact,.loewa-gallery-page,.loewa-history{--lc-navy:#083653;--lc-blue:#176a94;--lc-gold:#edbb42;--lc-muted:#647d8d;--lc-border:#dfe9ef;--lc-soft:#f3f7f9;color:var(--lc-navy);padding:42px 0 65px}
.loewa-contact *,.loewa-gallery-page *,.loewa-history *{box-sizing:border-box}
.loewa-contact-inner{max-width:1140px;margin:auto;padding:0 20px;width:100%}
.loewa-contact h2,.loewa-gallery-page h2,.loewa-history h2{font-size:clamp(26px,3vw,38px);color:#083653;margin:0 0 15px}.loewa-contact p,.loewa-gallery-page p,.loewa-history p{line-height:1.7}
.loewa-eyebrow{font-size:11px;letter-spacing:1.5px;color:#176a94;font-weight:800;display:block;margin-bottom:10px}
.loewa-contact-heading{max-width:780px;margin-bottom:28px}.loewa-contact-layout{display:grid!important;grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr)!important;gap:24px;align-items:start}
.loewa-contact-sidebar,.loewa-form-card{min-width:0}.loewa-contact-card,.loewa-form-card{border:1px solid #dfe9ef;border-radius:17px;background:#fff;box-shadow:0 8px 25px #0836530c;padding:26px}
.loewa-contact-card h3,.loewa-contact-notice h3,.loewa-contact-harbor h3{margin:0 0 12px;color:#083653}.loewa-contact-link{display:block;border-top:1px solid #dfe9ef;padding:12px 0;overflow-wrap:anywhere}.loewa-contact-notice,.loewa-contact-harbor{border-radius:12px;background:#fff6de;padding:20px;margin-top:17px}.loewa-contact-harbor{background:#f3f7f9}.loewa-notice-label{font-size:11px;font-weight:800;color:#916d11}
.loewa-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;border-radius:12px;background:#f3f7f9;padding:5px;margin:18px 0 24px}.loewa-tab{border:0;background:transparent;border-radius:9px;color:#083653;font-weight:700;padding:13px 10px;cursor:pointer}.loewa-tab.is-active{background:#083653;color:white}.loewa-tab-panel[hidden],.loewa-catering-details[hidden],.loewa-form-error[hidden]{display:none!important}
.loewa-tab-panel>p{color:#647d8d}.loewa-fields{display:grid;gap:16px}.loewa-two-cols{grid-template-columns:repeat(2,minmax(0,1fr))}.loewa-field{min-width:0;margin-bottom:16px}.loewa-field label,.loewa-field-label{font-size:13px;color:#083653;font-weight:700;display:block;margin-bottom:8px}
.loewa-contact .loewa-cf7-form .wpcf7-form-control-wrap{display:block;min-width:0}
.loewa-contact .loewa-cf7-form input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=hidden]),.loewa-contact .loewa-cf7-form select,.loewa-contact .loewa-cf7-form textarea{display:block;width:100%;min-width:0;max-width:100%;padding:11px;border:1px solid #d5e2ea;border-radius:9px;font-size:15px;min-height:45px;background:#fff;color:#083653}
.loewa-contact .loewa-cf7-form textarea{min-height:110px}.loewa-form-section-title{display:flex;align-items:center;gap:12px;margin:20px 0}.loewa-form-section-title h3{font-size:19px;margin:0;color:#083653}.loewa-step{background:#083653;color:#fff;border-radius:50%;display:grid;place-items:center;min-width:36px;height:36px;font-size:12px;font-weight:800}.loewa-form-divider{height:1px;background:#e1eaf0;margin:23px 0}.loewa-field-help{color:#647d8d;font-size:13px}.loewa-cf7-tours .wpcf7-radio{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.loewa-cf7-tours .wpcf7-list-item{margin:0!important}.loewa-cf7-tours .wpcf7-list-item label{background:#f3f7f9;border-radius:10px;display:flex;align-items:center;padding:14px;gap:8px;min-height:65px}.loewa-cf7-tours .wpcf7-list-item input{accent-color:#176a94}
/* DB-ähnliche Zähler: CF7 span.wpcf7-form-control-wrap muss zwischen den Buttons bleiben */
.loewa-passengers{border:1px solid #e1eaf0;border-radius:14px;padding:0 18px;overflow:hidden}.loewa-passenger-row{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px;padding:16px 0;border-bottom:1px solid #e1eaf0}.loewa-passenger-info{min-width:0;display:flex;flex-direction:column;gap:3px}.loewa-passenger-info strong{font-size:15px}.loewa-passenger-info span{color:#647d8d;font-size:12px}
.loewa-contact .loewa-stepper{display:grid!important;grid-template-columns:42px 47px 42px!important;flex:none!important;align-items:center!important;width:131px!important;min-width:131px!important;max-width:131px!important;min-height:43px;border:1px solid #d5e2ea;border-radius:10px;overflow:hidden;background:#fff}
.loewa-contact .loewa-stepper>.wpcf7-form-control-wrap{grid-column:2!important;grid-row:1!important;width:47px!important;min-width:0!important;margin:0!important;padding:0!important}
.loewa-contact .loewa-stepper input[type=number]{display:block!important;width:47px!important;max-width:47px!important;min-width:0!important;height:43px!important;min-height:43px!important;padding:0!important;margin:0!important;border:0!important;box-shadow:none!important;text-align:center!important;font-size:17px!important;font-weight:700!important;appearance:textfield;-moz-appearance:textfield}
.loewa-contact .loewa-stepper input[type=number]::-webkit-inner-spin-button,.loewa-contact .loewa-stepper input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.loewa-contact .loewa-stepper-button{display:grid!important;place-items:center!important;line-height:1!important;min-height:43px!important;height:43px!important;width:42px!important;min-width:42px!important;border:0!important;background:white!important;padding:0!important;margin:0!important;color:#083653!important;font-size:22px!important;cursor:pointer}.loewa-contact .loewa-stepper-button:first-child{grid-column:1;grid-row:1}.loewa-contact .loewa-stepper-button:last-child{grid-column:3;grid-row:1}.loewa-contact .loewa-stepper-button:disabled{color:#aab8c2!important;cursor:not-allowed}
.loewa-passenger-total{display:flex!important;justify-content:space-between!important;align-items:center!important;background:#eaf3f8;margin:0 -18px;padding:18px}.loewa-passenger-total div{display:flex;flex-direction:column;gap:4px}.loewa-passenger-total small{font-size:12px;color:#647d8d}.loewa-passenger-total [data-loewa-total]{font-size:25px}
.loewa-privacy{background:#f3f7f9;border-radius:12px;padding:15px;margin:18px 0;font-size:13px}.loewa-privacy a{color:#176a94}.loewa-submit{display:block!important;width:100%;background:#edbb42!important;color:#083653!important;border:0!important;min-height:50px;padding:14px;border-radius:9px;font-weight:800;cursor:pointer}.loewa-submit-footnote{font-size:12px;color:#647d8d}.loewa-form-error{color:#a62323;margin:12px 0}.loewa-catering-details{padding:15px;background:#f3f7f9;border-radius:12px}.loewa-voucher{margin-top:24px;background:#fff8e4;padding:19px;border-radius:12px}
.loewa-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:25px}.loewa-gallery-grid a{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:12px}.loewa-gallery-grid img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.loewa-gallery-grid a:hover img{transform:scale(1.04)}.loewa-history .loewa-contact-inner{max-width:850px}.loewa-history p{font-size:17px}
.loewa-map-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.loewa-map-entry{background:#f3f7f9;border-radius:10px;padding:14px}.loewa-map-entry a{font-size:13px}.loewa-map-short{margin-top:20px}.loewa-map-short .loewa-map-list{grid-template-columns:1fr}
.loewa-cancel-bar{background:#ba1313;color:#fff;padding:11px 20px;text-align:center;font-weight:750;z-index:99999;position:relative;font-size:14px;line-height:1.5}.loewa-weather{display:inline-flex;gap:5px;align-items:center;color:#083653;font-size:13px;font-weight:700;margin-right:15px;white-space:nowrap}.loewa-weather a{font-size:10px}
@media(max-width:850px){.loewa-contact-layout{grid-template-columns:1fr!important}.loewa-contact-sidebar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.loewa-contact-notice,.loewa-contact-harbor{margin-top:0}}
@media(max-width:600px){.loewa-contact,.loewa-gallery-page,.loewa-history{padding:30px 0 50px}.loewa-contact-inner{padding:0 15px}.loewa-contact-sidebar,.loewa-two-cols{grid-template-columns:1fr}.loewa-contact-card,.loewa-form-card{padding:20px}.loewa-cf7-tours .wpcf7-radio{grid-template-columns:1fr}.loewa-passengers{padding:0 12px}.loewa-passenger-total{margin:0 -12px;padding:15px}.loewa-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.loewa-map-list{grid-template-columns:1fr}.loewa-booked{top:auto;bottom:78px}.loewa-tab{font-size:12px}}
.loewa-cancel-bar{overflow:hidden;white-space:nowrap}
.loewa-cancel-bar::before{content:"⚠  ";}
@media(prefers-reduced-motion:no-preference){.loewa-cancel-bar{animation:loewa-alert-pulse 3s ease-in-out infinite alternate}@keyframes loewa-alert-pulse{from{background:#b81919}to{background:#e13324}}}
.loewa-season-hint{display:block!important;color:#ad2121!important;font-weight:600;font-size:12px;margin-top:6px}.loewa-season-hint[hidden]{display:none!important}

/* ==============================================
   Löwa 2.2: Ein einziges, ausziehbares Fahrtenfeld
   Keine separaten Karten / Boxen pro Meldung.
   ============================================== */
.loewa-booked {
  --lb-ink: #083653;
  --lb-blue: #176a94;
  --lb-gold: #edbb42;
  --lb-line: #e5edf2;
  position: fixed !important;
  top: clamp(118px, 20vh, 230px) !important;
  right: 0 !important;
  bottom: auto !important;
  left: auto !important;
  z-index: 99980 !important;
  width: min(390px, calc(100vw - 59px)) !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
  contain: layout; /* verhindert horizontales Scrollen bei eingeklappter Lasche */
  transform: translate3d(100%, 0, 0);
  transition: transform .46s cubic-bezier(.22,.78,.24,1);
  font-family: inherit;
  box-sizing: border-box;
}
.loewa-booked *, .loewa-booked *::before, .loewa-booked *::after { box-sizing: border-box; }
.loewa-booked.is-open { transform: translate3d(0,0,0); }

/* Schmale, vertikale Ziehlasche am rechten Rand */
.loewa-booked .loewa-booked-toggle {
  position: absolute !important;
  left: -51px !important;
  top: 15px !important;
  right: auto !important;
  bottom: auto !important;
  width: 51px !important;
  height: 210px !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 13px 6px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  border: 1px solid #e2b43d !important;
  border-right: 0 !important;
  border-radius: 12px 0 0 12px !important;
  background: var(--lb-gold) !important;
  color: var(--lb-ink) !important;
  box-shadow: -5px 6px 18px rgba(8,54,83,.17) !important;
  font-family: inherit !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: .015em;
  text-align: center !important;
  line-height: 1.2 !important;
  cursor: pointer !important;
  appearance: none !important;
  transition: background-color .2s ease, box-shadow .2s ease;
}
.loewa-booked .loewa-booked-toggle:hover {
  background: #ffd368 !important;
  box-shadow: -7px 8px 24px rgba(8,54,83,.23) !important;
}
.loewa-booked .loewa-booked-toggle:focus-visible,
.loewa-booked .loewa-booked-close:focus-visible,
.loewa-booked a:focus-visible {
  outline: 3px solid var(--lb-gold) !important;
  outline-offset: 3px !important;
}
.loewa-booked-toggle-icon {
  display: grid !important;
  place-items: center;
  flex: 0 0 23px;
  width: 23px;
  height: 23px;
  border-radius: 50%;
  background: var(--lb-ink);
  color: #fff;
  font-size: 15px;
  font-weight: 800;
  font-style: normal;
  line-height: 1;
}
.loewa-booked .loewa-booked-toggle-text {
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  white-space: nowrap;
  color: var(--lb-ink) !important;
  line-height: 1.1;
}
.loewa-booked .loewa-booked-count {
  display: grid;
  place-items: center;
  flex: 0 0 24px;
  min-width: 24px;
  height: 24px;
  padding: 0 5px;
  border-radius: 100px;
  background: #fff8df;
  color: var(--lb-ink) !important;
  border: 1px solid rgba(8,54,83,.13);
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
}

/* Eine einheitliche Infotafel mit integriertem Kopf & Fuß */
.loewa-booked .loewa-booked-panel {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-height: min(70vh, 610px); /* Fallback */
  max-height: min(70dvh, 610px);
  overflow: hidden;
  background: #fff;
  border: 1px solid #d9e5ec;
  border-right: 0;
  border-radius: 17px 0 0 17px;
  box-shadow: -12px 14px 36px rgba(5,36,56,.22);
  visibility: hidden;
  pointer-events: none;
  transition: visibility 0s linear .46s;
}
.loewa-booked.is-open .loewa-booked-panel {
  visibility: visible;
  pointer-events: auto;
  transition-delay: 0s;
}
.loewa-booked-head {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding: 22px 20px 19px;
  flex: 0 0 auto;
  background: linear-gradient(125deg, #083653 0%, #135274 100%);
  border-bottom: 4px solid var(--lb-gold);
}
.loewa-booked-eyebrow {
  display: block;
  margin: 0 0 8px;
  color: #f8cb66 !important;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .13em;
}
.loewa-booked .loewa-booked-head h2 {
  margin: 0 0 5px !important;
  padding: 0 !important;
  color: #fff !important;
  font-size: clamp(19px, 2vw, 23px) !important;
  font-weight: 800;
  line-height: 1.22 !important;
}
.loewa-booked-head p {
  margin: 0 !important;
  color: rgba(255,255,255,.81) !important;
  font-size: 12px;
  line-height: 1.5;
}
.loewa-booked .loewa-booked-close {
  display: grid !important;
  place-items: center;
  flex: 0 0 30px;
  width: 30px !important;
  height: 30px !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(255,255,255,.3) !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.10) !important;
  color: #fff !important;
  font: 24px/1 Arial,sans-serif !important;
  cursor: pointer;
}
.loewa-booked .loewa-booked-close:hover { background: rgba(255,255,255,.22) !important; }
.loewa-booked-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  background: #fff;
}
.loewa-booked .loewa-booked-items {
  display: block !important;
  max-height: none !important;
  overflow: visible !important;
  margin: 0 !important;
  padding: 0 20px !important;
  list-style: none !important;
  background: #fff;
}
.loewa-booked .loewa-booked-item {
  display: block;
  margin: 0 !important;
  padding: 17px 0 !important;
  background: none !important;
  border: none !important;
  border-bottom: 1px solid var(--lb-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-size: 13px;
  line-height: 1.55;
  color: var(--lb-ink);
}
.loewa-booked .loewa-booked-item:last-child { border-bottom: none !important; }
.loewa-booked-date {
  display: inline-block;
  margin: 0 0 5px;
  padding: 4px 9px;
  color: var(--lb-blue) !important;
  background: #ebf4f9;
  border-radius: 5px;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.2;
  white-space: nowrap;
}
.loewa-booked .loewa-booked-tour {
  display: block;
  color: var(--lb-ink) !important;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.4;
}
.loewa-booked .loewa-booked-note {
  margin: 5px 0 0 !important;
  color: #607789 !important;
  font-size: 13px;
  line-height: 1.55;
  overflow-wrap: anywhere;
}
.loewa-booked-footer {
  flex: 0 0 auto;
  padding: 13px 20px;
  border-top: 1px solid var(--lb-line);
  background: #f5f8fa;
}
.loewa-booked .loewa-booked-footer a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  color: var(--lb-ink) !important;
  font-size: 13px;
  font-weight: 800;
  text-decoration: none !important;
}
.loewa-booked .loewa-booked-footer a:hover { color: var(--lb-blue) !important; }
.loewa-booked .loewa-booked-footer a span { font-size: 20px; }

/* Nur im geschlossenen Zustand eine dezente Erinnerung */
@media (prefers-reduced-motion: no-preference) {
  .loewa-booked:not(.is-open) .loewa-booked-toggle {
    animation: loewa-booked-gentle-nudge 17s ease-in-out infinite;
  }
  @keyframes loewa-booked-gentle-nudge {
    0%, 83%, 91%, 100% { transform: translateX(0); }
    85%, 89% { transform: translateX(-6px); }
    87% { transform: translateX(1px); }
  }
}
@media (max-width: 600px) {
  .loewa-booked {
    top: max(86px, env(safe-area-inset-top, 0px) + 76px) !important;
    width: min(335px, calc(100vw - 53px)) !important;
  }
  .loewa-booked .loewa-booked-toggle {
    left: -45px !important;
    width: 45px !important;
    height: 175px !important;
    top: 10px !important;
    padding: 9px 4px !important;
    font-size: 11px !important;
  }
  .loewa-booked .loewa-booked-panel {
    max-height: 70vh;
    border-radius: 13px 0 0 13px;
  }
  .loewa-booked-head { padding: 18px 16px 15px; }
  .loewa-booked .loewa-booked-items { padding: 0 16px !important; }
  .loewa-booked-footer { padding: 13px 16px; }
  .loewa-booked .loewa-booked-head h2 { font-size: 19px !important; }
}
@media (prefers-reduced-motion: reduce) {
  .loewa-booked, .loewa-booked .loewa-booked-panel {
    transition: none !important;
  }
  .loewa-booked .loewa-booked-toggle { animation: none !important; }
}
