/* AL NABAA / STEP 52 / JOURNEY ATLAS — read-only route presentation. */
.aln-route{--aln-atlas-night:#0a2939;--aln-atlas-blue:#123a4e;--aln-atlas-gold:#e3b777;--aln-atlas-muted:#acc3cc;position:relative;isolation:isolate;overflow:hidden;background:#f6f3ec;padding:clamp(55px,7vw,110px) 0 clamp(42px,5vw,75px);color:#112f42}
.aln-route:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 80% 4%,#e8dcc7 0,transparent 43%),repeating-linear-gradient(90deg,#d9d1c43b 0 1px,transparent 1px 130px);opacity:.65;z-index:-1}
.aln-route__shell{position:relative}
.aln-route__header{display:flex;justify-content:space-between;align-items:center;gap:42px;padding-bottom:clamp(30px,4vw,56px)}
.aln-route__header-copy{max-width:760px}
.aln-route__kicker{display:flex;gap:12px;align-items:center;margin:0 0 14px!important;color:#a47740;font-size:11px!important;letter-spacing:.22em;font-weight:800;line-height:1.4}
.aln-route__kicker span{font-size:20px}
.aln-route__header h2{margin:0 0 18px!important;font-size:clamp(34px,4.1vw,65px)!important;line-height:1.09!important;letter-spacing:-.04em!important;color:#102c3c;font-weight:780!important}
.aln-route__intro{max-width:66ch;color:#597080!important;font-size:clamp(15px,1.3vw,18px)!important;line-height:1.8!important;margin:0!important}
.aln-route__header-aside{flex:none;min-width:185px;border-left:1px solid #b6a384;padding:8px 0 8px 22px;display:flex;flex-direction:column;gap:8px;color:#a17b50;font-size:10px;letter-spacing:.22em;font-weight:750}
.aln-route__header-aside strong{font-size:14px;color:#193d4d;letter-spacing:.12em}.aln-route__header-aside i{font-size:28px;font-style:normal}
.aln-route__experience{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(295px,.83fr);min-height:655px;border:1px solid #cbbba1;box-shadow:0 34px 70px rgba(22,46,54,.15);border-radius:6px;overflow:hidden;background:var(--aln-atlas-night)}
.aln-route__canvas-side{min-width:0;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;background:radial-gradient(ellipse at 70% 35%,#25516a 0,transparent 58%),radial-gradient(ellipse at 15% 100%,#123b4d 0,transparent 60%),var(--aln-atlas-night)}
.aln-route__canvas-side:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle,#efd7ae79 .9px,transparent 1.2px);background-size:41px 41px;opacity:.23}
.aln-route__canvas-side:after{content:"";position:absolute;inset:-30%;pointer-events:none;border:1px solid #eac18829;border-radius:50%;width:620px;height:620px;top:70px;left:-360px;box-shadow:0 0 0 52px #efdcbd0b,0 0 0 103px #efdcbd08}
.aln-route__canvas-top,.aln-route__viewport,.aln-route__canvas-footer{position:relative;z-index:1}
.aln-route__canvas-top{padding:29px clamp(22px,3vw,43px) 15px;display:flex;align-items:center;gap:27px;justify-content:space-between}
.aln-route__canvas-top>div:first-child{display:flex;align-items:baseline;gap:13px;flex-wrap:wrap}
.aln-route__micro{font-size:11px;color:#c6d7d9;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.aln-route__canvas-top strong{font:italic 20px Georgia,serif;color:var(--aln-atlas-gold);white-space:nowrap}
.aln-route__progress{width:clamp(80px,25%,205px);height:3px;border-radius:4px;background:#d3c7b946;overflow:hidden;flex:none}
.aln-route__progress span{height:100%;display:block;background:var(--aln-atlas-gold);border-radius:4px;transition:width .5s ease}
.aln-route__viewport{overflow-x:auto;overflow-y:hidden;max-width:100%;scrollbar-color:#b6a48269 transparent;scrollbar-width:thin;overscroll-behavior-x:contain;scroll-behavior:smooth;touch-action:pan-x pan-y;outline-offset:-4px}
.aln-route__viewport:focus-visible{outline:2px solid #e5c48e}
.aln-route__viewport::-webkit-scrollbar{height:6px}.aln-route__viewport::-webkit-scrollbar-thumb{background:#b6a48269;border-radius:8px}
.aln-route__track{position:relative;height:310px;min-width:580px;contain:layout paint}
.aln-route__svg{position:absolute;inset:0;overflow:visible;pointer-events:none}
.aln-route__stop{appearance:none;-webkit-appearance:none;border:0!important;background:none!important;color:#faf6eb!important;position:absolute;display:flex;flex-direction:column;align-items:center;gap:5px;min-width:0;width:136px;padding:0!important;transform:translate(-50%,-50%);cursor:pointer;z-index:2;font-family:inherit;text-align:center;text-decoration:none;box-shadow:none!important}
.aln-route__stop-photo{width:66px;height:66px;border-radius:50%;border:3px solid #d7b47c;overflow:hidden;display:grid;place-items:center;background:#284e60;box-shadow:0 7px 24px #020c1680,0 0 0 6px #e6c38b1a;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.aln-route__stop-photo img{display:block;width:100%;height:100%;object-fit:cover}
.aln-route__stop-empty{color:#ebcea5;font-size:35px}
.aln-route__stop-dot{width:7px;height:7px;border-radius:50%;background:#d7b47c;box-shadow:0 0 0 5px #123648;display:block;margin-top:4px}
.aln-route__stop-name{max-width:140px;min-height:35px;font-size:12px!important;font-weight:700;line-height:1.35;color:#edf3ed;text-shadow:0 2px 7px #091723;overflow-wrap:break-word}
.aln-route__stop.is-active .aln-route__stop-photo,.aln-route__stop:hover .aln-route__stop-photo,.aln-route__stop:focus-visible .aln-route__stop-photo{transform:scale(1.12);border-color:#fff0c8;box-shadow:0 0 0 7px #d5b57930,0 0 29px #ebc17a65}
.aln-route__stop:focus-visible{outline:2px solid #f4d29a;outline-offset:9px;border-radius:3px}
.aln-route__stop.is-active .aln-route__stop-name{color:#fff0c8}
.aln-route__stop:disabled{opacity:.6;cursor:default}
.aln-route__canvas-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px clamp(20px,3vw,43px) 28px;border-top:1px solid #ffffff24}
.aln-route__canvas-footer p{margin:0!important;font-size:11px!important;line-height:1.6!important;color:var(--aln-atlas-muted)!important;max-width:235px}
.aln-route__controls{display:flex;gap:9px;align-items:center;direction:ltr}
.aln-route__controls button{min-width:40px;min-height:40px;appearance:none;background:transparent;border:1px solid #d9b77f69;border-radius:50%;color:#fff6e6;display:inline-flex;align-items:center;justify-content:center;font-size:19px;cursor:pointer;transition:background .2s,border-color .2s}
.aln-route__controls button:hover:not(:disabled){background:#e3b77723;border-color:#f0c582}.aln-route__controls button:focus-visible{outline:2px solid #f6d7a2;outline-offset:3px}.aln-route__controls button:disabled{opacity:.28;cursor:not-allowed}
.aln-route__controls .aln-route__play{border-radius:28px;gap:10px;padding:0 18px;font-size:12px;min-height:42px;font-weight:750;white-space:nowrap;color:#0b2b3a;background:#e4bc82;border-color:#e4bc82}
.aln-route__play:hover:not(:disabled){background:#f9d69d!important;color:#092330}
.aln-route__details{position:relative;min-width:0;background:#faf8f3;color:#102c3b}
.aln-route__detail[hidden]{display:none!important}
.aln-route__detail{height:100%;display:flex;flex-direction:column;animation:aln-map-reveal .38s ease both}
.aln-route__detail-photo{height:clamp(210px,21vw,315px);position:relative;overflow:hidden;background:#d8c5a8;flex:none}
.aln-route__detail-photo img{width:100%;height:100%;object-fit:cover;display:block}
.aln-route__detail-photo:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(to top,#041b2973,transparent);pointer-events:none}
.aln-route__detail-number{position:absolute;bottom:20px;inset-inline-end:22px;z-index:1;font:italic 21px Georgia,serif;color:#fff7e3;text-shadow:0 2px 7px #0008}
.aln-route__detail-placeholder{height:100%;display:grid;place-items:center;color:#785b38;font-size:70px;background:linear-gradient(135deg,#d8be90,#f7eedb)}
.aln-route__detail-copy{padding:clamp(24px,2.9vw,40px);flex:1;display:flex;flex-direction:column;align-items:start}
.aln-route__detail-kicker{display:flex;flex-wrap:wrap;gap:5px 6px;margin:0 0 22px!important;color:#996e35!important;font-size:10px!important;line-height:1.7!important;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.aln-route__eyebrow{font-size:12px!important;color:#966e3a!important;margin:0 0 12px!important;font-weight:700}
.aln-route__detail h3{margin:0 0 17px!important;line-height:1.16!important;color:#102f40;font-size:clamp(24px,2.2vw,34px)!important;letter-spacing:-.025em!important}
.aln-route__detail-summary{margin:0!important;color:#62747d!important;line-height:1.8!important;font-size:14px!important;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.aln-route__continue{display:inline-flex;align-items:center;gap:22px;text-decoration:none;font-weight:750;color:#143a4a;border-bottom:1px solid #bd935c;padding:21px 0 9px;margin-top:23px;transition:gap .2s,color .2s}
.aln-route__continue:hover{gap:32px;color:#91652d}.aln-route__continue:focus-visible{outline:2px solid #ad803e;outline-offset:4px}
.aln-route__continue span{color:#ad803e;font-size:21px}
@keyframes aln-map-reveal{from{opacity:.4;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
html[dir="rtl"] .aln-route__header h2,html[dir="rtl"] .aln-route__detail h3{letter-spacing:0!important}
html[dir="rtl"] .aln-route__kicker,html[dir="rtl"] .aln-route__micro,html[dir="rtl"] .aln-route__detail-kicker{letter-spacing:0}
html[dir="rtl"] .aln-route__header-aside{border-left:0;border-right:1px solid #b6a384;padding:8px 22px 8px 0}
html[dir="rtl"] .aln-route__continue span{transform:scaleX(-1)}
@media(max-width:1060px){.aln-route__experience{grid-template-columns:minmax(0,1.1fr) minmax(290px,.9fr)}.aln-route__canvas-top{flex-wrap:wrap}.aln-route__canvas-footer{align-items:start;flex-direction:column}.aln-route__controls{align-self:end}}
@media(max-width:790px){.aln-route__header-aside{display:none}.aln-route__experience{grid-template-columns:minmax(0,1fr)}.aln-route__canvas-side{min-height:500px}.aln-route__detail{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);min-height:255px}.aln-route__detail-photo{height:100%;min-height:255px}.aln-route__detail-copy{justify-content:center}.aln-route__canvas-footer{flex-direction:row;align-items:center}.aln-route__controls{align-self:auto}.aln-route__detail-summary{-webkit-line-clamp:4}}
@media(max-width:580px){.aln-route{padding:48px 0}.aln-route__header h2{font-size:clamp(30px,9vw,43px)!important}.aln-route__header{padding-bottom:29px}.aln-route__intro{font-size:14px!important}.aln-route__canvas-side{min-height:490px}.aln-route__canvas-top{padding:23px 20px 8px}.aln-route__viewport{margin:0 0 5px}.aln-route__canvas-footer{padding:17px 18px 23px;flex-wrap:wrap;justify-content:center;gap:19px}.aln-route__canvas-footer p{max-width:none;text-align:center;width:100%}.aln-route__detail{display:flex;min-height:0}.aln-route__detail-photo{height:230px;min-height:0}.aln-route__detail-copy{padding:27px}.aln-route__detail h3{font-size:27px!important}.aln-route__canvas-top .aln-route__micro{font-size:10px}}
@media(prefers-reduced-motion:reduce){.aln-route,.aln-route *, .aln-route *:before,.aln-route *:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}
@media print{.aln-route{background:#fff!important;break-inside:avoid}.aln-route__experience{box-shadow:none}.aln-route *{animation:none!important;transition:none!important}}

.aln-route__controls button[hidden]{display:none!important}
.aln-route__noscript{padding:18px 23px;background:#f4eee3;color:#183747}.aln-route__noscript li{margin:8px 0;line-height:1.5}

/* Step 52.1: always-visible foreground vehicle, above circular photo stops.
   The illustrated map is still not a geographical navigation aid. */
.aln-route__track { isolation:isolate; }
.aln-route__svg { z-index:0; }
.aln-route__vehicle-layer {
  position:absolute; inset:0; z-index:5; pointer-events:none; overflow:visible;
  width:100%; height:310px;
}
.aln-route__vehicle-halo { transform-box:fill-box; transform-origin:center; animation:aln-route-vehicle-glow 3.8s ease-in-out infinite; }
@keyframes aln-route-vehicle-glow { 0%,100% { opacity:.22; transform:scale(.96); } 50% { opacity:.55; transform:scale(1.04); } }
@media (prefers-reduced-motion:reduce) { .aln-route__vehicle-halo { animation:none!important; } }


/* Step 53 — The Living Journey: persistent but dismissible story companion.
   The primary map and editorial chapters remain fully usable without JS. */
.aln-journey-guide {
  box-sizing:border-box; position:fixed; z-index:1050; bottom:max(14px,env(safe-area-inset-bottom));
  left:50%; transform:translateX(-50%); width:min(790px,calc(100% - 30px));
  min-height:94px; padding:10px 16px; display:flex; align-items:center; gap:15px;
  background:linear-gradient(110deg,rgba(8,38,55,.97),rgba(15,59,76,.96)); color:#fffaf0;
  border:1px solid #d2ae75a6; border-radius:19px; box-shadow:0 13px 55px #041a2a4f,0 2px 12px #0002;
  backdrop-filter:blur(15px); -webkit-backdrop-filter:blur(15px); direction:inherit;
}
.aln-journey-guide[hidden],.aln-journey-guide__restore[hidden],.aln-journey-guide img[hidden],.aln-journey-guide__image-empty[hidden]{display:none!important}
.aln-journey-guide__image-wrap{width:66px;height:66px;flex:none;border-radius:12px;border:1px solid #f0c88a99;overflow:hidden;background:#284858;display:grid;place-items:center}
.aln-journey-guide__image-wrap img{width:100%;height:100%;object-fit:cover;display:block;grid-area:1/1}
.aln-journey-guide__image-empty{font-size:30px;color:#eac28c;grid-area:1/1}
.aln-journey-guide__copy{min-width:0;flex:1;display:flex;flex-direction:column;gap:5px}
.aln-journey-guide__overline{font-size:10px;letter-spacing:.07em;font-weight:800;color:#f4cc90;display:flex;flex-wrap:wrap;align-items:center;gap:9px}
.aln-journey-guide__overline [dir=ltr]{font-family:Georgia,serif;font-style:italic;font-size:15px;color:#fff4d8;letter-spacing:0}
.aln-journey-guide__day{font-size:11px;opacity:.85}
.aln-journey-guide__title{font-size:15px;line-height:1.3;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff}
.aln-journey-guide__track{position:relative;height:3px;background:#ffffff3d;border-radius:5px;margin:11px 15px 8px 0;direction:ltr}
.aln-journey-guide__track-fill{position:absolute;inset:0 auto 0 0;width:0;background:#efc488;border-radius:5px}
.aln-journey-guide__vehicle{position:absolute;left:0;top:50%;width:37px;height:37px;transform:translate(-50%,-50%);display:grid;place-items:center;border:1px solid #f0c582;background:#092937;border-radius:50%;box-shadow:0 0 0 3px #edc88e2b;transition:left .12s linear}
.aln-journey-guide__vehicle svg{width:30px;height:30px;overflow:visible}
.aln-journey-guide__actions{display:flex;flex:none;align-items:center;gap:6px;direction:ltr}
.aln-journey-guide__actions button,.aln-journey-guide__actions a{
  appearance:none;display:grid;place-items:center;width:38px;min-height:38px;padding:0;
  background:#ffffff0d;color:#ffead1;border:1px solid #eac58a65;border-radius:50%;
  font:700 23px/1 Arial,sans-serif;text-decoration:none;cursor:pointer
}
.aln-journey-guide__actions button:hover:not(:disabled),.aln-journey-guide__actions a:hover{background:#eac58a2c;border-color:#ffdb9c}
.aln-journey-guide__actions button:focus-visible,.aln-journey-guide__actions a:focus-visible,.aln-journey-guide__restore:focus-visible{outline:3px solid #f6d19c;outline-offset:3px}
.aln-journey-guide__actions button:disabled{opacity:.3;cursor:not-allowed}
.aln-journey-guide__actions [data-aln-guide-hide]{font-size:22px;border:none;color:#d6dde0}
.aln-journey-guide__restore{position:fixed;z-index:1050;bottom:max(16px,env(safe-area-inset-bottom));right:16px;border-radius:30px;background:#0c3042;border:1px solid #debb81;color:#f6d29b;box-shadow:0 8px 23px #0016;padding:10px 16px;cursor:pointer;font-weight:800;min-height:44px}
@media(max-width:640px){
 .aln-journey-guide{width:calc(100% - 20px);padding:9px 11px;min-height:80px;gap:9px;border-radius:13px}
 .aln-journey-guide__image-wrap{width:46px;height:56px;border-radius:9px}
 .aln-journey-guide__title{font-size:13px}
 .aln-journey-guide__overline{font-size:9px;gap:5px}
 .aln-journey-guide__overline [dir=ltr]{font-size:12px}
 .aln-journey-guide__actions{gap:3px}
 .aln-journey-guide__actions button,.aln-journey-guide__actions a{width:33px;min-height:38px;font-size:20px}
 .aln-journey-guide__actions [data-aln-guide-map]{display:none}
 .aln-journey-guide__track{margin-top:8px}
 .aln-journey-guide__vehicle{width:28px;height:28px}
 .aln-journey-guide__vehicle svg{width:24px;height:24px}
}
@media(max-width:390px){.aln-journey-guide__image-wrap{display:none}.aln-journey-guide__actions button{width:31px}}
@media(prefers-reduced-motion:reduce){.aln-journey-guide *{transition:none!important;animation:none!important}}
@media print{.aln-journey-guide,.aln-journey-guide__restore{display:none!important}}

/* Step 53.1 — responsive micro-guide and correct vehicle clearance.
   Keep the route photo visible; the floating companion must not dominate the
   chapter or intrude on the next block. Action targets remain 40px+ on mobile. */
.aln-journey-guide__vehicle { width:29px; height:29px; }
.aln-journey-guide__vehicle svg { width:23px; height:23px; }
.aln-journey-guide__track { margin-bottom:10px; }
@media(max-width:640px) {
  .aln-journey-guide {
    min-height:62px; max-height:70px; padding:7px 10px; gap:8px;
    width:calc(100% - 20px); border-radius:14px;
  }
  .aln-journey-guide__image-wrap { width:40px; height:40px; border-radius:9px; }
  .aln-journey-guide__copy { gap:2px; }
  .aln-journey-guide__overline {
    font-size:9px; line-height:1.2; flex-wrap:nowrap;
    white-space:nowrap; overflow:hidden;
  }
  .aln-journey-guide__overline [dir=ltr] { font-size:12px; }
  .aln-journey-guide__day { font-size:9px; white-space:nowrap; }
  .aln-journey-guide__title { font-size:12px; line-height:1.2; }
  .aln-journey-guide__track { height:2px; margin:6px 10px 2px 6px; }
  .aln-journey-guide__vehicle { width:23px; height:23px; }
  .aln-journey-guide__vehicle svg { width:20px; height:20px; }
  .aln-journey-guide__actions { gap:3px; }
  .aln-journey-guide__actions button,
  .aln-journey-guide__actions a { width:40px; min-height:40px; font-size:20px; }
  .aln-journey-guide__restore { bottom:max(8px,env(safe-area-inset-bottom)); }
}
@media(max-width:390px) {
  .aln-journey-guide__image-wrap { display:none; }
  .aln-journey-guide__actions button { width:40px; }
  .aln-journey-guide__day { display:none; }
}


/* Step 54 — multi-day journey navigation, only rendered for multiple days. */
.aln-route__day-nav{display:flex;align-items:center;gap:18px;margin:-18px 0 30px;padding:12px 15px 12px 19px;background:#fffdf9;border:1px solid #e3d8c7;border-radius:16px;box-shadow:0 8px 35px #0b2a3e09;min-width:0}
.aln-route__day-intro{flex:none;display:flex;align-items:baseline;gap:7px;font-size:12px;letter-spacing:.08em;color:#8b633b;text-transform:uppercase;white-space:nowrap}
.aln-route__day-intro strong{font:italic 24px Georgia,serif;color:#143344;letter-spacing:0}
.aln-route__day-intro small{font-size:12px;color:#84929b}
.aln-route__day-list{display:flex;gap:8px;overflow-x:auto;min-width:0;flex:1;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#c6ac82 transparent;padding:2px 1px 5px;scroll-snap-type:x proximity}
.aln-route__day{flex:0 0 auto;min-width:143px;max-width:215px;display:flex;align-items:center;gap:9px;padding:7px 12px 7px 7px;text-align:start;color:#183647;background:#f7f5ef;border:1px solid #e2d9cb;border-radius:11px;cursor:pointer;transition:background .22s,border-color .22s,box-shadow .22s;scroll-snap-align:start}
.aln-route__day:hover{background:#fffbf1;border-color:#ccaa74}
.aln-route__day.is-active{background:#0e3346;color:#fff7e6;border-color:#d8b77e;box-shadow:0 4px 16px #0e33461f}
.aln-route__day-image{flex:none;width:39px;height:39px;overflow:hidden;border-radius:7px;background:#e9dfcc;display:grid;place-items:center;color:#a77c47}
.aln-route__day-image img{width:100%;height:100%;object-fit:cover}
.aln-route__day-label{display:flex;flex-direction:column;gap:2px;min-width:0;line-height:1.3}
.aln-route__day-label strong{font-size:13px;white-space:nowrap}
.aln-route__day-label small{font-size:11px;opacity:.75;white-space:nowrap}
.aln-route__day:focus-visible{outline:3px solid #d5a661;outline-offset:3px}
.aln-route__mode-chip{white-space:nowrap;color:#a87d48;font-weight:700}
@media(max-width:760px){.aln-route__day-nav{display:block;margin:-7px 0 22px;padding:11px;border-radius:12px}.aln-route__day-intro{margin:0 0 9px}.aln-route__day{min-width:132px}.aln-route__day-image{width:34px;height:34px}}
@media(prefers-reduced-motion:reduce){.aln-route__day{transition:none}}


/* Step 56 — mobile-first multi-day journey polish. No remote assets. */
.aln-route__day-nav{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;padding:16px 18px}
.aln-route__day-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}
.aln-route__day-arrows{display:flex;align-items:center;gap:9px;color:#795d3e;font-size:11px;font-weight:750}
.aln-route__day-arrows button{appearance:none;border:1px solid #d7c6ac;border-radius:50%;width:36px;height:36px;display:grid;place-items:center;padding:0;color:#163645;background:#fffdf6;font:700 25px/1 Arial,sans-serif;cursor:pointer}
.aln-route__day-arrows button:disabled{opacity:.3;cursor:default}
.aln-route__day-arrows button:focus-visible{outline:3px solid #ba8f52;outline-offset:3px}
.aln-route__day-list{width:100%;max-width:100%;min-width:0;scroll-padding-inline:15px;padding-block:4px 9px}
.aln-route__day{min-width:146px;scroll-snap-align:center}
.aln-route__day-progress{border-top:1px solid #efe6d7;margin:0!important;padding-top:7px;color:#6a7a81!important;display:flex;justify-content:space-between;gap:12px;font-size:11px!important}
.aln-route__day-progress strong{color:#996e35;font:italic 17px Georgia,serif}
.aln-route__day-image svg{width:28px;height:28px;stroke-width:2.5;fill:none;stroke:currentColor}
.aln-route__day-label em{font-size:9px;font-weight:700;line-height:1.25;font-style:normal;color:#925a28;white-space:normal;max-width:110px}
.aln-route__day.is-pending{border-style:dashed}
.aln-route__day.is-pending .aln-route__day-label em{color:#9d683e}
.aln-route__day.is-active .aln-route__day-label em{color:#f4d1a0}
.aln-route__stop-empty{display:grid;place-items:center;width:100%;height:100%;font-size:0}
.aln-route__stop-empty svg{width:37px;height:37px;max-width:75%;max-height:75%}
.aln-route__icon--water{color:#6bdbde!important}
.aln-route__icon--flight,.aln-route__icon--departure{color:#f3e3bb!important}
.aln-route__icon--hotel{color:#f1cc93!important}
.aln-route__icon--adventure{color:#f5bd83!important}
.aln-route__icon--nature,.aln-route__icon--leisure{color:#b7e1bd!important}
.aln-route__icon--meal{color:#eed6ab!important}
.aln-route__icon--other{color:#cbd2d4!important}
.aln-route__detail-placeholder{position:relative;display:flex;flex-direction:column;gap:13px;justify-content:center;align-items:center;background:radial-gradient(ellipse at 28% 12%,#f8ebcd,#c4b49a 76%);color:#6d604d;overflow:hidden}
.aln-route__detail-placeholder::before{content:'';position:absolute;inset:15% -20%;border:1px solid #a48a653b;border-radius:50%;transform:rotate(-15deg)}
.aln-route__detail-placeholder svg{width:96px;height:96px;max-height:56%;stroke-width:1.8;z-index:1}
.aln-route__detail-placeholder span{font-size:12px;font-weight:700;line-height:1.4;position:relative;z-index:1;max-width:82%;text-align:center}
.aln-route__detail-placeholder.aln-route__icon--water{color:#23535d!important;background:radial-gradient(ellipse at 20% 10%,#dff3ef,#83b4ad)}
.aln-route__detail-placeholder.aln-route__icon--adventure{color:#674b2c!important;background:radial-gradient(ellipse at 20% 10%,#f9ebd9,#cfaa82)}
.aln-route__detail-placeholder.aln-route__icon--hotel{color:#5d513c!important;background:radial-gradient(ellipse at 20% 10%,#fbf1df,#c8b99a)}
.aln-route__detail-placeholder.aln-route__icon--nature{background:radial-gradient(ellipse at 20% 10%,#e8f1d9,#a4b59b)}
.aln-route__detail-placeholder.aln-route__icon--flight{color:#365360!important;background:radial-gradient(ellipse at 20% 10%,#edf0e8,#a4b4ba)}
.aln-route__pending{padding:8px 12px;margin:0 0 13px!important;border-inline-start:3px solid #bd8642;background:#fcf2df;color:#8d582b!important;border-radius:2px 9px 9px 2px;font-size:11px!important;font-weight:700}
@media(max-width:790px){
  .aln-route__day-nav{padding:12px;margin:-5px 0 16px;gap:8px}
  .aln-route__day-list{gap:7px;scrollbar-width:thin;scroll-snap-type:x mandatory}
  .aln-route__day{min-width:116px;max-width:145px;padding:6px;gap:6px;min-height:59px}
  .aln-route__day-image{height:32px;width:32px;flex-shrink:0}
  .aln-route__day-image svg{width:25px;height:25px}
  .aln-route__day-label strong{font-size:12px}
  .aln-route__day-label small{font-size:10px}
  .aln-route__day-arrows{gap:6px}
  .aln-route__day-arrows button{min-width:40px;min-height:40px}
  .aln-route__day-arrows span{display:none}
  .aln-route__canvas-side{min-height:0}
  .aln-route__viewport{height:274px;overflow-y:hidden}
  .aln-route__track{margin-top:-29px}
  .aln-route__canvas-top{padding-top:19px}
  .aln-route__detail-photo{min-height:0;height:210px}
}
@media(max-width:580px){
  .aln-route__canvas-side{min-height:0}
  .aln-route__canvas-top{padding:17px 16px 7px}
  .aln-route__viewport{height:260px}
  .aln-route__track{margin-top:-35px}
  .aln-route__canvas-footer{padding:12px 15px 16px;gap:9px}
  .aln-route__canvas-footer p{font-size:10px!important}
  .aln-route__detail-photo{height:180px}
  .aln-route__detail-copy{padding:22px 20px}
  .aln-route__day-label em{max-width:100px}
  .aln-route__detail-placeholder svg{width:72px;height:72px}
}
html[dir="rtl"] .aln-route__day-arrows{direction:ltr}
@media(prefers-reduced-motion:reduce){.aln-route__day-list,.aln-route__day{scroll-behavior:auto!important;transition:none!important}}

/* Step 56.1 — selected day visibility regression fix.
   Native mandatory scroll snapping can snap away from the JS-selected tab,
   especially after browser scroll restoration on small/RTL screens. The
   active tab is managed by the existing keyboard/touch-friendly JS instead. */
.aln-route__day-list {scroll-snap-type:none!important;scroll-padding-inline:0!important;overflow-anchor:none}
.aln-route__day {scroll-snap-align:none!important}

/* Batch M — preserve the accepted curved-route Atlas and improve photographic fit. */
.aln-route__detail-photo {isolation:isolate; background:#e9e3d8}
.aln-route__detail-photo img{width:100%;height:100%;object-fit:cover;object-position:center center}
.aln-route__detail-copy{overflow:auto}
.aln-route__detail-description{color:#526976!important;font-size:13px!important;line-height:1.75!important;max-width:65ch;margin:13px 0 0!important}
.aln-route__photo-credit{position:absolute;z-index:4;inset-inline-start:10px;bottom:9px;background:#052c35df;color:#fff7e6;padding:5px 9px;border-radius:4px;font-size:9px;max-width:90%}
.aln-route__photo-credit a{color:#ffe0a1;text-decoration:underline}
.aln-route__day-nav{scroll-margin-top:100px}
@media(max-width:790px){.aln-route__detail-description{display:block;font-size:12px!important;line-height:1.65!important}.aln-route__detail-photo{min-height:240px}}
@media(max-width:580px){.aln-route__detail-photo{height:clamp(210px,57vw,270px)}.aln-route__detail-copy{padding:22px}.aln-route__photo-credit{font-size:9px}}
