/* Portal de propiedades · Servicios Inmobiliarios Quetzal
   Mismo sistema visual que el sitio: jade #00714B como color principal,
   hoja #5B9F16 y agua marina #4FC986 solo de acento, Fraunces para titulares
   y Manrope para todo lo demás. */

:root{
  --jade:#00714B; --jade-600:#00865A; --jade-800:#07402C; --jade-900:#062E20; --jade-950:#042117;
  --jade-50:#EEF6F1; --jade-100:#DCEDE3;
  --hoja:#5B9F16; --agua:#4FC986;
  --tinta:#0D1A15; --tinta-2:#2A3A33; --gris:#5F7269;
  --linea:rgba(6,46,32,.13); --linea-2:rgba(6,46,32,.07);
  --papel:#FAFBFA; --papel-2:#F1F5F2; --blanco:#fff;
  --serif:"Fraunces","Iowan Old Style",Georgia,serif;
  --sans:"Manrope",-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Consolas,monospace;
  --r:22px; --r-s:14px;
  --sombra:0 1px 2px rgba(4,33,23,.05),0 8px 24px -12px rgba(4,33,23,.18);
  --sombra-2:0 2px 4px rgba(4,33,23,.06),0 22px 44px -20px rgba(4,33,23,.32);
  --ancho:1200px; --hd:72px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--hd) + 16px)}
body{margin:0;background:var(--papel);color:var(--tinta);font-family:var(--sans);
  font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3{margin:0;font-weight:600;color:var(--tinta)}
h1,h2{font-family:var(--serif);font-optical-sizing:none;font-variation-settings:"opsz" 48;letter-spacing:-.02em}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
button,input,select{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--jade);outline-offset:3px;border-radius:6px}
[hidden]{display:none!important}

.envoltura{width:100%;max-width:var(--ancho);margin:0 auto;padding:0 24px}
.ic{width:18px;height:18px;flex:none}
.ic-g{width:22px;height:22px}
.ic-xl{width:40px;height:40px}

/* ── botones ─────────────────────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;
  padding:0 22px;border-radius:999px;border:1px solid transparent;font-weight:700;font-size:15px;
  letter-spacing:-.005em;text-decoration:none;cursor:pointer;white-space:nowrap;
  transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease}
.btn:active{transform:translateY(1px)}
.btn-1,.btn-wa{color:#fff;background:linear-gradient(175deg,var(--jade-600),var(--jade));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.26),0 12px 24px -14px rgba(0,113,75,.9)}
.btn-1:hover,.btn-wa:hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.26),0 16px 30px -14px rgba(0,113,75,.95)}
.btn-2{color:var(--jade);background:var(--blanco);border-color:rgba(0,113,75,.35)}
.btn-2:hover{background:var(--jade-50)}
.btn-g{color:var(--tinta-2);background:transparent;border-color:var(--linea)}
.btn-g:hover{background:var(--papel-2)}
.btn-claro{color:var(--tinta);background:rgba(255,255,255,.86);border-color:rgba(255,255,255,.7);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--sombra)}
.btn-ancho{width:100%}
.enlace{background:none;border:0;padding:0;color:var(--jade);font-weight:700;font-size:14px;
  cursor:pointer;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;
  display:inline-flex;align-items:center;gap:6px}
.enlace .ic{width:16px;height:16px}

/* ── cabecera ────────────────────────────────────────────────────────── */
.hd{position:sticky;top:0;z-index:30;height:var(--hd);
  background:rgba(250,251,250,.78);-webkit-backdrop-filter:saturate(1.4) blur(18px);backdrop-filter:saturate(1.4) blur(18px);
  border-bottom:1px solid var(--linea-2)}
.hd-in{height:100%;display:flex;align-items:center;gap:28px}
.hd-logo img{width:auto;height:40px}
.hd-nav{display:flex;gap:4px;margin-left:auto}
.hd-nav a{padding:8px 14px;border-radius:999px;font-size:15px;font-weight:600;color:var(--tinta-2);text-decoration:none}
.hd-nav a:hover{background:var(--papel-2);color:var(--tinta)}
.hd-nav a[aria-current="page"]{color:var(--jade);background:var(--jade-50)}
.hd-cta{min-height:42px;padding:0 18px;font-size:14px}

/* ── migas ───────────────────────────────────────────────────────────── */
.migas{padding-top:18px}
.migas ol{display:flex;flex-wrap:wrap;gap:6px;font-size:13px;color:var(--gris)}
.migas li{display:flex;align-items:center;gap:6px}
.migas li+li::before{content:"";width:5px;height:5px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(45deg);opacity:.55}
.migas a{text-decoration:none}
.migas a:hover{color:var(--jade);text-decoration:underline}
.migas [aria-current]{color:var(--tinta-2);font-weight:600}

/* ── hero y buscador ─────────────────────────────────────────────────── */
.hero{position:relative;padding:56px 0 44px;isolation:isolate;overflow:hidden}
.hero-fondo{position:absolute;inset:0;z-index:-1;
  background:
    radial-gradient(760px 340px at 12% -10%,rgba(79,201,134,.20),transparent 70%),
    radial-gradient(620px 300px at 92% 0%,rgba(91,159,22,.12),transparent 72%),
    linear-gradient(180deg,#F3F8F5 0%,var(--papel) 100%)}
.hero-fondo::after{content:"";position:absolute;inset:0;opacity:.35;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.02 0 0 0 0 0.13 0 0 0 0 0.09 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.ceja{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--jade)}
.ceja::before{content:"";width:22px;height:1.5px;background:currentColor;opacity:.6}
.hero h1{margin-top:14px;font-size:clamp(34px,5.2vw,58px);line-height:1.03;max-width:16ch}
.hero-sub{margin-top:14px;max-width:60ch;font-size:17.5px;color:var(--tinta-2)}
.hero-cat h1{max-width:20ch}

.bus{margin-top:30px;padding:14px;border-radius:24px;
  background:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.85);
  -webkit-backdrop-filter:saturate(1.3) blur(16px);backdrop-filter:saturate(1.3) blur(16px);
  box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 24px 50px -30px rgba(4,33,23,.35),0 0 0 1px var(--linea-2)}
.bus-fila{display:grid;grid-template-columns:180px 200px 1fr auto;gap:10px;align-items:end}
.bus-campo{display:flex;flex-direction:column;gap:4px;min-width:0}
.bus-campo>span{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gris);padding-left:14px}
.bus-campo select,.bus-campo input{height:48px;width:100%;padding:0 14px;border-radius:14px;
  border:1px solid var(--linea);background:var(--blanco);font-size:15.5px;font-weight:600;appearance:none;-webkit-appearance:none}
.bus-campo select{padding-right:36px;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%235F7269' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center}
.bus-campo input::placeholder{color:#93A39B;font-weight:500}
.bus-campo select:hover,.bus-campo input:hover{border-color:rgba(6,46,32,.24)}
.bus-ir{height:48px;padding:0 26px}
.bus-mas{margin-top:8px}
.bus-mas summary{display:inline-flex;align-items:center;gap:8px;cursor:pointer;list-style:none;
  font-size:13.5px;font-weight:700;color:var(--jade);padding:4px 14px}
.bus-mas summary::-webkit-details-marker{display:none}
.bus-mas summary::after{content:"";width:6px;height:6px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .2s}
.bus-mas[open] summary::after{transform:rotate(225deg) translateY(-1px)}
.bus-fila-2{grid-template-columns:200px 200px auto auto;margin-top:8px;align-items:center}
.bus-check{display:inline-flex;align-items:center;gap:9px;height:48px;padding:0 14px;border-radius:14px;
  border:1px solid var(--linea);background:var(--blanco);font-size:15px;font-weight:600;cursor:pointer;user-select:none}
.bus-check input{width:18px;height:18px;accent-color:var(--jade);margin:0}

/* ── resultados ──────────────────────────────────────────────────────── */
.resultados{padding-top:8px;padding-bottom:24px}
.res-barra{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0 20px;
  border-bottom:1px solid var(--linea-2);margin-bottom:24px}
.res-cuenta{font-family:var(--sans);font-size:15px;font-weight:600;color:var(--tinta-2);letter-spacing:0}
.res-cuenta #qz-cuenta{font-weight:800;color:var(--tinta)}
.res-acciones{display:flex;align-items:center;gap:18px}
.res-orden{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--gris);font-weight:600}
.res-orden select{height:38px;padding:0 32px 0 12px;border-radius:999px;border:1px solid var(--linea);
  background:var(--blanco) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%235F7269' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 12px center;
  font-size:14px;font-weight:700;color:var(--tinta);appearance:none;-webkit-appearance:none;cursor:pointer}

.rejilla{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
/* Con una sola propiedad a la vista, el bloque de inventario no publicado
   ocupa el hueco de la fila en vez de dejar una columna vacía. */
@media (min-width:1101px){
  .rejilla>.tj:first-child:nth-last-child(2)+.pedido{grid-column:span 2}
}

.vacio{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
  padding:20px 22px;margin-bottom:24px;border-radius:var(--r);background:var(--jade-50);border:1px solid var(--jade-100)}
.vacio p{max-width:62ch;color:var(--tinta-2)}
.vacio b{color:var(--tinta)}

/* ── tarjeta ─────────────────────────────────────────────────────────── */
.tj{display:flex;flex-direction:column;background:var(--blanco);border-radius:var(--r);
  border:1px solid var(--linea-2);box-shadow:var(--sombra);overflow:hidden;
  transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s ease}
.tj:hover{transform:translateY(-3px);box-shadow:var(--sombra-2)}
.tj-foto{position:relative;display:block;margin:8px 8px 0;border-radius:16px;overflow:hidden;
  aspect-ratio:4/3;background:var(--papel-2) center/cover no-repeat}
.tj-foto img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.tj:hover .tj-foto img{transform:scale(1.035)}
.chip{display:inline-flex;align-items:center;height:26px;padding:0 11px;border-radius:999px;
  font-size:12px;font-weight:700;letter-spacing:.02em;white-space:nowrap}
.tj-foto .chip{position:absolute;top:12px;color:#fff;background:rgba(4,33,23,.52);
  -webkit-backdrop-filter:blur(10px) saturate(1.3);backdrop-filter:blur(10px) saturate(1.3);
  border:1px solid rgba(255,255,255,.22)}
.tj-foto .chip-op{left:12px}
.tj-foto .chip-est{right:12px}
.chip-est::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--agua);margin-right:7px}
.chip-apartada::before{background:#F2B544}
.chip-rentada::before,.chip-vendida::before{background:#C9D2CD}
.tj-cuerpo{display:flex;flex-direction:column;flex:1;padding:16px 20px 18px}
.tj-precio{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px}
.tj-precio b{font-size:26px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.tj-precio span{font-size:13px;font-weight:600;color:var(--gris)}
.tj-nota{font-size:13px;color:var(--jade);font-weight:600;margin-top:1px}
.tj-titulo{margin-top:10px;font-family:var(--serif);font-optical-sizing:none;font-variation-settings:"opsz" 48;
  font-size:20px;line-height:1.2;letter-spacing:-.012em}
.tj-titulo a{text-decoration:none}
.tj-titulo a::after{content:"";position:absolute;inset:0}
.tj{position:relative}
.tj-titulo a:hover{color:var(--jade)}
.tj-lugar{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:14px;color:var(--gris)}
.tj-lugar .ic{width:16px;height:16px}
.tj-datos{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:14px;padding-top:14px;border-top:1px solid var(--linea-2)}
.tj-datos li{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--tinta-2)}
.tj-datos .ic{width:17px;height:17px;color:var(--jade)}
.tj-pie{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:14px;font-size:13px;color:var(--gris)}
.tj-id,.ct-id span{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.02em;color:var(--gris)}
.tj-rev{display:flex;align-items:center;gap:7px;margin-top:10px;padding:8px 10px;border-radius:10px;
  background:var(--jade-50);color:var(--jade-800);font-size:12.5px;font-weight:700}
.tj-rev .ic{width:16px;height:16px;color:var(--jade)}

/* ── pedido (inventario no publicado) ────────────────────────────────── */
.pedido{position:relative;display:flex;flex-direction:column;justify-content:flex-end;gap:12px;min-height:100%;
  padding:28px;border-radius:var(--r);color:#fff;overflow:hidden;isolation:isolate;
  background:radial-gradient(420px 260px at 100% 0%,rgba(79,201,134,.32),transparent 70%),
             linear-gradient(160deg,var(--jade-800),var(--jade-950));
  box-shadow:var(--sombra)}
.pedido::after{content:"";position:absolute;right:-60px;bottom:-60px;width:220px;height:220px;z-index:-1;
  border-radius:50%;border:1px solid rgba(255,255,255,.08);box-shadow:0 0 0 30px rgba(255,255,255,.03),0 0 0 62px rgba(255,255,255,.02)}
.pedido-k{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--agua)}
.pedido h3{font-family:var(--serif);font-optical-sizing:none;font-variation-settings:"opsz" 48;font-size:28px;line-height:1.08;color:#fff;letter-spacing:-.018em}
.pedido p:not(.pedido-k){color:rgba(255,255,255,.8);font-size:15px}
.pedido .btn{align-self:flex-start;margin-top:6px;background:#fff;color:var(--jade-900);box-shadow:none}
.pedido .btn:hover{background:var(--jade-50)}
.otra{margin-top:56px}
.otra .pedido{min-height:0;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between}
.otra .pedido>*{flex:none}
.otra .pedido p:not(.pedido-k){max-width:52ch}

/* ── confianza y "lo que manejamos" ─────────────────────────────────── */
.confianza{padding-top:56px}
.confianza ul{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:28px;border-radius:var(--r);
  background:var(--blanco);border:1px solid var(--linea-2)}
.confianza li{display:flex;gap:14px;align-items:flex-start}
.confianza .ic{padding:10px;width:44px;height:44px;border-radius:14px;background:var(--jade-50);color:var(--jade)}
.confianza b{display:block;font-size:15.5px;margin-bottom:2px}
.confianza p{font-size:14.5px;color:var(--gris);line-height:1.5}

.manejamos{padding-top:64px;padding-bottom:80px}
.manejamos h2{font-size:clamp(26px,3.2vw,36px)}
.manejamos .sub{margin-top:6px;color:var(--gris)}
.manejamos ul{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:22px}
.manejamos a{position:relative;display:flex;flex-direction:column;gap:2px;padding:18px 18px 18px;border-radius:18px;
  background:var(--blanco);border:1px solid var(--linea-2);text-decoration:none;transition:border-color .2s,background-color .2s}
.manejamos a:hover{border-color:rgba(0,113,75,.35);background:var(--jade-50)}
.manejamos b{font-size:16px}
.manejamos span{font-size:13px;color:var(--gris);font-weight:600}
.manejamos .ic{position:absolute;right:16px;top:18px;width:18px;height:18px;color:var(--jade)}

/* ── categoría: guía y relacionadas ──────────────────────────────────── */
.guia{margin-top:56px}
.guia h2{font-size:clamp(24px,3vw,32px)}
.guia ol{counter-reset:g;display:grid;grid-template-columns:repeat(2,1fr);gap:12px 28px;margin-top:20px}
.guia li{counter-increment:g;display:flex;gap:14px;padding:16px 0;border-top:1px solid var(--linea);color:var(--tinta-2)}
.guia li::before{content:counter(g,decimal-leading-zero);font-family:var(--mono);font-size:13px;color:var(--jade);padding-top:2px}
.guia>p{margin-top:16px;color:var(--gris)}
.guia a,.revision a{color:var(--jade);font-weight:700}
.relacionadas{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:40px}
.relacionadas b{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--gris);margin-right:6px}
.relacionadas a{padding:8px 14px;border-radius:999px;border:1px solid var(--linea);background:var(--blanco);
  font-size:14px;font-weight:600;text-decoration:none}
.relacionadas a:hover{border-color:var(--jade);color:var(--jade)}

/* ── ficha ───────────────────────────────────────────────────────────── */
.ficha{padding-top:18px;padding-bottom:64px}
.galeria-marco{position:relative}
.galeria{position:relative;display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:228px 228px;gap:8px;
  border-radius:var(--r);overflow:hidden}
.gal-item{position:relative;padding:0;border:0;background:var(--papel-2) center/cover no-repeat;cursor:zoom-in;overflow:hidden}
.gal-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1),filter .3s}
.gal-item:hover img{transform:scale(1.03);filter:brightness(1.04)}
.gal-0{grid-row:1/3}
.gal-todas{position:absolute;right:16px;bottom:16px;display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px;
  border-radius:999px;border:1px solid rgba(255,255,255,.7);background:rgba(255,255,255,.86);color:var(--tinta);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-weight:700;font-size:14px;cursor:pointer;box-shadow:var(--sombra)}
.gal-cuenta{display:none}

.ficha-cab{margin-top:28px;max-width:820px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.ficha-cab .chip{border:1px solid var(--linea);background:var(--blanco);color:var(--tinta-2)}
.ficha-cab .chip-op{background:var(--jade);border-color:var(--jade);color:#fff}
.ficha-cab h1{margin-top:14px;font-size:clamp(30px,4.2vw,46px);line-height:1.06}
.ficha-lugar{display:flex;align-items:center;gap:8px;margin-top:12px;font-size:15.5px;color:var(--gris);font-weight:600}
.ficha-resumen{margin-top:14px;font-size:18px;color:var(--tinta-2);max-width:66ch}

.datos{display:grid;grid-template-columns:repeat(6,1fr);gap:0;margin-top:28px;border:1px solid var(--linea-2);
  border-radius:var(--r);background:var(--blanco);overflow:hidden}
.datos li{display:flex;align-items:center;gap:12px;padding:18px 18px}
.datos li+li{border-left:1px solid var(--linea-2)}
.datos .ic{width:24px;height:24px;color:var(--jade)}
.datos b{display:block;font-size:16px;font-weight:800;letter-spacing:-.01em;white-space:nowrap}
.datos span{display:block;font-size:12.5px;color:var(--gris);font-weight:600}

.ficha-cols{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:56px;align-items:start;margin-top:8px}
.sec{padding-top:44px}
.sec h2{font-size:clamp(24px,2.6vw,30px);line-height:1.15;margin-bottom:16px}
.sec h3{font-family:var(--sans);font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--gris);margin-bottom:10px}
.sec p+p{margin-top:12px}
.sec>p,.sec p{color:var(--tinta-2);font-size:16.5px}
.dos{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.lista-ok li,.lista-no li,.lista-neutra li{display:flex;gap:10px;padding:7px 0;color:var(--tinta-2);line-height:1.45}
.lista-ok .ic{width:18px;height:18px;margin-top:2px;color:var(--jade)}
.lista-no .ic{width:18px;height:18px;margin-top:2px;color:#B4442E}
.lista-neutra .ic{width:16px;height:16px;margin-top:3px;color:var(--gris)}
.lista-2{columns:2;column-gap:32px}
.lista-2 li{break-inside:avoid}

.cond{display:grid;border-top:1px solid var(--linea)}
.cond div{display:grid;grid-template-columns:200px 1fr;gap:16px;padding:13px 0;border-bottom:1px solid var(--linea)}
.cond dt{font-weight:700;color:var(--tinta)}
.cond dd{margin:0;color:var(--tinta-2)}
.sub-docs{margin-top:26px}
.doc{border:1px solid var(--linea);border-radius:var(--r-s);background:var(--blanco);margin-top:10px}
.doc summary{cursor:pointer;list-style:none;padding:14px 18px;font-weight:700;display:flex;justify-content:space-between;align-items:center}
.doc summary::-webkit-details-marker{display:none}
.doc summary::after,.faq summary::after{content:"";width:12px;height:12px;flex:none;margin-left:12px;
  background:linear-gradient(currentColor,currentColor) center/12px 1.6px no-repeat,linear-gradient(currentColor,currentColor) center/1.6px 12px no-repeat;
  color:var(--jade);transition:transform .2s}
.doc[open] summary::after,.faq details[open] summary::after{transform:rotate(45deg)}
.doc ul{padding:0 18px 12px}

.lugar-txt{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--tinta)!important;margin-bottom:6px}
.lugar-txt .ic{color:var(--jade)}
.mapa{position:relative;display:block;margin-top:18px;border-radius:var(--r);overflow:hidden;background:var(--papel-2);aspect-ratio:15/8}
.mapa img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.mapa:hover img{transform:scale(1.02)}
.mapa .btn{position:absolute;left:16px;bottom:16px;min-height:42px}

.sec-visita{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
  margin-top:44px;padding:28px;border-radius:var(--r);background:var(--jade-50);border:1px solid var(--jade-100)}
.sec-visita h2{margin-bottom:6px}

.faq details{border-bottom:1px solid var(--linea)}
.faq details:first-child{border-top:1px solid var(--linea)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;padding:17px 0;
  font-weight:700;font-size:16.5px}
.faq summary::-webkit-details-marker{display:none}
.faq p{padding:0 0 18px;max-width:70ch}

.revision{display:flex;gap:20px;align-items:flex-start;margin-top:44px;padding:28px;border-radius:var(--r);
  border:1px solid rgba(0,113,75,.28);background:linear-gradient(180deg,#fff,var(--jade-50))}
.revision .ic{color:var(--jade)}
.revision h2{font-size:24px;margin-bottom:8px}
.revision p{margin-bottom:10px}

.contacto{position:sticky;top:calc(var(--hd) + 24px);margin-top:44px;padding:24px;border-radius:var(--r);
  background:rgba(255,255,255,.86);border:1px solid var(--linea-2);box-shadow:var(--sombra-2);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);display:flex;flex-direction:column;gap:10px}
.ct-precio b{display:block;font-size:34px;font-weight:800;letter-spacing:-.025em;font-variant-numeric:tabular-nums;line-height:1.1}
.ct-precio span{font-size:14px;font-weight:600;color:var(--gris)}
.ct-incl{font-size:14px;font-weight:700;color:var(--jade)}
.ct-estado{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--tinta-2);
  padding-bottom:12px;margin-bottom:4px;border-bottom:1px solid var(--linea-2)}
.punto{width:8px;height:8px;border-radius:50%;background:var(--agua);box-shadow:0 0 0 4px rgba(79,201,134,.18)}
.punto-apartada{background:#F2B544;box-shadow:0 0 0 4px rgba(242,181,68,.2)}
.punto-rentada,.punto-vendida{background:#B8C3BD;box-shadow:none}
.ct-nota{font-size:13px;color:var(--gris);line-height:1.5;margin-top:4px}
.ct-entrar{font-size:13.5px;line-height:1.5;color:var(--tinta-2);padding:10px 12px;border-radius:12px;background:var(--papel-2)}
.ct-entrar b{color:var(--tinta)}
.ficha-fecha{margin-top:10px;font-size:13px;color:var(--gris)}
.ct-compartir{display:flex;flex-wrap:wrap;gap:8px 18px;padding-top:12px;border-top:1px solid var(--linea-2)}
.ct-id{font-size:12px;color:var(--gris)}

.aviso-estado{margin-top:14px;padding:14px 18px!important;border-radius:var(--r-s);background:#FFF7E6;border:1px solid #F2D49A;color:#5A4410}
.aviso-estado a{font-weight:700}

.barra-movil{display:none}

/* ── visor de fotos ──────────────────────────────────────────────────── */
.visor{width:100vw;height:100vh;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;
  background:rgba(4,22,15,.96);color:#fff;overflow:hidden}
.visor::backdrop{background:rgba(4,22,15,.6)}
.vis-pista{display:flex;width:100%;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.vis-pista::-webkit-scrollbar{display:none}
.vis-slide{flex:0 0 100%;height:100%;margin:0;scroll-snap-align:center;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:14px;padding:64px 72px 56px}
.vis-slide img{max-width:100%;max-height:calc(100% - 40px);width:auto;height:auto;object-fit:contain;border-radius:12px}
.vis-slide figcaption{font-size:14.5px;color:rgba(255,255,255,.82);text-align:center;max-width:70ch}
.vis-btn{position:absolute;display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;
  border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.1);color:#fff;cursor:pointer;
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.vis-btn:hover{background:rgba(255,255,255,.2)}
.vis-btn .ic{width:22px;height:22px}
.vis-cerrar{top:16px;right:16px}
.vis-ant{left:16px;top:50%;transform:translateY(-50%)}
.vis-sig{right:16px;top:50%;transform:translateY(-50%)}
.vis-cuenta{position:absolute;top:28px;left:50%;transform:translateX(-50%);font-family:var(--mono);font-size:13px;color:rgba(255,255,255,.75)}

/* ── pie ─────────────────────────────────────────────────────────────── */
.pie{margin-top:0;background:var(--jade-950);color:rgba(255,255,255,.78);padding:56px 0 28px}
.pie-top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}
.pie-marca img{height:52px;width:auto}
.pie-marca p{margin-top:16px;max-width:42ch;font-size:14.5px;line-height:1.6}
.pie-col{display:flex;flex-direction:column;gap:9px;font-size:14.5px}
.pie-col b{color:#fff;font-size:13px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px}
.pie-col a{text-decoration:none}
.pie-col a:hover{color:#fff;text-decoration:underline}
.pie-col span{font-size:13.5px;color:var(--agua)}
.pie-bot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:40px;padding-top:20px;
  border-top:1px solid rgba(255,255,255,.1);font-size:13px;color:rgba(255,255,255,.55)}

/* ── responsivo ──────────────────────────────────────────────────────── */
@media (max-width:1100px){
  .rejilla{grid-template-columns:repeat(2,minmax(0,1fr))}
  .manejamos ul{grid-template-columns:repeat(3,1fr)}
  .datos{grid-template-columns:repeat(3,1fr)}
  .datos li:nth-child(4){border-left:0}
  .datos li:nth-child(n+4){border-top:1px solid var(--linea-2)}
  .ficha-cols{grid-template-columns:minmax(0,1fr) 320px;gap:36px}
}
@media (max-width:900px){
  :root{--hd:64px}
  .bus-fila{grid-template-columns:1fr 1fr}
  .bus-q{grid-column:1/-1}
  .bus-ir{grid-column:1/-1;width:100%}
  .bus-fila-2{grid-template-columns:1fr 1fr}
  .galeria-marco{margin:0 -24px}
  .galeria{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:0;scrollbar-width:none;border-radius:0}
  .galeria::-webkit-scrollbar{display:none}
  .gal-item{flex:0 0 100%;aspect-ratio:4/3;scroll-snap-align:center}
  .gal-todas{right:12px;bottom:12px;height:36px;font-size:13px}
  .gal-cuenta{display:block;position:absolute;left:12px;bottom:12px;padding:5px 10px;border-radius:999px;
    background:rgba(4,33,23,.55);color:#fff;font-family:var(--mono);font-size:12px;
    -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
  .ficha-cols{grid-template-columns:1fr}
  .contacto{position:static;margin-top:44px}
  .barra-movil{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;align-items:center;justify-content:space-between;
    gap:12px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));
    background:rgba(250,251,250,.86);-webkit-backdrop-filter:saturate(1.4) blur(18px);backdrop-filter:saturate(1.4) blur(18px);
    border-top:1px solid var(--linea-2)}
  .barra-movil b{display:block;font-size:20px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.1}
  .barra-movil span{font-size:12px;color:var(--gris);font-weight:600}
  .barra-movil .btn span{font-size:15px;color:#fff}
  .ficha{padding-bottom:110px}
  .confianza ul{grid-template-columns:1fr}
  .pie-top{grid-template-columns:1fr 1fr}
  .pie-marca{grid-column:1/-1}
  .guia ol{grid-template-columns:1fr}
}
@media (max-width:720px){
  .hd-nav{display:none}
  .hd-in{justify-content:space-between}
  .hd-logo img{height:34px}
}
@media (max-width:640px){
  .envoltura{padding:0 16px}
  .galeria-marco{margin:0 -16px}
  .hero{padding:36px 0 28px}
  .hero-sub{font-size:16px}
  .bus{padding:10px;border-radius:20px}
  .bus-fila,.bus-fila-2{grid-template-columns:1fr}
  .bus-check{width:100%}
  .rejilla{grid-template-columns:1fr}
  .res-barra{flex-wrap:wrap}
  .manejamos ul{grid-template-columns:1fr 1fr}
  .datos{grid-template-columns:1fr 1fr}
  .datos li:nth-child(odd){border-left:0}
  .datos li:nth-child(4){border-left:1px solid var(--linea-2)}
  .datos li:nth-child(n+3){border-top:1px solid var(--linea-2)}
  .datos li{padding:14px}
  .dos{grid-template-columns:1fr;gap:18px}
  .lista-2{columns:1}
  .cond div{grid-template-columns:1fr;gap:2px}
  .sec-visita,.revision,.contacto{padding:22px}
  .revision{flex-direction:column;gap:12px}
  .otra .pedido{flex-direction:column;align-items:flex-start}
  .vis-slide{padding:64px 12px 48px}
  .vis-ant,.vis-sig{top:auto;bottom:14px;transform:none}
  .pie-top{grid-template-columns:1fr}
}

@media (prefers-reduced-motion:reduce){
  *{transition:none!important;animation:none!important;scroll-behavior:auto!important}
}
@media print{
  .hd,.barra-movil,.contacto .btn,.gal-todas,.pedido,.visor{display:none!important}
}
