/* =========================================================================
   Pharmacie de Cologny — panier latéral (side cart)
   Coquille imprimée par inc/side-cart.php, contenu rendu par side-cart.js.
   ========================================================================= */
html.pdc-sc-open{padding-right:var(--pdc-sbw,0)}
html.pdc-sc-open .pdc-header{padding-right:var(--pdc-sbw,0)}

.pdc-sc{position:fixed;inset:0;z-index:110}
.pdc-sc[hidden]{display:none}
.pdc-sc__backdrop{position:absolute;inset:0;background:rgba(15,36,34,.55);opacity:0;transition:opacity .3s var(--pdc-ease)}
.pdc-sc__panel{position:absolute;top:0;right:0;bottom:0;display:flex;flex-direction:column;width:min(460px,100vw);background:var(--pdc-cream);box-shadow:var(--pdc-shadow-lg);transform:translateX(100%);transition:transform .34s var(--pdc-ease);outline:0}
.pdc-sc.is-open .pdc-sc__backdrop{opacity:1}
.pdc-sc.is-open .pdc-sc__panel{transform:none}

/* En-tête */
.pdc-sc__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 16px 18px 24px;border-bottom:1px solid var(--pdc-line)}
.pdc-sc__title{margin:0;font:600 1.45rem/1.2 var(--pdc-serif);color:var(--pdc-green-900)}
.pdc-sc__count{font:500 .82rem/1 var(--pdc-sans);color:var(--pdc-muted);letter-spacing:0;vertical-align:middle}
.pdc-sc__close{display:grid;place-items:center;flex:none;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:#fff;color:var(--pdc-green-900);cursor:pointer;transition:background-color .2s,color .2s}
.pdc-sc__close:hover{background:var(--pdc-green-800);color:#fff}
.pdc-sc__close .pdc-icon{width:20px;height:20px}

/* Livraison */
.pdc-sc__ship{padding:12px 24px;background:#fff;border-bottom:1px solid var(--pdc-line);font-size:.84rem;color:var(--pdc-green-900)}
.pdc-sc__ship p{display:flex;align-items:flex-start;gap:10px;margin:0;line-height:1.45}
.pdc-sc__ship .pdc-icon{flex:none;width:20px;height:20px;margin-top:-1px;color:var(--pdc-gold-600)}
.pdc-sc__ship-more{margin-top:8px!important;padding-left:30px;color:var(--pdc-muted)}
.pdc-sc__bar{display:block;height:6px;margin:10px 0 2px 30px;border-radius:999px;background:var(--pdc-cream-2);overflow:hidden}
.pdc-sc__bar span{display:block;height:100%;border-radius:inherit;background:var(--pdc-gold);transition:width .4s var(--pdc-ease)}

/* Corps */
.pdc-sc__body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:8px 24px 24px}
.pdc-sc__error{margin:14px 0 4px;padding:12px 14px;border-radius:12px;background:#fbece6;color:#8a3a24;font-size:.88rem}
.pdc-sc__loading{display:grid;gap:14px;padding-top:16px}
.pdc-sc__loading[hidden]{display:none}
.pdc-sc__skeleton{display:block;height:96px;border-radius:16px;background:linear-gradient(90deg,#fff 0%,var(--pdc-cream-2) 50%,#fff 100%);background-size:200% 100%;animation:pdc-sc-shimmer 1.4s linear infinite}
@keyframes pdc-sc-shimmer{to{background-position:-200% 0}}
.pdc-sc__items{margin:0;padding:0;list-style:none}

/* Article */
.pdc-sc-item{position:relative;display:grid;grid-template-columns:88px minmax(0,1fr) auto;gap:14px;align-items:start;padding:18px 0;border-bottom:1px solid var(--pdc-line);transition:opacity .2s}
.pdc-sc-item.is-busy{opacity:.55}
.pdc-sc-item.is-new .pdc-sc-item__media{box-shadow:0 0 0 2px var(--pdc-gold)}
.pdc-sc-item__media{display:grid;place-items:center;width:88px;height:88px;padding:6px;border-radius:14px;background:#fff;overflow:hidden;transition:box-shadow .4s}
.pdc-sc-item__media img{width:100%;height:100%;object-fit:contain}
.pdc-sc-item__ph .pdc-icon{width:28px;height:28px;color:var(--pdc-muted)}
.pdc-sc-item__body{min-width:0}
.pdc-sc-item__brand{margin:0 0 4px;font:600 .66rem/1.2 var(--pdc-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--pdc-gold-600)}
.pdc-sc-item__name{display:block;font:600 .98rem/1.3 var(--pdc-serif);color:var(--pdc-green-900);text-decoration:none;overflow-wrap:break-word}
.pdc-sc-item__name:hover{text-decoration:underline;text-underline-offset:3px}
.pdc-sc-item__unit{margin:4px 0 0;font-size:.78rem;color:var(--pdc-muted)}
.pdc-sc-item__row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-top:12px}
.pdc-sc-item__price{font:600 1rem/1.2 var(--pdc-sans);font-variant-numeric:tabular-nums lining-nums;color:var(--pdc-green-950);white-space:nowrap}
.pdc-sc-item__msg{margin:8px 0 0;font-size:.8rem;color:#8a3a24}
.pdc-sc-item__remove{display:grid;place-items:center;width:36px;height:36px;margin:-6px -6px 0 0;padding:0;border:0;border-radius:50%;background:transparent;color:var(--pdc-muted);cursor:pointer;transition:background-color .2s,color .2s}
.pdc-sc-item__remove:hover{background:#fbece6;color:#a8442a}
.pdc-sc-item__remove .pdc-icon{width:18px;height:18px}

/* Quantité */
.pdc-sc-qty{display:inline-flex;align-items:center;height:40px;border:1px solid var(--pdc-line);border-radius:999px;background:#fff}
.pdc-sc-qty__btn{display:grid;place-items:center;width:38px;height:38px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--pdc-green-900);cursor:pointer}
.pdc-sc-qty__btn:hover:not(:disabled){background:var(--pdc-cream)}
.pdc-sc-qty__btn:disabled{opacity:.35;cursor:not-allowed}
.pdc-sc-qty__btn .pdc-icon{width:16px;height:16px;stroke-width:2}
.pdc-sc-qty__input{width:38px;height:38px;padding:0;border:0;background:transparent;text-align:center;font:600 .95rem/1 var(--pdc-sans);color:var(--pdc-green-950);-moz-appearance:textfield;appearance:textfield}
.pdc-sc-qty__input::-webkit-outer-spin-button,.pdc-sc-qty__input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.pdc-sc-qty--static{padding:0 14px;font-weight:600;color:var(--pdc-green-900)}

/* Article retiré (annulable) */
.pdc-sc-item--removed{display:flex;align-items:center;justify-content:space-between;gap:12px;grid-template-columns:none;padding:14px 16px;margin:12px 0;border:1px dashed rgba(31,61,58,.25);border-radius:14px;background:rgba(255,255,255,.55);font-size:.86rem;color:var(--pdc-text)}
.pdc-sc-item--removed p{margin:0;min-width:0}
.pdc-sc-undo{flex:none;padding:.55em 1.1em;border:1px solid var(--pdc-green-800);border-radius:999px;background:#fff;color:var(--pdc-green-900);font:600 .8rem/1 var(--pdc-sans);cursor:pointer}
.pdc-sc-undo:hover{background:var(--pdc-green-800);color:#fff}

/* État vide */
.pdc-sc__empty{padding:36px 0 8px;text-align:center}
.pdc-sc__empty-icon{display:inline-grid;place-items:center;width:72px;height:72px;margin-bottom:16px;border-radius:50%;background:#fff;color:var(--pdc-gold-600)}
.pdc-sc__empty-icon .pdc-icon{width:30px;height:30px}
.pdc-sc__empty-title{margin:0 0 8px;font:600 1.35rem/1.25 var(--pdc-serif);color:var(--pdc-green-900)}
.pdc-sc__empty-text{max-width:32ch;margin:0 auto 22px;font-size:.92rem;color:var(--pdc-muted)}
.pdc-sc__suggest{margin-top:32px;text-align:left}
.pdc-sc__suggest-title{margin:0 0 10px;font:600 .7rem/1.2 var(--pdc-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--pdc-muted)}
.pdc-sc__suggest ul{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.pdc-sc-sugg{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px;border-radius:14px;background:#fff}
.pdc-sc-sugg img{width:56px;height:56px;object-fit:contain}
.pdc-sc-sugg__body{display:grid;gap:2px;min-width:0;font-size:.86rem}
.pdc-sc-sugg__body small{font:600 .62rem/1.2 var(--pdc-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--pdc-gold-600)}
.pdc-sc-sugg__body a{color:var(--pdc-green-900);font-weight:600;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pdc-sc-sugg__body a:hover{text-decoration:underline}
.pdc-sc-sugg__body span{color:var(--pdc-text);font-variant-numeric:tabular-nums}
.pdc-sc-sugg__add{display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;border-radius:50%;background:var(--pdc-green-800);color:#fff;cursor:pointer;transition:background-color .2s,color .2s}
.pdc-sc-sugg__add:hover{background:var(--pdc-gold);color:var(--pdc-green-950)}
.pdc-sc-sugg__add .pdc-icon{width:18px;height:18px;stroke-width:2}
.pdc-sc-sugg__add.loading{opacity:.6}

/* Pied : totaux + actions */
.pdc-sc__foot{padding:18px 24px calc(18px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--pdc-line);box-shadow:0 -18px 30px -24px rgba(15,36,34,.3)}
.pdc-sc__foot[hidden]{display:none}
.pdc-sc__totals{margin:0}
.pdc-sc__totals div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:3px 0;font-size:.9rem}
.pdc-sc__totals dt{color:var(--pdc-text)}
.pdc-sc__totals dd{margin:0;font-variant-numeric:tabular-nums lining-nums}
.pdc-sc__totals .pdc-sc__total dt{font-weight:600;color:var(--pdc-green-900)}
.pdc-sc__totals .pdc-sc__total dd{font:600 1.35rem/1.2 var(--pdc-serif);color:var(--pdc-green-950)}
.pdc-sc__discount dd{color:var(--pdc-ok)}
.pdc-sc__note{margin:4px 0 14px;font-size:.76rem;color:var(--pdc-muted)}
.pdc-sc__actions{display:grid;gap:10px}
.pdc-sc__actions .pdc-btn{width:100%}
.pdc-sc__actions .pdc-icon{width:17px;height:17px}

/* Focus visibles */
.pdc-sc :is(a,button,input):focus-visible{outline:2px solid var(--pdc-green-800);outline-offset:2px}
.pdc-sc__actions .pdc-btn:focus-visible{outline-offset:3px}

/* Erreur sous le formulaire de la fiche produit */
.pdc-sc-form-error{margin:10px 0 0;padding:10px 14px;border-radius:12px;background:#fbece6;color:#8a3a24;font-size:.88rem}

@media (max-width:520px){
	.pdc-sc__head{padding:12px 12px 12px 18px}
	.pdc-sc__ship{padding:10px 18px}
	.pdc-sc__body{padding:4px 18px 18px}
	.pdc-sc__foot{padding:14px 18px calc(14px + env(safe-area-inset-bottom))}
	.pdc-sc-item{grid-template-columns:72px minmax(0,1fr) auto;gap:12px}
	.pdc-sc-item__media{width:72px;height:72px}
	.pdc-sc__actions{grid-template-columns:1fr 1fr}
	.pdc-sc__actions .pdc-btn{padding-inline:.8em}
}

@media (prefers-reduced-motion:reduce){
	.pdc-sc__backdrop,.pdc-sc__panel,.pdc-sc__bar span,.pdc-sc-item,.pdc-sc-item__media{transition:none}
	.pdc-sc__skeleton{animation:none}
}

/* Bouton d'ajout de la fiche produit pendant la requête */
.single_add_to_cart_button.loading{opacity:.7;cursor:progress}
