/* mobile-fix.css — hoch-spezifische Mobile-Overrides für Böcker Fine Art */
/* Lädt NACH styles.min.css und Inline-Critical-CSS. Gewinnt dadurch garantiert. */

@media (max-width: 900px){

  /* ═══════════════════════════════════════════
     1) HERO auf index.html
     ═══════════════════════════════════════════ */
  html body #hero.hero-v2{
    padding: 1rem 0 1.5rem !important;
    min-height: 0 !important;
  }
  html body #hero.hero-v2 .container.hero-v2-inner,
  html body #hero .hero-v2-inner{
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: none !important;
    gap: 1rem !important;
    min-height: 0 !important;
    width: 92% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }
  html body #hero .hero-v2-text{
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    text-align: left !important;
    flex: 0 0 auto !important;
  }
  html body #hero .hero-v2-title{
    font-size: clamp(1.85rem, 7.5vw, 2.45rem) !important;
    line-height: 1.08 !important;
    letter-spacing: -.02em !important;
    margin: .35rem 0 .6rem !important;
    max-width: 100% !important;
    word-break: normal !important;
  }
  html body #hero .hero-v2-title em{
    white-space: normal !important;
  }
  html body #hero .hero-v2-sub{
    font-size: .95rem !important;
    line-height: 1.45 !important;
    max-width: 100% !important;
    margin: 0 0 .65rem !important;
    color: #4a3d38 !important;
  }
  html body #hero .eyebrow-v2{
    font-size: .62rem !important;
    padding: .3rem .75rem !important;
    margin-bottom: .65rem !important;
    max-width: max-content !important;
  }
  html body #hero .trust-strip-micro{
    margin: .55rem 0 !important;
    max-width: 100% !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    box-shadow: none !important;
  }
  html body #hero .trust-strip-micro__list{
    display: flex !important;
    flex-direction: column !important;
    gap: .35rem !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
    width: 100% !important;
  }
  html body #hero .trust-strip-micro__list li{
    display: flex !important;
    align-items: flex-start !important;
    gap: .55rem !important;
    font-size: .82rem !important;
    line-height: 1.35 !important;
    padding: 0 !important;
    color: #2a1a1e !important;
    white-space: normal !important;
  }
  html body #hero .trust-strip-micro__ic{
    color: #2d7a3d !important;
    font-weight: 700 !important;
    flex-shrink: 0 !important;
    margin-top: .1rem !important;
  }
  html body #hero .hero-v2-ctas{
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: .6rem !important;
    width: 100% !important;
    margin-top: .85rem !important;
  }
  html body #hero .btn-modern,
  html body #hero .btn-modern-primary,
  html body #hero .btn-modern-ghost{
    width: 100% !important;
    justify-content: center !important;
    padding: .88rem 1.15rem !important;
    font-size: .94rem !important;
    box-sizing: border-box !important;
    max-width: 100% !important;
  }
  html body #hero .hero-focus{
    position: relative !important;
    display: block !important;
    overflow: hidden !important;
    width: 100% !important;
    max-width: 100% !important;
    aspect-ratio: 16 / 10 !important;
    max-height: min(56vw, 280px) !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    border-radius: 14px !important;
    order: unset !important;
    flex: 0 0 auto !important;
  }
  html body #hero .hero-focus picture{
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    pointer-events: none !important;
  }
  html body #hero .hero-focus-img{
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    object-fit: cover !important;
    object-position: center center !important;
    transform: none !important;
    filter: none !important;
    will-change: auto !important;
  }
  html body #hero .hero-focus-img:not([data-loaded]){
    min-height: 0 !important;
  }
  html body #hero .hero-focus-img.is-active{
    transform: none !important;
    opacity: 1 !important;
  }
  html body #hero .hero-v2-bg{ animation: none !important; }

  /* ═══════════════════════════════════════════
     2) DREI-SCHRITTE-STEPPER (.features-v2 .stepper)
     ═══════════════════════════════════════════ */
  html body .features-v2 .stepper{
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
    overflow: visible !important;
    width: 100% !important;
  }
  html body .features-v2 .step{
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 1.4rem 1.3rem !important;
    background: #fff !important;
    border: 1px solid rgba(107,31,45,.08) !important;
    border-radius: 14px !important;
    box-shadow: 0 4px 14px rgba(26,16,18,.04) !important;
    display: block !important;
  }
  html body .features-v2 .step-top{
    display: flex !important;
    align-items: center !important;
    gap: 1rem !important;
    margin-bottom: .6rem !important;
  }
  html body .features-v2 .step-line{ display: none !important; }
  html body .features-v2 .step-num{
    font-size: 0 !important;
    font-weight: 700 !important;
    color: #6b1f2d !important;
    background: rgba(107,31,45,.1) !important;
    border-radius: 50% !important;
    width: 48px !important;
    height: 48px !important;
    display: grid !important;
    place-items: center !important;
    flex-shrink: 0 !important;
    -webkit-text-fill-color: currentColor !important;
    background-clip: border-box !important;
    -webkit-background-clip: border-box !important;
    font-style: normal !important;
    text-decoration: none !important;
  }
  html body .features-v2 .step-icon{
    width: 22px !important;
    height: 22px !important;
    display: block !important;
  }
  html body .features-v2 .step h3{
    font-size: 1.15rem !important;
    margin: 0 !important;
    color: #1a1012 !important;
  }
  html body .features-v2 .step p{
    font-size: .95rem !important;
    line-height: 1.55 !important;
    margin: .4rem 0 0 !important;
    color: #5a4a44 !important;
  }
  html body .features-v2 .features-v2-head{
    text-align: center !important;
    margin-bottom: 1.5rem !important;
  }
  html body .features-v2 .features-v2-head .section-title{
    font-size: 1.7rem !important;
    line-height: 1.15 !important;
  }

  /* ═══════════════════════════════════════════
     3) "Ausgewählte Objekte" — Pfeile weg + Swipe
     ═══════════════════════════════════════════ */
  html body .section-gallery-showcase .showcase-ctas,
  html body .section-gallery-showcase .rail-btn{
    display: none !important;
  }
  html body .section-gallery-showcase .showcase-rail{
    display: block !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    scroll-snap-type: x mandatory !important;
    padding: 0 1rem 1.5rem !important;
    scrollbar-width: none !important;
  }
  html body .section-gallery-showcase .showcase-rail::-webkit-scrollbar{
    display: none !important;
  }
  html body .section-gallery-showcase .showcase-track{
    display: flex !important;
    gap: 1rem !important;
    padding: 0 !important;
  }
  html body .section-gallery-showcase .showcase-item{
    scroll-snap-align: start !important;
    flex: 0 0 82vw !important;
    min-width: 82vw !important;
    max-width: 82vw !important;
  }
  html body .section-gallery-showcase .showcase-item img{
    border-radius: 14px !important;
    width: 100% !important;
    height: auto !important;
  }

  /* ═══════════════════════════════════════════
     4) STÄDTE-SEITEN Hero + Stepper (.section-hero.hero-v2, .section-stepper-v2)
     ═══════════════════════════════════════════ */
  html body .section-hero.hero-v2{
    padding: 1.25rem 0 1.75rem !important;
  }
  html body .section-hero.hero-v2 .container.hero-v2-inner,
  html body .section-hero.hero-v2 .hero-v2-inner{
    display: block !important;
    grid-template-columns: none !important;
    gap: 0 !important;
    width: 92% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }
  html body .section-hero.hero-v2 .hero-v2-title{
    font-size: clamp(2rem, 8.5vw, 2.7rem) !important;
    line-height: 1.05 !important;
    margin: .4rem 0 .75rem !important;
  }
  html body .section-hero.hero-v2 .hero-v2-title em{
    color: #6b1f2d !important; font-style: italic !important;
  }
  html body .section-hero.hero-v2 .hero-v2-sub{
    font-size: .98rem !important;
    line-height: 1.55 !important;
    color: #4a3d38 !important;
    margin-bottom: 1.2rem !important;
    max-width: 100% !important;
  }
  html body .section-hero.hero-v2 .eyebrow-line{
    font-size: .7rem !important;
    letter-spacing: .18em !important;
  }
  html body .section-hero.hero-v2 .trust-strip-micro__list{
    display: flex !important;
    flex-direction: column !important;
    gap: .5rem !important;
    padding: 0 !important;
    margin: 1rem 0 !important;
  }
  html body .section-hero.hero-v2 .trust-strip-micro__list li{
    font-size: .88rem !important;
    line-height: 1.4 !important;
  }
  html body .section-hero.hero-v2 .hero-v2-ctas{
    display: flex !important;
    flex-direction: column !important;
    gap: .7rem !important;
    width: 100% !important;
  }
  html body .section-hero.hero-v2 .btn-modern-primary,
  html body .section-hero.hero-v2 .btn-modern-ghost{
    width: 100% !important;
    justify-content: center !important;
    padding: 1rem 1.35rem !important;
    font-size: .98rem !important;
    box-sizing: border-box !important;
  }
  html body .section-hero.hero-v2 .hero-focus{
    position: relative !important;
    display: block !important;
    overflow: hidden !important;
    width: 100% !important;
    max-width: 100% !important;
    aspect-ratio: 16 / 10 !important;
    max-height: min(56vw, 280px) !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 1rem 0 0 !important;
    border-radius: 14px !important;
    box-shadow: 0 12px 28px rgba(26,16,18,.10) !important;
  }
  html body .section-hero.hero-v2 .hero-focus picture{
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  html body .section-hero.hero-v2 .hero-focus-img{
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    object-fit: cover !important;
    object-position: center center !important;
    transform: none !important;
    filter: none !important;
  }
  html body main > .breadcrumbs{
    font-size: .78rem !important;
    padding: .75rem 1rem !important;
    margin-bottom: 0 !important;
  }

  /* Stepper-v2 auf Städte-Seiten vertikal */
  html body .section-stepper-v2 .stepper-v2{
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
    width: 100% !important;
  }
  html body .section-stepper-v2 .step-v2{
    display: flex !important;
    align-items: flex-start !important;
    gap: 1rem !important;
    padding: 1.3rem 1.25rem !important;
    background: #fff !important;
    border: 1px solid rgba(107,31,45,.08) !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 14px rgba(26,16,18,.04) !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
  html body .section-stepper-v2 .step-v2 .step-num{
    background: rgba(107,31,45,.09) !important;
    color: #6b1f2d !important;
    width: 44px !important;
    height: 44px !important;
    border-radius: 50% !important;
    display: grid !important;
    place-items: center !important;
    font-size: 1.2rem !important;
    font-weight: 700 !important;
    flex-shrink: 0 !important;
    font-style: normal !important;
  }
  html body .section-stepper-v2 .step-v2 h3{
    font-size: 1.1rem !important;
    margin: .1rem 0 .35rem !important;
  }
  html body .section-stepper-v2 .step-v2 p{
    font-size: .93rem !important;
    color: #5a4a44 !important;
    margin: 0 !important;
    line-height: 1.55 !important;
  }
  html body .section-stepper-v2 .section-title{
    font-size: 1.6rem !important;
    margin-bottom: 1.25rem !important;
    text-align: center !important;
  }

  /* Trust-Row Chips zweispaltig */
  html body .section-trust-compact .trust-row{
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: .5rem !important;
    width: 100% !important;
  }
  html body .section-trust-compact .trust-chip{
    font-size: .82rem !important;
    padding: .6rem .8rem !important;
    justify-content: center !important;
  }
}

/* extra safety: kein horizontales Scrollen auf der ganzen Seite */
@media (max-width: 900px){
  html, body{ overflow-x: hidden !important; max-width: 100vw !important; }
}

/* Trust-Strip auf dunklem CTA: Text muss dunkel bleiben */
html body .section-cta .trust-strip-micro,
html body .section-cta-v2 .trust-strip-micro{
  background: linear-gradient(135deg, #fffcf6, #f6f0e3) !important;
  border: 1px solid #eadfc9 !important;
  color: #1a1012 !important;
}
html body .section-cta .trust-strip-micro__list,
html body .section-cta .trust-strip-micro__list li,
html body .section-cta-v2 .trust-strip-micro__list,
html body .section-cta-v2 .trust-strip-micro__list li{
  color: #1a1012 !important;
  -webkit-text-fill-color: #1a1012 !important;
}
html body .section-cta .trust-strip-micro__ic,
html body .section-cta-v2 .trust-strip-micro__ic{
  color: #1a6b2e !important;
  -webkit-text-fill-color: #1a6b2e !important;
}
