/* 
Theme Name: Hello Elementor Child
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: Elementor Team
Author URI: https://elementor.com/
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
*/
/* Add your custom styles here */
.dog_sticker{
    display: inline-block;
  position: absolute;
  top: -59px;
  background: #111;
  padding: 5px 15px;
  color: #fff;
  left: 0;
  font-size: 12px;
}
.energique{
    background: #ff8022;
}
.les-relax{
    background: #00aaa1;
}
.les-pantouflards{
    background: #dbae8d;
}
.les-chocottes{
    background: #ffc488;
}
.besoins-specifiques{
    background: #fff;
    color: #000;
}
.adoptionpageimg img{
    -webkit-border-radius: 15px;
-moz-border-radius: 15px;
border-radius: 15px;
}
body .wpml-ls-legacy-list-horizontal .wpml-ls-item{
    margin: 0 2px;
}



/* -------------CSS Perso pour les masques sur les images des chiens ------------*/

/* === Badge unique pour TOUS les statuts (sauf Adopté) === */
/* Contexte */
.elementor-widget-theme-post-featured-image .elementor-widget-container,
.elementor-widget-image .elementor-widget-container { position: relative; }

/* Variables par statut (texte + couleur) */
.status-a-ladoption, .status-a-l-adoption { --badge-label: "À l’adoption"; --badge-bg: #2e7d32; }
.status-pas-a-ladoption                  { --badge-label: "Pas à l’adoption"; --badge-bg: #d32f2f; }
.status-en-traitement                    { --badge-label: "En traitement";   --badge-bg: #ff8b38; }
.status-rue                              { --badge-label: "Rue";             --badge-bg: #BBBBBB; }

/* Rendu du badge (même style partout) — on EXCLUT Adopté */
  [class*="status-"]:not(.status-adopte):not(.status-ange)
  .single-photo-chien .elementor-widget-container::before {
  content: var(--badge-label); /* no fallback -> no stray "Statut" */
  position: absolute;
  top: 12px; left: 12px;
  background: var(--badge-bg);
  color: #fff;
  font: 700 13px/1 system-ui, Arial, sans-serif;
  padding: 8px 10px;
  border-radius: 6px;
  box-shadow: 0 6px 16px rgba(0,0,0,.2);
  pointer-events: none;
  z-index: 2;
  white-space: nowrap;
}

/* Adopté — tampon diagonal */
.status-adopte .single-photo-chien .elementor-widget-container::after {
  content: "ADOPTED";/*content: "ADOPTÉ";*/
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%) rotate(-18deg);
  font: 700 48px/1.1 system-ui, Arial, sans-serif;
  color: #d32f2f;
  border: 6px solid #d32f2f;
  padding: .25em .5em;
  border-radius: 8px;
  background: rgba(255,255,255,0.15);
  letter-spacing: 2px;
  box-shadow: 0 8px 24px rgba(0,0,0,.25);
  mix-blend-mode: multiply;
  pointer-events: none;
  z-index: 2;
}



/* ===== ANGE : halo autour + anneau coin haut-gauche (devant/derrière) + badge ===== */

/* 1) Contexte + halo doré sur l'image */
.status-ange .elementor-widget-theme-post-featured-image .elementor-widget-container,
.status-ange .single-photo-chien .elementor-widget-container {
  position: relative;
  overflow: visible; /* l’anneau dépasse */
}
.status-ange .elementor-widget-theme-post-featured-image img,
.status-ange .single-photo-chien img {
  position: relative;
  z-index: 2; /* l'image au milieu : devant la partie haute, derrière la partie basse */
  box-shadow: 0 0 25px rgba(255, 223, 0, 0.8);
  border: 3px solid rgba(255, 215, 0, 0.9);
  border-radius: 12px;
}

/* === ANNEAU ANGEL — partie HAUTE (derrière l'image) === */
.status-ange .elementor-widget-theme-post-featured-image .elementor-widget-container::before,
.status-ange .single-photo-chien .elementor-widget-container::before {
  content: "";
  position: absolute;
  top: 1px;        /* descendu */
  left: -38px;     /* ajusté pour le grand diamètre */
  width: 240px;    /* grand diamètre */
  height: 20px;    /* hauteur proportionnelle */
  border: 15px solid rgba(255, 215, 64, 0.95);
  border-radius: 999px;
  background: radial-gradient(ellipse at center,
              rgba(255,245,157,0.55) 0%,
              rgba(255,245,157,0.12) 55%,
              rgba(255,245,157,0) 70%);
  /* >>> glow renforcé */
  box-shadow:
    0 0 10px rgba(255,215,64,0.70),
    0 0 22px rgba(255,215,64,0.55),
    0 0 38px rgba(255,215,64,0.40),
    inset 0 0 6px rgba(255,255,255,0.95);
  filter: drop-shadow(0 0 10px rgba(255,215,64,0.55)) drop-shadow(0 0 24px rgba(255,235,130,0.45));
  -webkit-filter: drop-shadow(0 0 10px rgba(255,215,64,0.55)) drop-shadow(0 0 24px rgba(255,235,130,0.45));
  transform: rotate(-12deg);
  z-index: 1;
  clip-path: inset(0 0 50% 0); /* garde seulement la moitié haute */
  pointer-events: none;
}

/* === ANNEAU ANGEL — partie BASSE (devant l'image) === */
.status-ange .elementor-widget-theme-post-featured-image .elementor-widget-container::after,
.status-ange .single-photo-chien .elementor-widget-container::after {
  content: "";
  position: absolute;
  top: 1px;
  left: -38px;
  width: 240px;
  height:20px;
  border: 15px solid rgba(255, 215, 64, 0.95);
  border-radius: 999px;
  background: radial-gradient(ellipse at center,
              rgba(255,245,157,0.55) 0%,
              rgba(255,245,157,0.12) 55%,
              rgba(255,245,157,0) 70%);
  /* >>> glow renforcé */
  box-shadow:
    0 0 10px rgba(255,215,64,0.70),
    0 0 22px rgba(255,215,64,0.55),
    0 0 38px rgba(255,215,64,0.40),
    inset 0 0 6px rgba(255,255,255,0.95);
  filter: drop-shadow(0 0 10px rgba(255,215,64,0.55)) drop-shadow(0 0 24px rgba(255,235,130,0.45));
  -webkit-filter: drop-shadow(0 0 10px rgba(255,215,64,0.55)) drop-shadow(0 0 24px rgba(255,235,130,0.45));
  transform: rotate(-12deg);
  z-index: 3;
  clip-path: inset(50% 0 0 0); /* garde seulement la moitié basse */
  pointer-events: none;
}

.status-ange .elementor-column,
.status-ange .elementor-widget-wrap { overflow: visible !important; }

/* 4) Badge "Ange" en bas — on l'attache au WIDGET (pas au container) pour garder 2 pseudos pour l’anneau */
.status-ange .elementor-widget-theme-post-featured-image,
.status-ange .single-photo-chien {
  position: relative;
}

.status-ange { --badge-label: "Ange"; }

.status-ange .elementor-widget-theme-post-featured-image::before,
.status-ange .single-photo-chien::before {
  content: "✨ " var(--badge-label, "Ange") " ✨";
  position: absolute;
  left: 50%;
  bottom: 12px;
  transform: translateX(-50%);
  background: rgba(255, 255, 255, 0.92);
  color: #7c3aed;
  font: 700 14px/1.2 system-ui, Arial, sans-serif;
  padding: 6px 14px;
  border-radius: 18px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
  z-index: 4; /* au-dessus de tout */
  pointer-events: none;
}


/* Filtre vintage doux (agit sur l'img, pas l'anneau) */
.status-ange .elementor-widget-theme-post-featured-image .elementor-widget-container img,
.status-ange .single-photo-chien .elementor-widget-container img {
  filter: sepia(40%) contrast(92%) brightness(95%) saturate(85%) !important;
}

/* --- Patch glow ANGE (Elementor Container) : empêcher le clipping et forcer le halo --- */

/* --- Anti-clip et stacking propres sur ce container précis --- */
.status-ange .elementor-element-761a2bca { overflow: visible !important; }
.status-ange .elementor-element-3c62af44 { overflow: visible !important; }
.status-ange .elementor-element-3c62af44 > .elementor-widget-container{
  position: relative;
  overflow: visible !important;
  isolation: isolate; /* nouveau contexte de stacking */
}

/* --- Anneau haut/bas : glow renforcé et prioritaire --- */
.status-ange .elementor-element-3c62af44 > .elementor-widget-container::before,
.status-ange .elementor-element-3c62af44 > .elementor-widget-container::after{
  box-shadow:
    0 0 12px rgba(255,215,64,.90),
    0 0 26px rgba(255,215,64,.70),
    0 0 52px rgba(255,215,64,.50),
    inset 0 0 6px rgba(255,255,255,.95) !important;
  filter: none !important; /* pas de drop-shadow, parfois capricieux */
}

/* (Option) Halo image un peu plus fort si besoin */
.status-ange .elementor-element-3c62af44 img{
  box-shadow:
    0 0 20px rgba(255,223,0,.95),
    0 0 44px rgba(255,223,0,.60) !important;
}

/* Laisse le glow déborder en élargissant le clip (valeurs négatives) */
.status-ange .elementor-widget-theme-post-featured-image .elementor-widget-container::before,
.status-ange .elementor-widget-image .elementor-widget-container::before {
  /* moitié HAUTE (derrière l'image) */
  clip-path: inset(-24px -24px 50% -24px) !important; /* top/right/bottom/left */
}

.status-ange .elementor-widget-theme-post-featured-image .elementor-widget-container::after,
.status-ange .elementor-widget-image .elementor-widget-container::after {
  /* moitié BASSE (devant l'image) */
  z-index: 10 !important; /* passe bien devant l’image */
  clip-path: inset(50% -24px -24px -24px) !important;
}

			  
			  

/* PAREIL MAIS SUR LA PAGE DES ADOPTIONS */

/* ===== Loop 1052 : base ===== */
.elementor-1052 .elementor-widget-theme-post-featured-image .elementor-widget-container,
.elementor-1052 .elementor-widget-image .elementor-widget-container {
  position: relative;
  overflow: hidden; /* on garde par défaut */
}

/* L’image doit rester au-dessus des halos/badges */
.elementor-1052 .elementor-widget-theme-post-featured-image img,
.elementor-1052 .elementor-widget-image img {
  position: relative;
  z-index: 2;
}

/* ===== Badge CARACTÈRE (bandeau haut) ===== */
.elementor-1052 .elementor-element-6223b56 { position: relative; }
.elementor-1052 .elementor-widget-theme-post-featured-image .elementor-widget-container { position: relative; }

.elementor-1052 .dog-char--overlay{
  position: absolute;
  top: 0; left: 0; right: 0;
  padding: 10px 12px;
  font: 700 12px/1.1 system-ui, Arial, sans-serif;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: .6px;
  z-index: 3;
  pointer-events: none;
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
  background: rgba(0,0,0,.35); /* défaut si aucune correspondance */
}

/* Masquer complètement le bandeau lorsqu'aucun caractère n'est défini */
.elementor-1052 .dog-char--overlay:not([data-char]),
.elementor-1052 .dog-char--overlay[data-char=""],
.elementor-1052 .dog-char--overlay:empty {
  display: none;
}

/* Couleurs par valeur via data-char (précis sur les libellés) */
.elementor-1052 .dog-char--overlay[data-char="Énergique"],
.elementor-1052 .dog-char--overlay[data-char="ÉNERGIQUE"],
.elementor-1052 .dog-char--overlay[data-char="Energique"],
.elementor-1052 .dog-char--overlay[data-char="Energetic"],
.elementor-1052 .dog-char--overlay[data-char="Enerzik"]         { background: rgba(255,128,34,.85); }
.elementor-1052 .dog-char--overlay[data-char="Relax"],
.elementor-1052 .dog-char--overlay[data-char="Chill"],
.elementor-1052 .dog-char--overlay[data-char="Relaks"]           { background: rgba(0,170,161,.85); }
.elementor-1052 .dog-char--overlay[data-char="Pantouflard"],
.elementor-1052 .dog-char--overlay[data-char="Couch potato"],
.elementor-1052 .dog-char--overlay[data-char="Trankil"]         { background: rgba(219,174,141,.85); }
.elementor-1052 .dog-char--overlay[data-char="Chocottes"],
.elementor-1052 .dog-char--overlay[data-char="Les chocottes"],
.elementor-1052 .dog-char--overlay[data-char="Scaredy-cat"],
.elementor-1052 .dog-char--overlay[data-char="Scaredy-Cat"],
.elementor-1052 .dog-char--overlay[data-char="Perer"]            { background: rgba(255,196,136,.85); color:#222; }
.elementor-1052 .dog-char--overlay[data-char="Besoins spécifiques"],
.elementor-1052 .dog-char--overlay[data-char="Special needs"],
.elementor-1052 .dog-char--overlay[data-char="Bezwin spesial"]  { background: rgba(255,255,255,.9); color:#000; }

/* ===== Tampon ADOPTÉ 80-90% largeur image ===== */
.elementor-1052 .elementor-element-6223b56:has(
  .statut-pill:is(
    [data-statut="Adopté"],
    [data-statut="Adopte"],
    [data-statut*="adopté" i],
    [data-statut*="adopted" i],
    [data-statut*="adopte" i]:not([data-statut*="adoption" i]):not([data-statut*="pou adop" i])
  )
)
  .elementor-widget-theme-post-featured-image .elementor-widget-container::after {
  content: "ADOPTED"; /*content: "ADOPTÉ";*/
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%) rotate(-18deg);
  width: 91%; /* entre 80 et 90 % selon besoin */
  text-align: center;
  
  font-weight: 700;
  font-size: clamp(14px, 5vw, 32px); /* taille auto selon écran */
  line-height: 1.1;
  font-family: system-ui, Arial, sans-serif;

  color: #d32f2f;
  border: 0.5vw solid #d32f2f; /* bordure proportionnelle */
  padding: 0.2em 0; /* vertical seulement */
  border-radius: 8px;
  background: rgba(255,255,255,0.15);
  letter-spacing: 2px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.25);
  mix-blend-mode: multiply;
  pointer-events: none;
  z-index: 4;
  white-space: nowrap; /* reste sur une ligne */
}

			  /* 📱 Plus épais sur téléphone */
@media (max-width: 480px) {
  .elementor-1052 .elementor-element-6223b56:has(
    .statut-pill:is(
      [data-statut="Adopté"],
      [data-statut="Adopte"],
      [data-statut*="adopté" i],
      [data-statut*="adopted" i],
      [data-statut*="adopte" i]:not([data-statut*="adoption" i]):not([data-statut*="pou adop" i])
    )
  )
    .elementor-widget-theme-post-featured-image .elementor-widget-container::after {
    border-width: 3vw; /* plus épais sur mobile */
	font-size: clamp(20px, 50vw, 32px); /* taille auto selon écran */
  }
}


/* ===== Halo doré pour ANGE dans le loop 1052 ===== */

/* 1) Autoriser le dépassement autour de l’image (juste pour Ange) */
.elementor-1052 .elementor-element-6223b56:has(
  .statut-pill:is(
    [data-statut="Ange"],
    [data-statut*="angel" i],
    [data-statut*="ange" i],
    [data-statut*="anz" i],
    [data-statut*="lanj" i],
    [data-statut*="lanz" i]
  )
)
  .elementor-widget-theme-post-featured-image > .elementor-widget-container {
  overflow: visible !important;
}

/* 2) Halo bien jaune et plus présent autour du cadre image */
.elementor-1052 .elementor-element-6223b56:has(
  .statut-pill:is(
    [data-statut="Ange"],
    [data-statut*="angel" i],
    [data-statut*="ange" i],
    [data-statut*="anz" i],
    [data-statut*="lanj" i],
    [data-statut*="lanz" i]
  )
)
  .elementor-widget-theme-post-featured-image > .elementor-widget-container::before {
  content: "";
  position: absolute;
  inset: 0; /* top:0 right:0 bottom:0 left:0 */
  border-radius: 20px 20px 0 0;
  box-shadow:
    0 0 2px rgba(255,223,0,.95),
    0 0 15px rgba(255,223,0,.60) !important;
  pointer-events: none;
  z-index: 1; /* l’image reste au-dessus */
}

/* 3) Image N&B + glow doré (comme sur la single) et au-dessus du halo */
.elementor-1052 .elementor-element-6223b56:has(
  .statut-pill:is(
    [data-statut="Ange"],
    [data-statut*="angel" i],
    [data-statut*="ange" i],
    [data-statut*="anz" i],
    [data-statut*="lanj" i],
    [data-statut*="lanz" i]
  )
)
  .elementor-widget-theme-post-featured-image img {
  position: relative;
  z-index: 2;
  filter: grayscale(100%) contrast(1.05) brightness(0.95);
  border: 0px solid rgba(255, 0, 0, 0.9);
  border-radius: 20px 20px 0 0;
  box-shadow:
    0 0 18px rgba(255, 0, 0, 0.85),
    /*0 0 42px rgba(255,223,0,.45);*/
}


/* 4) S’assurer que l’image est au-dessus du halo, et le bandeau caractère au-dessus de tout */
.elementor-1052 .elementor-widget-theme-post-featured-image img { z-index: 2; position: relative; }
.elementor-1052 .dog-char--overlay { z-index: 3; position: absolute; }

/* ===== Pilule de statut sous le nom (OK tel quel) ===== */
.elementor-1052 .statut-pill,
.encart-anniversaire .statut-pill {
  display:inline-block;
  margin-top:8px;
  padding:6px 10px;
  border-radius:999px;
  font:600 12px/1 system-ui, Arial, sans-serif;
  background:#edf5f3;
  color:#1b1b1b;
}
.elementor-1052 .statut-pill:is(
  [data-statut="A l'adoption"],
  [data-statut="À l’adoption"],
  [data-statut="À l'adoption"],
  [data-statut*="for adoption" i],
  [data-statut*="available for adoption" i],
  [data-statut*="up for adoption" i],
  [data-statut*="à adopter" i],
  [data-statut*="a adopter" i],
  [data-statut*="disponible pour adoption" i],
  [data-statut*="pou adop" i]:not([data-statut*="pa pou" i]):not([data-statut*="pas pou" i])
),
.encart-anniversaire .statut-pill:is(
  [data-statut="A l'adoption"],
  [data-statut="À l’adoption"],
  [data-statut="À l'adoption"],
  [data-statut*="for adoption" i],
  [data-statut*="available for adoption" i],
  [data-statut*="up for adoption" i],
  [data-statut*="à adopter" i],
  [data-statut*="a adopter" i],
  [data-statut*="disponible pour adoption" i],
  [data-statut*="pou adop" i]:not([data-statut*="pa pou" i]):not([data-statut*="pas pou" i])
)  { background:#2e7d32; color:#fff; }
.elementor-1052 .statut-pill:is(
  [data-statut="En traitement"],
  [data-statut*="traitement" i],
  [data-statut*="treatment" i],
  [data-statut*="treatement" i],
  [data-statut*="tretman" i],
  [data-statut*="swen" i]
),
.encart-anniversaire .statut-pill:is(
  [data-statut="En traitement"],
  [data-statut*="traitement" i],
  [data-statut*="treatment" i],
  [data-statut*="treatement" i],
  [data-statut*="tretman" i],
  [data-statut*="swen" i]
) { background:#ff8b38; color:#fff; }
.elementor-1052 .statut-pill:is(
  [data-statut="Pas à l'adoption"],
  [data-statut="Pas à l’adoption"],
  [data-statut="Pas a l'adoption"],
  [data-statut="Pas a l adoption"],
  [data-statut*="not for adoption" i],
  [data-statut*="not up for adoption" i],
  [data-statut*="not available for adoption" i],
  [data-statut*="unavailable for adoption" i],
  [data-statut*="not adoptable" i],
  [data-statut*="pa pou adop" i],
  [data-statut*="pas pou adop" i],
  [data-statut*="pena adoption" i],
  [data-statut*="pa disponib" i]
),
.encart-anniversaire .statut-pill:is(
  [data-statut="Pas à l'adoption"],
  [data-statut="Pas à l’adoption"],
  [data-statut="Pas a l'adoption"],
  [data-statut="Pas a l adoption"],
  [data-statut*="not for adoption" i],
  [data-statut*="not up for adoption" i],
  [data-statut*="not available for adoption" i],
  [data-statut*="unavailable for adoption" i],
  [data-statut*="not adoptable" i],
  [data-statut*="pa pou adop" i],
  [data-statut*="pas pou adop" i],
  [data-statut*="pena adoption" i],
  [data-statut*="pa disponib" i]
) { background:#d32f2f !important; color:#fff !important; }
.elementor-1052 .statut-pill:is(
  [data-statut="Adopté"],
  [data-statut="Adopte"],
  [data-statut*="adopté" i],
  [data-statut*="adopted" i],
  [data-statut*="adopte" i]:not([data-statut*="adoption" i]):not([data-statut*="pou adop" i]),
  [data-statut*="deja adop" i],
  [data-statut*="finn adop" i]
),
.encart-anniversaire .statut-pill:is(
  [data-statut="Adopté"],
  [data-statut="Adopte"],
  [data-statut*="adopté" i],
  [data-statut*="adopted" i],
  [data-statut*="adopte" i]:not([data-statut*="adoption" i]):not([data-statut*="pou adop" i]),
  [data-statut*="deja adop" i],
  [data-statut*="finn adop" i]
)        { background:#7c3aed; color:#fff; }
.elementor-1052 .statut-pill:is(
  [data-statut="Rue"],
  [data-statut="La rue"],
  [data-statut*="street" i],
  [data-statut*="stray" i],
  [data-statut*="dans la rue" i],
  [data-statut*="lor lari" i],
  [data-statut*="dan lari" i],
  [data-statut*="lari" i]
),
.encart-anniversaire .statut-pill:is(
  [data-statut="Rue"],
  [data-statut="La rue"],
  [data-statut*="street" i],
  [data-statut*="stray" i],
  [data-statut*="dans la rue" i],
  [data-statut*="lor lari" i],
  [data-statut*="dan lari" i],
  [data-statut*="lari" i]
)           { background:#BBBBBB; color:#fff; }
/* Stars around the “Ange” pill text */
.elementor-1052 .statut-pill:is(
  [data-statut="Ange"],
  [data-statut*="angel" i],
  [data-statut*="ange" i],
  [data-statut*="anz" i],
  [data-statut*="lanj" i],
  [data-statut*="lanz" i]
),
.encart-anniversaire .statut-pill:is(
  [data-statut="Ange"],
  [data-statut*="angel" i],
  [data-statut*="ange" i],
  [data-statut*="anz" i],
  [data-statut*="lanj" i],
  [data-statut*="lanz" i]
){
  background:#fed848;
  color:#fff;
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.elementor-1052 .statut-pill:is(
  [data-statut="Ange"],
  [data-statut*="angel" i],
  [data-statut*="ange" i],
  [data-statut*="anz" i],
  [data-statut*="lanj" i],
  [data-statut*="lanz" i]
)::before,
.encart-anniversaire .statut-pill:is(
  [data-statut="Ange"],
  [data-statut*="angel" i],
  [data-statut*="ange" i],
  [data-statut*="anz" i],
  [data-statut*="lanj" i],
  [data-statut*="lanz" i]
)::before{ content:"✨"; }
.elementor-1052 .statut-pill:is(
  [data-statut="Ange"],
  [data-statut*="angel" i],
  [data-statut*="ange" i],
  [data-statut*="anz" i],
  [data-statut*="lanj" i],
  [data-statut*="lanz" i]
)::after,
.encart-anniversaire .statut-pill:is(
  [data-statut="Ange"],
  [data-statut*="angel" i],
  [data-statut*="ange" i],
  [data-statut*="anz" i],
  [data-statut*="lanj" i],
  [data-statut*="lanz" i]
)::after { content:"✨"; }
			  
/* Cache la bannière caractère si le statut est Ange ou Adopté */
.elementor-1052 .elementor-element-6223b56:has(
  .statut-pill:is(
    [data-statut="Ange"],
    [data-statut*="angel" i],
    [data-statut*="ange" i],
    [data-statut*="anz" i],
    [data-statut*="lanj" i],
    [data-statut*="lanz" i]
  )
)
  .dog-char--overlay,
.elementor-1052 .elementor-element-6223b56:has(
  .statut-pill:is(
    [data-statut="Adopté"],
    [data-statut="Adopte"],
    [data-statut*="adopté" i],
    [data-statut*="adopted" i],
    [data-statut*="adopte" i]:not([data-statut*="adoption" i]):not([data-statut*="pou adop" i])
  )
)
  .dog-char--overlay {
  display: none;
}
			  
/* 1) Transitions identiques */
.elementor-1052 .elementor-element-6223b56 .elementor-widget-theme-post-featured-image img,
.elementor-1052 .dog-char--overlay {
  transition: transform .35s ease;
  will-change: transform;
}

/* 2) Hover UNIFIÉ sur toute la carte : image + bandeau zooment pareil */
.elementor-1052 .elementor-element-6223b56:hover .elementor-widget-theme-post-featured-image img,
.elementor-1052 .elementor-element-6223b56:hover .dog-char--overlay {
  transform: scale(1.1);
}

/* (Option) Neutraliser l’animation “Grow” par défaut d’Elementor si elle est active */
.elementor-1052 .elementor-widget-theme-post-featured-image img.elementor-animation-grow {
  transform: none !important;
}
.elementor-1052 .elementor-element-6223b56:hover .elementor-widget-theme-post-featured-image img.elementor-animation-grow {
  transform: scale(1.05) !important;
}
			  
/* Le wrap devient le référentiel : découpe + position */
.elementor-1052 .media-wrap{
  position: relative;
  overflow: hidden;
  border-radius: 20px 20px 0 0;
}

/* Le bandeau est ABSOLU dans le wrap => plus aucun débordement */
.elementor-1052 .media-wrap .dog-char--overlay{
  position: absolute;
  top: 0; left: 0; right: 0;
  z-index: 3;
  padding: 10px 12px;
  font: 700 12px/1.1 system-ui, Arial, sans-serif;
  text-transform: uppercase;
  letter-spacing: .6px;
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
}

/* Image devant le halo diffus, derrière le bandeau */
.elementor-1052 .media-wrap img{
  position: relative;
  z-index: 2;
}

/* Halo Ange (diffus) reste derrière l’image, car posé en ::before du widget image */
.elementor-1052 .elementor-element-6223b56:has(
  .statut-pill:is(
    [data-statut="Ange"],
    [data-statut*="angel" i],
    [data-statut*="ange" i],
    [data-statut*="anz" i],
    [data-statut*="lanj" i],
    [data-statut*="lanz" i]
  )
)
  .elementor-widget-theme-post-featured-image .elementor-widget-container::before{
  z-index: 1; /* diffuse */
}

.nav-chiens{
  display:flex; justify-content:space-between; gap:12px; margin-top:20px;
}
.nav-chiens a{
  display:inline-block; padding:8px 14px; background:#00AAA0; color:#fff;
  text-decoration:none; border-radius:8px; font-weight:600;
}
.nav-chiens a:hover{ background:#009288; }
.nav-chiens .prev-chien:empty, .nav-chiens .next-chien:empty{ display:none; }


/*----- POUR AFFICHER LES INFOS POUR LES CHIENS AUX BESOINS SPECIFIQUES ----*/
			  
/* caché par défaut */
.show-if-besoins { display: none !important; }

/* s'affiche quand le body a la classe */
.has-caractere-besoins-specifiques .show-if-besoins { display: flex !important; }
/* si ton conteneur est une section en grid, utilise plutôt: */
/* .has-caractere-besoins-specifiques .show-if-besoins { display: grid !important; } */






/* === Encart anniversaires === */
.encart-anniversaire {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.anniversaire-card {
  background: #ffffff;
  border-radius: 12px;
  box-shadow: 0 12px 30px rgba(17, 24, 39, 0.08);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.anniversaire-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(17, 24, 39, 0.12);
}

.anniversaire-thumb {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #f3f4f6;
}

.anniversaire-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  position: relative;
  z-index: 1;
}

@supports not (aspect-ratio: 1 / 1) {
  .anniversaire-thumb::before {
    content: '';
    display: block;
    padding-top: 75%;
  }

  .anniversaire-thumb img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
}

.anniversaire-confetti {
  position: absolute;
  pointer-events: none;
  display: block;
}

.anniversaire-confetti {
  inset: 0;
  z-index: 2;
  opacity: 0.92;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%22240%22%20height%3D%22240%22%20viewBox%3D%220%200%20240%20240%22%3E%0A%20%20%3Crect%20width%3D%22240%22%20height%3D%22240%22%20fill%3D%22none%22/%3E%0A%20%20%3Ccircle%20cx%3D%2226%22%20cy%3D%2234%22%20r%3D%226%22%20fill%3D%22%23ff7aa2%22/%3E%0A%20%20%3Ccircle%20cx%3D%22210%22%20cy%3D%2246%22%20r%3D%225%22%20fill%3D%22%2338bdf8%22/%3E%0A%20%20%3Ccircle%20cx%3D%22122%22%20cy%3D%2228%22%20r%3D%225%22%20fill%3D%22%23f97316%22/%3E%0A%20%20%3Ccircle%20cx%3D%22180%22%20cy%3D%22178%22%20r%3D%226%22%20fill%3D%22%2322d3ee%22/%3E%0A%20%20%3Crect%20x%3D%2254%22%20y%3D%22162%22%20width%3D%2212%22%20height%3D%2212%22%20fill%3D%22%23a855f7%22%20transform%3D%22rotate%2818%2060%20168%29%22/%3E%0A%20%20%3Crect%20x%3D%22164%22%20y%3D%2220%22%20width%3D%2210%22%20height%3D%2210%22%20fill%3D%22%23facc15%22%20transform%3D%22rotate%28-22%20169%2025%29%22/%3E%0A%20%20%3Crect%20x%3D%2218%22%20y%3D%22186%22%20width%3D%2210%22%20height%3D%2210%22%20fill%3D%22%23fb7185%22%20transform%3D%22rotate%2812%2023%20191%29%22/%3E%0A%20%20%3Cpolygon%20points%3D%2292%2C36%20104%2C60%2080%2C60%22%20fill%3D%22%232563eb%22/%3E%0A%20%20%3Cpolygon%20points%3D%22204%2C108%20218%2C132%20190%2C132%22%20fill%3D%22%23f97316%22/%3E%0A%20%20%3Cpolygon%20points%3D%22142%2C142%20158%2C158%20126%2C158%22%20fill%3D%22%23facc15%22/%3E%0A%20%20%3Cpolygon%20points%3D%2264%2C112%2076%2C128%2052%2C128%22%20fill%3D%22%2338bdf8%22/%3E%0A%20%20%3Cpolygon%20points%3D%22126%2C198%20138%2C218%20114%2C218%22%20fill%3D%22%2322d3ee%22/%3E%0A%20%20%3Cpolygon%20points%3D%2240%2C208%2052%2C226%2028%2C226%22%20fill%3D%22%23f59e0b%22/%3E%0A%20%20%3Cpolygon%20points%3D%22184%2C222%20198%2C240%20170%2C240%22%20fill%3D%22%23c084fc%22/%3E%0A%20%20%3Cpolygon%20points%3D%22118%2C94%20130%2C118%20102%2C118%22%20fill%3D%22%23f87171%22/%3E%0A%20%20%3Cpolygon%20points%3D%2236%2C74%2048%2C94%2024%2C94%22%20fill%3D%22%230ea5e9%22/%3E%0A%20%20%3Cpath%20d%3D%22M178%2088c0-6.6%205.4-12%2012-12%203.6%200%207%201.6%209.3%204.1%202.3-2.5%205.7-4.1%209.3-4.1%206.6%200%2012%205.4%2012%2012%200%2012.4-21.3%2023.4-21.3%2023.4S178%20100.4%20178%2088z%22%20fill%3D%22%23fb7185%22/%3E%0A%20%20%3Cpath%20d%3D%22M74%2026c0-5%204-9%209-9%203%200%205.7%201.4%207.5%203.5C92.3%2018.4%2095%2017%2098%2017c5%200%209%204%209%209%200%209.2-15%2017.4-15%2017.4S74%2035.2%2074%2026z%22%20fill%3D%22%23facc15%22%20transform%3D%22rotate%2818%2089%2029%29%22/%3E%0A%20%20%3Cpath%20d%3D%22M54%20136l9%2026%209-26-22%2016h26z%22%20fill%3D%22%23fb7185%22/%3E%0A%20%20%3Cpath%20d%3D%22M146%2064l7.6%2013.2%2015.2%202.4-11%2011.4%202.6%2015.4-14.4-7.2-14.4%207.2%202.6-15.4-11-11.4%2015.2-2.4z%22%20fill%3D%22%23f59e0b%22/%3E%0A%20%20%3Cpath%20d%3D%22M206%20164l7.2%2012.6%2014.4%202.2-10.4%2010.8%202.4%2014.6-13.6-6.8-13.6%206.8%202.4-14.6-10.4-10.8%2014.4-2.2z%22%20fill%3D%22%232563eb%22/%3E%0A%20%20%3Cpath%20d%3D%22M92%20182l6.6%2011.6%2013.2%202-9.6%2010%202.2%2013.6-12.4-6.2-12.4%206.2%202.2-13.6-9.6-10%2013.2-2z%22%20fill%3D%22%2322c55e%22/%3E%0A%20%20%3Cpath%20d%3D%22M24%20126l6%2010.6%2012%201.8-8.6%209%202%2012.4-11.2-5.6-11.2%205.6%202-12.4-8.6-9%2012-1.8z%22%20fill%3D%22%2338bdf8%22/%3E%0A%20%20%3Cpath%20d%3D%22M134%2016l6%2010.6%2012%201.8-8.6%209%202%2012.4-11.2-5.6-11.2%205.6%202-12.4-8.6-9%2012-1.8z%22%20fill%3D%22%2310b981%22/%3E%0A%20%20%3Cpath%20d%3D%22M34%20150l8.8%208.8-8.8%208.8-8.8-8.8z%22%20fill%3D%22%23c084fc%22/%3E%0A%20%20%3Cpath%20d%3D%22M178%20204l8.4%208.4-8.4%208.4-8.4-8.4z%22%20fill%3D%22%230ea5e9%22/%3E%0A%20%20%3Cpath%20d%3D%22M212%20200l8.4%208.4-8.4%208.4-8.4-8.4z%22%20fill%3D%22%23f43f5e%22/%3E%0A%20%20%3Cpath%20d%3D%22M98%20150l8.4%208.4-8.4%208.4-8.4-8.4z%22%20fill%3D%22%233b82f6%22/%3E%0A%3C/svg%3E");
  background-repeat: repeat;
  background-size: 200px 200px;
  background-position: -30px -23px;
  animation: confetti-glide 24s linear infinite;
}

.anniversaire-confetti::before,
.anniversaire-confetti::after {
  content: '';
  position: absolute;
  inset: -4%;
}

.anniversaire-confetti::before {
  background:
    radial-gradient(circle at 88% 10%, rgba(255, 255, 255, 0.55) 0 22%, transparent 60%),
    linear-gradient(120deg, rgba(255, 255, 255, 0.65) 0 10%, rgba(255, 255, 255, 0.05) 32%, transparent 55%),
    linear-gradient(140deg, transparent 0 40%, rgba(255, 255, 255, 0.35) 52%, transparent 68%);
  background-repeat: no-repeat;
  mix-blend-mode: screen;
  opacity: 0.42;
  animation: confetti-glide 26s linear infinite reverse;
}

.anniversaire-confetti::after {
  background:
    radial-gradient(circle at 82% 8%, rgba(255, 255, 255, 0.45) 0 16%, transparent 52%),
    linear-gradient(130deg, rgba(255, 255, 255, 0.4) 0 12%, transparent 40%),
    linear-gradient(118deg, transparent 0 48%, rgba(255, 255, 255, 0.32) 58%, transparent 70%);
  background-repeat: no-repeat;
  filter: blur(0.25px);
  mix-blend-mode: screen;
  opacity: 0.36;
  animation: confetti-glide 32s linear infinite;
}

.anniversaire-confetti--alt {
  opacity: 0.6;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%22240%22%20height%3D%22240%22%20viewBox%3D%220%200%20240%20240%22%3E%0A%20%20%3Crect%20width%3D%22240%22%20height%3D%22240%22%20fill%3D%22none%22/%3E%0A%20%20%3Ccircle%20cx%3D%2234%22%20cy%3D%2240%22%20r%3D%225%22%20fill%3D%22%2338bdf8%22/%3E%0A%20%20%3Ccircle%20cx%3D%22140%22%20cy%3D%2252%22%20r%3D%224%22%20fill%3D%22%23f97316%22/%3E%0A%20%20%3Ccircle%20cx%3D%22208%22%20cy%3D%2228%22%20r%3D%225%22%20fill%3D%22%23facc15%22/%3E%0A%20%20%3Ccircle%20cx%3D%22200%22%20cy%3D%22190%22%20r%3D%226%22%20fill%3D%22%23fb7185%22/%3E%0A%20%20%3Cpolygon%20points%3D%2228%2C84%2044%2C96%2028%2C108%2012%2C96%22%20fill%3D%22%23a855f7%22/%3E%0A%20%20%3Cpolygon%20points%3D%22156%2C28%20166%2C48%20146%2C48%22%20fill%3D%22%2322d3ee%22/%3E%0A%20%20%3Cpolygon%20points%3D%2284%2C128%20100%2C148%2068%2C148%22%20fill%3D%22%2322c55e%22/%3E%0A%20%20%3Cpolygon%20points%3D%22186%2C116%20206%2C136%20166%2C136%22%20fill%3D%22%232563eb%22/%3E%0A%20%20%3Cpolygon%20points%3D%2268%2C40%2080%2C60%2056%2C60%22%20fill%3D%22%23f97316%22/%3E%0A%20%20%3Cpath%20d%3D%22M116%2020l7.6%2013.2%2015.2%202.4-11%2011.4%202.6%2015.4-14.4-7.2-14.4%207.2%202.6-15.4-11-11.4%2015.2-2.4z%22%20fill%3D%22%23f59e0b%22/%3E%0A%20%20%3Cpath%20d%3D%22M46%20142l7.6%2013.2%2015.2%202.4-11%2011.4%202.6%2015.4-14.4-7.2-14.4%207.2%202.6-15.4-11-11.4%2015.2-2.4z%22%20fill%3D%22%23facc15%22/%3E%0A%20%20%3Cpath%20d%3D%22M214%2082l7.6%2013.2%2015.2%202.4-11%2011.4%202.6%2015.4-14.4-7.2-14.4%207.2%202.6-15.4-11-11.4%2015.2-2.4z%22%20fill%3D%22%23c084fc%22/%3E%0A%20%20%3Cpath%20d%3D%22M136%20172l8.4%208.4-8.4%208.4-8.4-8.4z%22%20fill%3D%22%230ea5e9%22/%3E%0A%20%20%3Cpath%20d%3D%22M72%20192l8.4%208.4-8.4%208.4-8.4-8.4z%22%20fill%3D%22%23f43f5e%22/%3E%0A%20%20%3Cpath%20d%3D%22M178%20166l8.4%208.4-8.4%208.4-8.4-8.4z%22%20fill%3D%22%23fb7185%22/%3E%0A%20%20%3Cpath%20d%3D%22M92%2078c0-5.6%204.4-10%2010-10%203.4%200%206.5%201.8%208.4%204.5%201.9-2.7%205-4.5%208.4-4.5%205.6%200%2010%204.4%2010%2010%200%2010-18.4%2019-18.4%2019S92%2088%2092%2078z%22%20fill%3D%22%23f87171%22/%3E%0A%20%20%3Cpath%20d%3D%22M22%20200c0-5%204-9%209-9%203%200%205.7%201.4%207.5%203.5C40.3%20192.4%2043%20191%2046%20191c5%200%209%204%209%209%200%209.2-15%2017.4-15%2017.4S22%20209.2%2022%20200z%22%20fill%3D%22%2322d3ee%22/%3E%0A%20%20%3Cpath%20d%3D%22M190%20148l9%2026%209-26-22%2016h26z%22%20fill%3D%22%2338bdf8%22/%3E%0A%20%20%3Cpath%20d%3D%22M122%20118l9%2026%209-26-22%2016h26z%22%20fill%3D%22%23f59e0b%22/%3E%0A%20%20%3Cpolygon%20points%3D%22120%2C214%20132%2C234%20108%2C234%22%20fill%3D%22%233b82f6%22/%3E%0A%20%20%3Cpolygon%20points%3D%22200%2C222%20214%2C244%20186%2C244%22%20fill%3D%22%23fb7185%22/%3E%0A%20%20%3Cpolygon%20points%3D%2242%2C22%2056%2C44%2028%2C44%22%20fill%3D%22%232563eb%22/%3E%0A%20%20%3Cpolygon%20points%3D%22150%2C92%20162%2C108%20138%2C108%22%20fill%3D%22%230ea5e9%22/%3E%0A%20%20%3Cpolygon%20points%3D%22212%2C208%20224%2C224%20200%2C224%22%20fill%3D%22%23facc15%22/%3E%0A%3C/svg%3E");
  background-repeat: repeat;
  background-size: 200px 200px;
  background-position: 70px 77px;
}

@keyframes confetti-glide {
  0% {
    transform: translate3d(-3%, -2%, 0) rotate(0.4deg);
  }
  50% {
    transform: translate3d(3%, 2%, 0) rotate(-0.6deg);
  }
  100% {
    transform: translate3d(-3%, -2%, 0) rotate(0.4deg);
  }
}

.anniversaire-body {
  padding: 18px 20px 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.anniversaire-title {
  font-size: 1.125rem;
  margin: 0;
  color: #111827;
}

.anniversaire-status {
  align-self: flex-start;
}

.anniversaire-date {
  margin: 0;
  font-size: 0.95rem;
  color: #4b5563;
}

.anniversaire-age {
  margin: -6px 0 0;
  font-size: 0.9rem;
  color: #2563eb;
  font-weight: 600;
}

.anniversaire-link {
  align-self: flex-start;
  margin-top: auto;
  font-weight: 600;
  color: #00aca0;
  text-decoration: none;
}

.anniversaire-link:hover,
.anniversaire-link:focus {
  color: #008d84;
  text-decoration: underline;
}

.encart-anniversaire__empty {
  margin: 0;
  padding: 16px 20px;
  border-radius: 10px;
  background: rgba(37, 99, 235, 0.08);
  color: #1e3a8a;
  font-style: italic;
}


/* === Icônes sexe sur la page adoption === */

/* Masque temporairement la flèche verte menant vers la fiche tout en conservant le markup */
#adoption-grid .elementor-element-656fe61 {
  display: none !important;
}

.iw-sex-icon-holder {
  position: relative;
  --iw-sex-icon-gap: 1.15rem;
  display: inline-grid;
  grid-auto-flow: column;
  grid-template-columns: max-content auto;
  align-items: center;
  column-gap: var(--iw-sex-icon-gap);
}

@supports not (display: grid) {
  .iw-sex-icon-holder {
    display: inline-flex;
    align-items: center;
  }

  .iw-sex-icon-holder:is(h1, h2, h3, h4, h5, h6, p, div, li, dt, dd) {
    display: flex;
  }

  .iw-sex-icon-holder > .iw-sex-icon {
    margin-inline-end: var(--iw-sex-icon-gap);
  }

  .iw-sex-icon-holder[role="img"] {
    display: inline-flex;
  }

  .iw-sex-icon-holder[role="img"] > .iw-sex-icon {
    margin-inline-end: 0;
  }
}

.iw-sex-icon-holder:is(h1, h2, h3, h4, h5, h6, p, div, li, dt, dd) {
  display: grid;
}

.iw-sex-icon-holder > .iw-sex-icon {
  grid-row: 1;
  grid-column: 1;
  flex-shrink: 0;
}

.iw-sex-icon-label {
  grid-row: 1;
  grid-column: 2;
  min-width: 0;
  display: inline-flex;
  align-items: center;
}

.iw-sex-icon-holder[role="img"] {
  display: inline-flex;
  column-gap: 0;
}

.iw-sex-icon {
  --iw-sex-icon-size: 1.6rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--iw-sex-icon-size);
  height: var(--iw-sex-icon-size);
  border-radius: 999px;
  font-weight: 700;
  font-size: calc(var(--iw-sex-icon-size) * 0.65);
  line-height: 1;
  color: #fff;
  background: #1e88e5;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
  vertical-align: middle;
  text-align: center;
}

.iw-sex-icon--female {
  background: #ec407a;
}

.iw-sex-icon--male {
  background: #1e88e5;
}

.iw-sex-icon-holder[role="img"] {
  align-items: center;
}

.sex-flag[data-iw-sex-flag-applied="1"] {
  display: none !important;
}

body.single-fiche-chien .sex-flag,
body.single.post-type-fiche-chien .sex-flag {
  display: none !important;
}