/*
 * Responsive fixes (2026-09-25), from the mobile audit:
 *  - form fields under 16px make iPhones zoom into the page when a field is tapped
 *  - small tap targets (carousel dots, icons, footer/breadcrumb links) are hard to hit with a thumb
 * Only touches small screens / touch devices. Nothing changes on a desktop.
 */

@media (max-width: 767.98px) {
    /* no automatic zoom when a field is focused on iOS */
    input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="range"]):not([type="file"]):not([type="hidden"]):not([type="image"]):not([type="color"]),
    select,
    textarea { font-size: 16px !important; }

    /* privacy tick boxes were 13 x 13 px */
    #data_protection, #privacy_policy { width: 20px; height: 20px; }

    /* stacked text links: at least 24 px high (WCAG 2.2 AA), a little air between the lines */
    a.contac-link, a.contact-links, a.contactparah, .list-item-label a, .breadcrumb-item a,
    a.checkout-link, a.checkout-link-master { display: inline-block; padding-block: 4px; }
}

@media (max-width: 767.98px), (pointer: coarse) {
    /* bigger hit areas WITHOUT changing the look or the layout */
    .carousel-indicators > button { position: relative; }
    .carousel-indicators > button::after { content: ""; position: absolute; inset: -11px -6px; }

    #imSticky a { position: relative; }
    #imSticky a::after { content: ""; position: absolute; inset: -9px -7px; }

    a.socialicon { padding: 10px 6px; margin-inline: -6px; }

    .cat-toggle { padding: 12px; margin: -6px; }

    #close-cart { position: relative; }
    #close-cart::after { content: ""; position: absolute; inset: -10px; }
}

/* Projektanfrage-Formular (#msform) hat eine spezifischere 13px-Regel */
@media (max-width: 767.98px) {
  .inquiry_form #msform input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]), #msform textarea, #msform select { font-size: 16px !important; }
}
/* Kopfleiste: auf Handy/Tablet das kleine Banner (64 KB statt 190 KB) als Hintergrund */
@media (max-width: 900px) {
  .headbg,
  nav.navbar.navbar-expand-xl .container-fluid.mobnav.mobile { background-image: url(/image/banner-900.webp) !important; }
}
/* Paket C (2026-09-25): Barrierefreiheit */
.countspantext { line-height: 1.2; }
img.imstickyIcon, a.logomob img { object-fit: contain; }
.header_icon a, .bg_black, .bg_white { font-size: 12px !important; }
.user_icon_label, .machen_txt, .login-submenu li a { font-size: 12px; }
/* Karussell-Punkte: echte Klickflaeche mind. 24x24 px, sichtbarer Punkt bleibt gleich */
.carousel-indicators button[data-bs-target] { border-top-width: 11.5px; border-bottom-width: 11.5px; }
@media (max-width: 767.98px) {
  .carousel-indicators button[data-bs-target] { width: 16px; flex: 0 0 auto; border-left: 5px solid transparent; border-right: 5px solid transparent; margin-inline: 0; }
}
/* Social-Icons: Klickflaeche ohne Ueberlappung (ersetzt die negativen Raender aus Paket A) */
@media (max-width: 767.98px), (pointer: coarse) {
  a.socialicon { margin-inline: 0; padding: 10px 5px; min-width: 24px; text-align: center; }
}a.Datenschutzerklärung { color: #8f6b00; text-decoration: underline; }