/* =========================================================
   CANOPUS V8 — ENTREGA 1: HEADER CONGELABLE
   ========================================================= */

.cp-header{
    position:absolute;
    top:24px;
    left:0;
    right:0;
    z-index:50;
}

.cp-header__inner{
    width:min(1180px,calc(100% - 44px));
    min-height:94px;
    margin:0 auto;
    padding:14px 22px 14px 28px;

    display:flex;
    align-items:center;
    gap:28px;

    background:rgba(255,255,255,.96);
    border:1px solid rgba(224,233,245,.96);
    border-radius:34px;
    box-shadow:0 18px 45px rgba(23,72,139,.11);
    backdrop-filter:blur(14px);
}

.cp-header .cp-logo,
.cp-header .brand{
    flex:0 0 auto;
}

.cp-nav{
    margin-left:auto;
    display:flex;
    align-items:center;
    gap:31px;

    color:#263659;
    font-size:14px;
    font-weight:600;
}

.cp-nav > a{
    position:relative;
    white-space:nowrap;
}

.cp-nav > a:not(.cp-btn)::after{
    content:"";
    position:absolute;
    left:0;
    right:100%;
    bottom:-16px;

    height:3px;
    border-radius:999px;
    background:#0864e9;
    transition:right .22s ease;
}

.cp-nav > a:hover::after,
.cp-nav > a.is-active::after{
    right:0;
}

.cp-nav > a.is-active{
    color:#0864e9;
}

.cp-chevron{
    margin-left:4px;
    font-size:13px;
}

.cp-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;

    border:0;
    border-radius:13px;
    font-weight:700;
    transition:transform .2s ease, box-shadow .2s ease;
}

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

.cp-btn--header{
    min-height:50px;
    padding:0 24px;

    color:#fff;
    background:linear-gradient(135deg,#0952cf,#0872f8);
    box-shadow:0 13px 26px rgba(7,91,219,.22);
}

.cp-calendar{
    font-size:16px;
    line-height:1;
}

.cp-menu-toggle{
    display:none;
    margin-left:auto;
    padding:8px;

    border:0;
    background:transparent;
    cursor:pointer;
}

.cp-menu-toggle span{
    display:block;
    width:25px;
    height:2px;
    margin:4px 0;

    background:#18365f;
    border-radius:999px;
}

@media (max-width:1100px){
    .cp-header{
        top:12px;
    }

    .cp-header__inner{
        width:calc(100% - 28px);
        min-height:72px;
        border-radius:24px;
    }

    .cp-menu-toggle{
        display:block;
    }

    .cp-nav{
        display:none;
    }
}
