.lec-shell{--terracotta:#cd6235;--terracotta-deep:#ad4826;--ink:#15191a;--ink-soft:#273032;--cream:#f7f2eb;--paper:#fffdfa;--sage:#253332;--muted:#6d706d;--white:#fff;--radius:1.1rem;--radius-lg:1.75rem;--space-1:.65rem;--space-2:1rem;--space-3:1.5rem;--space-4:2.3rem;--space-5:4rem;--space-6:6.5rem;--container:75rem}
.lec-shell *{box-sizing:border-box}
.lec-shell{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55}
.lec-shell .container{width:min(calc(100% - 2.5rem),var(--container));margin-inline:auto}
.lec-shell a{color:inherit;text-decoration:none}
.lec-shell .site-header{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 1.25rem;position:absolute;inset:0 0 auto;z-index:5;color:#fff}
.lec-shell .brand{display:flex;align-items:center;gap:.6rem;font-size:.7rem;line-height:1.02}
.lec-shell .brand-mark{height:45px;width:45px;overflow:hidden;border:1px solid rgba(255,255,255,.65);border-radius:50%;display:block;background:#fff}
.lec-shell .brand-mark img{width:174px;height:174px;object-fit:cover;transform:translate(-59px,-32px);filter:contrast(1.1)}
.lec-shell .brand-name{font-weight:500;letter-spacing:.015em}
.lec-shell .primary-nav{display:none;align-items:center;gap:1.4rem;font-size:.78rem}
.lec-shell .primary-nav>a:not(.button){opacity:.92}
.lec-shell .menu-toggle{height:40px;width:44px;border:0;background:transparent;padding:10px;display:grid;gap:6px;cursor:pointer}
.lec-shell .menu-toggle span{display:block;height:1px;background:#fff;width:24px;transition:.25s}
.lec-shell .primary-nav.is-open{display:flex;position:absolute;top:67px;left:1rem;right:1rem;padding:1.25rem;flex-direction:column;align-items:stretch;border-radius:var(--radius);background:var(--ink);box-shadow:0 12px 32px #0005}
.lec-shell .button{display:inline-flex;justify-content:center;align-items:center;gap:.75rem;border:1px solid var(--terracotta);border-radius:99px;padding:.83rem 1.25rem;background:var(--terracotta);color:#fff;font-size:.78rem;font-weight:650;transition:background .2s,transform .2s}
.lec-shell .button:hover{background:var(--terracotta-deep);transform:translateY(-2px)}
.lec-shell .button-small{padding:.66rem 1rem;font-size:.7rem}
.lec-shell .button-outline{background:transparent;border-color:#d98361;margin-top:.6rem}
.lec-shell .button-light{background:#fff;color:var(--terracotta);border-color:#fff}
.lec-shell footer{background:var(--cream);padding:2.3rem 0;color:#555;font-size:.72rem}
.lec-shell .footer-inner{display:flex;gap:1.25rem;align-items:center;justify-content:space-between;flex-wrap:wrap}
.lec-shell .footer-brand{color:var(--ink);font-size:.72rem}
.lec-shell .footer-inner p{margin:0}
.lec-shell .footer-inner div{display:flex;gap:1rem}
.lec-shell .footer-inner a:hover{text-decoration:underline}
@media(min-width:700px){.lec-shell .site-header{height:88px;padding-inline:clamp(2rem,5vw,5rem)}
.lec-shell .menu-toggle{display:none}
.lec-shell .primary-nav{display:flex}
}
.lec-shell{--footer-social-size:2rem}
.lec-shell .footer-social{display:flex;align-items:center;gap:.45rem}
.lec-shell .footer-social a{width:var(--footer-social-size);height:var(--footer-social-size);display:grid;place-items:center;border:1px solid #d8cdc3;border-radius:50%;color:var(--ink);transition:color .2s,border-color .2s,background .2s,transform .2s}
.lec-shell .footer-social svg{width:.86rem;height:.86rem;fill:currentColor}
.lec-shell .footer-social a:hover,.lec-shell .footer-social a:focus-visible{background:var(--terracotta);border-color:var(--terracotta);color:#fff;text-decoration:none;transform:translateY(-2px)}
.lec-shell .footer-social a:focus-visible{outline:2px solid var(--terracotta);outline-offset:3px}
@media(max-width:699px){.lec-shell .footer-inner .footer-social{width:100%;justify-content:center}
}
.lec-shell{--legal-copy-width:46rem}
.lec-shell .footer-legal{width:100%;display:flex;justify-content:center;gap:1rem;padding-top:.2rem;font-size:.7rem}
.lec-shell .footer-legal a{color:#666}
.lec-shell .footer-legal a:hover{color:var(--terracotta);text-decoration:none}
.lec-shell{--legal-copy-width:46rem}
.lec-shell .footer-legal{width:100%;display:flex;justify-content:center;gap:1rem;padding-top:.2rem;font-size:.7rem}
.lec-shell .footer-legal a{color:#666}
.lec-shell .footer-legal a:hover{color:var(--terracotta);text-decoration:none}
.lec-shell .footer-inner{flex-wrap:nowrap}
.lec-shell .footer-inner>.footer-brand{order:1}
.lec-shell .footer-inner>p{order:2;flex:1;text-align:center}
.lec-shell .footer-inner>.footer-legal{order:3;width:auto;justify-content:flex-end;gap:.75rem;padding:0;font-size:.66rem}
.lec-shell .footer-inner>.footer-social{order:4;flex:0 0 auto;gap:.45rem}
@media(max-width:699px){.lec-shell footer{padding:2rem 0}
.lec-shell .footer-inner{flex-direction:column;gap:.9rem;text-align:center}
.lec-shell .footer-inner>.footer-brand{order:1}
.lec-shell .footer-inner>.footer-legal{order:2;width:100%;justify-content:center;flex-wrap:wrap}
.lec-shell .footer-inner>.footer-social{order:3;width:100%;justify-content:center}
.lec-shell .footer-inner>p{order:4;flex:initial;text-align:center;margin:0}
}
/* One shared CTA, stronger than the generic page button rules. */
.lec-site.lec-shell:is(.lec-homepage,.lec-pages) .floating-session-cta{position:fixed;top:50%;right:0;bottom:auto;z-index:20;display:inline-flex;justify-content:center;align-items:center;gap:.75rem;border:1px solid var(--terracotta);padding:.9rem .65rem;border-radius:.75rem 0 0 .75rem;background:var(--terracotta);color:#fff;font-family:inherit;font-size:.7rem;font-weight:650;line-height:1.55;white-space:nowrap;writing-mode:vertical-rl;text-orientation:mixed;opacity:0;pointer-events:none;transform:translate(100%,-50%);box-shadow:none;transition:opacity .2s,transform .2s}
.lec-site.lec-shell:is(.lec-homepage,.lec-pages) .floating-session-cta.is-visible{opacity:1;pointer-events:auto;transform:translate(0,-50%)}
.lec-site.lec-shell:is(.lec-homepage,.lec-pages) .floating-session-cta:hover{background:var(--terracotta-deep)}
.lec-site.lec-shell:is(.lec-homepage,.lec-pages) .floating-session-cta.is-visible:hover{transform:translate(-.25rem,-50%)}
@media(max-width:699px){.lec-site.lec-shell:is(.lec-homepage,.lec-pages) .floating-session-cta{top:55%;padding:.72rem .48rem;font-size:.6rem;transform:translate(100%,-50%)}
.lec-site.lec-shell:is(.lec-homepage,.lec-pages) .floating-session-cta.is-visible{transform:translate(0,-50%)}
.lec-site.lec-shell:is(.lec-homepage,.lec-pages) .floating-session-cta.is-visible:hover{transform:translate(-.18rem,-50%)}
}
.lec-shell .site-header .brand,.lec-shell .footer-brand{flex-shrink:0}
.lec-shell .site-logo{display:block;width:64px;height:auto;aspect-ratio:1;object-fit:contain}
@media(min-width:700px){.lec-shell .site-header .site-logo{width:76px}
}
.lec-shell footer{padding-block:1rem}
.lec-shell .footer-brand .site-logo{width:auto;height:70px;max-width:100%;aspect-ratio:auto;object-fit:contain}
@media(max-width:699px){.lec-shell footer{padding-block:1rem}
.lec-shell .footer-inner{gap:.65rem}
.lec-shell .footer-brand .site-logo{height:60px}
}
.lec-shell{position:relative;width:100%;color:var(--ink)}
.lec-shell,.lec-shell *,.lec-shell *::before,.lec-shell *::after{box-sizing:border-box}
.lec-shell button{font-family:inherit}
.lec-shell a:focus-visible,.lec-shell button:focus-visible{outline:2px solid var(--terracotta);outline-offset:3px}
@media(prefers-reduced-motion:reduce){.lec-shell *{transition:none!important}
}

.lec-shell{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55}
.lec-shell .site-header .brand,.lec-shell .footer-brand{font-size:.7rem;line-height:1.02}
.lec-shell .menu-toggle:hover,.lec-shell .menu-toggle:focus{background:transparent}

/* Override Hello/Elementor defaults only on the adopted presentation pages. */
.lec-shell:is(.lec-homepage,.lec-pages) a{font-family:inherit}
.lec-shell:is(.lec-homepage,.lec-pages) .site-header{width:100%;max-width:none;margin-inline:0;flex-wrap:nowrap}
.lec-shell:is(.lec-homepage,.lec-pages) .primary-nav>a:not(.button),.lec-shell:is(.lec-homepage,.lec-pages) .footer-legal a{font-size:inherit;font-weight:inherit}
.lec-shell:is(.lec-homepage,.lec-pages) .primary-nav>a{white-space:nowrap}
.lec-shell:is(.lec-homepage,.lec-pages) .primary-nav>a:not(.button){color:inherit}
.lec-shell:is(.lec-homepage,.lec-pages) .footer-legal a{color:#666}
.lec-shell:is(.lec-homepage,.lec-pages) .footer-legal a:hover{color:var(--terracotta);text-decoration:none}
.lec-shell:is(.lec-homepage,.lec-pages) .menu-toggle{border-radius:0;box-shadow:none}
.lec-shell:is(.lec-homepage,.lec-pages) .brand{color:inherit}
.lec-shell:is(.lec-homepage,.lec-pages) .footer-brand{font-size:.7rem;color:var(--ink)}
.lec-shell:is(.lec-homepage,.lec-pages) .footer-social a{font-size:inherit}
.lec-shell:is(.lec-homepage,.lec-pages) .button{font-size:.78rem;color:#fff}
.lec-shell:is(.lec-homepage,.lec-pages) .button-small{font-size:.7rem}
.lec-shell:is(.lec-homepage,.lec-pages) .button-light{color:var(--terracotta)}
.lec-commerce-header .site-header{position:relative;background:var(--ink);color:#fff}
.lec-commerce-header{background:var(--ink)}
.lec-commerce-footer{background:var(--cream)}

/* Product content remains Elementor #878. Only its shared shell is protected
   from Hello's header width, Elementor kit typography and WooCommerce buttons. */
body.single-product .lec-shell:is(.lec-commerce-header,.lec-commerce-footer) a{font-family:inherit}
body.single-product .lec-commerce-header .site-header{width:100%;max-width:none;margin-inline:0;flex-wrap:nowrap}
body.single-product .lec-commerce-header .primary-nav>a{white-space:nowrap}
body.single-product .lec-commerce-header .primary-nav>a:not(.button){font-size:inherit;font-weight:inherit;color:inherit}
body.single-product .lec-commerce-header .brand{color:inherit}
body.single-product .lec-commerce-header .menu-toggle{border-radius:0;box-shadow:none}
body.single-product .lec-commerce-header .primary-nav .button{
    display:inline-flex;justify-content:center;align-items:center;gap:.75rem;
    margin:0;padding:.66rem 1rem;border:1px solid var(--terracotta);border-radius:99px;
    background:var(--terracotta);color:#fff;font-size:.7rem;font-weight:650;line-height:1.55;
    box-shadow:none;text-shadow:none;transition:background .2s,transform .2s;
}
body.single-product .lec-commerce-header .primary-nav .button:hover{background:var(--terracotta-deep);color:#fff;transform:translateY(-2px)}
body.single-product .lec-commerce-footer .footer-brand{font-size:.7rem;color:var(--ink)}
body.single-product .lec-commerce-footer .footer-legal a{font-size:inherit;font-weight:inherit;color:#666}
body.single-product .lec-commerce-footer .footer-legal a:hover{color:var(--terracotta);text-decoration:none}
body.single-product .lec-commerce-footer .footer-social a{font-size:inherit}

.lec-booking-selection .site-header{position:relative;color:var(--ink)}
.lec-booking-selection .menu-toggle span{background:var(--ink)}
.lec-booking-selection .primary-nav.is-open{color:#fff}

/* Legal links share one group, wrapping on small screens. */
.lec-shell .footer-inner{flex-wrap:wrap}
