/* AI Plugin Suite – [display-calendar] frontend styles
 *
 * Tweak the look by overriding the variables in your theme, e.g.
 *   .aisuite-calendar { --aisuite-bg: #f4b400; --aisuite-bg-alt: #f7c631; }
 */
.aisuite-calendar {
	--aisuite-bg: #4db8fb;
	--aisuite-bg-alt: #6cc6fc;      /* every even row: slightly lighter */
	--aisuite-line: rgba(255, 255, 255, 0.75);
	--aisuite-text: #000;
	--aisuite-date-bg: #fff;

	box-sizing: border-box;
	width: 100%;
	border: 1px solid var(--aisuite-line);
	border-radius: 12px 12px 0 0;
	overflow: hidden;
	color: var(--aisuite-text);
	font-family: Arial, Helvetica, sans-serif;
}
.aisuite-calendar *,
.aisuite-calendar *::before,
.aisuite-calendar *::after { box-sizing: border-box; }

.aisuite-calendar .aisuite-cal-row {
	display: grid;
	grid-template-columns: 148px 1fr auto;
	column-gap: 58px;
	align-items: start;
	padding: 8px 30px;
	background: var(--aisuite-bg);
	border-bottom: 1px solid var(--aisuite-line);
}
.aisuite-calendar .aisuite-cal-row:nth-child(even) { background: var(--aisuite-bg-alt); }
.aisuite-calendar .aisuite-cal-row:last-child { border-bottom: 0; }

/* White date box */
.aisuite-calendar .aisuite-cal-date {
	display: flex;
	flex-direction: column;
	background: var(--aisuite-date-bg);
	border-radius: 18px;
	padding: 14px 13px 12px;
	line-height: 1;
}
.aisuite-calendar .aisuite-cal-day { font-size: 48px; font-weight: 700; }
.aisuite-calendar .aisuite-cal-month { font-size: 16px; margin-top: 8px; }

/* Text column */
.aisuite-calendar .aisuite-cal-body { min-width: 0; padding-bottom: 6px; }

.aisuite-calendar .aisuite-cal-title {
	margin: 0;
	padding: 0;
	font-family: inherit;
	font-size: clamp(26px, 4.2vw, 48px);
	font-weight: 700;
	line-height: 1.1;
	color: var(--aisuite-text);
	overflow-wrap: anywhere;
}
.aisuite-calendar .aisuite-cal-type {
	display: inline-block;
	margin: 6px 0 0;
	padding: 2px 10px;
	font-size: 13px;
	line-height: 1.5;
	background: rgba(255, 255, 255, 0.55);
	border-radius: 999px;
}
.aisuite-calendar .aisuite-cal-time { font-size: 18px; line-height: 1.4; margin-top: 2px; }
.aisuite-calendar .aisuite-cal-venue,
.aisuite-calendar .aisuite-cal-desc { font-size: 18px; line-height: 1.6; margin: 8px 0 0; }

/* Featured image */
.aisuite-calendar .aisuite-cal-image { width: 180px; padding-top: 6px; }
.aisuite-calendar .aisuite-cal-image img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 10px;
}

.aisuite-cal-empty { padding: 12px 0; }

/* Tablet / phone */
@media (max-width: 782px) {
	.aisuite-calendar .aisuite-cal-row {
		grid-template-columns: 96px 1fr;
		column-gap: 20px;
		padding: 10px 14px;
	}
	.aisuite-calendar .aisuite-cal-date { border-radius: 14px; padding: 10px 9px 9px; }
	.aisuite-calendar .aisuite-cal-day { font-size: 36px; }
	.aisuite-calendar .aisuite-cal-month { font-size: 14px; margin-top: 6px; }
	.aisuite-calendar .aisuite-cal-time,
	.aisuite-calendar .aisuite-cal-venue,
	.aisuite-calendar .aisuite-cal-desc { font-size: 16px; }
	.aisuite-calendar .aisuite-cal-image { grid-column: 1 / -1; width: 100%; padding-top: 8px; }
}
