/* Mobile layout refinements; original desktop design is retained. */
img{max-width:100%} .grid>*,section .flex>div{min-width:0}
dialog{max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain}
dialog::backdrop{background:rgba(0,0,0,.6);backdrop-filter:blur(4px)}
#offer-date{overflow-wrap:anywhere}
@media(max-width:639px){
 section h2{font-size:clamp(1.65rem,7.5vw,1.875rem);overflow-wrap:break-word}
 #offre .flex.items-end{flex-wrap:wrap}
 #offre .flex.items-baseline{flex-wrap:wrap}
 a,button{touch-action:manipulation}
 dialog a{white-space:normal}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Explicit centering overrides the CSS reset's zero dialog margin. */
#package-popup{
 position:fixed;inset:0;margin:auto;box-sizing:border-box;
 width:calc(100% - 32px);max-width:390px;height:fit-content;
 max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);
 padding:28px 24px 24px;border:0;border-radius:24px;
 background:#fff;color:#06152b;box-shadow:0 20px 80px #0005;
 overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;
 scrollbar-width:thin;scrollbar-gutter:stable;
}
#package-popup .popup-close{
 position:absolute;right:8px;top:8px;display:grid;place-items:center;
 width:44px;height:44px;margin:0;padding:0;border:0;border-radius:50%;
 background:transparent;color:#06152b;font:28px/1 Arial,sans-serif;
}
#package-popup .popup-close:hover{background:#f1f5f9}
#package-popup>div>span:first-child{display:inline-block;max-width:calc(100% - 36px);line-height:1.4}
#package-popup h3{font-size:clamp(1.5rem,7.5vw,1.875rem);line-height:1.05;overflow-wrap:break-word}
#package-popup a{min-height:44px;align-items:center;text-align:center;overflow-wrap:anywhere}
@media(max-width:374px){
 #package-popup{width:calc(100% - 24px);padding:28px 18px 20px}
 #package-popup .p-4{padding:12px}
 #package-popup .popup-close{right:3px;top:3px}
}
@media(max-height:600px){
 #package-popup{max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);padding-top:24px;padding-bottom:20px}
}
