/* Sincronário – calendário, bússola e fichas (complementa Bootstrap 5) */

.sincro { --s-vermelha: #ed1651; --s-branca: #ffffff; --s-azul: #6cbfe6; --s-amarela: #ffd503; --s-portal: #2e8b57; --s-hoje: #9c2b8f; }

.sincro-titulo { font-size: clamp(1.4rem, 3vw, 2rem); }
.sincro-subtitulo { font-size: 1.05rem; text-transform: uppercase; letter-spacing: .06em; text-align: center; margin: 1rem 0; padding-bottom: .5rem; border-bottom: 1px solid var(--bs-border-color); }
.sincro-poema { font-style: italic; line-height: 1.6; }
.sincro [data-info] { cursor: pointer; }

/* glifo: tom sobre selo */
.sincro-glifo { display: inline-flex; flex-direction: column; align-items: center; width: 64px; flex-shrink: 0; }
.sincro-glifo img { width: 100%; height: auto; display: block; }
.sincro-glifo img:first-child { width: 80%; margin-bottom: 2px; }
.sincro-glifo[data-info]:hover { filter: drop-shadow(0 0 4px rgba(0, 0, 0, .35)); }
.sincro-glifo-sm { width: 48px; }
.sincro-glifo-md { width: 72px; }
.sincro-glifo-lg { width: 110px; }
.sincro-ico { height: 24px; width: auto; vertical-align: middle; }
.sincro-plasma-ico { width: 24px; vertical-align: middle; }

/* topo do calendário */
.sincro-cal-topo { background: rgba(var(--bs-body-bg-rgb), .96); backdrop-filter: blur(6px); padding: .75rem 0; margin-bottom: 1rem; border-bottom: 1px solid var(--bs-border-color); top: var(--sincro-topo, 0); z-index: 100; }
.sincro-cal-plasmas { grid-template-columns: 90px repeat(7, 1fr); gap: .5rem; margin-top: .75rem; align-items: end; }
.sincro-cal-plasmas img { max-height: 42px; }
.sincro-cal-totem img { max-height: 60px; }

/* calendário: 4 semanas × 7 dias */
.sincro-cal { border-radius: 1rem; overflow: hidden; border: 1px solid #000; }
.sincro-semana { display: grid; grid-template-columns: repeat(2, 1fr); }
.sincro-semana-rotulo { grid-column: 1 / -1; padding: .5rem; text-align: center; font-weight: 600; }
.sincro-semana-rotulo img { max-width: 70px; margin: auto; }
@media (min-width: 576px) { .sincro-semana { grid-template-columns: repeat(4, 1fr); } }
@media (min-width: 992px) {
	.sincro-semana { grid-template-columns: 90px repeat(7, 1fr); }
	.sincro-semana-rotulo { grid-column: auto; display: flex; align-items: center; justify-content: center; }
}

.semana-1 { --cor: var(--s-vermelha); --cor-h: #8d0c2c; }
.semana-2 { --cor: var(--s-branca); --cor-h: #bbbbbb; }
.semana-3 { --cor: var(--s-azul); --cor-h: #19678d; }
.semana-4 { --cor: var(--s-amarela); --cor-h: #917700; }
.sincro-semana-rotulo, .sincro-dia { background: var(--cor); color: #000; }

.sincro-dia { position: relative; padding: .4rem; border: 1px solid rgba(0, 0, 0, .15); display: flex; flex-direction: column; gap: .25rem; transition: background-color .15s; }
.sincro-dia:hover { background: var(--cor-h); color: #fff; }
.sincro-dia.portal { background-image: linear-gradient(to bottom, transparent 40%, rgba(46, 139, 87, .75)); }
.sincro-dia.hoje { background-color: #cc66cc; background-image: linear-gradient(#cc66cc, var(--s-hoje)); color: #fff; outline: 3px solid var(--s-hoje); outline-offset: -3px; }
.sincro-dia.marcado { outline: 3px dashed #000; outline-offset: -4px; }
.sincro-dia-topo { display: flex; align-items: flex-start; justify-content: space-between; gap: .25rem; }
.sincro-dia-num { font-size: 1.15rem; font-weight: 600; line-height: 1.1; display: flex; flex-direction: column; align-items: center; }
.sincro-dia-num img { width: 22px; margin-top: 2px; }
.sincro-glifo-dia { width: 46%; max-width: 64px; }
.sincro-glifo-cronopsi { width: 26%; max-width: 34px; opacity: .9; }
.sincro-dia-info { display: flex; flex-wrap: wrap; justify-content: center; gap: 3px; min-height: 30px; padding: 3px; border-radius: .4rem; background: rgba(255, 255, 255, .65); }
.sincro-dia-info img { height: 22px; width: auto; border-radius: 3px; padding: 1px; }
.sincro-dia-info img[data-info]:hover { background: #fff; }
.sincro-dia-data { text-align: center; font-size: .85rem; font-weight: 600; }
.sincro-dia:hover .sincro-dia-data, .sincro-dia.hoje .sincro-dia-data { text-shadow: 0 1px 2px #000; }

/* bússola / ficha */
.sincro-oraculo { display: grid; grid-template-columns: repeat(3, 1fr); grid-template-areas: ". guia ." "antipoda destino analogo" ". oculto ."; gap: .5rem; max-width: 300px; margin: auto; text-align: center; }
.sincro-oraculo > div { display: flex; flex-direction: column; align-items: center; }
.sincro-oraculo .sincro-glifo { width: 60px; }
.o-guia { grid-area: guia; } .o-antipoda { grid-area: antipoda; } .o-destino { grid-area: destino; } .o-analogo { grid-area: analogo; } .o-oculto { grid-area: oculto; }
.o-destino .sincro-glifo { background: rgba(102, 204, 102, .35); border-radius: .5rem; padding: 3px; }
.sincro-oraculo-txt dt { margin-top: .5rem; }
.sincro-familia img { max-width: 64px; }
.sincro-onda-item { display: flex; gap: .75rem; align-items: center; padding: .5rem; border-radius: .75rem; background: var(--bs-tertiary-bg); height: 100%; }
.sincro-onda-item.torre { background: rgba(143, 188, 143, .45); }
.sincro-onda-item.atual { outline: 2px solid var(--s-portal); }

.modal-body.sincro img { max-width: 100%; height: auto; }

/* índice "Informações" */
.sincro-informacoes-lista { columns: 2 260px; list-style: none; padding: 0; }
.sincro-informacoes-lista > li { break-inside: avoid; margin-bottom: .75rem; }
.sincro-informacoes-lista > li > a { font-weight: 600; }
.sincro-informacoes-lista ul { list-style: none; padding-left: 1rem; border-left: 2px solid #19875455; margin-top: .25rem; }
