/*
 * Página do evento (portal/index/detail): a figurinha especial do evento no
 * topo, as fichas das categorias com as vagas, a descrição, a organização e
 * os patrocinadores; e os modais do ticket.js (inscrição e inscritos) no
 * vocabulário do álbum. Depende de tokens.css, casca.css e album.css.
 */

/* ---------- capa: a figurinha especial do evento ---------- */
.vv-capa { padding-top: var(--vv-e6); }
.vv-fig--capa { --vv-canto: 76px; }
.vv-fig--capa .vv-fig__nome {
    display: block; overflow: visible; -webkit-line-clamp: unset; line-clamp: unset;
    font-size: clamp(1.75rem, 1.2rem + 2vw, 2.75rem); font-weight: 900; font-stretch: var(--vv-largo-max);
    line-height: 1.02; letter-spacing: -0.03em;
}
.vv-fig--capa .vv-fig__canto { background: var(--vv-azul); color: var(--vv-azul-tinta); }
.vv-fig--capa.vv-fig--cancelado .vv-fig__canto { background: var(--vv-vermelho); color: var(--vv-vermelho-tinta); }
.vv-fig--capa .vv-fig__onde a { display: inline; }
.vv-capa__mapa {
    display: table; margin-top: var(--vv-e1);
    font-weight: 700; color: var(--vv-azul-inv); white-space: nowrap;
}
.vv-fig--especial .vv-fig__onde a:hover .vv-capa__mapa { color: var(--vv-especial-tinta); }
.vv-fig--capa .vv-fig__tipo { color: var(--vv-especial-tinta); opacity: 0.86; }
.vv-capa__estado {
    display: flex; gap: var(--vv-e2); align-items: flex-start;
    margin: var(--vv-e1) 0 0; padding: var(--vv-e3) var(--vv-e4);
    border: var(--vv-fio-larg) solid var(--vv-especial-tinta); border-radius: var(--vv-raio-fig);
    font-weight: 700; font-size: var(--vv-t-s); line-height: 1.35;
}
.vv-capa__estado .bi { flex: none; margin-top: 1px; }
.vv-capa__estado--erro { border-color: var(--vv-vermelho-inv); }
.vv-capa__estado--erro .bi { color: var(--vv-vermelho-inv); }
.vv-fig--capa .vv-fig__acoes { flex-wrap: wrap; }
.vv-fig--capa .vv-fig__acoes .vv-btn { min-height: 48px; white-space: nowrap; }
@container (min-width: 620px) {
    .vv-fig--capa .vv-fig__foto { height: clamp(320px, 52vh, 460px); }
}
@media (max-width: 639.98px) {
    .vv-capa { padding-top: var(--vv-e5); }
    .vv-fig--capa { --vv-canto: 60px; }
    .vv-fig--capa .vv-fig__foto { aspect-ratio: 4 / 3; }
    .vv-fig--capa .vv-fig__nome { font-size: 1.75rem; }
    /* compartilhar só com o ícone: "Escolher a categoria" cabe numa linha */
    .vv-fig--capa .vv-fig__acoes { flex-wrap: nowrap; }
    .vv-capa__partilha { flex: none; width: 48px; padding: 0; }
    .vv-capa__rotulo { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
}

/* ---------- miolo ---------- */
.vv-evento__in { padding-top: var(--vv-e7); padding-bottom: var(--vv-e8); }
.vv-evento__grade { display: grid; gap: var(--vv-e7); }
@media (min-width: 992px) {
    .vv-evento__grade { grid-template-columns: minmax(0, 1fr) 380px; gap: var(--vv-e7) var(--vv-e8); align-items: start; }
}
.vv-evento__sec + .vv-evento__sec { margin-top: var(--vv-e8); }
.vv-evento__sec > .vv-sec-tit { padding-bottom: var(--vv-e3); margin-bottom: var(--vv-e5); border-bottom: var(--vv-fio-larg) solid var(--vv-fio); }
.vv-evento__cab {
    display: flex; align-items: baseline; flex-wrap: wrap; gap: var(--vv-e2) var(--vv-e4);
    margin-bottom: var(--vv-e5); padding-bottom: var(--vv-e3);
    border-bottom: var(--vv-fio-larg) solid var(--vv-fio);
}
.vv-evento__conta { margin: 0; color: var(--vv-tinta-2); font-weight: 700; }
.vv-evento__vazio { margin: 0; padding: var(--vv-e5); border: 3px dashed var(--vv-fio-leve); border-radius: var(--vv-raio-fig); color: var(--vv-tinta-2); font-weight: 700; }

/* nota do link, convite ou lista de espera (o componente .vv-nota é da casca) */
.vv-evento__in > .vv-nota { margin-bottom: var(--vv-e7); }

/* ---------- ficha da categoria ---------- */
.vv-cat {
    background: var(--vv-figura);
    border: var(--vv-borda-larg) solid var(--vv-borda-fig);
    outline: 1px solid var(--vv-fio-leve);
    border-radius: var(--vv-raio-fig);
    padding: var(--vv-e5);
    scroll-margin-top: 104px;
}
.vv-cat + .vv-cat { margin-top: var(--vv-e5); }
.vv-cat__cab { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: var(--vv-e3) var(--vv-e5); }
.vv-cat__quem { min-width: 0; flex: 1 1 18rem; }
.vv-cat__nome {
    margin: 0; font: 800 var(--vv-t-l)/1.12 var(--vv-fonte-titulo); font-stretch: var(--vv-largo);
    letter-spacing: -0.015em; text-wrap: balance;
}
.vv-cat__sub { margin: var(--vv-e2) 0 0; color: var(--vv-tinta-2); font-size: var(--vv-t-s); line-height: 1.35; }
.vv-cat__gen {
    display: inline-block; margin-right: var(--vv-e1); padding: 1px 6px;
    border: var(--vv-fio-larg) solid var(--vv-fio); border-radius: var(--vv-raio-fig);
    font-weight: 700; font-size: var(--vv-t-xs); color: var(--vv-tinta); vertical-align: 1px;
}
.vv-cat__preco { margin: 0; display: grid; justify-items: end; text-align: right; }
.vv-cat__valor { font-weight: 900; font-size: var(--vv-t-xl); line-height: 1; letter-spacing: -0.02em; }
.vv-cat__valor:not(.vv-num) { font-family: var(--vv-fonte-titulo); font-stretch: var(--vv-largo); font-size: var(--vv-t-l); }
.vv-cat__valor small { font-size: 0.55em; font-weight: 800; letter-spacing: 0; }
.vv-cat__por { margin-top: var(--vv-e1); font-size: var(--vv-t-xs); color: var(--vv-tinta-2); font-weight: 700; }
.vv-cat__taxa { margin-top: 2px; font-size: var(--vv-t-xs); color: var(--vv-tinta-2); }

.vv-cat__dados { margin: var(--vv-e4) 0 0; }
.vv-cat__linha {
    display: grid; grid-template-columns: 9rem minmax(0, 1fr); gap: var(--vv-e3);
    padding: var(--vv-e2) 0; border-top: 1px solid var(--vv-fio-leve);
    font-size: var(--vv-t-s); line-height: 1.4;
}
.vv-cat__linha dt { font-weight: 700; color: var(--vv-tinta-2); }
.vv-cat__linha dd { margin: 0; }
.vv-cat__ajuda { display: inline-flex; align-items: center; justify-content: center; min-width: 32px; min-height: 32px; margin: -6px 0; color: var(--vv-azul); vertical-align: middle; }
.vv-cat__ajuda:hover { color: var(--vv-tinta); }
.vv-cat__desc { margin: var(--vv-e3) 0 0; padding-top: var(--vv-e3); border-top: 1px solid var(--vv-fio-leve); font-size: var(--vv-t-s); color: var(--vv-tinta-2); }
@media (max-width: 479.98px) {
    .vv-cat { padding: var(--vv-e4); }
    .vv-cat__linha { grid-template-columns: minmax(0, 1fr); gap: 0; }
    .vv-cat__preco { justify-items: start; text-align: left; }
}

/* uma vaga (categoria + gênero): situação e botões */
.vv-cat__vagas { margin-top: var(--vv-e4); }
.vv-vaga {
    display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--vv-e3) var(--vv-e4);
    padding-top: var(--vv-e4); border-top: var(--vv-fio-larg) solid var(--vv-fio);
}
.vv-vaga + .vv-vaga { margin-top: var(--vv-e4); border-top-width: 1px; border-top-color: var(--vv-fio-leve); }
.vv-vaga__estado { margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: var(--vv-e2) var(--vv-e3); font-weight: 700; font-size: var(--vv-t-s); }
.vv-vaga__estado .vv-num { font-size: 1.15em; }
.vv-vaga__gen { min-width: 6.5rem; font: 800 var(--vv-t-m)/1.2 var(--vv-fonte-titulo); font-stretch: var(--vv-largo); }
.vv-vaga__vazios { display: inline-flex; gap: 4px; flex-wrap: wrap; }
.vv-vaga__vazios i { width: 14px; height: 19px; border: 2px dashed var(--vv-tinta-2); border-radius: var(--vv-raio-fig); }
/* carimbo pequeno: a caixa alta do sistema é só a do "Esgotado" */
.vv-vaga__esgotado {
    display: inline-block; padding: 2px var(--vv-e2);
    border: 2px solid var(--vv-vermelho); border-radius: var(--vv-raio-fig); color: var(--vv-vermelho);
    font: 900 var(--vv-t-s)/1.1 var(--vv-fonte-titulo); font-stretch: var(--vv-largo-max);
    letter-spacing: 0.04em; text-transform: uppercase; transform: rotate(-3deg);
}
.vv-vaga--em-breve .vv-vaga__estado, .vv-vaga--encerrada .vv-vaga__estado { color: var(--vv-tinta-2); }
.vv-vaga__nota { flex-basis: 100%; order: 3; margin: calc(-1 * var(--vv-e1)) 0 0; font-size: var(--vv-t-xs); color: var(--vv-tinta-2); display: flex; gap: var(--vv-e2); align-items: baseline; }
.vv-vaga--aberta .vv-vaga__nota { color: var(--vv-azul); font-weight: 700; font-size: var(--vv-t-s); }
.vv-vaga__acoes { display: flex; flex-wrap: wrap; align-items: center; gap: var(--vv-e2); }
.vv-vaga__acoes .btn-ticket { min-height: 52px; min-width: 12rem; font-size: var(--vv-t-m); }
.vv-vaga__fila { display: inline-flex; gap: var(--vv-e2); align-items: center; font-weight: 700; font-size: var(--vv-t-s); }
.vv-vaga .spinner-border { width: 1em; height: 1em; border-width: 0.15em; }
@media (max-width: 639.98px) {
    .vv-vaga__acoes { width: 100%; }
    .vv-vaga__acoes .vv-btn { flex: 1 1 auto; }
    .vv-vaga__acoes .btn-ticket { flex-basis: 100%; }
}

/* ---------- sobre o torneio (HTML do produtor; o ticket.js recolhe) ---------- */
.vv-sobre .body-desc { overflow: hidden; transition: height var(--vv-medio) var(--vv-ease); }
.vv-sobre .body-desc:not(.expanded) { border-bottom: 2px dashed var(--vv-fio-leve); }
.vv-sobre .toggle-desc { margin-top: var(--vv-e4); }
.vv-sobre .toggle-icon { transition: transform var(--vv-rapido) var(--vv-ease); }
.vv-sobre .toggle-desc.expanded .toggle-icon { transform: rotate(180deg); }
/* .vv-prosa (o texto do produtor) está na casca.css: a página do produtor também usa */

/* ---------- lateral: organização e patrocinadores ---------- */
.vv-lado { padding-top: var(--vv-e3); border-top: var(--vv-fio-larg) solid var(--vv-fio); }
.vv-lado + .vv-lado { margin-top: var(--vv-e7); }
.vv-lado__tit { margin: 0 0 var(--vv-e4); font: 800 var(--vv-t-l)/1.2 var(--vv-fonte-titulo); font-stretch: var(--vv-largo); }
.vv-org { display: flex; align-items: center; gap: var(--vv-e3); }
.vv-org__logo {
    flex: none; width: 64px; height: 64px; object-fit: cover;
    background: var(--vv-borda-fig); border: 3px solid var(--vv-borda-fig); outline: 1px solid var(--vv-fio-leve);
    border-radius: var(--vv-raio-fig);
}
.vv-org__nome { margin: 0; font: 800 var(--vv-t-m)/1.2 var(--vv-fonte-titulo); font-stretch: var(--vv-largo); overflow-wrap: anywhere; }
.vv-org__desc { margin-top: var(--vv-e4); font-size: var(--vv-t-s); color: var(--vv-tinta-2); }
.vv-org__ir { margin-top: var(--vv-e4); }

/* documentos (PDF) do evento */
.vv-docs__lista { margin: 0; padding: 0; list-style: none; }
.vv-docs__item + .vv-docs__item { margin-top: var(--vv-e3); padding-top: var(--vv-e3); border-top: 1px solid var(--vv-fio-leve); }
.vv-docs__link { display: inline-flex; align-items: flex-start; gap: var(--vv-e2); font-weight: 700; color: var(--vv-azul); text-decoration: none; overflow-wrap: anywhere; }
.vv-docs__link .bi { flex: none; font-size: 1.15em; line-height: 1.2; }
.vv-docs__info, .vv-docs__desc { margin: 2px 0 0; font-size: var(--vv-t-xs); color: var(--vv-tinta-2); }
.vv-docs__desc { font-size: var(--vv-t-s); color: var(--vv-tinta); }

/* patrocinadores: a cota define o tamanho (Master 1 por linha ... Apoio 4) */
.vv-pat__cota + .vv-pat__cota { margin-top: var(--vv-e5); }
.vv-pat__rotulo {
    display: flex; align-items: center; gap: var(--vv-e3);
    margin: 0 0 var(--vv-e3); font: 700 var(--vv-t-xs)/1.2 var(--vv-fonte); color: var(--vv-tinta-2);
}
.vv-pat__rotulo::after { content: ""; flex: 1; border-top: 1px solid var(--vv-fio-leve); }
.vv-pat__grade { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: var(--vv-e3); }
.vv-pat__cota--1 { --sp-col: 1; --sp-altura: 190px; }
.vv-pat__cota--2 { --sp-col: 2; --sp-altura: 136px; }
.vv-pat__cota--3 { --sp-col: 2; --sp-altura: 104px; }
.vv-pat__cota--4 { --sp-col: 3; --sp-altura: 76px; }
.vv-pat__item {
    flex: 0 0 calc((100% - (var(--sp-col, 1) - 1) * var(--vv-e3)) / var(--sp-col, 1)); min-width: 0;
    display: flex; flex-direction: column; align-items: center;
    /* o logo fica sobre papel branco nos dois temas: logos escuros não somem à noite */
    background: var(--vv-borda-fig); color: #0c1838;
    border: 3px solid var(--vv-borda-fig); outline: 1px solid var(--vv-fio-leve);
    border-radius: var(--vv-raio-fig); padding: var(--vv-e2);
}
.vv-pat__cota--1 .vv-pat__item { padding: var(--vv-e4) var(--vv-e3) var(--vv-e3); }
.vv-pat__logo { display: flex; align-items: center; justify-content: center; width: 100%; height: var(--sp-altura); }
.vv-pat__logo img { max-width: 100%; max-height: 100%; object-fit: contain; }
.vv-pat__nome { margin: var(--vv-e2) 0 0; font-weight: 700; font-size: var(--vv-t-s); text-align: center; line-height: 1.3; }
.vv-pat__contatos { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--vv-e1); margin-top: var(--vv-e2); }
.vv-pat__contatos:empty { display: none; }
.vv-pat__contatos a {
    display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px;
    border-radius: 50%; color: #1d4fd6; font-size: 1rem;
}
.vv-pat__contatos a:hover { background: #1d4fd6; color: #ffffff; }
@media (min-width: 640px) and (max-width: 991.98px) {
    .vv-pat__cota--1 { --sp-col: 2; }
    .vv-pat__cota--2 { --sp-col: 3; }
    .vv-pat__cota--3 { --sp-col: 3; }
    .vv-pat__cota--4 { --sp-col: 4; }
}

/* ---------- modais do ticket.js (Bootstrap) no vocabulário do álbum ----------
   A moldura (.vv-modal) e os campos do Bootstrap estão na casca.css: o modal
   de cookies e os formulários das outras páginas usam os mesmos. */
.vv-relogio {
    flex: none; margin-left: auto;
    display: inline-flex; align-items: center; gap: var(--vv-e2);
    min-height: 36px; padding: 0 var(--vv-e3);
    background: var(--vv-especial); color: var(--vv-especial-tinta);
    border-radius: var(--vv-raio-fig); font-weight: 900; font-size: var(--vv-t-m);
}

.vv-modal .card { margin-top: var(--vv-e4); background: var(--vv-figura); color: var(--vv-tinta); border: 1px solid var(--vv-fio-leve); border-radius: var(--vv-raio-fig); }
.vv-modal .card-header {
    display: flex; align-items: center; flex-wrap: wrap; gap: var(--vv-e2);
    background: var(--vv-folha-2); border-bottom: 1px solid var(--vv-fio-leve);
    font-weight: 700; padding: var(--vv-e3) var(--vv-e4);
}
.vv-modal .card-header small { font-weight: 400; color: var(--vv-tinta-2); }
.vv-modal .card-header:only-child { border-bottom: 0; }
.vv-modal .card-body { padding: var(--vv-e4); }
.vv-modal .card-body > p { margin: 0 0 var(--vv-e3); font-size: var(--vv-t-s); }
.vv-modal .table { --bs-table-bg: transparent; --bs-table-color: var(--vv-tinta); --bs-border-color: var(--vv-fio-leve); margin-bottom: var(--vv-e2); }
.vv-modal .table th { font-size: var(--vv-t-xs); color: var(--vv-tinta-2); font-weight: 700; }

/* inscrição: resumo à esquerda, passos à direita */
.vv-insc { display: grid; gap: var(--vv-e5); }
@media (min-width: 768px) {
    .vv-insc { grid-template-columns: 260px minmax(0, 1fr); align-items: start; }
    .vv-insc__resumo { position: sticky; top: 0; }
}
.vv-insc__resumo {
    background: var(--vv-figura);
    border: var(--vv-borda-larg) solid var(--vv-borda-fig); outline: 1px solid var(--vv-fio-leve);
    border-radius: var(--vv-raio-fig);
}
.vv-insc__foto { aspect-ratio: 4 / 3; background: #1d4fd6; }
.vv-insc__foto img { display: block; width: 100%; height: 100%; object-fit: contain; }
.vv-insc__txt { padding: var(--vv-e4); }
.vv-insc__evento { margin: 0; font: 800 var(--vv-t-m)/1.2 var(--vv-fonte-titulo); font-stretch: var(--vv-largo); }
.vv-insc__cat { margin: var(--vv-e1) 0 0; font-weight: 700; color: var(--vv-azul); }
.vv-insc__lista { list-style: none; margin: var(--vv-e3) 0 0; padding: 0; font-size: var(--vv-t-s); line-height: 1.35; }
.vv-insc__lista li { padding: var(--vv-e1) 0; }
.vv-insc__lista li:empty { display: none; }
.vv-insc__lista .bi { margin-right: var(--vv-e2); color: var(--vv-azul); }
.vv-insc__valores { margin-top: var(--vv-e3); }
.vv-valor { display: flex; justify-content: space-between; align-items: baseline; gap: var(--vv-e3); margin: 0; padding: 2px 0; font-size: var(--vv-t-s); }
.vv-valor strong { font-weight: 800; }
.vv-valor--total { margin-top: var(--vv-e2); padding-top: var(--vv-e2); border-top: var(--vv-fio-larg) solid var(--vv-fio); font-weight: 700; font-size: var(--vv-t-m); }
.vv-valor--total strong { font-size: var(--vv-t-l); font-weight: 900; }
@media (max-width: 767.98px) {
    .vv-insc__foto { display: none; }
    .vv-modal .modal-body { padding: var(--vv-e4); }
    .vv-modal .modal-header { padding-left: var(--vv-e4); }
}

.vv-insc__passo-ok {
    display: flex; align-items: center; justify-content: space-between; gap: var(--vv-e3);
    margin-bottom: var(--vv-e4); padding: var(--vv-e3) var(--vv-e4);
    background: var(--vv-folha-2); border-radius: var(--vv-raio-ctl);
}
.vv-insc__passo-ok a { flex: none; display: inline-flex; align-items: center; min-height: 36px; color: var(--vv-azul); font-weight: 700; }
.vv-insc__seguir { display: flex; justify-content: flex-end; }
.vv-insc__sub { margin: var(--vv-e5) 0 var(--vv-e2); font: 800 var(--vv-t-l)/1.2 var(--vv-fonte-titulo); font-stretch: var(--vv-largo); }
.vv-insc__bloco .vv-insc__sub { margin-top: var(--vv-e4); font-size: var(--vv-t-m); }
.vv-insc__pagto > .vv-insc__sub:first-of-type { margin-top: var(--vv-e2); }
.vv-insc__nota { margin: 0; font-size: var(--vv-t-xs); color: var(--vv-tinta-2); }
.vv-insc__nota:empty { display: none; }
.vv-insc__formas { margin: var(--vv-e3) 0 0; }
.vv-insc__formas .form-check-label { font-weight: 700; display: inline-flex; gap: var(--vv-e2); align-items: center; }
.vv-insc__gratis { display: flex; gap: var(--vv-e2); align-items: center; margin: 0; padding: var(--vv-e3) var(--vv-e4); background: var(--vv-folha-2); border-radius: var(--vv-raio-ctl); font-weight: 700; }
.vv-insc__gratis .bi { color: var(--vv-azul); }
.vv-insc__incluso { margin-right: var(--vv-e1); color: var(--vv-azul); }
.vv-insc__erro { margin: 0; color: var(--vv-vermelho); font-weight: 700; font-size: var(--vv-t-s); }
.vv-insc__fim {
    display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: var(--vv-e4);
    margin-top: var(--vv-e5); padding-top: var(--vv-e4); border-top: var(--vv-fio-larg) solid var(--vv-fio);
}
.vv-insc__aceites { flex: 1 1 22rem; min-width: 0; font-size: var(--vv-t-s); }
.vv-insc__confirmar { min-height: 52px; font-size: var(--vv-t-m); padding-inline: var(--vv-e5); }
.vv-insc .spinner-border { width: 1em; height: 1em; border-width: 0.15em; }
.vv-obrig { margin-left: 2px; color: var(--vv-vermelho); font-weight: 700; }
#kit-atletas h6 { font: 800 var(--vv-t-m)/1.2 var(--vv-fonte-titulo); font-stretch: var(--vv-largo); }
#kit-atletas .border-bottom { border-color: var(--vv-fio-leve) !important; }
#msg-footer:empty { display: none; }

/* integrantes da equipe: tabela no desktop, um quadro por atleta no celular */
@media (min-width: 1200px) {
    #table-part td.fixo { width: 320px; }
}
@media (max-width: 1199.98px) {
    #table-part, #table-part thead, #table-part tbody, #table-part tfoot, #table-part th, #table-part td, #table-part tr { display: block; width: 100%; }
    #table-part thead { display: none; }
    #table-part tbody tr {
        display: grid; gap: var(--vv-e2); margin-bottom: var(--vv-e3); padding: var(--vv-e3);
        background: var(--vv-folha); border: 1px solid var(--vv-fio-leve); border-radius: var(--vv-raio-fig);
    }
    #table-part tbody td { padding: 0; border: 0; }
    #table-part tbody td:first-child { font: 900 var(--vv-t-m)/1 var(--vv-fonte-titulo); font-stretch: var(--vv-largo-max); }
    #table-part tfoot td { padding: var(--vv-e2) 0; border: 0; }
    #table-part tfoot .vv-insc__seguir .vv-btn { width: 100%; }
}

/* SweetAlert do fluxo de inscrição (erro, lista de espera, tempo esgotado) */
body.vv .swal2-popup { font-family: var(--vv-fonte); background: var(--vv-folha); color: var(--vv-tinta); border: var(--vv-borda-larg) solid var(--vv-borda-fig); border-radius: var(--vv-raio-fig); }
body.vv .swal2-title { font-family: var(--vv-fonte-titulo); font-stretch: var(--vv-largo); font-weight: 800; color: var(--vv-tinta); }
body.vv .swal2-html-container { color: var(--vv-tinta-2); }
body.vv .swal2-styled { border-radius: var(--vv-raio-ctl) !important; font-weight: 700; min-height: 44px; box-shadow: none !important; }

/* kit, grupo de escolha (ticket.js): rádio por opção; o aviso aparece com o envio */
.vv-insc__kit-grupo { margin: 0 0 var(--vv-e2); padding: 0; border: 0; }
.vv-insc__kit-grupo legend { float: none; width: auto; font-size: var(--vv-t-s); color: var(--vv-tinta); }
.was-validated .vv-insc__kit-grupo:has(:invalid) > .invalid-feedback { display: block; }