@charset "utf-8";

/* =========================================================
   TICOJARRAS - HEADER 2026
   Archivo independiente: header2026.css
   ========================================================= */

.tj-header,
.tj-header *,
.tj-header *::before,
.tj-header *::after {
    box-sizing: border-box;
}

.tj-header {
    --tj-blue: #0b3f78;
    --tj-blue-dark: #082e5c;
    --tj-blue-soft: #eef5fc;
    --tj-red: #e30613;
    --tj-red-dark: #bd0010;
    --tj-green: #16c765;
    --tj-white: #fff;
    --tj-text: #0b376e;
    --tj-border: #dce6f1;
    position: relative;
    z-index: 1000;
    width: 100%;
    font-family: inherit;
    background: #fff;
}

.tj-header a {
    text-decoration: none;
}

.tj-header__container {
    width: min(1300px, calc(100% - 48px));
    margin-inline: auto;
}


/* =========================================================
   BARRA SUPERIOR
   ========================================================= */

.tj-header__top {
    min-height: 38px;
    color: #fff;
    background: linear-gradient(180deg, #174d80 0%, #0b3c70 100%);
}

.tj-header__top-inner {
    min-height: 38px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
    font-size: 13px;
}

.tj-header__claim,
.tj-header__top-right,
.tj-header__contact-mini,
.tj-header__socials {
    display: flex;
    align-items: center;
}

.tj-header__claim {
    gap: 8px;
    font-weight: 600;
}

.tj-header__pin svg,
.tj-header__contact-mini svg {
    display: block;
    width: 16px;
    height: 16px;
    fill: currentColor;
}

.tj-header__top-right {
    gap: 17px;
}

.tj-header__contact-mini {
    gap: 7px;
    color: #fff !important;
    font-weight: 700;
}

.tj-header__divider {
    width: 1px;
    height: 18px;
    background: rgba(255,255,255,.35);
}

.tj-header__follow {
    opacity: .9;
}

.tj-header__socials {
    gap: 8px;
}

.tj-header__socials a {
    display: grid;
    place-items: center;
    width: 25px;
    height: 25px;
    color: #0b3f78 !important;
    background: rgba(255,255,255,.88);
    border-radius: 50%;
    font-size: 14px;
    font-weight: 800;
    transition: transform .18s ease, background .18s ease;
}

.tj-header__socials a:hover {
    transform: translateY(-2px);
    background: #fff;
}


/* =========================================================
   ZONA BLANCA: LOGO + BUSCADOR + WHATSAPP
   ========================================================= */

.tj-header__main {
    background:
        radial-gradient(circle at 55% 10%, rgba(234,243,253,.65), transparent 48%),
        #fff;
    border-bottom: 1px solid #eef2f6;
}

.tj-header__main-inner {
    min-height: 126px;
    display: grid;
    grid-template-columns: 210px minmax(420px, 1fr) 245px;
    align-items: center;
    gap: 34px;
}

.tj-header__logo {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.tj-header__logo img {
    display: block;
    width: 174px;
    height: 105px;
    object-fit: contain;
}

.tj-header__search-wrap {
    width: 100%;
    max-width: 790px;
    justify-self: center;
}

.tj-header__search {
    display: grid;
    grid-template-columns: 25px 1fr auto;
    align-items: center;
    gap: 10px;
    width: 100%;
    height: 58px;
    padding: 5px 6px 5px 20px;
    background: #fff;
    border: 2px solid #dce6f1;
    border-radius: 30px;
    box-shadow: 0 6px 18px rgba(15,61,112,.06);
}

.tj-header__search > svg {
    width: 24px;
    height: 24px;
    fill: var(--tj-blue);
}

.tj-header__search input {
    min-width: 0;
    width: 100%;
    height: 44px;
    padding: 0;
    color: #173d70;
    background: transparent;
    border: 0;
    outline: 0;
    font: inherit;
    font-size: 16px;
}

.tj-header__search input::placeholder {
    color: #7187a7;
    opacity: 1;
}

.tj-header__search button {
    min-width: 128px;
    height: 46px;
    padding: 0 24px;
    color: #fff;
    background: linear-gradient(180deg, #f30b16 0%, #df0010 62%, #c9000d 100%);
    border: 0;
    border-radius: 24px;
    box-shadow: 0 6px 14px rgba(214,0,15,.22);
    cursor: pointer;
    font: inherit;
    font-size: 16px;
    font-weight: 800;
    transition: transform .18s ease, box-shadow .18s ease;
}

.tj-header__search button:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 18px rgba(214,0,15,.30);
}

.tj-header__popular {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 10px;
    padding-left: 2px;
    color: #5f7492;
    font-size: 11px;
}

.tj-header__popular > span {
    margin-right: 3px;
}

.tj-header__popular a {
    padding: 5px 12px;
    color: var(--tj-blue) !important;
    background: #f7faff;
    border: 1px solid #dce7f3;
    border-radius: 18px;
    transition: .18s ease;
}

.tj-header__popular a:hover {
    background: #edf5ff;
    border-color: #b9d3f0;
}

.tj-header__whatsapp {
    display: grid;
    grid-template-columns: 52px 1fr;
    align-items: center;
    gap: 12px;
    color: var(--tj-text) !important;
}

.tj-header__wa-icon {
    display: grid;
    place-items: center;
    width: 52px;
    height: 52px;
    background: linear-gradient(145deg, #28dc77, #08ae50);
    border-radius: 50%;
    box-shadow: 0 8px 17px rgba(17,181,83,.22);
}

.tj-header__wa-icon svg {
    width: 31px;
    height: 31px;
    fill: #fff;
}

.tj-header__whatsapp small,
.tj-header__whatsapp em,
.tj-header__whatsapp strong {
    display: block;
    font-style: normal;
}

.tj-header__whatsapp small {
    margin-bottom: 1px;
    font-size: 12px;
    font-weight: 800;
}

.tj-header__whatsapp em {
    margin-bottom: 1px;
    font-size: 11px;
}

.tj-header__whatsapp strong {
    color: #123f79;
    font-size: 21px;
    line-height: 1.05;
}

.tj-header__whatsapp strong b {
    margin-left: 5px;
    font-size: 25px;
}

.tj-header__hamburger {
    display: none;
}


/* =========================================================
   MENU ROJO
   ========================================================= */

.tj-header__nav {
    background: linear-gradient(180deg, #ee0814 0%, #d8000d 100%);
    border-bottom: 4px solid #0b3f78;
    box-shadow: 0 4px 13px rgba(120,0,8,.11);
}

.tj-header__nav-inner {
    min-height: 64px;
    display: flex;
    align-items: center;
    gap: 18px;
}

.tj-header__categories {
    position: relative;
    display: grid;
    grid-template-columns: 23px 1fr 12px;
    align-items: center;
    gap: 9px;
    flex: 0 0 255px;
    min-height: 46px;
    padding: 8px 13px;
    overflow: hidden;
    color: #e30613 !important;
    background: #fff;
    border: 1px solid rgba(255,255,255,.8);
    border-radius: 8px;
    box-shadow: 0 5px 14px rgba(88,0,6,.18);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.15;
    isolation: isolate;
}

.tj-header__categories::after {
    content: "";
    position: absolute;
    inset: -45%;
    z-index: -1;
    background: linear-gradient(110deg, transparent 37%, rgba(227,6,19,.10) 49%, transparent 61%);
    transform: translateX(-70%);
    animation: tjCategoryGlow 5.5s ease-in-out infinite;
}

.tj-header__categories svg {
    width: 22px;
    height: 22px;
    fill: currentColor;
}

.tj-header__categories b {
    font-size: 21px;
}

@keyframes tjCategoryGlow {
    0%, 72%, 100% { transform: translateX(-70%); }
    82% { transform: translateX(70%); }
}

.tj-header__links {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    flex: 1;
    min-width: 0;
}

.tj-header__links > a,
.tj-header__dropbtn {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 64px;
    padding: 0 13px;
    color: #fff !important;
    background: transparent;
    border: 0;
    cursor: pointer;
    font: inherit;
    font-size: 13px;
    white-space: nowrap;
    transition: background .18s ease;
}

.tj-header__links > a:hover,
.tj-header__dropbtn:hover {
    background: rgba(123,0,8,.18);
}

.tj-header__dropdown {
    position: relative;
}

.tj-header__dropbtn {
    gap: 6px;
}

.tj-header__dropdown-menu {
    position: absolute;
    top: calc(100% - 1px);
    left: 0;
    z-index: 50;
    display: none;
    width: 275px;
    padding: 8px;
    background: #fff;
    border: 1px solid #e1e8f0;
    border-radius: 0 0 12px 12px;
    box-shadow: 0 14px 30px rgba(8,47,94,.18);
}

.tj-header__dropdown:hover .tj-header__dropdown-menu,
.tj-header__dropdown.is-open .tj-header__dropdown-menu {
    display: block;
}

.tj-header__dropdown-menu a {
    display: block;
    padding: 10px 12px;
    color: #173d70 !important;
    border-radius: 7px;
    font-size: 12px;
    line-height: 1.3;
}

.tj-header__dropdown-menu a:hover {
    background: #f0f6fd;
}

.tj-header__cart {
    position: relative;
    font-size: 21px !important;
}

.tj-header__cart span {
    display: grid;
    place-items: center;
    position: absolute;
    top: 8px;
    right: 2px;
    min-width: 18px;
    height: 18px;
    padding: 0 4px;
    color: #d6000c;
    background: #fff;
    border-radius: 50%;
    font-size: 9px;
    font-weight: 800;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1180px) {

    .tj-header__main-inner {
        grid-template-columns: 175px 1fr 210px;
        gap: 22px;
    }

    .tj-header__logo img {
        width: 150px;
        height: 92px;
    }

    .tj-header__popular a:nth-of-type(n+4) {
        display: none;
    }

    .tj-header__categories {
        flex-basis: 220px;
    }

    .tj-header__links > a,
    .tj-header__dropbtn {
        padding-inline: 8px;
        font-size: 12px;
    }
}

@media (max-width: 980px) {

    .tj-header__top-right .tj-header__follow,
    .tj-header__top-right .tj-header__divider,
    .tj-header__socials {
        display: none;
    }

    .tj-header__main-inner {
        min-height: 104px;
        grid-template-columns: 155px 1fr auto;
    }

    .tj-header__whatsapp {
        display: none;
    }

    .tj-header__hamburger {
        display: grid;
        place-items: center;
        gap: 5px;
        width: 48px;
        height: 48px;
        padding: 10px;
        background: #fff;
        border: 1px solid #d9e4f0;
        border-radius: 10px;
        cursor: pointer;
    }

    .tj-header__hamburger span {
        display: block;
        width: 26px;
        height: 3px;
        background: var(--tj-blue);
        border-radius: 4px;
    }

    .tj-header__nav-inner {
        display: block;
        min-height: 0;
        padding-block: 10px;
    }

    .tj-header__categories {
        width: 100%;
        min-height: 45px;
    }

    .tj-header__links {
        display: none;
        flex-direction: column;
        margin-top: 8px;
        background: rgba(119,0,7,.12);
        border-radius: 9px;
        overflow: visible;
    }

    .tj-header--menu-open .tj-header__links {
        display: flex;
    }

    .tj-header__links > a,
    .tj-header__dropbtn {
        width: 100%;
        min-height: 44px;
        justify-content: flex-start;
        padding: 0 15px;
        border-bottom: 1px solid rgba(255,255,255,.14);
    }

    .tj-header__dropdown {
        width: 100%;
    }

    .tj-header__dropdown-menu {
        position: static;
        width: 100%;
        border: 0;
        border-radius: 0;
        box-shadow: none;
    }
}


/* =========================================================
   MOVIL
   ========================================================= */

@media (max-width: 700px) {

    .tj-header__container {
        width: calc(100% - 24px);
    }

    .tj-header__top {
        min-height: 34px;
    }

    .tj-header__top-inner {
        min-height: 34px;
        font-size: 11px;
    }

    .tj-header__claim {
        max-width: 54%;
        line-height: 1.15;
    }

    .tj-header__top-right {
        gap: 10px;
    }

    .tj-header__top-right .tj-header__contact-mini:first-child {
        display: none;
    }

    .tj-header__contact-mini svg {
        width: 15px;
        height: 15px;
    }

    .tj-header__main-inner {
        min-height: auto;
        grid-template-columns: 1fr auto;
        gap: 12px;
        padding: 10px 0 12px;
    }

    .tj-header__logo img {
        width: 145px;
        height: 76px;
    }

    .tj-header__search-wrap {
        grid-column: 1 / -1;
        grid-row: 2;
        max-width: none;
    }

    .tj-header__search {
        height: 50px;
        grid-template-columns: 21px 1fr auto;
        padding-left: 15px;
    }

    .tj-header__search > svg {
        width: 21px;
        height: 21px;
    }

    .tj-header__search input {
        height: 38px;
        font-size: 14px;
    }

    .tj-header__search button {
        min-width: 90px;
        height: 39px;
        padding: 0 17px;
        font-size: 13px;
    }

    .tj-header__popular {
        display: none;
    }

    .tj-header__hamburger {
        width: 46px;
        height: 46px;
    }

    .tj-header__nav-inner {
        padding-block: 8px;
    }

    .tj-header__categories {
        min-height: 48px;
        grid-template-columns: 23px 1fr 12px;
        font-size: 12px;
    }
}


/* =========================================================
   MOVIL PEQUEÑO
   ========================================================= */

@media (max-width: 430px) {

    .tj-header__claim {
        font-size: 10px;
    }

    .tj-header__contact-mini {
        font-size: 10px;
    }

    .tj-header__logo img {
        width: 130px;
        height: 68px;
    }

    .tj-header__search button {
        min-width: 80px;
        padding-inline: 13px;
    }
}


/* =========================================================
   ACCESIBILIDAD
   ========================================================= */

@media (prefers-reduced-motion: reduce) {
    .tj-header__categories::after {
        animation: none;
    }

    .tj-header *,
    .tj-header *::before,
    .tj-header *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
    }
}
