/* Descubra os EUA — tipografia e paleta editorial, 03/09/2026.
   Carregado depois dos estilos existentes. Fontes via Google Fonts no head. */
:root {
  --font-body:"Fira Sans",Arial,sans-serif;
  --font-heading:"Playfair Display",Georgia,serif;
  --font-signature:"Dancing Script",cursive;
  --default-font-family:var(--font-body);
  --background:#FBFAFF;
  --foreground:#190030;
  --card:#FBFAFF;
  --card-foreground:#190030;
  --popover:#FBFAFF;
  --popover-foreground:#190030;
  --primary:#7452A2;
  --primary-foreground:#FBFAFF;
  --secondary:#F1E2FF;
  --secondary-foreground:#190030;
  --muted:#F1E2FF;
  --muted-foreground:#625E6D;
  --accent:#F1E2FF;
  --accent-foreground:#190030;
  --border:#F1E2FF;
  --input:#7452A24D;
  --ring:#7452A2;
  --purple:#7452A2;
  --ink:#190030;
  --magenta:#F60896;
  --green:#C1FF72;
  --action:#F60896;
  --action-foreground:#190030;
}

/* Textos e controles regulares. A hierarquia de títulos é definida abaixo. */
html,body,button,input,select,textarea,optgroup,
p,span,a,small,label,li,dt,dd,td,th,summary,
.font-sans,.leaflet-container {
  font-family:var(--font-body);
  font-weight:400;
}
body { color:var(--ink); background:var(--background); }
.button,.text-link,.toolbar-new,.nav .account-trigger,
.world-item>div,.stage-number,.filter-field>span,.editor-field>span,
.choice-group legend,.image-editor legend,.place-label,
.travel-style-subtitle,.footer .footer-contact .footer-cta,
[data-slot="badge"] {
  font-family:var(--font-body);
  font-weight:400;
}
strong,b { font-family:inherit; font-weight:700; }

/* Títulos principais, inclusive títulos com links ou spans internos. */
h1,h2,.hero h1,.detail-title h1 {
  font-family:var(--font-heading);
  font-weight:700;
  font-style:normal;
  color:var(--purple);
  letter-spacing:-.018em;
  line-height:1.18;
}
h1 :is(a,span,strong,b),h2 :is(a,span,strong,b) {
  font-family:inherit;
  font-weight:inherit;
}
.hero h1 em {
  font-family:var(--font-heading);
  font-weight:700;
  font-style:normal;
  color:var(--magenta);
}

/* Intertítulos e textos de abertura. */
h3,h4,h5,h6,.eyebrow,.lead,.lead-text,.hero-copy,.detail-subtitle,
.section-intro,.travel-style-title {
  font-family:var(--font-body);
  font-weight:700;
}
h3,h4,h5,h6 { color:var(--purple); line-height:1.3; letter-spacing:normal; }
h3 :is(a,span,strong,b),h4 :is(a,span,strong,b) { font-family:inherit; font-weight:inherit; }
.eyebrow { color:var(--purple); letter-spacing:.1em; text-transform:uppercase; }
.travel-style-title { letter-spacing:normal; line-height:1.25; }

/* Citações editoriais e assinaturas: apenas em elementos próprios. */
blockquote,q,.editorial-quote,.pullquote,.editorial-highlight,
blockquote :is(p,span,a),.editorial-quote :is(p,span,a),
.pullquote :is(p,span,a),.editorial-highlight :is(p,span,a) {
  font-family:var(--font-heading);
  font-weight:400;
  font-style:italic;
}
blockquote,.editorial-quote,.pullquote {
  border-inline-start:3px solid var(--purple);
  padding-inline-start:1.25rem;
  color:var(--ink);
}
.signature,.editorial-signature,.handwritten-signature,
:is(.signature,.editorial-signature,.handwritten-signature) :is(span,a) {
  font-family:var(--font-signature);
  font-weight:400;
  font-style:normal;
}

/* Superfícies e informações secundárias. */
.header,.search-box,.button,.filter-select,.duration-options a,
.photo-tag,.save-icon,.detail-nav,.skip-link,
.editor-field input,.editor-field textarea,.location-fields input,
.image-editor input,.server-filters select,
.place-search-row>[data-slot="input-group"] {
  background-color:var(--background);
}
.soft,.profile-panel,.map-builder,.editor-progress,.world-note,
.preview-banner,.editor-toolbar { background-color:var(--accent); }
.preview-banner { color:var(--ink); }
.editor-bottom { background-color:#FBFAFFF5; }
.tags a,.tags>span,.night-tag { background:var(--background); border-color:var(--border); }
.muted,.card-route,.card-facts,.card-region,.stage-region,.night-tag,
.photo-credit,.map-note,.filter-help,.breadcrumbs,.quick-facts span,
.quick-facts strong,.leg-time,.leg-time strong,.leg-time small,
.results-top p,.world-item small,.route-summary-strip,
.route-summary-strip strong { color:var(--muted-foreground); }
.quick-facts strong,.leg-time strong,.route-summary-strip strong,
.results-top strong { font-weight:400; color:var(--muted-foreground); }
.tags a,.tags>span { color:var(--purple); }

/* Ações primárias: magenta com texto Voo Noturno. */
.button.primary,.search-submit,.toolbar-new,.discovery .button,
.footer .footer-contact .footer-cta,[data-slot="button"].bg-primary {
  background:var(--action);
  border-color:var(--action);
  color:var(--action-foreground);
}
.button.primary:hover,.search-submit:hover,.toolbar-new:hover,
.discovery .button:hover,.footer .footer-contact .footer-cta:hover,
[data-slot="button"].bg-primary:hover {
  background:var(--action);
  border-color:var(--ink);
  color:var(--action-foreground);
  box-shadow:0 0 0 2px var(--accent);
}
.button.dark { background:var(--ink); border-color:var(--ink); color:var(--background); }
.active-filters button,.save-icon[aria-pressed="true"],
.tags [aria-pressed="true"],.tags [aria-selected="true"],
.pill[aria-pressed="true"],.pill[aria-selected="true"],
[data-slot="badge"][data-selected="true"] {
  background:var(--action);
  border-color:var(--action);
  color:var(--action-foreground);
}
.active-filters button:hover { background:var(--action); color:var(--ink); box-shadow:0 0 0 2px var(--accent); }
.saved { background:var(--accent); color:var(--magenta); }

/* Links ativos e fundos de apoio ao passar o mouse. */
a:hover,.text-link:hover,.nav a:hover,.type-more a:hover,
.detail-nav a:hover,.prose-page a:hover,.travel-styles-more a:hover,
.leaflet-popup-content a:hover,.card-body h3 a:hover,
.footer a:hover,.footer .footer-contacts a:hover>span:last-child {
  color:var(--magenta);
}
.duration-options a:hover,.tags a:hover,.world-item:hover,.type-card:hover {
  background:var(--accent);
  color:var(--magenta);
  border-color:var(--purple);
}
.nav a[aria-current="page"],.detail-nav a[aria-current="true"],
.detail-nav a[aria-current="location"],.detail-nav a[aria-current="page"],
.text-link[aria-current="page"] { color:var(--magenta); }
.travel-style-card:hover { color:var(--background); border-color:var(--magenta); }
.hero-photo:hover { color:var(--background); }

/* Foco visível, incluindo campos e a caixa de busca. */
button:focus-visible,a:focus-visible,input:focus-visible,
textarea:focus-visible,select:focus-visible,
.travel-style-card:focus-visible,.footer a:focus-visible {
  outline:3px solid var(--purple);
  outline-offset:4px;
}
.search-box:focus-within { border-color:var(--purple); box-shadow:0 0 0 2px #7452A233; }
.editor-field input:focus,.editor-field textarea:focus { outline-color:var(--purple); }

/* Texto claro sobre fotos e sobre o fundo Voo Noturno. */
.hero-caption h2,.hero-caption p,.detail-hero-label,
.discovery h2,.discovery p,.footer,.footer p,.footer-bottom,
.footer .footer-contact h2,.footer .footer-contacts a,
.travel-style-card,.travel-style-title,.travel-style-subtitle {
  color:var(--background);
}
.hero-caption .eyebrow,.discovery .eyebrow,
.footer .footer-identity .footer-project-note,
.footer .footer-contacts a>span:first-child { color:var(--accent); }
.footer { background:var(--ink); border-color:var(--ink); }
.footer .footer-bottom { border-color:#F1E2FF33; }
.footer .footer-contact h2 { font-family:var(--font-heading); font-weight:700; line-height:1.25; }
.footer .footer-contact .footer-cta { color:var(--ink); }
.footer .footer-contacts a:hover { color:var(--magenta); }

/* Quando fazer este roteiro: só as barras indicam a classificação por cor. */
#quando-ir>.eyebrow {
  font-family:var(--font-body);
  font-weight:700;
  font-size:.75rem;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:#7452A2;
}
#quando-ir>h2 {
  font-family:var(--font-heading);
  font-weight:700;
  font-style:normal;
  color:#190030;
}
#quando-ir .season-summary h3 { font-family:var(--font-body); font-weight:700; }
#quando-ir .season-summary p { font-family:var(--font-body); font-weight:400; color:#625E6D; }
#quando-ir .month-grid { background:#FBFAFF; border-color:#F1E2FF; grid-template-columns:repeat(12,minmax(0,1fr)); }
#quando-ir .month { min-width:0; }
#quando-ir .month>span {
  font-family:var(--font-body);
  font-weight:700;
  font-size:.875rem;
  color:#190030;
}
#quando-ir .month>small {
  font-family:var(--font-body);
  font-weight:400;
  font-style:normal;
  color:#625E6D;
  opacity:1;
  font-size:.75rem;
  line-height:1.4;
}
#quando-ir .month>i { opacity:1; }
#quando-ir .month-4>i { background:#C1FF72; }
#quando-ir .month-3>i { background:#F60896; }
#quando-ir .month-2>i { background:#F1E2FF; }
#quando-ir .month-1>i { background:rgb(98 94 109 / 30%); }

@media (max-width:900px) {
  #quando-ir .month-grid { grid-template-columns:repeat(6,minmax(0,1fr)); }
}
@media (max-width:480px) {
  #quando-ir .month-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .hero h1 { font-size:clamp(2.3rem,9.5vw,2.8rem); line-height:1.18; }
  .section-head { flex-wrap:wrap; }
  .travel-style-title { font-size:1.0625rem; }
}
