/*
  Albura · estilos del sitio.
  Va después de albura-tokens.css y albura-components.css (kit de marca, sin tocar).
  Solo roles --albura-*, escala de espaciado fija, radio 2 px, sin sombras ni degradés.
*/

/* ---------- Base ---------- */
html { scroll-padding-top: 72px; -webkit-text-size-adjust: 100%; }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
body.albura { margin: 0; }
.albura :where(p, h1, h2, h3, figure, dl, dd, ol, fieldset) { margin: 0; }
.albura :where(picture, video, canvas) { display: block; }
.albura [hidden] { display: none !important; }

.saltar {
  position: absolute;
  top: var(--albura-space-3);
  left: var(--albura-space-3);
  z-index: 20;
  padding: var(--albura-space-3) var(--albura-space-4);
  border-radius: var(--albura-radius);
  background: var(--albura-fg);
  color: var(--albura-bg);
  font: var(--albura-text-button);
  text-decoration: none;
  transform: translateY(-300%);
}
.saltar:focus { transform: none; }

.vh {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

.enlace {
  color: var(--albura-fg);
  font-weight: 500;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}
.enlace:hover { text-decoration-thickness: 2px; }

/* Apariciones: solo con JavaScript; una vez, al entrar en pantalla */
html.js .aparece {
  opacity: 0;
  transform: translateY(var(--albura-space-3));
  transition: opacity var(--albura-duration-base) var(--albura-ease),
              transform var(--albura-duration-base) var(--albura-ease);
  transition-delay: calc(var(--i, 0) * 60ms);
}
html.js .aparece.visto { opacity: 1; transform: none; }
html.js .marco { opacity: 0; transition: opacity var(--albura-duration-base) var(--albura-ease); }
html.js .marco.visto { opacity: 1; }

/* ---------- Barra ---------- */
.barra {
  position: sticky;
  top: 0;
  z-index: 10;
  background: var(--albura-bg);
  border-bottom: var(--albura-border-width) solid var(--albura-line);
}
.barra__nav { min-height: 71px; border-bottom: 0; }
.barra__logo { display: inline-flex; align-items: center; min-height: var(--albura-touch-min); }
.barra__logo picture { display: flex; }
.barra__marca { height: 28px; width: auto; }
/* En celulares no entra la marca horizontal junto al idioma y «Reservar»:
   queda solo el isotipo (la fuente del <picture> cambia en el HTML). */
@media (max-width: 479px) { .barra__marca { height: 32px; } }

.albura-lang a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--albura-touch-min);
  height: var(--albura-touch-min);
  border-bottom: var(--albura-border-width) solid transparent;
  color: var(--albura-fg-muted);
  font: 500 13px/1 var(--albura-sans);
  letter-spacing: 0.08em;
  text-decoration: none;
  transition: color var(--albura-duration-fast) var(--albura-ease);
}
.albura-lang a:hover { color: var(--albura-fg); }
.albura-lang a[aria-current="page"] { color: var(--albura-fg); border-bottom-color: var(--albura-fg); }

@media (max-width: 479px) {
  .barra__nav { gap: var(--albura-space-3); }
  .barra .albura-nav__actions { gap: var(--albura-space-2); }
  .barra__cta { padding: 0 var(--albura-space-4); }
}
@media (max-width: 359px) {
  .barra__nav { padding-inline: var(--albura-space-4); }
  .barra .albura-lang a { width: 36px; }
  .barra__cta { padding: 0 var(--albura-space-3); }
}

/* ---------- Hero · versión quieta (sin JavaScript, con movimiento reducido o pantalla baja) ---------- */
.hero__sticky { display: grid; }
.hero__media {
  position: relative;
  aspect-ratio: 16 / 15;
  overflow: hidden;
  background: var(--albura-surface);
}
.hero__foto { position: absolute; inset: 0; }
.hero__foto img { display: block; width: 100%; height: 100%; object-fit: cover; }
#heroCanvas { display: none; }

.hero__panel {
  display: flex;
  flex-direction: column;
  gap: var(--albura-space-6);
  padding: var(--albura-space-6) var(--albura-space-5) var(--albura-space-8);
  background: var(--albura-bg);
}
.hero__stages { display: grid; gap: var(--albura-space-5); }
.hero__stage { display: flex; flex-direction: column; gap: var(--albura-space-3); max-width: 560px; }
.hero__stage + .hero__stage {
  padding-top: var(--albura-space-5);
  border-top: var(--albura-border-width) solid var(--albura-line);
}
.hero__stage .albura-label { color: var(--albura-fg-muted); }
.hero__acciones { display: flex; flex-wrap: wrap; align-items: center; gap: var(--albura-space-4) var(--albura-space-5); }
.hero__acciones .enlace { display: inline-flex; align-items: center; min-height: var(--albura-touch-min); }
.hero__progress { display: none; }

@media (min-width: 768px) {
  .hero__panel { padding-inline: var(--albura-space-7); }
}
@media (min-width: 1024px) {
  .hero__sticky {
    grid-template-columns:
      max(var(--albura-space-7), calc((100% - var(--albura-container)) / 2 + var(--albura-space-7)))
      clamp(360px, 34%, 446px)
      var(--albura-space-7)
      minmax(0, 1fr);
  }
  .hero__media { grid-column: 4; grid-row: 1; aspect-ratio: auto; min-height: 560px; }
  .hero__panel { grid-column: 2; grid-row: 1; justify-content: center; padding: var(--albura-space-8) 0; }
}

/* ---------- Hero · video que sigue al scroll ---------- */
@media (min-height: 520px) {
  html.hero-activo .hero { height: 400vh; height: 400svh; }
  html.hero-activo .hero__sticky {
    position: sticky;
    top: 72px;
    height: calc(100vh - 72px);
    height: calc(100svh - 72px);
    grid-template-rows: minmax(0, 1fr) auto;
  }
  html.hero-activo .hero__media {
    aspect-ratio: auto;
    min-height: 0;
    background: var(--albura-surface) url(/img/hero-poster.webp) center / cover no-repeat;
  }
  html.hero-activo .hero__foto { display: none; }
  html.hero-activo #heroCanvas { display: block; position: absolute; inset: 0; width: 100%; height: 100%; }

  html.hero-activo .hero__panel { gap: var(--albura-space-5); padding-block: var(--albura-space-5); }
  html.hero-activo .hero__stages { gap: 0; }
  html.hero-activo .hero__stage {
    grid-area: 1 / 1;
    padding-top: 0;
    border-top: 0;
    opacity: 0;
    transform: translateY(var(--albura-space-2));
    pointer-events: none;
    transition: opacity var(--albura-duration-base) var(--albura-ease),
                transform var(--albura-duration-base) var(--albura-ease);
  }
  html.hero-activo .hero__stage.is-active { opacity: 1; transform: none; pointer-events: auto; }

  html.hero-activo .hero__progress { display: block; height: 2px; background: var(--albura-line); }
  html.hero-activo .hero__progress span {
    display: block;
    height: 100%;
    background: var(--albura-fg);
    transform: scaleX(0);
    transform-origin: left center;
  }
}
@media (min-height: 520px) and (max-width: 1023px) {
  html.hero-activo .hero__stage p:not([class]) { font: var(--albura-text-body-sm); }
}
@media (min-height: 520px) and (max-height: 700px) and (max-width: 1023px) {
  html.hero-activo .hero__stage .albura-title { font: var(--albura-text-heading); }
  html.hero-activo .hero__panel { gap: var(--albura-space-4); padding-block: var(--albura-space-4); }
}
@media (min-height: 520px) and (min-width: 1024px) {
  html.hero-activo .hero__sticky { grid-template-rows: minmax(0, 1fr); }
  html.hero-activo .hero__panel { gap: var(--albura-space-6); padding-block: var(--albura-space-7); }
}

/* ---------- Secciones ---------- */
.seccion { padding-block: var(--albura-space-8); }
@media (min-width: 768px) { .seccion { padding-block: var(--albura-space-9); } }

/* Sobre Piedra el texto va siempre en fg y las líneas en bg o fg */
.seccion--piedra { background: var(--albura-surface); }
.seccion--piedra .albura-field__hint,
.seccion--piedra figcaption,
.seccion--piedra .albura-label { color: var(--albura-fg); }

/* Grafito: la sección lleva data-albura-tema="oscuro" y reusa los roles oscuros del kit.
   Sin Calafate ni Liquen encima: el acento y el foco son Caliza. */
.seccion--grafito,
.pie[data-albura-tema="oscuro"] { background: var(--albura-bg); color: var(--albura-fg); }
.seccion--grafito .albura-label { color: var(--albura-fg-muted); }

.encabezado { display: flex; flex-direction: column; gap: var(--albura-space-4); margin-bottom: var(--albura-space-6); }
@media (min-width: 768px) { .encabezado { margin-bottom: var(--albura-space-7); } }

.albura figcaption { margin-top: var(--albura-space-3); font: var(--albura-text-caption); color: var(--albura-fg-muted); }

/* ---------- Propuesta ---------- */
.propuesta__frase {
  margin-top: var(--albura-space-5);
  font: 200 clamp(44px, 7.2vw, 104px)/1.02 var(--albura-serif);
  letter-spacing: -0.01em;
  text-wrap: balance;
}
.propuesta__frase span { display: block; }
.propuesta__frase span:last-child { color: var(--albura-fg-muted); }
.propuesta__cols > div { border-top-color: var(--albura-fg-muted); }
.propuesta__cols { display: grid; gap: var(--albura-space-6); margin-top: var(--albura-space-7); }
.propuesta__cols > div {
  display: flex;
  flex-direction: column;
  gap: var(--albura-space-3);
  padding-top: var(--albura-space-4);
  border-top: var(--albura-border-width) solid var(--albura-line-strong);
}
.propuesta__cols h3 { font: var(--albura-text-heading); }
@media (min-width: 768px) {
  .propuesta__cols { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--albura-space-5); margin-top: var(--albura-space-8); }
}

/* ---------- Menú ---------- */
.menu__grid { display: grid; gap: var(--albura-space-5); }
.menu__marco {
  position: relative;
  aspect-ratio: 3 / 2;
  max-height: 30svh;
  overflow: hidden;
  background: var(--albura-surface);
}
.menu__marco picture {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity var(--albura-duration-base) var(--albura-ease);
}
.menu__marco picture.is-active { opacity: 1; }
.menu__marco img { width: 100%; height: 100%; object-fit: cover; }
.menu__leyenda { margin-top: var(--albura-space-3); font: var(--albura-text-caption); color: var(--albura-fg-muted); font-variant-numeric: tabular-nums; }

.menu__lista { padding: 0; list-style: none; border-bottom: var(--albura-border-width) solid var(--albura-line); }
.menu__lista .albura-item { position: relative; padding-block: var(--albura-space-5); }
.menu__lista .albura-item::before {
  content: '';
  position: absolute;
  top: -1px;
  left: 0;
  width: 100%;
  height: 2px;
  background: var(--albura-fg);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform var(--albura-duration-base) var(--albura-ease);
}
html.js .menu__lista .albura-item.is-actual::before { transform: scaleX(1); }
.menu__lista .albura-item__price { color: var(--albura-fg-muted); }
.menu__lista .albura-item__desc { max-width: 52ch; }

@media (max-width: 1023px) and (min-height: 520px) {
  html.js .menu__visor {
    position: sticky;
    top: 72px;
    z-index: 1;
    padding-block: var(--albura-space-4) var(--albura-space-3);
    background: var(--albura-bg);
  }
}
@media (min-width: 1024px) {
  .menu__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--albura-space-5); align-items: start; }
  .menu__visor { grid-column: 1 / span 5; position: sticky; top: 120px; }
  .menu__marco { aspect-ratio: 4 / 5; max-height: calc(100svh - 216px); }
  .menu__lista { grid-column: 7 / span 6; }
}

.menu__cierre { display: grid; gap: var(--albura-space-6); margin-top: var(--albura-space-7); }
.menu__bienvenida { display: flex; flex-direction: column; gap: var(--albura-space-3); }
.menu__bienvenida .albura-label { color: var(--albura-fg-muted); }
.menu__nota { font: var(--albura-text-caption); color: var(--albura-fg); }
.albura-summary__row > span:last-child { flex-shrink: 0; text-align: right; }
.menu__usd { color: var(--albura-fg); white-space: nowrap; }
@media (max-width: 479px) { .menu__usd { display: block; } }
@media (min-width: 1024px) {
  .menu__cierre { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--albura-space-5); margin-top: var(--albura-space-8); align-items: start; }
  .menu__bienvenida { grid-column: 1 / span 5; }
  .menu__cierre .albura-summary { grid-column: 7 / span 6; }
}

/* ---------- Origen ---------- */
/* El lago va a todo el ancho de la ventana: es hijo directo de la sección, fuera del contenedor */
.origen { padding-top: 0; }
.origen__lago { margin-bottom: var(--albura-space-7); }
.origen__lago img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
@media (min-width: 768px) { .origen__lago img { aspect-ratio: 16 / 9; } }
@media (min-width: 1024px) { .origen__lago img { aspect-ratio: 21 / 9; max-height: 82vh; } }
.origen__grid { display: grid; gap: var(--albura-space-7); }
.origen__lista > div {
  display: grid;
  gap: var(--albura-space-1);
  padding-block: var(--albura-space-4);
  border-top: var(--albura-border-width) solid var(--albura-bg);
}
.origen__lista > div:first-child { border-top-color: var(--albura-fg); }
.origen__lista dt { font: var(--albura-text-dish); }
@media (min-width: 768px) {
  .origen__lago { margin-bottom: var(--albura-space-8); }
  .origen__lista > div { grid-template-columns: 5fr 7fr; gap: var(--albura-space-5); align-items: baseline; }
}
@media (min-width: 1024px) {
  .origen__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--albura-space-5); align-items: start; }
  .origen__texto { grid-column: 1 / span 6; }
  .origen__foto { grid-column: 8 / span 5; }
}

/* ---------- Cocina ---------- */
.cocina__grid { display: grid; gap: var(--albura-space-7); }
.cocina__texto { display: flex; flex-direction: column; gap: var(--albura-space-7); }
.cocina__texto > div { display: flex; flex-direction: column; gap: var(--albura-space-4); }
.cocina__texto .albura-label { color: var(--albura-fg-muted); }
.cocina__rol { font: var(--albura-text-origin); }
.cocina__video video { width: 100%; height: auto; background: var(--albura-surface); }
.cocina__video figcaption { display: flex; flex-wrap: wrap; align-items: center; gap: var(--albura-space-3) var(--albura-space-4); }
@media (min-width: 768px) and (max-width: 1023px) {
  .cocina__retrato { max-width: 446px; }
}
@media (min-width: 1024px) {
  .cocina__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--albura-space-5); align-items: start; }
  .cocina__retrato { grid-column: 1 / span 5; }
  .cocina__texto { grid-column: 7 / span 6; }
}

/* ---------- Salón ---------- */
.salon__arriba { display: grid; gap: var(--albura-space-6); }
.salon__texto { display: flex; flex-direction: column; gap: var(--albura-space-4); }
.salon__texto .albura-label { color: var(--albura-fg-muted); }
.salon__abajo {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--albura-space-6) var(--albura-space-4);
  margin-top: var(--albura-space-7);
}
.salon__maridaje {
  grid-column: 1 / -1;
  display: flex;
  flex-direction: column;
  gap: var(--albura-space-3);
  padding-top: var(--albura-space-4);
  border-top: var(--albura-border-width) solid var(--albura-line-strong);
}
@media (min-width: 768px) {
  .salon__abajo { column-gap: var(--albura-space-5); margin-top: var(--albura-space-8); }
}
@media (min-width: 1024px) {
  .salon__arriba { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--albura-space-5); align-items: end; }
  .salon__barra { grid-column: 1 / span 7; }
  .salon__texto { grid-column: 9 / span 4; padding-bottom: var(--albura-space-6); }
  .salon__abajo { grid-template-columns: repeat(12, minmax(0, 1fr)); align-items: end; }
  .salon__abajo figure { grid-column: span 4; }
  .salon__maridaje { grid-column: 9 / span 4; margin-bottom: var(--albura-space-6); }
}

/* ---------- Reserva ---------- */
.reserva__grid { display: grid; gap: var(--albura-space-7); }
.reserva__form .encabezado { margin-bottom: var(--albura-space-6); }
.reserva form { display: flex; flex-direction: column; gap: var(--albura-space-5); }
.reserva__fila { display: grid; gap: var(--albura-space-5); }
.reserva .albura-field input,
.reserva .albura-field textarea { width: 100%; min-width: 0; }
.reserva .albura-field textarea { resize: vertical; }
@media (min-width: 768px) {
  .reserva__fila { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.turnos { min-width: 0; padding: 0; border: 0; }
.turnos legend { padding: 0; font: 500 13px/1.4 var(--albura-sans); }
.turnos__ops { display: flex; flex-wrap: wrap; gap: var(--albura-space-3); margin-top: 6px; }
.turnos .albura-field__error { display: block; margin-top: 6px; }
.turno { position: relative; flex: 1 1 120px; }
.turno input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.turno span {
  display: flex;
  align-items: center;
  justify-content: center;
  height: var(--albura-control-height);
  border: var(--albura-border-width) solid var(--albura-border-control);
  border-radius: var(--albura-radius);
  font: var(--albura-text-price);
  font-variant-numeric: tabular-nums;
  transition: background-color var(--albura-duration-fast) var(--albura-ease),
              border-color var(--albura-duration-fast) var(--albura-ease),
              color var(--albura-duration-fast) var(--albura-ease);
}
.turno input:hover + span { border-color: var(--albura-fg); }
.turno input:checked + span { background: var(--albura-fg); border-color: var(--albura-fg); color: var(--albura-bg); }
.turno input:focus-visible + span { outline: var(--albura-border-width-strong) solid var(--albura-focus); outline-offset: 3px; }
.turno input[aria-invalid="true"] + span { border-width: var(--albura-border-width-strong); border-color: var(--albura-accent); }

.reserva__enviar { display: flex; flex-wrap: wrap; align-items: center; gap: var(--albura-space-4) var(--albura-space-5); }
.reserva__demo { flex: 1 1 200px; font: var(--albura-text-caption); }

.reserva__ok { display: flex; flex-direction: column; align-items: flex-start; gap: var(--albura-space-5); }
.reserva__ok dl, .reserva__info dl { align-self: stretch; }
.reserva__ok dl > div, .reserva__info dl > div {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  gap: var(--albura-space-4);
  padding-block: var(--albura-space-3);
  border-top: var(--albura-border-width) solid var(--albura-bg);
}
.reserva__ok dl > div:first-child, .reserva__info dl > div:first-child { border-top-color: var(--albura-fg); }
.reserva__ok dt, .reserva__info dt { font: 500 13px/1.55 var(--albura-sans); padding-top: 2px; }
.reserva__ok dd { overflow-wrap: anywhere; }
.reserva__ok p { font: var(--albura-text-caption); }
.reserva__info { display: flex; flex-direction: column; gap: var(--albura-space-5); }

@media (min-width: 1024px) {
  .reserva__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--albura-space-5); align-items: start; }
  .reserva__form { grid-column: 1 / span 7; }
  .reserva__info { grid-column: 9 / span 4; }
}

/* ---------- Mapa (dentro de Reservar) ---------- */
.mapa { display: grid; gap: var(--albura-space-6); margin-top: var(--albura-space-8); }
.mapa__texto {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--albura-space-4);
  padding-top: var(--albura-space-4);
  border-top: var(--albura-border-width) solid var(--albura-fg);
}
.mapa__texto p:not([class]) { max-width: 46ch; }
.mapa__marco iframe {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  border: var(--albura-border-width) solid var(--albura-fg);
  border-radius: var(--albura-radius);
  background: var(--albura-bg);
}
@media (min-width: 768px) {
  .mapa { margin-top: var(--albura-space-9); }
  .mapa__marco iframe { aspect-ratio: 16 / 9; }
}
@media (min-width: 1024px) {
  .mapa { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--albura-space-5); align-items: start; }
  .mapa__texto { grid-column: 1 / span 4; }
  .mapa__marco { grid-column: 6 / span 7; }
  .mapa__marco iframe { aspect-ratio: 7 / 4; }
}

/* ---------- Opiniones (de ejemplo: rotuladas en la página) ---------- */
.opiniones__grid { display: grid; gap: var(--albura-space-7); }
.opiniones__resumen { display: flex; flex-direction: column; align-items: flex-start; gap: var(--albura-space-4); }
.opiniones__nota {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--albura-space-2) var(--albura-space-4);
  margin-top: var(--albura-space-4);
}
.opiniones__numero { font: 200 clamp(96px, 14vw, 160px)/0.9 var(--albura-serif); letter-spacing: -0.02em; font-variant-numeric: lining-nums; }
.opiniones__de { font: var(--albura-text-heading); color: var(--albura-fg-muted); }
.opiniones__estrellas { display: flex; gap: var(--albura-space-1); flex-basis: 100%; color: var(--albura-fg); }
.opiniones__estrellas svg { display: block; width: 22px; height: 22px; }
.opiniones__cantidad { font: var(--albura-text-body); }
.opiniones__aviso {
  max-width: 40ch;
  padding-top: var(--albura-space-4);
  border-top: var(--albura-border-width) solid var(--albura-line);
  font: var(--albura-text-caption);
  color: var(--albura-fg-muted);
}
.opiniones__citas { display: grid; gap: var(--albura-space-7); }
.albura-quote blockquote { margin: 0; }
.opiniones .albura-quote p { font: 300 clamp(20px, 2vw, 26px)/1.4 var(--albura-serif); margin-bottom: var(--albura-space-4); text-wrap: pretty; }
.opiniones .albura-quote:first-child p { font-size: clamp(24px, 2.6vw, 32px); line-height: 1.3; }
@media (min-width: 1024px) {
  .opiniones__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--albura-space-5); align-items: start; }
  .opiniones__resumen { grid-column: 1 / span 4; position: sticky; top: calc(72px + var(--albura-space-7)); }
  .opiniones__citas { grid-column: 6 / span 7; }
}

/* ---------- Preguntas ---------- */
.faq__grid { display: grid; }
.faq__lista { border-bottom: var(--albura-border-width) solid var(--albura-line); }
.faq__lista details { border-top: var(--albura-border-width) solid var(--albura-line); }
.faq__lista details:first-child { border-top-color: var(--albura-line-strong); }
.faq__lista summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--albura-space-5);
  min-height: var(--albura-space-8);
  padding-block: var(--albura-space-4);
  font: var(--albura-text-dish);
  list-style: none;
  cursor: pointer;
}
.faq__lista summary::-webkit-details-marker { display: none; }
.faq__lista summary::after {
  content: '';
  flex: none;
  width: 10px;
  height: 10px;
  margin: 0 var(--albura-space-2) var(--albura-space-1);
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg);
  transition: transform var(--albura-duration-base) var(--albura-ease);
}
.faq__lista details[open] summary::after { transform: translateY(4px) rotate(-135deg); }
.faq__lista details p { max-width: 60ch; padding-bottom: var(--albura-space-5); }
@media (min-width: 1024px) {
  .faq__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--albura-space-5); align-items: start; }
  .faq__grid .encabezado { grid-column: 1 / span 4; margin-bottom: 0; }
  .faq__lista { grid-column: 6 / span 7; }
}

/* ---------- Pie ---------- */
.pie { padding-block: var(--albura-space-8); }
.pie__grid > img { display: block; width: var(--albura-space-6); height: auto; }
.pie__grid { display: grid; gap: var(--albura-space-5); justify-items: start; }
.pie__aviso { max-width: 60ch; font: var(--albura-text-caption); color: var(--albura-fg-muted); }
.pie__enlaces { display: flex; flex-wrap: wrap; align-items: center; gap: var(--albura-space-3) var(--albura-space-5); font: var(--albura-text-caption); }
.pie__enlaces .enlace { display: inline-flex; align-items: center; min-height: var(--albura-touch-min); }
.pie__enlaces span { color: var(--albura-fg-muted); }
@media (min-width: 1024px) {
  .pie__grid { grid-template-columns: var(--albura-space-6) minmax(0, 1fr) auto; gap: var(--albura-space-7); }
  .pie__enlaces { flex-direction: column; align-items: flex-start; }
}
