        *{
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }
        body {
            background-color: #1a1a1a;
            font-family: 'Inter', sans-serif;
            overflow-x: hidden;
        }
        /* Clases de tipografía personalizadas para imitar los estilos de la invitación */
        .font-serif {
            font-family: 'Playfair Display', serif;
        }
        .font-sans {
            font-family: 'Inter', sans-serif;
        }
.charm-regular {
  font-family: "Charm", cursive;
  font-weight: 400;
  font-style: normal;
}

.charm-bold {
  font-family: "Charm", cursive;
  font-weight: 700;
  font-style: normal;
}

        .text-gold {
            color: #6c4e37; /* tono cobre/café */
        }
        .text-light {
            color: #e1e4ea;
        }
        .bg-dark-card {
            background-color: #1a1a1a;
        }
        .hero-overlay {
            position: absolute;
            inset: 0;
            background: rgba(0,0,0,0.35);
            z-index: 1;
        }
        /* Efectos de foto polaroid */
        .polaroid {
            background: white;
            padding: 15px 15px 50px;
            border-radius: 8px;
            box-shadow: 0 4px 12px rgba(0,0,0,0.15);
            max-width: 320px;
            position: relative;
        }
        .polaroid-tape {
            position: absolute;
            top: -10px;
            right: 20px;
            width: 50px;
            height: 15px;
            background: #ffe5b4;
            border-radius: 2px;
            transform: rotate(2deg);
            z-index: 3;
            box-shadow: 0 1px 3px rgba(0,0,0,0.2);
        }
        /* Galería 3D deck (simulación sencilla con perspectiva) */
        .deck-container {
            position: relative;
            width: 100%;
            height: 70vh;
            display: flex;
            justify-content: center;
            align-items: center;
            overflow: hidden;
        }
        .deck-card {
            position: absolute;
            width: min(70vh, 80vw);
            height: min(70vh, 80vw);
            transform-style: preserve-3d;
            transition: transform 0.2s ease;
            border-radius: 20px;
            overflow: hidden;
            box-shadow: 0 20px 30px -10px rgba(0,0,0,0.5);
        }
        .deck-card img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
        }
        /* Countdown cajas */
        .countdown-box {
            display: flex;
            flex-direction: column;
            align-items: center;
            margin: 0 10px;
        }
        .countdown-number {
            display: flex;
            background-color: #00eb2b;
            border-radius: 8px;
            overflow: hidden;
        }
        .countdown-number span {
            display: inline-flex;
            justify-content: center;
            align-items: center;
            width: 3.2rem;
            height: 5rem;
            background-color: #275c85;
            color: #ffffff;
            font-weight: bold;
            font-size: 2.3rem;
            font-family: 'Playfair Display', serif;
        }
        .countdown-label {
            margin-top: 10px;
            font-size: 0.8rem;
            color: #e1e4ea;
        }
        /* clima card */
        .weather-card {
            background: #2c2c2c;
            border-radius: 24px;
            padding: 1.5rem;
            margin-top: 1.5rem;
            box-shadow: 0 4px 12px rgba(0,0,0,0.2);
        }
        .hourly-forecast {
            display: flex;
            overflow-x: auto;
            gap: 1rem;
            padding-bottom: 0.5rem;
        }
        .hour-item {
            text-align: center;
            min-width: 65px;
        }
        button {
            cursor: pointer;
        }
        .map-button {
            background-color: #6c4e37;
            color: white;
            border: none;
            padding: 10px 20px;
            border-radius: 40px;
            font-weight: bold;
            transition: 0.2s;
            margin-top: 1rem;
        }
        .map-button:hover {
            background-color: #8b6343;
        }
        footer {
            background-color: #1a1a1a;
            text-align: center;
            padding: 2rem;
            border-top: 1px solid #333;
        }
        @media (max-width: 600px) {
            .countdown-number span {
                width: 2.5rem;
                height: 4rem;
                font-size: 1.8rem;
            }
            .polaroid {
                padding: 12px 12px 40px;
            }
            .hero-title {
                font-size: 3rem !important;
            }
}
