/* WHYCANCUN.CSS - Paridade com componente React */

.why-cancun-section {
        padding: 3rem 0;
        background: var(--gradient-subtle);
}

/* .why-cancun-container removido em favor de .cancun-container utilitária */

/* Header */
.why-cancun-header { text-align: center; margin-bottom: 3rem; max-width: 56rem; margin-left:auto; margin-right:auto; padding: 0 1rem; }
.why-cancun-headline { font-family:'Playfair Display',serif; font-weight:600; font-size:1.875rem; letter-spacing:-0.025em; margin:0 0 2rem; color:hsl(var(--foreground)); }

@media (min-width: 640px) {
    .why-cancun-section { padding: 4.5rem 0; }
    .why-cancun-header { margin-bottom: 4rem; padding: 0; }
    .why-cancun-headline { font-size: 2.25rem; }
}

@media (min-width: 768px) {
    .why-cancun-section { padding: 6rem 0; }
    .why-cancun-header { margin-bottom: 5rem; }
    .why-cancun-headline { font-size: 3.75rem; }
}
.why-cancun-emphasis { font-style:italic; color:hsl(var(--primary)); font-weight:400; }
.why-cancun-intro { font-family:Inter,sans-serif; font-weight:300; font-size:1rem; line-height:1.75; color:hsl(var(--muted-foreground)); }

@media (min-width: 768px) {
    .why-cancun-intro { font-size:1.25rem; }
}

/* Video */
.why-cancun-video-wrapper { margin:0 auto 3rem; max-width:56rem; padding: 0 1rem; }

@media (min-width: 640px) {
    .why-cancun-video-wrapper { margin:0 auto 4rem; padding: 0; }
}

@media (min-width: 768px) {
    .why-cancun-video-wrapper { margin:0 auto 5rem; }
}
.why-cancun-video-frame { position:relative; border-radius:1rem; overflow:hidden; box-shadow: var(--shadow-luxury); }
.why-cancun-aspect { position:relative; width:100%; padding-bottom:56.25%; background: hsl(var(--muted) / 0.5); }
.why-cancun-iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.why-cancun-video-caption { text-align:center; margin-top:1rem; font-size:0.875rem; font-weight:300; color:hsl(var(--muted-foreground)); }

/* Classes utilitárias Tailwind para grid - exato do Vite */
.grid { display: grid; }
.md\:grid-cols-2 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
.gap-12 { gap: 3rem; }
.max-w-6xl { max-width: 72rem; }
.mx-auto { margin-left: auto; margin-right: auto; }

.group {}
.text-center { text-align: center; }

.hover\:transform:hover { transform: translateX(0); }
.hover\:scale-105:hover { transform: scale(1.05); }
.transition-all { transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); }
.duration-300 { transition-duration: 300ms; }

.flex { display: flex; }
.justify-center { justify-content: center; }
.mb-6 { margin-bottom: 1.5rem; }

.p-4 { padding: 1rem; }
.rounded-full { border-radius: 9999px; }
.bg-primary\/10 { background-color: hsl(var(--primary) / 0.1); }
.group:hover .p-4 { background-color: hsl(var(--primary) / 0.2); }
.transition-colors { transition: color 0.3s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1); }

.h-8 { height: 2rem; }
.w-8 { width: 2rem; }
.text-primary { color: hsl(var(--primary)); }

/* Força cor dos ícones SVG - WhyCancun usa h-8 w-8 */
.p-4 svg {
    color: hsl(var(--primary));
    stroke: hsl(var(--primary));
}

.text-2xl { font-size: 1.5rem; line-height: 2rem; }

/* Sobrescrever font-sizes para ficar exato do Vite */
.wedding-headline.text-2xl {
    font-size: 1.5rem;
    line-height: 2rem;
}

.elegant-text {
    font-size: 1rem;
    line-height: 1.625;
}
.mb-4 { margin-bottom: 1rem; }
.group:hover h3 { color: hsl(var(--primary)); }

.text-muted-foreground { color: hsl(var(--muted-foreground)); }
.leading-relaxed { line-height: 1.625; }

/* Responsive - Exato do Vite */
@media (min-width: 768px) {
    .md\:grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .md\:text-left {
        text-align: left !important;
    }
    .md\:justify-start {
        justify-content: flex-start !important;
    }
    .why-cancun-headline { font-size:3.75rem; }
    .why-cancun-intro { font-size:1.25rem; }
}
