/* Shared phone layout corrections. Desktop styling stays in its component files. */
.footer-bottom .language-picker select { min-height: 44px; }

@media (min-width: 601px) {
  body:not(.auth-page):not(.admin-page) .topbar .language-picker select { min-height: 46px; height: 46px; }
}

@media (max-width: 900px) {
  .topbar .language-picker select, .footer-bottom .language-picker select { min-height: 44px; font-size: 16px; }
  .notice-close { width: 44px; height: 44px; }
  .an-table th button, .an-nav a, .an-daily summary { min-height: 44px; }
  #member-search .cx-search-options { flex-basis: 100%; width: 100%; }
  .trip-form .form-selects select, .trip-form .dates-panel input { min-height: 48px; }
  .typing-completion button { min-height: 44px; }
}

@media (min-width: 601px) and (max-width: 900px) {
  body:not(.auth-page):not(.admin-page) .header-actions > .language-picker { width: 118px; max-width: 118px; }
  body:not(.admin-page) .trip-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  body:not(.admin-page) .trip-tabs a { min-width: 0; min-height: 48px; justify-content: center; text-align: center; white-space: normal; font-size: 14px; line-height: 1.4; }
}

@media (min-width: 701px) and (max-width: 900px) {
  .home-header { height: auto; flex-wrap: wrap; gap: 12px; padding-block: 12px; }
  .home-navigation { display: flex; flex: 1 1 600px; align-items: center; gap: 16px; min-width: 0; }
  .home-header nav { flex: 1; justify-content: space-between; gap: 12px; font-size: 14px; }
  .home-header nav a { min-height: 44px; display: inline-flex; align-items: center; }
  .home-header nav .login-link, .home-header .home-language select { height: 44px; min-height: 44px; width: 100px; font-size: 14px; }
  .home-header nav .login-link { justify-content: center; margin: 0; }
  .home-header .home-language select { font-size: 16px; padding-inline: 10px 24px; }
  .stay-search { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px 0; padding: 16px; }
  .stay-search > .search-field { height: 56px; padding-inline: 12px; gap: 10px; }
  .stay-search > .search-field.search-destination { grid-column: 1 / -1; height: 76px; border-right: 0; border-bottom: 1px solid #e1e3e8; padding-bottom: 8px; }
  .stay-search .search-destination input { min-height: 44px; }
  .stay-search strong { font-size: 12px; }
  .stay-search input, .stay-search select, .stay-search .date-display, .guest-display { font-size: 16px; }
  .stay-search > .search-field.guest-field { height: 56px; }
  .guest-trigger { padding-inline: 8px; gap: 8px; }
  .stay-search > .button { height: 56px; font-size: 16px; }
  .hero .button, .hosting .button { min-height: 44px; font-size: 14px; }
  .card-grid h3, .benefit-grid h3 { font-size: 16px; }
  .card-grid p, .benefit-grid p, .footer-grid nav, .footer-grid h3 { font-size: 14px; }
  .footer-grid { grid-template-columns: 2fr repeat(3, 1fr); gap: 20px; }
  .footer-grid nav a, .text-link, .footer-legal a { min-height: 44px; display: inline-flex; align-items: center; }
  .text-link, .story-links .text-link, .footer-legal { font-size: 14px; }
  .footer-bottom { align-items: flex-start; flex-wrap: wrap; gap: 12px; }
  .footer-brand p { margin-left: 0; font-size: 12px; }
}

@media (max-width: 760px) {
  .auth-page .trips-wrapper { margin: 0 auto; }
  .auth-page .trips-main { padding-top: 24px; }
  .auth-layout .auth-panel { padding: 24px; }
  .auth-panel .auth-lead { margin-bottom: 24px; }
  .auth-footer { align-items: center; gap: 0 16px; }
  .auth-footer > div { gap: 16px; }

  body:not(.auth-page):not(.admin-page) .trips-wrapper { margin-inline: 16px; }
  body:not(.auth-page):not(.admin-page) .trips-main { padding-bottom: 32px; }
  .trip-tabs { padding: 8px 0; margin: 0 0 16px; gap: 4px 8px; }
  .trip-tabs a { min-height: 48px; padding: 8px 4px; line-height: 1.35; }
  .trip-tabs a, .trip-tabs a.active { --icon-size: 22px; }
  .notice-wrap { padding: 12px 16px; }
  .notice { padding: 12px 16px; }
  .notice strong { padding-inline-end: 32px; font-size: 14px; }
  .notice p { margin: 8px 0 0; line-height: 1.5; }
  .notice-close { width: 44px; height: 44px; top: 4px; right: 4px; padding: 8px; }

  body:not(.auth-page) .surface { padding: 20px; }
  body:not(.auth-page) .surface > h1,
  body:not(.auth-page) .surface > h2 { margin-bottom: 16px; line-height: 1.2; }
  .surface > p { margin-top: 0; }
  #view > .surface + .empty-surface,
  #view > .surface + .member-grid,
  #view > .surface + .surface { margin-top: 16px; }
  .form-grid { gap: 16px; }
  .surface-actions { gap: 12px; align-items: center; }
  .empty-surface { padding: 24px 20px; }
  .empty-surface::before { width: 64px; height: 64px; margin-bottom: 16px; }
  .empty-surface h2 { font-size: 22px; line-height: 1.25; }
  .empty-surface p { font-size: 16px; line-height: 1.6; }
  .connections-heading { gap: 12px; margin-bottom: 16px; }
  .connections-tabs { margin-top: 20px; }
  .connections-tabs a { text-align: center; line-height: 1.4; padding: 10px 8px; }
  .photo-editor { padding: 20px; }
  .typing-completion button { min-height: 44px; }
  .location-pin-choice, .check-line, .hospitality-prefs label { min-height: 44px; }
  .area-map-heading button, .area-map-foot a { min-height: 44px; display: inline-flex; align-items: center; }
  .area-map-heading figcaption { min-width: 0; overflow-wrap: anywhere; }

  .trip-title, .trip-description { margin-bottom: 16px; }
  .form-selects { display: grid; grid-template-columns: 1fr; gap: 16px; margin: 20px 0; }
  .form-selects .select-group { display: grid; grid-template-columns: 1fr; gap: 8px; min-width: 0; }
  .form-selects select { width: 100%; min-width: 0; max-width: 100%; min-height: 48px; font-size: 16px; }
  .trip-leg { padding-right: 0; }
  .trip-leg:has(.remove-leg) { padding-top: 48px; }
  .trip-leg .leg-fields { padding: 16px; border-radius: 12px; overflow: visible; }
  .trip-leg .location-fields { gap: 16px; }
  .trip-leg .location-fields label { font-size: 14px; font-weight: 600; }
  .trip-leg .location-fields .location-pin-choice { font-weight: 400; }
  .trip-leg .duration-button { margin-top: 12px; border: 0; border-top: 1px solid #e2e8e6; padding: 12px 0 0; width: 100%; }
  .dates-panel { padding: 16px; gap: 16px; margin-top: 12px; }
  .dates-panel input { width: 100%; min-width: 0; min-height: 48px; font-size: 16px; }
  .leg-options { gap: 0 12px; margin-block: 12px 20px; }
  .leg-options label { display: inline-flex; align-items: center; min-height: 44px; gap: 8px; }
  .remove-leg { width: 44px; height: 44px; }
  .form-actions { gap: 16px; align-items: center; }
  .hospitality-form > button { min-height: 48px; margin: 0 8px 8px 0; vertical-align: top; }
  .hospitality-form .help-text { margin-bottom: 16px; }
  .hospitality-toolbar h3 { font-size: 16px; text-align: center; }
  .conversation-pane { padding: 20px; }
  .thread-tools { gap: 8px; }
  .message-compose { gap: 12px; }

  .sd-root[data-page="support"] { padding: 0; margin: 0; }
  .sd-member-heading { margin: 0 0 24px; }
  .sd-filters { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 16px; gap: 12px; }
  .sd-filters .sd-field { min-width: 0; }
  .sd-filters .sd-search { grid-column: 1 / -1; }
  .sd-filters .sd-button { min-height: 48px; height: 100%; width: 100%; padding: 10px 8px; }
  .sd-filters button[type="submit"]::before { content: none; }
  .sd-field input, .sd-field select, .sd-field textarea { font-size: 16px; }

  body:not(.admin-page) > footer:not(.home-footer) { margin-top: 0; }
  body:not(.admin-page) > footer:not(.home-footer) .footer-main { padding: 28px 16px 20px; }
  body:not(.admin-page) > footer:not(.home-footer) .footer-columns { gap: 24px 20px; }
  body:not(.admin-page) > footer:not(.home-footer) .footer-columns section { padding: 0; min-width: 0; }
  body:not(.admin-page) > footer:not(.home-footer) .footer-columns li { margin: 0; }
  body:not(.admin-page) > footer:not(.home-footer) .footer-columns h2 { line-height: 1.4; }
  body:not(.admin-page) > footer:not(.home-footer) .footer-bottom { padding: 0 16px 24px; }
  body:not(.admin-page) > footer:not(.home-footer) .footer-bottom-inner { padding: 16px 0 0; align-items: flex-start; gap: 8px; }
  body:not(.admin-page) > footer:not(.home-footer) .footer-legal-links { justify-content: flex-start; gap: 0 20px; }
  body:not(.admin-page) > footer:not(.home-footer) .footer-bottom .language-picker { margin: 4px 0 0; }
  .home-footer .footer-legal-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; gap: 0 16px; }
  .home-footer .footer-brand p { margin-left: 0; }
  .home-footer .footer-grid nav { min-width: 0; }
  .home-footer .footer-grid nav a { white-space: normal; }
  .home-footer .swl-privacy-link { text-align: start; }

  .ac-card-heading { flex-wrap: wrap; }
  .ac-card-heading > div { min-width: 0; }
  .ac-page-heading > div:first-child { min-width: 0; }
  .cf-controls { display: grid; grid-template-columns: 1fr; gap: 12px; }
  .cf-controls label, .cf-controls select, .cf-controls button { width: 100%; min-width: 0; }
  .ac-shell input:not([type="checkbox"]):not([type="radio"]),
  .ac-shell select, .ac-shell textarea { font-size: 16px; }
}

@media (max-width: 700px) {
  .stay-search > .search-field.search-destination { min-height: 76px; padding-bottom: 8px; }
  .stay-search .search-destination input { min-height: 44px; }
  .stay-search .search-destination strong { margin-bottom: 0; }
}

@media (max-width: 600px) {
  body:not(.auth-page) .topbar-inner { padding-block: 10px; }
  body:not(.auth-page) .topbar-inner .brand { margin-inline: auto; }
  body:not(.auth-page) .topbar-inner > .header-actions { width: 100%; justify-content: center; flex-wrap: nowrap; gap: 4px; }
  body:not(.auth-page) .header-actions > .language-picker { flex: 1 1 90px; min-width: 0; max-width: 132px; }
  body:not(.auth-page) .header-actions .round-button,
  body:not(.auth-page) .header-actions .profile-button { flex: 0 0 44px; width: 44px; height: 44px; min-height: 44px; }
  body:not(.auth-page) .header-actions > .menu-wrap { flex: none; }
}

@media (max-width: 480px) {
  .ac-card-heading { flex-direction: column; align-items: stretch; gap: 16px; }
  .ac-card-heading > .ac-button { align-self: flex-start; }
  .ac-card-heading h2 { font-size: 17px; line-height: 1.3; }
  .ac-card-heading p { font-size: 13px; line-height: 1.6; }
  .ac-page-heading { flex-wrap: wrap; }
  .ac-page-heading > div > p:last-child { max-width: none; }
  .ac-shell .ac-button { font-size: 13px; }
  .community-now-head { flex-wrap: wrap; gap: 8px; }
  .community-now-head > div { flex: 1 1 240px; }
  .community-now-head p { margin: 8px 0; }
  .community-live-heading { flex-wrap: wrap; gap: 4px 12px; }
  .community-live-heading h3 { font-size: 20px; }
  .community-live-heading a { min-height: 44px; display: inline-flex; align-items: center; }
}

@media (max-width: 420px) {
  .search-location-filters { grid-template-columns: 1fr; }
  .stay-search .search-location-filters { padding: 0 4px 12px; }
  .sd-filters .sd-field { grid-column: 1 / -1; }
  .sd-filters .sd-button { font-size: 14px; }
  .auth-layout .auth-panel { padding: 24px 20px; }
  .auth-layout .auth-panel h1 { font-size: 28px; }
  .surface h1[data-icon], .view-heading[data-icon] { --icon-size: 28px; gap: 8px; }
  .hospitality-form > button { width: 100%; margin-right: 0; }
}

@media (max-width: 360px) {
  .home-footer .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 20px; }
  .connections-tabs { flex-direction: column; }
  .connections-tabs a { width: 100%; min-height: 44px; }
  .auth-footer { align-items: flex-start; }
  .auth-footer > div { flex-wrap: wrap; }
}
/* Longer translated labels need room beside their navigation icons. */
@media(max-width:480px){
 html:not([lang="en"]) .trip-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
 html:not([lang="en"]) .trip-tabs a{min-height:48px;line-height:1.5;hyphens:none}
 html:is([lang="ta"],[lang="si"]) #view:is([data-page="dashboard"],[data-page="hosting-details"],[data-page="updates"],[data-page="saved"],[data-page="stays"]) h1{font-size:24px;line-height:1.45}
}

/* Phone finishing pass: preserve the brand and composition, align the controls. */
@media (max-width: 760px) {
  body:not(.admin-page) {
    --mobile-control-height: 48px;
    --mobile-control-gap: 12px;
  }

  body:not(.admin-page) :is(.primary-button, .secondary-button, .danger-button) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 44px;
    min-height: var(--mobile-control-height);
    max-width: 100%;
    padding: 12px 16px;
    font-family: inherit;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.4;
    text-align: center;
    white-space: normal;
    overflow-wrap: anywhere;
  }
  body:not(.admin-page) :is(.primary-button, .secondary-button)[data-icon]::before,
  body:not(.admin-page) form button[type="submit"]::before { width: 20px; height: 20px; }
  body:not(.admin-page) .surface .primary-button { min-height: var(--mobile-control-height); padding: 12px 16px; }
  body:not(.admin-page) .empty-surface > a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; line-height: 1.5; }
  body:not(.admin-page) :is(.card-actions, .surface-actions, .cx-quick, .thread-tools) {
    gap: var(--mobile-control-gap);
    align-items: stretch;
  }
  body:not(.admin-page) :is(.card-actions, .surface-actions, .cx-quick) > :is(a, button) {
    flex: 1 1 136px;
    min-width: 0;
  }
  body:not(.admin-page) .member-card .card-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    padding-top: 8px;
  }
  body:not(.admin-page) .member-card .card-actions > :is(a, button) {
    width: 100%;
    padding-inline: 12px;
    font-size: 14px;
  }
  body:not(.admin-page) .member-card .card-actions > :last-child:nth-child(odd) { grid-column: 1 / -1; }
  body:not(.admin-page) .member-card { padding: 20px; gap: 12px; }
  .member-heading { gap: 12px; }
  .member-heading > div { min-width: 0; }
  .member-card h2 { font-size: 22px; line-height: 1.25; }
  .member-card .member-location { font-size: 14px; line-height: 1.5; align-items: flex-start; }
  .member-card p:empty { display: none; }
  .member-grid { gap: 16px; }

  body:not(.admin-page) .trip-tabs { gap: 4px 8px; padding: 12px 0; margin-bottom: 20px; align-items: stretch; }
  body:not(.admin-page) .trip-tabs a { min-height: 48px; padding: 8px 4px; font-size: 13px; gap: 8px; line-height: 1.4; }
  body:not(.admin-page) .trip-tabs a,
  body:not(.admin-page) .trip-tabs a.active { --icon-size: 20px; }
  body:not(.admin-page) .notice { padding: 16px; }
  body:not(.admin-page) .notice strong { padding-inline-end: 32px; gap: 8px; line-height: 1.45; }
  body:not(.admin-page) .notice p { margin-top: 8px; font-size: 13px; line-height: 1.55; }
  .dropdown a { min-height: 44px; padding: 12px; line-height: 1.4; }
  .view-heading, #view > h1 { margin: 0 0 24px; font-size: 28px; line-height: 1.2; }
  .view-toolbar { gap: 12px; margin-bottom: 20px; align-items: center; }
  .view-toolbar > :is(h1, h2) { margin: 0; }
  .view-toolbar > a { min-height: 44px; display: inline-flex; align-items: center; line-height: 1.4; }

  body:not(.admin-page) :is(.search-form, .form-grid) { gap: 20px; }
  body:not(.admin-page) :is(.search-form, .form-grid, .location-fields) label:not(.check-line):not(.location-pin-choice) {
    font-size: 14px;
    font-weight: 600;
    line-height: 1.5;
    gap: 8px;
  }
  body:not(.admin-page) :is(.surface, .search-form, .location-fields) :is(input, select, textarea):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]) {
    font-family: inherit;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    min-height: 48px;
    padding: 12px;
  }
  .search-form .primary-button { white-space: normal; }
  .search-location-filters { gap: 20px; }
  .cx-search-options { width: 100%; }
  .cx-search-options summary { padding-block: 12px; line-height: 1.5; }
  .cx-search-options .form-grid { padding: 12px 0 20px; }
  .cx-search-options > .secondary-button,
  .cx-search-options > .text-button { min-height: 48px; margin: 0; padding: 12px 16px; vertical-align: top; }
  .cx-search-options > .text-button { margin-inline-start: 8px; }
  .cx-clear-search { display: inline-flex; align-items: center; min-height: 44px; margin-top: -8px; }
  .stay-search-summary { margin-bottom: 20px; padding: 16px; }
  .stay-search-summary a { display: inline-flex; align-items: center; min-height: 44px; }
  .check-line, .location-pin-choice { padding-block: 8px; }
  .surface-actions .help-text { flex-basis: 100%; }

  .cx-nav { margin-bottom: 24px; padding: 6px; gap: 4px; }
  .cx-nav a { min-height: 48px; line-height: 1.4; }
  .cx-intro { margin-bottom: 24px; }
  .cx-intro .eyebrow { margin-bottom: 12px; }
  .cx-intro h1 { margin: 0 0 12px; line-height: 1.2; }
  .cx-intro > p:last-child { margin: 0; line-height: 1.6; }
  .cx-metrics { gap: 12px; margin-bottom: 24px; }
  .cx-metric { padding: 20px !important; gap: 8px; }
  .cx-metric span { font-size: 14px; line-height: 1.45; }
  .cx-dashboard-grid { gap: 24px; }
  .cx-stay, .cx-notice { gap: 16px; }
  .cx-stay .secondary-button, .cx-notice .secondary-button { align-self: stretch; }
  .cx-checklist h2 { line-height: 1.3; }
  .cx-checklist li { margin: 4px 0; }
  .cx-checklist li a { padding-block: 10px; line-height: 1.5; }
  .cx-quick { margin-top: 20px; }
  .cx-conversation-search { gap: 12px; margin-block: 16px 24px; }
  .cx-conversation-search > button { flex: 1 1 100px; }
  .message-compose .primary-button { width: 100%; }
  .thread-heading { gap: 16px; }
  .thread-tools > button { flex: 0 1 auto; }
  .form-actions { margin-top: 24px; }
  .form-actions .primary-button { min-width: 160px; }
  .hospitality-toolbar > button { min-width: 48px; padding: 12px; }
  .sd-root[data-page="support"] .sd-button { min-height: 48px; padding: 12px 16px; font-size: 15px; line-height: 1.4; }
  .sd-root[data-page="support"] .sd-field :is(input, select, textarea) { min-height: 48px; padding: 12px; font-size: 16px; line-height: 1.5; }
  .sd-root[data-page="support"] .sd-new > summary { min-height: 48px; padding-block: 12px; line-height: 1.5; }

  .auth-layout .auth-panel { padding: 28px 24px; }
  .auth-panel .form-grid { gap: 20px; }
  .auth-panel .surface-actions { margin-top: 24px; }
  .auth-panel .auth-links { gap: 4px 16px; margin-block: 16px; }
  .auth-panel .auth-links > :is(a, button) { line-height: 1.5; padding-block: 8px; text-align: start; }
  body.auth-page .auth-panel .auth-password-input input { padding-inline-end: 76px; }
  .auth-footer { gap: 0 16px; }

  body:not(.admin-page) > footer:not(.home-footer) .footer-columns { gap: 28px 20px; }
  body:not(.admin-page) > footer:not(.home-footer) .footer-columns h2 { margin-bottom: 8px; }
  body:not(.admin-page) > footer:not(.home-footer) .footer-columns a { display: flex; align-items: center; min-height: 44px; padding-block: 8px; line-height: 1.5; }
  body:not(.admin-page) > footer:not(.home-footer) .footer-legal-links { display: flex; flex-wrap: wrap; gap: 0 20px; }
  body:not(.admin-page) > footer:not(.home-footer) .footer-legal-links > :is(a, button) { min-height: 44px; display: inline-flex; align-items: center; margin: 0; padding-block: 8px; line-height: 1.5; }
  body:not(.admin-page) > footer:not(.home-footer) .footer-bottom .language-picker { margin-top: 8px; }
}

@media (max-width: 700px) {
  .button { max-width: 100%; white-space: normal; overflow-wrap: anywhere; text-align: center; }
  .home-header, html:not([lang="en"]) .home-header { padding-block: 16px; }
  .home-header nav > a, .home-header nav .login-link, .home-language .language-picker select { min-height: 48px; }
  .home-navigation { padding: 16px; gap: 16px; margin-top: 16px; }
  .home-header .login-link { margin-top: 8px; }
  .hero { gap: 20px; }
  .hero-copy { padding-top: 4px; }
  .hero-copy p { margin-block: 16px 20px; }
  .hero .button, .hosting .button, .community-signin .button { min-height: 48px; padding: 12px 24px; font-size: 16px; line-height: 1.5; }
  .stay-search { gap: 12px 0; padding: 16px; margin-top: 16px; }
  .stay-search .search-location-filters { padding: 0 0 16px; margin: 0; gap: 16px; }
  .stay-search .search-location-filters label { font-size: 14px; }
  .stay-search .search-location-filters :is(input, select) { min-height: 48px; font-weight: 400; line-height: 1.5; padding: 12px; }
  .stay-search > .search-field { height: auto; min-height: 64px; padding: 8px; gap: 8px; }
  .stay-search > .search-field.search-destination { min-height: 76px; height: auto; padding: 0 0 12px; }
  .stay-search .search-destination input { min-height: 44px; }
  .stay-search > .date-field { border-right: 0; border-inline-end: 1px solid #e1e3e8; }
  .stay-search > .date-field:has(input[name="departure"]) { border-inline-end: 0; }
  .stay-search > .search-field.guest-field.enhanced { padding: 0; min-height: 56px; height: auto; }
  .guest-trigger { padding: 8px; gap: 8px; min-height: 56px; }
  .stay-search strong { margin-bottom: 4px; line-height: 1.4; }
  .stay-search > .button { height: auto; min-height: 56px; padding: 12px; font-size: 16px; line-height: 1.5; }
  .guest-options { max-width: calc(100vw - 68px); }
  .community-now { padding-block: 32px; }
  .community-now-head { gap: 12px; }
  .community-now-head p { margin-block: 12px 0; line-height: 1.5; }
  .community-totals { margin-block: 20px 24px; gap: 12px; }
  .community-totals a { padding: 16px; gap: 8px; line-height: 1.4; }
  .community-refresh { min-height: 48px; }
  .community-signin { gap: 12px; }
  .community-signin > .text-link { width: 100%; justify-content: center; }
  .community-live-heading { margin-block: 24px 16px; }
  .stay-kinds { padding-block: 8px 32px; }
  .section-heading { gap: 8px; margin-bottom: 20px; }
  .card-grid { gap: 24px; }
  .card-grid h3 { margin-block: 12px 4px; }
  .card-grid p { line-height: 1.55; }
  .benefits { padding-block: 32px; }
  .benefits h2 { margin-bottom: 24px; }
  .benefit-grid { gap: 24px; }
  .benefit-grid article { gap: 16px; }
  .benefit-grid h3 { margin-bottom: 8px; }
  .benefit-grid p { line-height: 1.55; }
  .local-story { gap: 24px; margin-top: 32px; }
  .story-copy > p { margin-top: 16px; }
  .story-links { gap: 0 16px; margin-top: 16px; }
  .destinations { margin-top: 32px; padding-bottom: 32px; }
  .destinations h2 { margin-bottom: 20px; }
  .hosting { padding-block: 32px; }
  .hosting-grid { gap: 24px; }
  .hosting-copy p { margin-block: 16px 20px; }
  .home-footer { padding-block: 32px 24px; }
  .home-footer .footer-grid { gap: 24px 16px; }
  .home-footer .footer-brand p { margin-top: 8px; line-height: 1.5; }
  .home-footer .footer-grid h3 { margin-bottom: 8px; }
  .home-footer .footer-grid nav a { line-height: 1.5; padding-block: 8px; }
  .home-footer .footer-bottom { margin-top: 24px; padding-top: 16px; gap: 8px 16px; }
  .home-footer .footer-legal { gap: 8px; }
  .home-footer .footer-legal-links { gap: 0 16px; }
  .home-footer .footer-legal-links > :is(a, button) { min-width: 0; min-height: 44px; margin: 0; padding: 8px 0; line-height: 1.5; white-space: normal; overflow-wrap: anywhere; }
}

@media (max-width: 600px) {
  body:not(.auth-page):not(.admin-page) .topbar-inner { padding: 12px 16px; gap: 8px; }
  body:not(.auth-page):not(.admin-page) .topbar-inner > .header-actions { gap: 8px; }
  body:not(.auth-page):not(.admin-page) .header-actions > .language-picker { max-width: 132px; }
  body:not(.auth-page):not(.admin-page) .header-actions .round-button,
  body:not(.auth-page):not(.admin-page) .header-actions .profile-button,
  body:not(.auth-page):not(.admin-page) .header-actions .language-picker select { height: 44px; min-height: 44px; }
  .cx-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cx-nav a { justify-content: center; text-align: center; min-width: 0; padding: 10px 8px; font-size: 14px; }
  .cx-stay, .cx-notice { flex-direction: column; align-items: stretch; }
  .cx-conversation-search label { flex-basis: 100%; min-width: 0; }
}

@media (max-width: 480px) {
  .hospitality-toolbar { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .hospitality-toolbar h3 { grid-column: 1 / -1; grid-row: 1; margin: 0; line-height: 1.5; }
  .hospitality-toolbar > button { width: 100%; }
}

@media (max-width: 380px) {
  body:not(.auth-page):not(.admin-page) .topbar-inner { padding-inline: 8px; }
  body:not(.auth-page):not(.admin-page) .topbar-inner > .header-actions { gap: 4px; }
  body:not(.auth-page):not(.admin-page) .header-actions .language-picker select { padding-inline: 6px; }
  body:not(.admin-page) .member-card .card-actions { grid-template-columns: 1fr; }
  body:not(.admin-page) .member-card .card-actions > :last-child:nth-child(odd) { grid-column: auto; }
  .cx-metric { padding: 16px !important; }
  .auth-layout .auth-panel { padding: 24px 20px; }
  .home-footer .footer-grid, html:not([lang="en"]) .home-footer .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Member and conversation details keep compact controls on phones and tablets. */
@media (max-width: 900px) {
  body:not(.admin-page) :is(.surface-actions, .card-actions) > .text-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 48px;
    max-width: 100%;
    padding: 12px 16px;
    border: 0;
    background: transparent;
    font-family: inherit;
    font-size: 15px;
    line-height: 1.4;
    text-align: center;
    white-space: normal;
    overflow-wrap: anywhere;
  }
  .thread-heading { flex-direction: column; align-items: stretch; gap: 12px; }
  .thread-heading > div { width: 100%; }
  .thread-heading a, .message-report {
    display: inline-flex;
    align-items: center;
    min-width: 44px;
    min-height: 44px;
    padding-block: 8px;
    line-height: 1.5;
  }
  .thread-tools { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .thread-tools > .thread-refresh {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 0;
    min-height: 48px;
    padding: 12px;
    line-height: 1.4;
    white-space: normal;
    overflow-wrap: anywhere;
  }
  .message-compose { display: flex; flex-direction: column; gap: 12px; }
  .message-compose label { margin: 0; }
  .message-compose > .help-text { margin: 0; }
  .message-compose > .help-text:empty { display: none; }
  .message-compose .primary-button { float: none; margin-top: 0; }
  .message-compose > .text-button { align-self: center; }
  .message-compose::after { content: none; }
  .cx-photo-compose label:focus-within { outline: 3px solid #008b92; outline-offset: 3px; }
}
