/* Little Elm Grooming — child theme styles */
:root {
	--legc-navy: #0F3F70;
	--legc-blue: #009FE3;
	--legc-blue-dark: #0086C2;
	--legc-sky: #8AD2F2;
	--legc-ice: #EEF7FC;
	--legc-gray: #9C9CA6;
	--legc-text: #1B2A3A;
}
html { scroll-behavior: smooth; }
body { font-family: 'Nunito', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif; color: var(--legc-text); font-size: 17px; line-height: 1.6; background: #fff; -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4, h5, h6 { font-family: 'Nunito', sans-serif; color: var(--legc-navy); font-weight: 800; line-height: 1.15; }
a { color: var(--legc-blue-dark); }
a:hover { color: var(--legc-navy); }
::selection { background: var(--legc-sky); color: var(--legc-navy); }

/* top bar */
.legc-topbar { background: var(--legc-navy); color: #DCEFFB; font-size: .9rem; font-weight: 700; }
.legc-topbar__in { max-width: 1200px; margin: 0 auto; padding: .45rem 16px; display: flex; justify-content: space-between; gap: 1rem; }
.legc-topbar a { color: #fff; text-decoration: none; }

/* Hello Elementor header (classic + dynamic markup) */
.site-header .header-inner { width: 100%; max-width: 1200px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.site-header.dynamic-header { max-width: none; }
@media (max-width: 767px) { .site-header .site-navigation { display: none !important; } }
@media (min-width: 768px) { .site-header .site-navigation-toggle-holder, .site-header .site-navigation-dropdown { display: none !important; } .site-header .site-navigation { display: block !important; } }
.site-header { max-width: 1200px; margin: 0 auto; padding: .8rem 16px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.site-header .site-branding .custom-logo { max-height: 96px; width: auto; }
.site-header .site-title a { color: var(--legc-navy); font-weight: 900; text-decoration: none; }
.site-header .site-description { display: none; }
.site-navigation ul.menu { display: flex; align-items: center; gap: .2rem; list-style: none; margin: 0; padding: 0; }
.site-navigation ul.menu li a { display: block; padding: .6rem .9rem; font-weight: 800; color: var(--legc-navy); text-decoration: none; border-radius: 999px; }
.site-navigation ul.menu li a:hover, .site-navigation ul.menu li.current-menu-item a { background: var(--legc-ice); }
.site-navigation ul.menu li.legc-menu-account a { color: var(--legc-blue-dark); }
.site-navigation ul.menu li.legc-menu-book a { background: var(--legc-blue); color: #fff; padding: .7rem 1.3rem; margin-left: .4rem; box-shadow: 0 6px 18px rgba(0, 159, 227, .3); }
.site-navigation ul.menu li.legc-menu-book a:hover { background: var(--legc-blue-dark); }
.site-navigation-toggle-holder .site-navigation-toggle { color: var(--legc-navy); }
.site-navigation-dropdown ul.menu li a { font-weight: 800; color: var(--legc-navy); background: #fff; border-bottom: 1px solid #E5EEF5; }
.site-navigation-dropdown ul.menu li.legc-menu-book a { background: var(--legc-blue); color: #fff; }

/* Hello default page wrapper for non-Elementor pages (account, booking…) */
.site-main.page { max-width: 1100px; margin: 0 auto; padding: 1.5rem 16px 4rem; }
.site-main.page .page-header .entry-title { font-size: 2.2rem; margin: .5rem 0 1rem; }

/* footer */
.site-footer { background: var(--legc-ice); color: var(--legc-navy); border-top: 1px solid #DCE8F1; max-width: none !important; padding: 2.2rem 16px; margin-top: 0; }
.site-footer .footer-inner { max-width: 1200px; margin: 0 auto; display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; }
.site-footer a { color: var(--legc-navy); }
.site-footer .site-title a, .site-footer .site-description { color: var(--legc-navy); font-weight: 700; }
.site-footer .copyright p { margin: 0; color: #5F6F80; }

/* Elementor helpers used by the page templates */
.legc-pill-btn .elementor-button { border-radius: 999px !important; font-weight: 800 !important; }
.legc-card { background: #fff; border-radius: 20px; box-shadow: 0 1px 2px rgba(15, 63, 112, .06), 0 10px 30px rgba(15, 63, 112, .08); }
.legc-eyebrow .elementor-heading-title { letter-spacing: .14em; text-transform: uppercase; font-size: .85rem !important; color: var(--legc-blue-dark) !important; font-weight: 900 !important; }
.legc-gallery .gallery-item img, .legc-gallery img { border-radius: 16px; aspect-ratio: 1; object-fit: cover; }
.legc-feature .elementor-icon-box-icon .elementor-icon { background: var(--legc-ice); border-radius: 18px; padding: .6em; }

@media (max-width: 767px) {
	body { font-size: 16px; }
	.legc-topbar__in span { display: none; }
	.legc-topbar__in { justify-content: center; }
	.site-header .site-branding .custom-logo { max-height: 66px; }
}

/* footer logo size */
.site-footer .site-branding .custom-logo, .site-footer .site-logo img, .site-footer img.custom-logo { max-height: 64px !important; width: auto !important; }
.site-footer .site-branding { max-width: 260px; }

/* mobile menu: collapsed until the toggle is tapped (matches Hello Elementor behaviour) */
@media (max-width: 767px) {
	.site-header .site-navigation-dropdown { position: absolute; left: 0; right: 0; top: 100%; z-index: 50; background: #fff; transform: scaleY(0); transform-origin: top; max-height: 0; overflow: hidden; transition: transform .2s, max-height .2s; box-shadow: 0 10px 20px rgba(15,63,112,.12); }
	.site-header .site-navigation-toggle-holder.elementor-active + .site-navigation-dropdown { transform: scaleY(1); max-height: 100vh; }
	.site-header .site-navigation-dropdown ul.menu { display: block; list-style: none; margin: 0; padding: 0; }
	.site-header .site-navigation-dropdown ul.menu li a { display: block; padding: 14px 20px; }
	.site-header { position: relative; }
	.site-header .site-navigation-toggle { background: none; border: 2px solid #DCE8F1; border-radius: 10px; padding: 10px 12px; }
}


/* top bar: mobile app link */
.legc-topbar__in { align-items: center; }
.legc-topbar__right { display: flex; align-items: center; gap: .9rem; flex-wrap: wrap; justify-content: center; }
.legc-topbar a.legc-topbar__app { background: var(--legc-blue); color: #fff; padding: .2rem .8rem; border-radius: 999px; font-weight: 800; line-height: 1.4; transition: background .15s; }
.legc-topbar a.legc-topbar__app:hover, .legc-topbar a.legc-topbar__app:focus-visible { background: var(--legc-blue-dark); }
@media (max-width: 767px) {
	.legc-topbar__right { gap: .7rem; }
	.legc-topbar { font-size: .85rem; }
}

/* mobile menu: dropdown height fix (Hello sets bottom:0 and absolute ul) */
@media (max-width: 767px) {
	.site-header .site-navigation-dropdown { bottom: auto; height: auto; margin-block-start: 0; }
	.site-header .site-navigation-dropdown ul.menu { position: static; width: 100%; }
}
/* home hero: centered on phones */
@media (max-width: 767px) {
	.elementor-element-9fe0eb2 > .elementor-widget-wrap > .elementor-widget { width: 100% !important; max-width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; text-align: center !important; }
	.elementor-element-9fe0eb2 .elementor-widget * { text-align: center !important; }
	.elementor-element-9fe0eb2 .elementor-widget-button .elementor-button { width: 260px; }
}
/* "Coming soon" tag on the app link (until the apps are on the App Store) */
.legc-topbar a.legc-topbar__app .legc-soon { display: inline-block; margin-left: .35rem; padding: 0 .45rem; border-radius: 999px; background: #fff; color: var(--legc-blue-dark); font-size: .72em; font-weight: 800; text-transform: uppercase; letter-spacing: .03em; vertical-align: 1px; }