/* v0.4.24 — Ticket prices and opening hours. */
.z4-prices-page-v0424{padding-bottom:18px}
.z4-prices-page-v0424 .z4-eyebrow{
  display:block;
  color:#648d40;
  font-size:10px;
  font-weight:800;
  letter-spacing:.17em;
}

.z4-prices-hero{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(390px,.7fr);
  gap:48px;
  align-items:center;
  padding:44px 0 30px;
}
.z4-prices-hero h1{
  max-width:820px;
  margin:8px 0 15px;
  color:var(--z4-forest);
  font-size:clamp(48px,5.7vw,72px);
  line-height:.95;
  letter-spacing:-.055em;
}
.z4-prices-hero-copy>p{
  max-width:700px;
  margin:0;
  color:#5c7067;
  font-size:15px;
  line-height:1.58;
}
.z4-prices-hero .z4-actions{margin-top:22px}

.z4-prices-hours{
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:15px;
  padding:20px;
  border:1px solid #dce6d7;
  border-radius:22px;
  background:#f4f7ed;
}
.z4-prices-hours-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  border-radius:50%;
  background:#fff;
  color:#4f8035;
}
.z4-prices-hours-icon .z4-icon{width:24px;height:24px}
.z4-prices-hours small{
  display:block;
  color:#6b8d50;
  font-size:9px;
  font-weight:800;
  letter-spacing:.12em;
}
.z4-prices-hours>div>strong{
  display:block;
  margin-top:4px;
  color:#2e493c;
  font-size:18px;
  line-height:1.2;
}
.z4-prices-hours dl{
  display:grid;
  gap:7px;
  margin:15px 0 11px;
}
.z4-prices-hours dl>div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding-top:7px;
  border-top:1px solid #dce5d7;
}
.z4-prices-hours dt{
  color:#6d7e76;
  font-size:11px;
}
.z4-prices-hours dd{
  margin:0;
  color:#2e493c;
  font-size:15px;
  font-weight:800;
}
.z4-prices-hours p{
  margin:0;
  color:#65776f;
  font-size:10.5px;
  line-height:1.45;
}

.z4-prices-main{margin-top:18px}
.z4-prices-heading{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:30px;
  margin-bottom:15px;
}
.z4-prices-heading h2{
  margin:6px 0 0;
  color:var(--z4-forest);
  font-size:38px;
  line-height:1;
  letter-spacing:-.04em;
}
.z4-prices-heading>p{
  max-width:540px;
  margin:0;
  color:#687a71;
  font-size:12px;
  line-height:1.5;
  text-align:right;
}

.z4-prices-ticket-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.z4-price-card{
  position:relative;
  min-height:190px;
  padding:18px;
  border:1px solid #dce6d7;
  border-radius:20px;
  background:#fff;
}
.z4-price-card--free{background:#f4f7ed}
.z4-price-card--accent{
  border-color:#174b35;
  background:#174b35;
}
.z4-price-card-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  margin-bottom:23px;
  border-radius:50%;
  background:#eaf3e4;
  color:#57823d;
}
.z4-price-card-icon .z4-icon{width:19px;height:19px}
.z4-price-card small{
  display:block;
  color:#6f8c57;
  font-size:8.5px;
  font-weight:800;
  letter-spacing:.13em;
}
.z4-price-card h3{
  margin:5px 0 11px;
  color:#30483d;
  font-size:17px;
  line-height:1.15;
}
.z4-price-card>strong{
  display:block;
  color:#174b35;
  font-size:27px;
  line-height:1;
  letter-spacing:-.035em;
}
.z4-price-card--accent .z4-price-card-icon{background:#fff;color:#174b35}
.z4-price-card--accent small{color:#c6dcb8}
.z4-price-card--accent h3{color:#e5efe6}
.z4-price-card--accent>strong{color:#fff}

.z4-prices-benefit{
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:16px;
  margin-top:12px;
  padding:18px 20px;
  border:1px solid #f0d8bd;
  border-radius:20px;
  background:#fff8ee;
}
.z4-prices-benefit-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  border-radius:50%;
  background:#fff0df;
  color:#df5b00;
}
.z4-prices-benefit-icon .z4-icon{width:23px;height:23px}
.z4-prices-benefit h3{
  margin:4px 0 5px;
  color:#30483d;
  font-size:20px;
  line-height:1.15;
}
.z4-prices-benefit p{
  margin:0 0 7px;
  color:#64766d;
  font-size:12px;
  line-height:1.45;
}
.z4-prices-benefit>div>strong{
  display:block;
  color:#465e52;
  font-size:11px;
  line-height:1.45;
}

.z4-prices-extra{margin-top:46px}
.z4-prices-extra-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.z4-prices-extra-grid>article{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  gap:13px;
  align-items:start;
  min-height:126px;
  padding:17px;
  border:1px solid #dce6d7;
  border-radius:18px;
  background:#fff;
}
.z4-prices-extra-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border-radius:50%;
  background:#edf4e8;
  color:#5a853e;
}
.z4-prices-extra-icon .z4-icon{width:20px;height:20px}
.z4-prices-extra-grid small{
  display:block;
  color:#6e914f;
  font-size:8px;
  font-weight:800;
  letter-spacing:.12em;
}
.z4-prices-extra-grid h3{
  margin:4px 0 6px;
  color:#30483d;
  font-size:16px;
  line-height:1.16;
}
.z4-prices-extra-grid p{
  margin:0;
  color:#718179;
  font-size:10.5px;
  line-height:1.42;
}
.z4-prices-extra-grid article>strong{
  align-self:center;
  color:#174b35;
  font-size:20px;
  line-height:1;
  white-space:nowrap;
}

.z4-prices-banner{
  position:relative;
  min-height:315px;
  margin-top:46px;
  overflow:hidden;
  border-radius:24px;
  background:#e9efe4;
}
.z4-prices-banner>img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.z4-prices-banner::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(246,247,239,.98) 0%,rgba(246,247,239,.94) 32%,rgba(246,247,239,.55) 58%,rgba(246,247,239,.05) 82%);
}
.z4-prices-banner-copy{
  position:relative;
  z-index:2;
  width:min(480px,50%);
  padding:38px 34px;
}
.z4-prices-banner h2{
  margin:7px 0 10px;
  color:var(--z4-forest);
  font-size:34px;
  line-height:1;
  letter-spacing:-.04em;
}
.z4-prices-banner p{
  margin:0;
  color:#5d7168;
  font-size:12px;
  line-height:1.5;
}
.z4-prices-banner .z4-btn{margin-top:18px}

.z4-prices-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  margin-top:46px;
  padding:27px 30px;
  border-radius:23px;
  background:#174b35;
  color:#fff;
}
.z4-prices-bottom .z4-eyebrow{color:#c7ddb8}
.z4-prices-bottom h2{
  margin:6px 0 7px;
  color:#fff;
  font-size:29px;
  line-height:1;
  letter-spacing:-.035em;
}
.z4-prices-bottom p{
  margin:0;
  color:#dbe8dc;
  font-size:11.5px;
}
.z4-prices-bottom .z4-btn--white{
  flex:none;
  background:#fff;
  color:#174b35!important;
  border-color:#fff;
}

@media(max-width:1099px){
  .z4-prices-hero{grid-template-columns:minmax(0,1fr) 350px;gap:30px}
  .z4-prices-ticket-grid{grid-template-columns:1fr 1fr}
}

@media(max-width:700px){
  .z4-prices-page-v0424 .z4-eyebrow{font-size:8.5px}
  .z4-prices-hero{grid-template-columns:1fr;gap:16px;padding:24px 0 18px}
  .z4-prices-hero h1{margin:6px 0 11px;font-size:39px;line-height:.97}
  .z4-prices-hero-copy>p{font-size:12.5px;line-height:1.5}
  .z4-prices-hero .z4-actions{display:grid;grid-template-columns:1fr;gap:7px;margin-top:17px}
  .z4-prices-hero .z4-actions .z4-btn,
  .z4-prices-hero .z4-actions .z4-text-link{justify-content:center}
  .z4-prices-hours{grid-template-columns:40px minmax(0,1fr);gap:12px;padding:15px;border-radius:17px}
  .z4-prices-hours-icon{width:40px;height:40px}
  .z4-prices-hours-icon .z4-icon{width:20px;height:20px}
  .z4-prices-hours>div>strong{font-size:15px}
  .z4-prices-hours dd{font-size:13px}

  .z4-prices-main{margin-top:14px}
  .z4-prices-heading{display:block;margin-bottom:11px}
  .z4-prices-heading h2{font-size:29px}
  .z4-prices-heading>p{margin-top:8px;font-size:10.5px;text-align:left}
  .z4-prices-ticket-grid{grid-template-columns:1fr 1fr;gap:8px}
  .z4-price-card{min-height:155px;padding:13px;border-radius:16px}
  .z4-price-card-icon{width:32px;height:32px;margin-bottom:15px}
  .z4-price-card-icon .z4-icon{width:16px;height:16px}
  .z4-price-card small{font-size:7px}
  .z4-price-card h3{margin:4px 0 8px;font-size:13px}
  .z4-price-card>strong{font-size:21px}

  .z4-prices-benefit{grid-template-columns:38px minmax(0,1fr);gap:11px;padding:14px;border-radius:16px}
  .z4-prices-benefit-icon{width:38px;height:38px}
  .z4-prices-benefit-icon .z4-icon{width:18px;height:18px}
  .z4-prices-benefit h3{font-size:17px}
  .z4-prices-benefit p{font-size:10.5px}
  .z4-prices-benefit>div>strong{font-size:9.5px}

  .z4-prices-extra{margin-top:30px}
  .z4-prices-extra-grid{grid-template-columns:1fr;gap:8px}
  .z4-prices-extra-grid>article{
    grid-template-columns:36px minmax(0,1fr) auto;
    gap:10px;
    min-height:105px;
    padding:13px;
    border-radius:15px;
  }
  .z4-prices-extra-icon{width:36px;height:36px}
  .z4-prices-extra-icon .z4-icon{width:17px;height:17px}
  .z4-prices-extra-grid h3{font-size:14px}
  .z4-prices-extra-grid p{font-size:9.5px}
  .z4-prices-extra-grid article>strong{font-size:17px}

  .z4-prices-banner{min-height:355px;margin-top:30px;border-radius:18px}
  .z4-prices-banner>img{object-position:60% 50%}
  .z4-prices-banner::after{background:linear-gradient(180deg,rgba(246,247,239,.98) 0%,rgba(246,247,239,.93) 44%,rgba(246,247,239,.4) 72%,rgba(246,247,239,.08) 100%)}
  .z4-prices-banner-copy{width:auto;padding:21px 17px}
  .z4-prices-banner h2{font-size:27px}
  .z4-prices-banner p{max-width:310px;font-size:10.5px}
  .z4-prices-banner .z4-btn{margin-top:14px}

  .z4-prices-bottom{
    align-items:flex-start;
    flex-direction:column;
    gap:15px;
    margin-top:30px;
    padding:21px 17px;
    border-radius:18px;
  }
  .z4-prices-bottom h2{font-size:25px}
  .z4-prices-bottom p{font-size:10.5px}
  .z4-prices-bottom .z4-btn{width:100%;justify-content:center}
}

@media(max-width:380px){
  .z4-prices-ticket-grid{grid-template-columns:1fr}
  .z4-prices-extra-grid>article{grid-template-columns:34px minmax(0,1fr)}
  .z4-prices-extra-grid article>strong{grid-column:2;justify-self:start}
}
