
:root{--orange:#ff7900;--orange2:#e95100;--ink:#24130c;--cream:#fff2df;--line:#e5c9a6;--brown:#56220c}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff3e5;color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit}button,input,textarea{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #1976d2;outline-offset:3px}.site-head{background:linear-gradient(92deg,#090806,#231407 50%,#040706);color:white;overflow:hidden}.head-inner{max-width:1536px;margin:auto;min-height:145px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 4%;position:relative}.brand{display:flex;align-items:center;gap:16px;text-decoration:none;position:relative;z-index:1}.logo-heart{width:94px;height:94px;display:grid;place-items:center;color:#ffab46;font-size:66px;line-height:1}.brand-name{font-size:clamp(26px,3.1vw,48px);line-height:.99;font-weight:800;color:#fff4e3}.brand-sub{margin-top:9px;color:#ffd49b;font-size:clamp(13px,1.3vw,20px)}.head-tag{font-family:Georgia,serif;font-style:italic;font-size:clamp(16px,1.9vw,28px);text-align:center;color:white;transform:rotate(-5deg);position:relative;z-index:1}.head-cat{position:absolute;right:0;top:0;width:30%;height:100%;object-fit:cover;opacity:.7;mask-image:linear-gradient(90deg,transparent,#000 45%)}.nav{background:#151515;border-top:1px solid #7f5b3c;border-bottom:2px solid #dfac65;color:white}.nav-inner{max-width:1536px;margin:auto;display:flex;justify-content:space-around;gap:4px;padding:4px 3%}.nav a{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 20px;border-radius:32px;text-decoration:none;font-weight:700;white-space:nowrap}.nav a.active,.nav a:hover{background:linear-gradient(#ffa12d,#ee5a00);color:white}.nav-icon{font-size:21px}.wrap{max-width:1200px;margin:auto;padding:45px 24px}.section-title{font-family:Georgia,serif;font-style:italic;color:#3d170c;font-size:clamp(30px,4vw,49px);margin:0 0 14px}.lede{font-size:19px;line-height:1.65;max-width:820px}.btn{display:inline-flex;justify-content:center;align-items:center;gap:12px;padding:13px 22px;border-radius:28px;border:2px solid var(--orange);background:linear-gradient(#ff9b23,#ef5a00);color:white;font-weight:700;text-decoration:none;cursor:pointer}.btn.outline{background:transparent;color:#a63e00}.btn:hover{filter:brightness(1.06)}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:28px 0}.cat-card{border-radius:21px;background:#fff9f1;overflow:hidden;box-shadow:0 8px 15px #4b220b20}.cat-card img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.cat-card .card-body{padding:15px}.cat-card h3{margin:0 0 8px}.cat-card p{line-height:1.5;margin:0}.simple-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:28px 0}.panel{background:#fffaf3;border:1px solid #efd9c0;border-radius:20px;padding:24px;box-shadow:0 5px 14px #63300612}.panel h3{color:#70300e;font-size:24px;margin:0 0 12px}.panel p{line-height:1.65;margin:0}.notice{background:#fff9ef;border-left:5px solid var(--orange);padding:19px 22px;margin:24px 0;border-radius:10px;line-height:1.6}.site-foot{background:#1c140e;color:#fff4e2;padding:35px 24px;text-align:center}.site-foot a{color:#ffd297}.site-foot p{margin:9px}.form{max-width:680px}.form label{display:block;margin:18px 0 6px;font-weight:bold}.form input,.form textarea{display:block;width:100%;border:1px solid #cba77d;border-radius:9px;padding:12px;background:white}.form textarea{min-height:145px}.muted{color:#614c3d}.home-poster{max-width:1536px;margin:auto;position:relative;background:#fff4e6;line-height:0}.home-poster img{width:100%;height:auto;display:block}.hotspot{position:absolute;display:block;z-index:2;border-radius:20px}.hotspot:focus-visible{outline:4px solid #007ee4;outline-offset:-3px;background:#ffffff30}.home-mobile{display:none}.home-extra{background:#fff4e6}.home-extra .wrap{padding-top:30px}.home-extra p{line-height:1.65}.hero-mobile{background:linear-gradient(105deg,#100b07d9,#36140399),url('assets/chaton.webp') center/cover;min-height:430px;padding:56px 20px;color:white}.hero-mobile h1{font-family:Georgia,serif;font-size:clamp(36px,9vw,65px);font-style:italic;max-width:540px}.hero-mobile p{font-size:19px;line-height:1.5;max-width:430px}.home-mobile .cards{grid-template-columns:repeat(2,1fr)}.home-mobile .section-title{font-size:30px}.home-mobile .wrap{padding-top:25px;padding-bottom:25px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:850px){.head-inner{min-height:110px}.logo-heart{width:65px;height:65px;font-size:48px}.head-tag{display:none}.head-cat{width:45%}.nav-inner{justify-content:flex-start;overflow-x:auto;padding:5px 10px}.nav a{padding:11px 14px;font-size:14px}.nav-icon{font-size:17px}.home-poster{display:none}.home-mobile{display:block}.cards{grid-template-columns:repeat(2,1fr)}.simple-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.brand-name{font-size:25px}.brand-sub{font-size:12px}.head-cat{opacity:.33}.cards,.home-mobile .cards,.simple-grid{grid-template-columns:1fr 1fr;gap:10px}.cat-card h3{font-size:16px}.cat-card p{font-size:13px}.panel{padding:16px}.panel h3{font-size:20px}.wrap{padding:30px 16px}.site-foot{font-size:14px}.btn{padding:11px 16px}}

/* Présentation officielle de l’initiative — indépendante de la mairie */
.home-legal{background:#fff0dc}.home-legal .wrap{padding-top:20px;padding-bottom:45px}.independence{background:#fffaf3;border:1px solid #f0cc9f;border-left:6px solid var(--orange);border-radius:14px;padding:26px 30px;box-shadow:0 4px 15px #713c1614}.independence h2{font-family:Georgia,serif;color:#682b0a;font-size:clamp(24px,3vw,34px);margin:0 0 18px}.independence p{line-height:1.8;font-size:17px;margin:12px 0}.independence strong{color:#9c3900}@media(max-width:520px){.independence{padding:19px}.independence p{font-size:16px}}

.about-section{background:#fff8ed}.about-section .wrap{padding-top:36px;padding-bottom:36px}.about-section p{font-size:18px;line-height:1.8;max-width:950px}.about-section strong{color:#a33e00} .cat-card:has(.card-body:empty) {min-height:0}

/* Photographies authentiques, placées sur les 4 anciennes cartes de la maquette bureau */
.home-poster .poster-real-cat{position:absolute;display:block;z-index:1;object-fit:cover;object-position:center 45%;border-radius:7% 7% 1% 1%;box-shadow:none;}
@media(max-width:850px){.home-poster .poster-real-cat{display:none}}

/* Espacement des appels à l’action sur mobile et ordinateur */
.home-cta-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin:22px 0 6px}
.home-cta-actions .btn{margin:0;min-height:46px}
@media(max-width:520px){.home-cta-actions{gap:16px;align-items:flex-start;flex-direction:column}.home-cta-actions .btn{max-width:100%}}


/* Formulaire de contact — version identique au site officiel */
.honey-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
.form-status{line-height:1.5;font-size:14px;margin:12px 0 0;min-height:1.4em}
.form-status.success{color:#236533}.form-status.error{color:#a52a2a}
.contact-widget{position:fixed;right:18px;bottom:18px;z-index:220}
.contact-launcher{border:0;border-radius:34px;background:linear-gradient(180deg,#9f3616,#7a210e);box-shadow:0 8px 22px #0005;color:#fff;font-weight:800;padding:13px 20px;cursor:pointer;font-size:16px;display:inline-flex;align-items:center;gap:8px}
.contact-popup[hidden]{display:none!important}
.contact-popup{position:absolute;bottom:70px;right:0;width:min(410px,calc(100vw - 26px));max-height:min(690px,calc(100dvh - 110px));overflow:hidden;background:#fff;border:2px solid #e5d7d0;border-radius:28px;box-shadow:0 16px 42px #0007;display:flex;flex-direction:column}
.contact-popup-head{background:#26120d;padding:16px 18px;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #6d4e42}
.contact-popup-head strong{font-size:15px;line-height:1.2}
.contact-popup-head button{background:none;color:#fff;border:0;font-size:28px;cursor:pointer;line-height:1;padding:0 2px}
.contact-popup-body{overflow:auto;padding:14px 15px 17px;background:#fff}
.contact-popup-intro{margin:0 0 16px;line-height:1.45;background:#faf6f4;border:1px solid #d9c9c0;border-radius:18px;padding:14px 15px;color:#3a241a;font-size:14px}
.contact-popup-form label{display:block;margin:14px 0 7px;font-weight:800;font-size:14px;color:#20130d}
.contact-popup-form input:not([type="hidden"]):not(.honey-field),.contact-popup-form textarea{width:100%;border:2px solid #d7dce4;border-radius:16px;background:#fff;padding:13px 14px;font-size:16px;color:#24130c;box-shadow:inset 0 1px 0 #ffffff}
.contact-popup-form textarea{height:124px;resize:vertical}
.contact-popup-form .btn{margin-top:16px;width:100%;border:0;border-radius:22px;padding:15px 18px;font-size:17px;font-weight:800;box-shadow:inset 0 1px 0 #ffd29c,0 4px 10px #a7490928}
.contact-popup-form button:disabled,.form button:disabled{opacity:.65;cursor:wait}
#contact-form .btn{margin-top:8px}
@media(max-width:600px){.contact-widget{right:10px;bottom:10px}.contact-popup{right:0;bottom:60px;width:min(390px,calc(100vw - 16px));max-height:calc(100dvh - 86px);border-radius:24px}.contact-popup-body{padding:12px 12px 15px}.contact-launcher{font-size:14px;padding:12px 15px}}

/* Page dons de nourriture : photos, responsive, mise en page en vrai HTML */
.food-hero{background:radial-gradient(circle at 72% 42%,#77300e 0%,transparent 44%),linear-gradient(120deg,#110b08,#25130b 63%,#120a06);color:white;overflow:hidden}
.food-hero-inner{max-width:1170px;margin:auto;display:grid;grid-template-columns:1.2fr .8fr;gap:36px;align-items:center;padding:55px 24px}
.food-hero h1{font:italic 700 clamp(38px,5vw,68px)/1.07 Georgia,serif;margin:12px 0 20px;color:#fff7e7}
.food-hero h1 span{color:#ff8b24}.food-eyebrow{color:#ffc281;font-size:14px;text-transform:uppercase;letter-spacing:1.5px;font-weight:bold}
.food-hero-copy>p:not(.food-eyebrow){font-size:18px;line-height:1.65;max-width:680px}.food-hero .food-small{font-size:13px!important;color:#fbd2b2;margin-top:16px}
.food-hero img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:30px;border:4px solid #ff9a37;box-shadow:0 20px 45px #0008}
.food-section{background:#fff2e2}.food-section .wrap{padding-top:54px;padding-bottom:55px}.food-kicker{color:#bb4c00;font-weight:800;text-transform:uppercase;font-size:14px;letter-spacing:1px}.food-intro{font-size:18px;line-height:1.6;max-width:830px}.food-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:27px}
.food-card{background:#fffaf4;border:1px solid #ebc9aa;border-radius:24px;overflow:hidden;box-shadow:0 9px 25px #4b200b20}.food-photo{background:#f3e4d9;aspect-ratio:1.35;overflow:hidden}.food-photo img{width:100%;height:100%;object-fit:cover;object-position:center 32%;display:block}.food-card-content{padding:21px 22px 25px}.food-card h3{margin:0 0 10px;color:#8a310a;font-size:23px}.food-card p{margin:0;font-size:16px;line-height:1.65}.food-illustration-note{color:#6b5347;font-size:13px;margin-top:17px}
.food-how{background:#24140d;color:#fff4e7}.food-how-layout{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center}.food-how h2{font:italic 700 clamp(30px,3.5vw,45px)/1.12 Georgia,serif;margin:10px 0 20px}.food-how p{line-height:1.7}.food-how .food-kicker{color:#ffb16b}.food-info{background:#fff5e8;color:#341c0e;padding:26px;border-radius:22px;border-left:6px solid #ff7900}.food-info h3{margin:0 0 15px;font-size:25px;color:#80310d}.food-info p{margin:10px 0}.food-thanks{background:linear-gradient(#ff9b37,#f16a0b);font:italic 700 clamp(30px,4vw,47px) Georgia,serif;color:#fff;text-align:center;padding:32px 15px}.food-thanks span{color:#fff5db}
@media(max-width:800px){.food-hero-inner{grid-template-columns:1fr}.food-hero img{max-width:420px}.food-how-layout{grid-template-columns:1fr}.food-grid{gap:12px}.food-card-content{padding:16px}.food-card h3{font-size:19px}}
@media(max-width:600px){.food-hero-inner{padding:33px 18px;gap:24px}.food-hero h1{font-size:40px}.food-hero-copy>p:not(.food-eyebrow){font-size:16px}.food-hero img{max-width:100%;aspect-ratio:1.55}.food-grid{grid-template-columns:1fr;gap:20px}.food-photo{aspect-ratio:1.6}.food-section .wrap{padding-top:35px;padding-bottom:35px}.food-card-content{padding:18px}.food-how-layout{gap:24px}.food-info{padding:20px}}
