

/* ══ DARK MODE ══ */
:root{
  --jaune:#f5c800;--jaune-dark:#d4ab00;--jaune-light:#fffbe6;
  --vert:#3a9e3f;--vert-dark:#2a7a2e;--vert-light:#eaf6eb;
  --cream:#fdfcf4;--sand:#f5f0d8;--text:#1e1e1e;--text-muted:#6b6b4f;
  --white:#fff;--radius:18px;--shadow:0 4px 24px rgba(30,30,10,.10);
  --bg-card:#fff;--bg-input:#fff;--border-color:#e8e4cc;
}
[data-theme="dark"]{
  --cream:#141414;--sand:#1e1e1e;--text:#f5f2e8;--text-muted:#c8c8a8;
  --white:#1e1e1e;--shadow:0 4px 24px rgba(0,0,0,.4);
  --bg-card:#252520;--bg-input:#2a2a25;--border-color:#333325;
  --jaune-light:#2a2500;--vert-light:#0d1f0e;
}
[data-theme="dark"] header{background:var(--sand);border-bottom-color:#333325;}
[data-theme="dark"] .animal-card{background:var(--bg-card);}
[data-theme="dark"] .aform-input,[data-theme="dark"] select.aform-input,[data-theme="dark"] textarea.aform-input{background:var(--bg-input)!important;color:var(--text)!important;border-color:var(--border-color)!important;}
[data-theme="dark"] .modal,[data-theme="dark"] .animal-sheet,[data-theme="dark"] .admin-panel,[data-theme="dark"] .crop-modal{background:var(--bg-card);color:var(--text);}
[data-theme="dark"] .admin-overlay,[data-theme="dark"] .crop-overlay{background:rgba(0,0,0,.85);}
[data-theme="dark"] .tag{background:#2a2a20;color:#c8c8a0;}
[data-theme="dark"] .compat-item{background:#2a2a20;color:#c8c8a0;}
[data-theme="dark"] .frais-card,[data-theme="dark"] .temoignage-card,[data-theme="dark"] .animal-list-item{background:var(--bg-card);}
[data-theme="dark"] .animal-form{background:var(--bg-card);}
[data-theme="dark"] .aform-label{color:var(--text-muted);}
[data-theme="dark"] .settings-group{background:var(--bg-card);}
[data-theme="dark"] .event-list-item{background:var(--bg-card);border-color:var(--border-color);color:var(--text);}
[data-theme="dark"] .event-list-name{color:var(--text);}
[data-theme="dark"] .event-list-meta{color:var(--text-muted);}
[data-theme="dark"] nav a{color:var(--text-muted);}
[data-theme="dark"] .footer{background:#0e0e0e;}
[data-theme="dark"] .section-title{color:var(--text);}
[data-theme="dark"] .info-card{background:var(--bg-card);}
[data-theme="dark"] .card-compat-icon{background:rgba(30,30,20,.8);}
[data-theme="dark"] .species-badge{background:rgba(30,30,20,.85);color:var(--text);}

/* Bouton toggle dark mode */
.theme-toggle{background:none;border:2px solid var(--border-color);border-radius:100px;width:38px;height:38px;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:all .2s;color:var(--text-muted);flex-shrink:0;}
.theme-toggle:hover{border-color:var(--vert);color:var(--vert);}

/* ══ TRANSITIONS DE PAGE ══ */
to{opacity:1;}}
to{opacity:0;}}
html{scroll-behavior:smooth;}
body{font-family:'DM Sans',sans-serif;background:var(--cream);color:var(--text);}
a{text-decoration:none;color:inherit;}

/* ══ HEADER ══ */
header{background:var(--white);border-bottom:3px solid var(--jaune);position:sticky;top:0;z-index:1000;padding:0 2rem;}
.header-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:72px;}
.logo-img{width:52px;height:52px;object-fit:contain;flex-shrink:0;}
.logo{display:flex;align-items:center;gap:12px;}
.logo-emoji{display:none;}
.logo-text{font-family:'Playfair Display',serif;font-size:1.2rem;color:var(--text);line-height:1.2;}
.logo-text span{display:block;font-size:.68rem;color:var(--text-muted);font-family:'DM Sans',sans-serif;font-weight:400;letter-spacing:.08em;text-transform:uppercase;}
nav{display:flex;align-items:center;gap:1.2rem;}
nav a{color:var(--text-muted);font-size:.85rem;font-weight:500;transition:color .2s;}
nav a:hover{color:var(--vert);}
.btn-don-header{background:var(--jaune);color:var(--text)!important;border:none;border-radius:100px;padding:10px 20px;font-size:.85rem;font-weight:700!important;display:inline-flex;align-items:center;gap:6px;transition:background .2s,transform .15s;white-space:nowrap;cursor:pointer;}
.btn-don-header:hover{background:var(--jaune-dark);transform:scale(1.03);}

/* ══ HAMBURGER ══ */
.hamburger{display:none;flex-direction:column;justify-content:center;align-items:center;width:40px;height:40px;background:none;border:2px solid var(--border-color,#e8e4cc);border-radius:10px;cursor:pointer;gap:5px;flex-shrink:0;transition:border-color .2s;}
.hamburger:hover{border-color:var(--vert);}
.hamburger span{display:block;width:18px;height:2px;background:var(--text);border-radius:2px;transition:all .3s;}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0);}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* ══ MOBILE MENU DRAWER ══ */
.mobile-menu{display:block;position:fixed;top:0;left:0;right:0;bottom:0;z-index:999;pointer-events:none;}
.mobile-menu-overlay{position:absolute;inset:0;background:rgba(0,0,0,.4);opacity:0;transition:opacity .3s;pointer-events:none;}
.mobile-menu-panel{position:absolute;top:0;right:0;bottom:0;width:280px;background:var(--white);box-shadow:-4px 0 24px rgba(0,0,0,.15);transform:translateX(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;padding:0;}
.mobile-menu.open{pointer-events:auto;}
.mobile-menu.open .mobile-menu-overlay{opacity:1;pointer-events:auto;}
.mobile-menu.open .mobile-menu-panel{transform:translateX(0);}
.mobile-menu-header{display:flex;align-items:center;justify-content:space-between;padding:1.2rem 1.5rem;border-bottom:1px solid var(--border-color,#e8e4cc);}
.mobile-menu-title{font-family:'Playfair Display',serif;font-size:1rem;color:var(--text);}
.mobile-menu-close{background:none;border:none;font-size:1.4rem;cursor:pointer;color:var(--text-muted);width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;}
.mobile-menu-close:hover{background:var(--sand);}
.mobile-menu-links{display:flex;flex-direction:column;padding:1rem 0;flex:1;}
.mobile-menu-links a{display:flex;align-items:center;padding:1rem 1.5rem;font-size:.95rem;font-weight:500;color:var(--text-muted);border-bottom:1px solid var(--border-color,#f0ece8);transition:background .15s,color .15s;}
.mobile-menu-links a:hover,.mobile-menu-links a.active{background:var(--vert-light);color:var(--vert);}
.mobile-menu-links .mobile-don-btn{margin:1rem 1.5rem;background:var(--jaune);color:var(--text)!important;border-radius:100px;padding:12px 20px;font-weight:700;text-align:center;justify-content:center;border-bottom:none;}
.mobile-menu-links .mobile-don-btn:hover{background:var(--jaune-dark);}
.mobile-menu-footer{padding:1rem 1.5rem;border-top:1px solid var(--border-color,#e8e4cc);}
[data-theme="dark"] .mobile-menu-panel{background:var(--sand);}
[data-theme="dark"] .mobile-menu-links a{border-bottom-color:#2a2a20;}
[data-theme="dark"] .mobile-menu-header{border-bottom-color:#2a2a20;}

/* ══ HERO ══ */
.hero-logo-bg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:520px;height:520px;opacity:.07;pointer-events:none;z-index:0;}
.hero{background:linear-gradient(135deg,#fffbe6 0%,#fdfcf4 50%,#eaf6eb 100%);padding:5rem 2rem 4rem;text-align:center;position:relative;overflow:hidden;}
.hero::before{content:'';position:absolute;top:-80px;right:-80px;width:320px;height:320px;background:radial-gradient(circle,rgba(245,200,0,.15),transparent 70%);border-radius:50%;}
.hero::after{content:'';position:absolute;bottom:-60px;left:-60px;width:260px;height:260px;background:radial-gradient(circle,rgba(58,158,63,.12),transparent 70%);border-radius:50%;}
.hero-badge{position:relative;z-index:1;display:inline-block;background:var(--jaune-light);color:var(--vert-dark);border:1px solid rgba(58,158,63,.3);border-radius:100px;padding:6px 18px;font-size:.78rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;margin-bottom:1.5rem;}
.hero h1{position:relative;z-index:1;font-family:'Playfair Display',serif;font-size:clamp(2rem,5vw,3.6rem);line-height:1.15;max-width:680px;margin:0 auto 1.2rem;}
.hero h1 em{color:var(--vert);font-style:italic;}
.hero-p{position:relative;z-index:1;color:var(--text-muted);font-size:1rem;max-width:460px;margin:0 auto 2.5rem;line-height:1.75;}
.hero-cta{position:relative;z-index:1;display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:3rem;}
.btn-primary{background:var(--vert);color:white;border:none;border-radius:100px;padding:14px 32px;font-size:.95rem;font-weight:500;font-family:'DM Sans',sans-serif;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:background .2s,transform .15s;}
.btn-primary:hover{background:var(--vert-dark);transform:translateY(-2px);}
.btn-secondary{background:transparent;color:var(--vert);border:2px solid var(--vert);border-radius:100px;padding:12px 28px;font-size:.95rem;font-weight:500;font-family:'DM Sans',sans-serif;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:all .2s;}
.btn-secondary:hover{background:var(--vert-light);}
.hero-stats{position:relative;z-index:1;display:flex;justify-content:center;gap:3rem;flex-wrap:wrap;}
.stat-num{font-family:'Playfair Display',serif;font-size:2rem;font-weight:600;color:var(--vert);display:block;}
.stat-label{font-size:.78rem;color:var(--text-muted);font-weight:500;}

/* ══ SECTIONS ══ */
.section{max-width:1200px;margin:0 auto;padding:4rem 2rem;}
.section-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:2.5rem;flex-wrap:wrap;gap:1rem;}
.section-header h2{font-family:'Playfair Display',serif;font-size:2rem;font-weight:600;}
.section-header h2 span{color:var(--vert);}
.filter-tabs{display:flex;gap:8px;flex-wrap:wrap;}
.tab{padding:8px 20px;border-radius:100px;border:1.5px solid #ddd;background:var(--white);color:var(--text-muted);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s;font-family:'DM Sans',sans-serif;}
.tab.active,.tab:hover{background:var(--vert);color:white;border-color:var(--vert);}
.tab:focus-visible{outline:3px solid var(--vert);outline-offset:2px;}
.heart-btn:focus-visible,.btn-primary:focus-visible,.btn-secondary:focus-visible{outline:3px solid var(--vert);outline-offset:2px;}

/* ══ GRILLE ANIMAUX ══ */
.animals-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;}
.empty-state{text-align:center;padding:3rem;color:var(--text-muted);grid-column:1/-1;}
.empty-state-box{display:flex;flex-direction:column;align-items:center;gap:1rem;background:var(--sand);border-radius:20px;padding:2.5rem 2rem;max-width:420px;margin:0 auto;}
.empty-state-icon{font-size:3.5rem;line-height:1;}
.empty-state-title{font-family:'Playfair Display',serif;font-size:1.25rem;font-weight:600;color:var(--text);}
.empty-state-text{font-size:.88rem;color:var(--text-muted);line-height:1.7;max-width:300px;}
.empty-state-btn{background:var(--vert);color:white;border:none;border-radius:100px;padding:10px 24px;font-size:.88rem;font-weight:600;cursor:pointer;font-family:inherit;transition:background .2s;margin-top:.5rem;}
.empty-state-btn:hover{background:var(--vert-dark);}
.animal-card{background:var(--white);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:transform .25s,box-shadow .25s;position:relative;display:flex;flex-direction:column;}
.animal-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(30,30,10,.14);}
.animal-card:focus-visible{outline:3px solid var(--vert);outline-offset:2px;}
.card-img{position:relative;height:240px;overflow:hidden;}
.card-img img{width:100%;height:100%;object-fit:cover;object-position:center center;display:block;transition:transform .4s;}
.animal-card:hover .card-img img{transform:scale(1.03);}
.img-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:5rem;}
.cat-bg{background:linear-gradient(135deg,var(--vert),var(--vert-dark));}
.dog-bg{background:linear-gradient(135deg,var(--jaune),var(--jaune-dark));}
.other-bg{background:linear-gradient(135deg,#a78b5e,#8a6d3c);}
.species-badge{position:absolute;top:12px;left:12px;background:rgba(255,255,255,.92);backdrop-filter:blur(4px);border-radius:100px;padding:4px 12px;font-size:.75rem;font-weight:500;color:var(--text);}
.featured-badge{position:absolute;bottom:12px;left:12px;background:var(--jaune);color:var(--text);border-radius:100px;padding:4px 12px;font-size:.72rem;font-weight:700;}
.reserve-badge{position:absolute;bottom:12px;left:12px;background:#e0d4f8;color:#5f35c8;border-radius:100px;padding:4px 12px;font-size:.72rem;font-weight:700;}
.sos-badge{position:absolute;bottom:12px;left:12px;background:#ff3b30;color:white;border-radius:100px;padding:4px 12px;font-size:.72rem;font-weight:700;animation:pulse-badge 2s infinite;z-index:3;}

/* ── Carte SOS ── */
.animal-card[data-statut="sos"]{
  outline: 3px solid #ff3b30;
  outline-offset: 0px;
  animation: sos-glow 2s ease-in-out infinite;
  box-shadow: 0 0 0 0 rgba(255,59,48,.4), var(--shadow);
}
.animal-card[data-statut="sos"]:hover{
  outline-color: #cc2a22;
  box-shadow: 0 12px 40px rgba(255,59,48,.25);
}
@keyframes sos-glow{
  0%,100%{ box-shadow: 0 0 8px 2px rgba(255,59,48,.25), var(--shadow); }
  50%{     box-shadow: 0 0 20px 6px rgba(255,59,48,.45), var(--shadow); }
}

.heart-btn{position:absolute;top:12px;right:12px;width:44px;height:44px;border-radius:50%;border:none;background:rgba(255,255,255,.92);backdrop-filter:blur(4px);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:0;transition:transform .15s,background .2s;font-size:18px;}
.heart-btn:hover{transform:scale(1.12);}
.heart-btn.liked{background:#fff8e1;border:1.5px solid rgba(245,200,0,.5);}
.heart-icon{line-height:1;}
.heart-btn.pop .heart-icon{animation:heartPop .35s ease;}
@keyframes heartPop{0%{transform:scale(1)}40%{transform:scale(1.55)}70%{transform:scale(.85)}100%{transform:scale(1)}}
.heart-count{font-size:9px;font-weight:700;color:var(--vert-dark);line-height:1;margin-top:1px;display:none;}
.heart-btn.liked .heart-count{display:block;}
.card-body{padding:1.25rem;flex:1;display:flex;flex-direction:column;}
.card-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:8px;}
.animal-name{font-family:'Playfair Display',serif;font-size:1.25rem;font-weight:600;}
.animal-age{font-size:.78rem;color:var(--text-muted);background:var(--sand);padding:4px 10px;border-radius:100px;font-weight:500;white-space:nowrap;}
.animal-desc{font-size:.88rem;color:var(--text-muted);line-height:1.6;margin-bottom:1rem;}
.animal-tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:.8rem;}
.tag{background:var(--vert-light);color:var(--vert-dark);font-size:.74rem;font-weight:600;padding:4px 10px;border-radius:100px;}
.compat-row{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:1rem;font-size:.72rem;}

/* ── Skeleton loader ── */
@keyframes skeleton-pulse{0%,100%{opacity:1}50%{opacity:.45}}
.skeleton-card{pointer-events:none;}
.skeleton-img{height:240px;background:#e8e4cc;border-radius:0;animation:skeleton-pulse 1.4s ease-in-out infinite;}
.skeleton-line{background:#e8e4cc;border-radius:4px;animation:skeleton-pulse 1.4s ease-in-out infinite;}
.skeleton-line:nth-child(2){animation-delay:.15s;}
.skeleton-line:nth-child(3){animation-delay:.3s;}
.skeleton-line:nth-child(4){animation-delay:.45s;}

/* ── En réflexion ── */
.card-en-reflexion .card-img img,
.card-en-reflexion .img-placeholder{filter:grayscale(60%) brightness(0.8);}
.card-en-reflexion .card-img::after{content:'En réflexion';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(80,0,120,.35);color:white;font-weight:600;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;transform:rotate(-30deg) scale(1.6);pointer-events:none;text-shadow:0 1px 4px rgba(0,0,0,.5);}
.reflexion-badge{position:absolute;bottom:12px;right:12px;background:#8e44ad;color:white;font-size:.72rem;font-weight:700;padding:4px 10px;border-radius:100px;z-index:2;}
.compat-item{padding:3px 8px;border-radius:100px;background:#f0f0e8;color:#5a5a40;}
.card-footer{display:flex;gap:8px;align-items:center;margin-top:auto;padding-top:.75rem;}
.heart-total{display:flex;align-items:center;gap:5px;font-size:.82rem;color:var(--text-muted);flex:1;}
.count-num{font-weight:700;color:var(--vert);}
.rdv-btn{background:var(--vert);color:white;border:none;border-radius:100px;padding:10px 16px;font-size:.83rem;font-weight:500;cursor:pointer;font-family:'DM Sans',sans-serif;transition:background .2s,transform .15s;white-space:nowrap;display:flex;align-items:center;gap:5px;}
.rdv-btn:hover{background:var(--vert-dark);}

/* ══ DON ══ */
.don-section{background:linear-gradient(135deg,var(--vert) 0%,var(--vert-dark) 100%);padding:4rem 2rem;color:white;}
.don-inner{max-width:1200px;margin:0 auto;}
.don-section h2{font-family:'Playfair Display',serif;font-size:2rem;margin-bottom:.8rem;text-align:center;}
.don-intro{font-size:1rem;opacity:.88;max-width:500px;margin:0 auto 2rem;line-height:1.7;text-align:center;}
.don-cards{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:2rem;}
.don-card{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);border-radius:18px;padding:2rem;text-align:center;}
.don-card-icon{font-size:2.5rem;margin-bottom:1rem;display:block;}
.don-card h3{font-family:'Playfair Display',serif;font-size:1.4rem;margin-bottom:.8rem;}
.don-card p{font-size:.88rem;opacity:.85;line-height:1.7;margin-bottom:1.5rem;}
.don-amounts{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:1.2rem;}
.don-amount{background:rgba(255,255,255,.15);border:2px solid rgba(255,255,255,.4);color:white;border-radius:100px;padding:10px 22px;font-weight:600;font-size:.9rem;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all .2s;display:inline-block;}
.don-amount:hover,.don-amount.featured{background:var(--jaune);border-color:var(--jaune);color:var(--text);}
.btn-don-white{background:white;color:var(--vert-dark);border:none;border-radius:100px;padding:12px 28px;font-size:.9rem;font-weight:700;font-family:'DM Sans',sans-serif;cursor:pointer;display:inline-flex;align-items:center;gap:7px;transition:all .2s;}
.btn-don-white:hover{background:var(--jaune);color:var(--text);}
.teaming-badge{display:inline-block;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.3);border-radius:100px;padding:4px 14px;font-size:.75rem;font-weight:600;letter-spacing:.05em;margin-bottom:1rem;}

/* ══ À PROPOS ══ */
.about{background:var(--white);border-top:1px solid #e8e4cc;border-bottom:1px solid #e8e4cc;padding:4rem 2rem;}
.about-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;}
.about h2{font-family:'Playfair Display',serif;font-size:2rem;margin-bottom:1rem;}
.about h2 span{color:var(--vert);}
.about p{color:var(--text-muted);line-height:1.8;font-size:.95rem;margin-bottom:1rem;}
.about-cards{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.about-card{background:var(--cream);border-radius:14px;padding:1.2rem;border:1px solid #e8e4cc;}
.about-card .icon{font-size:1.6rem;margin-bottom:.5rem;display:block;}
.about-card .label{font-weight:600;font-size:.88rem;margin-bottom:4px;}
.about-card .val{font-size:.8rem;color:var(--text-muted);}

/* ══ LOCALISATION ══ */
.localisation{background:var(--cream);padding:4rem 2rem;}
.localisation-inner{max-width:1200px;margin:0 auto;}
.localisation h2{font-family:'Playfair Display',serif;font-size:2rem;font-weight:600;margin-bottom:.5rem;}
.localisation h2 span{color:var(--vert);}
.localisation-subtitle{color:var(--text-muted);font-size:.95rem;margin-bottom:2rem;}
.localisation-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:2rem;align-items:start;}
.localisation-infos{display:flex;flex-direction:column;gap:1rem;}
.info-card{background:var(--white);border-radius:14px;padding:1.2rem 1.4rem;border:1px solid #e8e4cc;display:flex;align-items:flex-start;gap:14px;}
.info-icon{font-size:1.4rem;flex-shrink:0;margin-top:2px;}
.info-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:4px;}
.info-value{font-size:.95rem;font-weight:500;color:var(--text);line-height:1.5;}
.info-value a{color:var(--vert);}
.map-wrapper{border-radius:18px;overflow:hidden;border:2px solid #e8e4cc;box-shadow:var(--shadow);height:340px;}
.map-wrapper iframe{width:100%;height:100%;border:none;display:block;}
.btn-maps{display:inline-flex;align-items:center;gap:8px;margin-top:.8rem;background:var(--vert);color:white;border-radius:100px;padding:11px 22px;font-size:.88rem;font-weight:600;transition:background .2s;}
.btn-maps:hover{background:var(--vert-dark);}
.btn-maps-jaune{background:var(--jaune-dark);}

/* ══ RÉSEAUX ══ */
.social-section{background:var(--white);border-top:1px solid #e8e4cc;padding:3rem 2rem;text-align:center;}
.social-inner{max-width:600px;margin:0 auto;}
.social-section h2{font-family:'Playfair Display',serif;font-size:1.8rem;margin-bottom:.5rem;}
.social-section h2 span{color:var(--vert);}
.social-section p{color:var(--text-muted);font-size:.9rem;margin-bottom:2rem;}
.social-links{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;}
.social-btn{display:inline-flex;align-items:center;gap:10px;padding:12px 24px;border-radius:100px;font-weight:600;font-size:.9rem;font-family:'DM Sans',sans-serif;transition:all .2s;}
.social-fb{background:#1877f2;color:white;}.social-fb:hover{background:#145dbf;transform:translateY(-2px);}
.social-insta{background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);color:white;}.social-insta:hover{opacity:.9;transform:translateY(-2px);}
.social-tiktok{background:#010101;color:white;}.social-tiktok:hover{background:#333;transform:translateY(-2px);}

/* ══ MODAL RDV ══ */
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(10,20,10,.55);z-index:9999;align-items:center;justify-content:center;padding:1rem;}
.modal-overlay.open{display:flex;}
.modal{background:var(--white);border-radius:24px;padding:2.5rem;width:100%;max-width:520px;max-height:90vh;overflow-y:auto;position:relative;animation:modalIn .3s ease;border-top:4px solid var(--jaune);}
@keyframes modalIn{from{opacity:0;transform:scale(.94) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}
.modal-close{position:absolute;top:1.2rem;right:1.2rem;width:36px;height:36px;border-radius:50%;border:1px solid #e0dcc0;background:var(--sand);cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);}
.modal-close:hover{background:#ddd8b0;}
.modal-animal-header{display:flex;align-items:center;gap:14px;margin-bottom:1.8rem;padding-bottom:1.2rem;border-bottom:1px solid #e8e4cc;}
.modal-animal-icon{width:54px;height:54px;border-radius:14px;background:var(--vert-light);display:flex;align-items:center;justify-content:center;font-size:28px;overflow:hidden;}
.modal-animal-icon img{width:100%;height:100%;object-fit:cover;}
.modal-animal-name{font-family:'Playfair Display',serif;font-size:1.3rem;font-weight:600;}
.modal-animal-sub{font-size:.85rem;color:var(--text-muted);}
.modal h3{font-family:'Playfair Display',serif;font-size:1.5rem;margin-bottom:.4rem;}
.modal-subtitle{font-size:.9rem;color:var(--text-muted);margin-bottom:1.8rem;line-height:1.6;}
.form-group{margin-bottom:1.1rem;}
.form-group label{display:block;font-size:.8rem;font-weight:600;color:var(--text-muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.05em;}
.form-group input,.form-group select,.form-group textarea{width:100%;border:1.5px solid #e0dcc0;border-radius:12px;padding:12px 16px;font-family:'DM Sans',sans-serif;font-size:.95rem;color:var(--text);background:var(--cream);transition:border-color .2s;outline:none;}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--vert);}
.form-group textarea{resize:vertical;min-height:80px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.submit-btn{width:100%;background:var(--vert);color:white;border:none;border-radius:14px;padding:15px;font-size:1rem;font-weight:600;font-family:'DM Sans',sans-serif;cursor:pointer;margin-top:.5rem;transition:background .2s;display:flex;align-items:center;justify-content:center;gap:8px;}
.submit-btn:hover{background:var(--vert-dark);}
.confirm-screen{display:none;text-align:center;padding:2rem 0;}
.confirm-icon{width:72px;height:72px;background:var(--vert-light);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:36px;margin:0 auto 1.2rem;}
.confirm-screen h3{font-family:'Playfair Display',serif;font-size:1.5rem;margin-bottom:.6rem;}
.confirm-screen p{color:var(--text-muted);font-size:.95rem;line-height:1.75;}

/* ══ FOOTER ══ */
footer{background:#141a0e;color:rgba(255,255,255,.6);padding:3rem 2rem 1.5rem;}
.footer-inner{max-width:1200px;margin:0 auto;}
.footer-top{display:grid;grid-template-columns:1fr 1fr 1fr;gap:2rem;margin-bottom:2rem;}
.footer-col h4{font-family:'Playfair Display',serif;color:white;font-size:1rem;margin-bottom:1rem;}
.footer-col p,.footer-col a{font-size:.85rem;color:rgba(255,255,255,.55);display:block;margin-bottom:6px;}
.footer-col a:hover{color:var(--jaune);}
.footer-logo{display:flex;align-items:center;gap:10px;margin-bottom:1rem;}
.footer-logo span{font-family:'Playfair Display',serif;font-size:1.1rem;color:white;}
.footer-social{display:flex;gap:10px;margin-top:1rem;}
.footer-social a{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;font-size:16px;transition:background .2s;}
.footer-social a:hover{background:var(--jaune);}
.footer-line{border:none;border-top:1px solid rgba(255,255,255,.1);margin:1.5rem 0;}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;font-size:.78rem;color:rgba(255,255,255,.35);}
.footer-bottom a{color:rgba(255,255,255,.45);}
.footer-bottom a:hover{color:var(--jaune);}
.footer-legal-links{display:flex;gap:1.5rem;flex-wrap:wrap;}

/* ══ COOKIE ══ */
.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:#1e2a14;color:rgba(255,255,255,.85);padding:1.2rem 2rem;z-index:9998;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;box-shadow:0 -4px 20px rgba(0,0,0,.3);transform:translateY(100%);transition:transform .4s ease;}
.cookie-banner.show{transform:translateY(0);}
.cookie-banner p{font-size:.85rem;line-height:1.6;flex:1;}
.cookie-banner a{color:var(--jaune);}
.cookie-btns{display:flex;gap:8px;}
.cookie-accept{background:var(--vert);color:white;border:none;border-radius:100px;padding:9px 20px;font-size:.85rem;font-weight:600;cursor:pointer;font-family:'DM Sans',sans-serif;}
.cookie-refuse{background:transparent;color:rgba(255,255,255,.6);border:1px solid rgba(255,255,255,.3);border-radius:100px;padding:9px 20px;font-size:.85rem;cursor:pointer;font-family:'DM Sans',sans-serif;}

/* ══ MODAL LÉGALE ══ */
.legal-overlay{display:none;position:fixed;inset:0;background:rgba(10,20,10,.6);z-index:9997;align-items:flex-start;justify-content:center;padding:2rem 1rem;overflow-y:auto;}
.legal-overlay.open{display:flex;}
.legal-modal{background:var(--white);border-radius:24px;padding:2.5rem;width:100%;max-width:700px;margin:auto;position:relative;}
.legal-modal h2{font-family:'Playfair Display',serif;font-size:1.8rem;margin-bottom:1.5rem;}
.legal-modal h3{font-family:'Playfair Display',serif;font-size:1.15rem;margin:1.5rem 0 .5rem;color:var(--vert-dark);}
.legal-modal p,.legal-modal li{font-size:.9rem;color:var(--text-muted);line-height:1.8;margin-bottom:.6rem;}
.legal-modal ul{padding-left:1.2rem;margin-bottom:.8rem;}
.legal-modal a{color:var(--vert);}
.legal-close{position:absolute;top:1.2rem;right:1.2rem;width:38px;height:38px;border-radius:50%;border:1px solid #e0dcc0;background:var(--sand);cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);}

/* ══ FICHE ANIMAL (galerie) ══ */
.animal-overlay{display:none;position:fixed;inset:0;background:rgba(10,20,10,.6);z-index:9999;align-items:center;justify-content:center;padding:1rem;}
.animal-overlay.open{display:flex;}
.animal-sheet{background:var(--white);border-radius:24px;width:100%;max-width:580px;height:88vh;max-height:88vh;overflow:hidden;position:relative;animation:modalIn .3s ease;display:flex;flex-direction:column;}
.sheet-gallery{position:relative;width:100%;height:52%;background:#111;border-radius:24px 24px 0 0;overflow:hidden;flex-shrink:0;}
.sheet-gallery .gallery-main{width:100%;height:100%;object-fit:contain;display:block;transition:opacity .3s;position:relative;z-index:1;}
.sheet-gallery .gallery-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:5rem;background:var(--sand);}
.sheet-gallery .gallery-blur{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:blur(20px);transform:scale(1.12);opacity:.7;display:block;z-index:0;}
.gallery-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.85);border:none;border-radius:50%;width:38px;height:38px;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:2;transition:background .2s;}
.gallery-nav:hover{background:white;}
.gallery-prev{left:12px;}
.gallery-next{right:12px;}
.gallery-dots{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);display:flex;gap:6px;}
.gallery-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.5);border:none;cursor:pointer;padding:0;transition:background .2s;}
.gallery-dot.active{background:white;}
.gallery-counter{position:absolute;top:12px;right:12px;background:rgba(0,0,0,.5);color:white;border-radius:100px;padding:3px 10px;font-size:.78rem;}
.sheet-close{position:absolute;top:12px;left:12px;width:36px;height:36px;border-radius:50%;border:none;background:rgba(0,0,0,.45);color:white;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;z-index:3;}
.sheet-close:hover{background:rgba(0,0,0,.7);}
.sheet-body{padding:1.2rem 1.5rem 1.5rem;flex:1;overflow-y:auto;min-height:0;scrollbar-width:thin;scrollbar-color:var(--vert) transparent;}
.sheet-body::-webkit-scrollbar{width:4px;}
.sheet-body::-webkit-scrollbar-track{background:transparent;}
.sheet-body::-webkit-scrollbar-thumb{background:var(--vert);border-radius:4px;}
.sheet-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1rem;}
.sheet-name{font-family:'Playfair Display',serif;font-size:1.5rem;font-weight:600;}
.sheet-meta{font-size:.88rem;color:var(--text-muted);margin-top:2px;}
.sheet-badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:1rem;}
.sheet-desc{font-size:.95rem;color:var(--text-muted);line-height:1.75;margin-bottom:1.2rem;}
.sheet-compat{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:1.4rem;}
.sheet-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:1.6rem;}
.sheet-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.sheet-rdv-btn{flex:1;background:var(--vert);color:white;border:none;border-radius:10px;padding:9px 16px;font-size:.85rem;font-weight:600;font-family:'DM Sans',sans-serif;cursor:pointer;transition:background .2s;}
.sheet-rdv-btn:hover{background:var(--vert-dark);}
.sheet-heart-btn{background:var(--sand);border:1.5px solid #e0dcc0;border-radius:10px;padding:9px 14px;font-size:.95rem;cursor:pointer;transition:background .2s;}
.sheet-heart-btn.liked{background:#ffe0e0;border-color:#f5a0a0;}
/* Carte cliquable */
.animal-card{cursor:pointer;}
.animal-card .card-body{pointer-events:none;}
.animal-card .heart-btn,.animal-card .rdv-btn{pointer-events:auto;}
/* Admin multi-photos */
.photos-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;}
.photo-thumb{position:relative;width:80px;height:80px;border-radius:10px;overflow:hidden;border:2px solid #e0dcc0;}
.photo-thumb img{width:100%;height:100%;object-fit:cover;}
.photo-thumb-del{position:absolute;top:2px;right:2px;width:20px;height:20px;border-radius:50%;background:rgba(200,0,0,.75);color:white;border:none;font-size:11px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;}
.photo-add-row{display:flex;gap:6px;margin-top:8px;}
.photo-add-row input{flex:1;border:1.5px solid #e0dcc0;border-radius:10px;padding:8px 12px;font-size:.85rem;font-family:'DM Sans',sans-serif;}
.photo-add-row button{background:var(--vert);color:white;border:none;border-radius:10px;padding:8px 14px;font-size:.85rem;cursor:pointer;white-space:nowrap;}

/* ══ RECADREUR D'IMAGE ══ */
.crop-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.88);z-index:999999;align-items:center;justify-content:center;padding:1rem;}
.crop-overlay.open{display:flex;}
.crop-modal{background:#1e1e1e;border-radius:20px;padding:1.5rem;width:100%;max-width:580px;display:flex;flex-direction:column;gap:1rem;}
.crop-modal h3{color:white;font-family:'Playfair Display',serif;font-size:1.15rem;text-align:center;margin:0;}
.crop-wrap{position:relative;width:100%;border-radius:12px;overflow:hidden;background:#111;line-height:0;}
.crop-img{display:block;width:100%;max-height:360px;object-fit:contain;user-select:none;}
.crop-box{position:absolute;border:2px solid white;box-shadow:0 0 0 9999px rgba(0,0,0,.55);box-sizing:border-box;cursor:move;}
.crop-box .ch{position:absolute;width:14px;height:14px;background:white;border-radius:2px;z-index:2;}
.crop-box .ch-nw{top:-7px;left:-7px;cursor:nw-resize;}
.crop-box .ch-ne{top:-7px;right:-7px;cursor:ne-resize;}
.crop-box .ch-sw{bottom:-7px;left:-7px;cursor:sw-resize;}
.crop-box .ch-se{bottom:-7px;right:-7px;cursor:se-resize;}
.crop-ratios{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;}
.crop-ratio-btn{background:rgba(255,255,255,.1);color:rgba(255,255,255,.7);border:1px solid rgba(255,255,255,.2);border-radius:100px;padding:5px 14px;font-size:.78rem;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all .2s;}
.crop-ratio-btn.active,.crop-ratio-btn:hover{background:var(--vert);color:white;border-color:var(--vert);}
.crop-btns{display:flex;gap:8px;}
.crop-btns button{flex:1;border:none;border-radius:12px;padding:12px;font-family:'DM Sans',sans-serif;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .2s;}
.crop-cancel{background:rgba(255,255,255,.1);color:white;}
.crop-cancel:hover{background:rgba(255,255,255,.18);}
.crop-apply{background:var(--vert);color:white;}
.crop-apply:hover{background:var(--vert-dark);}
.photo-thumb-crop{position:absolute;bottom:2px;right:24px;width:20px;height:20px;border-radius:50%;background:rgba(58,158,63,.9);color:white;border:none;font-size:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:1;}
@media(max-width:600px){.sheet-gallery{height:45%;}.sheet-body{padding:1.2rem;}.sheet-name{font-size:1.4rem;}.animal-sheet{max-height:95vh;border-radius:18px 18px 0 0;}.animal-overlay{align-items:flex-end;padding:0;}.animal-sheet::before{content:'';display:block;width:40px;height:4px;background:rgba(255,255,255,.25);border-radius:2px;margin:10px auto 0;flex-shrink:0;}}
@media(max-width:700px){.about-inner{grid-template-columns:1fr;gap:2rem}.form-row{grid-template-columns:1fr}.hero-stats{gap:1.5rem}nav a:not(.btn-don-header){display:none}.footer-top{grid-template-columns:1fr}.footer-bottom{flex-direction:column;text-align:center}}

/* ════════════════════════════════════════
   PANNEAU ADMIN
════════════════════════════════════════ */
.admin-trigger{position:fixed;bottom:18px;right:18px;width:44px;height:44px;border-radius:50%;background:#1e2a14;color:rgba(255,255,255,.4);border:none;font-size:18px;cursor:pointer;z-index:9100;display:flex;align-items:center;justify-content:center;transition:all .2s;}
.admin-trigger:hover{background:#2d6a4f;color:white;}

.admin-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:99999;align-items:center;justify-content:center;padding:1rem;}
.admin-overlay.open{display:flex;}
.admin-panel{background:var(--bg-card,white);border-radius:20px;width:100%;max-width:900px;max-height:92vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 32px 100px rgba(0,0,0,.4);}

/* Header admin */
.admin-header{background:linear-gradient(135deg,#1e2a14 0%,#2a4a1a 100%);color:white;padding:1.2rem 1.8rem;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;border-bottom:2px solid rgba(90,200,80,.2);}
.admin-header h2{font-family:'Playfair Display',serif;font-size:1.25rem;font-weight:600;letter-spacing:-.01em;display:flex;align-items:center;gap:8px;}
.admin-tabs-wrap{display:flex;gap:6px;background:#162010;padding:10px 14px;flex-shrink:0;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid rgba(255,255,255,.06);}
.admin-tabs-wrap::-webkit-scrollbar{display:none;}
.admin-tab{background:none;border:none;color:rgba(255,255,255,.5);padding:8px 18px;border-radius:10px;font-size:.82rem;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all .2s;white-space:nowrap;flex-shrink:0;letter-spacing:.01em;}
.admin-tab:hover{background:rgba(255,255,255,.1);color:white;}
.admin-tab.active{background:var(--vert);color:white;font-weight:700;box-shadow:0 2px 12px rgba(58,158,63,.4);}
.admin-close-btn{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);color:rgba(255,255,255,.8);width:34px;height:34px;border-radius:50%;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:all .2s;}
.admin-close-btn:hover{background:rgba(255,255,255,.2);}

/* Login */
.admin-login{padding:2.5rem;text-align:center;}
.admin-login h3{font-family:'Playfair Display',serif;font-size:1.4rem;margin-bottom:.5rem;}
.admin-login p{color:#888;font-size:.9rem;margin-bottom:1.5rem;}
.admin-login input{width:100%;max-width:280px;border:1.5px solid #e0dcc0;border-radius:10px;padding:11px 16px;font-size:.95rem;font-family:'DM Sans',sans-serif;outline:none;margin-bottom:1rem;display:block;margin-left:auto;margin-right:auto;}
.admin-login input:focus{border-color:var(--vert);}
.admin-login button{background:var(--vert);color:white;border:none;border-radius:10px;padding:12px 32px;font-size:.95rem;font-weight:600;cursor:pointer;font-family:'DM Sans',sans-serif;}
.login-error{color:#e74c3c;font-size:.85rem;margin-top:.5rem;display:none;}

/* Corps admin */
.admin-body{flex:1;overflow-y:auto;padding:1.5rem;scroll-behavior:smooth;}
.admin-section{display:none;}
.admin-section.active{display:block;}

/* Liste animaux */
.animal-list-item{background:var(--sand,#f8f7f4);border:1.5px solid var(--border-color,#e8e4cc);border-radius:14px;padding:.85rem 1rem;margin-bottom:.6rem;display:flex;align-items:center;gap:.85rem;transition:all .2s;}
.animal-list-thumb{width:56px;height:56px;border-radius:10px;object-fit:cover;flex-shrink:0;background:#e8e4cc;display:flex;align-items:center;justify-content:center;font-size:1.8rem;overflow:hidden;}
.animal-list-thumb img{width:100%;height:100%;object-fit:cover;}
.animal-list-info{flex:1;min-width:0;}
.animal-list-name{font-weight:600;font-size:.95rem;margin-bottom:2px;}
.animal-list-meta{font-size:.78rem;color:#888;}
.animal-list-actions{display:flex;gap:6px;flex-shrink:0;}
.btn-edit{background:var(--vert-light);color:var(--vert-dark);border:1px solid rgba(58,158,63,.2);border-radius:8px;padding:7px 14px;font-size:.8rem;cursor:pointer;font-family:'DM Sans',sans-serif;font-weight:600;transition:all .15s;}
.btn-edit:hover{background:#c3e6c5;}
.btn-del{background:#fce8e8;color:#c0392b;border:1px solid rgba(192,57,43,.15);border-radius:8px;padding:7px 14px;font-size:.8rem;cursor:pointer;font-family:'DM Sans',sans-serif;font-weight:600;transition:all .15s;}
.btn-del:hover{background:#f5c6c6;}
.btn-add-animal{width:100%;background:linear-gradient(135deg,var(--vert),var(--vert-dark,#2a7a2e));color:white;border:none;border-radius:12px;padding:13px;font-size:.95rem;font-weight:600;cursor:pointer;font-family:'DM Sans',sans-serif;margin-top:1rem;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 4px 16px rgba(58,158,63,.25);transition:all .2s;}
.btn-add-animal:hover{background:var(--vert-dark);}

/* Formulaire animal */
.animal-form{background:#f8f7f4;border-radius:14px;padding:1.5rem;margin-top:1rem;}
.animal-form h4{font-family:'Playfair Display',serif;font-size:1.1rem;margin-bottom:1.2rem;}
.aform-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px;}
.aform-full{grid-column:1/-1;}
.aform-label{font-size:.75rem;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.05em;display:block;margin-bottom:4px;}
.aform-input{width:100%;border:1.5px solid var(--border-color,#e0dcc0);border-radius:10px;padding:10px 13px;font-size:.9rem;font-family:'DM Sans',sans-serif;color:var(--text);background:var(--white,white);outline:none;transition:all .2s;}
.aform-input:focus{border-color:var(--vert);}
.aform-input[type="checkbox"]{width:auto;}

/* Image uploader */
.img-picker{background:white;border:2px dashed #e0dcc0;border-radius:10px;padding:1.2rem;text-align:center;cursor:pointer;transition:border-color .2s;position:relative;}
.img-picker:hover{border-color:var(--vert);}
.img-picker-preview{width:100%;height:120px;object-fit:cover;border-radius:8px;margin-bottom:.75rem;display:none;}
.img-picker-preview.show{display:block;}
.img-picker-icon{font-size:2rem;margin-bottom:.4rem;}
.img-picker-text{font-size:.82rem;color:#888;}
.img-picker-url{width:100%;border:1.5px solid #e0dcc0;border-radius:8px;padding:8px 12px;font-size:.82rem;font-family:'DM Sans',sans-serif;margin-top:.75rem;outline:none;}
.img-picker-url:focus{border-color:var(--vert);}
.img-picker-or{font-size:.75rem;color:#bbb;margin:.6rem 0;display:block;}
.img-file-btn{background:var(--vert-light);color:var(--vert-dark);border:none;border-radius:8px;padding:7px 16px;font-size:.8rem;cursor:pointer;font-family:'DM Sans',sans-serif;font-weight:500;}
.img-file-input{display:none;}

.aform-btns{display:flex;gap:8px;margin-top:1.2rem;}
.aform-save{flex:2;background:var(--vert);color:white;border:none;border-radius:10px;padding:11px;font-size:.9rem;font-weight:600;cursor:pointer;font-family:'DM Sans',sans-serif;}
.aform-save:hover{background:var(--vert-dark);}
.aform-cancel{flex:1;background:none;border:1.5px solid #ddd;border-radius:10px;padding:11px;font-size:.9rem;cursor:pointer;font-family:'DM Sans',sans-serif;color:#888;}

/* Paramètres */
.settings-group{background:#f8f7f4;border-radius:14px;padding:1.2rem;margin-bottom:1rem;}
.settings-group h4{font-size:.88rem;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.05em;margin-bottom:1rem;}
.settings-row{display:flex;flex-direction:column;gap:4px;margin-bottom:.75rem;}
.settings-row:last-child{margin-bottom:0;}
.settings-save{width:100%;background:var(--vert);color:white;border:none;border-radius:10px;padding:12px;font-size:.9rem;font-weight:600;cursor:pointer;font-family:'DM Sans',sans-serif;margin-top:.5rem;}
.settings-save:hover{background:var(--vert-dark);}

.admin-success{background:linear-gradient(135deg,#eaf6eb,#d4f0d6);border:1px solid #b7ddb8;border-radius:12px;padding:.9rem 1.2rem;font-size:.88rem;color:var(--vert-dark);margin-bottom:1rem;display:none;font-weight:500;}
.status-badge{display:inline-block;font-size:.7rem;font-weight:600;padding:2px 8px;border-radius:100px;}
.status-dispo{background:var(--vert-light);color:var(--vert-dark);}
.status-reserve{background:#e0d4f8;color:#5f35c8;}
.status-sos{background:#ff3b30;color:white;}

/* ══ ÉVÉNEMENTS ══ */
.events-section{background:var(--sand);padding:4rem 2rem;border-top:1px solid #e8e4cc;}
.events-inner{max-width:1200px;margin:0 auto;}
.events-inner .section-header{margin-bottom:2.5rem;}
.events-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;}
.event-card{background:var(--white);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:transform .25s,box-shadow .25s;display:flex;flex-direction:column;}
.event-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(30,30,10,.14);}
.event-img{height:200px;overflow:hidden;position:relative;background:linear-gradient(135deg,var(--vert-light),var(--sand));flex-shrink:0;}
.event-img img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;-webkit-transform:translateZ(0);transform:translateZ(0);}
.event-img-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:4rem;}
.event-type-badge{position:absolute;top:12px;left:12px;border-radius:100px;padding:4px 12px;font-size:.75rem;font-weight:600;}
.badge-marche{background:#fff3cd;color:#856404;}
.badge-collecte{background:#d1ecf1;color:#0c5460;}
.badge-adoption{background:var(--vert-light);color:var(--vert-dark);}
.badge-autre{background:var(--jaune-light);color:#856404;}
.event-body{padding:1.25rem;flex:1;display:flex;flex-direction:column;}
.event-date-row{display:flex;align-items:center;gap:8px;margin-bottom:.8rem;}
.event-date-box{background:var(--vert);color:white;border-radius:10px;padding:6px 10px;text-align:center;min-width:48px;flex-shrink:0;}
.event-date-day{font-family:'Playfair Display',serif;font-size:1.3rem;font-weight:600;line-height:1;}
.event-date-mon{font-size:.65rem;text-transform:uppercase;letter-spacing:.06em;opacity:.85;}
.event-date-info{flex:1;}
.event-time{font-size:.82rem;font-weight:600;color:var(--text);}
.event-lieu{font-size:.78rem;color:var(--text-muted);}
.event-title{font-family:'Playfair Display',serif;font-size:1.1rem;font-weight:600;margin-bottom:.5rem;}
.event-desc{font-size:.85rem;color:var(--text-muted);line-height:1.6;flex:1;margin-bottom:1rem;}
.event-fb-link{display:inline-flex;align-items:center;gap:6px;background:#1877f2;color:white;border-radius:100px;padding:8px 16px;font-size:.82rem;font-weight:600;transition:background .2s;text-decoration:none;align-self:flex-start;}
.event-fb-link:hover{background:#145dbf;}
.event-fb-label{display:inline-flex;align-items:center;gap:6px;background:#1877f2;color:white;border-radius:100px;padding:8px 16px;font-size:.82rem;font-weight:600;margin-top:.5rem;}
.events-empty{text-align:center;padding:3rem;color:var(--text-muted);grid-column:1/-1;}

/* Admin events */
.event-list-item{background:#f8f7f4;border:1px solid #e8e4cc;border-radius:12px;padding:1rem;margin-bottom:.8rem;display:flex;align-items:center;gap:1rem;}
.event-list-date{background:var(--vert);color:white;border-radius:10px;padding:8px 10px;text-align:center;min-width:48px;flex-shrink:0;}
.event-list-date-day{font-family:'Playfair Display',serif;font-size:1.2rem;font-weight:600;line-height:1;}
.event-list-date-mon{font-size:.62rem;text-transform:uppercase;letter-spacing:.05em;opacity:.85;}
.event-list-info{flex:1;min-width:0;}
.event-list-name{font-weight:600;font-size:.95rem;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.event-list-meta{font-size:.78rem;color:#888;}

/* Sécurité admin renforcée */
.admin-trigger{position:fixed;bottom:18px;right:18px;width:44px;height:44px;border-radius:50%;background:#1e2a14;color:rgba(255,255,255,.4);border:none;font-size:18px;cursor:pointer;z-index:9100;display:flex;align-items:center;justify-content:center;transition:all .2s;}
.admin-trigger:hover{background:#2d6a4f;color:white;}
.admin-locked{pointer-events:none;user-select:none;}
.login-attempts-warn{background:#fff3cd;border:1px solid #ffc107;border-radius:8px;padding:.7rem 1rem;font-size:.82rem;color:#856404;margin-top:.8rem;display:none;}

/* ── Share buttons ── */
.sheet-share{display:flex;align-items:center;gap:.5rem;margin-top:.8rem;padding-top:.8rem;border-top:1px solid #eee;}
.share-label{font-size:.78rem;color:#aaa;margin-right:.3rem;}
.share-btn{width:36px;height:36px;border-radius:50%;border:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:1rem;transition:transform .15s,opacity .2s;}
.share-btn:hover{transform:scale(1.12);opacity:.85;}
.share-fb{background:#1877f2;color:white;}
.share-wa{background:#25d366;color:white;}
.share-copy{background:#f0f0f0;color:#333;}
/* ── Archive badge ── */
.status-archive{background:#e8e4cc;color:#888;}
.animal-list-item.archived{opacity:.6;}
.btn-archive{background:#e8e4cc;color:#666;border:none;border-radius:8px;padding:6px 10px;font-size:.8rem;cursor:pointer;}
.btn-archive:hover{background:#d4cfa8;}

/* ── Badge Nouveau ── */
.new-badge{position:absolute;top:12px;right:90px;background:#ff6b6b;color:white;border-radius:100px;padding:4px 10px;font-size:.7rem;font-weight:700;letter-spacing:.03em;animation:pulse-badge 2s infinite;}
@keyframes pulse-badge{0%,100%{transform:scale(1);}50%{transform:scale(1.08);}}

/* ── Compat icônes sur carte ── */
.card-compat-icons{display:flex;gap:4px;position:absolute;bottom:12px;right:12px;}
.card-compat-icon{background:rgba(255,255,255,.92);backdrop-filter:blur(4px);border-radius:50%;width:26px;height:26px;display:flex;align-items:center;justify-content:center;font-size:.8rem;box-shadow:0 1px 4px rgba(0,0,0,.12);}

/* ── Hover carte amélioré ── */
.animal-card{transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s;}
.animal-card:hover{transform:translateY(-6px) scale(1.01);box-shadow:0 20px 50px rgba(30,30,10,.18);}
.animal-card:hover .card-img img{transform:scale(1.08);}
.card-img img{transition:transform .5s cubic-bezier(.25,.46,.45,.94);}

/* ── Galerie plein écran ── */
.lightbox{display:none;position:fixed;inset:0;background:rgba(0,0,0,.96);z-index:9999999;align-items:center;justify-content:center;flex-direction:column;}
.lightbox.open{display:flex;}
.lightbox-img{max-width:92vw;max-height:85vh;object-fit:contain;border-radius:8px;box-shadow:0 8px 40px rgba(0,0,0,.5);}
.lightbox-close{position:fixed;top:1rem;right:1.2rem;background:rgba(255,255,255,.15);border:none;color:white;font-size:1.6rem;width:44px;height:44px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px);}
.lightbox-close:hover{background:rgba(255,255,255,.3);}
.lightbox-nav{position:fixed;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.15);border:none;color:white;font-size:2rem;width:52px;height:52px;border-radius:50%;cursor:pointer;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;}
.lightbox-nav:hover{background:rgba(255,255,255,.3);}
.lightbox-prev{left:1rem;}
.lightbox-next{right:1rem;}
.lightbox-counter{position:fixed;bottom:1.5rem;color:rgba(255,255,255,.7);font-size:.85rem;}
.lightbox-dots{position:fixed;bottom:3rem;display:flex;gap:6px;}
.lightbox-dot{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.3);border:none;cursor:pointer;}
.lightbox-dot.active{background:white;}
/* Curseur loupe sur l'image galerie */
.gallery-main{cursor:zoom-in;}
.gallery-placeholder{cursor:default;}

/* ── Dark mode hero text fix ── */
[data-theme="dark"] .hero h1{color:#1e1e1e !important;}
[data-theme="dark"] .hero .hero-p{color:#4a4a35 !important;}
[data-theme="dark"] .hero .hero-stat-label{color:#4a4a35 !important;}

/* ── Filtres compatibilité ── */
.filter-section{margin-bottom:1.5rem;}
.filter-label{font-size:.75rem;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;}
.filter-row{display:flex;gap:6px;flex-wrap:wrap;align-items:center;}
.filter-sep{width:1px;height:24px;background:var(--border-color,#e8e4cc);margin:0 4px;}
.tab-sos{background:#ff3b30!important;color:white!important;border-color:#ff3b30!important;}
.tab-sos:hover,.tab-sos.active{background:#cc2a22!important;border-color:#cc2a22!important;}
.tab-compat{background:var(--white);border:1.5px solid var(--border-color,#e8e4cc);color:var(--text-muted);border-radius:100px;padding:5px 12px;font-size:.78rem;font-weight:500;cursor:pointer;transition:all .2s;font-family:inherit;}
.tab-compat.active,.tab-compat:hover{background:var(--vert);color:white;border-color:var(--vert);}

/* ── Dropdown "Filtres" ── */
.filter-dd-wrap{position:relative;display:inline-block;}
.filter-dd-btn{display:inline-flex;align-items:center;gap:7px;padding:7px 14px;border-radius:100px;border:1.5px solid var(--border-color,#e8e4cc);background:var(--white);color:var(--text-muted);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s;font-family:'DM Sans',sans-serif;white-space:nowrap;}
.filter-dd-btn:hover{border-color:var(--vert);color:var(--vert);}
.filter-dd-btn.has-active{border-color:var(--vert);color:var(--vert);background:var(--vert-light,#e8f5ea);}
.filter-dd-btn svg{flex-shrink:0;transition:transform .2s;}
.filter-dd-wrap.open .filter-dd-btn svg{transform:rotate(180deg);}
.filter-dd-badge{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--vert);color:white;font-size:.68rem;font-weight:700;line-height:1;}
.filter-dd-menu{display:none;position:absolute;top:calc(100% + 8px);right:0;min-width:200px;background:var(--white);border:1px solid var(--border-color,#e8e4cc);border-radius:14px;padding:8px;z-index:200;box-shadow:0 8px 32px rgba(0,0,0,.12);}
.filter-dd-menu.open{display:block;}
.filter-dd-group-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);padding:6px 10px 4px;pointer-events:none;}
.filter-dd-divider{height:1px;background:var(--border-color,#e8e4cc);margin:6px 2px;}
.filter-dd-item{display:flex;align-items:center;width:100%;padding:7px 10px;border-radius:8px;border:none;background:transparent;color:var(--text);font-size:.85rem;font-weight:500;cursor:pointer;font-family:'DM Sans',sans-serif;text-align:left;transition:background .15s;}
.filter-dd-item:hover{background:var(--sand,#f5f2e8);}
.filter-dd-item.active{background:var(--vert-light,#e8f5ea);color:var(--vert);}
.filter-dd-item.active::after{content:'✓';margin-left:auto;font-size:.8rem;font-weight:700;}
[data-theme="dark"] .filter-dd-menu{background:var(--sand);border-color:var(--border-color);}
[data-theme="dark"] .filter-dd-item:hover{background:rgba(255,255,255,.06);}
[data-theme="dark"] .filter-dd-item.active{background:rgba(74,159,84,.15);color:var(--vert);}
[data-theme="dark"] .filter-dd-btn{background:transparent;}

/* ── Sticky mobile bar ── */
.sticky-mobile{display:none;position:fixed;bottom:1rem;left:1rem;right:1rem;z-index:9000;background:transparent;border-top:none;padding:0;gap:.75rem;box-shadow:none;}
@media(max-width:768px){
  .sticky-mobile{display:flex;}
  body{padding-bottom:90px;}
}
.sticky-mobile .btn-sticky-adopt{flex:1;background:var(--vert);color:white;border:none;border-radius:100px;padding:12px;font-size:.9rem;font-weight:700;cursor:pointer;font-family:inherit;box-shadow:0 4px 16px rgba(0,0,0,.22);}
.sticky-mobile .btn-sticky-don{flex:1;background:var(--jaune);color:var(--text);border:none;border-radius:100px;padding:12px;font-size:.9rem;font-weight:700;cursor:pointer;font-family:inherit;box-shadow:0 4px 16px rgba(0,0,0,.18);}
.sticky-mobile .btn-sticky-adopt:hover{background:var(--vert-dark);}
.sticky-mobile .btn-sticky-don:hover{background:var(--jaune-dark);}
[data-theme="dark"] .sticky-mobile{background:transparent;border-top-color:transparent;}

/* ══════════════════════════════════════════
   RESPONSIVE — TABLETTE (max 1024px)
══════════════════════════════════════════ */
@media(max-width:1024px){
  .animals-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));}
  .events-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));}
  .header-inner{padding:0 1rem;}
  .hero{padding:3.5rem 1.5rem 3rem;}
  h1{font-size:clamp(1.8rem,4vw,2.8rem);}
  .section-title{font-size:clamp(1.4rem,3vw,2rem);}
}

/* ══════════════════════════════════════════
   RESPONSIVE — MOBILE (max 768px)
══════════════════════════════════════════ */
@media(max-width:768px){
  /* Header */
  .header-inner{height:60px;padding:0 1rem;}
  .logo-text{font-size:1rem;}
  nav{gap:6px;}
  nav a:not(.btn-don-header){display:none;}
  .btn-don-header{display:none;}
  .theme-toggle{width:32px;height:32px;font-size:.85rem;}
  .hamburger{display:flex;}

  /* Hero */
  .hero{padding:2.5rem 1rem 2rem;}
  h1{font-size:clamp(1.6rem,6vw,2.2rem);}
  .hero-p{font-size:.9rem;}
  .hero-cta{flex-direction:column;align-items:center;gap:.75rem;}
  .hero-cta a,.hero-cta button{width:100%;max-width:280px;text-align:center;justify-content:center;}
  .hero-stats{gap:1rem;flex-wrap:wrap;}
  .hero-stat-num{font-size:1.6rem;}

  /* Grille animaux */
  .animals-grid{grid-template-columns:1fr;gap:1rem;}
  .animal-card .card-body{padding:.8rem;}
  .animal-name{font-size:1rem;}
  .animal-desc{font-size:.78rem;-webkit-line-clamp:2;}

  /* Badges sur les cartes animaux */
  .featured-badge,.reserve-badge{font-size:.62rem;padding:3px 8px;}
  .species-badge{font-size:.65rem;padding:3px 8px;}
  .card-compat-icon{width:22px;height:22px;font-size:.7rem;}

  /* Section adoption — titre + filtres en colonne */
  .section-header{flex-direction:column;align-items:flex-start;gap:.75rem;}
  .section-header h2{font-size:1.5rem;}
  .filter-section{width:100%;}
  .filter-row{flex-wrap:wrap;gap:5px;width:100%;}
  .filter-sep{display:none;}

  /* Filtres */
  .filter-row{gap:5px;}
  .tab{padding:6px 12px;font-size:.78rem;}
  .tab-sos{background:#ff3b30!important;color:white!important;border-color:#ff3b30!important;}
  .tab-sos:hover,.tab-sos.active{background:#cc2a22!important;border-color:#cc2a22!important;}
  .tab-espece,.tab-sexe{padding:6px 12px;font-size:.8rem;}

  /* Dropdown filtres mobile : panneau bas de page */
  .filter-dd-wrap{position:static;}
  .filter-dd-menu{position:fixed;bottom:80px;left:12px;right:12px;top:auto;min-width:unset;border-radius:18px;box-shadow:0 -4px 32px rgba(0,0,0,.15);z-index:8000;max-height:70vh;overflow-y:auto;}
  .filter-dd-btn{font-size:.78rem;padding:6px 12px;}

  /* Événements */
  .events-grid{grid-template-columns:1fr;}

  /* Sections */
  .section{padding:2.5rem 1rem;}
  .section-title{font-size:1.4rem;}

  /* Fiche animal */
  .animal-sheet{border-radius:18px 18px 0 0;max-height:96vh;}
  .animal-overlay{align-items:flex-end;padding:0;}
  .sheet-gallery{height:200px;}
  .sheet-body{padding:1rem;}
  .sheet-name{font-size:1.3rem;}
  .sheet-actions{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:6px;}
  .sheet-rdv-btn{grid-column:1/-1;font-size:.9rem;padding:13px 16px;border-radius:12px;}
  .sheet-call-btn{justify-content:center;font-size:.85rem;padding:10px 8px;border-radius:12px;}
  .sheet-page-btn{justify-content:center;font-size:.85rem;padding:10px 8px;border-radius:12px;margin-top:0;}
  .sheet-heart-btn{padding:10px 12px;border-radius:12px;}
  .sheet-share{flex-wrap:wrap;}

  /* Admin panel mobile */
  .admin-panel{border-radius:20px 20px 0 0;max-height:96vh;width:100%;}
  .admin-trigger{bottom:80px !important;}
  .admin-overlay{align-items:flex-end;padding:0;}
  .aform-grid{grid-template-columns:1fr !important;}
  /* Onglets en grille 2x2 sur mobile */
  .admin-tabs-wrap{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:10px 12px;background:#162010;}
  .admin-tab{text-align:center;padding:10px 8px;font-size:.82rem;border-radius:10px;}
  .admin-tab.tab-sos{grid-column:1/-1;}
  /* Corps admin */
  .admin-body{padding:1rem;}
  .aform-label{font-size:.82rem;}
  .aform-input,.aform-input select,.aform-input textarea{font-size:.95rem;padding:11px 13px;}
  .aform-save{width:100%;padding:13px;font-size:.95rem;}
  .admin-header{padding:1rem 1.2rem;}
  .admin-header h2{font-size:1rem;}
  .btn-add-animal,.btn-add-event,.btn-add-frais{width:100%;text-align:center;justify-content:center;}
  /* Liste animaux mobile */
  .animal-list-name{font-size:.88rem;}
  .animal-list-meta{font-size:.75rem;}
  .btn-edit,.btn-del,.btn-archive{padding:6px 10px;font-size:.78rem;}

  /* Crop modal */
  .crop-modal{padding:1rem;}
  .crop-img-wrap{max-height:45vh;}
  .crop-ratios{gap:4px;}
  .crop-ratio-btn{padding:4px 10px;font-size:.73rem;}

  /* Localisation — carte en pleine largeur sous les infos */
  .localisation-grid{grid-template-columns:1fr;gap:1.5rem;}
  .map-wrapper{height:260px;display:block;width:100%;}
  .map-wrapper iframe{display:block;width:100%;height:100%;border:none;}

  /* Section don — empiler les cartes */
  .don-cards{grid-template-columns:1fr;gap:1rem;}
  .don-card{padding:1.5rem;}
  .don-amounts{gap:6px;}
  .don-amount{padding:8px 16px;font-size:.85rem;}

  /* Footer */
  .footer{padding:2rem 1rem 1rem;}
  .footer-top{grid-template-columns:1fr;gap:1.5rem;}
  .footer-bottom{flex-direction:column;gap:.5rem;text-align:center;font-size:.78rem;}
}

/* ══════════════════════════════════════════
   RESPONSIVE — PETIT MOBILE (max 400px)
══════════════════════════════════════════ */
@media(max-width:400px){
  .animals-grid{grid-template-columns:1fr;}
  h1{font-size:1.5rem;}
  .hero-stats{justify-content:center;}
  .sheet-gallery{height:180px;}
  .filter-row{gap:3px;}
}
/* ── Statut radio buttons dans le formulaire animal ── */
.statut-radio-group{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px;}
.statut-radio{display:flex;align-items:center;gap:6px;cursor:pointer;background:var(--sand,#f5f0d8);border:2px solid transparent;border-radius:10px;padding:8px 14px;font-size:.85rem;font-weight:500;transition:all .2s;user-select:none;}
.statut-radio input[type="radio"]{display:none;}
.statut-radio:hover{border-color:var(--vert);background:var(--vert-light,#eaf6eb);}
.statut-radio.active{border-color:var(--vert);background:var(--vert-light,#eaf6eb);font-weight:700;color:var(--vert-dark);}
.statut-radio.statut-radio-sos.active{border-color:#ff3b30;background:#fff0ee;color:#cc2a22;}
.statut-radio.statut-radio-sos:hover{border-color:#ff3b30;background:#fff0ee;}
.statut-radio.statut-radio-featured{border-color:rgba(245,200,0,.4);}
.statut-radio.statut-radio-featured:hover{border-color:var(--jaune);background:#fffbe6;}
.statut-radio.statut-radio-featured.active{border-color:var(--jaune);background:#fffbe6;color:#856404;font-weight:700;}
.statut-radio.statut-radio-nouveau{border-color:rgba(255,107,107,.3);}
.statut-radio.statut-radio-nouveau:hover{border-color:#ff6b6b;background:#fff0ee;}
.statut-radio.statut-radio-nouveau.active{border-color:#ff6b6b;background:#fff0ee;color:#c0392b;font-weight:700;}
button.statut-radio{font-family:'DM Sans',sans-serif;font-size:.85rem;line-height:1;}
[data-theme="dark"] .statut-radio{background:#2a2a20;color:var(--text);}
[data-theme="dark"] .statut-radio.active{background:#1a2e1a;}
/* ── Bouton appeler dans la fiche animal ── */
.sheet-call-btn{display:inline-flex;align-items:center;gap:5px;background:#3a9e3f;color:white;border-radius:10px;padding:9px 14px;font-size:.82rem;font-weight:600;text-decoration:none;transition:background .2s;}
.sheet-call-btn:hover{background:#2a7a2e;}
.sheet-page-btn{display:inline-flex;align-items:center;gap:5px;background:var(--sand);color:var(--text);border-radius:10px;padding:9px 14px;font-size:.82rem;font-weight:600;text-decoration:none;transition:background .2s;margin-top:0;}
.sheet-page-btn:hover{background:var(--jaune-light);}
@media(max-width:768px){
  .sheet-call-btn{flex:1;justify-content:center;font-size:.88rem;padding:12px 14px;border-radius:14px;}
  .sheet-page-btn{flex:1;justify-content:center;font-size:.88rem;padding:12px 14px;border-radius:14px;margin-top:0;}
}

/* ── Drag & drop liste admin ── */
.drag-hint{font-size:.75rem;color:#888;margin-bottom:.5rem;padding:0 4px;}
.drag-handle{font-size:1.2rem;color:#aaa;cursor:grab;padding:0 6px;flex-shrink:0;line-height:1;user-select:none;}
.drag-handle:active{cursor:grabbing;}
.animal-list-item{display:flex;align-items:center;gap:.75rem;background:var(--bg-card,white);border-radius:12px;padding:.7rem .9rem;margin-bottom:.5rem;border:2px solid transparent;transition:border .15s,opacity .15s,transform .15s;}
.animal-list-item.dragging{opacity:.4;transform:scale(.98);}
.animal-list-item.drag-over{border-color:var(--vert);background:var(--vert-light);}

/* ── Bouton prévisualisation ── */
.aform-preview-btn{background:var(--sand);color:var(--text);border:2px solid var(--border-color,#e8e4cc);border-radius:100px;padding:10px 20px;font-size:.88rem;font-weight:600;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all .2s;}
.aform-preview-btn:hover{border-color:var(--vert);color:var(--vert);}
/* ── Event card cliquable ── */
a.event-card{text-decoration:none;color:inherit;cursor:pointer;}
.event-card-link{position:relative;}
.event-card-link::after{content:'↗';position:absolute;top:12px;right:12px;background:var(--vert);color:white;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;opacity:0;transition:opacity .2s;}
.event-card-link:hover::after{opacity:1;}
.event-card-link:hover{transform:translateY(-6px);box-shadow:0 16px 40px rgba(30,30,10,.18);}
/* ── Carte animal "En avant" — contour jaune ── */
.animal-card.featured-card{
  outline:3px solid var(--jaune,#f5c800);
  outline-offset:0px;
  box-shadow:0 0 0 0 rgba(245,200,0,.3),var(--shadow);
}
.animal-card.featured-card:hover{
  box-shadow:0 12px 40px rgba(245,200,0,.25);
}
/* ── Carte animal "Cherche FA" — contour orange ── */
.animal-card[data-fa="true"]{
  outline:3px solid #e67e22;
  outline-offset:0px;
  box-shadow:0 0 8px 2px rgba(230,126,34,.2),var(--shadow);
}
.animal-card[data-fa="true"]:hover{
  box-shadow:0 12px 40px rgba(230,126,34,.25);
}
/* ── Badge FA sur les cartes ── */
.fa-badge{position:absolute;bottom:12px;left:12px;background:#e67e22;color:white;font-size:.72rem;font-weight:700;padding:4px 10px;border-radius:100px;z-index:2;}
/* Si SOS + FA sur la même carte : décaler FA à droite */
.sos-badge ~ .fa-badge{left:auto;right:12px;}
/* ── Filtre Cherche FA ── */
.tab-fa{background:transparent;border:2px solid var(--border-color,#e8e4cc);border-radius:100px;padding:6px 14px;font-size:.82rem;font-weight:600;font-family:inherit;cursor:pointer;color:var(--text-muted,#666);transition:all .15s;}
.tab-fa:hover{border-color:#e67e22;color:#e67e22;}
.tab-fa.active{background:#e67e22;color:white;border-color:#e67e22;}
/* ── Filtre Espèce / Sexe ── */
.tab-espece,.tab-sexe{background:transparent;border:2px solid var(--border-color,#e8e4cc);border-radius:100px;padding:6px 14px;font-size:.82rem;font-weight:600;font-family:inherit;cursor:pointer;color:var(--text-muted,#666);transition:all .15s;}
.tab-espece:hover,.tab-sexe:hover{border-color:var(--vert);color:var(--vert);}
.tab-espece.active{background:var(--vert);color:white;border-color:var(--vert);}
.tab-sexe.active{background:#6c8ebf;color:white;border-color:#6c8ebf;}
/* ── Filtre Nouveau ── */
.tab-nouveau{background:transparent;border:2px solid var(--border-color,#e8e4cc);border-radius:100px;padding:6px 14px;font-size:.82rem;font-weight:600;font-family:inherit;cursor:pointer;color:var(--text-muted,#666);transition:all .15s;}
.tab-nouveau:hover{border-color:#ff6b6b;color:#ff6b6b;}
.tab-nouveau.active{background:#ff6b6b;color:white;border-color:#ff6b6b;}
/* ── Deuxième ligne de filtres ── */
/* ── Grille animaux FA (page /fa) ── */
#faAnimauxGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin-top:1.5rem;}
