:root {
    --gold: #d4af37;
    --pink-soft: #fce4ec;
    --dark-text: #444;
}

body {
    font-family: 'Montserrat', sans-serif;
    margin: 0;
    background-color: #fafafa;
    color: var(--dark-text);
    text-align: center;
}

/* Carrossel */
.hero-carousel {
    position: relative;
    height: 500px;
    overflow: hidden;
}

.slide {
    display: none;
    height: 100%;
}

.slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.slide.active { display: block; }

.hero-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: rgba(255,255,255,0.8);
    padding: 30px;
    border-radius: 10px;
    width: 80%;
    max-width: 600px;
}

.hero-text h1 { font-family: 'Great Vibes', cursive; font-size: 4rem; color: var(--gold); margin: 0; }

/* Guestbook */
.guestbook { padding: 50px 20px; background: white; }
#messageForm { max-width: 500px; margin: 0 auto; display: flex; flex-direction: column; gap: 10px; }
input, textarea { padding: 12px; border: 1px solid #ddd; border-radius: 5px; font-family: inherit; }
.btn-floral { background: var(--gold); color: white; border: none; padding: 15px; cursor: pointer; border-radius: 5px; font-weight: bold; }

/* Menu de Abas */
.tab-menu { background: #fff; border-bottom: 2px solid var(--pink-soft); sticky top: 0; z-index: 10; }
.tab-btn { background: none; border: none; padding: 20px; font-size: 1rem; cursor: pointer; color: #777; transition: 0.3s; }
.tab-btn.active { color: var(--gold); border-bottom: 3px solid var(--gold); font-weight: bold; }

/* Conteúdo */
.tab-content { display: none; padding: 50px 10%; animation: fadeIn 0.5s; }
.tab-content.active { display: block; }

@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }

/* Lista de Presentes */
.gift-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 20px; }
.gift-card { background: white; padding: 20px; border-radius: 10px; box-shadow: 0 4px 10px rgba(0,0,0,0.05); }
.gift-card img { width: 100%; border-radius: 8px; }
.btn-select { margin-top: 15px; width: 100%; padding: 10px; border: 1px solid var(--gold); background: none; color: var(--gold); cursor: pointer; border-radius: 20px; }
.btn-select.selected { background: #27ae60; color: white; border-color: #27ae60; pointer-events: none; }
.btn-select.selected::before { content: "✓ "; }

/* Galerias */
.inspiration-gallery img { width: 45%; margin: 5px; border-radius: 10px; }