:root{--ink:#29372e;--muted:#7a8377;--orange:#d97958;--cream:#f8f7f1;--line:#e7e9df}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:14px}button,input,textarea{font:inherit}button,.button{border:0;border-radius:7px;padding:14px 18px;background:#344d3d;color:white;font-weight:700;cursor:pointer;text-decoration:none;display:inline-block}button:hover,.button:hover{background:#263d30}button:disabled{opacity:.5}.app{min-height:100vh;display:flex}aside{width:232px;background:#fff;border-right:1px solid var(--line);padding:32px 20px;position:fixed;top:0;bottom:0;display:flex;flex-direction:column}.brand,.mobile-brand{font-size:23px;font-weight:700;letter-spacing:-1.4px}.kite{font-size:29px;color:var(--orange);margin-right:5px}.dot{color:var(--orange)}.aside-caption,.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.7px;color:#a2a99d}.aside-caption{margin:56px 9px 16px}nav{display:grid;gap:5px}nav a{padding:13px 12px;text-decoration:none;color:#899187;border-radius:7px;font-size:16px}nav a span{font-size:13px;margin-left:10px}nav a.active{background:#edf2eb;color:#3b5843;font-weight:bold}.aside-bottom{margin-top:auto;background:#f9f5ec;padding:19px;border-radius:10px;color:#899486;font-size:12px;line-height:1.5}.aside-bottom span{color:#d68b6b;font-size:24px}.aside-bottom b{color:#546b57}main{margin-left:232px;flex:1;min-width:0}header{height:76px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.7);display:flex;align-items:center;justify-content:space-between;padding:0 5%;font-size:10px;letter-spacing:1.2px;color:#a3aca0;font-weight:700}header b{margin:0 10px;color:#d2d9cf}.profile{display:flex;align-items:center;gap:10px;letter-spacing:0;color:#59685a;font-size:12px}.avatar{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:#edeee5;color:#718374}.mobile-brand{display:none}.content{max-width:1320px;margin:auto;padding:48px 5% 0}.topline{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:244px}.eyebrow span{color:var(--orange)}h1,h2,h3,p{margin-top:0}h1,h2,.voucher h3{font-family:'Playfair Display',Georgia,serif;font-weight:500;letter-spacing:-1.3px}h1{font-size:clamp(38px,4vw,56px);line-height:1.08;margin:17px 0}h1 em{color:#d17b5d}.intro{color:#869083;max-width:495px;line-height:1.8}.heroart{width:300px;height:208px;background:#e7eee1;border-radius:48% 52% 46% 54%;position:relative;display:grid;place-items:center;transform:rotate(-5deg)}.ribbon{background:#d88666;border-radius:6px;width:118px;height:105px;display:grid;place-items:center;font-size:50px;color:#fce7d6;box-shadow:10px 12px 0 #c97255;transform:rotate(8deg)}.hero-label{position:absolute;background:#fffaf0;padding:10px 14px;right:4px;bottom:5px;transform:rotate(9deg);font-size:8px;letter-spacing:1.4px;line-height:1.5;color:#83917c}.spark{position:absolute;color:#d68a69;font-size:35px}.one{top:8px;right:35px}.two{bottom:18px;left:24px}.status{display:flex;gap:14px;background:#fbefe5;border:1px solid #f2dfd1;border-radius:9px;padding:15px 20px;color:#9a7663;line-height:1.55;margin:22px 0 49px}.status span{font-size:20px;color:#d48667}.status p{margin:0;font-size:12px}.section-title{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}h2{font-size:32px;margin:10px 0}h2 span{font-family:'DM Sans';font-size:12px;background:#e8eee5;border-radius:20px;padding:4px 8px;color:#788a79;vertical-align:middle}.section-title p,.step p{color:#9ba397;margin:0;font-size:13px}.empty{background:white;border:1px dashed #dce4d9;border-radius:12px;min-height:240px;text-align:center;padding:34px 20px}.empty-icon{font-size:30px;color:#d88e6e;background:#faf1e9;width:55px;height:55px;margin:0 auto 16px;border-radius:50%;display:grid;place-items:center}.empty h3,.shop h3,.step h3{font-size:15px;margin-bottom:8px}.empty p,.shop p{color:#a2aa9f;font-size:13px}.outline{background:white;color:#46604c;border:1px solid #dce5d9;padding:11px 14px;font-size:12px}.outline:hover{background:#f1f6f0}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:18px}.shop{background:white;border:1px solid var(--line);border-radius:11px;overflow:hidden}.shop-art{height:145px;color:#fff8ed;padding:22px;display:flex;flex-direction:column;align-items:center;justify-content:center}.shop-art span{font-size:32px}.shop-art i{font-style:normal;letter-spacing:2px;font-size:8px;margin:8px}.shop-art strong{font-family:Georgia;font-size:22px}.shop-body{padding:20px}.tag{font-size:9px;color:#789a7d;letter-spacing:1px}.shop h3{margin:12px 0}.steps{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:30px;border-top:1px solid var(--line);margin-top:58px;padding:37px 0 50px}.steps h2{font-size:25px}.step b{font-family:Georgia;font-size:25px;font-weight:400;color:#d89b7d}.step h3{margin-top:15px}.step p{line-height:1.6}footer{border-top:1px solid var(--line);padding:25px 0;font-weight:700;color:#728472}footer span{float:right;font-weight:400;color:#adb5aa;font-size:11px}.overlay{position:fixed;inset:0;background:#24352cb3;display:grid;place-items:center;z-index:5;padding:20px}.modal{position:relative;background:#fffefa;border-radius:14px;width:min(560px,100%);max-height:92vh;overflow:auto;padding:34px}.modal h2{font-size:32px}.modal>p{color:#8b988b;line-height:1.5}.close{position:absolute;right:20px;top:18px;background:#f3f5ef;color:#667767;font-size:23px;line-height:1;padding:4px 10px}.close:hover{color:white}.modal form{margin-top:24px}label{display:block;font-size:12px;font-weight:700;color:#617362;margin:15px 0}input,textarea{display:block;width:100%;border:1px solid #dfe6dc;border-radius:6px;background:white;padding:12px;margin-top:7px;color:#354b39;outline-color:#8aa98d}input[type=color]{height:43px;padding:4px}textarea{resize:vertical;min-height:70px}small{display:block;color:#a4ada2;font-weight:400;margin-top:5px}.fields{display:grid;grid-template-columns:3fr 1fr;gap:15px}.error{color:#b34e3c}.preview{width:min(850px,100%)}.preview-cols{display:grid;grid-template-columns:1fr 1fr;gap:28px}.amounts{display:flex;gap:8px;flex-wrap:wrap}.amounts button{background:#f3f5ef;color:#607862;border:1px solid #e4e9e1}.amounts button.chosen{background:#344d3d;color:white}.voucher{align-self:center;min-height:340px;color:white;text-align:center;padding:28px;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center}.voucher>span{font-size:36px}.voucher small{color:#fff;letter-spacing:2px;font-size:9px}.voucher h3{font-size:35px;margin:14px}.voucher-amount{font-size:27px}.voucher p{white-space:pre-wrap;font-size:12px;line-height:1.6}.voucher strong{font-family:Georgia;margin-top:14px}.notice{color:#a4765e;background:#fbefe5;padding:12px;border-radius:6px;font-size:12px;line-height:1.5}@media(max-width:800px){aside{display:none}main{margin:0}header{padding:0 6%}header>span{display:none}.mobile-brand{display:block;font-size:20px}.content{padding:35px 6% 0}.heroart{width:180px;height:155px}.ribbon{width:80px;height:74px;font-size:35px}.steps{grid-template-columns:1fr 1fr}.profile span:last-child{display:none}}@media(max-width:520px){.heroart{display:none}.topline{min-height:0}.section-title{align-items:start;flex-direction:column}.section-title button,.section-title .button{width:100%;text-align:center}.steps{grid-template-columns:1fr 1fr;gap:20px}.preview-cols{grid-template-columns:1fr}.voucher{min-height:250px}footer span{float:none;display:block;margin-top:10px}}
.link{background:none;color:#6f8570;border:0;padding:5px;font-size:12px;text-decoration:underline}.link:hover{background:none;color:#344d3d}.shop a{color:#667e68;font-size:12px}.standalone{max-width:1050px;margin:35px auto;padding:0 20px}.standalone>.brand{margin-bottom:32px}.standalone .modal{width:100%;max-height:none;box-shadow:0 8px 40px #344d3d12}
/* Identité Cervolant : logo 2024, orange signature et Montserrat. */
:root{--ink:#363433;--muted:#77716c;--orange:#ff8300;--cream:#f6f5f2;--line:#e9e6e2}body,button,input,textarea{font-family:Montserrat,Arial,sans-serif;color:var(--ink)}h1,h2,.voucher h3{font-family:Montserrat,Arial,sans-serif;font-weight:500;letter-spacing:-1.5px}h1 em{color:#e57900;font-style:normal;font-weight:300}.kite,.dot,.eyebrow span,.spark{color:#ff8300}.brand{font-weight:600}.aside-bottom{background:#f8f5f0}.aside-bottom .by-label{display:block;font-size:9px;letter-spacing:1.5px;color:#99928b;font-weight:700}.cervolant-logo{display:block;width:145px;max-width:100%;height:auto;margin:15px 0}.aside-bottom b{color:#363433}button,.button{background:#363433;color:#fff}button:hover,.button:hover{background:#1f1f1f}.outline{background:white;color:#363433;border-color:#dfdcd7}.outline:hover{background:#fff4e8;color:#363433}.heroart{background:#f4e6d5}.ribbon{background:#ff8300;color:#fff;box-shadow:10px 12px 0 #df7200}.hero-label{color:#68615b}.status{background:#fff3e5;border-color:#f6dfc3;color:#73583d}.status span{color:#e57900}.empty-icon{color:#e57900;background:#fff2e3}nav a.active{background:#fff2e3;color:#a75000}.tag{color:#dc7600}.step b{color:#e57900}.avatar{background:#fff0de;color:#a75000}.link{color:#8c520e;background:none}.link:hover{color:#363433;background:none}.voucher{color:#fff}.voucher h3,.voucher small,.voucher p,.voucher strong{color:#fff}

/* Référence : cervolant.fr, identité actuelle. */
@font-face{font-family:Ruddy;src:url('/fonts/ruddy-regular.otf') format('opentype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Poppins;src:url('/fonts/poppins-regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Poppins;src:url('/fonts/poppins-semibold.ttf') format('truetype');font-style:normal;font-weight:600 700;font-display:swap}
:root{--orange:#ff8200;--ink:#252525;--cream:#f7f7f7;--line:#eaeaea}
body,button,input,textarea{font-family:Poppins,Arial,sans-serif;color:#252525}h1,h2,.voucher h3{font-family:Ruddy,Poppins,sans-serif;letter-spacing:-.8px;font-weight:400}h1{font-size:clamp(42px,4.3vw,60px)}h1 em{font-style:normal;font-weight:400;color:#fff}button,.button{border-radius:50px;background:#252525;color:white}button:hover,.button:hover{background:#ff8200;color:#fff}.brand,.mobile-brand{font-family:Ruddy,Poppins,sans-serif;letter-spacing:-.5px}.kite,.dot{color:#ff8200}.topline{background:#ff8200;border-radius:22px;padding:36px 42px;min-height:285px;color:#fff;overflow:hidden}.topline .eyebrow,.topline .eyebrow span,.topline .intro{color:#fff}.topline .intro{opacity:.88}.heroart{background:rgba(255,255,255,.17)}.ribbon{background:#fff;color:#ff8200;box-shadow:10px 12px 0 #252525}.spark{color:white}.hero-label{color:#252525;border-radius:3px}.status{background:#fff5ea;border-color:#ffe3c6;color:#75583d}.aside-bottom{background:#f5f5f5}.aside-bottom .by-label{color:#888}.aside-bottom b{color:#252525}.outline{border-radius:50px;background:#fff;color:#252525}.outline:hover{background:#fff2e5;color:#252525}.amounts button.chosen{background:#252525;color:white}.voucher{color:#fff}.voucher h3,.voucher small,.voucher p,.voucher strong{color:#fff}.shop-body .tag{color:#c76400}nav a.active{background:#fff2e5;color:#a45200}.empty{border-radius:18px}.modal{border-radius:20px}.close{border-radius:50%;background:#f0f0f0}.step b{color:#ff8200}.link,.link:hover{background:none;color:#b75d00}.profile .link{background:none;color:#b75d00}.voucher strong{font-family:Ruddy,Poppins,sans-serif}@media(max-width:520px){.topline{padding:30px 24px}.content{padding-top:24px}}

nav a{display:flex;align-items:center;white-space:nowrap}
.payment-panel{display:grid;grid-template-columns:1fr 1fr;gap:40px;background:white;border:1px solid var(--line);border-radius:18px;padding:30px;margin:45px 0 25px}.payment-panel h2,.orders-section h2{font-size:26px}.payment-panel p,.orders-section p{font-size:12px;line-height:1.7;color:#777}.payment-actions{margin:18px 0}.payment-panel form{display:flex;gap:8px;align-items:end}.payment-panel form input{margin:0}.payment-panel form button{white-space:nowrap}.orders-section{background:white;border:1px solid var(--line);padding:30px;border-radius:18px}.order-row{display:flex;justify-content:space-between;gap:10px;padding:14px 0;border-bottom:1px solid #eee;font-size:12px}.purchase{margin:12px 0}.notice{margin-top:12px}@media(max-width:700px){.payment-panel{grid-template-columns:1fr}.payment-panel form{flex-direction:column;align-items:stretch}}
