/* Horizon mobile refinements (30/09/2026): touch targets, iOS input zoom, legibility, gallery CLS, compact footer. */

/* Turnstile (loaded on demand): reserve the standard 65px widget height. */
.horizon-demo-style .cf-turnstile{min-height:65px}

/* Tour gallery: keep Owl's space reserved before init, avoiding a late ~200px layout shift. */
.horizon-demo-style .st-gallery.style-slider .owl-carousel:not(.owl-loaded){display:flex;gap:10px;overflow:hidden}
.horizon-demo-style .st-gallery.style-slider .owl-carousel:not(.owl-loaded)>.item-gallery{flex:0 0 100%;width:100%;height:auto;min-width:0}
@media(min-width:768px){.horizon-demo-style .st-gallery.style-slider .owl-carousel:not(.owl-loaded)>.item-gallery{flex-basis:calc(50% - 5px);width:calc(50% - 5px);margin-left:calc(25% - 2.5px)}.horizon-demo-style .st-gallery.style-slider .owl-carousel:not(.owl-loaded)>.item-gallery~.item-gallery{margin-left:0}}

@media(max-width:991px){
 /* Tour program accordion. */
 body.horizon-demo-style .st-single-service-content .accordion-button{min-height:44px;padding-top:10px;padding-bottom:10px}
 /* Calendar actions. */
 body.horizon-demo-style button.enquiry,body.horizon-demo-style button.private{min-height:44px}
}

@media(max-width:767px){
 /* Top bar (only About/Contact/social visible here): 40px tap height inside the 42px bar. */
 body.horizon-demo-style #topbar .topbar-items>li>a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;min-width:40px;font-size:12px!important}
 /* Inputs at 16px: iOS Safari no longer zooms on focus. */
 body.horizon-demo-style input:is([type=text],[type=email],[type=tel],[type=search],[type=number],[type=password],[type=url],[type=date],:not([type])),body.horizon-demo-style select,body.horizon-demo-style textarea{font-size:16px!important}

 /* Minimum legible sizes for small labels. */
 body.horizon-demo-style .services-item.grid .st-tag-feature-sale .featured,body.horizon-demo-style .services-item .featured,body.horizon-demo-style .hz-adventures-eyebrow,body.horizon-demo-style .wp-google-time{font-size:12px!important}

 /* Home: links and CTA at 44px. */
 body.horizon-demo-style .hz-departure-link,body.horizon-demo-style .hz-destinations-all{min-height:44px;display:inline-flex;align-items:center}
 body.horizon-demo-style .hz-destination-helper a{display:inline-flex;align-items:center;min-height:44px}
 body.horizon-demo-style .wp-gr .grw-prev,body.horizon-demo-style .wp-gr .grw-next{width:40px!important;height:40px!important}

 /* Breadcrumbs (catalog, trip, hub). */
 body.horizon-demo-style .hz-guided-breadcrumb a,body.horizon-demo-style .hz-hub-breadcrumb a{display:inline-block;padding:10px 0}
 body.horizon-demo-style #st-content-wrapper .hz-guided-breadcrumb{margin-top:-10px}

 /* Destination hub: jump links and tour lists. */
 .hz-destination-hub .hz-hub-jumps a{display:inline-flex;align-items:center;min-height:40px}
 .hz-destination-hub .hz-hub-jumps{padding:10px 0;gap:0 22px}
 .hz-destination-hub .hz-hub-tour-links li{padding-top:0}
 .hz-destination-hub .hz-hub-tour-links a{padding:10px 0}
 .hz-destination-hub .hz-hub-detail{display:inline-flex;align-items:center;min-height:44px;margin-top:8px}

 /* Sliders: larger hit areas without changing the visuals. */
 body.horizon-demo-style :is(.swiper-pagination-bullet,.owl-dot,.rpi-dot){position:relative;margin-left:9px!important;margin-right:9px!important}
 body.horizon-demo-style :is(.swiper-pagination-bullet,.owl-dot,.rpi-dot):after{content:"";position:absolute;inset:-16px -9px}
 body.horizon-demo-style .elementor-swiper-button{width:44px;height:44px;display:flex;align-items:center;justify-content:center}

 /* Footer (Elementor 257 and translations): compact two-column link area. */
 body.horizon-demo-style #main-footer .elementor-element-ae6ed09>.elementor-container{flex-wrap:wrap}
 body.horizon-demo-style #main-footer .elementor-element-525a8c0a,body.horizon-demo-style #main-footer .elementor-element-13798b67{width:50%!important}
 body.horizon-demo-style #main-footer .elementor-element-307c6bd p{margin-bottom:10px}
 body.horizon-demo-style #main-footer .elementor-element-32e67f5 img{width:120px!important;height:auto}
 body.horizon-demo-style #main-footer :is(.elementor-element-77e0bef8,.elementor-element-7c691de8,.elementor-element-b7f9a75,.elementor-element-5b0e920,.elementor-element-f9413bb,.elementor-element-761fc22d){margin-bottom:0!important}
 body.horizon-demo-style #main-footer :is(.elementor-element-77e0bef8,.elementor-element-7c691de8,.elementor-element-b7f9a75,.elementor-element-5b0e920,.elementor-element-f9413bb,.elementor-element-761fc22d) a{display:inline-block;padding:12px 0}
 body.horizon-demo-style #main-footer :is(.elementor-element-b7f9a75,.elementor-element-761fc22d) br{display:none}
 body.horizon-demo-style #main-footer .elementor-element-bcaabd0 a{display:inline-block;padding:9px 0}
 body.horizon-demo-style #main-footer .elementor-element-bcaabd0 p{margin-bottom:4px}
 body.horizon-demo-style #main-footer .elementor-element-18fe78d0 .elementor-social-icon{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
}

/* Tour gallery on phones: counter bottom-left, "All photos" bottom-right (they overlapped in the centre). */
@media(max-width:767px){
 body.horizon-demo-style .st-gallery.style-slider .count{left:12px!important;right:auto!important;bottom:12px!important;transform:none!important;padding:8px 14px!important;line-height:20px!important}
 body.horizon-demo-style .st-gallery.style-slider .shares{right:12px!important;bottom:12px!important;left:auto!important}
 body.horizon-demo-style .st-gallery.style-slider .st-gallery-popup{padding:8px 12px!important;font-size:14px!important;line-height:20px!important;min-height:36px}
}

/* Larger hit areas without moving the layout: Google reviews links and location breadcrumb. */
@media(max-width:767px){
 body.horizon-demo-style .wp-gr a.wp-google-name,body.horizon-demo-style .wp-gr .wp-google-name>a{padding:10px 0!important;margin:-10px 0!important}
 body.horizon-demo-style .wp-gr .wp-google-wr>a{display:inline-flex!important;align-items:center;min-height:40px}
 body.horizon-demo-style .st-banner-search-form .st-breadcrumb ul>li>a{position:relative}
 body.horizon-demo-style .st-banner-search-form .st-breadcrumb ul>li>a:after{content:"";position:absolute;inset:-10px -4px}
}

/* IT footer: long email links must wrap inside the tablet column. */
@media(min-width:768px) and (max-width:991px){
 body.horizon-demo-style [data-elementor-id="19837"] .link_footer{white-space:normal!important;overflow-wrap:anywhere!important}
}
