/* Arabic shares the common page components. Maps, imagery and brand marks retain
   their geometry; only reading order and directional navigation change. */
html[lang="ar"] body{font-family:"Noto Sans Arabic",Tahoma,Arial,sans-serif;line-height:1.7;letter-spacing:normal}
html[lang="ar"] :is(h1,h2,h3,h4,button,input,select){letter-spacing:normal}
html[lang="ar"] :is(p,li,h1,h2,h3,.card-content,.screen-card-body){overflow-wrap:anywhere}
html[lang="ar"] :is(.trip-table,.trip-table caption,.filter-picker-option,.filter-picker-group){text-align:start}
html[lang="ar"] :is(.trip-nav-count,.map-number){unicode-bidi:isolate}
html[lang="ar"] :is(#trip-link,input[type="url"],input[type="email"]){direction:ltr;text-align:start;unicode-bidi:isolate}
html[lang="ar"] :is(#range-months,.range-grid,.weather-date-grid){direction:rtl}
html[lang="ar"] :is(#range-dialog,.weather-date-dialog){max-width:calc(100vw - 4px);box-sizing:border-box}
html[lang="ar"] :is(.range-day,.weather-date-day){min-height:44px;min-width:0;aspect-ratio:auto}
html[lang="ar"] :is(.range-nav button,#range-close,.weather-date-close,.weather-date-nav button,.rail-controls button){min-height:44px;min-width:44px}
html[lang="ar"] :is(.filter-picker-trigger,.filter-picker-option,.filter-picker-close,.weather-date-trigger,.weather-date-actions button,.weather-hour-toggle button,.map-list-link,.map-selection-controls a,.map-selection-controls button,.nav-toggle,.trip-save,.trip-actions a,.poster-enlarge){min-height:44px;box-sizing:border-box}
html[lang="ar"] :is(.filter-picker,.filter-picker-trigger,.weather-date-trigger){text-align:start;white-space:normal}
html[lang="ar"] .filter-picker-trigger{padding-inline:16px 44px}
html[lang="ar"] #filters.controls .filter-picker-trigger::after{left:16px;right:auto;inset-inline-start:auto;inset-inline-end:16px}
html[lang="ar"] .trip-save{align-self:flex-start;font-size:14px!important}
html[lang="ar"] :is(.card-content,.screen-card-body){min-width:0}
html[lang="ar"] .card h3{line-height:1.5!important;letter-spacing:normal!important}
html[lang="ar"] :is(.card-content>p,.screen-card-body>p){line-height:1.65}
html[lang="ar"] .card-content>p.card-description{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;font-size:14px;margin:8px 0 12px}
html[lang="ar"] .home-agenda .card-content{padding-inline:18px 0!important}
html[lang="ar"] :is(.event-map-canvas svg,#festival-map,.weather-timeline){direction:ltr}
html[lang="ar"] .weather-hour{direction:rtl;text-align:start}
html[lang="ar"] .weather-hour>:is(strong,span:first-child){direction:ltr;unicode-bidi:isolate;text-align:start}
html[lang="ar"] .weather-date-heading{gap:8px}
html[lang="ar"] :is(.weather-date-weekday,.range-weekday){font-size:11px;overflow-wrap:normal}
html[lang="ar"] :is(.screen-work,.card-meta,.card-location,.trip-note,.map-event-list p){line-height:1.65}
html[lang="ar"] :is(.screen-story-copy,.detail-description){line-height:1.85}
html[lang="ar"] .primary-nav{min-width:0}
html[lang="ar"] .range-nav svg{transform:scaleX(-1)}
@media(max-width:600px){
 html[lang="ar"] :is(#range-dialog,.weather-date-dialog){padding:16px 8px;width:min(420px,calc(100vw - 4px))}
 html[lang="ar"] #range-months{grid-template-columns:minmax(0,1fr)}
 html[lang="ar"] .filter-picker{max-width:calc(100vw - 20px)}
 html[lang="ar"] .outlook-probabilities{gap:4px}
 html[lang="ar"] .outlook-probabilities strong{font-size:1.25rem}
}
@media(max-width:360px){
 html[lang="ar"] :is(#range-dialog,.weather-date-dialog){padding:14px 1px}
 html[lang="ar"] :is(.range-grid,.weather-date-grid){column-gap:0}
 html[lang="ar"] :is(#range-dialog h2,#range-dialog p,#range-dialog .range-nav,#range-dialog .range-actions,.weather-date-heading,.weather-date-nav,.weather-date-actions){margin-inline:8px}
 html[lang="ar"] .weather-date-day{font-size:12px!important}
}

html[lang="ar"] .map-filters .map-filter select{padding-inline:14px 44px;padding-left:44px;padding-right:14px;background-position:left 14px center;text-align:start}
html[lang="ar"] #map-zoom-level{margin-left:0;margin-inline-start:auto;unicode-bidi:isolate}
html[lang="ar"] #travel-range:after{float:inline-end;margin-inline:12px 0}

html[lang="ar"] .affiliate-cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-block-size:44px;max-inline-size:100%;white-space:normal;line-height:1.6}
html[lang="ar"] .affiliate-cta span,html[lang="ar"] .affiliate-cta bdi{white-space:nowrap;flex-shrink:0}
html[lang="ar"] .affiliate-cta:focus-visible{outline:3px solid #324d46;outline-offset:4px}
/* The shared search calendar icon uses absolute positioning. */
html[lang="ar"] #filters.controls #travel-range::after{left:14px;right:auto;inset-inline-start:auto;inset-inline-end:14px;margin:0}
/* Keep the compact summary after the title and dates in the flex card. */
html[lang="ar"] .results .card .card-description{order:3}
html[lang="ar"] .results .card .card-decision{order:4}
html[lang="ar"] .results .card :is(.card-programme-warning,.card-session-note){order:5}
html[lang="ar"] .results .card .trip-save{order:6}

/* Keep long Arabic copy inside its grid track, including enlarged text. */
html[lang="ar"] body[data-page="home"] .home-agenda>.card{column-gap:18px!important;align-items:start}
html[lang="ar"] body[data-page="home"] .home-agenda>.card .card-content{padding:0!important;min-inline-size:0;max-inline-size:100%}
html[lang="ar"] .home-agenda .card-content>*{min-inline-size:0;max-inline-size:100%;white-space:normal}
html[lang="ar"] .past-filters select{padding-inline:14px 44px;background-position:left 14px center;text-align:start}
html[lang="ar"] .past-notice{border-left:0;border-inline-start:4px solid #b74931}
html[lang="ar"] .poster-enlarge{font-family:inherit;line-height:1.5;white-space:normal;max-inline-size:100%}
