.beach-filter-bar{
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    padding: 1rem;
    border-radius: 14px;
    background: #ffffffaa;
    margin-bottom: 18px;
    position: sticky;
    position:relative;
    /* top: 90px; */
    z-index: 9999;
    backdrop-filter: blur(5px);
}
.beach-filter-bar input, .beach-filter-bar select{
  border:1px solid rgba(0,0,0,.12);
  border-radius:12px; padding:10px 12px;
  min-height:42px;
}
.beach-filter-bar input{ flex:1; min-width:220px; }
.beach-filter-bar select{ min-width:180px; }

.beach-btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:10px 14px; border-radius:12px;
  border:1px solid rgba(0,0,0,.12);
  background:#111; color:#fff;
  text-decoration:none;
}
.beach-btn--ghost{ background:transparent; color:#111; }

.beach-grid{
  display:grid; grid-template-columns:repeat(2, minmax(0,1fr));
  gap:16px;
}
@media (max-width: 1000px){
  .beach-grid{ grid-template-columns:1fr; }
  .beach-filter-bar{ position:relative; top:auto; }
}

.beach-card{
  overflow:hidden; border-radius:18px;
  background:#fff; box-shadow:0 12px 34px rgba(0,0,0,.08);
  display:flex; flex-direction:column;
}
.beach-card__thumb img{ width:100%; height:220px; object-fit:cover; display:block; }
.beach-card__thumb--placeholder{ height:220px; background:rgba(0,0,0,.06); }

.beach-card__body{ padding:14px; }
.beach-card__title{ margin:0 0 8px; font-size:20px; }
.beach-card__title a{ text-decoration:none; }

.beach-card__meta{ display:flex; gap:8px; flex-wrap:wrap; margin-bottom:10px; }
.beach-pill{
  display:inline-flex; gap:6px; align-items:center;
  padding:6px 10px; border-radius:999px;
  background:rgba(0,0,0,.06);
  font-size:13px;
}

.beach-card__excerpt{ margin:0 0 12px; opacity:.9; }

.beach-card__badges{ display:flex; flex-wrap:wrap; gap:8px; margin:0 0 12px; }
.beach-badge{
  padding:6px 10px; border-radius:999px;
  border:1px solid rgba(0,0,0,.12);
  font-size:13px;
}

.beach-safety{
  border-radius:18px; background:#fff;
  box-shadow:0 12px 34px rgba(0,0,0,.08);
  padding:14px;
  position: sticky; top: 110px;
  & h4 {
    margin: 1rem 0;
  }
}
.beach-safety__list{ margin:0; padding-left:10px; list-style:none; display:flex; flex-direction:column; gap:10px;}
.beach-safety__list li{ list-style: none !important; font-size: 15px;}
.beach-safety__icon{ margin-right:8px; }

.single-beach__hero img{ width:100%; border-radius:18px; margin:10px 0 18px; }
.single-beach__section{ margin:22px 0; }
.beach-map{ width:100%; height:360px; border-radius:18px; background:rgba(0,0,0,.06); overflow:hidden; }
.beaches-hero-map{
  margin: 10px 0 18px;
}
.beaches-hero-map__inner{
  background:#fff;
  border-radius:18px;
  box-shadow:0 12px 34px rgba(0,0,0,.08);
  padding:14px;
}
.beaches-map{
  width:100%;
  height:420px;
  border-radius:16px;
  overflow:hidden;
  background:rgba(0,0,0,.06);
  margin-top:10px;
}
.beach-btn--small{
  padding:8px 10px;
  border-radius:10px;
  font-size:13px;
}
.beach-popup__title{ font-weight:700; margin-bottom:6px; }
.beach-popup__meta{ opacity:.9; margin-bottom:10px; }
