/* Kiosk rotation layouts. Keep the approved portrait showroom and compact tabs. */
@media (orientation: landscape) and (min-width: 900px) {
  #topbar { height: clamp(76px, 8vh, 96px); min-height: 0; }
  #brand .brand-logo { width: min(31.4vw, 360px); max-height: 72%; object-fit: contain; }
  #tabbar { height: clamp(70px, 7.5vh, 88px); min-height: 0; gap: clamp(24px, 3vw, 58px); padding-inline: clamp(34px, 5vw, 110px); }
  .tab { height: clamp(52px, 6vh, 68px); min-height: 0; font-size: clamp(17px, 1.5vw, 27px); }
  .tab > span { white-space: normal; text-align: center; line-height: 1.15; }
  .reference-page, .cats { width: min(91%, 1560px); padding-top: clamp(20px, 3vh, 38px); }
  .cats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(16px, 2.5vh, 30px); }
  .cat-card { width: 100%; aspect-ratio: 3.355; }
  .cat-card .txt b { font-size: clamp(30px, 3vw, 57px); }
  #view-category, #view-detail { padding-top: clamp(20px, 3vh, 36px); }
  .profile-copy { font-size: clamp(19px, 1.5vw, 29px); }
  .factory-copy { font-size: clamp(17px, 1.3vw, 24px); }
  .quality-copy, .quality-row h3 { font-size: clamp(19px, 1.4vw, 27px); }
  .series-intro p { font-size: clamp(18px, 1.35vw, 26px); }
  .model-visual { aspect-ratio: 3.1 / 1; }
  .model-intro { min-height: 0; padding: clamp(22px, 2vw, 36px); }
  .model-intro h1 { font-size: clamp(56px, 5vw, 92px); }
  .model-actions { margin-top: 16px; }
}

@media (orientation: portrait) and (min-width: 641px) {
  #tabbar { gap: clamp(15px, 3vw, 40px); padding-inline: clamp(25px, 4vw, 55px); }
  .tab { font-size: clamp(16px, 2vw, 24px); }
  .tab > span { white-space: normal; text-align: center; line-height: 1.16; }
  .reference-page, .cats, #view-category { width: 91%; }
  .factory-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.8vw; }
  .factory-copy { font-size: clamp(15px, 1.7vw, 22px); min-height: 0; padding: 1.8vw 1.4vw 2.4vw; }
  .manufacturing-title { font-size: clamp(24px, 3vw, 36px); }
  .quality-copy, .quality-row h3 { font-size: clamp(17px, 2.1vw, 25px); }
  .quality-row { grid-template-columns: 38% minmax(0, 1fr); gap: 2vw; }
  .model-visual { aspect-ratio: 16 / 9; }
}

/* Keep touch controls usable when a small kiosk rotates. */
@media (orientation: landscape) and (max-height: 600px) {
  #topbar { height: 68px; min-height: 0; }
  #brand .brand-logo { width: min(38vw, 235px); max-height: 72%; object-fit: contain; }
  #tabbar { height: 68px; min-height: 0; }
  .tab { height: 50px; min-height: 0; }
}
