/* Définition des variables "Premium" à la racine */
:root {
  --bg-base: #FAFAF8; /* Fond ivoire/blanc cassé */
  --color-primary: #0F2C59; /* Bleu marine profond */
  --color-accent: #C5A880; /* Or mat / Champagne */
  --color-ipt-green: #008542; /* Vert du logo IPT */
  --text-color: #2b2b2b; /* Noir adouci pour une meilleure lisibilité */
  
  /* Typographie */
  --font-heading: 'Merriweather', 'Playfair Display', serif;
  --font-body: 'Inter', 'Open Sans', sans-serif;
  
  /* Espacements et Bordures */
  --radius-subtle: 4px;
  --shadow-premium: 0 4px 20px rgba(15, 44, 89, 0.05); /* Ombre douce bleutée */
}

/* Importation de la police Merriweather */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600&family=Merriweather:wght@400;700&display=swap');

/* Application au fond global et typographie de base */
body {
  background-color: var(--bg-base);
  color: var(--text-color);
  font-family: var(--font-body);
}

/* Typographie prestigieuse pour les titres */
h1, h2, h3, h4, h5, h6, .pkp_site_name, .pkp_block_title {
  font-family: var(--font-heading) !important;
  color: var(--color-primary);
  font-weight: 700;
  letter-spacing: 0.5px;
}

/* Boutons d'action (ex: Soumission, Recherche) */
button, .cmp_button, .pkp_button {
  background-color: var(--color-primary);
  color: #FFFFFF;
  border: 1px solid var(--color-primary);
  border-radius: var(--radius-subtle);
  padding: 12px 24px;
  font-family: var(--font-body);
  font-weight: 600;
  transition: all 0.3s ease;
}

button:hover, .cmp_button:hover, .pkp_button:hover {
  background-color: var(--color-accent);
  border-color: var(--color-accent);
  box-shadow: 0 2px 10px rgba(197, 168, 128, 0.4);
  color: #FFFFFF;
}

/* Conteneurs de blocs (ex: Articles, Annonces, Sidebar) */
.obj_article_summary, .pkp_block {
  background-color: #FFFFFF;
  border: 1px solid rgba(197, 168, 128, 0.3); /* Bordure subtile or mat */
  border-radius: var(--radius-subtle);
  padding: 24px;
  margin-bottom: 32px;
  box-shadow: var(--shadow-premium);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

/* Effet de survol luxueux sur les articles */
.obj_article_summary:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(15, 44, 89, 0.08);
}

/* Nettoyage du logo */
.is_text {
  color: var(--color-primary) !important; /* Changed to blue just in case */
}

/* ============================================ */
/* HEADER & BANNIERE HISTORIQUE                 */
/* ============================================ */

/* Remove blue background from main head so banner shows clearly */
.pkp_structure_head {
  background: var(--bg-base) !important;
  padding: 0 !important;
  margin: 0 !important;
  border-bottom: 3px solid var(--color-accent);
  box-shadow: var(--shadow-premium);
}

.pkp_head_wrapper {
  position: relative;
}

/* Insert the banner as a pseudo-element ABOVE the menu */
.pkp_head_wrapper::before {
  content: "";
  display: block;
  width: 100%;
  height: 200px; /* Fixed small height */
  background: url('/public/journals/1/pasteur_banner.jpg') center center / contain no-repeat; /* Contain guarantees 100% visibility without cropping! */
}

/* Logo positioning: Centered vertically within the 200px image, and aligned to the left edge of the image */
.pkp_site_name_wrapper {
  position: absolute !important;
  top: 100px; /* Half of the 200px banner height */
  transform: translateY(-50%); /* Vertically center */
  /* Calculate left position: half of viewport minus half of max image width (960/2=480) + 20px padding */
  left: max(20px, calc(50% - 460px)); 
  z-index: 10;
  margin: 0 !important;
  padding: 0 !important;
}

.pkp_site_name {
  display: block !important;
}

.pkp_site_name img {
  max-height: 120px !important; 
  max-width: 200px !important;
  object-fit: contain;
  background: rgba(255, 255, 255, 0.85); /* Readability background */
  padding: 8px;
  border-radius: 6px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

/* ============================================ */
/* MENU DE NAVIGATION (REVISED COLORS)          */
/* ============================================ */

/* Menu Bar - Background is now IPT Green */
.pkp_navigation_primary_row {
  background-color: var(--color-ipt-green) !important;
}

/* Menu Text - Is now dark blue */
.pkp_navigation_primary > li > a {
  color: var(--color-primary) !important; /* Changed from white to blue */
  font-weight: 700; /* Made slightly bolder to compensate for lower contrast against green */
  padding: 12px 16px !important;
  transition: color 0.3s ease;
}

.pkp_navigation_primary > li > a:hover,
.pkp_navigation_primary > li > a:focus {
  color: #FFFFFF !important; /* White on hover for visibility */
}

/* ============================================ */
/* CORRECTION DES SOUS-MENUS (DROPDOWNS)        */
/* ============================================ */
.pkp_navigation_primary ul {
  background-color: var(--color-ipt-green) !important; /* Green to match menu */
  border-top: 2px solid var(--color-primary) !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.2) !important;
  margin-top: 0 !important;
}

.pkp_navigation_primary ul li a {
  color: var(--color-primary) !important; /* Blue text */
  padding: 10px 20px !important;
  font-weight: 600 !important;
}

.pkp_navigation_primary ul li a:hover,
.pkp_navigation_primary ul li a:focus {
  background-color: var(--color-primary) !important;
  color: #FFFFFF !important;
}

/* User & Search nav */
.pkp_navigation_user > li > a { color: var(--color-primary) !important; font-weight: 700; padding: 12px 16px !important; }
.pkp_navigation_user > li > a:hover { color: #FFFFFF !important; }
.pkp_navigation_user ul { background-color: var(--color-ipt-green) !important; }
.pkp_navigation_user ul li a { color: var(--color-primary) !important; font-weight: 600; }
.pkp_navigation_user ul li a:hover { background-color: var(--color-primary) !important; color: #FFFFFF !important; }

/* Search icon/button */
.pkp_search a, .pkp_search button { color: var(--color-primary) !important; }
.pkp_search a:hover, .pkp_search button:hover { color: #FFFFFF !important; }

/* Responsive adjustments */
@media (max-width: 960px) {
  .pkp_site_name_wrapper {
    left: 20px !important;
  }
}

@media (max-width: 768px) {
  .pkp_site_name_wrapper {
    position: relative !important;
    top: 0 !important;
    transform: none !important;
    left: 0 !important;
    text-align: center;
    background: var(--bg-base);
    padding: 15px !important;
  }
  .pkp_head_wrapper::before {
    display: none; /* Hide banner on mobile for cleaner look */
  }
}
