/* =========================
   Paleta y variables globales
   ========================= */
   :root{
    --pink: #ff9ec3;
    --pink-2: #f07da7;
    --gold: #bfa14b;
    --text: #52444f;
    --muted: #8e7b87;
    --paper: #f5eff2;
    --paper-2: #efe7ea;
    --white: #fff;
    --shadow: rgba(0,0,0,.06);
    --radius: 20px;
  }
  
  *{ box-sizing: border-box; }
  html,body{ margin:0; padding:0; }
  body{
    font-family:'Poppins',system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
    color:var(--text);
    background:var(--paper);
  }
  .container{ width:min(92%,980px); margin-inline:auto; }
  
  /* =========================
     Fondo mármol del encabezado
     ========================= */
  .marble{
    background:
      radial-gradient(1200px 800px at -10% -10%, var(--paper-2), transparent 60%),
      radial-gradient(1200px 800px at 110% 10%, var(--paper-2), transparent 55%),
      linear-gradient(180deg, #faf7f8, #f2edf0 60%, #f6f1f3);
    padding:28px 0 48px;
    border-bottom:1px solid #eedfe5;
  }
  .hero{ text-align:center; }
  
  .script{
    font-family:'Great Vibes','Brush Script MT',cursive;
    font-size:clamp(54px,12vw,120px);
    color:#e68cac;
    font-weight:400;
    line-height:.9;
    margin:10px 0;
  }
  
  /* =========================
     Foto + Marco PNG con zoom
     ========================= */
  .frame-wrap{
    --w: 320px;
    --hole: 86%;
    --shift-x: 0px;
    --shift-y: 0px;
    --zoom: 1;
  
    width: min(var(--w), 90vw);
    aspect-ratio: 4 / 3;
    position: relative;
    margin: 12px auto 8px;
  }
  
  .bg-portrait{
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: var(--hole);
    height: var(--hole);
    border-radius: 50%;
    overflow: hidden;
    background-image: url("../assets/foto.png");
    background-size: calc(100% * var(--zoom));
    background-position: calc(50% + var(--shift-x)) calc(50% + var(--shift-y));
    background-repeat: no-repeat;
  }
  
  .frame{
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    display: block;
  }
  
  /* =========================
     Imagen de título personalizada
     ========================= */
  .title-img{
    position: relative;
    display: flex;
    justify-content: center;
    margin-bottom: 40px;  /*  este es el espacio debajo */
  }
  
  .mis15-img{
    max-width: 220px;
    position: absolute;
    top: -120px;       /* 🔸 sube */
    left: 50%;
    transform: translateX(-50%);
    z-index: 5;
  }
  
  /* =========================
     Fecha y hora
     ========================= */
  .datetime{ margin:10px 0 6px; }
  .date{
    font-size:clamp(24px,4.4vw,40px);
    color:var(--gold);
    letter-spacing:6px;
    font-weight:800;
    text-shadow:0 1px 0 #f7e8a3;
  }
  .time{
    font-size:clamp(18px,3.6vw,28px);
    color:var(--gold);
    font-weight:800;
    margin-top:4px;
  }
  .lead{ margin:8px 0; font-weight:600; }
  .gold{ color:#a98d34; }
  
  /* =========================
     Cuenta regresiva
     ========================= */
  .countdown{
    display:flex; align-items:center; justify-content:center; gap:8px;
    margin:6px auto 12px;
  }
  .cd-item{ text-align:center; min-width:74px; }
  .sep{
    font-size:clamp(18px,4vw,28px);
    color:#f199b6;
    font-weight:800;
  }
  .num{
    font-size:clamp(28px,10vw,64px);
    font-weight:800;
    color:#f199b6;
    line-height:1;
    text-shadow:0 6px 16px rgba(242,153,182,.35);
  }
  .label{ font-size:11px; letter-spacing:2px; opacity:.85; margin-top:3px; }
  
  .intro{
    width:min(92%,640px);
    margin:8px auto 16px;
    font-weight:600;
    color:#d1688d;
    text-align:center;
  }
  
  /* =========================
     Botones
     ========================= */
  .btn{
    display:inline-block;
    padding:12px 18px;
    border-radius:999px;
    text-decoration:none;
    color:#fff;
    background:#c692ac;
    font-weight:700;
    box-shadow:0 12px 24px rgba(198,146,172,.25);
  }
  .btn.primary{ background:linear-gradient(180deg,var(--pink),var(--pink-2)); }
  .btn.big{ padding:14px 22px; }
  
  /* =========================
     Bloques de contenido
     ========================= */
  .content{ padding:24px 0 60px; }
  
  .block{
    background:var(--white);
    border:1px solid #f0e4e9;
    border-radius:var(--radius);
    padding:18px;
    margin:14px 0;
    box-shadow:0 10px 24px var(--shadow);
  }
  .block.center{ text-align:center; }
  .block h2{ color:#cd759a; margin-top:0; }
  
  /* =========================
     Tarjetas de acciones
     ========================= */
  .actions{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(220px,1fr));
    gap:14px;
    margin:10px 0 20px;
  }
  .action-card{
    background:var(--white);
    border:1px solid #f0e4e9;
    border-radius:16px;
    padding:16px;
    box-shadow:0 10px 24px var(--shadow);
    text-align:center;
  }
  .icon{ width:28px; height:28px; opacity:.85; }
  .action-card h3{ margin:.4rem 0 .3rem; color:#cd759a; }
  .action-card p{
    font-size: 14px;
    color: var(--muted);
    line-height: 1.4;
  }
  
  /* =========================
     Footer
     ========================= */
  .footer{
    border-top:1px solid #eedfe5;
    background:#fff;
    padding:22px 0;
    text-align:center;
    color:#9a8491;
  }

/* === Widget de música (flotante) === */
.audio-widget{
  position: fixed;
  right: 16px;
  bottom: 16px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  background: rgba(255,255,255,.9);
  border: 1px solid #f0e4e9;
  border-radius: 999px;
  box-shadow: 0 10px 24px rgba(0,0,0,.12);
  z-index: 1000;
  backdrop-filter: blur(6px);
}

.aw-btn{
  appearance: none; border: none; outline: none; cursor: pointer;
  border-radius: 999px; padding: 10px 14px;
  font-size: 16px; font-weight: 700; color: #fff;
  background: linear-gradient(180deg,#ff9ec3,#f07da7);
  box-shadow: 0 8px 18px rgba(198,146,172,.35);
  transition: transform .08s ease;
}
.aw-btn:active{ transform: scale(.97); }

.aw-vol{
  width: 120px; height: 6px; cursor: pointer; background: transparent;
}
.aw-vol::-webkit-slider-runnable-track{ height:6px; background:#f6d1df; border-radius:999px; }
.aw-vol::-webkit-slider-thumb{
  -webkit-appearance:none; appearance:none;
  width:16px; height:16px; background:#f07da7; border-radius:50%;
  margin-top:-5px; box-shadow:0 2px 6px rgba(0,0,0,.2);
}
.aw-vol::-moz-range-track{ height:6px; background:#f6d1df; border-radius:999px; }
.aw-vol::-moz-range-thumb{
  width:16px; height:16px; border:none; background:#f07da7; border-radius:50%;
  box-shadow:0 2px 6px rgba(0,0,0,.2);
}

/* Botón minimizar */
.aw-hide{
  appearance:none; border:none; background:#f3e4ea; color:#9a6f84;
  border-radius:50%; width:24px; height:24px; font-weight:700; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
}

/* Modo minimizado: se convierte en una bolita con solo el botón principal */
.audio-widget.minimized{
  padding: 8px;
  gap: 0;
}
.audio-widget.minimized .aw-vol,
.audio-widget.minimized .aw-hide{
  display: none;
}
.audio-widget.minimized .aw-btn{
  padding: 8px 10px; font-size: 14px;
}
@media (max-width: 480px){
  .aw-vol{ width: 90px; }
}