@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&display=swap');

/* Estilos generales */
body {
    margin: 0;
    padding: 0;
    font-family: "Lato", sans-serif;
}

/* Estilos del menú principal */
.main-menu {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 176px;
    padding: 10px 3em;
    border-bottom: 1px solid #00338f;
}

.main-menu .logo img {
    width: 220px;
}

.main-menu .sections {
    display: flex;
}

.main-menu .sections a {
    color: #888A8B;
    text-decoration: none;
    padding: 12px;
    font-size: 14px;
}

.main-menu .sections a:hover {
    color: #00338f;
}

.main-menu .sections button {
    background: #00338F;
    border: none;
    border-radius: 15px;
    padding: 8px;
    margin-left: 10px;
}

.main-menu .sections button a {
    color: #fff;
    font-size: 24px;
}

.main-menu .sections button a:hover {
    color: #fff;
    font-weight: 600;
}

.main-menu .sections button a img {
    width: 18px;
    vertical-align: middle;
}

/* Estilos del menú secundario */
.sub-menu {
    display: flex;
    justify-content: center;
    margin: 10px;
}

.sub-menu a {
    color: #00338f;
    text-decoration: none;
    padding: 20px 10px;
    border-right: 1px solid #cfcfcc;
    font-size: 18px;
}

.sub-menu a:last-child {
    border-right: none;
}

.sub-menu a:hover {
    background: #00338f;
    color: #fff;
}

#mobile-menu {
    display: none;
}

/* CHECKUPS HOME */

.content {
    width: 100%;
}

.content .banner img {
    width: 100%;
}

.content h1 {
    text-align: center;
    text-transform: uppercase;
    font-weight: 400;
    color: #00338f;
    width: 40%;
    margin: 2.5em auto;
    border-bottom: 1px solid #00338f;
}

.content .title {
    text-align: center;
    text-transform: uppercase;
    font-weight: 400;
    color: #00338f;
    width: 40%;
    margin: 2.5em auto;
    border-bottom: 1px solid #00338f;
}

.carousel {
    margin: 0 176px;
}

.carousel .oferta {
    background: #00338f;
    margin: 10px;
    padding: 15px;
    text-align: center;
    border-radius: 10px;
    color: #fff;
    display: flex !important;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-height: 120px;
    font-size: 18px;
}

.carousel .oferta small {
    font-size: 12px;
}

.carousel .oferta:nth-child(3n-2) {
    background: #cfcfcf; 
    color: #00338f;
}

.carousel .oferta:nth-child(3n-3) {
    background: #32a5c6;
    color: #00338f;
}

.slick-prev {
    left: 0 !important;
    z-index: 1 !important;
    top: 45% !important;
}

.slick-next {
    right: 2% !important;
    top: 45% !important;
}

.slick-arrow:before,
.slick-arrow::before {
    font-size: 35px !important;
    color: rgba(207,207,207,0.8) !important;
}

/*.container {
    margin: 0 176px;
} */

.card-deck {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.card {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    border: 1px solid #efefef;
    min-height: 330px;
}

.card .check-banner {
    width: 100%;
}

.card .check-type {
    width: 140px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    padding: 20px 0;
}

.card .check-type-min {
    width: 170px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 30px auto;
}

.card:nth-child(5) .check-type-min {
    width: 300px;
}

.card .check-link {
    background: #00338F;
    padding: 5px 0;
    width: 100%;
    bottom: 0;
}

.card .check-link img {
    width: 25px;
    height: 25px;
    margin-left: 10px;
}

.card .check-link a {
    color: white;
    display: flex;
    justify-content: end;
    text-decoration: none;
    padding: 5px 15px;
    font-size: 20px;
    transition: transform 1s ease-in-out;
}

.card .check-link a:hover {
    font-weight: 600;
}

.locations {
    text-align: center;
    height: 350px;
    background: #f8fbfa;
    margin: 2em 0;
    padding: 50px 176px;
}

/*.locations .combos {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: #00338f;
    text-transform: uppercase;
    border-radius: 15px 0 0 15px;
}

.locations .combos a {
    text-decoration: none;
}

.locations .combos p {
    color: white;
    font-size: 28px;
    font-weight: 600;
    border-bottom: 1px solid white;
    margin: 0;
}

.locations .combos .combo-title:hover {
    color: #00a6c6;
}

.locations .combos .combo-subtitle {
    font-size: 23px;
    font-weight: 300;
    border-bottom: none;
}

.locations .combos .combo-arrow {
    width: 50px;
    position: absolute;
    bottom: 20px;
    right: 20px;
} */

.locations .branches {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: #d6d6d6;
    border-radius: 15px;
    padding: 20px 0;
}

.locations .branches .branch-pointer {
    width: 96px;
}

.locations .branches .branch-title {
    font-size: 40px;
    margin: 0;
}

.locations .branches a {
    text-decoration: none;
    color: #000;
}

/* CHECK UPS INTEGRALES SECCIÓN */

.deck-packs,
.deck-pack {
    padding: 0 165px 10px 176px;
    margin: .5em 0;
}

.deck-packs,
.deck-packs .pack-container,
.deck-pack .last-pack {
    display: grid;
    position: relative;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}

.deck-packs .pack-container .pack {
    width: 100%;
    min-height: 400px;
    max-height: 420px;
    background: #00338f;
    border-radius: 10px;
    overflow: hidden;
    gap: 22px;
}

.deck-packs .pack-container .pack-gray {
    background: #f2f3f3;
    width: 100%;
    min-height: 400px;
    max-height: 420px;
    border-radius: 10px;
    overflow: hidden;
}

.deck-packs .pack-container .pack .pack-img img {
    width: 100%;
}

.deck-packs .pack-container .pack .pack-info {
    color: white;
}
.deck-packs .pack-container .pack-gray .pack-info {
    color: #00338f;
}

.deck-packs .pack-container .pack .pack-info p,
.deck-packs .pack-container .pack-gray .pack-info p {
    text-align: center;
    text-transform: uppercase;
    font-size: 20px;
    padding-top: 15px;
}

.deck-packs .pack-container .pack .pack-info ul,
.deck-packs .pack-container .pack-gray .pack-info ul {
    font-size: 14px;
    padding: 0 40px;
}

.deck-packs .pack-container .pack-gray .pack-img img {
    width: 100%;
}

.deck-packs .pack-container .plus {
    height: 130px;
    width: 130px;
    border-radius: 50%;
    background: rgba(0, 51, 143, 0.25);
    position: absolute;
    top: 15%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
}

.deck-packs .pack-container .plus-blue {
    height: 130px;
    width: 130px;
    border-radius: 50%;
    background: rgba(242, 243, 243, 0.25);
    position: absolute;
    top: 15%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
}

.deck-packs .pack-container .plus img {
    width: 80px;
    height: 80px;
    margin: 25px;
    transition: transform 0.2s ease-in-out;
}
.deck-packs .pack-container .plus-blue img {
    width: 80px;
    height: 80px;
    margin: 25px;
    transition: transform 0.2s ease-in-out;
}

.deck-packs .pack-container .plus img:hover {
    transform: scale(1.1);
}
.deck-packs .pack-container .plus-blue img:hover {
    transform: scale(1.1);
}

.deck-packs .pack-container .prices,
.deck-pack .last-pack .prices {
    background: #efefef;
    min-height: 120px;
    border-radius: 12px;
    padding-inline: 10px;
}

.deck-packs .pack-container .prices .test,
.deck-pack .last-pack .prices .test {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    border-bottom: 1px solid #00338F;
    color: #00338f !important;
}

.deck-packs .pack-container .prices .test:nth-last-child(1),
.deck-pack .last-pack .prices .test:nth-last-child(1) {
    border-bottom: none;
}

.deck-packs .pack-container .prices:nth-last-child(1),
.deck-pack .last-pack .prices:nth-last-child(1) {
    background: #00338F;
    min-height: 50px;
    border-radius: 12px;
}

.deck-packs .pack-container .prices:nth-last-child(1) .test,
.deck-pack .last-pack .prices:nth-last-child(1) .test {
    color: #fff;
    border-bottom: 1px solid #fff;
}

.deck-packs .pack-container .prices:nth-last-child(1) .test:nth-last-child(1),
.deck-pack .last-pack .prices:nth-last-child(1) .test:nth-last-child(1) {
    border-bottom: none;
}

.deck-packs .pack-container:nth-child(3) .prices,
.deck-pack .last-pack:nth-child(3) .prices {
    display: flex;
    justify-content: center;
}

.deck-packs .pack-container .prices .test h4,
.deck-pack .last-pack .prices .test h4 {
    margin: 0 !important;
    font-weight: 600;
    font-size: 14px;
    color: #00338f;
}

.deck-packs .pack-container .prices .test h3,
.deck-pack .last-pack .prices .test h3 {
    margin: revert;
}

.deck-packs .pack-container .prices:nth-last-child(1) .test h4,
.deck-packs .pack-container .prices:nth-last-child(1) .test h4,
.deck-packs .pack-container .prices:nth-last-child(1) .test h4 small,
.deck-packs .pack-container .prices:nth-last-child(1) .test h3,
.deck-pack .last-pack .prices:nth-last-child(1) .test h4,
.deck-pack .last-pack .prices:nth-last-child(1) .test h4 small,
.deck-pack .last-pack .prices:nth-last-child(1) .test h3 {
    color: white;
}

.deck-packs .pack-container .prices .test h4 small,
.deck-pack .last-pack .prices .test h4 small {
    font-weight: 300;
    font-size: 10px;
    color: #00338f;
}

.deck-pack .last-pack {
    margin: 0 176px;
}

.deck-pack .last-pack .pack {
    min-height: 430px;
    max-height: 450px;
    background: #00338f;
    border-radius: 10px;
    gap: 10px;
}

.deck-pack .last-pack .pack .pack-img img {
    width: 100%;
}

.deck-pack .last-pack .pack .pack-info {
    color: white;
}

.deck-pack .last-pack .pack .pack-info p,
.deck-pack .last-pack .pack-gray .pack-info p {
    text-align: center;
    text-transform: uppercase;
    font-size: 20px;
    padding-top: 15px;
}

.deck-pack .last-pack .pack .pack-info ul,
.deck-pack .last-pack .pack-gray .pack-info ul {
    font-size: 14px;
    padding: 0 40px;
}

.deck-pack .last-pack .pack .pack-info h4 {
    font-size: 14px;
    padding: 0 40px;
}

.deck-pack .last-pack .plus {
    height: 130px;
    width: 130px;
    border-radius: 50%;
    background: rgba(0, 51, 143, 0.25);
    position: absolute;
    top: 20%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
}

.deck-pack .last-pack .plus img {
    width: 80px;
    height: 80px;
    margin: 25px;
    transition: transform 0.2s ease-in-out;
}

.deck-pack .last-pack .plus img:hover {
    transform: scale(1.1);
}

.buttons {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    padding: 30px 0;
    place-items: center;
}

.buttons .btn-phone {
    width: 100%;
    background: white;
    color: #00338f;
    border-radius: 20px;
    border: 1px solid #00338f;
    padding: 10px 15px;
    font-size: 20px;
    font-family: "Lato", sans-serif;
}

.buttons .btn-whatsapp {
    width: 100%;
    background: #00338f;
    color: white;
    border-radius: 20px;
    border: none;
    padding: 10px 15px;
    font-size: 20px;
    font-family: "Lato", sans-serif;
}

@media (max-width: 768px) {
    /* NUEVO MENÚ */
    .main-menu {
        margin: 0 10px;
        padding: 10px .5em;
        justify-content: space-between !important;
    }

    .main-menu .logo img {
        width: 180px;
    }
    
    /* Estilos para el menú hamburguesa */
    #hamburger {
        display: none;
        cursor: pointer;
        padding: 10px;
    }

    #hamburger span {
        display: block;
        width: 30px;
        height: 5px;
        background-color: #00338f;
        margin-bottom: 5px;
    }

    /* Menú mobile */
    #hamburger {
        background: none;
        border: none;
        color: #fff;
        font-size: 20px;
        cursor: pointer;
        display: block;
    }

    #mobile-menu {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: #00338f;
        color: #fff;
        display: none;
        transition: opacity 3s ease-in;
        opacity: 0;
        z-index: 9999;
    }

    #mobile-menu.open {
        left: 0;
        opacity: 1;
    }

    #mobile-menu ul {
        list-style: none;
        margin: 0;
        display: flex;
        flex-direction: column;
        justify-content: space-evenly;
        align-items: center;
        height: 100%;
        padding: 0;
    }

    #mobile-menu li {
        margin-bottom: 10px;
    }

    #mobile-menu a {
        color: #fff;
        text-decoration: none;
        font-size: 18px;
    }

    #close-icon {
        position: absolute;
        right: 20px;
        background: none;
        border: none;
        color: #fff;
        font-size: 70px;
        cursor: pointer;
        padding: 0;
    }

    .show {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }

    .main-menu .sections,
    .sub-menu {
        display: none;
    }

    /* CHECK UPS HOME */

    .carousel {
        margin: 0 30px;
    }

    .content .title {
        width: 90%;
        margin: 1em auto;
    }

    .container {
        margin: 1em;
    }

    .card-deck {
        grid-template-columns: 1fr;
    }

    .card {
        max-width: 100%;
    }

    .locations {
        grid-template-columns: 1fr;
        padding: 1em;
        margin: 0;
        min-height: 610px;
    }

    .locations .combos {
        position: static;
        border-radius: 15px 15px 0 0;
        padding: 20px;
    }

    .locations .combos p {
        font-size: 20px;
    }

    .locations .combos .combo-subtitle {
        font-size: 18px;
        font-weight: 200;
        border-bottom: none;
    }

    .locations .combos .combo-arrow {
        width: 50px;
        position: static;
        margin: 10px;
    }

    .locations .branches {
        border-radius: 0 0 15px 15px;
        padding: 20px;
    }

    .locations .branches .branch-pointer {
        width: 60px;
    }

    .locations .branches .branch-title {
        font-size: 30px;
        margin: 0;
        line-height: 1.3;
    }

    /* CHECK UPS INTEGRALES MOBILE */
    .deck-packs,
    .deck-pack {
        display: flex;
        flex-direction: column;
        margin: 0;
        padding: 0;
    }

    .deck-packs .pack-container {
        padding: 10px;
    }

    .deck-packs .pack-container .pack,
    .deck-packs .pack-container .pack-gray {
        min-height: 290px;
        width: 100%;
        margin: 0;
    }

    .deck-packs .pack-container .pack .pack-info p,
    .deck-packs .pack-container .pack-gray .pack-info p,
    .deck-pack .last-pack .pack .pack-info p {
        text-align: center;
        text-transform: uppercase;
        font-size: 14px;
    }

    .deck-packs .pack-container .pack .pack-info ul,
    .deck-packs .pack-container .pack-gray .pack-info ul,
    .deck-pack .last-pack .pack .pack-info ul {
        font-size: 12px;
        padding: 0 20px;
    }

    .deck-pack .last-pack .pack .pack-info h4 {
        font-size: 14px;
        padding: 0 20px;
    }

    .deck-packs .pack-container .plus,
    .deck-packs .pack-container .plus-blue,
    .deck-pack .last-pack .plus
    {
        height: 90px;
        width: 90px;
        position: absolute;
        top: 20%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 1;
    }

    .deck-packs .pack-container .plus img,
    .deck-packs .pack-container .plus-blue img,
    .deck-pack .last-pack .plus img {
        width: 60px;
        height: 60px;
        margin: 15px;
    }

    .deck-pack .last-pack .plus {
        position: absolute;
        top: 15%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 1;
    }

    .deck-packs .pack-container .prices:nth-last-child(1) {
        margin-right: 0;
    }

    .deck-packs .pack-container .prices, .deck-pack .last-pack .prices {
        padding: 10px;
    }

    .deck-pack .last-pack {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        margin: 0;
        padding: 10px;
        right: -7px;
        width: 96%;
    }

    .deck-pack .last-pack .pack {
        min-height: 120px;
    }

    .buttons {
        grid-template-columns: 1fr;
        place-items: center;
        padding: 0;
        gap: 30px;
    }

    .buttons .btn-phone, 
    .buttons .btn-whatsapp {
        width: 100%;
        margin-top: 3.5em;
    }
}