/* Küchenanwalt.de – Mobile Optimierung v1 (24.10.2026)
   Additiv: Desktop ab 901px unverändert. Keine CMS- oder Suchlogik betroffen. */
@media (max-width:900px) {
  html { -webkit-text-size-adjust:100%; text-size-adjust:100%; }
  body { min-width:0; }
  img, picture, video, iframe { max-width:100%; }
  img { height:auto; }
  main.container, .container, .cms-inhaltsblock, .ka-inner-page,
  .startseite-hauptteaser, .startseite-teaserblock { min-width:0; }
  main.container { width:calc(100% - 24px); max-width:none; margin:14px auto 24px; padding:clamp(16px,4vw,28px); border-radius:12px; }
  main.container h1 { font-size:clamp(1.85rem,6vw,2.55rem); line-height:1.2; overflow-wrap:break-word; }
  main.container h2 { font-size:clamp(1.45rem,4.8vw,2rem); line-height:1.25; overflow-wrap:break-word; }
  main.container h3 { font-size:clamp(1.2rem,4vw,1.5rem); line-height:1.3; overflow-wrap:break-word; }
  main.container p, main.container li { overflow-wrap:break-word; }
  main.container a { overflow-wrap:anywhere; }
  main.container table { display:block; max-width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }
  main.container pre { max-width:100%; overflow-x:auto; }
  .nav-container { position:relative; z-index:1000; }
  .nav-container .container { position:relative; }
  .nav-container .menu-toggle { min-width:48px; min-height:48px; align-items:center; justify-content:center; }
  .nav-container .nav-list { max-height:calc(100dvh - 60px); overflow-y:auto; overscroll-behavior:contain; box-shadow:0 10px 22px rgba(0,0,0,.16); }
  .nav-container .nav-list a, .nav-container .nav-list .submenu-toggle,
  .nav-container .nav-list .nav-label { min-height:48px; display:flex; align-items:center; padding:12px 18px; }
  .nav-container .nav-list .submenu a { white-space:normal; padding:12px 18px 12px 34px; }
  .nav-container .nav-list .submenu { position:static; width:100%; min-width:0; }
  .nav-container .nav-list .submenu-toggle { justify-content:space-between; gap:12px; }
  .cms-inhaltsblock img, .ka-inner-page img { max-width:100%; height:auto; }
  .cms-cta { padding:20px 16px!important; }
  .cms-cta a, .cms-cta button { max-width:100%; white-space:normal; }
  .ka-problemfinder { padding:18px 16px!important; }
  .ka-problemfinder .ka-pf-form > div { display:flex; flex-direction:column; align-items:stretch; }
  .ka-problemfinder .ka-pf-form input { width:100%; min-width:0!important; max-width:100%; font-size:16px!important; }
  .ka-problemfinder .ka-pf-form button, .ka-problemfinder .ka-pf-retry,
  .ka-problemfinder .ka-pf-results a { display:block!important; width:100%; max-width:100%; min-height:48px; text-align:center; white-space:normal; overflow-wrap:break-word; }
  .ka-problemfinder .ka-pf-results article { padding:16px!important; }
  .ka-problemfinder .ka-pf-results h3 { margin-top:10px; }
  .contact-form input, .contact-form textarea, .contact-form select { width:100%; max-width:100%; font-size:16px; }
  .contact-form .submit-btn { min-height:48px; max-width:100%; }
  .footer-grid { gap:26px; }
  .copyright-bar { overflow-wrap:anywhere; }
  a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible { outline:3px solid #8d9f59; outline-offset:2px; }
}
@media (max-width:650px) {
  .ka-hero { min-height:0; height:auto; padding:185px 16px 34px; display:block; }
  .ka-hero-photo { background-size:auto 240px; background-position:32% top; }
  .ka-hero-overlay { background:linear-gradient(180deg,transparent 0,rgba(255,255,255,.15) 125px,#fff 235px,#fff 100%); }
  .ka-hero-content { position:relative; width:100%; margin:0; }
  .ka-hero h1 { font-size:clamp(30px,8vw,39px); line-height:1.12; margin:0 0 12px; }
  .ka-hero-description { font-size:clamp(16px,4.2vw,19px); line-height:1.48; margin-bottom:16px; }
  .ka-hero-actions { display:flex; flex-direction:column; gap:10px; }
  .ka-hero-button { width:100%; flex:none; min-height:50px; white-space:normal; padding:12px 14px; gap:8px; font-size:16px; }
  .ka-hero-benefits { margin:16px 0 0; gap:9px 16px; font-size:13px; }
  .ka-hero-benefits li span { flex:0 0 auto; }
  /* Logo ist im mobilen Hero sonst über dem Text bzw. den Buttons positioniert. */
  .ka-hero-logo { position:relative; display:block; left:auto; bottom:auto; width:min(170px,55vw); margin:18px 0 0; }
  .ka-topics { gap:16px; margin-bottom:26px; }
  .ka-topic { padding:18px; }
  .teaser-grid { gap:16px; }
  .teaser-grid .teaser-card { min-width:0; }
  .startseite-hauptteaser { margin-bottom:22px; }
  header:not(.ka-hero) .header-grid { gap:12px; }
}
@media (prefers-reduced-motion:reduce) {
  .menu-toggle span { transition:none; }
}
