:root {
    /* Brand palette: only custom brand colors are green and yellow. */
    --mpt-green: #026b39;
    --mpt-green-dark: #026b39;
    --mpt-gold: #ffd715;
    --mpt-gold-dark: #ffd715;
    --mpt-terracotta: #ffd715;
    --mpt-bg: var(--bs-white);
    --mpt-soft: var(--bs-white);
    --mpt-ink: #026b39;
    --mpt-muted: #026b39;
    --mpt-border: #026b39;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
    font-family: var(--mpr-font-body);
    color: var(--mpt-ink);
    background: var(--mpt-bg);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--mpr-font-heading);
    font-weight: 700;
    letter-spacing: 0;
    color: var(--mpt-ink);
}

a { color: var(--mpt-green); text-decoration: none; transition: color .2s ease; }
a:hover { color: var(--mpt-gold); }

.mtfrontage-section-title {
    font-size: clamp(1.8rem, 3vw, 2.6rem);
    font-weight: 800;
    margin-bottom: .5rem;
}
.mtfrontage-section-subtitle {
    color: var(--mpt-muted);
    font-size: 1rem;
    max-width: 720px;
}
.mtfrontage-eyebrow {
    letter-spacing: .25em;
    font-size: .75rem;
    font-weight: 600;
    color: var(--mpt-gold-dark);
    text-transform: uppercase;
}
.mtfrontage-eyebrow-light,
.mtfrontage-check-icon {
    color: var(--mpt-gold) !important;
}

/* ---------- TOP BAR ---------- */
.mtfrontage-topbar {
    background: var(--mpt-green-dark);
    color: var(--mpt-gold);
    font-size: .82rem;
    padding: .55rem 0;
}
.mtfrontage-topbar a { color: var(--mpt-gold); }
.mtfrontage-topbar a:hover { color: var(--mpt-gold); }
.mtfrontage-topbar .mtfrontage-divider { opacity: .4; padding: 0 .65rem; }

/* ---------- NAV ---------- */
.mtfrontage-navbar-mpt {
    background: rgba(255,255,255,.96);
    backdrop-filter: blur(8px);
    border-bottom: 1px solid var(--mpt-border);
    padding: .9rem 0;
}
.mtfrontage-navbar-mpt.mtfrontage-scrolled { box-shadow: 0 6px 24px rgba(0,0,0,.06); }
.mtfrontage-brand-mark {
    display: flex; align-items: center; gap: .65rem;
    font-weight: 800; letter-spacing: -.02em; font-size: 1.15rem;
    color: var(--mpt-ink);
}
.mtfrontage-brand-mark .mtfrontage-glyph {
    width: 38px; height: 38px; border-radius: 50%;
    background: var(--mpt-green); color: var(--bs-white);
    display: flex; align-items: center; justify-content: center;
    font-size: 1rem;
}
.mtfrontage-brand-mark .small { font-size: .68rem; letter-spacing: .22em; color: var(--mpt-gold-dark); font-weight: 600; display: block; line-height: 1; margin-bottom: 2px;}
.mtfrontage-nav-link-mpt {
    color: var(--mpt-ink) !important; font-weight: 500;
    padding: .35rem .9rem !important; font-size: .95rem;
}
.mtfrontage-nav-link-mpt:hover { color: var(--mpt-green) !important; }
.mtfrontage-btn-mpt {
    background: var(--mpt-gold); color: var(--bs-white); border: none;
    padding: .6rem 1.2rem; border-radius: 999px; font-weight: 600;
    transition: all .25s ease;
}
.mtfrontage-btn-mpt:hover { background: var(--mpt-gold-dark); color: var(--bs-white); transform: translateY(-1px); }
.mtfrontage-btn-mpt-outline {
    background: transparent; color: var(--mpt-green); border: 1.5px solid var(--mpt-green);
    padding: .55rem 1.2rem; border-radius: 999px; font-weight: 600;
}
.mtfrontage-btn-mpt-outline:hover { background: var(--mpt-green); color: var(--bs-white); }

/* ---------- HERO ---------- */
.mtfrontage-hero {
    position: relative;
    height: 92vh; min-height: 620px;
    display: flex; align-items: center;
    color: var(--bs-white);
    overflow: hidden;
}
.mtfrontage-hero::before {
    content: ""; position: absolute; inset: 0;
    background:
        linear-gradient(180deg, rgba(20,52,36,.30) 0%, rgba(20,52,36,.55) 60%, rgba(20,52,36,.85) 100%),
        url('https://images.unsplash.com/photo-1587595431973-160d0d94add1?auto=format&fit=crop&w=2000&q=80') center/cover no-repeat;
    transform: scale(1.05);
    animation: kenburns 18s ease-out infinite alternate;
}
@keyframes kenburns { from { transform: scale(1.05); } to { transform: scale(1.15); } }
.mtfrontage-hero .container { position: relative; z-index: 2; }
.mtfrontage-hero h1 {
    font-size: clamp(2.4rem, 6vw, 5rem);
    color: var(--bs-white); font-weight: 800;
    line-height: 1.05; letter-spacing: -.03em;
    max-width: 18ch;
}
.mtfrontage-hero h1 em {
    font-style: normal; color: var(--mpt-gold);
}
.mtfrontage-hero p.lead {
    font-size: 1.1rem; max-width: 540px; opacity: .92; margin-top: 1.2rem;
}
.mtfrontage-hero .mtfrontage-hero-cta { margin-top: 2rem; display: flex; gap: .8rem; flex-wrap: wrap; }
.mtfrontage-btn-hero-primary {
    background: var(--mpt-gold); color: var(--bs-white);
    padding: .9rem 1.6rem; border-radius: 999px; font-weight: 600;
    border: none; display: inline-flex; align-items: center; gap: .55rem;
}
.mtfrontage-btn-hero-primary:hover { background: var(--mpt-gold-dark); color: var(--bs-white); }
.mtfrontage-btn-hero-ghost {
    background: rgba(255,255,255,.12); color: var(--bs-white); border: 1.5px solid rgba(255,255,255,.55);
    padding: .9rem 1.6rem; border-radius: 999px; font-weight: 600; backdrop-filter: blur(6px);
    display: inline-flex; align-items: center; gap: .55rem;
}
.mtfrontage-btn-hero-ghost:hover { background: rgba(255,255,255,.22); color: var(--bs-white); }
.mtfrontage-hero .mtfrontage-hero-stats {
    position: absolute !important;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(20, 52, 36, .85);
    backdrop-filter: blur(10px);
    padding: 1.4rem 0;
    color: var(--bs-white) !important;
    border-top: 1px solid rgba(255, 255, 255, .08);
}
.mtfrontage-hero-stats .mtfrontage-stat .mtfrontage-num { font-size: 1.6rem; font-weight: 800; color: var(--mpt-gold); display: block; line-height: 1; }
.mtfrontage-hero-stats .mtfrontage-stat .mtfrontage-lbl { font-size: .8rem; letter-spacing: .15em; text-transform: uppercase; opacity: .8; }

/* ---------- INTRO ---------- */
.mtfrontage-intro { padding: 4rem 0 3.5rem; }
.mtfrontage-intro .mtfrontage-img-wrap {
    position: relative; border-radius: 6px; overflow: hidden;
    box-shadow: 0 30px 60px -20px rgba(20,52,36,.35);
}
.mtfrontage-intro .mtfrontage-img-wrap img { width: 100%; height: 540px; object-fit: cover; display: block; }
.mtfrontage-intro .mtfrontage-img-wrap .mtfrontage-badge-floating {
    position: absolute; bottom: 18px; left: 18px;
    background: var(--bs-white); padding: 1rem 1.2rem; border-radius: 4px;
    display: flex; align-items: center; gap: .8rem; box-shadow: 0 12px 30px rgba(0,0,0,.15);
}
.mtfrontage-intro .mtfrontage-img-wrap .mtfrontage-badge-floating i { color: var(--mpt-gold); font-size: 1.6rem; }
.mtfrontage-intro .mtfrontage-img-wrap .mtfrontage-badge-floating .mtfrontage-t { font-weight: 700; line-height: 1.1; }
.mtfrontage-intro .mtfrontage-img-wrap .mtfrontage-badge-floating .mtfrontage-s { font-size: .8rem; color: var(--mpt-muted); }
.mtfrontage-intro h2 { font-size: clamp(2rem, 3.5vw, 3.2rem); }
.mtfrontage-intro .mtfrontage-sig {
    display: inline-flex; align-items: center; gap: .8rem;
    margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid var(--mpt-border);
}
.mtfrontage-intro .mtfrontage-sig img { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; }
.mtfrontage-intro .mtfrontage-sig .mtfrontage-name { font-weight: 700; }
.mtfrontage-intro .mtfrontage-sig .mtfrontage-role { font-size: .85rem; color: var(--mpt-muted); }

/* ---------- VALUES ---------- */
.mtfrontage-values {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: var(--bs-light);
    padding: 3rem 0;
}
.mtfrontage-values::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    background: url("../images/machupicchureservations.jpg") center center / cover no-repeat;
    opacity: .18;
}
.mtfrontage-values::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: rgba(255, 255, 255, .78);
}
.mtfrontage-values > .container {
    position: relative;
    z-index: 1;
}
.mtfrontage-values .mb-5 { margin-bottom: 1.5rem !important; }
.mtfrontage-value-card {
    background: var(--bs-white); padding: 1.35rem 1.25rem; border-radius: 4px; height: 100%;
    border: 1px solid var(--mpt-border);
    transition: all .35s cubic-bezier(.2,.7,.3,1);
}
.mtfrontage-value-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 32px rgba(0, 0, 0, .08);
    border-color: var(--mpt-gold);
}
.mtfrontage-value-card .mtfrontage-icon {
    width: 46px; height: 46px; border-radius: 50%;
    background: linear-gradient(135deg, var(--mpt-green) 0%, var(--mpt-green-dark) 100%);
    color: var(--bs-white); display: flex; align-items: center; justify-content: center;
    font-size: 1rem; margin-bottom: .85rem;
}
.mtfrontage-value-card:hover .mtfrontage-icon { background: linear-gradient(135deg, var(--mpt-gold) 0%, var(--mpt-gold-dark) 100%); }
.mtfrontage-value-card h4 { font-size: 1.05rem; margin-bottom: .35rem; }
.mtfrontage-value-card p { font-size: .88rem; line-height: 1.5; color: var(--mpt-muted); margin: 0; }

/* ---------- FEATURED TOUR CARDS ---------- */
.mtfrontage-featured-tours { padding: 4rem 0; background: var(--bs-white); }
.mtfrontage-featured-tours .mtfrontage-slider-head { align-items: center; }
.mpt-tour-card {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    overflow: hidden;
    border-radius: 8px;
    background: var(--bs-white);
    box-shadow: 0 14px 35px rgba(0, 0, 0, .08);
    transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
    text-align: left !important;
}
.mpt-tour-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 24px 52px rgba(0, 0, 0, .13);
}
.mpt-tour-card__media {
    position: relative;
    display: block;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: var(--mpt-soft);
}
.mpt-tour-card__media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, .14) 0%, transparent 36%, rgba(0, 0, 0, .82) 100%);
    pointer-events: none;
}
.mpt-tour-card__media img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center center;
    transform: translate3d(0, 0, 0) scale(1.03);
    transform-origin: center center;
    transition: transform 8.5s cubic-bezier(.16, 1, .3, 1), object-position 8.5s ease, filter 1.2s ease;
    will-change: transform, object-position;
}
.mpt-tour-card:hover .mpt-tour-card__media img {
    object-position: 62% center;
    transform: translate3d(-4%, 0, 0) scale(1.2);
    filter: saturate(1.06) contrast(1.02);
}
.mpt-tour-card__tag {
    position: absolute;
    left: 12px;
    top: 12px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    max-width: calc(100% - 24px);
    padding: .42rem .65rem;
    border-radius: 999px;
    background: var(--mpt-green);
    color: var(--bs-white);
    font-size: .7rem;
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
}
.mpt-tour-card__badge {
    position: absolute;
    left: 12px;
    right: 12px;
    bottom: 12px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    max-width: max-content;
    padding: 0;
    background: transparent;
    color: rgba(255, 255, 255, .88);
    font-size: .82rem;
    font-weight: 600;
    line-height: 1.2;
    text-transform: none;
}
.mpt-tour-card__image-title {
    position: absolute;
    left: 12px;
    right: 12px;
    bottom: 12px;
    z-index: 2;
    margin: 0;
    color: var(--bs-white);
    font-size: 1.12rem;
    line-height: 1.2;
    text-wrap: balance;
}
.mpt-tour-card--has-duration .mpt-tour-card__image-title {
    bottom: 36px;
}
.mpt-tour-card__body {
    flex: 1;
    padding: .85rem .95rem .8rem;
}
.mpt-tour-card__trust {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    margin-bottom: .55rem;
}
.mpt-tour-card__tripadvisor-rating {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    color: #111111;
    font-size: .82rem;
    font-weight: 900;
    line-height: 1;
}
.mpt-tour-card__trust small {
    color: #7a7a7a;
    font-size: .72rem;
    font-weight: 800;
}
.mpt-tour-card__tripadvisor-dots {
    display: inline-flex;
    align-items: center;
    gap: .18rem;
}
.mpt-tour-card__tripadvisor-dots span {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #00af87;
}
.mpt-tour-card__category {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    align-self: flex-start;
    margin-bottom: .55rem;
    color: #111111;
    font-size: .78rem;
    font-weight: 800;
    line-height: 1;
    text-transform: uppercase;
}
.mpt-tour-card__text {
    margin: 0;
    color: #484848;
    font-size: .75rem;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.mpt-tour-card__details {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .35rem .6rem;
    margin-top: .65rem;
    padding-top: 0;
}
.mpt-tour-card__detail {
    display: grid;
    grid-template-columns: 18px 1fr;
    column-gap: .5rem;
    align-items: center;
    min-width: 0;
    padding: .38rem 0;
    border-bottom: 1px solid #eeeeee;
    background: transparent;
    transition: border-color .25s ease;
}
.mpt-tour-card__detail:hover {
    border-color: #d4d4d4;
}
.mpt-tour-card__detail i {
    grid-row: span 2;
    width: 18px;
    color: #111111;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: .82rem;
}
.mpt-tour-card__detail span {
    color: #8a8a8a;
    font-size: .62rem;
    font-weight: 800;
    line-height: 1.1;
    text-transform: uppercase;
}
.mpt-tour-card__detail strong {
    min-width: 0;
    color: #111111;
    font-size: .8rem;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.mpt-tour-card__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .65rem;
    margin: 0 .95rem .95rem;
    padding: .65rem .75rem;
    border: 0;
    border-radius: 8px;
    background: #f7f7f7 !important;
}
.mpt-tour-card__price span,
.mpt-tour-card__price small {
    display: block;
    color: var(--mpt-muted);
    font-size: .72rem;
    font-weight: 700;
    line-height: 1.2;
    text-transform: uppercase;
}
.mpt-tour-card__price small.mpt-tour-card__price-condition {
    display: inline-flex !important;
    align-items: center;
    gap: 4px;
    color: #026b39 !important;
    font-size: .74rem !important;
    font-weight: 700 !important;
    text-transform: none !important;
    line-height: 1.25 !important;
    margin-top: 2px;
}
.mpt-tour-card__price small.mpt-tour-card__price-condition i {
    font-size: .7rem;
    color: #026b39;
    flex-shrink: 0;
}
.mpt-tour-card__price strong {
    display: block;
    color: #111111;
    font-size: 1.18rem;
    line-height: 1.25;
}
.mpt-tour-card__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .38rem;
    min-width: 138px;
    min-height: 38px;
    padding: .58rem 1rem;
    border-radius: 999px;
    background: var(--mpt-green);
    border-color: var(--mpt-green);
    color: var(--bs-white) !important;
    font-size: .8rem;
    font-weight: 800;
    white-space: nowrap;
    transition: transform .25s ease, background .25s ease, color .25s ease;
}
.mpt-tour-card__cta:hover {
    background: var(--mpt-green);
    border-color: var(--mpt-green);
    color: var(--mpt-gold);
    transform: translateY(-2px);
}
.mpt-tour-card__cta i {
    transition: transform .25s ease;
}
.mpt-tour-card__cta:hover i {
    transform: translateX(5px);
}

/* ---------- TRAIL PROMO CARDS ---------- */
.mtfrontage-trail-promos {
    padding: 0 0 4rem;
    background: var(--bs-white);
}
.mtfrontage-trail-card {
    position: relative;
    min-height: 380px;
    overflow: hidden;
    border-radius: 8px;
    background: #111111;
    display: flex;
    align-items: flex-end;
    box-shadow: 0 18px 42px rgba(0, 0, 0, .1);
}
.mtfrontage-trail-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(0, 0, 0, .78) 0%, rgba(0, 0, 0, .45) 48%, rgba(0, 0, 0, .18) 100%);
    z-index: 1;
    transition: opacity .65s ease;
}
.mtfrontage-trail-card img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.02);
    transition: transform 7s cubic-bezier(.16, 1, .3, 1), filter .8s ease;
}
.mtfrontage-trail-card:hover img {
    transform: scale(1.14) translateX(-3%);
    filter: saturate(1.06) contrast(1.03);
}
.mtfrontage-trail-card:hover::after {
    opacity: .92;
}
.mtfrontage-trail-card__content {
    position: relative;
    z-index: 2;
    max-width: 470px;
    padding: 2rem;
    color: var(--bs-white);
}
.mtfrontage-trail-card__pill {
    display: inline-flex;
    align-items: center;
    margin-bottom: 1.15rem;
    padding: .5rem .85rem;
    border-radius: 999px;
    background: var(--mpt-gold);
    color: var(--mpt-green);
    font-size: .78rem;
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
}
.mtfrontage-trail-card h3 {
    max-width: 390px;
    margin: 0 0 .85rem;
    color: var(--bs-white);
    font-size: clamp(1.85rem, 3vw, 2.75rem);
    font-weight: 900;
    line-height: 1.1;
}
.mtfrontage-trail-card p {
    max-width: 390px;
    margin: 0 0 1.45rem;
    color: rgba(255, 255, 255, .88);
    font-size: 1rem;
    line-height: 1.55;
}
.mtfrontage-trail-card__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 160px;
    min-height: 46px;
    padding: .78rem 1.25rem;
    border-radius: 999px;
    background: var(--bs-white);
    color: #111111;
    font-size: .92rem;
    font-weight: 900;
    transition: transform .25s ease, background .25s ease, color .25s ease;
}
.mtfrontage-trail-card__button:hover {
    background: var(--mpt-gold);
    color: #111111;
    transform: translateY(-2px);
}
@media (max-width: 767.98px) {
    .mtfrontage-trail-promos {
        padding: 0 0 3rem;
    }
    .mtfrontage-trail-card {
        min-height: 420px;
    }
    .mtfrontage-trail-card::after {
        background: linear-gradient(180deg, rgba(0, 0, 0, .22) 0%, rgba(0, 0, 0, .86) 100%);
    }
    .mtfrontage-trail-card__content {
        padding: 1.4rem;
    }
}

/* ---------- DESTINATION CARDS ---------- */
.mtfrontage-tour-types { padding: 4rem 0; }
.mtfrontage-slider-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 1.5rem; margin-bottom: 1.5rem; flex-wrap: wrap; }
.mtfrontage-slider-nav { display: flex; gap: .6rem; }
.mtfrontage-slider-nav button {
    width: 44px; height: 44px; border-radius: 50%;
    background: var(--bs-white); border: 1.5px solid var(--mpt-border);
    display: flex; align-items: center; justify-content: center;
    color: var(--mpt-ink); transition: all .2s ease;
    cursor: pointer;
}
.mtfrontage-slider-nav button:hover { background: var(--mpt-green); color: var(--bs-white); border-color: var(--mpt-green); }
.mtfrontage-slider-nav button.mtfrontage-is-active { border-color: var(--mpt-green); color: var(--mpt-green); }
.mtfrontage-destination-card {
    position: relative;
    min-height: 380px;
    overflow: hidden;
    border-radius: 8px;
    background: var(--mpt-green);
    box-shadow: 0 14px 35px rgba(0, 0, 0, .08);
    transition: box-shadow .65s ease, transform .65s ease;
}
.mtfrontage-destination-card__media {
    position: absolute;
    inset: 0;
}
.mtfrontage-destination-card__media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 24%, rgba(0,0,0,.82) 100%);
}
.mtfrontage-destination-card__media::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(180deg, rgba(0,0,0,.18) 0%, rgba(0,0,0,.9) 100%);
    opacity: 0;
    transition: opacity 1s ease;
}
.mtfrontage-destination-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 1.05s ease;
}
.mtfrontage-destination-card__content {
    z-index: 2;
    padding: 1.5rem;
    color: var(--bs-white);
    transition: transform .75s ease;
}
.mtfrontage-destination-card__eyebrow {
    display: inline-flex;
    align-self: flex-start;
    margin-bottom: .8rem;
    padding: .35rem .65rem;
    border-radius: 999px;
    background: var(--mpt-gold);
    color: var(--mpt-green);
    font-size: .72rem;
    font-weight: 800;
    line-height: 1;
    text-transform: uppercase;
}
.mtfrontage-destination-card__title {
    margin: 0;
    color: var(--bs-white);
    font-size: 1.45rem;
    line-height: 1.2;
}
.mtfrontage-destination-card__text {
    max-height: 0;
    margin: 0;
    overflow: hidden;
    color: var(--bs-white);
    font-size: .94rem;
    line-height: 1.55;
    opacity: 0;
    transition: max-height .75s ease, margin .75s ease, opacity .75s ease;
}
.mtfrontage-destination-card__link {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    gap: .5rem;
    max-height: 0;
    margin-top: 0;
    overflow: hidden;
    color: var(--mpt-gold);
    font-size: .9rem;
    font-weight: 800;
    opacity: 0;
    transition: max-height .75s ease, margin .75s ease, opacity .75s ease, gap .75s ease;
}
.mtfrontage-destination-card:hover {
    box-shadow: 0 24px 52px rgba(0, 0, 0, .13);
}
.mtfrontage-destination-card:hover .mtfrontage-destination-card__media img {
    transform: scale(1.08);
}
.mtfrontage-destination-card:hover .mtfrontage-destination-card__media::before {
    opacity: 1;
}
.mtfrontage-destination-card:hover .mtfrontage-destination-card__content {
    transform: translateY(-6px);
}
.mtfrontage-destination-card:hover .mtfrontage-destination-card__text {
    max-height: 96px;
    margin-top: .75rem;
    opacity: 1;
}
.mtfrontage-destination-card:hover .mtfrontage-destination-card__link {
    max-height: 32px;
    margin-top: .9rem;
    opacity: 1;
    gap: .7rem;
}

/* ---------- GALLERY (Fancybox) ---------- */
.mtfrontage-gallery {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 4rem 0;
    background: #050505;
    color: var(--bs-white);
}
.mtfrontage-gallery::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    background: url("../images/machupicchureservations.jpg") center center / cover no-repeat;
    opacity: .36;
    transform: scale(1.04);
}
.mtfrontage-gallery::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(180deg, rgba(0, 0, 0, .78) 0%, rgba(0, 0, 0, .66) 48%, rgba(0, 0, 0, .84) 100%);
}
.mtfrontage-gallery h2 { color: var(--bs-white); }
.mtfrontage-gallery .mtfrontage-eyebrow { color: var(--mpt-gold); }
.mtfrontage-gallery .mtfrontage-section-subtitle { color: rgba(255,255,255,.7); }
.mtfrontage-gallery-swiper {
    width: min(100vw, 1440px);
    margin: 2rem calc(50% - min(50vw, 720px)) 0;
    padding: 0 1rem 3rem;
}
.mtfrontage-gallery-nav {
    position: absolute;
    top: 50%;
    z-index: 5;
    width: 48px;
    height: 48px;
    border: 1px solid var(--mpt-gold);
    border-radius: 50%;
    background: #050505;
    color: var(--mpt-gold);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transform: translateY(-50%);
    transition: transform .3s ease, background .3s ease, color .3s ease;
}
.mtfrontage-gallery-prev { left: 1.75rem; }
.mtfrontage-gallery-next { right: 1.75rem; }
.mtfrontage-gallery-nav:hover {
    background: var(--mpt-gold);
    color: #050505;
}
.mtfrontage-gallery-prev:hover { transform: translate(-4px, -50%); }
.mtfrontage-gallery-next:hover { transform: translate(4px, -50%); }
.mtfrontage-gallery-slide {
    position: relative;
    display: block;
    height: clamp(260px, 34vw, 460px);
    overflow: hidden;
    border-radius: 4px;
    background: #050505;
}
.mtfrontage-gallery-slide img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .75s ease;
}
.mtfrontage-gallery-slide:hover img { transform: scale(1.06); }
.mtfrontage-gallery-slide::after {
    content: "\f067"; font-family: "Font Awesome 7 Free"; font-weight: 900;
    position: absolute; inset: 0;
    background: rgba(0, 0, 0, .58);
    color: var(--bs-white); display: flex; align-items: center; justify-content: center;
    font-size: 1.3rem; opacity: 0; transition: opacity .3s ease;
}
.mtfrontage-gallery-slide:hover::after { opacity: 1; }
.mtfrontage-gallery-pagination .swiper-pagination-bullet {
    background: var(--bs-white);
    opacity: .45;
}
.mtfrontage-gallery-pagination .swiper-pagination-bullet-active {
    background: var(--mpt-gold);
    opacity: 1;
}
@media (max-width: 768px) {
    .mtfrontage-gallery-swiper {
        width: 100%;
        margin: 2rem 0 0;
        padding: 0 0 3rem;
    }
    .mtfrontage-gallery-slide {
        height: 300px;
    }
    .mtfrontage-gallery-nav {
        width: 40px;
        height: 40px;
    }
    .mtfrontage-gallery-prev { left: .75rem; }
    .mtfrontage-gallery-next { right: .75rem; }
}

/* ---------- PROMOS (June style) ---------- */
.mtfrontage-promos { padding: 4rem 0; background: #f6f6f6; }
.mtfrontage-promos-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 2rem;
}
.mtfrontage-promos .mtfrontage-section-title span { color: var(--mpt-gold); }
.mtfrontage-promos .mtfrontage-section-subtitle { margin: 0; }
.mtfrontage-promos-nav {
    display: flex;
    align-items: center;
    gap: .65rem;
    flex-shrink: 0;
}
.mtfrontage-promos-nav button {
    width: 46px;
    height: 46px;
    border: 0;
    border-radius: 50%;
    background: #111111;
    color: var(--bs-white);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: transform .25s ease, background .25s ease, color .25s ease;
}
.mtfrontage-promos-nav button:hover {
    background: var(--mpt-gold);
    color: #111111;
    transform: translateY(-2px);
}
@media (max-width: 767.98px) {
    .mtfrontage-promos-head {
        align-items: flex-start;
        flex-direction: column;
        gap: 1.25rem;
    }
}
.mtfrontage-promo-card {
    position: relative; height: 480px; overflow: hidden; border-radius: 4px;
    color: var(--bs-white); cursor: pointer;
}
.mtfrontage-promo-card img {
    width: 100%; height: 100%; object-fit: cover;
    transition: transform .8s ease;
}
.mtfrontage-promo-card:hover img { transform: scale(1.06); }
.mtfrontage-promo-card::after {
    content: ""; position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,.20) 0%, rgba(0,0,0,.40) 50%, rgba(20,52,36,.92) 100%);
}
.mtfrontage-promo-card .mtfrontage-promo-body {
    position: absolute; left: 0; right: 0; bottom: 0; z-index: 2;
    padding: 1.6rem;
}
.mtfrontage-promo-card .mtfrontage-promo-line {
    display: flex; justify-content: space-between; align-items: baseline;
    padding-bottom: .8rem; border-bottom: 1px solid rgba(255,255,255,.35);
    margin-bottom: .9rem;
}
.mtfrontage-promo-card .mtfrontage-duration { font-size: .85rem; letter-spacing: .15em; text-transform: uppercase; opacity: .9; }
.mtfrontage-promo-card .mtfrontage-price { font-size: 1.05rem; }
.mtfrontage-promo-card .mtfrontage-price strong { color: var(--mpt-gold); font-weight: 700; }
.mtfrontage-promo-card h4 {
    color: var(--bs-white); text-transform: uppercase; font-size: 1.05rem;
    letter-spacing: .04em; line-height: 1.35; margin: 0;
}

/* ---------- GRAPHIC TOUR CARDS ---------- */
.mtfrontage-graphic-tour-card {
    position: relative;
    min-height: 520px;
    overflow: hidden;
    border-radius: 8px;
    background: #050505;
    box-shadow: 0 18px 42px rgba(0, 0, 0, .1);
}
.mtfrontage-graphic-tour-card__link {
    position: relative;
    overflow: hidden;
    color: var(--bs-white);
}
.mtfrontage-graphic-tour-card__link::before,
.mtfrontage-graphic-tour-card__link::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
}
.mtfrontage-graphic-tour-card__link::before {
    background: linear-gradient(180deg, rgba(0, 0, 0, .08) 0%, rgba(0, 0, 0, .38) 45%, rgba(0, 0, 0, .86) 100%);
}
.mtfrontage-graphic-tour-card__link::after {
    background: radial-gradient(circle at 50% 40%, rgba(255, 215, 21, .16), transparent 42%);
    opacity: 0;
    transition: opacity .7s ease;
}
.mtfrontage-graphic-tour-card img {
    width: 100%;
    height: 100%;
    min-height: 520px;
    display: block;
    object-fit: cover;
    transform: scale(1.03);
    transition: transform 7s cubic-bezier(.16, 1, .3, 1), filter .8s ease;
}
.mtfrontage-graphic-tour-card:hover img {
    transform: scale(1.16) translateX(-3%);
    filter: saturate(1.08) contrast(1.04);
}
.mtfrontage-graphic-tour-card:hover .mtfrontage-graphic-tour-card__link::after {
    opacity: 1;
}
.mtfrontage-graphic-tour-card__pill {
    position: absolute;
    top: 1.4rem;
    left: 1.4rem;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    max-width: calc(100% - 2.8rem);
    padding: .48rem .85rem;
    border-radius: 999px;
    background: var(--bs-white);
    color: var(--mpt-green);
    font-size: .72rem;
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
    transition: transform .35s ease, background .35s ease, color .35s ease;
}
.mtfrontage-graphic-tour-card:hover .mtfrontage-graphic-tour-card__pill {
    background: var(--mpt-gold);
    color: #050505;
    transform: translateY(-2px);
}
.mtfrontage-graphic-tour-card__content {
    z-index: 2;
    padding: 1.6rem;
    color: var(--bs-white);
    transform: translateY(0);
    transition: transform .55s cubic-bezier(.2, .7, .2, 1);
}
.mtfrontage-graphic-tour-card:hover .mtfrontage-graphic-tour-card__content {
    transform: translateY(-.35rem);
}
.mtfrontage-graphic-tour-card__route {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    max-width: 100%;
    margin-bottom: .45rem;
    color: rgba(255, 255, 255, .84);
    font-size: .78rem;
    line-height: 1.25;
}
.mtfrontage-graphic-tour-card__route i {
    color: var(--mpt-gold);
}
.mtfrontage-graphic-tour-card h3 {
    margin: 0 0 .7rem;
    color: var(--bs-white);
    font-size: clamp(1.3rem, 2vw, 1.65rem);
    font-weight: 900;
    line-height: 1.15;
    text-wrap: balance;
}
.mtfrontage-graphic-tour-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    padding-top: .75rem;
    border-top: 1px solid rgba(255, 255, 255, .28);
}
.mtfrontage-graphic-tour-card__meta span {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    color: rgba(255, 255, 255, .92);
    font-size: .86rem;
    font-weight: 700;
}
.mtfrontage-graphic-tour-card__meta i {
    color: var(--mpt-gold);
}
.mtfrontage-graphic-tour-card p {
    max-height: 0;
    margin: 0;
    overflow: hidden;
    color: rgba(255, 255, 255, .86);
    font-size: .92rem;
    line-height: 1.55;
    opacity: 0;
    transition: max-height .55s ease, margin .55s ease, opacity .55s ease;
}
.mtfrontage-graphic-tour-card:hover p {
    max-height: 110px;
    margin-top: .9rem;
    opacity: 1;
}
.mtfrontage-graphic-tour-card__bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    max-height: 0;
    margin-top: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height .55s ease, margin .55s ease, opacity .55s ease;
}
.mtfrontage-graphic-tour-card:hover .mtfrontage-graphic-tour-card__bottom {
    max-height: 54px;
    margin-top: 1rem;
    opacity: 1;
}
.mtfrontage-graphic-tour-card__bottom span {
    color: rgba(255, 255, 255, .74);
    font-size: .76rem;
    font-weight: 800;
    text-transform: uppercase;
}
.mtfrontage-graphic-tour-card__bottom strong {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    color: var(--mpt-gold);
    font-size: .88rem;
    font-weight: 900;
    white-space: nowrap;
}
.mtfrontage-graphic-tour-card__bottom i {
    transition: transform .25s ease;
}
.mtfrontage-graphic-tour-card:hover .mtfrontage-graphic-tour-card__bottom i {
    transform: translateX(5px);
}

/* ---------- DEALS (May style) ---------- */
.mtfrontage-deals { padding: 4rem 0; background: var(--mpt-soft); }
.mtfrontage-deals-cta { text-align: center; margin-top: 2.5rem; }
.mtfrontage-btn-deals {
    background: var(--mpt-green); color: var(--bs-white); padding: .9rem 2rem;
    border-radius: 4px; font-weight: 600; border: none;
}
.mtfrontage-btn-deals:hover { background: var(--mpt-green-dark); color: var(--bs-white); }

/* ---------- REVIEWS ---------- */
.mtfrontage-reviews { padding: 4rem 0; background: var(--bs-white); }
.mtfrontage-review-card {
    background: var(--mpt-bg); border: 1px solid var(--mpt-border);
    border-radius: 6px; padding: 2rem; height: 100%;
    display: flex; flex-direction: column;
}
.mtfrontage-review-card .mtfrontage-quote-mark {
    font-size: 2.5rem; color: var(--mpt-gold); line-height: 1; margin-bottom: 1rem;
}
.mtfrontage-review-card .mtfrontage-rev-stars { color: var(--mpt-gold); margin-bottom: .8rem; letter-spacing: 2px; }
.mtfrontage-review-card .mtfrontage-rev-text { font-size: .98rem; color: #666666; flex: 1; line-height: 1.65; }
.mtfrontage-review-card .mtfrontage-rev-author { display: flex; align-items: center; gap: .9rem; margin-top: 1.4rem; padding-top: 1.4rem; border-top: 1px solid #eeeeee; }
.mtfrontage-review-card .mtfrontage-rev-author img { width: 50px; height: 50px; border-radius: 50%; object-fit: cover; }
.mtfrontage-review-card .mtfrontage-rev-author .mtfrontage-n { color: #111111; font-weight: 700; }
.mtfrontage-review-card .mtfrontage-rev-author .mtfrontage-from { font-size: .82rem; color: #777777; }
.mtfrontage-reviews .swiper-pagination-bullet-active { background: #111111; }

/* ---------- FAQ ---------- */
.mtfrontage-faq { padding: 3rem 0; background: #f6f6f6; }
.mtfrontage-faq__container {
    width: min(1080px, calc(100% - 2rem));
    margin: 0 auto;
}
.mtfrontage-faq__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 360px);
    gap: 2rem;
    align-items: stretch;
}
.mtfrontage-faq__content {
    min-width: 0;
}
.mtfrontage-faq__heading {
    max-width: 680px;
    margin: 0 0 1.4rem;
    text-align: left;
}
.mtfrontage-faq__heading .mtfrontage-section-title {
    margin-top: .25rem;
    margin-bottom: .3rem;
    color: #111111;
    font-size: clamp(1.75rem, 3vw, 2.35rem);
}
.mtfrontage-faq-list {
    display: block;
    border-top: 1px solid #e9e9e9;
}
.mtfrontage-faq__image {
    min-height: 100%;
    overflow: hidden;
    border-radius: 8px;
    background: #111111;
}
.mtfrontage-faq__image img {
    width: 100%;
    height: 100%;
    min-height: 100%;
    display: block;
    object-fit: cover;
}
.mtfrontage-faq-item {
    border-bottom: 1px solid #e9e9e9;
    background: transparent;
}
.mtfrontage-faq-question {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    width: 100%;
    padding: .95rem 0;
    border: 0;
    background: transparent;
    color: #111111;
    font-weight: 700;
    font-size: 1rem;
    line-height: 1.4;
    text-align: left;
    cursor: pointer;
}
.mtfrontage-faq-question::after {
    content: "+";
    flex: 0 0 auto;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 1px solid #d8d8d8;
    color: #111111;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1;
    transition: transform .35s ease, background .35s ease, border-color .35s ease, color .35s ease;
}
.mtfrontage-faq-item.mpt-is-open .mtfrontage-faq-question {
    color: #111111;
}
.mtfrontage-faq-item.mpt-is-open .mtfrontage-faq-question::after {
    content: "-";
    background: #111111;
    border-color: #111111;
    color: var(--bs-white);
}
.mtfrontage-faq-question:focus {
    outline: 0;
}
.mtfrontage-faq-question:focus-visible {
    outline: 2px solid var(--mpt-gold);
    outline-offset: 4px;
}
.mtfrontage-faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height .42s ease;
}
.mtfrontage-faq-answer__inner {
    max-width: 720px;
    padding: 0 2.2rem 1rem 0;
    color: #666666;
    font-size: .92rem;
    line-height: 1.6;
}
@media (max-width: 992px) {
    .mtfrontage-faq__layout {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    .mtfrontage-faq__heading {
        text-align: center;
        margin-inline: auto;
    }
    .mtfrontage-faq__image {
        min-height: 320px;
    }
}

/* ---------- BLOG TABS ---------- */
.mtfrontage-blog-section { padding: 4rem 0; text-align: center; background: var(--bs-white); }
.mtfrontage-blog-section .mtfrontage-eyebrow { display: block; margin-bottom: .5rem; }
.mtfrontage-blog-section h2.mtfrontage-title-display {
    font-size: clamp(2.4rem, 5vw, 4rem); font-weight: 800; margin-bottom: 1.35rem;
    letter-spacing: -.03em;
}
.mtfrontage-blog-tabs { display: flex; justify-content: center; flex-wrap: wrap; gap: .6rem; margin-bottom: 1.2rem; }
.mtfrontage-blog-tabs .nav-link {
    background: var(--bs-white); border: 1px solid var(--mpt-border); color: var(--mpt-ink);
    border-radius: 999px; padding: .55rem 1.4rem; font-weight: 500; font-size: .95rem;
}
.mtfrontage-blog-tabs .nav-link.active {
    background: var(--mpt-gold); color: var(--bs-white); border-color: var(--mpt-gold);
}
.mtfrontage-blog-tabs .nav-link:hover:not(.active) { border-color: var(--mpt-ink); }
.mtfrontage-blog-intro {
    max-width: 720px; margin: 0 auto 3rem; color: var(--mpt-muted); font-size: 1rem;
}
.mtfrontage-blog-card {
    position: relative;
    min-height: 420px;
    overflow: hidden;
    border-radius: 8px;
    text-align: left;
    background: var(--mpt-green);
    display: flex;
    align-items: flex-end;
    box-shadow: 0 18px 42px rgba(0, 0, 0, .10);
}
.mtfrontage-blog-card__link {
    position: absolute;
    inset: 0;
    z-index: 4;
}
.mtfrontage-blog-card__media {
    position: absolute;
    inset: 0;
    z-index: 1;
}
.mtfrontage-blog-card__media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, color-mix(in srgb, var(--mpt-green) 8%, transparent) 0%, color-mix(in srgb, var(--mpt-green) 46%, transparent) 44%, color-mix(in srgb, var(--mpt-green) 92%, transparent) 100%);
    transition: opacity .55s ease;
}
.mtfrontage-blog-card__media img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .85s ease, filter .85s ease;
}
.mtfrontage-blog-card__content {
    position: relative;
    z-index: 2;
    width: 100%;
    padding: 1.5rem;
    color: var(--bs-white);
    transform: translateY(.35rem);
    transition: transform .45s ease;
}
.mtfrontage-blog-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    margin-bottom: .8rem;
}
.mtfrontage-blog-card__meta span {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    border-radius: 999px;
    padding: .25rem .7rem;
    background: var(--mpt-gold);
    color: var(--mpt-green);
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .05em;
}
.mtfrontage-blog-card h4 {
    color: var(--bs-white);
    font-size: 1.25rem;
    line-height: 1.3;
    margin-bottom: .65rem;
}
.mtfrontage-blog-card p {
    color: var(--bs-white);
    font-size: .93rem;
    line-height: 1.6;
    margin-bottom: 1rem;
}
.mtfrontage-blog-card__readmore {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    color: var(--mpt-gold);
    font-weight: 800;
    font-size: .9rem;
}
.mtfrontage-blog-card:hover {
    box-shadow: 0 24px 54px rgba(0, 0, 0, .15);
}
.mtfrontage-blog-card:hover .mtfrontage-blog-card__media img {
    transform: scale(1.08);
    filter: saturate(1.08);
}
.mtfrontage-blog-card:hover .mtfrontage-blog-card__media::after {
    opacity: .94;
}
.mtfrontage-blog-card:hover .mtfrontage-blog-card__content {
    transform: translateY(0);
}
.mtfrontage-blog-card:hover .mtfrontage-blog-card__readmore i {
    transform: translateX(4px);
}
.mtfrontage-blog-card__readmore i {
    transition: transform .3s ease;
}
.mtfrontage-btn-blog-cta {
    background: var(--mpt-gold); color: var(--bs-white); padding: .85rem 1.8rem;
    border-radius: 999px; font-weight: 600; display: inline-flex; align-items: center; gap: .55rem;
    margin-top: 2rem;
}
.mtfrontage-btn-blog-cta:hover { background: var(--mpt-gold-dark); color: var(--bs-white); }

/* === Frontpage Traveler Reviews (Tabbed 4-Cards Swiper: TripAdvisor & Google) === */
/* Contenedor de la sección general de reseñas */
.mpt-section-reviews {
    background-color: #ffffff;
}

/* Envoltorio centrado para la barra de pestañas */
.mpt-review-tabs-wrapper {
    display: flex;
    justify-content: center;
}

/* Barra segmentada estilo control lineal con fondo sutil y bordes discretos */
.mpt-review-nav-pills {
    display: inline-flex;
    align-items: center;
    background-color: #f7f7f5;
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    padding: 4px;
    gap: 4px;
}

/* Botón individual de pestaña con dimensiones táctiles cómodas */
.mpt-review-tab-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 8px 20px;
    font-size: 0.92rem;
    font-weight: 600;
    line-height: 1.2;
    color: #171717 !important;
    background-color: transparent !important;
    border: 1px solid transparent !important;
    border-radius: 6px !important;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

/* Estado hover para pestaña inactiva */
.mpt-review-tab-btn:hover {
    background-color: rgba(2, 107, 57, 0.06) !important;
    color: #026b39 !important;
}

/* Estado activo para pestaña seleccionada */
.mpt-review-tab-btn.active {
    background-color: #ffffff !important;
    border-color: #e5e5e5 !important;
    color: #026b39 !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.07);
}

/* Iconos dentro de las pestañas (SVG/PNG de Tripadvisor y Google) */
.mpt-review-tab-icon {
    display: inline-block;
    vertical-align: middle;
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    object-fit: contain;
}

/* Badge de calificación (5.0 estrellas) dentro del botón de pestaña */
.mpt-tab-rating {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    font-size: 0.78rem;
    font-weight: 700;
    padding: 3px 7px;
    border-radius: 4px;
    background-color: #eef4f0;
    color: #026b39;
    line-height: 1;
}

/* Icono de estrella dorada de la marca dentro del badge */
.mpt-tab-rating i {
    color: #ffd715;
    font-size: 0.72rem;
}

/* Estado del badge cuando la pestaña está activa */
.mpt-review-tab-btn.active .mpt-tab-rating {
    background-color: #026b39;
    color: #ffffff;
}

.mpt-review-tab-btn.active .mpt-tab-rating i {
    color: #ffd715;
}

/* Contenedor relativo del carrusel en cada pestaña */
.mpt-tab-carousel-wrapper {
    position: relative;
    padding: 0 46px;
}

/* Botones flotantes de navegación del carrusel de pestañas */
.mpt-tab-nav-btn {
    position: absolute;
    top: 42%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #ffffff;
    border: 1px solid #e5e5e5;
    color: #171717;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 10;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.mpt-tab-nav-prev {
    left: 0;
}

.mpt-tab-nav-next {
    right: 0;
}

.mpt-tab-nav-btn:hover {
    background-color: #026b39;
    border-color: #026b39;
    color: #ffffff;
    transform: translateY(-50%) scale(1.08);
    box-shadow: 0 4px 12px rgba(2, 107, 57, 0.25);
}

/* Contenedor Swiper de reseñas */
.mpt-reviews-swiper {
    width: 100%;
    overflow: hidden;
    padding: 4px 2px 8px;
}

/* Tarjeta individual de reseña (Slide) */
.mpt-review-grid-card {
    width: 100%;
    height: 100%;
}

/* Contenedor interno de la tarjeta de reseña */
.mpt-review-grid-card-inner {
    background-color: #f7f7f5;
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    padding: 20px;
    height: 100%;
    min-height: 250px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

/* Efecto hover en la tarjeta de reseña */
.mpt-review-grid-card-inner:hover {
    transform: translateY(-3px);
    border-color: rgba(2, 107, 57, 0.3);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.06);
}

/* Cabecera del autor de la reseña */
.mpt-review-grid-header {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 12px;
}

/* Burbuja / bolita circular del avatar */
.mpt-review-bubble-avatar {
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
    border-radius: 50%;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

/* Imagen destacada del autor en círculo */
.mpt-review-avatar-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
    border: 2px solid #026b39;
}

/* Iniciales del nombre cuando no hay imagen destacada */
.mpt-review-avatar-initials {
    width: 100%;
    height: 100%;
    background-color: #026b39;
    color: #ffffff;
    font-size: 0.92rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    user-select: none;
}

/* Información del autor (Nombre, fecha, verificación) */
.mpt-review-grid-user-info {
    flex: 1 1 auto;
    min-width: 0;
}

/* Nombre del autor */
.mpt-review-author-name {
    font-size: 0.95rem;
    font-weight: 700;
    color: #171717;
    margin: 0 0 2px 0;
    line-height: 1.25;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Metadatos secundarios del autor */
.mpt-review-submeta {
    font-size: 0.76rem;
    color: #737373;
    display: flex;
    align-items: center;
    gap: 4px;
    line-height: 1;
}

/* Punto separador discreto */
.mpt-review-separator {
    color: #e5e5e5;
}

/* Etiqueta de viajero verificado */
.mpt-review-verified-tag {
    color: #026b39;
    font-weight: 600;
}

/* Contenedor de estrellas de calificación del review */
.mpt-review-stars-wrapper {
    display: flex;
    align-items: center;
    gap: 2px;
    color: #ffd715;
    font-size: 0.8rem;
    flex-shrink: 0;
}

/* Estrella rellena */
.mpt-review-stars-wrapper .star-filled {
    color: #ffd715;
}

/* Estrella vacía */
.mpt-review-stars-wrapper .star-empty {
    color: #e5e5e5;
}

/* Cuerpo de texto de la reseña */
.mpt-review-grid-body {
    flex: 1 1 auto;
    margin-bottom: 14px;
}

/* Párrafo con el contenido de la reseña */
.mpt-review-text {
    font-size: 0.86rem;
    line-height: 1.55;
    color: #171717;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Pie de la tarjeta con enlace externo a la reseña */
.mpt-review-grid-footer {
    padding-top: 10px;
    border-top: 1px solid rgba(229, 229, 229, 0.8);
}

/* Enlace directo a la plataforma (TripAdvisor / Google) */
.mpt-review-external-link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.8rem;
    font-weight: 700;
    color: #026b39;
    text-decoration: none;
    transition: color 0.2s ease, text-decoration 0.2s ease;
}

/* Hover del enlace externo */
.mpt-review-external-link:hover {
    color: #014d28;
    text-decoration: underline;
}

/* Paginación de puntos de Swiper */
.mpt-tripadvisor-pagination,
.mpt-google-pagination {
    margin-top: 20px;
    text-align: center;
    line-height: 1;
}

.mpt-tripadvisor-pagination .swiper-pagination-bullet,
.mpt-google-pagination .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    margin: 0 4px !important;
    border-radius: 50%;
    background-color: #e5e5e5;
    opacity: 1;
    transition: width 0.25s ease, background-color 0.25s ease, border-radius 0.25s ease;
}

.mpt-tripadvisor-pagination .swiper-pagination-bullet-active,
.mpt-google-pagination .swiper-pagination-bullet-active {
    width: 24px;
    border-radius: 4px;
    background-color: #026b39;
}

@media (max-width: 767px) {
    .mpt-tab-carousel-wrapper {
        padding: 0;
    }
    .mpt-tab-nav-btn {
        display: none;
    }
}

/* ---------- CONTACT ---------- */
.mtfrontage-contact-banner {
    position: relative; padding: 4rem 0; color: var(--bs-white);
    background:
        linear-gradient(180deg, rgba(20,52,36,.55) 0%, rgba(20,52,36,.65) 100%),
        url('https://images.unsplash.com/photo-1531065208531-4036c0dba3ca?auto=format&fit=crop&w=2000&q=80') center/cover no-repeat;
}
.mtfrontage-contact-banner h2 { color: var(--bs-white); font-size: clamp(2rem, 4vw, 3rem); }
.mtfrontage-contact-banner h2 small.mtfrontage-eyebrow-w { display: block; font-size: .95rem; font-weight: 400; opacity: .9; letter-spacing: 0; text-transform: none; margin-bottom: .8rem; color: var(--bs-white);}
.mtfrontage-contact-banner .mtfrontage-brand-line { font-size: .8rem; letter-spacing: .25em; margin-top: 1rem; opacity: .85; }
.mtfrontage-contact-intro {
    max-width: 520px;
    margin: 1.15rem 0 0;
    color: rgba(255, 255, 255, .84);
    font-size: .98rem;
    line-height: 1.65;
}
.mtfrontage-contact-person {
    display: inline-flex;
    align-items: center;
    gap: .85rem;
    max-width: 420px;
    margin-top: 1.15rem;
    padding: .75rem .9rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, .1);
    backdrop-filter: blur(4px);
}
.mtfrontage-contact-person img {
    width: 58px;
    height: 58px;
    flex: 0 0 58px;
    border-radius: 50%;
    border: 2px solid var(--mpt-gold);
    object-fit: cover;
}
.mtfrontage-contact-person strong,
.mtfrontage-contact-person span {
    display: block;
    line-height: 1.3;
}
.mtfrontage-contact-person strong {
    color: var(--bs-white);
    font-size: .95rem;
    font-weight: 800;
}
.mtfrontage-contact-person span {
    margin-top: .15rem;
    color: rgba(255, 255, 255, .76);
    font-size: .82rem;
}
.mtfrontage-contact-card {
    background: var(--bs-white); padding: 2rem; border: 2px solid var(--mpt-gold);
    color: var(--mpt-ink);
}
.mtfrontage-contact-card .form-label {
    font-size: .8rem; color: var(--mpt-muted); margin-bottom: .15rem;
}
.mtfrontage-contact-card .form-control, .mtfrontage-contact-card .form-select {
    border: 0; border-bottom: 1px solid var(--mpt-green); border-radius: 0;
    padding: .35rem 0 .55rem; background: transparent; box-shadow: none !important;
    font-size: .95rem;
}
.mtfrontage-contact-card .form-control:focus, .mtfrontage-contact-card .form-select:focus {
    border-bottom-color: var(--mpt-gold);
}
.mtfrontage-contact-card .mtfc-message {
    resize: vertical;
    min-height: 105px;
}
/* === Formulario de Contacto Footer & Modal (.mtfc-contact-form.mtfc-footer-form) === */
.mtfc-footer-form {
    position: relative;
}

.mtfc-footer-form .form-label {
    font-size: 0.84rem;
    color: #1e293b;
    font-weight: 600;
    margin-bottom: 0.35rem;
    display: inline-block;
    transition: color 0.25s ease, transform 0.2s ease;
}

.mtfc-footer-form [class*="col-"]:focus-within .form-label {
    color: var(--mpt-green, #026b39);
    font-weight: 700;
}

/* Contenedor del campo con icono */
.mtfc-field-wrap {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
}

/* Icono dentro del campo con animación y transición fluida */
.mtfc-field-icon {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: #94a3b8;
    font-size: 0.95rem;
    pointer-events: none;
    z-index: 3;
    transition: color 0.25s ease, transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1), filter 0.25s ease;
}

.mtfc-field-icon--textarea {
    top: 18px;
    transform: none;
}

/* Inputs y Textareas */
.mtfc-footer-form .form-control {
    border: 1.5px solid #d1d5db;
    border-radius: 8px;
    color: #171717;
    background-color: #ffffff;
    padding: 0.7rem 0.95rem 0.7rem 2.65rem;
    font-size: 0.92rem;
    line-height: 1.45;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03) !important;
    transition: border-color 0.22s ease, box-shadow 0.22s ease, background-color 0.2s ease, transform 0.18s ease;
}

.mtfc-footer-form .form-control::placeholder {
    color: #94a3b8;
    font-size: 0.88rem;
    opacity: 1;
}

/* Efecto Hover: cambio de color en borde, fondo e icono */
.mtfc-field-wrap:hover .form-control {
    border-color: var(--mpt-green, #026b39);
    background-color: #fafdfb;
    box-shadow: 0 2px 8px rgba(2, 107, 57, 0.08) !important;
}

.mtfc-field-wrap:hover .mtfc-field-icon {
    color: var(--mpt-green, #026b39);
    transform: translateY(-50%) scale(1.15);
}

.mtfc-field-wrap:hover .mtfc-field-icon--textarea {
    transform: scale(1.15);
}

/* Efecto Focus / Active: elevación, halo verde corporativo y animación de color en el icono */
.mtfc-field-wrap:focus-within .form-control {
    border-color: var(--mpt-green, #026b39) !important;
    background-color: #ffffff !important;
    box-shadow: 0 0 0 3.5px rgba(2, 107, 57, 0.15), 0 3px 10px rgba(0, 0, 0, 0.05) !important;
    outline: none !important;
    transform: translateY(-1px);
}

.mtfc-field-wrap:focus-within .mtfc-field-icon {
    color: var(--mpt-green, #026b39);
    transform: translateY(-50%) scale(1.2);
    filter: drop-shadow(0 2px 4px rgba(2, 107, 57, 0.25));
}

.mtfc-field-wrap:focus-within .mtfc-field-icon--textarea {
    transform: scale(1.2);
}

/* Animación sutil de color y rebote al enfocar cada icono */
@keyframes mtfcIconFocusAnim {
    0% { transform: translateY(-50%) scale(1); color: #94a3b8; }
    40% { transform: translateY(-50%) scale(1.28); color: var(--mpt-gold, #ffd715); }
    100% { transform: translateY(-50%) scale(1.2); color: var(--mpt-green, #026b39); }
}

.mtfc-field-wrap:focus-within .mtfc-field-icon:not(.mtfc-field-icon--textarea) {
    animation: mtfcIconFocusAnim 0.35s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}

.mtfc-footer-form .mtfc-message {
    min-height: 120px;
    resize: vertical;
}

.mtfc-hp-field {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

/* === Estados y Notificaciones del Formulario de Contacto === */
.mtfc-form-status {
    border-radius: 8px;
    padding: 0.85rem 1rem;
    font-size: 0.9rem;
    line-height: 1.45;
    margin-top: 0.5rem;
    transition: all 0.3s ease;
}

.mtfc-form-status.is-loading {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    background: #fffdf5;
    color: #854d0e;
    border: 1.5px solid var(--mpt-gold, #ffd715);
}

.mtfc-form-status.is-loading::before {
    content: "";
    width: 16px;
    height: 16px;
    border-radius: 50%;
    border: 2px solid rgba(255, 215, 21, 0.3);
    border-top-color: var(--mpt-gold, #ffd715);
    animation: mtfc-spin 0.75s linear infinite;
    flex: 0 0 auto;
}

.mtfc-form-status.is-success {
    background: #e8f5e9;
    color: var(--mpt-green, #026b39);
    border: 1.5px solid var(--mpt-green, #026b39);
    font-weight: 600;
}

.mtfc-form-status.is-error {
    background: #fee2e2;
    color: #991b1b;
    border: 1.5px solid #ef4444;
}

/* === Botón de Envío del Formulario === */
.mtfrontage-btn-send {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: var(--mpt-green, #026b39);
    color: #ffffff;
    border: none;
    border-radius: 8px;
    padding: 0.85rem 1.65rem;
    width: 100%;
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    cursor: pointer;
    transition: all 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.mtfrontage-btn-send i {
    transition: transform 0.25s ease, color 0.25s ease;
}

.mtfrontage-btn-send:hover {
    background: #01532c;
    color: var(--mpt-gold, #ffd715);
    box-shadow: 0 6px 18px rgba(2, 107, 57, 0.3);
    transform: translateY(-2px);
}

.mtfrontage-btn-send:hover i {
    transform: translateX(4px);
    color: var(--mpt-gold, #ffd715);
}

.mtfrontage-btn-send:active {
    transform: translateY(0);
    box-shadow: 0 2px 6px rgba(2, 107, 57, 0.2);
}

.mtfrontage-btn-send:disabled {
    cursor: wait;
    opacity: 0.72;
    transform: none;
    box-shadow: none;
}

@keyframes mtfc-spin {
    to { transform: rotate(360deg); }
}
.mtfrontage-contact-quick {
    display: grid; grid-template-columns: repeat(2, 1fr); gap: .8rem; margin-top: 1.5rem;
}
.mtfrontage-contact-quick .mtfrontage-item-full { grid-column: 1 / -1; }
.mtfrontage-contact-quick .mtfrontage-item {
    display: flex; align-items: flex-start; gap: .8rem;
    min-width: 0;
    background: rgba(255,255,255,.10); padding: .9rem 1rem; border-radius: 4px;
    backdrop-filter: blur(4px); font-size: .9rem;
    color: var(--bs-white);
}
.mtfrontage-contact-quick .mtfrontage-item i {
    flex: 0 0 20px;
    width: 20px;
    color: var(--mpt-gold);
    font-size: 1.05rem;
    line-height: 1.35;
    text-align: center;
}
.mtfrontage-contact-quick .mtfrontage-item div {
    min-width: 0;
}
.mtfrontage-contact-quick .mtfrontage-item span {
    display: block;
    margin-bottom: .12rem;
    color: rgba(255, 255, 255, .66);
    font-size: .72rem;
    font-weight: 800;
    line-height: 1.2;
    text-transform: uppercase;
}
.mtfrontage-contact-quick .mtfrontage-item a,
.mtfrontage-contact-quick .mtfrontage-item strong {
    color: var(--bs-white);
    font-size: .9rem;
    font-weight: 700;
    line-height: 1.35;
    word-break: break-word;
}
.mtfrontage-contact-quick .mtfrontage-item a:hover { color: var(--mpt-gold); }
@media (max-width: 575.98px) {
    .mtfrontage-contact-quick {
        grid-template-columns: 1fr;
    }
    .mtfrontage-contact-quick .mtfrontage-item-full {
        grid-column: auto;
    }
}

/* ---------- LUCMABAMBA LODGE ---------- */
.mtfrontage-tailor { padding: 4rem 0; background: var(--bs-white); }
.mtfrontage-tailor-heading {
    max-width: 760px;
}
.mtfrontage-tailor-heading h2 {
    color: #111111;
    font-size: clamp(2rem, 3.5vw, 3.15rem);
    font-weight: 900;
    line-height: 1.05;
    margin: .3rem 0 .65rem;
}
.mtfrontage-tailor-heading p {
    max-width: 680px;
    margin: 0 auto;
    color: #666666;
    font-size: 1rem;
    line-height: 1.6;
}
.mtfrontage-tailor-actions {
    margin-top: -.2rem;
}
.mtfrontage-tailor-copy {
    max-width: 420px;
}
.mtfrontage-tailor-copy h2 {
    color: #111111;
    font-size: clamp(2rem, 3vw, 2.8rem);
    font-weight: 900;
    line-height: 1.05;
    margin: .35rem 0 .9rem;
}
.mtfrontage-tailor h3 {
    color: #111111;
    font-size: clamp(1.45rem, 2.4vw, 2.05rem);
    font-weight: 900;
    line-height: 1.15;
}
.mtfrontage-tailor .mtfrontage-divider-bar { width: 70px; height: 2px; background: var(--mpt-gold); margin: 1.1rem 0 1.2rem; }
.mtfrontage-tailor p { color: #666666; font-size: .95rem; max-width: 420px; margin-bottom: 1.05rem; }
.mtfrontage-tailor-list {
    display: grid;
    gap: .55rem;
    max-width: 440px;
    margin: 0 0 1.35rem;
    padding: 0;
    list-style: none;
}
.mtfrontage-tailor-list li {
    display: flex;
    align-items: flex-start;
    gap: .55rem;
    color: #333333;
    font-size: .9rem;
    line-height: 1.45;
}
.mtfrontage-tailor-list i {
    color: var(--mpt-gold);
    margin-top: .2rem;
}
.mtfrontage-tailor a.mtfrontage-discover-link {
    display: inline-block; padding: .78rem 1.4rem;
    border: 1.5px solid var(--mpt-green); color: var(--mpt-green);
    letter-spacing: .08em; font-weight: 800; font-size: .78rem; text-transform: uppercase;
    border-radius: 999px;
}
.mtfrontage-tailor a.mtfrontage-discover-link:hover { background: var(--mpt-green); color: var(--bs-white); }
.mtfrontage-tailor-grid {
    align-items: stretch;
}
.mtfrontage-tailor-tile {
    position: relative; overflow: hidden; border-radius: 8px; cursor: pointer;
    display: block;
    height: 300px;
    background: #e8e8e8;
}
.mtfrontage-tailor-tile--top {
    height: 240px;
}
.mtfrontage-tailor-tile--middle {
    height: 240px;
}
.mtfrontage-tailor-tile--small {
    height: 240px;
}
.mtfrontage-tailor-tile--feature {
    height: 500px;
}
.mtfrontage-tailor-tile img {
    width: 100%; height: 100%; display: block; object-fit: cover;
    transform: scale(1.02);
    transition: transform 1.1s cubic-bezier(.16, 1, .3, 1), filter .7s ease;
}
.mtfrontage-tailor-tile:hover img {
    transform: scale(1.1);
    filter: saturate(1.06) contrast(1.03);
}
.mtfrontage-tailor-tile::after {
    content: ""; position: absolute; inset: 0;
    background: rgba(0, 0, 0, .12);
    opacity: 0;
    transition: opacity .45s ease;
}
.mtfrontage-tailor-tile:hover::after {
    opacity: 1;
}
@media (max-width: 991.98px) {
    .mtfrontage-tailor-copy {
        max-width: 100%;
        text-align: left;
    }
    .mtfrontage-tailor-tile,
    .mtfrontage-tailor-tile--top,
    .mtfrontage-tailor-tile--middle,
    .mtfrontage-tailor-tile--small,
    .mtfrontage-tailor-tile--feature {
        height: 220px;
    }
}

/* ---------- FOOTER ---------- */
footer {
    background: var(--mpt-green-dark); color: var(--mpt-gold); padding: 5rem 0 2rem;
    font-size: .9rem;
}
footer h5 { color: var(--bs-white); font-size: 1rem; margin-bottom: 1.2rem; letter-spacing: .04em; }
footer a { color: var(--mpt-gold); }
footer a:hover { color: var(--mpt-gold); }
footer ul { list-style: none; padding: 0; margin: 0; }
footer ul li { margin-bottom: .55rem; }
footer .mtfrontage-footer-brand { font-size: 1.4rem; font-weight: 800; color: var(--bs-white); margin-bottom: 1rem; }
footer .mtfrontage-socials { display: flex; gap: .6rem; margin-top: 1rem; }
footer .mtfrontage-socials a {
    width: 38px; height: 38px; border-radius: 50%;
    background: rgba(255,255,255,.08);
    display: inline-flex; align-items: center; justify-content: center;
    transition: all .25s ease;
}
footer .mtfrontage-socials a:hover { background: var(--mpt-gold); color: var(--bs-white); transform: translateY(-2px); }
footer .mtfrontage-copyright {
    border-top: 1px solid rgba(255,255,255,.1);
    margin-top: 3rem; padding-top: 1.5rem;
    display: flex; justify-content: space-between; flex-wrap: wrap; gap: 1rem;
    font-size: .82rem; opacity: .85;
}
footer .mtfrontage-contact-line { display: flex; gap: .7rem; align-items: flex-start; margin-bottom: .8rem; }
footer .mtfrontage-contact-line i { color: var(--mpt-gold); margin-top: 4px; width: 18px; }

/* WhatsApp floating */
.mtfrontage-float-wa {
    position: fixed; bottom: 22px; right: 22px; z-index: 999;
    width: 56px; height: 56px; border-radius: 50%;
    background: var(--mpt-green); color: var(--bs-white); display: flex; align-items: center; justify-content: center;
    font-size: 1.6rem; box-shadow: 0 8px 24px rgba(37,211,102,.45);
    animation: pulse 2.4s infinite;
}
.mtfrontage-float-wa:hover { color: var(--bs-white); transform: scale(1.06); }
@keyframes pulse { 0% { box-shadow: 0 0 0 0 rgba(37,211,102,.5); } 70% { box-shadow: 0 0 0 16px rgba(37,211,102,0); } 100% { box-shadow: 0 0 0 0 rgba(37,211,102,0); }}

/* small responsive tweaks */
@media (max-width: 992px) {
    .mtfrontage-intro { padding: 3rem 0; }
    .mtfrontage-values, .mtfrontage-featured-tours, .mtfrontage-tour-types, .mtfrontage-gallery, .mtfrontage-promos, .mtfrontage-deals, .mtfrontage-reviews, .mtfrontage-faq, .mtfrontage-blog-section, .mtfrontage-tailor { padding: 3rem 0; }
    .mtfrontage-intro .mtfrontage-img-wrap img { height: 360px; }
}

@media (max-width: 640px) {
    .mpt-tour-card__footer { align-items: flex-start; flex-direction: column; }
    .mpt-tour-card__cta { width: 100%; }
}


.mtfrontage-hero {
    position: relative;
    overflow: hidden;
    min-height: 90vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* VIDEO */
.hero-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}

/* OVERLAY OSCURO */
.hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.45);
    z-index: 1;
}

/* CONTENIDO ENCIMA */
.mtfrontage-hero .container,
.mtfrontage-hero-stats {

    z-index: 2;
    color: var(--bs-white);
}
