/* Édition V1.5 : identité éditoriale douce + expérience de contribution claire.
   Aucun CDN, aucune police ni image externe, compatible avec l'hébergement local. */
:root {
  --accent:#395b4b;--accent-hover:#284d3a;--accent-soft:#e8f0e6;
  --warm:#be816c;--warm-soft:#fbe9e0;--canvas:#fffbf7;
  --ink:#233b32;--muted:#6a786e;--hairline:#e8e8e0;
  --elevated:0 24px 70px rgba(54,65,49,.10),0 3px 11px rgba(54,65,49,.04);
  --soft-shadow:0 15px 35px rgba(54,65,49,.07);
  --ease:cubic-bezier(.2,.8,.2,1)
}
body {background:var(--canvas);color:var(--ink);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased}
body.theme-bleu {--accent:#345e7d;--accent-hover:#234762;--accent-soft:#e5f0f8;--warm:#7295ae;--warm-soft:#e7f1fa}
body.theme-rose {--accent:#775069;--accent-hover:#613d57;--accent-soft:#f6eaf1;--warm:#c07a96;--warm-soft:#faedf3}
body.theme-soleil {--accent:#695630;--accent-hover:#514022;--accent-soft:#f5ebd5;--warm:#b48a47;--warm-soft:#fff3df}
::selection{background:#e3baa4;color:#253c32}
button,input,textarea,select{accent-color:var(--accent)}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible {outline:3px solid #b66f4a;outline-offset:3px}
.shell{width:min(1216px,calc(100% - 72px))}
.site-header{position:sticky;top:0;z-index:30;background:rgba(255,252,248,.94);border-bottom:1px solid rgba(219,215,205,.85);box-shadow:0 3px 22px rgba(52,64,51,.026);backdrop-filter:blur(20px)}
.nav-shell{height:80px}
.brand{font-size:24px;letter-spacing:-1.05px;gap:13px}
.brand-symbol{width:38px;height:38px;background:var(--accent-soft);color:var(--accent);font-size:26px;box-shadow:inset 0 0 0 1px #ffffffbb}
.nav-shell nav{gap:26px;align-items:center}
.nav-shell nav a{padding:12px 0;color:#526358;position:relative;font-size:13px;transition:color .2s var(--ease)}
.nav-shell nav a:after{content:"";position:absolute;left:0;right:0;bottom:7px;height:2px;border-radius:2px;transform:scaleX(0);transform-origin:left;background:var(--warm);transition:transform .2s var(--ease)}
.nav-shell nav a:hover{color:var(--accent)}.nav-shell nav a:hover:after{transform:scaleX(1)}
.eyebrow{color:var(--warm);font-size:11px;letter-spacing:2.2px;font-weight:850}
.eyebrow-green{color:var(--accent)}
.button{border-radius:14px;min-height:46px;padding:13px 19px;letter-spacing:.005em;font-weight:800;box-shadow:0 3px 2px rgba(0,0,0,.015);transition:background .2s var(--ease),transform .22s var(--ease),box-shadow .2s var(--ease),border-color .2s var(--ease)}
.button-dark,.theme-bleu .button-dark,.theme-rose .button-dark,.theme-soleil .button-dark{color:#fff;background:var(--accent);border-color:var(--accent);box-shadow:0 9px 24px color-mix(in srgb,var(--accent) 20%,transparent)}
.button-dark:hover,.theme-bleu .button-dark:hover,.theme-rose .button-dark:hover,.theme-soleil .button-dark:hover{background:var(--accent-hover);border-color:var(--accent-hover);transform:translateY(-2px);box-shadow:0 13px 30px color-mix(in srgb,var(--accent) 25%,transparent)}
.button-outline{background:#fff;color:var(--accent);border-color:#dce4da}
.button-outline:hover{background:var(--accent-soft);border-color:#bfd2c0}
.button:active{transform:translateY(0) scale(.985)!important}
.hero,.theme-bleu .hero,.theme-rose .hero,.theme-soleil .hero{background:radial-gradient(ellipse at 78% 40%,var(--warm-soft) 0%,transparent 42%),linear-gradient(110deg,#fffaf5 5%,#fff7f1 55%,#fff3ed 100%);position:relative}
.hero:before{content:"";position:absolute;width:520px;height:520px;left:-290px;bottom:-350px;border:1px solid #eecfc0;border-radius:50%;pointer-events:none;box-shadow:0 0 0 70px #f9e7df30,0 0 0 140px #f9e7df24}
.hero-grid{min-height:630px;padding:76px 0 99px;gap:42px;grid-template-columns:1.05fr .95fr}
.hero-copy h1{font-size:clamp(53px,6.1vw,89px);letter-spacing:-.057em;line-height:1.015;margin:22px 0 28px;max-width:700px;color:var(--ink);text-wrap:balance}
.hero-intro{font-size:17px;line-height:1.78;max-width:530px;color:#59675d}
.hero-cta{margin:19px 0 21px;padding:18px 23px;font-size:14px;border-radius:15px;min-width:213px}
.hero-cta>span{font-size:19px;font-weight:400;margin-left:8px}
.hero-proof{font-size:13px;color:#737b73;gap:10px}
.proof-star{color:var(--warm)}
.hero-benefits{margin-top:25px;display:flex;flex-wrap:wrap;gap:10px}
.hero-benefits span{border:1px solid #e9ded3;background:rgba(255,255,255,.75);border-radius:50px;padding:7px 13px;color:#5b7162;font-size:12px;font-weight:730;box-shadow:0 4px 12px rgba(88,76,64,.035)}
.hero-visual{height:520px;isolation:isolate}
.hero-glow{width:490px;height:490px;background:radial-gradient(circle at 42% 34%,#f9dccc,#eedbcf);filter:none;opacity:.63;box-shadow:0 0 0 12px #ffffff55,0 28px 50px #aa7e6344}
.hero-illustration{width:min(430px,92%);height:520px;object-fit:cover;border-radius:34px;border:8px solid rgba(255,255,255,.88);filter:drop-shadow(0 20px 17px #ad947432);transition:transform .7s var(--ease)}
.hero-visual:hover .hero-illustration{transform:translateY(-6px) rotate(.5deg)}
.floating-note{display:flex;align-items:center;gap:10px;bottom:55px;right:-8px;padding:16px 22px;border-radius:15px;border:1px solid #fff;background:#fffdfa;box-shadow:var(--elevated);transform:rotate(-5deg)}
.floating-note>span:first-child{margin:0;font-size:31px;color:var(--warm)}
.floating-note-copy{display:flex;flex-direction:column;gap:2px}.floating-note-copy b{font:18px Georgia,serif;color:#4f594c}.floating-note-copy small{font:11px system-ui,sans-serif;letter-spacing:.02em;color:#8b867c}
.stats-section{margin-top:-48px}
.stats-panel{padding:27px 5px;border-radius:22px;box-shadow:var(--elevated);border:1px solid #f2ece6}
.stats-panel>div{justify-content:center;gap:5px}.stats-number{font-size:37px;line-height:1.08;color:var(--ink)}.stats-label{font-size:12px;color:#768078;font-weight:600}
.listing-section{padding:116px 0 125px}
.section-heading h2{font-size:clamp(42px,4.8vw,65px);line-height:1.06;margin:18px 0 19px;letter-spacing:-.055em}
.section-heading h2 em,.how-title h2 em{color:var(--warm)}
.section-heading p{font-size:16px;color:#6d786f;max-width:590px}
.sparkle-small{color:#b6cbb6;opacity:.7;transition:transform .6s var(--ease)}.section-heading:hover .sparkle-small{transform:rotate(40deg)}
.list-toolbar{margin:40px 0 25px;align-items:center;gap:14px}
.filters{gap:9px}
.filter-button{font-size:13px;font-weight:750;padding:10px 18px;min-height:43px;background:#fff;border-color:#e5e4dd;box-shadow:0 3px 9px rgba(55,55,48,.023);transition:all .18s var(--ease)}
.filter-button.selected,.filter-button.selected:hover,.theme-bleu .filter-button.selected,.theme-rose .filter-button.selected,.theme-soleil .filter-button.selected{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 7px 16px color-mix(in srgb,var(--accent) 18%,transparent)}
.filter-button:hover:not(.selected){background:var(--accent-soft);border-color:#c8d7c8;color:var(--accent)}
.search-field{border-radius:50px;height:44px;border-color:#e2e4db;box-shadow:0 3px 9px rgba(53,59,49,.03)}.search-field:focus-within{outline:2px solid #adc8b0;outline-offset:2px}
.gift-grid{gap:24px}
.gift-card{border-radius:23px;border:1px solid #ebe9e2;background:#fff;box-shadow:0 9px 27px rgba(50,60,48,.055);transform:translateZ(0);transition:transform .26s var(--ease),box-shadow .26s var(--ease),border-color .2s var(--ease)}
.gift-card:hover{transform:translateY(-7px);box-shadow:0 27px 52px rgba(42,53,42,.13);border-color:#dcded3}
.gift-card:focus-within{box-shadow:0 0 0 3px #c7d9c9,0 17px 34px rgba(55,66,50,.1)}
.card-photo-link{position:relative;overflow:hidden;display:block}
.item-illustration,.item-image{height:230px;overflow:hidden;transition:background .25s}
.item-illustration.type-cagnotte{background:#f2d9cd}.item-illustration.type-cadeau{background:#dae9dc}.item-illustration.type-envie{background:#dfe2f2}
.item-illustration img{height:100%;width:100%;object-fit:cover;display:block;transition:transform .5s var(--ease)}
.item-image img{transition:transform .55s var(--ease)}
.gift-card:hover .item-illustration img,.gift-card:hover .item-image img{transform:scale(1.045)}
.media-category{position:absolute;left:16px;top:16px;z-index:1;padding:8px 14px;border-radius:50px;background:#fffffff2;backdrop-filter:blur(10px);box-shadow:0 7px 14px #3e453819;color:#435c4a;text-transform:uppercase;font-size:10px;letter-spacing:1.2px;font-weight:850}
.card-content{padding:24px 25px 25px;gap:0}
.card-tags{min-height:23px}.card-tags .category-pill{font-size:10px;letter-spacing:1.25px;color:var(--warm)}
.done-pill{padding:6px 9px;background:#e9f4eb;color:#356447}
.card-content h3{font-size:27px;margin:9px 0 9px;min-height:1em;line-height:1.11;letter-spacing:-.047em;text-wrap:balance}
.card-content h3 a:hover{color:var(--warm)}
.card-desc{min-height:42px;font-size:13px;line-height:1.65;color:#728076;margin-bottom:0}
.card-progress{padding-top:19px;margin-bottom:3px}
.remaining-focus{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap;margin-bottom:13px}
.remaining-focus strong{font:normal 34px/1 Georgia,serif;color:var(--accent);letter-spacing:-1px}
.remaining-focus span{font-size:12px;color:#6a756d;font-weight:650}
.progress-head{font-size:11px;color:#768174;margin-bottom:10px}.progress-head b{font-size:12px;color:#4b6550}
.card-progress progress,.detail-progress progress{height:10px;background:#edf0eb}
.card-progress progress::-webkit-progress-value,.detail-progress progress::-webkit-progress-value{background:linear-gradient(90deg,#9dbba4,var(--accent))}
.card-progress progress::-moz-progress-bar,.detail-progress progress::-moz-progress-bar{background:var(--accent)}
.progress-foot{margin-top:10px;font-size:11px;gap:5px}.progress-foot span:last-child{color:#718077}.progress-foot b{color:#5c6e5d}
.amount-line strong{color:var(--accent);font-size:34px}
.unlimited-track span{height:9px;background:#bfd4c2}.unlimited-track span:nth-child(even){background:#dfebdc}
.participants{margin:17px 0 17px;border-top:1px dashed #e6e9e3;padding-top:15px;min-height:56px}
.participants-label{font-size:11px;letter-spacing:.02em;color:#637768;margin-bottom:9px}
.participant-chip{padding:4px 9px 4px 4px;background:#f3f7f2;border-color:#e1eae0;color:#506451;font-size:11px;gap:6px;box-shadow:0 2px 5px #3d4b3b06}
.participant-avatar{width:20px;height:20px;flex:0 0 20px;display:grid;place-items:center;background:#dae9d9;border-radius:50%;font-size:10px;font-weight:850;color:#46684e}
.card-content .button{padding:16px 17px;border-radius:14px;font-size:13px;margin-top:auto;min-height:50px}
.card-content .button span{display:grid;place-items:center;background:#ffffff20;border-radius:50%;height:26px;width:26px;font-size:16px;transition:transform .2s var(--ease)}
.card-content .button:hover span{transform:translate(2px,-2px)}
.how-section{background:#eaf1e8;padding:104px 0 80px}.how-section:before{opacity:.38}.how-title h2{font-size:clamp(42px,4.4vw,60px)}
.how-grid{gap:20px}.how-grid>div{border:1px solid #d5e2d4;padding:27px 25px;background:#ffffff73;border-radius:19px;box-shadow:0 7px 17px #4660440a}
.how-index{font-size:25px;color:var(--warm)}.how-grid h3{font-size:28px;margin:13px 0 9px}.how-grid p{font-size:14px;color:#617368}
.how-notice{font-size:13px;color:#5e6b61;line-height:1.8}
.site-footer{background:#fffbf7;border-top:1px solid #eee8df}.footer-inner{min-height:77px}
/* Product/detail conversion without confusing a promise with an actual transfer. */
.detail-page{padding:51px 0 108px}.detail-grid{gap:55px}.item-image-large{height:455px;border-radius:24px}
.detail-left .detail-story{padding-top:35px}.detail-story h1{font-size:clamp(42px,4vw,62px);letter-spacing:-.055em;text-wrap:balance}
.detail-progress{background:#fff;border:1px solid #ebeae3;border-radius:19px;padding:26px;box-shadow:var(--soft-shadow)}
.detail-progress .remaining-focus strong{font-size:43px}
.contribute-panel{border:1px solid #e8e9e1;border-radius:24px;background:#fff;box-shadow:var(--elevated);padding:30px;align-self:start;position:sticky;top:104px}
.panel-top h2{font-size:clamp(28px,2.8vw,39px);line-height:1.12;letter-spacing:-.04em}
.contribute-panel .field-label{font-size:13px;color:#405746}
.contribute-panel .text-field,.admin-editor .text-field,.text-field{border:1px solid #dfe4db;border-radius:12px;min-height:47px;transition:box-shadow .18s,border-color .18s;background:#fff}
.contribute-panel .text-field:focus,.admin-editor .text-field:focus,.text-field:focus{border-color:#8fb29a;box-shadow:0 0 0 4px #c4dcc55c}
.amount-presets button{border-radius:9px;transition:all .18s}
.amount-presets button:hover{background:var(--accent-soft);color:var(--accent);border-color:#b8d2b8}
.pay-choice{border-radius:13px;transition:all .16s}.pay-choice:has(input:checked){background:var(--accent-soft);border-color:#95b39a}
.submit-button{min-height:54px;font-size:14px}
.purchase-box{background:#f6faf5;border-radius:18px;padding:24px}
.auth-card{box-shadow:var(--elevated);border-radius:24px;padding:43px}
/* Administration – rassurante, visuelle, très facile à manipuler. */
.is-admin{background:#f7f8f4}
.is-admin .site-header{background:rgba(255,255,252,.95)}
.admin-page{padding:48px 0 85px}
.admin-head{align-items:flex-start;margin-bottom:13px}
.admin-page h1{font-size:clamp(38px,4.25vw,56px);letter-spacing:-.055em;margin:12px 0 10px;line-height:1.08}
.admin-head-subtitle{color:#6c796d;font-size:14px;margin:0 0 12px}
.admin-head>form{padding-top:33px}
.admin-commandbar{display:flex;align-items:center;justify-content:space-between;gap:26px;padding:29px 34px;border-radius:23px;background:radial-gradient(circle at 91% 16%,#fffbf56b 0%,transparent 36%),linear-gradient(106deg,#e7f0e4 3%,#f5eee4 100%);border:1px solid #e0e9dc;margin:22px 0 22px;box-shadow:0 9px 23px #51654c0b}
.admin-commandbar h2{font-size:32px;letter-spacing:-.04em;margin:9px 0 7px}.admin-commandbar p{font-size:13px;color:#63766a;margin:0}
.admin-command-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.admin-command-actions .button{white-space:nowrap}
.admin-stats{gap:17px;margin-bottom:19px}
.admin-stats>div{border-radius:19px;border:1px solid #e4e9df;padding:23px 25px;gap:6px;box-shadow:0 6px 17px #4555400a;min-width:0}
.admin-stats .admin-stat-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#eaf3e9;color:var(--accent);font-family:Georgia,serif;font-size:21px;margin-bottom:8px}
.admin-stats>div:nth-child(2) .admin-stat-icon{background:#fff0e7;color:#aa745c}
.admin-stats>div:nth-child(3) .admin-stat-icon{background:#ecf1f9;color:#5c789b}
.admin-stats b{font:normal 35px/1 Georgia,serif;letter-spacing:-1.3px;color:#2b4435}
.admin-stats span:not(.admin-stat-icon){font-size:12px;font-weight:600;color:#78867b}
.admin-start{background:#fff;border:1px solid #e4eae1;box-shadow:0 6px 20px rgba(44,57,39,.04);margin:0 0 27px;padding:16px 19px;gap:13px 25px;border-radius:16px}
.admin-start>b{flex-basis:100%;font-size:13px;color:#314e3e}
.admin-start>span{display:flex;align-items:center;gap:7px;font-size:12px;color:#607362}
.admin-start>span i{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:#e8f0e5;color:#3e6647;font-style:normal;font-weight:900}
.admin-start strong{color:#385842}
.admin-panel{border:1px solid #e7ebe3;border-radius:23px;padding:29px 31px;margin-bottom:22px;box-shadow:0 9px 27px rgba(53,67,49,.047)}
.admin-section-head{margin-bottom:23px}
.admin-section-head h2{font-size:32px;letter-spacing:-.045em}
.admin-filter .text-field{background:#fbfcfa;border-radius:12px;min-height:47px}
.sort-help{margin:12px 0 21px;color:#758377;font-size:12px}
.sort-list{gap:11px}
.sort-row{border:1px solid #e6ebe3;border-radius:16px;padding:12px 14px;gap:15px;background:#fdfefc;box-shadow:0 3px 9px rgba(55,65,49,.025);transition:border-color .2s,transform .2s,box-shadow .2s}
.sort-row:hover{background:#fff;border-color:#c7d9c8;transform:translateY(-1px);box-shadow:0 9px 20px #45544011}
.sort-row.is-dragging{opacity:.7;border-color:var(--accent)}
.sort-preview{width:68px;height:64px;flex-basis:68px;border-radius:12px;background:var(--warm-soft)}
.sort-copy b{font-size:15px;color:#2b4838}.sort-copy small{font-size:12px;color:#829083}
.sort-edit{font-size:12px;color:var(--accent)!important;text-decoration:none!important;font-weight:750}
.sort-edit:hover{text-decoration:underline!important}
.sort-actions{gap:10px}
.sort-actions button:not(.sort-edit){border-radius:10px;width:37px;height:37px}
.quick-editor{margin-left:78px}.quick-editor summary{color:var(--accent);font-size:12px}.quick-editor form{border:1px solid #e1e9df;background:#f6faf5;padding:17px;border-radius:12px}
.share-panel{border:1px solid #dcead9;border-radius:18px;background:#eaf3e8;padding:22px 25px}
.admin-actions{background:#fff;border-radius:17px;border:1px solid #e8ece6;padding:19px 22px;gap:10px 18px}
.admin-actions a{color:var(--accent);font-size:12px;transition:color .2s}
.admin-actions a:hover{color:var(--warm);text-decoration:underline}
.admin-editor{padding:35px 39px}.admin-narrow{max-width:780px}
.admin-editor .field-label{font-size:13px;color:#425849}.editor-lead{font-size:15px;color:#6b796f}
.admin-editor>.button{min-width:210px;min-height:52px}
.editor-advanced{border-radius:15px;background:#f8faf6}
.notice{border-radius:15px}
/* Device adaptions & readable controls. */
@media (max-width:1090px){
 .hero-grid{grid-template-columns:1fr .9fr;gap:8px;min-height:520px}.hero-visual{height:420px}
 .hero-copy h1{font-size:clamp(48px,6vw,68px)}.hero-glow{max-width:96%;max-height:95%}
 .admin-commandbar{flex-wrap:wrap}.admin-command-actions{width:100%}
}
@media (max-width:810px){
 .gift-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .hero-grid{grid-template-columns:1fr 1fr;gap:12px}.hero-visual{height:380px}.hero-copy h1{font-size:53px}
 .hero-intro{font-size:15px}.hero-benefits{margin-top:17px}
 .admin-commandbar h2{font-size:29px}.admin-stats>div{padding:17px}
 .how-grid{gap:12px}.how-grid>div{padding:20px 16px}
}
@media (max-width:650px){
 .shell{width:min(100% - 34px,480px)}.site-header{position:relative}
 .nav-shell{height:70px}.brand{font-size:19px;gap:8px}.brand-symbol{width:31px;height:31px;font-size:20px}
 .nav-shell nav{gap:14px}.nav-shell nav a{font-size:12px}
 .hero-grid{min-height:0;padding:51px 0 77px;display:flex;gap:4px}
 .hero-copy h1{font-size:clamp(48px,10.5vw,67px);line-height:1.04;margin:17px 0 23px}
 .hero-intro{font-size:15px;line-height:1.75}.hero-cta{width:100%;justify-content:space-between;margin:14px 0 15px}
 .hero-proof{font-size:11px}.hero-benefits{gap:7px;margin-top:17px}.hero-benefits span{font-size:11px;padding:6px 10px}
 .hero-visual{height:auto;min-height:0;margin:9px auto 0;padding:8px 0 22px;width:100%}.hero-glow{width:265px;height:265px}.hero-illustration{display:block;width:min(250px,72vw);height:auto;max-height:none;aspect-ratio:auto;object-fit:contain}
 .floating-note{right:-3px;bottom:4px;padding:9px 13px}.floating-note-copy b{font-size:13px}.floating-note-copy small{font-size:9px}.floating-note>span:first-child{font-size:21px}
 .stats-section{margin-top:-25px}.stats-panel{padding:18px 6px;border-radius:17px;gap:0}
 .stats-panel>div{padding:3px}.stats-number{font-size:24px}.stats-label{font-size:10px;text-align:center;line-height:1.4}
 .listing-section{padding:74px 0 84px}.section-heading h2{font-size:44px;line-height:1.07}.section-heading p{font-size:14px}
 .sparkle-small{display:none}.list-toolbar{flex-direction:column;align-items:stretch;gap:14px;margin:29px 0 21px}
 .filters{display:flex;flex-wrap:nowrap;overflow-x:auto;padding:2px 0 6px;scrollbar-width:thin;gap:6px}
 .filter-button{white-space:nowrap;padding:10px 13px;flex:none;font-size:11px}
 .search-field{width:100%}.search-field input{width:100%;min-width:0}
 .gift-grid{grid-template-columns:1fr;gap:20px}.item-illustration,.item-image{height:238px}
 .card-content{padding:24px}.card-content h3{font-size:29px}.card-desc{min-height:0}
 .remaining-focus strong,.amount-line strong{font-size:34px}
 .how-section{padding:75px 0 65px}.how-title h2{font-size:43px}.how-grid{display:grid;grid-template-columns:1fr;gap:12px}.how-grid>div{padding:20px 23px}
 .how-grid h3{margin:6px 0}.how-index{font-size:22px}
 .site-footer{padding:18px 0}.footer-inner{gap:9px;flex-wrap:wrap}
 .detail-page{padding:29px 0 75px}.detail-grid{display:flex;flex-direction:column;gap:20px}.item-image-large{height:275px}
 .detail-progress{padding:20px}.contribute-panel{padding:24px 19px;position:static;border-radius:20px}
 .admin-page{padding:32px 0 75px}.admin-page h1{font-size:40px;margin:10px 0 9px}.admin-head{flex-wrap:wrap;gap:5px}
 .admin-head>form{padding:0;margin-bottom:7px}.admin-head-subtitle{font-size:13px}
 .admin-commandbar{padding:24px 19px;margin:17px 0}.admin-commandbar h2{font-size:28px}.admin-commandbar p{font-size:12px}
 .admin-command-actions{gap:8px}.admin-command-actions .button{justify-content:center;flex:1;font-size:11px;padding:12px 10px;min-width:120px}
 .admin-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .admin-stats>div{padding:17px 16px;gap:4px}.admin-stats>div:last-child{grid-column:1/-1}
 .admin-stats .admin-stat-icon{width:29px;height:29px;margin-bottom:4px}.admin-stats b{font-size:30px}
 .admin-start{gap:11px;padding:17px 18px}.admin-start>b{margin-bottom:2px}.admin-start>span{width:100%}
 .admin-panel{padding:21px 16px;border-radius:19px}.admin-section-head{align-items:stretch;flex-wrap:wrap;gap:12px}
 .admin-section-head h2{font-size:28px}.admin-section-head .button{width:100%;justify-content:space-between}
 .admin-filter{gap:8px}.admin-filter .text-field,.admin-filter select{width:100%}
 .sort-row{display:grid;grid-template-columns:16px 47px minmax(0,1fr);gap:7px 9px;padding:11px}
 .sort-row .sort-preview{width:47px;min-width:47px;height:50px;flex-basis:47px}
 .sort-row .sort-copy b{font-size:13px}.sort-row .sort-copy small{font-size:11px}
 .sort-row .sort-actions{grid-column:1/-1;grid-row:2;gap:8px}.sort-actions button:not(.sort-edit){width:34px;height:32px}
 .quick-editor{grid-column:1/-1;grid-row:3;margin:0}.quick-editor form{padding:12px}
 .share-panel{padding:18px}.admin-actions{padding:17px;gap:13px}
 .admin-editor{padding:24px 18px}.admin-editor>.button{width:100%;justify-content:space-between}
}
@media (prefers-reduced-motion:reduce){
 *,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* Les contributions récentes deviennent des cartes lisibles sur téléphone. */
@media(max-width:650px){
  .recent-contributions .table-wrap{overflow:visible}
  .recent-contributions table{min-width:0;display:block}
  .recent-contributions thead{display:none}
  .recent-contributions tbody{display:grid;gap:10px}
  .recent-contributions tr{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:5px 12px;padding:14px 13px;background:#f8faf7;border:1px solid #e8ede5;border-radius:12px}
  .recent-contributions td{display:block;padding:0;border:0;max-width:100%}
  .recent-contributions td:first-child{flex-basis:100%}
  .recent-contributions td:last-child{margin-left:auto}
}

/* V1.6 — promesses de dons sans relance ni statut bancaire imposé */
.payment-row {overflow-wrap:anywhere;}
.payment-row .mono {user-select:all;}
.pay-choice:has(input:checked){outline:2px solid var(--ink,#23352a);outline-offset:2px;}
.status-form {display:inline-flex;align-items:center;gap:.5rem;flex-wrap:wrap;}
@media (max-width:700px){.payment-row{align-items:flex-start;flex-direction:column;gap:.35rem}.admin-start{gap:.7rem}.status-form{display:flex;margin:.4rem 0;}}

/* V1.20 : retour visible immédiatement après saisie de la participation */
.participation-preview{margin:11px 0 18px;padding:15px 17px;background:#eef5eb;border:1px solid #cce0c6;border-radius:13px;color:#2e5437;font-size:14px;line-height:1.55;font-weight:700}
#participation-error:not([hidden]){display:block;margin:14px 0;padding:12px 15px;border:1px solid #dbaa94;background:#fff3ed;color:#8b3a28;border-radius:12px;line-height:1.5;font-weight:700}
.contribute-form .submit-button{margin-top:10px;white-space:normal;text-align:left}
@media (max-width:650px){.participation-preview{font-size:13px;padding:13px 14px}.contribute-form .submit-button{justify-content:center;text-align:center}}


/* V1.21 — photo mobile plein écran, sans carte marketing. */
@media(max-width:650px){
  .hero-grid{align-items:stretch;padding-bottom:40px}
  .hero-visual{display:block;width:100vw;max-width:none;height:auto;min-height:0;
    margin:23px calc(50% - 50vw) 0;padding:0;overflow:hidden;border:0;isolation:auto}
  .hero-illustration{display:block;position:static;box-sizing:border-box;width:100%;max-width:none;
    height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;object-position:center;
    margin:0;border:0;border-radius:0;filter:none;box-shadow:none;transform:none}
  .hero-visual:hover .hero-illustration{transform:none}
  .hero-glow,.floating-note{display:none}
  .stats-section{margin-top:0}
}

/* V1.21 — administration des contributions sans défilement horizontal. */
.contributions-admin,.recent-contributions{min-width:0}
.contributions-heading{font:normal clamp(24px,3vw,32px)/1.2 Georgia,serif;margin:26px 0 18px;color:var(--ink)}
.contributions-heading span{font:600 15px/1.2 system-ui,sans-serif;color:#809081}
.contribution-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:16px;width:100%;min-width:0}
.contribution-card{display:flex;flex-direction:column;gap:14px;min-width:0;max-width:100%;padding:19px;background:#fff;border:1px solid #e4e9df;border-radius:19px;box-shadow:0 9px 22px #2a473008}
.contribution-card-cancelled{background:#faf9f6}
.contribution-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:13px;min-width:0}
.contribution-card-person{display:flex;gap:10px;align-items:center;min-width:0;flex:1}
.contribution-avatar{display:grid;place-items:center;flex:0 0 40px;height:40px;border-radius:13px;background:#ecf3e9;color:#55745e;font:bold 19px Georgia,serif}
.contribution-card-name{min-width:0;display:flex;flex-direction:column;gap:3px;overflow-wrap:anywhere}
.contribution-card-name strong{font-size:15px;line-height:1.3;color:#243e31}
.contribution-card-name span{font-size:13px;line-height:1.4;color:#667668}
.contribution-card-amount{max-width:48%;display:flex;flex-direction:column;align-items:flex-end;gap:6px;text-align:right;flex-shrink:0}
.contribution-card-amount strong{font:normal 22px/1.2 Georgia,serif;color:#355743}
.contribution-card-amount small{background:#f0f5ed;color:#59735c;border-radius:100px;padding:5px 9px;line-height:1.35;font-size:11px;font-weight:700}
.contribution-detail-email{font-size:12px;overflow-wrap:anywhere;color:#798577}
.contribution-card-actions{display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px;padding-top:13px;border-top:1px solid #eaece7;margin-top:auto}
.contribution-cancel{flex:1 1 170px;min-width:0}
.contribution-cancel>summary{display:flex;justify-content:center;align-items:center;padding:10px 13px;min-height:46px;border-radius:12px;border:1px solid #e9cfc9;background:#fff1ed;color:#96463d;cursor:pointer;font-size:13px;font-weight:800;list-style:none;text-align:center}
.contribution-cancel>summary::-webkit-details-marker{display:none}
.contribution-cancel>summary:hover,.contribution-cancel>summary:focus-visible{background:#ffe6e0}
.contribution-confirmation{margin-top:10px;padding:13px;border-radius:11px;border:1px solid #edcec4;background:#fff8f5;color:#68483e}
.contribution-confirmation p{font-size:13px;line-height:1.55;margin:0 0 12px;overflow-wrap:anywhere}
.contribution-confirmation form{margin:0}
.contribution-confirm-button{width:100%;min-height:44px;padding:10px 13px;border:0;border-radius:9px;color:#fff;background:#9d4b40;font-weight:800;font-size:13px;cursor:pointer}
.contribution-confirm-button:hover{background:#7e352c}
.contribution-edit{display:inline-flex;min-height:46px;align-items:center;justify-content:center;padding:10px 15px;border:1px solid #dae5d9;border-radius:11px;color:#395d48;background:#fff;font-size:13px;font-weight:800;text-decoration:none}
.contribution-edit:hover{background:#f2f7f0}
.contribution-restore{margin:0;flex:1}
.contribution-restore-button{min-height:46px;border-radius:11px;border:1px solid #bed6bf;background:#e6f2e5;color:#365b3d;font-weight:800;width:100%;cursor:pointer}
.contribution-more{width:100%;font-size:12px;color:#6a756c}
.contribution-more summary{cursor:pointer;text-decoration:underline;padding:6px 0;text-underline-offset:3px}
.contribution-more form{margin:10px 0}
.contribution-more button{background:none;border:0;color:#4c6854;padding:6px 0;text-decoration:underline;font-size:12px}
.contribution-more button.contribution-delete{color:#9b4c40}
.contributions-archived{margin-top:28px;padding:17px;border:1px solid #e2e8de;border-radius:15px}
.contributions-archived>summary{cursor:pointer;font-size:14px;font-weight:800}
.contributions-archived[open]>summary{margin-bottom:15px}
@media(max-width:650px){
  .contribution-cards{grid-template-columns:minmax(0,1fr)}
  .contribution-card{padding:16px}
  .contribution-card-head{flex-wrap:wrap}
  .contribution-card-amount{align-items:flex-start;text-align:left;max-width:100%;margin-left:50px;width:100%}
  .contribution-card-actions{flex-direction:column;align-items:stretch}
  .contribution-cancel,.contribution-edit,.contribution-restore{width:100%;flex:auto}
  .contribution-cancel>summary,.contribution-edit{width:100%;min-height:49px}
}
