/* 
Theme Name: Lips Photographie
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Web Evolution 34
Author URI: https://web-evolution.pro
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* =========================================================
   1. VARIABLES
   Source unique de vérité pour le CSS ci-dessous.
   À créer AUSSI dans les variables Atomic, avec les mêmes
   valeurs, pour les retrouver dans les sélecteurs de couleur
   de l'éditeur.
   ========================================================= */

:root{
  --lips-ink:#3c3c3b;        /* Texte principal    */
  --lips-ink-deep:#2c2b2a;   /* Fonds sombres      */
  --lips-red:#e9473d;        /* Accent primaire    */
  --lips-nude:#e0c4ad;       /* Accent secondaire  */
  --lips-cream:#f6ede6;      /* Fond de page       */
  --lips-paper:#fdf9f5;      /* Fond de bloc       */
  --lips-line:#e2d5c8;       /* Filets             */
  --lips-muted:#6d6459;      /* Texte secondaire   */
  --lips-soft:#9a8d80;       /* Texte tertiaire    */

  --lips-mono:"Source Code Pro",ui-monospace,monospace;
  --lips-sans:"Roboto",system-ui,sans-serif;
  --lips-serif:"Cormorant Garamond",Georgia,serif;
}


/* =========================================================
   2. UTILITAIRES TYPOGRAPHIQUES
   À appliquer sur un widget Titre ou Éditeur de texte.
   ========================================================= */

/* Surtitre rouge en majuscules espacées */
.lips-ov{
  font-family:var(--lips-mono);
  font-size:11.5px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--lips-red);
  font-weight:600;
}

/* Fragment en serif italique, à l'intérieur d'un titre */
.lips-serif-it{
  font-family:var(--lips-serif);
  font-style:italic;
  font-weight:400;
  letter-spacing:0;
  color:var(--lips-red);
}

/* Chapô serif */
.lips-lead{
  font-family:var(--lips-serif);
  font-size:clamp(19px,2.2vw,25px);
  line-height:1.5;
  font-weight:400;
  color:var(--lips-muted);
}

/* Badge « à confirmer » */
.lips-tbc{
  display:inline-block;
  font-family:var(--lips-mono);
  font-size:9.5px;
  letter-spacing:.12em;
  text-transform:uppercase;
  background:var(--lips-red);
  color:#fff;
  padding:3px 7px;
  font-weight:600;
  vertical-align:middle;
  margin-left:8px;
  white-space:nowrap;
}


/* =========================================================
   3. LE CADRE GALERIE
   Le composant signature du design : passe-partout papier,
   filet, ombre portée, légende en petites capitales.
   À appliquer sur un conteneur contenant une image.
   ========================================================= */

.lips-frame{
  background:var(--lips-paper);
  padding:clamp(14px,1.8vw,26px);
  border:1px solid var(--lips-line);
  box-shadow:0 18px 40px -28px rgba(44,36,28,.45);
}
.lips-frame img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.lips-frame figcaption,
.lips-frame .lips-caption{
  font-family:var(--lips-mono);
  font-size:10.5px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--lips-soft);
  padding-top:12px;
  text-align:center;
}
.lips-frame .lips-caption b{
  color:var(--lips-nude);
  font-weight:600;
}

/* Variante sur fond sombre, pour la section galerie */
.lips-frame--dark{
  background:rgba(246,237,230,.05);
  border-color:rgba(246,237,230,.12);
  box-shadow:none;
}
.lips-frame--dark .lips-caption{ color:#8f887f; }


/* =========================================================
   4. LA FRISE DU FIL ROUGE (page d'accueil)
   Six étapes reliées par une ligne, du premier portrait
   aux petits-enfants. Difficile à reproduire à la main,
   facile à garder en CSS.

   Structure attendue :
   <div class="lips-fil">
     <div class="lips-fil-step">
       <span class="dot"></span>
       <p class="n">Le premier projet</p>
       <p>Un dirigeant vient pour son portrait.</p>
     </div>
     ... x6
   </div>
   ========================================================= */

.lips-fil{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  position:relative;
  margin-top:54px;
}
.lips-fil::before{
  content:"";
  position:absolute;
  left:6px; right:6px; top:7px;
  height:1px;
  background:var(--lips-line);
  z-index:0;
}
.lips-fil-step{ position:relative; padding-right:16px; z-index:1; }
.lips-fil-step .dot{
  width:15px; height:15px;
  border-radius:50%;
  background:var(--lips-paper);
  border:2px solid var(--lips-red);
  display:block;
}
.lips-fil-step .n{
  font-family:var(--lips-mono);
  font-size:10.5px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--lips-red);
  margin-top:16px;
  font-weight:600;
}
.lips-fil-step p:not(.n){
  margin-top:8px;
  font-size:14.5px;
  color:var(--lips-muted);
  max-width:16em;
  line-height:1.5;
}


/* =========================================================
   5. LA LISTE « MOMENTS » ET « OBJECTIFS »
   Trois colonnes : intitulé, description, étiquettes.
   Utilisée sur l'accueil (5 moments), la page entreprises
   (6 objectifs) et la page mariage (section Et après).
   ========================================================= */

.lips-moments{ border-top:1px solid var(--lips-line); margin-top:48px; }

.lips-moment{
  display:grid;
  grid-template-columns:.3fr .42fr .28fr;
  gap:clamp(18px,3vw,40px);
  padding:clamp(26px,3vw,36px) 0;
  border-bottom:1px solid var(--lips-line);
  align-items:start;
}
.lips-moment .n{
  font-family:var(--lips-mono);
  font-size:11px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--lips-red);
  font-weight:600;
}
.lips-moment h3{
  font-family:var(--lips-mono);
  font-size:clamp(18px,2vw,23px);
  font-weight:600;
  margin-top:10px;
  line-height:1.2;
}
.lips-moment .desc{ font-size:15px; color:var(--lips-muted); }

.lips-tags{ display:flex; flex-wrap:wrap; gap:8px; }
.lips-tags span{
  font-family:var(--lips-mono);
  font-size:10.5px;
  letter-spacing:.1em;
  text-transform:uppercase;
  border:1px solid var(--lips-line);
  background:var(--lips-paper);
  color:#8a7b6d;
  padding:6px 11px;
}


/* =========================================================
   6. LES COLLECTIONS MARIAGE
   Trois cartes, celle du milieu en négatif.
   ========================================================= */

.lips-coll{
  background:var(--lips-cream);
  border:1px solid var(--lips-line);
  padding:clamp(26px,3vw,38px);
  display:flex;
  flex-direction:column;
  height:100%;
  transition:.25s;
}
.lips-coll:hover{
  transform:translateY(-4px);
  box-shadow:0 26px 50px -30px rgba(44,36,28,.5);
}
.lips-coll--mid{
  background:var(--lips-ink-deep);
  border-color:var(--lips-ink-deep);
  color:var(--lips-cream);
}
.lips-coll--mid h3,
.lips-coll--mid .price{ color:#fff; }
.lips-coll--mid p,
.lips-coll--mid li{ color:#b9b0a4; }

.lips-coll .tagline{
  font-family:var(--lips-mono);
  font-size:10.5px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--lips-red);
  font-weight:600;
}
.lips-coll h3{
  font-family:var(--lips-serif);
  font-style:italic;
  font-size:clamp(26px,2.8vw,34px);
  font-weight:400;
  margin:12px 0 6px;
  letter-spacing:0;
}
.lips-coll .price{
  font-family:var(--lips-mono);
  font-size:clamp(20px,2.2vw,26px);
  font-weight:700;
  color:var(--lips-ink);
  margin-bottom:18px;
}
.lips-coll ul{ list-style:none; display:grid; gap:10px; margin:0 0 26px; padding:0; }
.lips-coll li{
  display:flex; gap:11px; align-items:baseline;
  font-size:14px; color:#4a453e;
}
.lips-coll li::before{
  content:"\25C6";
  color:var(--lips-red);
  font-size:8px;
  position:relative; top:-2px;
}
.lips-coll--mid li::before{ color:var(--lips-nude); }


/* =========================================================
   7. L'ÉCOSYSTÈME (page entreprises)
   Six cartes, la première en négatif car c'est l'offre
   signature : la banque d'images.
   ========================================================= */

.lips-eco{
  border:1px solid var(--lips-line);
  background:var(--lips-paper);
  padding:clamp(22px,2.6vw,30px);
  height:100%;
  transition:.25s;
}
.lips-eco:hover{ border-color:var(--lips-nude); transform:translateY(-3px); }
.lips-eco .n{
  font-family:var(--lips-mono);
  font-size:10.5px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--lips-red);
  font-weight:600;
}
.lips-eco h3{
  font-family:var(--lips-mono);
  font-size:clamp(16px,1.7vw,19px);
  font-weight:600;
  margin:11px 0 10px;
}
.lips-eco p{ font-size:14px; color:var(--lips-muted); }

.lips-eco--star{
  background:var(--lips-ink-deep);
  border-color:var(--lips-ink-deep);
  color:var(--lips-cream);
}
.lips-eco--star h3{ color:#fff; }
.lips-eco--star p{ color:#b9b0a4; }
.lips-eco--star .n{ color:var(--lips-nude); }


/* =========================================================
   8. L'UNIVERS LIPS (bas de l'accueil)
   Huit cases sur fond sombre, maillage interne.
   ========================================================= */

.lips-uni{
  border:1px solid rgba(246,237,230,.16);
  padding:24px 22px;
  text-decoration:none;
  display:block;
  height:100%;
  transition:.25s;
}
.lips-uni:hover{
  background:rgba(233,71,61,.14);
  border-color:var(--lips-red);
  transform:translateY(-3px);
}
.lips-uni h3{
  font-family:var(--lips-mono);
  font-size:16px;
  font-weight:600;
  color:#fff;
}
.lips-uni p{ font-size:13.5px; color:#b9b0a4; margin-top:9px; line-height:1.5; }


/* =========================================================
   9. LIPS EN BREF
   Bloc factuel pensé pour être cité par Google et les IA.
   ========================================================= */

.lips-bref{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:clamp(20px,2.6vw,38px);
  margin-top:34px;
}
.lips-bref > div{ border-top:1px solid var(--lips-line); padding-top:16px; }
.lips-bref dt{
  font-family:var(--lips-mono);
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--lips-red);
  font-weight:600;
}
.lips-bref dd{
  margin:9px 0 0;
  font-size:15px;
  color:#4a453e;
  line-height:1.55;
}


/* =========================================================
   10. LA GRILLE GALERIE EN QUINCONCE
   Douze colonnes, hauteurs et décalages variables.
   C'est ce qui donne l'effet exposition plutôt que
   l'effet catalogue.
   ========================================================= */

.lips-gal{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:clamp(14px,1.8vw,26px);
  margin-top:46px;
}
.lips-gA{ grid-column:span 5; height:420px; }
.lips-gB{ grid-column:span 4; height:420px; margin-top:56px; }
.lips-gC{ grid-column:span 3; height:420px; }
.lips-gD{ grid-column:span 4; height:340px; }
.lips-gE{ grid-column:span 5; height:340px; margin-top:-56px; }
.lips-gF{ grid-column:span 3; height:340px; }


/* =========================================================
   11. RESPONSIVE
   Points de rupture alignés sur ceux à régler dans
   Elementor : 1080px, 900px, 640px.
   ========================================================= */

@media(max-width:1000px){
  .lips-fil{ grid-template-columns:repeat(3,1fr); gap:30px 0; }
  .lips-bref{ grid-template-columns:1fr 1fr; }
  .e-con.lips-gal{ grid-template-columns:1fr 1fr; }
  .e-con.lips-gA, .e-con.lips-gB, .e-con.lips-gC,
  .e-con.lips-gD, .e-con.lips-gE, .e-con.lips-gF{
    grid-column:span 1;
    height:18.75rem;
    margin-top:0;
  }
}

@media(max-width:900px){
  .lips-moment{ grid-template-columns:1fr; gap:14px; }

  .lips-fil{ grid-template-columns:1fr; gap:0; }
  .lips-fil::before{ display:none; }
  .lips-fil-step{
    border-left:2px solid var(--lips-line);
    padding:0 0 26px 22px;
    margin-left:6px;
  }
  .lips-fil-step .dot{ position:absolute; left:-9px; top:0; }
  .lips-fil-step .n{ margin-top:0; }
  .lips-fil-step p:not(.n){ max-width:none; }

  .lips-gal{ grid-template-columns:1fr 1fr; }
  .lips-gA,.lips-gB,.lips-gC,.lips-gD,.lips-gE,.lips-gF{
    grid-column:span 1;
    height:300px;
    margin-top:0;
  }
}

@media(max-width:640px){
  .lips-bref{ grid-template-columns:1fr; }
  .lips-gal{ grid-template-columns:1fr; }
  .e-con.lips-gal{ grid-template-columns:1fr; }
}


/* Bouton variante contour */
.lips-btn-ghost .elementor-button,
.elementor-button.lips-btn-ghost{
  background:transparent;
  color:var(--lips-ink);
  border:1px solid var(--lips-ink);
}
.lips-btn-ghost .elementor-button:hover,
.elementor-button.lips-btn-ghost:hover{
  background:var(--lips-ink);
  color:var(--lips-cream);
}

/* Bouton contour sur fond sombre */
.lips-btn-ghost-light .elementor-button{
  background:transparent;
  color:var(--lips-cream);
  border:1px solid rgba(246,237,230,.5);
}
.lips-btn-ghost-light .elementor-button:hover{
  background:var(--lips-cream);
  color:var(--lips-ink);
}

/* Aucun arrondi nulle part, filet de sécurité */
.elementor-button,
.lips-frame,
.lips-coll,
.lips-eco,
.lips-uni,
input, textarea, select{
  border-radius:0 !important;
}

/* Sélection de texte aux couleurs de la marque */
::selection{ background:var(--lips-red); color:#fff; }

/* Les titres héritent de la couleur de leur section */
.e-con.section-dark h1, .e-con.section-dark h2, .e-con.section-dark h3,
.e-con.section-dark h4, .e-con.section-dark h5, .e-con.section-dark h6,
.e-con.section-red h1, .e-con.section-red h2, .e-con.section-red h3,
.e-con.section-red h4, .e-con.section-red h5, .e-con.section-red h6{
  color:inherit;
}

/* Utilitaires de couleur de titre */
.t-nude{ color:#e0c4ad !important; }
.t-red{ color:#e9473d !important; }
.t-soft{ color:#9a8d80 !important; }



/* ============================================
   LIPS · EN-TÊTE ET PIED DE PAGE
   ============================================ */

/* ---------- EN-TÊTE ---------- */

/* Le header colle en haut au défilement.
   La règle vise la balise générée par le Theme Builder,
   pas le conteneur : un élément collant ne peut pas
   se déplacer au-delà des limites de son parent. */
header.elementor-location-header{
  position:sticky;
  top:0;
  z-index:60;
}
/* Décalage sous la barre d'administration WordPress */
.admin-bar header.elementor-location-header{ top:32px; }

/* Fond translucide et flou, pour laisser deviner
   le contenu qui passe dessous */
.hdr{
  background:rgba(253,249,245,.95);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

/* Le point rouge après les entrées à sous-menu */
.hdr .menu-item-has-children > a::after{
  content:"·";
  margin-left:0.438rem;
  color:#e9473d;
}

@media(max-width:1000px){
  .hdr .menu-item-has-children > a::after{ content:none; }
  .hdr img{ max-height:1.875rem; }
}

/* ---------- PIED DE PAGE ---------- */

.ftr, .ftr p, .ftr li{ color:#a49a8e; font-size:0.875rem; }
.ftr a{ color:#a49a8e; text-decoration:none; transition:.2s; }
.ftr a:hover{ color:#e9473d; }

.ftr .lips-col-title,
.ftr .lips-col-title p{
  font-family:"Source Code Pro",monospace;
  font-size:0.688rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#e0c4ad;
  font-weight:600;
}
.ftr .lips-col-title p{ margin:0; }
.ftr .lips-col-title{ padding-bottom:1.125rem; }

.ftr .flogo img{
  /* filter:invert(1) grayscale(1) contrast(1.6);  */
  opacity:.85;
}

.ftr .base, .ftr .base p{
  font-family:"Cormorant Garamond",Georgia,serif;
  font-style:italic;
  font-size:1.25rem;
  color:#f6ede6;
  line-height:1.4;
}
.ftr .base{ max-width:20em; }

.ftr .sign, .ftr .sign p{ font-size:0.875rem; line-height:1.75; }
.ftr .sign strong, .ftr .sign b{ color:#f6ede6; font-weight:500; }

.ftr .note, .ftr .note p{ font-size:0.813rem; line-height:1.7; color:#8a8177; }

.ftr .socials{ margin-top:1.25rem; }
.ftr .socials p{ display:flex; gap:0.625rem; flex-wrap:wrap; margin:0; }

.ftr .ftr-bottom{
  margin-top:clamp(2.5rem, 5vw, 3.875rem);
  border-top:1px solid rgba(246,237,230,.12);
  padding:1.375rem 0;
  font-family:"Source Code Pro",monospace;
  font-size:0.656rem;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.ftr-bottom p, .ftr-bottom a{ font-size:0.656rem; margin:0; }


/* =========================================================
   ACCUEIL · BLOC 1
   ========================================================= */

/* Les classes utilitaires posées sur un widget Elementor
   doivent traverser le paragraphe généré à l'intérieur */
.lips-ov p, .lips-lead p, .lips-manif p, .lips-punch p{
  font:inherit;
  color:inherit;
  letter-spacing:inherit;
  text-transform:inherit;
  margin:0;
}

/* Cadre photo du hero */
.lips-heroframe{
  background:#fdf9f5;
  padding:clamp(0.75rem, 1.4vw, 1.25rem);
  border:1px solid #e2d5c8;
  box-shadow:0 1.125rem 2.5rem -1.75rem rgba(44,36,28,.45);
}
.lips-heroframe img{
  display:block;
  width:100% !important;
  height:auto !important;
}

.lips-heroframe .elementor-widget-image img{
  max-width:100% !important;
  width:100% !important;
  height:auto !important;
}

.elementor .lips-heroframe {
	flex: 65 1 0px !important;
}

/* Ligne de signature : portrait rond + citation */
.lips-sig img{
  width:3.625rem;
  height:3.625rem;
  border-radius:50%;
  object-fit:cover;
  border:1px solid #e2d5c8;
}
.lips-sig-txt, .lips-sig-txt p{
  font-family:"Cormorant Garamond",Georgia,serif;
  font-style:italic;
  font-size:1.188rem;
  color:#6d6459;
  line-height:1.35;
  margin:0;
}
.lips-sig-txt strong, .lips-sig-txt b{
  display:block;
  font-family:"Source Code Pro",monospace;
  font-style:normal;
  font-size:0.656rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#3c3c3b;
  font-weight:600;
  margin-top:0.313rem;
}

/* Bandeau de chiffres sous le hero */
.lips-marquee{
  border-top:1px solid #e2d5c8;
  margin-top:2rem !important;
}
.lips-marquee, .lips-marquee p{
  font-family:"Source Code Pro",monospace;
  font-size:0.688rem;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:#9a8d80;
  margin:0;
}
.lips-marquee strong, .lips-marquee b{ color:#e9473d; font-weight:600; }

/* Manifeste */
.lips-manif, .lips-manif p{
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:clamp(1.5rem, 3vw, 2.125rem);
  line-height:1.42;
  color:#6d6459;
}
.lips-manif{ max-width:30em; margin-inline:auto; }
.lips-manif em{ font-style:italic; color:#e9473d; }

/* Signature discrète sous le manifeste */
.lips-manif-sig, .lips-manif-sig p{
  font-family:"Source Code Pro",monospace;
  font-size:0.688rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#9a8d80;
  margin:0;
}

/* Phrase de chute du fil rouge */
.lips-punch, .lips-punch p{
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:clamp(1.375rem, 2.6vw, 1.875rem);
  line-height:1.4;
  color:#3c3c3b;
}
.lips-punch em{ font-style:italic; color:#e9473d; }

/* =========================================================
   ACCUEIL · BLOC 2
   ========================================================= */

/* Les trois portes */
.lips-door{
  background:#f6ede6;
  border:1px solid #e2d5c8;
  display:flex;
  flex-direction:column;
  transition:.25s;
  text-decoration:none;
  height:100%;
}
.lips-door:hover{
  transform:translateY(-0.25rem);
  box-shadow:0 1.625rem 3.125rem -1.875rem rgba(44,36,28,.5);
}
.lips-door img{
  display:block;
  width:100%;
  height:clamp(15rem, 26vw, 18.75rem);
  object-fit:cover;
}
.lips-door h3{
  font-family:"Source Code Pro",monospace;
  font-weight:600;
  font-size:clamp(1.125rem, 1.9vw, 1.375rem);
  line-height:1.2;
}
.lips-door p{ font-size:0.906rem; color:#6d6459; }
.lips-go, .lips-go p{
  font-family:"Source Code Pro",monospace;
  font-size:0.719rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#e9473d;
  font-weight:600;
  margin:0;
}

/* Le mur d'images de la banque */
.lips-wall{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0.625rem;
  padding:clamp(0.75rem, 1.4vw, 1.125rem);
  background:#fdf9f5;
  border:1px solid #e2d5c8;
  box-shadow:0 1.125rem 2.5rem -1.75rem rgba(44,36,28,.45);
}
.lips-wall img{
  width:100%;
  aspect-ratio:1;
  object-fit:cover;
  display:block;
}

/* La liste à losanges rouges */
.lips-list ul{ list-style:none; margin:0; padding:0; display:grid; gap:0.75rem; }
.lips-list li{
  display:flex;
  gap:0.75rem;
  align-items:baseline;
  color:#4a453e;
  font-size:0.938rem;
}
.lips-list li::before{
  content:"\25C6";
  color:#e9473d;
  font-size:0.563rem;
  position:relative;
  top:-0.125rem;
}

/* La barre de réassurance */
.lips-reassure{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:clamp(1.25rem, 3vw, 2.75rem);
  text-align:center;
}
.lips-reassure .num{
  font-family:"Source Code Pro",monospace;
  font-weight:700;
  font-size:clamp(1.875rem, 3.8vw, 3rem);
  color:#e9473d;
  margin:0;
}
.lips-reassure .lbl{
  font-family:"Source Code Pro",monospace;
  font-size:0.719rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#9a8d80;
  margin-top:0.625rem;
}

/* La bande de logos clients */
.e-con.lips-logos{
  display:grid !important;
  grid-template-columns:repeat(6,1fr) !important;
  align-items:center !important;
  gap:clamp(1rem,2.5vw,2rem);
}
.lips-logos > *{ width:100% !important; min-height:6rem; padding:0.75rem; }

.lips-logos img{
  width:auto !important;
  max-width:100% !important;
  height:auto !important;
  max-height:3.5rem !important;
  object-fit:contain;
  filter:grayscale(1);
  opacity:.78;
  mix-blend-mode:multiply;
  transition:.25s;
}
.lips-logos > *:hover img{ opacity:1; }

/* Logos hauts ou carrés : contraints par la hauteur */
.logo-carre img{ max-height:4.5rem !important; }

/* Logos très allongés : contraints par la largeur */
.logo-large img{
  width:100% !important;
  max-width:11rem !important;
  max-height:4rem !important;
}

@media(max-width:1000px){ .e-con.lips-logos{ grid-template-columns:repeat(3,1fr) !important; } }
@media(max-width:640px){  .e-con.lips-logos{ grid-template-columns:repeat(2,1fr) !important; } }

/* =========================================================
   ACCUEIL · BLOC 3
   ========================================================= */

/* --- Galerie : la mosaïque décalée --- */
.e-con.lips-gal{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:clamp(0.875rem, 1.8vw, 1.625rem);
}
.e-con.lips-gA{ grid-column:span 5; height:26.25rem; }
.e-con.lips-gB{ grid-column:span 4; height:26.25rem; margin-top:3.5rem; }
.e-con.lips-gC{ grid-column:span 3; height:26.25rem; }
.e-con.lips-gD{ grid-column:span 4; height:21.25rem; }
.e-con.lips-gE{ grid-column:span 5; height:21.25rem; margin-top:0; }
.e-con.lips-gF{ grid-column:span 3; height:21.25rem; }

/* Le cadre sur fond sombre */
.lips-frame--dark{
  background:rgba(246,237,230,.05);
  border:1px solid rgba(246,237,230,.12);
  box-shadow:none;
}
.lips-frame--dark .lips-caption,
.lips-frame--dark .lips-caption p{ color:#8f887f; }
.lips-frame--dark .lips-caption strong,
.lips-frame--dark .lips-caption b{ color:#e0c4ad; font-weight:600; }
.lips-caption, .lips-caption p{
  font-family:"Source Code Pro",monospace;
  font-size:0.656rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  margin:0;
  padding-top:0.75rem;
}

.lips-frame img,
.lips-heroframe img,
.lips-door img,
.lips-wall img,
.lips-gal img{
  max-width:100% !important;
  width:100% !important;
}

/* --- Section Mathieu --- */
.lips-quote, .lips-quote p{
  font-family:"Cormorant Garamond",Georgia,serif;
  font-style:italic;
  font-size:clamp(1.375rem, 2.6vw, 1.875rem);
  line-height:1.45;
  color:#3c3c3b;
  margin:0;
}
.lips-quote em{ color:#e9473d; font-style:italic; }
.lips-who, .lips-who p{
  font-family:"Source Code Pro",monospace;
  font-size:0.719rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#8a7b6d;
  margin:0;
}

/* --- Studio mobile, fond nude --- */
.lips-cities, .lips-cities p{
  font-family:"Source Code Pro",monospace;
  font-size:0.75rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#7a5f49;
  margin:0;
}
.lips-cities strong, .lips-cities b{ color:#3c3c3b; }
.lips-van, .lips-van p{
  font-family:"Cormorant Garamond",Georgia,serif;
  font-style:italic;
  font-size:1.188rem;
  color:#6b5138;
  margin:0;
}

/* --- Lips en bref --- */
.lips-bref{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:clamp(1.25rem, 2.6vw, 2.375rem);
}
.lips-bref > div{ border-top:1px solid #e2d5c8; padding-top:1rem; }
.lips-bref dt{
  font-family:"Source Code Pro",monospace;
  font-size:0.688rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#e9473d;
  font-weight:600;
}
.lips-bref dd{
  margin:0.563rem 0 0;
  font-size:0.938rem;
  color:#4a453e;
  line-height:1.55;
}

/* --- FAQ --- */
.lips-faq{ max-width:56.25rem; border-top:1px solid #e2d5c8; margin-top:2.75rem;}
.lips-faq details{ border-bottom:1px solid #e2d5c8; }
.lips-faq summary{
  list-style:none;
  cursor:pointer;
  padding:1.5rem 2.75rem 1.5rem 0;
  position:relative;
  font-family:"Source Code Pro",monospace;
  font-weight:600;
  font-size:clamp(0.938rem, 1.6vw, 1.125rem);
  color:#3c3c3b;
  transition:.2s;
}
.lips-faq summary::-webkit-details-marker{ display:none; }
.lips-faq summary:hover{ color:#e9473d; }
.lips-faq summary::after{
  content:"+";
  position:absolute;
  right:0.375rem;
  top:50%;
  transform:translateY(-50%);
  font-family:"Source Code Pro",monospace;
  font-size:1.375rem;
  font-weight:400;
  color:#e9473d;
  transition:.25s;
}
.lips-faq details[open] summary::after{ content:"\2013"; }
.lips-faq .ans{
  padding:0 2.75rem 1.625rem 0;
  color:#6d6459;
  font-size:0.969rem;
  line-height:1.65;
  max-width:70ch;
}
.lips-faq .ans a{ color:#e9473d; text-decoration:none; font-weight:500; }
.lips-badge{
  display:inline-block;
  font-family:"Source Code Pro",monospace;
  font-size:0.625rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  background:#e9473d;
  color:#fff;
  padding:0.313rem 0.625rem;
  font-weight:600;
}

/* --- Univers Lips --- */
.lips-univers{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0.875rem;
}
.lips-uni{
  border:1px solid rgba(246,237,230,.16);
  padding:1.5rem 1.375rem;
  text-decoration:none;
  display:block;
  transition:.25s;
}
.lips-uni:hover{
  background:rgba(233,71,61,.14);
  border-color:#e9473d;
  transform:translateY(-0.188rem);
}
.lips-uni h3{
  font-family:"Source Code Pro",monospace;
  font-size:1rem;
  font-weight:600;
  color:#fff;
  margin:0;
}
.lips-uni p{
  font-size:0.844rem;
  color:#b9b0a4;
  margin-top:0.563rem;
  line-height:1.5;
}
.lips-univers-sig, .lips-univers-sig p{
  font-family:"Cormorant Garamond",Georgia,serif;
  font-style:italic;
  font-size:clamp(1.25rem, 2.4vw, 1.688rem);
  color:#f6ede6;
  text-align:center;
  margin:0;
}
.lips-univers-sig em{ color:#e9473d; font-style:italic; }

/* --- Texte clair sur les sections sombres --- */
.section-dark .lips-intro, .section-dark .lips-intro p{ color:#b9b0a4; }

@media(max-width:1000px){
  .lips-bref{ grid-template-columns:1fr 1fr; }
  .lips-univers{ grid-template-columns:repeat(2,1fr); }
}
@media(max-width:640px){
  .lips-bref{ grid-template-columns:1fr; }
  .lips-univers{ grid-template-columns:1fr; }
}

/* L'image remplit son cadre dans la galerie */
.lips-frame .elementor-widget-image{ flex:1 1 auto; min-height:0; }
.lips-frame .elementor-widget-image .elementor-widget-container,
.lips-frame .elementor-widget-image figure,
.lips-frame .elementor-widget-image a{ height:100%; }
.lips-frame .elementor-widget-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* =========================================================
   ESPACEMENTS DES BLOCS UTILITAIRES
   En marge interne, parce que la marge externe est
   neutralisée sur ces classes.
   ========================================================= */
.lips-manif-sig{ padding-top:1.125rem; }
.lips-quote{ padding-top:1.5rem; }
.lips-who{ padding-top:1.625rem; }
.lips-cities{ padding-top:1.625rem; }
.lips-van{ padding-top:1.5rem; }
.lips-go{ padding-top:0.625rem; }
.lips-univers-sig{ padding-top:2.75rem; }

/* Le cadre du hero et son image */
.e-con.lips-heroframe{ padding:clamp(0.75rem, 1.4vw, 1.25rem); }
.lips-heroframe .elementor-widget-image,
.lips-heroframe .elementor-widget-image .elementor-widget-container{ width:100%; }
.lips-heroframe .elementor-widget-image img{
  width:100%;
  height:clamp(26rem, 52vw, 37.5rem);
  object-fit:cover;
  display:block;
}

/* Le portrait rond de la ligne de signature */
.lips-sig .elementor-widget-image{ flex:0 0 auto; width:3.625rem; }
.lips-sig .elementor-widget-image img{
  width:3.625rem;
  height:3.625rem;
  object-fit:cover;
  border-radius:50%;
  border:1px solid #e2d5c8;
  display:block;
}

/* =========================================================
   PAGE MARIAGE · BLOC 1
   ========================================================= */

/* --- L'expérience en trois temps --- */
.lips-methode{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:clamp(1.25rem, 3vw, 2.75rem);
  margin-top:2.875rem;
}
.lips-step{
  border-top:2px solid #e9473d;
  padding-top:1.375rem;
}
.lips-step .num, .lips-step .num p{
  font-family:"Source Code Pro",monospace;
  font-weight:700;
  font-size:0.813rem;
  letter-spacing:.2em;
  color:#e9473d;
}
.lips-step h3{
  font-family:"Source Code Pro",monospace;
  font-weight:600;
  font-size:clamp(1.063rem, 1.8vw, 1.313rem);
  padding:0.75rem 0;
}
.lips-step p{ font-size:0.938rem; color:#6d6459; max-width:30em; }

/* --- Les collections --- */
.e-con.lips-coll-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:clamp(1.25rem, 2.6vw, 2.125rem);
}
.e-con.lips-coll{
  display:flex;
  flex-direction:column;
  height:100%;
}
.lips-coll .tagline, .lips-coll .tagline p{
  font-family:"Source Code Pro",monospace;
  font-size:0.656rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#e9473d;
  font-weight:600;
}
.lips-coll .price, .lips-coll .price p{
  font-family:"Source Code Pro",monospace;
  font-size:clamp(1.25rem, 2.2vw, 1.625rem);
  font-weight:700;
  color:#3c3c3b;
}
.lips-coll--mid .tagline, .lips-coll--mid .tagline p{ color:#e0c4ad; }
.lips-coll--mid .price, .lips-coll--mid .price p{ color:#fff; }
.lips-coll .lips-desc p{ font-size:0.906rem; color:#6d6459; }
.lips-coll--mid .lips-desc p{ color:#b9b0a4; }
.lips-coll .lips-list li{ font-size:0.875rem; }
.lips-coll--mid .lips-list li{ color:#b9b0a4; }
.lips-coll--mid .lips-list li::before{ color:#e0c4ad; }
/* Le bouton se colle en bas, quelle que soit la longueur du texte */
.lips-coll .elementor-widget-button{ margin-top:auto; padding-top:1.625rem; }

@media(max-width:1000px){
  .lips-methode,
  .e-con.lips-coll-grid{ grid-template-columns:1fr; }
}

/* Page mariage : la liste « Et après » */
.lips-moments{ border-top:1px solid #e2d5c8; }
.lips-moments .lips-moment:last-child{ border-bottom:none; }

/* Page entreprises : la grille de l'écosystème */
.e-con.lips-eco-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:clamp(1.125rem, 2.4vw, 1.875rem);
}
@media(max-width:1000px){
  .e-con.lips-eco-grid{ grid-template-columns:1fr 1fr; }
}
@media(max-width:640px){
  .e-con.lips-eco-grid{ grid-template-columns:1fr; }
}

/* Les cadres de la galerie restent en colonne à toutes les tailles */
.e-con.lips-frame,
.e-con.lips-frame > .e-con-inner{
  flex-direction:column;
}

/* =========================================================
   PAGE LAPONIE · UNIVERS NUIT POLAIRE
   Tout est scopé sous .lips-lap : rien ne déborde
   sur le reste du site.
   ========================================================= */

.lips-lap{
  --nuit:#0b1626;
  --nuit-2:#101f35;
  --aurore:#58e6b4;
  --aurore-2:#7fd8e8;
  --neige:#eef3f7;
  --brume:#9db0c4;
  --filet:rgba(238,243,247,.14);
  background:var(--nuit);
  color:var(--neige);
}
.lips-lap--2{ background:var(--nuit-2); }
.lips-lap :is(h1,h2,h3,h4,h5,h6){ color:var(--neige); }
.lips-lap .lips-ov, .lips-lap .lips-ov p{ color:var(--aurore); }
.lips-lap .lips-serif-it{ color:var(--aurore); }

/* --- Hero avec image de fond --- */
.e-con.lips-lap-hero{
  position:relative;
  min-height:min(88vh, 51.25rem);
  display:flex;
  align-items:flex-end;
  overflow:hidden;
}
.lips-lap-hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(180deg,
    rgba(11,22,38,.55) 0%,
    rgba(11,22,38,.15) 40%,
    rgba(11,22,38,.92) 100%);
}
.lips-lap-hero > *{ position:relative; z-index:2; }
.lips-lap-hero h1{ font-size:clamp(2.75rem, 7.5vw, 6rem); font-weight:400; }
.lips-lap-hero h1 .lips-serif-it{ font-size:1.05em; }
.lips-lap-hero .lips-lead, .lips-lap-hero .lips-lead p{
  color:var(--neige); opacity:.92; max-width:34em;
}

/* --- Les chiffres clés du hero --- */
.lips-facts{
  display:flex;
  gap:clamp(1.125rem, 3vw, 2.75rem);
  flex-wrap:wrap;
  border-top:1px solid var(--filet);
  padding-top:1.375rem;
}
.lips-facts > *{
  font-family:"Source Code Pro",monospace;
  font-size:0.688rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--brume);
}
.lips-facts strong, .lips-facts b{
  display:block;
  font-size:0.938rem;
  letter-spacing:.1em;
  color:#fff;
  margin-bottom:0.25rem;
}
.lips-facts .aurore{ color:var(--aurore); }

/* --- Navigation d'ancres --- */
.e-con.lips-pagenav{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(11,22,38,.92);
  backdrop-filter:blur(0.5rem);
  -webkit-backdrop-filter:blur(0.5rem);
  border-top:1px solid var(--filet);
  border-bottom:1px solid var(--filet);
}
.admin-bar .e-con.lips-pagenav{ top:32px; }
.lips-pagenav-in{
  display:flex;
  gap:clamp(1rem, 3vw, 2.375rem);
  overflow-x:auto;
  padding:0.938rem 0;
  font-family:"Source Code Pro",monospace;
  font-size:0.688rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  white-space:nowrap;
}
.lips-pagenav-in a{ text-decoration:none; color:var(--brume); }
.lips-pagenav-in a:hover{ color:var(--aurore); }
.lips-pagenav-in a::before{
  content:"\25C6";
  color:#e9473d;
  font-size:0.5rem;
  margin-right:0.563rem;
  position:relative;
  top:-0.063rem;
}

/* --- Manifeste polaire --- */
.lips-lap .lips-manif, .lips-lap .lips-manif p{ color:var(--neige); }
.lips-lap .lips-manif em{ color:var(--aurore); }
.lips-lap .lips-manif-sig, .lips-lap .lips-manif-sig p{
  font-family:"Cormorant Garamond",Georgia,serif;
  font-style:italic;
  font-size:1.188rem;
  letter-spacing:0;
  text-transform:none;
  color:var(--brume);
}

/* --- Les quatre promesses --- */
.e-con.lips-prog{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:clamp(1.25rem, 3vw, 2.5rem);
}
.lips-prg{
  border:1px solid var(--filet);
  background:var(--nuit-2);
  padding:clamp(1.625rem, 3vw, 2.375rem);
  transition:.25s;
}
.lips-prg:hover{ transform:translateY(-0.25rem); border-color:rgba(88,230,180,.4); }
.lips-prg .num, .lips-prg .num p{
  font-family:"Source Code Pro",monospace;
  font-weight:700;
  font-size:0.75rem;
  letter-spacing:.2em;
  color:#e9473d;
}
.lips-prg h3{
  font-family:"Source Code Pro",monospace;
  font-weight:600;
  font-size:clamp(1.063rem, 1.8vw, 1.313rem);
  color:#fff;
  padding:0.875rem 0 0.75rem;
}
.lips-prg p{ font-size:0.938rem; color:var(--brume); }
.lips-prg .it{
  font-family:"Cormorant Garamond",Georgia,serif;
  font-style:italic;
  font-size:1.031rem;
  color:var(--aurore-2);
  padding-top:0.875rem;
}

/* --- Le refuge --- */
.lips-lap .lips-lead, .lips-lap .lips-lead p{ color:var(--brume); }
.lips-lap .lips-list li{ color:var(--neige); }
.lips-lap .lips-list li::before{ color:var(--aurore); font-size:0.563rem; }
.lips-lap .lips-frame{
  background:rgba(238,243,247,.05);
  border-color:var(--filet);
  box-shadow:none;
}
.lips-lap .lips-caption, .lips-lap .lips-caption p{ color:var(--brume); }

@media(max-width:1000px){
  .e-con.lips-prog{ grid-template-columns:1fr; }
}

/* Marge des sections : la classe "section" est atomique,
   elle ne s'applique pas aux conteneurs classiques d'ici */
.e-con.lips-lap.section{
  padding-block:clamp(3.75rem, 8vw, 6.875rem);
  padding-inline:0;
}

/* Hero : respiration autour du chapô */
.lips-lap .lips-lead{ padding-top:1.125rem; }
.lips-lap-hero .lips-lead{ padding:1.25rem 0 1.875rem; }
.lips-lap .lips-list{ padding-top:1.125rem; }
.e-con.lips-prog{ margin-top:2.875rem; }

/* Les quatre chiffres : en ligne, alignés sur le texte */
.e-con.lips-facts{ flex-direction:row; padding-inline:0; }

/* Les quatre promesses : annuler la marge interne héritée de e-con */
.e-con.lips-prog{ padding:0; }

/* La barre d'ancres se cale sous l'en-tête */
.e-con.lips-pagenav{ top:4.813rem; }
.admin-bar .e-con.lips-pagenav{ top:6.813rem; }


@media(max-width:1000px){
  .e-con.lips-2col{ flex-direction:column; }
}

/* =========================================================
   PAGE LAPONIE · BLOC 2
   ========================================================= */

/* --- Pour qui : l'encadré philosophie --- */
.lips-philo{
  border:1px solid var(--filet);
  background:var(--nuit-2);
  padding:clamp(1.625rem, 3vw, 2.5rem);
}
.lips-philo .t{
  font-family:"Source Code Pro",monospace;
  font-size:0.719rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--aurore);
  font-weight:600;
  margin-bottom:1.125rem;
}
.lips-philo p{
  font-family:"Cormorant Garamond",Georgia,serif;
  font-style:italic;
  font-size:clamp(1.125rem, 2vw, 1.375rem);
  line-height:1.7;
  color:var(--neige);
  margin:0;
}

/* --- La galerie : trois images de largeurs inégales --- */
.e-con.lips-lapgal{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:clamp(0.875rem, 1.8vw, 1.625rem);
  margin-top:2.875rem;
}
.e-con.lips-lgA{ grid-column:span 5; height:26.25rem; }
.e-con.lips-lgB{ grid-column:span 4; height:26.25rem; margin-top:3.5rem; }
.e-con.lips-lgC{ grid-column:span 3; height:26.25rem; }
.lips-lap .lips-honest, .lips-lap .lips-honest p{
  font-family:"Cormorant Garamond",Georgia,serif;
  font-style:italic;
  font-size:clamp(1.125rem, 2vw, 1.375rem);
  color:var(--aurore);
  max-width:34em;
  padding-top:1.125rem;
}

/* --- Avec Mathieu --- */
.lips-lap .lips-quote, .lips-lap .lips-quote p{ color:var(--neige); }
.lips-lap .lips-quote em, .lips-lap .lips-quote span{ color:var(--aurore); }

/* --- Les modalités --- */
.lips-tarif{
  display:flex;
  gap:clamp(1.25rem, 3vw, 3.125rem);
  flex-wrap:wrap;
  align-items:baseline;
  padding-top:0.75rem;
}
.lips-tarif .price{
  font-family:"Source Code Pro",monospace;
  font-weight:700;
  font-size:clamp(2.125rem, 4.4vw, 3.375rem);
  color:#fff;
  margin:0;
}
.lips-tarif .price small{
  font-size:0.75rem;
  font-weight:400;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--brume);
}
.lips-tarif .places{
  font-family:"Cormorant Garamond",Georgia,serif;
  font-style:italic;
  font-size:1.188rem;
  color:var(--aurore);
  margin:0;
}
.lips-modal{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(1.5rem, 3.4vw, 3.375rem);
  margin-top:2.875rem;
}
.lips-card{
  border:1px solid var(--filet);
  background:var(--nuit);
  padding:clamp(1.625rem, 3vw, 2.5rem);
  position:relative;
}
.lips-card .t{
  font-family:"Source Code Pro",monospace;
  font-size:0.719rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--aurore);
  font-weight:600;
  margin-bottom:1.25rem;
}
.lips-card ul{ list-style:none; display:grid; gap:0.75rem; margin:0; padding:0; }
.lips-card li{
  display:flex;
  gap:0.75rem;
  align-items:baseline;
  font-size:0.906rem;
  color:var(--neige);
}
.lips-card li::before{
  content:"\25C6";
  font-size:0.5rem;
  position:relative;
  top:-0.125rem;
}
.lips-card.incl li::before{ color:var(--aurore); }
.lips-card.excl li::before{ color:#e9473d; }
.lips-card .badge{
  position:absolute;
  top:0.75rem;
  right:0.75rem;
  background:#e9473d;
  color:#fff;
  font-family:"Source Code Pro",monospace;
  font-size:0.625rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  padding:0.375rem 0.688rem;
  font-weight:600;
}
.lips-prep{
  font-family:"Cormorant Garamond",Georgia,serif;
  font-style:italic;
  font-size:1.063rem;
  color:var(--brume);
  padding-top:1.875rem;
  max-width:44em;
}

/* --- L'appel à l'action --- */
.e-con.lips-lap-cta{
  background:linear-gradient(160deg, #12365a 0%, #0d2a48 45%, var(--nuit) 100%);
  text-align:center;
  border-top:1px solid var(--filet);
}
.lips-lap-cta .lips-lead, .lips-lap-cta .lips-lead p{
  margin-inline:auto;
  max-width:36em;
}
.lips-partner{
  font-family:"Source Code Pro",monospace;
  font-size:0.688rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--brume);
  padding-top:2.75rem;
  line-height:1.9;
}

.e-con.lips-lapgal{ padding-inline:0; }
.lips-lap-cta .lips-lead{ padding-bottom:2.125rem; }
.e-con.lips-frame{ flex-wrap:nowrap; }

/* =========================================================
   PAGE CONTACT
   ========================================================= */

/* --- Le formulaire --- */
.lips-form .elementor-field-group{ margin-bottom:1.125rem; }
.lips-form .elementor-field-label{
  font-family:"Source Code Pro",monospace;
  font-size:0.688rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#6d6459;
  padding-bottom:0.5rem;
}
.lips-form input[type=text],
.lips-form input[type=email],
.lips-form input[type=tel],
.lips-form select,
.lips-form textarea{
  width:100%;
  background:#fff;
  border:1px solid var(--lips-line);
  border-radius:0;
  padding:0.75rem 0.875rem;
  font-family:inherit;
  font-size:0.938rem;
  color:#3c3c3b;
  transition:border-color .2s;
}
.lips-form input:focus,
.lips-form select:focus,
.lips-form textarea:focus{
  outline:none;
  border-color:#e9473d;
}
.lips-form textarea{ min-height:9.375rem; resize:vertical; }
.lips-form .elementor-field-type-acceptance .elementor-field-label,
.lips-form .elementor-field-option label{
  font-family:inherit;
  font-size:0.813rem;
  letter-spacing:0;
  text-transform:none;
  color:#6d6459;
}
.lips-form .elementor-message{
  font-family:"Source Code Pro",monospace;
  font-size:0.813rem;
}

/* --- La carte de coordonnées --- */
.lips-contact-card{
  border:1px solid var(--lips-line);
  background:var(--lips-paper);
  padding:clamp(1.625rem, 3vw, 2.375rem);
}
.lips-contact-card .t{
  font-family:"Source Code Pro",monospace;
  font-size:0.719rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:#e9473d;
  font-weight:600;
  margin:0 0 1.375rem;
}
.lips-ct{ padding-top:1.375rem; border-top:1px solid var(--lips-line); margin-top:1.375rem; }
.lips-ct:first-of-type{ border-top:0; margin-top:0; padding-top:0; }
.lips-ct .lbl{
  font-family:"Source Code Pro",monospace;
  font-size:0.656rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#8f887f;
  margin:0 0 0.375rem;
}
.lips-ct .val{ font-size:1.063rem; color:#3c3c3b; margin:0; }
.lips-ct .val a{ color:inherit; text-decoration:none; border-bottom:1px solid rgba(60,60,59,.25); }
.lips-ct .val a:hover{ border-bottom-color:#e9473d; color:#e9473d; }
.lips-ct .sub{ font-size:0.875rem; color:#6d6459; margin:0.375rem 0 0; }

.e-con.lips-gal{ padding-inline:0; }

/* =========================================================
   PAGE AVIS CLIENTS
   ========================================================= */
.lips-avis{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:clamp(1.25rem, 2.6vw, 2.125rem);
  margin-top:2.875rem;
}
.lips-avis blockquote{
  border:1px solid var(--lips-line);
  background:#fff;
  padding:clamp(1.5rem, 2.6vw, 2.125rem);
  margin:0;
  display:flex;
  flex-direction:column;
}
.lips-avis .stars{
  color:#e9473d;
  font-size:0.813rem;
  letter-spacing:.2em;
  margin:0 0 0.875rem;
}
.lips-avis .txt{
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:1.125rem;
  line-height:1.6;
  color:#3c3c3b;
  margin:0 0 1.375rem;
}
.lips-avis .who{
  font-family:"Source Code Pro",monospace;
  font-size:0.656rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#8f887f;
  margin:auto 0 0;
}
@media(max-width:1000px){ .lips-avis{ grid-template-columns:1fr; } }


/* =========================================================
   FIL D'ARIANE (sous-pages)
   ========================================================= */
.lips-bread, .lips-bread p{
  font-family:"Source Code Pro",monospace;
  font-size:0.688rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#9a8d80;
  margin:0;
  white-space:nowrap;
  overflow-x:auto;
}
.lips-bread a{ color:#9a8d80; text-decoration:none; transition:.2s; }
.lips-bread a:hover{ color:#e9473d; }
.lips-bread .separator{ color:#e9473d; padding:0 0.625rem; }
.lips-bread .last{ color:#3c3c3b; font-weight:600; }



.lips-zones{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:clamp(1.25rem, 2.6vw, 2.125rem);
  margin-top:2.875rem;
}
.lips-zone{
  border:1px solid var(--lips-line);
  background:#fff;
  padding:clamp(1.5rem, 2.6vw, 2.125rem);
}
.lips-zone .t{
  font-family:"Source Code Pro",monospace;
  font-size:0.719rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:#e9473d;
  font-weight:600;
  margin:0 0 0.875rem;
}
.lips-zone h3{
  font-family:"Source Code Pro",monospace;
  font-weight:600;
  font-size:clamp(1.063rem, 1.8vw, 1.25rem);
  margin:0 0 0.75rem;
}
.lips-zone p{ font-size:0.938rem; color:#6d6459; margin:0; }

@media(max-width:1000px){
  .lips-zones{ grid-template-columns:1fr; }
}

.lips-zones--4{ grid-template-columns:repeat(2,1fr); }


.lips-video{
  background:#fdf9f5;
  padding:clamp(0.75rem,1.4vw,1.25rem);
  border:1px solid #e2d5c8;
  box-shadow:0 1.125rem 2.5rem -1.75rem rgba(44,36,28,.45);
}
.lips-video iframe,
.lips-video .elementor-widget-video{
  width:100% !important;
  aspect-ratio:16/9;
  height:auto !important;
  display:block;
}
.lips-video{ max-width:62rem; margin-inline:auto; }
.section-dark .lips-video{
  background:rgba(246,237,230,.05);
  border-color:rgba(246,237,230,.12);
  box-shadow:none;
}


/* Page Vidéo et drone : deux vidéos côte à côte */
.lips-video-duo{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:clamp(1rem,2vw,1.75rem);
}
.lips-video-duo .lips-video{ max-width:none; }
@media(max-width:900px){ .lips-video-duo{ grid-template-columns:1fr !important; } }

/* Page contact : gérer hauteur du formulaire FotoStudio */
.lips-crm iframe{
  width:100% !important;
  border:0;
  height:1650px;
}
@media(max-width:900px){ .lips-crm iframe{ height:2400px; } }

/* =========================================================
   PLACEHOLDER DE LA CARTE GOOGLE (Complianz)
   ========================================================= */
iframe.cmplz-placeholder-element[data-service="google-maps"],
.cmplz-placeholder-parent iframe.cmplz-placeholder-element{
  background-image:url('./wp-content/uploads/2026/09/placeholder-carte.jpg') !important;
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
  min-height:400px;
}

/* =========================================================
   BLOC AUTEUR (EEAT)
   Réutilisable sur toutes les pages et les futurs articles.
   ========================================================= */
.lips-auteur{
  display:flex;
  gap:clamp(1.25rem, 2.4vw, 2rem);
  align-items:flex-start;
  background:var(--lips-paper, #fdf9f5);
  border:1px solid var(--lips-line, #e2d5c8);
  padding:clamp(1.5rem, 2.6vw, 2.25rem);
  margin-top:clamp(2.5rem, 5vw, 3.5rem);
}
.lips-auteur img{
  flex:0 0 auto;
  width:5.5rem;
  height:5.5rem;
  border-radius:50%;
  object-fit:cover;
  border:1px solid var(--lips-line, #e2d5c8);
  display:block;
}
.lips-auteur .t{
  font-family:"Source Code Pro",monospace;
  font-size:0.688rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--lips-red, #e9473d);
  font-weight:600;
  margin:0 0 0.625rem;
}
.lips-auteur .nom{
  font-family:"Source Code Pro",monospace;
  font-weight:600;
  font-size:1.063rem;
  color:var(--lips-ink, #3c3c3b);
  margin:0;
}
.lips-auteur .role{
  font-family:"Cormorant Garamond",Georgia,serif;
  font-style:italic;
  font-size:1.063rem;
  color:#8a7b6d;
  margin:0.125rem 0 0.75rem;
}
.lips-auteur .bio{
  font-size:0.938rem;
  line-height:1.6;
  color:var(--lips-muted, #6d6459);
  margin:0;
  max-width:52em;
}
.lips-auteur a{
  display:inline-block;
  margin-top:0.875rem;
  font-family:"Source Code Pro",monospace;
  font-size:0.719rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--lips-red, #e9473d);
  font-weight:600;
  text-decoration:none;
  border-bottom:1px solid rgba(233,71,61,.35);
}
.lips-auteur a:hover{
  color:var(--lips-ink, #3c3c3b);
  border-bottom-color:var(--lips-ink, #3c3c3b);
}

@media(max-width:640px){
  .lips-auteur{ flex-direction:column; }
  .lips-auteur img{ width:4.5rem; height:4.5rem; }
}


/* ============ CTA final Photobooth ============ */
.lips-cta-sep{
  max-width:46rem;
  margin-inline:auto;
  text-align:center;
  padding-block:clamp(1rem,2vw,2rem);
}
.lips-cta-sep h2{
  margin:0.75rem 0 1.25rem;
  text-wrap:balance;
}
.lips-cta-sep .lips-lead{
  margin:0 auto 2rem;
}
.lips-cta-sep .lips-lead a{
  color:inherit;
  text-decoration:underline;
  text-underline-offset:0.2em;
  text-decoration-thickness:1px;
  text-decoration-color:#e9473d;
}
.lips-cta-sep .lips-lead a:hover{
  color:#e9473d;
}
.lips-cta-btn{
  display:inline-block;
  font-family:'Source Code Pro',monospace;
  font-size:0.75rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:600;
  color:#0b1626 !important;
  background:transparent;
  border:1px solid #0b1626;
  padding:1rem 2rem;
  border-radius:0;
  text-decoration:none;
  line-height:1;
}

.lips-cta-sep .lips-cta-btn:hover{
  background:#e9473d !important;
  border-color:#e9473d !important;
  color:#fdf9f5 !important;
}

/* ============ Recette responsive ============ */
@media (max-width:1024px){
  .lips-frame, .lips-heroframe, .lips-door, .lips-wall{
    height:auto !important;
    min-height:0 !important;
  }
  .lips-frame > .e-con-inner,
  .lips-heroframe > .e-con-inner,
  .lips-door > .e-con-inner,
  .lips-wall > .e-con-inner{
    flex-wrap:nowrap !important;
    height:auto !important;
  }
  .lips-reassure{ grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
  .lips-zones{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
}

@media (max-width:640px){
  .lips-reassure, .lips-zones{ grid-template-columns:1fr !important; }
}

/* Barre d'ancres de la page Laponie : scroll horizontal maîtrisé */
@media (max-width:900px){
  .lips-pagenav-in{
    display:flex !important;
    flex-wrap:nowrap !important;
    overflow-x:auto !important;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    gap:1.25rem;
    padding-inline:1rem;
  }
  .lips-pagenav-in::-webkit-scrollbar{ display:none; }
  .lips-pagenav-in a{ flex:0 0 auto; white-space:nowrap; }
}

/* Tableau des cookies Complianz */
@media (max-width:640px){
  .cmplz-document .purpose,
  .cmplz-document .name,
  .cmplz-document h4{
    max-width:100% !important;
    overflow-wrap:anywhere;
    word-break:break-word;
  }
  .cmplz-document table{ display:block; overflow-x:auto; max-width:100%; }
}


/* Galerie : correctif d'ordre, doit rester en dernier */
@media(max-width:1000px){
  .e-con.lips-gal{ grid-template-columns:1fr 1fr; }
  .e-con.lips-gA, .e-con.lips-gB, .e-con.lips-gC,
  .e-con.lips-gD, .e-con.lips-gE, .e-con.lips-gF{
    grid-column:span 1;
    height:18.75rem;
    margin-top:0;
  }
}
@media(max-width:640px){
  .e-con.lips-gal{ grid-template-columns:1fr; }
}

@media(max-width:1000px){
  .lips-modal{ grid-template-columns:1fr; }
  .e-con.lips-lapgal{ grid-template-columns:1fr 1fr; }
  .e-con.lips-lgA, .e-con.lips-lgB, .e-con.lips-lgC{
    grid-column:span 1; height:18.75rem; margin-top:0;
  }
}
@media(max-width:640px){
  .e-con.lips-lapgal{ grid-template-columns:1fr; }
}
