﻿/* ===================================================================
   PÁGINA: HOME (HIGH-END EDITION)
=================================================================== */
#sectionHero {
    min-height: 85vh;
    min-height: 85dvh; /* Mobile Safari fix */
    background-image: url("../../img/bg-hero.jpg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: scroll;
}

.hero-overlay {
    background: linear-gradient(180deg, rgba(var(--aw-primary-rgb), 0.5) 0%, rgba(var(--aw-primary-rgb), 1) 100%);
    height: 100%;
    position: absolute;
    width: 100%;
    left: 0;
    top: 0;
    z-index: 0;
}

/* ===================================================================
   HERO TYPOGRAPHY & COMPOSITION
=================================================================== */
.hero-title {
    letter-spacing: -0.025em;
    text-wrap: balance;
    line-height: 1.1;
}

.hero-subtitle {
    letter-spacing: -0.01em;
}

.hero-info-badge {
    background: rgba(var(--aw-secondary-rgb), 0.2);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    box-shadow: var(--aw-shadow-lg);
    user-select: none;
}


/* ===============================================
   HERO SEARCH BAR (INTERACTIVE)
=============================================== */
.hero-search-bar {
    transition:
            transform var(--aw-duration-base) var(--aw-ease-spring),
            box-shadow var(--aw-duration-fast) var(--aw-ease-out);
    border: 1px solid transparent;
}

.hero-search-bar:focus-within {
    box-shadow: var(--aw-shadow-2xl), 0 0 0 4px rgba(var(--aw-primary-rgb), 0.15);
    transform: translateY(-2px);
    border-color: var(--aw-primary);
}

.hero-search-bar input:focus {
    box-shadow: none;
    outline: none;
}

.search-submit-btn:active {
    transform: scale(var(--aw-scale-active));
}

@media (prefers-reduced-motion: reduce) {
    .hero-search-bar, .search-submit-btn, .carousel-image {
        transition: none !important;
        transform: none !important;
    }
}

/* ===============================================
   FEATURES SECTION
=============================================== */
.feature-icon-box {
    height: 3.5rem;
    flex-shrink: 0;
    width: 3.5rem;
}

/* ===============================================
   CALL TO ACTION (CTA)
=============================================== */
.cta-block {
    background: linear-gradient(135deg, var(--aw-primary-600) 0%, var(--aw-primary-800) 100%);
    box-shadow: var(--aw-shadow-2xl);
    border-radius: var(--aw-radius-xl);
}

.action-btn {
    transition: transform var(--aw-duration-base) var(--aw-ease-spring),
    box-shadow var(--aw-duration-fast) var(--aw-ease-out),
    background-color var(--aw-duration-fast) var(--aw-ease-out);
}

.cta-block .btn-light:hover {
    background-color: var(--aw-gray-50);
    transform: translateY(-2px);
    box-shadow: var(--aw-shadow-lg);
}

.cta-block .btn-outline-light {
    color: var(--aw-gray-300);
}

.cta-block .btn-outline-light:hover {
    background-color: var(--aw-white);
    color: var(--aw-primary-500) !important;
    transform: translateY(-2px);
}

.action-btn:active {
    transform: scale(var(--aw-scale-active)) translateY(0) !important;
    box-shadow: var(--aw-shadow-sm) !important;
}

.cta-block .circle-ball-left, .cta-block .circle-ball-right {
    position: absolute;
    opacity: 0.1;
    pointer-events: none;
}

.cta-block .circle-ball-left {
    left: -5%;
    top: 0;
    transform: translateY(-30%);
}

.cta-block .circle-ball-right {
    right: -10%;
    top: 0;
    transform: translateY(30%);
}

/* ===============================================
   ANIMATIONS
=============================================== */

.aw-reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94),
                transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    will-change: opacity, transform;
}

.aw-reveal.aw-visible {
    opacity: 1;
    transform: translateY(0);
}

.aw-delay-100 { transition-delay: 100ms; }
.aw-delay-200 { transition-delay: 200ms; }
.aw-delay-300 { transition-delay: 300ms; }
.aw-delay-400 { transition-delay: 400ms; }

@keyframes floatAnimation {
    0% { transform: translateY(0px); }
    50% { transform: translateY(-15px); }
    100% { transform: translateY(0px); }
}

.aw-floating {
    animation: floatAnimation 6s ease-in-out infinite;
}

@keyframes blobPulse {
    0%, 100% { transform: scale(1) translateY(0); opacity: 0.1; }
    50% { transform: scale(1.05) translateY(-2%); opacity: 0.15; }
}

.aw-pulse-blob {
    animation: blobPulse 8s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
    .aw-reveal {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
    
    .aw-floating, .aw-pulse-blob {
        animation: none !important;
    }
}