:root{--bleu-nuit: #0A3D66;--bleu: #0F5C93;--ciel: #1C8FCB;--orange: #F5891C;--orange-fonce: #D96F06;--vert: #1DA65A;--vert-fonce: #13814A;--rouge: #C93B3B;--encre: #13283D;--encre-douce: #4F6478;--trait: #D9E3EC;--fond: #F3F7FB;--blanc: #FFFFFF;--ombre: 0 10px 30px -12px rgba(10, 61, 102, .28);--rayon: 16px;--rayon-petit: 10px;--police: "Nunito Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--titre: "Sora", "Nunito Sans", system-ui, sans-serif;--main: "Caveat", "Segoe Print", cursive;color-scheme:light}[dir=rtl]{--police: "Tajawal", "Nunito Sans", system-ui, sans-serif;--titre: "Tajawal", "Sora", system-ui, sans-serif}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}html.sans-defilement{overflow:hidden}body{margin:0;font-family:var(--police);font-size:16px;line-height:1.5;color:var(--encre);background:var(--fond)}img{max-width:100%;display:block}h1,h2,h3,h4{font-family:var(--titre);line-height:1.2;margin:0;text-wrap:balance}p{margin:0}button,input,select{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:3px solid var(--ciel);outline-offset:2px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.lien-evitement{position:absolute;inset-inline-start:8px;top:-60px;background:var(--blanc);padding:8px 12px;border-radius:8px;z-index:100}.lien-evitement:focus{top:8px}.muted{color:var(--encre-douce)}.petite{font-size:.875rem}.ok{color:var(--vert-fonce)}.non{color:var(--encre-douce)}.conteneur{max-width:1080px;margin:0 auto;padding-inline:max(16px,env(safe-area-inset-left,0px)) max(16px,env(safe-area-inset-right,0px))}.entete{background:var(--bleu-nuit);color:var(--blanc);position:sticky;top:0;z-index:30;padding-top:env(safe-area-inset-top,0px)}.entete-int{max-width:1080px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px max(16px,env(safe-area-inset-right,0px)) 10px max(16px,env(safe-area-inset-left,0px))}.marque{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none;min-width:0;flex:1 1 auto}.marque>span{min-width:0}.logo-m{flex:none}.marque b{font-family:var(--titre);font-size:1.25rem;letter-spacing:-.01em;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.marque small{display:block;font-size:.75rem;opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.entete-actions{display:flex;align-items:center;gap:6px;flex:none}.lien-entete{display:inline-flex;align-items:center;gap:6px;background:#ffffff1a;border:0;color:inherit;padding:8px 12px;border-radius:999px;font-weight:700}.lien-entete.actif,.lien-entete:hover{background:#fff3}.selecteur{display:inline-flex;align-items:center;gap:4px;background:#ffffff1a;border-radius:999px;padding-inline:10px 4px}.selecteur select{background:transparent;border:0;color:inherit;padding:8px 4px}.selecteur option{color:var(--encre)}@media (max-width: 560px){.cache-etroit,.marque small{display:none}.lien-entete{padding:8px 10px}}@media (max-width: 420px){.selecteur>svg{display:none}.selecteur{padding-inline:8px 2px}.entete-actions{gap:4px}.marque{gap:8px}.marque b{font-size:1.1rem}}.hero{background:linear-gradient(160deg,var(--bleu-nuit) 0%,var(--bleu) 55%,var(--ciel) 100%);color:var(--blanc);padding-bottom:92px;overflow:hidden}.hero-int{max-width:1080px;margin:0 auto;padding:36px max(16px,env(safe-area-inset-right,0px)) 0 max(16px,env(safe-area-inset-left,0px));position:relative}.hero h1{font-size:clamp(2.2rem,7vw,3.6rem);font-weight:700;letter-spacing:-.02em;max-width:12ch}.hero-texte{margin-top:12px;font-size:1.08rem;max-width:44ch;opacity:.92}.hero-main{font-family:var(--main);font-size:1.6rem;color:#ffd9a8;margin-top:4px;transform:rotate(-2deg);transform-origin:left}[dir=rtl] .hero-main{font-family:var(--police);font-size:1.2rem;transform:none}.trajet{display:block;width:min(420px,100%);height:auto;margin-top:12px;overflow:visible}[dir=rtl] .trajet{transform:scaleX(-1)}.trajet-ligne{fill:none;stroke:#ffffffbf;stroke-width:2.2;stroke-dasharray:2 8;stroke-linecap:round}.trajet-point{fill:var(--orange);stroke:#fff;stroke-width:2}@media (min-width: 860px){.hero-int{display:grid;grid-template-columns:1.1fr 1fr;align-items:end;column-gap:32px}.hero-int h1,.hero-texte{grid-column:1}.trajet{grid-column:2;grid-row:1 / span 3;align-self:center;width:100%}}@media (prefers-reduced-motion: reduce){.trajet-avion animateMotion{display:none}}.carte-recherche{background:var(--blanc);border-radius:22px;box-shadow:var(--ombre);margin-top:-72px;position:relative;z-index:2;padding:8px 8px 18px}.onglets{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;background:var(--fond);border-radius:16px;padding:5px}.onglet{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;background:transparent;border-radius:12px;padding:11px 8px;font-weight:700;color:var(--encre-douce)}.onglet.on{background:var(--blanc);color:var(--encre);box-shadow:0 2px 8px #0a3d661f}.onglet-hotels.on svg{color:var(--vert)}.onglet-vols.on svg{color:var(--ciel)}.onglet-budget.on svg{color:var(--orange)}@media (max-width: 600px){.onglet{flex-direction:column;gap:2px;font-size:.82rem;padding:9px 4px}}#panneau-recherche{padding:14px 10px 0}.formulaire{display:grid;gap:14px}.intro-form{color:var(--encre-douce)}.grille{display:grid;gap:12px;grid-template-columns:1fr}@media (min-width: 720px){.grille{grid-template-columns:repeat(4,minmax(0,1fr))}.grille>.autocomplete,.grille>.large,.paire-aeroports{grid-column:span 2}.grille-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grille-2>.large{grid-column:1 / -1}}.bascule{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:var(--fond);padding:4px;border-radius:999px}@media (min-width: 720px){.bascule{display:inline-grid;justify-self:start}}.bascule button{border:0;background:transparent;border-radius:999px;padding:7px 12px;font-weight:700;color:var(--encre-douce);display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:.9rem;white-space:nowrap}.bascule button.on{background:var(--bleu-nuit);color:var(--blanc)}.champ{display:grid;gap:5px;min-width:0;position:relative}.champ>label,.compteur span,.nationalite{font-size:.82rem;font-weight:700;color:var(--encre-douce)}.entree,.entree-icone,.tel select,.tel input{width:100%;min-height:48px;border:1.5px solid var(--trait);border-radius:var(--rayon-petit);background:var(--blanc);padding:10px 12px}.entree:focus,.entree-icone:focus-within{border-color:var(--ciel);outline:none;box-shadow:0 0 0 3px #1c8fcb2e}.entree-icone{display:flex;align-items:center;gap:8px;padding-block:0}.entree-icone>svg{color:var(--encre-douce);flex:none}.entree-icone input,.entree-icone select{border:0;outline:none;background:transparent;width:100%;min-height:44px;min-width:0}.entree-bouton{display:flex;align-items:center;gap:8px;text-align:start}.entree-bouton svg{color:var(--encre-douce)}.champ-erreur .entree,.champ-erreur .entree-icone,.invalide{border-color:var(--rouge)!important;background:#fff7f7}.champ-msg{color:var(--rouge)}.champ-aide{color:var(--encre-douce)}.tel{display:grid;grid-template-columns:104px 1fr;gap:6px}.paire-aeroports{display:grid;grid-template-columns:1fr;gap:8px;position:relative}.paire-aeroports .inverser{position:absolute;inset-inline-end:8px;top:29px;z-index:2;background:var(--blanc);border:1.5px solid var(--trait)}.paire-aeroports>.autocomplete:first-child .entree-icone{padding-inline-end:52px}@media (min-width: 720px){.paire-aeroports{grid-template-columns:1fr 1fr}.paire-aeroports .inverser{inset-inline-end:auto;left:calc(50% - 19px);top:29px}.paire-aeroports>.autocomplete:first-child .entree-icone{padding-inline-end:24px}}.suggestions{position:absolute;top:100%;inset-inline:0;z-index:20;list-style:none;margin:4px 0 0;padding:6px;background:var(--blanc);border-radius:12px;box-shadow:var(--ombre);border:1px solid var(--trait);max-height:320px;overflow:auto}.suggestions li{display:flex;gap:10px;align-items:flex-start;padding:9px 10px;border-radius:8px;cursor:pointer}.suggestions li svg{margin-top:3px;color:var(--ciel);flex:none}.suggestions li.actif,.suggestions li:hover{background:var(--fond)}.suggestions b{display:block;font-weight:700}.suggestions small{color:var(--encre-douce)}.mini-spin{width:16px;height:16px;border-radius:50%;border:2px solid var(--trait);border-top-color:var(--ciel);animation:tourne .8s linear infinite;flex:none}.voyageurs{position:relative}.popover{position:absolute;top:100%;inset-inline-end:0;z-index:20;width:min(320px,92vw);background:var(--blanc);border-radius:14px;box-shadow:var(--ombre);border:1px solid var(--trait);padding:14px;display:grid;gap:12px;margin-top:4px}.compteur{display:flex;justify-content:space-between;align-items:center}.compteur span{font-size:1rem;color:var(--encre);font-weight:600}.compteur-ctrl{display:flex;align-items:center;gap:10px}.compteur-ctrl button{width:36px;height:36px;border-radius:50%;border:1.5px solid var(--trait);background:var(--blanc);display:grid;place-items:center}.compteur-ctrl button:disabled{opacity:.35;cursor:default}.compteur-ctrl output{min-width:20px;text-align:center;font-weight:700}.age-enfant{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:.9rem}.age-enfant select{border:1.5px solid var(--trait);border-radius:8px;padding:6px}.lien-action{background:none;border:0;color:var(--bleu);font-weight:700;justify-self:end;padding:4px 8px}.nationalite{display:flex;align-items:center;gap:8px;margin-top:12px;flex-wrap:wrap}.nationalite select{border:0;background:var(--fond);border-radius:8px;padding:6px 8px;font-weight:600;color:var(--encre);max-width:220px}.bouton{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:14px;padding:13px 20px;font-weight:700;font-size:1rem;min-height:48px;text-decoration:none;background:var(--bleu);color:var(--blanc);transition:transform .12s ease,background-color .15s ease}.bouton:active{transform:scale(.98)}.bouton:disabled{opacity:.6;cursor:default}.bouton-principal{background:var(--orange);color:#2a1a05;width:100%;font-size:1.05rem}.bouton-principal:hover:not(:disabled){background:var(--orange-fonce);color:var(--blanc)}.bouton-hotel{background:var(--vert);color:var(--blanc)}.bouton-hotel:hover:not(:disabled){background:var(--vert-fonce)}.bouton-vol{background:var(--bleu);color:var(--blanc)}.bouton-vol:hover:not(:disabled){background:var(--bleu-nuit)}.formulaire>.bouton-hotel,.formulaire>.bouton-vol{width:100%;font-size:1.05rem}.bouton-secondaire{background:var(--fond);color:var(--encre)}.bouton-danger{background:#fbeaea;color:var(--rouge)}.bouton.petit{padding:9px 14px;min-height:40px;font-size:.92rem;border-radius:11px}.bouton-rond{width:38px;height:38px;border-radius:50%;border:0;background:var(--fond);display:grid;place-items:center;flex:none}.zone-resultats{padding-block:20px 40px;scroll-margin-top:80px;display:grid;gap:14px}.resultats{display:grid;gap:14px}.resultats-tete{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px}.resultats-tete h2{font-size:1.35rem}.filtres{display:flex;gap:8px;margin-inline-start:auto;flex-wrap:wrap}.puce-check{display:inline-flex;align-items:center;gap:6px;background:var(--blanc);border:1.5px solid var(--trait);padding:6px 12px;border-radius:999px;font-weight:600;font-size:.9rem;cursor:pointer}.puce-check:has(input:checked){border-color:var(--vert);background:#eaf7f0}.tri select{border:1.5px solid var(--trait);background:var(--blanc);border-radius:999px;padding:6px 12px;font-weight:600;font-size:.9rem}.liste-hotels{list-style:none;margin:0;padding:0;display:grid;gap:12px}@media (min-width: 900px){.liste-hotels{grid-template-columns:1fr 1fr}}.carte-hotel{width:100%;text-align:start;border:0;background:var(--blanc);border-radius:var(--rayon);padding:10px;display:grid;grid-template-columns:112px 1fr;gap:12px;box-shadow:0 1px 2px #0a3d6614;position:relative}.carte-hotel:hover{box-shadow:var(--ombre)}.carte-hotel .photo{width:112px;height:100%;min-height:128px;object-fit:cover;border-radius:12px;grid-row:span 2;background:var(--fond)}.photo-vide{display:grid;place-items:center;color:var(--encre-douce)}.carte-hotel-info{min-width:0;display:grid;gap:4px;align-content:start}.carte-hotel h3{font-size:1.05rem}.ligne-haut{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.etoiles{color:#e6a700;display:inline-flex;gap:1px}.note{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;color:var(--encre-douce)}.note b{background:var(--bleu-nuit);color:var(--blanc);border-radius:8px 8px 8px 2px;padding:2px 7px;font-size:.85rem}.offre-ligne{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:.85rem;color:var(--encre-douce)}.offre-ligne .ok{display:inline-flex;align-items:center;gap:4px}.carte-prix{grid-column:2;display:grid;justify-items:end;text-align:end;line-height:1.2}.carte-prix strong{font-family:var(--titre);font-size:1.35rem;color:var(--encre)}.carte-prix small{color:var(--encre-douce);font-size:.78rem}.total-sejour{font-size:.8rem;color:var(--encre-douce);margin-top:2px}.liste-vols{display:grid;gap:12px}.carte-vol{background:var(--blanc);border-radius:var(--rayon);padding:14px;display:grid;gap:12px;box-shadow:0 1px 2px #0a3d6614}.carte-vol header{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.carte-vol .cie{font-weight:700}.logo-cie{width:32px;height:32px;border-radius:8px;object-fit:contain;background:var(--blanc);flex:none;display:inline-grid;place-items:center}.logo-cie.vide{background:var(--fond);font-size:.75rem;font-weight:700;color:var(--encre-douce)}.bagage{margin-inline-start:auto;display:inline-flex;align-items:center;gap:4px;font-size:.8rem;color:var(--encre-douce)}.bagage.ok{color:var(--vert-fonce)}.jambe{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:4px 12px}.jambe-point{display:grid;text-align:center}.jambe-point strong{font-family:var(--titre);font-size:1.2rem}.jambe-point span{font-size:.8rem;color:var(--encre-douce);font-weight:700}.jambe-trajet{display:grid;justify-items:center;gap:2px;font-size:.78rem;color:var(--encre-douce)}.jambe-trajet .trait{width:100%;display:flex;align-items:center;gap:4px;color:var(--ciel)}.jambe-trajet .trait:before,.jambe-trajet .trait:after{content:"";flex:1;border-top:2px dotted var(--trait)}[dir=rtl] .jambe-trajet .trait svg{transform:scaleX(-1)}.jambe-trajet .direct{color:var(--vert-fonce);font-weight:700}.jambe-trajet .escale{color:var(--orange-fonce);font-weight:700}.jambe-date{grid-column:1 / -1;font-size:.78rem;color:var(--encre-douce)}.carte-vol footer{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--trait);padding-top:12px}.carte-prix-vol{display:grid;line-height:1.2}.carte-prix-vol strong{font-family:var(--titre);font-size:1.4rem}.carte-prix-vol small{font-size:.78rem;color:var(--encre-douce)}.liste-budget{list-style:none;margin:0;padding:0;display:grid;gap:12px;counter-reset:rang}@media (min-width: 860px){.liste-budget{grid-template-columns:1fr 1fr}}.carte-budget{background:var(--blanc);border-radius:var(--rayon);padding:14px;display:grid;grid-template-columns:1fr auto;gap:10px 12px;box-shadow:0 1px 2px #0a3d6614;counter-increment:rang}.budget-ville h3{font-size:1.15rem;display:flex;gap:8px;align-items:baseline}.budget-ville h3:before{content:counter(rang);font-size:.8rem;color:var(--orange-fonce);font-weight:700}.budget-ville p{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:4px}.budget-ville .logo-cie{width:20px;height:20px;border-radius:5px}.budget-prix{display:grid;justify-items:end;text-align:end;line-height:1.2}.budget-prix strong{font-family:var(--titre);font-size:1.35rem}.budget-prix small{color:var(--encre-douce);font-size:.78rem}.budget-actions{grid-column:1 / -1;display:flex;gap:8px;flex-wrap:wrap}.budget-actions .bouton{flex:1}.chargement{display:flex;align-items:center;justify-content:center;gap:12px;padding:28px 12px;color:var(--bleu);font-weight:700}.avion-tourne{animation:tourne 1.6s linear infinite}@keyframes tourne{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.avion-tourne,.mini-spin{animation-duration:6s}}.alerte{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:12px;background:#fdecec;color:#8a1f1f}.alerte svg{flex:none;margin-top:2px}.alerte-info{background:#e8f3fb;color:var(--bleu-nuit)}.alerte-succes{background:#e6f6ee;color:var(--vert-fonce)}.voile{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#081f348c;display:flex;align-items:flex-end;justify-content:center}.panneau{background:var(--blanc);width:100%;height:100%;display:flex;flex-direction:column;outline:none;animation:monte .22s ease-out}@keyframes monte{0%{transform:translateY(24px);opacity:0}}@media (prefers-reduced-motion: reduce){.panneau{animation:none}}@media (min-width: 760px){.voile{align-items:center;padding:24px}.panneau{max-width:620px;height:auto;max-height:calc(100vh - 48px);border-radius:22px;overflow:hidden}.panneau-large{max-width:860px}}.panneau-tete{display:flex;align-items:center;gap:12px;padding:12px max(16px,env(safe-area-inset-right,0px)) 12px max(16px,env(safe-area-inset-left,0px));padding-top:max(12px,env(safe-area-inset-top,0px));border-bottom:1px solid var(--trait)}.panneau-titres{min-width:0}.panneau-titres h2{font-size:1.15rem;overflow:hidden;text-overflow:ellipsis}.panneau-titres p{font-size:.85rem;color:var(--encre-douce)}.panneau-corps{flex:1;overflow-y:auto;padding:16px max(16px,env(safe-area-inset-right,0px)) 24px max(16px,env(safe-area-inset-left,0px));display:grid;gap:16px;align-content:start}.panneau-pied{padding:12px max(16px,env(safe-area-inset-right,0px)) max(12px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));border-top:1px solid var(--trait)}.seulement-bureau{display:none}@media (min-width: 760px){.seulement-mobile{display:none}.seulement-bureau{display:inline}.panneau-tete{flex-direction:row-reverse;justify-content:space-between}}.galerie{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:-16px;padding-inline:16px;scrollbar-width:thin}.galerie img{height:220px;width:auto;max-width:85%;aspect-ratio:4 / 3;object-fit:cover;border-radius:14px;scroll-snap-align:start;background:var(--fond);flex:none}.fiche-entete{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center}.lien-carte{display:inline-flex;align-items:center;gap:4px;color:var(--bleu);font-size:.9rem;font-weight:600}.bloc{display:grid;gap:10px}.bloc h3{font-size:1.05rem;display:flex;align-items:center;gap:6px}.deux-col{grid-template-columns:1fr}@media (min-width: 640px){.deux-col{grid-template-columns:1fr 1fr}}.meteo{list-style:none;margin:0;padding:0;display:flex;gap:8px;overflow-x:auto}.meteo li{background:var(--fond);border-radius:12px;padding:8px 10px;display:grid;justify-items:center;gap:2px;min-width:64px;font-weight:700}.meteo li svg{color:var(--orange)}.meteo small{font-weight:400;color:var(--encre-douce);font-size:.75rem}.offres{list-style:none;margin:0;padding:0;display:grid;gap:10px}.offre{display:grid;grid-template-columns:64px 1fr;gap:10px 12px;border:1.5px solid var(--trait);border-radius:14px;padding:10px}.offre img,.offre-icone{width:64px;height:64px;border-radius:10px;object-fit:cover;background:var(--fond);display:grid;place-items:center;color:var(--encre-douce)}.offre-info{display:grid;gap:3px;min-width:0}.offre-info h4{font-size:.98rem}.offre-info p{display:flex;align-items:center;gap:5px}.offre-prix{grid-column:1 / -1;display:flex;align-items:center;gap:10px;justify-content:flex-end;flex-wrap:wrap}.offre-prix strong{font-family:var(--titre);font-size:1.25rem}.offre-prix small{color:var(--encre-douce);font-size:.8rem}@media (min-width: 640px){.offre{grid-template-columns:64px 1fr auto}.offre-prix{grid-column:auto;display:grid;justify-items:end;gap:4px}}.puces{margin:0;padding-inline-start:18px;display:grid;gap:4px}.etiquettes{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.etiquettes li{background:var(--fond);border-radius:999px;padding:4px 10px;font-size:.85rem}.texte-long{white-space:pre-line;max-width:70ch}.texte-long.coupe{display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}.avis{list-style:none;margin:0;padding:0;display:grid;gap:10px}.avis li{background:var(--fond);border-radius:12px;padding:10px 12px;display:grid;gap:4px}.avis-tete b{color:var(--bleu-nuit)}.infos summary{cursor:pointer;font-weight:700;font-family:var(--titre)}.recap{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;background:var(--fond);border-radius:14px;padding:12px}.recap>svg{color:var(--vert)}.recap strong{font-family:var(--titre);font-size:1.2rem}.groupe{border:1.5px solid var(--trait);border-radius:14px;padding:12px 14px 16px;margin:0 0 14px}.groupe legend{font-family:var(--titre);font-weight:600;padding-inline:6px}.titre-paiement{display:flex;align-items:center;gap:6px;font-size:1.05rem;margin-bottom:10px}.zone-paiement{min-height:220px}.resultat-final{display:grid;gap:10px;justify-items:center;text-align:center;padding-block:8px}.resultat-final .coche{color:var(--vert)}.resultat-final.echec>svg{color:var(--rouge)}.resultat-final .gros{font-family:var(--titre);font-size:1.25rem;font-weight:600}.codes{display:grid;gap:8px;margin:6px 0;width:100%}.codes div{display:flex;justify-content:space-between;gap:12px;background:var(--fond);border-radius:10px;padding:10px 12px}.codes dt{color:var(--encre-douce);font-size:.9rem}.codes dd{margin:0;font-weight:700;font-family:var(--titre);letter-spacing:.02em;text-align:end}.page-reservations{padding-block:28px 48px;display:grid;gap:16px;max-width:720px}.page-reservations h1{font-size:1.8rem}.carte-blanche{background:var(--blanc);border-radius:var(--rayon);padding:18px;box-shadow:0 1px 2px #0a3d6614}.carte-blanche h2{font-size:1.1rem}.detail-resa{display:grid;gap:12px}.detail-resa header{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.detail-resa header svg{color:var(--bleu)}.statut{margin-inline-start:auto;border-radius:999px;padding:3px 10px;font-weight:700;font-size:.85rem;background:var(--fond)}.statut-confirmed,.statut-ticketed,.statut-confirmée{background:#e6f6ee;color:var(--vert-fonce)}.statut-cancelled,.statut-annulée{background:#fbeaea;color:var(--rouge)}.confirmer-annulation{display:grid;gap:8px}.pied{background:var(--bleu-nuit);color:#ffffffd9;padding-block:24px max(24px,env(safe-area-inset-bottom,0px));font-size:.92rem}.pied .conteneur{display:grid;gap:6px}.badge-test{display:inline-block;justify-self:start;background:var(--orange);color:#2a1a05;border-radius:999px;padding:2px 10px;font-weight:700;font-size:.82rem}.etapes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.etapes li{display:flex;align-items:center;gap:8px;font-size:.85rem;font-weight:700;color:var(--encre-douce);padding-bottom:8px;border-bottom:3px solid var(--trait);min-width:0}.etapes li.en-cours{color:var(--encre);border-color:var(--orange)}.etapes li.fait{color:var(--vert-fonce);border-color:var(--vert)}.etape-num{flex:none;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--fond);font-size:.8rem}.etapes li.en-cours .etape-num{background:var(--orange);color:#2a1a05}.etapes li.fait .etape-num{background:var(--vert);color:var(--blanc)}.etape-nom{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 420px){.etapes li:not(.en-cours) .etape-nom{display:none}}.liste-choix{display:grid;gap:10px}.carte-choix{display:grid;grid-template-columns:auto 64px 1fr;grid-template-areas:"radio photo info" "prix prix prix";gap:8px 12px;align-items:center;border:1.5px solid var(--trait);border-radius:14px;padding:10px 12px;background:var(--blanc);cursor:pointer}.carte-choix:has(input:focus-visible){outline:3px solid var(--ciel);outline-offset:2px}.carte-choix.choisi{border-color:var(--orange);box-shadow:0 0 0 3px #f5891c2e}.carte-choix input{grid-area:radio;width:20px;height:20px;accent-color:var(--orange);margin:0}.carte-choix>img,.choix-photo-vide{grid-area:photo;width:64px;height:64px;border-radius:10px;object-fit:cover;background:var(--fond);display:grid;place-items:center;color:var(--encre-douce)}.choix-info{grid-area:info;display:grid;gap:2px;min-width:0}.choix-info b{font-family:var(--titre);font-weight:600}.choix-info .petite{display:inline-flex;align-items:center;gap:4px}.choix-prix{grid-area:prix;justify-self:end;font-family:var(--titre);font-size:1.15rem;display:grid;justify-items:end;line-height:1.2}.choix-prix small{font-family:var(--police);font-size:.75rem;font-weight:400;color:var(--encre-douce)}@media (min-width: 640px){.carte-choix{grid-template-columns:auto 72px 1fr auto;grid-template-areas:"radio photo info prix"}.carte-choix>img,.choix-photo-vide{width:72px;height:72px}}.carte-choix.choisi:not(:has(input)){grid-template-columns:1fr auto;grid-template-areas:"info prix";cursor:default}.carte-choix .resume-vol{grid-column:1}.carte-choix:not(:has(input)) .choix-prix{grid-area:auto}.resume-vol{display:flex;gap:10px;align-items:flex-start;min-width:0}.resume-vol p{color:var(--encre-douce)}.badge-moins-cher{background:var(--orange);color:#2a1a05;font-weight:700;font-size:.72rem;border-radius:999px;padding:1px 8px}.lien-gauche{justify-self:start;text-decoration:underline}.pied-pack{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center}.pied-total{display:grid;line-height:1.15}.pied-total small{color:var(--encre-douce);font-size:.78rem}.pied-total strong{font-family:var(--titre);font-size:1.3rem}.recap-pack{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;background:var(--fond);border-radius:12px;padding:10px 12px;margin-bottom:14px;font-weight:600}.recap-pack span{display:inline-flex;align-items:center;gap:6px}.recap-pack .lien-action{margin-inline-start:auto}.facture{border:1.5px solid var(--trait);border-radius:14px;padding:14px;display:grid;gap:10px;background:var(--blanc)}.facture h3{display:flex;align-items:center;gap:6px;font-size:1.05rem}.facture table{width:100%;border-collapse:collapse}.facture th{text-align:start;font-weight:400;padding:10px 0;vertical-align:top}.facture td{text-align:end;padding:10px 0 10px 12px;font-family:var(--titre);font-weight:600;white-space:nowrap;vertical-align:top}.facture tbody tr+tr th,.facture tbody tr+tr td{border-top:1px dashed var(--trait)}.facture tfoot th,.facture tfoot td{border-top:2px solid var(--encre);padding-top:12px;font-family:var(--titre);font-size:1.2rem;font-weight:700}.ligne-titre{display:flex;align-items:center;gap:6px;font-weight:700}.ligne-titre svg{color:var(--bleu)}.ligne-nom,.ligne-detail{display:block;font-size:.85rem;color:var(--encre-douce);padding-inline-start:21px}.ligne-nom{color:var(--encre)}.sur-place{display:flex;gap:6px;align-items:flex-start}.deux-reservations{display:grid;gap:10px;width:100%;text-align:start}@media (min-width: 640px){.deux-reservations{grid-template-columns:1fr 1fr}}.deux-reservations h3{display:flex;gap:6px;align-items:center;font-size:1rem}.deux-reservations .codes{margin-top:8px}.resultat-final .facture{width:100%;text-align:start}.logo-m{flex:none;height:40px;width:auto}.logo-anime{animation:guette .9s ease-in-out infinite;transform-origin:50% 100%}@keyframes guette{0%,to{transform:translateY(0) rotate(0)}30%{transform:translateY(-4px) rotate(-6deg)}60%{transform:translateY(-2px) rotate(5deg)}}@media (prefers-reduced-motion: reduce){.logo-anime{animation:none}}.label-ligne{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.label-ligne label{font-size:.82rem;font-weight:700;color:var(--encre-douce)}.lien-liste{border:0;background:none;color:var(--bleu);font-weight:700;font-size:.8rem;display:inline-flex;align-items:center;gap:4px;padding:0}.lien-liste:hover{text-decoration:underline}.liste-aeroports{list-style:none;margin:0;padding:0;display:grid;gap:4px}.liste-aeroports button{width:100%;display:flex;gap:12px;align-items:center;text-align:start;border:0;background:var(--blanc);border-radius:10px;padding:9px 10px}.liste-aeroports button:hover,.liste-aeroports button:focus-visible{background:var(--fond)}.liste-aeroports small{display:block;color:var(--encre-douce);font-size:.82rem}.code-iata{font-family:var(--titre);background:var(--bleu-nuit);color:var(--blanc);border-radius:8px;padding:4px 8px;font-size:.85rem;letter-spacing:.04em;flex:none}.grille-visa{grid-template-columns:1fr}@media (min-width: 720px){.grille-visa{grid-template-columns:1fr 1fr}}.intro-visa{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--encre);margin:0}.badge-visa{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:2px 9px;font-size:.75rem;font-weight:700;white-space:nowrap}.visa-ok .badge-visa,.badge-visa.visa-ok{background:#e6f6ee;color:var(--vert-fonce)}.visa-moyen .badge-visa,.badge-visa.visa-moyen{background:#fff1de;color:#9a5200}.visa-fort .badge-visa,.badge-visa.visa-fort{background:#e8f0fb;color:var(--bleu-nuit)}.visa-bloque .badge-visa,.badge-visa.visa-bloque{background:#fbeaea;color:var(--rouge)}.resultat-visa{border:1.5px solid var(--trait);border-inline-start:5px solid var(--vert);border-radius:14px;padding:14px 16px;display:grid;gap:10px;background:var(--blanc)}.resultat-visa.visa-moyen{border-inline-start-color:var(--orange)}.resultat-visa.visa-fort{border-inline-start-color:var(--bleu)}.resultat-visa.visa-bloque{border-inline-start-color:var(--rouge)}.resultat-visa-tete{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.resultat-visa-tete h3{font-size:1.15rem}.resultat-visa .bouton{justify-self:start;text-decoration:none}.lien-source{margin-top:-4px}.visa-resume{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.visa-compte{display:inline-flex;align-items:center;gap:4px}.budget-ville .badge-visa{margin-inline-start:6px;vertical-align:middle}.visa-pack{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--fond);border-radius:12px;padding:10px 12px}.visa-pack a{color:var(--bleu);font-weight:700;display:inline-flex;align-items:center;gap:4px}.email-envoye{display:flex;align-items:center;gap:6px;justify-content:center;color:var(--vert-fonce);font-weight:600}.bouton-payer{width:100%;margin-block:14px 6px}
