/* Original Limu24 colours, typography, logo and photography. */
#ast-desktop-header .ast-above-header-wrap,#ast-desktop-header .ast-below-header-wrap,#ast-mobile-header .ast-above-header-wrap,#ast-mobile-header .ast-below-header-wrap{display:none}
#masthead .ast-primary-header-bar{min-height:88px;border-bottom:1px solid #af89583b;background:#232527}
#masthead .custom-logo{max-width:190px;width:190px;height:auto}
.limu-hero{background:linear-gradient(90deg,rgba(35,37,39,.88),rgba(35,37,39,.58) 48%,rgba(35,37,39,.22)),#232527 url('/assets/hero-desktop.webp') left center/cover no-repeat;color:#f7f2eb;font-family:'Inter Tight',sans-serif;padding:38px 30px 44px}
.limu-hero-inner{max-width:1180px;margin:auto;display:grid;grid-template-columns:1fr 520px;align-items:start;gap:65px}
.limu-intro{padding-top:58px}.limu-kicker{color:#af8958;font-size:12px;letter-spacing:2.2px;font-weight:600;margin:0 0 24px}
.limu-hero h1{font-family:'Inter Tight',sans-serif;color:#af8958;font-size:clamp(36px,4.1vw,58px);line-height:1.08;font-weight:600;letter-spacing:-1.7px;margin:0 0 24px}
.limu-description{font-size:18px;line-height:1.7;max-width:440px;color:#f7f2eb;margin-bottom:24px}
.limu-promises{display:flex;gap:18px;flex-wrap:wrap;font-size:13px;color:#eee0cf}.limu-promises span:before{content:'✓';color:#af8958;margin-right:7px}
.limu-rating{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:45px;color:#f7f2eb!important;font-size:13px;text-decoration:none!important}.limu-rating>span:first-child{color:#af8958;letter-spacing:2px}.limu-rating b{font-size:17px}
#limu24-new-booking{padding:0!important;max-width:none!important;min-width:0;margin:0!important}#limu24-booking-frame{min-height:490px}
@media(max-width:1050px){.limu-hero-inner{gap:26px;grid-template-columns:1fr 480px}.limu-hero{padding:25px}.limu-intro{padding-top:35px}}
@media(max-width:800px){#masthead .ast-primary-header-bar{min-height:66px}#masthead .custom-logo{width:145px;max-width:145px}.limu-hero{padding:22px 16px 28px;background-position:30% top}.limu-hero-inner{display:flex;flex-direction:column;gap:19px}.limu-intro{padding:0}.limu-kicker{font-size:10px;letter-spacing:1.4px;margin:0 0 9px}.limu-hero h1{font-size:31px;letter-spacing:-.7px;line-height:1.12;margin:0}.limu-hero h1 br{display:none}.limu-description{font-size:13px;line-height:1.5;margin:10px 0 0}.limu-description br{display:none}.limu-promises,.limu-rating{display:none}#limu24-new-booking{width:100%}}

@media(max-width:800px){#masthead .ast-primary-header-bar{padding-left:16px;padding-right:16px}.entry-content .limu-hero .limu-kicker{display:none}.entry-content .limu-hero .limu-description{margin:8px 0 0}.limu-hero h1{font-size:28px}.limu-hero-inner{gap:16px}.limu-hero{padding-top:18px}}

@media(max-width:800px){.limu-hero{background-image:linear-gradient(90deg,rgba(35,37,39,.88),rgba(35,37,39,.58) 48%,rgba(35,37,39,.22)),url(/assets/hero-mobile.webp)}}


/* Replace the archived WordPress menu's boxed mobile layout. */
@media(max-width:921px){
 #masthead #ast-hf-mobile-menu{display:flex;flex-direction:column;align-items:stretch;flex-wrap:nowrap;gap:0;width:100%;margin:0;padding:8px 20px 16px;list-style:none;border:0;box-sizing:border-box}
 #masthead #ast-hf-mobile-menu>.menu-item{display:block;float:none;width:100%;margin:0;padding:0;border:0;background:transparent}
 #masthead #ast-hf-mobile-menu>.menu-item>a{display:block;width:100%;height:auto;min-height:44px;padding:11px 8px;border:0;background:transparent;color:#af8958;font-size:16px;line-height:1.4;text-align:left;text-decoration:none;box-sizing:border-box}
 #masthead #ast-hf-mobile-menu>.language-menu{display:flex;flex-direction:row;align-items:center;gap:12px;border-top:1px solid #af89583b;margin-top:8px;padding-top:8px}
 #masthead #ast-hf-mobile-menu>.language-menu>a{width:auto;min-width:44px;text-align:center}
 #masthead #ast-hf-mobile-menu>.language-menu>a[aria-current=page]{text-decoration:underline;text-underline-offset:5px}
 #masthead #ast-hf-mobile-menu a:focus-visible{outline:2px solid #af8958;outline-offset:-2px}
}


/* Keep the entire journey step in a standard laptop viewport. */
@media(min-width:801px){
 .limu-hero{padding:24px 28px 30px}
 .limu-hero-inner{max-width:1240px;grid-template-columns:minmax(0,42fr) minmax(0,58fr);gap:36px}
 .limu-intro{padding-top:42px}.limu-hero h1{font-size:clamp(36px,3.6vw,54px)}
 .limu-description{font-size:17px;line-height:1.6}.limu-rating{margin-top:28px}
}
#limu24-booking-frame{min-height:0;scroll-margin-top:16px;overflow:hidden}
@media(min-width:922px){
 #masthead .main-header-menu>.language-menu{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center;gap:8px}
 #masthead .main-header-menu>.language-menu>a{display:inline-flex;padding:8px 3px;line-height:1.4}
}


/* The compact PWA form owns the mobile heading; avoid duplicate hero copy. */
@media(max-width:767px){.limu-hero .limu-intro{display:none}.limu-hero-inner{gap:0}}
@media(min-width:768px){.limu-hero h1{color:#f7f2eb;text-wrap:balance}.limu-description{text-wrap:pretty}}

/* Keep localized mobile headers on one row regardless of menu translation. */
@media(max-width:800px){
 .service-header{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;padding:14px 16px;min-height:66px}
 .service-header>a{min-width:0}.service-header>a>img{width:145px;max-width:100%;height:auto}
 .service-header .service-menu-toggle{margin:0;min-height:44px;padding:8px;font-size:13px}
 .service-header>.language-links{gap:9px;font-size:13px;margin:0}
 .service-header>nav#service-navigation{grid-column:1/-1;grid-row:2;width:100%;margin:0}
}


/* One compact navigation layout in EN, ET and RU. */
.service-header{font-family:'Inter Tight',Arial,sans-serif;line-height:1.5}
@media(max-width:800px){
 .service-header{grid-template-columns:minmax(0,1fr) auto;position:relative}
 .service-header .service-menu-toggle{grid-column:2;grid-row:1;min-width:44px;border:0;color:#af8958;font-size:26px;line-height:1;background:transparent}
 .service-header>.language-links{display:none;grid-column:1/-1;grid-row:3;padding:0 0 8px;gap:12px}
 .service-header:has(.service-menu-toggle[aria-expanded=true])>.language-links{display:flex}
 .service-header>.language-links a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}
 .service-header>nav#service-navigation a{padding:10px 0;font-size:16px}
 .popular-routes{box-sizing:border-box;text-align:left}
 .popular-routes .route-links{display:grid;grid-template-columns:minmax(0,1fr)}
 .popular-routes .route-links a{min-width:0;white-space:normal;overflow-wrap:anywhere;font-size:16px;line-height:1.5}
 .popular-routes h2{font:600 29px/1.25 'Inter Tight',Arial,sans-serif}
 .popular-routes p{font:16px/1.7 'Inter Tight',Arial,sans-serif;color:#232527}
}

/* Let the mobile booking form use the full screen width. */
@media(max-width:767px){.limu-hero{background:#f7f4ee;padding:0}.limu-hero-inner{width:100%;max-width:none}#limu24-new-booking,#limu24-booking-frame{width:100%;border:0;border-radius:0}}
