/* The Healing Retreat v1.35.0 — consolidated responsive layer.
   Loaded after the main theme stylesheet to neutralise historical page-specific
   width rules without replacing Elementor content. */

*,*::before,*::after{box-sizing:border-box}
html{width:100%;max-width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%}
body.hrt-site{width:100%;max-width:100%;overflow-x:hidden}
body.hrt-site img,body.hrt-site svg,body.hrt-site video,body.hrt-site iframe{max-width:100%;height:auto}
body.hrt-site input,body.hrt-site select,body.hrt-site textarea,body.hrt-site button{max-width:100%;font:inherit}
body.hrt-site .hrt-main,body.hrt-site .hrt-elementor-page,body.hrt-site .elementor,body.hrt-site .elementor-section-wrap{width:100%;max-width:100%;overflow-x:clip}

/* Tablet */
@media (max-width:1024px){
  body.hrt-site .elementor-section>.elementor-container,
  body.hrt-site .elementor-section>.e-con-inner{width:100%!important;max-width:100%!important;margin-left:auto!important;margin-right:auto!important}
  body.hrt-site .elementor-section.elementor-section-boxed>.elementor-container{max-width:100%!important;padding-left:28px!important;padding-right:28px!important}
  body.hrt-site .hrt-editable-header__inner{padding-left:24px!important;padding-right:24px!important}
  body.hrt-site .hrt-editable-footer__inner{padding-left:28px!important;padding-right:28px!important}
}

/* Phones */
@media (max-width:767px){
  html,body.hrt-site{width:100%!important;max-width:100%!important;overflow-x:hidden!important}
  body.hrt-site .elementor-section,
  body.hrt-site .elementor-top-section,
  body.hrt-site .elementor-inner-section,
  body.hrt-site .e-con,
  body.hrt-site .e-con-inner{max-width:100%!important}
  body.hrt-site .elementor-section.elementor-section-stretched{left:auto!important;right:auto!important;width:100%!important;max-width:100%!important;transform:none!important}
  body.hrt-site .elementor-section>.elementor-container,
  body.hrt-site .elementor-section>.e-con-inner{
    width:100%!important;max-width:100%!important;margin:0 auto!important;box-sizing:border-box!important;
  }
  body.hrt-site .elementor-section.elementor-section-boxed>.elementor-container{padding-left:18px!important;padding-right:18px!important}
  body.hrt-site .elementor-row{flex-wrap:wrap!important;width:100%!important}
  body.hrt-site .elementor-column:not(.hrt-gallery-page-item):not(.hrt-gallery-tile):not(.hrt-contact-gallery-col){
    flex:0 0 100%!important;max-width:100%!important;width:100%!important;min-width:0!important;
  }
  body.hrt-site .elementor-column-wrap,body.hrt-site .elementor-widget-wrap,body.hrt-site .elementor-widget-container{max-width:100%;min-width:0}
  body.hrt-site .elementor-widget-heading .elementor-heading-title,
  body.hrt-site .elementor-widget-text-editor,
  body.hrt-site .elementor-widget-text-editor p{max-width:100%!important;word-break:normal!important;overflow-wrap:break-word!important;hyphens:none!important}
  body.hrt-site .elementor-button{white-space:normal;text-align:center}

  /* Header/mobile menu */
  body.hrt-site .hrt-editable-header{position:sticky!important;top:0!important;width:100%!important}
  body.admin-bar.hrt-site .hrt-editable-header{top:46px!important}
  body.hrt-site .hrt-editable-header__inner{min-height:72px!important;padding:8px 16px!important;grid-template-columns:minmax(90px,1fr) auto!important;gap:12px!important}
  body.hrt-site .hrt-editable-header__logo img{max-height:58px!important;width:auto!important;max-width:145px!important}
  body.hrt-site .hrt-editable-header__toggle{display:flex!important;justify-self:end!important}
  body.hrt-site .hrt-editable-header__nav,body.hrt-site .hrt-editable-header__cta:not(.hrt-editable-header__mobile-cta){display:none!important}
  body.hrt-site .hrt-editable-header__mobile{max-height:calc(100dvh - 72px)!important;overflow-y:auto!important;padding:12px 18px 22px!important}
  body.hrt-site .hrt-editable-header__mobile li a{font-size:15px!important;padding:14px 2px!important}

  /* Home slider */
  body.hrt-site .hrt-hero-slider{min-height:680px!important;height:auto!important}
  body.hrt-site .hrt-hero-slide{min-height:680px!important;background-size:auto 48%!important;background-position:center bottom!important;background-color:#f7f3ec!important}
  body.hrt-site .hrt-hero-slide__shade{background:linear-gradient(180deg,#f7f3ec 0%,rgba(247,243,236,.98) 48%,rgba(247,243,236,.60) 67%,rgba(247,243,236,0) 80%)!important}
  body.hrt-site .hrt-hero-slide__inner{min-height:680px!important;align-items:flex-start!important;justify-content:flex-start!important;padding:46px 22px 250px!important;text-align:left!important}
  body.hrt-site .hrt-hero-slide__content,body.hrt-site .hrt-hero-slide--center .hrt-hero-slide__content,body.hrt-site .hrt-hero-slide--right .hrt-hero-slide__content{width:100%!important;max-width:390px!important;text-align:left!important}
  body.hrt-site .hrt-hero-slide h1{font-size:clamp(43px,13vw,58px)!important;line-height:.96!important;max-width:340px!important}
  body.hrt-site .hrt-hero-slide p{font-size:14px!important;line-height:1.6!important;max-width:330px!important}
  body.hrt-site .hrt-hero-slide__button{min-width:0!important;width:auto!important;max-width:100%!important}
  body.hrt-site .hrt-hero-slider__arrow{bottom:18px!important;width:40px!important;height:40px!important}
  body.hrt-site .hrt-hero-slider__dots{bottom:31px!important}

  /* Floating availability */
  body.hrt-site .hrt-booking-float{width:100%!important;max-width:100%!important;margin:0!important;padding:0 14px!important;transform:none!important;position:relative!important;left:auto!important;right:auto!important;bottom:auto!important}
  body.hrt-site .hrt-booking-float .hrbm-search--hero,
  body.hrt-site .hrbm-search--hero,
  body.hrt-site .hrbm-search--packages,
  body.hrt-site .hrbm-search{
    display:grid!important;grid-template-columns:1fr!important;gap:0!important;width:100%!important;max-width:100%!important;margin:0 auto!important;border-radius:14px!important;overflow:hidden!important;
  }
  body.hrt-site .hrt-booking-float .hrbm-search--hero .hrbm-search__field,
  body.hrt-site .hrbm-search label{width:100%!important;max-width:100%!important;min-width:0!important;min-height:76px!important;border-right:0!important;border-bottom:1px solid rgba(37,59,42,.12)!important;padding:15px 18px!important}
  body.hrt-site .hrt-booking-float .hrbm-search--hero .hrbm-search__field--guests select,
  body.hrt-site .hrbm-search input,body.hrt-site .hrbm-search select{width:100%!important;max-width:100%!important;min-width:0!important}
  body.hrt-site .hrt-booking-float .hrbm-search--hero .hrbm-button,
  body.hrt-site .hrbm-search .hrbm-button{width:calc(100% - 24px)!important;min-width:0!important;min-height:56px!important;height:auto!important;margin:12px!important}

  /* Home intro */
  body.hrt-site .hrt-home-intro{padding:52px 18px!important}
  body.hrt-site .hrt-home-intro>.elementor-container,body.hrt-site .hrt-home-intro>.e-con-inner{display:flex!important;flex-direction:column!important;gap:36px!important;padding:0!important}
  body.hrt-site .hrt-home-intro .hrt-intro-copy,body.hrt-site .hrt-home-intro .hrt-intro-benefits{flex:0 0 100%!important;max-width:100%!important;width:100%!important}
  body.hrt-site .hrt-home-intro h2{max-width:360px!important;font-size:clamp(36px,10.5vw,44px)!important;margin-left:auto!important;margin-right:auto!important}
  body.hrt-site .hrt-home-intro .hrt-intro-copy p{max-width:370px!important;margin-left:auto!important;margin-right:auto!important}
  body.hrt-site .hrt-home-intro .hrt-benefit-grid{grid-template-columns:1fr!important;max-width:420px!important;margin:0 auto!important}
  body.hrt-site .hrt-home-intro .hrt-benefit-grid article{border-right:0!important;min-height:145px!important}

  /* Rooms / Experiences split */
  body.hrt-site .hrt-home-dual-feature>.elementor-container,body.hrt-site .hrt-home-dual-feature>.e-con-inner{display:flex!important;flex-direction:column!important}
  body.hrt-site .hrt-home-dual-feature .elementor-column:nth-child(n){flex:0 0 100%!important;max-width:100%!important;width:100%!important;min-height:0!important}
  body.hrt-site .hrt-home-feature-copy{padding:34px 22px!important;min-height:280px!important}
  body.hrt-site .hrt-home-feature-image-col img{height:300px!important;min-height:300px!important}

  /* Homepage strip gallery */
  body.hrt-site .hrt-gallery-strip>.elementor-container{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important;padding:16px 6px 6px!important}
  body.hrt-site .hrt-gallery-strip>.elementor-container>.elementor-column:first-child{grid-column:1/-1!important;width:100%!important;max-width:100%!important}
  body.hrt-site .hrt-gallery-strip .hrt-gallery-tile{width:100%!important;max-width:100%!important}
  body.hrt-site .hrt-gallery-strip .hrt-gallery-tile:last-child{grid-column:1/-1!important}

  /* About page */
  body.hrt-site.hrt-page-about-the-retreat .hrt-import-hero{min-height:520px!important;background-position:center center!important}
  body.hrt-site.hrt-page-about-the-retreat .hrt-import-hero>.elementor-container{min-height:520px!important}
  body.hrt-site.hrt-page-about-the-retreat .hrt-about-hero-content>.elementor-widget-wrap{padding:48px 22px!important;align-items:flex-start!important;text-align:left!important}
  body.hrt-site.hrt-page-about-the-retreat .hrt-about-hero-title-widget .elementor-heading-title{font-size:clamp(44px,13vw,62px)!important;line-height:.95!important}
  body.hrt-site.hrt-page-about-the-retreat .hrt-about-editorial-section>.elementor-container,
  body.hrt-site.hrt-page-about-the-retreat .hrt-about-hosts>.elementor-container{display:flex!important;flex-direction:column!important}
  body.hrt-site.hrt-page-about-the-retreat .hrt-about-copy-col,body.hrt-site.hrt-page-about-the-retreat .hrt-about-image-col,
  body.hrt-site.hrt-page-about-the-retreat .hrt-about-hosts-copy-col,body.hrt-site.hrt-page-about-the-retreat .hrt-about-hosts-image-col,
  body.hrt-site.hrt-page-about-the-retreat .hrt-about-hosts-room-col{width:100%!important;max-width:100%!important;flex:0 0 100%!important}
  body.hrt-site.hrt-page-about-the-retreat .hrt-about-copy-col .elementor-widget-wrap,body.hrt-site.hrt-page-about-the-retreat .hrt-about-hosts-copy-col .elementor-widget-wrap{padding:38px 22px!important}
  body.hrt-site.hrt-page-about-the-retreat .hrt-about-image-col img,body.hrt-site.hrt-page-about-the-retreat .hrt-about-hosts-image-col img,body.hrt-site.hrt-page-about-the-retreat .hrt-about-hosts-room-col img{min-height:0!important;height:auto!important;aspect-ratio:4/3!important;object-fit:cover!important}
  body.hrt-site .hrt-about-statement{padding:52px 20px!important}
  body.hrt-site .hrt-client-silence-section,body.hrt-site .hrt-client-included-section,body.hrt-site .hrt-client-arranged-section{padding-left:18px!important;padding-right:18px!important}
  body.hrt-site .hrt-client-silence-card,body.hrt-site .hrt-client-included-card,body.hrt-site .hrt-client-arranged-card{flex:0 0 100%!important;max-width:100%!important;width:100%!important}

  /* Rooms catalogue page hero */
  body.hrt-site.hrt-page-rooms-and-accommodation .hrt-rooms-hero,
  body.hrt-site.hrt-page-rooms-and-accommodation .hrt-rooms-hero>.elementor-container,
  body.hrt-site.hrt-page-rooms-and-accommodation .hrt-rooms-hero-column>.elementor-widget-wrap{min-height:610px!important;height:auto!important}
  body.hrt-site.hrt-page-rooms-and-accommodation .hrt-rooms-hero{background-position:65% center!important}
  body.hrt-site.hrt-page-rooms-and-accommodation .hrt-rooms-hero-column>.elementor-widget-wrap{padding:38px 18px 20px!important}
  body.hrt-site.hrt-page-rooms-and-accommodation .hrt-rooms-hero-title-widget .elementor-heading-title{font-size:clamp(42px,12vw,54px)!important}
  body.hrt-site.hrt-page-rooms-and-accommodation .hrt-rooms-hero-copy-widget p{font-size:14px!important;max-width:360px!important}
  body.hrt-site.hrt-page-rooms-and-accommodation .hrt-rooms-amenities-row>.elementor-container{display:grid!important;grid-template-columns:1fr 1fr!important;gap:0!important}
  body.hrt-site.hrt-page-rooms-and-accommodation .hrt-rooms-amenity-col{width:100%!important;max-width:100%!important;flex:none!important;min-height:64px!important;margin:0!important}
  body.hrt-site.hrt-page-rooms-and-accommodation .hrt-rooms-amenity-col:last-child{grid-column:1/-1!important}

  /* Experiences */
  body.hrt-site .hrt-experiences-hero,body.hrt-site .hrt-experiences-hero>.elementor-container{min-height:560px!important}
  body.hrt-site .hrt-experiences-hero{background-position:68% center!important}
  body.hrt-site .hrt-experiences-hero-content>.elementor-widget-wrap{padding:54px 20px!important}
  body.hrt-site .hrt-experiences-hero-title .elementor-heading-title{font-size:clamp(40px,11vw,50px)!important;max-width:320px!important}
  body.hrt-site .hrt-experience-services-row>.elementor-container{display:flex!important;flex-direction:column!important}
  body.hrt-site .hrt-experience-services-row .elementor-column{flex:0 0 100%!important;max-width:100%!important;width:100%!important;min-height:0!important}
  body.hrt-site .hrt-experience-service-image-col img{min-height:280px!important;height:280px!important}
  body.hrt-site .hrt-experience-service-copy{padding:34px 22px!important}
  body.hrt-site .hrt-experiences-movement>.elementor-container{display:flex!important;flex-direction:column!important}
  body.hrt-site .hrt-experience-activity-row>.elementor-container{display:grid!important;grid-template-columns:1fr 1fr!important}

  /* Retreat packages */
  body.hrt-site .hrt-retreat-packages-hero,body.hrt-site .hrt-retreat-packages-hero>.elementor-container{min-height:650px!important;height:auto!important}
  body.hrt-site .hrt-retreat-packages-hero-content>.elementor-widget-wrap{min-height:650px!important;padding:58px 18px 170px!important}
  body.hrt-site .hrt-retreat-packages-title .elementor-heading-title{font-size:clamp(42px,12vw,54px)!important}
  body.hrt-site .hrt-retreat-packages-search-widget{position:absolute!important;left:14px!important;right:14px!important;bottom:18px!important;width:auto!important;max-width:none!important;margin:0!important}
  body.hrt-site .hrt-retreat-choice-row>.elementor-container{display:flex!important;flex-direction:column!important;gap:22px!important}
  body.hrt-site .hrt-retreat-choice-card{flex:0 0 100%!important;max-width:100%!important;width:100%!important;margin:0!important}
  body.hrt-site .hrt-retreat-choice-card .elementor-widget-image{margin-left:-22px!important;margin-right:-22px!important;width:calc(100% + 44px)!important}
  body.hrt-site .hrt-retreat-packages-trust>.elementor-container{display:flex!important;flex-direction:column!important}
  body.hrt-site .hrt-retreat-trust-item{width:100%!important;max-width:100%!important;border-right:0!important;border-bottom:1px solid rgba(37,59,42,.13)!important}

  /* Contact */
  body.hrt-site .hrt-contact-hero{min-height:340px!important;background-position:center center!important}
  body.hrt-site .hrt-contact-hero-title .elementor-heading-title{font-size:clamp(44px,13vw,58px)!important}
  body.hrt-site .hrt-contact-hero-subtitle{font-size:14px!important;padding:0 18px!important}
  body.hrt-site .hrt-contact-main>.elementor-container{display:flex!important;flex-direction:column!important;padding-left:18px!important;padding-right:18px!important}
  body.hrt-site .hrt-contact-form-col,body.hrt-site .hrt-contact-info-col{width:100%!important;max-width:100%!important;padding:28px 0!important;border:0!important}
  body.hrt-site .hrt-contact-form-row-two{grid-template-columns:1fr!important}
  body.hrt-site .hrt-contact-benefits>.elementor-container{display:grid!important;grid-template-columns:1fr!important}
  body.hrt-site .hrt-contact-benefit-item{width:100%!important;max-width:100%!important;border-right:0!important}
  body.hrt-site .hrt-contact-gallery>.elementor-container{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important}
  body.hrt-site .hrt-contact-gallery-col{width:100%!important;max-width:100%!important}
  body.hrt-site .hrt-contact-gallery-col:last-child{grid-column:1/-1!important}
  body.hrt-site .hrt-contact-welcome>.elementor-container{display:flex!important;flex-direction:column!important}

  /* Gallery */
  body.hrt-site.hrt-page-gallery .hrt-gallery-page-hero{min-height:470px!important;background-position:center center!important}
  body.hrt-site.hrt-page-gallery .hrt-gallery-page-hero>.elementor-container{padding:46px 20px!important}
  body.hrt-site.hrt-page-gallery .hrt-gallery-page-title .elementor-heading-title{font-size:clamp(44px,13vw,56px)!important}
  body.hrt-site.hrt-page-gallery .hrt-gallery-filter-row>.elementor-container{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;justify-content:flex-start!important;padding:0 4px 10px!important;scrollbar-width:none!important}
  body.hrt-site.hrt-page-gallery .hrt-gallery-filter-row>.elementor-container::-webkit-scrollbar{display:none}
  body.hrt-site.hrt-page-gallery .hrt-gallery-filter-col{flex:0 0 auto!important;width:auto!important;max-width:none!important}
  body.hrt-site.hrt-page-gallery .hrt-gallery-page-grid>.elementor-container{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important;padding:0 6px!important}
  body.hrt-site.hrt-page-gallery .hrt-gallery-page-item{width:auto!important;max-width:none!important;height:210px!important;grid-column:auto!important}
  body.hrt-site.hrt-page-gallery .hrt-gallery-page-item:nth-child(3n+1){grid-column:1/-1!important;height:250px!important}
  body.hrt-site.hrt-page-gallery .hrt-gallery-page-cta{min-height:360px!important}

  /* Footer */
  body.hrt-site .hrt-editable-footer__inner{display:grid!important;grid-template-columns:1fr!important;gap:28px!important;padding:42px 20px!important}
  body.hrt-site .hrt-editable-footer__brand,body.hrt-site .hrt-editable-footer__newsletter{grid-column:auto!important}
  body.hrt-site .hrt-editable-footer__about,body.hrt-site .hrt-editable-footer__contact p{max-width:100%!important}
  body.hrt-site .hrt-editable-footer__bottom{padding:18px 20px 24px!important;flex-direction:column!important;text-align:center!important}

  /* Custom modals and lightboxes */
  body.hrt-site .hrt-gallery-lightbox,body.hrt-site .hrt-gallery-page-lightbox,body.hrt-site .hrbm-room-lightbox,body.hrt-site .hrt-booking-modal{padding:58px 10px 16px!important;align-items:center!important}
  body.hrt-site .hrt-gallery-page-lightbox__stage{max-width:100%!important;width:100%!important}
  body.hrt-site .hrt-gallery-page-lightbox__image,body.hrt-site .hrbm-room-lightbox img{max-width:100%!important;max-height:calc(100dvh - 100px)!important}
  body.hrt-site .hrbm-room-quick-modal{align-items:flex-end!important;padding:0!important}
  body.hrt-site .hrbm-room-quick-modal__dialog{display:block!important;width:100%!important;max-width:100%!important;max-height:94dvh!important;border-radius:16px 16px 0 0!important;overflow-y:auto!important}
  body.hrt-site .hrbm-room-quick-modal__media{min-height:260px!important;height:34dvh!important}
  body.hrt-site .hrbm-room-quick-modal__content{padding:28px 20px 34px!important}
  body.hrt-site .hrbm-room-quick-modal__content h2{font-size:40px!important}
  body.hrt-site .hrbm-room-quick-modal__actions{flex-direction:column!important}
  body.hrt-site .hrbm-room-quick-modal__actions a,body.hrt-site .hrbm-room-quick-modal__actions button{width:100%!important}
  body.hrt-site .hrt-booking-modal__dialog{width:calc(100% - 16px)!important;max-width:100%!important;max-height:calc(100dvh - 16px)!important;margin:8px!important;overflow-y:auto!important}
}

@media (max-width:420px){
  body.hrt-site .elementor-section.elementor-section-boxed>.elementor-container{padding-left:15px!important;padding-right:15px!important}
  body.hrt-site .hrt-hero-slide__inner{padding-left:18px!important;padding-right:18px!important}
  body.hrt-site .hrt-home-intro{padding-left:16px!important;padding-right:16px!important}
  body.hrt-site .hrt-gallery-strip>.elementor-container{grid-template-columns:1fr!important}
  body.hrt-site .hrt-gallery-strip .hrt-gallery-tile:last-child{grid-column:auto!important}
  body.hrt-site .hrt-contact-gallery>.elementor-container{grid-template-columns:1fr!important}
  body.hrt-site .hrt-contact-gallery-col:last-child{grid-column:auto!important}
  body.hrt-site.hrt-page-gallery .hrt-gallery-page-grid>.elementor-container{grid-template-columns:1fr!important}
  body.hrt-site.hrt-page-gallery .hrt-gallery-page-item,body.hrt-site.hrt-page-gallery .hrt-gallery-page-item:nth-child(3n+1){grid-column:auto!important;height:230px!important}
  body.hrt-site .hrt-experience-activity-row>.elementor-container{grid-template-columns:1fr!important}
  body.hrt-site.hrt-page-rooms-and-accommodation .hrt-rooms-amenities-row>.elementor-container{grid-template-columns:1fr!important}
  body.hrt-site.hrt-page-rooms-and-accommodation .hrt-rooms-amenity-col:last-child{grid-column:auto!important}
}
