@import url('https://fonts.googleapis.com/css2?family=Lato:wght@400;700&family=Merriweather:wght@400;700&display=swap');

main {
	min-height: 800px;
}

body, html {
	font-family: 'Lato', Arial, Helvetica, sans-serif;
	background-image: url(/assets/img/logo-bg.png);
    background-repeat: no-repeat;
    min-height: 970px;
	background-color: #FFFBF9;
}

h1, h2, h3, h4, h5, h6 {
	font-family: 'Merriweather', serif;
	font-weight: bold;
}
/* Remove blue focus outline from slide titles */
#historique-slideshow h3:focus {
	outline: none;
	box-shadow: none;
}
/* body top padding is set dynamically to match the navbar height */
/* reset default body margin to avoid unexpected gaps above the navbar */
body {
	margin: 0;
	padding-top: 0;
}

/* subtle shadow for sticky navbar */
.sticky-top {
	box-shadow: 0 4px 6px rgba(0,0,0,0.38);
	transition: box-shadow 180ms ease-in-out;
}

.slide-bottom-nav {
	margin-top: 5rem;

}

.card {
	box-shadow: 0 2px 4px rgba(0,0,0,0.1);
	transition: box-shadow 180ms ease-in-out;
}

.card:hover {
	box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}

/* Calendar: force equal-width columns and prevent event content from expanding them */
.calendar-table {
	table-layout: fixed; /* equal column widths */
	width: 100%;
}
.calendar-table th,
.calendar-table td {
	width: 14.2857%; /* 100 / 7 */
	height: 80px;
	vertical-align: top;
	overflow: hidden; /* prevent cell contents from stretching the column */
}
.calendar-table td .fw-bold { 
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.calendar-table td .btn {
	display: block;
	width: 100%;
	box-sizing: border-box;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis; /* truncate long event titles */
}
.calendar-table td .text-muted {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.btn-outline-red {
	--bs-btn-color: rgb(221, 7, 32);
    --bs-btn-border-color: rgb(193, 0, 22);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: rgb(193, 0, 22);
    --bs-btn-hover-border-color: rgb(193, 0, 22);
    --bs-btn-focus-shadow-rgb: 51, 102, 153;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: rgb(193, 0, 22);
    --bs-btn-active-border-color: rgb(193, 0, 22);
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: rgb(193, 0, 22);
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: rgb(193, 0, 22);
    --bs-gradient: none;
}

.bg-red {
	background-color: rgb(193,0,22) !important;
}

.text-red {
	color: rgb(193,0,22) !important;
}

.table-calendar {
	max-width: 8in;
}

.table-calendar td {
	padding: 0.02rem 0 0.0rem 4px;
	font-size: 12px;
}

.table-calendar tr th {
	font-size:8px;
}

.table-calendar td, .table-calendar th {
	vertical-align: middle;
}

/* Printing: avoid breaking a calendar month across pages */
@media print {
	.calendar-month { page-break-inside: avoid; break-inside: avoid; }
}

/* Set printable page margins: 0.5in top margin */
@page {
	margin: 0.5in;
}
@media print {
	/* Some browsers ignore @page for body, set body margin as fallback */
	body { margin: 0; padding-top: 0.5in; }
}

/* Choir buttons for members section (replaces previous inline styles) */
.choir-btn { color: #fff; border-width:1px; }
.choir-sop { background-color: #cfe9ff; border-color: #cfe9ff; color: #012a4a; }
.choir-sop:hover { filter:brightness(.95); }
.choir-alt { background-color: #9fcfff; border-color: #9fcfff; color: #012a4a; }
.choir-alt:hover { filter:brightness(.95); }
.choir-ten { background-color: #5faaff; border-color: #5faaff; color: #fff; }
.choir-ten:hover { filter:brightness(.95); }
.choir-bas { background-color: #1f6fff; border-color: #1f6fff; color: #fff; }
.choir-bas:hover { filter:brightness(.95); }
.choir-tutti { background-color: #0047b3; border-color: #0047b3; color: #fff; }
.choir-tutti:hover { filter:brightness(.95); }
.choir-btn[disabled], .choir-btn.disabled {
	opacity: 0.5; pointer-events: none;
}
