/* =========================================================
   Tour-Unterseite (CYCLiNG › Thailand-Tour)
   Farben aus mtp.css; das Logo des Veranstalters bleibt unverändert
   ========================================================= */
.tour-back{margin:0 0 clamp(36px,5vw,64px)}
.tour-back a{font:700 15px var(--f-cond);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);text-decoration:none}
.tour-back a:hover{color:var(--lime)}

/* ---------- 1 · Kopf ---------- */
.tour-hero{position:relative;overflow:hidden;padding-top:28px}
.tour-hero::before{content:"";position:absolute;inset:-30% -10% auto;height:80%;pointer-events:none;background:
  radial-gradient(40% 60% at 15% 30%,rgba(34,211,238,.14),transparent 70%),
  radial-gradient(35% 55% at 85% 15%,rgba(163,230,53,.10),transparent 70%)}
.tour-hero .wrap{position:relative}
.tour-head{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end;margin-bottom:clamp(28px,4vw,44px)}
.tour-title{margin:0!important;font-size:clamp(56px,9vw,128px)!important;line-height:.86!important;letter-spacing:.01em}
.tour-title span{display:block;color:var(--lime)}

.tour-org{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"logo txt" "web txt";gap:8px 18px;align-items:start;max-width:430px;padding:16px;background:var(--night);border:1px solid var(--line);border-radius:8px}
/* Logo auf eigener weisser Fläche, Farben unverändert wie im Original */
.tour-org-logo{grid-area:logo;display:block;width:118px;padding:8px;background:#fff;border-radius:6px;flex:none}
.tour-org-logo img{width:100%;height:auto}
.tour-org-web{grid-area:web;justify-self:center;font:600 13px var(--f-body);color:var(--lime);text-decoration:none;border-bottom:1px solid rgba(163,230,53,.4)}
.tour-org-web:hover{color:var(--cyan);border-color:var(--cyan)}
.tour-org-txt{grid-area:txt;align-self:center;display:grid;gap:4px;font-size:14px;line-height:1.4;color:var(--muted)}
.tour-org-txt .k{font:700 12px var(--f-cond);letter-spacing:.2em;text-transform:uppercase;color:var(--cyan)}
.tour-org-txt strong{font:700 19px var(--f-cond);letter-spacing:.02em;text-transform:uppercase;color:var(--ink)}
.tour-org-txt a{color:var(--ink);text-decoration:none;border-bottom:1px solid rgba(148,163,184,.35)}
.tour-org-txt a:hover{color:var(--lime);border-color:var(--lime)}

.tour-intro{columns:2 34ch;column-gap:48px;margin-bottom:clamp(32px,5vw,52px)}
.tour-intro p{margin:0 0 16px;color:#cbd5e1;font-size:clamp(17px,1.4vw,19px);break-inside:avoid}
.tour-intro strong{color:var(--lime);font-weight:600}

.tour-facts{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.tour-facts li{background:var(--night);border:1px solid var(--line);border-top:3px solid var(--cyan);border-radius:8px;padding:16px 18px}
.tour-facts b{display:flex;align-items:baseline;gap:6px;font-family:var(--f-display);font-weight:400;font-size:clamp(40px,4.2vw,58px);line-height:1;color:var(--cyan);white-space:nowrap}
.tour-facts b small{font:700 18px var(--f-cond);letter-spacing:.06em;color:var(--ink)}
.tour-facts span{display:block;margin-top:4px;font-size:14px;line-height:1.35;color:var(--muted)}
.tour-facts li.is-lime{border-top-color:var(--lime)}
.tour-facts li.is-lime b{color:var(--lime)}
@media (max-width:1100px){.tour-facts{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:860px){
  .tour-head{grid-template-columns:1fr;gap:24px}
  .tour-org{max-width:none}
}
@media (max-width:520px){.tour-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.tour-org-logo{width:92px}}

/* ---------- 2 · Route ---------- */
.tour-route-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:start;margin-top:28px}
@media (max-width:860px){.tour-route-grid{grid-template-columns:1fr}}

.tour-map{margin:0}
.tour-map svg{width:100%;height:auto;border-radius:8px;border:1px solid rgba(148,163,184,.14)}
.tour-map figcaption{margin-top:10px;font-size:13px;color:var(--muted)}
.tm-border{fill:none;stroke:#334155;stroke-width:2;stroke-dasharray:6 6}
.tm-country{font:700 15px 'Barlow Condensed',sans-serif;letter-spacing:.3em;fill:#475569}
.tm-country.is-th{fill:var(--muted);font-size:20px}
.tm-glow{fill:none;stroke:#22D3EE;stroke-width:10;opacity:.35}
.tm-line,.tm-loop{fill:none;stroke:#22D3EE;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}
.tm-spur{fill:none;stroke:#A3E635;stroke-width:3;stroke-linecap:round;stroke-dasharray:2 7}
.tm-peak{fill:#A3E635}
.tm-note{font:700 21px 'Barlow Condensed',sans-serif;fill:var(--ink);letter-spacing:.02em}
.tm-note.is-sub{font-size:17px;fill:var(--muted);font-weight:600}
.tm-stops circle{fill:#A3E635;stroke:#000;stroke-width:4}
.tm-stops .is-start circle{fill:#000;stroke:#A3E635;stroke-width:6}
.tm-stops text{font:700 23px 'Barlow Condensed',sans-serif;fill:var(--ink);letter-spacing:.02em;paint-order:stroke;stroke:#0B0F14;stroke-width:5px}
.tm-stops .tm-day{font-size:14px;letter-spacing:.18em;text-transform:uppercase;fill:#A3E635}
.tm-inset-bg{fill:#000;stroke:#334155;stroke-width:1.5}
.tm-reg{fill:#1E293B;stroke:#0B0F14;stroke-width:9;stroke-linejoin:round}
.tm-reg.r-northeast{fill:#0E7490}
.tm-reg.r-central{fill:#155E75}
.tm-reg.r-west{fill:#334155}
.tm-reg.r-east{fill:#0891B2}
.tm-reg.r-south{fill:#475569}
.tm-reg.is-tour{fill:#A3E635}
.tm-tourmark{fill:none;stroke:#22D3EE;stroke-width:14}
/* Regionen-Beschriftung */
.tm-reg-l{font:700 64px 'Barlow Condensed',sans-serif;fill:#F1F5F9;text-anchor:middle;letter-spacing:2px;paint-order:stroke;stroke:#0B0F14;stroke-width:10px}
.tm-reg-l.is-tour{fill:#000;stroke:none}
.tm-inset-t{font:700 12px 'Barlow Condensed',sans-serif;letter-spacing:.25em;fill:#94A3B8;text-anchor:middle}
.tm-legend-line{stroke:#22D3EE;stroke-width:5;stroke-linecap:round}
.tm-legend text{font:600 15px 'Barlow',sans-serif;fill:var(--muted)}

/* Route zeichnet sich beim Laden */
.tm-line{stroke-dasharray:1;stroke-dashoffset:1;animation:tmDraw 3.2s cubic-bezier(.5,0,.2,1) .3s forwards}
.tm-loop{stroke-dasharray:1;stroke-dashoffset:1;animation:tmDraw 1.4s ease-out 3.2s forwards}
.tm-glow{opacity:0;animation:tmFade 1s ease 3.6s forwards}
@keyframes tmDraw{to{stroke-dashoffset:0}}
@keyframes tmFade{to{opacity:.35}}
@media (prefers-reduced-motion:reduce){
  .tm-line,.tm-loop{animation:none;stroke-dashoffset:0}
  .tm-glow{animation:none;opacity:.35}
}

.tour-stops{list-style:none;margin:0;padding:0;display:grid;gap:8px;counter-reset:none}
.tour-stops li{display:grid;grid-template-columns:4.6rem 1fr;gap:0 16px;padding:14px 18px;background:var(--night);border:1px solid var(--line);border-left:4px solid var(--cyan);border-radius:8px}
.tour-stops li:first-child,.tour-stops li:last-child{border-left-color:var(--lime)}
.tour-stops .d{grid-row:span 2;align-self:center;font-family:var(--f-display);font-size:30px;line-height:1;color:var(--cyan)}
.tour-stops .d::before{content:"Tag";display:block;font:700 11px var(--f-cond);letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.tour-stops .p{font:700 22px var(--f-cond);text-transform:uppercase;letter-spacing:.03em;line-height:1.1}
.tour-stops .x{font-size:15px;color:var(--muted)}

/* ---------- Fotos ---------- */
.tour-photo{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:8px;border:1px solid rgba(148,163,184,.14)}

/* ---------- 3 · Chiang Mai ---------- */
.tour-city-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center}
.tour-city-txt p{color:#cbd5e1;font-size:clamp(16px,1.3vw,18px)}
.tour-city-txt strong{color:var(--lime);font-weight:600}
@media (max-width:860px){.tour-city-grid{grid-template-columns:1fr}}

/* ---------- 4 · Tag für Tag ---------- */
.tour-daylist{display:grid;gap:14px;margin-top:28px}
.tour-day-photo{aspect-ratio:21/9;margin:22px 0 8px}
.tour-day{display:grid;grid-template-columns:9rem minmax(0,1fr);gap:0 28px;padding:24px 28px;background:var(--night);border:1px solid var(--line);border-left:4px solid var(--cyan);border-radius:8px}
.tour-day.is-rest{border-left-color:var(--lime);background:linear-gradient(110deg,rgba(163,230,53,.10),var(--night) 55%)}
.tour-day.is-plain{border-left-color:var(--muted)}
.tour-day-no{font-family:var(--f-display);font-size:clamp(34px,3.4vw,46px);line-height:1;color:var(--cyan)}
.tour-day.is-rest .tour-day-no{color:var(--lime)}
.tour-day-main{min-width:0}
.tour-day-sub{margin:0 0 4px;font:700 15px var(--f-cond);letter-spacing:.16em;text-transform:uppercase;color:var(--lime)}
.tour-day.is-plain .tour-day-sub,.tour-day.is-rest .tour-day-sub{font-size:24px;letter-spacing:.03em;color:var(--ink)}
.tour-day h4{margin:0 0 8px;font:700 clamp(22px,2.2vw,28px)/1.1 var(--f-cond);text-transform:uppercase;letter-spacing:.02em}
.tour-day-stats{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 14px}
.tour-day-stats span{font:700 15px var(--f-cond);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:4px 12px;border:1px solid var(--line);border-radius:4px;background:#000}
.tour-day-stats b{font-size:19px;color:var(--cyan);margin-right:3px}
.tour-day-stats span+span b{color:var(--lime)}
.tour-day-txt p{margin:0 0 12px;color:#cbd5e1;max-width:78ch}
.tour-meals{display:inline-block;margin:2px 0 0;font:700 14px var(--f-cond);letter-spacing:.12em;text-transform:uppercase;color:#000;background:var(--lime);padding:3px 10px;border-radius:3px}
.tour-legend{margin:18px 0 0;font-size:13px;color:var(--muted)}
@media (max-width:860px){
  .tour-day{grid-template-columns:1fr;padding:20px}
  .tour-day-no{margin-bottom:8px}
  .tour-day-photo{aspect-ratio:3/2}
}

/* Höhenprofil */
.tour-profile{margin:18px 0 0;padding:10px 6px 4px;background:#000;border:1px solid var(--line);border-radius:6px}
.tour-profile svg{width:100%;height:auto}
.tour-profile .g{stroke:#1E293B;stroke-width:1}
.tour-profile .ya{font:600 12px 'Barlow',sans-serif;fill:#64748B;text-anchor:end}
.tour-profile .xa{font:600 12px 'Barlow',sans-serif;fill:#64748B;text-anchor:middle}
.tour-profile .xa.u{text-anchor:end;fill:var(--muted)}
.tour-profile .l{fill:none;stroke:#22D3EE;stroke-width:2.5;stroke-linejoin:round}
.tour-profile .pk{fill:#A3E635;stroke:#000;stroke-width:2}

/* ---------- 5 · Leistungen ---------- */
.tour-serv-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:14px;margin-top:28px}
.tour-serv{padding:26px 28px;background:var(--night);border:1px solid var(--line);border-top:3px solid var(--lime);border-radius:8px}
.tour-serv.is-out{border-top-color:var(--muted)}
.tour-serv h4{margin:0 0 14px;font:700 24px var(--f-cond);text-transform:uppercase;letter-spacing:.03em}
.tour-serv ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.tour-serv li{position:relative;padding-left:28px;color:#cbd5e1;font-size:16px}
.tour-serv li::before{content:"";position:absolute;left:2px;top:.42em;width:12px;height:7px;border-left:2.5px solid var(--lime);border-bottom:2.5px solid var(--lime);transform:rotate(-45deg)}
.tour-serv.is-out li::before{width:12px;height:0;top:.72em;border-left:0;border-bottom:2.5px solid var(--muted);transform:none}
.tour-serv strong{color:var(--ink)}
@media (max-width:860px){.tour-serv-grid{grid-template-columns:1fr}}
.tour-cta{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:28px;padding:22px 26px;border-radius:8px;background:linear-gradient(110deg,rgba(163,230,53,.14),rgba(34,211,238,.08));border:1px solid rgba(163,230,53,.45)}
.tour-cta p{margin:0 0 10px;color:#cbd5e1}
.tour-cta strong{color:var(--ink)}
.tour-cta .tour-org-logo{width:96px}
.tour-cta .btn{display:inline-block;text-decoration:none;text-transform:none;letter-spacing:.06em}
@media (max-width:600px){
  .tour-profile .ya,.tour-profile .xa{font-size:26px}
  .tour-profile .l{stroke-width:4}
  .tour-profile .pk{r:9}
}

/* ---------- Touren-Übersicht ---------- */
.tours-intro{columns:auto;max-width:62ch}
.tours-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px}
.tours-card{display:flex;flex-direction:column;background:var(--night);border:1px solid var(--line);border-radius:8px;overflow:hidden;text-decoration:none;color:var(--ink);transition:transform .4s cubic-bezier(.2,.8,.2,1),border-color .3s}
.tours-card:hover,.tours-card:focus-visible{transform:translateY(-5px);border-color:var(--cyan)}
.tours-img{display:block;aspect-ratio:16/9;background:center/cover no-repeat;border-bottom:3px solid var(--cyan)}
.tours-body{display:flex;flex-direction:column;gap:12px;padding:20px 22px 22px;flex:1}
.tours-meta{font:700 13px var(--f-cond);letter-spacing:.2em;text-transform:uppercase;color:var(--cyan)}
.tours-name{font-family:var(--f-display);font-size:clamp(34px,3.2vw,44px);line-height:.92;letter-spacing:.01em}
.tours-name span{display:block;color:var(--lime)}
.tours-facts{display:flex;gap:8px;flex-wrap:wrap}
.tours-facts span{font:700 14px var(--f-cond);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:4px 10px;border:1px solid var(--line);border-radius:4px;background:#000}
.tours-facts b{font-size:18px;color:var(--cyan);margin-right:2px}
.tours-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:6px}
.tours-logo{display:block;width:58px;padding:4px;background:#fff;border-radius:4px}
.tours-logo img{width:100%;height:auto}
.tours-more{font:700 15px var(--f-cond);letter-spacing:.14em;text-transform:uppercase;color:var(--lime)}
.tours-card:hover .tours-more{color:var(--cyan)}
@media (max-width:420px){.tours-grid{grid-template-columns:1fr}}
