:root{
  --bg: #0b1020;
  --text: rgba(255,255,255,.92);
  --muted: rgba(255,255,255,.70);
  --line: rgba(255,255,255,.14);
  --accent: #c8a2ff;
}

*{ box-sizing:border-box }
html,body{ height:100% }

body{
  margin:0;
  color:var(--text);
  min-height:100vh;

  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;

  background: var(--bg);

  padding: clamp(14px, 4vw, 28px);
  padding-bottom: max(56px, env(safe-area-inset-bottom));

  position: relative;
  overflow-x: hidden;
}

.container{
  width:100%;
  max-width: 860px;
  margin: 0 auto;
  padding-bottom: clamp(20px, 5vh, 30px);
}

/* ================= CARD ================= */

.card{
  width:100%;
  position:relative;

  border-radius: clamp(18px, 3vw, 26px);
  padding: clamp(18px, 4.2vw, 32px);

  background:
    linear-gradient(180deg, rgba(255,255,255,.085), rgba(255,255,255,.03)),
    radial-gradient(700px 260px at 20% 10%, rgba(200,162,255,.10), transparent 60%);

  border: 1px solid rgba(255,255,255,.16);
  box-shadow: 0 32px 95px rgba(0,0,0,.50);

  overflow: hidden;
  
}

.card::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background: linear-gradient(180deg, rgba(255,255,255,.08), transparent 26%);
  opacity:.55;
}

.card::before{
  content:"";
  position:absolute;
  inset:-40px;
  pointer-events:none;
  background:
    radial-gradient(600px 250px at 15% 10%, rgba(200,162,255,.18), transparent 60%),
    radial-gradient(700px 280px at 85% 90%, rgba(200,162,255,.10), transparent 60%);
  filter: blur(24px);
  opacity: .65;
}

/* ================= HEADER ================= */

.header{
  position: relative;
  margin-bottom: 12px;
}

/* 🔑 limpia el float de los tulipanes */
.header::after{
  content:"";
  display:block;
  clear: both;
}

.badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;

  border: 1px solid rgba(255,255,255,.16);
  border-radius: 999px;

  background: rgba(255,255,255,.05);
  color: rgba(255,255,255,.75);

  font-size: .92rem;
}

/* ================= TEXTO ================= */

h1{
  margin: 12px 0 10px;
  font-size: clamp(1.45rem, 4.6vw, 2.35rem);
  font-weight: 700;
  line-height: 1.12;
}

p{
  margin: 10px 0;
  line-height: 1.75;
  color: var(--muted);
  font-size: clamp(1rem, 2.9vw, 1.07rem);

  /* ✨ JUSTIFICADO ELEGANTE */
  text-align: justify;
  text-justify: inter-word;
  hyphens: auto;
}

/* ================= HR ================= */

.hr{
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255,255,255,.16),
    transparent
  );
  margin: 20px 0;
}

/* ================= CTA ================= */

.reveal{
  margin-top: 18px;
}

.reveal-hidden{ display:none }

.btn-premium{
  display:inline-flex;
  align-items:center;
  gap:10px;

  padding: 12px 16px;
  border-radius: 14px;

  border: 1px solid rgba(255,255,255,.18);
  background:
    radial-gradient(300px 120px at 10% 0%, rgba(200,162,255,.18), transparent 65%),
    linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.05));

  color: rgba(255,255,255,.92);
  font-size: 1rem;
  cursor:pointer;
  transition: all .2s ease;
}

.btn-premium:hover{
  transform: translateY(-1px);
  border-color: rgba(200,162,255,.45);
}

/* ================= MENSAJE OCULTO ================= */

#mensajeOculto.hidden{ display:none; }

#mensajeOculto.shown{
  display:block;
  animation: fadeUp .6s ease both;
}

@keyframes fadeUp{
  from{ opacity:0; transform: translateY(10px); }
  to{ opacity:1; transform: translateY(0); }
}

/* ================= CONTADOR PREMIUM (CENTRADO REAL) ================= */

.contador{
  margin: 28px auto 0;      /* ✅ centra el cuadro */
  width: 100%;
  max-width: 520px;

  border-radius: 22px;
  padding: 22px 18px;

  background:
    linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.03)),
    radial-gradient(420px 180px at 50% 0%, rgba(200,162,255,.20), transparent 65%);

  border: 1px solid rgba(255,255,255,.18);
  box-shadow:
    0 18px 40px rgba(0,0,0,.35),
    inset 0 1px 0 rgba(255,255,255,.12);

  backdrop-filter: blur(6px);

  /* anim */
  opacity: 0;
  transform: translateY(12px);
  animation: contadorFade 1s ease forwards;
}

/* ✅ CENTRADO DE TEXTO SOLO EN EL CONTADOR (rompe el justify global) */
.contador,
.contador p{
  text-align: center !important;
  text-justify: unset !important;
  hyphens: manual;          /* opcional: evita cortes raros aquí */
}

.contador-title{
  margin: 0 0 10px;
  font-size: .95rem;
  color: rgba(255,255,255,.70);
}

.contador-time{
  margin: 0;
  font-size: clamp(1.5rem, 4.5vw, 2.1rem);
  font-weight: 800;
  letter-spacing: .6px;
  color: rgba(255,255,255,.95);
}

.contador .small{
  margin-top: 6px;
  font-size: .92rem;
  color: rgba(200,162,255,.85);
}

@keyframes contadorFade{
  to{ opacity:1; transform: translateY(0); }
}



/* ================= TULIPANES (WIKIPEDIA STYLE) ================= */

.tulipanes{
  float: right;
  position: relative;

  width: 270px;   /* 🔒 este es el width que te gusta */
  height: 250px;

  margin: 45px 0 10px 10px;
  pointer-events:none;
}

.tulip-img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit: contain;
  object-position: right top;
}

/* atrás (tallos) */
.tulip-back{
  mask-image: linear-gradient(to top, #000 0%, #000 58%, transparent 88%);
  opacity:.45;
  filter: blur(.4px) brightness(.78);
  transform: translateY(6px);
}

/* adelante (flores) */
.tulip-front{
  mask-image: linear-gradient(to bottom, #000 0%, #000 62%, transparent 90%);
  filter: drop-shadow(0 10px 18px rgba(0,0,0,.35));
}

/* ================= MOBILE ================= */

@media (max-width: 820px){
  .tulipanes{
    float:none;
    width:100%;
    height:190px;
    margin: 0 0 14px 0;
  }

  .tulip-img{
    object-position:center top;
  }
}
