/* ═══════════════════════════════════════════
   NewPlaceAlert — Global Stylesheet
   Edit this file → run build.py → all pages update
   ═══════════════════════════════════════════ */
:root {
  --bg:#FFFAF5; --surface:#fff; --s2:#FFF4E8; --peach:#FFF0E0; --peach2:#FFE4C4;
  --orange:#F07820; --orange2:#D45E08; --orange3:#FF9A48;
  --obg:rgba(240,120,32,.08); --obg2:rgba(240,120,32,.15);
  --text:#1A1208; --text2:#4A3820; --text3:#9A8060;
  --border:rgba(240,120,32,.15); --border2:rgba(240,120,32,.28);
  --green:#2A8A52; --red:#C83828;
  --radius:13px;
  --sh:0 4px 20px rgba(240,120,32,.08);
  --shm:0 8px 32px rgba(240,120,32,.13);
  --shl:0 16px 48px rgba(240,120,32,.17);
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Inter',sans-serif;background:var(--bg);color:var(--text);line-height:1.6;min-height:100vh;}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}

.ctab[href*="/beaches/"] {
    display: none !important;
}

/* ── NAV ── */
nav{position:sticky;top:0;z-index:200;background:rgba(255,250,245,.97);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);padding:0 5%;}
.nav-inner{max-width:1280px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:66px;}
.logo{display:flex;align-items:center;gap:1px;}
.logo-n{font-family:'Inter',sans-serif;font-size:1.15rem;font-weight:700;color:var(--text);}
.logo-p{font-family:'Playfair Display',serif;font-size:1.25rem;font-weight:700;color:var(--orange);font-style:italic;}
.logo-a{font-family:'Inter',sans-serif;font-size:1.15rem;font-weight:300;color:var(--text2);}
.nav-links{display:flex;align-items:center;gap:2px;}
.nav-links a{font-size:.87rem;font-weight:500;color:var(--text2);padding:7px 13px;border-radius:50px;transition:all .2s;white-space:nowrap;}
.nav-links a:hover,.nav-links a.active{color:var(--orange);background:var(--obg);}
.nav-links .btn-nav{background:var(--orange);color:#fff !important;font-weight:700;margin-left:6px;padding:9px 20px;border-radius:50px;}
.nav-links .btn-nav:hover{background:var(--orange2);}
.nav-toggle{display:none;background:none;border:none;font-size:1.4rem;cursor:pointer;color:var(--text);padding:4px;}

/* ── BREADCRUMB ── */
.breadcrumb{background:var(--s2);border-bottom:1px solid var(--border);padding:10px 5%;}
.bc-inner{max-width:1280px;margin:0 auto;font-size:.79rem;color:var(--text3);display:flex;flex-wrap:wrap;gap:5px;align-items:center;}
.bc-inner a{color:var(--orange);font-weight:600;}
.bc-inner a:hover{text-decoration:underline;}
.bc-sep{color:var(--text3);}

/* ── BUTTONS ── */
.btn-orange{display:inline-flex;align-items:center;gap:6px;background:var(--orange);color:#fff;padding:11px 24px;border-radius:50px;font-weight:700;font-size:.9rem;border:none;cursor:pointer;transition:all .2s;font-family:'Inter',sans-serif;}
.btn-orange:hover{background:var(--orange2);transform:translateY(-1px);}
.btn-outline{display:inline-flex;align-items:center;gap:6px;background:transparent;color:var(--orange);padding:11px 24px;border-radius:50px;font-weight:700;font-size:.9rem;border:2px solid var(--orange);cursor:pointer;transition:all .2s;}
.btn-outline:hover{background:var(--obg);}

/* ── DESTINATION HERO ── */
.dest-hero{background:var(--orange);padding:54px 5% 46px;position:relative;overflow:hidden;}
.dest-hero-pat{position:absolute;inset:0;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ffffff'%3E%3Ccircle cx='20' cy='20' r='3'/%3E%3C/g%3E%3C/svg%3E");}
.dest-hero-content{position:relative;max-width:1280px;margin:0 auto;}
.dest-hero h1{font-family:'Playfair Display',serif;font-size:2.7rem;color:#fff;line-height:1.13;margin-bottom:12px;}
.dest-hero .hero-desc{font-size:.97rem;color:rgba(255,255,255,.86);max-width:640px;margin-bottom:22px;}
.hero-tags{display:flex;gap:10px;flex-wrap:wrap;}
.htag{background:rgba(255,255,255,.18);color:#fff;font-size:.76rem;font-weight:600;padding:5px 13px;border-radius:50px;}

/* ── CATEGORY TABS ── */
.cat-tabs{background:var(--surface);border-bottom:1px solid var(--border);padding:0 5%;overflow-x:auto;scrollbar-width:none;}
.cat-tabs::-webkit-scrollbar{display:none;}
.cat-tabs-inner{max-width:1280px;margin:0 auto;display:flex;}
.ctab{padding:13px 15px;font-size:.83rem;font-weight:500;color:var(--text3);border-bottom:3px solid transparent;transition:all .2s;white-space:nowrap;display:flex;align-items:center;gap:5px;}
.ctab:hover{color:var(--orange);}
.ctab.active{color:var(--orange);border-bottom-color:var(--orange);font-weight:700;}

/* ── PAGE BODY ── */
.page-body{max-width:1280px;margin:0 auto;padding:44px 5% 60px;}

/* ── INTRO BLOCK ── */
.intro-block{margin-bottom:36px;}
.intro-block h2{font-family:'Playfair Display',serif;font-size:1.75rem;color:var(--text);margin-bottom:13px;}
.intro-block p{font-size:.92rem;color:var(--text2);line-height:1.88;margin-bottom:11px;}
.intro-block ul{margin:10px 0 14px 20px;color:var(--text2);font-size:.9rem;line-height:1.85;}
.intro-block ul li{margin-bottom:4px;}

/* ── SUBMIT CTA ── */
.submit-cta{background:var(--peach);border:1px solid var(--border2);border-radius:16px;padding:28px 32px;margin-bottom:36px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;box-shadow:var(--sh);}
.submit-cta h3{font-family:'Playfair Display',serif;font-size:1.2rem;color:var(--text);margin-bottom:5px;}
.submit-cta p{font-size:.84rem;color:var(--text2);line-height:1.6;}
.submit-cta .highlight{color:var(--orange);font-weight:700;}

/* ── LISTING CARDS ── */
.listings-heading{font-family:'Playfair Display',serif;font-size:1.5rem;color:var(--text);margin-bottom:20px;}
.lc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:20px;margin-bottom:36px;}
.lc{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--sh);transition:all .26s;}
.lc:hover{transform:translateY(-4px);border-color:var(--orange);box-shadow:var(--shl);}
.lc img{width:100%;height:180px;object-fit:cover;}
.lc-body{padding:14px 16px;}
.lc-badge{display:inline-flex;align-items:center;gap:3px;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:3px 9px;border-radius:50px;margin-bottom:7px;}
.badge-verified{background:#E8F8EE;color:#1A7A40;}
.badge-featured{background:var(--obg2);color:var(--orange2);}
.lc-title{font-family:'Playfair Display',serif;font-size:1.02rem;color:var(--text);margin-bottom:4px;line-height:1.3;}
.lc-meta{font-size:.76rem;color:var(--text3);margin-bottom:7px;}
.lc-desc{font-size:.8rem;color:var(--text2);line-height:1.62;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}

/* ── SEO CONTENT BLOCKS ── */
.seo-block{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:28px 30px;margin-bottom:26px;box-shadow:var(--sh);}
.seo-block h2{font-family:'Playfair Display',serif;font-size:1.45rem;color:var(--text);margin-bottom:13px;}
.seo-block h3{font-family:'Playfair Display',serif;font-size:1.1rem;color:var(--text);margin:17px 0 7px;}
.seo-block p{font-size:.88rem;color:var(--text2);line-height:1.88;margin-bottom:9px;}
.seo-block ul{margin:7px 0 12px 18px;color:var(--text2);font-size:.87rem;line-height:1.85;}
.seo-block ul li{margin-bottom:3px;}
.seo-block a{color:var(--orange);font-weight:600;}

/* ── FAQ ── */
.faq-item{border-bottom:1px solid var(--border);padding:15px 0;}
.faq-item:last-child{border-bottom:none;padding-bottom:0;}
.faq-q{font-weight:700;font-size:.9rem;color:var(--text);margin-bottom:6px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;}
.faq-toggle{color:var(--orange);font-size:1.1rem;flex-shrink:0;}
.faq-a{font-size:.86rem;color:var(--text2);line-height:1.78;display:none;padding-top:4px;}

/* ── RELATED KEYWORDS ── */
.rel-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}
.rel-chip{background:var(--obg);border:1px solid var(--border2);border-radius:50px;padding:5px 14px;font-size:.79rem;color:var(--orange2);font-weight:500;transition:all .2s;}
.rel-chip:hover{background:var(--orange);color:#fff;border-color:var(--orange);}

/* ── NEARBY CITIES ── */
.nearby-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:9px;margin-top:12px;}
.nearby-a{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:10px 14px;font-size:.83rem;font-weight:600;color:var(--text2);transition:all .2s;display:block;}
.nearby-a:hover{border-color:var(--orange);color:var(--orange);background:var(--obg);}

/* ── GUEST POST CALLOUT ── */
.gp-callout{background:linear-gradient(135deg,#1A1208 0%,#3A2808 100%);border-radius:16px;padding:32px 36px;margin-bottom:28px;display:flex;align-items:center;gap:24px;flex-wrap:wrap;}
.gp-callout-text h3{font-family:'Playfair Display',serif;font-size:1.3rem;color:#fff;margin-bottom:8px;}
.gp-callout-text p{font-size:.85rem;color:rgba(255,255,255,.72);line-height:1.72;max-width:500px;}
.btn-gp{background:var(--orange);color:#fff;padding:11px 22px;border-radius:50px;font-size:.87rem;font-weight:700;border:none;cursor:pointer;font-family:'Inter',sans-serif;white-space:nowrap;flex-shrink:0;transition:all .2s;display:inline-block;}
.btn-gp:hover{background:var(--orange3);color:var(--text);}

/* ── HUB PAGE ── */
.hub-hero{background:var(--orange);padding:62px 5% 52px;position:relative;overflow:hidden;}
.hub-hero-pat{position:absolute;inset:0;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ffffff'%3E%3Ccircle cx='20' cy='20' r='3'/%3E%3C/g%3E%3C/svg%3E");}
.hub-hero-c{position:relative;max-width:1280px;margin:0 auto;}
.hub-hero h1{font-family:'Playfair Display',serif;font-size:3.1rem;color:#fff;line-height:1.11;margin-bottom:14px;}
.hub-hero h1 em{font-style:italic;color:var(--peach2);}
.hub-hero p{font-size:1rem;color:rgba(255,255,255,.85);max-width:560px;margin-bottom:32px;}
.hub-search{display:flex;max-width:520px;box-shadow:0 8px 32px rgba(0,0,0,.15);}
.hub-search input{flex:1;padding:15px 22px;border:none;border-radius:50px 0 0 50px;font-size:.95rem;font-family:'Inter',sans-serif;outline:none;color:var(--text);}
.hub-search button{padding:15px 26px;background:var(--text);color:#fff;border:none;border-radius:0 50px 50px 0;font-size:.9rem;font-weight:700;cursor:pointer;font-family:'Inter',sans-serif;white-space:nowrap;}
.hub-search button:hover{background:var(--text2);}
.hub-stats{display:flex;gap:32px;margin-top:32px;padding-top:28px;border-top:1px solid rgba(255,255,255,.2);flex-wrap:wrap;}
.hub-stat-num{font-family:'Playfair Display',serif;font-size:1.9rem;color:#fff;}
.hub-stat-lbl{font-size:.71rem;color:rgba(255,255,255,.7);text-transform:uppercase;letter-spacing:.05em;margin-top:2px;}
.kw-section{background:var(--s2);border-bottom:1px solid var(--border);padding:36px 5%;}
.kw-inner{max-width:1280px;margin:0 auto;}
.kw-title{font-family:'Playfair Display',serif;font-size:1.4rem;color:var(--text);margin-bottom:5px;}
.kw-sub{font-size:.83rem;color:var(--text3);margin-bottom:18px;}
.kw-grid{display:flex;flex-wrap:wrap;gap:8px;}
.kw-chip{background:var(--surface);border:1px solid var(--border2);border-radius:50px;padding:6px 14px;font-size:.81rem;color:var(--orange2);font-weight:500;transition:all .2s;}
.kw-chip:hover{background:var(--orange);color:#fff;border-color:var(--orange);}
.hub-body{max-width:1280px;margin:0 auto;padding:48px 5%;}
.state-section{margin-bottom:48px;}
.state-heading{font-family:'Playfair Display',serif;font-size:1.6rem;color:var(--text);border-bottom:2px solid var(--orange);display:inline-block;padding-bottom:10px;margin-bottom:6px;}
.state-sub{font-size:.82rem;color:var(--text3);margin-bottom:18px;margin-top:5px;}
.dest-pill-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:11px;}
.dest-pill{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px 15px;display:flex;align-items:center;gap:9px;transition:all .22s;}
.dest-pill:hover{border-color:var(--orange);background:var(--obg);transform:translateY(-2px);box-shadow:var(--sh);}
.dest-pill-icon{font-size:1.2rem;flex-shrink:0;}
.dest-pill-city{font-size:.87rem;font-weight:600;color:var(--text);}
.dest-pill-state{font-size:.73rem;color:var(--text3);}

/* ── FOOTER ── */
footer{background:var(--text);color:rgba(255,250,245,.6);padding:52px 5% 28px;}
.footer-inner{max-width:1280px;margin:0 auto;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin-bottom:40px;}
.footer-logo{font-size:1.3rem;display:inline-block;margin-bottom:13px;font-family:'Inter',sans-serif;font-weight:700;color:#fff;}
.footer-logo span{font-family:'Playfair Display',serif;font-style:italic;color:var(--orange3);}
.footer-brand p{font-size:.83rem;line-height:1.78;max-width:270px;color:rgba(255,250,245,.5);}
.footer-socials{display:inline-grid;gap:10px;margin-top:14px;}
.footer-socials a{display:flex;align-items:center;gap:7px;color:rgba(255,250,245,.6);font-size:.82rem;transition:color .2s;}
.footer-socials a:hover{color:var(--orange3);}
.footer-col h4{color:#fff;font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;margin-bottom:14px;margin-top:0;}
.footer-col a{display:block;font-size:.83rem;margin-bottom:8px;color:rgba(255,250,245,.5);transition:color .2s;}
.footer-col a:hover{color:var(--orange3);}
.footer-cta-bar{background:rgba(240,120,32,.15);border:1px solid rgba(240,120,32,.3);border-radius:12px;padding:16px 24px;margin-bottom:28px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.88rem;color:rgba(255,250,245,.8);}
.footer-cta-btn{background:var(--orange);color:#fff;padding:9px 20px;border-radius:50px;font-size:.83rem;font-weight:700;white-space:nowrap;}
.footer-cta-btn:hover{background:var(--orange3);color:var(--text);}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding-top:20px;display:flex;justify-content:space-between;align-items:center;font-size:.78rem;flex-wrap:wrap;gap:8px;}

/* ── FORMS (shared across submit + contact) ── */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.fg{display:flex;flex-direction:column;gap:7px;}
.fg.full{grid-column:1/-1;}
label{font-size:.8rem;font-weight:600;color:var(--text2);letter-spacing:.02em;}
label .req{color:var(--red);}
label .hint{font-weight:400;color:var(--text3);}
input[type=text],input[type=email],input[type=url],select,textarea{width:100%;padding:12px 16px;background:var(--bg);border:1.5px solid var(--border2);border-radius:8px;color:var(--text);font-family:'Inter',sans-serif;font-size:.9rem;transition:border-color .2s,box-shadow .2s;outline:none;}
input:focus,select:focus,textarea:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(240,120,32,.1);}
input::placeholder,textarea::placeholder{color:var(--text3);}
select option{background:#fff;color:var(--text);}
textarea{resize:vertical;min-height:110px;}
.btn-submit{width:100%;padding:15px;background:var(--orange);color:#fff;border:none;border-radius:50px;font-size:1rem;font-weight:700;cursor:pointer;font-family:'Inter',sans-serif;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px;}
.btn-submit:hover{background:var(--orange2);transform:translateY(-1px);}
.btn-submit:disabled{background:#ccc;cursor:not-allowed;transform:none;}
.form-msg{display:none;padding:14px 18px;border-radius:9px;font-size:.88rem;font-weight:500;margin-bottom:18px;}
.form-msg.success{background:#E8F8EE;color:var(--green);border:1px solid #B0DEC0;}
.form-msg.error{background:#FEE8E4;color:var(--red);border:1px solid #F0C0B8;}

/* ── CAPTCHA ── */
.captcha-box{background:var(--peach);border:1.5px solid var(--border2);border-radius:10px;padding:13px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;}
.captcha-check{display:flex;align-items:center;gap:10px;cursor:pointer;}
.cap-cb{width:22px;height:22px;border-radius:4px;border:2px solid var(--border2);background:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s;cursor:pointer;}
.cap-cb.checked{background:var(--green);border-color:var(--green);}
.cap-cb.checking{background:var(--orange);border-color:var(--orange);}
.cap-label{font-size:.88rem;font-weight:500;color:var(--text2);user-select:none;}
.cap-brand{font-size:.68rem;color:var(--text3);text-align:right;line-height:1.3;}
.cap-brand strong{display:block;font-size:.76rem;}
.cap-challenge{background:#fff;border:1.5px solid var(--border2);border-radius:8px;padding:12px;margin-top:10px;display:none;}
.cap-challenge.show{display:block;}
.cap-math{font-family:monospace;font-size:1.1rem;font-weight:700;color:var(--text);background:var(--s2);padding:6px 13px;border-radius:6px;display:inline-block;}
.cap-ans{width:70px;padding:7px;border:1.5px solid var(--border2);border-radius:6px;font-size:1rem;font-weight:700;text-align:center;font-family:monospace;background:#fff;color:var(--text);outline:none;margin-left:10px;}
.cap-ans:focus{border-color:var(--orange);}
.cap-status{font-size:.76rem;margin-top:5px;font-weight:600;}
.cap-ok{color:var(--green);} .cap-fail{color:var(--red);}

/* ── RESPONSIVE ── */
@media(max-width:1024px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:768px){
  .nav-toggle{display:block;}
  .nav-links{display:none;flex-direction:column;align-items:flex-start;position:absolute;top:66px;left:0;right:0;background:rgba(255,250,245,.98);border-bottom:1px solid var(--border);padding:12px 5% 20px;gap:2px;z-index:100;}
  .nav-links.open{display:flex;}
  .nav-links a{padding:10px 14px;width:100%;}
  .nav-links .btn-nav{width:auto;margin-left:0;margin-top:6px;}
  .dest-hero h1{font-size:2rem;}
  .hub-hero h1{font-size:2.2rem;}
  .form-grid{grid-template-columns:1fr;}
  .submit-cta,.gp-callout{flex-direction:column;align-items:flex-start;}
  .footer-grid{grid-template-columns:1fr 1fr;gap:28px;}
  .footer-cta-bar{flex-direction:column;}
}
@media(max-width:480px){
  .dest-hero h1{font-size:1.75rem;}
  .footer-grid{grid-template-columns:1fr;}
  .cat-tabs-inner .ctab{padding:12px 10px;font-size:.79rem;}
  .lc-grid{grid-template-columns:1fr;}
  .dest-pill-grid{grid-template-columns:1fr 1fr;}
}
