/* The traveller site. Builds on home.css (tokens, header, buttons, footer). */

.skip{position:absolute;inset-inline-start:12px;top:-60px;z-index:50;background:var(--ink);color:var(--white);padding:8px 14px;border-radius:8px}
.skip:focus{top:12px}
.nav a[aria-current="page"]{color:var(--blue)}
.preserve-lines{white-space:pre-line}

/* booking hero: deep blue over a travel photo, the search box in a white card */
.bk-hero{position:relative;padding-block:clamp(36px,5vw,56px) clamp(56px,7vw,80px);color:var(--white);text-align:center;background:linear-gradient(100deg,rgba(13,38,92,.96) 0,rgba(21,64,150,.88) 45%,rgba(21,64,150,.35) 100%),url('destinations/ae.jpg') center/cover,#123A8A}
[dir="rtl"] .bk-hero{background:linear-gradient(260deg,rgba(13,38,92,.96) 0,rgba(21,64,150,.88) 45%,rgba(21,64,150,.35) 100%),url('destinations/ae.jpg') center/cover,#123A8A}
.bk-hero h1{font-size:clamp(26px,3.4vw,40px);font-weight:800;text-shadow:0 2px 12px rgba(0,0,0,.25)}
.bk-hero>.wrap>p{margin:8px auto 0;max-width:60ch;color:#D7E3F7;font-size:15px}
.bk-tabs{display:flex;justify-content:center;gap:12px;margin-top:26px}
.bk-tab{display:flex;flex-direction:column;align-items:center;gap:4px;width:84px;padding:12px 6px 10px;border-radius:12px 12px 0 0;background:var(--white);color:var(--ink);font-size:13px;font-weight:500}
.bk-tab.active{background:var(--gold)}
.bk-tab svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.vs-box{position:relative;max-width:980px;margin:0 auto;background:var(--white);color:var(--ink);border-radius:10px;padding:18px 18px 40px;text-align:start;box-shadow:0 24px 48px -24px rgba(5,20,50,.55)}
.vs-error{color:#B42318;font-size:12px}
.vs-go{position:absolute;left:50%;bottom:0;transform:translate(-50%,50%);display:inline-flex;align-items:center;gap:10px;height:52px;padding-inline:26px;border:0;border-radius:6px;background:var(--gold);color:var(--ink);font:inherit;font-size:22px;font-weight:700;cursor:pointer;box-shadow:0 10px 22px -10px rgba(227,154,12,.8)}
.vs-go:hover{background:var(--gold-deep)}
.vs-go svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round}

/* booking sections */
.bk-section{padding-block:clamp(40px,6vw,64px)}
.bk-steps-wrap{background:#F6F7F9}
.bk-alt{background:var(--white)}
.bk-title{font-size:clamp(24px,2.8vw,30px);font-weight:500;margin-bottom:22px;display:inline-block}
.bk-title b{font-weight:800}
.bk-title::after{content:"";display:block;width:62px;height:3px;background:var(--gold);margin-top:6px;border-radius:2px}
.bk-steps{list-style:none;margin:0;padding:26px 30px;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;background:var(--white);border-radius:6px;box-shadow:0 1px 3px rgba(10,26,48,.08)}
.bk-steps li{position:relative;display:flex;align-items:center;gap:12px;min-width:0}
.bk-steps li>span{display:flex;flex-direction:column;min-width:0}
.bk-steps b{font-size:17px;font-weight:700}
.bk-steps small{font-size:12px;color:var(--muted);line-height:1.4}
.bk-step-icon{width:38px;height:38px;flex-shrink:0;fill:none;stroke:var(--ink);stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
.bk-step-arrow{width:22px;height:22px;margin-inline-start:auto;flex-shrink:0;fill:none;stroke:var(--ink);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.bk-step-done{width:24px;height:24px;margin-inline-start:auto;flex-shrink:0;fill:var(--blue-deep);stroke:var(--white);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.bk-step-done circle{stroke:none}
#visaResults,#steps,#destinations,#faq{scroll-margin-top:84px}

/* section heads */
.s-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:16px;margin-bottom:clamp(24px,4vw,40px)}
.s-head h2{font-size:clamp(26px,3.2vw,38px);font-weight:700;margin-top:12px}
.s-alt{background:var(--white)}
.s-empty{color:var(--muted)}

/* destinations */
.s-destinations{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;align-items:start}
.s-dest{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:transform .15s,box-shadow .15s}
.s-dest:hover{transform:translateY(-2px);box-shadow:0 16px 30px -22px rgba(10,26,48,.45)}
.s-dest-photo{display:block;aspect-ratio:3/2;overflow:hidden;background:linear-gradient(135deg,#DCEBFF,#F3F6FA)}
.s-dest-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s}
.s-dest:hover .s-dest-photo img{transform:scale(1.04)}
.s-dest-info{padding:12px 14px 14px;display:flex;flex-direction:column;gap:2px}
.s-dest-info b{display:flex;align-items:center;gap:8px;font-size:17px}
.s-dest-info b img{border-radius:2px}
.s-dest-info small{color:var(--muted);font-size:13px}

/* visa cards */
.s-visa-list{display:grid;gap:14px}
.vcard{display:grid;grid-template-columns:1fr 220px;gap:20px;background:var(--white);border:1px solid var(--line);border-radius:14px;padding:20px}
.s-alt .vcard{background:var(--paper)}
.vcard-place{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--blue-deep);font-weight:500}
.vcard-place img{border-radius:2px}
.vcard h3{font-size:20px;margin-top:6px}
.vcard h3 a:hover{color:var(--blue)}
.vcard-main>p{margin-top:6px;color:var(--ink-2);font-size:15px}
.vcard-facts{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px 28px}
.vcard-facts li{display:flex;flex-direction:column}
.vcard-facts small{font-size:12px;color:var(--muted)}
.vcard-facts b{font-size:14px;font-weight:500}
.vcard-price{display:flex;flex-direction:column;justify-content:center;gap:6px;border-inline-start:1px dashed var(--line);padding-inline-start:20px}
.vcard-price small{font-size:12px;color:var(--muted)}
.vcard-price strong{font-size:26px;font-weight:800;line-height:1.1}
.vcard-price strong span{font-size:14px;font-weight:500;color:var(--muted)}
.vcard-price p{font-size:13px;color:var(--ink-2)}
.vcard-price .btn{margin-top:6px}

/* steps and FAQ */
.s-faq-wrap{max-width:860px}
.s-faq details{border-bottom:1px solid var(--line);padding-block:4px}
.s-faq summary{cursor:pointer;padding-block:14px;font-weight:700;font-size:16px;list-style:none;display:flex;justify-content:space-between;gap:16px}
.s-faq summary::-webkit-details-marker{display:none}
.s-faq summary::after{content:"+";font-family:var(--f-mono);color:var(--blue)}
.s-faq details[open] summary::after{content:"−"}
.s-faq p{padding-bottom:16px;color:var(--ink-2)}

/* inner pages */
.s-crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:13px;color:var(--muted)}
.s-crumbs a:hover{color:var(--blue)}
.s-results{padding-block:clamp(32px,5vw,56px)}
.s-results-head{margin-bottom:20px}
.s-results-head h2{font-size:clamp(22px,2.6vw,28px)}
.s-results-head p{margin-top:4px;color:var(--muted);font-size:14px}
.s-group{display:flex;align-items:center;gap:10px;font-size:20px;margin:28px 0 12px}
.s-group:first-of-type{margin-top:0}
.s-empty-box{background:var(--white);border:1px dashed #C5D0DE;border-radius:14px;padding:32px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}
.s-empty-box p{color:var(--ink-2);max-width:52ch}

/* visa page */
.s-visa-hero{position:relative;padding-block:clamp(32px,6vw,72px);background:linear-gradient(90deg,rgba(243,246,250,.97) 0,rgba(243,246,250,.9) 55%,rgba(243,246,250,.55) 100%),var(--photo,none) center/cover,var(--paper)}
[dir="ltr"] .s-visa-hero{background:linear-gradient(270deg,rgba(243,246,250,.97) 0,rgba(243,246,250,.9) 55%,rgba(243,246,250,.55) 100%),var(--photo,none) center/cover,var(--paper)}
.s-visa-hero .vcard-place{margin-top:18px}
.s-visa-hero h1{font-size:clamp(28px,4vw,46px);font-weight:800;line-height:1.25;margin-top:6px}
.s-visa-hero .lead{margin-top:12px;color:var(--ink-2);max-width:62ch}
.s-visa-body{padding-block:clamp(32px,5vw,56px)}
.s-visa-grid{display:grid;grid-template-columns:1fr 340px;gap:clamp(24px,4vw,48px);align-items:start}
.s-visa-info h2{font-size:22px;margin:32px 0 12px}
.s-facts{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}
.s-facts li{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column}
.s-facts small{font-size:12px;color:var(--muted)}
.s-facts b{font-size:16px}
.s-docs{margin:0;padding-inline-start:20px;color:var(--ink-2)}
.s-docs li+li{margin-top:4px}
.s-extra{margin-top:12px;background:var(--white);border:1px solid var(--line);border-radius:12px;padding:14px 16px;color:var(--ink-2)}
.s-rules{margin:0;display:grid;gap:10px}
.s-rules div{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:12px 16px}
.s-rules dt{font-size:12px;color:var(--muted)}
.s-rules dd{margin:2px 0 0}
.s-note{margin-top:14px;font-size:14px;color:var(--muted)}
.s-note a{color:var(--blue);font-weight:500}
.s-buy{position:sticky;top:96px;background:var(--white);border:1px solid var(--line);border-radius:16px;padding:22px;display:flex;flex-direction:column;gap:8px;box-shadow:0 18px 40px -30px rgba(10,26,48,.4)}
.s-buy small{font-size:13px;color:var(--muted)}
.s-buy strong{font-size:34px;font-weight:800;line-height:1.1}
.s-buy strong span{font-size:15px;font-weight:500;color:var(--muted)}
.s-buy p{font-size:14px;color:var(--ink-2)}
.s-buy .btn{margin-top:8px}
.s-buy .s-buy-note{font-size:12px}

@media (max-width:900px){
    .bk-steps{grid-template-columns:1fr 1fr;padding:20px}
    .bk-step-arrow{display:none}
    .s-visa-grid{grid-template-columns:1fr}
    .s-buy{position:static}
}
@media (max-width:640px){
    .vs-box{padding:12px 12px 38px}
    .vs-go{font-size:18px;height:48px}
    .bk-steps{grid-template-columns:1fr}
    .vcard{grid-template-columns:1fr;gap:14px}
    .vcard-price{border-inline-start:0;padding-inline-start:0;border-top:1px dashed var(--line);padding-top:14px}
}

/* application and booking pages */
.ap-head{padding-block:clamp(24px,4vw,40px) clamp(20px,3vw,28px);background:linear-gradient(100deg,#0D265C 0,#154096 100%);color:var(--white)}
.ap-head .s-crumbs,.ap-head .s-crumbs a{color:#BFD0EE}
.ap-head h1{font-size:clamp(24px,3.2vw,36px);font-weight:800;margin-top:10px}
.ap-progress{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 24px;font-size:14px;color:#BFD0EE}
.ap-progress li{display:flex;align-items:center;gap:8px}
.ap-progress span{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-family:var(--f-mono);font-size:12px;border:1px solid rgba(255,255,255,.35)}
.ap-progress li.on{color:var(--white)}
.ap-progress li.on span{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.ap-body{padding-block:clamp(24px,4vw,40px) clamp(48px,6vw,72px)}
.ap-grid{display:grid;grid-template-columns:1fr 340px;gap:clamp(20px,3vw,36px);align-items:start}
.ap-count{display:flex;align-items:center;gap:12px;margin-bottom:16px;background:var(--white);border:1px solid var(--line);border-radius:12px;padding:12px 16px}
.ap-count label{font-weight:700}
.ap-count select{height:40px;border:1px solid var(--line);border-radius:8px;padding-inline:10px;font:inherit;background:var(--paper)}
.ap-card{border:1px solid var(--line);border-radius:14px;background:var(--white);padding:20px;margin:0 0 16px;min-width:0}
.ap-card legend,.ap-card-title{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:800;padding:0;float:left;width:100%;margin-bottom:14px}
[dir="rtl"] .ap-card legend{float:right}
.ap-card legend+*{clear:both}
.ap-card-title{float:none}
.ap-card legend span{font-family:var(--f-mono);font-size:12px;color:var(--gold-deep);background:#FFF6DF;border-radius:6px;padding:2px 8px}
.ap-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}
.ap-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.ap-picker-open{position:relative;z-index:25}
.ap-country-control{position:relative}
.ap-country-control:after{content:'';position:absolute;inset-inline-end:16px;top:18px;width:7px;height:7px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);pointer-events:none}
.ap-country-control input{padding-inline-end:38px}
.ap-country-control.has-flag input{padding-inline-start:52px}
.ap-country-flag{position:absolute;inset-inline-start:14px;top:15px;width:26px;height:18px;object-fit:cover;border-radius:3px;box-shadow:0 0 0 1px #122b4015;pointer-events:none}
.ap-country-options{position:absolute;top:calc(100% + 6px);inset-inline:0;max-height:280px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;background:var(--white);color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 30px #162c4820;z-index:30}
.ap-country-options [role=option]{display:flex;align-items:center;gap:12px;padding:12px 14px;min-height:46px;cursor:pointer;text-align:start;font-size:15px}
.ap-country-options [role=option]:hover,.ap-country-options [aria-selected=true]{background:#EDF4FF;color:var(--blue)}
.ap-country-options img{width:28px;height:20px;object-fit:cover;flex-shrink:0;border-radius:3px;box-shadow:0 0 0 1px #122b4015}
.ap-country-options p{padding:14px;font-size:14px;color:var(--muted)}
.ap-wide{grid-column:1/-1}
.ap-field label{font-size:14px;font-weight:700;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.ap-field label i{color:#B42318;font-style:normal}
.ap-field label small{font-weight:400;color:var(--muted);font-size:12px}
.ap-field input,.ap-field select,.ap-field textarea{width:100%;min-height:46px;border:1px solid var(--line);border-radius:10px;background:var(--paper);padding:10px 12px;font:inherit;font-size:15px;color:var(--ink)}
.ap-field input[type=file]{padding:9px;background:var(--white);border-style:dashed}
.ap-field input:focus,.ap-field select:focus,.ap-field textarea:focus{outline:none;border-color:var(--blue);background:var(--white);box-shadow:0 0 0 3px rgba(47,111,214,.15)}
.ap-field [aria-invalid="true"]{border-color:#D92D20;background:#FFF5F4}
.ap-field>small{font-size:12px;color:var(--muted)}
.ap-field .ap-error,.ap-error{color:#B42318;font-size:12.5px}
.ap-hint{font-size:13px;color:var(--muted);margin-bottom:12px}
.ap-center{text-align:center;margin-top:12px}
.ap-terms{display:flex;gap:10px;align-items:flex-start;margin-top:16px;font-size:14px;color:var(--ink-2);cursor:pointer}
.ap-terms input{margin-top:5px;width:18px;height:18px;flex-shrink:0}
.ap-submit{width:100%;height:54px;font-size:18px}
.ap-alert{background:#FEF3F2;border:1px solid #FECDCA;color:#B42318;border-radius:12px;padding:12px 16px;margin-bottom:16px}
.ap-alert p{margin-top:4px}
.ap-success{background:#ECFDF3;border:1px solid #ABEFC6;color:#067647;border-radius:12px;padding:14px 18px;margin-bottom:16px}
.ap-success p{margin-top:4px;color:#085D3A;font-size:14px}
.ap-summary{position:sticky;top:96px;background:var(--white);border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 18px 40px -30px rgba(10,26,48,.4)}
.ap-summary>img{width:100%;height:140px;object-fit:cover}
.ap-summary-body{padding:18px 20px 20px}
.ap-summary h2{font-size:19px;margin-top:6px}
.ap-summary dl{margin:14px 0 0;display:grid;gap:8px}
.ap-summary dl div{display:flex;justify-content:space-between;gap:12px;font-size:14px}
.ap-summary dt{color:var(--muted)}
.ap-summary dd{margin:0;font-weight:500;text-align:end}
.ap-total{display:flex;justify-content:space-between;align-items:baseline;margin-top:14px;padding-top:14px;border-top:1px dashed var(--line)}
.ap-total strong{font-size:26px;font-weight:800}
.ap-total small{font-size:13px;color:var(--muted);font-weight:500}
.ap-assure{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:6px;font-size:13px;color:var(--ink-2)}
.ap-assure li::before{content:"✓";color:var(--ok);font-weight:800;margin-inline-end:8px}
.vcard-more{font-size:13px;color:var(--blue);text-align:center}
.bk-ref{font-size:14px;color:#BFD0EE}
.bk-ref b{color:var(--white);font-family:var(--f-mono);margin-inline-start:6px}
.bk-sub{margin-top:6px;color:#D7E3F7;font-size:15px}
.bk-track{list-style:none;margin:0 0 16px;padding:18px 20px;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;background:var(--white);border:1px solid var(--line);border-radius:14px}
.bk-track li{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;font-size:13px;color:var(--muted)}
.bk-track li span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:800;background:var(--paper);border:2px solid var(--line);position:relative;z-index:1}
.bk-track li:not(:last-child)::after{content:"";position:absolute;top:15px;inset-inline-start:calc(50% + 15px);width:calc(100% - 22px);height:2px;background:var(--line)}
/* home.css styles a generic .done block; the timeline step keeps its own layout. */
.bk-track li.done{color:var(--ink-2);grid-column:auto;display:flex;gap:6px;padding:0;border-radius:0;background:none}
.bk-track li.done span{background:var(--ok);border-color:var(--ok);color:var(--white)}
.bk-track li.done::after{background:var(--ok)}
.bk-track li.now{color:var(--ink);font-weight:700}
.bk-track li.now span{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.bk-travellers{list-style:none;margin:0;padding:0}
.bk-travellers li{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px 0;border-top:1px solid var(--line)}
.bk-travellers li:first-child{border-top:0;padding-top:0}
.bk-travellers b{display:block}
.bk-travellers small{color:var(--muted);font-size:13px}
.bk-reason{margin-top:6px;font-size:13px;background:#FFFAEB;color:#93370D;border-radius:8px;padding:8px 10px}
.bk-state{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex-shrink:0}
.bk-pill{font-size:12.5px;font-weight:700;padding:4px 10px;border-radius:20px;background:#EEF4FF;color:#3538CD}
.bk-pill.ok{background:#ECFDF3;color:#067647}
.bk-pill.bad{background:#FEF3F2;color:#B42318}
.bk-pill.warn{background:#FFFAEB;color:#B54708}
.bk-next p{color:var(--ink-2);margin-bottom:12px}
@media (max-width:900px){
    .ap-grid{grid-template-columns:1fr}
    .ap-summary{position:static;order:-1}
}
@media (max-width:640px){
    .ap-fields{grid-template-columns:1fr}
    .bk-track{grid-template-columns:1fr 1fr;row-gap:14px}
    .bk-track li::after{display:none}
    .bk-travellers li{flex-direction:column;align-items:flex-start}
    .bk-state{align-items:flex-start}
}

/* the visa search: the partners' field order (visa-search.js drives it), in the site's look */
.vs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 0}
.vs-box .search-field{position:relative;display:flex;flex-direction:column;gap:4px;min-width:0;padding:14px 18px 12px;background:var(--white);border:1px solid var(--line)}
.vs-box .search-field:focus-within{border-color:#B9CCEA;background:#F8FBFF}
.vs-box .search-field>label{display:flex;align-items:center;gap:8px;font-weight:700;font-size:16px;color:var(--ink);cursor:pointer}
.vs-box .search-field>label svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.vs-box .search-field input,.vs-box #travelersToggle{width:100%;border:0;background:transparent;padding:2px 0;font:inherit;font-size:14px;color:var(--ink-2);outline:none;min-height:32px;text-align:start;cursor:pointer}
.vs-box .search-field input::placeholder{color:var(--muted)}
.vs-box .search-field [hidden]{display:none!important}
.vs-box .picker-open{z-index:10}
/* Same columns as the partners' search: residence, nationality, destination; travellers, departure, return. */
.vs-box .f-res{grid-column:1;grid-row:1;border-start-start-radius:8px;border-end-start-radius:8px}
.vs-box .f-nat{grid-column:2;grid-row:1;border-inline:0}
.vs-box .f-dest{grid-column:3;grid-row:1;border-start-end-radius:8px;border-end-end-radius:8px}
.vs-box .f-trav{grid-column:1;grid-row:2;border-radius:8px;margin-inline-end:12px}
.vs-box .f-arr{grid-column:2;grid-row:2;border-start-start-radius:8px;border-end-start-radius:8px;border-inline-end:0}
.vs-box .f-ret{grid-column:3;grid-row:2;border-start-end-radius:8px;border-end-end-radius:8px}
.vs-box .country-options,.vs-box .travelers-panel{text-align:start}
.vs-box .travelers-panel>button{border:0;cursor:pointer;font:inherit}
.vs-box .stepper button{font:inherit;font-size:20px}
.vs-box .flatpickr-input[readonly]{cursor:pointer}
@media (max-width:760px){
    .vs-grid{grid-template-columns:1fr;gap:10px}
    .vs-box .search-field{grid-column:1!important;grid-row:auto!important;border:1px solid var(--line)!important;border-radius:8px!important;margin:0!important}
    .vs-box .f-res{order:0}.vs-box .f-nat{order:1}.vs-box .f-dest{order:2}.vs-box .f-arr{order:3}.vs-box .f-ret{order:4}.vs-box .f-trav{order:5}
}

/* passport scan on the application: chosen first, read on the device by passport-reader.js */
.ap-scan{display:flex;align-items:center;gap:14px;padding:16px 18px;border:1.5px dashed #9CC0F5;border-radius:12px;background:#F5F9FF;cursor:pointer;flex-wrap:wrap}
.ap-scan:hover{border-color:var(--blue);background:#EEF5FF}
.ap-scan>svg{width:40px;height:40px;flex-shrink:0;fill:none;stroke:var(--blue-deep);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.ap-scan>span{display:flex;flex-direction:column;flex:1;min-width:180px}
.ap-scan b{font-size:16px}
.ap-scan b i{color:#B42318;font-style:normal}
.ap-scan small{color:var(--ink-2);font-size:13px}
.ap-scan em{font-style:normal;font-size:12px;color:var(--muted);font-family:var(--f-mono)}
.ap-scan input[type=file]{flex-basis:100%;font:inherit;font-size:14px}
.ap-scan:has([aria-invalid="true"]){border-color:#D92D20;background:#FFF5F4}
.passport-read{margin:10px 0 14px;padding:10px 14px;border-radius:10px;font-size:14px;background:#EEF5FF;color:#1F4F99}
.passport-read[data-state=ok]{background:#E8F6EF;color:#1E6B4A}
.passport-read[data-state=warn]{background:#FFF6E5;color:#8A5A00}
.passport-read[data-state=busy]::before{content:"";display:inline-block;width:12px;height:12px;margin-inline-end:8px;border:2px solid currentColor;border-inline-end-color:transparent;border-radius:50%;vertical-align:-1px;animation:apSpin .8s linear infinite}
.ap-card .ap-fields{margin-top:14px}
.ap-field .filled-by-scan,.ap-field input.filled-by-scan{background:#F1FBF5;border-color:#7CC7A0}
@keyframes apSpin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.passport-read[data-state=busy]::before{animation:none}}

/* Traveller account: sign-in, sign-up, password recovery and "My bookings". */
.s-account{display:inline-flex;align-items:center;gap:6px;height:38px;padding-inline:12px;border:1px solid var(--line);border-radius:8px;background:var(--white);color:var(--ink);font-size:14px;font-weight:700;white-space:nowrap}
.s-account:hover,.s-account[aria-current=page]{border-color:var(--blue);color:var(--blue)}
.s-account svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.ac-wrap{display:flex;justify-content:center}
.ac-box{width:100%;max-width:520px;margin:0}
.ac-fields{margin-bottom:4px}
.ac-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 0 16px;font-size:14px}
.ac-row a,.ac-switch a,.ac-link{color:var(--blue);font-weight:700}
.ac-remember{margin-top:0}
.ac-switch{margin-top:14px;text-align:center;font-size:14px;color:var(--muted)}
.ac-link{border:0;background:none;padding:0;font:inherit;cursor:pointer}
.ap-account{display:flex;flex-direction:column;min-height:46px;justify-content:center;padding:6px 12px;border:1px solid var(--line);border-radius:10px;background:#F6F7F9;font-size:14px}
.ap-account span{color:var(--muted);font-size:13px}
.ac-booking{display:flex;justify-content:space-between;gap:16px;color:inherit;transition:border-color .15s,box-shadow .15s}
.ac-booking:hover{border-color:var(--blue);box-shadow:0 10px 26px -20px rgba(10,26,48,.5)}
.ac-booking .bk-ref{color:var(--muted);font-size:13px}
.ac-booking .bk-ref b{color:var(--ink)}
.ac-booking h2{font-size:18px;font-weight:800;margin:4px 0 6px}
.ac-booking p{font-size:14px;color:var(--ink-2);margin-top:2px}
.ac-booking-main{min-width:0}
.ac-booking-side{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:8px;flex-shrink:0}
.ac-booking-side strong{font-size:18px}
.ac-booking-side small{color:var(--muted);font-size:12px}
.ac-empty p{color:var(--ink-2);margin-bottom:14px}
.ac-full{width:100%;margin-top:16px;justify-content:center}
.ac-password{margin-top:16px;border-top:1px solid var(--line);padding-top:12px}
.ac-password summary{cursor:pointer;font-weight:700;font-size:14px}
.ac-password form{display:grid;gap:10px;margin-top:10px}
.ac-logout{margin-top:14px;color:#B42318}
@media (max-width:640px){
    .ac-booking{flex-direction:column}
    .ac-booking-side{flex-direction:row;align-items:center;flex-wrap:wrap}
    .s-account{padding-inline:9px;font-size:13px}
}
.ac-note{background:#EEF4FF;border:1px solid #C7D7FE;color:#1E3A8A;border-radius:12px;padding:12px 16px;margin-bottom:16px;font-size:14px}
.ac-note a{font-weight:800;color:var(--blue)}
@media (max-width:640px){.s-account span,.s-register{font-size:13px}.s-register{padding-inline:10px}}

/* Paying a booking by card through Ziina. */
.bk-pay{display:grid;gap:10px;margin-top:16px;padding-top:16px;border-top:1px dashed var(--line)}
a.bk-pay{display:flex;align-items:center;justify-content:center;border-top:0}
.bk-pay-due{display:flex;justify-content:space-between;align-items:baseline;font-size:14px;color:var(--ink-2)}
.bk-pay-due strong{font-size:20px;color:var(--ink)}
.bk-paid{margin-top:12px;padding:10px 12px;border-radius:10px;background:#ECFDF3;color:#067647;font-size:14px;font-weight:700}

/* Our own pay page around Ziina's embedded card form. */
.pay-grid{grid-template-columns:minmax(0,1fr) 340px}
.pay-card{background:var(--white);border:1px solid var(--line);border-radius:16px;padding:clamp(16px,3vw,24px);box-shadow:0 18px 40px -30px rgba(10,26,48,.4)}
.pay-card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.pay-card-head h2{font-size:19px}
.pay-secure{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:#067647;background:#ECFDF3;border-radius:20px;padding:5px 10px}
.pay-secure svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2}
.pay-frame{display:block;width:100%;max-width:450px;height:820px;margin-inline:auto;border:0;border-radius:12px;background:var(--paper)}
.pay-note{text-align:center;margin-top:12px}
.pay-travellers{list-style:none;margin:14px 0 0;padding:12px 0 0;border-top:1px solid var(--line);display:grid;gap:8px;font-size:14px}
.pay-travellers li{display:flex;justify-content:space-between;gap:12px}
.pay-back{display:block;margin-top:14px;text-align:center;font-size:14px;font-weight:700;color:var(--blue)}
@media (max-width:900px){.pay-grid{grid-template-columns:1fr}.pay-grid .ap-summary{position:static;order:-1}}
.top .nav a{white-space:nowrap}

/* ───── Header: a dark business strip, then the glass travellers' bar ───── */
.hx{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:0}
.hx-bar{background:#08183A;color:#B9CAE6;font-size:13px;max-height:40px;overflow:hidden;transition:max-height .3s ease,opacity .3s}
.hx-bar .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;height:40px}
.hx-contact{display:inline-flex;align-items:center;gap:8px;color:#E3ECFA;font-weight:700}
.hx-contact svg{width:15px;height:15px;fill:#32D583}
.hx-contact small{color:#8EA3C6;font-weight:500;font-size:12.5px;padding-inline-start:10px;border-inline-start:1px solid rgba(255,255,255,.15)}
.hx-contact:hover span{color:var(--white)}
.hx-biz{display:flex;align-items:center;gap:4px}
.hx-biz>span{color:#8EA3C6;font-size:12px;font-weight:700;letter-spacing:.04em;margin-inline-end:6px}
.hx-biz a{padding:5px 12px;border-radius:999px;color:#E3ECFA;font-weight:700;transition:background .2s,color .2s}
.hx-biz a:hover{background:rgba(255,255,255,.1);color:var(--white)}
.hx-biz a.hx-biz-hot{background:rgba(244,180,26,.16);color:var(--gold);box-shadow:inset 0 0 0 1px rgba(244,180,26,.35)}
.hx-biz a.hx-biz-hot:hover{background:var(--gold);color:var(--ink)}

.hx-main{position:relative;background:rgba(255,255,255,.82);backdrop-filter:saturate(1.6) blur(16px);-webkit-backdrop-filter:saturate(1.6) blur(16px);max-width:none!important;padding-inline:max(var(--gut),calc((100% - var(--wrap)) / 2))!important;box-shadow:0 1px 0 rgba(10,26,48,.06);transition:box-shadow .3s,height .3s}
.top.scrolled .hx-bar{max-height:0;opacity:0}
.top.scrolled .hx-main{box-shadow:0 12px 30px -18px rgba(10,26,48,.35);height:64px}
.hx .brand img{height:42px;transition:transform .3s}
.hx .brand:hover img{transform:rotate(-6deg) scale(1.05)}
.hx .brand b{font-size:18px;font-weight:800}

.hx .nav{margin-inline-start:auto}
.hx-links{display:flex;align-items:center;gap:2px;padding:4px;border-radius:999px;background:rgba(23,61,113,.05);border:1px solid rgba(23,61,113,.07)}
.hx-links a{position:relative;padding:8px 16px;border-radius:999px;font-size:15px;font-weight:600;color:var(--ink-2);white-space:nowrap;transition:background .2s,color .2s}
.hx-links a:hover{color:var(--blue);background:var(--white)}
.hx-links a[aria-current="page"]{background:var(--white);color:var(--blue);box-shadow:0 4px 12px -6px rgba(23,61,113,.35)}
.hx-links a[aria-current="page"]::after{content:"";position:absolute;bottom:3px;inset-inline-start:50%;width:5px;height:5px;margin-inline-start:-2.5px;border-radius:50%;background:var(--gold)}
.hx-menu-biz{display:none}
.hx .tools .s-account,.hx .tools .lang{border-radius:999px}
.hx .tools .s-register{border-radius:999px;padding-inline:18px;box-shadow:0 8px 18px -10px rgba(227,154,12,.9)}

@media (max-width:1020px){
    .hx-bar{display:none}
    .hx-main{height:64px}
    .hx .nav.open{top:64px;padding:12px var(--gut) 20px;gap:14px;max-height:calc(100dvh - 64px);overflow:auto;background:var(--white);box-shadow:0 30px 50px -30px rgba(10,26,48,.5);animation:hx-drop .25s ease}
    @keyframes hx-drop{from{opacity:0;transform:translateY(-8px)}}
    .hx .nav.open a{border-bottom:0}
    .hx .nav.open .hx-links{flex-direction:column;align-items:stretch;padding:0;background:none;border:0;border-radius:0}
    .hx .nav.open .hx-links a{padding:14px 4px;border-radius:0;border-bottom:1px solid #EEF2F7;font-size:16px}
    .hx .nav.open .hx-links a[aria-current="page"]{box-shadow:none}
    .hx .nav.open .hx-links a[aria-current="page"]::after{display:none}
    .hx .nav.open .hx-menu-biz{display:grid;gap:8px;padding:16px;border-radius:18px;background:linear-gradient(135deg,#0A1A3E,#123A8A);color:var(--white)}
    .hx-menu-biz p{font-size:12.5px;font-weight:800;color:var(--gold);letter-spacing:.04em}
    .hx-menu-biz>a{display:flex;align-items:center;gap:12px;padding:10px 12px!important;border-radius:12px;background:rgba(255,255,255,.07)}
    .hx-menu-biz svg{width:22px;height:22px;flex-shrink:0;fill:none;stroke:var(--gold);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
    .hx-menu-biz span{display:grid}
    .hx-menu-biz b{font-size:15px}
    .hx-menu-biz small{font-size:12.5px;color:#A9BCDC}
    .hx-menu-biz .hx-menu-wa{justify-content:space-between;background:#25D366;color:#06301A;font-weight:800;font-size:14px}
    .hx .menu-btn{border-radius:12px}
    .hx .menu-btn[aria-expanded="true"] span:first-child{transform:translateY(2.75px) rotate(45deg)}
    .hx .menu-btn[aria-expanded="true"] span:last-child{transform:translateY(-2.75px) rotate(-45deg)}
    .hx .menu-btn span{transition:transform .2s}
}
@media (max-width:520px){
    .hx .brand small{display:none}
    .hx .tools{gap:6px}
    .hx .tools .s-account{padding-inline:10px}
    .hx .tools .s-register{padding-inline:12px}
}
.hx .tools .lang{display:inline-grid;place-items:center;min-width:42px;font-weight:600}

/* Destination cards: on hover a blue face grows up from the bottom, with the flag, the name and "apply now". */
.s-dest,.lx-dest{position:relative;isolation:isolate}
.dest-hover{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(16px,2vw,22px);color:#fff;background:linear-gradient(180deg,rgba(23,61,113,.55) 0%,rgba(30,79,168,.88) 38%,#2F6FD6 62%,#3B7FE0 100%);opacity:0;transform:scale(1.04);transition:opacity .3s ease,transform .4s cubic-bezier(.2,.8,.2,1);pointer-events:none}
.dest-hover-top{display:flex;align-items:center;gap:12px;opacity:0;transform:translateY(-14px);transition:opacity .3s .08s,transform .4s .08s cubic-bezier(.2,.8,.2,1)}
.dest-hover-flag{flex-shrink:0;width:46px;height:46px;border-radius:50%;padding:3px;background:#fff;box-shadow:0 6px 16px -6px rgba(0,0,0,.45)}
.dest-hover-flag img{width:100%;height:100%;border-radius:50%;object-fit:cover}
.dest-hover-top b{font-size:clamp(18px,1.8vw,22px);font-weight:800;line-height:1.2;text-shadow:0 2px 10px rgba(0,0,0,.2)}
.dest-hover-cta{align-self:center;display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(6px);font-size:15px;font-weight:800;white-space:nowrap;opacity:0;transform:translateY(14px);transition:opacity .3s .14s,transform .4s .14s cubic-bezier(.2,.8,.2,1),background .2s}
.dest-hover-cta svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s}
.s-dest:hover .dest-hover,.s-dest:focus-visible .dest-hover,.lx-dest:hover .dest-hover,.lx-dest:focus-visible .dest-hover{opacity:1;transform:none}
.s-dest:hover .dest-hover-top,.s-dest:focus-visible .dest-hover-top,.lx-dest:hover .dest-hover-top,.lx-dest:focus-visible .dest-hover-top,
.s-dest:hover .dest-hover-cta,.s-dest:focus-visible .dest-hover-cta,.lx-dest:hover .dest-hover-cta,.lx-dest:focus-visible .dest-hover-cta{opacity:1;transform:none}
.s-dest:hover .dest-hover-cta,.lx-dest:hover .dest-hover-cta{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.s-dest:hover .dest-hover-cta svg,.lx-dest:hover .dest-hover-cta svg{transform:translateX(-4px)}
[dir="ltr"] .s-dest:hover .dest-hover-cta svg,[dir="ltr"] .lx-dest:hover .dest-hover-cta svg{transform:translateX(4px)}
.lx-dest:first-child .dest-hover-top b{font-size:clamp(24px,2.6vw,32px)}
.lx-dest:first-child .dest-hover-flag{width:58px;height:58px}
/* Phones have no hover: the card keeps its normal face. */
@media (hover:none) and (pointer:coarse){.dest-hover{display:none}}
@media (prefers-reduced-motion:reduce){.dest-hover,.dest-hover-top,.dest-hover-cta{transition:none}}

/* Destinations without a photo yet: the flag, large, on a soft gradient. */
.s-dest-noimg{display:grid!important;place-items:center;background:radial-gradient(120% 120% at 50% 0%,#EAF1FD 0,#D7E4F7 60%,#C6D7F0 100%)!important}
.s-dest-noimg .s-dest-bigflag{width:96px!important;height:auto!important;object-fit:contain!important;border-radius:8px;box-shadow:0 14px 28px -14px rgba(10,26,48,.55);transition:transform .35s}
.s-dest:hover .s-dest-noimg .s-dest-bigflag{transform:scale(1.08) rotate(-2deg)}
.s-empty-flag{display:block;margin:0 auto 12px;border-radius:6px;box-shadow:0 10px 20px -12px rgba(10,26,48,.5)}

/* Photo credits */
.credits{list-style:none;margin:0;padding:0;display:grid;gap:10px;font-size:13.5px}
.credits li{display:grid;grid-template-columns:160px 1fr;gap:12px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.credits b{font-weight:700}
.credits span{color:var(--muted);overflow-wrap:anywhere}
.credits a{color:var(--blue)}
@media (max-width:640px){.credits li{grid-template-columns:1fr;gap:2px}}

/* ───── Traveller sign-in / sign-up: a photo panel beside the form ───── */
.au{padding:clamp(20px,4vw,48px) var(--gut);background:radial-gradient(80% 60% at 100% 0%,#E8F0FD 0,transparent 60%),radial-gradient(60% 50% at 0% 100%,#FFF4D8 0,transparent 60%),var(--paper)}
.au-shell{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);min-height:min(720px,calc(100dvh - 180px));background:var(--white);border-radius:28px;overflow:hidden;box-shadow:0 40px 90px -50px rgba(10,26,48,.55),0 0 0 1px rgba(10,26,48,.05)}

.au-side{position:relative;isolation:isolate;overflow:hidden;color:var(--white);background:#0E2A63}
.au-side-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transform:scale(1.05);animation:au-zoom 18s ease-in-out infinite alternate}
@keyframes au-zoom{to{transform:scale(1.14)}}
.au-side::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(160deg,rgba(8,24,58,.55) 0%,rgba(14,42,99,.82) 50%,rgba(10,26,62,.96) 100%)}
.au-side-inner{height:100%;display:flex;flex-direction:column;justify-content:space-between;gap:28px;padding:clamp(24px,3.5vw,44px)}
.au-brand{display:inline-flex;align-items:center;gap:12px;color:var(--white)}
.au-brand img{height:42px;width:auto;filter:drop-shadow(0 4px 10px rgba(0,0,0,.3))}
.au-brand b{display:block;font-size:18px;font-weight:800}
.au-brand small{display:block;font-size:12.5px;color:#B9CAE6}
.au-side h2{font-size:clamp(28px,3vw,40px);font-weight:800;line-height:1.15;text-wrap:balance}
.au-side h2::after{content:"";display:block;width:56px;height:4px;margin-top:14px;border-radius:4px;background:var(--gold)}
.au-side p{margin-top:14px;color:#C9D8F0;font-size:16px;line-height:1.8;max-width:42ch}
.au-perks{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:12px}
.au-perks li{display:flex;align-items:center;gap:12px;font-size:15px;font-weight:600;color:#E3ECFA}
.au-perks li>span{flex-shrink:0;display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(6px)}
.au-perks svg{width:19px;height:19px;fill:none;stroke:var(--gold);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.au-float{align-self:flex-start;display:flex;align-items:center;gap:12px;padding:12px 18px 12px 14px;border-radius:16px;background:rgba(255,255,255,.95);color:var(--ink);box-shadow:0 24px 40px -18px rgba(0,0,0,.6);animation:au-float 6s ease-in-out infinite}
@keyframes au-float{50%{translate:0 -8px}}
.au-float-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#E7F7EF}
.au-float-icon svg{width:20px;height:20px;fill:none;stroke:var(--ok);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.au-float b{display:block;font-size:15px}
.au-float small{display:block;font-size:12.5px;color:var(--muted)}

.au-main{display:flex;align-items:center;justify-content:center;padding:clamp(24px,4vw,56px)}
.au-form{width:100%;max-width:440px}
.au-kicker{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:800;color:var(--blue);background:#EEF4FF;border-radius:999px;padding:5px 12px}
.au-form h1{margin-top:12px;font-size:clamp(28px,3vw,36px);font-weight:800;line-height:1.15}
.au-lead{margin:8px 0 22px;color:var(--muted);font-size:15px;line-height:1.7}
.au-form .ap-alert,.au-form .ap-success,.au-form .ac-note{margin-bottom:16px}
.au-field{display:flex;flex-direction:column;gap:7px;margin-bottom:16px;min-width:0}
.au-field label{font-size:14px;font-weight:700;color:var(--ink)}
.au-field label i{color:#B42318;font-style:normal}
.au-label-row{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.au-label-row a{font-size:13px;font-weight:700;color:var(--blue)}
.au-input{position:relative;display:flex;align-items:center}
.au-input>svg{position:absolute;inset-inline-start:14px;width:19px;height:19px;fill:none;stroke:#8A97AD;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;transition:stroke .2s}
.au-input input{width:100%;height:52px;border:1.5px solid var(--line);border-radius:14px;background:#F7F9FC;padding-inline:44px 14px;font:inherit;font-size:15px;color:var(--ink);transition:border-color .2s,background .2s,box-shadow .2s}
[dir="rtl"] .au-input input[dir="ltr"]{text-align:right}
.au-input input::placeholder{color:#A5B0C2}
.au-input input:hover{border-color:#C8D3E3}
.au-input input:focus{outline:none;border-color:var(--blue);background:var(--white);box-shadow:0 0 0 4px rgba(47,111,214,.12)}
.au-input:focus-within>svg{stroke:var(--blue)}
.au-input input[aria-invalid="true"]{border-color:#D92D20;background:#FFF5F4}
.au-input:has(.au-eye) input{padding-inline-end:48px}
.au-eye{position:absolute;inset-inline-end:8px;display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:10px;background:transparent;color:#8A97AD;cursor:pointer;transition:background .2s,color .2s}
.au-eye:hover{background:#EEF2F7;color:var(--ink)}
.au-eye:focus-visible{outline:2px solid var(--blue);outline-offset:1px}
.au-eye svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.au-eye .au-eye-off,.au-eye[aria-pressed="true"] .au-eye-on{display:none}
.au-eye[aria-pressed="true"] .au-eye-off{display:block}
.au-eye[aria-pressed="true"]{color:var(--blue)}
.au-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}

.au-strength{display:flex;align-items:center;gap:10px;margin-top:2px}
.au-strength>span{display:flex;gap:4px;flex:1}
.au-strength i{flex:1;height:4px;border-radius:4px;background:#E4E9F0;transition:background .25s}
.au-strength small{font-size:12px;color:var(--muted);white-space:nowrap}
.au-strength[data-level="1"] i:nth-child(-n+1){background:#F04438}
.au-strength[data-level="2"] i:nth-child(-n+2){background:#F79009}
.au-strength[data-level="3"] i:nth-child(-n+3){background:#2F6FD6}
.au-strength[data-level="4"] i{background:var(--ok)}

.au-check{display:flex;align-items:flex-start;gap:10px;margin:4px 0 6px;font-size:14px;color:var(--ink-2);cursor:pointer;line-height:1.6}
.au-check input{flex-shrink:0;width:18px;height:18px;margin-top:3px;accent-color:var(--blue);cursor:pointer}
.au-submit{width:100%;height:54px;margin-top:16px;border-radius:14px;font-size:17px;font-weight:800;justify-content:center;gap:10px;box-shadow:0 16px 30px -16px rgba(227,154,12,.9)}
.au-submit svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.au-submit:hover svg{transform:translateX(-4px)}
[dir="ltr"] .au-submit:hover svg{transform:translateX(4px)}
.au-or{display:flex;align-items:center;gap:12px;margin:22px 0 14px;color:var(--muted);font-size:13.5px}
.au-or::before,.au-or::after{content:"";flex:1;height:1px;background:var(--line)}
.au-alt{width:100%;height:50px;justify-content:center;border-radius:14px;background:var(--white);border:1.5px solid var(--line);color:var(--ink);font-weight:800}
.au-alt:hover{border-color:var(--blue);color:var(--blue);background:#F7FAFF}
.au-help{margin-top:18px;text-align:center;font-size:13.5px;color:var(--muted)}
.au-help a{color:var(--blue);font-weight:700}

@media (max-width:900px){
    .au{padding:0}
    .au-shell{grid-template-columns:1fr;border-radius:0;box-shadow:none;min-height:0}
    .au-side-inner{gap:18px;padding:24px var(--gut) 28px}
    .au-perks,.au-float,.au-side p{display:none}
    .au-side h2{font-size:26px}
    .au-main{padding:28px var(--gut) 40px}
}
@media (max-width:520px){.au-grid{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.au-side-bg,.au-float{animation:none}}
/* An LTR field (email, phone) inside an Arabic page keeps its icon on the right: pad that side physically. */
[dir="rtl"] .au-input input[dir="ltr"]{padding-right:44px;padding-left:14px}

/* ───── My bookings: a personal dashboard ───── */
.bx-head{position:relative;overflow:hidden;isolation:isolate;color:var(--white);background:radial-gradient(110% 90% at 90% 0%,#1E4FA8 0,#0E2A63 50%,#08183A 100%);padding-block:clamp(28px,4vw,44px) 0}
.bx-head::before{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(rgba(255,255,255,.08) 1px,transparent 1.5px);background-size:22px 22px;mask-image:radial-gradient(70% 80% at 80% 20%,#000,transparent);-webkit-mask-image:radial-gradient(70% 80% at 80% 20%,#000,transparent)}
.bx-head::after{content:"";position:absolute;z-index:-1;width:360px;height:360px;border-radius:50%;background:rgba(244,180,26,.2);filter:blur(80px);top:-160px;inset-inline-start:-80px}
.bx-hello{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.bx-avatar{flex-shrink:0;display:grid;place-items:center;width:68px;height:68px;border-radius:22px;background:linear-gradient(135deg,#FFD873,var(--gold));color:var(--ink);font-size:30px;font-weight:800;box-shadow:0 14px 30px -14px rgba(244,180,26,.9),0 0 0 4px rgba(255,255,255,.12)}
.bx-avatar.sm{width:46px;height:46px;border-radius:14px;font-size:20px;box-shadow:none}
.bx-hello p{font-size:13px;font-weight:700;color:var(--gold);letter-spacing:.03em}
.bx-hello h1{font-size:clamp(26px,3.2vw,38px);font-weight:800;line-height:1.2}
.bx-hello>div>span{display:block;margin-top:4px;color:#C9D8F0;font-size:15px}
.bx-new{margin-inline-start:auto;gap:8px;border-radius:14px;box-shadow:0 16px 30px -16px rgba(244,180,26,.9)}
.bx-new svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round}
.bx-stats{list-style:none;margin:28px 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.bx-stats li{padding:18px 20px;border-radius:18px;background:var(--white);color:var(--ink);box-shadow:0 20px 40px -26px rgba(10,26,48,.55),0 0 0 1px rgba(10,26,48,.05)}
.bx-stats b{display:block;font-size:30px;font-weight:800;line-height:1}
.bx-stats small{display:block;margin-top:6px;color:var(--muted);font-size:13.5px;font-weight:600}
.bx-stats li.hot{background:linear-gradient(135deg,#FFF6DD,#FFE7A8);box-shadow:0 20px 40px -26px rgba(227,154,12,.8),0 0 0 1px #FBD679}
.bx-stats li.hot small{color:#93370D}

.bx-body{padding-block:36px clamp(48px,6vw,72px);background:var(--paper)}
.bx-list-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}
.bx-list-heading h2{font-size:24px;font-weight:800;color:var(--ink)}
.bx-list-heading p{font-size:14px;color:var(--muted);margin-top:4px}
.bx-list-heading>a{flex-shrink:0;color:var(--blue);font-size:14px;font-weight:700}
.bx-list-heading>a:hover{text-decoration:underline}
.bx-body :is(a,button,summary):focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.bx-me>div{min-width:0;overflow-wrap:anywhere}
.bx-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:clamp(20px,3vw,32px);align-items:start}
.bx-body .ap-success{margin-bottom:14px}

.bx-alert{display:flex;align-items:center;gap:14px;margin-bottom:12px;padding:14px 16px;border-radius:16px;border:1px solid;transition:transform .2s,box-shadow .2s}
.bx-alert:hover{transform:translateY(-2px);box-shadow:0 14px 26px -18px rgba(10,26,48,.45)}
.bx-alert.pay{background:#FFFAEB;border-color:#FEDF89;color:#7A2E0E}
.bx-alert.warn{background:#FFF4ED;border-color:#F9DBAF;color:#93370D}
.bx-alert-icon{flex-shrink:0;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--white);font-weight:800;font-size:20px;box-shadow:0 6px 14px -8px rgba(10,26,48,.35)}
.bx-alert-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round}
.bx-alert>span:nth-child(2){display:grid;gap:2px;flex:1}
.bx-alert b{font-size:15px}
.bx-alert small{font-size:13.5px;opacity:.85}
.bx-alert em{font-style:normal;font-weight:800;font-size:14px;padding:8px 14px;border-radius:999px;background:var(--gold);color:var(--ink);white-space:nowrap}
.bx-alert.warn em{background:#F79009;color:var(--white)}

.bx-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0 14px;padding:5px;border-radius:999px;background:var(--white);border:1px solid var(--line);width:fit-content;max-width:100%}
.bx-tabs button{border:0;background:transparent;font:inherit;font-size:14px;font-weight:700;color:var(--ink-2);padding:8px 16px;border-radius:999px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background .2s,color .2s}
.bx-tabs button em{font-style:normal;font-size:12px;min-width:22px;padding:1px 7px;border-radius:999px;background:var(--paper);color:var(--muted)}
.bx-tabs button[aria-selected="true"]{background:var(--ink);color:var(--white)}
.bx-tabs button[aria-selected="true"] em{background:rgba(255,255,255,.18);color:var(--white)}

.bx-list{display:grid;gap:14px}
.bx-card{display:grid;grid-template-columns:200px minmax(0,1fr);background:var(--white);border:1px solid var(--line);border-radius:22px;overflow:hidden;transition:transform .25s,box-shadow .25s}
.bx-card:hover{transform:translateY(-3px);box-shadow:0 26px 46px -32px rgba(10,26,48,.55)}
.bx-card[hidden]{display:none}
.bx-photo{position:relative;display:block;min-height:100%;background:radial-gradient(120% 120% at 50% 0%,#EAF1FD 0,#C6D7F0 100%)}
.bx-photo img:first-child{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}
.bx-card:hover .bx-photo img:first-child{transform:scale(1.06)}
.bx-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(8,24,58,.45),transparent 55%)}
.bx-flag{position:absolute;z-index:1;bottom:12px;inset-inline-start:12px;width:40px;height:40px;border-radius:50%;padding:3px;background:#fff;box-shadow:0 6px 14px -6px rgba(0,0,0,.5)}
.bx-flag img{width:100%;height:100%;border-radius:50%;object-fit:cover}
.bx-main{padding:18px 20px 16px;min-width:0}
.bx-top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.bx-pill.pay{background:#FFFAEB;color:#B54708}
.bx-main h2{margin-top:8px;font-size:20px;font-weight:800;line-height:1.3}
.bx-main h2 a:hover{color:var(--blue)}
.bx-meta{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:6px;color:var(--muted);font-size:13.5px}
.bx-meta span+span::before{content:"•";margin-inline-end:14px;color:#C5CEDB}
.bx-people{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.bx-people li{font-size:12.5px;font-weight:700;padding:4px 10px;border-radius:999px;background:var(--paper);color:var(--ink-2)}
.bx-track{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.bx-track li{display:grid;gap:6px;font-size:12px;color:var(--muted);font-weight:600}
.bx-track i{height:5px;border-radius:5px;background:#E4E9F0}
.bx-track li.done i{background:var(--ok)}
.bx-track li.now i{background:linear-gradient(90deg,var(--gold),#FFD873)}
.bx-track li.now{color:var(--ink);font-weight:800}
.bx-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px;padding-top:14px;border-top:1px dashed var(--line)}
.bx-foot strong{font-size:22px;font-weight:800}
.bx-foot strong small{font-size:12px;color:var(--muted);font-weight:600}
.bx-actions{display:flex;gap:8px;flex-wrap:wrap}
.bx-actions form{display:contents}
.bx-actions .btn{border-radius:12px}

.bx-empty{text-align:center;padding:44px 24px;background:var(--white);border:1.5px dashed var(--line);border-radius:22px}
.bx-empty svg{width:64px;height:64px;fill:none;stroke:#B9CCEA;stroke-width:2;stroke-linecap:round}
.bx-empty h2{margin-top:10px;font-size:20px;font-weight:800}
.bx-empty p{margin:6px auto 18px;max-width:42ch;color:var(--muted)}
.bx-none{padding:28px;text-align:center;color:var(--muted);background:var(--white);border-radius:18px;border:1px dashed var(--line)}

.bx-side{position:sticky;top:110px;display:grid;gap:14px}
.bx-panel{padding:20px;background:var(--white);border:1px solid var(--line);border-radius:22px;box-shadow:0 20px 40px -34px rgba(10,26,48,.5)}
.bx-me{display:flex;align-items:center;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.bx-me b{display:block;font-size:16px}
.bx-me small{display:block;font-size:12.5px;color:var(--muted)}
.bx-dl{margin:14px 0 0;display:grid;gap:12px}
.bx-dl dt{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted);font-weight:600}
.bx-dl dt svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.bx-dl dd{margin:3px 0 0;font-size:14px;font-weight:700;overflow-wrap:anywhere;text-align:start}
.bx-password{margin-top:16px;border:1px solid var(--line);border-radius:14px;padding:0 14px}
.bx-password summary{display:flex;align-items:center;gap:8px;padding:12px 0;font-size:14px;font-weight:700;cursor:pointer;list-style:none}
.bx-password summary::-webkit-details-marker{display:none}
.bx-password summary::after{content:"";margin-inline-start:auto;width:8px;height:8px;border-inline-end:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);transition:transform .2s}
.bx-password[open] summary::after{transform:rotate(-135deg)}
.bx-password summary svg{width:17px;height:17px;fill:none;stroke:var(--blue);stroke-width:1.8;stroke-linecap:round}
.bx-password form{padding-bottom:14px}
.bx-password .au-input input{height:46px}
.bx-logout{display:flex;align-items:center;gap:8px;width:100%;margin-top:12px;padding:10px 4px;border:0;background:none;font:inherit;font-size:14px;font-weight:700;color:#B42318;cursor:pointer}
.bx-logout svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.bx-help{display:flex;align-items:center;gap:12px;padding:16px 18px;border-radius:20px;background:linear-gradient(135deg,#0A1A3E,#123A8A);color:var(--white);transition:transform .2s}
.bx-help:hover{transform:translateY(-2px)}
.bx-help>span{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#25D366}
.bx-help svg{width:22px;height:22px;fill:#fff}
.bx-help b{display:block;font-size:15px}
.bx-help small{display:block;font-size:13px;color:#B9CAE6}

@media (max-width:980px){
    .bx-grid{grid-template-columns:1fr}
    .bx-side{position:static}
    .bx-stats{grid-template-columns:repeat(2,1fr);transform:none;margin-bottom:24px}
    .bx-body{padding-top:28px}
}
@media (max-width:640px){
    .bx-new{width:100%;justify-content:center;margin-inline-start:0}
    .bx-card{grid-template-columns:1fr}
    .bx-photo{height:150px}
    .bx-track span{display:none}
    .bx-stats b{font-size:24px}
}
