.zbd-directory{--paper:#f8f1e5;--ink:#3d2b24;--soft:#685347;--line:#e1d0bb;--lime:#f2d1a4;--white:#fff}.zbd-directory *{box-sizing:border-box}.zbd-directory{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 system-ui,sans-serif}.zbd-directory button, .zbd-directory input, .zbd-directory select{font:inherit}.zbd-directory button{cursor:pointer}.zbd-directory a{color:inherit}.zbd-directory a:focus-visible, .zbd-directory button:focus-visible, .zbd-directory input:focus-visible, .zbd-directory select:focus-visible{outline:3px solid #a64f36;outline-offset:3px}.zbd-directory main{width:min(1160px,calc(100% - 40px));margin:24px auto 48px}.zbd-directory .hero{position:relative;isolation:isolate;overflow:hidden;border-radius:28px;min-height:430px;padding:clamp(28px,6vw,70px);background:#4d3429;color:white;display:flex;align-items:center}.zbd-directory .hero img, .zbd-directory .hero:after{position:absolute;inset:0;width:100%;height:100%;z-index:-2}.zbd-directory .hero img{object-fit:cover;object-position:center 54%}.zbd-directory .hero:after{content:"";z-index:-1;background:linear-gradient(90deg,#342118f5 8%,#342118d9 38%,#34211812 100%)}.zbd-directory .brand, .zbd-directory .eyebrow{font-weight:750;font-size:.76rem;letter-spacing:.14em;text-transform:uppercase}.zbd-directory .brand{color:var(--lime)}.zbd-directory h1, .zbd-directory h2, .zbd-directory h3{font-family:Georgia,serif;font-weight:500;line-height:1.04}.zbd-directory h1{font-size:clamp(3rem,7vw,6rem);letter-spacing:-.06em;max-width:740px;margin:13px 0 16px}.zbd-directory .hero p{max-width:480px;margin:0;color:#fff1dd;font-size:1.1rem}.zbd-directory .hero a{display:inline-block;margin-top:22px}.zbd-directory .photo{margin:6px 4px 0;text-align:right;color:var(--soft);font-size:.75rem}.zbd-directory section{margin-top:34px}.zbd-directory h2{font-size:clamp(2rem,4vw,3.1rem);margin:4px 0 14px;letter-spacing:-.035em}.zbd-directory .eyebrow{color:var(--soft);margin:0}.zbd-directory .cats, .zbd-directory .cards{display:grid;gap:12px}.zbd-directory .cats{grid-template-columns:repeat(4,1fr)}.zbd-directory .category, .zbd-directory .card{border:1px solid var(--line);border-radius:18px;background:var(--white);padding:18px;text-align:left;color:var(--ink)}.zbd-directory .category{min-height:108px;display:grid;gap:2px}.zbd-directory .category:hover, .zbd-directory .category[aria-pressed=true]{background:#f5e4ce;border-color:#b57b5e}.zbd-directory .category strong{font-family:Georgia,serif;font-size:1.3rem}.zbd-directory .category small, .zbd-directory .muted{color:var(--soft)}.zbd-directory .symbol{font-size:1.25rem;line-height:1}.zbd-directory .directory{scroll-margin-top:14px}.zbd-directory .filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.zbd-directory .filters label:first-child{grid-column:span 2}.zbd-directory .filters label{display:grid;gap:4px;font-weight:650}.zbd-directory .filters input, .zbd-directory .filters select{width:100%;background:#fff;border:1px solid #b59982;border-radius:12px;padding:11px;color:var(--ink)}.zbd-directory .results-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:13px 0}.zbd-directory .text-btn{border:0;background:none;text-decoration:underline;color:var(--ink);padding:5px}.zbd-directory .cards{grid-template-columns:repeat(3,1fr)}.zbd-directory .card{display:flex;flex-direction:column;min-width:0;gap:9px}.zbd-directory .card h3{font-size:1.44rem;margin:0;overflow-wrap:anywhere}.zbd-directory .card p{margin:0}.zbd-directory .tag{align-self:flex-start;background:#f4e4d2;padding:3px 9px;border-radius:20px;font-size:.78rem;font-weight:650}.zbd-directory .btn{display:inline-block;align-self:flex-start;text-decoration:none;border:1px solid transparent;border-radius:10px;padding:8px 13px;background:#85432f;color:white;font-weight:650}.zbd-directory .btn:hover{background:#774733}.zbd-directory .hero .btn{background:var(--lime);color:var(--ink)}.zbd-directory .pager{display:flex;gap:10px;justify-content:center;align-items:center;margin-top:16px}.zbd-directory .pager button:disabled{opacity:.4;cursor:default}.zbd-directory .source{font-size:.8rem;color:var(--soft);margin:18px 0 0}.zbd-directory .featured .card{background:#f4e6d2}.zbd-directory .featured .cards{grid-template-columns:repeat(2,1fr)}.zbd-directory dialog{color:var(--ink);border:1px solid var(--line);border-radius:20px;padding:24px;width:min(690px,calc(100% - 28px));max-height:88vh}.zbd-directory dialog::backdrop{background:#322118b8}.zbd-directory .modal-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.zbd-directory .modal-top button{white-space:nowrap}.zbd-directory dialog ul{padding-left:22px}.zbd-directory dialog iframe{border:1px solid var(--line);border-radius:12px;width:100%;height:250px}.zbd-directory dialog h2{font-size:2rem}.zbd-directory #zbd-detail-map{height:290px;border-radius:12px;background:#f4e4d2}
@media(max-width:800px){.zbd-directory .cats, .zbd-directory .cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.zbd-directory .filters{grid-template-columns:repeat(2,minmax(0,1fr))}.zbd-directory .filters label:first-child{grid-column:1/-1}} @media(max-width:520px){.zbd-directory main{width:calc(100% - 24px);margin-top:12px}.zbd-directory .hero{min-height:370px}.zbd-directory .cards, .zbd-directory .featured .cards, .zbd-directory .filters{grid-template-columns:1fr}.zbd-directory .category{padding:12px}.zbd-directory .category strong{font-size:1.1rem}.zbd-directory .photo{text-align:left}}

.zbd-directory { padding: 1px clamp(12px, 3vw, 28px) 22px; border-radius: 18px; }
.zbd-directory .filters label { min-width: 0; }
.zbd-directory .filters select { min-width: 0; }
.zbd-directory [hidden] { display: none !important; }
.zbd-directory .card h3 { color: var(--ink); }

.zbd-directory a.category { text-decoration: none; }

.zbd-directory .category-card { min-width: 0; }
.zbd-directory .category { width: 100%; }
.zbd-directory .card-photo { display: block; width: 100%; aspect-ratio: 16/10; object-fit: cover; border-radius: 10px; background: #f2e1cb; }
.zbd-directory .category .card-photo { margin-bottom: 6px; }
.zbd-directory .place-photo { width: 100%; margin: 0 0 8px; }
.zbd-directory .photo-credit { display: block; font-size: .72rem; line-height: 1.4; margin: 5px 1px 0; color: var(--soft); overflow-wrap: anywhere; }
.zbd-directory #zbd-detail-photo .card-photo { aspect-ratio: 16/7; }

.zbd-directory #zbd-points li { margin-block: 8px; }
.zbd-directory .directions { margin-inline-start: 6px; }

.zbd-directory .place-page { max-width: 850px; margin: 24px auto; padding: clamp(14px, 4vw, 30px); background: var(--white); border: 1px solid var(--line); border-radius: 18px; }
.zbd-directory .place-page h1 { font: 500 clamp(2rem, 6vw, 3.6rem)/1.08 Georgia, serif; margin: 12px 0; color: var(--ink); }
.zbd-directory .place-page h2 { font-size: 1.65rem; margin-top: 22px; }
.zbd-directory .place-page #zbd-detail-map { height: clamp(260px, 48vw, 440px); }

.zbd-directory .category-intro { max-width: 72ch; margin: 0 0 20px; color: var(--soft); }
.zbd-directory #zbd-detail-description { max-width: 72ch; }

.zbd-directory {
  --zbd-content-width: min(1120px, calc(100vw - 32px));
  width: var(--zbd-content-width);
  max-width: none;
  margin-inline: calc((100% - var(--zbd-content-width)) / 2);
  padding: 1px 0 22px;
  box-sizing: border-box;
}

.zbd-directory[data-place=""] {
  position: relative;
  isolation: isolate;
  background: transparent;
  border-radius: 0;
  padding: clamp(22px, 4vw, 44px) clamp(16px, 3vw, 28px);
}
.zbd-directory[data-place=""]::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: var(--paper);
  box-shadow: 0 0 0 100vmax var(--paper);
  clip-path: inset(0 -100vmax);
  pointer-events: none;
}
.zbd-directory[data-place=""] > section:first-of-type { margin-top: 0; }

.zbd-directory .cards {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.zbd-directory .cats {
  grid-template-columns: repeat(4, minmax(0, calc((100% - 48px) / 5)));
  justify-content: center;
}
.zbd-directory .category, .zbd-directory .cards .card { padding: 14px; }
.zbd-directory .cards .card .btn { margin-top: auto; }
@media (max-width: 1040px) {
  .zbd-directory .cards, .zbd-directory .cats { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 800px) {
  .zbd-directory .cards, .zbd-directory .cats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px) {
  .zbd-directory .cards { grid-template-columns: 1fr; }
}

.zbd-directory .zbd-guide-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.zbd-directory .zbd-guide-grid .btn { margin-top: auto; }
@media (max-width: 700px) {
  .zbd-directory .zbd-guide-grid { grid-template-columns: 1fr; }
}

.zbd-directory .zbd-place-links { border-top: 1px solid var(--line); margin-top: 24px; }
.zbd-directory .zbd-place-links li + li { margin-top: 6px; }
.zbd-directory .zbd-place-links a { text-decoration: underline; text-underline-offset: 3px; }

.zbd-directory .zbd-map-filters { display:flex; gap:8px; flex-wrap:wrap; border:0; padding:0; margin:0; }
.zbd-directory .zbd-map-filters legend { font-weight:700; padding:0 0 6px; }
.zbd-directory .zbd-map-filters label { display:flex; align-items:center; gap:6px; padding:6px 10px; border:1px solid var(--line); border-radius:10px; background:#fff; cursor:pointer; font-size:.86rem; }
.zbd-directory .zbd-map-filters input { width:auto; margin:0; }
.zbd-directory .zbd-map-dot { flex:none; width:10px; height:10px; border-radius:50%; }
.zbd-directory [data-water="rio"] { background:#336549; }
.zbd-directory [data-water="lago_o_embalse"] { background:#57498d; }
.zbd-directory [data-water="costera"] { background:#276c8b; }
.zbd-directory [data-water="transicion"] { background:#a24b32; }
.zbd-directory .zbd-map-tools { display:flex; flex-wrap:wrap; gap:8px 16px; align-items:center; margin:8px 0; }
.zbd-directory .zbd-map-tools p { margin:0; font-size:.88rem; }
.zbd-directory #zbd-overview-map { height:clamp(340px,52vw,520px); border:1px solid var(--line); border-radius:14px; background:#e9e2d3; isolation:isolate; }
.zbd-directory .zbd-map-cluster span, .zbd-directory .zbd-map-point span { display:grid; place-items:center; width:100%; height:100%; border:2px solid #fff; border-radius:50%; box-sizing:border-box; box-shadow:0 1px 4px #3d2b2470; }
.zbd-directory .zbd-map-cluster span { background:#85432f; color:#fff; font:700 .78rem/1 system-ui,sans-serif; }
.zbd-directory .zbd-map-popup p { margin:6px 0; }

.zbd-directory .zbd-place-profile { margin-top: 24px; padding-top: 4px; border-top: 1px solid var(--line); }
.zbd-directory .zbd-place-profile p { max-width: 72ch; }

.zbd-directory [data-water="natural"] { background:#ad7332; }

.zbd-directory .zbd-natural-links { display:flex; flex-wrap:wrap; gap:8px; }

.zbd-directory [data-water="cascada"] { background:#ad7332; }
.zbd-directory [data-water="poza"] { background:#406e72; }
.zbd-directory [data-water="paraje"] { background:#777444; }
.zbd-directory .cats { grid-template-columns:repeat(6,minmax(0,1fr)); }
@media(max-width:1040px){.zbd-directory .cats{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:620px){.zbd-directory .cats{grid-template-columns:repeat(2,minmax(0,1fr));}}

.zbd-directory .zbd-bath-note { border-left:3px solid #a86c47; background:#fff8ed; border-radius:6px; padding:10px 12px; margin:12px 0; color:var(--ink); font-size:.88rem; scroll-margin-top:24px; }
.zbd-directory .zbd-type-field { display:grid; gap:4px; min-width:0; }
.zbd-directory .zbd-type-heading { position:relative; display:flex; align-items:center; gap:8px; }
.zbd-directory .zbd-type-heading button { display:grid; place-items:center; width:24px; height:24px; padding:0; border:1px solid #a86c47; border-radius:50%; background:#fff8ed; color:var(--ink); font-weight:700; line-height:1; }
.zbd-directory .zbd-type-help { position:absolute; z-index:5; inset:100% 0 auto; padding:12px; border:1px solid #b59982; border-radius:10px; background:#fff8ed; color:var(--ink); box-shadow:0 5px 16px #3d2b2426; font-size:.88rem; }
.zbd-directory .zbd-type-help p { margin:0; }
.zbd-directory .zbd-type-help p + p { margin-top:8px; }
