body {font-family: Trajan Pro,serif;background-color: #f4f4f9;margin: 0px !important;}
h1 { display: inline-block;}
a {text-decoration: none; color:#344edb;}
.thumbnail{    margin-top: 32px;}
.header { color: white; text-align: center;font-size: 1rem !important;display:grid;background-color:#7B1113;}
.header {
    background-image: url(/images/p.jpg);
    background-repeat: round;
    background-size: auto;
    background-blend-mode: darken;
}

.nav-menu {
    display: flex;
    justify-content: center;
    padding: 10px;
    background-color: #CFAE70;
    background-image: url(/images/menu.png);
    background-repeat: repeat;
    background-size: auto;
    background-blend-mode: hard-light;
}
.nav-sub-menu {
    display: flex;
    justify-content: center;
    padding: 10px;
    background-color: #CFAE70;
    background-image: url(/images/p.jpg);
    background-repeat: repeat;
    background-size: auto;
    background-blend-mode: color-dodge;
}
.nav-menu a, .nav-sub-menu a {color: #fff;text-decoration: none;margin: 0 15px;font-size: 1.1em;}
.nav-menu a:hover {text-decoration: underline;}
/*li {list-style: none;}*/

.nav-sub-menu a {
    font-weight: bolder;
}
ul.monul{right: 12px;margin: 9px;position: absolute;}
.heroh {margin: 0;font-size: 2em;}
.herop {font-size: 1.2em;margin-top: 10px;}
i{color: white; font-size: xx-large;}
td {vertical-align: text-top;}
ul {list-style: upper-roman;}
.modal {
	display:none;
  position: fixed;
  z-index: 1000;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 1200px;
  max-width: 90%;
  max-height: 80vh;       /* limite la hauteur à 80% de la fenêtre */
  overflow-y: auto;       /* active le scroll vertical si besoin */
  background: white;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
  border-radius: 8px;
  padding: 20px;
}
.modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.close-btn {
  color: white;
  padding: 5px 10px; border: none;
  border-radius: 4px; cursor: pointer;
  background-image: url(/images/p.jpg);
    background-repeat: repeat;
    background-size: auto;
    background-blend-mode: darken;
}
.close-btn:hover { background: darkred; }
.overlay {
  display: none;
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.5);
  z-index: 999;
}

#mapContainer {
  filter: sepia(0.6) contrast(1.1) brightness(0.95);
  background-color: #f4ecd8; /* parchemin */
  border: 4px solid #8b0000; /* rouge sombre */
  border-radius: 8px;
}

.leaflet-popup-content {
  font-family: "Trajan Pro", serif; /* police romaine si dispo */
  color: #333;
}

.leaflet-popup-content strong {
  font-size: 1.1em;
  color: #000;
}

.leaflet-popup-content span {
  font-size: 0.85em;
  color: #555;
}

.leaflet-marker-icon {
  background-color: #f4ecd8;
  border-radius: 4px;
  padding: 2px;
}

.group-cards-container {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.group-card {
  background: #f9f7f2;
  border: 1px solid #ccc;
  border-radius: 8px;
  padding: 16px;
  width: 100%;
  display: flex;
  gap: 2px;
      box-shadow: 5px 5px 6px grey;
margin: 0 12px 0 12px;}

.group-header {
  margin: 22px;
}

.group-title {
  font-size: 1.2em;
  font-weight: bold;
  color: #2c3e50;
  text-decoration: none;
}

.group-summary {
  font-size: 0.9em;
  color: #555;
}

.group-meta span {
  display: block;
  font-size: 0.85em;
  margin: 2px 0;
}

.group-section {
margin: 12px;
    min-width: 10%;
    border: 2px #d0d0d0 solid;
    padding: 12px;
    max-width: 25%;
    display: inline-block;
}

.group-section ul {
  padding-left: 20px;
  margin: 5px 0;
}

.group-section li {
  font-size: 0.85em;
}
.group-details-container {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.group-detail-card {

  background: #f1eee5;
  border: 1px solid #ccc;
  border-radius: 8px;
  padding: 5px;
      box-shadow: 5px 5px 6px grey;
	      max-width: 45%;
    margin: 0 6px 0 6px;
}
.group-span{    margin-bottom: 12px;    margin-top: 12px;}

.copyright{position: fixed;
    bottom: 0;
    left: 0;
	    width: 60%;
    text-align: center;
    z-index: 99999;
    margin-left: 20%;
    color: darkslategrey;
}
.ajax{width:100%;}

.seemore{   cursor: pointer;  width: 20%; margin-left: 40%;    margin-top: -19px;background: #8f373a;background-image: url(/images/p.jpg);
    background-repeat: repeat;
    background-size: auto;
    background-blend-mode: darken;}
 
 /* group.css - table layout and visual improvements */
.section { margin: 20px auto; padding: 20px; background:#fff; border-radius:8px; box-shadow:0 0 12px rgba(0,0,0,0.06); }
.actions-table, table { width:100%; table-layout: fixed; border-collapse: collapse; background: #fff; }
th, td { padding:8px; border:1px solid #e6e6e6; vertical-align: top; font-size:0.80rem; word-break:break-word; }
th { background:#8f373a; color:#fff; font-weight:600;background-image: url(/images/p.jpg);
    background-repeat: repeat;
    background-size: auto;
    background-blend-mode: darken; }
.cell-blue, .cell-green { width:18px; min-width:18px; max-width:18px; padding:0; border:none; }
.col-name { width:22%; }
.col-type { width:10%; }
.col-cert { width:6%; }
.col-locations { width:12%; }
.col-start { width:8%; }
.col-end { width:8%; }
.col-actors { width:15%; }
.col-actions { width:6%; }
.col-related-groups { width:12%; }

/* small screens: collapse non-essential columns */
@media (max-width: 900px) {
  .col-type, .col-cert, .col-actions, .col-related-groups { display:none; }
  .col-name { width:40%; }
  .col-actors { width:30%; }
}


/* inline "view more" area */
.view-more-inline { margin-top:6px; padding:8px; background:#f0f0f0; color:black; border:none; border-radius:4px; font-size:0.85rem; }
.view-more-btn { background:#8f373a; color:white; border:none;padding:0px; border-radius:4px; cursor:pointer; margin: 2px;min-width: 22px;min-height: 22px;background-image: url(/images/p.jpg);background-repeat: repeat; background-size: auto; background-blend-mode: darken;}
.view-more-btn:focus { outline:2px solid #a7c8ff; }

.download-btn, #collapseAllBtn, #applyFiltersBtn, #exportCsvBtn, button { background:#8f373a; color:white; border:none;border-radius:4px; font-size:0.95rem;padding: 4px 8px;background-image: url(/images/p.jpg);background-repeat: repeat; background-size: auto; background-blend-mode: darken;}

.leaflet-control-custom button {
  display: block;
  width: 70px;
  margin: 2px 0;
  padding: 4px;
  font-size: 12px;
  background: #eee;
  border: 1px solid #999;
  cursor: pointer;
}
.leaflet-control-custom button:hover {
  background: #ddd;
}
.download-btn{display:none;}

i.fa.fa-plus {font-size: x-small;}