.pcw-events-calendar {
	width: 100%;
	border-collapse: collapse;
	margin-top: 10px;
}
.pcw-events-calendar th,
.pcw-events-calendar td {
    border: 1px solid #ccc;
    vertical-align: top;
    min-height: 80px;
    height: 100px;
    width: 14.28%; /* 100% ÷ 7 days */
    padding: 5px;
    box-sizing: border-box;
    overflow-wrap: break-word;
}
.day-number {
	font-weight: bold;
	margin-bottom: 4px;
}
.event-list {
	list-style: none;
	padding: 0;
	margin: 0;
}
.today {
	background: #ffffcc;
}
.has-events {
	background: #eef8ff;
}
.empty {
	background: #f9f9f9;
}
.pcw-calendar-nav {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 10px;
}
.pcw-calendar-nav button {
	background: #eee;
	border: 1px solid #ccc;
	padding: 5px 10px;
	cursor: pointer;
}

@media (max-width: 768px) {
    .pcw-events-calendar,
    .pcw-events-calendar thead,
    .pcw-events-calendar tbody,
    .pcw-events-calendar th,
    .pcw-events-calendar td,
    .pcw-events-calendar tr {
        display: block;
        width: 100%;
    }

    .pcw-events-calendar thead {
        display: none;
    }

    .pcw-events-calendar tr {
        margin-bottom: 1rem;
        border-bottom: 2px solid #ccc;
    }

    .pcw-events-calendar td {
        border: none;
        border-bottom: 1px solid #eee;
        position: relative;
        padding-left: 50px;
        min-height: 60px;
    }

    .pcw-events-calendar td .day-number {
        position: absolute;
        top: 8px;
        left: 10px;
        font-size: 1.2em;
        font-weight: bold;
    }

    .pcw-events-calendar td.empty {
        display: none;
    }

    .pcw-calendar-nav {
        flex-direction: column;
        gap: 8px;
        text-align: center;
    }

    .pcw-calendar-nav button {
        width: 100%;
    }
}
