/* Lugares con encanto: usa los colores y tipografías del tema */
.rl{background:var(--crema,#F5F0E6);color:#2a2620;padding:0 0 60px;font-family:var(--sans,'Jost',sans-serif)}
.rl *{box-sizing:border-box}
.rl a{color:var(--oro-texto,#7D6010)}
.rl-cab{max-width:1100px;margin:0 auto;padding:40px 20px 14px;text-align:center}
.rl-cab h1{font-family:var(--serif,'Cormorant Garamond',serif);font-weight:500;font-size:clamp(2rem,5vw,3.2rem);line-height:1.1;margin:0 0 8px;color:var(--verde,#1F3A2E)}
.rl-sub{margin:0;font-family:var(--serif,serif);font-style:italic;font-size:1.2rem;color:#6b6258}
.rl-migas{margin:0 0 10px;font-size:.82rem;color:#6b6258}
.rl main,.rl{max-width:none}
.rl>section,.rl>.rl-mapa-caja{max-width:1100px;margin:0 auto;padding:0 20px}
.rl h2{font-family:var(--serif,serif);font-weight:500;font-size:1.8rem;color:var(--verde,#1F3A2E);border-bottom:1px solid var(--linea,#D8C7A2);padding-bottom:6px;margin:34px 0 16px}
.rl-sel{display:block;margin:14px auto 0;padding:9px 16px;border:1px solid var(--oro,#CFA650);border-radius:999px;background:#fffdf8;font:inherit;font-style:normal;max-width:92%}
/* mapa */
.rl-mapa-caja{padding-top:10px!important}
#rl-mapa{height:72vh;min-height:420px;border-radius:14px;box-shadow:0 6px 24px rgba(0,0,0,.12);background:#e9e4d8}
.rl-pin{width:14px;height:14px;border-radius:50%;background:var(--oro,#CFA650);border:2px solid #fff;box-shadow:0 0 0 1px rgba(0,0,0,.35);transition:transform .15s}
.rl-pin:hover{transform:scale(1.35)}
.rl .leaflet-tooltip.rl-lbl{background:rgba(255,255,255,.9);border:0;box-shadow:none;font:11px var(--sans,sans-serif);padding:1px 5px;color:#2a2620}
.leaflet-tooltip.rl-tip{padding:0;border:0;border-radius:10px;overflow:hidden;box-shadow:0 6px 18px rgba(0,0,0,.28)}
.rl-tip .leaflet-popup-content-wrapper{padding:0;border-radius:10px;overflow:hidden}
.rl-tip .leaflet-popup-content{margin:0}
.rl-mc{width:210px;font-family:var(--sans,sans-serif)}
.rl-mc .f{height:112px;background:linear-gradient(135deg,#8a7a5a,#c9b88f) center/cover}
.rl-mc b{display:block;padding:7px 10px 2px;font-size:.92rem;white-space:normal;color:#1f1b16}
.rl-mc small{display:block;padding:0 10px 8px;color:#6b6258;white-space:normal}
.rl-mc .d{padding:0 10px 6px;font-size:.78rem;line-height:1.35;white-space:normal;color:#2a2620}
.rl-mc a.mas{display:block;padding:0 10px 12px;font-size:.8rem;font-weight:600;color:var(--oro-texto,#7D6010)}
/* Resumen de la página (respuesta directa para buscadores y asistentes) */
.rl-resumen{max-width:760px;margin:0 auto 14px;padding:0 20px;text-align:center;font-size:.98rem;line-height:1.5;color:#4b4338}
/* «Todos los lugares» + botón para proponer otro */
.rl-lista-cab{display:flex;align-items:flex-end;justify-content:space-between;gap:10px 16px;flex-wrap:wrap;margin:34px 0 16px;border-bottom:1px solid var(--linea,#D8C7A2);padding-bottom:6px}
.rl .rl-lista-cab h2{margin:0;border:0;padding:0}
.rl-prop{display:inline-block;padding:8px 18px;border:1px solid var(--oro,#CFA650);border-radius:999px;background:var(--oro-degradado,linear-gradient(180deg,#d8b86a,#b08d4c));color:#1f1b16!important;font:600 .78rem var(--sans,sans-serif);letter-spacing:.06em;text-decoration:none;text-transform:uppercase}
.rl-prop:hover{filter:brightness(1.07)}
@media(max-width:700px){.rl-lista-cab{flex-direction:column;align-items:flex-start;gap:12px;padding-bottom:12px}}
/* botón «¡Nuevo!» (portada y filtro) */
.rl-nuevo-caja{margin:18px 0 0}
.rl-nuevo{display:inline-flex;align-items:center;gap:12px;padding:8px 20px 8px 8px;border:1px solid var(--oro,#CFA650);border-radius:999px;background:rgba(22,41,31,.55);color:var(--oro-claro,#E6C765)!important;font:500 .86rem var(--sans,'Jost',sans-serif);letter-spacing:.12em;text-transform:uppercase;text-decoration:none!important;transition:background .2s}
.rl-nuevo:hover{background:rgba(22,41,31,.85)}
.rl-nuevo-b{display:inline-block;padding:5px 12px;border-radius:999px;background:var(--oro-degradado,linear-gradient(100deg,#9C7424,#F6E7A8,#CFA650));color:var(--verde-oscuro,#16291F);font-weight:600;letter-spacing:.1em}
/* en la portada: recuadro a la derecha del titular y la lupa */
.portada__titulo .rl-nuevo-caja{margin:14px 0 0}
.portada__titulo .rl-nuevo{flex-direction:column;align-items:flex-start;gap:7px;padding:12px 16px;border-radius:14px;width:max-content;max-width:210px;white-space:normal;line-height:1.35;background:rgba(22,41,31,.72);text-align:left}
.portada__titulo .rl-nuevo-t{font-size:.8rem;letter-spacing:.1em}
@media(min-width:1280px){
.portada__titulo{position:relative}
.portada__titulo .rl-nuevo-caja{position:absolute;left:calc(100% - 150px);top:50%;transform:translateY(-50%);margin:0;width:max-content;z-index:3}}
/* en móvil y tableta: el botón va debajo del titular (si no, aplasta las letras) */
@media(max-width:1279px){
.portada__titulo{flex-wrap:wrap}
.portada__titulo .rl-nuevo-caja{flex:0 0 100%;order:3;margin:12px 0 0}
.portada__titulo .rl-nuevo{max-width:100%;width:max-content}}
.rl-filtro{max-width:1100px;margin:30px auto;padding:0 20px}
.rl-filtro-cta{text-align:center;margin:0}.rl-filtro-mas{margin:14px 0 0;text-align:right;font-size:.95rem}
/* tarjetas */
.rl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px}
.rl-card{display:block;text-decoration:none;color:inherit!important;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,.1);transition:transform .15s}
.rl-card:hover{transform:translateY(-2px)}
.rl-card .rl-im{display:block;height:124px;background:linear-gradient(135deg,#8a7a5a,#c9b88f) center/cover}
.rl-card b{display:block;padding:9px 12px 0;font-size:1rem;font-weight:600;color:#1f1b16}
.rl-card small{display:block;padding:1px 12px 11px;color:#6b6258}
.rl-vacio{color:#8a8070;font-style:italic}
.rl-nota-km{margin:10px 0 0;font-size:.78rem;color:#8a8070;font-style:italic}
/* lugar: galería */
.rl-gal{display:grid;grid-template-columns:1fr 150px;grid-template-areas:"main th" "cred cred";gap:10px}
.rl-gal-main{grid-area:main;height:min(60vh,520px);border-radius:14px;background:#c9b88f center/cover no-repeat}
.rl-gal-th{grid-area:th;display:flex;flex-direction:column;gap:8px;max-height:min(60vh,520px);overflow:auto}
.rl-th{flex:0 0 auto;height:88px;border:0;border-radius:8px;background:#c9b88f center/cover;cursor:pointer;opacity:.65;padding:0}
.rl-th.on,.rl-th:hover{opacity:1;outline:2px solid var(--oro,#CFA650)}
.rl-cred{grid-area:cred;margin:0;font-size:.74rem;color:#8a8070}.rl-cred a{color:inherit}
.rl-texto{font-size:1.08rem;line-height:1.65;max-width:780px!important}
.rl-texto p{margin:0 0 12px}.rl-fuente{font-size:.8rem;color:#8a8070}.rl-fuente a{color:inherit}
.rl-llegar-in{display:grid;grid-template-columns:1fr 280px;gap:16px}
.rl-llegar iframe{width:100%;height:260px;border:0;border-radius:12px;box-shadow:0 2px 10px rgba(0,0,0,.1);background:#e9e4d8}
.rl-llegar-btn{display:flex;flex-direction:column;gap:10px;justify-content:center}
.rl-btn{display:block;text-align:center;padding:12px 18px;border:1px solid var(--oro,#CFA650);border-radius:999px;background:var(--oro-degradado,linear-gradient(180deg,#d8b86a,#b08d4c));color:#1f1b16!important;font:600 .85rem var(--sans,sans-serif);letter-spacing:.06em;text-decoration:none;text-transform:uppercase;cursor:pointer}
.rl-btn:hover{filter:brightness(1.07)}.rl-btn--sec{background:#fffdf8}
/* formulario */
.rl-sg{max-width:760px!important;margin-top:50px!important;background:#fff;border:1px solid var(--linea,#D8C7A2);border-radius:14px;padding:28px 22px!important}
.rl-sg h2{text-align:center;border:0;margin-top:0}
.rl-sg .rl-sub{text-align:center;margin-bottom:16px}
.rl-sg label{display:block;margin:0 0 12px;font-size:.88rem;color:#4b4338}
.rl-sg input:not([type=checkbox]),.rl-sg select,.rl-sg textarea{display:block;width:100%;margin-top:4px;padding:9px 10px;border:1px solid #cfc3a8;border-radius:8px;font:inherit;background:#fffdf8}
.rl-sg small{color:#8a8070}.rl-nota{font-size:.82rem;color:#6b6258;font-style:italic}
.rl-fila{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.rl-chk{display:flex!important;gap:8px;align-items:flex-start;font-size:.8rem!important}.rl-chk input{margin-top:3px}
.rl-trampa{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.rl-sg .rl-btn{margin:8px auto 0;min-width:240px}
.rl-ok{text-align:center;color:#2f6b3a;font-weight:600}.rl-err{text-align:center;color:#a33;font-weight:600}
@media(max-width:700px){.rl-gal{grid-template-columns:minmax(0,1fr);grid-template-areas:"main" "th" "cred"}.rl-gal-main{height:42vh}.rl-gal-th{flex-direction:row;max-height:none;overflow-x:auto}.rl-th{width:96px;height:64px}.rl-llegar-in,.rl-fila{grid-template-columns:minmax(0,1fr)}#rl-mapa{height:66vh}.rl-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}
/* ventana emergente del mapa en móvil: más pequeña y con botón para cerrar */
@media(max-width:700px){
.rl-mc{width:170px}
.rl-mc .f{height:70px}
.rl-mc b{padding:6px 8px 1px;font-size:.85rem}
.rl-mc small{padding:0 8px 4px;font-size:.75rem}
.rl-mc .d{display:none}
.rl-mc a.mas{padding:0 8px 9px;font-size:.76rem}
.rl-tip .leaflet-popup-content-wrapper{width:170px}
.rl-tip .leaflet-popup-close-button{top:4px;right:4px;width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.92);color:#1f1b16;font:20px/24px sans-serif;text-align:center;padding:0}}
