/**
 * Tour details page, 2026 template (src/templates/tourdetails/tour_2026.php).
 * Everything is scoped under .t26 so the legacy crazystyle.css stays untouched.
 */

.t26 {
    --t26-orange: #ffa101;
    --t26-orange-dark: #e08a00;
    --t26-blue: #0097e0;
    --t26-ink: #26323b;
    --t26-text: #4b5863;
    --t26-muted: #758592;
    --t26-line: #e3e8ec;
    --t26-tint: #f5f7f9;
    --t26-dark: #1f2a32;
    --t26-ok: #2e9d57;
    --t26-warn: #f08c00;
    --t26-sold: #d9363e;
    --t26-radius: 14px;
    --t26-shadow: 0 1px 2px rgba(31, 42, 50, .06), 0 8px 24px rgba(31, 42, 50, .08);
    --t26-subnav-h: 56px;

    color: var(--t26-text);
    font-size: 1rem;
    line-height: 1.65;
}

.t26 *, .t26 *::before, .t26 *::after { box-sizing: border-box; }
.t26 img { max-width: 100%; height: auto; }
.t26 h1, .t26 h2, .t26 h3, .t26 h4 { color: var(--t26-ink); line-height: 1.25; margin: 0 0 .6em; font-weight: 700; text-align: left; }
.t26 a { color: var(--t26-blue); }

.t26-wrap { width: 100%; max-width: 1180px; margin: 0 auto; padding-left: 16px; padding-right: 16px; }
@media (min-width: 760px) { .t26-wrap { padding-left: 32px; padding-right: 32px; } }

/* ---------------------------------------------------------------- Hero */
/* The slider images have fixed formats (ProductSliderImageEditor): 420x500 up to 479px, 1200x500 and 1920x800 above.
   The picture block follows that format, so nothing is cut off (the images carry lettering). It never gets wider than
   the largest image. The text sits on the image only where it fits, otherwise below it. */
.t26-hero {
    position: relative;
    color: #fff;
    background: var(--t26-dark);
    overflow: hidden;
}
.t26-hero--plain { padding-top: 48px; background: linear-gradient(135deg, var(--t26-dark), #33434f); }

.t26-hero__media { position: relative; max-width: 1920px; margin: 0 auto; aspect-ratio: 420 / 500; }
@media (min-width: 480px) { .t26-hero__media { aspect-ratio: 12 / 5; } }

.t26-hero__track {
    position: absolute; inset: 0;
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
}
.t26-hero__track::-webkit-scrollbar { display: none; }
.t26-hero__slide { flex: 0 0 100%; margin: 0; scroll-snap-align: start; position: relative; }
.t26-hero__slide picture { position: absolute; inset: 0; display: block; }
.t26 .t26-hero__slide img { display: block; width: 100%; height: 100%; object-fit: cover; }

.t26-hero__content {
    position: relative; z-index: 2;
    width: 100%; max-width: 1180px; margin: 0 auto;
    padding: 20px 16px 28px;
}
.t26-hero--plain .t26-hero__content { padding-top: 0; padding-bottom: 56px; }
@media (min-width: 760px) { .t26-hero__content { padding: 28px 32px 36px; } }

@media (min-width: 1200px) {
    .t26-hero__media::after {
        content: ""; position: absolute; inset: 0; pointer-events: none;
        background: linear-gradient(180deg, rgba(0, 0, 0, 0) 35%, rgba(15, 22, 28, .78) 100%);
    }
    .t26-hero:not(.t26-hero--plain) .t26-hero__content {
        position: absolute; left: 0; right: 0; bottom: 0;
        padding-bottom: 40px;
        pointer-events: none;
    }
    .t26-hero__content a, .t26-hero__content button { pointer-events: auto; }
}

.t26-eyebrow { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin: 0 0 .5rem; font-size: .85rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--t26-orange); }
.t26 .t26-hero__title { color: #fff; font-size: clamp(2rem, 5vw, 3.6rem); margin: 0 0 .35rem; letter-spacing: -.01em; text-shadow: 0 2px 16px rgba(0, 0, 0, .35); }
.t26-hero__subtitle { margin: 0 0 1.25rem; font-size: clamp(1.05rem, 2vw, 1.35rem); max-width: 46rem; color: rgba(255, 255, 255, .9); }

.t26-facts { list-style: none; margin: 0 0 1.5rem; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.t26-facts li {
    display: inline-flex; align-items: center; gap: .4rem;
    padding: .4rem .8rem; border-radius: 999px;
    background: rgba(255, 255, 255, .14); backdrop-filter: blur(6px);
    border: 1px solid rgba(255, 255, 255, .22);
    font-size: .9rem; color: #fff;
}
.t26-hero__actions { display: flex; flex-wrap: wrap; gap: .75rem; }

.t26-hero__controls {
    position: absolute; z-index: 3; right: 16px; bottom: 16px;
    display: flex; align-items: center; gap: .5rem;
}
@media (min-width: 760px) { .t26-hero__controls { right: 32px; bottom: 24px; } }
.t26-hero__arrow {
    width: 40px; height: 40px; border-radius: 50%; border: 0; cursor: pointer;
    background: rgba(255, 255, 255, .18); color: #fff; font-size: 1.1rem;
    display: none; place-items: center;
}
.t26-hero__arrow:hover { background: rgba(255, 255, 255, .32); }
@media (min-width: 760px) { .t26-hero__arrow { display: grid; } }
.t26-hero__dots { display: flex; gap: 6px; }
.t26-hero__dot { width: 8px; height: 8px; padding: 0; border-radius: 999px; border: 0; cursor: pointer; background: rgba(255, 255, 255, .45); transition: width .2s, background .2s; }
.t26-hero__dot.is-active { width: 22px; background: var(--t26-orange); }
@media (max-width: 759px) { .t26-hero__controls { left: 0; right: 0; justify-content: center; bottom: 12px; } }
/* Text on the image: keep the controls in the upper corner, out of its way */
@media (min-width: 1200px) { .t26-hero__controls { top: 24px; bottom: auto; z-index: 3; } }

/* ---------------------------------------------------------------- Buttons, chips, badges */
.t26-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: .4rem;
    min-height: 44px; padding: .6rem 1.3rem; border-radius: 999px;
    font-weight: 700; text-decoration: none; transition: background .15s, transform .15s, color .15s;
}
.t26 .t26-btn--primary { background: var(--t26-orange); color: #1f1600; }
.t26 .t26-btn--primary:hover { background: var(--t26-orange-dark); color: #1f1600; transform: translateY(-1px); }
.t26 .t26-btn--ghost { color: #fff; border: 1.5px solid rgba(255, 255, 255, .7); }
.t26 .t26-btn--ghost:hover { background: rgba(255, 255, 255, .12); color: #fff; }

.t26-badge { display: inline-flex; align-items: center; gap: .25rem; padding: .15rem .55rem; border-radius: 999px; font-size: .75rem; letter-spacing: .04em; }
.t26-badge--blue { background: var(--t26-blue); color: #fff; }
.t26-chip { display: inline-block; padding: .15rem .65rem; border-radius: 6px; background: var(--t26-tint); border: 1px solid var(--t26-line); color: var(--t26-ink); font-weight: 700; font-size: .85rem; }

/* ---------------------------------------------------------------- Sticky sub navigation */
.t26-subnav {
    position: sticky; top: 0; z-index: 50;
    background: rgba(255, 255, 255, .96); backdrop-filter: blur(8px);
    border-bottom: 1px solid var(--t26-line);
}
.t26-subnav__inner {
    display: flex; align-items: center; gap: .25rem;
    min-height: var(--t26-subnav-h);
    overflow-x: auto; scrollbar-width: none; white-space: nowrap;
}
.t26-subnav__inner::-webkit-scrollbar { display: none; }
.t26 .t26-subnav a[data-t26-nav] {
    position: relative; padding: .5rem .8rem; color: var(--t26-text); text-decoration: none; font-weight: 600; font-size: .95rem;
}
.t26 .t26-subnav a[data-t26-nav]:hover, .t26 .t26-subnav a.is-active { color: var(--t26-ink); }
.t26 .t26-subnav a.is-active::after { content: ""; position: absolute; left: .8rem; right: .8rem; bottom: -9px; height: 3px; border-radius: 3px; background: var(--t26-orange); }
.t26-subnav__divider { flex: none; width: 1px; height: 22px; margin: 0 .4rem; background: var(--t26-line); }
.t26 .t26-subnav a.t26-subnav__res {
    display: inline-flex; align-items: center; gap: .35rem; flex: none;
    padding: .5rem .6rem; color: var(--t26-text); text-decoration: none; font-weight: 600; font-size: .9rem;
}
.t26 .t26-subnav a.t26-subnav__res:hover { color: var(--t26-orange-dark); }
.t26-subnav__res span { display: inline-block; max-width: 11rem; overflow: hidden; text-overflow: ellipsis; }
.t26 .t26-subnav__cta { margin-left: auto; padding: .45rem 1rem; border-radius: 999px; background: var(--t26-orange); color: #1f1600; font-weight: 700; text-decoration: none; font-size: .9rem; }
@media (max-width: 759px) { .t26 .t26-subnav__cta { display: none; } }

.t26 [id] { scroll-margin-top: calc(var(--t26-subnav-h) + 12px); }

/* ---------------------------------------------------------------- Sections */
.t26-section { padding-top: 56px; padding-bottom: 56px; }
@media (min-width: 1024px) { .t26-section { padding-top: 80px; padding-bottom: 80px; } }
.t26-section--tinted { background: var(--t26-tint); }
.t26-section--dark { background: var(--t26-dark); color: rgba(255, 255, 255, .82); }
.t26-section--dark .t26-section__head h2 { color: #fff; }
.t26-section__head { max-width: 46rem; margin-bottom: 2rem; }
.t26 .t26-section__head h2 { font-size: clamp(1.6rem, 3vw, 2.25rem); margin-bottom: .35rem; }
.t26-kicker { margin: 0 0 .35rem; font-size: .8rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--t26-orange); }
.t26-lead { margin: 0; font-size: 1.05rem; }

/* ---------------------------------------------------------------- Cards */
.t26-card {
    background: #fff; border: 1px solid var(--t26-line); border-radius: var(--t26-radius);
    box-shadow: var(--t26-shadow); padding: 1.25rem; color: var(--t26-text);
}
@media (min-width: 760px) { .t26-card { padding: 1.5rem; } }
.t26-card--accent { border-top: 4px solid var(--t26-orange); }
.t26 .t26-card__title { display: flex; align-items: center; gap: .5rem; font-size: 1.15rem; margin: 0 0 1rem; }
.t26 .t26-card__title .bi { color: var(--t26-orange); }

/* ---------------------------------------------------------------- Overview */
.t26-overview { display: grid; gap: 2rem; }
@media (min-width: 1024px) { .t26-overview { grid-template-columns: minmax(0, 1fr) 360px; gap: 3.5rem; align-items: start; } }
.t26-overview__aside { display: grid; gap: 1.25rem; }
@media (min-width: 1024px) { .t26-overview__aside { position: sticky; top: calc(var(--t26-subnav-h) + 20px); } }

.t26-prose { font-size: 1.04rem; overflow-wrap: anywhere; }
.t26-prose > :first-child { margin-top: 0; }
.t26-prose p { margin: 0 0 1em; }
.t26 .t26-prose h2 { font-size: 1.6rem; margin-top: 1.4em; }
.t26 .t26-prose h3 { font-size: 1.25rem; margin-top: 1.3em; }
.t26 .t26-prose h4, .t26 .t26-prose h5, .t26 .t26-prose h6 { font-size: 1.05rem; margin-top: 1.2em; }
.t26-prose ul, .t26-prose ol { padding-left: 1.25rem; margin: 0 0 1em; }
.t26-prose li { margin-bottom: .3em; }
.t26-prose img { border-radius: 10px; }
.t26-prose table { width: 100%; border-collapse: collapse; display: block; overflow-x: auto; }
.t26-prose td, .t26-prose th { padding: .35rem .5rem; border-bottom: 1px solid var(--t26-line); }

.t26-map { position: relative; display: block; margin-top: 1rem; border-radius: 10px; overflow: hidden; border: 1px solid var(--t26-line); text-decoration: none; }
.t26-map img { display: block; width: 100%; max-height: 260px; object-fit: cover; }
.t26 .t26-map span { position: absolute; left: .6rem; bottom: .6rem; padding: .3rem .7rem; border-radius: 999px; background: rgba(255, 255, 255, .95); color: var(--t26-ink); font-weight: 700; font-size: .85rem; }

.t26-resources { list-style: none; margin: 0; padding: 0; }
.t26-resources li + li { border-top: 1px solid var(--t26-line); }
.t26 .t26-resources a { display: flex; align-items: center; gap: .65rem; padding: .7rem .1rem; color: var(--t26-ink); text-decoration: none; font-weight: 600; }
.t26 .t26-resources a:hover { color: var(--t26-blue); }
.t26-resources a > .bi:first-child { color: var(--t26-orange); font-size: 1.1rem; }
.t26-resources a > span { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.t26-resources__go { color: var(--t26-muted); transition: transform .15s; }
.t26-resources a:hover .t26-resources__go { transform: translateX(3px); color: var(--t26-blue); }

/* ---------------------------------------------------------------- Stages */
.t26-tabs { display: inline-flex; flex-wrap: wrap; gap: .25rem; padding: .25rem; margin-bottom: 1.5rem; background: #fff; border: 1px solid var(--t26-line); border-radius: 999px; }
.t26 .t26-tab { padding: .45rem 1.1rem; border-radius: 999px; color: var(--t26-text); font-weight: 700; text-decoration: none; }
.t26 .t26-tab:hover { color: var(--t26-ink); background: var(--t26-tint); }
.t26 .t26-tab.is-active { background: var(--t26-ink); color: #fff; }

.t26-stagebar { display: flex; align-items: center; gap: 1rem; margin-bottom: 1rem; }
.t26-daychips { flex: 1; min-width: 0; display: flex; gap: .4rem; overflow-x: auto; scrollbar-width: none; padding: 2px; }
.t26-daychips::-webkit-scrollbar { display: none; }
.t26-daychip {
    flex: 0 0 auto; padding: .4rem .9rem; border-radius: 999px; cursor: pointer;
    border: 1px solid var(--t26-line); background: #fff; color: var(--t26-text); font-weight: 700; font-size: .88rem; white-space: nowrap;
}
.t26-daychip:hover { color: var(--t26-ink); border-color: var(--t26-muted); }
.t26-daychip.is-active { background: var(--t26-orange); border-color: var(--t26-orange); color: #1f1600; }
.t26-daychip:focus-visible, .t26-arrow:focus-visible { outline: 3px solid var(--t26-blue); outline-offset: 2px; }
.t26-stagebar__arrows { display: none; gap: .5rem; }
@media (min-width: 760px) { .t26-stagebar__arrows { display: flex; } }
.t26-arrow {
    width: 44px; height: 44px; border-radius: 50%; cursor: pointer; display: grid; place-items: center;
    border: 1px solid var(--t26-line); background: #fff; color: var(--t26-ink); font-size: 1.1rem; box-shadow: var(--t26-shadow);
}
.t26-arrow:hover:not(:disabled) { background: var(--t26-ink); color: #fff; }
.t26-arrow:disabled { opacity: .35; cursor: default; }

/* The slider track: one day per slide, the next one peeks in */
.t26-stages {
    list-style: none; margin: 0 -16px; padding: 4px 16px 20px;
    display: flex; gap: 1rem; align-items: flex-start;
    overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding: 0 16px;
    overscroll-behavior-x: contain; scrollbar-width: thin;
    overflow-y: hidden; position: relative;
    transition: height .45s cubic-bezier(.22, .61, .36, 1);
    -webkit-overflow-scrolling: touch; scroll-behavior: auto;
}
@media (min-width: 760px) { .t26-stages { margin: 0 -32px; padding: 4px 32px 24px; scroll-padding: 0 32px; gap: 1.5rem; } }
.t26-stages:focus-visible { outline: 3px solid var(--t26-blue); outline-offset: -3px; border-radius: var(--t26-radius); }
.t26-stage { flex: 0 0 88%; scroll-snap-align: start; scroll-snap-stop: always; }
.t26-stages.is-animating { scroll-snap-type: none; }
.t26-stages.is-dragging { cursor: grabbing; user-select: none; }
.t26-stages.is-dragging * { pointer-events: none; }
@media (pointer: fine) { .t26-stages { cursor: grab; } .t26-stages .t26-prose { cursor: auto; } }
.t26-stage__card { transition: opacity .35s ease, transform .35s ease; }
@media (min-width: 760px) { .t26-stage { flex-basis: 82%; } }
@media (min-width: 1180px) { .t26-stage { flex-basis: 960px; } }
.t26-stage__card { background: #fff; border: 1px solid var(--t26-line); border-radius: var(--t26-radius); box-shadow: var(--t26-shadow); overflow: hidden; }

.t26-stage__head { display: flex; align-items: center; gap: 1rem; padding: 1rem 1.1rem; border-bottom: 1px solid var(--t26-line); }
@media (min-width: 760px) { .t26-stage__head { padding: 1.1rem 1.5rem; } }
.t26-stage__day {
    flex: 0 0 auto; display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%;
    background: var(--t26-orange); color: #4d3200;
    font-size: .7rem; line-height: 1.1; text-transform: uppercase; letter-spacing: .06em; text-align: center;
}
.t26-stage__day strong { display: block; font-size: 1.2rem; color: #1f1600; letter-spacing: 0; }
.t26 .t26-stage__title { font-size: 1.15rem; margin: 0 0 .2rem; }
.t26-stage__stats { display: flex; flex-wrap: wrap; gap: .25rem 1rem; font-size: .88rem; color: var(--t26-muted); }
.t26-stage__stats .bi { color: var(--t26-orange); }

.t26-stage__body { display: grid; gap: 1.25rem; padding: 1.1rem; }
@media (min-width: 760px) { .t26-stage__body { padding: 1.5rem; } }
@media (min-width: 1024px) { .t26-stage__body { grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); align-items: start; } }
.t26-stage__profile { margin: 0; }
.t26-stage__profile img { display: block; width: 100%; border-radius: 10px; border: 1px solid var(--t26-line); background: #fff; }
.t26-stage__meta { list-style: none; margin: 0 0 .9rem; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.t26-stage__meta li { display: inline-flex; align-items: center; gap: .35rem; padding: .25rem .7rem; border-radius: 999px; background: var(--t26-tint); font-size: .88rem; color: var(--t26-ink); }
.t26-stage__meta .bi { color: var(--t26-orange); }
.t26-empty { color: var(--t26-muted); }

/* ---------------------------------------------------------------- Guides (legacy partial) */
.t26-guides .tour-guides-container { margin-top: 0; border-bottom: 0; }
.t26 .t26-guides h3 { text-align: center; font-size: clamp(1.6rem, 3vw, 2.25rem); }

/* ---------------------------------------------------------------- Dates */
.t26 .t26-month { color: #fff; font-size: 1.05rem; margin: 2rem 0 .75rem; padding-bottom: .4rem; border-bottom: 1px solid rgba(255, 255, 255, .14); }
.t26 .t26-month:first-of-type { margin-top: 0; }
.t26-dates { list-style: none; margin: 0; padding: 0; display: grid; gap: .6rem; }
.t26-date {
    display: grid; gap: .75rem 1.25rem; align-items: center;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas: "when price" "cat cat" "levels levels";
    padding: 1rem; border-radius: 12px; background: #fff; color: var(--t26-text);
}
@media (min-width: 1024px) {
    .t26-date { grid-template-columns: 15rem 9rem 8rem minmax(0, 1fr); grid-template-areas: "when cat price levels"; padding: .85rem 1.25rem; }
}
.t26-date__when { grid-area: when; }
.t26-date__range { display: block; font-weight: 700; color: var(--t26-ink); }
.t26-date__sub { display: block; font-size: .82rem; color: var(--t26-muted); margin-top: .1rem; }
.t26-date__cat { grid-area: cat; display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.t26-date__cat .t26-date__sub { margin: 0; }
@media (min-width: 1024px) { .t26-date__cat { display: block; } .t26-date__cat .t26-date__sub { margin-top: .25rem; } }
.t26-date__price { grid-area: price; text-align: right; }
.t26-date__price strong { display: block; font-size: 1.2rem; color: var(--t26-ink); white-space: nowrap; }
@media (min-width: 1024px) { .t26-date__price { text-align: left; } }
.t26-date__levels { grid-area: levels; display: grid; grid-template-columns: repeat(auto-fit, minmax(96px, 1fr)); gap: .5rem; }
@media (min-width: 1024px) { .t26-date__levels { display: flex; justify-content: flex-end; } }

.t26 .t26-level {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    min-width: 104px; min-height: 48px; padding: .35rem .75rem; border-radius: 10px;
    text-decoration: none; line-height: 1.2; border: 2px solid transparent;
    transition: transform .15s, box-shadow .15s;
}
.t26 .t26-level:hover { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(0, 0, 0, .12); }
.t26 .t26-level:focus-visible { outline: 3px solid var(--t26-blue); outline-offset: 2px; }
.t26-level__name { font-weight: 700; font-size: .92rem; }
.t26-level__state { font-size: .75rem; }
.t26 .t26-level--ok { background: var(--t26-ok); color: #fff; }
.t26 .t26-level--warn { background: #fff4e0; border-color: var(--t26-warn); color: #7a4500; }
.t26 .t26-level--sold { background: #fff; border-color: #f3c4c6; color: var(--t26-sold); }

.t26-legend { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; margin-top: 1.5rem; font-size: .88rem; }
.t26-legend span { display: inline-flex; align-items: center; gap: .45rem; }
.t26-dot { display: inline-block; width: 12px; height: 12px; border-radius: 50%; }
.t26-dot--ok { background: var(--t26-ok); }
.t26-dot--warn { background: var(--t26-warn); }
.t26-dot--sold { background: var(--t26-sold); }
.t26-section--dark .t26-empty { color: var(--t26-text); }

/* ---------------------------------------------------------------- Services */
.t26-services { display: grid; gap: 1.25rem; }
@media (min-width: 1024px) { .t26-services { grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); } }
.t26-checklist ul { list-style: none; padding-left: 0; }
.t26-checklist ul li { position: relative; padding-left: 1.6rem; }
.t26-checklist ul li::before {
    content: ""; position: absolute; left: .1rem; top: .45em; width: .55rem; height: .9rem;
    border: solid var(--t26-ok); border-width: 0 2.5px 2.5px 0; transform: rotate(45deg) scale(.8);
}

/* ---------------------------------------------------------------- Notes */
.t26-notes { padding-top: 0; }
.t26-notes__list { display: grid; gap: .75rem; margin: 0 0 1rem; }
@media (min-width: 1024px) { .t26-notes__list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; } }
.t26-notes__list > div { padding: 1rem 1.1rem; border-radius: 12px; background: var(--t26-tint); }
.t26-notes__list dt { font-weight: 700; color: var(--t26-ink); margin-bottom: .2rem; }
.t26-notes__list dd { margin: 0; font-size: .92rem; }
.t26-notes__cookie { margin: 0; font-size: .9rem; color: var(--t26-muted); }

/* ---------------------------------------------------------------- Mobile booking bar */
.t26-mobilebar { display: none; }
@media (max-width: 759px) {
    .t26-mobilebar {
        position: fixed; left: 0; right: 0; bottom: 0; z-index: 60;
        display: flex; align-items: center; justify-content: space-between; gap: 1rem;
        padding: .6rem 16px calc(.6rem + env(safe-area-inset-bottom));
        background: #fff; border-top: 1px solid var(--t26-line); box-shadow: 0 -6px 20px rgba(0, 0, 0, .08);
        color: var(--t26-ink); transition: transform .2s;
    }
    .t26-mobilebar.is-hidden { transform: translateY(110%); }
    .t26 { padding-bottom: 72px; }
}

@media (prefers-reduced-motion: reduce) {
    .t26 *, .t26 *::before, .t26 *::after { transition: none !important; scroll-behavior: auto !important; }
}

/* Not active days fade back a little on wide screens */
@media (min-width: 760px) {
    .t26-stage:not(.is-current) .t26-stage__card { opacity: .55; transform: scale(.985); }
    .t26-stage:not(.is-current):hover .t26-stage__card { opacity: .8; }
}

/* ---------------------------------------------------------------- Main text (editor HTML of the description) */
.t26-desc { font-size: 1.06rem; line-height: 1.75; }
/* First heading = title of the text, the heading right after it = subtitle, the paragraph after = lead */
.t26 .t26-desc > :is(h2, h3, h4):first-child {
    position: relative; margin: 0 0 .4rem; padding-left: 1rem;
    font-size: clamp(1.5rem, 2.6vw, 2rem); letter-spacing: -.01em;
}
.t26 .t26-desc > :is(h2, h3, h4):first-child::before { content: ""; position: absolute; left: 0; top: .2em; bottom: .2em; width: 4px; border-radius: 4px; background: var(--t26-orange); }
.t26 .t26-desc > :is(h2, h3, h4):first-child + :is(h3, h4, h5) { margin: 0 0 1.25rem; padding-left: 1rem; font-size: 1.1rem; font-weight: 600; color: var(--t26-muted); }
.t26-desc > :is(h2, h3, h4):first-child + :is(h3, h4, h5) + p, .t26-desc > :is(h2, h3, h4):first-child + p { font-size: 1.2rem; line-height: 1.6; color: var(--t26-ink); }
.t26 .t26-desc > :is(h2, h3):not(:first-child):not(:first-child + *) {
    margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid var(--t26-line);
    font-size: clamp(1.35rem, 2.2vw, 1.7rem);
}
.t26 .t26-desc h3 { font-size: 1.15rem; }

/* <article> blocks in the editor content become soft panels */
.t26-desc article {
    margin: 1.25rem 0; padding: 1.1rem 1.25rem; border-radius: 12px;
    background: var(--t26-tint); border-left: 4px solid var(--t26-orange);
}
.t26-desc article p { margin: 0; }
.t26-desc article p + p { margin-top: .6em; }
/* "Label:" in bold at the start of a block */
.t26-desc article p > strong:first-child, .t26-desc article > strong:first-child {
    display: block; margin-bottom: .35rem;
    font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; color: var(--t26-orange-dark);
}
.t26-desc strong { color: var(--t26-ink); }
.t26-desc > strong { display: block; margin: 1rem 0; padding: .75rem 1rem; border-radius: 10px; background: #fff4e0; color: #7a4500; }

/* Lists: orange check marks */
.t26-desc ul { list-style: none; padding-left: 0; margin: .5rem 0 0; display: grid; gap: .35rem; }
@media (min-width: 760px) { .t26-desc article ul { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 1.5rem; } }
.t26-desc ul > li { position: relative; padding-left: 1.75rem; margin: 0; }
.t26-desc ul > li::before {
    content: ""; position: absolute; left: 0; top: .35em; width: 1.1rem; height: 1.1rem; border-radius: 50%;
    background: var(--t26-orange) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%231f1600' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='M4 8.5l2.5 2.5L12 5.5'/%3E%3C/svg%3E") center / 70% no-repeat;
}
.t26-desc ol { padding-left: 1.4rem; }

/* Links */
.t26 .t26-desc a { color: var(--t26-ink); font-weight: 600; text-decoration: underline; text-decoration-color: var(--t26-orange); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.t26 .t26-desc a:hover { color: var(--t26-blue); text-decoration-color: var(--t26-blue); }
.t26-desc u { text-decoration: none; }

/* Route line: "Garmisch >> Imst >> ..." */
.t26-route { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem 0; margin: .35rem 0 .1rem; line-height: 1.3; }
.t26-route__stop {
    position: relative; display: inline-flex; align-items: center;
    padding: .3rem .7rem; border-radius: 999px; background: #fff; border: 1px solid var(--t26-line);
    font-size: .9rem; font-weight: 600; color: var(--t26-ink); white-space: nowrap;
}
.t26-route__stop + .t26-route__stop { margin-left: 1.4rem; }
.t26-route__stop + .t26-route__stop::before {
    content: ""; position: absolute; left: -1.3rem; top: 50%; width: 1.2rem; border-top: 2px dashed var(--t26-orange);
}
.t26-route__stop.is-start, .t26-route__stop.is-end { background: var(--t26-ink); border-color: var(--t26-ink); color: #fff; }

/* ---------------------------------------------------------------- Tour data box */
.t26-tdata { padding: 0; overflow: hidden; }
.t26-tdata__head {
    display: flex; align-items: center; justify-content: space-between; gap: .75rem;
    padding: 1rem 1.25rem; background: var(--t26-dark); color: #fff;
}
.t26 .t26-tdata__head .t26-card__title { color: #fff; margin: 0; }
.t26-tdata__level { padding: .2rem .65rem; border-radius: 999px; background: var(--t26-orange); color: #1f1600; font-weight: 700; font-size: .8rem; }
.t26-seg { display: inline-flex; padding: 3px; border-radius: 999px; background: rgba(255, 255, 255, .12); }
.t26-seg__btn { border: 0; background: none; color: rgba(255, 255, 255, .8); padding: .25rem .7rem; border-radius: 999px; font-weight: 700; font-size: .8rem; cursor: pointer; }
.t26-seg__btn.is-active { background: var(--t26-orange); color: #1f1600; }
.t26-seg__btn:focus-visible { outline: 2px solid #fff; outline-offset: 1px; }
.t26-tdata__panel { padding: 1.25rem; }
.t26-tdata > .t26-tdata__profile, .t26-tdata > .t26-map { margin: 0 1.25rem 1.25rem; }

.t26-tiles { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; }
.t26-tiles li {
    display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; column-gap: .6rem; align-items: center;
    padding: .7rem .75rem; border-radius: 12px; background: var(--t26-tint);
}
.t26-tiles .bi { grid-row: span 2; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; background: #fff; color: var(--t26-orange); font-size: 1.05rem; box-shadow: 0 1px 2px rgba(0, 0, 0, .06); }
.t26-tiles strong { font-size: 1.2rem; line-height: 1.1; color: var(--t26-ink); font-variant-numeric: tabular-nums; }
.t26-tiles span { font-size: .72rem; line-height: 1.2; color: var(--t26-muted); }
.t26-tdata__avg { margin: .75rem 0 0; font-size: .85rem; color: var(--t26-muted); }
.t26-tdata__avg strong { color: var(--t26-ink); }
.t26-tdata__avg .bi { color: var(--t26-orange); }

.t26-ratings { margin: 1.1rem 0 0; display: grid; gap: .55rem; }
.t26-ratings > div { display: grid; grid-template-columns: 8.5rem 1fr; align-items: center; gap: .5rem; }
.t26-ratings dt { font-weight: 600; font-size: .88rem; color: var(--t26-ink); }
.t26-ratings dt .bi { color: var(--t26-orange); margin-right: .2rem; }
.t26-ratings dd { margin: 0; display: flex; align-items: center; gap: .6rem; }
.t26-meter { flex: 1; display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 3px; }
.t26-meter span {
    height: 8px; border-radius: 4px; background: var(--t26-line);
    background-image: linear-gradient(90deg, var(--t26-orange) var(--t26-fill), transparent var(--t26-fill));
}
.t26-meter--green span { background-image: linear-gradient(90deg, var(--t26-ok) var(--t26-fill), transparent var(--t26-fill)); }
.t26-meter__value { min-width: 2.4rem; text-align: right; font-weight: 700; font-size: .88rem; color: var(--t26-ink); font-variant-numeric: tabular-nums; }
.t26-meter__value small { font-weight: 400; color: var(--t26-muted); }

.t26-tdata__block, .t26-tdata__note { margin-top: 1.1rem; padding-top: 1rem; border-top: 1px solid var(--t26-line); }
.t26 .t26-tdata__block h3, .t26 .t26-tdata__note h3 { font-size: .8rem; letter-spacing: .1em; text-transform: uppercase; color: var(--t26-muted); margin: 0 0 .5rem; }
.t26-tdata__block h3 .bi, .t26-tdata__note h3 .bi { color: var(--t26-orange); }
.t26-tdata__list { font-size: .9rem; line-height: 1.5; }
.t26-tdata__list ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .3rem; }
.t26-tdata__list li { position: relative; padding-left: 1.1rem; }
.t26-tdata__list li::before { content: ""; position: absolute; left: .1rem; top: .55em; width: 6px; height: 6px; border-radius: 50%; background: var(--t26-orange); }
.t26-tdata__note { padding: .85rem 1rem; border: 0; border-radius: 10px; background: #fff4e0; }
.t26 .t26-tdata__note h3 { color: #7a4500; }
.t26-tdata__note .t26-tdata__list { color: #5c3500; }
.t26-tdata__note .t26-tdata__list li::before { background: var(--t26-warn); }
.t26-tdata__profile { padding: .75rem; border-radius: 12px; background: var(--t26-tint); }
.t26-tdata__profile figcaption { font-size: .8rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--t26-muted); margin-bottom: .4rem; }
.t26-tdata__profile figcaption .bi { color: var(--t26-orange); }
.t26-tdata__profile img { display: block; width: 100%; height: auto; border-radius: 6px; background: #fff; }
.t26-tdata .t26-map { margin-top: 0; }

/* ---------------------------------------------------------------- Admin button + modal */
.t26-admin__toggle {
    position: fixed; left: 16px; bottom: 16px; z-index: 1050;
    display: inline-flex; align-items: center; gap: .4rem; padding: .55rem .9rem; border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, .15); background: var(--t26-dark); color: #fff; font-weight: 700; font-size: .85rem;
    box-shadow: 0 6px 20px rgba(0, 0, 0, .25); cursor: pointer; opacity: .85; transition: opacity .15s, transform .15s;
}
.t26-admin__toggle:hover, .t26-admin__toggle:focus-visible { opacity: 1; transform: translateY(-1px); }
.t26-admin__toggle .bi { color: var(--t26-orange); }
.t26-admin.has-debugbar .t26-admin__toggle { bottom: 48px; }
@media (max-width: 759px) { .t26-admin__toggle { bottom: 84px; } .t26-admin__toggle span { display: none; } }

.t26-admin__dialog {
    width: min(980px, calc(100vw - 32px)); max-height: calc(100vh - 48px); padding: 0;
    border: 0; border-radius: 16px; box-shadow: 0 24px 64px rgba(0, 0, 0, .35); color: var(--t26-text);
}
.t26-admin__dialog::backdrop { background: rgba(15, 22, 28, .55); backdrop-filter: blur(2px); }
.t26-admin__dialog[open] { display: flex; flex-direction: column; }
.t26-admin__head {
    display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem;
    padding: 1.1rem 1.25rem; background: var(--t26-dark); color: #fff;
}
.t26 .t26-admin__head h2 { color: #fff; font-size: 1.2rem; margin: 0; }
.t26-admin__kicker { margin: 0 0 .2rem; font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--t26-orange); }
.t26-admin__close { border: 0; background: rgba(255, 255, 255, .12); color: #fff; width: 36px; height: 36px; border-radius: 50%; cursor: pointer; flex: 0 0 auto; }
.t26-admin__close:hover { background: rgba(255, 255, 255, .25); }
.t26-admin__body { padding: 1.25rem; overflow-y: auto; display: grid; gap: 1.5rem; }
.t26 .t26-admin__body h3 { font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; color: var(--t26-muted); margin: 0 0 .6rem; }
.t26 .t26-admin__body section > dl + h3 { margin-top: 1.25rem; }
.t26-admin__grid { display: grid; gap: 1.5rem; }
@media (min-width: 760px) { .t26-admin__grid { grid-template-columns: 1fr 1fr; } }
.t26-admin__dl { margin: 0; border: 1px solid var(--t26-line); border-radius: 10px; overflow: hidden; }
.t26-admin__dl > div { display: grid; grid-template-columns: 11rem 1fr; gap: .75rem; padding: .45rem .75rem; font-size: .88rem; }
.t26-admin__dl > div:nth-child(odd) { background: var(--t26-tint); }
.t26-admin__dl dt { font-weight: 600; color: var(--t26-ink); }
.t26-admin__dl dd { margin: 0; overflow-wrap: anywhere; }
.t26-admin__dl code, .t26-admin__table code { font-size: .82rem; color: #b4004e; }
.t26-admin__yes { color: var(--t26-ok); font-weight: 600; }
.t26-admin__no { color: var(--t26-muted); }
.t26-admin__links { display: flex; flex-wrap: wrap; gap: .5rem; }
.t26 .t26-admin__links a {
    display: inline-flex; align-items: center; gap: .4rem; padding: .45rem .85rem; border-radius: 8px;
    border: 1px solid var(--t26-line); color: var(--t26-ink); text-decoration: none; font-weight: 600; font-size: .88rem;
}
.t26 .t26-admin__links a:hover { border-color: var(--t26-blue); color: var(--t26-blue); }
.t26-admin__devices { display: flex; flex-wrap: wrap; gap: .5rem; }
.t26-admin__devices button {
    display: inline-flex; align-items: center; gap: .45rem; padding: .55rem .9rem; border-radius: 10px; cursor: pointer;
    border: 1px solid var(--t26-line); background: #fff; color: var(--t26-ink); font-weight: 700; font-size: .9rem;
}
.t26-admin__devices button small { font-weight: 400; color: var(--t26-muted); }
.t26-admin__devices button:hover { border-color: var(--t26-orange); }
.t26-admin__devices button.is-active { background: var(--t26-orange); border-color: var(--t26-orange); color: #1f1600; }
.t26-admin__devices button.is-active small { color: #4d3200; }
.t26-admin__table { overflow-x: auto; border: 1px solid var(--t26-line); border-radius: 10px; }
.t26-admin__table table { width: 100%; border-collapse: collapse; font-size: .84rem; white-space: nowrap; }
.t26-admin__table th { position: sticky; top: 0; background: var(--t26-tint); text-align: left; font-weight: 700; color: var(--t26-ink); }
.t26-admin__table th, .t26-admin__table td { padding: .4rem .6rem; border-bottom: 1px solid var(--t26-line); }
.t26-admin__table tr:last-child td { border-bottom: 0; }
.t26-admin__muted { color: var(--t26-line); }
.t26-admin__bad { color: var(--t26-sold); font-weight: 700; }

/* ---------------------------------------------------------------- Device preview (the page in a sized iframe) */
html.t26-preview-open { overflow: hidden; }
.t26-preview { position: fixed; inset: 0; z-index: 2147480000; display: flex; flex-direction: column; background: #10171c; }
.t26-preview[hidden] { display: none; }
.t26-preview__bar {
    display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; padding: .6rem 1rem;
    background: var(--t26-dark); border-bottom: 1px solid rgba(255, 255, 255, .08);
}
.t26-admin__devices--compact button { padding: .35rem .7rem; font-size: .82rem; background: rgba(255, 255, 255, .08); border-color: transparent; color: #fff; }
.t26-preview__btn { border: 0; border-radius: 8px; padding: .4rem .7rem; background: rgba(255, 255, 255, .08); color: #fff; font-size: .82rem; font-weight: 700; cursor: pointer; }
.t26-preview__btn:hover, .t26-admin__devices--compact button:hover { background: rgba(255, 255, 255, .18); }
.t26-preview__size { margin-left: auto; font-size: .82rem; color: rgba(255, 255, 255, .6); font-variant-numeric: tabular-nums; }
.t26-preview__stage { flex: 1; display: flex; align-items: flex-start; justify-content: center; padding: 24px; overflow: hidden; }
.t26-preview__device {
    flex: 0 0 auto; transform-origin: top center; background: #fff; overflow: hidden;
    border: 12px solid #000; border-radius: 36px; box-shadow: 0 0 0 2px #2b3740, 0 30px 80px rgba(0, 0, 0, .6);
    box-sizing: content-box !important; transition: width .3s ease, height .3s ease;
}
.t26-preview__device--tablet { border-radius: 28px; border-width: 16px; }
.t26-preview__device--desktop { border-radius: 10px; border-width: 10px 10px 28px; }
.t26-preview__device iframe { display: block; width: 100%; height: 100%; border: 0; background: #fff; }

@media print {
    .t26-admin, .t26-preview { display: none !important; }
    .t26-subnav, .t26-mobilebar, .t26-hero__controls { display: none !important; }
    .t26-hero { color: var(--t26-ink); background: none; }
    .t26-hero__media { display: none; }
    .t26 .t26-hero__title { color: var(--t26-ink); text-shadow: none; }
}
.t26-route__stop .bi { margin-left: .35rem; color: var(--t26-orange); font-size: .85em; }
.t26-desc article p > strong:first-child + br, .t26-desc article > strong:first-child + br { display: none; }
