/* Approved roadside route board. Native details and links work without JS. */
.single-product .tss-route-board { position:relative; box-sizing:border-box; isolation:isolate; display:grid; grid-template-columns:minmax(0,.84fr) minmax(0,1.66fr); gap:45px; width:100%; max-width:1320px; margin:45px auto 0; padding:48px 28px 44px; border-top:1px solid #c8ceb2; color:#141b17; }
.tss-route-board *, .tss-route-board *::before, .tss-route-board *::after { box-sizing:border-box; }
.tss-route-board::before { content:''; position:absolute; z-index:-1; inset:auto -3vw 0; height:170px; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 170' preserveAspectRatio='none'%3E%3Cpath fill='%23d5dfbf' d='M0 28C155 -5 195 27 360 93S665 142 830 109S965 110 1000 106V170H0Z'/%3E%3C/svg%3E") center/100% 100% no-repeat; }
.tss-route-board__intro { display:flex; flex-direction:column; align-items:flex-start; min-width:0; }
.single-product .tss-route-board__intro h2 { margin:0 0 15px; padding:0; text-align:left; font-size:clamp(30px,3vw,45px); font-weight:800; line-height:1.06; letter-spacing:-.045em; color:#111711; }
.single-product .tss-route-board__intro > p { margin:0; max-width:32ch; font-size:18px; line-height:1.45; }
.single-product .tss-route-board__scene { display:block; width:112%; max-width:none; height:auto; margin:auto 0 0 -7%; padding-top:28px; }
.single-product .tss-route-board__label { margin:0 0 10px; font-size:20px; font-weight:750; letter-spacing:-.025em; }
.single-product .tss-route-board__list { list-style:none; padding:0; margin:0; }
.tss-route-board__row { display:grid; grid-template-columns:90px minmax(0,1fr) 142px; gap:20px; align-items:center; min-height:165px; padding:22px 0; border-bottom:1px solid #9b9f8b; }
.tss-route-board__row:last-child { border-bottom:0; }
.tss-route-board__art { display:block; text-decoration:none; }
.single-product .tss-route-board__art img { display:block; width:90px; height:110px; object-fit:contain; border-radius:5px; }
.tss-route-board__facts { min-width:0; }
.single-product .tss-route-board__facts h3 { margin:0 0 5px; font-size:23px; line-height:1.18; font-weight:780; letter-spacing:-.035em; }
.single-product .tss-route-board__facts h3 a { color:inherit; text-decoration:none; }
.single-product .tss-route-board__name { margin:0; font-size:13px; line-height:1.5; color:#3e483e; }
.single-product .tss-route-board__stops { display:flex; list-style:none; padding:0; margin:22px 0 0; gap:0; }
.tss-route-board__stops li { position:relative; flex:1; min-width:0; padding:0 5px; text-align:center; font-size:11px; font-weight:650; line-height:1.3; }
.tss-route-board__stops li::before { content:''; position:absolute; top:8px; height:2px; background:#252b22; left:-50%; width:100%; z-index:0; }
.tss-route-board__stops li:first-child::before { display:none; }
.tss-route-board__stops li > span { display:block; position:relative; width:18px; height:18px; margin:0 auto 7px; border:2px solid #171d17; border-radius:50%; background:#d5dfbf; z-index:1; }
.tss-route-board__stops li.is-current > span { background:#ffdc2f; }
.tss-route-board__buy { border-left:1px solid #bfc6af; padding-left:20px; }
.tss-route-board__from { display:block; font-size:11px; line-height:1.4; }
.single-product .tss-route-board__price { display:block; font-size:29px; line-height:1.2; margin:3px 0 13px; font-weight:780; letter-spacing:-.04em; color:#111711; }
.single-product .tss-route-board__cta { display:flex; justify-content:space-between; align-items:center; gap:12px; min-height:44px; padding:10px 12px; border:2px solid #161c17; border-radius:7px; box-shadow:2px 3px 0 #161c17; background:#ffdc2f; color:#111711; text-decoration:none; font-size:13px; line-height:1.2; font-weight:750; }
.single-product .tss-route-board__cta:active { transform:translate(1px,1px); box-shadow:1px 2px 0 #161c17; }
.tss-route-board a:focus-visible, .tss-route-board summary:focus-visible { outline:3px solid #20576a; outline-offset:4px; }
.tss-route-board__coverage { margin-top:18px; }
.tss-route-board__coverage summary { cursor:pointer; min-height:35px; font-size:13px; line-height:1.4; text-decoration:underline; text-underline-offset:4px; }
.tss-route-board__coverage ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px 14px; list-style:none; padding:8px 0 0; margin:0; font-size:12px; line-height:1.4; }
.single-product .tss-route-board__coverage p { font-size:12px; margin:12px 0 0; }
.single-product .tss-route-board__footnote { margin:25px 0 0; font-size:12px; line-height:1.5; color:#45513d; }
@media (max-width:1050px) and (min-width:761px) { .single-product .tss-route-board { gap:24px; grid-template-columns:minmax(0,.7fr) minmax(0,1.6fr); padding-inline:15px; } .tss-route-board__row { grid-template-columns:60px minmax(0,1fr) 120px; gap:12px; } .single-product .tss-route-board__art img { width:60px; height:90px; } .single-product .tss-route-board__facts h3 { font-size:19px; } .tss-route-board__buy { padding-left:12px; } .single-product .tss-route-board__cta { font-size:12px; gap:7px; padding:10px 8px; white-space:nowrap; } }
@media (max-width:760px) {
 .single-product .tss-route-board { display:block; margin-top:28px; padding:30px 0 28px; }
 .tss-route-board::before { inset:auto 0 0; height:100px; }
 .tss-route-board__intro { display:grid; grid-template-columns:minmax(0,1fr) 112px; column-gap:10px; margin-bottom:25px; }
 .single-product .tss-route-board__intro h2 { font-size:30px; grid-column:1 / -1; margin-bottom:12px; }
 .single-product .tss-route-board__intro > p { font-size:14px; grid-column:1; }
 .single-product .tss-route-board__scene { grid-column:2; grid-row:2; align-self:end; width:125%; margin:0 0 0 -20%; padding-top:0; }
 .single-product .tss-route-board__label { font-size:16px; margin-bottom:3px; }
 .tss-route-board__row { grid-template-columns:62px minmax(0,1fr); gap:12px 15px; padding:23px 0; }
 .single-product .tss-route-board__art img { width:62px; height:83px; }
 .single-product .tss-route-board__facts h3 { font-size:20px; }
 .single-product .tss-route-board__name { font-size:12px; }
 .tss-route-board__buy { grid-column:2; display:grid; grid-template-columns:minmax(0,1fr) auto; column-gap:10px; align-items:center; border:0; padding:0; }
 .tss-route-board__from { grid-column:1; font-size:10px; }
 .single-product .tss-route-board__price { grid-column:1; font-size:25px; margin:0; }
 .single-product .tss-route-board__cta { grid-column:2; grid-row:1 / 3; font-size:12px; padding:9px 10px; gap:12px; }
 .single-product .tss-route-board__stops { margin-top:16px; }
 .tss-route-board__stops li { font-size:10px; padding-inline:2px; }
 .single-product .tss-route-board__footnote { margin-top:12px; }
}
