/* =========================================================
   Reise-Baukasten – Haupt-Stylesheet
   Nutzt die CSS-Variablen aus style.css / Customizer (inc/customizer.php)
   ========================================================= */

*, *::before, *::after { box-sizing: border-box; }
html { overflow-x: hidden; }
body { margin: 0; background: var(--bkt-bg); font-family: var(--bkt-font-body); color: var(--bkt-text); overflow-x: hidden; }
img { max-width: 100%; display: block; }
a { color: var(--bkt-blue); text-decoration: none; }
a:hover { color: var(--bkt-green); }
h1, h2, h3, h4 { font-family: var(--bkt-font-heading); margin: 0; }
.bkt-container { max-width: var(--bkt-max-width); margin: 0 auto; padding: 0 48px; }

/* ---------- Buttons ---------- */
.bkt-btn { display: inline-block; font-weight: 600; font-size: 15px; padding: 13px 28px; border-radius: var(--bkt-radius-sm); text-decoration: none; border: 1.5px solid transparent; cursor: pointer; transition: background .15s ease, transform .15s ease, color .15s ease; font-family: var(--bkt-font-body); }
.bkt-btn:hover { transform: translateY(-1px); }
.bkt-btn-primary { background: var(--bkt-green); color: #fff; }
.bkt-btn-primary:hover { background: var(--bkt-green); color: #fff; opacity: .92; }
.bkt-btn-dark { background: var(--bkt-green-dark); color: #fff; }
.bkt-btn-outline { background: transparent; color: var(--bkt-green-dark); border-color: var(--bkt-green); }
.bkt-btn-outline-light { background: transparent; color: #fff; border-color: var(--bkt-green); }
.bkt-btn-sm { padding: 9px 16px; font-size: 12px; border-radius: var(--bkt-radius-sm); }

/* ---------- Badges ---------- */
.bkt-badge { display: inline-block; font-weight: 700; font-size: 9px; letter-spacing: .05em; text-transform: uppercase; padding: 5px 11px; border-radius: 10px; color: var(--bkt-green-dark); background: var(--bkt-green-light); }
.bkt-badge-blue { background: var(--bkt-blue); color: #fff; }
.bkt-badge-green { background: var(--bkt-green); color: #fff; }

/* ---------- Section head ---------- */
.bkt-section-head { max-width: 620px; margin: 0 auto 44px; }
.bkt-align-left .bkt-section-head, .bkt-section-head.bkt-align-left { text-align: left; margin-left: 0; }
.bkt-align-center, .bkt-section-head.bkt-align-center { text-align: center; }
.bkt-eyebrow { display: block; color: var(--bkt-blue); font-weight: 600; font-size: 13px; letter-spacing: .06em; text-transform: uppercase; }
.bkt-section-title { font-weight: 700; font-size: 34px; color: var(--bkt-text); margin-top: 12px; }
.bkt-section-head-row { position: relative; text-align: center; margin-bottom: 44px; }
.bkt-section-head-row .bkt-section-head { margin-bottom: 0; max-width: 620px; margin-left: auto; margin-right: auto; }
.bkt-section-head-row .bkt-link-arrow { position: absolute; right: 0; top: 50%; transform: translateY(-50%); white-space: nowrap; }
@media (max-width: 700px) { .bkt-section-head-row .bkt-link-arrow { position: static; display: inline-block; transform: none; margin-top: 12px; } }
.bkt-link-arrow { color: var(--bkt-green); font-weight: 600; font-size: 14px; text-decoration: none; white-space: nowrap; }

/* ---------- Layout helpers for blocks ---------- */
.bkt-hero, .bkt-bild-zitat, .bkt-teaser, .bkt-trip-highlights, .bkt-testimonials, .bkt-fleet-block, .bkt-kontakt-cta, .bkt-kat-grid, .bkt-section-head-standalone {
	padding: 88px 0;
}
.bkt-hero, .bkt-bild-zitat, .bkt-kontakt-cta { padding-left: 0; padding-right: 0; }
.bkt-trip-highlights, .bkt-testimonials, .bkt-fleet-block, .bkt-teaser, .bkt-kat-grid { max-width: var(--bkt-max-width); margin: 0 auto; padding-left: 48px; padding-right: 48px; }
/* "Seiten-Kopfbereich" ohne Hintergrund ist meist die Einleitung des direkt folgenden Abschnitts – der bringt bereits eigenen Abstand von oben mit, daher hier kein zusätzlicher unterer Abstand. */
.bkt-section-head-standalone { padding-bottom: 0; }

/* ---------- Grid ---------- */
.bkt-grid { display: grid; gap: 26px; }
.bkt-grid-3 { grid-template-columns: repeat(3, 1fr); }
.bkt-grid-4 { grid-template-columns: repeat(4, 1fr); }
.bkt-empty-state { text-align: center; color: #888; font-size: 14px; padding: 24px; background: rgba(0,0,0,.03); border-radius: var(--bkt-radius); }

/* ---------- Cards (generisch für Reise / Fahrzeug / Testimonial) ---------- */
.bkt-card { min-width: 0; background: #fff; border-radius: var(--bkt-radius); overflow: hidden; box-shadow: 0 2px 14px rgba(0,0,0,.06); text-decoration: none; display: flex; flex-direction: column; color: var(--bkt-text); }
.bkt-hover-card { transition: transform .2s ease, box-shadow .2s ease; }
.bkt-hover-card:hover { transform: translateY(-5px); box-shadow: 0 12px 28px rgba(0,0,0,.12); }
.bkt-card-img { position: relative; height: 180px; overflow: hidden; background: #eee; }
.bkt-card-img img { width: 100%; height: 100%; object-fit: cover; }
.bkt-card-img .bkt-card-badges { position: absolute; top: 14px; left: 14px; right: 14px; display: flex; flex-wrap: wrap; gap: 6px; }
.bkt-img-placeholder { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, var(--bkt-green-light), var(--bkt-blue-light)); color: var(--bkt-green-dark); font-size: 12px; text-align: center; padding: 10px; }
.bkt-card-body { padding: 20px 20px 24px; display: flex; flex-direction: column; flex: 1; }
.bkt-card-title { font-weight: 700; font-size: 17px; color: var(--bkt-text); margin: 0 0 8px; }
.bkt-card-meta { font-size: 13px; color: #666; margin: 0 0 6px; }
.bkt-card-dates { font-size: 12px; color: #888; margin: 0 0 16px; }
.bkt-card-footer { margin-top: auto; display: flex; justify-content: space-between; align-items: center; }
.bkt-card-price-block { display: flex; flex-direction: column; gap: 2px; }
.bkt-price { font-family: var(--bkt-font-heading); font-weight: 700; font-size: 17px; color: var(--bkt-blue); }
.bkt-price-hint { font-size: 11px; font-weight: 600; color: var(--bkt-green-dark); }

/* ---------- Vehicle card specifics ---------- */
.bkt-vehicle-card { cursor: pointer; }
.bkt-vehicle-title-row { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; flex-wrap: wrap; }
.bkt-card-desc { font-size: 13px; line-height: 1.6; color: #555; flex: 1; }
.bkt-fleet-group { margin-bottom: 56px; }
.bkt-fleet-group-title { font-weight: 700; font-size: 24px; color: var(--bkt-text); margin-bottom: 24px; }
.bkt-fleet-more { text-align: center; margin-top: 36px; }

/* ---------- Hero-Karussell ---------- */
.bkt-hero { position: relative; background: var(--bkt-green-dark); overflow: hidden; }
.bkt-hero-slides { position: absolute; inset: 0; }
.bkt-hero-slide {
	position: absolute; inset: 0;
	display: flex; align-items: center;
	background-size: cover; background-position: center;
	opacity: 0; visibility: hidden;
	transition: opacity .7s ease;
}
.bkt-hero-slide.bkt-active { opacity: 1; visibility: visible; }
.bkt-hero-overlay { position: absolute; inset: 0; background: rgba(17,30,10,.5); }
.bkt-hero-inner { position: relative; max-width: var(--bkt-max-width); margin: 0 auto; padding: 0 48px; width: 100%; z-index: 2; }
.bkt-hero-content { max-width: 640px; }
.bkt-hero-badge { display: inline-block; background: var(--bkt-green-light); color: var(--bkt-green-dark); font-weight: 600; font-size: 10px; letter-spacing: .06em; text-transform: uppercase; padding: 6px 14px; border-radius: 10px; margin-bottom: 22px; }
.bkt-hero-heading { font-weight: 700; font-size: 56px; line-height: 1.08; color: #fff; margin: 0 0 22px; }
.bkt-hero-text { font-size: 17px; line-height: 1.7; color: rgba(255,255,255,.85); max-width: 520px; margin: 0 0 34px; }
.bkt-hero-buttons { display: flex; gap: 16px; flex-wrap: wrap; }

.bkt-hero-arrow {
	position: absolute; top: 50%; transform: translateY(-50%);
	width: 46px; height: 46px; border-radius: 50%;
	background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.3);
	color: #fff; font-size: 22px; line-height: 1; cursor: pointer;
	z-index: 3; transition: background .15s ease;
}
.bkt-hero-arrow:hover { background: rgba(255,255,255,.28); }
.bkt-hero-arrow.bkt-prev { left: 24px; }
.bkt-hero-arrow.bkt-next { right: 24px; }

.bkt-hero-dots {
	position: absolute; left: 0; right: 0; bottom: 22px;
	display: flex; justify-content: center; gap: 8px; z-index: 3;
}
.bkt-hero-dot {
	width: 34px; height: 3px; padding: 0; border: none; cursor: pointer;
	background: rgba(255,255,255,.3); border-radius: 2px; overflow: hidden;
}
.bkt-hero-dot-bar { display: block; height: 100%; width: 0; background: #fff; }
.bkt-hero-dot.bkt-active .bkt-hero-dot-bar { animation: bktHeroDotGrow linear forwards; animation-duration: 6s; }
.bkt-hero-dot.bkt-passed .bkt-hero-dot-bar { width: 100%; }
@keyframes bktHeroDotGrow { from { width: 0%; } to { width: 100%; } }

@media (max-width: 600px) {
	.bkt-hero-arrow { width: 38px; height: 38px; font-size: 18px; }
	.bkt-hero-arrow.bkt-prev { left: 10px; }
	.bkt-hero-arrow.bkt-next { right: 10px; }
}

/* ---------- Kategorie-Grid ---------- */
.bkt-kat-grid { display: grid; grid-template-columns: repeat(var(--bkt-grid-cols, 4), 1fr); gap: 28px; }
.bkt-kat-grid.bkt-kat-grid-tight-top { padding-top: 0; }
.bkt-kat-grid-head { max-width: var(--bkt-max-width); margin: 0 auto; padding: 88px 48px 0; }
.bkt-kat-grid-head .bkt-section-head { margin-bottom: 44px; }
.bkt-kat-tile { min-width: 0; display: flex; flex-direction: column; background: #fff; border-radius: var(--bkt-radius); overflow: hidden; box-shadow: 0 2px 14px rgba(0,0,0,.06); text-decoration: none; color: var(--bkt-text); }
.bkt-kat-tile-img { height: 180px; position: relative; overflow: hidden; }
.bkt-kat-tile-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.bkt-kat-tile:hover .bkt-kat-tile-img img { transform: scale(1.04); }
.bkt-kat-tile-img .bkt-badge { position: absolute; top: 14px; left: 14px; }
.bkt-kat-tile-body { padding: 24px 22px 28px; }
.bkt-kat-title { font-weight: 700; font-size: 19px; line-height: 1.3; color: var(--bkt-text); margin: 0 0 8px; }
.bkt-kat-desc { font-size: 14px; line-height: 1.6; color: #555; margin: 0 0 14px; }

/* ---------- Bild-Zitat ---------- */
.bkt-bild-zitat { position: relative; background-size: cover; background-position: center; display: flex; align-items: center; }
.bkt-bild-zitat-overlay { position: absolute; inset: 0; background: rgba(17,30,10,.5); pointer-events: none; }
.bkt-bild-zitat-inner { position: relative; max-width: 780px; margin: 0 auto; padding: 0 48px; width: 100%; z-index: 2; text-align: center; }
.bkt-bild-zitat-text { font-family: var(--bkt-font-heading); font-style: italic; font-size: 28px; color: #fff; margin: 0; line-height: 1.55; }

/* ---------- Teaser (Über-uns) ---------- */
.bkt-teaser { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; background: #fff; }
.bkt-teaser-img, .bkt-teaser-content { min-width: 0; }
.bkt-teaser-section { background: #fff; }
.bkt-teaser-img-right { direction: rtl; }
.bkt-teaser-img-right > * { direction: ltr; }
.bkt-teaser-img { border-radius: var(--bkt-radius); overflow: hidden; aspect-ratio: 4/3; background: #eee; }
.bkt-teaser-img img { width: 100%; height: 100%; object-fit: cover; }
.bkt-teaser-quote { border-left: 3px solid var(--bkt-green); padding-left: 1rem; margin: 0 0 22px; font-family: var(--bkt-font-heading); font-style: italic; font-size: 19px; line-height: 1.6; color: #333; }
.bkt-teaser-text { font-size: 15px; line-height: 1.8; color: #444; }
.bkt-teaser-text p { margin: 0 0 18px; }
.bkt-teaser-text p:last-child { margin-bottom: 0; }
.bkt-teaser-heading { font-weight: 700; font-size: 34px; color: var(--bkt-text); margin: 12px 0 20px; }
.bkt-teaser-author { font-size: 14px; color: #666; margin: 0 0 26px; }

/* ---------- Bonus-Banner ---------- */
.bkt-bonus-banner-section { min-width: 0; padding: 64px 0; }
.bkt-bonus-banner { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 20px; max-width: var(--bkt-max-width); margin: 0 auto; padding: 0 48px; min-width: 0; }
.bkt-bonus-text { max-width: 560px; }
.bkt-bonus-heading { font-weight: 700; font-size: 28px; margin: 0 0 10px; }
.bkt-bonus-desc { font-size: 14px; line-height: 1.7; margin: 0; }

/* ---------- Kontakt-CTA ---------- */
.bkt-kontakt-cta { background: var(--bkt-green-dark); padding: 70px 48px; text-align: center; }
.bkt-kontakt-cta-heading { font-weight: 700; font-size: 32px; color: #fff; margin: 0 0 16px; }
.bkt-kontakt-cta-text { font-size: 15px; color: rgba(255,255,255,.75); margin: 0 0 30px; }
.bkt-kontakt-cta-buttons { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }

/* ---------- Newsletter ---------- */
.bkt-newsletter { background: var(--bkt-green-light); padding: 56px 0; }
.bkt-newsletter-inner { display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap; max-width: var(--bkt-max-width); margin: 0 auto; padding: 0 48px; }
.bkt-newsletter-text { max-width: 480px; }
.bkt-newsletter-heading { font-weight: 700; font-size: 26px; color: var(--bkt-green-dark); margin: 0 0 8px; }
.bkt-newsletter-desc { font-size: 14px; line-height: 1.7; color: #233016; margin: 0; }
.bkt-newsletter-form { display: flex; flex-direction: column; gap: 10px; max-width: 480px; }
.bkt-newsletter-fields, .bkt-newsletter-form-preview { display: flex; gap: 12px; flex-wrap: wrap; }
.bkt-newsletter-input { width: 260px; box-sizing: border-box; font-family: var(--bkt-font-body); font-size: 14px; padding: 12px 16px; border: 1px solid rgba(0,0,0,.15); border-radius: var(--bkt-radius-sm); color: var(--bkt-text); }
.bkt-newsletter-input:focus { outline: 2px solid var(--bkt-green); outline-offset: 1px; }
.bkt-newsletter-consent { display: flex; align-items: flex-start; gap: 8px; font-size: 12px; line-height: 1.6; color: #3a4a2c; cursor: pointer; }
.bkt-newsletter-consent input { margin-top: 3px; flex: none; }
.bkt-newsletter-consent a { color: var(--bkt-green-dark); text-decoration: underline; }
.bkt-newsletter-success { display: none; align-items: center; gap: 10px; color: var(--bkt-green-dark); font-weight: 600; font-size: 15px; }
.bkt-newsletter.bkt-submitted .bkt-newsletter-form { display: none; }
.bkt-newsletter.bkt-submitted .bkt-newsletter-success { display: flex; }

/* ---------- Testimonials ---------- */
.bkt-overall-rating { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 18px; }
.bkt-rating-number { font-weight: 700; font-size: 16px; color: var(--bkt-text); }
.bkt-rating-stars { color: #FFC107; font-size: 15px; letter-spacing: 1px; }
.bkt-rating-count { font-size: 13px; color: #777; }
.bkt-testimonial-card { padding: 28px; }
.bkt-testimonial-quote { font-size: 14px; line-height: 1.6; color: #333; margin: 14px 0 20px; }
.bkt-testimonial-name { font-weight: 600; font-size: 14px; color: var(--bkt-text); }
.bkt-testimonial-trip { font-size: 12px; color: #777; }
.bkt-testimonials-footer { text-align: center; margin-top: 36px; }
.bkt-testimonials-footer a { color: var(--bkt-blue); font-weight: 600; font-size: 14px; }

/* ---------- Header / Navigation ---------- */
.bkt-nav { background: var(--bkt-green-dark); height: 84px; display: flex; align-items: center; justify-content: space-between; padding: 0 48px; position: sticky; top: 0; z-index: 50; }
.bkt-nav-logo { display: flex; align-items: baseline; gap: 6px; text-decoration: none; flex: none; margin-right: 16px; }
.bkt-logo-img { max-height: 56px; width: auto; display: block; align-self: center; }
.bkt-nav-logo-main { font-family: var(--bkt-font-heading); font-weight: 700; font-size: 28px; color: var(--bkt-green); letter-spacing: .3px; }
.bkt-nav-logo-claim { font-family: var(--bkt-font-heading); font-weight: 400; font-style: italic; font-size: 19px; color: var(--bkt-blue-light); }
.bkt-nav-links { display: flex; align-items: center; gap: 22px; min-width: 0; list-style: none; margin: 0; padding: 0; }
.bkt-nav-links a { color: #F7F7F5; font-weight: 400; font-size: 14px; text-decoration: none; white-space: nowrap; transition: color .15s ease; }
.bkt-nav-links li.current-menu-item > a, .bkt-nav-links a.bkt-active { color: var(--bkt-green); font-weight: 600; }
.bkt-nav-links a:hover { color: #8fdb52; }
.bkt-nav-right { display: flex; align-items: center; gap: 16px; flex: none; }
.bkt-nav-cta { background: var(--bkt-green); color: #fff; font-weight: 600; font-size: 14px; padding: 11px 22px; border-radius: var(--bkt-radius-sm); text-decoration: none; white-space: nowrap; }
.bkt-burger { display: none; flex-direction: column; gap: 5px; background: none; border: none; cursor: pointer; padding: 8px; }
.bkt-burger span { width: 24px; height: 2px; background: #F7F7F5; }
.bkt-mobile-menu { display: none; position: absolute; top: 84px; left: 0; right: 0; background: var(--bkt-green-dark); flex-direction: column; padding: 8px 24px 20px; box-shadow: 0 8px 16px rgba(0,0,0,.2); list-style: none; margin: 0; }
.bkt-mobile-menu.bkt-open { display: flex; }
.bkt-mobile-menu a { color: #F7F7F5; text-decoration: none; padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,.1); display: block; font-size: 15px; }
.bkt-mobile-menu li.current-menu-item a { color: var(--bkt-green); font-weight: 600; }

@media (max-width: 1180px) {
	.bkt-nav-links { display: none; }
	.bkt-burger { display: flex; }
}

/* ---------- Footer ---------- */
.bkt-footer { background: var(--bkt-footer-bg); color: #F7F7F5; padding: 64px 48px 28px; }
.bkt-footer-grid { max-width: var(--bkt-max-width); margin: 0 auto; display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 40px; }
.bkt-footer-logo { display: flex; align-items: baseline; gap: 6px; margin-bottom: 14px; }
.bkt-footer-logo .bkt-nav-logo-main { font-size: 24px; }
.bkt-footer-about { font-size: 14px; line-height: 1.7; color: rgba(247,247,245,.75); max-width: 280px; margin: 0; }
.bkt-footer-col-title { color: var(--bkt-green); font-weight: 600; font-size: 14px; margin-bottom: 16px; }
.bkt-footer-links { display: flex; flex-direction: column; gap: 10px; list-style: none; margin: 0; padding: 0; }
.bkt-footer-links a { color: rgba(247,247,245,.8); text-decoration: none; font-size: 14px; }
.bkt-footer-contact { display: flex; flex-direction: column; gap: 8px; font-size: 14px; color: rgba(247,247,245,.8); }
.bkt-footer-widget-title { color: var(--bkt-green); font-weight: 600; font-size: 14px; margin-bottom: 16px; }
.bkt-footer-bottom { max-width: var(--bkt-max-width); margin: 40px auto 0; padding-top: 24px; border-top: 1px solid rgba(247,247,245,.15); display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px; font-size: 12px; color: rgba(247,247,245,.5); }
.bkt-footer-bottom-links { display: flex; gap: 20px; flex-wrap: wrap; }
.bkt-footer-bottom-links a { color: rgba(247,247,245,.5); text-decoration: none; }
.bkt-social-icons { display: flex; gap: 14px; margin-top: 10px; }
.bkt-social-icon { font-size: 12px; color: rgba(247,247,245,.7); border: 1px solid rgba(247,247,245,.3); padding: 4px 10px; border-radius: 20px; }

@media (max-width: 900px) {
	.bkt-footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
	.bkt-footer-grid { grid-template-columns: 1fr; }
	.bkt-container, .bkt-hero-inner, .bkt-bild-zitat-inner, .bkt-newsletter-inner, .bkt-trip-highlights, .bkt-testimonials, .bkt-fleet-block, .bkt-teaser, .bkt-kat-grid, .bkt-kat-grid-head, .bkt-filters-bar, .bkt-filters-panel, .bkt-filter-empty, .bkt-offers-calendar { padding-left: 20px; padding-right: 20px; }
}

/* =========================================================
   Seiten-spezifische Styles (Templates)
   ========================================================= */

/* ---- Seiten-Header ---- */
.bkt-page-header { background: var(--bkt-green-dark); padding: 56px 48px 44px; }
.bkt-page-header-inner { max-width: var(--bkt-max-width); margin: 0 auto; }
.bkt-page-header .bkt-eyebrow { color: var(--bkt-green-light); }
.bkt-page-title { font-weight: 700; font-size: 40px; color: #fff; margin: 12px 0 0; }
.bkt-page-header-meta { display: flex; gap: 40px; flex-wrap: wrap; margin-top: 24px; }
.bkt-page-header-meta a, .bkt-page-header-meta span { color: #fff; text-decoration: none; font-size: 15px; display: flex; gap: 8px; align-items: center; }
.bkt-page-header-meta .bkt-icon { color: var(--bkt-green); }

/* ---- Reiseangebote: Filter + Grid ---- */
.bkt-filters { max-width: var(--bkt-max-width); margin: 0 auto; padding: 36px 48px 0; display: flex; gap: 12px; flex-wrap: wrap; }
.bkt-filter-btn { background: #fff; color: var(--bkt-text); font-weight: 600; font-size: 13px; padding: 10px 20px; border-radius: 20px; border: 1px solid rgba(0,0,0,.12); cursor: pointer; transition: background .15s ease, color .15s ease; font-family: var(--bkt-font-body); }
.bkt-filter-btn.bkt-active { background: var(--bkt-green); color: #fff; border-color: var(--bkt-green); }

/* ---------- Filter-Leiste: Kategorien links, Filter-Umschalter rechtsbündig ---------- */
.bkt-filters-bar { max-width: var(--bkt-max-width); margin: 0 auto; padding: 36px 48px 0; display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.bkt-filters-bar .bkt-filters { padding: 0; margin: 0; display: flex; gap: 12px; flex-wrap: wrap; flex: 1; }
.bkt-view-controls { display: flex; align-items: center; gap: 10px; flex: none; }
@media (max-width: 640px) {
	.bkt-filters-bar { flex-direction: column; align-items: stretch; gap: 14px; }
	.bkt-filters-bar .bkt-filters { flex: none; }
	.bkt-view-controls { justify-content: space-between; }
}
.bkt-filters-toggle {
	display: inline-flex; align-items: center; gap: 8px;
	background: #fff; color: var(--bkt-text); font-weight: 600; font-size: 13px;
	padding: 10px 18px; border-radius: 20px; border: 1px solid rgba(0,0,0,.12);
	cursor: pointer; font-family: var(--bkt-font-body); flex: none;
	transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.bkt-filters-toggle:hover { border-color: var(--bkt-green); color: var(--bkt-green-dark); }
.bkt-filters-toggle.bkt-active { background: var(--bkt-green-dark); color: #fff; border-color: var(--bkt-green-dark); }

/* ---------- Ansichts-Umschaltung (Kacheln / Liste / Kalender) ---------- */
.bkt-view-switcher { display: flex; gap: 2px; background: #fff; border: 1px solid rgba(0,0,0,.12); border-radius: 20px; padding: 2px; flex: none; }
.bkt-view-btn { display: inline-flex; align-items: center; gap: 6px; background: none; border: none; color: #888; font-size: 13px; font-weight: 600; font-family: var(--bkt-font-body); padding: 8px 14px; border-radius: 18px; cursor: pointer; transition: background .15s ease, color .15s ease; }
.bkt-view-btn:hover { color: var(--bkt-green-dark); }
.bkt-view-btn.bkt-active { background: var(--bkt-green-dark); color: #fff; }
@media (max-width: 640px) { .bkt-view-btn-label { display: none; } .bkt-view-btn { padding: 8px 10px; } }

/* ---------- Listen-Ansicht: dieselben Karten, horizontal statt als Kachel ---------- */
.bkt-grid.bkt-view-list { grid-template-columns: 1fr !important; gap: 14px; }
.bkt-grid.bkt-view-list > div { display: block; }
.bkt-grid.bkt-view-list .bkt-trip-card { flex-direction: row; }
.bkt-grid.bkt-view-list .bkt-card-img { width: 220px; height: auto; flex: none; }
.bkt-grid.bkt-view-list .bkt-card-body { padding: 18px 22px; }
.bkt-grid.bkt-view-list .bkt-card-footer { margin-top: 12px; }
@media (max-width: 640px) {
	.bkt-grid.bkt-view-list .bkt-trip-card { flex-direction: column; }
	.bkt-grid.bkt-view-list .bkt-card-img { width: 100%; height: 160px; }
}

/* ---------- Kalender-Ansicht ---------- */
.bkt-offers-calendar { max-width: var(--bkt-max-width); margin: 0 auto; padding: 36px 48px 90px; }
.bkt-calendar-header { display: flex; align-items: center; justify-content: center; gap: 22px; margin-bottom: 20px; }
.bkt-calendar-month-label { font-weight: 700; font-size: 20px; margin: 0; min-width: 190px; text-align: center; }
.bkt-calendar-nav { background: #fff; border: 1px solid rgba(0,0,0,.12); border-radius: 50%; width: 36px; height: 36px; font-size: 15px; cursor: pointer; color: var(--bkt-green-dark); transition: background .15s ease; }
.bkt-calendar-nav:hover { background: var(--bkt-green-light); }
.bkt-calendar-weekdays { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 8px; margin-bottom: 6px; }
.bkt-calendar-weekdays span { text-align: center; font-size: 12px; font-weight: 700; color: #888; text-transform: uppercase; letter-spacing: .03em; }
.bkt-calendar-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 8px; }
.bkt-calendar-cell { min-height: 92px; min-width: 0; background: #fff; border-radius: var(--bkt-radius-sm); border: 1px solid rgba(0,0,0,.06); padding: 8px; display: flex; flex-direction: column; gap: 4px; }
.bkt-calendar-cell-empty { background: transparent; border: none; }
.bkt-calendar-daynum { font-size: 12px; color: #999; font-weight: 600; }
.bkt-calendar-event, .bkt-calendar-slot-empty { display: block; height: 20px; font-size: 11px; line-height: 20px; padding: 0 6px; border-radius: 5px; box-sizing: border-box; }
.bkt-calendar-event { text-decoration: none; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; filter: brightness(1); transition: filter .15s ease; }
.bkt-calendar-event:hover { filter: brightness(0.92); }
.bkt-calendar-slot-empty { visibility: hidden; }
/* Mehrtägige Reise: An jedem Tag exakt dieselbe Farbe (siehe JS), zusätzlich
   zur Zelle hin offene Kanten (kein Radius, über den Zellrand hinausgezogen),
   damit die Tage sichtbar wie ein durchgehendes Band zusammenhängen, statt wie
   einzelne, zufällig gleichfarbige Termine auszusehen. */
.bkt-calendar-event-span { border-radius: 0; margin: 0 -8px; padding-left: 8px; padding-right: 8px; }
.bkt-calendar-event-start { border-radius: 5px 0 0 5px; margin-left: 0; padding-left: 6px; }
.bkt-calendar-event-end { border-radius: 0 5px 5px 0; margin-right: 0; padding-right: 6px; }
.bkt-calendar-empty { text-align: center; color: #888; margin-top: 24px; }
@media (max-width: 640px) {
	.bkt-calendar-weekdays span { font-size: 10px; }
	.bkt-calendar-cell { min-height: 68px; padding: 4px; }
	.bkt-calendar-event, .bkt-calendar-slot-empty { font-size: 10px; height: 18px; line-height: 18px; padding: 0 4px; }
	.bkt-calendar-header { gap: 12px; }
	.bkt-calendar-month-label { font-size: 17px; min-width: 0; }
}

/* ---------- Aufklappbares Filter-Panel ---------- */
.bkt-filters-panel { max-width: var(--bkt-max-width); margin: 0 auto; padding: 16px 48px 0; }
.bkt-filters-panel-inner {
	background: #fff; border-radius: var(--bkt-radius); box-shadow: 0 4px 24px rgba(0,0,0,.08);
	padding: 26px 30px; display: flex; align-items: flex-end; gap: 32px; flex-wrap: wrap;
}
.bkt-filter-divider { width: 1px; align-self: stretch; background: rgba(0,0,0,.08); min-height: 44px; }
.bkt-filter-group { display: flex; flex-direction: column; gap: 8px; }
.bkt-filter-group label { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; color: #888; }
.bkt-filter-range { display: flex; align-items: center; gap: 8px; }
.bkt-filter-range span { font-size: 13px; color: #999; }
.bkt-filter-range input { font-family: var(--bkt-font-body); font-size: 13px; padding: 9px 12px; border: 1px solid rgba(0,0,0,.14); border-radius: var(--bkt-radius-sm); color: var(--bkt-text); width: 130px; background: #fafafa; transition: border-color .15s ease, background .15s ease; }
.bkt-filter-range input:focus { outline: none; border-color: var(--bkt-green); background: #fff; }
.bkt-filter-reset { background: none; border: none; color: var(--bkt-green-dark); font-size: 13px; font-weight: 600; text-decoration: underline; cursor: pointer; padding: 9px 0; font-family: var(--bkt-font-body); margin-left: auto; }
.bkt-filter-empty { max-width: var(--bkt-max-width); margin: 0 auto; padding: 0 48px 60px; color: #777; font-size: 15px; }

@media (max-width: 700px) {
	.bkt-filters-panel-inner { flex-direction: column; align-items: stretch; }
	.bkt-filter-divider { display: none; }
	.bkt-filter-range input { width: 100%; }
	.bkt-filter-reset { margin-left: 0; }
}
.bkt-offers-grid { max-width: var(--bkt-max-width); margin: 0 auto; padding: 36px 48px 90px; }
.bkt-offers-grid .bkt-grid { grid-template-columns: repeat(3, 1fr); }
.bkt-show-more { text-align: center; margin-top: 44px; }

/* ---- Reise-Detail ---- */
.bkt-gallery { position: relative; height: 520px; background: #111; overflow: hidden; }
.bkt-gallery-slide { position: absolute; inset: 0; opacity: 0; transition: opacity .6s ease; }
.bkt-gallery-slide.bkt-active { opacity: 1; }
.bkt-gallery-slide img { width: 100%; height: 100%; object-fit: cover; }
.bkt-gallery-overlay { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(0,0,0,.55), transparent 40%); pointer-events: none; }
.bkt-gallery-arrow { position: absolute; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; border-radius: 50%; background: rgba(0,0,0,.35); color: #fff; border: none; font-size: 20px; cursor: pointer; transition: background .15s ease; }
.bkt-gallery-arrow:hover { background: rgba(0,0,0,.55); }
.bkt-gallery-arrow.bkt-prev { left: 20px; }
.bkt-gallery-arrow.bkt-next { right: 20px; }
.bkt-gallery-caption { position: absolute; bottom: 0; left: 0; right: 0; padding: 28px 48px 22px; }
.bkt-gallery-caption-inner { max-width: var(--bkt-max-width); margin: 0 auto; }
.bkt-gallery-title { font-weight: 700; font-size: 38px; color: #fff; margin: 14px 0 0; }
.bkt-gallery-dots { position: absolute; bottom: 0; left: 0; right: 0; height: 3px; background: rgba(255,255,255,.25); display: flex; }
.bkt-gallery-dot { flex: 1; background: transparent; }
.bkt-gallery-dot-bar { height: 100%; width: 0; background: var(--bkt-green); }
.bkt-gallery-dot.bkt-active .bkt-gallery-dot-bar { animation: bktGrow 6s linear forwards; }
.bkt-gallery-dot.bkt-passed .bkt-gallery-dot-bar { width: 100%; }
@keyframes bktGrow { from { width: 0%; } to { width: 100%; } }

.bkt-detail-grid { max-width: var(--bkt-max-width); margin: 0 auto; padding: 56px 48px 0; display: grid; grid-template-columns: 2fr 1fr; gap: 56px; align-items: start; }
.bkt-detail-desc h2 { font-weight: 700; font-size: 26px; color: var(--bkt-text); margin: 0 0 18px; }
.bkt-detail-desc p { font-size: 15px; line-height: 1.8; color: #444; margin: 0 0 18px; }
.bkt-detail-sidebar { position: sticky; top: 104px; background: #fff; border-radius: var(--bkt-radius); box-shadow: 0 2px 18px rgba(0,0,0,.08); padding: 28px; }
.bkt-detail-price { font-family: var(--bkt-font-heading); font-weight: 700; font-size: 28px; color: var(--bkt-blue); margin-bottom: 4px; }
.bkt-detail-price-sub { font-size: 13px; color: #777; margin-bottom: 22px; }
.bkt-detail-facts { display: flex; flex-direction: column; gap: 10px; font-size: 14px; color: #333; margin-bottom: 24px; }
.bkt-detail-fact-row { display: flex; justify-content: space-between; }
.bkt-detail-fact-row span:last-child { font-weight: 600; }
.bkt-detail-sidebar .bkt-btn { display: block; text-align: center; width: 100%; box-sizing: border-box; }
.bkt-detail-sidebar-link { display: block; text-align: center; font-size: 12px; color: #777; margin-top: 12px; text-decoration: none; }

.bkt-leistungen { max-width: var(--bkt-max-width); margin: 0 auto; padding: 56px 48px; display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
.bkt-leistungen h3 { font-weight: 700; font-size: 20px; margin: 0 0 16px; }
.bkt-leistungen-liste { list-style: none; margin: 0; padding: 0; }
.bkt-leistungen-liste li { display: flex; gap: 10px; align-items: flex-start; padding: 8px 0; font-size: 14px; color: #333; }
.bkt-check { color: var(--bkt-green); font-weight: 700; }
.bkt-cross { color: #b33; font-weight: 700; }

.bkt-similar { max-width: var(--bkt-max-width); margin: 0 auto; padding: 20px 48px 90px; }
.bkt-similar h2 { font-weight: 700; font-size: 26px; margin: 0 0 28px; }

@media (max-width: 960px) {
	.bkt-detail-grid, .bkt-leistungen { grid-template-columns: 1fr; }
	.bkt-detail-sidebar { position: static; }
}

/* ---- Über uns ---- */
.bkt-team-hero { position: relative; height: 440px; background: var(--bkt-green-dark); overflow: hidden; }
.bkt-team-hero img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .5; }
.bkt-team-hero-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(27,58,12,.2), rgba(27,58,12,.85)); }
.bkt-team-hero-inner { position: relative; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; max-width: var(--bkt-max-width); margin: 0 auto; padding: 0 48px 44px; }
.bkt-team-hero-inner.bkt-valign-center { justify-content: center; padding-bottom: 0; }
.bkt-team-hero-inner.bkt-align-center { align-items: center; text-align: center; }

.bkt-letter { max-width: 1100px; margin: 0 auto; padding: 88px 48px; display: grid; grid-template-columns: 280px 1fr; gap: 52px; align-items: start; }
.bkt-letter-img { min-width: 0; border-radius: var(--bkt-radius); overflow: hidden; aspect-ratio: 3/4; background: #eee; }
.bkt-letter-img img { width: 100%; height: 100%; object-fit: cover; }
.bkt-letter-heading { font-weight: 700; font-size: 30px; margin: 12px 0 22px; }
.bkt-letter-body p { font-size: 15px; line-height: 1.85; color: #444; margin: 0 0 18px; }
.bkt-letter-signature { font-family: var(--bkt-font-heading); font-style: italic; font-size: 20px; color: var(--bkt-green-dark); }
.bkt-letter-role { font-size: 13px; color: #777; margin-top: 4px; }

.bkt-team-section { background: #fff; padding: 88px 48px; }
.bkt-team-grid { max-width: var(--bkt-max-width); margin: 0 auto; display: grid; grid-template-columns: repeat(4, 1fr); gap: 26px; }
.bkt-team-member { min-width: 0; text-align: center; }
.bkt-team-photo { width: 100%; aspect-ratio: 1; border-radius: 50%; overflow: hidden; margin-bottom: 16px; background: #eee; }
.bkt-team-photo img { width: 100%; height: 100%; object-fit: cover; }
.bkt-team-name { font-weight: 600; font-size: 15px; }
.bkt-team-role { font-size: 13px; color: #777; margin-top: 4px; }

.bkt-timeline-section { background: var(--bkt-green-dark); padding: 88px 0; }
.bkt-timeline-head { max-width: var(--bkt-max-width); margin: 0 auto; padding: 0 48px 40px; text-align: center; }
.bkt-timeline-head h2 { font-weight: 700; font-size: 32px; color: #fff; margin: 12px 0 0; }
.bkt-timeline { max-width: var(--bkt-max-width); margin: 0 auto; padding: 0 48px; display: flex; gap: 0; position: relative; overflow-x: auto; }
.bkt-timeline-line { position: absolute; left: 48px; right: 48px; top: 9px; height: 2px; background: rgba(255,255,255,.25); }
.bkt-timeline-item { flex: 1; min-width: 170px; position: relative; padding-top: 28px; }
.bkt-timeline-dot { position: absolute; top: 0; left: 0; width: 18px; height: 18px; border-radius: 50%; background: var(--bkt-green); border: 3px solid var(--bkt-green-dark); }
.bkt-timeline-year { font-family: var(--bkt-font-heading); font-weight: 700; font-size: 20px; color: var(--bkt-green); margin-bottom: 8px; }
.bkt-timeline-text { font-size: 13px; line-height: 1.6; color: rgba(255,255,255,.8); }

@media (max-width: 900px) {
	.bkt-letter { grid-template-columns: 1fr; }
	.bkt-team-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ---- Fuhrpark: Modal ---- */
.bkt-vehicle-modal { position: fixed; inset: 0; background: rgba(17,20,10,.65); display: none; align-items: center; justify-content: center; z-index: 200; padding: 24px; }
.bkt-vehicle-modal.bkt-open { display: flex; }
.bkt-vehicle-modal-inner { background: #fff; border-radius: 12px; max-width: 720px; width: 100%; max-height: 88vh; overflow-y: auto; animation: bktModalIn .25s ease; }
@keyframes bktModalIn { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
.bkt-vehicle-modal-img { position: relative; height: 320px; background: #eee; }
.bkt-vehicle-modal-img img { width: 100%; height: 100%; object-fit: cover; }
.bkt-vehicle-modal-close { position: absolute; top: 16px; right: 16px; width: 36px; height: 36px; border-radius: 50%; background: rgba(255,255,255,.9); border: none; font-size: 18px; cursor: pointer; color: var(--bkt-text); transition: background .15s ease; }
.bkt-vehicle-modal-close:hover { background: rgba(0,0,0,.08); }
.bkt-vehicle-modal-badge { position: absolute; bottom: 16px; left: 16px; }
.bkt-vehicle-modal-body { padding: 32px 36px 36px; }
.bkt-vehicle-modal-body h2 { font-weight: 700; font-size: 26px; margin: 0 0 6px; }
.bkt-vehicle-modal-capacity { font-size: 14px; color: #666; margin-bottom: 20px; }
.bkt-vehicle-modal-desc { font-size: 14px; line-height: 1.75; color: #444; margin: 0 0 24px; }
.bkt-vehicle-modal-facts { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; background: var(--bkt-bg); border-radius: 8px; padding: 20px 22px; }
.bkt-fact-label { font-size: 11px; color: #888; text-transform: uppercase; letter-spacing: .05em; margin-bottom: 3px; }
.bkt-fact-value { font-size: 14px; font-weight: 600; color: var(--bkt-text); }
.bkt-vehicle-modal-cta { display: inline-block; margin-top: 26px; }

.bkt-charter-section { background: var(--bkt-green-dark); padding: 88px 48px; margin-top: 80px; }
.bkt-charter-inner { max-width: 900px; margin: 0 auto; text-align: center; }
.bkt-charter-inner h2 { font-weight: 700; font-size: 32px; color: #fff; margin: 12px 0 20px; }
.bkt-charter-inner p { font-size: 15px; line-height: 1.8; color: rgba(255,255,255,.8); margin: 0 0 34px; }
.bkt-charter-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; text-align: left; margin-bottom: 38px; }
.bkt-charter-step-title { font-family: var(--bkt-font-heading); font-weight: 700; font-size: 20px; color: var(--bkt-green); margin-bottom: 6px; }
.bkt-charter-step-text { font-size: 13px; color: rgba(255,255,255,.75); line-height: 1.6; }

/* ---- Kontakt ---- */
.bkt-kontakt-grid { max-width: var(--bkt-max-width); margin: 0 auto; padding: 70px 48px 90px; display: grid; grid-template-columns: 1.6fr 1fr; gap: 52px; align-items: start; }
.bkt-kontakt-form-card { background: #fff; border-radius: var(--bkt-radius); box-shadow: 0 2px 18px rgba(0,0,0,.06); padding: 36px; }
.bkt-kontakt-topics { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 30px; }
.bkt-topic-btn { background: var(--bkt-bg); color: var(--bkt-text); font-weight: 600; font-size: 13px; padding: 10px 18px; border-radius: 20px; border: 1px solid rgba(0,0,0,.1); cursor: pointer; transition: background .15s ease, color .15s ease; font-family: var(--bkt-font-body); }
.bkt-topic-btn.bkt-active { background: var(--bkt-green); color: #fff; border-color: var(--bkt-green); }
.bkt-field-group { display: flex; flex-direction: column; }
.bkt-field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 20px; align-items: start; }

.bkt-accordion-section { border-bottom: 1px solid rgba(0,0,0,.08); }
.bkt-accordion-section:last-child { border-bottom: none; }
.bkt-accordion-toggle {
	width: 100%; display: flex; align-items: center; justify-content: space-between;
	background: none; border: none; padding: 16px 0; cursor: pointer; text-align: left;
	font-family: var(--bkt-font-body);
}
.bkt-accordion-toggle span:first-child { font-weight: 700; font-size: 12px; text-transform: uppercase; letter-spacing: .05em; color: var(--bkt-green-dark); }
.bkt-accordion-icon { color: #999; font-size: 13px; transition: transform .2s ease; }
.bkt-accordion-section.bkt-open .bkt-accordion-icon { transform: rotate(180deg); }
.bkt-accordion-body { display: none; padding-bottom: 22px; }
.bkt-accordion-section.bkt-open .bkt-accordion-body { display: block; }
.bkt-field-group > div:first-child:not(.bkt-accordion-section) { padding-top: 0; }
.bkt-field label { display: block; font-size: 13px; font-weight: 600; color: #333; margin-bottom: 6px; }
.bkt-field-hint { margin: 6px 0 0; font-size: 12px; color: #888; }
.bkt-input, .bkt-field select, .bkt-field textarea { width: 100%; box-sizing: border-box; font-family: var(--bkt-font-body); font-size: 14px; padding: 11px 14px; border: 1px solid rgba(0,0,0,.15); border-radius: var(--bkt-radius-sm); color: var(--bkt-text); }
.bkt-input:focus, .bkt-field select:focus, .bkt-field textarea:focus { outline: 2px solid var(--bkt-green); outline-offset: 1px; }
.bkt-field-checkbox { display: flex; align-items: center; gap: 10px; font-size: 14px; color: #333; cursor: pointer; }
.bkt-field-checkbox input { width: 17px; height: 17px; accent-color: var(--bkt-green); }
.bkt-reisende-list { display: flex; flex-direction: column; gap: 10px; margin-top: 8px; margin-bottom: 12px; }
.bkt-reisende-row { display: flex; gap: 10px; align-items: center; }
.bkt-reisende-row-fields { flex: 1; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.bkt-rechnung-row-fields textarea { resize: vertical; }
.bkt-reisende-remove { flex: none; background: none; border: none; color: #b33; font-size: 13px; cursor: pointer; padding: 8px; }
.bkt-reisende-add { background: none; border: 1px dashed rgba(0,0,0,.2); border-radius: var(--bkt-radius-sm); color: var(--bkt-green-dark); font-weight: 600; font-size: 13px; padding: 10px 16px; cursor: pointer; width: 100%; }
.bkt-reisende-add:hover { border-color: var(--bkt-green); background: rgba(92,194,32,.06); }
@media (max-width: 600px) { .bkt-reisende-row-fields { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .bkt-field-grid { grid-template-columns: 1fr; } }
.bkt-field-error { color: #b33; font-size: 12px; margin-top: 6px; }
.bkt-kontakt-side-card { background: #fff; border-radius: var(--bkt-radius); box-shadow: 0 2px 18px rgba(0,0,0,.06); padding: 28px; margin-bottom: 24px; }
.bkt-kontakt-side-card h3 { font-weight: 700; font-size: 18px; margin: 0 0 16px; }
.bkt-price-summary-row { display: flex; justify-content: space-between; gap: 10px; font-size: 14px; color: #444; padding: 4px 0; }
.bkt-price-summary-row span:last-child { flex: none; white-space: nowrap; }
@media (max-width: 420px) {
	.bkt-price-summary-row { flex-direction: column; gap: 2px; }
	.bkt-price-summary-row span:last-child { font-weight: 600; }
}
.bkt-price-summary-total { display: flex; justify-content: space-between; margin-top: 14px; padding-top: 14px; border-top: 1px solid rgba(0,0,0,.1); }
.bkt-price-summary-total strong { font-weight: 700; font-size: 15px; color: var(--bkt-text); }
.bkt-price-summary-total span.bkt-grand-total { font-family: var(--bkt-font-heading); font-weight: 700; font-size: 20px; color: var(--bkt-blue); }
.bkt-price-summary-note { font-size: 12px; color: #888; margin: 12px 0 0; }
.bkt-price-summary-disclaimer { font-size: 12px; color: #999; margin: 10px 0 0; padding-left: 16px; }
.bkt-price-summary-disclaimer li { margin: 2px 0; }
.bkt-price-summary-placeholder { font-size: 13px; color: #888; line-height: 1.6; margin: 0; }
.bkt-vehicle-summary-placeholder { font-size: 13px; color: #888; line-height: 1.6; margin: 0; }
.bkt-vehicle-summary-img { border-radius: var(--bkt-radius-sm); overflow: hidden; aspect-ratio: 4/3; background: #eee; margin-bottom: 14px; }
.bkt-vehicle-summary-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bkt-vehicle-summary-name { font-weight: 700; font-size: 17px; color: var(--bkt-text); margin-bottom: 4px; }
.bkt-vehicle-summary-capacity { font-size: 13px; color: #666; margin-bottom: 16px; }
.bkt-vehicle-summary-facts { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; background: var(--bkt-bg); border-radius: 8px; padding: 16px 18px; }
.bkt-kontakt-success { text-align: center; padding: 40px 10px; display: none; }
.bkt-kontakt-success .bkt-check-big { font-size: 40px; margin-bottom: 14px; }
.bkt-price-summary-success { text-align: center; padding: 20px 4px 8px; }
.bkt-price-summary-success .bkt-check-big { font-size: 34px; margin-bottom: 10px; color: var(--bkt-green); }
.bkt-price-summary-success p { font-size: 13px; line-height: 1.6; color: #444; margin: 0; }
.bkt-kontakt-form-wrap.bkt-submitted .bkt-kontakt-form { display: none; }
.bkt-kontakt-form-wrap.bkt-submitted .bkt-kontakt-success { display: block; }
.bkt-map-embed { border-radius: var(--bkt-radius); overflow: hidden; aspect-ratio: 4/3; }
.bkt-map-embed img, .bkt-map-embed iframe { width: 100%; height: 100%; object-fit: cover; border: 0; }

@media (max-width: 960px) { .bkt-kontakt-grid { grid-template-columns: 1fr; } }

/* ---- Storno / Reiseinformationen ---- */
.bkt-subtabs { max-width: 900px; margin: 0 auto; padding: 40px 48px 0; display: flex; gap: 10px; border-bottom: 1px solid rgba(0,0,0,.1); }
.bkt-subtab { background: transparent; color: #888; font-weight: 600; font-size: 14px; padding: 12px 18px 14px; border: none; border-bottom: 2px solid transparent; cursor: pointer; margin-bottom: -1px; font-family: var(--bkt-font-body); }
.bkt-subtab.bkt-active { color: var(--bkt-green-dark); border-bottom-color: var(--bkt-green); }
.bkt-storno-content { max-width: 900px; margin: 0 auto; padding: 44px 48px 90px; }
.bkt-info-section { margin-bottom: 28px; }
.bkt-info-section h3 { font-weight: 700; font-size: 17px; color: var(--bkt-green-dark); margin: 0 0 8px; }
.bkt-info-section p { font-size: 14px; line-height: 1.75; color: #444; margin: 0; }
.bkt-storno-table { border-collapse: collapse; width: 100%; margin-bottom: 40px; }
.bkt-storno-table th, .bkt-storno-table td { text-align: left; padding: 12px 16px; font-size: 14px; }
.bkt-storno-table th { background: var(--bkt-green-dark); color: #fff; font-weight: 600; }
.bkt-storno-table tr:nth-child(even) td { background: #F0F0EC; }
.bkt-storno-note { background: #fff; border-radius: var(--bkt-radius); box-shadow: 0 2px 14px rgba(0,0,0,.06); padding: 26px 28px; margin-bottom: 12px; }
.bkt-storno-note h3 { font-weight: 700; font-size: 17px; margin: 0 0 10px; }
.bkt-storno-note ul { margin: 0; padding-left: 20px; font-size: 14px; line-height: 1.8; color: #444; }
.bkt-storno-panel { display: none; }
.bkt-storno-panel.bkt-active { display: block; }

@media (max-width: 900px) {
	.bkt-hero-heading { font-size: 38px; }
	.bkt-kat-grid { grid-template-columns: 1fr 1fr !important; }
	.bkt-teaser, .bkt-grid-3, .bkt-grid-4, .bkt-offers-grid .bkt-grid, .bkt-charter-steps { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
	.bkt-kat-grid, .bkt-teaser, .bkt-grid-3, .bkt-grid-4, .bkt-offers-grid .bkt-grid, .bkt-team-grid, .bkt-charter-steps, .bkt-leistungen { grid-template-columns: 1fr !important; }
	.bkt-hero-heading { font-size: 30px; }
	.bkt-nav, .bkt-page-header, .bkt-hero-inner { padding-left: 20px; padding-right: 20px; }
}
