/* Keep the entire donation form in view on portrait phones.
   Scrolling remains available for zoom, validation messages and the keyboard. */
@media (max-width:640px) {
  #cm-pix-modal { padding:8px; padding-bottom:max(8px,env(safe-area-inset-bottom)); align-items:center; }
  #cm-pix-modal .cm-pix-dialog { padding:16px 14px 12px; max-height:calc(100vh - 16px); max-height:calc(100dvh - 16px - env(safe-area-inset-bottom)); overscroll-behavior:contain; }
  #cm-pix-form-step .cm-pix-eyebrow { font-size:10px; margin-bottom:4px; }
  #cm-pix-form-step h2 { font-size:22px; line-height:1.15; margin-bottom:5px; }
  #cm-pix-form-step .cm-pix-subtitle { font-size:13px; line-height:1.3; margin-bottom:8px; }
  .cm-pix-subtitle-detail,.cm-pix-anonymous-help { display:none; }
  .cm-pix-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:10px; }
  .cm-pix-fields:has(#cm-pix-custom-field[hidden]) #cm-pix-name-field { grid-column:1/-1; }
  .cm-pix-fields:has(#cm-pix-name-field[hidden]) #cm-pix-custom-field { grid-column:1/-1; }
  #cm-pix-form .cm-pix-fields label { margin:0; font-size:12px; line-height:1.3; }
  #cm-pix-form .cm-pix-fields input:not([type=checkbox]) { margin-top:4px; padding:9px 11px; min-height:44px; font-size:16px; line-height:1.3; border-radius:11px; }
  #cm-pix-form .cm-pix-anonymous-label { grid-column:1/-1; order:1; min-height:38px; }
  #cm-pix-minimum { margin:3px 0 0!important; font-size:10px!important; line-height:1.2; }
  #cm-pix-form .cm-pix-pimpolho-bump { display:grid; grid-template-columns:1fr auto; gap:8px; margin-top:2px; padding:10px; border-radius:16px; }
  #cm-pix-form .cm-pix-pimpolho-head { grid-column:1/-1; display:grid; grid-template-columns:132px minmax(0,1fr); align-items:center; gap:12px; }
  #cm-pix-form .cm-pimpolho-photo-link { width:100%; }
  #cm-pix-form .cm-pix-pimpolho-photo { width:100%; height:132px; object-fit:contain; object-position:center; background:#f1fbf5; border-radius:11px; }
  #cm-pix-form .cm-pimpolho-photo-link span { margin-top:3px; font-size:10px; line-height:1.3; }
  #cm-pix-form .cm-pix-pimpolho-copy strong { font-size:18px; line-height:1.2; }
  #cm-pix-form .cm-pix-pimpolho-copy>span { margin-top:6px; font-size:13px; line-height:1.4; }
  #cm-pix-form .cm-pix-pimpolho-copy small { display:none; }
  #cm-pix-form .cm-pix-pimpolho-options { grid-column:1/-1; margin:0; gap:6px; }
  #cm-pix-form .cm-pix-pimpolho-option span { min-height:44px; padding:4px; font-size:13px; border-radius:11px; }
  #cm-pix-form .cm-pix-pimpolho-option input:focus-visible+span { outline:3px solid #30b367; outline-offset:2px; }
  #cm-pix-form .cm-pix-pimpolho-note { align-self:center; margin:0; font-size:10px; line-height:1.3; }
  #cm-pix-pimpolho-clear { display:block; margin:2px 0 0; min-height:24px; text-align:left; }
  #cm-pix-pimpolho-clear[hidden] { display:none; }
  .cm-pix-pimpolho-note:has(#cm-pix-pimpolho-clear:not([hidden])) .cm-pix-extra-caption { display:none; }
  #cm-pix-form .cm-pix-bump-total { align-self:center; margin:0; padding:0; border:0; font-size:13px; white-space:nowrap; }
  #cm-pix-form .cm-pix-privacy { margin:7px 0 0; font-size:10px; line-height:1.35; }
  #cm-pix-submit { position:sticky; bottom:0; z-index:2; min-height:46px; margin-top:8px; padding:12px 16px; font-size:14px; box-shadow:0 0 0 6px #fafefc,0 -6px 14px #fafefc; }
  #cm-pix-error:empty { display:none; }
}
@media (max-width:640px) and (max-height:680px) {
  #cm-pix-form .cm-pix-pimpolho-options { grid-template-columns:repeat(4,minmax(0,1fr)); gap:4px; }
  #cm-pix-form .cm-pix-pimpolho-option span { font-size:11px; padding:3px 0; }
  #cm-pix-form .cm-pix-pimpolho-head { grid-template-columns:116px minmax(0,1fr); gap:10px; }
  #cm-pix-form .cm-pix-pimpolho-photo { height:116px; }
}
@media (max-width:359px), (max-width:640px) and (max-height:580px) {
  #cm-pix-modal .cm-pix-dialog { padding:12px 12px 10px; }
  #cm-pix-form-step h2 { font-size:20px; }
  #cm-pix-form .cm-pix-pimpolho-head { grid-template-columns:104px minmax(0,1fr); gap:8px; }
  #cm-pix-form .cm-pix-pimpolho-photo { height:104px; }
  #cm-pix-form .cm-pix-pimpolho-copy strong { font-size:16px; }
  #cm-pix-form .cm-pix-pimpolho-copy>span { font-size:12px; }
}
@media (max-width:640px) and (max-height:560px) {
  #cm-pix-modal .cm-pix-dialog { padding-top:10px; padding-bottom:8px; }
  #cm-pix-form-step .cm-pix-eyebrow { display:none; }
  #cm-pix-form .cm-pix-pimpolho-head { grid-template-columns:88px minmax(0,1fr); }
  #cm-pix-form .cm-pix-pimpolho-photo { height:88px; }
  #cm-pix-form .cm-pix-pimpolho-bump { padding:8px; gap:6px; }
  #cm-pix-form .cm-pix-anonymous-label { min-height:32px; }
}
