@font-face {
	font-family: "Liturgie";
	src: url('liturgy.ttf');
}

*:not(input):not(textarea):not(select) {
    -webkit-user-select: text;
    -moz-user-select: text;
    -ms-user-select: text;
    user-select: text;
}

#detect-area {
	background-color: #FF0000!important;
}

body {
	margin:0;
	padding: 0px;
	width: auto;
	font-family: serif!important;
}

div.page__background {
	background: url(images/fond-papier.jpg);
	background-repeat:repeat-y;
	background-position:center center;
	background-attachment:scroll;
	background-size:100% 100%;
	top:0!important;
	padding-top:0!important;
}

div.page__content {
	font-family: serif!important;
}

.card {
	padding-bottom: 3.2em!important;
}

/* pour centrer le calendrier */
div.picker__holder {
	margin: auto;
}

.barre-menu .select-input {
	color: #FFFFFF!important;
}

.tabbar, .tabbar__button, .tabbar__label {
	height: 35px;
}
.tabbar__button, .tabbar__label {
	line-height: 35px!important;
	font-size: 0.9em!important;
	text-transform:none!important;
}
.tabbar__content {
	top: 35px;
}

.cadre {
	background: url(images/fond-papier.jpg);
	width:480px;
	margin: 0 auto;
	font-family: serif!important;
	padding: 4px;
}

@media screen and (max-width: 480px) {
	.cadre {
		width:100%;
		margin: 0 auto;
	}
}

.bouton_date {
	font-size: 0.9em;
}

.bouton_menu_g {
	font-size: 1em;
}

.switch-latin {
	text-align:right;
	font-size: 0.8em!important;
	font-style:italic!important;
}

.slider {
	width:95%;
	padding-left: 2.5%;
}

.nombre {
	width: 3.5em;
}

h1, h2, h3 {
	font-family:serif!important;
}

h1 {
	font-size:1.1em!important;
}

h2 {
	color:#BB0000;
	text-transform:uppercase;
	font-size:1em!important;
	margin-top:2em!important;
	font-weight:bold!important;
}

h2.cantique {
	color:black;
	text-transform:none;
	font-weight:normal!important;
	margin-bottom:0.6em!important;
}

h3 {
	font-size: 1em!important;
	font-weight: normal;
}

p {
	text-align : justify;
}

.antienne {
	font-size:0.9em;
}

p.ref {
	font-size:0.9em;
	text-align : right;
	margin-top : 0em;
}

span.verset, .rouge {
	color:#BB0000;
}

span.verset {
	font-size:0.6em;
	vertical-align:text-top;
}

.espace {
	margin-left: 2em;
}

.center, .center p {
	text-align: center;
}

.center p.antienne {
	text-align: justify;
}

.droite {
	text-align: right;
}

.espace-dessous {
	margin-bottom:0.5em;
}

span.petit {
	font-size:0.6em;
}

span.liturgie {
	font-family: Liturgie;
	font-weight: bold;
	margin-right: 0.3em;
}

span.liturgie2 {
	font-family: Liturgie;
	font-size: 0.9em;
}

/* Style pour la barre du haut personnalisée */
.custom-header {
	background: linear-gradient(135deg, #8B0000, #B22222) !important; /* Rouge sombre */
	color: white !important;
	font-family: 'Brush Script MT', 'Lucida Handwriting', 'Apple Chancery', cursive !important;
	font-style: italic !important;
	font-size: 22px !important;
	font-weight: bold !important;
	text-shadow: 2px 2px 4px rgba(0,0,0,0.5) !important;
	padding: 12px 15px !important;
	min-height: 50px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.custom-header .center {
	color: white !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	height: 100% !important;
}

/* Styles pour les boutons audio sur la page d'accueil */
.audio-office-full-button {
    background: #8B4513; /* Marron sombre */
    color: white;
    border: none;
    border-radius: 12px;
    padding: 18px 15px;
    margin: 8px 0;
    cursor: pointer;
    transition: all 0.3s;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 60px;
}

.audio-office-full-button:hover {
    background: #654321; /* Marron sombre plus foncé */
    transform: translateY(-3px);
    box-shadow: 0 6px 12px rgba(0,0,0,0.3);
}

.audio-office-full-button:active {
    transform: translateY(0);
    box-shadow: 0 2px 6px rgba(0,0,0,0.2);
}

.audio-office-full-button .center {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-weight: bold;
    font-size: 18px;
    color: white;
    width: 100%;
    padding: 0 15px;
    position: relative;
}

.button-text {
    flex: 1;
    text-align: left;
}

/* Styles pour les icônes de lecture - centrées */
.play-icon {
    font-size: 36px !important;
    color: white !important;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
}

/* Styles pour les anciens boutons (maintenus pour compatibilité) */
.audio-office-item {
    position: relative;
}

.audio-office-label {
    font-weight: bold;
}

.audio-play-button {
    background: #0076ff;
    color: white;
    border: none;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background-color 0.3s;
}

.audio-play-button:hover {
    background: #0056cc;
}

.audio-play-button:active {
    transform: scale(0.95);
}

.audio-play-button ons-icon {
    font-size: 20px;
}

/* Styles pour les menus déroulants des communs */
.communs-submenu {
    background: #f8f8f8;
    border-left: 3px solid #0076ff;
    margin-left: 20px;
    animation: slideDown 0.3s ease-out;
}

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.communs-category-header {
    background: #0076ff;
    color: white;
    padding: 10px;
    text-align: center;
    font-weight: bold;
    font-size: 16px;
    margin-bottom: 10px;
    border-radius: 5px;
}

.communs-category-button {
    background: #191970; /* Bleu presque noir */
    color: white;
    border: none;
    border-radius: 10px;
    padding: 15px;
    margin: 5px 0;
    cursor: pointer;
    transition: all 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
}

.communs-category-button:hover {
    background: #000080; /* Bleu marine au hover */
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.25);
}

.communs-category-button:active {
    transform: translateY(0);
    box-shadow: 0 2px 4px rgba(0,0,0,0.15);
}

.communs-category-button .center {
    font-weight: bold;
    color: white;
    font-size: 16px;
}

.communs-office-button {
    background: #191970; /* Bleu presque noir */
    color: white;
    border: none;
    border-radius: 10px;
    padding: 15px;
    margin: 5px 0;
    cursor: pointer;
    transition: all 0.3s;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 50px;
    position: relative;
}

.communs-office-button:hover {
    background: #000080; /* Bleu marine au hover */
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.25);
}

.communs-office-button:active {
    transform: translateY(0);
    box-shadow: 0 2px 4px rgba(0,0,0,0.15);
}

.communs-office-button .center {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-weight: bold;
    color: white;
    font-size: 16px;
    width: 100%;
    padding: 0 15px;
    position: relative;
}

/* Supprimer toutes les lignes et bordures visibles sur mobile et desktop */
ons-list-item {
    border-bottom: none !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
}

ons-list-item::after {
    display: none !important;
    content: none !important;
    border: none !important;
    background: none !important;
}

ons-list-item::before {
    display: none !important;
    content: none !important;
    border: none !important;
    background: none !important;
}

ons-list-item * {
    border: none !important;
    box-shadow: none !important;
}

/* Supprimer les séparateurs de liste OnsenUI */
.list__item {
    border-bottom: none !important;
}

.list__item::after {
    display: none !important;
}

/* Assurer un arrière-plan blanc pour toute la page */
body {
    background-color: white !important;
}

ons-page {
    background-color: white !important;
}

/* Mode nuit - fond noir */
body.dark-mode {
    background-color: #121212 !important;
}

ons-page.dark-mode {
    background-color: #121212 !important;
}

.dark-mode .audio-office-full-button {
    background: #654321 !important; /* Marron plus sombre */
}

.dark-mode .communs-category-button,
.dark-mode .communs-office-button {
    background: #000066 !important; /* Bleu marine plus sombre */
}

.dark-mode .custom-header {
    background: linear-gradient(135deg, #4B0000, #660000) !important; /* Rouge plus sombre */
}

/* Styles adaptatifs pour tablette et PC */
@media (min-width: 768px) {
    /* Agrandir la barre du haut pour tablette/PC */
    .custom-header {
        font-size: 28px !important;
        padding: 20px 15px !important;
        min-height: 70px !important;
    }

    /* Agrandir les boutons principaux pour tablette/PC */
    .audio-office-full-button {
        padding: 25px 20px !important;
        margin: 12px 0 !important;
        min-height: 80px !important;
        font-size: 20px !important;
    }

    .audio-office-full-button .center {
        font-size: 20px !important;
    }

    /* Agrandir l'icône pour tablette/PC */
    .play-icon {
        font-size: 44px !important;
    }

    /* Agrandir les boutons communs pour tablette/PC */
    .communs-category-button,
    .communs-office-button {
        padding: 20px !important;
        margin: 8px 0 !important;
        min-height: 65px !important;
        font-size: 18px !important;
    }

    .communs-category-button .center,
    .communs-office-button .center {
        font-size: 18px !important;
    }
}

/* Styles spécifiques pour desktop (grands écrans) */
@media (min-width: 1024px) {
    .custom-header {
        font-size: 32px !important;
        padding: 25px 20px !important;
        min-height: 80px !important;
    }

    .audio-office-full-button {
        padding: 30px 25px !important;
        margin: 15px 0 !important;
        min-height: 100px !important;
        font-size: 22px !important;
        max-width: 600px;
        margin-left: auto;
        margin-right: auto;
    }

    .audio-office-full-button .center {
        font-size: 22px !important;
    }

    .play-icon {
        font-size: 52px !important;
    }

    .communs-category-button,
    .communs-office-button {
        padding: 25px !important;
        margin: 10px 0 !important;
        min-height: 75px !important;
        font-size: 20px !important;
        max-width: 600px;
        margin-left: auto;
        margin-right: auto;
    }

    .communs-category-button .center,
    .communs-office-button .center {
        font-size: 20px !important;
    }

    /* Agrandir les icônes des boutons communs sur PC */
    .communs-office-button .play-icon {
        font-size: 48px !important;
    }

    /* Centrer le contenu principal sur desktop */
    ons-card {
        max-width: 800px;
        margin: 0 auto;
        box-shadow: 0 4px 20px rgba(0,0,0,0.1);
    }
}

/* Styles pour mobile (petits écrans) */
@media (max-width: 767px) {
    /* Styles mobiles spécifiques si nécessaire */
    .custom-header {
        font-size: 20px !important;
    }

    .play-icon {
        font-size: 28px !important;
    }
}
