/* psychicsadvertisements.com — estilo aprobado: directorio verde/ámbar */
:root{
  --fondo:#F7F7F3; --blanco:#FFFFFF; --tinta:#1F2429; --gris:#5D6670; --linea:#E3E4DC;
  --verde:#0F6B4F; --verde-osc:#0A503B; --verde-suave:#E7F3EE;
  --ambar:#F6B93B; --ambar-tinta:#7A5308; --rojo:#C0392B;
}
*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:'Public Sans',system-ui,sans-serif;background:var(--fondo);color:var(--tinta);line-height:1.6;font-size:15px;}
a{color:var(--verde);}
h1,h2,h3{font-family:'Zilla Slab',Georgia,serif;line-height:1.2;}
.env{max-width:1080px;margin:0 auto;padding:0 18px;}

.tira{background:var(--tinta);color:#E9E4D8;font-size:12.5px;text-align:center;padding:7px 12px;}
.tira b{color:var(--ambar);}
header.cab{background:var(--blanco);border-bottom:1px solid var(--linea);padding:18px 0;}
.cab-in{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--tinta);}
.logo .cuadro{width:46px;height:46px;background:var(--verde);color:#fff;border-radius:8px;display:grid;place-items:center;font-size:23px;flex:none;}
.logo b{font-family:'Zilla Slab',serif;font-size:23px;line-height:1;display:block;}
.logo b span{color:var(--verde);}
.logo small{font-size:11.5px;color:var(--gris);font-weight:600;letter-spacing:.04em;}
.btn{display:inline-block;font-weight:700;border-radius:8px;padding:11px 18px;font-size:14px;text-decoration:none;transition:.15s;border:none;cursor:pointer;font-family:inherit;}
.btn-verde{background:var(--verde);color:#fff;}
.btn-verde:hover{background:var(--verde-osc);}
.btn-ambar{background:var(--ambar);color:var(--ambar-tinta);}
.btn-ambar:hover{filter:brightness(1.05);}

.zona-busca{background:var(--verde);padding:26px 0;}
.busca{display:flex;gap:10px;flex-wrap:wrap;}
.busca input,.busca select{flex:1;min-width:180px;border:none;border-radius:8px;padding:13px 16px;font-family:inherit;font-size:14.5px;background:#fff;color:var(--tinta);}
.busca .btn{padding:13px 28px;}
.busca-nota{color:#CFE8DD;font-size:12.5px;margin-top:10px;}
.busca-nota b{color:#fff;}

/* portada grande */
.portada{display:grid;grid-template-columns:minmax(280px,440px) 1fr;gap:28px;background:var(--blanco);border:1px solid var(--linea);border-radius:16px;padding:24px;margin-top:28px;align-items:center;box-shadow:0 8px 26px rgba(31,36,41,.07);}
@media(max-width:820px){.portada{grid-template-columns:1fr;}}
.portada-foto{display:block;position:relative;width:100%;aspect-ratio:3/4;border-radius:12px;background-size:cover;background-position:center;cursor:zoom-in;box-shadow:0 10px 30px rgba(31,36,41,.22);}
.portada-foto .lupa-foto{top:auto;bottom:10px;left:10px;font-size:13px;padding:6px 12px;}
.portada-etq{display:inline-block;background:var(--ambar);color:var(--ambar-tinta);font-size:12px;font-weight:800;border-radius:999px;padding:4px 12px;margin-bottom:10px;}
.portada-txt h1{font-size:clamp(23px,3.6vw,34px);margin-bottom:10px;}
.portada-txt p{color:var(--gris);font-size:15px;max-width:56em;margin-bottom:12px;}
.portada-pie{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:14px;}
.portada-precios{font-size:13.5px;color:var(--gris);font-weight:600;}
.portada-mas{display:inline-block;margin-top:12px;font-weight:700;font-size:14px;}

.h-linea{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:34px 0 16px;flex-wrap:wrap;}
.h-linea h2{font-size:24px;}
.h-linea small{color:var(--gris);font-size:13px;font-weight:600;}

.dir{background:var(--blanco);border:1px solid var(--linea);border-radius:12px;padding:22px 24px;columns:4;column-gap:28px;}
@media(max-width:900px){.dir{columns:3;}}
@media(max-width:680px){.dir{columns:2;}}
.dir a{display:flex;justify-content:space-between;gap:8px;padding:7px 2px;text-decoration:none;color:var(--tinta);font-size:14px;font-weight:600;border-bottom:1px dotted var(--linea);break-inside:avoid;}
.dir a:hover{color:var(--verde);}
.dir a span{color:var(--gris);font-weight:400;font-size:12.5px;}
.dir a.grupo{font-family:'Zilla Slab',serif;font-size:15.5px;font-weight:700;color:var(--verde);border-bottom:2px solid var(--verde);margin-top:8px;}

.lista{display:grid;gap:14px;}
.vacio{color:var(--gris);background:var(--blanco);border:1px dashed var(--linea);border-radius:12px;padding:22px;text-align:center;}
.anuncio{background:var(--blanco);border:1px solid var(--linea);border-radius:12px;padding:16px 20px 16px 16px;display:grid;grid-template-columns:136px 1fr auto;gap:18px;align-items:start;transition:.15s;}
.anuncio:hover{border-color:var(--verde);box-shadow:0 6px 18px rgba(15,107,79,.1);}
@media(max-width:640px){.anuncio{grid-template-columns:104px 1fr;}.anuncio .der{grid-column:1/-1;justify-items:start;text-align:left;}}
.foto-anuncio{width:136px;height:112px;border-radius:10px;position:relative;overflow:hidden;display:grid;place-items:center;font-size:44px;color:#fff;box-shadow:inset 0 0 34px rgba(0,0,0,.28);text-decoration:none;background-size:cover;background-position:center;}
@media(max-width:640px){.foto-anuncio{width:104px;height:96px;font-size:34px;}}
.foto-anuncio::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 25% 20%, rgba(255,255,255,.18), transparent 45%);}
.foto-anuncio.con-foto{box-shadow:inset 0 0 0 1px rgba(0,0,0,.12);cursor:zoom-in;}
.foto-anuncio.con-foto::after{background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.35));}
.foto-anuncio .fotos-n{position:absolute;top:6px;right:6px;background:rgba(0,0,0,.55);color:#fff;font-size:10.5px;font-weight:700;border-radius:6px;padding:2px 7px;z-index:2;}
.lupa-foto{position:absolute;top:6px;left:6px;font-size:13px;background:rgba(0,0,0,.5);color:#fff;border-radius:6px;padding:2px 6px;z-index:2;}
.f1{background:linear-gradient(135deg,#3B1D5E,#8B5CF6);}
.f2{background:linear-gradient(135deg,#123B33,#1D8F69);}
.f3{background:linear-gradient(135deg,#4A1B33,#C2447E);}
.f4{background:linear-gradient(135deg,#6B2D0E,#E0803C);}
.f5{background:linear-gradient(135deg,#132C4E,#3E7BC0);}
.precio-tag{position:absolute;left:6px;bottom:6px;z-index:2;background:var(--ambar);color:var(--ambar-tinta);border-radius:8px;text-align:center;padding:5px 10px;font-weight:800;font-size:15px;line-height:1;box-shadow:0 3px 8px rgba(0,0,0,.35);}
.precio-tag small{display:block;font-size:9px;font-weight:700;margin-top:2px;letter-spacing:.04em;}
.anuncio h3{font-size:17.5px;margin-bottom:3px;}
.anuncio h3 a{color:var(--tinta);text-decoration:none;}
.anuncio h3 a:hover{color:var(--verde);}
.meta{font-size:12px;color:var(--gris);display:flex;gap:12px;flex-wrap:wrap;margin-bottom:7px;}
.meta .cat, .meta .cat a{color:var(--verde);font-weight:700;text-decoration:none;}
.extracto{font-size:13.5px;color:var(--gris);}
.idioma-pill{display:inline-block;margin-top:8px;background:var(--verde-suave);color:var(--verde);font-size:11.5px;font-weight:700;border-radius:999px;padding:3px 10px;}
.der{text-align:right;display:grid;gap:8px;justify-items:end;}
.btn-tel{background:var(--verde);color:#fff;border-radius:8px;font-weight:800;font-size:14.5px;padding:10px 14px;text-decoration:none;white-space:nowrap;}
.btn-tel:hover{background:var(--verde-osc);}
.btn-tel.grande{font-size:18px;padding:14px 22px;display:inline-block;margin-top:14px;}
.der small{font-size:11px;color:var(--gris);}

.seo{background:var(--blanco);border:1px solid var(--linea);border-radius:12px;padding:24px 26px;margin:34px 0 8px;}
.seo h2{font-size:19px;margin-bottom:8px;}
.seo p{font-size:13.8px;color:var(--gris);margin-bottom:10px;max-width:75em;}
.seo b{color:var(--tinta);}

.migas{font-size:12.5px;color:var(--gris);margin:26px 0 10px;}
.migas a{color:var(--verde);text-decoration:none;}
.cat-cab h1{font-size:clamp(24px,4vw,34px);}
.cat-cab .cuenta{color:var(--gris);font-size:13.5px;font-weight:600;margin:4px 0 14px;}
.subcats{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px;}
.subcats a{background:var(--blanco);border:1px solid var(--linea);border-radius:999px;padding:6px 14px;font-size:12.5px;font-weight:600;color:var(--tinta);text-decoration:none;}
.subcats a:hover{border-color:var(--verde);color:var(--verde);}
.orden{display:flex;gap:14px;align-items:center;font-size:12.5px;color:var(--gris);margin-bottom:14px;flex-wrap:wrap;}
.orden a{font-weight:700;text-decoration:none;}
.orden a.on{color:var(--tinta);border-bottom:2px solid var(--ambar);}

/* ficha de anuncio */
.ficha{display:grid;grid-template-columns:minmax(280px,420px) 1fr;gap:26px;background:var(--blanco);border:1px solid var(--linea);border-radius:14px;padding:24px;align-items:start;}
@media(max-width:780px){.ficha{grid-template-columns:1fr;}}
.ficha-foto-grande{display:grid;place-items:center;position:relative;width:100%;aspect-ratio:4/3;border-radius:12px;overflow:hidden;background-size:cover;background-position:center;cursor:zoom-in;text-decoration:none;color:#fff;font-size:70px;}
.ficha-foto-grande.sin-foto{cursor:default;box-shadow:inset 0 0 60px rgba(0,0,0,.3);}
.ficha-foto-grande .lupa-foto{top:auto;bottom:10px;left:10px;font-size:13px;padding:5px 10px;}
.ficha-mini-fila{display:flex;gap:8px;margin-top:10px;}
.ficha-mini{width:74px;height:58px;border-radius:8px;background-size:cover;background-position:center;border:2px solid var(--linea);cursor:zoom-in;}
.ficha-mini:hover{border-color:var(--verde);}
.ficha-cuerpo h1{font-size:clamp(21px,3.4vw,29px);margin-bottom:8px;}
.ficha-texto{margin:14px 0 4px;font-size:15px;color:#39404a;max-width:60em;}
.tarifitas{margin-top:14px;display:flex;gap:10px 18px;flex-wrap:wrap;font-size:13px;color:var(--gris);}
.tarifitas span{background:var(--fondo);border:1px solid var(--linea);border-radius:8px;padding:5px 10px;}

/* visor de fotos (lightbox) */
#visor{position:fixed;inset:0;z-index:100;background:rgba(12,15,13,.92);display:grid;place-items:center;}
#visor[hidden]{display:none!important;}
#visor img{max-width:92vw;max-height:88vh;border-radius:8px;box-shadow:0 20px 70px rgba(0,0,0,.6);}
#visor button{position:fixed;background:rgba(255,255,255,.12);color:#fff;border:none;font-size:26px;cursor:pointer;border-radius:50%;width:52px;height:52px;line-height:1;}
#visor button:hover{background:rgba(255,255,255,.25);}
#visor-x{top:18px;right:18px;}
#visor-prev{left:14px;top:50%;transform:translateY(-50%);}
#visor-next{right:14px;top:50%;transform:translateY(-50%);}

footer{margin-top:56px;background:var(--tinta);color:#B9BDC4;padding:30px 0 38px;font-size:13px;text-align:center;}
footer a{color:#E0E3E8;font-weight:600;margin:0 8px;}
footer .peq{margin-top:10px;font-size:11.5px;opacity:.85;}
