/* AL REHAB — DESKTOP MENU PREMIUM ANIMATED */

@media(min-width:768px){

  .site-header{
    background:#fff !important;
    border:none !important;
    box-shadow:0 10px 34px rgba(30,79,42,.045) !important;
    z-index:999 !important;
  }

  .site-header .header-inner{
    width:min(1180px,90%) !important;
    max-width:1180px !important;
    min-height:118px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    padding:18px 0 !important;
  }

  .site-header .site-branding img,
  .site-header .custom-logo{
    max-width:150px !important;
    height:auto !important;
    transition:transform .45s ease, filter .45s ease !important;
  }

  .site-header .site-branding img:hover,
  .site-header .custom-logo:hover{
    transform:translateY(-3px) scale(1.025) !important;
  }
.site-header nav > ul,
.site-header .main-navigation > ul,
.site-header .primary-menu-container > ul,
.site-header #menu-primary-menu{
    display:flex !important;
    align-items:center !important;
    gap:32px !important;
    margin:0 !important;
    padding:0 !important;
  }

  .site-header nav li,
  .site-header .main-navigation li{
    position:relative !important;
    list-style:none !important;
  }

  .site-header nav a,
  .site-header .main-navigation a,
  .site-header .menu-link{
    position:relative !important;
    display:inline-flex !important;
    align-items:center !important;
    color:#1E4F2A !important;
    font-size:15px !important;
    font-weight:500 !important;
    letter-spacing:.035em !important;
    text-decoration:none !important;
    padding:12px 0 !important;
    transition:color .35s ease, transform .35s ease !important;
  }

  .site-header nav a:before,
  .site-header .main-navigation a:before,
  .site-header .menu-link:before{
    content:"" !important;
    position:absolute !important;
    left:50% !important;
    bottom:2px !important;
    width:6px !important;
    height:6px !important;
    border-radius:50% !important;
    background:#D8A12D !important;
    opacity:0 !important;
    transform:translateX(-50%) translateY(6px) scale(.45) !important;
    transition:opacity .35s ease, transform .35s ease !important;
  }

  .site-header nav a:after,
  .site-header .main-navigation a:after,
  .site-header .menu-link:after{
    content:"" !important;
    position:absolute !important;
    left:50% !important;
    bottom:-7px !important;
    width:0 !important;
    height:2px !important;
    border-radius:99px !important;
    background:linear-gradient(90deg,#D8A12D,#357F37) !important;
    transform:translateX(-50%) !important;
    transition:width .42s cubic-bezier(.22,.61,.36,1) !important;
  }

  .site-header nav a:hover,
  .site-header .main-navigation a:hover,
  .site-header .menu-link:hover{
    color:#D8A12D !important;
    transform:translateY(-3px) !important;
  }

  .site-header nav a:hover:before,
  .site-header .main-navigation a:hover:before,
  .site-header .menu-link:hover:before,
  .site-header .current-menu-item > a:before,
  .site-header .current_page_item > a:before{
    opacity:1 !important;
    transform:translateX(-50%) translateY(0) scale(1) !important;
  }

  .site-header nav a:hover:after,
  .site-header .main-navigation a:hover:after,
  .site-header .menu-link:hover:after,
  .site-header .current-menu-item > a:after,
  .site-header .current_page_item > a:after{
    width:100% !important;
  }

  .site-header .current-menu-item > a,
  .site-header .current_page_item > a{
    color:#D8A12D !important;
  }
}
/* AL REHAB — MOBILE DROPDOWN MENU EXACT */

@media(max-width:767px){

  .site-navigation-dropdown{
    background:#ffffff !important;
    box-shadow:0 24px 60px rgba(30,79,42,.14) !important;
    border-top:1px solid rgba(216,161,45,.18) !important;
  }

  .site-navigation-dropdown ul.menu{
    padding:0 !important;
    margin:0 !important;
    background:#ffffff !important;
  }

  .site-navigation-dropdown ul.menu li{
    border-bottom:1px solid rgba(30,79,42,.10) !important;
  }

  .site-navigation-dropdown ul.menu li a{
    position:relative !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:64px !important;
    padding:0 28px !important;
    background:#ffffff !important;
    color:#1E4F2A !important;
    font-size:18px !important;
    font-weight:500 !important;
    letter-spacing:.03em !important;
    text-decoration:none !important;
    box-shadow:none !important;
    transition:color .35s ease, background .35s ease, letter-spacing .35s ease !important;
  }

  .site-navigation-dropdown ul.menu li a:after{
    content:"" !important;
    position:absolute !important;
    left:50% !important;
    bottom:16px !important;
    width:0 !important;
    height:2px !important;
    background:linear-gradient(90deg,#D8A12D,#357F37) !important;
    transform:translateX(-50%) !important;
    transition:width .35s ease !important;
  }

  .site-navigation-dropdown ul.menu li a:hover,
  .site-navigation-dropdown ul.menu li.current-menu-item > a,
  .site-navigation-dropdown ul.menu li.current_page_item > a{
    color:#D8A12D !important;
    background:#F8F8F6 !important;
    letter-spacing:.06em !important;
  }

  .site-navigation-dropdown ul.menu li a:hover:after,
  .site-navigation-dropdown ul.menu li.current-menu-item > a:after,
  .site-navigation-dropdown ul.menu li.current_page_item > a:after{
    width:72px !important;
  }

  .site-navigation-dropdown ul.menu li.current-menu-item > a,
  .site-navigation-dropdown ul.menu li.current_page_item > a{
    background:#1E4F2A !important;
    color:#ffffff !important;
  }
}
/* AL REHAB — PREMIUM FOOTER */

.site-footer,
.site-footer *,
footer,
footer *{
  box-sizing:border-box;
}

.site-footer,
footer.site-footer,
footer{
  position:relative !important;
  background:linear-gradient(180deg,#ffffff 0%,#F8F8F6 100%) !important;
  border-top:1px solid rgba(216,161,45,.22) !important;
  overflow:hidden !important;
}

/* Courbe verte premium */
.site-footer:before,
footer:before{
  content:"" !important;
  position:absolute !important;
  left:-12vw !important;
  top:-8vw !important;
  width:48vw !important;
  height:22vw !important;
  background:#1E4F2A !important;
  border-bottom:6px solid #D8A12D !important;
  border-radius:0 0 80% 0 !important;
  opacity:.055 !important;
  pointer-events:none !important;
}

/* Courbe droite */
.site-footer:after,
footer:after{
  content:"" !important;
  position:absolute !important;
  right:-12vw !important;
  bottom:-10vw !important;
  width:50vw !important;
  height:24vw !important;
  background:#357F37 !important;
  border-top:6px solid #D8A12D !important;
  border-radius:80% 0 0 0 !important;
  opacity:.07 !important;
  pointer-events:none !important;
}

/* Contenu centré */
.site-footer .site-info,
.site-footer .footer-inner,
.site-footer .footer-content,
.site-footer .wp-block-group,
footer .site-info,
footer .footer-inner,
footer .footer-content,
footer .wp-block-group{
  position:relative !important;
  z-index:2 !important;
  max-width:1240px !important;
  margin:0 auto !important;
  padding:64px 5vw 34px !important;
  text-align:center !important;
}

/* Logo */
.site-footer img,
footer img{
  max-width:185px !important;
  height:auto !important;
  margin:0 auto 26px !important;
  display:block !important;
  filter:drop-shadow(0 16px 28px rgba(30,79,42,.10)) !important;
  transition:transform .45s ease, filter .45s ease !important;
}

.site-footer img:hover,
footer img:hover{
  transform:translateY(-4px) scale(1.025) !important;
  filter:drop-shadow(0 22px 34px rgba(30,79,42,.16)) !important;
}

/* Texte copyright */
.site-footer p,
.site-footer .copyright,
.site-footer .site-info,
footer p,
footer .copyright,
footer .site-info{
  color:#1E4F2A !important;
  font-size:15px !important;
  line-height:1.7 !important;
  letter-spacing:.02em !important;
}

/* Petit trait gold */
.site-footer p:before,
footer p:before{
  content:"" !important;
  display:block !important;
  width:72px !important;
  height:2px !important;
  margin:0 auto 22px !important;
  background:linear-gradient(90deg,#D8A12D,#357F37) !important;
  border-radius:999px !important;
}

/* Mobile */
@media(max-width:767px){
  .site-footer .site-info,
  .site-footer .footer-inner,
  .site-footer .footer-content,
  .site-footer .wp-block-group,
  footer .site-info,
  footer .footer-inner,
  footer .footer-content,
  footer .wp-block-group{
    padding:48px 22px 28px !important;
  }

  .site-footer img,
  footer img{
    max-width:150px !important;
    margin-bottom:22px !important;
  }

  .site-footer p,
  footer p{
    font-size:13px !important;
  }
}
/* AL REHAB — DROPDOWN DESIGN ONLY / NO OPENING LOGIC */

@media(min-width:768px){

  .site-navigation-dropdown ul.menu li a,
  .site-navigation ul.sub-menu li a{
    color:#1E4F2A !important;
    background:#fff !important;
    font-size:15px !important;
    font-weight:500 !important;
    letter-spacing:.035em !important;
    padding:16px 22px !important;
    border-radius:12px !important;
    transition:all .3s ease !important;
  }

  .site-navigation-dropdown ul.menu li a:hover,
  .site-navigation ul.sub-menu li a:hover{
    color:#D8A12D !important;
    background:#F8F8F6 !important;
    transform:translateX(5px) !important;
  }

  .site-navigation-dropdown,
  .site-navigation ul.sub-menu{
    border-radius:20px !important;
    border:1px solid rgba(216,161,45,.18) !important;
    box-shadow:0 24px 60px rgba(30,79,42,.12) !important;
    overflow:hidden !important;
    background:#fff !important;
  }
}
/* ==================================================
   AL REHAB — FLUENT FORM ULTRA PREMIUM RESPONSIVE
================================================== */

.fluentform,
.frm-fluent-form,
.fluentform_wrapper{
  width:min(100% - 40px, 720px) !important;
  max-width:720px !important;
  margin:0 auto 100px !important;
  padding:clamp(26px,4vw,48px) !important;
  border-radius:34px !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(216,161,45,.12), transparent 36%),
    linear-gradient(180deg,#ffffff 0%,#fbfcf9 100%) !important;
  border:1px solid rgba(216,161,45,.35) !important;
  box-shadow:0 30px 80px rgba(30,79,42,.11) !important;
  overflow:hidden !important;
}

/* Supprime les largeurs internes qui cassent le mobile */
.fluentform *,
.frm-fluent-form *,
.fluentform_wrapper *{
  box-sizing:border-box !important;
}

.fluentform .ff-el-group,
.frm-fluent-form .ff-el-group{
  width:100% !important;
  margin:0 0 22px !important;
  padding:0 !important;
}

/* Colonnes Fluent Form */
.fluentform .ff-t-container,
.frm-fluent-form .ff-t-container{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:20px !important;
  margin:0 0 22px !important;
}

.fluentform .ff-t-cell,
.frm-fluent-form .ff-t-cell{
  width:100% !important;
  padding:0 !important;
}

/* Labels */
.fluentform label,
.frm-fluent-form label{
  display:block !important;
  margin:0 0 9px !important;
  color:#1E4F2A !important;
  font-size:13px !important;
  font-weight:600 !important;
  letter-spacing:.02em !important;
}

/* Champs */
.fluentform input:not([type="checkbox"]):not([type="radio"]),
.fluentform textarea,
.fluentform select,
.frm-fluent-form input:not([type="checkbox"]):not([type="radio"]),
.frm-fluent-form textarea,
.frm-fluent-form select{
  width:100% !important;
  max-width:100% !important;
  min-height:62px !important;
  padding:16px 20px !important;
  border-radius:22px !important;
  border:1px solid rgba(216,161,45,.32) !important;
  background:rgba(255,255,255,.94) !important;
  color:#1E4F2A !important;
  font-size:15px !important;
  line-height:1.4 !important;
  outline:none !important;
  box-shadow:0 14px 34px rgba(30,79,42,.055) !important;
  transition:all .28s ease !important;
}

/* Placeholder */
.fluentform input::placeholder,
.fluentform textarea::placeholder,
.frm-fluent-form input::placeholder,
.frm-fluent-form textarea::placeholder{
  color:rgba(30,79,42,.45) !important;
}

/* Select */
.fluentform select,
.frm-fluent-form select{
  appearance:auto !important;
  cursor:pointer !important;
}

/* Focus */
.fluentform input:focus,
.fluentform textarea:focus,
.fluentform select:focus,
.frm-fluent-form input:focus,
.frm-fluent-form textarea:focus,
.frm-fluent-form select:focus{
  border-color:#D8A12D !important;
  background:#fff !important;
  box-shadow:
    0 0 0 5px rgba(216,161,45,.12),
    0 18px 40px rgba(30,79,42,.08) !important;
}

/* Textarea */
.fluentform textarea,
.frm-fluent-form textarea{
  min-height:160px !important;
  resize:vertical !important;
}

/* Erreurs */
.fluentform .error,
.frm-fluent-form .error,
.fluentform .ff-el-is-error input,
.fluentform .ff-el-is-error textarea,
.fluentform .ff-el-is-error select{
  border-color:#b94a48 !important;
}

/* Bouton */
.fluentform .ff-btn-submit,
.frm-fluent-form .ff-btn-submit,
.fluentform button[type="submit"],
.frm-fluent-form button[type="submit"]{
  width:100% !important;
  min-height:62px !important;
  margin-top:8px !important;
  border:0 !important;
  border-radius:999px !important;
  background:linear-gradient(135deg,#D8A12D 0%,#E8BC53 100%) !important;
  color:#1E4F2A !important;
  font-size:12px !important;
  font-weight:750 !important;
  letter-spacing:.17em !important;
  text-transform:uppercase !important;
  box-shadow:0 22px 46px rgba(216,161,45,.28) !important;
  transition:all .32s ease !important;
  cursor:pointer !important;
}

.fluentform .ff-btn-submit:hover,
.frm-fluent-form .ff-btn-submit:hover,
.fluentform button[type="submit"]:hover,
.frm-fluent-form button[type="submit"]:hover{
  transform:translateY(-3px) !important;
  box-shadow:0 30px 58px rgba(216,161,45,.38) !important;
}

/* Tablet */
@media(max-width:1024px){
  .fluentform,
  .frm-fluent-form,
  .fluentform_wrapper{
    width:min(100% - 48px, 680px) !important;
    padding:40px 34px !important;
  }
}

/* Mobile */
@media(max-width:767px){
  .fluentform,
  .frm-fluent-form,
  .fluentform_wrapper{
    width:calc(100% - 28px) !important;
    max-width:430px !important;
    padding:28px 20px !important;
    border-radius:28px !important;
    margin:0 auto 70px !important;
  }

  .fluentform .ff-t-container,
  .frm-fluent-form .ff-t-container{
    grid-template-columns:1fr !important;
    gap:0 !important;
    margin-bottom:0 !important;
  }

  .fluentform .ff-el-group,
  .frm-fluent-form .ff-el-group{
    margin-bottom:18px !important;
  }

  .fluentform label,
  .frm-fluent-form label{
    font-size:13px !important;
    text-align:left !important;
  }

  .fluentform input:not([type="checkbox"]):not([type="radio"]),
  .fluentform textarea,
  .fluentform select,
  .frm-fluent-form input:not([type="checkbox"]):not([type="radio"]),
  .frm-fluent-form textarea,
  .frm-fluent-form select{
    min-height:58px !important;
    border-radius:20px !important;
    padding:15px 17px !important;
    font-size:15px !important;
    text-align:center !important;
  }

  .fluentform textarea,
  .frm-fluent-form textarea{
    min-height:140px !important;
  }

  .fluentform .ff-btn-submit,
  .frm-fluent-form .ff-btn-submit,
  .fluentform button[type="submit"],
  .frm-fluent-form button[type="submit"]{
    min-height:58px !important;
    font-size:11px !important;
    letter-spacing:.14em !important;
  }
}

/* Très petit mobile */
@media(max-width:380px){
  .fluentform,
  .frm-fluent-form,
  .fluentform_wrapper{
    width:calc(100% - 20px) !important;
    padding:24px 16px !important;
  }
}