*{box-sizing:border-box}html{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#f5f6f3;color:#1d251f}body{margin:0}.wrap{width:min(1120px,calc(100% - 32px));margin:auto}.site-header{background:#fff;border-bottom:1px solid #dde2dc;position:sticky;top:0;z-index:20}.header-inner{height:70px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font-size:1.45rem;font-weight:900;text-decoration:none;color:#153b26}.brand span{font-weight:500}nav{display:flex;align-items:center;gap:18px}nav a,.link-button{color:#294333;text-decoration:none;font:inherit}.inline{display:inline}.link-button{border:0;background:none;padding:0;cursor:pointer}.hero{margin:36px 0 26px;padding:42px;border-radius:22px;background:#173e29;color:#fff}.hero h1{font-size:clamp(2rem,5vw,3.8rem);max-width:800px;line-height:1.02;margin:8px 0 14px}.hero p{font-size:1.12rem;max-width:700px;color:#dfebe3}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:800}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px;margin-bottom:50px}.product-card{background:white;border:1px solid #dfe4de;border-radius:18px;overflow:hidden;text-decoration:none;color:inherit;box-shadow:0 2px 10px #00000008}.product-photo{aspect-ratio:4/3;background:#eaede8}.product-photo img{width:100%;height:100%;object-fit:cover}.no-photo{height:100%;display:grid;place-items:center;color:#6f776f}.no-photo.large{min-height:350px;background:#e9ece7;border-radius:18px}.product-card-body{padding:16px}.product-card h2{font-size:1.1rem;margin:10px 0 12px}.pill,.status{display:inline-block;padding:5px 9px;border-radius:999px;background:#edf2ec;font-size:.8rem;font-weight:700}.price{font-weight:900;font-size:1.3rem}.price.big{font-size:2.2rem;margin:12px 0 18px}.product-detail,.review-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:34px;margin:28px 0 50px}.gallery{display:grid;gap:12px}.gallery img{width:100%;border-radius:18px;display:block}.compact-gallery{grid-template-columns:repeat(2,1fr)}.product-info,.review-card{background:#fff;border:1px solid #dfe4de;border-radius:18px;padding:24px;align-self:start}.pickup,.warning{margin-top:22px;padding:16px;background:#edf4ef;border-radius:14px}.warning{background:#fff4df}.warning.compact{margin-top:8px;padding:8px 10px;font-size:.9rem}.back{display:inline-block;margin-top:24px;text-decoration:none;color:#355944}.site-footer{margin-top:60px;padding:28px 0;background:#e7ebe6;color:#415047}.auth-card,.form-shell{max-width:720px;margin:48px auto;background:#fff;border:1px solid #dfe4de;border-radius:20px;padding:28px}.auth-card{max-width:480px}.form-heading{margin-bottom:28px}form label{display:block;font-weight:700;margin:14px 0}input,select,textarea{width:100%;margin-top:7px;padding:13px 14px;border:1px solid #bfc8c0;border-radius:10px;font:inherit;background:#fff}input:focus,select:focus,textarea:focus{outline:3px solid #dbeadf;border-color:#467657}fieldset{border:0;border-top:1px solid #e3e7e2;margin:26px 0 0;padding:26px 0 0}legend{font-size:1.25rem;font-weight:850;padding-right:12px}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:14px}.checks{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.check{display:flex;align-items:center;gap:10px;padding:12px;background:#f4f6f3;border-radius:10px;margin:0}.check input{width:auto;margin:0}.hint,.muted{color:#667168;font-size:.92rem;font-weight:400}.button{display:inline-block;border:1px solid #c6cec7;background:#fff;color:#1f3929;padding:10px 14px;border-radius:10px;font-weight:800;text-decoration:none;cursor:pointer}.button.primary{background:#173e29;color:#fff;border-color:#173e29}.button.success{background:#1b6637;color:#fff;border-color:#1b6637}.button.danger{background:#8c2e2e;color:#fff;border-color:#8c2e2e}.button.wide{width:100%;text-align:center}.big-button{padding:15px;font-size:1.03rem}.flash{margin:20px 0;padding:14px 16px;border-radius:12px}.flash.success{background:#dff1e4}.flash.error{background:#f8dddd}.admin-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:32px 0 22px}.admin-head h1{margin:3px 0 0}.dashboard-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.action-card{min-height:170px;padding:22px;background:#fff;border:1px solid #dfe4de;border-radius:18px;text-decoration:none;color:inherit;display:flex;flex-direction:column;justify-content:end}.action-card.primary-card{background:#173e29;color:#fff}.action-card strong{font-size:1.25rem}.action-card small{margin-top:4px;opacity:.75}.action-icon{font-size:2rem;margin-bottom:auto}.list{display:grid;gap:10px}.list-row{background:#fff;border:1px solid #dfe4de;border-radius:14px;padding:16px 18px;display:flex;justify-content:space-between;align-items:center;gap:16px}.clickable{text-decoration:none;color:inherit}.row-actions{display:flex;align-items:center;gap:10px}.status.submitted{background:#fff0c6}.status.published{background:#dff1e4}.status.rejected{background:#f7dddd}.empty{padding:42px;text-align:center;background:#fff;border:1px dashed #c8d0c8;border-radius:18px}.reject-form{margin-top:28px;padding-top:20px;border-top:1px solid #e3e7e2}.users-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:28px;margin-top:26px}@media(max-width:760px){.wrap{width:min(100% - 20px,1120px)}.header-inner{height:auto;padding:14px 0;align-items:flex-start}.header-inner nav{flex-wrap:wrap;justify-content:flex-end}.hero{padding:26px 22px}.product-detail,.review-grid,.users-grid,.dashboard-grid{grid-template-columns:1fr}.two-cols,.checks{grid-template-columns:1fr}.list-row{align-items:flex-start;flex-direction:column}.row-actions{width:100%;justify-content:space-between;flex-wrap:wrap}.compact-gallery{grid-template-columns:1fr}.auth-card,.form-shell{margin:24px auto;padding:20px}}.footer-inner{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}.footer-links{display:flex;gap:14px;flex-wrap:wrap}.footer-links a{color:#415047}.buy-form{margin-top:22px}.checkout-layout{display:grid;grid-template-columns:1.3fr .7fr;gap:28px;margin:28px 0 50px}.checkout-card{position:sticky;top:90px}.cart-total{margin-top:14px;padding:18px;display:flex;justify-content:space-between;background:#173e29;color:#fff;border-radius:14px;font-size:1.25rem}.legal-check{margin:18px 0}.legal-check a{color:inherit}.center{text-align:center}.order-public{max-width:760px;margin:42px auto}.success-panel{padding:18px;background:#dff1e4;border-radius:14px;margin:18px 0}.order-summary{margin-top:22px}.summary-line{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid #e7ebe6}.summary-line.total{font-size:1.15rem;border-bottom:0;padding-top:16px}.settings-grid,.order-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:32px 0 50px}.info-card{padding:18px;background:#fff;border:1px solid #dfe4de;border-radius:14px}.info-card code{display:block;margin-top:10px;padding:10px;background:#f1f3f0;border-radius:8px;overflow-wrap:anywhere}.secondary-form{margin-top:12px}.order-actions{display:grid;gap:10px}.top-gap{margin-top:22px}.status.order-paid,.status.order-preparing{background:#e7eef8}.status.order-ready{background:#dff1e4}.status.order-collected{background:#e8e8e8}.status.order-payment_pending{background:#fff0c6}.status.order-payment_failed,.status.order-payment_expired,.status.order-payment_conflict{background:#f7dddd}.legal-page{max-width:820px;margin:42px auto;background:#fff;border:1px solid #dfe4de;border-radius:18px;padding:28px}.legal-page h2{margin-top:28px}@media(max-width:760px){.checkout-layout,.settings-grid,.order-admin-grid{grid-template-columns:1fr}.checkout-card{position:static}.footer-inner{flex-direction:column}.cart-row .row-actions{width:100%}}
.edit-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin:14px 0 20px}.edit-photo{margin:0;padding:10px;border:1px solid #dfe4de;border-radius:12px;background:#f7f8f6;font-weight:600}.edit-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px;display:block;margin-bottom:8px}.edit-photo span{display:flex;gap:8px;align-items:flex-start;font-size:.9rem}.edit-photo input{width:auto;margin:2px 0 0}@media(max-width:760px){.edit-photo-grid{grid-template-columns:repeat(2,1fr)}}.product-photo{position:relative}.availability-ribbon{position:absolute;left:14px;top:14px;padding:9px 13px;border-radius:999px;font-weight:900;box-shadow:0 4px 16px #0002}.sold-ribbon{background:#8d2727;color:#fff}.reserved-ribbon{background:#ffefbd;color:#59480c}.product-card.sold .product-photo img{filter:grayscale(.45);opacity:.72}.catalog-state{margin-top:10px;font-weight:800;color:#7a6517}.catalog-state.sold-text{color:#8d2727}.sold-panel{margin-bottom:18px;padding:18px;border-radius:14px;background:#8d2727;color:#fff;display:flex;flex-direction:column;gap:4px}.sold-panel strong{font-size:1.55rem}.button:disabled{opacity:.55;cursor:not-allowed}.pickup-rule{margin:18px 0;padding:15px 16px;background:#eef4ef;border-radius:12px}.pickup-rule p{margin:.4rem 0 0;line-height:1.45}.payment-shell{max-width:720px;margin:46px auto}.payment-shell>p{font-size:1.08rem;line-height:1.55}.sumup-pay{margin-top:20px}.success-panel{margin:20px 0;padding:18px;border-radius:14px;background:#dff1e4}.success-panel strong{font-size:1.15rem}.timeline{display:grid;gap:12px}.timeline-item{padding-left:14px;border-left:3px solid #d5ddd6}.cancel-box{margin-top:28px;padding-top:22px;border-top:1px solid #e3e7e2}.status.archived,.status.order-refunded{background:#e6e8e6}.status.sold{background:#f0d6d6;color:#6f2020}.status.reserved,.status.order-payment_pending{background:#fff0c6}.status.order-paid,.status.order-preparing,.status.order-ready,.status.order-collected{background:#dff1e4}.status.order-cancelled,.status.order-payment_failed,.status.order-payment_expired{background:#f7dddd}
/* v0.5 — identité de la structure */
.brand{display:flex;align-items:center;gap:12px}.brand span.brand-name{font-weight:900}.brand-logo{display:block;max-width:150px;max-height:52px;width:auto;height:auto;object-fit:contain}.identity-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px;align-items:start;margin:28px 0 55px}.identity-form{max-width:none;margin:0}.identity-summary{position:sticky;top:92px}.identity-summary-logo{display:block;max-width:220px;max-height:100px;width:auto;height:auto;object-fit:contain;margin:8px 0 20px}.logo-admin{display:grid;grid-template-columns:220px 1fr;gap:24px;align-items:start;margin-top:18px}.logo-preview{min-height:130px;margin-top:10px;border:1px dashed #c4ccc5;border-radius:14px;background:#f7f8f6;display:grid;place-items:center;padding:16px;color:#657068}.logo-preview img{display:block;max-width:100%;max-height:110px;width:auto;height:auto}.logo-controls label:first-child{margin-top:0}.number-with-unit{display:flex;align-items:center;gap:12px;margin-top:7px}.number-with-unit input{width:120px;margin:0}.number-with-unit span{font-weight:500;color:#56645b}.site-footer a{color:inherit}@media(max-width:840px){.identity-layout{grid-template-columns:1fr}.identity-summary{position:static}.logo-admin{grid-template-columns:1fr}.brand-logo{max-width:110px;max-height:42px}.brand-name{font-size:1.05rem}}

/* v0.6 — retrait sécurisé */
.pickup-card{border-color:#b9d5c1;background:#f4faf5}.order-steps{margin-top:12px}.button.step-done,.button.step-done:disabled{background:#1b6637;color:#fff;border-color:#1b6637;opacity:1;cursor:default}.button.step-future,.button.step-future:disabled{background:#eef0ed;color:#7b847e;border-color:#d9ded9;opacity:1;cursor:default}.pickup-code-admin{margin-top:6px;padding:18px;border-radius:14px;background:#eef4ef}.pickup-code-admin>strong{font-size:1.05rem}.pickup-validator{max-width:620px;margin:44px auto 60px}.pickup-validator>h1{font-size:clamp(2rem,5vw,3rem);margin:8px 0 12px}.pickup-validator>p{font-size:1.08rem;line-height:1.55}.pickup-validator-card{margin-top:24px}.pickup-code-input{text-align:center;font-size:2rem;font-weight:900;letter-spacing:.14em}.public-pickup-code{margin:18px 0;padding:18px;border-radius:14px;background:#17492f;color:#fff;text-align:center;display:grid;gap:5px}.public-pickup-code span{text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:800;color:#dcece2}.public-pickup-code strong{font-size:2rem;letter-spacing:.14em}.public-pickup-code small{color:#dcece2}

.accounting-box{margin:18px 0;padding:16px;background:#f4f6f3;border:1px solid #dfe4de;border-radius:14px}
.accounting-box .summary-line{font-size:.94rem}
.pickup-overdue{background:#fff0e8!important;border:1px solid #e7b49e}
.status.overdue{background:#ffe1d2;color:#7b2d13}

/* v0.8 — bilingue FR / EN */
.header-right{display:flex;align-items:center;gap:16px}.language-switch{display:flex;align-items:center;gap:6px;padding:4px;background:#f1f4f0;border:1px solid #dde4dd;border-radius:999px}.language-mini{display:flex;align-items:center;gap:5px;padding:6px 8px;border-radius:999px;text-decoration:none;color:#294333;font-size:.78rem;font-weight:850;line-height:1}.language-mini.active{background:#173e29;color:#fff}.flag-emoji{font-size:1.12rem;line-height:1}.hero-with-language{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,360px);gap:28px;align-items:center}.home-language-card{background:#ffffff;color:#1d251f;border-radius:18px;padding:18px;border:1px solid #dfe4de;box-shadow:0 8px 28px #00000010}.home-language-title{font-size:.8rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px;color:#526157}.home-language-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.language-choice{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid #d8dfd8;border-radius:14px;text-decoration:none;color:#1d251f;background:#f8faf7}.language-choice.active{border-color:#173e29;box-shadow:inset 0 0 0 1px #173e29}.language-choice .big-flag{font-size:1.7rem}.language-choice span:last-child{display:flex;flex-direction:column;min-width:0}.language-choice strong{font-size:.95rem}.language-choice small{font-size:.72rem;color:#667168;margin-top:2px}.translation-box{margin:22px 0;padding:18px;border-radius:14px;background:#f2f6f1;border:1px solid #dce5dc}.translation-box h3{margin:0 0 6px;font-size:1.05rem}
@media(max-width:900px){.header-right{align-items:flex-end;flex-direction:column;gap:8px}.hero-with-language{grid-template-columns:1fr}.home-language-card{max-width:520px}}@media(max-width:620px){.header-inner{flex-direction:column}.header-right{width:100%;align-items:stretch}.header-right nav{justify-content:flex-start}.language-switch{align-self:flex-start}.home-language-actions{grid-template-columns:1fr}}

/* Personnalisation dynamique v0.9 */
html{font-family:var(--theme-font,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);background:var(--theme-background,#f5f6f3);color:var(--theme-text,#1d251f)}
body{background:var(--theme-background,#f5f6f3);color:var(--theme-text,#1d251f)}
.site-header,.product-card,.product-info,.review-card,.auth-card,.form-shell,.list-row,.action-card,.legal-page,.info-card{background:var(--theme-surface,#fff)}
.site-header,.product-card,.product-info,.review-card,.auth-card,.form-shell,.list-row,.action-card,.legal-page,.info-card,input,select,textarea{border-color:color-mix(in srgb,var(--theme-text,#1d251f) 16%,transparent)}
.brand,.brand:visited,.back,nav a,.link-button,.footer-links a{color:var(--theme-text,#1d251f)}
.hero,.button.primary,.action-card.primary-card,.cart-total{background:var(--theme-primary,#173e29);color:var(--theme-on-primary,#fff);border-color:var(--theme-primary,#173e29)}
.hero p{color:color-mix(in srgb,var(--theme-on-primary,#fff) 88%,transparent)}
input:focus,select:focus,textarea:focus{outline-color:var(--theme-accent,#dbeadf);border-color:var(--theme-primary,#173e29)}
.pickup,.success-panel{background:var(--theme-accent,#dbeadf);color:var(--theme-on-accent,#111)}
.site-footer{background:color-mix(in srgb,var(--theme-primary,#173e29) 10%,var(--theme-background,#f5f6f3));color:var(--theme-text,#1d251f)}
.product-card,.product-info,.review-card,.auth-card,.form-shell,.list-row,.action-card,.legal-page,.info-card,.hero,.pickup,.warning,.flash,.button,input,select,textarea,.logo-preview,.empty{border-radius:var(--theme-radius,18px)}
.button{color:var(--theme-text,#1d251f);background:var(--theme-surface,#fff)}
.button.primary{color:var(--theme-on-primary,#fff);background:var(--theme-primary,#173e29)}
.theme-color-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.color-control{display:flex;align-items:center;gap:12px;margin-top:7px}.color-control input[type=color]{width:64px;height:46px;padding:3px;margin:0;cursor:pointer}.color-control code{padding:8px 10px;background:var(--theme-background,#f5f6f3);border-radius:8px}.theme-preview-swatch{padding:14px;margin:12px 0;border-radius:var(--theme-radius,18px);font-weight:800}.primary-swatch{background:var(--theme-primary,#173e29);color:var(--theme-on-primary,#fff)}.accent-swatch{background:var(--theme-accent,#dbeadf);color:var(--theme-on-accent,#111)}
@media(max-width:760px){.theme-color-grid{grid-template-columns:1fr}}

/* v0.10 — éditeur visuel d’apparence */
.appearance-page{margin:24px 0 60px}.appearance-heading{margin:12px 0 24px}.appearance-heading h1{font-size:clamp(2rem,4vw,3rem);margin:5px 0 8px}.appearance-heading p{max-width:780px;color:#5f6b63;line-height:1.5}.appearance-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,430px);gap:26px;align-items:start}.appearance-controls{display:grid;gap:18px}.appearance-section{background:var(--theme-surface,#fff);border:1px solid color-mix(in srgb,var(--theme-text,#1d251f) 14%,transparent);border-radius:calc(var(--theme-radius,18px) + 2px);padding:22px}.appearance-section-title{display:flex;gap:14px;align-items:flex-start;margin-bottom:18px}.appearance-section-title h2{margin:0;font-size:1.2rem}.appearance-section-title p{margin:4px 0 0;color:#667168;font-size:.92rem}.appearance-step{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:var(--theme-primary,#173e29);color:var(--theme-on-primary,#fff);font-weight:900;flex:0 0 auto}.preset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.preset-card{font:inherit;text-align:left;border:1px solid #d8dfd8;background:#fff;border-radius:14px;padding:14px;cursor:pointer;display:flex;flex-direction:column;gap:5px;transition:.15s ease}.preset-card:hover{transform:translateY(-1px);box-shadow:0 8px 22px #00000010;border-color:#aeb9b0}.preset-card:focus-visible{outline:3px solid color-mix(in srgb,var(--theme-accent,#dbeadf) 80%,transparent)}.preset-card strong{font-size:.96rem}.preset-card small{color:#68736b}.preset-swatches{display:flex;gap:5px;margin-bottom:5px}.preset-swatches i{width:25px;height:25px;border-radius:50%;background:var(--swatch);border:1px solid #00000012}.visual-color-grid{display:grid;gap:9px}.visual-color-card{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:12px;align-items:center;margin:0;padding:10px;border:1px solid #e2e6e2;border-radius:14px;cursor:pointer;background:color-mix(in srgb,var(--theme-surface,#fff) 94%,var(--theme-background,#f5f6f3))}.visual-color-card:hover{border-color:#b7c0b8}.visual-color-card input[type=color]{appearance:none;-webkit-appearance:none;width:54px;height:54px;border:0;padding:0;background:none;cursor:pointer;margin:0}.visual-color-card input[type=color]::-webkit-color-swatch-wrapper{padding:0}.visual-color-card input[type=color]::-webkit-color-swatch{border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #cdd4ce}.visual-color-card input[type=color]::-moz-color-swatch{border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #cdd4ce}.visual-color-copy{display:flex;flex-direction:column}.visual-color-copy strong{font-size:.95rem}.visual-color-copy small{color:#6b756e;font-weight:400;margin-top:2px}.visual-color-value{font-size:.78rem;font-weight:800;color:#6c746e;background:#f2f4f1;padding:6px 8px;border-radius:8px}.font-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.font-choice{position:relative;display:grid;grid-template-columns:54px 1fr;gap:11px;align-items:center;margin:0;padding:13px;border:2px solid #e2e6e2;border-radius:14px;cursor:pointer;background:#fff}.font-choice input{position:absolute;opacity:0;pointer-events:none}.font-choice>strong{font-family:var(--font-preview);font-size:1.8rem}.font-choice>span:last-child{display:flex;flex-direction:column}.font-choice b{font-size:.94rem}.font-choice small{font-weight:400;color:#68736b;margin-top:2px}.font-choice:has(input:checked){border-color:var(--theme-primary,#173e29);box-shadow:0 0 0 2px color-mix(in srgb,var(--theme-primary,#173e29) 12%,transparent)}.font-check{position:absolute;right:8px;top:8px;width:20px;height:20px;border-radius:50%;display:none;place-items:center;background:var(--theme-primary,#173e29);color:var(--theme-on-primary,#fff);font-size:.72rem}.font-choice:has(input:checked) .font-check{display:grid}.radius-choice-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.radius-choice{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 7px;margin:0;border:2px solid #e2e6e2;border-radius:14px;cursor:pointer;background:#fff;text-align:center}.radius-choice input{position:absolute;opacity:0}.radius-choice:has(input:checked){border-color:var(--theme-primary,#173e29)}.radius-demo{display:block;width:58px;height:38px;border:3px solid var(--theme-primary,#173e29);background:color-mix(in srgb,var(--theme-accent,#dbeadf) 55%,white)}.radius-choice strong{font-size:.82rem}.appearance-actions{display:flex;gap:10px;flex-wrap:wrap}.appearance-actions .primary{flex:1;min-width:230px}.live-preview-panel{position:sticky;top:92px;background:#e9ece8;border-radius:20px;padding:10px;box-shadow:0 14px 40px #00000012;border:1px solid #d8ddda}.preview-toolbar{height:36px;display:flex;align-items:center;gap:6px;padding:0 8px;color:#5d665f;font-size:.78rem}.preview-toolbar>span{width:10px;height:10px;border-radius:50%;background:#b9c0ba}.preview-toolbar strong{margin-left:6px}.mini-site{overflow:hidden;border-radius:14px;background:var(--preview-bg,var(--theme-background,#f5f6f3));color:var(--preview-text,var(--theme-text,#1d251f));font-family:var(--preview-font,var(--theme-font));box-shadow:0 1px 0 #0000000a;transition:.18s ease}.mini-header{height:56px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;background:var(--preview-surface,var(--theme-surface,#fff));border-bottom:1px solid #0000000e}.mini-brand{font-weight:900}.mini-nav{display:flex;gap:12px;font-size:.72rem}.mini-content{padding:14px}.mini-hero{background:var(--preview-primary,var(--theme-primary,#173e29));color:var(--preview-on-primary,#fff);border-radius:var(--preview-radius,var(--theme-radius,18px));padding:20px;transition:.18s ease}.mini-hero small{text-transform:uppercase;letter-spacing:.08em;font-weight:800;opacity:.8}.mini-hero h2{margin:5px 0 7px;font-size:1.45rem;line-height:1.05}.mini-hero p{margin:0 0 14px;opacity:.85;font-size:.8rem}.mini-hero button{border:0;border-radius:calc(var(--preview-radius,var(--theme-radius,18px)) * .65);padding:9px 12px;background:var(--preview-accent,var(--theme-accent,#dbeadf));color:var(--preview-on-accent,#111);font:inherit;font-size:.75rem;font-weight:850}.mini-products{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.mini-products article{display:flex;flex-direction:column;gap:4px;background:var(--preview-surface,var(--theme-surface,#fff));border-radius:var(--preview-radius,var(--theme-radius,18px));padding:9px;border:1px solid #0000000c}.mini-products small{font-size:.62rem;opacity:.65}.mini-products strong{font-size:.76rem}.mini-products b{font-size:.82rem;margin-top:2px}.mini-photo{height:68px;border-radius:calc(var(--preview-radius,var(--theme-radius,18px)) * .65);background:linear-gradient(135deg,var(--preview-accent,var(--theme-accent,#dbeadf)),color-mix(in srgb,var(--preview-primary,var(--theme-primary,#173e29)) 28%,white))}.mini-photo.alt{background:linear-gradient(135deg,color-mix(in srgb,var(--preview-accent,var(--theme-accent,#dbeadf)) 65%,white),color-mix(in srgb,var(--preview-primary,var(--theme-primary,#173e29)) 45%,white))}.preview-note{font-size:.79rem;color:#5f6861;line-height:1.4;margin:10px 6px 4px}@media(max-width:1000px){.appearance-layout{grid-template-columns:1fr}.live-preview-panel{position:static;order:-1;max-width:620px}.preset-grid,.font-choice-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.preset-grid,.font-choice-grid{grid-template-columns:1fr}.radius-choice-grid{grid-template-columns:repeat(2,1fr)}.appearance-section{padding:16px}.visual-color-card{grid-template-columns:48px 1fr}.visual-color-value{display:none}.appearance-actions{flex-direction:column}.appearance-actions .button{width:100%}}

/* v0.11 — gestion visuelle des catégories et types */
.catalog-manager-page{margin:24px 0 60px}.catalog-manager-head{align-items:flex-start}.catalog-manager-head p{max-width:760px;line-height:1.5}.catalog-manager-section{margin:18px 0;padding:22px;background:var(--theme-surface,#fff);border:1px solid color-mix(in srgb,var(--theme-text,#1d251f) 14%,transparent);border-radius:calc(var(--theme-radius,18px) + 2px)}.catalog-manager-section h2{margin:0 0 8px}.catalog-pack-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:center;margin:20px 0 28px;padding:22px;background:linear-gradient(135deg,color-mix(in srgb,var(--theme-primary,#173e29) 10%,var(--theme-surface,#fff)),color-mix(in srgb,var(--theme-accent,#dbeadf) 50%,var(--theme-surface,#fff)));border:1px solid color-mix(in srgb,var(--theme-primary,#173e29) 18%,transparent);border-radius:calc(var(--theme-radius,18px) + 4px)}.catalog-pack-card h2{margin:0 0 5px;font-size:1.15rem}.catalog-pack-card p{margin:0;color:#5e6961;line-height:1.45}.catalog-pack-card form{margin:0}.catalog-pack-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:16px;background:var(--theme-primary,#173e29);color:var(--theme-on-primary,#fff);font-size:1.5rem;font-weight:900}.section-heading-row{display:flex;justify-content:space-between;gap:16px;align-items:end;margin-bottom:14px}.section-heading-row h2{margin:0}.section-heading-row p{margin:4px 0 0}.catalog-category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}.catalog-category-card{display:block;padding:17px;background:color-mix(in srgb,var(--theme-surface,#fff) 96%,var(--theme-background,#f5f6f3));border:1px solid color-mix(in srgb,var(--theme-text,#1d251f) 12%,transparent);border-radius:var(--theme-radius,18px);text-decoration:none;color:inherit;transition:.15s ease}.catalog-category-card:hover{transform:translateY(-2px);box-shadow:0 10px 28px #0000000d;border-color:color-mix(in srgb,var(--theme-primary,#173e29) 36%,transparent)}.catalog-category-card h3{margin:13px 0 2px;font-size:1.08rem}.catalog-category-card p{margin:0 0 10px}.catalog-category-top{display:flex;align-items:center;justify-content:space-between}.catalog-category-letter{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:var(--theme-primary,#173e29);color:var(--theme-on-primary,#fff);font-weight:900}.catalog-manage-link{font-size:.8rem;font-weight:800;color:var(--theme-primary,#173e29)}.catalog-type-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.catalog-type-chips span{padding:5px 8px;border-radius:999px;background:var(--theme-background,#f5f6f3);font-size:.72rem;color:#5d675f}.catalog-inline-form{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}.catalog-inline-form label{margin:0}.catalog-two-column{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.catalog-two-column>.catalog-manager-section{margin:0}.add-type-card{background:color-mix(in srgb,var(--theme-accent,#dbeadf) 22%,var(--theme-surface,#fff))}.catalog-type-list{display:grid;gap:9px}.catalog-type-row{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:14px 15px;border:1px solid color-mix(in srgb,var(--theme-text,#1d251f) 12%,transparent);border-radius:14px;text-decoration:none;color:inherit;background:color-mix(in srgb,var(--theme-surface,#fff) 96%,var(--theme-background,#f5f6f3))}.catalog-type-row:hover{border-color:color-mix(in srgb,var(--theme-primary,#173e29) 35%,transparent)}.catalog-type-row>div{display:flex;flex-direction:column}.catalog-type-row small{margin-top:2px;color:#677169}.catalog-type-row>span{font-size:.8rem;font-weight:800;color:var(--theme-primary,#173e29)}.catalog-danger-zone{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;border:1px solid #e2b9b9;border-radius:var(--theme-radius,18px);background:#fff7f7}.catalog-danger-zone strong{color:#7f2424}.catalog-danger-zone p{margin:3px 0 0;color:#7b6868;font-size:.9rem}.catalog-danger-zone form{margin:0}.catalog-fields-list{display:grid;gap:10px}.catalog-field-card{border:1px solid color-mix(in srgb,var(--theme-text,#1d251f) 13%,transparent);border-radius:14px;background:color-mix(in srgb,var(--theme-surface,#fff) 97%,var(--theme-background,#f5f6f3));overflow:hidden}.catalog-field-card summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:15px;align-items:center;padding:15px 16px}.catalog-field-card summary::-webkit-details-marker{display:none}.catalog-field-card summary>span:first-child{display:flex;flex-direction:column}.catalog-field-card summary small{margin-top:2px;color:#68736b}.catalog-field-card summary>span:last-child{font-size:.8rem;font-weight:800;color:var(--theme-primary,#173e29)}.catalog-field-card[open] summary{border-bottom:1px solid color-mix(in srgb,var(--theme-text,#1d251f) 10%,transparent)}.catalog-field-form{padding:4px 16px 14px}.catalog-field-actions{display:flex;justify-content:flex-start;margin-top:8px}.catalog-delete-inline{padding:0 16px 14px;margin:0}.link-danger{border:0;background:none;padding:0;color:#963434;text-decoration:underline;cursor:pointer;font:inherit;font-size:.86rem}.new-field-panel{background:color-mix(in srgb,var(--theme-accent,#dbeadf) 18%,var(--theme-surface,#fff))}.add-category-panel{margin-top:24px}@media(max-width:850px){.catalog-pack-card{grid-template-columns:auto 1fr}.catalog-pack-card form{grid-column:1/-1}.catalog-pack-card .button{width:100%}.catalog-inline-form,.catalog-two-column{grid-template-columns:1fr}.catalog-type-row{align-items:flex-start;flex-direction:column}.catalog-danger-zone{align-items:flex-start;flex-direction:column}}@media(max-width:560px){.catalog-category-grid{grid-template-columns:1fr}.catalog-manager-section{padding:16px}.catalog-pack-card{padding:17px}}

/* v0.12 — photos smartphone, étiquettes et réservation */
.mobile-photo-actions{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:stretch}.camera-capture{position:relative;display:flex;flex-direction:column;justify-content:center;min-height:132px;padding:18px;border:2px dashed var(--theme-primary,#173e29);border-radius:var(--theme-radius,18px);background:color-mix(in srgb,var(--theme-primary,#173e29) 7%,#fff);cursor:pointer}.camera-capture input{margin-top:12px}.camera-capture .camera-icon{font-size:2rem}.camera-capture strong{margin-top:6px}.camera-capture small{margin-top:5px;color:#657066}.camera-direct-panel{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px;margin:0 0 22px;border-radius:var(--theme-radius,18px);background:color-mix(in srgb,var(--theme-accent,#d7b55b) 12%,#fff);border:1px solid color-mix(in srgb,var(--theme-accent,#d7b55b) 38%,#ddd)}.camera-direct-panel p{margin:5px 0 0}.camera-button{display:inline-flex;align-items:center;justify-content:center;min-width:180px}.camera-button.is-uploading{opacity:.72;pointer-events:none}.label-editor-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);gap:28px;margin:26px 0 50px}.label-preview-wrap{position:sticky;top:92px;align-self:start}.product-label-preview{background:#fff;color:#111;border:1px solid #cdd3cf;box-shadow:0 14px 32px #00000012;padding:18px;display:flex;flex-direction:column;overflow:hidden}.product-label-preview.label-70x37{aspect-ratio:70/37}.product-label-preview.label-100x50{aspect-ratio:2/1}.product-label-preview svg{width:100%;height:58px;display:block}.label-logo{max-width:110px;max-height:48px;object-fit:contain;margin-bottom:8px}.label-title{font-weight:900;font-size:1.35rem;line-height:1.05}.label-subtitle,.label-note,.label-ref,.label-barcode-text{font-size:.78rem}.label-price{font-size:2rem;font-weight:900;margin:8px 0}.label-barcode{margin-top:auto}.label-barcode-text{text-align:center;letter-spacing:.08em}.label-ref{font-weight:700;margin-top:4px}.label-note{margin-top:3px;color:#444}.label-options{margin:14px 0}.status.order-reserved{background:#fff0c6}.status.order-collected{background:#dff1e4}.status.order-reservation_expired,.status.overdue{background:#f6dfdf}.pickup-deadline{margin:16px 0;padding:14px;border-radius:12px;background:#eef4ef}.pickup-deadline.overdue{background:#fff0df}.danger-zone{border-top:1px solid #e5e8e5;padding-top:18px}.admin-code{margin:12px 0}.public-pickup-code.admin-code strong{font-size:2rem}
@media(max-width:760px){.mobile-photo-actions,.label-editor-layout{grid-template-columns:1fr}.camera-direct-panel{align-items:stretch;flex-direction:column}.camera-button{width:100%}.label-preview-wrap{position:static}.product-label-preview{max-width:520px}}

/* v0.15 — validation, rendez-vous de retrait et paiement sur place */
.pending-row{align-items:center}.pending-main{flex:1;min-width:0;color:inherit;text-decoration:none}.pending-main:hover strong{text-decoration:underline}.pending-actions{flex-wrap:wrap}.pickup-appointment{margin:22px 0;padding:18px;border:1px solid #dfe4de;border-radius:14px;background:#f8faf7}.pickup-appointment h3{margin:0 0 14px;font-size:1.08rem}.opening-hours-details{margin-top:14px}.opening-hours-details summary{cursor:pointer;font-weight:800}.opening-hours-list{margin-top:10px;padding:12px;background:#fff;border-radius:10px;color:#556259}.payment-on-site-box{margin:20px 0;padding:18px;border-radius:14px;background:var(--theme-primary,#173e29);color:var(--theme-on-primary,#fff);display:grid;grid-template-columns:1fr auto;gap:7px 16px;align-items:center}.payment-on-site-box>span{font-weight:700}.payment-on-site-box>strong{font-size:1.5rem}.payment-on-site-box p{grid-column:1/-1;margin:4px 0 0;line-height:1.45}.amount-confirmation{border:1px solid #d9e2d9}.pickup-appointment-summary{margin:14px 0;padding:14px 16px;border-radius:12px;background:#eaf5ee;display:flex;flex-direction:column;gap:4px}.pickup-appointment-summary span{font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;opacity:.72}.pickup-appointment-summary strong{font-size:1.08rem}.admin-pickup-appointment{margin-top:16px}.button:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:760px){.pending-row{align-items:stretch}.pending-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.pending-actions .button,.pending-actions form,.pending-actions form button{width:100%}.payment-on-site-box{grid-template-columns:1fr}.payment-on-site-box>strong{font-size:1.35rem}.payment-on-site-box p{grid-column:auto}}

/* v0.15.3 — validation et impression des étiquettes */
.label-form-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.label-form-actions .button{flex:1;min-width:190px}.label-approval-dialog{width:min(720px,calc(100% - 28px));max-height:92vh;overflow:auto;border:0;border-radius:calc(var(--theme-radius,18px) + 4px);padding:24px;background:var(--theme-surface,#fff);color:var(--theme-text,#1d251f);box-shadow:0 28px 90px #0005}.label-approval-dialog::backdrop{background:#0d1610a8;backdrop-filter:blur(3px)}.label-approval-head{display:flex;gap:14px;align-items:center;margin-bottom:8px}.label-approval-head h2{margin:2px 0 0;font-size:1.55rem}.label-approval-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:#dff1e4;color:#176934;font-size:1.45rem;font-weight:900}.label-approval-dialog>p{margin:10px 0 18px;color:#606b63;line-height:1.45}.label-popup-preview{max-width:520px;margin:0 auto 20px}.label-approval-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.label-approval-actions .primary{grid-column:1/-1;padding:14px}.label-approval-actions .button{text-align:center}.label-approval-dialog[open]:not(:modal){position:fixed;z-index:200;top:50%;left:50%;transform:translate(-50%,-50%)}
@media(max-width:620px){.label-form-actions,.label-approval-actions{display:grid;grid-template-columns:1fr}.label-form-actions .button,.label-approval-actions .button{width:100%;min-width:0}.label-approval-actions .primary{grid-column:auto}.label-approval-dialog{padding:18px}.label-popup-preview{max-width:100%}}

/* Étiquettes v0.15.4 — logo de structure */
.label-options .label-logo-option{grid-column:1/-1;background:color-mix(in srgb,var(--theme-primary,#173e29) 7%,#fff)}.label-logo-help{margin:8px 0 2px}.product-label-preview .label-logo{align-self:flex-end;max-width:34%;max-height:52px;object-fit:contain;object-position:right top;margin:0 0 6px auto}.product-label-preview.label-70x37 .label-logo{max-width:30%;max-height:38px}.label-popup-preview .label-logo{max-width:30%;max-height:44px}@media(max-width:620px){.product-label-preview .label-logo{max-width:38%}}

/* v0.16.7 — dons d’objets */
.donation-home-cta{margin:28px 0 34px;padding:24px 28px;border:1px solid var(--line,#d7ddd8);border-radius:var(--theme-radius,18px);background:linear-gradient(135deg,var(--theme-surface,#fff),color-mix(in srgb,var(--theme-accent,#d7b55b) 10%,#fff));display:flex;gap:24px;align-items:center;justify-content:space-between}.donation-home-cta h2{margin:.3rem 0}.donation-home-cta p{margin:.4rem 0 0;color:var(--muted,#647067)}.donation-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:28px;align-items:start}.donation-intro{position:sticky;top:110px}.donation-steps{display:grid;gap:12px;margin:24px 0}.donation-steps>div{display:flex;align-items:center;gap:12px}.donation-steps strong{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--theme-primary,#17492f);color:var(--theme-on-primary,#fff)}.donation-steps span{font-weight:700}.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}.optional{font-weight:400;color:#718078;font-size:.9em}.confirmation-shell{max-width:760px;margin:40px auto}.donation-confirmation{text-align:center}.confirmation-icon{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;margin:0 auto 18px;background:#e8f5ec;color:#176333;font-size:38px;font-weight:900}.appointment-box{margin:18px 0;padding:16px 18px;border-radius:14px;background:#eef5f0;display:grid;gap:6px}.appointment-box span{font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;color:#5b6a61;font-weight:800}.appointment-box strong{font-size:1.15rem}.donation-detail-grid{align-items:start}.detail-list{display:grid;gap:10px}.detail-list>div{display:grid;grid-template-columns:130px 1fr;gap:15px;padding:10px 0;border-bottom:1px solid #e4e8e4}.detail-list dt{font-weight:800;color:#58655d}.detail-list dd{margin:0}.donation-photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-top:18px}.donation-photo-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px;border:1px solid #dde3de}.info-box{background:#eef4ef;border-radius:12px;padding:16px}.info-box.compact{font-size:.95rem}.success-box{background:#e8f5ec;border-radius:12px;padding:15px;color:#194d2d}.button.danger{background:#9f332f;color:#fff;border-color:#9f332f}.pill.warning{background:#fff0bd}.pill.success{background:#dff2e4}.pill.danger{background:#f8dada}.donation-row .muted{margin-top:3px}
@media(max-width:820px){.donation-layout{grid-template-columns:1fr}.donation-intro{position:static}.donation-home-cta{display:block}.donation-home-cta .button{margin-top:16px;width:100%}.detail-list>div{grid-template-columns:1fr;gap:3px}}

/* v0.16.8 — vente ou don */
.offer-type-fieldset{border-color:color-mix(in srgb,var(--theme-primary) 22%,#d9dfda)}
.offer-type-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:12px 0 18px}
.offer-type-card{display:block;position:relative;margin:0;cursor:pointer}
.offer-type-card input{position:absolute;opacity:0;pointer-events:none}
.offer-type-card span{display:flex;flex-direction:column;gap:5px;min-height:106px;padding:18px;border:2px solid #d8dfd9;border-radius:16px;background:#fff;transition:.16s ease}
.offer-type-card strong{font-size:1.25rem}
.offer-type-card small{color:#68756d;line-height:1.35}
.offer-type-card input:checked+span{border-color:var(--theme-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--theme-primary) 14%,transparent);background:color-mix(in srgb,var(--theme-primary) 6%,#fff)}
.donation-notice,.donation-checkout-box{padding:16px 18px;border-radius:14px;background:#eaf6ee;border:1px solid #bfdac8;color:#173f29;margin:12px 0}
.donation-price,.donation-text{color:#17633b!important;font-weight:850}
.donation-pill,.donation-status{background:#dff3e6!important;color:#125631!important;border-color:#b9dec6!important}
.donation-ribbon{background:#17633b!important;color:#fff!important}
.donation-total{background:#17633b!important;color:#fff!important}
@media(max-width:680px){.offer-type-choices{grid-template-columns:1fr}.offer-type-card span{min-height:0}}
