/* Make images responsive */
img {
  max-width: 100%;
  height: auto;
}

/* screen - info-page-hotel */
.info-page-hotel {
  align-items: flex-start;
  background-color: var(--white);
  cursor: pointer;
  display: flex;
  /* height: 813px;  removed fixed height */
  /* width: 360px;   removed fixed width */
  width: 100%;
  max-width: 480px; /* optional: limit container width on larger screens */
  margin: 0 auto;   /* center horizontally if needed */
  box-sizing: border-box;
  overflow: hidden; /* keep if you need content clipped */
}

.info-page-hotel .overlap-group14 {
  /* height: 900px; removed fixed height */
  /* width: 360px;  removed fixed width */
  position: relative;
  width: 100%;
  height: auto; 
  margin-top: -1px;
}

.info-page-hotel .component-10-11 {
  align-items: flex-start;
  display: flex;
  flex: 1;
  max-height: 128px;
  min-width: 100%;
}

.info-page-hotel .group-container {
  /* width: 360px; height: 128px => fluid */
  position: relative;
  width: 100%;
  max-width: 100%;
  height: auto;
  min-height: 128px; /* keep if you want a minimum */
}

.info-page-hotel .group {
  align-items: center;
  display: flex;
  flex: 1;
  flex-direction: column;
  min-height: 100%;
  /* width: 70.83px; keep if integral to design, or consider making it auto */
  width: 70px; 
}

.info-page-hotel .overlap-group {
  /* width: 44px; height: 32px => if icons, might keep fixed */
  position: relative;
  margin-left: 0.15px;
  width: 44px;
  height: 32px;
}

.info-page-hotel .athens {
  position: absolute;
  left: 11px;
  top: 29px;
  width: 24px;
  height: 4px;
  object-fit: cover;
}

.info-page-hotel .arch {
  position: absolute;
  left: 0;
  top: 0;
  width: 44px;
  height: 32px;
  object-fit: cover;
}

.info-page-hotel .we-serve {
  width: 71px;
  height: 9px;
  margin-top: 4px;
  object-fit: cover;
}

.info-page-hotel .tagline_000000239778 {
  width: 50px;
  height: 3px;
  margin-left: 0.1px;
  margin-top: 3px;
  object-fit: cover;
}

.info-page-hotel .menu-icon {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 5px;
  margin-left: 11px;
  margin-top: 2.37px;
  min-height: 14px;
  width: 18px; /* keep if icon size is fixed */
}

.info-page-hotel .line-59 {
  width: 18px;
  height: 2px;
  object-fit: cover;
}

.info-page-hotel .overlap-group1 {
  position: absolute;
  left: 16px;
  top: 70px;
  width: 100%;
  max-width: 328px; /* was 328px fixed */
  height: 45px;     /* if you need a fixed height for a search bar, keep it */
  border-radius: 100px;
}

.info-page-hotel .search-icon {
  width: 24px;
  margin-bottom: 10px;
  margin-right: 17px;
  margin-top: 11px;
  object-fit: cover;
}

.info-page-hotel .text-227 {
  position: absolute;
  left: 20px;
  top: 16px;
  letter-spacing: 0;
  line-height: 12px;
  white-space: nowrap;
}

.info-page-hotel .lux {
  letter-spacing: 0;
  line-height: 20px;
  margin-left: 2px;
  margin-top: 7px;
  min-height: 56px;
  min-width: 258px;
  text-align: center;
  white-space: nowrap;
}

/* Container for some row with an image maybe */
.info-page-hotel .component-17-7 {
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  margin-top: 12px;
  /* min-width: 328px => fluid */
  width: 100%;
  max-width: 328px;
}

.info-page-hotel .overlap-group8 {
  /* width: 329px; height: 184px => fluid or keep fixed if design requires */
  position: relative;
  width: 100%;
  max-width: 329px;
  height: auto;
}

.info-page-hotel .breakfastquartet {
  position: absolute;
  left: 17px;
  top: 15px;
  letter-spacing: 0;
  line-height: 26px;
  white-space: nowrap;
}

.info-page-hotel .group-182735 {
  position: absolute;
  left: 17px;
  top: 132px;
  width: 144px;
  height: 35px;
  display: flex;
}

.info-page-hotel .group-182740 {
  background-color: var(--white);
  border-radius: 100px;
  display: flex;
  flex: 1;
  align-items: flex-end;
  justify-content: flex-end;
  padding: 6px 19px;
  min-width: 144px;
}

.info-page-hotel .text-221 {
  letter-spacing: 0;
  line-height: 12px;
  min-height: 18px;
  min-width: 104px;
  white-space: nowrap;
}

.info-page-hotel .path-63269 {
  position: absolute;
  top: 68px;
  left: 0;
  width: 100%;
  max-width: 329px;
  height: 40px;
  object-fit: cover;
}

.info-page-hotel .group-182739 {
  position: absolute;
  left: 263px;
  top: 12px;
  min-width: 54px;
  height: 54px;
  display: flex;
  align-items: flex-end;
  background-image: url(../img/path-63314-1@1x.png);
  background-position: 50% 50%;
  background-size: cover;
  padding: 8px 10px;
}

.info-page-hotel .group-182738 {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
  width: 33px;
  min-height: 37px;
}

.info-page-hotel .group-182736 {
  display: flex;
  height: 14px;
  margin-right: 3px;
  width: 22px;
}

.info-page-hotel .text-222 {
  width: 22px;
  height: 16px;
  letter-spacing: 0;
  line-height: 10px;
  white-space: nowrap;
}

.info-page-hotel .price {
  letter-spacing: 0;
  line-height: 18px;
  min-height: 26px;
  min-width: 33px;
  white-space: nowrap;
}

.info-page-hotel .group-183131 {
  position: absolute;
  left: 237px;
  top: 14px;
  min-width: 37px;
  height: 44px;
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  background-image: url(../img/group-182930-10@1x.png);
  background-position: 50% 50%;
  background-size: cover;
}

.info-page-hotel .group-container-1 {
  position: relative;
  margin-top: 0;
  width: 37px;
  height: 44px;
}

.info-page-hotel .group-182943 {
  position: absolute;
  left: 0;
  top: 0;
  width: 37px;
  height: 44px;
  background-image: url(../img/group-182942-12@1x.png);
  background-position: 50% 50%;
  background-size: cover;
}

.info-page-hotel .component-9-20 {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-left: 1px;
  margin-top: 11px;
  min-width: 79px;
}

.info-page-hotel .text-220 {
  align-self: flex-start;
  margin-left: 18px;
  margin-top: 28px;
  min-width: 224px;
  line-height: 20px;
  text-align: center;
  letter-spacing: 0;
  white-space: nowrap;
}

.info-page-hotel .overlap-group12 {
  /* width: 360px; height: 164px => fluid */
  position: relative;
  width: 100%;
  max-width: 360px;
  height: auto;
  margin-top: 6px;
}

.info-page-hotel .scroll-group-9 {
  align-items: flex-start;
  height: 164px; /* if you want a fixed scroller height, keep it */
  justify-content: flex-end;
}

.info-page-hotel .group-container-2 {
  /* width: 604px; height: 164px => for horizontal scroller can keep width or use auto */
  position: relative;
  width: fit-content; /* or 604px if you want a fixed total scroll width */
  height: 164px;
  flex: 0 0 auto;
}

.info-page-hotel .overlap-group1-1 {
  position: relative;
  width: 115px;
  height: 164px;
}

.info-page-hotel .group-182918 {
  position: absolute;
  top: 0;
  left: 0;
  width: 114px;
  min-height: 164px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  align-items: center;
  background-color: var(--white);
  border-radius: 10px;
  box-shadow: 0px 3px 6px #00000029;
}

.info-page-hotel .text-217 {
  line-height: 12px;
  min-height: 34px;
  min-width: 72px;
  margin-left: 2px;
  text-align: center;
  letter-spacing: 0;
  white-space: nowrap;
}

.info-page-hotel .group-container-3 {
  position: relative;
  margin-left: 8px;
  width: 115px;
  height: 164px;
}

.info-page-hotel .overlap-group-1 {
  width: 115px;
  height: 164px;
}

.info-page-hotel .text-216 {
  position: absolute;
  left: 16px;
  top: 128px;
  text-align: center;
  line-height: 12px;
  letter-spacing: 0;
  white-space: nowrap;
}

.info-page-hotel .group-182968 {
  width: 114px;
  min-height: 164px;
  margin-left: 7px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  align-items: center;
  background-color: var(--white);
  border-radius: 10px;
  box-shadow: 0px 3px 6px #00000029;
}

.info-page-hotel .overlap-group2 {
  display: flex;
  align-items: flex-end;
  background-color: var(--concrete);
  border-radius: 10px 10px 0 0;
  height: 114px;
  min-width: 114px;
  padding: 2px 21px;
}

.info-page-hotel .group-container-4 {
  position: relative;
  margin-top: 0;
  width: 26px;
  height: 30px;
}

.info-page-hotel .group-182943-1 {
  position: absolute;
  top: 0;
  left: 0;
  width: 26px;
  height: 30px;
  background-image: url(../img/group-182942-11@1x.png);
  background-position: 50% 50%;
  background-size: cover;
}

.info-page-hotel .group-182955-1 {
  position: absolute;
  top: 0;
  left: 0;
  width: 26px;
  height: 30px;
  background-image: url(../img/group-182954-11@1x.png);
  background-position: 50% 50%;
  background-size: cover;
}

.info-page-hotel .group-182960-1 {
  position: absolute;
  top: 0;
  left: 4px;
  width: 4px;
  height: 7px;
  background-image: url(../img/group-182956-11@1x.png);
  background-position: 50% 50%;
  background-size: cover;
}

.info-page-hotel .group-182965-1 {
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 7px;
  background-image: url(../img/group-182961-11@1x.png);
  background-position: 50% 50%;
  background-size: cover;
}

.info-page-hotel .luxury {
  line-height: 12px;
  letter-spacing: 0;
  margin-left: 2px;
  min-width: 60px;
  min-height: 34px;
  text-align: center;
  white-space: nowrap;
}

.info-page-hotel .group-182925 {
  width: 114px;
  min-height: 164px;
  margin-left: 9px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  align-items: center;
  background-color: var(--white);
  border-radius: 10px;
  box-shadow: 0px 3px 6px #00000029;
}

.info-page-hotel .text-218 {
  line-height: 12px;
  letter-spacing: 0;
  margin-left: 2px;
  min-height: 34px;
  min-width: 68px;
  text-align: center;
  white-space: nowrap;
}

.info-page-hotel .overlap-group4 {
  width: 114px;
  min-height: 164px;
  margin-left: 8px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  align-items: center;
  background-color: var(--white);
  border-radius: 10px;
  box-shadow: 0px 3px 6px #00000029;
}

.info-page-hotel .text-219 {
  line-height: 12px;
  letter-spacing: 0;
  margin-left: 2px;
  min-height: 34px;
  min-width: 62px;
  text-align: center;
  white-space: nowrap;
}

/* Floating button */
.info-page-hotel .fab_button {
  position: absolute;
  left: 283px;
  top: 100px;
  display: flex;
  align-items: flex-start;
  height: 61px;
  min-width: 61px;
}

.info-page-hotel .group-182977 {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  height: 28px;
  margin-left: 2px;
  margin-top: 33px;
  width: 330px;
}

.info-page-hotel .text-225 {
  letter-spacing: 0;
  line-height: 20px;
  margin-bottom: -4.5px;
  margin-top: 3.5px;
  white-space: nowrap;
  width: 240px;
}

.info-page-hotel .text-226 {
  height: 21px;
  letter-spacing: 0;
  line-height: 14px;
  margin-bottom: -4.5px;
  margin-right: -2px;
  text-align: center;
  text-decoration: underline;
  white-space: nowrap;
  width: 30px;
}

/* Another row */
.info-page-hotel .overlap-group11 {
  position: relative;
  /* width: 360px; height: 137px => fluid */
  width: 100%;
  max-width: 360px;
  height: auto;
  margin-top: 16px;
}

.info-page-hotel .scroll-group-10 {
  align-items: flex-end;
  /* height: 137px => remove or keep if you want a horizontal scroller of fixed height */
}

/* Overlapping images (slideshow maybe) */
.info-page-hotel .overlap-group-2 {
  background-image: url(../img/image-1-12@1x.png);
  background-position: 50% 50%;
  background-size: cover;
  border-radius: 20px;
  /* width: 333px; height: 227px => keep if this is a "slide" size */
  width: 333px;
  height: 227px;
}

.info-page-hotel .image-1 {
  position: absolute;
  left: 45px;
  top: 20px;
  width: 243px;
  height: 137px;
  border-radius: 20px;
  mix-blend-mode: multiply;
  object-fit: cover;
}

.info-page-hotel .overlap-group1-2 {
  position: absolute;
  left: 255px;
  top: 0;
  min-width: 333px;
  height: 227px;
  display: flex;
  align-items: flex-end;
  background-image: url(../img/image-2-pexels-flo-maderebner-745988-2@1x.png);
  background-position: 50% 50%;
  background-size: cover;
  border-radius: 20px;
  padding: 83px 59px;
}

.info-page-hotel .overlap-group2-1 {
  position: absolute;
  left: 510px;
  top: 0;
  width: 333px;
  height: 227px;
  background-image: url(../img/image-2-pexels-flo-maderebner-745988-1@1x.png);
  background-position: 50% 50%;
  background-size: cover;
  border-radius: 20px;
}

.info-page-hotel .text-22 {
  flex: 1;
  line-height: 14px;
  letter-spacing: 0;
  margin-bottom: -2.5px;
  margin-left: 8px;
  margin-right: 3px;
  margin-top: 5.5px;
  white-space: nowrap;
  width: 58px;
}

.info-page-hotel .ellipse-container {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-left: 1px;
  margin-top: 21px;
  min-width: 37px;
}

/* Overlay background */
.info-page-hotel .rectangle-175075 {
  position: fixed;
  height:100vh;
  top: 1px;
  left: 0;
  width: 100vw;
  max-width: 480px;

  background-color: var(--blue-whale);
  opacity: 0.8;
  z-index:100;
  display:none;
}

/* White bottom container */
.info-page-hotel .rectangle-175138 {
  position: fixed;
  
  left: 0;
  width: 100%;
  max-width: 480px;
  /* height: 588px => let content define or keep if you want a fixed block */
  height: 70vh;
  background-color: var(--white);
  border-radius: 30px 30px 0 0;
  z-index:111;
  bottom:-70vh;
  transition: all 0.7s linear;
}

.info-page-hotel .back-button {
  position: absolute;
  top: 24px;
  left: 16px;
  width: 34px;
  height: 34px;
  object-fit: cover;
  cursor: pointer;
}

.info-page-hotel .close-button {
  position: absolute;
  top: 34px;
  right:16px;
  width: 14px;
  height: 14px;
  object-fit: cover;
  cursor: pointer;
}

.info-page-hotel .lux-easy-aparthotels-suites {
  position: absolute;
  top: 117px;
  width:100%;
  color: var(--green-vogue);
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-l);
  font-weight: 600;
  line-height: 18px;
  text-align: center;
  letter-spacing: 0;
}

/* Logo in hotel modal */
.info-page-hotel .logo-hotel {
  position: absolute;
  top: 40px;
  left: calc(50% - 90px);
  right:auto;
  width: 180px;
  height: 65px;
  object-fit: cover;
}

/* Gray card below */
.info-page-hotel .rectangle-175140 {
  position: absolute;
  top: 156px;
  left: 16px;
  width: calc(100% - 32px);

  height: 220px; /* keep if you want a fixed block */
  background-color: var(--concrete);
  border-radius: 10px;
}

.info-page-hotel .text-228 {
  position: absolute;
  top: 184px;
  
  width: 100%;
  letter-spacing: 0;
  line-height: 18px;
  text-align: center;
}

.info-page-hotel .text-229 {
  position: absolute;
  top: 220px;
  
  width: 100%;
  letter-spacing: 0;
  line-height: 20px;
  text-align: center;
}

/* Big button with copy icon */
.info-page-hotel .rectangle-175131 {
  position: absolute;
  top: 300px;

  width: calc(100% - 86px);
  height: 51px;
  border: 1px solid var(--green-vogue);
  border-radius: 100px;
}

.info-page-hotel .text-230 {
  position: absolute;
  top: 318px;
  
  letter-spacing: 0;
  line-height: 16px;
  white-space: nowrap;
  width:100%;
  text-align:center;
}

.info-page-hotel .copy {
  position: absolute;
  top: 303px;
  right: 70px;
  width: 45px;
  height: 45px;
  object-fit: cover;
}

/* Google Maps text */
.info-page-hotel .google-maps {
  position: absolute;
  top: 409px;
  left:16px;
  width: calc(100% - 32px);
  letter-spacing: 0;
  line-height: 18px;
  text-align: center;
}

/* Another button-like container */
.info-page-hotel .group-183080 {
  position: absolute;
  top: 477px;
  left:43px;
  width: calc(100% - 86px);
  height: 51px;
  background-color:#033052;
  background-position: 50% 50%;
  background-size: cover;
  border-radius:25px;
}

.info-page-hotel .group-183064 {
  position: absolute;
  top: 491px;
  
  width: 100%;
  height: 21px;
  display: flex;
  text-align:center;
}

.info-page-hotel .group-183079 {
  flex: 1;
  width: 99px;
  display: flex;
}

.info-page-hotel .group-183001 {
  flex: 1;
  width: 101px;
  display: flex;
}

.info-page-hotel .google-maps-1 {
  flex: 1;
  line-height: 16px;
  margin-bottom: -4.5px;
  margin-top: 2.5px;
  letter-spacing: 0;
  white-space: nowrap;
  width: 101px;
}

/* External link icon */
.info-page-hotel .external-link {
  position: absolute;
  top: 485px;
  right:70px;
  width: 34px;
  height: 34px;
  object-fit: cover;
}

/* Possibly used for absolute positioning in a scroller */
.info-page-hotel .overlap-group-3 {
  position: absolute;
  left: 0;
  top: 0;
}

/* Horizontal scroll container */
.info-page-hotel .scroll-group {
  position: absolute;
  left: 0;
  top: 0;
  /* min-width: 360px => fluid below */
  width: 100%;
  overflow-x: scroll;
  display: flex;
}
