/*
Theme Name: Astra Child
Theme URI: https://fortwaynecustomshirts.com/
Description: Child theme para Astra con hero slider personalizado
Author: Tu Nombre
Author URI: https://fortwaynecustomshirts.com/
Template: astra
Version: 1.0.0
Text Domain: astra-child
*/

/* ==================================================
REMOVE ASTRA LIMITS
================================================== */

.site-content,
.ast-container,
.content-area,
.site-main,
#primary,
#main{
    width:100% !important;
    max-width:100% !important;
}

/* ==================================================
FULL WIDTH WRAPPER
================================================== */

.fwc-full-width-wrapper{
    position:relative;
    width:100%;
    margin:0;
    padding:0;
}

/* ==================================================
HERO SLIDER
================================================== */

.fwc-hero-slider{
    position:relative;
    width:100%;
    height:520px;
    overflow:hidden;
}

/* ==================================================
SLIDES
================================================== */

.fwc-slide{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    opacity:0;
    transition:opacity 1s ease-in-out;
}

.fwc-slide.active{
    opacity:1;
    z-index:2;
}

/* ==================================================
OVERLAY
================================================== */

.fwc-overlay{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,0.35);
}

/* ==================================================
CONTENT
================================================== */

.fwc-content{
    position:absolute;
    top:50%;
    left:7%;
    transform:translateY(-50%);
    z-index:5;
    max-width:620px;
    color:#fff;
}

/* ==================================================
TITLE
================================================== */

.fwc-content h1{
    font-size:62px;
    line-height:0.95;
    margin-bottom:20px;
    font-weight:900;
    text-transform:uppercase;
}

/* ==================================================
TEXT
================================================== */

.fwc-content p{
    font-size:22px;
    line-height:1.5;
    margin-bottom:30px;
}

/* ==================================================
BUTTON
================================================== */

.fwc-btn{
    display:inline-block;
    background:#20b2e8;
    color:#fff;
    text-decoration:none;
    padding:16px 36px;
    border-radius:8px;
    font-weight:700;
    transition:0.3s;
}

.fwc-btn:hover{
    background:#0d9fd1;
}

/* ==================================================
ARROWS
================================================== */

.fwc-prev,
.fwc-next{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:52px;
    height:52px;
    border:none;
    background:rgba(255,255,255,0.18);
    color:#fff;
    font-size:28px;
    cursor:pointer;
    z-index:20;
}

.fwc-prev{
    left:15px;
}

.fwc-next{
    right:15px;
}

/* ==================================================
FULL WIDTH DIVIDER LINE
================================================== */

.fwc-divider-line{
    width:100%;
    height:4px;
    background:#20b2e8;
}

/* ==================================================
RESPONSIVE
================================================== */

@media(max-width:768px){

    .fwc-hero-slider{
        height:320px;
    }

    .fwc-content{
        left:5%;
        right:5%;
        max-width:100%;
    }

    .fwc-content h1{
        font-size:34px;
    }

    .fwc-content p{
        font-size:16px;
    }

    .fwc-btn{
        padding:13px 24px;
        font-size:14px;
    }

}

/* ==================================================
MENÚ ANIMADO - PARA HEADER EXISTENTE DE ASTRA
================================================== */

/* Menú items de Astra con animaciones */
.main-header-menu .menu-item,
.ast-primary-header-bar .menu-item,
#ast-desktop-header .menu-item,
.ast-mobile-menu-buttons .menu-item {
    position: relative;
    overflow: hidden !important;
}

/* Enlaces del menú - Animación de tamaño exacto del item */
.main-header-menu .menu-link,
.ast-primary-header-bar .menu-link,
#ast-desktop-header .menu-link,
.ast-mobile-menu-buttons .menu-link,
.main-navigation .menu-link {
    position: relative;
    z-index: 1;
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
    border-radius: 8px !important;
}

/* Efecto hover - Círculo del tamaño del item */
.main-header-menu .menu-item::before,
.ast-primary-header-bar .menu-item::before,
#ast-desktop-header .menu-item::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #20b2e8, #00d4ff);
    border-radius: 8px;
    transform: scale(0);
    transform-origin: center;
    transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    z-index: -1;
    opacity: 0;
}

.main-header-menu .menu-item:hover::before,
.ast-primary-header-bar .menu-item:hover::before,
#ast-desktop-header .menu-item:hover::before {
    transform: scale(1);
    opacity: 1;
}

/* Texto del menú en hover */
.main-header-menu .menu-item:hover .menu-link,
.ast-primary-header-bar .menu-item:hover .menu-link,
#ast-desktop-header .menu-item:hover .menu-link {
    color: #ffffff !important;
    text-shadow: 0 2px 10px rgba(0,0,0,0.3);
    transform: translateY(-2px);
}

/* Item activo del menú */
.main-header-menu .current-menu-item > .menu-link,
.main-header-menu .current-menu-ancestor > .menu-link,
.ast-primary-header-bar .current-menu-item > .menu-link,
.ast-primary-header-bar .current-menu-ancestor > .menu-link,
#ast-desktop-header .current-menu-item > .menu-link,
#ast-desktop-header .current-menu-ancestor > .menu-link {
    color: #20b2e8 !important;
    font-weight: 700 !important;
}

/* Efecto click - Ripple */
.main-header-menu .menu-link:active,
.ast-primary-header-bar .menu-link:active,
#ast-desktop-header .menu-link:active {
    transform: scale(0.95) !important;
}

/* Submenu - Animación suave */
.main-header-menu .sub-menu,
.ast-primary-header-bar .sub-menu,
#ast-desktop-header .sub-menu {
    animation: slideDown 0.3s ease;
    box-shadow: 0 10px 30px rgba(0,0,0,0.3) !important;
    border-radius: 8px !important;
    overflow: hidden !important;
}

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Items del submenu */
.main-header-menu .sub-menu .menu-item,
.ast-primary-header-bar .sub-menu .menu-item,
#ast-desktop-header .sub-menu .menu-item {
    transition: all 0.2s ease !important;
}

.main-header-menu .sub-menu .menu-item:hover,
.ast-primary-header-bar .sub-menu .menu-item:hover,
#ast-desktop-header .sub-menu .menu-item:hover {
    background: rgba(32, 178, 232, 0.1) !important;
    padding-left: 25px !important;
}

/* ================= HEADER ANIMADO GENERAL ================= */
.ast-primary-header-bar,
#ast-desktop-header,
.ast-desktop-header-content-wrap {
    background: linear-gradient(135deg, #0a0a0a 0%, #1a1a2e 100%) !important;
    backdrop-filter: blur(15px);
    border-bottom: 2px solid rgba(32, 178, 232, 0.3);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
    transition: all 0.3s ease;
}

.ast-primary-header-bar:hover,
#ast-desktop-header:hover {
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.6), 
                0 0 40px rgba(32, 178, 232, 0.2);
    border-bottom-color: rgba(32, 178, 232, 0.6);
}

/* Logo en header */
.ast-site-identity {
    display: flex !important;
    align-items: center !important;
}

.ast-site-identity img {
    transition: all 0.3s ease !important;
}

/* ================= MÓVIL ================= */
@media(max-width: 921px) {
    .ast-mobile-menu-buttons .menu-item::before {
        border-radius: 0;
    }
    
    .main-header-menu .sub-menu .menu-item:hover {
        padding-left: 20px !important;
    }
}