.bath-fixed-size-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 22px 0; padding: 12px 16px; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); }
.bath-fixed-size-facts > div { min-width: 0; display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.bath-fixed-size-facts > div + div { padding-left: 16px; border-left: 1px solid var(--line); }
.bath-fixed-size-facts dt { color: var(--muted); font-size: 13px; line-height: 1.4; }
.bath-fixed-size-facts dd { margin: 0; font-size: 20px; line-height: 1.2; font-weight: 650; color: var(--forest); white-space: nowrap; }
.bath-custom-equipment .equipment-card-top { margin-bottom: 22px; }
.bath-custom-equipment .equipment-detail { grid-template-rows: 1fr; margin-top: 18px; opacity: 1; }
.bath-custom-equipment .equipment-detail ul { overflow: hidden; margin: 0; padding-left: 18px; color: rgba(255,255,255,.76); font-size: 14px; line-height: 1.6; }
.bath-custom-equipment .equipment-detail li + li { margin-top: 8px; }
.bath-custom-equipment .equipment-card:hover .equipment-detail ul, .bath-custom-equipment .equipment-card:focus-visible .equipment-detail ul { color: var(--ink); }
@media (max-width: 1050px) {
  .bath-fixed-size-facts { order: 4; margin: 0; padding: 12px 14px; }
  .bath-fixed-size-facts > div { flex-direction: column; gap: 4px; }
  .bath-custom-equipment .equipment-card:hover .equipment-detail ul, .bath-custom-equipment .equipment-card:focus-visible .equipment-detail ul { color: rgba(255,255,255,.76); }
}
.bath-size-selector { min-width: 0; border: 0; padding: 0; margin: 30px 0 24px; }
.bath-size-selector legend { margin-bottom: 14px; font-size: 16px; font-weight: 650; }
.bath-size-selector > div { display: flex; flex-wrap: wrap; gap: 8px; }
.bath-size-selector a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; border: 1px solid var(--line); background: transparent; border-radius: 12px; padding: 10px 14px; color: var(--ink); font: inherit; font-size: 14px; text-decoration: none; cursor: pointer; transition: background .2s, border-color .2s; }
.bath-size-selector a[aria-current="page"] { background: var(--lime); border-color: var(--lime); color: var(--ink); font-weight: 650; }
.bath-size-selector a:hover { border-color: var(--forest); }
.bath-size-selector a:focus-visible { outline: 2px solid var(--forest); outline-offset: 4px; }
.bath-detail-page button:focus-visible { outline: 2px solid var(--forest); outline-offset: 4px; }
.bath-selection-summary { border-top: 1px solid var(--line); padding-top: 20px; margin-bottom: 25px; }
.bath-selection-summary > p { font-size: 16px; font-weight: 600; margin: 0 0 18px; }
.bath-selection-summary > div { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 18px; }
.bath-selection-summary > div > span { font-size: 25px; font-weight: 700; letter-spacing: -.025em; }
.bath-selection-summary .bath-price-value { display: flex; align-items: flex-start; flex-direction: column; }
.bath-price-promo { display: inline-flex; align-items: center; min-height: 27px; margin-top: 8px; padding: 5px 10px; border-radius: 999px; background: var(--lime); color: var(--forest); box-shadow: 0 6px 18px rgba(35,79,61,.1); font-size: 11px; font-weight: 750; line-height: 1; letter-spacing: 0; white-space: nowrap; }
.bath-selection-summary small { display: block; margin-top: 6px; max-width: 210px; font-size: 13px; font-weight: 400; line-height: 1.45; color: var(--muted); letter-spacing: 0; }
.bath-detail-copy > .button { width: 100%; justify-content: space-between; }
.bath-detail-note { font-size: 13px; color: var(--muted); line-height: 1.55; margin: 18px 0 0; }
.bath-gallery { min-width: 0; position: sticky; top: calc(var(--site-header-height, 94px) + 24px); }
.bath-gallery-main { position: relative; display: grid; place-items: center; width: 100%; aspect-ratio: 4 / 3; padding: 0; border: 1px solid var(--line); border-radius: 28px; overflow: hidden; background: white; cursor: zoom-in; }
.bath-gallery-main img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: contain; }
.bath-gallery-promo { position: absolute; top: 18px; left: 18px; z-index: 2; display: flex; align-items: center; gap: 8px; padding: 7px 11px 7px 7px; border: 1px solid rgba(255,255,255,.28); border-radius: 999px; background: rgba(23,34,29,.9); color: white; box-shadow: 0 8px 25px rgba(17,31,24,.2); backdrop-filter: blur(8px); }
.bath-gallery-promo strong { display: grid; place-items: center; min-width: 44px; min-height: 31px; padding: 0 7px; border-radius: 999px; background: var(--lime); color: var(--forest); font-size: 15px; line-height: 1; }
.bath-gallery-promo span { padding-right: 2px; font-size: 11px; font-weight: 650; line-height: 1.15; white-space: nowrap; }
.bath-gallery-zoom { position: absolute; right: 18px; bottom: 18px; border-radius: 999px; padding: 10px 16px; font-size: 14px; background: var(--lime); color: var(--ink); }
.bath-gallery-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: 18px 0; font-size: 14px; }
.bath-gallery-toolbar > span { font-weight: 650; }
.bath-gallery-toolbar p { flex: 1; margin: 0; color: var(--muted); }
.bath-gallery-toolbar > div { display: flex; gap: 8px; }
.bath-gallery-toolbar button, .bath-lightbox button { display: grid; place-items: center; min-width: 44px; min-height: 44px; border-radius: 50%; border: 1px solid var(--line); background: var(--card); font-size: 21px; color: var(--ink); cursor: pointer; }
.bath-gallery-toolbar button:hover { background: var(--lime); }
.bath-gallery-thumbnails { display: flex; gap: 10px; overflow-x: auto; padding: 4px 4px 12px; scrollbar-width: thin; }
.bath-gallery-thumbnails button { flex: 0 0 112px; height: 82px; padding: 3px; border-radius: 12px; border: 2px solid transparent; overflow: hidden; background: white; cursor: pointer; }
.bath-gallery-thumbnails button[aria-pressed="true"] { border-color: var(--forest); background: var(--lime); }
.bath-gallery-thumbnails img { width: 100%; height: 100%; object-fit: contain; border-radius: 7px; }
.bath-lightbox { position: fixed; inset: 0; margin: auto; width: min(1400px, 94vw); max-width: 94vw; max-height: 94dvh; padding: 20px; border: 0; border-radius: 22px; background: var(--paper, #f3f2ec); color: var(--ink); }
.bath-lightbox::backdrop { background: rgb(10 22 16 / 85%); }
.bath-lightbox-top { display: flex; justify-content: space-between; gap: 20px; align-items: center; margin-bottom: 10px; }
.bath-lightbox-top p { margin: 0; font-size: 17px; }
.bath-lightbox > img { display: block; width: 100%; height: min(70dvh, 950px); object-fit: contain; }
.bath-lightbox-controls { display: flex; justify-content: center; align-items: center; gap: 25px; margin-top: 10px; }
@media (max-width: 1050px) {
  .bath-series-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bath-size-catalog-heading { grid-template-columns: 1fr; gap: 14px; }
  .bath-size-catalog-heading > p:last-child { grid-column: 1; grid-row: auto; }
  .bath-size-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bath-detail-hero { grid-template-columns: 1fr; gap: 22px; }
  .bath-gallery { position: static; }
  .bath-detail-copy h1 { max-width: 700px; }
  .bath-gallery-main { max-height: 650px; }
}
@media (max-width: 640px) {
  .bath-detail-size-catalog { margin-bottom: 64px; padding-top: 38px; }
  .bath-detail-size-catalog .catalog-heading h1 { font-size: 38px; line-height: 1.02; }
  .bath-detail-size-grid { grid-template-columns: 1fr; gap: 18px; }
  .bath-detail-size-copy { padding: 20px; }
  .bath-series-grid { grid-template-columns: 1fr; gap: 18px; }
  .bath-series-copy { min-height: 230px; padding: 20px; }
  .bath-variant-dialog.is-sizes { width: calc(100% - 20px); }
  .bath-size-catalog { padding: 58px 12px 18px; }
  .bath-size-catalog-heading { margin-bottom: 24px; padding: 0 8px; }
  .bath-size-catalog-heading h2 { font-size: 34px; }
  .bath-size-catalog-heading > p:last-child { font-size: 14px; }
  .bath-size-card-grid { grid-template-columns: 1fr; gap: 10px; }
  .bath-size-card { grid-template-columns: 118px minmax(0, 1fr); }
  .bath-size-card-visual { min-height: 148px; }
  .bath-models-page .catalog-hero-facts { grid-template-columns: 1fr 1fr; }
  .bath-models-page .catalog-hero-facts span:nth-child(3) { grid-column: 1 / -1; }
  .bath-detail-hero { margin-bottom: 64px; }
  .bath-gallery-main { border-radius: 20px; }
  .bath-gallery-thumbnails button { flex-basis: 90px; height: 68px; }
  .bath-gallery-toolbar { flex-wrap: wrap; }
  .bath-gallery-toolbar p { font-size: 13px; }
  .bath-lightbox { padding: 12px; }
  .bath-lightbox-top p { font-size: 14px; }
  .bath-model-card .catalog-price { flex-wrap: wrap; }
  .bath-gallery-promo { top: 12px; left: 12px; gap: 6px; padding: 5px 9px 5px 5px; }
  .bath-gallery-promo strong { min-width: 40px; min-height: 28px; font-size: 14px; }
  .bath-gallery-promo span { font-size: 10px; }
  .bath-catalog-filters { flex-wrap: nowrap; overflow-x: auto; margin-right: -20px; padding-right: 20px; scrollbar-width: none; }
  .bath-catalog-filters::-webkit-scrollbar { display: none; }
  .bath-catalog-filters button { flex: 0 0 auto; }
  .bath-variant-grid { grid-template-columns: 1fr; gap: 18px; }
  .bath-variant-copy { padding: 20px; }
  .bath-variant-dialog { width: calc(100% - 20px); max-height: 95dvh; border-radius: 20px; }
  .bath-variant-dialog-inner { display: block; min-height: 0; }
  .bath-variant-dialog-gallery { padding: 10px 10px 16px; }
  .bath-variant-main-photo { min-height: 275px; border-radius: 14px; }
  .bath-variant-main-photo > img { max-height: 48dvh; }
  .bath-variant-close { top: 18px; right: 18px; width: 42px; height: 42px; }
  .bath-variant-dialog-copy { padding: 27px 20px 22px; }
  .bath-variant-dialog-copy h2 { font-size: 34px; }
  .bath-variant-description { margin: 17px 0; font-size: 15px; }
  .bath-variant-facts { grid-template-columns: repeat(3, 1fr); margin-bottom: 20px; }
  .bath-variant-facts div { padding: 12px 9px; }
  .bath-variant-facts dd { font-size: 13px; }
  .bath-variant-thumbnails button { flex-basis: 78px; height: 58px; }
}
@media (prefers-reduced-motion: reduce) {
  .bath-detail-page *, .bath-models-page * { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
.bath-works-empty { padding: 28px 0; border-top: 1px solid var(--line); }
.bath-works-empty p { max-width: 760px; font-size: 16px; line-height: 1.6; color: var(--muted); margin: 0 0 22px; }
@media (hover: none) {
  .bath-detail-page .equipment-detail { grid-template-rows: 1fr; margin-top: 17px; opacity: 1; }
  .bath-detail-page .equipment-detail p { color: rgba(255,255,255,.68); }
  .bath-detail-page .equipment-card:hover { background: transparent; color: white; transform: none; }
  .bath-detail-page .equipment-card:hover .equipment-card-top span, .bath-detail-page .equipment-card:hover .equipment-card-top b { color: var(--lime); }
}

/* Bath catalog hero: the desktop composition stays unchanged. */
.bath-models-page .catalog-hero-bath .catalog-hero-copy { max-width: 980px; padding-top: 105px; }
.bath-models-page .catalog-hero-bath .bath-catalog-hero-price { display: block; white-space: nowrap; }
.bath-models-page .catalog-hero-bath .catalog-hero-copy > .button { margin-top: 32px; }
.bath-models-page .catalog-hero-bath .catalog-hero-facts { grid-template-columns: 1.15fr 1.25fr .8fr; }

@media (max-width: 760px) {
  .bath-models-page .catalog-hero-bath {
    display: flex;
    flex-direction: column;
    min-height: 0;
    background: #15392c;
  }
  .bath-models-page .catalog-hero-bath > img {
    position: relative;
    inset: auto;
    order: 2;
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
  }
  .bath-models-page .catalog-hero-bath .catalog-hero-shade { display: none; }
  .bath-models-page .catalog-hero-bath .catalog-hero-copy {
    order: 1;
    max-width: none;
    padding: 30px 24px 28px;
  }
  .bath-models-page .catalog-hero-bath .catalog-hero-copy .eyebrow { margin-bottom: 16px; }
  .bath-models-page .catalog-hero-bath .catalog-hero-copy h1 {
    max-width: none;
    font-size: clamp(30px, 8.7vw, 38px);
    line-height: 1.08;
    letter-spacing: -.035em;
  }
  .bath-models-page .catalog-hero-bath .bath-catalog-hero-price { color: var(--lime); }
  .bath-models-page .catalog-hero-bath .catalog-hero-copy > .button {
    justify-content: space-between;
    width: 100%;
    min-height: 56px;
    margin-top: 26px;
  }
  .bath-models-page .catalog-hero-bath .catalog-hero-facts {
    position: relative;
    inset: auto;
    z-index: 1;
    order: 3;
    grid-template-columns: minmax(0, 1fr);
    margin: 0 12px 12px;
    border-radius: 16px;
  }
  .bath-models-page .catalog-hero-bath .catalog-hero-facts span {
    min-height: 0;
    padding: 12px 17px;
    border-left: 0;
  }
  .bath-models-page .catalog-hero-bath .catalog-hero-facts span + span { border-top: 1px solid rgba(23,34,29,.12); }
  .bath-models-page .catalog-hero-bath .catalog-hero-facts span:nth-child(3) { grid-column: auto; }
}

@media (max-width: 360px) {
  .bath-models-page .catalog-hero-bath .catalog-hero-copy { padding-right: 18px; padding-left: 18px; }
  .bath-models-page .catalog-hero-bath .catalog-hero-copy h1 { font-size: 27px; }
}

.compact-house-video {
  display: grid;
  grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr);
  align-items: center;
  gap: clamp(24px, 4vw, 64px);
  margin-top: 40px;
  padding: clamp(24px, 3vw, 48px);
  border-radius: 28px;
  background: var(--green, #214f3e);
  color: #fff;
  scroll-margin-top: 110px;
}
.compact-house-video-copy h2 { margin: 18px 0 24px; font-size: clamp(32px, 4vw, 62px); line-height: 1.05; }
.compact-house-video-copy > p:last-child { max-width: 430px; margin: 0; color: #dae5df; font-size: 16px; line-height: 1.65; }
.compact-house-video video { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; border-radius: 18px; background: #17261e; object-fit: contain; }
.comfort-bath-video { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); margin-bottom: 40px; }
.comfort-bath-video video { justify-self: center; max-width: 315px; aspect-ratio: 9 / 16; }
@media (max-width: 760px) {
  .compact-house-video { grid-template-columns: 1fr; gap: 24px; margin-top: 24px; padding: 24px 18px; border-radius: 22px; }
  .compact-house-video-copy h2 { margin: 14px 0 18px; }
  .compact-house-video video { border-radius: 12px; }
  .comfort-bath-video { margin-bottom: 24px; }
  .comfort-bath-video video { max-width: 270px; }
}
