#place-page {

  width: 100%;

  max-width: 1400px;

  margin: 0 auto;

}

.place-hero {

  position: relative;

  overflow: hidden;

}
.place-carousel {

  display: flex;

  overflow-x: auto;

  scroll-snap-type: x mandatory;

  scrollbar-width: none;

}

.place-carousel::-webkit-scrollbar {

  display: none;

}

.place-slide {

  min-width: 100%;

  aspect-ratio: 16 / 10.3;

  scroll-snap-align: start;

}
.place-slide img {

  width: 100%;

  height: 100%;

  object-fit: cover;

  display: block;

}

.carousel-dots {

  position: absolute;

  bottom: 14px;

  left: 50%;

  transform: translateX(-50%);

  display: flex;

  gap: 8px;

}
.carousel-dot {

  width: 8px;

  height: 8px;

  border-radius: 50%;

  background: rgba(255,255,255,0.5);

}

.carousel-dot.active {

  background: white;

}

.place-header {

  padding: 20px;

}
.title-row {

  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 16px;

}

.title-row h1 {

  margin: 0;

  font-size: 32px;

}

.favorite-btn {

  border: none;

  background:
    rgba(255,255,255,0.72);

  backdrop-filter: blur(14px);

  width: 58px;

  height: 58px;

  border-radius: 50%;

  font-size: 28px;

  cursor: pointer;

  display: flex;

  align-items: center;

  justify-content: center;

  box-shadow:
    0 6px 20px rgba(0,0,0,0.08);

  transition: 0.25s;

}

.favorite-btn:hover {

  transform:
    scale(1.05);

}

.favorite-btn.active {

  background:
    rgba(255,0,70,0.12);

}
.location-row {

  display: flex;

  align-items: center;

  gap: 10px;

  margin-top: 10px;

  flex-wrap: wrap;

  color: #666666;

}

.beach-link {

  color: #0077ff;

  text-decoration: none;

  font-weight: bold;

}
.action-buttons {

  display: flex;

  justify-content: center;

  gap: 54px;

  padding: 10px 20px 0;

  margin-top: 6px;

}

.action-item {

  display: flex;

  flex-direction: column;

  align-items: center;

  gap: 10px;

  text-decoration: none;

  color: #111;

}

.action-icon {

  width: 68px;

  height: 68px;

  border-radius: 50%;

  background:
    rgba(255,255,255,0.72);

  backdrop-filter: blur(18px);

  border:
    1px solid rgba(255,255,255,0.7);

  display: flex;

  align-items: center;

  justify-content: center;

  box-shadow:
    0 8px 24px rgba(0,0,0,0.08);

  transition: 0.25s;

}

.action-item:hover .action-icon {

  transform:
    translateY(-3px)
    scale(1.04);

}

.action-item span {

  font-size: 14px;

  font-weight: 600;

  color: #666;

}

.icon-btn:hover {

  transform:
    translateY(-3px)
    scale(1.04);

}
.cta-section {

  display: flex;

  flex-direction: column;

  gap: 14px;

  padding: 20px;

}

.cta-btn {

  position: relative;

  overflow: hidden;

  background:
    linear-gradient(
      135deg,
      #ffb300,
      #ff8800
    );

  color: white;

  border: none;

  border-radius: 999px;

  padding: 20px;

  font-size: 18px;

  font-weight: 800;

  letter-spacing: 0.4px;

  cursor: pointer;

  box-shadow:
    0 10px 30px rgba(255,136,0,0.28);

  transition: 0.25s;

}

.cta-btn:hover {

  transform:
    translateY(-2px)
    scale(1.01);

}

.cta-btn::before {

  content: "";

  position: absolute;

  inset: 0;

  background:
    linear-gradient(
      120deg,
      transparent,
      rgba(255,255,255,0.3),
      transparent
    );

  transform: translateX(-100%);

}

.cta-btn:hover::before {

  animation:
    shine 0.9s forwards;

}

@keyframes shine {

  to {

    transform: translateX(100%);

  }

}
.menu-btn {

  background:
    rgba(255,255,255,0.72);

  backdrop-filter: blur(18px);

  border:
    1px solid rgba(255,255,255,0.7);

  border-radius: 999px;

  padding: 18px;

  font-size: 17px;

  font-weight: 700;

  cursor: pointer;

  color: #111;

  box-shadow:
    0 8px 24px rgba(0,0,0,0.06);

  transition: 0.25s;

}

.menu-btn:hover {

  transform:
    translateY(-2px);

}

.features-scroll {

  display: flex;

  gap: 14px;

  overflow-x: auto;

  padding: 0 20px 20px;

  scrollbar-width: none;

}

.features-scroll::-webkit-scrollbar {

  display: none;

}

.feature-tag {

  flex-shrink: 0;

  display: flex;

  align-items: center;

  gap: 10px;

  padding: 14px 18px;

  border-radius: 999px;

  background:
    rgba(255,255,255,0.72);

  backdrop-filter: blur(18px);

  border:
    1px solid rgba(255,255,255,0.7);

  box-shadow:
    0 6px 18px rgba(0,0,0,0.06);

}

.feature-emoji {

  font-size: 22px;

}

.feature-text {

  font-size: 15px;

  font-weight: 700;

  color: #111;

}

.description-section {

  padding: 0 20px 40px;

}
.place-description.collapsed {

  display: -webkit-box;

  -webkit-line-clamp: 3;

  -webkit-box-orient: vertical;

  overflow: hidden;

}

.see-more-btn {

  margin-top: 10px;

  background: none;

  border: none;

  color: #0077ff;

  font-weight: bold;

  cursor: pointer;

  padding: 0;

}
@media (max-width: 768px) {

  .title-row h1 {

    font-size: 28px;

  }

  .features-grid {

    grid-template-columns: repeat(4, 1fr);

    gap: 8px;

  }

 .action-buttons {

  justify-content: space-evenly;

  gap: 0;

}

.action-icon {

  width: 58px;

  height: 58px;

}

.action-item span {

  font-size: 13px;

}

}
.place-meta {

  display: flex;

  align-items: center;

  gap: 12px;

  flex-wrap: wrap;

  margin-top: 14px;

}

.beach-pill {

  display: flex;

  align-items: center;

  gap: 8px;

  padding: 10px 18px;

  border-radius: 999px;

  background:
    rgba(0,119,255,0.08);

  color: #0077ff;

  text-decoration: none;

  font-weight: 700;

  font-size: 15px;

}

.vibe-pill {

  display: flex;

  align-items: center;

  gap: 8px;

  padding: 10px 18px;

  border-radius: 999px;

  background:
    rgba(255,255,255,0.72);

  backdrop-filter: blur(12px);

  border:
    1px solid rgba(255,255,255,0.65);

  box-shadow:
    0 4px 16px rgba(0,0,0,0.06);

  font-size: 15px;

  font-weight: 700;

  color: #111;

}

.today-hours {

  margin-top: 14px;

  color: #666;

  font-size: 15px;

  font-weight: 600;

}
.reservation-form {

  display: none;

  flex-direction: column;

  gap: 16px;

  padding: 20px;

  margin: 0 20px 30px;

  border-radius: 30px;

  background:
    rgba(255,255,255,0.72);

  backdrop-filter: blur(18px);

  box-shadow:
    0 10px 30px rgba(0,0,0,0.08);

}

.reservation-form.active {

  display: flex;

}

.reservation-form input {

  width: 100%;

  padding: 18px;

  border-radius: 20px;

  border:
    2px solid rgba(0,0,0,0.06);

  background: white;

  font-size: 16px;

  outline: none;

  transition: 0.2s;

  box-shadow:
    inset 0 1px 3px rgba(0,0,0,0.04);

}

.reservation-form input:focus {

  border-color: #009dff;

  box-shadow:
    0 0 0 4px rgba(0,157,255,0.12);

}

.send-reservation-btn {

  border: none;

  padding: 18px;

  border-radius: 22px;

  background:
    #1fa855;

  color: white;

  font-size: 17px;

  font-weight: 700;

  cursor: pointer;

}
.reservation-form select {

  width: 100%;

  padding: 18px;

  border-radius: 20px;

  border:
    2px solid rgba(0,0,0,0.06);

  background: white;

  font-size: 16px;

  outline: none;

}
.guests-selector {

  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 14px;

  padding: 14px 18px;

  border-radius: 22px;

  background: white;

  border:
    2px solid rgba(0,0,0,0.06);

}

.guests-selector button {

  width: 48px;

  height: 48px;

  border: none;

  border-radius: 16px;

  background:
    rgba(0,157,255,0.1);

  font-size: 28px;

  cursor: pointer;

  color: #009dff;

  font-weight: bold;

}

#guestsCount {

  font-size: 22px;

  font-weight: 700;

  color: #111;

}
.menu-modal {

  position: fixed;

  inset: 0;

  background:
    rgba(0,0,0,0.92);

  z-index: 99999;

  display: none;

  flex-direction: column;

  justify-content: center;

  align-items: center;

}

.menu-modal.active {

  display: flex;

}

.close-menu {

  position: absolute;

  top: 24px;

  right: 24px;

  width: 54px;

  height: 54px;

  border: none;

  border-radius: 50%;

  background:
    rgba(255,255,255,0.12);

  color: white;

  font-size: 28px;

  cursor: pointer;

  backdrop-filter: blur(12px);

}

.menu-carousel {

  width: 100%;

  display: flex;

  overflow-x: auto;

  scroll-snap-type: x mandatory;

  scrollbar-width: none;

}

.menu-carousel::-webkit-scrollbar {

  display: none;

}

.menu-slide {

  min-width: 100%;

  display: flex;

  justify-content: center;

  align-items: center;

  scroll-snap-align: center;

  padding: 20px;

}

.menu-slide img {

  width: 100%;

  max-width: 700px;

  max-height: 90vh;

  object-fit: contain;

  border-radius: 24px;

}
.place-page {

  max-width: 1200px;

  margin: 0 auto;

  padding-bottom: 50px;

}

.place-content {

  padding: 20px;

}

.place-category {

  display: inline-flex;

  padding: 10px 18px;

  border-radius: 999px;

  background: #eef4ff;

  color: #0b63f6;

  font-size: 14px;

  font-weight: 800;

  margin-bottom: 18px;

}

.place-title {

  font-size: 42px;

  margin-bottom: 18px;

  color: #111;

}

.place-description {

  font-size: 17px;

  line-height: 1.8;

  color: #444;

}

.section-title {

  font-size: 30px;

  font-weight: 800;

  margin-top: 42px;

  margin-bottom: 18px;

  color: #111;

}

.business-info-grid {

  display: flex;

  overflow-x: auto;

  gap: 14px;

  scrollbar-width: none;

  padding-bottom: 8px;

}
.business-info-grid::-webkit-scrollbar {

  display: none;

}

.business-info-card {

  position: relative;

  overflow: hidden;

  border-radius: 28px;

 flex: 0 0 65vw;

  height: 130px;

  background-size: cover;

  background-position: center;

  box-shadow:
    0 8px 24px rgba(0,0,0,0.10);

}

.business-info-overlay {

  position: absolute;

  inset: 0;

  background:
    linear-gradient(
      to top,
      rgba(0,0,0,0.88),
      rgba(0,0,0,0.10)
    );

  display: flex;

  flex-direction: column;

  justify-content: flex-end;

  padding: 18px;

}

.business-info-title {

  font-size: 16px;

  font-weight: 800;

  margin-bottom: 6px;

  color: #fcfcfc;

}

.business-info-text {

  font-size: 14px;

  line-height: 1.45;

  color: rgba(255,255,255,0.88);

  font-weight: 700;

}

.booking-form {

display: none;

  flex-direction: column;

  gap: 14px;

  margin-top: 20px;

}

.booking-form input,
.booking-form textarea {

  border: none;

  background: white;

  border-radius: 20px;

  padding: 18px;

  font-size: 16px;

  box-shadow:
    0 4px 14px rgba(0,0,0,0.08);

}

.booking-form textarea {

  min-height: 140px;

  resize: vertical;

}

.booking-form button {

  border: none;

  background:
    linear-gradient(
      135deg,
      #16c45b,
      #0fa34b
    );

  color: white;

  border-radius: 22px;

  padding: 18px;

  font-size: 17px;

  font-weight: 800;

  cursor: pointer;

  transition: 0.25s;

}

.booking-form button:hover {

  transform:
    translateY(-2px);

}

.site-footer {

  background: #000;
  color: white;

  padding: 30px 20px;

  display: flex;
  justify-content: space-between;
  align-items: center;

  flex-wrap: wrap;

  gap: 15px;

  border-top: 1px solid rgba(255,255,255,0.1);
}

.footer-left {

  font-size: 14px;
  opacity: 0.8;

}

.footer-right {

  display: flex;
  gap: 18px;
  align-items: center;

}

.footer-right a {

  color: white;
  text-decoration: none;

  font-size: 14px;

  transition: 0.3s;

}

.footer-right a:hover {

  opacity: 0.7;

}
.stay-experience {

  position: relative;

  margin-top: 34px;

  padding: 34px;

  border-radius: 38px;

  overflow: hidden;

  color: white;

  background-size: cover;

  background-position: center;

  background-repeat: no-repeat;

  box-shadow:
    0 20px 60px rgba(0,0,0,0.28);

}
.stay-experience::before {

  content: "";

  position: absolute;

  inset: 0;

  backdrop-filter: blur(10px);

  background:
    linear-gradient(
      to bottom,
      rgba(7,17,31,0.58),
      rgba(7,17,31,0.88)
    );

}
.stay-experience > * {

  position: relative;

  z-index: 2;

}

.experience-header {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: flex-start;
  margin-bottom: 28px;
}

.experience-kicker {
  color: #5bdcff;
  font-size: 14px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 10px;
}

.experience-header h2 {
  font-size: 42px;
  line-height: 1.05;
  margin: 0 0 12px;
}

.experience-header p {
  color: rgba(255,255,255,0.72);
  font-size: 17px;
  line-height: 1.6;
  max-width: 720px;
}

.experience-score {
  min-width: 120px;
  height: 120px;
  border-radius: 30px;
  background: white;
  color: #07111f;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.experience-score span {
  font-size: 40px;
  font-weight: 900;
}

.experience-score small {
  font-size: 12px;
  font-weight: 800;
  color: #666;
}

.experience-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}

.experience-card {
  position: relative;

  background: rgba(255,255,255,0.09);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 28px;

  min-height: 260px;

  padding: 22px;

  overflow: hidden;
}

.experience-card span {
  font-size: 34px;
}

.experience-card h3 {
  position: absolute;

  left: 18px;
  right: 18px;
  bottom: 45px;

  margin: 0;

  font-size: 18px;

  z-index: 2;
}

.experience-card p {

  position: absolute;

  left: 18px;
  right: 18px;
  bottom: 10px;

  color: white;

  line-height: 1.3;

  font-size: 13px;

  z-index: 2;

}

.day-flow {
  margin-top: 28px;
  padding: 26px;
  border-radius: 30px;
  background: rgba(255,255,255,0.08);
}

.day-flow h3 {
  margin: 0 0 18px;
  font-size: 24px;
}

.flow-line {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.flow-step {
  background: rgba(255,255,255,0.09);
  border-radius: 24px;
  padding: 20px;
}

.flow-step strong {
  display: block;
  margin-bottom: 8px;
  color: #5bdcff;
}

.flow-step span {
  color: rgba(255,255,255,0.78);
  line-height: 1.5;
}

@media (max-width: 768px) {

  .stay-experience {
  background-size: cover;
  background-position: center;
  box-shadow: 0 18px 45px rgba(0,0,0,0.25);
}

  .experience-header,
  .day-flow {
    background: #07111f;
    border-radius: 26px;
    padding: 22px;
  }
.experience-card {
  border-radius: 26px;
  min-height: 240px;
  padding: 18px;
}


  .experience-grid {
    grid-template-columns: 1fr;
  }

  .experience-score {
    width: 100%;
    height: auto;
    padding: 18px;
  }

}
.stay-hero-panel {
  margin-top: 0px;
  display: flex;
  flex-direction: column;
  gap: 22px;
}

.connected-beach-card {
  position: relative;
  min-height: 260px;
  border-radius: 38px;
  overflow: hidden;
  background:
    radial-gradient(circle at top left, rgba(0,220,255,0.45), transparent 35%),
    linear-gradient(135deg, #0077ff, #00c6ff);
  box-shadow: 0 18px 55px rgba(0,119,255,0.28);
  color: white;
}

.connected-beach-card::after {
  content: "🌊";
  position: absolute;
  right: 35px;
  bottom: -20px;
  font-size: 150px;
  opacity: 0.18;
}

.beach-card-content {
  position: relative;
  z-index: 2;
  padding: 34px;
  max-width: 760px;
}

.beach-card-label {
  display: inline-flex;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.22);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 10px;
}

.connected-beach-card h2 {
  font-size: 54px;
  line-height: 1;
  margin-bottom: 16px;
}

.connected-beach-card p {
  font-size: 18px;
  line-height: 1.6;
  opacity: 0.9;
  margin-bottom: 24px;
}

.connected-beach-card button {
  border: none;
  padding: 10px 16px;
  border-radius: 999px;
  background: white;
  color: #07111f;
  font-size: 16px;
  font-weight: 900;
  cursor: pointer;
}

.stay-core-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.core-stat-card {
  background: white;
  border-radius: 32px;
  padding: 28px;
  text-align: center;
  box-shadow: 0 10px 28px rgba(0,0,0,0.08);
}

.core-icon {
  font-size: 34px;
  margin-bottom: 12px;
}

.core-value {
  font-size: 48px;
  font-weight: 900;
  color: #07111f;
}

.core-label {
  font-size: 15px;
  font-weight: 800;
  color: #666;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.stay-details-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.smart-detail-card,
.magnetic-map-btn {
  min-height: 130px;
  border-radius: 30px;
  padding: 22px;
  border: none;
  background: rgba(255,255,255,0.88);
  box-shadow: 0 10px 28px rgba(0,0,0,0.08);
}

.smart-detail-card span {
  font-size: 30px;
  display: block;
  margin-bottom: 12px;
}

.smart-detail-card strong {
  display: block;
  font-size: 22px;
  color: #111;
  margin-bottom: 6px;
}

.smart-detail-card small {
  color: #666;
  font-weight: 700;
}

.magnetic-map-btn {
  background:
    linear-gradient(135deg, #07111f, #12345c);
  color: white;
  font-size: 18px;
  font-weight: 900;
  cursor: pointer;
  transition: 0.25s;
}

.magnetic-map-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 38px rgba(0,0,0,0.22);
}

@media (max-width: 768px) {

  .connected-beach-card {
    min-height: 180px;
    border-radius: 24px;
  }

  .beach-card-content {
    padding: 18px;
  }

  .connected-beach-card h2 {
    font-size: 28px;
  }

  .connected-beach-card p {
    font-size: 13px;
    line-height: 1.4;
  }

  .stay-core-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
  }

  .core-stat-card {
    padding: 16px 8px;
    border-radius: 22px;
  }

  .core-icon {
    font-size: 24px;
  }

  .core-value {
    font-size: 30px;
  }

  .core-label {
    font-size: 10px;
  }

  .stay-details-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }

  .smart-detail-card,
  .magnetic-map-btn {
    min-height: 110px;
    border-radius: 22px;
    padding: 16px;
  }

}
.description-see-more {
  display: none;
}

@media (max-width: 768px) {

  .description-box.collapsed-description {
    max-height: 17em;
    overflow: hidden;
    position: relative;
  }

  .description-box.collapsed-description::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 70px;
    background:
      linear-gradient(
        to bottom,
        rgba(255,255,255,0),
        rgba(255,255,255,1)
      );
  }

  .description-see-more {
    display: block;
    width: calc(100% - 24px);
    margin: 12px auto 0;
    border: none;
    background: white;
    color: #0077ff;
    padding: 14px;
    border-radius: 999px;
    font-size: 15px;
    font-weight: 900;
    box-shadow: 0 8px 22px rgba(0,0,0,0.08);
  }

}
.amenities-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  margin-top: 22px;
}

.amenity-card {
  width: 100%;
  height: 190px;
  border-radius: 26px;
}

.amenity-icon {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (max-width: 768px) {

  .amenities-row {
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
  }

  .amenity-card {
    width: 100%;
    height: 115px;
    border-radius: 18px;
  }

}
.stay-linked-section {
  margin-top: 26px;
}

.stay-linked-section h3 {
  font-size: 24px;
  margin-bottom: 16px;
  color: white;
}

.linked-cards-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

.linked-mini-card strong {
  display: block;
  font-size: 16px;
  margin-bottom: 8px;
}

.linked-mini-card span {
  font-size: 13px;
  opacity: 0.75;
}

@media (max-width: 768px) {

  .stay-experience {
    padding: 20px;
    border-radius: 28px;
    background:
      linear-gradient(135deg, #07111f, #12345c) !important;
  }

  .stay-experience::before {
    display: none;
  }

  .experience-header {
    background: transparent;
    padding: 0;
  }

  .experience-grid {
    grid-template-columns: 1fr;
  }

  .linked-cards-row {
    grid-template-columns: 1fr;
  }

}
.linked-mini-card {
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.16);
  border-radius: 22px;
  color: white;
  text-decoration: none;
  overflow: hidden;
  min-height: 170px;
  display: flex;
  flex-direction: column;
}

.linked-mini-card img {
  width: 100%;
  height: 140px;
  object-fit: cover;
}

.linked-mini-card div {
  padding: 14px;
}

.linked-mini-card strong {
  color: white;
}

.linked-mini-card span {
  color: rgba(255,255,255,0.75);
}
.category-actions-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.title-area {
  flex: 1;
}

@media (max-width: 768px) {
  .top-header {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: start;
  }

  .category-actions-row {
    align-items: center;
    margin-top: -16px;

  }
  .connected-beach-banner {

  padding: 22px 20px;

  border-radius: 28px;

  min-height: auto;

}
.connected-beach-banner h2 {

  font-size: 42px;

  line-height: 1;

  margin-bottom: 10px;

}
.connected-beach-meta {

  font-size: 14px;

  line-height: 1.4;

}
.connected-beach-btn {

  margin-top: 18px;

  padding: 14px 20px;

  font-size: 15px;

}
}
.image-modal {

  position: fixed;

  inset: 0;

  background: rgba(0,0,0,0.96);

  z-index: 999999;

  display: none;

  justify-content: center;

  align-items: center;
}

.image-modal.active {

  display: flex;
}

.modal-image {

  max-width: 95vw;

  max-height: 95vh;

  object-fit: contain;
}

.image-close {

  position: absolute;

  top: 20px;

  right: 20px;

  width: 50px;

  height: 50px;

  border: none;

  border-radius: 50%;

  background: rgba(255,255,255,0.2);

  color: white;

  font-size: 24px;

  cursor: pointer;
}

.image-nav {

  position: absolute;

  top: 50%;

  transform: translateY(-50%);

  width: 60px;

  height: 60px;

  border: none;

  border-radius: 50%;

  background: rgba(255,255,255,0.2);

  color: white;

  font-size: 40px;

  cursor: pointer;
}

.image-prev {

  left: 20px;
}

.image-next {

  right: 20px;
}

@media (max-width: 768px) {

  .image-nav {

    display: none;
  }
}
.favorites-home-btn {

  position: absolute;

  top: 20px;

  right: 20px;

  width: 58px;

  height: 58px;

  border-radius: 50%;

  background: rgba(255,255,255,0.92);

  display: flex;

  align-items: center;

  justify-content: center;

  text-decoration: none;

  font-size: 26px;

  z-index: 100;

  box-shadow:
    0 8px 24px rgba(0,0,0,0.12);

}

@media (max-width: 768px) {

  .favorites-home-btn {

    width: 48px;

    height: 48px;

    font-size: 22px;

    top: 14px;

    right: 14px;

  }

}
.back-circle {

  width: 46px;
  height: 46px;

  display: flex;

  align-items: center;
  justify-content: center;

  border-radius: 50%;

  background: white;

  color: #111;

  text-decoration: none;

  font-size: 22px;
  font-weight: 900;

  box-shadow:
    0 8px 24px rgba(0,0,0,0.08);

  margin-bottom: 18px;

}
.category-favorite-row {

  display: flex;

  align-items: center;

  gap: 10px;

}

.favorite-circle-btn {

  width: 32px;
  height: 32px;

  border: none;

  border-radius: 50%;

  background: white;

  color: #999;

  display: flex;

  align-items: center;

  justify-content: center;

  cursor: pointer;

  font-size: 18px;

  box-shadow:
    0 4px 12px rgba(0,0,0,0.08);

  transition: 0.25s;

}

.favorite-circle-btn.active {

  color: #ff3366;

  transform: scale(1.08);

}
.beach-bg,
.sea-bg,
.costs-bg,
.ideal-bg {

  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;

  position: relative;

  overflow: hidden;

}
.beach-bg::after,
.sea-bg::after,
.costs-bg::after,
.ideal-bg::after {

  content: "";

  position: absolute;

  left: 0;
  right: 0;
  bottom: 0;

  height: 75px;

  background:
    linear-gradient(
      transparent,
      rgba(0,0,0,0.88)
    );

  z-index: 1;

}

.beach-bg > *,
.sea-bg > *,
.costs-bg > *,
.ideal-bg > * {

  position: relative;

  z-index: 2;

}
.beach-bg {
  background-image:
    url("images/experience_beach.webp");
}

.sea-bg {
  background-image:
    url("images/experience_sea.webp");
}

.costs-bg {
  background-image:
    url("images/experience_costs.webp");
}

.ideal-bg {
  background-image:
    url("images/experience_bestfor.webp");
}

.hours-today {
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  font-size: 15px;
  font-weight: 800;
  color: #111;
}

.hours-list {
  display: none;
  margin-top: 12px;
}

.hours-list.active {
  display: block;
}

.hours-row {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 7px 0;
  border-top: 1px solid rgba(0,0,0,0.06);
  font-size: 14px;
}

.hours-day {
  font-weight: 800;
  color: #111;
}
.hours-box {
  margin-top: 12px;
  display: inline-block;
  min-width: 220px;
  max-width: 320px;
}

.hours-today {
  display: flex;
  align-items: center;
  gap: 8px;

  font-size: 14px;
  font-weight: 700;

  color: #444;

  cursor: pointer;
}

.hours-list {
  display: none;
  margin-top: 10px;
  padding: 12px 0 0;
}

.hours-list.active {
  display: block;
}

.hours-row {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding: 7px 0;
  border-top: 1px solid rgba(0,0,0,0.08);
  font-size: 13px;
}

.hours-day {
  font-weight: 800;
  color: #111;
}

.hours-time {
  font-weight: 700;
  color: #555;
  text-align: right;
}

.display-address {
  margin-top: 10px;
  font-size: 13px;
  font-weight: 700;
  color: #777;
}
.place-header-clean {
  padding: 18px 20px 8px;
}

.clean-title-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.clean-title-block h1 {
  margin: 0;
  line-height: 1.08;
}

.clean-title-block h1 span {
  display: inline;
  font-size: 31px;
  font-weight: 900;
  color: #111;
}

.clean-title-block h1 small {
  display: inline;
  margin-left: 8px;
  font-size: 16px;
  font-weight: 700;
  color: #777;
  text-transform: capitalize;
}

.clean-location-line {
  margin-top: 8px;
  font-size: 14px;
  font-weight: 700;
  color: #666;
}

.clean-feature-line {
  margin-top: 12px;
  font-size: 13px;
  font-weight: 800;
  color: #0077ff;
  text-transform: capitalize;
}

.clean-favorite-btn {
  width: 46px;
  height: 46px;
  font-size: 24px;
  flex-shrink: 0;
}
.hero-info-card {
  margin: 16px 16px 0;
  padding: 22px;
  border-radius: 30px;

  background:
    radial-gradient(
      circle at top left,
      rgba(0, 198, 255, 0.28),
      transparent 34%
    ),
    linear-gradient(
      135deg,
      #07111f,
      #112f4f
    );

  color: white;

  box-shadow:
    0 18px 45px rgba(0,0,0,0.22);
}

.hero-title-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.hero-title-block h1 {
  margin: 0;
  font-size: 30px;
  line-height: 1.05;
  font-weight: 900;
  color: white;
}

.hero-subtitle {
  margin-top: 6px;
  font-size: 15px;
  font-weight: 800;
  color: rgba(255,255,255,0.68);
  text-transform: capitalize;
}

.hero-favorite-btn {
  width: 46px;
  height: 46px;
  flex-shrink: 0;

  background: rgba(255,255,255,0.14);
  color: white;

  border: 1px solid rgba(255,255,255,0.18);
  box-shadow: none;
}

.hero-favorite-btn.active {
  background: rgba(255,255,255,0.22);
  color: #ff4d7d;
}

.hero-beach-line {
  margin-top: 14px;
  font-size: 14px;
  font-weight: 800;
  color: #5bdcff;
}

.hero-highlights {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 16px;
}

.hero-highlights span {
  padding: 8px 11px;
  border-radius: 999px;

  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.14);

  color: rgba(255,255,255,0.86);

  font-size: 12px;
  font-weight: 800;
  text-transform: capitalize;
}

.hero-hours-wrap {
  margin-top: 16px;
}

.hero-info-card .hours-box {
  margin-top: 0;
  min-width: 0;
  max-width: 100%;
}

.hero-info-card .hours-today {
  color: white;
  font-size: 14px;
  font-weight: 800;
}

.hero-info-card .hours-row {
  border-top: 1px solid rgba(255,255,255,0.12);
}

.hero-info-card .hours-day,
.hero-info-card .hours-time {
  color: rgba(255,255,255,0.78);
}
.hero-beach-line {
  display: inline-block;
  margin-top: 14px;

  color: #5bdcff;
  text-decoration: none;

  font-size: 14px;
  font-weight: 800;
}

.hero-beach-line:hover {
  opacity: 0.82;
}

.hero-highlights {
  display: none;
}

.hero-highlights-text {
  margin-top: 14px;

  color: rgba(117, 116, 116, 0.82);

  font-size: 13px;
  font-weight: 800;

  text-transform: capitalize;
  line-height: 1.5;
}
/* Desktop refinement for public place mini-sites */
@media (min-width: 900px) {
  #place-page {
    max-width: 980px;
  }

  .place-page,
  .place-content,
  .hero-info-card,
  .cta-section,
  .description-section,
  .stay-experience {
    max-width: 980px;
    margin-left: auto;
    margin-right: auto;
  }

  .place-slide {
    aspect-ratio: 16 / 8.5;
    max-height: 520px;
  }

  .business-info-card {
    flex: 0 0 360px;
  }

  .action-buttons {
    gap: 44px;
  }
}

/* ================================
   PLACE PAGE FINAL PREMIUM LAYER
   Restaurants + Beach Bars
   Keeps existing structure, improves presentation
================================ */

body {
  margin: 0;
  background:
    radial-gradient(circle at top, rgba(0, 198, 255, 0.08), transparent 34%),
    #f6f7fb;
  color: #07111f;
  font-family:
    Inter,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;
}

.place-page-premium {
  max-width: 980px;
  margin: 0 auto;
  padding-bottom: 0;
}

.premium-hero {
  border-radius: 0 0 34px 34px;
  box-shadow:
    0 18px 50px rgba(0,0,0,0.18);
}

.hero-floating-actions {
  position: absolute;
  left: 18px;
  right: 18px;
  top: 18px;
  z-index: 20;
  display: flex;
  justify-content: space-between;
  align-items: center;
  pointer-events: none;
}

.hero-floating-btn {
  width: 52px;
  height: 52px;
  border: none;
  border-radius: 50%;
  background:
    rgba(255,255,255,0.90);
  color: #07111f;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  cursor: pointer;
  font-size: 25px;
  font-weight: 900;
  box-shadow:
    0 10px 28px rgba(0,0,0,0.18);
  backdrop-filter: blur(18px);
  pointer-events: auto;
  transition: 0.24s;
}

.hero-floating-btn:hover {
  transform: translateY(-2px) scale(1.04);
}

.premium-main-card {
  margin-top: -32px;
  position: relative;
  z-index: 10;
  border: 1px solid rgba(255,255,255,0.16);
}

.premium-meta-line {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 14px;
}

.premium-meta-line span {
  display: inline-flex;
  align-items: center;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.12);
  color: rgba(255,255,255,0.90);
  font-size: 13px;
  font-weight: 900;
}

.today-card {
  margin-top: 18px;
  padding: 18px 20px;
  border-radius: 26px;
  background:
    linear-gradient(
      135deg,
      rgba(255,255,255,0.18),
      rgba(255,255,255,0.08)
    );
  border: 1px solid rgba(255,255,255,0.18);
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
}

.today-card small {
  display: block;
  margin-bottom: 4px;
  color: #5bdcff;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.today-card strong {
  display: block;
  color: white;
  font-size: 22px;
  line-height: 1.1;
}

.today-card > span {
  color: white;
  font-size: 18px;
  font-weight: 900;
}

.premium-hours-list {
  margin-top: 10px;
  padding: 4px 18px 10px;
  border-radius: 22px;
  background: rgba(255,255,255,0.08);
}

.premium-cta-section {
  max-width: 980px;
  margin: 0 auto;
  padding: 22px 18px 10px;
  display: grid;
  grid-template-columns: 1.25fr 0.75fr;
  gap: 12px;
}

.premium-book-btn {
  padding: 22px 18px;
  font-size: 19px;
  box-shadow:
    0 14px 40px rgba(255,136,0,0.34);
}

.premium-menu-btn {
  padding: 20px 16px;
  font-weight: 900;
  background: white;
}

.premium-reservation-form {
  max-width: 900px;
}

.premium-direction-row {
  max-width: 980px;
  margin: 0 auto;
  padding: 8px 18px 0;
}

.take-me-there-btn {
  min-height: 76px;
  border-radius: 30px;
  background:
    linear-gradient(135deg, #07111f, #16436f);
  color: white;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  box-shadow:
    0 18px 42px rgba(7,17,31,0.22);
  transition: 0.24s;
}

.take-me-there-btn:hover {
  transform: translateY(-2px);
}

.take-me-there-btn span {
  display: flex;
  align-items: center;
}

.take-me-there-btn strong {
  font-size: 17px;
  letter-spacing: 0.5px;
}

.premium-experience {
  margin: 28px 18px 0;
  max-width: none;
}

.premium-experience .experience-header p {
  margin-top: 0;
}

.premium-experience-grid {
  grid-template-columns: repeat(2, 1fr);
}

.premium-experience-card {
  background-size: cover;
  background-position: center;
  min-height: 270px;

  box-shadow:
    inset 0 -70px 60px rgba(0,0,0,0.28);
}

.premium-experience-card::before {
  content: "";
  position: absolute;
  inset: 0;

  background:
    linear-gradient(
      to bottom,
      rgba(0,0,0,0.00) 0%,
      rgba(0,0,0,0.08) 55%,
      rgba(0,0,0,0.45) 100%
    );

  z-index: 1;
}

.premium-experience-card span,
.premium-experience-card h3,
.premium-experience-card p {
  z-index: 2;
}

.premium-experience-card p {
  color: rgba(255,255,255,0.88);
}

.premium-about-section {
  padding-top: 34px;
}

.premium-about-section .section-title,
.premium-practical-section .section-title {
  margin-top: 0;
}

.premium-connected-section {
  max-width: 980px;
  margin: 0 auto;
  padding: 0 18px 18px;
}

.premium-practical-section {
  max-width: 980px;
  margin: 0 auto;
  padding: 8px 18px 34px;
}

.info-list-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}

.info-list-card {
  background: rgba(255,255,255,0.92);
  border: 1px solid rgba(0,0,0,0.04);
  border-radius: 26px;
  padding: 22px;
  box-shadow:
    0 10px 28px rgba(0,0,0,0.07);
}

.info-list-card h3 {
  margin: 0 0 10px;
  font-size: 17px;
  color: #07111f;
}

.info-list-card p {
  margin: 0;
  color: #5d6673;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.55;
}

.place-owner-footer {
  margin-top: 16px;
  background:
    radial-gradient(circle at top left, rgba(0,198,255,0.20), transparent 32%),
    linear-gradient(135deg, #050b13, #07111f);
  color: white;
  padding: 34px 18px;
}

.place-owner-footer-inner {
  max-width: 980px;
  margin: 0 auto;
}

.place-owner-footer h2 {
  margin: 0;
  font-size: 34px;
  line-height: 1;
}

.place-owner-footer p {
  max-width: 680px;
  margin: 12px 0 0;
  color: rgba(255,255,255,0.68);
  font-weight: 700;
  line-height: 1.5;
}

.owner-footer-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 24px;
}

.owner-footer-actions a,
.owner-footer-actions button {
  border: 1px solid rgba(255,255,255,0.16);
  border-radius: 999px;
  background: rgba(255,255,255,0.10);
  color: white;
  text-decoration: none;
  padding: 13px 17px;
  font-size: 14px;
  font-weight: 900;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  cursor: pointer;
  backdrop-filter: blur(14px);
}

.owner-footer-actions svg {
  width: 19px;
  height: 19px;
}

.powered-by {
  margin-top: 26px;
  color: rgba(255,255,255,0.58);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.3px;
}

/* Hide old static footer if place.js renders the premium owner footer */

@media (min-width: 900px) {
  .premium-hero {
    border-radius: 0 0 42px 42px;
  }

  .premium-main-card {
    margin-left: auto;
    margin-right: auto;
  }

  .premium-experience {
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 768px) {
  .premium-hero {
    border-radius: 0 0 28px 28px;
  }

  .hero-floating-actions {
    left: 14px;
    right: 14px;
    top: 14px;
  }

  .hero-floating-btn {
    width: 46px;
    height: 46px;
    font-size: 22px;
  }

  .premium-main-card {
    margin: -24px 14px 0;
    padding: 20px;
    border-radius: 28px;
  }

  .hero-title-block h1 {
    font-size: 29px;
  }

  .premium-meta-line span {
    font-size: 12px;
  }

  .today-card {
    padding: 16px;
    border-radius: 22px;
  }

  .today-card strong {
    font-size: 20px;
  }

  .premium-cta-section {
    grid-template-columns: 1fr;
    padding-left: 16px;
    padding-right: 16px;
  }

  .premium-book-btn,
  .premium-menu-btn {
    width: 100%;
  }

  .premium-direction-row {
    padding-left: 16px;
    padding-right: 16px;
  }

  .take-me-there-btn {
    min-height: 70px;
    border-radius: 26px;
  }

  .premium-experience {
    margin: 24px 16px 0;
    padding: 22px;
  }

  .premium-experience-grid {
    grid-template-columns: 1fr;
  }

  .experience-header h2 {
    font-size: 34px;
  }

  .premium-experience-card {
    min-height: 220px;
  }

  .premium-connected-section {
    padding-left: 16px;
    padding-right: 16px;
  }

  .info-list-grid {
    grid-template-columns: 1fr;
  }

  .place-owner-footer {
    padding: 30px 18px;
  }

  .place-owner-footer h2 {
    font-size: 30px;
  }

  .owner-footer-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .owner-footer-actions a,
  .owner-footer-actions button {
    justify-content: center;
  }
}

/* Final small corrections: no text overlap, visible dots, premium beach background */
.premium-hero .carousel-dots {
  bottom: 20px;
  z-index: 30;
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(0,0,0,0.22);
  backdrop-filter: blur(10px);
}

.premium-main-card {
  margin-top: -22px;
}

.premium-experience-card {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 8px;
}

.premium-experience-card span,
.premium-experience-card h3,
.premium-experience-card p {
  position: relative;
  left: auto;
  right: auto;
  bottom: auto;
  margin: 0;
}

.premium-experience-card span {
  position: absolute;
  top: 20px;
  left: 20px;
}

.premium-experience-card h3 {
  font-size: 20px;
  line-height: 1.12;
}

.premium-experience-card p {
  font-size: 14px;
  line-height: 1.35;
}

.premium-connected-beach-card {
  background-size: cover;
  background-position: center;
}

.premium-connected-beach-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(0,63,130,0.66), rgba(0,198,255,0.20));
  z-index: 1;
}

.premium-connected-beach-card .beach-card-content {
  position: relative;
  z-index: 2;
}

@media (max-width: 768px) {
  .premium-hero .carousel-dots {
    bottom: 16px;
  }

  .premium-main-card {
    margin-top: -18px;
  }

  .premium-experience-card h3 {
    font-size: 19px;
  }
}
/* BEACH BAR PREMIUM DIFFERENCE */

.beach-bar-page {
  background:
    radial-gradient(circle at top, rgba(0, 198, 255, 0.16), transparent 34%),
    #f3fbff;
}

.beach-bar-page .premium-main-card {
  background:
    radial-gradient(circle at top left, rgba(0, 220, 255, 0.36), transparent 34%),
    linear-gradient(135deg, #032b3d, #075b78);
}

.beach-day-section {
  max-width: 980px;
  margin: 28px auto 0;
  padding: 0 18px;
}

.beach-day-header {
  margin-bottom: 18px;
}

.beach-day-header span {
  display: inline-flex;
  margin-bottom: 8px;
  color: #008ccf;
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.beach-day-header h2 {
  margin: 0;
  font-size: 38px;
  line-height: 1;
  color: #07111f;
}

.beach-day-header p {
  margin: 10px 0 0;
  max-width: 680px;
  color: #5d6673;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.55;
}

.beach-day-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}

.beach-day-card {
  position: relative;
  min-height: 310px;
  border-radius: 34px;
  overflow: hidden;
  background-size: cover;
  background-position: center;
  box-shadow: 0 18px 45px rgba(0,0,0,0.18);
}

.beach-day-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      to bottom,
      rgba(0,0,0,0.08),
      rgba(0,0,0,0.86)
    );
}

.beach-day-content {
  position: absolute;
  inset: auto 0 0 0;
  padding: 24px;
  color: white;
  z-index: 2;
}

.beach-day-kicker {
  display: inline-flex;
  padding: 7px 11px;
  border-radius: 999px;
  background: rgba(255,255,255,0.18);
  color: rgba(255,255,255,0.9);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 12px;
}

.beach-day-big {
  display: block;
  font-size: 34px;
  line-height: 1;
  font-weight: 950;
  margin-bottom: 10px;
}

.beach-day-card h3 {
  margin: 0 0 8px;
  font-size: 22px;
  line-height: 1.1;
}

.beach-day-card p {
  margin: 0;
  color: rgba(255,255,255,0.84);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
}

.beach-bar-page .premium-experience .experience-kicker {
  color: #8be8ff;
}

@media (max-width: 768px) {
  .beach-day-section {
    margin-top: 24px;
    padding: 0 16px;
  }

  .beach-day-header h2 {
    font-size: 34px;
  }

  .beach-day-grid {
    grid-template-columns: 1fr;
  }

  .beach-day-card {
    min-height: 280px;
    border-radius: 28px;
  }

  .beach-day-content {
    padding: 22px;
  }

  .beach-day-big {
    font-size: 31px;
  }
}
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

* {
  box-sizing: border-box;
}

body {
  overflow-x: hidden;
}
@media (max-width: 768px) {

  .hero-title-block h1 {
    font-size: 24px !important;
  }

  .experience-header h2 {
    font-size: 26px !important;
  }

  .section-title {
    font-size: 24px !important;
  }

  .connected-beach-card h2 {
    font-size: 24px !important;
  }

  .place-owner-footer h2 {
    font-size: 24px !important;
  }

  .premium-experience-card h3 {
    font-size: 17px !important;
  }

  .premium-experience-card p {
    font-size: 13px !important;
    line-height: 1.4;
  }

}
/* MOBILE COMPACT MODE FOR PLACE PAGES - BALANCED VERSION */

@media (max-width: 768px) {

  .place-slide {
  aspect-ratio: 16 / 11.2 !important;
  max-height: 500px !important;
}

  .premium-main-card {
    margin: -14px 12px 0 !important;
    padding: 13px !important;
    border-radius: 22px !important;
  }

  .hero-title-block h1 {
    font-size: 20px !important;
    line-height: 1.05 !important;
  }

  .hero-subtitle,
  .hero-beach-line,
  .hero-highlights-text {
    font-size: 11px !important;
    line-height: 1.25 !important;
    margin-top: 7px !important;
  }

  .premium-meta-line {
    gap: 6px !important;
    margin-top: 9px !important;
  }

  .premium-meta-line span {
    font-size: 10px !important;
    padding: 5px 8px !important;
  }

  .today-card {
    margin-top: 10px !important;
    padding: 10px 12px !important;
    border-radius: 18px !important;
  }

  .today-card small {
    font-size: 9px !important;
  }

  .today-card strong {
    font-size: 14px !important;
  }

  .premium-cta-section {
    padding: 14px 12px 6px !important;
    gap: 8px !important;
  }

  .premium-book-btn,
  .premium-menu-btn {
    padding: 13px 12px !important;
    font-size: 14px !important;
    border-radius: 20px !important;
  }

  .premium-direction-row {
    padding: 6px 12px 0 !important;
  }

  .take-me-there-btn {
    min-height: 52px !important;
    border-radius: 20px !important;
    font-size: 13px !important;
  }

  .section-title {
    font-size: 21px !important;
    margin-bottom: 10px !important;
  }

  .premium-about-section {
    padding: 22px 14px 24px !important;
  }

  .place-description {
    font-size: 13px !important;
    line-height: 1.55 !important;
  }

  .premium-experience {
    margin: 18px 12px 0 !important;
    padding: 15px !important;
    border-radius: 22px !important;
  }

  .experience-header {
    gap: 10px !important;
    margin-bottom: 14px !important;
  }

  .experience-kicker {
    font-size: 10px !important;
    margin-bottom: 6px !important;
    letter-spacing: 0.7px !important;
  }

  .experience-header h2 {
    font-size: 23px !important;
    line-height: 1.05 !important;
    margin-bottom: 6px !important;
  }

  .experience-header p {
    font-size: 11px !important;
    line-height: 1.35 !important;
  }

  .experience-score {
    min-width: 66px !important;
    width: 66px !important;
    height: 66px !important;
    border-radius: 18px !important;
    flex-shrink: 0 !important;
  }

  .experience-score span {
    font-size: 23px !important;
  }

  .experience-score small {
    font-size: 8px !important;
  }

  .premium-experience-card {
    min-height: 178px !important;
    padding: 14px !important;
    border-radius: 20px !important;
  }

  .premium-experience-card span {
    top: 13px !important;
    left: 13px !important;
    font-size: 24px !important;
  }

  .premium-experience-card h3 {
    font-size: 15px !important;
    line-height: 1.1 !important;
  }

  .premium-experience-card p {
    font-size: 10.5px !important;
    line-height: 1.3 !important;
  }

  .beach-day-section {
    margin-top: 18px !important;
    padding: 0 12px !important;
  }

  .beach-day-header h2 {
    font-size: 24px !important;
  }

  .beach-day-header p {
    font-size: 12px !important;
    line-height: 1.35 !important;
  }

  .beach-day-card {
    min-height: 190px !important;
    border-radius: 22px !important;
  }

  .beach-day-content {
    padding: 15px !important;
  }

  .beach-day-kicker {
    font-size: 9px !important;
    padding: 5px 8px !important;
    margin-bottom: 7px !important;
  }

  .beach-day-big {
    font-size: 21px !important;
    margin-bottom: 6px !important;
  }

  .beach-day-card h3 {
    font-size: 16px !important;
  }

  .beach-day-card p {
    font-size: 11px !important;
    line-height: 1.3 !important;
  }

  .connected-beach-card {
    min-height: 130px !important;
    border-radius: 20px !important;
  }

  .beach-card-content {
    padding: 13px !important;
  }

  .beach-card-label {
    font-size: 8px !important;
    padding: 4px 8px !important;
    margin-bottom: 6px !important;
  }

  .connected-beach-card h2 {
    font-size: 21px !important;
    margin-bottom: 7px !important;
  }

  .connected-beach-card p {
    font-size: 10.5px !important;
    line-height: 1.25 !important;
    margin-bottom: 10px !important;
  }

  .connected-beach-card button {
    padding: 8px 12px !important;
    font-size: 11px !important;
  }

  .info-list-card {
    padding: 15px !important;
    border-radius: 20px !important;
  }

  .info-list-card h3 {
    font-size: 14px !important;
  }

  .info-list-card p {
    font-size: 11px !important;
    line-height: 1.35 !important;
  }

  .place-owner-footer {
    padding: 22px 14px !important;
  }

  .place-owner-footer h2 {
    font-size: 22px !important;
  }

  .place-owner-footer p {
    font-size: 12px !important;
  }

  .owner-footer-actions a,
  .owner-footer-actions button {
    padding: 10px 12px !important;
    font-size: 12px !important;
  }
}
.home-logo {
  width: 200px;
  height: 200px;
  object-fit: contain;
  margin-bottom: 24px;
  filter: drop-shadow(0 12px 28px rgba(0,0,0,0.35));
}

.hero h1 {
  display: none;
}

@media (max-width: 768px) {
  .home-logo {
    width: 170px;
    height: 170px;
  }
}