/* Route chooser: scoped to the Curonian Spit guide, ordinary HTML works without JS. */
.entry-content.city-content .kosa-routes { margin: 2.5rem 0 3.5rem; }
.entry-content.city-content .kosa-routes__intro { max-width: 42rem; margin-bottom: 1.5rem; }
.entry-content.city-content .kosa-routes__eyebrow { color: #a25c1b; font: 600 .75rem/1.5 Inter, sans-serif; letter-spacing: .15em; text-transform: uppercase; margin-bottom: .65rem; }
.entry-content.city-content .kosa-routes h2 { margin-top: 0; font-size: clamp(1.9rem, 3vw, 2.6rem); line-height: 1.08; }
.entry-content.city-content .kosa-routes__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; align-items: stretch; }
.entry-content.city-content .kosa-route { min-width: 0; border: 1px solid #ded8c6; border-radius: 22px; padding: clamp(1.1rem, 2.3vw, 1.7rem); background: #fffcf4; color: #263c32; box-shadow: 0 10px 30px #103c2c08; }
.entry-content.city-content .kosa-route--featured { background: linear-gradient(145deg, #164c3a, #092e24); border-color: #164c3a; color: #f7f0da; }
.entry-content.city-content .kosa-route__label { color: #956022; font: 600 .72rem/1.5 Inter, sans-serif; letter-spacing: .1em; text-transform: uppercase; margin: 0 0 .7rem; }
.entry-content.city-content .kosa-route--featured .kosa-route__label { color: #e9bb64; }
.entry-content.city-content .kosa-route h3 { color: inherit; font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.85rem; font-weight: 500; line-height: 1.1; margin: 0 0 1rem; }
.entry-content.city-content .kosa-route p { color: inherit; font-size: .94rem; line-height: 1.65; }
.entry-content.city-content .kosa-route__meta { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: 1rem; }
.entry-content.city-content .kosa-route__meta span { color: inherit; border: 1px solid #dad3bd; border-radius: 8px; padding: .25rem .55rem; font: 500 .72rem/1.5 Inter, sans-serif; }
.entry-content.city-content .kosa-route--featured .kosa-route__meta span { border-color: #718573; }
.entry-content.city-content .kosa-route__steps { counter-reset: kosa-stop; list-style: none; margin: 1.3rem 0; padding: 0; }
.entry-content.city-content .kosa-route__steps li { color: inherit; counter-increment: kosa-stop; position: relative; padding: 0 0 1.2rem 2.05rem; margin: 0; border: 0; }
.entry-content.city-content .kosa-route__steps li::before { content: counter(kosa-stop); position: absolute; left: 0; top: .1rem; width: 1.4rem; height: 1.4rem; display: grid; place-items: center; border-radius: 50%; background: #ebd4a4; color: #193d2d; font: 600 .7rem/1 Inter, sans-serif; }
.entry-content.city-content .kosa-route__steps li:not(:last-child)::after { content: ''; position: absolute; left: .68rem; top: 1.65rem; bottom: .3rem; width: 1px; background: #b9bcaa; opacity: .55; }
.entry-content.city-content .kosa-route__steps strong { display: block; font-size: .9rem; line-height: 1.5; margin-bottom: .35rem; color: inherit; }
.entry-content.city-content .kosa-route__steps span { color: inherit; display: block; font-size: .88rem; line-height: 1.6; }
.entry-content.city-content .kosa-route a { color: #32613e; text-decoration: underline; text-underline-offset: .15em; }
.entry-content.city-content .kosa-route--featured a { color: #f5d590; }
.entry-content.city-content .kosa-route a:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.entry-content.city-content .kosa-route__tip { padding-top: 1rem; border-top: 1px solid #b9bcaa70; margin-bottom: .75rem; }
.entry-content.city-content .kosa-route .kosa-route__source { font-size: .76rem; line-height: 1.5; margin-bottom: 0; }
.entry-content.city-content .kosa-routes__note { font-size: .85rem; line-height: 1.65; border-left: 3px solid #c98b32; padding: .4rem 0 .4rem 1rem; margin: 1.5rem 0 0; }
@media (max-width: 680px) {
    .entry-content.city-content .kosa-routes__grid { grid-template-columns: minmax(0, 1fr); }
    .entry-content.city-content .kosa-route h3 { font-size: 1.75rem; }
    .entry-content.city-content .kosa-route { border-radius: 18px; }
}
@media (prefers-reduced-motion: reduce) {
    .kosa-routes { scroll-behavior: auto; }
}

.entry-content.city-content .kosa-routes__choices { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0 0 1.5rem; }
.entry-content.city-content .kosa-routes__choices a { display: inline-block; padding: .55rem .9rem; border: 1px solid #c6b58e; border-radius: 999px; color: #244d39; background: #f5ebd6; font-size: .85rem; text-decoration: none; }
.entry-content.city-content .kosa-routes__choices a:hover, .entry-content.city-content .kosa-routes__choices a:focus-visible { background: #e9d7b0; outline: 2px solid #244d39; outline-offset: 2px; }
.entry-content.city-content .kosa-route h3 { scroll-margin-top: 110px; }

/* The comprehensive day trip leads the chooser; shorter options remain below. */
.entry-content.city-content .kosa-route--full-day { grid-column: 1 / -1; }
.entry-content.city-content .kosa-route--full-day .kosa-route__line { padding: 1rem; border: 1px solid #718573; border-radius: 12px; color: #f5d590; font-size: .85rem; line-height: 1.8; }
@media (min-width: 681px) {
    .entry-content.city-content .kosa-route--full-day .kosa-route__steps { columns: 2; column-gap: 2rem; }
    .entry-content.city-content .kosa-route--full-day .kosa-route__steps li { break-inside: avoid; }
}

/* Practical guide: accessible road-order scheme and actual parking destinations. */
.entry-content.city-content .kosa-practical-card,
.entry-content.city-content .kosa-trail-map { margin: 2rem 0 3rem; padding: clamp(1.1rem, 3vw, 2rem); border: 1px solid #d8cfb9; border-radius: 22px; background: #fcf7e9; }
.entry-content.city-content .kosa-practical-card h2,
.entry-content.city-content .kosa-trail-map h2 { margin-top: 0; }
.entry-content.city-content .kosa-ticket-price strong { display: inline-block; font: 600 clamp(2.5rem, 6vw, 3.5rem)/1.15 'Cormorant Garamond', Georgia, serif; color: #164c3a; margin-right: .5rem; }
.entry-content.city-content .kosa-practical-note { font-size: .82rem; line-height: 1.65; color: #565d50; }
.entry-content.city-content .kosa-map-direction { padding: .8rem 1rem; background: #e9eddf; border-radius: 10px; font-size: .85rem; color: #244d39; }
.entry-content.city-content .kosa-trail-line { list-style: none; padding: 0; margin: 1.8rem 0; }
.entry-content.city-content .kosa-trail-line li { display: grid; grid-template-columns: 5.7rem minmax(0, 1fr); gap: 1rem; margin: 0; padding: 0 0 1.8rem; position: relative; }
.entry-content.city-content .kosa-trail-line li:not(:last-child)::before { content: ''; position: absolute; top: 2rem; bottom: 0; left: 2.8rem; width: 2px; background: #aebc9b; }
.entry-content.city-content .kosa-trail-km { align-self: start; position: relative; z-index: 1; text-align: center; padding: .4rem .25rem; border-radius: 8px; background: #164c3a; color: #fff6df; font: 600 .78rem/1.5 Inter, sans-serif; }
.entry-content.city-content .kosa-trail-line h3 { margin: 0 0 .35rem; font-size: 1.65rem; line-height: 1.15; }
.entry-content.city-content .kosa-trail-line p { margin: 0 0 .35rem; font-size: .9rem; line-height: 1.6; }
.entry-content.city-content .kosa-trail-line div > a { font-size: .8rem; }
.entry-content.city-content .kosa-parking { margin: 3rem 0; }
.entry-content.city-content .kosa-parking-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.entry-content.city-content .kosa-park { min-width: 0; padding: 1.2rem; border: 1px solid #d8cfb9; border-radius: 18px; background: #fffcf4; scroll-margin-top: 110px; }
.entry-content.city-content .kosa-park h3 { margin: 0 0 .7rem; font-size: 1.7rem; line-height: 1.1; }
.entry-content.city-content .kosa-park p { font-size: .85rem; line-height: 1.65; margin-bottom: .7rem; }
.entry-content.city-content .kosa-coordinates { font-variant-numeric: tabular-nums; font-weight: 600; color: #244d39; overflow-wrap: anywhere; }
.entry-content.city-content .kosa-practical-card a,
.entry-content.city-content .kosa-trail-map a,
.entry-content.city-content .kosa-parking a { color: #28583b; text-underline-offset: .15em; }
.entry-content.city-content .kosa-practical-card a:focus-visible,
.entry-content.city-content .kosa-trail-map a:focus-visible,
.entry-content.city-content .kosa-parking a:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.entry-content.city-content #kosa-ticket,
.entry-content.city-content #kosa-map,
.entry-content.city-content #kosa-parking { scroll-margin-top: 110px; }
@media (max-width: 680px) {
    .entry-content.city-content .kosa-parking-grid { grid-template-columns: minmax(0, 1fr); }
    .entry-content.city-content .kosa-trail-line li { grid-template-columns: 4.5rem minmax(0, 1fr); gap: .75rem; }
    .entry-content.city-content .kosa-trail-line li:not(:last-child)::before { left: 2.2rem; }
    .entry-content.city-content .kosa-trail-line h3 { font-size: 1.45rem; }
}
