/* Generated by split-polish.py — do not edit directly.
   Source : polish.css. Regenerate by re-running the split script. */

@media (min-width: 1601px) {
  .pt-top-header .container,
  .pt-main-header .container {
 max-width: 1280px !important; margin: 0 auto !important; 
  }
}
/* ============================================================
   Header nav "Rendez-vous" CTA — WCAG AA contrast fix (global)
   Original theme uses accent blue #89ADC9 with white text = 2.36 ratio (FAIL)
   Brand navy #2C3E50 with white = 10.98 ratio (PASS large text)
   ============================================================ */
.navbar .pt-button-container a.pt-button,
.pt-header .pt-button-container a.pt-button,
header .pt-button-container a.pt-button {

  background-color: #2C3E50 !important;
  color: #FFFFFF !important;
  border-color: #2C3E50 !important;
  border-radius: 999px !important;
  padding: 10px 22px !important;
  font-family: 'Kumbh Sans', 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  text-transform: none !important;
  transition: background-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease !important;
  box-shadow: 0 4px 12px rgba(44, 62, 80, 0.15) !important;

}
.navbar .pt-button-container a.pt-button:hover,
.pt-header .pt-button-container a.pt-button:hover,
header .pt-button-container a.pt-button:hover,
.navbar .pt-button-container a.pt-button:focus,
.pt-header .pt-button-container a.pt-button:focus,
header .pt-button-container a.pt-button:focus {

  background-color: #1e2d3d !important;
  color: #FFFFFF !important;
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(44, 62, 80, 0.25) !important;
  text-decoration: none !important;

}

/* Reset text-decoration underline (Bootstrap default) sur tous les liens
   du header — bouton RDV, loupe, menu, réseaux sociaux */
header a,
header a:hover,
header a:focus,
.navbar a,
.navbar a:hover,
.navbar a:focus,
.pt-header a,
.pt-header a:hover,
.pt-header a:focus,
.pt-top-header a,
.pt-top-header a:hover,
.pt-menu-search-block a,
.pt-menu-search-block a:hover,
.pt-menu-search-block a:focus {
  text-decoration: none !important;
}
/* Neutraliser le calque d'animation rectangulaire .pt-btn-cover qui
   casse le pill arrondi. On garde juste le bouton qui change de couleur. */
.navbar .pt-button-container a.pt-button .pt-btn-cover,
.pt-header .pt-button-container a.pt-button .pt-btn-cover,
header .pt-button-container a.pt-button .pt-btn-cover {
  display: none !important;
}
/* Garantir que le texte principal reste visible au hover (le thème cache
   .pt-btn-text par défaut au hover pour révéler .pt-btn-cover-text) */
.navbar .pt-button-container a.pt-button:hover .pt-btn-text,
.pt-header .pt-button-container a.pt-button:hover .pt-btn-text,
header .pt-button-container a.pt-button:hover .pt-btn-text {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  color: #FFFFFF !important;
}
.navbar .pt-button-container a.pt-button:focus-visible,
.pt-header .pt-button-container a.pt-button:focus-visible,
header .pt-button-container a.pt-button:focus-visible {

  outline: 3px solid #89ADC9 !important;
  outline-offset: 3px !important;

}
.navbar .pt-button-container a.pt-button .pt-btn-text,
.pt-header .pt-button-container a.pt-button .pt-btn-text,
header .pt-button-container a.pt-button .pt-btn-text {

  color: #FFFFFF !important;

}
/* Nav header touch targets (WCAG 2.5.5 44px min) - theme wide, pas Elementor */
.navbar .navbar-nav .menu-item > a,
.navbar .navbar-nav > li > a,
header .navbar-nav .menu-item > a {

  min-height: 44px !important;
  display: inline-flex !important;
  align-items: center;
  padding-top: 12px !important;
  padding-bottom: 12px !important;

}

/* Contraste WCAG AA : nav current-page link (aria-current) */
.navbar .navbar-nav .current-menu-item > a,
.navbar .navbar-nav .current_page_item > a,
.navbar .navbar-nav a[aria-current="page"] {
  color: #2C3E50 !important;
  font-weight: 700;
}

/* ============================================================
   Logo mobile : le thème force height:40px à ≤479px mais l'attribut
   HTML width="169" reste fixe, ce qui étire l'image (ratio 4.22 vs
   naturel 2.82) et rend la baseline illisible.
   Fix : libérer width et agrandir la hauteur pour garder la tagline lisible.
   ============================================================ */
@media (max-width: 479px) {
  header#pt-header .pt-bottom-header .navbar .navbar-brand img,
  header#pt-header .pt-bottom-header .navbar .navbar-brand img.logo {
    height: 56px !important;
    width: auto !important;
    max-width: 100% !important;
  }
}

/* Top bar tagline + meta info → Montserrat (aligné sur Text global) */
.pt-top-header,
.pt-top-header .pt-header-tagline,
.pt-top-header .pt-header-tagline *,
.pt-top-header .pt-contact-info,
.pt-top-header .pt-contact-info *,
.pt-top-header p,
.pt-top-header span,
.pt-top-header li,
.pt-top-header a {
  font-family: var(--e-global-typography-text-font-family, "Montserrat"), sans-serif !important;
}

/* Logo sub-tagline "Nutrition & art de vivre inspirés..." */
.navbar-brand + *,
.pt-footer-top .pt-footer-logo + p,
header .navbar-brand p {
  font-family: var(--e-global-typography-text-font-family, "Montserrat"), sans-serif !important;
}

/* Skip links (a11y) hidden par défaut mais rendus quand focus → Montserrat */
.skip-link,
body > a.skip-link {
  font-family: var(--e-global-typography-text-font-family, "Montserrat"), sans-serif !important;
}

/* Top bar social icons (Facebook/Instagram) hover — fix invisibility
   Le thème met bg + color en #89ADC9, l'icône disparaît. On garde l'icône
   blanche et on met juste un fond cercle sombre subtil. */
header .pt-top-header ul li a,
header .pt-top-header .pt-header-social ul li a {
  background-color: transparent !important;
  color: #FFFFFF !important;
}
header .pt-top-header ul li a:hover,
header .pt-top-header ul li a:focus,
header .pt-top-header .pt-header-social ul li a:hover,
header .pt-top-header .pt-header-social ul li a:focus {
  background-color: transparent !important;
  color: #89ADC9 !important;
  opacity: 0.85;
  transition: opacity 0.2s, color 0.2s;
}
header .pt-top-header ul li a:hover i,
header .pt-top-header .pt-header-social ul li a:hover i {
  color: #89ADC9 !important;
}

/* Sidebar offcanvas menu (hamburger mobile) → tout en Montserrat */
.pt-sidebar,
.pt-sidebar *,
.pt-sidebar-block,
.pt-sidebar-block p,
.pt-sidebar-block span,
.pt-sidebar-block li,
.pt-sidebar-block a,
.pt-sidebar-content,
.pt-sidebar-content * {
  font-family: var(--e-global-typography-text-font-family, "Montserrat"), sans-serif !important;
}

/* Tagline sous le logo (header et autres) "Nutrition & art de vivre..." */
.navbar-brand p,
.pt-logo-text p,
.pt-logo + p,
header p {
  font-family: var(--e-global-typography-text-font-family, "Montserrat"), sans-serif !important;
}

/* ============================================================
   Header mobile — CTA "Prendre rendez-vous" sur UNE seule ligne
   (demande cliente). Le thème masquait ce bouton ≤991px ; on le
   réaffiche en bouton ICÔNE SEULE (pastille) pour tenir à côté du
   logo (gardé lisible) + le burger, jusqu'aux petits écrans (320px).
   Le libellé reste dans le DOM : accessibilité (lecteur d'écran) +
   déclencheur du popup Calendly (calendly-popup.js teste le texte).
   ============================================================ */
@media (max-width: 991px) {
  header#pt-header .pt-bottom-header .navbar {
    flex-wrap: nowrap !important;
    align-items: center;
  }
  header#pt-header .pt-bottom-header .navbar .pt-button-container {
    display: flex !important;
    align-items: center;
    flex: 0 0 auto;
    order: 0;
    margin: 0 10px 0 auto !important; /* pousse à droite, juste avant le burger */
    min-width: 0;
  }
  header#pt-header .pt-bottom-header .navbar .pt-button-container a.pt-button {
    width: 46px;
    height: 46px;
    min-width: 0 !important;
    padding: 0 !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden;
  }
  /* Libellé masqué visuellement (conservé pour a11y + JS Calendly) */
  header#pt-header .pt-bottom-header .navbar .pt-button-container a.pt-button .pt-btn-text {
    font-size: 0 !important;
    letter-spacing: 0 !important;
    line-height: 0 !important;
  }
  /* Logo "feuille" masqué : peu parlant pour une prise de RDV */
  header#pt-header .pt-bottom-header .navbar .pt-button-container a.pt-button .pt-btn-text img {
    display: none !important;
  }
  /* Icône calendrier-check (Font Awesome) = prise de rendez-vous, claire */
  header#pt-header .pt-bottom-header .navbar .pt-button-container a.pt-button .pt-btn-text:not(.pt-btn-cover-text)::before {
    content: "\f274"; /* fa-calendar-check */
    font-family: "Font Awesome 5 Free", "Font Awesome 6 Free", "FontAwesome";
    font-weight: 900;
    font-size: 20px !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    color: #FFFFFF;
    display: inline-block;
  }
}

