* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: Arial, sans-serif;
    background-color: #f5f5f5;
}

.header {
    width: 100%;
    height: 90px;

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

    padding: 0 70px;

    background-color: white;

    box-shadow: 0 2px 12px rgba(0,0,0,0.08);
}

.logo {
    height: 80px;
    display: flex;
    align-items: center;
}

.logo a {
    display: flex;
    align-items: center;
    height: 100%;
}

.logo img {
    height: 72px;
    width: auto;
    display: block;
}

.menu {
    display: flex;
    align-items: center;
    gap: 38px;
}

.menu a {
    text-decoration: none;

    color: #222;

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

    transition: 0.2s;
}

.menu a:hover {
    color: #0097a7;
}

/* TOURS */

.dropdown {
    position: relative;
}

.dropdown-content {

    display: none;

    position: absolute;

    top: 20px;
    left: 0;

    background-color: white;

    min-width: 180px;

    box-shadow: 0 5px 20px rgba(0,0,0,0.15);

    border-radius: 8px;

    padding: 8px 0;

    z-index: 1000;
}

.dropdown-content a {

    display: block;

    padding: 12px 20px;

    white-space: nowrap;
}

.dropdown-content a:hover {
    background-color: #f2f2f2;
}

.dropdown:hover .dropdown-content {
    display: block;
}

/* CARRITO */

.carrito {

    text-decoration: none;

    color: #222;

    font-size: 24px;
}
/* =========================
   PORTADA PRINCIPAL
========================= */

.hero {
    position: relative;
    min-height: calc(100vh - 90px);

    display: flex;
    align-items: center;

    padding: 80px;

    background-image: url("../imagenes/portada.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    overflow: hidden;
}

.hero-overlay {
    position: absolute;
    inset: 0;

    background: linear-gradient(
        90deg,
        rgba(0, 27, 67, 0.82) 0%,
        rgba(0, 27, 67, 0.55) 45%,
        rgba(0, 27, 67, 0.10) 100%
    );
}

.hero-content {
    position: relative;
    z-index: 2;

    max-width: 700px;

    color: white;
}

.hero-small {
    font-size: 17px;
    font-weight: 700;

    letter-spacing: 4px;

    color: #ff8a00;

    margin-bottom: 18px;
}

.hero h1 {
    font-size: 64px;
    line-height: 1.05;

    margin-bottom: 24px;

    font-weight: 800;
}

.hero-text {
    font-size: 21px;
    line-height: 1.6;

    max-width: 600px;

    margin-bottom: 35px;
}

.hero-buttons {
    display: flex;
    gap: 18px;
}

.btn-primary,
.btn-secondary {
    display: inline-block;

    padding: 15px 28px;

    border-radius: 6px;

    text-decoration: none;

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

    transition: 0.25s;
}

.btn-primary {
    background-color: #ff7a00;
    color: white;
}

.btn-primary:hover {
    background-color: #e96f00;
    transform: translateY(-2px);
}

.btn-secondary {
    border: 2px solid white;
    color: white;
}

.btn-secondary:hover {
    background-color: white;
    color: #003b75;
}
/* =========================
   SECCIÓN TOURS
========================= */

.tours-section {
    padding: 100px 70px;
    background-color: #ffffff;
}

.section-header {
    max-width: 700px;
    margin: 0 auto 55px;
    text-align: center;
}

.section-small {
    color: #ff7a00;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 3px;
    margin-bottom: 12px;
}

.section-header h2 {
    color: #063c78;
    font-size: 42px;
    margin-bottom: 15px;
}

.section-header > p:last-child {
    color: #666;
    font-size: 17px;
    line-height: 1.6;
}

.tours-grid {
    max-width: 1400px;
    margin: 0 auto;

    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 25px;
}

.tour-card {
    background-color: white;
    border-radius: 14px;
    overflow: hidden;

    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.10);

    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.tour-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 14px 35px rgba(0, 0, 0, 0.17);
}

.tour-card img {
    width: 100%;
    height: 230px;
    object-fit: cover;
    display: block;
}

.tour-card-content {
    padding: 25px;
}

.tour-tag {
    display: inline-block;

    color: #ff7a00;

    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1.5px;

    margin-bottom: 10px;
}

.tour-card h3 {
    font-size: 25px;
    color: #063c78;

    margin-bottom: 12px;
}

.tour-card p {
    color: #666;

    line-height: 1.6;
    font-size: 15px;

    min-height: 72px;

    margin-bottom: 20px;
}

.tour-card a {
    text-decoration: none;

    color: #ff7a00;

    font-weight: 700;
    font-size: 15px;
}

.tour-card a:hover {
    color: #063c78;
}

/* TABLETS */

@media (max-width: 1100px) {

    .tours-grid {
        grid-template-columns: repeat(2, 1fr);
    }

}

/* CELULARES */

@media (max-width: 650px) {

    .tours-section {
        padding: 70px 20px;
    }

    .section-header h2 {
        font-size: 34px;
    }

    .tours-grid {
        grid-template-columns: 1fr;
    }

}   
/* =========================
   POR QUÉ ELEGIRNOS
========================= */

.porque-section {
    padding: 100px 70px;
    background-color: #f4f8fc;
}

.porque-container {
    max-width: 1400px;
    margin: 0 auto;
}

.porque-header {
    max-width: 750px;
    margin: 0 auto 65px;
    text-align: center;
}

.porque-header h2 {
    color: #063c78;
    font-size: 42px;
    margin: 12px 0 18px;
}

.porque-header > p:last-child {
    color: #666;
    font-size: 17px;
    line-height: 1.7;
}

.porque-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
}

.porque-item {
    text-align: center;
    padding: 35px 25px;
}

.porque-icon {
    width: 75px;
    height: 75px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin: 0 auto 22px;

    background-color: white;

    border-radius: 50%;

    font-size: 31px;

    box-shadow: 0 8px 25px rgba(0, 60, 120, 0.10);
}

.porque-item h3 {
    color: #063c78;

    font-size: 21px;

    margin-bottom: 12px;
}

.porque-item p {
    color: #666;

    font-size: 15px;
    line-height: 1.7;
}


/* TABLET */

@media (max-width: 1000px) {

    .porque-grid {
        grid-template-columns: repeat(2, 1fr);
    }

}


/* CELULAR */

@media (max-width: 600px) {

    .porque-section {
        padding: 70px 20px;
    }

    .porque-header h2 {
        font-size: 34px;
    }

    .porque-grid {
        grid-template-columns: 1fr;
    }

}
/* =========================
   LLAMADA A LA ACCIÓN
========================= */

.cta-section {
    padding: 100px 30px;

    background: linear-gradient(
        135deg,
        #063c78,
        #021f46
    );

    text-align: center;
}

.cta-content {
    max-width: 850px;
    margin: 0 auto;
    color: white;
}

.cta-small {
    color: #ff7a00;

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

    letter-spacing: 3px;

    margin-bottom: 15px;
}

.cta-content h2 {
    font-size: 46px;
    line-height: 1.2;

    margin-bottom: 20px;
}

.cta-content > p:not(.cta-small) {
    max-width: 650px;

    margin: 0 auto 35px;

    font-size: 18px;
    line-height: 1.7;

    color: rgba(255,255,255,0.85);
}

.cta-buttons {
    display: flex;
    justify-content: center;
    gap: 18px;
}

.cta-primary,
.cta-whatsapp {
    padding: 16px 30px;

    border-radius: 7px;

    text-decoration: none;

    font-weight: 700;

    transition: 0.25s;
}

.cta-primary {
    background-color: #ff7a00;
    color: white;
}

.cta-primary:hover {
    background-color: #e96f00;
    transform: translateY(-2px);
}

.cta-whatsapp {
    border: 2px solid white;
    color: white;
}

.cta-whatsapp:hover {
    background-color: white;
    color: #063c78;
}


/* CELULAR */

@media (max-width: 600px) {

    .cta-section {
        padding: 75px 20px;
    }

    .cta-content h2 {
        font-size: 34px;
    }

    .cta-buttons {
        flex-direction: column;
        align-items: center;
    }

    .cta-primary,
    .cta-whatsapp {
        width: 100%;
        max-width: 280px;
    }
}
/* =========================
   WHATSAPP FLOTANTE
========================= */

.whatsapp-float {
    position: fixed;

    right: 25px;
    bottom: 25px;

    width: 60px;
    height: 60px;

    display: flex;
    align-items: center;
    justify-content: center;

    background-color: #25D366;
    color: white;

    border-radius: 50%;

    text-decoration: none;

    font-size: 30px;

    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.25);

    z-index: 9999;

    transition: 0.25s ease;
}

.whatsapp-float:hover {
    transform: scale(1.10);
}

@media (max-width: 600px) {

    .whatsapp-float {
        width: 55px;
        height: 55px;

        right: 18px;
        bottom: 18px;

        font-size: 27px;
    }

}

.whatsapp-float svg {
    width: 32px;
    height: 32px;
    color: white;
}
/* =========================
   FOOTER
========================= */

.footer {
    background-color: #021f46;
    color: white;
}

.footer-container {
    max-width: 1400px;
    margin: 0 auto;

    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr 1.2fr;

    gap: 60px;

    padding: 75px 70px 55px;
}

.footer-col {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.footer-brand img {
    width: 170px;
    margin-bottom: 15px;
}

.footer-brand p {
    color: rgba(255,255,255,0.72);
    line-height: 1.7;
    max-width: 320px;
}

.footer-col h3 {
    font-size: 18px;
    margin-bottom: 10px;
    color: white;
}

.footer-col a {
    text-decoration: none;
    color: rgba(255,255,255,0.72);

    transition: 0.2s;
}

.footer-col a:hover {
    color: #ff7a00;
}

.footer-col p {
    color: rgba(255,255,255,0.72);
    line-height: 1.6;
}

.footer-social {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;

    margin-top: 10px;
}

.footer-bottom {
    border-top: 1px solid rgba(255,255,255,0.12);

    text-align: center;

    padding: 22px 20px;

    color: rgba(255,255,255,0.6);

    font-size: 14px;
}


/* TABLET */

@media (max-width: 1000px) {

    .footer-container {
        grid-template-columns: repeat(2, 1fr);
    }

}


/* CELULAR */

@media (max-width: 600px) {

    .footer-container {
        grid-template-columns: 1fr;

        padding: 60px 25px 40px;

        gap: 40px;
    }

}
/* =========================
   PÁGINA NOSOTROS
========================= */

.nosotros-hero {
    position: relative;
    height: 480px;

    display: flex;
    align-items: center;
    justify-content: center;

    background-image: url("../imagenes/portada.jpg");
    background-size: cover;
    background-position: center;

    text-align: center;
}

.nosotros-hero-overlay {
    position: absolute;
    inset: 0;

    background: rgba(3, 42, 84, 0.68);
}

.nosotros-hero-content {
    position: relative;
    z-index: 2;

    max-width: 850px;

    padding: 20px;

    color: white;
}

.nosotros-hero-content > p {
    color: #ff7a00;

    font-size: 15px;
    font-weight: 800;

    letter-spacing: 4px;

    margin-bottom: 15px;
}

.nosotros-hero-content h1 {
    font-size: 58px;

    margin-bottom: 18px;
}

.nosotros-hero-content span {
    display: block;

    font-size: 20px;
    line-height: 1.6;

    color: rgba(255,255,255,0.9);
}


/* QUIÉNES SOMOS */

.nosotros-section {
    padding: 100px 70px;

    background-color: white;
}

.nosotros-container {
    max-width: 1300px;

    margin: 0 auto;

    display: grid;
    grid-template-columns: 1fr 1fr;

    gap: 80px;

    align-items: center;
}

.nosotros-texto h2 {
    color: #063c78;

    font-size: 42px;
    line-height: 1.2;

    margin: 10px 0 25px;
}

.nosotros-texto > p:not(.section-small) {
    color: #666;

    font-size: 17px;
    line-height: 1.8;

    margin-bottom: 18px;
}

.nosotros-imagen img {
    width: 100%;
    height: 430px;

    object-fit: cover;

    border-radius: 15px;

    box-shadow: 0 12px 35px rgba(0,0,0,0.15);
}


/* MISIÓN - VISIÓN */

.mision-vision {
    padding: 90px 70px;

    background-color: #f4f8fc;
}

.mv-container {
    max-width: 1300px;

    margin: 0 auto;

    display: grid;
    grid-template-columns: repeat(3, 1fr);

    gap: 30px;
}

.mv-card {
    padding: 40px 35px;

    background-color: white;

    border-radius: 14px;

    box-shadow: 0 8px 25px rgba(0,0,0,0.08);
}

.mv-card span {
    color: #ff7a00;

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

    letter-spacing: 2px;
}

.mv-card h3 {
    color: #063c78;

    font-size: 25px;

    margin: 15px 0;
}

.mv-card p {
    color: #666;

    line-height: 1.7;
}


/* TABLET */

@media (max-width: 900px) {

    .nosotros-container {
        grid-template-columns: 1fr;

        gap: 45px;
    }

    .mv-container {
        grid-template-columns: 1fr;
    }

}


/* CELULAR */

@media (max-width: 600px) {

    .nosotros-hero {
        height: 400px;
    }

    .nosotros-hero-content h1 {
        font-size: 40px;
    }

    .nosotros-section,
    .mision-vision {
        padding: 70px 20px;
    }

    .nosotros-texto h2 {
        font-size: 34px;
    }

}
/* =========================
   QUIÉNES SOMOS
========================= */

.quienes-section {
    padding: 100px 70px;

    background: linear-gradient(
        135deg,
        #063c78,
        #021f46
    );

    color: white;
}

.quienes-wrapper {
    max-width: 1250px;
    margin: 0 auto;

    display: grid;
    grid-template-columns: 1fr 1fr;

    gap: 90px;

    align-items: center;
}

.quienes-texto .section-small {
    color: #ff7a00;
}

.quienes-texto h2 {
    font-size: 46px;

    margin: 12px 0 25px;

    color: white;
}

.quienes-texto > p:not(.section-small) {
    font-size: 17px;
    line-height: 1.8;

    color: rgba(255,255,255,0.85);

    margin-bottom: 17px;
}

.quienes-destacado {
    position: relative;

    padding: 45px;

    background-color: rgba(255,255,255,0.08);

    border: 1px solid rgba(255,255,255,0.12);

    border-radius: 18px;

    backdrop-filter: blur(5px);
}

.quote-symbol {
    display: block;

    color: #ff7a00;

    font-size: 70px;
    line-height: 0.8;

    margin-bottom: 15px;
}

.quienes-destacado blockquote {
    font-size: 21px;
    line-height: 1.7;

    font-style: italic;

    color: white;

    margin-bottom: 35px;
}

.quienes-datos {
    display: grid;
    grid-template-columns: repeat(3, 1fr);

    gap: 20px;

    padding-top: 25px;

    border-top: 1px solid rgba(255,255,255,0.15);
}

.quienes-datos div {
    display: flex;
    flex-direction: column;

    gap: 6px;
}

.quienes-datos strong {
    color: #ff7a00;

    font-size: 18px;
}

.quienes-datos span {
    color: rgba(255,255,255,0.7);

    font-size: 13px;
    line-height: 1.4;
}


/* TABLET */

@media (max-width: 900px) {

    .quienes-wrapper {
        grid-template-columns: 1fr;

        gap: 50px;
    }

}


/* CELULAR */

@media (max-width: 600px) {

    .quienes-section {
        padding: 70px 20px;
    }

    .quienes-texto h2 {
        font-size: 36px;
    }

    .quienes-destacado {
        padding: 30px 25px;
    }

    .quienes-datos {
        grid-template-columns: 1fr;

        gap: 18px;
    }

}
/* =========================
   NUESTRA ESENCIA
========================= */

.esencia-header {
    text-align: center;
    margin-bottom: 50px;
}

.esencia-header h2 {
    color: #063c78;
    font-size: 42px;
    margin-top: 10px;
}

.mv-icon {
    width: 60px;
    height: 60px;

    display: flex;
    align-items: center;
    justify-content: center;

    background-color: #063c78;
    color: white;

    border-radius: 50%;

    font-size: 25px;

    margin-bottom: 20px;
}


/* =========================
   VALORES
========================= */

.valores-section {
    padding: 100px 70px;
    background-color: white;
}

.valores-container {
    max-width: 1300px;
    margin: 0 auto;
}

.valores-header {
    text-align: center;
    max-width: 700px;
    margin: 0 auto 60px;
}

.valores-header h2 {
    color: #063c78;
    font-size: 42px;
    margin: 10px 0 15px;
}

.valores-header > p:last-child {
    color: #666;
    font-size: 17px;
}

.valores-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 45px 30px;
}

.valor-item {
    text-align: center;
}

.valor-icon {
    width: 65px;
    height: 65px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin: 0 auto 18px;

    border-radius: 50%;

    background-color: #f4f8fc;
    color: #063c78;

    font-size: 27px;
}

.valor-item h3 {
    color: #063c78;
    font-size: 20px;
    margin-bottom: 10px;
}

.valor-item p {
    color: #666;
    line-height: 1.6;
    font-size: 15px;
}


/* TABLET */

@media (max-width: 900px) {

    .valores-grid {
        grid-template-columns: repeat(2, 1fr);
    }

}


/* CELULAR */

@media (max-width: 600px) {

    .quienes-section {
        padding: 70px 20px;
    }

    .quienes-container h2,
    .esencia-header h2,
    .valores-header h2 {
        font-size: 34px;
    }

    .valores-section {
        padding: 70px 20px;
    }

    .valores-grid {
        grid-template-columns: 1fr;
    }

}
/* =========================
   NUESTRA ESENCIA
========================= */

.esencia-section {
    padding: 100px 70px;
    background-color: #f4f8fc;
}

.esencia-container {
    max-width: 1300px;
    margin: 0 auto;
}

.esencia-header {
    max-width: 760px;
    margin: 0 auto 60px;
    text-align: center;
}

.esencia-header h2 {
    color: #063c78;
    font-size: 44px;
    margin: 12px 0 18px;
}

.esencia-header > p:last-child {
    color: #666;
    font-size: 17px;
    line-height: 1.7;
}

.esencia-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.esencia-card {
    background-color: white;
    padding: 40px 35px;

    border-radius: 16px;

    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);

    transition: 0.3s ease;
}

.esencia-card:hover {
    transform: translateY(-7px);

    box-shadow: 0 16px 38px rgba(0, 0, 0, 0.13);
}

.esencia-icon {
    width: 62px;
    height: 62px;

    display: flex;
    align-items: center;
    justify-content: center;

    background-color: #063c78;
    color: white;

    border-radius: 50%;

    font-size: 24px;

    margin-bottom: 22px;
}

.esencia-card h3 {
    color: #ff7a00;

    font-size: 25px;

    margin-bottom: 15px;
}

.esencia-card p {
    color: #666;

    font-size: 15px;
    line-height: 1.75;
}


/* TABLET */

@media (max-width: 900px) {

    .esencia-grid {
        grid-template-columns: 1fr;
    }

}


/* CELULAR */

@media (max-width: 600px) {

    .esencia-section {
        padding: 70px 20px;
    }

    .esencia-header h2 {
        font-size: 34px;
    }

    .esencia-card {
        padding: 32px 25px;
    }

}
/* =========================
   NUESTROS VALORES
========================= */

.valores-section {
    padding: 100px 70px;
    background-color: #ffffff;
}

.valores-container {
    max-width: 1300px;
    margin: 0 auto;
}

.valores-header {
    max-width: 730px;
    margin: 0 auto 60px;
    text-align: center;
}

.valores-header h2 {
    color: #063c78;
    font-size: 44px;
    margin: 12px 0 18px;
}

.valores-header > p:last-child {
    color: #666;
    font-size: 17px;
    line-height: 1.7;
}

.valores-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 28px;
}

.valor-card {
    padding: 35px 28px;

    background-color: #f7fafd;

    border-radius: 16px;

    text-align: center;

    transition: 0.3s ease;

    border: 1px solid #edf2f7;
}

.valor-card:hover {
    transform: translateY(-7px);

    box-shadow: 0 14px 35px rgba(0, 0, 0, 0.10);

    background-color: white;
}

.valor-icon {
    width: 66px;
    height: 66px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin: 0 auto 20px;

    border-radius: 50%;

    background-color: #063c78;
    color: white;

    font-size: 27px;
}

.valor-card h3 {
    color: #063c78;

    font-size: 21px;

    margin-bottom: 12px;
}

.valor-card p {
    color: #666;

    font-size: 15px;
    line-height: 1.7;
}


/* TABLET */

@media (max-width: 1000px) {

    .valores-grid {
        grid-template-columns: repeat(2, 1fr);
    }

}


/* CELULAR */

@media (max-width: 600px) {

    .valores-section {
        padding: 70px 20px;
    }

    .valores-header h2 {
        font-size: 34px;
    }

    .valores-grid {
        grid-template-columns: 1fr;
    }

}
/* =========================
   MENÚ MÓVIL
========================= */

.menu-toggle {
    display: none;

    background: none;
    border: none;

    font-size: 30px;
    color: #063c78;

    cursor: pointer;
}

@media (max-width: 768px) {

    .header {
        height: 75px;
        padding: 0 18px;
    }

    .logo {
        height: 65px;
    }

    .logo img {
        height: 55px;
    }

    .menu-toggle {
        display: block;
        margin-left: auto;
    }

    .menu {
        display: none;

        position: absolute;

        top: 75px;
        left: 0;

        width: 100%;

        flex-direction: column;
        align-items: flex-start;

        gap: 0;

        background-color: white;

        padding: 15px 0;

        box-shadow: 0 8px 20px rgba(0,0,0,0.12);

        z-index: 9998;
    }

    .menu.active {
        display: flex;
    }

    .menu > a,
    .dropdown {
        width: 100%;
    }

    .menu a {
        width: 100%;

        padding: 14px 22px;

        display: block;
    }

    .dropdown-content {
        position: static;

        display: none;

        width: 100%;

        box-shadow: none;

        border-radius: 0;

        padding: 0;

        background-color: #f4f8fc;
    }

    .dropdown:hover .dropdown-content {
        display: none;
    }

    .dropdown.active .dropdown-content {
        display: block;
    }

    .carrito {
        margin-left: 14px;
        font-size: 21px;
    }

}
/* =========================
   PORTADA INICIO - CELULAR
========================= */

@media (max-width: 768px) {

    .hero {
        min-height: calc(100vh - 75px);

        padding: 60px 25px;

        align-items: center;

        background-position: center;
    }

    .hero-content {
        width: 100%;
        max-width: 100%;
    }

    .hero h1 {
        font-size: 46px;
        line-height: 1.05;

        word-break: normal;
        overflow-wrap: normal;
    }

    .hero-small {
        font-size: 14px;
        letter-spacing: 3px;
    }

    .hero-text {
        font-size: 18px;
        line-height: 1.5;
    }

    .hero-buttons {
        flex-direction: column;
        align-items: flex-start;
    }

    .btn-primary,
    .btn-secondary {
        text-align: center;
    }

}

@media (max-width: 480px) {

    .hero h1 {
        font-size: 40px;
    }

}
/* ========================================
   CIERRE - NOSOTROS
======================================== */

.cierre-nosotros {
    background: #073b73;
    padding: 100px 30px;
    text-align: center;
    color: white;
}

.cierre-nosotros-contenido {
    max-width: 850px;
    margin: 0 auto;
}

.cierre-etiqueta {
    display: block;

    color: #ff7900;

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

    letter-spacing: 4px;

    margin-bottom: 20px;
}

.cierre-nosotros h2 {
    font-size: 48px;
    line-height: 1.15;

    margin-bottom: 25px;
}

.cierre-nosotros p {
    max-width: 650px;
    margin: 0 auto 35px;

    font-size: 18px;
    line-height: 1.7;

    color: rgba(255,255,255,0.85);
}

.cierre-frase {
    max-width: 700px;

    margin: 0 auto 35px;
    padding: 25px 30px;

    border-left: 4px solid #ff7900;

    background: rgba(255,255,255,0.07);

    font-size: 20px;
    font-style: italic;
    line-height: 1.6;

    border-radius: 5px;
}

.btn-cierre {
    display: inline-block;

    padding: 16px 30px;

    background: #ff7900;
    color: white;

    text-decoration: none;

    font-weight: 700;

    border-radius: 7px;

    transition: 0.3s;
}

.btn-cierre:hover {
    transform: translateY(-3px);
    background: #e86e00;
}


/* ========================================
   CIERRE NOSOTROS - CELULAR
======================================== */

@media (max-width: 768px) {

    .cierre-nosotros {
        padding: 70px 22px;
    }

    .cierre-nosotros h2 {
        font-size: 34px;
    }

    .cierre-nosotros p {
        font-size: 16px;
    }

    .cierre-frase {
        font-size: 17px;
        padding: 20px;
    }

    .btn-cierre {
        width: 100%;
        max-width: 280px;
    }

}
/* =========================
   FULL DAY - PORTADA
========================= */

.full-day-hero {
    position: relative;

    min-height: 520px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 80px 30px;

    background-image: url("../imagenes/full-day-portada.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    text-align: center;

    overflow: hidden;
}

.full-day-overlay {
    position: absolute;
    inset: 0;

    background: linear-gradient(
        135deg,
        rgba(3, 40, 82, 0.88),
        rgba(3, 40, 82, 0.50)
    );
}

.full-day-hero-content {
    position: relative;
    z-index: 2;

    max-width: 850px;

    color: white;
}

.full-day-hero-content > span {
    display: block;

    color: #ff7900;

    font-size: 15px;
    font-weight: 800;

    letter-spacing: 4px;

    margin-bottom: 18px;
}

.full-day-hero-content h1 {
    font-size: 68px;
    line-height: 1;

    margin-bottom: 22px;
}

.full-day-hero-content p {
    max-width: 650px;

    margin: 0 auto 32px;

    font-size: 20px;
    line-height: 1.6;

    color: rgba(255,255,255,0.90);
}


/* =========================
   LISTA FULL DAY
========================= */

.full-day-lista {
    padding: 100px 70px;

    background-color: #ffffff;
}

.full-day-titulo {
    max-width: 750px;

    margin: 0 auto 60px;

    text-align: center;
}

.full-day-titulo > span {
    display: block;

    color: #ff7900;

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

    letter-spacing: 3px;

    margin-bottom: 12px;
}

.full-day-titulo h2 {
    color: #063c78;

    font-size: 44px;

    margin-bottom: 18px;
}

.full-day-titulo p {
    color: #666;

    font-size: 17px;
    line-height: 1.7;
}

.full-day-grid {
    max-width: 1350px;
    margin: 60px auto 100px;
    padding: 0 40px;

    display: grid;
    grid-template-columns: repeat(3, minmax(300px, 1fr));
    gap: 35px;
}


/* TABLET */

@media (max-width: 1000px) {

    .full-day-grid {
        grid-template-columns: repeat(2, 1fr);
    }

}


/* CELULAR */

@media (max-width: 768px) {

    .full-day-hero {
        min-height: 430px;

        padding: 60px 22px;
    }

    .full-day-hero-content h1 {
        font-size: 46px;
    }

    .full-day-hero-content p {
        font-size: 17px;
    }

    .full-day-lista {
        padding: 70px 20px;
    }

    .full-day-titulo h2 {
        font-size: 34px;
    }

    .full-day-grid {
        grid-template-columns: 1fr;
    }

}
/* =========================
   FULL DAY - TARJETAS
========================= */

.full-day-grid {
    max-width: 1200px;
    margin: 60px auto 100px;
    padding: 0 30px;

    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.full-day-card {
    background: #fff;
    border-radius: 16px;
    overflow: hidden;

    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.10);

    transition: transform 0.3s ease,
                box-shadow 0.3s ease;
}

.full-day-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.15);
}


/* ESPACIO PARA LA FOTO */

.full-day-image {
    height: 240px;

    background: linear-gradient(
        135deg,
        #0b477f,
        #062c59
    );

    position: relative;
}


/* ETIQUETA PRÓXIMAMENTE */

.proximamente {
    position: absolute;
    top: 18px;
    left: 18px;

    background: #ff7900;
    color: white;

    padding: 8px 14px;

    border-radius: 20px;

    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1px;
}


/* INFORMACIÓN */

.full-day-info {
    padding: 28px;
}

.categoria-tour {
    color: #ff7900;

    font-size: 12px;
    font-weight: 800;
    letter-spacing: 2px;
}

.full-day-info h3 {
    color: #073b75;

    font-size: 25px;

    margin: 10px 0 12px;
}

.full-day-info p {
    color: #555;

    line-height: 1.7;

    margin-bottom: 28px;
}


/* PRECIO + BOTÓN */

.full-day-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 20px;

    border-top: 1px solid #eee;
    padding-top: 20px;
}

.precio {
    display: flex;
    flex-direction: column;
}

.precio span {
    color: #777;
    font-size: 12px;
}

.precio strong {
    color: #073b75;
    font-size: 23px;
}


/* BOTÓN */

.btn-tour {
    background: #ff7900;
    color: white;

    border: none;
    border-radius: 8px;

    padding: 13px 18px;

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

    cursor: pointer;
}

.btn-tour:disabled {
    opacity: 0.75;
    cursor: default;
}


/* =========================
   CELULAR
========================= */

@media (max-width: 900px) {

    .full-day-grid {
        grid-template-columns: 1fr;
        padding: 0 22px;
        margin-top: 40px;
    }

    .full-day-image {
        height: 220px;
    }

}
/* ========================================
   CORRECCIÓN FOOTER
======================================== */

.footer {
    background: #062d5b;
    color: #ffffff;
    padding: 70px 0 0;
}

.footer-container {
    max-width: 1500px;
    margin: 0 auto;
    padding: 0 50px 60px;

    display: grid;
    grid-template-columns: 1.4fr 0.9fr 0.9fr 1fr;
    gap: 70px;
}


/* LOGO */

.footer-brand img {
    width: 210px;
    height: auto;
    margin-bottom: 25px;
}

.footer-brand p {
    color: #ffffff;
    font-size: 16px;
    line-height: 1.7;
    max-width: 360px;
}


/* TÍTULOS */

.footer-column h3 {
    color: #ffffff;
    font-size: 20px;
    margin-bottom: 20px;
}


/* ENLACES */

.footer-column > a {
    display: block;

    color: #ffffff;
    text-decoration: none;

    font-size: 16px;

    margin-bottom: 13px;

    transition: color 0.3s ease;
}

.footer-column > a:hover {
    color: #ff7900;
}


/* CONTACTO */

.footer-column p {
    color: #ffffff;
    font-size: 16px;
    margin-bottom: 14px;
}


/* REDES SOCIALES */

.footer-social {
    display: flex;
    gap: 20px;
    margin-top: 22px;
}

.footer-social a {
    color: #ffffff;
    text-decoration: none;
    font-size: 15px;

    transition: color 0.3s ease;
}

.footer-social a:hover {
    color: #ff7900;
}


/* PARTE INFERIOR */

.footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.15);

    text-align: center;

    padding: 20px 30px;
}

.footer-bottom p {
    color: rgba(255, 255, 255, 0.75);
    font-size: 14px;
}


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

@media (max-width: 900px) {

    .footer-container {
        grid-template-columns: repeat(2, 1fr);
        gap: 45px;
    }

}


@media (max-width: 600px) {

    .footer {
        padding-top: 50px;
    }

    .footer-container {
        grid-template-columns: 1fr;
        padding: 0 25px 40px;
        gap: 40px;
    }

    .footer-brand img {
        width: 170px;
    }

    .footer-social {
        flex-wrap: wrap;
    }

}
/* =========================
   PAQUETES
========================= */

.paquetes-hero {
    position: relative;
    min-height: 500px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 80px 30px;

    background:
        linear-gradient(
            rgba(0, 44, 94, 0.60),
            rgba(0, 44, 94, 0.60)
        ),
        url("../imagenes/paquetes-portada.jpg");

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    text-align: center;
    color: white;
}

.paquetes-overlay {
    position: absolute;
    inset: 0;
}

.paquetes-hero-content {
    position: relative;
    z-index: 2;

    max-width: 850px;
}

.paquetes-hero-content > span {
    display: block;

    color: #ff7900;

    font-weight: 800;
    font-size: 15px;

    letter-spacing: 4px;

    margin-bottom: 18px;
}

.paquetes-hero-content h1 {
    font-size: 68px;
    margin-bottom: 22px;
}

.paquetes-hero-content p {
    max-width: 650px;

    margin: 0 auto 30px;

    font-size: 20px;
    line-height: 1.6;

    color: rgba(255,255,255,0.88);
}


/* LISTA */

.paquetes-lista {
    padding: 100px 70px;

    background: #f7fafd;
}

.paquetes-header {
    max-width: 760px;

    margin: 0 auto 60px;

    text-align: center;
}

.paquetes-header > span {
    color: #ff7900;

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

    letter-spacing: 3px;
}

.paquetes-header h2 {
    color: #073b75;

    font-size: 44px;

    margin: 12px 0 18px;
}

.paquetes-header p {
    color: #666;

    font-size: 17px;
    line-height: 1.7;
}


/* TARJETAS */

.paquetes-grid {
    max-width: 1250px;

    margin: 0 auto;

    display: grid;
    grid-template-columns: repeat(3, 1fr);

    gap: 30px;

    align-items: stretch;
}

.paquete-card {
    position: relative;

    display: flex;
    flex-direction: column;

    background: white;

    padding: 40px 32px;

    border-radius: 18px;

    border: 1px solid #e8eef5;

    box-shadow: 0 10px 30px rgba(0,0,0,0.08);

    transition: 0.3s;
}

.paquete-card:hover {
    transform: translateY(-7px);

    box-shadow: 0 16px 40px rgba(0,0,0,0.13);
}


/* RECOMENDADO */

.paquete-destacado {
    border: 2px solid #ff7900;

    transform: translateY(-12px);
}

.paquete-destacado:hover {
    transform: translateY(-18px);
}

.recomendado-badge {
    position: absolute;

    top: 12px;
    left: 50%;

    transform: translateX(-50%);

    background: #ff7900;
    color: white;

    padding: 8px 18px;

    border-radius: 20px;

    font-size: 12px;
    font-weight: 800;

    letter-spacing: 1px;

    white-space: nowrap;
}


/* CABECERA TARJETA */

.paquete-etiqueta {
    color: #ff7900;

    font-size: 12px;
    font-weight: 800;

    letter-spacing: 2px;
}

.paquete-top h3 {
    color: #073b75;

    font-size: 27px;

    margin: 12px 0;
}

.paquete-precio {
    color: #073b75;

    font-size: 38px;
    font-weight: 800;

    margin-bottom: 25px;
}


/* INCLUYE */

.paquete-incluye {
    list-style: none;

    padding: 0;
    margin: 0 0 30px;

    flex: 1;
}

.paquete-incluye li {
    padding: 12px 0;

    color: #555;

    border-bottom: 1px solid #eee;

    line-height: 1.5;
}


/* BOTÓN */

.btn-agregar {
    width: 100%;

    padding: 15px;

    border: none;
    border-radius: 8px;

    background: #073b75;
    color: white;

    font-size: 15px;
    font-weight: 700;

    cursor: pointer;

    transition: 0.25s;
}

.btn-agregar:hover {
    background: #ff7900;
}


/* RESPONSIVE */

@media (max-width: 950px) {

    .paquetes-grid {
        grid-template-columns: 1fr;
        max-width: 550px;
    }

    .paquete-destacado {
        transform: none;
    }

    .paquete-destacado:hover {
        transform: translateY(-7px);
    }

}

@media (max-width: 600px) {

    .paquetes-hero {
        min-height: 420px;
        padding: 60px 22px;
    }

    .paquetes-hero-content h1 {
        font-size: 46px;
    }

    .paquetes-hero-content p {
        font-size: 17px;
    }

    .paquetes-lista {
        padding: 75px 20px;
    }

    .paquetes-header h2 {
        font-size: 34px;
    }

}
/* ========================================
   IMÁGENES - PAQUETES NECOM TOURS
======================================== */

.paquete-card {
    overflow: hidden;
}

.paquete-imagen {
    width: 100%;
    height: 250px;
    overflow: hidden;
}

.paquete-imagen img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;

    transition: transform 0.4s ease;
}

.paquete-card:hover .paquete-imagen img {
    transform: scale(1.06);
}

/* CELULARES */

@media (max-width: 768px) {

    .paquete-imagen {
        height: 220px;
    }

}
/* ========================================
   PÁGINA CARRITO
======================================== */

.carrito-page {
    padding: 90px 70px 120px;
    background: #f7fafd;
    min-height: 70vh;
}

.carrito-header {
    max-width: 750px;
    margin: 0 auto 60px;
    text-align: center;
}

.carrito-header > span {
    color: #ff7900;

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

    letter-spacing: 3px;
}

.carrito-header h1 {
    color: #073b75;

    font-size: 48px;

    margin: 12px 0 15px;
}

.carrito-header p {
    color: #666;
    font-size: 17px;
}


.carrito-layout {
    max-width: 1250px;

    margin: 0 auto;

    display: grid;
    grid-template-columns: 1.7fr 0.8fr;

    gap: 40px;

    align-items: start;
}


/* PRODUCTOS */

.carrito-productos {
    background: white;

    padding: 30px;

    border-radius: 18px;

    box-shadow: 0 10px 30px rgba(0,0,0,0.07);
}

.carrito-item {
    display: grid;
    grid-template-columns: 1fr auto auto;

    gap: 30px;

    align-items: center;

    padding: 25px 0;

    border-bottom: 1px solid #eee;
}

.carrito-item:last-child {
    border-bottom: none;
}

.carrito-tipo {
    color: #ff7900;

    font-size: 11px;
    font-weight: 800;

    letter-spacing: 2px;
}

.carrito-item-info h3 {
    color: #073b75;

    font-size: 22px;

    margin: 7px 0;
}

.carrito-item-info p {
    color: #777;
}


/* CANTIDAD */

.carrito-cantidad {
    display: flex;
    align-items: center;

    gap: 12px;

    border: 1px solid #ddd;

    border-radius: 8px;

    padding: 6px;
}

.cantidad-btn {
    width: 32px;
    height: 32px;

    border: none;

    background: #f2f5f8;

    color: #073b75;

    border-radius: 6px;

    font-size: 20px;

    cursor: pointer;
}

.carrito-cantidad span {
    min-width: 20px;

    text-align: center;

    font-weight: 700;
}


/* TOTAL DEL PRODUCTO */

.carrito-item-total {
    min-width: 110px;

    text-align: right;
}

.carrito-item-total strong {
    display: block;

    color: #073b75;

    font-size: 20px;

    margin-bottom: 8px;
}

.eliminar-producto {
    border: none;

    background: none;

    color: #c94b4b;

    cursor: pointer;

    font-size: 13px;
}


/* RESUMEN */

.carrito-resumen {
    background: white;

    padding: 30px;

    border-radius: 18px;

    box-shadow: 0 10px 30px rgba(0,0,0,0.07);

    position: sticky;

    top: 110px;
}

.carrito-resumen h2 {
    color: #073b75;

    margin-bottom: 25px;
}

.resumen-linea {
    display: flex;
    justify-content: space-between;

    padding: 15px 0;

    color: #666;

    border-bottom: 1px solid #eee;
}

.resumen-linea.total {
    color: #073b75;

    font-size: 20px;

    border-bottom: none;

    padding-top: 22px;
}

.btn-reservar {
    width: 100%;

    margin-top: 25px;

    padding: 16px;

    background: #ff7900;
    color: white;

    border: none;
    border-radius: 8px;

    font-size: 15px;
    font-weight: 700;

    cursor: pointer;
}

.btn-reservar:disabled {
    opacity: 0.5;
    cursor: default;
}

.seguir-comprando {
    display: block;

    margin-top: 20px;

    text-align: center;

    color: #073b75;

    text-decoration: none;

    font-weight: 600;
}


/* CARRITO VACÍO */

.carrito-vacio {
    text-align: center;

    padding: 60px 20px;
}

.carrito-vacio h2 {
    color: #073b75;

    font-size: 28px;

    margin-bottom: 12px;
}

.carrito-vacio p {
    color: #666;

    margin-bottom: 30px;
}


/* RESPONSIVE */

@media (max-width: 850px) {

    .carrito-page {
        padding: 70px 20px 90px;
    }

    .carrito-layout {
        grid-template-columns: 1fr;
    }

    .carrito-resumen {
        position: static;
    }

    .carrito-item {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .carrito-cantidad {
        width: fit-content;
    }

    .carrito-item-total {
        text-align: left;
    }

}
/* ========================================
   RESERVA
======================================== */

.reserva-page {
    padding: 90px 70px 120px;
    background: #f7fafd;
}

.reserva-header {
    max-width: 760px;
    margin: 0 auto 60px;
    text-align: center;
}

.reserva-header > span {
    color: #ff7900;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 3px;
}

.reserva-header h1 {
    color: #073b75;
    font-size: 48px;
    margin: 12px 0 18px;
}

.reserva-header p {
    color: #666;
    font-size: 17px;
    line-height: 1.7;
}


.reserva-layout {
    max-width: 1200px;
    margin: 0 auto;

    display: grid;
    grid-template-columns: 1.4fr 0.7fr;

    gap: 40px;

    align-items: start;
}


/* FORMULARIO */

.reserva-formulario {
    background: white;

    padding: 40px;

    border-radius: 18px;

    box-shadow: 0 10px 30px rgba(0,0,0,0.07);
}

.reserva-formulario h2 {
    color: #073b75;
    margin-bottom: 30px;
}


.form-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);

    gap: 22px;
}

.form-grupo {
    display: flex;
    flex-direction: column;

    margin-bottom: 22px;
}

.form-grupo label {
    color: #073b75;

    font-weight: 700;

    margin-bottom: 8px;
}

.form-grupo input,
.form-grupo textarea {
    width: 100%;

    padding: 14px 15px;

    border: 1px solid #dce3ea;

    border-radius: 8px;

    font-family: inherit;
    font-size: 15px;

    outline: none;
}

.form-grupo input:focus,
.form-grupo textarea:focus {
    border-color: #073b75;

    box-shadow: 0 0 0 3px rgba(7,59,117,0.08);
}

.form-grupo textarea {
    resize: vertical;
}


/* TÉRMINOS */

.terminos-check {
    display: flex;
    gap: 10px;

    align-items: flex-start;

    color: #555;

    line-height: 1.5;

    margin-bottom: 25px;
}

.terminos-check input {
    margin-top: 4px;
}

.terminos-check a {
    color: #073b75;
}


/* BOTÓN */

.btn-enviar-reserva {
    width: 100%;

    padding: 16px;

    border: none;
    border-radius: 8px;

    background: #25D366;
    color: white;

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

    cursor: pointer;

    transition: 0.25s;
}

.btn-enviar-reserva:hover {
    background: #1fbd5a;

    transform: translateY(-2px);
}


/* RESUMEN */

.reserva-resumen {
    background: white;

    padding: 32px;

    border-radius: 18px;

    box-shadow: 0 10px 30px rgba(0,0,0,0.07);

    position: sticky;

    top: 110px;
}

.reserva-resumen h2 {
    color: #073b75;

    margin-bottom: 25px;
}

.reserva-item {
    display: flex;
    justify-content: space-between;

    gap: 15px;

    padding: 17px 0;

    border-bottom: 1px solid #eee;
}

.reserva-item > div {
    display: flex;
    flex-direction: column;

    gap: 5px;
}

.reserva-item strong {
    color: #073b75;
}

.reserva-item span {
    color: #777;

    font-size: 13px;
}

.reserva-total {
    display: flex;
    justify-content: space-between;

    padding: 22px 0;

    font-size: 21px;

    color: #073b75;
}

.reserva-aviso {
    background: #f4f8fc;

    padding: 15px;

    border-radius: 8px;

    color: #666;

    font-size: 13px;

    line-height: 1.6;
}


/* RESPONSIVE */

@media (max-width: 850px) {

    .reserva-page {
        padding: 70px 20px 90px;
    }

    .reserva-layout {
        grid-template-columns: 1fr;
    }

    .form-grid {
        grid-template-columns: 1fr;
    }

    .reserva-resumen {
        position: static;
    }

}

@media (max-width: 600px) {

    .reserva-header h1 {
        font-size: 36px;
    }

    .reserva-formulario {
        padding: 28px 22px;
    }

}
/* =========================
   TREKKING
========================= */

.trekking-hero {
    position: relative;

    min-height: 520px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 80px 30px;

    background-image: url("../imagenes/trekking-portada.jpg");
    background-size: cover;
    background-position: center;

    text-align: center;

    overflow: hidden;
}

.trekking-overlay {
    position: absolute;
    inset: 0;

    background: linear-gradient(
        135deg,
        rgba(2, 52, 62, 0.88),
        rgba(3, 59, 117, 0.55)
    );
}

.trekking-hero-content {
    position: relative;
    z-index: 2;

    max-width: 850px;

    color: white;
}

.trekking-hero-content > span {
    display: block;

    color: #ff7900;

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

    letter-spacing: 4px;

    margin-bottom: 18px;
}

.trekking-hero-content h1 {
    font-size: 68px;

    margin-bottom: 22px;
}

.trekking-hero-content p {
    max-width: 650px;

    margin: 0 auto 32px;

    color: rgba(255,255,255,0.9);

    font-size: 20px;
    line-height: 1.6;
}


/* LISTA */

.trekking-lista {
    padding: 100px 70px;

    background: #ffffff;
}

.trekking-header {
    max-width: 750px;

    margin: 0 auto 60px;

    text-align: center;
}

.trekking-header > span {
    color: #ff7900;

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

    letter-spacing: 3px;
}

.trekking-header h2 {
    color: #073b75;

    font-size: 44px;

    margin: 12px 0 18px;
}

.trekking-header p {
    color: #666;

    font-size: 17px;
    line-height: 1.7;
}


/* TARJETAS */

.trekking-grid {
    max-width: 1350px;

    margin: 0 auto;

    display: grid;
    grid-template-columns: repeat(3, minmax(300px, 1fr));

    gap: 35px;
}

.trekking-card {
    background: white;

    border-radius: 16px;

    overflow: hidden;

    box-shadow: 0 10px 30px rgba(0,0,0,0.10);

    transition: 0.3s;
}

.trekking-card:hover {
    transform: translateY(-7px);

    box-shadow: 0 18px 40px rgba(0,0,0,0.15);
}

.trekking-image {
    position: relative;

    height: 240px;

    background: linear-gradient(
        135deg,
        #173f42,
        #073b75
    );
}

.trekking-info {
    padding: 28px;
}

.trekking-info h3 {
    color: #073b75;

    font-size: 25px;

    margin: 10px 0 13px;
}

.trekking-info p {
    color: #555;

    font-size: 15px;
    line-height: 1.7;

    margin-bottom: 25px;
}

.trekking-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 18px;

    padding-top: 20px;

    border-top: 1px solid #eee;
}


/* RESPONSIVE */

@media (max-width: 1100px) {

    .trekking-grid {
        grid-template-columns: repeat(2, minmax(280px, 1fr));
    }

}

@media (max-width: 700px) {

    .trekking-hero {
        min-height: 430px;

        padding: 60px 22px;
    }

    .trekking-hero-content h1 {
        font-size: 46px;
    }

    .trekking-hero-content p {
        font-size: 17px;
    }

    .trekking-lista {
        padding: 70px 20px;
    }

    .trekking-header h2 {
        font-size: 34px;
    }

    .trekking-grid {
        grid-template-columns: 1fr;
    }

}
/* ========================================
   NEVADOS
======================================== */

.nevados-hero {
    position: relative;

    min-height: 520px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 80px 30px;

    background-image: url("../imagenes/nevados-portada.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    text-align: center;

    overflow: hidden;
}


.nevados-overlay {
    position: absolute;
    inset: 0;

    background: linear-gradient(
        135deg,
        rgba(3, 38, 75, 0.88),
        rgba(25, 73, 105, 0.48)
    );
}


.nevados-hero-content {
    position: relative;
    z-index: 2;

    max-width: 850px;

    color: white;
}


.nevados-hero-content > span {
    display: block;

    color: #ff7900;

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

    letter-spacing: 4px;

    margin-bottom: 18px;
}


.nevados-hero-content h1 {
    font-size: 68px;

    margin-bottom: 22px;
}


.nevados-hero-content p {
    max-width: 680px;

    margin: 0 auto 32px;

    color: rgba(255, 255, 255, 0.92);

    font-size: 20px;
    line-height: 1.6;
}


/* =========================
   LISTA DE NEVADOS
========================= */

.nevados-lista {
    padding: 100px 70px;

    background: #f7fafd;
}


.nevados-header {
    max-width: 760px;

    margin: 0 auto 60px;

    text-align: center;
}


.nevados-header > span {
    color: #ff7900;

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

    letter-spacing: 3px;
}


.nevados-header h2 {
    color: #073b75;

    font-size: 44px;

    margin: 12px 0 18px;
}


.nevados-header p {
    color: #666;

    font-size: 17px;
    line-height: 1.7;
}


/* =========================
   TARJETAS
========================= */

.nevados-grid {
    max-width: 1350px;

    margin: 0 auto;

    display: grid;

    grid-template-columns: repeat(2, minmax(300px, 1fr));

    gap: 35px;
}


.nevado-card {
    background: #ffffff;

    border-radius: 16px;

    overflow: hidden;

    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.10);

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


.nevado-card:hover {
    transform: translateY(-7px);

    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.15);
}


/* ESPACIO PARA FOTO */

.nevado-image {
    position: relative;

    height: 250px;

    background: linear-gradient(
        135deg,
        #164a72,
        #082c50
    );
}


/* INFORMACIÓN */

.nevado-info {
    padding: 30px;
}


.nevado-info h3 {
    color: #073b75;

    font-size: 26px;

    margin: 10px 0 14px;
}


.nevado-info p {
    color: #555;

    font-size: 15px;
    line-height: 1.7;

    margin-bottom: 27px;
}


.nevado-bottom {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 20px;

    border-top: 1px solid #eee;

    padding-top: 20px;
}


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

@media (max-width: 900px) {

    .nevados-grid {
        grid-template-columns: 1fr;
    }

}


@media (max-width: 700px) {

    .nevados-hero {
        min-height: 430px;

        padding: 60px 22px;
    }


    .nevados-hero-content h1 {
        font-size: 46px;
    }


    .nevados-hero-content p {
        font-size: 17px;
    }


    .nevados-lista {
        padding: 70px 20px;
    }


    .nevados-header h2 {
        font-size: 34px;
    }


    .nevado-image {
        height: 220px;
    }

}
/* ========================================
   ACTIVIDADES
======================================== */

.actividades-hero {
    position: relative;

    min-height: 520px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 80px 30px;

    background-image: url("../imagenes/ACTIVIDADES.png");
    background-size: cover;
    background-position: center;

    text-align: center;

    overflow: hidden;
}


.actividades-overlay {
    position: absolute;
    inset: 0;

    background: linear-gradient(
        135deg,
        rgba(3, 44, 86, 0.86),
        rgba(0, 82, 112, 0.48)
    );
}


.actividades-hero-content {
    position: relative;
    z-index: 2;

    max-width: 850px;

    color: white;
}


.actividades-hero-content > span {
    display: block;

    color: #ff7900;

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

    letter-spacing: 4px;

    margin-bottom: 18px;
}


.actividades-hero-content h1 {
    font-size: 68px;

    margin-bottom: 22px;
}


.actividades-hero-content p {
    max-width: 680px;

    margin: 0 auto 32px;

    color: rgba(255,255,255,0.92);

    font-size: 20px;
    line-height: 1.6;
}


/* ========================================
   LISTADO
======================================== */

.actividades-section {
    padding: 100px 70px;

    background: #f7fafd;
}


.actividades-header {
    max-width: 760px;

    margin: 0 auto 60px;

    text-align: center;
}


.actividades-header > span {
    color: #ff7900;

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

    letter-spacing: 3px;
}


.actividades-header h2 {
    color: #073b75;

    font-size: 44px;

    margin: 12px 0 18px;
}


.actividades-header p {
    color: #666;

    font-size: 17px;
    line-height: 1.7;
}


/* ========================================
   TARJETAS
======================================== */

.actividades-grid {
    max-width: 1350px;

    margin: 0 auto;

    display: grid;
    grid-template-columns: repeat(4, 1fr);

    gap: 28px;
}


.actividad-card {
    background: white;

    border-radius: 17px;

    overflow: hidden;

    display: flex;
    flex-direction: column;

    box-shadow: 0 10px 30px rgba(0,0,0,0.09);

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


.actividad-card:hover {
    transform: translateY(-7px);

    box-shadow: 0 17px 38px rgba(0,0,0,0.14);
}


/* FOTO */

.actividad-imagen {
    position: relative;

    height: 220px;

    overflow: hidden;
}


.actividad-imagen img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    display: block;

    transition: transform 0.4s ease;
}


.actividad-card:hover .actividad-imagen img {
    transform: scale(1.06);
}


/* DISPONIBLE */

.actividad-disponible {
    position: absolute;

    top: 16px;
    left: 16px;

    padding: 7px 13px;

    background: #073b75;
    color: white;

    border-radius: 20px;

    font-size: 11px;
    font-weight: 800;

    letter-spacing: 1px;
}


/* INFORMACIÓN */

.actividad-info {
    padding: 25px;

    display: flex;
    flex-direction: column;

    flex: 1;
}


.actividad-info h3 {
    color: #073b75;

    font-size: 23px;

    margin: 9px 0 12px;
}


.actividad-info > p {
    color: #555;

    font-size: 14px;
    line-height: 1.65;

    margin-bottom: 22px;

    flex: 1;
}


/* PRECIO Y DURACIÓN */

.actividad-detalles {
    display: grid;
    grid-template-columns: repeat(2, 1fr);

    gap: 12px;

    margin-bottom: 22px;
}


.actividad-detalles > div {
    padding: 12px;

    background: #f4f8fc;

    border-radius: 8px;
}


.actividad-detalles span {
    display: block;

    color: #777;

    font-size: 11px;

    margin-bottom: 4px;
}


.actividad-detalles strong {
    color: #073b75;

    font-size: 15px;
}


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

@media (max-width: 1150px) {

    .actividades-grid {
        grid-template-columns: repeat(2, 1fr);
    }

}


@media (max-width: 700px) {

    .actividades-hero {
        min-height: 430px;

        padding: 60px 22px;
    }


    .actividades-hero-content h1 {
        font-size: 44px;
    }


    .actividades-hero-content p {
        font-size: 17px;
    }


    .actividades-section {
        padding: 70px 20px;
    }


    .actividades-header h2 {
        font-size: 34px;
    }


    .actividades-grid {
        grid-template-columns: 1fr;
    }


    .actividad-imagen {
        height: 230px;
    }

}
/* ========================================
   PORTADA ACTIVIDADES - IMAGEN DE FONDO
======================================== */

.actividades-hero {
    background:
        linear-gradient(
            rgba(0, 48, 88, 0.65),
            rgba(0, 48, 88, 0.50)
        ),
        url("../imagenes/actividades-portada.jpg");

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
/* ========================================
   ALIANZAS
======================================== */

.alianzas-hero {
    position: relative;

    min-height: 480px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 80px 30px;

    background:
        linear-gradient(
            rgba(4, 49, 91, 0.88),
            rgba(4, 49, 91, 0.72)
        ),
        url("../imagenes/alianzas-portada.jpg");

    background-size: cover;
    background-position: center;

    text-align: center;

    color: white;
}


.alianzas-overlay {
    position: absolute;
    inset: 0;
}


.alianzas-hero-content {
    position: relative;
    z-index: 2;

    max-width: 850px;
}


.alianzas-hero-content > span {
    display: block;

    color: #ff7900;

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

    letter-spacing: 4px;

    margin-bottom: 18px;
}


.alianzas-hero-content h1 {
    font-size: 62px;

    margin-bottom: 20px;
}


.alianzas-hero-content p {
    max-width: 700px;

    margin: 0 auto 30px;

    font-size: 19px;
    line-height: 1.7;

    color: rgba(255,255,255,0.92);
}


/* =========================
   SECCIÓN ALIADOS
========================= */

.alianzas-section {
    padding: 100px 60px;

    background: #f7fafd;
}


.alianzas-header {
    max-width: 760px;

    margin: 0 auto 60px;

    text-align: center;
}


.alianzas-header > span {
    color: #ff7900;

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

    letter-spacing: 3px;
}


.alianzas-header h2 {
    color: #073b75;

    font-size: 44px;

    margin: 12px 0 18px;
}


.alianzas-header p {
    color: #666;

    font-size: 17px;
    line-height: 1.7;
}


/* =========================
   GRID 10 ALIADOS
========================= */

.alianzas-grid {
    max-width: 1400px;

    margin: 0 auto;

    display: grid;

    grid-template-columns: repeat(5, 1fr);

    gap: 25px;
}


/* TARJETA */

.alianza-card {
    min-height: 280px;

    padding: 30px 20px;

    background: white;

    border-radius: 16px;

    border: 1px solid #edf0f4;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    text-align: center;

    box-shadow: 0 8px 25px rgba(0,0,0,0.07);

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


.alianza-card:hover {
    transform: translateY(-6px);

    box-shadow: 0 15px 35px rgba(0,0,0,0.12);
}


/* LOGO */

.alianza-logo {
    width: 100%;
    height: 145px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin-bottom: 22px;
}


.alianza-logo img {
    max-width: 90%;
    max-height: 125px;

    width: auto;
    height: auto;

    object-fit: contain;
}


.alianza-card h3 {
    color: #073b75;

    font-size: 17px;
    line-height: 1.4;
}


/* =========================
   PENDIENTES
========================= */

.alianza-pendiente {
    border: 2px dashed #ccd7e3;

    background: #fbfcfe;
}


.alianza-placeholder {
    width: 90px;
    height: 90px;

    margin-bottom: 20px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #edf3f8;

    color: #073b75;
}


.alianza-placeholder span {
    font-size: 40px;
    font-weight: 300;
}


.alianza-pendiente p {
    color: #999;

    font-size: 13px;

    margin-top: 7px;
}


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

@media (max-width: 1150px) {

    .alianzas-grid {
        grid-template-columns: repeat(3, 1fr);
    }

}


@media (max-width: 800px) {

    .alianzas-grid {
        grid-template-columns: repeat(2, 1fr);
    }

}


@media (max-width: 550px) {

    .alianzas-section {
        padding: 70px 20px;
    }

    .alianzas-grid {
        grid-template-columns: 1fr;
    }

    .alianzas-hero-content h1 {
        font-size: 42px;
    }

    .alianza-card {
        min-height: 240px;
    }

}
/* ========================================
   PÁGINAS LEGALES
======================================== */

.legal-hero {
    min-height: 350px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 80px 25px;

    background: linear-gradient(
        135deg,
        #073b75,
        #0b6091
    );

    text-align: center;
    color: white;
}


.legal-hero-content {
    max-width: 850px;
}


.legal-hero-content > span {
    display: block;

    color: #ff7900;

    font-size: 13px;
    font-weight: 800;

    letter-spacing: 3px;

    margin-bottom: 15px;
}


.legal-hero-content h1 {
    font-size: 48px;

    margin-bottom: 18px;
}


.legal-hero-content p {
    max-width: 650px;

    margin: 0 auto;

    font-size: 18px;
    line-height: 1.6;

    color: rgba(255,255,255,0.9);
}


/* DOCUMENTO */

.legal-section {
    padding: 80px 25px;

    background: #f7fafd;
}


.legal-document {
    max-width: 1000px;

    margin: 0 auto;

    padding: 55px 65px;

    background: white;

    border-radius: 16px;

    box-shadow: 0 8px 30px rgba(0,0,0,0.07);
}


.legal-update {
    color: #888;

    font-size: 14px;

    margin-bottom: 35px;
}


.legal-document h2 {
    color: #073b75;

    font-size: 24px;

    margin-top: 45px;
    margin-bottom: 16px;
}


.legal-document p {
    color: #4f5964;

    font-size: 16px;
    line-height: 1.85;

    margin-bottom: 17px;
}


.legal-document a {
    color: #073b75;

    font-weight: 700;

    text-decoration: none;
}


.legal-document a:hover {
    text-decoration: underline;
}


/* AVISO IMPORTANTE */

.legal-important {
    margin: 35px 0;

    padding: 25px 28px;

    background: #fff6ed;

    border-left: 5px solid #ff7900;

    border-radius: 8px;

    color: #4f5964;

    font-size: 16px;
    line-height: 1.75;
}


/* INFORMACIÓN EMPRESARIAL */

.legal-company {
    margin-top: 55px;

    padding: 30px;

    background: #f3f7fb;

    border-radius: 12px;
}


.legal-company h2 {
    margin-top: 0;
}


/* CELULAR */

@media (max-width: 700px) {

    .legal-hero {
        min-height: 300px;

        padding: 60px 20px;
    }


    .legal-hero-content h1 {
        font-size: 36px;
    }


    .legal-hero-content p {
        font-size: 16px;
    }


    .legal-section {
        padding: 45px 15px;
    }


    .legal-document {
        padding: 30px 22px;
    }


    .legal-document h2 {
        font-size: 21px;

        margin-top: 35px;
    }


    .legal-document p,
    .legal-important {
        font-size: 15px;
    }

}
/* ========================================
   ESNNA
======================================== */

.esnna-hero {
    min-height: 380px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 80px 25px;

    background: linear-gradient(
        135deg,
        #073b75,
        #0b6091
    );

    color: white;

    text-align: center;
}


.esnna-hero-content {
    max-width: 850px;
}


.esnna-hero-content > span {
    display: block;

    color: #ff7900;

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

    letter-spacing: 4px;

    margin-bottom: 18px;
}


.esnna-hero-content h1 {
    font-size: 52px;

    margin-bottom: 20px;
}


.esnna-hero-content p {
    max-width: 700px;

    margin: 0 auto;

    font-size: 18px;
    line-height: 1.7;

    color: rgba(255,255,255,0.92);
}


/* CONTENIDO */

.esnna-section {
    padding: 90px 25px;

    background: #f7fafd;
}


.esnna-wrapper {
    max-width: 1100px;

    margin: 0 auto;
}


/* TÍTULOS */

.esnna-titulo {
    max-width: 760px;

    margin: 0 auto 45px;

    text-align: center;
}


.esnna-titulo > span,
.esnna-etiqueta {
    display: block;

    color: #ff7900;

    font-size: 13px;
    font-weight: 800;

    letter-spacing: 3px;

    margin-bottom: 12px;
}


.esnna-titulo h2,
.esnna-bloque h2,
.esnna-denuncia h2,
.esnna-marco h2 {
    color: #073b75;

    font-size: 34px;

    margin-bottom: 17px;
}


.esnna-titulo p,
.esnna-bloque p,
.esnna-denuncia p,
.esnna-marco p {
    color: #58636f;

    font-size: 16px;

    line-height: 1.8;
}


/* AFICHE */

.esnna-afiche-section {
    margin-bottom: 80px;
}


.esnna-afiche {
    max-width: 780px;

    margin: 0 auto;

    padding: 20px;

    background: white;

    border-radius: 18px;

    box-shadow: 0 10px 35px rgba(0,0,0,0.10);
}


.esnna-afiche img {
    width: 100%;

    height: auto;

    display: block;

    border-radius: 10px;
}


/* BLOQUES */

.esnna-bloque,
.esnna-marco {
    margin: 55px 0;

    padding: 45px;

    background: white;

    border-radius: 16px;

    box-shadow: 0 8px 28px rgba(0,0,0,0.06);
}


/* PRINCIPIOS */

.esnna-principios {
    margin: 60px 0;

    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 22px;
}


.esnna-card {
    padding: 30px 22px;

    background: white;

    border-radius: 14px;

    text-align: center;

    box-shadow: 0 8px 25px rgba(0,0,0,0.07);
}


.esnna-icono {
    width: 65px;
    height: 65px;

    margin: 0 auto 18px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #073b75;

    font-size: 28px;
}


.esnna-card h3 {
    color: #073b75;

    margin-bottom: 10px;
}


.esnna-card p {
    color: #666;

    font-size: 14px;

    line-height: 1.6;
}


/* LISTA CONDUCTA */

.esnna-conducta ul {
    margin-top: 25px;

    padding-left: 24px;
}


.esnna-conducta li {
    color: #58636f;

    line-height: 1.8;

    margin-bottom: 13px;
}


/* DENUNCIA */

.esnna-denuncia {
    margin: 60px 0;

    padding: 45px;

    background: #073b75;

    border-radius: 16px;

    color: white;
}


.esnna-denuncia h2 {
    color: white;
}


.esnna-denuncia p {
    color: rgba(255,255,255,0.88);
}


/* NORMAS */

.esnna-normas {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 20px;

    margin-top: 30px;
}


.esnna-norma {
    padding: 24px;

    background: #f4f8fc;

    border-radius: 10px;

    border-left: 4px solid #ff7900;
}


.esnna-norma strong {
    color: #073b75;

    display: block;

    margin-bottom: 8px;
}


.esnna-norma p {
    font-size: 14px;

    margin: 0;
}


.esnna-nota {
    margin-top: 30px;

    padding: 20px;

    background: #fff6ed;

    border-radius: 8px;

    border-left: 4px solid #ff7900;

    font-size: 14px !important;
}


/* RESPONSIVE */

@media (max-width: 900px) {

    .esnna-principios {
        grid-template-columns: repeat(2, 1fr);
    }

    .esnna-normas {
        grid-template-columns: 1fr;
    }

}


@media (max-width: 600px) {

    .esnna-hero {
        min-height: 320px;

        padding: 60px 20px;
    }

    .esnna-hero-content h1 {
        font-size: 36px;
    }

    .esnna-section {
        padding: 60px 15px;
    }

    .esnna-principios {
        grid-template-columns: 1fr;
    }

    .esnna-bloque,
    .esnna-marco,
    .esnna-denuncia {
        padding: 28px 22px;
    }

    .esnna-titulo h2,
    .esnna-bloque h2,
    .esnna-denuncia h2,
    .esnna-marco h2 {
        font-size: 27px;
    }

}
/* ========================================
   PÁGINAS LEGALES
======================================== */

.legal-page {
    background: #f6f9fc;
    min-height: 100vh;
}

.legal-hero {
    background: linear-gradient(135deg, #073b75, #0b6091);
    color: white;
    text-align: center;
    padding: 85px 25px;
}

.legal-hero > span {
    display: block;
    color: #ff7900;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 4px;
    margin-bottom: 15px;
}

.legal-hero h1 {
    font-size: 48px;
    margin: 0 0 18px;
}

.legal-hero p {
    max-width: 650px;
    margin: auto;
    font-size: 18px;
    line-height: 1.6;
}

.legal-content {
    padding: 70px 20px;
}

.legal-document {
    max-width: 950px;
    margin: auto;
    padding: 55px 65px;
    background: white;
    border-radius: 18px;
    box-shadow: 0 8px 30px rgba(0,0,0,0.06);
}

.legal-update {
    color: #777;
    font-size: 14px;
    margin-bottom: 35px;
}

.legal-document h2 {
    color: #073b75;
    font-size: 24px;
    margin-top: 45px;
    margin-bottom: 15px;
}

.legal-document p,
.legal-document li {
    color: #555;
    line-height: 1.8;
    font-size: 16px;
}

.legal-document ul {
    padding-left: 25px;
    margin: 20px 0;
}

.legal-document li {
    margin-bottom: 10px;
}

.legal-info-box,
.legal-contact-box {
    background: #f3f7fb;
    border-left: 4px solid #ff7900;
    padding: 20px 25px;
    margin: 25px 0;
    border-radius: 8px;
}

.legal-contact-box {
    color: #073b75;
    font-size: 18px;
}

.legal-company {
    margin-top: 55px;
    padding: 30px;
    background: #f3f7fb;
    border-radius: 12px;
}

.legal-company h2 {
    margin-top: 0;
}


/* MÓVIL */

@media (max-width: 600px) {

    .legal-hero {
        padding: 60px 20px;
    }

    .legal-hero h1 {
        font-size: 34px;
    }

    .legal-content {
        padding: 35px 15px;
    }

    .legal-document {
        padding: 30px 22px;
    }

    .legal-document h2 {
        font-size: 21px;
    }

}
/* ========================================
   CORRECCIÓN PORTADA PRIVACIDAD
======================================== */

.legal-hero {
    min-height: 360px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    text-align: center;

    padding: 80px 25px;

    background: linear-gradient(
        135deg,
        #073b75,
        #0b6091
    );

    color: white;
}


.legal-hero > span {
    display: block;

    color: #ff7900;

    font-size: 13px;
    font-weight: 800;

    letter-spacing: 4px;

    margin-bottom: 16px;
}


.legal-hero h1 {
    margin: 0 0 18px;

    color: white;

    font-size: 50px;
    line-height: 1.15;

    text-align: center;
}


.legal-hero p {
    max-width: 700px;

    margin: 0 auto;

    color: rgba(255,255,255,0.92);

    font-size: 18px;
    line-height: 1.6;

    text-align: center;
}
/* ========================================
   LIBRO DE RECLAMACIONES
======================================== */

.reclamos-section {
    padding: 80px 20px;
    background: #f6f9fc;
}

.reclamos-container {
    max-width: 1050px;
    margin: 0 auto;
}

.reclamos-empresa,
.reclamos-form,
.reclamo-resultado {
    background: white;

    padding: 40px;

    border-radius: 16px;

    box-shadow:
        0 8px 30px rgba(0,0,0,0.07);

    margin-bottom: 35px;
}

.reclamos-empresa h2,
.reclamos-form h2,
.reclamo-resultado h2 {
    color: #073b75;

    margin-bottom: 20px;
}

.reclamos-aviso {
    margin-top: 25px;

    padding: 20px;

    background: #fff6ed;

    border-left: 4px solid #ff7900;

    border-radius: 8px;

    line-height: 1.6;
}


/* FORMULARIO */

.reclamos-subtitulo {
    color: #073b75;

    margin: 40px 0 20px;

    padding-bottom: 10px;

    border-bottom: 1px solid #e4e9ef;
}

.reclamos-grid {
    display: grid;

    grid-template-columns:
        repeat(2, 1fr);

    gap: 20px;
}

.reclamos-field {
    display: flex;
    flex-direction: column;
}

.reclamos-field.full {
    margin-bottom: 20px;
}

.reclamos-field label {
    color: #073b75;

    font-weight: 700;

    margin-bottom: 8px;
}

.reclamos-field input,
.reclamos-field select,
.reclamos-field textarea {
    width: 100%;

    padding: 13px 15px;

    border:
        1px solid #d8e0e8;

    border-radius: 8px;

    font-size: 15px;

    font-family: inherit;

    background: white;
}

.reclamos-field textarea {
    resize: vertical;
}

.reclamos-field input:focus,
.reclamos-field select:focus,
.reclamos-field textarea:focus {
    outline: none;

    border-color: #073b75;

    box-shadow:
        0 0 0 3px rgba(7,59,117,0.08);
}

.reclamos-field small {
    color: #777;

    margin-top: 7px;

    line-height: 1.4;
}


/* CHECK */

.reclamos-check {
    display: flex;

    gap: 12px;

    align-items: flex-start;

    margin: 30px 0;

    color: #555;

    line-height: 1.5;
}

.reclamos-check input {
    margin-top: 5px;
}


/* BOTÓN */

.btn-reclamo {
    width: 100%;

    padding: 16px 20px;

    border: none;

    border-radius: 8px;

    background: #ff7900;

    color: white;

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

    cursor: pointer;

    transition: 0.25s;
}

.btn-reclamo:hover {
    background: #e86e00;
}

.btn-reclamo:disabled {
    opacity: 0.65;

    cursor: not-allowed;
}

.reclamo-estado {
    text-align: center;

    margin-top: 15px;

    color: #666;
}


/* RESULTADO */

.reclamo-resultado {
    text-align: center;

    padding: 55px 40px;
}

.resultado-check {
    width: 75px;
    height: 75px;

    margin: 0 auto 20px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #18b66b;

    color: white;

    font-size: 40px;
    font-weight: bold;
}

#reclamo-codigo {
    display: inline-block;

    margin: 12px 0 25px;

    padding: 13px 22px;

    background: #f3f7fb;

    color: #073b75;

    border-radius: 8px;

    font-size: 22px;
}


/* BOTONES RESULTADO */

.resultado-acciones {
    display: flex;

    justify-content: center;

    gap: 15px;

    flex-wrap: wrap;

    margin-top: 30px;
}

.btn-secundario,
.btn-whatsapp-reclamo {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    padding: 14px 22px;

    border-radius: 8px;

    font-weight: 700;

    text-decoration: none;

    cursor: pointer;
}

.btn-secundario {
    border:
        2px solid #073b75;

    background: white;

    color: #073b75;
}

.btn-whatsapp-reclamo {
    border: none;

    background: #25D366;

    color: white;
}


/* CELULAR */

@media (max-width: 700px) {

    .reclamos-section {
        padding: 45px 15px;
    }

    .reclamos-empresa,
    .reclamos-form,
    .reclamo-resultado {
        padding: 28px 20px;
    }

    .reclamos-grid {
        grid-template-columns: 1fr;
    }

    .resultado-acciones {
        flex-direction: column;
    }

    .btn-secundario,
    .btn-whatsapp-reclamo {
        width: 100%;
    }

}
/* =====================================
   SERVICIOS
===================================== */

.servicios-hero {
    min-height: 480px;

    display: flex;
    align-items: center;
    justify-content: center;

    text-align: center;

    padding: 80px 20px;

    background:
        linear-gradient(
            rgba(0, 48, 100, 0.83),
            rgba(0, 48, 100, 0.83)
        ),
        url("../imagenes/paquetes-portada.jpg");

    background-size: cover;
    background-position: center;

    color: white;
}

.servicios-hero-content {
    max-width: 800px;
}

.servicios-hero span,
.servicios-header span,
.servicio-card-content > span {
    color: #ff7900;

    font-weight: 800;

    letter-spacing: 3px;

    font-size: 13px;
}

.servicios-hero h1 {
    font-size: 64px;

    margin: 15px 0;
}

.servicios-hero p {
    font-size: 19px;

    line-height: 1.6;

    margin-bottom: 30px;
}


.servicios-section {
    background: #f5f8fc;

    padding: 90px 30px;
}

.servicios-header {
    text-align: center;

    max-width: 750px;

    margin: 0 auto 55px;
}

.servicios-header h2 {
    color: #073b75;

    font-size: 38px;

    margin: 10px 0;
}

.servicios-header p {
    color: #666;

    line-height: 1.6;
}


.servicios-grid {
    max-width: 1250px;

    margin: 0 auto;

    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap: 28px;
}


.servicio-card {
    border: 2px solid #ff7900;
    
    background: white;

    border-radius: 16px;

    overflow: hidden;

    box-shadow:
        0 8px 25px rgba(0,0,0,0.08);

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}
.servicio-card {
    background: #ffffff;
    border: 2px solid #ff7900;
    border-radius: 22px;
    overflow: hidden;

    box-shadow: 0 10px 30px rgba(0, 61, 125, 0.10);

    transition: transform 0.3s ease,
                box-shadow 0.3s ease,
                border-color 0.3s ease;
}
.servicio-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 18px 40px rgba(0, 61, 125, 0.18);
    border-color: #003f7d;
}
.servicio-card:hover {
    transform: translateY(-7px);

    box-shadow:
        0 15px 35px rgba(0,0,0,0.13);
}


.servicio-card img {
    width: 100%;

    height: 320px;

    object-fit: cover;

    object-position: top;
}


.servicio-card-content {
    padding: 25px;
}

.servicio-card-content h3 {
    color: #073b75;

    font-size: 23px;

    margin: 8px 0 12px;
}

.servicio-card-content p {
    color: #666;

    line-height: 1.6;

    min-height: 100px;
}


.btn-servicio {
    display: flex;

    justify-content: center;
    align-items: center;

    margin-top: 20px;

    padding: 14px 20px;

    background: #073b75;

    color: white;

    border-radius: 7px;

    text-decoration: none;

    font-weight: 700;

    transition: 0.25s;
}

.btn-servicio:hover {
    background: #ff7900;
}


/* TABLET */

@media (max-width: 1000px) {

    .servicios-grid {
        grid-template-columns:
            repeat(2, 1fr);
    }

}


/* CELULAR */

@media (max-width: 650px) {

    .servicios-hero h1 {
        font-size: 43px;
    }

    .servicios-grid {
        grid-template-columns: 1fr;
    }

    .servicio-card img {
        height: 280px;
    }

}
/* =========================================
   DETALLES DE SERVICIOS
========================================= */

.servicio-detalles {
    list-style: none;
    padding: 0;
    margin: 25px 0 30px;
}

.servicio-detalles li {
    position: relative;
    padding: 14px 5px 14px 25px;
    border-bottom: 1px solid #e5e7eb;

    color: #666;
    font-size: 16px;
    line-height: 1.5;
}

.servicio-detalles li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 14px;

    color: #777;
    font-weight: bold;
}

.servicio-detalles li:last-child {
    border-bottom: none;
}
/* =========================================
   SERVICIOS - DISEÑO PREMIUM
========================================= */

.servicios-hero {
    min-height: 520px;

    display: flex;
    align-items: center;

    padding: 80px 7%;

    position: relative;

    background:
        linear-gradient(
            90deg,
            rgba(0, 25, 60, 0.82) 0%,
            rgba(0, 37, 80, 0.60) 45%,
            rgba(0, 30, 70, 0.25) 100%
        ),
        url("../imagenes/servicios-portada.jpg");

    background-size: cover;
    background-position: center;

    color: white;
}

.servicios-hero-content {
    max-width: 650px;
}

.servicios-kicker,
.servicios-hero-content > span {
    display: inline-block;

    padding: 6px 12px;

    background: #ff7900;

    color: white;

    border-radius: 4px;

    font-size: 13px;
    font-weight: 800;

    letter-spacing: 2px;
}

.servicios-hero h1 {
    font-size: clamp(48px, 6vw, 78px);

    line-height: 1;

    margin: 18px 0;
}

.servicios-hero p {
    max-width: 560px;

    font-size: 19px;

    line-height: 1.7;

    margin-bottom: 30px;
}

.servicios-hero p strong {
    color: #ff7900;
}


/* SECCIÓN */

.servicios-section {
    padding: 80px 30px;

    background:
        radial-gradient(
            circle at top,
            #ffffff 0%,
            #f5f8fc 60%,
            #eef3f8 100%
        );
}

.servicios-header {
    max-width: 800px;

    margin: 0 auto 50px;

    text-align: center;
}

.servicios-header > span {
    color: #ff7900;

    font-size: 13px;

    font-weight: 800;

    letter-spacing: 2px;
}

.servicios-header h2 {
    margin: 10px 0;

    color: #073b75;

    font-size: 38px;
}

.servicios-header p {
    color: #666;

    line-height: 1.6;
}


/* GRID */

.servicios-grid {
    max-width: 1280px;

    margin: 0 auto;

    display: grid;

    grid-template-columns:
        repeat(6, 1fr);

    gap: 24px;
}


/* PRIMERA FILA: 3 */

.servicio-card:nth-child(1),
.servicio-card:nth-child(2),
.servicio-card:nth-child(3) {
    grid-column: span 2;
}


/* SEGUNDA FILA: 2 CENTRADAS */

.servicio-card:nth-child(4) {
    grid-column: 2 / span 2;
}

.servicio-card:nth-child(5) {
    grid-column: 4 / span 2;
}


/* TARJETA */

.servicio-card {
    overflow: hidden;

    position: relative;

    background: white;

    border-radius: 18px;

    box-shadow:
        0 10px 30px rgba(7, 59, 117, 0.09);

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}

.servicio-card:hover {
    transform: translateY(-9px);

    box-shadow:
        0 20px 45px rgba(7, 59, 117, 0.16);
}


/* IMAGEN */

.servicio-imagen {
    height: 270px;

    position: relative;

    overflow: visible;
}

.servicio-imagen img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    display: block;
}

.servicio-card:hover .servicio-imagen img {
    transform: scale(1.04);
}

.servicio-imagen img {
    transition: transform 0.45s ease;
}


/* ICONO REDONDO */

.servicio-icono {
    position: absolute;

    left: 22px;
    bottom: -26px;

    width: 58px;
    height: 58px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #ff7900;

    border: 4px solid white;

    color: white;

    font-size: 25px;

    box-shadow:
        0 5px 16px rgba(0,0,0,0.15);

    z-index: 3;
}


/* CONTENIDO */

.servicio-card-content {
    padding: 42px 25px 25px;
}

.servicio-card-content > span {
    display: block;

    margin-bottom: 6px;

    color: #ff7900;

    font-size: 12px;
    font-weight: 800;

    letter-spacing: 1.5px;
}

.servicio-card-content h3 {
    min-height: 56px;

    margin: 0 0 14px;

    color: #073b75;

    font-size: 22px;

    line-height: 1.25;
}


/* DETALLES */

.servicio-detalles {
    list-style: none;

    padding: 0;

    margin: 20px 0 25px;
}

.servicio-detalles li {
    position: relative;

    padding: 10px 5px 10px 23px;

    border-bottom:
        1px solid #e7ebef;

    color: #5d6268;

    font-size: 14px;

    line-height: 1.4;
}

.servicio-detalles li::before {
    content: "✓";

    position: absolute;

    left: 2px;

    color: #ff7900;

    font-weight: 900;
}

.servicio-detalles li:last-child {
    border-bottom: none;
}


/* BOTÓN */

.btn-servicio {
    width: 100%;

    min-height: 46px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 12px 18px;

    border-radius: 7px;

    background: #073b75;

    color: white;

    text-decoration: none;

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

    transition:
        background 0.25s ease,
        transform 0.25s ease;
}

.btn-servicio:hover {
    background: #ff7900;

    transform: translateY(-2px);
}


/* =========================================
   BENEFICIOS
========================================= */

.servicios-beneficios {
    max-width: 1280px;

    margin: 70px auto 0;

    padding: 30px 35px;

    border-radius: 18px;

    background:
        linear-gradient(
            135deg,
            #073b75,
            #002b59
        );

    color: white;

    box-shadow:
        0 15px 40px rgba(7,59,117,0.20);
}

.servicios-beneficios h2 {
    margin: 0 0 30px;

    text-align: center;

    font-size: 27px;
}

.servicios-beneficios h2 span {
    color: #ff7900;
}

.beneficios-grid {
    display: grid;

    grid-template-columns:
        repeat(6, 1fr);

    gap: 20px;
}

.beneficio-item {
    padding: 0 15px;

    text-align: center;

    border-right:
        1px solid rgba(255,255,255,0.16);
}

.beneficio-item:last-child {
    border-right: none;
}

.beneficio-icono {
    width: 55px;
    height: 55px;

    margin: 0 auto 12px;

    display: flex;
    align-items: center;
    justify-content: center;

    border:
        2px solid #ff7900;

    border-radius: 50%;

    color: #ff7900;

    font-size: 24px;
}

.beneficio-item h3 {
    margin: 0 0 7px;

    font-size: 15px;
}

.beneficio-item p {
    margin: 0;

    color: rgba(255,255,255,0.75);

    font-size: 12px;

    line-height: 1.5;
}


/* TABLET */

@media (max-width: 1000px) {

    .servicios-grid {
        grid-template-columns:
            repeat(2, 1fr);
    }

    .servicio-card:nth-child(n) {
        grid-column: auto;
    }

    .beneficios-grid {
        grid-template-columns:
            repeat(3, 1fr);

        row-gap: 30px;
    }

    .beneficio-item {
        border-right: none;
    }

}


/* CELULAR */

@media (max-width: 650px) {

    .servicios-hero {
        min-height: 500px;

        padding:
            80px 25px;

        background-position: 60% center;
    }

    .servicios-hero h1 {
        font-size: 50px;
    }

    .servicios-hero p {
        font-size: 16px;
    }

    .servicios-section {
        padding:
            60px 18px;
    }

    .servicios-header h2 {
        font-size: 31px;
    }

    .servicios-grid {
        grid-template-columns: 1fr;
    }

    .servicio-card:nth-child(n) {
        grid-column: auto;
    }

    .servicio-imagen {
        height: 240px;
    }

    .beneficios-grid {
        grid-template-columns:
            repeat(2, 1fr);
    }

    .servicios-beneficios {
        padding:
            30px 15px;
    }

}
/* =========================================================
   NUEVA PÁGINA DE SERVICIOS
========================================================= */

.servicios-nueva-hero {
    min-height: 520px;
    position: relative;

    display: flex;
    align-items: center;

    padding: 80px 7%;

    background:
        url("../imagenes/servicios-portada.jpg")
        center / cover no-repeat;

    overflow: hidden;

    color: white;
}

.servicios-nueva-overlay {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(0, 32, 72, 0.90) 0%,
            rgba(0, 47, 95, 0.68) 50%,
            rgba(0, 32, 72, 0.18) 100%
        );
}

.servicios-nueva-contenido {
    position: relative;
    z-index: 2;

    max-width: 700px;
}

.servicios-nueva-contenido > span {
    color: #ff7900;

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

    letter-spacing: 3px;
}

.servicios-nueva-contenido h1 {
    margin: 15px 0;

    font-size: clamp(55px, 7vw, 86px);

    line-height: 1;
}

.servicios-nueva-contenido p {
    max-width: 620px;

    margin-bottom: 30px;

    font-size: 19px;

    line-height: 1.7;
}



/* =========================================================
   BLOQUES DE SERVICIOS
========================================================= */

.servicio-bloque {
    padding: 95px 30px;

    background: #f6f9fc;
}

.servicio-bloque.servicio-alterno {
    background: #ffffff;
}



/* TÍTULO */

.servicio-titulo {
    max-width: 900px;

    margin: 0 auto 35px;

    text-align: center;
}

.servicio-titulo > span {
    color: #ff7900;

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

    letter-spacing: 2.5px;
}

.servicio-titulo h2 {
    margin: 10px 0;

    color: #073b75;

    font-size: clamp(32px, 4vw, 48px);

    line-height: 1.15;
}

.servicio-titulo p {
    max-width: 700px;

    margin: 0 auto;

    color: #66727e;

    font-size: 17px;

    line-height: 1.6;
}



/* =========================================================
   CUADRO "SERVICIO QUE INCLUYE"
========================================================= */

.servicio-incluye {
    max-width: 1150px;

    margin: 0 auto 45px;

    padding: 28px 32px;

    background: white;

    border: 1px solid #dce5ee;
    border-left: 5px solid #ff7900;

    border-radius: 14px;

    box-shadow:
        0 8px 25px rgba(7, 59, 117, 0.07);
}

.servicio-alterno .servicio-incluye {
    background: #f7f9fc;
}

.servicio-incluye h3 {
    margin: 0 0 20px;

    color: #073b75;

    font-size: 22px;
}

.incluye-grid {
    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap: 13px 30px;
}

.incluye-grid div {
    color: #5d6771;

    font-size: 14px;

    line-height: 1.4;
}



/* =========================================================
   PAQUETES
========================================================= */

.servicio-paquetes {
    max-width: 1200px;

    margin: 0 auto;

    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap: 28px;

    align-items: stretch;
}



/* CARD */

.servicio-paquete {
    position: relative;

    display: flex;
    flex-direction: column;

    min-height: 100%;

    overflow: hidden;

    background: white;

    border: 2px solid #dbe3eb;

    border-radius: 18px;

    box-shadow:
        0 10px 30px rgba(7,59,117,0.08);

    transition:
        transform .3s ease,
        box-shadow .3s ease;
}

.servicio-paquete:hover {
    transform: translateY(-8px);

    box-shadow:
        0 18px 40px rgba(7,59,117,0.15);
}



/* CONTORNO SEGÚN PAQUETE */

.servicio-paquete.basico {
    border-color: #1696a7;
}

.servicio-paquete.premium {
    border-color: #d3195b;
}

.servicio-paquete.tematico {
    border-color: #ff7900;
}



/* CABECERA */

.paquete-top {
    padding: 24px 20px;

    text-align: center;

    background: #073b75;

    color: white;
}

.basico .paquete-top {
    background: #168ea1;
}

.premium .paquete-top {
    background: #c71555;
}

.tematico .paquete-top {
    background: #ef7900;
}

.paquete-top span {
    display: block;

    margin-bottom: 4px;

    font-size: 11px;
    font-weight: 800;

    letter-spacing: 2px;
}

.paquete-top h3 {
    margin: 0;

    font-size: 29px;
}



/* ETIQUETA */

.paquete-etiqueta {
    position: absolute;

    top: 14px;
    right: -38px;

    width: 145px;

    padding: 6px;

    transform: rotate(38deg);

    background: #ffcd00;

    color: #073b75;

    text-align: center;

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

    letter-spacing: 1px;

    z-index: 4;
}



/* PRECIO */

.paquete-precio {
    padding: 22px 20px 15px;

    text-align: center;
}

.paquete-precio strong {
    display: block;

    color: #073b75;

    font-size: 38px;

    line-height: 1;
}

.paquete-precio span {
    display: block;

    margin-top: 7px;

    color: #737d86;

    font-size: 12px;
    font-weight: 700;

    text-transform: uppercase;
}



/* LISTA */

.servicio-paquete ul {
    flex-grow: 1;

    list-style: none;

    margin: 0;

    padding: 5px 25px 20px;
}

.servicio-paquete li {
    position: relative;

    padding: 10px 5px 10px 24px;

    border-bottom:
        1px solid #e7ebef;

    color: #5e6872;

    font-size: 14px;

    line-height: 1.4;
}

.servicio-paquete li::before {
    content: "✓";

    position: absolute;

    left: 2px;

    color: #ff7900;

    font-weight: 900;
}

.servicio-paquete li:last-child {
    border-bottom: none;
}



/* NOTA */

.paquete-nota {
    margin: 0 25px 18px;

    text-align: center;

    color: #66727e;

    font-size: 12px;

    font-weight: 700;

    text-transform: uppercase;
}



/* BOTÓN */

.btn-paquete-servicio {
    display: flex;

    align-items: center;
    justify-content: center;

    min-height: 48px;

    margin: 0 22px 22px;

    padding: 12px;

    background: #073b75;

    color: white;

    border-radius: 7px;

    text-align: center;
    text-decoration: none;

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

    transition:
        background .25s ease,
        transform .25s ease;
}

.btn-paquete-servicio:hover {
    background: #ff7900;

    transform: translateY(-2px);
}



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

@media (max-width: 1000px) {

    .incluye-grid {
        grid-template-columns:
            repeat(2, 1fr);
    }

    .servicio-paquetes {
        grid-template-columns: 1fr;
        max-width: 600px;
    }

}



/* =========================================================
   CELULAR
========================================================= */

@media (max-width: 650px) {

    .servicios-nueva-hero {
        min-height: 500px;

        padding:
            70px 24px;

        background-position:
            65% center;
    }

    .servicios-nueva-contenido p {
        font-size: 16px;
    }

    .servicio-bloque {
        padding:
            65px 18px;
    }

    .servicio-incluye {
        padding:
            23px 20px;
    }

    .incluye-grid {
        grid-template-columns: 1fr;
    }

    .servicio-paquetes {
        gap: 22px;
    }

    .paquete-precio strong {
        font-size: 34px;
    }

}
/* =========================================
   IMÁGENES PRINCIPALES DE CADA SERVICIO
========================================= */

.servicio-banner {
    width: 100%;
    max-width: 1200px;

    height: 430px;

    margin: 0 auto 45px;

    border-radius: 20px;

    overflow: hidden;

    border: 2px solid #ff7900;

    box-shadow:
        0 15px 35px rgba(7, 59, 117, 0.14);
}

.servicio-banner img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    transition:
        transform 0.5s ease;
}

.servicio-banner:hover img {
    transform: scale(1.03);
}


/* TABLET */

@media (max-width: 1000px) {

    .servicio-banner {
        height: 340px;
    }

}


/* CELULAR */

@media (max-width: 650px) {

    .servicio-banner {
        height: 220px;

        margin-bottom: 30px;

        border-radius: 14px;
    }

}.separador-servicio {
    width: 100%;
    height: 8px;

    background:
        linear-gradient(
            90deg,
            #073b75 0%,
            #073b75 42%,
            #ff7900 42%,
            #ff7900 58%,
            #073b75 58%,
            #073b75 100%
        );
}
.servicio-bloque {
    background: #f6f9fc;
}

.servicio-bloque.servicio-alterno {
    background: #ffffff;
}
.servicio-incluye li {
    list-style: none;
    position: relative;
    padding-left: 25px;
}

.servicio-incluye li::before {
    content: "◆";
    position: absolute;
    left: 0;
    color: #ff7900;
    font-weight: 800;
    font-size: 18px;
}
.incluye-grid div {
    position: relative;
    padding-left: 28px;
    color: #5d6771;
    font-size: 14px;
    line-height: 1.5;
}

.incluye-grid div::before {
    content: "◆";

    position: absolute;
    left: 0;
    top: 0;

    color: #ff7900;
    font-size: 17px;
    font-weight: 900;
}
.paquete-cotizar {
    padding: 25px 20px !important;
    min-height: auto !important;
    text-align: center;
}

.paquete-cotizar strong {
    display: block;
    color: #073b73;
    font-size: 26px;
    font-weight: 800;
    text-transform: uppercase;
    line-height: 1.2;
    margin-bottom: 7px;
}

.paquete-cotizar span {
    display: block;
    color: #6b7280;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.5px;
}
/* =========================================================
   SERVICIOS - TARJETAS DE PAQUETES AISLADAS
   NO AFECTA A TOURS/PAQUETES.HTML
========================================================= */


/* CABECERA GENERAL */

.servicio-paquete-top {
    padding: 24px 20px;
    text-align: center;
}

.servicio-paquete-top span {
    display: block;

    margin-bottom: 5px;

    color: #ffffff;

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

    letter-spacing: 2px;
}

.servicio-paquete-top h3 {
    margin: 0;

    color: #073b75;

    font-size: 30px;
    font-weight: 800;
}


/* BÁSICO */

.servicio-paquete.basico .servicio-paquete-top {
    background: #1b93a4;
}


/* PREMIUM */

.servicio-paquete.premium .servicio-paquete-top {
    background: #cf1555;
}


/* TEMÁTICO */

.servicio-paquete.tematico .servicio-paquete-top {
    background: #f47b00;
}


/* =========================================
   CINTA MÁS ELEGIDO / RECOMENDADO
========================================= */

.servicio-paquete-etiqueta {
    position: absolute;

    top: 17px;
    right: -40px;

    width: 155px;

    padding: 7px 5px;

    transform: rotate(39deg);

    background: #ffd400;

    color: #073b75;

    text-align: center;

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

    letter-spacing: 1px;

    z-index: 5;
}


/* =========================================
   ZONA DONDE ANTES IRÍA EL PRECIO
========================================= */

.servicio-paquete-cotizar {
    padding: 24px 20px 20px;

    text-align: center;

    background: #ffffff;
}

.servicio-paquete-cotizar strong {
    display: block;

    color: #073b75;

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

    line-height: 1.2;

    text-transform: uppercase;
}

.servicio-paquete-cotizar span {
    display: block;

    margin-top: 8px;

    color: #6b7280;

    font-size: 11px;
    font-weight: 700;

    letter-spacing: .7px;

    text-transform: uppercase;
}


/* =========================================
   NOTA INFERIOR
========================================= */

.servicio-paquete-nota {
    margin: 0 25px 18px;

    color: #66727e;

    text-align: center;

    font-size: 12px;
    font-weight: 800;

    text-transform: uppercase;
}
/* =====================================================
   CORRECCIÓN EXCLUSIVA - TOURS / PAQUETES
===================================================== */

/* QUITAR LAS CINTAS:
   BÁSICO / MÁS ELEGIDO / PREMIUM / RECOMENDADO */

.paquetes-lista .paquete-etiqueta,

/* Por si las cintas fueron creadas con ::before / ::after */

.paquetes-lista .paquete-card::before,
.paquetes-lista .paquete-card::after {
    display: none !important;
    content: none !important;
}


/* QUITAR EL RECTÁNGULO AZUL GIGANTE */

.paquetes-lista .paquete-top {
    background: transparent !important;

    height: auto !important;
    min-height: 0 !important;

    padding: 0 !important;
    margin: 0 !important;
}


/* NOMBRE DEL PAQUETE */

.paquetes-lista .paquete-top h3 {
    display: block !important;

    color: #073b75 !important;

    font-size: 27px !important;
    font-weight: 800 !important;

    margin: 18px 0 8px !important;
}


/* PRECIO */

.paquetes-lista .paquete-precio {
    display: block !important;

    background: transparent !important;

    height: auto !important;
    min-height: 0 !important;

    padding: 0 !important;
    margin: 0 0 25px !important;

    color: #073b75 !important;

    font-size: 38px !important;
    font-weight: 800 !important;

    line-height: 1.2 !important;
}


/* LISTA */

.paquetes-lista .paquete-incluye {
    margin-top: 0 !important;
}