/* =========================================================
   EEP · Titres Animés — Version: 1.0.2
   L'Élagueur De L'Est Parisien
   Palette Landscop : vert anis #97b545 · vert foncé #0f3714 · doré #f4be29
   Sur-titre en Dancing Script, comme les sous-titres du thème.
   ========================================================= */
.eep-ta{
    --eep-accent:#f4be29;
    --eep-primary:#97b545;
    --eep-dark:#0f3714;
    --eep-ta-leaf:30px;
    display:flex; flex-direction:column;
}
.eep-ta [hidden]{ display:none !important; }

/* ---------- Feuille décorative ---------- */
.eep-ta-leaf{
    display:inline-flex; align-items:center; justify-content:center;
    width:var(--eep-ta-leaf); height:var(--eep-ta-leaf);
    color:var(--eep-primary);
    margin-bottom:14px !important;
    flex:0 0 auto;
}
/* Contre les thèmes qui imposent svg{height:auto} */
.eep-ta-leaf svg,
.eep-ta-leaf img,
.eep-ta-leaf i{
    width:100%; max-width:100%;
    height:100% !important;
    object-fit:contain;
    font-size:calc(var(--eep-ta-leaf) * .9);
    line-height:1 !important;
    display:block;
}
.eep-ta-leaf svg{ fill:currentColor; }
/* Suit l'alignement général du bloc */
.eep-ta[style*="center"] .eep-ta-leaf{ margin-left:auto; margin-right:auto; }
.eep-ta[style*="right"] .eep-ta-leaf{ margin-left:auto; }

/* ---------- Sur-titre : 3 styles ---------- */
.eep-ta-eyebrow{
    font-family:'Dancing Script', 'Brush Script MT', cursive;
    font-size:30px; font-weight:600; letter-spacing:0;
    text-transform:none;
    line-height:1.25;
    color:var(--eep-dark);
    margin-bottom:14px;
}
.eep-ta-eyebrow.is-line{ display:inline-flex; align-items:center; gap:10px; }
.eep-ta-eyebrow.is-line::before{ content:''; width:32px; height:2px; background:var(--eep-primary); flex:0 0 auto; margin-right:10px !important; }
.eep-ta-eyebrow.is-badge{ display:inline-block; background:rgba(151,181,69,.14); padding:6px 20px; border-radius:30px; }
.eep-ta-eyebrow.is-simple{ display:inline-block; }

/* ---------- Titre ---------- */
.eep-ta-title{ margin:0 0 16px; line-height:1.12; font-weight:800; letter-spacing:-.01em; color:#0f3714; }
.eep-ta-subtitle{ margin:0; font-size:1.05rem; line-height:1.6; max-width:620px; color:#5b6b5d; }
.eep-ta[style*="center"] .eep-ta-subtitle{ margin-left:auto; margin-right:auto; }

/* ---------- Effets du mot accent (indépendants de l'animation) ---------- */
.eep-ta-hl{ color:#97b545; position:relative; }
.eep-ta-hl.fx-underline{ display:inline-block; }
.eep-ta-hl.fx-underline::after{
    content:''; position:absolute; left:0; right:0; bottom:-.06em; height:.12em;
    background:#f4be29; border-radius:4px; transform:scaleX(0); transform-origin:left;
    animation:eepUnderlineFx .7s .35s cubic-bezier(.2,.7,.2,1) forwards;
}
.eep-ta-hl.fx-marker{
    --eep-marker:#f4be29;
    background-image:linear-gradient(120deg, var(--eep-marker), var(--eep-marker));
    background-repeat:no-repeat; background-position:0 78%; background-size:0% .42em;
    animation:eepMarkerFx .8s .3s ease forwards; padding:0 .05em;
}
.eep-ta-hl.fx-gradient{
    --eep-g1:#c2d98a; --eep-g2:#97b545;
    background:linear-gradient(90deg, var(--eep-g1), var(--eep-g2));
    -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent;
}
@keyframes eepUnderlineFx{ to{ transform:scaleX(1); } }
@keyframes eepMarkerFx{ to{ background-size:100% .42em; } }

/* ---------- ANIMATIONS ---------- */
/* reveal par mots */
.eep-ta--reveal .eep-ta-word{ display:inline-block; opacity:0; transform:translateY(.6em); }
.eep-ta--reveal.is-in .eep-ta-word{ animation:eepWord var(--eep-ta-dur,.7s) cubic-bezier(.2,.7,.2,1) forwards; animation-delay:calc(var(--eep-ta-i) * var(--eep-ta-stagger,.08s)); }
@keyframes eepWord{ to{ opacity:1; transform:none; } }

/* fade-up */
.eep-ta--fade-up .eep-ta-title{ opacity:0; transform:translateY(28px); }
.eep-ta--fade-up.is-in .eep-ta-title{ animation:eepFade var(--eep-ta-dur,.7s) cubic-bezier(.2,.7,.2,1) forwards; }
@keyframes eepFade{ to{ opacity:1; transform:none; } }

/* slide-in latéral */
.eep-ta--slide-in .eep-ta-title{ opacity:0; transform:translateX(-40px); }
.eep-ta--slide-in.is-in .eep-ta-title{ animation:eepSlide var(--eep-ta-dur,.7s) cubic-bezier(.2,.7,.2,1) forwards; }
@keyframes eepSlide{ to{ opacity:1; transform:none; } }

/* zoom */
.eep-ta--zoom .eep-ta-title{ opacity:0; transform:scale(.7); }
.eep-ta--zoom.is-in .eep-ta-title{ animation:eepZoom var(--eep-ta-dur,.7s) cubic-bezier(.2,.7,.2,1) forwards; }
@keyframes eepZoom{ to{ opacity:1; transform:none; } }

/* dégradé animé (sur le mot accent) */
.eep-ta--gradient .eep-ta-hl{ background:linear-gradient(90deg,#97b545,#c2d98a,#97b545); background-size:200% auto; -webkit-background-clip:text; background-clip:text; color:transparent; -webkit-text-fill-color:transparent; }
.eep-ta--gradient.loop-on .eep-ta-hl{ animation:eepGrad 4s linear infinite; }
@keyframes eepGrad{ to{ background-position:200% center; } }

/* machine à écrire */
.eep-ta-tw{ color:inherit; }
.eep-ta-cursor{ display:inline-block; margin-left:2px; font-weight:300; color:var(--eep-accent); animation:eepBlink 1s steps(1) infinite; }
@keyframes eepBlink{ 50%{ opacity:0; } }

/* soulignement (animation dédiée) */
.eep-ta--underline .eep-ta-hl{ position:relative; display:inline-block; }
.eep-ta--underline .eep-ta-hl::after{ content:''; position:absolute; left:0; right:0; bottom:-2px; height:.32em; background:var(--eep-accent); opacity:.32; transform:scaleX(0); transform-origin:left; transition:transform .6s cubic-bezier(.2,.7,.2,1) .2s; border-radius:3px; }
.eep-ta--underline.uline-line .eep-ta-hl::after{ height:3px; opacity:1; bottom:-1px; }
.eep-ta--underline.uline-double .eep-ta-hl::after{ height:6px; opacity:1; bottom:-3px; background:none; border-top:2px solid var(--eep-accent); border-bottom:2px solid var(--eep-accent); border-radius:0; }
.eep-ta--underline.is-in .eep-ta-hl::after{ transform:scaleX(1); }

/* ---------- Responsive ---------- */
@media (max-width:768px){
    .eep-ta{ padding-left:18px; padding-right:18px; }
    .eep-ta-title{ font-size:clamp(1.5rem, 7vw, 2rem) !important; line-height:1.18; }
    .eep-ta-subtitle{ font-size:1rem; }
    .eep-ta-eyebrow{ letter-spacing:2px; font-size:12px; }
}
@media (max-width:480px){
    .eep-ta{ padding-left:22px; padding-right:22px; }
    .eep-ta-title{ font-size:clamp(1.3rem, 8vw, 1.7rem) !important; }
    .eep-ta-subtitle{ font-size:.95rem; }
}

@media (prefers-reduced-motion:reduce){
    .eep-ta-word,
    .eep-ta-title{ opacity:1 !important; transform:none !important; animation:none !important; }
    .eep-ta-hl.fx-underline::after, .eep-ta-hl.fx-marker{ animation:none !important; }
    .eep-ta-hl.fx-underline::after{ transform:scaleX(1); }
    .eep-ta-hl.fx-marker{ background-size:100% .42em; }
    .eep-ta--underline .eep-ta-hl::after{ transform:scaleX(1); transition:none; }
    .eep-ta--gradient.loop-on .eep-ta-hl{ animation:none; }
    .eep-ta-cursor{ animation:none; }
}
