/* =============================================================
   AMIRAL PARK - Responsive Fix CSS
   Fichier a injecter via plugin WordPress ou functions.php
   Corrige les breakpoints 1440px et 1600px+
   ============================================================= */

/* =============================================================
   BREAKPOINT 1 : 1440px - 1599px (ecrans moyens/laptop)
   Reduction legere ~92% + fix des chevauchements
   ============================================================= */

@media (min-width: 1400px) and (max-width: 1599px) {

  /* --- CONTAINERS GLOBAUX --- */
  .container,
  .container-fluid {
    max-width: 92% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* --- HEADER / NAV --- */
  #masthead .container.m-0 {
    max-width: 92% !important;
  }

  #masthead .custom-logo {
    max-width: 300px !important;
    height: auto !important;
  }

  #masthead nav a,
  #masthead .menu-item a {
    font-size: 14px !important;
    padding: 10px 4px !important;
  }

  /* --- HERO (page accueil) --- */
  .hero {
    margin-top: 90px !important;
  }

  .hero .border-radius-50 {
    border-radius: 40px !important;
  }

  /* --- CABINET SECTION (accueil) --- */
  .cabinet {
    padding-bottom: 70px !important;
    margin-top: 80px !important;
  }

  .cabinet h1 {
    font-size: 48px !important;
    line-height: 58px !important;
  }

  .cabinet p {
    font-size: 15px !important;
    line-height: 24px !important;
  }

  .cabinet .cabinet-img {
    max-width: 580px !important;
    height: auto !important;
  }

  /* --- ENGAGEMENTS --- */
  .engagements h2 {
    font-size: 34px !important;
    line-height: 44px !important;
  }

  .engagements h3 {
    font-size: 26px !important;
    line-height: 34px !important;
  }

  .engagements .valeurs_row {
    max-width: 92% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .engagements .valeurs-item {
    padding: 28px !important;
  }

  .engagements .valeurs-item img,
  .engagements .valeurs-item svg {
    max-width: 60px !important;
    max-height: 60px !important;
  }

  /* --- TRAITEMENTS (cartes) --- */
  .traitements {
    padding: 100px 0 !important;
    overflow: hidden !important;
  }

  .traitements h2 {
    font-size: 34px !important;
    line-height: 44px !important;
  }

  .traitementitem {
    width: 460px !important;
    height: 520px !important;
    border-radius: 40px !important;
  }

  .traitementitem .traitementitem-link {
    font-size: 14px !important;
    padding: 10px 45px !important;
  }

  /* --- PARALAX / QUOTE --- */
  .paralax {
    border-radius: 40px !important;
  }

  .paralax p,
  #paralax p {
    font-size: 38px !important;
  }

  /* --- URGENCES --- */
  .urgences {
    padding: 70px 0 100px !important;
  }

  .urgences h2 {
    font-size: 34px !important;
    line-height: 44px !important;
  }

  .urgences .urgences-container {
    border-radius: 40px !important;
    padding: 110px 0 70px 100px !important;
  }

  .urgences .btn,
  .urgences .primary-button,
  .urgences .btn_template {
    font-size: 14px !important;
    padding: 10px 50px !important;
  }

  /* --- ACCES / MAPS --- */
  .acces iframe,
  .maps iframe,
  .google-map iframe {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* --- CONTACT FORM --- */
  .contact h2,
  #contact h2 {
    font-size: 34px !important;
    line-height: 44px !important;
  }

  .contact .primary-button,
  #contact .primary-button {
    font-size: 14px !important;
    padding: 10px 50px !important;
  }

  /* --- BOUTONS GENERAUX --- */
  .primary-button.btn {
    font-size: 14px !important;
    padding: 10px 50px !important;
    height: auto !important;
  }

  /* --- BOUTONS FLOTTANTS (fix chevauchement) --- */
  .contact_wrapper {
    right: 15px !important;
    transform: scale(0.85) !important;
    transform-origin: right center !important;
  }

  .locations-contact_wrapper {
    right: 15px !important;
    transform: scale(0.85) !important;
    transform-origin: right center !important;
  }

  .contact_wrapper .button_location,
  .locations-contact_wrapper .button_location {
    width: 60px !important;
    height: 60px !important;
    padding: 14px !important;
    border-radius: 12px !important;
  }

  /* --- FIX : marge droite pour eviter chevauchement texte/boutons --- */
  #page > section,
  #page > .decription,
  .container_lg,
  .Cabinet-description,
  .page-content-wrapper {
    padding-right: 80px !important;
    box-sizing: border-box !important;
  }

  /* --- FOOTER --- */
  .site-footer .container {
    max-width: 92% !important;
    padding: 0 24px !important;
  }

  .site-footer .custom-logo,
  .site-footer img[src*="Logo"] {
    max-width: 280px !important;
    height: auto !important;
  }

  /* --- BORDURES ARRONDIES GLOBALES --- */
  .border-radius-50 {
    border-radius: 40px !important;
  }
}


/* =============================================================
   BREAKPOINT 2 : 1600px et plus (grands ecrans / desktop)
   Container a 85% + reduction 85% de tous les elements
   ============================================================= */

@media (min-width: 1600px) {

  /* --- CONTAINERS GLOBAUX --- */
  .container,
  .container-fluid {
    max-width: 85% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* --- HEADER / NAV --- */
  #masthead {
    padding: 0 3% !important;
  }

  #masthead .container.m-0 {
    max-width: 85% !important;
  }

  #masthead .custom-logo {
    max-width: 280px !important;
    height: auto !important;
  }

  #masthead nav a,
  #masthead .menu-item a {
    font-size: 14px !important;
    padding: 10px 3px !important;
    letter-spacing: 1px !important;
  }

  /* --- HERO (page accueil) --- */
  .hero {
    margin: 85px auto 0 !important;
    max-width: 85% !important;
  }

  .hero .border-radius-50 {
    border-radius: 40px !important;
  }

  /* --- CABINET SECTION (accueil) --- */
  .cabinet {
    max-width: 85% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-bottom: 60px !important;
    margin-top: 70px !important;
  }

  .cabinet h1 {
    font-size: 44px !important;
    line-height: 54px !important;
    letter-spacing: 1.5px !important;
  }

  .cabinet h2 {
    font-size: 34px !important;
    line-height: 42px !important;
  }

  .cabinet p {
    font-size: 14px !important;
    line-height: 23px !important;
  }

  .cabinet .cabinet-img,
  .cabinet img[src*="orthodontie"],
  .cabinet img[src*="consultation"] {
    max-width: 85% !important;
    height: auto !important;
  }

  .cabinet .Vector,
  .cabinet img[src*="Vector"] {
    max-width: 65px !important;
    max-height: 65px !important;
  }

  /* --- ENGAGEMENTS --- */
  .engagements {
    max-width: 85% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .engagements h2 {
    font-size: 32px !important;
    line-height: 40px !important;
  }

  .engagements h3 {
    font-size: 22px !important;
    line-height: 30px !important;
    letter-spacing: 1.5px !important;
  }

  .engagements .valeurs_row {
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .engagements .valeurs-item {
    padding: 24px !important;
  }

  .engagements .valeurs-item img,
  .engagements .valeurs-item svg {
    max-width: 55px !important;
    max-height: 55px !important;
  }

  /* --- TRAITEMENTS (cartes - fix overflow) --- */
  .traitements {
    max-width: 85% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 90px 0 !important;
    overflow: hidden !important;
  }

  .traitements h2 {
    font-size: 32px !important;
    line-height: 40px !important;
  }

  .traitementitem {
    width: 400px !important;
    height: 480px !important;
    border-radius: 40px !important;
  }

  .traitementitem h3,
  .traitementitem .traitementitem-title {
    font-size: 20px !important;
  }

  .traitementitem .traitementitem-link {
    font-size: 13px !important;
    padding: 10px 40px !important;
  }

  /* --- PARALAX / QUOTE --- */
  .paralax,
  #paralax {
    max-width: 85% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    border-radius: 40px !important;
  }

  .paralax p,
  #paralax p {
    font-size: 36px !important;
  }

  /* --- URGENCES --- */
  .urgences {
    max-width: 85% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 60px 0 90px !important;
  }

  .urgences h2 {
    font-size: 32px !important;
    line-height: 40px !important;
  }

  .urgences p {
    font-size: 14px !important;
    line-height: 23px !important;
  }

  .urgences .urgences-container {
    border-radius: 40px !important;
    padding: 100px 0 60px 90px !important;
  }

  .urgences .btn,
  .urgences .primary-button,
  .urgences .btn_template {
    font-size: 13px !important;
    padding: 10px 45px !important;
  }

  /* --- ACCES SECTION --- */
  .acces,
  section:has(> .acces-title),
  section:has(h2:contains("Acces")) {
    max-width: 85% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Maps responsives */
  iframe[src*="google.com/maps"],
  .google-map iframe,
  .maps iframe {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* --- CONTACT FORM --- */
  .contact,
  #contact {
    max-width: 85% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .contact h2,
  #contact h2 {
    font-size: 32px !important;
    line-height: 40px !important;
  }

  .contact p,
  #contact p {
    font-size: 14px !important;
  }

  .contact input,
  .contact textarea,
  #contact input,
  #contact textarea {
    font-size: 14px !important;
  }

  .contact .primary-button,
  #contact .primary-button {
    font-size: 13px !important;
    padding: 10px 45px !important;
  }

  /* --- BOUTONS GENERAUX --- */
  .primary-button.btn {
    font-size: 13px !important;
    padding: 10px 45px !important;
    height: auto !important;
    letter-spacing: 1.5px !important;
  }

  /* --- FIX : marge droite pour eviter chevauchement texte/boutons --- */
  #page > section,
  #page > .decription,
  .container_lg,
  .Cabinet-description,
  .page-content-wrapper {
    padding-right: 80px !important;
    box-sizing: border-box !important;
  }

  /* --- BOUTONS FLOTTANTS (fix chevauchement critique) --- */
  .contact_wrapper {
    right: 10px !important;
    transform: scale(0.8) !important;
    transform-origin: right center !important;
  }

  .locations-contact_wrapper {
    right: 10px !important;
    transform: scale(0.8) !important;
    transform-origin: right center !important;
  }

  .contact_wrapper .button_location,
  .locations-contact_wrapper .button_location {
    width: 55px !important;
    height: 55px !important;
    padding: 12px !important;
    border-radius: 11px !important;
  }

  .contact_wrapper .button_location img,
  .contact_wrapper .button_location svg,
  .locations-contact_wrapper .button_location img,
  .locations-contact_wrapper .button_location svg {
    max-width: 24px !important;
    max-height: 24px !important;
  }

  /* --- FOOTER --- */
  .site-footer {
    padding: 70px 0 30px !important;
  }

  .site-footer .container {
    max-width: 85% !important;
    padding: 0 24px !important;
  }

  .site-footer .custom-logo,
  .site-footer img[src*="Logo"],
  .site-footer img[src*="logo"] {
    max-width: 240px !important;
    height: auto !important;
  }

  .site-footer a {
    font-size: 14px !important;
  }

  .site-footer p {
    font-size: 13px !important;
  }

  /* --- BORDURES ARRONDIES GLOBALES --- */
  .border-radius-50 {
    border-radius: 35px !important;
  }
}


/* =============================================================
   PAGES INTERNES - Corrections specifiques
   (s'appliquent a tous les breakpoints >= 1400px)
   ============================================================= */

@media (min-width: 1400px) {

  /* --- PAGE BANNER (toutes pages internes) --- */
  .page-banner,
  .page-header-banner,
  section.hero-banner {
    max-width: 85% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    border-radius: 40px !important;
    overflow: hidden !important;
  }

  /* --- PAGE CABINET --- */
  body.page-template-cabinet .cabinet_wrapper,
  .page-id-cabinet .cabinet_wrapper {
    max-width: 85% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* --- PAGES TRAITEMENTS (enfant/ado/adulte/senior) --- */
  .single-traitement section,
  body[class*="orthodontie"] section {
    max-width: 85% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Fix : contenu texte ne doit pas toucher les boutons flottants */
  .single-traitement .row,
  body[class*="orthodontie"] .row {
    max-width: calc(100% - 100px) !important;
  }

  /* --- PAGE QUAND CONSULTER --- */
  body[class*="quand-consulter"] .grid-container,
  body[class*="quand-consulter"] .row {
    max-width: 85% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* --- PAGE CONSEILS --- */
  body[class*="conseils"] .articles-grid,
  body[class*="conseils"] .row {
    max-width: 85% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* --- FLECHES DE NAVIGATION --- */
  .slick-prev,
  .slick-next,
  .swiper-button-prev,
  .swiper-button-next,
  .carousel-prev,
  .carousel-next {
    transform: scale(0.85) !important;
  }

  /* --- ICONES DECORATIVES --- */
  .engagement-icon,
  .icon-wrapper img,
  .icon-wrapper svg {
    max-width: 55px !important;
    max-height: 55px !important;
  }
}


/* =============================================================
   FIX GLOBAL : Widget chat repositionne
   ============================================================= */

@media (min-width: 1400px) {
  /* Widget chat - deplacer en bas a gauche proprement */
  .cmplz-cookiebanner,
  [class*="chat-widget"],
  [class*="chatbot"],
  [id*="chat"] {
    /* Ne pas toucher au z-index pour ne pas casser la fonctionnalite */
  }
}
