/* Discovery pages: a field guide in the colours of the finca's garden. */
.region-page { --canyon:#45684c; --waterfall:#386780; --heritage:#8b3652; }
.region-page [hidden] { display:none!important; }
.region-intro { display:grid; grid-template-columns:1fr 1.05fr; gap:48px; align-items:center; padding-top:45px; padding-bottom:45px; }
.region-intro-copy { position:relative; padding:25px 0; }
.region-intro .eyebrow { color:var(--coffee); margin-bottom:22px; }
.region-intro h1 { font-size:clamp(2.6rem,4.4vw,4.2rem); max-width:650px; }
.region-intro-copy>p:not(.eyebrow) { margin:24px 0; color:var(--muted); max-width:480px; }
.region-jumps { display:flex; flex-wrap:wrap; gap:12px 22px; font-size:.87rem; font-weight:500; color:var(--forest); }
.region-jumps a { padding:9px 0; border-bottom:1px solid #c39185; }
.region-cover { margin:0; position:relative; }
.region-cover>.region-photo { height:370px; width:100%; border-radius:110px 26px 75px 26px; object-fit:cover; }
.region-cover figcaption { font-size:.67rem; text-align:right; margin-top:10px; color:var(--muted); }
.region-cover figcaption a,.region-place-photo figcaption a,.region-sources a { text-decoration:underline; text-underline-offset:3px; }
.region-section { padding:42px 0 55px; scroll-margin-top:110px; }
.region-heading { margin-bottom:28px; }
.region-heading .eyebrow { color:var(--coffee); margin-bottom:12px; }
.region-heading h2 { max-width:800px; }
.region-heading>p:last-child:not(.eyebrow) { margin-top:17px; max-width:740px; color:var(--muted); }
.region-toolbar { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:18px; }
.region-filters { display:flex; flex-wrap:wrap; gap:8px; }
.region-filters button { padding:11px 17px; min-height:44px; border:1px solid #d3b697; border-radius:24px; background:#fff6e7; color:var(--ink); font-size:.85rem; }
.region-filters button:hover { background:#f4ddce; }
.region-filters button[aria-pressed=true] { background:var(--forest); color:#fff8ed; border-color:var(--forest); }
#region-count { font-size:.8rem; color:var(--muted); white-space:nowrap; }
.region-map-layout { display:grid; grid-template-columns:minmax(0,1fr) 300px; border:1px solid #d7bea0; border-radius:25px; overflow:hidden; background:#f5e3ce; }
.region-map-wrap { min-width:0; isolation:isolate; position:relative; z-index:0; background:#e7e2d3; }
.region-map { width:100%; height:490px; font-family:var(--body); background:#e7e2d3; }
.region-map noscript p { padding:30px; }
.region-map .leaflet-tile { max-width:none!important; max-height:none!important; object-fit:fill; }
.region-map .leaflet-control-attribution { font-size:11px; line-height:1.7; color:#333; background:#ffffffec; }
.region-map .leaflet-control-attribution a { color:#245877; }
.region-map .leaflet-control-zoom a { width:38px; height:38px; line-height:38px; color:#49382f; }
.region-map .leaflet-marker-icon:focus-visible { outline:3px solid #211b17; outline-offset:5px; }
.region-marker { background:transparent; border:0; }
.region-marker>span { display:grid; place-items:center; width:36px; height:36px; border:2px solid #fff8ed; border-radius:50% 50% 50% 5px; transform:rotate(-45deg); background:var(--heritage); color:white; box-shadow:0 2px 7px #30251c55; }
.region-marker b { transform:rotate(45deg); font:600 14px var(--body); }
.region-marker.panorama>span { background:var(--canyon); }
.region-marker.waterfall>span { background:var(--waterfall); }
.region-marker.is-selected>span { outline:3px solid #e6b64f; outline-offset:2px; }
.region-city>span { display:block; background:#fff6e9; color:#513d31; border:1px solid #937863; border-radius:15px; padding:4px 9px; white-space:nowrap; font-size:11px; box-shadow:0 2px 5px #38241420; }
.region-map-bar { display:flex; align-items:center; justify-content:space-between; padding:10px 15px; gap:12px; background:#fff5e7; min-height:48px; font-size:.72rem; color:var(--muted); }
.region-reset { background:transparent; color:var(--forest); border:0; text-decoration:underline; text-underline-offset:3px; padding:8px 0; font-size:.75rem; }
.region-map-detail { padding:25px; background:linear-gradient(155deg,#f8e9d3,#f2d9ce); display:flex; flex-direction:column; gap:30px; min-width:0; }
.region-map-detail label { display:block; font-size:.75rem; margin-bottom:8px; color:var(--muted); }
.region-map-detail select { background:#fff7e9; border:1px solid #c7a68d; border-radius:10px; padding:12px 8px; font-size:.82rem; }
.region-map-detail h3 { font-size:1.85rem; margin:12px 0 20px; }
.region-map-detail #region-selected-description { color:var(--muted); font-size:.93rem; }
.region-selected-links { display:flex; flex-direction:column; align-items:flex-start; gap:20px; margin-top:24px; }
.region-selected-links .btn { padding:13px 18px; font-size:.8rem; }
.region-map-foot { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; padding-top:15px; font-size:.78rem; color:var(--muted); }
.region-map-foot p { max-width:740px; }
.region-map-foot a { flex-shrink:0; }
.region-places { display:grid; grid-template-columns:1fr 1fr; gap:28px; align-items:stretch; }
.region-place { min-width:0; background:#fff6e8; border:1px solid #e0c9ac; border-radius:26px; overflow:hidden; display:flex; flex-direction:column; }
.region-place:nth-child(even) { background:#f9e7dc; }
.region-place-photo { margin:0; position:relative; }
.region-place-photo .region-photo { width:100%; height:310px; object-fit:cover; display:block; }
.region-place-photo .region-photo-chaquira { object-position:50% 35%; }
.region-place-photo .region-photo-bordones { object-position:20% 50%; }
.region-place-photo .region-photo-mortino { object-position:38% 50%; }
.region-place-photo .region-photo-el-cinco { object-position:50% 65%; }
.region-place-photo .region-photo-piedras { object-fit:contain; background:#e9dcc4; }
.region-flickr-photo { display:block; background:#e9dcc4; }
.region-place-photo .region-photo-tablon { object-fit:contain; }
.region-place-photo figcaption { position:absolute; bottom:0; right:0; padding:7px 12px; max-width:100%; font-size:.65rem; background:#fff6e8ee; color:#503d31; border-top-left-radius:12px; }
.region-place-copy { display:flex; flex-direction:column; flex:1; padding:28px; }
.region-kicker { display:flex; align-items:center; gap:10px; text-transform:uppercase; font-size:.67rem; letter-spacing:.09em; color:var(--muted); }
.region-number { display:inline-grid; place-items:center; min-width:31px; height:31px; border-radius:50%; background:var(--heritage); color:#fff8ed; font-size:.76rem; letter-spacing:0; }
.region-panorama { background:var(--canyon); }
.region-waterfall { background:var(--waterfall); }
.region-place h3 { font-size:2rem; margin:17px 0 15px; }
.region-place-copy>p:not(.region-kicker) { color:var(--muted); font-size:.95rem; margin-bottom:24px; }
.region-place-actions { display:flex; flex-wrap:wrap; gap:14px 22px; margin-top:auto; }
.region-place,.region-place-detail,.region-source-item { scroll-margin-top:125px; }
.region-place-detail { margin:0 0 22px; padding:0; border:0; border-top:1px solid #ddc2a7; border-bottom:1px solid #ddc2a7; }
.region-place-detail>summary { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:15px 0; min-height:48px; list-style:none; font-size:.88rem; font-weight:600; color:var(--forest); cursor:pointer; }
.region-place-detail>summary::-webkit-details-marker { display:none; }
.region-place-detail>summary:after { content:none; }
.region-detail-toggle { width:12px; height:12px; position:relative; flex-shrink:0; }
.region-detail-toggle:before,.region-detail-toggle:after { content:''; position:absolute; background:currentColor; }
.region-detail-toggle:before { width:12px; height:2px; top:5px; left:0; }
.region-detail-toggle:after { width:2px; height:12px; top:0; left:5px; }
.region-place-detail[open] .region-detail-toggle:after { display:none; }
.region-detail-body { padding:2px 0 20px; color:var(--muted); font-size:.93rem; line-height:1.75; }
.region-detail-body p { margin:0; font-size:inherit; }
.region-detail-body p+p { margin-top:16px; }
.region-detail-body .region-visit-note { padding:14px 16px; border-left:3px solid #b66a55; background:#f3dfcc; border-radius:0 12px 12px 0; font-size:.85rem; }
.region-visit-note strong { display:block; color:var(--ink); margin-bottom:5px; }
.region-page summary:focus-visible { outline:3px solid #8b3652; outline-offset:4px; border-radius:3px; }
.region-link { color:var(--forest); font-size:.82rem; font-weight:500; text-underline-offset:4px; }
.region-link:hover { text-decoration:underline; }
.region-direction { display:inline-block; align-self:flex-start; margin-top:16px; color:var(--muted); font-size:.75rem; text-decoration:underline; text-underline-offset:3px; }
.region-place-compact h3 { font-size:1.75rem; }
.region-adventures-section { padding:65px 0; margin-top:25px; background:linear-gradient(110deg,#ebc7c0,#f0d0b7); border-radius:65px 65px 0 0; scroll-margin-top:110px; }
.region-adventures { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.region-adventure { display:flex; flex-direction:column; align-items:flex-start; padding:24px; border:1px solid #d8b8a5; background:#fff0dd; border-radius:25px 25px 55px 25px; }
.region-adventure:nth-child(even) { background:#f9e1b3; }
.region-adventure-tag { display:grid; place-items:center; border-radius:50%; width:37px; height:37px; background:#8b3652; color:#fff2dc; font:italic 1rem var(--serif); margin-bottom:24px; }
.region-adventure h3 { font-size:1.7rem; margin-bottom:20px; }
.region-adventure p { font-size:.9rem; color:var(--muted); margin-bottom:25px; }
.region-provider { display:block; font-size:.72rem; color:var(--muted); margin-top:auto; margin-bottom:8px; }
.region-adventure .region-link { font-size:.78rem; }
.region-note { max-width:860px; color:var(--muted); font-size:.8rem; margin-top:26px; }
.region-sources { padding:35px 0 10px; }
.region-sources ul { padding-left:20px; display:grid; grid-template-columns:1fr 1fr; gap:8px 25px; font-size:.78rem; color:var(--muted); margin:20px 0; }
.region-sources a { font-size:inherit; }
.region-source-grid { display:grid; grid-template-columns:1fr 1fr; align-items:start; gap:0 28px; }
.region-source-item { padding:16px 0; min-width:0; }
.region-source-item>summary { cursor:pointer; color:var(--ink); font-size:1rem; min-height:30px; }
.region-source-item ul { display:block; padding-left:20px; margin:16px 0; }
.region-source-item li+li { margin-top:10px; }
.region-source-item>.region-link { display:inline-block; font-size:.78rem; padding:6px 0; }
.region-resource-contact { padding:22px 0; }
.region-nearby { padding-top:50px; }
.region-nearby h2 { margin-bottom:30px; }
.region-nearby .experience-grid { grid-template-columns:1fr 1fr; }
.region-nearby .experience-card { scroll-margin-top:115px; }
@media(max-width:1100px) {
 .region-intro { gap:30px; }
 .region-cover>.region-photo { height:390px; }
 .region-map-layout { grid-template-columns:minmax(0,1fr) 270px; }
 .region-map-detail { padding:21px; }
 .region-toolbar { align-items:flex-start; flex-direction:column; gap:10px; }
 .region-adventures { grid-template-columns:1fr 1fr; }
}
@media(max-width:760px) {
 .region-intro { grid-template-columns:1fr; gap:20px; padding-top:12px; padding-bottom:20px; }
 .region-intro-copy { padding-bottom:5px; }
 .region-intro h1 { max-width:650px; }
 .region-cover>.region-photo { height:300px; border-radius:70px 24px 55px 24px; }
 .region-section { padding-top:35px; padding-bottom:30px; }
 .region-map-layout { grid-template-columns:1fr; }
 .region-map { height:390px; }
 .region-map-detail { display:grid; grid-template-columns:1fr 1.3fr; gap:25px; padding:24px; }
 .region-map-detail h3 { font-size:1.7rem; margin-bottom:12px; }
 .region-selected-links { gap:14px; margin-top:18px; }
 .region-map-foot { display:block; }
 .region-map-foot>a { display:inline-block; margin-top:12px; }
 .region-places { gap:18px; }
 .region-place-copy { padding:22px; }
 .region-place h3 { font-size:1.7rem; }
 .region-place-photo .region-photo { height:235px; }
 .region-place-photo figcaption { font-size:.59rem; }
 .region-kicker { font-size:.59rem; letter-spacing:.05em; }
 .region-adventures-section { border-radius:40px 40px 0 0; padding:45px 0; }
 .region-sources ul,.region-source-grid { grid-template-columns:1fr; }
}
@media(max-width:520px) {
 .region-filters { gap:7px; }
 .region-filters button { padding:10px 12px; font-size:.76rem; }
 .region-map-layout { border-radius:20px; }
 .region-map-detail { display:flex; gap:22px; }
 .region-map-bar { align-items:flex-start; }
 #region-map-status { max-width:65%; }
 .region-places,.region-adventures,.region-nearby .experience-grid { grid-template-columns:1fr; }
 .region-place-photo .region-photo { height:280px; }
 .region-place-copy { padding:24px; }
 .region-place h3 { font-size:1.9rem; }
 .region-place-compact h3 { font-size:1.7rem; }
 .region-kicker { font-size:.65rem; }
 .region-place-photo figcaption { font-size:.64rem; }
 .region-adventure { padding:25px; }
 .region-adventure-tag { margin-bottom:16px; }
}
