/**
 * Look pandea — base visuelle Thézan des Corbières
 * Référence : themes/pandea (Drupal) / thezan-corbieres.fr
 */

/* ---------- Fondations ---------- */

.tpl-pandea {
  --bleu: #00a0eb;
  --bleu-fonce: #163645;
  --vert: #72c55e;
  --vert-clair: #cce193;
  --jaune: #ff8c00;
  --rouge: #ff0000;
  --orange: #fb4d00;
  --noir: #000000;
  --blanc: #ffffff;
  --gris: #c6c6c6;
  --gris-fonce: #777777;
  color: var(--body-color, #3b3b3b);
  background: var(--blanc);
  overflow-x: clip;
}

/* Accueil : fil d’Ariane puis 2 colonnes (une+rubriques | agenda+pocket) */
.tpl-pandea .container-home {
  display: flex;
  flex-direction: column;
  grid-column: main-start / main-end;
  width: 100%;
  max-width: none;
  padding-block: 1.75rem 1.5rem;
  overflow: visible;
}

.tpl-pandea .container-home__columns {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.5rem 2rem;
  align-items: start;
  overflow: visible;
}

.tpl-pandea .container-home__breadcrumbs {
  display: block;
  width: 100%;
  margin-block: 0 0.75rem;
  overflow: auto; /* clear floats du mod_breadcrumbs */
}

@media (min-width: 992px) {
  .tpl-pandea .container-home__columns {
    /* Drupal ~ 2/3 + 1/3 (sidebar ~34 %) */
    grid-template-columns: minmax(0, 2fr) minmax(18rem, 1fr);
  }
}

.tpl-pandea .container-home__main {
  min-width: 0;
}

.tpl-pandea .container-home__side {
  min-width: 0;
}

/* Emploi du temps sous les blocs rubriques (colonne gauche home) */
.tpl-pandea .container-home__main .home-schedule {
  margin-block-start: 1.75rem;
  width: 100%;
  min-width: 0;
}

.tpl-pandea .container-home__main .home-schedule .pan-schedule {
  margin-block: 0;
}

/* Grille resserrée dans la colonne (~2/3) */
.tpl-pandea .container-home__main .home-schedule .pan-schedule__grid {
  grid-template-columns: repeat(7, minmax(5.5rem, 1fr));
}

@media (max-width: 1199.98px) {
  .tpl-pandea .container-home__main .home-schedule .pan-schedule__grid {
    grid-template-columns: repeat(4, minmax(7rem, 1fr));
  }
}

@media (max-width: 991.98px) {
  .tpl-pandea .container-home__main .home-schedule .pan-schedule__grid {
    grid-template-columns: repeat(3, minmax(8rem, 1fr));
  }
}

@media (max-width: 575.98px) {
  .tpl-pandea .container-home__main .home-schedule .pan-schedule__grid {
    grid-template-columns: repeat(2, minmax(8rem, 1fr));
  }
}

@media (min-width: 992px) {
  /* Ruban agenda par-dessus le hero (hauteur 2rem) */
  .tpl-pandea .container-home__side {
    position: relative;
    z-index: 10;
    margin-top: -2rem;
  }

  /* Bandeau vert / orange jusqu’au bord droit, sans élargir le contenu */
  .tpl-pandea .pan-home-agenda .pan-agenda-title::after,
  .tpl-pandea .panneau_pocket .pan-pocket__title::after {
    content: "";
    position: absolute;
    top: -2rem;
    left: 100%;
    width: 50vw;
    height: 2rem;
    pointer-events: none;
  }

  .tpl-pandea .pan-home-agenda .pan-agenda-title::after {
    background-color: var(--vert-clair);
  }

  .tpl-pandea .panneau_pocket .pan-pocket__title::after {
    background-color: var(--jaune);
  }

  .tpl-pandea .panneau_pocket {
    overflow: visible;
  }
}

.tpl-pandea .container-home .home-une {
  margin-block: 0 1.25rem;
}

.tpl-pandea .container-home .pan-une {
  position: relative;
  width: 100%;
  max-width: 100%;
  margin: 0;
  background-color: #eee;
  z-index: 9;
}

.tpl-pandea .container-breadcrumbs {
  grid-area: unset !important;
  grid-column: main-start / main-end !important;
  width: 100%;
  max-width: none;
  padding-block: 0.35rem 0.75rem;
  overflow: auto;
}

.tpl-pandea a {
  color: var(--link-color, var(--bleu));
}

.tpl-pandea a:hover,
.tpl-pandea a:focus {
  color: var(--link-hover-color, var(--bleu-fonce));
}

.tpl-pandea h1,
.tpl-pandea h2,
.tpl-pandea h3,
.tpl-pandea h4 {
  color: var(--bleu-fonce);
  font-weight: 700;
}

/* ---------- Header identité + nav (une seule barre) ---------- */

.tpl-pandea .container-header {
  background-color: var(--blanc);
  background-image: none;
  color: var(--bleu-fonce);
  box-shadow: none;
  border-bottom: 1px solid color-mix(in srgb, var(--gris) 55%, transparent);
}

.tpl-pandea .container-header-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem 1.5rem;
  width: 100%;
  max-width: 1320px;
  margin-inline: auto;
  padding-block: 0.65rem;
}

.tpl-pandea .navbar-brand {
  margin: 0;
  padding: 0;
  max-width: min(70%, 28rem);
}

.tpl-pandea .brand-logo {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  color: var(--headercolor, var(--bleu-fonce));
}

.tpl-pandea .brand-logo .logo-thezan,
.tpl-pandea .brand-logo img.logo {
  display: block;
  width: auto;
  max-width: 100%;
  height: clamp(2.5rem, 6vw, 3.6rem);
  object-fit: contain;
}

.tpl-pandea .site-description {
  color: var(--gris-fonce);
  font-size: 0.875rem;
}

/* Nav tags (mod_pan_tags_nav) — fidèle à themes/pandea */
.container-header .pan-tags-nav {
  flex: 1 1 auto;
  width: 100%;
  position: relative;
  z-index: 30;
}

@media (min-width: 992px) {
  .container-header .container-nav {
    flex-wrap: nowrap;
    align-items: center;
  }

  .container-header .pan-tags-nav {
    width: auto;
  }
}

.tpl-pandea .container-header,
.tpl-pandea .container-header-inner,
.tpl-pandea .container-nav,
.tpl-pandea .pan-tags-nav {
  overflow: visible;
}

.tpl-pandea .pan-tags-nav .nav-item {
  line-height: 2rem;
  position: relative;
  list-style: none;
}

.tpl-pandea .pan-tags-nav .nav-link,
.tpl-pandea .pan-tags-nav a.nav-link {
  display: block;
  padding: 0.5rem 1rem;
  color: var(--bleu-fonce) !important;
  text-decoration: none !important;
  background-color: transparent;
  border: 0;
  border-radius: 0;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out;
}

.tpl-pandea .pan-tags-nav .nav-link:hover,
.tpl-pandea .pan-tags-nav .nav-link:focus,
.tpl-pandea .pan-tags-nav .nav-link.active,
.tpl-pandea .pan-tags-nav .nav-link.show,
.tpl-pandea .pan-tags-nav .dropdown-toggle.show,
.tpl-pandea .pan-tags-nav .nav-item.active > .nav-link,
.tpl-pandea .pan-tags-nav .nav-item.show > .nav-link,
.tpl-pandea .pan-tags-nav .nav-item.dropdown:hover > .nav-link {
  background-color: var(--bleu-fonce) !important;
  color: var(--blanc) !important;
}

.tpl-pandea .pan-tags-nav .dropdown-menu {
  display: none;
  margin: 0;
  padding: 0;
  list-style: none;
  border: 1px solid var(--gris);
  border-radius: 0 !important;
  background-color: var(--blanc);
  min-width: 14rem;
  box-shadow: none !important;
  --bs-dropdown-min-width: 14rem;
  --bs-dropdown-padding-y: 0;
  --bs-dropdown-padding-x: 0;
  --bs-dropdown-border-radius: 0;
  --bs-dropdown-border-color: var(--gris);
  --bs-dropdown-bg: var(--blanc);
  --bs-dropdown-link-color: #173746;
  --bs-dropdown-link-hover-color: var(--blanc);
  --bs-dropdown-link-hover-bg: var(--bleu);
  --bs-dropdown-link-active-color: var(--blanc);
  --bs-dropdown-link-active-bg: var(--bleu);
  --bs-dropdown-spacer: 0;
}

.tpl-pandea .pan-tags-nav .dropdown-menu .dropdown-item,
.tpl-pandea .pan-tags-nav .dropdown-menu a.dropdown-item {
  display: block;
  padding: 0.5rem 1rem;
  line-height: 2rem;
  color: #173746 !important;
  text-decoration: none !important;
  background-color: transparent !important;
  border: 0;
  border-radius: 0 !important;
  white-space: nowrap;
}

.tpl-pandea .pan-tags-nav .dropdown-menu .dropdown-item:hover,
.tpl-pandea .pan-tags-nav .dropdown-menu .dropdown-item:focus,
.tpl-pandea .pan-tags-nav .dropdown-menu .dropdown-item:active,
.tpl-pandea .pan-tags-nav .dropdown-menu .dropdown-item.active,
.tpl-pandea .pan-tags-nav .dropdown-menu li.active > .dropdown-item {
  background-color: var(--bleu) !important;
  color: var(--blanc) !important;
}

/* Thèmes rubriques (mêmes couleurs que .block-feat) */
.tpl-pandea .pan-theme--bleu {
  --pan-accent: var(--bleu);
}

.tpl-pandea .pan-theme--vert {
  --pan-accent: var(--vert);
}

.tpl-pandea .pan-theme--jaune {
  --pan-accent: var(--jaune);
}

.tpl-pandea .pan-tags-nav .nav-item.pan-theme--bleu > .nav-link:hover,
.tpl-pandea .pan-tags-nav .nav-item.pan-theme--bleu > .nav-link:focus,
.tpl-pandea .pan-tags-nav .nav-item.pan-theme--bleu > .nav-link.active,
.tpl-pandea .pan-tags-nav .nav-item.pan-theme--bleu > .nav-link.show,
.tpl-pandea .pan-tags-nav .nav-item.pan-theme--bleu.active > .nav-link,
.tpl-pandea .pan-tags-nav .nav-item.pan-theme--bleu.show > .nav-link,
.tpl-pandea .pan-tags-nav .nav-item.pan-theme--bleu.dropdown:hover > .nav-link,
.tpl-pandea .pan-tags-nav .nav-item.pan-theme--vert > .nav-link:hover,
.tpl-pandea .pan-tags-nav .nav-item.pan-theme--vert > .nav-link:focus,
.tpl-pandea .pan-tags-nav .nav-item.pan-theme--vert > .nav-link.active,
.tpl-pandea .pan-tags-nav .nav-item.pan-theme--vert > .nav-link.show,
.tpl-pandea .pan-tags-nav .nav-item.pan-theme--vert.active > .nav-link,
.tpl-pandea .pan-tags-nav .nav-item.pan-theme--vert.show > .nav-link,
.tpl-pandea .pan-tags-nav .nav-item.pan-theme--vert.dropdown:hover > .nav-link,
.tpl-pandea .pan-tags-nav .nav-item.pan-theme--jaune > .nav-link:hover,
.tpl-pandea .pan-tags-nav .nav-item.pan-theme--jaune > .nav-link:focus,
.tpl-pandea .pan-tags-nav .nav-item.pan-theme--jaune > .nav-link.active,
.tpl-pandea .pan-tags-nav .nav-item.pan-theme--jaune > .nav-link.show,
.tpl-pandea .pan-tags-nav .nav-item.pan-theme--jaune.active > .nav-link,
.tpl-pandea .pan-tags-nav .nav-item.pan-theme--jaune.show > .nav-link,
.tpl-pandea .pan-tags-nav .nav-item.pan-theme--jaune.dropdown:hover > .nav-link {
  background-color: var(--pan-accent) !important;
  color: var(--blanc) !important;
}

.tpl-pandea .pan-tags-nav .nav-item.pan-theme--bleu .dropdown-item:hover,
.tpl-pandea .pan-tags-nav .nav-item.pan-theme--bleu .dropdown-item:focus,
.tpl-pandea .pan-tags-nav .nav-item.pan-theme--bleu .dropdown-item:active,
.tpl-pandea .pan-tags-nav .nav-item.pan-theme--bleu .dropdown-item.active,
.tpl-pandea .pan-tags-nav .nav-item.pan-theme--bleu .dropdown-menu li.active > .dropdown-item,
.tpl-pandea .pan-tags-nav .nav-item.pan-theme--vert .dropdown-item:hover,
.tpl-pandea .pan-tags-nav .nav-item.pan-theme--vert .dropdown-item:focus,
.tpl-pandea .pan-tags-nav .nav-item.pan-theme--vert .dropdown-item:active,
.tpl-pandea .pan-tags-nav .nav-item.pan-theme--vert .dropdown-item.active,
.tpl-pandea .pan-tags-nav .nav-item.pan-theme--vert .dropdown-menu li.active > .dropdown-item,
.tpl-pandea .pan-tags-nav .nav-item.pan-theme--jaune .dropdown-item:hover,
.tpl-pandea .pan-tags-nav .nav-item.pan-theme--jaune .dropdown-item:focus,
.tpl-pandea .pan-tags-nav .nav-item.pan-theme--jaune .dropdown-item:active,
.tpl-pandea .pan-tags-nav .nav-item.pan-theme--jaune .dropdown-item.active,
.tpl-pandea .pan-tags-nav .nav-item.pan-theme--jaune .dropdown-menu li.active > .dropdown-item {
  background-color: var(--pan-accent) !important;
  color: var(--blanc) !important;
}

/* Masquer le caret Bootstrap (Drupal n’en a pas de visible) */
.tpl-pandea .pan-tags-nav .dropdown-toggle::after {
  display: none;
}

@media (max-width: 991.98px) {
  .tpl-pandea .container-header-inner {
    position: relative;
    padding-inline-end: 3.25rem;
  }

  .tpl-pandea .container-header .pan-tags-nav__toggler,
  .tpl-pandea .container-header .navbar-toggler.pan-tags-nav__toggler {
    position: absolute;
    top: 0.65rem;
    right: 0;
    z-index: 40;
    color: var(--bleu-fonce) !important;
    border: 1px solid var(--bleu-fonce) !important;
    background: transparent;
  }

  .tpl-pandea .pan-tags-nav {
    position: static;
  }

  .tpl-pandea .pan-tags-nav .dropdown-menu {
    position: static;
    border: 0;
    min-width: 0;
  }

  .tpl-pandea .pan-tags-nav .nav-item.show > .dropdown-menu,
  .tpl-pandea .pan-tags-nav .dropdown-menu.show {
    display: block;
  }

  .tpl-pandea .pan-tags-nav .dropdown-menu .dropdown-item {
    padding-left: 2rem;
  }
}

@media (min-width: 992px) {
  .tpl-pandea .pan-tags-nav .navbar-collapse {
    display: flex !important;
  }

  .tpl-pandea .pan-tags-nav__list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: stretch;
    padding: 0;
    margin: 0;
    list-style: none;
  }

  .tpl-pandea .pan-tags-nav .dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1050;
  }

  .tpl-pandea .pan-tags-nav .nav-item.dropdown:hover > .dropdown-menu,
  .tpl-pandea .pan-tags-nav .nav-item.dropdown:focus-within > .dropdown-menu,
  .tpl-pandea .pan-tags-nav .nav-item.dropdown.show > .dropdown-menu,
  .tpl-pandea .pan-tags-nav .dropdown-menu.show {
    display: block;
  }
}

/* Nav horizontale type pandea */
.tpl-pandea .container-nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 1rem;
  margin-left: auto;
}

.tpl-pandea .container-header .mod-menu,
.tpl-pandea .container-header .metismenu {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.tpl-pandea .container-header .metismenu > li > a,
.tpl-pandea .container-header .metismenu > li > button,
.tpl-pandea .container-header .mod-menu > li > a {
  display: block;
  padding: 0.5rem 1rem;
  color: var(--bleu-fonce);
  line-height: 2rem;
  text-decoration: none;
  border: 0;
  background: transparent;
  transition: color 0.15s ease, background-color 0.15s ease;
}

.tpl-pandea .container-header .metismenu > li > a:hover,
.tpl-pandea .container-header .metismenu > li > a:focus,
.tpl-pandea .container-header .metismenu > li > button:hover,
.tpl-pandea .container-header .metismenu > li > button:focus,
.tpl-pandea .container-header .metismenu > li.active > a,
.tpl-pandea .container-header .metismenu > li.active > button,
.tpl-pandea .container-header .mod-menu > li > a:hover,
.tpl-pandea .container-header .mod-menu > li > a:focus {
  background-color: var(--bleu-fonce);
  color: var(--blanc);
}

/* Soulignement Cassiopeia désactivé (hover = fond plein) */
.tpl-pandea .container-header .metismenu > li > a::after,
.tpl-pandea .container-header .metismenu > li > button::before {
  display: none;
}

.tpl-pandea .container-header .metismenu .mm-collapse,
.tpl-pandea .container-header .metismenu .mm-collapsing {
  border-radius: 0;
  border-color: var(--gris);
}

.tpl-pandea .container-header .metismenu .mm-collapse a,
.tpl-pandea .container-header .metismenu .mm-collapse button {
  color: var(--bleu-fonce);
}

.tpl-pandea .container-header .metismenu .mm-collapse a:hover,
.tpl-pandea .container-header .metismenu .mm-collapse button:hover {
  background-color: var(--bleu);
  color: var(--blanc);
}

/* Bloc recherche header — block-pandea-search */
.tpl-pandea .container-header .container-search {
  margin-top: 0;
  margin-inline-start: auto;
  flex: 0 0 auto;
}

.tpl-pandea .container-header .mod-finder {
  color: inherit;
}

.tpl-pandea .pan-search-form {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  width: auto;
  max-width: 17.8rem;
  margin: 0;
  padding: 5px 0 5px 15px;
}

.tpl-pandea .pan-search-form .form-type-search {
  flex: 1 1 auto;
  max-width: 60%;
  margin-bottom: 0 !important;
}

.tpl-pandea .pan-search-form .form-actions {
  flex: 0 1 auto;
  max-width: 40%;
  margin: 0;
}

.tpl-pandea .pan-search-form .form-control {
  width: 100%;
  padding: 6px 12px;
  font-size: 1rem;
  color: #212529;
  background: var(--blanc);
  border: 1px solid #ced4da;
  border-radius: 4px;
}

.tpl-pandea .pan-search-form .form-submit,
.tpl-pandea .container-search .form-submit {
  padding: 6px 12px;
  font-size: 1rem;
  white-space: nowrap;
  color: var(--gris-fonce);
  background-color: var(--blanc);
  border: 1px solid var(--gris);
  border-radius: 4px;
}

.tpl-pandea .pan-search-form .form-submit:hover,
.tpl-pandea .pan-search-form .form-submit:focus {
  color: #333;
  background-color: #f8f8f8;
  border-color: var(--gris-fonce);
}

.tpl-pandea .pan-search-form--page {
  max-width: none;
  padding: 0;
  margin-bottom: 1.5rem;
}

.tpl-pandea .pan-search-form--page fieldset {
  display: flex;
  flex-flow: row wrap;
  align-items: flex-end;
  gap: 0.5rem 0.75rem;
  margin: 0;
  padding: 0;
  border: 0;
}

.tpl-pandea .pan-search-form--page .form-type-search {
  flex: 1 1 12rem;
  max-width: 24rem;
}

.tpl-pandea .pan-search-form--page .form-type-search label {
  display: block;
  margin-bottom: 0.35rem;
  color: var(--bleu-fonce);
  font-weight: 600;
}

.tpl-pandea .pan-search-form--page .form-actions {
  max-width: none;
}

.tpl-pandea .pan-search-page .com-finder__empty h2 {
  font-size: 1.25rem;
  font-weight: 700;
  text-transform: none;
}

.tpl-pandea .pan-search-page .com-finder__empty p {
  display: none;
}

.tpl-pandea .pan-search-page .com-finder__explained {
  display: none;
}

.tpl-pandea .pan-item-list,
.tpl-pandea .pan-search-page .com-finder__results-list,
.tpl-pandea .blog-items,
.tpl-pandea .blog-featured .blog-items {
  display: grid;
  gap: 1.25rem;
  margin: 1.5rem 0 0;
  padding: 0;
  list-style: none;
}

.tpl-pandea .blog-item {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
}

.tpl-pandea .pan-item-card,
.tpl-pandea .pan-search-card {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.85rem 1.35rem;
  margin: 0;
  padding: 0.9rem;
  overflow: hidden;
  background: var(--blanc);
  border: 1px solid var(--gris);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.tpl-pandea .pan-item-card > * + *,
.tpl-pandea .pan-search-card > * + * {
  margin-top: 0;
}

.tpl-pandea .pan-item-card:hover,
.tpl-pandea .pan-item-card:focus-within,
.tpl-pandea .pan-search-card:hover,
.tpl-pandea .pan-search-card:focus-within {
  border-color: color-mix(in srgb, var(--bleu) 40%, var(--gris));
  box-shadow: 0 6px 18px rgba(22, 54, 69, 0.08);
}

.tpl-pandea .pan-item-card--has-image,
.tpl-pandea .pan-search-card--has-image {
  grid-template-columns: minmax(10rem, 14rem) 1fr;
  align-items: stretch;
}

.tpl-pandea .pan-item-card__media,
.tpl-pandea .pan-search-card__media {
  display: block;
  overflow: hidden;
  background: #f4f4f4;
  aspect-ratio: 4 / 3;
}

.tpl-pandea .pan-item-card__media--icon {
  display: flex;
  align-items: center;
  justify-content: center;
  background: color-mix(in srgb, var(--bleu) 12%, var(--blanc));
  color: var(--bleu);
  text-decoration: none;
}

.tpl-pandea .pan-item-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(4rem, 9vw, 6rem);
  line-height: 1;
}

.tpl-pandea .pan-item-card__icon .fa-solid,
.tpl-pandea .pan-item-card__icon [class^="fa-"] {
  font-size: inherit;
  line-height: 1;
}

.tpl-pandea .pan-item-list > .pan-item-card--has-icon:nth-child(3n + 2) .pan-item-card__media--icon,
.tpl-pandea .pan-item-card--nav-child:nth-child(3n + 2) .pan-item-card__media--icon {
  background: color-mix(in srgb, var(--vert) 14%, var(--blanc));
  color: var(--vert);
}

.tpl-pandea .pan-item-list > .pan-item-card--has-icon:nth-child(3n + 3) .pan-item-card__media--icon,
.tpl-pandea .pan-item-card--nav-child:nth-child(3n + 3) .pan-item-card__media--icon {
  background: color-mix(in srgb, var(--jaune) 16%, var(--blanc));
  color: var(--jaune);
}

/* Liste taguée d’une rubrique : une seule couleur (comme .block-feat) */
.tpl-pandea .pan-tag-list.pan-theme--bleu .pan-item-card__media--icon,
.tpl-pandea .pan-tag-list.pan-theme--vert .pan-item-card__media--icon,
.tpl-pandea .pan-tag-list.pan-theme--jaune .pan-item-card__media--icon,
.tpl-pandea .pan-tag-list.pan-theme--bleu .pan-item-list > .pan-item-card--has-icon:nth-child(n) .pan-item-card__media--icon,
.tpl-pandea .pan-tag-list.pan-theme--vert .pan-item-list > .pan-item-card--has-icon:nth-child(n) .pan-item-card__media--icon,
.tpl-pandea .pan-tag-list.pan-theme--jaune .pan-item-list > .pan-item-card--has-icon:nth-child(n) .pan-item-card__media--icon,
.tpl-pandea .pan-tag-list.pan-theme--bleu .pan-item-card--nav-child:nth-child(n) .pan-item-card__media--icon,
.tpl-pandea .pan-tag-list.pan-theme--vert .pan-item-card--nav-child:nth-child(n) .pan-item-card__media--icon,
.tpl-pandea .pan-tag-list.pan-theme--jaune .pan-item-card--nav-child:nth-child(n) .pan-item-card__media--icon {
  background: color-mix(in srgb, var(--pan-accent) 14%, var(--blanc));
  color: var(--pan-accent);
}

.tpl-pandea .pan-tag-list.pan-theme--bleu .pan-item-card:hover,
.tpl-pandea .pan-tag-list.pan-theme--bleu .pan-item-card:focus-within,
.tpl-pandea .pan-tag-list.pan-theme--vert .pan-item-card:hover,
.tpl-pandea .pan-tag-list.pan-theme--vert .pan-item-card:focus-within,
.tpl-pandea .pan-tag-list.pan-theme--jaune .pan-item-card:hover,
.tpl-pandea .pan-tag-list.pan-theme--jaune .pan-item-card:focus-within {
  border-color: color-mix(in srgb, var(--pan-accent) 40%, var(--gris));
}

.tpl-pandea .pan-tag-list.pan-theme--bleu .pan-item-card__title a:hover,
.tpl-pandea .pan-tag-list.pan-theme--bleu .pan-item-card__title a:focus,
.tpl-pandea .pan-tag-list.pan-theme--vert .pan-item-card__title a:hover,
.tpl-pandea .pan-tag-list.pan-theme--vert .pan-item-card__title a:focus,
.tpl-pandea .pan-tag-list.pan-theme--jaune .pan-item-card__title a:hover,
.tpl-pandea .pan-tag-list.pan-theme--jaune .pan-item-card__title a:focus {
  color: var(--pan-accent);
}

.tpl-pandea .pan-tag-list.pan-theme--bleu .pan-item-card__more,
.tpl-pandea .pan-tag-list.pan-theme--vert .pan-item-card__more,
.tpl-pandea .pan-tag-list.pan-theme--jaune .pan-item-card__more {
  color: var(--pan-accent);
}

.tpl-pandea .pan-tag-list.pan-theme--bleu .pan-item-card__more:hover,
.tpl-pandea .pan-tag-list.pan-theme--bleu .pan-item-card__more:focus,
.tpl-pandea .pan-tag-list.pan-theme--vert .pan-item-card__more:hover,
.tpl-pandea .pan-tag-list.pan-theme--vert .pan-item-card__more:focus,
.tpl-pandea .pan-tag-list.pan-theme--jaune .pan-item-card__more:hover,
.tpl-pandea .pan-tag-list.pan-theme--jaune .pan-item-card__more:focus {
  color: var(--pan-accent);
}

.tpl-pandea .pan-item-card__img,
.tpl-pandea .pan-item-card__media img,
.tpl-pandea .pan-search-card__img,
.tpl-pandea .pan-search-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
  transition: transform 0.35s ease;
}

.tpl-pandea .pan-item-card:hover .pan-item-card__img,
.tpl-pandea .pan-item-card:hover .pan-item-card__media img,
.tpl-pandea .pan-search-card:hover .pan-search-card__img,
.tpl-pandea .pan-search-card:hover .pan-search-card__media img {
  transform: scale(1.04);
}

.tpl-pandea .pan-item-card__body,
.tpl-pandea .pan-search-card__body {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.tpl-pandea .pan-item-card__date,
.tpl-pandea .pan-search-card__date {
  color: var(--gris-fonce);
  font-size: 0.875rem;
}

.tpl-pandea .pan-item-card__title,
.tpl-pandea .pan-search-card__title {
  margin: 0;
  font-size: 1.25rem;
  line-height: 1.25;
  text-transform: none;
}

.tpl-pandea .pan-item-card__title a,
.tpl-pandea .pan-search-card__title a {
  color: var(--bleu-fonce);
  text-decoration: none;
}

.tpl-pandea .pan-item-card__title a:hover,
.tpl-pandea .pan-item-card__title a:focus,
.tpl-pandea .pan-search-card__title a:hover,
.tpl-pandea .pan-search-card__title a:focus {
  color: var(--bleu);
  text-decoration: underline;
}

.tpl-pandea .pan-item-card__excerpt,
.tpl-pandea .pan-search-card__excerpt {
  margin: 0.15rem 0 0;
  color: #3b3b3b;
  line-height: 1.45;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}

.tpl-pandea .pan-item-card__more,
.tpl-pandea .pan-search-card__more {
  margin-top: auto;
  padding-top: 0.45rem;
  color: var(--orange);
  font-weight: 700;
  text-decoration: none;
}

.tpl-pandea .pan-item-card__more:hover,
.tpl-pandea .pan-item-card__more:focus,
.tpl-pandea .pan-search-card__more:hover,
.tpl-pandea .pan-search-card__more:focus {
  color: var(--bleu-fonce);
  text-decoration: underline;
}

.tpl-pandea .pan-tag-list .pan-search-form--page,
.tpl-pandea .pan-events-list .pan-search-form--page {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  gap: 0.5rem 0.75rem;
  max-width: none;
  margin: 0 0 0.5rem;
  padding: 0;
}

.tpl-pandea .pan-events-list .pan-item-list__filter {
  margin-top: 1rem;
}

.tpl-pandea .pan-tag-list .pan-list-filter__field,
.tpl-pandea .pan-events-list .pan-list-filter__field {
  position: relative;
  flex: 1 1 12rem;
  max-width: 24rem;
}

.tpl-pandea .pan-tag-list .pan-search-form--page .form-control,
.tpl-pandea .pan-tag-list .pan-list-filter__field .form-control,
.tpl-pandea .pan-events-list .pan-search-form--page .form-control,
.tpl-pandea .pan-events-list .pan-list-filter__field .form-control {
  width: 100%;
  max-width: none;
  padding-right: 2.5rem;
}

.tpl-pandea .pan-list-filter__clear {
  position: absolute;
  top: 50%;
  right: 0.35rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  padding: 0;
  margin: 0;
  color: var(--gris-fonce);
  background: transparent;
  border: 0;
  border-radius: 4px;
  transform: translateY(-50%);
  cursor: pointer;
}

.tpl-pandea .pan-list-filter__clear:hover,
.tpl-pandea .pan-list-filter__clear:focus {
  color: var(--bleu-fonce);
  background: color-mix(in srgb, var(--bleu) 10%, transparent);
  outline: 0;
}

.tpl-pandea .pan-list-filter__field .form-control::-webkit-search-decoration,
.tpl-pandea .pan-list-filter__field .form-control::-webkit-search-cancel-button,
.tpl-pandea .pan-list-filter__field .form-control::-webkit-search-results-button,
.tpl-pandea .pan-list-filter__field .form-control::-webkit-search-results-decoration {
  -webkit-appearance: none;
  appearance: none;
}

.tpl-pandea .pan-list-filter__clear .fa-solid {
  font-size: 1rem;
  line-height: 1;
}

.tpl-pandea .pan-tag-list .btn-link {
  color: var(--bleu);
  text-decoration: none;
}

.tpl-pandea .com-tags-tag h1,
.tpl-pandea .com-tags-tag-list h1,
.tpl-pandea .com-pan-events h1 {
  color: var(--bleu-fonce);
}

.tpl-pandea .pan-search-page mark,
.tpl-pandea .pan-search-page .highlight {
  padding: 0 0.1em;
  background: #ffe08a;
  color: inherit;
}

.tpl-pandea .pan-search-page .com-finder__counter {
  margin-top: 1rem;
  color: var(--gris-fonce);
  font-size: 0.875rem;
}

@media (min-width: 36em) {
  .tpl-pandea .pan-item-list,
  .tpl-pandea .pan-search-page .com-finder__results-list,
  .tpl-pandea .blog-items,
  .tpl-pandea .blog-featured .blog-items {
    grid-template-columns: 1fr 1fr;
    gap: 1.25rem;
  }

  .tpl-pandea .pan-item-list > .pan-item-card--has-image,
  .tpl-pandea .pan-item-list > .pan-search-card--has-image,
  .tpl-pandea .pan-search-page .com-finder__results-list > .pan-item-card--has-image,
  .tpl-pandea .pan-search-page .com-finder__results-list > .pan-search-card--has-image {
    grid-template-columns: 1fr;
  }

  .tpl-pandea .pan-item-list .pan-item-card__media,
  .tpl-pandea .pan-item-list .pan-search-card__media,
  .tpl-pandea .pan-search-page .com-finder__results-list .pan-item-card__media,
  .tpl-pandea .pan-search-page .com-finder__results-list .pan-search-card__media {
    aspect-ratio: 16 / 10;
  }
}

@media (max-width: 37.5em) {
  .tpl-pandea .pan-item-card--has-image,
  .tpl-pandea .pan-search-card--has-image {
    grid-template-columns: 1fr;
  }

  .tpl-pandea .pan-item-card__media,
  .tpl-pandea .pan-search-card__media {
    aspect-ratio: 16 / 9;
  }
}

@media screen and (max-width: 1200px) {
  .tpl-pandea .container-header .pan-search-form .form-type-search,
  .tpl-pandea .container-header .pan-search-form .form-actions {
    padding-left: 0;
    max-width: 140px;
  }
}

/* ---------- Hero / banner (plein largeur, titre type slideshow) ---------- */

.tpl-pandea .container-banner {
  position: relative;
  margin: 0;
  padding: 0;
  overflow: visible;
}

.tpl-pandea .pan-hero {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.tpl-pandea .pan-hero__media,
.tpl-pandea .container-banner img,
.tpl-pandea .pan-hero__image {
  display: block;
  width: 100%;
  height: auto;
  max-height: min(70vh, 43.75rem);
  object-fit: cover;
}

.tpl-pandea .pan-hero__title,
.tpl-pandea .container-banner .banner-title,
.tpl-pandea .container-banner .hero-title {
  position: absolute;
  top: 50%;
  left: 0;
  z-index: 1;
  width: 100%;
  margin: -7.5rem 0 0;
  padding: 0 1rem;
  text-align: center;
  pointer-events: none;
}

.tpl-pandea .pan-hero__title a,
.tpl-pandea .pan-hero__title span,
.tpl-pandea .container-banner .hero-title a,
.tpl-pandea .container-banner .hero-title span {
  display: inline-block;
  color: var(--blanc);
  font-size: clamp(3rem, 8vw, 8rem);
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
  text-shadow: 0 2px 16px rgb(0 0 0 / 35%);
  pointer-events: auto;
}

@media (max-width: 1200px) {
  .tpl-pandea .pan-hero__title {
    margin-top: -4rem;
  }

  .tpl-pandea .pan-hero__title a,
  .tpl-pandea .pan-hero__title span {
    font-size: clamp(2.5rem, 7vw, 5rem);
    letter-spacing: -0.03em;
  }
}

@media (max-width: 600px) {
  .tpl-pandea .pan-hero__title {
    margin-top: -1.5rem;
  }

  .tpl-pandea .pan-hero__title a,
  .tpl-pandea .pan-hero__title span {
    font-size: 3rem;
    letter-spacing: -0.02em;
  }
}

/* ---------- Titres de blocs (ruban coloré) ---------- */

.tpl-pandea .pan-block-title,
.tpl-pandea .moduletable > h2,
.tpl-pandea .card-header {
  position: relative;
  margin: 0 0 0.5rem;
  /* Comme Drupal : flèche + texte en retrait (padding), pas collés au bord du ruban */
  padding: 0 0 0 1rem;
  border-top: 2rem solid var(--blanc);
  border-bottom: 0;
  border-left: 0;
  border-right: 0;
  color: var(--bleu-fonce);
  font-weight: 700;
  text-transform: uppercase;
  background: transparent;
  width: 100%;
  box-sizing: border-box;
}

.tpl-pandea .pan-block-title::before,
.tpl-pandea .moduletable > h2::before,
.tpl-pandea .card-header.pan-title--agenda::before,
.tpl-pandea .card-header.pan-title--une::before,
.tpl-pandea .card-header.pan-title--pocket::before {
  content: "";
  display: inline-block;
  position: relative;
  top: -4px;
  width: 38px;
  height: 28px;
  vertical-align: baseline;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  pointer-events: none;
}

.tpl-pandea .card-header.pan-block-title,
.tpl-pandea .card-header.pan-title--agenda,
.tpl-pandea .card-header.pan-title--une,
.tpl-pandea .card-header.pan-title--pocket {
  /* Annule le chrome Bootstrap .card-header */
  background-color: transparent;
  border-bottom: 0;
}

/* À la une : triangle rouge + libellé + titre sur la même ligne */
.tpl-pandea .pan-title--une {
  border-top: 0;
  margin-bottom: 0;
  padding: 0.75rem 1rem 0.5rem;
  background-color: #fff;
  align-items: baseline;
}

.tpl-pandea .pan-title--une::before {
  content: "";
  position: relative;
  top: 0.15em;
  display: block;
  flex: 0 0 auto;
  width: 2.5rem;
  height: 1.6rem;
  margin: 0;
  background-image: url("../images/pandea/ruban-rouge.png");
  background-size: 100% 100%;
  background-repeat: no-repeat;
  pointer-events: none;
}

.tpl-pandea .pan-title--agenda {
  border-top-color: var(--vert-clair);
  padding-left: 0.5rem;
}

.tpl-pandea .pan-title--agenda::before {
  background-image: url("../images/pandea/ruban-vert-clair.png");
}

.tpl-pandea .pan-title--pocket {
  border-top-color: var(--jaune);
  padding-left: 0.5rem;
}

.tpl-pandea .pan-title--pocket::before {
  background-image: url("../images/pandea/ruban-jaune-xl.png");
}

/* ---------- Boutons ---------- */

.tpl-pandea .btn,
.tpl-pandea .btn-primary,
.tpl-pandea .pan-une__cta {
  border-radius: 0.25rem;
}

.tpl-pandea .btn-primary,
.tpl-pandea a.btn-primary {
  --btn-bg: var(--bleu);
  --btn-hover-bg: var(--bleu-fonce);
  --btn-border-color: var(--bleu);
  --btn-hover-border-color: var(--bleu-fonce);
  --btn-color: var(--blanc);
  --btn-hover-color: var(--blanc);
  background-color: var(--bleu);
  color: var(--blanc);
}

.tpl-pandea .btn-primary:hover,
.tpl-pandea .btn-primary:focus,
.tpl-pandea a.btn-primary:hover,
.tpl-pandea a.btn-primary:focus {
  background-color: var(--bleu-fonce);
  color: var(--blanc);
}

/* ---------- Footer ---------- */

.tpl-pandea .container-footer.footer {
  color: var(--footercolor, var(--blanc));
  background-color: var(--bleu-fonce);
  background-image: none;
  margin-top: 2rem;
  padding-block: 0;
}

.tpl-pandea .container-footer a {
  color: var(--footercolor, var(--blanc));
  text-decoration: none;
}

.tpl-pandea .container-footer a:hover,
.tpl-pandea .container-footer a:focus {
  color: var(--vert-clair);
  text-decoration: underline;
}

/* Grille footer : container centré (comme Drupal .container), fond perdu teal autour */
.tpl-pandea .container-footer > .grid-child {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: stretch;
  justify-content: stretch;
  gap: 0;
  width: 100%;
  max-width: 1320px;
  margin-left: auto;
  margin-right: auto;
  padding: 0;
}

@media (min-width: 576px) {
  .tpl-pandea .container-footer > .grid-child {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
}

@media (min-width: 1200px) {
  .tpl-pandea .container-footer > .grid-child {
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
  }
}

/* Carte footer (mod_pan_map) — image Drupal */
.tpl-pandea .container-footer .pan-map,
.tpl-pandea .container-footer .footer_map {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  width: 100%;
  height: 100%;
  min-height: 100%;
  margin: 0;
  background-color: var(--bleu-fonce);
}

.tpl-pandea .container-footer .pan-map__image,
.tpl-pandea .container-footer .footer_map p {
  position: relative;
  margin: 0;
  text-align: center;
  color: var(--blanc);
  padding-left: 0;
  width: auto;
  max-width: none;
}

.tpl-pandea .container-footer .pan-map__image img,
.tpl-pandea .container-footer .footer_map img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
}

@media (max-width: 600px) {
  .tpl-pandea .container-footer .pan-map__image img,
  .tpl-pandea .container-footer .footer_map img {
    padding-bottom: 0;
  }
}

.tpl-pandea .container-footer .pan-map__legal {
  margin: 0;
  padding: 0.35rem 0.75rem 0.85rem;
  text-align: center;
  font-size: 0.95rem;
  color: var(--blanc);
}

.tpl-pandea .container-footer .pan-map__legal a,
.tpl-pandea .container-footer .pan-map__legal a:hover,
.tpl-pandea .container-footer .pan-map__legal a:focus {
  color: var(--blanc);
  text-decoration: none;
}

.tpl-pandea .container-footer .pan-map__canvas {
  width: 100%;
  max-width: 100%;
  border: 0;
}

.tpl-pandea .container-footer .pan-map__info a {
  color: var(--bleu-fonce, #1c3745);
  text-decoration: underline;
}

/* Secrétariat de mairie (mod_pan_secretariat) */
.tpl-pandea .footer_secretariat,
.tpl-pandea .pan-secretariat {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  height: 100%;
  min-height: 100%;
  margin: 0;
  background-color: var(--blanc);
  color: var(--noir);
}

.tpl-pandea .footer_secretariat .content,
.tpl-pandea .pan-secretariat__content {
  flex: 1 1 auto;
  color: var(--noir);
}

.tpl-pandea .footer_secretariat h2,
.tpl-pandea .pan-secretariat__title {
  position: relative;
  margin: 0;
  padding: 2rem 1rem 1rem;
  font-size: 1.5rem;
  font-weight: 700;
  text-align: center;
  text-transform: uppercase;
  color: var(--noir);
}

.tpl-pandea .footer_secretariat h2::before,
.tpl-pandea .pan-secretariat__title::before {
  position: absolute;
  left: 1rem;
  top: 0;
  width: 2.5rem;
  height: 1.6rem;
  content: "";
  background-image: url("../images/pandea/ruban-jaune.png");
  background-size: 100% 100%;
  background-repeat: no-repeat;
}

.tpl-pandea .footer_secretariat div,
.tpl-pandea .pan-secretariat__content > div {
  position: relative;
}

.tpl-pandea .footer_secretariat .icon::before,
.tpl-pandea .pan-secretariat .icon::before {
  position: absolute;
  left: 2rem;
  display: block;
  content: "";
  background-repeat: no-repeat;
  background-size: 1.4rem 1.4rem;
  background-position: 0 0.4rem;
  width: 2.5rem;
  height: 2.2rem;
}

.tpl-pandea .footer_secretariat .icon.contact::before,
.tpl-pandea .pan-secretariat .icon.contact::before {
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-people" viewBox="0 0 16 16"><path d="M15 14s1 0 1-1-1-4-5-4-5 3-5 4 1 1 1 1h8Zm-7.978-1A.261.261 0 0 1 7 12.996c.001-.264.167-1.03.76-1.72C8.312 10.629 9.282 10 11 10c1.717 0 2.687.63 3.24 1.276.593.69.758 1.457.76 1.72l-.008.002a.274.274 0 0 1-.014.002H7.022ZM11 7a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm3-2a3 3 0 1 1-6 0 3 3 0 0 1 6 0ZM6.936 9.28a5.88 5.88 0 0 0-1.23-.247A7.35 7.35 0 0 0 5 9c-4 0-5 3-5 4 0 .667.333 1 1 1h4.216A2.238 2.238 0 0 1 5 13c0-1.01.377-2.042 1.09-2.904.243-.294.526-.569.846-.816ZM4.92 10A5.493 5.493 0 0 0 4 13H1c0-.26.164-1.03.76-1.724.545-.636 1.492-1.256 3.16-1.275ZM1.5 5.5a3 3 0 1 1 6 0 3 3 0 0 1-6 0Zm3-2a2 2 0 1 0 0 4 2 2 0 0 0 0-4Z"/></svg>');
}

.tpl-pandea .footer_secretariat .icon.tel::before,
.tpl-pandea .pan-secretariat .icon.tel::before {
  background-position: 0 0;
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-telephone" viewBox="0 0 16 16"><path d="M3.654 1.328a.678.678 0 0 0-1.015-.063L1.605 2.3c-.483.484-.661 1.169-.45 1.77a17.568 17.568 0 0 0 4.168 6.608 17.569 17.569 0 0 0 6.608 4.168c.601.211 1.286.033 1.77-.45l1.034-1.034a.678.678 0 0 0-.063-1.015l-2.307-1.794a.678.678 0 0 0-.58-.122l-2.19.547a1.745 1.745 0 0 1-1.657-.459L5.482 8.062a1.745 1.745 0 0 1-.46-1.657l.548-2.19a.678.678 0 0 0-.122-.58L3.654 1.328zM1.884.511a1.745 1.745 0 0 1 2.612.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511z"/></svg>');
}

.tpl-pandea .footer_secretariat .icon.mail::before,
.tpl-pandea .pan-secretariat .icon.mail::before {
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-envelope" viewBox="0 0 16 16"><path d="M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4Zm2-1a1 1 0 0 0-1 1v.217l7 4.2 7-4.2V4a1 1 0 0 0-1-1H2Zm13 2.383-4.708 2.825L15 11.105V5.383Zm-.034 6.876-5.64-3.471L8 9.583l-1.326-.795-5.64 3.47A1 1 0 0 0 2 13h12a1 1 0 0 0 .966-.741ZM1 11.105l4.708-2.897L1 5.383v5.722Z"/></svg>');
}

.tpl-pandea .footer_secretariat .icon.adresse::before,
.tpl-pandea .pan-secretariat .icon.adresse::before {
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-geo-alt" viewBox="0 0 16 16"><path d="M12.166 8.94c-.524 1.062-1.234 2.12-1.96 3.07A31.493 31.493 0 0 1 8 14.58a31.481 31.481 0 0 1-2.206-2.57c-.726-.95-1.436-2.008-1.96-3.07C3.304 7.867 3 6.862 3 6a5 5 0 0 1 10 0c0 .862-.305 1.867-.834 2.94zM8 16s6-5.686 6-10A6 6 0 0 0 2 6c0 4.314 6 10 6 10z"/><path d="M8 8a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm0 1a3 3 0 1 0 0-6 3 3 0 0 0 0 6z"/></svg>');
}

.tpl-pandea .footer_secretariat p,
.tpl-pandea .pan-secretariat__content p {
  color: var(--noir);
  padding-left: 4rem;
  margin: 0 0 0.75rem;
  width: fit-content;
  max-width: calc(100% - 2rem);
}

.tpl-pandea .footer_secretariat .content a,
.tpl-pandea .pan-secretariat__content a {
  color: var(--noir);
  text-decoration: none;
}

.tpl-pandea .footer_secretariat .content a:hover,
.tpl-pandea .footer_secretariat .content a:focus,
.tpl-pandea .pan-secretariat__content a:hover,
.tpl-pandea .pan-secretariat__content a:focus {
  color: var(--bleu-fonce);
  text-decoration: underline;
}

.tpl-pandea .footer_secretariat a.btn,
.tpl-pandea .pan-secretariat a.btn {
  color: var(--blanc);
  text-decoration: none;
}

.tpl-pandea .footer_secretariat a.btn:hover,
.tpl-pandea .footer_secretariat a.btn:focus,
.tpl-pandea .pan-secretariat a.btn:hover,
.tpl-pandea .pan-secretariat a.btn:focus {
  color: var(--blanc);
  text-decoration: none;
}

.tpl-pandea .pan-secretariat__plan {
  padding-left: 4rem;
  padding-bottom: 1.5rem;
}

/* ---------- À la une (mod_pan_une) — colonne gauche home ---------- */

.tpl-pandea .container-top-a {
  width: 100%;
  max-width: min(1320px, 100%);
  margin-inline: auto;
  padding-inline: clamp(0.75rem, 2vw, 1.5rem);
  margin-block: 0 1.5rem;
}

.tpl-pandea .pan-une {
  position: relative;
  width: 100%;
  max-width: 100%;
  margin: 0;
  background-color: #eee;
  z-index: 9;
}

.tpl-pandea .pan-une__header {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.35rem 0.85rem;
  margin: 0;
  background-color: #fff;
}

.tpl-pandea .pan-une__label {
  flex: 0 0 auto;
  color: var(--bleu-fonce);
  font-size: 1.25rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

.tpl-pandea .pan-une__title {
  flex: 1 1 12rem;
  margin: 0;
  min-width: 0;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0;
  text-transform: none;
}

.tpl-pandea .pan-une__title a,
.tpl-pandea .pan-une__title .pan-une__title-btn {
  color: var(--rouge);
  text-decoration: none;
}

.tpl-pandea .pan-une__title a:hover,
.tpl-pandea .pan-une__title a:focus,
.tpl-pandea .pan-une__title .pan-une__title-btn:hover,
.tpl-pandea .pan-une__title .pan-une__title-btn:focus {
  color: var(--bleu-fonce);
  text-decoration: underline;
}

.tpl-pandea .pan-une__body {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 1rem 1.5rem;
  padding: 0.35rem 2.5rem 1.35rem 1.5rem;
  background-color: #fff;
}

.tpl-pandea .pan-une__main {
  flex: 1 1 55%;
  min-width: 0;
  padding-left: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 0.75rem;
}

.tpl-pandea .pan-une__intro {
  text-align: justify;
  color: var(--body-color, #3b3b3b);
  font-size: 1rem;
  line-height: 1.55;
}

.tpl-pandea .pan-une__intro p:last-child {
  margin-bottom: 0;
}

.tpl-pandea .pan-une__intro ul,
.tpl-pandea .pan-une__intro .fields-container {
  display: none;
}

.tpl-pandea .pan-une__readmore {
  margin: 0;
  text-align: left;
}

.tpl-pandea .pan-une__cta {
  display: inline-flex;
  align-items: center;
  min-height: 2.4rem;
  padding: 0.4rem 1.1rem;
  border: 0;
  border-radius: 0.25rem;
  background-color: var(--bleu);
  color: var(--blanc) !important;
  font-size: 0.95rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  text-decoration: none;
  cursor: pointer;
}

.tpl-pandea .pan-une__cta:hover,
.tpl-pandea .pan-une__cta:focus {
  background-color: var(--bleu-fonce);
  color: var(--blanc) !important;
  text-decoration: none;
}

.tpl-pandea button.pan-une__cta {
  font-family: inherit;
}

/* Image à gauche */
.tpl-pandea .pan-une__media {
  flex: 0 1 37%;
  min-width: 10rem;
  padding: 0;
  order: 0;
}

.tpl-pandea .pan-une__image {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
}

.tpl-pandea .pan-une:not(.pan-une--has-media) .pan-une__body {
  padding-left: 1.5rem;
}

.tpl-pandea .pan-une:not(.pan-une--has-media) .pan-une__main {
  flex: 1 1 100%;
}

.tpl-pandea .pan-une__pdf-btn {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  line-height: 0;
  text-align: left;
}

.tpl-pandea .pan-une__pdf-btn:focus-visible {
  outline: 2px solid var(--rouge);
  outline-offset: 3px;
}

.tpl-pandea .pan-une__pdf-badge {
  position: absolute;
  right: 0.45rem;
  bottom: 0.45rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 0;
  background: rgb(255 255 255 / 94%);
  color: var(--rouge);
  font-size: 1.45rem;
  line-height: 1;
  box-shadow: 0 1px 4px rgb(0 0 0 / 25%);
  pointer-events: none;
}

.tpl-pandea .pan-une__title-btn {
  display: inline;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

/* PDF : vignette plus étroite */
.tpl-pandea .pan-une--pdf .pan-une__media--pdf {
  flex: 0 0 auto;
  width: 8.75rem;
  min-width: 0;
}

.tpl-pandea .pan-une--pdf .pan-une__image {
  border: 1px solid rgb(0 0 0 / 12%);
}

.tpl-pandea .pan-une--pdf-only .pan-une__main {
  flex: 0 0 auto;
  align-self: stretch;
}

@media (max-width: 991.98px) {
  .tpl-pandea .pan-une {
    max-width: 100%;
  }

  .tpl-pandea .pan-une__body {
    flex-direction: column;
    padding-right: 1.5rem;
  }

  .tpl-pandea .pan-une__main,
  .tpl-pandea .pan-une__media {
    flex: 1 1 100%;
  }

  .tpl-pandea .pan-une--pdf .pan-une__body {
    flex-direction: row;
    flex-wrap: wrap;
  }

  .tpl-pandea .pan-une--pdf .pan-une__media--pdf {
    flex: 0 0 auto;
    width: 7.5rem;
  }

  .tpl-pandea .pan-une--pdf .pan-une__main {
    flex: 1 1 10rem;
  }
}

@media (max-width: 575.98px) {
  .tpl-pandea .pan-une {
    background-color: transparent;
  }

  .tpl-pandea .pan-une__header {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
  }

  .tpl-pandea .pan-une__title {
    font-size: 1.25rem;
  }
}

/* Rubriques (main-top) : colonne gauche, à côté de l'agenda */
.tpl-pandea .container-component .block-feat-container {
  padding-block: 0 0.5rem;
}

.tpl-pandea .container-component .block-feat:first-of-type {
  margin-left: 0.75rem;
}

/* ---------- Blocs rubriques .block-feat (mod_pan_rubriques) ---------- */

.tpl-pandea .block-feat-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0;
  background-color: transparent;
  padding-block: 1rem 0.5rem;
}

.tpl-pandea .block-feat {
  position: relative;
  display: inline-block;
  vertical-align: top;
  width: 30%;
  margin-left: 1%;
  margin-bottom: 1.5rem;
  text-align: center;
}

.tpl-pandea .block-feat:first-of-type {
  margin-left: 2rem;
}

.tpl-pandea .block-feat:last-of-type {
  margin-left: 0;
}

.tpl-pandea .block-feat a {
  text-decoration: none;
}

.tpl-pandea .block-feat__media {
  position: relative;
  display: block;
  width: 80%;
  max-width: 80%;
  margin: 0 auto;
}

.tpl-pandea .block-feat__media img {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  height: auto;
  object-fit: cover;
  object-position: center;
  box-shadow:
    -2px 2px 5px #000,
    -15px 15px 0 3px var(--vert);
  transform: scale(1);
  transform-origin: center center;
  transition: transform 0.45s ease;
  will-change: transform;
}

/* Alignée sur le bord gauche de l’image (= contenu) ; la bordure reste en -15px */
.tpl-pandea .block-feat__media::after {
  content: "";
  position: absolute;
  z-index: 2;
  left: 0;
  top: calc(100% + 15px);
  width: 42px;
  height: 25px;
  background-image: url("../images/pandea/ruban-vert.png");
  background-size: 100% 100%;
  background-repeat: no-repeat;
  pointer-events: none;
}

.tpl-pandea .block-feat h3 {
  position: relative;
  max-width: 100%;
  margin: 0;
  margin-left: -0.5rem;
  padding-top: 2.5rem;
  overflow: hidden;
  color: var(--vert);
  font-weight: 700;
  text-align: center;
  text-transform: uppercase;
}

.tpl-pandea .block-feat h3::before {
  content: none;
}

/* Bandeau de lumière vertical qui traverse le titre une fois (G → D) */
.tpl-pandea .block-feat h3::after {
  content: "";
  position: absolute;
  z-index: 1;
  top: 2.5rem;
  bottom: 0;
  left: 0;
  width: 45%;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(255, 255, 255, 0) 20%,
    rgba(255, 255, 255, 0.7) 50%,
    rgba(255, 255, 255, 0) 80%,
    transparent 100%
  );
  transform: translateX(-130%);
  pointer-events: none;
  mix-blend-mode: soft-light;
}

.tpl-pandea .block-feat a:hover .block-feat__media img,
.tpl-pandea .block-feat.is-active .block-feat__media img,
.tpl-pandea .block-feat a:focus-visible .block-feat__media img {
  transform: scale(1.08);
}

.tpl-pandea .block-feat a:hover h3::after,
.tpl-pandea .block-feat.is-active h3::after,
.tpl-pandea .block-feat a:focus-visible h3::after {
  animation: pan-block-feat-shine 0.75s ease-out 1 forwards;
}

@keyframes pan-block-feat-shine {
  from {
    transform: translateX(-130%);
  }

  to {
    transform: translateX(280%);
  }
}

@media (prefers-reduced-motion: reduce) {
  .tpl-pandea .block-feat__media img {
    transition: none;
  }

  .tpl-pandea .block-feat a:hover .block-feat__media img,
  .tpl-pandea .block-feat.is-active .block-feat__media img,
  .tpl-pandea .block-feat a:focus-visible .block-feat__media img {
    transform: none;
  }

  .tpl-pandea .block-feat a:hover h3::after,
  .tpl-pandea .block-feat.is-active h3::after,
  .tpl-pandea .block-feat a:focus-visible h3::after {
    animation: none;
  }
}

.tpl-pandea .block-feat--bleu .block-feat__media img {
  box-shadow:
    -2px 2px 5px #000,
    -15px 15px 0 3px var(--bleu);
}

.tpl-pandea .block-feat--bleu h3 {
  color: var(--bleu);
}

.tpl-pandea .block-feat--bleu .block-feat__media::after {
  background-image: url("../images/pandea/ruban-bleu.png");
}

.tpl-pandea .block-feat--vert .block-feat__media img {
  box-shadow:
    -2px 2px 5px #000,
    -15px 15px 0 3px var(--vert);
}

.tpl-pandea .block-feat--vert h3 {
  color: var(--vert);
}

.tpl-pandea .block-feat--vert .block-feat__media::after {
  background-image: url("../images/pandea/ruban-vert.png");
}

.tpl-pandea .block-feat--jaune .block-feat__media img {
  box-shadow:
    -2px 2px 5px #000,
    -15px 15px 0 3px var(--jaune);
}

.tpl-pandea .block-feat--jaune h3 {
  color: var(--jaune);
}

.tpl-pandea .block-feat--jaune .block-feat__media::after {
  background-image: url("../images/pandea/ruban-jaune.png");
}

.tpl-pandea .block-feat--rouge .block-feat__media img {
  box-shadow:
    -2px 2px 5px #000,
    -15px 15px 0 3px var(--rouge);
}

.tpl-pandea .block-feat--rouge h3 {
  color: var(--rouge);
}

.tpl-pandea .block-feat--rouge .block-feat__media::after {
  background-image: url("../images/pandea/ruban-rouge.png");
}

.tpl-pandea .block-feat--vert-clair .block-feat__media img {
  box-shadow:
    -2px 2px 5px #000,
    -15px 15px 0 3px var(--vert-clair);
}

.tpl-pandea .block-feat--vert-clair h3 {
  color: var(--bleu-fonce);
}

.tpl-pandea .block-feat--vert-clair .block-feat__media::after {
  background-image: url("../images/pandea/ruban-vert-clair.png");
}

@media (max-width: 1200px) {
  .tpl-pandea .block-feat h3 {
    font-size: 1rem;
  }
}

@media (max-width: 60em) {
  .tpl-pandea .block-feat {
    margin-bottom: 0.5rem;
  }
}

@media (max-width: 37.5em) {
  .tpl-pandea .block-feat {
    width: 100%;
    margin-left: 0;
  }

  .tpl-pandea .block-feat:first-of-type {
    margin-left: 1rem;
  }

  .tpl-pandea .block-feat h3 {
    font-size: 0.9rem;
    letter-spacing: -0.6px;
  }
}

/* ---------- Agenda home (mod_pan_agenda) — CSS calqué Drupal .home_agenda ---------- */

.tpl-pandea .pan-home-agenda.home_agenda {
  position: relative;
  z-index: 10;
  max-width: 100%;
  margin: 0;
  padding: 0 0 1rem;
  background: #fff;
  box-shadow: -15px 0 10px -14px rgb(0 0 0 / 75%);
}

/* Titre = .block h2 + .home_agenda h2 Drupal (valeurs mesurées sur thezan-corbieres.fr) */
.tpl-pandea .pan-home-agenda .pan-agenda-title {
  position: relative;
  margin: 0 0 0.5rem;
  padding: 0 0 0 1rem;
  border: 0;
  border-top: 2rem solid var(--vert-clair);
  border-radius: 0;
  background: transparent;
  color: var(--bleu-fonce);
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: normal;
  line-height: 1.2;
  text-align: left;
  text-transform: uppercase;
}

.tpl-pandea .pan-home-agenda .pan-agenda-title::before {
  content: "";
  display: inline-block;
  position: relative;
  top: -4px;
  width: 38px;
  height: 28px;
  margin: 0;
  vertical-align: baseline; /* Drupal : baseline, pas middle — sinon le ruban disparaît dans la barre */
  background-image: url("../images/pandea/ruban-vert-clair.png");
  background-size: 100% 100%;
  background-repeat: no-repeat;
}

/* Lignes = float image + titre/date (comme Views Drupal) */
.tpl-pandea .pan-home-agenda .views-row,
.tpl-pandea .pan-home-agenda__row {
  display: block;
  padding-top: 1rem;
  overflow: hidden;
}

.tpl-pandea .pan-home-agenda .views-field-field-image,
.tpl-pandea .pan-home-agenda__image {
  float: left;
  width: 100px;
  margin: 0 1rem;
}

.tpl-pandea .pan-home-agenda img {
  display: block;
  width: 100px;
  height: auto;
}

.tpl-pandea .pan-home-agenda .field-content a,
.tpl-pandea .pan-home-agenda__title a {
  color: var(--orange);
  font-size: 1rem;
  font-weight: 700;
  text-decoration: none;
  text-transform: uppercase;
}

.tpl-pandea .pan-home-agenda .field-content a:hover,
.tpl-pandea .pan-home-agenda .field-content a:focus,
.tpl-pandea .pan-home-agenda__title a:hover,
.tpl-pandea .pan-home-agenda__title a:focus {
  color: var(--bleu-fonce);
  text-decoration: underline;
}

.tpl-pandea .pan-home-agenda .datetime,
.tpl-pandea .pan-home-agenda__date {
  display: block;
  margin: 0;
  min-width: 100%;
  color: inherit;
  font-size: 1rem;
  font-weight: 400;
}

.tpl-pandea .pan-home-agenda__date .field-content,
.tpl-pandea .pan-home-agenda__date p,
.tpl-pandea .pan-home-agenda .field-content p {
  margin: 0;
}

.tpl-pandea .pan-home-agenda .view-footer,
.tpl-pandea .pan-home-agenda__footer {
  margin-top: 1rem;
  clear: both;
}

.tpl-pandea .pan-home-agenda__footer p {
  margin: 0;
  text-align: center;
}

.tpl-pandea .pan-home-agenda__footer .btn-primary {
  display: inline-block;
  padding: 0.375rem 0.75rem; /* Bootstrap / Drupal btn */
  border: 0;
  border-radius: 0.25rem;
  background-color: var(--bleu);
  color: var(--blanc);
  font-size: 1rem;
  font-weight: 400;
  text-decoration: none;
}

.tpl-pandea .pan-home-agenda__footer .btn-primary:hover,
.tpl-pandea .pan-home-agenda__footer .btn-primary:focus {
  background-color: var(--bleu-fonce);
  color: var(--blanc);
}

/* ---------- Pièces jointes PDF (aperçu / télécharger) ---------- */

.tpl-pandea .pan-attachments__icon {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  color: var(--rouge);
  font-size: 2.75rem;
  line-height: 1;
}

.tpl-pandea .pan-attachments__icon .fa-file-pdf {
  font-size: inherit;
  line-height: 1;
}

.tpl-pandea .pan-attachments__actions .btn,
.tpl-pandea .pan-attachments__actions .btn-primary,
.tpl-pandea .pan-attachments__actions a.btn,
.tpl-pandea .pan-attachments__actions .pan-attachments__open,
.tpl-pandea .pan-attachments__actions .pan-attachments__download {
  --btn-bg: var(--bleu);
  --btn-hover-bg: var(--bleu-fonce);
  --btn-color: var(--blanc);
  --btn-hover-color: var(--blanc);
  --btn-border-color: var(--bleu);
  --btn-hover-border-color: var(--bleu-fonce);
  display: inline-block;
  padding: 0.45rem 1.1rem;
  border: 0 !important;
  border-radius: 0.25rem;
  background-color: var(--bleu) !important;
  color: var(--blanc) !important;
  font-size: 1rem;
  font-weight: 600;
  text-decoration: none !important;
}

.tpl-pandea .pan-attachments__actions .btn:hover,
.tpl-pandea .pan-attachments__actions .btn:focus,
.tpl-pandea .pan-attachments__actions .btn-primary:hover,
.tpl-pandea .pan-attachments__actions .btn-primary:focus,
.tpl-pandea .pan-attachments__actions a.btn:hover,
.tpl-pandea .pan-attachments__actions a.btn:focus,
.tpl-pandea .pan-attachments__actions .pan-attachments__open:hover,
.tpl-pandea .pan-attachments__actions .pan-attachments__open:focus,
.tpl-pandea .pan-attachments__actions .pan-attachments__download:hover,
.tpl-pandea .pan-attachments__actions .pan-attachments__download:focus {
  background-color: var(--bleu-fonce) !important;
  color: var(--blanc) !important;
}

/* Masquer le chrome card + titre module Joomla (titre rendu dans le tmpl) */
.tpl-pandea .container-sidebar-right .card:has(.pan-home-agenda),
.tpl-pandea .container-home__side .card:has(.pan-home-agenda) {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding: 0;
  margin: 0;
}

.tpl-pandea .container-sidebar-right .card:has(.pan-home-agenda) > .card-header,
.tpl-pandea .container-home__side .card:has(.pan-home-agenda) > .card-header {
  display: none !important;
}

.tpl-pandea .container-sidebar-right .card:has(.pan-home-agenda) > .card-body,
.tpl-pandea .container-home__side .card:has(.pan-home-agenda) > .card-body {
  padding: 0;
}

.tpl-pandea .pan-events-list__item {
  display: flow-root;
  padding: 1rem 0;
  border-bottom: 1px solid rgb(0 0 0 / 8%);
}

.tpl-pandea .pan-events-list__image {
  float: left;
  margin: 0 1rem 0.5rem 0;
}

.tpl-pandea .pan-events-list__title a {
  color: var(--orange);
  font-weight: 700;
  text-transform: uppercase;
  text-decoration: none;
}

/* ---------- Liste agenda (com_pan_events) — date en avant ---------- */

.tpl-pandea .pan-events-list__filters {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
  margin-top: 1.25rem;
  padding: 1rem 1.1rem;
  background: color-mix(in srgb, var(--vert-clair) 18%, var(--blanc));
  border-left: 4px solid var(--vert-clair);
}

.tpl-pandea .pan-events-list__periods {
  display: flex;
  flex-flow: row wrap;
  gap: 0.5rem;
  width: auto;
  max-width: none;
  margin: 0;
  padding: 0;
  list-style: none;
}

.tpl-pandea .pan-events-list__periods .nav-item {
  width: auto;
  margin: 0;
}

.tpl-pandea .pan-events-list__periods .nav-link {
  display: inline-block;
  width: auto;
  padding: 0.5rem 1rem;
  border: 2px solid var(--orange);
  border-radius: 0.25rem;
  background-color: transparent;
  color: var(--orange);
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.tpl-pandea .pan-events-list__periods .nav-link:hover,
.tpl-pandea .pan-events-list__periods .nav-link:focus {
  background-color: color-mix(in srgb, var(--orange) 10%, transparent);
  color: var(--orange);
}

.tpl-pandea .pan-events-list__periods .nav-link.active,
.tpl-pandea .pan-events-list__periods .nav-link[aria-current="page"] {
  background-color: var(--orange);
  border-color: var(--orange);
  color: var(--blanc);
}

.tpl-pandea .pan-events-list__periods .nav-link.active:hover,
.tpl-pandea .pan-events-list__periods .nav-link.active:focus,
.tpl-pandea .pan-events-list__periods .nav-link[aria-current="page"]:hover,
.tpl-pandea .pan-events-list__periods .nav-link[aria-current="page"]:focus {
  background-color: var(--bleu-fonce);
  border-color: var(--bleu-fonce);
  color: var(--blanc);
}

.tpl-pandea .pan-events-list__years {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  gap: 0.5rem 0.75rem;
  width: 100%;
  max-width: none;
}

.tpl-pandea .pan-events-list__years-label {
  color: var(--bleu-fonce);
  font-size: 0.85rem;
  font-weight: 700;
  text-transform: uppercase;
}

.tpl-pandea .pan-events-list__years-list {
  display: flex;
  flex-flow: row wrap;
  gap: 0.35rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.tpl-pandea .pan-events-list__years-list li {
  margin: 0;
}

.tpl-pandea .pan-events-list__year-link {
  display: inline-block;
  padding: 0.4rem 0.75rem;
  border: 2px solid var(--orange);
  border-radius: 0.25rem;
  background-color: transparent;
  color: var(--orange);
  font-size: 0.9rem;
  font-weight: 600;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.tpl-pandea .pan-events-list__year-link:hover,
.tpl-pandea .pan-events-list__year-link:focus {
  background-color: color-mix(in srgb, var(--orange) 10%, transparent);
  color: var(--orange);
}

.tpl-pandea .pan-events-list__year-link.is-active {
  border-color: var(--orange);
  background-color: var(--orange);
  color: var(--blanc);
}

.tpl-pandea .pan-events-list__year-link.is-active:hover,
.tpl-pandea .pan-events-list__year-link.is-active:focus {
  background-color: var(--bleu-fonce);
  border-color: var(--bleu-fonce);
  color: var(--blanc);
}

.tpl-pandea .pan-events-list__intro {
  margin: 1rem 0 0;
  color: var(--gris-fonce);
  font-size: 0.95rem;
}

.tpl-pandea .pan-events-list__year-heading {
  list-style: none;
  margin: 1.25rem 0 0.35rem;
  padding: 0;
  grid-column: 1 / -1;
}

.tpl-pandea .pan-events-list__year {
  margin: 0;
  padding-bottom: 0.35rem;
  border-bottom: 3px solid var(--vert-clair);
  color: var(--bleu-fonce);
  font-size: 1.35rem;
  font-weight: 800;
  letter-spacing: -0.02em;
}

.tpl-pandea .pan-events-list__items {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  margin: 1.5rem 0 0;
  padding: 0;
}

@media (min-width: 768px) {
  .tpl-pandea .pan-events-list__items {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem 1.25rem;
  }

  .tpl-pandea .pan-events-list__items .pan-event-card,
  .tpl-pandea .pan-events-list__items .pan-event-card--has-image {
    height: 100%;
  }
}

.tpl-pandea .pan-event-card {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1rem 1.25rem;
  align-items: start;
  margin: 0;
  padding: 1rem 1.1rem;
  background: var(--blanc);
  border: 1px solid var(--gris);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.tpl-pandea .pan-event-card--has-image {
  grid-template-columns: auto 1fr 130px;
}

.tpl-pandea .pan-event-card__media {
  display: block;
  overflow: hidden;
  width: 130px;
  max-width: 100%;
  aspect-ratio: 1;
  background: #f4f4f4;
  align-self: start;
  justify-self: end;
}

.tpl-pandea .pan-event-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
  transition: transform 0.35s ease;
}

.tpl-pandea .pan-event-card:hover,
.tpl-pandea .pan-event-card:focus-within {
  border-color: color-mix(in srgb, var(--orange) 45%, var(--gris));
  box-shadow: 0 6px 18px rgba(22, 54, 69, 0.08);
}

.tpl-pandea .pan-event-card__date {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-width: 4.75rem;
  padding: 0.65rem 0.55rem;
  background: var(--orange);
  color: var(--blanc);
  line-height: 1.1;
  text-align: center;
  text-transform: uppercase;
}

.tpl-pandea .pan-event-card--past .pan-event-card__date {
  background: color-mix(in srgb, var(--gris-fonce) 75%, var(--gris));
}

.tpl-pandea .pan-event-card--past {
  opacity: 0.92;
}

.tpl-pandea .pan-event-card__weekday {
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  opacity: 0.9;
}

.tpl-pandea .pan-event-card__day {
  margin-top: 0.15rem;
  font-size: 2rem;
  font-weight: 800;
  letter-spacing: -0.02em;
}

.tpl-pandea .pan-event-card__month {
  margin-top: 0.15rem;
  font-size: 0.85rem;
  font-weight: 700;
}

.tpl-pandea .pan-event-card__year {
  margin-top: 0.1rem;
  font-size: 0.7rem;
  font-weight: 600;
  opacity: 0.9;
}

.tpl-pandea .pan-event-card__body {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.tpl-pandea .pan-event-card__title {
  margin: 0;
  font-size: 1.2rem;
  line-height: 1.25;
  text-transform: uppercase;
}

.tpl-pandea .pan-event-card__title a {
  color: var(--orange);
  font-weight: 700;
  text-decoration: none;
}

.tpl-pandea .pan-event-card__title a:hover,
.tpl-pandea .pan-event-card__title a:focus {
  color: var(--bleu-fonce);
  text-decoration: underline;
}

.tpl-pandea .pan-event-card__when {
  margin: 0;
  color: var(--gris-fonce);
  font-size: 0.9rem;
}

.tpl-pandea .pan-event-card__excerpt {
  margin: 0;
  color: var(--body-color, #3b3b3b);
  font-size: 0.95rem;
  line-height: 1.45;
}

.tpl-pandea .pan-event-card__more {
  margin-top: 0.25rem;
  color: var(--bleu);
  font-weight: 600;
  text-decoration: none;
}

.tpl-pandea .pan-event-card__more:hover,
.tpl-pandea .pan-event-card__more:focus {
  color: var(--bleu-fonce);
  text-decoration: underline;
}

.tpl-pandea .pan-event-card:hover .pan-event-card__img,
.tpl-pandea .pan-event-card:focus-within .pan-event-card__img {
  transform: scale(1.04);
}

@media (max-width: 575.98px) {
  .tpl-pandea .pan-event-card,
  .tpl-pandea .pan-event-card--has-image {
    grid-template-columns: auto 1fr 110px;
  }

  .tpl-pandea .pan-event-card__media {
    grid-column: auto;
    width: 110px;
  }
}

/* ---------- Utilitaires modules home (préparés pour mod_pan_*) ---------- */

.tpl-pandea .panneau_pocket {
  width: 100%;
  position: relative;
  float: right;
  padding-bottom: 1rem;
  box-shadow: -15px 0 10px -14px rgb(0 0 0 / 75%);
  overflow: visible;
}

.tpl-pandea .panneau_pocket::after {
  content: "";
  display: table;
  clear: both;
}

/* Titre = .block h2 + .panneau_pocket h2 Drupal */
.tpl-pandea .panneau_pocket .pan-pocket__title {
  position: relative;
  margin: 1rem 0 0.5rem;
  padding: 0 0 0 1rem;
  border: 0;
  border-top: 2rem solid var(--jaune);
  border-radius: 0;
  background: transparent;
  color: var(--bleu-fonce);
  font-size: 1.9rem;
  font-weight: 700;
  letter-spacing: -1px;
  line-height: 1.2;
  text-align: left;
  text-transform: uppercase;
}

.tpl-pandea .panneau_pocket .pan-pocket__title::before {
  content: "";
  display: inline-block;
  position: relative;
  top: -4px;
  width: 38px;
  height: 28px;
  margin: 0;
  vertical-align: baseline;
  background-image: url("../images/pandea/ruban-jaune-xl.png");
  background-size: 100% 100%;
  background-repeat: no-repeat;
}

.tpl-pandea .panneau_pocket .pan-pocket__subtitle {
  display: block;
  float: none;
  width: auto;
  margin: 0;
  padding-left: 1rem;
  font-size: 1rem;
  font-weight: 700;
  line-height: 2rem;
  color: var(--bleu-fonce);
}

.tpl-pandea .panneau_pocket .pan-pocket__logo {
  clear: both;
  margin: 0.75rem 0 0;
  text-align: center;
}

.tpl-pandea .panneau_pocket .pan-pocket__logo img {
  float: none;
  display: inline-block;
  width: 9rem;
  height: auto;
  padding-right: 0;
}

.tpl-pandea .panneau_pocket .pan-pocket__widget {
  --pp-embed-height: 518px;
  --pp-header-crop: 123px;
  clear: both;
  margin: 0.75rem auto 0;
  padding: 0;
  width: 100%;
  max-width: 300px;
  height: var(--pp-embed-height);
  overflow: hidden;
  text-align: center;
}

.tpl-pandea .panneau_pocket .pan-pocket__widget iframe {
  display: block;
  width: 100%;
  max-width: 300px;
  margin: calc(var(--pp-header-crop) * -1) auto 0;
  border: 0;
}

.tpl-pandea .panneau_pocket .pan-pocket__cta {
  clear: both;
  margin-top: 1rem;
}

.tpl-pandea .container-sidebar-right .card,
.tpl-pandea .container-home__side .card {
  border: 0;
  background: transparent;
  box-shadow: none;
}

.tpl-pandea .container-sidebar-right .card-body,
.tpl-pandea .container-home__side .card-body {
  padding-inline: 0;
}

/* ---------- Responsive ---------- */

@media (max-width: 991.98px) {
  .tpl-pandea .navbar-brand {
    max-width: 70%;
  }

  .tpl-pandea .container-nav {
    width: 100%;
    margin-left: 0;
  }

  .tpl-pandea .container-home__side {
    margin-top: 0;
  }

  .tpl-pandea .pan-home-agenda.home_agenda,
  .tpl-pandea .panneau_pocket {
    box-shadow: none;
  }

  .tpl-pandea .pan-home-agenda.home_agenda {
    margin-top: 1rem;
  }
}

/* Rubans titres agenda / pocket : breakpoint Drupal 37.5em (pas lg Bootstrap) */
@media (max-width: 37.5em) {
  .tpl-pandea .pan-home-agenda .pan-agenda-title {
    border-top-width: 1.2rem;
  }

  .tpl-pandea .pan-home-agenda .pan-agenda-title::before {
    width: 2.5rem;
    height: 1.4rem;
    top: -0.3rem;
  }

  .tpl-pandea .panneau_pocket .pan-pocket__title {
    border-top-width: 1.2rem;
    font-size: 1.8rem;
    letter-spacing: -2px;
  }

  .tpl-pandea .panneau_pocket .pan-pocket__title::before {
    width: 2.5rem;
    height: 1.4rem;
    top: -0.4rem;
  }

  .tpl-pandea .panneau_pocket .pan-pocket__subtitle {
    margin-top: 1.5rem;
  }

  .tpl-pandea .panneau_pocket .pan-pocket__logo,
  .tpl-pandea .panneau_pocket .pan-pocket__widget {
    margin-top: 1.5rem;
  }
}

/* Rubans titres : même breakpoint Drupal (37.5em), pas le lg Bootstrap */
@media (max-width: 37.5em) {
  .tpl-pandea .pan-block-title,
  .tpl-pandea .moduletable > h2,
  .tpl-pandea .card-header.pan-title--agenda,
  .tpl-pandea .card-header.pan-title--pocket {
    border-top-width: 1.2rem;
  }

  .tpl-pandea .pan-block-title::before,
  .tpl-pandea .moduletable > h2::before,
  .tpl-pandea .card-header.pan-title--agenda::before,
  .tpl-pandea .card-header.pan-title--pocket::before {
    width: 2.5rem;
    height: 1.4rem;
    top: -0.3rem;
  }

  .tpl-pandea .pan-title--une {
    border-top: 0;
    padding: 0.65rem 1rem 0.5rem;
  }

  .tpl-pandea .pan-title--une::before {
    width: 2.5rem;
    height: 1.4rem;
    top: 0.1em;
  }
}

/* ---------- Tags article (couleurs rubriques) ---------- */

.tpl-pandea .pan-article-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  list-style: none;
  margin: 0 0 1.25rem;
  padding: 0;
}

.tpl-pandea .pan-article-tags__item {
  margin: 0;
}

.tpl-pandea .pan-article-tags__link {
  display: inline-block;
  padding: 0.35rem 0.9rem;
  background-color: var(--pan-accent, var(--bleu-fonce));
  color: var(--blanc) !important;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.3;
  text-decoration: none;
  border-radius: 0;
  transition: background-color 0.15s ease, color 0.15s ease;
}

.tpl-pandea .pan-article-tags__link:hover,
.tpl-pandea .pan-article-tags__link:focus {
  background-color: color-mix(in srgb, var(--pan-accent, var(--bleu-fonce)) 82%, var(--noir));
  color: var(--blanc) !important;
}

/* Masquer le bloc Détails natif s’il réapparaît (params / autre layout) */
.tpl-pandea.view-article .article-info,
.tpl-pandea.view-article .com-content-article .article-info,
.tpl-pandea.view-article .pagenavigation {
  display: none !important;
}

/* ---------- Article court : hero (texte mis en grand) ---------- */

.tpl-pandea .item-page--hero {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding-block: 1.5rem 2.5rem;
  min-height: min(52vh, 28rem);
  justify-content: center;
}

.tpl-pandea .item-page--hero .page-header {
  margin-bottom: 0.75rem;
  max-width: 46rem;
}

.tpl-pandea .item-page--hero .page-header h1,
.tpl-pandea .item-page--hero .page-header h2 {
  margin: 0;
  font-size: clamp(2.25rem, 6vw, 3.75rem);
  line-height: 1.12;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  color: var(--bleu-fonce);
}

.tpl-pandea .item-page--hero .pan-article-tags {
  justify-content: center;
  margin-bottom: 1.75rem;
}

.tpl-pandea .item-page .item-image {
  float: none;
  width: fit-content;
  max-width: 100%;
  margin: 0 auto 1.5rem;
}

.tpl-pandea .item-page .item-image img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: min(32rem, 70vh);
  margin-inline: auto;
  object-fit: contain;
  object-position: top;
}

.tpl-pandea .item-page--hero .item-image,
.tpl-pandea .item-page--hero .float-start,
.tpl-pandea .item-page--hero .float-end {
  float: none;
  margin: 0 auto 1.75rem;
  max-width: min(100%, 36rem);
}

.tpl-pandea .item-page--hero .item-image img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: min(32rem, 70vh);
  margin-inline: auto;
  object-fit: contain;
  object-position: top;
}

.tpl-pandea .item-page--hero .com-content-article__body {
  max-width: 38rem;
  margin: 0 auto;
  font-size: clamp(1.5rem, 3.4vw, 2.15rem);
  font-weight: 500;
  line-height: 1.4;
  color: var(--bleu-fonce);
  text-wrap: pretty;
}

.tpl-pandea .item-page--hero .com-content-article__body p {
  margin-bottom: 0.85em;
}

.tpl-pandea .item-page--hero .com-content-article__body p:last-child {
  margin-bottom: 0;
}

.tpl-pandea .item-page--hero .com-content-article__body a {
  font-weight: 700;
}

.tpl-pandea .item-page--hero .pan-attachments {
  margin-top: 1.75rem;
  text-align: left;
  width: min(100%, 36rem);
}

@media (max-width: 600px) {
  .tpl-pandea .item-page--hero {
    min-height: 0;
    padding-block: 1rem 1.75rem;
  }

  .tpl-pandea .item-page--hero .com-content-article__body {
    font-size: 1.4rem;
  }
}

/* ---------- Affichage Légal (widget affichage.legal) ---------- */

.tpl-pandea .affichage-legal {
  width: 100%;
  max-width: 100%;
  margin: 0 0 2rem;
}

.tpl-pandea .affichage-legal iframe {
  display: block;
  width: 100%;
  max-width: 100%;
  border: 0;
  min-height: 480px;
  background: transparent;
}

/* Page hub : moins de chrome autour du widget */
.tpl-pandea.view-article .com-content-article__body:has(.affichage-legal),
.tpl-pandea.itemid-106 .com-content-article__body {
  margin-top: 0.5rem;
}

.tpl-pandea.view-article .item-page:has(.affichage-legal) .article-info,
.tpl-pandea.view-article .item-page:has(.affichage-legal) .pagenavigation,
.tpl-pandea.view-article article:has(.affichage-legal) .article-info,
.tpl-pandea.view-article article:has(.affichage-legal) .pagenavigation,
.tpl-pandea.itemid-106 .article-info,
.tpl-pandea.itemid-106 .pagenavigation {
  display: none !important;
}

/* ---------- Page contact (équivalent Drupal /contactez-nous) ---------- */

.tpl-pandea .pan-contact .page-header {
  margin: 0 0 1.25rem;
}

.tpl-pandea .pan-contact .page-header h1,
.tpl-pandea .pan-contact .contact-name {
  margin: 0;
  font-size: clamp(1.75rem, 2.4vw, 2.15rem);
  font-weight: 700;
  color: var(--bleu-fonce);
}

.tpl-pandea .pan-contact__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 1.5rem 2rem;
  align-items: start;
}

.tpl-pandea .pan-contact__subtitle {
  margin: 0 0 0.75rem;
  font-size: 1.75rem;
  font-weight: 500;
  line-height: 1.2;
  color: var(--bleu-fonce);
}

.tpl-pandea .pan-contact__address,
.tpl-pandea .pan-contact__phone,
.tpl-pandea .pan-contact__email {
  margin: 0 0 0.35rem;
  color: var(--bleu-fonce);
}

.tpl-pandea .pan-contact__map {
  margin-top: 1.25rem;
  padding-right: 1rem;
}

.tpl-pandea .pan-contact__map .pan-map__canvas {
  height: 280px;
  min-height: 280px;
}

.tpl-pandea .pan-contact__fieldset {
  margin: 0;
  padding: 0;
  border: 0;
  min-inline-size: 0;
}

.tpl-pandea .pan-contact__form .control-group {
  margin-bottom: 1rem;
}

.tpl-pandea .pan-contact__form .form-label,
.tpl-pandea .pan-contact__form label {
  display: block;
  margin-bottom: 0.35rem;
  font-weight: 400;
  color: var(--bleu-fonce);
}

.tpl-pandea .pan-contact__form .form-control,
.tpl-pandea .pan-contact__form textarea.form-control {
  display: block;
  width: 100%;
  max-width: 100%;
  border: 1px solid var(--gris);
  border-radius: 0.25rem;
  box-shadow: none;
  background: var(--blanc);
}

.tpl-pandea .pan-contact__form textarea.form-control {
  min-height: 10rem;
}

.tpl-pandea .pan-contact__form .form-control:focus,
.tpl-pandea .pan-contact__form textarea.form-control:focus {
  border-color: var(--bleu);
  box-shadow: 0 0 0 0.15rem color-mix(in srgb, var(--bleu) 25%, transparent);
}

.tpl-pandea .pan-contact__form .star,
.tpl-pandea .pan-contact__form span.star {
  color: var(--rouge, #c00);
}

.tpl-pandea .pan-contact__actions {
  margin-top: 0.5rem;
}

.tpl-pandea .pan-contact__actions .btn-primary {
  min-width: 10rem;
}

@media screen and (max-width: 37.5em) {
  .tpl-pandea .pan-contact__grid {
    grid-template-columns: 1fr;
    gap: 1.75rem;
  }

  .tpl-pandea .pan-contact__map {
    padding-right: 0;
  }

  .tpl-pandea .pan-contact__map .pan-map__canvas {
    height: 220px;
    min-height: 220px;
  }
}

/* --- Associations : cartes cliquables + modal fiche --- */
.tpl-pandea .pan-item-card--clickable {
  display: block;
  padding: 0;
}

.tpl-pandea .pan-item-card--clickable.pan-item-card--has-icon {
  grid-template-columns: 1fr;
}

.tpl-pandea .pan-item-card--clickable .pan-item-card__trigger {
  display: grid;
  grid-template-columns: minmax(10rem, 14rem) 1fr;
  gap: 0.85rem 1.35rem;
  align-items: stretch;
  width: 100%;
  margin: 0;
  padding: 0.9rem;
  border: 0;
  background: var(--blanc);
  text-align: left;
  color: inherit;
  cursor: pointer;
  font: inherit;
}

.tpl-pandea .pan-item-card--clickable .pan-item-card__trigger:focus-visible {
  outline: 2px solid var(--vert, #72c55e);
  outline-offset: 2px;
}

.tpl-pandea .pan-item-card--clickable:hover,
.tpl-pandea .pan-item-card--clickable:focus-within {
  border-color: color-mix(in srgb, var(--vert) 40%, var(--gris));
  box-shadow: 0 6px 18px rgba(22, 54, 69, 0.08);
}

.tpl-pandea .pan-item-card--clickable .pan-item-card__media--icon {
  aspect-ratio: auto;
  min-height: 100%;
}

.tpl-pandea .pan-item-card--clickable .pan-item-card__body {
  padding: 0;
  justify-content: center;
}

.tpl-pandea .pan-item-card--clickable .pan-item-card__title {
  display: block;
  margin: 0;
  font-size: 1.25rem;
  line-height: 1.25;
  color: var(--bleu-fonce);
}

.tpl-pandea .pan-item-card--clickable .pan-item-card__excerpt {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  overflow: hidden;
}

.tpl-pandea .pan-item-card--clickable .pan-item-card__more {
  margin-top: 0.35rem;
  font-weight: 600;
  color: var(--vert, #72c55e);
}

.tpl-pandea .pan-theme--vert .pan-item-card--clickable .pan-item-card__more {
  color: var(--vert-fonce, #4a9a3a);
}

.tpl-pandea .pan-asso-modal {
  position: fixed;
  inset: 0;
  z-index: 1080;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}

.tpl-pandea .pan-asso-modal[hidden] {
  display: none !important;
}

.tpl-pandea .pan-asso-modal.is-open {
  display: flex;
}

.tpl-pandea html.pan-asso-modal-open body,
html.pan-asso-modal-open body {
  overflow: hidden;
}

.tpl-pandea .pan-asso-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(22, 54, 69, 0.55);
}

.tpl-pandea .pan-asso-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(100%, 42rem);
  max-height: min(90vh, 720px);
  overflow: auto;
}

.tpl-pandea .pan-asso-modal__content {
  border: 0;
  border-radius: 0.35rem;
  overflow: hidden;
  background: var(--blanc);
  box-shadow: 0 1rem 2.5rem rgba(22, 54, 69, 0.25);
}

.tpl-pandea .pan-asso-modal__header {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 1.25rem 1.25rem 0.75rem;
  border-bottom: 0;
  background: linear-gradient(135deg, rgba(114, 197, 94, 0.14), rgba(0, 160, 235, 0.08));
}

.tpl-pandea .pan-asso-modal__head-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 50%;
  background: var(--vert, #72c55e);
  color: #fff;
  flex-shrink: 0;
}

.tpl-pandea .pan-asso-modal__title {
  flex: 1;
  margin: 0;
  padding-top: 0.15rem;
  font-size: 1.5rem;
  line-height: 1.2;
  color: var(--bleu-fonce, #163645);
  text-transform: none;
}

.tpl-pandea .pan-asso-modal__close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(22, 54, 69, 0.08);
  color: var(--bleu-fonce, #163645);
  cursor: pointer;
}

.tpl-pandea .pan-asso-modal__close:hover,
.tpl-pandea .pan-asso-modal__close:focus {
  background: rgba(22, 54, 69, 0.14);
}

.tpl-pandea .pan-asso-modal__body {
  padding: 0.5rem 1.25rem 1.25rem;
}

.tpl-pandea .pan-asso-modal__section + .pan-asso-modal__section {
  margin-top: 1.25rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(22, 54, 69, 0.1);
}

.tpl-pandea .pan-asso-modal__section-title {
  margin: 0 0 0.75rem;
  font-size: 1rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--bleu-fonce, #163645);
}

.tpl-pandea .pan-asso-modal__contact {
  margin: 0;
}

.tpl-pandea .pan-asso-modal__contact-row {
  display: grid;
  grid-template-columns: 7rem 1fr;
  gap: 0.5rem 1rem;
  margin: 0 0 0.5rem;
}

.tpl-pandea .pan-asso-modal__contact-row dt {
  margin: 0;
  font-weight: 600;
  color: var(--gris-fonce, #555);
}

.tpl-pandea .pan-asso-modal__contact-row dd {
  margin: 0;
}

.tpl-pandea .pan-asso-modal__contact-row a {
  color: var(--bleu, #00a0eb);
  text-decoration: none;
  word-break: break-word;
}

.tpl-pandea .pan-asso-modal__contact-row a:hover,
.tpl-pandea .pan-asso-modal__contact-row a:focus {
  text-decoration: underline;
}

.tpl-pandea .pan-asso-modal__description {
  margin: 0;
  color: var(--gris-fonce, #555);
  font-size: 0.98rem;
  line-height: 1.55;
  white-space: normal;
}

.tpl-pandea .pan-asso-modal__contact-row--full {
  grid-template-columns: 1fr;
}

.tpl-pandea .pan-asso-modal__contact-note {
  color: var(--gris-fonce, #555);
  font-size: 0.95rem;
}

.tpl-pandea .pan-asso-modal__day + .pan-asso-modal__day {
  margin-top: 0.85rem;
}

.tpl-pandea .pan-asso-modal__day-name {
  margin: 0 0 0.35rem;
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--vert-fonce, #4a9a3a);
}

.tpl-pandea .pan-asso-modal__slots {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.tpl-pandea .pan-asso-modal__slot {
  display: grid;
  gap: 0.15rem 0.75rem;
  padding: 0.65rem 0.85rem;
  border-left: 4px solid var(--pan-asso-slot-color, var(--vert, #72c55e));
  background: rgba(22, 54, 69, 0.04);
  border-radius: 0 0.25rem 0.25rem 0;
}

.tpl-pandea .pan-asso-modal__slot-time {
  font-weight: 700;
  color: var(--bleu-fonce, #163645);
}

.tpl-pandea .pan-asso-modal__slot-title {
  font-weight: 600;
}

.tpl-pandea .pan-asso-modal__slot-place,
.tpl-pandea .pan-asso-modal__slot-note {
  font-size: 0.9rem;
  color: var(--gris-fonce, #555);
}

@media screen and (max-width: 37.5em) {
  .tpl-pandea .pan-item-card--clickable .pan-item-card__trigger {
    grid-template-columns: 1fr;
  }

  .tpl-pandea .pan-item-card--clickable .pan-item-card__media--icon {
    min-height: 6rem;
  }

  .tpl-pandea .pan-asso-modal__contact-row {
    grid-template-columns: 1fr;
    gap: 0.15rem;
  }
}
