/* ===== Amenities Section ===== */
.section-amenities{
  background:
    radial-gradient(120% 95% at 10% 8%, rgba(31, 95, 126, 0.2), transparent 55%),
    radial-gradient(90% 80% at 88% 84%, rgba(22, 83, 109, 0.16), transparent 60%),
    linear-gradient(180deg, #061a22 0%, #05171f 100%);
  color: #fff;
  position: relative;
  overflow-y: hidden;
  overflow-x: visible;
}

.section-amenities .container{
  position: relative;
}

.section-amenities::before{
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.12;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cg fill='%23ffffff' fill-opacity='0.18'%3E%3Ccircle cx='7' cy='11' r='0.7'/%3E%3Ccircle cx='33' cy='25' r='0.6'/%3E%3Ccircle cx='64' cy='17' r='0.7'/%3E%3Ccircle cx='89' cy='36' r='0.6'/%3E%3Ccircle cx='122' cy='19' r='0.7'/%3E%3Ccircle cx='149' cy='31' r='0.6'/%3E%3Ccircle cx='171' cy='13' r='0.7'/%3E%3Ccircle cx='15' cy='58' r='0.6'/%3E%3Ccircle cx='41' cy='73' r='0.7'/%3E%3Ccircle cx='73' cy='62' r='0.6'/%3E%3Ccircle cx='97' cy='81' r='0.7'/%3E%3Ccircle cx='128' cy='65' r='0.6'/%3E%3Ccircle cx='156' cy='79' r='0.7'/%3E%3Ccircle cx='8' cy='108' r='0.6'/%3E%3Ccircle cx='36' cy='119' r='0.7'/%3E%3Ccircle cx='66' cy='104' r='0.6'/%3E%3Ccircle cx='93' cy='126' r='0.7'/%3E%3Ccircle cx='121' cy='110' r='0.6'/%3E%3Ccircle cx='153' cy='123' r='0.7'/%3E%3Ccircle cx='172' cy='102' r='0.6'/%3E%3Ccircle cx='19' cy='152' r='0.7'/%3E%3Ccircle cx='47' cy='165' r='0.6'/%3E%3Ccircle cx='78' cy='149' r='0.7'/%3E%3Ccircle cx='106' cy='171' r='0.6'/%3E%3Ccircle cx='139' cy='154' r='0.7'/%3E%3Ccircle cx='166' cy='168' r='0.6'/%3E%3C/g%3E%3C/svg%3E");
  background-size: 180px 180px;
}

.section-amenities::after{
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.1;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 480 240' fill='none' stroke='%23cfe9f5' stroke-opacity='0.8' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M20 62c26-15 54-15 80 0s54 15 80 0 54-15 80 0 54 15 80 0 54-15 80 0'/%3E%3Cpath d='M20 98c26-15 54-15 80 0s54 15 80 0 54-15 80 0 54 15 80 0 54-15 80 0'/%3E%3Cpath d='M20 134c26-15 54-15 80 0s54 15 80 0 54-15 80 0 54 15 80 0 54-15 80 0'/%3E%3Cpath d='M20 170c26-15 54-15 80 0s54 15 80 0 54-15 80 0 54 15 80 0 54-15 80 0'/%3E%3C/svg%3E"),
    linear-gradient(135deg, rgba(131, 198, 226, 0.08), transparent 40%),
    radial-gradient(120% 80% at 50% 50%, rgba(19, 77, 104, 0.22), transparent 70%);
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-size: min(42vw, 480px) auto, auto, auto;
  background-position: right 4% bottom 10%, left top, center;
}

.amenities-head{
  position: relative;
  z-index: 1;
  margin-bottom: 0;
  padding-bottom: clamp(56px, 7vw, 110px);
}

.amenities-head h2{
  margin: 0 0 10px 0;
  font-size: clamp(1.8rem, 3vw, 2.6rem);
}

.amenities-head p{
  margin: 0;
  font-size: clamp(1.05rem, 1.35vw, 1.28rem);
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.7);
  max-width: none;
}


.amenities-featured{
  position: relative;
  z-index: 1;
  display: grid;
  gap: clamp(24px, 4vw, 40px);
  margin-bottom: clamp(26px, 4vw, 48px);
}


.amenities-subhead{
  margin: 0 0 18px 0;
}

.amenities-subhead h3{
  margin: 0;
  font-size: clamp(1.6rem, 2.6vw, 2.2rem);
  color: #ffffff;
}

.amenities-row{
  display: grid;
  grid-template-columns: minmax(340px, 1.22fr) minmax(220px, 0.78fr);
  gap: clamp(18px, 4vw, 48px);
  align-items: center;
  padding: 0;
  border-radius: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.amenities-row + .amenities-row{
  margin-top: clamp(10px, 1.8vw, 20px);
  padding-top: clamp(24px, 3.5vw, 34px);
  border-top: 0;
}

.amenities-row-text h3{
  margin: 0 0 30px 0;
  font-size: clamp(1.55rem, 2.4vw, 2.2rem);
  line-height: 1.08;
  letter-spacing: 0.01em;
  color: #f4fbff;
  font-weight: 700;
}

.amenities-row-text{
  order: 2;
}

.amenities-row-media{
  order: 1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.amenities-row-media.is-triple{
  grid-template-columns: 1fr 1.42fr 1fr;
  align-items: end;
  gap: 12px;
}

.amenities-row-media.is-triple .amenities-media{
  aspect-ratio: auto;
}

.amenities-row-media.is-triple .amenities-media:nth-child(2){
  z-index: 2;
  transform: translateY(-8px) rotate(0.6deg);
}

.amenities-row-media.is-triple .amenities-media:hover{
  transform: rotate(0deg) translateY(-2px);
  box-shadow: 0 16px 26px rgba(2, 10, 14, 0.34);
}

.amenities-lightbox{
  position: fixed;
  inset: 0;
  background: rgba(3, 10, 14, 0.78);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 200ms ease;
  z-index: 9999;
  padding: 24px;
}

.amenities-lightbox.is-open{
  opacity: 1;
  pointer-events: auto;
}

.amenities-lightbox-image{
  max-width: min(96vw, 1000px);
  max-height: 88vh;
  border-radius: 18px;
  box-shadow: 0 30px 60px rgba(0, 0, 0, 0.45);
}

.amenities-lightbox-close{
  position: absolute;
  top: 20px;
  right: 20px;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.35);
  background: rgba(6, 26, 34, 0.75);
  cursor: pointer;
}

.amenities-lightbox-close::before,
.amenities-lightbox-close::after{
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 18px;
  height: 2px;
  background: #ffffff;
  transform-origin: center;
}

.amenities-lightbox-close::before{
  transform: translate(-50%, -50%) rotate(45deg);
}

.amenities-lightbox-close::after{
  transform: translate(-50%, -50%) rotate(-45deg);
}

.amenities-row-media.is-single{
  grid-template-columns: minmax(0, 1fr);
}

.amenities-media{
  width: 100%;
  border-radius: 4px;
  overflow: hidden;
  background: #ffffff;
  border: 1px solid rgba(12, 33, 45, 0.2);
  padding: 8px 8px 34px 8px;
  box-shadow: 0 10px 20px rgba(2, 10, 14, 0.26);
  transition: transform 220ms ease, box-shadow 220ms ease;
}

.amenities-media img{
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  display: block;
  border: 1px solid rgba(10, 27, 37, 0.14);
}

.amenities-row-media .amenities-media:nth-child(odd){
  transform: rotate(-1.2deg);
}

.amenities-row-media .amenities-media:nth-child(even){
  transform: rotate(1deg);
}

.amenities-row-media .amenities-media:hover{
  transform: rotate(0deg) translateY(-2px);
  box-shadow: 0 16px 26px rgba(2, 10, 14, 0.34);
}

.amenities-media-placeholder{
  aspect-ratio: 3 / 4;
  height: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(11, 29, 42, 0.6);
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  background-image: linear-gradient(135deg, rgba(99, 189, 179, 0.14), rgba(255, 255, 255, 0.8)),
                    url("data:image/svg+xml,%3Csvg viewBox='0 0 400 300' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='400' height='300' fill='none' stroke='%2363bdb3' stroke-opacity='0.35' stroke-width='2'/%3E%3Cpath d='M40 230l90-90 70 70 80-100 80 120' fill='none' stroke='%2363bdb3' stroke-opacity='0.45' stroke-width='4' stroke-linecap='round'/%3E%3Ccircle cx='120' cy='100' r='16' fill='%2363bdb3' fill-opacity='0.35'/%3E%3C/svg%3E");
  background-size: cover;
  background-position: center;
  border: 1px solid rgba(10, 27, 37, 0.14);
}

.amenities-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(16px, 2.5vw, 26px);
}

.amenities-card{
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  padding: clamp(16px, 2.5vw, 24px);
  min-height: 180px;
  box-shadow: 0 18px 30px rgba(3, 12, 16, 0.35);
}

.amenities-icon{
  width: 40px;
  height: 40px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(207, 167, 95, 0.16);
  color: #cfa75f;
  margin-bottom: 12px;
}

.amenities-icon svg{
  width: 22px;
  height: 22px;
}

.amenities-card h3{
  margin: 0 0 10px 0;
  font-size: 1rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #ffffff;
}

.amenities-badges{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 9px;
  color: rgba(231, 244, 251, 0.9);
}

.amenities-badges li{
  position: relative;
  display: block;
  padding: 0 0 42px 36px;
  border: 0;
  border-radius: 0;
  background: transparent;
  font-size: clamp(0.92rem, 1.02vw, 1.08rem);
  line-height: 1.15;
  font-weight: 300;
  text-transform: none;
  letter-spacing: 0;
}

.amenities-badges li::before{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 22px;
  height: 22px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 13px 13px;
  opacity: 0.98;
  border-radius: 999px;
  background-color: rgba(10, 19, 24, 0.9);
  border: 1px solid rgba(178, 203, 216, 0.55);
}

.amenities-badges li::after{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 10px;
  background:
    radial-gradient(circle closest-side, rgba(194, 210, 220, 0.78) 99%, transparent 100%) left center / 8px 8px no-repeat,
    linear-gradient(rgba(194, 210, 220, 0.42), rgba(194, 210, 220, 0.42)) center center / calc(100% - 16px) 1px no-repeat,
    radial-gradient(circle closest-side, rgba(194, 210, 220, 0.78) 99%, transparent 100%) right center / 8px 8px no-repeat;
  opacity: 0.72;
}

.amenity-icon-bed::before{
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23cfa75f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11h18v7H3z'/%3E%3Cpath d='M3 11V7h7a3 3 0 0 1 3 3v1'/%3E%3Cpath d='M7 11V8'/%3E%3Cpath d='M3 18v3M21 18v3'/%3E%3C/svg%3E");
}

.amenity-icon-bed-single::before{
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23cfa75f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h16v6H4z'/%3E%3Cpath d='M4 12V8h5a2.5 2.5 0 0 1 2.5 2.5V12'/%3E%3Cpath d='M4 18v3M20 18v3'/%3E%3C/svg%3E");
}

.amenity-icon-sofa::before{
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23cfa75f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='10' width='16' height='7' rx='2'/%3E%3Cpath d='M6 10V8a2 2 0 0 1 2-2h2v4M18 10V8a2 2 0 0 0-2-2h-2v4'/%3E%3Cpath d='M6 17v2M18 17v2'/%3E%3C/svg%3E");
}

.amenity-icon-linen::before{
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23cfa75f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='5' width='14' height='14' rx='2'/%3E%3Cpath d='M8 9h8M8 12h8M8 15h5'/%3E%3C/svg%3E");
}

.amenity-icon-shower::before{
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23cfa75f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 7a5 5 0 0 1 10 0v1h3'/%3E%3Cpath d='M14 8a3 3 0 0 0-3 3'/%3E%3Cpath d='M11 13l-1 2M14 13l-1 2M17 13l-1 2'/%3E%3C/svg%3E");
}

.amenity-icon-towel::before{
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23cfa75f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h16'/%3E%3Crect x='7' y='8' width='10' height='10' rx='2'/%3E%3Cpath d='M10 10v6M13 10v6'/%3E%3C/svg%3E");
}

.amenity-icon-laundry::before{
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23cfa75f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='4' width='14' height='16' rx='2'/%3E%3Ccircle cx='12' cy='13' r='4'/%3E%3Cpath d='M8 7h.01M11 7h.01'/%3E%3C/svg%3E");
}

.amenity-icon-stove::before{
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23cfa75f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='5' width='16' height='14' rx='2'/%3E%3Ccircle cx='9' cy='11' r='1.7'/%3E%3Ccircle cx='15' cy='11' r='1.7'/%3E%3Cpath d='M8 16h8'/%3E%3C/svg%3E");
}

.amenity-icon-fridge::before{
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23cfa75f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='7' y='3.5' width='10' height='17' rx='1.6'/%3E%3Cpath d='M7 11.5h10M9.5 8v1.5M9.5 13.5V15'/%3E%3C/svg%3E");
}

.amenity-icon-coffee::before{
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23cfa75f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9h9a0 0 0 0 1 0 0v5a4 4 0 0 1-4 4H10a4 4 0 0 1-4-4V9a0 0 0 0 1 0 0z'/%3E%3Cpath d='M15 10h1.5a2 2 0 0 1 0 4H15'/%3E%3Cpath d='M9 6v2M12 6v2'/%3E%3C/svg%3E");
}

.amenity-icon-utensils::before{
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23cfa75f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 4v7M10 4v7M8.5 11v9'/%3E%3Cpath d='M15 4c0 3-2 3-2 6v10M15 4c0 3 2 3 2 6'/%3E%3C/svg%3E");
}

.amenities-rules{
  grid-column: span 2;
}

.amenities-meta{
  margin-top: 12px;
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.9rem;
}

@media (max-width: 1000px){
  .amenities-row{
    grid-template-columns: 1fr;
  }

  .amenities-row-text,
  .amenities-row-media{
    order: initial;
  }

  .amenities-row-text h3{
    font-size: clamp(1.75rem, 7.5vw, 2.4rem);
  }

  .amenities-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .amenities-rules{
    grid-column: span 2;
  }
}

@media (max-width: 700px){
  .amenities-row + .amenities-row{
    padding-top: 20px;
  }

  .amenities-media{
    padding: 6px 6px 20px 6px;
  }

  .amenities-row-media .amenities-media:nth-child(odd),
  .amenities-row-media .amenities-media:nth-child(even){
    transform: none;
  }

  .amenities-badges li{
    font-size: 1rem;
    letter-spacing: 0.02em;
    padding: 0 0 34px 34px;
  }

  .amenities-badges li::before{
    width: 20px;
    height: 20px;
    background-size: 12px 12px;
  }

  .amenities-grid{
    grid-template-columns: 1fr;
  }

  .amenities-rules{
    grid-column: auto;
  }
}

