/* Developer: Derouiche Oussama */
/* @author Derouiche Oussama - © Derouiche Oussama */
/*
 * InfinityCOD — Formulaire COD CSS
 * @author Derouiche Oussama
 * @copyright © Derouiche Oussama
 */
/* InfinityCOD — Formulaire COD · Design system unifié (v5.2) */
:root{--icod-accent:#1877c2;--icod-accent-ink:#fff;--icod-bg:#f8fafc;--icod-surface:#fff;--icod-text:#1d2327;--icod-muted:#6b7c93;--icod-border:#d5dfe9;--icod-success:#0e7a4f;--icod-radius:14px;--icod-radius-sm:10px;--icod-shadow:0 2px 12px rgba(11,34,57,.06);--icod-head-bg:linear-gradient(135deg,#1877c2,#0e7a4f);--icod-head-ink:#fff}
*,*::before,*::after{box-sizing:border-box}
.icod-root{font-family:system-ui,'Segoe UI',Roboto,sans-serif;color:#1d2327;background:#f8fafc;border-radius:14px;box-shadow:0 2px 12px rgba(11,34,57,.06);max-width:680px;margin:0 auto;overflow:hidden;position:relative;direction:ltr;font-size:14px;line-height:1.5}
.icod-root[dir=rtl]{direction:rtl;font-family:'Cairo','Tajawal','Segoe UI',Tahoma,sans-serif}
.icod-hidden{display:none!important}
.icod-card{background:#fff;border-radius:14px;overflow:hidden}
@keyframes icod-fade-in{from{opacity:0}to{opacity:1}}
@keyframes icod-pop{from{transform:scale(0)}to{transform:scale(1)}}
@keyframes icod-shine{0%,55%{transform:translateX(-130%)}80%,100%{transform:translateX(130%)}}
@keyframes icod-breathe{0%,100%{box-shadow:0 5px 16px rgba(24,119,194,.3)}50%{box-shadow:0 6px 24px rgba(24,119,194,.5)}}

/* Header */
.icod-head{display:flex;align-items:center;gap:12px;padding:18px 20px;background:var(--icod-head-bg);color:var(--icod-head-ink);animation:icod-fade-in .4s ease both}
.icod-head-thumb{width:52px;height:52px;flex:none;object-fit:cover;border-radius:12px;border:1.5px solid rgba(255,255,255,.3)}
.icod-head-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex:none;font-size:1.3rem;background:rgba(255,255,255,.15);border:1.5px solid rgba(255,255,255,.3);border-radius:11px}
.icod-head-text{flex:1;min-width:0}
.icod-form-title{margin:0;font-size:1.08rem;font-weight:800;line-height:1.3;color:var(--icod-head-ink)}
.icod-form-subtitle{margin:2px 0 0;font-size:.82rem;opacity:.8}
.icod-head-price{display:flex;flex-direction:column;align-items:flex-end;gap:1px;margin-inline-start:auto;font-weight:800;font-size:1.08rem;color:var(--icod-accent);white-space:nowrap}
.icod-head-price del{opacity:.6;font-size:.76rem;color:#555}
.icod-head-price ins{text-decoration:none}

/* Champs */
.icod-form{padding:18px}
.icod-row,.icod-duo{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.icod-field{margin-bottom:12px}
.icod-field>label{display:block;font-weight:600;font-size:.84rem;margin-bottom:6px;color:#1d2327}
.icod-input-wrap{position:relative}
.icod-input-icon{position:absolute;inset-inline-start:12px;top:50%;transform:translateY(-50%);width:17px;height:17px;color:var(--icod-accent);opacity:.65;pointer-events:none;z-index:1}
.icod-input-wrap .icod-input,.icod-input-wrap select.icod-input{padding-inline-start:38px!important;width:100%}
.icod-input{width:100%;padding:12px 14px;border:1.5px solid #d5dfe9;border-radius:10px;background:#fff;color:#1d2327;font:inherit;font-size:15px;transition:border-color .15s,box-shadow .15s;background-image:none!important}
.icod-input:focus{outline:none;border-color:var(--icod-accent);box-shadow:0 0 0 3px rgba(24,119,194,.12)}
.icod-input::placeholder{color:#8c9db0}
select.icod-input{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#6b7c93 50%),linear-gradient(135deg,#6b7c93 50%,transparent 50%);background-position:calc(100% - 18px) 55%,calc(100% - 13px) 55%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-inline-end:34px!important}

/* Quantité */
.icod-qty{display:inline-flex;align-items:center;gap:0;border:1.5px solid #d5dfe9;border-radius:99px;overflow:hidden;background:#fff}
.icod-qty-btn{width:42px;height:42px;display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:800;color:var(--icod-accent);background:none;border:none;cursor:pointer}
.icod-qty-input{width:48px;text-align:center;font-size:16px;font-weight:800;border:none;background:none;color:#1d2327;-moz-appearance:textfield}
.icod-qty-input::-webkit-inner-spin-button{-webkit-appearance:none}

/* Variantes */
.icod-chipset{display:flex;flex-wrap:wrap;gap:8px}
.icod-chip{position:relative;cursor:pointer}
.icod-chip input{position:absolute;opacity:0;pointer-events:none}
.icod-chip span{display:inline-flex;align-items:center;min-height:40px;padding:8px 18px;border:1.5px solid #d5dfe9;border-radius:99px;background:#fff;color:#1d2327;font-weight:600;font-size:.86rem;transition:all .15s}
.icod-chip input:checked+span{background:rgba(24,119,194,.1);border-color:var(--icod-accent);color:var(--icod-accent);font-weight:700;box-shadow:inset 0 0 0 1px var(--icod-accent)}

/* Mode livraison */
.icod-mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.icod-mode-box{display:flex;flex-direction:column;gap:2px;padding:14px 16px;border:1.5px solid #d5dfe9;border-radius:10px;background:#fff;transition:all .15s;cursor:pointer}
.icod-mode-option input:checked+.icod-mode-box{border-color:var(--icod-accent);background:rgba(24,119,194,.05);box-shadow:0 2px 8px rgba(24,119,194,.1)}
.icod-mode-title{font-weight:700;font-size:.92rem}
.icod-mode-sub{font-size:.78rem;color:#6b7c93}
.icod-mode-price{font-weight:800;color:var(--icod-accent);font-size:.86rem;margin-top:4px}

/* Aside */
.icod-aside{margin-top:4px}
@media (min-width:720px){.icod-aside{position:sticky;top:20px;align-self:start;border-inline-start:1.5px dashed #e0e0e0;padding-inline-start:22px}}

/* Récapitulatif */
.icod-summary{background:#fff;border:1.5px solid #e0e0e0;border-radius:10px;padding:16px;font-size:.92rem;margin-bottom:14px}
.icod-summary-title{margin:0 0 10px;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#6b7c93}
.icod-summary-product{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding-bottom:8px;margin-bottom:8px;border-bottom:1px dashed #e0e0e0}
.icod-summary-product-name{font-weight:700;font-size:.9rem;color:#1d2327}
.icod-summary-qty{flex:none;background:rgba(24,119,194,.1);color:var(--icod-accent);font-weight:800;font-size:.76rem;padding:2px 9px;border-radius:99px}
.icod-summary-line{display:flex;justify-content:space-between;gap:10px;padding:3px 0;color:#6b7c93}
.icod-summary-line span:last-child{font-weight:600;color:#1d2327}
[data-summary-discount],[data-summary-coupon]{color:#0e7a4f;font-weight:700}
.icod-summary-total{display:flex;justify-content:space-between;gap:10px;align-items:baseline;margin-top:10px;padding:10px 12px;border-radius:10px;background:rgba(24,119,194,.08);font-weight:800;font-size:.95rem;color:#1d2327}
.icod-summary-total [data-summary-total]{color:var(--icod-accent);font-size:1.3rem;white-space:nowrap}

/* Code promo */
.icod-coupon{display:flex;gap:8px;margin:2px 0 10px}
.icod-coupon-input{flex:1;min-width:0;min-height:40px;padding:8px 12px;border:1.5px dashed #d5dfe9;border-radius:10px;background:#fff;color:#1d2327;font:inherit;font-size:.86rem;text-transform:uppercase;letter-spacing:.04em}
.icod-coupon-input:focus{border-color:var(--icod-accent);outline:none}
.icod-coupon-apply{flex:none;min-height:40px;padding:8px 16px;border:1.5px solid var(--icod-accent);border-radius:10px;background:transparent;color:var(--icod-accent);font:inherit;font-size:.84rem;font-weight:700;cursor:pointer;transition:all .15s}
.icod-coupon-apply:hover{background:var(--icod-accent);color:#fff}
.icod-coupon-msg{font-size:.8rem;font-weight:700;padding:0 2px 6px}
.icod-coupon-ok{color:#0e7a4f}
.icod-coupon-ko{color:#b32d2e}
[data-summary-coupon]{color:#0e7a4f;font-weight:700}

/* Barre progression */
.icod-progress{height:7px;border-radius:99px;overflow:hidden;margin:0 0 14px;background:rgba(24,119,194,.1)}
.icod-progress-fill{height:100%;width:0;border-radius:99px;background:linear-gradient(90deg,var(--icod-accent),rgba(24,119,194,.6));transition:width .4s ease}

/* Bouton */
.icod-submit{display:block;width:100%;min-height:54px;padding:14px 20px;font-size:1rem;font-weight:800;font-family:inherit;color:#fff!important;background:linear-gradient(135deg,#1877c2,#0e7a4f)!important;border:none!important;border-radius:10px!important;cursor:pointer;position:relative;overflow:hidden;box-shadow:0 5px 16px rgba(24,119,194,.3)!important;animation:icod-breathe 2.4s ease-in-out infinite}
.icod-submit::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 32%,rgba(255,255,255,.38) 50%,transparent 68%);transform:translateX(-130%);animation:icod-shine 3.4s ease-in-out infinite}
.icod-submit:hover{transform:translateY(-2px)}
.icod-submit:active{transform:translateY(1px)}
.icod-submit[disabled]{opacity:.65;animation:none;cursor:wait}
.icod-submit[disabled]::after{display:none}

/* Messages */
.icod-msg{margin:0 0 14px;padding:11px 14px;border-radius:10px;font-size:.88rem;font-weight:600}
.icod-msg.error{background:#fbe4e2;color:#b32d2e}
.icod-msg.success{background:#e0f2e9;color:#0e7a4f}

/* Layout responsive */
.icod-layout{display:grid;grid-template-columns:1fr;gap:4px}
.icod-form{padding:20px}

/* Écran succès */
.icod-success{text-align:center;padding:34px 26px;animation:icod-fade-in .5s ease both}
.icod-success-icon{width:72px;height:72px;margin:0 auto 16px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#0e7a4f;color:#fff;font-size:32px;font-weight:800;animation:icod-pop .5s .15s cubic-bezier(.34,1.56,.64,1) both}
.icod-success h3{margin:0 0 8px;font-size:1.22rem}
.icod-success-recap{max-width:400px;margin:18px auto 0;padding:14px 18px;border:1.5px solid #e0e0e0;border-radius:10px;background:#fff;text-align:start;font-size:.92rem}
.icod-success-num{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-bottom:8px;margin-bottom:8px;border-bottom:1.5px dashed #e0e0e0}
.icod-success-num strong{font-size:1.2rem;color:var(--icod-accent)}
.icod-success-line{display:flex;justify-content:space-between;gap:10px;padding:3px 0;font-size:.9rem;color:#6b7c93}
.icod-success-line strong{color:#1d2327;font-weight:700;text-align:end}
.icod-success-total{margin-top:6px;padding-top:8px;border-top:1.5px dashed #e0e0e0;font-weight:800;color:#1d2327}
.icod-success-total strong{color:var(--icod-accent);font-size:1.15rem}
.icod-success p{color:#6b7c93;font-size:.92rem}

/* Réassurance */
.icod-reassurance{display:flex;flex-direction:column;gap:6px;margin:14px 0 0;padding:0;font-size:.8rem;color:#6b7c93;list-style:none}

/* Upsell */
.icod-upsell{margin-top:22px;padding-top:18px;border-top:1.5px solid #e0e0e0}
.icod-upsell-title{font-weight:800;font-size:.95rem;margin:0 0 10px}
.icod-upsell-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
.icod-upsell-item{display:flex;flex-direction:column;gap:6px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:10px;text-decoration:none;transition:box-shadow .15s,transform .12s}
.icod-upsell-item:hover{box-shadow:0 4px 16px rgba(0,0,0,.08);transform:translateY(-2px)}
.icod-upsell-name{font-weight:700;font-size:.85rem;color:#1d2327}
.icod-upsell-price{font-size:.82rem;color:var(--icod-accent);font-weight:700}
.icod-upsell-cta{font-size:.78rem;font-weight:700;color:var(--icod-accent)}

/* Sticky */
.icod-sticky{position:fixed;inset-inline:0;bottom:0;z-index:9990;display:none;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));background:#f8fafc;border-top:1.5px solid #e0e0e0;box-shadow:0 -4px 16px rgba(0,0,0,.1);max-width:680px;margin-inline:auto}
.icod-sticky.is-visible{display:flex}
.icod-sticky-total{font-size:.8rem;color:#6b7c93;line-height:1.25}
.icod-sticky-total strong{display:block;font-size:1.12rem;color:var(--icod-accent)}
.icod-sticky .icod-submit{width:auto;min-height:46px;padding:11px 22px;font-size:.92rem;box-shadow:none!important;animation:none}
.icod-sticky .icod-submit::after{display:none}
@media (max-width:767px){.icod-root.has-sticky .icod-reassurance{margin-bottom:86px}}
@media (max-width:360px){.icod-sticky{flex-direction:column;align-items:stretch;text-align:center}.icod-sticky .icod-submit{width:100%}}

/* Thèmes */
[data-preset="modern"]{--icod-accent:#0e7a4f;--icod-head-bg:linear-gradient(135deg,#0e7a4f,#12b886);--icod-head-ink:#fff}
[data-preset="elegant"]{--icod-accent:#1d3557;--icod-head-bg:linear-gradient(135deg,#1d3557,#457b9d);--icod-head-ink:#fff}
[data-preset="sunset"]{--icod-accent:#e8590c;--icod-head-bg:linear-gradient(135deg,#e8590c,#f76707);--icod-head-ink:#fff}
[data-preset="ocean"]{--icod-accent:#1971c2;--icod-head-bg:linear-gradient(135deg,#1971c2,#339af0);--icod-head-ink:#fff}
[data-preset="minimal"]{--icod-accent:#1a1d21;--icod-head-bg:#1a1d21;--icod-head-ink:#fff}
[data-preset="rose"]{--icod-accent:#d6336c;--icod-head-bg:linear-gradient(135deg,#d6336c,#f06595);--icod-head-ink:#fff}
[data-preset="royal"]{--icod-accent:#6d28d9;--icod-head-bg:linear-gradient(135deg,#6d28d9,#9333ea);--icod-head-ink:#fff}
[data-preset="cafe"]{--icod-accent:#7c4a21;--icod-head-bg:linear-gradient(135deg,#7c4a21,#a0522d);--icod-head-ink:#fff}
[data-preset="aqua"]{--icod-accent:#0891b2;--icod-head-bg:linear-gradient(135deg,#06b6d4,#0e7490);--icod-head-ink:#fff}
[data-preset="pro"]{--icod-accent:#7c3aed;--icod-head-bg:linear-gradient(135deg,#8b5cf6,#6d28d9);--icod-head-ink:#fff}

/* Dark mode */
[data-theme="dark"] .icod-card{background:#1a2634;border-color:#2a3a4e;color:#e8eef5}
[data-theme="dark"] .icod-input{background:#243447;border-color:#37455a;color:#e8eef5}
[data-theme="dark"] .icod-summary{background:#243447;border-color:#37455a}
[data-theme="dark"] .icod-summary-product-name,[data-theme="dark"] .icod-summary-total{color:#e8eef5}

/* RTL */
[dir="rtl"] .icod-input-icon{inset-inline-start:auto;inset-inline-end:12px}
[dir="rtl"] select.icod-input{background-position:18px 55%,13px 55%}
[dir="rtl"] .icod-root{font-family:'Cairo','Tajawal',Tahoma,sans-serif}
[dir="rtl"] .icod-form-title,[dir="rtl"] .icod-submit,[dir="rtl"] .icod-input{font-family:'Cairo','Tajawal',Tahoma,sans-serif}

/* Mobile */
@media (max-width:480px){
	.icod-input,.icod-chip span,.icod-coupon-input,.icod-coupon-apply,.icod-qty-input{font-size:16px!important}
	.icod-field{margin-bottom:14px}
	.icod-input-wrap .icod-input{min-height:52px}
	.icod-head-icon{width:42px;height:42px}
	.icod-form{padding:14px 12px 18px}
}
@media (prefers-reduced-motion:reduce){
	.icod-root *,.icod-root *::before,.icod-root *::after{animation:none!important;transition:none!important}
}

.icod-captcha-field label{font-weight:700;color:var(--icod-accent)}
.icod-captcha-field input{font-weight:800;text-align:center;font-size:18px}
.icod-note-toggle{display:inline-block;margin:2px 0 10px;font-size:12.5px;font-weight:700;color:var(--icod-accent);text-decoration:none}
.icod-note-toggle.open::before{content:'− '}
.icod-stock-badge{display:inline-flex;align-items:center;gap:6px;margin:0 20px 10px;padding:4px 12px;border-radius:99px;background:rgba(14,122,79,.1);color:#0e7a4f;font-size:12px;font-weight:700}
.icod-stock-badge .dot{width:7px;height:7px;border-radius:50%;background:#0e7a4f}
.icod-paylogos{display:flex;gap:6px;margin-top:8px}
.icod-paylogo{border-radius:6px;box-shadow:0 1px 4px rgba(0,0,0,.1)}
.icod-summary-head{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:0;padding:0 0 8px;cursor:pointer;font:inherit}
.icod-summary-head .chev{transition:transform .2s}
.icod-summary-head.closed .chev{transform:rotate(180deg)}
.icod-lic-hero{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.icod-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.icod-actions-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.icod-theme-dark .icod-card{background:#1a2634;border-color:#2a3a4e;color:#e8eef5}
.icod-theme-dark .icod-input{background:#243447;border-color:#37455a;color:#e8eef5}
.icod-theme-dark .icod-summary{background:#243447;border-color:#37455a}
[dir=rtl] .icod-input-icon{inset-inline-start:auto;inset-inline-end:12px}
[dir=rtl] select.icod-input{background-position:18px 55%,13px 55%}
[dir=rtl] .icod-root{font-family:Cairo,Tajawal,Tahoma,sans-serif}
@media(max-width:480px){.icod-input,.icod-chip span,.icod-coupon-input,.icod-coupon-apply,.icod-qty-input{font-size:16px!important}.icod-field{margin-bottom:14px}.icod-input-wrap .icod-input{min-height:52px}.icod-form{padding:14px 12px 18px}}
@media(prefers-reduced-motion:reduce){.icod-root *,.icod-root *::before,.icod-root *::after{animation:none!important;transition:none!important}}
.icod-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.icod-kpi-ico{width:42px;height:42px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:19px;background:rgba(24,119,194,.12)}
.icod-kpi .v{font-size:26px;font-weight:800;color:var(--icod-accent)}
.icod-kpi .l{font-size:12px;color:#6b7c93;text-transform:uppercase;letter-spacing:.05em}
.icod-actions-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.icod-actions-row .btn{display:inline-flex;gap:6px;align-items:center}
.icod-carrier-logo{border-radius:6px;box-shadow:0 1px 4px rgba(0,0,0,.12)}
.icod-carrier-badge{display:inline-flex;align-items:center;justify-content:center;width:48px;height:32px;border-radius:8px;font-weight:800;font-size:13px;color:#fff;background:linear-gradient(135deg,#1877c2,#0e7a4f)}
.icod-carrier-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.icod-carrier-info{display:flex;flex-direction:column;gap:2px}
.icod-carrier-name{font-size:16px;font-weight:800;color:#0b2239}
.icod-carrier-status{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;padding:3px 10px;border-radius:99px;margin-bottom:0}
.icod-carrier-status.on{background:#e0f2e9;color:#0e7a4f}
.icod-carrier-status.off{background:#f0f0f1;color:#8c8f94}
.icod-paylogo{border-radius:6px;box-shadow:0 1px 4px rgba(0,0,0,.12)}
.icod-paystrip{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:14px}
.icod-paystrip-item{display:flex;flex-direction:column;align-items:center;gap:6px;background:#f6f7f7;border:1px solid #e2e8f0;border-radius:10px;padding:12px;text-align:center;font-size:12px;color:#50575e}
.icod-paystrip-item span{line-height:1.35}
.icod-paystrip-on{border-color:#0e7a4f;background:#f0f9f3}
.icod-captcha-field label{font-weight:700;color:var(--icod-accent)}
.icod-captcha-field input{font-weight:800;text-align:center;font-size:18px}