/* Estilos del sitio de ACE RENTALS PARAGUAY.
   Regla de la casa: ningún color literal fuera de las listas de variables (excepción: #fff sobre fondos sólidos).
   Paleta propia (propuesta 2026-10-12, sujeta a aprobación): azul protagonista; color de acción
   (--accion: Reservar) coral en tema claro y azul en tema oscuro; cabecera negra en oscuro;
   gris de ACESA (tomado de ACESA-MAIN.png, variable --gris-marca) como base neutra. */

:root {
  color-scheme: light;
  --fondo:#ffffff; --texto:#1f2328; --texto2:#4f5359; --texto3:#6b6f76;
  --superficie:#ffffff; --superficie2:#f7f8fa; --suave:#eef4fb; --gris:#f2f3f5; --hover-nav:#eef4fb;
  --borde:#dfe2e6; --borde-input:#8a9099;
  --azul:#1d5fa8; --azul-hover:#174d89; --texto-azul:#ffffff;
  --coral:#c9452f; --coral-hover:#ad3a27; --texto-coral:#ffffff; --coral-logo:#ef6a55; --coral-suave:#fdece8;
  --gris-marca:#606062; --enlace:#1d5fa8; --off-texto:#8b93a0;
  --sombra:rgba(16,24,40,.08); --sombra-fuerte:rgba(16,24,40,.14);
  --pie-fondo:#1f2328; --pie-texto:#f2f3f5; --pie-texto2:#b9bcc2; --pie-borde:#2e333a;
  --radio:12px;
  --logo-azul:#1d5fa8; --logo-coral:#ef6a55; --logo-gris:#606062;
  --logo-pie-azul:#5b9be0; --logo-pie-coral:#f27d69; --logo-pie-gris:#9a9a9e;
  --accion:#c9452f; --accion-hover:#ad3a27; --texto-accion:#ffffff; --azul-solido:#1d5fa8; --azul-solido-hover:#174d89;
  --cabecera-fondo:#ffffff; --cabecera-borde:#dfe2e6;
}
:root[data-tema="oscuro"] {
  color-scheme: dark;
  --fondo:#121212; --texto:#ececec; --texto2:#b4b4b8; --texto3:#8e8e93;
  --superficie:#1c1c1e; --superficie2:#1f1f21; --suave:#19191b; --gris:#2a2a2c; --hover-nav:#2a2a2d;
  --borde:#333336; --borde-input:#6b6b70;
  --azul:#5b9be0; --azul-hover:#7db0ea; --texto-azul:#ffffff;
  --accion:#2470d0; --accion-hover:#1b62bd; --texto-accion:#ffffff; --azul-solido:#2470d0; --azul-solido-hover:#1b62bd;
  --cabecera-fondo:#000000; --cabecera-borde:#262628;
  --coral:#f27d69; --coral-hover:#f59684; --texto-coral:#121212; --coral-logo:#f27d69; --coral-suave:#3a2522;
  --gris-marca:#9a9a9e; --enlace:#7db0ea; --off-texto:#7c7c82;
  --sombra:rgba(0,0,0,.45); --sombra-fuerte:rgba(0,0,0,.6);
  --pie-fondo:#0a0a0a; --pie-texto:#f2f3f5; --pie-texto2:#a8a8ad; --pie-borde:#262628;
  --logo-azul:#5b9be0; --logo-coral:#f27d69; --logo-gris:#9a9a9e;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-tema="claro"]) {
    color-scheme: dark;
    --fondo:#121212; --texto:#ececec; --texto2:#b4b4b8; --texto3:#8e8e93;
    --superficie:#1c1c1e; --superficie2:#1f1f21; --suave:#19191b; --gris:#2a2a2c; --hover-nav:#2a2a2d;
    --borde:#333336; --borde-input:#6b6b70;
    --azul:#5b9be0; --azul-hover:#7db0ea; --texto-azul:#ffffff;
    --accion:#2470d0; --accion-hover:#1b62bd; --texto-accion:#ffffff; --azul-solido:#2470d0; --azul-solido-hover:#1b62bd;
    --cabecera-fondo:#000000; --cabecera-borde:#262628;
    --coral:#f27d69; --coral-hover:#f59684; --texto-coral:#121212; --coral-logo:#f27d69; --coral-suave:#3a2522;
    --gris-marca:#9a9a9e; --enlace:#7db0ea; --off-texto:#7c7c82;
    --sombra:rgba(0,0,0,.45); --sombra-fuerte:rgba(0,0,0,.6);
    --pie-fondo:#0a0a0a; --pie-texto:#f2f3f5; --pie-texto2:#a8a8ad; --pie-borde:#262628;
    --logo-azul:#5b9be0; --logo-coral:#f27d69; --logo-gris:#9a9a9e;
  }
}
@media print {
  :root[data-tema], :root:not([data-tema]) {
    color-scheme: light;
    --fondo:#ffffff; --texto:#1f2328; --texto2:#4f5359; --texto3:#6b6f76;
    --superficie:#ffffff; --superficie2:#f7f8fa; --suave:#ffffff; --gris:#f2f3f5; --hover-nav:#eef4fb;
    --borde:#dfe2e6; --borde-input:#8a9099;
    --azul:#1d5fa8; --azul-hover:#174d89; --texto-azul:#ffffff;
    --coral:#c9452f; --coral-hover:#ad3a27; --texto-coral:#ffffff; --coral-logo:#ef6a55; --coral-suave:#fdece8;
    --gris-marca:#606062; --enlace:#1d5fa8; --off-texto:#8b93a0;
    --sombra:rgba(0,0,0,0); --sombra-fuerte:rgba(0,0,0,0);
    --logo-azul:#1d5fa8; --logo-coral:#ef6a55; --logo-gris:#606062;
    --accion:#c9452f; --accion-hover:#ad3a27; --texto-accion:#ffffff; --azul-solido:#1d5fa8; --azul-solido-hover:#174d89;
    --cabecera-fondo:#ffffff; --cabecera-borde:#dfe2e6;
  }
  .utilidades, .cabecera .menu-herramientas, .menu-boton, .vista-boton, .saltar, .cabecera-reservar, .buscador { display:none !important; }
  .pie { background:transparent; color:var(--texto2); border-top:1px solid var(--borde); }
  .pie a, .pie-titular { color:var(--texto); }
  .marca-pie { color:var(--texto); }
}

/* ---- Base ---- */
*, *::before, *::after { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body {
  margin:0; background:var(--fondo); color:var(--texto);
  font-family:Arial, Helvetica, sans-serif; font-size:16px; line-height:1.6;
  min-height:100vh; display:flex; flex-direction:column;
}
main { flex:1; }
a { color:var(--enlace); }
a:hover { color:var(--azul-hover); }
h1, h2, h3 { line-height:1.25; color:var(--texto); margin:0 0 .6em; }
h1 { font-size:2.3rem; letter-spacing:-.01em; }
h2 { font-size:1.6rem; }
h3 { font-size:1.12rem; }
p { margin:0 0 1em; }
button { font:inherit; cursor:pointer; }
.contenedor { width:100%; max-width:1160px; margin:0 auto; padding:0 24px; }
.apagado { color:var(--off-texto); }
.saltar { position:absolute; left:-999px; top:8px; background:var(--azul-solido); color:var(--texto-azul); padding:6px 12px; border-radius:6px; z-index:100; }
.saltar:focus { left:8px; }
:focus-visible { outline:3px solid var(--azul); outline-offset:2px; }

/* ---- Botones ---- */
.boton { display:inline-block; padding:11px 22px; border:1px solid var(--azul); border-radius:999px; color:var(--azul); background:transparent; text-decoration:none; font-weight:bold; line-height:1.2; }
.boton:hover { background:var(--hover-nav); color:var(--azul-hover); }
.boton-reservar { background:var(--accion); border-color:var(--accion); color:var(--texto-accion); box-shadow:0 2px 6px var(--sombra); }
.boton-reservar:hover { background:var(--accion-hover); border-color:var(--accion-hover); color:var(--texto-accion); }
.enlace-accion { font-weight:bold; text-decoration:none; }
.enlace-accion::after { content:" \2192"; }
.enlace-accion:hover { text-decoration:underline; }

/* ---- Cabecera ---- */
.cabecera { background:var(--cabecera-fondo); border-bottom:1px solid var(--cabecera-borde); box-shadow:0 1px 4px var(--sombra); position:sticky; top:0; z-index:50; }
.marca { display:inline-flex; align-items:center; gap:12px; text-decoration:none; color:var(--texto); margin:0; }
.marca:hover { color:var(--texto); }
.isotipo { height:40px; width:auto; display:block; flex:none; }
.iso-base { fill:var(--logo-gris); }
.iso-izq { fill:var(--logo-azul); }
.iso-der { fill:var(--logo-coral); }
.marca-texto { display:flex; flex-direction:column; font-family:Arial, Helvetica, sans-serif; line-height:1; }
.marca-nombre { font-weight:bold; font-size:26px; letter-spacing:.005em; white-space:nowrap; }
.marca-pais { font-weight:bold; font-size:11px; letter-spacing:.42em; color:var(--texto2); margin-top:5px; }
.marca-corta { display:none; color:var(--azul); }
.menu ul, .pie-enlaces { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:4px 18px; }
.menu a { text-decoration:none; color:var(--texto); padding:6px 6px; border-radius:8px; display:inline-block; font-weight:bold; font-size:.96em; }
.menu a:hover { background:var(--hover-nav); color:var(--azul); }
/* ---- Barra de utilidades (vista PC): idioma y tema en menús desplegables (patrón m2221-barra-idioma-tema) ---- */
.utilidades { background:var(--cabecera-fondo); color:var(--texto2); font-size:.8rem; border-bottom:1px solid var(--cabecera-borde); position:relative; z-index:60; }
.utilidades-fila { display:flex; justify-content:flex-end; align-items:center; gap:6px; padding-top:4px; padding-bottom:4px; }
.bandera { width:21px; height:14px; object-fit:cover; border-radius:2px; box-shadow:0 0 0 1px var(--borde); flex:none; display:inline-block; vertical-align:middle; }
.desplegable { position:relative; }
.desplegable > summary { list-style:none; display:inline-flex; align-items:center; gap:7px; cursor:pointer; padding:5px 10px; border:1px solid transparent; border-radius:8px; color:var(--texto2); user-select:none; }
.desplegable > summary::-webkit-details-marker { display:none; }
.desplegable > summary:hover, .desplegable[open] > summary { background:var(--hover-nav); border-color:var(--borde); color:var(--texto); }
.desplegable > summary:focus-visible { outline:2px solid var(--azul); outline-offset:2px; }
.desplegable-flecha { transition:transform .15s ease; }
.desplegable[open] .desplegable-flecha { transform:rotate(180deg); }
.desplegable-lista { position:absolute; right:0; top:calc(100% + 6px); min-width:210px; margin:0; padding:6px; list-style:none; background:var(--superficie); border:1px solid var(--borde); border-radius:var(--radio); box-shadow:0 8px 24px var(--sombra-fuerte); display:flex; flex-direction:column; gap:2px; }
.desplegable-lista a, .desplegable-lista button { display:flex; align-items:center; gap:10px; width:100%; padding:8px 10px; border:0; border-radius:8px; background:transparent; color:var(--texto); text-decoration:none; font:inherit; font-size:.9rem; text-align:left; cursor:pointer; }
.desplegable-lista a:hover, .desplegable-lista button:hover { background:var(--hover-nav); color:var(--texto); }
.desplegable-lista a[aria-current="true"], .desplegable-lista button[aria-pressed="true"] { font-weight:bold; color:var(--enlace); box-shadow:inset 3px 0 0 var(--azul); }
.tema-actual { display:none; align-items:center; gap:7px; }
.tema-actual[data-muestra="sistema"], :root[data-tema="claro"] .tema-actual[data-muestra="claro"], :root[data-tema="oscuro"] .tema-actual[data-muestra="oscuro"] { display:inline-flex; }
:root[data-tema="claro"] .tema-actual[data-muestra="sistema"], :root[data-tema="oscuro"] .tema-actual[data-muestra="sistema"] { display:none; }
.icono-tema { flex:none; }

/* ---- Selectores dentro del menú hamburguesa (solo vista móvil) ---- */
.menu-herramientas { display:none; }
.idiomas-panel { display:flex; flex-wrap:wrap; gap:6px; }
.idiomas-panel a { display:inline-flex; align-items:center; gap:6px; text-decoration:none; color:var(--texto2); font-size:.9em; font-weight:bold; padding:6px 10px; border:1px solid var(--borde); border-radius:999px; }
.idiomas-panel a[aria-current="true"] { background:var(--azul-solido); border-color:var(--azul-solido); color:var(--texto-azul); }
.tema { display:inline-flex; border:1px solid var(--borde); border-radius:999px; overflow:hidden; }
.tema button { display:inline-flex; align-items:center; gap:6px; background:transparent; color:var(--texto2); border:0; border-radius:0; padding:6px 12px; font-size:13px; line-height:1.4; }
.tema button + button { border-left:1px solid var(--borde); }
.tema button[aria-pressed="true"] { background:var(--azul-solido); color:var(--texto-azul); }
.vista-boton { background:transparent; border:1px solid var(--borde); color:var(--texto2); border-radius:999px; padding:3px 12px; font-size:12px; }
.vista-boton.enlace { border:0; padding:0; color:var(--enlace); text-decoration:underline; font-size:inherit; border-radius:0; }

/* ---- Vista PC (por defecto): franja superior con idioma y tema; debajo, logotipo, menú y Reservar ---- */
.menu-boton { display:none; }
.cabecera-fila { display:grid; grid-template-columns:auto 1fr auto; grid-template-rows:64px; column-gap:32px; align-items:center; }
.menu-panel { display:contents; }
.marca { grid-row:1; grid-column:1; }
.menu { grid-row:1; grid-column:2; justify-self:center; }
.cabecera-reservar { grid-row:1; grid-column:3; }
.solo-movil { display:none; }

/* ---- Vista móvil: se activa por atributo, no por ancho (lo decide preferencias.js) ---- */
:root[data-vista="movil"] .cabecera-fila { display:flex; flex-wrap:wrap; align-items:center; gap:10px; min-height:64px; padding:8px 16px; }
:root[data-vista="movil"] .marca { margin-right:auto; }
:root[data-vista="movil"] .marca { gap:8px; }
:root[data-vista="movil"] .isotipo { height:26px; }
:root[data-vista="movil"] .marca-nombre { font-size:19px; }
:root[data-vista="movil"] .marca-pais { display:none; }
:root[data-vista="movil"] .marca-corta { display:inline; }
:root[data-vista="movil"] .cabecera-reservar { padding:7px 14px; font-size:.9em; }
:root[data-vista="movil"] .menu-boton {
  display:inline-flex; align-items:center; gap:8px; background:transparent; color:var(--texto);
  border:1px solid var(--borde); border-radius:8px; padding:8px 10px; min-height:36px;
}
:root[data-vista="movil"] .menu-boton-texto { position:absolute; left:-9999px; }
:root[data-vista="movil"] .menu-boton-icono { width:18px; height:2px; background:currentColor; position:relative; display:inline-block; }
:root[data-vista="movil"] .menu-boton-icono::before, :root[data-vista="movil"] .menu-boton-icono::after {
  content:""; position:absolute; left:0; width:18px; height:2px; background:currentColor;
}
:root[data-vista="movil"] .menu-boton-icono::before { top:-6px; }
:root[data-vista="movil"] .menu-boton-icono::after { top:6px; }
:root[data-vista="movil"] .menu-panel { display:none; flex-basis:100%; flex-direction:column; align-items:stretch; gap:14px; padding:8px 0 14px; border-top:1px solid var(--cabecera-borde); }
:root[data-vista="movil"] .menu-panel.abierto { display:flex; }
:root[data-vista="movil"] .menu ul { flex-direction:column; gap:2px; }
:root[data-vista="movil"] .menu a { display:block; padding:10px 8px; }
:root[data-vista="movil"] .utilidades { display:none; }
:root[data-vista="movil"] .menu-herramientas { display:flex; flex-direction:column; align-items:flex-start; gap:12px; padding:4px 8px 0; }
:root[data-vista="movil"] .solo-movil { display:inline-flex; }
:root[data-vista="movil"] .solo-pc { display:none; }
:root[data-vista="movil"] h1 { font-size:1.75rem; }
:root[data-vista="movil"] h2 { font-size:1.35rem; }
:root[data-vista="movil"] .contenedor { padding:0 16px; }

/* ---- Portada con buscador ---- */
.portada {
  display:grid; grid-template-columns:minmax(0, 1.1fr) minmax(0, 1fr); gap:40px; align-items:center;
  margin:28px 0 8px; padding:56px 48px; border-radius:calc(var(--radio) * 2);
  background:var(--suave); border:1px solid var(--borde); scroll-margin-top:90px;
}
.portada h1 { font-size:2.6rem; }
.portada-frase { font-size:1.2rem; color:var(--texto2); max-width:520px; }
.buscador { background:var(--superficie); border:1px solid var(--borde); border-radius:var(--radio); padding:24px; box-shadow:0 8px 24px var(--sombra-fuerte); }
.buscador h2 { font-size:1.15rem; }
.buscador-campos { display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) 110px; gap:12px; }
.buscador-campos p { margin:0; }
.buscador label { display:block; font-size:.85em; font-weight:bold; color:var(--texto2); margin-bottom:4px; }
.buscador input { width:100%; padding:10px; border:1px solid var(--borde-input); border-radius:8px; background:var(--superficie); color:var(--texto); font:inherit; }
.buscador-accion { margin:16px 0 8px; }
.buscador-accion .boton { width:100%; padding:13px 22px; font-size:1.05em; }
.buscador-nota { font-size:.82em; margin:0; }
:root[data-vista="movil"] .portada { grid-template-columns:minmax(0, 1fr); padding:28px 18px; gap:24px; margin-top:16px; scroll-margin-top:80px; }
:root[data-vista="movil"] .portada h1 { font-size:1.9rem; }
:root[data-vista="movil"] .buscador-campos { grid-template-columns:minmax(0, 1fr) minmax(0, 1fr); }
:root[data-vista="movil"] .buscador-campos p:last-child { grid-column:1 / -1; }

/* ---- Secciones ---- */
.seccion { padding:56px 0; scroll-margin-top:90px; }
:root[data-vista="movil"] .seccion { padding:40px 0; scroll-margin-top:80px; }
.seccion-intro { color:var(--texto2); max-width:720px; }
.seccion-suave { background:var(--superficie2); border-radius:calc(var(--radio) * 2); padding:48px; }
:root[data-vista="movil"] .seccion-suave { padding:32px 18px; }

.unidades { display:grid; gap:24px; grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)); margin:24px 0; }
.unidad { background:var(--superficie); border:1px solid var(--borde); border-radius:var(--radio); overflow:hidden; box-shadow:0 2px 8px var(--sombra); display:flex; flex-direction:column; }
.unidad-foto { aspect-ratio:4 / 3; background:var(--gris); display:flex; align-items:center; justify-content:center; color:var(--texto3); font-size:.9em; border-bottom:1px solid var(--borde); }
.unidad-texto { padding:18px 20px 8px; }
.unidad-texto p { color:var(--texto2); }
.unidad-estado { display:inline-block; font-size:.78em; font-weight:bold; text-transform:uppercase; letter-spacing:.06em; color:var(--azul) !important; margin-bottom:.4em; }
.unidad-proximamente .unidad-estado { color:var(--coral) !important; }
.unidad-proximamente .unidad-foto { background:var(--coral-suave); }

.ventajas, .pasos { display:grid; gap:20px; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); margin-top:20px; }
.ventaja, .paso { background:var(--superficie); border:1px solid var(--borde); border-radius:var(--radio); padding:22px; }
.ventaja p, .paso p { color:var(--texto2); margin:0; }
.ventaja-numero, .paso-numero {
  display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:50%;
  font-weight:bold; margin-bottom:12px;
}
.ventaja-numero { background:var(--suave); color:var(--azul); border:1px solid var(--borde); }
.paso-numero { background:var(--accion); color:var(--texto-accion); }

/* ---- Páginas de texto ---- */
.pagina { padding:40px 0; max-width:800px; }
.pagina-ancha { max-width:none; }
.pagina h2 { font-size:1.15rem; margin-top:1.6em; }
.pagina-nota { margin-top:2em; border-top:1px solid var(--borde); padding-top:1em; font-size:.9em; }

/* ---- Pie: gris casi negro con texto claro en ambos temas ---- */
.pie { background:var(--pie-fondo); border-top:1px solid var(--pie-borde); color:var(--pie-texto2); font-size:.92em; padding:36px 0; margin-top:48px; }
.pie-fila { display:flex; align-items:flex-start; justify-content:space-between; gap:40px; }
.marca-pie { color:var(--pie-texto); }
.marca-pie .marca-pais { color:var(--pie-texto2); }
.marca-pie .iso-base { fill:var(--logo-pie-gris); }
.marca-pie .iso-izq { fill:var(--logo-pie-azul); }
.marca-pie .iso-der { fill:var(--logo-pie-coral); }
.pie-lema { margin:12px 0 0; max-width:340px; }
.pie p { margin:0 0 .4em; }
.pie-datos { text-align:right; }
.pie-enlaces { margin:0 0 12px; justify-content:flex-end; }
.pie a, .pie .vista-boton.enlace { color:var(--pie-texto); }
.pie a:hover, .pie .vista-boton.enlace:hover { color:var(--pie-texto2); }
.pie-titular { font-size:.88em; }
.pie-derechos { color:var(--pie-texto2); font-size:.88em; }
:root[data-vista="movil"] .pie-fila { flex-direction:column; gap:20px; }
:root[data-vista="movil"] .pie-datos { text-align:left; }
:root[data-vista="movil"] .pie-enlaces { justify-content:flex-start; }
:root[data-vista="movil"] .marca-pie .marca-pais { display:block; }
:root[data-vista="movil"] .marca-pie .marca-corta { display:none; }
:root[data-vista="movil"] .marca-pie .isotipo { height:34px; }
