/* === Ported custom-section CSS (.sw-* / reviews / booking-bar) from Additional CSS === */

/* NOTE: #swivon-booking-bar styles live in ONE canonical block lower in this file
   (search "scraped: #swivon-booking-bar"). A duplicate set used to sit here and
   silently OVERRODE that block, so edits appeared to do nothing. Removed. */
/* ===================== REVIEWS ===================== */
.reviews-wrap{background: #0c0c0c; padding: 0px 40px; font-family: 'Manrope', sans-serif;}
.reviews-header{text-align: center; margin-bottom: 48px;}
.reviews-eyebrow{font-size: 10px; letter-spacing: 3px; text-transform: uppercase; color: #c9a84c; margin-bottom: 12px;}
.reviews-title{font-family: 'Cormorant Garamond', serif; font-size: 36px; font-weight: 300; color: #f7f5f0; margin-bottom: 12px;}
.reviews-rating{font-size: 13px; color: rgba(255,255,255,0.45); letter-spacing: 0.5px;}
.reviews-grid{display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; max-width: var(--wrap); margin: 0 auto;}
.review-card{background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius:var(--r-xs); padding: 28px; display: flex; flex-direction: column; gap: 16px; transition: border-color 0.2s ease;}
.review-card:hover{border-color: rgba(201,168,76,0.3);}
.review-stars{font-size: 13px; color: #c9a84c; letter-spacing: 2px;}
.review-text{font-size: 14px; color: rgba(255,255,255,0.7); line-height: 1.7; flex: 1;}
.review-footer{display: flex; align-items: center; gap: 12px; padding-top: 16px; border-top: 1px solid rgba(255,255,255,0.07);}
.review-avatar{width: 40px; height: 40px; border-radius: 50%; background: rgba(201,168,76,0.15); color: #c9a84c; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 600; flex-shrink: 0;}
.review-name{font-size: 13px; font-weight: 500; color: rgba(255,255,255,0.7);}
.review-source{font-size: 11px; color: rgba(255,255,255,0.45); margin-top: 2px;}
@media (max-width: 768px){
  .reviews-wrap{padding: 0px 16px;}
  .reviews-grid{grid-template-columns: 1fr;}
  .reviews-title{font-size: 28px;}
}
/* ===================== SWIVON WEATHER WIDGET ===================== */
.sw-weather{font-family: 'DM Sans', sans-serif; background: #fff; border: 1px solid #e4e1da; padding: 0; overflow: hidden;}
.sw-weather *{margin: 0; padding: 0; box-sizing: border-box;}
.sw-weather-header{background: #0c0c0c; padding: 16px 20px; display: flex; align-items: center; justify-content: space-between;}
.sw-weather-label{font-size: 0.58rem; letter-spacing: 2px; text-transform: uppercase; color: #C9A84C; font-weight: 500;}
.sw-weather-location{font-size: 0.72rem; color: rgba(247,245,240,0.9); letter-spacing: 1.5px;}
.sw-weather-today{padding: 24px 20px 20px; display: flex; align-items: center; gap: 16px; border-bottom: 1px solid #e4e1da;}
.sw-weather-icon{font-size: 2.4rem; line-height: 1;}
.sw-weather-temp-wrap{flex: 1;}
.sw-weather-temp{font-family: 'Cormorant Garamond', serif; font-size: 2.2rem; font-weight: 300; color: #0c0c0c; line-height: 1;}
.sw-weather-temp span{font-size: 1.2rem; color: #4a4a4a; font-weight: 300;}
.sw-weather-desc{font-size: 0.78rem; color: #4a4a4a; margin-top: 2px; font-weight: 300;}
.sw-weather-details{padding: 14px 20px; display: grid; grid-template-columns: 1fr 1fr; gap: 8px 16px; border-bottom: 1px solid #e4e1da;}
.sw-weather-detail{display: flex; justify-content: space-between; font-size: 0.72rem;}
.sw-weather-detail-label{color: #4a4a4a; font-weight: 300;}
.sw-weather-detail-value{color: #0c0c0c; font-weight: 500;}
.sw-weather-forecast{padding: 16px 20px; display: flex; flex-direction: column; gap: 0;}
.sw-weather-forecast-title{font-size: 0.55rem; letter-spacing: 2px; text-transform: uppercase; color: #C9A84C; margin-bottom: 10px; font-weight: 500;}
.sw-weather-day{display: flex; align-items: center; padding: 8px 0; border-bottom: 1px solid #f0ede6;}
.sw-weather-day:last-child{border-bottom: none;}
.sw-weather-day-name{width: 36px; font-size: 0.72rem; color: #0c0c0c; font-weight: 500;}
.sw-weather-day-icon{width: 28px; font-size: 1rem; text-align: center;}
.sw-weather-day-desc{flex: 1; font-size: 0.7rem; color: #4a4a4a; font-weight: 300; padding-left: 8px;}
.sw-weather-day-temps{font-size: 0.72rem; color: #0c0c0c; text-align: right; white-space: nowrap;}
.sw-weather-day-temps .low{color: #6b6b6b; font-weight: 300;}
.sw-weather-footer{padding: 10px 20px; background: #faf8f4; border-top: 1px solid #e4e1da;}
.sw-weather-updated{font-size: 0.6rem; color: #1a1a1a; font-weight: 500;}
.sw-weather-loading{padding: 40px 20px; text-align: center; font-size: 0.8rem; color: #6b6b6b;}
/* ===================== SWIVON BOOKING WIDGET ===================== */
.sw-booking{font-family: 'DM Sans', sans-serif; background: #0c0c0c; padding: 0; overflow: hidden; border: 1px solid rgba(255,255,255,0.06);}
.sw-booking *{margin: 0; padding: 0; box-sizing: border-box;}
.sw-booking-label{padding: 20px 24px 0; font-size: 0.55rem; letter-spacing: 2.5px; text-transform: uppercase; color: #C9A84C; font-weight: 500;}
.sw-booking-title{padding: 12px 24px 0; font-family: 'Cormorant Garamond', serif; font-size: 1.55rem; font-weight: 400; color: #f7f5f0; line-height: 1.25;}
.sw-booking-sub{padding: 6px 24px 0; font-size: 0.78rem; color: rgba(247,245,240,0.85); font-weight: 300; line-height: 1.5;}
.sw-booking-vehicle{margin: 20px 24px 0; padding: 16px; border: 1px solid rgba(201,168,76,0.2); display: flex; align-items: center; gap: 14px;}
.sw-booking-vehicle-icon{flex-shrink: 0; width: 38px; height: 38px; display: flex; align-items: center; justify-content: center;}
.sw-booking-vehicle-info{flex: 1;}
.sw-booking-vehicle-name{font-size: 0.8rem; color: #f7f5f0; font-weight: 500; letter-spacing: 0.3px;}
.sw-booking-vehicle-detail{font-size: 0.68rem; color: rgba(247,245,240,0.75); font-weight: 300; margin-top: 2px; white-space: nowrap;}
.sw-booking-vehicle-seats{font-size: 0.6rem; letter-spacing: 1.5px; text-transform: uppercase; color: #C9A84C; font-weight: 500; white-space: nowrap;}
.sw-booking-price{padding: 24px 24px 0;}
.sw-booking-price-value{font-family: 'Cormorant Garamond', serif; font-size: 2rem; font-weight: 300; font-style: italic; color: #C9A84C; line-height: 1;}
.sw-booking-price-note{font-size: 0.68rem; color: rgba(247,245,240,0.8); font-weight: 300; margin-top: 4px;}
.sw-booking-divider{margin: 20px 24px; border: none; border-top: 1px solid rgba(255,255,255,0.06);}
.sw-booking-includes{padding: 0 24px; display: flex; flex-direction: column; gap: 8px;}
.sw-booking-include{display: flex; align-items: center; gap: 10px; font-size: 0.72rem; color: rgba(247,245,240,0.85); font-weight: 300;}
.sw-booking-check{color: #C9A84C; font-size: 0.7rem; flex-shrink: 0;}
.sw-booking-btn{display: block; margin: 24px 24px 0; background: #C9A84C; color: #0c0c0c; padding: 14px; font-size: 0.68rem; font-family: 'DM Sans', sans-serif; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; text-decoration: none; text-align: center; border: none; cursor: pointer; transition: background 0.2s; width: calc(100% - 48px);}
.sw-booking-btn:hover{background: #D4BA6A;}
.sw-booking-wa{display: block; margin: 8px 24px 0; border: 1px solid rgba(247,245,240,0.35) !important; color: rgba(247,245,240,0.7); padding: 11px; font-size: 0.62rem; font-family: 'DM Sans', sans-serif; font-weight: 400; letter-spacing: 1.5px; text-transform: uppercase; text-decoration: none; text-align: center; transition: all 0.2s; width: calc(100% - 48px); cursor: pointer; background: transparent;}
.sw-booking-wa:hover{border-color: #C9A84C; color: #C9A84C;}
.sw-booking-footer{padding: 16px 24px 20px; text-align: center;}
.sw-booking-footer-text{font-size: 0.68rem; color: rgba(247,245,240,0.8); font-weight: 300; font-style: italic;}
@media (max-width: 480px){
  .sw-booking-vehicle{flex-wrap: wrap; gap: 10px;}
  .sw-booking-vehicle-info{min-width: 0;}
  .sw-booking-vehicle-detail{white-space: normal;}
  .sw-booking-vehicle-seats{font-size: 0.55rem;}
}
@keyframes swvFadeUp{ from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
@keyframes swvSpin{ to { transform: rotate(360deg); } }
/* ===================== REGIONEN SECTION ===================== */
.sw-regions{font-family: 'DM Sans', sans-serif; padding: 88px 48px; background: #fff;}
.sw-regions-center{max-width: var(--wrap); margin: 0 auto;}
.sw-regions-header{text-align: center; margin-bottom: 64px;}
.sw-regions-tag{font-size: 0.65rem; letter-spacing: 3px; text-transform: uppercase; color: #C9A84C; font-weight: 500; margin-bottom: 16px;}
.sw-regions-divider{width: 32px; height: 1px; background: #C9A84C; margin: 0 auto 20px;}
.sw-regions-title{font-family: 'Cormorant Garamond', serif; font-size: 2.4rem; font-weight: 300; color: #1A1A1A; margin-bottom: 12px;}
.sw-regions-subtitle{font-size: 0.85rem; color: #7A7570; font-weight: 300;}
.sw-regions-grid{display: grid; grid-template-columns: repeat(4, 1fr); grid-template-rows: repeat(2, 260px); gap: 16px;}
.sw-region-card{position: relative; border-radius:var(--r-xs); overflow: hidden; cursor: pointer; background: #1A1A1A;}
.sw-region-card:first-child{grid-column: span 2; grid-row: span 2;}
.sw-region-card img{width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s ease; display: block; position: absolute; inset: 0;}
.sw-region-card:hover img{transform: scale(1.04);}
.sw-region-overlay{position: absolute; inset: 0; background: linear-gradient(to top, rgba(26,26,26,0.75) 0%, transparent 55%); display: flex; flex-direction: column; justify-content: flex-end; padding: 28px; color: white; z-index: 1;}
.sw-region-overlay h3{font-family: 'Cormorant Garamond', serif; font-size: 1.3rem; color: #ffffff; font-weight: 400; margin-bottom: 4px;}
.sw-region-overlay span{font-size: 0.72rem; opacity: 0.75;}
.sw-region-count{position: absolute; top: 16px; right: 16px; background: rgba(255,255,255,0.9); padding: 5px 14px; border-radius:var(--r-xs); font-size: 0.6rem; font-weight: 500; color: #3A3835; letter-spacing: 1px; z-index: 1;}
@media (max-width: 900px){
  .sw-regions{padding: 60px 24px;}
  .sw-regions-grid{grid-template-columns: repeat(2, 1fr); grid-template-rows: auto;}
  .sw-region-card:first-child{grid-column: span 2;}
  .sw-region-card{height: 220px;}
}
@media (max-width: 560px){
  .sw-regions-grid{grid-template-columns: 1fr;}
  .sw-region-card:first-child{grid-column: span 1;}
  .sw-region-card{height: 200px;}
  .sw-regions-title{font-size: 1.8rem;}
}
/* ===================== SAISONALE HIGHLIGHTS ===================== */
.sw-seasonal{font-family: 'DM Sans', sans-serif; padding: 88px 48px; background: #F7F5F0;}
.sw-seasonal-center{max-width: var(--wrap); margin: 0 auto;}
.sw-seasonal-header{text-align: center; margin-bottom: 48px;}
.sw-seasonal-tag{font-size: 0.65rem; letter-spacing: 3px; text-transform: uppercase; color: #C9A84C; font-weight: 500; margin-bottom: 16px;}
.sw-seasonal-divider{width: 32px; height: 1px; background: #C9A84C; margin: 0 auto 20px;}
.sw-seasonal-title{font-family: 'Cormorant Garamond', serif; font-size: 2.4rem; font-weight: 300; color: #1A1A1A; margin-bottom: 12px;}
.sw-seasonal-subtitle{font-size: 0.85rem; color: #7A7570; font-weight: 300;}
.sw-seasonal-tabs{display: flex; justify-content: center; gap: 6px; margin-bottom: 48px;}
.sw-seasonal-tab{padding: 10px 24px; border-radius:var(--r-xs); border: 1px solid #e4e1da; background: #fff; font-size: 0.7rem; font-weight: 500; cursor: pointer; transition: all 0.2s; font-family: 'DM Sans', sans-serif; color: #7A7570; letter-spacing: 1.5px; text-transform: uppercase;}
.sw-seasonal-tab.active{background: #0c0c0c; color: white; border-color: #0c0c0c;}
.sw-seasonal-tab:hover:not(.active){border-color: #7A7570;}
.sw-seasonal-grid{display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center;}
.sw-seasonal-img{border-radius:var(--r-xs); overflow: hidden; height: 480px;}
.sw-seasonal-img img{width: 100%; height: 100%; object-fit: cover;}
.sw-seasonal-content h3{font-family: 'Cormorant Garamond', serif; font-size: 2rem; font-weight: 300; color: #0c0c0c; margin-bottom: 16px;}
.sw-seasonal-content p{color: #7A7570; margin-bottom: 28px; line-height: 1.85; font-size: 0.88rem; font-weight: 300;}
.sw-seasonal-list{list-style: none; margin: 0 0 36px 0; padding: 0;}
.sw-seasonal-list li{padding: 12px 0; border-bottom: 1px solid #e4e1da; display: flex; align-items: center; gap: 14px; font-size: 0.85rem; color: #3A3835; font-weight: 300;}
.sw-seasonal-list li:last-child{border: none;}
.sw-seasonal-check{width: 20px; height: 20px; border-radius: 50%; background: rgba(201,168,76,0.12); color: #C9A84C; display: flex; align-items: center; justify-content: center; font-size: 0.6rem; flex-shrink: 0;}
.sw-seasonal-btns{display: flex; gap: 12px; flex-wrap: wrap;}
.sw-seasonal-btn-primary{padding: 12px 28px; background: #C9A84C; color: #0c0c0c; font-size: 0.68rem; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; text-decoration: none; border-radius:var(--r-xs); transition: background 0.2s;}
.sw-seasonal-btn-primary:hover{background: #D4BA6A;}
.sw-seasonal-btn-outline{padding: 12px 28px; background: transparent; color: #3A3835; font-size: 0.68rem; font-weight: 500; letter-spacing: 2px; text-transform: uppercase; text-decoration: none; border: 1px solid #e4e1da; border-radius:var(--r-xs); transition: all 0.2s;}
.sw-seasonal-btn-outline:hover{border-color: #C9A84C; color: #C9A84C;}
.sw-seasonal-panel{display: none;}
.sw-seasonal-panel.active{display: grid;}
@media (max-width: 768px){
  .sw-seasonal{padding: 60px 24px;}
  .sw-seasonal-grid{grid-template-columns: 1fr;}
  .sw-seasonal-img{height: 300px;}
  .sw-seasonal-title{font-size: 1.8rem;}
  .sw-seasonal-tabs{flex-wrap: wrap;}
}
/* ===================== SWIVON MULTI-CITY WEATHER ===================== */
.sw-multi-weather{font-family: 'DM Sans', sans-serif; padding: 40px 48px; background: #fff;}
.sw-multi-weather-inner{max-width: var(--wrap); margin: 0 auto; border: 1px solid #e4e1da; border-radius:var(--r-xs); padding: 40px 20px; display: flex; justify-content: space-around; align-items: flex-start; gap: 16px; flex-wrap: wrap;}
.sw-multi-city{text-align: center; flex: 1; min-width: 120px;}
.sw-multi-city-name{font-size: 0.82rem; color: #3A3835; font-weight: 400; margin-bottom: 12px; letter-spacing: 0.5px;}
.sw-multi-city-icon{font-size: 2rem; line-height: 1; margin-bottom: 10px; min-height: 36px;}
.sw-multi-city-temp{font-family: 'Cormorant Garamond', serif; font-size: 1.6rem; font-weight: 300; color: #0c0c0c; margin-bottom: 4px;}
.sw-multi-city-temp sup{font-size: 0.8rem;}
.sw-multi-city-desc{font-size: 0.68rem; color: #7A7570; font-weight: 300;}
.sw-multi-weather-loading{text-align: center; padding: 40px; font-size: 0.8rem; color: #7A7570;}
@media (max-width: 768px){
  .sw-multi-weather{padding: 32px 24px;}
  .sw-multi-weather-inner{padding: 28px 16px; gap: 24px;}
  .sw-multi-city{min-width: 45%;}
}
@media (max-width: 480px){
  .sw-multi-city{min-width: 100%;}
}
/* ===================== SWIVON PROCESS / WIE FUNKTIONIERT ===================== */
.sw-process{font-family: 'DM Sans', sans-serif; padding: 88px 48px; background: #0c0c0c;}
.sw-process-center{max-width: var(--wrap); margin: 0 auto;}
.sw-process-header{text-align: center; margin-bottom: 64px;}
.sw-process-tag{font-size: 0.6rem; letter-spacing: 3px; text-transform: uppercase; color: #C9A84C; font-weight: 500; margin-bottom: 16px;}
.sw-process-divider{width: 32px; height: 1px; background: rgba(201,168,76,0.4); margin: 0 auto 20px;}
.sw-process-title{font-family: 'Cormorant Garamond', serif; font-size: 2.4rem; font-weight: 300; color: #E8E4DC; margin-bottom: 12px;}
.sw-process-title em{font-style: italic; color: #C9A84C;}
.sw-process-subtitle{font-size: 0.85rem; color: #a8a39d; font-weight: 300; max-width: 520px; margin: 0 auto; line-height: 1.7;}
.sw-process-steps{display: grid; grid-template-columns: repeat(5, 1fr); gap: 0; position: relative; margin-bottom: 64px;}
.sw-process-steps::before{content: ''; position: absolute; top: 28px; left: 10%; right: 10%; height: 1px; background: rgba(201,168,76,0.2);}
.sw-step{text-align: center; position: relative; padding: 0 12px;}
.sw-step-num{width: 56px; height: 56px; border-radius: 50%; border: 1px solid rgba(201,168,76,0.3); background: #0c0c0c; display: flex; align-items: center; justify-content: center; margin: 0 auto 20px; font-family: 'Cormorant Garamond', serif; font-size: 1.2rem; font-weight: 300; color: #C9A84C; position: relative; z-index: 1; transition: all 0.3s;}
.sw-step:hover .sw-step-num{background: rgba(201,168,76,0.1); border-color: #C9A84C;}
.sw-step-icon{font-size: 1.4rem; margin-bottom: 14px; display: block;}
.sw-step-title{font-family: 'Cormorant Garamond', serif; font-size: 1.1rem; font-weight: 400; color: #E8E4DC; margin-bottom: 8px;}
.sw-step-desc{font-size: 0.72rem; color: #a8a39d; font-weight: 300; line-height: 1.6;}
.sw-process-bar{display: flex; justify-content: center; align-items: center; gap: 32px; flex-wrap: wrap; padding: 28px 0; border-top: 1px solid rgba(201,168,76,0.12);}
.sw-process-feature{display: flex; align-items: center; gap: 10px; font-size: 0.72rem; color: rgba(232,228,220,0.8); letter-spacing: 0.5px;}
.sw-process-feature-dot{width: 6px; height: 6px; background: #C9A84C; border-radius: 50%; flex-shrink: 0;}
.sw-process-cta{text-align: center; margin-top: 48px;}
.sw-process-btn{display: inline-block; background: #C9A84C; color: #0c0c0c; padding: 14px 36px; font-size: 0.68rem; font-weight: 600; letter-spacing: 2.5px; text-transform: uppercase; text-decoration: none; border-radius:var(--r-xs); transition: background 0.2s;}
.sw-process-btn:hover{background: #D4BA6A;}
.sw-process-btn-sub{display: block; margin-top: 12px; font-size: 0.68rem; color: #7A7570; font-weight: 300;}
@media (max-width: 768px){
  .sw-process{padding: 60px 24px;}
  .sw-process-steps{grid-template-columns: 1fr; gap: 32px;}
  .sw-process-steps::before{display: none;}
  .sw-process-title{font-size: 1.8rem;}
  .sw-process-bar{gap: 20px;}
}
/* ===================== KOREAN FONT FIX ===================== */
:lang(ko) .sw-seasonal-content p,
:lang(ko) .sw-seasonal-list li,
:lang(ko) .sw-seasonal-subtitle,
:lang(ko) .sw-process-subtitle,
:lang(ko) .sw-process-feature,
:lang(ko) .sw-step-desc,
:lang(ko) .sw-regions-subtitle,
:lang(ko) .sw-multi-city-desc{font-weight: 400;}
/* ===================== TRANSFER QUICK FACTS BAR ===================== */
.sw-transfer-facts{background: #0c0c0c; border-bottom: 1px solid rgba(201,168,76,0.10);}
.sw-transfer-facts-inner{max-width: var(--wrap); margin: 0 auto; display: flex; padding: 0;}
.sw-transfer-fact{flex: 1; padding: 20px 16px; text-align: center; border-right: 1px solid rgba(255,255,255,0.10);}
.sw-transfer-fact:last-child{border-right: none;}
.sw-transfer-fact-icon{color: #C9A84C; font-size: 0.8rem; margin-bottom: 6px;}
.sw-transfer-fact-label{font-size: 0.65rem; letter-spacing: 2px; text-transform: uppercase; color: #C9A84C; margin-bottom: 4px; font-weight: 500; font-family: 'DM Sans', sans-serif;}
.sw-transfer-fact-value{font-family: 'Cormorant Garamond', serif; font-size: 1.15rem; font-weight: 300; color: #ffffff;}
@media (max-width: 768px){
  .sw-transfer-facts-inner{flex-wrap: wrap;}
  .sw-transfer-fact{min-width: 50%; border-bottom: 1px solid rgba(255,255,255,0.10);}
}
/* ===================== TRANSFER ROUTES (HEADER + NOTE + CTA) ===================== */
.sw-transfer-routes{font-family: 'DM Sans', sans-serif; padding: 88px 48px; background: #f7f5f0;}
.sw-transfer-routes-center{max-width: var(--wrap); margin: 0 auto;}
.sw-transfer-routes-header{text-align: center; margin-bottom: 48px;}
.sw-transfer-routes-tag{font-size: 0.7rem; letter-spacing: 3px; text-transform: uppercase; color: #C9A84C; font-weight: 500; margin-bottom: 16px;}
.sw-transfer-routes-divider{width: 32px; height: 1px; background: #C9A84C; margin: 0 auto 20px;}
.sw-transfer-routes-title{font-family: 'Cormorant Garamond', serif; font-size: 2.2rem; font-weight: 300; color: #1A1A1A; margin-bottom: 12px;}
.sw-transfer-routes-subtitle{font-size: 0.92rem; color: #4a4a4a; font-weight: 300;}
.sw-transfer-routes-note{display: flex; align-items: flex-start; gap: 12px; margin-top: 24px; padding: 16px 20px; background: white; border: 1px solid #e4e1da; font-size: 0.85rem; color: #4a4a4a; font-weight: 300; line-height: 1.6;}
.sw-transfer-routes-note-icon{color: #C9A84C; flex-shrink: 0; font-size: 0.7rem; margin-top: 3px;}
.sw-transfer-routes-cta{text-align: center; margin-top: 32px;}
.sw-transfer-routes-btn{display: inline-block; background: #C9A84C; color: #0c0c0c; padding: 14px 32px; font-size: 0.75rem; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; text-decoration: none; transition: background 0.2s;}
.sw-transfer-routes-btn:hover{background: #D4BA6A;}
@media (max-width: 768px){
  .sw-transfer-routes{padding: 60px 24px;}
  .sw-transfer-routes-title{font-size: 1.8rem;}
}
/* ===================== VEHICLE FLEET ===================== */
.sw-fleet{font-family: 'DM Sans', sans-serif; padding: 88px 48px; background: #0c0c0c;}
.sw-fleet-center{max-width: var(--wrap); margin: 0 auto;}
.sw-fleet-header{text-align: center; margin-bottom: 48px;}
.sw-fleet-tag{font-size: 0.7rem; letter-spacing: 3px; text-transform: uppercase; color: #C9A84C; font-weight: 500; margin-bottom: 16px;}
.sw-fleet-divider{width: 32px; height: 1px; background: rgba(201,168,76,0.4); margin: 0 auto 20px;}
.sw-fleet-title{font-family: 'Cormorant Garamond', serif; font-size: 2.2rem; font-weight: 300; color: #ffffff; margin-bottom: 12px;}
.sw-fleet-subtitle{font-size: 0.92rem; color: #a8a39d; font-weight: 300;}
.sw-fleet-grid{display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px;}
.sw-fleet-card{background: #161616; border: 1px solid rgba(201,168,76,0.12); padding: 36px 28px; text-align: center; transition: border-color 0.3s; position: relative;}
.sw-fleet-card:hover{border-color: rgba(201,168,76,0.4);}
.sw-fleet-card-dark{background: #111; border-color: rgba(201,168,76,0.25);}
.sw-fleet-card-badge{position: absolute; top: 16px; right: 16px; font-size: 0.62rem; letter-spacing: 1.5px; text-transform: uppercase; color: #C9A84C; background: rgba(201,168,76,0.1); padding: 4px 10px; font-weight: 500;}
.sw-fleet-card-icon{margin-bottom: 20px;}
.sw-fleet-card-model{font-size: 0.82rem; color: #C9A84C; letter-spacing: 1px; margin-bottom: 16px; font-weight: 400;}
.sw-fleet-card-features{display: flex; justify-content: center; gap: 16px; margin-bottom: 20px;}
.sw-fleet-card-features span{font-size: 0.8rem; color: #a8a39d; font-weight: 300;}
.sw-fleet-card-price{font-family: 'Cormorant Garamond', serif; font-size: 1.8rem; font-weight: 300; color: #C9A84C; font-style: italic; margin-bottom: 12px;}
.sw-fleet-card-desc{font-size: 0.85rem; color: rgba(232,228,220,0.75); font-weight: 300; line-height: 1.6; margin-bottom: 24px;}
.sw-fleet-card-btn{display: inline-block; border: 1px solid rgba(201,168,76,0.3); color: #C9A84C; padding: 10px 24px; font-size: 0.7rem; letter-spacing: 2px; text-transform: uppercase; text-decoration: none; transition: all 0.2s; font-family: 'DM Sans', sans-serif;}
.sw-fleet-card-btn:hover{background: #C9A84C; color: #0c0c0c;}
@media (max-width: 768px){
  .sw-fleet{padding: 60px 24px;}
  .sw-fleet-grid{grid-template-columns: 1fr;}
  .sw-fleet-title{font-size: 1.8rem;}
}
/* ===================== HOTEL TRANSFERS ===================== */
.sw-hotels{font-family: 'DM Sans', sans-serif; padding: 88px 48px; background: #f7f5f0;}
.sw-hotels-center{max-width: var(--wrap); margin: 0 auto;}
.sw-hotels-header{text-align: center; margin-bottom: 48px;}
.sw-hotels-tag{font-size: 0.7rem; letter-spacing: 3px; text-transform: uppercase; color: #C9A84C; font-weight: 500; margin-bottom: 16px;}
.sw-hotels-divider{width: 32px; height: 1px; background: #C9A84C; margin: 0 auto 20px;}
.sw-hotels-title{font-family: 'Cormorant Garamond', serif; font-size: 2.2rem; font-weight: 300; color: #1A1A1A; margin-bottom: 12px;}
.sw-hotels-subtitle{font-size: 0.92rem; color: #4a4a4a; font-weight: 300;}
.sw-hotels-grid{display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px;}
.sw-hotel-card{background: white; border: 1px solid #e4e1da; padding: 24px 20px; text-align: center; transition: border-color 0.2s;}
.sw-hotel-card:hover{border-color: #C9A84C;}
.sw-hotel-stars{font-size: 0.75rem; color: #C9A84C; letter-spacing: 2px; margin-bottom: 10px;}
.sw-hotel-name{font-family: 'Cormorant Garamond', serif; font-size: 1.2rem; font-weight: 500; color: #0c0c0c; margin-bottom: 4px;}
.sw-hotel-address{font-size: 0.78rem; color: #3A3835; font-weight: 300; margin-bottom: 16px;}
.sw-hotel-price{font-family: 'Cormorant Garamond', serif; font-size: 1.8rem; font-weight: 300; color: #C9A84C; font-style: italic; margin-bottom: 4px;}
.sw-hotel-time{font-size: 0.78rem; color: #3A3835; font-weight: 400;}
.sw-hotels-note{text-align: center; margin-top: 28px; font-size: 0.85rem; color: #4a4a4a; font-weight: 300;}
.sw-hotels-note a{color: #C9A84C; text-decoration: none; font-weight: 500;}
.sw-hotels-note a:hover{text-decoration: underline;}
@media (max-width: 900px){
  .sw-hotels{padding: 60px 24px;}
  .sw-hotels-grid{grid-template-columns: repeat(2, 1fr);}
}
@media (max-width: 560px){
  .sw-hotels-grid{grid-template-columns: 1fr;}
  .sw-hotels-title{font-size: 1.8rem;}
}
/* ===================== WARUM SWIVON (TRANSFER) ===================== */
.sw-why{font-family: 'DM Sans', sans-serif; padding: 88px 48px; background: #f7f5f0;}
.sw-why-center{max-width: var(--wrap); margin: 0 auto;}
.sw-why-header{text-align: center; margin-bottom: 48px;}
.sw-why-tag{font-size: 0.7rem; letter-spacing: 3px; text-transform: uppercase; color: #C9A84C; font-weight: 500; margin-bottom: 16px;}
.sw-why-divider{width: 32px; height: 1px; background: #C9A84C; margin: 0 auto 20px;}
.sw-why-title{font-family: 'Cormorant Garamond', serif; font-size: 2.2rem; font-weight: 300; color: #1A1A1A; margin-bottom: 12px;}
.sw-why-grid{display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px;}
.sw-why-card{background: white; border: 1px solid #e4e1da; padding: 28px 24px; transition: border-color 0.2s;}
.sw-why-card:hover{border-color: #C9A84C;}
.sw-why-card-icon{color: #C9A84C; font-size: 0.9rem; margin-bottom: 14px;}
.sw-why-card-desc{font-size: 0.85rem; color: #4a4a4a; font-weight: 300; line-height: 1.7;}
@media (max-width: 768px){
  .sw-why{padding: 60px 24px;}
  .sw-why-grid{grid-template-columns: 1fr;}
  .sw-why-title{font-size: 1.8rem;}
}
/* ===================== TRANSFER CTA FOOTER ===================== */
.sw-transfer-cta{font-family: 'DM Sans', sans-serif; padding: 72px 48px; background: #0c0c0c; text-align: center;}
.sw-transfer-cta-center{max-width: 600px; margin: 0 auto;}
.sw-transfer-cta-tag{font-size: 0.7rem; letter-spacing: 3px; text-transform: uppercase; color: #C9A84C; font-weight: 500; margin-bottom: 16px;}
.sw-transfer-cta-title{font-family: 'Cormorant Garamond', serif; font-size: 2rem; font-weight: 300; color: #ffffff; margin-bottom: 12px;}
.sw-transfer-cta-subtitle{font-size: 0.9rem; color: #a8a39d; font-weight: 300; margin-bottom: 32px;}
.sw-transfer-cta-btns{display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; margin-bottom: 20px;}
.sw-transfer-cta-primary{background: #C9A84C; color: #0c0c0c; padding: 14px 32px; font-size: 0.75rem; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; text-decoration: none; transition: background 0.2s;}
.sw-transfer-cta-primary:hover{background: #D4BA6A;}
.sw-transfer-cta-secondary{border: 1px solid rgba(247,245,240,0.3); color: rgba(247,245,240,0.7); padding: 14px 32px; font-size: 0.75rem; font-weight: 400; letter-spacing: 1.5px; text-transform: uppercase; text-decoration: none; transition: all 0.2s;}
.sw-transfer-cta-secondary:hover{border-color: #C9A84C; color: #C9A84C;}
.sw-transfer-cta-note{font-size: 0.78rem; color: #a8a39d; font-weight: 300;}
@media (max-width: 768px){
  .sw-transfer-cta{padding: 48px 24px;}
  .sw-transfer-cta-title{font-size: 1.6rem;}
}
/* ===================== ELEMENTOR H3 OVERRIDES ===================== */
.sw-fleet-card h3.sw-fleet-card-title{font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.5rem !important;
  font-weight: 400 !important;
  color: #ffffff !important;
  margin-bottom: 4px !important;}
.sw-why-card h3.sw-why-card-title{font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.25rem !important;
  font-weight: 500 !important;
  color: #0c0c0c !important;
  margin-bottom: 8px !important;}
/* =============================================
   SWIVON Chauffeur Service — Additional CSS
   Neue Klassen für Chauffeur Service Seite
   ============================================= */

/* ----- SERVICES GRID (4 Cards) ----- */
.sw-services{padding: 60px 20px; background: #f7f5f0;}
.sw-services-center{max-width: var(--wrap); margin: 0 auto;}
.sw-services-header{text-align: center; margin-bottom: 48px;}
.sw-services-tag{font-family: 'DM Sans', sans-serif;
  font-size: 11px; font-weight: 600;
  letter-spacing: 3px; text-transform: uppercase;
  color: #C9A84C; margin-bottom: 12px;}
.sw-services-divider{width: 40px; height: 2px;
  background: #C9A84C; margin: 0 auto 20px;}
.sw-services-title{font-family: 'Cormorant Garamond', serif;
  font-size: 32px; font-weight: 600;
  color: #0c0c0c; margin: 0 0 12px;}
.sw-services-subtitle{font-family: 'DM Sans', sans-serif;
  font-size: 15px; color: #666; margin: 0;}
.sw-services-grid{display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;}
.sw-services-card{background: #fff;
  border-radius:var(--r-card);
  padding: 32px 28px;
  border: 1px solid #e4e1da;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  display: flex; flex-direction: column;}
.sw-services-card:hover{transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(0,0,0,0.08);}
.sw-services-card-link{border-color: #C9A84C;
  border-width: 2px;}
.sw-services-card-icon{margin-bottom: 20px;}
.sw-services-card-title{font-family: 'Cormorant Garamond', serif !important;
  font-size: 22px !important; font-weight: 600 !important;
  color: #0c0c0c !important; margin: 0 0 12px !important;}
.sw-services-card-desc{font-family: 'DM Sans', sans-serif;
  font-size: 14px; line-height: 1.6;
  color: #555; margin: 0 0 16px;}
.sw-services-card-list{list-style: none; padding: 0; margin: 0 0 20px;
  flex-grow: 1;}
.sw-services-card-list li{font-family: 'DM Sans', sans-serif;
  font-size: 13px; color: #444;
  padding: 6px 0 6px 20px;
  position: relative;
  border-bottom: 1px solid #f0ede8;}
.sw-services-card-list li:last-child{border-bottom: none;}
.sw-services-card-list li::before{content: '◆'; position: absolute;
  left: 0; color: #C9A84C; font-size: 8px; top: 9px;}
.sw-services-card-btn{display: inline-block;
  font-family: 'DM Sans', sans-serif;
  font-size: 13px; font-weight: 600;
  color: #C9A84C; text-decoration: none;
  letter-spacing: 0.5px;
  transition: color 0.2s;
  margin-top: auto;}
.sw-services-card-btn:hover{color: #0c0c0c;}
/* ----- DESTINATIONS GRID (6 Cards) ----- */
.sw-destinations{padding: 60px 20px; background: #fff;}
.sw-destinations-center{max-width: var(--wrap); margin: 0 auto;}
.sw-destinations-header{text-align: center; margin-bottom: 48px;}
.sw-destinations-tag{font-family: 'DM Sans', sans-serif;
  font-size: 11px; font-weight: 600;
  letter-spacing: 3px; text-transform: uppercase;
  color: #C9A84C; margin-bottom: 12px;}
.sw-destinations-divider{width: 40px; height: 2px;
  background: #C9A84C; margin: 0 auto 20px;}
.sw-destinations-title{font-family: 'Cormorant Garamond', serif;
  font-size: 32px; font-weight: 600;
  color: #0c0c0c; margin: 0 0 12px;}
.sw-destinations-subtitle{font-family: 'DM Sans', sans-serif;
  font-size: 15px; color: #666; margin: 0;}
.sw-destinations-grid{display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;}
.sw-dest-card{background: #f7f5f0;
  border-radius:var(--r-card);
  overflow: hidden;
  border: 1px solid #e4e1da;
  transition: transform 0.3s ease, box-shadow 0.3s ease;}
.sw-dest-card:hover{transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(0,0,0,0.08);}
.sw-dest-card-dark{background: #0c0c0c;
  border-color: #333;}
.sw-dest-card-dark .sw-dest-card-route,
.sw-dest-card-dark .sw-dest-card-desc{color: #ccc;}
.sw-dest-card-dark .sw-dest-card-time{color: #999;}
.sw-dest-card-dark .sw-dest-card-price{color: #f7f5f0;}
.sw-dest-card-dark .sw-dest-card-badge{background: #C9A84C; color: #0c0c0c;}
.sw-dest-card-top{padding: 24px 24px 16px;
  border-bottom: 1px solid #e4e1da;}
.sw-dest-card-dark .sw-dest-card-top{border-bottom-color: #333;}
.sw-dest-card-badge{display: inline-block;
  font-family: 'DM Sans', sans-serif;
  font-size: 10px; font-weight: 700;
  letter-spacing: 2px; text-transform: uppercase;
  background: rgba(201,168,76,0.15); color: #C9A84C;
  padding: 4px 10px; border-radius:var(--r-xs);
  margin-bottom: 12px;}
.sw-dest-card-route{font-family: 'Cormorant Garamond', serif;
  font-size: 20px; font-weight: 600;
  color: #0c0c0c; margin-bottom: 4px;}
.sw-dest-card-time{font-family: 'DM Sans', sans-serif;
  font-size: 13px; color: #888;}
.sw-dest-card-body{padding: 20px 24px 24px;}
.sw-dest-card-desc{font-family: 'DM Sans', sans-serif;
  font-size: 14px; line-height: 1.6;
  color: #555; margin: 0 0 16px;}
.sw-dest-card-price{font-family: 'DM Sans', sans-serif;
  font-size: 18px; color: #0c0c0c;
  margin-bottom: 16px;}
.sw-dest-card-price strong{font-size: 28px; font-weight: 700;
  color: #C9A84C;}
.sw-dest-card-btn{display: inline-block;
  font-family: 'DM Sans', sans-serif;
  font-size: 13px; font-weight: 600;
  color: #C9A84C; text-decoration: none;
  letter-spacing: 0.5px;
  transition: color 0.2s;}
.sw-dest-card-btn:hover{color: #0c0c0c;}
.sw-dest-card-dark .sw-dest-card-btn:hover{color: #fff;}
.sw-destinations-note{display: flex; align-items: flex-start; gap: 10px;
  margin-top: 32px; padding: 16px 20px;
  background: #f7f5f0; border-radius:var(--r-sm);
  font-family: 'DM Sans', sans-serif;
  font-size: 13px; color: #666;}
.sw-destinations-note-icon{color: #C9A84C; font-size: 10px; margin-top: 3px;}
/* ----- FLEET EXTRA BAR (Bus mieten Link) ----- */
.sw-fleet-extra{margin-top: 32px;
  background: rgba(201,168,76,0.08);
  border: 1px solid rgba(201,168,76,0.25);
  border-radius:var(--r-card);
  padding: 24px 28px;}
.sw-fleet-extra-inner{display: flex; align-items: center; gap: 20px;}
.sw-fleet-extra-icon{flex-shrink: 0;}
.sw-fleet-extra-text{font-family: 'DM Sans', sans-serif;
  font-size: 14px; color: #444;
  line-height: 1.6; flex-grow: 1;}
.sw-fleet-extra-text strong{color: #0c0c0c;}
.sw-fleet-extra-btn{flex-shrink: 0;
  font-family: 'DM Sans', sans-serif;
  font-size: 13px; font-weight: 600;
  color: #C9A84C; text-decoration: none;
  padding: 10px 20px;
  border: 1px solid #C9A84C;
  border-radius:var(--r-sm);
  transition: all 0.2s;
  white-space: nowrap;}
.sw-fleet-extra-btn:hover{background: #C9A84C; color: #fff;}
/* ----- FLEET CARD INTERNAL LINK ----- */
.sw-fleet-card-link{font-family: 'DM Sans', sans-serif;
  font-size: 12px; margin-bottom: 12px;}
.sw-fleet-card-link a{color: #C9A84C; text-decoration: none;
  transition: color 0.2s;}
.sw-fleet-card-link a:hover{color: #0c0c0c;}
.sw-fleet-card-dark .sw-fleet-card-link a:hover{color: #fff;}
/* ----- CTA CONTACT LINE ----- */
.sw-transfer-cta-contact{display: flex; justify-content: center;
  gap: 32px; margin-bottom: 24px;
  font-family: 'DM Sans', sans-serif;
  font-size: 15px; color: #e4e1da;}
/* ----- CTA INTERNAL LINKS ----- */
.sw-transfer-cta-links{display: flex; justify-content: center;
  gap: 12px; margin-top: 20px;
  font-family: 'DM Sans', sans-serif;
  font-size: 13px;}
.sw-transfer-cta-links a{color: rgba(255,255,255,0.6);
  text-decoration: none;
  transition: color 0.2s;}
.sw-transfer-cta-links a:hover{color: #C9A84C;}
.sw-transfer-cta-links span{color: rgba(255,255,255,0.3);}
@media (min-width: 769px) and (max-width: 1024px){
  .sw-services-grid{grid-template-columns: repeat(2, 1fr);}
  .sw-destinations-grid{grid-template-columns: repeat(2, 1fr);}
}
.sw-transfer-cta-title{color: #E8E4DC !important;
  margin-top: 0 !important;
  margin-bottom: 20px !important;}
.sw-transfer-cta-contact a{color: #e4e1da !important;
  text-decoration: none;
  transition: color 0.2s;}
.sw-transfer-cta-contact a:hover{color: #C9A84C !important;}
.sw-fleet-extra-text{color: #ccc !important;}
.sw-fleet-extra-text strong{color: #C9A84C !important;}
.sw-fleet-title{color: #F7F5F0 !important;}
.sw-fleet-subtitle{color: #e4e1da !important;}
/* ===== SWIVON V-Klasse Intro Widget ===== */
.sw-intro{background: linear-gradient(135deg, #F7F5F0 0%, #FFFFFF 100%);
  padding: 70px 20px;
  font-family: 'DM Sans', sans-serif;}
.sw-intro-inner{max-width: 900px;
  margin: 0 auto;
  text-align: center;}
.sw-intro-icon{display: flex;
  justify-content: center;
  margin-bottom: 20px;}
.sw-intro-tag{display: inline-block;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #C9A84C;
  margin-bottom: 18px;}
.sw-intro-title{font-family: 'Cormorant Garamond', serif !important;
  font-size: 38px !important;
  line-height: 1.2 !important;
  color: #0c0c0c !important;
  margin: 0 0 24px 0 !important;
  font-weight: 500 !important;}
.sw-intro-text{font-size: 17px;
  line-height: 1.7;
  color: #4a4a4a;
  margin: 0 0 36px 0;
  max-width: 780px;
  margin-left: auto;
  margin-right: auto;}
.sw-intro-text strong{color: #0c0c0c;
  font-weight: 600;}
.sw-intro-highlights{display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px 32px;
  margin-top: 32px;
  padding-top: 32px;
  border-top: 1px solid rgba(201, 168, 76, 0.2);}
.sw-intro-highlight{display: flex;
  align-items: center;
  gap: 10px;
  font-size: 15px;
  color: #0c0c0c;
  font-weight: 500;}
.sw-intro-highlight-icon{display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  background: #C9A84C;
  color: #fff;
  border-radius: 50%;
  font-size: 13px;
  font-weight: 700;
  flex-shrink: 0;}
/* ===== SWIVON V-Klasse Technische Details ===== */
.sw-tech{background: #0c0c0c;
  padding: 80px 20px;
  font-family: 'DM Sans', sans-serif;}
.sw-tech-center{max-width: 1200px;
  margin: 0 auto;}
.sw-tech-header{text-align: center;
  margin-bottom: 50px;}
.sw-tech-tag{display: inline-block;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #C9A84C;
  margin-bottom: 18px;}
.sw-tech-divider{width: 60px;
  height: 1px;
  background: #C9A84C;
  margin: 0 auto 24px;}
.sw-tech-title{font-family: 'Cormorant Garamond', serif !important;
  font-size: 42px !important;
  line-height: 1.2 !important;
  color: #F7F5F0 !important;
  margin: 0 0 16px 0 !important;
  font-weight: 500 !important;}
.sw-tech-subtitle{font-size: 17px;
  color: #aaa;
  margin: 0;
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;}
.sw-tech-grid{display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-bottom: 60px;}
.sw-tech-card{background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(201, 168, 76, 0.2);
  padding: 28px 22px;
  text-align: center;
  transition: all 0.3s ease;}
.sw-tech-card:hover{border-color: #C9A84C;
  background: rgba(201, 168, 76, 0.05);
  transform: translateY(-3px);}
.sw-tech-card-icon{font-size: 14px;
  color: #C9A84C;
  margin-bottom: 12px;}
.sw-tech-card-label{font-size: 12px;
  font-weight: 600;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #aaa;
  margin-bottom: 10px;}
.sw-tech-card-value{font-family: 'Cormorant Garamond', serif;
  font-size: 24px;
  color: #F7F5F0;
  margin-bottom: 8px;
  font-weight: 500;}
.sw-tech-card-desc{font-size: 13px;
  color: #888;
  line-height: 1.5;}
.sw-tech-features{background: rgba(201, 168, 76, 0.05);
  border: 1px solid rgba(201, 168, 76, 0.3);
  padding: 40px 30px;
  text-align: center;}
.sw-tech-features-title{font-family: 'Cormorant Garamond', serif !important;
  font-size: 28px !important;
  color: #F7F5F0 !important;
  margin: 0 0 24px 0 !important;
  font-weight: 500 !important;}
.sw-tech-features-grid{display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  max-width: 900px;
  margin: 0 auto;}
.sw-tech-feature{font-size: 14px;
  color: #e4e1da;
  padding: 10px 14px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(201, 168, 76, 0.15);
  text-align: left;}
/* ===== SWIVON V-Klasse vs Autovermietung Widget ===== */
.sw-compare{background: #F7F5F0;
  padding: 80px 20px;
  font-family: 'DM Sans', sans-serif;}
.sw-compare-center{max-width: var(--wrap);
  margin: 0 auto;}
.sw-compare-header{text-align: center;
  margin-bottom: 50px;}
.sw-compare-tag{display: inline-block;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #C9A84C;
  margin-bottom: 18px;}
.sw-compare-divider{width: 60px;
  height: 1px;
  background: #C9A84C;
  margin: 0 auto 24px;}
.sw-compare-title{font-family: 'Cormorant Garamond', serif !important;
  font-size: 40px !important;
  line-height: 1.2 !important;
  color: #0c0c0c !important;
  margin: 0 0 16px 0 !important;
  font-weight: 500 !important;}
.sw-compare-subtitle{font-size: 17px;
  color: #555;
  max-width: 800px;
  margin: 0 auto;
  line-height: 1.6;}
.sw-compare-table{background: #fff;
  border: 1px solid rgba(201, 168, 76, 0.3);
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.06);}
.sw-compare-row{display: grid;
  grid-template-columns: 2fr 1.3fr 1.3fr;
  border-bottom: 1px solid rgba(201, 168, 76, 0.15);
  transition: background 0.3s ease;}
.sw-compare-row:last-child{border-bottom: none;}
.sw-compare-row:not(.sw-compare-head):hover{background: rgba(201, 168, 76, 0.03);}
.sw-compare-head{background: #0c0c0c;
  border-bottom: 2px solid #C9A84C;}
.sw-compare-cell{padding: 18px 22px;
  font-size: 15px;
  display: flex;
  flex-direction: column;
  justify-content: center;}
.sw-compare-head .sw-compare-cell{padding: 24px 22px;
  text-align: center;
  align-items: center;}
.sw-compare-brand{font-family: 'Cormorant Garamond', serif;
  font-size: 22px;
  color: #C9A84C;
  font-weight: 500;}
.sw-compare-head .sw-compare-swivon .sw-compare-brand{color: #C9A84C;}
.sw-compare-head .sw-compare-other .sw-compare-brand{color: #aaa;}
.sw-compare-brand-sub{font-size: 12px;
  color: #888;
  margin-top: 4px;
  text-transform: uppercase;
  letter-spacing: 1px;}
.sw-compare-feature{font-weight: 500;
  color: #0c0c0c;}
.sw-compare-yes{color: #2e7d32;
  font-weight: 600;
  text-align: center;
  background: rgba(46, 125, 50, 0.04);}
.sw-compare-no{color: #888;
  text-align: center;}
.sw-compare-conclusion{margin-top: 40px;
  padding: 30px 36px;
  background: #fff;
  border-left: 4px solid #C9A84C;
  display: flex;
  align-items: flex-start;
  gap: 20px;
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.04);}
.sw-compare-conclusion-icon{font-size: 28px;
  color: #C9A84C;
  line-height: 1;
  flex-shrink: 0;}
.sw-compare-conclusion-text{font-size: 16px;
  line-height: 1.7;
  color: #333;
  margin: 0;}
.sw-compare-conclusion-text strong{color: #0c0c0c;
  font-weight: 600;}
/* === WIDGET #7 — PREISE V-KLASSE === */
.sw-preise{background:#F7F5F0;padding:80px 20px;font-family:'DM Sans',sans-serif;color:#0c0c0c}
.sw-preise-inner{max-width:1200px;margin:0 auto}
.sw-preise-head{text-align:center;margin-bottom:50px}
.sw-preise-tag{font-size:12px;letter-spacing:3px;color:#C9A84C;font-weight:600;margin-bottom:15px}
.sw-preise-title{font-family:'Cormorant Garamond',serif;font-size:42px;font-weight:500;line-height:1.2;margin:0 0 15px;color:#0c0c0c}
.sw-preise-sub{font-size:16px;color:#555;max-width:680px;margin:0 auto;line-height:1.6}
.sw-preise-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:40px}
.sw-preise-card{background:#fff;border:1px solid #e4e1da;border-radius:var(--r-sm);padding:35px 25px;text-align:center;position:relative;transition:transform .3s,box-shadow .3s}
.sw-preise-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(0,0,0,.08)}
.sw-preise-card--featured{border-color:#C9A84C;border-width:2px}
.sw-preise-card-badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:#C9A84C;color:#fff;font-size:11px;letter-spacing:1.5px;padding:5px 14px;border-radius:var(--r-card);font-weight:600;text-transform:uppercase}
.sw-preise-card-label{font-size:13px;letter-spacing:2px;color:#888;text-transform:uppercase;margin-bottom:15px}
.sw-preise-card-price{font-family:'Cormorant Garamond',serif;font-size:38px;font-weight:600;color:#0c0c0c;margin-bottom:10px}
.sw-preise-card-note{font-size:13px;color:#666;line-height:1.5}
.sw-preise-extra{background:#fff;border:1px solid #e4e1da;border-radius:var(--r-sm);padding:35px;margin-bottom:30px}
.sw-preise-extra-title{font-family:'Cormorant Garamond',serif;font-size:24px;color:#0c0c0c;margin-bottom:20px;text-align:center}
.sw-preise-extra-grid{display:flex;flex-direction:column;gap:12px}
.sw-preise-extra-row{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;background:#F7F5F0;border-radius:var(--r-sm)}
.sw-preise-extra-route{font-size:15px;color:#0c0c0c;font-weight:500}
.sw-preise-extra-price{font-family:'Cormorant Garamond',serif;font-size:22px;color:#C9A84C;font-weight:600}
.sw-preise-includes{background:#0c0c0c;border-radius:var(--r-sm);padding:35px;margin-bottom:35px}
.sw-preise-includes-title{font-family:'Cormorant Garamond',serif;font-size:22px;color:#fff;text-align:center;margin-bottom:20px}
.sw-preise-includes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.sw-preise-includes-item{color:#e4e1da;font-size:15px;padding:8px 0}
.sw-preise-cta{display:flex;justify-content:center;gap:15px;flex-wrap:wrap;margin-bottom:20px}
.sw-preise-btn{padding:14px 32px;border-radius:var(--r-xs);font-size:13px;letter-spacing:2px;text-decoration:none;font-weight:500;text-transform:uppercase;transition:all .3s;font-family:'DM Sans',sans-serif}
.sw-preise-btn--primary{background:#C9A84C;color:#fff}
.sw-preise-btn--primary:hover{background:#B89A3E}
.sw-preise-btn--ghost{background:transparent;color:#0c0c0c;border:1px solid #0c0c0c}
.sw-preise-btn--ghost:hover{background:#0c0c0c;color:#fff}
@media(max-width:980px){
  .sw-preise-grid{grid-template-columns:repeat(2,1fr)}
  .sw-preise-includes-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){
  .sw-preise{padding:60px 15px}
  .sw-preise-title{font-size:32px}
  .sw-preise-grid{grid-template-columns:1fr}
  .sw-preise-includes-grid{grid-template-columns:1fr}
  .sw-preise-extra-row{flex-direction:column;gap:6px;text-align:center}
}
/* === WIDGET #10 — SEO TEXT V-KLASSE === */
.sw-seo-v{background:#fff;padding:80px 20px;font-family:'DM Sans',sans-serif;color:#0c0c0c}
.sw-seo-v-inner{max-width:880px;margin:0 auto}
.sw-seo-v-title{font-family:'Cormorant Garamond',serif;font-size:38px;font-weight:500;line-height:1.2;margin:0 0 25px;color:#0c0c0c;text-align:center}
.sw-seo-v-inner h3{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:500;color:#0c0c0c;margin:35px 0 15px}
.sw-seo-v-inner p{font-size:16px;line-height:1.8;color:#444;margin:0 0 18px}
.sw-seo-v-inner p strong{color:#0c0c0c;font-weight:600}
@media(max-width:600px){
  .sw-seo-v{padding:60px 15px}
  .sw-seo-v-title{font-size:28px}
  .sw-seo-v-inner h3{font-size:22px}
  .sw-seo-v-inner p{font-size:15px}
}
/* =====================================================================
   SWIVON — Bus Page Additional CSS
   Nove klase za bus-bis-20-personen-mieten stranicu
   Dodati u WordPress → Additional CSS
   ===================================================================== */

/* ===================== BUS HERO ===================== */
.sw-bus-hero{background: #0c0c0c;
  padding: 120px 48px 88px;
  text-align: center;}
.sw-bus-hero-inner{max-width: 700px;
  margin: 0 auto;}
.sw-bus-hero-tag{font-family: 'DM Sans', sans-serif;
  font-size: 0.7rem;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #C9A84C;
  font-weight: 500;
  display: block;
  margin-bottom: 16px;}
.sw-bus-hero-divider{width: 32px;
  height: 1px;
  background: rgba(201,168,76,0.4);
  margin: 0 auto 24px;}
.sw-bus-hero-title{font-family: 'Cormorant Garamond', serif;
  font-size: 3.2rem;
  font-weight: 300;
  color: #ffffff;
  margin-bottom: 16px;
  line-height: 1.1;
  letter-spacing: -0.5px;}
.sw-bus-hero-subtitle{font-family: 'DM Sans', sans-serif;
  font-size: 1rem;
  color: #a8a39d;
  font-weight: 300;
  line-height: 1.7;
  margin-bottom: 32px;}
.sw-bus-hero-btns{display: flex;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;}
@media (max-width: 768px){
  .sw-bus-hero{padding: 80px 24px 60px;}
  .sw-bus-hero-title{font-size: 2.2rem;}
}
/* ===================== BUS INTRO SECTIONS ===================== */
.sw-bus-intro{font-family: 'DM Sans', sans-serif;
  padding: 88px 48px;
  background: #ffffff;}
.sw-bus-intro-center{max-width: 800px;
  margin: 0 auto;
  text-align: center;}
.sw-bus-intro-tag{font-size: 0.7rem;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #C9A84C;
  font-weight: 500;
  display: block;
  margin-bottom: 16px;}
.sw-bus-intro-divider{width: 32px;
  height: 1px;
  background: #C9A84C;
  margin: 0 auto 24px;}
.sw-bus-intro-title{font-family: 'Cormorant Garamond', serif;
  font-size: 2.2rem;
  font-weight: 300;
  color: #1A1A1A;
  margin-bottom: 20px;
  line-height: 1.2;}
.sw-bus-intro-text{font-size: 0.95rem;
  color: #4a4a4a;
  font-weight: 300;
  line-height: 1.8;
  margin-bottom: 16px;}
.sw-bus-intro-text:last-child{margin-bottom: 0;}
@media (max-width: 768px){
  .sw-bus-intro{padding: 60px 24px;}
  .sw-bus-intro-title{font-size: 1.8rem;}
}
/* ===================== SEO TEXT BLOCK ===================== */
.sw-seo-v{background: #f7f5f0; padding: 80px 20px; font-family: 'DM Sans', sans-serif; color: #0c0c0c;}
.sw-seo-v-inner{max-width: 880px; margin: 0 auto;}
.sw-seo-v-title{font-family: 'Cormorant Garamond', serif; font-size: 38px; font-weight: 500; line-height: 1.2; margin: 0 0 25px; color: #0c0c0c; text-align: center;}
.sw-seo-v-inner h3{font-family: 'Cormorant Garamond', serif; font-size: 26px; font-weight: 500; color: #0c0c0c; margin: 35px 0 15px;}
.sw-seo-v-inner p{font-size: 16px; line-height: 1.8; color: #444; margin: 0 0 18px;}
.sw-seo-v-inner p strong{color: #0c0c0c; font-weight: 600;}
.sw-seo-v-inner a{color: #C9A84C; text-decoration: none;}
.sw-seo-v-inner a:hover{text-decoration: underline;}
@media (max-width: 768px){
  .sw-seo-v{padding: 60px 15px;}
  .sw-seo-v-title{font-size: 28px;}
  .sw-seo-v-inner h3{font-size: 22px;}
  .sw-seo-v-inner p{font-size: 15px;}
}
/* ===================== CATEGORY PILLS — FULL WIDTH ===================== */
.sw-cat-section{background: #f7f5f0;
  padding: 20px 24px;
  border-bottom: 1px solid rgba(201, 168, 76, 0.15);
  font-family: 'Manrope', sans-serif;}
.sw-cat-inner{max-width: 1200px;
  margin: 0 auto;}
.sw-cat-pills{display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;}
.sw-cat-pill{display: inline-block;
  padding: 7px 18px;
  border: 1px solid #e4e1da;
  background: #fff;
  color: #0c0c0c;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  text-decoration: none;
  border-radius:var(--r-xs);
  transition: all 0.2s ease;
  white-space: nowrap;}
.sw-cat-pill:hover{border-color: #C9A84C;
  color: #C9A84C;}
.sw-cat-pill--active{background: #0c0c0c;
  color: #C9A84C;
  border-color: #0c0c0c;}
.sw-cat-pill--active:hover{color: #C9A84C;
  border-color: #0c0c0c;}
@media (max-width: 768px){
  .sw-cat-section{padding: 12px 16px;}
  .sw-cat-inner{max-width: 100%;
    padding: 0;}
  .sw-cat-pills{display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px;
    overflow: visible;}
  .sw-cat-pill{flex: 0 0 auto;
    padding: 6px 12px;
    font-size: 10px;
    line-height: 1.2;
    letter-spacing: 1.2px;}
}

/* ============================================================
   Service-page component CSS (theme-native wrappers)
   Hero, "Service Details" accordion, FAQ layout, section bg.
   Reuses existing tokens + .b-buchen + .faq-row + .eyebrow.
   ============================================================ */
.section--light{background:var(--cream);color:var(--black)}

/* ---- Service hero (dark, image right) — generous + asymmetric (narrow tall text, roomy gap) ---- */
.shero{background:var(--black);color:#fff;padding:clamp(96px,11vw,152px) 0 clamp(80px,9vw,120px);position:relative;overflow:hidden}
.shero .shero-inner{width:min(var(--wrap-hero),calc(100% - 2*var(--gutter)));max-width:none;padding-left:0;padding-right:0;display:grid;grid-template-columns:minmax(0,0.9fr) minmax(0,1.12fr);gap:clamp(44px,5vw,88px);align-items:stretch}
.shero-text{max-width:580px}
.shero-eyebrow{display:inline-block;font-family:var(--nav);font-size:var(--fs-eyebrow);letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-bottom:24px}
.shero h1{font-family:var(--serif);font-weight:500;font-size:var(--fs-h1);line-height:1.07;letter-spacing:-.005em;margin:0 0 30px;color:#fff}
.shero-lead{font-family:var(--serif);font-size:var(--fs-lead);line-height:1.46;color:#ded7c8;margin-bottom:24px}
.shero-lead pre,.shero-checks pre{font-family:inherit;white-space:normal;margin:0;padding:0;background:none;border:0}
.shero-checks{font-family:var(--nav);font-size:14.5px;line-height:2;letter-spacing:.01em;color:#9c968b;margin-bottom:44px}
.shero-checks p{margin:0}
.shero-cta{display:flex;gap:16px;flex-wrap:wrap}
.shero-media{align-self:stretch;position:relative;min-height:400px;border-radius:var(--r-img);overflow:hidden;box-shadow:0 40px 80px rgba(0,0,0,.5)}
.shero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.b-ghost{display:inline-flex;align-items:center;justify-content:center;font-family:var(--nav);font-weight:600;font-size:13px;letter-spacing:1.6px;text-transform:uppercase;padding:15px 38px;border-radius:var(--r-pill);border:1px solid rgba(255,255,255,.32);color:#fff;text-decoration:none;white-space:nowrap;transition:.25s var(--ease)}
.b-ghost:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-2px)}
/* mobile: match the home-button dimension (declared here so it beats main.css by source order) */
@media(max-width:560px){.b-ghost{padding:14px 26px;font-size:12.5px}}
@media(max-width:920px){.shero{padding:52px 0 54px}.shero .shero-inner{grid-template-columns:1fr;gap:30px}.shero-text{max-width:none}.shero-media{min-height:0;aspect-ratio:16/10}}

/* ---- "Service Details" accordion ---- */
.sdetails{padding:84px 0}
.sdetails-h2{font-family:var(--serif);font-weight:500;font-size:var(--fs-h2);text-align:center;margin:0 0 38px;color:var(--black)}
.sacc{max-width:880px;margin:0 auto;border-top:1px solid #e4e1da}
.sacc-item{border-bottom:1px solid #e4e1da}
.sacc-item>summary{cursor:pointer;list-style:none;padding:22px 44px 22px 0;position:relative;font-family:var(--serif);font-size:21px;line-height:1.3;color:var(--black);transition:color .2s}
.sacc-item>summary::-webkit-details-marker{display:none}
.sacc-item>summary:hover{color:var(--gold)}
.sacc-item>summary::after{content:'+';position:absolute;right:6px;top:50%;transform:translateY(-50%);font-size:26px;font-family:var(--nav);color:var(--gold);line-height:1}
.sacc-item[open]>summary::after{content:'\2013'}
.sacc-body{padding:2px 0 26px;font-family:var(--nav);font-size:15px;line-height:1.78;color:#5a5a5a}
.sacc-body p{margin:0 0 12px}
.sacc-body a{color:var(--gold)}

/* ---- FAQ (service pages) — split sticky layout, reuses .faq-row ---- */
.sfaq{padding:84px 0}
.sfaq .sfaq-wrap{display:grid;grid-template-columns:.82fr 1.18fr;gap:54px;align-items:start}
.sfaq-head{position:sticky;top:104px}
.sfaq-head .eyebrow{color:var(--gold)}
.sfaq-head h2{font-family:var(--serif);font-weight:500;font-size:var(--fs-h2);line-height:1.05;margin:10px 0 0;color:var(--black)}
.sfaq-list{border-top:1px solid #e4e1da}
@media(max-width:920px){.sfaq .sfaq-wrap{grid-template-columns:1fr;gap:26px}.sfaq-head{position:static}}

/* ---- Generic ported content section (.sblock) — native-Elementor pages (e.g. bus-mieten) ---- */
.sblock{padding:64px 0}
.sblock .wrap{max-width:var(--wrap)}
.sblock h1,.sblock h2{font-family:var(--serif);font-weight:500;color:var(--black);line-height:1.1;margin:38px 0 16px}
.sblock h2{font-size:var(--fs-h2)}
.sblock h3{font-family:var(--serif);font-weight:500;font-size:clamp(21px,2.4vw,28px);color:var(--black);margin:30px 0 12px}
.sblock h4{font-family:var(--nav);font-weight:700;font-size:17px;color:var(--black);margin:22px 0 8px;letter-spacing:.01em}
.sblock p,.sblock li{font-family:var(--nav);font-size:15.5px;line-height:1.8;color:#4a4a4a}
.sblock p{margin:0 0 16px}
.sblock ul,.sblock ol{margin:0 0 20px;padding-left:0;list-style:none}
.sblock ul li{position:relative;padding-left:26px;margin-bottom:9px}
.sblock ul li::before{content:'';position:absolute;left:2px;top:11px;width:7px;height:7px;background:var(--gold);border-radius:50%}
.sblock ol{counter-reset:sb;padding-left:0}
.sblock ol li{counter-increment:sb;position:relative;padding-left:46px;margin-bottom:16px;min-height:34px}
.sblock ol li::before{content:counter(sb);position:absolute;left:0;top:-2px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--black);color:var(--gold);border-radius:50%;font-family:var(--serif);font-size:16px}
.sblock img{max-width:100%;height:auto;border-radius:var(--r-card);display:block;margin:24px auto;box-shadow:0 18px 40px rgba(0,0,0,.12)}
.sblock a:not(.b-buchen):not(.b-ghost){color:#a07d22;text-decoration:underline;text-underline-offset:2px}
.sblock strong{color:var(--black)}
.sblock .b-buchen{margin:8px 0}
.sblock table{width:100%;border-collapse:collapse;margin:20px 0;font-family:var(--nav);font-size:14px}
.sblock th,.sblock td{padding:12px 14px;border:1px solid #e4e1da;text-align:left;color:#3a3a3a}
.sblock thead th{background:var(--black);color:#fff;font-weight:600}

/* ---- Chauffeur booking page (hero + [swivon_booking] wizard) ---- */
.sbuchen{padding:104px 0 90px;background:var(--cream)}
.sbuchen-head{text-align:center;max-width:760px;margin:0 auto 36px}
.sbuchen-head h1{font-family:var(--serif);font-weight:500;font-size:var(--fs-h1);line-height:1.05;color:var(--black);margin:0 0 14px}
.sbuchen-sub{font-family:var(--nav);font-size:16px;letter-spacing:.01em;color:#6b6b6b;margin:0}
.sbuchen-form{max-width:1080px}
/* On phones drop the theme's ~20px .wrap side gutter on the booking form so the chbs plugin form
   uses (almost) the full width — matching the old live layout (its own padding insets the fields). */
@media (max-width:560px){
  .sbuchen-form{width:100%;max-width:none;padding-left:6px;padding-right:6px}
  .sbuchen{padding:64px 0 56px}
}
/* The theme's global `*{margin:0;padding:0}` reset + `h1,h2,h3{serif}` bleed into the chbs booking
   form, compressing it and restyling its card titles → text looked cramped/hard to read. Restore
   breathing room + neutral headings INSIDE the form wrapper only. The chbs plugin's own .chbs-*
   styles are NOT touched (only generic elements the global reset stripped). */
.sbuchen-form h1,.sbuchen-form h2,.sbuchen-form h3,.sbuchen-form h4,.sbuchen-form h5{font-family:'DM Sans','Manrope',sans-serif;font-weight:600;line-height:1.35}
.sbuchen-form p{margin:0 0 1em;line-height:1.6}
.sbuchen-form ul,.sbuchen-form ol{margin:0 0 1em;padding-left:1.25em}
.sbuchen-form li{margin:.25em 0}

/* ===== Korean (Hangul) typography: keep syllable blocks intact, drop Latin tracking ===== */
html[lang^="ko"] h1,html[lang^="ko"] h2,html[lang^="ko"] h3,html[lang^="ko"] h4,html[lang^="ko"] p,html[lang^="ko"] li,html[lang^="ko"] .shero h1,html[lang^="ko"] .shero-checks,html[lang^="ko"] .faq-q,html[lang^="ko"] .sacc-item>summary,html[lang^="ko"] .book-f .v,html[lang^="ko"] .scard h3,html[lang^="ko"] .wcard h3,html[lang^="ko"] [class*="-value"],html[lang^="ko"] [class*="-title"],html[lang^="ko"] [class*="-desc"],html[lang^="ko"] [class*="-fact"],html[lang^="ko"] .sstep h3,html[lang^="ko"] .sstep-text{word-break:keep-all;line-break:strict}
/* lining figures so standalone digits (e.g. "3단계") sit on the baseline, not dropped like oldstyle subscripts next to Hangul */
html[lang^="ko"] h1,html[lang^="ko"] h2,html[lang^="ko"] h3,html[lang^="ko"] .shero h1,html[lang^="ko"] .ssteps-head h2{font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1}
/* drop the Latin all-caps tracking on EVERY eyebrow/label/tag/badge for Hangul */
html[lang^="ko"] .eyebrow,html[lang^="ko"] .shero-eyebrow,html[lang^="ko"] [class*="eyebrow"],html[lang^="ko"] [class*="-tag"],html[lang^="ko"] [class*="-badge"],html[lang^="ko"] [class*="-label"],html[lang^="ko"] .foot h4,html[lang^="ko"] h4,html[lang^="ko"] .book-f .l,html[lang^="ko"] .mega-h,html[lang^="ko"] .price-table thead th,html[lang^="ko"] .reviews-eyebrow{letter-spacing:.01em}

/* === scraped: sw-services-grid === */
.sw-services-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
@media (max-width: 768px){.sw-services-grid { grid-template-columns: 1fr; gap: 16px; }}
@media (min-width: 769px) and (max-width: 1024px){.sw-services-grid { grid-template-columns: repeat(2, 1fr); }}

/* === Minimal Tailwind utility shim (ported HTML-widget snippets use these inline) === */
.flex{display:flex}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.min-w-0{min-width:0}.max-w-full{max-width:100%}
.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.mb-1{margin-bottom:.25rem}.pb-4{padding-bottom:1rem}.space-y-2>*+*{margin-top:.5rem}
.text-sm{font-size:.9rem;line-height:1.55}.text-text-100{color:#e8e4dc}
.\!my-0{margin-top:0!important;margin-bottom:0!important}.\!p-0{padding:0!important}

/* === Generic "3 Schritte" steps in .sblock: badge left + grouped with title (was centered/detached) === */
.sblock img[src*="schritt"],.sblock img[src*="step-"]{width:62px;height:auto;margin:30px 0 10px;border-radius:0;box-shadow:none}

/* === Service-page sections: homepage-standard generous vertical padding === */
/* === SECTION PADDING SYSTEM: standard 112 (different bg) + tight 50 seam (same adjacent bg). Thin bars (facts/booking) keep own padding; hero keeps its own. === */
main.ported > [data-bg]{padding-top:clamp(64px,9vw,112px);padding-bottom:clamp(64px,9vw,112px)}
main.ported > [data-bg="cream"] + [data-bg="cream"],
main.ported > [data-bg="dark"] + [data-bg="dark"]{padding-top:clamp(28px,4vw,50px)}
main.ported > [data-bg="cream"]:has(+ [data-bg="cream"]),
main.ported > [data-bg="dark"]:has(+ [data-bg="dark"]){padding-bottom:clamp(28px,4vw,50px)}

/* same-bg seam: accordion -> FAQ are both cream on every service page, tighten the void */

/* === scraped: #swivon-booking-bar + .sw-intro (were unstyled) === */
#swivon-booking-bar { background: #C9A84C; padding: 15px max(var(--gutter), calc((100% - var(--wrap-hero)) / 2)); display: flex; align-items: center; gap: 0px; width: 100%; box-sizing: border-box; }
#swivon-booking-bar .bb-field { flex: 1 1 0%; padding: 4px 24px; }
#swivon-booking-bar .bb-field:first-child { padding-left: 0px; }
#swivon-booking-bar .bb-label { font-family: Manrope, sans-serif; font-size: 9px; letter-spacing: 2px; text-transform: uppercase; color: rgba(0, 0, 0, 0.65); margin-bottom: 4px; }
#swivon-booking-bar .bb-value { font-family: Manrope, sans-serif; font-size: 13px; font-weight: 500; color: rgb(12, 12, 12); }
#swivon-booking-bar .bb-divider { width: 1px; height: 30px; background: rgba(0, 0, 0, 0.15); flex-shrink: 0; }
#swivon-booking-bar .bb-btn { background: rgb(12, 12, 12); color: rgb(201, 168, 76); padding: 12px 30px; border-radius:var(--r-pill); border: 1px solid rgb(12, 12, 12); font-family: Manrope, sans-serif; font-size: 12px; letter-spacing: 2px; text-transform: uppercase; white-space: nowrap; cursor: pointer; text-decoration: none; display: inline-block; margin-left: clamp(30px,4vw,60px); flex-shrink: 0; transition: background 0.2s, color 0.2s; }
#swivon-booking-bar .bb-btn:hover { background: rgb(201, 168, 76); color: rgb(12, 12, 12); border-color: rgb(12, 12, 12); }
@media (max-width: 768px){#swivon-booking-bar { flex-wrap: wrap; padding: 20px 24px; gap: 0px; align-items: stretch; }}
@media (max-width: 768px){#swivon-booking-bar .bb-field { flex: 0 0 50%; padding: 12px 0px; border-bottom: 1px solid rgba(0, 0, 0, 0.1); display: flex; flex-direction: column; justify-content: flex-start; }}
@media (max-width: 768px){#swivon-booking-bar .bb-field.bb-left { padding-right: 16px; }}
@media (max-width: 768px){#swivon-booking-bar .bb-field.bb-right { padding-left: 16px; }}
@media (max-width: 768px){#swivon-booking-bar .bb-value { white-space: normal; }}
@media (max-width: 768px){#swivon-booking-bar .bb-divider { display: none; }}
@media (max-width: 768px){#swivon-booking-bar .bb-btn { width: 100%; text-align: center; margin-left: 0px; margin-top: 16px; }}
.sw-intro { background: linear-gradient(135deg, rgb(247, 245, 240) 0%, rgb(255, 255, 255) 100%); padding: 70px 20px; font-family: "DM Sans", sans-serif; }
.sw-intro-inner { max-width: 900px; margin: 0px auto; text-align: center; }
.sw-intro-icon { display: flex; justify-content: center; margin-bottom: 20px; }
.sw-intro-tag { display: inline-block; font-size: 13px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; color: rgb(201, 168, 76); margin-bottom: 18px; }
.sw-intro-title { font-family: "Cormorant Garamond", serif !important; font-size: 38px !important; line-height: 1.2 !important; color: rgb(12, 12, 12) !important; margin: 0px 0px 24px !important; font-weight: 500 !important; }
.sw-intro-text { font-size: 17px; line-height: 1.7; color: rgb(74, 74, 74); margin: 0px auto 36px; max-width: 780px; }
.sw-intro-text strong { color: rgb(12, 12, 12); font-weight: 600; }
.sw-intro-highlights { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px 32px; margin-top: 32px; padding-top: 32px; border-top: 1px solid rgba(201, 168, 76, 0.2); }
.sw-intro-highlight { display: flex; align-items: center; gap: 10px; font-size: 15px; color: rgb(12, 12, 12); font-weight: 500; }
.sw-intro-highlight-icon { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; background: rgb(201, 168, 76); color: rgb(255, 255, 255); border-radius: 50%; font-size: 13px; font-weight: 700; flex-shrink: 0; }
@media (max-width: 768px){.sw-intro { padding: 50px 16px; }}
@media (max-width: 768px){.sw-intro-title { font-size: 28px !important; }}
@media (max-width: 768px){.sw-intro-text { font-size: 15px; }}
@media (max-width: 768px){.sw-intro-highlights { flex-direction: column; align-items: flex-start; gap: 12px; text-align: left; }}

/* === Apply rounding system to .sw-* cards (originals were square 0px) === */
.sw-fleet-card,.sw-why-card,.sw-services-card,.sw-tech-card,.sw-tech-feature,
.sw-hotel-card,.sw-dest-card,.sw-preise-card,.sw-preise-extra,.sw-preise-includes,
.use-case,.review-card,.sw-fleet-extra,.sw-hotels-note,.sw-routes-note,
.sw-transfer-routes-note,.sw-transfer-cta-contact{border-radius:var(--r-card)}
.sw-transfer-fact{border-radius:var(--r-sm)}
/* clip edge media to the rounded corners */
.sw-fleet-card,.sw-hotel-card,.sw-dest-card,.use-case{overflow:hidden}

/* === Apply rounding system to .sw-* buttons + badges (originals were square 0px) === */
.sw-fleet-card-btn,.sw-fleet-extra-btn,.sw-transfer-routes-btn,.sw-transfer-routes-cta,
.sw-transfer-cta-primary,.sw-transfer-cta-secondary,.sw-services-card-btn,.sw-dest-card-btn,
.sw-preise-cta,.sw-fleet-card-link,.bb-btn,.sw-hotels-btn,.sw-why-btn,.sw-compare-btn,
[class*="sw-"][class*="-btn"],[class*="sw-"][class*="-cta-primary"],[class*="sw-"][class*="-cta-secondary"]{border-radius:var(--r-pill)}
.sw-fleet-card-badge,.sw-dest-card-badge,.sw-preise-card-badge,[class*="sw-"][class*="-badge"]{border-radius:var(--r-pill)}

/* === "3 Schritte" steps grid (native-Elementor step sections) === */
.ssteps-head{text-align:center;max-width:760px;margin:0 auto 50px}
.ssteps-head .eyebrow{color:var(--gold)}
.ssteps-head h2{font-family:var(--serif);font-weight:500;font-size:var(--fs-h2);line-height:1.06;color:var(--black);margin-top:10px}
.ssteps{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(30px,4vw,60px);max-width:1000px;margin:0 auto}
.sstep{text-align:center}
.sstep-num{margin:0 auto 22px;width:64px;height:64px}
.sstep-num img{width:64px!important;height:64px!important;margin:0!important;border-radius:0!important;box-shadow:none!important}
.sstep h3{font-family:var(--serif);font-weight:500;font-size:22px;color:var(--black);margin:0 0 10px}
.sstep-text{font-family:var(--nav);font-size:14.5px;line-height:1.7;color:#5a5a5a}
.sstep-text p{margin:0}
@media(max-width:760px){.ssteps{grid-template-columns:1fr;gap:34px}}

/* === Fill remaining unstyled classes (audit) === */
.faq-list{border-top:1px solid #e4e1da}
.sw-cs-step{display:flex;gap:18px;align-items:flex-start;padding:16px 0;border-bottom:1px solid #e4e1da}
.sw-cs-step-content{flex:1}
.sw-cs-step-desc{font-family:var(--nav);font-size:14.5px;line-height:1.7;color:#5a5a5a;margin-top:4px}
.sw-preise-foot{margin-top:24px;text-align:center}
.sw-services-grid-6{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media(max-width:760px){.sw-services-grid-6{grid-template-columns:1fr}}

/* ============================================================
   BUS-MIETEN v2 — faithful sections
   (vehicle photo cards · Warum split · price cards ·
    Konditionen 2-col · Öffnungszeiten 2-col)
   ============================================================ */
.sw-v-center,.sw-split-inner,.sw-price2-center,.sw-kond-inner,.sw-hours-inner{
  width:min(var(--wrap),calc(100% - 2*var(--gutter)));margin-inline:auto;}

/* section background bands — alternating white / cream like the live page */
.sw-vehicle{background:#f7f5f0;}
.sw-split{background:#fff;}
.sw-price2{background:#f7f5f0;}
.sw-kond{background:#fff;}
.sw-hours{background:#f7f5f0;}

/* ----- Vehicle photo cards (light section, bordered white cards) ----- */
.sw-vehicle-head{text-align:center;margin-bottom:clamp(40px,5vw,60px);}
.sw-vehicle-head h2{font-family:'Cormorant Garamond',serif;font-size:clamp(30px,3.4vw,46px);font-weight:600;color:#0c0c0c;margin:0 0 12px;line-height:1.08;}
.sw-vehicle-head p{font-family:'DM Sans',sans-serif;font-size:15px;color:#666;margin:0;}
.sw-vehicle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,2vw,28px);}
.sw-vehicle-card{background:#fff;border:1px solid #e4e1da;border-radius:var(--r-card);overflow:hidden;display:flex;flex-direction:column;transition:transform .35s ease,box-shadow .35s ease;}
.sw-vehicle-card:hover{transform:translateY(-5px);box-shadow:0 16px 40px rgba(0,0,0,.12);}
.sw-vehicle-media{aspect-ratio:16/10;overflow:hidden;background:#f0ede8;}
.sw-vehicle-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.16,1,.3,1);}
.sw-vehicle-card:hover .sw-vehicle-media img{transform:scale(1.05);}
.sw-vehicle-body{padding:clamp(20px,1.6vw,26px) clamp(22px,1.8vw,28px);display:flex;flex-direction:column;flex:1;}
.sw-vehicle-model{font-family:'Cormorant Garamond',serif;font-size:clamp(22px,1.9vw,26px);font-weight:600;color:#0c0c0c;margin:0 0 3px;line-height:1.1;}
.sw-vehicle-cap{font-family:'DM Sans',sans-serif;font-size:11px;font-weight:600;letter-spacing:.05em;color:#8a6a1e;text-transform:uppercase;margin-bottom:13px;}
.sw-vehicle-desc{font-family:'DM Sans',sans-serif;font-size:13.5px;line-height:1.55;color:#555;margin:0 0 11px;}
.sw-vehicle-equip{font-family:'DM Sans',sans-serif;font-size:12.5px;line-height:1.55;color:#6b6b6b;margin:0 0 16px;}
.sw-vehicle-equip strong{color:#0c0c0c;font-weight:600;}
.sw-vehicle-price{margin-top:auto;padding-top:14px;border-top:1px solid #efece6;font-family:'Cormorant Garamond',serif;font-size:1.6rem;font-weight:600;font-style:italic;color:#C9A84C;}

/* ----- Warum split (text + image) ----- */
.sw-split-inner{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,5vw,72px);align-items:center;}
.sw-split-media{border-radius:var(--r-img);overflow:hidden;aspect-ratio:4/3;box-shadow:0 24px 60px rgba(0,0,0,.16);}
.sw-split-media img{width:100%;height:100%;object-fit:cover;display:block;}
.sw-split-text .sw-services-tag{margin-bottom:14px;}
.sw-split-text h2{font-family:'Cormorant Garamond',serif;font-size:clamp(30px,3.4vw,46px);font-weight:600;color:#0c0c0c;margin:0 0 20px;line-height:1.1;}
.sw-split-text p{font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.75;color:#555;margin:0 0 24px;}
.sw-split-list{list-style:none;padding:0;margin:0;display:grid;gap:13px;}
.sw-split-list li{font-family:'DM Sans',sans-serif;font-size:15px;color:#333;padding-left:32px;position:relative;}
.sw-split-list li::before{content:'';position:absolute;left:0;top:1px;width:19px;height:19px;border-radius:50%;background:#C9A84C;}
.sw-split-list li::after{content:'✓';position:absolute;left:4.5px;top:0;color:#fff;font-size:11px;font-weight:700;}

/* ----- Price cards (Stundensatz / Tagespauschale) ----- */
.sw-price2-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(22px,2.2vw,32px);}
.sw-price2-card{background:#fff;border:1px solid #e4e1da;border-radius:var(--r-card);padding:clamp(30px,3vw,44px) clamp(30px,3vw,46px);text-align:left;display:flex;flex-direction:column;}
.sw-price2-card--featured{border-color:rgba(201,168,76,.5);background:#fffdf7;}
.sw-price2-card h3{font-family:'Cormorant Garamond',serif;font-size:clamp(22px,2vw,28px);font-weight:600;color:#0c0c0c;margin:0 0 14px;}
.sw-price2-amount{font-family:'Cormorant Garamond',serif;font-size:clamp(34px,3.4vw,46px);font-weight:600;color:#C9A84C;line-height:1;}
.sw-price2-unit{font-family:'DM Sans',sans-serif;font-size:13px;color:#6b6b6b;margin:12px 0 6px;}
.sw-price2-list{list-style:none;padding:0;margin:14px 0 0;}
.sw-price2-list li{font-family:'DM Sans',sans-serif;font-size:14px;color:#333;padding:13px 0 13px 28px;position:relative;border-bottom:1px solid #efece6;}
.sw-price2-list li:last-child{border-bottom:none;padding-bottom:0;}
.sw-price2-list li::before{content:'✓';position:absolute;left:0;top:13px;color:#C9A84C;font-weight:700;font-size:12px;}
.sw-price2-note{max-width:980px;margin:clamp(26px,2.8vw,38px) auto 0;font-family:'DM Sans',sans-serif;font-size:13px;line-height:1.65;color:#777;text-align:center;}

/* ----- Konditionen 2-col ----- */
.sw-kond-inner{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(36px,4.5vw,64px);}
.sw-kond-col .sw-services-tag{margin-bottom:14px;}
.sw-kond-col h3{font-family:'Cormorant Garamond',serif;font-size:clamp(24px,2.4vw,32px);font-weight:600;color:#0c0c0c;margin:0 0 18px;}
.sw-kond-col p{font-family:'DM Sans',sans-serif;font-size:15px;line-height:1.7;color:#555;margin:0 0 14px;}
.sw-kond-list{list-style:none;padding:0;margin:18px 0 0;}
.sw-kond-list li{font-family:'DM Sans',sans-serif;font-size:14px;color:#333;padding:13px 0 13px 26px;position:relative;border-bottom:1px solid #e8e4dd;}
.sw-kond-list li:last-child{border-bottom:none;}
.sw-kond-list li::before{content:'◆';position:absolute;left:0;top:14px;color:#C9A84C;font-size:9px;}

/* ----- Öffnungszeiten 2-col ----- */
.sw-hours-inner{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(36px,4.5vw,64px);align-items:start;}
.sw-hours-text .sw-services-tag{margin-bottom:14px;}
.sw-hours-text h2{font-family:'Cormorant Garamond',serif;font-size:clamp(28px,3vw,42px);font-weight:600;color:#0c0c0c;margin:0 0 28px;line-height:1.1;}
.sw-hours-sub{font-family:'DM Sans',sans-serif;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#C9A84C;margin:0 0 6px;}
.sw-hours-block{margin-bottom:26px;}
.sw-hours-row{display:flex;justify-content:space-between;gap:16px;font-family:'DM Sans',sans-serif;font-size:14px;color:#333;padding:12px 0;border-bottom:1px solid #e8e4dd;}
.sw-hours-row:last-child{border-bottom:none;}
.sw-hours-note{font-family:'DM Sans',sans-serif;font-size:14px;line-height:1.7;color:#555;margin:0;}
.sw-contact-card{border:1px solid #e4e1da;border-radius:var(--r-card);padding:22px 26px;margin-bottom:18px;background:#fff;}
.sw-contact-card:last-child{margin-bottom:0;}
.sw-contact-card .sw-hours-sub{margin-bottom:8px;}
.sw-contact-card a{font-family:'Cormorant Garamond',serif;font-size:1.5rem;color:#0c0c0c;text-decoration:none;transition:color .2s;}
.sw-contact-card a:hover{color:#C9A84C;}

@media(max-width:900px){
  .sw-vehicle-grid{grid-template-columns:1fr;max-width:430px;margin-inline:auto;}
  .sw-split-inner,.sw-kond-inner,.sw-hours-inner{grid-template-columns:1fr;}
  .sw-split-media{order:-1;}
  .sw-price2-grid{grid-template-columns:1fr;max-width:360px;}
}

/* ============================================================
   MOBILE AUDIT FIXES (2026-06-15) — every page, every section
   ============================================================ */

/* --- Tables: contain scroll on tablet, stacked cards on phone --- */
.tbl-scope,.price-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
@media(max-width:640px){
  .tbl-scope,.price-wrap{overflow-x:visible;border:0;background:transparent}
  .price-table{min-width:0;border:0}
  .price-table thead{display:none}
  .price-table,.price-table tbody,.price-table tr,.price-table td{display:block;width:auto}
  .price-table tbody tr{border:1px solid var(--line);border-radius:var(--r-sm);margin-bottom:14px;background:#fff;overflow:hidden}
  .price-table tbody td{display:flex;justify-content:space-between;align-items:baseline;gap:18px;padding:10px 16px;border:0;text-align:right;font-size:14px}
  .price-table tbody td:first-child{font-family:var(--serif);font-size:19px;color:var(--black);text-align:left;display:block;padding:14px 16px 10px;border-bottom:1px solid var(--line)}
  .price-table tbody td:not(:first-child)::before{content:attr(data-label);font-family:var(--nav);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--gold);text-align:left;white-space:nowrap}
  .price-table tbody td:last-child{background:transparent}
}

/* --- chauffeur: destination routes grid collapse + no clip --- */
@media(max-width:768px){.sw-destinations-grid{grid-template-columns:1fr}}
.sw-dest-card-badge,.sw-dest-card-price,.sw-dest-card-price strong{max-width:100%;white-space:normal;overflow-wrap:anywhere}

/* --- mercedes: tech grids never exceed container, collapse on phone --- */
.sw-tech-grid,.sw-tech-features-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.sw-tech-feature{min-width:0;overflow-wrap:anywhere}
@media(max-width:760px){.sw-tech-grid,.sw-tech-features-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:430px){.sw-tech-grid{grid-template-columns:1fr}}

/* --- mercedes: comparison table — readable columns that SCROLL sideways on mobile
   (3 cols crammed into 390px wrap words badly; give them real width + horizontal scroll) --- */
.sw-compare-row{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr)}
.sw-compare-cell{min-width:0}
@media(max-width:760px){
  .sw-compare-table{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .sw-compare-row{min-width:560px}
  .sw-compare-cell{padding:15px 16px;font-size:14px}
  .sw-compare-head .sw-compare-cell{padding:18px 14px}
  .sw-compare-brand{font-size:16px}
  .sw-compare-brand-sub{font-size:11px}
}

/* --- mercedes: bottom keyword links wrap instead of clipping --- */
.sw-transfer-cta-links{flex-wrap:wrap}

/* --- flughafen/limousine: "Ab 8 Personen?" callout stacks on phone --- */
@media(max-width:600px){
  .sw-fleet-extra-inner{flex-direction:column;align-items:flex-start;gap:16px;text-align:left}
  .sw-fleet-extra-text{width:100%}
  .sw-fleet-extra-btn{align-self:stretch;text-align:center}
}

/* --- bus-bis-20: fleet card size label is a <div> (not h3) → force white --- */
.sw-fleet-card .sw-fleet-card-title{color:#fff}

/* --- booking wizard (chauffeur-buchen): the SWIVON Booking plugin owns its layout
   entirely (great on live). The theme intentionally adds NO rules for it. --- */

/* ============================================================
   RESPONSIVE TYPE SYSTEM (2026-06-15) — fluid headings, site-wide.
   Every section/page heading uses clamp() tokens so it ADAPTS to
   mobile automatically (no per-component @media needed). Font is
   always Cormorant Garamond. Hierarchy:
     home hero H1      → --fs-display
     page/service H1   → --fs-h1
     page section H2   → --fs-h2  (Home sec-head etc.)
     widget title      → --fs-h2c (the .sw-*-title)
     small sub-heading → --fs-h2s
   OPT OUT only for an intentional special case: set a font-size with
   higher specificity AFTER this block.
   ============================================================ */
.hero h1{font-size:var(--fs-display)}
.shero h1,.sbuchen-head h1{font-size:var(--fs-h1)}
.sw-services-title,.sw-fleet-title,.sw-transfer-routes-title,.sw-hotels-title,.sw-why-title,
.sw-destinations-title,.sw-preise-title,.sw-seo-v-title,.sw-transfer-cta-title,.reviews-title,
.sw-vehicle-head h2,.sw-split-text h2,.sw-hours-text h2{font-size:var(--fs-h2c)}
/* component titles that were set with !important need !important to be overridden */
.sw-tech-title,.sw-compare-title,.sw-intro-title{font-size:var(--fs-h2c) !important}
.sw-tech-features-title{font-size:var(--fs-h2s) !important}

/* ============================================================
   BLOG — Infos & Ratgeber (CPT info): archive + single article
   ============================================================ */
.blog-archive,.article-single{background:#fff}
.blog-wrap{width:min(var(--wrap),calc(100% - 2*var(--gutter)));margin-inline:auto}
.blog-cat{display:inline-block;font-family:var(--nav);font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#8a6a1e}

/* ---- dramatic dark masthead ---- */
.blog-masthead{position:relative;overflow:hidden;text-align:center;background:#0c0c0c;padding:clamp(74px,11vw,150px) 0 clamp(60px,9vw,116px)}
.blog-masthead::before{content:'';position:absolute;inset:0;background:radial-gradient(132% 92% at 50% -22%,rgba(201,168,76,.17),transparent 56%);pointer-events:none}
.blog-masthead::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(201,168,76,.42),transparent)}
.blog-masthead .blog-wrap{position:relative}
.blog-eyebrow{display:inline-block;font-family:var(--nav);font-size:12px;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:18px}
.blog-eyebrow-link{text-decoration:none;transition:opacity .2s}
.blog-eyebrow-link::before{content:'‹ ';opacity:.7}
.blog-eyebrow-link:hover{opacity:.62}
.blog-title{font-family:var(--serif);font-size:clamp(38px,5.2vw,72px);font-weight:600;color:#f5f2eb;margin:0 0 18px;line-height:1.04;letter-spacing:.5px}
.blog-intro{font-family:var(--nav);font-size:var(--fs-lead);color:rgba(245,242,235,.62);max-width:58ch;margin:0 auto;line-height:1.66}

/* ---- sticky category filter ---- */
.blog-filter{border-bottom:1px solid #ececec;position:sticky;top:82px;z-index:30;background:#fff}
/* logged-in: the sticky category bar must sit below the main header, which itself is offset by the
   WP admin bar (header = adminbar + 82). On phones (<=600px) the admin bar scrolls away (header top:0). */
body.admin-bar .blog-filter{top:114px}
@media screen and (max-width:782px){body.admin-bar .blog-filter{top:128px}}
@media screen and (max-width:600px){body.admin-bar .blog-filter{top:82px}}
@media screen and (max-width:560px){body.admin-bar .blog-filter{top:64px}}
.blog-filter-row{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 30px;padding:16px 0}
.blog-fbtn{display:inline-block;text-decoration:none;background:none;border:0;cursor:pointer;font-family:var(--nav);font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#8a8a8a;padding:7px 1px;position:relative;transition:color .2s;white-space:nowrap}
.blog-fbtn::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--gold);transform:scaleX(0);transition:transform .25s var(--ease)}
.blog-fbtn:hover{color:var(--black)}
.blog-fbtn.is-active{color:var(--black)}
.blog-fbtn.is-active::after{transform:scaleX(1)}

/* ---- featured lead (cover story) ---- */
.blog-lead{position:relative;display:grid;grid-template-columns:1.15fr .85fr;align-items:stretch;margin:clamp(40px,5.5vw,72px) 0;text-decoration:none;border:1px solid #ececec;border-radius:22px;overflow:hidden;background:#fff;transition:box-shadow .45s var(--ease),transform .45s var(--ease)}
.blog-lead:hover{box-shadow:0 34px 74px -38px rgba(12,12,12,.34);transform:translateY(-3px)}
.blog-lead-media{position:relative;overflow:hidden;min-height:clamp(280px,34vw,440px)}
.blog-lead-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .85s cubic-bezier(.16,1,.3,1)}
.blog-lead:hover .blog-lead-media img{transform:scale(1.05)}
.blog-lead-body{display:flex;flex-direction:column;justify-content:center;padding:clamp(28px,3.6vw,58px)}
.blog-lead-fch{display:flex;align-items:center;gap:12px;font-family:var(--nav);font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:18px}
.blog-lead-fch::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,rgba(201,168,76,.5),transparent)}
.blog-lead-cat{font-family:var(--nav);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#8a6a1e;margin-bottom:13px}
.blog-lead-h{font-family:var(--serif);font-size:clamp(28px,3.4vw,46px);font-weight:600;color:var(--black);line-height:1.1;margin:0 0 16px;transition:color .25s}
.blog-lead:hover .blog-lead-h{color:#8a6a1e}
.blog-lead-ex{font-family:var(--nav);font-size:16px;line-height:1.72;color:#5a5a5a;margin:0 0 26px}
.blog-lead-foot{display:flex;align-items:center;gap:12px;font-family:var(--nav);font-size:12.5px;letter-spacing:.04em;color:#9a9a9a}
.blog-lead-foot .blog-dot{color:#cfcabd}
.blog-readmore{display:inline-flex;align-items:center;gap:8px;margin-left:auto;color:var(--gold);font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-size:11.5px}
.blog-readmore .ar{transition:transform .3s var(--ease)}
.blog-lead:hover .blog-readmore .ar{transform:translateX(5px)}

/* ---- section label ---- */
.blog-seclabel{display:flex;align-items:center;gap:16px;font-family:var(--nav);font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#9a9a9a;margin:clamp(18px,3vw,34px) 0 clamp(22px,2.6vw,32px)}
.blog-seclabel::after{content:'';flex:1;height:1px;background:#ececec}

/* ---- modern card grid ---- */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(30px,3vw,48px) clamp(24px,2.4vw,36px);padding-bottom:clamp(64px,9vw,104px)}
.blog-card{position:relative;text-decoration:none;display:flex;flex-direction:column;transition:transform .4s var(--ease)}
.blog-card:hover{transform:translateY(-5px)}
.blog-card-media{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:3/2;background:#f0ede8}
.blog-card-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.16,1,.3,1)}
.blog-card:hover .blog-card-media img{transform:scale(1.06)}
.blog-card-tag{position:absolute;left:12px;bottom:12px;background:rgba(12,12,12,.82);color:var(--gold);font-family:var(--nav);font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:7px 13px;border-radius:999px}
/* branded placeholder when a post has no featured image */
.blog-ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#161616,#0a0a0a)}
.blog-ph span{font-family:var(--serif);font-weight:600;letter-spacing:.3em;color:var(--gold);opacity:.82;font-size:clamp(18px,1.8vw,26px);padding-left:.3em}
.blog-lead-media .blog-ph span{font-size:clamp(24px,2.6vw,40px)}
.blog-card-body{display:flex;flex-direction:column;flex:1;padding-top:18px}
.blog-card-h{font-family:var(--serif);font-size:clamp(20px,1.55vw,23px);font-weight:600;color:var(--black);line-height:1.22;margin:0 0 10px;transition:color .25s}
.blog-card:hover .blog-card-h{color:#8a6a1e}
.blog-card-ex{font-family:var(--nav);font-size:14px;line-height:1.62;color:#6b6b6b;margin:0 0 18px;flex:1}
.blog-card-foot{display:flex;align-items:center;justify-content:space-between;padding-top:13px;border-top:1px solid #eceae4;font-family:var(--nav);font-size:11.5px;letter-spacing:.04em;color:#a0a0a0}
.blog-card-arrow{color:var(--gold);font-size:15px;transition:transform .3s var(--ease)}
.blog-card:hover .blog-card-arrow{transform:translateX(5px)}
.blog-empty{text-align:center;color:#8a8a8a;padding:40px 0;font-family:var(--nav)}
.blog-tax .blog-grid{padding-top:clamp(40px,5.5vw,68px);padding-bottom:clamp(48px,6vw,84px)}
.blog-pagination{display:flex;justify-content:center;gap:8px;padding-bottom:clamp(56px,8vw,96px)}
.blog-pagination .page-numbers{font-family:var(--nav);font-size:14px;font-weight:600;color:#6b6b6b;text-decoration:none;min-width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #e4e1da;border-radius:var(--r-sm);transition:border-color .2s,color .2s,background .2s}
.blog-pagination .page-numbers:hover{border-color:var(--gold);color:var(--black)}
.blog-pagination .page-numbers.current{background:var(--black);border-color:var(--black);color:var(--cream)}
.blog-pagination .page-numbers.dots{border:0}

/* === SINGLE ARTICLE === */
.article-wrap{width:min(760px,calc(100% - 2*var(--gutter)));margin-inline:auto}
.article-head{text-align:left;padding:clamp(38px,6vw,68px) 0 clamp(20px,3vw,30px)}
.article-back{display:inline-block;font-family:var(--nav);font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#9a9a9a;margin-bottom:22px;transition:color .2s}
.article-back:hover{color:var(--gold)}
.article-h1{font-family:var(--serif);font-size:clamp(30px,4vw,52px);font-weight:600;color:var(--black);line-height:1.08;margin:0;max-width:26ch}
.article-meta{display:flex;align-items:center;justify-content:center;gap:12px;font-family:var(--nav);font-size:13px;letter-spacing:.04em;color:#9a9a9a;margin-top:18px}
.article-meta .dot{color:#ccc}
.article-hero{padding:0 0 clamp(34px,5vw,52px)}
/* hero shares the body's .article-wrap measure (760px) — was 1080px, which made the image
   ~200px wider than the text body and read as a misalignment. Now aligned. */
.article-hero img{width:100%;height:auto;border-radius:var(--r-img);aspect-ratio:3/2;object-fit:cover;display:block}

/* article body typography (post_content) */
.article-body{font-family:var(--nav);font-size:17px;line-height:1.8;color:#2c2a26;padding-bottom:clamp(48px,7vw,80px)}
.article-body h2{font-family:var(--serif);font-size:clamp(25px,2.6vw,34px);font-weight:600;color:var(--black);line-height:1.18;margin:1.7em 0 .55em}
.article-body h3{font-family:var(--serif);font-size:clamp(21px,2vw,26px);font-weight:600;color:var(--black);margin:1.45em 0 .5em}
.article-body p{margin:0 0 1.2em}
.article-body a{color:#a07d22;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.article-body a:hover{color:var(--gold)}
.article-body strong{color:var(--black);font-weight:600}
.article-body ul,.article-body ol{margin:0 0 1.3em;padding-left:1.3em}
.article-body li{margin:0 0 .5em}
.article-body ul li::marker{color:var(--gold)}
.article-body blockquote{border-left:3px solid var(--gold);margin:1.6em 0;padding:.2em 0 .2em 24px;font-family:var(--serif);font-size:1.3em;font-style:italic;color:#3a3833}
.article-body img{border-radius:var(--r-card);height:auto;margin:1.6em auto}
.article-body table{width:100%;border-collapse:collapse;font-size:15px;margin:1.7em 0}
.article-body thead th{background:var(--black);color:var(--cream);font-family:var(--nav);font-size:11px;letter-spacing:.06em;text-transform:uppercase;font-weight:600;text-align:left;padding:13px 16px}
.article-body tbody td{padding:13px 16px;border-top:1px solid #ececec;color:#3a3833}
.article-body tbody td:first-child{font-weight:600;color:var(--black)}
.article-body tbody tr:nth-child(even){background:#faf8f3}

/* related */
.article-related{padding:clamp(46px,6vw,70px) 0 clamp(60px,8vw,92px);border-top:1px solid #f0ede8}
.article-related .article-wrap{width:min(var(--wrap),calc(100% - 2*var(--gutter)))}
.article-related-h{font-family:var(--serif);font-size:clamp(24px,2.4vw,32px);font-weight:600;color:var(--black);text-align:center;margin:0 0 clamp(28px,3.5vw,42px)}
.article-related .blog-grid{padding-bottom:0}

@media(max-width:900px){
  .blog-lead{grid-template-columns:1fr}
  .blog-lead-media{min-height:0;aspect-ratio:16/10}
  .blog-grid,.article-related .blog-grid{grid-template-columns:1fr 1fr;gap:clamp(26px,4vw,40px) clamp(20px,3vw,30px)}
}
@media(max-width:600px){
  .blog-grid,.article-related .blog-grid{grid-template-columns:1fr;max-width:420px;margin-inline:auto}
  .blog-filter-row{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;gap:22px;-webkit-overflow-scrolling:touch;padding-inline:2px}
  .article-body{font-size:16px}
}
@media(max-width:560px){.blog-filter{top:64px}}
/* article tables → stacked cards on phone (data-label pattern) */
@media(max-width:640px){
  .article-body thead{display:none}
  .article-body table,.article-body tbody,.article-body tr,.article-body td{display:block;width:auto}
  .article-body tbody tr{border:1px solid #e4e1da;border-radius:var(--r-sm);margin-bottom:14px;background:#fff;overflow:hidden}
  .article-body tbody td{display:flex;justify-content:space-between;gap:16px;padding:10px 14px;border:0;text-align:right;font-size:14px}
  .article-body tbody td:first-child{font-family:var(--serif);font-size:18px;text-align:left;border-bottom:1px solid #ececec;padding:13px 14px 9px;display:block}
  .article-body tbody td:not(:first-child)::before{content:attr(data-label);font-family:var(--nav);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--gold);text-align:left}
  .article-body tbody tr:nth-child(even){background:#fff}
}

/* ============================================================
   ROUTEN — single route (CPT `route`): premium transfer landing page
   hero (route-line + facts) · trust band · 2-col body + sticky booking · price · FAQ · CTA · region
   ============================================================ */
.route-single{background:#fdfcfa;color:var(--black)}
.rt-h2{font-family:var(--serif);font-weight:600;font-size:clamp(25px,2.6vw,33px);line-height:1.16;color:var(--black);margin:0 0 16px}

/* ---- hero (dark) ---- */
.rt-hero{position:relative;background:#0c0c0c;color:var(--cream);overflow:hidden;isolation:isolate}
.rt-hero.has-img::before{content:'';position:absolute;inset:0;z-index:0;background:var(--rt-img) center 32%/cover no-repeat}
.rt-hero::after{content:'';position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,rgba(8,8,7,.74),rgba(8,8,7,.93)),radial-gradient(120% 90% at 82% 4%,rgba(201,168,76,.16),transparent 58%)}
.rt-hero:not(.has-img)::before{content:'';position:absolute;z-index:0;background:var(--mb-star) center/contain no-repeat;width:min(40vw,440px);aspect-ratio:1;right:-5%;bottom:-20%;opacity:.06}
.rt-hero-inner{position:relative;z-index:1;width:min(var(--wrap),calc(100% - 2*var(--gutter)));margin-inline:auto;padding:clamp(28px,4.5vw,48px) 0 clamp(40px,6vw,66px)}
.rt-bc{font-family:'DM Sans',var(--nav);font-size:12px;letter-spacing:.04em;color:rgba(245,242,235,.58);margin-bottom:clamp(22px,3.4vw,34px)}
.rt-bc a{color:rgba(245,242,235,.58);transition:color .2s}
.rt-bc a:hover{color:var(--gold)}
.rt-bc span{color:var(--gold);margin:0 8px}
.rt-bc em{font-style:normal;color:rgba(245,242,235,.85)}
.rt-eyebrow{font-family:'DM Sans',var(--nav);font-size:11px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:18px}

/* route line: Zürich Flughafen ●━━[car]━━● Davos */
.rt-route{display:flex;align-items:center;gap:clamp(12px,1.8vw,20px);margin:0 0 24px;max-width:720px}
.rt-route-pt{display:flex;align-items:center;gap:11px;flex:0 0 auto;flex-direction:row-reverse}
.rt-route-pt--end{flex-direction:row}
.rt-route-dot{width:11px;height:11px;border-radius:50%;border:2px solid var(--gold);background:rgba(201,168,76,.2);flex:0 0 auto}
.rt-route-pl{font-family:var(--nav);font-size:clamp(12px,1.3vw,14px);font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:#efeae0;white-space:nowrap}
.rt-route-link{flex:1;position:relative;height:1px;min-width:44px;background:linear-gradient(90deg,rgba(201,168,76,.14),rgba(201,168,76,.6),rgba(201,168,76,.14))}
.rt-route-ico{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:56px;height:31px;display:grid;place-items:center;background:rgba(12,12,11,.9);border:1px solid rgba(201,168,76,.5);border-radius:999px;color:var(--gold)}
.rt-route-ico svg{width:30px;height:auto;display:block}
.rt-h1{font-family:var(--serif);font-weight:700;font-size:clamp(33px,4.7vw,58px);line-height:1.07;letter-spacing:.4px;color:#fbfaf7;margin:0 0 16px;max-width:18ch}
.rt-lead{font-family:var(--nav);font-size:clamp(15px,1.45vw,18px);line-height:1.6;color:rgba(240,237,230,.82);max-width:54ch;margin:0}
.rt-stats{display:flex;flex-wrap:wrap;gap:clamp(26px,4vw,54px);margin-top:30px;padding-top:26px;border-top:1px solid rgba(255,255,255,.12)}
.rt-stat-n{display:block;font-family:var(--serif);font-weight:600;font-size:clamp(26px,3vw,38px);color:var(--gold);line-height:1}
.rt-stat-n small{font-family:var(--nav);font-size:.4em;font-weight:600;color:rgba(245,242,235,.72);letter-spacing:.03em}
.rt-stat-l{display:block;margin-top:8px;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#9a948a}
.rt-hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}
.rt-hero-cta .b-phone svg{width:16px;height:16px;stroke:currentColor}

/* ---- trust band (dark, continues hero) ---- */
.rt-trust{background:#15140f;border-top:1px solid rgba(201,168,76,.12);border-bottom:1px solid rgba(0,0,0,.4)}
.rt-trust-list{list-style:none;margin:0;width:min(var(--wrap),calc(100% - 2*var(--gutter)));margin-inline:auto;padding:17px 0;display:flex;flex-wrap:wrap;gap:13px clamp(20px,3vw,38px)}
.rt-trust-list li{display:flex;align-items:center;gap:9px;font-family:var(--nav);font-size:13px;font-weight:500;color:#cfcabd}
.rt-trust-ico{width:18px;height:18px;display:grid;place-items:center;border-radius:50%;background:rgba(201,168,76,.16);color:var(--gold);flex:0 0 auto}
.rt-trust-ico svg{width:11px;height:11px}

/* ---- two-column body ---- */
.rt-wrap{width:min(var(--wrap),calc(100% - 2*var(--gutter)));margin-inline:auto;display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:clamp(32px,4vw,60px);align-items:stretch;padding:clamp(40px,6vw,72px) 0}
.rt-aside{height:100%}
.rt-main{min-width:0}
.rt-block{margin-top:clamp(40px,5vw,58px)}

/* prose (the_content) */
.swv-body{font-family:var(--nav);font-size:17px;line-height:1.8;color:#2c2a26}
.swv-body>:first-child{margin-top:0}
.swv-body p{font-size:17px;color:#3a3833;margin:0 0 1.1em}
.swv-body h2{font-family:var(--serif);font-weight:600;font-size:clamp(25px,2.6vw,33px);line-height:1.16;color:var(--black);margin:clamp(34px,4vw,50px) 0 14px}
.swv-body h3{font-family:var(--serif);font-weight:600;font-size:clamp(20px,1.9vw,24px);color:var(--black);margin:28px 0 10px}
.swv-body ul,.swv-body ol{margin:0 0 1.15em;padding-left:1.25em}
.swv-body li{margin:0 0 .5em;color:#3a3833}
.swv-body strong{color:var(--black);font-weight:600}
.swv-body a{color:var(--gold-d);text-decoration:underline;text-underline-offset:3px}
.swv-body img{border-radius:var(--r-img,16px);margin:1.4em 0;max-width:100%;height:auto}
/* content figures: NEVER full-width (slightly narrower than the section), centered, with caption */
.swv-body figure{margin:2em auto;max-width:82%}
.swv-body figure.swv-fig--portrait{max-width:430px}
.swv-body figure img{display:block;width:100%;height:auto;margin:0;border-radius:var(--r-img,16px)}
.swv-body figcaption{margin-top:.65em;font-family:var(--nav);font-size:13px;line-height:1.5;color:#8a8a8a;text-align:center;font-style:italic}
@media(max-width:560px){.swv-body figure{max-width:100%}}
.swv-body .swv-cta-inline{margin:1.6em 0 .3em}
.swv-body .swv-cta-inline .b-buchen{display:inline-block;text-decoration:none}
.swv-body ol li{margin:0 0 .55em}

/* price table */
.swv-price{width:100%;border-collapse:collapse;margin:0;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}
.swv-price th,.swv-price td{padding:14px 18px;text-align:left;border-bottom:1px solid var(--line);font-size:15px}
.swv-price thead th{font-family:'DM Sans',var(--nav);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--black);background:#faf6ea}
.swv-price td:last-child,.swv-price th:last-child{text-align:right;font-weight:600;color:var(--black)}
.swv-price tbody tr:last-child td{border-bottom:none}
.swv-price td:first-child{font-weight:600;color:var(--black)}
.swv-note{font-family:var(--nav);font-size:13px;color:#8a8a8a;margin-top:12px}

/* FAQ accordion */
.swv-faq details{background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:10px;overflow:hidden;transition:border-color .2s}
.swv-faq details[open]{border-color:rgba(201,168,76,.45)}
.swv-faq summary{cursor:pointer;list-style:none;padding:16px 20px;font-family:var(--serif);font-size:20px;font-weight:600;color:var(--black);display:flex;justify-content:space-between;gap:16px;align-items:center}
.swv-faq summary::-webkit-details-marker{display:none}
.swv-faq summary::after{content:'+';color:var(--gold);font-size:24px;line-height:1;font-family:var(--nav)}
.swv-faq details[open] summary::after{content:'–'}
.swv-faq p{padding:0 20px 16px;margin:0;color:#5a5a5a;font-size:15px;line-height:1.7}

/* ---- sticky booking card (aside) ---- */
.rt-book{position:sticky;top:104px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px 24px;box-shadow:0 26px 54px -34px rgba(20,16,8,.4)}
body.admin-bar .rt-book{top:136px}
.rt-book-ey{font-family:'DM Sans',var(--nav);font-size:10px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:12px}
.rt-book-route{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-family:var(--serif);font-size:21px;font-weight:600;color:var(--black);line-height:1.2}
.rt-book-route i{color:var(--gold);font-style:normal;font-size:18px}
.rt-book-price{font-family:var(--serif);font-weight:700;font-size:34px;color:var(--black);margin:16px 0 2px;line-height:1}
.rt-book-price small{font-family:var(--nav);font-size:13px;font-weight:600;color:#8a8a8a}
.rt-book-price--req{font-size:23px;color:#3a3833}
.rt-book-note{font-family:var(--nav);font-size:11.5px;color:#9a958c;margin:5px 0 0;letter-spacing:.01em}
.rt-book-cls{list-style:none;margin:16px 0 0;padding:14px 0 0;border-top:1px solid var(--line)}
.rt-book-cls li{display:flex;justify-content:space-between;gap:12px;align-items:baseline;font-family:var(--nav);font-size:14px;color:#3a3833;padding:6px 0}
.rt-book-cls em{font-style:normal;color:#a09a8e;font-size:12px}
.rt-book-cls b{font-weight:600;color:var(--black);white-space:nowrap}
.rt-book-btn{display:block;text-align:center;margin-top:20px;width:100%}
.rt-book-wa{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:10px;padding:13px;border-radius:999px;border:1px solid var(--line);font-family:var(--nav);font-size:13px;font-weight:600;letter-spacing:.04em;color:#2c2a26;transition:border-color .2s,color .2s}
.rt-book-wa:hover{border-color:var(--gold);color:var(--gold-d)}
.rt-book-trust{list-style:none;margin:18px 0 0;padding:16px 0 0;border-top:1px solid var(--line);display:grid;gap:9px}
.rt-book-trust li{display:flex;align-items:center;gap:9px;font-family:var(--nav);font-size:12.5px;color:#5a5a5a}
.rt-book-trust svg{width:13px;height:13px;color:var(--gold);flex:0 0 auto}

/* ---- closing CTA (dark) ---- */
.rt-cta{background:#0c0c0c;color:var(--cream);position:relative;overflow:hidden}
.rt-cta::before{content:'';position:absolute;background:var(--mb-star) center/contain no-repeat;width:min(34vw,330px);aspect-ratio:1;right:2%;bottom:-22%;opacity:.06;pointer-events:none}
.rt-cta-inner{position:relative;z-index:1;max-width:740px;margin-inline:auto;padding:clamp(48px,7vw,84px) var(--gutter);text-align:center}
.rt-eyebrow--dark{color:var(--gold)}
.rt-cta h2{font-family:var(--serif);font-weight:700;font-size:clamp(28px,3.6vw,44px);color:var(--cream);margin:12px 0 14px;line-height:1.1}
.rt-cta p{font-family:var(--nav);font-size:16px;color:rgba(245,242,235,.7);margin:0 auto 26px;max-width:52ch}
.rt-cta-btns{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
.rt-mail-btn{text-transform:none;letter-spacing:.02em}
.rt-contact-mail{margin:18px 0 0}
.rt-contact-mail a{font-family:var(--nav);font-size:14px;color:var(--gold);text-decoration:none;border-bottom:1px solid rgba(201,168,76,.4);transition:color .2s,border-color .2s}
.rt-contact-mail a:hover{color:#e6cd7e;border-color:#e6cd7e}

/* ── /routen/ hub (archive-route.php) ── */
.route-hub{background:#fdfcfa;color:var(--black)}
.hub-wrap{width:min(var(--wrap),calc(100% - 2*var(--gutter)));margin-inline:auto;padding:clamp(40px,6vw,72px) 0}
.hub-sec{margin:0 0 clamp(34px,5vw,54px);max-width:820px}
.hub-sec .rt-h2{margin-bottom:16px}
.hub-sec p{font-family:var(--nav);font-size:17px;line-height:1.75;color:#3a3833;margin:0 0 1em}
.hub-sec strong{color:var(--black);font-weight:600}
.hub-steps{list-style:none;counter-reset:hub;margin:0;padding:0;display:grid;gap:12px}
.hub-steps li{counter-increment:hub;position:relative;padding:14px 18px 14px 56px;background:#fff;border:1px solid var(--line);border-radius:14px;font-family:var(--nav);font-size:15.5px;color:#3a3833}
.hub-steps li::before{content:counter(hub);position:absolute;left:16px;top:50%;transform:translateY(-50%);width:28px;height:28px;display:grid;place-items:center;background:var(--gold);color:#0c0c0c;border-radius:50%;font-family:var(--serif);font-weight:700;font-size:15px}
.hub-fleet{list-style:none;margin:0 0 1em;padding:0;display:grid;gap:10px}
.hub-fleet li{padding:14px 18px;background:#fff;border:1px solid var(--line);border-radius:12px;font-family:var(--nav);font-size:15px;color:#3a3833}
.hub-fleet strong{color:var(--black)}
.hub-pop{margin:8px 0 30px}
.hub-pop-h{display:block;font-family:'DM Sans',var(--nav);font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:12px}
.hub-pop-list{display:flex;flex-wrap:wrap;gap:9px}
.hub-pop-list a{font-family:var(--nav);font-size:14px;color:var(--black);background:#fff;border:1px solid var(--line);border-radius:999px;padding:9px 16px;text-decoration:none;transition:border-color .2s,transform .2s}
.hub-pop-list a:hover{border-color:var(--gold);transform:translateY(-2px)}
.hub-pop-list a em{font-style:normal;color:var(--gold-d);font-weight:600;margin-left:4px}
.hub-routes{max-width:none}
.hub-region{margin:0 0 26px}
.hub-region-h{font-family:var(--serif);font-weight:600;font-size:clamp(20px,2vw,24px);color:var(--black);margin:0 0 4px}
.hub-region-intro{font-family:var(--nav);font-size:15px;color:#6b6b6b;margin:0 0 14px;max-width:70ch}
.hub-region-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:10px}
.hub-region-list a{display:flex;justify-content:space-between;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 18px;text-decoration:none;transition:border-color .2s,transform .2s,box-shadow .2s}
.hub-region-list a:hover{border-color:var(--gold);transform:translateY(-2px);box-shadow:0 14px 28px -22px rgba(20,16,8,.4)}
.hr-name{font-family:var(--nav);font-size:15px;font-weight:600;color:var(--black)}
.hr-meta{font-family:var(--nav);font-size:13px;color:var(--gold-d);white-space:nowrap;display:inline-flex;align-items:center;gap:7px}
.hr-meta i{font-style:normal;transition:transform .2s}
.hub-region-list a:hover .hr-meta i{transform:translateX(3px)}
.hub-more{font-family:var(--nav);font-size:14px;color:#8a8a8a;margin-top:18px}
.route-hub .swv-faq{max-width:820px}
@media(max-width:560px){.hub-region-list{grid-template-columns:1fr}}

/* ---- region prefooter (silo) ---- */
.rt-region{background:var(--cream);border-top:1px solid var(--line)}
.rt-region-inner{width:min(var(--wrap),calc(100% - 2*var(--gutter)));margin-inline:auto;padding:clamp(44px,6vw,72px) 0}
.rt-region-list{list-style:none;margin:22px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.rt-region-list a{display:flex;justify-content:space-between;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 20px;transition:border-color .2s,transform .2s,box-shadow .2s}
.rt-region-list a:hover{border-color:var(--gold);transform:translateY(-2px);box-shadow:0 16px 32px -24px rgba(20,16,8,.45)}
.rt-region-name{font-family:var(--nav);font-size:15px;font-weight:600;color:var(--black)}
.rt-region-meta{font-family:var(--nav);font-size:13px;font-weight:600;color:var(--gold-d);white-space:nowrap;display:inline-flex;align-items:center;gap:7px}
.rt-region-meta i{font-style:normal;transition:transform .2s}
.rt-region-list a:hover .rt-region-meta i{transform:translateX(3px)}

@media(max-width:900px){
  .rt-wrap{grid-template-columns:1fr;gap:0;padding-bottom:0}
  .rt-aside{margin-top:clamp(36px,6vw,48px)}
  .rt-book{position:static;box-shadow:none;max-width:520px}
  .route-single>.rt-wrap{padding-bottom:clamp(40px,6vw,60px)}
}
@media(max-width:640px){
  .swv-price thead{display:none}
  .swv-price,.swv-price tbody,.swv-price tr,.swv-price td{display:block;width:auto}
  .swv-price tbody tr{border:1px solid var(--line);border-radius:12px;margin-bottom:12px;overflow:hidden}
  .swv-price td{display:flex;justify-content:space-between;gap:16px;border:0;border-bottom:1px solid #f0ede6;text-align:right;font-size:14px}
  .swv-price td:last-child{border-bottom:0}
  .swv-price td::before{content:attr(data-label);font-family:'DM Sans',var(--nav);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--gold);text-align:left}
  .swv-price td:first-child{font-family:var(--serif);font-size:17px;background:#faf6ea}
  .swv-price td:first-child::before{display:none}
}
@media(max-width:560px){
  .rt-route{flex-direction:column;align-items:flex-start;gap:7px;max-width:none}
  .rt-route-pt,.rt-route-pt--end{flex-direction:row}
  .rt-route-link{width:2px;height:22px;min-width:0;margin-left:4.5px;background:rgba(201,168,76,.5)}
  .rt-route-ico{display:none}
  .rt-stats{gap:22px 34px}
  .rt-hero-cta .b-buchen,.rt-hero-cta .b-phone{flex:1 1 auto;justify-content:center;text-align:center}
}

/* article Inhaltsverzeichnis (table of contents) — single-info.php */
.info-toc{background:#faf8f3;border:1px solid #efeadd;border-radius:14px;padding:18px 24px;margin:4px 0 34px;max-width:440px}
.info-toc-h{display:block;font-family:'DM Sans',var(--nav);font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:12px}
.info-toc-list{list-style:none;margin:0;padding:0}
.info-toc-list li{margin:0 0 8px;line-height:1.45}
.info-toc-list li:last-child{margin-bottom:0}
.info-toc-list a{font-family:var(--nav);font-size:15px;color:#3a3833;text-decoration:none;transition:color .2s}
.info-toc-list a:hover{color:var(--gold)}
.info-toc-l3{padding-left:18px;position:relative}
.info-toc-l3::before{content:'–';position:absolute;left:3px;color:#cfc8b5}
/* TOC accordion: the header label toggles the whole list (collapsed by default), H2 + H3 inside */
.info-toc--acc .info-toc-h{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:0;cursor:pointer;-webkit-user-select:none;user-select:none}
.info-toc--acc .info-toc-caret{font-size:13px;line-height:1;color:var(--gold);transition:transform .25s}
.info-toc--acc .info-toc-list{display:none;margin-top:16px}
.info-toc--acc .info-toc-cb:checked ~ .info-toc-list{display:block}
.info-toc--acc .info-toc-cb:checked ~ .info-toc-h .info-toc-caret{transform:rotate(180deg)}
.info-toc-l3 a{font-size:14px;color:#6b6b6b}
.article-body h2,.article-body h3,.swv-body h2,.swv-body h3{scroll-margin-top:96px}

/* collapsible ToC (route pages: first 4 shown, rest behind a pure-CSS toggle) */
.info-toc--collapse .info-toc-extra{display:none}
.info-toc-cb:checked ~ .info-toc-list .info-toc-extra{display:list-item}
.info-toc-toggle{display:inline-flex;align-items:center;gap:7px;margin-top:14px;cursor:pointer;font-family:var(--nav);font-size:13px;font-weight:600;letter-spacing:.03em;color:var(--gold);user-select:none;transition:color .2s}
.info-toc-toggle:hover{color:#b08f33}
.info-toc-toggle::after{content:'';width:6px;height:6px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .25s var(--ease,ease)}
.info-toc-cb:checked ~ .info-toc-toggle::after{transform:translateY(1px) rotate(-135deg)}
.info-toc-toggle .t-less{display:none}
.info-toc-cb:checked ~ .info-toc-toggle .t-more{display:none}
.info-toc-cb:checked ~ .info-toc-toggle .t-less{display:inline}

/* ── Reisen hub: value props + curated category cards ───────────────────── */
.reise-intro > p{max-width:64ch;color:#4a4a44;line-height:1.62}
.reise-props{list-style:none;margin:26px 0 0;padding:0;display:grid;gap:16px;grid-template-columns:repeat(3,1fr)}
.reise-props li{display:flex;flex-direction:column;gap:7px;padding:22px 24px;background:#fff;border:1px solid var(--line);border-radius:var(--r-card)}
.reise-props strong{font-family:var(--serif);font-weight:600;font-size:1.34rem;color:var(--black);line-height:1.15}
.reise-props span{color:#5b5b52;font-size:.95rem;line-height:1.55}
.reise-cats{margin-top:26px;display:grid;gap:22px;grid-template-columns:repeat(2,1fr)}
.reise-cat{position:relative;display:block;min-height:320px;border-radius:var(--r-card);overflow:hidden;isolation:isolate;color:var(--cream);text-decoration:none;box-shadow:0 18px 46px -26px rgba(0,0,0,.55)}
.reise-cat-media{position:absolute;inset:0;z-index:0;background:var(--rc-img) center/cover no-repeat;transition:transform 1s var(--ease,cubic-bezier(.16,1,.3,1))}
.reise-cat::after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(8,8,7,.05) 30%,rgba(8,8,7,.85))}
.reise-cat:hover .reise-cat-media{transform:scale(1.06)}
.reise-cat-body{position:relative;z-index:2;display:flex;flex-direction:column;gap:7px;height:100%;justify-content:flex-end;padding:28px}
.reise-cat-kicker{font-family:'Manrope',sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.reise-cat-h{font-family:var(--serif);font-weight:600;font-size:clamp(26px,2.6vw,34px);line-height:1.08}
.reise-cat-blurb{font-size:.96rem;line-height:1.5;color:rgba(245,241,232,.86);max-width:34ch}
.reise-cat-arrow{margin-top:6px;font-size:1.25rem;color:var(--gold);transition:transform .4s var(--ease,ease)}
.reise-cat:hover .reise-cat-arrow{transform:translateX(7px)}
.reise-latest .blog-grid{margin-top:26px}
@media(max-width:820px){.reise-props{grid-template-columns:1fr}.reise-cats{grid-template-columns:1fr}.reise-cat{min-height:260px}}

/* ── Reisen hero (bespoke centered cinematic — distinct from the route hub) ─ */
.rh-hero{position:relative;isolation:isolate;overflow:hidden;background:#0c0c0c;color:var(--cream);text-align:center}
.rh-hero::before{content:'';position:absolute;inset:0;z-index:0;background:var(--rh-img) center/cover no-repeat;transform:scale(1.03)}
.rh-hero::after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(8,8,7,.46),rgba(8,8,7,.34) 40%,rgba(8,8,7,.8)),radial-gradient(120% 80% at 50% -8%,rgba(201,168,76,.18),transparent 60%)}
.rh-hero-inner{position:relative;z-index:2;width:min(var(--wrap),calc(100% - 2*var(--gutter)));margin-inline:auto;padding:clamp(66px,13vh,158px) 0 clamp(58px,10vh,124px);display:flex;flex-direction:column;align-items:center;gap:16px}
.rh-eyebrow{font-family:'Manrope',sans-serif;font-size:.74rem;font-weight:600;letter-spacing:.34em;text-transform:uppercase;color:var(--gold)}
.rh-h1{font-family:var(--serif);font-weight:600;font-size:clamp(40px,5.8vw,74px);line-height:1.05;letter-spacing:.4px;margin:0;max-width:17ch}
.rh-lead{font-size:clamp(1rem,1.35vw,1.18rem);line-height:1.6;color:rgba(245,241,232,.86);max-width:52ch;margin:2px 0 0}
.rh-cta{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:18px}
.rh-cta .rh-phone{color:var(--cream);border-color:rgba(245,241,232,.4)}
@media(max-width:600px){.rh-cta .b-buchen,.rh-cta .rh-phone{flex:1 1 auto;justify-content:center;text-align:center}}

/* ── Reisen destination showcase tiles (category pages) ─────────────────── */
.reise-dest-sec{margin-top:clamp(20px,3vw,34px)}
.reise-dest-h{margin-bottom:18px}
.reise-dest{display:grid;gap:18px;grid-template-columns:repeat(3,1fr)}
.rd-tile{position:relative;display:block;aspect-ratio:4/5;border-radius:var(--r-card);overflow:hidden;isolation:isolate;color:var(--cream);text-decoration:none;box-shadow:0 16px 40px -24px rgba(0,0,0,.55)}
.rd-tile-img{position:absolute;inset:0;z-index:0;background:var(--rd-img) center/cover no-repeat;transition:transform .9s var(--ease,cubic-bezier(.16,1,.3,1))}
.rd-tile::after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(8,8,7,0) 34%,rgba(8,8,7,.82))}
.rd-tile:hover .rd-tile-img{transform:scale(1.07)}
.rd-tile-body{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:flex-end;gap:4px;padding:20px}
.rd-tile-name{font-family:var(--serif);font-weight:600;font-size:1.55rem;line-height:1.06}
.rd-tile-kicker{font-family:'Manrope',sans-serif;font-size:.74rem;letter-spacing:.03em;color:rgba(245,241,232,.82)}
@media(max-width:820px){.reise-dest{grid-template-columns:1fr 1fr}.rd-tile-name{font-size:1.35rem}}
@media(max-width:520px){.reise-dest{grid-template-columns:1fr}.rd-tile{aspect-ratio:16/10}}

/* Reisen hub: sections are visual (card grids), so use the full wrap width — not the
   820px reading column the route hub uses for prose (which left-aligned everything). */
.reise-hub .hub-sec{max-width:none}
.reise-hub .reise-intro > p{max-width:64ch}

/* Category cinematic hero (reuses .rh-hero; a touch shorter than the hub hero) */
.cat-hero .rh-hero-inner{padding:clamp(52px,9vh,116px) 0}

/* ── Ratgeber editorial article (single-info) — SWIVON brand ───────────── */
.article-eyebrow{display:block;font-family:'Manrope',sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
.article-eyebrow-dot{opacity:.5;margin:0 3px}
.article-h1 em{font-style:italic;color:var(--gold)}
.article-byline{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:12px;margin-top:20px;font-family:'Manrope',sans-serif;font-size:.9rem;color:#6a665c}
.article-byline .blog-cat{display:inline-block;margin:0}
.article-byline-author{font-weight:600;color:var(--black)}
.article-byline .dot{opacity:.45}
.article-hero img{border-radius:16px}
.article-body{counter-reset:swvsec}
.article-body h2{counter-increment:swvsec}
.article-body h2::before{content:counter(swvsec,decimal-leading-zero);display:block;font-family:'Manrope',sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.22em;color:var(--gold);margin-bottom:8px}
.article-body blockquote{margin:34px 0;padding:4px 0 4px 26px;border-left:3px solid var(--gold);font-family:var(--serif);font-style:italic;font-size:clamp(22px,2.4vw,30px);line-height:1.34;color:var(--black)}
.article-body blockquote p{margin:0}
.swv-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:36px 0;text-align:center}
.swv-stats > div{padding:24px 16px;border:1px solid var(--line);border-radius:16px;background:#fbfaf6}
.swv-stats b{display:block;font-family:var(--serif);font-weight:600;font-size:clamp(30px,3.6vw,44px);line-height:1;color:var(--black)}
.swv-stats span{display:block;margin-top:8px;font-family:'Manrope',sans-serif;font-size:.76rem;letter-spacing:.06em;text-transform:uppercase;color:#6a665c}
.swv-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:30px 0}
.swv-pair img{width:100%;height:100%;object-fit:cover;border-radius:14px}
.article-tags{display:flex;flex-wrap:wrap;gap:10px;margin:42px 0 0}
.article-tag{font-family:'Manrope',sans-serif;font-size:.82rem;color:#5b574d;background:#f4efe3;border:1px solid #ece4d3;border-radius:999px;padding:7px 16px;text-decoration:none;transition:background .2s,color .2s}
a.article-tag:hover{background:var(--gold);color:#0c0c0c}
.article-author{display:flex;gap:18px;align-items:flex-start;margin:34px 0 clamp(40px,6vw,56px);padding:26px;border:1px solid var(--line);border-radius:18px;background:#fbfaf6}
.article-author-av{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:var(--gold);color:#0c0c0c;font-family:var(--serif);font-weight:600;font-size:1.5rem}
.article-author-label{display:block;font-family:'Manrope',sans-serif;font-size:.66rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin:0 0 7px}
.article-author-name{display:block;font-family:var(--serif);font-size:1.3rem;font-weight:600;color:var(--black);line-height:1.1;margin:0 0 8px}
.article-author-bio{margin:0;font-size:.96rem;line-height:1.6;color:#54504a}
/* ── editorial polish: lead paragraph, drop cap, figures, dividers, rhythm ── */
.article-body > *:first-child{margin-top:0}
/* standfirst: the opening paragraph reads as a lead, with a serif drop cap */
.article-body > p:first-of-type{font-size:1.2em;line-height:1.6;color:#3a3833}
.article-body > p:first-of-type::first-letter{float:left;font-family:var(--serif);font-weight:600;font-size:3.4em;line-height:.8;color:var(--gold);margin:.04em .12em 0 0}
/* generous air above each numbered section — the single biggest "editorial" signal */
.article-body h2{margin-top:clamp(2.1em,5vw,2.9em)}
/* captioned figures (block editor <figure> or classic <p><img>) */
.article-body figure{margin:2.4em 0;text-align:center}
.article-body figure > img{width:100%;margin:0}
.article-body figure img,.article-body p > img{border-radius:var(--r-img)}
.article-body figcaption{margin-top:12px;font-family:var(--nav);font-size:13px;line-height:1.5;letter-spacing:.01em;color:#6f6a60;text-align:left}
.article-body > p:has(img){text-align:center;margin-block:2.2em}
/* short gold rule as a section ornament (<hr>) */
.article-body hr{border:0;height:1px;width:64px;background:var(--gold);opacity:.85;margin:clamp(2.4em,5vw,3.4em) auto}
@media(max-width:600px){.swv-stats{grid-template-columns:1fr}.swv-pair{grid-template-columns:1fr}}

/* ── Excursion box (category day-trip post cards / loop-grid) ──────────── */
.dt-section{padding:clamp(40px,6vw,68px) 20px 0}
.dt-wrap{max-width:1180px;margin:0 auto}
.dt-h{font-family:var(--serif);font-weight:600;font-size:clamp(26px,3vw,38px);line-height:1.1;color:var(--black);text-align:center;margin:0 0 clamp(26px,3.4vw,40px)}
.dt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:24px;justify-content:center}
.dt-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;text-decoration:none;color:inherit;max-width:460px;transition:box-shadow .3s,transform .3s}
.dt-card:hover{box-shadow:0 20px 48px -28px rgba(0,0,0,.42);transform:translateY(-4px)}
.dt-card-img{aspect-ratio:16/11;overflow:hidden}
.dt-card-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .9s var(--ease,cubic-bezier(.16,1,.3,1))}
.dt-card:hover .dt-card-img img{transform:scale(1.06)}
.dt-card-body{padding:24px 26px 26px;display:flex;flex-direction:column;flex:1}
.dt-card-meta{display:flex;gap:18px;margin-bottom:14px}
.dt-meta-item{display:inline-flex;align-items:center;gap:6px;font-family:'Manrope',sans-serif;font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#6a665c}
.dt-meta-item svg{width:14px;height:14px;stroke:var(--gold);flex:0 0 auto}
.dt-card-title{font-family:var(--serif);font-weight:600;font-size:1.5rem;line-height:1.16;color:var(--black);margin:0 0 10px}
.dt-card:hover .dt-card-title{color:#8a6a1e}
.dt-card-ex{font-size:.95rem;line-height:1.6;color:#5b574d;margin:0 0 18px}
.dt-card-divider{height:1px;background:linear-gradient(90deg,var(--gold),rgba(201,168,76,0));margin:0 0 18px;align-self:stretch}
.dt-card-btn{display:inline-block;align-self:flex-start;margin-top:auto;background:#0c0c0c;color:var(--gold);font-family:'Manrope',sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:11px 22px;border-radius:999px;transition:background .25s,color .25s}
.dt-card:hover .dt-card-btn{background:var(--gold);color:#0c0c0c}
@media(max-width:560px){.dt-grid{grid-template-columns:1fr}.dt-card{max-width:none}}

/* Route hub: full-width sections (not the 820px left column) — content was pulled left */
.route-hub .hub-sec{max-width:none}
.route-hub .hub-sec > p,.route-hub .hub-sec > ol,.route-hub .hub-sec > ul,.route-hub .hub-sec .swv-faq{max-width:82ch}

/* Service cards are now links */
a.scard{text-decoration:none;color:inherit;display:flex;flex-direction:column}
.scard-more{margin-top:16px;font-family:var(--nav);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);opacity:.62;transition:opacity .3s,transform .3s}
.scard:hover .scard-more{opacity:1;transform:translateX(3px)}
.scard:hover{border-color:rgba(201,168,76,.5)}
