.venga-pues-body {
    --vpm-ink: #07333a;
    --vpm-deep: #05272d;
    --vpm-green: #00d982;
    --vpm-green-dark: #078d68;
    --vpm-yellow: #f5c84a;
    --vpm-coral: #f26a4f;
    --vpm-mist: #f3f8f5;
    --vpm-line: #d4e3dc;
    background: var(--vpm-mist);
    color: var(--vpm-ink);
}

.vpm-page { overflow: hidden; }
.vpm-shell { width: min(1200px, calc(100% - 48px)); margin-inline: auto; }
.vpm-section { padding-block: clamp(68px, 8vw, 112px); }
.vpm-eyebrow, .vpm-card-eyebrow { margin: 0 0 12px; color: var(--vpm-green-dark); font-size: .76rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.vpm-section h2, .vpm-section-head h2 { margin: 0 0 20px; color: var(--vpm-ink); font-size: clamp(2rem, 4vw, 3.6rem); letter-spacing: -.035em; line-height: 1.03; }
.vpm-section p, .vpm-section-head > p:last-child { line-height: 1.72; }
.vpm-section-head { max-width: 790px; margin-bottom: 36px; }

.vpm-hero { position: relative; display: grid; min-height: min(810px, 91vh); align-items: end; isolation: isolate; overflow: hidden; background: var(--vpm-deep); }
.vpm-hero__image, .vpm-hero__veil { position: absolute; inset: 0; width: 100%; height: 100%; }
.vpm-hero__image { z-index: -2; object-fit: cover; object-position: center 54%; }
.vpm-hero__veil { z-index: -1; background: linear-gradient(90deg, rgba(3, 24, 27, .88) 0%, rgba(3, 24, 27, .62) 46%, rgba(3, 24, 27, .12) 100%), linear-gradient(0deg, rgba(2, 25, 29, .66), transparent 42%); }
.vpm-hero__content { padding-block: clamp(64px, 9vw, 112px) 102px; color: #fff; }
.vpm-hero__brand { display: inline-flex; width: 136px; height: 100px; align-items: center; justify-content: center; margin-bottom: 24px; padding: 6px; border: 1px solid rgba(255,255,255,.45); border-radius: 12px; background: #fff; box-shadow: 0 12px 34px rgba(0,0,0,.18); }
.vpm-hero__brand img { display: block; width: 100%; height: 100%; object-fit: contain; }
.vpm-kicker { margin: 0 0 18px; color: #d8fff0; font-size: .82rem; font-weight: 800; letter-spacing: .055em; }
.vpm-kicker i { margin-right: 8px; color: var(--vpm-green); }
.vpm-hero h1 { max-width: 900px; margin: 0; color: #fff; font-size: clamp(3rem, 7.6vw, 6.8rem); font-weight: 900; letter-spacing: -.045em; line-height: .98; }
.vpm-hero__lead { max-width: 700px; margin: 22px 0 18px; color: rgba(255,255,255,.94); font-size: clamp(1.08rem, 2vw, 1.4rem); line-height: 1.55; }
.vpm-rating { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; color: rgba(255,255,255,.9); font-size: .92rem; }
.vpm-rating__stars { color: var(--vpm-yellow); letter-spacing: .12em; }
.vpm-rating strong { color: #fff; }
.vpm-hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 30px; }
.vpm-button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; gap: 10px; padding: 12px 18px; border: 1px solid transparent; border-radius: 7px; font-weight: 900; line-height: 1.15; text-align: center; text-decoration: none; transition: transform .18s ease, background .18s ease, color .18s ease, border-color .18s ease; }
.vpm-button:hover { transform: translateY(-2px); text-decoration: none; }
.vpm-button--primary { background: var(--vpm-green); color: #032a2d; box-shadow: 0 8px 22px rgba(0,217,130,.24); }
.vpm-button--primary:hover { background: #fff; color: var(--vpm-deep); }
.vpm-button--ghost { border-color: rgba(255,255,255,.65); background: rgba(5,39,45,.28); color: #fff; }
.vpm-button--ghost:hover { border-color: #fff; background: #fff; color: var(--vpm-deep); }
.vpm-button--dark { background: var(--vpm-ink); color: #fff; }
.vpm-button--dark:hover { background: var(--vpm-green-dark); color: #fff; }
.vpm-button--outline { border-color: var(--vpm-line); background: #fff; color: var(--vpm-ink); }
.vpm-button--outline:hover { border-color: var(--vpm-ink); }
.vpm-price { display: inline-flex; flex-direction: column; color: var(--vpm-yellow); font-size: 1.55rem; font-weight: 900; line-height: 1; }
.vpm-price small { margin-bottom: 5px; color: #fff; font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; }
.vpm-hero__scroll { position: absolute; right: max(24px, calc((100vw - 1200px) / 2)); bottom: 28px; display: grid; width: 44px; height: 44px; place-items: center; border: 1px solid rgba(255,255,255,.55); border-radius: 50%; color: #fff; text-decoration: none; }

.vpm-nav { position: relative; z-index: 5; border-bottom: 1px solid var(--vpm-line); background: rgba(255,255,255,.97); }
.vpm-nav__inner { display: flex; min-height: 64px; align-items: center; gap: 26px; overflow-x: auto; scrollbar-width: thin; }
.vpm-nav a { flex: 0 0 auto; color: var(--vpm-ink); font-size: .9rem; font-weight: 800; text-decoration: none; white-space: nowrap; }
.vpm-nav a:hover { color: var(--vpm-green-dark); }
.vpm-nav__cta { display: inline-flex; min-height: 40px; align-items: center; gap: 9px; margin-left: auto; padding: 10px 15px; border-radius: 6px; background: var(--vpm-green); color: var(--vpm-ink) !important; }
.vpm-quickfacts { border-bottom: 1px solid var(--vpm-line); background: #fff; }
.vpm-quickfacts__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.vpm-quickfacts__grid > div { display: flex; min-height: 94px; align-items: center; gap: 13px; padding: 18px 20px; border-right: 1px solid var(--vpm-line); }
.vpm-quickfacts__grid > div:first-child { border-left: 1px solid var(--vpm-line); }
.vpm-quickfacts__grid > div > i { color: var(--vpm-green-dark); font-size: 1.35rem; }
.vpm-quickfacts__grid span { display: grid; gap: 3px; color: #526b68; font-size: .78rem; line-height: 1.35; }
.vpm-quickfacts__grid strong { color: var(--vpm-ink); font-size: .92rem; }

.vpm-intro { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(260px, .8fr); gap: clamp(40px, 8vw, 104px); align-items: end; }
.vpm-intro > div:first-child > p:last-child { max-width: 720px; margin: 0; color: #45605f; font-size: 1.08rem; }
.vpm-intro__stats { display: grid; gap: 12px; padding-left: 22px; border-left: 4px solid var(--vpm-green); }
.vpm-intro__stats div { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; padding-bottom: 11px; border-bottom: 1px solid var(--vpm-line); }
.vpm-intro__stats strong { color: var(--vpm-coral); font-size: 1.45rem; font-weight: 900; white-space: nowrap; }
.vpm-intro__stats span { color: #4c6663; font-size: .86rem; font-weight: 700; text-align: right; }

.vpm-attractions { background: #fff; }
.vpm-attraction-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.vpm-attraction-card { overflow: hidden; border: 1px solid var(--vpm-line); border-radius: 10px; background: #fff; box-shadow: 0 14px 34px rgba(6,47,54,.07); }
.vpm-attraction-card__photo { position: relative; height: clamp(220px, 27vw, 345px); overflow: hidden; background: #dceae4; }
.vpm-attraction-card__photo::after { position: absolute; inset: 45% 0 0; background: linear-gradient(0deg, rgba(4,29,34,.5), transparent); content: ""; pointer-events: none; }
.vpm-attraction-card__photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.vpm-attraction-card:hover .vpm-attraction-card__photo img { transform: scale(1.035); }
.vpm-attraction-card__photo span { position: absolute; z-index: 1; bottom: 18px; left: 18px; padding: 8px 11px; border: 1px solid rgba(255,255,255,.46); border-radius: 999px; background: rgba(5,39,45,.75); color: #fff; font-size: .72rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.vpm-attraction-card__body { padding: 25px 26px 28px; }
.vpm-card-eyebrow { margin-bottom: 8px; color: var(--vpm-green-dark); font-size: .7rem; }
.vpm-attraction-card h3 { margin: 0 0 11px; color: var(--vpm-ink); font-size: clamp(1.25rem, 2vw, 1.65rem); line-height: 1.14; }
.vpm-attraction-card__body > p:not(.vpm-card-eyebrow) { margin: 0; color: #4d6663; line-height: 1.62; }
.vpm-includes { display: grid; gap: 9px; margin: 18px 0 0; padding: 16px 0 0; border-top: 1px solid #e4ece8; list-style: none; }
.vpm-includes li { position: relative; padding-left: 22px; color: #375754; font-size: .9rem; line-height: 1.45; }
.vpm-includes li::before { position: absolute; top: .18em; left: 0; color: var(--vpm-green-dark); font-family: "Font Awesome 6 Free"; font-weight: 900; content: "\f00c"; }

.vpm-restaurant { display: grid; grid-template-columns: minmax(300px, .82fr) minmax(0, 1.18fr); gap: clamp(32px, 5vw, 68px); align-items: center; }
.vpm-restaurant__photo { position: sticky; top: 26px; overflow: hidden; min-height: 580px; border-radius: 11px; background: #dce9e1; box-shadow: 0 20px 55px rgba(6,47,54,.15); }
.vpm-restaurant__photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.vpm-restaurant__copy > p:not(.vpm-eyebrow) { margin: 0 0 24px; color: #4d6663; }
.vpm-dining-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.vpm-dining-grid > div { padding: 18px 17px; border: 1px solid var(--vpm-line); border-radius: 8px; background: #fff; }
.vpm-dining-grid i { color: var(--vpm-green-dark); font-size: 1.15rem; }
.vpm-dining-grid h3 { margin: 10px 0 6px; color: var(--vpm-ink); font-size: 1rem; }
.vpm-dining-grid p { margin: 0; color: #526c69; font-size: .87rem; line-height: 1.5; }
.vpm-menu-callout { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 24px; padding: 18px; border: 1px solid #b5e8d1; border-radius: 8px; background: #e8faf1; }
.vpm-menu-callout strong { color: var(--vpm-ink); font-size: 1.05rem; }
.vpm-menu-callout p { margin: 5px 0 0; color: #506b65; font-size: .87rem; line-height: 1.45; }
.vpm-menu-label { margin: 20px 0 10px !important; color: var(--vpm-ink) !important; font-size: .83rem; font-weight: 900; }
.vpm-menu-categories { display: flex; flex-wrap: wrap; gap: 7px; margin: 0; padding: 0; list-style: none; }
.vpm-menu-categories li { padding: 7px 10px; border: 1px solid var(--vpm-line); border-radius: 999px; background: #fff; color: #355552; font-size: .72rem; font-weight: 750; }

.vpm-band { padding-block: clamp(68px, 8vw, 108px); background: var(--vpm-deep); color: #fff; }
.vpm-section-head--light h2 { color: #fff; }
.vpm-section-head--light .vpm-eyebrow { color: var(--vpm-yellow); }
.vpm-section-head--light > p:last-child { color: #d0e5dc; }
.vpm-booking { padding-block: clamp(66px, 8vw, 104px); }
.vpm-booking__intro { max-width: 800px; margin: 0 auto 32px; text-align: center; }
.vpm-booking__intro > p:not(.vpm-eyebrow) { color: #4b6561; line-height: 1.65; }
.vpm-trust { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 22px; margin-top: 20px; color: #187457; font-size: .88rem; font-weight: 800; }
.vpm-trust i { margin-right: 6px; }
.vpm-booking__ticketing { padding-top: 28px; border-top: 1px solid var(--vpm-line); }
.vpm-booking__ticketing .panaca-passports, .vpm-booking__ticketing .panaca-section-title, .vpm-booking__ticketing .panaca-date, .vpm-booking__ticketing .panaca-schedule-selector, .vpm-booking__ticketing .panaca-api-status { width: 100%; max-width: none; }
.vpm-booking__ticketing .panaca-section-title--step, .vpm-booking__ticketing .panaca-section-title--tickets { margin: 0 0 18px; text-align: left; }
.vpm-booking__ticketing .panaca-section-title--step h2, .vpm-booking__ticketing .panaca-section-title--tickets h2 { color: var(--vpm-ink); font-size: clamp(1.5rem, 3vw, 2.1rem); }
.vpm-booking__ticketing .panaca-date { margin: 0 0 32px; }
.vpm-booking__ticketing .panaca-product-grid { grid-template-columns: minmax(0, min(100%, 420px)); justify-content: center; gap: 22px; }
.vpm-booking__ticketing .panaca-product-card { width: 100%; overflow: hidden; border-color: var(--vpm-line); border-radius: 10px; box-shadow: 0 14px 34px rgba(6,47,54,.09); }
.vpm-booking__ticketing .panaca-product-card__image { min-height: 210px; margin: 0; }
.vpm-booking__ticketing .panaca-product-card[data-product-card-id="venga-pues-mirador-ingreso"] .panaca-product-card__image { position: relative; display: grid; place-items: center; background-image: linear-gradient(180deg, rgba(2,33,39,.02) 32%, rgba(2,33,39,.58) 100%), url("/img/experiencias/venga-pues-mirador/venga-pues-atardecer.webp") !important; background-position: center, center 55%; background-repeat: no-repeat; background-size: cover; }
.vpm-booking__ticketing .panaca-product-card[data-product-card-id="venga-pues-mirador-ingreso"] .panaca-product-card__image::before { content: none; }
.vpm-booking__ticketing .panaca-product-card[data-product-card-id="venga-pues-mirador-ingreso"] .panaca-product-card__image::after { position: absolute; right: 22px; bottom: 18px; left: 22px; color: #fff; content: "SPOTS · GRANJA · MIRADOR"; font-size: .75rem; font-weight: 900; letter-spacing: .13em; text-align: center; text-shadow: 0 2px 8px rgba(0,0,0,.5); }
.vpm-booking__ticketing .panaca-product-card__body { padding: 24px 22px 22px; }
.vpm-booking__ticketing .panaca-product-card__body h3 { color: var(--vpm-ink); font-size: 1.05rem; }
.vpm-booking__ticketing .panaca-product-card__body p, .vpm-booking__ticketing .panaca-product-card__body li { color: #375c5e; }
.vpm-booking__ticketing .panaca-product-card__add { border-radius: 6px; background: var(--vpm-green); color: #042126; font-weight: 900; }
.vpm-booking__ticketing .panaca-product-card__add:hover { background: #06bd74; }
.vpm-booking__ticketing .panaca-product-card__line-total { color: var(--vpm-ink); }
.vpm-booking__ticketing .panaca-product-card__line-total strong, .vpm-booking__ticketing .panaca-product-card__price strong { color: var(--vpm-coral); }

.vpm-gallery__head { max-width: 740px; }
.vpm-gallery__grid { display: grid; grid-template-columns: 1.25fr 1fr 1fr; grid-template-rows: repeat(2, minmax(175px, 245px)); gap: 14px; }
.vpm-gallery__item { position: relative; overflow: hidden; min-width: 0; margin: 0; border-radius: 8px; background: #10373e; }
.vpm-gallery__item--large { grid-row: span 2; }
.vpm-gallery__item::after { position: absolute; inset: 50% 0 0; background: linear-gradient(0deg, rgba(3,25,29,.72), transparent); content: ""; }
.vpm-gallery__item img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.vpm-gallery__item:hover img { transform: scale(1.04); }
.vpm-gallery__item figcaption { position: absolute; z-index: 1; right: 14px; bottom: 13px; left: 14px; color: #fff; font-size: .82rem; font-weight: 800; }
.vpm-social-link { display: inline-flex; align-items: center; gap: 9px; margin-top: 23px; color: #fff; font-weight: 850; text-decoration: none; }
.vpm-social-link > i:first-child { color: var(--vpm-yellow); font-size: 1.15rem; }
.vpm-social-link span { color: #b9d4cc; font-weight: 650; }
.vpm-social-link:hover { color: var(--vpm-green); }

.vpm-location { display: grid; grid-template-columns: minmax(0, .9fr) minmax(360px, 1.1fr); gap: clamp(32px, 6vw, 76px); align-items: center; }
.vpm-location__copy > p:not(.vpm-eyebrow) { margin: 0 0 22px; color: #4c6662; }
.vpm-distances { margin: 0; border-top: 1px solid var(--vpm-line); }
.vpm-distances div { display: flex; justify-content: space-between; gap: 12px; padding: 11px 0; border-bottom: 1px solid var(--vpm-line); }
.vpm-distances dt { color: #3d5b58; font-size: .9rem; }
.vpm-distances dd { margin: 0; color: var(--vpm-ink); font-size: .9rem; font-weight: 900; white-space: nowrap; }
.vpm-location__links { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.vpm-location__map { overflow: hidden; border: 1px solid var(--vpm-line); border-radius: 10px; background: #fff; box-shadow: 0 16px 38px rgba(6,47,54,.1); }
.vpm-location__map iframe { display: block; width: 100%; min-height: 430px; border: 0; }
.vpm-location__map > p { margin: 0; padding: 13px 16px; color: var(--vpm-ink); font-size: .82rem; font-weight: 800; }
.vpm-location__map > p i { margin-right: 5px; color: var(--vpm-green-dark); }

.vpm-hours { background: #e5f5ed; }
.vpm-hours__inner { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; padding-block: 22px; }
.vpm-hours__inner > div { display: flex; align-items: flex-start; gap: 12px; padding: 15px; border-right: 1px solid #c6e5d5; }
.vpm-hours__inner > div:last-child { border-right: 0; }
.vpm-hours__inner > div > i { margin-top: 2px; color: var(--vpm-green-dark); font-size: 1.15rem; }
.vpm-hours__inner span { display: grid; gap: 5px; color: #355552; font-size: .9rem; line-height: 1.45; }
.vpm-hours__inner strong { color: var(--vpm-ink); font-size: .88rem; }
.vpm-hours__sunset > i { color: #e39a1f !important; }

.vpm-visit { padding-block: clamp(64px, 7vw, 90px); }
.vpm-visit__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.vpm-visit__grid article { padding: 23px; border: 1px solid var(--vpm-line); border-radius: 9px; background: #fff; }
.vpm-visit__grid article > i { color: var(--vpm-green-dark); font-size: 1.25rem; }
.vpm-visit__grid h3 { margin: 14px 0 8px; color: var(--vpm-ink); font-size: 1.05rem; }
.vpm-visit__grid p { margin: 0; color: #4e6763; font-size: .9rem; line-height: 1.6; }

.vpm-faq { padding-top: 12px; padding-bottom: 94px; }
.vpm-faq__list { border-top: 1px solid var(--vpm-line); }
.vpm-faq details { border-bottom: 1px solid var(--vpm-line); }
.vpm-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 19px 2px; color: var(--vpm-ink); cursor: pointer; font-size: 1rem; font-weight: 850; list-style: none; }
.vpm-faq summary::-webkit-details-marker { display: none; }
.vpm-faq summary i { flex: 0 0 auto; color: var(--vpm-green-dark); transition: transform .2s ease; }
.vpm-faq details[open] summary i { transform: rotate(45deg); }
.vpm-faq details > p { max-width: 880px; margin: -2px 0 20px; color: #4d6663; line-height: 1.7; }

.vpm-footer { padding-top: 58px; background: var(--vpm-deep); color: #d9e9e3; }
.vpm-footer__grid { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: clamp(30px, 6vw, 80px); padding-bottom: 36px; }
.vpm-footer__brand img { display: block; width: 174px; height: 128px; margin-bottom: 12px; padding: 6px; border-radius: 8px; background: #fff; object-fit: contain; }
.vpm-footer__brand p { max-width: 430px; margin: 0; color: #b9d0c8; font-size: .9rem; line-height: 1.6; }
.vpm-footer h2 { margin: 0 0 16px; color: #fff; font-size: 1rem; }
.vpm-footer__grid > div:not(.vpm-footer__brand) { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.vpm-footer a { color: #d9e9e3; font-size: .88rem; text-decoration: none; overflow-wrap: anywhere; }
.vpm-footer a:hover { color: var(--vpm-green); }
.vpm-footer__bottom { display: flex; justify-content: space-between; gap: 20px; padding-block: 17px; border-top: 1px solid rgba(255,255,255,.15); color: #a9c1b9; font-size: .77rem; }
.vpm-footer__bottom a { font-size: inherit; font-weight: 900; }
.vpm-whatsapp { position: fixed; z-index: 40; right: max(20px, calc((100vw - 1320px) / 2)); bottom: 20px; display: inline-flex; align-items: center; gap: 10px; padding: 13px 17px; border: 1px solid rgba(255,255,255,.78); border-radius: 999px; background: #13b86d; box-shadow: 0 10px 32px rgba(0,0,0,.2); color: #fff; font-size: .85rem; font-weight: 900; text-decoration: none; }
.vpm-whatsapp i { font-size: 1.25rem; }
.vpm-whatsapp:hover { background: #079958; color: #fff; transform: translateY(-2px); }

@media (max-width: 1000px) {
    .vpm-quickfacts__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .vpm-quickfacts__grid > div:nth-child(3) { border-left: 1px solid var(--vpm-line); }
    .vpm-restaurant { grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr); gap: 32px; }
    .vpm-restaurant__photo { min-height: 500px; }
}

@media (max-width: 720px) {
    .vpm-shell { width: min(100% - 32px, 1200px); }
    .vpm-hero { min-height: 760px; }
    .vpm-hero__veil { background: linear-gradient(90deg, rgba(3,24,27,.8), rgba(3,24,27,.28)), linear-gradient(0deg, rgba(2,25,29,.77), transparent 65%); }
    .vpm-hero__content { padding-block: 60px 90px; }
    .vpm-hero h1 { max-width: 640px; font-size: clamp(2.9rem, 11vw, 5rem); }
    .vpm-hero__lead { max-width: 570px; }
    .vpm-nav__inner { gap: 20px; min-height: 60px; }
    .vpm-nav__cta { margin-left: 0; }
    .vpm-intro, .vpm-restaurant, .vpm-location { grid-template-columns: 1fr; }
    .vpm-intro { gap: 30px; }
    .vpm-intro__stats { max-width: 520px; }
    .vpm-attraction-grid { grid-template-columns: 1fr; }
    .vpm-attraction-card__photo { height: clamp(220px, 62vw, 360px); }
    .vpm-restaurant__photo { position: relative; top: auto; min-height: 0; height: min(85vw, 480px); }
    .vpm-restaurant__photo img { position: absolute; }
    .vpm-gallery__grid { grid-template-columns: 1fr 1fr; grid-template-rows: repeat(3, minmax(150px, 210px)); }
    .vpm-gallery__item--large { grid-row: span 2; }
    .vpm-location__map iframe { min-height: 350px; }
    .vpm-hours__inner { grid-template-columns: 1fr; gap: 0; }
    .vpm-hours__inner > div { border-right: 0; border-bottom: 1px solid #c6e5d5; }
    .vpm-hours__inner > div:last-child { border-bottom: 0; }
    .vpm-visit__grid { grid-template-columns: 1fr; }
    .vpm-footer__grid { grid-template-columns: 1fr 1fr; }
    .vpm-footer__brand { grid-column: span 2; }
}

@media (max-width: 520px) {
    .vpm-shell { width: min(100% - 26px, 1200px); }
    .vpm-hero { min-height: 790px; }
    .vpm-hero__brand { width: 118px; height: 88px; margin-bottom: 20px; }
    .vpm-kicker { font-size: .74rem; line-height: 1.5; }
    .vpm-hero h1 { font-size: clamp(2.7rem, 13vw, 4.2rem); }
    .vpm-hero__actions { align-items: stretch; }
    .vpm-hero__actions .vpm-button { flex: 1 1 100%; }
    .vpm-price { margin: 7px 0 0 4px; }
    .vpm-hero__scroll { right: 16px; bottom: 18px; }
    .vpm-quickfacts__grid > div { min-height: 92px; gap: 9px; padding: 13px 10px; }
    .vpm-quickfacts__grid > div > i { font-size: 1.08rem; }
    .vpm-quickfacts__grid span { font-size: .7rem; }
    .vpm-quickfacts__grid strong { font-size: .8rem; }
    .vpm-intro__stats div { display: grid; gap: 2px; }
    .vpm-intro__stats span { text-align: left; }
    .vpm-attraction-card__body { padding: 20px; }
    .vpm-dining-grid { grid-template-columns: 1fr; }
    .vpm-menu-callout { align-items: flex-start; flex-direction: column; }
    .vpm-menu-callout .vpm-button { width: 100%; }
    .vpm-booking__ticketing .panaca-product-grid { grid-template-columns: 1fr; }
    .vpm-gallery__grid { grid-template-rows: repeat(3, minmax(130px, 175px)); gap: 8px; }
    .vpm-gallery__item figcaption { right: 9px; bottom: 9px; left: 9px; font-size: .7rem; }
    .vpm-location__links .vpm-button { flex: 1; }
    .vpm-footer__grid { grid-template-columns: 1fr; }
    .vpm-footer__brand { grid-column: auto; }
    .vpm-footer__bottom { flex-direction: column; gap: 6px; }
    .vpm-whatsapp { right: 12px; bottom: 12px; width: 52px; height: 52px; justify-content: center; padding: 0; }
    .vpm-whatsapp span { display: none; }
}
