
.ts-open, .mbar, .pf-toggle, .lpd-toggle, .nav-cta { display: none; }

@media (max-width: 767px) {
  :root { --tb: 64px; --th: 56px; }
  html { scroll-padding-top: calc(var(--th) + 8px); scroll-padding-bottom: calc(var(--tb) + 8px); -webkit-text-size-adjust: 100%; }
  body { padding-left: env(safe-area-inset-left); padding-right: env(safe-area-inset-right); }

  
  .site-header { position: sticky; top: 0; z-index: 50; }
  .site-header .wrap { flex-wrap: nowrap; min-height: var(--th); height: var(--th); gap: 4px; row-gap: 0; padding: 0 12px; }
  .site-header .wrap::after { display: none; }
  .site-header .logo { order: 0; margin-right: auto; padding: 0; min-width: 44px; min-height: 44px; align-items: center; }
  .site-header .logo-svg { height: 20px; width: auto; }
  .site-header .ts-open { order: 1; flex: none; }
  .site-header .quote-count { order: 2; margin: 0; min-width: 0; padding: 0 8px; min-height: 44px; }
  .site-header .nav-mobile { order: 3; margin: 0; }
  .site-header .nav-mobile summary { min-height: 44px; padding: 0 8px; }
  .site-header .head-contact { display: none; }
  .site-header .qc-long { display: none; }
  .ts-open { display: none; width: 44px; height: 44px; padding: 0; align-items: center; justify-content: center; border: 1px solid var(--cream-muted); border-radius: 3px; background: none; color: var(--cream); cursor: pointer; }
  html.t-js .ts-open { display: inline-flex; }
  .ts-open[hidden] { display: none; }
  .ts-open[aria-expanded="true"] { border-color: #c9a45c; color: #c9a45c; }
  .ts-open:focus-visible { outline: 3px solid var(--cream); outline-offset: 2px; }

  
  html.t-js .site-header .ts-search { display: none; position: absolute; left: 0; right: 0; top: 100%; z-index: 55; max-width: none; min-width: 0; margin: 0; padding: 8px 12px 10px; background: #1a1a1a; border-bottom: 2px solid #c9a45c; }
  html.t-js .site-header .ts-search.ts-on { display: flex; }
  .ts-search input { font-size: 16px; height: 44px; }
  .ts-go { width: 48px; height: 44px; }
  .ts-res { left: 12px; right: 12px; width: auto; max-width: none; top: calc(100% + 4px); max-height: calc(100svh - 200px); }
  .ts-res a { min-height: 44px; }
  .ts-res .ts-m { font-size: .875rem; }
  .ts-res .ts-ph { font-size: .875rem; }

  
  .nav-mobile nav { max-height: calc(100svh - var(--th) - var(--tb) - env(safe-area-inset-bottom)); overflow-y: auto; overscroll-behavior: contain; padding-bottom: 12px; }
  .nav-mobile .nav-list a { min-height: 48px; display: flex; align-items: center; padding: 0; font-size: 1rem; }
  .nav-mobile .nav-sub { padding-left: 12px; }
  .nav-mobile .nav-sub-title { font-size: .875rem; }
  .nav-mobile .nav-cta { display: block; margin: 12px 0 0; }
  .nav-mobile .nav-cta .btn { width: 100%; min-height: 48px; background: #b30404; border-color: #b30404; color: #fff; }

  
  .mbar { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; box-sizing: border-box; gap: 8px; height: calc(var(--tb) + env(safe-area-inset-bottom));
    padding: 7px calc(8px + env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) calc(8px + env(safe-area-inset-left)); background: #1a1a1a; border-top: 2px solid #c9a45c; }
  .mbar a, .mbar button { flex: 1 1 0; min-width: 0; min-height: 48px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; gap: 6px; padding: 0 6px;
    border: 1px solid #c9a45c; border-radius: 6px; background: #1a1a1a; color: #f5f0e6; font: inherit; font-size: 1rem; font-weight: 600; line-height: 1.1; text-align: center; text-decoration: none; cursor: pointer; }
  .mbar svg { flex: none; }
  .mbar a, .mbar button { font-size: .9375rem; gap: 5px; padding: 0 4px; }
  .mbar a:nth-child(1) { flex: .8 1 0; }
  .mbar a:nth-child(2) { flex: 1.15 1 0; }
  .mbar .mbar-q { flex: 1.5 1 0; background: #b30404; border-color: #b30404; color: #fff; }
  .mbar a:focus-visible, .mbar button:focus-visible { outline: 3px solid #f5f0e6; outline-offset: 2px; }
  .mbar a:active, .mbar button:active { background: #333; }
  .mbar .mbar-q:active { background: #8e0303; }
  .site-footer { padding-bottom: calc(var(--s7) + var(--tb) + env(safe-area-inset-bottom)); }

  
  .hero-stage { height: auto; overflow: visible; }
  .hero-inner { position: static; display: block; }
  .hero-copy { padding: 16px 0 12px; }
  .hero-copy::before { display: none; }
  .hero-copy h1 { font-size: clamp(1.875rem, 8.4vw, 2.25rem); }
  .hero-copy .eyebrow { margin-bottom: 4px; }
  .hero-copy .lead { font-size: 1.0625rem; line-height: 1.4; margin: 8px 0 14px; }
  .hero-copy .cta .btn { min-height: 48px; background: var(--btn-bg); border-color: var(--btn-bg); color: var(--on-btn); }
  .hero-media { position: relative; container-type: normal; width: 100%; max-width: 30rem; aspect-ratio: 4 / 5; margin: 0 auto; background: none; overflow: hidden; }
  .hero-poster { display: block !important; width: 100%; height: 100%; }
  .hero-poster img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; display: block; }
  .hero-video, .hero-pause, .v10-video { display: none !important; }
  .hs-scena, .psl { display: none; }
  .hs-nota { font-size: .875rem; left: 10px; right: auto; bottom: 6px; }
  .hero-video-note { display: none; }

  
  html .carusel .carusel-viewport { overflow: visible; margin: 0; padding: 0; scroll-snap-type: none; }
  html .carusel .carusel-track.cards-core { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; transform: none; }
  html .carusel .carusel-track.cards-core > .card { flex: none; grid-row: auto; display: flex; }
  html .carusel-btn, html .carusel-ctrl { display: none !important; }
  .core-range { padding: 28px 0; }
  .core-range h2 { margin-bottom: 16px; }
  .capace-linie { display: flex; flex-direction: column; gap: 0; }
  .capace-linie a { display: flex; align-items: center; min-height: 44px; }
  .capace-sep { display: none; }

  
  .grid.grid-4, .grid.grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .pf-toggle { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 48px; margin: 0 0 12px; padding: 0 16px; font-weight: 600; }
  .pf-toggle::after { content: ""; width: 8px; height: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); transition: transform .15s ease; }
  .pf-toggle[aria-expanded="true"]::after { transform: rotate(225deg); }
  .pf.pf-fold:not(.pf-open) { display: none; }
  .pf.pf-fold { margin-top: 0; }
  main:not(:has(> .hero)) #core-range { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  main:not(:has(> .hero)) .core-range { padding-top: 4px; }
  .catalog-band { margin-top: 0; padding-top: 8px; padding-bottom: 28px; }
  main > .wrap > .lead { font-size: 1.0625rem; line-height: 1.45; }
  main:not(:has(> .hero)) .wrap > h1 { margin-bottom: 8px; }
  .core-range .guide-link { margin: 0 0 12px; }
  .guide-link a { display: inline-flex; align-items: center; min-height: 44px; }

  
  .card-art, .card .code, .card-badge { font-size: .875rem; }
  .card-cta { min-height: 44px; font-size: .9375rem; }
  .card-link > .card-body { padding: 10px; }
  .card h3, .cards-core .card h3 { font-size: 1.0625rem; }
  .card-badge { padding: 3px 8px; }

  
  .product-grid { gap: 12px; }
  .product-hero .wrap { padding-bottom: 12px; }
  .photos .photo-large { aspect-ratio: 1 / 1; max-height: 32svh; max-width: 100%; margin: 0 auto; }
  .photos .photo-large img { object-fit: contain; }
  .product-panel { display: contents; }
  .product-panel > .eyebrow { order: 2; margin: 0; }
  .product-panel > h1 { order: 3; margin: 0 0 4px; font-size: 1.75rem; }
  .product-panel > .add-to-quote { order: 4; margin: 8px 0 8px; padding-top: 12px; gap: 10px; }
  .product-panel > .product-lead { order: 5; margin: 0; }
  .product-panel > .product-note { order: 6; margin: 0; }
  .product-panel > .hint { order: 7; margin: 0; }
  .product-hero .product-grid { display: flex; flex-direction: column; }
  .product-hero .photos { order: 1; }
  .product-panel .add-to-quote { grid-template-columns: 1fr 1fr; }
  .photos-more { margin-top: 0; }
  .photos-more .photo-thumb { width: 100%; display: grid; grid-template-columns: 6rem 1fr; gap: 12px; align-items: center; }
  .product-panel .hint a { display: inline-flex; align-items: center; min-height: 44px; }
  .breadcrumb { margin-bottom: 12px; font-size: .9375rem; }
  .breadcrumb ol { gap: 0 8px; align-items: center; }
  .breadcrumb li { display: flex; align-items: center; min-height: 44px; }
  .breadcrumb a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; min-width: 44px; }
  .breadcrumb li + li::before { margin-right: 8px; }
  main > .wrap:first-child, main > .product-hero > .wrap:first-child { padding-top: 12px; }
  .spec-section { padding-left: var(--gutter); padding-right: var(--gutter); padding-top: 32px; padding-bottom: 32px; }
  .table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .spec th[scope="row"] { width: 38%; }
  .spec th, .spec td { padding: 12px 12px 12px 0; }
  .spec-list a { min-height: 44px; display: inline-flex; align-items: center; }

  
  .lpd-toggle { display: none; }
  html.t-js .lpd-toggle { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 52px; margin: 16px 0 0; padding: 0 16px; text-align: left; }
  html.t-js .lpd-toggle[hidden] { display: none; }
  html.t-js .lpd-toggle::after { content: ""; flex: none; width: 8px; height: 8px; margin-left: 12px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); transition: transform .15s ease; }
  html.t-js .lpd-toggle[aria-expanded="true"]::after { transform: rotate(225deg); }
  html.t-js .lpd-band:not(.lpd-open) .lpd-grid, html.t-js .lpd-band:not(.lpd-open) .lpd-info { max-height: 0; overflow: hidden; visibility: hidden; margin: 0; padding: 0; border: 0; }

  
  .footer-links { gap: 0 20px; }
  .footer-links a, .footer-tools a, .site-footer p a { min-height: 44px; min-width: 44px; display: inline-flex; align-items: center; }

  
  main p > a:only-child:not(.btn), main .hint a, .prose li > a, table.spec td > a, .quote-tool-link a { display: inline-flex; align-items: center; min-height: 44px; }
  .co-more summary { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
  .co-checkout [data-quote-add] .btn { min-height: 44px; }
  span.co-i { font-size: .9375rem !important; }
  figcaption.muted, .in-use-note, .muted { font-size: .875rem; }
  .footer-contact a:not(.hc-btn) { min-height: 44px; display: inline-flex; align-items: center; }
  .footer-contact .hc-btn { width: 44px; height: 44px; }
  .quote-link { min-height: 44px; display: inline-flex; align-items: center; }
  .site-footer .footer-brand { min-height: 44px; display: inline-flex; align-items: center; }
  .site-footer .footer-brand .logo-svg { height: 24px; }

  @media (prefers-reduced-motion: reduce) {
    .pf-toggle::after, .lpd-toggle::after { transition: none; }
  }
}
