/* Shared mobile layout, loaded after page-specific styles. */
@media (max-width: 900px) {
  .TextHighlightScroll-module__Y1tZza__section,
  .BentoTilt-module__vKo6Mq__section,
  .ExpandingCards-module__wXjPPG__section,
  .SvgStrokeProcess-module__gchnRa__section,
  .page-module___8aEwW__perfSection { padding-block: 56px; }
  .BentoTilt-module__vKo6Mq__head,
  .ExpandingCards-module__wXjPPG__head,
  .SvgStrokeProcess-module__gchnRa__head { margin-bottom: 32px; }
  .SvgStrokeProcess-module__gchnRa__steps { gap: 32px; }
  .page-module___8aEwW__perfVisual { min-height: 0; aspect-ratio: 4 / 3; margin-top: 24px; }
  .page-module___8aEwW__perfVisualInner { height: 100%; margin-top: 0; }
  .page-module___8aEwW__perfVisualInner img { width: 100%; height: 100%; object-fit: cover; }
  .HorizontalShowcase-module__GmCWEW__slideText { gap: 16px; }
  .HorizontalShowcase-module__GmCWEW__index { font-size: 48px; }
  .HorizontalShowcase-module__GmCWEW__item { padding-block: 10px; }
  .HeroReveal-module__WenKUW__mark { flex-shrink: 0; }
  .cl-title-end { display: inline-block; white-space: nowrap; }
  .wl-button svg, .HorizontalShowcase-module__GmCWEW__cta svg,
  .BentoTilt-module__vKo6Mq__cardArrow svg { width: 20px; height: 20px; flex-shrink: 0; }
}
@media (max-width: 900px) {
  .shop-form input:not([type=checkbox]), .shop-form textarea, .shop-form select,
  .cl-field input, .cl-field textarea, .cl-field select, .admin-quote select {
    font-size: 16px;
    min-height: 48px;
  }
  .shop-btn, .wl-button, .cl-button, .shop-filters button, .admin-tabs button,
  .admin-actions button, #refresh-quotes, #remove-image { min-height: 48px; }
  .shop-field-grid > *, .cl-form-grid > *, .quote-layout > *, .shop-card { min-width: 0; }
}

@media (max-width: 600px) {
  :root { --margin-screen: 24px; }
  .wl-header { padding-inline: max(20px, env(safe-area-inset-left)) max(20px, env(safe-area-inset-right)); }
  .wl-header-actions { gap: 16px; }
  .wl-header button { min-height: 44px; font-size: 12px; padding-left: 8px; gap: 10px; }
  .wl-shop-link { display: inline-flex; align-items: center; min-height: 44px; }
  .wl-header :focus-visible, .wl-footer :focus-visible { outline-color: #FFF800; }
  #site-menu { padding: max(12px, env(safe-area-inset-top)) 24px max(24px, env(safe-area-inset-bottom)); }
  .wl-menu-top { top: -12px; margin-bottom: 12px; padding: 8px 0; }
  .wl-menu-top button { min-height: 48px; }
  .wl-menu-grid { gap: 24px; }
  .wl-menu-grid nav > a { font-size: clamp(22px, 6vw, 28px); min-height: 52px; gap: 12px; }
  .wl-menu-bottom { margin-top: 24px; }
  .wl-menu-word { margin-top: 32px; }

  .HeroReveal-module__WenKUW__hero,
  .HeroEditorial-module__WBn50a__hero, .wl-intro, .wl-form-section, .shop-intro {
    padding-top: 120px;
  }
  .HeroReveal-module__WenKUW__hero { min-height: auto; padding-bottom: 56px; }
  .HeroReveal-module__WenKUW__lineInner { display: inline; }
  .HeroReveal-module__WenKUW__mark { width: 24px; height: 24px; margin-left: 6px; vertical-align: baseline; }
  .HeroReveal-module__WenKUW__metaRow { margin-bottom: 32px; gap: 16px; flex-wrap: wrap; font-size: 10px; }
  .HeroReveal-module__WenKUW__title { font-size: clamp(30px, 8.6vw, 50px); }
  .HeroReveal-module__WenKUW__sub { font-size: 16px; margin-top: 24px; }
  .HeroReveal-module__WenKUW__foot { margin-top: 28px; gap: 24px; }
  .HeroReveal-module__WenKUW__cta { min-height: 48px; }
  .wl-intro h1, .HeroEditorial-module__WBn50a__title, .wl-form-section h1,
  .shop-intro h1 { font-size: clamp(32px, 9vw, 48px); line-height: 1.1; margin-block: 24px; }
  .wl-intro { padding-bottom: 48px; }
  .wl-label { font-size: 11px; }
  .wl-contact h2, .wl-reading h2, .wl-journal h2 { font-size: clamp(28px, 8vw, 38px); }
  .wl-reading { padding-block: 40px 64px; }
  .wl-reading p { font-size: 16px; line-height: 1.8; }
  .wl-contact { gap: 36px; }
  .wl-practical, .wl-use-grid, .wl-gallery, .wl-journal, .wl-contact { grid-template-columns: minmax(0, 1fr); }
  .wl-practical > *, .wl-use-grid > *, .wl-contact > * { min-width: 0; }
  .wl-tags span { max-width: 100%; overflow-wrap: anywhere; }
  .HorizontalShowcase-module__GmCWEW__slide { padding-block: 40px; }
  .HorizontalShowcase-module__GmCWEW__slide h2 { font-size: clamp(28px, 8vw, 38px); }
  .HorizontalShowcase-module__GmCWEW__slideVisual { min-height: 0; height: auto; aspect-ratio: 1; }
  .HorizontalShowcase-module__GmCWEW__visualInner { height: 100%; }
  .BentoTilt-module__vKo6Mq__card { min-height: 320px; }
  .BentoTilt-module__vKo6Mq__heading,
  .ExpandingCards-module__wXjPPG__heading,
  .SvgStrokeProcess-module__gchnRa__heading,
  .page-module___8aEwW__perfHeading { font-size: clamp(28px, 8vw, 38px); line-height: 1.15; margin-block: 0; }
  .ExpandingCards-module__wXjPPG__card,
  .ExpandingCards-module__wXjPPG__card.ExpandingCards-module__wXjPPG__active { min-height: 240px; padding: 24px; }
  .SvgStrokeProcess-module__gchnRa__title { font-size: 26px; }
  .SvgStrokeProcess-module__gchnRa__desc { max-width: none; font-size: 16px; }
  .wl-faq { padding-block: 48px; }
  .ExpandingCards-module__wXjPPG__cardDesc { max-width: 100%; }
  .wl-footer-logo { width: 70px; margin-bottom: 20px; }
  .wl-footer-cta { font-size: clamp(28px, 8vw, 38px); gap: 12px; }
  .wl-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; padding-block: 32px; }
  .wl-footer-grid > div > a:not(.wl-button) { display: flex; align-items: center; min-height: 44px; margin-bottom: 6px; line-height: 1.5; }
  .wl-footer-bottom { gap: 8px; padding-bottom: env(safe-area-inset-bottom); }
  .wl-footer-bottom a { display: flex; align-items: center; min-height: 44px; font-size: 11px; }
  .cl-form { margin-top: 32px; }
  .cl-form-grid { gap: 24px; }
  .cl-note, .shop-form small, .shop-card-foot small { font-size: 12px; }

  .shop-title-row > p { margin-bottom: 24px; }
  .shop-meta { line-height: 1.7; }
  .shop-catalog-head { gap: 12px; flex-wrap: wrap; }
  .shop-filters { gap: 8px; margin-block: 24px 32px; }
  .shop-filters button { font-size: 13px; padding: 12px 16px; }
  .shop-products { gap: 40px; }
  .shop-description, .shop-univers p, .shop-how p { font-size: 16px; }
  .shop-card-image { margin-bottom: 20px; }
  .shop-card-foot { gap: 16px; padding-top: 20px; }
  .shop-card-foot .shop-btn, .shop-empty .shop-btn, .shop-form > .shop-btn, .cl-button { width: 100%; }
  .shop-btn { font-size: 14px; line-height: 1.5; gap: 12px; padding: 14px 20px; max-width: 100%; }
  .shop-empty { padding: 24px 20px; }
  .shop-empty h3 { font-size: clamp(25px, 7.5vw, 34px); }
  .shop-form { padding: 24px 18px; }
  .shop-form label { font-size: 14px; }
  .shop-check input { width: 20px; height: 20px; flex: 0 0 20px; }
  .shop-field-grid { gap: 24px; }
  .quote-layout { gap: 24px; }
  .quote-layout aside h2 { font-size: 26px; margin-block: 16px; }
  .quote-aside-note { margin-top: 20px; padding-top: 16px; font-size: 14px; }
  .admin-tabs > a { display: flex; align-items: center; min-height: 44px; }
  .admin-actions { width: 100%; gap: 10px; }
  .admin-actions .shop-btn { width: 100%; }
  .admin-quote-head, .admin-quote-head label { width: 100%; }
  .admin-quote select { max-width: 100%; }
  #product-editor { scroll-margin-top: 100px; }
}

@media (hover: none) and (pointer: coarse) {
  .wl-cursor { display: none; }
  .shop-btn:hover, .shop-card:hover img, .wl-button:hover, .wl-gallery a:hover img { transform: none; }
}
