/* ==========================================================
   Hero oscuro con la foto a sangre (móvil y escritorio).
   Lo carga index.html. Para volver al hero claro original,
   quita de index.html la línea <link ... hero.css>.
   La versión original sigue visible en original.html.
   ========================================================== */

:root {
  --hero-bg: #8e4d6f;            /* malva: morado claro tirando a rosa */
  --hero-rgb: 142, 77, 111;
  --hero-sub: #ffd7e0;           /* subtítulo rosa claro, legible sobre el malva */
}
@media (max-width: 720px) {
  /* Cabecera clara sobre la foto */
  .top { padding: 16px 0; }
  .top .brand { color: var(--paper); }
  .top .brand em { color: var(--blush); }

  .hero {
    min-height: 100svh;
    padding: 0 0 36px;
    background: var(--hero-bg);
    display: flex;
    flex-direction: column;
  }
  .hero .petal { display: none; }
  .hero .wrap { display: block; position: static; }

  /* La foto ocupa la parte de arriba, a sangre */
  .hero-visual {
    position: absolute; inset: 0 0 auto 0;
    height: 74svh; max-width: none; margin: 0; width: 100%;
  }
  .hero-visual .photo {
    position: absolute; inset: 0;
    aspect-ratio: auto; height: 100%;
    border-radius: 0; box-shadow: none;
  }
  .hero-visual .photo img { object-position: 64% 38% !important; }
  .hero-visual::after {
    content: ""; position: absolute; inset: 0; pointer-events: none;
    background: linear-gradient(to bottom,
      rgba(46, 31, 38, .4) 0%,
      rgba(46, 31, 38, 0) 16%,
      rgba(46, 31, 38, 0) 46%,
      rgba(var(--hero-rgb), .82) 76%,
      var(--hero-bg) 100%);
  }

  /* Fecha y cuenta atrás: tarjeta de cristal arriba */
  .date-card {
    position: absolute; z-index: 2;
    top: 68px; left: 16px; right: 16px; bottom: auto;
    justify-content: space-between;
    margin: 0; min-width: 0; padding: 10px 14px;
    background: rgba(255, 251, 246, .78);
    -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
    border-radius: 14px; box-shadow: none;
    display: grid; grid-template-columns: 1fr auto; column-gap: 12px; align-items: center;
  }
  .date-card .day { grid-column: 1; grid-row: 1; }
  .date-card .hour { grid-column: 1; grid-row: 2; }
  .date-card .countdown { grid-column: 2; grid-row: 1 / 3; }
  .date-card .day { font-size: 18px; white-space: nowrap; }
  .date-card .hour { font-size: 11px; margin-top: 3px; line-height: 1.35; }
  .date-card > .day, .date-card > .hour { min-width: 0; }
  .countdown { flex: none; }
  .countdown { margin: 0; padding: 0 0 0 14px; border-top: 0; border-left: 1px solid var(--line); gap: 10px; }
  .countdown b { font-size: 17px; }
  .countdown small { font-size: 9px; }

  /* Texto encima de la foto */
  .hero .wrap > div:first-child {
    position: relative; z-index: 2;
    display: flex; flex-direction: column;
    padding-top: 50svh;
  }
  .hero .eyebrow { order: 1; color: var(--blush); }
  /* Título en una sola línea también en móvil: el tamaño se ajusta al ancho */
  .hero .wrap > div:first-child { container-type: inline-size; }
  .hero h1 {
    order: 2; color: var(--paper);
    font-size: 6.6vw; font-size: clamp(18px, 7.3cqi, 46px);
    line-height: 1.1; margin: 14px 0 22px;
  }
  .hero h1 .l1, .hero h1 .l2 { display: block; white-space: nowrap; }
  .hero h1 em { color: var(--hero-sub); font-size: 18px; line-height: 1.35; margin-top: 14px; text-wrap: balance; }
  .hero-cta { order: 3; margin-top: 0; }
  .hero-cta .btn { background: var(--paper); color: var(--plum-deep); box-shadow: 0 14px 34px -14px rgba(0, 0, 0, .6); }
  .hero-cta .btn .sparkle { color: var(--gold); }
  .hero-meta { color: rgba(255, 251, 246, .82); width: 100%; text-align: center; }
  .hero .lead {
    order: 4; margin-top: 28px; padding-top: 24px;
    border-top: 1px solid rgba(241, 220, 212, .18);
    color: rgba(255, 251, 246, .88); font-size: 16px;
  }
  .hero .lead strong { color: var(--paper); }
}

/* ---------- Escritorio y tablet: texto a la izquierda, foto a la derecha fundida ---------- */
@media (min-width: 721px) {
  .top .brand { color: var(--paper); }
  .top .brand em { color: var(--blush); }
  /* «Reservar plaza» de la cabecera: botón ciruela para que se lea sobre la foto */
  .top a.link {
    color: var(--paper); background: var(--hero-bg);
    padding: 11px 20px; border: 0; border-radius: 999px; font-weight: 500;
    box-shadow: 0 10px 26px -12px rgba(0, 0, 0, .55);
    transition: background .25s ease, transform .25s ease;
  }
  .top a.link:hover { background: var(--plum-deep); transform: translateY(-1px); }

  .hero {
    min-height: min(100vh, 900px);
    padding: 110px 0 70px;
    background: var(--hero-bg);
    display: flex; align-items: center;
  }
  .hero .petal { display: none; }
  .hero .wrap { display: block; position: static; }
  .hero .wrap > div:first-child { position: relative; z-index: 2; max-width: min(720px, 60%); }

  .hero-visual {
    position: absolute; top: 0; right: 0; bottom: 0;
    width: calc(50% + 2px); max-width: none; margin: 0;
  }
  .hero-visual .photo {
    position: absolute; inset: 0;
    aspect-ratio: auto; height: 100%;
    border-radius: 0; box-shadow: none;
  }
  .hero-visual .photo img { object-position: 60% 40% !important; }
  .hero-visual::after {
    content: ""; position: absolute; inset: 0; pointer-events: none;
    background:
      linear-gradient(to right, var(--hero-bg) 0%, var(--hero-bg) 3%, rgba(var(--hero-rgb), .75) 20%, rgba(var(--hero-rgb), 0) 50%),
      linear-gradient(to top, var(--hero-bg) 0%, rgba(var(--hero-rgb), .6) 12%, rgba(var(--hero-rgb), 0) 34%);
  }

  .hero .eyebrow { color: var(--blush); }
  /* Título en una sola línea: «De la necesidad a la grandeza» */
  .hero .wrap > div:first-child { container-type: inline-size; }
  .hero h1 { color: var(--paper); font-size: clamp(26px, 3vw, 54px); font-size: clamp(26px, 7.3cqi, 70px); line-height: 1.08; }
  .hero h1 .l1, .hero h1 .l2 { display: block; white-space: nowrap; }
  .hero h1 em { color: var(--hero-sub); font-size: .5em; line-height: 1.3; margin-top: 18px; max-width: 24em; text-wrap: balance; }
  .hero .lead { color: rgba(255, 251, 246, .88); font-size: 17px; }
  .hero .lead strong { color: var(--paper); }
  .hero-cta .btn { background: var(--paper); color: var(--plum-deep); box-shadow: 0 16px 40px -18px rgba(0, 0, 0, .7); }
  .hero-cta .btn:hover { background: #fff; }
  .hero-cta .btn .sparkle { color: var(--gold); }
  .hero-meta { color: rgba(255, 251, 246, .82); }

  /* Fecha y cuenta atrás: tarjeta de cristal sobre la foto, abajo a la derecha */
  .date-card {
    position: absolute; z-index: 2;
    left: auto; right: 40px; top: 96px; bottom: auto;
    background: rgba(255, 251, 246, .8);
    -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
    box-shadow: none;
  }
}

/* Eyebrow de la clase en cápsula: se lee bien aunque haya foto detrás */
.hero .eyebrow {
  align-self: flex-start; gap: 8px; padding: 7px 14px 7px 12px; border-radius: 999px;
  background: rgba(74, 38, 54, .55); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 251, 246, .22);
  color: var(--paper); font-size: 12px; letter-spacing: .12em; text-shadow: none;
}
.hero .eyebrow::before {
  content: "✦"; width: auto; height: auto; background: none; opacity: 1; color: var(--rosa-claro); font-size: 12px;
}
@media (min-width: 721px) {
  .hero .eyebrow { display: inline-flex; background: rgba(255, 251, 246, .12); }
}
@media (max-width: 720px) {
  .hero .eyebrow { white-space: nowrap; font-size: 11px; letter-spacing: .06em; padding: 7px 12px 7px 10px; gap: 6px; }
}

