.visual-site.r-route-page .r-destination-plan{margin:0 0 40px;padding:30px;border:1px solid var(--line);border-radius:4px;background:var(--paper)}
.visual-site.r-route-page .r-destination-plan figcaption{font-size:25px;line-height:1.4;font-weight:700;letter-spacing:-.4px;margin:0 0 26px}
.visual-site.r-route-page .r-destination-grid{display:grid;grid-template-columns:minmax(0,1fr) 70px minmax(0,1.2fr);align-items:center;gap:20px}
.visual-site.r-route-page .r-origin{padding:26px;border:1px solid var(--line);background:#fff;border-radius:4px}
.visual-site.r-route-page .r-origin>.v-icon{width:28px;height:28px;color:var(--red);display:block;margin-bottom:16px}
.visual-site.r-route-page .r-origin strong{font-size:22px;line-height:1.5}
.visual-site.r-route-page .r-origin p{font-size:16px;line-height:1.75;color:var(--muted);margin:12px 0 0}
.visual-site.r-route-page .r-connect{color:var(--red);display:grid;place-items:center}
.visual-site.r-route-page .r-connect .v-icon{width:36px;height:36px}
.visual-site.r-route-page .r-destinations{display:grid;gap:14px}
.visual-site.r-route-page .r-destinations>a{display:grid;grid-template-columns:46px minmax(0,1fr) 24px;align-items:center;gap:16px;min-height:96px;padding:20px;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--ink);text-decoration:none}
.visual-site.r-route-page .r-destinations>a:hover{border-color:var(--red)}
.visual-site.r-route-page .r-country-code{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:4px;color:var(--red);font-size:15px;font-weight:700}
.visual-site.r-route-page .r-destinations strong{font-size:19px;line-height:1.5;display:block}.visual-site.r-route-page .r-destinations small{font-size:14px;line-height:1.6;color:var(--muted);display:block;margin-top:4px}
.visual-site.r-route-page .r-destinations .v-icon{color:var(--red)}
.visual-site.r-route-page .r-plan-note{font-size:14px;line-height:1.8;margin:24px 0 0;padding-top:18px;border-top:1px solid var(--line);color:var(--muted)}
.visual-site.r-route-page .r-catalogue-title{font-size:29px;line-height:1.4;margin:0 0 26px}.visual-site.r-route-page .r-preparation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:24px}
.visual-site.r-route-page .r-preparation-card{display:flex;flex-direction:column;border:1px solid var(--line);background:#fff;border-radius:4px;padding:22px;color:var(--ink);text-decoration:none;min-width:0;overflow-wrap:anywhere}
.visual-site.r-route-page .r-preparation-card:hover{border-color:var(--red)}.visual-site.r-route-page .r-tool-icon{color:var(--red);display:block;margin-bottom:14px}
.visual-site.r-route-page .r-preparation-card h3{font-size:18px;line-height:1.5;margin:0 0 12px}.visual-site.r-route-page .r-preparation-card p{font-size:15px;line-height:1.8;color:var(--muted);margin:0 0 20px}.visual-site.r-route-page .r-preparation-card .link{font-size:14px;line-height:1.6;color:var(--red);margin-top:auto}
.visual-site.r-route-page .r-stage-resource{display:inline-flex;align-items:center;min-height:44px;font-size:14px;line-height:1.6;font-weight:600;color:var(--red);margin-top:8px;text-decoration:underline;text-underline-offset:4px}
.visual-site.r-route-page h2[tabindex]:focus-visible{outline:2px solid var(--red);outline-offset:6px;width:fit-content}.visual-site.r-route-page #route-preparation,.visual-site.r-route-page #route-destinations{scroll-margin-top:36px}
@media(max-width:1000px){.visual-site.r-route-page .reading-contents{display:none}.visual-site.r-route-page .reading-contents-mobile{display:block}.visual-site.r-route-page .r-preparation-grid{grid-template-columns:1fr}.visual-site.r-route-page .r-preparation-card{display:grid;grid-template-columns:28px minmax(0,1fr);column-gap:16px;padding:22px}.visual-site.r-route-page .r-tool-icon{grid-column:1;grid-row:1 / 4;margin:0}.visual-site.r-route-page .r-preparation-card h3,.visual-site.r-route-page .r-preparation-card p,.visual-site.r-route-page .r-preparation-card .link{grid-column:2}.visual-site.r-route-page .r-preparation-card p{margin-bottom:14px}}
@media(max-width:780px){.visual-site.r-route-page .r-destination-plan{padding:24px}.visual-site.r-route-page .r-destination-grid{grid-template-columns:1fr;gap:18px}.visual-site.r-route-page .r-connect{display:none}.visual-site.r-route-page .r-origin{padding:22px}.visual-site.r-route-page .r-destinations>a{padding:18px;gap:14px}.visual-site.r-route-page .r-destination-plan figcaption{font-size:23px}.visual-site.r-route-page .r-catalogue-title{font-size:26px}.visual-site.r-route-page .r-preparation-card{padding:20px}.visual-site.r-route-page .r-destinations strong{font-size:18px}}
@media(max-width:1000px){
 .visual-site.r-route-page .reading-contents-mobile{position:static;margin:0 0 28px;padding:0;border:1px solid var(--line);border-radius:4px;background:var(--paper)}
 .visual-site.r-route-page .reading-contents-mobile>summary{display:grid;grid-template-columns:minmax(0,1fr) 12px;column-gap:12px;padding:16px 20px;list-style:none;font-size:15px;line-height:1.5;cursor:pointer}
 .visual-site.r-route-page .reading-contents-mobile>summary::-webkit-details-marker{display:none}
 .visual-site.r-route-page .reading-contents-mobile>summary::after{content:'';grid-column:2;grid-row:1 / 3;align-self:center;width:8px;height:8px;border-right:2px solid var(--red);border-bottom:2px solid var(--red);transform:rotate(45deg)}
 .visual-site.r-route-page .reading-contents-mobile[open]>summary::after{transform:rotate(225deg)}
 .visual-site.r-route-page .reading-current{grid-column:1;display:block;min-width:0;min-height:18px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:400;color:var(--muted)}
 .visual-site.r-route-page .reading-contents-mobile nav{display:grid;gap:0;margin:0 20px;max-height:min(55dvh,420px);overflow-y:auto;overscroll-behavior:contain}
 .visual-site.r-route-page .reading-contents-mobile nav a{display:flex;align-items:center;min-height:44px;padding:12px 0;border-top:1px solid var(--line);font-size:14px;line-height:1.5;overflow-wrap:anywhere}
 .visual-site.r-route-page .reading-contents-mobile>.btn{display:flex;margin:12px 20px 20px;padding:12px 18px;white-space:normal;text-align:center}
 .visual-site.r-route-page .reading-contents-mobile:not([open])>.btn{display:none}
}
@media print{.visual-site.r-route-page .reading-contents,.visual-site.r-route-page .reading-contents-mobile{display:none}}
