/* =========================================================
   BLISS HOMES — Páginas legales (aviso legal, privacidad, cookies)
   19-sep-2026 · misma estructura que nivelaclean.es: banda de cabecera
   con titular grande, banda de contenido a 780 px, ficha de datos en
   tarjeta y fecha de revisión al final. Se carga después de theme-mixed.css.
   ========================================================= */
.lg-wrap { max-width: 1200px; margin: 0 auto; padding: 0 var(--gutter, clamp(20px, 4vw, 40px)); }

/* Cabecera */
.lg-hero { padding: clamp(56px, 9vw, 120px) 0 clamp(48px, 7vw, 96px); background: #F8F6F2; }
.lg-crumb { font-size: 13px; color: rgba(26,46,82,.68); margin: 0 0 22px; }
.lg-crumb a { color: rgba(26,46,82,.68); text-decoration: none; }
.lg-crumb a:hover { color: #1A2E52; text-decoration: underline; text-underline-offset: 3px; }
.lg-hero h1 {
  font-family: 'Montserrat', system-ui, sans-serif; font-weight: 600; color: #1A2E52;
  font-size: clamp(44px, 6.6vw, 88px); line-height: 1.02; letter-spacing: -0.035em;
  margin: 0 0 24px; max-width: 14ch;
}
.lg-lede { font-size: clamp(17px, 1.45vw, 20px); line-height: 1.6; color: rgba(26,46,82,.78); max-width: 620px; margin: 0; }

/* Contenido */
.lg-body { background: #EFEAE0; padding: clamp(56px, 8vw, 112px) 0 clamp(72px, 9vw, 128px); }
.lg-prose { max-width: 780px; margin: 0 auto; padding: 0 var(--gutter, clamp(20px, 4vw, 40px)); color: rgba(26,46,82,.82); }
.lg-prose > :first-child { margin-top: 0; }
.lg-prose h2 {
  font-family: 'Montserrat', system-ui, sans-serif; font-weight: 600; color: #1A2E52;
  font-size: clamp(28px, 3.4vw, 42px); line-height: 1.12; letter-spacing: -0.025em;
  margin: clamp(2.75rem, 5.5vw, 4rem) 0 18px;
}
.lg-prose h3 {
  font-family: 'Montserrat', system-ui, sans-serif; font-weight: 600; color: #1A2E52;
  font-size: clamp(18px, 1.6vw, 21px); line-height: 1.3; letter-spacing: -0.01em; margin: 30px 0 10px;
}
.lg-prose p, .lg-prose li { font-size: 16.5px; line-height: 1.7; }
.lg-prose p { margin: 0 0 16px; }
.lg-prose ul { margin: 0 0 20px; padding-left: 1.2rem; }
.lg-prose li + li { margin-top: 8px; }
.lg-prose li::marker { color: #1C6386; }
.lg-prose strong { color: #1A2E52; font-weight: 600; }
.lg-prose a { color: #1C6386; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.lg-prose a:hover { color: #1A2E52; }
.lg-prose code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .88em; color: #1A2E52; overflow-wrap: anywhere; }

/* Ficha de datos (titular / responsable) */
.lg-data {
  margin: 24px 0 8px; padding: 8px 28px; background: #FFFFFF; border-radius: 18px;
  border: 1px solid rgba(26,46,82,.08); box-shadow: 0 1px 2px rgba(26,46,82,.04);
}
.lg-data div { display: grid; grid-template-columns: 190px 1fr; gap: 4px 20px; padding: 14px 0; }
.lg-data div + div { border-top: 1px solid rgba(26,46,82,.08); }
.lg-data dt { font-weight: 600; color: #1A2E52; font-size: 15px; }
.lg-data dd { margin: 0; font-size: 15.5px; line-height: 1.6; color: rgba(26,46,82,.82); }

/* Finalidades (privacidad) */
.lg-purpose { padding: 22px 0 6px; border-top: 1px solid rgba(26,46,82,.12); }
.lg-purpose:first-of-type { border-top: 0; padding-top: 0; }
.lg-purpose h3 { margin-top: 0; }
.lg-purpose p { margin-bottom: 8px; }

/* Tabla de cookies */
.lg-table-wrap { margin: 20px 0 24px; background: #FFFFFF; border-radius: 18px; border: 1px solid rgba(26,46,82,.08); overflow: hidden; }
.lg-table { width: 100%; border-collapse: collapse; font-size: 14.5px; display: table; }
.lg-table th { text-align: left; font-weight: 600; font-size: 12.5px; letter-spacing: .06em; text-transform: uppercase; color: rgba(26,46,82,.68); padding: 14px 16px; border-bottom: 1px solid rgba(26,46,82,.1); background: #FBFAF7; }
.lg-table td { padding: 14px 16px; border-bottom: 1px solid rgba(26,46,82,.08); vertical-align: top; line-height: 1.55; color: rgba(26,46,82,.82); }
.lg-table tr:last-child td { border-bottom: 0; }
.lg-table td:first-child { color: #1A2E52; }
.lg-table small { display: block; color: rgba(26,46,82,.6); font-size: 12.5px; margin-top: 2px; }

/* Botón (preferencias de cookies) */
.lg-btn {
  display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 22px;
  border: 0; border-radius: 12px; background: #1A2E52; color: #FFFFFF; font: 600 15px/1.2 'Open Sans', system-ui, sans-serif;
  cursor: pointer; transition: background .2s;
}
.lg-btn:hover { background: #152644; }
.lg-btn:focus-visible { outline: 3px solid #1C6386; outline-offset: 3px; }

.lg-updated { margin: 48px 0 0 !important; padding-top: 20px; border-top: 1px solid rgba(26,46,82,.12); font-size: 14.5px !important; color: rgba(26,46,82,.68); }

@media (max-width: 640px) {
  .lg-data { padding: 4px 20px; }
  .lg-data div { grid-template-columns: 1fr; }
  .lg-table-wrap { background: transparent; border: 0; border-radius: 0; overflow: visible; }
  .lg-table, .lg-table tbody, .lg-table tr, .lg-table td { display: block; width: 100%; }
  .lg-table thead { display: none; }
  .lg-table tr { background: #FFFFFF; border: 1px solid rgba(26,46,82,.08); border-radius: 16px; padding: 6px 18px; margin-bottom: 12px; }
  .lg-table td { display: grid; grid-template-columns: 96px 1fr; gap: 12px; padding: 10px 0; border-bottom: 1px solid rgba(26,46,82,.08); }
  .lg-table tr td:last-child { border-bottom: 0; }
  .lg-table td::before { content: attr(data-label); font-weight: 600; font-size: 12.5px; letter-spacing: .04em; text-transform: uppercase; color: rgba(26,46,82,.6); padding-top: 2px; }
}

/* theme-mixed.css reserva hueco para un menú fijo en la primera sección (móvil);
   aquí el menú es sticky y ocupa su sitio, así que se devuelve el aire normal */
@media (max-width: 760px) {
  #contenido > .lg-hero { padding: 40px 0 44px !important; }
  #contenido > .lg-body { padding: 52px 0 72px !important; }
}
/* La tabla de cookies sale del ancho de lectura en pantallas grandes */
@media (min-width: 1100px) {
  .lg-table-wrap { margin-left: -90px; margin-right: -90px; }
}
.lg-table td:first-child { min-width: 200px; }
