/* Existing Elementor components only. Desktop layout is unchanged outside the partner buttons. */
.ld-responsive .ld-home-menu-control { display:none; }
.ld-responsive .ld-sponsor-row .elementor-widget-button { flex:0 1 auto; min-width:138px; }
.ld-responsive .ld-sponsor-row .elementor-button { display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:138px;font-size:12px!important;line-height:1.4;white-space:normal;text-transform:none; }
.ld-responsive .ld-sponsor-row .elementor-button:focus-visible { outline:2px solid #c99a3a;outline-offset:4px; }
.ld-responsive .hfe-skip-link:focus { min-height:44px; }
@media(min-width:1025px) {
  /* Restore the broken logo without shifting the existing desktop header. */
  .ld-responsive #masthead .elementor-widget-site-logo { height:16.5px; }
  .ld-responsive #masthead .hfe-site-logo-img { height:44px;width:auto;object-fit:contain;position:relative;top:-14px; }
}

@media(max-width:1180px) {
  /* Homepage welcome text has a 425px desktop offset in Elementor. */
  .ld-responsive.elementor-page-16 .elementor-element-d0d97d5 { margin-left:0!important;max-width:100%; }
}
@media(min-width:1025px) and (max-width:1180px) {
  .ld-responsive #masthead a.hfe-menu-item,
  .ld-responsive .ld-native-nav a,
  .ld-responsive .lt-menu-tab,
  .ld-responsive .ld-page .elementor-button,
  .ld-responsive.elementor-page-16 .elementor-button,
  .ld-responsive .ld-contact__line a,
  .ld-responsive #leonhard-faq nav a,
  .ld-responsive #leonhard-faq a[href^="tel:"],
  .ld-responsive #leonhard-about a[href^="tel:"],
  .ld-responsive #leonhard-imprint a { min-height:44px;display:inline-flex;align-items:center;justify-content:center; }
}

@media(max-width:1024px) {
  .ld-responsive.elementor-page-16 .elementor-element-8bf28fc { background-color:rgba(0,0,0,.48)!important;background-blend-mode:multiply; }
  /* The existing HFE dropdown must be allowed to leave its header container. */
  .ld-responsive #masthead { min-height:82px;padding:0 24px 0 86px!important; }
  .ld-responsive #masthead>.elementor,
  .ld-responsive #masthead>.elementor>.elementor-element { min-height:82px!important;height:auto!important;overflow:visible!important;width:100%!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-end!important; }
  .ld-responsive #masthead .elementor-widget-navigation-menu { width:auto!important;margin-left:auto!important;min-width:48px; }
  .ld-responsive #masthead .elementor-widget-spacer { width:0!important;min-width:0;flex:0 0 0;--spacer-size:0px; }
  .ld-responsive #masthead .elementor-widget-site-logo { width:70px!important;flex:0 0 70px;margin-right:auto; }
  .ld-responsive #masthead .hfe-site-logo-img { width:70px;height:44px;object-fit:contain; }
  .ld-responsive #masthead .hfe-nav-menu__toggle { display:flex;align-items:center;justify-content:center;min-width:48px;min-height:48px;margin:0;color:#c99a3a;background:transparent;border:1px solid rgba(201,154,58,.4); }
  .ld-responsive #masthead .hfe-nav-menu-icon svg { width:24px;height:24px;fill:#c99a3a; }
  .ld-responsive #masthead .hfe-dropdown { background:#0b0b0b;border:1px solid rgba(201,154,58,.3);max-height:calc(100dvh - 90px);overflow-y:auto; }
  .ld-responsive #masthead .hfe-dropdown a.hfe-menu-item { min-height:48px;padding:14px 22px!important;font-size:13px;line-height:1.5;white-space:normal; }
  .ld-responsive #masthead:before { left:20px;width:46px;height:46px;font-size:28px; }

  /* Homepage navigation keeps its existing editable links and adds a collapsible menu. */
  .ld-responsive.elementor-page-16 .ld-native-nav { position:relative;flex-direction:column!important;padding:20px 20px 14px!important;gap:8px!important;min-height:0!important; }
  .ld-responsive.elementor-page-16 .ld-native-nav .elementor-element-21ad4ff { order:0;min-width:0;width:auto;max-width:calc(100% - 140px);padding-top:58px!important; }
  .ld-responsive.elementor-page-16 .ld-native-nav .elementor-element-21ad4ff:before { width:44px;height:44px;font-size:25px; }
  .ld-responsive.elementor-page-16 .ld-native-nav .elementor-element-21ad4ff .elementor-heading-title { font-size:20px!important; }
  .ld-responsive.elementor-page-16 .ld-native-nav .ld-home-menu-control { display:block;position:absolute;right:20px;top:24px;width:auto;z-index:2; }
  .ld-responsive .ld-home-menu-toggle { min-width:64px;min-height:48px;padding:10px 12px;border:1px solid #c99a3a;border-radius:0;color:#e0bd6c;background:#0b0b0b;font:inherit;font-size:14px;line-height:1.5;cursor:pointer; }
  .ld-responsive.elementor-page-16 .ld-native-nav .ld-home-menu-links { display:block!important;width:100%!important;order:2;margin:0; }
  .ld-responsive.elementor-page-16 .ld-native-nav.ld-menu-ready:not(.ld-menu-open) .ld-home-menu-links { display:none!important; }
  .ld-responsive.elementor-page-16 .ld-native-nav .ld-home-menu-links p { display:flex;flex-wrap:wrap;justify-content:center;gap:4px 12px;white-space:normal; }
  .ld-responsive.elementor-page-16 .ld-native-nav .ld-home-menu-links a { display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:100px;padding:10px 12px;font-size:12px; }
  .ld-responsive.elementor-page-16 .ld-native-nav .elementor-element-21ad4ff a { display:inline-flex;align-items:center;min-height:44px; }
  .ld-responsive.elementor-page-16 .ld-native-split > .e-con { min-width:0;max-width:100%; }
  .ld-responsive.elementor-page-16 .ld-native .elementor-button,
  .ld-responsive .ld-page .elementor-button,
  .ld-responsive .lt-menu-tabs .lt-menu-tab { min-height:44px;display:inline-flex;align-items:center;justify-content:center;line-height:1.5;white-space:normal; }
  .ld-responsive.elementor-page-16 .elementor-element-b641167 .elementor-widget-text-editor a,
  .ld-responsive.elementor-page-16 .ld-footer-visit>a { display:inline-flex;align-items:center;min-height:44px; }
  .ld-responsive .ld-page .e-con-inner,
  .ld-responsive .ld-page .ld-contact>.e-con-inner>.e-con { min-width:0;max-width:100%; }
  .ld-responsive .ld-page .ld-contact>.e-con-inner { flex-wrap:wrap;gap:32px; }
  .ld-responsive .ld-page .ld-contact>.e-con-inner>.e-con { width:100%; }
  .ld-responsive .ld-page .ld-contact { display:block; }
  .ld-responsive .ld-contact-card a { overflow-wrap:anywhere; }
  .ld-responsive .ld-contact__line a { display:inline-flex;align-items:center;min-height:44px; }
  .ld-responsive .lt-menu-shell { padding:12px 0 48px; }
  .ld-responsive .lt-menu-card__inner { padding:28px 24px; }
  .ld-responsive .lt-menu__list { grid-template-columns:minmax(0,1fr); }
  .ld-responsive .lt-item { grid-template-columns:minmax(0,1fr) auto;gap:16px; }
  .ld-responsive .lt-item__left { min-width:0;overflow-wrap:anywhere; }
  .ld-responsive .lt-item__leader { display:none; }
  .ld-responsive .lt-item__price { max-width:130px;white-space:normal;line-height:1.6;text-align:right; }
  .ld-responsive .lt-item__variantLabel { display:block; }
  .ld-responsive .lt-item__desc { font-size:15px;line-height:1.65; }
  .ld-responsive .lt-item__name { font-size:20px;line-height:1.35; }
  .ld-responsive .lt-menu__title { overflow-wrap:anywhere; }
  .ld-responsive #leonhard-about .lh-hero-copy,
  .ld-responsive #leonhard-about .lh-story>*,
  .ld-responsive #leonhard-gifts .lg-layout>* { min-width:0; }
  .ld-responsive #leonhard-about .lh-story { gap:40px; }
  .ld-responsive #leonhard-about a.lh-button { max-width:100%;white-space:normal;text-align:center; }
  .ld-responsive #leonhard-faq nav a,
  .ld-responsive #leonhard-faq a[href^="tel:"],
  .ld-responsive #leonhard-about a[href^="tel:"],
  .ld-responsive #leonhard-imprint a { display:inline-flex;align-items:center;min-height:44px;max-width:100%;overflow-wrap:anywhere; }
}

@media(max-width:767px) {
  .ld-responsive.elementor-page-28 .elementor-element-c321fe7 .elementor-heading-title { font-size:clamp(34px,10vw,42px)!important;line-height:1.15; }
  .ld-responsive.elementor-page-16 .ld-native-hero { min-height:720px; }
  .ld-responsive.elementor-page-16 .ld-native-nav .elementor-element-21ad4ff { max-width:calc(100% - 118px); }
  .ld-responsive.elementor-page-16 .elementor-element-c93bfb9 .elementor-heading-title { font-size:clamp(36px,11vw,56px)!important;line-height:1.15!important;letter-spacing:.04em; }
  .ld-responsive.elementor-page-16 .elementor-element-166c81f { width:100%;padding-left:16px;padding-right:16px; }
  .ld-responsive.elementor-page-16 .ld-native h2.elementor-heading-title { font-size:clamp(30px,8.8vw,42px)!important;line-height:1.16!important;overflow-wrap:normal; }
  .ld-responsive.elementor-page-16 .elementor-element-572883b .elementor-widget-image img { height:auto!important;min-height:0!important;aspect-ratio:4/5;object-fit:cover; }
  .ld-responsive.elementor-page-16 .elementor-element-cdacbcf img { aspect-ratio:4/3!important; }
  .ld-responsive.elementor-page-16 .ld-sponsor-row { flex-direction:row!important;flex-wrap:wrap!important;gap:12px!important; }
  .ld-responsive.elementor-page-16 .ld-sponsor-row .elementor-widget-button { width:calc(50% - 6px)!important;min-width:0;max-width:none; }
  .ld-responsive.elementor-page-16 .ld-sponsor-row .elementor-button { width:100%;min-width:0;min-height:48px;letter-spacing:.08em!important;padding:10px 8px!important; }
  .ld-responsive.elementor-page-16 .ld-footer-visit { grid-template-columns:44px minmax(0,1fr);gap:12px;padding:20px 14px; }
  .ld-responsive.elementor-page-16 .ld-footer-visit div { min-width:0;overflow-wrap:anywhere; }
  .ld-responsive.elementor-page-16 .ld-footer-links a { min-width:0;flex:1 1 calc(50% - 14px); }
  .ld-responsive .ld-page .ld-section { padding:48px 16px; }
  .ld-responsive .ld-page .ld-page__hero { min-height:0;padding:64px 20px 48px; }
  .ld-responsive .ld-page h1 { font-size:clamp(34px,10vw,48px);line-height:1.08;overflow-wrap:anywhere; }
  .ld-responsive .ld-page .ld-page__lead { font-size:16px;line-height:1.7; }
  .ld-responsive .ld-page .ld-grid>.e-con-inner { flex-direction:column;gap:18px; }
  .ld-responsive .ld-page .ld-card { width:100%;min-width:0;min-height:240px;padding:26px 22px; }
  .ld-responsive .ld-page .ld-event { padding:24px 20px; }
  .ld-responsive .lt-menu-tabs { margin-bottom:24px;padding:6px;gap:6px; }
  .ld-responsive .lt-menu-tabs .lt-menu-tab { font-size:12px;padding:12px!important; }
  .ld-responsive .lt-menu-card__inner { padding:24px 16px; }
  .ld-responsive .lt-menu__title--depth-0 { font-size:28px!important;line-height:1.2; }
  .ld-responsive .lt-item { gap:12px;padding:20px 0; }
  .ld-responsive .lt-item__price { max-width:94px;font-size:15px; }
  .ld-responsive .lt-item__variantLabel { font-size:13px; }
  .ld-responsive #leonhard-about .lh-hero-copy { padding:48px 22px; }
  .ld-responsive #leonhard-about .lh-wrap { padding-left:22px;padding-right:22px; }
  .ld-responsive #leonhard-about h1 { font-size:38px;overflow-wrap:normal; }
  .ld-responsive #leonhard-about h2 { font-size:32px; }
  .ld-responsive #leonhard-about .lh-photo img { object-fit:cover; }
  .ld-responsive #leonhard-gifts .lg-layout { gap:28px; }
}
