/* Calendario de torneos */
.glc-cal { --g: #3f7a05; --d: #141618; --line: #e6e8e3; font-family: Roboto, system-ui, sans-serif; color: var(--d); }
.glc-cal [hidden] { display: none !important; }

.glc-cal__tabs { display: inline-flex; border: 1px solid var(--line); border-radius: 999px; padding: 3px; margin-bottom: 18px; background: #fff; }
.glc-cal__tabs button { border: 0; background: transparent; padding: 8px 20px; border-radius: 999px; font: 600 12px Poppins, sans-serif; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; color: #555; }
.glc-cal__tabs button.is-active { background: var(--g); color: #fff; }

/* Agenda */
.glc-cal__agenda { display: grid; gap: 14px; }
.glc-cal__card { display: grid; grid-template-columns: 76px 1fr auto; gap: 18px; align-items: center; padding: 16px 18px; background: #fff; border: 1px solid var(--line); border-left: 4px solid var(--g); border-radius: 6px; box-shadow: 0 1px 2px rgba(0, 0, 0, .04); transition: box-shadow .2s, transform .2s; }
.glc-cal__card:hover { box-shadow: 0 8px 22px rgba(0, 0, 0, .08); transform: translateY(-1px); }
.glc-cal__badge { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 76px; height: 76px; border-radius: 8px; background: var(--d); color: #fff; text-transform: uppercase; line-height: 1; }
.glc-cal__badge .d { font: 700 30px Poppins, sans-serif; }
.glc-cal__badge .m { font: 600 12px Poppins, sans-serif; letter-spacing: .12em; margin-top: 4px; color: #b9e27a; }
.glc-cal__body h4 { margin: 0 0 4px; font: 600 17px/1.25 Poppins, sans-serif; padding: 0; }
.glc-cal__body h4 a { color: var(--d); text-decoration: none; }
.glc-cal__body p { margin: 0; color: #666; font-size: 14px; padding: 0; }
.glc-cal__actions { display: flex; flex-direction: column; gap: 6px; align-items: flex-end; }
.glc-cal__btn { background: var(--g); color: #fff !important; padding: 9px 18px; border-radius: 4px; font: 600 12px Poppins, sans-serif; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; white-space: nowrap; }
.glc-cal__btn:hover { background: #3e7405; }
.glc-cal__link { font-size: 13px; color: var(--g); text-decoration: none; }
.glc-cal__empty { padding: 22px; text-align: center; background: #f7f8f5; border-radius: 6px; color: #666; }

/* Mes */
.glc-cal__month { background: #fff; border: 1px solid var(--line); border-radius: 8px; padding: 14px; transition: opacity .2s; }
.glc-cal__month.is-loading { opacity: .55; }
.glc-cal__nav { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; }
.glc-cal__nav strong { flex: 1; text-align: center; font: 600 18px Poppins, sans-serif; }
.glc-cal__nav button { border: 1px solid var(--line); background: #fff; border-radius: 6px; padding: 6px 12px; cursor: pointer; font-size: 18px; line-height: 1; color: var(--d); }
.glc-cal__nav button.today { font: 600 12px Poppins, sans-serif; letter-spacing: .06em; text-transform: uppercase; }
.glc-cal__nav button:hover { border-color: var(--g); color: var(--g); }
.glc-cal__grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.glc-cal__grid .wd { padding: 8px 6px; text-align: center; font: 600 11px Poppins, sans-serif; letter-spacing: .1em; text-transform: uppercase; color: #888; background: #fafbf8; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.glc-cal__grid .day { min-height: 86px; padding: 4px 0 6px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); display: flex; flex-direction: column; gap: 3px; }
.glc-cal__grid .day .n { align-self: flex-end; margin: 0 6px 2px; font-size: 12px; color: #666; }
.glc-cal__grid .day.out { background: #fafbf8; }
.glc-cal__grid .day.out .n { color: #bbb; }
.glc-cal__grid .day.today .n { background: var(--d); color: #fff; border-radius: 999px; min-width: 22px; text-align: center; line-height: 22px; }
.glc-cal__grid .ev { display: block; min-height: 20px; padding: 1px 6px; background: var(--g); color: #fff !important; font-size: 12px; line-height: 18px; text-decoration: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin: 0 -1px; }
.glc-cal__grid .ev.s { margin-left: 4px; border-radius: 4px 0 0 4px; }
.glc-cal__grid .ev.e { margin-right: 4px; border-radius: 0 4px 4px 0; }
.glc-cal__grid .ev.s.e { border-radius: 4px; }
.glc-cal__grid .ev:hover { background: #3e7405; }

@media (max-width: 700px) {
	.glc-cal__card { grid-template-columns: 60px 1fr; }
	.glc-cal__badge { width: 60px; height: 60px; }
	.glc-cal__badge .d { font-size: 24px; }
	.glc-cal__actions { grid-column: 1 / -1; flex-direction: row; justify-content: space-between; align-items: center; }
	.glc-cal__grid .day { min-height: 58px; }
	.glc-cal__grid .ev { font-size: 0; min-height: 8px; padding: 0; margin: 0; }
	.glc-cal__grid .ev.s { margin-left: 2px; }
	.glc-cal__grid .ev.e { margin-right: 2px; }
}
