/* Shared mobile layout, loaded after the page-specific styles. */
main :where(div, article, aside, nav, section, li), .footer-grid > * { min-width: 0; }
.price-table-wrap, .wall-table-wrap, .floor-table-wrap, .wire-table-wrap { max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; }
@media (max-width: 1100px) {
  .wall-floor-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 860px) {
  .hero-content, .hero-content.reveal, .hero-content.reveal.revealed { transform: none; }
  .mobile-nav { max-height: calc(100dvh - 76px); overflow-y: auto; }
  .menu-button { width: 44px; min-height: 44px; justify-content: center; }
  .wall-floor-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wall-floor-grid, .wire-price-grid { grid-template-columns: minmax(0, 1fr); }
  .wire-workflow li { flex-direction: column; }
  .floor-intro-copy { gap: 18px; }
  .wall-intro-grid > article { padding-top: 0; }
  .wall-intro-grid > article > h2 { margin-bottom: 18px; }
  .wall-intro-grid > article > p { margin-bottom: 18px; }
  .reveal { opacity: 1; transform: none; }
}

@media (max-width: 600px) {
  html { scroll-padding-top: 80px; }
  body { font-size: 16px; }
  .container { width: calc(100% - 32px); }
  .section, .drill-section, .wall-section, .floor-section, .wire-section { padding: 32px 0; }
  .wire-section-tight { padding-top: 12px; }
  .section-heading { margin-bottom: 22px; gap: 12px; }
  .section-heading h2, .wall-page h2, .floor-page h2, .wire-page h2, .drill-section h2 { font-size: clamp(25px, 6.6vw, 30px); line-height: 1.2; }
  main h2, main h3, main p { overflow-wrap: anywhere; }
  .wall-page p, .floor-page p, .wire-page p, .wall-feature-list article p,
  .wall-intro-grid > article > p, .floor-intro-copy p, .wire-intro-grid > div > p { font-size: 16px; line-height: 1.55; }
  .breadcrumbs, .floor-breadcrumbs, .wire-breadcrumbs { flex-wrap: wrap; font-size: 12px; line-height: 1.5; }
  .button, .wall-page .button, .wire-page .button { min-height: 48px; max-width: 100%; padding: 12px 18px; font-size: 16px; white-space: normal; text-align: center; }
  .hero-actions, .wall-actions, .wire-actions { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .hero-actions .button, .wall-actions .button, .wire-actions .button { width: 100%; }
  .hero { min-height: 0; }
  .hero-content { padding: 32px 0 286px; }
  .hero::before { background-size: auto 270px; background-position: 70% bottom; }
  .hero h1 { font-size: clamp(29px, 7.6vw, 36px); line-height: 1.12; }
  .hero p { font-size: 17px; margin: 20px 0 24px; color: #e1e6e9; }
  .hero-note { font-size: 15px; margin-top: 22px; }
  .wall-hero, .floor-hero, .wire-hero { padding-top: 24px; }
  .wall-hero { background-image: linear-gradient(90deg, #101820e8, #101820a0), var(--image-hero-wall-sawing-v3-jpg); }
  .floor-hero { background-image: linear-gradient(90deg, #101820eb, #10182080), var(--image-hero-floor-sawing-png); }
  .drill-landing-hero { min-height: 0; background-image: linear-gradient(90deg, #101820e8, #10182090), var(--image-hero-drilling-png); }
  .drill-hero-content { padding: 32px 0 40px; }
  .wall-hero h1, .floor-hero h1, .wire-hero h1, .drill-hero-content h1 { font-size: clamp(30px, 8vw, 38px); line-height: 1.1; }
  .floor-hero-content { min-height: 0; padding-bottom: 32px; }
  .floor-breadcrumbs { margin-bottom: 24px; }
  .wall-page .wall-hero-lead, .floor-page .floor-hero-lead, .wire-page .wire-lead { width: 100%; max-width: 100%; font-size: 17px; }
  .floor-hero-points article { min-height: 68px; }
  .wire-hero-facts { grid-template-columns: minmax(0, 1fr); }
  .wire-hero-facts > div { min-height: 66px; padding: 12px 16px; border-right: 0; border-bottom: 1px solid #ffffff26; }
  .wire-hero-facts p { font-size: 15px; }
  .shared-lead-card { padding: 24px 18px !important; }
  .shared-lead-row { grid-template-columns: minmax(0, 1fr); }
  .shared-lead-form input:not([type='checkbox']), .form-grid input, .form-grid textarea, .form-grid select { font-size: 16px !important; }
  .shared-lead-form .legal-consents label { line-height: 1.45; }
  .wall-intro-grid, .floor-intro-grid, .wire-intro-grid { gap: 24px; }
  .wall-cards, .floor-work-cards, .wire-object-grid, .drill-material-cards { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .wall-equipment-cards { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .wall-card > img, .floor-work-card > img, .wire-object-card > img { width: 100%; aspect-ratio: 1.6; object-fit: cover; }
  .wall-card > div, .floor-work-card > div, .wire-object-card > div { padding: 18px; }
  .wall-card h3, .floor-work-card h3, .wire-object-card h3 { font-size: 19px; }
  .catalog-service-photo { height: auto; aspect-ratio: 1.6; }
  .catalog-service-content { padding: 22px 20px; min-height: 0; }
  .catalog-service-heading { padding-right: 0; }
  .catalog-service-content > p, .catalog-service-content ul { max-width: 100%; }
  .catalog-service-icon { position: static; width: 64px; height: 64px; margin: 18px 0 0 auto; }
  .wall-feature-photo, .wall-floor .wall-feature-photo { height: auto; aspect-ratio: 1; }
  .wall-feature-list { gap: 22px; min-height: 0; }
  .wall-estimate { grid-template-columns: minmax(0, 1fr); padding: 22px 20px; gap: 16px; }
  .wall-estimate img { grid-row: 1; width: 76px; height: 76px; transform: none; }
  .wall-estimate .button { width: 100%; padding-inline: 16px; }
  .wall-floor-steps, .wall-work-steps, .floor-steps { gap: 12px; }
  .wall-floor-steps li, .wall-work-steps li, .floor-steps li { height: auto; min-height: 0; }
  .wall-work-steps li { padding: 14px; }
  .wall-work-steps img { width: 62px; height: 62px; }
  .floor-steps li { padding: 18px 14px; }
  .wire-tech-steps, .wire-benefits, .wire-workflow { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .wire-tech-steps li { display: grid; grid-template-columns: 30px 64px minmax(0, 1fr); column-gap: 12px; align-items: start; padding: 16px 0; border-bottom: 1px solid var(--line); }
  .wire-tech-steps .wire-step-number { position: static; grid-column: 1; grid-row: 1 / 3; }
  .wire-tech-steps .wire-step-icon { width: 64px; height: 64px; grid-column: 2; grid-row: 1 / 3; margin: 0; object-fit: contain; }
  .wire-tech-steps h3, .wire-tech-steps p { grid-column: 3; }
  .wire-tech-steps li::after { display: none; }
  .wire-tech-steps p, .wire-workflow p { font-size: 15px; line-height: 1.5; }
  .wire-benefits article { display: grid; grid-template-columns: 68px minmax(0, 1fr); gap: 0 14px; padding: 18px; }
  .wire-benefits .wire-benefit-icon { grid-row: 1 / 3; margin: 0; object-fit: contain; }
  .wire-benefits h3 { font-size: 17px; }
  .wire-benefits p { font-size: 15px; margin: 0; }
  .wire-workflow li { display: grid; grid-template-columns: 25px 58px minmax(0, 1fr); align-items: start; gap: 10px; padding: 18px 14px; }
  .wire-workflow .wire-step-number { position: static; }
  .wire-workflow .wire-workflow-icon { margin: 0; object-fit: contain; }
  .wire-workflow h3 { font-size: 17px; }
  .wall-table, .floor-table, .wire-table { font-size: 14px; }
  .wall-table { min-width: 520px; height: auto; }
  .wall-price-photo ul { max-width: 85%; }
  .wall-details summary, .wall-faq summary, .floor-faq summary, .wire-faq summary, .wire-more summary { min-height: 48px; font-size: 16px; line-height: 1.4; }
  .wall-details > div, .wire-object-details { padding: 12px 16px 18px; }
  .wall-details ul { padding-left: 20px; }
  .wire-related { grid-template-columns: minmax(0, 1fr); }
  .cta-panel, .wall-cta, .floor-cta, .wire-cta { min-height: 0; padding: 22px 18px; }
  .cta-panel .cta-content, .wall-cta > div, .floor-cta > div, .wire-cta > div { width: 100%; margin: 0; padding: 20px 16px; background: #10191de8; border-radius: 6px; }
  .cta-panel h2, .wall-cta h2, .floor-cta h2, .wire-cta h2 { font-size: 26px; line-height: 1.2; white-space: normal; }
  .cta-panel .button, .wall-cta .button, .floor-cta .button, .wire-cta .button { width: 100%; }
  .footer-grid { gap: 28px; }
  .footer-grid h3 { font-size: 21px; margin-bottom: 18px; }
  .footer-column { gap: 8px; }
  .footer-column a { padding-block: 6px; }
  .footer-bottom { overflow-wrap: anywhere; }
  .cookie-notice { left: 12px; right: 12px; bottom: max(10px, env(safe-area-inset-bottom)); width: auto; max-height: 40dvh; overflow: auto; transform: none; }
  .cookie-notice p { font-size: 13px; }
  .cookie-button { min-height: 44px; }
  .modal-card { padding: 30px 20px 24px; max-height: calc(100dvh - 24px); }
  .modal-card h2 { padding-right: 24px; font-size: 27px; }
  .modal-card input, .modal-card textarea { font-size: 16px; }
  .toast { left: 16px; right: 16px; bottom: 16px; }
}

@media (max-width: 380px) {
  .floor-steps, .wall-work-steps, .equipment-grid { grid-template-columns: minmax(0, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .reveal, .modal, .modal-card { transition: none; transform: none; }
  .modal-card, .modal.open .modal-card { transform: translate(-50%, -50%); }
}
