.beach-facilities{border:0;border-top:1px solid var(--color-line);margin:25px 10px 0;padding-top:14px}.beach-location-note{margin:18px 10px}.beach-results-top{justify-content:space-between;align-items:center;gap:20px;padding:7px 0 22px;scroll-margin-top:120px;display:flex}.beach-view-switch{border:1px solid var(--color-line);background:var(--color-card);border-radius:30px;flex-shrink:0;padding:4px;display:flex}.beach-active-filters{justify-content:space-between;align-items:center;gap:15px;padding-bottom:18px;display:flex}.beach-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.beach-card{border:1px solid var(--color-line);background:var(--color-card);border-radius:16px;flex-direction:column;min-width:0;transition:border-color .15s;display:flex;overflow:hidden}.beach-card-body{flex-direction:column;flex:1;padding:clamp(20px,2vw,28px);display:flex}.beach-card-figure{margin:0}.beach-card-image{aspect-ratio:16/10;background:var(--color-brand-soft);display:block;overflow:hidden}.beach-card-no-photo{aspect-ratio:16/10;background:var(--color-brand-soft);color:var(--color-brand);flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.beach-card:hover{border-color:var(--color-brand)}.beach-card-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.beach-card-town{color:var(--color-ink-2);margin:10px 0 22px;font-size:.76rem;line-height:1.5}.beach-water-quality{background:var(--color-canvas);border-radius:9px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 15px;display:flex}.beach-water-quality.is-good{background:var(--color-brand-soft)}.beach-water-quality.is-poor{color:#8f2922;background:#fae8e1}.beach-card-tags{flex-wrap:wrap;gap:6px;padding:16px 0 20px;list-style:none;display:flex}.beach-card-link{border-top:1px solid var(--color-line-2);justify-content:space-between;align-items:center;gap:12px;min-height:44px;margin-top:auto;padding-top:17px;font-size:.78rem;font-weight:600;display:flex}.beach-card-link:hover{text-underline-offset:4px;text-decoration:underline}.beach-restriction{color:var(--color-bad);margin-bottom:16px;font-size:.74rem;line-height:1.6}.beach-more{justify-content:space-between;align-items:center;gap:20px;margin-top:25px;padding-top:20px;display:flex}.beach-distance-note{margin-bottom:18px}.beach-empty{border:1px solid var(--color-line);background:var(--color-card);border-radius:14px;padding:40px 30px}.beach-error{background:#fcf1e7;border:1px solid #dcbaa3;border-radius:10px;margin-top:15px;padding:15px 20px;font-size:.85rem}@media (max-width:1023px){.beach-facilities{flex-wrap:wrap;gap:0 20px;margin:16px 0 0;display:flex}.beach-location-note{margin:8px 0}}@media (max-width:639px){.beach-results-top{flex-wrap:wrap;gap:16px}.beach-view-switch{width:100%}.beach-card-grid{grid-template-columns:1fr;gap:14px}.beach-more{flex-wrap:wrap}}
.beach-hero-actions{flex-wrap:wrap;align-items:center;gap:20px 26px;margin-top:30px;display:flex}.beach-scene-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.beach-county-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.beach-wider{background:var(--color-brand-soft);border-radius:16px;justify-content:space-between;align-items:center;gap:30px;margin-top:50px;padding:32px;display:flex}.beach-all-links{border-top:1px solid var(--color-line);border-bottom:1px solid var(--color-line);margin-top:36px}.beach-source-note{color:var(--color-ink-2);max-width:100ch;margin-top:24px;font-size:.72rem;line-height:1.8}@media (max-width:1023px){.beach-county-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.beach-wider{flex-direction:column;align-items:start}}@media (max-width:639px){.beach-hero-actions{gap:12px 20px}.beach-scene-grid{grid-template-columns:1fr;gap:28px}.beach-county-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.beach-wider{padding:25px}}
