.zt #tour{scroll-margin-top:90px;background:#f4f9fb}.zt .zv-search{display:grid;grid-template-columns:220px 1fr auto;gap:18px;align-items:end;background:white;padding:22px;border:1px solid #ddebf0;border-radius:12px}.zt .zv-search label{display:block;font-size:13px;font-weight:700;margin-bottom:6px}.zt .zv-search input,.zt .zv-search select{width:100%;padding:12px;border:1px solid #d2e1e8;border-radius:6px;font:inherit;background:white}.zt #zv-count{margin:22px 0;color:#577285}.zt #zv-catalog .zt-tour-img{display:block;background:linear-gradient(130deg,#009ed4,#64bb58)}.zt #zv-catalog h3 a{color:inherit;text-decoration:none}.zt #zv-catalog h3{font-size:19px;line-height:1.45;min-height:56px}.zt #zv-catalog .zt-tour-body>p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:46px}.zt .zv-location{color:#078c95;font-size:12px;font-weight:700;margin-bottom:8px}.zt #zv-catalog .zt-tour-body{display:flex;flex-direction:column;flex:1}.zt #zv-catalog .zt-tour-card{display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}.zt #zv-catalog .zt-tour-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px #174b641c}.zt #zv-catalog .zt-tour-card[hidden],.zt [hidden]{display:none!important}.zt #zv-catalog .zt-tour-meta{margin-top:auto}.zt .zt-tour-bottom .zt-btn{white-space:nowrap}.zt #zv-more[hidden]{display:none}.zt .zt-slide{transition:none}@media(max-width:700px){.zt .zv-search{grid-template-columns:1fr;gap:12px}.zt #zv-catalog h3{min-height:0}.zt #tour{scroll-margin-top:65px}.zt .zt-filter-tabs{flex-wrap:wrap}}

.zt .zt-plan-teaser{margin:25px auto;display:flex;align-items:center;justify-content:space-between;gap:25px;padding-top:25px;padding-bottom:25px;background:#eaf5ef;border:1px solid #d8e9df;border-radius:14px}.zt .zt-plan-teaser span{font-size:10px;font-weight:bold;letter-spacing:1.4px;color:#267851}.zt .zt-plan-teaser h2{font-size:25px;margin:6px 0}.zt .zt-plan-teaser p{font-size:14px;color:#557467}.zt .zt-plan-teaser .zt-btn{flex-shrink:0;background:#077b9d}.zt .zt-nav a,.zt .zt-nav summary{padding-left:12px;padding-right:12px;font-size:13px}@media(max-width:750px){.zt .zt-plan-teaser{margin:20px;display:block;padding:22px}.zt .zt-plan-teaser .zt-btn{margin-top:18px}.zt .zt-plan-teaser h2{font-size:23px}}

/* 1.6.0 — illustrated route ribbons for scan-friendly tour cards */
.zt #zv-catalog .zt-tour-img{position:relative;overflow:hidden;min-height:205px;border-radius:14px 14px 0 0}
.zt #zv-catalog .zt-tour-img img{display:block;width:100%;height:220px;object-fit:cover;transition:transform .45s ease}
.zt #zv-catalog .zt-tour-card:hover .zt-tour-img img{transform:scale(1.045)}
.zt #zv-catalog .zt-tour-img:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#09273db8);pointer-events:none}
.zt #zv-catalog .zt-tour-tag,.zt #zv-catalog .zt-image-hint{position:absolute;z-index:1;color:#fff}
.zt #zv-catalog .zt-tour-tag{top:14px;left:14px;padding:7px 11px;border-radius:999px;background:#073b50c9;font-size:10px;font-weight:800;letter-spacing:.08em}
.zt #zv-catalog .zt-image-hint{right:15px;bottom:14px;font-size:11px;font-weight:800;letter-spacing:.08em}
.zt #zv-catalog .zt-tour-body{padding:19px 20px 18px}
.zt #zv-catalog h3{font-size:18px;line-height:1.38;min-height:50px;margin:5px 0 13px}
.zt #zv-catalog .zt-card-route{padding:12px 13px;margin:0 0 12px;border:1px solid #dceeea;border-radius:12px;background:linear-gradient(110deg,#f0f8fb,#f1f9f1)}
.zt #zv-catalog .zt-route-label{display:block;margin-bottom:9px;color:#507481;font-size:9px;font-weight:800;letter-spacing:.1em}
.zt #zv-catalog .zt-route-stops{display:flex;align-items:center;gap:6px;overflow:hidden;white-space:nowrap}
.zt #zv-catalog .zt-route-stop{display:flex;align-items:center;gap:4px;min-width:0;color:#1e5364;font-size:11px;font-weight:750}
.zt #zv-catalog .zt-route-stop i{font-style:normal;font-size:13px}
.zt #zv-catalog .zt-route-link{height:2px;min-width:12px;flex:1;background:linear-gradient(90deg,#20a8c1,#62b66a);position:relative}
.zt #zv-catalog .zt-route-link:after{content:"";position:absolute;right:-1px;top:-3px;width:7px;height:7px;border-right:2px solid #35a98b;border-top:2px solid #35a98b;transform:rotate(45deg)}
.zt #zv-catalog .zt-card-summary{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:40px;margin:0 0 11px;color:#607985;font-size:13px;line-height:1.55}
.zt #zv-catalog .zt-tour-meta{padding-top:11px;border-top:1px solid #edf1f2;color:#315f6b;font-size:12px}
.zt #zv-catalog .zt-tour-bottom{align-items:center;gap:10px;margin-top:13px}
.zt #zv-catalog .zt-tour-bottom strong{color:#23836f;font-size:12px}
.zt #zv-catalog .zt-btn{padding:10px 14px;border-radius:9px;background:linear-gradient(110deg,#087eae,#119b79);font-size:12px}
@media(max-width:700px){.zt #zv-catalog .zt-tour-img,.zt #zv-catalog .zt-tour-img img{height:190px;min-height:190px}.zt #zv-catalog .zt-tour-body{padding:16px}.zt #zv-catalog .zt-route-stop{font-size:10px}.zt #zv-catalog .zt-route-link{min-width:7px}}
@media(prefers-reduced-motion:reduce){.zt #zv-catalog .zt-tour-img img{transition:none}}

/* 1.6.2: keep route labels readable and arrows at a fixed, non-overlapping width */
.zt #zv-catalog .zt-route-stops{display:flex;align-items:center;flex-wrap:wrap;gap:6px 4px;overflow:visible;white-space:normal}
.zt #zv-catalog .zt-route-stop{display:flex;align-items:center;flex:0 1 auto;min-width:max-content;max-width:100%;gap:3px;white-space:nowrap;font-size:10px}
.zt #zv-catalog .zt-route-stop i{flex:0 0 12px;width:12px;text-align:center;font-size:12px}
.zt #zv-catalog .zt-route-link{display:block;position:relative;flex:0 0 10px;width:10px;min-width:10px;height:2px;margin:0 1px;overflow:visible}
.zt #zv-catalog .zt-origin-meta{display:block;margin-top:4px;color:#52747a;font-size:11px}
@media(max-width:700px){.zt #zv-catalog .zt-route-stops{gap:5px}.zt #zv-catalog .zt-route-link{display:none}.zt #zv-catalog .zt-route-stop{padding:4px 7px;border:1px solid #dceeea;border-radius:999px;background:#fff;font-size:10px}}

/* Topic links remain available from the main navigation dropdowns. */
.zt .zt-topic-menu{display:grid;grid-template-columns:1fr 1fr;min-width:290px;padding:7px;background:#fff;border:1px solid #dce8eb;box-shadow:0 12px 28px #0d253126;border-radius:0 0 12px 12px}
.zt .zt-topic-menu a{padding:10px 12px;color:#23475a;text-decoration:none;font-weight:500}
.zt .zt-topic-menu a:hover{color:#087ea4;background:#eef8f8}
.zt .zt-topic-menu .zt-topic-all{grid-column:1/-1;border-top:1px solid #e6eef0;color:#087ea4;font-weight:750}
@media(max-width:750px){.zt .zt-topic-menu{grid-template-columns:1fr;min-width:0}.zt .zt-topic-menu .zt-topic-all{grid-column:auto}}
.zt .zt-slide-credit{display:block;margin-top:10px;color:#fff;font-size:11px;opacity:.92;text-shadow:0 1px 4px #102b3a}.zt .zt-slide-credit a{color:#fff;text-decoration:underline;text-underline-offset:2px}.zt .zt-slide-credit a:hover{opacity:.8}
.zv-home-to-top{position:fixed;z-index:99990;right:22px;bottom:145px;display:grid;place-items:center;width:46px;height:46px;padding:0;border:1px solid #ffffffaa;border-radius:50%;background:linear-gradient(145deg,#087ca0,#079978);box-shadow:0 8px 24px #103e5338;color:#fff;font:700 25px/1 Inter,"Segoe UI",Arial,sans-serif;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.zv-home-to-top[hidden]{display:none}.zv-home-to-top:hover{box-shadow:0 10px 28px #103e534d;transform:translateY(-3px)}.zv-home-to-top:focus-visible{outline:3px solid #087ca055;outline-offset:3px}@media(max-width:700px){.zv-home-to-top{right:15px;bottom:130px;width:43px;height:43px}}@media(prefers-reduced-motion:reduce){.zv-home-to-top{transition:none}}
