:root{
  --navy:#10283b;--navy-2:#163a52;--gold:#a87500;--amber:#ffb000;--cream:#f7f3eb;--paper:#fffdf8;
  --ink:#273038;--muted:#6d7479;--line:#e4ded2;--white:#fff;--shadow:0 18px 50px rgba(16,40,59,.13);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);line-height:1.65}img{max-width:100%;display:block}a{color:inherit}.container{width:min(1180px,calc(100% - 40px));margin:auto}.narrow{width:min(900px,100%)}.section{padding:96px 0}.soft{background:var(--cream)}.skip-link{position:absolute;left:-9999px;top:10px;background:#fff;padding:10px;z-index:999}.skip-link:focus{left:10px}.hidden{position:absolute;left:-9999px}
h1,h2,h3,.brand span{font-family:Georgia,'Times New Roman',serif;line-height:1.08}h1{font-size:clamp(3rem,7vw,6.2rem);margin:.2em 0 .35em;color:#fff}h2{font-size:clamp(2.25rem,4.4vw,4.3rem);margin:.15em 0 .45em;color:var(--gold);font-weight:500}h3{font-size:1.75rem;margin:.25em 0 .45em;color:var(--gold)}p{margin:0 0 1.2em}.lead{font-size:1.25rem;color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;font-weight:700;color:#fff}.eyebrow.gold{color:var(--gold)}
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,253,248,.95);backdrop-filter:blur(12px);border-bottom:1px solid rgba(16,40,59,.1)}.nav-wrap{display:flex;align-items:center;justify-content:space-between;min-height:86px;gap:24px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand img{width:58px;height:58px;object-fit:cover;border-radius:50%}.brand span{font-size:1.35rem;color:var(--gold)}.main-nav{display:flex;align-items:center;gap:22px}.main-nav a{text-decoration:none;font-size:.92rem;font-weight:700}.main-nav a:hover{color:var(--gold)}.nav-cta{background:var(--amber);padding:11px 16px;border-radius:8px}.menu-toggle{display:none;background:none;border:0;width:44px;height:44px;padding:9px}.menu-toggle span{display:block;height:3px;background:var(--navy);margin:5px 0;border-radius:2px}
.hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#0a1a2a 0%,#133c59 55%,#a5521d 100%);min-height:780px;display:flex;align-items:center}.hero:after{content:'';position:absolute;inset:auto 0 0;height:170px;background:linear-gradient(transparent,rgba(0,0,0,.45))}.hero-stars{position:absolute;inset:0;background-image:radial-gradient(#fff 1px,transparent 1px);background-size:82px 82px;opacity:.18}.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.25fr .75fr;align-items:center;gap:50px;padding:95px 0}.campaign-banner{width:min(720px,100%);border-radius:10px;margin-bottom:32px;box-shadow:0 18px 45px rgba(0,0,0,.35)}.hero-lead{font-size:1.28rem;color:#eef4f7;max-width:760px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:13px 22px;border-radius:8px;text-decoration:none;font-weight:800;border:2px solid transparent;cursor:pointer}.button.primary{background:var(--amber);color:#1b2630}.button.secondary{color:#fff;border-color:rgba(255,255,255,.72);background:rgba(255,255,255,.08)}.button.outline{border-color:var(--gold);color:var(--gold);background:transparent}.button.light{background:#fff;color:var(--navy)}.hero-art{height:570px;position:relative}.moon{position:absolute;width:120px;height:120px;border-radius:50%;background:#fff2be;box-shadow:0 0 70px rgba(255,242,190,.6);right:15px;top:20px}.cat-silhouette{position:absolute;color:#05090d;width:370px;bottom:-10px;right:5px;filter:drop-shadow(0 20px 30px rgba(0,0,0,.45))}
.intro{text-align:center}.intro .lead{max-width:850px;margin:0 auto 46px}.impact-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.impact-row div{padding:24px 14px;border:1px solid var(--line);background:#fff;border-radius:12px}.impact-row strong{display:block;color:var(--navy);font-family:Georgia,serif;font-size:1.55rem}.impact-row span{font-size:.88rem;color:var(--muted)}
.section-heading{max-width:820px;margin-bottom:44px}.section-heading p{font-size:1.08rem;color:var(--muted)}.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.feature-card{background:#fff;border-radius:14px;overflow:hidden;box-shadow:var(--shadow);border:1px solid #eee8dc}.feature-card>img{width:100%;height:255px;object-fit:cover}.card-body{padding:28px}.card-number{font-weight:900;color:var(--amber);font-size:.85rem}.card-body p{color:var(--muted)}.card-body a{font-weight:800;color:var(--navy);text-decoration:none}
.map-section{background:var(--navy);color:#fff}.map-section h2{color:#fff}.map-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:42px;align-items:center}.check-list{padding:0;list-style:none;margin:24px 0}.check-list li{margin:10px 0;padding-left:30px;position:relative}.check-list li:before{content:'✓';position:absolute;left:0;color:var(--amber);font-weight:900}.small-note{font-size:.78rem;color:#b9c9d3;margin-top:16px}.map-preview{position:relative;height:580px;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.35)}.map-preview iframe{width:100%;height:100%;border:0}.map-overlay-link{position:absolute;right:18px;bottom:18px;background:var(--amber);padding:12px 16px;border-radius:8px;text-decoration:none;font-weight:800;color:#18222b;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.news-grid{display:grid;grid-template-columns:1.45fr .55fr;gap:30px}.news-feature{display:grid;grid-template-columns:.8fr 1.2fr;gap:30px;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow)}.news-feature img{width:100%;height:100%;min-height:420px;object-fit:cover}.news-feature>div{padding:38px 34px 38px 0;align-self:center}.tag{display:inline-block;background:#f6e9bf;color:#805d00;padding:5px 10px;border-radius:20px;font-size:.78rem;font-weight:800}.text-link{font-weight:800;text-decoration:none;color:var(--navy)}.quote-card{background:#f2f2f2;padding:40px;border-radius:14px;display:flex;flex-direction:column;justify-content:center}.quote-mark{width:76px;height:76px;background:#d59700;color:#fff;border-radius:50%;font-size:4rem;line-height:1.25;text-align:center;font-family:Georgia,serif}.quote-card blockquote{font-size:1.25rem;margin:25px 0;color:#555}.quote-card cite{font-style:normal;font-weight:700;color:var(--gold)}
.awareness-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.awareness-grid img{border-radius:14px;box-shadow:var(--shadow);width:100%;height:470px;object-fit:cover}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.team-card{padding:28px;border:1px solid var(--line);border-radius:14px;background:#fff}.avatar{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:var(--amber);font-family:Georgia,serif;font-size:1.4rem;font-weight:700}.team-card h3{font-size:1.35rem;color:var(--navy);margin-top:18px}.team-card p{color:var(--muted);margin:0}
.support{background:#f2eee5}.support-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.support-card{border-radius:16px;overflow:hidden;min-height:450px}.donate{background:linear-gradient(135deg,#a66b00,#e8a000);color:#fff;padding:56px}.donate h2{color:#fff}.shop{background:#fff;display:grid;grid-template-rows:240px 1fr}.shop img{width:100%;height:240px;object-fit:cover}.shop>div{padding:34px}
.contact-section{background:#fff}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px}.contact-info{display:grid;gap:14px;margin:30px 0}.contact-info div{padding:18px;border-left:4px solid var(--amber);background:var(--cream)}.contact-info span{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.qr-box{display:flex;gap:18px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:16px}.qr-box img{width:118px}.qr-box p{margin:0}.contact-form{display:grid;gap:17px;padding:34px;background:var(--cream);border-radius:16px}.contact-form label{font-weight:700}.contact-form input,.contact-form textarea,.contact-form select{display:block;width:100%;margin-top:7px;padding:13px;border:1px solid #bbb;border-radius:7px;background:#fff;font:inherit}.consent{display:flex;align-items:flex-start;gap:10px;font-size:.88rem;font-weight:400!important}.consent input{width:auto;margin-top:6px}
.site-footer{background:#272c30;color:#e9ecee;padding:58px 0 22px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:30px}.footer-grid strong{display:block;color:#fff;margin-bottom:10px}.footer-grid a{display:block;color:#d6dde1;text-decoration:none;margin:5px 0}.footer-bottom{border-top:1px solid #4d5358;margin-top:35px;padding-top:20px;display:flex;justify-content:space-between;font-size:.85rem;color:#bac2c7}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:980px){.main-nav{position:absolute;top:86px;left:0;right:0;background:#fff;display:none;flex-direction:column;padding:24px;box-shadow:var(--shadow)}.main-nav.open{display:flex}.menu-toggle{display:block}.hero-grid,.map-grid,.awareness-grid,.contact-grid{grid-template-columns:1fr}.hero-art{display:none}.cards-grid,.team-grid{grid-template-columns:repeat(2,1fr)}.news-grid,.support-grid{grid-template-columns:1fr}.news-feature{grid-template-columns:1fr}.news-feature>div{padding:28px}.map-preview{height:510px}.impact-row{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.container{width:min(100% - 28px,1180px)}.section{padding:70px 0}.nav-wrap{min-height:74px}.brand img{width:48px;height:48px}.brand span{font-size:1rem;max-width:210px}.main-nav{top:74px}.hero{min-height:auto}.hero-grid{padding:64px 0}.campaign-banner{margin-bottom:24px}.hero-lead{font-size:1.08rem}.hero-actions{display:grid}.button{width:100%}.cards-grid,.team-grid,.impact-row{grid-template-columns:1fr}.feature-card>img{height:230px}.news-feature img{min-height:320px}.awareness-grid img{height:330px}.donate{padding:34px}.contact-form{padding:22px}.qr-box{align-items:flex-start}.qr-box img{width:92px}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:7px}.map-preview{height:430px}}

/* Contenus pilotés depuis l'espace d'administration */
.content-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.content-card{display:grid;grid-template-columns:minmax(190px,.8fr) minmax(0,1.2fr);background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow)}
.content-card>img{width:100%;height:100%;min-height:330px;object-fit:cover}
.content-card-body{padding:32px;align-self:center}
.content-card-body h3{font-size:1.55rem;color:var(--navy);margin:16px 0 10px}
.content-date{display:block;color:var(--muted);font-size:.85rem;margin-bottom:12px}
.adoption-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.adoption-card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column}
.adoption-card>img{width:100%;height:300px;object-fit:cover}
.adoption-card-body{padding:26px;display:flex;flex-direction:column;align-items:flex-start;flex:1}
.adoption-card-body h3{font-size:1.65rem;color:var(--navy);margin:15px 0 8px}
.adoption-card-body dl{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:12px;margin:16px 0 22px}
.adoption-card-body dl div{background:var(--soft);padding:10px 12px;border-radius:9px}
.adoption-card-body dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.adoption-card-body dd{margin:3px 0 0;font-weight:700;color:var(--navy)}
.adoption-card-body .button{margin-top:auto}
.member-photo{width:68px;height:68px;border-radius:50%;object-fit:cover;border:3px solid var(--amber)}

@media(max-width:980px){
  .content-cards{grid-template-columns:1fr}
  .adoption-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .content-card{grid-template-columns:1fr}
  .content-card>img{min-height:260px;height:260px}
  .content-card-body{padding:24px}
  .adoption-grid{grid-template-columns:1fr}
  .adoption-card>img{height:280px}
}


/* =========================================================
   Réglages pilotés depuis Administration > Apparence du site
   ========================================================= */
:root{
  --heading-font:Georgia,'Times New Roman',serif;
  --body-font:Arial,Helvetica,sans-serif;
  --base-font-size:16px;
  --card-radius:14px;
  --button-radius:8px;
  --card-bg:#ffffff;
  --soft:#f7f3eb;
}
body{
  font-family:var(--body-font);
  font-size:var(--base-font-size);
  color:var(--ink);
  background:var(--paper);
}
h1,h2,h3,.brand span{font-family:var(--heading-font)}
.button,.nav-cta,.map-overlay-link{border-radius:var(--button-radius)}
.feature-card,.content-card,.adoption-card,.team-card,.support-card,.contact-form,.map-preview,.quote-card{
  border-radius:var(--card-radius);
}
.feature-card,.content-card,.adoption-card,.team-card,.shop{background:var(--card-bg)}
body.headings-center .section-heading{text-align:center;margin-left:auto;margin-right:auto}
body.headings-center .section-heading p{margin-left:auto;margin-right:auto}
body.no-card-shadow .feature-card,
body.no-card-shadow .content-card,
body.no-card-shadow .adoption-card,
body.no-card-shadow .team-card,
body.no-card-shadow .support-card,
body.no-card-shadow .map-preview,
body.no-card-shadow .awareness-grid img{box-shadow:none}

/* Photos des fiches d'adoption */
.adoption-card>img.adoption-photo{
  width:100%;
  height:360px;
  background:var(--soft);
}
.adoption-card>img.image-contain{object-fit:contain}
.adoption-card>img.image-cover{object-fit:cover}
.adoption-card-body.text-center{align-items:center;text-align:center}
.adoption-card-body.text-right{align-items:flex-end;text-align:right}
.adoption-card-body.text-center dl,
.adoption-card-body.text-right dl{text-align:left}

@media(max-width:640px){
  .adoption-card>img.adoption-photo{height:340px}
}
/* ===== ACTUALITÉS - AFFICHAGE DÉFINITIF ===== */

#actualites-liste {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
  align-items: start !important;
}

#actualites-liste .content-card {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  overflow: hidden !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

#actualites-liste .content-card img {
  width: 100% !important;
  height: 300px !important;
  object-fit: contain !important;
  object-position: center center !important;
  display: block !important;
  background: #f7f3eb !important;
}

#actualites-liste .content-card-body {
  display: block !important;
  padding: 24px !important;
  width: auto !important;
}

#actualites-liste .content-card h3,
#actualites-liste .content-card p,
#actualites-liste .content-card time,
#actualites-liste .content-card a,
#actualites-liste .content-card span {
  visibility: visible !important;
  opacity: 1 !important;
}

@media (max-width: 850px) {
  #actualites-liste {
    grid-template-columns: 1fr !important;
  }

  #actualites-liste .content-card img {
    height: 280px !important;
  }
}
/* ===== MENU - RUBRIQUE ACTIVE ===== */

.main-nav a.active {
  color: #b47700 !important;
  position: relative;
}

.main-nav a.active::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -8px;
  height: 3px;
  border-radius: 3px;
  background: #d99a00;
}

.main-nav a:not(.nav-cta):hover {
  color: #b47700;
}
/* ===== PAGE NOUS SOUTENIR ===== */

.support-intro h1 {
  color: #12324a !important;
}
/* ===== PHOTO EBEN - PAGE NOUS SOUTENIR ===== */

.support-hero-image {
  margin: 28px auto;
  max-width: 460px;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.10);
}

.support-hero-image img {
  display: block;
  width: 100%;
  height: auto;
}
/* ===== LISTE DES DONS - PAGE NOUS SOUTENIR ===== */

.don-list {
  list-style: none;
  padding: 0;
  margin: 32px 0 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.don-list li {
  position: relative;
  padding: 22px 22px 22px 54px;
  background: #ffffff;
  border: 1px solid rgba(180, 119, 0, 0.18);
  border-radius: 18px;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.05);
  line-height: 1.5;
}

.don-list li::before {
  content: "🐾";
  position: absolute;
  left: 20px;
  top: 20px;
  font-size: 20px;
}

@media (max-width: 700px) {
  .don-list {
    grid-template-columns: 1fr;
  }
}
/* ===== EFFET AU SURVOL - CARTES DONS ===== */

.don-list li {
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.don-list li:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.10);
}
/* ===== ICÔNES PERSONNALISÉES - CARTES DONS ===== */

.don-veto::before {
  content: "🐱";
}

.don-soins::before {
  content: "🩺";
}

.don-chirurgie::before {
  content: "💊";
}

.don-alimentation::before {
  content: "🥣";
}

.don-accueil::before {
  content: "🏠";
}

.don-prevention::before {
  content: "📣";
}
/* ===== ICÔNES DONS - PRIORITÉ ===== */

.don-list li.don-veto::before {
  content: "🐱";
}

.don-list li.don-soins::before {
  content: "🩺";
}

.don-list li.don-chirurgie::before {
  content: "💊";
}

.don-list li.don-alimentation::before {
  content: "🥣";
}

.don-list li.don-accueil::before {
  content: "🏠";
}

.don-list li.don-prevention::before {
  content: "📣";
}
/* ===== ICÔNES DONS - VERSION DÉFINITIVE ===== */

.don-list li:nth-child(1)::before {
  content: "🐱" !important;
}

.don-list li:nth-child(2)::before {
  content: "🩺" !important;
}

.don-list li:nth-child(3)::before {
  content: "💊" !important;
}

.don-list li:nth-child(4)::before {
  content: "🥣" !important;
}

.don-list li:nth-child(5)::before {
  content: "🏠" !important;
}

.don-list li:nth-child(6)::before {
  content: "📣" !important;
}
/* ===== SUPPRIMER LES ANCIENNES PATTES ===== */

.don-list li::before {
  content: none !important;
}
/* ===== AIDER AUTREMENT - PAGE NOUS SOUTENIR ===== */

.help-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin: 32px 0;
}

.help-card {
  background: #ffffff;
  border: 1px solid rgba(180, 119, 0, 0.18);
  border-radius: 18px;
  padding: 24px;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.05);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.help-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.10);
}

.help-icon {
  display: block;
  font-size: 28px;
  margin-bottom: 12px;
}

.help-card h3 {
  margin: 0 0 10px;
}

.help-card p {
  margin: 0;
  line-height: 1.5;
}

@media (max-width: 700px) {
  .help-grid {
    grid-template-columns: 1fr;
  }
}
.help-grid + .button {
  display: table;
  margin: 36px auto 0;
}
/* ===== CHAQUE CHAT MÉRITE SA CHANCE ===== */

.chance-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 32px;
}

.chance-card {
  background: #ffffff;
  border: 1px solid rgba(180, 119, 0, 0.18);
  border-radius: 18px;
  padding: 24px;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.05);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.chance-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.10);
}

.chance-icon {
  display: block;
  font-size: 28px;
  margin-bottom: 12px;
}

.chance-card h3 {
  margin: 0 0 10px;
  color: #b47700;
}

.chance-card p {
  margin: 0;
  line-height: 1.55;
}

.chance-quote {
  max-width: 900px;
  margin: 36px auto 0;
  padding: 22px 26px;
  text-align: center;
  font-size: 1.15rem;
  font-weight: 600;
  line-height: 1.6;
  background: #f7f3eb;
  border-left: 4px solid #d99a00;
  border-radius: 14px;
}

@media (max-width: 760px) {
  .chance-grid {
    grid-template-columns: 1fr;
  }
}
/* ===== PHOTO CHAT SENIOR ===== */

.chance-icon-photo {
  width: 52px;
  height: 52px;
  object-fit: cover;
  border-radius: 50%;
  display: block;
  margin-bottom: 12px;
  border: 2px solid rgba(180, 119, 0, 0.18);
}
/* ===== NAVIGATION MOBILE PAR RUBRIQUES ===== */

.mobile-section-tabs {
  display: none;
}

@media (max-width: 760px) {
  .mobile-section-tabs {
    display: flex;
    gap: 8px;
    padding: 12px 16px;
    overflow-x: auto;
    white-space: nowrap;
    background: #fffdf8;
    border-top: 1px solid #e2d6c7;
    border-bottom: 1px solid #e2d6c7;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .mobile-section-tabs::-webkit-scrollbar {
    display: none;
  }

  .mobile-tab {
    flex: 0 0 auto;
    border: 1px solid #b47700;
    border-radius: 999px;
    padding: 9px 14px;
    background: transparent;
    color: #173247;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
  }

  .mobile-tab.is-active {
    background: #f8b400;
    border-color: #f8b400;
    color: #173247;
  }
}
