/* Phone layout only; keep the spacious desktop layout and both site identities. */
@media (max-width: 700px) {
  body {font-size:16px;line-height:1.5}
  header {gap:12px;flex-wrap:wrap}
  nav a {display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}
  main {padding:12px}
  .card {padding:16px}
  .fields,.applicant-fields {grid-template-columns:minmax(0,1fr);gap:12px}
  .wide {grid-column:auto}
  label,.applicant-fields label,#guest-participants .participant label {font-size:14px;line-height:1.4;margin-bottom:5px}
  input:not([type=checkbox]):not([type=hidden]),select,textarea,
  .applicant-fields input,#guest-participants .participant input,
  #guest-participants .participant select {
    font-size:16px;min-height:44px;height:auto;padding:10px;max-width:100%
  }
  input[type=checkbox] {width:22px;height:22px;flex:none}
  button,.button {font-size:16px;min-height:44px;padding:10px 16px}
  .guest-tools {width:100%;border-radius:12px}
  .guest-tools button {min-width:0;flex:1;padding:12px}
  .guest-tools strong {font-size:16px;overflow-wrap:anywhere}
  .guest-tools small {font-size:11px}
  .guest-choice-grid {grid-template-columns:minmax(0,1fr)}
  .guest-choice {min-width:0;padding:0;grid-template-columns:35% minmax(0,1fr)}
  .guest-choice>span {padding:12px}
  .guest-choice strong {font-size:18px}
  .guest-choice small,.guest-choice-state {font-size:13px}
  #guest-first-fields {grid-template-columns:minmax(0,1fr)}
  #guest-compact-extras,#guest-extras {gap:12px 20px}
  #guest-compact-extras>[data-field],#guest-acsi-choice label,#guest-extras>div {min-height:44px}
  #guest-compact-extras label,#guest-extras label {font-size:16px}
  #guest-preference-heading {flex-basis:100%}
  .guest-preference-row select {width:90px;font-size:16px}
  #guest-participants {grid-template-columns:minmax(0,1fr);gap:16px}
  #guest-participants .participant {grid-template-columns:minmax(0,1fr);gap:10px;padding:12px;background:var(--sand);border-radius:8px}
  #guest-participants .participant select {width:100%;margin-top:8px}
  .particulars textarea {height:100px;min-height:100px}
  #guest-quote,#guest-continue,#guest-back,#guest-submit,#guest-update-price,#guest-return-to-site {width:100%;margin:12px 0 0;text-align:center}
  .quote-summary {flex-wrap:wrap;gap:12px;font-size:15px}
  .quote-summary small,.receipt-mail,.receipt-summary {font-size:14px}
  small,#guest-acsi-info,.simulation-note {font-size:12px}
  #guest-calendar {width:380px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:12px;overflow-y:auto}
  #guest-months {grid-template-columns:minmax(0,1fr);gap:12px}
  .guest-month-title {font-size:16px}
  #guest-calendar-instruction {font-size:13px}
  .guest-days {gap:2px;touch-action:pan-y}
  .guest-days button {font-size:16px;min-height:42px;padding:6px 0;touch-action:pan-y}
  .guest-days small {font-size:11px}
  #guest-party-menu {width:360px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow-y:auto;padding:16px}
  .guest-counter {font-size:15px;padding:12px 0;gap:10px}
  .guest-counter>div:last-child {gap:10px;flex:none}
  .guest-counter button {width:44px;height:44px;font-size:24px;padding:0}
  #guest-calculation,#guest-validation {max-height:calc(100dvh - 24px);overflow-y:auto}
  .quote-lines {font-size:14px}
  .quote-lines .detail {display:block;padding-left:0;overflow-wrap:anywhere}
  .receipt-summary>div {grid-template-columns:minmax(0,1fr);gap:3px;padding:8px 0}
  .receipt-summary dd,.guest-receipt p {overflow-wrap:anywhere}
}
