/* One type scale overrides older component-specific !important font rules.
   Important declarations in a named layer outrank unlayered important rules. */
@layer rovego-typography {
:root {
    --ui-font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text",system-ui,sans-serif;
    --ui-font-size:13px;
    --ui-line-height:1.4;
  }
body {
    font-family:var(--ui-font-family) !important;
    font-size:var(--ui-font-size) !important;
    line-height:var(--ui-line-height) !important;
  }
body :where(input,select,textarea,button,label,summary,p,small,strong,b,em,a,output,li,h1,h2,h3,h4,legend,dt,dd,th,td,span:not([aria-hidden="true"]),.sp-label,.rt-k,.rt-v,.hint,.destination-selection,.pp-big,.toast,.sp-ai-note,.sp-budget,.sp-bags,.budget-form,.it-hint) {
    font-family:var(--ui-font-family) !important;
    font-size:var(--ui-font-size) !important;
    line-height:var(--ui-line-height) !important;
    letter-spacing:normal !important;
  }
body :where(input,textarea)::placeholder {
    font-family:var(--ui-font-family) !important;
    font-size:var(--ui-font-size) !important;
    line-height:var(--ui-line-height) !important;
    font-weight:400 !important;
    letter-spacing:normal !important;
  }
/* date-type.js creates the visible field; date-display is its hidden mirror. */
body #dateControl :is(.date-type,.date-display,.date-time input) {
    font-family:var(--ui-font-family) !important;
    font-size:var(--ui-font-size) !important;
    line-height:var(--ui-line-height) !important;
    font-weight:500 !important;
    font-variant-numeric:tabular-nums !important;
    letter-spacing:normal !important;
  }
body :where(.sp-label,.rt-k,.field-head label,.budget-form>label,h1,h2,h3,h4) { font-weight:600 !important; }
body #startPage .rt-type .sp-label small { display:inline; margin:0 0 0 4px; }
body .destination-selection:empty { display:none !important; }
/* Prevent iOS focus zoom while keeping the entire mobile interface consistent. */
@media(max-width:600px) {
:root { --ui-font-size:16px; }
}
}
@layer rovego-typography {
body :is(.pc-time,.cx-row>time,.cx-time-in,.it-item time,.transit-ride time,.leg-seg time,.it-time-input) { font-family:var(--ui-font-family) !important; font-size:12px !important; line-height:1.35 !important; font-weight:500 !important; font-variant-numeric:tabular-nums !important; }
body .transit-buffer-chip :is(span,input,select) { font-size:11px !important; line-height:1.3 !important; }
body .it-item.is-waypoint :is(span,button,time) { font-size:12px !important; line-height:1.3 !important; }
@media(max-width:600px) {
body :is(.cx-time-in,.it-time-input),body .transit-buffer-chip :is(input,select) { font-size:16px !important; }
}
}
@layer rovego-typography {
body .airport-plan-card :is(header,label,span,input,select,button,strong) { font-size:12px !important; line-height:1.35 !important; }
body .flight-dialog-close { font-size:21px !important; line-height:1 !important; }
@media(max-width:600px) {
body .airport-plan-card :is(input,select) { font-size:16px !important; }
}
}
@layer rovego-typography {
body [data-flight-ignore],body .flight-departure-warning :is(strong,span,time) { font-weight:750 !important; color:#c62732 !important; }
body .airport-collapsible > summary { font-size:12px !important; }
}
@layer rovego-typography {
body .flight-availability-label strong { font-size:11px !important; font-weight:750 !important; }
body .flight-availability-label.needs-attention :is(strong,input) { color:#c62732 !important; font-weight:750 !important; }
body .flight-waypoint-badge { font-size:12px !important; }
@media(max-width:600px) {
body .flight-availability-label input { font-size:16px !important; }
}
}
