/*
 * Mobile editorial pass
 * ---------------------
 * This file is intentionally loaded after the shared theme files. It removes
 * repeated copy and excess vertical rhythm on small screens without changing
 * the desktop layouts or the source content.
 */

@media (max-width: 768px) {
  :root {
    --mc-space: 40px;
    --mc-space-tight: 28px;
  }

  /* Shared rhythm and decorative arrows. */
  .section {
    padding-top: var(--mc-space) !important;
    padding-bottom: var(--mc-space) !important;
  }

  .kicker,
  .pd-section-tag,
  .section-index,
  .section-label,
  .mc-section-no,
  .po-label {
    letter-spacing: .14em !important;
  }

  .text-link span,
  .collection-link span,
  .collection-secondary span,
  .collection-wood-range__all span,
  .hero-link span,
  .product-link span,
  .cta-button span,
  .pd-button span,
  .pd-model-card__copy a span,
  .po-link span,
  .mc-arrow-link span,
  .primary-link span,
  .form-submit b,
  .submit-btn b,
  .request-form button[type="submit"] b {
    display: none !important;
  }

  /* Decorative arrows add noise on a small screen; slider controls stay intact. */
  .decorative-arrow {
    display: none !important;
  }

  .text-link,
  .collection-link,
  .collection-wood-range__all,
  .product-link,
  .pd-button,
  .po-link,
  .mc-arrow-link,
  .primary-link {
    gap: 0 !important;
  }

  .form-submit,
  .submit-btn,
  .request-form button[type="submit"] {
    justify-content: center !important;
  }

  /* Home: image, title and one action are enough on the first screen. */
  .hero--craft {
    min-height: 78svh !important;
  }

  .hero--craft .hero-copy {
    padding-top: 34px !important;
    padding-bottom: 30px !important;
  }

  .hero--craft .lead {
    display: none !important;
  }

  .hero--craft .text-link {
    margin-top: 26px !important;
  }

  #collection.collection {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  #collection .section-heading {
    margin: 0 18px 24px !important;
  }

  #collection .section-heading > p,
  #collection .collection-description,
  #collection .collection-actions .collection-secondary {
    display: none !important;
  }

  #collection .collection-list {
    padding-bottom: 8px !important;
  }

  #collection .collection-row,
  #collection .collection-row--reverse {
    margin-bottom: 10px !important;
  }

  #collection .collection-image {
    height: 64vw !important;
    max-height: 340px !important;
  }

  #collection .collection-copy {
    padding: 18px 18px 17px !important;
  }

  #collection .collection-copy h3 {
    margin-bottom: 13px !important;
    font-size: 31px !important;
  }

  #collection .collection-type {
    max-width: calc(100% - 42px);
    margin-bottom: 10px !important;
  }

  #collection .collection-wood-range {
    padding: 38px 0 42px !important;
  }

  #collection .collection-wood-range__head {
    margin-bottom: 22px !important;
  }

  #collection .collection-wood-range__head > p,
  #collection .collection-wood-card p,
  #collection .collection-wood-card b {
    display: none !important;
  }

  #collection .collection-wood-card {
    height: 88vw !important;
    max-height: 440px !important;
  }

  #collection .collection-wood-card > div {
    padding-top: 13px !important;
  }

  #collection .collection-wood-range__all {
    margin-top: 20px !important;
  }

  .manifesto {
    padding: 40px 20px !important;
  }

  .manifesto blockquote {
    margin: 28px 0 24px !important;
    font-size: clamp(29px, 9vw, 36px) !important;
    line-height: 1.12 !important;
  }

  .manifesto-copy {
    padding-top: 20px !important;
  }

  .manifesto-copy p {
    margin: 0 !important;
    font-size: 12px;
    line-height: 1.65;
  }

  .manifesto-copy p + p {
    display: none !important;
  }

  .process {
    padding-top: 40px !important;
    padding-bottom: 42px !important;
  }

  .process-photo {
    margin-bottom: 32px !important;
  }

  .process-photo img {
    height: 80vw !important;
    max-height: 390px !important;
  }

  .process-photo span {
    padding: 11px 14px !important;
    font-size: 8px !important;
  }

  .process-content h2 {
    margin-top: 20px !important;
  }

  .process ol {
    margin: 28px 0 !important;
  }

  .process li {
    padding: 15px 0 !important;
  }

  .process li p {
    display: none !important;
  }

  .process h3 {
    margin: 0 !important;
    font-size: 16px !important;
  }

  .contact {
    padding-top: 42px !important;
    padding-bottom: 24px !important;
  }

  .contact .contact-intro > p,
  .contact-form label:has(input[type="email"]),
  .contact-bottom > p {
    display: none !important;
  }

  .contact h2 {
    margin: 24px 0 0 !important;
    font-size: 38px !important;
  }

  .contact-form {
    margin-top: 28px !important;
  }

  .contact-form label {
    padding: 13px 0 !important;
  }

  .contact-bottom {
    margin-top: 36px !important;
    padding-top: 18px !important;
  }

  .contact-bottom div {
    width: 100%;
    flex-direction: row !important;
    justify-content: space-between;
    gap: 10px !important;
    text-align: left !important;
  }

  body > footer > p,
  body > footer > a:last-child,
  .mc-footer > p {
    display: none !important;
  }

  body > footer,
  .pd-footer,
  .mc-footer {
    min-height: 0 !important;
    padding-top: 22px !important;
    padding-bottom: 22px !important;
  }

  /* Catalogue: let the collage and product names do the explaining. */
  .wood-hero,
  .wood-hero__inner {
    min-height: 610px !important;
  }

  .wood-hero__content {
    padding-top: 60px !important;
    padding-bottom: 202px !important;
  }

  .wood-hero__lead {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    margin-top: 20px !important;
  }

  .wood-hero__mobile-collage {
    height: 174px !important;
  }

  .collection-intro,
  .craft-section {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }

  .intro-grid > p,
  .craft-points article p,
  .wood-cta__inner > p:not(.section-label) {
    display: none !important;
  }

  .product-story,
  .product-story--maker {
    height: clamp(410px, 110vw, 485px) !important;
    grid-template-rows: minmax(0, 2fr) minmax(118px, .72fr) !important;
  }

  .product-story__content,
  .product-story--maker .product-story__content,
  .product-story--horeca .product-story__content {
    padding: 14px 17px !important;
  }

  .product-story .product-copy,
  .product-story--maker .product-copy {
    display: none !important;
  }

  .product-story h2 {
    margin-bottom: 10px !important;
    font-size: 28px !important;
  }

  .craft-grid {
    gap: 24px !important;
  }

  .craft-points article {
    min-height: 0 !important;
    padding-top: 16px !important;
    padding-bottom: 16px !important;
  }

  .craft-points article h3 {
    margin-bottom: 0 !important;
  }

  .wood-cta {
    padding: 44px 18px !important;
  }

  .wood-cta .cta-button {
    margin-top: 24px !important;
  }

  /* Product pages: preserve specifications, models and actions; trim repeats. */
  .pd-video {
    height: 82svh !important;
    min-height: 530px !important;
  }

  .pd-hero-copy {
    bottom: 62px !important;
  }

  .pd-hero-copy h1 {
    margin-bottom: 0 !important;
  }

  .pd-hero-side {
    display: none !important;
  }

  .pd-subnav {
    height: 48px !important;
  }

  .pd-subnav nav {
    display: none !important;
  }

  .pd-intro,
  .pd-benefits,
  .pd-order {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }

  .pd-intro-grid {
    gap: 22px !important;
  }

  .pd-intro-copy > p {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    margin-bottom: 22px !important;
    font-size: 13px !important;
    line-height: 1.62 !important;
  }

  .pd-section-tag {
    margin-bottom: 18px !important;
  }

  .pd-facts > div {
    padding-top: 13px !important;
    padding-bottom: 13px !important;
  }

  .pd-bulk-note span {
    display: none !important;
  }

  .pd-gallery {
    margin-top: 8px !important;
    margin-bottom: 8px !important;
  }

  .pd-gallery--stand .pd-rail {
    height: calc((100vw - 24px) * 1.02) !important;
    max-height: 520px !important;
  }

  .pd-gallery--stand .pd-gallery-aside {
    padding: 28px 18px 20px !important;
  }

  .pd-gallery-aside h2 {
    font-size: 34px !important;
  }

  .pd-gallery-aside > p:not(.pd-section-tag),
  .pd-gallery-aside dl {
    display: none !important;
  }

  .pd-benefits article,
  .pd-benefits article + article {
    padding: 16px 0 !important;
  }

  .pd-benefits article p,
  .pd-use-grid article p {
    display: none !important;
  }

  .pd-benefits h3,
  .pd-use-grid h3 {
    margin: 12px 0 0 !important;
    font-size: 17px !important;
  }

  .pd-material {
    margin-top: 8px !important;
    margin-bottom: 8px !important;
  }

  .pd-material-media {
    min-height: 62vw !important;
    max-height: 340px !important;
  }

  .pd-material-copy {
    padding: 34px 20px !important;
  }

  .pd-material-copy > p:not(.pd-section-tag) {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
  }

  .pd-use-grid article {
    padding: 17px !important;
  }

  .pd-film {
    padding: 40px 0 !important;
  }

  .pd-film__inner {
    gap: 24px !important;
  }

  .pd-film__copy > p:not(.pd-section-tag),
  .pd-order .pd-shell > p:not(.pd-section-tag) {
    display: none !important;
  }

  .pd-film__copy h2 {
    margin-bottom: 0 !important;
    font-size: 38px !important;
  }

  .pd-order .pd-button {
    margin-top: 24px !important;
  }

  /* MakiMaker: the two configurations remain the key decision block. */
  .pd-models {
    padding: 44px 0 !important;
  }

  .pd-models__head {
    margin-bottom: 24px !important;
  }

  .pd-models__head > p,
  .pd-models__note {
    display: none !important;
  }

  .pd-model-card {
    grid-template-rows: 62vw auto !important;
  }

  .pd-model-card__copy {
    padding: 25px 20px 30px !important;
  }

  .pd-model-card__copy h3 {
    margin-bottom: 18px !important;
  }

  .pd-model-card__copy ul {
    margin-bottom: 22px !important;
  }

  .pd-model-card__copy li {
    padding: 9px 0 !important;
  }

  .pd-model-card__copy li:nth-child(n + 3) {
    display: none !important;
  }

  /* HoReCa content page. */
  .product-intro,
  .technical,
  .customization,
  .request,
  .horeca-gallery {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }

  .product-intro h2 {
    margin: 22px 0 !important;
  }

  .intro-text p {
    margin: 0 !important;
  }

  .intro-text p + p,
  .use-cases article p,
  .technical-note,
  .custom-list p,
  .request-copy > p:last-child,
  .horeca-gallery__head > p:last-child,
  .customization-copy > p:last-child {
    display: none !important;
  }

  .use-cases article {
    min-height: 0 !important;
    padding: 18px !important;
    display: grid !important;
    grid-template-columns: 32px 1fr;
    align-items: center;
  }

  .use-cases h3 {
    margin: 0 !important;
  }

  .technical h2 {
    margin: 22px 0 30px !important;
  }

  .custom-list {
    margin-top: 28px !important;
  }

  .custom-list > div {
    padding: 18px !important;
  }

  .request-form {
    margin-top: 30px !important;
  }

  .request-form label:has(input[type="email"]) {
    display: none !important;
  }

  .horeca-gallery__head h2 {
    margin-bottom: 22px !important;
  }

  /* Private orders: keep the interactive archive, remove the surrounding essay. */
  .po-hero__copy {
    padding: 36px 20px 30px !important;
  }

  .po-hero h1 {
    margin: 20px 0 24px !important;
  }

  .po-hero__copy > p:not(.po-label) {
    display: none !important;
  }

  .po-hero__image {
    height: 78vw !important;
    max-height: 430px !important;
  }

  .po-hero__image figcaption {
    min-width: 0 !important;
    padding: 12px 15px !important;
  }

  .po-intro,
  .po-process {
    padding: 40px 20px !important;
  }

  .po-intro__grid {
    margin-top: 24px !important;
  }

  .po-intro__grid > div {
    margin-top: 20px !important;
    line-height: 1.65 !important;
  }

  .po-intro__grid > div p + p,
  .po-capabilities p,
  .po-works__head > p,
  .po-process__title > p:last-child,
  .po-process li p {
    display: none !important;
  }

  .po-capabilities {
    margin-top: 30px !important;
  }

  .po-capabilities article,
  .po-capabilities article + article {
    padding: 15px 0 !important;
  }

  .po-capabilities h3 {
    margin: 0 !important;
  }

  .po-works {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }

  .po-works__head {
    margin-bottom: 20px !important;
  }

  .po-gallery-tools {
    margin-bottom: 18px !important;
  }

  .po-work figcaption {
    min-height: 58px !important;
    padding: 10px 0 !important;
  }

  .po-process ol {
    margin-top: 28px !important;
  }

  .po-process li {
    padding: 15px 0 !important;
  }

  .po-process h3 {
    margin: 0 !important;
  }

  /* Workshops: dates and booking matter; explanatory prose can step back. */
  .mc-hero-copy {
    padding: 38px 18px 30px !important;
  }

  .mc-lead,
  .mc-section-head > p,
  .mc-principles p,
  .mc-gallery-copy > p:not(.mc-section-no),
  .registration-heading > p:last-child,
  .workshop-description,
  .workshop-address {
    display: none !important;
  }

  .mc-arrow-link {
    margin-top: 26px !important;
  }

  .mc-hero-visual {
    height: 58svh !important;
    max-height: 490px !important;
  }

  .mc-intro,
  .mc-schedule,
  .mc-gallery,
  .service-cta-section,
  .registration-section {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }

  .mc-intro h2 {
    margin: 22px 0 !important;
  }

  .mc-intro-copy p + p {
    display: none !important;
  }

  .mc-principles {
    margin-top: 28px !important;
  }

  .mc-principles > div {
    padding: 17px !important;
  }

  .mc-principles h3 {
    margin: 12px 0 0 !important;
  }

  .mc-section-head {
    margin-bottom: 28px !important;
  }

  .workshop-card {
    padding: 18px 0 !important;
  }

  .mc-gallery-copy {
    margin-bottom: 28px !important;
  }

  .gallery-slider {
    height: 96vw !important;
    max-height: 480px !important;
  }

  .cta-button-large {
    width: auto !important;
    height: auto !important;
    margin: 28px 0 0 !important;
    padding: 15px 18px !important;
    border-radius: 14px !important;
  }

  .registration-form {
    margin-top: 32px !important;
  }
}

@media (max-width: 380px) {
  .hero--craft {
    min-height: 74svh !important;
  }

  #collection .collection-copy h3,
  .product-story h2 {
    font-size: 27px !important;
  }

  .po-hero h1 {
    font-size: 45px !important;
  }
}
