/* ============================================================
 * ECO-MED SIG — Theme Lizmap
 * Bureau d'etudes environnemental
 * Palette nature : vert foret, vert sauge, beige, terre
 * ============================================================ */

/* --- IMPORT GOOGLE FONT --- */
@import url(/index.php/view/media/getMedia?repository=montpellier&project=events&path=media%2Fthemes%2Fdefault%2Fcss%2F/'https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

/* --- VARIABLES ECO-MED --- */
:root {
  /* Couleurs principales */
  --header-color: #1a3c2a;
  --header-background-image: linear-gradient(135deg, #1a3c2a 0%, #2d5a3f 50%, #1a3c2a 100%);
  --color-background-primary: #f8f6f1;
  --color-background-primary-content: #ffffffee;
  --color-text-primary: #2c3e2d;
  --color-text-primary-content: #2c3e2d;
  --color-contrasted-elements: #3d7a54;
  --color-contrasted-elements-light: #d4e8d9;
  --color-contrasted-text: #ffffff;
  --color-dark-gray-elements: #2c3e2d;

  /* Couleurs ECO-MED custom */
  --ecomed-vert-foret: #1a3c2a;
  --ecomed-vert-sauge: #3d7a54;
  --ecomed-vert-clair: #5b9e6f;
  --ecomed-vert-pale: #d4e8d9;
  --ecomed-beige: #f8f6f1;
  --ecomed-terre: #8b6f47;
  --ecomed-terre-clair: #c4a97d;
  --ecomed-accent: #e8a838;
  --ecomed-danger: #c0392b;
  --ecomed-radius: 8px;
  --ecomed-shadow: 0 2px 12px rgba(26, 60, 42, 0.08);
  --ecomed-shadow-hover: 0 4px 20px rgba(26, 60, 42, 0.15);
  --ecomed-transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

/* --- GLOBAL --- */
body {
  background-color: var(--ecomed-beige);
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  color: var(--color-text-primary);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

*, *::before, *::after {
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

/* --- SCROLLBAR MODERNE --- */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
::-webkit-scrollbar-track {
  background: var(--ecomed-beige);
}
::-webkit-scrollbar-thumb {
  background: var(--ecomed-vert-pale);
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: var(--ecomed-vert-sauge);
}

/* --- BOUTONS --- */
button.btn, a.btn, input.btn, label.btn {
  background-image: none;
  border: 1px solid transparent;
  background-color: var(--ecomed-vert-pale);
  color: var(--ecomed-vert-foret);
  box-shadow: none;
  text-shadow: none;
  border-radius: var(--ecomed-radius);
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  letter-spacing: 0.01em;
  transition: var(--ecomed-transition);
}

button.btn:focus, a.btn:focus, input.btn:focus {
  background-color: var(--ecomed-vert-pale);
  color: var(--ecomed-vert-foret);
  outline: 2px solid var(--ecomed-vert-clair);
  outline-offset: 2px;
}

button.btn:hover,
button.btn.active,
a.btn:hover,
a.btn.active,
input.btn:hover,
input.btn.active {
  background-color: var(--ecomed-vert-sauge);
  color: white;
  box-shadow: var(--ecomed-shadow);
  transform: translateY(-1px);
}

/* Types de boutons */
.btn.btn-primary, .btn.btn-primary:focus {
  background-color: var(--ecomed-vert-sauge);
  color: white;
  border-radius: var(--ecomed-radius);
}

.btn.btn-info, .btn.btn-info:focus {
  background-color: #4a90a4;
  color: white;
  border-radius: var(--ecomed-radius);
}

.btn.btn-success, .btn.btn-success:focus {
  background-color: var(--ecomed-vert-clair);
  color: white;
  border-radius: var(--ecomed-radius);
}

.btn.btn-warning, .btn.btn-warning:focus {
  background-color: var(--ecomed-accent);
  color: white;
  border-radius: var(--ecomed-radius);
}

.btn.btn-danger, .btn.btn-danger:focus {
  background-color: var(--ecomed-danger);
  color: white;
  border-radius: var(--ecomed-radius);
}

/* Hover */
.btn.btn-primary:hover, .btn.btn-primary.active {
  background-color: var(--ecomed-vert-sauge);
  filter: brightness(115%);
  box-shadow: var(--ecomed-shadow-hover);
}

.btn.btn-info:hover, .btn.btn-info.active {
  background-color: #4a90a4;
  filter: brightness(115%);
}

.btn.btn-success:hover, .btn.btn-success.active {
  background-color: var(--ecomed-vert-clair);
  filter: brightness(115%);
}

.btn.btn-warning:hover, .btn.btn-warning.active {
  background-color: var(--ecomed-accent);
  filter: brightness(115%);
}

.btn.btn-danger:hover, .btn.btn-danger.active {
  background-color: var(--ecomed-danger);
  filter: brightness(115%);
}

/* --- DROPDOWN --- */
.dropdown-menu {
  background-color: white;
  border: 1px solid var(--ecomed-vert-pale);
  border-radius: var(--ecomed-radius);
  box-shadow: var(--ecomed-shadow-hover);
  padding: 6px 0;
}

.dropdown-menu > li > a {
  padding: 8px 16px;
  font-size: 0.9rem;
  color: var(--ecomed-vert-foret);
}

.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus,
.dropdown-submenu:hover > a,
.dropdown-submenu:focus > a {
  background-image: none;
  background-color: var(--ecomed-vert-sauge);
  color: white;
  border-radius: 4px;
  margin: 0 4px;
  padding: 8px 12px;
}

.btn-group.open .btn.dropdown-toggle {
  background-color: var(--ecomed-vert-sauge);
  color: white;
}

/* --- FORMULAIRES --- */
input[type=text],
input[type=password],
input[type=email],
input[type=number],
input[type=search],
textarea,
select {
  border: 1px solid var(--ecomed-vert-pale);
  border-radius: 6px;
  padding: 8px 12px;
  font-family: 'Inter', sans-serif;
  color: var(--ecomed-vert-foret);
  background: white;
  transition: var(--ecomed-transition);
}

input[type=text]:focus,
input[type=password]:focus,
input[type=email]:focus,
textarea:focus,
select:focus {
  border-color: var(--ecomed-vert-sauge);
  box-shadow: 0 0 0 3px rgba(61, 122, 84, 0.15);
  outline: none;
}

div.jforms-submit-buttons {
  padding: 5px;
  padding-top: 20px;
  background: none;
  border: none;
}

div.jforms-submit-buttons.form-actions .btn {
  transition: var(--ecomed-transition);
  border: 1px solid transparent;
  box-shadow: none;
  text-shadow: none;
  border-radius: var(--ecomed-radius);
  font-weight: 500;
}

div.jforms-submit-buttons.form-actions .btn:hover,
div.jforms-submit-buttons.form-actions .btn:focus {
  filter: brightness(0.95);
  color: black;
  transform: translateY(-1px);
}

div.jforms-submit-buttons.form-actions .btn.jforms-ctrl-reset {
  background-color: #e0ddd6;
}

div.jforms-submit-buttons.form-actions #jforms_view_edition__submit_cancel {
  background-color: #e8a838;
}

div.jforms-submit-buttons.form-actions #jforms_view_edition__submit_submit {
  background-color: var(--ecomed-vert-clair);
  color: white;
}

/* --- HEADER --- */
#header {
  background-color: var(--ecomed-vert-foret);
  background-image: var(--header-background-image);
  background-repeat: repeat;
  color: white;
  box-shadow: 0 2px 16px rgba(0, 0, 0, 0.15);
  position: relative;
  z-index: 100;
}

#logo {
  background: url(/index.php/view/media/getMedia?repository=montpellier&project=events&path=media%2Fthemes%2Fdefault%2Fcss%2F/img/logo.png) no-repeat;
  background-size: contain;
}

#headermenu {
  background-color: transparent;
}

#auth {
  background: transparent;
}

/* Liens navbar */
.navbar .nav > a,
.navbar .nav > li > a {
  color: rgba(255, 255, 255, 0.9);
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 0.9rem;
  border-radius: 6px;
  margin: 2px 1px;
  transition: var(--ecomed-transition);
}

.navbar .nav .active > a,
.navbar .nav > li > a:focus,
.navbar .nav > li > a:hover {
  background-color: rgba(255, 255, 255, 0.15);
  color: white;
}

.navbar .nav li.dropdown.open > .dropdown-toggle,
.navbar .nav li.dropdown.active > .dropdown-toggle,
.navbar .nav li.dropdown.open.active > .dropdown-toggle {
  color: var(--ecomed-vert-foret);
  background-color: white;
  border-radius: 6px;
}

.navbar .nav > li > .dropdown-menu::after {
  border-bottom: 6px solid white;
}

.navbar .navbar-inner .icon {
  background-image: url(/index.php/view/media/getMedia?repository=montpellier&project=events&path=media%2Fthemes%2Fdefault%2Fcss%2F/images/sprite_20_tools.png);
}

.navbar .nav .dashboard-item .icon {
  background-position: -975px 0;
}
.navbar .nav .dashboard-item a:hover .icon,
.navbar .nav .dashboard-item.active a .icon {
  background-position: -950px 0;
}

.navbar .nav .login .icon {
  background-position: -225px 0;
}
.navbar .nav .login a:hover .icon,
.navbar .nav .login.active a .icon {
  background-position: -200px 0;
}

.navbar .nav .registered .icon {
  background-position: -825px 0;
}
.navbar .nav .registered a:hover .icon,
.navbar .nav .registered.active a .icon {
  background-position: -800px 0;
}

.navbar .nav .user .icon {
  background-position: -575px 0;
}
.navbar .nav .user a:hover .icon,
.navbar .nav .user.active a .icon,
.navbar .nav .user.open a .icon {
  background-position: -550px 0;
}

.navbar .nav .home .icon {
  background-position: -25px 0;
}
.navbar .nav .home a:hover .icon,
.navbar .nav .home.active a .icon {
  background-position: 0 0;
}

/* --- PAGE D'ACCUEIL (projets) --- */

/* Titre de la page */
#title {
  font-family: 'Inter', sans-serif;
}

#title h1 {
  font-weight: 700;
  letter-spacing: -0.02em;
}

/* Container projets */
#content {
  font-family: 'Inter', sans-serif;
}

/* Cards projets */
.liz-repository-project-item,
.thumbnail {
  border: none !important;
  border-radius: 12px !important;
  background: white !important;
  box-shadow: var(--ecomed-shadow) !important;
  transition: var(--ecomed-transition) !important;
  overflow: hidden;
}

.liz-repository-project-item:hover,
.thumbnail:hover {
  box-shadow: var(--ecomed-shadow-hover) !important;
  transform: translateY(-4px);
}

.liz-repository-project-item .liz-project-title,
.thumbnail .liz-project-title {
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  color: var(--ecomed-vert-foret);
  font-size: 1rem;
}

.liz-repository-project-item .liz-project-desc {
  color: #5a6b5c;
  font-size: 0.85rem;
  line-height: 1.5;
}

.liz-repository-project-item .liz-project-img img,
.thumbnail img {
  border-radius: 8px 8px 0 0;
  object-fit: cover;
}

.liz-repository-project-item .btn,
.thumbnail .btn {
  border-radius: var(--ecomed-radius);
  font-size: 0.85rem;
  font-weight: 500;
}

/* Categories/repositories header */
h2.liz-repository-title {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  color: var(--ecomed-vert-foret);
  border-bottom: 3px solid var(--ecomed-vert-sauge);
  padding-bottom: 8px;
  margin-bottom: 20px;
  letter-spacing: -0.01em;
}

/* --- BADGES & LABELS --- */
.badge, .label {
  border-radius: 20px;
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 0.75rem;
  padding: 4px 10px;
}

.badge-success, .label-success {
  background-color: var(--ecomed-vert-clair);
}

.badge-info, .label-info {
  background-color: #4a90a4;
}

.badge-warning, .label-warning {
  background-color: var(--ecomed-accent);
}

/* --- MODAL --- */
.modal {
  border-radius: 12px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
  border: none;
}

.modal-header {
  background: var(--ecomed-vert-foret);
  color: white;
  border-radius: 12px 12px 0 0;
  border-bottom: none;
  padding: 16px 20px;
}

.modal-header h3 {
  color: white !important;
  font-family: 'Inter', sans-serif;
  font-weight: 600;
}

.modal-header .close {
  color: white;
  text-shadow: none;
  opacity: 0.7;
}

.modal-body {
  padding: 20px;
  font-family: 'Inter', sans-serif;
}

.modal-footer {
  border-top: 1px solid var(--ecomed-vert-pale);
  border-radius: 0 0 12px 12px;
  padding: 12px 20px;
}

/* --- ALERTES --- */
.alert {
  border-radius: var(--ecomed-radius);
  border: none;
  font-family: 'Inter', sans-serif;
}

.alert-success {
  background-color: #e8f5e9;
  color: #1b5e20;
}

.alert-info {
  background-color: #e3f2fd;
  color: #0d47a1;
}

.alert-warning {
  background-color: #fff8e1;
  color: #e65100;
}

.alert-error, .alert-danger {
  background-color: #ffebee;
  color: #b71c1c;
}

/* --- TABLES --- */
.table {
  font-family: 'Inter', sans-serif;
}

.table thead th {
  background: var(--ecomed-vert-foret);
  color: white;
  font-weight: 600;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  border: none;
  padding: 10px 12px;
}

.table tbody tr:hover {
  background-color: var(--ecomed-vert-pale) !important;
}

.table tbody td {
  border-color: #e8e5df;
  padding: 10px 12px;
}

/* --- FOOTER --- */
#footer {
  font-family: 'Inter', sans-serif;
  font-size: 0.8rem;
  color: #7a8a7c;
}

/* --- ANIMATIONS --- */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.liz-repository-project-item,
.thumbnail {
  animation: fadeInUp 0.4s ease both;
}

.liz-repository-project-item:nth-child(2) { animation-delay: 0.05s; }
.liz-repository-project-item:nth-child(3) { animation-delay: 0.1s; }
.liz-repository-project-item:nth-child(4) { animation-delay: 0.15s; }
.liz-repository-project-item:nth-child(5) { animation-delay: 0.2s; }
.liz-repository-project-item:nth-child(6) { animation-delay: 0.25s; }
