/* ==================================================
   HEADER TERRACT
================================================== */

.terract-premium-header{
    --navy:#032247;
    --navy2:#0b3561;
    --orange:#ff8800;
    --green:#0a9445;

    max-width:1680px;
    margin:0 auto 24px;
    padding:18px 0;
}

/* ==================================================
   TOP BAR
================================================== */

.terract-header-topbar{
    background:var(--navy);
    color:#fff;
    border-radius:0 0 24px 24px;

    padding:16px 28px;

    display:flex;
    justify-content:space-between;
    align-items:center;
}

.terract-header-date{
    font-size:14px;
    font-weight:800;
}

.terract-header-toplinks{
    display:flex;
    align-items:center;
    gap:20px;
}

.terract-header-toplinks a{
    color:#fff;
    text-decoration:none;
    font-size:14px;
    font-weight:700;
}

.terract-header-socials{
    display:flex;
    gap:14px;
    padding-left:20px;
    border-left:1px solid rgba(255,255,255,.2);
}

.terract-header-toplinks a:hover{
    color:var(--orange);
}

/* ==================================================
   LOGO + SLOGAN + BOUTONS
================================================== */

.terract-header-main{
    margin-top:16px;

    background:#fff;

    border:1px solid #dfe7ee;
    border-radius:28px;

    padding:24px 36px;

    display:grid;
    grid-template-columns:220px 1fr auto;
    gap:30px;
    align-items:center;

    box-shadow:0 12px 30px rgba(0,0,0,.05);
}

.terract-header-logo img{
    max-width:180px;
    height:auto;
    display:block;
}

.terract-header-slogan{
    text-align:center;
    color:var(--navy);

    font-size:clamp(18px,1.8vw,26px);
    line-height:1.15;
    font-weight:900;

    max-width:700px;
    margin:auto;
}

.terract-header-slogan span{
    color:var(--orange);
    margin:0 8px;
}

.terract-header-actions{
    display:flex;
    gap:16px;
}

.terract-header-btn{
    display:flex;
    align-items:center;
    justify-content:center;

    height:56px;

    padding:0 28px;

    border-radius:999px;

    color:#fff;
    text-decoration:none;

    font-size:16px;
    font-weight:900;

    transition:.25s ease;
}

.terract-header-newsletter{
    background:var(--green);
    box-shadow:0 10px 24px rgba(10,148,69,.18);
}

.terract-header-member{
    background:var(--orange);
    box-shadow:0 10px 24px rgba(255,136,0,.20);
}

.terract-header-btn:hover{
    transform:translateY(-2px);
}

/* ==================================================
   MENU PRINCIPAL
================================================== */

.terract-header-nav{
    margin-top:14px;

    background:var(--navy2);

    border-radius:24px;
    overflow:hidden;
}

.terract-header-nav ul{
    margin:0;
    padding:0;

    list-style:none;

    display:flex;
    justify-content:space-between;
    align-items:stretch;
}

.terract-header-nav li{
    flex:1;
}

.terract-header-nav a{
    display:flex;
    align-items:center;
    justify-content:center;

    min-height:58px;

    padding:0 12px;

    text-align:center;

    color:#fff;
    text-decoration:none;

    font-size:14px;
    font-weight:850;

    line-height:1.15;

    border-bottom:4px solid transparent;

    transition:.25s ease;
}

.terract-header-nav a:hover{
    background:rgba(255,255,255,.08);
}

.terract-header-nav .current-menu-item a,
.terract-header-nav .current_page_item a,
.terract-header-nav a.active{
    background:#3b4559;
    border-bottom-color:var(--orange);
}

/* ==================================================
   NEWSLETTER MODAL
================================================== */

.terract-newsletter-modal{
    display:none;
    position:fixed;
    inset:0;
    z-index:99999;
}

.terract-newsletter-modal.is-open{
    display:block;
}

.terract-newsletter-modal-backdrop{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.65);
}

.terract-newsletter-modal-card{
    position:relative;

    width:min(700px,calc(100% - 40px));

    margin:10vh auto;

    background:#fff;

    border-radius:24px;

    padding:30px;

    z-index:2;
}

.terract-newsletter-close{
    position:absolute;
    top:12px;
    right:12px;

    width:36px;
    height:36px;

    border:none;
    border-radius:50%;

    background:var(--navy);

    color:#fff;

    cursor:pointer;
}

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

@media(max-width:1300px){

    .terract-header-main{
        grid-template-columns:180px 1fr;
    }

    .terract-header-actions{
        grid-column:1/-1;
        justify-content:center;
    }

    .terract-header-nav ul{
        flex-wrap:wrap;
    }

    .terract-header-nav li{
        flex:0 0 33.33%;
    }
}

@media(max-width:768px){

    .terract-header-topbar{
        flex-direction:column;
        gap:12px;
        text-align:center;
    }

    .terract-header-main{
        grid-template-columns:1fr;
        text-align:center;
        padding:22px;
    }

    .terract-header-logo img{
        margin:auto;
    }

    .terract-header-actions{
        flex-direction:column;
    }

    .terract-header-btn{
        width:100%;
    }

    .terract-header-nav li{
        flex:0 0 50%;
    }

    .terract-header-nav a{
        min-height:54px;
        font-size:13px;
    }
}

@media(max-width:520px){

    .terract-header-nav li{
        flex:0 0 100%;
    }

    .terract-header-slogan{
        font-size:24px;
    }
}