.place-hero-content{display:flex;gap:40px;align-items:flex-end;}
.place-hero-copy{flex:1;min-width:0;}
.place-hero-meta{display:flex;flex-wrap:wrap;gap:12px;}
.place-hero-meta{margin-bottom:28px;}
.place-hero-meta > span{padding:8px 14px;border-radius:999px;background:rgba(15, 42, 36, 0.35);border:1px solid rgba(255, 255, 255, 0.3);backdrop-filter:blur(10px);font-size:14px;}
.place-button-line{background:transparent;border:1px solid var(--line);color:var(--ink);font-size:14px;}
.place-button-line:hover{background:var(--soft);}
.place-button-full{width:100%;padding:12px 14px;}
.place-live{flex:0 0 260px;padding:18px 20px;margin-bottom:32px;border-radius:20px;background:rgba(255, 255, 255, 0.16);border:1px solid rgba(255, 255, 255, 0.3);backdrop-filter:blur(16px);}
.place-live small{color:rgba(255, 255, 255, 0.8);}
.place-live p{font-size:15px;margin:8px 0 12px;}
.place-live a{font-size:14px;color:var(--sand);font-weight:600;}
.place-strip-inner{grid-template-columns:repeat(5, minmax(0, 1fr));}
.place-permit-free{color:#7fd493;}
.place-permit-paid{color:#d8c070;}
.place-permit-closed,
.place-permit-dead{color:#f0a283;}
.place-section-head h2{margin-bottom:8px;}
.place-section-head .section-link{font-size:14px;}
.place-section-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:12px 18px;}
.place-section-actions .place-button{min-height:44px;padding:10px 20px;font-size:14px;white-space:nowrap;}
.place-fish-grid{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:16px;}
.place-fish-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px;}
.place-fish-links span{padding:8px 15px;background:var(--surface);border:1px solid var(--line);border-radius:999px;font-size:14px;}
.place-reports-grid{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:20px;}
.place-side-padding h3{letter-spacing:-0.02em;}
.place-address{font-size:15px;margin:0 0 10px;}
.place-coordinates{font-size:13px;color:var(--muted);margin:0 0 18px;}
.place-meta-list{margin:0;}
.place-weather-panel{background:linear-gradient(150deg, var(--forest), var(--teal));color:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;}
.place-weather-summary{padding:22px 24px;}
.place-weather-summary p{margin:0 0 12px;}
.place-weather-panel p,
.place-weather-panel #sunrize-text{color:rgba(255, 255, 255, 0.85);font-size:14px;line-height:1.6;}
.place-weather-chart{position:relative;min-width:0;padding:12px;background:var(--surface);border-top:1px solid var(--line);}
.place-weather-chart canvas{width:100%!important;max-width:100%;}
.place-counters{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));text-align:center;}
.place-counters > div{padding:16px 8px;border-right:1px solid var(--line);overflow-wrap:anywhere;}
.place-counters > div:last-child{border-right:0;}
.place-counters b{display:block;font-size:22px;line-height:1.3;}
.place-counters small{font-size:12px;color:var(--muted);}
.place-author{display:flex;align-items:center;gap:14px;border-top:1px solid var(--line);}
.place-author-avatar{width:40px;height:40px;display:grid;place-items:center;flex:none;border-radius:50%;overflow:hidden;background:linear-gradient(135deg, var(--moss), var(--teal));color:#fff;font-weight:700;}
.place-author-avatar img{width:100%;height:100%;object-fit:cover;}
.place-author small{display:block;color:var(--muted);font-size:13px;}
.place-rating-box{display:grid;grid-template-columns:180px minmax(0, 1fr);gap:28px;padding:24px 26px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:16px;align-items:center;}
.place-rating-number{font-size:54px;font-weight:800;line-height:1;letter-spacing:-0.04em;}
.place-rating-box .detail-section-intro{margin:8px 0 0;font-size:14px;color:var(--muted);}
.place-star-rating{border:0;margin:0;padding:0;min-width:0;}
.place-star-rating legend{padding:0;font-size:14px;color:var(--muted);margin-bottom:8px;}
.place-star-rating > div{display:flex;gap:6px;}
.place-star-rating label{position:relative;display:inline-flex;cursor:pointer;font-size:30px;line-height:1;}
.place-star-rating input{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;}
.place-star-rating input:focus-visible + .place-star{outline:3px solid var(--water);outline-offset:3px;border-radius:4px;}
.place-star{color:var(--line);}
.place-star-rating label[data-selected] .place-star{color:var(--sand);}
.place-star-rating label:hover .place-star{color:var(--sand);}
.place-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
.place-rating-status{font-size:13px;color:var(--muted);margin:10px 0 0;min-height:1.55em;}
.place-review-score{margin-left:auto;font-size:14px;color:var(--sand);white-space:nowrap;}
.place-detail-page .detail-comment header{flex-wrap:wrap;}
.place-detail-page .detail-comment header > div{flex:1;min-width:0;overflow-wrap:anywhere;}
@media (max-width: 1100px){
.place-columns{grid-template-columns:1fr;}
.place-sidebar{position:static;grid-template-columns:repeat(2, minmax(0, 1fr));}
.place-sidebar #place-location{grid-column:1/-1;}
.place-live{display:none;}
.place-nearby-grid{grid-template-columns:repeat(2, minmax(0, 1fr));}
.place-strip-inner{grid-template-columns:repeat(3, minmax(0, 1fr));}
.place-strip-inner > div:nth-child(3){border-right:0;}
.place-strip-inner > div:nth-child(-n + 3){border-bottom:1px solid var(--line);}
}
@media (max-width: 720px){
.place-detail-page .place-detail-hero{min-height:560px;}
.place-hero-content{padding-top:120px;padding-bottom:96px;}
.place-strip-inner{grid-template-columns:repeat(2, minmax(0, 1fr));}
.place-strip-inner > div{padding:16px 18px;border-right:0;border-bottom:1px solid var(--line);}
.place-strip-inner > div:last-child{grid-column:1/-1;border-bottom:0;}
.place-strip b{font-size:20px;}
.place-columns{margin-top:48px;gap:32px;}
.place-fish-grid{grid-template-columns:repeat(2, minmax(0, 1fr));}
.place-section-head{align-items:flex-start;flex-direction:column;gap:12px;}
.place-section-actions{justify-content:flex-start;}
.place-nearby-grid,
  .place-reports-grid,
  .place-sidebar{grid-template-columns:1fr;}
.place-prose{font-size:16px;}
.place-rating-box{grid-template-columns:1fr;gap:20px;padding:20px;}
.place-related{margin-top:64px;}
}
@media (max-width: 420px){
.place-fish-grid{grid-template-columns:1fr;}
}
