/* Frame de referência: 1440 × 3281. Formas decorativas vêm dos SVGs originais. */
.room-view {
  --navy: #001867;
  --orange: #e97311;
  --pink: #ff0296;
  --heading: 'Ody Accommodations Baloo Bhai',sans-serif;
  --body: 'Ody Room Body',sans-serif;
}


.room-view {
  margin: 0;
  background: #fff;
  color: var(--navy);
  font-family: var(--body);
  font-weight: 400;
}

:where(.room-view) img {
  display: block;
  max-width: 100%;
  height: auto;
}

:where(.room-view) h1,:where(.room-view) h2,:where(.room-view) p,:where(.room-view) figure {
  margin: 0;
}

:where(.room-view) a {
  color: inherit;
}

:where(.room-view) h1,:where(.room-view) h2 {
  font-weight: 400;
}

.room-view {
  width: 100%;
  container-type: inline-size;
  --u: min(.069444444cqw,1px);
  --art-u: .069444444cqw;
}

:where(.room-view) .container {
  position: relative;
  padding-inline: 0;
  max-width: none;
}

.room-view-decoration {
  pointer-events: none;
  user-select: none;
}

.room-view a:focus-visible {
  outline: 3px solid #e97311;
  outline-offset: 5px;
}

.room-view-hero {
  position: relative;
  height: calc(524 * var(--u));
  overflow: hidden;
  isolation: isolate;
}

.room-view-hero__photo {
  position: absolute;
  width: 120.9722%;
  max-width: none;
  left: -10.4861%;
  top: calc(-154 * var(--u));
}

.room-view-hero__shade {
  position: absolute;
  inset: 0;
  background: rgba(48,77,113,.86);
}

.room-view-hero__content {
  height: 100%;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: calc(218 * var(--u));
}

.room-view-hero h1 {
  font-family: var(--heading);
  font-size: calc(80 * var(--u));
  line-height: 1.2;
  letter-spacing: -.01em;
  text-align: center;
  color: #173d79;
  -webkit-text-fill-color: currentColor;
  -webkit-text-stroke: calc(10 * var(--u)) #fff;
  paint-order: stroke fill;
  filter: drop-shadow(0 2px 1px rgba(0,0,0,.1));
}

.room-view-stay {
  position: relative;
  isolation: isolate;
  margin-top: calc(-116 * var(--u));
  padding-top: calc(159 * var(--art-u));
  padding-bottom: calc(191 * var(--u));
  min-height: calc(1643 * var(--art-u));
}

.room-view-stay__background-wrap,
.room-view-stay__background-top-slot {
  display: contents;
}

.room-view-stay__background-bottom,
.room-view-stay__background-bottom-slot {
  display: none;
}

.room-view-stay__background {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -1;
}

.room-view-stay__intro {
  width: 79.5833%;
  max-width: 1146px;
  color: #f2f4fb;
  font-size: calc(24 * var(--u));
  line-height: 1.6;
}

.room-view-stay__policy {
  margin-top: calc(14 * var(--u));
  font-family: var(--heading);
  line-height: 1.4;
  text-align: center;
}

.room-view-room-layout {
  width: 79%;
  max-width: 1137px;
  margin-inline: auto;
  margin-top: calc(84 * var(--u));
  z-index: 2;
}

.room-view-room-layout>.row {
  --u: min(.0625cqw, .9px);
  flex-wrap: nowrap;
}

.room-view-room-column {
  width: 62.23278%;
  min-width: 0;
  position: relative;
  z-index: 2;
}

.room-view-room-photo {
  border: calc(7 * var(--u)) solid #fff;
  border-radius: calc(60 * var(--u));
  overflow: hidden;
  box-shadow: 0 calc(18 * var(--u)) calc(42 * var(--u)) rgba(52,34,18,.42);
}

.room-view-room-photo img {
  width: 100%;
  aspect-ratio: 772/510;
  object-fit: cover;
}

.room-view-booking-column {
  width: 45.36817%;
  min-width: 0;
  margin-left: -7.60095%;
  margin-top: 0;
  position: relative;
  z-index: 1;
}

.room-view-booking {
  background: #fff;
  border-radius: calc(41 * var(--u));
  padding: calc(16 * var(--u)) calc(24 * var(--u)) calc(25 * var(--u)) calc(140 * var(--u));
  box-shadow: 0 calc(16 * var(--u)) calc(30 * var(--u)) rgba(52,34,18,.37);
  text-align: center;
}

.room-view-booking h2 {
  font-family: var(--heading);
  font-size: calc(40 * var(--u));
  line-height: calc(64 * var(--u));
  white-space: nowrap;
}

.room-view-booking p {
  font-size: calc(24 * var(--u));
  line-height: calc(41 * var(--u));
  white-space: nowrap;
}

.room-view-booking strong {
  font-family: var(--heading);
  font-size: calc(21 * var(--u));
  font-weight: 400;
  color: #fff;
  background: #ff7d11;
  border-radius: calc(5 * var(--u));
  padding: 0 calc(7 * var(--u));
  white-space: nowrap;
}

.room-view-booking__actions {
  display: flex;
  flex-direction: column;
  gap: calc(16 * var(--u));
  margin-top: calc(19 * var(--u));
  padding-inline: calc(13 * var(--u));
}

.room-view-action {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 44px;
  border-radius: 999px;
  text-decoration: none;
  font-family: var(--heading);
  font-weight: 400;
  line-height: 1.2;
  transition: filter .15s ease,transform .15s ease;
}

.room-view-action:hover {
  filter: brightness(.93);
  transform: translateY(-2px);
}

.room-view-action--online {
  height: calc(56 * var(--u));
  min-height: 0;
  background: var(--navy);
  color: #fff;
  font-size: calc(30 * var(--u));
}

.room-view-action--whatsapp {
  height: calc(63 * var(--u));
  min-height: 0;
  margin-inline: calc(-7 * var(--u));
  background: #31b93e;
  color: #fff;
  font-size: calc(24 * var(--u));
  gap: calc(4 * var(--u));
  white-space: nowrap;
}

.room-view-action--whatsapp img {
  width: calc(32 * var(--u));
  height: calc(32 * var(--u));
  filter: brightness(0) invert(1);
}

.room-view-action--phone {
  height: calc(56 * var(--u));
  min-height: 0;
  background: #eee;
  font-size: calc(24 * var(--u));
}

.room-view-stay__turtle {
  position: absolute;
  left: 0;
  top: calc(888 * var(--u));
  width: min(16.0417%,231px);
  z-index: 3;
}

.room-view-included {
  --u: min(.059027778cqw, .85px);
  width: 75%;
  max-width: 1080px;
  margin-inline: auto;
  margin-top: calc(106 * var(--u));
  padding: calc(24 * var(--u)) calc(52 * var(--u)) calc(37 * var(--u));
  background: #fff;
  border-radius: calc(59 * var(--u));
  z-index: 2;
}

.room-view-included h2,.room-view-amenities h2 {
  color: var(--orange);
  font-family: 'Ody Accommodations Baloo',sans-serif;
  font-size: calc(36 * var(--u));
  line-height: calc(58 * var(--u));
  text-align: center;
}

.room-view-included__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  margin: calc(26 * var(--u)) 0 0;
  padding: 0;
  list-style: none;
}

.room-view-included__list > li {
  width: 100%;
  min-width: 0;
}

.room-view-benefit {
  display: flex;
  align-items: center;
  gap: calc(23 * var(--u));
  height: calc(119 * var(--u));
  padding-inline: calc(25 * var(--u));
  border-radius: calc(46.5 * var(--u));
  background: #fff;
  box-shadow: inset 0 calc(8 * var(--u)) calc(9 * var(--u)) rgba(0,0,0,.10),0 calc(6 * var(--u)) calc(10 * var(--u)) rgba(0,0,0,.08);
}

.room-view-benefit__icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(72 * var(--u));
  height: calc(72 * var(--u));
  border-radius: 50%;
  background: #f42f9b;
}

.room-view-benefit__icon img {
  width: calc(44 * var(--u));
  height: calc(46 * var(--u));
  object-fit: contain;
  filter: brightness(0) invert(1);
}

.room-view-benefit__label {
  font-family: 'Ody Accommodations Baloo',sans-serif;
  font-size: calc(24 * var(--u));
  line-height: 1.3;
  white-space: nowrap;
}

.room-view-benefit__label--bar {
  font-size: calc(32 * var(--u));
}

.room-view-benefit__label--restaurants {
  font-size: calc(27 * var(--u));
}

.room-view-stay__stars {
  position: absolute;
  right: 2.2222%;
  bottom: calc(-21 * var(--u));
  width: min(11.3889%,164px);
  z-index: 3;
}

.room-view-amenities {
  position: relative;
  padding-top: calc(32 * var(--u));
  padding-bottom: calc(94 * var(--u));
}

.room-view-amenities__content {
  width: 78.5417%;
  max-width: 1131px;
}

.room-view-amenities p {
  margin-top: calc(39 * var(--u));
  font-size: calc(24 * var(--u));
  line-height: 1.2;
  color: #171717;
}

.room-view-exclusive {
  position: relative;
  isolation: isolate;
  min-height: calc(892 * var(--art-u));
  padding-top: calc(169 * var(--art-u));
  padding-bottom: calc(124 * var(--u));
  overflow: hidden;
  color: #fff;
}

.room-view-exclusive__background-wrap,
.room-view-exclusive__background-top-slot {
  display: contents;
}

.room-view-exclusive__background-bottom-slot,
.room-view-exclusive__background-bottom {
  display: none;
}

.room-view-exclusive__background {
  position: absolute;
  inset: 0;
  width: 100%;
  height: calc(931 * var(--art-u));
  z-index: -2;
}

.room-view-exclusive__photo {
  position: absolute;
  right: 0;
  top: calc(6 * var(--u));
  width: 50.1736%;
  max-width: none;
  z-index: -1;
}

.room-view-exclusive__stars {
  position: absolute;
  left: .7118%;
  top: 0;
  width: min(12.2917%,177px);
  z-index: 1;
}

.room-view-exclusive__content {
  width: 82.6389%;
  max-width: 1190px;
}

.room-view-exclusive__copy {
  width: 56.2185%;
}

.room-view-exclusive h2 {
  font-family: 'Ody Accommodations Baloo',sans-serif;
  font-size: calc(48 * var(--u));
  line-height: 1.2;
}

.room-view-exclusive__description {
  width: 81.1659%;
  margin-top: calc(64 * var(--u));
  font-family: 'Ody Accommodations Roboto',sans-serif;
  font-size: calc(24 * var(--u));
  line-height: 1.2;
}

.room-view-exclusive__description p+p {
  margin-top: calc(24 * var(--u));
}

.room-view-action--exclusive {
  position: relative;
  z-index: 2;
  margin: calc(98 * var(--u)) auto 0;
  width: calc(437 * var(--u));
  height: calc(68 * var(--u));
  min-height: 0;
  background: #f9f533;
  color: var(--pink);
  font-size: calc(24 * var(--u));
}


.odypark-room-page {
  overflow-x: hidden;
}

.hero-wrap--view-acomodacao {
  position: relative;
  isolation: isolate;
}

.hero-wrap--view-acomodacao .site-header {
  position: absolute;
  inset: 0 0 auto;
  z-index: 10;
}

.room-view {
  position: relative;
  overflow: clip;
}

.room-view-stay__intro > p + p {
  margin-top: 1em;
}

.room-view-booking h2, .room-view-booking p {
  white-space: normal;
  line-height: 1.4;
}

.room-view-action--whatsapp {
  white-space: normal;
}

.room-view-booking__actions a {
  height: auto;
  min-height: 44px;
  padding: 10px 8px;
}

.room-view-benefit {
  height: auto;
  min-height: calc(119 * var(--u));
}

.room-view-benefit__label {
  white-space: normal;
}

.room-view-exclusive__photo {
  max-height: 100%;
  object-fit: contain;
  object-position: right bottom;
}

/* Recupera a escala da arte sem estender o fundo sobre as secoes anteriores.
   A altura extra fica apenas na imagem, ancorada na base do rodape. */
.odypark-room-page .rodape-background::before {
  top: 0;
  background-size: 100% calc(125% + clamp(52.5rem, 62.5vw, 67.5rem));
}
