:root {
    --primary-pink: #ffafbd;
    --secondary-pink: #ffc3a0;
    --dark-pink: #e91e63;
    --white: #ffffff;
}

body { margin: 0; font-family: 'Montserrat', sans-serif; background-color: #fffafb; overflow-x: hidden; }
.container { max-width: 1100px; margin: 0 auto; padding: 2rem; }

/* HERO */
.hero {
    min-height: 80vh;
    background: linear-gradient(135deg, var(--primary-pink), var(--secondary-pink));
    display: flex; align-items: center; justify-content: center; text-align: center;
}
.overlay { background: rgba(255, 255, 255, 0.2); padding: 3rem; border-radius: 40px; backdrop-filter: blur(10px); }
h1 { font-family: 'Dancing Script', cursive; font-size: 3.5rem; color: white; margin: 0 0 1.5rem; }
h2 { text-align: center; font-family: 'Dancing Script', cursive; font-size: 3rem; color: var(--dark-pink); margin-bottom: 2rem; }
.gallery-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 15px; }
.gallery-item { height: 300px; border-radius: 15px; overflow: hidden; box-shadow: 0 5px 15px rgba(0,0,0,0.1); }
.gallery-item img { width: 100%; height: 100%; object-fit: cover; transition: 0.5s; }
.gallery-item:hover img { transform: scale(1.1); }
/* IG PROFILY */
.instagram-profiles { display: flex; align-items: center; justify-content: center; gap: 2rem; }
.ig-profile { text-decoration: none; color: white; transition: 0.3s; }
.ig-profile:hover { transform: scale(1.1); }
.ig-avatar { width: 80px; height: 80px; border-radius: 50%; border: 3px solid white; object-fit: cover; }
.ig-username { display: block; font-size: 0.8rem; font-weight: bold; background: white; color: var(--dark-pink); padding: 4px 12px; border-radius: 20px; margin-top: 10px; }
.heart-divider { font-size: 1.5rem; color: white; animation: pulse 1.5s infinite; }

/* COUNTER */
.counter-section { text-align: center; padding: 4rem 0; background: white; }
.counter-title { font-family: 'Dancing Script', cursive; font-size: 3rem; color: var(--dark-pink); }
#timer { display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; }
.time-unit { border: 2px solid var(--primary-pink); padding: 15px; border-radius: 15px; min-width: 90px; }
.time-unit span { display: block; font-size: 2rem; font-weight: bold; color: var(--dark-pink); }
.time-unit p { margin: 0; font-size: 0.7rem; color: #888; text-transform: uppercase; }

/* GALLERY */
.gallery-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 15px; }
.gallery-item { height: 250px; border-radius: 15px; overflow: hidden; box-shadow: 0 5px 15px rgba(0,0,0,0.1); }
.gallery-item img { width: 100%; height: 100%; object-fit: cover; transition: 0.5s; }
.gallery-item:hover img { transform: scale(1.1); }

/* LOVE SECTION & EXPLODING HEART */
.love-declaration { text-align: center; padding: 4rem 0; cursor: pointer; }
#love-text { font-family: 'Dancing Script', cursive; font-size: 4rem; color: var(--dark-pink); transition: 0.3s; }
#love-text:hover { transform: scale(1.2); }

.exploding-heart {
    position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%) scale(0);
    font-size: 20rem; z-index: 10000; pointer-events: none; opacity: 0;
    transition: 0.6s cubic-bezier(0.17, 0.89, 0.32, 1.49);
}
.exploding-heart.animate { opacity: 1; transform: translate(-50%, -50%) scale(1.5); animation: burst 0.6s forwards 0.6s; }

@keyframes burst {
    0% { transform: translate(-50%, -50%) scale(1.5); opacity: 1; }
    100% { transform: translate(-50%, -50%) scale(4); opacity: 0; filter: blur(30px); }
}

footer { text-align: center; padding: 2rem; color: #999; }
@keyframes pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.2); } }
.animate-pop { animation: pop 2s infinite alternate; }
@keyframes pop { from { transform: scale(1); } to { transform: scale(1.05); } }