/* Passagens (Resultados)
   UI consistente sem depender do home.css.
*/

:root{
  color-scheme: light;
  /* Compat: alguns blocos usam estes tokens */
  --bg: var(--td-bg);
  --surface: var(--td-surface);
  --text: var(--td-text);
  --muted: var(--td-muted);
  --border: var(--td-border);
  --shadow2: var(--td-shadow-sm);
  --primary: var(--td-primary);
  --primary2: var(--td-primary-2);
  --radius: var(--td-radius);
}

/* Container legado usado no footer */
.container{ max-width: 1120px; margin: 0 auto; padding: 0 16px; }

/* Botões legados (.btn) usados pelos cards de resultado */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius: 14px;
  padding: 10px 14px;
  font-weight: 650;
  border: 1px solid transparent;
  gap: 8px;
  cursor:pointer;
  user-select:none;
  transition: background .15s ease, border-color .15s ease, transform .05s ease;
}
.btn:active{ transform: translateY(1px); }
.btn-sm{ padding: 8px 12px; border-radius: 12px; font-size: 13px; }
.btn-lg{ padding: 12px 16px; border-radius: 16px; }
.btn-primary{
  background: var(--primary);
  border-color: var(--primary);
  color:#fff;
  box-shadow: 0 10px 20px rgba(37,99,235,.18);
}
.btn-primary:hover{ background: var(--primary2); border-color: var(--primary2); }
.btn-outline{
  background: rgba(255,255,255,.88);
  border-color: rgba(15,23,42,.18);
  color: rgba(2,6,23,.88);
}
.btn-outline:hover{ background: rgba(255,255,255,.98); border-color: rgba(15,23,42,.30); }

/* Layout da página */
.page-wrap{ padding: 18px 0 34px; }
/*
  A área de resultados precisa aproveitar melhor a largura da tela.
  Mantemos padding lateral, mas removemos o "container" centralizado
  para que o sidebar (filtros) fique mais à esquerda.
*/
.results-wrap{ max-width: none; width: 100%; margin: 0; padding: 0 16px; }

/*
  Layout correto (desktop): filtros na esquerda e resultados na direita.
  No v86 os filtros estavam empurrando os cards muito pra baixo e deixando
  a página com aparência “quadrada/bagunçada”.
*/
 .results-wrap{
  display: grid;
  /* sidebar fixo e resultados com o restante da tela */
  grid-template-columns: 340px minmax(0, 1fr);
  grid-template-rows: auto 1fr;
  gap: 16px;
  align-items: start;
}
.results-search{ grid-column: 1; grid-row: 1 / span 2; margin-top: 10px; }
.status{ grid-column: 2; grid-row: 1; align-self: start; margin: 10px 0 12px; }
.results{ grid-column: 2; grid-row: 2; margin-top: 0; }

/* Busca compacta no topo (colapsável) */
.results-search{ grid-column: 1 / -1; margin-top: 12px; }
.td-search-details{
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(15,23,42,.10);
  border-radius: 18px;
  box-shadow: 0 12px 28px rgba(2,6,23,.06);
  overflow: hidden;
}
.td-search-summary{
  list-style: none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 14px;
  padding: 12px 14px;
  cursor:pointer;
  user-select:none;
}
.td-search-summary::-webkit-details-marker{ display:none; }
.td-search-summary-left{ min-width:0; }
.td-search-summary-route{
  font-weight: 750;
  letter-spacing: -.02em;
  color: rgba(2,6,23,.92);
  line-height: 1.1;
}
.td-search-summary-meta{
  margin-top: 3px;
  font-size: 12px;
  color: rgba(2,6,23,.62);
  font-weight: 600;
}
.td-search-summary-actions{
  display:flex;
  align-items:center;
  gap: 8px;
  color: rgba(2,6,23,.62);
  font-weight: 650;
}
.td-search-summary-action{
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(15,23,42,.10);
  background: rgba(255,255,255,.70);
}
.td-search-summary-chevron{ transform: translateY(-1px); }
.td-search-details[open] .td-search-summary-action{ background: rgba(2,6,23,.04); }
.td-search-body{ padding: 12px 14px 14px; border-top: 1px solid rgba(15,23,42,.08); }

/* Grid do form (similar à home, porém mais compacto) */
.td-search-grid{
  display:grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 10px;
  align-items:end;
}
.td-search-grid .f-item{ margin:0; }
.td-search-grid .f-item label{ font-size: 12px; font-weight: 650; color: rgba(2,6,23,.70); margin-bottom: 6px; }
.td-search-grid .f-item input{
  height: 44px;
  border-radius: 14px;
}
.td-search-grid .swap{
  height: 44px;
  border-radius: 14px;
}
.td-search-grid .col-4{ grid-column: span 4; }
.td-search-grid .col-2{ grid-column: span 2; }
.td-search-grid .col-12{ grid-column: 1 / -1; }
.td-search-grid .col-swap{ grid-column: span 1; justify-self:center; align-self:end; }

/* Datas lado a lado */

.results-search .filters-wrap #resIda{ width: 100%; }
.results-search .filters-wrap #resVolta{ width: 100%; }

/* Card do formulário de busca */
.filters-wrap{
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(15,23,42,.10);
  border-radius: 18px;
  padding: 12px;
  box-shadow: 0 10px 26px rgba(2,6,23,.06);
  margin: 12px 0 14px;
  display:grid;
  grid-template-columns: repeat(12, minmax(0,1fr));
  gap: 12px;
  align-items:end;
  overflow: visible;
}

/* Cada campo */
.f-item{
  display:flex;
  flex-direction:column;
  gap: 6px;
  background: transparent;
  border: 0;
  box-shadow:none;
  padding: 0;
  position: relative; /* para o dropdown do autocomplete */
}
.f-item label{
  font-size: 12px;
  color: rgba(15,23,42,.70);
  font-weight: 600;
}
.f-item input,
.f-item select{
  height: 46px;
  border-radius: 16px;
  border: 1px solid rgba(15,23,42,.14);
  background: rgba(255,255,255,.98);
  padding: 0 14px;
  outline:none;
  font-weight: 600;
  color: rgba(2,6,23,.90);
}
.f-item input:focus,
.f-item select:focus{
  border-color: rgba(37,99,235,.55);
  box-shadow: 0 0 0 4px rgba(37,99,235,.14);
}

.f-item:nth-child(1){ grid-column: span 4; }
.f-item:nth-child(2){ grid-column: span 4; }
#resSwap{ grid-column: span 1; }
.f-item:nth-child(4){ grid-column: span 2; }
.f-item:nth-child(5){ grid-column: span 2; }

/* botão swap */
.swap{
  width: 46px;
  height: 46px;
  border-radius: 16px;
  border: 1px solid rgba(15,23,42,.14);
  background: rgba(255,255,255,.92);
  font-size: 18px;
  cursor:pointer;
  align-self:end;
}
.swap:hover{ background: rgba(255,255,255,.98); }

/* Apenas ida: campo desativado */
.flatpickr-input:disabled,
.flatpickr-input.is-disabled,
input:disabled,
input.is-disabled{
  background: rgba(148,163,184,.22);
  border-color: rgba(15,23,42,.14);
  color: rgba(15,23,42,.55);
  cursor:not-allowed;
  opacity: 1;
}

/* Checkbox */
.chk{ display:inline-flex; align-items:center; gap:10px; user-select:none; }
.chk input{ width: 16px; height: 16px; accent-color: var(--primary); }
.chk span{ font-size: 13px; color: rgba(15,23,42,.72); font-weight: 700; }

.chk span{ color: rgba(15,23,42,.78); font-weight: 600; }

/* Filtros secundários */
.filters{
  display:grid;
  grid-template-columns: repeat(12, minmax(0,1fr));
  gap: 12px;
  margin-bottom: 16px;
}

/* Sidebar: filtros secundários em coluna + card */
.results-search .filters{
  grid-template-columns: 1fr;
  margin-bottom: 0;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(15,23,42,.10);
  border-radius: 18px;
  padding: 12px;
  box-shadow: 0 10px 26px rgba(2,6,23,.06);
}
.results-search .filters .f-item{ grid-column: 1 / -1 !important; }
#sortBy{ grid-column: span 3; }
#stops{ grid-column: span 3; }
.filters .f-item:nth-child(3){ grid-column: span 4; }
.filters .f-item:nth-child(4){ grid-column: span 2; }

.range-row{ display:flex; gap:10px; align-items:center; }
/* Min/Max precisam ocupar bem o espaço do card (sem encolher). */
.range-row input{ flex: 1 1 0; min-width: 0; height: 42px; border-radius: 14px; padding: 0 12px; }
.range-val{
  display:flex;
  justify-content:space-between;
  gap: 10px;
  font-size: 12px;
  color: rgba(15,23,42,.65);
  margin-top: 6px;
}

/* Autocomplete */
.ac-list{
  position:absolute;
  left:0; right:0;
  top: calc(100% + 6px);
  background:#fff;
  border: 1px solid rgba(15,23,42,.14);
  border-radius: 14px;
  box-shadow: 0 16px 34px rgba(2,6,23,.10);
  z-index: 2000;
  overflow: hidden;
  display:none;
}
.ac-list.open{ display:block; }
.ac-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
  padding: 10px 12px;
  cursor:pointer;
}
.ac-row:hover{ background: rgba(37,99,235,.06); }
.ac-main{ display:flex; flex-direction:column; gap: 2px; min-width:0; }
.ac-title{ font-size: 13px; color: rgba(15,23,42,.92); }
.ac-sub{ font-size: 12px; color: rgba(15,23,42,.55); }
.ac-code{ font-weight: 750; font-size: 12px; color: rgba(15,23,42,.65); }

/* Status */
.status{ color: rgba(15,23,42,.82); font-weight: 600; }

/* Lista de resultados */
.results{ margin-top: 6px; }
#resultsList{ display:flex; flex-direction:column; gap: 12px; }

/* Wrapper antigo (mantido para JS) */
.card{ background: transparent; border:0; padding:0; box-shadow:none; }

/* ===== Card do voo (padrão Trajet) ===== */
.td-flight-card{
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(15,23,42,.10);
  border-radius: 18px;
  box-shadow: 0 10px 26px rgba(2,6,23,.06);
  overflow:hidden;
}
.td-flight-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap: 14px;
  padding: 14px 16px;
  cursor:pointer;
}
.td-flight-left{ min-width:0; flex: 1 1 auto; }
.td-flight-right{ flex: 0 0 auto; text-align:right; display:flex; flex-direction:column; gap:10px; }

.td-flight-top{display:flex; align-items:flex-start; gap:10px; }
.td-airline-mark{
  --td-air:#64748b;
  width:34px; height:34px; flex:0 0 34px;
  border-radius: 12px;
  display:flex; align-items:center; justify-content:center;
  background: rgba(2,6,23,.04);
  border: 1px solid rgba(15,23,42,.10);
  overflow:hidden;
}
.td-airline-logo{ width: 20px; height: 20px; display:block; }
/* Por padrão, escondemos a letra. Ela só aparece quando o logo falhar (fallback). */
.td-airline-letter{ display:none; font-weight: 700; font-size: 14px; color: rgba(2,6,23,.72); }
.td-airline-mark.td-airline-fallback{ background: rgba(37,99,235,.08); border-color: rgba(37,99,235,.18); }
.td-airline-mark.td-airline-fallback .td-airline-letter{ display:flex; color: rgba(37,99,235,.95); }

.td-flight-kicker{ font-size:12px; color: rgba(15,23,42,.72); font-weight: 600; }
.td-flight-route{ font-weight: 700; color: rgba(2,6,23,.92); margin-top:4px; line-height:1.25; }
.td-flight-times{ font-weight: 600; color: rgba(2,6,23,.90); margin-top:6px; }
.td-flight-times .td-dash{ opacity:.75; padding: 0 6px; }

.day-plus{
  display:inline-block;
  margin-left:6px;
  font-size:12px;
  font-weight: 700;
  color: rgba(37,99,235,.95);
  background: rgba(37,99,235,.12);
  border: 1px solid rgba(37,99,235,.18);
  padding: 2px 8px;
  border-radius: 999px;
  vertical-align: middle;
}

.td-flight-chips{ display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
.td-chip{
  font-size:12px;
  font-weight: 600;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(15,23,42,.12);
  background: rgba(15,23,42,.04);
  color: rgba(15,23,42,.84);
  line-height:1;
}
.td-chip-muted{ background: rgba(37,99,235,.10); border-color: rgba(37,99,235,.20); color: rgba(37,99,235,.95); }
.td-chip-air{
  --td-chip: #64748b;
  background: color-mix(in srgb, var(--td-chip) 10%, #fff);
  border-color: color-mix(in srgb, var(--td-chip) 20%, rgba(15,23,42,.12));
  color: color-mix(in srgb, var(--td-chip) 85%, rgba(2,6,23,.92));
}

.td-price{ font-size: 20px; font-weight: 750; color: rgba(2,6,23,.95); white-space:nowrap; }
.td-actions{ display:flex; justify-content:flex-end; gap:10px; flex-wrap:wrap; }
.td-select{ white-space:nowrap; }

.td-chevron{
  margin-top:8px;
  font-size:18px;
  color: rgba(15,23,42,.55);
  transition: transform .18s ease;
  user-select:none;
}
.td-chevron.is-open{ transform: rotate(180deg); }

/* Details */
.td-flight-details{ border-top: 1px solid rgba(15,23,42,.08); }
.flight-details .details-inner{ padding: 14px 16px; }

.td-details-grid{ display:grid; grid-template-columns: 1fr 280px; gap: 18px; align-items:start; }
.td-timeline{ position:relative; padding-left: 18px; }
.td-timeline::before{ content:''; position:absolute; left:7px; top:10px; bottom:10px; width:2px; background: rgba(15,23,42,.10); border-radius:2px; }
.td-seg{ position:relative; display:grid; grid-template-columns: 16px 1fr; gap:10px; padding: 10px 0; }
.td-dot{ width:10px; height:10px; border-radius:999px; margin-top:4px; background: rgba(37,99,235,.90); box-shadow: 0 0 0 4px rgba(37,99,235,.14); }
.td-seg-body{ min-width:0; }
.td-seg-time{ font-weight: 750; color: rgba(2,6,23,.92); font-size: 13px; }
.td-seg-date{ font-weight: 600; color: rgba(15,23,42,.62); }
.td-seg-route{ margin-top: 4px; font-size: 12px; color: rgba(15,23,42,.78); }
.td-seg-meta{ display:flex; flex-wrap:wrap; gap:6px; margin-top: 6px; }

.td-wait{ margin: 0 0 0 18px; padding: 8px 10px; border: 1px dashed rgba(15,23,42,.14); border-radius: 12px; background: rgba(248,250,252,.7); color: rgba(15,23,42,.72); font-size: 12px; }
.td-wait-to{ color: rgba(15,23,42,.55); font-weight: 750; }

.td-perks{ border: 1px solid rgba(15,23,42,.10); border-radius: 16px; background: rgba(248,250,252,.75); padding: 12px; }
.flight-details .td-perks{ position: sticky; top: 12px; align-self:start; }
.td-perks-title{ font-weight: 750; color: rgba(2,6,23,.90); font-size: 13px; margin-bottom: 8px; }
.td-perk{ display:flex; gap:10px; align-items:flex-start; padding: 8px 0; border-top: 1px solid rgba(15,23,42,.06); }
.td-perk:first-of-type{ border-top:0; }
.td-perk-ico{ width:22px; display:inline-flex; justify-content:center; opacity:.9; }
.td-perk-txt{ font-size: 12px; color: rgba(15,23,42,.72); line-height: 1.3; }

/* Empty */
.empty-state{ padding: 20px; border: 1px dashed rgba(15,23,42,.14); border-radius: 18px; background: rgba(255,255,255,.75); text-align:center; }
.empty-icon{ font-size: 26px; line-height:1; margin-bottom: 10px; }
.empty-title{ font-weight: 750; font-size: 16px; margin-bottom: 6px; }
.empty-sub{ font-size: 13px; color: rgba(15,23,42,.65); }

/* Footer (classes usadas no HTML existente) */
.site-footer{ border-top: 1px solid rgba(15,23,42,.10); background: rgba(255,255,255,.72); padding: 26px 0 34px; margin-top: 42px; }
.footer-grid{ display:grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 22px; align-items:start; }
.footer-brand{ font-weight: 750; letter-spacing:-.02em; }
.footer-title{ font-size:12px; color: rgba(15,23,42,.62); font-weight: 650; text-transform: uppercase; letter-spacing: .08em; margin-bottom: 10px; }
.footer-link{ display:block; color: rgba(15,23,42,.78); padding: 6px 0; }
.footer-link:hover{ color: rgba(15,23,42,.92); }
.footer-muted{ color: rgba(15,23,42,.62); font-size: 13px; line-height:1.4; margin-top: 8px; }
.footer-bottom{ margin-top: 18px; padding-top: 14px; border-top: 1px dashed rgba(15,23,42,.14); display:flex; align-items:center; justify-content:space-between; gap: 8px; color: rgba(15,23,42,.58); font-size: 12px; }

/* Responsivo */
@media (max-width: 980px){
  .filters-wrap{ grid-template-columns: 1fr 1fr; }
  .f-item:nth-child(1),
  .f-item:nth-child(2){ grid-column: 1 / -1; }
  #resSwap{ grid-column: 1 / -1; }
  .f-item:nth-child(4){ grid-column: 1 / 2; }
  .f-item:nth-child(5){ grid-column: 2 / 3; }
  .filters{ grid-template-columns: 1fr; }
  #sortBy, #stops{ grid-column: 1 / -1; }
  .filters .f-item:nth-child(3),
  .filters .f-item:nth-child(4){ grid-column: 1 / -1; }
  .td-flight-head{ flex-direction:column; align-items:stretch; }
  .td-flight-right{ text-align:left; }
  .td-actions{ justify-content:flex-start; }
}
@media (max-width: 920px){
  .footer-grid{ grid-template-columns: 1fr; }
  .footer-bottom{ flex-direction:column; align-items:flex-start; }
  .flight-details .td-perks{ position: static; }
  .td-details-grid{ grid-template-columns: 1fr; }
}

/* =============================
   v112 • Repaginação Resultados (layout B2B premium)
   Mantém IDs e JS existentes, apenas melhora estrutura/estilo.
============================= */

/* Container geral (mais "produto", sem colar na borda) */
.results-wrap{
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 18px;
  display: block; /* sobrescreve o grid antigo */
}

.results-search{ margin-top: 12px; }

/* Card de busca (topo) */
.td-search-card{
  border-radius: 22px;
  padding: 14px;
}

/* Layout 2 colunas: sidebar + conteúdo */
.results-layout{
  display: grid;
  grid-template-columns: 340px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
  margin-top: 14px;
}

@media (max-width: 980px){
  .results-layout{ grid-template-columns: 1fr; }
}

/* Sidebar sticky */
.results-sidebar{
  position: sticky;
  top: 92px; /* altura do header + respiro */
  align-self: start;
}
@media (max-width: 980px){
  .results-sidebar{ position: static; }
}

/* Card dos filtros */
.td-filter-card{
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(15,23,42,.10);
  border-radius: 22px;
  box-shadow: 0 14px 34px rgba(2,6,23,.06);
  overflow: hidden;
}

.td-filter-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap: 12px;
  padding: 14px 14px 12px;
  background: rgba(255,255,255,.88);
  color: rgba(2,6,23,.88);
  border-bottom: 1px solid rgba(15,23,42,.08);
  position: relative;
}
.td-filter-head::before{
  content:"";
  position:absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: var(--primary);
  opacity: .9;
}
.td-filter-title{ font-weight: 750; letter-spacing: -.02em; }
.td-filter-sub{ font-size: 12px; color: rgba(2,6,23,.62); margin-top: 2px; font-weight: 600; }

.td-filter-clear{
  border: 1px solid rgba(15,23,42,.12);
  background: rgba(2,6,23,.04);
  color: rgba(2,6,23,.78);
  font-weight: 600;
  border-radius: 999px;
  height: 34px;
  padding: 0 12px;
  cursor:pointer;
  transition: background .15s ease, border-color .15s ease;
}
.td-filter-clear:hover{ background: rgba(2,6,23,.07); border-color: rgba(15,23,42,.16); }

.td-filter-block{
  padding: 12px 14px;
  border-top: 1px solid rgba(15,23,42,.06);
}
.td-filter-block:first-of-type{ border-top:0; }
.td-filter-label{
  font-size: 12px;
  font-weight: 650;
  color: rgba(2,6,23,.78);
  text-transform: uppercase;
  letter-spacing: .08em;
  margin-bottom: 8px;
}

/* Ajustes finos para selects/inputs dentro da sidebar */
.results-sidebar .f-item label{ display:none; }
.results-sidebar .f-item{ gap: 0; }
.results-sidebar .f-item input,
.results-sidebar .f-item select{
  height: 44px;
  border-radius: 16px;
}

.td-filter-check{ padding-top: 4px; }

/* Toolbar (chips + contador) */
.td-results-toolbar{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap: 12px;
  margin: 6px 0 10px;
}

.td-results-count{
  font-size: 13px;
  font-weight: 650;
  color: rgba(15,23,42,.82);
  background: rgba(2,6,23,.04);
  border: 1px solid rgba(15,23,42,.08);
  padding: 8px 12px;
  border-radius: 999px;
  white-space: nowrap;
}

/* Chipbar */
.td-chipbar{
  display:flex;
  flex-wrap: wrap;
  gap: 8px;
}
.td-filter-chip{
  display:inline-flex;
  align-items:center;
  gap: 8px;
  padding: 8px 10px;
  border-radius: 999px;
  border: 1px solid rgba(15,23,42,.10);
  background: rgba(255,255,255,.92);
  box-shadow: 0 10px 18px rgba(2,6,23,.04);
  font-weight: 650;
  color: rgba(2,6,23,.86);
  cursor: pointer;
  user-select:none;
}
.td-filter-chip:hover{ background: rgba(255,255,255,.98); }
.td-filter-chip .x{
  width: 20px; height: 20px;
  border-radius: 999px;
  display:inline-flex; align-items:center; justify-content:center;
  background: rgba(2,6,23,.06);
  color: rgba(2,6,23,.65);
  font-size: 14px;
  line-height: 1;
}

/* Paginação (bonita e consistente) */
.pager{
  display:flex;
  align-items:center;
  justify-content:center;
  gap: 8px;
  margin: 16px 0 8px;
}
.pager-btn{
  height: 38px;
  min-width: 38px;
  padding: 0 12px;
  border-radius: 12px;
  border: 1px solid rgba(15,23,42,.12);
  background: rgba(255,255,255,.92);
  font-weight: 650;
  color: rgba(2,6,23,.82);
  cursor:pointer;
}
.pager-btn:hover{ background: rgba(255,255,255,.98); border-color: rgba(37,99,235,.22); }
.pager-btn:disabled{ opacity:.55; cursor:not-allowed; }
.pager-btn.is-active{
  background: rgba(37,99,235,.10);
  border-color: rgba(37,99,235,.28);
  color: rgba(37,99,235,.95);
}
.pager-dots{ color: rgba(15,23,42,.60); font-weight: 650; padding: 0 4px; }


.td-search-details[open] .td-search-summary-chevron{ transform: rotate(180deg); }

body{ background: var(--td-bg); }

/* =========================
   Modal (alerta de preço)
   ========================= */
.td-modal{position:fixed;inset:0;display:none;z-index:1000}
.td-modal[aria-hidden="false"]{display:block}
.td-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55)}
.td-modal-card{position:relative;max-width:560px;margin:8vh auto 0;background:#fff;border-radius:16px;box-shadow:0 22px 60px rgba(2,6,23,.35);overflow:hidden;max-height:84vh;display:flex;flex-direction:column}
.td-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 18px 12px;border-bottom:1px solid rgba(15,23,42,.10)}
.td-modal-title{font-size:18px;font-weight: 750;color:rgba(15,23,42,.95);line-height:1.2}
#priceAlertTitle{font-weight: 500}
.td-alert-emphasis{margin-top:10px;padding:12px 14px;border-radius:14px;background:rgba(37,99,235,.10);border:1px solid rgba(37,99,235,.28);box-shadow:0 10px 24px rgba(2,6,23,.08);color:rgba(15,23,42,.98);font-weight: 750;font-size:14.5px;display:flex;gap:10px;align-items:flex-start}
.td-alert-emphasis:before{content:'✉️';display:inline-block;line-height:1.2}

.td-modal-sub{font-size:13px;color:rgba(15,23,42,.65);margin-top:4px}
.td-modal-x{border:0;background:transparent;font-size:24px;line-height:1;cursor:pointer;color:rgba(15,23,42,.55)}
.td-modal-body{padding:16px 18px 18px;overflow:auto}
.td-modal-sub-strong{font-weight: 750;color:rgba(15,23,42,.85)}
.td-alert-summary{background:rgba(2,6,23,.04);border:1px solid rgba(15,23,42,.10);border-radius:12px;padding:12px 12px;margin-bottom:14px;font-size:13px;color:rgba(15,23,42,.80)}
.td-alert-block .btn{width:100%}
.td-alert-form .f-item{margin-bottom:10px}
.td-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.td-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.td-alert-hint{margin-top:10px;font-size:12px;color:rgba(15,23,42,.65)}
.td-mini-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
.td-mini-link{background:transparent;border:0;color:rgba(37,99,235,.95);padding:0;font-weight: 700;cursor:pointer;font-size:12.5px}
.td-mini-link:hover{text-decoration:underline}

@media (max-width: 560px){
  .td-modal-card{margin:10vh 10px 0}
  .td-grid-2{grid-template-columns:1fr}
}
