/**
 * @file colors.css
 * IDENTITÉ VISUELLE UNIQUEMENT.
 * Ne contient que des variables, des couleurs, des dégradés et des états de couleur.
 * Aucune dimension, aucun layout, aucun padding/margin structurel.
 */

:root {
  /* --- Palette de Couleurs --- */
  --ecdc-color-primary: #0E3938;    /* Vert Foncé */
  --ecdc-color-secondary: #007D2F;  /* Vert Moyen */
  --ecdc-color-light: #C7EAC7;      /* Vert Clair */
  --ecdc-color-white: #FFF;
  --ecdc-color-bg-body: #FFF;
  --ecdc-color-bg-nav: #EEEEEE;
  --ecdc-color-text-muted: #6a6a6a;

  /* --- Variables Structurelles (Couleurs uniquement) --- */
  --ecdc-border-color: #0E3938;     /* AJOUT : Variable manquante utilisée plus bas */
  
  /* --- Typographie (Noms de familles) --- */
  --ecdc-font-family-base: 'Montserrat', sans-serif;
  --ecdc-font-family-heading: 'Geoform', sans-serif;
  --ecdc-font-family-brand: 'Pacifico', cursive;
  
  /* --- Couleurs de texte dérivées --- */
  --ecdc-text-color-base: #111111;
  --ecdc-text-color-heading: var(--ecdc-color-secondary);
  --ecdc-text-color-link:  var(--ecdc-color-primary);
  --ecdc-text-color-link-hover: var(--ecdc-color-secondary);

  /* Définition des variables (À adapter par client) */
  --ecdc-font-family-base: 'Montserrat', sans-serif;
  --ecdc-font-family-heading: 'Geoform', sans-serif; /* Ou Pacifico, etc. */
  --ecdc-font-family-brand: 'Pacifico', cursive;
}

/* --- Application des couleurs de base --- */
body {
  color: var(--ecdc-text-color-base);
  background-color: var(--ecdc-color-bg-body);
  font-family: var(--ecdc-font-family-base);
}

h1, h2, h3, h4, h5, h6,
.navbar-brand {
  color: var(--ecdc-text-color-heading);
  font-family: var(--ecdc-font-family-heading);
}

a, a:focus {
  color: var(--ecdc-text-color-link);
}

a:hover {
  color: var(--ecdc-text-color-link-hover);
}

/* ================================================================
   BOUTONS ECDC 2026 - DÉGRADÉS & COULEURS
   ================================================================ */

.btn-primary, .btn-booking {
  background-image: linear-gradient(135deg, var(--ecdc-color-secondary) 0%, var(--ecdc-color-primary) 100%) !important;
  border-color: var(--ecdc-color-primary);
  color: var(--ecdc-color-white) !important;
}

.btn-primary:hover, .btn-primary:focus, .btn-booking:hover, .btn-booking:focus {
  border-color: var(--ecdc-color-white);
}

.btn-primary a, .btn-primary a:hover, .btn-booking a, .btn-booking a:hover {
  color: var(--ecdc-color-light) !important;
}

.btn-secondary {
  background-image: linear-gradient(135deg, rgba(199, 234, 199, 0.2) 0%, rgba(14, 57, 56, 0.1) 100%) !important;
  border: 2px solid var(--ecdc-color-primary);
  color: var(--ecdc-color-primary) !important;
}

.btn-secondary:hover, .btn-secondary:focus {
  background-image: linear-gradient(135deg, var(--ecdc-color-primary) 0%, var(--ecdc-color-secondary) 100%) !important;
  color: var(--ecdc-color-white) !important;
}

.site-footer .btn-primary, .site-footer .btn-booking {
  background-image: linear-gradient(135deg, #008a33 0%, var(--ecdc-color-primary) 100%) !important;
  border: 1px solid rgba(255,255,255,0.3);
  color: var(--ecdc-color-white) !important;
}

.site-footer .btn-primary:hover, .site-footer .btn-booking:hover {
  background-image: linear-gradient(135deg, var(--ecdc-color-white) 0%, var(--ecdc-color-light) 100%) !important;
  color: var(--ecdc-color-primary) !important;
  border-color: var(--ecdc-color-white);
}

.site-footer .btn-primary a:hover, .site-footer .btn-booking a:hover {
  color: var(--ecdc-color-primary) !important;
}

.btn-success {
  background-image: linear-gradient(135deg, var(--ecdc-color-light) 0%, var(--ecdc-color-secondary) 100%) !important;
  border: none;
  color: var(--ecdc-color-primary) !important;
}

.btn-success:hover {
  color: var(--ecdc-color-white) !important;
}

/* ================================================================
   BREADCRUMBS (Couleurs)
   ================================================================ */
.breadcrumb {
  background-color: var(--ecdc-color-light) !important;
  border: 1px solid var(--ecdc-color-primary);
}

.breadcrumb-item a {
  color: var(--ecdc-color-primary) !important;
}

.breadcrumb-item a:hover {
  color: var(--ecdc-color-secondary) !important;
}

.breadcrumb-item + .breadcrumb-item::before {
  color: var(--ecdc-color-secondary);
}

.breadcrumb-item.active {
  color: var(--ecdc-color-secondary) !important;
}

/* ================================================================
   NAVBAR & DROPDOWN - COULEURS & DÉGRADÉS
   ================================================================ */

.navbar {
  background-color: var(--ecdc-color-bg-nav);
  border-bottom-color: var(--ecdc-border-color);
}

.navbar.bg-primary {
  background-image: linear-gradient(135deg, var(--ecdc-color-secondary) 0%, var(--ecdc-color-primary) 100%) !important;
  border-color: rgba(255,255,255,0.1);
}

.navbar.scrolled {
  background-color: rgba(255, 255, 255, 0.95) !important;
  border-bottom-color: rgba(14, 57, 56, 0.2);
}

.navbar-brand {
  color: var(--ecdc-color-white) !important;
}
.navbar-brand:hover {
  color: var(--ecdc-color-light) !important;
}

.nav-link {
  color: rgba(255,255,255,0.9) !important;
}
.nav-link:hover, 
.nav-link.active {
  color: var(--ecdc-color-white) !important;
  background-color: rgba(255,255,255,0.1);
}

.menu--main .nav-item:last-child .nav-link,
.menu--main .nav-link.btn-cta-reservation {
  background-image: linear-gradient(135deg, var(--ecdc-color-secondary) 0%, var(--ecdc-color-primary) 100%) !important;
  color: var(--ecdc-color-white) !important;
  border-color: rgba(255,255,255,0.2);
}

.menu--main .nav-item:last-child .nav-link:hover,
.menu--main .nav-link.btn-cta-reservation:hover {
  color: var(--ecdc-color-white) !important;
  background-color: transparent; 
}

.navbar-toggler {
  background-color: rgba(255,255,255,0.2);
  border-color: rgba(255,255,255,0.3);
}
.navbar-toggler:hover {
  background-color: var(--ecdc-color-secondary);
  border-color: var(--ecdc-color-primary);
}
.navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23FFFFFF' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2.5' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.dropdown-menu {
  background-color: rgba(255, 255, 255, 0.98) !important;
  border-color: rgba(14, 57, 56, 0.1) !important;
}

.dropdown-item {
  color: var(--ecdc-color-primary) !important;
}

.dropdown-item:hover,
.dropdown-item:focus,
.dropdown-item.active {
  background-color: rgba(199, 234, 199, 0.4) !important;
  color: var(--ecdc-color-secondary) !important;
}

.dropdown-item:hover::after {
  color: var(--ecdc-color-secondary);
}

@media (max-width: 991.98px) {
  .navbar-collapse .dropdown-menu {
    background-color: var(--ecdc-color-light) !important;
    border-color: transparent !important;
  }

  .navbar-collapse .dropdown-item,
  .navbar-collapse .nav-link {
    color: var(--ecdc-color-light) !important; /* Attention : vert clair sur vert clair ? Vérifier contraste si besoin */
  }
  
  /* Correction potentielle si contraste insuffisant sur mobile */
  .navbar-collapse .dropdown-item:hover,
  .navbar-collapse .dropdown-item.active {
    background-color: var(--ecdc-color-secondary) !important;
    color: var(--ecdc-color-white) !important;
  }

  .menu--main .nav-item:last-child .nav-link,
  .navbar-collapse .btn-cta-reservation,
  .navbar-collapse .menu-item--cta .nav-link {
    background-image: linear-gradient(135deg, var(--ecdc-color-secondary) 0%, var(--ecdc-color-primary) 100%) !important;
    color: var(--ecdc-color-white) !important;
    border-color: transparent;
  }
}

.nav-tabs .nav-link {
    color: var(--ecdc-color-primary) !important;
}
.nav-tabs .nav-link:hover, 
.nav-tabs .nav-link.active {
    color: var(--ecdc-color-light) !important;
    background-color: var(--ecdc-color-primary) !important;
}

/* ================================================================
   VUES LISTE (CHAMBRES, FORMULES, STAGES) - COULEURS
   ================================================================ */

/* Cartes */
.view-id-chambres .views-row,
.view-id-formules .views-row,
.view-id-stages .views-row {
  background: var(--ecdc-color-white);
  border: 1px solid rgba(0, 0, 0, 0.05); /* Gris très clair structurel */
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.view-id-chambres .views-row:hover,
.view-id-formules .views-row:hover,
.view-id-stages .views-row:hover {
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.15);
  border-color: var(--ecdc-color-secondary);
}

/* Images */
.view-id-chambres .views-field-field-image img,
.view-id-formules .views-field-nothing img,
.view-id-stages .views-field-field-image img {
  filter: brightness(0.95);
}

.view-id-chambres .views-row:hover .views-field-field-image img,
.view-id-formules .views-row:hover .views-field-nothing img,
.view-id-stages .views-row:hover .views-field-field-image img {
  filter: brightness(1.05);
}

/* Titres */
.view-id-chambres .views-field-title h2,
.view-id-formules .views-field-field-accroche h2,
.view-id-stages .views-field-title h2 {
  color: var(--ecdc-color-secondary);
}

.view-id-chambres .views-field-title h2::after,
.view-id-formules .views-field-field-accroche h2::after,
.view-id-stages .views-field-title h2::after {
  background-color: var(--ecdc-color-primary);
}

.view-id-stages .views-field-title a:hover {
  color: var(--ecdc-color-primary); /* Ou var(--ecdc-text-color-link-hover) */
}

/* Prix & Badges */
.view-id-chambres .badge-prix,
.view-id-formules .views-field-field-prix-basse-saison,
.view-id-formules .views-field-field-prix,
.view-id-stages .views-field-field-prix .field-content {
  background-color: var(--ecdc-color-light);
  color: var(--ecdc-color-primary);
  border: 1px solid rgba(14, 57, 56, 0.1);
}

/* Séparateur de boutons */
.view-id-chambres .views-field-nothing .field-content,
.view-id-formules .views-field-nothing-1 .field-content,
.view-id-stages .views-field-nothing .field-content {
  border-top: 1px solid #eee; /* Gris standard, peut être remplacé par variable si besoin */
}

/* Boutons Vues */
.view-id-chambres .btn-booking,
.view-id-formules .btn-booking,
.view-id-stages .btn-booking {
  background-color: var(--ecdc-color-secondary);
  color: var(--ecdc-color-white) !important;
  border: 2px solid var(--ecdc-color-secondary);
}
.view-id-chambres .btn-booking:hover,
.view-id-formules .btn-booking:hover,
.view-id-stages .btn-booking:hover {
  background-color: var(--ecdc-color-primary);
  border-color: var(--ecdc-color-primary);
}

.view-id-chambres .btn-cta,
.view-id-formules .btn-cta,
.view-id-stages .btn-cta {
  background-color: transparent;
  color: var(--ecdc-color-primary) !important;
  border: 2px solid var(--ecdc-color-primary);
}
.view-id-chambres .btn-cta:hover,
.view-id-formules .btn-cta:hover,
.view-id-stages .btn-cta:hover {
  background-color: var(--ecdc-color-primary);
  color: var(--ecdc-color-white) !important;
}

/* ================================================================
   VUE PRODUITS PAYSANS - COULEURS
   ================================================================ */

.view-id-extras_vue .views-row {
  background: var(--ecdc-color-white);
  border: 1px solid var(--ecdc-color-light);
  box-shadow: 0 4px 10px rgba(14, 57, 56, 0.05);
}

.view-id-extras_vue .views-row:hover {
  border-color: var(--ecdc-color-secondary);
  box-shadow: 0 15px 35px rgba(14, 57, 56, 0.15);
}

.view-id-extras_vue .views-field-title h3,
.view-id-extras_vue .views-field-title a {
  color: var(--ecdc-text-color-heading);
  transition: color 0.3s ease;
}

.view-id-extras_vue .views-field-title a:hover {
  color: var(--ecdc-color-secondary);
}

.view-id-extras_vue .views-field-field-prix {
  color: var(--ecdc-color-primary);
  background-color: var(--ecdc-color-light);
  border: 1px solid rgba(14, 57, 56, 0.1);
}

.view-id-extras_vue .views-field-field-prix h3 {
  color: var(--ecdc-color-primary);
}

.view-id-extras_vue .views-field-field-info-f {
  color: var(--ecdc-color-text-muted);
}

.view-id-extras_vue .views-field-view-node a {
  color: var(--ecdc-color-primary);
  border: 2px solid var(--ecdc-color-primary);
  background-color: transparent;
}

.view-id-extras_vue .views-field-view-node a:hover {
  background-color: var(--ecdc-color-primary);
  color: var(--ecdc-color-white);
  border-color: var(--ecdc-color-primary);
}

/* ================================================================
   PAGES DÉTAILS (CHAMBRE, FORMULE, STAGE) - COULEURS
   ================================================================ */

/* Titres & Images Hero */
.node--type-chambre h1.title,
.node--type-formules h1.title,
.node--type-formules-saison h1.title,
.node--type-stage h1.title {
  color: var(--ecdc-color-secondary);
}

.node--type-chambre h1.title::after,
.node--type-formules h1.title::after,
.node--type-formules-saison h1.title::after,
.node--type-stage h1.title::after {
  background: var(--ecdc-color-primary);
}

.node--type-chambre .field--name-field-image,
.node--type-formules .field--name-field-image,
.node--type-formules-saison .field--name-field-image,
.node--type-stage .field--name-field-image {
  box-shadow: 0 10px 30px rgba(0,0,0,0.15);
}

/* Sidebar Chambres (Key Info) */
.node--type-chambre .accommodation-key-info {
  background-image: linear-gradient(135deg, var(--ecdc-color-secondary) 0%, var(--ecdc-color-primary) 100%) !important;
  border: 1px solid var(--ecdc-color-secondary);
  box-shadow: 0 4px 15px rgba(0,0,0,0.05);
}

.node--type-chambre .field--name-field-prix {
  background: var(--ecdc-color-white);
  border: 2px solid var(--ecdc-color-primary);
  color: var(--ecdc-color-primary);
}

.node--type-chambre .field--name-field-nombre-de-couchages {
  color: var(--ecdc-color-white);
}
.node--type-chambre .field--name-field-nombre-de-couchages .field__item {
  color: var(--ecdc-color-white);
}

/* Détails Chambres (Badges & Cercles) */
.node--type-chambre .details-column-left,
.node--type-chambre .details-column-right {
  background: var(--ecdc-color-white);
  border: 1px solid var(--ecdc-color-light);
}

.node--type-chambre .details-column-left .field,
.node--type-chambre .details-column-right .field {
  border-bottom: 1px solid var(--ecdc-color-light);
}

.details-column-left .field--name-field-salle-de-bain .field__item, 
.details-column-right .field--name-field-literie .field__item {
  background-color: var(--ecdc-color-light);
  color: var(--ecdc-color-primary);
  border: 1px solid rgba(14, 57, 56, 0.1);
}

.details-column-right .field--type-integer .field__item {
  background-image: linear-gradient(135deg, var(--ecdc-color-light) 0%, var(--ecdc-color-secondary) 100%) !important;
  background-color: var(--ecdc-color-primary);
  color: var(--ecdc-color-white);
}

.node--type-chambre .field--name-field-literie .field__item,
.node--type-chambre .field--name-field-salle-de-bain .field__item {
  color: var(--ecdc-color-primary);
}
.node--type-chambre .field--name-field-literie .field__item::before {
  color: var(--ecdc-color-secondary);
}

/* Formules */
.node--type-formules-saison .field--name-field-prix-basse-saison,
.node--type-formules-saison .field--name-field-prix-moyenne-saison,
.node--type-formules-saison .field--name-field-prix-haute-saison {
  background: var(--ecdc-color-white);
  border: 3px solid var(--ecdc-color-light);
  box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}
.node--type-formules-saison .field--name-field-prix-basse-saison:hover,
.node--type-formules-saison .field--name-field-prix-moyenne-saison:hover,
.node--type-formules-saison .field--name-field-prix-haute-saison:hover {
  border-color: var(--ecdc-color-secondary);
}

.node--type-formules-saison .field--name-field-prix-basse-saison .field__label,
.node--type-formules-saison .field--name-field-prix-moyenne-saison .field__label,
.node--type-formules-saison .field--name-field-prix-haute-saison .field__label {
  color: var(--ecdc-color-primary);
}
.node--type-formules-saison .field--name-field-prix-basse-saison .field__item,
.node--type-formules-saison .field--name-field-prix-moyenne-saison .field__item,
.node--type-formules-saison .field--name-field-prix-haute-saison .field__item {
  color: var(--ecdc-color-secondary);
}

.node--type-formules .field--name-field-prix {
  background-image: linear-gradient(135deg, var(--ecdc-color-secondary) 0%, var(--ecdc-color-primary) 100%) !important;
  color: var(--ecdc-color-white);
  box-shadow: 0 4px 15px rgba(0,0,0,0.05);
}

.node--type-stage .field--name-body,
.node--type-stage .field--name-field-info-f,
.node--type-chambre .field--name-body,
.node--type-chambre .field--name-field-info-f,
.node--type-formules .field--name-body,
.node--type-formules-saison .field--name-body,
.node--type-formules .field--name-field-info-f,
.node--type-formules-saison .field--name-field-info-f {
  color: var(--ecdc-text-color-base);
}

.node--type-formules .field--name-field-chambres .node--type-chambre,
.node--type-formules-saison .field--name-field-chambres .node--type-chambre {
  border-top: 2px solid var(--ecdc-color-light);
}

.node--type-formules .field--name-field-comprend .field__item,
.node--type-formules-saison .field--name-field-comprend .field__item {
  background-color: var(--ecdc-color-light);
  color: var(--ecdc-color-primary);
  border: 1px solid rgba(14, 57, 56, 0.1);
}

/* Stages */
.node--type-stage fieldset.stage-duree .field {
  background: var(--ecdc-color-white);
  border: 3px solid var(--ecdc-color-light);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}
.node--type-stage fieldset.stage-duree .field:hover {
  border-color: var(--ecdc-color-secondary);
}

.node--type-stage fieldset.stage-duree .field__label {
  color: var(--ecdc-color-primary);
}
.node--type-stage fieldset.stage-duree .field__item {
  color: var(--ecdc-text-color-base);
}

.node--type-stage fieldset.stage-duree .field--name-field-prix {
  border: 2px solid var(--ecdc-color-secondary);
  background-image: linear-gradient(135deg, var(--ecdc-color-secondary) 0%, var(--ecdc-color-primary) 100%) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
}
.node--type-stage fieldset.stage-duree .field--name-field-prix .field__item {
  color: var(--ecdc-color-white) !important;
}

.node--type-stage .field--name-field-nombre-de-places {
  color: var(--ecdc-color-primary);
}
.node--type-stage .field--name-field-nombre-de-places .field__label {
  color: var(--ecdc-color-primary);
}

.node--type-stage .field--name-field-info-f {
  color: var(--ecdc-color-text-muted);
  border-left: 3px solid var(--ecdc-color-secondary);
}

/* Galeries (Communes) */
.node--type-chambre .field--name-field-images,
.node--type-formules .field--name-field-images,
.node--type-formules-saison .field--name-field-images,
.node--type-stage .field--name-field-images {
  border-top: 2px solid var(--ecdc-color-light);
}

.node--type-chambre .field--name-field-images .field__item,
.node--type-formules .field--name-field-images .field__item,
.node--type-formules-saison .field--name-field-images .field__item,
.node--type-stage .field--name-field-images .field__item {
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}
.node--type-chambre .field--name-field-images .field__item:hover,
.node--type-formules .field--name-field-images .field__item:hover,
.node--type-formules-saison .field--name-field-images .field__item:hover,
.node--type-stage .field--name-field-images .field__item:hover {
  box-shadow: 0 5px 15px rgba(0,0,0,0.2);
}

/* Vignettes (Détails chambres/formules) */
.node--view-mode-vignette .field--name-field-salle-de-bain .field__item, 
.node--view-mode-vignette .field--name-field-literie .field__item {
  background-color: var(--ecdc-color-light);
  color: var(--ecdc-color-primary);
  border: 1px solid rgba(14, 57, 56, 0.1);
}

.node--view-mode-vignette .field--type-integer .field__item {
  background-image: linear-gradient(135deg, var(--ecdc-color-light) 0%, var(--ecdc-color-secondary) 100%) !important;
  background-color: var(--ecdc-color-primary);
  color: var(--ecdc-color-white);
}

/* ================================================================
   EXTRAS & PRODUITS PAYSANS - PAGES DÉTAILS (COULEURS)
   ================================================================ */

/* --- Structure Commune (Titres & Images) --- */
.node--type-extras h1.title,
.node--type-produits-paysans h1.title {
  color: var(--ecdc-color-secondary);
}

.node--type-extras h1.title::after,
.node--type-produits-paysans h1.title::after {
  background: var(--ecdc-color-primary);
}

.node--type-extras .field--name-field-image,
.node--type-produits-paysans .field--name-field-image {
  box-shadow: 0 10px 30px rgba(0,0,0,0.15);
}

/* --- Sidebar (Prix & Infos) --- */
/* On réutilise le style .accommodation-key-info des chambres pour la cohérence */
.node--type-extras .extras-key-info,
.node--type-produits-paysans .produits-key-info {
  background: var(--ecdc-color-white);
  border: 2px solid var(--ecdc-color-light);
  border-radius: 16px;
  padding: 2rem;
  box-shadow: 0 4px 15px rgba(0,0,0,0.05);
  text-align: center;
}

/* Prix */
.node--type-extras .field--name-field-prix {
    background-image: linear-gradient(135deg, var(--ecdc-color-secondary) 0%, var(--ecdc-color-primary) 100%) !important;
    color: var(--ecdc-color-white);
}

.node--type-produits-paysans .field--name-field-prix {
    color: var(--ecdc-color-secondary);
    font-size: 2rem;
    font-weight: 800;
    display: block;
    background: var(--ecdc-color-white);
    border: 3px solid var(--ecdc-color-secondary);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    border-radius: 12px;
    padding: 0.6rem;
    text-align: center;
    margin-bottom: 0.2rem;
    transition: transform 0.2s;
    width: fit-content;
}

/* Badge Type de Tarif (Séjour / Pers / Nuit) */
.node--type-extras .field--name-field-sejour,
.node--type-extras .field--name-field-personne,
.node--type-extras .field--name-field-nuit {
  display: inline-block;
  background-color: var(--ecdc-color-light);
  color: var(--ecdc-color-primary);
  padding: 0.4rem 1rem;
  border-radius: 50px;
  font-size: 0.9rem;
  font-weight: 700;
  text-transform: uppercase;
  margin-top: 0.5rem;
}

/* Bouton Réserver (Extras) */
.node--type-extras .field--name-field-btn-reservation a,
.node--type-extras .btn-booking {
  display: block;
  width: 100%;
  text-align: center;
  margin-top: 1.5rem;
  padding: 1rem;
  font-size: 1.2rem;
  font-weight: 700;
  text-transform: uppercase;
  text-decoration: none !important;
  border-radius: 8px;
  transition: all 0.3s ease;
  /* Couleurs gérées par .btn-primary dans le global, mais on force si besoin */
  background-image: linear-gradient(135deg, var(--ecdc-color-secondary) 0%, var(--ecdc-color-primary) 100%) !important;
  color: var(--ecdc-color-white) !important;
  border: none;
}

.node--type-extras .field--name-field-btn-reservation a:hover,
.node--type-extras .btn-booking:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 15px rgba(14, 57, 56, 0.4);
}

/* Bouton Info (Produits - optionnel, si on veut un "Nous contacter") */
.node--type-produits-paysans .field--name-field-btn-contact a,
.node--type-produits-paysans .btn-secondary {
  display: block;
  width: 100%;
  text-align: center;
  margin-top: 1.5rem;
  padding: 1rem;
  font-size: 1.1rem;
  font-weight: 700;
  text-transform: uppercase;
  text-decoration: none !important;
  border-radius: 8px;
  border: 2px solid var(--ecdc-color-primary);
  color: var(--ecdc-color-primary) !important;
  background: transparent;
  transition: all 0.3s ease;
}

.node--type-produits-paysans .field--name-field-btn-contact a:hover,
.node--type-produits-paysans .btn-secondary:hover {
  background: var(--ecdc-color-primary);
  color: var(--ecdc-color-white) !important;
  transform: translateY(-2px);
}

/* Corps de texte */
.node--type-extras .field--name-body,
.node--type-produits-paysans .field--name-body {
  color: var(--ecdc-text-color-base);
  font-size: 1.1rem;
  line-height: 1.8;
  text-align: justify;
}

/* Galeries */
.node--type-extras .field--name-field-images,
.node--type-produits-paysans .field--name-field-images {
  border-top: 2px solid var(--ecdc-color-light);
}

/* ================================================================
   FOOTER - COULEURS
   ================================================================ */
.site-footer {
  background-color: var(--ecdc-color-primary);
  color: var(--ecdc-color-white);
  border-top: 4px solid var(--ecdc-color-secondary);
}

.site-footer strong {
  color: var(--ecdc-color-light);
}

.site-footer a {
  color: var(--ecdc-color-light);
}

.site-footer a:hover {
  color: var(--ecdc-color-white);
}
.site-footer .field--name-body {
  color: var(--ecdc-color-white);
}

.footer-ethical-badge {
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.1);
}

.footer-ethical-badge strong {
  color: var(--ecdc-color-light);
}

#region-footer-third ul {
  border-top: 1px solid rgba(255,255,255,0.1);
}

#region-footer-third li {
  border-bottom: 1px solid rgba(255,255,255,0.05);
}

.site-footer__bottom {
  border-top: 1px solid rgba(255,255,255,0.1);
  color: rgba(255,255,255,0.5);
}

.site-footer__bottom a {
  color: var(--ecdc-color-light);
}

/* Carousel (Couleurs) */
.carousel {
  border: 2px solid var(--ecdc-border-color);
}

.carousel-indicators button {
  background-color: var(--ecdc-color-primary);
  border: 1px solid var(--ecdc-color-white);
}

.carousel-indicators .active {
  background-color: var(--ecdc-color-secondary);
}

.carousel-control-prev-icon, .carousel-control-next-icon {
  background-color: var(--ecdc-color-primary);
}

.carousel-control-prev-icon:hover, .carousel-control-next-icon:hover {
  background-color: var(--ecdc-color-secondary);
}

.carousel-caption {
  background: rgba(14, 57, 56, 0.7);
}

/* ================================================================
   TYPOGRAPHIE & POLICES (Identité Client)
   ================================================================ */

/* Application des polices (C'est ici que ça se joue) */
body {
  font-family: var(--ecdc-font-family-base);
}

h1, h2, h3, h4, h5, h6,
.navbar-brand {
  font-family: var(--ecdc-font-family-heading);
}

/* Surcharge spécifique pour la marque (Logo) */
.navbar-brand {
  font-family: var(--ecdc-font-family-brand);
}

blockquote {
  font-family: var(--ecdc-font-family-heading);
  font-style: italic;
}

.dropdown-item {
  font-family: var(--ecdc-font-family-base);
}

.view-id-extras_vue .views-field-title h3,
.view-id-extras_vue .views-field-title a {
  font-family: var(--ecdc-font-family-heading);
}

/* ================================================================
   CALENDRIER - COULEURS (COLORS.CSS)
   ================================================================ */

/* Fond général */
.view-calendrier-publique-full-heure {
  background-color: var(--ecdc-color-white);
  border-color: var(--ecdc-color-light);
}

/* En-tête des jours */
.fc-col-header-cell {
  background-color: var(--ecdc-color-primary);
  color: var(--ecdc-color-white);
}

/* Liens des jours et texte */
.fc-daygrid-day-number {
  color: var(--ecdc-color-primary);
}

.fc-day-today .fc-daygrid-day-number {
  background-color: var(--ecdc-color-light);
  color: var(--ecdc-color-secondary);
}

/* Boutons */
.fc-button-primary {
  background-color: var(--ecdc-color-primary) !important;
  border-color: var(--ecdc-color-primary) !important;
  color: var(--ecdc-color-white) !important;
}

.fc-button-primary:hover,
.fc-button-active {
  background-color: var(--ecdc-color-secondary) !important;
  border-color: var(--ecdc-color-secondary) !important;
  color: var(--ecdc-color-white) !important;
}

/* Survol des cases jours */
.fc-daygrid-day:hover {
  background-color: rgba(199, 234, 199, 0.15); /* Utilise ton vert clair */
}
