a {
  text-decoration: none;
}
.logged-in header {
  top: 32px !important;
}
@media screen and (max-width: 781px) {
  .logged-in header {
    top: 46px !important;
  }
}
header {
  z-index: 100;
  width: 100%;
  top: 0;
}
header .header-part-1 {
  background-color: #285163;
  text-align: center;
  padding: 1.8rem 0;
  position: relative;
}
@media screen and (max-width: 1199px) {
  header .header-part-1 {
    padding: 1rem 0;
  }
}
header .header-part-1 span {
  font-size: 50px;
  font-weight: 600;
  color: white;
  font-family: "New Amsterdam", sans-serif;
  letter-spacing: 2px;
}
@media screen and (max-width: 1199px) {
  header .header-part-1 span {
    font-size: 35px;
  }
}
@media screen and (max-width: 780px) {
  header .header-part-1 span {
    font-size: 22px;
  }
}
header .header-part-1 .motif-left {
  position: absolute;
  left: 0;
  bottom: 0;
  height: 80%;
  width: auto;
}
header .header-part-1 .motif-left img {
  height: 100%;
}
@media screen and (max-width: 980px) {
  header .header-part-1 .motif-left {
    display: none;
  }
}
header .header-part-1 .motif-right {
  position: absolute;
  right: 0;
  bottom: 0;
  height: 80%;
  width: auto;
}
header .header-part-1 .motif-right img {
  height: 100%;
}
@media screen and (max-width: 980px) {
  header .header-part-1 .motif-right {
    display: none;
  }
}
header .header-part-2 {
  position: relative;
  height: 130px;
  background-color: #32728d;
}
header .header-part-2 #header-menu {
  display: flex;
  height: 100%;
}
header .header-part-2 #header-menu .logo-header {
  display: flex;
}
header .header-part-2 #header-menu .logo-header img {
  margin: auto;
  width: 100px;
}
header .header-part-2 #header-menu .main-menu {
  display: flex;
  width: 100%;
}
header .header-part-2 #header-menu .main-menu > ul {
  margin: auto;
  display: flex;
  list-style: none;
  justify-content: space-evenly;
  width: 100%;
  gap: 2rem;
}
header .header-part-2 #header-menu .main-menu > ul a {
  position: relative;
  color: white;
  font-size: 25px;
  text-transform: capitalize;
  transition: 0.3s;
  padding: 5px 12px;
  border-radius: 4px;
  text-decoration: none;
  width: max-content;
  display: flex;
}
header .header-part-2 #header-menu .main-menu > ul a:before {
  content: '';
  position: absolute;
  bottom: -4px;
  height: 1px;
  width: 0%;
  transition: 0.4s;
  background-color: white;
  left: 50%;
  transform: translateX(-50%);
}
header .header-part-2 #header-menu .main-menu > ul a:hover:before {
  width: 70%;
}
header .header-part-2 #header-menu .main-menu > ul .current_page_item a:before {
  width: 70%;
}
header .header-part-2 #primary-menu-mobile {
  padding-left: 0;
}
@media screen and (max-width: 1199px) {
  header .header-part-2 .main-menu {
    display: none !important;
  }
}
header .header-part-2 .navbar {
  width: 100%;
  position: inherit;
}
@media screen and (min-width: 1200px) {
  header .header-part-2 .navbar {
    display: none;
  }
}
header .header-part-2 .nav-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 62px;
}
header .header-part-2 .navbar .menu-items {
  display: flex;
}
header .header-part-2 .navbar .nav-container li {
  list-style: none;
}
header .header-part-2 .navbar .nav-container a {
  text-decoration: none;
  color: white;
  font-weight: 500;
  font-size: 1.2rem;
  padding: 0.7rem;
}
header .header-part-2 .navbar .nav-container a:hover {
  font-weight: bolder;
}
header .header-part-2 .nav-container {
  display: block;
  height: 60px;
}
header .header-part-2 .nav-container .checkbox {
  position: absolute;
  display: block;
  height: 32px;
  width: 32px;
  top: 50%;
  right: 30px;
  z-index: 5;
  opacity: 0;
  cursor: pointer;
  transform: translateY(-50%);
}
header .header-part-2 .nav-container .hamburger-lines {
  display: block;
  height: 26px;
  width: 32px;
  position: absolute;
  top: 50%;
  right: 30px;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transform: translateY(-50%);
}
header .header-part-2 .nav-container .hamburger-lines .line {
  display: block;
  height: 4px;
  width: 100%;
  border-radius: 10px;
  background: white;
}
header .header-part-2 .nav-container .hamburger-lines .line1 {
  transform-origin: 0% 0%;
  transition: transform 0.4s ease-in-out;
}
header .header-part-2 .nav-container .hamburger-lines .line2 {
  transition: transform 0.2s ease-in-out;
}
header .header-part-2 .nav-container .hamburger-lines .line3 {
  transform-origin: 0% 100%;
  transition: transform 0.4s ease-in-out;
}
header .header-part-2 .navbar .menu-items {
  padding: 30px 0;
  background-color: #32728d;
  width: auto;
  min-width: 50vw;
  min-height: 60vh;
  display: flex;
  flex-direction: column;
  transition: 0.5s ease-in-out;
  text-align: center;
  position: absolute;
  left: -50%;
  z-index: 3;
  top: 0;
}
@media screen and (max-width: 580px) {
  header .header-part-2 .navbar .menu-items {
    left: -80%;
  }
}
header .header-part-2 .navbar .menu-items li {
  margin-bottom: 1.2rem;
  font-size: 1.5rem;
  font-weight: 500;
}
header .header-part-2 .logo {
  position: absolute;
  top: 5px;
  right: 15px;
  font-size: 1.2rem;
  color: white;
}
header .header-part-2 .nav-container input[type="checkbox"]:checked ~ .menu-items {
  left: 0;
}
header .header-part-2 .nav-container input[type="checkbox"]:checked ~ .hamburger-lines .line1 {
  transform: rotate(45deg);
}
header .header-part-2 .nav-container input[type="checkbox"]:checked ~ .hamburger-lines .line2 {
  transform: scaleY(0);
}
header .header-part-2 .nav-container input[type="checkbox"]:checked ~ .hamburger-lines .line3 {
  transform: rotate(-45deg);
}
header .header-part-2 .nav-container input[type="checkbox"]:checked ~ .logo {
  display: none;
}
main {
  margin-top: 0;
}
main .section-full {
  background-color: #a0c1ce;
  padding: 60px 0;
}
footer {
  background-color: #32728d;
  padding: 1rem 0;
}
footer .footer {
  justify-content: space-between;
  display: flex;
}
footer .footer .logo-footer img {
  width: 100px;
}
footer .footer .menu-footer {
  display: flex;
  gap: 2rem;
}
footer .footer .menu-footer a {
  margin: auto;
  color: white;
  text-decoration: none;
}
/* ── Variables ─────────────────────────────────────────────── */
footer.sw-footer {
  --blue: #32728d;
  --blue-dark: #152c6e;
  --orange: #FB923C;
  --orange-dark: #d9690f;
  --font-display: 'Syne', sans-serif;
  --font-body: 'DM Sans', sans-serif;
  background: var(--blue);
  font-family: var(--font-body);
  position: relative;
  overflow: hidden;
  padding-top: 56px;
}
/* ── Décoration carrés Sanihweb ─────────────────────────────── */
footer.sw-footer::before {
  content: '';
  position: absolute;
  top: -40px;
  right: -40px;
  width: 180px;
  height: 180px;
  border-radius: 14px;
  background: var(--orange);
  opacity: .06;
  transform: rotate(18deg);
  pointer-events: none;
}
footer.sw-footer::after {
  content: '';
  position: absolute;
  top: -16px;
  right: -16px;
  width: 110px;
  height: 110px;
  border-radius: 9px;
  background: var(--orange);
  opacity: .05;
  transform: rotate(18deg);
  pointer-events: none;
}
/* ════════════════════════════════════════════════════════════
   TOP — Grille 4 colonnes
════════════════════════════════════════════════════════════ */
footer.sw-footer .sw-footer__top {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 48px;
  padding-bottom: 48px;
  position: relative;
  z-index: 1;
}
/* ── Colonne marque ─────────────────────────────────────────── */
footer.sw-footer .sw-footer__logo {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 22px;
  color: #fff;
  letter-spacing: -0.5px;
  text-decoration: none;
  display: block;
  margin-bottom: 14px;
  transition: opacity .2s;
}
footer.sw-footer .sw-footer__logo:hover {
  opacity: .85;
}
footer.sw-footer .sw-footer__logo span {
  color: var(--orange);
}
footer.sw-footer .sw-footer__tagline {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.8);
  font-weight: 300;
  line-height: 1.75;
  max-width: 260px;
  margin-bottom: 22px;
}
/* Badge prix */
footer.sw-footer .sw-footer__price-badge {
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  background: rgba(251, 146, 60, 0.15);
  border: 1px solid rgba(251, 146, 60, 0.3);
  border-radius: 10px;
  padding: 10px 16px;
  margin-bottom: 22px;
}
footer.sw-footer .sw-footer__price-num {
  font-family: var(--font-display);
  font-size: 22px;
  font-weight: 800;
  color: var(--orange);
  letter-spacing: -0.5px;
}
footer.sw-footer .sw-footer__price-txt {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.55);
  font-weight: 300;
}
/* Réseaux sociaux */
footer.sw-footer .sw-footer__social {
  display: flex;
  gap: 10px;
}
footer.sw-footer .sw-footer__social-btn {
  width: 36px;
  height: 36px;
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  text-decoration: none;
  transition: background 0.2s, border-color 0.2s;
  flex-shrink: 0;
}
footer.sw-footer .sw-footer__social-btn:hover {
  background: rgba(251, 146, 60, 0.2);
  border-color: rgba(251, 146, 60, 0.4);
  color: #fff;
}
footer.sw-footer .sw-footer__social-btn svg {
  width: 15px;
  height: 15px;
}
/* ── Colonnes liens ─────────────────────────────────────────── */
footer.sw-footer .sw-footer__col-title {
  font-size: 11px;
  font-weight: 500;
  color: #fff;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  margin-bottom: 18px;
}
footer.sw-footer .sw-footer__links {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 11px;
}
footer.sw-footer .sw-footer__links a {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.8);
  font-weight: 300;
  text-decoration: none;
  transition: color .2s;
}
footer.sw-footer .sw-footer__links a:hover {
  color: var(--orange);
}
/* ════════════════════════════════════════════════════════════
   SÉPARATEUR
════════════════════════════════════════════════════════════ */
footer.sw-footer .sw-footer__sep {
  height: 1px;
  background: rgba(255, 255, 255, 0.08);
  position: relative;
  z-index: 1;
}
/* ════════════════════════════════════════════════════════════
   BOTTOM
════════════════════════════════════════════════════════════ */
footer.sw-footer .sw-footer__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 0;
  position: relative;
  z-index: 1;
  flex-wrap: wrap;
  gap: 12px;
}
footer.sw-footer .sw-footer__copy {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.75);
  font-weight: 300;
}
footer.sw-footer .sw-footer__legal {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}
footer.sw-footer .sw-footer__legal a {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.75);
  text-decoration: none;
  transition: color .2s;
}
footer.sw-footer .sw-footer__legal a:hover {
  color: rgba(255, 255, 255, 0.7);
}
footer.sw-footer .sw-footer__brand .logo img {
  max-width: 120px;
  height: auto;
  border-radius: 15px;
  margin-bottom: 1rem;
}
/* ════════════════════════════════════════════════════════════
   BANDE ORANGE BAS DE PAGE
════════════════════════════════════════════════════════════ */
footer.sw-footer .sw-footer__stripe {
  height: 4px;
  background: var(--orange);
  position: relative;
  z-index: 1;
}
/* ════════════════════════════════════════════════════════════
   RESPONSIVE
════════════════════════════════════════════════════════════ */
@media (max-width: 991.98px) {
  footer.sw-footer .sw-footer__top {
    grid-template-columns: 1fr 1fr;
    gap: 36px;
  }
  footer.sw-footer .sw-footer__brand {
    grid-column: span 2;
  }
}
@media (max-width: 575.98px) {
  footer.sw-footer {
    padding-top: 40px;
  }
  footer.sw-footer .sw-footer__top {
    grid-template-columns: 1fr 1fr;
    gap: 28px;
  }
  footer.sw-footer .sw-footer__brand {
    grid-column: span 2;
  }
  footer.sw-footer .sw-footer__bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
  footer.sw-footer .sw-footer__legal {
    gap: 14px;
  }
}
.sanihweb {
  position: relative;
  margin-right: 1rem;
}
.sanihweb:after {
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='2000' zoomAndPan='magnify' viewBox='0 0 1500 1499.999933' height='2000' preserveAspectRatio='xMidYMid meet' version='1.0'%3E%3Cdefs%3E%3CclipPath id='2d4e0aee33'%3E%3Cpath d='M 500 0.359375 L 1500 0.359375 L 1500 984.753906 L 500 984.753906 Z M 500 0.359375 ' clip-rule='nonzero'/%3E%3C/clipPath%3E%3CclipPath id='ca49d57a5d'%3E%3Cpath d='M 1500 5.609375 L 1500 979.503906 C 1500 982.402344 1497.648438 984.753906 1494.75 984.753906 L 505.25 984.753906 C 502.351562 984.753906 500 982.402344 500 979.503906 L 500 5.609375 C 500 2.710938 502.351562 0.359375 505.25 0.359375 L 1494.75 0.359375 C 1497.648438 0.359375 1500 2.710938 1500 5.609375 Z M 1500 5.609375 ' clip-rule='nonzero'/%3E%3C/clipPath%3E%3CclipPath id='1560fcc2bc'%3E%3Cpath d='M 0 0.359375 L 1000 0.359375 L 1000 984.753906 L 0 984.753906 Z M 0 0.359375 ' clip-rule='nonzero'/%3E%3C/clipPath%3E%3CclipPath id='7e26659808'%3E%3Cpath d='M 1000 5.609375 L 1000 979.503906 C 1000 982.402344 997.648438 984.753906 994.75 984.753906 L 5.25 984.753906 C 2.351562 984.753906 0 982.402344 0 979.503906 L 0 5.609375 C 0 2.710938 2.351562 0.359375 5.25 0.359375 L 994.75 0.359375 C 997.648438 0.359375 1000 2.710938 1000 5.609375 Z M 1000 5.609375 ' clip-rule='nonzero'/%3E%3C/clipPath%3E%3CclipPath id='8bac632793'%3E%3Crect x='0' width='1000' y='0' height='985'/%3E%3C/clipPath%3E%3CclipPath id='f33d1e5b66'%3E%3Cpath d='M 0 382.90625 L 1000 382.90625 L 1000 1367.300781 L 0 1367.300781 Z M 0 382.90625 ' clip-rule='nonzero'/%3E%3C/clipPath%3E%3CclipPath id='b910f988c5'%3E%3Cpath d='M 1000 388.15625 L 1000 1362.050781 C 1000 1364.949219 997.648438 1367.300781 994.75 1367.300781 L 5.25 1367.300781 C 2.351562 1367.300781 0 1364.949219 0 1362.050781 L 0 388.15625 C 0 385.257812 2.351562 382.90625 5.25 382.90625 L 994.75 382.90625 C 997.648438 382.90625 1000 385.257812 1000 388.15625 Z M 1000 388.15625 ' clip-rule='nonzero'/%3E%3C/clipPath%3E%3CclipPath id='fb82fe4aef'%3E%3Cpath d='M 0 0.90625 L 1000 0.90625 L 1000 985.300781 L 0 985.300781 Z M 0 0.90625 ' clip-rule='nonzero'/%3E%3C/clipPath%3E%3CclipPath id='af501c0af9'%3E%3Cpath d='M 1000 6.15625 L 1000 980.050781 C 1000 982.949219 997.648438 985.300781 994.75 985.300781 L 5.25 985.300781 C 2.351562 985.300781 0 982.949219 0 980.050781 L 0 6.15625 C 0 3.257812 2.351562 0.90625 5.25 0.90625 L 994.75 0.90625 C 997.648438 0.90625 1000 3.257812 1000 6.15625 Z M 1000 6.15625 ' clip-rule='nonzero'/%3E%3C/clipPath%3E%3CclipPath id='3cfb86a2a5'%3E%3Crect x='0' width='1000' y='0' height='986'/%3E%3C/clipPath%3E%3CclipPath id='53449717b1'%3E%3Cpath d='M 112.417969 494.484375 L 888 494.484375 L 888 1257.554688 L 112.417969 1257.554688 Z M 112.417969 494.484375 ' clip-rule='nonzero'/%3E%3C/clipPath%3E%3CclipPath id='7bfd043e22'%3E%3Cpath d='M 887.582031 496.734375 L 887.582031 1255.304688 C 887.582031 1255.902344 887.347656 1256.472656 886.925781 1256.898438 C 886.503906 1257.320312 885.929688 1257.554688 885.332031 1257.554688 L 114.667969 1257.554688 C 114.070312 1257.554688 113.496094 1257.320312 113.074219 1256.898438 C 112.652344 1256.472656 112.417969 1255.902344 112.417969 1255.304688 L 112.417969 496.734375 C 112.417969 496.136719 112.652344 495.566406 113.074219 495.144531 C 113.496094 494.722656 114.070312 494.484375 114.667969 494.484375 L 885.332031 494.484375 C 885.929688 494.484375 886.503906 494.722656 886.925781 495.144531 C 887.347656 495.566406 887.582031 496.136719 887.582031 496.734375 Z M 887.582031 496.734375 ' clip-rule='nonzero'/%3E%3C/clipPath%3E%3CclipPath id='d07aaaa494'%3E%3Cpath d='M 0.417969 0.484375 L 775.761719 0.484375 L 775.761719 763.554688 L 0.417969 763.554688 Z M 0.417969 0.484375 ' clip-rule='nonzero'/%3E%3C/clipPath%3E%3CclipPath id='286927a0ec'%3E%3Cpath d='M 775.582031 2.734375 L 775.582031 761.304688 C 775.582031 761.902344 775.347656 762.472656 774.925781 762.898438 C 774.503906 763.320312 773.929688 763.554688 773.332031 763.554688 L 2.667969 763.554688 C 2.070312 763.554688 1.496094 763.320312 1.074219 762.898438 C 0.652344 762.472656 0.417969 761.902344 0.417969 761.304688 L 0.417969 2.734375 C 0.417969 2.136719 0.652344 1.566406 1.074219 1.144531 C 1.496094 0.722656 2.070312 0.484375 2.667969 0.484375 L 773.332031 0.484375 C 773.929688 0.484375 774.503906 0.722656 774.925781 1.144531 C 775.347656 1.566406 775.582031 2.136719 775.582031 2.734375 Z M 775.582031 2.734375 ' clip-rule='nonzero'/%3E%3C/clipPath%3E%3CclipPath id='2eb68cbf22'%3E%3Crect x='0' width='776' y='0' height='764'/%3E%3C/clipPath%3E%3CclipPath id='53083d8b11'%3E%3Crect x='0' width='1500' y='0' height='1368'/%3E%3C/clipPath%3E%3C/defs%3E%3Cg transform='matrix(1, 0, 0, 1, 0, 66)'%3E%3Cg clip-path='url(%2353083d8b11)'%3E%3Cg clip-path='url(%232d4e0aee33)'%3E%3Cg clip-path='url(%23ca49d57a5d)'%3E%3Cg transform='matrix(1, 0, 0, 1, 500, 0.000000000000113687)'%3E%3Cg clip-path='url(%238bac632793)'%3E%3Cg clip-path='url(%231560fcc2bc)'%3E%3Cg clip-path='url(%237e26659808)'%3E%3Cpath fill='%23fb923c' d='M 0 0.359375 L 999.773438 0.359375 L 999.773438 984.753906 L 0 984.753906 Z M 0 0.359375 ' fill-opacity='1' fill-rule='nonzero'/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3Cg clip-path='url(%23f33d1e5b66)'%3E%3Cg clip-path='url(%23b910f988c5)'%3E%3Cg transform='matrix(1, 0, 0, 1, 0, 382)'%3E%3Cg clip-path='url(%233cfb86a2a5)'%3E%3Cg clip-path='url(%23fb82fe4aef)'%3E%3Cg clip-path='url(%23af501c0af9)'%3E%3Cpath fill='%23fb923c' d='M 0 0.90625 L 999.773438 0.90625 L 999.773438 985.300781 L 0 985.300781 Z M 0 0.90625 ' fill-opacity='1' fill-rule='nonzero'/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3Cg clip-path='url(%2353449717b1)'%3E%3Cg clip-path='url(%237bfd043e22)'%3E%3Cg transform='matrix(1, 0, 0, 1, 112, 494)'%3E%3Cg clip-path='url(%232eb68cbf22)'%3E%3Cg clip-path='url(%23d07aaaa494)'%3E%3Cg clip-path='url(%23286927a0ec)'%3E%3Cpath fill='%23ffffff' d='M 0.417969 0.484375 L 775.410156 0.484375 L 775.410156 763.554688 L 0.417969 763.554688 Z M 0.417969 0.484375 ' fill-opacity='1' fill-rule='nonzero'/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  width: 15px;
  height: 15px;
  display: block;
  background-size: contain;
  position: absolute;
  top: -8px;
  right: -17px;
}
/* ============================================
   FORMULAIRE INSCRIPTION - #nf-form-1-cont
   ============================================ */
:root {
  --blue: #1E3A8A;
  --orange: #FB923C;
  --light: #F8F7F4;
  --text: #1a1a2e;
  --muted: #474751;
  --border: #dde0ec;
}
/* --- Conteneur principal --- */
#nf-form-1-cont {
  font-family: 'Jost', 'DM Sans', sans-serif;
  background: #fff;
  border-radius: 24px;
  box-shadow: 0 8px 48px rgba(30, 58, 138, 0.1), 0 1px 4px rgba(30, 58, 138, 0.06);
  max-width: 900px;
  margin: 2rem auto;
  padding: 48px 44px 44px;
  position: relative;
}
#nf-form-1-cont .nf-error.field-wrap .nf-field-element::after {
  border-radius: 10px;
}
/* Barre dégradée en haut */
#nf-form-1-cont::before {
  content: '';
  position: absolute;
  top: 0;
  left: 44px;
  right: 44px;
  height: 4px;
  background: linear-gradient(90deg, var(--blue) 0%, var(--orange) 100%);
  border-radius: 0 0 8px 8px;
}
/* --- Titre --- */
#nf-form-1-cont .nf-form-title h3 {
  font-family: 'Playfair Display', 'Syne', serif;
  font-size: 26px;
  font-weight: 700;
  color: var(--text);
  text-align: center;
  margin-bottom: 8px;
}
/* --- Message champs obligatoires --- */
#nf-form-1-cont .nf-form-fields-required {
  font-size: 13px;
  color: var(--muted);
  text-align: center;
  margin-bottom: 28px;
}
#nf-form-1-cont .ninja-forms-req-symbol {
  color: var(--orange);
}
/* --- Rows & Cells --- */
#nf-form-1-cont .nf-row {
  display: flex;
  gap: 16px;
  margin-bottom: 4px;
}
#nf-form-1-cont nf-cells {
  display: flex;
  width: 100%;
  gap: 16px;
}
#nf-form-1-cont .nf-cell {
  flex: 1;
  min-width: 0;
}
/* --- Conteneurs de champs --- */
#nf-form-1-cont .nf-field-container {
  margin-bottom: 20px;
}
/* --- Labels --- */
#nf-form-1-cont .nf-field-label label,
#nf-form-1-cont .nf-field-label .nf-label-span {
  display: block;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: black;
  margin-bottom: 8px;
}
#nf-form-1-cont .list-radio-wrap label::after,
#nf-form-1-cont .list-radio-wrap label::before {
  display: none;
}
/* --- Inputs texte / tel / date --- */
#nf-form-1-cont input[type="text"],
#nf-form-1-cont input[type="tel"],
#nf-form-1-cont .pikaday__container input.form-control {
  width: 100%;
  border: 1.5px solid var(--border);
  border-radius: 12px;
  padding: 13px 16px;
  font-family: inherit;
  font-size: 15px;
  color: var(--text);
  background: #fff;
  outline: none;
  transition: border-color 0.2s, box-shadow 0.2s;
  appearance: none;
  -webkit-appearance: none;
}
#nf-form-1-cont input[type="text"]:focus,
#nf-form-1-cont input[type="tel"]:focus,
#nf-form-1-cont .pikaday__container input.form-control:focus {
  border-color: var(--blue);
  box-shadow: 0 0 0 3px rgba(30, 58, 138, 0.08);
}
/* --- Champ date (Flatpickr / Pikaday) --- */
#nf-form-1-cont .pikaday__container {
  position: relative;
}
#nf-form-1-cont input[type="hidden"] {
  display: none;
}
/* --- Message HTML (info âge) --- */
#nf-form-1-cont .html-container #nf-field-11-wrap .nf-field-element p {
  font-size: 13px;
  color: var(--muted);
  background: rgba(30, 58, 138, 0.05);
  border-left: 3px solid var(--blue);
  border-radius: 0 8px 8px 0;
  padding: 10px 14px;
  margin: 0 0 4px;
  line-height: 1.5;
}
#nf-form-1-cont .html-container #nf-field-16-wrap .nf-field-element p {
  margin-bottom: 0.3rem;
  font-family: 'Jost', 'DM Sans', sans-serif;
}
/* Masquer le label "HTML" du champ html-container */
#nf-form-1-cont .html-container .nf-field-label {
  display: none;
}
/* --- Radio Genre --- */
#nf-form-1-cont .listradio-container .nf-field-element ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  gap: 12px;
}
#nf-form-1-cont .listradio-container .nf-field-element ul li {
  flex: 1;
}
/* Cacher le radio natif */
#nf-form-1-cont .listradio-container input[type="radio"] {
  display: none;
}
/* Label radio stylisé en bouton */
#nf-form-1-cont .listradio-container ul li label {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 13px 16px;
  background: var(--light);
  border: 1.5px solid var(--border);
  border-radius: 12px;
  font-size: 14px;
  font-weight: 500;
  color: var(--muted);
  text-transform: none;
  letter-spacing: 0;
  cursor: pointer;
  transition: all .2s;
  text-align: center;
  margin: 0 !important;
}
#nf-form-1-cont .listradio-container ul li label:hover {
  border-color: var(--blue);
  color: var(--blue);
}
/* Radio coché */
#nf-form-1-cont .listradio-container input[type="radio"]:checked + label {
  background: var(--blue);
  border-color: var(--blue);
  color: #fff;
  box-shadow: 0 4px 14px rgba(30, 58, 138, 0.22);
}
/* Optionnel : 2e option (Fille) en orange */
#nf-form-1-cont #nf-field-12-1:checked + label {
  background: var(--orange);
  border-color: var(--orange);
  box-shadow: 0 4px 14px rgba(251, 146, 60, 0.22);
}
/* --- Messages d'erreur --- */
#nf-form-1-cont .nf-error-wrap .nf-error-msg {
  font-size: 12px;
  color: #e53e3e;
  margin-top: 6px;
  display: block;
}
#nf-form-1-cont .field-wrap.nf-error input {
  border-color: #e53e3e;
  box-shadow: 0 0 0 3px rgba(229, 62, 62, 0.08);
}
/* --- Erreurs globales formulaire --- */
#nf-form-1-cont .nf-form-errors .nf-error-msg {
  font-size: 13px;
  color: #e53e3e;
  background: rgba(229, 62, 62, 0.06);
  border-left: 3px solid #e53e3e;
  border-radius: 0 8px 8px 0;
  padding: 10px 14px;
  margin-bottom: 16px;
}
/* --- Honeypot (anti-spam, à cacher) --- */
#nf-form-1-cont .nf-form-hp {
  display: none !important;
}
/* --- Bouton submit --- */
#nf-form-1-cont input[type="submit"] {
  width: 100%;
  padding: 15px;
  border: none;
  border-radius: 14px;
  background: linear-gradient(135deg, var(--blue) 0%, #2d4fb5 100%);
  color: #fff;
  font-family: inherit;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.04em;
  cursor: pointer;
  transition: transform 0.15s, box-shadow 0.2s, opacity 0.2s;
  box-shadow: 0 4px 20px rgba(30, 58, 138, 0.28);
  appearance: none;
  -webkit-appearance: none;
}
#nf-form-1-cont input[type="submit"]:hover:not(:disabled) {
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(30, 58, 138, 0.35);
}
#nf-form-1-cont input[type="submit"]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
/* --- Responsive mobile --- */
@media (max-width: 520px) {
  #nf-form-1-cont {
    padding: 36px 20px 28px;
  }
  #nf-form-1-cont::before {
    left: 20px;
    right: 20px;
  }
  #nf-form-1-cont .nf-row,
  #nf-form-1-cont nf-cells {
    flex-direction: column;
    gap: 0;
  }
  #nf-form-1-cont .nf-cell {
    width: 100% !important;
  }
  #nf-form-1-cont .listradio-container .nf-field-element ul {
    flex-direction: row;
  }
}
.single-eleve table tr {
  border: 1px solid black;
}
.single-eleve table tr td {
  padding: 7px 15px;
}
.tableau-de-bord {
  padding-top: 3rem;
}
.tableau-de-bord .info-client .button-client {
  display: flex;
  justify-content: space-between;
}
.tableau-de-bord .info-client .button-client h2 {
  color: #285163;
}
.tableau-de-bord .info-client .button-client a {
  color: white;
  background-color: #ff4141;
  text-decoration: none;
  padding: 0.6rem 1.2rem;
  border-radius: 15px;
}
.tableau-de-bord .info-client .button-client a svg {
  margin-right: 0.5rem;
  margin-bottom: 3px;
}
.tableau-de-bord .info-client .info-compte > span {
  color: #285163;
  font-weight: 600;
  font-size: 22px;
}
.tableau-de-bord .info-client .info-compte .titre {
  color: #285163;
  font-weight: 600;
  font-size: 22px;
}
.tableau-de-bord .info-client .info-compte .absence {
  padding: 1rem;
  background-color: #FFC1C1;
  border-radius: 8px;
  min-height: 50px;
  min-width: 100%;
}
.tableau-de-bord .info-client .info-compte .comportement {
  padding: 1rem;
  background-color: #FFFACD;
  border-radius: 8px;
  min-height: 50px;
  min-width: 100%;
}
.tableau-de-bord .info-client .info-compte .kuran {
  padding: 1rem;
  background-color: #C1E1C1;
  border-radius: 8px;
  min-height: 50px;
  min-width: 100%;
}
.tableau-de-bord .info-client .info-compte .temel {
  padding: 1rem;
  background-color: #B3D9FF;
  border-radius: 8px;
  min-height: 50px;
  min-width: 100%;
}
.tableau-de-bord .info-client .info-compte .ezber {
  width: 100%;
  -webkit-box-shadow: 5px 4px 13px 1px rgba(0, 0, 0, 0.2);
  box-shadow: 5px 4px 13px 1px rgba(0, 0, 0, 0.2);
  display: flex;
  flex-direction: column;
}
.tableau-de-bord .info-client .info-compte .ezber .ligne {
  display: flex;
}
.tableau-de-bord .info-client .info-compte .ezber .ligne > div {
  padding: 0.5rem;
  width: 50%;
}
.tableau-de-bord .info-client .info-compte .ezber .ligne > div:first-of-type {
  border-right: 1px solid rgba(0, 0, 0, 0.2);
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}
.tableau-de-bord .info-client .info-compte .ezber .ligne > div:last-of-type {
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}
.tableau-de-bord .info-client .info-compte .ezber .ligne .ogrenildi {
  background-color: #86e186;
  color: white;
  text-align: center;
}
.tableau-de-bord .info-client .info-compte .ezber .ligne .ogrenilmedi {
  text-align: center;
}
.tableau-de-bord .info-client .info-compte .ezber .ligne-principale {
  background-color: #454b8b;
  color: white;
}
.connexion {
  margin-top: 2rem;
}
.connexion label {
  color: #285163;
}
.connexion input[type="submit"] {
  background-color: rgba(40, 81, 99, 0.8) !important;
  color: white !important;
  border-radius: 10px !important;
  padding: 0.8rem 1.4rem !important;
  -webkit-box-shadow: 5px 1px 15px 1px rgba(0, 0, 0, 0.2) !important;
  box-shadow: 5px 1px 15px 1px rgba(0, 0, 0, 0.2) !important;
  transition: 0.3s;
}
.connexion input[type="submit"]:hover {
  -webkit-box-shadow: 5px 5px 15px 8px rgba(0, 0, 0, 0.2) !important;
  box-shadow: 5px 5px 15px 8px rgba(0, 0, 0, 0.2) !important;
  background-color: #285163 !important;
}
.titre-font {
  font-family: "New Amsterdam", sans-serif;
}
.titre-font * {
  font-size: 55px;
}
@media screen and (max-width: 1199px) {
  .titre-font * {
    font-size: 40px;
  }
}
@media screen and (max-width: 768px) {
  .titre-font * {
    font-size: 30px;
  }
}
.section-obseque .obseque-ab {
  border: 1px solid black;
  border-radius: 8px;
  padding: 1rem 1rem 0;
}
.section-obseque .prix {
  padding: 1rem;
  border-radius: 8px;
}
.section-obseque .prix p,
.section-obseque .prix strong,
.section-obseque .prix h4 {
  color: white;
}
.section-obseque .obseque1 {
  background-color: #1d5369;
}
.section-obseque .obseque2 {
  background-color: #528097;
}
.section-obseque .obseque3 {
  background-color: #90b8b4;
}
.section-obseque .obseque4 {
  background-color: #8da58f;
}
.liste-kermesse {
  background-color: #f0f0f0;
  padding: 1rem;
  border-radius: 20px;
}
.liste-kermesse img {
  border-radius: 20px;
}
.liste-kermesse li {
  list-style: none;
  position: relative;
}
.liste-kermesse li:before {
  content: '';
  width: 10px;
  height: 10px;
  background-color: white;
  border: 3px solid #285163;
  border-radius: 50%;
  display: block;
  position: absolute;
  left: -1rem;
  top: 53%;
  transform: translateY(-50%);
}
.planning h3 {
  background-color: #d06254;
  color: white;
  font-weight: bold;
  padding: 5px 10px;
  position: relative;
}
.planning h3:before {
  content: "";
  position: absolute;
  display: inline-block;
  left: -6px;
  top: 50%;
  transform: translateY(-50%);
  height: 0;
  width: 0;
  border-top: 15px solid transparent;
  border-bottom: 15px solid transparent;
  border-left: 15px solid white;
}
.planning h3:after {
  content: "";
  position: absolute;
  display: inline-block;
  right: -6px;
  top: 50%;
  transform: translateY(-50%);
  height: 0;
  width: 0;
  border-top: 15px solid transparent;
  border-bottom: 15px solid transparent;
  border-right: 15px solid white;
}
.planning .planning-content {
  margin-top: 1.5rem;
}
.planning .planning-content .block-texte {
  background-color: #efdac1;
  padding: 0.5rem 2rem;
  border-bottom-left-radius: 20px;
  border-bottom-right-radius: 20px;
}
.planning .planning-content .block-texte p {
  border-bottom: 1px solid #757575;
  padding: 1.5rem 0;
  margin: 0rem !important;
}
.planning .planning-content .block-texte p:last-of-type {
  border: none;
}
.planning .planning-content h4 {
  margin: 0;
  padding: 0.5rem;
  color: white;
  font-weight: bold;
}
.planning .planning-1 h4 {
  background-color: #4a9f9a;
}
.planning .planning-2 h4 {
  background-color: #518d70;
}
.planning .planning-3 h4 {
  background-color: #df9a55;
}
.planning .planning-4 h4 {
  background-color: #d36356;
}
