/* ==========================================================
   JT MAISON — Hero Widget
   ========================================================== */

.jtm-hero {
    position: relative;
    width: 100%;
    /* Strict height to fill the screen */
    height: 100vh;
    overflow: hidden;
    display: flex;
    align-items: stretch;
    justify-content: center;
    background: var(--jtm-white);
    padding: 0;
    box-sizing: border-box;
}

.jtm-hero.jtm-hero--transparent {
    background: transparent !important;
}

/* Background Video */
.jtm-hero__video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important; /* Muestra el video completo */
    object-position: center !important; /* Centrado absoluto */
    z-index: 1;
}

/* Content Container */
.jtm-hero__inner {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
}

.jtm-hero__content {
    text-align: left !important;
    width: 100%;
    max-width: 800px;
}

/* Typography */
.jtm-hero__title {
    font-family: var(--jtm-font-ui);
    font-weight: 500;
    font-size: clamp(36px, 5vw, 64px);
    color: var(--jtm-dark);
    line-height: 1.1;
    margin: 0 0 32px 0;
    text-align: left !important;
}

.jtm-hero__subtitle {
    font-family: var(--jtm-font-ui);
    font-weight: 300;
    font-size: 11px;
    letter-spacing: 0.25em;
    color: var(--jtm-gray);
    text-transform: uppercase;
    margin: 0;
    line-height: 1.6;
    text-align: left !important;
}

/* Mobile Actions (Hidden on Desktop) */
.jtm-hero__mobile-actions {
    display: none;
}

/* Responsive Mobile */
@media (max-width: 768px) {
    .jtm-hero {
        padding: 40px 24px 40px 24px;
        height: 100vh;
        display: flex;
        flex-direction: column;
        justify-content: flex-end; 
        align-items: center;
    }
    
    .jtm-hero__inner {
        padding: 0;
        display: block;
        width: 100%;
    }

    .jtm-hero__content {
        text-align: left !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto !important;
        display: flex;
        flex-direction: column;
        align-items: flex-start !important;
        justify-content: center !important;
    }

    .jtm-hero__title {
        font-size: clamp(28px, 8vw, 36px);
        margin-bottom: 16px;
        text-align: left !important;
        width: 100%;
        display: block;
    }
    
    .jtm-hero__title * {
        text-align: left !important;
    }

    .jtm-hero__subtitle {
        font-size: 10px;
        letter-spacing: 0.15em;
        margin-bottom: 32px;
        max-width: 100%;
        margin-left: 0 !important;
        margin-right: auto !important;
        text-align: left !important;
        display: block;
    }
    
    .jtm-hero__subtitle * {
        text-align: left !important;
    }

    .jtm-hero__mobile-actions {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 20px;
        width: 100%;
        max-width: 100%;
    }

    .jtm-hero__btn-cta {
        display: inline-block;
        width: 100%;
        padding: 16px 24px;
        border: 1px solid var(--jtm-dark);
        color: var(--jtm-dark) !important;
        text-decoration: none;
        text-transform: uppercase;
        font-family: 'DM Sans', sans-serif;
        font-weight: 500;
        font-size: 14px;
        letter-spacing: 0.15em;
        background: transparent;
        transition: all 0.3s ease;
        text-align: center;
        box-sizing: border-box;
        min-height: 52px;
    }

    .jtm-hero__btn-cta:hover {
        background: var(--jtm-dark);
        color: var(--jtm-white) !important;
    }

    .jtm-hero__link-work {
        font-family: var(--jtm-font-ui);
        font-size: 14px;
        color: var(--jtm-dark);
        text-decoration: none;
        letter-spacing: 0.15em;
        text-transform: uppercase;
        font-weight: 500;
        display: block;
    }
}

/* === ENTRANCE ANIMATIONS === */
.jtm-hero__title,
.jtm-hero__subtitle,
.jtm-hero__mobile-actions {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 1.2s cubic-bezier(0.25, 1, 0.5, 1), transform 1.2s cubic-bezier(0.25, 1, 0.5, 1);
    will-change: opacity, transform;
}

.jtm-hero.is-visible .jtm-hero__title,
.jtm-hero.is-visible .jtm-hero__subtitle,
.jtm-hero.is-visible .jtm-hero__mobile-actions {
    opacity: 1;
    transform: translateY(0);
}

.jtm-hero.is-visible .jtm-hero__title { transition-delay: 0.2s; }
.jtm-hero.is-visible .jtm-hero__subtitle { transition-delay: 0.4s; }
.jtm-hero.is-visible .jtm-hero__mobile-actions { transition-delay: 0.6s; }

/* Prevent animations/hiding in Elementor active editor preview */
.elementor-editor-active .jtm-hero__title,
.elementor-editor-active .jtm-hero__subtitle,
.elementor-editor-active .jtm-hero__mobile-actions {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
}
