:root { --encre:#2c2f2c; --papier:#f4eee6; --papier-clair:#faf7f2; --ligne:#cbc1b5; --doux:#6f706b; --terre:#795d49; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--encre); background:radial-gradient(circle at 10% 5%, #fbf7f1, transparent 35%), #e9e1d7; font-family:"Segoe UI",Arial,sans-serif; }
a { color:inherit; text-decoration:none; }
.bandeau-test { padding:7px 15px; background:#292c29; color:#e9e3da; text-align:center; font-size:10px; font-weight:700; letter-spacing:1.1px; text-transform:uppercase; }
.entete-boutique { min-height:86px; padding:12px max(6vw,24px); display:flex; align-items:center; justify-content:space-between; gap:30px; background:#f7f1e9eF; border-bottom:1px solid var(--ligne); }
.identite-boutique { display:flex; align-items:center; gap:13px; }
.identite-boutique img { width:48px; height:48px; }
.identite-boutique strong,.identite-boutique small { display:block; }
.identite-boutique strong { font-family:Georgia,serif; font-size:24px; font-weight:500; }
.identite-boutique small { margin-top:3px; color:var(--doux); font-size:9px; letter-spacing:1.4px; text-transform:uppercase; }
.entete-boutique nav { display:flex; align-items:center; gap:28px; font-family:Georgia,serif; font-size:15px; }
.lien-panier { display:flex; align-items:center; gap:8px; }
.lien-panier span { min-width:25px; padding:5px 7px; border-radius:50%; background:var(--encre); color:white; text-align:center; font-family:"Segoe UI",sans-serif; font-size:11px; }
main { width:min(1180px,calc(100% - 40px)); margin:auto; padding:42px 0 80px; }
.message-boutique { margin-bottom:22px; padding:13px 16px; border:1px solid var(--ligne); border-radius:8px; background:#f6f1e9; }
.message-boutique.erreur { color:#873c33; border-color:#c99e98; }
.message-boutique.succes { color:#3d5848; }
.hero-boutique { min-height:590px; display:grid; grid-template-columns:minmax(0,1fr) 420px; align-items:center; gap:45px; overflow:hidden; padding:35px 46px 35px 65px; border:1px solid #c5baad; border-radius:3px; background:#f1ebe3; box-shadow:0 14px 34px #433b3220; }
.hero-boutique img { width:100%; height:520px; object-fit:contain; mix-blend-mode:multiply; }
.surtitre-boutique { margin:0 0 12px; color:var(--terre); font-size:10px; font-weight:800; letter-spacing:2px; text-transform:uppercase; }
.texte-hero-boutique h1 { max-width:600px; margin:0 0 22px; font-family:Georgia,serif; font-size:clamp(40px,5vw,64px); font-weight:400; line-height:1.04; }
.texte-hero-boutique > p:not(.surtitre-boutique) { max-width:580px; color:var(--doux); font-size:16px; line-height:1.8; }
.texte-hero-boutique > a,.catalogue-vide-boutique > a { display:inline-block; margin-top:17px; padding:13px 20px; border:1px solid var(--encre); background:var(--encre); color:white; font-weight:700; }
.intro-boutique { max-width:680px; margin:85px auto 38px; text-align:center; }
.intro-boutique h2,.titre-boutique-simple h1 { margin:0 0 12px; font-family:Georgia,serif; font-size:clamp(36px,5vw,52px); font-weight:400; }
.intro-boutique > p:last-child,.titre-boutique-simple > p:last-child { color:var(--doux); }
.accueil-introduction { margin-bottom:70px; }
.selection-accueil-boutique { margin:0 0 85px; }
.entete-section-accueil { display:flex; align-items:end; justify-content:space-between; gap:25px; margin-bottom:25px; padding-bottom:18px; border-bottom:1px solid var(--ligne); }
.entete-section-accueil h2 { margin:0; font-family:Georgia,serif; font-size:35px; font-weight:400; }
.entete-section-accueil > a { color:var(--doux); font-size:12px; font-weight:700; }
.decouvrir-produit-accueil { display:inline-block; padding-bottom:3px; border-bottom:1px solid var(--encre); font-size:12px; font-weight:800; }
.passage-realisations-accueil { display:flex; align-items:center; justify-content:space-between; gap:35px; margin-top:80px; padding:42px 48px; border:1px solid var(--ligne); background:#f3ece3; }
.passage-realisations-accueil h2 { margin:0 0 10px; font-family:Georgia,serif; font-size:34px; font-weight:400; }
.passage-realisations-accueil p:last-child { margin:0; color:var(--doux); }
.passage-realisations-accueil > a { flex:0 0 auto; padding:13px 18px; border:1px solid var(--encre); background:var(--encre); color:white; font-weight:800; }
.entete-catalogue-boutique { display:flex; align-items:end; justify-content:space-between; gap:30px; margin:8px 0 28px; padding-bottom:22px; border-bottom:1px solid var(--ligne); }
.entete-catalogue-boutique h1 { margin:0 0 8px; font-family:Georgia,serif; font-size:clamp(40px,6vw,58px); font-weight:400; }
.entete-catalogue-boutique p:last-child { margin:0; color:var(--doux); }
.entete-catalogue-boutique > span { color:var(--doux); font-size:12px; white-space:nowrap; }
.filtres-catalogue-boutique { display:grid; grid-template-columns:1.1fr 1fr 1fr auto auto; align-items:end; gap:12px; margin-bottom:30px; padding:17px; border:1px solid var(--ligne); background:#f5efe7; }
.filtres-catalogue-boutique label { color:var(--doux); font-size:10px; font-weight:800; letter-spacing:.5px; text-transform:uppercase; }
.filtres-catalogue-boutique select { width:100%; margin-top:7px; padding:11px 34px 11px 11px; border:1px solid var(--ligne); background:white; color:var(--encre); font:inherit; font-size:12px; }
.filtres-catalogue-boutique button { padding:12px 17px; border:1px solid var(--encre); background:var(--encre); color:white; font-weight:800; cursor:pointer; }
.filtres-catalogue-boutique > a { padding:12px 5px; color:var(--doux); font-size:11px; text-decoration:underline; }
.grille-boutique { display:grid; grid-template-columns:repeat(3,1fr); gap:25px; }
.categories-client-boutique { display:flex; justify-content:center; flex-wrap:wrap; gap:9px; margin:0 0 30px; }
.categories-client-boutique a { padding:9px 14px; border:1px solid var(--ligne); background:#f6f0e8; font-size:12px; }
.categories-client-boutique a.actif { background:var(--encre); color:white; }
.categories-client-boutique span { margin-left:6px; opacity:.65; }
.carte-produit-boutique { overflow:hidden; border:1px solid var(--ligne); background:#f8f3ec; }
.image-produit-boutique { display:block; height:300px; overflow:hidden; background:#e7ded3; }
.image-produit-boutique img { width:100%; height:100%; object-fit:cover; transition:transform .35s; }
.image-produit-boutique:hover img { transform:scale(1.025); }
.sans-photo-boutique { display:block; width:100%; height:100%; background:#e8e0d6 url('/static/embleme-bd.svg') center/90px no-repeat; }
.carte-produit-boutique > div { padding:22px; }
.carte-produit-boutique small { color:var(--doux); font-size:10px; letter-spacing:1px; text-transform:uppercase; }
.carte-produit-boutique h3 { min-height:48px; margin:7px 0; font-family:Georgia,serif; font-size:22px; font-weight:500; }
.prix-boutique { margin:9px 0 18px; font-weight:800; }
.carte-produit-boutique button,.ajout-produit-boutique button,.commande-test-boutique button { width:100%; padding:12px 15px; border:1px solid var(--encre); background:var(--encre); color:white; font:inherit; font-weight:700; cursor:pointer; }
.indisponible-boutique { display:block; padding:11px; border:1px solid var(--ligne); color:var(--doux); text-align:center; font-size:12px; }
.catalogue-vide-boutique { max-width:760px; margin:45px auto; padding:70px 30px; border:1px solid var(--ligne); background:#f6f0e8; text-align:center; }
.catalogue-vide-boutique > span { display:block; width:60px; height:1px; margin:0 auto 25px; background:var(--encre); }
.catalogue-vide-boutique h3 { font-family:Georgia,serif; font-size:28px; font-weight:400; }
.catalogue-vide-boutique p { color:var(--doux); }
.pied-boutique { padding:50px 25px; display:flex; flex-direction:column; align-items:center; gap:8px; background:#292c29; color:#e7e0d7; text-align:center; }
.pied-boutique strong { font-family:Georgia,serif; font-size:25px; font-weight:400; }
.pied-boutique span { font-size:10px; letter-spacing:3px; text-transform:uppercase; }
.pied-boutique small { color:#aba8a2; }
.liens-legaux-boutique { display:flex; flex-wrap:wrap; justify-content:center; gap:8px 20px; margin:10px 0 4px; font-size:11px; }
.liens-legaux-boutique a { color:#d1cbc3; text-decoration:underline; text-underline-offset:3px; }
.retour-boutique { display:inline-block; margin-bottom:26px; color:var(--doux); }
.fiche-produit-boutique { display:grid; grid-template-columns:1.05fr .95fr; gap:60px; padding:38px; border:1px solid var(--ligne); background:#f7f1e9; }
.grande-image-produit { min-height:520px; background:#e8dfd4; }
.grande-image-produit img { width:100%; height:100%; max-height:620px; object-fit:cover; }
.infos-produit-boutique { align-self:center; padding:20px 25px 20px 0; }
.infos-produit-boutique h1 { margin:0 0 14px; font-family:Georgia,serif; font-size:clamp(36px,5vw,55px); font-weight:400; line-height:1.05; }
.grand-prix-boutique { font-size:22px; font-weight:800; }
.description-boutique { margin:28px 0; color:var(--doux); line-height:1.8; white-space:pre-line; }
.disponibilite-boutique { color:#4a5d4d; font-weight:700; }
.ajout-produit-boutique { display:grid; grid-template-columns:110px 1fr; align-items:end; gap:12px; margin-top:22px; }
.ajout-produit-boutique label { color:var(--doux); font-size:11px; }
.ajout-produit-boutique input { width:100%; margin-top:6px; padding:11px; border:1px solid var(--ligne); background:white; }
.engagements-boutique { display:grid; gap:0; margin-top:34px; border-top:1px solid var(--ligne); }
.engagements-boutique span { padding:11px 0; border-bottom:1px solid var(--ligne); color:var(--doux); font-size:12px; }
.notice-apercu-prive { margin-bottom:22px; padding:10px 13px; border:1px solid #b49c7c; background:#eee3d4; color:#6f5639; font-size:11px; font-weight:800; letter-spacing:.4px; text-transform:uppercase; }
.retour-validation-boutique { display:block; margin-top:22px; padding:13px 17px; border:1px solid var(--encre); background:var(--encre); color:white; text-align:center; font-weight:800; }
.titre-boutique-simple { max-width:760px; margin-bottom:40px; }
.panier-boutique { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:32px; align-items:start; }
.lignes-panier-boutique { padding:0 25px; border:1px solid var(--ligne); background:#f7f1e9; }
.lignes-panier-boutique article { display:grid; grid-template-columns:90px minmax(160px,1fr) 95px 95px auto; align-items:center; gap:18px; padding:22px 0; border-bottom:1px solid var(--ligne); }
.lignes-panier-boutique img,.lignes-panier-boutique .sans-photo-boutique { width:90px; height:90px; object-fit:cover; }
.lignes-panier-boutique h2 { margin:5px 0; font-family:Georgia,serif; font-size:20px; font-weight:500; }
.lignes-panier-boutique small,.lignes-panier-boutique span { color:var(--doux); font-size:11px; }
.lignes-panier-boutique label { color:var(--doux); font-size:10px; }
.lignes-panier-boutique input { width:80px; margin-top:5px; padding:9px; border:1px solid var(--ligne); }
.retirer-panier { border:0; background:transparent; color:#875047; cursor:pointer; text-decoration:underline; }
.actualiser-panier { margin:18px 0; padding:10px 14px; border:1px solid var(--encre); background:transparent; cursor:pointer; }
.resume-panier-boutique { padding:28px; border:1px solid var(--ligne); background:#f7f1e9; }
.resume-panier-boutique p { display:flex; justify-content:space-between; gap:20px; font-family:Georgia,serif; font-size:20px; }
.resume-panier-boutique .total-panier-livraison { margin-top:18px; padding-top:16px; border-top:1px solid var(--ligne); }
.resume-panier-boutique small,.resume-panier-boutique em { display:block; color:var(--doux); font-size:11px; font-style:normal; line-height:1.5; }
.resume-panier-boutique a { display:block; margin:25px 0 10px; padding:13px; background:var(--encre); color:white; text-align:center; font-weight:700; }
.tarifs-panier-boutique { margin:18px 0; padding:15px 0; border-top:1px solid var(--ligne); border-bottom:1px solid var(--ligne); }
.tarifs-panier-boutique>span { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:7px 0; }
.tarifs-panier-boutique small { font-size:12px; }
.tarifs-panier-boutique strong { font-family:Georgia,serif; font-size:16px; font-weight:500; }
.commande-test-boutique { display:grid; grid-template-columns:minmax(0,1fr) 380px; gap:30px; align-items:start; }
.commande-test-boutique > section,.commande-test-boutique > aside { padding:32px; border:1px solid var(--ligne); background:#f7f1e9; }
.commande-test-boutique h2,.confirmation-test-boutique h2 { font-family:Georgia,serif; font-size:27px; font-weight:400; }
.grille-formulaire-boutique { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.grille-formulaire-boutique label { color:var(--doux); font-size:12px; font-weight:700; }
.grille-formulaire-boutique label.large { grid-column:1/-1; }
.livraison-uniquement-boutique { align-self:end; padding:12px; border:1px solid var(--ligne); background:#eee7dd; color:#555953; text-align:center; font-size:11px; font-weight:800; letter-spacing:.4px; text-transform:uppercase; }
.choix-livraison-boutique { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:0; padding:0; border:0; }
.choix-livraison-boutique legend { margin-bottom:9px; color:var(--doux); font-size:11px; }
.choix-livraison-boutique label { display:flex; align-items:center; gap:10px; padding:14px; border:1px solid var(--ligne); background:#f7f1e9; cursor:pointer; }
.choix-livraison-boutique input { width:auto; margin:0; accent-color:var(--encre); }
.choix-livraison-boutique span,.choix-livraison-boutique strong,.choix-livraison-boutique small { display:block; }
.choix-livraison-boutique small { margin-top:3px; color:var(--doux); }
.selection-point-relais { display:grid; gap:16px; padding:22px; border:1px solid #c9bdab; background:#eee7dc; }
.selection-point-relais[hidden] { display:none; }
.selection-point-relais h3 { margin:8px 0 4px; font-family:Georgia,serif; font-size:23px; font-weight:400; }
.selection-point-relais p { margin:0; color:var(--doux); line-height:1.55; }
.etat-connexion-relais { display:inline-block; padding:5px 8px; border:1px solid #ad8d69; color:#78593b; font-size:9px; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.emplacement-carte-relais { display:grid; min-height:150px; place-content:center; padding:24px; border:1px dashed #b8aa96; background:linear-gradient(145deg,#f8f3eb,#e7dfd3); color:var(--encre); text-align:center; }
.emplacement-carte-relais span { font-family:Georgia,serif; font-size:20px; }
.emplacement-carte-relais small { max-width:470px; margin-top:7px; color:var(--doux); line-height:1.5; }
.commande-test-boutique .selection-point-relais button:disabled { border-color:#aaa096; background:#aaa096; cursor:not-allowed; opacity:.75; }
.point-relais-selectionne { padding:13px; border-left:3px solid #4c5f4e; background:#f7f1e9; }
.grille-formulaire-boutique input,.grille-formulaire-boutique select { width:100%; margin-top:7px; padding:12px; border:1px solid var(--ligne); background:white; font:inherit; }
.commande-test-boutique > aside p { display:flex; justify-content:space-between; gap:18px; padding:10px 0; border-bottom:1px solid var(--ligne); font-size:13px; }
.total-test-boutique { display:flex; justify-content:space-between; gap:20px; margin:18px 0; font-family:Georgia,serif; font-size:19px; }
.commande-test-boutique > aside small { display:block; margin-top:10px; color:var(--doux); text-align:center; }
.confirmation-test-boutique { max-width:780px; margin:auto; padding:65px; border:1px solid var(--ligne); background:#f7f1e9; text-align:center; }
.confirmation-test-boutique > span { color:#4c5f4e; font-size:10px; font-weight:900; letter-spacing:1.5px; text-transform:uppercase; }
.confirmation-test-boutique p { color:var(--doux); line-height:1.7; }
.confirmation-test-boutique a { display:inline-block; margin-top:15px; padding:12px 18px; background:var(--encre); color:white; }
.titre-realisations-client { margin-inline:auto; text-align:center; }
.grille-realisations-client { columns:3 280px; column-gap:22px; }
.grille-realisations-client article { break-inside:avoid; margin-bottom:22px; border:1px solid var(--ligne); background:#f7f1e9; }
.grille-realisations-client img { display:block; width:100%; height:auto; }
.grille-realisations-client article > div { padding:18px; }
.grille-realisations-client h2 { margin:0 0 8px; font-family:Georgia,serif; font-size:22px; font-weight:400; }
.grille-realisations-client p { margin:0; color:var(--doux); line-height:1.6; }
.page-texte-boutique { max-width:850px; margin:10px auto; padding:45px 52px; border:1px solid var(--ligne); background:#f7f1e9; line-height:1.75; }
.page-texte-boutique h1 { margin:0 0 28px; font-family:Georgia,serif; font-size:clamp(38px,6vw,55px); font-weight:400; line-height:1.08; }
.page-texte-boutique h2 { margin:34px 0 8px; font-family:Georgia,serif; font-size:23px; font-weight:400; }
.page-texte-boutique p { color:#555851; }
.page-texte-boutique a { text-decoration:underline; text-underline-offset:3px; }
.alerte-legale-boutique { margin:25px 0; padding:15px 17px; border-left:3px solid #9a785d; background:#eee4d7; color:#6f563f; font-size:12px; font-weight:700; }
.page-contact-boutique { display:grid; grid-template-columns:.8fr 1.2fr; gap:45px; max-width:1000px; }
.formulaire-contact-boutique { display:grid; grid-template-columns:1fr 1fr; gap:17px; }
.formulaire-contact-boutique label { color:var(--doux); font-size:11px; font-weight:800; }
.formulaire-contact-boutique label span { color:#8b4e43; }
.formulaire-contact-boutique .large,.notice-donnees-contact,.formulaire-contact-boutique button { grid-column:1/-1; }
.formulaire-contact-boutique input,.formulaire-contact-boutique textarea { width:100%; margin-top:7px; padding:12px; border:1px solid var(--ligne); background:white; font:inherit; }
.formulaire-contact-boutique textarea { resize:vertical; }
.formulaire-contact-boutique button { justify-self:start; padding:13px 20px; border:1px solid var(--encre); background:var(--encre); color:white; font-weight:800; cursor:pointer; }
.notice-donnees-contact { margin:0; color:var(--doux); font-size:10px; line-height:1.55; }
.page-demande-boutique { display:grid; grid-template-columns:.78fr 1.22fr; gap:50px; max-width:1080px; margin:18px auto; padding:48px; border:1px solid var(--ligne); background:#f7f1e9; }
.introduction-demande-boutique h1 { margin:8px 0 20px; font-family:Georgia,serif; font-size:clamp(38px,5vw,58px); font-weight:400; line-height:1.05; }
.introduction-demande-boutique>p:not(.surtitre-boutique) { color:var(--doux); line-height:1.75; }
.etapes-demande-boutique { display:grid; gap:13px; margin-top:30px; }
.etapes-demande-boutique span { display:flex; align-items:center; gap:12px; color:#565952; font-size:12px; }
.etapes-demande-boutique strong { display:grid; place-items:center; width:32px; height:32px; border:1px solid var(--ligne); border-radius:50%; color:#4d604e; font-family:Georgia,serif; font-weight:400; }
.formulaire-demande-boutique { align-self:start; padding:25px; border-left:1px solid var(--ligne); }
@media(max-width:850px){.hero-boutique{grid-template-columns:1fr 300px;padding-left:38px}.grille-boutique{grid-template-columns:repeat(2,1fr)}.filtres-catalogue-boutique{grid-template-columns:1fr 1fr}.fiche-produit-boutique{grid-template-columns:1fr;gap:25px}.infos-produit-boutique{padding:10px}.panier-boutique,.commande-test-boutique{grid-template-columns:1fr}.lignes-panier-boutique article{grid-template-columns:75px 1fr 90px}.lignes-panier-boutique img,.lignes-panier-boutique .sans-photo-boutique{width:75px;height:75px}.lignes-panier-boutique article>strong,.retirer-panier{grid-column:3}.page-contact-boutique,.page-demande-boutique{grid-template-columns:1fr}.formulaire-demande-boutique{padding:25px 0 0;border-left:0;border-top:1px solid var(--ligne)}}
@media(max-width:580px){.entete-boutique{align-items:flex-start;flex-direction:column;gap:15px}.entete-boutique nav{width:100%;justify-content:flex-start;flex-wrap:wrap;gap:14px 20px}.hero-boutique{grid-template-columns:1fr;padding:35px 25px}.hero-boutique img{height:auto}.entete-section-accueil,.passage-realisations-accueil{align-items:flex-start;flex-direction:column}.passage-realisations-accueil{padding:32px 25px}.entete-catalogue-boutique{align-items:flex-start;flex-direction:column}.filtres-catalogue-boutique{grid-template-columns:1fr}.grille-boutique{grid-template-columns:1fr}.image-produit-boutique{height:340px}.fiche-produit-boutique{padding:16px}.grande-image-produit{min-height:330px}.ajout-produit-boutique{grid-template-columns:1fr}.lignes-panier-boutique article{grid-template-columns:65px 1fr;gap:12px}.lignes-panier-boutique article>label,.lignes-panier-boutique article>strong,.retirer-panier{grid-column:2}.grille-formulaire-boutique,.formulaire-contact-boutique,.choix-livraison-boutique{grid-template-columns:1fr}.grille-formulaire-boutique label.large,.formulaire-contact-boutique .large,.notice-donnees-contact,.formulaire-contact-boutique button{grid-column:auto}.confirmation-test-boutique{padding:40px 24px}.page-texte-boutique,.page-demande-boutique{padding:32px 23px}}
