:root{
  --bg:#f3f7fb;--surface:#fff;--ink:#071a2e;--muted:#6f8091;--line:#dce6ef;
  --blue:#176ba7;--sea:#0b7faf;--sea2:#2cb6c8;--sand:#f4d58b;--navy:#07162b;
  --shadow:0 18px 48px rgba(8,36,64,.10);--radius:25px
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:
  radial-gradient(circle at 10% 18%,rgba(27,154,203,.08),transparent 25%),
  linear-gradient(#f6f9fc,#f2f6fa 55%,#eef4f8);
  color:var(--ink);font-family:"Assistant",Arial,sans-serif;line-height:1.55
}
a{text-decoration:none;color:inherit}
button{font:inherit}
.shell{width:min(1180px,calc(100% - 34px));margin:auto}

.topbar{
  position:sticky;top:0;z-index:40;
  background:rgba(6,20,38,.94);backdrop-filter:blur(15px);
  color:#fff;border-bottom:1px solid rgba(255,255,255,.08)
}
.topbar__inner{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.brand{display:flex;align-items:center;gap:9px;font:900 18px "Heebo",sans-serif}
.brand__dot{width:11px;height:11px;border-radius:50%;background:#49c6d7;box-shadow:0 0 20px rgba(73,198,215,.7)}
.topnav{display:flex;align-items:center;gap:8px}
.topnav a{padding:8px 10px;border-radius:11px;color:#deebf7;font-weight:800;font-size:13px}
.topnav a:hover{background:rgba(255,255,255,.08)}
.topnav .ashdodNetLink{border:1px solid rgba(255,255,255,.16)}

.placesHero{
  position:relative;min-height:560px;display:flex;align-items:flex-end;
  overflow:hidden;background:#0a2b47;color:#fff
}
.placesHero__backdrop{
  position:absolute;inset:0;
  background-size:cover;background-position:center 52%;
  transform:scale(1.015)
}
.placesHero__shade{
  position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(4,17,31,.18),rgba(4,17,31,.04) 45%,rgba(4,17,31,.15)),
    linear-gradient(to top,rgba(3,13,24,.93) 0%,rgba(3,13,24,.55) 37%,rgba(3,13,24,.08) 72%)
}
.placesHero__content{position:relative;z-index:2;padding:70px 0 48px}
.eyebrow,.sectionKicker{
  display:block;color:#8fe2ec;font:800 13px "Heebo",sans-serif;
  letter-spacing:.1px
}
.placesHero h1{
  margin:5px 0 10px;
  max-width:870px;font:900 clamp(48px,8vw,88px)/.98 "Heebo",sans-serif;
  letter-spacing:-3px;text-wrap:balance
}
.placesIntro{
  max-width:820px;margin:0;color:#e5f0f7;
  font-size:clamp(18px,2.1vw,23px);font-weight:600;line-height:1.55
}
.placesStats{display:flex;gap:9px;flex-wrap:wrap;margin-top:25px}
.stat{
  min-width:145px;padding:11px 14px;border-radius:16px;
  border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.09);
  backdrop-filter:blur(10px)
}
.stat b{display:block;font:900 22px "Heebo",sans-serif;color:#fff}
.stat span{display:block;font-size:12px;color:#dceaf3;font-weight:700}
.heroCredit{
  position:absolute;z-index:3;left:18px;bottom:12px;
  color:rgba(255,255,255,.66);font-size:10px;text-shadow:0 1px 4px #000
}

.placesToolbar{
  padding:35px 0 17px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px
}
.placesToolbar h2{margin:3px 0 0;font:900 31px/1.1 "Heebo",sans-serif;letter-spacing:-.8px}
.placesToolbar .sectionKicker{color:var(--sea)}
.placeFilters{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.placeFilters button{
  border:1px solid #d5e2ec;background:#fff;color:#476176;
  border-radius:999px;padding:8px 12px;font-weight:800;font-size:12px;cursor:pointer;
  transition:.18s ease
}
.placeFilters button:hover{border-color:#a9ccdc;background:#f6fbfd}
.placeFilters button.is-active{
  border-color:transparent;color:#fff;
  background:linear-gradient(135deg,#087da8,#25aebf);
  box-shadow:0 7px 17px rgba(17,140,171,.18)
}

.placesPanel{padding:8px 0 34px}
.placesGrid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px
}
.placeCard{
  overflow:hidden;background:rgba(255,255,255,.98);
  border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:0 8px 26px rgba(6,37,66,.055);
  transition:transform .22s ease,box-shadow .22s ease
}
.placeCard:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.placeMedia{
  position:relative;aspect-ratio:16/10;overflow:hidden;
  background:linear-gradient(135deg,#0c5471,#44b6c4)
}
.placeMedia img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .45s ease}
.placeCard:hover .placeMedia img{transform:scale(1.035)}
.placeMedia:after{
  content:"";position:absolute;inset:45% 0 0;
  background:linear-gradient(to top,rgba(4,17,29,.68),transparent)
}
.placeMedia.imageFailed:before{
  content:"אשדוד · הים שלנו";position:absolute;inset:0;display:grid;place-items:center;
  color:#fff;font:900 23px "Heebo",sans-serif;background:linear-gradient(135deg,#0c5471,#46baca)
}
.placeBadges{
  position:absolute;z-index:3;right:11px;top:11px;display:flex;gap:5px;flex-wrap:wrap
}
.placeBadges span{
  padding:5px 8px;border-radius:999px;background:rgba(4,19,34,.76);
  color:#fff;font-size:10px;font-weight:900;backdrop-filter:blur(6px);
  border:1px solid rgba(255,255,255,.14)
}
.imageCredit{
  position:absolute;z-index:3;left:10px;bottom:8px;color:rgba(255,255,255,.82);
  font-size:9px;text-shadow:0 1px 4px rgba(0,0,0,.8)
}
.placeBody{padding:18px 18px 20px}
.placeType{color:#1484a1;font:900 11px "Heebo",sans-serif}
.placeBody h2{margin:3px 0 0;font:900 28px/1.05 "Heebo",sans-serif;letter-spacing:-.7px}
.placeBody h3{margin:6px 0 10px;color:#3e596d;font:800 15px/1.35 "Heebo",sans-serif}
.placeBody p{margin:0;color:#536a7d;font-size:14px;line-height:1.58}
.placeHighlights{
  list-style:none;margin:15px 0 0;padding:0;
  border-top:1px solid #edf1f5;padding-top:12px
}
.placeHighlights li{
  position:relative;padding-right:18px;color:#314b61;font-size:12.5px;font-weight:700
}
.placeHighlights li+li{margin-top:5px}
.placeHighlights li:before{
  content:"";position:absolute;right:1px;top:.62em;width:7px;height:7px;
  border-radius:50%;background:#2dabc0;box-shadow:0 0 0 3px #e8f7f9
}
.placeActions{display:flex;gap:8px;margin-top:17px}
.placeActions a{
  min-height:40px;display:inline-flex;align-items:center;justify-content:center;
  border-radius:12px;padding:8px 12px;font-weight:900;font-size:12px
}
.primaryAction{background:#0b2946;color:#fff;flex:1}
.primaryAction:hover{background:#11406a}
.sourceAction{border:1px solid #d9e4ed;color:#3d6684;background:#fff}

.safetyCard{
  margin:10px 0 70px;padding:23px;
  display:grid;grid-template-columns:50px 1fr;gap:17px;
  background:linear-gradient(135deg,#fff9eb,#fffdf7);
  border:1px solid #eedfb9;border-radius:23px;
  box-shadow:0 8px 25px rgba(73,56,15,.04)
}
.safetyIcon{
  width:48px;height:48px;border-radius:15px;display:grid;place-items:center;
  background:#f4c95d;color:#5d4510;font:900 24px "Heebo",sans-serif
}
.safetyCopy .sectionKicker{color:#9b7214}
.safetyCopy h2{margin:2px 0 7px;font:900 24px "Heebo",sans-serif}
.safetyCopy p{margin:0;color:#655d49;font-size:14px;max-width:900px}
.safetyLinks{display:flex;gap:10px;flex-wrap:wrap;margin-top:13px}
.safetyLinks a{
  color:#735817;font-size:12px;font-weight:900;padding:7px 10px;
  border-radius:10px;border:1px solid #e7d6a8;background:rgba(255,255,255,.62)
}

.loadingState,.emptyPlaces{
  grid-column:1/-1;min-height:260px;border:1px solid var(--line);
  border-radius:24px;background:#fff;display:grid;place-items:center;text-align:center;padding:30px
}
.loadingState span{
  width:38px;height:38px;border-radius:50%;
  border:4px solid #dce7ef;border-top-color:#138dad;animation:spin .8s linear infinite
}
.loadingState b{display:block;margin-top:12px;color:#667b8e}
@keyframes spin{to{transform:rotate(360deg)}}
.emptyPlaces span{display:block;color:#8492a1;margin-top:3px}
.comingSoon{
  margin:65px auto 100px;max-width:750px;text-align:center;
  border:1px solid var(--line);background:#fff;border-radius:28px;padding:50px 30px;
  box-shadow:var(--shadow)
}
.comingSoon>span{color:#2c86a4;font-weight:900;font-size:12px}
.comingSoon h2{font:900 38px "Heebo",sans-serif;margin:5px 0 10px}
.comingSoon p{color:#687b8d;font-size:17px}
.comingSoon a{display:inline-flex;margin-top:10px;background:#0b2946;color:#fff;border-radius:13px;padding:10px 16px;font-weight:900}

.footer{background:linear-gradient(145deg,#051426,#0a2b4b);color:#aebfd0;padding:28px 0}
.footer__inner{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:13px}
.footer strong{display:block;color:#fff;font:900 17px "Heebo",sans-serif}
.footerLinks{display:flex;gap:14px}.footerLinks a{color:#dce8f4;font-weight:800}

@media(max-width:980px){
  .placesHero{min-height:500px}
  .placesGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .placesToolbar{align-items:flex-start;flex-direction:column}
  .placeFilters{justify-content:flex-start}
}
@media(max-width:650px){
  .shell{width:min(100% - 22px,1180px)}
  .topbar__inner{min-height:62px;align-items:flex-start;padding:10px 0}
  .brand{font-size:16px}.topnav{flex-direction:column;align-items:flex-end;gap:1px}.topnav a{font-size:11px;padding:4px 6px}
  .placesHero{min-height:520px}.placesHero__content{padding:55px 0 36px}.placesHero h1{font-size:52px;letter-spacing:-2px}
  .placesIntro{font-size:17px}.placesStats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
  .stat{min-width:0;padding:9px}.stat b{font-size:17px}.stat span{font-size:9px}
  .heroCredit{left:8px;bottom:6px;font-size:8px}
  .placesToolbar{padding-top:25px}.placesToolbar h2{font-size:27px}
  .placeFilters{display:flex;flex-wrap:nowrap;width:100%;overflow-x:auto;padding-bottom:6px;scrollbar-width:none}
  .placeFilters::-webkit-scrollbar{display:none}.placeFilters button{white-space:nowrap}
  .placesGrid{grid-template-columns:1fr;gap:14px}
  .placeBody h2{font-size:27px}
  .safetyCard{grid-template-columns:1fr;padding:19px;margin-bottom:45px}.safetyIcon{width:42px;height:42px}
  .footer__inner{display:block;text-align:center}.footerLinks{justify-content:center;margin-top:10px;flex-wrap:wrap}
}

.beachInfo{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin:0 0 18px;
}
.infoPanel,.rulesPanel{
  border:1px solid var(--line);
  border-radius:22px;
  background:#fff;
  box-shadow:0 8px 25px rgba(8,36,64,.045);
}
.infoPanel{padding:20px}
.infoPanel__label{
  display:inline-flex;
  padding:4px 8px;
  border-radius:999px;
  background:#e9f5fb;
  color:#167494;
  font:900 10px "Heebo",sans-serif
}
.infoPanel h2{margin:7px 0 8px;font:900 22px/1.1 "Heebo",sans-serif}
.infoPanel p{margin:0;color:#627487;font-size:13px}
.infoPanel a{display:inline-flex;margin-top:12px;color:#176ba7;font-weight:900;font-size:12px}
.infoPanel--season{background:linear-gradient(145deg,#f7fbff,#eef7fc)}
.infoPanel--environment{background:linear-gradient(145deg,#f7fcf7,#eef9ef)}
.infoPanel--environment .infoPanel__label{background:#e5f5e7;color:#347a43}
.infoPanel--status{background:linear-gradient(145deg,#fffaf1,#fff6df)}
.infoPanel--status .infoPanel__label{background:#fff0c9;color:#8b6411}
.seasonDates{display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:#1b4968}
.seasonDates b{font:900 16px "Heebo",sans-serif}
.seasonDates span{font-size:11px;color:#7c8c9b}
.seasonHours{display:block;margin:10px 0 5px;color:#0a6d90;font-size:13px}
.rulesPanel{grid-column:1/-1;padding:22px}
.rulesPanel__head{margin-bottom:15px}
.rulesPanel__head .sectionKicker{color:#177f9f}
.rulesPanel__head h2{margin:3px 0 0;font:900 26px "Heebo",sans-serif}
.beachRules{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px
}
.beachRule{
  display:grid;grid-template-columns:27px 1fr;gap:8px;align-items:start;
  min-height:65px;padding:11px;
  border:1px solid #e6edf3;border-radius:14px;background:#f9fbfd
}
.beachRule>span{
  width:25px;height:25px;border-radius:50%;
  display:grid;place-items:center;
  background:#e4f3f8;color:#177b99;
  font:900 10px "Heebo",sans-serif
}
.beachRule p{margin:1px 0 0;color:#475f72;font-size:12px;font-weight:700;line-height:1.45}
@media(max-width:900px){
  .beachInfo{grid-template-columns:1fr 1fr}
  .infoPanel--status{grid-column:1/-1}
  .beachRules{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .beachInfo{grid-template-columns:1fr}
  .infoPanel--status{grid-column:auto}
  .beachRules{grid-template-columns:1fr}
  .rulesPanel{padding:18px}
}

.placeNotice{
  margin-top:12px;
  padding:10px 11px;
  border-radius:12px;
  background:#fff7df;
  border:1px solid #f0dfaa;
  color:#6f581c;
  font-size:11.5px;
  font-weight:800;
  line-height:1.45;
}
