/* v17.28: shared appliance sizing and room-aware typography.
   Tablet/phone layouts remain in styles.css for the next design pass. */
@media (min-width:1025px) {
  :root { --desktop-product-scale:1; }

  .slide-washer .copy-right {
    position:absolute;
    left:77%;
    top:var(--washer-copy-top, calc(var(--header-height) + 48px + 20vh));
    width:min(620px, calc(40% - 32px), var(--washer-copy-safe-width,620px));
    max-width:620px;
    margin:0;
    align-items:center;
    text-align:center;
    transform:translate3d(-50%,var(--copy-drift,0px),0);
  }
  .slide-washer .product-left {
    left:2.5vw;
    bottom:-18vh;
    width:calc(760px * var(--desktop-product-scale));
    height:min(91vh,900px);
    transform:translateX(10%);
    translate:var(--washer-safe-x,0px) 0;
  }
  .slide-washer > .scroll-cue { left:77%; }

  .dishwasher-composition {
    --dishwasher-frame-width:calc(646px * var(--desktop-product-scale));
  }
  .dishwasher-copy {
    left:2.5%;
    width:min(48%,860px,var(--dishwasher-copy-safe-width,860px));
    top:var(--dishwasher-copy-top,calc(var(--header-height) + 17vh));
  }
  .dishwasher-commerce { width:min(370px,100%); }
  .dishwasher-commerce .uiverse-cta-label { white-space:normal; text-align:center; text-wrap:balance; }
  .plaque-stage { width:calc(760px * var(--desktop-product-scale)); }
  .heater-composition {
    width:calc(min(49vh,560px) * var(--desktop-product-scale));
  }

  .oven-slide { --oven-desktop-size:calc(520px * var(--desktop-product-scale)); }
  .oven-stage { width:var(--oven-desktop-size); }
  .oven-subtitle { top:calc(48% + var(--oven-desktop-size) / 2 - 10px); }
  .oven-commerce { top:calc(48% + var(--oven-desktop-size) / 2 + 30px); }
  .oven-feature-badges { left:calc(50% + var(--oven-desktop-size) / 2 + 5px); }
  .oven-trust-marks { left:calc(50% - var(--oven-desktop-size) / 2 - 92px); }

  :is(#slide-1 .washer-copy h1,#slide-1 .washer-copy h2,#slide-1 .washer-copy h3,
      #slide-2 .dishwasher-title-lead,#slide-2 .dishwasher-title-name,#slide-2 .dishwasher-title-detail,
      #slide-3 .cooler-title-lead,#slide-3 .cooler-title-name,#slide-3 .cooler-tagline,
      #slide-4 .heater-title-lead,#slide-4 .heater-title-name,#slide-4 .heater-copy .product-detail,
      #slide-5 .oven-copy h1,#slide-5 .oven-subtitle) {
    display:block;
    width:100%;
    max-width:100%;
    min-width:0;
    white-space:normal;
    text-wrap:balance;
    overflow-wrap:normal;
  }
  /* The oven subtitle is centered in its own bounded row, not the viewport. */
  #slide-5 .oven-subtitle { width:min(90vw,720px); }
  :is(#slide-1 .washer-copy h2,#slide-2 .dishwasher-title-name,
      #slide-3 .cooler-title-name,#slide-4 .heater-title-name,#slide-5 .oven-subtitle) {
    font-size:clamp(21px,1.8vw,28.8px);
  }
  :is(#slide-1 .washer-copy h3,#slide-2 .dishwasher-title-detail,
      #slide-3 .cooler-tagline,#slide-4 .heater-copy .product-detail) {
    font-size:clamp(15px,1.18vw,16.64px);
  }
}
@media (min-width:1025px) and (max-height:700px) {
  .dishwasher-copy { top:var(--dishwasher-copy-top,calc(var(--header-height) + 12px)); }
  .slide-washer .product-left { height:78vh; bottom:-13vh; }
  .heater-composition {
    width:calc(min(44vh,480px) * var(--desktop-product-scale));
  }
  .oven-slide { --oven-desktop-size:calc(345px * var(--desktop-product-scale)); }
  .oven-subtitle { top:calc(45% + var(--oven-desktop-size) / 2 - 13px); }
  .oven-commerce { top:calc(45% + var(--oven-desktop-size) / 2 + 19px); }
}

/* Cat follows the visible left edge and floor of the dishwasher. */
.dishwasher-composition .dishwasher-cat-stage {
  left:var(--dishwasher-cat-left,0px);
  top:var(--dishwasher-cat-top,0px);
  right:auto;
  bottom:auto;
  width:var(--dishwasher-cat-width,min(18.9vw,342px));
  aspect-ratio:900 / 454;
  translate:none;
}
.dishwasher-hide-cat .dishwasher-cat-stage { visibility:hidden; }
.dishwasher-hide-cat .dishwasher-cat-stage img,
.dishwasher-hide-cat .dishwasher-cat-stage::before { animation-play-state:paused; }
@media (max-width:1024px) {
  .dishwasher-composition .dishwasher-cat-stage { display:none; }
}

/* Use the approved washer spacing for both copy stacks. Product, cabinet,
   floor, badges and lighting keep their existing placement rules. */
:is(#slide-1 .washer-copy,#slide-2 .dishwasher-copy) > :is(h1,h2,h3) {
  width:100%;
  max-width:100%;
  min-width:0;
  align-self:center;
  text-align:center;
  white-space:normal;
  text-wrap:balance;
}
@media (min-width:1025px) {
  /* Keep the approved washer phrases intact while the font fitter handles
     narrower desktop widths. The column itself remains centered on one axis. */
  #slide-1 .washer-copy > :is(h1,h2,h3) {
    white-space:nowrap;
    text-wrap:nowrap;
  }
}
:is(#slide-1 .washer-copy,#slide-2 .dishwasher-copy) > h2 { margin:6px 0 0; }
:is(#slide-1 .washer-copy,#slide-2 .dishwasher-copy) > h3 { margin:7px 0 0; }
:is(#slide-1 .washer-commerce,#slide-2 .dishwasher-commerce) {
  width:min(370px,100%);
  margin:16px 0 0;
  align-self:center;
}
:is(#slide-1 .washer-signature,#slide-2 .dishwasher-signature) {
  width:min(370px,100%);
  margin-top:8px;
  gap:7px;
  font-family:"YekanBakhFaNum",Tahoma,Arial,sans-serif;
  font-size:.72rem;
  font-weight:400;
  line-height:1.2;
}
:is(#slide-1 .washer-signature-divider,#slide-2 .dishwasher-signature-divider) { height:13px; }
@media (max-width:860px) {
  :is(#slide-1 .washer-copy,#slide-2 .dishwasher-copy) > h2 { margin-top:4px; }
  :is(#slide-1 .washer-copy,#slide-2 .dishwasher-copy) > h3 { margin-top:6px; }
  :is(#slide-1 .washer-commerce,#slide-2 .dishwasher-commerce) { margin-top:10px; }
  :is(#slide-1 .washer-signature,#slide-2 .dishwasher-signature) { margin-top:7px; font-size:.68rem; }
  :is(#slide-1 .washer-signature,#slide-2 .dishwasher-signature) img { width:27px; height:16px; }
}
@media (max-width:420px) {
  :is(#slide-1 .washer-commerce,#slide-2 .dishwasher-commerce) { width:min(320px,100%); margin-top:8px; }
  :is(#slide-1 .washer-signature,#slide-2 .dishwasher-signature) { gap:6px; font-size:.62rem; }
}
