/* =========================================================
   PF Bestiaire – styles du site
   Pauline Faucillon, ostéopathe animalier
   Les classes « pf- » sont posées sur les blocs (onglet Avancé >
   Classe CSS additionnelle). Ne pas les supprimer.
   ========================================================= */

:root {
  --pf-vert: #2C4542;
  --pf-vert-fonce: #24302D;
  --pf-vert-moyen: #567575;
  --pf-prune: #833A57;
  --pf-prune-fonce: #5E2A40;
  --pf-rose: #FFD8EB;
  --pf-rose-deco: #EE89BC;
  --pf-sauge: #D1E0CB;
  --pf-sable: #F0E9C8;
  --pf-sable-clair: #FAF7EE;
  --pf-bleu: #DCE6EA;
  --pf-lilas: #E7DDF0;
  --pf-ciel: #D3E3F2;
  --pf-menthe: #CBE8DF;
  --pf-peche: #FCE1CF;
  --pf-corail: #F8D4CC;
  --pf-gris: #5B6663;
  --pf-ligne: #ECE7DA;
  --pf-titre: Gabarito, system-ui, sans-serif;
  --pf-texte: "Hanken Grotesk", system-ui, sans-serif;
  --pf-marge: clamp(16px, 3vw, 40px);
}

html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; }
:focus-visible { outline: 2px solid var(--pf-prune); outline-offset: 2px; }

/* ---------- Sections ---------- */
.pf-section { padding: clamp(56px, 8vw, 96px) var(--pf-marge); }
.pf-section.pf-serre { padding-top: clamp(32px, 4vw, 48px); }
.pf-main > .wp-block-post-content > * { margin-top: 0; margin-bottom: 0; }
.pf-fond-blanc { background: #fff; }
.pf-fond-rose { background: var(--pf-rose); }
.pf-fond-sauge { background: var(--pf-sauge); }
.pf-fond-sable { background: var(--pf-sable); }
.pf-fond-sable-clair { background: var(--pf-sable-clair); }
.pf-fond-bleu { background: var(--pf-bleu); }
.pf-fond-lilas { background: var(--pf-lilas); }
.pf-fond-ciel { background: var(--pf-ciel); }
.pf-fond-menthe { background: var(--pf-menthe); }
.pf-fond-peche { background: var(--pf-peche); }
.pf-fond-corail { background: var(--pf-corail); }
.pf-fond-vert { background: var(--pf-vert); color: #E0EAE6; }
.pf-fond-vert h1, .pf-fond-vert h2, .pf-fond-vert h3 { color: #fff; }
.pf-fond-vert a { color: var(--pf-rose); }
.pf-fond-rose h1, .pf-fond-rose h2 { color: var(--pf-prune-fonce); }

/* Grilles : deux colonnes, trois colonnes */
.pf-duo, .pf-deux-col, .pf-zone, .pf-trio, .pf-panneau { display: grid !important; gap: clamp(24px, 4vw, 48px); align-items: center; }
.pf-duo { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.pf-deux-col { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); align-items: start; gap: clamp(24px, 5vw, 64px); }
.pf-zone { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); align-items: stretch; gap: 24px; }
.pf-trio { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; gap: 20px; }
.pf-duo > *, .pf-deux-col > *, .pf-zone > *, .pf-trio > *, .pf-panneau > *, .pf-bulles > *, .pf-etapes > *, .pf-mosaique > * { margin: 0 !important; max-width: none !important; }

/* Textes */
.pf-intro { font-size: 19px; line-height: 1.6; box-sizing: border-box; padding-right: max(0px, calc(min(100%, 1240px) - 34em)); }
.pf-gris { color: var(--pf-gris); }
.pf-petit { font-size: 15px; line-height: 1.6; color: var(--pf-gris); }
.pf-fond-vert .pf-petit { color: #D6E2DD; }
.pf-prune-titre { color: var(--pf-prune-fonce) !important; }
.pf-texte-long { max-width: 760px; }
.pf-texte-long h2 { margin-top: 48px; font-size: clamp(28px, 3vw, 36px); }
.pf-texte-long h3 { margin-top: 32px; }

/* ---------- Boutons ---------- */
.wp-block-buttons > .wp-block-button { margin: 0 !important; }
.wp-block-button .wp-block-button__link { min-height: 52px; display: inline-flex; align-items: center; justify-content: center; line-height: 1.4; transition: background .25s, color .25s; }
.pf-btn-soft .wp-block-button__link { background: var(--pf-sable); color: var(--pf-vert); }
.pf-btn-soft .wp-block-button__link:hover { background: var(--pf-sauge); color: var(--pf-vert); }
.pf-btn-prune .wp-block-button__link { background: var(--pf-prune); color: #fff; }
.pf-btn-prune .wp-block-button__link:hover { background: var(--pf-prune-fonce); color: #fff; }
.pf-btn-blanc .wp-block-button__link { background: #fff; color: var(--pf-vert); }
.pf-btn-blanc .wp-block-button__link:hover { background: var(--pf-sable); color: var(--pf-vert); }
.pf-btn-contour .wp-block-button__link { background: transparent; color: var(--pf-vert); box-shadow: inset 0 0 0 1.5px var(--pf-vert); gap: 10px; text-decoration: none; }
.pf-btn-contour .wp-block-button__link::after { content: "→"; transition: transform .25s; }
.pf-btn-contour .wp-block-button__link:hover { background: var(--pf-vert); color: #fff; }
.pf-btn-contour .wp-block-button__link:hover::after { transform: translateX(4px); }
.pf-fond-vert .pf-btn-contour .wp-block-button__link { background: var(--pf-rose); color: var(--pf-prune-fonce); box-shadow: none; }
.pf-fond-vert .pf-btn-contour .wp-block-button__link:hover { background: #fff; color: var(--pf-vert); }
.pf-petits .wp-block-button__link { min-height: 44px; padding: 9px 18px; font-size: 15px; }
.pf-pile.wp-block-buttons { flex-direction: column; align-items: stretch; gap: 12px; }
.pf-pile .wp-block-button, .pf-pile .wp-block-button__link { width: 100%; justify-content: flex-start; }

/* Pastilles de confiance */
.pf-pastilles { display: flex; flex-wrap: wrap; gap: 10px; }
.pf-pastilles p { margin: 0 !important; padding: 8px 14px; border-radius: 12px; background: var(--pf-sable-clair); font-size: 15px; line-height: 1.4; }
.pf-pastilles strong { color: var(--pf-prune); }
.pf-fond-sauge .pf-pastilles p, .pf-fond-rose .pf-pastilles p, .pf-fond-sable .pf-pastilles p, .pf-fond-bleu .pf-pastilles p, .pf-fond-lilas .pf-pastilles p { background: rgba(255, 255, 255, .7); }

/* ---------- En-tête ---------- */
.wp-site-blocks > header.wp-block-template-part { position: sticky; top: 0; z-index: 55; transition: transform .3s ease; }
.admin-bar .wp-site-blocks > header.wp-block-template-part { top: 32px; }
.pf-entete { background: #fff; border-bottom: 1px solid var(--pf-ligne); padding: 10px var(--pf-marge); }
.pf-entete-ligne { gap: 24px; width: 100%; justify-content: space-between !important; align-items: center; }
.pf-entete-ligne > .pf-nav, .pf-entete-ligne > .pf-nav-zone { flex: 1 1 auto; justify-content: center !important; }
.pf-entete-ligne > .pf-marque, .pf-entete-ligne > .pf-entete-cta { flex: none; }
.pf-marque { gap: 12px; align-items: center; }
.pf-marque .wp-block-site-logo img { width: 64px; height: 64px; object-fit: contain; }
.pf-marque-nom { margin: 0; font-family: var(--pf-titre); font-weight: 700; font-size: 20px; }
.pf-marque-nom a { text-decoration: none; color: var(--pf-vert); }
.pf-nav { font-weight: 600; font-size: 15px; gap: 26px; }
.pf-nav a { text-decoration: none; }
.pf-nav a:hover { color: var(--pf-prune); }
/* MENU-WP */
.pf-nav .wp-block-navigation__submenu-container { border: 0 !important; border-radius: 18px; padding: 10px !important; box-shadow: 0 16px 40px rgba(36, 48, 45, .14); background: #fff !important; min-width: 230px !important; }
.pf-nav .wp-block-navigation__submenu-container a { padding: 9px 14px !important; border-radius: 10px; font-weight: 600; }
.pf-nav .wp-block-navigation__submenu-container a:hover { background: var(--pf-sable-clair); color: var(--pf-prune); }
.pf-nav .wp-block-navigation__submenu-icon { margin-left: 4px; }
/* FIN-MENU-WP */
.pf-entete-cta .wp-block-button__link { min-height: 44px; padding: 10px 20px; font-size: 15px; }

/* Fil d'Ariane */
.pf-ariane-zone { padding: 16px var(--pf-marge) 0; }
.pf-ariane ol { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; font-size: 14px; color: var(--pf-gris); }
.pf-ariane li + li::before { content: "›"; margin-right: 6px; }
.pf-ariane a { color: var(--pf-gris); }

/* ---------- Haut de page : bulles ---------- */
.pf-bulles { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; align-items: center; }
.pf-bulle { aspect-ratio: 1; border-radius: 50%; overflow: hidden; display: flex !important; align-items: center; justify-content: center; color: var(--pf-vert); padding: 0 !important; animation: pf-flotte 4s ease-in-out infinite; }
.pf-bulle > * { margin: 0 !important; }
.pf-bulle svg { width: 52%; height: auto; display: block; margin: 0 auto; }
.pf-bulle .wp-block-html { width: 100%; }
.pf-bulle .wp-block-image, .pf-bulle .wp-block-image img { width: 100%; height: 100%; object-fit: cover; }
.pf-bulle:nth-child(1) { animation-delay: -.3s; }
.pf-bulle:nth-child(2) { animation-delay: -1.4s; margin-top: -60px !important; }
.pf-bulle:nth-child(3) { animation-delay: -2.2s; }
.pf-bulle:nth-child(4) { animation-delay: -2.9s; margin-top: -20px !important; }
.pf-bulle:nth-child(5) { animation-delay: -.9s; margin-top: 40px !important; color: var(--pf-rose); }
.pf-bulle:nth-child(6) { animation-delay: -3.4s; }
.pf-bulle { position: relative; }
.pf-bulle .pf-photo-bulle { position: absolute !important; inset: 0; z-index: 1; }
.pf-bulle .pf-photo-bulle img { width: 100%; height: 100%; object-fit: cover; }
.pf-bulle img[src*="photo-a-remplacer"], .pf-bulle img[src*="placeholder"] { display: none; }
.editor-styles-wrapper .pf-bulle img[src*="photo-a-remplacer"], .elementor-editor-active .pf-bulle img[src*="placeholder"] { display: block; opacity: .35; }
@keyframes pf-tiroir { from { transform: translateX(100%); } to { transform: none; } }
@keyframes pf-flotte { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-12px); } }

/* Haut des pages intérieures */
.pf-tete-page { padding-top: clamp(40px, 5vw, 64px); }
.pf-tete-page .pf-icone-animal { width: 84px; height: 84px; border-radius: 50%; background: #fff; display: flex; align-items: center; justify-content: center; color: var(--pf-vert); }
.pf-tete-page .pf-icone-animal svg { width: 54px; height: 54px; }

/* ---------- Votre animal, sa séance (onglets) ---------- */
.pf-especes { background: #EDF4FA; transition: background-color .6s; }
.pf-especes[data-animal="chat"] { background: #EAF6F2; }
.pf-especes[data-animal="cheval"] { background: #F8F4E3; }
.pf-especes[data-animal="nac"] { background: #FFEDF5; }
.pf-especes[data-animal="ruminant"] { background: #F3EEF8; }
.pf-onglets-nav { display: flex; flex-wrap: wrap; gap: 10px; margin: 28px auto !important; }
.pf-onglet { font: 600 16px/1.3 var(--pf-texte); min-height: 52px; padding: 10px 22px 10px 16px; border-radius: 999px; border: 1px solid rgba(44, 69, 66, .15); background: #fff; color: var(--pf-vert); cursor: pointer; display: inline-flex; align-items: center; gap: 10px; transition: background .3s, color .3s, transform .3s; }
.pf-onglet:hover { border-color: var(--pf-vert); }
.pf-onglet[aria-selected="true"] { background: var(--pf-vert); color: #fff; border-color: var(--pf-vert); transform: translateY(-2px); }
.pf-onglet svg { width: 22px; height: 22px; }
.pf-onglets.pf-actif > .pf-panneau[hidden] { display: none !important; }
.pf-onglets.pf-actif > .pf-panneau { animation: pf-monte .55s cubic-bezier(.3, .7, .2, 1); }
@keyframes pf-monte { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
.pf-onglets > .pf-panneau + .pf-panneau { margin-top: 24px; }
.pf-onglets.pf-actif > .pf-panneau + .pf-panneau { margin-top: 0; }

.pf-chien { --pf-animal: var(--pf-ciel); }
.pf-chat { --pf-animal: var(--pf-menthe); }
.pf-cheval { --pf-animal: var(--pf-sable); }
.pf-nac { --pf-animal: var(--pf-rose); }
.pf-ruminant { --pf-animal: var(--pf-lilas); }

.pf-panneau { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); background: #fff; border-radius: 32px; padding: clamp(18px, 3vw, 36px) !important; }
.pf-panneau .wp-block-image img, .pf-photo-animal img { width: 100%; aspect-ratio: 4 / 5; max-height: 520px; object-fit: cover; border-radius: 24px; background: var(--pf-animal, var(--pf-sauge)); }
.pf-panneau h3 { font-size: clamp(28px, 3vw, 36px); line-height: 1.15; }

.pf-liste { list-style: none; padding: 0 !important; display: flex; flex-direction: column; gap: 8px; }
.pf-liste li { display: flex; gap: 12px; }
.pf-liste li::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--pf-prune); margin-top: .65em; flex: none; }
.pf-fond-vert .pf-liste li::before { background: var(--pf-rose); }

/* Prix et durée */
.pf-prix-ligne { display: flex !important; flex-wrap: wrap; gap: 12px; align-items: stretch; }
.pf-prix-ligne > * { margin: 0 !important; }
.pf-prix { border-radius: 18px; padding: 12px 22px; background: var(--pf-animal, var(--pf-sauge)); font-size: 14px; line-height: 1.4; color: var(--pf-vert); }
.pf-prix strong { display: block; font-family: var(--pf-titre); font-size: 32px; line-height: 1.2; color: var(--pf-prune); }
.pf-duree { display: flex !important; width: fit-content; align-items: center; gap: 12px; border: 1.5px dashed #C9D7C3; border-radius: 18px; padding: 10px 22px 10px 18px; background: #fff; }
.pf-duree > * { margin: 0 !important; }
.pf-duree p { font-size: 14px; line-height: 1.4; color: var(--pf-vert); }
.pf-duree strong { display: block; font-family: var(--pf-titre); font-size: 22px; line-height: 1.3; }
.pf-horloge { display: block; }
.pf-horloge .pf-mh, .pf-horloge .pf-hh { transform-box: view-box; transform-origin: 12px 12px; }
.pf-horloge .pf-mh { animation: pf-tour 3s linear infinite; }
.pf-horloge .pf-hh { animation: pf-tour 36s linear infinite; }
@keyframes pf-tour { to { transform: rotate(360deg); } }

/* Tableau des tarifs */
.pf-table table { border-collapse: collapse; width: 100%; font-size: 17px; }
.pf-table th { text-align: left; font-weight: 600; font-size: 14px; color: var(--pf-gris); padding: 14px 16px; border-bottom: 2px solid var(--pf-vert); }
.pf-table td { padding: 18px 16px; border-bottom: 1px solid var(--pf-ligne); }
.pf-table td strong { font-family: var(--pf-titre); font-size: 24px; color: var(--pf-prune); }
.pf-table { overflow-x: auto; margin: 0; }

/* ---------- Quand consulter ---------- */
.pf-signe { display: flex !important; gap: 18px; align-items: flex-start; padding: 22px 0; border-top: 1px solid var(--pf-ligne); margin: 0 !important; }
.pf-signe > * { margin: 0 !important; }
.pf-signe > .wp-block-group { flex: 1 1 0; min-width: 0; }
.pf-signe h3 { margin: 0 0 4px !important; }
.pf-signe p { margin: 0 !important; }
.pf-rond { width: 56px; height: 56px; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--pf-vert); flex: none; }

/* ---------- Colonne vertébrale ---------- */
.pf-colonne { display: flex; gap: 7px; align-items: center; justify-content: center; padding: 12px 0; }
.pf-colonne span { width: 38px; height: 22px; border-radius: 11px; animation: pf-vague 2.8s ease-in-out infinite; }
@keyframes pf-vague { 0%, 100% { transform: translateY(-9px); } 50% { transform: translateY(9px); } }

/* ---------- Une séance, pas à pas ---------- */
.pf-etapes { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.pf-etape { position: relative; }
.pf-etape > * { margin: 10px 0 0 !important; }
.pf-etape > :first-child { margin-top: 0 !important; }
.pf-patte-bloc { position: relative; height: 56px; }
.pf-patte { position: relative; z-index: 1; width: 56px; height: 56px; border-radius: 50%; background: var(--pf-vert); color: var(--pf-rose); display: flex; align-items: center; justify-content: center; animation: 10s ease-out infinite; }
.pf-patte.p1 { animation-name: pf-p1; } .pf-patte.p2 { animation-name: pf-p2; } .pf-patte.p3 { animation-name: pf-p3; } .pf-patte.p4 { animation-name: pf-p4; }
@keyframes pf-p1 { 0% { transform: scale(1); background: #2C4542; color: #FFD8EB; } 4% { transform: scale(1.4); background: #833A57; color: #fff; } 12%, 92% { transform: scale(1); background: #833A57; color: #fff; } 100% { transform: scale(1); background: #2C4542; color: #FFD8EB; } }
@keyframes pf-p2 { 0%, 20% { transform: scale(1); background: #2C4542; color: #FFD8EB; } 24% { transform: scale(1.4); background: #4E7A8C; color: #fff; } 32%, 92% { transform: scale(1); background: #4E7A8C; color: #fff; } 100% { transform: scale(1); background: #2C4542; color: #FFD8EB; } }
@keyframes pf-p3 { 0%, 40% { transform: scale(1); background: #2C4542; color: #FFD8EB; } 44% { transform: scale(1.4); background: #A0803A; color: #fff; } 52%, 92% { transform: scale(1); background: #A0803A; color: #fff; } 100% { transform: scale(1); background: #2C4542; color: #FFD8EB; } }
@keyframes pf-p4 { 0%, 60% { transform: scale(1); background: #2C4542; color: #FFD8EB; } 64% { transform: scale(1.4); background: #6E5A96; color: #fff; } 72%, 92% { transform: scale(1); background: #6E5A96; color: #fff; } 100% { transform: scale(1); background: #2C4542; color: #FFD8EB; } }
.pf-trace { position: absolute; left: 66px; right: -14px; top: 18px; height: 20px; display: flex; justify-content: space-around; align-items: center; }
.pf-trace svg { width: 16px; height: 16px; opacity: 0; transform: rotate(90deg); animation: 10s ease-out infinite; }
.pf-trace svg:nth-child(odd) { margin-top: -10px; } .pf-trace svg:nth-child(even) { margin-top: 10px; }
.pf-trace.t1 svg { fill: #833A57; } .pf-trace.t2 svg { fill: #4E7A8C; } .pf-trace.t3 svg { fill: #A0803A; }
.pf-trace.t1 svg:nth-child(1) { animation-name: pf-e6; }
@keyframes pf-e6 { 0%, 6% { opacity: 0; transform: rotate(90deg) scale(.4); } 7% { opacity: 1; transform: rotate(90deg) scale(1.25); } 9%, 92% { opacity: 1; transform: rotate(90deg) scale(1); } 100% { opacity: 0; transform: rotate(90deg) scale(1); } }
.pf-trace.t1 svg:nth-child(2) { animation-name: pf-e9; }
@keyframes pf-e9 { 0%, 9% { opacity: 0; transform: rotate(90deg) scale(.4); } 10% { opacity: 1; transform: rotate(90deg) scale(1.25); } 12%, 92% { opacity: 1; transform: rotate(90deg) scale(1); } 100% { opacity: 0; transform: rotate(90deg) scale(1); } }
.pf-trace.t1 svg:nth-child(3) { animation-name: pf-e12; }
@keyframes pf-e12 { 0%, 12% { opacity: 0; transform: rotate(90deg) scale(.4); } 13% { opacity: 1; transform: rotate(90deg) scale(1.25); } 15%, 92% { opacity: 1; transform: rotate(90deg) scale(1); } 100% { opacity: 0; transform: rotate(90deg) scale(1); } }
.pf-trace.t1 svg:nth-child(4) { animation-name: pf-e15; }
@keyframes pf-e15 { 0%, 15% { opacity: 0; transform: rotate(90deg) scale(.4); } 16% { opacity: 1; transform: rotate(90deg) scale(1.25); } 18%, 92% { opacity: 1; transform: rotate(90deg) scale(1); } 100% { opacity: 0; transform: rotate(90deg) scale(1); } }
.pf-trace.t1 svg:nth-child(5) { animation-name: pf-e18; }
@keyframes pf-e18 { 0%, 18% { opacity: 0; transform: rotate(90deg) scale(.4); } 19% { opacity: 1; transform: rotate(90deg) scale(1.25); } 21%, 92% { opacity: 1; transform: rotate(90deg) scale(1); } 100% { opacity: 0; transform: rotate(90deg) scale(1); } }
.pf-trace.t2 svg:nth-child(1) { animation-name: pf-e26; }
@keyframes pf-e26 { 0%, 26% { opacity: 0; transform: rotate(90deg) scale(.4); } 27% { opacity: 1; transform: rotate(90deg) scale(1.25); } 29%, 92% { opacity: 1; transform: rotate(90deg) scale(1); } 100% { opacity: 0; transform: rotate(90deg) scale(1); } }
.pf-trace.t2 svg:nth-child(2) { animation-name: pf-e29; }
@keyframes pf-e29 { 0%, 29% { opacity: 0; transform: rotate(90deg) scale(.4); } 30% { opacity: 1; transform: rotate(90deg) scale(1.25); } 32%, 92% { opacity: 1; transform: rotate(90deg) scale(1); } 100% { opacity: 0; transform: rotate(90deg) scale(1); } }
.pf-trace.t2 svg:nth-child(3) { animation-name: pf-e32; }
@keyframes pf-e32 { 0%, 32% { opacity: 0; transform: rotate(90deg) scale(.4); } 33% { opacity: 1; transform: rotate(90deg) scale(1.25); } 35%, 92% { opacity: 1; transform: rotate(90deg) scale(1); } 100% { opacity: 0; transform: rotate(90deg) scale(1); } }
.pf-trace.t2 svg:nth-child(4) { animation-name: pf-e35; }
@keyframes pf-e35 { 0%, 35% { opacity: 0; transform: rotate(90deg) scale(.4); } 36% { opacity: 1; transform: rotate(90deg) scale(1.25); } 38%, 92% { opacity: 1; transform: rotate(90deg) scale(1); } 100% { opacity: 0; transform: rotate(90deg) scale(1); } }
.pf-trace.t2 svg:nth-child(5) { animation-name: pf-e38; }
@keyframes pf-e38 { 0%, 38% { opacity: 0; transform: rotate(90deg) scale(.4); } 39% { opacity: 1; transform: rotate(90deg) scale(1.25); } 41%, 92% { opacity: 1; transform: rotate(90deg) scale(1); } 100% { opacity: 0; transform: rotate(90deg) scale(1); } }
.pf-trace.t3 svg:nth-child(1) { animation-name: pf-e46; }
@keyframes pf-e46 { 0%, 46% { opacity: 0; transform: rotate(90deg) scale(.4); } 47% { opacity: 1; transform: rotate(90deg) scale(1.25); } 49%, 92% { opacity: 1; transform: rotate(90deg) scale(1); } 100% { opacity: 0; transform: rotate(90deg) scale(1); } }
.pf-trace.t3 svg:nth-child(2) { animation-name: pf-e49; }
@keyframes pf-e49 { 0%, 49% { opacity: 0; transform: rotate(90deg) scale(.4); } 50% { opacity: 1; transform: rotate(90deg) scale(1.25); } 52%, 92% { opacity: 1; transform: rotate(90deg) scale(1); } 100% { opacity: 0; transform: rotate(90deg) scale(1); } }
.pf-trace.t3 svg:nth-child(3) { animation-name: pf-e52; }
@keyframes pf-e52 { 0%, 52% { opacity: 0; transform: rotate(90deg) scale(.4); } 53% { opacity: 1; transform: rotate(90deg) scale(1.25); } 55%, 92% { opacity: 1; transform: rotate(90deg) scale(1); } 100% { opacity: 0; transform: rotate(90deg) scale(1); } }
.pf-trace.t3 svg:nth-child(4) { animation-name: pf-e55; }
@keyframes pf-e55 { 0%, 55% { opacity: 0; transform: rotate(90deg) scale(.4); } 56% { opacity: 1; transform: rotate(90deg) scale(1.25); } 58%, 92% { opacity: 1; transform: rotate(90deg) scale(1); } 100% { opacity: 0; transform: rotate(90deg) scale(1); } }
.pf-trace.t3 svg:nth-child(5) { animation-name: pf-e58; }
@keyframes pf-e58 { 0%, 58% { opacity: 0; transform: rotate(90deg) scale(.4); } 59% { opacity: 1; transform: rotate(90deg) scale(1.25); } 61%, 92% { opacity: 1; transform: rotate(90deg) scale(1); } 100% { opacity: 0; transform: rotate(90deg) scale(1); } }

/* ---------- Portrait en arche ---------- */
.pf-arche img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 200px 200px 28px 28px; background: var(--pf-vert-moyen); }
.pf-rond-photo img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 50%; background: var(--pf-sauge); }

/* ---------- Galerie ---------- */
.pf-mosaique { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: 200px; gap: 12px; }
.pf-mosaique > figure, .pf-mosaique img { width: 100% !important; height: 100% !important; object-fit: cover; border-radius: 20px; background: var(--pf-sauge); }
.pf-mosaique > :nth-child(1) { grid-column: span 2; grid-row: span 2; }
.pf-mosaique > :nth-child(3) { grid-row: span 2; }
.pf-galerie.wp-block-gallery img { border-radius: 20px; aspect-ratio: 1; object-fit: cover; }

/* Galerie de l'accueil : les photos défilent dans chaque case */
.pf-defile { position: relative; overflow: hidden; border-radius: 20px; background: var(--pf-sauge); margin: 0 !important; min-height: 100%; }
.pf-defile > * { position: absolute !important; inset: 0; margin: 0 !important; transform: translateX(100%); animation: pf-defile 18s cubic-bezier(.65, 0, .25, 1) infinite; }
.pf-defile > * img, .pf-defile img { width: 100% !important; height: 100% !important; object-fit: cover; border-radius: 0 !important; display: block; }
.pf-defile > :nth-child(1) { animation-delay: calc(var(--pf-d, 0s) + 0s); }
.pf-defile > :nth-child(2) { animation-delay: calc(var(--pf-d, 0s) - 12s); }
.pf-defile > :nth-child(3) { animation-delay: calc(var(--pf-d, 0s) - 6s); }
.pf-mosaique-anime > :nth-child(2) { --pf-d: -1.4s; }
.pf-mosaique-anime > :nth-child(3) { --pf-d: -2.6s; }
.pf-mosaique-anime > :nth-child(4) { --pf-d: -3.5s; }
@keyframes pf-defile { 0% { transform: translateX(100%); } 5%, 33.3% { transform: none; } 38.3%, 100% { transform: translateX(-100%); } }

/* ---------- Page Galerie : diaporama, bandes qui défilent, mosaïque en fondu, visionneuse ---------- */
.pf-galerie-vivante img { cursor: zoom-in; }
.pf-diaporama { position: relative; display: block !important; aspect-ratio: 4 / 5; max-height: 640px; width: 100%; border-radius: 240px 240px 32px 32px; overflow: hidden; background: var(--pf-sauge); box-shadow: 0 24px 60px rgba(36, 48, 45, .18); }
.pf-diaporama > :not(.pf-points) { position: absolute !important; inset: 0; margin: 0 !important; opacity: 0; transition: opacity 1.8s ease; }
.pf-diaporama > :not(.pf-points) img, .pf-diaporama img { width: 100% !important; height: 100% !important; object-fit: cover; display: block; border-radius: 0 !important; }
.pf-diaporama:not(.pf-actif) > :first-child, .pf-diaporama > .pf-visible { opacity: 1; z-index: 1; }
.pf-diaporama > .pf-visible img { animation: pf-zoom-doux 9s ease-out both; }
@keyframes pf-zoom-doux { from { transform: scale(1.12) translate(1.5%, 1%); } to { transform: none; } }
.pf-points { position: absolute; z-index: 3; left: 50%; bottom: 20px; transform: translateX(-50%); display: flex; gap: 8px; padding: 8px 12px; border-radius: 999px; background: rgba(36, 48, 45, .35); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.pf-points button, .pf-points button:hover, .pf-points button:focus { width: 9px; height: 9px; min-height: 0; padding: 0; border: 0; border-radius: 6px; background: rgba(255, 255, 255, .55); cursor: pointer; transition: width .4s, background .4s; }
.pf-points button[aria-current] { width: 26px; background: #fff; }
.pf-points button { position: relative; }
.pf-points button::before { content: ''; position: absolute; inset: -16px -5px; }
.pf-section.pf-bandes { padding-left: 0; padding-right: 0; overflow-x: clip; display: flex !important; flex-direction: column; gap: 20px; }
.pf-section.pf-galerie-vivante > .pf-bande { max-width: none !important; width: 100% !important; margin: 0 !important; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); }
.pf-defilant { display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; width: max-content !important; max-width: none !important; gap: 0 !important; padding: 6px 0 !important; }
.pf-defilant.pf-actif { animation: pf-defile-gauche var(--pf-duree, 80s) linear infinite; }
.pf-defilant.pf-sens-droite.pf-actif { animation-name: pf-defile-droite; }
.pf-bande:hover .pf-defilant { animation-play-state: paused; }
.pf-defilant > * { flex: none; margin: 0 18px 0 0 !important; height: clamp(200px, 24vw, 330px); border-radius: 26px; overflow: hidden; background: var(--pf-sauge); width: auto !important; max-width: none !important; }
.pf-defilant > * > *, .pf-defilant > * a { height: 100%; }
.pf-defilant img { height: 100% !important; width: auto !important; max-width: none !important; aspect-ratio: 4 / 5; object-fit: cover; display: block; border-radius: 0 !important; transition: transform 1.4s ease; }
.pf-defilant > :nth-child(3n + 2) img { aspect-ratio: 1; }
.pf-defilant > :nth-child(3n) img { aspect-ratio: 3 / 2; }
.pf-defilant > :hover img { transform: scale(1.06); }
@keyframes pf-defile-gauche { to { transform: translateX(-50%); } }
@keyframes pf-defile-droite { from { transform: translateX(-50%); } to { transform: none; } }
.pf-bento { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: clamp(160px, 17vw, 240px); gap: 14px; }
.pf-bento > * { margin: 0 !important; max-width: none !important; }
.pf-bento > :nth-child(1) { grid-column: span 2; grid-row: span 2; }
.pf-bento > :nth-child(4), .pf-bento > :nth-child(5) { grid-row: span 2; }
.pf-bento { grid-auto-flow: dense; }
.pf-bento > :nth-child(6) { grid-column: span 2; }
.pf-fondu { position: relative; overflow: hidden; border-radius: 24px; background: var(--pf-sauge); min-height: 100%; }
.pf-fondu > * { position: absolute !important; inset: 0; margin: 0 !important; animation: pf-fondu 16s ease-in-out infinite; }
.pf-fondu > :nth-child(2) { animation-delay: calc(var(--pf-d, 0s) - 8s); }
.pf-fondu > :nth-child(1) { animation-delay: var(--pf-d, 0s); }
.pf-fondu img { width: 100% !important; height: 100% !important; object-fit: cover; display: block; border-radius: 0 !important; }
.pf-bento > :nth-child(2) { --pf-d: -2s; } .pf-bento > :nth-child(3) { --pf-d: -5s; } .pf-bento > :nth-child(4) { --pf-d: -7s; } .pf-bento > :nth-child(5) { --pf-d: -10s; } .pf-bento > :nth-child(6) { --pf-d: -13s; }
@keyframes pf-fondu { 0%, 45% { opacity: 1; transform: scale(1); } 50%, 95% { opacity: 0; transform: scale(1.08); } 100% { opacity: 1; transform: scale(1); } }
.pf-visionneuse { position: fixed; inset: 0; z-index: 200; display: flex; align-items: center; justify-content: center; padding: 64px 72px; background: rgba(20, 28, 26, .9); animation: pf-apparait .35s ease; }
.pf-visionneuse img { max-width: 100%; max-height: 100%; border-radius: 20px; box-shadow: 0 30px 80px rgba(0, 0, 0, .4); animation: pf-apparait .5s ease; cursor: default; }
.pf-visionneuse button, .pf-visionneuse button:hover, .pf-visionneuse button:focus { position: absolute; width: 52px; height: 52px; padding: 0; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .14); color: #fff; font: 400 30px/1 var(--pf-texte); cursor: pointer; display: flex; align-items: center; justify-content: center; }
.pf-visionneuse button:hover { background: rgba(255, 255, 255, .26); }
.pf-v-fermer { top: 16px; right: 16px; }
.pf-v-prec { left: 12px; top: 50%; transform: translateY(-50%); }
.pf-v-suiv { right: 12px; top: 50%; transform: translateY(-50%); }
@keyframes pf-apparait { from { opacity: 0; } to { opacity: 1; } }
body.pf-sans-defilement { overflow: hidden; }
.editor-styles-wrapper .pf-diaporama > *, .elementor-editor-active .pf-diaporama > :not(.pf-points), .editor-styles-wrapper .pf-fondu > *, .elementor-editor-active .pf-fondu > * { position: static !important; opacity: 1 !important; animation: none !important; }
.editor-styles-wrapper .pf-defilant, .elementor-editor-active .pf-defilant { flex-wrap: wrap !important; width: auto; animation: none !important; }

/* ---------- Cartes ---------- */
.pf-carte { background: #fff; border-radius: 28px; padding: 30px !important; display: flex !important; flex-direction: column; }
.pf-carte > * { margin-top: 0 !important; margin-bottom: 12px !important; }
.pf-carte > :last-child { margin-bottom: 0 !important; }
.pf-carte > .pf-carte-bas, .pf-carte > .pf-boutons:last-child { margin-top: auto !important; }
.pf-carte-bas { display: flex !important; flex-direction: column; gap: 16px; padding-top: 8px; }
.pf-carte-bas > * { margin: 0 !important; }
.pf-quatre, .pf-grille-2, .pf-cinq, .pf-chiffres { display: grid !important; gap: 20px; align-items: stretch; }
.pf-quatre { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.pf-grille-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pf-cinq { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
.pf-quatre > *, .pf-grille-2 > *, .pf-cinq > *, .pf-chiffres > * { margin: 0 !important; max-width: none !important; }
.pf-duo-haut { align-items: start; }
.pf-icone-animal-carte { width: 72px; height: 72px; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--pf-vert); }
.pf-icone-animal-carte svg { width: 44px; height: 44px; }
.pf-carte-num > :first-child span { display: inline-flex; width: 42px; height: 42px; border-radius: 50%; align-items: center; justify-content: center; background: var(--pf-vert); color: #fff; font-family: var(--pf-titre); font-weight: 700; font-size: 18px; }
.pf-cinq > :nth-child(1) span { background: #833A57; } .pf-cinq > :nth-child(2) span { background: #4E7A8C; } .pf-cinq > :nth-child(3) span { background: #A0803A; } .pf-cinq > :nth-child(4) span { background: #6E5A96; }
.pf-cinq .pf-carte { padding: 24px !important; }
.pf-cinq + .pf-trio, .pf-quatre + .pf-note { margin-top: 24px !important; }
.pf-note { display: flex !important; align-items: center; gap: 16px; background: #fff; border-radius: 20px; padding: 18px 22px !important; }
.pf-note > * { margin: 0 !important; }
.pf-chiffre { background: rgba(255, 255, 255, .08); border-radius: 22px; padding: 22px 26px !important; }
.pf-chiffre p { color: #D6E2DD !important; margin: 0; }
.pf-chiffre strong { display: block; font-family: var(--pf-titre); font-size: clamp(32px, 4vw, 44px); line-height: 1.1; color: var(--pf-rose); margin-bottom: 4px; }
.pf-bref-ligne { gap: 14px; align-items: center; padding: 12px 0 0; border-top: 1px solid rgba(44, 69, 66, .1); }
.pf-bref-ligne > * { margin: 0 !important; }
.pf-bref-ligne p { font-size: 14px; line-height: 1.4; color: var(--pf-gris); }
.pf-bref-ligne strong { display: block; font-family: var(--pf-titre); font-size: 18px; color: var(--pf-vert); }
.pf-rond-petit { width: 40px !important; height: 40px !important; }
.pf-encart.pf-encart-vert { background: var(--pf-vert); }
.pf-encart-vert h3, .pf-encart-vert .elementor-heading-title { color: #fff !important; }
.pf-encart-vert p { color: #E0EAE6 !important; }
.pf-etiquettes { display: flex; flex-wrap: wrap; gap: 8px; }
.pf-etiquettes span { padding: 6px 12px; border-radius: 12px; background: #fff; font-size: 14px; font-weight: 600; line-height: 1.4; color: var(--pf-vert); }
.pf-carte .pf-etiquettes span, .pf-fond-blanc .pf-etiquettes span, .pf-frise .pf-etiquettes span { background: var(--pf-sauge); }
.pf-frise { position: relative; display: flex !important; flex-direction: column; gap: 16px; padding-left: 34px !important; }
.pf-frise::before { content: ""; position: absolute; left: 11px; top: 10px; bottom: 10px; width: 2px; background: linear-gradient(var(--pf-sauge), var(--pf-rose-deco)); }
.pf-frise > * { margin: 0 !important; }
.pf-frise-etape { position: relative; background: var(--pf-sable-clair); border-radius: 22px; padding: 20px 24px !important; }
.pf-frise-etape::before { content: ""; position: absolute; left: -30px; top: 26px; width: 16px; height: 16px; border-radius: 50%; background: var(--pf-prune); box-shadow: 0 0 0 5px #fff; }
.pf-frise-etape > * { margin: 0 0 10px !important; }
.pf-frise-etape > :last-child { margin-bottom: 0 !important; }
.pf-frise-etape strong { display: block; font-family: var(--pf-titre); font-size: 20px; color: var(--pf-vert); margin-bottom: 4px; }
.pf-bandeau { display: flex !important; flex-direction: column; align-items: center; text-align: center; gap: 18px; }
.pf-bandeau > * { margin: 0 !important; }
.pf-bandeau .pf-boutons { justify-content: center; }
.pf-faq-liste > :first-child { margin-top: 0 !important; }
.pf-encart.pf-encart-signes { background: #fff; }
.pf-fond-blanc .pf-encart.pf-encart-signes { background: var(--pf-sable-clair); }
.pf-carte.pf-fond-rose { background: var(--pf-rose) !important; }
.pf-fond-blanc .pf-carte, .pf-section:not([class*="pf-fond"]) .pf-carte { background: var(--pf-sable-clair); }
.pf-icone-rond { width: 52px; height: 52px; border-radius: 50%; display: flex; align-items: center; justify-content: center; }
.pf-cartes { display: flex !important; flex-direction: column; gap: 20px; }
.pf-cartes > * { margin: 0 !important; }
.pf-cartes > :last-child { flex: 1 1 auto; }
.pf-carte-seine { display: flex !important; flex-direction: column; justify-content: center; padding: 24px !important; }
.pf-carte-seine > * { margin: 0 !important; }
.pf-carte-pastille { position: absolute; z-index: 1; top: 0; left: 0; display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px 8px 10px; border-radius: 999px; background: var(--pf-rose); color: var(--pf-prune-fonce); font-weight: 600; font-size: 14px; line-height: 1.3; }
.pf-carte .pf-communes { gap: 8px; }
.pf-carte-legende { display: flex; flex-wrap: wrap; gap: 6px 14px; margin-top: 14px; font-size: 13px; line-height: 1.4; color: var(--pf-gris); }
.pf-carte-legende span { display: inline-flex; align-items: center; gap: 6px; }
.pf-carte-legende i { width: 12px; height: 12px; border-radius: 50%; display: inline-block; }
.pf-seine .pf-zones ellipse { transform-box: fill-box; transform-origin: center; animation: pf-zone 1.2s .3s ease-out both; }
@keyframes pf-zone { from { transform: scale(.6); opacity: 0; } to { transform: none; } }
.pf-carte .pf-communes a { padding: 7px 14px; font-size: 14px; background: var(--pf-sauge); }
.pf-carte .pf-communes a:hover { background: var(--pf-vert); color: #fff; }

/* Encart et colonne qui reste visible */
.pf-encart { background: var(--pf-sable-clair); border-radius: 24px; padding: 24px !important; margin-top: 28px !important; }
.pf-encart > * { margin-top: 0 !important; margin-bottom: 12px !important; }
.pf-encart > :last-child { margin-bottom: 0 !important; }
.pf-collant { position: sticky; top: 110px; }

/* Liens : pas de texte souligné, des pastilles */
.pf-table td a { display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px; border-radius: 12px; background: var(--pf-sable-clair); color: var(--pf-vert); font-weight: 600; text-decoration: none; transition: background .25s, color .25s; }
.pf-table td a::after { content: "→"; }
.pf-table td a:hover { background: var(--pf-vert); color: #fff; }
.pf-ariane a { text-decoration: none; }
.pf-ariane a:hover { color: var(--pf-prune); }

/* Carte de la Seine */
.pf-seine-box { position: relative; width: 100%; aspect-ratio: 800 / 600; }
.pf-seine { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.pf-seine .pf-riviere { stroke-dasharray: 1; stroke-dashoffset: 1; animation: pf-trace-seine 2.4s .2s cubic-bezier(.5, 0, .2, 1) forwards; }
@keyframes pf-trace-seine { to { stroke-dashoffset: 0; } }
.pf-seine .pf-pulse { transform-box: view-box; transform-origin: 472px 213px; animation: pf-pulse 2.6s 1s ease-out infinite; }
@keyframes pf-pulse { 0% { transform: scale(.4); opacity: .6; } 100% { transform: scale(2.4); opacity: 0; } }
.pf-communes { display: flex; flex-wrap: wrap; gap: 10px; }
.pf-communes a { padding: 10px 18px; border-radius: 14px; background: #fff; text-decoration: none; font-weight: 600; font-size: 15px; line-height: 1.4; color: var(--pf-vert); }
.pf-communes a:hover { background: var(--pf-vert); color: #fff; }
.pf-fond-blanc .pf-communes a { background: var(--pf-sable-clair); }
.pf-fond-blanc .pf-carte .pf-communes a, .pf-carte .pf-communes a { background: var(--pf-sauge); }
.pf-fond-blanc .pf-carte .pf-communes a:hover, .pf-carte .pf-communes a:hover { background: var(--pf-vert); color: #fff; }

/* ---------- FAQ ---------- */
.wp-block-details { background: #fff; border-radius: 20px; padding: 0; margin-top: 12px !important; }
.wp-block-details > :not(summary) { padding-left: 24px; padding-right: 24px; }
.wp-block-details > :last-child:not(summary) { padding-bottom: 20px; }
.pf-fond-blanc .wp-block-details, .pf-faq-claire .wp-block-details { background: var(--pf-sable-clair); }
.wp-block-details summary { cursor: pointer; font-weight: 600; font-size: 18px; list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 24px; min-height: 52px; box-sizing: border-box; }
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after { content: "+"; color: var(--pf-prune); font-size: 24px; line-height: 1; }
.wp-block-details[open] summary::after { content: "–"; }
.wp-block-details > p { margin-top: 12px; }

/* ---------- Pied de page ---------- */
.pf-pied { background: var(--pf-vert-fonce); color: #DDE5E1; padding: 56px var(--pf-marge) 28px; font-size: 15px; line-height: 1.6; }
.pf-pied h3 { color: #fff; font-size: 18px; margin-bottom: 8px; }
.pf-pied a { color: #DDE5E1; text-decoration: none; }
.pf-pied a:hover { color: var(--pf-rose); }
.pf-pied-bas { border-top: 1px solid #3A4744; padding-top: 18px; margin-top: 36px !important; font-size: 13px; }
.pf-barre-mobile { display: none !important; }
.pf-barre-zone { margin: 0 !important; }

/* ---------- Tableau des tarifs ---------- */
.pf-tarifs { background: #fff; border-radius: 28px; box-shadow: 0 10px 34px rgba(36, 48, 45, .08); border: 1px solid var(--pf-ligne); overflow: hidden; display: flex !important; flex-direction: column; }
.pf-tarifs > * { margin: 0 !important; }
.pf-tarifs { gap: 0 !important; }
.pf-tarifs svg { display: block; }
.pf-tarifs .elementor-widget-html { line-height: 0; }
.pf-tarifs-ligne .elementor-widget-text-editor p { margin: 0 !important; }
.pf-tarifs-ligne { display: grid !important; grid-template-columns: minmax(0, 1.5fr) repeat(2, minmax(0, 1fr)) minmax(0, .9fr); align-items: center; gap: 16px; padding: 16px 28px !important; border-top: 1px solid var(--pf-ligne); transition: background .25s; }
.pf-tarifs-ligne > * { margin: 0 !important; }
.pf-tarifs-ligne:not(.pf-tarifs-tete):hover { background: var(--pf-sable-clair); }
.pf-tarifs-tete { border-top: 0; background: var(--pf-vert); color: #fff; padding-top: 18px !important; padding-bottom: 18px !important; }
.pf-tarifs-tete p { color: #fff !important; font-weight: 600; font-size: 14px; margin: 0; }
.pf-tarifs-tete > * { display: flex !important; align-items: center; gap: 8px; color: var(--pf-rose); }
.pf-tarifs-tete > * > * { margin: 0 !important; }
.pf-tarif-animal { gap: 14px; align-items: center; }
.pf-tarif-animal > * { margin: 0 !important; }
.pf-tarif-icone { width: 52px; height: 52px; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--pf-vert); flex: none; }
.pf-tarif-icone svg { width: 30px; height: 30px; }
.pf-tarif-nom a { font-family: var(--pf-titre); font-weight: 700; font-size: 20px; color: var(--pf-vert); text-decoration: none; display: inline-flex; align-items: center; gap: 8px; }
.pf-tarif-nom a::after { content: "→"; font-size: 16px; color: var(--pf-prune); transition: transform .25s; }
.pf-tarif-nom a:hover::after { transform: translateX(4px); }
.pf-tarif-prix { margin: 0; }
.pf-tarif-prix strong { display: inline-block; padding: 6px 16px; border-radius: 14px; background: var(--pf-animal, var(--pf-sauge)); font-family: var(--pf-titre); font-size: 24px; line-height: 1.3; color: var(--pf-prune); }
.pf-tarif-non { display: inline-block; padding: 6px 16px; font-size: 22px; color: #B9C2BF; }
.pf-tarif-etiquette { display: none; }
.pf-tarif-duree { gap: 8px; align-items: center; color: var(--pf-vert); }
.pf-tarif-duree > * { margin: 0 !important; }
.pf-tarif-duree p { font-weight: 600; }
.pf-tarif-duree svg { color: var(--pf-prune); }

/* Moyens de paiement */
.pf-paiement { display: flex; flex-wrap: wrap; gap: 8px; }
.pf-paiement span { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 14px; background: var(--pf-sauge); font-weight: 600; font-size: 15px; line-height: 1.3; color: var(--pf-vert); }
.pf-paiement .pf-pas-cb { background: #F6E3EA; color: var(--pf-prune-fonce); }

/* Couleur propre à chaque secteur */
.pf-teinte-1 { --pf-teinte: #D1E0CB; } .pf-teinte-2 { --pf-teinte: #FFD8EB; } .pf-teinte-3 { --pf-teinte: #F0E9C8; } .pf-teinte-4 { --pf-teinte: #DCE6EA; } .pf-teinte-5 { --pf-teinte: #E7DDF0; }
.pf-carte[class*="pf-teinte-"] { box-shadow: inset 0 6px 0 var(--pf-teinte); }
.pf-carte[class*="pf-teinte-"] .pf-etiquettes span { background: var(--pf-teinte); }

/* ---------- Mobile ---------- */
@media (max-width: 1100px) {
  .pf-quatre { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pf-cinq { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .pf-duo, .pf-deux-col, .pf-zone, .pf-trio, .pf-panneau { grid-template-columns: minmax(0, 1fr); }
  .pf-etapes { grid-template-columns: minmax(0, 1fr); }
  .pf-collant { position: static; }
  .pf-bento { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 170px; gap: 10px; }
  .pf-bento > :nth-child(6) { grid-column: span 2; }
  .pf-visionneuse { padding: 70px 12px; }
  .pf-v-prec, .pf-v-suiv { top: auto !important; bottom: 14px; transform: none !important; }
  .pf-diaporama { border-radius: 160px 160px 28px 28px; }
  .pf-quatre, .pf-grille-2, .pf-cinq { grid-template-columns: minmax(0, 1fr); }
  .pf-trace { display: none; }
  .pf-colonne span { width: 16px; height: 12px; }
  .pf-mosaique { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 140px; }
  .pf-panneau .wp-block-image img, .pf-photo-animal img { aspect-ratio: 3 / 2; }
  .pf-entete-cta { display: none !important; }
  .pf-marque-nom { font-size: 17px; }
  /* Barre d'actions flottante */
  .pf-barre-mobile { display: flex !important; position: fixed; left: 12px; right: 12px; bottom: calc(12px + env(safe-area-inset-bottom, 0px)); z-index: 60; gap: 6px; padding: 6px; border-radius: 24px; background: rgba(36, 48, 45, .94); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); box-shadow: 0 14px 36px rgba(36, 48, 45, .3); margin: 0 !important; }
  .pf-barre-mobile a { flex: 1 1 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; min-height: 58px; border-radius: 18px; color: #fff !important; text-decoration: none; font-weight: 600; font-size: 13px; line-height: 1.2; letter-spacing: .01em; transition: background .2s, transform .2s; }
  .pf-barre-mobile a:active { transform: scale(.96); background: rgba(255, 255, 255, .1); }
  .pf-barre-mobile .pf-barre-principal { flex-grow: 1.3; background: var(--pf-rose); color: var(--pf-prune-fonce) !important; }
  .pf-barre-mobile svg { flex: none; }
  body { padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px)); }

  /* MENU-WP */
  /* Menu : bouton à trois traits jusqu'à 900 px, tiroir qui glisse depuis la droite */
  .pf-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex !important; }
  .pf-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none !important; }
  .pf-nav .wp-block-navigation__responsive-container.is-menu-open { left: auto !important; right: 0 !important; width: min(86vw, 380px); padding: 88px 28px 28px !important; background: #fff !important; box-shadow: 0 0 0 100vmax rgba(20, 28, 26, .45); animation: pf-tiroir .35s cubic-bezier(.2, .8, .2, 1) both !important; }
  .pf-nav .is-menu-open .wp-block-navigation__responsive-container-content { align-items: flex-start !important; }
  .pf-nav .is-menu-open .wp-block-navigation__container { gap: 18px !important; align-items: flex-start !important; }
  .pf-nav .is-menu-open .wp-block-navigation-item__content { font-size: 21px; }
  .pf-nav .is-menu-open .wp-block-navigation__submenu-container { box-shadow: none !important; padding: 10px 0 0 14px !important; gap: 10px; }
  .pf-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-size: 17px; padding: 2px 0 !important; }
  /* FIN-MENU-WP */
  .pf-tarifs-ligne { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 18px 20px !important; row-gap: 12px; }
  .pf-tarifs-tete { display: none !important; }
  .pf-tarif-animal, .pf-tarif-duree { grid-column: 1 / -1; }
  .pf-tarif-etiquette { display: block; font-size: 13px; color: var(--pf-gris); margin-bottom: 4px; }
  .pf-tarif-prix strong { font-size: 21px; }
  .pf-tarifs-ligne { align-items: start; }
  .pf-tarif-non { font-size: 21px; line-height: 1.3; }
  .admin-bar .wp-site-blocks > header.wp-block-template-part { top: 0; }
}

/* ---------- Animations désactivées par le visiteur ---------- */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .pf-bulle, .pf-colonne span, .pf-patte, .pf-horloge .pf-mh, .pf-horloge .pf-hh, .pf-seine .pf-pulse, .pf-onglets.pf-actif > .pf-panneau { animation: none !important; }
  .pf-trace svg { animation: none !important; opacity: .5; }
  .pf-defile > * { animation: none !important; transform: none; }
  .pf-fondu > * { animation: none !important; }
  .pf-fondu > :not(:first-child) { display: none; }
  .pf-diaporama > .pf-visible img { animation: none; }
  .pf-defile > :not(:first-child) { display: none; }
  .pf-seine .pf-riviere { animation: none; stroke-dashoffset: 0; }
  .pf-especes { transition: none; }
}
.pf-rappel-admin { background: #FFF6D6; border: 1px dashed #C9A93B; border-radius: 12px; padding: 12px 16px; font-size: 14px; }
.pf-insecable { white-space: nowrap; }
@media (min-width: 901px) { .pf-trio > .pf-carte:last-child:nth-child(3n+2) { grid-column: span 2; } }
@media (max-width: 600px) {
  /* carte : noms des villes lisibles sur téléphone */
  .pf-seine g:not(.pf-departements-carte) text { font-size: 23px; }
  .pf-seine text.pf-mineure:not([font-weight]) { display: none; }
  .pf-seine .pf-departements-carte { display: none; }
  .pf-seine > text:first-of-type { font-size: 20px; }
  .pf-seine > text:last-of-type { font-size: 16px; }
}

/* Menu : survol et page en cours */
.pf-nav .wp-block-navigation__container { gap: 4px !important; }
.pf-nav .wp-block-navigation__container > .wp-block-navigation-item { padding: 8px 14px; border-radius: 999px; transition: background-color .2s ease, color .2s ease; }
.pf-nav .wp-block-navigation__container > .wp-block-navigation-item > a { transition: color .2s ease; }
.pf-nav .wp-block-navigation__container > .wp-block-navigation-item:hover,
.pf-nav .wp-block-navigation__container > .wp-block-navigation-item:focus-within { background: #F2EDDF; }
.pf-nav .wp-block-navigation__container > .wp-block-navigation-item:hover > a,
.pf-nav .wp-block-navigation__container > .wp-block-navigation-item:focus-within > a,
.pf-nav .wp-block-navigation__container > .wp-block-navigation-item:hover > .wp-block-navigation__submenu-icon { color: var(--pf-prune); }
.pf-nav .wp-block-navigation__container > .pf-actif,
.pf-nav .wp-block-navigation__container > .pf-actif-rubrique,
.pf-nav .wp-block-navigation__container > .pf-actif:hover,
.pf-nav .wp-block-navigation__container > .pf-actif-rubrique:hover { background: var(--pf-rose); }
.pf-nav .wp-block-navigation__container > .pf-actif > a,
.pf-nav .wp-block-navigation__container > .pf-actif-rubrique > a,
.pf-nav .wp-block-navigation__container > .pf-actif-rubrique > .wp-block-navigation__submenu-icon { color: var(--pf-prune-fonce) !important; }
.pf-nav .wp-block-navigation__submenu-container .pf-actif > a { background: var(--pf-rose); color: var(--pf-prune-fonce); }
@media (max-width: 900px) {
  .pf-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item { padding: 0; border-radius: 0; background: none !important; }
  .pf-nav .is-menu-open .wp-block-navigation-item.has-child, .pf-nav .is-menu-open .wp-block-navigation__submenu-container { align-items: flex-start !important; text-align: left; }
  .pf-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:not(.pf-actif):not(.pf-actif-rubrique) > a { color: inherit !important; }
  .pf-nav .is-menu-open .pf-actif > a, .pf-nav .is-menu-open .pf-actif-rubrique > a { color: var(--pf-prune) !important; }
  .pf-nav .is-menu-open .pf-actif > a { background: var(--pf-rose) !important; border-radius: 10px; padding: 4px 12px !important; margin: -4px 0 -4px -12px; }
  .pf-nav .is-menu-open .wp-block-navigation__submenu-container .pf-actif > .wp-block-navigation-item__content { padding: 2px 10px !important; margin: -2px 0 -2px -10px; }
}

/* ---------- Téléphone : en-tête, menu, zones tactiles ---------- */
@media (max-width: 900px) {
  /* en-tête compact, qui se cache quand on descend et revient dès qu'on remonte */
  .pf-entete { padding-top: 6px; padding-bottom: 6px; }
  .pf-marque .wp-block-site-logo img { width: 46px; height: 46px; }
  .wp-site-blocks > header.wp-block-template-part.pf-entete-cachee { transform: translateY(-110%); }
  /* bouton du menu : 44 px, bien visible */
  .pf-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { width: 46px; height: 46px; align-items: center; justify-content: center; border-radius: 14px; background: var(--pf-sable-clair); color: var(--pf-vert); }
  .pf-nav .wp-block-navigation__responsive-container-open svg { width: 26px; height: 26px; }
  .pf-nav .wp-block-navigation__responsive-container-close { width: 46px; height: 46px; display: flex; align-items: center; justify-content: center; border-radius: 14px; background: var(--pf-sable-clair); top: 18px !important; right: 18px !important; }
  /* tiroir : défile, et rien n'est caché sous la barre du bas */
  .pf-nav .wp-block-navigation__responsive-container.is-menu-open { padding: 84px 28px calc(130px + env(safe-area-inset-bottom, 0px)) !important; overflow-y: auto !important; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; box-sizing: border-box !important; top: 0 !important; bottom: 0 !important; height: auto !important; }
  .pf-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item:not(.pf-actif) > a:hover { background: none !important; color: inherit !important; }
  .pf-nav .is-menu-open .wp-block-navigation__container { gap: 6px !important; }
  .pf-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { display: flex; align-items: center; min-height: 48px; }
  /* « Animaux et tarifs » replié : on touche la ligne pour dérouler */
  .pf-nav .is-menu-open .wp-block-navigation__submenu-icon { display: none !important; }
  .pf-nav .is-menu-open .has-child > .wp-block-navigation-item__content { width: 100%; justify-content: space-between; gap: 16px; }
  .pf-nav .is-menu-open .has-child > .wp-block-navigation-item__content::after { content: ""; flex: none; width: 34px; height: 34px; border-radius: 50%; background: var(--pf-sable-clair) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23833A57' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / 18px no-repeat; transition: transform .25s ease; }
  .pf-nav .is-menu-open .has-child.pf-deplie > .wp-block-navigation-item__content::after { transform: rotate(180deg); }
  .pf-nav .is-menu-open .has-child > .wp-block-navigation__submenu-container { display: none !important; }
  .pf-nav .is-menu-open .has-child.pf-deplie > .wp-block-navigation__submenu-container { display: flex !important; padding: 4px 0 8px 14px !important; gap: 2px !important; }
  .pf-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { min-height: 44px; display: flex; align-items: center; }
  /* pastilles de communes et liens du tableau : 40 px de haut au moins */
  .pf-communes a, .pf-carte .pf-communes a { min-height: 40px; display: inline-flex; align-items: center; }
  .pf-tarif-nom a { min-height: 44px; }
}

/* Téléphone : bouton du menu calé à droite, tiroir qui commence en haut */
@media (max-width: 900px) {
  .pf-entete-ligne > .pf-nav { flex: 0 0 auto !important; margin-left: auto !important; justify-content: flex-end !important; }
  .pf-nav .wp-block-navigation__responsive-container.is-menu-open { padding-top: 0 !important; }
  .pf-nav .is-menu-open .wp-block-navigation__responsive-close,
  .pf-nav .is-menu-open .wp-block-navigation__responsive-dialog { margin-top: 0 !important; padding-top: 0 !important; }
  .pf-nav .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 76px !important; margin-top: 0 !important; }
  .pf-nav .wp-block-navigation__responsive-container-close { position: absolute !important; top: 14px !important; right: 0 !important; }
}

/* Page 404 */
.pf-erreur { text-align: center; }
.pf-erreur > * { margin-left: auto !important; margin-right: auto !important; }
.pf-erreur .pf-intro { padding-right: 0; max-width: 34em; }
.pf-erreur .pf-boutons { justify-content: center; }
.pf-404 { display: flex; align-items: center; justify-content: center; gap: clamp(8px, 2vw, 18px); font-family: var(--pf-titre); font-weight: 800; font-size: clamp(96px, 18vw, 190px); line-height: 1; color: var(--pf-vert); }
.pf-404-rond { width: .82em; height: .82em; border-radius: 50%; background: var(--pf-sauge); display: inline-flex; align-items: center; justify-content: center; color: var(--pf-vert); animation: pf-404-tete 3.2s ease-in-out infinite; }
.pf-404-rond svg { width: 56%; height: 56%; }
@keyframes pf-404-tete { 0%, 100% { transform: rotate(0); } 25% { transform: rotate(-9deg); } 60% { transform: rotate(7deg); } }
.pf-404-pattes { display: flex; justify-content: center; gap: 18px; margin: 18px auto 8px !important; }
.pf-404-patte { width: 22px; height: 22px; color: var(--pf-prune); opacity: 0; animation: pf-404-patte 3.5s ease-in-out infinite; animation-delay: calc(var(--i) * .35s); }
.pf-404-patte:nth-child(odd) { transform: translateY(-7px) rotate(80deg); } .pf-404-patte:nth-child(even) { transform: translateY(7px) rotate(100deg); }
.pf-404-patte svg { width: 100%; height: 100%; fill: currentColor; display: block; }
@keyframes pf-404-patte { 0% { opacity: 0; } 15%, 55% { opacity: .75; } 80%, 100% { opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .pf-404-rond, .pf-404-patte { animation: none !important; opacity: .6; } }

/* Galerie : note visible seulement dans l'éditeur */
.pf-note-edition { background: #FFF6D6; border: 1px dashed #C9A93B; border-radius: 12px; padding: 12px 16px; font-size: 15px; }
.pf-galerie-source { gap: 10px !important; }
.editor-styles-wrapper .pf-galerie-source > figure.wp-block-image { width: calc(25% - 8px) !important; flex-grow: 0 !important; }
.editor-styles-wrapper .pf-galerie-source img { aspect-ratio: 1 / 1; height: auto !important; object-fit: cover; }

/* Fil d'Ariane posé en haut du premier bloc de la page (plus de bande blanche) */
.pf-main { position: relative; }
.pf-ariane-zone { position: absolute; top: 0; left: 0; right: 0; z-index: 3; padding: 22px var(--pf-marge) 0 !important; margin: 0 !important; pointer-events: none; }
.pf-ariane-zone a { pointer-events: auto; }
.pf-ariane-zone + .wp-block-post-content, .pf-main > .wp-block-post-content { margin-top: 0 !important; }
.pf-ariane-zone ~ .wp-block-post-content > .pf-section:first-child { padding-top: calc(clamp(56px, 8vw, 96px) + 22px); }
.pf-ariane ol { color: rgba(36, 48, 45, .72); }
.pf-ariane a { color: rgba(36, 48, 45, .72); }
.pf-ariane li[aria-current], .pf-ariane li:last-child { color: var(--pf-vert); font-weight: 600; }
@media (max-width: 900px) { .pf-ariane-zone { padding-top: 16px !important; } .pf-ariane ol { font-size: 13px; } }

/* ---------- Pied de page (inspiré de l'ancien site) ---------- */
.wp-site-blocks > footer.wp-block-template-part { margin-block-start: 0 !important; }
.pf-pied { background: #FCF2F5; color: var(--pf-prune-fonce); padding: clamp(56px, 7vw, 88px) var(--pf-marge) 28px; font-size: 15.5px; line-height: 1.6; border-top: 1px solid #F3DCE6; }
.pf-pied a { color: var(--pf-prune-fonce); text-decoration: none; }
.pf-pied a:hover { color: var(--pf-prune); text-decoration: underline; text-underline-offset: 3px; }
.pf-pied h3 { color: var(--pf-prune); font-size: 18px; margin: 0 0 8px; }
.pf-pied-haut { text-align: center; }
.pf-pied-titre { color: var(--pf-prune) !important; font-size: clamp(28px, 3.4vw, 42px) !important; max-width: 16em; margin: 0 auto 22px !important; }
.pf-pied-reseaux { display: flex; justify-content: center; gap: 14px; }
.pf-pied .pf-pied-reseaux a { width: 52px; height: 52px; border-radius: 50%; background: var(--pf-prune); color: #fff; display: inline-flex; align-items: center; justify-content: center; transition: transform .2s ease, background .2s ease; text-decoration: none; }
.pf-pied .pf-pied-reseaux a:hover { background: var(--pf-prune-fonce); color: #fff; transform: translateY(-2px); }
.pf-pied-cartes { display: grid !important; grid-template-columns: minmax(0, .8fr) minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: 0; margin-top: clamp(40px, 5vw, 64px) !important; }
.pf-pied-cartes > * { margin: 0 !important; max-width: none !important; }
.pf-pied-logo { display: flex; justify-content: center; }
.pf-pied-logo img { width: 190px !important; height: auto; }
.pf-pied-carte { text-align: center; padding: 8px clamp(16px, 3vw, 40px); border-left: 1.5px solid rgba(131, 58, 87, .35); }
.pf-pied-carte p { margin: 0 0 6px !important; }
.pf-pied-jours { font-size: 14px; color: var(--pf-prune); font-weight: 600; }
.pf-pied-carte .pf-boutons { justify-content: center; margin-top: 16px !important; }
.pf-pied .pf-btn-contour .wp-block-button__link { border-color: var(--pf-prune); color: var(--pf-prune); }
.pf-pied .wp-block-button__link:hover { text-decoration: none; }
.pf-pied-liens { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; margin-top: clamp(44px, 5vw, 64px) !important; padding-top: 36px; border-top: 1px solid #F0D6E1; }
.pf-pied-liens > * { margin: 0 !important; max-width: none !important; }
.pf-pied-liste h3 { font-size: 16px; }
.pf-pied-liste p { margin: 0 !important; line-height: 2; font-size: 15px; }
.pf-pied-bas { border-top: 1px solid #F0D6E1; padding-top: 18px; margin-top: 36px !important; font-size: 13px; text-align: center; color: rgba(94, 42, 64, .85); }
@media (max-width: 900px) {
  .pf-pied-cartes { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .pf-pied-carte { border-left: 0; border-top: 1.5px solid rgba(131, 58, 87, .25); padding: 24px 0 0; }
  .pf-pied-logo img { width: 150px !important; }
  .pf-pied-liens { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 20px; }
  .pf-pied .pf-pied-reseaux a { width: 50px; height: 50px; }
  .pf-pied-liste p a { display: inline-block; padding: 4px 0; }
}
.pf-pied .wp-block-button__link, .pf-pied .wp-block-button__link:hover { color: #fff; text-decoration: none; }
.pf-pied .pf-btn-contour .wp-block-button__link, .pf-pied .pf-btn-contour .wp-block-button__link:hover { color: var(--pf-prune); background: transparent; }
.pf-pied-carte .pf-boutons { flex-wrap: wrap; gap: 10px; }
.pf-pied-liste p { overflow-wrap: anywhere; }
.pf-pied-lien { margin-top: 12px !important; font-weight: 600; }
.pf-pied-lien a { display: inline-flex; align-items: center; gap: 8px; color: var(--pf-prune) !important; min-height: 40px; }
.pf-pied-lien svg { width: 18px; height: 18px; }
@media (max-width: 900px) { .pf-pied-liens > :nth-child(n+3) { grid-column: 1 / -1; } }

/* Retours du 04/11 */
/* Bulles des départements sous le titre de l'accueil */
.pf-departements { display: flex; flex-wrap: wrap; gap: 10px; margin: 4px 0 18px !important; }
.pf-departements span { display: inline-flex; align-items: center; gap: 8px; padding: 7px 16px 7px 12px; border-radius: 999px; background: var(--pf-rose); color: var(--pf-prune-fonce); font-weight: 600; font-size: 15px; line-height: 1.3; }
.pf-departements span::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: var(--pf-prune); }
.pf-departements span + span { background: var(--pf-sauge); color: var(--pf-vert); }
.pf-departements span + span::before { background: var(--pf-vert); }
/* Prix dans l'en-tête des pages animaux : bien visibles sur le fond de couleur */
.pf-tete-page .pf-prix { background: #fff; box-shadow: 0 6px 18px rgba(36, 48, 45, .08); }
.pf-tete-page .pf-prix + .pf-prix { background: var(--pf-vert); color: #fff; }
.pf-tete-page .pf-prix + .pf-prix strong { color: var(--pf-rose); }
/* Secteurs supplémentaires */
.pf-teinte-6 { --pf-teinte: #D3E3F2; } .pf-teinte-7 { --pf-teinte: #F8D4CC; } .pf-teinte-8 { --pf-teinte: #FCE1CF; } .pf-teinte-9 { --pf-teinte: #CBE8DF; }
/* Zones : la dernière carte seule sur sa ligne prend toute la largeur */
@media (min-width: 901px) { .pf-trio > .pf-carte:last-child:nth-child(3n+1) { grid-column: 1 / -1; } }
/* Bulles de l'accueil : le chien (bleu) en vert foncé, la patte (fond vert foncé) en rose */
.pf-bulle:nth-child(5) { color: var(--pf-vert); }
.pf-bulle:nth-child(6) { color: var(--pf-rose); }
@media (max-width: 900px) { .pf-pied-liste p a { display: inline-flex; align-items: center; min-height: 44px; padding: 0; } .pf-pied-liste p { line-height: 1.4; } }
/* Carte élargie : l'étiquette du secteur passe au-dessus de la carte (elle ne cache plus Fécamp ni Le Havre) */
.pf-seine-box { aspect-ratio: auto !important; display: flex; flex-direction: column; gap: 12px; }
.pf-seine-box .pf-carte-pastille { position: static !important; align-self: flex-start; }
.pf-seine-box .pf-seine { position: relative !important; inset: auto; width: 100%; height: auto; aspect-ratio: 800 / 600; }
/* Écrans moyens (tablette paysage, petit portable) : le menu tient sur une ligne */
@media (min-width: 901px) and (max-width: 1200px) {
  .pf-entete-ligne { gap: 12px; }
  .pf-nav .wp-block-navigation__container > .wp-block-navigation-item { padding: 8px 9px; }
  .pf-nav { font-size: 14px; }
  .pf-marque-nom { font-size: 17px; }
  .pf-marque .wp-block-site-logo img { width: 52px; height: 52px; }
  .pf-entete-cta .wp-block-button__link { padding: 10px 14px; font-size: 14px; }
}
@media (min-width: 901px) and (max-width: 1040px) { .pf-marque-nom { display: none; } }
