/* Mauritius Dealz V20: restrained, high-end controls and genuine hotel collection photos. */
:root{--md-ink:#193b45;--md-deep:#102d39;--md-gold:#a88963}
.header-cta,.hero-button,.md17-hero-secondary,.md18-open,.md18-submit,.md18-floating,.reunion-quote-button,.md15-island-cta,.md17-service-grid a,.text-link,.region-quickbar button,.md-catalog-bar button{transition:background-color .22s ease,border-color .22s ease,color .22s ease,transform .22s ease,box-shadow .22s ease}
.header-cta,.hero-button,.md18-open,.md18-submit,.md18-floating,.reunion-quote-button,.region-quickbar button,.md-catalog-bar button{border-radius:3px!important;letter-spacing:.035em!important;font-weight:600!important}
.header-cta:hover,.hero-button:hover,.md18-open:hover,.md18-submit:hover,.md18-floating:hover,.reunion-quote-button:hover,.region-quickbar button:hover,.md-catalog-bar button:hover{transform:translateY(-2px);box-shadow:0 11px 24px rgba(12,39,48,.16)}
a:focus-visible,button:focus-visible{outline:2px solid var(--md-gold)!important;outline-offset:4px}
.hotel-card{overflow:hidden}.hotel-card-image-link img{width:100%;height:230px;object-fit:cover;object-position:center center;transition:transform .45s ease}.hotel-card-image-link:hover img{transform:scale(1.035)}
.hotel-card .text-link{display:inline-flex;align-items:center;min-height:42px;text-underline-offset:5px}
.photo-count{background:rgba(255,255,255,.96);color:#173b45;box-shadow:0 4px 12px #092e3520;border:1px solid #ece9e2;padding:11px 16px;border-radius:3px;text-transform:none;letter-spacing:.01em}
.reunion-photo-open{cursor:zoom-in}.reunion-photo-open>img{transition:transform .45s ease}.reunion-photo-open:hover>img{transform:scale(1.035)}
.reunion-thumbs button{cursor:zoom-in;outline-offset:3px}.reunion-thumbs button:focus-visible,.reunion-photo-open:focus-visible{outline:3px solid #b99b73;outline-offset:3px}
.reunion-gallery{width:min(96vw,1240px);max-height:94vh;border-radius:5px;background:#101d25}.reunion-gallery::backdrop{background:rgba(3,14,19,.90)}.gallery-top{padding:16px 23px;font-size:15px;font-weight:500;letter-spacing:.03em}.gallery-main{grid-template-columns:94px minmax(0,1fr) 94px;gap:10px;padding:10px 16px}.gallery-main img{height:min(74vh,790px);max-height:calc(94vh - 110px);object-fit:contain}.gallery-main button{height:48px;background:#ffffff16;border:1px solid #ffffff35;border-radius:3px;font-size:12px;font-weight:600;letter-spacing:.02em;cursor:pointer}.gallery-main button:hover{background:#ffffff32}.gallery-count{padding:10px 0 18px}
.reunion-hotel{border-radius:5px;box-shadow:0 8px 34px rgba(18,67,69,.07)}.reunion-quote-button{justify-content:center;padding:16px 18px}
@media(max-width:700px){.hotel-card-image-link img{height:195px}.gallery-main{grid-template-columns:65px minmax(0,1fr) 65px;gap:5px;padding:6px}.gallery-main button{font-size:10px;height:40px;padding:3px}.gallery-main img{height:58vh}}
@media(prefers-reduced-motion:reduce){.header-cta,.hero-button,.md18-open,.md18-submit,.md18-floating,.reunion-quote-button,.hotel-card-image-link img,.reunion-photo-open>img{transition:none!important}}
