/* Escape to the Shores — shared styles (matches Shores Club 402 guidebook brand) */
:root{
  --teal:#7FB3B0;
  --teal-deep:#4F9491;
  --teal-pale:#DCEEEC;
  --cream:#FFFFFF;
  --ink:#2E3A3A;
  --ink-soft:rgba(46,58,58,.65);
  --coral:#E8927C;
  --line:rgba(46,58,58,.12);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0; background:var(--cream); color:var(--ink);
  font-family:'Poppins',sans-serif; font-weight:300;
  -webkit-font-smoothing:antialiased;
}
::selection{background:var(--teal); color:#fff;}
.wrap{max-width:760px; margin:0 auto; padding:0 26px;}

/* NAV */
nav{
  position:sticky; top:0; z-index:50;
  background:rgba(255,255,255,.95); backdrop-filter:blur(6px);
  border-bottom:1px solid var(--line);
}
.navrow{
  display:flex; align-items:center; justify-content:space-between;
  gap:20px; padding:14px 26px; max-width:760px; margin:0 auto; position:relative;
}
.navbrand{
  font-family:'Alex Brush',cursive; font-size:1.6rem; color:var(--teal-deep);
  text-decoration:none; white-space:nowrap;
}
.navlinks{display:flex; gap:22px; align-items:center;}
.navlinks a.navlink{
  font-size:11px; letter-spacing:.08em; text-transform:uppercase;
  color:var(--ink-soft); text-decoration:none; white-space:nowrap;
  font-weight:500; padding-bottom:3px; border-bottom:2px solid transparent;
}
.navlinks a.navlink:hover, .navlinks a.navlink.active{color:var(--teal-deep); border-color:var(--teal-deep);}
.menubtn{
  display:none; background:none; border:none; cursor:pointer;
  font-size:26px; line-height:1; color:var(--teal-deep); padding:2px 4px;
}
@media (max-width:860px){
  .menubtn{display:block;}
  .navlinks{
    display:none; position:absolute; top:100%; left:0; right:0;
    background:#fff; border-bottom:1px solid var(--line);
    flex-direction:column; align-items:stretch; gap:0; padding:6px 0 10px;
    box-shadow:0 8px 16px rgba(46,58,58,.08);
  }
  .navlinks.open{display:flex;}
  .navlinks a.navlink{
    padding:14px 26px; font-size:13px; border-bottom:none;
  }
  .navlinks a.navlink.active{background:var(--teal-pale); border-color:transparent;}
}

/* HERO */
header.hero{
  padding:70px 26px 52px; text-align:center;
  background:linear-gradient(180deg, var(--teal-pale) 0%, #fff 100%);
}
.eyebrow{
  font-size:12px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--teal-deep); font-weight:600; margin-bottom:10px;
}
h1.title{
  font-family:'Alex Brush',cursive; font-weight:400;
  font-size:clamp(3rem, 11vw, 4.6rem); line-height:1;
  color:var(--ink); margin:0 0 10px;
}
.subtitle{font-size:1.02rem; color:var(--ink-soft); max-width:520px; margin:0 auto;}
.wave{display:block; width:100%; height:24px; margin-top:34px;}

/* IG LINE */
.igline{
  font-size: 13px; color: var(--teal-deep); font-weight: 600;
}
.igline a{ color: var(--coral); text-decoration: none; border-bottom: 2px solid var(--coral); }
.igline a:hover{ color: var(--ink); border-color: var(--ink); }

/* BUTTONS */
.btnrow{display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-top:28px;}
.btn{
  display:inline-block; font-family:'Poppins',sans-serif; font-weight:500;
  font-size:13px; letter-spacing:.06em; text-transform:uppercase;
  padding:14px 26px; border-radius:999px; text-decoration:none;
  border:1.5px solid var(--teal-deep); color:var(--teal-deep);
  transition:background .2s, color .2s;
}
.btn:hover{background:var(--teal-pale);}
.btn.solid{background:var(--teal-deep); color:#fff;}
.btn.solid:hover{background:var(--teal);}
.btn.coral{background:var(--coral); border-color:var(--coral); color:#fff;}
.btn.coral:hover{opacity:.88;}

/* SECTIONS */
section{padding:52px 26px;}
h2{
  font-family:'Alex Brush',cursive; font-weight:400;
  font-size:2.6rem; margin:0 0 18px; color:var(--teal-deep); line-height:1;
}
h3{font-weight:600; font-size:1.02rem; margin:0 0 6px;}
p{line-height:1.65; margin:0 0 12px;}
.muted{color:var(--ink-soft); font-size:.94rem;}
hr.soft{border:none; border-top:1px solid var(--line); margin:0;}

/* GRID */
.grid2{display:grid; grid-template-columns:1fr 1fr; gap:22px 24px;}
.grid3{display:grid; grid-template-columns:1fr 1fr 1fr; gap:22px 24px;}
.grid-item h3{font-size:.96rem; color:var(--teal-deep);}
.grid-item p{font-size:.9rem; color:var(--ink-soft); margin-bottom:0;}
@media (max-width:560px){ .grid2,.grid3{grid-template-columns:1fr;} }

/* PHOTOS */
.herophoto{
  width:100%; border-radius:16px; margin:26px 0; display:block;
}

/* PHOTO PLACEHOLDER */
.photo{
  background:var(--teal-pale); border-radius:16px; display:flex;
  align-items:center; justify-content:center; color:var(--teal-deep);
  font-size:12px; letter-spacing:.1em; text-transform:uppercase; font-weight:600;
  min-height:220px; margin:26px 0;
}

/* CITY BANNERS */
.citybar{
  background:var(--teal); border-radius:16px; padding:22px 26px; margin-bottom:26px;
}
.citybar h2{color:#fff; margin:0;}
.citybar .citysub{
  color:rgba(255,255,255,.88); font-size:12px; letter-spacing:.1em;
  text-transform:uppercase; font-weight:500; margin-top:6px;
}

details.city > summary{list-style:none; cursor:pointer;}
details.city > summary::-webkit-details-marker{display:none;}
details.city .citybar{display:flex; align-items:center; justify-content:space-between; gap:16px;}
.chev{color:#fff; font-size:22px; transition:transform .25s; flex:0 0 auto;}
details.city[open] .chev{transform:rotate(180deg);}

/* PRICE */
details.spot .price{color:var(--coral); font-weight:600;}

/* SPOT ACCORDIONS */
.subhead{
  font-size:11px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--teal-deep); font-weight:600; margin:8px 0 4px;
}
.subhead.second{margin-top:36px;}
details.spot{border-bottom:1px solid var(--line); padding:17px 0;}
details.spot summary{
  cursor:pointer; list-style:none; display:flex; justify-content:space-between;
  align-items:center; font-weight:500; font-size:1.02rem; color:var(--ink);
}
details.spot summary::-webkit-details-marker{display:none;}
details.spot summary .sumright{display:flex; align-items:center; gap:10px; white-space:nowrap;}
details.spot summary .sumprice{font-size:12px; color:var(--coral); font-weight:600;}
details.spot summary .plus{color:var(--teal-deep); font-size:20px; font-weight:300; transition:transform .2s;}
details.spot[open] summary .plus{transform:rotate(45deg);}
details.spot .addr{ font-size:11.5px; letter-spacing:.03em; color:var(--ink-soft); margin:7px 0 2px; text-transform:uppercase;}
details.spot .dist{font-size:11.5px; color:var(--teal-deep); font-weight:600; margin:7px 0 6px;}
details.spot .rating{font-size:12px; color:var(--teal-deep); font-weight:600; margin-bottom:8px;}
details.spot p{font-size:.92rem; margin:0 0 8px;}
.maplink{font-size:12px; color:var(--teal-deep); text-decoration:none; font-weight:600;}
.maplink:hover{text-decoration:underline;}
.booklink{
  display:inline-block; font-size:12px; color:var(--coral); text-decoration:none;
  font-weight:600; letter-spacing:.02em; border-bottom:2px solid var(--coral); padding-bottom:1px;
}
.booklink:hover{color:var(--ink); border-color:var(--ink);}

/* EVENTS */
.loctag{
  display:inline-block; font-size:9.5px; letter-spacing:.07em; text-transform:uppercase;
  font-weight:600; padding:3px 9px; border-radius:999px; vertical-align:middle;
  margin-left:7px; white-space:nowrap;
}
.loctag.home{background:#DCEEEC; color:#3d7573;}
.loctag.nsb{background:#e8e3f0; color:#5f4b7d;}
.loctag.staug{background:#fbe6df; color:#b8593c;}
.loctag.orl{background:#e2ecdc; color:#4f6b42;}
.eventrow h3{display:inline; margin:0;}
.evlink{margin:6px 0 0 !important;}
.evlink a{font-size:11.5px; font-weight:600; color:var(--coral); text-decoration:none; border-bottom:1.5px solid var(--coral);}
.evlink a:hover{color:var(--ink); border-color:var(--ink);}
.eventrow{
  display:flex; gap:16px; align-items:flex-start;
  padding:14px 0; border-bottom:1px solid var(--line);
}
.eventrow:last-of-type{border-bottom:none;}
.eventdate{
  flex:0 0 92px; font-size:11px; letter-spacing:.05em; text-transform:uppercase;
  font-weight:600; color:var(--coral); line-height:1.5; padding-top:2px;
}
.eventrow h3{font-size:.96rem; margin:0 0 3px;}
.eventrow p{font-size:.88rem; color:var(--ink-soft); margin:0;}
.updated{
  display:inline-block; font-size:10.5px; letter-spacing:.08em; text-transform:uppercase;
  color:var(--teal-deep); background:var(--teal-pale); border-radius:999px;
  padding:4px 12px; font-weight:600; margin-bottom:14px;
}

/* ESSENTIALS CARDS */
.notebox{
  background:var(--teal-pale); border-radius:12px; padding:18px 20px;
  font-size:.92rem; line-height:1.6;
}
.notebox strong{color:var(--teal-deep); font-weight:600;}
.gear{
  border:1px solid var(--line); border-radius:14px; padding:20px;
  display:flex; flex-direction:column; gap:8px;
}
.gear img{
  width:100%; aspect-ratio:4/3; object-fit:cover;
  border-radius:10px; margin-bottom:4px; background:var(--teal-pale);
}
.gear h3{font-size:.98rem; margin:0;}
.gear .why{font-size:.88rem; color:var(--ink-soft); margin:0; flex:1;}
.gear .booklink{align-self:flex-start;}
.gearsgrid{display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:20px;}
@media (max-width:560px){ .gearsgrid{grid-template-columns:1fr;} }

/* EMAIL SIGNUP */
.signup{
  background:var(--teal); color:#fff; border-radius:18px;
  padding:44px 30px; text-align:center;
}
.signup h2{color:#fff;}
.signup p{color:rgba(255,255,255,.88);}
.signup form{display:flex; gap:10px; max-width:420px; margin:22px auto 0; flex-wrap:wrap; justify-content:center;}
.signup input[type=email]{
  flex:1; min-width:220px; padding:13px 18px; border-radius:999px; border:none;
  font-family:'Poppins',sans-serif; font-size:14px;
}
.signup button{
  padding:13px 24px; border-radius:999px; border:none; cursor:pointer;
  background:var(--ink); color:#fff; font-family:'Poppins',sans-serif;
  font-weight:500; font-size:13px; letter-spacing:.05em; text-transform:uppercase;
}
.signup button:hover{opacity:.85;}
.signup .fineprint{font-size:11px; color:rgba(255,255,255,.7); margin-top:12px;}
.signup .igfollow{
  font-size:13px; color:rgba(255,255,255,.9); margin-top:14px;
  padding-top:14px; border-top:1px solid rgba(255,255,255,.25);
}
.signup .igfollow a{color:#fff; font-weight:600; text-decoration:none; border-bottom:2px solid rgba(255,255,255,.6);}
.signup .igfollow a:hover{border-bottom-color:#fff;}

/* MAILERLITE EMBED SPACING FIX */
.signup .ml-form-embedWrapper{width:100% !important; max-width:420px; margin:22px auto 0 !important;}
.signup .ml-form-embedBody{padding:0 !important;}
.signup .ml-form-formContent{margin-bottom:0 !important;}
.signup .ml-form-fieldRow{margin-bottom:14px !important;}
.signup .ml-field-group input[type=email]{
  width:100% !important; padding:14px 20px !important; border-radius:999px !important;
  border:none !important; font-family:'Poppins',sans-serif !important; font-size:14px !important;
}
.signup .ml-form-embedSubmit{margin:0 !important;}
.signup .ml-form-embedSubmit button{
  width:100% !important; padding:14px 24px !important; border-radius:999px !important;
  background:var(--ink) !important; border:none !important; color:#fff !important;
  font-family:'Poppins',sans-serif !important; font-weight:500 !important;
  font-size:13px !important; letter-spacing:.05em; text-transform:uppercase;
  cursor:pointer;
}
.signup .ml-form-embedSubmit button:hover{opacity:.85;}
.signup .ml-form-successContent h4{color:#fff; font-family:'Alex Brush',cursive; font-size:1.8rem; margin:0 0 6px;}
.signup .ml-form-successContent p{color:rgba(255,255,255,.9); margin:0;}

/* DISCLOSURE + FOOTER */
.disclosure{
  padding:0 26px 10px; max-width:760px; margin:0 auto;
  font-size:11.5px; color:var(--ink-soft); line-height:1.6;
}
footer{padding:50px 26px 64px; text-align:center; background:var(--teal-pale); margin-top:40px;}
footer h2{font-size:2.2rem;}
.social{font-size:14px; color:var(--teal-deep); text-decoration:none; font-weight:600;}
footer .sign{margin-top:24px; font-family:'Alex Brush',cursive; font-size:1.8rem; color:var(--ink);}
footer .fine{margin-top:28px; font-size:10.5px; letter-spacing:.08em; color:var(--ink-soft); text-transform:uppercase;}
footer .legal{margin-top:10px; font-size:11px;}
footer .legal a{color:var(--ink-soft);}

/* JUMP MENU */
.jumpmenu{
  display:flex; flex-wrap:wrap; align-items:center; gap:10px;
  padding:14px 26px; max-width:760px; margin:0 auto 8px;
  position:sticky; top:57px; z-index:40;
  background:rgba(255,255,255,.95); backdrop-filter:blur(6px);
  border-bottom:1px solid var(--line);
}
.jumplabel{font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-soft); font-weight:600;}
.jumpmenu a{
  font-size:12px; font-weight:600; color:var(--teal-deep); text-decoration:none;
  background:var(--teal-pale); padding:6px 13px; border-radius:999px; white-space:nowrap;
}
.jumpmenu a:hover{background:var(--teal); color:#fff;}
section[id]{scroll-margin-top:110px;}
.subhead[id]{scroll-margin-top:120px;}

/* BOOKING HUB */
.bookgrid{display:grid; grid-template-columns:1fr 1fr 1fr; gap:16px; margin-top:6px;}
@media (max-width:640px){ .bookgrid{grid-template-columns:1fr;} }
.bookcard{
  border:1px solid var(--line); border-radius:14px; padding:22px 20px;
  display:flex; flex-direction:column; gap:8px; background:#fff;
}
.bookcard .booklabel{
  font-size:10.5px; letter-spacing:.12em; text-transform:uppercase;
  color:var(--teal-deep); font-weight:600;
}
.bookcard h3{font-size:1.02rem; margin:0; color:var(--ink);}
.bookcard p{font-size:.88rem; color:var(--ink-soft); margin:0; flex:1; line-height:1.55;}
.bookbtn{
  display:inline-block; text-align:center; font-size:12.5px; font-weight:600;
  letter-spacing:.04em; text-transform:uppercase; padding:12px 18px;
  border-radius:999px; text-decoration:none; margin-top:6px;
  border:1.5px solid var(--teal-deep); color:var(--teal-deep);
}
.bookbtn.solid{background:var(--teal-deep); color:#fff;}
.bookbtn:hover{opacity:.85;}

/* FOOD GROUPS */
.foodgroup{
  font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--teal-deep);
  font-weight:700; padding:6px 0 6px 14px; border-left:4px solid var(--coral); margin:30px 0 4px;
}
.foodgroupnote{font-size:.87rem; color:var(--ink-soft); margin:0 0 8px; padding-left:18px;}
.taphint{
  font-size:12.5px; color:var(--teal-deep); background:var(--teal-pale);
  border-radius:8px; padding:9px 14px; display:inline-block; margin-bottom:6px;
}
details.spot[open] summary .plus{transform:rotate(180deg);}
