/* Shared mobile rules. Desktop components keep their existing layout. */
.mobile-page-nav { display:none; }
.mobile-depth > summary { display:none; }
.mobile-plan-nav { display:none; }

@media (max-width:1100px) {
  .lotus-unified main :is(button, summary, a.btn, [role="button"]:not(svg *)) { min-height:44px; }
  .lotus-unified button { min-width:44px; }
  .lotus-unified main summary { padding-block:10px; cursor:pointer; }
  .lotus-unified main :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="hidden"]), select, textarea) { font-size:16px !important; }
  .lotus-unified main :is(input[type="range"], label:has(> input[type="checkbox"]), label:has(> input[type="radio"])) { min-height:44px; }
  .lotus-unified main :is(.hero-actions,.section-actions,.cta-buttons,.topic-actions,.local-place-links) { flex-wrap:wrap; }
  .lotus-unified main :is(.grid > *, .zone-grid > *, .local-services > *, .finance-planner > *) { min-width:0; }
  .places-filters button { min-height:44px; font-size:14px; }
  .map-controls button { width:44px; height:44px; }
  .places-office-link { min-height:44px; font-size:14px; }
  .local-text-link, .local-phone, .local-service a, .topic-text-link, .topic-related a { display:inline-flex; align-items:center; min-height:44px; }
}

@media (max-width:700px) {
  :root { --lotus-photo-hero-height-mobile:0px; }
  .lotus-unified main > :is(.hero,.page-intro,.money-hero,.privacy-intro,.pnog-hero) { min-height:0; padding-block:28px !important; }
  .lotus-unified main .hero:has(> .hero-bg), .lotus-unified.page-ablauf main .ablauf-hero:has(> .hero-bg) { min-height:0; padding-block:32px !important; }
  .lotus-unified main :is(.hero-copy,.hero-content,.page-intro .wrap) { min-width:0; }
  .lotus-unified main :is(.hero-actions,.section-actions,.cta-buttons) { gap:10px; margin-top:20px; }
  .lotus-unified main :is(.hero-actions,.section-actions,.cta-buttons) > :is(a,button) { min-height:48px; }
  .lotus-unified main :is(.hub-section,.relative-section,.topic-section,.local-section,.zone:not(.hero)) { padding-block:32px; }
  .lotus-unified main :is(.section-heading,.section-header,.relative-section-head) { margin-bottom:20px; }
  .lotus-unified main :is(.hero .lead,.page-intro .lead) { margin-bottom:16px; line-height:1.6; }
  .breadcrumb-list, .topic-breadcrumb { margin-bottom:16px !important; flex-wrap:wrap; }

  /* Both services have the same compact, fully clickable card. */
  .home-gateway { padding-top:24px; }
  .home-gateway h1 { font-size:36px; }
  .home-gateway__eyebrow { margin-bottom:10px; }
  .home-gateway__intro { margin-bottom:18px; }
  .home-gateway__prompt { margin-top:16px; }
  .home-gateway__prompt h2 { font-size:18px; margin-bottom:6px; }
  .home-gateway__prompt p { line-height:1.5; }
  .home-choices { gap:12px; }
  .home-choice { grid-template-columns:minmax(0,1fr) 24%; }
  .home-choice__body { padding:16px; }
  .home-choice h2 { font-size:21px; margin-bottom:8px; }
  .home-choice__description { font-size:15px; line-height:1.5; margin-bottom:12px; }
  .home-choice__eyebrow { font-size:12px; }
  .home-choice__bottom { padding-top:10px; font-size:14px; }
  .home-choice__arrow { width:28px; height:28px; flex-basis:28px; }
  .home-guidance { padding-block:20px; gap:4px; }
  .home-guidance h2 { font-size:16px; }
  .home-guidance__link { min-height:44px; }

  /* Read first, act, then see supporting photography and explanations. */
  .zone.hero .zone-grid { display:flex; flex-direction:column; gap:20px; }
  .zone.hero .zone-content { order:-1; width:100%; display:flex; flex-direction:column; align-items:flex-start; }
  .zone.hero .zone-content > .hero-benefits { order:1; margin-block:16px 0; }
  .zone.hero .zone-media { width:100%; }
  .zone.hero .zone-media img { height:160px; width:100%; object-fit:cover; }
  .zone.hero .direct-answer { padding:16px !important; margin-top:16px !important; }
  .zone.hero .cta-buttons { width:100%; }
  .local-page .local-eyebrow { font-size:12px; }
  .local-page .local-intro { padding-block:28px; }
  .local-services { gap:12px; }
  .local-map-credit { font-size:12px; }
  .topic-hero-photo img { max-height:180px; }

  .lotus-unified main h2[id] { scroll-margin-top:96px; }
  .mobile-page-nav { display:block; padding-block:12px; }
  .mobile-page-nav details { border-block:1px solid var(--lotus-border); }
  .mobile-page-nav summary { color:var(--lotus-teal-dark); font-weight:700; min-height:48px; padding:12px 0; }
  .mobile-page-nav nav { display:grid; gap:0; padding-bottom:12px; }
  .mobile-page-nav a { display:flex; align-items:center; min-height:44px; padding:8px 0; color:var(--lotus-teal-dark); line-height:1.45; overflow-wrap:break-word; text-decoration:underline; text-underline-offset:3px; }
  .mobile-depth { width:100%; }
  .mobile-depth > summary { display:list-item; min-height:48px; padding:12px 0; color:var(--lotus-teal-dark); font-weight:700; }
  .mobile-depth[open] > summary { margin-bottom:12px; }

  /* The form is the primary action; no competing global contact bar. */
  .inquiry-section { padding-block:24px; }
  .inquiry-layout { gap:18px; }
  .inquiry-intro h1 { margin-bottom:12px; }
  .inquiry-backlink { margin-bottom:16px; }
  .inquiry-phone { margin-top:12px; }
  .inquiry-card { padding:18px 16px; }
  .inquiry-progress { margin-bottom:18px; padding-bottom:14px; }
  .inquiry-choice { padding:12px; min-height:72px; }
  .inquiry-choice small { font-size:14px; }
  .inquiry-card .inquiry-actions { position:sticky; bottom:0; z-index:2; padding-block:12px; margin-top:16px; background:#fff; border-top:1px solid var(--lotus-border); }
  .inquiry-actions [data-next], .inquiry-actions [type="submit"] { margin-left:auto; }

  .pg-hero { padding-block:24px !important; }
  .pg-hero-grid { gap:20px; }
  .pg-hero .pg-lead { margin-bottom:12px; }
  .pg-promises { margin-block:12px; gap:6px; }
  .pg-hero .pg-start { padding:20px; }
  .pg-start h2 { font-size:23px; }
  .pg-start-top { display:none; }
  .pg-hero .pg-start #start-btn { margin-top:12px; }
  .pg-mini-steps { padding-block:10px; margin-block:8px; }
  .pg-hero .calc-app .option { padding:12px; }
  .pg-hero .calc-app .wizard__actions { flex-wrap:wrap; }
  .pg-hero .wizard.is-active:has(.wizard-content.is-active:not([data-step-id="result"])) { padding-bottom:130px; }
  .pg-hero .wizard.is-active:has(.wizard-content.is-active:not([data-step-id="result"])) .wizard__nav { position:fixed; bottom:0; inset-inline:0; z-index:900; padding:12px 20px calc(12px + env(safe-area-inset-bottom)); border-top:1px solid var(--lotus-border); background:#fff; }
  .pg-hero .wizard.is-active { transform:none !important; }
  .pg-hero .wizard__nav .nav-hint:empty { display:none; }

  main > #planer-rechner.planner-hero { padding-block:24px !important; }
  .planner-hero .rechner-intro { margin-bottom:16px; }
  .rechner-intro h1 { margin-bottom:12px; }
  .planning-journey { margin-block:16px; }
  .planning-assistant-card { padding:20px; }
  .assistant-header { gap:16px; }
  .assistant-title-area { gap:0; }
  .assistant-title-area .assistant-icon { display:none; }
  .assistant-title-area h3 { font-size:22px; margin-bottom:8px; }
  .assistant-title-area p { line-height:1.5; margin:0; }
  .planner-service-guide { margin-top:16px; gap:12px; }
  .planner-service-guide p { font-size:15px; }
  .planner-entry-note { margin-block:12px; }
  .mobile-plan-nav { display:flex; grid-column:1/-1; position:sticky; top:76px; z-index:5; gap:8px; padding-block:8px; background:var(--lotus-surface); border-bottom:1px solid var(--lotus-border); }
  .mobile-plan-nav a { display:flex; justify-content:center; align-items:center; flex:1; min-height:44px; padding:8px; color:var(--lotus-teal-dark); font-weight:700; text-decoration:underline; text-underline-offset:3px; }
  .lotus-unified:has(.planner-hero,.pg-hero,.inquiry-section) .lotus-contact-bar { display:none; }
  .lotus-unified:has(.planner-hero,.pg-hero,.inquiry-section) { padding-bottom:0; }

  .page-finance main > .finance-hero { min-height:0; padding-block:28px !important; }
  .page-finance .finance-hero-background { height:100%; width:100%; opacity:.12; object-position:center; }
  .page-finance .finance-hero-grid { padding-top:0; }
  .page-finance .finance-hero-copy { padding-block:0; }
  .finance-nav .wrap { flex-wrap:wrap; white-space:normal; gap:4px 16px; }
  .finance-nav a { display:flex; align-items:center; min-height:44px; }
  .finance-journey .finance-grade-options { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .finance-journey .finance-grade-options span { min-height:48px; padding:10px 8px; }
  .finance-need-options { gap:8px; }
  .finance-result-layout > article { padding:20px; }
  .page-finanzierung .money-hero img { max-height:160px; object-fit:cover; }

  .page-angehoerige .relative-hero { padding-block:28px !important; min-height:0; }
  .relative-hero h1 { font-size:32px; margin-block:12px 16px; }
  .relative-hero__lead { font-size:16px; line-height:1.6; margin-bottom:16px; }
  .relative-check-grid { gap:8px; }
  .page-faq .faq-hero-inner { padding-block:28px; gap:20px; }
  .page-faq .faq-hero h1 { font-size:32px; }
  .page-faq .faq-topic { min-height:0; padding:14px; }
  .page-faq .faq-filter-row { flex-wrap:wrap; overflow:visible; }
  .page-faq .faq-filter { flex:1 1 130px; min-height:44px; }
  .page-faq .faq-explorer { padding-block:28px; }
  .places-search input { min-height:44px; }
  .places-map { min-height:0; max-height:360px; }
  .places-directory a { display:flex; align-items:center; min-height:44px; font-size:15px; }

  .jobs-page .career-intro { padding-block:24px !important; }
  .jobs-page .career-hero-grid { gap:12px; }
  .jobs-page .career-intro h1 { font-size:30px; }
  .jobs-page .career-intro .lead { margin-bottom:0; }
  .jobs-page .career-note ul { display:flex; flex-wrap:wrap; gap:8px 20px; margin-block:0 12px; }
  .jobs-page .career-note li strong { font-size:16px; }
  .jobs-page .career-note { margin-top:0; padding:0; border-left:0; }
  .jobs-page #stellen { padding-block:24px; }
  .jobs-page .jobs-toolbar { margin-block:16px; gap:12px; }
  .career-page .career-hero-photo img { max-height:180px; object-fit:cover; }
  .career-page .career-note { margin-top:20px; }
  .career-page .career-section { padding-block:32px; }
  .page-about .about-intro { min-height:0; }
  .page-about .about-hero-image { max-height:180px; object-fit:cover; }
  .error-container { padding:28px 20px; }
  .error-code { font-size:80px; }
  .thank-page { padding-block:32px; }
  .lotus-consent { padding:16px; }
  .lotus-consent h2 { font-size:20px; margin-bottom:10px; }
  .lotus-consent p { margin-block:0 12px; }
  .lotus-consent label { padding-block:12px; }
  .lotus-consent small { font-size:13px; line-height:1.5; }
  .lotus-consent-actions { margin-top:12px; gap:8px; }
  .lotus-consent button { min-height:44px; }
  .lotus-consent > a { display:inline-flex; align-items:center; min-height:44px; }
}

@media (max-width:380px) {
  .home-gateway h1 { font-size:32px; }
  .home-choice { grid-template-columns:minmax(0,1fr) 20%; }
  .home-choice__body { padding:14px; }
  .home-choice h2 { font-size:19px; }
  .home-choice__description { font-size:14px; }
  .finance-journey .finance-grade-options { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
