/* CSS extrait de views/panier.view.php */
.pnx{--green:#3e9172;--green-d:#2f7259;--green-l:#e8f3ee;--orange:#ff6b35;--orange-d:#e85520;--violet:#7c3aed;--cyan:#0891b2;--blue:#2563eb;--ink:#17181c;--muted:#6b7280;--faint:#9aa1b1;--line:#eceef0;--bg:#f6f7f9;font-family:'Plus Jakarta Sans',system-ui,sans-serif;color:var(--ink);background:var(--bg);padding:2.5rem 0 4rem;min-height:60vh;}
.pnx *{box-sizing:border-box;}
.pnx .wrap{max-width:1180px;margin:0 auto;padding:0 1.25rem;}
.pnx-head{margin-bottom:1.6rem;}
.pnx-head h1{font-size:1.8rem;font-weight:800;letter-spacing:-.02em;margin:0;display:flex;align-items:center;gap:.6rem;}
.pnx-head h1 i{color:var(--green);}
.pnx-head p{color:var(--muted);font-size:.94rem;margin:.3rem 0 0;}
.pnx-added{margin-bottom:1.2rem;padding:.85rem 1.1rem;background:var(--green-l);border:1px solid #c7e3d6;border-radius:12px;color:var(--green-d);font-size:.9rem;font-weight:600;display:flex;align-items:center;gap:.5rem;}

/* Empty */
.pnx-empty{text-align:center;max-width:440px;margin:4rem auto;padding:1rem;}
.pnx-empty-art{width:96px;height:96px;margin:0 auto 1.8rem;display:grid;place-items:center;border-radius:50%;background:var(--green-l);}
.pnx-empty-art i{font-size:2.3rem;color:var(--green-d);}
.pnx-empty h3{font-size:1.4rem;font-weight:800;letter-spacing:-.02em;margin:0 0 .6rem;color:var(--ink);}
.pnx-empty p{color:var(--muted);margin:0 auto 2rem;font-size:.95rem;line-height:1.6;}
.pnx-empty-btn{display:inline-flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,var(--orange),var(--orange-d));color:#fff;border-radius:12px;padding:.9rem 1.8rem;font-weight:700;font-size:.95rem;text-decoration:none;box-shadow:0 14px 28px -12px rgba(255,107,53,.6);transition:transform .15s,opacity .15s;}
.pnx-empty-btn:hover{transform:translateY(-2px);opacity:.95;}
@media(max-width:560px){.pnx-empty{margin:2.5rem auto;}}

/* Layout 2 colonnes */
.pnx-cols{display:grid;grid-template-columns:1fr 360px;gap:1.6rem;align-items:start;}
@media(max-width:880px){.pnx-cols{grid-template-columns:1fr;}}

/* Bloc articles */
.pnx-panel{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;margin-bottom:1.3rem;}
.pnx-panel-h{display:flex;align-items:center;gap:.6rem;padding:1.1rem 1.4rem;border-bottom:1px solid var(--line);font-size:.8rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--faint);}
.pnx-panel-h .cnt{margin-left:auto;background:var(--green-l);color:var(--green-d);border-radius:999px;padding:.15rem .6rem;font-size:.72rem;}

/* Ligne article */
.pnx-item{display:flex;align-items:center;gap:1rem;padding:1.1rem 1.4rem;border-bottom:1px solid var(--line);}
.pnx-item:last-child{border-bottom:none;}
.pnx-item-ic{width:54px;height:54px;border-radius:13px;display:grid;place-items:center;font-size:1.3rem;color:#fff;flex-shrink:0;overflow:hidden;}
.pnx-item-ic.domain{background:linear-gradient(135deg,#3e9172,#2f7259);}
.pnx-item-ic.email{background:linear-gradient(135deg,#0891b2,#0e7490);}
.pnx-item-ic.hosting{background:linear-gradient(135deg,#2563eb,#1d4ed8);}
.pnx-item-ic img{width:100%;height:100%;object-fit:cover;}
.pnx-item-main{flex:1;min-width:0;}
.pnx-item-name{font-size:1rem;font-weight:800;color:var(--ink);text-decoration:none;display:block;line-height:1.3;}
.pnx-item-name:hover{color:var(--green-d);}
.pnx-item-meta{font-size:.82rem;color:var(--muted);margin-top:.15rem;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;}
.pnx-yrs{border:1.5px solid var(--line);border-radius:8px;padding:.25rem .5rem;font-family:inherit;font-size:.8rem;color:var(--ink);background:#fff;cursor:pointer;}
.pnx-item-price{text-align:right;flex-shrink:0;}
.pnx-item-price .p{font-size:1.05rem;font-weight:800;color:var(--green-d);white-space:nowrap;}
.pnx-item-price .u{font-size:.72rem;color:var(--faint);}
.pnx-item-rm{background:none;border:none;color:var(--faint);cursor:pointer;font-size:.95rem;padding:.4rem;text-decoration:none;flex-shrink:0;transition:color .15s;}
.pnx-item-rm:hover{color:var(--orange-d);}

/* Quantité produits */
.pnx-qty{display:inline-flex;align-items:center;border:1.5px solid var(--line);border-radius:9px;overflow:hidden;}
.pnx-qty input{width:38px;text-align:center;border:none;font-family:inherit;font-weight:700;font-size:.88rem;padding:.3rem 0;}
.pnx-qty .ms_qtybtn{display:flex;flex-direction:column;}
.pnx-qty .inc,.pnx-qty .dec{width:26px;height:18px;display:grid;place-items:center;cursor:pointer;font-size:.7rem;color:var(--muted);background:#f6f7f9;}
.pnx-qty .inc:hover,.pnx-qty .dec:hover{background:var(--green-l);color:var(--green-d);}

/* Continuer */
.pnx-continue{display:inline-flex;align-items:center;gap:.5rem;color:var(--green-d);font-weight:700;font-size:.9rem;text-decoration:none;margin-top:.4rem;}
.pnx-upsell{display:flex;align-items:center;gap:1rem;background:#fff;border:1px dashed var(--line);border-radius:16px;padding:1.1rem 1.3rem;margin-bottom:1.3rem;}
.pnx-upsell-ic{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;font-size:1.2rem;flex-shrink:0;}
.pnx-upsell-body{flex:1;min-width:0;display:flex;flex-direction:column;}
.pnx-upsell-body strong{font-size:.95rem;font-weight:800;color:var(--ink);}
.pnx-upsell-body span{font-size:.84rem;color:var(--muted);line-height:1.4;}
.pnx-upsell-cta{white-space:nowrap;flex-shrink:0;display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;font-weight:700;text-decoration:none;color:#fff;background:linear-gradient(135deg,var(--green),var(--green-d));border-radius:10px;padding:.6rem 1rem;}
.pnx-upsell-cta:hover{opacity:.9;}
@media(max-width:640px){.pnx-upsell{flex-wrap:wrap;}.pnx-upsell-cta{width:100%;justify-content:center;}}

/* Colonne récap sticky */
.pnx-side{position:sticky;top:1.5rem;}
.pnx-summary{background:#fff;border:1px solid var(--line);border-radius:18px;padding:1.5rem;box-shadow:0 16px 40px -28px rgba(23,24,28,.4);}
.pnx-summary h2{font-size:1.1rem;font-weight:800;margin:0 0 1.2rem;}
.pnx-srow{display:flex;justify-content:space-between;font-size:.9rem;color:var(--muted);padding:.45rem 0;}
.pnx-srow.tot{border-top:1px solid var(--line);margin-top:.6rem;padding-top:1rem;font-size:1.2rem;font-weight:800;color:var(--ink);}
.pnx-srow.tot b{color:var(--green-d);}
.pnx-srow .ht{font-size:.74rem;color:var(--faint);text-align:right;}
.pnx-pm{display:flex;flex-direction:column;gap:.5rem;margin:1.1rem 0;}
.pnx-pm-opt{display:flex;align-items:center;gap:.6rem;border:1.5px solid var(--line);border-radius:11px;padding:.7rem .9rem;font-size:.88rem;font-weight:600;cursor:pointer;transition:all .15s;}
.pnx-pm-opt:hover{border-color:var(--green);}
.pnx-pm-opt:has(input:checked){border-color:var(--green);background:var(--green-l);}
.pnx-pm-opt input{accent-color:var(--green);width:17px;height:17px;}
.pnx-pm-opt .bal{margin-left:auto;font-size:.78rem;color:var(--muted);font-weight:500;}
.pnx-pay{display:block;width:100%;border:none;background:linear-gradient(135deg,var(--orange),var(--orange-d));color:#fff;border-radius:12px;padding:1rem;font-weight:800;font-size:1rem;cursor:pointer;font-family:inherit;box-shadow:0 12px 26px -12px rgba(255,107,53,.6);transition:transform .15s;text-align:center;text-decoration:none;}
.pnx-pay:hover{transform:translateY(-2px);}
.pnx-pay.alt{background:#fff;color:var(--green-d);border:1.5px solid var(--green);box-shadow:none;margin-top:.6rem;}
.pnx-pay.alt:hover{background:var(--green-l);}
.pnx-err{background:#fdecea;border:1px solid #f5c2bd;border-radius:11px;padding:.8rem 1rem;color:#b42318;font-size:.86rem;margin-bottom:1rem;}
.pnx-reassure{margin-top:1.2rem;padding-top:1.1rem;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:.5rem;}
.pnx-reassure span{display:flex;align-items:center;gap:.5rem;font-size:.78rem;color:var(--faint);}
.pnx-reassure i{color:var(--green);width:16px;}
.pnx-promo{display:flex;gap:.5rem;margin:0 0 1rem;}
.pnx-promo input{flex:1;border:1.5px solid var(--line);border-radius:10px;padding:.6rem .8rem;font-family:inherit;font-size:.85rem;}
.pnx-promo button{background:#f3f4f6;border:none;border-radius:10px;padding:0 1rem;font-weight:700;font-size:.84rem;cursor:pointer;color:var(--muted);font-family:inherit;}

/* ============================================================
   Panier vide — e-commerce SaaS (mix Amazon/AliExpress/IONOS/LWS)
   ============================================================ */
.cartx{--green:#3e9172;--green-d:#2f7259;--green-l:#e8f3ee;--orange:#ff6b35;--orange-d:#e85520;--cyan:#0891b2;--blue:#2563eb;--ink:#17181c;--muted:#6b7280;--faint:#9aa1b1;--line:#ececed;--bg:#f6f7f9;font-family:'Plus Jakarta Sans',system-ui,sans-serif;max-width:820px;margin:0 auto;padding:1rem 1.25rem;}
.cartx *{box-sizing:border-box;}

/* Bloc vide */
.cartx-empty{text-align:center;}
.cartx-icon{width:110px;height:110px;border-radius:28px;background:#fff;box-shadow:0 18px 44px -18px rgba(0,0,0,.18);display:grid;place-items:center;margin:0 auto 22px;position:relative;}
.cartx-icon>i{font-size:42px;color:var(--green);}
.cartx-badge{position:absolute;top:-8px;right:-8px;width:34px;height:34px;border-radius:50%;background:var(--orange);color:#fff;display:grid;place-items:center;font-size:14px;border:3px solid #fff;font-weight:800;}
.cartx-title{font-size:1.6rem;font-weight:800;color:var(--ink);letter-spacing:-.02em;margin:0 0 .5rem;}
.cartx-sub{font-size:.95rem;color:var(--muted);line-height:1.6;max-width:420px;margin:0 auto 1.5rem;}

.cartx-search{display:flex;gap:8px;max-width:480px;margin:0 auto .9rem;background:#fff;border:2px solid var(--green);border-radius:13px;padding:6px;box-shadow:0 12px 30px -16px rgba(62,145,114,.35);}
.cartx-search i{color:var(--faint);align-self:center;padding-left:12px;}
.cartx-search input{flex:1;border:none;outline:none;background:none;font-size:14px;font-family:inherit;padding:0 10px;height:42px;color:var(--ink);}
.cartx-search button{background:linear-gradient(135deg,var(--orange),var(--orange-d));color:#fff;border:none;border-radius:9px;padding:0 24px;font-weight:700;font-size:14px;font-family:inherit;cursor:pointer;}

.cartx-discover{display:inline-flex;align-items:center;gap:7px;background:var(--ink);color:#fff;font-weight:700;font-size:14px;padding:12px 22px;border-radius:11px;text-decoration:none;transition:.15s;}
.cartx-discover:hover{background:#2a2c33;}

/* Suggestions */
.cartx-sugg-wrap{margin-top:2.6rem;}
.cartx-sugg-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;}
.cartx-sugg-head h2{font-size:1rem;font-weight:800;color:var(--ink);margin:0;}
.cartx-sugg-all{font-size:13px;font-weight:700;color:var(--green-d);text-decoration:none;display:inline-flex;align-items:center;gap:5px;}
.cartx-sugg{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.cartx-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;display:flex;flex-direction:column;text-decoration:none;transition:.15s;}
.cartx-card:hover{border-color:var(--green);transform:translateY(-3px);box-shadow:0 14px 28px -16px rgba(0,0,0,.2);}
.cartx-card-top{display:flex;align-items:center;gap:11px;margin-bottom:12px;}
.cartx-card-ic{width:44px;height:44px;border-radius:12px;background:color-mix(in srgb,var(--c) 12%,#fff);color:var(--c);display:grid;place-items:center;font-size:17px;flex-shrink:0;}
.cartx-card-tx b{font-size:14px;color:var(--ink);display:block;line-height:1.25;}
.cartx-card-tx small{font-size:11.5px;color:var(--faint);}
.cartx-card-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;padding-top:10px;border-top:1px solid #f0f1f3;}
.cartx-card-price{font-size:12px;color:var(--faint);}
.cartx-card-price b{color:var(--green-d);font-size:14px;}
.cartx-card-link{font-size:12px;font-weight:700;color:var(--orange);display:inline-flex;align-items:center;gap:4px;}
.cartx-card-link i{font-size:10px;}

/* Réassurance */
.cartx-trust{margin-top:1.6rem;background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:16px 22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;}
.cartx-trust-i{display:flex;align-items:center;gap:8px;font-size:12.5px;color:#374151;font-weight:600;}
.cartx-trust-i i{color:var(--green);}

@media(max-width:760px){
  .cartx-sugg{grid-template-columns:repeat(2,1fr);}
  .cartx-trust{justify-content:center;gap:18px;}
}
@media(max-width:440px){
  .cartx-sugg{grid-template-columns:1fr;}
  .cartx-title{font-size:1.35rem;}
}

/* ============================================================
   Panier rempli — stepper + moyens de paiement
   ============================================================ */
.pnx-stepper{grid-column:1 / -1;display:flex;align-items:center;max-width:520px;margin:0 0 1.4rem;}
.pnx-step{display:flex;align-items:center;gap:.5rem;color:var(--faint);font-weight:600;font-size:13px;white-space:nowrap;}
.pnx-step .n{width:26px;height:26px;border-radius:50%;background:#e8ebef;color:var(--faint);display:grid;place-items:center;font-size:12px;font-weight:700;}
.pnx-step.on{color:var(--green-d);font-weight:700;}
.pnx-step.on .n{background:var(--green);color:#fff;}
.pnx-step-line{flex:1;height:2px;background:#e0e4e8;margin:0 10px;}

.pnx-paymethods{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;text-align:center;margin-top:.9rem;}
.pnx-paymethods-t{display:block;font-size:11px;color:var(--faint);font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px;}
.pnx-paymethods-ic{display:flex;gap:12px;justify-content:center;color:var(--muted);font-size:26px;}
.pnx-paymethods-ic i{transition:color .15s;}
.pnx-paymethods-ic i:hover{color:var(--green-d);}

@media(max-width:560px){
  .pnx-stepper{max-width:100%;}
  .pnx-step{font-size:12px;}
  .pnx-step .n{width:22px;height:22px;font-size:11px;}
}
