/* ============================================
   PAGE LIBERTÉ — STYLES GLOBAUX (VERSION MIXÉE FINALE)
   - Fond dynamique OK
   - Animation texte ORIGINALE RESTAURÉE
============================================ */


/* ------------------------------------------------
   1) FOOTER — SUPPRESSION TOTALE
------------------------------------------------- */
#footer,
#footer-bottom,
#footer-inner,
#site-footer,
#colophon {
    display: none !important;
}


/* ------------------------------------------------
   2) BODY — FOND UNIFIÉ (DYNAMIQUE)
------------------------------------------------- */
body.page-liberte {
    background: var(--amup-liberte-bg, #e9e5df) !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}


/* ------------------------------------------------
   3) STRUCTURE OCEANWP — NEUTRALISATION
------------------------------------------------- */
body.page-liberte #outer-wrap,
body.page-liberte #wrap,
body.page-liberte #main,
body.page-liberte #content-wrap,
body.page-liberte #primary,
body.page-liberte .entry-content {
    background: transparent !important;
    margin: 0 !important;
    padding: 0 !important;
}


/* ------------------------------------------------
   4) CONTENEUR PRINCIPAL — FIXED / VIEWPORT
------------------------------------------------- */
body.page-liberte #liberte-root,
body.page-liberte .liberte-container {
    position: fixed !important;
    inset: 0 !important;

    width: 100vw !important;
    height: 100dvh !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    overflow: visible !important;
    background: transparent !important;
}


/* ------------------------------------------------
   5) IMAGE — PRIORITÉ À LA HAUTEUR
------------------------------------------------- */
body.page-liberte img.liberte-image {

    height: 100dvh !important;
    width: auto !important;

    max-width: 100vw !important;
    max-height: 100dvh !important;

    object-fit: contain !important;

    display: block !important;
    margin: 0 auto !important;

    z-index: 1;
}


/* ------------------------------------------------
   6) TEXTE EMPLACEMENT — VERSION ORIGINALE ANIMÉE
------------------------------------------------- */
body.page-liberte .liberte-adoption {
    position: fixed;

    left: 50%;
    top: 50%;

    transform: translate(-50%, -50%);

    max-width: 88vw;
    padding: 0;

    text-align: center;

    font-size: clamp(20px, 3vw, 60px);
    font-weight: 800;
    letter-spacing: 0.06em;
    line-height: 1.15;

    color: rgba(255,255,255,0.75);

    text-shadow:
        0 0 12px rgba(0,0,0,0.80),
        0 0 28px rgba(0,0,0,0.55),
        0 0 48px rgba(0,0,0,0.35);

    pointer-events: none;
    z-index: 9998;

    animation:
        liberteFloatXY 28s ease-in-out infinite alternate,
        liberteButterfly 7s ease-in-out infinite;
}


/* ------------------------------------------------
   7) ANIMATIONS TEXTE
------------------------------------------------- */
@keyframes liberteFloatXY {
    0%   { translate: -85% -60%; }
    25%  { translate: -20% -75%; }
    50%  { translate: 30% -10%; }
    75%  { translate: -35% 55%; }
    100% { translate: -90% 20%; }
}

@keyframes liberteButterfly {
    0%   { rotate: -1.4deg; }
    50%  { rotate: 1.4deg; }
    100% { rotate: -1.4deg; }
}


@media (max-width: 768px) {

    body.page-liberte img.liberte-image {
        height: 100dvh !important;
        max-width: 100vw !important;
        max-height: 100dvh !important;
    }

    body.page-liberte .liberte-adoption {
        max-width: 92vw;
        font-size: clamp(22px, 6vw, 48px);
    }

}


/* =====================================================
   BOUTON PÉPINIÈRES — STRUCTURE & TAILLE (RESPONSIVE)
===================================================== */

body.page-liberte .amup-pepinieres-round{

  position: fixed !important;
  overflow: visible !important;

  width: clamp(48px, 20vw, 110px);
  aspect-ratio: 1 / 1;

  display:flex;
  align-items:center;
  justify-content:center;

}

body.page-liberte .amup-pepinieres-round .pdlr-inner{
  width:100%;
  height:100%;
}

body.page-liberte .amup-pepinieres-round img{
  width:40%;
  height:auto;
}

.pdlr-text{
  font-size: clamp(7px, 1.2vw, 13px);
  line-height:1.1;
}
/* =====================================================
   PULSATION INTERNE
===================================================== */

.amup-pepinieres-round .pdlr-inner {
    animation: amupPulseInner 2s ease-in-out infinite;
    transform-origin: center;
}

.amup-pepinieres-round:hover .pdlr-inner {
    animation: none;
    transform: scale(1.15);
}

@keyframes amupPulseInner {
    0%   { transform: scale(1); }
    40%  { transform: scale(1.18); }
    60%  { transform: scale(1.08); }
    100% { transform: scale(1); }
}


/* =====================================================
   MOUVEMENT VERTICAL — DESKTOP
===================================================== */

@media (min-width: 768px) {

    .amup-pepinieres-round {
        top: 0;  /* point de départ = bord haut fenêtre */
        animation: amupVerticalFloatDesktop 6s ease-in-out infinite;
    }

    @keyframes amupVerticalFloatDesktop {

        0%   { transform: translateY(0); }

        50%  { transform: translateY(calc(100vh - 110px - 90px)); }

        100% { transform: translateY(0); }

    }

}
/* =====================================================
   MOUVEMENT VERTICAL — MOBILE
===================================================== */

@media (max-width: 767px) {

    .amup-pepinieres-round {

        animation: amupVerticalFloatMobile 8s ease-in-out infinite;

    }

    @keyframes amupVerticalFloatMobile {

        0%   { transform: translateY(-40px); }
        50%  { transform: translateY(40px); }
        100% { transform: translateY(-40px); }

    }

}


/* =====================================================
   AFFICHAGE / MASQUAGE TEXTE AU CLIC IMAGE
===================================================== */

body.page-liberte .liberte-adoption {
    transition: opacity 0.35s ease, visibility 0.35s ease;
}

body.page-liberte .liberte-adoption.is-hidden {
    opacity: 0;
    visibility: hidden;
}


/* =====================================================
   BOUTON TOGGLE TEXTE
===================================================== */

body.page-liberte .liberte-toggle-btn {

    position: fixed;
    bottom: 25px;
    right: 70px;

    z-index: 2147483647;

    width: 56px;
    height: 56px;
    border-radius: 50%;

    border: none;
    cursor: pointer;

    background: rgba(0,0,0,0.85);
    color: #fff;

    font-size: 22px;
    font-weight: 700;

    display: flex;
    align-items: center;
    justify-content: center;

    box-shadow: 0 15px 40px rgba(0,0,0,0.45);

    pointer-events: auto;
}


/* =====================================================
   INFOBULLE TOGGLE TEXTE
===================================================== */

body.page-liberte .liberte-toggle-btn{
    position: fixed !important;
    z-index: 2147483647 !important;
    pointer-events: auto;
    overflow: visible !important;
}

body.page-liberte .liberte-toggle-btn::after{

    content: "Afficher / Masquer le texte";

    position: fixed;
    bottom: 95px;
    right: 25px;

    background: rgba(0,0,0,0.9);
    color: #fff;

    font-size: 13px;
    font-weight: 500;

    padding: 8px 14px;
    border-radius: 20px;

    white-space: nowrap;

    opacity: 0;
    transform: translateY(10px);

    transition: opacity 0.25s ease, transform 0.25s ease;

    pointer-events: none;
}


/* =====================================================
   INFOBULLE BOUTON PÉPINIÈRES
===================================================== */

body.page-liberte .amup-pepinieres-round::after{

  content: "Voir les coordonnées";

  position: absolute;

  left: 50%;
  top: calc(100% + 12px);

  transform: translateX(-50%);

  background: rgba(0,0,0,0.9);
  color: #fff;

  font-size: 13px;
  font-weight: 500;

  padding: 8px 14px;

  border-radius: 20px;

  white-space: nowrap;

  opacity: 0;

  pointer-events: none;

  transition: opacity .2s ease;
}

body.page-liberte .amup-pepinieres-round:hover::after{
  opacity: 1;
}

@media (hover: hover) and (pointer: fine){
  body.page-liberte .amup-pepinieres-round:hover::after{
    opacity: 1;
    transform: translateX(-50%) translateY(0);
  }
}

@media (hover: none) and (pointer: coarse){
  body.page-liberte .amup-pepinieres-round:active::after{
    opacity: 1;
    transform: translateX(-50%) translateY(0);
  }
}

body.page-liberte .amup-pepinieres-round:focus-visible::after{
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}