/* SavorIP v6.12.8 - phone-only product flow optimization */
@media (max-width: 767px) {
  html, body { max-width: 100%; overflow-x: clip !important; }
  .workspace-body { padding-bottom: calc(92px + env(safe-area-inset-bottom, 0px)) !important; }

  .product-reform {
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: 0 !important;
    padding: 0 6px calc(118px + env(safe-area-inset-bottom, 0px)) !important;
    box-sizing: border-box !important;
  }
  .product-reform-intro { padding: 18px 16px !important; border-radius: 19px !important; }
  .product-reform-intro h1 { font-size: clamp(25px, 8.2vw, 30px) !important; line-height: 1.13 !important; }
  .product-reform-intro p { font-size: 12px !important; line-height: 1.55 !important; }
  .product-reform-nav { margin: 7px 0 !important; }
  .product-reform-nav button { min-width: 0 !important; min-height: 46px !important; padding-inline: 4px !important; }
  .product-reform-nav button span { font-size: 10px !important; overflow-wrap: anywhere; }
  .product-reform-page { width: 100% !important; min-width: 0 !important; padding: 12px 10px !important; box-sizing: border-box !important; }
  .product-reform-page > header h2 { font-size: 19px !important; line-height: 1.22 !important; }
  .product-reform-page > header p { font-size: 11px !important; }
  .product-reform-body, .product-reform-body > * { min-width: 0; max-width: 100%; box-sizing: border-box; }

  .product-reform-talk {
    left: 7px !important;
    right: auto !important;
    bottom: calc(72px + env(safe-area-inset-bottom, 0px)) !important;
    max-width: min(180px, 57vw) !important;
    transform: scale(.88);
    transform-origin: left bottom;
  }

  .creative-gallery-section {
    width: 100% !important;
    min-width: 0 !important;
    margin: 14px 0 0 !important;
    padding: 14px 10px 18px !important;
    border-radius: 18px !important;
    box-sizing: border-box !important;
  }
  .creative-gallery-head { gap: 10px !important; margin-bottom: 13px !important; }
  .creative-gallery-head h2 {
    margin: 4px 0 6px !important;
    font-size: clamp(22px, 7.4vw, 27px) !important;
    line-height: 1.16 !important;
    overflow-wrap: anywhere;
  }
  .creative-gallery-head p { font-size: 12px !important; line-height: 1.5 !important; }
  .creative-gallery-head > strong { min-height: 38px !important; padding: 0 12px !important; font-size: 11px !important; }
  .creative-gallery-tabs { margin-bottom: 10px !important; border-radius: 14px !important; }
  .creative-gallery-tabs button { min-width: 0 !important; min-height: 43px !important; padding: 6px 4px !important; font-size: 11px !important; line-height: 1.25 !important; overflow-wrap: anywhere; }
  .creative-gallery-grid { gap: 12px !important; }
  .creative-gallery-stage, .creative-gallery-stage > img { min-height: 285px !important; border-radius: 15px !important; }
  .creative-gallery-label { top: 9px !important; left: 9px !important; max-width: calc(100% - 18px); padding: 6px 9px !important; font-size: 10px !important; }
  .creative-gallery-actions { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 7px !important; margin-top: 10px !important; }
  .creative-gallery-actions button { min-width: 0 !important; min-height: 44px !important; padding: 7px 6px !important; font-size: 11px !important; line-height: 1.25 !important; white-space: normal !important; overflow-wrap: anywhere; }
  .creative-gallery-actions button:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .creative-gallery-summary { padding: 13px 11px !important; border-radius: 16px !important; }
  .creative-gallery-summary h3 { margin-bottom: 10px !important; font-size: 19px !important; }
  .creative-gallery-summary dl { gap: 5px !important; }
  .creative-gallery-summary dl div { gap: 8px !important; padding: 8px 9px !important; font-size: 12px !important; }
  .creative-gallery-summary h4 { margin: 15px 0 8px !important; }
  .creative-gallery-notice { margin: 10px 0 14px !important; padding: 11px !important; font-size: 12px !important; }
  .creative-gallery-compare { grid-template-columns: 1fr auto 1fr auto 1fr !important; gap: 4px !important; }
  .creative-gallery-compare span { font-size: 8px !important; line-height: 1.2 !important; }
  .creative-gallery-disclosure { margin-top: 11px !important; padding: 10px !important; font-size: 11px !important; }

  .saebori-conversation { max-width: 100vw !important; overflow-x: hidden !important; }
  .saebori-conversation textarea, .saebori-conversation input, .saebori-conversation select { font-size: 16px !important; }
  .saebori-conversation button { touch-action: manipulation; }
}

@media (max-width: 360px) {
  .product-reform { padding-inline: 4px !important; }
  .product-reform-page { padding-inline: 8px !important; }
  .creative-gallery-section { padding-inline: 8px !important; }
  .creative-gallery-stage, .creative-gallery-stage > img { min-height: 260px !important; }
}
