/* O Calendário do Day Use (/calendario/), desenho A "cartões de cor", escolhido pelo Rafael em 11/11/2026.
   Fica fora do Tailwind porque as classes nascem no js/calendario.js, que o Tailwind não lê. */

.cal-fundo { background: #FFFBEF; }

/* O pôr do sol (pedido do Rafael, 11/11/2026: "vamos mudar esses pretões para pôr do sol"). A mesma família
   de cor do botão do Day Use (amarelo, laranja, coral, rosa), terminando no roxo do anoitecer para o
   texto branco ler bem. Contraste conferido: o branco fica acima de 4,5 por 1 em toda a parte com texto. */
.cal-topo {
  background:
    radial-gradient(ellipse 34rem 15rem at 78% 112%, rgba(255, 210, 63, .95) 0%, rgba(255, 164, 27, .75) 35%, rgba(255, 106, 77, 0) 72%),
    linear-gradient(180deg, #2B1650 0%, #5B2272 38%, #A3326E 70%, #C8435F 100%);
}
.cal-topo-sol { position: absolute; right: 12%; bottom: -5.5rem; width: 11rem; height: 11rem; border-radius: 50%;
  background: radial-gradient(circle, #FFE58A 0%, #FFD23F 45%, #FFA41B 100%); box-shadow: 0 0 80px 30px rgba(255, 164, 27, .55); }
@media (max-width: 767px) { .cal-topo-sol { right: -2rem; width: 8rem; height: 8rem; bottom: -4rem; } }
.cal-topo h1, .cal-topo p { text-shadow: 0 2px 14px rgba(43, 22, 80, .45); }
.cal-topo .text-brand-primary { color: #FFE08A; }
.cal-tuca { animation: cal-balanca 4s ease-in-out infinite; transform-origin: 50% 90%; }
@keyframes cal-balanca { 0%, 100% { transform: rotate(-3deg); } 50% { transform: rotate(3deg); } }
@keyframes cal-sobe { from { transform: translateY(12px); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes cal-pulsa { 0% { box-shadow: 0 0 0 0 currentColor; } 70% { box-shadow: 0 0 0 8px transparent; } 100% { box-shadow: 0 0 0 0 transparent; } }
@media (prefers-reduced-motion: reduce) { .cal-tuca, .cal-mascote img, .cal-entra, .cal-agora .cal-ponto { animation: none !important; } }

.cal-duas { display: grid; gap: 22px; }
@media (min-width: 900px) { .cal-duas { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); align-items: start; } }

.cal-quadro { background: #fff; border-radius: 28px; padding: 16px; box-shadow: 0 10px 30px rgba(0, 0, 0, .05); min-width: 0; }
@media (min-width: 768px) { .cal-quadro { padding: 22px; } }
.cal-nav { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.cal-mes { font-size: 1.75rem; font-weight: 900; margin: 0; text-align: center; line-height: 1.1; }
.cal-mes .cal-ano { font-weight: 400; color: #64748b; }
.cal-seta { width: 44px; height: 44px; flex: none; border-radius: 50%; border: 0; background: #FFFBEF; color: #171717; cursor: pointer; box-shadow: 0 3px 0 rgba(0, 0, 0, .08); }
.cal-seta:hover { background: #EEC432; }
.cal-seta:disabled { opacity: .3; cursor: default; background: #FFFBEF; }
.cal-semana { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; text-align: center; font-size: .7rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #64748b; margin: 16px 0 6px; }
.cal-grade { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; }

.cal-d { aspect-ratio: 1 / 1.05; border-radius: 14px; border: 0; font-family: inherit; cursor: pointer; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; font-weight: 800; font-size: .95rem; position: relative; padding: 2px; min-width: 0; transition: transform .15s; }
.cal-d small { display: none; font-size: .55rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; line-height: 1; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (min-width: 600px) { .cal-d { font-size: 1rem; } .cal-d small { display: block; } }
.cal-d .cal-ico { font-size: .8rem; line-height: 1; }
.cal-d.aberto { background: #F6D86A; color: #171717; }
.cal-d.fechado, .cal-d.sem-venda { background: #eef0f3; color: #64748b; }
.cal-d.evento, .cal-d.so-evento { background: radial-gradient(circle at 100% 100%, rgba(255, 164, 27, .85) 0, rgba(255, 106, 77, 0) 45%), linear-gradient(160deg, #D93A6A 0%, #A62E70 50%, #5B2272 100%); color: #fff; }
.cal-d.evento .cal-ico, .cal-d.so-evento .cal-ico { color: #FFE08A; }
.cal-d.passado { background: transparent; color: #cbd5e1; cursor: default; }
.cal-d.vazio { visibility: hidden; }
.cal-d.erro { background: #f8fafc; color: #cbd5e1; }
.cal-d.lendo { background: #f8fafc; color: #cbd5e1; cursor: progress; }
.cal-d.hoje { outline: 3px solid #1D5FA8; outline-offset: 2px; }
.cal-d.sel { transform: scale(1.08); box-shadow: 0 8px 18px rgba(0, 0, 0, .2); z-index: 2; }
.cal-d:focus-visible { outline: 3px solid #1D5FA8; outline-offset: 2px; }

.cal-legenda { display: flex; flex-wrap: wrap; gap: 14px; font-size: .78rem; font-weight: 600; margin-top: 16px; }
.cal-legenda span { display: inline-flex; align-items: center; gap: 6px; }
.cal-leg { width: 14px; height: 14px; border-radius: 5px; display: inline-block; }
.cal-leg-aberto { background: #F6D86A; }
.cal-leg-evento { background: linear-gradient(160deg, #FFA41B, #D93A6A 45%, #5B2272); }
.cal-leg-fechado { background: #e2e8f0; }
.cal-leg-hoje { outline: 3px solid #1D5FA8; outline-offset: -3px; }
.cal-fonte { font-size: .75rem; color: #64748b; margin: 10px 0 0; }

.cal-painel { background: #fff; border-radius: 28px; overflow: hidden; box-shadow: 0 10px 30px rgba(0, 0, 0, .05); min-width: 0; scroll-margin-top: 90px; }
.cal-entra { animation: cal-sobe .35s ease-out; }
.cal-painel-cab { padding: 20px 22px; }
.cal-painel-cab .cal-rotulo { font-size: .72rem; letter-spacing: .18em; text-transform: uppercase; font-weight: 700; margin: 0 0 4px; opacity: .8; }
.cal-painel-cab h3 { font-family: "Playfair Display", serif; font-weight: 900; font-size: 1.9rem; line-height: 1.1; margin: 0; }
.cal-painel-cab .cal-evento-nome { font-weight: 800; margin: 8px 0 0; }
.cal-painel-cab.aberto { background: #F6D86A; color: #171717; }
.cal-painel-cab.evento, .cal-painel-cab.so-evento { background: radial-gradient(ellipse 22rem 9rem at 92% 120%, rgba(255, 210, 63, .9), rgba(255, 164, 27, .5) 40%, transparent 72%), linear-gradient(170deg, #4A1E68 0%, #8E2C6F 55%, #C8435F 100%); color: #fff; }
.cal-painel-cab.evento .cal-evento-nome, .cal-painel-cab.so-evento .cal-evento-nome { color: #FFE08A; }
.cal-painel-cab.fechado, .cal-painel-cab.sem-venda, .cal-painel-cab.erro, .cal-painel-cab.lendo { background: #e2e8f0; color: #171717; }
.cal-painel-corpo { padding: 20px 22px 24px; display: grid; gap: 16px; }

.cal-agora { display: inline-flex; align-items: center; gap: 8px; font-weight: 800; border-radius: 999px; padding: 8px 14px; font-size: .85rem; justify-self: start; }
.cal-agora .cal-ponto { width: 10px; height: 10px; border-radius: 50%; background: currentColor; animation: cal-pulsa 1.6s infinite; }
.cal-agora.aberta { color: #15803d; background: #dcfce7; }
.cal-agora.vai-abrir { color: #1D5FA8; background: #dbeafe; }
.cal-agora.fechada { color: #475569; background: #f1f5f9; }

.cal-mascote { display: flex; gap: 10px; align-items: flex-end; }
.cal-mascote img { width: 92px; height: auto; flex: none; animation: cal-balanca 4s ease-in-out infinite; transform-origin: 50% 90%; }
.cal-balao { background: #FFFBEF; border-radius: 22px; padding: 14px 16px; font-weight: 600; line-height: 1.4; box-shadow: 0 5px 0 rgba(0, 0, 0, .05); }
.cal-balao b { display: block; font-size: .7rem; letter-spacing: .15em; text-transform: uppercase; margin-bottom: 4px; }

.cal-tit-lista { font-size: .72rem; letter-spacing: .18em; text-transform: uppercase; font-weight: 700; color: #64748b; margin: 0 0 8px; }
.cal-chips { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; padding: 0; margin: 0; }
.cal-chips a, .cal-chips span { display: inline-block; font-size: .78rem; font-weight: 600; padding: 7px 11px; border-radius: 999px; background: #fff; border: 1px solid rgba(0, 0, 0, .1); color: #171717; text-decoration: none; }
.cal-chips a:hover { border-color: #EEC432; background: #FFFBEF; }
.cal-chips .cal-aparte { border-style: dashed; color: #475569; }

.cal-botoes { display: flex; flex-wrap: wrap; gap: 10px; }
.cal-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; border-radius: 999px; padding: 15px 22px; font-weight: 800; text-transform: uppercase; font-size: .78rem; letter-spacing: .08em; text-decoration: none; border: 0; cursor: pointer; font-family: inherit; }
.cal-btn-sol { background: #EEC432; color: #171717; }
.cal-btn-sol:hover { background: #DDBF54; }
.cal-btn-escuro { background: #171717; color: #fff; }
.cal-btn-linha { background: transparent; border: 2px solid currentColor; color: #171717; }
@media (max-width: 480px) { .cal-btn { width: 100%; } }

.cal-sempre { margin-top: 40px; background: #fff; border-radius: 28px; padding: 24px; }
.cal-sempre-lista { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0; margin: 0; }
.cal-sempre-lista li { font-size: .85rem; font-weight: 600; padding: 8px 14px; border-radius: 999px; background: #F6D86A; }
