:root {
  --ap-green: #0E3938;
  --ap-green-light: #007D2F;
  --ap-green-gradient: linear-gradient(#C7EAC7, #007D2F 40%, #0E3938);
  --ap-text-light: #f5f5f5;
  --ap-text-dark: #111;
}

/* Header & footer */
header, .navbar, footer, .footer {
  background: var(--ap-green);
  color: var(--ap-text-light);
  box-shadow: 0 2px 6px rgba(0,0,0,0.2);
  width: 100%;
}

header a, .navbar a, footer a, .footer a {
  color: var(--ap-text-light);
}
header a:hover, .navbar a:hover, footer a:hover, .footer a:hover {
  color: #fff;
}

/* Links */
a { color: var(--ap-green-light); }
a:hover { color: var(--ap-green); }

/* Navbar menu items */
.navbar-default .navbar-nav > li > a,
.menu--main li.expanded > span.navbar-text {
  color: var(--ap-text-light);
  line-height: 1.5em; /* equal spacing */
}
.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > .open > a,
.dropdown-menu > li > a:hover,
.menu--main li.expanded.open > span.navbar-text:hover {
  background: var(--ap-green-light);
  color: var(--ap-text-light);
}

/* Carets */
.navbar-nav > .dropdown > a .caret,
.menu--main li.expanded.dropdown > span .caret {
  border-top-color: #fff;
  border-bottom-color: #fff;
}

/* Dropdown */
.dropdown-menu {
  background: #fff;
  border: 1px solid var(--ap-green);
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}
.dropdown-menu > li > a {
  color: var(--ap-green);
  padding: 10px 15px;
}
.dropdown-menu > li > a:hover {
  background: var(--ap-green-light);
  color: var(--ap-text-light);
}

/* Buttons */
.btn,
.btn-primary,
.btn-booking,
.view-id-formules .node-readmore a,
.field--name-field-btn-reservation a,
.menu-main .last > a {
  background: var(--ap-green-gradient);
  color: #fff !important;
  border: none;
  border-radius: 50px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.15);
  transition: all 0.3s ease;
}

.btn:hover,
.btn-primary:hover,
.btn-booking:hover,
.view-id-formules .node-readmore a:hover,
.field--name-field-btn-reservation a:hover,
.menu-main .last > a:hover {
  background: linear-gradient(#0E3938, #007D2F 60%, #C7EAC7);
  color: #fff !important;
  box-shadow: 0 6px 14px rgba(0,0,0,0.25);
}

/* Haut de page button */
.field--name-field-lien.field--type-link.field--label-hidden.field--item a {
  color: #fff !important;
}

/* Cards & teasers */
.node--chambre--teaser,
.view-id-formules .formules,
.view-id-formules .formules-saison {
  border-color: var(--ap-green);
  box-shadow: 0 4px 10px rgba(0,0,0,0.08);
  transition: box-shadow 0.3s ease;
}
.node--chambre--teaser:hover,
.view-id-formules .formules:hover,
.view-id-formules .formules-saison:hover {
  box-shadow: 0 6px 18px rgba(0,0,0,0.15);
}

/* Gallery */
.view-gallerie-photo {
  margin-bottom: 20px;
}
.view-gallerie-photo img {
  border: 3px solid var(--ap-green);
  border-radius: 10px;
  transition: all 0.3s ease;
}
.view-gallerie-photo img:hover {
  border-color: var(--ap-green-light);
  box-shadow: 0 6px 14px rgba(0,0,0,0.25);
}
