
:root{--navy:#10265c;--navy2:#173677;--orange:#ff6818;--orange2:#eb5607;--ink:#111a2f;--muted:#68738a;--line:#e5e9f1;--soft:#f6f8fc;--green:#15915a;--red:#d92d20;--white:#fff;--shadow:0 12px 34px rgba(16,38,92,.11)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#fff;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}img{display:block;max-width:100%}.container{width:min(1240px,calc(100% - 28px));margin:auto}.topbar{background:linear-gradient(90deg,var(--navy),var(--navy2));color:#fff;font-size:.82rem}.topbar .container{min-height:35px;display:flex;align-items:center;justify-content:space-between;gap:18px}.header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.header-row{min-height:82px;display:grid;grid-template-columns:auto minmax(260px,1fr) auto;gap:24px;align-items:center}.brand{display:flex;align-items:center;gap:11px;font-weight:950}.brand img{width:52px;height:52px}.brand-copy{display:flex;flex-direction:column;gap:4px}.brand-copy strong{font-size:1.27rem}.brand-copy small{font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:#77829a}.searchbar{height:48px;border:2px solid var(--orange);border-radius:999px;display:flex;overflow:hidden;background:#fff}.searchbar input{flex:1;min-width:0;border:0;outline:0;padding:0 18px}.searchbar button{width:58px;border:0;background:var(--orange);color:#fff;font-size:1.15rem}.header-actions{display:flex;gap:10px}.icon-btn{border:0;background:transparent;min-width:66px;font-weight:850;color:var(--ink);cursor:pointer;position:relative}.icon-btn span{display:block;font-size:1.35rem}.cart-count{position:absolute;right:3px;top:-4px;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--orange);color:#fff;display:grid;place-items:center;font-size:.68rem}.category-nav{border-bottom:1px solid var(--line);background:#fff}.category-list{display:flex;gap:28px;overflow:auto;white-space:nowrap;min-height:48px;align-items:center;font-weight:900}.category-list a:first-child{color:var(--orange)}
.hero{margin-top:22px;border-radius:26px;overflow:hidden;min-height:380px;display:grid;grid-template-columns:1.1fr .9fr;background:linear-gradient(120deg,#fff5eb 0%,#fffaf5 50%,#eef3fb 50%,#e7edf8 100%);box-shadow:var(--shadow)}.hero-copy{padding:52px}.kicker{font-size:.77rem;color:var(--orange2);text-transform:uppercase;letter-spacing:.12em;font-weight:950}.hero h1{font-size:clamp(2.45rem,5.4vw,4.9rem);line-height:.97;letter-spacing:-.055em;margin:15px 0}.hero p{color:var(--muted);font-size:1.04rem;line-height:1.72;max-width:650px}.btn{min-height:48px;padding:0 19px;border-radius:11px;border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;font-weight:950;cursor:pointer}.btn-primary{background:linear-gradient(180deg,var(--orange),var(--orange2));border-color:var(--orange2);color:#fff}.hero-side{padding:32px;display:grid;align-content:center;gap:14px}.hero-stat{background:rgba(255,255,255,.82);border:1px solid rgba(16,38,92,.08);border-radius:18px;padding:20px}.hero-stat strong{display:block;font-size:2rem;color:var(--navy)}.hero-stat span{color:var(--muted)}
.benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:22px 0 34px}.benefit{border:1px solid var(--line);border-radius:15px;padding:17px;background:#fff}.benefit strong{display:block;margin-bottom:4px}.benefit span{color:var(--muted);font-size:.82rem}.catalog-head{display:flex;justify-content:space-between;gap:20px;align-items:end;margin:26px 0 16px}.catalog-head h2{font-size:clamp(1.8rem,4vw,2.7rem);margin:0}.catalog-head p{color:var(--muted);margin:6px 0 0}.catalog-tools{padding:14px;border-radius:17px;background:var(--soft);display:grid;grid-template-columns:1fr auto;gap:13px;margin-bottom:14px;max-width:100%}.catalog-search{height:46px;border:1px solid #d8dee8;border-radius:11px;background:#fff;display:flex;align-items:center;gap:10px;padding:0 14px}.catalog-search input{width:100%;min-width:0;border:0;outline:0}.filters,.subfilters{display:flex;gap:8px;overflow-x:auto;max-width:100%;padding-bottom:2px}.filter,.subfilter{white-space:nowrap;border:1px solid #d7dde7;border-radius:999px;background:#fff;color:var(--navy);padding:10px 14px;font-weight:900;cursor:pointer}.filter.active{background:var(--navy);color:#fff;border-color:var(--navy)}.subfilter.active{background:var(--orange);color:#fff;border-color:var(--orange)}.subcat-panel{display:none;border:1px solid #ffd4bd;background:#fff7f1;border-radius:17px;padding:14px;margin-bottom:16px}.subcat-panel.visible{display:block}.subcat-panel strong{display:block;color:var(--orange2);margin-bottom:10px}.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;padding-bottom:70px}.product-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:17px;overflow:hidden;background:#fff;min-width:0;transition:.2s}.product-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.product-visual{position:relative;aspect-ratio:1.2;background:#f5f7fa;overflow:hidden}.product-visual img{width:100%;height:100%;object-fit:contain;padding:12px}.badge{position:absolute;left:12px;top:12px;background:var(--orange);color:#fff;padding:7px 9px;border-radius:8px;font-size:.71rem;font-weight:950}.card-body{padding:15px;display:flex;flex-direction:column;flex:1}.eyebrow{font-size:.7rem;color:#68748b;letter-spacing:.1em;text-transform:uppercase;font-weight:900}.pill{display:inline-flex;align-self:flex-start;margin-top:8px;border-radius:999px;padding:6px 9px;background:#eef3ff;color:var(--navy);font-size:.7rem;font-weight:900}.product-card h3{font-size:1rem;line-height:1.35;margin:10px 0 8px}.card-desc{color:var(--muted);font-size:.8rem;line-height:1.5;margin:0 0 14px}.price{margin-top:auto;font-weight:950;font-size:1.55rem}.stock{color:var(--green);font-size:.76rem;font-weight:850;margin-top:7px}.card-actions{display:grid;grid-template-columns:1fr 46px;gap:8px;margin-top:12px}.view,.add{height:44px;border-radius:10px;font-weight:950;cursor:pointer}.view{display:flex;align-items:center;justify-content:center;background:var(--orange);color:#fff}.add{border:1px solid var(--orange);background:#fff;color:var(--orange);font-size:1.15rem}.empty{display:none;padding:50px;border:1px dashed var(--line);border-radius:16px;text-align:center;color:var(--muted)}
.product-page{padding-bottom:60px}.breadcrumb{padding:18px 0;color:var(--muted);font-size:.84rem}.product-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(390px,.95fr);gap:42px}.gallery{position:sticky;top:112px}.gallery-main{aspect-ratio:1.15;border:1px solid var(--line);border-radius:20px;background:#f6f8fb;overflow:hidden}.gallery-main img{width:100%;height:100%;object-fit:contain;padding:24px}.product-info h1{font-size:clamp(2rem,4vw,3.2rem);line-height:1.03;letter-spacing:-.045em;margin:9px 0 12px}.product-lead{color:var(--muted);line-height:1.7}.key-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.key{padding:12px;border-radius:11px;background:var(--soft);font-size:.82rem}.key::before{content:'✓';color:var(--green);font-weight:950;margin-right:8px}.buy-box{border:1px solid var(--line);border-radius:17px;padding:22px;box-shadow:var(--shadow)}.buy-price{font-size:2.35rem;font-weight:950}.buy-meta{color:var(--muted);font-size:.79rem;margin-top:6px}.buy-actions{display:grid;grid-template-columns:100px 1fr;gap:10px;margin-top:17px}.qty{display:grid;grid-template-columns:32px 1fr 32px;border:1px solid #d2d8e1;border-radius:10px;overflow:hidden}.qty button{border:0;background:var(--soft)}.qty input{width:100%;border:0;text-align:center}.buy-btn{height:50px;border:0;border-radius:10px;background:var(--orange);color:#fff;font-weight:950}.details{margin-top:50px}.detail-card{padding:28px 0;border-bottom:1px solid var(--line)}.detail-card h2{font-size:1.55rem}.detail-card p{color:var(--muted);line-height:1.75;max-width:900px}.spec-table{width:100%;border-collapse:collapse}.spec-table tr:nth-child(odd){background:var(--soft)}.spec-table th,.spec-table td{text-align:left;padding:13px 15px;border-bottom:1px solid var(--line);font-size:.87rem}.spec-table th{width:34%;color:var(--muted)}
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);opacity:0;pointer-events:none;z-index:80}.overlay.open{opacity:1;pointer-events:auto}.drawer{position:fixed;right:0;top:0;bottom:0;z-index:90;width:min(440px,100%);background:#fff;transform:translateX(100%);transition:.25s;display:flex;flex-direction:column}.drawer.open{transform:translateX(0)}.drawer-head{padding:18px;display:flex;justify-content:space-between;border-bottom:1px solid var(--line)}.drawer-head h2{margin:0}.drawer-head button{border:0;background:#fff;font-size:1.2rem}.cart-items{flex:1;overflow:auto;padding:14px 18px}.cart-item{display:grid;grid-template-columns:66px 1fr auto;gap:10px;padding:12px 0;border-bottom:1px solid var(--line);align-items:center}.cart-item img{width:66px;height:58px;object-fit:contain;background:var(--soft);border-radius:9px}.cart-item h4{margin:0 0 5px;font-size:.84rem}.cart-qty{display:flex;gap:6px;align-items:center;margin-top:6px}.cart-qty button{width:27px;height:27px;border:1px solid var(--line);background:#fff;border-radius:7px}.remove{border:0;background:transparent;color:var(--red);font-size:.7rem}.drawer-foot{padding:18px;border-top:1px solid var(--line)}.total{display:flex;justify-content:space-between;margin-bottom:13px}.checkout-btn{width:100%;height:49px;border:0;border-radius:10px;background:var(--orange);color:#fff;font-weight:950}.toast{position:fixed;left:50%;bottom:24px;z-index:120;transform:translate(-50%,20px);opacity:0;background:var(--navy);color:#fff;padding:11px 17px;border-radius:999px;font-size:.82rem;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}
.page-shell{padding:42px 0 70px}.page-title{font-size:clamp(2rem,5vw,3.5rem);margin:0 0 10px}.page-intro{color:var(--muted);line-height:1.7;max-width:780px}.panel{border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow);padding:22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-weight:850;font-size:.82rem}.field input,.field select,.field textarea{width:100%;border:1px solid #d6dce5;border-radius:10px;padding:12px;background:#fff}.field textarea{min-height:120px;resize:vertical}.notice{padding:14px;border-radius:11px;background:#fff7ed;border-left:4px solid var(--orange);color:#7c2d12;line-height:1.5;font-size:.84rem}.success{background:#ecfdf3;color:#11633b;border-left-color:#15915a}.admin-layout{display:grid;grid-template-columns:220px 1fr;gap:20px}.admin-nav{display:grid;gap:8px;align-content:start}.admin-nav button{padding:12px;border:1px solid var(--line);border-radius:10px;background:#fff;text-align:left;font-weight:900}.admin-nav button.active{background:var(--navy);color:#fff}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:760px}.data-table th,.data-table td{padding:11px;border-bottom:1px solid var(--line);text-align:left;font-size:.8rem}.data-table th{background:var(--soft)}.admin-actions{display:flex;gap:7px}.small-btn{border:1px solid var(--line);border-radius:8px;padding:7px 9px;background:#fff;font-weight:850}.modal{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:120;display:none;place-items:center;padding:18px}.modal.open{display:grid}.modal-card{width:min(760px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:18px;padding:22px}.status{padding:5px 8px;border-radius:999px;background:#eef3ff;color:var(--navy);font-size:.7rem;font-weight:900}footer{background:linear-gradient(180deg,var(--navy),#0d1a3a);color:#fff;margin-top:30px}.footer-grid{display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:30px;padding:42px 0}.footer-grid h3{font-size:.95rem}.footer-grid p,.footer-grid a{color:#cbd5e7;font-size:.8rem;line-height:1.65}.footer-grid a{display:block;margin:7px 0}.copyright{border-top:1px solid rgba(255,255,255,.13);padding:16px 0;color:#cbd5e7;font-size:.76rem}
@media(max-width:1000px){.header-row{grid-template-columns:auto 1fr auto;gap:14px}.hero{grid-template-columns:1fr}.hero-side{grid-template-columns:repeat(3,1fr)}.benefits{grid-template-columns:repeat(2,1fr)}.catalog-tools{grid-template-columns:1fr}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-layout{grid-template-columns:1fr}.gallery{position:static}.footer-grid{grid-template-columns:repeat(2,1fr)}.admin-layout{grid-template-columns:1fr}.admin-nav{grid-template-columns:repeat(3,1fr)}}
@media(max-width:680px){.container{width:min(100% - 20px,1240px)}.topbar .container span:last-child{display:none}.header-row{min-height:72px;grid-template-columns:auto minmax(0,1fr) auto;gap:10px}.brand-copy{display:none}.brand img{width:44px;height:44px}.searchbar{height:43px}.icon-btn{min-width:46px;font-size:.75rem}.hero-copy{padding:30px 23px}.hero-side{grid-template-columns:1fr;padding:22px}.benefits{grid-template-columns:1fr}.product-grid{grid-template-columns:1fr 1fr;gap:10px}.product-card{border-radius:13px}.product-visual{aspect-ratio:1.05}.product-visual img{padding:8px}.card-body{padding:11px}.card-desc{display:none}.product-card h3{font-size:.88rem;min-height:4em}.price{font-size:1.23rem}.card-actions{grid-template-columns:1fr}.add{display:none}.product-info h1{font-size:2rem}.key-grid{grid-template-columns:1fr}.buy-actions{grid-template-columns:88px 1fr}.spec-table th,.spec-table td{display:block;width:100%}.spec-table th{padding-bottom:4px}.spec-table td{padding-top:4px}.footer-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.admin-nav{grid-template-columns:1fr 1fr}.catalog-head{align-items:flex-start;flex-direction:column}.filters,.subfilters{width:100%;overscroll-behavior-x:contain}.catalog-tools,.subcat-panel{max-width:100%;overflow:hidden}}
@media(max-width:360px){.product-grid{grid-template-columns:1fr}.header-row{grid-template-columns:auto 1fr}.header-actions{display:none}}


/* Validé Shop V14 — vitrine commerciale publique */
.hero{background:linear-gradient(120deg,#fff4e9 0%,#fffaf5 50%,#eef3fb 50%,#e5edf9 100%)}
.hero-copy{display:flex;flex-direction:column;justify-content:center}
.hero-copy h1{max-width:780px}
.hero-side{grid-template-columns:1fr;align-content:stretch;padding:24px}
.promo-tile{position:relative;display:grid;grid-template-columns:112px 1fr;align-items:center;gap:18px;min-height:112px;padding:15px;border-radius:18px;background:rgba(255,255,255,.9);border:1px solid rgba(16,38,92,.09);overflow:hidden;transition:.2s}
.promo-tile:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(16,38,92,.10)}
.promo-tile img{width:112px;height:88px;object-fit:contain;background:#f7f8fb;border-radius:14px;padding:8px}
.promo-tile small{display:block;color:var(--orange2);text-transform:uppercase;letter-spacing:.09em;font-size:.67rem;font-weight:950;margin-bottom:5px}
.promo-tile strong{display:block;font-size:1rem;line-height:1.3;color:var(--navy)}
.promo-tile span{display:block;margin-top:7px;color:var(--muted);font-size:.78rem;line-height:1.4}
.benefit{display:flex;gap:12px;align-items:flex-start}
.benefit-icon{flex:0 0 auto;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#fff1e8;color:var(--orange);font-weight:950}
.benefit-copy{min-width:0}
@media(max-width:1000px){.hero-side{grid-template-columns:repeat(3,minmax(0,1fr))}.promo-tile{grid-template-columns:1fr;text-align:center}.promo-tile img{margin:auto;width:100%;height:110px}.promo-tile span{display:none}}
@media(max-width:680px){.hero-side{grid-template-columns:1fr;padding:18px}.promo-tile{grid-template-columns:92px 1fr;text-align:left;min-height:102px}.promo-tile img{width:92px;height:78px;margin:0}.promo-tile span{display:block}.benefit{padding:15px}.topbar .container{justify-content:center;text-align:center}.topbar .container span:first-child{font-size:.76rem}}

/* AliExpress bulk importer */
.import-panel{margin:18px 0 22px;padding:18px;border:1px solid #dbe2ee;border-radius:16px;background:#f7f9fc}.import-panel h3{margin:0 0 6px}.import-panel p{margin:0;color:#667085;line-height:1.55}.import-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.import-controls label{display:grid;gap:6px;font-weight:800;font-size:.82rem}.import-controls input[type=number]{height:42px;border:1px solid #d0d5dd;border-radius:9px;padding:0 10px}.import-controls .check-line{display:flex;align-items:center;gap:8px}.import-controls .btn{align-self:end}.import-progress{margin-top:14px;padding:13px 15px;border-radius:10px;background:#eef4ff;color:#173b7a;font-weight:750}.import-success{margin-top:14px;padding:13px 15px;border-radius:10px;background:#ecfdf3;color:#067647;font-weight:750}.import-error{margin-top:14px;padding:13px 15px;border-radius:10px;background:#fef3f2;color:#b42318;font-weight:750}@media(max-width:760px){.import-controls{grid-template-columns:1fr}}

/* Import catalogue sans API */
.full-import-field{grid-column:1/-1}.csv-paste-label{display:grid;gap:8px;margin-top:16px;font-weight:850;font-size:.84rem}.csv-paste-label textarea{width:100%;min-height:150px;padding:12px;border:1px solid #d0d5dd;border-radius:10px;resize:vertical;font:500 .82rem/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}.import-preview-table{margin-top:14px}.import-errors{margin-top:12px;padding:12px;border:1px solid #fecdca;border-radius:10px;background:#fff6f5;color:#912018}.import-errors summary{cursor:pointer;font-weight:900}.import-errors li{margin:6px 0}
