/* Chinafun V9 layout correction.
   Fix Elementor container width variables that were constraining the hero and booking card.
   Loaded after the existing theme, landing and booking stylesheets. */
:root { --cf9-ink:#122d3a; --cf9-green:#0c806d; }
html body .elementor .cf8-site-header,
html body .elementor .cf8-hero,
html body .elementor .cf8-booking-section,
html body .elementor .cf8-how-section,
html body .elementor .cf8-benefits-section,
html body .elementor .cf8-faq-section,
html body .elementor .cf8-footer {
  --width:100% !important;
  --flex-grow:0 !important;
  --flex-shrink:1 !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  flex-basis:auto !important;
  align-self:stretch !important;
  margin-left:0 !important;
  margin-right:0 !important;
  box-sizing:border-box !important;
}
html body .elementor .cf8-header-inner,
html body .elementor .cf8-hero-inner,
html body .elementor .cf8-booking-inner,
html body .elementor .cf8-content-inner,
html body .elementor .cf8-faq-inner,
html body .elementor .cf8-footer-inner {
  --width:100% !important;
  --flex-grow:0 !important;
  --flex-shrink:1 !important;
  width:calc(100% - 64px) !important;
  max-width:1180px !important;
  min-width:0 !important;
  flex-basis:auto !important;
  align-self:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box !important;
}
html body .elementor .cf8-booking-inner { max-width:1240px !important; }
html body .elementor .cf8-brand,
html body .elementor .cf8-header-nav,
html body .elementor .cf8-header-cta,
html body .elementor .cf8-footer-brand,
html body .elementor .cf8-footer-links {
  --width:auto !important;
  width:auto !important;
  max-width:100% !important;
  flex:0 0 auto !important;
  min-width:0 !important;
}
html body .elementor .cf8-hero-copy {
  --width:100% !important;
  width:100% !important;
  max-width:960px !important;
  min-width:0 !important;
  flex-basis:auto !important;
  align-self:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
html body .elementor .cf8-booking-intro {
  --width:100% !important;
  width:100% !important;
  max-width:800px !important;
  min-width:0 !important;
  align-self:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
html body .elementor .cf8-booking-widget-wrap,
html body .elementor .cf8-booking-widget-wrap.e-con,
html body .elementor .cf8-booking-widget-wrap > .e-con-inner,
html body .elementor .cf8-booking-widget-wrap .elementor-widget-shortcode,
html body .elementor .cf8-booking-widget-wrap .elementor-widget-container,
html body .elementor .cf8-booking-widget-wrap .elementor-shortcode {
  --width:100% !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  flex-basis:auto !important;
  align-self:stretch !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box !important;
}
html body .elementor .cf8-booking-widget-wrap .cf7-widget,
html body .elementor .cf7-widget {
  width:100% !important;
  max-width:1240px !important;
  min-width:0 !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding:clamp(24px,3vw,40px) !important;
  font-size:16px !important;
  line-height:1.55 !important;
  box-sizing:border-box !important;
}
html body .elementor .cf7-widget .cf7-form-intro h2 { font-size:clamp(25px,2.2vw,32px) !important; }
html body .elementor .cf7-widget .cf7-field label { font-size:13px !important; }
html body .elementor .cf7-widget .cf7-field input,
html body .elementor .cf7-widget .cf7-field select { height:49px !important; font-size:15px !important; }
html body .elementor .cf7-widget .cf7-tier { min-height:205px !important; padding:22px 20px 16px !important; }
html body .elementor .cf7-widget .cf7-tier-price { font-size:clamp(22px,2.1vw,30px) !important; }
html body .elementor .cf7-widget .cf7-tier-head strong { font-size:16px !important; }
html body .elementor .cf7-widget .cf7-tier-head>span { font-size:12px !important; }
html body .elementor .cf7-widget .cf7-checkout { min-height:52px !important; font-size:15px !important; }
html body .elementor .cf8-steps-grid,
html body .elementor .cf8-steps-grid > .e-con-inner { width:100% !important; max-width:100% !important; }
html body .elementor .cf8-benefits-inner,
html body .elementor .cf8-benefits-section > .e-con-inner { width:calc(100% - 64px) !important; max-width:1120px !important; margin-left:auto !important; margin-right:auto !important; }
html body .elementor .cf8-section-heading { width:100% !important; max-width:760px !important; margin-left:auto !important; margin-right:auto !important; }
@media (min-width:1200px) {
  html body .elementor .cf8-hero { padding-left:32px !important; padding-right:32px !important; }
  html body .elementor .cf8-booking-section { padding-left:32px !important; padding-right:32px !important; }
}
@media (max-width:767px) {
  html body .elementor .cf8-header-inner,
  html body .elementor .cf8-hero-inner,
  html body .elementor .cf8-booking-inner,
  html body .elementor .cf8-content-inner,
  html body .elementor .cf8-faq-inner,
  html body .elementor .cf8-footer-inner,
  html body .elementor .cf8-benefits-inner,
  html body .elementor .cf8-benefits-section > .e-con-inner { width:calc(100% - 32px) !important; max-width:100% !important; }
  html body .elementor .cf8-booking-widget-wrap .cf7-widget,
  html body .elementor .cf7-widget { padding:20px 16px !important; border-radius:18px !important; }
  html body .elementor .cf7-widget .cf7-form-intro h2 { font-size:24px !important; }
  html body .elementor .cf7-widget .cf7-field label { font-size:13px !important; }
  html body .elementor .cf7-widget .cf7-field input,
  html body .elementor .cf7-widget .cf7-field select { font-size:16px !important; }
  html body .elementor .cf7-widget .cf7-tier { min-height:0 !important; padding:14px !important; }
  html body .elementor .cf7-widget .cf7-tier-price { font-size:20px !important; }
}
