/* ==========================================================
   CABECERA RASO SEGUROS
   Versión más limpia, corporativa y equilibrada
   ========================================================== */

.rs-topbar,
.rs-header-pc,
.rs-header-movil{
    font-family: "Poppins", "Inter", "Segoe UI", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    text-rendering: geometricPrecision;
}

/* FRANJA AZUL SUPERIOR */

.rs-topbar{
    background: linear-gradient(90deg,#06265b 0%,#0a4698 50%,#06265b 100%);
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    position: relative;
    z-index: 2;
}

.rs-topbar__inner{
    min-height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    white-space: nowrap;
}

.rs-topbar a,
.rs-topbar span{
    color: #fff;
    text-decoration: none;
}

.rs-topbar__sep{
    width: 1px;
    height: 15px;
    background: rgba(255,255,255,.38);
}

/* CABECERA PC */

.rs-header-pc{
    position: relative;
    z-index: 70;
    display: block;
    background: rgba(255,255,255,.98);
    border-bottom: 1px solid rgba(8,44,105,.08);
    box-shadow: 0 10px 24px rgba(0,31,82,.06);
}

.rs-header-pc__inner{
    min-height: 96px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 38px;
    position: relative;
}

/* MARCA PC */

.rs-brand-pc{
    display: flex;
    align-items: center;
    gap: 20px;
    min-width: 155px;
    text-decoration: none;
    color: #082f70;
    position: relative;
}
.rs-brand-pc__logo img{
  max-width: none !important;
  width: 222px;
  height: auto;
}

.rs-brand-pc__logo{
    width: 128px;
    height: 128px;
    flex: 0 0 128px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: -36px;
    margin-bottom: -26px;
    position: relative;
    z-index: 3;
}

.rs-brand-pc__logo::before{
    content: "";
    position: absolute;
    inset: 11px;
    border-radius: 50%;
    background: #fff;
    box-shadow:
        0 12px 28px rgba(0,31,82,.16),
        0 0 0 7px rgba(255,255,255,.82);
    z-index: -1;
}

.rs-brand-pc__logo img{
    width: 222px;
    height: auto;
    display: block;
    object-fit: contain;
    filter: drop-shadow(0 8px 13px rgba(0,31,82,.18));
}

.rs-brand-pc__text{
    display: flex;
    flex-direction: column;
    justify-content: center;
    transform: translateY(-1px);
}

.rs-brand-pc__text strong{
    display: block;
    color: #082f70;
    font-size: 24px;
    line-height: 1.05;
    font-weight: 700;
    letter-spacing: -.025em;
    text-transform: uppercase;
}

.rs-brand-pc__text small{
    display: block;
    margin-top: 7px;
    color: #0b58b6;
    font-size: 16px;
    line-height: 1.15;
    font-weight: 400;
}

/* MENÚ PC */

.rs-menu-pc{
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 30px;
    margin-left: auto;
}

.rs-menu-pc a{
    position: relative;
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: 8px 0;
    color: #081b3a;
    text-decoration: none;
    font-size: 16px;
    line-height: 1;
    font-weight: 500;
    letter-spacing: -.01em;
    white-space: nowrap;
    transition: color .2s ease;
}

.rs-menu-pc a:hover,
.rs-menu-pc a.activo{
    color: #1263e6;
    font-weight: 700;
}

.rs-menu-pc a.activo::before{
    content: "";
    position: absolute;
    inset: 1px -10px;
    z-index: -1;
    border-radius: 9px;
    background: rgba(18,99,230,.07);
}

.rs-menu-pc a.activo::after{
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    left: 8px;
    right: 8px;
    bottom: 1px;
    height: 2px;
    border-radius: 99px;
    background: #1263e6;
}

/* CABECERA MÓVIL */

.rs-header-movil{
    display: none;
    background: linear-gradient(120deg,#061f49 0%,#0a4585 62%,#087d84 130%);
    border-bottom: 3px solid #168d96;
    position: relative;
    z-index: 70;
    box-shadow: 0 10px 28px rgba(3,25,58,.18);
}

.rs-header-movil__inner{
    min-height: 82px;
    padding: 0 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.rs-brand-movil{
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
    min-width: 0;
}

.rs-brand-movil img{
    width: 74px;
    height: auto;
    display: block;
    padding: 0;
    background: transparent;
    filter: drop-shadow(0 7px 12px rgba(0,0,0,.28));
}

.rs-brand-movil strong{
    display: block;
    color: #fff;
    font-size: 16px;
    line-height: 1.05;
    font-weight: 700;
}

.rs-brand-movil small{
    display: block;
    margin-top: 3px;
    color: #9edfe5;
    font-size: 11.5px;
    line-height: 1.1;
}

/* BOTÓN MÓVIL */

.rs-menu-btn{
    display: flex;
    width: 42px;
    height: 40px;
    border: 0;
    border-radius: 11px;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.36);
    cursor: pointer;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 5px;
}

.rs-menu-btn span{
    width: 21px;
    height: 2px;
    border-radius: 99px;
    background: #fff;
    transition: .22s ease;
}

.rs-menu-btn.abierto span:nth-child(1){
    transform: translateY(7px) rotate(45deg);
}

.rs-menu-btn.abierto span:nth-child(2){
    opacity: 0;
}

.rs-menu-btn.abierto span:nth-child(3){
    transform: translateY(-7px) rotate(-45deg);
}

.rs-menu-movil{
    display: none;
    flex-direction: column;
    padding: 10px 20px 18px;
    background: #fff;
    border-top: 1px solid rgba(255,255,255,.12);
    box-shadow: 0 20px 34px rgba(0,31,82,.18);
}

.rs-menu-movil.abierto{
    display: flex;
}

.rs-menu-movil a{
    padding: 13px 0;
    color: #081b3a;
    text-decoration: none;
    font-size: 15px;
    font-weight: 600;
    border-bottom: 1px solid rgba(8,44,105,.08);
}

.rs-menu-movil a.activo{color:#1263e6;font-weight:800;background:rgba(18,99,230,.06);margin:0 -8px;padding-left:8px;padding-right:8px;border-radius:8px}

.rs-menu-movil__acciones{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    margin-top:12px;
    padding-top:12px;
    border-top:1px solid #dbe5ef;
}

.rs-menu-movil .rs-menu-movil__accion{
    display:flex;
    align-items:center;
    gap:9px;
    min-height:48px;
    padding:9px 11px;
    border:0;
    border-radius:11px;
    background:#edf4fb;
    color:#07356d;
    font-size:12px;
    line-height:1.1;
}

.rs-menu-movil__accion span{
    display:grid;
    width:29px;
    height:29px;
    flex:0 0 29px;
    place-items:center;
    border-radius:9px;
    background:#0b4c8f;
    color:#fff;
    font-size:15px;
    font-weight:900;
}

.rs-menu-movil__accion span svg{
    width:18px;
    height:18px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.rs-menu-movil .rs-menu-movil__accion--urgencias{background:#fff0f0;color:#8d2228}
.rs-menu-movil__accion--urgencias span{background:#c8343d}
.rs-menu-movil .rs-menu-movil__accion--whatsapp{background:#ecfaf2;color:#107a40}
.rs-menu-movil__accion--whatsapp span{background:#159552}
.rs-menu-movil .rs-menu-movil__accion--mapa{background:#fff7e8;color:#765015}
.rs-menu-movil__accion--mapa span{background:#b77b24}

/* RESPONSIVE */

@media (max-width: 1280px){

    .rs-brand-pc{
        min-width: 410px;
    }

    .rs-brand-pc__logo{
        width: 116px;
        height: 116px;
        flex-basis: 116px;
        margin-bottom: -20px;
    }

    .rs-brand-pc__logo img{
        width: 110px;
    }

    .rs-brand-pc__text strong{
        font-size: 21px;
    }

    .rs-brand-pc__text small{
        font-size: 15px;
    }

    .rs-menu-pc{
        gap: 22px;
    }

    .rs-menu-pc a{
        font-size: 14px;
    }
}

@media (max-width: 991px){

    .rs-topbar{
        display: none;
    }

    .rs-header-pc{
        display: none;
    }

    .rs-header-movil{
        display: block;
    }

    .rs-topbar__inner{
        justify-content: flex-start;
        overflow-x: auto;
        padding: 0 16px;
        gap: 14px;
    }

    .rs-topbar__inner::-webkit-scrollbar{
        display: none;
    }
}

@media (max-width: 575px){

    .rs-topbar{
        font-size: 12px;
    }

    .rs-brand-movil img{
        width: 66px;
    }

    .rs-brand-movil strong{
        font-size: 16px;
    }

    .rs-brand-movil small{
        font-size: 11.5px;
    }

    .rs-header-movil__inner{
        min-height:76px;
        padding:0 14px;
    }

    .rs-menu-movil{
        padding:6px 16px 14px;
    }

    .rs-menu-movil > a:not(.rs-menu-movil__accion){
        padding:9px 0;
        font-size:14px;
    }
}
