.mantoux-packages{box-sizing:border-box;position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:#101923;color:#fff;overflow:hidden;overscroll-behavior:contain}
.mantoux-packages[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}.mantoux-packages::backdrop{background:#101923}
.mantoux-packages header,.mantoux-packages footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;background:#182534;font:600 15px system-ui,sans-serif}
.mantoux-packages header{padding-top:max(12px,env(safe-area-inset-top))}.mantoux-packages footer{padding-bottom:max(12px,env(safe-area-inset-bottom));justify-content:center}
.mantoux-packages button{min-width:48px;min-height:44px;border:1px solid #748599;border-radius:10px;background:#263b51;color:#fff;font:700 18px system-ui;cursor:pointer;padding:8px 16px}.mantoux-packages header button{font-size:25px}
.mantoux-package-stage{min-height:0;overflow:auto;display:flex;align-items:center;justify-content:center;touch-action:pan-y pinch-zoom}
.mantoux-package-stage img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.mantoux-packages.zoomed .mantoux-package-stage{display:block;touch-action:pan-x pan-y pinch-zoom}.mantoux-packages.zoomed img{width:150%;max-width:none;max-height:none;height:auto}
@media(max-width:480px){.mantoux-packages header{font-size:12px;padding-left:10px;padding-right:10px}.mantoux-packages footer{gap:18px}}

.mantoux-hours{padding:20px;background:#f5f9fd;border:1px solid #dce8f3;border-radius:16px;color:#152b44;margin:16px 0;font-size:14px;line-height:1.55}.mantoux-hours h3{margin:0 0 8px;font-size:20px}.mantoux-hours-days{margin:0 0 16px}.mantoux-hours-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.mantoux-hours h4{margin:0 0 8px;color:#0033a0;font-size:15px}.mantoux-hours-grid p{margin:0 0 8px}.mantoux-hours-grid strong{font-size:13px;color:#17573c}#mantouxModalHours[hidden]{display:none!important}@media(max-width:700px){.mantoux-hours-grid{grid-template-columns:1fr;gap:16px}.mantoux-hours-grid>div+div{border-top:1px solid #dce8f3;padding-top:16px}}

.mantoux-packages .mantoux-package-grid{display:none;grid-row:2;overflow:auto;padding:16px;gap:16px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));align-content:start;min-height:0}
.mantoux-packages.is-grid .mantoux-package-grid{display:grid}.mantoux-packages.is-grid .mantoux-package-stage{display:none}.mantoux-packages footer{grid-row:3}.mantoux-packages .mantoux-package-stage{grid-row:2}
.mantoux-packages .mantoux-package-grid button{padding:8px;background:#203247;display:flex;flex-direction:column;gap:8px;font-size:13px}.mantoux-package-grid img{width:100%;height:220px;object-fit:contain;background:#fff}.mantoux-packages.is-grid [data-prev],.mantoux-packages.is-grid [data-next],.mantoux-packages.is-grid [data-zoom]{display:none}
@media(max-width:480px){.mantoux-packages .mantoux-package-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:10px;gap:10px}.mantoux-package-grid img{height:180px}.mantoux-packages footer{gap:8px}.mantoux-packages footer button{font-size:15px;padding:8px 12px}}


/* Tre colonne uniformi: le immagini non determinano l'altezza delle righe. */
.mantoux-packages .mantoux-package-grid{display:none;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:max-content;gap:14px;width:min(100%,1000px);box-sizing:border-box;margin:0 auto;align-items:start;align-content:start;justify-items:stretch}
.mantoux-packages.is-grid .mantoux-package-grid{display:grid}
.mantoux-packages .mantoux-package-grid button{display:block;position:relative;width:100%;height:auto;aspect-ratio:1 / 1;min-width:0;min-height:0;padding:0;margin:0;overflow:hidden;border:1px solid #748599;border-radius:10px;box-sizing:border-box;background:#fff}
.mantoux-packages .mantoux-package-grid button img{position:absolute;inset:6px;width:calc(100% - 12px);height:calc(100% - 12px);max-width:none;max-height:none;object-fit:contain;display:block;margin:0;box-sizing:border-box}
.mantoux-packages .mantoux-package-grid button span{position:absolute;bottom:0;left:0;right:0;background:#14263df0;color:#fff;padding:4px;font-size:11px;line-height:1.2;box-sizing:border-box}
@media(max-width:480px){.mantoux-packages .mantoux-package-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:10px}.mantoux-packages .mantoux-package-grid button span{font-size:9px}}
