/* ==========================================================================
   MODAL DE RESERVA EM TELA CHEIA — o motor HSystem abre sobreposto ao site
   (parece popup, ocupa a tela toda, sem sair do dominio do hotel)
   ========================================================================== */
.res-modal{position:fixed;inset:0;z-index:200;background:#0B1F38;display:none;
      flex-direction:column;opacity:0;transition:opacity .3s ease}
.res-modal.on{display:flex;opacity:1}
.res-modal .rm-bar{display:flex;align-items:center;gap:14px;padding:10px 16px;
      background:linear-gradient(100deg,var(--deep),var(--green));flex:none;
      box-shadow:0 6px 24px rgba(0,0,0,.28);z-index:2}
.res-modal .rm-bar img{height:40px;width:auto;flex:none;
      filter:drop-shadow(0 2px 6px rgba(0,0,0,.3))}
.res-modal .rm-bar .rm-t{flex:1;min-width:0;color:#fff;font-family:var(--font-h);
      font-size:15px;font-weight:700;line-height:1.15}
.res-modal .rm-bar .rm-t small{display:block;font-family:var(--font-b);font-size:10.5px;
      font-weight:500;color:rgba(255,255,255,.72);margin-top:2px}
.res-modal .rm-seg{display:inline-flex;background:rgba(255,255,255,.14);border-radius:999px;padding:3px;flex:none}
.res-modal .rm-seg a{display:block;padding:7px 15px;border-radius:999px;font-size:11.5px;
      font-weight:700;color:#fff;text-decoration:none;transition:.2s;white-space:nowrap}
.res-modal .rm-seg a.on{background:#fff;color:var(--deep)}
.res-modal .rm-x{background:#8f2020;border:1.6px solid rgba(255,255,255,.85);color:#fff;
      width:36px;height:36px;border-radius:50%;cursor:pointer;display:grid;place-items:center;
      flex:none;transition:.2s;box-shadow:0 4px 12px rgba(0,0,0,.3)}
.res-modal .rm-x:hover{background:#a82a2a;transform:scale(1.08)}
.res-modal .rm-x svg{width:16px;height:16px;stroke:#fff;stroke-width:2.6;fill:none}
.res-modal .rm-frame{flex:1;width:100%;border:0;background:#fff;display:block}
.res-modal .rm-load{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;
      align-items:center;justify-content:center;gap:20px;background:#fff;
      font-family:var(--font-b);transition:opacity .35s ease}
.res-modal .rm-load.hide{opacity:0;pointer-events:none;visibility:hidden}
.res-modal .rm-load .rm-logo{height:74px;width:auto;margin-bottom:6px;
      filter:drop-shadow(0 4px 14px rgba(15,30,51,.14))}
.res-modal .rm-load .rm-txt{font-size:14.5px;font-weight:600;color:#0E2A47;letter-spacing:.01em;
      display:flex;align-items:center;gap:9px}
.res-modal .rm-load .rm-txt svg{width:17px;height:17px;stroke:#1B4C9C;fill:none;stroke-width:2}
.res-modal .rm-dots{display:flex;gap:9px;align-items:center}
.res-modal .rm-dots i{width:12px;height:12px;border-radius:50%;background:#1B4C9C;
      display:block;animation:rmBounce 1.15s ease-in-out infinite;
      box-shadow:0 2px 8px rgba(27,76,156,.35)}
.res-modal .rm-dots i:nth-child(1){background:#0E2A47}   /* azul-marinho da logo */
.res-modal .rm-dots i:nth-child(2){background:#2E9B4F;animation-delay:.16s;
      box-shadow:0 2px 8px rgba(46,155,79,.35)}          /* verde da logo */
.res-modal .rm-dots i:nth-child(3){background:#1B4C9C;animation-delay:.32s} /* azul royal */
@keyframes rmBounce{0%,80%,100%{transform:scale(.55);opacity:.45}40%{transform:scale(1);opacity:1}}
.res-modal .rm-sub{font-size:12.5px;color:#7A8AA0}
.res-modal .rm-load.hide{display:none}
.res-modal .rm-spin{width:42px;height:42px;border-radius:50%;border:3px solid rgba(255,255,255,.2);
      border-top-color:var(--teal);animation:.9s linear infinite rmSpin}
@keyframes rmSpin{to{transform:rotate(360deg)}}
body.rm-open{overflow:hidden}
@media(max-width:760px){
  .res-modal .rm-bar{padding:8px 10px;gap:9px}
  .res-modal .rm-bar img{height:32px}
  .res-modal .rm-bar .rm-t{font-size:12.5px}
  .res-modal .rm-bar .rm-t small{display:none}
  .res-modal .rm-seg a{padding:6px 11px;font-size:10.5px}
  .res-modal .rm-x{width:32px;height:32px}
}
