/* Styles propres au site, écrits à la main (le reste vient de Blocs, dans style.css).
   Chargé après les autres feuilles de style : ces règles l'emportent. */

/* ===== Commun à toutes les pages (anciennement dans le layout) ===== */

.ombre-img {
  filter: drop-shadow(0 1.25rem .9rem rgba(0,0,0,.6));
  transition: filter .6s ease-in-out;
}
.ombre-image:hover {
  filter: drop-shadow(0 1.25rem .9rem rgba(0,0,0,.6));
  transition: filter .6s ease-in-out;
}
.enluminure {
  color: #165081;
  float: left;
  font-family: Quicksand;
  font-size: 60px;
  font-weight: bold;
  line-height: 50px;
  padding-top: 2px;
  padding-right: 8px;
  padding-left: 3px;
}
.sticky-nav.sticky {
  background-color: rgba(0,108,173,0.85)!important;
  box-shadow: 5px 0px 25px rgba(0, 0, 0, 0.05)!important;
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
}
.frosted {
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}
/* In-page links (<a href="#section">) scroll smoothly. */
html { scroll-behavior: smooth; }
/* Force object-hidden to win against later selectors like .bloc in style.css */
.object-hidden {
  display: none !important;
}
/* Panel shown over the page (data-toggle-visibility): fits the screen and scrolls on its own.
   Used by the cat details (Chatterie) and the « Lire la suite » / « Visite » blocs (Adoption, Contact). */
.panneau {
  position: fixed;
  top: 50px;
  left: 0;
  right: 0;
  bottom: 0;
  height: auto;
  max-height: calc(100vh - 50px);
  overflow-y: auto;
  overflow-x: hidden;
  z-index: 120;
  -webkit-overflow-scrolling: touch;
}

/* ===== Page Accueil ===== */

#hero .fill-bloc-top-edge.sticky .navbar {
  max-width: unset;
}

/* ===== Page Adoption ===== */

/* fenêtre « Prochains Mariages » */
.mariage-photo { width: 80px; height: 80px; object-fit: cover; flex-shrink: 0; }
.mariage-nom { font-family: "Nunito"; font-weight: 600; color: #002237; line-height: 1.3; }
.mariage-titre { font-family: "Nunito"; font-size: 14px; color: #0080BB; line-height: 1.3; }
.mariage-croix { font-size: 28px; color: #0080BB; }

/* ===== Page Infos ===== */

.table { --bs-table-striped-bg: rgba(204, 229, 241, 0.8) !important; }
#accordion-faq .card-header a:after { content: "＋"; scale: 1.2; float: right; vertical-align: middle; color: #3983ba; }
#accordion-faq .card-header a[aria-expanded="true"]:after { content: "＋"; scale: 1.6; -webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); -o-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); color: #13b4ff; }
#accordion-faq .card-header a[aria-expanded="false"]:after { content: "＋"; color: #3983ba; }
/* FAQ answers come from Markdown (faq/*.md): style their paragraphs and tables here. */
#accordion-faq .card-body p { text-align: justify; }
#accordion-faq .table-responsive + p { padding-top: 30px; }
#accordion-faq table { table-layout: fixed; }
/* tableaux des titres et des expositions prévues : en-tête bleu, lignes alternées à partir de la 1re ligne blanche */
#expos thead th, #expos-prevues thead th { background-color: var(--bs-table-striped-bg); }
#expos .table-striped > tbody > tr:nth-of-type(odd) > *, #expos-prevues .table-striped > tbody > tr:nth-of-type(odd) > * { --bs-table-accent-bg: transparent; }
#expos .table-striped > tbody > tr:nth-of-type(even) > *, #expos-prevues .table-striped > tbody > tr:nth-of-type(even) > * { --bs-table-accent-bg: var(--bs-table-striped-bg); }
#accordion-faq th { font-family: "Quicksand"; font-weight: 500; font-size: 25px; color: #002237; text-align: center; padding: 1rem .5rem; background-color: var(--bs-table-striped-bg); }
#accordion-faq td { font-family: "Nunito"; font-weight: 300; font-size: 17px; line-height: 30px; color: #002237; letter-spacing: 0.03em; padding: .5rem .5rem 1.2rem; }
@media (max-width: 767px) { #accordion-faq th { font-size: 18px; } #accordion-faq td { font-size: 15px; } }
/* header row is striped, so body rows start unstriped (as before the Markdown conversion) */
#accordion-faq .table-striped > tbody > tr:nth-of-type(odd) > * { --bs-table-accent-bg: transparent; }
#accordion-faq .table-striped > tbody > tr:nth-of-type(even) > * { --bs-table-accent-bg: var(--bs-table-striped-bg); }

/* ===== Page Santé ===== */

/* listes des sections Santé : un peu d'air entre les éléments */
#sante li, #sante-chaterie li { margin-bottom: 1rem; }
