/* Park page template — shared by every /parks/<slug>/ page. */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,600;9..144,700&family=Archivo:wght@400;500;600;700&display=swap');

:root{
  --pine:#233425; --pine-dark:#192419; --pine-deep:#101a10; --sage:#5e7c60;
  --path:#c8b493; --path-dark:#a6926d; --sky:#4a7ba7; --paper:#f2efea; --card:#fffdf9;
  --ink:#1e1e1e; --ink-soft:#5a6154; --tag:#a8562f; --line:#e3ddc9;
  --radius:12px;
  --shadow:0 1px 2px rgba(24,35,24,.06), 0 6px 20px rgba(24,35,24,.07);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0; background:var(--paper); color:var(--ink); font-family:'Archivo',sans-serif; line-height:1.6; -webkit-font-smoothing:antialiased;}
h1,h2,h3{font-family:'Fraunces',serif; margin:0; letter-spacing:-.01em;}
img{max-width:100%;}

/* ---------- top nav ---------- */
.topnav{background:var(--pine); position:relative; z-index:40;}
.topnav-inner{max-width:1080px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:14px; padding:10px 20px;}
.topnav-logo{display:flex; align-items:center; flex-shrink:0;}
.topnav-logo img{height:38px; width:auto; display:block;}
@media (min-width:900px){ .topnav-inner{padding:14px 20px;} .topnav-logo img{height:48px;} }
.nav-toggle{display:none; background:none; border:none; cursor:pointer; padding:8px; margin:-8px;}
.nav-toggle svg{width:26px; height:26px; display:block;}
.topnav-links{display:flex; align-items:center; gap:22px;}
.topnav-link{color:#dfe6da; font-size:12.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; text-decoration:none; padding:6px 0; border-bottom:2px solid transparent;}
.topnav-link:hover{color:#fff; border-bottom-color:var(--path);}
@media (max-width:680px){
  .nav-toggle{display:block;}
  .topnav-links{display:none; position:absolute; top:100%; left:0; right:0; background:var(--pine); flex-direction:column; align-items:stretch; padding:6px 20px 18px; gap:4px; border-bottom:3px solid var(--pine-dark);}
  .topnav-links.open{display:flex;}
  .topnav-link{padding:10px 0; font-size:13px;}
}

/* ---------- photo hero ---------- */
.park-hero{
  position:relative; isolation:isolate; color:var(--paper);
  min-height:340px; display:flex; align-items:flex-end;
  background:var(--pine-dark) var(--hero) center 55% / cover no-repeat;
}
@media (min-width:760px){ .park-hero{min-height:440px;} }
.park-hero::after{
  content:""; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(180deg, rgba(16,26,16,.35) 0%, rgba(16,26,16,.10) 30%, rgba(16,26,16,.55) 65%, rgba(16,26,16,.88) 100%);
}
.park-hero-inner{width:100%; max-width:1080px; margin:0 auto; padding:18px 20px 30px; min-height:inherit; display:flex; flex-direction:column; justify-content:space-between; gap:40px;}
.crumbs{font-size:12.5px; color:#eef2ea; align-self:flex-start; background:rgba(16,26,16,.45); padding:5px 11px; border-radius:999px; backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px);}
.crumbs a{color:#fff; text-decoration:none; font-weight:600;}
.crumbs a:hover{text-decoration:underline;}
.eyebrow{font-size:12px; letter-spacing:.16em; text-transform:uppercase; font-weight:700; color:var(--path); margin:0 0 8px;}
.park-hero h1{font-size:clamp(32px, 5vw, 54px); font-weight:600; line-height:1.05; max-width:760px; text-wrap:balance;}
.hero-actions{display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; align-items:center;}
.btn{
  display:inline-flex; align-items:center; gap:8px; border-radius:999px; text-decoration:none; cursor:pointer;
  font:700 13.5px 'Archivo',sans-serif; letter-spacing:.01em; padding:11px 18px; border:0;
}
.btn svg{width:16px; height:16px; flex-shrink:0;}
.btn-primary{background:var(--path); color:var(--pine-dark);}
.btn-primary:hover{background:#d6c4a6;}
.btn-ghost{background:rgba(242,239,234,.14); color:var(--paper); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);}
.btn-ghost:hover{background:rgba(242,239,234,.26);}
.verified{
  display:inline-flex; align-items:center; gap:7px; font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  color:var(--paper); background:rgba(16,26,16,.55); padding:7px 12px; border-radius:999px; backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px);
}
.verified b{color:var(--path); font-weight:700;}

/* ---------- layout ---------- */
.park-layout{
  max-width:1080px; margin:0 auto; padding:24px 20px 56px;
  display:grid; gap:24px; grid-template-columns:minmax(0,1fr);
  grid-template-areas:"glance" "main" "vets" "nearby";
}
.glance{grid-area:glance;} .park-main{grid-area:main; min-width:0;} .park-vets{grid-area:vets;} .park-nearby{grid-area:nearby;}
@media (min-width:900px){
  .park-layout{
    grid-template-columns:minmax(0,1fr) 330px; column-gap:40px; padding-top:36px;
    grid-template-areas:"main glance" "main vets" "main nearby" "main .";
    grid-template-rows:auto auto auto 1fr;
  }
}

.panel{background:var(--card); border-radius:var(--radius); box-shadow:var(--shadow); padding:20px;}
.panel h2{font-size:19px; margin-bottom:12px;}

.facts{list-style:none; margin:0 0 16px; padding:0;}
.facts li{display:flex; gap:10px; align-items:flex-start; font-size:14.5px; padding:8px 0; border-top:1px solid #efe9da;}
.facts li:first-child{border-top:0; padding-top:0;}
.facts .ic{width:20px; height:20px; border-radius:50%; flex-shrink:0; display:flex; align-items:center; justify-content:center; margin-top:1px;}
.facts .yes .ic{background:#e3ead9; color:#2f5a33;}
.facts .no .ic{background:#f5e6dc; color:var(--tag);}
.facts .ic svg{width:12px; height:12px;}
.glance .btn{width:100%; justify-content:center; background:var(--pine); color:var(--paper);}
.glance .btn:hover{background:var(--pine-dark);}

/* ---------- main column sections ---------- */
.park-main section{margin:0 0 34px;}
.park-main section h2{font-size:24px; font-weight:600; margin-bottom:12px; color:var(--pine-dark);}
.park-main section p{font-size:16px; margin:0 0 12px; max-width:68ch;}

.gallery{display:grid; grid-template-columns:1fr 1fr; gap:10px;}
.gallery img{width:100%; aspect-ratio:3/4; object-fit:cover; border-radius:10px; display:block; background:#e7e2d4; transition:filter .15s;}
.gallery img:hover{filter:brightness(1.05);}
.gallery img.pano{grid-column:1 / -1; aspect-ratio:21/9;}
.gallery img.full{grid-column:1 / -1; aspect-ratio:auto; object-fit:contain; background:#fff;}
.photos-pending{grid-column:1/-1; border:1px dashed #b9b096; border-radius:10px; background:#efe9d8; padding:20px 16px; text-align:center; font-size:13px; color:#6f6850; font-weight:600;}

#map{height:320px; border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); z-index:0;}
.map-links{margin-top:10px; font-size:14px;}
.map-links a{color:var(--sky); font-weight:700; text-decoration:none;}

.ad-slot{margin:0 0 34px; border:1px dashed #b9b096; border-radius:var(--radius); background:#efe9d8; padding:12px 14px;}
.ad-slot .ad-label{font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:#8a8262; font-weight:700; margin-bottom:6px;}
.ad-slot .ad-box{height:100px; background:repeating-linear-gradient(45deg,#e3dcc4,#e3dcc4 10px,#d9d1b5 10px,#d9d1b5 20px); display:flex; align-items:center; justify-content:center; color:#6f6850; font-size:12px; font-weight:600; border-radius:2px;}

/* ---------- vets ---------- */
.vet-card{display:flex; flex-direction:column; gap:14px;}
.vet-item{border-left:3px solid var(--tag); padding-left:14px;}
.vet-label{display:block; font-size:10.5px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--tag); margin-bottom:3px;}
.vet-item strong{display:block; font-size:16px; color:var(--pine-dark); font-family:'Fraunces',serif; font-weight:600; line-height:1.3;}
.vet-address{display:block; font-size:13px; color:var(--ink-soft); margin-top:2px;}
.vet-phone{display:inline-block; font-size:14px; color:var(--sky); text-decoration:none; font-weight:700; margin-top:6px;}
.vet-distance{display:block; font-size:12px; color:#8a8262; margin-top:3px;}
.vet-disclaimer{font-size:12px; color:#6b7161; font-style:italic; margin:14px 0 0; line-height:1.5;}

/* ---------- nearby ---------- */
.nearby-item{display:flex; gap:12px; align-items:center; padding:10px 0; border-top:1px solid #efe9da; color:var(--pine-dark); text-decoration:none; font-weight:700; font-size:14.5px; line-height:1.3;}
.nearby-item:first-of-type{border-top:0; padding-top:0;}
.nearby-item img{width:64px; height:48px; object-fit:cover; border-radius:8px; flex-shrink:0; background:#e7e2d4;}
.nearby-item span{display:block; font-weight:400; font-size:12.5px; color:var(--ink-soft); margin-top:3px;}
.nearby-item:hover{color:var(--tag);}

/* ---------- 404 ---------- */
.nf{max-width:640px; margin:0 auto; padding:72px 20px 96px; text-align:left;}
.nf h1{font-size:clamp(34px,6vw,52px); font-weight:600; line-height:1.05; color:var(--pine-dark); margin-bottom:14px;}
.nf p{font-size:17px; color:var(--ink-soft); margin:0 0 24px;}
.nf .btn-primary{background:var(--pine); color:var(--paper);}
