/* Al Nabaa Batch V — mobile, internationalization and resilient images. */
/* Never force one-line translations, especially Cyrillic/German headlines. */
html,body{max-width:100%;overflow-x:clip}
.hero__copy,.hero__buttons,.hero__buttons .button,
.section-heading,.section-heading h2,.tour-single__hero h1,.tour-storybook__intro,
.journey-card h3,.aln-route__header h2{min-width:0;overflow-wrap:break-word}
.hero h1,.hero h1 em{white-space:normal;overflow-wrap:normal;hyphens:auto}
html[lang^="ru"] .hero h1 em,html[lang^="de"] .hero h1 em{white-space:normal;overflow-wrap:break-word}
.hero__buttons .button{white-space:normal;text-wrap:balance;line-height:1.45;min-height:52px;text-align:center}
.hero__buttons .button span{flex:none}
.site-header .language-switcher,.site-header .header-actions{min-width:0}
.field select,.discovery__form select{max-width:100%;min-width:0;text-overflow:ellipsis}
.journey-card__media,.destination-tile{background:linear-gradient(140deg,#1a4252,#0c2b3c)}
.journey-card__media img,.destination-tile img{display:block;width:100%;height:100%;object-fit:cover}
/* Prevent fixed 790px hero heights from colliding with 3–5 lines of text. */
@media(max-width:820px){
 .hero{height:auto!important;min-height:0!important;max-height:none!important;}
 .hero__content{height:auto!important;min-height:0;align-items:flex-start;padding-block:clamp(60px,11vw,104px) 148px!important;}
 .hero__copy{width:100%;max-width:100%;padding:0!important}
 .hero__copy::before{display:none}
 .hero h1{font-size:clamp(35px,8vw,62px)!important;line-height:1.13!important;letter-spacing:-.025em;margin-bottom:24px!important}
 .hero h1 em{font-size:.88em;line-height:1.18;display:inline-block;max-width:100%;}
 .hero__lead{max-width:62ch;margin-bottom:28px;line-height:1.6!important}
 .hero__index{bottom:30px!important;inset-inline-start:20px!important;left:auto!important;right:auto!important;max-width:calc(100% - 40px);flex-wrap:wrap;font-size:9px!important;line-height:1.5}
 html[dir=rtl] .hero__index{inset-inline-start:20px!important}
 .hero__buttons{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;width:100%;max-width:360px}
 .hero__buttons .button{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:54px;padding:15px 18px;box-sizing:border-box;width:100%;text-align:start}
 .hero__buttons .button span{margin-inline-start:auto}
 .discovery{margin-top:-40px!important;position:relative;z-index:2}
 .discovery__form{max-width:100%}
 .site-header__inner{min-width:0;gap:10px}
 .brand{min-width:0;flex-shrink:1}
 .brand__picture,.brand__asset{max-width:100%;height:auto}
 .site-header .header-actions{gap:8px}
 .section-heading h2,.feature-story h2,.cta-block h2,.tour-storybook__intro h2{overflow-wrap:anywhere;hyphens:auto}
}
@media(max-width:380px){
 .hero h1{font-size:clamp(32px,8vw,38px)!important}
 .hero h1 em{font-size:.82em}
 .hero__content{padding-block:49px 126px!important}
 .hero__lead{font-size:13px!important}
 .hero__index{bottom:22px!important}
 .site-header .brand__picture{max-width:50vw}
 .site-header .language-switcher{max-width:26vw}
}
/* Tablet layouts should retain the desktop illustrated Journey Atlas. */
/* Phones instead get a clean, horizontal stop-card navigation. The original stop
   elements remain the real interactive buttons; the desktop JS still updates all
   associated details, days, progress, and controls. */
@media(max-width:640px){
 .aln-route__shell{width:calc(100% - 28px)!important}
 .aln-route__experience{width:100%;min-width:0;display:flex;flex-direction:column;border-radius:15px;overflow:hidden}
 .aln-route__header h2{overflow-wrap:anywhere;hyphens:auto}
 .aln-route__canvas-side{min-width:0;width:100%;min-height:0!important}
 .aln-route__canvas-side::after{display:none}
 .aln-route__canvas-top{padding:19px 17px 12px!important;flex-wrap:wrap;gap:12px}
 .aln-route__canvas-top>div:first-child{max-width:100%}
 .aln-route__viewport{height:auto!important;min-height:166px;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x proximity;touch-action:pan-x;scroll-padding-inline:14px;-webkit-overflow-scrolling:touch;max-width:100%}
 .aln-route__track{width:max-content!important;min-width:100%!important;height:auto!important;min-height:152px!important;display:flex;align-items:stretch;justify-content:flex-start;gap:10px;padding:12px 16px 16px;box-sizing:border-box;contain:none!important}
 .aln-route__svg,.aln-route__vehicle-layer{display:none!important}
 .aln-route__stop{position:relative!important;left:auto!important;top:auto!important;transform:none!important;flex:0 0 124px!important;width:124px!important;max-width:124px;min-height:125px;scroll-snap-align:center;padding:10px 8px!important;box-sizing:border-box;gap:6px;background:rgba(255,255,255,.055)!important;border:1px solid rgba(223,187,135,.22)!important;border-radius:10px;justify-content:flex-start}
 .aln-route__stop.is-active{background:rgba(226,188,124,.17)!important;border-color:#e2ba7f!important}
 .aln-route__stop-photo{width:64px!important;height:64px!important;flex:0 0 64px}
 .aln-route__stop-dot{display:none}
 .aln-route__stop-name{font-size:11px!important;max-width:108px!important;min-height:0;line-height:1.4;overflow-wrap:anywhere;color:#fff5df!important;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
 .aln-route__canvas-footer{flex-direction:column!important;padding:14px 12px 18px!important;gap:10px!important}
 .aln-route__canvas-footer p{max-width:100%;width:100%;text-align:center;line-height:1.35!important}
 .aln-route__controls{display:flex;align-items:center;justify-content:center!important;width:100%;gap:12px;flex-wrap:wrap}
 .aln-route__controls button{flex:0 0 auto;min-width:44px;min-height:44px}
 .aln-route__controls .aln-route__play{max-width:min(68vw,230px);white-space:normal;padding:8px 14px!important;text-align:center;line-height:1.4;gap:7px}
 .aln-route__detail{height:auto}
 .aln-route__detail-photo{height:205px!important}
 .aln-route__detail-copy{padding:19px 17px 24px!important}
 .aln-route__detail h3{font-size:clamp(22px,6vw,28px)!important;overflow-wrap:anywhere}
 .aln-route__day-nav,.aln-route__day-list{min-width:0;max-width:100%}
 .aln-route__day-head{flex-wrap:wrap;gap:10px}
 .aln-route__day-list{overflow-x:auto;scrollbar-width:thin}
 .aln-t-swipe-hint{font-size:12px!important;text-wrap:balance;text-align:center;padding:0 12px}
}
@media(prefers-reduced-motion:reduce){.aln-route__viewport{scroll-behavior:auto!important}.hero__art{transform:none}}
