/* Chinafun V10.1: resilient layout rules for Elementor front-end and preview pages.
   These rules do not depend on body.home or a nonstandard .elementor-page wrapper class. */
:root{--cf101-ink:#102b3a;--cf101-green:#0c806d;--cf101-paper:#f4f9f7}
html,body{width:100%;max-width:100%;overflow-x:hidden!important}
body .elementor .cf8-site-header,
body .elementor .cf8-hero,
body .elementor .cf8-booking-section,
body .elementor .cf8-how-section,
body .elementor .cf8-benefits-section,
body .elementor .cf8-faq-section,
body .elementor .cf8-footer{
 --width:100%!important;--flex-grow:0!important;--flex-shrink:1!important;
 display:flex!important;flex-direction:column!important;flex:0 0 100%!important;
 width:100%!important;max-width:100%!important;min-width:0!important;
 align-self:stretch!important;margin:0!important;box-sizing:border-box!important;
}
body .elementor .cf8-header-inner,
body .elementor .cf8-hero-inner,
body .elementor .cf8-booking-inner,
body .elementor .cf8-content-inner,
body .elementor .cf8-faq-inner,
body .elementor .cf8-footer-inner{
 --width:100%!important;--flex-grow:0!important;--flex-shrink:1!important;
 width:calc(100% - 48px)!important;max-width:1180px!important;min-width:0!important;
 flex:0 1 auto!important;align-self:center!important;margin-left:auto!important;margin-right:auto!important;
 box-sizing:border-box!important;
}
body .elementor .cf8-booking-inner{width:calc(100% - 48px)!important;max-width:1240px!important}
body .elementor .cf8-site-header>.e-con-inner,
body .elementor .cf8-hero>.e-con-inner,
body .elementor .cf8-booking-section>.e-con-inner,
body .elementor .cf8-how-section>.e-con-inner,
body .elementor .cf8-benefits-section>.e-con-inner,
body .elementor .cf8-faq-section>.e-con-inner,
body .elementor .cf8-footer>.e-con-inner{
 width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;
}
body .elementor .cf8-header-inner,body .elementor .cf8-header-inner>.e-con-inner{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;gap:22px!important}
body .elementor .cf8-hero-inner,body .elementor .cf8-hero-copy,body .elementor .cf8-booking-inner,body .elementor .cf8-content-inner,body .elementor .cf8-faq-inner{display:flex!important;flex-direction:column!important}
body .elementor .cf8-hero-copy{width:100%!important;max-width:940px!important;align-self:center!important;margin-left:auto!important;margin-right:auto!important;text-align:center!important}
body .elementor .cf8-booking-intro{width:100%!important;max-width:820px!important;align-self:center!important;margin:0 auto 24px!important;text-align:center!important}
body .elementor .cf8-booking-widget-wrap,
body .elementor .cf8-booking-widget-wrap>.e-con-inner,
body .elementor .cf8-booking-widget-wrap .elementor-widget-shortcode,
body .elementor .cf8-booking-widget-wrap .elementor-widget-container,
body .elementor .cf8-booking-widget-wrap .elementor-shortcode{
 --width:100%!important;display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;
 flex:0 1 auto!important;align-self:stretch!important;margin-left:auto!important;margin-right:auto!important;box-sizing:border-box!important;
}
body .elementor .cf8-booking-widget-wrap .cf7-widget,
body .elementor .cf7-widget{
 display:block!important;width:100%!important;max-width:1240px!important;min-width:0!important;
 margin:0 auto!important;padding:clamp(24px,3vw,40px)!important;font-size:16px!important;line-height:1.55!important;box-sizing:border-box!important;
}
body .elementor .cf8-steps-grid,body .elementor .cf8-steps-grid>.e-con-inner{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important;width:100%!important;max-width:100%!important;min-width:0!important}
body .elementor .cf8-benefits-inner,body .elementor .cf8-benefits-inner>.e-con-inner{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:44px!important;width:100%!important;max-width:1120px!important;min-width:0!important}
body .elementor .cf8-section-heading{width:100%!important;max-width:760px!important;margin-left:auto!important;margin-right:auto!important}
body .elementor .cf8-footer-inner,body .elementor .cf8-footer-inner>.e-con-inner{width:calc(100% - 48px)!important;max-width:1120px!important;margin-left:auto!important;margin-right:auto!important}
body .elementor .cf8-hero .elementor-heading-title{font-size:clamp(38px,5vw,66px)!important;line-height:1.04!important}
body .elementor .cf7-widget .cf7-field input,body .elementor .cf7-widget .cf7-field select{min-height:48px!important;font-size:15px!important}
body .elementor .cf7-widget .cf7-tier{min-width:0!important}
@media(max-width:900px){
 body .elementor .cf8-header-inner,body .elementor .cf8-hero-inner,body .elementor .cf8-booking-inner,body .elementor .cf8-content-inner,body .elementor .cf8-faq-inner,body .elementor .cf8-footer-inner,body .elementor .cf8-benefits-inner{width:calc(100% - 32px)!important;max-width:100%!important}
 body .elementor .cf8-booking-widget-wrap .cf7-widget,body .elementor .cf7-widget{padding:24px 20px!important}
 body .elementor .cf8-steps-grid,body .elementor .cf8-steps-grid>.e-con-inner{grid-template-columns:1fr!important}
 body .elementor .cf8-benefits-inner,body .elementor .cf8-benefits-inner>.e-con-inner{grid-template-columns:1fr!important;gap:24px!important}
}
@media(max-width:590px){
 body .elementor .cf8-header-inner,body .elementor .cf8-header-inner>.e-con-inner{gap:10px!important}
 body .elementor .cf8-booking-section{padding-left:8px!important;padding-right:8px!important}
 body .elementor .cf8-booking-inner{width:100%!important}
 body .elementor .cf8-booking-widget-wrap .cf7-widget,body .elementor .cf7-widget{padding:20px 14px!important;border-radius:18px!important}
 body .elementor .cf8-booking-widget-wrap .cf7-fields .cf7-field{grid-column:span 2!important}
 body .elementor .cf8-booking-widget-wrap .cf7-tiers{grid-template-columns:1fr!important}
 body .elementor .cf8-booking-widget-wrap .cf7-paybar{flex-direction:column!important;align-items:stretch!important}
 body .elementor .cf8-booking-widget-wrap .cf7-checkout{width:100%!important}
 body .elementor .cf8-hero-copy .elementor-heading-title{font-size:clamp(34px,9vw,46px)!important;letter-spacing:-1.6px!important}
}
