.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,.4);display:flex;justify-content:center;align-items:center;z-index:999}.modal-content{background:#fff0f8;padding:20px;border-radius:8px;border:1px solid #f0cce8;text-align:center;max-width:500px;width:90%;text-align:left}.modal-content h3{margin:0 0 16px 0;font-size:18px;font-weight:600;color:#333}.modal-content p{margin:0 0 24px 0;color:#666;line-height:1.5}.modal-actions{display:flex;justify-content:flex-end;margin-top:20px;gap:12px}.modal-actions button{padding:10px 20px;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:opacity .2s}.modal-actions button:hover{opacity:.8}.btn-primary{background-color:#ff2d95;color:#fff;border:none;padding:8px 10px;border-radius:8px;cursor:pointer;font-weight:500;transition:background-color .3s ease,transform .3s ease,box-shadow .3s ease}.btn-primary:hover:not(:disabled){background-color:#e0247e}.btn-primary:disabled,.btn-primary.disabled{background-color:#ccc;color:#666;cursor:not-allowed;opacity:.6}.btn-primary:disabled:hover,.btn-primary.disabled:hover{background-color:#ccc;transform:none}.btn-primary{padding:10px 20px;font-size:14px}.btn-secondary{background:#fff;color:#ff2d95;border:2px solid #ff2d95;padding:12px;border-radius:12px;cursor:pointer;font-weight:bold;transition:all .3s ease}.btn-secondary:hover{background:#ffe0ef;color:#ff2d95}.btn-secondary{padding:10px 20px;font-size:14px}.btn-cancel{background-color:#ccc;color:#fff;border:none;padding:8px 10px;border-radius:8px;cursor:pointer;font-weight:500;transition:background-color .3s ease,transform .3s ease,box-shadow .3s ease}.btn-cancel:hover:not(:disabled){background-color:#6c757d}.btn-cancel:disabled,.btn-cancel.disabled{background-color:#ccc;color:#666;cursor:not-allowed;opacity:.6}.btn-cancel:disabled:hover,.btn-cancel.disabled:hover{background-color:#ccc;transform:none}.btn-cancel{color:#333}.btn-confirm{background-color:#ff2d95;color:#fff;border:none;padding:8px 10px;border-radius:8px;cursor:pointer;font-weight:500;transition:background-color .3s ease,transform .3s ease,box-shadow .3s ease}.btn-confirm:hover:not(:disabled){background-color:#e0247e}.btn-confirm:disabled,.btn-confirm.disabled{background-color:#ccc;color:#666;cursor:not-allowed;opacity:.6}.btn-confirm:disabled:hover,.btn-confirm.disabled:hover{background-color:#ccc;transform:none}.btn-confirm-danger{background-color:#dc3545;color:#fff;border:none;padding:8px 10px;border-radius:8px;cursor:pointer;font-weight:500;transition:background-color .3s ease,transform .3s ease,box-shadow .3s ease}.btn-confirm-danger:hover:not(:disabled){background-color:rgb(189.2151898734,32.7848101266,47.7721518987)}.btn-confirm-danger:disabled,.btn-confirm-danger.disabled{background-color:#ccc;color:#666;cursor:not-allowed;opacity:.6}.btn-confirm-danger:disabled:hover,.btn-confirm-danger.disabled:hover{background-color:#ccc;transform:none}.btn-ghost{background:rgba(0,0,0,0);color:#ff2d95;border:none;cursor:pointer;transition:background-color .3s ease}.btn-ghost:hover{background:#ffe0ef}.btn-ghost{padding:8px 16px}.overlay,.overlay-blur,.overlay-dark{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:1000}.overlay-dark{background:rgba(0,0,0,.4);display:flex;justify-content:center;align-items:center}.overlay-blur{background:rgba(0,0,0,.3);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.container-center{max-width:1200px;margin:0 auto;padding:0 20px}.flex-center{display:flex;justify-content:center;align-items:center}.flex-center-column{display:flex;flex-direction:column;justify-content:center;align-items:center}.container-padding{padding:20px}.container-padding-responsive{padding:clamp(15px,3vw,40px)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.cursor-pointer{cursor:pointer}.disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.card,.card-pink{background:#fff;border-radius:8px;padding:20px;box-shadow:0 4px 10px rgba(0,0,0,.2)}.card-pink{box-shadow:0 4px 20px rgba(255,45,149,.3),0 2px 10px rgba(0,0,0,.1);border:1px solid #ffe0ef}.badge,.badge-orange,.badge-pink{display:inline-block;padding:4px 8px;border-radius:8px;font-size:12px;font-weight:600}.badge-pink{background:#ffe0ef;color:#ff2d95}.badge-orange{background:rgba(255,126,128,.2);color:#ff7e80}.input-base{padding:8px 12px;border:1px solid #ddd;border-radius:8px;font-family:"Poppins",sans-serif;font-size:14px;transition:border-color .3s ease}.input-base:focus{outline:none;border-color:#ff2d95;box-shadow:0 0 0 3px rgba(255,45,149,.1)}.separator{height:1px;background:#ddd;margin:20px 0}.separator-vertical{width:1px;height:100%;background:#ddd;margin:0 20px}.plg-root{position:relative}.plg-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(1200px 600px at 50% -20%, rgba(255, 45, 149, 0.06), transparent 60%),radial-gradient(900px 500px at 120% 120%, rgba(255, 126, 128, 0.05), transparent 60%),hsla(0,0%,100%,.88);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:3000}.plg-spinner{width:56px;height:56px;border:3px solid rgba(255,45,149,.2);border-top-color:#ff2d95;border-right-color:#ff7e80;border-radius:50%;animation:plg-spin 1s linear infinite;box-shadow:0 6px 16px rgba(255,45,149,.25);position:relative;background:radial-gradient(circle at 50% 50%, rgba(255, 45, 149, 0.08), transparent 60%)}.plg-spinner::before{content:"";position:absolute;top:-6px;left:50%;transform:translateX(-50%);width:10px;height:10px;border-radius:50%;background:radial-gradient(circle, #ffffff 0%, #ffe0ef 40%, #ff7e80 80%);box-shadow:0 0 8px rgba(255,126,128,.6),0 0 14px rgba(255,45,149,.35)}.plg-spinner::after{content:"";position:absolute;inset:-10px;border-radius:50%;border:2px solid rgba(255,45,149,.18);animation:plg-pulse 1.6s ease-in-out infinite}@keyframes plg-spin{to{transform:rotate(360deg)}}@keyframes plg-pulse{0%,100%{opacity:.55;transform:scale(0.95);box-shadow:0 0 0 0 rgba(255,45,149,.15)}50%{opacity:1;transform:scale(1.05);box-shadow:0 0 40px 6px rgba(255,45,149,.15)}}.plg-content.plg-hidden{visibility:hidden}.plg-content.plg-visible{visibility:visible}@keyframes slideInRight{from{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}@keyframes slideOutLeft{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-30px)}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.1)}}@keyframes badgeBounce{0%,100%{transform:scale(1)}50%{transform:scale(1.3)}}@keyframes scaleIn{from{transform:scale(0.8);opacity:0}to{transform:scale(1);opacity:1}}@keyframes bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}.cart-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,.4);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);z-index:2999;animation:fadeIn .3s ease-out;cursor:pointer}.boutonBasculePanier{position:fixed;top:50%;transform:translateY(-50%);right:0;border-radius:clamp(8px,1.5vw,12px) 0 0 clamp(8px,1.5vw,12px);padding:clamp(10px,2vw,14px) clamp(12px,2.5vw,18px);min-width:clamp(44px,8vw,56px);min-height:clamp(44px,8vw,56px);background:linear-gradient(135deg, #FF2D95, #FF5FA6);color:#fff;border:2px solid #fff;cursor:pointer;transition:all .3s ease;z-index:3000;box-shadow:0 4px 16px rgba(255,45,149,.4);display:flex;align-items:center;justify-content:center;pointer-events:auto}.boutonBasculePanier:hover{background:linear-gradient(135deg, #e0247e, #FF2D95);box-shadow:0 6px 20px rgba(255,45,149,.5)}.boutonBasculePanier:hover svg{transform:rotate(10deg)}@media(min-width: 1024px){.boutonBasculePanier:hover{transform:translateY(-50%) scale(1.05)}.boutonBasculePanier:active{transform:translateY(-50%) scale(0.95)}}@media(min-width: 768px)and (max-width: 1023px){.boutonBasculePanier:hover{transform:translateY(-50%) scale(1.05)}.boutonBasculePanier:active{transform:translateY(-50%) scale(0.95)}}@media(max-width: 767px){.boutonBasculePanier:hover{transform:translateY(-50%) scale(1.05)}.boutonBasculePanier:active{transform:translateY(-50%) scale(0.95)}}@media(max-width: 767px)and (max-height: 600px){.boutonBasculePanier:hover{transform:scale(1.05)}.boutonBasculePanier:active{transform:scale(0.95)}}.boutonBasculePanier:focus{outline:2px solid rgba(255,45,149,.5);outline-offset:2px}.boutonBasculePanier svg{transition:transform .3s ease;width:clamp(20px,3.5vw,24px);height:clamp(20px,3.5vw,24px)}.boutonBasculePanier{transition:right .4s cubic-bezier(0.4, 0, 0.2, 1),top .4s cubic-bezier(0.4, 0, 0.2, 1)}@media(min-width: 1024px){.panierSlide.ouvert~.boutonBasculePanier{right:min(28vw,400px)}}@media(min-width: 768px)and (max-width: 1023px){.panierSlide.ouvert~.boutonBasculePanier{right:min(38vw,360px)}}@media(max-width: 767px)and (max-height: 600px){.boutonBasculePanier{top:auto;bottom:clamp(10px,2vh,20px);transform:none}}@media(max-width: 767px){.panierSlide.ouvert~.boutonBasculePanier{right:min(92vw,320px)}}.badge-quantite{position:absolute;bottom:clamp(-6px,-1vw,-8px);left:clamp(-6px,-1vw,-8px);background:#ff7e80;color:#fff;border-radius:50%;width:clamp(20px,4vw,24px);height:clamp(20px,4vw,24px);display:flex;align-items:center;justify-content:center;font-size:clamp(10px,2vw,12px);font-weight:bold;border:2px solid #fff;box-shadow:0 2px 8px rgba(255,45,149,.4);animation:pulse 2s ease-in-out infinite}.badge-quantite.animate{animation:badgeBounce .6s ease-out}.panierSlide{position:fixed;top:0;--cart-width: min(28vw, 400px);right:calc(-1*var(--cart-width));width:var(--cart-width);height:100vh;max-height:100vh;background:hsla(0,0%,100%,.98);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:right .4s cubic-bezier(0.4, 0, 0.2, 1);box-shadow:-6px 0 24px rgba(255,45,149,.25);z-index:3001;color:#333;border-left:2px solid rgba(255,45,149,.2);padding-right:env(safe-area-inset-right);display:flex;flex-direction:column;overflow:hidden}.panierSlide.ouvert{right:0;animation:fadeIn .25s ease-out}@media(max-width: 767px){.panierSlide{--cart-width: min(92vw, 320px);width:var(--cart-width)}}@media(min-width: 768px)and (max-width: 1023px){.panierSlide{--cart-width: min(38vw, 360px);width:var(--cart-width)}}.contenuPanier{padding:clamp(16px,3vw,24px);height:100%;overflow-y:auto;overflow-x:hidden;animation:fadeIn .3s ease-out;display:flex;flex-direction:column}.contenuPanier::-webkit-scrollbar{width:clamp(6px,1.2vw,8px)}.contenuPanier::-webkit-scrollbar-track{background:rgba(255,45,149,.1);border-radius:4px}.contenuPanier::-webkit-scrollbar-thumb{background:linear-gradient(135deg, #FF2D95, #FF7E80);border-radius:4px}.contenuPanier::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg, #e0247e, #FF5FA6)}.contenuPanier{scrollbar-width:thin;scrollbar-color:rgba(255,45,149,.5) rgba(255,45,149,.1)}.contenuPanier h2{margin-bottom:clamp(16px,3vw,24px);font-size:clamp(1.4em,4vw,1.8em);color:#ff2d95;animation:slideInRight .5s ease-out;position:relative;padding-bottom:clamp(8px,1.5vw,12px);flex-shrink:0}.contenuPanier h2::after{content:"";position:absolute;bottom:0;left:0;width:clamp(40px,8vw,60px);height:3px;background:linear-gradient(90deg, #FF2D95, #FF7E80);border-radius:2px}.panierVide{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#999;font-style:italic;text-align:center;margin-top:clamp(40px,8vw,60px);animation:fadeIn .5s ease-out;flex:1}.panierVide .empty-cart-icon{font-size:clamp(3em,12vw,4.5em);margin-bottom:clamp(16px,3vw,24px);animation:bounce 2s ease-in-out infinite;opacity:.6}.panierVide p{font-size:clamp(1em,3vw,1.2em)}.listeArticles{list-style-type:none;padding:0;margin:0;flex:1;overflow-y:auto;min-height:0}.articlePanier{display:flex;justify-content:space-between;align-items:center;background-color:#fff5fa;border:1px solid #fff0f6;border-radius:clamp(10px,2vw,14px);padding:clamp(10px,2vw,14px);margin-bottom:clamp(12px,2.5vw,16px);box-shadow:0 2px 6px rgba(255,45,149,.08);transition:all .3s ease;animation:slideInRight .5s ease-out both;position:relative;overflow:hidden;gap:clamp(8px,1.5vw,12px)}.articlePanier::before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent);transition:left .5s}.articlePanier:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(255,45,149,.15);border-color:#ff2d95}.articlePanier:hover::before{left:100%}.articlePanier.removing{animation:slideOutLeft .3s ease-out forwards}.articlePanier.updating{animation:shake .3s ease-in-out}.articleInfo{flex:1;cursor:pointer;display:flex;flex-direction:column;gap:clamp(4px,1vw,6px);min-width:0}.articleInfo .product-image{border-radius:8px;transition:transform .3s ease;-o-object-fit:cover;object-fit:cover;width:70px;min-width:70px;height:auto;aspect-ratio:2/1}@media(min-width: 1024px){.articleInfo .product-image{width:80px;min-width:80px}}@media(min-width: 768px)and (max-width: 1023px){.articleInfo .product-image{width:75px;min-width:75px}}@media(max-width: 767px){.articleInfo .product-image{width:70px;min-width:70px}}.articleInfo:hover .product-image{transform:scale(1.05)}.articleInfo:hover .articleNom{color:#e0247e}.articleNom{font-weight:600;display:block;color:#ff2d95;margin-top:clamp(4px,1vw,6px);transition:color .3s ease;font-size:clamp(.9em,2.5vw,1em);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.articlePrix{color:#ff7e80;font-weight:bold;margin-top:clamp(4px,1vw,6px);font-size:clamp(1em,2.5vw,1.2em)}.controlesQuantite{display:flex;align-items:center;margin:0 clamp(8px,1.5vw,12px);gap:clamp(4px,.8vw,6px);flex-shrink:0}.btn-quantity{background:linear-gradient(135deg, #FF5FA6, #FF2D95);color:#fff;border:none;padding:clamp(4px,1vw,6px) clamp(8px,1.5vw,12px);cursor:pointer;font-size:clamp(1em,2.5vw,1.2em);font-weight:bold;border-radius:8px;transition:all .2s ease;min-width:clamp(28px,5vw,36px);height:clamp(28px,5vw,36px);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px rgba(255,45,149,.2);position:relative;overflow:hidden}.btn-quantity::before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:hsla(0,0%,100%,.3);transform:translate(-50%, -50%);transition:width .4s,height .4s}.btn-quantity:hover{background:linear-gradient(135deg, #FF2D95, #e0247e);transform:scale(1.1);box-shadow:0 4px 12px rgba(255,45,149,.3)}.btn-quantity:hover::before{width:100px;height:100px}.btn-quantity:active{transform:scale(0.95)}.btn-quantity:focus{outline:2px solid rgba(255,45,149,.5);outline-offset:2px}.quantity-display{margin:0 clamp(3px,.6vw,5px);font-weight:700;font-size:clamp(1em,2.5vw,1.2em);color:#ff2d95;min-width:clamp(20px,4vw,28px);text-align:center;transition:all .3s ease}.quantity-display.updating{animation:scaleIn .3s ease-out;color:#ff7e80;transform:scale(1.2)}.boutonSupprimer{background:linear-gradient(135deg, #FF7E80, #FF5FA6);color:#fff;border:none;padding:clamp(6px,1.2vw,8px) clamp(8px,1.5vw,12px);cursor:pointer;border-radius:8px;transition:all .3s ease;box-shadow:0 2px 6px rgba(255,126,128,.3);position:relative;overflow:hidden;flex-shrink:0;min-width:clamp(36px,6vw,44px);min-height:clamp(36px,6vw,44px);display:flex;align-items:center;justify-content:center}.boutonSupprimer::before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:hsla(0,0%,100%,.3);transform:translate(-50%, -50%);transition:width .4s,height .4s}.boutonSupprimer:hover{background:linear-gradient(135deg, #e45a60, #FF7E80);transform:scale(1.1) rotate(5deg);box-shadow:0 4px 12px rgba(255,126,128,.4)}.boutonSupprimer:hover::before{width:100px;height:100px}.boutonSupprimer:active{transform:scale(0.95) rotate(0deg)}.boutonSupprimer:focus{outline:2px solid rgba(255,126,128,.5);outline-offset:2px}.boutonSupprimer svg{width:clamp(14px,2.5vw,18px);height:clamp(14px,2.5vw,18px)}.totalPanier{margin-top:clamp(16px,3vw,24px);padding:clamp(12px,2.5vw,18px);background:linear-gradient(135deg, rgba(255, 45, 149, 0.05), rgba(255, 126, 128, 0.05));border-radius:clamp(10px,2vw,14px);font-size:clamp(1.2em,3.5vw,1.5em);text-align:right;color:#ff2d95;font-weight:bold;border:2px solid rgba(255,45,149,.1);animation:slideInRight .6s ease-out;flex-shrink:0}.boutonPaiement{display:block;width:100%;padding:clamp(12px,2.5vw,16px);background:linear-gradient(135deg, #FF2D95, #FF7E80);color:#fff;border:none;border-radius:clamp(8px,1.5vw,12px);cursor:pointer;margin-top:clamp(16px,3vw,24px);font-size:clamp(1em,2.5vw,1.2em);text-transform:uppercase;font-weight:600;transition:all .3s ease;position:relative;overflow:hidden;box-shadow:0 4px 15px rgba(255,45,149,.3);flex-shrink:0}.boutonPaiement::before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:hsla(0,0%,100%,.3);transform:translate(-50%, -50%);transition:width .6s,height .6s}.boutonPaiement:hover{background:linear-gradient(135deg, #e0247e, #FF5FA6);transform:translateY(-2px);box-shadow:0 6px 20px rgba(255,45,149,.4)}.boutonPaiement:hover::before{width:300px;height:300px}.boutonPaiement:active{transform:translateY(0);box-shadow:0 2px 10px rgba(255,45,149,.3)}.boutonPaiement:focus{outline:2px solid hsla(0,0%,100%,.5);outline-offset:2px}
