/* Arrivals section pages: numbered route, callouts, partner + guide CTAs. Loads after main.css. */
.route-progress{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0 0 30px;padding:0}
.route-progress a,.route-progress span{display:block;padding:6px 10px;font-size:12px;line-height:1.3;color:var(--text-dim-dark);background:#fff;border:1px solid var(--line-light);text-decoration:none}
.route-progress a:hover{border-color:var(--gold-strong)}
.route-progress [aria-current="step"]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.route-steps{list-style:none;counter-reset:step;margin:0 0 28px;padding:0;max-width:78ch}
.route-steps>li{counter-increment:step;position:relative;margin:0;padding:0 0 26px 60px}
.route-steps>li::before{content:counter(step);position:absolute;left:0;top:0;width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:var(--gold);color:var(--ink);font:600 18px 'Aleo',Georgia,serif}
.route-steps>li::after{content:"";position:absolute;left:19px;top:46px;bottom:6px;width:2px;background:var(--line-light)}
.route-steps>li:last-child::after{display:none}
.route-steps h3{margin:6px 0 8px;font-size:20px}
.route-steps p,.route-steps ul{font-size:16px;margin:0 0 10px}
.route-steps ul{padding-left:20px;line-height:1.65}
.callout{margin:20px 0;padding:14px 18px;max-width:78ch;background:#fff;border-left:4px solid var(--gold-strong)}
.callout p{margin:0;font-size:15px}
.callout-label{display:block;margin-bottom:6px;font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--gold-text)}
.callout-warn{border-color:#b5483a}.callout-warn .callout-label{color:#b5483a}
.callout-info{border-color:#c9a24d;background:#f7f0dc}.callout-info .callout-label{color:#7a5c17}
.callout-ok{border-color:var(--green);background:#eef5f0}.callout-ok .callout-label{color:var(--green)}
.table-wrap{margin:16px 0 24px;max-width:78ch;overflow-x:auto}
.route-table{width:100%;border-collapse:collapse;font-size:14px;background:#fff}
.route-table th,.route-table td{padding:10px 12px;text-align:left;vertical-align:top;border:1px solid var(--line-light)}
.route-table th{font-size:11px;letter-spacing:.1em;text-transform:uppercase;background:#eef3f5}
.partner-box{margin:24px 0;padding:16px 18px;max-width:78ch;background:#fffdf6;border:1px dashed var(--gold-strong)}
.partner-box h3{margin:0 0 6px;font-size:18px}
.partner-box p{margin:0 0 10px;font-size:15px}
.partner-links{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0}
.partner-box .fine{margin:6px 0 0;font-size:12px;color:var(--text-dim-dark)}
.guide-cta{margin:36px 0;padding:28px;max-width:78ch;background:var(--ink);color:var(--paper);border-left:4px solid var(--gold)}
.guide-cta h2{margin:0 0 8px;font-size:24px;color:var(--paper)}
.guide-cta p{margin:0 0 14px;font-size:15px;color:var(--text-dim)}
.guide-cta .fine{margin:12px 0 0;font-size:12px}
.next-step{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 20px;margin:30px 0;padding:20px 22px;max-width:78ch;background:#fff;border:1px solid var(--gold-strong);text-decoration:none;color:var(--text-dark)}
.next-step:hover{background:#fbf5e8}
.next-step small{display:block;font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--gold-text)}
.next-step strong{font:500 22px 'Aleo',Georgia,serif}
.next-step .arrow{font-size:26px;color:var(--gold-text)}
.next-alt{max-width:78ch;font-size:14px}
.check-list{list-style:none;margin:0 0 20px;padding:0;max-width:78ch}
.check-list li{padding:6px 0 6px 30px;position:relative;font-size:16px}
.check-list li::before{content:"";position:absolute;left:0;top:10px;width:16px;height:16px;border:2px solid var(--gold-strong)}
.page-disclaimer{max-width:78ch;margin-top:34px;padding-top:16px;border-top:1px solid var(--line-light);font-size:13px;color:var(--text-dim-dark)}
.page-disclaimer p{margin:0 0 8px;font-size:13px}
.src-links{max-width:78ch;font-size:14px}
/* Draft skeleton markers: remove with the banner when a page is written */
.callout-draft{background:#fff8e6;border:2px dashed var(--gold-strong);border-left-width:4px}
.callout-draft .callout-label{color:#8a6a1f}
/* Partner (affiliate) label: used on every monetised module */
.partner-tag{display:inline-block;margin:0 0 8px;padding:2px 8px;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-text);background:#fffdf6;border:1px solid var(--gold-strong)}
.partner-box[hidden]{display:none}
.partner-fine{margin:16px 0 0;font-size:12px;opacity:.8}
