:root{--primary:#1687ff;--primary-dark:#086bc8;--dark:#07111d;--navy:#0c2033;--light:#eaf4ff;--paper:#fff;--surface:#f5f8fb;--ink:#101923;--muted:#68798a;--line:#dce6ef;--shadow:0 20px 60px rgba(7,17,29,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input,textarea,select{font:inherit}.container{width:min(1180px,calc(100% - 48px));margin:auto}.topbar{padding:10px 20px;background:var(--primary);color:#fff;text-align:center;font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.site-header{position:sticky;top:0;z-index:50;height:92px;background:rgba(255,255,255,.97);border-bottom:1px solid rgba(7,17,29,.08);box-shadow:0 8px 30px rgba(7,17,29,.05);backdrop-filter:blur(14px)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand-frame{display:block;width:255px;height:64px;padding:7px 11px;overflow:hidden;border-radius:10px;background:#02070c;flex:0 0 auto}.brand-frame img{width:100%;height:100%;object-fit:contain}.site-nav{display:flex;align-items:center;gap:25px;font-size:13px;font-weight:700}.site-nav a{position:relative;padding:34px 0}.site-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:24px;height:2px;background:var(--primary);transition:right .2s}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--primary)}.site-nav a:hover:after,.site-nav a[aria-current=page]:after{right:0}.header-actions{display:flex;align-items:center;gap:10px}.menu-toggle{display:none;border:1px solid var(--line);border-radius:9px;background:#fff;padding:10px 12px;font-weight:800}
.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:47px;padding:13px 20px;border:0;border-radius:10px;background:var(--dark);color:#fff;font-size:13px;font-weight:800;cursor:pointer;box-shadow:0 10px 26px rgba(7,17,29,.13);transition:transform .2s,background .2s,box-shadow .2s}.button:hover{transform:translateY(-2px);background:var(--primary);box-shadow:0 15px 32px rgba(22,135,255,.24)}.button.primary{background:var(--primary)}.button.primary:hover{background:var(--primary-dark)}.button.outline{border:1px solid rgba(255,255,255,.35);background:transparent;box-shadow:none}.button.outline:hover{border-color:#fff;background:rgba(255,255,255,.08)}.button.light{background:#fff;color:var(--dark)}.button.light:hover{background:var(--light);color:var(--primary)}
.eyebrow{margin:0;color:var(--primary);font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.section-heading{max-width:760px;margin:0 0 48px}.section-heading h2{margin:13px 0 16px;font-size:clamp(38px,5vw,64px);line-height:1.02;letter-spacing:-.05em}.section-heading p{max-width:650px;margin:0;color:var(--muted);font-size:17px;line-height:1.7}
.hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#040a10 0%,#0a1a2a 64%,#0e2941 100%);color:#fff}.hero:before{content:"";position:absolute;width:580px;height:580px;right:-190px;top:-260px;border-radius:50%;border:1px solid rgba(121,186,255,.17);box-shadow:0 0 0 90px rgba(121,186,255,.03),0 0 0 180px rgba(121,186,255,.018)}.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.08fr .92fr;min-height:670px;align-items:center;gap:65px;padding:85px 0}.hero-copy .eyebrow{display:inline-flex;padding:8px 12px;border:1px solid rgba(121,186,255,.25);border-radius:999px;background:rgba(22,135,255,.08);color:#8fc8ff}.hero-copy h1{max-width:700px;margin:24px 0 23px;font-size:clamp(55px,6vw,86px);line-height:.94;letter-spacing:-.065em}.hero-copy h1 strong{color:var(--primary)}.hero-copy>p{max-width:650px;margin:0;color:#c7d3df;font-size:18px;line-height:1.72}.hero-buttons{display:flex;flex-wrap:wrap;gap:12px;margin:31px 0 28px}.benefit-list{display:flex;flex-wrap:wrap;gap:10px 24px;margin:0;padding:0;list-style:none;color:#dce7f1;font-size:13px}.benefit-list li:before{content:"✓";margin-right:8px;color:#79baff;font-weight:900}
.hero-studio{position:relative;min-height:500px}.studio-panel{position:absolute;inset:28px 0 28px 34px;padding:29px;border:1px solid rgba(255,255,255,.13);border-radius:24px;background:linear-gradient(145deg,rgba(31,68,99,.86),rgba(7,17,29,.9));box-shadow:0 35px 80px rgba(0,0,0,.35);backdrop-filter:blur(10px)}.studio-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:22px;border-bottom:1px solid rgba(255,255,255,.12);font-size:12px}.studio-top b{letter-spacing:.08em}.live-dot{color:#8fc8ff}.production-card{position:absolute;border-radius:18px;box-shadow:0 20px 40px rgba(0,0,0,.28)}.production-card.main{left:28px;right:28px;top:96px;height:220px;padding:28px;background:linear-gradient(145deg,#fff,#d9ecff);color:var(--dark)}.production-card.main small{color:var(--primary);font-weight:900;letter-spacing:.12em}.production-card.main strong{display:block;margin-top:35px;font-size:41px;line-height:.95;letter-spacing:-.05em}.production-card.main span{display:block;margin-top:12px;color:#627485;font-size:13px}.production-card.mini{bottom:30px;width:44%;height:105px;padding:20px;background:#07111d;border:1px solid #36536c}.production-card.mini.left{left:28px}.production-card.mini.right{right:28px;background:var(--primary);border-color:#58aaff}.production-card.mini b{display:block;font-size:18px}.production-card.mini span{color:#b9cad8;font-size:11px}.production-card.mini.right span{color:#e6f2ff}.studio-badge{position:absolute;right:-18px;top:48px;padding:12px 15px;border-radius:10px;background:#fff;color:var(--dark);font-size:11px;font-weight:900;box-shadow:var(--shadow);transform:rotate(3deg)}
.trust-strip{border-bottom:1px solid var(--line);background:#fff}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}.trust-grid div{padding:26px 24px;border-right:1px solid var(--line)}.trust-grid div:last-child{border:0}.trust-grid b{display:block;margin-bottom:4px;font-size:14px}.trust-grid span{color:var(--muted);font-size:12px}
.section{padding:105px 0}.section.soft{background:var(--surface)}.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.category-card{position:relative;min-height:265px;padding:28px;border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 14px 35px rgba(7,17,29,.05);transition:transform .24s,box-shadow .24s}.category-card:hover{transform:translateY(-7px);box-shadow:var(--shadow)}.category-code{display:grid;place-items:center;width:62px;height:62px;margin-bottom:42px;border-radius:16px;background:var(--light);color:var(--primary);font-size:18px;font-weight:950}.category-card h3{margin:0 0 8px;font-size:20px}.category-card p{margin:0;color:var(--muted);font-size:13px}.category-card a{display:inline-block;margin-top:20px;color:var(--primary);font-size:12px;font-weight:900}.category-card:after{content:"";position:absolute;width:95px;height:95px;right:-45px;bottom:-45px;border-radius:50%;background:var(--light)}
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.product-card{transition:transform .25s}.product-card:hover{transform:translateY(-6px)}.product-visual{height:280px;display:grid;place-items:center;overflow:hidden;border:1px solid var(--line);border-radius:17px;background:linear-gradient(145deg,#f8fbfd,#deedfa);box-shadow:0 16px 35px rgba(7,17,29,.07)}.product-visual img{width:100%;height:100%;object-fit:cover}.product-mark{display:grid;place-items:center;width:135px;height:135px;border-radius:28px;background:#fff;color:var(--primary);font-size:35px;font-weight:950;box-shadow:0 25px 55px rgba(7,17,29,.13)}.product-visual img:not([hidden])+.product-mark{display:none}.product-card h3{margin:17px 0 3px;font-size:17px}.product-card p{margin:0;color:var(--muted);font-size:12px}.product-card>a{display:inline-flex;margin-top:12px;color:var(--primary);font-size:12px;font-weight:900}
.dark-section{position:relative;overflow:hidden;background:linear-gradient(135deg,#040a10,#0b2032);color:#fff}.dark-section:after{content:"";position:absolute;width:500px;height:500px;right:-250px;bottom:-290px;border-radius:50%;background:rgba(22,135,255,.15)}.dark-section .section-heading p{color:#aebdca}.service-grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-card{min-height:225px;padding:29px;border:1px solid rgba(121,186,255,.19);border-radius:16px;background:rgba(255,255,255,.035)}.service-number{color:#79baff;font-size:11px;font-weight:900}.service-card h3{margin:35px 0 10px;font-size:21px}.service-card p{margin:0;color:#acbbc8;font-size:14px;line-height:1.65}.service-card a{display:inline-block;margin-top:20px;color:#79baff;font-size:12px;font-weight:900}
.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.process-step{padding:32px 0;border-top:2px solid var(--line)}.process-step span{display:block;color:var(--primary);font-size:12px;font-weight:900}.process-step h3{margin:22px 0 9px;font-size:23px}.process-step p{margin:0;color:var(--muted);font-size:14px;line-height:1.7}
.software-feature{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center;padding:65px;border-radius:26px;background:linear-gradient(135deg,#07111d,#0d2b45);color:#fff;box-shadow:var(--shadow)}.software-screen{min-height:365px;padding:20px;border:1px solid #3b5971;border-radius:20px;background:#03080d;box-shadow:0 30px 70px rgba(0,0,0,.4)}.screen-bar{display:flex;gap:6px;padding-bottom:15px;border-bottom:1px solid #203649}.screen-bar i{width:8px;height:8px;border-radius:50%;background:#1687ff}.screen-body{display:grid;grid-template-columns:82px 1fr;gap:13px;height:280px;padding-top:15px}.screen-side{border-radius:8px;background:#0d2030}.screen-main{display:grid;gap:11px}.screen-line{height:44px;border-radius:8px;background:linear-gradient(90deg,#102b42,#0a1722)}.screen-line.blue{height:93px;background:linear-gradient(135deg,#147ce1,#0a58a2)}.software-copy h2{margin:14px 0 18px;font-size:clamp(38px,4.5vw,60px);line-height:1;letter-spacing:-.05em}.software-copy p{color:#bdcbd7;line-height:1.7}.software-points{display:grid;gap:10px;margin:24px 0 30px}.software-points span:before{content:"✓";margin-right:10px;color:#79baff;font-weight:900}
.cta-band{padding:70px 0;background:var(--primary);color:#fff}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}.cta-inner h2{max-width:680px;margin:0;font-size:clamp(34px,4vw,54px);line-height:1.05;letter-spacing:-.045em}.cta-inner p{margin:12px 0 0;color:#e5f2ff}
.page-hero{padding:90px 0;background:linear-gradient(135deg,#040a10,#0c2942);color:#fff}.page-hero .eyebrow{color:#8fc8ff}.page-hero h1{max-width:850px;margin:16px 0 20px;font-size:clamp(46px,6vw,76px);line-height:.98;letter-spacing:-.055em}.page-hero p{max-width:720px;margin:0;color:#c4d1dd;font-size:18px;line-height:1.7}.page-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.detail-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:65px;align-items:start}.detail-copy h2{font-size:42px;line-height:1.05;letter-spacing:-.04em}.detail-copy p{color:var(--muted);line-height:1.8}.feature-list{display:grid;grid-template-columns:1fr 1fr;gap:16px}.feature-box{padding:22px;border:1px solid var(--line);border-radius:13px;background:#fff}.feature-box b{display:block;margin-bottom:6px}.feature-box span{color:var(--muted);font-size:13px}.price-note{padding:25px;border-radius:14px;background:var(--light)}.price-note h3{margin-top:0}.price-note p{color:var(--muted)}
.faq{display:grid;gap:12px}.faq details{padding:20px 22px;border:1px solid var(--line);border-radius:12px;background:#fff}.faq summary{cursor:pointer;font-weight:800}.faq details p{margin:14px 0 0;color:var(--muted)}
.contact-layout{display:grid;grid-template-columns:1.4fr .7fr;gap:55px}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-form label{display:grid;gap:8px;font-size:12px;font-weight:800}.contact-form input,.contact-form textarea,.contact-form select{width:100%;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fff}.full-field,.contact-form .button,.form-status{grid-column:1/-1}.contact-card{padding:30px;border-radius:16px;background:var(--light);align-self:start}.contact-card h2{margin-top:0;font-size:30px}.contact-card p{line-height:1.7}.contact-card a{color:var(--primary)}
.legal-page{width:min(920px,calc(100% - 40px));min-height:65vh;margin:auto;padding:72px 54px}.legal-page>small{color:var(--primary);font-size:10px;font-weight:900;letter-spacing:.14em}.legal-page>h1{margin:18px 0 40px;font-size:clamp(38px,5vw,58px);line-height:1.05;letter-spacing:-.045em}.legal-content{width:100%;color:#24313e;font-size:16px;line-height:1.78;white-space:pre-wrap}.legal-content .legal-lead{margin:0 0 34px;padding:16px 18px;border-left:3px solid var(--primary);border-radius:0 8px 8px 0;background:#f2f8ff;font-weight:700}.legal-content h2{margin:38px 0 10px;color:var(--dark);font-size:21px;line-height:1.3}.legal-content p{max-width:76ch;margin:0 0 20px;white-space:normal;overflow-wrap:break-word}.legal-date{margin-top:45px;padding-top:24px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}
.site-footer{padding:70px 0 24px;background:#03080d;color:#fff}.footer-grid{display:grid;grid-template-columns:1.45fr .8fr 1.1fr 1.15fr;gap:42px}.footer-logo{width:235px;height:62px}.footer-brand p{max-width:310px;color:#93a5b4;font-size:13px;line-height:1.7}.site-footer h3{margin:0 0 18px;color:#79baff;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.site-footer nav,.footer-contact{display:grid;gap:10px;color:#c1ccd5;font-size:12px}.site-footer a:hover{color:#79baff}.copyright{display:block;margin-top:48px;padding-top:20px;border-top:1px solid #1e2d39;color:#748694;font-size:11px}.simple-footer{display:flex;justify-content:center;flex-wrap:wrap;gap:24px;padding:28px;background:var(--dark);color:#fff;font-size:12px}
@media(max-width:1050px){.site-nav{gap:15px}.site-nav a{font-size:12px}.hero-grid{grid-template-columns:1fr 1fr;gap:35px}.category-grid,.product-grid{grid-template-columns:repeat(2,1fr)}.software-feature{gap:40px;padding:45px}.footer-grid{grid-template-columns:1.2fr 1fr 1fr}.footer-grid>div:last-child{grid-column:2/-1}}
@media(max-width:850px){.site-header{height:78px}.brand-frame{width:215px;height:56px}.site-nav{display:none}.menu-toggle{display:block}.header-actions>.button{display:none}.hero-grid{grid-template-columns:1fr;padding:72px 0}.hero-studio{min-height:460px}.trust-grid{grid-template-columns:1fr 1fr}.trust-grid div:nth-child(2){border-right:0}.service-grid,.process-grid{grid-template-columns:1fr}.software-feature,.detail-grid,.contact-layout{grid-template-columns:1fr}.software-screen{order:2}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:last-child{grid-column:auto}.cta-inner{align-items:flex-start;flex-direction:column}.header-inner.menu-open .site-nav{position:absolute;display:grid;left:0;right:0;top:78px;padding:20px 24px;background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--shadow)}.header-inner.menu-open .site-nav a{padding:9px 0}.header-inner.menu-open .site-nav a:after{display:none}}
@media(max-width:580px){.container{width:min(100% - 32px,1180px)}.hero-copy h1{font-size:50px}.hero-copy>p,.page-hero p{font-size:16px}.hero-buttons,.page-actions{display:grid}.benefit-list{display:grid}.hero-studio{min-height:390px}.studio-panel{inset:15px 0}.production-card.main{left:18px;right:18px;height:185px}.production-card.main strong{font-size:34px}.production-card.mini{bottom:20px;height:92px;padding:15px}.production-card.mini.left{left:18px}.production-card.mini.right{right:18px}.studio-badge{display:none}.trust-grid,.category-grid,.product-grid,.feature-list,.footer-grid{grid-template-columns:1fr}.trust-grid div{border-right:0;border-bottom:1px solid var(--line)}.section{padding:75px 0}.product-visual{height:330px}.software-feature{padding:28px 22px}.software-screen{min-height:300px}.screen-body{height:220px}.cta-band{padding:55px 0}.legal-page{width:100%;padding:52px 24px}.legal-page>h1{font-size:38px}.contact-form{grid-template-columns:1fr}.contact-form>*{grid-column:1}.footer-grid>div:last-child{grid-column:auto}}
/* Champ piege anti-robot du formulaire de contact : hors ecran, jamais focusable. */
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ---- Boutique : filtres, grille d'articles, prix ---- */
.shop-toolbar{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 34px}
.shop-filter{border:1px solid var(--line);background:var(--paper);color:var(--muted);border-radius:999px;padding:9px 18px;font-size:13px;font-weight:700;cursor:pointer;transition:all .2s}
.shop-filter:hover{border-color:var(--primary);color:var(--primary)}
.shop-filter.on{background:var(--primary);border-color:var(--primary);color:#fff}
.flag-toolbar{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px;margin:0 0 28px}.flag-toolbar label{display:grid;gap:8px;color:var(--muted);font-size:12px;font-weight:800}.flag-toolbar input,.flag-toolbar select{width:100%;padding:13px;border:1px solid var(--line);background:#fff;border-radius:6px;color:var(--ink)}.flag-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.flag-card{padding:14px;border:1px solid var(--line);background:#fff;border-radius:10px;box-shadow:0 8px 22px rgba(7,17,29,.05)}.flag-card img{display:block;width:100%;height:92px;object-fit:cover;background:#edf1f4;border-radius:5px}.flag-card h3{margin:12px 0 5px;font-size:15px}.flag-card p{margin:0 0 9px;color:var(--muted);font-size:11px}.flag-card strong{color:var(--primary);font-size:14px}@media(max-width:900px){.flag-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:580px){.flag-toolbar{grid-template-columns:1fr}.flag-grid{grid-template-columns:repeat(2,1fr)}.flag-card img{height:66px}}
.music-panel{max-width:900px}.music-form{display:grid;gap:18px;max-width:680px}.music-form label{display:grid;gap:8px;color:var(--muted);font-size:12px;font-weight:800}.music-form input,.music-form select,.music-form textarea{width:100%;padding:13px;border:1px solid var(--line);background:#fff;border-radius:6px;color:var(--ink);font:inherit}.music-form textarea{resize:vertical}.form-status{min-height:24px;color:var(--muted)}.form-status.success{color:#16734a;font-weight:700}
.form-status.error{color:#b42318;font-weight:700}
.music-results{margin-top:20px;padding:18px;border:1px solid var(--line);background:#f7faf8;border-radius:8px}.music-results h3{margin:0 0 12px}.music-results audio{display:block;width:100%;margin-bottom:12px}
.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(272px,1fr));gap:26px}
.shop-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--paper);transition:transform .25s,box-shadow .25s}
.shop-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.shop-media{height:210px;display:grid;place-items:center;overflow:hidden;background:linear-gradient(145deg,var(--surface),var(--light))}
.shop-media img{width:100%;height:100%;object-fit:contain;padding:16px}
.shop-mark{font-size:34px;font-weight:800;color:var(--primary);opacity:.35;letter-spacing:.04em}
.shop-body{display:flex;flex-direction:column;flex:1;gap:9px;padding:20px}
.shop-cat{align-self:flex-start;font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--primary);background:var(--light);border-radius:999px;padding:4px 11px}
.shop-body h3{margin:0;font-size:17px;line-height:1.3}
.shop-body p{margin:0;font-size:13.5px;color:var(--muted);flex:1}
.shop-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:6px;padding-top:14px;border-top:1px solid var(--line)}
.shop-price{font-size:16px;font-weight:800;color:var(--ink)}
.shop-foot .button{padding:9px 15px;font-size:12.5px}
.shop-note{margin:34px 0 0;font-size:13px;color:var(--muted);font-style:italic}
.shop-empty{grid-column:1/-1;margin:0;padding:44px 0;text-align:center;color:var(--muted)}
@media(max-width:640px){.shop-grid{grid-template-columns:1fr}.shop-media{height:190px}}

/* Signature de marque sous le logo du pied de page */
.brand-tagline{margin:10px 0 0;font-size:13px;font-weight:700;font-style:italic;color:var(--primary);letter-spacing:.01em}

/* ---- Catalogue complet : filtres, recherche et tableaux ---- */
.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}
.cat-filtres{display:flex;flex-direction:column;gap:16px;margin:0 0 20px}
.cat-familles{display:flex;flex-wrap:wrap;gap:10px}
.cat-recherche{display:flex;flex-wrap:wrap;gap:12px}
.cat-recherche input,.cat-recherche select{border:1px solid var(--line);border-radius:10px;padding:11px 15px;font-size:14px;background:var(--paper);color:var(--ink)}
.cat-recherche input{flex:1;min-width:240px}
.cat-recherche input:focus,.cat-recherche select:focus{outline:2px solid var(--primary);outline-offset:1px}
.cat-compte{margin:0 0 14px;font-size:13px;color:var(--muted)}
.cat-tableau-cadre{overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:var(--paper)}
.cat-tableau{width:100%;border-collapse:collapse;font-size:14px;min-width:640px}
.cat-tableau th{text-align:left;font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);padding:14px 16px;border-bottom:1px solid var(--line);background:var(--surface);position:sticky;top:0}
.cat-tableau td{padding:13px 16px;border-bottom:1px solid var(--line);vertical-align:middle}
.cat-tableau tbody tr:last-child td{border-bottom:0}
.cat-tableau tbody tr:hover{background:var(--surface)}
.cat-tableau .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.cat-nom{display:block;font-weight:600;color:var(--ink)}
.cat-cat{display:block;font-size:12px;color:var(--muted);margin-top:2px}
.cat-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;color:var(--muted);white-space:nowrap}
.cat-lien{font-size:12.5px;font-weight:700;color:var(--primary);white-space:nowrap}
.cat-lien:hover{text-decoration:underline}
.cat-plus{display:flex;justify-content:center;margin:24px 0 0}
.col-sous-titre{margin:38px 0 14px;font-size:18px}
.col-grille td:first-child,.col-paquets td:first-child{min-width:210px}
@media(max-width:640px){.cat-recherche{flex-direction:column}.cat-recherche input{min-width:0}}

/* Lien vers les réseaux sociaux, dans le bloc coordonnées du pied de page */
.footer-social{display:inline-flex;align-items:center;gap:7px;margin-top:4px;font-weight:700;color:var(--primary)}
.footer-social::before{content:"";width:16px;height:16px;flex:0 0 auto;background:currentColor;-webkit-mask:center/contain no-repeat var(--ico-fb);mask:center/contain no-repeat var(--ico-fb)}
.footer-social:hover{text-decoration:underline}
:root{--ico-fb:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M22 12a10 10 0 10-11.56 9.88v-6.99H7.9V12h2.54V9.8c0-2.5 1.49-3.89 3.77-3.89 1.09 0 2.24.2 2.24.2v2.46h-1.26c-1.24 0-1.63.77-1.63 1.56V12h2.78l-.45 2.89h-2.33v6.99A10 10 0 0022 12z'/%3E%3C/svg%3E")}

/* ==========================================================================
   REFONTE ESTHÉTIQUE — direction éditoriale
   Titres en serif contemporain, neutres chauds, angles nets, ombres discrètes.
   Le bleu de la marque devient un accent précis au lieu de la couleur dominante.
   ========================================================================== */

:root{
  --surface:#f7f5f2;          /* blanc cassé chaud, plus habillé que le gris bleuté */
  --ink:#0c0d0f;
  --muted:#6f6b66;
  --line:#e7e3dd;             /* filet chaud */
  --shadow:0 22px 60px rgba(12,13,15,.08);
  --display:"Instrument Serif",Georgia,"Times New Roman",serif;
  --r:4px;                    /* rayon unique et discret */
}
body{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;letter-spacing:-.004em}

/* ---- Titres : serif éditorial, graisse normale, interlignage serré ---- */
.hero-copy h1,.page-hero h1,.section-heading h2,.software-copy h2,.cta-inner h2,
.legal-page>h1,.contact-card h2,.detail-copy h2,.col-sous-titre{
  font-family:var(--display);font-weight:400;letter-spacing:-.015em
}
.hero-copy h1{font-size:clamp(58px,7.2vw,108px);line-height:.9;margin:26px 0 26px}
.hero-copy h1 strong{font-weight:400;font-style:italic}
.section-heading h2{font-size:clamp(40px,5.2vw,68px);line-height:1;margin:16px 0 18px}
.page-hero h1{font-size:clamp(48px,6.2vw,82px);line-height:.96}
.cta-inner h2,.software-copy h2{line-height:1.02}
.legal-page>h1{font-weight:400}

/* ---- Micro-libellés : petites capitales très espacées ---- */
.eyebrow{font-size:10px;font-weight:700;letter-spacing:.22em}
.topbar{font-size:10px;letter-spacing:.2em;font-weight:600;background:var(--ink);padding:12px 20px}

/* ---- Boutons : nets, en capitales fines ---- */
.button{
  border-radius:2px;min-height:52px;padding:16px 28px;
  font-size:10.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  box-shadow:none;transition:transform .25s,background .25s,color .25s,border-color .25s
}
.button:hover{transform:translateY(-1px);box-shadow:none}
.button.outline{border:1px solid rgba(255,255,255,.4)}
.button.primary:hover{background:var(--ink)}

/* ---- Cartes : filet fin, angle net, ombre au survol seulement ---- */
.category-card,.product-visual,.shop-card,.feature-box,.contact-card,.faq details,
.cat-tableau-cadre,.price-note,.shop-admin-item{border-radius:var(--r)}
.category-card,.product-visual,.shop-card{box-shadow:none;border:1px solid var(--line)}
.category-card:hover,.shop-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.category-card:after{display:none}
.category-code{border-radius:2px;width:52px;height:52px;margin-bottom:36px;font-size:14px;font-weight:700;letter-spacing:.08em;background:transparent;border:1px solid var(--line);color:var(--ink)}
.category-card h3,.product-card h3,.shop-body h3{font-family:var(--display);font-weight:400;font-size:22px;letter-spacing:-.01em}
.product-visual{background:var(--surface);box-shadow:none}
.product-mark{border-radius:2px;background:transparent;box-shadow:none;color:var(--line);font-size:44px;font-weight:700;width:auto;height:auto;letter-spacing:.06em}
.product-card>a,.category-card a,.shop-body .button{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:700}

/* ---- Sections : plus de respiration ---- */
.section{padding:128px 0}
.section-heading{margin-bottom:64px}
.section-heading p{font-size:16px;color:var(--muted)}

/* ---- Bandeau de confiance : filets seulement ---- */
.trust-strip{background:var(--paper)}
.trust-grid div{padding:34px 26px}
.trust-grid b{font-family:var(--display);font-weight:400;font-size:19px}

/* ---- Étapes du processus ---- */
.process-step{border-top:1px solid var(--ink)}
.process-step h3{font-family:var(--display);font-weight:400;font-size:26px}
.process-step span{font-size:10px;letter-spacing:.2em;font-weight:700}

/* ---- Sections sombres : plus sobres, moins de halo ---- */
.hero{background:linear-gradient(160deg,#0c0d0f 0%,#111417 62%,#14202b 100%)}
.hero:before{opacity:.5}
.dark-section{background:linear-gradient(160deg,#0c0d0f,#141b22)}
.dark-section:after{opacity:.5}
.page-hero{background:linear-gradient(160deg,#0c0d0f,#16212b);padding:110px 0}
.service-card{border-radius:var(--r);border-color:rgba(255,255,255,.13);background:rgba(255,255,255,.03)}
.service-card h3{font-family:var(--display);font-weight:400;font-size:24px}
.cta-band{background:var(--ink)}
.cta-inner p{color:#b9b5b0}

/* ---- Boutique et catalogue ---- */
.shop-filter{border-radius:2px;letter-spacing:.1em;text-transform:uppercase;font-size:10.5px;font-weight:700;padding:11px 18px}
.shop-filter.on{background:var(--ink);border-color:var(--ink)}
.shop-cat{border-radius:2px;background:transparent;border:1px solid var(--line);color:var(--muted);letter-spacing:.14em}
.shop-media{background:var(--surface)}
.shop-price{font-family:var(--display);font-weight:400;font-size:22px}
.cat-recherche input,.cat-recherche select,.contact-form input,.contact-form textarea,.contact-form select{border-radius:2px}
.cat-tableau th{letter-spacing:.14em;font-weight:700;background:var(--paper)}
.cat-tableau tbody tr:hover{background:var(--surface)}

/* ---- Formulaires et pied de page ---- */
.contact-form label{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase}
.contact-card{background:var(--surface)}
.site-footer{background:var(--ink);padding:96px 0 28px}
.site-footer h3{color:#fff;font-size:10px;letter-spacing:.2em;font-weight:700}
.footer-brand p{color:#9c9791}
.site-footer nav,.footer-contact{color:#c6c1bb}
.site-footer a:hover{color:#fff}
.copyright{border-top:1px solid rgba(255,255,255,.12);color:#84807b}
.brand-tagline{font-family:var(--display);font-style:italic;font-weight:400;font-size:16px;color:#fff}
.brand-frame{border-radius:2px}

@media(max-width:580px){
  .section{padding:84px 0}
  .hero-copy h1{font-size:clamp(44px,12vw,58px)}
  .section-heading{margin-bottom:44px}
  .button{padding:15px 22px;letter-spacing:.14em}
}

/* Bandeau « ce que nous personnalisons » de la boutique */
.shop-apercu{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.shop-apercu-media{margin:0;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--surface)}
.shop-apercu-media img{width:100%;height:auto;display:block}
.shop-apercu-texte h2{font-family:var(--display);font-weight:400;font-size:clamp(34px,3.6vw,50px);line-height:1.02;letter-spacing:-.015em;margin:16px 0 18px}
.shop-apercu-texte p{color:var(--muted);font-size:16px;line-height:1.75;margin:0 0 18px}
.shop-apercu-texte .button{margin-top:6px}
@media(max-width:850px){.shop-apercu{grid-template-columns:1fr;gap:36px}}

/* Photo et description d'une référence du catalogue */
.cat-avec-photo{display:flex;gap:14px;align-items:flex-start}
.cat-photo{width:56px;height:56px;flex:0 0 auto;object-fit:contain;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}
.cat-bloc{min-width:0}
.cat-photo-reelle{object-fit:cover;background:#fff}
.cat-desc{display:block;font-size:12.5px;color:var(--muted);margin-top:4px;line-height:1.5}
/* Articles brodés plutôt qu'imprimés : casquettes et tuques */
.cat-methode{display:inline-block;margin-top:6px;padding:2px 8px;border-radius:999px;background:var(--light);color:var(--primary-dark);font-size:11px;font-weight:800}
.calc-broderie{display:block;margin-top:8px}
.cat-prix-direct{font-weight:700}

/* Couleurs, tailles et disponibilité rapportées en direct par l'API S&S */
.cat-direct{display:grid;gap:7px;margin-top:7px}
.cat-direct:empty{margin-top:0}
.cat-chargement{font-size:11.5px;color:var(--muted);opacity:.75}
.cat-couleurs{display:flex;flex-wrap:wrap;align-items:center;gap:5px}
.cat-couleur{width:16px;height:16px;padding:0;flex:0 0 auto;border:1px solid var(--line);border-radius:50%;background:var(--surface) center/cover no-repeat;cursor:pointer;transition:transform .15s,box-shadow .15s}
.cat-couleur:hover{transform:scale(1.18)}
.cat-couleur[aria-pressed=true]{box-shadow:0 0 0 2px var(--paper),0 0 0 3.5px var(--primary)}
.cat-couleur.rupture{opacity:.42}
.cat-couleurs-texte{margin-left:4px;color:var(--muted);font-size:11.5px;white-space:nowrap}
.cat-tailles{display:flex;flex-wrap:wrap;align-items:center;gap:5px}
.cat-tailles-titre{margin-right:2px;color:var(--muted);font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.cat-taille{padding:2px 7px;border:1px solid var(--line);border-radius:5px;background:var(--surface);font-size:11px;font-weight:700;line-height:1.5}
.cat-taille.rupture{border-style:dashed;color:var(--muted);background:transparent;font-weight:500}
.cat-stock{font-size:11.5px;font-weight:700}
.cat-stock.on{color:#1a7f4b}
.cat-stock.on:before{content:"●";margin-right:5px;font-size:9px;vertical-align:1px}
.cat-stock.off{color:var(--muted);font-weight:500}
@media(prefers-reduced-motion:reduce){.cat-couleur{transition:none}.cat-couleur:hover{transform:none}}

/* ---- Galerie des réalisations ---- */
.real-filtres{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 34px}
.real-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:24px}
.real-carte{display:flex;flex-direction:column;padding:0;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--paper);text-align:left;cursor:zoom-in;font:inherit;color:inherit;transition:transform .25s,box-shadow .25s}
.real-carte:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.real-carte:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.real-carte img{width:100%;height:280px;object-fit:cover;background:var(--surface)}
.real-legende{display:flex;flex-direction:column;gap:4px;padding:18px 20px 20px}
.real-legende b{font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--primary)}
.real-legende>span{font-family:var(--display);font-weight:400;font-size:21px;line-height:1.2}
.real-legende small{font-size:13px;color:var(--muted);line-height:1.55}
.real-vue{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:36px;background:rgba(12,13,15,.94)}
.real-vue[hidden]{display:none}
.real-vue figure{margin:0;max-width:min(1000px,100%);max-height:100%;display:flex;flex-direction:column;gap:14px}
.real-vue img{max-width:100%;max-height:78vh;object-fit:contain;border-radius:var(--r);background:#fff}
.real-vue figcaption{color:#e8e4df;font-size:13px;letter-spacing:.04em;text-align:center}
.real-vue-fermer{position:absolute;top:20px;right:24px;width:46px;height:46px;border:1px solid rgba(255,255,255,.3);border-radius:50%;background:transparent;color:#fff;font-size:17px;cursor:pointer}
.real-vue-fermer:hover{background:rgba(255,255,255,.12)}
@media(max-width:640px){.real-grille{grid-template-columns:1fr}.real-carte img{height:300px}.real-vue{padding:16px}}

/* La navigation compte huit entrées depuis l'ajout des Réalisations : elle
   déborde de l'en-tête avant l'ancien point de bascule. Le bouton de devis
   s'efface d'abord — il fait doublon avec « Contact » —, puis le menu passe
   en mode compact. */
@media(max-width:1100px){
  .header-actions>.button{display:none}
}
@media(max-width:950px){
  .site-nav{display:none}
  .menu-toggle{display:block}
  .header-inner.menu-open .site-nav{position:absolute;display:grid;gap:2px;left:0;right:0;top:100%;padding:20px 24px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:var(--shadow)}
  .header-inner.menu-open .site-nav a{padding:10px 0}
  .header-inner.menu-open .site-nav a:after{display:none}
}

/* ---- Calculateur de prix ---- */
.calc{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:start}
.calc-champs{display:grid;gap:18px}
.calc-champs label{display:grid;gap:8px;font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.calc-champs select,.calc-champs input{width:100%;padding:14px;border:1px solid var(--line);border-radius:2px;background:var(--paper);color:var(--ink);font-size:15px;letter-spacing:normal;text-transform:none;font-weight:400}
.calc-champs select:focus,.calc-champs input:focus{outline:2px solid var(--primary);outline-offset:1px}
.calc-duo{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.calc-aide{margin:0;font-size:13px;color:var(--muted);font-style:italic}
.calc-resultat{padding:30px 32px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}
.calc-resultat dl{margin:0;display:grid;gap:14px}
.calc-resultat dl>div{display:flex;justify-content:space-between;align-items:baseline;gap:16px}
.calc-resultat dt{font-size:10.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}
.calc-resultat dd{margin:0;font-size:15px;font-variant-numeric:tabular-nums;text-align:right}
.calc-unitaire{padding-top:14px;border-top:1px solid var(--line)}
.calc-total{padding-top:14px;border-top:1px solid var(--ink)}
.calc-total dt{color:var(--ink)}
.calc-total dd{font-family:var(--display);font-weight:400;font-size:30px;line-height:1.1}
.calc-resultat .button{width:100%;margin-top:26px}
@media(max-width:850px){.calc{grid-template-columns:1fr;gap:30px}}

/* ---- Capture d'écran de BuilderSheetPro ---- */
.software-screen{margin:0;padding:10px;min-height:0;border:1px solid var(--line);border-radius:var(--r);
  background:var(--surface);box-shadow:0 26px 60px rgba(12,13,15,.16)}
.software-screen img{width:100%;height:auto;display:block;border-radius:2px}
.software-screen figcaption{margin-top:10px;font-size:12px;line-height:1.5;color:var(--muted);text-align:center}

/* La capture de BuilderSheetPro est large et dense : elle prend toute la
   largeur, l'argumentaire passe dessous sur deux colonnes. */
.software-feature.pleine{grid-template-columns:1fr;gap:40px;padding:44px}
.software-feature.pleine .software-copy{display:grid;grid-template-columns:1fr 1fr;gap:14px 44px;align-items:start}
.software-feature.pleine .software-copy .eyebrow,
.software-feature.pleine .software-copy h2{grid-column:1}
.software-feature.pleine .software-copy>p{grid-column:1;margin:0}
.software-feature.pleine .software-points{grid-column:2;grid-row:1/4;margin:0;align-self:center}
@media(max-width:850px){
  .software-feature.pleine{padding:26px 20px;gap:28px}
  .software-feature.pleine .software-copy{grid-template-columns:1fr}
  .software-feature.pleine .software-points{grid-column:1;grid-row:auto}
}

/* ---- Page commerciale BuilderSheetPro ---- */
.bsp-hero{background:linear-gradient(135deg,#07111d 0%,#0b2944 62%,#0b5ca5 140%);color:#fff}
.bsp-hero .eyebrow,.bsp-hero>div>p{color:#c7dcf0}
.bsp-hero .outline{border-color:rgba(255,255,255,.5);color:#fff}
.bsp-hero .outline:hover{background:#fff;color:var(--ink)}
.bsp-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
.bsp-badges span{padding:8px 13px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(255,255,255,.07);font-size:12px;font-weight:700;letter-spacing:.03em}
.bsp-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.bsp-feature-card{min-height:230px;padding:30px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);box-shadow:0 12px 30px rgba(12,13,15,.05)}
.bsp-feature-card>span{display:block;margin-bottom:26px;color:var(--blue);font-size:11px;font-weight:800;letter-spacing:.12em}
.bsp-feature-card h3{margin:0 0 12px;font-size:22px;line-height:1.15}
.bsp-feature-card p{margin:0;color:var(--muted);line-height:1.7}
.bsp-maquette{background:linear-gradient(135deg,#07111d,#0d2b45);color:#fff}
.bsp-maquette .detail-copy>p{color:#bdcbd7}
.bsp-maquette .outline{border-color:#5c7d99;color:#fff}
.bsp-maquette .price-note{background:#fff;color:var(--ink)}
.bsp-pricing{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch}
.bsp-price-card{display:flex;flex-direction:column;padding:34px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}
.bsp-price-card.featured{border:2px solid var(--blue);box-shadow:0 22px 48px rgba(22,135,255,.16);transform:translateY(-8px)}
.bsp-price-card h3{margin:4px 0 16px;font-family:var(--display);font-size:42px;line-height:1}
.bsp-price-card h3 small{display:block;margin-top:8px;font-family:var(--sans);font-size:12px;font-weight:700;color:var(--muted)}
.bsp-price-card>p:not(.eyebrow){min-height:64px;color:var(--muted);line-height:1.6}
.bsp-price-card ul{display:grid;gap:10px;margin:20px 0 28px;padding:0;list-style:none}
.bsp-price-card li:before{content:"✓";margin-right:9px;color:var(--blue);font-weight:900}
.bsp-price-card .button{margin-top:auto;text-align:center}
.bsp-price-card .button.outline{border-color:var(--line);background:#fff;color:var(--ink)}
.bsp-price-card .button.outline:hover{border-color:var(--primary);background:var(--primary);color:#fff}
.bsp-price-note{max-width:850px;margin:28px auto 0;text-align:center;color:var(--muted);font-size:13px;line-height:1.6}
.bsp-install{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.bsp-install span{display:flex;align-items:center;gap:9px;padding:10px 14px;border:1px solid var(--line);border-radius:999px;font-size:13px;font-weight:700}
.bsp-install b{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--blue);color:#fff;font-size:11px}
@media(max-width:950px){.bsp-feature-grid{grid-template-columns:repeat(2,1fr)}.bsp-pricing{grid-template-columns:1fr}.bsp-price-card.featured{transform:none}.bsp-price-card>p:not(.eyebrow){min-height:0}}
@media(max-width:580px){.bsp-feature-grid{grid-template-columns:1fr}.bsp-feature-card{min-height:0;padding:25px}.bsp-pricing{gap:14px}.bsp-price-card{padding:28px 24px}.bsp-badges{gap:7px}.bsp-badges span{font-size:11px}}

/* ---- Page dédiée au catalogue de vêtements ---- */
.catalogue-page-hero{position:relative;overflow:hidden;background:linear-gradient(128deg,#050b12 0%,#0b2135 62%,#086bc8 145%)}
.catalogue-page-hero:after{content:"";position:absolute;width:480px;height:480px;right:-150px;top:-210px;border:1px solid rgba(255,255,255,.12);border-radius:50%;box-shadow:0 0 0 90px rgba(255,255,255,.025),0 0 0 180px rgba(255,255,255,.02);pointer-events:none}
.catalogue-page-hero .container{position:relative;z-index:1}
.catalogue-highlights{border-bottom:1px solid var(--line);background:var(--paper)}
.catalogue-highlights strong{display:block;margin-bottom:5px;font-family:var(--display);font-size:30px;font-weight:400;color:var(--ink)}
.catalogue-page{padding-top:86px}
.catalogue-heading{max-width:820px}
.catalogue-page .cat-filtres{position:sticky;top:92px;z-index:12;margin:28px 0 20px;padding:18px;border:1px solid var(--line);background:rgba(255,255,255,.96);box-shadow:0 14px 35px rgba(7,17,29,.08);backdrop-filter:blur(12px)}
.catalogue-help h2{margin:10px 0 18px;font-family:var(--display);font-size:clamp(38px,5vw,64px);font-weight:400;line-height:1}
.catalogue-help p:not(.eyebrow){max-width:700px;color:var(--muted);line-height:1.8}
.info-card{padding:34px;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow)}
.info-card h3{margin:0 0 22px;font-size:22px}
.catalogue-steps{display:grid;gap:15px;margin:0;padding:0;list-style:none;counter-reset:catalogue-step}
.catalogue-steps li{position:relative;min-height:34px;padding:7px 0 7px 48px;color:var(--muted);line-height:1.55;counter-increment:catalogue-step}
.catalogue-steps li:before{content:counter(catalogue-step);position:absolute;left:0;top:0;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--primary);color:#fff;font-size:12px;font-weight:800}
@media(max-width:850px){.catalogue-page .cat-filtres{top:78px}.catalogue-page-hero:after{right:-300px}.catalogue-highlights .trust-grid{grid-template-columns:1fr 1fr}}
@media(max-width:580px){.catalogue-page{padding-top:62px}.catalogue-page .cat-filtres{position:static;padding:14px}.catalogue-highlights .trust-grid{grid-template-columns:1fr 1fr}.catalogue-highlights .trust-grid div{padding:22px 18px}.catalogue-highlights strong{font-size:24px}.info-card{padding:26px 22px}}
/* Parcours article -> personnalisation -> panier */
.commerce-page{min-height:65vh}.back-link{display:inline-block;margin-bottom:24px;color:var(--primary);font-weight:700;text-decoration:none}.product-detail{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(320px,1.1fr);gap:56px;align-items:start}.product-visual{background:#fff;border:1px solid rgba(7,17,29,.1);border-radius:20px;padding:24px;text-align:center}.product-visual img{display:block;width:100%;max-height:570px;object-fit:contain}.product-visual p{margin:14px 0 0;color:#687386;font-size:13px}.product-info h1{margin:.25rem 0;font-size:clamp(2rem,4vw,3.8rem);line-height:1}.product-code{font-weight:800;color:var(--primary)}.selection-grid{display:grid;grid-template-columns:1fr 1fr 120px;gap:12px;margin:28px 0}.selection-grid label{display:grid;gap:7px;font-size:13px;font-weight:800}.selection-grid select,.selection-grid input{width:100%;padding:12px;border:1px solid #cad2dc;border-radius:9px;background:#fff;font:inherit}.template-match{display:flex;justify-content:space-between;gap:18px;padding:14px 16px;border-radius:10px;background:#eaf4ff;color:#17314f;font-size:13px}.template-match span{text-align:right}.product-price{display:grid;grid-template-columns:1fr auto;align-items:end;margin:25px 0}.product-price strong{font-size:2rem}.product-price small{grid-column:1/-1;color:#687386}.choice-actions{display:flex;gap:12px;flex-wrap:wrap}.choice-actions .button{flex:1;justify-content:center;min-width:190px}.choice-note{font-size:13px;color:#687386}.cart-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:42px;align-items:start}.cart-line{display:grid;grid-template-columns:110px minmax(0,1fr) 100px 110px auto;gap:18px;align-items:center;padding:18px 0;border-bottom:1px solid #dbe1e8}.cart-line img{width:110px;height:110px;object-fit:contain;background:#fff;border-radius:12px}.cart-line h2{font-size:18px;margin:0 0 6px}.cart-line p{margin:2px 0;color:#687386;font-size:13px}.cart-mode{display:inline-block;margin-top:6px;color:var(--primary);font-size:12px;font-weight:800}.cart-line label{display:grid;gap:5px;font-size:12px;font-weight:700}.cart-line input{width:78px;padding:8px;border:1px solid #cad2dc;border-radius:8px}.remove-line{border:0;background:none;color:#b42318;text-decoration:underline;cursor:pointer}.cart-summary{position:sticky;top:110px;padding:24px;border-radius:18px;background:#07111d;color:#fff}.cart-summary h2{margin-top:0}.cart-summary>div{display:flex;justify-content:space-between;gap:18px;padding:11px 0;color:#ccd6e2}.cart-summary .cart-grand{margin-top:10px;padding-top:18px;border-top:1px solid #425064;color:#fff}.cart-checkout{display:flex;justify-content:center;margin-top:20px}.cart-summary p{font-size:12px;color:#aebaca;line-height:1.5}.cart-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.empty-card{padding:32px;background:#fff;border:1px solid #dbe1e8;border-radius:16px}.disabled{opacity:.45;pointer-events:none}@media(max-width:900px){.product-detail,.cart-layout{grid-template-columns:1fr}.selection-grid{grid-template-columns:1fr 1fr}.cart-summary{position:static}.cart-line{grid-template-columns:82px 1fr auto}.cart-line img{width:82px;height:82px}.cart-line label,.cart-line>strong,.cart-line .remove-line{grid-column:2/-1}.template-match{display:grid}.template-match span{text-align:left}}@media(max-width:560px){.selection-grid{grid-template-columns:1fr}.product-detail{gap:24px}.cart-line{grid-template-columns:70px 1fr;gap:12px}.cart-line img{width:70px;height:70px}}
.checkout-layout{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:48px;align-items:start}.checkout-form{display:grid;gap:18px;margin-top:28px}.checkout-form>label{display:grid;gap:7px;font-size:13px;font-weight:800}.checkout-form textarea{width:100%;padding:12px;border:1px solid #cad2dc;border-radius:9px;background:#fff;font:inherit;resize:vertical}.checkout-error{margin:4px 0;padding:13px 15px;border:1px solid #ff6b6b;border-radius:10px;background:#fff1f1;color:#8a1111;font-weight:700}.checkout-mini{display:flex!important;align-items:flex-start;gap:18px}.checkout-mini span{font-size:13px}.checkout-mini small{display:block;margin-top:3px;color:#8fa0b4;line-height:1.4}.checkout-mini strong{white-space:nowrap}@media(max-width:900px){.checkout-layout{grid-template-columns:1fr}.checkout-layout .cart-summary{order:-1}}
/* La broderie est un service principal de l'entreprise. */
.hero-price{display:grid;gap:3px;margin:22px 0;padding:14px 16px;border-left:4px solid #1687ff;background:rgba(22,135,255,.12)}.hero-price b{color:#fff;font-size:17px}.hero-price span{color:#b9c9d9;font-size:13px}
.embroidery-home{background:linear-gradient(135deg,#06111d,#0c2a44);color:#fff}.embroidery-home-grid{display:grid;grid-template-columns:minmax(280px,.88fr) minmax(320px,1.12fr);gap:58px;align-items:center}.embroidery-home-media{position:relative;min-height:430px;border-radius:22px;overflow:hidden;background:#fff}.embroidery-home-media img{width:100%;height:100%;min-height:430px;object-fit:cover}.embroidery-home-media span{position:absolute;left:18px;bottom:18px;padding:10px 13px;border-radius:8px;background:#087cf0;color:#fff;font-size:11px;font-weight:900;letter-spacing:.1em}.embroidery-home-copy h2{margin:.3rem 0 1rem;font-size:clamp(2.4rem,5vw,4.6rem);line-height:.98}.embroidery-home-copy>p{color:#bfccda;line-height:1.75}.embroidery-home-points{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:24px 0}.embroidery-home-points span{padding:10px 12px;border:1px solid rgba(121,186,255,.24);border-radius:9px;background:rgba(255,255,255,.04);font-size:13px}.embroidery-home .button.outline{border-color:#7894ad;color:#fff}.embroidery-card{border-color:rgba(22,135,255,.7)!important;background:linear-gradient(145deg,rgba(22,135,255,.18),rgba(255,255,255,.04))!important}.embroidery-heading{max-width:920px}.embroidery-intro{margin-top:38px}.embroidery-intro .detail-copy h3{font-family:var(--display);font-size:32px;margin-top:0}.embroidery-note img{width:100%;max-height:240px;object-fit:cover;border-radius:12px;margin-bottom:18px}.embroidery-note .button{display:flex;justify-content:center;margin-top:10px}.embroidery-products{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:34px}.embroidery-products article{padding:21px;border:1px solid var(--line);border-radius:14px;background:#fff}.embroidery-products b{font-size:16px}.embroidery-products p{margin:8px 0 0;color:var(--muted);font-size:13px;line-height:1.6}.embroidery-products.large{grid-template-columns:repeat(3,1fr)}.embroidery-hero{padding-bottom:80px}.embroidery-hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:50px;align-items:center}.embroidery-hero-photo{overflow:hidden;border-radius:22px;background:#fff;box-shadow:var(--shadow)}.embroidery-hero-photo img{display:block;width:100%;min-height:390px;object-fit:cover}.embroidery-options{grid-template-columns:repeat(3,1fr)}.embroidery-price .price-kicker{display:block;color:var(--primary);font-size:11px;font-weight:900;letter-spacing:.1em}.embroidery-price>strong{display:block;margin:7px 0 18px;font-family:var(--display);font-size:44px;line-height:1}.faq-list{display:grid;gap:11px;max-width:900px;margin:auto}.faq-list details{border:1px solid var(--line);border-radius:12px;background:#fff;padding:0 18px}.faq-list summary{padding:18px 0;cursor:pointer;font-weight:800}.faq-list details p{margin:0 0 18px;color:var(--muted);line-height:1.7}@media(max-width:900px){.embroidery-home-grid,.embroidery-hero-grid{grid-template-columns:1fr}.embroidery-products,.embroidery-products.large{grid-template-columns:1fr 1fr}.embroidery-options{grid-template-columns:1fr 1fr}}@media(max-width:560px){.embroidery-home-points,.embroidery-products,.embroidery-products.large,.embroidery-options{grid-template-columns:1fr}.embroidery-home-media,.embroidery-home-media img{min-height:300px}}
.inov-hero{background:linear-gradient(135deg,#040a10 0%,#102b43 58%,#1687ff 150%)}
.inov-proof{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.inov-proof span{padding:9px 13px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(255,255,255,.07);font-size:12px;font-weight:800}
.inov-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.inov-benefits article{padding:30px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 12px 30px rgba(7,17,29,.05)}.inov-benefits b,.inov-price>span{color:var(--primary);font-size:11px;letter-spacing:.12em;font-weight:900}.inov-benefits h3{margin:28px 0 10px;font-size:23px}.inov-benefits p,.inov-price p{margin:0;color:var(--muted);line-height:1.7}
.inov-pricing{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.inov-price{display:flex;flex-direction:column;padding:28px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 12px 30px rgba(7,17,29,.05)}.inov-price.featured{border:2px solid var(--primary);box-shadow:0 22px 48px rgba(22,135,255,.16);transform:translateY(-7px)}.inov-price strong{margin:13px 0 16px;font-family:var(--display);font-size:36px;font-weight:400;line-height:1}.inov-price h3{margin:0 0 9px;font-size:20px}.inov-price a{margin-top:auto;padding-top:24px;color:var(--primary);font-size:12px;font-weight:900}.inov-note{margin:28px auto 0;max-width:800px;text-align:center;color:var(--muted);font-size:13px}.inov-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:25px}.inov-list span{padding:12px 14px;border:1px solid var(--line);border-radius:9px;background:var(--surface);font-size:13px;font-weight:700}.inov-list span:before{content:'✓';margin-right:8px;color:var(--primary)}
.inov-reperes{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin-top:25px;padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:12px}.inov-reperes b{width:100%;font-size:13px}.inov-reperes span{padding:7px 10px;border-radius:999px;background:var(--light);color:#17314f;font-weight:700}
@media(max-width:950px){.inov-pricing{grid-template-columns:repeat(2,1fr)}.inov-price.featured{transform:none}}@media(max-width:700px){.inov-benefits,.inov-pricing{grid-template-columns:1fr}.inov-list{grid-template-columns:1fr}.inov-price strong{font-size:32px}}
