/* ===== Catalogue : collections & produits (complète blog.css) ===== */
.coll-band{padding:46px 28px 8px;max-width:var(--maxw);margin:0 auto}
.cintro{font-size:17.5px;color:var(--text);max-width:74ch;line-height:1.62}
.pprice{font-family:'DM Mono',monospace;font-size:13px;color:var(--terra);margin-top:10px;display:block}
.pcardb .pm{text-decoration:none}
.why-strip,.perso-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.why-strip{margin:44px 0 8px}
.why-strip>div,.perso-grid>div{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px 24px}
.why-strip strong,.perso-grid strong{font-family:'Hanken Grotesk',sans-serif;font-weight:800;font-size:15.5px;color:var(--ink)}
.why-strip p,.perso-grid p{font-size:14px;color:var(--muted);margin-top:6px;line-height:1.55}
.perso-strip{background:var(--off2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:52px 0;margin:52px 0 8px}
.perso-grid{grid-template-columns:repeat(4,1fr);margin-top:22px}
h2.sec{font-family:'Playfair Display',serif;font-weight:600;font-size:24px;color:var(--ink);margin:1.6em 0 .5em}
.perso-strip h2.sec{margin:10px 0 0}
.faq{max-width:var(--maxr);margin:40px auto 0;padding:0 4px}
/* --- page produit --- */
.pp-wrap{max-width:var(--maxw);margin:0 auto;padding:38px 28px 10px}
.pp-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:52px;align-items:start;margin-top:20px}
.pp-media{border-radius:26px;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;font-size:128px;box-shadow:var(--card-sh);position:sticky;top:96px}
.pp-info h1{font-family:'Playfair Display',serif;font-weight:600;font-size:clamp(30px,3.6vw,42px);color:var(--ink);margin:10px 0 8px;line-height:1.12}
.pp-price{font-size:17px;color:var(--text);margin:2px 0 14px}
.pp-price strong{color:var(--terra);font-size:22px}
.pp-price span{color:var(--muted);font-size:14px}
.pp-lede{font-size:17px;color:var(--text);line-height:1.62}
.pp-list{margin:.4em 0 0;padding-left:1.2em}
.pp-list li{font-size:16px;color:var(--text);line-height:1.55;margin:.35em 0}
.pp-perso{font-size:16px;color:var(--text);line-height:1.6}
.pp-ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.pp-note{font-size:13px;color:var(--muted);margin-top:16px;line-height:1.55}
.pp-cross{margin:64px 0 20px}
.pgrid-2{grid-template-columns:repeat(2,1fr);margin-top:18px}
.note.alc{font-size:12.5px;color:var(--muted);margin-top:14px}
@media(max-width:960px){.pp-grid{grid-template-columns:1fr;gap:30px}.pp-media{position:static;font-size:96px}.perso-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.why-strip{grid-template-columns:1fr}.perso-grid{grid-template-columns:1fr}.pgrid-2{grid-template-columns:1fr}}

/* ===== Sélection / panier ===== */
#cc-fab{position:fixed;right:22px;bottom:22px;z-index:80;display:none;align-items:center;gap:8px;background:var(--ink);color:#fff;font-family:'Hanken Grotesk',sans-serif;font-weight:700;font-size:14.5px;padding:13px 20px;border-radius:999px;box-shadow:0 18px 44px -18px rgba(11,20,55,.55);text-decoration:none}
#cc-fab span{background:var(--coral);border-radius:999px;padding:1px 8px;font-size:12.5px}
#cc-added{display:none;align-items:center;gap:6px;color:#1E7A46;font-size:13.5px;font-weight:700;margin-left:4px}
.cart-table{width:100%;border-collapse:collapse;margin-top:22px}
.cart-table td{padding:14px 10px;border-bottom:1px solid var(--line);font-size:15.5px;vertical-align:middle}
.cart-table .cemoji{font-size:26px}
.cart-qty{display:inline-flex;align-items:center;gap:8px}
.cart-qty button{width:26px;height:26px;border-radius:8px;border:1.5px solid var(--line);background:#fff;cursor:pointer;font-weight:700;color:var(--ink)}
.cart-tot{font-family:'DM Mono',monospace;color:var(--terra);font-weight:500}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:8px}
.form-grid .full{grid-column:1/-1}
.form-grid label{display:block;font-size:13px;font-weight:700;color:var(--ink);margin-bottom:5px}
.form-grid input,.form-grid textarea,.form-grid select{width:100%;box-sizing:border-box;font-family:'Hanken Grotesk',sans-serif;font-size:15px;color:var(--text);background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;outline:none;transition:border-color .2s}
.form-grid input:focus,.form-grid textarea:focus,.form-grid select:focus{border-color:var(--terra)}
.form-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:30px 32px;box-shadow:var(--card-sh);margin-top:26px}
.pick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:26px}
.pick{position:relative;background:#fff;border:2px solid var(--line);border-radius:20px;overflow:hidden;cursor:pointer;transition:border-color .2s,transform .2s}
.pick input{position:absolute;opacity:0}
.pick .pkm{height:130px;display:flex;align-items:center;justify-content:center;font-size:44px}
.pick .pkb{padding:14px 16px 18px}
.pick h3{font-size:16.5px;margin:0 0 4px;font-family:'Hanken Grotesk',sans-serif;font-weight:800;color:var(--ink)}
.pick .pkp{font-family:'DM Mono',monospace;font-size:12.5px;color:var(--terra)}
.pick:has(input:checked){border-color:var(--terra);transform:translateY(-2px);box-shadow:var(--card-sh)}
.pick .pkc{position:absolute;top:10px;right:10px;width:24px;height:24px;border-radius:50%;background:var(--terra);color:#fff;display:none;align-items:center;justify-content:center;font-size:13px}
.pick:has(input:checked) .pkc{display:flex}
.budget-pill{display:inline-flex;align-items:center;gap:8px;background:var(--sky);border:1px solid var(--line);border-radius:999px;padding:9px 18px;font-family:'DM Mono',monospace;font-size:13px;color:var(--ink);margin-top:14px}
@media(max-width:900px){.pick-grid{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}}
@media(max-width:560px){.pick-grid{grid-template-columns:1fr}}

/* ===== Parcours /offrir/ ===== */
.opt-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:30px}
.opt-card{background:#fff;border:2px solid var(--line);border-radius:24px;padding:34px 32px;box-shadow:var(--card-sh);display:flex;flex-direction:column;transition:transform .25s,border-color .25s}
.opt-card:hover{transform:translateY(-4px);border-color:var(--terra)}
.opt-badge{align-self:flex-start;font-family:'DM Mono',monospace;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;background:var(--sky);color:var(--terra-dk);border-radius:999px;padding:7px 14px}
.opt-card h2{font-family:'Playfair Display',serif;font-weight:600;font-size:27px;color:var(--ink);margin:16px 0 8px}
.opt-card>p{font-size:15.5px;color:var(--muted);line-height:1.6;flex:1}
.opt-card ul{margin:14px 0 22px;padding:0;list-style:none}
.opt-card li{font-size:14.5px;color:var(--text);padding:6px 0 6px 26px;position:relative}
.opt-card li:before{content:"✓";position:absolute;left:2px;color:var(--terra);font-weight:800}
.steps-line{display:flex;gap:10px;align-items:center;justify-content:center;font-family:'DM Mono',monospace;font-size:12px;color:var(--muted);margin-top:18px;flex-wrap:wrap}
.steps-line b{color:var(--terra)}
.aff-note{font-size:13px;color:var(--muted);background:var(--off2);border:1px solid var(--line);border-radius:14px;padding:14px 18px;margin-top:26px;line-height:1.55}
.bud-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:30px}
.bud-card{background:#fff;border:2px solid var(--line);border-radius:20px;padding:24px 22px;display:flex;flex-direction:column;transition:border-color .2s,transform .2s;cursor:pointer}
.bud-card:hover,.bud-card.on{border-color:var(--terra);transform:translateY(-3px)}
.bud-price{font-family:'Playfair Display',serif;font-weight:700;font-size:34px;color:var(--ink)}
.bud-price small{font-size:14px;color:var(--muted);font-family:'Hanken Grotesk',sans-serif;font-weight:600}
.bud-card h3{font-size:15.5px;font-family:'Hanken Grotesk',sans-serif;font-weight:800;color:var(--terra-dk);margin:6px 0 6px}
.bud-card p{font-size:13.5px;color:var(--muted);line-height:1.5;flex:1}
.dual-cta{display:flex;gap:12px;flex-wrap:wrap}
.btn-ghost-w{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}
.btn-ghost-w:hover{background:rgba(255,255,255,.12);border-color:#fff}
@media(max-width:900px){.opt-grid{grid-template-columns:1fr}.bud-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.bud-grid{grid-template-columns:1fr}}

.cart-del{border:none;background:transparent;color:var(--muted);cursor:pointer;font-size:15px}
.cart-del:hover{color:var(--coral-dk)}
.cart-qty b{min-width:18px;text-align:center;display:inline-block}
.pcardb .btn-mini{font-size:13px;padding:9px 14px;border-radius:10px;margin-top:12px;align-self:flex-start}

/* ===== Checkout v3 ===== */
.checkout-grid{display:grid;grid-template-columns:1fr 360px;gap:32px;align-items:start;margin-top:8px}
.ci{display:grid;grid-template-columns:88px 1fr auto;gap:16px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px 18px;margin-bottom:12px}
.ci-img{width:88px;height:88px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:40px}
.ci-name{font-family:'Hanken Grotesk',sans-serif;font-weight:800;font-size:16.5px;color:var(--ink);display:block;margin-bottom:2px}
.ci-unit{font-size:13px;color:var(--muted);display:block;margin-bottom:8px}
.ci-tot{font-family:'DM Mono',monospace;color:var(--terra);font-weight:500;white-space:nowrap}
.cart-qty{display:inline-flex;align-items:center;gap:8px}
.cart-qty button{width:28px;height:28px;border-radius:8px;border:1.5px solid var(--line);background:#fff;cursor:pointer;font-weight:700;color:var(--ink)}
.cart-qty b{min-width:20px;text-align:center}
.cart-del{width:auto!important;padding:0 8px;border:none!important;background:transparent!important;color:var(--muted);font-size:12.5px;cursor:pointer}
.cart-del:hover{color:var(--coral-dk)}
.recap-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px;position:sticky;top:96px;box-shadow:var(--card-sh)}
.recap-card h3{font-family:'Playfair Display',serif;font-weight:600;font-size:20px;color:var(--ink);margin:0 0 14px}
.recap-line{display:flex;justify-content:space-between;font-size:14px;color:var(--text);padding:5px 0}
.recap-line b{color:var(--ink)}
.recap-total{border-top:1px solid var(--line);margin-top:8px;padding-top:12px;font-size:16px;font-weight:800}
.recap-total b{color:var(--terra)}
.recap-dest{font-size:13px;color:var(--muted);line-height:1.5;margin-top:6px}
.recap-sep{height:1px;background:var(--line);margin:12px 0}
@media(max-width:900px){.checkout-grid{grid-template-columns:1fr}.recap-card{position:static}.ci{grid-template-columns:64px 1fr}.ci-tot{grid-column:2;text-align:right}.ci-img{width:64px;height:64px;font-size:30px}}

/* images drop-in */
.pm,.pp-media,.ci-img{position:relative;overflow:hidden}

/* ===== Commander (envois multiples) ===== */
.cmd-grid{display:grid;grid-template-columns:1fr 360px;gap:32px;align-items:start;margin-top:8px}
.step-n{font-family:'DM Mono',monospace;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--terra)}
.step-h{font-family:'Playfair Display',serif;font-weight:600;font-size:24px;color:var(--ink);margin:4px 0 6px;line-height:1.15}
.step-p{font-size:14.5px;color:var(--muted);line-height:1.55;margin:0 0 6px}
.step-block{margin-top:34px}
.pk-list{margin-top:6px}
.pk-group{margin-bottom:16px}
.pk-group h4{font-family:'DM Mono',monospace;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 6px;border-bottom:1px solid var(--line);padding-bottom:6px}
.pk-row{display:grid;grid-template-columns:46px 1fr auto;gap:12px;align-items:center;padding:8px 8px;border-radius:12px}
.pk-row+.pk-row{border-top:1px solid var(--off2)}
.pk-row.on{background:var(--sky);border-top-color:transparent}
.pk-em{width:46px;height:46px;border-radius:12px;background:linear-gradient(140deg,#E7ECFF,#D5DFFA);display:flex;align-items:center;justify-content:center;font-size:22px;position:relative;overflow:hidden}
.pk-nm{font-size:15px;font-weight:700;color:var(--ink);line-height:1.25}
.pk-nm small{display:block;font-family:'DM Mono',monospace;font-weight:400;font-size:12px;color:var(--terra);margin-top:2px}
.pk-sum{font-family:'DM Mono',monospace;font-size:12.5px;color:var(--terra);margin-top:10px}
.num-row{display:flex;align-items:center;gap:14px;margin-top:10px;flex-wrap:wrap}
.num-in{width:130px;font-family:'DM Mono',monospace;font-size:18px;color:var(--ink);background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;outline:none}
.num-in:focus{border-color:var(--terra)}
.imp-box{background:var(--off2);border:1px dashed var(--line);border-radius:14px;padding:16px 18px;margin-top:14px;font-size:13.5px;color:var(--muted);line-height:1.6}
.imp-box .lnk,.imp-box a{color:var(--terra);font-weight:700;cursor:pointer;text-decoration:underline}
.imp-ok{color:#1E7A46;font-weight:700}
.msg-hint{color:var(--terra);font-size:13px;margin:6px 0 0;line-height:1.5}
.cat-card{background:#fff;border:2px solid var(--line);border-radius:22px;padding:22px 24px;margin-top:18px;box-shadow:var(--card-sh)}
.cat-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.cat-head h3{font-family:'Playfair Display',serif;font-weight:600;font-size:20px;color:var(--ink);margin:0}
.cat-rm{border:none;background:transparent;color:var(--muted);cursor:pointer;font-size:12.5px;white-space:nowrap}
.cat-rm:hover{color:var(--coral-dk)}
.cat-cat{font-family:'DM Mono',monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--terra)}
.add-cat{margin-top:18px;background:transparent;border:1.5px dashed var(--terra);color:var(--terra-dk);border-radius:14px;padding:14px 20px;font-family:'Hanken Grotesk',sans-serif;font-weight:700;font-size:14.5px;cursor:pointer;width:100%}
.add-cat:hover{background:var(--sky)}
.add-cat:disabled{opacity:.4;cursor:not-allowed}
.cat-fields{margin-top:14px}
.cat-fields label{display:block;font-size:13px;font-weight:700;color:var(--ink);margin:12px 0 5px}
.cat-fields input,.cat-fields textarea{width:100%;box-sizing:border-box;font-family:'Hanken Grotesk',sans-serif;font-size:15px;color:var(--text);background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:11px 14px;outline:none}
.cat-fields input:focus,.cat-fields textarea:focus{border-color:var(--terra)}
@media(max-width:900px){.cmd-grid{grid-template-columns:1fr}.cmd-grid .recap-card{position:static}}

/* ===== Barre catégories (collection / produit) ===== */
.catbar{background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px 24px;box-shadow:var(--card-sh)}
.catbar-in{display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap}
.catbar-txt{flex:1;min-width:260px}
.catbar-txt .eyebrow{margin:0}
.catbar-txt p{font-size:14px;color:var(--muted);line-height:1.55;margin:6px 0 0;max-width:60ch}
.catpick{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.catpick-lab{font-size:13.5px;font-weight:700;color:var(--ink);margin-right:2px}
.catpick button{width:40px;height:40px;border-radius:12px;border:1.5px solid var(--line);background:#fff;font-family:'Hanken Grotesk',sans-serif;font-weight:800;font-size:16px;color:var(--ink);cursor:pointer;transition:all .18s}
.catpick button:hover{border-color:var(--terra)}
.catpick button.on{background:var(--terra);border-color:var(--terra);color:#fff}
.catnames{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px;padding-top:16px;border-top:1px solid var(--off2)}
.catnames label{font-size:12px;font-weight:700;color:var(--muted);display:flex;flex-direction:column;gap:5px}
.catnames input{width:170px;font-family:'Hanken Grotesk',sans-serif;font-size:14px;color:var(--text);border:1.5px solid var(--line);border-radius:10px;padding:9px 12px;outline:none}
.catnames input:focus{border-color:var(--terra)}
.catbar-compact{margin:0 0 20px}

/* popover choix de catégorie */
.cc-pop{position:absolute;z-index:120;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 22px 50px -18px rgba(11,20,55,.5);padding:10px;min-width:180px;animation:ccpop .14s ease}
@keyframes ccpop{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.cc-pop-h{font-size:12px;font-weight:800;color:var(--muted);margin:2px 6px 8px;text-transform:uppercase;letter-spacing:.08em}
.cc-pop button{display:block;width:100%;text-align:left;background:#fff;border:1.5px solid var(--line);border-radius:10px;padding:10px 12px;margin:6px 0 0;font-family:'Hanken Grotesk',sans-serif;font-weight:700;font-size:14px;color:var(--ink);cursor:pointer;transition:all .15s}
.cc-pop button:hover{background:var(--sky);border-color:var(--terra)}

/* toast confirmation */
.cc-toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(20px);background:var(--ink);color:#fff;font-family:'Hanken Grotesk',sans-serif;font-weight:700;font-size:14.5px;padding:13px 22px;border-radius:999px;box-shadow:0 18px 44px -18px rgba(11,20,55,.55);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:140}
.cc-toast.on{opacity:1;transform:translateX(-50%) translateY(0)}

/* étiquette catégorie sur bouton d'ajout */
.cat-badge-mini{display:inline-block;font-family:'DM Mono',monospace;font-size:11px;color:var(--terra);margin-top:6px}

/* ===== Panier groupé par catégorie ===== */
.cat-group{background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px 22px;margin-bottom:16px;box-shadow:var(--card-sh)}
.cat-group-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}
.cat-group-head h3{font-family:'Playfair Display',serif;font-weight:600;font-size:20px;color:var(--ink);margin:0}
.cat-group-tag{font-family:'DM Mono',monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--terra)}
.cat-dest-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0 4px;padding-top:12px;border-top:1px solid var(--off2)}
.cat-dest-row label{font-size:13px;font-weight:700;color:var(--ink)}
.cat-dest-row input.num-in{width:110px}
.cat-msg{width:100%;box-sizing:border-box;font-family:'Hanken Grotesk',sans-serif;font-size:14px;color:var(--text);border:1.5px solid var(--line);border-radius:10px;padding:9px 12px;margin-top:10px;outline:none}
.cat-msg:focus{border-color:var(--terra)}
.cat-line{font-family:'DM Mono',monospace;font-size:12.5px;color:var(--muted);margin-top:10px}
@media(max-width:560px){.catnames input{width:100%}}

/* ===== Contrôle d'ajout par produit (quantité + catégorie) ===== */
.addctl{margin-top:12px}
.addctl-row{display:flex;gap:10px;align-items:center;margin-bottom:10px;flex-wrap:wrap}
.qtybox{display:inline-flex;align-items:center;border:1.5px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}
.qtybox button{width:34px;height:38px;border:none;background:#fff;font-size:18px;font-weight:700;color:var(--ink);cursor:pointer;line-height:1}
.qtybox button:hover{background:var(--sky)}
.qtyval{width:46px;height:38px;border:none;border-left:1.5px solid var(--line);border-right:1.5px solid var(--line);text-align:center;font-family:'DM Mono',monospace;font-size:15px;color:var(--ink);outline:none;-moz-appearance:textfield}
.qtyval::-webkit-outer-spin-button,.qtyval::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.catsel{flex:1;min-width:130px;height:40px;border:1.5px solid var(--line);border-radius:10px;padding:0 12px;font-family:'Hanken Grotesk',sans-serif;font-weight:600;font-size:14px;color:var(--ink);background:#fff;cursor:pointer;outline:none}
.catsel:focus{border-color:var(--terra)}
.addctl .addbtn{width:100%;box-sizing:border-box;margin-top:0}
.pp-ctas .addctl{flex:1 1 100%}
