/* Horizontal, optional suggestions inside the existing first booking step. */
#app .rt-related-items { margin:22px 0 14px; min-width:0; }
.rt-related-heading { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:12px; }
#app .rt-related-heading h3 { margin:0 0 5px; font-size:clamp(18px,4.7vw,23px); line-height:1.22; color:#153e32; }
.rt-related-heading p { margin:0; font-size:14px; line-height:1.4; color:#58675f; }
.rt-related-arrows { display:flex; gap:5px; flex-shrink:0; }
#app .rt-related-arrows button { min-height:38px; min-width:32px; padding:3px 8px; font-size:25px; background:#fff; color:#08786b; border:1px solid #c9ded5; }
.rt-related-rail { display:flex; gap:12px; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x proximity; scrollbar-width:thin; scrollbar-color:#b9d7c7 transparent; padding:2px 1px 10px; }
#app .rt-related-card { flex:0 0 164px; box-sizing:border-box; display:flex; flex-direction:column; padding:10px; border:1px solid #dbe7df; border-radius:14px; background:#fff; scroll-snap-align:start; min-width:0; }
.rt-related-photo { display:block; width:100%; height:116px; border-radius:9px; background-color:#f6f9f7; flex-shrink:0; }
.rt-related-fallback { display:grid; place-items:center; }
.rt-related-fallback .rt-bright-item-art { width:100%; height:100%; border:0; }
#app .rt-related-card h4 { margin:10px 0 5px; color:#173d31; font-size:15px; line-height:1.3; overflow-wrap:anywhere; }
#app .rt-related-card .rt-related-price { margin:0 0 10px; color:#62746a; font-size:11px; line-height:1.4; }
#app .rt-related-card button { min-height:44px; margin-top:auto; padding:9px 8px; background:#fff; border:1px solid #16876d; color:#126c51; font-size:15px; font-weight:700; }
#app .rt-related-card.rt-related-added { background:#f0fbf4; border-color:#9fd6b6; }
#app .rt-related-card.rt-related-added button { background:#dcf5e6; border-color:#dcf5e6; color:#126443; opacity:1; }
.rt-related-footer { display:flex; align-items:center; justify-content:space-between; gap:10px; font-size:12px; color:#6a7a70; }
#app .rt-related-browse { min-height:44px; padding:6px 0 6px 8px; border:0; color:#126c51; background:transparent; text-decoration:underline; font-size:13px; }
#app .rt-related-note { margin:7px 0 0; padding:10px 12px; border-radius:10px; background:#eaf8ef; color:#185e41; font-size:14px; font-weight:600; }
.rt-related-status { min-height:0; font-size:13px; color:#1a6848; margin:0; }
.rt-related-status:not(:empty) { margin-top:8px; }
@media(max-width:380px) { .rt-related-arrows { display:none; } #app .rt-related-card { flex-basis:144px; } .rt-related-photo { height:104px; } }
@media(min-width:680px) { #app .rt-related-card { flex-basis:177px; } .rt-related-photo { height:126px; } }
