@media (min-width: 901px) {
  .fwr-page .entry-title,
  .fwr-page .wp-block-post-title,
  .fwr-page main > h1 { margin: 0 auto .35rem; font-size: 1.8rem; }
  .fwr-app { max-width: 1120px; margin: .4rem auto 1rem; padding: 1rem; }
  .fwr-notice { margin-bottom: .6rem; padding: .55rem .75rem; font-size: .82rem; line-height: 1.45; }
  .fwr-notice-bottom { margin: .75rem 0 0; }
  .fwr-message { min-height: 1rem; margin: .25rem 0; font-size: .85rem; }
  .fwr-form-layout { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr); gap: 1rem; align-items: stretch; }
  .fwr-form-main, .fwr-form-side { min-width: 0; padding: .9rem; }
  .fwr-form-side { display: flex; flex-direction: column; }
  .fwr-grid { gap: .35rem .7rem; }
  .fwr-form label { gap: .2rem; margin-bottom: .4rem; font-size: .82rem; }
  .fwr-form input, .fwr-form select, .fwr-form textarea { min-height: 36px; padding: .42rem .58rem; font-size: .9rem; }
  .fwr-form textarea { min-height: 138px; max-height: 190px; }
  .fwr-calendar { margin: 0 0 .55rem; padding: .55rem; }
  .fwr-cal-head { margin-bottom: .35rem; }
  .fwr-cal-head button { min-height: 30px; padding: .1rem .55rem; }
  .fwr-weekdays { margin-bottom: .2rem; }
  .fwr-days { gap: 2px; }
  .fwr-days button { min-height: 31px; padding: .1rem; aspect-ratio: auto; font-size: .8rem; }
  .fwr-time-picker { margin: .2rem 0 .55rem; }
	.fwr-form-footer { display: grid; grid-template-columns: minmax(0,1fr) 190px; align-items: center; gap: 1rem; padding: .75rem .9rem; }
	.fwr-captcha { display: grid; grid-template-columns: 170px 96px; align-items: center; justify-content: start; gap: .75rem; margin: 0; }
	.fwr-captcha img { width: 170px; height: auto; max-width: 100%; border-radius: 7px; }
	.fwr-captcha input { width: 96px !important; max-width: 96px; min-height: 52px; margin: 0 !important; text-align: center; direction: ltr; text-transform: uppercase; }
	.fwr-honeypot { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .fwr-time-controls { justify-content: center; }
  .fwr-hour-stepper button, .fwr-minute-toggle button { min-height: 36px; }
  .fwr-hour-display { padding: .25rem .5rem; font-size: 1rem; }
  .fwr-minute-toggle button { min-width: 82px; padding: .25rem .45rem; font-size: .82rem; }
  .fwr-form-footer > button[type="submit"] { width: 100%; min-height: 52px; margin: 0; }
  .fwr-management-footer { display: flex; justify-content: flex-end; }
  .fwr-management-footer .fwr-actions { width: min(100%,390px); }
  .fwr-management-footer .fwr-actions button { flex: 1; }
}

@media (max-width: 900px) {
  .fwr-form-layout { display: block; }
  .fwr-form-main, .fwr-form-side { padding: 1rem; }
  .fwr-form-side { margin-top: 1rem; }
  .fwr-form-footer { display: grid; grid-template-columns: minmax(0,1fr) 130px; align-items: center; gap: .75rem; }
  .fwr-form-footer > button[type="submit"] { width: 100%; }
  .fwr-management-footer { display: block; }
}

@media (max-width: 620px) {
  .fwr-form-footer { grid-template-columns: 1fr !important; gap: .4rem; }
  .fwr-captcha { grid-template-columns: 145px 72px !important; justify-content: center !important; }
  .fwr-captcha img { width: 145px !important; height: 48px !important; object-fit: cover; }
  .fwr-captcha input { width: 72px !important; max-width: 72px !important; min-height: 48px !important; height: 48px !important; padding: .25rem !important; }
  .fwr-form-footer > button[type="submit"] { min-height: 48px !important; height: 48px !important; }
}

@media (min-width: 901px) and (max-height: 800px) {
  .fwr-app { padding: .65rem; }
  .fwr-form-layout { gap: .65rem; }
  .fwr-form-main, .fwr-form-side { padding: .55rem; }
  .fwr-form label { gap: .1rem; margin-bottom: .22rem; font-size: .78rem; }
  .fwr-form input, .fwr-form select, .fwr-form textarea { min-height: 31px; padding: .28rem .48rem; font-size: .84rem; }
  .fwr-form textarea { min-height: 82px; max-height: 82px; }
  .fwr-calendar { margin: 0 0 .3rem; padding: .35rem; }
  .fwr-cal-head { margin-bottom: .2rem; }
  .fwr-cal-head button { min-height: 27px; }
  .fwr-weekdays { margin-bottom: .1rem; }
  .fwr-days button { min-height: 25px; }
  .fwr-time-picker { margin: .1rem 0 .3rem; }
  .fwr-time-options span { padding: .4rem .65rem; }
  .fwr-form-footer { margin-top: .55rem; padding: .45rem .65rem; }
  .fwr-captcha img { width: 135px; }
  .fwr-captcha input, .fwr-form-footer > button[type="submit"] { min-height: 44px; }
  .fwr-notice-bottom { margin: .5rem 0 0; padding: .4rem .65rem; }
}

@media (max-width: 620px) {
  html body.fwr-page .fwr-form-footer .fwr-captcha input[name="captcha_answer"] {
    width: 72px !important;
    max-width: 72px !important;
    height: 48px !important;
  }
}
