.contact-summary { display: grid; grid-template-columns: minmax(110px, .35fr) 1fr; gap: 12px 20px; margin: 24px 0; text-align: left; }
.contact-summary dt { font-weight: 600; }
.contact-summary dd { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.contact-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.contact-actions button, .contact-actions a { display: inline-flex; align-items: center; justify-content: center; padding: 16px 20px; min-height: 48px; border: 1px solid #16242e; background: #fff; color: #16242e; font: inherit; font-weight: 600; text-decoration: none; cursor: pointer; }
.contact-actions .contact-actions__send { background: #16242e; color: #fff; }
.contact-actions .contact-actions__line { background: #06c755; color: #fff; border-color: #06c755; }
.contact-actions button:disabled { opacity: .65; cursor: wait; }
.contact-actions :focus-visible { outline: 3px solid #3e757d; outline-offset: 3px; }
.contact-error { color: #a62424; }
.contact-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 600px) {
  .contact-summary { grid-template-columns: 1fr; gap: 4px; }
  .contact-summary dd { margin-bottom: 12px; }
  .contact-actions { flex-direction: column; }
  .contact-actions button, .contact-actions a { width: 100%; box-sizing: border-box; }
}
.form-status { font-size: 16px; text-align: left; white-space: normal; }
.form-status.is-ready, .form-status.is-error { background: #fff; }
.form-status.is-ready { color: #16242e; border-color: #16242e; }
.form-status > p { white-space: pre-line; }

/* Shared selected state for all regional request forms. */
.request-form .choice-card > span,
.request-form .period-grid label > span {
  position: relative;
  background: #fff;
  color: var(--ink, #16242e);
}
.request-form .choice-card input:checked + span,
.request-form .period-grid input:checked + span {
  background: #fff;
  color: var(--ink, #16242e);
  border-color: #3e757d;
  box-shadow: inset 0 0 0 1px #3e757d;
}
.request-form .choice-card input:checked + span::after,
.request-form .period-grid input:checked + span::after {
  content: "";
  position: absolute;
  top: 12px;
  right: 16px;
  width: 7px;
  height: 12px;
  border-right: 2px solid #3e757d;
  border-bottom: 2px solid #3e757d;
  transform: rotate(45deg);
  pointer-events: none;
}
.request-form .period-grid label > span { padding-right: 30px; padding-left: 30px; }
.request-form .choice-card > span { padding-right: 32px; }
.request-form .choice-card input:focus-visible + span,
.request-form .period-grid input:focus-visible + span {
  outline: 2px solid #3e757d;
  outline-offset: 3px;
}
.flower-type-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.flower-grade-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.request-fieldset.flower-grades { margin-top: 28px; }
.flower-grades[hidden] { display: none; }
.flower-grades .choice-card b { font-size: clamp(23px, 2.2vw, 31px); white-space: nowrap; }
@media (max-width: 760px) {
  .flower-grade-grid { grid-template-columns: 1fr; }
  .flower-grades .choice-card b { font-size: 27px; }
}
