/* Minimal account page — relies on tokens + .site-header/.site-footer from search2.css */
.account-main{ padding:48px 0 64px; }

.account-card{
  max-width:420px; margin:0 auto; text-align:center;
  background:var(--surface); border:1px solid var(--border); border-radius:var(--radius);
  box-shadow:var(--shadow-md); padding:32px 28px;
}

.account-card__avatar{
  width:72px; height:72px; border-radius:50%; object-fit:cover; display:block;
  margin:0 auto 16px; background:var(--soft-gray);
}
.account-card__name{ margin:0 0 4px; font-size:20px; font-weight:700; color:var(--text); }
.account-card__email{ margin:0 0 20px; color:var(--muted); font-size:14px; }

.account-card__row{
  display:flex; align-items:center; justify-content:space-between;
  padding:12px 16px; border:1px solid var(--border); border-radius:12px;
  background:var(--warm-sand); font-size:14px; font-weight:600; color:var(--text);
}
.account-card__plan{ color:var(--primary); }

.account-card__note{
  margin:14px 0 24px; font-size:13px; color:var(--muted); line-height:1.5;
}

.account-card__signout{ width:100%; justify-content:center; }

/* ---------- Settings cards (Travel preferences / Subscription / Profile) ---------- */
.settings-card{
  max-width:420px; margin:0 auto 20px; text-align:left;
  background:var(--surface); border:1px solid var(--border); border-radius:var(--radius);
  box-shadow:var(--shadow-md); padding:28px;
}
.settings-card__title{ margin:0 0 18px; font-size:17px; font-weight:800; color:var(--text); }
.settings-card__note{ margin-top:14px; margin-bottom:0; }
.settings-card__actions{ margin-top:16px; display:flex; align-items:center; gap:12px; flex-wrap:wrap; }

.settings-field{ display:flex; flex-direction:column; gap:8px; }
.settings-field + .settings-field{ margin-top:16px; }
.settings-field label{ font-size:13px; font-weight:700; color:var(--text); }
.settings-field select,
.settings-field input{
  height:44px; padding:0 14px; border-radius:12px; border:1px solid var(--border);
  background:#fff; font-size:15px; color:var(--text); font-family:inherit; width:100%;
}
.settings-field select:focus,
.settings-field input:not([readonly]):focus{
  outline:none; border-color:var(--yellow); box-shadow:0 0 0 3px rgba(247,200,62,.35);
}
.settings-field input[readonly]{ background:var(--soft-gray); color:var(--text); cursor:default; }
.settings-field__hint{ margin:0; font-size:12px; color:var(--muted); line-height:1.5; }

.settings-row{
  display:flex; align-items:center; justify-content:space-between;
  padding:10px 0; border-bottom:1px solid var(--border);
}
.settings-row[hidden]{ display:none; }
.settings-row:last-of-type{ border-bottom:none; }
.settings-row__label{ font-size:13px; color:var(--muted); }
.settings-row__value{ font-size:15px; font-weight:700; color:var(--text); }
.settings-badge{
  display:inline-flex; align-items:center; padding:4px 12px; border-radius:999px;
  background:var(--yellow); color:var(--primary); font-weight:700; font-size:13px;
}
.subscription-plan-field{ margin-top:16px; }
#subscription-action-status:empty{ display:none; }
#subscription-action-status.is-error{ color:#b42318; }

/* ---------- Transactions ---------- */
.transactions-list{ display:flex; flex-direction:column; border-top:1px solid var(--border); }
.transactions-list:empty{ display:none; }
.transaction-row{
  display:grid; grid-template-columns:minmax(0, 1fr) auto; gap:8px 14px;
  align-items:center; padding:12px 0; border-bottom:1px solid var(--border);
}
.transaction-row__main{ min-width:0; }
.transaction-row__id{
  display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
  font-size:13px; font-weight:700; color:var(--text);
}
.transaction-row__date{ display:block; margin-top:3px; font-size:12px; color:var(--muted); }
.transaction-row__meta{
  display:flex; flex-direction:column; align-items:flex-end; gap:5px;
  min-width:92px; text-align:right;
}
.transaction-row__amount{ font-size:14px; font-weight:800; color:var(--text); }
.transaction-row__status{
  display:inline-flex; align-items:center; min-height:22px; padding:3px 8px;
  border-radius:999px; background:var(--soft-gray); color:var(--muted);
  font-size:11px; font-weight:800; text-transform:capitalize;
}
#transactions-status:empty{ display:none; }

@media (max-width:420px){
  .transaction-row{ grid-template-columns:1fr; }
  .transaction-row__meta{ align-items:flex-start; text-align:left; min-width:0; }
}

/* ---------- Home airport: searchable combobox ---------- */
.airport-combobox{ position:relative; }
.airport-combobox__input{ width:100%; }
.airport-combobox__list{
  position:absolute; top:calc(100% + 6px); left:0; right:0; z-index:20;
  max-height:260px; overflow-y:auto;
  background:#fff; border:1px solid var(--border); border-radius:12px;
  box-shadow:var(--shadow-md); padding:6px;
}
.airport-combobox__option{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  width:100%; padding:9px 10px; border:none; background:none; border-radius:8px;
  font-size:14px; color:var(--text); text-align:left; cursor:pointer; font-family:inherit;
}
.airport-combobox__option:hover,
.airport-combobox__option.is-active{ background:var(--soft-gray); }
.airport-combobox__option b{ color:var(--muted); font-weight:600; font-size:12px; }
.airport-combobox__empty{ padding:10px; font-size:13px; color:var(--muted); }

/* ---------- Wider profile blocks on desktop ---------- */
@media (min-width:700px){
  .account-main .account-card,
  .account-main .settings-card{ max-width:640px; }
}
