/* ===========================================================================
   Tema "Laria" (familia 11) — rehecho el 7/10/2026 con la guía "Atelier
   Estate" que trajo Stitch (C:\STICH\LARIA 2.zip).
   ---------------------------------------------------------------------------
   Reemplaza por completo al Laria anterior ("Serene Architectural Living",
   salvia y pizarra). Ahora es verde bosque profundo + champagne sobre
   porcelana, con Noto Serif en los títulos y Manrope en el texto.

   ESTE DISEÑO ES EXCLUSIVO DE LARIA BIENES RAÍCES. Los textos, la matrícula y
   los barrios son los de esa inmobiliaria y están fijos a pedido de Ernesto
   (7/10/2026), así que la plantilla NO se ofrece en el catálogo: la fila lleva
   `oculta = 1` y se asigna a mano. Por eso tampoco hay paletas: el color es
   parte de la marca y no se cambia. Los archivos de css/skins/la-*.css quedan
   en su lugar pero este tema ya no los carga.

   Las páginas internas que no rehízo Stitch (listado, ficha, contacto, equipo,
   blog) siguen siendo las de Nova, así que theme_11/head carga primero
   nova.css y encima esta hoja, que redefine sus variables. El body lleva
   "nv la". Lo propio lleva prefijo .ae- (Atelier Estate).
   =========================================================================== */

:root {
    /* --- Colores de MARCA de Laria (los de su web, 7/10/2026). ---
       Los ocho que se pueden retocar en "Tu sitio → Configurar → Retocar los
       colores" (theme_11/head los inyecta encima) son:
         Color principal ........ --ae-primary       #618477 verde de marca
         Principal oscuro ....... --ae-primary-hover #a28f7d arena (al pasar
                                  el mouse, y el acento: itálicas, volantas)
         Fondo oscuro ........... --ae-primary-deep  #618477 (el pie)
         Fondo de la página ..... --ae-surface       #faf9fb
         Fondo de las tarjetas .. --ae-linen         #f0edf5
         Bordes ................. --ae-border        #e6e6e8
         Texto principal ........ --ae-texto         #3a404a
         Texto secundario ....... --ae-muted         #7c7289
       Todo lo demás se deriva de esos, así un retoque llega a todo el sitio. */
    --ae-primary: #618477;
    --ae-primary-deep: #618477;
    --ae-primary-hover: #a28f7d;
    --ae-primary-container: var(--ae-primary);
    --ae-on-primary: #ffffff;
    --ae-primary-fixed-dim: #ffffff;
    --ae-on-primary-fixed-variant: var(--ae-primary);

    --ae-secondary: var(--ae-primary-hover);
    --ae-secondary-deep: var(--ae-primary-hover);
    --ae-secondary-light: var(--ae-linen);
    --ae-secondary-container: var(--ae-primary);
    --ae-on-secondary: #ffffff;
    --ae-on-secondary-container: #ffffff;
    --ae-secondary-fixed: var(--ae-primary-hover);

    --ae-tertiary: var(--ae-primary);
    --ae-tertiary-container: var(--ae-primary-hover);
    --ae-badge: var(--ae-primary);

    --ae-canvas: #ffffff;
    --ae-surface: #faf9fb;
    --ae-surface-low: var(--ae-surface);
    --ae-surface-container: var(--ae-linen);
    --ae-surface-high: var(--ae-linen);
    --ae-linen: #f0edf5;
    --ae-sand: var(--ae-linen);
    --ae-white: #ffffff;

    --ae-border: #e6e6e8;
    --ae-border-strong: #cfd0d4;
    --ae-texto: #3a404a;
    --ae-texto-2: var(--ae-texto);
    --ae-muted: #7c7289;
    --ae-on-dark: #ffffff;

    --ae-sombra-1: 0 4px 20px -2px rgba(35,46,43,.05), 0 2px 6px -1px rgba(35,46,43,.03);
    --ae-sombra-2: 0 12px 32px -4px rgba(35,46,43,.08), 0 4px 12px -2px rgba(35,46,43,.04);
    --ae-sombra-3: 0 12px 32px -4px rgba(35,46,43,.12);
    --ae-wa: #0e372b;

    /* Montserrat en todo, como su web. */
    --ae-serif: "Montserrat", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
    --ae-sans: "Montserrat", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Arial, sans-serif;

    --ae-ancho: 1380px;

    /* Lo que esperan las páginas internas compartidas con Nova. */
    --acento: var(--ae-primary);
    --acento-claro: var(--ae-primary-hover);
    --acento-texto: #ffffff;
    --tinta: var(--ae-primary-deep);
    --tinta-2: var(--ae-primary);
    --gris-borde: var(--ae-border);
    --gris-suave: var(--ae-linen);
    --gris-texto: var(--ae-muted);
    --gris-fuerte: var(--ae-texto);
    --papel: var(--ae-surface);
}

.la {
    font-family: var(--ae-sans);
    color: var(--ae-texto);
    background: var(--ae-surface);
}
.la h1, .la h2, .la h3, .la h4,
.la .nv-titulo h2, .la .nv-encabezado h1 {
    font-family: var(--ae-serif);
    font-weight: 400;
    letter-spacing: -.015em;
}
.ae-contenedor, .la .nv-contenedor { max-width: var(--ae-ancho); margin: 0 auto; padding: 0 24px; }

/* Volanta editorial en versalitas, el sello del diseño. */
.ae-volanta {
    display: inline-flex; align-items: center; gap: 8px;
    font-family: var(--ae-sans); font-size: 11px; font-weight: 700;
    letter-spacing: .14em; text-transform: uppercase; color: var(--ae-secondary-deep);
}
.ae-volanta i { width: 8px; height: 8px; border-radius: 50%; background: var(--ae-secondary); display: inline-block; flex: 0 0 auto; }

/* ---------------------------------------------------------- barra superior */
.ae-info { background: var(--ae-primary-deep); color: var(--ae-on-dark); }
.ae-info .ae-contenedor { display: flex; align-items: center; justify-content: space-between; gap: 10px 28px; min-height: 36px; flex-wrap: wrap; }
.ae-info-izq { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
.ae-info a, .ae-info span { display: inline-flex; align-items: center; gap: 6px; color: inherit; font-size: 12px; font-weight: 600; letter-spacing: .08em; }
.ae-info svg { width: 15px; height: 15px; color: var(--ae-secondary); flex: 0 0 auto; }
.ae-info a:hover { color: #fff; }
.ae-info .ae-matricula { font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--ae-secondary); }

/* ----------------------------------------------------------------- cabecera */
.ae-barra {
    position: sticky; top: 0; z-index: 60;
    background: rgba(251,250,248,.9);
    -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--ae-border);
}
.ae-barra .ae-contenedor { display: flex; align-items: center; gap: 16px; min-height: 80px; }
.ae-marca { display: flex; align-items: center; gap: 12px; margin-right: auto; }
.ae-marca img { max-height: 44px; width: auto; }
.ae-marca-texto { display: flex; flex-direction: column; line-height: 1.15; }
.ae-marca-texto strong { font-family: var(--ae-serif); font-size: 20px; font-weight: 600; letter-spacing: -.01em; color: var(--ae-primary); }
.ae-marca-texto span { font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--ae-secondary-deep); }
.ae-nav { display: flex; align-items: center; gap: 6px; }
.ae-nav a {
    padding: 8px 12px; border-radius: 8px;
    font-size: 14px; font-weight: 600; letter-spacing: .04em;
    color: var(--ae-texto-2); transition: background .15s ease, color .15s ease;
}
.ae-nav a:hover { color: var(--ae-texto); }
.ae-nav a.ae-activo { background: var(--ae-primary-container); color: var(--ae-primary-fixed-dim); }
.ae-menu-boton { display: none; margin-left: auto; background: none; border: 0; color: var(--ae-primary); font-size: 26px; line-height: 1; padding: 6px; cursor: pointer; }

/* ------------------------------------------------------------------ botones */
.la .ae-boton {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    padding: 12px 24px; border: 0; border-radius: 8px;
    background: var(--ae-primary); color: var(--ae-on-primary);
    font-family: var(--ae-sans); font-size: 14px; font-weight: 600; letter-spacing: .04em;
    cursor: pointer; box-shadow: 0 1px 2px rgba(35,46,43,.06);
    transition: background .2s ease, color .2s ease, transform .2s ease;
}
.la .ae-boton:hover { background: var(--ae-primary-hover); color: var(--ae-on-primary); transform: translateY(-1px); }
.la .ae-boton-champagne { background: var(--ae-secondary); color: var(--ae-on-secondary); }
.la .ae-boton-champagne:hover { background: var(--ae-secondary-container); color: var(--ae-on-secondary-container); }
.la .ae-boton-borde { background: transparent; border: 1px solid var(--ae-primary); color: var(--ae-primary); box-shadow: none; }
.la .ae-boton-borde:hover { background: var(--ae-primary); color: #fff; }
.la .ae-boton svg { width: 18px; height: 18px; }

/* --------------------------------------------------------------------- hero */
.ae-hero { position: relative; width: 100%; background: var(--ae-surface-low); overflow: hidden; }
.ae-hero .ae-contenedor { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; align-items: center; padding-top: 56px; padding-bottom: 56px; }
.ae-hero-texto { display: flex; flex-direction: column; align-items: flex-start; z-index: 2; }
.ae-hero-pildora {
    display: inline-flex; align-items: center; gap: 6px;
    background: var(--ae-sand); padding: 4px 12px; border-radius: 9999px; margin-bottom: 12px;
}
.ae-hero h1 {
    margin: 0 0 12px;
    font-size: 56px; line-height: 1; letter-spacing: -.02em; color: var(--ae-primary);
}
.ae-hero h1 em { font-style: italic; font-weight: 400; color: var(--ae-secondary); display: block; }
.ae-cita { position: relative; padding-left: 20px; margin: 12px 0; border-left: 2px solid var(--ae-secondary); }
.ae-cita p { margin: 0; font-size: 15px; line-height: 24px; font-weight: 500; color: var(--ae-texto-2); }
.ae-hero-bajada { margin: 6px 0 20px; max-width: 36rem; font-size: 15px; line-height: 24px; color: var(--ae-muted); }
.ae-sello {
    display: flex; align-items: center; justify-content: space-between; gap: 20px;
    width: 100%; max-width: 28rem; margin-bottom: 20px;
    background: var(--ae-linen); padding: 12px; border-radius: 8px;
}
.ae-sello-izq { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 600; letter-spacing: .08em; color: var(--ae-primary); }
.ae-sello-izq svg { width: 20px; height: 20px; }
.ae-sello span.ae-sello-der { font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--ae-texto-2); }
.ae-hero-botones { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.ae-metricas {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px;
    width: 100%; max-width: 32rem; margin-top: 56px; padding-top: 20px;
    border-top: 1px solid var(--ae-border);
}
.ae-metricas strong { display: block; font-family: var(--ae-serif); font-size: 40px; line-height: 50px; font-weight: 700; letter-spacing: -.015em; color: var(--ae-primary); }
.ae-metricas span { display: block; font-size: 12px; font-weight: 600; letter-spacing: .08em; color: var(--ae-muted); }

.ae-hero-foto { position: relative; }
.ae-hero-marco { position: relative; border-radius: 16px; overflow: hidden; box-shadow: 0 25px 50px -12px rgba(35,46,43,.25); background: var(--ae-surface-container); aspect-ratio: 5 / 4; }
.ae-hero-marco > div { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: 0; transition: opacity 1.4s ease; }
.ae-hero-marco > div.ae-visible { opacity: 1; }
.ae-hero-pie {
    position: absolute; inset: 0; z-index: 2; display: flex; flex-direction: column; justify-content: flex-end; padding: 20px;
    background: linear-gradient(to top, rgba(45,77,66,.8), transparent 55%);
}
.ae-hero-pie > div {
    background: rgba(251,250,248,.9); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
    padding: 12px; border-radius: 8px; max-width: 28rem; box-shadow: 0 4px 6px -1px rgba(35,46,43,.1);
}
.ae-hero-pie strong { display: block; font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--ae-secondary); }
.ae-hero-pie p { margin: 2px 0 0; font-family: var(--ae-serif); font-size: 20px; line-height: 28px; color: var(--ae-texto); }
.ae-mini {
    position: absolute; left: -24px; bottom: -24px; z-index: 3;
    display: flex; align-items: center; gap: 12px; max-width: 20rem;
    background: var(--ae-canvas); padding: 12px; border-radius: 12px;
    border: 1px solid var(--ae-border); box-shadow: 0 20px 25px -5px rgba(35,46,43,.12);
}
.ae-mini-icono { width: 40px; height: 40px; border-radius: 8px; background: var(--ae-sand); color: var(--ae-primary); display: flex; align-items: center; justify-content: center; flex: 0 0 auto; }
.ae-mini-icono svg { width: 24px; height: 24px; }
.ae-mini strong { display: block; font-size: 12px; font-weight: 700; letter-spacing: .08em; color: var(--ae-primary); }
.ae-mini span { display: block; font-size: 13px; line-height: 20px; color: var(--ae-muted); }

/* --------------------------------------------------------------- buscador */
.ae-buscador-caja { position: relative; z-index: 20; max-width: var(--ae-ancho); margin: -32px auto 0; padding: 0 24px; }
.ae-buscador {
    background: var(--ae-canvas); border: 1px solid var(--ae-border); border-radius: 12px;
    padding: 20px; box-shadow: var(--ae-sombra-3);
}
.ae-solapas { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; padding-bottom: 12px; margin-bottom: 12px; border-bottom: 1px solid var(--ae-border); }
.ae-solapas a {
    padding: 4px 12px; border-radius: 4px;
    background: var(--ae-sand); color: var(--ae-texto-2);
    font-size: 12px; font-weight: 600; letter-spacing: .08em;
    transition: background .15s ease, color .15s ease;
}
.ae-solapas a:hover { color: var(--ae-texto); }
.ae-solapas a.ae-activa { background: var(--ae-primary); color: var(--ae-on-primary); }
.ae-buscador form { display: grid; grid-template-columns: 4fr 3fr 3fr 2fr; gap: 12px; align-items: end; }
.ae-campo { display: flex; flex-direction: column; gap: 4px; }
.ae-campo label { font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--ae-texto-2); }
.ae-campo-caja { display: flex; align-items: center; gap: 8px; background: var(--ae-surface); border-radius: 8px; padding: 8px 12px; }
.ae-campo-caja svg { width: 20px; height: 20px; color: var(--ae-muted); flex: 0 0 auto; }
.ae-campo input, .ae-campo select {
    width: 100%; border: 0; background: transparent; color: var(--ae-texto);
    font-family: var(--ae-sans); font-size: 13px; line-height: 20px; cursor: pointer;
}
.ae-campo input { cursor: text; }
.ae-campo input:focus, .ae-campo select:focus { outline: 0; }
.ae-campo input::placeholder { color: var(--ae-muted); }
.ae-buscador .ae-boton { width: 100%; padding: 10px 12px; font-size: 12px; letter-spacing: .08em; }

/* ------------------------------------------------------------------ seccion */
.ae-seccion { width: 100%; max-width: var(--ae-ancho); margin: 0 auto; padding: 56px 24px 32px; }
.ae-seccion-ancha { max-width: none; padding-left: 0; padding-right: 0; }
.ae-titulo-fila { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; flex-wrap: wrap; margin-bottom: 32px; }
.ae-titulo-fila h2 { margin: 2px 0 0; font-size: 40px; line-height: 50px; color: var(--ae-primary); letter-spacing: -.015em; }
.ae-titulo-fila p { margin: 4px 0 0; font-size: 13px; line-height: 20px; color: var(--ae-muted); }
.ae-filtros { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.ae-filtros a.ae-chip {
    padding: 4px 12px; border-radius: 4px; background: var(--ae-sand); color: var(--ae-texto-2);
    font-size: 12px; font-weight: 600; letter-spacing: .08em; transition: background .15s ease, color .15s ease;
}
.ae-filtros a.ae-chip:hover { color: var(--ae-texto); }
.ae-filtros a.ae-chip.ae-activa { background: var(--ae-primary); color: var(--ae-on-primary); }
.ae-ver-todas { display: inline-flex; align-items: center; gap: 4px; margin-left: 12px; font-size: 12px; font-weight: 600; letter-spacing: .08em; color: var(--ae-secondary); }
.ae-ver-todas:hover { color: var(--ae-secondary-container); }
.ae-ver-todas svg { width: 16px; height: 16px; }

/* ------------------------------------------------------------------ tarjeta */
.ae-grilla { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.la .ae-tarjeta {
    display: flex; flex-direction: column; overflow: hidden;
    background: var(--ae-linen); border-radius: 12px; box-shadow: var(--ae-sombra-1);
    transition: box-shadow .3s ease, transform .3s ease;
}
.la .ae-tarjeta:hover { box-shadow: var(--ae-sombra-2); transform: translateY(-2px); }
.la .ae-foto { position: relative; aspect-ratio: 16 / 10; overflow: hidden; background: var(--ae-surface-container); }
.la .ae-foto img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s ease; }
.la .ae-tarjeta:hover .ae-foto img { transform: scale(1.05); }
.la .ae-banderas { position: absolute; top: 12px; left: 12px; z-index: 2; display: flex; flex-wrap: wrap; gap: 6px; }
.la .ae-bandera {
    padding: 2px 10px; border-radius: 4px;
    background: rgba(45,77,66,.9); color: var(--ae-on-primary);
    -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
    font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
}
.la .ae-bandera-oro { background: rgba(191,160,124,.9); color: var(--ae-on-dark); }
.la .ae-bandera-arena { background: var(--ae-sand); color: var(--ae-primary); }
.la .ae-ref {
    position: absolute; right: 12px; bottom: 12px; z-index: 2;
    background: rgba(251,250,248,.9); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px);
    padding: 2px 12px; border-radius: 4px; box-shadow: 0 1px 2px rgba(35,46,43,.08);
    font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--ae-texto-2);
}
.la .ae-cuerpo { padding: 20px; display: flex; flex-direction: column; flex: 1; justify-content: space-between; }
.la .ae-precio-fila { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin-bottom: 4px; }
.la .ae-precio { font-size: 17px; font-weight: 700; letter-spacing: .01em; color: var(--ae-primary); }
.la .ae-precio-nota { font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--ae-muted); }
.la .ae-cuerpo h3 {
    margin: 0 0 8px; font-family: var(--ae-serif); font-size: 20px; line-height: 28px; font-weight: 600; color: var(--ae-texto);
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
    transition: color .2s ease;
}
.la .ae-tarjeta:hover .ae-cuerpo h3 { color: var(--ae-primary); }
.la .ae-lugar { display: flex; align-items: center; gap: 4px; margin-bottom: 12px; font-size: 13px; line-height: 20px; color: var(--ae-texto-2); }
.la .ae-lugar svg { width: 16px; height: 16px; color: var(--ae-secondary); flex: 0 0 auto; }
.la .ae-lugar span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.la .ae-datos { padding-top: 12px; border-top: 1px solid var(--ae-border); display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: 13px; color: var(--ae-texto-2); }
.la .ae-datos > span { display: inline-flex; align-items: center; gap: 4px; }
.la .ae-datos svg { width: 18px; height: 18px; color: var(--ae-muted); flex: 0 0 auto; }

/* ----------------------------------------------------------------- tasacion */
.ae-tasacion { display: grid; grid-template-columns: 1fr 1fr; border-radius: 16px; overflow: hidden; box-shadow: 0 20px 25px -5px rgba(35,46,43,.12); }
.ae-tasacion-izq { position: relative; background: var(--ae-primary); color: var(--ae-on-dark); padding: 56px 40px; display: flex; flex-direction: column; justify-content: space-between; }
.ae-tasacion-izq .ae-volanta { color: var(--ae-secondary); background: rgba(237,233,226,.1); padding: 4px 12px; border-radius: 9999px; }
.ae-tasacion-izq .ae-volanta i { background: var(--ae-secondary); }
.ae-tasacion-izq h2 { margin: 16px 0 0; font-size: 56px; line-height: 1.1; letter-spacing: -.02em; color: #fff; }
.ae-tasacion-izq h2 em { font-style: italic; font-weight: 400; color: var(--ae-secondary-fixed); display: block; }
.ae-tasacion-izq > div > p { margin: 16px 0 0; max-width: 32rem; font-size: 17px; line-height: 28px; color: var(--ae-primary-fixed-dim); }
.ae-tasacion-datos { position: relative; z-index: 2; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 56px; padding-top: 20px; border-top: 1px solid rgba(45,77,66,.4); }
.ae-tasacion-datos strong { display: block; font-size: 17px; font-weight: 700; letter-spacing: .01em; color: var(--ae-secondary); }
.ae-tasacion-datos p { margin: 2px 0 0; font-size: 13px; line-height: 20px; color: var(--ae-primary-fixed-dim); }
.ae-tasacion-adorno { position: absolute; right: -80px; bottom: -80px; opacity: .1; pointer-events: none; color: #fff; }
.ae-tasacion-der { background: var(--ae-surface-high); padding: 56px 40px; display: flex; flex-direction: column; justify-content: center; }
.ae-tasacion-der h3 { margin: 0 0 4px; font-family: var(--ae-serif); font-size: 20px; line-height: 28px; font-weight: 600; color: var(--ae-primary); }
.ae-tasacion-der > p { margin: 0 0 20px; font-size: 13px; line-height: 20px; color: var(--ae-texto-2); }

/* El formulario real del CRM, vestido como el de la maqueta. */
.la .ae-form { display: grid; gap: 12px; }
.la .ae-form-fila { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.la .ae-form-campo { display: flex; flex-direction: column; gap: 4px; }
.la .ae-form label { font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--ae-texto-2); }
.la .ae-form input, .la .ae-form select, .la .ae-form textarea {
    width: 100%; background: var(--ae-white); border: 1px solid transparent; border-radius: 8px;
    padding: 8px 12px; font-family: var(--ae-sans); font-size: 13px; line-height: 20px; color: var(--ae-texto);
}
.la .ae-form textarea { resize: none; min-height: 84px; }
.la .ae-form input:focus, .la .ae-form select:focus, .la .ae-form textarea:focus { outline: 0; border-color: var(--ae-primary); box-shadow: 0 0 0 1px var(--ae-primary); }
.la .ae-form .ae-boton { width: 100%; }
.la .ae-form .nv-error { font-size: 12px; color: #ba1a1a; }
.la .ae-aviso { padding: 12px; border-radius: 8px; background: #c1ecda; color: #002118; font-size: 13px; text-align: center; margin-bottom: 12px; }
.la .ae-aviso-malo { background: #ffdad6; color: #93000a; }

/* ----------------------------------------------------------------- pilares */
.ae-pilares-seccion { width: 100%; background: var(--ae-surface-container); padding: 56px 0; }
.ae-pilares-titulo { max-width: 42rem; margin: 0 auto 56px; text-align: center; }
.ae-pilares-titulo .ae-volanta { justify-content: center; margin-bottom: 4px; }
.ae-pilares-titulo h2 { margin: 0; font-size: 40px; line-height: 50px; color: var(--ae-primary); letter-spacing: -.015em; }
.ae-pilares-titulo p { margin: 8px 0 0; font-size: 15px; line-height: 24px; color: var(--ae-muted); }
.ae-pilares { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; }
.ae-pilar { background: var(--ae-canvas); padding: 20px; border-radius: 12px; box-shadow: var(--ae-sombra-1); display: flex; flex-direction: column; align-items: flex-start; transition: box-shadow .2s ease; }
.ae-pilar:hover { box-shadow: 0 4px 6px -1px rgba(35,46,43,.1); }
.ae-pilar-icono { width: 48px; height: 48px; border-radius: 8px; background: var(--ae-sand); color: var(--ae-primary); display: flex; align-items: center; justify-content: center; margin-bottom: 12px; }
.ae-pilar-icono svg { width: 26px; height: 26px; }
.ae-pilar h3 { margin: 0 0 4px; font-family: var(--ae-sans); font-size: 17px; line-height: 24px; font-weight: 700; letter-spacing: .01em; color: var(--ae-primary); }
.ae-pilar p { margin: 0; font-size: 13px; line-height: 20px; color: var(--ae-texto-2); }

/* ------------------------------------------------------------------ oficina */
.ae-oficina { background: var(--ae-linen); border-radius: 16px; padding: 40px; display: grid; grid-template-columns: 5fr 7fr; gap: 32px; align-items: center; }
.ae-oficina h3 { margin: 6px 0 0; font-size: 40px; line-height: 50px; color: var(--ae-primary); letter-spacing: -.015em; }
.ae-oficina > div > p { margin: 12px 0 0; font-size: 15px; line-height: 24px; color: var(--ae-texto-2); }
.ae-oficina ul { list-style: none; padding: 0; margin: 16px 0 0; display: grid; gap: 6px; }
.ae-oficina li { display: flex; align-items: flex-start; gap: 6px; font-size: 13px; line-height: 20px; color: var(--ae-texto); }
.ae-oficina li svg { width: 20px; height: 20px; color: var(--ae-secondary); flex: 0 0 auto; margin-top: 1px; }
.ae-oficina-botonera { padding-top: 12px; }
.ae-mapa { width: 100%; height: 320px; border-radius: 12px; overflow: hidden; background: var(--ae-surface-container) center/cover no-repeat; box-shadow: inset 0 2px 4px rgba(35,46,43,.06); }
.ae-mapa img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* ------------------------------------------------------------- Nosotros */
.ae-nosotros { max-width: 52rem; }
.ae-nosotros h1 { margin: 6px 0 20px; font-size: 56px; line-height: 68px; letter-spacing: -.02em; color: var(--ae-primary); }
.ae-nosotros > p { margin: 0 0 20px; font-size: 17px; line-height: 28px; color: var(--ae-texto-2); }
.ae-bloques { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; margin-top: 40px; }
.ae-bloque { background: var(--ae-canvas); border: 1px solid var(--ae-border); border-radius: 12px; padding: 24px; box-shadow: var(--ae-sombra-1); }
.ae-bloque h2 { margin: 0 0 8px; font-size: 26px; line-height: 34px; color: var(--ae-primary); }
.ae-bloque p { margin: 0; font-size: 15px; line-height: 24px; color: var(--ae-texto-2); }
.ae-bloque ul { margin: 8px 0 0; padding-left: 18px; font-size: 15px; line-height: 26px; color: var(--ae-texto-2); }
.ae-compromiso { margin-top: 32px; background: var(--ae-primary); color: var(--ae-on-dark); border-radius: 16px; padding: 40px; }
.ae-compromiso h2 { margin: 0 0 12px; font-size: 26px; line-height: 34px; color: #fff; }
.ae-compromiso p { margin: 0 0 10px; font-size: 15px; line-height: 24px; color: var(--ae-primary-fixed-dim); }
.ae-compromiso strong { color: var(--ae-secondary); }

/* ---------------------------------------------------------------------- pie */
.ae-pie { width: 100%; background: var(--ae-surface-low); color: var(--ae-texto); margin-top: 56px; }
.ae-pie .ae-contenedor { padding-top: 56px; padding-bottom: 32px; }
.ae-pie-grilla { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; margin-bottom: 56px; }
.ae-pie-marca { display: flex; align-items: center; gap: 6px; }
.ae-pie-marca strong { font-family: var(--ae-serif); font-size: 20px; font-weight: 600; letter-spacing: -.01em; color: var(--ae-primary); }
.ae-pie-marca span { font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--ae-secondary-deep); }
.ae-pie p { margin: 12px 0 0; font-size: 13px; line-height: 20px; color: var(--ae-texto-2); }
.ae-pie-sello { display: inline-block; margin-top: 12px; padding: 6px 12px; border-radius: 8px; background: var(--ae-sand); font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--ae-badge); }
.ae-pie h4 { margin: 0 0 12px; font-size: 14px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--ae-primary); }
.ae-pie ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 6px; font-size: 13px; line-height: 20px; color: var(--ae-texto-2); }
.ae-pie li { display: flex; align-items: flex-start; gap: 6px; }
.ae-pie li svg { width: 18px; height: 18px; color: var(--ae-secondary); flex: 0 0 auto; margin-top: 1px; }
.ae-pie a:hover { color: var(--ae-primary); }
.ae-pie-abajo {
    display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap;
    padding: 12px 20px; border-radius: 8px; background: rgba(228,241,236,.5);
    font-size: 12px; font-weight: 600; letter-spacing: .08em; color: var(--ae-texto-2);
}
.ae-pie-abajo p { margin: 0; font-size: 12px; color: inherit; }
.ae-pie-abajo div { display: flex; align-items: center; gap: 20px; }

.la .ae-whatsapp {
    position: fixed; right: 24px; bottom: 24px; z-index: 90;
    display: flex; align-items: center; gap: 6px;
    padding: 12px 20px; border-radius: 9999px;
    background: var(--ae-tertiary); color: #fff;
    font-size: 14px; font-weight: 600; letter-spacing: .04em;
    box-shadow: 0 12px 32px -4px rgba(35,46,43,.18);
    transition: background .2s ease;
}
.la .ae-whatsapp:hover { background: var(--ae-tertiary-container); color: #fff; }
.la .ae-whatsapp svg { width: 20px; height: 20px; }

/* ------------------------------------------- páginas internas (Nova, .nv-) */
.la .nv-encabezado { background: var(--ae-surface-low); color: var(--ae-primary); padding: 48px 0 24px; }
.la .nv-encabezado h1 { color: var(--ae-primary); font-size: 40px; line-height: 50px; font-weight: 400; letter-spacing: -.015em; }
.la .nv-encabezado p { color: var(--ae-muted); }
.la .nv-seccion { padding: 32px 0 64px; }
.la .nv-seccion.nv-gris { background: var(--ae-surface); }
.la .nv-caja { border-radius: 12px; border-color: var(--ae-border); box-shadow: var(--ae-sombra-1); background: var(--ae-canvas); }
.la .nv-caja h2, .la .nv-caja h3 { color: var(--ae-primary); }
.la .nv-grilla { grid-template-columns: repeat(3, 1fr); gap: 32px; }
.la .nv-orden { color: var(--ae-muted); font-size: 13px; }
.la .nv-formulario input, .la .nv-formulario select, .la .nv-formulario textarea { border: 1px solid var(--ae-border); border-radius: 8px; background: var(--ae-white); font-family: var(--ae-sans); }
.la .nv-formulario input:focus, .la .nv-formulario select:focus, .la .nv-formulario textarea:focus { outline: 0; border-color: var(--ae-primary); box-shadow: 0 0 0 1px var(--ae-primary); }
.la .nv-boton { border-radius: 8px; font-family: var(--ae-sans); font-weight: 600; letter-spacing: .04em; background: var(--ae-primary); }
.la .nv-boton:hover { background: var(--ae-primary-hover); }
.la .nv-paginado li a, .la .nv-paginado li span { border-radius: 8px; }
.la .nv-paginado li.active span { background: var(--ae-primary); border-color: var(--ae-primary); }
.la .nv-galeria-principal { border-radius: 12px; }
.la .nv-etiqueta { border-radius: 4px; font-family: var(--ae-sans); font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.la .nv-ficha { border-radius: 12px; }
.la .nv-agente img { border-radius: 12px; }
.la .nv-whatsapp { display: none; } /* el globo es el de este tema */
.la .zf-boton-buscar { background: var(--ae-primary) !important; border-color: var(--ae-primary) !important; border-radius: 8px !important; }
.la .zf-boton-buscar:hover { background: var(--ae-primary-hover) !important; }
.la .zf-boton-filtros { border-radius: 8px !important; border-color: var(--ae-primary) !important; color: var(--ae-primary) !important; }

/* -------------------------------------------------------------- responsive */
@media (max-width: 1100px) {
    .ae-hero .ae-contenedor { grid-template-columns: 1fr; }
    .ae-hero h1 { font-size: 38px; line-height: 46px; }
    .ae-mini { left: 12px; bottom: -20px; }
    .ae-buscador form { grid-template-columns: 1fr 1fr; }
    .ae-buscador form > div:last-child { grid-column: 1 / -1; }
    .ae-grilla, .la .nv-grilla { grid-template-columns: repeat(2, 1fr); }
    .ae-pilares { grid-template-columns: repeat(2, 1fr); }
    .ae-tasacion { grid-template-columns: 1fr; }
    .ae-tasacion-izq, .ae-tasacion-der { padding: 32px 24px; }
    .ae-tasacion-izq h2 { font-size: 38px; }
    .ae-oficina { grid-template-columns: 1fr; padding: 24px; }
    .ae-oficina h3, .ae-titulo-fila h2, .ae-pilares-titulo h2 { font-size: 28px; line-height: 36px; }
    .ae-pie-grilla { grid-template-columns: 1fr 1fr; }
    .ae-bloques { grid-template-columns: 1fr; }
    .ae-nosotros h1 { font-size: 38px; line-height: 46px; }
}
@media (max-width: 720px) {
    .ae-contenedor, .la .nv-contenedor { padding: 0 20px; }
    .ae-info-izq { gap: 10px; }
    .ae-info .ae-matricula { display: none; }
    .ae-menu-boton { display: block; }
    .ae-barra .ae-contenedor { flex-wrap: wrap; }
    .ae-nav { display: none; width: 100%; flex-direction: column; align-items: stretch; padding-bottom: 12px; }
    .ae-nav.ae-abierto { display: flex; }
    .ae-barra .ae-boton-champagne { display: none; }
    .ae-hero-botones .ae-boton { width: 100%; }
    .ae-metricas { margin-top: 32px; }
    .ae-mini { display: none; }
    .ae-buscador form { grid-template-columns: 1fr; }
    .ae-grilla, .la .nv-grilla { grid-template-columns: 1fr; }
    .ae-pilares { grid-template-columns: 1fr; }
    .ae-pie-grilla { grid-template-columns: 1fr; }
    .ae-tasacion-datos { grid-template-columns: 1fr; }
    .la .ae-form-fila { grid-template-columns: 1fr; }
    .la .ae-whatsapp span { display: none; }
    .la .ae-whatsapp { padding: 14px; }
}

/* ------------------------------------------------------- hero de su web (7/10)
   Calcado de lariabienesraices.com.ar: sus colores, Montserrat y las
   etiquetas de los contadores en serif, como se ven allá. La imagen va entera:
   trae logo y frase escritos y cualquier recorte se come una de las dos.
   El abajo deja 72px libres porque la bandeja del buscador sube 32px encima. */
.lh-hero {
    --lh-verde: var(--ae-primary); --lh-arena: var(--ae-primary-hover); --lh-texto: var(--ae-texto); --lh-gris: var(--ae-muted); --lh-fondo: var(--ae-surface);
    display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 40px;
    min-height: calc(100vh - 116px); background: var(--lh-fondo);
    padding: 48px max(24px, calc((100% - var(--ae-ancho)) / 2 + 24px)) 72px;
    font-family: "Montserrat", sans-serif;
}
.lh-hero-izq { display: flex; flex-direction: column; justify-content: center; }
.lh-volanta {
    display: flex; align-items: center; gap: .75rem; margin-bottom: 1.5rem;
    font-size: .7rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--lh-arena);
}
.lh-volanta::before { content: ''; display: inline-block; width: 32px; height: 1px; background: var(--lh-arena); }
.lh-hero h1 {
    margin: 0 0 1.75rem; font-family: "Montserrat", sans-serif; font-size: clamp(2.4rem, 4.5vw, 4.6rem);
    font-weight: 300; line-height: 1.05; color: var(--lh-verde);
}
.lh-hero h1 em { font-style: italic; font-weight: 300; color: var(--lh-arena); }
.lh-bajada { max-width: 400px; margin: 0 0 2.5rem; font-size: .95rem; line-height: 1.8; color: var(--lh-texto); }
.lh-bajada b { font-weight: 700; }
.lh-cuadros { display: flex; flex-direction: column; gap: 10px; max-width: 420px; margin: -1rem 0 2.5rem; }
.lh-cuadro {
    display: flex; align-items: center; gap: 10px; padding: 14px 20px;
    border: 1px solid rgba(97,132,119,.35); background: #fff;
    font-size: .78rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--lh-verde);
}
.lh-cuadro svg { width: 20px; height: 20px; flex: 0 0 auto; color: var(--lh-arena); }
.lh-boton {
    display: inline-block; padding: .85rem 2.25rem; background: var(--lh-verde); color: var(--lh-fondo);
    font-family: "Montserrat", sans-serif; font-size: .75rem; letter-spacing: .12em; text-transform: uppercase;
    text-decoration: none; transition: background .25s;
}
.lh-boton:hover, .lh-boton:focus { background: var(--lh-arena); color: var(--lh-fondo); text-decoration: none; }
.lh-contadores { display: flex; flex-wrap: wrap; gap: 3rem; margin-top: 4rem; padding-top: 2rem; border-top: 1px solid rgba(11,14,26,.1); }
.lh-num { font-family: "Montserrat", sans-serif; font-size: 2.5rem; font-weight: 300; line-height: 1; color: var(--lh-verde); }
.lh-etq { margin-top: .25rem; font-family: "Times New Roman", Times, serif; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; color: var(--lh-gris); }
.lh-hero-der img { display: block; width: 100%; height: auto; }

.lh-anima { opacity: 0; animation: lh-sube .7s ease forwards; }
.lh-d1 { animation-delay: .1s; } .lh-d2 { animation-delay: .25s; } .lh-d3 { animation-delay: .4s; } .lh-d4 { animation-delay: .55s; }
@keyframes lh-sube { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .lh-anima { opacity: 1; animation: none; } }

@media (max-width: 900px) {
    .lh-hero { grid-template-columns: 1fr; min-height: 0; padding-top: 40px; }
    .lh-contadores { gap: 2rem; margin-top: 2.5rem; }
}
@media (max-width: 560px) {
    .lh-hero h1 { font-size: clamp(2rem, 9vw, 2.8rem); }
    .lh-bajada { font-size: .88rem; }
    .lh-contadores { gap: 1.5rem; margin-top: 2rem; padding-top: 1.5rem; }
    .lh-num { font-size: 2rem; }
}

/* ------------------------------------------- encabezado del listado (7/10)
   Calcado de "Todas las propiedades" de su web: volanta, título fino y las
   cuatro solapas (Todos, En venta, En alquiler, Nuevos). */
.lp-encabezado { background: #fff; padding: 56px 0 32px; font-family: "Montserrat", sans-serif; }
.lp-volanta { font-size: .95rem; letter-spacing: .18em; text-transform: uppercase; color: var(--ae-primary-hover); margin-bottom: .5rem; }
.la .lp-encabezado h1 { margin: 0 0 2.25rem; font-family: "Montserrat", sans-serif; font-weight: 300; font-size: clamp(2.6rem, 6vw, 5.6rem); line-height: 1.1; letter-spacing: 0; color: var(--ae-primary); }
.lp-solapas { display: flex; flex-wrap: wrap; }
.lp-solapas a {
    padding: 1.1rem 3rem; border: 1px solid rgba(11,14,26,.1); margin-left: -1px;
    font-size: .95rem; letter-spacing: .14em; text-transform: uppercase; color: var(--ae-muted);
    text-decoration: none; background: #fff; transition: background .2s, color .2s;
}
.lp-solapas a:first-child { margin-left: 0; }
.lp-solapas a:hover, .lp-solapas a:focus { color: var(--ae-primary); text-decoration: none; }
.lp-solapas a.lp-activa { background: var(--ae-primary); border-color: var(--ae-primary); color: #fff; }
@media (max-width: 700px) {
    .lp-encabezado { padding: 36px 0 24px; }
    .lp-solapas a { flex: 1 1 50%; margin: 0 0 -1px -1px; padding: .9rem 1rem; text-align: center; font-size: .8rem; }
}

/* --------------------------------------------------- Nosotros de su web (7/10)
   Texto y foto lado a lado; abajo misión y visión en cajas lavanda. */
.ln-seccion { background: #fff; padding: 72px 0 96px; font-family: "Montserrat", sans-serif; }
.ln-arriba { display: flex; flex-wrap: wrap; align-items: center; gap: 2.5rem; }
.ln-texto, .ln-foto { flex: 1 1 0; min-width: 280px; }
.ln-volanta { font-size: .95rem; letter-spacing: .16em; text-transform: uppercase; color: var(--ae-primary-hover); margin-bottom: .6rem; }
.la .ln-texto h1 { margin: 0 0 2.5rem; font-family: "Montserrat", sans-serif; font-weight: 300; font-size: clamp(2.6rem, 5.5vw, 5.4rem); line-height: 1.1; letter-spacing: 0; color: var(--ae-primary); }
.ln-texto p { max-width: 800px; margin: 0; font-size: 1.2rem; line-height: 1.9; color: var(--ae-texto); }
.ln-foto img { display: block; width: 100%; height: auto; }
.ln-cajas { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; margin-top: 3rem; }
.ln-caja { padding: 2.5rem 2rem; background: var(--ae-linen); }
.la .ln-caja h2 { margin: 0 0 .75rem; font-family: "Montserrat", sans-serif; font-size: 2rem; font-weight: 400; line-height: 1.3; color: var(--ae-primary); }
.ln-caja p { margin: 0; font-size: 1.1rem; line-height: 1.75; color: var(--ae-texto); }
@media (max-width: 760px) {
    .ln-seccion { padding: 44px 0 56px; }
    .ln-texto p { font-size: 1rem; }
    .ln-cajas { grid-template-columns: 1fr; }
    .ln-caja { padding: 1.5rem 1.25rem; }
    .ln-caja p { font-size: .95rem; }
}

/* ===========================================================================
   Laria como su web (7/10/2026): encabezado, pie, tarjeta y botones con la
   marca. Va al final para ganarle a lo de arriba (la maqueta "Atelier
   Estate"), que queda solo para las páginas que no se rehicieron.
   =========================================================================== */
.la { background: var(--ae-surface); }
.la h1, .la h2, .la h3, .la h4, .la .nv-titulo h2, .la .nv-encabezado h1 { font-weight: 300; letter-spacing: 0; }

/* Encabezado: una barra clara, logo, menú en versalitas, Contacto con borde. */
.ae-barra { background: rgba(250,250,247,.88); border-bottom: 1px solid var(--ae-border); }
.ae-barra .ae-contenedor { max-width: none; padding: 0 3rem; min-height: 90px; gap: 2rem; }
.ae-marca { margin-right: 0; }
.ae-marca img { height: 50px; max-height: none; width: auto; }
.ae-nav { flex: 1; justify-content: center; gap: 2.5rem; }
.ae-nav a { padding: 4px 0; border-radius: 0; font-size: .8rem; font-weight: 400; letter-spacing: .1em; text-transform: uppercase; color: var(--ae-texto); background: none; }
.ae-nav a:hover, .ae-nav a.ae-activo { color: var(--ae-primary); background: none; }
.ae-nav .ae-nav-contacto-celular { display: none; }
.ae-contacto {
    display: inline-block; padding: .6rem 1.5rem; border: 1px solid var(--ae-primary); background: transparent;
    font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; color: var(--ae-primary); text-decoration: none;
    transition: background .25s, color .25s;
}
.ae-contacto:hover, .ae-contacto:focus { background: var(--ae-primary); color: #fff; text-decoration: none; }

/* Botones de marca: rectos, en versalitas, verde que pasa a arena. */
.la .ae-boton, .la .nv-boton, .lh-boton { border-radius: 0; text-transform: uppercase; letter-spacing: .12em; font-weight: 400; font-size: .75rem; box-shadow: none; }
.la .ae-boton:hover, .la .nv-boton:hover { transform: none; }
.la .zf-boton-buscar, .la .zf-boton-filtros, .la .nv-paginado li a, .la .nv-paginado li span { border-radius: 0 !important; }
.la .nv-formulario input, .la .nv-formulario select, .la .nv-formulario textarea { border-radius: 0; }
.la .ae-whatsapp { background: #25d366; }
.la .ae-whatsapp:hover { background: #1ebe5a; }

/* Hero: la foto llega al borde derecho y pega al encabezado, entera. */
.lh-hero { padding: 0 0 0 max(24px, calc((100% - var(--ae-ancho)) / 2 + 24px)); align-items: stretch; min-height: 0; gap: 48px; }
.lh-hero-izq { padding: 48px 0 56px; }
.lh-hero-der { align-self: start; }
.lh-hero-der img { width: 100%; height: auto; }
.lh-cuadros { flex-direction: row; flex-wrap: wrap; max-width: none; }

/* Listados: fondo claro, tarjetas como las de su web. */
.la .nv-seccion.nv-gris.lp-listado { background: #fff; padding-top: 0; }
.la .lp-listado .nv-grilla { gap: 1.5rem; }
.lt-tarjeta { display: block; color: inherit; text-decoration: none; transition: transform .3s ease; }
.lt-tarjeta:hover { transform: translateY(-4px); color: inherit; text-decoration: none; }
.lt-foto { position: relative; height: 240px; overflow: hidden; background: var(--ae-linen); }
.lt-foto img { width: 100%; height: 100%; object-fit: cover; display: block; }
.lt-cartel {
    position: absolute; top: 1rem; left: 1rem; z-index: 1; padding: .3rem .8rem;
    font-size: .65rem; letter-spacing: .12em; text-transform: uppercase; background: var(--ae-primary); color: #fff;
}
.lt-cartel-arena { background: var(--ae-primary-hover); }
.lt-cartel-nuevo { left: auto; right: 1rem; background: #faf9fb; color: var(--ae-primary); }
.lt-cuerpo { padding: 1.25rem 0 0; font-family: "Montserrat", sans-serif; }
.la .lt-cuerpo h3 { margin: 0 0 .15rem; font-family: "Montserrat", sans-serif; font-size: 1.5rem; font-weight: 300; line-height: 1.3; color: var(--ae-primary); }
.lt-precio { margin-bottom: .25rem; font-size: 1.3rem; font-weight: 400; color: var(--ae-primary); }
.lt-lugar { display: flex; align-items: center; gap: .35rem; margin-bottom: .75rem; font-size: .78rem; color: var(--ae-muted); }
.lt-lugar svg { width: 12px; height: 12px; flex: 0 0 auto; }
.lt-datos { display: flex; flex-wrap: wrap; gap: 1.25rem; padding-top: .75rem; border-top: 1px solid var(--ae-border); font-size: .75rem; color: var(--ae-muted); }
.lt-datos span { display: flex; align-items: center; gap: .35rem; }
.lt-datos svg { width: 13px; height: 13px; }

/* Pie: fondo de marca, logo, texto de la configuración y tres columnas. */
.ae-pie { background: var(--ae-primary-deep); color: rgba(255,255,255,.6); margin-top: 0; font-family: "Montserrat", sans-serif; }
.ae-pie-grilla { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 3rem; padding: 3rem; margin: 0; }
.ae-pie-marca { display: block; }
.ae-pie-marca img { width: 150px; height: auto; display: block; }
.ae-pie-texto, .ae-pie-texto p { margin: 1rem 0 0; max-width: 260px; font-size: .82rem; line-height: 1.8; color: rgba(255,255,255,.4); }
.ae-pie-texto b, .ae-pie-texto strong { color: rgba(255,255,255,.6); }
.ae-pie h4 { margin: 0 0 1.25rem; font-family: "Montserrat", sans-serif; font-size: .68rem; font-weight: 400; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.4); }
.ae-pie ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: .6rem; }
.ae-pie li { display: block; }
.ae-pie a { font-size: .82rem; color: rgba(255,255,255,.6); text-decoration: none; transition: color .2s; }
.ae-pie a:hover { color: var(--ae-primary-hover); }
.ae-pie-abajo {
    display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin: 0; padding: 1.25rem 3rem;
    border-radius: 0; background: transparent; border-top: 1px solid rgba(255,255,255,.08);
    font-size: .72rem; font-weight: 400; letter-spacing: .04em; color: rgba(255,255,255,.3);
}
.ae-pie-abajo p { margin: 0; font-size: .72rem; color: inherit; }

@media (max-width: 1200px) {
    .ae-barra .ae-contenedor { padding: 0 2rem; }
    .ae-nav { gap: 1.5rem; }
    .ae-pie-grilla { grid-template-columns: 1fr 1fr 1fr; padding: 2.5rem 2rem; }
    .ae-pie-marca { grid-column: 1 / -1; }
}
@media (max-width: 900px) {
    .ae-barra .ae-contenedor { padding: 0 1.5rem; min-height: 72px; flex-wrap: wrap; }
    .ae-menu-boton { display: block; margin-left: auto; }
    .ae-contacto { display: none; }
    .ae-nav { display: none; flex: 0 0 100%; flex-direction: column; align-items: stretch; gap: 0; padding: 0 0 1rem; }
    .ae-nav.ae-abierto { display: flex; }
    .ae-nav a { padding: .75rem 0; border-bottom: 1px solid var(--ae-border); font-size: .85rem; }
    .ae-nav .ae-nav-contacto-celular { display: block; border-bottom: 0; }
    .lh-hero { padding: 0; gap: 0; }
    .lh-hero-izq { padding: 40px 20px 48px; }
    .ae-pie-grilla { grid-template-columns: 1fr 1fr; padding: 2.5rem 1.5rem; gap: 2rem; }
    .ae-pie-abajo { padding: 1rem 1.5rem; flex-direction: column; text-align: center; }
}
@media (max-width: 600px) {
    .ae-marca img { height: 40px; }
    .lt-foto { height: 200px; }
    .la .lt-cuerpo h3 { font-size: 1.3rem; }
    .ae-pie-grilla { grid-template-columns: 1fr; padding: 2rem 1rem; gap: 1.75rem; }
    .ae-pie-marca { grid-column: auto; }
}

/* Cada sección entra en una pantalla (pedido 7/10): su web original se pasa
   de alto; acá el hero se compacta y la foto nunca supera la ventana. */
.lh-hero-izq { padding: 32px 0 40px; justify-content: center; }
.lh-volanta { margin-bottom: 1rem; }
.lh-hero h1 { margin-bottom: 1.25rem; font-size: clamp(2.2rem, 4vw, 4rem); }
.lh-bajada { margin-bottom: 1.5rem; }
.lh-cuadros { margin: -.5rem 0 1.5rem; }
.lh-contadores { margin-top: 2rem; padding-top: 1.25rem; }
.lh-hero-der img { max-height: calc(100vh - 91px); object-fit: contain; object-position: top center; }
@media (max-width: 900px) { .lh-hero-der img { max-height: none; } }
.lp-encabezado { padding: 36px 0 24px; }
.lp-volanta { font-size: .75rem; }
.la .lp-encabezado h1 { margin-bottom: 1.5rem; font-size: clamp(2.2rem, 3.6vw, 3.4rem); }
.lp-solapas a { padding: .7rem 1.75rem; font-size: .75rem; }

/* Botones de cita y reserva de la ficha (sitio.partials.reserva-botones):
   traen su azul propio; en Laria van con la marca. */
.la .rw-botones .rw-b { border-radius: 0; text-transform: uppercase; letter-spacing: .1em; font-size: .75rem; font-weight: 400; }
.la .rw-botones .rw-b-cita { background: var(--ae-primary); color: #fff; }
.la .rw-botones .rw-b-reserva { background: var(--ae-primary-hover); color: #fff; }
.la .rw-botones .rw-b-cita:hover, .la .rw-botones .rw-b-reserva:hover { filter: brightness(.95); color: #fff; }
@media (max-width: 900px) { .lh-hero-izq { padding: 32px 20px 40px; } }

/* Pie más bajo (7/10): las páginas de Servicios en dos columnas y el texto
   de la marca más ancho, así la franja no se estira. */
.ae-pie ul.ae-pie-dos { display: grid; grid-template-columns: repeat(2, max-content); column-gap: 2.5rem; row-gap: .6rem; }
.ae-pie-texto, .ae-pie-texto p { max-width: 480px; }
.ae-pie-grilla { grid-template-columns: 2.2fr 1fr 1.4fr 1.4fr; padding-top: 2.5rem; padding-bottom: 2rem; }
@media (max-width: 1200px) { .ae-pie-grilla { grid-template-columns: 1fr 1fr 1fr; } }
@media (max-width: 900px) { .ae-pie-grilla { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .ae-pie-grilla { grid-template-columns: 1fr; } }

/* WhatsApp flotante (7/10): en todas las páginas, con el logo de WhatsApp
   y el texto; en celular queda solo el logo. */
.la .ae-whatsapp { gap: 8px; }
.la .ae-whatsapp svg { width: 22px; height: 22px; }
/* Menos aire debajo del texto del pie. */
.ae-pie-grilla { padding-bottom: 1.25rem; }
.ae-pie-abajo { padding-top: .75rem; padding-bottom: .75rem; }
.ae-pie-abajo:empty, .ae-pie-abajo p:empty { display: none; }

/* Menú (7/10): al pasar el mouse cada página se pinta de verde de marca con
   letra blanca, igual que el botón Contacto. Mismo alto que ese botón. */
@media (min-width: 901px) {
    .ae-nav { gap: .5rem; }
    .ae-nav a { padding: .6rem 1rem; border: 1px solid transparent; transition: background .25s, color .25s; }
    .ae-nav a:hover, .ae-nav a:focus { background: var(--ae-primary); border-color: var(--ae-primary); color: #fff; }
}
@media (max-width: 900px) {
    .ae-nav a:hover, .ae-nav a:focus { background: var(--ae-primary); color: #fff; padding-left: .75rem; }
}

/* ===========================================================================
   Legibilidad (7/10): la letra de su web es chica y muy gris y "casi no se
   ve". Regla fija del proyecto: nada por debajo de 12 px. Se agranda todo lo
   chico y se aclara el texto sobre el verde del pie.
   =========================================================================== */
/* Pie */
.ae-pie-texto, .ae-pie-texto p { font-size: 1rem; line-height: 1.7; color: rgba(255,255,255,.88); }
.ae-pie-texto b, .ae-pie-texto strong { color: #fff; }
.ae-pie h4 { font-size: .85rem; letter-spacing: .14em; color: rgba(255,255,255,.8); }
.ae-pie a { font-size: 1rem; color: rgba(255,255,255,.95); }
.ae-pie a:hover { color: #fff; text-decoration: underline; }
.ae-pie ul, .ae-pie ul.ae-pie-dos { row-gap: .7rem; }
.ae-pie-abajo, .ae-pie-abajo p, .ae-pie-abajo span { font-size: .85rem; color: rgba(255,255,255,.8); }

/* Encabezado y botones */
.ae-nav a { font-size: .9rem; }
.ae-contacto, .lh-boton, .la .ae-boton, .la .nv-boton, .la .rw-botones .rw-b { font-size: .85rem; }

/* Inicio */
.lh-volanta { font-size: .8rem; }
.lh-bajada { font-size: 1.05rem; line-height: 1.75; max-width: 460px; }
.lh-cuadro { font-size: .85rem; }
.lh-etq { font-size: .8rem; color: var(--ae-texto); }

/* Listados y tarjetas */
.lp-volanta { font-size: .85rem; }
.lp-solapas a { font-size: .85rem; color: var(--ae-texto); }
.lt-cartel { font-size: .75rem; }
.lt-lugar { font-size: .9rem; color: var(--ae-texto); }
.lt-datos { font-size: .85rem; color: var(--ae-texto); }
.lt-lugar svg { width: 14px; height: 14px; }
.lt-datos svg { width: 15px; height: 15px; }
.la .nv-orden { font-size: .9rem; color: var(--ae-texto); }

/* Nosotros y textos generales */
.ln-volanta { font-size: .9rem; }
.la { font-size: 16px; }
