.route-builder{background:var(--accent-soft);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:1.5rem;margin:1.8rem 0}.route-builder .rb-heading{font-family:var(--font-display);font-size:1.3rem;margin:0 0 .4rem}.route-builder .rb-lead{color:var(--muted);margin:0 0 1.1rem;max-width:68ch}.route-builder .rb-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:1.3rem}.route-builder .rb-field{margin:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);padding:.7rem .85rem .9rem}.route-builder .rb-field legend{padding:0 .35rem;font-size:.76rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.route-builder .rb-options{display:flex;flex-direction:column;gap:.3rem}.route-builder .rb-opt{display:flex;align-items:flex-start;gap:.5rem;font-size:.92rem;line-height:1.35;padding:.35rem .45rem;border-radius:10px;cursor:pointer;transition:background .18s ease}.route-builder .rb-opt:hover{background:var(--accent-soft)}.route-builder .rb-opt input{margin-top:.2rem;accent-color:var(--accent)}.route-builder .rb-opt input:checked+span{font-weight:700;color:var(--accent-strong)}.route-builder .rb-select{width:100%;font:inherit;font-size:.95rem;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:.5rem .6rem}.route-builder .rb-select:focus-visible{outline:3px solid var(--gold);outline-offset:1px}.route-builder .rb-travelers{display:flex;flex-direction:column;gap:.3rem}.route-builder .rb-traveler{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.3rem .45rem;font-size:.92rem}.route-builder .rb-traveler input{width:4.5rem;font:inherit;font-size:.92rem;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:.35rem .5rem;text-align:center}.route-builder .rb-traveler input:focus-visible{outline:3px solid var(--gold);outline-offset:1px}.route-builder .rb-result{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:1.2rem 1.3rem}.route-builder .rb-summary{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:.9rem}.route-builder .rb-tag{display:inline-block;padding:.25rem .7rem;border-radius:999px;background:var(--accent-soft);color:var(--accent-strong);font-size:.8rem;font-weight:700}.route-builder .rb-route-title{font-family:var(--font-display);font-size:1.12rem;margin:0 0 .6rem}.route-builder .rb-metrics{display:flex;flex-wrap:wrap;gap:.4rem 1.1rem;margin:0 0 1.1rem;font-size:.9rem;color:var(--muted)}.route-builder .rb-metric b{color:var(--ink)}.route-builder .rb-days{list-style:none;margin:0 0 1.2rem;padding:0;display:grid;gap:.8rem}.route-builder .rb-day{border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:0 var(--radius) var(--radius) 0;padding:.8rem 1rem;background:color-mix(in srgb,var(--accent-soft) 42%,var(--surface))}.route-builder .rb-day-title{font-family:var(--font-display);font-size:.98rem;margin:0 0 .5rem}.route-builder .rb-stops{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}.route-builder .rb-stop{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.15rem .8rem;font-size:.9rem}.route-builder .rb-stop-name{font-weight:700;overflow-wrap:anywhere;word-break:break-word}.route-builder .rb-stop-meta{color:var(--accent);font-size:.82rem;font-weight:700;white-space:nowrap;text-align:right}.route-builder .rb-stop-note{grid-column:1 / -1;color:var(--muted);font-size:.86rem}.route-builder .rb-stop-price{grid-column:1 / -1;color:var(--accent-strong);font-size:.82rem;font-weight:700}.route-builder .rb-cost-note{margin:-.6rem 0 1.1rem;color:var(--muted);font-size:.82rem}.route-builder .rb-tips{border-top:1px solid var(--line);padding-top:.9rem}.route-builder .rb-links{border-top:1px solid var(--line);padding-top:.9rem;margin-bottom:.9rem}.route-builder .rb-tips-title{font-family:var(--font-display);font-size:.98rem;margin:0 0 .5rem}.route-builder .rb-links-list,.route-builder .rb-tips-list{margin:0;padding-left:1.15rem;color:var(--muted);font-size:.88rem}.route-builder .rb-links-list{list-style:none;padding-left:0}.route-builder .rb-links-list li{margin:.3rem 0}.route-builder .rb-links-list a{color:var(--accent);font-weight:700;text-decoration:none}.route-builder .rb-links-list a:after{content:" →"}.route-builder .rb-links-list a:hover{color:var(--accent-strong)}.route-builder .rb-tips-list li{margin:.3rem 0}.route-builder .rb-tips-list li::marker{color:var(--accent)}.route-builder .rb-notes{margin-top:.9rem}.route-builder .rb-note{color:var(--muted);font-size:.84rem;margin:0 0 .35rem}.route-builder .rb-note:last-child{margin-bottom:0}.route-builder .rb-copy{margin-top:1rem;font:inherit;font-size:.9rem;font-weight:700;color:#fff;background:var(--accent);border:1px solid var(--accent-strong);border-radius:999px;padding:.55rem 1.1rem;cursor:pointer;transition:background .18s ease,transform .18s ease}.route-builder .rb-copy:hover{background:var(--accent-strong);transform:translateY(-1px)}.route-builder .rb-copy:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.route-builder .rb-show-all{display:inline-flex;align-items:center;gap:.4rem;margin:0 0 1.2rem;padding:.45rem .95rem;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line));border-radius:999px;background:var(--surface);color:var(--accent-strong);font:inherit;font-size:.88rem;font-weight:700;cursor:pointer;transition:background .18s ease,transform .18s ease}.route-builder .rb-show-all:hover{background:var(--accent-soft);transform:translateY(-1px)}.route-builder .rb-show-all:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.route-builder .widget-buy{display:inline-block;margin-left:.5rem;padding:.2rem .65rem;border-radius:999px;background:var(--accent);color:#fff;font-size:.8rem;font-weight:700;text-decoration:none;white-space:nowrap;transition:background .18s ease,transform .18s ease}.route-builder .widget-buy:hover{background:var(--accent-strong);transform:translateY(-1px)}.route-builder .widget-ad{margin:1rem 0 0;font-size:.78rem;color:var(--muted)}@media(max-width:620px){.route-builder{padding:1.1rem}.route-builder .rb-stop{grid-template-columns:1fr;gap:.2rem}.route-builder .rb-stop-meta{white-space:normal;text-align:left}}
