/**
 * product-shower-mobile.css
 * Mobile + shared layout for shower product / hub pages (body.page-shower-pro,
 * body.silo-shower). Layout-only: titles, meta, JSON-LD, analytics, and
 * crawlable copy stay in the DOM (visually tightened on small screens).
 */

/* ── Hub: product cards before keyword rail on mobile ── */
.shower-hub-main-flow {
  display: block;
}

@media (max-width: 768px) {
  body.silo-shower .cluster-breadcrumb {
    padding-top: 0.35rem;
  }

  body.silo-shower .container > .cluster-prose[style] {
    font-size: 0.78rem !important;
    padding: 0.5rem 0.75rem !important;
  }

  body.silo-shower .cluster-hero--hub-slim {
    padding: 0.55rem 0 0.7rem;
  }

  body.silo-shower .cluster-hero--hub-slim h1 {
    font-size: 1.22rem !important;
    line-height: 1.22 !important;
  }

  body.silo-shower .cluster-hero--hub-slim .cluster-hero-sub {
    font-size: 0.8rem !important;
    line-height: 1.45 !important;
  }

  body.silo-shower .cluster-hero-cta {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.4rem;
    margin-top: 0.55rem;
  }

  body.silo-shower .cluster-hero-cta a {
    text-align: center;
    font-size: 0.72rem !important;
    padding: 0.55rem 0.4rem !important;
  }

  .shower-hub-main-flow {
    display: flex;
    flex-direction: column;
  }

  .shower-hub-main-flow > #shower-products {
    order: 1;
  }

  .shower-hub-main-flow > #shower-keywords {
    order: 2;
  }

  body.silo-shower #shower-keywords {
    padding: 0.65rem 0 0.5rem !important;
  }

  body.silo-shower #shower-keywords .cluster-h2 {
    font-size: 1.05rem !important;
  }

  body.silo-shower .wm-keyword-map-lead {
    font-size: 0.75rem !important;
    line-height: 1.4 !important;
  }

  body.silo-shower .catalog-hub-section--priority {
    padding-top: 0.45rem !important;
    padding-bottom: 0.85rem !important;
  }

  body.silo-shower .catalog-hub-lead {
    font-size: 0.78rem !important;
    margin-bottom: 0.55rem !important;
  }

  body.silo-shower .catalog-hub-group-title {
    font-size: 0.92rem !important;
    margin: 0.65rem 0 0.4rem !important;
  }

  body.silo-shower .catalog-hub-grid--square {
    gap: 0.45rem !important;
  }

  body.silo-shower .catalog-hub-card--square .catalog-hub-card-body {
    padding: 0.45rem 0.5rem !important;
  }

  body.silo-shower .catalog-hub-card--square .catalog-hub-card-body strong {
    font-size: 0.78rem !important;
  }

  body.silo-shower .catalog-hub-card--square .catalog-hub-card-body span {
    font-size: 0.68rem !important;
  }
}

/* ── Product calculator pages ── */
@media (min-width: 769px) {
  body.page-shower-pro .product-detail-hero > .container,
  body.page-shower-pro section .container,
  body.page-shower-pro .wm-page-content {
    width: 90%;
    max-width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 768px) {
  body.page-shower-pro > div[style*="padding: 6rem 0 1rem"] {
    padding: 4.55rem 0 0.25rem !important;
  }

  body.page-shower-pro > div[style*="padding: 6rem 0 1rem"] nav {
    font-size: 0.72rem !important;
  }

  body.page-shower-pro .product-detail-hero {
    padding: 0.35rem 0 0.65rem !important;
  }

  body.page-shower-pro .seo-hub-back {
    margin-bottom: 0.35rem !important;
    font-size: 0.78rem !important;
  }

  body.page-shower-pro .product-detail-hero > .container {
    display: flex;
    flex-direction: column;
  }

  body.page-shower-pro .wm-shower-hero-intro {
    order: 1;
    margin-bottom: 0.45rem !important;
  }

  body.page-shower-pro .wm-shower-hero-intro h1 {
    font-size: 1.22rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.35rem !important;
  }

  body.page-shower-pro .wm-shower-hero-intro > p {
    font-size: 0.8rem !important;
    line-height: 1.4 !important;
  }

  body.page-shower-pro .wm-shower-hero-cta {
    order: 2;
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 0.4rem !important;
    margin: 0.35rem 0 0.5rem !important;
  }

  body.page-shower-pro .wm-shower-hero-cta .btn {
    padding: 0.58rem 0.45rem !important;
    font-size: 0.7rem !important;
    text-align: center;
    justify-content: center;
  }

  body.page-shower-pro .wm-shower-hero-cta .btn:nth-child(3) {
    grid-column: 1 / -1;
  }

  body.page-shower-pro .wm-shower-rate-panel {
    order: 3;
    margin-bottom: 0.5rem !important;
    padding: 0.65rem 0.55rem !important;
  }

  body.page-shower-pro .wm-shower-rate-panel > p {
    font-size: 0.78rem !important;
    margin-bottom: 0.4rem !important;
    line-height: 1.4 !important;
  }

  body.page-shower-pro .wm-shower-rate-panel table {
    font-size: 0.7rem !important;
  }

  body.page-shower-pro .wm-shower-rate-panel th,
  body.page-shower-pro .wm-shower-rate-panel td {
    padding: 0.35rem 0.4rem !important;
  }

  /* Calculator + gallery before long types rail */
  body.page-shower-pro .product-detail-grid {
    order: 4;
    gap: 0.75rem !important;
  }

  body.page-shower-pro .shower-partition-types-panel {
    order: 5;
    margin: 0.45rem 0 0.35rem !important;
    padding: 0.65rem 0.7rem !important;
    max-height: 5.2rem;
    overflow: hidden;
    position: relative;
  }

  body.page-shower-pro .shower-partition-types-panel::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 2rem;
    background: linear-gradient(transparent, #fff);
    pointer-events: none;
  }

  body.page-shower-pro .shower-partition-types-panel h2 {
    font-size: 0.88rem !important;
    margin-bottom: 0.25rem !important;
  }

  body.page-shower-pro .shower-partition-types-panel > p {
    font-size: 0.72rem !important;
    margin-bottom: 0.35rem !important;
  }

  body.page-shower-pro .product-detail-grid > .product-image-gallery {
    order: 2 !important;
  }

  body.page-shower-pro .product-detail-grid > div:last-child,
  body.page-shower-pro .product-detail-grid > div:nth-child(2) {
    order: 1 !important;
  }

  body.page-shower-pro .product-main-image {
    max-height: 150px !important;
    object-fit: cover !important;
    border-radius: 10px;
  }

  body.page-shower-pro .product-detail-grid > div:nth-child(2) > p {
    font-size: 0.8rem !important;
    line-height: 1.4 !important;
    margin-bottom: 0.55rem !important;
    max-height: 3.2em;
    overflow: hidden;
  }

  body.page-shower-pro .product-detail-grid > div:nth-child(2) > div[style*="linear-gradient(135deg, rgba(240"] {
    padding: 0.65rem !important;
    margin-bottom: 0.55rem !important;
  }

  body.page-shower-pro .price-calculator-container {
    margin-top: 0.25rem;
  }
}

/* ── Morning SEO shower guides: clip cluster aside ── */
@media (max-width: 768px) {
  body.morning-seo-page .seo-cluster-aside {
    max-height: 4.6rem;
    overflow: hidden;
    position: relative;
    margin-bottom: 0.45rem !important;
    padding-bottom: 0.25rem !important;
  }

  body.morning-seo-page .seo-cluster-aside::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1.85rem;
    background: linear-gradient(transparent, #fff);
    pointer-events: none;
  }

  body.morning-seo-page .seo-hero-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 0.4rem !important;
    margin: 0.45rem 0 0.55rem !important;
  }

  body.morning-seo-page .seo-hero-actions .btn {
    padding: 0.55rem 0.4rem !important;
    font-size: 0.7rem !important;
    text-align: center;
    justify-content: center;
  }

  body.morning-seo-page .seo-hero-actions .btn:nth-child(3) {
    grid-column: 1 / -1;
  }

  body.morning-seo-page .seo-shower-calculator-section {
    padding: 0.55rem 0 0.75rem !important;
  }
}
