/*
Theme Name: Astra Child
Theme URI: https://wpastra.com/
Template: astra
Author: Brainstorm Force
Author URI: https://wpastra.com/about/?utm_source=theme_preview&utm_medium=author_link&utm_campaign=astra_theme
Description: The Astra WordPress theme is lightning-fast and highly customizable. It has over 1 million downloads and the only theme in the world with 5,700+ five-star reviews! It’s ideal for professional web designers, solopreneurs, small businesses, eCommerce, membership sites and any type of website. It offers special features and templates so it works perfectly with all page builders like Spectra, Elementor, Beaver Builder, etc. Fast performance, clean code, mobile-first design and schema markup are all built-in, making the theme exceptionally SEO-friendly. It’s fully compatible with WooCommerce, SureCart and other eCommerce plugins and comes with lots of store-friendly features and templates. Astra also provides expert support for free users. A dedicated team of fully trained WordPress experts are on hand to help with every aspect of the theme. Try the live demo of Astra: https://zipwp.org/themes/astra/
Tags: custom-menu,custom-logo,entertainment,one-column,two-columns,left-sidebar,e-commerce,right-sidebar,custom-colors,editor-style,featured-images,full-width-template,microformats,post-formats,rtl-language-support,theme-options,threaded-comments,translation-ready,blog
Version: 4.11.3.1758991536
Updated: 2025-09-27 18:45:36

*/

/*------------------------------------------------------------*/
/* Code CSS pour le menu principal (couleur de fond et texte) */
/*------------------------------------------------------------*/

/* Couleur de fond de la barre de menu */
.main-header-bar {
  background-color: #004080 !important; /* bleu foncé, à adapter */
}

/* Couleur des liens de menu */
.main-header-menu > li > a {
  color: #ffffff !important; /* blanc */
}

/* Couleur des liens de menu au survol */
.main-header-menu > li > a:hover {
  color: #ffd700 !important; /* or / jaune */
}

/* Fond du sous-menu */
.main-header-menu .sub-menu {
  background-color: #004080 !important; /* bleu foncé */
}

/* Texte des éléments du sous-menu */
.main-header-menu .sub-menu a {
  color: #ffffff !important; /* blanc */
}

/* Texte au survol */
.main-header-menu .sub-menu a:hover {
  color: #ffd700  !important; /* or / jaune */
}

/*--------------------------------------*/
/* Pour le menu mobile (menu hamburger) */
/*--------------------------------------*/
@media (max-width: 921px) {

  /* Fond du menu mobile */
  .ast-header-break-point .ast-mobile-menu-wrap {
    background-color: #3980c9 !important; /* bleu clair */
  }

  /* Liens du menu mobile */
  .ast-header-break-point .main-header-menu li a {
    color: #ffd700 !important; /* or */
    background-color: #3980c9 !important; /* bleu clair */
  }

  /* Survol des liens */
  .ast-header-break-point .main-header-menu li a:hover {
    background-color: #004080 !important; /* bleu fpncé */
    color: #ffd700 !important; /* or */
  }
}

/*---------------------------------------*/
/*  tableau responsive (pour smartphone) */
/*---------------------------------------*/

@media screen and (max-width: 600px) {
  table, thead, tbody, th, td, tr {
    display: block;
  }
  thead {
    display: none;
  }
  td {
    position: relative;
    padding-left: 50%;
  }
  td::before {
    position: absolute;
    left: 10px;
    top: 8px;
    white-space: nowrap;
    font-weight: bold;
    color: #ffffff !important;
    content: attr(data-label);
  }
}

/*-------------------*/
/* Tous les tableaux */
/*-------------------*/

/*  Effet au survol */
tbody tr:hover {
  color: #6600FF;	
  background-color: #ffe099;
}

/* Hauteur de ligne et police pour tous les tableaux */
table {
  border: none;
  line-height: 1.2 !important; /* hauteur de ligne (1.2 à 2 recommandé) */
  font-family: "Open Sans", Arial, sans-serif; /* police personnalisée */
  font-size: 13px; /* taille du texte */
}

/* Optionnel : pour ajuster les cellules individuellement */
table td, table th {
  padding-top: 8px;
  padding-bottom: 8px;
}

/*------------------*/
/* tableau horaires */
/*------------------*/

<style>
  table.horaires {
    border-collapse: collapse;
    width: 100%;
  }

  table.horaires td, table.horaires th {
    border: 1px solid #ccc;
    padding: 8px;
    text-align: left;
  }
 
   table.horaires td:nth-child(1) {
	width: 25%;
    font-size: 16px;
    font-weight: bold;
  }

   table.horaires td:nth-child(2) {
	width: 30%;
    font-size: 15px;
  }

   table.horaires td:nth-child(3) {
    font-size: 15px;
  }

  table.horaires td:empty {
    border: none;
    background: transparent;  
  }

.paragraphe-autre {
  @extend p; 
}

/* Style pour les phrases de la Bible    */
/*_______________________________________*/
/* === Style personnalisé : texte italique bleu foncé pour les citations === */
.italique-bleu {
  color: #002b80; !important;/* bleu plus soutenu */
  font-style: italic; !important;
  font-weight: 500; !important;/* légèrement plus épais */
}

/* Bounton pour afficher les calendriers */
/*_______________________________________*/
/* === Bouton ouvrir/fermer tableau === */
.bouton-toggle {
  background-color: #003366;
  color: white;
  border: none;
  padding: 10px 18px;
  border-radius: 8px;
  cursor: pointer;
  font-size: 16px;
  transition: background-color 0.25s ease;
}
.bouton-toggle:hover { background-color: #0055aa; }

/* Tableau masqué par défaut */
.tableau-aumonerie {
  display: none;
  margin-top: 15px;
  animation: fadeIn 0.35s ease;
}
.tableau-aumonerie.is-visible { display: block; }

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

/* Bouton pour afficher en bas de page les infos de contact */
/*__________________________________________________________*/
/*                                                          */
.contact-paroisse {
  background-color: #f6f9ff;
  padding: 20px;
  border-radius: 12px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
  font-size: 16px;
  line-height: 1.6;
}

.contact-paroisse .btn-contact {
  display: inline-block;
  margin: 8px 0;
  padding: 8px 14px;
  background-color: #3980c9;
  color: white;
  text-decoration: none;
  border-radius: 6px;
  font-weight: 500;
  transition: background-color 0.2s ease;
}

.contact-paroisse .btn-contact:hover {
  background-color: #2f68a3;
}

.table-contact {
  width: 100%;
  border-collapse: collapse;
  margin-top: 10px;
}

.table-contact td {
  padding: 6px 10px;
  vertical-align: top;
}


/* Conteneur scrollable sur mobile */
.programme-semaine-container {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch; /* effet fluide iOS */
}

/* Format pour le tableau événements de la semaine          */
/*__________________________________________________________*/
/*                                                          */
.programme-semaine {
  width: 100%;
  border-collapse: collapse;
  min-width: 300px; /* pour garder de la structure */
  border: none;
  line-height: 1.2 !important; /* hauteur de ligne (1.2 à 2 recommandé) */
  font-family: "Open Sans", Arial, sans-serif; /* police personnalisée */
  font-size: 17px; /* taille du texte */
}

.programme-semaine td {
  padding: 6px 10px;
  vertical-align: top;
  white-space: normal;
  border: none;
  border-bottom: 1px solid #ccc;
}

/* Ligne de jour (titre rouge) */
.programme-semaine .jour {
  color: #b62f2f;
  font-weight: bold;
  padding-top: 10px;
  text-align: left;
  font-size: 17px;
}

/* Colonne heure */
.programme-semaine .heure {
  width: 60px;
  text-align: right;
  color: #333;
  font-weight: 500;
}

/* Colonne description */
.programme-semaine .desc {
  text-align: left;
  padding-left: 10px;
}

/* 📱 Adaptation mobile */
@media (max-width: 600px) {
  .programme-semaine {
    font-size: 15px;
  }
  .programme-semaine .heure {
    width: 55px;
  }
  .programme-semaine .jour {
    font-size: 16px;
  }
}

/* Affichage des tableaux pour les mobiles ou les tablettes */
/*__________________________________________________________*/
/*                                                          */
.table-container {
  width: 100%;
  overflow-x: auto;             /* Permet le scroll horizontal */
  -webkit-overflow-scrolling: touch; /* Scroll fluide sur iPhone */
}

.tableau-horaires {
  width: 100%;
  border-collapse: collapse;
  min-width: 400px; /* évite que tout s’écrase sur mobile */
  font-size: 17px;
}

.tableau-horaires th,
.tableau-horaires td {
  border: 1px solid #ddd;
  padding: 8px;
  text-align: left;
}

.tableau-horaires th {
  background-color: #f4f4f4;
}


/* Affichage des listes */
/*______________________*/

ul.spaced-list {
  margin: 20px 0;         /* espace autour de la liste */
  padding-left: 40px;     /* espace entre la puce et le texte */
  list-style-type: disc;  /* type de puce */
}

ul.spaced-list li {
  margin-bottom: 20px;    /* espace entre les éléments */
  line-height: 1.9;       /* aère le texte */
}

/* Affichage google map */
/*______________________*/
.wp-block-gmap-gmap-block {
  display: flex;
  justify-content: center !important;			/* Force le tableau à s'étendre bord à */
  width: 100vw !important;        	/* pleine largeur de la fenêtre */
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw);   /* annule la marge du conteneur */
  border-collapse: collapse;
}

.wp-block-gmap-gmap-block iframe {
  max-width: 100%;
  width: 400px; /* largeur fixe ou ajustable */
  height: 300px;
  border: none;
  border-radius: 10px;		
}

/* Force le tableau à s'étendre bord à bord */
.fullwidth-table {
  width: 100vw !important;        /* pleine largeur de la fenêtre */
  max-width: 90vw !important;
  margin-left: calc(60% - 50vw);  /* annule la marge du conteneur */
  border-collapse: collapse;
}

</style>