/* KT2 Attraktionen-Tourkarte 1.1 – Kirmestermine visual language. Scoped CSS. */
.kt2-tour{--kt2-red:#DA3A3A;--kt2-dark:#1E1E1E;--kt2-blue:#6EC1E4;--kt2-green:#61CE70;--kt2-bg:#fff;--kt2-soft:#F5F7FA;--kt2-muted:#687480;font-family:var(--e-global-typography-text-font-family,"Spartan",system-ui,sans-serif);color:var(--kt2-dark);max-width:100%;isolation:isolate}
.kt2-tour *{box-sizing:border-box}
.kt2-tour__head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin:0 0 20px}
.kt2-tour__title{font-family:var(--e-global-typography-primary-font-family,"Spartan",system-ui,sans-serif);font-weight:800;color:var(--kt2-dark);font-size:clamp(22px,2.6vw,30px);line-height:1.26;margin:0 0 7px}
.kt2-tour__intro{font-size:14px;line-height:1.6;color:var(--kt2-muted);margin:0}
.kt2-tour__icon{font-size:25px;font-weight:700;color:var(--kt2-red)}
.kt2-tour__years{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 16px}
.kt2-tour__year{font-family:inherit;background:#fff;border:1px solid #dbe0e5;border-radius:30px;color:#556374;padding:9px 16px;font-weight:700;font-size:13px;line-height:1.3;cursor:pointer;box-shadow:none;transition:background .18s ease,border-color .18s ease}
.kt2-tour__year span{font-weight:500;opacity:.9}
.kt2-tour__year:hover,.kt2-tour__year:focus-visible{border-color:var(--kt2-red);color:var(--kt2-red)}
.kt2-tour__year.is-active,.kt2-tour__year.is-active:hover{background:var(--kt2-red);border-color:var(--kt2-red);color:#fff}
.kt2-tour__mapcard{border-radius:18px;background:#fff;border:1px solid #e7ebee;box-shadow:0 8px 30px rgba(30,30,30,.04);overflow:hidden}
.kt2-tour__toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:14px 18px;border-bottom:1px solid #edf0f3;background:#fff}
.kt2-tour__mapheading{font-size:14px;font-weight:800;color:var(--kt2-dark)}
.kt2-tour__controls{display:flex;gap:6px}
.kt2-tour__controls button{display:grid;place-items:center;width:35px;height:34px;padding:0;border-radius:9px;border:1px solid #dbe0e5;background:#fff;color:#333;font-size:19px;line-height:1;cursor:pointer}
.kt2-tour__controls button:hover,.kt2-tour__controls button:focus-visible{border-color:var(--kt2-red);color:var(--kt2-red)}
.kt2-tour__map{height:var(--kt2-map-height,440px);min-height:280px;position:relative;overflow:hidden;background:#FBFAF7}
.kt2-tour__map svg{display:block;width:100%;height:100%;touch-action:none;cursor:grab}
.kt2-tour__map svg.is-dragging{cursor:grabbing}
.kt2-tour__map-bg{fill:#FBFAF7}
.kt2-tour__country{fill:#F2F0EC;stroke:#fff;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.kt2-tour__country.is-visited{fill:#E9DFD0;stroke:#fff;stroke-width:2}
.kt2-tour__subdivision{fill:none;stroke:#fff;stroke-width:1.05;opacity:.93;stroke-linejoin:round;vector-effect:non-scaling-stroke;pointer-events:none}
.kt2-tour__route-shadow,.kt2-tour__route{fill:none;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.kt2-tour__route-shadow{stroke:#fff;stroke-width:8;opacity:.9}
.kt2-tour__route{stroke:var(--kt2-red);stroke-width:4.1}
.kt2-tour__pin{cursor:pointer;outline:none}
.kt2-tour__pin-circle{fill:var(--kt2-red);stroke:#fff;stroke-width:3.5}
.kt2-tour__pin--provisional .kt2-tour__pin-circle{fill:#fff;stroke:#D2852A;stroke-dasharray:5 3}
.kt2-tour__pin--linked .kt2-tour__pin-circle{fill:#647687;stroke:#fff}
.kt2-tour__pin--cancelled .kt2-tour__pin-circle{fill:#A4A8AC;stroke:#fff}
.kt2-tour__pin.is-cluster .kt2-tour__pin-circle{stroke:#fff;stroke-width:5}
.kt2-tour__pin-number{fill:#fff;font-size:16px;font-weight:800;font-family:"Spartan",Arial,sans-serif;pointer-events:none}
.kt2-tour__pin--provisional .kt2-tour__pin-number{fill:#965B16}
.kt2-tour__citylabel{font-size:14px;fill:#26303A;font-weight:800;font-family:Arial,sans-serif;paint-order:stroke;stroke:#fff;stroke-width:4.5;stroke-linejoin:round;pointer-events:none}
.kt2-tour__pin:hover .kt2-tour__pin-circle,.kt2-tour__pin:focus-visible .kt2-tour__pin-circle{stroke:var(--kt2-blue);stroke-width:5}
.kt2-tour__legend{display:flex;gap:15px;align-items:center;flex-wrap:wrap;padding:13px 18px 4px;color:#56616D;font-size:12px}
.kt2-tour__legend[hidden]{display:none}
.kt2-tour__legend>span{display:flex;align-items:center;gap:7px}
.kt2-tour__dot{width:10px;height:10px;display:inline-block;background:var(--kt2-red);border:2px solid #fff;box-shadow:0 0 0 1px var(--kt2-red);border-radius:50%}
.kt2-tour__dot--provisional{background:#fff;box-shadow:0 0 0 1px #D2852A;border-color:#D2852A}
.kt2-tour__dot--linked{background:#647687;box-shadow:0 0 0 1px #647687}
.kt2-tour__hint{margin:5px 0 0;padding:0 18px 13px;font-size:11px;line-height:1.5;color:#7B858F}
.kt2-tour__loading{height:100%;display:flex;align-items:center;justify-content:center;text-align:center;padding:22px;color:#667384;font-size:13px}
.kt2-tour__popup{position:absolute;left:15px;bottom:15px;z-index:4;width:min(390px,calc(100% - 30px));max-height:62%;overflow:auto;background:#fff;border:1px solid #e6e9ed;border-radius:14px;padding:15px 17px;box-shadow:0 12px 35px rgba(30,30,30,.19);font-size:13px}
.kt2-tour__popup-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:9px}
.kt2-tour__popup-head strong{font-size:15px;color:var(--kt2-dark)}
.kt2-tour__popup-head button{border:0;padding:0 4px;background:none;font-size:26px;color:#52606d;cursor:pointer}
.kt2-tour__popup p{margin:0;padding:9px 0;border-top:1px solid #ecedf0;font-size:13px;line-height:1.5}
.kt2-tour__popup a{color:var(--kt2-red);font-weight:800;text-decoration:none}
.kt2-tour__popup a:hover{text-decoration:underline}
.kt2-tour__popup small{display:block;margin-top:3px;color:#687480;font-size:12px}
.kt2-tour__listhead{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:28px 0 14px}
.kt2-tour__listhead h3{margin:0;font-weight:800;font-size:clamp(18px,2vw,23px);line-height:1.25;color:var(--kt2-dark);font-family:inherit}
.kt2-tour__count{color:#677384;font-size:13px;white-space:nowrap}
.kt2-tour__stations{list-style:none!important;padding:0!important;margin:0!important;display:grid;gap:13px}
.kt2-tour__station{list-style:none!important;display:grid;grid-template-columns:144px minmax(0,1fr) 120px;align-items:stretch;gap:18px;border:1px solid #E7EBEF;border-radius:16px;padding:12px;background:#fff;box-shadow:0 3px 15px rgba(27,38,50,.035);overflow:hidden;min-width:0}
.kt2-tour__station:hover{border-color:#D4DBE1;box-shadow:0 7px 22px rgba(27,38,50,.07)}
.kt2-tour__station-media{height:145px;width:144px;position:relative;border-radius:11px;overflow:hidden;background:linear-gradient(145deg,#F3E8E2,#E9EBEF)}
.kt2-tour__image{display:block;width:100%;height:100%;object-fit:cover}
.kt2-tour__image-placeholder{display:grid;place-items:center;width:100%;height:100%;font-size:44px;opacity:.8}
.kt2-tour__image-index{position:absolute;top:9px;left:9px;border-radius:50%;width:27px;height:27px;display:grid;place-items:center;background:var(--kt2-red);border:2px solid #fff;color:#fff;font-size:12px;font-weight:800;box-shadow:0 1px 8px rgba(0,0,0,.15)}
.kt2-tour__station-content{padding:5px 0;min-width:0;align-self:center}
.kt2-tour__station-name{font-family:inherit!important;font-size:17px!important;line-height:1.3!important;font-weight:800!important;margin:0 0 6px!important;color:var(--kt2-dark)!important}
.kt2-tour__station-name a{color:inherit!important;text-decoration:none!important}
.kt2-tour__station-name a:hover{color:var(--kt2-red)!important}
.kt2-tour__station-location,.kt2-tour__station-period{color:#5D6A77;font-size:12px;line-height:1.7}
.kt2-tour__station-period{font-weight:700}
.kt2-tour__station-tags{display:flex;flex-wrap:wrap;gap:6px;margin:9px 0}
.kt2-tour__category,.kt2-tour__highlight,.kt2-tour__tag{display:inline-block;background:#F1F4F6;border-radius:30px;padding:4px 9px;font-size:10px;line-height:1.4;font-weight:700;color:#52606F}
.kt2-tour__category{background:#FCEDEE;color:#A52036}
.kt2-tour__highlight{background:#EFF4F7;color:#566573}
.kt2-tour__tag--confirmed{background:#EAF7EB;color:#267D39}
.kt2-tour__tag--provisional{background:#FFF1DE;color:#9F6523}
.kt2-tour__tag--cancelled{background:#FBE9E7;color:#A94446}
.kt2-tour__station-excerpt{font-size:12px;line-height:1.65;color:#687480;margin:6px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.kt2-tour__missing{display:block;color:#A15C2E;margin-top:4px;font-size:11px}
.kt2-tour__station-action{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;padding:3px 3px 5px 0;gap:18px}
.kt2-tour__date{width:72px;min-height:88px;border:1px solid #F5D6DA;border-radius:12px;background:#FFF5F6;color:var(--kt2-red);display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.1}
.kt2-tour__date-day{font-size:27px;font-weight:900}
.kt2-tour__date-month{font-size:12px;font-weight:800;margin-top:3px}
.kt2-tour__date-year{font-size:10px;color:#8A6E73;margin-top:6px;font-weight:700}
.kt2-tour__detail{color:var(--kt2-red)!important;text-decoration:none!important;font-size:12px;font-weight:800;white-space:nowrap}
.kt2-tour__detail:hover{text-decoration:underline!important}
.kt2-tour__empty{padding:22px;border:1px dashed #DCE1E5;border-radius:12px;color:#657381}
@media(max-width:900px){.kt2-tour__station{grid-template-columns:118px minmax(0,1fr) 100px;gap:12px}.kt2-tour__station-media{width:118px;height:136px}.kt2-tour__station-name{font-size:15px!important}.kt2-tour__detail{font-size:11px}.kt2-tour__date{width:66px}}
@media(max-width:660px){.kt2-tour__head{margin-bottom:16px}.kt2-tour__title{font-size:22px}.kt2-tour__intro{font-size:13px}.kt2-tour__year{padding:8px 12px;font-size:12px}.kt2-tour__map{height:min(var(--kt2-map-height,440px),365px)}.kt2-tour__mapcard{border-radius:14px}.kt2-tour__toolbar{padding:11px 13px}.kt2-tour__legend{padding:12px 13px 3px}.kt2-tour__hint{padding-left:13px;padding-right:13px}.kt2-tour__station{grid-template-columns:90px minmax(0,1fr);grid-template-rows:auto auto;gap:10px;padding:9px;border-radius:12px}.kt2-tour__station-media{grid-row:1/3;width:90px;height:114px}.kt2-tour__station-content{padding:0}.kt2-tour__station-name{font-size:14px!important;margin-bottom:4px!important}.kt2-tour__station-excerpt{display:none}.kt2-tour__station-action{grid-column:2;flex-direction:row-reverse;justify-content:space-between;align-items:center;gap:6px;padding:0}.kt2-tour__date{width:auto;min-height:0;padding:4px 7px;border-radius:7px;flex-direction:row;gap:3px}.kt2-tour__date-day{font-size:11px}.kt2-tour__date-month{font-size:10px;margin:0}.kt2-tour__date-year{font-size:10px;margin:0}.kt2-tour__station-tags{margin:5px 0}.kt2-tour__station-location,.kt2-tour__station-period{font-size:11px}.kt2-tour__category,.kt2-tour__highlight,.kt2-tour__tag{padding:3px 7px;font-size:9px}}
@media(max-width:375px){.kt2-tour__station{grid-template-columns:72px minmax(0,1fr)}.kt2-tour__station-media{width:72px;height:104px}.kt2-tour__detail{font-size:10px}}
@media(prefers-reduced-motion:reduce){.kt2-tour__year{transition:none}}
