/* Official park palette supplied by the user. */
:root{
  --antu-white:#ffffff;
  --antu-yellow:#fac101;
  --antu-orange:#e8570e;
  --antu-lime:#e2de1e;
  --antu-sky:#008fd1;
  --antu-blue:#045391;
  --base-color:var(--antu-sky);
  --dark-gray:var(--antu-blue);
  --cabaret-red:var(--antu-orange);
}
.bg-gradient-flamingo-amethyst-green{background-image:linear-gradient(110deg,#045391,#008fd1)!important}
.bg-cabaret-red{background-color:var(--antu-orange)!important}
.text-highlight>span.bg-cabaret-red{background-color:var(--antu-yellow)!important;opacity:.6!important}
.bg-gradient-very-light-gray{background-image:linear-gradient(160deg,#ffffff,#eef9ff)!important}
.calendar{background:var(--antu-blue);color:var(--antu-blue)}
.calendar-banner{background:var(--antu-blue);color:var(--antu-white)}
.calendar-heading,.weekdays,.days{background:var(--antu-white)}
.calendar h3,.days button,.month-controls button{color:var(--antu-blue)}
.calendar .step{border-color:var(--antu-yellow);background:#fff9df;color:var(--antu-blue)}
.days button{border-color:#d6eaf6}
.days button:hover{border-color:var(--antu-sky);background:#eef9ff}
.days button.active{background:var(--antu-sky);border-color:var(--antu-sky);color:var(--antu-white)}
.month-controls button:hover{background:var(--antu-yellow);border-color:var(--antu-yellow)}
.calendar .continue{background:var(--antu-yellow);color:var(--antu-blue)}
.calendar .continue:hover:not(:disabled){background:var(--antu-lime)}
.calendar .continue:disabled{background:#dbe7f0;color:var(--antu-blue);opacity:.75}
.calendar-selection{color:var(--antu-white)}
.calendar #booking-message{color:#e1eff8}
.calendar button:focus-visible{outline-color:var(--antu-orange)}
/* Minimal calendar with circular dates and native Crafto call to action. */
.calendar{max-width:420px;border-radius:6px;background:#045391}
.calendar-heading{padding:22px 22px 9px;border-radius:6px 6px 0 0}
.calendar .step{border:0;box-shadow:none;background:transparent;padding:0;font-size:13px;letter-spacing:0;font-weight:600;color:#045391}
.calendar h3{font-size:20px;margin:9px 0 4px}
.month-controls button{border:0;background:transparent;width:30px;height:36px;font-size:19px}
.weekdays{border:0;padding:12px 22px 9px}
.days{padding:8px 18px 18px;gap:5px;justify-items:center}
.days button{width:38px;height:38px;border:0;border-radius:50%;background:transparent;font-weight:500;font-size:13px;color:#045391}
.days button:hover{background:#e8f6fd}.days button.today{box-shadow:inset 0 0 0 2px #fac101}.days button.active{background:#008fd1;color:white}.days button.active.today{box-shadow:0 0 0 2px #fac101}
.calendar-selection{padding:20px 22px 10px}
.calendar .continue{background:#ffffff;color:#045391;border-radius:3px;font-family:var(--alt-font);min-height:48px;font-size:14px;padding:13px 20px}
.calendar .continue:hover:not(:disabled){background:#ffffff;color:#045391}
@media(max-width:767px){.calendar-heading{padding:20px 16px 9px}.weekdays{padding-left:16px;padding-right:16px}.days{padding:8px 12px 16px;gap:2px}.days button{width:100%;max-width:44px;height:44px}.calendar-selection{padding-left:18px;padding-right:18px}}

/* Match the hero's native Crafto Elige tu fecha button. */
.calendar .continue.btn{background:var(--dark-gray);color:#fff;border:2px solid var(--dark-gray);border-radius:4px;padding:18px 34px;font-size:16px;line-height:normal;font-weight:500;min-height:0}
.calendar .continue.btn:hover:not(:disabled){background:var(--dark-gray);color:#fff;border-color:var(--dark-gray)}

/* Current temperatures replace the phone and navigation CTA. */
.weather{display:flex;align-items:center;gap:16px;line-height:1.2}
.weather>div{display:flex;align-items:center;gap:9px}
.weather>div+div{border-left:1px solid #c7d9e2;padding-left:16px}
.weather>div>span{font-size:11px;font-weight:600;color:#045391}
.weather small{display:block;font-size:9px;font-weight:400;color:#627988;margin-top:3px}
.weather strong{font-size:17px;white-space:nowrap;color:#045391}
@media(max-width:575px){.antu-weather{padding-left:8px;padding-right:8px}.weather{gap:9px}.weather>div{gap:5px}.weather>div+div{padding-left:9px}.weather>div>span{font-size:9px}.weather small{font-size:8px}.weather strong{font-size:13px}}
/* Contrast the next action against the blue calendar footer. */
.calendar .continue.btn,
.calendar .continue.btn:hover:not(:disabled),
.calendar .continue.btn:focus-visible{background:#fac101;color:#045391;border-color:#fac101}
.calendar .continue.btn .btn-text,
.calendar .continue.btn .btn-icon{color:#045391}
.calendar .continue.btn:hover:not(:disabled){background:#e2de1e;border-color:#e2de1e}
.calendar .continue.btn:focus-visible{outline:3px solid #ffffff;outline-offset:3px}

.antu-contact-bar{display:flex;justify-content:center;align-items:center;gap:24px;flex-wrap:wrap;line-height:1.5;padding:8px 0;font-size:12px!important}
.antu-contact-bar a,.antu-contact-bar a:hover{color:#fff;text-decoration:none}
.antu-contact-bar a:hover{text-decoration:underline}
.header-top-bar:has(.antu-contact-bar) .row{height:auto!important;min-height:42px}
@media(max-width:575px){.antu-contact-bar{gap:5px 16px;font-size:10px!important}.antu-contact-bar span{width:100%;text-align:center}}
/* Lighter booking card: one white surface with a compact action row. */
.calendar{background:#ffffff;border:1px solid #e1eaf0;box-shadow:0 14px 45px #0453910d}
.calendar-selection{background:#ffffff;color:#045391;border-top:1px solid #e4edf3;margin:0 20px;padding:17px 0 10px;flex-direction:row;align-items:center;gap:14px}
.calendar-selection strong{font-size:12px;font-weight:500;text-align:left;line-height:1.5}
.calendar .continue.btn{width:auto;flex:none;padding:13px 19px;font-size:13px;min-height:44px;box-shadow:0 5px 15px #fac10120}
.calendar #booking-message{background:#ffffff;color:#768996;padding:5px 20px 16px;text-align:left;border-radius:0 0 6px 6px;font-size:9px}
@media(max-width:767px){.calendar-selection{margin-left:16px;margin-right:16px;gap:10px}.calendar-selection strong{font-size:11px}.calendar .continue.btn{padding:12px 15px}.calendar #booking-message{padding-left:16px;padding-right:16px}}

/* Park artwork behind a translucent sky-blue wash; booking card stays white. */
.antu-hero-background.bg-gradient-very-light-gray{background-color:#e8f7ff!important;background-image:linear-gradient(rgba(232,247,255,.83),rgba(232,247,255,.88)),url('fondo.png')!important;background-position:center;background-size:cover;background-repeat:no-repeat}
header.header-with-topbar nav.navbar{background:rgba(232,247,255,.94)!important}
/* Give the opening content breathing room below the navbar and above the next section. */
.antu-hero-background{padding-bottom:65px!important}
.antu-hero-background>.container{padding-top:55px}
.antu-hero-background .antu-calendar-column{padding-top:0;padding-bottom:0}
.antu-hero-background .row>div.mb-9{margin-bottom:0!important}
@media(max-width:1199px){.antu-hero-background>.container{padding-top:35px}.antu-hero-background{padding-bottom:40px!important}}
@media(max-width:767px){.antu-hero-background>.container{padding-top:25px}.antu-hero-background{padding-bottom:30px!important}.antu-hero-background .antu-calendar-column{padding-bottom:30px}}

.antu-faq details{border-bottom:1px solid #d9e8f0;padding:20px 0}.antu-faq summary{cursor:pointer;font-weight:600;color:#045391}.antu-faq details p{font-size:15px;margin:14px 0 0}.antu-contact-email{overflow-wrap:anywhere}

.antu-attraction{overflow:hidden}.antu-attraction>img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}

.antu-location-map{display:block;width:100%;height:440px;border:0;border-radius:8px}@media(max-width:767px){.antu-location-map{height:320px}}

/* Compact mobile header and accessible dropdown navigation. */
@media(max-width:1199px){
 header .navbar>.container-fluid{display:flex;flex-wrap:nowrap;align-items:center;padding:8px 12px;gap:8px;position:relative}
 header .navbar>.container-fluid>.col-auto:first-child{order:0;padding:0;flex:none}
 header .navbar .navbar-brand{padding:0}
 header .navbar .navbar-brand img{max-height:60px;max-width:95px}
 header .navbar .antu-weather{order:1;margin-left:auto!important;padding:0}
 header .navbar .menu-order{order:2;margin:0;padding:0;position:static;flex:none;width:auto}
 header .navbar-toggler{float:none!important;display:flex;flex-direction:column;justify-content:center;align-items:center;width:44px;height:44px;padding:10px;border:1px solid #b7d4e6;border-radius:7px;background:#ffffff;position:relative;margin:0}
 header .navbar-toggler .navbar-toggler-line{background:#045391;width:19px;height:2px;margin:2px 0;position:static;transform:none}
 header .navbar-toggler .navbar-toggler-line:last-child{display:none}
 header .navbar-toggler:focus-visible{outline:3px solid #fac101;outline-offset:2px}
 header #navbarNav{position:absolute;top:100%;left:12px;right:12px;width:auto;max-height:70svh;overflow:auto;background:#fff;border:1px solid #d4e5ef;border-radius:8px;box-shadow:0 15px 35px #04539122;padding:10px 16px;z-index:100}
 header #navbarNav .navbar-nav{margin:0;padding:0;display:flex;flex-direction:column;align-items:stretch}
 header #navbarNav .nav-link{font-size:16px;color:#045391;padding:13px 8px;border-bottom:1px solid #edf3f7;line-height:1.4}
 .antu-hero-background>.container{padding-top:12px}
 .antu-hero-background .row.md-mt-50px{margin-top:0!important}
 .antu-hero-background .antu-calendar-column{padding-top:0;padding-bottom:25px}
}
@media(max-width:400px){header .navbar .navbar-brand img{max-width:78px;max-height:54px}.weather{gap:6px}.weather>div{gap:3px}.weather>div+div{padding-left:6px}.weather strong{font-size:12px}.weather>div>span{font-size:8px}.weather small{font-size:7px}}

/* Fixed six-week calendar and non-shrinking navigation controls. */
.calendar .days{grid-template-rows:repeat(6,38px);grid-auto-rows:38px}
.calendar .days button{height:38px;min-height:38px;align-self:center}
.calendar-heading>div:first-child{min-width:0;flex:1}
.calendar .month-controls{display:flex;flex:none;gap:6px;align-items:center}
.calendar .month-controls button{flex:0 0 36px;width:36px;min-width:36px;max-width:36px;height:36px;min-height:36px;padding:0;display:grid;place-items:center;line-height:1;font-size:20px}
@media(max-width:767px){.calendar .days{grid-template-rows:repeat(6,44px);grid-auto-rows:44px}.calendar .days button{height:44px;min-height:44px}.calendar .month-controls button{flex-basis:40px;width:40px;min-width:40px;max-width:40px;height:40px;min-height:40px}}
@media(max-width:767px){.calendar h3{height:52px;display:flex;align-items:center;line-height:1.2;margin-top:9px;margin-bottom:4px}}

.antu-footer-links{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:12px 20px;font-size:12px}.antu-policy{padding-bottom:60px}.antu-policy>.container{padding-top:35px}.antu-policy-text{max-width:900px;margin:35px 0}.antu-policy-text h2{font-size:23px;line-height:1.35;color:#045391;margin:30px 0 14px}.antu-policy-text p{font-size:15px;line-height:1.9;white-space:pre-line}.antu-policy h1{font-size:clamp(32px,5vw,52px)}@media(max-width:767px){.antu-footer-links{justify-content:flex-start}.antu-policy>.container{padding-top:20px}}

.calendar .month-controls button{appearance:none;-webkit-appearance:none;box-sizing:border-box;overflow:visible;transform:none!important}
.calendar .month-controls svg{display:block;width:20px;height:20px;flex:none}.antu-arrow-previous{display:block;transform:rotate(180deg)}
.navbar-toggler svg{width:22px;height:22px;fill:none;stroke:#045391;stroke-width:2;stroke-linecap:round;flex:none;overflow:visible}
.navbar-toggler .antu-menu-close{display:none}
.navbar-collapse-show .navbar-toggler .antu-menu-open{display:none}
.navbar-collapse-show .navbar-toggler .antu-menu-close{display:block}
@media(max-width:1199px){
 header.header-with-topbar,header.header-with-topbar.sticky,header.header-with-topbar.sticky-active{position:relative!important;top:0!important;transform:none!important;overflow:visible!important;height:auto!important}
 header.header-with-topbar nav.navbar{position:relative!important;top:0!important;transform:none!important;overflow:visible!important}
 header .navbar-toggler{transform:none!important;overflow:visible!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important}
 .antu-hero-background.top-space-padding,.antu-policy.top-space-padding{padding-top:0!important}
}
/* Desktop header stays in normal flow below the contact bar. */
@media(min-width:1200px){
 header.header-with-topbar{position:relative!important;top:0!important;transform:none!important;height:auto!important}
 header.header-with-topbar .header-top-bar{position:relative!important;top:0!important}
 header.header-with-topbar nav.navbar{position:relative!important;top:0!important;transform:none!important;min-height:96px;padding-top:12px!important;padding-bottom:12px!important}
 header.header-with-topbar nav.navbar>.container-fluid{display:flex;align-items:center}
 header.header-with-topbar .navbar-brand{display:flex;align-items:center;padding:0!important}
 header.header-with-topbar .navbar-brand img{max-height:70px;object-fit:contain}
 .antu-hero-background.top-space-padding,.antu-policy.top-space-padding{padding-top:0!important}
}
/* Tablet portrait prioritizes booking and keeps both header rows in flow. */
@media(min-width:768px) and (max-width:1199px) and (orientation:portrait){
 header.header-with-topbar{position:relative!important;top:0!important;transform:none!important;height:auto!important}
 header.header-with-topbar .header-top-bar{position:relative!important;top:0!important}
 header.header-with-topbar nav.navbar{position:relative!important;top:0!important;transform:none!important;min-height:82px;padding:8px 0!important}
 .antu-hero-background.top-space-padding{padding-top:0!important}
 .antu-hero-background>.container{padding-top:24px}
 .antu-hero-background>.container>.row{display:flex;flex-direction:column;align-items:stretch!important;margin-top:0!important}
 .antu-hero-background>.container>.row>div{width:100%;max-width:100%;flex:0 0 auto}
 .antu-hero-background .antu-calendar-column{order:-1;align-self:center;padding:0 0 32px}
 .antu-hero-background .calendar{width:100%;max-width:480px}
 .antu-hero-background .row>div.mb-9{margin-bottom:0!important}
}
@media(max-width:1199px){header.header-with-topbar .header-top-bar{position:relative!important;top:0!important}}

.antu-social-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:26px}.antu-social-title{font-family:var(--alt-font);font-size:18px;font-weight:600;color:#045391;line-height:1.4}.antu-social-line{height:1px;background:#c9dbe6;flex:1;min-width:25px}.antu-social-icons{display:flex;align-items:center;gap:9px}.antu-social-icons a{display:flex;align-items:center;justify-content:center;width:44px;height:44px;color:#045391;font-size:23px;border-radius:4px}.antu-social-icons a:hover{color:#008fd1;background:#e2f3fc}.antu-social-icons a:focus-visible{outline:3px solid #fac101;outline-offset:2px}@media(max-width:575px){.antu-social-row{gap:12px}.antu-social-title{font-size:17px}.antu-social-line{min-width:20px}.antu-social-icons{width:100%;gap:14px}}

.antu-social-centered{display:flex;justify-content:center;margin-bottom:50px}.antu-social-centered .antu-social-row{margin:0;gap:28px}.antu-social-centered .antu-social-line{min-width:100px}.antu-social-centered .antu-social-icons{gap:18px}
.antu-meet-banner{background:#045391;border-radius:6px;padding:40px 55px;display:flex;align-items:center;justify-content:space-between;gap:30px;position:relative;overflow:hidden;color:white}.antu-meet-banner:after{content:'';position:absolute;bottom:0;left:0;right:0;height:5px;background:linear-gradient(90deg,#e8570e,#fac101,#e2de1e,#008fd1)}.antu-meet-label{font-size:10px;letter-spacing:1.6px;color:#d1ebfa}.antu-meet-banner h2{font-family:var(--alt-font);font-size:34px;font-weight:600;line-height:1.2;color:white;margin:10px 0}.antu-meet-banner p{color:#deeffa;font-size:14px;line-height:1.6;margin:0}.antu-meet-banner>a{flex:none}.antu-help-inline{display:flex;justify-content:center;align-items:center;gap:18px 28px;flex-wrap:wrap;margin-top:30px;font-size:13px;color:#045391}
@media(max-width:767px){.antu-social-centered{margin-bottom:30px}.antu-social-centered .antu-social-row{gap:15px;justify-content:center}.antu-social-centered .antu-social-line{display:none}.antu-social-centered .antu-social-icons{width:auto;justify-content:center}.antu-meet-banner{padding:28px 24px;flex-direction:column;text-align:center;gap:23px}.antu-meet-banner h2{font-size:30px}.antu-help-inline{flex-direction:column;gap:12px;text-align:center}}
/* More readable contact details below the location banner. */
.antu-help-inline{font-size:17px;line-height:1.6;gap:18px 30px}
.antu-help-inline strong{font-size:20px;font-family:var(--alt-font);font-weight:700}
.antu-help-inline i{font-size:18px;margin-right:5px}
@media(max-width:767px){.antu-help-inline{font-size:15px;gap:14px}.antu-help-inline strong{font-size:19px}.antu-help-inline .antu-contact-email{overflow-wrap:anywhere}}
/* Live calendar availability and error controls. */
.calendar .days button:disabled{opacity:.36;cursor:default;background:transparent;box-shadow:none;pointer-events:none}
.calendar .days button.today:disabled{opacity:.65}
.calendar .continue:disabled{opacity:.5;cursor:default;pointer-events:none}
.calendar-retry{display:block;margin:0 auto 18px;padding:8px 16px;border:1px solid #045391;border-radius:4px;background:white;color:#045391}
.calendar-retry[hidden]{display:none}
#calendar-product-options{display:flex;flex-direction:column;gap:8px;padding:0 20px}
#calendar-product-options a{padding:10px;border:1px solid #008fd1;border-radius:4px;color:#045391}
/* Make bookable dates distinct from unavailable days. */
.calendar .days button.available-day{font-weight:800;color:#045391;background:#eef8ff}
.calendar .days button.available-day.orange-day{color:#e8570e;background:#fff3eb}
.calendar .days button.available-day:hover{background:#dbefff}
.calendar .days button.available-day.orange-day:hover{background:#ffe4d2}
.calendar .days button.available-day.active{background:#008fd1;color:#fff}
.calendar .days button.available-day.orange-day.active{background:#e8570e;color:#fff}
/* Today remains visible even when it has no bookable event. */
.calendar .days button.today{box-shadow:inset 0 0 0 2px #fac101!important;font-weight:800}
.calendar .days button.today:disabled{opacity:1;color:#045391;background:#fffbea}
.calendar .days button.today.active{box-shadow:inset 0 0 0 2px #fac101!important}
