/**
 * PPR — classes CSS Elementor (global, toutes pages)
 *
 * HERO (widgets)
 *   ppr-hero-eyebrow, ppr-hero-title, ppr-hero-subtitle, ppr-hero-actions
 *   ppr-btn-primary, ppr-btn-ghost
 *
 * HERO (conteneurs)
 *   ppr-page-hero, ppr-hero
 *
 * INTRO
 *   ppr-section-sand, ppr-intro-grid, ppr-intro-stats, ppr-intro-stats-stack
 *   ppr-stat-card, ppr-stat-value, ppr-stat-label
 *   ppr-section-eyebrow, ppr-section-title, ppr-intro-actions, ppr-btn-outline
 *
 * SECTIONS
 *   ppr-section, ppr-section-white, ppr-section-header
 *   ppr-info-grid, ppr-info-card, ppr-info-card-title, ppr-info-list
 *   ppr-contact-grid, ppr-contact-card, ppr-contact-card-title, ppr-contact-hours
 *   ppr-tariffs-section, ppr-tariff-image, ppr-tariff-note
 *   ppr-section-cta, ppr-btn-light
 *   ppr-breadcrumb
 *
 * Charger via functions.php : ppr_enqueue_hero_classes_css()
 * Version 1.0.30 — portraits contact : cadrage haut (visages non coupés)
 */

/* ── Hero pleine largeur (supprime les bandes blanches latérales) ── */
.ppr-page-hero,
.e-flexbox-base:has(.ppr-hero),
.e-flexbox-base:has(.ppr-hero-title),
.e-atomic-element:has(.ppr-hero),
.e-atomic-element:has(.ppr-hero-title) {
  --padding-top: 0px !important;
  --padding-right: 0px !important;
  --padding-bottom: 0px !important;
  --padding-left: 0px !important;
  padding: 0 !important;
  margin: 0 !important;
  max-width: none !important;
  width: 100% !important;
  overflow-x: clip;
}

/* Breakout viewport — spécificité élevée pour passer devant l'ancien cache W3TC */
body .e-con.ppr-hero,
body .e-con.e-parent.ppr-hero,
body .e-con:has(> .elementor-widget.ppr-hero-title),
body .e-con:has(> .elementor-widget.ppr-hero-eyebrow) {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  box-sizing: border-box !important;
}

/* Boxed : fond pleine largeur, contenu centré dans l'inner */
body .e-con.ppr-hero.e-con-boxed > .e-con-inner,
body .e-con:has(> .elementor-widget.ppr-hero-title) > .e-con-inner {
  max-width: min(1200px, calc(100% - 2rem)) !important;
  width: 100% !important;
  margin-inline: auto !important;
}

/* ── Eyebrow ── */
.ppr-hero-eyebrow .elementor-heading-title,
.hero-eyebrow .elementor-heading-title {
  font-family: "DM Sans", sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
  opacity: 0.85 !important;
  -webkit-text-stroke: 0 transparent !important;
  stroke: none !important;
  margin: 0 0 16px !important;
}

/* ── Titre H1 ── */
.ppr-hero-title .elementor-heading-title {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(36px, 4.5vw, 56px) !important;
  font-weight: 500 !important;
  line-height: 1.08 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  color: #ffffff !important;
  -webkit-text-stroke: 0 transparent !important;
  stroke: none !important;
  margin: 0 0 16px !important;
}

/* ── Sous-titre ── */
.ppr-hero-subtitle {
  width: 100% !important;
  max-width: none !important;
}

.ppr-hero-subtitle .elementor-heading-title,
.hero-subtitle .elementor-heading-title {
  font-family: "DM Sans", sans-serif !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  color: #ffffff !important;
  opacity: 0.9 !important;
  max-width: none !important;
  margin: 0 0 32px !important;
}

/* ── Rangée boutons ── */
.ppr-hero-actions {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  justify-content: flex-start !important;
  align-items: center !important;
  gap: 0.75rem !important;
}

/* ── Boutons PPR — classe sur le WIDGET (Avancé → Classes CSS) ── */
.elementor-widget.elementor-widget-button.ppr-btn-primary .elementor-button,
.elementor-widget.elementor-widget-button.ppr-btn-outline .elementor-button,
.elementor-widget.elementor-widget-button.ppr-btn-ghost .elementor-button,
.elementor-widget.elementor-widget-button.ppr-btn-light .elementor-button,
.elementor-element.ppr-btn-primary.elementor-widget-button .elementor-button,
.elementor-element.ppr-btn-outline.elementor-widget-button .elementor-button,
.elementor-element.ppr-btn-ghost.elementor-widget-button .elementor-button,
.elementor-element.ppr-btn-light.elementor-widget-button .elementor-button,
.ppr-btn-primary .elementor-button,
.ppr-btn-outline .elementor-button,
.ppr-btn-ghost .elementor-button,
.ppr-btn-light .elementor-button {
  border-radius: 999px !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  padding: 14px 28px !important;
  border-width: 2px !important;
  border-style: solid !important;
  line-height: 1 !important;
  box-shadow: none !important;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease !important;
}

.elementor-widget.elementor-widget-button.ppr-btn-primary .elementor-button,
.elementor-element.ppr-btn-primary.elementor-widget-button .elementor-button,
.ppr-btn-primary .elementor-button {
  background-color: #1b3a4b !important;
  background: #1b3a4b !important;
  color: #ffffff !important;
  border-color: #1b3a4b !important;
}

.elementor-widget.elementor-widget-button.ppr-btn-primary .elementor-button:hover,
.elementor-widget.elementor-widget-button.ppr-btn-primary .elementor-button:focus,
.elementor-element.ppr-btn-primary.elementor-widget-button .elementor-button:hover,
.elementor-element.ppr-btn-primary.elementor-widget-button .elementor-button:focus,
.ppr-btn-primary .elementor-button:hover,
.ppr-btn-primary .elementor-button:focus {
  background-color: #0f2a38 !important;
  background: #0f2a38 !important;
  border-color: #0f2a38 !important;
  color: #ffffff !important;
}

.elementor-widget.elementor-widget-button.ppr-btn-ghost .elementor-button,
.elementor-element.ppr-btn-ghost.elementor-widget-button .elementor-button,
.ppr-btn-ghost .elementor-button {
  background-color: transparent !important;
  background: transparent !important;
  color: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.6) !important;
}

.elementor-widget.elementor-widget-button.ppr-btn-ghost .elementor-button:hover,
.elementor-widget.elementor-widget-button.ppr-btn-ghost .elementor-button:focus,
.elementor-element.ppr-btn-ghost.elementor-widget-button .elementor-button:hover,
.elementor-element.ppr-btn-ghost.elementor-widget-button .elementor-button:focus,
.ppr-btn-ghost .elementor-button:hover,
.ppr-btn-ghost .elementor-button:focus {
  background-color: rgba(255, 255, 255, 0.12) !important;
  background: rgba(255, 255, 255, 0.12) !important;
  border-color: #ffffff !important;
  color: #ffffff !important;
}

@media (max-width: 800px) {
  .ppr-hero-title .elementor-heading-title {
    font-size: clamp(32px, 8vw, 40px) !important;
  }

  .ppr-hero-subtitle .elementor-heading-title {
    font-size: 16px !important;
  }
}

/* ── Section intro (fond sable + chiffres clés) ── */
.ppr-section-sand {
  background-color: #f5f0eb !important;
}

.ppr-intro-grid {
  gap: clamp(2rem, 5vw, 4rem) !important;
}

.ppr-intro-grid > .e-con,
.ppr-intro-grid > .e-con-inner {
  min-width: 0 !important;
}

.ppr-intro-stats {
  gap: 1rem !important;
  align-items: stretch !important;
}

/* Variante empilée (colonne droite en vertical — OK maquette mobile) */
.ppr-intro-stats-stack,
.ppr-intro-stats.ppr-intro-stats-stack {
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  max-width: 280px !important;
}

.ppr-stat-card {
  flex: 1 1 0 !important;
  align-self: stretch !important;
  min-width: 0 !important;
  min-height: 100% !important;
  background: #ffffff !important;
  border-radius: 12px !important;
  padding: 1.25rem 0.75rem !important;
  text-align: center !important;
  box-shadow: 0 4px 24px rgba(27, 58, 75, 0.08) !important;
  border: 1px solid rgba(27, 58, 75, 0.12) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
}

.ppr-intro-stats > .e-con.ppr-stat-card,
.ppr-intro-stats > .ppr-stat-card {
  align-self: stretch !important;
  height: auto !important;
}

.ppr-stat-value .elementor-heading-title {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(1.75rem, 3vw, 2.25rem) !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  color: #1b3a4b !important;
  margin: 0 0 0.35rem !important;
}

.ppr-stat-label .elementor-heading-title {
  font-family: "DM Sans", sans-serif !important;
  font-size: 0.75rem !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  letter-spacing: 0.02em !important;
  color: #6b7280 !important;
  margin: 0 !important;
}

.ppr-section-eyebrow .elementor-heading-title {
  font-family: "DM Sans", sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #c4785a !important;
  margin: 0 0 12px !important;
}

.ppr-section-title .elementor-heading-title {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(1.75rem, 3.5vw, 2.75rem) !important;
  font-weight: 500 !important;
  line-height: 1.15 !important;
  color: #1b3a4b !important;
  margin: 0 0 1rem !important;
}

.ppr-intro-actions,
.e-con-boxed:has(.ppr-intro-stats) .ppr-hero-actions {
  margin-top: 1.5rem !important;
}

.elementor-widget.elementor-widget-button.ppr-btn-outline .elementor-button,
.elementor-element.ppr-btn-outline.elementor-widget-button .elementor-button,
.ppr-btn-outline .elementor-button {
  background: transparent !important;
  background-color: transparent !important;
  color: #1b3a4b !important;
  border-color: #1b3a4b !important;
}

.elementor-widget.elementor-widget-button.ppr-btn-outline .elementor-button-link,
.elementor-element.ppr-btn-outline.elementor-widget-button .elementor-button-link,
.ppr-btn-outline .elementor-button-content-wrapper,
.ppr-btn-outline .elementor-button-link {
  background: transparent !important;
  background-color: transparent !important;
  color: #1b3a4b !important;
}

.elementor-widget.elementor-widget-button.ppr-btn-outline .elementor-button:hover,
.elementor-widget.elementor-widget-button.ppr-btn-outline .elementor-button:focus,
.elementor-element.ppr-btn-outline.elementor-widget-button .elementor-button:hover,
.elementor-element.ppr-btn-outline.elementor-widget-button .elementor-button:focus,
.ppr-btn-outline .elementor-button:hover,
.ppr-btn-outline .elementor-button:focus {
  background-color: #1b3a4b !important;
  background: #1b3a4b !important;
  color: #ffffff !important;
  border-color: #1b3a4b !important;
}


@media (max-width: 640px) {
  .ppr-stat-card {
    padding: 1rem !important;
  }

  .ppr-stat-label .elementor-heading-title {
    font-size: 0.6rem !important;
    line-height: 1.35 !important;
  }
}

/* ── Sections communes ── */
.ppr-section {
  padding-top: clamp(3rem, 6vw, 5rem) !important;
  padding-bottom: clamp(3rem, 6vw, 5rem) !important;
}

.ppr-section-white {
  background-color: #ffffff !important;
}

/* En-tête de section — max-width UNIQUEMENT sur les titres, pas sur le conteneur Elementor */
.ppr-section-header.e-con,
.e-con.ppr-section-header {
  max-width: none !important;
  width: 100% !important;
  text-align: center !important;
}

/* Grilles : NE PAS mettre ppr-info-grid dans ppr-section-header (voir guide Elementor) */
.ppr-section-header .ppr-info-grid {
  margin-top: clamp(1.5rem, 3vw, 2.5rem) !important;
}

.ppr-section-header.e-con > .e-con-inner {
  width: 100% !important;
  max-width: min(1200px, calc(100% - 2rem)) !important;
  margin-inline: auto !important;
}

/* Titres centrés, largeur limitée (640px) */
.ppr-section-header .elementor-widget.ppr-section-eyebrow,
.ppr-section-header .elementor-widget.ppr-section-title {
  max-width: 640px !important;
  width: 100% !important;
  margin-inline: auto !important;
}

.ppr-section-header .ppr-section-eyebrow .elementor-heading-title,
.ppr-section-header .ppr-section-title .elementor-heading-title {
  text-align: center !important;
}

.ppr-lead,
.ppr-lead .elementor-widget-container {
  font-family: "DM Sans", sans-serif !important;
  font-size: 1.0625rem !important;
  line-height: 1.65 !important;
  color: #4b5563 !important;
}

/* ── Grilles — gap uniquement ; direction/largeur = réglages Elementor responsive ── */
.ppr-info-grid,
.ppr-contact-grid {
  gap: 1.5rem !important;
}

.ppr-info-grid > .e-con.ppr-info-card,
.ppr-info-grid > .e-con-full.ppr-info-card,
.ppr-contact-grid > .e-con.ppr-contact-card,
.ppr-contact-grid > .e-con-full.ppr-contact-card {
  min-width: 0 !important;
}

/* Desktop large : post-15817.css force --width:99px sur d03fb45/8d1d54a/27b21a6 (>1200px) */
@media (min-width: 1201px) {
  .elementor-15817 .ppr-contact-grid > .e-con.ppr-contact-card,
  .elementor-15817 .ppr-contact-grid > .e-con-full.ppr-contact-card,
  .elementor-15817 .elementor-element.elementor-element-d03fb45,
  .elementor-15817 .elementor-element.elementor-element-8d1d54a,
  .elementor-15817 .elementor-element.elementor-element-27b21a6 {
    flex: 1 1 0 !important;
    flex-grow: 1 !important;
    flex-shrink: 1 !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: none !important;
    --width: auto !important;
  }
}

.ppr-info-card {
  background: #ffffff !important;
  border-radius: 12px !important;
  padding: 1.75rem !important;
  border: 1px solid rgba(27, 58, 75, 0.12) !important;
  box-shadow: 0 4px 24px rgba(27, 58, 75, 0.08) !important;
  text-align: left !important;
}

.ppr-info-card .elementor-widget-container,
.ppr-info-card .elementor-widget-html,
.ppr-info-card ul,
.ppr-info-card li {
  text-align: left !important;
}

/* Titre de carte — classe sur le WIDGET Titre (H3), conteneur parent = ppr-info-card
   Elementor v4 : pas de .elementor-widget-container → trait sable sur le wrapper widget */
.elementor-widget.elementor-widget-heading.ppr-info-card-title .elementor-heading-title,
.elementor-element.ppr-info-card-title.elementor-widget-heading .elementor-heading-title,
.ppr-info-card .elementor-widget.ppr-info-card-title .elementor-heading-title,
.ppr-info-card-title .elementor-heading-title {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 1.375rem !important;
  font-weight: 600 !important;
  color: #1b3a4b !important;
  margin: 0 !important;
  padding-bottom: 0 !important;
  border-bottom: none !important;
  text-align: left !important;
  line-height: 1.2 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}

.elementor-widget.elementor-widget-heading.ppr-info-card-title,
.elementor-element.ppr-info-card-title.elementor-widget-heading,
.ppr-info-card .elementor-widget.ppr-info-card-title {
  position: relative !important;
  padding-bottom: 0.75rem !important;
  margin-bottom: 1rem !important;
  border-bottom: none !important;
  text-align: left !important;
}

.elementor-widget.elementor-widget-heading.ppr-info-card-title::after,
.elementor-element.ppr-info-card-title.elementor-widget-heading::after,
.ppr-info-card .elementor-widget.ppr-info-card-title::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  height: 2px !important;
  background-color: #f5f0eb !important;
  pointer-events: none !important;
}

.ppr-info-card .elementor-widget-text-editor ul,
.ppr-info-card .elementor-widget-html ul,
.ppr-info-card .elementor-widget-theme-post-content ul,
.ppr-info-card .ppr-info-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 0.5rem !important;
  width: 100% !important;
}

.ppr-info-card .elementor-widget-text-editor ul li,
.ppr-info-card .elementor-widget-html ul li,
.ppr-info-card .elementor-widget-theme-post-content ul li,
.ppr-info-card .ppr-info-list li,
.ppr-info-card ul.ppr-info-list li {
  position: relative !important;
  padding-left: 1.25rem !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 14px !important;
  color: #6b7280 !important;
  line-height: 1.45 !important;
}

.ppr-info-card .elementor-widget-text-editor ul li::before,
.ppr-info-card .elementor-widget-html ul li::before,
.ppr-info-card .elementor-widget-theme-post-content ul li::before,
.ppr-info-card .ppr-info-list li::before,
.ppr-info-card ul.ppr-info-list li::before,
.ppr-info-card .elementor-widget-icon-list.ppr-info-list .elementor-icon-list-item::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0.55em !important;
  width: 6px !important;
  height: 6px !important;
  border-radius: 50% !important;
  background: #c4785a !important;
}

/* Liste — widget Icon List Elementor (accastillage) ou HTML/texte (marina) */
.ppr-info-card .elementor-widget-icon-list.ppr-info-list .elementor-icon-list-items,
.ppr-info-list.elementor-widget-icon-list .elementor-icon-list-items {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.5rem !important;
  width: 100% !important;
}

.ppr-info-card .elementor-widget-icon-list.ppr-info-list .elementor-icon-list-item,
.ppr-info-list.elementor-widget-icon-list .elementor-icon-list-item {
  position: relative !important;
  padding-left: 1.25rem !important;
  align-items: flex-start !important;
}

.ppr-info-card .elementor-widget-icon-list.ppr-info-list .elementor-icon-list-icon,
.ppr-info-list.elementor-widget-icon-list .elementor-icon-list-icon {
  display: none !important;
}

.ppr-info-card .elementor-widget-icon-list.ppr-info-list .elementor-icon-list-text,
.ppr-info-list.elementor-widget-icon-list .elementor-icon-list-text {
  font-family: "DM Sans", sans-serif !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  color: #6b7280 !important;
}

/* ppr-info-list — widget HTML ou Éditeur de texte, ou class="" dans le HTML */
.ppr-info-list.elementor-widget-html .elementor-widget-container,
.ppr-info-list.elementor-widget-html ul,
.ppr-info-list.elementor-widget-html ul li,
.ppr-info-list.elementor-widget-text-editor .elementor-widget-container,
.ppr-info-list.elementor-widget-text-editor ul,
.ppr-info-list.elementor-widget-text-editor ul li,
.ppr-info-list ul,
.ppr-info-list ul li,
ul.ppr-info-list,
ul.ppr-info-list li {
  font-family: "DM Sans", sans-serif !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  color: #6b7280 !important;
}

.ppr-info-list ul,
ul.ppr-info-list,
.ppr-info-list.elementor-widget-html ul,
.ppr-info-list.elementor-widget-text-editor ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.5rem !important;
}

.ppr-info-list ul li,
ul.ppr-info-list li,
.ppr-info-list.elementor-widget-html ul li,
.ppr-info-list.elementor-widget-text-editor ul li {
  position: relative !important;
  padding-left: 1.25rem !important;
}

.ppr-info-list ul li::before,
ul.ppr-info-list li::before,
.ppr-info-list.elementor-widget-html ul li::before,
.ppr-info-list.elementor-widget-text-editor ul li::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0.55em !important;
  width: 6px !important;
  height: 6px !important;
  border-radius: 50% !important;
  background: #c4785a !important;
}

/* Masquer le crayon d'édition Elementor sur les widgets HTML des cartes */
.ppr-info-card .elementor-widget-html .elementor-inline-editing,
.ppr-info-card .elementor-widget-html .elementor-inline-editing-pen,
.ppr-info-card .elementor-widget-html .elementor-inline-editing + .elementor-inline-editing-pen {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* ── Cartes contact ── */
.ppr-contact-card {
  background: #ffffff !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  border: 1px solid rgba(27, 58, 75, 0.12) !important;
  box-shadow: 0 4px 24px rgba(27, 58, 75, 0.08) !important;
  display: flex !important;
  flex-direction: column !important;
  text-align: left !important;
}

.ppr-contact-card .elementor-widget-image img,
.ppr-contact-card .elementor-widget-image-gallery img,
.ppr-contact-card .e-gallery-item img,
.ppr-contact-card figure img {
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  aspect-ratio: 4 / 3 !important;
  object-fit: cover !important;
  object-position: top center !important;
  display: block !important;
}

.ppr-contact-card-body.e-con,
.e-con.ppr-contact-card-body,
.ppr-contact-card-body {
  padding: 1.25rem !important;
  flex: 1 1 auto !important;
  width: 100% !important;
  --width: 100% !important;
  gap: 0.5rem !important;
  --gap: 0.5rem !important;
  --row-gap: 0.5rem !important;
  --column-gap: 0.5rem !important;
  --widgets-spacing: 0px !important;
  --widgets-spacing-row: 0px !important;
  --widgets-spacing-column: 0px !important;
}

.ppr-contact-card-body .elementor-widget,
.ppr-contact-card .ppr-contact-card-body .elementor-widget {
  margin: 0 !important;
  --widget-margin: 0px !important;
  --widget-margin-bottom: 0px !important;
  --widget-margin-top: 0px !important;
}

.ppr-contact-card-body .elementor-widget-container,
.ppr-contact-card .ppr-contact-card-body .elementor-widget-container {
  font-family: "DM Sans", sans-serif !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.ppr-contact-card-title .elementor-heading-title,
.ppr-contact-card-title.elementor-widget-heading .elementor-heading-title,
.elementor-widget-heading.ppr-contact-card-title .elementor-heading-title {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 1.125rem !important;
  font-weight: 600 !important;
  color: #1b3a4b !important;
  margin: 0 0 0.25rem !important;
  line-height: 1.25 !important;
  text-align: left !important;
}

.ppr-contact-hours .elementor-heading-title,
.ppr-contact-hours .elementor-widget-container,
.ppr-contact-hours.elementor-widget-text-editor .elementor-widget-container,
.ppr-contact-hours.elementor-widget-text-editor p,
.elementor-widget-text-editor.ppr-contact-hours p {
  font-family: "DM Sans", sans-serif !important;
  font-size: 0.7125rem !important;
  font-weight: 500 !important;
  color: #c4785a !important;
  line-height: 1.4 !important;
  margin: 0 0 0.625rem !important;
  padding: 0 !important;
}

.ppr-contact-card .elementor-widget-text-editor p,
.ppr-contact-card .elementor-widget-text-editor li,
.ppr-contact-card .elementor-widget-html p,
.ppr-contact-card .ppr-contact-details p,
.ppr-contact-card .ppr-contact-details li,
.ppr-contact-details .elementor-widget-container,
.ppr-contact-details.elementor-widget-text-editor .elementor-widget-container,
.ppr-contact-details.elementor-widget-html .elementor-widget-container,
.ppr-contact-details p,
.ppr-contact-details li,
.ppr-contact-details dd,
dl.ppr-contact-details dd {
  font-family: "DM Sans", sans-serif !important;
  font-size: 14px !important;
  color: #1b3a4b !important;
  line-height: 1.5 !important;
  margin-bottom: 0.15rem !important;
  text-align: left !important;
}

.ppr-contact-card .elementor-widget-text-editor a,
.ppr-contact-card .elementor-widget-html a,
.ppr-contact-card .ppr-contact-details a,
.ppr-contact-details a,
dl.ppr-contact-details a {
  color: #1b3a4b !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  font-size: inherit !important;
}

.ppr-contact-card .elementor-widget-text-editor a:hover,
.ppr-contact-card .elementor-widget-html a:hover,
.ppr-contact-card .ppr-contact-details a:hover,
.ppr-contact-details a:hover,
dl.ppr-contact-details a:hover {
  color: #c4785a !important;
}

.ppr-contact-card .elementor-widget-text-editor strong,
.ppr-contact-card .elementor-widget-text-editor b,
.ppr-contact-card .elementor-widget-html strong,
.ppr-contact-card .elementor-widget-html b,
.ppr-contact-card .ppr-contact-details strong,
.ppr-contact-card .ppr-contact-details b,
.ppr-contact-details strong,
.ppr-contact-details b,
.ppr-contact-details dt,
dl.ppr-contact-details dt {
  display: block !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  color: #6b7280 !important;
  margin: 0.35rem 0 0.1rem !important;
  line-height: 1.3 !important;
}

.ppr-contact-details dl,
dl.ppr-contact-details {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.15rem !important;
  margin: 0 !important;
  padding: 0 !important;
}

.ppr-contact-details dd,
dl.ppr-contact-details dd {
  margin: 0 0 0.25rem !important;
}

.ppr-contact-details dt:first-child,
dl.ppr-contact-details dt:first-child,
.ppr-contact-details p:first-child strong,
.ppr-contact-details p:first-child b {
  margin-top: 0 !important;
}

/* Fallback titre si classe oubliée sur le widget Titre */
.ppr-contact-card-body > .elementor-widget-heading:first-child .elementor-heading-title {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 1.125rem !important;
  font-weight: 600 !important;
  color: #1b3a4b !important;
  margin: 0 0 0.25rem !important;
  line-height: 1.25 !important;
}

.ppr-contact-details.elementor-widget-html .elementor-inline-editing,
.ppr-contact-details.elementor-widget-html .elementor-inline-editing-pen,
.ppr-contact-card .elementor-widget-html .elementor-inline-editing,
.ppr-contact-card .elementor-widget-html .elementor-inline-editing-pen {
  display: none !important;
}

/* ── Tarifs ── */
.ppr-tariffs-section,
.ppr-tarifs-section {
  background-color: #ffffff !important;
}

/* Neutraliser le vert Elementor (#61ce70) sur hover/active des onglets */
.elementor-widget-n-tabs.ppr-tariffs-tabs,
.ppr-tariffs-tabs.elementor-widget-n-tabs,
.ppr-tariffs-tabs .elementor-widget-n-tabs,
.e-con.ppr-tariffs-tabs .elementor-widget-n-tabs {
  --n-tabs-color-accent-fallback: #1b3a4b !important;
  --n-tabs-title-background-color-hover: #1b3a4b !important;
  --n-tabs-title-background-color-active: #1b3a4b !important;
  --n-tabs-title-color-hover: #ffffff !important;
  --n-tabs-title-color-active: #ffffff !important;
}

.ppr-tariffs-tabs.e-n-tabs,
.ppr-tariffs-tabs .e-n-tabs {
  width: 100% !important;
  max-width: 1140px !important;
  margin-inline: auto !important;
}

.ppr-tariffs-tabs .e-n-tabs-content {
  max-width: 1140px !important;
  margin-inline: auto !important;
}

.ppr-tariff-image img,
.ppr-tariff-image .elementor-widget-container img,
.elementor-widget-image.ppr-tariff-image img,
#tarifs .ppr-tariffs-tabs .elementor-widget-image img,
.ppr-tariffs-tabs .elementor-widget-image img {
  width: 100% !important;
  max-width: 1140px !important;
  margin-inline: auto !important;
  display: block !important;
  border-radius: 12px !important;
  box-shadow: 0 4px 24px rgba(27, 58, 75, 0.08) !important;
  border: 1px solid rgba(27, 58, 75, 0.12) !important;
}

.ppr-tariff-note .elementor-heading-title,
.ppr-tariff-note.elementor-widget-heading .elementor-heading-title,
.elementor-widget-heading.ppr-tariff-note .elementor-heading-title,
.ppr-tariff-note .elementor-widget-container,
.ppr-tariff-note.elementor-widget-text-editor .elementor-widget-container,
.ppr-tariff-note.elementor-widget-html .elementor-widget-container,
.ppr-tariff-note.elementor-widget-text-editor p,
.elementor-widget-text-editor.ppr-tariff-note p,
.ppr-tariff-note p,
#tarifs .ppr-tariff-note,
#tarifs .ppr-tariff-note p {
  text-align: center !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 0.875rem !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  color: #6b7280 !important;
  margin: 1rem 0 0 !important;
  padding: 0 !important;
}

/* Onglets Elementor natifs — style pill */
.ppr-tariffs-tabs .e-n-tabs-heading {
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 0.5rem !important;
  margin-bottom: 2rem !important;
}

.ppr-tariffs-tabs .e-n-tab-title,
.ppr-tariffs-tabs button.e-n-tab-title {
  border-radius: 999px !important;
  border: 1px solid rgba(27, 58, 75, 0.12) !important;
  background-color: #ffffff !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  color: #6b7280 !important;
  padding: 0.625rem 1.25rem !important;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease !important;
}

.ppr-tariffs-tabs .e-n-tab-title:hover,
.ppr-tariffs-tabs .e-n-tab-title:focus-visible,
.ppr-tariffs-tabs button.e-n-tab-title:hover,
.ppr-tariffs-tabs button.e-n-tab-title:focus-visible {
  background-color: #1b3a4b !important;
  border-color: #1b3a4b !important;
  color: #ffffff !important;
}

.ppr-tariffs-tabs .e-n-tab-title:hover .e-n-tab-title-text,
.ppr-tariffs-tabs .e-n-tab-title[aria-selected="true"] .e-n-tab-title-text {
  color: #ffffff !important;
}

.ppr-tariffs-tabs .e-n-tab-title[aria-selected="true"],
.ppr-tariffs-tabs button.e-n-tab-title[aria-selected="true"] {
  background-color: #1b3a4b !important;
  border-color: #1b3a4b !important;
  color: #ffffff !important;
}

/* Mobile : Elementor v4 intercale titre/contenu (accordéon) — regrouper les 3 boutons au-dessus */
@media (max-width: 767px) {
  .elementor-widget-n-tabs.ppr-tariffs-tabs .e-n-tabs-heading,
  .ppr-tariffs-tabs.elementor-widget-n-tabs .e-n-tabs-heading,
  .ppr-tariffs-tabs .e-n-tabs-heading {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    width: 100% !important;
    gap: 0.5rem !important;
    margin-bottom: 1.5rem !important;
  }

  .ppr-tariffs-tabs .e-n-tabs-heading > .e-n-tab-title,
  .ppr-tariffs-tabs .e-n-tabs-heading > button.e-n-tab-title {
    width: 100% !important;
    flex: 0 0 auto !important;
  }

  /* Titres dupliqués injectés dans chaque panneau (mode mobile natif) */
  .ppr-tariffs-tabs .e-n-tabs-content .e-n-tab-title {
    display: none !important;
  }
}

/* ── CTA bas de page ── */
.ppr-section-cta {
  background-color: #1b3a4b !important;
  text-align: center !important;
}

.ppr-section-cta .ppr-section-title .elementor-heading-title {
  color: #ffffff !important;
  margin-bottom: 0.75rem !important;
}

.ppr-section-cta .ppr-lead .elementor-widget-container,
.ppr-section-cta .elementor-widget-text-editor {
  color: rgba(255, 255, 255, 0.9) !important;
  max-width: 480px !important;
  margin-inline: auto !important;
  margin-bottom: 1.5rem !important;
}

.elementor-widget.elementor-widget-button.ppr-btn-light .elementor-button,
.elementor-element.ppr-btn-light.elementor-widget-button .elementor-button,
.ppr-btn-light .elementor-button {
  background-color: #ffffff !important;
  background: #ffffff !important;
  color: #1b3a4b !important;
  border-color: #ffffff !important;
}

.elementor-widget.elementor-widget-button.ppr-btn-light .elementor-button:hover,
.elementor-widget.elementor-widget-button.ppr-btn-light .elementor-button:focus,
.elementor-element.ppr-btn-light.elementor-widget-button .elementor-button:hover,
.elementor-element.ppr-btn-light.elementor-widget-button .elementor-button:focus,
.ppr-btn-light .elementor-button:hover,
.ppr-btn-light .elementor-button:focus {
  background-color: #f5f0eb !important;
  background: #f5f0eb !important;
  border-color: #f5f0eb !important;
  color: #1b3a4b !important;
}

/* ── Fil d'Ariane (optionnel) ── */
.ppr-breadcrumb {
  background-color: #f5f0eb !important;
  padding-block: 1rem !important;
}

.ppr-breadcrumb .elementor-widget-container,
.ppr-breadcrumb nav {
  font-family: "DM Sans", sans-serif !important;
  font-size: 13px !important;
}

.ppr-breadcrumb a {
  color: #6b7280 !important;
  text-decoration: none !important;
}

.ppr-breadcrumb a:hover {
  color: #1b3a4b !important;
}

/* ── Masquer ancien bloc MARINA en doublon (marina-test) ── */
.elementor-page-15817 .elementor-element-3f59d6e {
  display: none !important;
}

/* ── Responsive typo uniquement (layout = Elementor, voir marina-elementor-guide.css) ── */
@media (max-width: 1024px) {
  .ppr-section-title .elementor-heading-title {
    font-size: clamp(1.5rem, 5vw, 2rem) !important;
    line-height: 1.2 !important;
  }

  .ppr-lead,
  .ppr-lead .elementor-widget-container {
    font-size: 1rem !important;
    line-height: 1.6 !important;
  }

  .ppr-info-card {
    padding: 1.25rem !important;
  }

  .ppr-info-card .elementor-widget-text-editor ul li,
  .ppr-info-card .elementor-widget-html ul li,
  .ppr-info-card .ppr-info-list li {
    font-size: 15px !important;
  }
}

@media (max-width: 767px) {
  .ppr-hero-subtitle .elementor-heading-title {
    font-size: 15px !important;
    line-height: 1.55 !important;
  }

  .ppr-hero .ppr-hero-actions .elementor-button,
  .elementor-widget.elementor-widget-button[class*="ppr-btn-"] .elementor-button {
    padding: 12px 22px !important;
    font-size: 14px !important;
  }

  .ppr-stat-value .elementor-heading-title {
    font-size: clamp(1.625rem, 7vw, 2rem) !important;
  }

  .ppr-contact-card-body,
  .e-con.ppr-contact-card-body {
    padding: 1rem !important;
  }
}
