/* ==========================================================================
   ANIMAE STUDIO — PREMIUM THEME
   Noir & blanc. Éditorial. Animé. Sans compromis.
   ========================================================================== */

:root {
	--black: #0a0a0a;
	--accent: #0a0a0a;
	--accent-dark: #000000;
	--near-black: #111113;
	--white: #ffffff;
	--off-white: #f7f7f5;
	--grey-900: #1a1a1c;
	--grey-600: #6b6b70;
	--grey-400: #9a9a9f;
	--grey-200: #e4e4e2;
	--grey-100: #f0f0ee;
	--line-dark: rgba(255,255,255,.12);
	--line-light: rgba(10,10,10,.1);
	--radius: 18px;
	--radius-sm: 10px;
	--container: 1240px;
	--ease: cubic-bezier(.16,.84,.44,1);
	--font-display: 'Plus Jakarta Sans', 'Helvetica Neue', Arial, sans-serif;
	--font-body: 'Poppins', 'Helvetica Neue', Arial, sans-serif;
	--font-ticker: 'Space Grotesk', 'Helvetica Neue', Arial, sans-serif;
}

/* ---------- Reset ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
	margin: 0;
	background: var(--white);
	color: var(--black);
	font-family: var(--font-body);
	font-size: 17px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}
img { max-width: 100%; display: block; }
svg { width: 1em; height: 1em; flex-shrink: 0; display: inline-block; vertical-align: middle; }
a { color: inherit; text-decoration: none; }
ul { margin: 0; padding: 0; list-style: none; }
button { font-family: inherit; cursor: pointer; }
h1,h2,h3,h4 {
	font-family: var(--font-display);
	font-weight: 800;
	line-height: 1.05;
	letter-spacing: -0.01em;
	margin: 0 0 .5em;
	font-optical-sizing: auto;
}
h1 em, h2 em, .as-hero h1 em, .as-page-hero h1 em {
	font-style: normal;
	font-weight: 700;
	color: inherit;
}
p { margin: 0 0 1em; color: var(--grey-600); }

.as-container { max-width: var(--container); margin: 0 auto; padding: 0 32px; }
@media (max-width: 640px) { .as-container { padding: 0 20px; } }

.as-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--grey-600);
	margin-bottom: 18px;
}
.as-eyebrow::before {
	content: '';
	width: 22px; height: 1px;
	background: var(--black);
}

/* ---------- Buttons ---------- */
.as-btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 16px 30px;
	border-radius: 100px;
	font-weight: 700;
	font-size: 14.5px;
	letter-spacing: .01em;
	border: 1px solid var(--black);
	background: var(--black);
	color: var(--white);
	transition: transform .25s cubic-bezier(.16,1,.3,1), background .3s ease, color .3s ease, border-color .3s ease;
	white-space: nowrap;
}
.as-btn:hover { background: #1e1e1e; border-color: #1e1e1e; color: var(--white); transform: translateY(-3px); }
.as-btn--ghost { background: transparent; color: var(--black); border-color: var(--black); }
.as-btn--ghost:hover { background: var(--black); color: var(--white); }
.as-btn--onDark { border-color: var(--white); background: var(--white); color: var(--black); }
.as-btn--onDark:hover { background: var(--grey-100); border-color: var(--grey-100); color: var(--black); }
.as-btn--ghostOnDark { border-color: var(--line-dark); background: transparent; color: var(--white); }
.as-btn--ghostOnDark:hover { background: var(--white); color: var(--black); border-color: var(--white); }
.as-btn svg { width: 16px; height: 16px; transition: transform .35s var(--ease); }
.as-btn:hover svg { transform: translate(3px,-3px); }

/* ---------- Curseur empreinte natif + cercle passif ---------- */
/* Le point actif est placé près du coin supérieur gauche de l’empreinte,
   comme sur un curseur classique. Aucun script ne modifie la position réelle
   de la souris et le cercle ne reçoit jamais les clics. */
@media (hover: hover) and (pointer: fine) {
  html,
  body {
    cursor: url('../img/curseur-empreinte-chat.png') 2 2, auto;
  }

  body * {
    cursor: inherit;
  }

  a,
  button,
  input[type="button"],
  input[type="submit"],
  input[type="reset"],
  select,
  summary,
  label[for],
  [role="button"],
  [tabindex]:not([tabindex="-1"]) {
    cursor: url('../img/curseur-empreinte-chat.png') 2 2, pointer;
  }

  input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="url"],
  input[type="search"],
  input[type="number"],
  input[type="password"],
  textarea,
  [contenteditable="true"] {
    cursor: text;
  }
}

#as-cursor { display: none !important; }
#as-cursor-ring {
  position: fixed;
  top: 0;
  left: 0;
  width: 32px;
  height: 32px;
  border: 1.5px solid #fff;
  border-radius: 50%;
  pointer-events: none !important;
  user-select: none;
  z-index: 2147483647;
  opacity: 0;
  visibility: hidden;
  mix-blend-mode: difference;
  transform: translate3d(-80px,-80px,0) translate(-50%,-50%);
  will-change: transform, width, height;
  transition: width .18s ease, height .18s ease, opacity .12s ease;
}
body.as-cursor-ready #as-cursor-ring { opacity: .9; visibility: visible; }
#as-cursor-ring.is-hover { width: 52px; height: 52px; }
#as-cursor-ring.is-hidden { opacity: 0 !important; }

/* ---------- Barre supérieure ---------- */
.as-topbar { background: var(--black); color: var(--grey-400); font-size: 13.5px; overflow: hidden; max-height: 44px; transition: max-height .4s var(--ease), opacity .3s ease; }
.as-topbar.is-hidden { max-height: 0; opacity: 0; }
.as-topbar__inner { max-width: 100%; display: flex; align-items: center; justify-content: space-between; padding: 10px 48px; gap: 20px; }
.as-topbar__phones { display: flex; gap: 22px; flex-wrap: wrap; }
.as-topbar__phones a, .as-topbar__socials a { color: var(--grey-400); display: inline-flex; align-items: center; gap: 7px; transition: color .3s ease; }
.as-topbar__phones a svg { width: 13px; height: 13px; }
.as-topbar__phones a:hover, .as-topbar__socials a:hover { color: var(--white); }
.as-topbar__socials { display: flex; gap: 16px; align-items: center; }
.as-topbar__socials svg { width: 15px; height: 15px; }
@media (max-width: 640px) {
	.as-topbar__inner { padding: 9px 20px; }
	.as-topbar__phones a:nth-child(2) { display: none; }
}

/* ---------- Header ---------- */
.as-header {
	position: sticky; top: 0; z-index: 500;
	background: transparent;
	border-bottom: 1px solid transparent;
	transition: background .35s ease, box-shadow .35s ease, border-color .35s ease, backdrop-filter .35s ease;
}
.as-header.is-scrolled {
	background: rgba(255,255,255,.86);
	backdrop-filter: blur(14px) saturate(160%);
	border-bottom: 1px solid var(--line-light);
	box-shadow: 0 8px 30px rgba(0,0,0,.06);
}
.as-header__inner {
	max-width: 100%; margin: 0 auto; padding: 16px 48px;
	display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 24px;
}
.as-logo { display: flex; align-items: center; gap: 12px; font-family: var(--font-display); font-weight: 800; font-size: 19px; letter-spacing: -.01em; justify-self: start; }
.as-logo img { height: 72px; width: auto; }
.as-logo .custom-logo-link img { height: 72px; width: auto; }

.as-nav { display: flex; justify-self: center; }
.as-nav__list { display: flex; align-items: center; gap: 6px; }
.as-nav__list li { position: relative; }
.as-nav__list > li > a,
.as-nav__list > li > .as-nav__toggle {
	display: flex; align-items: center; gap: 5px;
	padding: 10px 16px; border-radius: 100px;
	font-weight: 600; font-size: 14.5px; color: var(--black);
	transition: background .25s ease;
}
.as-nav__list > li:hover > a,
.as-nav__list > li:hover > .as-nav__toggle { background: rgba(10,10,10,.06); }
.as-nav__list .sub-menu {
	position: absolute; top: calc(100% + 10px); left: 0;
	min-width: 230px; background: var(--white);
	border: 1px solid var(--line-light); border-radius: 14px;
	padding: 8px; box-shadow: 0 20px 45px rgba(0,0,0,.1);
	opacity: 0; visibility: hidden; transform: translateY(8px);
	transition: opacity .25s var(--ease), transform .25s var(--ease), visibility .25s;
}
.as-nav__list li:hover > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.as-nav__list .sub-menu a { display: block; padding: 10px 14px; border-radius: 8px; font-size: 14px; font-weight: 500; }
.as-nav__list .sub-menu a:hover { background: var(--grey-100); }

.as-header__actions { display: flex; align-items: center; gap: 10px; justify-self: end; }
.as-burger { display: none; width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--line-light); align-items: center; justify-content: center; background: transparent; }
.as-burger span, .as-burger span::before, .as-burger span::after { content: ''; display: block; width: 18px; height: 1.5px; background: var(--black); position: relative; transition: all .3s ease; }
.as-burger span::before { position: absolute; top: -6px; }
.as-burger span::after { position: absolute; top: 6px; }

@media (max-width: 960px) {
	.as-header__inner { grid-template-columns: auto auto; }
	.as-nav, .as-header__actions .as-btn { display: none; }
	.as-burger { display: flex; }
}

/* Mobile drawer */
.as-drawer {
	position: fixed; inset: 0; background: var(--black); color: var(--white);
	z-index: 900; transform: translateY(-100%); transition: transform .5s var(--ease);
	padding: 100px 32px 40px; overflow-y: auto;
}
.as-drawer.is-open { transform: translateY(0); }
.as-drawer ul { display: flex; flex-direction: column; gap: 4px; }
.as-drawer > .as-container > ul > li > a,
.as-drawer > .as-container > ul > li > .as-nav__toggle { font-size: 28px; font-family: var(--font-display); font-weight: 800; padding: 14px 0; display: block; border-bottom: 1px solid var(--line-dark); }
.as-drawer .sub-menu { display: flex; flex-direction: column; padding: 4px 0 10px 12px; }
.as-drawer .sub-menu a { font-size: 16px; padding: 8px 0; color: var(--grey-400); font-weight: 500; }
.as-drawer-close { position: absolute; top: 30px; right: 32px; width: 46px; height: 46px; border-radius: 50%; border: 1px solid var(--line-dark); background: transparent; color: var(--white); font-size: 20px; }

/* ---------- Reveal on scroll ---------- */
[data-reveal] { opacity: 0; transform: translateY(14px); transition: opacity .7s cubic-bezier(.16,1,.3,1), transform .7s cubic-bezier(.16,1,.3,1); }
[data-reveal].is-visible { opacity: 1; transform: translateY(0); }
@media (prefers-reduced-motion: reduce) {
  [data-reveal] { opacity: 1 !important; transform: none !important; transition: none !important; }
  #as-cursor, #as-cursor-ring { display: none !important; }
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation-duration: .001ms !important; transition-duration: .001ms !important; }
}
[data-reveal-delay="1"] { transition-delay: .08s; }
[data-reveal-delay="2"] { transition-delay: .16s; }
[data-reveal-delay="3"] { transition-delay: .24s; }
[data-reveal-delay="4"] { transition-delay: .32s; }

/* ---------- Hero ---------- */
.as-hero {
	position: relative; padding: 90px 0 120px; overflow: hidden;
}
.as-hero::before {
	content: ''; position: absolute; top: -30%; right: -10%; width: 60%; height: 140%;
	background: radial-gradient(circle at center, rgba(10,10,10,.05), transparent 70%);
	pointer-events: none;
}
.as-hero__grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 60px; align-items: center; }
.as-hero h1 { font-size: clamp(42px, 6vw, 84px); }
.as-hero h1 em { font-style: italic; font-weight: 400; color: var(--grey-400); }
.as-hero p.lead { font-size: 19px; color: var(--grey-600); max-width: 480px; margin-bottom: 34px; }
.as-hero__ctas { display: flex; gap: 14px; flex-wrap: wrap; }
.as-hero__visual { position: relative; border-radius: var(--radius); overflow: hidden; aspect-ratio: 4/5; }
.as-hero__visual img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); }
.as-hero__visual:hover img { transform: scale(1.05); }
/* Modificateur utilisé uniquement pour le hero de l'accueil : image affichée en entier, sans recadrage ni coins arrondis */
.as-hero__visual--full { border-radius: 0; overflow: visible; aspect-ratio: auto; }
.as-hero__visual--full img { width: 100%; height: auto; object-fit: initial; transform: none; }
.as-hero__visual--full:hover img { transform: none; }
.as-hero__badge {
	position: relative; margin-top: -32px; margin-left: 24px; z-index: 2; width: fit-content;
	background: var(--black); color: var(--white); padding: 16px 26px; border-radius: 14px;
	display: flex; align-items: center; gap: 24px; box-shadow: 0 16px 40px rgba(0,0,0,.18);
}
.as-hero__badge strong { display: block; font-size: 15px; }
.as-hero__badge span { font-size: 12px; color: var(--grey-400); }

@media (max-width: 900px) {
	.as-hero__grid { grid-template-columns: 1fr; }
	.as-hero { padding: 50px 0 70px; }
}

/* ---------- Stats ticker ---------- */
.as-ticker { background: var(--black); color: var(--white); padding: 22px 0; overflow: hidden; }
.as-ticker__track { display: flex; gap: 60px; white-space: nowrap; animation: as-scroll 26s linear infinite; width: max-content; }
.as-ticker__item { display: flex; align-items: baseline; gap: 10px; font-family: var(--font-ticker); font-weight: 600; font-size: 15px; letter-spacing: .1em; text-transform: uppercase; color: var(--grey-400); }
.as-ticker__item b { color: var(--white); font-size: 15px; font-weight: 600; }
@keyframes as-scroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* ---------- Stat grid (numbers) ---------- */
.as-stats { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; background: var(--line-light); border: 1px solid var(--line-light); border-radius: var(--radius); overflow: hidden; }
.as-stats__item { background: var(--white); padding: 34px 26px; text-align: left; }
.as-stats__item b { display: block; font-family: var(--font-display); font-size: clamp(30px,4vw,44px); font-weight: 800; }
.as-stats__item span { font-size: 13.5px; color: var(--grey-600); }
@media (max-width: 780px) { .as-stats { grid-template-columns: repeat(2,1fr); } }

/* ---------- Sections ---------- */
.as-section { padding: 110px 0; }
.as-section--tight { padding: 70px 0; }
.as-section--dark { background: var(--black); color: var(--white); }
.as-section--dark p { color: var(--grey-400); }
.as-section--dark h2, .as-section--dark h3 { color: var(--white); }
.as-section--dark .as-eyebrow, .as-cta .as-eyebrow { color: var(--grey-400); }
.as-section--dark .as-eyebrow::before, .as-cta .as-eyebrow::before { background: var(--accent); }
.as-section--soft { background: var(--off-white); }
.as-section__head { max-width: 680px; margin-bottom: 60px; }
.as-section__head.center { margin-left: auto; margin-right: auto; text-align: center; }
.as-section__head h2 { font-size: clamp(30px, 4vw, 48px); }
@media (max-width: 640px) { .as-section { padding: 64px 0; } .as-section__head { margin-bottom: 36px; } }

/* ---------- Cards / grid ---------- */
.as-grid { display: grid; gap: 26px; }
.as-grid--3 { grid-template-columns: repeat(3, 1fr); }
.as-grid--2 { grid-template-columns: repeat(2, 1fr); }
@media (max-width: 900px) { .as-grid--3, .as-grid--2 { grid-template-columns: 1fr; } }

.as-card {
	position: relative;
	border: 1px solid var(--line-light);
	border-radius: var(--radius);
	padding: 38px 32px;
	background: var(--white);
	transition: transform .5s var(--ease), box-shadow .5s var(--ease), border-color .5s ease;
}
.as-card:hover { transform: translateY(-8px); box-shadow: 0 30px 60px rgba(0,0,0,.09); border-color: transparent; }
.as-card__num { font-family: var(--font-display); font-size: 13px; color: var(--grey-400); font-weight: 700; letter-spacing: .06em; margin-bottom: 22px; display: block; }
.as-card h3 { font-size: 22px; margin-bottom: 12px; }
.as-card p { margin-bottom: 20px; }
.as-card__link { font-weight: 700; font-size: 14px; display: inline-flex; align-items: center; gap: 6px; }
.as-card__link svg { width: 14px; height: 14px; transition: transform .3s var(--ease); }
.as-card:hover .as-card__link svg { transform: translate(3px,-3px); }

.as-card--media { padding: 0; overflow: hidden; }
.as-card--media img { aspect-ratio: 4/3; object-fit: cover; width: 100%; transition: transform .8s var(--ease); }
.as-card--media:hover img { transform: scale(1.06); }
.as-card--media .as-card__body { padding: 26px 26px 30px; }

/* ---------- Values / list-with-icon ---------- */
.as-value { display: flex; gap: 18px; padding: 26px 0; border-top: 1px solid var(--line-light); }
.as-value:last-child { border-bottom: 1px solid var(--line-light); }
.as-value__mark { font-family: var(--font-display); font-weight: 800; font-size: 20px; width: 44px; flex-shrink: 0; }
.as-value h4 { font-size: 18px; margin-bottom: 6px; }

/* ---------- Timeline (Animae Solidarité) ---------- */
.as-timeline { position: relative; padding-left: 34px; border-left: 1px solid var(--line-light); display: flex; flex-direction: column; gap: 40px; }
.as-timeline__item { position: relative; }
.as-timeline__item::before { content: ''; position: absolute; left: -40px; top: 4px; width: 11px; height: 11px; border-radius: 50%; background: var(--black); border: 3px solid var(--white); box-shadow: 0 0 0 1px var(--line-light); }
.as-timeline__item h4 { font-size: 19px; margin-bottom: 8px; }

/* ---------- Badges ---------- */
.as-badge { display: inline-flex; align-items: center; gap: 6px; padding: 6px 14px; border-radius: 100px; font-size: 12px; font-weight: 700; letter-spacing: .02em; text-transform: uppercase; }
.as-badge--dot::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.as-badge--available { background: var(--grey-100); color: var(--black); }
.as-badge--urgent { background: var(--accent); color: var(--white); }
.as-badge--reserved { background: transparent; border: 1px solid var(--line-light); color: var(--grey-600); }

/* ---------- Adopt: filter bar & animal cards ---------- */
.as-filters { display: flex; gap: 10px; flex-wrap: wrap; padding: 10px; border: 1px solid var(--line-light); border-radius: 100px; background: var(--off-white); margin-bottom: 50px; }
.as-filter { padding: 12px 22px; border-radius: 100px; font-weight: 600; font-size: 14px; border: 1px solid transparent; background: transparent; color: var(--grey-600); transition: all .3s ease; }
.as-filter.is-active, .as-filter:hover { background: var(--black); color: var(--white); }
@media (max-width: 640px) { .as-filters { border-radius: 20px; } }

.as-animal { border: 1px solid var(--line-light); border-radius: var(--radius); overflow: hidden; background: var(--white); transition: transform .5s var(--ease), box-shadow .5s var(--ease); }
.as-animal:hover { transform: translateY(-8px); box-shadow: 0 30px 60px rgba(0,0,0,.1); }
.as-animal__media { position: relative; aspect-ratio: 4/5; overflow: hidden; }
.as-animal__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease); }
.as-animal:hover .as-animal__media img { transform: scale(1.07); }
.as-animal__media .as-badge { position: absolute; top: 16px; left: 16px; }
.as-animal__body { padding: 24px; }
.as-animal__body h3 { font-size: 21px; margin-bottom: 2px; }
.as-animal__body .as-animal__meta { color: var(--grey-600); font-size: 14px; margin-bottom: 16px; }
.as-animal__tags { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 18px; }
.as-animal__tags span { font-size: 11.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; padding: 5px 10px; border-radius: 100px; background: var(--grey-100); color: var(--grey-600); }
.as-animal__foot { display: flex; align-items: center; justify-content: space-between; }

/* ---------- Page J'adopte : recherche, filtres, cartes dynamiques ---------- */
.as-adopt-toolbar { display: flex; gap: 14px; align-items: center; margin-bottom: 18px; flex-wrap: wrap; }
.as-adopt-search { flex: 1; min-width: 240px; position: relative; }
.as-adopt-search input {
	width: 100%; padding: 16px 20px 16px 48px; border-radius: 100px; border: 1px solid var(--line-light);
	background: var(--off-white); font-family: var(--font-body); font-size: 15px; color: var(--black);
	transition: border-color .3s ease, background .3s ease;
}
.as-adopt-search input:focus { outline: none; border-color: var(--black); background: var(--white); }
.as-adopt-search svg { position: absolute; left: 18px; top: 50%; transform: translateY(-50%); width: 18px; height: 18px; color: var(--grey-600); pointer-events: none; }
.as-adopt-filterbtn {
	display: inline-flex; align-items: center; gap: 8px; padding: 16px 24px; border-radius: 100px;
	background: var(--black); color: var(--white); font-weight: 600; font-size: 14.5px; border: none; white-space: nowrap;
	transition: background .3s ease, transform .3s ease;
}
.as-adopt-filterbtn:hover { background: #1e1e1e; transform: translateY(-2px); }
.as-adopt-filters { display: flex; gap: 10px; flex-wrap: wrap; padding-bottom: 24px; margin-bottom: 30px; border-bottom: 1px solid var(--line-light); }
.as-adopt-select {
	position: relative; padding: 11px 34px 11px 18px; border-radius: 100px; border: 1px solid var(--line-light);
	background: var(--white); font-family: var(--font-body); font-size: 14px; color: var(--black);
	appearance: none; cursor: pointer; transition: border-color .3s ease;
}
.as-adopt-select-wrap { position: relative; }
.as-adopt-select-wrap svg { position: absolute; right: 14px; top: 50%; transform: translateY(-50%); width: 12px; height: 12px; pointer-events: none; color: var(--grey-600); }
.as-adopt-select:hover, .as-adopt-select:focus { border-color: var(--black); outline: none; }
.as-adopt-count { color: var(--grey-600); font-size: 14.5px; margin-bottom: 30px; }

.as-animal__actions { display: flex; gap: 8px; margin-top: 4px; }
.as-animal__actions .as-btn { padding: 11px 16px; font-size: 13px; flex: 1; text-align: center; justify-content: center; }

.as-adopt-empty { text-align: center; padding: 90px 20px; }
.as-adopt-empty__icon {
	width: 74px; height: 74px; border-radius: 50%; background: var(--grey-100); color: var(--grey-600);
	display: flex; align-items: center; justify-content: center; margin: 0 auto 22px;
}
.as-adopt-empty h3 { font-size: 20px; margin-bottom: 6px; }
.as-adopt-empty p { color: var(--grey-600); }

.as-contact-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px,1fr)); gap: 12px; margin: 22px 0; }
.as-contact-tile {
	display: flex; align-items: center; gap: 12px; padding: 16px 18px; border: 1px solid var(--line-light); border-radius: 16px; background: var(--white);
}
.as-contact-tile .icon { width: 38px; height: 38px; border-radius: 50%; background: var(--grey-100); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.as-contact-tile .icon svg { width: 17px; height: 17px; }
.as-contact-tile span { display: block; font-size: 12.5px; color: var(--grey-600); }
.as-contact-tile strong { display: block; font-size: 14.5px; }
@media (max-width: 640px) {
	.as-adopt-toolbar { flex-direction: column; align-items: stretch; }
	.as-adopt-filterbtn { justify-content: center; }
}

/* ---------- CTA banner ---------- */
.as-cta { background: var(--black); color: var(--white); border-radius: 28px; padding: 70px 60px; text-align: center; position: relative; overflow: hidden; }
.as-cta::before { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at 30% 20%, rgba(255,255,255,.08), transparent 60%); }
.as-cta h2 { font-size: clamp(28px, 4vw, 46px); margin-bottom: 22px; position: relative; }
.as-cta p { color: var(--grey-400); max-width: 560px; margin: 0 auto 30px; position: relative; }
.as-cta .as-btn { position: relative; }
@media (max-width: 640px) { .as-cta { padding: 50px 26px; border-radius: 20px; } }

/* ---------- Forms ---------- */
.as-form-notice { padding: 16px 20px; border-radius: 14px; font-size: 14.5px; margin-bottom: 22px; }
.as-form-notice--ok { background: #eef7ee; color: #2b5c2b; border: 1px solid #cbe6cb; }
.as-form-notice--error { background: #fbeaea; color: #7a2626; border: 1px solid #f1c6c6; }
.as-form { display: grid; gap: 18px; }
.as-form--2col { grid-template-columns: 1fr 1fr; }
.as-form label { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--grey-600); display: block; margin-bottom: 8px; }
.as-form input, .as-form select, .as-form textarea {
	width: 100%; padding: 15px 18px; border-radius: 12px; border: 1px solid var(--line-light);
	background: var(--off-white); font-family: var(--font-body); font-size: 15px; color: var(--black);
	transition: border-color .3s ease, background .3s ease;
}
.as-form input:focus, .as-form select:focus, .as-form textarea:focus { outline: none; border-color: var(--black); background: var(--white); }
.as-form .full { grid-column: 1 / -1; }
@media (max-width: 640px) { .as-form--2col { grid-template-columns: 1fr; } }

/* ---------- Contact info cards ---------- */
.as-contact-info { display: flex; flex-direction: column; gap: 4px; }
.as-contact-info a, .as-contact-info span { display: block; }

/* ---------- Partners ---------- */
.as-partners { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line-light); border: 1px solid var(--line-light); border-radius: var(--radius); overflow: hidden; }
.as-partners a { background: var(--white); display: flex; align-items: center; justify-content: center; padding: 40px 26px; }
.as-partners img { max-height: 70px; width: auto; filter: grayscale(100%); opacity: .55; transition: filter .35s ease, opacity .35s ease, transform .35s ease; }
.as-partners a:hover img { filter: grayscale(0%); opacity: 1; transform: scale(1.05); }
@media (max-width: 900px) { .as-partners { grid-template-columns: repeat(2,1fr); } }
.as-partner-fallback { font-family: var(--font-display); font-weight: 600; color: var(--grey-600); font-size: 15px; text-align: center; }

/* ---------- Footer ---------- */
.as-footer { background: transparent; color: var(--white); padding: 40px 0 34px; }
.as-footer .as-container { max-width: 100%; padding-left: 32px; padding-right: 32px; }
.as-footer__card { background: var(--black); border-radius: 32px; padding: 64px 48px 0; }
.as-footer a { color: var(--grey-400); transition: color .25s ease; }
.as-footer a:hover { color: var(--white); }
.as-footer__top--6col { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr 1fr 1fr; gap: 32px; padding-bottom: 46px; border-bottom: 1px solid var(--line-dark); }
.as-footer__brand img, .as-footer__brand .custom-logo { height: 74px; width: auto; margin-bottom: 20px; }
.as-footer__brand p { max-width: 300px; color: var(--grey-400); font-size: 14.5px; }
.as-footer__rule { display: block; width: 40px; height: 1px; background: var(--line-dark); margin-top: 26px; }
.as-footer h5 { font-family: var(--font-body); font-size: 12.5px; text-transform: uppercase; letter-spacing: .08em; color: var(--grey-400); margin-bottom: 18px; font-weight: 700; padding-bottom: 10px; border-bottom: 1px solid var(--line-dark); }
.as-footer ul { display: flex; flex-direction: column; gap: 12px; font-size: 14px; }
.as-footer__links a { display: flex; align-items: center; justify-content: space-between; gap: 6px; }
.as-footer__links svg { width: 11px !important; height: 11px !important; opacity: .5; transition: transform .25s ease, opacity .25s ease; }
.as-footer__links a:hover svg { transform: translateX(3px); opacity: 1; }
.as-footer__socials { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.as-footer__socials--grid { margin-top: 0; max-width: 190px; }
.as-footer__socials a { width: 38px; height: 38px; border: 1px solid var(--line-dark); border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.as-footer__socials a:hover { background: var(--white); color: var(--black); border-color: var(--white); }
.as-footer__socials svg { width: 15px !important; height: 15px !important; }
.as-footer__newsletter-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 40px; padding: 32px 0 48px; flex-wrap: wrap; }
.as-footer__newsletter-col { min-width: 280px; }
.as-footer__newsletter { display: flex; gap: 8px; }
.as-footer__newsletter input { flex: 1; min-width: 220px; padding: 13px 16px; border-radius: 100px; border: 1px solid var(--line-dark); background: transparent; color: var(--white); font-size: 14px; }
.as-footer__newsletter button { width: 44px; height: 44px; border-radius: 50%; background: var(--white); color: var(--black); flex-shrink: 0; display: flex; align-items: center; justify-content: center; }
.as-footer__newsletter button svg { width: 16px !important; height: 16px !important; }
.as-footer__contact-row { display: flex; flex-wrap: wrap; gap: 24px; font-size: 14px; align-content: flex-start; padding-top: 4px; flex: 1; justify-content: flex-end; }
.as-footer__contact-row a { display: flex; align-items: center; gap: 10px; white-space: nowrap; }
.as-footer__icon { width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--line-dark); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.as-footer__icon svg { width: 14px !important; height: 14px !important; }
.as-footer__bottom { display: flex; align-items: center; justify-content: center; padding-top: 26px; font-size: 13px; color: var(--grey-600); flex-wrap: wrap; gap: 16px; }
.as-footer__bottom a { color: var(--grey-600); }
.as-footer__bottom a:hover { color: var(--black); }
.as-footer__bottom ul { flex-direction: row; gap: 22px; }
@media (max-width: 1100px) { .as-footer__top--6col { grid-template-columns: 1fr 1fr 1fr; row-gap: 40px; } }
@media (max-width: 640px) { .as-footer__top--6col { grid-template-columns: 1fr; } .as-footer { padding: 24px 0 24px; } .as-footer .as-container { padding-left: 14px; padding-right: 14px; } .as-footer__card { border-radius: 22px; padding: 40px 24px 0; } .as-footer__newsletter-row, .as-footer__bottom { flex-direction: column; align-items: flex-start; } }

/* ---------- Verrou de sécurité : toutes les icônes du site ont une taille fixe ---------- */
.as-topbar__phones a svg, .as-topbar__socials svg { width: 14px !important; height: 14px !important; }
.as-adopt-search svg { width: 18px !important; height: 18px !important; }
.as-adopt-filterbtn svg { width: 16px !important; height: 16px !important; }
.as-adopt-select-wrap svg { width: 12px !important; height: 12px !important; }
.as-adopt-empty__icon svg { width: 26px !important; height: 26px !important; }
.as-contact-tile .icon svg { width: 17px !important; height: 17px !important; }
.as-btn svg { width: 16px !important; height: 16px !important; }
.as-card__link svg { width: 14px !important; height: 14px !important; }
.as-nav__toggle svg { width: 10px !important; height: 10px !important; }

/* ---------- Generic content pages (legal, sitemap, account…) ---------- */
.as-content { max-width: 820px; margin: 0 auto; }
.as-content h1 { font-size: clamp(34px, 5vw, 54px); margin-bottom: 30px; }
.as-content h2 { font-size: 26px; margin-top: 46px; }
.as-content p, .as-content li { color: var(--grey-600); font-size: 16px; }
.as-content ul { list-style: disc; padding-left: 22px; margin-bottom: 1em; }
.as-content a { text-decoration: underline; text-underline-offset: 3px; }

/* ---------- Page hero (inner pages) ---------- */
.as-page-hero { padding: 70px 0 60px; text-align: center; }
.as-page-hero h1 { font-size: clamp(38px, 6vw, 68px); }
.as-page-hero p { max-width: 620px; margin: 0 auto; font-size: 18px; }

/* ---------- Utility ---------- */
.mt-0 { margin-top: 0 !important; }
.center { text-align: center; }
.as-hairline { height: 1px; background: var(--line-light); border: none; margin: 0; }

/* ---------- WooCommerce (Boutique / Panier / Compte / Commander) ---------- */
.as-woo { padding-top: 40px; }
.woocommerce ul.products { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; list-style: none; padding: 0; margin: 0; }
.woocommerce ul.products li.product { border: 1px solid var(--line-light); border-radius: var(--radius); overflow: hidden; background: var(--white); transition: transform .5s var(--ease), box-shadow .5s var(--ease); padding-bottom: 24px; }
.woocommerce ul.products li.product:hover { transform: translateY(-8px); box-shadow: 0 30px 60px rgba(0,0,0,.09); }
.woocommerce ul.products li.product img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 0; margin-bottom: 18px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: var(--font-display); font-weight: 800; font-size: 18px; padding: 0 20px; margin-bottom: 6px; }
.woocommerce ul.products li.product .price { padding: 0 20px; color: var(--black); font-weight: 700; }
.woocommerce ul.products li.product .price del { color: var(--grey-400); font-weight: 400; }
.woocommerce ul.products li.product .button { margin: 16px 20px 0; }
@media (max-width: 900px) { .woocommerce ul.products { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 640px) { .woocommerce ul.products { grid-template-columns: 1fr; } }

.woocommerce .button, .woocommerce button.button, .woocommerce a.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce-page .button {
	display: inline-flex; align-items: center; gap: 10px; padding: 15px 28px; border-radius: 100px;
	font-weight: 700; font-size: 14px; border: 1px solid var(--black); background: var(--black); color: var(--white) !important;
	transition: transform .45s var(--ease), background .3s ease, color .3s ease;
}
.woocommerce .button:hover, .woocommerce a.button:hover, .woocommerce input.button:hover { background: var(--white); color: var(--black) !important; transform: translateY(-2px); }
.woocommerce span.onsale { background: var(--black); border-radius: 100px; font-family: var(--font-display); }

.woocommerce table.shop_table { border: 1px solid var(--line-light); border-radius: var(--radius); border-collapse: separate; overflow: hidden; }
.woocommerce table.shop_table th { background: var(--off-white); font-family: var(--font-display); text-transform: uppercase; font-size: 12px; letter-spacing: .06em; }
.woocommerce table.shop_table td, .woocommerce table.shop_table th { border-top: 1px solid var(--line-light); padding: 16px; }

.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea,
.woocommerce-page form .form-row select, .woocommerce-account .woocommerce-MyAccount-content input.input-text {
	padding: 14px 16px; border-radius: 12px; border: 1px solid var(--line-light); background: var(--off-white);
	font-family: var(--font-body);
}
.woocommerce-account .woocommerce-MyAccount-navigation ul { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; padding: 0; margin-bottom: 40px; }
.woocommerce-account .woocommerce-MyAccount-navigation li { border: 1px solid var(--line-light); border-radius: 100px; }
.woocommerce-account .woocommerce-MyAccount-navigation li a { padding: 10px 20px; display: block; font-weight: 600; font-size: 14px; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active { background: var(--black); }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { color: var(--white); }
.woocommerce-message, .woocommerce-info, .woocommerce-error { border-top-color: var(--black) !important; border-radius: var(--radius-sm); }
.woocommerce-message::before, .woocommerce-info::before { color: var(--black) !important; }

/* ---------- Legal pages (Mentions légales / Politique de confidentialité) ---------- */
.as-legal-grid { display: grid; grid-template-columns: 1fr 320px; gap: 60px; align-items: start; }
@media (max-width: 900px) { .as-legal-grid { grid-template-columns: 1fr; } .as-legal-grid aside { position: static !important; } }


/* ===== Charte typographique Animae 4.6 ===== */
body, p, a, button, input, textarea, select, label, table, th, td,
.as-nav, .as-topbar, .as-footer, .as-card p, .as-animal__meta, .as-badge {
	font-family: var(--font-body);
}
h1 { font-weight: 800; }
h2, h3, h4 { font-weight: 700; }
.as-logo, .as-card__num, .as-value__mark, .as-stats__item b,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--font-display);
}
.as-eyebrow::before { background: var(--black); }
.as-section--dark .as-eyebrow::before, .as-cta .as-eyebrow::before { background: var(--white); }
.as-adoption-title { max-width: 1100px; margin: 0 auto 40px; text-align: center; }
.as-adoption-title h1 {
	font-family: var(--font-display);
	font-size: clamp(44px, 8vw, 110px);
	font-weight: 800;
	line-height: .96;
	letter-spacing: -.055em;
	margin: 0;
}
@media (max-width: 640px) {
	.as-adoption-title h1 { font-size: clamp(42px, 14vw, 66px); letter-spacing: -.045em; }
	.as-ticker__item { font-size: 12px; letter-spacing: .08em; }
}

/* ================================================================
   Ajustements premium — version 5.2.0
   ================================================================ */

/* Le menu ne doit jamais afficher le curseur de sélection de texte. */
@media (hover: hover) and (pointer: fine) {
  .as-header,
  .as-header *,
  .as-nav,
  .as-nav *,
  .as-topbar,
  .as-topbar * {
    cursor: url('../img/curseur-empreinte-chat.png') 2 2, pointer !important;
  }

  .as-logo,
  .as-logo *,
  .as-header__actions,
  .as-header__actions * {
    cursor: url('../img/curseur-empreinte-chat.png') 2 2, pointer !important;
  }
}

/* Slogan d'accueil : esprit éditorial, ancien, doux et élégant. */
.as-hero .as-home-hero-title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-style: italic;
  font-weight: 600;
  font-size: clamp(50px, 6.6vw, 92px);
  line-height: .91;
  letter-spacing: -.035em;
  text-wrap: balance;
  max-width: 760px;
}

/* Zoom léger et maîtrisé de la photo chien/chat de l'accueil. */
.as-hero__visual--full {
  overflow: hidden;
  border-radius: 18px;
}
.as-hero__visual--full img {
  width: 108%;
  max-width: none;
  margin-left: -4%;
  transform: scale(1.035);
  transform-origin: center center;
  transition: transform 1.1s var(--ease);
}
.as-hero__visual--full:hover img {
  transform: scale(1.065);
}

/* En-tête légèrement plus compact et recentré. */
.as-header__inner {
  padding-left: 60px;
  padding-right: 60px;
  gap: 20px;
}
.as-nav__list {
  gap: 3px;
}
.as-nav__list > li > a,
.as-nav__list > li > .as-nav__toggle {
  padding-left: 14px;
  padding-right: 14px;
}
.as-header__actions {
  gap: 8px;
}

/* Newsletter : très légère remontée et un peu plus d'aisance. */
.as-footer__newsletter-row {
  margin-top: -7px;
  padding-top: 30px;
}
.as-footer__newsletter-col {
  min-width: 296px;
}
.as-footer__newsletter input {
  min-width: 236px;
}

@media (max-width: 1100px) {
  .as-header__inner {
    padding-left: 32px;
    padding-right: 32px;
  }
}

@media (max-width: 640px) {
  .as-home-hero-title {
    font-size: clamp(46px, 14vw, 68px) !important;
    line-height: .94 !important;
  }
  .as-hero__visual--full img {
    width: 106%;
    margin-left: -3%;
  }
  .as-footer__newsletter-row {
    margin-top: 0;
    padding-top: 28px;
  }
  .as-footer__newsletter-col,
  .as-footer__newsletter input {
    min-width: 0;
    width: 100%;
  }
}


/* ================================================================
   Ajustements premium — version 5.3.0
   ================================================================ */

/* Charte typographique globale verrouillée. */
body, p, a, button, input, textarea, select, label, table, .as-nav,
.as-footer, .as-card p, .as-animal__meta, .as-ticker + * {
  font-family: var(--font-body);
}
h1, h2, h3, h4, .as-section__head h2, .as-card h3, .as-page-hero h1,
.as-adoption-title h1, .as-cta h2 {
  font-family: var(--font-display);
}
.as-ticker, .as-ticker * {
  font-family: var(--font-ticker) !important;
  font-weight: 600;
  letter-spacing: .10em;
}

/* Curseur : empreinte noire sur clair, blanche sur zones sombres. */
@media (hover: hover) and (pointer: fine) {
  .as-topbar,
  .as-topbar *,
  .as-drawer,
  .as-drawer *,
  .as-footer__card,
  .as-footer__card *,
  .as-section--dark,
  .as-section--dark *,
  .as-cta,
  .as-cta * {
    cursor: url('../img/curseur-empreinte-chat-blanc.png') 2 2, pointer !important;
  }
  .as-header,
  .as-header *,
  .as-nav,
  .as-nav *,
  .as-header a,
  .as-header button,
  .as-header .as-nav__toggle,
  .as-header .menu-item,
  .as-header .menu-item * {
    cursor: url('../img/curseur-empreinte-chat.png') 2 2, pointer !important;
    user-select: none;
  }
  .as-header input,
  .as-header textarea {
    cursor: text !important;
    user-select: text;
  }
}

/* Bluesky : silhouette officielle lisible et centrée. */
.as-icon-bluesky {
  display: block;
  width: 16px !important;
  height: 16px !important;
  overflow: visible;
}
.as-topbar__socials a[aria-label="Bluesky"],
.as-footer__socials a[aria-label="Bluesky"] {
  line-height: 0;
}

/* En-tête resserré et légèrement recentré, sans le compacter excessivement. */
.as-header__inner {
  width: calc(100% - 48px);
  max-width: 1700px;
  padding: 14px 28px;
  gap: 16px;
}
.as-logo img,
.as-logo .custom-logo-link img {
  height: 68px;
}
.as-nav__list {
  gap: 1px;
}
.as-nav__list > li > a,
.as-nav__list > li > .as-nav__toggle {
  padding: 9px 12px;
  font-size: 14px;
}
.as-header__actions {
  gap: 7px;
}
.as-header__actions .as-btn {
  padding-left: 17px;
  padding-right: 17px;
}

/* Hero : zoom plus présent mais propre, sans déformer la photo. */
.as-hero__visual--full {
  border-radius: 20px;
  overflow: hidden;
}
.as-hero__visual--full .as-home-hero-image,
.as-hero__visual--full img {
  width: 114%;
  max-width: none;
  margin-left: -7%;
  transform: scale(1.045);
  transform-origin: 50% 46%;
  transition: transform 1.15s var(--ease);
}
.as-hero__visual--full:hover .as-home-hero-image,
.as-hero__visual--full:hover img {
  transform: scale(1.075);
}

/* Newsletter rapprochée de la barre, plus généreuse et mieux alignée. */
.as-footer__newsletter-row {
  margin-top: 0;
  padding: 16px 0 42px;
  align-items: center;
}
.as-footer__newsletter-col {
  flex: 0 1 430px;
  min-width: 320px;
}
.as-footer__newsletter {
  width: 100%;
  max-width: 430px;
}
.as-footer__newsletter input {
  min-width: 280px;
  min-height: 50px;
  padding: 14px 18px;
}
.as-footer__newsletter button {
  width: 50px;
  height: 50px;
}
.as-footer__contact-row {
  padding-top: 0;
  align-items: center;
}

@media (max-width: 1100px) {
  .as-header__inner {
    width: calc(100% - 24px);
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (max-width: 640px) {
  .as-header__inner {
    width: 100%;
  }
  .as-hero__visual--full .as-home-hero-image,
  .as-hero__visual--full img {
    width: 110%;
    margin-left: -5%;
    transform: scale(1.03);
  }
  .as-footer__newsletter-row {
    padding-top: 14px;
  }
  .as-footer__newsletter-col,
  .as-footer__newsletter,
  .as-footer__newsletter input {
    width: 100%;
    min-width: 0;
    max-width: none;
  }
}


/* ================================================================
   Ajustements premium — version 5.4.0
   ================================================================ */

/* Barre supérieure entièrement transparente au repos, sans bordure ni trace. */
.as-topbar {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: var(--grey-600);
  max-height: 48px;
  position: relative;
  z-index: 510;
}
.as-topbar__inner {
  width: calc(100% - 180px);
  max-width: 1510px;
  margin: 0 auto;
  padding: 8px 0;
}
.as-topbar__phones,
.as-topbar__socials {
  gap: 12px;
}
.as-topbar__phones a,
.as-topbar__socials a {
  color: var(--grey-600);
}
.as-topbar__socials a {
  width: 30px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
}
.as-topbar__socials svg,
.as-topbar__socials .as-icon-bluesky {
  width: 19px !important;
  height: 19px !important;
}
.as-topbar__socials a[aria-label="TikTok"] svg {
  width: 21px !important;
  height: 21px !important;
}
.as-topbar__phones a svg {
  width: 15px;
  height: 15px;
}

/* En-tête invisible au départ, puis verre propre pendant le défilement. */
.as-header:not(.is-scrolled) {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.as-header.is-scrolled {
  background: rgba(255,255,255,.92);
  -webkit-backdrop-filter: blur(18px) saturate(170%);
  backdrop-filter: blur(18px) saturate(170%);
}

/* Alignement de la barre supérieure sur le logo et les boutons. */
.as-header__inner {
  width: calc(100% - 120px);
  max-width: 1580px;
  padding-left: 0;
  padding-right: 0;
}
.as-logo { transform: translateX(10px); }
.as-header__actions { transform: translateX(-10px); }

/* Zoom plus affirmé de la photo d'accueil. */
.as-hero__visual--full .as-home-hero-image,
.as-hero__visual--full img {
  width: 132%;
  margin-left: -16%;
  transform: scale(1.075);
  transform-origin: 51% 47%;
}
.as-hero__visual--full:hover .as-home-hero-image,
.as-hero__visual--full:hover img {
  transform: scale(1.105);
}

/* Images de contenu : aucun espace vide si une image distante manque. */
.as-animal__media,
.as-card__media,
.as-hero__visual {
  background: var(--grey-100);
}
.as-animal__media img,
.as-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (max-width: 1200px) {
  .as-topbar__inner { width: calc(100% - 80px); }
  .as-header__inner { width: calc(100% - 56px); }
  .as-logo, .as-header__actions { transform: none; }
}
@media (max-width: 640px) {
  .as-topbar__inner { width: calc(100% - 32px); }
  .as-topbar__socials { gap: 6px; }
  .as-topbar__socials a { width: 28px; height: 28px; }
  .as-header__inner { width: calc(100% - 32px); }
  .as-hero__visual--full .as-home-hero-image,
  .as-hero__visual--full img {
    width: 122%;
    margin-left: -11%;
    transform: scale(1.055);
  }
}


/* ================================================================
   Correctifs urgents — version 5.5.0
   ================================================================ */

/* En-tête : aucune trace au sommet, puis fond lisible au défilement. */
.as-topbar,
.as-header:not(.is-scrolled) {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.as-header { transition: background .32s ease, box-shadow .32s ease, border-color .32s ease; }
.as-header.is-scrolled {
  background: rgba(255,255,255,.96) !important;
  border-bottom: 1px solid rgba(0,0,0,.07) !important;
  box-shadow: 0 12px 32px rgba(0,0,0,.06) !important;
  -webkit-backdrop-filter: blur(18px) saturate(160%) !important;
  backdrop-filter: blur(18px) saturate(160%) !important;
}

/* Barre supérieure alignée sur le menu : téléphones près du logo, réseaux près des boutons. */
.as-topbar__inner,
.as-header__inner {
  width: min(1460px, calc(100% - 72px));
  max-width: 1460px;
  margin-inline: auto;
}
.as-topbar__inner { padding: 8px 12px; }
.as-topbar__phones { margin-left: 2px; }
.as-topbar__socials { margin-left: auto; margin-right: 4px; gap: 8px; }
.as-topbar__socials a { width: 34px; height: 34px; }
.as-topbar__socials svg,
.as-topbar__socials .as-icon-bluesky { width: 21px !important; height: 21px !important; }
.as-topbar__socials a[aria-label="TikTok"] svg { width: 24px !important; height: 24px !important; }
.as-topbar__socials a[aria-label="Bluesky"] svg { width: 22px !important; height: 22px !important; }

/* Menu légèrement resserré sans déséquilibrer le logo ni les deux boutons. */
.as-header__inner { padding: 13px 12px; gap: 13px; }
.as-logo { transform: translateX(5px); }
.as-nav__list > li > a,
.as-nav__list > li > .as-nav__toggle { padding-inline: 10px; }
.as-header__actions { transform: translateX(-5px); gap: 6px; }
.as-header__actions .as-btn { padding-inline: 16px; }

/* Photo d'accueil : zoom net, cadrage fixe et aucune déformation. */
.as-hero__visual--full {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: 22px;
  overflow: hidden;
  background: #ececec;
}
.as-hero__visual--full .as-home-hero-image,
.as-hero__visual--full > img {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  max-width: none;
  margin: 0 !important;
  object-fit: cover !important;
  object-position: 52% 46%;
  transform: scale(1.30) !important;
  transform-origin: 52% 46%;
  transition: transform 1s var(--ease);
}
.as-hero__visual--full:hover .as-home-hero-image,
.as-hero__visual--full:hover > img { transform: scale(1.34) !important; }

/* Toutes les zones d'image conservent une hauteur visible pendant le chargement. */
.as-hero__visual,
.as-animal__media,
.as-card__media { min-height: 180px; background: #ececec; }
.as-hero__visual img,
.as-animal__media img,
.as-card__media img { display: block; opacity: 1; visibility: visible; }

/* Newsletter réellement remontée vers la séparation. */
.as-footer__newsletter-row {
  margin-top: -12px;
  padding-top: 0;
  padding-bottom: 46px;
}
.as-footer__newsletter-col { flex-basis: 460px; }
.as-footer__newsletter { max-width: 460px; }

@media (max-width: 1200px) {
  .as-topbar__inner,
  .as-header__inner { width: calc(100% - 40px); }
  .as-logo, .as-header__actions { transform: none; }
}
@media (max-width: 760px) {
  .as-topbar__inner,
  .as-header__inner { width: calc(100% - 24px); }
  .as-topbar__socials a { width: 30px; height: 30px; }
  .as-hero__visual--full .as-home-hero-image,
  .as-hero__visual--full > img { transform: scale(1.18) !important; }
}

/* ================================================================
   Médias vérifiés et mise en page — version 5.6.0
   ================================================================ */

/* Grande image d’accueil : zoom volontaire et cadrage centré sur les animaux. */
.as-hero__visual--full {
  aspect-ratio: 1.34 / 1;
  min-height: 500px;
}
.as-hero__visual--full .as-home-hero-image,
.as-hero__visual--full > img {
  object-position: 51% 53% !important;
  transform: scale(1.48) !important;
}
.as-hero__visual--full:hover .as-home-hero-image,
.as-hero__visual--full:hover > img {
  transform: scale(1.53) !important;
}

/* Logo blanc fourni : grande présence, sans utiliser une photo à sa place. */
.as-footer__brand .as-footer-logo {
  display: block;
  width: min(100%, 310px) !important;
  height: auto !important;
  max-height: none !important;
  object-fit: contain;
  object-position: left center;
  margin: 0 0 24px !important;
}

/* Illustration de don affichée en grand et sans découpe. */
.page-template-page-dons .as-hero__visual,
body.page-id-0 .as-donation-main-image { min-height: 0; }
.as-donation-main-image {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
  background: #fff;
  padding: 12px;
}

/* Photos d’adoption : hauteur homogène et chargement visible. */
.as-animal__media { min-height: 340px; aspect-ratio: 4 / 5; }
.as-animal__media img { object-fit: cover !important; object-position: center !important; }

@media (max-width: 900px) {
  .as-hero__visual--full { min-height: 420px; }
  .as-hero__visual--full .as-home-hero-image,
  .as-hero__visual--full > img { transform: scale(1.34) !important; }
  .as-footer__brand .as-footer-logo { width: min(100%, 260px) !important; }
}
@media (max-width: 640px) {
  .as-hero__visual--full { min-height: 330px; }
  .as-hero__visual--full .as-home-hero-image,
  .as-hero__visual--full > img { transform: scale(1.25) !important; }
}

/* Correctif photo d’accueil garanti — version 5.7.0 */
.as-home-photo-guaranteed {
  display:block !important; position:relative !important;
  min-height:540px !important; aspect-ratio:1.46/1 !important;
  overflow:hidden !important; border-radius:24px !important;
  background-color:#e9e5df !important; background-repeat:no-repeat !important;
  background-size:cover !important; background-position:50% 54% !important;
}
.as-home-photo-guaranteed > .as-home-hero-image {
  display:block !important; position:absolute !important; inset:0 !important;
  width:100% !important; height:100% !important; max-width:none !important;
  opacity:1 !important; visibility:visible !important;
  object-fit:cover !important; object-position:50% 54% !important;
  transform:scale(1.30) !important; transform-origin:center !important;
}
.as-home-photo-guaranteed:hover > .as-home-hero-image { transform:scale(1.34) !important; }
@media (max-width:900px){
 .as-home-photo-guaranteed{min-height:430px !important}
 .as-home-photo-guaranteed>.as-home-hero-image{transform:scale(1.20) !important}
}
@media (max-width:640px){
 .as-home-photo-guaranteed{min-height:330px !important;aspect-ratio:4/3 !important}
 .as-home-photo-guaranteed>.as-home-hero-image{transform:scale(1.12) !important}
}


/* Correctif définitif photo d’accueil — 5.8.0 */
.as-home-hero-media { opacity:1 !important; visibility:visible !important; transform:none !important; display:block !important; }
.as-home-photo-guaranteed {
  display:block !important; min-height:560px !important; width:100% !important;
  background-image:url('../img/accueil-chien-chat-final.webp?v=580') !important;
  background-size:cover !important; background-position:center 54% !important;
  background-repeat:no-repeat !important; overflow:hidden !important; border-radius:26px !important;
}
.as-home-photo-guaranteed > .as-home-hero-image {
  display:block !important; opacity:1 !important; visibility:visible !important;
  position:absolute !important; inset:0 !important; width:100% !important; height:100% !important;
  object-fit:cover !important; object-position:center 54% !important; transform:scale(1.32) !important;
}
@media (max-width:900px){.as-home-photo-guaranteed{min-height:440px !important}.as-home-photo-guaranteed>.as-home-hero-image{transform:scale(1.22) !important}}
@media (max-width:640px){.as-home-photo-guaranteed{min-height:340px !important}.as-home-photo-guaranteed>.as-home-hero-image{transform:scale(1.14) !important}}

/* =========================================================
   Finitions accueil — version 5.9.0
   ========================================================= */

/* Photo exacte preview-1.webp, affichée avec un cadrage généreux. */
.as-home-photo-guaranteed {
  min-height: 580px !important;
  background-image: url('../img/preview-1.webp?v=590') !important;
  background-position: 50% 52% !important;
}
.as-home-photo-guaranteed > .as-home-hero-image {
  object-position: 50% 52% !important;
  transform: scale(1.30) !important;
  transition: transform .9s cubic-bezier(.2,.7,.2,1) !important;
}
.as-home-photo-guaranteed:hover > .as-home-hero-image {
  transform: scale(1.34) !important;
}

/* Bouton d'action plus compact et flèche animée avec douceur. */
.as-hero__ctas .as-btn:first-child {
  padding: 13px 19px !important;
  min-height: 46px;
  gap: 9px;
}
.as-hero__ctas .as-btn:first-child svg {
  width: 17px;
  height: 17px;
  transition: transform .28s ease;
}
.as-hero__ctas .as-btn:first-child:hover svg {
  transform: translate(3px, -3px);
}

/* Barre d'annonce entièrement noire. */
.as-ticker {
  background: #000 !important;
  color: #fff !important;
  border: 0 !important;
}
.as-ticker__item,
.as-ticker__item b {
  color: #fff !important;
}

/* Header légèrement plus fin et transitions plus propres. */
.as-header,
.as-nav,
.site-header {
  transition: background-color .35s ease, box-shadow .35s ease, backdrop-filter .35s ease !important;
}
.as-header.is-scrolled,
.site-header.is-scrolled,
body.scrolled .as-header,
body.scrolled .site-header {
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

@media (max-width: 900px) {
  .as-home-photo-guaranteed { min-height: 450px !important; }
  .as-home-photo-guaranteed > .as-home-hero-image { transform: scale(1.20) !important; }
}
@media (max-width: 640px) {
  .as-home-photo-guaranteed { min-height: 350px !important; }
  .as-home-photo-guaranteed > .as-home-hero-image { transform: scale(1.12) !important; }
  .as-hero__ctas .as-btn:first-child { padding: 12px 16px !important; }
}


/* =========================================================
   Accueil & contact — version 6.0.0
   ========================================================= */

/* Slogan sur deux lignes rapprochées, plus éditorial et équilibré. */
.as-home-hero-title {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
  line-height: .91 !important;
  letter-spacing: -.045em;
}
.as-home-hero-title > span { display: block; }
.as-home-hero-title > span + span { margin-top: .05em; }

/* Petite barre supérieure en noir franc, sans gris ni transparence. */
.as-topbar,
.as-topbar.is-hidden {
  background: #000 !important;
  color: #fff !important;
  border: 0 !important;
  box-shadow: none !important;
}
.as-topbar__phones a,
.as-topbar__socials a,
.as-topbar__phones svg,
.as-topbar__socials svg {
  color: #fff !important;
  fill: currentColor;
}

/* Nouvelle page Contact. */
.as-contact-hero { padding-bottom: 54px; }
.as-contact-hero p { max-width: 650px; margin-inline: auto; }
.as-contact-main { padding-top: 24px; }
.as-contact-intro-grid {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(440px, 1.08fr);
  gap: clamp(42px, 7vw, 104px);
  align-items: center;
}
.as-contact-copy h2 {
  font-size: clamp(34px, 4.8vw, 62px);
  max-width: 650px;
  margin: 12px 0 20px;
  letter-spacing: -.045em;
}
.as-contact-copy > p { max-width: 620px; color: var(--grey-600); }
.as-contact-details {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 34px;
  border-top: 1px solid rgba(0,0,0,.22);
  border-bottom: 1px solid rgba(0,0,0,.22);
}
.as-contact-details > div { padding: 20px 22px 20px 0; }
.as-contact-details > div:nth-child(2) { padding-left: 22px; border-left: 1px solid rgba(0,0,0,.16); }
.as-contact-details > .full { grid-column: 1 / -1; border-top: 1px solid rgba(0,0,0,.16); }
.as-contact-details span {
  display: block;
  margin-bottom: 8px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .11em;
  text-transform: uppercase;
  color: var(--grey-500);
}
.as-contact-details a,
.as-contact-details strong { display: block; font-size: 15px; font-weight: 600; color: var(--black); }
.as-contact-details a + a { margin-top: 4px; }
.as-contact-map-wrap {
  position: relative;
  min-height: 500px;
  overflow: hidden;
  border-radius: 28px;
  background: #ececec;
  box-shadow: 0 24px 70px rgba(0,0,0,.10);
}
.as-contact-map { display: block; width: 100%; height: 500px; border: 0; filter: grayscale(1) contrast(.92); }
.as-contact-map-link {
  position: absolute;
  right: 18px;
  bottom: 18px;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 13px 17px;
  border-radius: 999px;
  background: #000;
  color: #fff !important;
  font-size: 13px;
  font-weight: 600;
  box-shadow: 0 10px 30px rgba(0,0,0,.22);
}
.as-contact-form-card {
  margin-top: clamp(70px, 10vw, 130px);
  padding: clamp(28px, 5vw, 64px);
  border-radius: 30px;
  background: #f5f5f3;
}
.as-contact-form-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 32px;
  padding-bottom: 32px;
  margin-bottom: 32px;
  border-bottom: 1px solid rgba(0,0,0,.16);
}
.as-contact-form-head h2 { font-size: clamp(30px, 4vw, 52px); margin: 10px 0 0; letter-spacing: -.04em; }
.as-contact-form-head > p { max-width: 310px; margin: 0; color: var(--grey-600); }
.as-contact-form { gap: 24px 20px; }
.as-contact-form label { margin-bottom: 9px; font-size: 12px; font-weight: 600; }
.as-contact-form input,
.as-contact-form textarea {
  min-height: 54px;
  border: 1px solid rgba(0,0,0,.28) !important;
  border-radius: 12px !important;
  background: #fff !important;
  padding: 14px 16px !important;
  transition: border-color .25s ease, box-shadow .25s ease;
}
.as-contact-form textarea { min-height: 180px; resize: vertical; }
.as-contact-form input:focus,
.as-contact-form textarea:focus { border-color: #000 !important; box-shadow: 0 0 0 3px rgba(0,0,0,.07); outline: none; }
.as-contact-form .as-btn { min-width: 195px; justify-content: center; }

@media (max-width: 980px) {
  .as-contact-intro-grid { grid-template-columns: 1fr; }
  .as-contact-map-wrap, .as-contact-map { min-height: 430px; height: 430px; }
}
@media (max-width: 680px) {
  .as-home-hero-title { line-height: .96 !important; }
  .as-contact-details { grid-template-columns: 1fr; }
  .as-contact-details > div:nth-child(2) { padding-left: 0; border-left: 0; border-top: 1px solid rgba(0,0,0,.16); }
  .as-contact-form-head { display: block; }
  .as-contact-form-head > p { margin-top: 16px; }
  .as-contact-map-wrap, .as-contact-map { min-height: 350px; height: 350px; }
}

/* =========================================================
   Finitions accueil, barre noire et contact — version 6.1.0
   ========================================================= */

/* La barre avec les téléphones et les réseaux reste noire en permanence. */
body .as-topbar,
body .as-topbar.is-hidden,
body.home .as-topbar,
body:not(.home) .as-topbar {
  background: #000 !important;
  background-color: #000 !important;
  color: #fff !important;
  opacity: 1 !important;
  visibility: visible !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
body .as-topbar__phones a,
body .as-topbar__socials a,
body .as-topbar__phones svg,
body .as-topbar__socials svg {
  color: #fff !important;
  fill: currentColor;
}

/* Photo presque identique, seulement un tout petit peu réduite pour libérer le titre. */
.as-home-photo-guaranteed > .as-home-hero-image,
.as-hero__visual--full .as-home-hero-image {
  transform: scale(1.27) !important;
  object-position: 52% 47% !important;
}
.as-home-photo-guaranteed:hover > .as-home-hero-image,
.as-hero__visual--full:hover .as-home-hero-image {
  transform: scale(1.29) !important;
}
.as-home-hero-title {
  align-items: flex-start !important;
  text-align: left !important;
  line-height: .92 !important;
}
.as-home-hero-title > span {
  display: block !important;
  white-space: nowrap;
}
.as-home-hero-title > span + span { margin-top: .015em !important; }

/* Contact : coordonnées, carte pleine largeur, puis formulaire compact. */
.as-contact-layout { max-width: 1240px; }
.as-contact-coordinates {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(520px, 1.15fr);
  gap: clamp(38px, 7vw, 96px);
  align-items: end;
  padding: clamp(28px, 4vw, 52px);
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 28px;
  background: #fff;
}
.as-contact-coordinates__intro h2 {
  margin: 12px 0 16px;
  font-size: clamp(34px, 4.6vw, 58px);
  letter-spacing: -.045em;
}
.as-contact-coordinates__intro p { max-width: 580px; color: var(--grey-600); }
.as-contact-coordinate-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid rgba(0,0,0,.18);
  border-bottom: 1px solid rgba(0,0,0,.18);
}
.as-contact-coordinate-item { padding: 22px 20px; }
.as-contact-coordinate-item + .as-contact-coordinate-item { border-left: 1px solid rgba(0,0,0,.14); }
.as-contact-coordinate-item span {
  display: block;
  margin-bottom: 10px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .11em;
  text-transform: uppercase;
  color: var(--grey-500);
}
.as-contact-coordinate-item a,
.as-contact-coordinate-item strong {
  display: block;
  color: #000;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.55;
  word-break: break-word;
}
.as-contact-map-section { margin-top: clamp(56px, 8vw, 96px); }
.as-contact-map-heading {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 24px;
  margin-bottom: 22px;
}
.as-contact-map-heading h2 {
  margin: 10px 0 0;
  font-size: clamp(32px, 4.6vw, 56px);
  letter-spacing: -.04em;
}
.as-contact-map-wrap {
  min-height: 540px !important;
  height: 540px !important;
  border-radius: 30px !important;
  overflow: hidden;
  background: #ececec;
  box-shadow: 0 28px 78px rgba(0,0,0,.10);
}
.as-contact-map {
  width: 100%;
  height: 100% !important;
  min-height: 540px !important;
  border: 0;
  filter: none !important;
}
.as-contact-form-card {
  max-width: 980px;
  margin: clamp(56px, 8vw, 96px) auto 0 !important;
  padding: clamp(28px, 4.2vw, 52px) !important;
  border-radius: 28px !important;
  background: #f5f5f3;
}
.as-contact-form textarea { min-height: 150px !important; }

@media (max-width: 980px) {
  .as-contact-coordinates { grid-template-columns: 1fr; }
  .as-contact-coordinate-list { grid-template-columns: 1fr; }
  .as-contact-coordinate-item + .as-contact-coordinate-item { border-left: 0; border-top: 1px solid rgba(0,0,0,.14); }
  .as-contact-map-wrap, .as-contact-map { min-height: 430px !important; height: 430px !important; }
}
@media (max-width: 680px) {
  .as-home-hero-title > span { white-space: normal; }
  .as-contact-map-heading { align-items: flex-start; flex-direction: column; }
  .as-contact-map-wrap, .as-contact-map { min-height: 350px !important; height: 350px !important; }
}

/* =========================================================
   Animae 6.2.0 — corrections finales accueil, topbar et contact
   ========================================================= */

/* Barre supérieure noire, sans aucune transparence ni état masqué. */
html body .as-topbar,
html body .as-topbar.is-hidden,
html body.home .as-topbar,
html body.home .as-topbar.is-hidden {
  display: block !important;
  max-height: 52px !important;
  min-height: 38px !important;
  opacity: 1 !important;
  visibility: visible !important;
  background: #000 !important;
  background-color: #000 !important;
  color: #fff !important;
  border: 0 !important;
  box-shadow: none !important;
  transform: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
html body .as-topbar__inner { background: #000 !important; }
html body .as-topbar a,
html body .as-topbar svg { color: #fff !important; }

/* Photo légèrement moins grande pour donner plus d'air au texte, sans perdre le cadrage. */
.as-home-photo-guaranteed > .as-home-hero-image,
.as-hero__visual--full .as-home-hero-image {
  transform: scale(1.22) !important;
  object-position: 52% 48% !important;
}
.as-home-photo-guaranteed:hover > .as-home-hero-image,
.as-hero__visual--full:hover .as-home-hero-image {
  transform: scale(1.24) !important;
}
.as-home-hero-title {
  line-height: .9 !important;
  letter-spacing: -.055em !important;
}
.as-home-hero-title > span + span { margin-top: 0 !important; }

/* Page Contact propre : coordonnées + carte, formulaire dessous. */
.as-contact-page--clean .as-contact-hero { padding-bottom: 36px; }
.as-contact-page--clean .as-contact-main { padding-top: 18px; }
.as-contact-coordinates-clean {
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(480px, 1.18fr);
  gap: clamp(34px, 6vw, 84px);
  align-items: stretch;
}
.as-contact-copy-clean {
  padding: clamp(28px, 4vw, 54px) 0;
}
.as-contact-copy-clean h2 {
  margin: 12px 0 18px;
  font-size: clamp(38px, 5vw, 66px);
  letter-spacing: -.055em;
}
.as-contact-copy-clean > p {
  max-width: 600px;
  margin-bottom: 36px;
  color: var(--grey-600);
  font-size: 16px;
  line-height: 1.75;
}
.as-contact-list-clean {
  border-top: 1px solid rgba(0,0,0,.18);
}
.as-contact-line-clean {
  display: grid;
  grid-template-columns: 118px minmax(0, 1fr);
  gap: 22px;
  padding: 19px 0;
  border-bottom: 1px solid rgba(0,0,0,.18);
}
.as-contact-line-clean > span {
  color: var(--grey-500);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.as-contact-line-clean a,
.as-contact-line-clean strong,
.as-contact-line-clean div {
  color: #000;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.55;
}
.as-contact-separator { margin: 0 8px; color: var(--grey-400); }
.as-contact-socials-clean { display: flex; gap: 10px; align-items: center; }
.as-contact-socials-clean a {
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(0,0,0,.18);
  border-radius: 50%;
  font-size: 13px;
  font-weight: 600;
  transition: .25s ease;
}
.as-contact-socials-clean a:hover { background: #000; color: #fff; transform: translateY(-2px); }
.as-contact-map-card-clean {
  min-height: 560px;
  overflow: hidden;
  border-radius: 28px;
  background: #eee;
  box-shadow: 0 24px 70px rgba(0,0,0,.10);
}
.as-contact-map-card-clean iframe {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 560px;
  border: 0;
}
.as-contact-form-card-clean {
  margin-top: clamp(58px, 8vw, 96px);
  padding: clamp(28px, 4.5vw, 58px);
  border-radius: 28px;
  background: #f4f4f1;
}
.as-contact-form-intro-clean { max-width: 620px; margin-bottom: 34px; }
.as-contact-form-intro-clean h2 {
  margin: 10px 0 12px;
  font-size: clamp(34px, 4.5vw, 54px);
  letter-spacing: -.045em;
}
.as-contact-form-intro-clean p { color: var(--grey-600); }
.as-contact-form-card-clean input,
.as-contact-form-card-clean textarea {
  background: #fff !important;
  border: 1px solid rgba(0,0,0,.22) !important;
  border-radius: 10px !important;
  padding: 14px 15px !important;
}
.as-contact-form-card-clean textarea { min-height: 160px; }

@media (max-width: 980px) {
  .as-contact-coordinates-clean { grid-template-columns: 1fr; }
  .as-contact-map-card-clean,
  .as-contact-map-card-clean iframe { min-height: 440px; }
}
@media (max-width: 640px) {
  .as-contact-line-clean { grid-template-columns: 1fr; gap: 8px; }
  .as-contact-separator { display: block; height: 0; overflow: hidden; }
  .as-contact-line-clean a { display: block; }
  .as-contact-map-card-clean,
  .as-contact-map-card-clean iframe { min-height: 360px; border-radius: 20px; }
}


/* =========================================================
   Animae 6.3.0 — modifications réellement forcées
   ========================================================= */
html body div.as-topbar,
html body div.as-topbar.is-hidden {
  display: block !important;
  position: relative !important;
  max-height: none !important;
  min-height: 40px !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  background: #000 !important;
  background-color: #000 !important;
  color: #fff !important;
}
html body div.as-topbar .as-topbar__inner,
html body div.as-topbar .as-container {
  background: #000 !important;
  color: #fff !important;
}
html body div.as-topbar a,
html body div.as-topbar svg {
  color: #fff !important;
  fill: currentColor !important;
}

/* Réduction très légère de la photo d'accueil uniquement. */
html body.home .as-home-photo-guaranteed > img.as-home-hero-image {
  transform: scale(1.17) !important;
  object-position: 52% 49% !important;
}
html body.home .as-home-photo-guaranteed:hover > img.as-home-hero-image {
  transform: scale(1.19) !important;
}
html body.home .as-home-hero-title {
  line-height: .94 !important;
  letter-spacing: -.045em !important;
}
html body.home .as-home-hero-title > span + span { margin-top: .02em !important; }

/* Mise en page Contact forcée et indépendante d'Elementor. */
body.page-contact .elementor,
body.page-contact-2 .elementor { display: none !important; }
.as-contact-page--clean { background:#fff; }
.as-contact-page--clean .as-contact-layout { max-width:1180px; }
.as-contact-page--clean .as-contact-coordinates-clean {
  display:grid !important;
  grid-template-columns:minmax(0,.86fr) minmax(500px,1.14fr) !important;
  gap:clamp(36px,6vw,82px) !important;
  align-items:center !important;
}
.as-contact-page--clean .as-contact-map-card-clean {
  overflow:hidden !important;
  border-radius:28px !important;
  min-height:500px !important;
  box-shadow:0 24px 70px rgba(0,0,0,.11) !important;
  background:#eee !important;
}
.as-contact-page--clean .as-contact-map-card-clean iframe {
  display:block !important;
  width:100% !important;
  height:500px !important;
  border:0 !important;
}
.as-contact-page--clean .as-contact-form-card-clean {
  margin-top:72px !important;
  padding:clamp(28px,4.5vw,56px) !important;
  border-radius:28px !important;
  background:#f5f5f3 !important;
}
@media(max-width:980px){
  .as-contact-page--clean .as-contact-coordinates-clean{grid-template-columns:1fr !important;}
  .as-contact-page--clean .as-contact-map-card-clean,
  .as-contact-page--clean .as-contact-map-card-clean iframe{min-height:420px !important;height:420px !important;}
}

/* ==========================================================
   CONTACT PREMIUM — VERSION 6.5.0
   ========================================================== */
.as-contact-v65 { background:#f5f4f0; color:#0b0b0b; }
.as-contact-v65__hero { padding:clamp(130px,16vw,210px) 0 clamp(70px,9vw,120px); background:#fff; text-align:center; border-bottom:1px solid rgba(0,0,0,.08); }
.as-contact-v65__hero-inner { max-width:900px; }
.as-contact-v65__hero h1 { margin:14px 0 20px; font-family:"Plus Jakarta Sans",sans-serif; font-size:clamp(3.2rem,7.8vw,7.5rem); line-height:.95; letter-spacing:-.065em; font-weight:800; }
.as-contact-v65__hero p { max-width:670px; margin:0 auto; font-size:clamp(1rem,1.5vw,1.18rem); line-height:1.8; color:#5d5d5d; }
.as-contact-v65__content { padding:clamp(70px,9vw,130px) 0; }
.as-contact-v65__grid { display:grid; grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr); gap:24px; align-items:stretch; }
.as-contact-v65__details,.as-contact-v65__map,.as-contact-v65__form-card { background:#fff; border:1px solid rgba(0,0,0,.08); border-radius:30px; box-shadow:0 22px 70px rgba(0,0,0,.055); }
.as-contact-v65__details { padding:clamp(32px,4.5vw,62px); }
.as-contact-v65__details h2,.as-contact-v65__form-heading h2 { margin:12px 0 18px; font-family:"Plus Jakarta Sans",sans-serif; font-weight:800; letter-spacing:-.045em; font-size:clamp(2.15rem,4.2vw,4.3rem); line-height:1.02; }
.as-contact-v65__intro { max-width:570px; color:#656565; line-height:1.8; }
.as-contact-v65__items { display:grid; gap:12px; margin-top:36px; }
.as-contact-v65__item { display:grid; grid-template-columns:48px 1fr; gap:16px; padding:18px 0; border-top:1px solid rgba(0,0,0,.09); align-items:start; }
.as-contact-v65__icon { display:grid; place-items:center; width:46px; height:46px; border-radius:50%; background:#0a0a0a; color:#fff; }
.as-contact-v65__icon svg { width:20px; height:20px; }
.as-contact-v65__item>div { display:flex; flex-direction:column; align-items:flex-start; gap:4px; min-width:0; }
.as-contact-v65__label { display:block; margin-bottom:4px; color:#888; font-size:.74rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.as-contact-v65__item a,.as-contact-v65__item address { color:#111; font-style:normal; font-size:clamp(.96rem,1.35vw,1.08rem); font-weight:500; overflow-wrap:anywhere; }
.as-contact-v65__item a:hover { opacity:.55; }
.as-contact-v65__follow { margin-top:30px; }
.as-contact-v65__socials { display:flex; flex-wrap:wrap; gap:9px; margin-top:12px; }
.as-contact-v65__socials a { display:grid; place-items:center; width:46px; height:46px; border:1px solid rgba(0,0,0,.14); border-radius:50%; color:#0b0b0b; background:#fff; transition:transform .25s ease,background .25s ease,color .25s ease,border-color .25s ease; }
.as-contact-v65__socials a:hover { transform:translateY(-3px); background:#0b0b0b; color:#fff; border-color:#0b0b0b; }
.as-contact-v65__socials svg { width:20px; height:20px; display:block; }
.as-contact-v65__socials a[aria-label="Instagram"] svg { width:21px; height:21px; }
.as-contact-v65__map { padding:12px; display:flex; flex-direction:column; min-height:650px; }
.as-contact-v65__map-frame { position:relative; flex:1; min-height:550px; overflow:hidden; border-radius:22px; background:#ddd; }
.as-contact-v65__map-frame iframe { position:absolute; inset:0; width:100%; height:100%; border:0; filter:saturate(.82) contrast(.96); }
.as-contact-v65__route { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:12px 4px 0; padding:18px 20px; border-radius:16px; background:#0a0a0a; color:#fff; font-weight:600; }
.as-contact-v65__route span { font-size:1.35rem; transition:transform .25s ease; }
.as-contact-v65__route:hover span { transform:translateX(5px); }
.as-contact-v65__form-card { margin-top:24px; padding:clamp(34px,5.5vw,76px); }
.as-contact-v65__form-heading { display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,.7fr); column-gap:70px; align-items:end; margin-bottom:46px; }
.as-contact-v65__form-heading .as-eyebrow { grid-column:1/-1; }
.as-contact-v65__form-heading h2 { margin-bottom:0; }
.as-contact-v65__form-heading p { color:#666; line-height:1.8; margin:0 0 8px; }
.as-contact-v65__form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.as-contact-v65__form>div { display:flex; flex-direction:column; gap:9px; }
.as-contact-v65__form label { font-size:.78rem; font-weight:600; letter-spacing:.07em; text-transform:uppercase; }
.as-contact-v65__form input,.as-contact-v65__form textarea { width:100%; border:1px solid rgba(0,0,0,.14); border-radius:15px; background:#f8f7f4; color:#111; padding:16px 18px; font:500 1rem/1.4 "Poppins",sans-serif; outline:none; transition:border-color .25s ease,box-shadow .25s ease,background .25s ease; }
.as-contact-v65__form textarea { resize:vertical; min-height:175px; }
.as-contact-v65__form input:focus,.as-contact-v65__form textarea:focus { border-color:#111; background:#fff; box-shadow:0 0 0 4px rgba(0,0,0,.06); }
.as-contact-v65__full { grid-column:1/-1; }
.as-contact-v65__submit { min-height:58px; align-self:flex-start; padding-inline:26px; }
.as-contact-v65__submit span { transition:transform .25s ease; }
.as-contact-v65__submit:hover span { transform:translateX(5px); }

/* Icône Instagram officielle et cohérente dans l’ensemble du thème. */
.as-topbar__socials a[aria-label="Instagram"] svg,
.as-footer__socials a[aria-label="Instagram"] svg { width:20px !important; height:20px !important; stroke-width:2 !important; }

@media (max-width:900px) {
  .as-contact-v65__grid { grid-template-columns:1fr; }
  .as-contact-v65__map { min-height:520px; }
  .as-contact-v65__map-frame { min-height:420px; }
  .as-contact-v65__form-heading { grid-template-columns:1fr; gap:18px; }
}
@media (max-width:640px) {
  .as-contact-v65__hero { padding-top:115px; }
  .as-contact-v65__details,.as-contact-v65__map,.as-contact-v65__form-card { border-radius:22px; }
  .as-contact-v65__details,.as-contact-v65__form-card { padding:28px 20px; }
  .as-contact-v65__form { grid-template-columns:1fr; gap:16px; }
  .as-contact-v65__full { grid-column:auto; }
  .as-contact-v65__map { min-height:450px; }
  .as-contact-v65__map-frame { min-height:360px; }
}

/* ================================================================
   Instagram officiel + optimisation mobile — version 6.6.0
   ================================================================ */
.as-icon-instagram {
  display: block;
  width: 21px !important;
  height: 21px !important;
  flex: 0 0 auto;
  fill: currentColor !important;
  stroke: none !important;
}
.as-topbar__socials a[aria-label="Instagram"],
.as-footer__socials a[aria-label="Instagram"],
.as-contact-v65__socials a[aria-label="Instagram"] {
  line-height: 0;
}
.as-topbar__socials a[aria-label="Instagram"]:hover .as-icon-instagram,
.as-footer__socials a[aria-label="Instagram"]:hover .as-icon-instagram,
.as-contact-v65__socials a[aria-label="Instagram"]:hover .as-icon-instagram {
  transform: scale(1.07);
}
.as-icon-instagram { transition: transform .22s ease; }

@media (max-width: 900px) {
  .as-topbar__inner {
    min-height: 48px;
    gap: 12px;
  }
  .as-topbar__phones {
    display: flex;
    gap: 12px;
    min-width: 0;
  }
  .as-topbar__phones a {
    font-size: .75rem;
    white-space: nowrap;
  }
  .as-topbar__socials {
    flex: 0 0 auto;
    gap: 5px;
  }
  .as-topbar__socials a {
    width: 31px;
    height: 31px;
  }
  .as-topbar__socials svg,
  .as-topbar__socials .as-icon-instagram,
  .as-topbar__socials .as-icon-bluesky {
    width: 18px !important;
    height: 18px !important;
  }
}

@media (max-width: 640px) {
  .as-topbar__inner {
    width: calc(100% - 20px) !important;
    padding: 7px 0 !important;
    justify-content: center;
  }
  .as-topbar__phones {
    display: none !important;
  }
  .as-topbar__socials {
    width: 100%;
    justify-content: center;
    margin: 0 !important;
    gap: 8px;
  }
  .as-topbar__socials a {
    width: 34px;
    height: 34px;
    border-radius: 50%;
  }
  .as-topbar__socials svg,
  .as-topbar__socials .as-icon-instagram,
  .as-topbar__socials .as-icon-bluesky {
    width: 20px !important;
    height: 20px !important;
  }
  .as-header__inner {
    min-height: 68px;
    padding-block: 10px !important;
  }
  .as-logo img,
  .custom-logo {
    max-height: 42px;
    width: auto;
  }
  .as-header__actions .as-btn {
    display: none;
  }
  .as-burger {
    display: inline-flex;
  }
  .as-contact-v65__hero {
    padding-inline: 16px;
  }
  .as-contact-v65__grid {
    gap: 16px;
  }
  .as-contact-v65__details,
  .as-contact-v65__form-card {
    padding: 26px 18px !important;
  }
  .as-contact-v65__details h2,
  .as-contact-v65__form-heading h2 {
    font-size: clamp(2rem, 11vw, 3rem);
    letter-spacing: -.04em;
  }
  .as-contact-v65__item {
    grid-template-columns: 42px minmax(0,1fr);
    gap: 12px;
  }
  .as-contact-v65__icon {
    width: 42px;
    height: 42px;
  }
  .as-contact-v65__socials {
    gap: 8px;
  }
  .as-contact-v65__socials a {
    width: 43px;
    height: 43px;
  }
  .as-contact-v65__map {
    min-height: 390px !important;
    padding: 8px;
  }
  .as-contact-v65__map-frame {
    min-height: 305px !important;
    border-radius: 18px;
  }
  .as-contact-v65__route {
    padding: 15px 16px;
    border-radius: 14px;
    font-size: .9rem;
  }
  .as-contact-v65__form input,
  .as-contact-v65__form textarea {
    font-size: 16px;
  }
  .as-contact-v65__submit {
    width: 100%;
    justify-content: center;
  }
  .as-footer__socials--grid {
    max-width: none;
  }
  .as-footer__socials a {
    width: 42px;
    height: 42px;
  }
  .as-footer__socials svg,
  .as-footer__socials .as-icon-instagram {
    width: 19px !important;
    height: 19px !important;
  }
}

/* =========================================================
   PAGE DON — VERSION 6.7.0
   Compatible page WordPress et formulaire GiveWP
   ========================================================= */
.as-donation-page {
  background: #f5f4f0;
  color: #090909;
  overflow: hidden;
}
.as-donation-page__hero {
  position: relative;
  padding: clamp(76px, 8vw, 128px) 0 clamp(86px, 9vw, 144px);
}
.as-donation-page__hero::before {
  content: "";
  position: absolute;
  width: 560px;
  height: 560px;
  left: -320px;
  top: 8%;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 50%;
  pointer-events: none;
}
.as-donation-page__grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(420px, 1.12fr);
  gap: clamp(54px, 7vw, 112px);
  align-items: center;
}
.as-donation-page__story {
  max-width: 610px;
}
.as-donation-page__illustration-wrap {
  position: relative;
  width: clamp(210px, 24vw, 310px);
  aspect-ratio: 1;
  margin: 0 0 38px;
  border-radius: 50%;
}
.as-donation-page__illustration-wrap::before,
.as-donation-page__illustration-wrap::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}
.as-donation-page__illustration-wrap::before {
  inset: -11px;
  border: 1px solid rgba(0,0,0,.16);
}
.as-donation-page__illustration-wrap::after {
  width: 58px;
  height: 58px;
  right: -15px;
  bottom: 12px;
  background: #000;
  box-shadow: 0 16px 35px rgba(0,0,0,.18);
}
.as-donation-page__illustration {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
  box-shadow: 0 26px 70px rgba(0,0,0,.14);
}
.as-donation-page__eyebrow,
.as-donation-page__form-heading > span {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
  font-family: "Poppins", sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.as-donation-page__eyebrow::before {
  content: "";
  width: 38px;
  height: 2px;
  background: #000;
}
.as-donation-page h1 {
  max-width: 700px;
  margin: 0 0 28px;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: clamp(46px, 5.4vw, 78px);
  line-height: .98;
  letter-spacing: -.055em;
  font-weight: 800;
}
.as-donation-page__copy {
  max-width: 590px;
  font-family: "Poppins", sans-serif;
}
.as-donation-page__copy p {
  margin: 0 0 18px;
  color: #383838;
  font-size: clamp(15px, 1.25vw, 17px);
  line-height: 1.82;
}
.as-donation-page__benefits {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 34px;
}
.as-donation-page__benefits > div {
  min-height: 110px;
  padding: 18px 15px;
  border-top: 1px solid rgba(0,0,0,.24);
}
.as-donation-page__benefits span {
  display: block;
  margin-bottom: 20px;
  font: 600 11px/1 "Space Grotesk", sans-serif;
  letter-spacing: .1em;
}
.as-donation-page__benefits p {
  margin: 0;
  font: 600 13px/1.45 "Poppins", sans-serif;
}
.as-donation-page__form-card {
  position: relative;
  min-width: 0;
  padding: clamp(30px, 4.2vw, 58px);
  border-radius: 30px;
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 35px 90px rgba(0,0,0,.11);
}
.as-donation-page__form-card::before {
  content: "";
  position: absolute;
  top: 22px;
  right: 22px;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: #000;
  box-shadow: -19px 0 0 rgba(0,0,0,.25), -38px 0 0 rgba(0,0,0,.1);
}
.as-donation-page__form-heading {
  margin-bottom: 30px;
  padding-right: 55px;
}
.as-donation-page__form-heading > span {
  margin-bottom: 12px;
  color: #595959;
}
.as-donation-page__form-heading h2 {
  margin: 0 0 12px;
  font: 800 clamp(32px, 4vw, 52px)/1.04 "Plus Jakarta Sans", sans-serif;
  letter-spacing: -.045em;
}
.as-donation-page__form-heading p {
  max-width: 500px;
  margin: 0;
  color: #646464;
  font: 400 14px/1.7 "Poppins", sans-serif;
}
.as-donation-page__form-content {
  min-height: 320px;
}
/* GiveWP classique et blocs de formulaire */
.as-donation-page__form-content .give-form-wrap,
.as-donation-page__form-content form[id*="give-form"],
.as-donation-page__form-content .givewp-donation-form,
.as-donation-page__form-content .givewp-form,
.as-donation-page__form-content iframe {
  width: 100% !important;
  max-width: none !important;
}
.as-donation-page__form-content iframe {
  min-height: 570px;
  border: 0;
  border-radius: 18px;
}
.as-donation-page__form-content input:not([type="checkbox"]):not([type="radio"]),
.as-donation-page__form-content select,
.as-donation-page__form-content textarea {
  min-height: 52px;
  border: 1px solid #d8d8d8 !important;
  border-radius: 13px !important;
  background: #fafafa !important;
  font-family: "Poppins", sans-serif !important;
}
.as-donation-page__form-content button,
.as-donation-page__form-content input[type="submit"],
.as-donation-page__form-content .give-submit,
.as-donation-page__form-content .give-btn {
  min-height: 52px;
  padding: 14px 24px !important;
  border: 1px solid #000 !important;
  border-radius: 999px !important;
  background: #000 !important;
  color: #fff !important;
  font: 600 14px/1 "Poppins", sans-serif !important;
  transition: transform .25s ease, background .25s ease, color .25s ease !important;
}
.as-donation-page__form-content button:hover,
.as-donation-page__form-content input[type="submit"]:hover,
.as-donation-page__form-content .give-submit:hover,
.as-donation-page__form-content .give-btn:hover {
  transform: translateY(-2px);
  background: #fff !important;
  color: #000 !important;
}
.as-donation-page__secure-note {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 26px;
  padding-top: 18px;
  border-top: 1px solid rgba(0,0,0,.1);
  color: #686868;
  font: 500 11px/1.5 "Poppins", sans-serif;
  letter-spacing: .02em;
}
.as-donation-page__secure-note span {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #000;
  box-shadow: 0 0 0 5px rgba(0,0,0,.08);
}
.as-donation-page__closing {
  padding: clamp(45px, 6vw, 82px) 0;
  background: #000;
  color: #fff;
  text-align: center;
}
.as-donation-page__closing p {
  max-width: 1050px;
  margin: 0 auto;
  font: 800 clamp(30px, 5vw, 68px)/1.03 "Plus Jakarta Sans", sans-serif;
  letter-spacing: -.05em;
}
@media (max-width: 1024px) {
  .as-donation-page__grid {
    grid-template-columns: 1fr;
    gap: 58px;
  }
  .as-donation-page__story {
    max-width: 760px;
  }
  .as-donation-page__illustration-wrap {
    width: 250px;
  }
}
@media (max-width: 680px) {
  .as-donation-page__hero {
    padding: 54px 0 74px;
  }
  .as-donation-page__grid {
    gap: 42px;
  }
  .as-donation-page__illustration-wrap {
    width: 190px;
    margin-bottom: 30px;
  }
  .as-donation-page h1 {
    font-size: clamp(42px, 13vw, 58px);
  }
  .as-donation-page__benefits {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .as-donation-page__benefits > div {
    display: grid;
    grid-template-columns: 40px 1fr;
    align-items: center;
    min-height: 72px;
    padding: 14px 0;
  }
  .as-donation-page__benefits span {
    margin: 0;
  }
  .as-donation-page__form-card {
    padding: 28px 18px;
    border-radius: 22px;
  }
  .as-donation-page__form-heading {
    padding-right: 35px;
  }
  .as-donation-page__form-content iframe {
    min-height: 640px;
  }
}

/* ---------- Partners simple — v7.0 ---------- */
.as-partners-hero .as-container {
  max-width: 860px;
  text-align: center;
}
.as-partners-hero h1 {
  max-width: 720px;
  margin: 0 auto;
}
.as-partners-section {
  padding-top: 8px;
  padding-bottom: clamp(72px, 8vw, 120px);
}
.as-partners-simple {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}
.as-partner-logo-card {
  min-height: 230px;
  padding: 38px 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: var(--white);
  border: 1px solid var(--line-light);
  border-radius: 24px;
  box-shadow: 0 12px 38px rgba(0,0,0,.045);
  text-decoration: none;
  cursor: pointer;
  transition: transform .35s cubic-bezier(.2,.75,.25,1), box-shadow .35s ease, border-color .35s ease;
}
.as-partner-logo-card:hover {
  transform: translateY(-6px);
  border-color: rgba(0,0,0,.14);
  box-shadow: 0 22px 54px rgba(0,0,0,.085);
}
.as-partner-logo-card__img {
  display: block;
  width: auto;
  height: auto;
  max-width: 78%;
  max-height: 118px;
  object-fit: contain;
  filter: grayscale(100%);
  opacity: .66;
  transition: filter .35s ease, opacity .35s ease, transform .35s ease;
}
.as-partner-logo-card__img--large {
  max-height: 148px;
  max-width: 84%;
}
.as-partner-logo-card:hover .as-partner-logo-card__img {
  filter: grayscale(0%);
  opacity: 1;
  transform: scale(1.045);
}
@media (max-width: 760px) {
  .as-partners-simple {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .as-partner-logo-card {
    min-height: 175px;
    padding: 28px 24px;
    border-radius: 20px;
  }
  .as-partner-logo-card__img {
    max-width: 76%;
    max-height: 100px;
  }
  .as-partner-logo-card__img--large {
    max-width: 80%;
    max-height: 125px;
  }
}
@media (max-width: 480px) {
  .as-partners-section {
    padding-top: 0;
  }
  .as-partner-logo-card {
    min-height: 150px;
    padding: 22px 18px;
  }
  .as-partner-logo-card__img {
    max-width: 82%;
    max-height: 92px;
  }
  .as-partner-logo-card__img--large {
    max-width: 86%;
    max-height: 112px;
  }
}


/* Version 7.1 — logo légèrement agrandi, sans modifier la structure du menu. */
@media (min-width: 1101px) {
  .as-logo img,
  .as-logo .custom-logo-link img { height: 82px !important; max-height: 82px !important; }
}

/* ================================================================
   Version 7.2 — modernisation Hello Elementor, esprit grande fondation
   ================================================================ */
:root{
  --as-ink:#090909;
  --as-paper:#fff;
  --as-soft:#f5f4f1;
  --as-line:rgba(9,9,9,.12);
  --as-radius:28px;
  --as-shadow:0 22px 70px rgba(0,0,0,.08);
}
html{scroll-behavior:smooth;}
body{background:var(--as-paper);color:var(--as-ink);}
.as-container{width:min(1320px,calc(100% - 48px));}
.as-header{border-bottom:1px solid transparent;transition:background .35s ease,border-color .35s ease,box-shadow .35s ease,transform .35s ease;}
.as-header.is-scrolled{background:rgba(255,255,255,.94);backdrop-filter:blur(18px);border-color:var(--as-line);box-shadow:0 10px 35px rgba(0,0,0,.06);}
.as-header__inner{max-width:1420px;padding-inline:30px;}
.as-nav__list{gap:clamp(18px,2.2vw,36px);}
.as-nav__item>a{font-weight:600;letter-spacing:-.01em;position:relative;}
.as-nav__item>a:after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;background:#000;transition:right .25s ease;}
.as-nav__item>a:hover:after,.as-nav__item.current-menu-item>a:after{right:0;}
.as-btn{min-height:48px;border-radius:999px;padding-inline:24px;box-shadow:none;transition:transform .25s ease,box-shadow .25s ease,background .25s ease;}
.as-btn:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(0,0,0,.14);}
.as-hero{padding-top:clamp(64px,8vw,118px);padding-bottom:clamp(70px,8vw,120px);}
.as-hero__grid{grid-template-columns:minmax(0,.92fr) minmax(460px,1.08fr);gap:clamp(52px,7vw,110px);}
.as-home-hero-title{font-size:clamp(54px,7.3vw,112px)!important;line-height:.88!important;letter-spacing:-.065em!important;max-width:820px;}
.as-home-hero-title span{display:block;}
.as-hero .lead{font-size:clamp(17px,1.25vw,21px);line-height:1.75;max-width:650px;color:rgba(9,9,9,.7);}
.as-home-hero-media{position:relative;}
.as-hero__visual{border-radius:var(--as-radius);box-shadow:var(--as-shadow);overflow:hidden;}
.as-home-photo-guaranteed{min-height:clamp(500px,62vw,780px);}
.as-home-hero-image{transform:scale(1.09);transition:transform 1.1s cubic-bezier(.2,.75,.25,1);}
.as-home-hero-media:hover .as-home-hero-image{transform:scale(1.135);}
.as-hero__badge{border-radius:22px;background:rgba(255,255,255,.94);backdrop-filter:blur(16px);box-shadow:0 18px 45px rgba(0,0,0,.12);}
.as-ticker{background:#000;color:#fff;border:0;}
.as-section{padding-block:clamp(88px,10vw,150px);}
.as-section--soft{background:var(--as-soft);}
.as-section__head h2{font-size:clamp(40px,5.4vw,76px);line-height:1.02;letter-spacing:-.05em;max-width:980px;}
.as-card{background:#fff;border:1px solid var(--as-line);border-radius:26px;padding:clamp(28px,3vw,46px);box-shadow:0 8px 30px rgba(0,0,0,.035);transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;}
.as-card:hover{transform:translateY(-9px);box-shadow:var(--as-shadow);border-color:rgba(0,0,0,.22);}
.as-card__num{font-size:13px;letter-spacing:.16em;font-weight:700;}
.as-card h3{font-size:clamp(25px,2.2vw,34px);letter-spacing:-.035em;}
.as-stats{border-radius:30px;background:#0a0a0a;color:#fff;overflow:hidden;}
.as-stats__item{padding:clamp(30px,4vw,54px);border-color:rgba(255,255,255,.13)!important;}
.as-stats__item b{font-size:clamp(42px,5vw,74px);letter-spacing:-.05em;}
.as-cta{border-radius:32px;padding:clamp(42px,6vw,90px);background:#050505;overflow:hidden;position:relative;}
.as-cta:before{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(255,255,255,.14);border-radius:50%;right:-120px;top:-220px;}
.as-page-hero{background:#fff;padding-top:clamp(60px,7vw,100px);padding-bottom:clamp(54px,7vw,90px);}
.as-page-hero h1{font-size:clamp(48px,7vw,96px);letter-spacing:-.06em;line-height:.94;}
.as-page-content,.elementor-location-single,.elementor-page .site-main{background:#fff;}
/* Hello Elementor: remove inherited max-widths while preserving our containers */
body.elementor-page .site-main,body.elementor-page .page-content{max-width:none!important;width:100%;padding:0;}
.elementor-section.elementor-section-boxed>.elementor-container{max-width:1320px;}
.elementor-widget-heading h1,.elementor-widget-heading h2,.elementor-widget-heading h3,.elementor-heading-title{font-family:"Plus Jakarta Sans",sans-serif;letter-spacing:-.04em;}
.elementor-button{font-family:"Poppins",sans-serif;border-radius:999px!important;min-height:48px;display:inline-flex;align-items:center;justify-content:center;}
@media(max-width:1100px){
  .as-hero__grid{grid-template-columns:1fr;}
  .as-home-hero-media{max-width:820px;}
  .as-home-photo-guaranteed{min-height:620px;}
}
@media(max-width:760px){
  .as-container{width:min(100% - 28px,1320px);}
  .as-header__inner{padding-inline:14px;}
  .as-hero{padding-top:48px;}
  .as-home-hero-title{font-size:clamp(46px,14vw,72px)!important;}
  .as-home-photo-guaranteed{min-height:470px;border-radius:22px;}
  .as-hero__badge{position:relative!important;inset:auto!important;margin:-34px 16px 0;}
  .as-section{padding-block:76px;}
  .as-section__head h2{font-size:clamp(36px,11vw,56px);}
  .as-card{border-radius:22px;}
}

/* ========================================================================== */
/* ANIMAE 7.3 — refonte éditoriale claire, compatible Hello Elementor         */
/* ========================================================================== */
:root{
  --accent:#0a0a0a;
  --accent-dark:#000;
  --as-ink:#0a0a0a;
  --as-muted:#6b6b67;
  --as-cream:#f5f4ef;
  --as-line:rgba(10,10,10,.12);
}
body, .elementor, .elementor-kit-5, .elementor-kit-6{background:#fff!important;color:var(--as-ink)!important;}
body, p, li, input, textarea, select, button, .elementor-widget-text-editor{font-family:"Poppins",sans-serif!important;}
h1,h2,h3,h4,h5,h6,.elementor-heading-title{font-family:"Plus Jakarta Sans",sans-serif!important;color:var(--as-ink);}
.elementor a:not(.elementor-button){color:inherit;}
.elementor-button,.wp-element-button,.wp-block-button__link{background:#0a0a0a!important;color:#fff!important;border:1px solid #0a0a0a!important;border-radius:999px!important;box-shadow:none!important;}
.elementor-button:hover,.wp-element-button:hover,.wp-block-button__link:hover{background:#fff!important;color:#0a0a0a!important;}

/* Header plus institutionnel et net */
.as-header{background:#fff;border-bottom:1px solid var(--as-line);}
.as-header.is-scrolled{background:rgba(255,255,255,.96);box-shadow:0 8px 28px rgba(0,0,0,.045);}
.as-header__inner{max-width:1440px;padding:13px 38px;}
.as-logo img,.as-logo .custom-logo-link img{height:78px;max-width:190px;object-fit:contain;}
.as-nav__list>li>a,.as-nav__list>li>.as-nav__toggle{font-size:14px;padding:11px 14px;border-radius:0;}
.as-nav__list>li:hover>a,.as-nav__list>li:hover>.as-nav__toggle{background:transparent;box-shadow:inset 0 -2px 0 #0a0a0a;}
.as-nav__list .sub-menu{border-radius:4px;border:0;border-top:3px solid #0a0a0a;box-shadow:0 20px 55px rgba(0,0,0,.13);}
.as-btn{border-radius:4px;padding:14px 23px;text-transform:uppercase;letter-spacing:.055em;font-size:12.5px;}

/* Neutralisation définitive des anciennes touches roses / colorées */
[style*="color: #f"],[style*="color:#f"],[style*="background: #f0"],[style*="background:#f0"]{--as-local-color:#0a0a0a;}
.as-eyebrow,.as-kicker{color:#0a0a0a!important;}

/* Blog éditorial */
.as-blog-modern{background:#fff;}
.as-blog-hero{padding:clamp(44px,6vw,86px) 0 clamp(56px,8vw,112px);border-bottom:1px solid var(--as-line);}
.as-blog-hero>.as-container{display:grid;grid-template-columns:minmax(0,.88fr) minmax(420px,1.12fr);gap:clamp(42px,7vw,110px);align-items:center;}
.as-kicker{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin-bottom:20px;}
.as-kicker--light{color:#fff!important;opacity:.72;}
.as-blog-hero h1{font-size:clamp(3.6rem,7vw,7.4rem);line-height:.88;letter-spacing:-.075em;margin:0 0 28px;}
.as-blog-hero p{max-width:580px;font-size:clamp(1rem,1.5vw,1.18rem);color:var(--as-muted);}
.as-blog-hero__image{min-height:560px;overflow:hidden;border-radius:2px;}
.as-blog-hero__image img{width:100%;height:100%;min-height:560px;object-fit:cover;object-position:center;transition:transform 1s cubic-bezier(.16,1,.3,1);}
.as-blog-hero__image:hover img{transform:scale(1.035);}
.as-blog-listing{padding:clamp(72px,9vw,140px) 0;}
.as-section-heading{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:clamp(38px,5vw,72px);}
.as-section-heading h2{font-size:clamp(2.3rem,4.8vw,4.7rem);letter-spacing:-.055em;margin:0;}
.as-section-heading>p{max-width:470px;margin:0;color:var(--as-muted);}
.as-blog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(34px,5vw,72px) clamp(24px,4vw,52px);}
.as-blog-card{min-width:0;}
.as-blog-card__media{display:block;aspect-ratio:16/10;overflow:hidden;background:#efefeb;border-radius:2px;}
.as-blog-card__media img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .75s cubic-bezier(.16,1,.3,1),filter .5s ease;}
.as-blog-card:hover .as-blog-card__media img{transform:scale(1.045);filter:saturate(1.04);}
.as-blog-card__content{padding:24px 2px 0;}
.as-blog-card__meta{display:flex;justify-content:space-between;gap:18px;color:#777;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin-bottom:15px;}
.as-blog-card h2{font-size:clamp(1.45rem,2.5vw,2.25rem);letter-spacing:-.035em;line-height:1.08;margin:0 0 14px;}
.as-blog-card p{font-size:15px;color:var(--as-muted);margin-bottom:18px;}
.as-text-link{display:inline-flex;gap:9px;align-items:center;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid #0a0a0a;padding-bottom:4px;}
.as-text-link span{transition:transform .25s ease}.as-text-link:hover span{transform:translate(3px,-3px)}
.as-pagination{margin-top:75px}.as-pagination .nav-links{display:flex;gap:8px;justify-content:center;align-items:center}.as-pagination .page-numbers{display:grid;place-items:center;min-width:44px;height:44px;border:1px solid var(--as-line);padding:0 14px}.as-pagination .current{background:#0a0a0a;color:#fff;border-color:#0a0a0a}

/* Footer entièrement reconstruit : noir, aéré, sans bloc beige */
.as-footer-cta{background:#0a0a0a;color:#fff;padding:clamp(64px,8vw,110px) 0;border-bottom:1px solid rgba(255,255,255,.16);}
.as-footer-cta>.as-container{display:flex;justify-content:space-between;align-items:end;gap:40px;}
.as-footer-cta h2{color:#fff;font-size:clamp(2.5rem,5.8vw,5.8rem);line-height:.96;letter-spacing:-.065em;max-width:900px;margin:0;}
.as-footer-modern{background:#0a0a0a!important;color:#fff!important;padding:0!important;margin:0!important;border-radius:0!important;}
.as-footer-modern>.as-container{padding-top:clamp(65px,8vw,115px);}
.as-footer-modern__main{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.35fr);gap:clamp(55px,8vw,120px);padding-bottom:72px;}
.as-footer-modern__logo{width:min(290px,100%);height:auto;max-height:120px;object-fit:contain;object-position:left center;margin-bottom:25px;}
.as-footer-modern__brand p{color:rgba(255,255,255,.62);max-width:390px;font-size:15px;}
.as-footer-modern__socials{display:flex;gap:9px;margin-top:28px;flex-wrap:wrap;}
.as-footer-modern__socials a{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.24);border-radius:50%;color:#fff;font-weight:700;font-size:14px;transition:.25s ease;}
.as-footer-modern__socials a:hover{background:#fff;color:#000;border-color:#fff;transform:translateY(-2px);}
.as-footer-modern__socials svg{width:17px;height:17px;}
.as-footer-modern__nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;}
.as-footer-modern h3{font-family:"Poppins",sans-serif!important;color:#fff;font-size:12px;text-transform:uppercase;letter-spacing:.12em;margin:0 0 22px;}
.as-footer-modern__nav a,.as-footer-modern__nav span{display:block;color:rgba(255,255,255,.68);font-size:14px;margin:0 0 12px;line-height:1.5;transition:color .2s ease;}
.as-footer-modern__nav a:hover{color:#fff;}
.as-footer-modern__newsletter{border-top:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16);padding:38px 0;display:flex;align-items:center;justify-content:space-between;gap:40px;}
.as-footer-modern__newsletter h3{font-size:18px;text-transform:none;letter-spacing:-.02em;margin-bottom:5px;}
.as-footer-modern__newsletter p{margin:0;color:rgba(255,255,255,.58);font-size:14px;}
.as-footer-modern__newsletter form{display:flex;width:min(570px,100%);border-bottom:1px solid rgba(255,255,255,.5);}
.as-footer-modern__newsletter input{flex:1;background:transparent!important;border:0!important;color:#fff!important;padding:15px 3px!important;box-shadow:none!important;border-radius:0!important;}
.as-footer-modern__newsletter input::placeholder{color:rgba(255,255,255,.48);}
.as-footer-modern__newsletter button{background:transparent;color:#fff;border:0;padding:15px 3px 15px 22px;font-weight:700;}
.as-footer-modern__bottom{display:flex;justify-content:space-between;gap:30px;padding:25px 0 34px;color:rgba(255,255,255,.45);font-size:12px;}
.as-footer-modern__bottom div{display:flex;gap:24px;flex-wrap:wrap}.as-footer-modern__bottom a:hover{color:#fff;}

@media(max-width:960px){
 .as-blog-hero>.as-container{grid-template-columns:1fr}.as-blog-hero__image,.as-blog-hero__image img{min-height:430px}.as-blog-hero__image{order:-1}
 .as-footer-modern__main{grid-template-columns:1fr}.as-footer-modern__nav{grid-template-columns:repeat(3,1fr)}
 .as-footer-cta>.as-container,.as-footer-modern__newsletter{align-items:flex-start;flex-direction:column}
 .as-header__inner{padding:10px 22px}.as-logo img,.as-logo .custom-logo-link img{height:64px}
}
@media(max-width:680px){
 .as-blog-hero{padding-top:28px}.as-blog-hero__image,.as-blog-hero__image img{min-height:330px}.as-blog-hero h1{font-size:3.65rem}.as-blog-grid{grid-template-columns:1fr}.as-section-heading{display:block}.as-section-heading>p{margin-top:18px}.as-blog-card__meta{align-items:flex-start;flex-direction:column;gap:4px}
 .as-footer-modern__nav{grid-template-columns:1fr 1fr}.as-footer-modern__nav>div:last-child{grid-column:1/-1}.as-footer-modern__bottom{flex-direction:column}.as-footer-modern__newsletter form{width:100%}.as-footer-cta .as-btn{width:100%;justify-content:center}
}

/* ========================================================================== */
/* ANIMAE 7.4 — espacements éditoriaux et pied de page unique                 */
/* ========================================================================== */

/* Un seul pied de page sur tout le site : le footer du thème reste la source
   unique, même lorsqu'une page a été construite avec Elementor. */
.elementor-location-footer,
#site-footer:not(.as-footer-modern),
.site-footer:not(.as-footer-modern),
footer.elementor-element:not(.as-footer-modern) {
  display: none !important;
}
.as-footer-modern,
.as-footer-cta {
  display: block !important;
  width: 100%;
}

/* Empêche le contenu de venir se coller au footer. */
main,
.site-main,
.elementor-location-single,
.elementor-location-archive {
  position: relative;
}
main > :last-child,
.site-main > :last-child,
.elementor-location-single > :last-child,
.elementor-location-archive > :last-child {
  margin-bottom: 0 !important;
}

/* Espacement cohérent entre les images et le texte dans les contenus WordPress. */
.as-content img,
.entry-content img,
.page-content img,
.elementor-widget-text-editor img {
  display: block;
  max-width: 100%;
  height: auto;
}
.as-content figure,
.entry-content figure,
.page-content figure,
.wp-block-image,
.wp-block-gallery,
.elementor-widget-image,
.elementor-widget-image-box {
  margin-top: clamp(28px, 4vw, 56px);
  margin-bottom: clamp(28px, 4vw, 56px);
}
.as-content figure:first-child,
.entry-content figure:first-child,
.page-content figure:first-child,
.elementor-widget-wrap > .elementor-widget-image:first-child {
  margin-top: 0;
}
.as-content figure + h2,
.as-content figure + h3,
.entry-content figure + h2,
.entry-content figure + h3,
.page-content figure + h2,
.page-content figure + h3,
.wp-block-image + h2,
.wp-block-image + h3 {
  margin-top: clamp(44px, 6vw, 78px);
}
.as-content p + figure,
.entry-content p + figure,
.page-content p + figure,
.as-content ul + figure,
.entry-content ul + figure,
.page-content ul + figure {
  margin-top: clamp(34px, 5vw, 64px);
}
.as-content figure + p,
.entry-content figure + p,
.page-content figure + p,
.wp-block-image + p {
  margin-top: clamp(24px, 3.2vw, 42px);
}

/* Elementor : crée une respiration nette entre colonnes image et texte. */
.elementor-section .elementor-container,
.e-con.e-flex,
.e-con.e-grid {
  --as-content-gap: clamp(30px, 5vw, 72px);
}
.elementor-section .elementor-column-gap-default > .elementor-column > .elementor-element-populated,
.elementor-section .elementor-column-gap-narrow > .elementor-column > .elementor-element-populated,
.elementor-section .elementor-column-gap-extended > .elementor-column > .elementor-element-populated,
.elementor-section .elementor-column-gap-wide > .elementor-column > .elementor-element-populated,
.elementor-section .elementor-column-gap-wider > .elementor-column > .elementor-element-populated {
  padding-left: calc(var(--as-content-gap) / 2);
  padding-right: calc(var(--as-content-gap) / 2);
}
.elementor-widget-image + .elementor-widget-heading,
.elementor-widget-image + .elementor-widget-text-editor,
.elementor-widget-image-box + .elementor-widget-text-editor,
.elementor-widget-heading + .elementor-widget-image {
  margin-top: clamp(24px, 3vw, 42px) !important;
}

/* Les compositions horizontales image/texte conservent un vrai espace. */
.as-split,
.as-hero__grid,
.as-donation-layout,
.as-contact-grid,
.as-about-grid,
.as-services-grid {
  column-gap: clamp(42px, 6vw, 90px) !important;
  row-gap: clamp(34px, 5vw, 64px) !important;
}

/* Images éditoriales plus propres. */
.as-content figure img,
.entry-content figure img,
.page-content figure img,
.wp-block-image img,
.elementor-widget-image img {
  border-radius: clamp(16px, 2vw, 28px);
}
.as-content figcaption,
.entry-content figcaption,
.page-content figcaption,
.wp-element-caption {
  margin-top: 12px;
  color: #73736f;
  font-size: 13px;
  line-height: 1.55;
}

/* Le footer garde exactement la même largeur, les mêmes espacements et le même
   fond sur toutes les pages, y compris les modèles Elementor. */
.as-footer-cta,
.as-footer-modern {
  clear: both;
  position: relative;
  z-index: 2;
}
.as-footer-cta > .as-container,
.as-footer-modern > .as-container {
  width: min(1320px, calc(100% - 48px));
  margin-inline: auto;
}

@media (max-width: 760px) {
  .elementor-section .elementor-column > .elementor-element-populated {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
  .as-content figure,
  .entry-content figure,
  .page-content figure,
  .wp-block-image,
  .elementor-widget-image,
  .elementor-widget-image-box {
    margin-top: 26px;
    margin-bottom: 30px;
  }
  .as-split,
  .as-hero__grid,
  .as-donation-layout,
  .as-contact-grid,
  .as-about-grid,
  .as-services-grid {
    row-gap: 34px !important;
  }
  .as-footer-cta > .as-container,
  .as-footer-modern > .as-container {
    width: min(100% - 28px, 1320px);
  }
}


/* ==========================================================
   ANIMAE 7.5 — PALETTE MONOCHROME TOTALE
   ========================================================== */
:root, body, [class*="elementor-kit-"] {
  --e-global-color-primary:#0a0a0a!important;
  --e-global-color-secondary:#242424!important;
  --e-global-color-text:#151515!important;
  --e-global-color-accent:#0a0a0a!important;
  --accent:#0a0a0a!important;
  --accent-dark:#000!important;
  --as-accent:#0a0a0a!important;
  --as-cream:#f6f6f4!important;
  --as-soft:#f6f6f4!important;
}
a,a:visited,.elementor a,.entry-content a,.page-content a{color:#0a0a0a}
a:hover,.elementor a:hover,.entry-content a:hover,.page-content a:hover{color:#000}
.elementor-button,.elementor-button:visited,.wp-element-button,.wp-block-button__link,button,input[type="submit"],input[type="button"]{background:#0a0a0a!important;border-color:#0a0a0a!important;color:#fff!important}
.elementor-button:hover,.wp-element-button:hover,.wp-block-button__link:hover,button:hover,input[type="submit"]:hover,input[type="button"]:hover{background:#fff!important;border-color:#0a0a0a!important;color:#0a0a0a!important}
.elementor-icon,.elementor-icon-list-icon i,.elementor-icon-list-icon svg,.elementor-widget-icon .elementor-icon,.elementor-widget-icon-box .elementor-icon,.elementor-widget-social-icons .elementor-social-icon,.as-eyebrow,.as-kicker{color:#0a0a0a!important;fill:#0a0a0a!important;border-color:#0a0a0a!important}
.as-contact-v65,.as-contact-v63,.as-contact-page,.as-donation-page,.as-partners-page,.as-blog-page{background:#fff!important}
input:not([type="checkbox"]):not([type="radio"]),textarea,select,.elementor-field,.give-input,.give-select{background:#fff!important;border-color:rgba(10,10,10,.24)!important;color:#0a0a0a!important}
input:focus,textarea:focus,select:focus,.elementor-field:focus,.give-input:focus,.give-select:focus{border-color:#0a0a0a!important;box-shadow:0 0 0 4px rgba(0,0,0,.07)!important;outline:none!important}

/* Bloc statistiques d’accueil reconstruit */
.as-home-stats-section{background:#fff!important;padding-block:clamp(72px,9vw,138px)!important}
.as-home-stats-section .as-section__head{max-width:980px;margin-bottom:clamp(42px,5vw,72px)}
.as-home-stats-section .as-eyebrow{display:flex;align-items:center;gap:14px;color:#626262!important;letter-spacing:.16em}
.as-home-stats-section .as-eyebrow:before{content:"";width:30px;height:1px;background:#0a0a0a;flex:0 0 auto}
.as-home-stats-section h2{max-width:920px;margin:22px 0 0;font-size:clamp(42px,5.35vw,78px);line-height:1.01;letter-spacing:-.052em;color:#050505!important}
.as-home-stats-section .as-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:#fff!important;color:#0a0a0a!important;border:1px solid rgba(10,10,10,.18)!important;border-radius:26px!important;overflow:hidden;box-shadow:0 18px 60px rgba(0,0,0,.045)}
.as-home-stats-section .as-stats__item{min-height:208px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(30px,3.5vw,52px)!important;background:#fff!important;color:#0a0a0a!important;border:0!important;border-right:1px solid rgba(10,10,10,.13)!important;transition:background-color .3s ease}
.as-home-stats-section .as-stats__item:last-child{border-right:0!important}
.as-home-stats-section .as-stats__item:hover{background:#f6f6f4!important}
.as-home-stats-section .as-stats__item b{color:#050505!important;font-size:clamp(46px,4.8vw,70px)!important;line-height:.95;letter-spacing:-.055em;margin-bottom:25px}
.as-home-stats-section .as-stats__item span{color:#6c6c6c!important;font-size:clamp(14px,1.15vw,17px);line-height:1.45}
@media(max-width:900px){.as-home-stats-section .as-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.as-home-stats-section .as-stats__item:nth-child(2){border-right:0!important}.as-home-stats-section .as-stats__item:nth-child(-n+2){border-bottom:1px solid rgba(10,10,10,.13)!important}}
@media(max-width:560px){.as-home-stats-section{padding-block:64px!important}.as-home-stats-section h2{font-size:clamp(36px,11vw,52px)}.as-home-stats-section .as-stats{grid-template-columns:1fr;border-radius:20px!important}.as-home-stats-section .as-stats__item{min-height:150px;border-right:0!important;border-bottom:1px solid rgba(10,10,10,.13)!important}.as-home-stats-section .as-stats__item:last-child{border-bottom:0!important}}

/* ==========================================================
   ANIMAE 7.6 — ACCUEIL ÉDITORIAL + ZÉRO ROSE
   ========================================================== */
/* Elementor : neutralise les anciennes couleurs enregistrées dans les widgets. */
main .elementor-widget-heading .elementor-heading-title,
main .elementor-widget-text-editor,
main .elementor-widget-text-editor p,
main .elementor-icon-list-text,
main .elementor-widget-counter .elementor-counter-number-wrapper,
main .elementor-widget-counter .elementor-counter-title,
main .elementor-widget-icon-box .elementor-icon-box-title,
main .elementor-widget-icon-box .elementor-icon-box-description {
  color:#0a0a0a !important;
}
main .elementor-icon,
main .elementor-icon i,
main .elementor-icon svg,
main .elementor-social-icon,
main .elementor-social-icon i,
main .elementor-social-icon svg {
  color:#0a0a0a !important;
  fill:#0a0a0a !important;
}
/* Les zones réellement sombres restent blanches. */
.as-cta, .as-cta *, .as-footer-cta, .as-footer-cta *,
.as-footer-modern, .as-footer-modern *, .as-topbar, .as-topbar *,
.as-ticker, .as-ticker * { color:#fff !important; }
.as-cta svg, .as-footer-cta svg, .as-footer-modern svg,
.as-topbar svg, .as-ticker svg { fill:currentColor !important; }

/* Hero aligné sur la maquette validée : texte lisible, jamais sous la photo. */
body.home .as-hero {
  padding-block:clamp(72px,8vw,126px) clamp(68px,7vw,108px) !important;
  overflow:hidden;
  background:#fff !important;
}
body.home .as-hero .as-container {
  width:min(1460px,calc(100% - 64px));
}
body.home .as-hero__grid {
  grid-template-columns:minmax(440px,.82fr) minmax(600px,1.18fr) !important;
  gap:clamp(64px,7vw,118px) !important;
  align-items:center !important;
}
body.home .as-home-hero-title {
  margin:24px 0 34px !important;
  max-width:670px !important;
  font-family:'Cormorant Garamond',Georgia,serif !important;
  font-style:italic !important;
  font-weight:600 !important;
  font-size:clamp(70px,6.55vw,112px) !important;
  line-height:.84 !important;
  letter-spacing:-.055em !important;
  color:#050505 !important;
  text-wrap:balance;
}
body.home .as-home-hero-title > span {
  display:block !important;
  white-space:nowrap !important;
  color:#050505 !important;
}
body.home .as-home-hero-title > span + span {
  margin-top:.12em !important;
}
body.home .as-hero .lead {
  max-width:590px;
  margin:0 0 38px !important;
  color:#65656a !important;
  font-size:clamp(17px,1.25vw,21px) !important;
  line-height:1.62 !important;
}
body.home .as-hero__ctas { gap:16px !important; flex-wrap:wrap; }
body.home .as-hero__ctas .as-btn {
  min-height:58px;
  padding:0 25px !important;
  border-radius:999px !important;
}
body.home .as-home-hero-media { min-width:0; position:relative; }
body.home .as-hero__visual--full {
  width:100% !important;
  min-height:0 !important;
  aspect-ratio:1.48/1 !important;
  overflow:hidden !important;
  border-radius:32px !important;
  background-position:center !important;
  background-size:cover !important;
  box-shadow:0 24px 70px rgba(0,0,0,.10) !important;
}
body.home .as-hero__visual--full .as-home-hero-image,
body.home .as-hero__visual--full > img {
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center 52% !important;
  transform:scale(1.045) !important;
  transition:transform .65s cubic-bezier(.2,.7,.2,1) !important;
}
body.home .as-home-hero-media:hover .as-home-hero-image {
  transform:scale(1.075) !important;
}
body.home .as-hero__badge {
  left:30px !important;
  right:auto !important;
  bottom:-28px !important;
  background:#070707 !important;
  color:#fff !important;
  border:0 !important;
  border-radius:18px !important;
  padding:20px 28px !important;
  box-shadow:0 18px 48px rgba(0,0,0,.18) !important;
}
body.home .as-hero__badge strong { color:#fff !important; font-size:16px !important; }
body.home .as-hero__badge span { color:rgba(255,255,255,.64) !important; }

@media(max-width:1120px){
  body.home .as-hero__grid{grid-template-columns:1fr !important;gap:54px !important;}
  body.home .as-home-hero-title{max-width:820px !important;font-size:clamp(68px,10vw,108px) !important;}
  body.home .as-home-hero-title>span{white-space:normal !important;}
  body.home .as-home-hero-media{max-width:960px;}
}
@media(max-width:760px){
  body.home .as-hero{padding-block:52px 76px !important;}
  body.home .as-hero .as-container{width:min(100% - 28px,1460px);}
  body.home .as-home-hero-title{font-size:clamp(54px,17vw,82px) !important;line-height:.88 !important;margin-block:20px 26px !important;}
  body.home .as-home-hero-title>span{white-space:normal !important;}
  body.home .as-hero__visual--full{aspect-ratio:1.18/1 !important;border-radius:22px !important;}
  body.home .as-hero__badge{position:relative !important;left:auto !important;bottom:auto !important;margin:-26px 14px 0 !important;width:calc(100% - 28px);justify-content:center;}
}

/* ==========================================================
   ANIMAE 7.7 — BOUTONS ACCESSIBLES + FOOTER COMPLET
   ========================================================== */
/* Base commune : empêche Elementor et les anciennes règles de rendre
   le texte de la même couleur que le fond. */
.as-btn,
a.as-btn,
button.as-btn,
.elementor-button,
a.elementor-button,
.wp-element-button,
.wp-block-button__link,
.give-btn,
.give-submit,
input[type="submit"],
input[type="button"],
button:not(.as-menu-toggle):not(.as-search-toggle) {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:50px;
  padding:13px 25px;
  border:1.5px solid #080808 !important;
  border-radius:999px !important;
  background:#080808 !important;
  color:#fff !important;
  fill:#fff !important;
  font-family:'Poppins',Arial,sans-serif !important;
  font-weight:600 !important;
  line-height:1.2;
  text-decoration:none !important;
  box-shadow:none;
  transition:background-color .25s ease,color .25s ease,border-color .25s ease,transform .25s ease,box-shadow .25s ease !important;
}
.as-btn *,
.elementor-button *,
.wp-element-button *,
.wp-block-button__link *,
.give-btn * { color:inherit !important; fill:currentColor !important; }
.as-btn:hover,
a.as-btn:hover,
.elementor-button:hover,
a.elementor-button:hover,
.wp-element-button:hover,
.wp-block-button__link:hover,
.give-btn:hover,
.give-submit:hover,
input[type="submit"]:hover,
input[type="button"]:hover,
button:not(.as-menu-toggle):not(.as-search-toggle):hover {
  background:#fff !important;
  color:#080808 !important;
  fill:#080808 !important;
  border-color:#080808 !important;
  transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(0,0,0,.12);
}

/* Bouton blanc / contour noir : texte noir garanti. */
.as-btn--ghost,
.as-btn.is-light,
.is-style-outline > .wp-block-button__link,
.wp-block-button.is-style-outline .wp-block-button__link,
.elementor-button.elementor-size-sm.is-light {
  background:#fff !important;
  color:#080808 !important;
  fill:#080808 !important;
  border-color:#080808 !important;
}
.as-btn--ghost:hover,
.as-btn.is-light:hover,
.is-style-outline > .wp-block-button__link:hover,
.wp-block-button.is-style-outline .wp-block-button__link:hover {
  background:#080808 !important;
  color:#fff !important;
  fill:#fff !important;
}

/* Sur fond sombre : bouton blanc lisible, puis inversion au survol. */
.as-btn--onDark,
.as-footer-cta .as-btn,
.as-cta .as-btn--onDark {
  background:#fff !important;
  color:#080808 !important;
  fill:#080808 !important;
  border-color:#fff !important;
}
.as-btn--onDark:hover,
.as-footer-cta .as-btn:hover,
.as-cta .as-btn--onDark:hover {
  background:transparent !important;
  color:#fff !important;
  fill:#fff !important;
  border-color:#fff !important;
}
.as-btn--ghostOnDark {
  background:transparent !important;
  color:#fff !important;
  fill:#fff !important;
  border-color:rgba(255,255,255,.75) !important;
}
.as-btn--ghostOnDark:hover {
  background:#fff !important;
  color:#080808 !important;
  fill:#080808 !important;
  border-color:#fff !important;
}

/* Boutons de formulaire et newsletter : contraste spécifique. */
.as-footer-modern__newsletter button {
  background:#fff !important;
  color:#080808 !important;
  border-color:#fff !important;
  border-radius:999px !important;
}
.as-footer-modern__newsletter button:hover {
  background:#dcdcdc !important;
  color:#080808 !important;
  border-color:#dcdcdc !important;
}

/* Footer enrichi : quatre colonnes lisibles sur toutes les pages. */
.as-footer-modern__main {
  grid-template-columns:minmax(250px,.82fr) minmax(0,1.7fr) !important;
  gap:clamp(52px,6vw,96px) !important;
}
.as-footer-modern__nav {
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:clamp(24px,3vw,46px) !important;
}
.as-footer-modern__nav h3 {
  margin:0 0 22px !important;
  color:#fff !important;
  font-size:14px !important;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.as-footer-modern__nav a,
.as-footer-modern__nav span {
  margin-bottom:13px !important;
  color:rgba(255,255,255,.7) !important;
}
.as-footer-modern__nav a:hover { color:#fff !important; transform:translateX(3px); }

@media(max-width:1100px){
  .as-footer-modern__main{grid-template-columns:1fr !important;}
  .as-footer-modern__nav{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media(max-width:620px){
  .as-btn,.elementor-button,.wp-element-button,.wp-block-button__link{min-height:48px;padding:12px 20px;}
  .as-footer-modern__nav{grid-template-columns:1fr !important;gap:30px !important;}
  .as-footer-modern__nav>div{padding-bottom:22px;border-bottom:1px solid rgba(255,255,255,.12);}
  .as-footer-modern__nav>div:last-child{border-bottom:0;}
}


/* ======================================================================
   ANIMAE 7.8.0 — accueil reconstruit, sans emoji, sans chevauchement
   ====================================================================== */
body.home .as-hero {
  overflow: hidden !important;
  padding: clamp(92px, 9vw, 150px) 0 clamp(76px, 8vw, 128px) !important;
  background: #fff !important;
}
body.home .as-hero .as-container {
  width: min(1480px, calc(100% - 64px)) !important;
  max-width: 1480px !important;
}
body.home .as-hero__grid {
  display: grid !important;
  grid-template-columns: minmax(0, .83fr) minmax(540px, 1.17fr) !important;
  gap: clamp(64px, 7vw, 120px) !important;
  align-items: center !important;
}
body.home .as-home-hero-copy {
  position: relative !important;
  z-index: 3 !important;
  min-width: 0 !important;
  max-width: 650px !important;
}
body.home .as-home-hero-title {
  display: block !important;
  width: 100% !important;
  max-width: 650px !important;
  margin: 28px 0 30px !important;
  padding: 0 !important;
  overflow: visible !important;
  color: #000 !important;
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(64px, 6.15vw, 104px) !important;
  font-style: italic !important;
  font-weight: 600 !important;
  line-height: .84 !important;
  letter-spacing: -.055em !important;
  text-transform: none !important;
  word-break: normal !important;
}
body.home .as-home-hero-title > span {
  display: block !important;
  position: relative !important;
  width: max-content !important;
  max-width: 100% !important;
  white-space: nowrap !important;
  overflow: visible !important;
  color: #000 !important;
}
body.home .as-home-hero-title > span + span {
  margin-top: .06em !important;
}
body.home .as-home-hero-copy .lead {
  max-width: 570px !important;
  margin: 0 0 34px !important;
  color: #666 !important;
  font-size: clamp(17px, 1.25vw, 21px) !important;
  line-height: 1.62 !important;
}
body.home .as-home-hero-media {
  position: relative !important;
  z-index: 1 !important;
  min-width: 0 !important;
}
body.home .as-hero__visual.as-home-photo-guaranteed {
  width: 100% !important;
  aspect-ratio: 1.47 / 1 !important;
  min-height: 500px !important;
  border-radius: 30px !important;
  overflow: hidden !important;
  background-size: cover !important;
  background-position: center 51% !important;
  box-shadow: 0 28px 80px rgba(0,0,0,.10) !important;
}
body.home .as-home-hero-image {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center 51% !important;
  transform: scale(1.035) !important;
}
body.home .as-hero__badge {
  position: absolute !important;
  left: 34px !important;
  bottom: -30px !important;
  z-index: 5 !important;
  display: flex !important;
  gap: 38px !important;
  padding: 21px 28px !important;
  border: 0 !important;
  border-radius: 20px !important;
  background: #000 !important;
  color: #fff !important;
  box-shadow: 0 20px 55px rgba(0,0,0,.20) !important;
}
body.home .as-hero__badge strong,
body.home .as-hero__badge span { color: #fff !important; }
body.home .as-hero__badge span { opacity: .66 !important; }

/* Motifs sur mesure : uniquement lignes et formes CSS, jamais d'emoji. */
.as-eyebrow::before {
  content: "" !important;
  display: inline-block !important;
  width: 28px !important;
  height: 1px !important;
  margin-right: 12px !important;
  background: currentColor !important;
  vertical-align: middle !important;
}
.as-card__link svg,
.as-btn svg {
  flex: 0 0 auto !important;
  width: 16px !important;
  height: 16px !important;
}

@media (max-width: 1180px) {
  body.home .as-hero__grid {
    grid-template-columns: minmax(0, .9fr) minmax(460px, 1.1fr) !important;
    gap: 54px !important;
  }
  body.home .as-home-hero-title {
    font-size: clamp(58px, 6.7vw, 86px) !important;
  }
}
@media (max-width: 980px) {
  body.home .as-hero .as-container { width: min(100% - 40px, 760px) !important; }
  body.home .as-hero__grid { grid-template-columns: 1fr !important; gap: 54px !important; }
  body.home .as-home-hero-copy { max-width: 720px !important; }
  body.home .as-home-hero-title { max-width: 720px !important; font-size: clamp(60px, 11vw, 92px) !important; }
  body.home .as-hero__visual.as-home-photo-guaranteed { min-height: 440px !important; }
}
@media (max-width: 620px) {
  body.home .as-hero { padding: 72px 0 82px !important; }
  body.home .as-hero .as-container { width: calc(100% - 28px) !important; }
  body.home .as-home-hero-title {
    font-size: clamp(49px, 15.5vw, 72px) !important;
    line-height: .88 !important;
    letter-spacing: -.045em !important;
    margin: 22px 0 25px !important;
  }
  body.home .as-home-hero-title > span { width: auto !important; white-space: normal !important; }
  body.home .as-home-hero-copy .lead { font-size: 17px !important; }
  body.home .as-hero__ctas { display: grid !important; grid-template-columns: 1fr !important; gap: 12px !important; }
  body.home .as-hero__ctas .as-btn { width: 100% !important; justify-content: center !important; }
  body.home .as-hero__visual.as-home-photo-guaranteed { min-height: 330px !important; border-radius: 22px !important; }
  body.home .as-hero__badge {
    position: relative !important;
    left: auto !important;
    bottom: auto !important;
    margin: -28px 14px 0 !important;
    justify-content: center !important;
    gap: 26px !important;
    padding: 18px 20px !important;
  }
}

/* ======================================================================
   ANIMAE 7.9.0 — navigation nette, accueil équilibré, footer ressources
   ====================================================================== */
/* Bureau : aucune pastille burger parasite. Les deux CTA restent propres. */
.as-header__actions { display:flex; align-items:center; gap:12px; }
.as-header__actions > .as-btn { min-height:48px; padding:12px 25px; border-radius:999px!important; }
.as-burger { display:none!important; }

/* Le vrai bouton mobile : cercle noir + trois traits blancs bien visibles. */
@media (max-width: 980px) {
  .as-header__actions > .as-btn { display:none!important; }
  .as-burger {
    display:flex!important; flex-direction:column; align-items:center; justify-content:center;
    width:52px!important; height:52px!important; min-width:52px!important; padding:0!important;
    border:0!important; border-radius:50%!important; background:#050505!important;
    box-shadow:none!important; gap:5px!important; cursor:pointer;
  }
  .as-burger span {
    display:block!important; width:21px!important; height:2px!important; margin:0!important;
    border-radius:4px!important; background:#fff!important; opacity:1!important;
    transform:none!important;
  }
  .as-burger:hover { background:#1b1b1b!important; transform:none!important; }
}
.as-drawer-close svg{width:26px;height:26px;display:block;}

/* Accueil : même composition, légèrement plus compacte et parfaitement séparée. */
body.home .as-hero { padding:clamp(78px,7.5vw,124px) 0 clamp(70px,7vw,110px)!important; }
body.home .as-hero__grid {
  grid-template-columns:minmax(0,.88fr) minmax(520px,1.12fr)!important;
  gap:clamp(72px,7vw,118px)!important;
}
body.home .as-home-hero-copy { max-width:610px!important; }
body.home .as-home-hero-title {
  max-width:610px!important; font-size:clamp(59px,5.65vw,94px)!important;
  line-height:.88!important; letter-spacing:-.05em!important; margin:25px 0 28px!important;
}
body.home .as-home-hero-title>span { width:auto!important; max-width:100%!important; white-space:normal!important; }
body.home .as-home-hero-copy .lead { max-width:545px!important; font-size:clamp(16px,1.12vw,19px)!important; }
body.home .as-hero__visual.as-home-photo-guaranteed {
  aspect-ratio:1.5/1!important; min-height:460px!important; border-radius:28px!important;
}
body.home .as-home-hero-image { transform:scale(1.025)!important; }
body.home .as-home-hero-media:hover .as-home-hero-image { transform:scale(1.055)!important; }
@media(max-width:1180px){body.home .as-hero__grid{grid-template-columns:minmax(0,.9fr) minmax(440px,1.1fr)!important;gap:54px!important;}}
@media(max-width:980px){body.home .as-hero__grid{grid-template-columns:1fr!important;}body.home .as-home-hero-copy{max-width:720px!important;}body.home .as-home-hero-title{max-width:720px!important;}body.home .as-hero__visual.as-home-photo-guaranteed{min-height:410px!important;}}
@media(max-width:620px){body.home .as-home-hero-title{font-size:clamp(47px,14vw,67px)!important;}body.home .as-hero__visual.as-home-photo-guaranteed{min-height:310px!important;}}

/* Flèches réellement dessinées en SVG, uniformes et sans caractère décoratif. */
.as-btn svg,.as-card__link svg,.as-text-link svg,.as-footer-modern button svg { width:17px!important;height:17px!important;display:block;flex:0 0 auto; }
.as-btn:hover svg,.as-card__link:hover svg,.as-text-link:hover svg { transform:translate(2px,-2px); }
.as-btn svg,.as-card__link svg,.as-text-link svg { transition:transform .22s ease; }

/* Footer plus grand et riche sans changer son langage visuel. */
.as-footer-modern>.as-container { padding-top:clamp(82px,8vw,132px)!important; }
.as-footer-modern__main { grid-template-columns:minmax(270px,.72fr) minmax(0,1.8fr)!important; gap:clamp(58px,6vw,108px)!important; padding-bottom:clamp(72px,7vw,110px)!important; }
.as-footer-modern__brand p { max-width:430px!important; font-size:15px!important; line-height:1.75!important; }
.as-footer-modern__nav { grid-template-columns:repeat(5,minmax(0,1fr))!important; gap:clamp(22px,2.5vw,42px)!important; }
.as-footer-modern__nav h3 { font-size:12px!important; margin-bottom:25px!important; }
.as-footer-modern__nav a,.as-footer-modern__nav span { font-size:13.5px!important; margin-bottom:14px!important; }
.as-footer-modern__newsletter { padding:46px 0!important; }
.as-footer-modern__newsletter button { display:inline-flex!important;align-items:center!important;gap:9px!important; }
.as-footer-modern__socials a { width:44px!important;height:44px!important; }
.as-footer-modern__socials svg { width:19px!important;height:19px!important; }
@media(max-width:1280px){.as-footer-modern__main{grid-template-columns:1fr!important;}.as-footer-modern__nav{grid-template-columns:repeat(3,minmax(0,1fr))!important;}}
@media(max-width:820px){.as-footer-modern__nav{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
@media(max-width:560px){.as-footer-modern>.as-container{padding-top:68px!important;}.as-footer-modern__nav{grid-template-columns:1fr!important;}.as-footer-modern__newsletter{padding:36px 0!important;}}

/* ========================================================================== */
/* ANIMAE 8.0 — accueil fidèle à la maquette et footer ressources complet     */
/* ========================================================================== */

/* Accueil : proportions précises de la référence, menu volontairement intact. */
body.home .as-hero {
  padding: 72px 0 92px !important;
  min-height: 720px;
  display: flex;
  align-items: center;
  background: #fff;
}
body.home .as-hero > .as-container {
  width: min(1120px, calc(100% - 48px)) !important;
  max-width: 1120px !important;
}
body.home .as-hero__grid {
  display: grid !important;
  grid-template-columns: minmax(0, 405px) minmax(0, 690px) !important;
  gap: 64px !important;
  align-items: center !important;
}
body.home .as-home-hero-copy {
  width: 100%;
  max-width: 405px;
  padding: 0 !important;
}
body.home .as-eyebrow {
  margin-bottom: 26px !important;
  font-size: 11px !important;
  letter-spacing: .17em !important;
  white-space: nowrap;
}
body.home .as-home-hero-title {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(63px, 5.25vw, 78px) !important;
  font-style: italic !important;
  font-weight: 600 !important;
  line-height: .94 !important;
  letter-spacing: -.045em !important;
  max-width: 405px !important;
  margin: 0 0 36px !important;
  color: #050505 !important;
  overflow: visible !important;
}
body.home .as-home-hero-title > span {
  display: block !important;
  white-space: nowrap !important;
  margin: 0 !important;
}
body.home .as-home-hero-title > span:last-child {
  text-align: left;
}
body.home .as-hero .lead {
  max-width: 390px !important;
  margin: 0 0 28px !important;
  font-size: 16px !important;
  line-height: 1.72 !important;
  color: #6d6d72 !important;
}
body.home .as-hero__ctas {
  display: flex;
  gap: 12px !important;
  align-items: center;
}
body.home .as-hero__ctas .as-btn {
  min-height: 48px !important;
  padding: 0 21px !important;
  border-radius: 999px !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}
body.home .as-hero__ctas .as-btn svg { width: 15px; height: 15px; }
body.home .as-home-hero-media {
  width: 690px !important;
  max-width: 100% !important;
  position: relative !important;
}
body.home .as-home-photo-guaranteed,
body.home .as-hero__visual--full {
  width: 100% !important;
  min-height: 0 !important;
  height: 520px !important;
  aspect-ratio: auto !important;
  border-radius: 24px !important;
  box-shadow: none !important;
  overflow: hidden !important;
  background-size: cover !important;
  background-position: center !important;
}
body.home .as-home-photo-guaranteed > img.as-home-hero-image,
body.home .as-hero__visual--full > img.as-home-hero-image {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: scale(1.01) !important;
  transition: transform .8s cubic-bezier(.2,.75,.25,1) !important;
}
body.home .as-home-photo-guaranteed:hover > img.as-home-hero-image { transform: scale(1.035) !important; }
body.home .as-hero__badge {
  position: absolute !important;
  left: 20px !important;
  right: auto !important;
  bottom: -45px !important;
  width: 245px !important;
  min-height: 78px !important;
  padding: 20px 22px !important;
  border-radius: 14px !important;
  background: #080808 !important;
  color: #fff !important;
  display: grid !important;
  grid-template-columns: 1fr .72fr !important;
  gap: 22px !important;
  box-shadow: 0 18px 44px rgba(0,0,0,.18) !important;
}
body.home .as-hero__badge strong { color: #fff !important; font-size: 14px !important; }
body.home .as-hero__badge span { color: rgba(255,255,255,.58) !important; font-size: 11px !important; white-space: nowrap; }

/* Pied de page en grand panneau noir arrondi. */
.as-footer-cta { display: none !important; }
.as-footer-panel {
  background: #fff !important;
  color: #111 !important;
  padding: 38px 34px 0 !important;
  margin: 0 !important;
}
.as-footer-panel__shell {
  width: min(1600px, 100%);
  margin: 0 auto;
  background: #090909;
  color: #fff;
  border-radius: 34px;
  padding: clamp(54px, 5vw, 82px) clamp(42px, 4.6vw, 76px) 46px;
}
.as-footer-panel__top {
  display: grid;
  grid-template-columns: minmax(260px, 1.08fr) minmax(0, 4.35fr);
  gap: clamp(58px, 6vw, 105px);
  align-items: start;
}
.as-footer-panel__brand { max-width: 300px; }
.as-footer-panel__logo {
  display: block;
  width: min(280px, 100%);
  height: 92px;
  object-fit: contain;
  object-position: left center;
  margin: 0 0 30px;
}
.as-footer-panel__brand p {
  margin: 0;
  color: rgba(255,255,255,.62);
  font-size: 14px;
  line-height: 1.65;
}
.as-footer-panel__nav {
  display: grid;
  grid-template-columns: repeat(5, minmax(128px,1fr));
  gap: clamp(24px, 2.9vw, 52px);
}
.as-footer-panel__column h3,
.as-footer-panel__newsletter h3 {
  font-family: "Poppins", sans-serif !important;
  color: rgba(255,255,255,.68) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  text-transform: uppercase;
  letter-spacing: .12em;
  margin: 0 0 18px;
  padding-bottom: 15px;
  border-bottom: 1px solid rgba(255,255,255,.12);
}
.as-footer-panel__column a,
.as-footer-panel__column span {
  position: relative;
  display: block;
  color: rgba(255,255,255,.61) !important;
  font-size: 13px;
  line-height: 1.45;
  margin: 0 0 13px;
  padding-right: 13px;
  transition: color .2s ease, transform .2s ease;
}
.as-footer-panel__column:not(.as-footer-panel__follow) a::after {
  content: "";
  position: absolute;
  right: 0;
  top: .52em;
  width: 5px;
  height: 5px;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  transform: rotate(45deg);
  opacity: .55;
}
.as-footer-panel__column a:hover { color: #fff !important; transform: translateX(2px); }
.as-footer-panel__socials { display: grid; grid-template-columns: repeat(4, 38px); gap: 9px; }
.as-footer-panel__socials a {
  width: 38px;
  height: 38px;
  margin: 0;
  padding: 0;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: rgba(255,255,255,.7) !important;
}
.as-footer-panel__socials a:hover { background: #fff; color: #000 !important; transform: translateY(-2px); }
.as-footer-panel__socials svg { width: 15px; height: 15px; }
.as-footer-panel__lower {
  display: grid;
  grid-template-columns: minmax(330px, .84fr) minmax(0, 1.7fr);
  gap: 80px;
  align-items: end;
  margin-top: 46px;
  padding-top: 16px;
  border-top: 1px solid rgba(255,255,255,.12);
}
.as-footer-panel__newsletter h3 { border-bottom: 0; padding: 0; margin: 0 0 15px; }
.as-footer-panel__newsletter form {
  display: flex;
  align-items: center;
  gap: 9px;
}
.as-footer-panel__newsletter input {
  width: 100%;
  height: 48px;
  padding: 0 18px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.15) !important;
  background: transparent !important;
  color: #fff !important;
  box-shadow: none !important;
  font-size: 13px !important;
}
.as-footer-panel__newsletter input::placeholder { color: rgba(255,255,255,.42); }
.as-footer-panel__newsletter button {
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  border-radius: 50% !important;
  border: 0 !important;
  background: #fff !important;
  color: #000 !important;
  display: grid;
  place-items: center;
  padding: 0 !important;
}
.as-footer-panel__newsletter button svg { width: 17px; height: 17px; }
.as-footer-panel__contacts {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: clamp(22px, 2.2vw, 38px);
  flex-wrap: wrap;
  padding-bottom: 4px;
}
.as-footer-panel__contacts a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: rgba(255,255,255,.62) !important;
  font-size: 13px;
  white-space: nowrap;
}
.as-footer-panel__contacts a:hover { color: #fff !important; }
.as-contact-icon {
  width: 34px;
  height: 34px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 50%;
  display: grid;
  place-items: center;
}
.as-contact-icon svg { width: 14px; height: 14px; }
.as-footer-panel__legal {
  width: min(1100px, calc(100% - 40px));
  margin: 0 auto;
  padding: 25px 0 28px;
  display: flex;
  justify-content: center;
  gap: 28px;
  flex-wrap: wrap;
  color: #747474;
  font-size: 12px;
}
.as-footer-panel__legal a { color: #747474 !important; }
.as-footer-panel__legal a:hover { color: #000 !important; }

@media (max-width: 1260px) {
  body.home .as-hero__grid { grid-template-columns: minmax(0, 380px) minmax(0, 1fr) !important; gap: 46px !important; }
  body.home .as-home-hero-media { width: 100% !important; }
  .as-footer-panel__top { grid-template-columns: 1fr; }
  .as-footer-panel__brand { max-width: 520px; }
  .as-footer-panel__nav { grid-template-columns: repeat(3, 1fr); }
  .as-footer-panel__lower { grid-template-columns: 1fr; gap: 34px; }
  .as-footer-panel__contacts { justify-content: flex-start; }
}
@media (max-width: 900px) {
  body.home .as-hero { padding: 54px 0 76px !important; min-height: auto; }
  body.home .as-hero__grid { grid-template-columns: 1fr !important; gap: 48px !important; }
  body.home .as-home-hero-copy { max-width: 600px; }
  body.home .as-home-hero-title { max-width: 600px !important; }
  body.home .as-home-hero-title > span { white-space: normal !important; }
  body.home .as-home-hero-media { max-width: none !important; }
  body.home .as-home-photo-guaranteed, body.home .as-hero__visual--full { height: min(520px, 67vw) !important; min-height: 390px !important; }
  .as-footer-panel { padding-inline: 18px !important; }
  .as-footer-panel__shell { border-radius: 26px; }
  .as-footer-panel__nav { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 620px) {
  body.home .as-hero > .as-container { width: min(100% - 28px, 1120px) !important; }
  body.home .as-home-hero-title { font-size: clamp(50px, 15vw, 68px) !important; }
  body.home .as-eyebrow { white-space: normal; line-height: 1.5; }
  body.home .as-hero__ctas { flex-direction: column; align-items: stretch; }
  body.home .as-hero__ctas .as-btn { width: 100%; justify-content: center; }
  body.home .as-home-photo-guaranteed, body.home .as-hero__visual--full { min-height: 330px !important; height: 78vw !important; border-radius: 20px !important; }
  body.home .as-hero__badge { position: relative !important; left: auto !important; bottom: auto !important; margin: -28px 14px 0 !important; width: calc(100% - 28px) !important; }
  .as-footer-panel { padding: 22px 10px 0 !important; }
  .as-footer-panel__shell { padding: 44px 24px 34px; border-radius: 24px; }
  .as-footer-panel__nav { grid-template-columns: 1fr; gap: 26px; }
  .as-footer-panel__socials { grid-template-columns: repeat(4, 40px); }
  .as-footer-panel__contacts { display: grid; grid-template-columns: 1fr; gap: 14px; }
  .as-footer-panel__legal { flex-direction: column; gap: 10px; align-items: center; text-align: center; }
}

/* ========================================================================== */
/* ANIMAE 8.1.1 — CTA graphique sans image, fusionné au footer               */
/* ========================================================================== */
.as-footer-cta.as-footer-cta--graphic {
  display: block !important;
  width: 100%;
  background: #fff !important;
  color: #fff;
  padding: 78px 34px 0 !important;
  margin: 0 !important;
  border: 0 !important;
}
.as-footer-cta--graphic .as-footer-cta__shell {
  position: relative;
  isolation: isolate;
  width: min(1600px, 100%);
  min-height: 470px;
  margin: 0 auto;
  padding: clamp(64px, 7vw, 112px) clamp(42px, 6vw, 104px);
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(260px, .55fr);
  align-items: end;
  gap: clamp(36px, 6vw, 100px);
  overflow: hidden;
  background: #090909;
  border-radius: 36px 36px 0 0;
}
.as-footer-cta--graphic .as-footer-cta__copy,
.as-footer-cta--graphic .as-footer-cta__action { position: relative; z-index: 3; }
.as-footer-cta--graphic .as-kicker {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 25px;
  color: rgba(255,255,255,.62) !important;
  letter-spacing: .16em;
}
.as-footer-cta--graphic .as-kicker::before {
  content: "";
  width: 34px;
  height: 1px;
  background: rgba(255,255,255,.72);
}
.as-footer-cta--graphic h2 {
  max-width: 930px;
  margin: 0 0 26px;
  color: #fff !important;
  font-family: "Plus Jakarta Sans", sans-serif !important;
  font-size: clamp(3rem, 6vw, 6.8rem) !important;
  font-weight: 700 !important;
  line-height: .94 !important;
  letter-spacing: -.07em !important;
}
.as-footer-cta--graphic p {
  max-width: 690px;
  margin: 0;
  color: rgba(255,255,255,.64) !important;
  font-size: clamp(1rem, 1.2vw, 1.18rem);
  line-height: 1.72;
}
.as-footer-cta--graphic .as-footer-cta__action {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 17px;
  padding-bottom: 8px;
}
.as-footer-cta--graphic .as-btn {
  min-height: 66px;
  padding: 0 30px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 18px;
  border-radius: 999px !important;
  background: #fff !important;
  color: #090909 !important;
  border: 1px solid #fff !important;
  font-weight: 600 !important;
}
.as-footer-cta--graphic .as-btn svg { width: 20px; height: 20px; transition: transform .3s ease; }
.as-footer-cta--graphic .as-btn:hover { background: transparent !important; color: #fff !important; }
.as-footer-cta--graphic .as-btn:hover svg { transform: translate(3px,-3px); }
.as-footer-cta--graphic .as-footer-cta__action > span {
  color: rgba(255,255,255,.48);
  font-size: .84rem;
}
.as-footer-cta__circle {
  position: absolute;
  z-index: 1;
  display: block;
  border-radius: 50%;
  pointer-events: none;
}
.as-footer-cta__circle--one {
  width: clamp(280px, 35vw, 620px);
  aspect-ratio: 1;
  right: -8%;
  top: -48%;
  border: 1px solid rgba(255,255,255,.19);
}
.as-footer-cta__circle--two {
  width: clamp(160px, 20vw, 350px);
  aspect-ratio: 1;
  right: 9%;
  bottom: -39%;
  background: rgba(255,255,255,.055);
  border: 1px solid rgba(255,255,255,.08);
}
.as-footer-cta__circle--three {
  width: 42px;
  height: 42px;
  right: 39%;
  top: 22%;
  background: #fff;
  box-shadow: 0 0 0 13px rgba(255,255,255,.07);
}
/* Fusion exacte avec le pied de page conservé. */
.as-footer-cta--graphic + .as-footer-modern {
  margin-top: 0 !important;
  padding-top: 0 !important;
  background: #fff !important;
}
.as-footer-cta--graphic + .as-footer-modern > .as-container {
  border-radius: 0 0 36px 36px !important;
}
@media (max-width: 980px) {
  .as-footer-cta--graphic .as-footer-cta__shell {
    grid-template-columns: 1fr;
    min-height: 0;
    align-items: start;
  }
  .as-footer-cta--graphic .as-footer-cta__action { padding-top: 8px; }
  .as-footer-cta__circle--three { right: 18%; top: 50%; }
}
@media (max-width: 680px) {
  .as-footer-cta.as-footer-cta--graphic { padding: 54px 18px 0 !important; }
  .as-footer-cta--graphic .as-footer-cta__shell {
    padding: 52px 24px 46px;
    border-radius: 26px 26px 0 0;
    gap: 34px;
  }
  .as-footer-cta--graphic h2 {
    font-size: clamp(2.7rem, 13vw, 4.4rem) !important;
    letter-spacing: -.065em !important;
  }
  .as-footer-cta--graphic .as-btn { width: 100%; }
  .as-footer-cta--graphic + .as-footer-modern > .as-container {
    border-radius: 0 0 26px 26px !important;
  }
  .as-footer-cta__circle--one { right: -46%; top: -22%; }
  .as-footer-cta__circle--two { right: -22%; bottom: -21%; }
  .as-footer-cta__circle--three { display: none; }
}

/* ========================================================================== */
/* ANIMAE 8.2.0 — CTA et pied de page réellement fusionnés                    */
/* ========================================================================== */
.as-footer-cta.as-footer-cta--graphic {
  padding: clamp(54px, 6vw, 82px) 24px 0 !important;
  margin: 0 !important;
  background: #fff !important;
}
.as-footer-cta--graphic .as-footer-cta__shell {
  width: min(1600px, 100%) !important;
  margin: 0 auto !important;
  border-radius: 36px 36px 0 0 !important;
  border-bottom: 0 !important;
}
.as-footer-cta--graphic + .as-footer-modern {
  margin: 0 !important;
  padding: 0 24px 30px !important;
  background: #fff !important;
  border: 0 !important;
}
.as-footer-cta--graphic + .as-footer-modern > .as-container {
  box-sizing: border-box;
  width: min(1600px, 100%) !important;
  max-width: none !important;
  margin: 0 auto !important;
  padding: clamp(74px, 7vw, 112px) clamp(42px, 6vw, 104px) 0 !important;
  background: #090909 !important;
  border-radius: 0 0 36px 36px !important;
  border-top: 0 !important;
  position: relative;
}
/* Une séparation intégrée, sans créer d'espace entre les deux parties. */
.as-footer-cta--graphic + .as-footer-modern > .as-container::before {
  content: "";
  position: absolute;
  top: 0;
  left: clamp(42px, 6vw, 104px);
  right: clamp(42px, 6vw, 104px);
  height: 1px;
  background: rgba(255,255,255,.13);
}
.as-footer-cta--graphic + .as-footer-modern .as-footer-modern__bottom {
  padding-bottom: 38px !important;
}

@media (max-width: 680px) {
  .as-footer-cta.as-footer-cta--graphic {
    padding: 46px 14px 0 !important;
  }
  .as-footer-cta--graphic .as-footer-cta__shell {
    border-radius: 26px 26px 0 0 !important;
  }
  .as-footer-cta--graphic + .as-footer-modern {
    padding: 0 14px 18px !important;
  }
  .as-footer-cta--graphic + .as-footer-modern > .as-container {
    width: 100% !important;
    padding: 58px 24px 0 !important;
    border-radius: 0 0 26px 26px !important;
  }
  .as-footer-cta--graphic + .as-footer-modern > .as-container::before {
    left: 24px;
    right: 24px;
  }
}


/* ================================================================
   ANIMAE 8.3 — BLOG NOIR/BLANC & CONTACT AÉRÉ
   ================================================================ */
:root{
  --as-pink:#0a0a0a!important;
  --e-global-color-primary:#0a0a0a!important;
  --e-global-color-secondary:#202020!important;
  --e-global-color-accent:#0a0a0a!important;
}
/* Neutralisation robuste des anciennes couleurs roses Elementor. */
body :is(a,h1,h2,h3,h4,h5,h6,p,span,strong,em,small,label,li,blockquote,figcaption,i,svg){
  --e-global-color-primary:#0a0a0a;
  --e-global-color-accent:#0a0a0a;
}
.elementor-kit-5,.elementor-kit-6,.elementor-kit-7,.elementor-kit-8,
.elementor-widget-text-editor,.elementor-widget-heading,.elementor-widget-icon,
.elementor-widget-button,.elementor-widget-posts,.elementor-widget-theme-post-content{
  --e-global-color-primary:#0a0a0a!important;
  --e-global-color-accent:#0a0a0a!important;
  --e-global-color-text:#202020!important;
}
.elementor a:not(.elementor-button),.elementor-widget-heading .elementor-heading-title,
.elementor-widget-text-editor,.elementor-icon,.elementor-icon i,
.elementor-icon svg,.elementor-post__title a,.elementor-post__read-more{
  color:#0a0a0a!important;fill:#0a0a0a!important;
}
.elementor-button,.wp-element-button,.wp-block-button__link,
input[type="submit"],button[type="submit"]{
  background:#0a0a0a!important;color:#fff!important;border-color:#0a0a0a!important;
}
.elementor-button:hover,.wp-element-button:hover,.wp-block-button__link:hover,
input[type="submit"]:hover,button[type="submit"]:hover{
  background:#fff!important;color:#0a0a0a!important;border-color:#0a0a0a!important;
}

/* Blog éditorial, très arrondi, avec le titre directement sur la photo. */
.as-blog-modern,.as-blog-listing{background:#fff!important;}
.as-blog-hero{background:#fff!important;border-bottom:1px solid rgba(0,0,0,.09)!important;}
.as-blog-hero__image{border-radius:34px!important;box-shadow:0 24px 70px rgba(0,0,0,.08);}
.as-blog-grid{gap:clamp(24px,3.8vw,54px)!important;}
.as-blog-card--overlay{position:relative;min-width:0;}
.as-blog-card--overlay .as-blog-card__media{
  position:relative;display:block;aspect-ratio:4/3;min-height:390px;
  overflow:hidden;border-radius:30px!important;background:#ececea;
  box-shadow:0 16px 46px rgba(0,0,0,.075);
  isolation:isolate;
}
.as-blog-card--overlay .as-blog-card__media img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  transform:scale(1.005);transition:transform .8s cubic-bezier(.16,1,.3,1),filter .5s ease;
}
.as-blog-card--overlay:hover .as-blog-card__media img{transform:scale(1.065);filter:saturate(1.04) contrast(1.02);}
.as-blog-card__shade{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(0,0,0,.02) 28%,rgba(0,0,0,.18) 58%,rgba(0,0,0,.84) 100%);
}
.as-blog-card__overlay-copy{
  position:absolute;z-index:2;left:0;right:0;bottom:0;
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 20px;
  align-items:end;padding:clamp(24px,3vw,40px);color:#fff!important;
}
.as-blog-card__overlay-copy *{color:#fff!important;fill:#fff!important;}
.as-blog-card__overlay-copy .as-blog-card__meta{
  grid-column:1/-1;display:flex;justify-content:space-between;gap:18px;
  margin:0;color:rgba(255,255,255,.76)!important;font-size:10px;
  letter-spacing:.11em;text-transform:uppercase;
}
.as-blog-card__overlay-copy strong{
  max-width:760px;font-family:"Plus Jakarta Sans",sans-serif;
  font-size:clamp(1.55rem,2.8vw,2.65rem);line-height:1.04;
  letter-spacing:-.045em;font-weight:800;
}
.as-blog-card__arrow{
  display:grid;place-items:center;width:50px;height:50px;border:1px solid rgba(255,255,255,.65);
  border-radius:50%;background:rgba(255,255,255,.08);backdrop-filter:blur(8px);
  transition:background .3s ease,transform .3s ease;
}
.as-blog-card__arrow svg{width:22px;height:22px;}
.as-blog-card--overlay:hover .as-blog-card__arrow{background:#fff;transform:translate(3px,-3px);}
.as-blog-card--overlay:hover .as-blog-card__arrow svg{color:#000!important;stroke:#000!important;}
.as-blog-card--overlay .as-blog-card__content{display:none!important;}
.as-pagination .page-numbers{border-radius:999px!important;}

/* Contact : aucune teinte beige, largeur confortable et respiration nette. */
.as-contact-v65,.as-contact-v65__content,.as-contact-v65__hero{background:#fff!important;}
.as-contact-v65__hero{
  padding:clamp(105px,10vw,150px) 0 clamp(34px,4.5vw,64px)!important;
  border-bottom:0!important;
}
.as-contact-v65__hero h1{margin-bottom:16px!important;}
.as-contact-v65__content{padding:clamp(32px,5vw,72px) 0 clamp(90px,10vw,150px)!important;}
.as-contact-v65__content>.as-container{max-width:1380px!important;padding-inline:clamp(22px,4vw,68px)!important;}
.as-contact-v65__grid{
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)!important;
  gap:clamp(38px,5.5vw,84px)!important;align-items:stretch!important;
}
.as-contact-v65__details,.as-contact-v65__map,.as-contact-v65__form-card{
  background:#fff!important;border:1px solid rgba(0,0,0,.10)!important;
  border-radius:32px!important;box-shadow:0 20px 65px rgba(0,0,0,.055)!important;
}
.as-contact-v65__details{padding:clamp(40px,5vw,72px)!important;}
.as-contact-v65__intro{max-width:640px!important;margin-bottom:8px!important;}
.as-contact-v65__items{gap:0!important;margin-top:46px!important;}
.as-contact-v65__item{
  grid-template-columns:56px minmax(0,1fr)!important;gap:22px!important;
  padding:25px 0!important;
}
.as-contact-v65__icon{width:52px!important;height:52px!important;}
.as-contact-v65__item>div{gap:7px!important;}
.as-contact-v65__follow{margin-top:42px!important;padding-top:28px;border-top:1px solid rgba(0,0,0,.09);}
.as-contact-v65__socials{gap:12px!important;margin-top:16px!important;}
.as-contact-v65__map{padding:16px!important;min-height:690px!important;}
.as-contact-v65__map-frame{min-height:585px!important;border-radius:25px!important;background:#f2f2f0!important;}
.as-contact-v65__route{margin-top:16px!important;border-radius:999px!important;padding:18px 24px!important;}
.as-contact-v65__form-card{margin-top:clamp(44px,6vw,82px)!important;padding:clamp(42px,6vw,82px)!important;}
.as-contact-v65__form-heading{column-gap:clamp(40px,7vw,110px)!important;margin-bottom:56px!important;}
.as-contact-v65__form{gap:24px!important;}
.as-contact-v65__form input,.as-contact-v65__form textarea{
  background:#fff!important;border:1px solid rgba(0,0,0,.18)!important;border-radius:18px!important;
  padding:18px 20px!important;
}

@media(max-width:960px){
  .as-blog-card--overlay .as-blog-card__media{min-height:360px;}
  .as-contact-v65__grid{grid-template-columns:1fr!important;gap:30px!important;}
  .as-contact-v65__map{min-height:540px!important;}
  .as-contact-v65__map-frame{min-height:440px!important;}
}
@media(max-width:640px){
  .as-blog-hero__image{border-radius:24px!important;}
  .as-blog-card--overlay .as-blog-card__media{min-height:350px;border-radius:24px!important;}
  .as-blog-card__overlay-copy{padding:24px;grid-template-columns:minmax(0,1fr) 46px;}
  .as-blog-card__overlay-copy .as-blog-card__meta{flex-direction:column;gap:3px;}
  .as-blog-card__arrow{width:46px;height:46px;}
  .as-contact-v65__hero{padding-top:92px!important;padding-bottom:26px!important;text-align:left!important;}
  .as-contact-v65__hero p{margin-left:0!important;}
  .as-contact-v65__content>.as-container{padding-inline:16px!important;}
  .as-contact-v65__details,.as-contact-v65__map,.as-contact-v65__form-card{border-radius:24px!important;}
  .as-contact-v65__details,.as-contact-v65__form-card{padding:28px 22px!important;}
  .as-contact-v65__item{grid-template-columns:48px minmax(0,1fr)!important;gap:16px!important;padding:22px 0!important;}
  .as-contact-v65__icon{width:46px!important;height:46px!important;}
  .as-contact-v65__map{padding:10px!important;min-height:455px!important;}
  .as-contact-v65__map-frame{min-height:360px!important;border-radius:18px!important;}
  .as-contact-v65__form-card{margin-top:30px!important;}
}

/* ================================================================
   ANIMAE 8.4 — CORRECTION RÉELLEMENT VISIBLE + CACHE-BUSTING
   ================================================================ */
/* Zéro rose, y compris les couleurs écrites directement par Elementor. */
html body,
html body .elementor,
html body .elementor-kit-5,
html body .elementor-kit-6,
html body .elementor-kit-7,
html body .elementor-kit-8 {
  --e-global-color-primary:#090909 !important;
  --e-global-color-secondary:#242424 !important;
  --e-global-color-text:#242424 !important;
  --e-global-color-accent:#090909 !important;
  --e-global-color-1a2b3c:#090909 !important;
}
html body .elementor-widget-heading .elementor-heading-title,
html body .elementor-widget-text-editor,
html body .elementor-widget-icon-list .elementor-icon-list-text,
html body .elementor-post__title a,
html body .elementor-post__read-more,
html body .elementor a:not(.elementor-button):not(.as-btn) {
  color:#111 !important;
}
html body .elementor-icon,
html body .elementor-icon svg { color:#111 !important; fill:#111 !important; }

/* BLOG — changement très visible : cartes 2 colonnes, photos plein cadre, titre en bas. */
body.blog .site-main,
body.home.blog .site-main,
body.blog .as-blog-modern,
body.blog .as-blog-listing { background:#fff !important; }
body.blog .as-blog-hero { padding-top:clamp(108px,11vw,168px) !important; }
body.blog .as-blog-hero > .as-container {
  max-width:1480px !important;
  grid-template-columns:minmax(0,.8fr) minmax(520px,1.2fr) !important;
  gap:clamp(54px,7vw,118px) !important;
}
body.blog .as-blog-hero__image {
  min-height:clamp(500px,56vw,760px) !important;
  border-radius:40px !important;
  overflow:hidden !important;
}
body.blog .as-blog-hero__image img { width:100%!important;height:100%!important;object-fit:cover!important; }
body.blog .as-blog-listing { padding:clamp(74px,9vw,145px) 0 !important; }
body.blog .as-blog-listing > .as-container { max-width:1480px !important; }
body.blog .as-blog-grid {
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:clamp(30px,4vw,62px) !important;
}
body.blog .as-blog-card--overlay .as-blog-card__media {
  min-height:520px !important;
  aspect-ratio:1.18/1 !important;
  border-radius:38px !important;
  border:1px solid rgba(0,0,0,.08) !important;
  box-shadow:0 24px 70px rgba(0,0,0,.10) !important;
}
body.blog .as-blog-card__overlay-copy { padding:clamp(30px,4vw,52px) !important; }
body.blog .as-blog-card__overlay-copy strong {
  font-size:clamp(1.9rem,3.2vw,3.45rem) !important;
  line-height:1.02 !important;
}
body.blog .as-blog-card__shade {
  background:linear-gradient(180deg,rgba(0,0,0,0) 20%,rgba(0,0,0,.12) 50%,rgba(0,0,0,.92) 100%) !important;
}

/* CONTACT — page blanche, large, très aérée et sans effet beige. */
body.page-contact,
body.page-contact main,
body.page-contact .as-contact-v65,
body.page-contact .as-contact-v65__hero,
body.page-contact .as-contact-v65__content { background:#fff !important; }
body.page-contact .as-contact-v65__hero {
  padding:clamp(92px,8vw,126px) 0 22px !important;
  text-align:left !important;
}
body.page-contact .as-contact-v65__hero-inner {
  max-width:1460px !important;
  padding-inline:clamp(24px,5vw,84px) !important;
}
body.page-contact .as-contact-v65__hero h1 {
  margin:8px 0 14px !important;
  font-size:clamp(3rem,6vw,6.2rem) !important;
}
body.page-contact .as-contact-v65__hero p {
  margin:0 !important;
  max-width:780px !important;
}
body.page-contact .as-contact-v65__content {
  padding:34px 0 clamp(96px,10vw,155px) !important;
}
body.page-contact .as-contact-v65__content > .as-container {
  max-width:1500px !important;
  padding-inline:clamp(24px,5vw,84px) !important;
}
body.page-contact .as-contact-v65__grid {
  grid-template-columns:minmax(430px,.78fr) minmax(620px,1.22fr) !important;
  gap:clamp(58px,7vw,118px) !important;
  align-items:start !important;
}
body.page-contact .as-contact-v65__details,
body.page-contact .as-contact-v65__map,
body.page-contact .as-contact-v65__form-card {
  background:#fff !important;
  border:1px solid #e7e7e7 !important;
  box-shadow:0 18px 60px rgba(0,0,0,.055) !important;
  border-radius:36px !important;
}
body.page-contact .as-contact-v65__details { padding:clamp(44px,5vw,76px) !important; }
body.page-contact .as-contact-v65__items { margin-top:54px !important; }
body.page-contact .as-contact-v65__item { padding:30px 0 !important; gap:26px !important; }
body.page-contact .as-contact-v65__map { padding:18px !important; min-height:720px !important; }
body.page-contact .as-contact-v65__map-frame { min-height:620px !important; border-radius:28px !important; background:#f4f4f4 !important; }
body.page-contact .as-contact-v65__form-card { margin-top:88px !important; padding:clamp(48px,6vw,88px) !important; }

@media (max-width:1100px){
  body.blog .as-blog-hero > .as-container{grid-template-columns:1fr!important;}
  body.blog .as-blog-grid{grid-template-columns:1fr!important;}
  body.page-contact .as-contact-v65__grid{grid-template-columns:1fr!important;gap:36px!important;}
  body.page-contact .as-contact-v65__map{min-height:560px!important;}
  body.page-contact .as-contact-v65__map-frame{min-height:470px!important;}
}
@media (max-width:680px){
  body.blog .as-blog-hero__image{min-height:420px!important;border-radius:26px!important;}
  body.blog .as-blog-card--overlay .as-blog-card__media{min-height:410px!important;border-radius:26px!important;}
  body.page-contact .as-contact-v65__hero-inner,
  body.page-contact .as-contact-v65__content>.as-container{padding-inline:16px!important;}
  body.page-contact .as-contact-v65__details,
  body.page-contact .as-contact-v65__map,
  body.page-contact .as-contact-v65__form-card{border-radius:26px!important;}
  body.page-contact .as-contact-v65__map{min-height:460px!important;}
  body.page-contact .as-contact-v65__map-frame{min-height:370px!important;}
}

/* ========================================================================== */
/* ANIMAE 8.4.1 — retour au pied de page précédent + CTA réellement collé    */
/* ========================================================================== */
/* On conserve le CTA graphique validé, sans modifier son contenu. */
.as-footer-cta.as-footer-cta--graphic{
  display:block!important;
  margin:0!important;
  padding:clamp(54px,6vw,82px) 24px 0!important;
  background:#fff!important;
}
.as-footer-cta--graphic .as-footer-cta__shell{
  width:min(1600px,100%)!important;
  max-width:none!important;
  margin:0 auto!important;
  border-radius:36px 36px 0 0!important;
  border-bottom:0!important;
}

/* Restauration du pied de page sombre précédent, sans carte blanche autour. */
.as-footer-cta--graphic + .as-footer-modern,
.as-footer-modern{
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  background:#0a0a0a!important;
  border:0!important;
  border-radius:0!important;
  color:#fff!important;
  box-shadow:none!important;
}
.as-footer-cta--graphic + .as-footer-modern > .as-container,
.as-footer-modern > .as-container{
  width:min(1600px,calc(100% - 48px))!important;
  max-width:none!important;
  margin:0 auto!important;
  padding:clamp(68px,7vw,110px) clamp(38px,5.5vw,92px) 0!important;
  background:#0a0a0a!important;
  border:0!important;
  border-radius:0 0 36px 36px!important;
  box-sizing:border-box!important;
  position:relative!important;
}
/* La jonction est immédiate et ne crée ni vide ni rupture. */
.as-footer-cta--graphic + .as-footer-modern > .as-container::before{
  content:""!important;
  position:absolute!important;
  top:0!important;
  left:clamp(38px,5.5vw,92px)!important;
  right:clamp(38px,5.5vw,92px)!important;
  height:1px!important;
  background:rgba(255,255,255,.13)!important;
}
.as-footer-modern__main{
  grid-template-columns:minmax(260px,.8fr) minmax(0,1.35fr)!important;
  gap:clamp(55px,8vw,120px)!important;
  padding-bottom:72px!important;
}
.as-footer-modern__nav{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:clamp(22px,2.5vw,42px)!important;
}
.as-footer-modern__newsletter{
  padding:38px 0!important;
}
.as-footer-modern__bottom{
  padding:25px 0 38px!important;
}

@media(max-width:1280px){
  .as-footer-modern__main{grid-template-columns:1fr!important;}
  .as-footer-modern__nav{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}
@media(max-width:820px){
  .as-footer-modern__nav{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:680px){
  .as-footer-cta.as-footer-cta--graphic{padding:46px 14px 0!important;}
  .as-footer-cta--graphic .as-footer-cta__shell{border-radius:26px 26px 0 0!important;}
  .as-footer-cta--graphic + .as-footer-modern > .as-container,
  .as-footer-modern > .as-container{
    width:calc(100% - 28px)!important;
    padding:56px 24px 0!important;
    border-radius:0 0 26px 26px!important;
  }
  .as-footer-cta--graphic + .as-footer-modern > .as-container::before{
    left:24px!important;
    right:24px!important;
  }
  .as-footer-modern__nav{grid-template-columns:1fr!important;gap:30px!important;}
  .as-footer-modern__newsletter{padding:34px 0!important;}
}

/* ========================================================================== */
/* ANIMAE 8.5.0 — CTA pleine largeur + nouvelle bibliothèque visuelle du blog */
/* ========================================================================== */
/* Le CTA et le footer touchent exactement les mêmes bords. */
.as-footer-cta.as-footer-cta--graphic {
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-bottom: 0 !important;
  width: 100% !important;
}
.as-footer-cta--graphic .as-footer-cta__shell {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  border-radius: 30px 30px 0 0 !important;
}
.as-footer-cta--graphic + .as-footer-modern {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.as-footer-cta--graphic + .as-footer-modern > .as-container {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  border-radius: 0 0 30px 30px !important;
}
/* Cercles plus fins et légèrement plus petits. */
.as-footer-cta__circle--one {
  width: clamp(230px, 29vw, 500px) !important;
  right: -4% !important;
  top: -38% !important;
}
.as-footer-cta__circle--two {
  width: clamp(135px, 16vw, 275px) !important;
  right: 10% !important;
  bottom: -31% !important;
}
.as-footer-cta__circle--three {
  width: 34px !important;
  height: 34px !important;
  box-shadow: 0 0 0 10px rgba(255,255,255,.065) !important;
}

/* Blog : nouvelles photos, cadrage éditorial et cartes réellement premium. */
.as-blog-grid {
  gap: clamp(24px, 3vw, 42px) !important;
}
.as-blog-card--overlay .as-blog-card__media {
  min-height: clamp(350px, 40vw, 540px) !important;
  border-radius: 30px !important;
  box-shadow: 0 20px 60px rgba(0,0,0,.08) !important;
}
.as-blog-card--overlay .as-blog-card__media img {
  object-position: center !important;
  filter: saturate(.96) contrast(1.02) !important;
}
.as-blog-card--overlay:nth-child(3n+2) .as-blog-card__media img { object-position: 45% center !important; }
.as-blog-card--overlay:nth-child(3n+3) .as-blog-card__media img { object-position: 58% center !important; }
.as-blog-card__shade {
  background: linear-gradient(180deg, transparent 35%, rgba(0,0,0,.16) 57%, rgba(0,0,0,.88) 100%) !important;
}
.as-blog-card__overlay-copy {
  padding: clamp(24px, 3vw, 40px) !important;
}
.as-blog-card__overlay-copy strong {
  max-width: 90% !important;
  font-size: clamp(1.55rem, 2.5vw, 2.65rem) !important;
  line-height: 1.08 !important;
  letter-spacing: -.045em !important;
}
.as-blog-card__arrow {
  width: 52px !important;
  height: 52px !important;
  border-radius: 50% !important;
  background: #fff !important;
  color: #090909 !important;
  border: 0 !important;
}
.as-blog-card:hover .as-blog-card__arrow { transform: rotate(45deg) scale(1.04); }
.as-single-article-media .as-hero__visual {
  aspect-ratio: 16/8.5 !important;
  border-radius: 32px !important;
  overflow: hidden !important;
}
.as-single-article-media .as-hero__visual img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
@media (max-width: 680px) {
  .as-footer-cta--graphic .as-footer-cta__shell { border-radius: 24px 24px 0 0 !important; }
  .as-footer-cta--graphic + .as-footer-modern > .as-container { border-radius: 0 0 24px 24px !important; }
  .as-blog-card--overlay .as-blog-card__media { min-height: 410px !important; border-radius: 24px !important; }
  .as-blog-card__overlay-copy { padding: 25px !important; }
}


/* ========================================================================== */
/* ANIMAE 8.6.0 — finitions CTA et pied de page                              */
/* ========================================================================== */
/* Suppression définitive du petit point décoratif du CTA. */
.as-footer-cta__circle--three{display:none!important;}

/* Le footer exploite davantage la largeur disponible pour conserver les liens
   sur une ligne sur les grands écrans. */
.as-footer-modern > .as-container{
  padding-left:clamp(28px,3.8vw,68px)!important;
  padding-right:clamp(28px,3.8vw,68px)!important;
}
.as-footer-modern__main{
  grid-template-columns:minmax(290px,.72fr) minmax(0,1.58fr)!important;
  gap:clamp(44px,5vw,86px)!important;
}
.as-footer-modern__nav{
  grid-template-columns:repeat(5,minmax(155px,1fr))!important;
  gap:clamp(18px,1.8vw,32px)!important;
}
.as-footer-modern__nav a,
.as-footer-modern__nav span{
  font-size:13px!important;
  line-height:1.38!important;
}
.as-footer-modern__nav a{white-space:nowrap!important;}
.as-footer-modern__nav h3{white-space:nowrap!important;}

/* Logo légèrement agrandi sans déséquilibrer le bloc de marque. */
.as-footer-modern__logo{
  width:min(100%,285px)!important;
  max-height:none!important;
  object-fit:contain!important;
}

/* Réseaux sociaux : grille stricte de 4 icônes puis 4 icônes. */
.as-footer-modern__socials{
  display:grid!important;
  grid-template-columns:repeat(4,44px)!important;
  gap:10px!important;
  width:max-content!important;
  max-width:206px!important;
  align-items:center!important;
}
.as-footer-modern__socials a{
  width:44px!important;
  height:44px!important;
  margin:0!important;
}
.as-footer-modern__socials svg{
  display:block!important;
  width:19px!important;
  height:19px!important;
  flex:none!important;
}
.as-footer-modern__socials .as-icon-instagram{
  width:20px!important;
  height:20px!important;
  overflow:visible!important;
}

@media(max-width:1380px){
  .as-footer-modern__main{grid-template-columns:1fr!important;}
  .as-footer-modern__nav{grid-template-columns:repeat(3,minmax(190px,1fr))!important;}
  .as-footer-modern__nav a{white-space:normal!important;}
}
@media(max-width:860px){
  .as-footer-modern__nav{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:560px){
  .as-footer-modern__logo{width:min(100%,250px)!important;}
  .as-footer-modern__nav{grid-template-columns:1fr!important;}
  .as-footer-modern__nav a{white-space:normal!important;}
  .as-footer-modern__socials{grid-template-columns:repeat(4,42px)!important;gap:9px!important;}
  .as-footer-modern__socials a{width:42px!important;height:42px!important;}
}

/* ========================================================================== */
/* ANIMAE 8.7.0 — Contact pleine largeur, aéré et réellement premium          */
/* ========================================================================== */
.as-contact-v65,
.as-contact-v65__hero,
.as-contact-v65__content {
  background:#fff !important;
}

.as-contact-v65__hero {
  padding:clamp(88px,7vw,118px) 0 clamp(28px,3vw,46px) !important;
  text-align:left !important;
  border-bottom:0 !important;
}

.as-contact-v65__hero-inner,
.as-contact-v65__content > .as-container {
  width:min(1640px,calc(100vw - 64px)) !important;
  max-width:none !important;
  margin-inline:auto !important;
  padding-inline:0 !important;
}

.as-contact-v65__hero-inner {
  max-width:none !important;
}

.as-contact-v65__hero h1 {
  max-width:900px !important;
  margin:10px 0 14px !important;
  font-size:clamp(3.2rem,5.7vw,6.6rem) !important;
}

.as-contact-v65__hero p {
  max-width:760px !important;
  margin:0 !important;
}

.as-contact-v65__content {
  padding:0 0 clamp(110px,10vw,170px) !important;
}

.as-contact-v65__grid {
  display:grid !important;
  grid-template-columns:minmax(460px,.82fr) minmax(700px,1.18fr) !important;
  gap:clamp(64px,6vw,112px) !important;
  align-items:stretch !important;
}

.as-contact-v65__details,
.as-contact-v65__map,
.as-contact-v65__form-card {
  background:#fff !important;
  border:1px solid #e8e8e8 !important;
  border-radius:38px !important;
  box-shadow:0 26px 90px rgba(0,0,0,.055) !important;
}

.as-contact-v65__details {
  padding:clamp(54px,5vw,82px) !important;
  min-width:0 !important;
}

.as-contact-v65__details h2 {
  max-width:600px !important;
  margin:14px 0 24px !important;
  font-size:clamp(3rem,4.3vw,5.2rem) !important;
  line-height:.98 !important;
}

.as-contact-v65__intro {
  max-width:650px !important;
  margin:0 !important;
  font-size:clamp(1rem,1.15vw,1.13rem) !important;
  line-height:1.9 !important;
}

.as-contact-v65__items {
  margin-top:52px !important;
  gap:0 !important;
}

.as-contact-v65__item {
  grid-template-columns:58px minmax(0,1fr) !important;
  gap:24px !important;
  padding:28px 0 !important;
}

.as-contact-v65__icon {
  width:54px !important;
  height:54px !important;
}

.as-contact-v65__item a,
.as-contact-v65__item address {
  font-size:clamp(1rem,1.05vw,1.14rem) !important;
  line-height:1.7 !important;
}

.as-contact-v65__follow {
  margin-top:42px !important;
  padding-top:32px !important;
}

.as-contact-v65__socials {
  gap:12px !important;
}

.as-contact-v65__map {
  min-height:760px !important;
  padding:18px !important;
}

.as-contact-v65__map-frame {
  min-height:655px !important;
  border-radius:29px !important;
  background:#f2f2f2 !important;
}

.as-contact-v65__map-frame iframe {
  filter:none !important;
}

.as-contact-v65__route {
  margin:16px 2px 0 !important;
  padding:20px 26px !important;
  border-radius:999px !important;
}

.as-contact-v65__form-card {
  width:100% !important;
  margin-top:clamp(70px,7vw,110px) !important;
  padding:clamp(54px,6vw,92px) !important;
}

.as-contact-v65__form-heading {
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr) !important;
  gap:clamp(44px,7vw,120px) !important;
  margin-bottom:clamp(46px,5vw,72px) !important;
}

.as-contact-v65__form-heading h2 {
  font-size:clamp(2.8rem,4.6vw,5.5rem) !important;
}

.as-contact-v65__form {
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  column-gap:28px !important;
  row-gap:26px !important;
}

.as-contact-v65__form > div {
  gap:11px !important;
}

.as-contact-v65__form input,
.as-contact-v65__form textarea {
  min-height:60px !important;
  padding:18px 20px !important;
  border:1px solid #dcdcdc !important;
  border-radius:18px !important;
  background:#fff !important;
  box-shadow:none !important;
}

.as-contact-v65__form textarea {
  min-height:210px !important;
}

.as-contact-v65__form input:focus,
.as-contact-v65__form textarea:focus {
  border-color:#000 !important;
  background:#fff !important;
  box-shadow:0 0 0 4px rgba(0,0,0,.055) !important;
}

.as-contact-v65__submit {
  min-height:62px !important;
  padding-inline:30px !important;
  border-radius:999px !important;
}

@media (max-width:1280px) {
  .as-contact-v65__grid {
    grid-template-columns:minmax(390px,.9fr) minmax(0,1.1fr) !important;
    gap:42px !important;
  }
}

@media (max-width:1040px) {
  .as-contact-v65__hero-inner,
  .as-contact-v65__content > .as-container {
    width:min(920px,calc(100vw - 40px)) !important;
  }
  .as-contact-v65__grid {
    grid-template-columns:1fr !important;
    gap:38px !important;
  }
  .as-contact-v65__map {
    min-height:590px !important;
  }
  .as-contact-v65__map-frame {
    min-height:490px !important;
  }
}

@media (max-width:720px) {
  .as-contact-v65__hero-inner,
  .as-contact-v65__content > .as-container {
    width:calc(100vw - 28px) !important;
  }
  .as-contact-v65__hero {
    padding-top:88px !important;
    padding-bottom:24px !important;
  }
  .as-contact-v65__details,
  .as-contact-v65__map,
  .as-contact-v65__form-card {
    border-radius:26px !important;
  }
  .as-contact-v65__details,
  .as-contact-v65__form-card {
    padding:30px 22px !important;
  }
  .as-contact-v65__item {
    grid-template-columns:50px minmax(0,1fr) !important;
    gap:16px !important;
    padding:23px 0 !important;
  }
  .as-contact-v65__icon {
    width:48px !important;
    height:48px !important;
  }
  .as-contact-v65__map {
    min-height:470px !important;
    padding:10px !important;
  }
  .as-contact-v65__map-frame {
    min-height:380px !important;
    border-radius:19px !important;
  }
  .as-contact-v65__form-heading,
  .as-contact-v65__form {
    grid-template-columns:1fr !important;
  }
  .as-contact-v65__form-heading {
    gap:18px !important;
  }
  .as-contact-v65__full {
    grid-column:auto !important;
  }
  .as-contact-v65__submit {
    width:100% !important;
    justify-content:center !important;
  }
}

/* ========================================================================== */
/* ANIMAE 8.7.1 — Contact, retour au format compact de la maquette validée    */
/* ========================================================================== */
body.page-contact .as-contact-v65,
body.page-contact .as-contact-v65__hero,
body.page-contact .as-contact-v65__content{background:#fff!important;}

body.page-contact .as-contact-v65__hero{
  padding:42px 0 34px!important;
  text-align:center!important;
}
body.page-contact .as-contact-v65__hero-inner,
body.page-contact .as-contact-v65__content>.as-container{
  width:min(950px,calc(100vw - 44px))!important;
  max-width:950px!important;
  padding-inline:0!important;
  margin-inline:auto!important;
}
body.page-contact .as-contact-v65__hero h1{
  margin:0!important;
  font-size:clamp(2rem,3vw,3rem)!important;
  line-height:1.08!important;
  text-align:center!important;
  letter-spacing:-.045em!important;
}
body.page-contact .as-contact-v65__content{
  padding:18px 0 100px!important;
}
body.page-contact .as-contact-v65__grid{
  display:grid!important;
  grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr)!important;
  gap:62px!important;
  align-items:start!important;
}
body.page-contact .as-contact-v65__details,
body.page-contact .as-contact-v65__map,
body.page-contact .as-contact-v65__form-card{
  background:#fff!important;
  border:0!important;
  box-shadow:none!important;
  border-radius:0!important;
}
body.page-contact .as-contact-v65__details{
  padding:0!important;
}
body.page-contact .as-contact-v65__details .as-eyebrow{
  display:none!important;
}
body.page-contact .as-contact-v65__details h2{
  margin:0 0 15px!important;
  font-size:clamp(1.65rem,2.4vw,2.25rem)!important;
  line-height:1.1!important;
  letter-spacing:-.035em!important;
}
body.page-contact .as-contact-v65__intro{
  margin:0 0 18px!important;
  max-width:440px!important;
  font-size:.96rem!important;
  line-height:1.75!important;
  color:#333!important;
}
body.page-contact .as-contact-v65__items{
  margin-top:8px!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:0 26px!important;
}
body.page-contact .as-contact-v65__item{
  display:block!important;
  padding:14px 0!important;
  border-bottom:1px solid #111!important;
}
body.page-contact .as-contact-v65__item:nth-child(3){
  grid-column:1/-1!important;
  border-bottom:0!important;
}
body.page-contact .as-contact-v65__icon{display:none!important;}
body.page-contact .as-contact-v65__label{
  display:block!important;
  margin-bottom:6px!important;
  font-size:.88rem!important;
  font-weight:500!important;
  letter-spacing:0!important;
  text-transform:none!important;
  color:#333!important;
}
body.page-contact .as-contact-v65__item a,
body.page-contact .as-contact-v65__item address{
  display:block!important;
  font-size:.93rem!important;
  line-height:1.65!important;
  font-style:normal!important;
  color:#111!important;
}
body.page-contact .as-contact-v65__follow{
  margin-top:10px!important;
  padding-top:0!important;
  border:0!important;
}
body.page-contact .as-contact-v65__socials{
  gap:13px!important;
  margin-top:8px!important;
}
body.page-contact .as-contact-v65__socials a{
  width:27px!important;
  height:27px!important;
  border:0!important;
  background:transparent!important;
  color:#000!important;
}
body.page-contact .as-contact-v65__socials svg{
  width:18px!important;
  height:18px!important;
}
body.page-contact .as-contact-v65__map{
  min-height:0!important;
  padding:0!important;
}
body.page-contact .as-contact-v65__map-frame{
  min-height:0!important;
  height:300px!important;
  overflow:hidden!important;
  border-radius:0!important;
  background:#f3f3f3!important;
}
body.page-contact .as-contact-v65__map-frame iframe{
  width:100%!important;
  height:100%!important;
  filter:none!important;
}
body.page-contact .as-contact-v65__route{
  display:none!important;
}
body.page-contact .as-contact-v65__form-card{
  width:100%!important;
  margin-top:66px!important;
  padding:0!important;
}
body.page-contact .as-contact-v65__form-heading{display:none!important;}
body.page-contact .as-contact-v65__form{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:18px 20px!important;
}
body.page-contact .as-contact-v65__form>div{
  display:flex!important;
  flex-direction:column!important;
  gap:7px!important;
}
body.page-contact .as-contact-v65__form label{
  font-size:.82rem!important;
  font-weight:500!important;
  color:#111!important;
}
body.page-contact .as-contact-v65__form input,
body.page-contact .as-contact-v65__form textarea{
  width:100%!important;
  min-height:43px!important;
  padding:10px 12px!important;
  border:1px solid #222!important;
  border-radius:0!important;
  background:#fff!important;
  color:#111!important;
  box-shadow:none!important;
  font-size:16px!important;
}
body.page-contact .as-contact-v65__form textarea{
  min-height:126px!important;
  resize:vertical!important;
}
body.page-contact .as-contact-v65__full{grid-column:1/-1!important;}
body.page-contact .as-contact-v65__submit{
  width:max-content!important;
  min-height:40px!important;
  padding:10px 20px!important;
  border-radius:0!important;
  background:#000!important;
  color:#fff!important;
  font-size:.85rem!important;
}
body.page-contact .as-contact-v65__submit span{display:none!important;}

@media(max-width:800px){
  body.page-contact .as-contact-v65__hero-inner,
  body.page-contact .as-contact-v65__content>.as-container{
    width:min(620px,calc(100vw - 32px))!important;
  }
  body.page-contact .as-contact-v65__grid{
    grid-template-columns:1fr!important;
    gap:38px!important;
  }
  body.page-contact .as-contact-v65__map-frame{height:330px!important;}
  body.page-contact .as-contact-v65__form-card{margin-top:46px!important;}
}
@media(max-width:560px){
  body.page-contact .as-contact-v65__hero{padding:30px 0 24px!important;}
  body.page-contact .as-contact-v65__items,
  body.page-contact .as-contact-v65__form{grid-template-columns:1fr!important;}
  body.page-contact .as-contact-v65__item:nth-child(3),
  body.page-contact .as-contact-v65__full{grid-column:auto!important;}
  body.page-contact .as-contact-v65__map-frame{height:285px!important;border-radius:14px!important;}
  body.page-contact .as-contact-v65__submit{width:100%!important;border-radius:999px!important;}
}

/* =========================================================
   CONTACT 8.8.0 — refonte premium propre et aérée
   ========================================================= */
body.page-contact,body[class*="page-contact"]{background:#fff!important;}
.as-contact-premium,.as-contact-premium *{box-sizing:border-box;}
.as-contact-premium{background:#fff;color:#090909;font-family:Poppins,sans-serif;}
.as-contact-premium__container{width:min(1320px,calc(100vw - 80px));margin:0 auto;}
.as-contact-premium__hero{padding:72px 0 54px;border-bottom:1px solid #ececec;background:#fff;}
.as-contact-premium__eyebrow,.as-contact-premium__kicker{display:flex;align-items:center;gap:14px;font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#6d6d6d;}
.as-contact-premium__eyebrow i{display:block;width:30px;height:1px;background:#111;}
.as-contact-premium__hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.75fr);gap:100px;align-items:end;margin-top:26px;}
.as-contact-premium__hero h1{margin:0!important;font-family:"Plus Jakarta Sans",sans-serif!important;font-size:clamp(58px,7vw,104px)!important;line-height:.92!important;letter-spacing:-.07em!important;font-weight:800!important;color:#050505!important;}
.as-contact-premium__hero p{margin:0 0 8px!important;max-width:560px;font-size:18px!important;line-height:1.72!important;color:#5d5d5d!important;}
.as-contact-premium__main{padding:54px 0 108px;background:#fff;}
.as-contact-premium__grid{display:grid;grid-template-columns:minmax(390px,.8fr) minmax(560px,1.2fr);gap:34px;align-items:stretch;}
.as-contact-premium__info-card,.as-contact-premium__map-card,.as-contact-premium__form-card{background:#fff;border:1px solid #e8e8e8;border-radius:30px;box-shadow:0 18px 60px rgba(0,0,0,.045);}
.as-contact-premium__info-card{padding:46px 46px 40px;display:flex;flex-direction:column;justify-content:space-between;min-height:610px;}
.as-contact-premium__info-card h2,.as-contact-premium__map-head h2,.as-contact-premium__form-copy h2{margin:12px 0 18px!important;font-family:"Plus Jakarta Sans",sans-serif!important;font-weight:800!important;letter-spacing:-.045em!important;color:#090909!important;}
.as-contact-premium__info-card h2{font-size:38px!important;line-height:1.05!important;}
.as-contact-premium__intro{margin:0!important;max-width:500px;font-size:15px!important;line-height:1.75!important;color:#626262!important;}
.as-contact-premium__details{display:grid;gap:0;margin-top:32px;border-top:1px solid #ececec;}
.as-contact-premium__detail{display:grid;grid-template-columns:48px 1fr;gap:18px;align-items:start;padding:24px 0;border-bottom:1px solid #ececec;color:#0b0b0b!important;text-decoration:none!important;}
.as-contact-premium__icon{display:flex;width:48px;height:48px;align-items:center;justify-content:center;border-radius:50%;background:#080808;color:#fff;}
.as-contact-premium__icon svg{width:20px;height:20px;}
.as-contact-premium__detail small{display:block;margin:1px 0 7px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#8a8a8a;}
.as-contact-premium__detail strong{display:block;font-size:14px;line-height:1.65;font-weight:600;color:#101010;}
.as-contact-premium__social-block{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:28px;}
.as-contact-premium__social-block>span{font-size:11px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:#777;}
.as-contact-premium__socials{display:flex;flex-wrap:wrap;gap:9px;}
.as-contact-premium__socials a{display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;border:1px solid #dedede;border-radius:50%;color:#111!important;text-decoration:none!important;font-size:13px;font-weight:700;transition:.25s ease;}
.as-contact-premium__socials a:hover{background:#000;color:#fff!important;border-color:#000;transform:translateY(-2px);}
.as-contact-premium__socials svg{width:16px;height:16px;display:block;}
.as-contact-premium__map-card{padding:18px;display:flex;flex-direction:column;min-height:610px;}
.as-contact-premium__map-head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;padding:22px 22px 20px;}
.as-contact-premium__map-head span{font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#858585;}
.as-contact-premium__map-head h2{font-size:28px!important;line-height:1.1!important;margin-bottom:0!important;}
.as-contact-premium__map-head a{display:inline-flex;align-items:center;gap:12px;padding:13px 18px;border-radius:999px;background:#000;color:#fff!important;text-decoration:none!important;font-size:13px;font-weight:600;white-space:nowrap;}
.as-contact-premium__map-head svg{width:17px;height:17px;}
.as-contact-premium__map-frame{flex:1;min-height:480px;overflow:hidden;border-radius:22px;background:#f4f4f4;}
.as-contact-premium__map-frame iframe{display:block;width:100%;height:100%;min-height:480px;border:0;filter:none!important;}
.as-contact-premium__form-card{display:grid;grid-template-columns:minmax(310px,.72fr) minmax(0,1.28fr);gap:72px;margin-top:34px;padding:54px;}
.as-contact-premium__form-copy{padding-right:34px;border-right:1px solid #ececec;}
.as-contact-premium__form-copy h2{font-size:42px!important;line-height:1.05!important;margin-top:16px!important;}
.as-contact-premium__form-copy p{margin:0!important;font-size:15px!important;line-height:1.75!important;color:#666!important;}
.as-contact-premium__form{display:grid;grid-template-columns:1fr 1fr;gap:22px 18px;}
.as-contact-premium__form label{display:block;margin:0!important;}
.as-contact-premium__form label>span{display:block;margin-bottom:9px;font-size:11px;font-weight:600;letter-spacing:.05em;color:#292929;}
.as-contact-premium__form input,.as-contact-premium__form textarea{width:100%!important;margin:0!important;padding:15px 17px!important;border:1px solid #dcdcdc!important;border-radius:16px!important;background:#fff!important;color:#111!important;font-family:Poppins,sans-serif!important;font-size:14px!important;box-shadow:none!important;outline:none;transition:border-color .2s,box-shadow .2s;}
.as-contact-premium__form input{height:52px!important;}
.as-contact-premium__form textarea{min-height:150px!important;resize:vertical;}
.as-contact-premium__form input:focus,.as-contact-premium__form textarea:focus{border-color:#111!important;box-shadow:0 0 0 4px rgba(0,0,0,.06)!important;}
.as-contact-premium__wide{grid-column:1/-1;}
.as-contact-premium__actions{display:flex;justify-content:flex-end;margin-top:2px;}
.as-contact-premium__actions button{display:inline-flex!important;align-items:center;justify-content:center;gap:14px;min-height:54px!important;padding:0 25px!important;border:1px solid #000!important;border-radius:999px!important;background:#000!important;color:#fff!important;font-size:13px!important;font-weight:600!important;text-transform:none!important;letter-spacing:0!important;cursor:pointer;transition:.25s ease;}
.as-contact-premium__actions button:hover{background:#fff!important;color:#000!important;transform:translateY(-2px);}
.as-contact-premium__actions svg{width:18px;height:18px;}
@media(max-width:1050px){
 .as-contact-premium__container{width:min(920px,calc(100vw - 48px));}
 .as-contact-premium__hero-grid{gap:50px;}
 .as-contact-premium__grid{grid-template-columns:1fr;}
 .as-contact-premium__info-card,.as-contact-premium__map-card{min-height:auto;}
 .as-contact-premium__map-frame,.as-contact-premium__map-frame iframe{min-height:420px;}
 .as-contact-premium__form-card{grid-template-columns:1fr;gap:38px;}
 .as-contact-premium__form-copy{padding-right:0;padding-bottom:30px;border-right:0;border-bottom:1px solid #ececec;}
}
@media(max-width:700px){
 .as-contact-premium__container{width:calc(100vw - 30px);}
 .as-contact-premium__hero{padding:42px 0 34px;}
 .as-contact-premium__hero-grid{grid-template-columns:1fr;gap:28px;margin-top:20px;}
 .as-contact-premium__hero h1{font-size:54px!important;}
 .as-contact-premium__hero p{font-size:15px!important;}
 .as-contact-premium__main{padding:24px 0 70px;}
 .as-contact-premium__info-card{padding:30px 24px;border-radius:24px;}
 .as-contact-premium__info-card h2{font-size:31px!important;}
 .as-contact-premium__social-block{align-items:flex-start;flex-direction:column;}
 .as-contact-premium__map-card{padding:12px;border-radius:24px;}
 .as-contact-premium__map-head{align-items:flex-start;flex-direction:column;padding:18px 14px;}
 .as-contact-premium__map-frame,.as-contact-premium__map-frame iframe{min-height:330px;}
 .as-contact-premium__form-card{margin-top:20px;padding:30px 24px;border-radius:24px;}
 .as-contact-premium__form-copy h2{font-size:34px!important;}
 .as-contact-premium__form{grid-template-columns:1fr;}
 .as-contact-premium__wide{grid-column:auto;}
 .as-contact-premium__actions{justify-content:stretch;}
 .as-contact-premium__actions button{width:100%;}
}


/* ==========================================================================\n   ANIMAE 8.8.1 — accueil sans double CTA, Instagram et menu simplifié\n   ========================================================================== */
/* Le CTA central de l'accueil est supprimé dans front-page.php : seul le CTA
   fusionné au pied de page reste affiché. */

/* Une seule ligne de survol sous les entrées du menu. */
.as-nav__item > a,
.as-nav__item > a:hover,
.as-nav__item.current-menu-item > a {
  text-decoration: none !important;
  box-shadow: none !important;
  border-bottom: 0 !important;
  background-image: none !important;
}
.as-nav__item > a::before {
  content: none !important;
  display: none !important;
}
.as-nav__item > a::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: auto !important;
  bottom: -8px !important;
  width: 0 !important;
  height: 1px !important;
  background: currentColor !important;
  opacity: .9 !important;
  transform: none !important;
  transition: width .28s ease !important;
}
.as-nav__item > a:hover::after,
.as-nav__item.current-menu-item > a::after,
.as-nav__item.current-menu-ancestor > a::after {
  width: 100% !important;
}

/* Vraie icône Instagram, nette et cohérente avec les autres réseaux. */
.as-footer-modern__socials a[aria-label="Instagram"] .as-icon-instagram {
  display: block !important;
  width: 20px !important;
  height: 20px !important;
  fill: currentColor !important;
  stroke: none !important;
  overflow: visible !important;
}

/* ========================================================================== 
   ANIMAE 8.8.2 — menu pilule propre + bouton Signaler blanc
   ========================================================================== */
@media (min-width: 981px) {
  .as-header__inner {
    column-gap: clamp(28px, 3vw, 58px) !important;
  }

  .as-nav__list {
    gap: 2px !important;
  }

  .as-nav__list > li > a,
  .as-nav__list > li > .as-nav__toggle {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 44px !important;
    padding: 10px 15px !important;
    border-radius: 999px !important;
    background: transparent !important;
    color: #090909 !important;
    box-shadow: none !important;
    border: 0 !important;
    transition: background-color .22s ease, color .22s ease, transform .22s ease !important;
  }

  .as-nav__list > li:hover > a,
  .as-nav__list > li:hover > .as-nav__toggle,
  .as-nav__list > li.current-menu-item > a,
  .as-nav__list > li.current-menu-ancestor > a,
  .as-nav__list > li.current-menu-item > .as-nav__toggle,
  .as-nav__list > li.current-menu-ancestor > .as-nav__toggle {
    background: #f1f1f1 !important;
    color: #090909 !important;
    box-shadow: none !important;
    transform: none !important;
  }

  .as-nav__item > a::before,
  .as-nav__item > a::after,
  .as-nav__list > li > .as-nav__toggle::before,
  .as-nav__list > li > .as-nav__toggle::after {
    content: none !important;
    display: none !important;
  }

  .as-nav__list .sub-menu {
    margin-top: 9px !important;
    padding: 11px !important;
    min-width: 245px !important;
    border: 1px solid #e4e4e4 !important;
    border-radius: 18px !important;
    background: rgba(255,255,255,.98) !important;
    box-shadow: 0 22px 55px rgba(0,0,0,.11) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
  }

  .as-nav__list .sub-menu a {
    padding: 12px 14px !important;
    border-radius: 11px !important;
    color: #0a0a0a !important;
    background: transparent !important;
    transition: background-color .2s ease, padding-left .2s ease !important;
  }

  .as-nav__list .sub-menu a:hover,
  .as-nav__list .sub-menu .current-menu-item > a {
    background: #f3f3f3 !important;
    padding-left: 17px !important;
  }

  .as-header__actions > .as-btn--ghost {
    background: #fff !important;
    color: #080808 !important;
    border: 1.5px solid #080808 !important;
    box-shadow: none !important;
  }

  .as-header__actions > .as-btn--ghost:hover {
    background: #f3f3f3 !important;
    color: #080808 !important;
    border-color: #080808 !important;
    transform: translateY(-1px) !important;
  }

  .as-header__actions > .as-btn:not(.as-btn--ghost) {
    background: #050505 !important;
    color: #fff !important;
    border-color: #050505 !important;
  }
}

/* =========================================================
   ANIMAE 8.8.3 — HERO ACCUEIL AUX PROPORTIONS VALIDÉES
   La photo grandit sans réduire, déplacer ou chevaucher le texte.
   ========================================================= */
@media (min-width: 1181px) {
  body.home .as-hero .as-container {
    width: min(1440px, calc(100% - 64px)) !important;
    max-width: 1440px !important;
  }

  body.home .as-hero__grid {
    grid-template-columns: 520px minmax(0, 780px) !important;
    justify-content: center !important;
    column-gap: clamp(64px, 5vw, 92px) !important;
    align-items: center !important;
  }

  body.home .as-home-hero-copy {
    width: 520px !important;
    min-width: 520px !important;
    max-width: 520px !important;
    position: relative !important;
    z-index: 2 !important;
  }

  body.home .as-home-hero-title {
    width: 100% !important;
    max-width: 520px !important;
    font-size: clamp(72px, 5.15vw, 88px) !important;
    line-height: .88 !important;
    letter-spacing: -.052em !important;
    margin: 23px 0 36px !important;
  }

  body.home .as-home-hero-title > span {
    width: 100% !important;
    white-space: nowrap !important;
  }

  body.home .as-hero .lead {
    width: 100% !important;
    max-width: 505px !important;
    font-size: 18px !important;
    line-height: 1.62 !important;
  }

  body.home .as-home-hero-media {
    width: 100% !important;
    max-width: 780px !important;
    min-width: 0 !important;
    justify-self: end !important;
  }

  body.home .as-hero__visual--full {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1.48 / 1 !important;
    min-height: 0 !important;
    border-radius: 30px !important;
  }

  body.home .as-hero__visual--full .as-home-hero-image,
  body.home .as-hero__visual--full > img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center 51% !important;
    transform: scale(1.025) !important;
  }

  body.home .as-home-hero-media:hover .as-home-hero-image {
    transform: scale(1.045) !important;
  }

  body.home .as-hero__badge {
    margin-top: -29px !important;
    margin-left: 22px !important;
  }
}

/* Écrans intermédiaires : le texte conserve sa largeur et l'image absorbe seule l'ajustement. */
@media (min-width: 901px) and (max-width: 1180px) {
  body.home .as-hero .as-container {
    width: min(1120px, calc(100% - 48px)) !important;
  }
  body.home .as-hero__grid {
    grid-template-columns: minmax(410px, 470px) minmax(0, 1fr) !important;
    gap: 50px !important;
  }
  body.home .as-home-hero-copy {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 470px !important;
  }
  body.home .as-home-hero-title {
    max-width: 470px !important;
    font-size: clamp(60px, 6.1vw, 76px) !important;
  }
  body.home .as-home-hero-title > span { white-space: nowrap !important; }
  body.home .as-home-hero-media { min-width: 0 !important; }
  body.home .as-hero__visual--full { aspect-ratio: 1.45 / 1 !important; }
}

@media (max-width: 900px) {
  body.home .as-home-hero-copy,
  body.home .as-home-hero-title,
  body.home .as-hero .lead,
  body.home .as-home-hero-media {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }
  body.home .as-home-hero-title > span { white-space: normal !important; }
}

/* =========================================================
   À PROPOS 8.8.4 — page premium et textes plus lisibles
   ========================================================= */
.as-about-page{background:#fff;color:#090909;overflow:hidden}
.as-about-page .as-container{width:min(1380px,calc(100% - 72px));margin-inline:auto}
.as-about-hero{padding:92px 0 82px;background:#fff}
.as-about-hero__grid{display:grid;grid-template-columns:minmax(0,.86fr) minmax(540px,1.14fr);gap:82px;align-items:center}
.as-about-hero__content{max-width:650px}
.as-about-hero__content h1{margin:22px 0 26px!important;font-family:"Plus Jakarta Sans",sans-serif!important;font-size:clamp(48px,5vw,78px)!important;line-height:1.02!important;letter-spacing:-.065em!important;font-weight:800!important;color:#050505!important}
.as-about-hero__content>p{max-width:610px;margin:0!important;font-family:Poppins,sans-serif!important;font-size:19px!important;line-height:1.78!important;color:#5c5c61!important}
.as-about-hero__actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px}
.as-about-hero__actions .as-btn{border-radius:999px!important;padding:16px 25px!important}
.as-about-hero__media{position:relative;min-height:610px;border-radius:34px;overflow:visible}
.as-about-hero__media>img{width:100%;height:610px;display:block;object-fit:cover;object-position:center;border-radius:34px}
.as-about-hero__note{position:absolute;left:32px;bottom:-30px;display:flex;flex-direction:column;gap:4px;min-width:250px;padding:19px 24px;border-radius:20px;background:#050505;color:#fff;box-shadow:0 20px 50px rgba(0,0,0,.18)}
.as-about-hero__note strong{font:700 15px/1.3 "Plus Jakarta Sans",sans-serif}.as-about-hero__note span{font:400 13px/1.4 Poppins,sans-serif;color:#bcbcbc}
.as-about-intro{padding:130px 0 118px!important;background:#f8f8f7}
.as-about-intro__grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:110px;align-items:start}
.as-about-intro__heading h2,.as-about-section-head h2,.as-about-story__content h2{margin:19px 0 0!important;font-family:"Plus Jakarta Sans",sans-serif!important;font-weight:800!important;letter-spacing:-.055em!important;color:#080808!important}
.as-about-intro__heading h2{font-size:clamp(39px,4.1vw,62px)!important;line-height:1.08!important}
.as-about-intro__copy p{margin:0 0 24px!important;font-family:Poppins,sans-serif!important;font-size:19px!important;line-height:1.9!important;color:#4d4d52!important}
.as-about-mission{padding:118px 0!important}
.as-about-section-head{max-width:850px;margin-bottom:55px}
.as-about-section-head h2{font-size:clamp(38px,4vw,60px)!important;line-height:1.08!important}
.as-about-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.as-about-card{min-height:330px;padding:36px;border:1px solid #e2e2e2;border-radius:28px;background:#fff;transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}
.as-about-card:hover{transform:translateY(-6px);border-color:#cfcfcf;box-shadow:0 22px 55px rgba(0,0,0,.08)}
.as-about-card__number{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:#050505;color:#fff;font:700 13px/1 "Plus Jakarta Sans",sans-serif}
.as-about-card h3{margin:72px 0 15px!important;font:800 29px/1.15 "Plus Jakarta Sans",sans-serif!important;letter-spacing:-.04em!important;color:#080808!important}
.as-about-card p{margin:0!important;font:400 17px/1.75 Poppins,sans-serif!important;color:#5b5b60!important}
.as-about-story{padding:118px 0!important;background:#0a0a0a;color:#fff}
.as-about-story__grid{display:grid;grid-template-columns:minmax(440px,.95fr) minmax(0,1.05fr);gap:95px;align-items:center}
.as-about-story__media img{width:100%;height:650px;display:block;object-fit:cover;border-radius:32px}
.as-about-story__content .as-eyebrow{color:#c7c7c7!important}
.as-about-story__content h2{font-size:clamp(40px,4.2vw,64px)!important;line-height:1.06!important;color:#fff!important}
.as-about-story__content>p{margin:26px 0 32px!important;font:400 18px/1.85 Poppins,sans-serif!important;color:#c1c1c1!important}
.as-about-list{list-style:none;margin:0;padding:0;border-top:1px solid rgba(255,255,255,.16)}
.as-about-list li{position:relative;margin:0;padding:19px 0 19px 32px;border-bottom:1px solid rgba(255,255,255,.16);font:500 16px/1.55 Poppins,sans-serif;color:#f3f3f3}
.as-about-list li:before{content:"";position:absolute;left:2px;top:27px;width:14px;height:1px;background:#fff}
.as-about-values{padding:118px 0 138px!important;background:#fff}
.as-about-values__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #dedede;border-left:1px solid #dedede;border-radius:28px;overflow:hidden}
.as-about-value{min-height:250px;padding:40px;border-right:1px solid #dedede;border-bottom:1px solid #dedede;background:#fff}
.as-about-value h3{margin:0 0 18px!important;font:800 30px/1.15 "Plus Jakarta Sans",sans-serif!important;letter-spacing:-.04em!important;color:#080808!important}
.as-about-value p{margin:0!important;max-width:540px;font:400 17px/1.8 Poppins,sans-serif!important;color:#58585d!important}
@media(max-width:1100px){.as-about-page .as-container{width:min(100% - 44px,1120px)}.as-about-hero__grid,.as-about-intro__grid,.as-about-story__grid{gap:48px}.as-about-hero__grid{grid-template-columns:1fr 1fr}.as-about-hero__media,.as-about-hero__media>img{min-height:500px;height:500px}.as-about-cards{grid-template-columns:1fr}.as-about-card{min-height:250px}.as-about-card h3{margin-top:42px!important}}
@media(max-width:820px){.as-about-hero{padding:58px 0 76px}.as-about-hero__grid,.as-about-intro__grid,.as-about-story__grid{grid-template-columns:1fr}.as-about-hero__content{max-width:none}.as-about-hero__content h1{font-size:clamp(42px,11vw,61px)!important}.as-about-hero__content>p,.as-about-intro__copy p{font-size:17px!important}.as-about-hero__media,.as-about-hero__media>img{height:470px;min-height:470px}.as-about-intro{padding:100px 0 88px!important}.as-about-story__media img{height:500px}.as-about-values__grid{grid-template-columns:1fr}}
@media(max-width:560px){.as-about-page .as-container{width:calc(100% - 28px)}.as-about-hero{padding-top:42px}.as-about-hero__actions{display:grid;grid-template-columns:1fr}.as-about-hero__actions .as-btn{width:100%;justify-content:center}.as-about-hero__media,.as-about-hero__media>img{height:390px;min-height:390px;border-radius:24px}.as-about-hero__note{left:16px;right:16px;bottom:-30px;min-width:0}.as-about-section-head{margin-bottom:34px}.as-about-card{padding:28px;border-radius:22px}.as-about-story__media img{height:420px;border-radius:24px}.as-about-value{padding:28px;min-height:0}}

/* =========================================================
   VERSION 8.8.5 — logo menu + page Services premium
   ========================================================= */
@media (min-width: 1025px){
  .as-logo img,
  .as-logo .custom-logo-link img{
    height:88px!important;
    max-height:88px!important;
    width:auto!important;
    max-width:220px!important;
    object-fit:contain!important;
  }
}

.as-services-page{background:#fff;color:#080808}
.as-services-page .as-container{width:min(100% - 64px,1320px)}
.as-services-hero{padding:92px 0 82px;background:#fff}
.as-services-hero__grid{display:grid;grid-template-columns:minmax(0,.86fr) minmax(540px,1.14fr);gap:82px;align-items:center}
.as-services-hero__content{max-width:650px}
.as-services-hero__content h1{margin:22px 0 26px!important;font-family:"Plus Jakarta Sans",sans-serif!important;font-size:clamp(48px,5vw,78px)!important;line-height:1.02!important;letter-spacing:-.065em!important;font-weight:800!important;color:#050505!important}
.as-services-hero__content>p{max-width:610px;margin:0!important;font-family:Poppins,sans-serif!important;font-size:19px!important;line-height:1.78!important;color:#5c5c61!important}
.as-services-hero__actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px}
.as-services-hero__actions .as-btn{border-radius:999px!important;padding:16px 25px!important}
.as-services-hero__media{position:relative;min-height:610px;border-radius:34px;overflow:visible}
.as-services-hero__media>img{width:100%;height:610px;display:block;object-fit:cover;object-position:center;border-radius:34px}
.as-services-hero__note{position:absolute;left:32px;bottom:-30px;display:flex;flex-direction:column;gap:4px;min-width:285px;padding:19px 24px;border-radius:20px;background:#050505;color:#fff;box-shadow:0 20px 50px rgba(0,0,0,.18)}
.as-services-hero__note strong{font:700 15px/1.3 "Plus Jakarta Sans",sans-serif}.as-services-hero__note span{font:400 13px/1.4 Poppins,sans-serif;color:#bcbcbc}
.as-services-intro{padding:122px 0 104px!important;background:#fafafa}
.as-services-intro__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:100px;align-items:start}
.as-services-intro__heading h2,.as-services-section-head h2,.as-services-feature__content h2{margin:18px 0 0!important;font-family:"Plus Jakarta Sans",sans-serif!important;font-size:clamp(38px,4vw,62px)!important;line-height:1.08!important;letter-spacing:-.055em!important;font-weight:800!important;color:#050505!important}
.as-services-intro__copy{padding-top:32px}.as-services-intro__copy p{margin:0 0 22px!important;font:400 18px/1.85 Poppins,sans-serif!important;color:#5d5d62!important}.as-services-intro__copy p:last-child{margin-bottom:0!important}
.as-services-list{padding:118px 0!important;background:#fff}.as-services-section-head{max-width:920px;margin-bottom:54px}.as-services-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.as-services-card{position:relative;min-height:330px;padding:38px;border:1px solid #e7e7e7;border-radius:28px;background:#fff;transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}.as-services-card:hover{transform:translateY(-7px);border-color:#d5d5d5;box-shadow:0 22px 55px rgba(0,0,0,.08)}
.as-services-card__number{display:block;font:700 13px/1 Poppins,sans-serif;letter-spacing:.14em;color:#8a8a8e;text-transform:uppercase}.as-services-card h3{margin:70px 0 16px!important;font-family:"Plus Jakarta Sans",sans-serif!important;font-size:31px!important;line-height:1.12!important;letter-spacing:-.045em!important;color:#080808!important}.as-services-card p{margin:0 0 26px!important;max-width:560px;font:400 16px/1.75 Poppins,sans-serif!important;color:#66666b!important}.as-services-card a{display:inline-flex;align-items:center;color:#050505!important;font:600 14px/1.3 Poppins,sans-serif!important;text-decoration:none!important;border-bottom:1px solid #050505;padding-bottom:4px}
.as-services-feature{padding:118px 0!important;background:#080808}.as-services-feature__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:88px;align-items:center}.as-services-feature__media img{width:100%;height:620px;display:block;object-fit:cover;border-radius:32px}.as-services-feature__content .as-eyebrow{color:#bdbdbd!important}.as-services-feature__content h2{color:#fff!important}.as-services-feature__content>p{margin:26px 0 28px!important;font:400 18px/1.8 Poppins,sans-serif!important;color:#c9c9c9!important}.as-services-list-check{display:grid;gap:16px;margin:0;padding:0;list-style:none}.as-services-list-check li{position:relative;padding-left:28px;font:500 15px/1.6 Poppins,sans-serif;color:#fff}.as-services-list-check li:before{content:"";position:absolute;left:0;top:.62em;width:10px;height:10px;border-radius:50%;background:#fff}
.as-services-values{padding:118px 0 126px!important;background:#f7f7f7}.as-services-values__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.as-services-value{min-height:230px;padding:32px;border:1px solid #e5e5e5;border-radius:26px;background:#fff}.as-services-value h3{margin:0 0 16px!important;font-family:"Plus Jakarta Sans",sans-serif!important;font-size:25px!important;letter-spacing:-.04em!important;color:#090909!important}.as-services-value p{margin:0!important;font:400 15px/1.72 Poppins,sans-serif!important;color:#67676b!important}
@media(max-width:1100px){.as-services-page .as-container{width:min(100% - 44px,1120px)}.as-services-hero__grid,.as-services-intro__grid,.as-services-feature__grid{gap:48px}.as-services-hero__grid{grid-template-columns:1fr 1fr}.as-services-hero__media,.as-services-hero__media>img{min-height:500px;height:500px}.as-services-values__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.as-services-hero{padding:58px 0 76px}.as-services-hero__grid,.as-services-intro__grid,.as-services-feature__grid{grid-template-columns:1fr}.as-services-hero__content{max-width:none}.as-services-hero__content h1{font-size:clamp(42px,11vw,61px)!important}.as-services-hero__content>p,.as-services-intro__copy p{font-size:17px!important}.as-services-hero__media,.as-services-hero__media>img{height:470px;min-height:470px}.as-services-intro{padding:100px 0 88px!important}.as-services-cards{grid-template-columns:1fr}.as-services-feature__media img{height:500px}.as-services-values__grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.as-services-page .as-container{width:calc(100% - 28px)}.as-services-hero{padding-top:42px}.as-services-hero__actions{display:grid;grid-template-columns:1fr}.as-services-hero__actions .as-btn{width:100%;justify-content:center}.as-services-hero__media,.as-services-hero__media>img{height:390px;min-height:390px;border-radius:24px}.as-services-hero__note{left:16px;right:16px;bottom:-30px;min-width:0}.as-services-section-head{margin-bottom:34px}.as-services-card{padding:28px;border-radius:22px;min-height:0}.as-services-card h3{margin-top:42px!important}.as-services-feature__media img{height:420px;border-radius:24px}.as-services-value{padding:28px;min-height:0}.as-services-values__grid{grid-template-columns:1fr}}

/* =========================================================
   VERSION 8.8.6 — ACCUEIL ALIGNÉ SUR LA MAQUETTE VALIDÉE
   Dimensions verrouillées sur desktop pour préserver le texte.
   ========================================================= */
@media (min-width: 1181px) {
  body.home .as-header__inner,
  body.home .as-topbar__inner {
    width: min(1220px, calc(100% - 48px)) !important;
    max-width: 1220px !important;
  }

  body.home .as-header__inner {
    min-height: 92px !important;
    padding: 12px 0 !important;
    grid-template-columns: 210px 1fr auto !important;
    column-gap: 42px !important;
  }

  body.home .as-logo,
  body.home .as-logo .custom-logo-link {
    width: 188px !important;
    max-width: 188px !important;
    display: flex !important;
    align-items: center !important;
  }

  body.home .as-logo img,
  body.home .as-logo .custom-logo-link img {
    width: 188px !important;
    height: auto !important;
    max-width: 188px !important;
    max-height: 62px !important;
    object-fit: contain !important;
  }

  body.home .as-nav__list {
    justify-content: center !important;
    gap: 25px !important;
  }

  body.home .as-header__actions {
    gap: 10px !important;
    transform: none !important;
  }

  body.home .as-header__actions .as-btn {
    min-height: 50px !important;
    padding: 0 22px !important;
    border-radius: 999px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
  }

  body.home .as-header__actions .as-btn--ghost {
    background: #fff !important;
    color: #080808 !important;
    border: 1.5px solid #080808 !important;
  }

  body.home .as-header__actions .as-btn:not(.as-btn--ghost) {
    background: #050505 !important;
    color: #fff !important;
    border: 1.5px solid #050505 !important;
  }

  body.home .as-hero {
    padding: 92px 0 100px !important;
    min-height: 690px !important;
    display: flex !important;
    align-items: center !important;
  }

  body.home .as-hero .as-container {
    width: min(1210px, calc(100% - 48px)) !important;
    max-width: 1210px !important;
  }

  body.home .as-hero__grid {
    display: grid !important;
    grid-template-columns: 410px 725px !important;
    column-gap: 66px !important;
    justify-content: center !important;
    align-items: center !important;
  }

  body.home .as-home-hero-copy {
    width: 410px !important;
    min-width: 410px !important;
    max-width: 410px !important;
    padding: 0 !important;
    position: relative !important;
    z-index: 3 !important;
  }

  body.home .as-eyebrow {
    font-size: 11px !important;
    letter-spacing: .18em !important;
    margin-bottom: 20px !important;
    white-space: nowrap !important;
  }

  body.home .as-home-hero-title {
    width: 410px !important;
    max-width: 410px !important;
    margin: 0 0 38px !important;
    font-family: "Cormorant Garamond", serif !important;
    font-size: 68px !important;
    line-height: .98 !important;
    letter-spacing: -.045em !important;
    font-style: italic !important;
    font-weight: 600 !important;
    color: #050505 !important;
  }

  body.home .as-home-hero-title > span {
    display: block !important;
    width: 100% !important;
    white-space: nowrap !important;
  }

  body.home .as-hero p.lead {
    width: 405px !important;
    max-width: 405px !important;
    margin: 0 0 34px !important;
    font-size: 17px !important;
    line-height: 1.62 !important;
    color: #67676d !important;
  }

  body.home .as-hero__ctas {
    gap: 12px !important;
    flex-wrap: nowrap !important;
  }

  body.home .as-hero__ctas .as-btn {
    min-height: 50px !important;
    padding: 0 22px !important;
    border-radius: 999px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
  }

  body.home .as-hero__ctas .as-btn:first-child {
    background: #050505 !important;
    color: #fff !important;
    border-color: #050505 !important;
  }

  body.home .as-hero__ctas .as-btn--ghost {
    background: #fff !important;
    color: #080808 !important;
    border: 1.5px solid #080808 !important;
  }

  body.home .as-home-hero-media {
    width: 725px !important;
    max-width: 725px !important;
    min-width: 725px !important;
    justify-self: end !important;
    position: relative !important;
  }

  body.home .as-hero__visual--full {
    width: 725px !important;
    height: 496px !important;
    min-height: 496px !important;
    aspect-ratio: auto !important;
    border-radius: 28px !important;
    overflow: hidden !important;
    background-size: cover !important;
    background-position: center !important;
  }

  body.home .as-hero__visual--full .as-home-hero-image,
  body.home .as-hero__visual--full > img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center 50% !important;
    transform: none !important;
  }

  body.home .as-home-hero-media:hover .as-home-hero-image {
    transform: scale(1.025) !important;
  }

  body.home .as-hero__badge {
    position: absolute !important;
    left: 20px !important;
    bottom: -44px !important;
    margin: 0 !important;
    padding: 18px 22px !important;
    min-width: 235px !important;
    border-radius: 15px !important;
    background: #050505 !important;
    color: #fff !important;
    box-shadow: 0 18px 40px rgba(0,0,0,.18) !important;
  }

  body.home .as-hero__badge strong {
    color: #fff !important;
    font-size: 14px !important;
  }

  body.home .as-hero__badge span {
    color: #a9a9ad !important;
    font-size: 11px !important;
  }
}

@media (min-width: 901px) and (max-width: 1180px) {
  body.home .as-logo img,
  body.home .as-logo .custom-logo-link img {
    height: 62px !important;
    max-height: 62px !important;
    width: auto !important;
  }
  body.home .as-hero__grid {
    grid-template-columns: minmax(380px, 420px) minmax(0, 1fr) !important;
    gap: 48px !important;
  }
  body.home .as-home-hero-title {
    font-size: clamp(58px, 6.2vw, 68px) !important;
    line-height: .98 !important;
  }
  body.home .as-hero__visual--full {
    height: clamp(410px, 43vw, 490px) !important;
    aspect-ratio: auto !important;
  }
}

/* =========================================================
   VERSION 8.8.7 — FINITIONS DU HEADER DESKTOP
   Logo légèrement plus à gauche, navigation recentrée et
   resserrée, actions légèrement repoussées vers la droite.
   ========================================================= */
@media (min-width: 1181px) {
  .as-header__inner,
  body.home .as-header__inner {
    width: min(1320px, calc(100% - 34px)) !important;
    max-width: 1320px !important;
    grid-template-columns: 220px minmax(0, 1fr) 252px !important;
    column-gap: 18px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .as-logo,
  .as-logo .custom-logo-link,
  body.home .as-logo,
  body.home .as-logo .custom-logo-link {
    width: 198px !important;
    max-width: 198px !important;
    transform: translateX(-18px) !important;
  }

  .as-logo img,
  .as-logo .custom-logo-link img,
  body.home .as-logo img,
  body.home .as-logo .custom-logo-link img {
    width: 198px !important;
    max-width: 198px !important;
    max-height: 66px !important;
    height: auto !important;
    object-fit: contain !important;
  }

  .as-nav {
    justify-self: stretch !important;
    min-width: 0 !important;
  }

  .as-nav__list,
  body.home .as-nav__list {
    width: 100% !important;
    justify-content: center !important;
    gap: 18px !important;
  }

  .as-nav__item > a,
  .as-nav__item > .as-nav__toggle {
    padding-left: 5px !important;
    padding-right: 5px !important;
  }

  .as-header__actions,
  body.home .as-header__actions {
    justify-self: end !important;
    transform: translateX(18px) !important;
    gap: 10px !important;
  }
}

/* =========================================================
   VERSION 8.8.8 — IMAGE D’ACCUEIL PLUS PRÉSENTE ET
   ALIGNEMENT DE LA BARRE SUPÉRIEURE SUR LE HEADER
   ========================================================= */
@media (min-width: 1181px) {
  /* Une seule ligne directrice pour les deux barres. */
  .as-topbar__inner,
  body.home .as-topbar__inner,
  .as-header__inner,
  body.home .as-header__inner {
    width: min(1320px, calc(100% - 34px)) !important;
    max-width: 1320px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .as-topbar__inner,
  body.home .as-topbar__inner {
    display: grid !important;
    grid-template-columns: 220px minmax(0,1fr) 252px !important;
    align-items: center !important;
    column-gap: 18px !important;
    padding: 9px 0 !important;
  }

  .as-topbar__phones,
  body.home .as-topbar__phones {
    grid-column: 1 / 3 !important;
    justify-self: start !important;
    transform: translateX(-18px) !important;
    display: flex !important;
    align-items: center !important;
    gap: 20px !important;
  }

  .as-topbar__socials,
  body.home .as-topbar__socials {
    grid-column: 3 !important;
    justify-self: end !important;
    transform: translateX(18px) !important;
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
  }

  /* Le texte reste strictement verrouillé ; seule l’image gagne en présence. */
  body.home .as-hero .as-container {
    width: min(1320px, calc(100% - 34px)) !important;
    max-width: 1320px !important;
  }

  body.home .as-hero__grid {
    grid-template-columns: 410px 790px !important;
    column-gap: 74px !important;
    justify-content: center !important;
  }

  body.home .as-home-hero-copy {
    width: 410px !important;
    min-width: 410px !important;
    max-width: 410px !important;
  }

  body.home .as-home-hero-media {
    width: 790px !important;
    min-width: 790px !important;
    max-width: 790px !important;
  }

  body.home .as-hero__visual--full {
    width: 790px !important;
    height: 540px !important;
    min-height: 540px !important;
    border-radius: 30px !important;
  }

  body.home .as-hero__visual--full .as-home-hero-image,
  body.home .as-hero__visual--full > img {
    object-position: center 50% !important;
  }
}

@media (min-width: 1181px) and (max-width: 1340px) {
  body.home .as-hero__grid {
    grid-template-columns: 400px minmax(0, 1fr) !important;
    column-gap: 54px !important;
  }
  body.home .as-home-hero-copy {
    width: 400px !important;
    min-width: 400px !important;
    max-width: 400px !important;
  }
  body.home .as-home-hero-media,
  body.home .as-hero__visual--full {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }
  body.home .as-hero__visual--full {
    height: clamp(500px, 40vw, 540px) !important;
  }
}

/* =========================================================
   VERSION 8.8.9 — HERO D’ACCUEIL TRÈS GRAND FORMAT
   La photo gagne fortement en largeur et en zoom sans jamais
   réduire, déplacer ou compresser la colonne de texte.
   ========================================================= */
@media (min-width: 1481px) {
  body.home .as-hero .as-container {
    width: min(1480px, calc(100% - 24px)) !important;
    max-width: 1480px !important;
  }

  body.home .as-hero__grid {
    grid-template-columns: 410px 920px !important;
    column-gap: 66px !important;
    justify-content: center !important;
    align-items: center !important;
  }

  body.home .as-home-hero-copy {
    width: 410px !important;
    min-width: 410px !important;
    max-width: 410px !important;
    flex: 0 0 410px !important;
  }

  body.home .as-home-hero-title,
  body.home .as-home-hero-copy .lead,
  body.home .as-home-hero-copy .as-hero__ctas {
    max-width: 410px !important;
  }

  body.home .as-home-hero-media {
    width: 920px !important;
    min-width: 920px !important;
    max-width: 920px !important;
  }

  body.home .as-hero__visual--full {
    width: 920px !important;
    height: 620px !important;
    min-height: 620px !important;
    max-height: 620px !important;
    border-radius: 31px !important;
    overflow: hidden !important;
  }

  body.home .as-hero__visual--full .as-home-hero-image,
  body.home .as-hero__visual--full > img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: 50% 50% !important;
    transform: scale(1.48) !important;
    transform-origin: center center !important;
  }

  body.home .as-hero__visual--full:hover .as-home-hero-image,
  body.home .as-hero__visual--full:hover > img {
    transform: scale(1.52) !important;
  }
}

@media (min-width: 1341px) and (max-width: 1480px) {
  body.home .as-hero .as-container {
    width: calc(100% - 24px) !important;
    max-width: 1450px !important;
  }

  body.home .as-hero__grid {
    grid-template-columns: 410px minmax(0, 1fr) !important;
    column-gap: 54px !important;
  }

  body.home .as-home-hero-copy {
    width: 410px !important;
    min-width: 410px !important;
    max-width: 410px !important;
  }

  body.home .as-home-hero-media,
  body.home .as-hero__visual--full {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  body.home .as-hero__visual--full {
    height: 600px !important;
    min-height: 600px !important;
    border-radius: 31px !important;
    overflow: hidden !important;
  }

  body.home .as-hero__visual--full .as-home-hero-image,
  body.home .as-hero__visual--full > img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: 50% 50% !important;
    transform: scale(1.45) !important;
  }

  body.home .as-hero__visual--full:hover .as-home-hero-image,
  body.home .as-hero__visual--full:hover > img {
    transform: scale(1.49) !important;
  }
}

/* =========================================================
   VERSION 8.9.0 — TEXTE DU HERO PLUS PRÉSENT
   Renforce la hiérarchie du texte sans réduire la grande image.
   ========================================================= */
@media (min-width: 1181px) {
  body.home .as-home-hero-copy {
    position: relative !important;
    z-index: 3 !important;
  }

  body.home .as-home-hero-title {
    font-size: clamp(68px, 5.1vw, 82px) !important;
    line-height: .92 !important;
    letter-spacing: -.055em !important;
    font-weight: 500 !important;
    margin: 18px 0 30px !important;
    max-width: 520px !important;
    overflow: visible !important;
  }

  body.home .as-home-hero-title span {
    display: block !important;
    white-space: nowrap !important;
  }

  body.home .as-home-hero-copy .lead {
    font-size: 20px !important;
    line-height: 1.72 !important;
    max-width: 500px !important;
    margin-bottom: 38px !important;
    color: #3f3f3f !important;
  }

  body.home .as-home-hero-copy .as-eyebrow {
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: .11em !important;
  }

  body.home .as-home-hero-copy .as-hero__ctas {
    gap: 15px !important;
    max-width: 520px !important;
  }

  body.home .as-home-hero-copy .as-btn {
    min-height: 56px !important;
    padding: 16px 25px !important;
    border-radius: 999px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
  }

  body.home .as-hero__badge {
    padding: 19px 24px !important;
    gap: 25px !important;
    border-radius: 18px !important;
  }

  body.home .as-hero__badge strong {
    font-size: 16px !important;
  }

  body.home .as-hero__badge span {
    font-size: 12.5px !important;
  }
}

@media (min-width: 1481px) {
  body.home .as-hero__grid {
    grid-template-columns: 475px 920px !important;
    column-gap: 52px !important;
  }

  body.home .as-home-hero-copy {
    width: 475px !important;
    min-width: 475px !important;
    max-width: 475px !important;
    flex-basis: 475px !important;
  }

  body.home .as-home-hero-title,
  body.home .as-home-hero-copy .lead,
  body.home .as-home-hero-copy .as-hero__ctas {
    max-width: 475px !important;
  }
}

@media (min-width: 1341px) and (max-width: 1480px) {
  body.home .as-hero__grid {
    grid-template-columns: 455px minmax(0, 1fr) !important;
    column-gap: 46px !important;
  }

  body.home .as-home-hero-copy {
    width: 455px !important;
    min-width: 455px !important;
    max-width: 455px !important;
  }

  body.home .as-home-hero-title {
    font-size: clamp(64px, 5vw, 74px) !important;
  }
}

@media (min-width: 1181px) and (max-width: 1340px) {
  body.home .as-home-hero-title {
    font-size: clamp(58px, 5vw, 68px) !important;
  }

  body.home .as-home-hero-title span {
    white-space: normal !important;
  }
}

@media (max-width: 1180px) {
  body.home .as-home-hero-title {
    font-size: clamp(48px, 8vw, 68px) !important;
    line-height: .95 !important;
    letter-spacing: -.045em !important;
  }

  body.home .as-home-hero-copy .lead {
    font-size: 18px !important;
    line-height: 1.65 !important;
  }
}

@media (max-width: 640px) {
  body.home .as-home-hero-title {
    font-size: clamp(43px, 13vw, 58px) !important;
    margin-bottom: 24px !important;
  }

  body.home .as-home-hero-copy .lead {
    font-size: 17px !important;
  }
}

/* =========================================================
   VERSION 8.9.1 — TITRE HERO TRÈS MIS EN VALEUR
   Plus grand, plus dense et surligné sans modifier la photo.
   ========================================================= */
@media (min-width: 1481px) {
  body.home .as-home-hero-title {
    font-size: clamp(82px, 5.75vw, 94px) !important;
    line-height: .86 !important;
    letter-spacing: -.062em !important;
    font-weight: 700 !important;
    max-width: 560px !important;
    margin: 16px 0 32px !important;
  }

  body.home .as-home-hero-title > span {
    width: max-content !important;
    max-width: none !important;
    white-space: nowrap !important;
  }

  body.home .as-home-hero-title > span:last-child {
    position: relative !important;
    z-index: 1 !important;
    display: inline-block !important;
    padding: 0 .04em .05em 0 !important;
    background: linear-gradient(to top, rgba(0,0,0,.16) 0 .13em, transparent .13em 100%) !important;
    background-repeat: no-repeat !important;
  }

  body.home .as-home-hero-copy .lead {
    font-size: 21px !important;
    line-height: 1.68 !important;
    font-weight: 500 !important;
    color: #262626 !important;
  }
}

@media (min-width: 1181px) and (max-width: 1480px) {
  body.home .as-home-hero-title {
    font-size: clamp(70px, 5.7vw, 84px) !important;
    line-height: .88 !important;
    letter-spacing: -.058em !important;
    font-weight: 700 !important;
  }

  body.home .as-home-hero-title > span:last-child {
    display: inline-block !important;
    padding-bottom: .05em !important;
    background: linear-gradient(to top, rgba(0,0,0,.14) 0 .12em, transparent .12em 100%) !important;
    background-repeat: no-repeat !important;
  }

  body.home .as-home-hero-copy .lead {
    font-size: 20px !important;
    font-weight: 500 !important;
    color: #262626 !important;
  }
}

@media (max-width: 1180px) {
  body.home .as-home-hero-title {
    font-weight: 700 !important;
  }

  body.home .as-home-hero-title > span:last-child {
    display: inline-block !important;
    padding-bottom: .04em !important;
    background: linear-gradient(to top, rgba(0,0,0,.12) 0 .10em, transparent .10em 100%) !important;
    background-repeat: no-repeat !important;
  }
}


/* v8.9.2 remove grey separator */
.hero,.hero-section,.home-hero,.elementor-section:first-of-type{
border-bottom:none!important;
box-shadow:none!important;
}
.elementor-widget-divider,.separator,hr{
display:none!important;
border:none!important;
}
main,.site-main{background:#fff;}

/* =========================================================
   v8.9.4 — footer légal + espace privé développé
   ========================================================= */
.as-footer-modern__bottom{
  display:flex!important;align-items:center!important;justify-content:space-between!important;
  gap:24px!important;flex-wrap:wrap!important;
}
.as-footer-modern__legal{display:flex;align-items:center;justify-content:flex-end;gap:24px;flex-wrap:wrap}
.as-footer-modern__legal a{color:rgba(255,255,255,.72)!important;text-decoration:none!important;font-size:13px!important;font-weight:500!important;transition:color .25s ease}
.as-footer-modern__legal a:hover{color:#fff!important}

.as-private-page{background:#fff;color:#090909}
.as-private-hero{padding:88px 0 54px;background:#fff}
.as-private-hero__inner{position:relative;overflow:hidden;min-height:360px;padding:72px;border:1px solid #e9e9e9;border-radius:34px;background:#f7f7f5;display:flex;align-items:center;justify-content:space-between;gap:50px}
.as-private-hero__copy{position:relative;z-index:2;max-width:760px}
.as-private-kicker,.as-private-eyebrow{display:inline-flex;align-items:center;gap:10px;text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:700;color:#545454}
.as-private-kicker:before,.as-private-eyebrow:before{content:"";width:26px;height:1px;background:#111}
.as-private-hero h1{font-family:"Plus Jakarta Sans",sans-serif!important;font-size:clamp(48px,6vw,82px)!important;line-height:.98!important;letter-spacing:-.055em!important;margin:18px 0 24px!important;color:#090909!important}
.as-private-hero p{max-width:700px;margin:0;font-size:18px;line-height:1.75;color:#454545}
.as-private-hero__mark{position:relative;flex:0 0 250px;height:230px}
.as-private-hero__mark span{position:absolute;border:1px solid rgba(0,0,0,.14);border-radius:50%}
.as-private-hero__mark span:nth-child(1){width:220px;height:220px;right:-20px;top:4px}
.as-private-hero__mark span:nth-child(2){width:150px;height:150px;right:28px;top:40px;background:#000}
.as-private-hero__mark span:nth-child(3){width:44px;height:44px;right:81px;top:93px;background:#fff;border:0}
.as-private-section{padding:50px 0 120px;background:#fff}
.as-private-auth{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(380px,.88fr);gap:70px;align-items:stretch}
.as-private-auth__intro,.as-private-login-card,.as-private-profile,.as-private-content{border:1px solid #e9e9e9;border-radius:30px;background:#fff}
.as-private-auth__intro{padding:58px;background:#f8f8f6}
.as-private-auth__intro h2,.as-private-welcome h2{font-family:"Plus Jakarta Sans",sans-serif!important;font-size:clamp(32px,4vw,52px)!important;line-height:1.05!important;letter-spacing:-.04em!important;margin:18px 0!important;color:#090909!important}
.as-private-auth__intro>p,.as-private-welcome>p{font-size:17px;line-height:1.75;color:#555;max-width:650px}
.as-private-benefits{display:grid;gap:16px;margin-top:42px}
.as-private-benefits>div{display:grid;grid-template-columns:46px 1fr;gap:16px;align-items:center;padding:17px 0;border-top:1px solid #ddd}
.as-private-benefits span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#000;color:#fff;font-size:12px;font-weight:700}
.as-private-benefits p{margin:0;color:#292929;font-size:15px}
.as-private-login-card{padding:54px;display:flex;flex-direction:column;justify-content:center;box-shadow:0 24px 70px rgba(0,0,0,.08)}
.as-private-login-card label{display:block;margin:0 0 9px;font-size:13px;font-weight:650;color:#111}
.as-private-login-card .input{width:100%;min-height:54px;border:1px solid #d9d9d9!important;border-radius:15px!important;background:#fff!important;padding:0 16px!important;font-size:16px!important;color:#111!important;box-shadow:none!important}
.as-private-login-card .input:focus{border-color:#000!important;outline:0!important}
.as-private-login-card p{margin:0 0 20px}
.as-private-login-card .login-remember label{display:flex;align-items:center;gap:9px;font-weight:500}
.as-private-login-card input[type=checkbox]{width:18px;height:18px;accent-color:#000}
.as-private-login-card .button-primary{width:100%;min-height:54px;border:1px solid #000!important;border-radius:999px!important;background:#000!important;color:#fff!important;font-size:15px!important;font-weight:700!important;cursor:pointer;transition:transform .25s ease,background .25s ease,color .25s ease}
.as-private-login-card .button-primary:hover{transform:translateY(-2px);background:#fff!important;color:#000!important}
.as-private-login-links{display:flex;justify-content:space-between;gap:18px;margin-top:8px;flex-wrap:wrap}
.as-private-login-links a{color:#111;text-decoration:underline;text-underline-offset:4px;font-size:13px}
.as-private-dashboard{display:grid;grid-template-columns:310px minmax(0,1fr);gap:34px;align-items:start}
.as-private-profile{padding:38px;position:sticky;top:120px}
.as-private-avatar img{width:82px;height:82px;border-radius:50%;margin-bottom:24px}
.as-private-profile h2{font-family:"Plus Jakarta Sans",sans-serif!important;font-size:27px!important;margin:14px 0 6px!important;color:#090909!important}
.as-private-profile p{font-size:14px;color:#666;overflow-wrap:anywhere}
.as-private-outline,.as-private-logout{display:flex;align-items:center;justify-content:center;min-height:48px;border-radius:999px;text-decoration:none!important;font-size:14px;font-weight:650;margin-top:22px}
.as-private-outline{border:1px solid #111;color:#111!important;background:#fff}
.as-private-logout{margin-top:10px;color:#777!important;background:#f3f3f3}
.as-private-content{padding:48px}
.as-private-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:38px}
.as-private-card{position:relative;min-height:235px;padding:30px;border:1px solid #e5e5e5;border-radius:24px;background:#fafafa;color:#111!important;text-decoration:none!important;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease,background .3s ease,color .3s ease}
.as-private-card:hover{transform:translateY(-5px);box-shadow:0 22px 50px rgba(0,0,0,.1);background:#000;color:#fff!important}
.as-private-card__number{font-size:12px;font-weight:700;letter-spacing:.12em;color:#777}
.as-private-card h3{font-family:"Plus Jakarta Sans",sans-serif!important;font-size:24px!important;line-height:1.15!important;margin:36px 0 12px!important;color:inherit!important}
.as-private-card p{margin:0;max-width:300px;color:#666;line-height:1.6;font-size:14px}
.as-private-card:hover p,.as-private-card:hover .as-private-card__number{color:rgba(255,255,255,.7)}
.as-private-card__arrow{position:absolute;right:24px;top:24px;width:38px;height:38px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;font-size:18px}
.as-private-custom-content{margin-top:40px;padding-top:36px;border-top:1px solid #e5e5e5}
@media(max-width:980px){.as-private-hero__inner{padding:52px}.as-private-hero__mark{display:none}.as-private-auth{grid-template-columns:1fr;gap:26px}.as-private-dashboard{grid-template-columns:1fr}.as-private-profile{position:static}.as-private-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.as-footer-modern__bottom{align-items:flex-start!important}.as-footer-modern__legal{justify-content:flex-start;gap:12px 20px}.as-private-hero{padding:38px 0 26px}.as-private-hero__inner{padding:36px 24px;border-radius:24px;min-height:300px}.as-private-hero h1{font-size:48px!important}.as-private-section{padding:26px 0 80px}.as-private-auth__intro,.as-private-login-card,.as-private-profile,.as-private-content{padding:28px;border-radius:22px}.as-private-grid{grid-template-columns:1fr}.as-private-card{min-height:210px}}

/* =========================================================
   v8.9.5 — espace privé avancé, suppression barre grise
   ========================================================= */
body.home .as-home-hero-title > span:last-child,
.as-home-hero-title > span:last-child { background:none!important; box-shadow:none!important; border:0!important; }
.as-home-hero-title:after,.as-home-hero-title:before,.as-home-hero:after,.as-home-hero:before{display:none!important;content:none!important}
.as-recaptcha{margin:4px 0 22px;max-width:100%;overflow:hidden}
.as-private-notice{margin:0 0 26px;padding:16px 20px;border-radius:16px;background:#0b0b0b;color:#fff;font:600 14px/1.5 Poppins,sans-serif}
.as-private-editor{scroll-margin-top:130px;margin-top:34px;padding:48px;border:1px solid #e7e7e7;border-radius:30px;background:#fff}
.as-private-editor__head{max-width:760px;margin-bottom:34px}.as-private-editor__head h2{margin:16px 0 12px!important;font:800 clamp(32px,4vw,50px)/1.04 "Plus Jakarta Sans",sans-serif!important;letter-spacing:-.045em!important;color:#080808!important}.as-private-editor__head p{margin:0;color:#5b5b60;font:400 16px/1.7 Poppins,sans-serif}
.as-private-form{display:grid;gap:22px}.as-private-form__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.as-private-form label{display:grid;gap:9px;margin:0;font:600 13px/1.4 Poppins,sans-serif;color:#111}.as-private-form input[type=text],.as-private-form textarea,.as-private-form select{width:100%;border:1px solid #d9d9d9!important;border-radius:16px!important;background:#fff!important;color:#111!important;padding:15px 17px!important;font:400 16px/1.5 Poppins,sans-serif!important;box-shadow:none!important;outline:0}.as-private-form textarea{resize:vertical;min-height:120px}.as-private-form input:focus,.as-private-form textarea:focus,.as-private-form select:focus{border-color:#000!important;box-shadow:0 0 0 3px rgba(0,0,0,.07)!important}.as-private-upload{padding:24px;border:1px dashed #aaa;border-radius:20px;background:#fafafa}.as-private-upload input{font-weight:500}.as-private-upload small{color:#737373;font-weight:400}.as-private-form__actions{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:6px}.as-private-check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center!important;gap:10px!important;font-weight:500!important}.as-private-check input{width:19px;height:19px;accent-color:#000}.as-private-check--field{align-self:end;min-height:52px;padding:0 15px;border:1px solid #ddd;border-radius:16px}.as-private-form button{min-height:54px;padding:0 28px;border:1px solid #000!important;border-radius:999px!important;background:#000!important;color:#fff!important;font:700 14px/1 Poppins,sans-serif!important;cursor:pointer;transition:.25s ease}.as-private-form button:hover{background:#fff!important;color:#000!important;transform:translateY(-2px)}
.as-animal__media img{cursor:zoom-in}.as-animal-lightbox{position:fixed;inset:0;z-index:999999;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(0,0,0,.9);backdrop-filter:blur(10px)}.as-animal-lightbox.is-open{display:flex}.as-animal-lightbox img{max-width:min(1200px,94vw);max-height:88vh;border-radius:24px;object-fit:contain;box-shadow:0 30px 100px rgba(0,0,0,.45)}.as-animal-lightbox button{position:fixed;top:22px;right:22px;width:48px;height:48px;border:1px solid rgba(255,255,255,.45);border-radius:50%;background:#fff;color:#000;font-size:28px;line-height:1;cursor:pointer}
@media(max-width:760px){.as-private-editor{padding:28px 22px;border-radius:22px}.as-private-form__grid{grid-template-columns:1fr}.as-private-form__actions{align-items:stretch;flex-direction:column}.as-private-form button{width:100%}.as-recaptcha{transform:scale(.88);transform-origin:left top;margin-bottom:8px}}


/* =========================================================
   v8.9.6 — widget d’accueil lisible + publication fiable
   ========================================================= */
body.home .as-home-hero-media .as-hero__badge{
  width:min(520px,calc(100% - 40px))!important;
  min-width:0!important;
  min-height:116px!important;
  padding:24px 30px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr)!important;
  align-items:center!important;
  gap:0!important;
  border-radius:28px!important;
  overflow:visible!important;
}
body.home .as-home-hero-media .as-hero__badge>div{
  min-width:0!important;
  padding:0 28px!important;
}
body.home .as-home-hero-media .as-hero__badge>div:first-child{
  padding-left:0!important;
  border-right:1px solid rgba(255,255,255,.22)!important;
}
body.home .as-home-hero-media .as-hero__badge>div:last-child{
  padding-right:0!important;
}
body.home .as-home-hero-media .as-hero__badge strong{
  display:block!important;
  font-size:clamp(20px,1.65vw,28px)!important;
  line-height:1.08!important;
  letter-spacing:-.025em!important;
  white-space:nowrap!important;
}
body.home .as-home-hero-media .as-hero__badge span{
  display:block!important;
  margin-top:9px!important;
  font-size:clamp(13px,1vw,16px)!important;
  line-height:1.35!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
@media(max-width:760px){
  body.home .as-home-hero-media .as-hero__badge{
    width:calc(100% - 28px)!important;
    min-height:104px!important;
    padding:20px 22px!important;
    border-radius:24px!important;
    grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr)!important;
  }
  body.home .as-home-hero-media .as-hero__badge>div{padding:0 16px!important}
  body.home .as-home-hero-media .as-hero__badge>div:first-child{padding-left:0!important}
  body.home .as-home-hero-media .as-hero__badge>div:last-child{padding-right:0!important}
  body.home .as-home-hero-media .as-hero__badge strong{font-size:clamp(18px,5.2vw,24px)!important}
  body.home .as-home-hero-media .as-hero__badge span{font-size:clamp(12px,3.5vw,14px)!important}
}
@media(max-width:430px){
  body.home .as-home-hero-media .as-hero__badge{
    grid-template-columns:1fr!important;
    gap:16px!important;
    min-height:0!important;
  }
  body.home .as-home-hero-media .as-hero__badge>div{
    padding:0!important;
    border:0!important;
  }
  body.home .as-home-hero-media .as-hero__badge>div:first-child{
    padding-bottom:16px!important;
    border-bottom:1px solid rgba(255,255,255,.2)!important;
  }
  body.home .as-home-hero-media .as-hero__badge strong,
  body.home .as-home-hero-media .as-hero__badge span{white-space:normal!important}
}


/* =========================================================
   v8.9.7 — badge plus compact + navigation des fiches animaux
   ========================================================= */
body.home .as-home-hero-media .as-hero__badge{
  width:min(450px,calc(100% - 46px))!important;
  min-height:96px!important;
  padding:19px 24px!important;
  border-radius:25px!important;
  grid-template-columns:minmax(0,1.4fr) minmax(0,.7fr)!important;
}
body.home .as-home-hero-media .as-hero__badge>div{padding:0 20px!important}
body.home .as-home-hero-media .as-hero__badge>div:first-child{padding-left:0!important}
body.home .as-home-hero-media .as-hero__badge>div:last-child{padding-right:0!important}
body.home .as-home-hero-media .as-hero__badge strong{font-size:clamp(19px,1.45vw,25px)!important}
body.home .as-home-hero-media .as-hero__badge span{margin-top:7px!important;font-size:clamp(12px,.9vw,14px)!important;white-space:nowrap!important}

.as-animal{position:relative;isolation:isolate}
.as-animal__link-cover{position:absolute;inset:0;z-index:2;border-radius:inherit}
.as-animal__media,.as-animal__body{position:relative;z-index:1}
.as-animal__actions,.as-animal__actions a,.as-animal__title-link{position:relative;z-index:3}
.as-animal__title-link{color:inherit!important;text-decoration:none!important}
.as-animal__media img{cursor:pointer!important}
.as-animal:hover .as-animal__media img{transform:scale(1.035)}

body.single-as_animal .as-animal-detail-photo{cursor:zoom-in!important;transition:transform .28s ease}
body.single-as_animal .as-animal-detail-photo:hover{transform:scale(1.018)}
.as-animal-thumb{outline:0;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease;opacity:.72}
.as-animal-thumb:hover,.as-animal-thumb.is-active{opacity:1;transform:translateY(-2px);box-shadow:0 0 0 2px #000}
.as-animal-lightbox{overflow:hidden}
.as-animal-lightbox__stage{width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:auto;padding:72px 20px 20px}
.as-animal-lightbox__stage img{transition:transform .18s ease;transform-origin:center center;cursor:grab}
.as-animal-lightbox__tools{position:fixed;z-index:2;top:20px;right:20px;display:flex;gap:8px;padding:7px;border-radius:999px;background:rgba(255,255,255,.96);box-shadow:0 12px 40px rgba(0,0,0,.24)}
.as-animal-lightbox__tools button{position:static!important;width:42px!important;height:42px!important;border:0!important;border-radius:50%!important;background:#f1f1f1!important;color:#000!important;font:700 18px/1 Poppins,sans-serif!important}
.as-animal-lightbox__tools button[data-action="reset"]{width:auto!important;min-width:64px!important;border-radius:999px!important;font-size:12px!important;padding:0 12px!important}
.as-animal-lightbox__tools button[data-action="close"]{background:#000!important;color:#fff!important}
@media(max-width:760px){
 body.home .as-home-hero-media .as-hero__badge{width:calc(100% - 34px)!important;min-height:90px!important;padding:17px 19px!important;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr)!important}
 body.home .as-home-hero-media .as-hero__badge>div{padding:0 13px!important}
 body.home .as-home-hero-media .as-hero__badge strong{font-size:clamp(17px,5vw,22px)!important}
 body.home .as-home-hero-media .as-hero__badge span{font-size:clamp(11px,3.2vw,13px)!important;white-space:normal!important}
 .as-animal-lightbox__tools{top:12px;right:12px;left:12px;justify-content:center}
}


/* =========================================================
   8.9.8 — flèches fines cohérentes + reCAPTCHA à cocher
   ========================================================= */
.as-private-card__arrow{
  display:grid!important;
  place-items:center!important;
  width:40px!important;
  height:40px!important;
  border:1px solid rgba(15,15,15,.22)!important;
  border-radius:999px!important;
  background:transparent!important;
  color:currentColor!important;
  font-size:0!important;
  overflow:hidden!important;
}
.as-private-card__arrow svg{
  width:19px!important;
  height:19px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.6!important;
  transition:transform .25s ease!important;
}
.as-private-card:hover .as-private-card__arrow svg{transform:translateX(2px)!important;}

/* Toutes les flèches d’action restent fines, non remplies et visibles. */
.as-btn svg,
.as-card__link svg,
.as-blog-card__arrow svg,
.as-contact-premium__actions button svg,
.as-contact-premium__map > a svg,
.as-footer-newsletter button svg,
.as-site-footer button svg{
  fill:none!important;
  stroke:currentColor!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  stroke-width:1.65!important;
}
.as-btn svg,.as-card__link svg{width:18px!important;height:18px!important;flex:0 0 auto!important;}

/* Neutralise les anciennes flèches triangulaires ou blocs remplis. */
.as-btn::before,.as-btn::after,
.as-card__link::before,.as-card__link::after,
.as-private-card__arrow::before,.as-private-card__arrow::after{
  clip-path:none!important;
  border:0!important;
}

.as-recaptcha--checkbox{
  display:flex;
  justify-content:flex-start;
  margin:4px 0 20px!important;
  min-height:78px;
  overflow:visible!important;
}
.as-private-login-card .as-recaptcha{
  max-width:304px;
}
@media (max-width:420px){
  .as-private-login-card .as-recaptcha{
    transform:scale(.84);
    transform-origin:left top;
    width:119%;
    margin-bottom:-2px!important;
  }
}


/* =========================================================
   8.10.0 — sécurité formulaires + récupération de mot de passe
   ========================================================= */
.as-private-reset-head{margin-bottom:24px}.as-private-reset-head h3{font-family:"Plus Jakarta Sans",sans-serif;font-size:clamp(26px,3vw,36px);margin:8px 0 10px;color:#050505}.as-private-reset-head p{margin:0;color:#626262;line-height:1.75}.as-private-reset-form{display:grid;gap:18px}.as-private-reset-form label{display:grid;gap:8px}.as-private-reset-form label span{font-size:13px;font-weight:600;color:#1b1b1b}.as-private-reset-form input{width:100%;min-height:52px;border:1px solid #dedede;border-radius:16px;padding:0 16px;background:#fff;color:#050505;font:500 16px/1.3 Poppins,sans-serif}.as-private-reset-form input:focus{outline:2px solid #000;outline-offset:2px;border-color:#000}.as-private-reset-form button{min-height:52px;border:0;border-radius:999px;background:#000;color:#fff!important;font-weight:600;padding:0 24px;cursor:pointer}.as-private-notice--error{background:#fff4f4!important;border-color:#e4bcbc!important;color:#6f1818!important}
.as-recaptcha{margin:16px 0 20px;max-width:100%;overflow:visible}.as-recaptcha>div{max-width:100%}.as-recaptcha--private-form{grid-column:1/-1}.as-recaptcha--footer{margin:12px 0 8px;transform:scale(.82);transform-origin:left top;height:64px}.as-footer-modern__newsletter form{align-items:flex-start!important;flex-wrap:wrap}.as-footer-modern__newsletter .as-recaptcha--footer{flex:0 0 100%}.as-newsletter-page-form{display:grid!important;gap:16px!important}.as-newsletter-page-form input{width:100%}.as-newsletter-page-form .as-recaptcha{justify-self:start}
@media(max-width:420px){.as-recaptcha{transform:scale(.86);transform-origin:left top;width:354px;margin-bottom:2px}.as-recaptcha--footer{transform:scale(.72);height:56px}}

/* =========================================================
   8.12.0 — newsletter alignée, badge compact, blog zéro rose
   ========================================================= */
.as-footer-modern__newsletter{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(430px,620px)!important;
  align-items:center!important;
  gap:clamp(44px,7vw,110px)!important;
  padding:54px 0!important;
  border-top:1px solid rgba(255,255,255,.14)!important;
  border-bottom:1px solid rgba(255,255,255,.14)!important;
}
.as-footer-newsletter__intro{display:flex;align-items:flex-start;gap:22px;max-width:650px}
.as-footer-newsletter__icon{display:grid;place-items:center;flex:0 0 54px;width:54px;height:54px;border:1px solid rgba(255,255,255,.35);border-radius:50%;color:#fff}
.as-footer-newsletter__icon svg{width:25px;height:25px}
.as-footer-modern__newsletter h3{margin:0 0 9px!important;font-size:clamp(20px,1.7vw,28px)!important;line-height:1.15;color:#fff!important}
.as-footer-modern__newsletter p{margin:0!important;font-size:15px!important;line-height:1.65;color:rgba(255,255,255,.68)!important}
.as-footer-newsletter__form{display:grid!important;gap:14px!important;width:100%!important;border:0!important;align-items:stretch!important}
.as-footer-newsletter__field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}
.as-footer-newsletter__field input{min-width:0!important;width:100%!important;height:58px!important;padding:0 20px!important;border:1px solid rgba(255,255,255,.28)!important;border-radius:18px!important;background:rgba(255,255,255,.035)!important;color:#fff!important}
.as-footer-newsletter__field input:focus{border-color:#fff!important;box-shadow:0 0 0 3px rgba(255,255,255,.1)!important}
.as-footer-newsletter__field button{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:12px!important;height:58px!important;min-width:160px!important;padding:0 24px!important;border:1px solid #fff!important;border-radius:999px!important;background:#fff!important;color:#080808!important;font-weight:700!important}
.as-footer-newsletter__field button:hover{background:transparent!important;color:#fff!important}
.as-footer-newsletter__field button svg{width:18px!important;height:18px!important;fill:none!important;stroke:currentColor!important}
.as-footer-newsletter__privacy{display:flex;align-items:center;gap:9px!important;font-size:12px!important;color:rgba(255,255,255,.5)!important}
.as-footer-newsletter__privacy span{font-size:8px;color:#fff}
.as-newsletter-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.as-footer-modern__newsletter .as-recaptcha--footer{display:none!important}

body.home .as-home-hero-media .as-hero__badge{
  width:min(385px,calc(100% - 52px))!important;
  min-height:84px!important;
  padding:16px 21px!important;
  border-radius:22px!important;
  grid-template-columns:minmax(0,1.45fr) minmax(0,.62fr)!important;
  gap:0!important;
}
body.home .as-home-hero-media .as-hero__badge>div{min-width:0!important;padding:0 16px!important}
body.home .as-home-hero-media .as-hero__badge strong{font-size:clamp(17px,1.25vw,22px)!important;line-height:1.1!important;white-space:nowrap!important}
body.home .as-home-hero-media .as-hero__badge span{font-size:clamp(11px,.78vw,12.5px)!important;line-height:1.35!important;white-space:normal!important;overflow-wrap:anywhere!important}

/* Blog : palette strictement noire, blanche et grise. */
body.blog .as-blog-modern,body.archive .as-blog-modern,body.single-post main{--as-pink:#080808!important;--accent:#080808!important;background:#fff!important;color:#080808!important}
body.blog .as-kicker,body.blog .as-eyebrow,body.blog .as-blog-card__meta,body.archive .as-kicker,body.single-post .as-eyebrow{color:#080808!important}
body.blog .as-blog-card,body.archive .as-blog-card{border-radius:30px!important;overflow:hidden!important;background:#080808!important;box-shadow:0 22px 65px rgba(0,0,0,.1)!important}
body.blog .as-blog-card__media,body.archive .as-blog-card__media{aspect-ratio:4/3!important;border-radius:30px!important;background:#ededed!important}
body.blog .as-blog-card__media img,body.archive .as-blog-card__media img{width:100%!important;height:100%!important;object-fit:cover!important;filter:none!important;transform:scale(1.001);transition:transform .6s cubic-bezier(.2,.7,.2,1)!important}
body.blog .as-blog-card:hover img,body.archive .as-blog-card:hover img{transform:scale(1.055)!important}
body.blog .as-blog-card__shade,body.archive .as-blog-card__shade{background:linear-gradient(180deg,transparent 35%,rgba(0,0,0,.86) 100%)!important}
body.blog .as-blog-card__overlay-copy,body.archive .as-blog-card__overlay-copy{padding:clamp(22px,3vw,36px)!important;color:#fff!important}
body.blog .as-blog-card__overlay-copy strong,body.archive .as-blog-card__overlay-copy strong{font-family:"Plus Jakarta Sans",sans-serif!important;font-size:clamp(22px,2.15vw,34px)!important;line-height:1.08!important;letter-spacing:-.035em!important;color:#fff!important;text-shadow:0 2px 18px rgba(0,0,0,.22)}
body.blog .as-blog-card__meta,body.archive .as-blog-card__meta{color:rgba(255,255,255,.72)!important}
body.blog .as-blog-card__arrow,body.archive .as-blog-card__arrow{background:#fff!important;color:#080808!important;border:0!important}
body.blog .as-pagination .current,body.archive .as-pagination .current{background:#080808!important;color:#fff!important;border-color:#080808!important}
body.blog [class*="pink"],body.archive [class*="pink"],body.single-post [class*="pink"]{color:#080808!important;background-color:transparent!important;border-color:#080808!important}

@media(max-width:900px){
  .as-footer-modern__newsletter{grid-template-columns:1fr!important;gap:30px!important}
  .as-footer-newsletter__field{grid-template-columns:1fr!important}
  .as-footer-newsletter__field button{width:100%!important}
}
@media(max-width:560px){
  .as-footer-newsletter__intro{gap:15px}
  .as-footer-newsletter__icon{width:46px;height:46px;flex-basis:46px}
  body.home .as-home-hero-media .as-hero__badge{width:calc(100% - 32px)!important;min-height:78px!important;padding:14px 16px!important;border-radius:20px!important}
  body.home .as-home-hero-media .as-hero__badge>div{padding:0 11px!important}
  body.home .as-home-hero-media .as-hero__badge strong{font-size:16px!important}
  body.home .as-home-hero-media .as-hero__badge span{font-size:10.5px!important}
}


/* =========================================================
   8.12.1 — newsletter classique + page 404 illustrée
   ========================================================= */
.as-footer-modern__newsletter--classic{
  display:grid!important;
  grid-template-columns:minmax(320px,.95fr) minmax(460px,1.15fr)!important;
  align-items:center!important;
  gap:clamp(48px,7vw,120px)!important;
  padding:44px 0 40px!important;
  border-top:1px solid rgba(255,255,255,.15)!important;
  border-bottom:1px solid rgba(255,255,255,.15)!important;
}
.as-footer-modern__newsletter--classic .as-footer-newsletter__intro{display:block!important;max-width:none!important}
.as-footer-modern__newsletter--classic .as-footer-newsletter__icon,
.as-footer-modern__newsletter--classic .as-footer-newsletter__privacy,
.as-footer-modern__newsletter--classic .as-recaptcha{display:none!important}
.as-footer-modern__newsletter--classic h3{margin:0 0 6px!important;font:600 18px/1.25 Poppins,sans-serif!important;color:#fff!important;letter-spacing:-.02em!important}
.as-footer-modern__newsletter--classic p{margin:0!important;font:400 14px/1.6 Poppins,sans-serif!important;color:rgba(255,255,255,.58)!important}
.as-footer-modern__newsletter--classic .as-footer-newsletter__form{display:block!important;width:100%!important;border:0!important}
.as-footer-modern__newsletter--classic .as-footer-newsletter__field{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:26px!important;
  min-height:58px!important;
  border-bottom:1px solid rgba(255,255,255,.36)!important;
}
.as-footer-modern__newsletter--classic .as-footer-newsletter__field input{
  width:100%!important;height:58px!important;padding:0 4px!important;margin:0!important;
  border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;
  color:#fff!important;font:400 16px/1 Poppins,sans-serif!important;
}
.as-footer-modern__newsletter--classic .as-footer-newsletter__field input::placeholder{color:rgba(255,255,255,.43)!important}
.as-footer-modern__newsletter--classic .as-footer-newsletter__field button{
  min-width:0!important;height:58px!important;padding:0 4px 0 20px!important;margin:0!important;
  border:0!important;border-radius:0!important;background:transparent!important;color:#fff!important;
  font:600 16px/1 Poppins,sans-serif!important;display:inline-flex!important;align-items:center!important;gap:10px!important;
}
.as-footer-modern__newsletter--classic .as-footer-newsletter__field button:hover{background:transparent!important;color:rgba(255,255,255,.72)!important}
.as-footer-modern__newsletter--classic .as-footer-newsletter__field button svg{width:16px!important;height:16px!important;stroke:currentColor!important;fill:none!important}

.as-404-page{background:#fff;color:#080808;overflow:hidden}
.as-404-hero{padding:clamp(90px,10vw,160px) 0 clamp(100px,12vw,180px)}
.as-404-hero__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);align-items:center;gap:clamp(50px,8vw,130px)}
.as-404-hero__copy{position:relative;z-index:2}
.as-404-number{font:800 clamp(110px,15vw,220px)/.75 'Plus Jakarta Sans',sans-serif;letter-spacing:-.09em;color:#080808;margin:26px 0 32px}
.as-404-hero h1{font:800 clamp(36px,4.5vw,68px)/1.03 'Plus Jakarta Sans',sans-serif;letter-spacing:-.055em;max-width:700px;margin:0 0 24px}
.as-404-hero p{font:400 clamp(16px,1.35vw,20px)/1.8 Poppins,sans-serif;color:#686868;max-width:610px;margin:0 0 34px}
.as-404-actions{display:flex;flex-wrap:wrap;gap:14px}.as-404-actions .as-btn{border-radius:999px!important}
.as-404-actions .as-btn svg{width:18px;height:18px}
.as-404-hero__visual{position:relative;min-height:620px;display:grid;place-items:end center}
.as-404-hero__visual:before{content:"";position:absolute;inset:8% 2% 0;border-radius:46% 54% 46% 54%/55% 44% 56% 45%;background:#f4f4f4}
.as-404-hero__visual img{position:relative;z-index:2;width:min(100%,520px);height:620px;object-fit:cover;object-position:center top;border-radius:32px;mix-blend-mode:multiply}
.as-404-floating{position:absolute;z-index:3;font:800 clamp(72px,8vw,130px)/1 'Plus Jakarta Sans',sans-serif;color:#080808;pointer-events:none}
.as-404-floating--one{left:2%;top:10%;transform:rotate(-7deg)}
.as-404-floating--zero{right:8%;top:2%;transform:rotate(6deg)}
.as-404-floating--two{right:-1%;bottom:12%;transform:rotate(-4deg)}
@media(max-width:980px){
  .as-footer-modern__newsletter--classic{grid-template-columns:1fr!important;gap:26px!important}
  .as-404-hero__grid{grid-template-columns:1fr;gap:44px}.as-404-hero__copy{text-align:center}.as-404-hero p{margin-left:auto;margin-right:auto}.as-404-actions{justify-content:center}.as-404-hero__visual{min-height:520px}.as-404-hero__visual img{height:520px}
}
@media(max-width:620px){
  .as-footer-modern__newsletter--classic{padding:34px 0!important}.as-footer-modern__newsletter--classic .as-footer-newsletter__field{grid-template-columns:1fr!important;gap:0!important}.as-footer-modern__newsletter--classic .as-footer-newsletter__field button{justify-content:flex-start!important;padding-left:4px!important}
  .as-404-hero{padding:72px 0 110px}.as-404-number{font-size:112px}.as-404-hero__visual{min-height:430px}.as-404-hero__visual img{height:430px;width:92%}.as-404-floating{font-size:70px}.as-404-floating--one{left:0}.as-404-floating--zero{right:1%}
}


/* =========================================================
   8.12.3 — correctif visible : chat 404 exact + badge compact
   ========================================================= */
body.home .as-home-hero-media .as-hero__badge{
  width:min(310px,calc(100% - 42px))!important;
  min-height:68px!important;
  padding:12px 14px!important;
  border-radius:18px!important;
  grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr)!important;
  gap:0!important;
  bottom:-26px!important;
}
body.home .as-home-hero-media .as-hero__badge>div{padding:0 10px!important;min-width:0!important}
body.home .as-home-hero-media .as-hero__badge>div+div{border-left:1px solid rgba(255,255,255,.16)!important}
body.home .as-home-hero-media .as-hero__badge strong{font-size:16px!important;line-height:1.08!important;white-space:nowrap!important}
body.home .as-home-hero-media .as-hero__badge span{font-size:10.5px!important;line-height:1.25!important;white-space:nowrap!important;overflow:visible!important}
.as-404-cat-wrap{background:#fff!important;height:auto!important;min-height:560px!important;display:flex!important;align-items:flex-end!important;justify-content:center!important}
.as-404-cat-wrap img{width:100%!important;height:auto!important;max-height:620px!important;object-fit:contain!important;object-position:center bottom!important;background:#fff!important}
@media(max-width:900px){
 body.home .as-home-hero-media .as-hero__badge{width:min(300px,calc(100% - 36px))!important;min-height:64px!important;padding:11px 12px!important;bottom:-22px!important}
 .as-404-cat-wrap{min-height:500px!important}.as-404-cat-wrap img{max-height:540px!important}
}
@media(max-width:560px){
 body.home .as-home-hero-media .as-hero__badge{width:min(278px,calc(100% - 28px))!important;min-height:60px!important;padding:10px!important;border-radius:17px!important}
 body.home .as-home-hero-media .as-hero__badge>div{padding:0 8px!important}
 body.home .as-home-hero-media .as-hero__badge strong{font-size:14.5px!important}
 body.home .as-home-hero-media .as-hero__badge span{font-size:9.5px!important}
 .as-404-cat-wrap{min-height:390px!important}.as-404-cat-wrap img{max-height:430px!important}
}


/* ================================================================
   8.12.4 — chat 404 garanti + réseaux dans une section dédiée
   ================================================================ */
body.error404 .as-404-page,
body.error404 .as-404-hero,
body.error404 .as-404-hero__grid,
body.error404 .as-404-hero__visual,
body.error404 .as-404-cat-wrap,
body.error404 .as-404-cat-wrap img {
  opacity:1!important; visibility:visible!important; transform:none!important;
}
body.error404 .as-404-cat-wrap{
  display:flex!important; align-items:flex-end!important; justify-content:center!important;
  background-position:center bottom!important; background-repeat:no-repeat!important; background-size:contain!important;
  overflow:visible!important; box-shadow:none!important; border-radius:0!important;
}
body.error404 .as-404-cat-wrap img{
  display:block!important; width:min(100%,560px)!important; max-width:560px!important; height:auto!important; max-height:none!important;
  object-fit:contain!important; object-position:center bottom!important; position:relative!important; z-index:5!important;
}
.as-footer-modern__brand>.as-footer-modern__socials{display:none!important}
.as-footer-social-section{
  display:grid; grid-template-columns:minmax(0,1fr) auto; gap:28px; align-items:center;
  margin:10px 0 0; padding:28px 0; border-top:1px solid rgba(255,255,255,.12);
  border-bottom:1px solid rgba(255,255,255,.12);
}
.as-footer-social-section__copy .as-kicker{margin-bottom:7px!important;font-size:10px!important}
.as-footer-social-section__copy h3{margin:0!important;color:#fff!important;font:600 clamp(17px,1.4vw,22px)/1.25 'Plus Jakarta Sans',sans-serif!important;letter-spacing:-.025em!important}
.as-footer-social-section__icons{display:grid;grid-template-columns:repeat(8,44px);gap:9px;justify-content:end}
.as-footer-social-section__icons a{
  width:44px;height:44px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.18);border-radius:50%;
  color:rgba(255,255,255,.72)!important;text-decoration:none!important;transition:transform .22s ease,border-color .22s ease,color .22s ease,background .22s ease;
}
.as-footer-social-section__icons a:hover{transform:translateY(-2px);border-color:#fff;color:#080808!important;background:#fff}
.as-footer-social-section__icons svg{width:18px;height:18px;display:block}
@media(max-width:980px){
  .as-footer-social-section{grid-template-columns:1fr;gap:18px}
  .as-footer-social-section__icons{justify-content:start;grid-template-columns:repeat(8,42px)}
}
@media(max-width:560px){
  .as-footer-social-section{padding:24px 0}
  .as-footer-social-section__icons{grid-template-columns:repeat(4,42px);gap:9px}
  body.error404 .as-404-cat-wrap img{width:min(100%,430px)!important}
}


/* ================================================================
   8.12.5 — page 404 plus compacte + Instagram officiel
   ================================================================ */
body.error404 .as-404-hero{
  padding-top:clamp(54px,6vw,92px)!important;
}
body.error404 .as-404-hero__grid{
  gap:clamp(30px,5vw,72px)!important;
}
body.error404 .as-404-hero__visual{
  transform:translateY(-34px)!important;
}
body.error404 .as-404-number{
  margin-bottom:22px!important;
}
.as-footer-social-section__icons a[aria-label="Instagram"] .as-icon-instagram-official{
  width:20px!important;
  height:20px!important;
  display:block!important;
  fill:currentColor!important;
}
@media(max-width:980px){
  body.error404 .as-404-hero__visual{transform:translateY(-20px)!important;}
  body.error404 .as-404-hero__grid{gap:24px!important;}
}
@media(max-width:560px){
  body.error404 .as-404-hero{padding-top:48px!important;}
  body.error404 .as-404-hero__visual{transform:translateY(-12px)!important;}
}

/* ================================================================
   8.12.6 — page 404 : suppression des formes grises décoratives
   ================================================================ */
body.error404 .as-404-hero__visual::before,
body.error404 .as-404-hero__visual::after,
body.error404 .as-404-cat-wrap::before,
body.error404 .as-404-cat-wrap::after {
  content:none !important;
  display:none !important;
}
body.error404 .as-404-hero__visual,
body.error404 .as-404-cat-wrap {
  background:transparent !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
}
body.error404 .as-404-cat-wrap {
  overflow:visible !important;
}
body.error404 .as-404-cat-wrap img {
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
}


/* =========================================================
   8.12.9 — Espace privé + pages légales sans aucune couleur rose
   ========================================================= */
body.page-mentions-legales,
body.page-politique-de-confidentialite,
body.page-conditions-utilisation,
body.page-plan-du-site,
body[class*="mentions-legales"],
body[class*="politique-de-confidentialite"],
body[class*="conditions-utilisation"] {
  --e-global-color-primary:#080808 !important;
  --e-global-color-secondary:#111111 !important;
  --e-global-color-text:#55585d !important;
  --e-global-color-accent:#080808 !important;
  --accent:#080808 !important;
  --as-pink:#080808 !important;
  background:#ffffff !important;
  color:#080808 !important;
}

body.page-mentions-legales main,
body.page-politique-de-confidentialite main,
body.page-conditions-utilisation main,
body.page-plan-du-site main,
body[class*="mentions-legales"] main,
body[class*="politique-de-confidentialite"] main,
body[class*="conditions-utilisation"] main {
  background:#ffffff !important;
}

body.page-mentions-legales :is(h1,h2,h3,h4,h5,h6,strong,b),
body.page-politique-de-confidentialite :is(h1,h2,h3,h4,h5,h6,strong,b),
body.page-conditions-utilisation :is(h1,h2,h3,h4,h5,h6,strong,b),
body.page-plan-du-site :is(h1,h2,h3,h4,h5,h6,strong,b),
body[class*="mentions-legales"] :is(h1,h2,h3,h4,h5,h6,strong,b),
body[class*="politique-de-confidentialite"] :is(h1,h2,h3,h4,h5,h6,strong,b),
body[class*="conditions-utilisation"] :is(h1,h2,h3,h4,h5,h6,strong,b) {
  color:#080808 !important;
}

body.page-mentions-legales :is(p,li,span),
body.page-politique-de-confidentialite :is(p,li,span),
body.page-conditions-utilisation :is(p,li,span),
body.page-plan-du-site :is(p,li,span),
body[class*="mentions-legales"] :is(p,li,span),
body[class*="politique-de-confidentialite"] :is(p,li,span),
body[class*="conditions-utilisation"] :is(p,li,span) {
  color:#5f6267 !important;
}

body.page-mentions-legales a,
body.page-politique-de-confidentialite a,
body.page-conditions-utilisation a,
body.page-plan-du-site a,
body[class*="mentions-legales"] a,
body[class*="politique-de-confidentialite"] a,
body[class*="conditions-utilisation"] a {
  color:#080808 !important;
  text-decoration-color:#080808 !important;
}

body.page-mentions-legales a:hover,
body.page-politique-de-confidentialite a:hover,
body.page-conditions-utilisation a:hover,
body.page-plan-du-site a:hover,
body[class*="mentions-legales"] a:hover,
body[class*="politique-de-confidentialite"] a:hover,
body[class*="conditions-utilisation"] a:hover {
  color:#4a4a4a !important;
}

body.page-mentions-legales .as-eyebrow::before,
body.page-politique-de-confidentialite .as-eyebrow::before,
body.page-conditions-utilisation .as-eyebrow::before,
body.page-plan-du-site .as-eyebrow::before,
body[class*="mentions-legales"] .as-eyebrow::before,
body[class*="politique-de-confidentialite"] .as-eyebrow::before,
body[class*="conditions-utilisation"] .as-eyebrow::before {
  background:#080808 !important;
}

body.page-mentions-legales .as-card,
body.page-politique-de-confidentialite .as-card,
body.page-conditions-utilisation .as-card,
body.page-plan-du-site .as-card,
body[class*="mentions-legales"] .as-card,
body[class*="politique-de-confidentialite"] .as-card,
body[class*="conditions-utilisation"] .as-card {
  background:#ffffff !important;
  border-color:#e6e6e6 !important;
  box-shadow:none !important;
}

body.page-mentions-legales [style*="#e91e63"],
body.page-mentions-legales [style*="#E91E63"],
body.page-mentions-legales [style*="#f06292"],
body.page-mentions-legales [style*="#F06292"],
body.page-mentions-legales [style*="#ff69b4"],
body.page-mentions-legales [style*="#FF69B4"],
body.page-politique-de-confidentialite [style*="#e91e63"],
body.page-conditions-utilisation [style*="#e91e63"] {
  color:#080808 !important;
  background-color:transparent !important;
  border-color:#080808 !important;
}




/* ================================================================
   8.13.4 — widget réellement compact + flèches fines uniformes
   ================================================================ */
/* Widget d'accueil : taille compacte, proche de l'ancienne version validée. */
body.home .as-home-hero-media .as-hero__badge{
  width:min(420px,calc(100% - 42px))!important;
  min-height:118px!important;
  height:auto!important;
  padding:22px 28px!important;
  bottom:-38px!important;
  border-radius:24px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.45fr) minmax(0,.62fr)!important;
  align-items:center!important;
  column-gap:24px!important;
  background:#050505!important;
  box-shadow:0 20px 42px rgba(0,0,0,.14)!important;
  overflow:visible!important;
}
body.home .as-home-hero-media .as-hero__badge>div{
  min-width:0!important;
  padding:0!important;
  border:0!important;
}
body.home .as-home-hero-media .as-hero__badge>div+div{
  border:0!important;
}
body.home .as-home-hero-media .as-hero__badge strong{
  display:block!important;
  margin:0!important;
  color:#fff!important;
  font-family:"Plus Jakarta Sans",sans-serif!important;
  font-size:clamp(20px,1.35vw,25px)!important;
  line-height:1.08!important;
  font-weight:700!important;
  letter-spacing:-.025em!important;
  white-space:nowrap!important;
}
body.home .as-home-hero-media .as-hero__badge span{
  display:block!important;
  margin-top:10px!important;
  color:rgba(255,255,255,.58)!important;
  font-family:"Poppins",sans-serif!important;
  font-size:clamp(12px,.82vw,14px)!important;
  line-height:1.3!important;
  font-weight:400!important;
  white-space:nowrap!important;
}

/* Icônes de flèche : traits fins, jamais remplies ni triangulaires. */
.as-btn svg,
.as-card__link svg,
.as-blog-card__arrow svg,
.as-private-card__arrow svg,
.as-contact-premium__actions button svg,
.as-contact-premium__map>a svg,
.as-footer-newsletter button svg,
.as-site-footer button svg,
[class*="arrow"] svg{
  width:18px!important;
  height:18px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.65!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  overflow:visible!important;
}
.as-blog-card__arrow,
.as-private-card__arrow{
  background:transparent!important;
  color:inherit!important;
  border:1px solid currentColor!important;
  box-shadow:none!important;
  clip-path:none!important;
}
.as-blog-card__arrow::before,.as-blog-card__arrow::after,
.as-private-card__arrow::before,.as-private-card__arrow::after,
.as-btn::before,.as-btn::after,
.as-card__link::before,.as-card__link::after{
  content:none!important;
  border:0!important;
  clip-path:none!important;
  background:none!important;
}

@media(max-width:760px){
  body.home .as-home-hero-media .as-hero__badge{
    width:min(340px,calc(100% - 30px))!important;
    min-height:92px!important;
    padding:16px 19px!important;
    bottom:-30px!important;
    border-radius:20px!important;
    grid-template-columns:minmax(0,1.42fr) minmax(0,.58fr)!important;
    column-gap:15px!important;
  }
  body.home .as-home-hero-media .as-hero__badge strong{font-size:clamp(17px,4.8vw,21px)!important}
  body.home .as-home-hero-media .as-hero__badge span{margin-top:7px!important;font-size:clamp(10px,3vw,12px)!important;white-space:normal!important}
}
@media(max-width:430px){
  body.home .as-home-hero-media .as-hero__badge{
    width:min(305px,calc(100% - 24px))!important;
    min-height:82px!important;
    padding:14px 16px!important;
    bottom:-26px!important;
    border-radius:18px!important;
    column-gap:11px!important;
  }
  body.home .as-home-hero-media .as-hero__badge strong{font-size:15.5px!important}
  body.home .as-home-hero-media .as-hero__badge span{font-size:9.5px!important}
}

/* ================================================================
   8.13.5 — widget d'accueil réellement réduit (correction ciblée)
   ================================================================ */
body.home .as-home-hero-media > .as-hero__badge,
body.home .as-home-hero-media .as-hero__badge {
  width: 350px !important;
  max-width: calc(100% - 40px) !important;
  min-width: 0 !important;
  min-height: 88px !important;
  height: 88px !important;
  padding: 14px 20px !important;
  left: 20px !important;
  right: auto !important;
  bottom: -22px !important;
  margin: 0 !important;
  border-radius: 18px !important;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, .62fr) !important;
  column-gap: 18px !important;
  overflow: hidden !important;
}
body.home .as-home-hero-media .as-hero__badge > div {
  min-width: 0 !important;
  padding: 0 !important;
}
body.home .as-home-hero-media .as-hero__badge strong {
  font-size: 18px !important;
  line-height: 1.05 !important;
  white-space: nowrap !important;
}
body.home .as-home-hero-media .as-hero__badge span {
  margin-top: 7px !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
}
@media (max-width: 760px) {
  body.home .as-home-hero-media > .as-hero__badge,
  body.home .as-home-hero-media .as-hero__badge {
    position: relative !important;
    width: 300px !important;
    max-width: calc(100% - 28px) !important;
    height: 78px !important;
    min-height: 78px !important;
    left: auto !important;
    bottom: auto !important;
    margin: -20px 14px 0 !important;
    padding: 12px 16px !important;
    border-radius: 16px !important;
    column-gap: 12px !important;
  }
  body.home .as-home-hero-media .as-hero__badge strong { font-size: 15px !important; }
  body.home .as-home-hero-media .as-hero__badge span { font-size: 9.5px !important; margin-top: 5px !important; }
}


/* ================================================================
   8.14.1 — flèche officielle exacte fournie par le client
   Remplacement uniquement aux emplacements contenant déjà une flèche.
   ================================================================ */
.as-official-arrow{
  --as-arrow-size:18px;
  display:inline-block!important;
  width:var(--as-arrow-size)!important;
  height:var(--as-arrow-size)!important;
  flex:0 0 var(--as-arrow-size)!important;
  vertical-align:-.18em!important;
  background-color:currentColor!important;
  -webkit-mask-image:url('../img/fleche-officielle.png')!important;
  mask-image:url('../img/fleche-officielle.png')!important;
  -webkit-mask-repeat:no-repeat!important;
  mask-repeat:no-repeat!important;
  -webkit-mask-position:center!important;
  mask-position:center!important;
  -webkit-mask-size:contain!important;
  mask-size:contain!important;
  transition:transform .28s ease,opacity .28s ease!important;
}
.as-official-arrow--reverse{transform:rotate(180deg)!important}
a:hover .as-official-arrow,button:hover .as-official-arrow{transform:translate(2px,-2px)!important}
a:hover .as-official-arrow--reverse,button:hover .as-official-arrow--reverse{transform:rotate(180deg) translate(2px,-2px)!important}
.as-blog-card__arrow .as-official-arrow,
.as-private-card__arrow .as-official-arrow{--as-arrow-size:17px}
.as-btn .as-official-arrow,
.as-card__link .as-official-arrow,
.as-contact-premium__route .as-official-arrow,
.as-contact-premium__actions .as-official-arrow,
.as-footer-newsletter .as-official-arrow{margin-left:8px}
/* Hide legacy arrow pseudo-elements only where a real arrow element already exists. */
.as-btn:has(.as-official-arrow)::before,.as-btn:has(.as-official-arrow)::after,
.as-card__link:has(.as-official-arrow)::before,.as-card__link:has(.as-official-arrow)::after{
  content:none!important;display:none!important
}

/* ================================================================
   8.14.2 — Header affiné : logo plus présent, menu resserré,
   transparence en haut et fond blanc détaché au défilement.
   ================================================================ */
@media (min-width: 1025px) {
  .as-header {
    background: transparent !important;
    background-color: transparent !important;
    border-bottom-color: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  .as-header:not(.is-scrolled) {
    background: transparent !important;
    background-color: transparent !important;
    border-bottom: 1px solid transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  .as-header.is-scrolled {
    background: rgba(255,255,255,.97) !important;
    background-color: rgba(255,255,255,.97) !important;
    border-bottom: 1px solid rgba(10,10,10,.075) !important;
    box-shadow: 0 14px 38px rgba(0,0,0,.085) !important;
    backdrop-filter: blur(18px) saturate(155%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(155%) !important;
  }

  .as-header__inner {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
    grid-template-columns: minmax(220px,1fr) auto minmax(220px,1fr) !important;
    column-gap: 18px !important;
  }

  .as-logo,
  .as-logo .custom-logo-link {
    transform: none !important;
  }

  .as-logo img,
  .as-logo .custom-logo-link img,
  body.home .as-logo img,
  body.home .as-logo .custom-logo-link img {
    height: 88px !important;
    max-height: 88px !important;
    width: auto !important;
    max-width: 230px !important;
    object-fit: contain !important;
  }

  .as-nav__list {
    gap: 1px !important;
  }

  .as-nav__list > li > a,
  .as-nav__list > li > .as-nav__toggle {
    padding: 9px 12px !important;
  }
}

/* ---------- Partenaires : logos sans cartes ni contours — v8.14.3 ---------- */
.as-partners-page .as-partner-logo-card {
  min-height: 190px;
  padding: 28px 34px;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible;
  transition: none;
}
.as-partners-page .as-partner-logo-card:hover {
  transform: none;
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
}
.as-partners-page .as-partner-logo-card__img {
  max-width: 82%;
  max-height: 124px;
  filter: grayscale(100%);
  opacity: .62;
  transition: filter .35s ease, opacity .35s ease, transform .35s cubic-bezier(.2,.75,.25,1);
  transform-origin: center;
}
.as-partners-page .as-partner-logo-card__img--large {
  max-width: 88%;
  max-height: 154px;
}
.as-partners-page .as-partner-logo-card:hover .as-partner-logo-card__img,
.as-partners-page .as-partner-logo-card:focus-visible .as-partner-logo-card__img {
  filter: grayscale(0%);
  opacity: 1;
  transform: scale(1.08);
}
@media (max-width: 760px) {
  .as-partners-page .as-partner-logo-card {
    min-height: 145px;
    padding: 20px 18px;
  }
  .as-partners-page .as-partner-logo-card__img {
    max-width: 78%;
    max-height: 100px;
  }
  .as-partners-page .as-partner-logo-card__img--large {
    max-width: 84%;
    max-height: 122px;
  }
}

/* ================================================================
   8.14.4 — Responsive mobile global + logos partenaires agrandis
   ================================================================ */

/* Logos partenaires plus présents, sans remettre de carte. */
.as-partners-page .as-partner-logo-card__img {
  max-width: 90% !important;
  max-height: 142px !important;
}
.as-partners-page .as-partner-logo-card__img--large {
  max-width: 94% !important;
  max-height: 176px !important;
}
.as-partners-page .as-partner-logo-card:hover .as-partner-logo-card__img,
.as-partners-page .as-partner-logo-card:focus-visible .as-partner-logo-card__img {
  transform: scale(1.1) !important;
}

@media (max-width: 1024px) {
  html, body { overflow-x: hidden !important; }
  body { -webkit-text-size-adjust: 100%; }
  img, video, iframe { max-width: 100%; }

  .as-container,
  .elementor-section.elementor-section-boxed > .elementor-container,
  .e-con.e-con-boxed > .e-con-inner {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 28px !important;
    padding-right: 28px !important;
  }

  .as-topbar__inner {
    min-height: 40px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
  }
  .as-topbar__phones,
  .as-topbar__socials { gap: 12px !important; }
  .as-topbar a { font-size: 12px !important; }
  .as-topbar svg { width: 15px !important; height: 15px !important; }

  .as-header__inner {
    min-height: 74px !important;
    padding: 7px 28px !important;
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    align-items: center !important;
  }
  .as-logo img,
  .as-logo .custom-logo-link img {
    height: 64px !important;
    max-height: 64px !important;
    width: auto !important;
    max-width: 190px !important;
  }
  .as-nav { display: none !important; }
  .as-header__actions > .as-btn { display: none !important; }
  .as-burger {
    display: inline-flex !important;
    width: 48px !important;
    height: 48px !important;
    border-radius: 50% !important;
    background: #050505 !important;
    border: 1px solid #050505 !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: column !important;
    gap: 5px !important;
    padding: 0 !important;
  }
  .as-burger span {
    display: block !important;
    width: 20px !important;
    height: 2px !important;
    background: #fff !important;
    border-radius: 999px !important;
  }

  .as-drawer {
    width: min(420px, 100vw) !important;
    padding: 92px 0 36px !important;
    overflow-y: auto !important;
  }
  .as-drawer .as-container { padding-inline: 28px !important; }
  .as-drawer ul { gap: 0 !important; }
  .as-drawer li { border-bottom: 1px solid rgba(255,255,255,.12) !important; }
  .as-drawer a,
  .as-drawer button.as-nav__toggle {
    min-height: 54px !important;
    font-size: 17px !important;
    padding: 14px 0 !important;
  }

  body.home .as-hero__grid,
  .as-about-hero__grid,
  .as-services-hero__grid,
  .as-contact-premium__grid,
  .as-donation-page__grid {
    grid-template-columns: 1fr !important;
    gap: 42px !important;
  }
  body.home .as-home-hero-copy,
  body.home .as-home-hero-title { max-width: 760px !important; }
  body.home .as-hero__visual.as-home-photo-guaranteed {
    min-height: 460px !important;
    width: 100% !important;
  }
  body.home .as-home-hero-image {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transform: scale(1.08) !important;
  }

  .as-grid--2,
  .as-grid--3,
  .as-grid--4,
  .as-blog-grid,
  .as-adoption-grid,
  .as-services-grid,
  .as-values-grid,
  .as-footer-modern__nav {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }

  .as-footer-modern__main { grid-template-columns: 1fr !important; gap: 42px !important; }
  .as-footer-modern__nav { gap: 32px 24px !important; }
  .as-footer-modern__newsletter { gap: 28px !important; }
}

@media (max-width: 680px) {
  :root { --as-mobile-gutter: 18px; }

  .as-container,
  .elementor-section.elementor-section-boxed > .elementor-container,
  .e-con.e-con-boxed > .e-con-inner {
    padding-left: var(--as-mobile-gutter) !important;
    padding-right: var(--as-mobile-gutter) !important;
  }

  .as-topbar { min-height: 38px !important; }
  .as-topbar__inner {
    min-height: 38px !important;
    padding-inline: var(--as-mobile-gutter) !important;
  }
  .as-topbar__phones { gap: 10px !important; }
  .as-topbar__phones a { font-size: 10px !important; white-space: nowrap !important; }
  .as-topbar__phones svg { width: 12px !important; height: 12px !important; }
  .as-topbar__socials { gap: 9px !important; }
  .as-topbar__socials a { width: 18px !important; height: 18px !important; }
  .as-topbar__socials a:nth-child(n+4) { display: none !important; }

  .as-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 1000 !important;
    background: rgba(255,255,255,.96) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
  }
  .as-header__inner {
    min-height: 66px !important;
    padding: 5px var(--as-mobile-gutter) !important;
  }
  .as-logo img,
  .as-logo .custom-logo-link img {
    height: 55px !important;
    max-height: 55px !important;
    max-width: 165px !important;
  }
  .as-burger { width: 44px !important; height: 44px !important; }

  .as-section,
  .as-page-section,
  .elementor-top-section { padding-top: 58px !important; padding-bottom: 58px !important; }
  .as-page-hero,
  .as-legal-hero,
  .as-partners-hero { padding-top: 54px !important; padding-bottom: 42px !important; }

  h1, .as-page-title { font-size: clamp(38px, 11vw, 56px) !important; line-height: 1.02 !important; }
  h2 { font-size: clamp(30px, 8.8vw, 43px) !important; line-height: 1.08 !important; }
  h3 { font-size: clamp(22px, 6.4vw, 30px) !important; }
  p, li, .elementor-widget-text-editor { font-size: 16px !important; line-height: 1.72 !important; }

  body.home .as-hero { padding-top: 44px !important; padding-bottom: 74px !important; }
  body.home .as-hero__grid { gap: 34px !important; }
  body.home .as-home-hero-title {
    font-size: clamp(48px, 14.5vw, 70px) !important;
    line-height: .94 !important;
    max-width: 100% !important;
  }
  body.home .as-home-hero-copy p { font-size: 17px !important; line-height: 1.65 !important; }
  body.home .as-hero__actions,
  .as-page-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    width: 100% !important;
  }
  body.home .as-hero__actions .as-btn,
  .as-page-actions .as-btn {
    width: 100% !important;
    min-height: 52px !important;
    justify-content: center !important;
  }
  body.home .as-hero__visual.as-home-photo-guaranteed {
    min-height: 330px !important;
    border-radius: 24px !important;
  }
  body.home .as-home-hero-image { transform: scale(1.05) !important; }
  body.home .as-home-hero-media .as-hero__badge {
    position: relative !important;
    width: min(280px, calc(100% - 28px)) !important;
    height: 76px !important;
    min-height: 76px !important;
    left: auto !important;
    bottom: auto !important;
    margin: -22px auto 0 !important;
    padding: 12px 15px !important;
    border-radius: 17px !important;
    column-gap: 10px !important;
  }
  body.home .as-home-hero-media .as-hero__badge strong { font-size: 14.5px !important; }
  body.home .as-home-hero-media .as-hero__badge span { font-size: 9px !important; margin-top: 4px !important; }

  .as-grid--2,
  .as-grid--3,
  .as-grid--4,
  .as-blog-grid,
  .as-adoption-grid,
  .as-services-grid,
  .as-values-grid,
  .as-footer-modern__nav,
  .as-partners-simple {
    grid-template-columns: 1fr !important;
  }

  .as-card,
  .as-blog-card,
  .as-animal-card,
  .as-service-card,
  .as-value-card {
    border-radius: 22px !important;
    overflow: hidden !important;
  }
  .as-blog-card__media,
  .as-animal-card__media { min-height: 260px !important; }

  .as-partners-section { padding-bottom: 70px !important; }
  .as-partners-page .as-partner-logo-card {
    min-height: 128px !important;
    padding: 14px 8px !important;
  }
  .as-partners-page .as-partner-logo-card__img {
    max-width: 92% !important;
    max-height: 112px !important;
  }
  .as-partners-page .as-partner-logo-card__img--large {
    max-width: 96% !important;
    max-height: 134px !important;
  }

  .as-contact-premium,
  .as-contact-classic,
  .as-donation-page,
  .as-legal-page { padding-left: var(--as-mobile-gutter) !important; padding-right: var(--as-mobile-gutter) !important; }
  .as-contact-premium__card,
  .as-contact-premium__map,
  .as-contact-premium__form,
  .as-donation-page__copy,
  .as-donation-page__form,
  .as-legal-card {
    border-radius: 22px !important;
    padding: 24px 20px !important;
  }
  .as-contact-premium iframe,
  .as-contact-classic iframe { min-height: 320px !important; height: 320px !important; }

  input, select, textarea,
  .elementor-field,
  .give-input {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 50px !important;
    font-size: 16px !important;
    border-radius: 14px !important;
  }
  textarea { min-height: 150px !important; }
  button[type="submit"], input[type="submit"], .as-btn {
    min-height: 50px !important;
    border-radius: 999px !important;
  }

  .as-table-wrap,
  .wp-block-table,
  .elementor-widget-table { overflow-x: auto !important; -webkit-overflow-scrolling: touch !important; }
  table { min-width: 620px; }

  .as-inbox { padding-inline: var(--as-mobile-gutter) !important; }
  .as-inbox__layout { border-radius: 20px !important; }
  .as-inbox__list { max-height: 360px !important; }
  .as-inbox__message { padding: 22px 17px !important; }

  .as-footer-cta__shell,
  .as-footer-modern__card { border-radius: 24px !important; }
  .as-footer-cta { padding-inline: 10px !important; }
  .as-footer-cta__shell { padding: 48px 22px !important; }
  .as-footer-cta__copy h2 { font-size: clamp(34px,10vw,48px) !important; }
  .as-footer-modern { padding: 0 10px 12px !important; }
  .as-footer-modern__card { padding: 44px 22px 28px !important; }
  .as-footer-modern__brand img { max-width: 205px !important; }
  .as-footer-modern__nav { gap: 30px !important; }
  .as-footer-modern__nav h3 { margin-bottom: 13px !important; }
  .as-footer-modern__nav a,
  .as-footer-modern__nav span { font-size: 14px !important; line-height: 1.55 !important; }
  .as-footer-social-section { flex-direction: column !important; align-items: flex-start !important; gap: 22px !important; }
  .as-footer-social-section__icons { grid-template-columns: repeat(4,44px) !important; gap: 10px !important; }
  .as-footer-modern__newsletter,
  .as-footer-modern__newsletter--classic {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
  .as-footer-newsletter__field { flex-direction: column !important; align-items: stretch !important; gap: 10px !important; }
  .as-footer-newsletter__field input,
  .as-footer-newsletter__field button { width: 100% !important; }
  .as-footer-modern__bottom { flex-direction: column !important; align-items: flex-start !important; gap: 15px !important; }
  .as-footer-modern__legal { display: flex !important; flex-wrap: wrap !important; gap: 12px 18px !important; }

  .g-recaptcha { transform: scale(.88); transform-origin: left top; max-width: 100%; }
}

@media (max-width: 390px) {
  .as-topbar__phones a:last-child { display: none !important; }
  .as-logo img,
  .as-logo .custom-logo-link img { height: 50px !important; max-height: 50px !important; max-width: 150px !important; }
  body.home .as-home-hero-title { font-size: clamp(44px, 14vw, 58px) !important; }
  body.home .as-hero__visual.as-home-photo-guaranteed { min-height: 285px !important; }
  .as-footer-social-section__icons { grid-template-columns: repeat(4,40px) !important; }
  .g-recaptcha { transform: scale(.79); }
}

/* ================================================================
   8.14.5 — Correctif menu mobile : 3 traits + fermeture accessible
   ================================================================ */
@media (max-width: 1024px) {
  .as-burger {
    position: relative !important;
    z-index: 1001 !important;
    overflow: visible !important;
  }
  .as-burger > span {
    display: block !important;
    position: relative !important;
    width: 20px !important;
    height: 2px !important;
    margin: 0 !important;
    background: #fff !important;
    border-radius: 999px !important;
  }
  .as-burger > span::before,
  .as-burger > span::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    width: 20px !important;
    height: 2px !important;
    background: #fff !important;
    border-radius: 999px !important;
  }
  .as-burger > span::before { top: -6px !important; }
  .as-burger > span::after { top: 6px !important; }

  body.as-drawer-open .as-burger {
    opacity: 0 !important;
    pointer-events: none !important;
  }

  .as-drawer {
    z-index: 9999 !important;
    padding-top: calc(92px + env(safe-area-inset-top, 0px)) !important;
  }
  .as-drawer-close {
    position: fixed !important;
    top: calc(18px + env(safe-area-inset-top, 0px)) !important;
    right: 20px !important;
    z-index: 10002 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 48px !important;
    height: 48px !important;
    padding: 0 !important;
    color: #fff !important;
    background: #111 !important;
    border: 1px solid rgba(255,255,255,.22) !important;
    border-radius: 50% !important;
    box-shadow: 0 10px 30px rgba(0,0,0,.28) !important;
  }
  .as-drawer-close svg {
    width: 22px !important;
    height: 22px !important;
    stroke: #fff !important;
    pointer-events: none !important;
  }
}

/* ================================================================
   8.14.6 — Correctif mobile complet et stable
   ================================================================ */
@media (max-width: 1024px) {
  html, body { overflow-x: hidden !important; }

  /* La barre sociale desktop ne doit pas déformer l'affichage mobile. */
  .as-topbar { display: none !important; }

  .as-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 8000 !important;
    min-height: 72px !important;
    background: rgba(255,255,255,.98) !important;
    border-bottom: 1px solid rgba(0,0,0,.06) !important;
    box-shadow: 0 8px 24px rgba(0,0,0,.04) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
  }
  .as-header__inner {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 72px !important;
    padding: 8px 18px !important;
    gap: 18px !important;
  }
  .as-logo, .as-logo .custom-logo-link {
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
  }
  .as-logo img, .as-logo .custom-logo-link img,
  body.home .as-logo img, body.home .as-logo .custom-logo-link img {
    display: block !important;
    width: auto !important;
    height: 54px !important;
    max-width: 178px !important;
    max-height: 54px !important;
    object-fit: contain !important;
  }
  .as-nav, .as-header__actions > .as-btn { display: none !important; }
  .as-header__actions { display: flex !important; margin-left: auto !important; }

  /* Bouton burger : exactement trois traits, aucune pseudo-forme parasite. */
  .as-burger {
    position: relative !important;
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 46px !important;
    min-width: 46px !important;
    height: 46px !important;
    min-height: 46px !important;
    padding: 0 !important;
    margin: 0 !important;
    gap: 5px !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: #050505 !important;
    box-shadow: none !important;
    transform: none !important;
    overflow: hidden !important;
    z-index: 8002 !important;
  }
  .as-burger span,
  .as-burger span::before,
  .as-burger span::after {
    content: none !important;
    position: static !important;
    display: block !important;
    width: 20px !important;
    height: 2px !important;
    min-height: 2px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #fff !important;
    opacity: 1 !important;
    transform: none !important;
    box-shadow: none !important;
  }
  .as-burger:hover, .as-burger:focus { background: #050505 !important; transform: none !important; }
  body.as-drawer-open .as-burger { visibility: hidden !important; opacity: 0 !important; }

  /* Menu plein écran propre. */
  .as-drawer {
    position: fixed !important;
    inset: 0 !important;
    z-index: 99999 !important;
    display: block !important;
    width: 100vw !important;
    height: 100dvh !important;
    padding: calc(94px + env(safe-area-inset-top, 0px)) 24px 38px !important;
    background: #080808 !important;
    color: #fff !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    transform: translateX(105%) !important;
    transition: transform .38s cubic-bezier(.2,.8,.2,1) !important;
  }
  .as-drawer.is-open { transform: translateX(0) !important; }
  .as-drawer > .as-container {
    width: 100% !important;
    max-width: 620px !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }
  .as-drawer-brand {
    position: absolute !important;
    top: calc(20px + env(safe-area-inset-top, 0px)) !important;
    left: 22px !important;
    display: flex !important;
    align-items: center !important;
    width: 178px !important;
    height: 50px !important;
    z-index: 100002 !important;
  }
  .as-drawer-brand img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: left center !important;
  }
  .as-drawer-close {
    position: fixed !important;
    top: calc(20px + env(safe-area-inset-top, 0px)) !important;
    right: 20px !important;
    z-index: 100003 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 48px !important;
    min-width: 48px !important;
    height: 48px !important;
    min-height: 48px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 1px solid rgba(255,255,255,.28) !important;
    border-radius: 50% !important;
    background: #111 !important;
    color: #fff !important;
    box-shadow: 0 12px 30px rgba(0,0,0,.35) !important;
  }
  .as-drawer-close svg {
    display: block !important;
    width: 22px !important;
    height: 22px !important;
    stroke: #fff !important;
    pointer-events: none !important;
  }
  .as-drawer ul,
  .as-drawer .sub-menu {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
    list-style: none !important;
  }
  .as-drawer > .as-container > ul > li {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.14) !important;
  }
  .as-drawer > .as-container > ul > li > a,
  .as-drawer > .as-container > ul > li > .as-nav__toggle {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    min-height: 64px !important;
    margin: 0 !important;
    padding: 16px 0 !important;
    color: #fff !important;
    border: 0 !important;
    background: transparent !important;
    font-family: var(--font-display) !important;
    font-size: clamp(25px, 7.2vw, 34px) !important;
    line-height: 1.1 !important;
    font-weight: 700 !important;
    text-align: left !important;
  }
  .as-drawer .sub-menu {
    padding: 0 0 14px 0 !important;
  }
  .as-drawer .sub-menu li {
    width: 100% !important;
    border-top: 1px solid rgba(255,255,255,.09) !important;
  }
  .as-drawer .sub-menu a {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 12px 0 12px 14px !important;
    color: #aaa !important;
    font-size: 17px !important;
    line-height: 1.35 !important;
    font-weight: 500 !important;
    border: 0 !important;
    background: transparent !important;
  }
  .as-drawer > .as-container > div[style] {
    margin-top: 28px !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  .as-drawer .as-btn {
    width: 100% !important;
    min-height: 52px !important;
    justify-content: center !important;
  }

  /* Hero mobile sans débordement. */
  body.home .as-hero { padding: 42px 0 64px !important; }
  body.home .as-hero__grid {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    gap: 30px !important;
  }
  body.home .as-home-hero-copy,
  body.home .as-home-hero-media { width: 100% !important; max-width: 100% !important; min-width: 0 !important; }
  body.home .as-home-hero-title {
    font-size: clamp(46px, 13.5vw, 66px) !important;
    line-height: .95 !important;
    letter-spacing: -.04em !important;
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
  }
  body.home .as-hero__visual.as-home-photo-guaranteed {
    width: 100% !important;
    height: auto !important;
    min-height: 330px !important;
    aspect-ratio: 1.16 / 1 !important;
    border-radius: 24px !important;
    overflow: hidden !important;
  }
  body.home .as-home-hero-image {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center 48% !important;
    transform: none !important;
  }
  body.home .as-home-hero-media .as-hero__badge {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    align-items: center !important;
    width: calc(100% - 30px) !important;
    max-width: 390px !important;
    min-height: 94px !important;
    height: auto !important;
    margin: -28px auto 0 !important;
    padding: 18px 20px !important;
    gap: 14px !important;
    border-radius: 22px !important;
    overflow: hidden !important;
  }
  body.home .as-home-hero-media .as-hero__badge::before,
  body.home .as-home-hero-media .as-hero__badge::after { display: none !important; content: none !important; }
  body.home .as-home-hero-media .as-hero__badge > div {
    position: relative !important;
    min-width: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }
  body.home .as-home-hero-media .as-hero__badge > div + div {
    padding-left: 16px !important;
    border-left: 1px solid rgba(255,255,255,.18) !important;
  }
  body.home .as-home-hero-media .as-hero__badge strong {
    display: block !important;
    margin: 0 !important;
    color: #fff !important;
    font-size: clamp(17px, 5.6vw, 24px) !important;
    line-height: 1.08 !important;
    white-space: nowrap !important;
  }
  body.home .as-home-hero-media .as-hero__badge span {
    display: block !important;
    margin-top: 7px !important;
    color: rgba(255,255,255,.62) !important;
    font-size: clamp(11px, 3.4vw, 15px) !important;
    line-height: 1.25 !important;
    white-space: nowrap !important;
  }

  /* Aucun SVG ou icône sociale ne doit devenir géant. */
  .as-topbar svg,
  .as-footer-modern svg,
  .as-footer-social-section svg,
  .as-socials svg {
    max-width: 24px !important;
    max-height: 24px !important;
  }
}

@media (max-width: 420px) {
  .as-header__inner { padding-inline: 14px !important; }
  .as-logo img, .as-logo .custom-logo-link img,
  body.home .as-logo img, body.home .as-logo .custom-logo-link img {
    height: 48px !important;
    max-height: 48px !important;
    max-width: 156px !important;
  }
  .as-burger { width: 44px !important; min-width: 44px !important; height: 44px !important; min-height: 44px !important; }
  .as-drawer { padding-inline: 20px !important; }
  .as-drawer-brand { left: 18px !important; width: 154px !important; }
  .as-drawer-close { right: 16px !important; }
  body.home .as-hero__visual.as-home-photo-guaranteed { min-height: 300px !important; }
  body.home .as-home-hero-media .as-hero__badge {
    width: calc(100% - 22px) !important;
    padding: 16px 15px !important;
    gap: 10px !important;
  }
  body.home .as-home-hero-media .as-hero__badge > div + div { padding-left: 12px !important; }
}

/* =========================================================
   ANIMAE 8.14.7 — Topbar et logos mobiles finalisés
   ========================================================= */
@media (max-width: 820px) {
  /* Barre noire compacte, lisible et alignée. */
  html body .as-topbar,
  html body .as-topbar.is-hidden {
    display: block !important;
    position: relative !important;
    max-height: none !important;
    min-height: 44px !important;
    height: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
    overflow: visible !important;
    background: #000 !important;
    color: #fff !important;
  }
  html body .as-topbar__inner {
    width: 100% !important;
    max-width: none !important;
    min-height: 44px !important;
    padding: 7px 14px !important;
    margin: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 10px !important;
    background: #000 !important;
  }
  html body .as-topbar__phones {
    display: flex !important;
    align-items: center !important;
    min-width: 0 !important;
    gap: 0 !important;
    margin: 0 !important;
  }
  html body .as-topbar__phones a {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    color: #fff !important;
    font-size: 12.5px !important;
    line-height: 1 !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
    opacity: 1 !important;
  }
  html body .as-topbar__phones a:first-child {
    display: inline-flex !important;
  }
  html body .as-topbar__phones a:nth-child(n+2) {
    display: none !important;
  }
  html body .as-topbar__phones svg {
    width: 15px !important;
    height: 15px !important;
    min-width: 15px !important;
    color: #fff !important;
    stroke: #fff !important;
  }
  html body .as-topbar__socials {
    display: grid !important;
    grid-template-columns: repeat(4, 30px) !important;
    align-items: center !important;
    justify-content: end !important;
    gap: 4px !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  html body .as-topbar__socials a {
    display: grid !important;
    place-items: center !important;
    width: 30px !important;
    min-width: 30px !important;
    height: 30px !important;
    min-height: 30px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #fff !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 50% !important;
    opacity: 1 !important;
  }
  html body .as-topbar__socials a:hover,
  html body .as-topbar__socials a:focus-visible {
    background: rgba(255,255,255,.12) !important;
  }
  html body .as-topbar__socials svg,
  html body .as-topbar__socials .as-icon-instagram,
  html body .as-topbar__socials .as-icon-bluesky {
    display: block !important;
    width: 18px !important;
    height: 18px !important;
    max-width: 18px !important;
    max-height: 18px !important;
    color: #fff !important;
    fill: currentColor !important;
  }
  html body .as-topbar__socials a[aria-label="TikTok"] svg {
    width: 19px !important;
    height: 19px !important;
    max-width: 19px !important;
    max-height: 19px !important;
  }
  /* Réseaux principaux uniquement sur mobile : Facebook, Instagram, LinkedIn, TikTok. */
  html body .as-topbar__socials a[aria-label="Bluesky"] {
    display: none !important;
  }

  /* Logo du header fermé plus présent. */
  html body .as-header__inner {
    min-height: 76px !important;
    padding: 10px 14px !important;
  }
  html body .as-logo,
  html body .as-logo .custom-logo-link {
    display: flex !important;
    align-items: center !important;
    width: auto !important;
    max-width: 205px !important;
  }
  html body .as-logo img,
  html body .as-logo .custom-logo-link img,
  html body.home .as-logo img,
  html body.home .as-logo .custom-logo-link img {
    display: block !important;
    width: auto !important;
    height: 60px !important;
    max-height: 60px !important;
    max-width: 205px !important;
    object-fit: contain !important;
    object-position: left center !important;
  }

  /* Logo du menu déroulé, visible sans créer de grand vide. */
  html body .as-drawer {
    padding-top: calc(104px + env(safe-area-inset-top, 0px)) !important;
  }
  html body .as-drawer-brand {
    top: calc(17px + env(safe-area-inset-top, 0px)) !important;
    left: 20px !important;
    width: 210px !important;
    height: 64px !important;
    max-width: calc(100vw - 102px) !important;
  }
  html body .as-drawer-brand img {
    width: 100% !important;
    height: 100% !important;
    max-height: 64px !important;
    object-fit: contain !important;
    object-position: left center !important;
  }
}

@media (max-width: 430px) {
  html body .as-topbar__inner {
    padding-inline: 10px !important;
    gap: 5px !important;
  }
  html body .as-topbar__phones a {
    font-size: 11.5px !important;
    gap: 5px !important;
  }
  html body .as-topbar__socials {
    grid-template-columns: repeat(4, 27px) !important;
    gap: 2px !important;
  }
  html body .as-topbar__socials a {
    width: 27px !important;
    min-width: 27px !important;
    height: 27px !important;
    min-height: 27px !important;
  }
  html body .as-topbar__socials svg,
  html body .as-topbar__socials .as-icon-instagram {
    width: 16px !important;
    height: 16px !important;
    max-width: 16px !important;
    max-height: 16px !important;
  }
  html body .as-header__inner {
    min-height: 72px !important;
    padding-inline: 12px !important;
  }
  html body .as-logo img,
  html body .as-logo .custom-logo-link img,
  html body.home .as-logo img,
  html body.home .as-logo .custom-logo-link img {
    height: 56px !important;
    max-height: 56px !important;
    max-width: 188px !important;
  }
  html body .as-drawer-brand {
    left: 16px !important;
    width: 185px !important;
    height: 58px !important;
  }
  html body .as-drawer-brand img {
    max-height: 58px !important;
  }
}

/* =========================================================
   ANIMAE 8.14.8 — Correctif définitif du widget Hero mobile
   ========================================================= */
@media (max-width: 820px) {
  html, body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  body.home .as-hero,
  body.home .as-hero__grid,
  body.home .as-home-hero-media,
  body.home .as-hero__visual,
  body.home .as-hero__badge {
    box-sizing: border-box !important;
  }

  body.home .as-home-hero-media {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
  }

  body.home .as-hero__visual.as-home-photo-guaranteed {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
  }

  body.home .as-home-hero-media .as-hero__badge {
    position: relative !important;
    inset: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    align-items: center !important;
    justify-items: stretch !important;
    width: min(92%, 360px) !important;
    max-width: 360px !important;
    min-width: 0 !important;
    min-height: 82px !important;
    height: auto !important;
    margin: -24px auto 0 !important;
    padding: 15px 16px !important;
    gap: 0 !important;
    border-radius: 20px !important;
    overflow: hidden !important;
    background: #050505 !important;
  }

  body.home .as-home-hero-media .as-hero__badge::before,
  body.home .as-home-hero-media .as-hero__badge::after {
    display: none !important;
    content: none !important;
  }

  body.home .as-home-hero-media .as-hero__badge > div {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: flex-start !important;
    min-width: 0 !important;
    width: 100% !important;
    padding: 0 12px !important;
    margin: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
  }

  body.home .as-home-hero-media .as-hero__badge > div:first-child {
    padding-left: 2px !important;
  }

  body.home .as-home-hero-media .as-hero__badge > div + div {
    padding-left: 18px !important;
    border-left: 1px solid rgba(255,255,255,.2) !important;
  }

  body.home .as-home-hero-media .as-hero__badge strong {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    color: #fff !important;
    font-size: clamp(15px, 4.6vw, 21px) !important;
    line-height: 1.05 !important;
    letter-spacing: -.02em !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: clip !important;
  }

  body.home .as-home-hero-media .as-hero__badge span {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 6px 0 0 !important;
    color: rgba(255,255,255,.62) !important;
    font-size: clamp(9px, 2.8vw, 12px) !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: clip !important;
  }

  .as-ticker {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }
}

@media (max-width: 430px) {
  body.home .as-home-hero-media .as-hero__badge {
    width: min(90%, 332px) !important;
    max-width: 332px !important;
    min-height: 76px !important;
    margin-top: -20px !important;
    padding: 13px 14px !important;
    border-radius: 18px !important;
  }

  body.home .as-home-hero-media .as-hero__badge > div {
    padding-inline: 9px !important;
  }

  body.home .as-home-hero-media .as-hero__badge > div + div {
    padding-left: 14px !important;
  }

  body.home .as-home-hero-media .as-hero__badge strong {
    font-size: clamp(14px, 4.3vw, 18px) !important;
  }

  body.home .as-home-hero-media .as-hero__badge span {
    font-size: clamp(8.5px, 2.6vw, 10.5px) !important;
  }
}

/* =========================================================
   ANIMAE 8.14.9 — Séparateur mobile unique, droit et centré
   ========================================================= */
@media (max-width: 820px) {
  body.home .as-home-hero-media .as-hero__badge {
    position: relative !important;
  }

  /* Supprime absolument toutes les anciennes bordures / formes */
  body.home .as-home-hero-media .as-hero__badge > div,
  body.home .as-home-hero-media .as-hero__badge > div + div {
    border: 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
    border-top: 0 !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
    background-image: none !important;
  }

  /* Une seule barre verticale, droite, au centre */
  body.home .as-home-hero-media .as-hero__badge::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    top: 18px !important;
    bottom: 18px !important;
    left: 50% !important;
    width: 1px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: translateX(-50%) !important;
    background: rgba(255,255,255,.22) !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    pointer-events: none !important;
    z-index: 2 !important;
  }

  body.home .as-home-hero-media .as-hero__badge::after {
    display: none !important;
    content: none !important;
  }

  body.home .as-home-hero-media .as-hero__badge > div {
    position: relative !important;
    z-index: 3 !important;
  }
}

@media (max-width: 430px) {
  body.home .as-home-hero-media .as-hero__badge::before {
    top: 15px !important;
    bottom: 15px !important;
  }
}

/* 8.15.1 — vues intégrées de l’espace privé */
.as-private-nav{display:grid;gap:6px;margin-top:28px;padding-top:24px;border-top:1px solid #e8e8e8}
.as-private-nav a{display:flex;align-items:center;min-height:44px;padding:0 15px;border-radius:12px;color:#333!important;text-decoration:none!important;font-size:14px;font-weight:600;transition:.2s ease}
.as-private-nav a:hover,.as-private-nav a.is-active{background:#000;color:#fff!important}
.as-private-content>.as-private-editor{margin-top:0}
.as-private-profile-editor{max-width:860px}
@media(max-width:900px){.as-private-profile{position:static}.as-private-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.as-private-nav a{justify-content:center;text-align:center}}
@media(max-width:560px){.as-private-nav{grid-template-columns:1fr}.as-private-dashboard{display:block}.as-private-profile{margin-bottom:20px}.as-private-content{padding:24px 18px}.as-private-editor{padding:26px 18px}}


/* 8.15.2 — espace privé réellement front-end et simplifié */
.as-private-login-form{display:grid;gap:18px}
.as-private-login-form label:not(.as-private-check){display:grid;gap:8px}
.as-private-login-form label span{font-weight:600;color:#111}
.as-private-login-form input[type="text"],
.as-private-login-form input[type="password"]{width:100%;min-height:54px;border:1px solid #dcdcdc;border-radius:16px;background:#fff;padding:0 16px;font:inherit;color:#111}
.as-private-login-form button{min-height:54px;border:0;border-radius:999px;background:#050505;color:#fff;font-weight:700;padding:0 26px;cursor:pointer}
.as-private-login-form button:hover{background:#222;color:#fff}
.as-private-login-form .as-private-check{display:flex;align-items:center;gap:10px;color:#555}
@media(max-width:767px){.as-private-page .as-private-hero{padding-top:32px}.as-private-login-card{padding:24px 18px}.as-private-dashboard{grid-template-columns:1fr}.as-private-profile{position:static}}


/* ================================================================
   8.15.3 — correction ciblée du blog uniquement
   - flèche noire visible dans le cercle blanc
   - suppression du rose dans les textes des articles
   - pagination noire
   ================================================================ */

/* Flèche du cercle des cartes : noire et toujours visible. */
body.blog .as-blog-card__arrow,
body.archive .as-blog-card__arrow{
  display:grid !important;
  place-items:center !important;
  background:#ffffff !important;
  color:#050505 !important;
  border:1px solid rgba(0,0,0,.08) !important;
  box-shadow:0 8px 24px rgba(0,0,0,.12) !important;
}
body.blog .as-blog-card__arrow .as-official-arrow,
body.archive .as-blog-card__arrow .as-official-arrow{
  --as-arrow-size:17px !important;
  display:block !important;
  background-color:#050505 !important;
  color:#050505 !important;
  opacity:1 !important;
  visibility:visible !important;
}

/* Palette noire uniquement dans le blog et les articles. */
body.blog .as-blog-modern,
body.archive .as-blog-modern,
body.single-post main{
  --as-pink:#050505 !important;
  --accent:#050505 !important;
  --e-global-color-primary:#050505 !important;
  --e-global-color-accent:#050505 !important;
}

body.blog .as-blog-modern a:not(.as-blog-card__media),
body.archive .as-blog-modern a:not(.as-blog-card__media),
body.single-post main a:not(.as-btn):not(.wp-block-button__link){
  color:#050505 !important;
  text-decoration-color:#050505 !important;
}

body.blog .as-blog-modern [style*="color:"],
body.archive .as-blog-modern [style*="color:"],
body.single-post main [style*="color:"]{
  color:#050505 !important;
}

/* Préserve les textes blancs superposés aux images. */
body.blog .as-blog-card__overlay-copy,
body.blog .as-blog-card__overlay-copy *,
body.archive .as-blog-card__overlay-copy,
body.archive .as-blog-card__overlay-copy *{
  color:#ffffff !important;
}
body.blog .as-blog-card__meta,
body.archive .as-blog-card__meta{
  color:rgba(255,255,255,.76) !important;
}

/* Pagination : noir, blanc et gris uniquement. */
body.blog .as-pagination,
body.archive .as-pagination{
  margin-top:42px !important;
}
body.blog .as-pagination .nav-links,
body.archive .as-pagination .nav-links{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-wrap:wrap !important;
  gap:10px !important;
}
body.blog .as-pagination .page-numbers,
body.archive .as-pagination .page-numbers,
body.blog .navigation.pagination .page-numbers,
body.archive .navigation.pagination .page-numbers{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:44px !important;
  height:44px !important;
  padding:0 15px !important;
  border:1px solid #050505 !important;
  border-radius:999px !important;
  background:#ffffff !important;
  color:#050505 !important;
  font-weight:700 !important;
  text-decoration:none !important;
  box-shadow:none !important;
}
body.blog .as-pagination .page-numbers:hover,
body.archive .as-pagination .page-numbers:hover,
body.blog .as-pagination .page-numbers.current,
body.archive .as-pagination .page-numbers.current,
body.blog .navigation.pagination .page-numbers:hover,
body.archive .navigation.pagination .page-numbers:hover,
body.blog .navigation.pagination .page-numbers.current,
body.archive .navigation.pagination .page-numbers.current{
  background:#050505 !important;
  color:#ffffff !important;
  border-color:#050505 !important;
}

/* Neutralise les couleurs roses Elementor uniquement sur ces vues. */
body.blog .elementor a,
body.archive .elementor a,
body.single-post .elementor a{
  color:#050505 !important;
}
body.blog .elementor .elementor-button,
body.archive .elementor .elementor-button,
body.single-post .elementor .elementor-button{
  background:#050505 !important;
  color:#ffffff !important;
  border-color:#050505 !important;
}
