/* css/custom.css */

/* Base Styles */
html {
    scroll-behavior: smooth;
}

body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Section Padding */
.section-padding {
    padding: 6rem 0;
}

@media (max-width: 768px) {
    .section-padding {
        padding: 4rem 0;
    }
}

/* CTA Button Styles */
.cta-button {
    @apply relative inline-flex items-center justify-center bg-gradient-to-r from-dourado to-dourado-claro text-azul-escuro font-bold px-8 py-5 rounded-xl text-lg transition-all duration-300;
}

.cta-button:hover {
    @apply shadow-lg shadow-dourado/30 scale-105;
}

.cta-button::after {
    content: '';
    @apply absolute inset-0 rounded-xl;
    box-shadow: 0 0 0 0 rgba(212, 175, 55, 0.4);
    transition: box-shadow 0.3s;
}

.cta-button:hover::after {
    box-shadow: 0 0 0 10px rgba(212, 175, 55, 0);
}

/* Card Styles */
.card-benefit {
    @apply bg-white rounded-2xl shadow-lg p-8 border-l-4 border-dourado transition-all duration-300;
}

.card-benefit:hover {
    @apply shadow-xl -translate-y-1;
}

/* FAQ Styles */
.faq-item {
    @apply border-b border-gray-200 py-5;
}

.faq-question {
    @apply flex justify-between items-center cursor-pointer font-semibold text-lg text-azul-escuro transition-colors;
}

.faq-question:hover {
    @apply text-dourado;
}

.faq-answer {
    @apply hidden mt-4 text-gray-600 leading-relaxed;
}

.faq-item.active .faq-answer {
    @apply block;
}

.faq-item.active .faq-question svg {
    transform: rotate(180deg);
}

/* Gradient Text */
.gradient-text {
    @apply text-transparent bg-clip-text bg-gradient-to-r from-dourado to-dourado-claro;
}

/* Glow Effect */
.glow-effect {
    box-shadow: 0 0 60px rgba(212, 175, 55, 0.3);
}

/* Hover Scale */
.hover-scale {
    @apply transition-transform duration-300;
}

.hover-scale:hover {
    @apply scale-105;
}

/* Button Shine Effect */
.shine-effect {
    @apply relative overflow-hidden;
}

.shine-effect::before {
    content: '';
    @apply absolute top-0 -left-full w-full h-full bg-gradient-to-r from-transparent via-white/20 to-transparent;
    transition: left 0.5s;
}

.shine-effect:hover::before {
    left: full;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    @apply bg-gray-100;
}

::-webkit-scrollbar-thumb {
    @apply bg-azul-escuro rounded-full;
}

::-webkit-scrollbar-thumb:hover {
    @apply bg-dourado;
}

/* Animations */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes slideInLeft {
    from {
        opacity: 0;
        transform: translateX(-30px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes slideInRight {
    from {
        opacity: 0;
        transform: translateX(30px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.animate-fade-in-up {
    animation: fadeInUp 0.6s ease-out forwards;
}

.animate-slide-in-left {
    animation: slideInLeft 0.6s ease-out forwards;
}

.animate-slide-in-right {
    animation: slideInRight 0.6s ease-out forwards;
}

/* Delay Classes */
.delay-100 { animation-delay: 0.1s; }
.delay-200 { animation-delay: 0.2s; }
.delay-300 { animation-delay: 0.3s; }
.delay-400 { animation-delay: 0.4s; }
.delay-500 { animation-delay: 0.5s; }

/* Price Card */
.price-card {
    @apply relative bg-white rounded-2xl shadow-2xl p-8 border-2 border-transparent;
}

.price-card::before {
    content: '';
    @apply absolute inset-0 rounded-2xl;
    background: linear-gradient(135deg, #D4AF37, #E8C547);
    z-index: -1;
    padding: 3px;
    border-radius: 1rem;
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
}

/* Feature Check */
.feature-check {
    @apply flex items-center gap-3 p-4 bg-green-50 rounded-xl border border-green-200;
}

/* Testimonial Card */
.testimonial-card {
    @apply bg-white rounded-2xl shadow-lg p-6 relative;
}

.testimonial-card::before {
    content: '"';
    @apply absolute -top-4 left-6 text-6xl text-dourado/30 font-serif;
}

/* Mobile Responsive Adjustments */
@media (max-width: 640px) {
    .section-padding {
        @apply py-8;
    }
    
    h1 {
        @apply text-3xl;
    }
    
    h2 {
        @apply text-2xl;
    }
}

/* Focus States for Accessibility */
a:focus,
button:focus {
    @apply outline-none ring-2 ring-dourado ring-offset-2;
}

/* Print Styles */
@media print {
    .no-print {
        display: none !important;
    }
}
