/* ═══════════════════════════════════════════
   La Promesse de l'Aube
   Vie et animations des pages Elementor
   ═══════════════════════════════════════════ */

/* ── Ciel de fond : mouettes et poussieres d'aube ── */
.pa-ciel{
  position:fixed;inset:0;z-index:0;pointer-events:none;
}
body:not(.page-template-template-accueil) .elementor-section{position:relative;z-index:1}

/* ── Vagues d'Elementor : on les fait respirer ── */
.elementor-shape svg{
  animation:pa-houle 11s ease-in-out infinite;
  transform-origin:center bottom;
}
@keyframes pa-houle{
  0%,100%{transform:translateX(0) scaleY(1)}
  50%{transform:translateX(-2.2%) scaleY(1.06)}
}
/* Liseré doré au sommet de chaque vague */
.elementor-shape-bottom::after{
  content:'';position:absolute;left:0;right:0;bottom:0;height:100%;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120' preserveAspectRatio='none'%3E%3Cpath d='M0,74 C150,26 320,110 480,68 C640,26 800,108 960,66 C1120,24 1300,94 1440,60' fill='none' stroke='%23B8912F' stroke-opacity='.5' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat bottom/100% 100%;
  animation:pa-houle 11s ease-in-out infinite;
  pointer-events:none;
}

/* ── Apparitions au defilement ── */
.pa-monte{
  opacity:0;transform:translateY(34px);
  transition:opacity 1.15s cubic-bezier(.19,1,.22,1),transform 1.15s cubic-bezier(.19,1,.22,1);
  will-change:opacity,transform;
}
.pa-monte.pa-vu{opacity:1;transform:translateY(0)}

/* ── Titres : une vaguelette dorée se dessine dessous ── */
.elementor-widget-heading h2.elementor-heading-title{position:relative}
.elementor-widget-heading h2.elementor-heading-title::after{
  content:'';position:absolute;left:50%;transform:translateX(-50%);
  bottom:-18px;width:0;height:11px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='11' viewBox='0 0 150 11'%3E%3Cpath d='M2 6 C28 1 46 10 74 5 C102 1 124 9 148 4' stroke='%23B8912F' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center/100% 100%;
  transition:width 1.5s .35s cubic-bezier(.19,1,.22,1);
}
.pa-vu .elementor-widget-heading h2.elementor-heading-title::after,
.elementor-widget-heading.pa-vu h2.elementor-heading-title::after{width:150px}
/* Titres alignés à gauche : la vaguelette part de la gauche */
.elementor-widget-heading .elementor-heading-title[style*="left"]::after,
.pa-gauche h2.elementor-heading-title::after{left:0;transform:none}

/* ── Cartes de prestation : elles flottent ── */
.elementor-column[class*="elementor-col"]:has(> .elementor-widget-wrap > .elementor-element){
  transition:transform .9s cubic-bezier(.19,1,.22,1);
}
.pa-carte{transition:transform .9s cubic-bezier(.19,1,.22,1),box-shadow .9s !important}
.pa-carte:hover{transform:translateY(-11px);box-shadow:0 26px 60px rgba(15,31,66,.3)}
/* Soleil qui s'intensifie dans la carte */
.pa-carte::before{
  content:'';position:absolute;top:8%;left:50%;transform:translateX(-50%);
  width:62%;aspect-ratio:1;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(201,168,76,.2),rgba(201,168,76,.05) 46%,transparent 70%);
  opacity:.55;transition:opacity .9s,transform .9s;
}
.pa-carte:hover::before{opacity:1;transform:translateX(-50%) scale(1.14)}

/* ── Boutons : la même douceur que l'accueil ── */
.elementor-button{
  transition:background-color .5s,color .5s,transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .5s !important;
}
.elementor-button:hover{transform:translateY(-3px);box-shadow:0 12px 34px rgba(184,145,47,.32)}

/* ── Accordéon des questions ── */
.elementor-accordion .elementor-accordion-item{
  border-radius:18px;overflow:hidden;margin-bottom:12px;
  background:rgba(255,255,255,.5);
  transition:background .6s,box-shadow .6s;
}
.elementor-accordion .elementor-accordion-item:hover{
  background:rgba(255,255,255,.85);
  box-shadow:0 8px 26px rgba(15,31,66,.07);
}
.elementor-accordion .elementor-tab-title{transition:color .45s}

/* ── Séparateurs incurvés ── */
.elementor-widget-divider .elementor-divider-separator{
  animation:pa-onde 7s ease-in-out infinite;
}
@keyframes pa-onde{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-3px)}
}

@media(prefers-reduced-motion:reduce){
  .pa-monte{opacity:1 !important;transform:none !important}
  .elementor-shape svg,.elementor-shape-bottom::after,
  .elementor-widget-divider .elementor-divider-separator{animation:none !important}
  .elementor-widget-heading h2.elementor-heading-title::after{width:150px;transition:none}
}
