.elementor-kit-5{--e-global-color-primary:#111212;--e-global-color-secondary:#6A4AE6;--e-global-color-text:#52504C;--e-global-color-accent:#CFBEF9;--e-global-color-p3menthe:#B5F2E0;--e-global-color-p3papier:#F2F1EF;--e-global-color-p3gris:#E8E7E5;--e-global-color-p3blanc:#FFFFFF;--e-global-color-p3noir:#000000;--e-global-color-p3sombre:#1C1E1E;--e-global-color-p3indice:#7A7874;--e-global-typography-primary-font-family:"Schibsted Grotesk";--e-global-typography-primary-font-size:60px;--e-global-typography-primary-font-weight:500;--e-global-typography-primary-line-height:1.1em;--e-global-typography-primary-letter-spacing:-0.07em;--e-global-typography-secondary-font-family:"Schibsted Grotesk";--e-global-typography-secondary-font-size:28px;--e-global-typography-secondary-font-weight:500;--e-global-typography-secondary-line-height:1.2em;--e-global-typography-secondary-letter-spacing:-0.05em;--e-global-typography-text-font-family:"Archivo";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.5em;--e-global-typography-text-letter-spacing:-0.02em;--e-global-typography-accent-font-family:"IBM Plex Mono";--e-global-typography-accent-font-size:15px;--e-global-typography-accent-font-weight:500;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-line-height:1em;--e-global-typography-accent-letter-spacing:-0.04em;--e-global-typography-p3h1-font-family:"Geist";--e-global-typography-p3h1-font-size:83px;--e-global-typography-p3h1-font-weight:500;--e-global-typography-p3h1-line-height:1.04em;--e-global-typography-p3h1-letter-spacing:-0.055em;--e-global-typography-p3h2-font-family:"Schibsted Grotesk";--e-global-typography-p3h2-font-size:60px;--e-global-typography-p3h2-font-weight:500;--e-global-typography-p3h2-line-height:1.1em;--e-global-typography-p3h2-letter-spacing:-0.07em;--e-global-typography-p3h3-font-family:"Schibsted Grotesk";--e-global-typography-p3h3-font-size:28px;--e-global-typography-p3h3-font-weight:500;--e-global-typography-p3h3-line-height:1.2em;--e-global-typography-p3h3-letter-spacing:-0.05em;--e-global-typography-p3h4-font-family:"Archivo";--e-global-typography-p3h4-font-size:20px;--e-global-typography-p3h4-font-weight:500;--e-global-typography-p3h4-line-height:1.3em;--e-global-typography-p3h4-letter-spacing:-0.02em;--e-global-typography-p3accroche-font-family:"Geist";--e-global-typography-p3accroche-font-size:44px;--e-global-typography-p3accroche-font-weight:500;--e-global-typography-p3accroche-line-height:1.1em;--e-global-typography-p3accroche-letter-spacing:-0.05em;--e-global-typography-p3lead-font-family:"Geist";--e-global-typography-p3lead-font-size:20px;--e-global-typography-p3lead-font-weight:400;--e-global-typography-p3lead-line-height:1.5em;--e-global-typography-p3lead-letter-spacing:-0.01em;--e-global-typography-p3chapo-font-family:"Archivo";--e-global-typography-p3chapo-font-size:18px;--e-global-typography-p3chapo-font-weight:400;--e-global-typography-p3chapo-line-height:1.5em;--e-global-typography-p3chapo-letter-spacing:-0.02em;--e-global-typography-p3texte-font-family:"Archivo";--e-global-typography-p3texte-font-size:16px;--e-global-typography-p3texte-font-weight:400;--e-global-typography-p3texte-line-height:1.5em;--e-global-typography-p3texte-letter-spacing:-0.02em;--e-global-typography-p3petit-font-family:"Archivo";--e-global-typography-p3petit-font-size:14px;--e-global-typography-p3petit-font-weight:400;--e-global-typography-p3petit-line-height:1.5em;--e-global-typography-p3petit-letter-spacing:-0.02em;--e-global-typography-p3label-font-family:"Archivo";--e-global-typography-p3label-font-size:18px;--e-global-typography-p3label-font-weight:500;--e-global-typography-p3label-line-height:1.222em;--e-global-typography-p3label-letter-spacing:-0.02em;--e-global-typography-p3lien-font-family:"Archivo";--e-global-typography-p3lien-font-size:18px;--e-global-typography-p3lien-font-weight:500;--e-global-typography-p3lien-line-height:1.333em;--e-global-typography-p3lien-letter-spacing:-0.02em;--e-global-typography-p3legende-font-family:"Archivo";--e-global-typography-p3legende-font-size:24px;--e-global-typography-p3legende-font-weight:500;--e-global-typography-p3legende-line-height:1.2em;--e-global-typography-p3legende-letter-spacing:-0.03em;--e-global-typography-p3tel-font-family:"Archivo";--e-global-typography-p3tel-font-size:28px;--e-global-typography-p3tel-font-weight:500;--e-global-typography-p3tel-line-height:1.071em;--e-global-typography-p3tel-letter-spacing:-0.03em;--e-global-typography-p3chiffre-font-family:"Geist";--e-global-typography-p3chiffre-font-size:56px;--e-global-typography-p3chiffre-font-weight:500;--e-global-typography-p3chiffre-line-height:1em;--e-global-typography-p3chiffre-letter-spacing:-0.05em;--e-global-typography-p3chiffre_l-font-family:"Geist";--e-global-typography-p3chiffre_l-font-size:24px;--e-global-typography-p3chiffre_l-font-weight:400;--e-global-typography-p3chiffre_l-line-height:1.292em;--e-global-typography-p3chiffre_l-letter-spacing:-0.02em;--e-global-typography-p3titrepied-font-family:"Schibsted Grotesk";--e-global-typography-p3titrepied-font-size:42px;--e-global-typography-p3titrepied-font-weight:500;--e-global-typography-p3titrepied-line-height:1.1em;--e-global-typography-p3titrepied-letter-spacing:-0.07em;--e-global-typography-p3etiquette-font-family:"IBM Plex Mono";--e-global-typography-p3etiquette-font-size:12px;--e-global-typography-p3etiquette-font-weight:500;--e-global-typography-p3etiquette-text-transform:uppercase;--e-global-typography-p3etiquette-line-height:1em;--e-global-typography-p3etiquette-letter-spacing:-0.04em;--e-global-typography-p3bouton-font-family:"IBM Plex Mono";--e-global-typography-p3bouton-font-size:15px;--e-global-typography-p3bouton-font-weight:500;--e-global-typography-p3bouton-text-transform:uppercase;--e-global-typography-p3bouton-line-height:1em;--e-global-typography-p3bouton-letter-spacing:-0.04em;--e-global-typography-p3menu-font-family:"Geist Mono";--e-global-typography-p3menu-font-size:14px;--e-global-typography-p3menu-font-weight:500;--e-global-typography-p3menu-text-transform:uppercase;--e-global-typography-p3menu-line-height:1.286em;--e-global-typography-p3menu-letter-spacing:0em;background-color:var( --e-global-color-p3papier );color:var( --e-global-color-text );font-family:"Archivo", Sans-serif;font-size:16px;line-height:1.5em;}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}.elementor-kit-5 a{color:#111212;}.elementor-kit-5 a:hover{color:#111212;}.elementor-kit-5 h1{color:#111212;font-family:"Geist", Sans-serif;font-size:83px;font-weight:500;line-height:1.04em;letter-spacing:-0.055em;}.elementor-kit-5 h2{color:#111212;font-family:"Schibsted Grotesk", Sans-serif;font-size:60px;font-weight:500;line-height:1.1em;letter-spacing:-0.07em;}.elementor-kit-5 h3{color:#111212;font-family:"Schibsted Grotesk", Sans-serif;font-size:28px;font-weight:500;line-height:1.2em;letter-spacing:-0.05em;}.elementor-kit-5 h4{color:#111212;font-family:"Archivo", Sans-serif;font-size:20px;font-weight:500;line-height:1.3em;letter-spacing:-0.02em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-5{--e-global-typography-primary-font-size:48px;--e-global-typography-secondary-font-size:26px;--e-global-typography-p3h1-font-size:64px;--e-global-typography-p3h2-font-size:48px;--e-global-typography-p3h3-font-size:26px;--e-global-typography-p3h4-font-size:20px;--e-global-typography-p3accroche-font-size:36px;--e-global-typography-p3lead-font-size:19px;--e-global-typography-p3chapo-font-size:18px;--e-global-typography-p3label-font-size:18px;--e-global-typography-p3lien-font-size:18px;--e-global-typography-p3legende-font-size:22px;--e-global-typography-p3tel-font-size:26px;--e-global-typography-p3chiffre-font-size:48px;--e-global-typography-p3chiffre_l-font-size:22px;--e-global-typography-p3titrepied-font-size:38px;}.elementor-kit-5 h1{font-size:64px;}.elementor-kit-5 h2{font-size:48px;}.elementor-kit-5 h3{font-size:26px;}.elementor-kit-5 h4{font-size:20px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-5{--e-global-typography-primary-font-size:38px;--e-global-typography-secondary-font-size:24px;--e-global-typography-p3h1-font-size:44px;--e-global-typography-p3h2-font-size:38px;--e-global-typography-p3h3-font-size:24px;--e-global-typography-p3h4-font-size:18px;--e-global-typography-p3accroche-font-size:28px;--e-global-typography-p3lead-font-size:17px;--e-global-typography-p3chapo-font-size:17px;--e-global-typography-p3label-font-size:17px;--e-global-typography-p3lien-font-size:17px;--e-global-typography-p3legende-font-size:20px;--e-global-typography-p3tel-font-size:24px;--e-global-typography-p3chiffre-font-size:40px;--e-global-typography-p3chiffre_l-font-size:19px;--e-global-typography-p3titrepied-font-size:32px;}.elementor-kit-5 h1{font-size:44px;}.elementor-kit-5 h2{font-size:38px;}.elementor-kit-5 h3{font-size:24px;}.elementor-kit-5 h4{font-size:18px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ==========================================================================
   Publi 3 · système du site (CSS additionnel du kit Elementor)
   Couleurs et typographies = globales du kit (var(--e-global-…)). Valeurs relevées dans le Figma à 1440.
   Une variable par espacement : --p3-py (marge verticale des sections), --p3-side (gouttière), conteneur 1200.
   Survol unique : boutons -> violet + texte blanc, flèche +4 px ; liens texte -> soulignés ; cartes cliquables -> -4 px + ombre.
   ========================================================================== */
body { --p3-py: 140px; --p3-side: 0px; --p3-wrap: 1200px; --p3-edge: 63px; --p3-ease: cubic-bezier(.2,.7,.2,1);
  --p3-ink: var(--e-global-color-primary); --p3-violet: var(--e-global-color-secondary); --p3-txt: var(--e-global-color-text);
  --p3-lav: var(--e-global-color-accent); --p3-menthe: var(--e-global-color-p3menthe); --p3-papier: var(--e-global-color-p3papier);
  --p3-gris: var(--e-global-color-p3gris); --p3-blanc: var(--e-global-color-p3blanc); --p3-sombre: var(--e-global-color-p3sombre);
  --p3-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E");
  --p3-phone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
}
@media (max-width: 1024px) { body { --p3-py: 100px; --p3-side: 32px; --p3-edge: 32px; } }
@media (max-width: 767px) { body { --p3-py: 72px; --p3-side: 20px; --p3-edge: 20px; } }

html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; overflow-x: clip; }
[id] { scroll-margin-top: 24px; }
.elementor-widget-text-editor p { margin: 0; }
.elementor-widget-text-editor p + p { margin-top: .8em; }
.elementor-heading-title a { color: inherit; }
.elementor-heading-title, .p3-reveal p { text-wrap: pretty; }

/* ---------- sections : un conteneur, une marge ---------- */
.e-con.p3-sec { --padding-top: var(--p3-py); --padding-bottom: var(--p3-py); --padding-left: var(--p3-side); --padding-right: var(--p3-side); }
.e-con.p3-sec > .e-con-inner { max-width: var(--p3-wrap); }
.p3-head > .elementor-widget-heading, .p3-head > .elementor-widget-text-editor { flex: 0 1 auto; width: auto; min-width: 0; }
.p3-head > .p3-btn { flex: none; }
.p3-grad { background: linear-gradient(90deg, var(--p3-violet), #9478F2); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
.p3-grad-hero { background: linear-gradient(90deg, #D2C7F6, #9478F2); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
.elementor-widget.p3-w460, .p3-w460 { max-width: 460px !important; } .elementor-widget.p3-w400 { max-width: 400px !important; }

/* halos lavande / menthe sur papier (fonds « Unilook ») */
.e-con.p3-sec--halo-a { background-image:
  radial-gradient(550px circle at 0 250px, rgb(207 190 249 / .57), rgb(207 190 249 / .33) 248px, rgb(207 190 249 / 0) 550px),
  radial-gradient(550px circle at 1440px 500px, rgb(181 242 224 / .95), rgb(181 242 224 / .55) 248px, rgb(181 242 224 / 0) 550px),
  radial-gradient(500px circle at 0 1400px, rgb(181 242 224 / .95), rgb(181 242 224 / .55) 225px, rgb(181 242 224 / 0) 500px),
  radial-gradient(500px circle at 1440px 2000px, rgb(207 190 249 / .76), rgb(207 190 249 / .44) 225px, rgb(207 190 249 / 0) 500px);
  background-repeat: no-repeat; background-position: center top; background-size: 1440px 100%; }
.e-con.p3-sec--halo-b { background-image:
  radial-gradient(550px circle at 0 88px, rgb(181 242 224 / .57), rgb(181 242 224 / .33) 248px, rgb(181 242 224 / 0) 550px),
  radial-gradient(550px circle at 1440px 850px, rgb(207 190 249 / .95), rgb(207 190 249 / .55) 248px, rgb(207 190 249 / 0) 550px),
  radial-gradient(450px circle at 0 1550px, rgb(207 190 249 / .95), rgb(207 190 249 / .55) 203px, rgb(207 190 249 / 0) 450px);
  background-repeat: no-repeat; background-position: center top; background-size: 1440px 100%; }
@media (min-width: 1441px) { .e-con.p3-sec--halo-a, .e-con.p3-sec--halo-b { background-size: 100% 100%; } }

/* ---------- étiquettes ---------- */
.p3-tags p { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0; }
.p3-tag { display: inline-flex; align-items: center; height: 26px; padding: 0 12px; border-radius: 100px; background: rgb(255 255 255 / .7); color: var(--p3-ink); white-space: nowrap; }
.p3-tag--gris { background: var(--p3-gris); height: 24px; }
.p3-tag--papier { background: var(--p3-papier); height: 22px; }
.p3-tags--lav .p3-tag { background: var(--p3-lav); height: 22px; }
.p3-tags__label { color: var(--p3-txt); margin-right: 0; }
.p3-tagline p { line-height: 1; }

/* ---------- boutons : un style, survol unique ---------- */
.p3-btn .elementor-button { min-height: 50px; display: inline-flex; align-items: center; justify-content: center; padding: 0 22px; border-radius: 8px;
  transition: background-color .2s var(--p3-ease), color .2s var(--p3-ease); white-space: nowrap; }
.p3-btn .elementor-button-content-wrapper { align-items: center; }
.p3-btn--arrow .elementor-button-text::after, .p3-pcard__link::after { content: ''; display: inline-block; width: 18px; height: 18px; margin-left: 12px; vertical-align: -4px;
  background: currentColor; -webkit-mask: var(--p3-arrow) center / contain no-repeat; mask: var(--p3-arrow) center / contain no-repeat; transition: transform .2s var(--p3-ease); }
.p3-btn--arrow .elementor-button:hover .elementor-button-text::after, .p3-pcard__link:hover::after { transform: translateX(4px); }
.p3-btn--full .elementor-button { width: 100%; }
.p3-btn .elementor-button:focus-visible, .p3-form .elementor-button:focus-visible, .p3-nav a:focus-visible { outline: 2px solid var(--p3-violet); outline-offset: 3px; }

/* liens texte : soulignés au survol */
.p3-flinks a:hover .elementor-icon-list-text, .p3-ftel a:hover, .p3-hphone:hover, .p3-dcontact__tel a:hover, .p3-form a:hover { text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }

/* ---------- EN-TÊTE ---------- */
.e-con.p3-header { --padding-top: 28px; --padding-left: var(--p3-edge); --padding-right: var(--p3-edge); --padding-bottom: 0px; z-index: 100; }
body.home .e-con.p3-header { position: absolute; top: 0; left: 0; right: 0; background: transparent; }
body:not(.home) .e-con.p3-header { background: var(--p3-ink); --padding-bottom: 28px; }
.e-con.p3-header__row { min-height: 66px; position: relative; flex-wrap: nowrap; }
.p3-header__logo { width: 150px; flex: none; }
.p3-header__logo img { width: 150px; height: auto; display: block; }
.p3-header__actions { flex: none; width: auto !important; }
.p3-hphone { display: inline-flex; align-items: center; gap: 10px; color: var(--p3-blanc) !important; font-family: 'Geist Mono', monospace; font-size: 15px; font-weight: 500; white-space: nowrap; }
.p3-phone-ico { display: inline-block; width: 22px; height: 22px; background: currentColor; -webkit-mask: var(--p3-phone) center / contain no-repeat; mask: var(--p3-phone) center / contain no-repeat; }
.p3-nav { flex: 1 1 auto; }
.p3-nav .elementor-nav-menu--main .elementor-nav-menu > li > a { padding: 0; color: var(--p3-blanc); line-height: 18px; }
.p3-nav .elementor-nav-menu--main .elementor-nav-menu > li + li { margin-left: 20px; }
.p3-nav .elementor-nav-menu--main .elementor-item:hover, .p3-nav .elementor-nav-menu--main .elementor-item.highlighted { color: var(--p3-blanc); text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 1px; }
.p3-nav .sub-arrow { padding: 0 0 0 6px !important; font-size: 11px; line-height: 0; }
.p3-nav .sub-arrow svg { width: 11px; height: 11px; fill: currentColor; }
/* sous-menus Prestations / Secteurs = panneau 1200 px avec photo (Figma 152:7335) */
@media (min-width: 1025px) {
  .p3-nav.elementor-widget, .p3-nav .elementor-widget-container, .p3-nav .elementor-nav-menu--main, .p3-nav .elementor-nav-menu--main .elementor-nav-menu, .p3-nav .elementor-nav-menu--main .elementor-nav-menu > li { position: static !important; }
  .p3-nav .elementor-nav-menu--main .sub-menu { position: absolute !important; inset: calc(100% + 16px) 0 auto 0 !important; margin: 0 auto !important; transform: none !important;
    width: 1200px !important; max-width: calc(100vw - 2 * var(--p3-edge)) !important; min-height: 348px; padding: 24px 584px 24px 24px !important; background: var(--p3-blanc) !important;
    border-radius: 8px; box-shadow: 0 24px 48px rgb(17 18 18 / .12); }
  .p3-nav.elementor-widget .elementor-nav-menu--layout-horizontal .elementor-nav-menu > li > .sub-menu, .p3-nav.elementor-widget .elementor-nav-menu--layout-horizontal .elementor-nav-menu > li:not(:first-child) > .sub-menu { inset-inline-start: 0 !important; inset-inline-end: 0 !important; }
  .p3-nav .elementor-nav-menu--main .sub-menu::before { content: ''; position: absolute; left: 0; right: 0; top: -18px; height: 18px; }
  .p3-nav .elementor-nav-menu--main .sub-menu::after { content: ''; position: absolute; top: 24px; right: 24px; width: 520px; height: 300px; border-radius: 4px; background: var(--p3-gris) center / cover no-repeat; }
  .p3-nav .p3-mm-prestations > .sub-menu::after { background-image: url(https://publi3.croisiere-dahabeya.fr/wp-content/uploads/2026/11/publi3-menu-prestations.jpg); }
  .p3-nav .p3-mm-secteurs > .sub-menu::after { background-image: url(https://publi3.croisiere-dahabeya.fr/wp-content/uploads/2026/11/publi3-menu-secteurs.jpg); }
  .p3-nav .elementor-nav-menu--main .sub-menu li + li { margin-top: 4px; }
  .p3-nav .elementor-nav-menu--main .sub-menu a.elementor-sub-item { display: block; min-height: 50px; padding: 12px 16px !important; border-radius: 8px; border: 0;
    font-family: var(--e-global-typography-p3h4-font-family), sans-serif; font-size: 20px; font-weight: 500; line-height: 26px; letter-spacing: -.02em; text-transform: none;
    color: var(--p3-ink) !important; background: transparent !important; transition: background-color .2s var(--p3-ease); }
  .p3-nav .elementor-nav-menu--main .sub-menu a.elementor-sub-item:hover, .p3-nav .elementor-nav-menu--main .sub-menu a.elementor-sub-item:focus-visible { background: var(--p3-lav) !important; }
}
/* menu mobile et tablette */
.p3-nav .elementor-menu-toggle { color: var(--p3-blanc); background: transparent; border: 0; padding: 9px; min-width: 44px; min-height: 44px; --nav-menu-icon-size: 26px; }
.p3-nav .elementor-menu-toggle svg { fill: var(--p3-blanc); }
.p3-nav .elementor-nav-menu__container.elementor-nav-menu--dropdown { background: var(--p3-blanc); border-radius: 8px; margin-top: 12px !important; box-shadow: 0 24px 48px rgb(17 18 18 / .16); padding: 8px 0; }
.p3-nav .elementor-nav-menu--dropdown a, .p3-nav .elementor-nav-menu__container.elementor-nav-menu--dropdown a.elementor-item { color: var(--p3-ink) !important; text-transform: none !important; background: transparent !important; padding: 14px 20px !important; min-height: 48px;
  font-family: var(--e-global-typography-p3h4-font-family), sans-serif; font-size: 18px; font-weight: 500; letter-spacing: -.02em; text-transform: none; border: 0 !important; }
.p3-nav .elementor-nav-menu--dropdown a:hover, .p3-nav .elementor-nav-menu--dropdown a.highlighted { background: var(--p3-lav) !important; }
.p3-nav .elementor-nav-menu--dropdown .sub-menu a { padding-left: 36px !important; font-size: 16px; }

/* ---------- HERO ---------- */
/* dégradé du hero, exactement celui du Figma 1:184 (décision de Lucas du 09/11 : le Figma validé prime) ; à réutiliser sur les heros des pages intérieures */
.e-con.p3-hero--degrade { isolation: isolate; }
.e-con.p3-hero--degrade::before { content: '' !important; position: absolute; inset: 0; z-index: 0; pointer-events: none; display: block;
  background: linear-gradient(180deg, rgb(0 0 0 / .35) 0%, rgb(0 0 0 / .10) 22%, rgb(0 0 0 / .25) 50%, rgb(12 12 16 / .92) 100%) !important; opacity: 1 !important; }
.e-con.p3-hero--degrade > * { position: relative; z-index: 1; }
.e-con.p3-hero { --padding-top: 120px; --padding-bottom: 106px; --padding-left: var(--p3-edge); --padding-right: var(--p3-edge); min-height: 900px; justify-content: flex-end; }
.p3-hero__inner { flex-wrap: nowrap; }
.e-con.p3-hero__left { width: 750px; max-width: 750px; flex: 0 1 750px; }
.p3-hero__h1 .elementor-heading-title { max-width: 750px; }
.elementor-widget.p3-hero__lead { max-width: 560px !important; }
.p3-hero__lead p { color: rgb(255 255 255 / .86); }
.e-con.p3-duo { width: auto; }
.e-con.p3-slides { width: 518px; max-width: 518px; flex: 0 0 518px; padding: 26px 28px 24px; border-radius: 6px; background: rgb(120 120 120 / .42);
  -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); color: var(--p3-blanc); }
.e-con.p3-slides__track { display: grid; }
.e-con.p3-slide { grid-area: 1 / 1; opacity: 0; visibility: hidden; transition: opacity .5s var(--p3-ease), visibility .5s; }
.e-con.p3-slide.is-active, html:not(.p3-js) .e-con.p3-slide:first-child { opacity: 1; visibility: visible; }
.e-con.p3-slides__foot { padding-top: 20px; flex-wrap: nowrap; }
.p3-slides__bars { flex: 1 1 auto; }
.p3-bars { display: flex; gap: 6px; max-width: 340px; }
.p3-bars span { flex: 1; height: 2px; border-radius: 2px; background: rgb(255 255 255 / .2); transition: background-color .3s; }
.p3-bars span.is-active, .p3-bars span.is-done { background: var(--p3-blanc); }
.p3-arrows { display: flex; gap: 8px; }
.p3-arrows button, .p3-arrows button:hover, .p3-arrows button:focus { color: #FFFFFF !important; }
.p3-arrows button { width: 44px; height: 44px; border-radius: 8px; border: 1px solid rgb(255 255 255 / .24); background: transparent; padding: 0; cursor: pointer; position: relative; color: var(--p3-blanc); transition: background-color .2s var(--p3-ease), border-color .2s; }
.p3-arrows button::after { content: ''; position: absolute; inset: 0; margin: auto; width: 16px; height: 16px; background: currentColor; -webkit-mask: var(--p3-arrow) center / contain no-repeat; mask: var(--p3-arrow) center / contain no-repeat; }
.p3-arrows .p3-prev::after { transform: scaleX(-1); }
.p3-arrows button:hover { background: var(--p3-violet); border-color: var(--p3-violet); }

/* ---------- PRESTATIONS (cartes empilées) ---------- */
.elementor-widget.p3-presta__title { max-width: 580px !important; }
.e-con.p3-pcard { border-radius: 6px; padding: 6px 6px 15px; box-shadow: 0 -8px 24px rgb(17 17 17 / .04); transition: transform .25s var(--p3-ease), box-shadow .25s var(--p3-ease); }
.e-con.p3-pcard:hover { transform: translateY(-4px); box-shadow: 0 16px 40px rgb(17 17 17 / .10); }
.e-con.p3-pcard__top { height: 300px; flex-wrap: nowrap; }
.e-con.p3-pcard__content { flex: 1 1 auto; width: auto; border-radius: 4px; padding: 20px 24px; }
.elementor-widget.p3-card__desc { max-width: 440px !important; }
.p3-card__title a { transition: color .2s; } .p3-card__title a:hover { color: var(--p3-violet); }
.p3-img { overflow: hidden; }
.elementor-widget.p3-img img { display: block; width: 100% !important; height: 100% !important; max-width: none; object-fit: cover; }
.elementor-widget.p3-img > a, .elementor-widget.p3-img > .elementor-widget-container { display: block; height: 100%; }
.p3-pcard__photo { flex: 0 0 367px; width: 367px; height: 300px; border-radius: 4px; }
.p3-pcard__photo a, .p3-pcard__photo .elementor-widget-container { display: block; height: 100%; }
.p3-pcard__photo img { border-radius: 4px; transition: transform .5s var(--p3-ease); }
.e-con.p3-pcard:hover .p3-pcard__photo img { transform: scale(1.03); }
.e-con.p3-pcard__bar { padding: 0 14px; }
.p3-pcard__link { display: flex; align-items: center; justify-content: space-between; min-height: 18px; line-height: 18px; color: var(--p3-ink) !important; font-size: 14px; }
.p3-pcard__link::after { margin-left: 0; }
/* cartes empilées au défilement, à toutes les largeurs (décalage réduit en tablette et mobile) */
.p3-stack > .e-con.p3-pcard { position: sticky; }
.p3-pcard--1 { top: 110px; } .p3-pcard--2 { top: 125px; } .p3-pcard--3 { top: 140px; } .p3-pcard--4 { top: 155px; } .p3-pcard--5 { top: 170px; }
@media (max-width: 1024px) { .p3-pcard--1 { top: 16px; } .p3-pcard--2 { top: 26px; } .p3-pcard--3 { top: 36px; } .p3-pcard--4 { top: 46px; } .p3-pcard--5 { top: 56px; } }

/* ---------- CITATION (dévoilement) ---------- */
.e-con.p3-quote { --padding-top: calc(var(--p3-py) + 22px); --padding-bottom: calc(var(--p3-py) + 22px); }
.elementor-widget.p3-reveal { max-width: 916px !important; margin: 0 auto; }
.p3-reveal p { color: var(--p3-ink); }
.p3-reveal .p3-kw { color: var(--p3-violet); }
.p3-reveal--on .p3-w { opacity: .5; transition: opacity .35s var(--p3-ease); }
.p3-reveal--on .p3-w.is-on { opacity: 1; }

/* ---------- POURQUOI ON NOUS APPELLE ---------- */
.elementor-widget.p3-head__intro { max-width: 425px !important; }
.e-con.p3-tiles { flex-wrap: nowrap; }
.e-con.p3-tile { flex: 1 1 0; width: auto; height: 573px; border-radius: 8px; overflow: hidden;
  background: radial-gradient(120% 90% at 50% 30%, #2C2E2E 0, var(--p3-sombre) 55%, var(--p3-ink) 100%); }
.p3-tile__img { height: 307px; flex: none; }
.e-con.p3-tile__text { padding: 28px 28px 32px; }

/* ---------- MÉTHODE ---------- */
.e-con.p3-methode > .e-con-inner { flex-wrap: nowrap; align-items: stretch; }
.e-con.p3-methode__intro { flex: 0 0 500px; width: 500px; }
.p3-rail-w { flex: 0 0 8px; width: 8px; align-self: stretch; }
.p3-rail-w > .elementor-widget-container, .p3-rail-w .p3-rail { height: 100%; }
.p3-rail { position: relative; width: 8px; height: 100%; border-radius: 4px; overflow: hidden;
  background: linear-gradient(180deg, rgb(207 190 249 / 0), rgb(207 190 249 / .45) 35%, rgb(207 190 249 / .1)); }
.p3-rail span { position: absolute; left: 0; top: 0; width: 100%; height: calc(var(--p, 0) * 100%); border-radius: 4px;
  background: linear-gradient(180deg, rgb(207 190 249 / 0), var(--p3-lav) 35%, var(--p3-lav)); }
html:not(.p3-js) .p3-rail span { height: 100%; }
.e-con.p3-steps { flex: 0 0 600px; width: 600px; }
.e-con.p3-step { border-radius: 10px; padding: 8px 8px 0; }
.e-con.p3-step__body { border-radius: 6px; }
.e-con.p3-step__head { flex-wrap: nowrap; }
.elementor-widget.p3-step__title { max-width: 420px !important; }
.p3-step__num { flex: none; width: auto; }
.elementor-widget.p3-step__desc { max-width: 480px !important; }
.p3-step__foot { padding: 20px 18px; }

/* ---------- COVERING ---------- */
.elementor-widget.p3-cov__title { max-width: 470px !important; }
.elementor-widget.p3-cov__intro { max-width: 530px !important; }
.e-con.p3-cov { --padding-bottom: var(--p3-py); }
.e-con.p3-cov__track { width: calc(100% + (100vw - min(100vw - 2 * var(--p3-side), var(--p3-wrap))) / 2) !important; max-width: none; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; scroll-snap-type: x proximity; cursor: grab;
  padding-right: calc((100vw - min(100vw - 2 * var(--p3-side), var(--p3-wrap))) / 2); }
.e-con.p3-cov__track::-webkit-scrollbar { display: none; }
.e-con.p3-cov__track.is-drag { cursor: grabbing; scroll-snap-type: none; }
.e-con.p3-cov__pair { flex: none; width: auto; scroll-snap-align: start; flex-wrap: nowrap; }
.p3-cov__img { width: 300px; height: 320px; flex: none; border-radius: 6px; }
.p3-cov__img img { border-radius: 6px; -webkit-user-drag: none; user-select: none; }
.e-con.p3-cov__text { width: 256px; height: 320px; flex: none; padding: 25px; border-radius: 6px; }
.elementor-widget.p3-cov__cap { max-width: 206px !important; }
.p3-cov__tag p { font-size: 14px; }

/* ---------- LOGOS CLIENTS ---------- */
.e-con.p3-logos { --padding-top: 100px; --padding-bottom: 100px; --padding-left: 0px; --padding-right: 0px; overflow: hidden; }
.elementor-widget.p3-logos__title { max-width: 1100px !important; margin: 0 auto; padding: 0 var(--p3-side); }
.p3-marquee { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 180px, #000 calc(100% - 180px), transparent); mask-image: linear-gradient(90deg, transparent, #000 180px, #000 calc(100% - 180px), transparent); }
.e-con.p3-marquee__track { width: max-content; flex-wrap: nowrap; animation: p3-marquee 60s linear infinite; }
.p3-marquee--a .e-con.p3-marquee__track { margin-left: -40px; }
.p3-marquee--b .e-con.p3-marquee__track { margin-left: -130px; animation-direction: reverse; animation-duration: 70s; }
.p3-marquee:hover .p3-marquee__track { animation-play-state: paused; }
@keyframes p3-marquee { from { transform: translateX(0); } to { transform: translateX(calc(-50% - 10px)); } }
@media (prefers-reduced-motion: reduce) { .e-con.p3-marquee__track { animation: none; } }
.e-con.p3-logo { flex: none; width: 160px; height: 87px; border-radius: 10px; align-items: center; justify-content: center; padding: 18px 16px; }
.p3-logo__img { width: 113px; height: 51px; }
.p3-logo__img img { object-fit: contain; }
.p3-logo__txt p { font-weight: 700; line-height: 1.15; }

/* ---------- NOS CHANTIERS ---------- */
.e-con.p3-ch { --padding-left: 0px; --padding-right: 0px; overflow: hidden; }
.e-con.p3-ch__head { width: 100%; max-width: calc(var(--p3-wrap) + 2 * var(--p3-side)); margin: 0 auto; padding: 0 var(--p3-side) 73px; flex-wrap: nowrap; }
.elementor-widget.p3-ch__intro { max-width: 460px !important; }
/* rangées en boucle (photos « (boucle) » du Figma) : défilement continu, rangée 2 en sens inverse, pause au survol (site.js, module 10) */
.e-con.p3-ch__row { width: 100%; overflow: hidden; }
.e-con.p3-ch__track { width: max-content; flex-wrap: nowrap; will-change: transform; animation: p3-loop var(--p3-dur, 60s) linear infinite; }
.p3-ch__row--1 .e-con.p3-ch__track { margin-left: calc(50% - 720px - 287px); }
.p3-ch__row--2 .e-con.p3-ch__track { margin-left: calc(50% - 720px - 301px); animation-direction: reverse; }
.e-con.p3-ch__row:hover .p3-ch__track, .e-con.p3-ch__row:focus-within .p3-ch__track { animation-play-state: paused; }
@keyframes p3-loop { from { transform: translateX(0); } to { transform: translateX(calc(-1 * var(--p3-cycle, 1628px))); } }
@media (prefers-reduced-motion: reduce) { .e-con.p3-ch__track { animation: none; } .e-con.p3-ch__row { overflow-x: auto; } }
.e-con.p3-ch__card, .e-con.p3-ch__photo { flex: none; width: 400px; height: 440px; border-radius: 6px; }
.e-con.p3-ch__card { padding: 30px; }
.p3-ch__photo .p3-img, .p3-ch__photo .p3-img .elementor-widget-container { height: 100%; }
.p3-ch__img { height: 440px; border-radius: 6px; }
.p3-ch__img img { border-radius: 6px; }
.elementor-widget.p3-ch__desc { max-width: 340px !important; }
.p3-ch__body .p3-btn { margin-top: 0; }

/* ---------- FAQ ---------- */

.p3-faq .e-n-accordion-item { background: var(--p3-papier); border-radius: 6px; overflow: hidden; }
.p3-faq.elementor-widget .e-n-accordion .e-n-accordion-item > .e-n-accordion-item-title { padding: 25px !important; border: 0 !important; background: transparent !important; gap: 15px; justify-content: flex-start; align-items: center; cursor: pointer; }
.p3-faq .e-n-accordion-item-title-text { font-size: 20px; line-height: 20px; }
.p3-faq.elementor-widget .e-n-accordion-item-title .e-n-accordion-item-title-icon { flex: none; width: 30px; height: 30px; border-radius: 50%; background: var(--p3-lav); display: flex; align-items: center; justify-content: center; transition: background-color .2s; }
.p3-faq .e-n-accordion-item-title-icon svg { width: 13px !important; height: 13px !important; fill: var(--p3-ink) !important; display: block; }
.p3-faq .e-n-accordion-item-title:hover .e-n-accordion-item-title-icon { background: var(--p3-violet); }
.p3-faq .e-n-accordion-item-title:hover .e-n-accordion-item-title-icon svg { fill: var(--p3-blanc); }
.p3-faq .e-n-accordion-item > .e-con.p3-faq__panel { --padding-top: 0px; --padding-right: 7px; --padding-bottom: 7px; --padding-left: 7px; border: 0 !important; background: transparent; }
.p3-faq__a { background: var(--p3-blanc); border-radius: 6px; padding: 20px; }
.p3-faq__a p { max-width: 640px; }

/* ---------- DEVIS ---------- */
.e-con.p3-devis > .e-con-inner { flex-wrap: nowrap; align-items: stretch; }
.e-con.p3-devis__left { flex: 0 0 500px; width: 500px; }
.e-con.p3-devis__card { flex: 0 0 640px; width: 640px; border-radius: 10px; }
.e-con.p3-dstep { flex-wrap: nowrap; }
.p3-dstep__n { flex: none; width: 38px; }
.p3-num { display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 6px; background: var(--p3-lav); }
.e-con.p3-dstep__t { flex: 1 1 auto; width: auto; }
.e-con.p3-dcontact { flex-wrap: nowrap; padding-top: 48px; width: auto; }
.p3-dcontact__ico { flex: none; width: 72px; }
.p3-dcontact__ico .p3-phone-ico { width: 72px; height: 72px; border-radius: 50%; background: var(--p3-menthe); -webkit-mask: none; mask: none; position: relative; display: block; }
.p3-dcontact__ico .p3-phone-ico::after { content: ''; position: absolute; inset: 0; margin: auto; width: 26px; height: 26px; background: var(--p3-ink); -webkit-mask: var(--p3-phone) center / contain no-repeat; mask: var(--p3-phone) center / contain no-repeat; }
.p3-dcontact__tel a { color: var(--p3-ink); }

/* formulaires (champs sans bordure, case décochée, bouton unique) */
.p3-form .elementor-field-group > label.elementor-field-label { margin-bottom: 0; }
.p3-form .elementor-field-textual, .p3-form .elementor-select-wrapper select { min-height: 44px; height: 44px; padding: 0 16px !important; border: 0 !important; border-radius: 8px !important;
  background: var(--p3-papier) !important; color: var(--p3-ink) !important; font-size: 16px; box-shadow: none !important; }
.p3-form .elementor-field-textual::placeholder { color: var(--e-global-color-p3indice); opacity: 1; }
.p3-form .elementor-field-textual:focus, .p3-form select:focus { outline: 2px solid var(--p3-violet); outline-offset: 0; }
.p3-form .elementor-select-wrapper::before { color: var(--p3-ink); font-size: 12px; right: 16px; }
.p3-form .elementor-field-type-acceptance .elementor-field-subgroup .elementor-field-option { display: flex; align-items: flex-start; gap: 12px; }
.p3-form .elementor-field-type-acceptance input[type=checkbox] { -webkit-appearance: none; appearance: none; flex: none; width: 18px; height: 18px; margin: 2px 0 0; border-radius: 4px;
  background: var(--p3-papier); box-shadow: inset 0 0 0 1px #999999; cursor: pointer; position: relative; }
.p3-form .elementor-field-type-acceptance input[type=checkbox]:checked { background: var(--p3-violet); box-shadow: none; }
.p3-form .elementor-field-type-acceptance input[type=checkbox]:checked::after { content: ''; position: absolute; left: 6px; top: 2px; width: 5px; height: 10px; border: solid var(--p3-blanc); border-width: 0 2px 2px 0; transform: rotate(45deg); }
.p3-form .elementor-field-type-acceptance .elementor-field-option label { font-family: var(--e-global-typography-p3petit-font-family), sans-serif; font-size: 14px; line-height: 21px; letter-spacing: -.02em; color: var(--p3-txt); font-weight: 400; margin: 0; }
.p3-form .elementor-field-type-acceptance label a { color: var(--p3-ink); text-decoration: underline; text-underline-offset: 2px; }
.p3-form .e-form__buttons .elementor-button, .p3-form .elementor-field-type-submit .elementor-button { min-height: 50px; border-radius: 8px; padding: 0 22px; transition: background-color .2s var(--p3-ease), color .2s; }
.p3-form--devis .elementor-field-type-acceptance { margin-top: 0; }
.p3-form--devis .elementor-field-label { line-height: 18px !important; }

/* ---------- PIED DE PAGE ---------- */
.e-con.p3-footer { --padding-top: 0px; --padding-bottom: 0px; --padding-left: 0px; --padding-right: 0px; }
.p3-encoche { height: 110px; background: url(data:image/svg+xml;base64,PHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIiB3aWR0aD0iMTQ0MCIgaGVpZ2h0PSIxMTAiIHZpZXdCb3g9IjAgMCAxNDQwIDExMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTAgMjZIMTE4TDE3OCA2OEgxMjYyTDEzMjIgMjZIMTQ0MFYxMTBIMFYyNloiIGZpbGw9IiMxMTEyMTIiLz4KPHBhdGggZD0iTTAgMjBIMTIwTDE4MCA2MkgxMjYwTDEzMjAgMjBIMTQ0MCIgc3Ryb2tlLXdpZHRoPSI4IiBzdHJva2U9IiNCNUYyRTAiLz4KPHBhdGggZD0iTTAgMjhIMTE2TDE3NiA3MEgxMjY0TDEzMjQgMjhIMTQ0MCIgc3Ryb2tlLXdpZHRoPSI4IiBzdHJva2U9IiNDRkJFRjkiLz4KPHBhdGggZD0iTTAgMzJIMTE0TDE3NCA3NEgxMjY2TDEzMjYgMzJIMTQ0MFYxMTBIMFYzMloiIGZpbGw9IiMxMTEyMTIiLz4KPC9zdmc+Cg==) center / 100% 100% no-repeat; }
.p3-encoche-w { line-height: 0; }
.e-con.p3-footer__body { --padding-top: 70px; --padding-bottom: 70px; --padding-left: var(--p3-side); --padding-right: var(--p3-side); margin-top: -1px; }
.e-con.p3-footer__inner > .e-con-inner { flex-wrap: nowrap; max-width: var(--p3-wrap); }
.e-con.p3-footer__brand { flex: 0 0 400px; width: 400px; }
.p3-footer__logo img { width: 150px; height: auto; display: block; }
.e-con.p3-rappel { padding-top: 40px; }
.p3-fmuted { opacity: .7; }
.p3-fcol__title { opacity: .55; }
.p3-fcol__title p { font-size: 14px; line-height: 14px; }
.e-con.p3-footer__links { flex: 1 1 auto; width: auto; }
.e-con.p3-frow { flex-wrap: nowrap; }
.e-con.p3-fcol { flex: 0 0 220px; width: 220px; }
.p3-flinks .elementor-icon-list-item, .p3-flinks .elementor-icon-list-text { color: var(--p3-blanc); }
.p3-flinks .elementor-icon-list-items { padding-top: 6px; }
.e-con.p3-fcol { row-gap: 35px; gap: 35px; }
.p3-ftel .elementor-heading-title { font-size: 22px; line-height: 26px; }
.p3-ftel a { color: var(--p3-blanc); }
.e-con.p3-fq { padding-top: 6px; }
.p3-form--rappel .elementor-form-fields-wrapper { display: grid; grid-template-columns: 1fr 146px; column-gap: 8px; margin: 0 !important; }
.p3-form--rappel .elementor-field-group { width: 100% !important; max-width: none !important; padding: 0 !important; margin: 0 !important; }
.p3-form--rappel .elementor-field-type-tel { grid-column: 1; grid-row: 1; }
.p3-form--rappel .e-form__buttons, .p3-form--rappel .elementor-field-type-submit { grid-column: 2; grid-row: 1; }
.p3-form--rappel .elementor-field-type-html { grid-column: 1 / -1; grid-row: 2; padding-top: 18px !important; }
.p3-form--rappel .elementor-field-type-acceptance { grid-column: 1 / -1; grid-row: 3; padding-top: 18px !important; }
.p3-form--rappel .elementor-field-textual { height: 50px; min-height: 50px; background: rgb(255 255 255 / .08) !important; color: var(--p3-blanc) !important; }
.p3-form--rappel .elementor-field-textual::placeholder { color: rgb(255 255 255 / .6); }
.p3-form--rappel .p3-fnote { margin: 0; font-size: 14px; line-height: 21px; letter-spacing: -.02em; color: rgb(255 255 255 / .6); }
.p3-form--rappel .elementor-field-type-acceptance label { color: rgb(255 255 255 / .7) !important; }
.p3-form--rappel .elementor-field-type-acceptance label a { color: var(--p3-blanc); }
.p3-form--rappel .elementor-field-type-acceptance input[type=checkbox] { width: 16px; height: 16px; background: transparent !important; box-shadow: inset 0 0 0 1px rgb(255 255 255 / .4); }

/* ==========================================================================
   TABLETTE (768-1024) et MOBILE (≤ 767)
   ========================================================================== */
@media (max-width: 1024px) {
  .e-con.p3-header__row { min-height: 56px; }
  .p3-nav { flex: none; order: 3; width: auto; }
  .p3-header__actions { order: 2; margin-left: auto; }
  .p3-header__phone { display: none; }
  .e-con.p3-header { --padding-top: 20px; }
  .p3-nav.elementor-widget, .p3-nav .elementor-widget-container { position: static !important; }
  .p3-nav .elementor-nav-menu__container.elementor-nav-menu--dropdown { position: absolute !important; left: 0 !important; right: 0 !important; top: calc(100% + 4px) !important; width: auto !important; max-width: none !important; z-index: 120; }
  .p3-nav .elementor-nav-menu__container.elementor-nav-menu--dropdown[aria-hidden=false] { max-height: calc(100vh - 100px) !important; overflow: auto; }

  .e-con.p3-hero { min-height: 780px; --padding-top: 130px; --padding-bottom: 64px; }
  .e-con.p3-hero__inner { flex-direction: column; align-items: flex-start; gap: 40px; }
  .e-con.p3-hero__left { width: 100%; max-width: 680px; flex: none; }
  .e-con.p3-slides { width: 100%; max-width: 518px; flex: none; }

  .p3-head.e-con { flex-direction: column; align-items: flex-start; gap: 24px; }
  .p3-head .elementor-widget-text-editor, .p3-head .elementor-widget-text-editor p { text-align: left !important; }
  .p3-head .e-con { align-items: flex-start !important; }
  .p3-head .elementor-widget-text-editor [style], .p3-head__intro, .p3-cov__intro, .p3-ch__intro { text-align: left !important; }
  .p3-head__intro .elementor-widget-container, .p3-cov__intro .elementor-widget-container, .p3-ch__intro .elementor-widget-container { text-align: left; }

  .e-con.p3-tiles { flex-direction: column; }
  .e-con.p3-tile { height: auto; flex: none; width: 100%; flex-direction: row; }
  .p3-tile__img { width: 45%; height: auto; flex: none; }
  .e-con.p3-tile__text { width: auto; flex: 1; justify-content: center; }

  .e-con.p3-methode > .e-con-inner { flex-direction: column; }
  .e-con.p3-methode__intro, .e-con.p3-steps { flex: none; width: 100%; }
  .p3-rail-w { display: none; }

  .e-con.p3-ch__head { flex-direction: column; }
  .p3-ch__row--1 .e-con.p3-ch__track, .p3-ch__row--2 .e-con.p3-ch__track { margin-left: -120px; }

  .e-con.p3-devis > .e-con-inner { flex-direction: column; gap: 48px; }
  .e-con.p3-devis__left, .e-con.p3-devis__card { flex: none; width: 100%; }
  .e-con.p3-devis__left { max-width: 640px; }

  .e-con.p3-footer__inner > .e-con-inner { flex-direction: column; gap: 56px; }
  .e-con.p3-footer__brand { flex: none; width: 100%; max-width: 480px; }
  .e-con.p3-footer__links { width: 100%; }
  .e-con.p3-frow { flex-wrap: wrap; row-gap: 40px; }
  .e-con.p3-fcol { flex: 1 1 200px; }
  .p3-encoche { height: 72px; }
}
@media (max-width: 767px) {
  .p3-header__cta { display: none; }
  .p3-header__phone { display: block; }
  .p3-hphone { font-size: 0; gap: 0; width: 44px; height: 44px; justify-content: center; } .p3-hphone .p3-phone-ico { width: 24px; height: 24px; }
  .p3-header__logo, .p3-header__logo img { width: 120px; }
  .e-con.p3-header { --padding-top: 16px; }

  .p3-hero__h1 br { display: none; } .p3-hero__h1 .elementor-heading-title { text-wrap: balance; }
  .e-con.p3-hero { min-height: 0; --padding-top: 120px; --padding-bottom: 40px; background-position: 70% center; }
  .e-con.p3-duo { width: 100%; }
  .p3-duo .p3-btn, .p3-duo .elementor-button { width: 100%; }
  .e-con.p3-slides { padding: 20px; }
  .p3-bars { max-width: none; }

  .e-con.p3-pcard__top { flex-direction: column; height: auto; }
  .p3-pcard__photo { flex: none; width: 100%; height: 220px; order: -1; }
  .e-con.p3-pcard__content { gap: 24px; }
  .e-con.p3-pcard__bar { padding: 4px 14px 0; }

  .e-con.p3-tile { flex-direction: column; }
  .p3-tile__img { width: 100%; aspect-ratio: 384 / 307; height: auto; }

  .e-con.p3-step__head { flex-direction: column-reverse; gap: 8px; }
  .e-con.p3-step__body { --padding-top: 24px; --padding-right: 20px; --padding-bottom: 24px; --padding-left: 20px; }

  .p3-cov__img { width: 240px; height: 280px; }
  .e-con.p3-cov__text { width: 200px; height: 280px; padding: 20px; }
  .e-con.p3-cov__pair { scroll-snap-align: start; }

  .e-con.p3-logos { --padding-top: 72px; --padding-bottom: 72px; }
  .p3-marquee { -webkit-mask-image: linear-gradient(90deg, transparent, #000 48px, #000 calc(100% - 48px), transparent); mask-image: linear-gradient(90deg, transparent, #000 48px, #000 calc(100% - 48px), transparent); }

  .e-con.p3-ch__card, .e-con.p3-ch__photo { width: 300px; height: 440px; }
  .e-con.p3-ch__card { padding: 22px; } .p3-ch__img { height: 440px; }
  .p3-ch__row--1 .e-con.p3-ch__track, .p3-ch__row--2 .e-con.p3-ch__track { margin-left: -60px; }

  .p3-faq.elementor-widget .e-n-accordion .e-n-accordion-item > .e-n-accordion-item-title { padding: 18px 16px !important; align-items: flex-start; }
  .p3-faq.elementor-widget .e-n-accordion-item-title .e-n-accordion-item-title-icon { margin-top: -3px; }
  .p3-faq .e-n-accordion-item-title-text { font-size: 18px; line-height: 24px; }

  .e-con.p3-devis__card { --padding-top: 24px; --padding-right: 20px; --padding-bottom: 24px; --padding-left: 20px; }
  .p3-form .elementor-field-group { width: 100% !important; }
  .e-con.p3-dcontact { padding-top: 8px; }

  .e-con.p3-footer__brand { max-width: none; }
  .e-con.p3-fcol { flex: 1 1 calc(50% - 20px); width: auto; }
  .p3-form--rappel .elementor-form-fields-wrapper { grid-template-columns: 1fr; row-gap: 8px; }
  .p3-form--rappel .e-form__buttons, .p3-form--rappel .elementor-field-type-submit { grid-column: 1; grid-row: 2; }
  .p3-form--rappel .elementor-field-type-html { grid-row: 3; }
  .p3-form--rappel .elementor-field-type-acceptance { grid-row: 4; }
  .p3-encoche { height: 48px; }
}

/* ==========================================================================
   PAGES INTÉRIEURES (09/11, Figma pages 100:592 et suivantes)
   ========================================================================== */
/* en-tête transparent posé sur la photo du hero (comme l'Accueil) ; fond encre sur les pages sans hero photo */
body:has(.p3-hero) .e-con.p3-header { position: absolute; top: 0; left: 0; right: 0; background: transparent; --padding-bottom: 0px; }
.e-con.p3-hero--int::before { background: linear-gradient(180deg, rgb(0 0 0 / .55) 0%, rgb(0 0 0 / .30) 20%, rgb(0 0 0 / .48) 45%, rgb(12 12 16 / .94) 100%) !important; }
.e-con.p3-hero__left--int { width: auto; max-width: 1314px; flex: 1 1 auto; }
.p3-hero__left--int .p3-hero__h1 .elementor-heading-title { max-width: none; }
.p3-grad-hero2 { background: linear-gradient(90deg, #E4DDFB, #C4B4F8); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
.elementor-widget.p3-mw-560 { max-width: 560px !important; } .elementor-widget.p3-mw-640 { max-width: 640px !important; } .elementor-widget.p3-mw-700 { max-width: 700px !important; }
.elementor-widget.p3-mw-720 { max-width: 720px !important; } .elementor-widget.p3-mw-760 { max-width: 760px !important; } .elementor-widget.p3-mw-820 { max-width: 820px !important; }
.e-con.p3-sec { position: relative; }

/* liste d'interventions (Prestations) */
.e-con.p3-lcard { padding: 16px 32px 16px 16px; border-radius: 8px; flex-wrap: nowrap; }
.p3-lcard__img { flex: 0 0 300px; width: 300px; height: 184px; border-radius: 4px; }
.p3-lcard__img img { border-radius: 4px; transition: transform .5s var(--p3-ease); }
.e-con.p3-lcard:hover .p3-lcard__img img { transform: scale(1.03); }
.e-con.p3-lcard__txt { flex: 1 1 auto; width: auto; max-width: 576px; }
.p3-lcard__btn { margin-left: auto; flex: none; }
.p3-lcard__title a:hover, .p3-card__title a:hover { color: var(--p3-violet); }

/* FAQ des pages intérieures (titre + bouton à gauche, questions à droite) */
.e-con.p3-faqint > .e-con-inner { flex-wrap: nowrap; align-items: flex-start; }
.e-con.p3-faqint__head { flex: 0 0 380px; width: 380px; align-items: flex-start; }
.e-con.p3-faqint__list { flex: 0 0 760px; width: 760px; }

/* bloc final (panneau lavande ou menthe) */
.e-con.p3-final__panel { padding: 72px; border-radius: 8px; flex-wrap: nowrap; min-height: 240px; }
.elementor-widget.p3-final__txt { max-width: 880px !important; }
.p3-final__panel .p3-btn { flex: none; }

@media (max-width: 1024px) {
  .e-con.p3-faqint > .e-con-inner { flex-direction: column; gap: 40px; }
  .e-con.p3-faqint__head, .e-con.p3-faqint__list { flex: none; width: 100%; }
  .e-con.p3-final__panel { padding: 48px; flex-direction: column; align-items: flex-start; gap: 32px; }
  .e-con.p3-lcard { padding: 16px; gap: 24px; }
  .p3-lcard__img { flex-basis: 220px; width: 220px; height: 160px; }
  .e-con.p3-hero--int { min-height: 720px; }
}
@media (max-width: 767px) {
  .p3-hero__left--int .p3-hero__h1 br { display: none; }
  .e-con.p3-lcard { flex-direction: column; align-items: stretch; gap: 16px; padding: 12px 12px 20px; }
  .p3-lcard__img { flex: none; width: 100%; height: 200px; }
  .p3-lcard__btn { margin-left: 0; padding: 0 8px; }
  .e-con.p3-lcard__txt { padding: 0 8px; max-width: none; }
  .e-con.p3-final__panel { padding: 32px 24px; }
  .e-con.p3-hero--int { min-height: 640px; }
}

/* ---------- composants à états (onglets, sélecteurs) : un état visible à la fois (site.js, modules 7 et 8) ---------- */
.p3-nocaps p, .p3-nocaps { text-transform: none !important; }
.elementor-widget.p3-w560, .e-con.p3-w560 { max-width: 560px !important; } .elementor-widget.p3-w592 { max-width: 592px !important; } .e-con.p3-w640, .elementor-widget.p3-w640 { max-width: 640px !important; }
.e-con.p3-tab { cursor: pointer; transition: background-color .25s var(--p3-ease), box-shadow .25s var(--p3-ease); }
.e-con.p3-tab:focus-visible { outline: 2px solid var(--p3-violet); outline-offset: 2px; }
.p3-st.is-off, .p3-pane.is-off { display: none !important; }

/* Vitrophanie : choisir le bon film */
.e-con.p3-films { flex-wrap: nowrap; align-items: stretch; }
.e-con.p3-films__photo { flex: 0 0 560px; width: 560px; height: 718px; position: relative; border-radius: 4px; overflow: hidden; }
.p3-films__photo > .p3-pane { position: absolute; inset: 0; transition: opacity .45s var(--p3-ease); }
.p3-films__photo > .p3-pane.is-off { display: block !important; opacity: 0; visibility: hidden; }
.e-con.p3-films__list { flex: 1 1 auto; width: auto; }
.e-con.p3-film { border-radius: 8px; padding: 26px 28px; min-height: 172px; }
.e-con.p3-film.is-on { background-color: var(--p3-lav) !important; }
.e-con.p3-film:not(.is-on):hover { box-shadow: 0 12px 32px rgb(17 17 17 / .08); }
.e-con.p3-film:not(.is-on) .p3-film__col p { color: var(--p3-txt); }
.e-con.p3-film__cols { flex-wrap: nowrap; } .e-con.p3-film__col { flex: 1 1 0; width: auto; }
.p3-film__lab p { line-height: 18px; }

/* bloc sombre à accordéon (titre à gauche) */
.e-con.p3-dark2 > .e-con-inner { flex-wrap: nowrap; }
.e-con.p3-dark2__title { flex: 0 0 480px; width: 480px; } .p3-dark2__title .elementor-heading-title { max-width: 440px; } .e-con.p3-dark2__list { flex: 1 1 auto; width: auto; }
.p3-faq--dark .e-n-accordion-item { background: rgb(255 255 255 / .08) !important; }
.p3-faq--dark .e-n-accordion-item-title-text { color: var(--p3-blanc) !important; }
.p3-faq--dark .e-n-accordion-item > .e-con.p3-faq__panel { --padding-top: 0px; --padding-right: 32px; --padding-bottom: 28px; --padding-left: 70px; }
.p3-faq--dark .p3-faq__a { background: transparent; padding: 0; }
.p3-faq--dark .p3-faq__a p { color: var(--p3-gris); max-width: 538px; }

/* bande photo de contenu (1200 x 540) et trois colonnes */
.p3-band { height: 540px; border-radius: 4px; } .p3-band img { border-radius: 4px; }
.e-con.p3-col3 { flex-wrap: nowrap; } .e-con.p3-col3__c { flex: 1 1 0; width: auto; }

/* film double lecture */
.e-con.p3-dl { flex-wrap: nowrap; align-items: stretch; }
.e-con.p3-dl__card { flex: 1 1 0; width: auto; border-radius: 8px; overflow: hidden; }
.e-con.p3-dl__card--dark { padding: 48px 40px; }
.p3-dl__illu { padding-top: 28px; } .p3-dl__illu img { width: 100%; height: auto; }
.p3-dl__img { height: 560px; } .e-con.p3-dl__cap { padding: 28px 40px 32px; }

/* estimateur de prix (Figma 191:1486) */
.e-con.p3-est { flex-wrap: nowrap; align-items: stretch; }
.e-con.p3-est__left { flex: 0 0 624px; width: 624px; border-radius: 8px; padding: 36px 40px 40px; }
.e-con.p3-est__right { flex: 1 1 auto; width: auto; border-radius: 8px; padding: 36px; justify-content: space-between; }
.p3-crit:not(.is-open) .p3-crit__desc { display: none; }
@media (min-width: 1025px) { .e-con.p3-crits { min-height: 452px; justify-content: space-between; } }
.p3-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.p3-chip, .p3-opt { font: inherit; letter-spacing: 0; cursor: pointer; border: 0; transition: background-color .2s var(--p3-ease), color .2s var(--p3-ease); }
.p3-chip { min-height: 38px; padding: 10px 14px; border-radius: 4px; background: var(--p3-papier); color: var(--p3-ink); font-size: 13px; line-height: 18px; text-transform: none; }
.p3-chip:hover { background: var(--p3-lav); }
.p3-chip.is-on { background: var(--p3-ink); color: var(--p3-blanc); }
.p3-chip:focus-visible, .p3-opt:focus-visible { outline: 2px solid var(--p3-violet); outline-offset: 2px; }
.e-con.p3-est__top { flex-wrap: nowrap; } .e-con.p3-est__price { flex: 1 1 auto; width: auto; }
.p3-opts-w { flex: 0 0 210px; width: 210px; }
.p3-opts { display: flex; flex-direction: column; gap: 8px; }
.p3-opt { display: flex; flex-direction: column; gap: 2px; text-align: left; padding: 12px 14px; border-radius: 6px; background: rgb(255 255 255 / .08); color: var(--p3-blanc); font-family: Archivo, sans-serif; }
.p3-opt__n { font-size: 16px; line-height: 22px; font-weight: 500; letter-spacing: -.02em; } .p3-opt__p { font-size: 16px; line-height: 24px; letter-spacing: -.02em; color: var(--p3-gris); }
.p3-opt:hover { background: rgb(255 255 255 / .16); }
.p3-opt.is-on { background: var(--p3-lav); color: var(--p3-ink); } .p3-opt.is-on .p3-opt__p { color: var(--p3-ink); }
.p3-est__big p { font-size: 96px; line-height: 1; letter-spacing: -.05em; white-space: nowrap; }

@media (max-width: 1024px) {
  .e-con.p3-films, .e-con.p3-dark2 > .e-con-inner, .e-con.p3-dl, .e-con.p3-est, .e-con.p3-col3 { flex-direction: column; }
  .e-con.p3-films__photo { flex: none; width: 100%; height: 420px; }
  .e-con.p3-dark2__title, .e-con.p3-dark2__list, .e-con.p3-est__left, .e-con.p3-dl__card { flex: none; width: 100%; }
  .p3-band { height: 400px; } .p3-dl__img { height: 420px; }
  .e-con.p3-col3 { gap: 32px; }
}
@media (max-width: 767px) {
  .e-con.p3-films__photo { height: 280px; }
  .e-con.p3-film { padding: 20px; } .e-con.p3-film__cols { flex-direction: column; gap: 14px; }
  .p3-band { height: 240px; } .p3-dl__img { height: 280px; }
  .e-con.p3-dl__card--dark { padding: 32px 24px; } .e-con.p3-dl__cap { padding: 20px 24px 24px; }
  .e-con.p3-est__left, .e-con.p3-est__right { padding: 24px 20px; }
  .e-con.p3-est__top { flex-direction: column; } .p3-opts-w { flex: none; width: 100%; }
  .p3-est__big p { font-size: 64px; }
  .p3-faq--dark .e-n-accordion-item > .e-con.p3-faq__panel { --padding-right: 16px; --padding-left: 16px; --padding-bottom: 20px; }
}
.p3-est__devis p { font-size: 60px; line-height: 1; letter-spacing: -.05em; white-space: nowrap; }
@media (max-width: 767px) { .p3-est__devis p { font-size: 48px; } }

/* ---------- Signalétique ---------- */
.p3-center .elementor-heading-title { text-align: center; }
.e-con.p3-quote--int > .e-con-inner { align-items: center; }
.e-con.p3-quote--int { --padding-top: var(--p3-py); --padding-bottom: var(--p3-py); }
.e-con.p3-dcards { flex-wrap: nowrap; align-items: stretch; }
.e-con.p3-dcard { flex: 1 1 0; width: auto; border-radius: 8px; overflow: hidden; padding-bottom: 32px; }
.p3-dcards--4 .p3-dcard__img { height: 240px; } .p3-dcards--2 .p3-dcard__img { height: 540px; }
.e-con.p3-dcard__txt { padding: 0 24px; } .p3-dcards--2 .e-con.p3-dcard__txt { padding: 0 32px; }
.e-con.p3-ds { flex-wrap: nowrap; align-items: flex-start; }
.e-con.p3-ds__tile { flex: 0 0 592px; width: 592px; height: 720px; border-radius: 8px; align-items: center; justify-content: center; }
.p3-ds__img { width: 560px; height: 560px; } .p3-ds__img img { object-fit: contain !important; }
.e-con.p3-ds__col { flex: 1 1 auto; width: auto; }
.e-con.p3-segs { padding: 4px; border-radius: 8px; flex-wrap: nowrap; }
.e-con.p3-seg { flex: 1 1 0; width: auto; min-height: 52px; border-radius: 6px; align-items: center; justify-content: center; padding: 14px 12px; }
.e-con.p3-seg .elementor-widget-text-editor p { color: var(--p3-blanc); line-height: 24px; }
.e-con.p3-seg.is-on { background: var(--p3-lav); } .e-con.p3-seg.is-on .elementor-widget-text-editor p { color: var(--p3-ink); }
.e-con.p3-seg:not(.is-on):hover { background: rgb(255 255 255 / .08); }
.p3-faq--dark2 .e-n-accordion-item { background: var(--p3-sombre) !important; }
.e-con.p3-hotel { flex-wrap: nowrap; }
.p3-hotel__img { flex: 0 0 440px; width: 440px; height: 560px; border-radius: 4px; } .p3-hotel__img img { border-radius: 4px; }
.e-con.p3-hotel__txt { flex: 1 1 auto; width: auto; }
.e-con.p3-mat { flex-wrap: nowrap; } .elementor-widget.p3-mat__txt { flex: 0 0 700px; max-width: 700px; }
.p3-mat__img { flex: 1 1 auto; height: 330px; border-radius: 4px; } .p3-mat__img img { border-radius: 4px; }
@media (max-width: 1024px) {
  .e-con.p3-dcards { flex-wrap: wrap; } .p3-dcards--4 .e-con.p3-dcard { flex: 1 1 calc(50% - 8px); }
  .p3-dcards--2 .p3-dcard__img { height: 400px; }
  .e-con.p3-ds, .e-con.p3-hotel, .e-con.p3-mat { flex-direction: column; align-items: stretch; }
  .e-con.p3-ds__tile { flex: none; width: 100%; height: 480px; } .p3-ds__img { width: 400px; height: 400px; }
  .p3-hotel__img { flex: none; width: 100%; height: 480px; } .elementor-widget.p3-mat__txt { flex: none; max-width: none; }
  .p3-mat__img { flex: none; width: 100%; }
}
@media (max-width: 767px) {
  .e-con.p3-dcards { flex-direction: column; } .p3-dcards--2 .p3-dcard__img { height: 260px; }
  .e-con.p3-dcard__txt, .p3-dcards--2 .e-con.p3-dcard__txt { padding: 0 20px; }
  .e-con.p3-ds__tile { height: 320px; } .p3-ds__img { width: 280px; height: 280px; }
  .p3-hotel__img { height: 300px; } .p3-mat__img { height: 240px; }
}

/* ---------- Habillage de façade ---------- */
.e-con.p3-chiffre { --padding-top: 80px; --padding-bottom: 80px; }
.e-con.p3-bigfig__row { flex-wrap: nowrap; } .p3-bigfig p { font-size: 112px; line-height: 1; letter-spacing: -.05em; white-space: nowrap; }
.e-con.p3-bigfig__leg { flex: 0 0 430px; width: 430px; } .p3-bigfig__leg .elementor-widget-text-editor:first-child p { letter-spacing: -.014em; }
.e-con.p3-volets { flex-wrap: nowrap; height: 586px; }
.e-con.p3-volet { flex: 0 0 220px; width: 220px; height: 586px; border-radius: 4px; overflow: hidden; justify-content: flex-end; padding: 12px; transition: flex-basis .5s var(--p3-ease), width .5s var(--p3-ease); }
.e-con.p3-volet.is-on { flex: 1 1 504px; width: 504px; }
.e-con.p3-volet__box { border-radius: 8px; padding: 14px 14px 16px; gap: 10px; }
.p3-pm { display: block; width: 30px; height: 30px; flex: none; border-radius: 50%; background: var(--p3-lav) center / 13px no-repeat; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13 13'%3E%3Cpath d='M6.5 1v11M1 6.5h11' stroke='%23111212' stroke-width='1.6'/%3E%3C/svg%3E"); }
.p3-volet.is-on .p3-pm { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13 13'%3E%3Cpath d='M1 6.5h11' stroke='%23111212' stroke-width='1.6'/%3E%3C/svg%3E"); }
.p3-volet__cap p { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.p3-volet.is-on .e-con.p3-volet__box { padding: 16px 20px 16px 16px; } .p3-volet.is-on .p3-volet__cap p { flex-direction: row; align-items: center; gap: 14px; }
.p3-volet__cap p { font-size: 18px; line-height: 24px; } .p3-volet.is-on .p3-volet__cap p { font-size: 20px; line-height: 26px; }
.e-con.p3-volet:not(.is-on):hover .p3-volet__box { background: #2C2E2E; }
.e-con.p3-sieges { flex-wrap: nowrap; } .e-con.p3-sieges__txt { flex: 0 0 584px; width: 584px; }
.e-con.p3-sieges__ph { flex: 1 1 auto; flex-wrap: nowrap; align-items: flex-start; }
.p3-sieges__a { flex: 0 0 310px; height: 380px; border-radius: 4px; } .p3-sieges__b { flex: 1 1 auto; height: 332px; margin-top: 48px; border-radius: 4px; }
.p3-sieges__a img, .p3-sieges__b img, .p3-ref__img img { border-radius: 4px; }
.e-con.p3-onglets { flex-wrap: nowrap; width: auto; }
.e-con.p3-onglet { flex: none; width: auto; padding: 16px 24px; border-radius: 8px 8px 0 0; background: rgb(255 255 255 / .55); }
.e-con.p3-onglet.is-on { background: #1B1E1E; } .e-con.p3-onglet.is-on p { color: var(--p3-blanc); }
.e-con.p3-onglet:not(.is-on):hover { background: var(--p3-blanc); }
.p3-onglet p { line-height: 24px; white-space: nowrap; }
.e-con.p3-dossier { min-height: 430px; padding: 40px 48px 40px 56px; border-radius: 0 8px 8px 8px; flex-wrap: nowrap; background-color: #1B1E1E !important; }
.e-con.p3-dossier__txt { flex: 0 0 612px; width: 612px; } .p3-dossier__img { flex: 0 0 436px; width: 436px; height: 348px; } .p3-dossier__img img { object-fit: contain !important; }
.e-con.p3-preuve { flex-wrap: nowrap; align-items: stretch; }
.e-con.p3-preuve__a, .e-con.p3-preuve__b { flex: 1 1 0; width: auto; border-radius: 8px; padding: 32px 36px 36px; }
.e-con.p3-preuve__b { background: rgb(255 255 255 / .55); }
.e-con.p3-ref { flex-wrap: nowrap; } .e-con.p3-ref__txt { flex: 0 0 480px; width: 480px; }
.p3-ref__img { flex: 1 1 auto; height: 460px; border-radius: 4px; }
@media (max-width: 1024px) {
  .p3-bigfig p { font-size: 80px; } .e-con.p3-bigfig__row, .e-con.p3-sieges, .e-con.p3-preuve, .e-con.p3-ref { flex-direction: column; align-items: flex-start; }
  .e-con.p3-bigfig__leg, .e-con.p3-sieges__txt, .e-con.p3-ref__txt { flex: none; width: 100%; }
  .e-con.p3-volets { height: 460px; } .e-con.p3-volet { flex-basis: 110px; width: 110px; height: 460px; } .e-con.p3-volet:not(.is-on) .p3-volet__cap { display: none; }
  .e-con.p3-sieges__ph, .p3-ref__img { width: 100%; } .e-con.p3-preuve__a, .e-con.p3-preuve__b { flex: none; width: 100%; }
  .e-con.p3-onglets { flex-wrap: wrap; } .e-con.p3-onglet { border-radius: 8px; margin-bottom: 4px; }
  .e-con.p3-dossier { flex-direction: column; border-radius: 8px; padding: 32px; } .e-con.p3-dossier__txt { flex: none; width: 100%; } .p3-dossier__img { flex: none; width: 100%; max-width: 436px; height: 300px; }
}
@media (max-width: 767px) {
  .p3-bigfig p { font-size: 56px; }
  .e-con.p3-volets { flex-direction: column; height: auto; } .e-con.p3-volet, .e-con.p3-volet.is-on { flex: none; width: 100%; height: 120px; } .e-con.p3-volet.is-on { height: 320px; }
  .e-con.p3-volet:not(.is-on) .p3-volet__cap { display: block; } .p3-volet__box { flex-direction: row !important; align-items: center; }
  .e-con.p3-sieges__ph { flex-direction: row; } .p3-sieges__a { flex: 1 1 0; height: 240px; } .p3-sieges__b { height: 210px; margin-top: 30px; }
  .e-con.p3-dossier { padding: 24px 20px; } .p3-dossier__img { height: 220px; } .p3-ref__img { height: 260px; }
  .e-con.p3-preuve__a, .e-con.p3-preuve__b { padding: 24px 20px; }
}

.p3-head > .elementor-widget.p3-w560 { flex: 0 0 560px !important; width: 560px; }
@media (max-width: 1024px) { .p3-head > .elementor-widget.p3-w560 { flex: none !important; width: 100%; } }

/* ---------- Pose et dépose ---------- */
.p3-dl__illu2 { height: 336px; } .p3-dl__illu2 img { width: 100%; height: 336px; object-fit: contain; display: block; } .p3-dl__img2 { height: 444px; }
.e-con.p3-ratee { padding: 48px 40px 28px; }
.e-con.p3-pcs { flex-wrap: nowrap; align-items: flex-start; } .e-con.p3-pc { flex: 1 1 0; width: auto; }
.p3-pc__img { height: 380px; border-radius: 4px; } .p3-pc__img img, .p3-cap__img img, .p3-quand__img img { border-radius: 4px; }
.elementor-widget.p3-w1000 { max-width: 1000px !important; } .elementor-widget.p3-w411 { max-width: 411px !important; }
.e-con.p3-quand { flex-wrap: nowrap; } .p3-quand__img { flex: 0 0 592px; width: 592px; height: 444px; border-radius: 4px; }
.e-con.p3-quand__col { flex: 1 1 auto; width: auto; } .e-con.p3-kpis { flex-wrap: nowrap; }
.e-con.p3-kpi { flex: 1 1 0; width: auto; min-height: 226px; border-radius: 8px; padding: 24px 28px 28px; }
.e-con.p3-nuits { border-radius: 8px; padding: 28px; flex: 1 1 auto; }
.e-con.p3-qui { flex-wrap: nowrap; } .e-con.p3-qui__txt { flex: 0 0 440px; width: 440px; } .p3-map-w { flex: 0 0 720px; width: 720px; }
.p3-map { position: relative; width: 100%; aspect-ratio: 720 / 640; }
.p3-map::before { content: ''; position: absolute; left: 13.9%; top: -17.2%; width: 77.8%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(closest-side, rgb(207 190 249 / .86), rgb(207 190 249 / .5) 45%, rgb(207 190 249 / 0)); }
.p3-map__fr { position: absolute; left: 9.17%; top: 4.22%; width: 84.3%; height: auto; }
.p3-map__zone { position: absolute; left: 42.36%; top: 13.28%; width: 20.83%; aspect-ratio: 1; border-radius: 50%; background: rgb(207 190 249 / .18); border: 1.5px dashed var(--p3-violet); }
.p3-map__pin { position: absolute; left: 50.83%; top: 22.81%; width: 28px; height: 28px; border-radius: 50%; background: var(--p3-blanc); box-shadow: 0 0 0 4px var(--p3-lav), 0 4px 14px rgb(107 74 229 / .25); }
.p3-map__pin::after { content: '+'; position: absolute; inset: 0; display: grid; place-items: center; font: 500 14px/1 Archivo, sans-serif; color: var(--p3-violet); }
.p3-map__lab { position: absolute; display: flex; flex-direction: column; gap: 6px; padding: 12px 16px; border-radius: 8px; background: var(--p3-blanc); box-shadow: 0 8px 24px rgb(18 18 18 / .08); white-space: nowrap; }
.p3-map__lab span { font: 500 12px/16px 'IBM Plex Mono', monospace; text-transform: uppercase; color: var(--p3-txt); }
.p3-map__lab strong { font: 500 18px/20px Archivo, sans-serif; letter-spacing: -.03em; color: var(--p3-ink); }
.e-con.p3-depose { flex-wrap: nowrap; } .e-con.p3-depose__txt { flex: 0 0 700px; width: 700px; }
.e-con.p3-deprix { flex: 1 1 auto; width: auto; border-radius: 8px; padding: 36px; min-height: 368px; }
.p3-bigprice p { font-size: 120px; line-height: 1; letter-spacing: -.05em; }
.e-con.p3-caps { flex-wrap: nowrap; } .e-con.p3-cap { flex: 1 1 0; width: auto; }
.p3-caps--3 .p3-cap__img { height: 440px; border-radius: 4px; } .p3-caps--2 .p3-cap__img { height: 340px; border-radius: 4px; }
@media (max-width: 1024px) {
  .e-con.p3-pcs { flex-wrap: wrap; } .e-con.p3-pc { flex: 1 1 calc(50% - 8px); }
  .e-con.p3-quand, .e-con.p3-qui, .e-con.p3-depose { flex-direction: column; align-items: stretch; }
  .p3-quand__img, .e-con.p3-qui__txt, .p3-map-w, .e-con.p3-depose__txt { flex: none; width: 100%; } .p3-map-w { max-width: 720px; }
  .p3-caps--3 .p3-cap__img { height: 300px; } .p3-caps--2 .p3-cap__img { height: 260px; }
}
@media (max-width: 767px) {
  .e-con.p3-pcs, .e-con.p3-caps, .e-con.p3-kpis { flex-direction: column; } .p3-pc__img { height: 260px; } .p3-quand__img { height: 280px; }
  .p3-map__lab { padding: 6px 8px; gap: 2px; } .p3-map__lab span { font-size: 9px; line-height: 12px; } .p3-map__lab strong { font-size: 12px; line-height: 14px; }
  .p3-map__pin { width: 18px; height: 18px; } .p3-bigprice p { font-size: 80px; } .e-con.p3-deprix { min-height: 0; padding: 24px; }
  .p3-caps--3 .p3-cap__img, .p3-caps--2 .p3-cap__img { height: 260px; } .p3-dl__img2 { height: 280px; } .p3-dl__illu2 img { height: 220px; }
}

.elementor-widget.p3-reveal--1040 { max-width: 1040px !important; } .elementor-widget.p3-reveal--1000 { max-width: 1000px !important; } .elementor-widget.p3-reveal--1100 { max-width: 1100px !important; } .elementor-widget.p3-reveal--1200 { max-width: 1200px !important; }

/* ---------- Aménagement, papier peint ---------- */
.e-con.p3-mos { flex-wrap: nowrap; align-items: flex-start; }
.e-con.p3-mos__col--480 { flex: 0 0 480px; width: 480px; } .e-con.p3-mos__col--344 { flex: 1 1 344px; width: 344px; }
.p3-mos__img--420 { height: 420px; } .p3-mos__img--300 { height: 300px; } .p3-mos__img img { border-radius: 4px; }
.p3-dcards--3 .p3-dcard__img { height: 260px; } .p3-dcards--3 .e-con.p3-dcard__txt { padding: 0 28px; }
.e-con.p3-quote--int > .e-con-inner > .p3-reveal__extra { margin-top: 0; }
@media (max-width: 1024px) {
  .e-con.p3-mos { flex-wrap: wrap; } .e-con.p3-mos__col--480, .e-con.p3-mos__col--344 { flex: 1 1 calc(50% - 8px); width: auto; }
  .p3-dcards--3 .e-con.p3-dcard { flex: 1 1 calc(50% - 8px); }
}
@media (max-width: 767px) { .e-con.p3-mos { flex-direction: column; } .e-con.p3-mos__col--480, .e-con.p3-mos__col--344 { flex: none; width: 100%; } .p3-mos__img--420, .p3-mos__img--300 { height: 280px; } }

/* ---------- Secteurs ---------- */
.e-con.p3-scard { height: 340px; border-radius: 8px; overflow: hidden; flex-wrap: nowrap; }
.p3-scard__img { flex: 0 0 640px; width: 640px; height: 340px; } .p3-scard__img img { transition: transform .5s var(--p3-ease); }
.e-con.p3-scard:hover .p3-scard__img img { transform: scale(1.03); }
.e-con.p3-scard__txt { flex: 1 1 auto; width: auto; padding-right: 56px; align-items: flex-start; } .p3-scard--rev .e-con.p3-scard__txt { padding: 0 0 0 56px; }
.e-con.p3-faisons { flex-wrap: nowrap; } .e-con.p3-faisons__txt { flex: 0 0 566px; width: 566px; }
.p3-pills { display: flex; flex-wrap: wrap; gap: 8px; } .p3-pill { display: inline-flex; min-height: 48px; align-items: center; padding: 12px 18px; border-radius: 8px; background: var(--p3-blanc); line-height: 24px; }
.e-con.p3-faisons__ph { flex: 1 1 auto; flex-wrap: nowrap; align-items: flex-start; }
.p3-faisons__a { flex: 0 0 300px; height: 460px; border-radius: 4px; } .p3-faisons__b { flex: 1 1 auto; height: 396px; margin-top: 64px; border-radius: 4px; }
.p3-faisons__a img, .p3-faisons__b img, .p3-conf__img img, .p3-noir__img img { border-radius: 4px; }
.e-con.p3-noirsec { --padding-top: 100px; --padding-bottom: 100px; }
.e-con.p3-noir { flex-wrap: nowrap; } .e-con.p3-noir__fig { flex: 0 0 500px; width: 500px; } .p3-fig80 p { font-size: 80px; line-height: 1; letter-spacing: -.05em; white-space: nowrap; }
.e-con.p3-noir__duos { flex-wrap: nowrap; } .e-con.p3-noir__duo { flex: 1 1 0; width: auto; flex-wrap: nowrap; }
.e-con.p3-noir__txt { flex: 0 0 672px; width: 672px; } .p3-noir__img { flex: 0 0 480px; width: 480px; height: 340px; border-radius: 4px; }
.e-con.p3-conf { flex-wrap: nowrap; } .e-con.p3-conf__txt { flex: 0 0 600px; width: 600px; } .p3-conf__img { flex: 1 1 auto; height: 440px; border-radius: 4px; }
.p3-clients p { font-size: 35px; line-height: 1.1; letter-spacing: -.05em; }
@media (max-width: 1024px) {
  .e-con.p3-scard, .e-con.p3-faisons, .e-con.p3-noir, .e-con.p3-noir__duos, .e-con.p3-conf { flex-direction: column; height: auto; align-items: stretch; }
  .p3-scard--rev { flex-direction: column-reverse !important; } .p3-scard__img { flex: none; width: 100%; height: 300px; }
  .e-con.p3-scard__txt, .p3-scard--rev .e-con.p3-scard__txt { padding: 0 32px 32px; }
  .e-con.p3-faisons__txt, .e-con.p3-noir__fig, .e-con.p3-noir__txt, .e-con.p3-conf__txt { flex: none; width: 100%; } .p3-noir__img { flex: none; width: 100%; height: 320px; } .p3-conf__img { flex: none; width: 100%; height: 360px; }
}
@media (max-width: 767px) {
  .p3-scard__img { height: 220px; } .e-con.p3-scard__txt, .p3-scard--rev .e-con.p3-scard__txt { padding: 0 20px 24px; }
  .p3-faisons__a { flex: 1 1 0; height: 300px; } .p3-faisons__b { height: 260px; margin-top: 40px; }
  .p3-fig80 p { font-size: 56px; } .e-con.p3-noir__duo { flex-direction: column; align-items: flex-start; } .p3-noir__img, .p3-conf__img { height: 240px; } .p3-clients p { font-size: 28px; }
}

/* tailles Geist hors échelle (accroches secondaires du Figma), lues dans le Figma */
.p3-fs-28 p { font-size: 28px; line-height: 1.2; } .p3-fs-32 p { font-size: 32px; line-height: 1.15; } .p3-fs-35 p { font-size: 35px; line-height: 1.1; } .p3-fs-36 p { font-size: 36px; line-height: 1.1; } 
@media (max-width: 767px) { .p3-fs-28 p, .p3-fs-32 p, .p3-fs-35 p, .p3-fs-36 p { font-size: 24px; } }
.p3-noir__duo > .p3-fig80 { flex: none; width: auto; }

/* ---------- Réalisations ---------- */
.e-con.p3-filt { flex-wrap: nowrap; } .p3-filt__lab { flex: 0 0 120px; width: 120px; }
.p3-filters .p3-chip:not(.is-on) { background: var(--p3-blanc); } .p3-filters .p3-chip:not(.is-on):hover { background: var(--p3-lav); }
.p3-chip:disabled { opacity: .35; cursor: default; } .p3-filters .p3-chip:disabled:hover { background: var(--p3-blanc); }
.e-con.p3-gal { flex-wrap: nowrap; align-items: flex-start; } .e-con.p3-gal__col { flex: 1 1 0; width: auto; }
.p3-it.is-off { display: none !important; } .p3-gal__img img { border-radius: 4px; }
.p3-h-260 { height: 260px; } .p3-h-300 { height: 300px; } .p3-h-305 { height: 305px; } .p3-h-340 { height: 340px; } .p3-h-345 { height: 345px; } .p3-h-380 { height: 380px; }
.p3-h-385 { height: 385px; } .p3-h-420 { height: 420px; } .p3-h-460 { height: 460px; } .p3-h-500 { height: 500px; } .p3-h-545 { height: 545px; } .p3-h-580 { height: 580px; }
@media (max-width: 1024px) { .e-con.p3-filt { flex-direction: column; align-items: flex-start; gap: 10px; } .p3-filt__lab { flex: none; } }
@media (max-width: 767px) { .e-con.p3-gal { flex-direction: column; } .e-con.p3-gal__col { width: 100%; } .p3-gal__img { height: 260px !important; } }


/* ---------- menu mobile (retours de Lucas, 10/11) : page bloquée, panneau pleine hauteur sous l'en-tête, devis + téléphone en bas ---------- */
.e-con.p3-mnav { display: none; }
@media (max-width: 1024px) {
  html.p3-menu-open, html.p3-menu-open body { overflow: hidden !important; }
  html.p3-menu-open .e-con.p3-header { position: fixed !important; top: 0; left: 0; right: 0; background: var(--p3-ink) !important; }
  .p3-nav .elementor-menu-toggle.elementor-active + .elementor-nav-menu__container.elementor-nav-menu--dropdown {
    position: fixed !important; top: var(--p3-hh, 80px) !important; left: 0 !important; right: 0 !important; bottom: 0 !important; width: auto !important;
    height: auto !important; max-height: none !important; margin: 0 !important; border-radius: 0; box-shadow: none; overflow-y: auto; padding: 8px 0 170px; z-index: 130; }
  html.p3-menu-open .e-con.p3-mnav { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 140; padding: 16px var(--p3-side) 24px; background: var(--p3-blanc); box-shadow: 0 -8px 24px rgb(17 18 18 / .06); }
  .p3-mnav__tel { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; color: var(--p3-ink) !important; }
  .p3-mnav__tel .p3-phone-ico { width: 20px; height: 20px; }
  .p3-nav .elementor-nav-menu--dropdown .sub-arrow svg { transition: transform .2s var(--p3-ease); }
  .p3-nav .elementor-nav-menu--dropdown a.highlighted .sub-arrow svg, .p3-nav .elementor-nav-menu--dropdown a[aria-expanded="true"] .sub-arrow svg { transform: rotate(180deg); }
}

/* ---------- pages sans photo de hero : en-tête clair (version « foncée » du Figma : textes encre sur papier) ---------- */
.p3-header__logo--sombre { display: none; }
body:not(:has(.p3-hero)) .e-con.p3-header { background: var(--p3-papier); }
body:not(:has(.p3-hero)) .p3-header__logo:not(.p3-header__logo--sombre) { display: none; }
body:not(:has(.p3-hero)) .p3-header__logo--sombre { display: block; }
body:not(:has(.p3-hero)) .p3-nav .elementor-nav-menu--main .elementor-nav-menu > li > a, body:not(:has(.p3-hero)) .p3-nav .elementor-nav-menu--main .elementor-item:hover { color: var(--p3-ink) !important; fill: var(--p3-ink); }
body:not(:has(.p3-hero)) .p3-hphone { color: var(--p3-ink) !important; }
body:not(:has(.p3-hero)) .p3-header__cta .elementor-button { background-color: var(--p3-ink) !important; color: var(--p3-blanc) !important; }
body:not(:has(.p3-hero)) .p3-header__cta .elementor-button:hover { background-color: var(--p3-violet) !important; }
body:not(:has(.p3-hero)) .p3-nav .elementor-menu-toggle, body:not(:has(.p3-hero)) .p3-nav .elementor-menu-toggle svg { color: var(--p3-ink); fill: var(--p3-ink); }
html.p3-menu-open body:not(:has(.p3-hero)) .p3-header__logo--sombre { display: none; } html.p3-menu-open body:not(:has(.p3-hero)) .p3-header__logo:not(.p3-header__logo--sombre) { display: block; }
html.p3-menu-open body:not(:has(.p3-hero)) .p3-hphone, html.p3-menu-open body:not(:has(.p3-hero)) .p3-nav .elementor-menu-toggle svg { color: var(--p3-blanc) !important; fill: var(--p3-blanc); }
.e-con.p3-phead { --padding-top: 120px; --padding-bottom: 80px; }
@media (max-width: 1024px) { .e-con.p3-phead { --padding-top: 64px; --padding-bottom: 56px; } }
/* étude de cas */
.e-con.p3-cas { flex-wrap: nowrap; } .e-con.p3-cas__fiche { flex: 0 0 340px; width: 340px; } .e-con.p3-cas__right { flex: 1 1 auto; width: auto; }
.p3-cas__img { height: 520px; border-radius: 4px; } .p3-cas__img img { border-radius: 4px; }
.e-con.p3-cassec { --padding-top: 100px; }
.e-con.p3-onglet--papier { background: var(--p3-papier); } .p3-dossier__img--520 { flex: 0 0 520px; width: 520px; }
@media (max-width: 1024px) { .e-con.p3-cas { flex-direction: column; } .e-con.p3-cas__fiche { flex: none; width: 100%; } .p3-cas__img { height: 400px; } .p3-dossier__img--520 { flex: none; width: 100%; } }
@media (max-width: 767px) { .p3-cas__img { height: 260px; } }
.e-con.p3-dossier:has(.p3-dossier__img--520) > .e-con.p3-dossier__txt { flex: 1 1 auto; width: auto; } .e-con.p3-dossier:has(.p3-dossier__img--520) { padding-right: 40px; }
/* Méthode : repères */
.p3-lav { color: var(--p3-lav); } .p3-tag--sombre { background: #2A2B2B; color: var(--p3-blanc); height: 22px; }
.e-con.p3-reperes { flex-wrap: nowrap; align-items: flex-start; } .elementor-widget.p3-reperes__q { flex: 0 0 720px; max-width: 720px; }
@media (max-width: 1024px) { .e-con.p3-reperes { flex-direction: column; gap: 24px; } .elementor-widget.p3-reperes__q { flex: none; max-width: 100%; } }

/* ---------- L'entreprise ---------- */
.e-con.p3-dates { flex-wrap: nowrap; align-items: stretch; } .e-con.p3-date { flex: 1 1 0; width: auto; min-height: 440px; border-radius: 8px; padding: 28px; }
.p3-date__an p { font-size: 64px; line-height: 1.23; }
.e-con.p3-atelier { flex-wrap: nowrap; } .p3-atelier__img { flex: 0 0 600px; width: 600px; height: 450px; border-radius: 4px; } .p3-atelier__img img { border-radius: 4px; }
.e-con.p3-atelier__txt { flex: 1 1 auto; width: auto; } .e-con.p3-eng { flex-wrap: nowrap; } .e-con.p3-eng__c { flex: 1 1 0; width: auto; }
.e-con.p3-pqsec { --padding-top: 0px; --padding-bottom: 0px; --padding-left: 10px; --padding-right: 10px; }
.e-con.p3-pqcarte { border-radius: 20px; padding: 130px 110px; align-items: center; }
.e-con.p3-cases { width: 100%; height: 480px; flex-wrap: nowrap; }
.e-con.p3-case { flex: 0 0 245px; width: 245px; height: 480px; border-radius: 12px; overflow: hidden; padding: 16px; position: relative; transition: flex-basis .5s var(--p3-ease); }
.e-con.p3-case.is-on { flex: 1 1 690px; width: 690px; }
.p3-case__ill { position: absolute !important; inset: 13px 0 auto 0; height: 290px; } .p3-case__ill img { object-fit: contain !important; }
.e-con.p3-case__card { position: relative; border-radius: 10px; padding: 20px 22px; background: rgb(255 255 255 / .1); -webkit-backdrop-filter: blur(24px); backdrop-filter: blur(24px); }
.p3-case:not(.is-on) .p3-case__d { display: none; } .p3-case:not(.is-on) .p3-case__t p { font-size: 18px; }
.p3-case__t p { display: flex; align-items: center; gap: 12px; flex-direction: row-reverse; justify-content: space-between; }
@media (max-width: 1024px) {
  .e-con.p3-dates, .e-con.p3-atelier, .e-con.p3-eng { flex-direction: column; } .p3-atelier__img { flex: none; width: 100%; height: 360px; }
  .e-con.p3-date { min-height: 0; gap: 40px; } .e-con.p3-pqcarte { padding: 64px 24px; }
  .e-con.p3-cases { flex-direction: column; height: auto; } .e-con.p3-case, .e-con.p3-case.is-on { flex: none; width: 100%; height: 160px; } .e-con.p3-case.is-on { height: 440px; }
  .p3-case:not(.is-on) .p3-case__ill { display: none; }
}
@media (max-width: 767px) { .p3-date__an p { font-size: 48px; } .p3-atelier__img { height: 260px; } }

/* ---------- Actualités ---------- */
.e-con.p3-une { flex-wrap: nowrap; border-radius: 8px; overflow: hidden; min-height: 440px; } .p3-une__img { flex: 0 0 720px; width: 720px; height: 440px; }
.e-con.p3-une__txt { flex: 1 1 auto; width: auto; padding-right: 48px; align-items: flex-start; }
.p3-une__t .elementor-heading-title { font-family: Geist, sans-serif; font-size: 44px; line-height: 1.1; letter-spacing: -.05em; }
.e-con.p3-newsrow { flex-wrap: nowrap; align-items: flex-start; } .e-con.p3-news { flex: 1 1 0; width: auto; } .p3-news__img { height: 260px; } .p3-news__img img, .p3-une__img img { border-radius: 4px; }
.p3-news__t a:hover, .p3-une__t a:hover { color: var(--p3-violet); }
@media (max-width: 1024px) { .e-con.p3-une, .e-con.p3-newsrow { flex-direction: column; } .p3-une__img { flex: none; width: 100%; height: 340px; } .e-con.p3-une__txt { padding: 0 24px 32px; } .e-con.p3-news { width: 100%; } }
@media (max-width: 767px) { .p3-une__img { height: 240px; } .p3-une__t .elementor-heading-title { font-size: 30px; } }

/* ---------- Contact, covering, pages légales ---------- */
.e-con.p3-contact__card { flex: 0 0 640px; width: 640px; }
.p3-form .elementor-field-textual.elementor-field-type-textarea, .p3-form textarea.elementor-field-textual { height: auto !important; min-height: 96px; padding: 14px 16px !important; }
.p3-form .elementor-field-type-upload input[type=file] { min-height: 44px; padding: 10px 16px; border-radius: 8px; background: var(--p3-papier); border: 0; width: 100%; font-size: 14px; }
.p3-map-w--c { align-self: center; flex: none; width: 720px; max-width: 100%; }
.e-con.p3-zones { flex-wrap: nowrap; align-items: stretch; } .e-con.p3-zone { flex: 1 1 0; width: auto; border-radius: 10px; padding: 6px 6px 0; }
.e-con.p3-zone__c { border-radius: 6px; padding: 26px 20px; flex: 1 1 auto; } .p3-zone__btn { padding: 0 14px 0; } .p3-zone .p3-btn .elementor-button { background: transparent !important; color: var(--p3-ink) !important; padding: 0 !important; min-height: 46px; }
.elementor-widget.p3-zones__t { max-width: 860px !important; margin: 0 auto; }
.e-con.p3-covform { flex: 0 0 420px; width: 420px; border-radius: 10px; align-self: flex-start; } .e-con.p3-covtxt { flex: 1 1 auto; width: auto; }
.e-con.p3-covphs { flex-wrap: nowrap; } .e-con.p3-covph { flex: 1 1 0; width: auto; } .p3-covph__img { height: 240px; border-radius: 8px; } .p3-covph__img img { border-radius: 8px; }
.p3-mt24 { margin-top: 40px; } .e-con.p3-legal > .e-con-inner > .e-con { max-width: 800px; } .e-con.p3-legal { --padding-top: 0px; }
.p3-acompleter { background: var(--p3-lav); padding: 0 4px; border-radius: 3px; color: var(--p3-ink); }
@media (max-width: 1024px) { .e-con.p3-contact__card, .e-con.p3-covform { flex: none; width: 100%; } .e-con.p3-zones, .e-con.p3-covdet > .e-con-inner { flex-direction: column; } .e-con.p3-zone { width: 100%; } .e-con.p3-covdet > .e-con-inner { gap: 48px; } }
@media (max-width: 767px) { .e-con.p3-covphs { flex-direction: column; } .p3-covph__img { height: 220px; } }

@media (max-width: 1024px) { .e-con.p3-date { flex-direction: column !important; flex: none !important; width: 100% !important; } .e-con.p3-date > .e-con, .e-con.p3-date > .elementor-widget { width: 100% !important; max-width: 100%; margin: 0 !important; } }

/* espacements relevés au Figma (10/11) : étiquettes mono 12/18, haut des sections Publications (100) et Galerie (80) */
.elementor-widget.p3-nocaps p { line-height: 18px; }
.e-con.p3-pubsec { --padding-top: 100px; } .e-con.p3-galsec { --padding-top: 80px; }
@media (max-width: 1024px) { .e-con.p3-pubsec, .e-con.p3-galsec { --padding-top: 64px; } }
.p3-covph .elementor-widget-text-editor p, .p3-cap .elementor-widget-text-editor p, .p3-it .elementor-widget-text-editor p { line-height: 18px; }
/* audit du 10/11 : pas de mot seul en fin de titre (R12), commandes à 44 px au doigt en mobile (R15) */
h2.elementor-heading-title, h3.elementor-heading-title { text-wrap: balance; }
@media (max-width: 767px) { .p3-chip, .p3-opt { min-height: 44px; } .p3-onglet p { line-height: 24px; } .e-con.p3-onglet, .e-con.p3-seg { min-height: 44px; } }
.p3-it .p3-it__t p { line-height: 26px; }
.e-con.p3-est__right { --gap: 19px; --row-gap: 19px; row-gap: 19px; gap: 19px; }
.p3-form textarea.elementor-field-textual { height: 96px !important; min-height: 96px; }
.p3-form .elementor-field-type-upload input[type=file] { height: 44px; min-height: 44px; padding: 10px 16px; line-height: 24px; }/* End custom CSS */