/* ELBA — coș drawer lateral (flat, airy, brand). Self-contained tokens. */
.elba-drawer, .elba-cartbtn, .elba-drawer-backdrop {
	--blue:#005AA6; --cyan:#0DA1E2; --purple:#704780; --green:#96C03E; --green-ink:#1e2d07;
	--terra:#B3682C; --ink:#0f1a24; --ink-2:#48555f; --ink-3:#6c7883; --line:#e5e8ea; --gray:#C4C6C9; --panel:#f4f7f9;
	--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
	box-sizing:border-box; font-family:var(--sans); font-variant-numeric:tabular-nums;
}
.elba-drawer *, .elba-drawer *::before, .elba-drawer *::after { box-sizing:border-box; }

/* buton flotant — pătrat cu radius fin, hover cu lift + umplere albastră */
.elba-cartbtn {
	position:fixed; right:24px; bottom:24px;
	width:54px !important; height:54px !important;
	border-radius:13px !important;
	background:#fff !important; border:1px solid #e2e8ee !important; color:var(--blue) !important;
	cursor:pointer; display:flex !important; align-items:center !important; justify-content:center !important; z-index:99998;
	padding:0 !important; line-height:0; text-indent:0 !important; margin-bottom:env(safe-area-inset-bottom,0);
	box-shadow:0 2px 6px rgba(15,26,36,.08), 0 14px 34px -14px rgba(15,26,36,.28);
	transition:transform .18s cubic-bezier(.22,.8,.3,1), box-shadow .18s ease, background .18s ease, border-color .18s ease, color .18s ease;
}
.elba-cartbtn svg { width:27px; height:27px; display:block; margin:0 auto; flex:0 0 auto; transition:transform .18s ease; }
.elba-cartbtn:hover, .elba-cartbtn:focus-visible {
	background:var(--blue) !important; color:#fff !important; border-color:var(--blue) !important;
	transform:translateY(-3px);
	box-shadow:0 6px 14px rgba(0,90,166,.22), 0 22px 48px -16px rgba(0,90,166,.5);
}
.elba-cartbtn:hover svg { transform:scale(1.08); }
.elba-cartbtn:active { transform:translateY(-1px) scale(.97); }
.elba-cartbtn__count {
	position:absolute; top:-6px; right:-6px; min-width:21px; height:21px; padding:0 5px;
	background:var(--green); color:var(--green-ink); border-radius:999px; font-size:11.5px; font-weight:800;
	display:flex; align-items:center; justify-content:center; line-height:1;
	border:2px solid #fff; box-shadow:0 1px 3px rgba(15,26,36,.15);
}

/* backdrop */
.elba-drawer-backdrop {
	position:fixed; inset:0; background:rgba(15,26,36,.38); z-index:99998; opacity:0; transition:opacity .28s ease;
	pointer-events:none; /* închis: nu captează touch (altfel ar bloca scroll-ul pe mobil) */
}
.elba-drawer-backdrop.is-open { opacity:1; pointer-events:auto; }

/* panou */
.elba-drawer {
	position:fixed; top:0; right:0; height:100%; width:420px; max-width:100vw; background:#fff;
	border-left:1px solid var(--line); border-top:3px solid var(--blue);
	z-index:99999; display:flex; flex-direction:column; color:var(--ink);
	transform:translateX(100%); transition:transform .32s cubic-bezier(.22,.8,.3,1);
	pointer-events:none; /* închis: nu captează touch, chiar dacă reduced-motion anulează transform-ul */
}
.elba-drawer.is-open { transform:translateX(0); pointer-events:auto; }
.elba-drawer__head {
	display:flex; align-items:center; justify-content:space-between; padding:20px 22px 14px; border-bottom:1px solid var(--line);
}
.elba-drawer__head h2 { margin:0; font-size:20px; font-weight:800; }
.elba-drawer__close { background:none; border:0; font-size:28px; line-height:1; color:var(--ink-3); cursor:pointer; padding:0 4px; }
.elba-drawer__close:hover { color:var(--ink); }
.elba-drawer__body { flex:1; overflow-y:auto; padding:14px 18px; }
.elba-drawer__items { list-style:none; margin:0; padding:0; }

/* line item — card light, X în colț, qty ca pe pagina de produs */
.elba-di {
	display:grid; grid-template-columns:64px 1fr; gap:14px; align-items:start;
	position:relative; border:1px solid #eef2f6; border-radius:10px; padding:14px 40px 14px 14px; margin-bottom:12px;
	background:#fff; transition:border-color .15s;
}
.elba-di:hover { border-color:#e0e7ee; }
.elba-di.is-flash { border-color:var(--green); background:#f6faee; }
.elba-di[aria-busy="true"] { opacity:.6; }
.elba-di__rm {
	position:absolute; top:10px; right:10px; width:26px; height:26px;
	display:flex; align-items:center; justify-content:center;
	background:transparent !important; border:0 !important; border-radius:7px;
	color:var(--ink-3) !important; cursor:pointer; padding:0 !important;
	transition:background .13s, color .13s;
}
.elba-di__rm svg { width:14px; height:14px; display:block; }
.elba-di__rm:hover { background:#f2f4f6 !important; color:var(--terra) !important; }
.elba-di__img { display:block; width:64px; height:64px; border-radius:8px; overflow:hidden; background:var(--panel); }
.elba-di__img img { width:100%; height:100%; object-fit:contain; }
.elba-di__name { font-weight:700; color:var(--ink); text-decoration:none; font-size:14px; line-height:1.35; }
.elba-di__name:hover { color:var(--blue); }
.elba-di__var { color:var(--ink-3); font-size:12px; margin-top:3px; font-variant-numeric:tabular-nums; }
/* prețul unitar e ascuns — prețul apare O SINGURĂ DATĂ (totalul de linie, lângă cantitate) */
.elba-di__price { display:none; }
.elba-di__list { color:var(--gray); text-decoration:line-through; font-weight:600; font-size:13px; margin-right:5px; }
.elba-di__net { color:var(--ink); font-weight:800; font-size:15px; }
.elba-di__save { display:inline-block; margin-top:5px; background:#eef6df; color:#4d6a13; font-weight:800; font-size:11px; padding:2px 8px; border-radius:999px; }
.elba-di__row { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:12px; }
.elba-di__qty { display:inline-flex; align-items:stretch; border:1px solid var(--gray); background:#fff; }
.elba-di__qty button {
	width:32px; height:32px; border:0 !important; background:#fff !important;
	color:var(--ink-2) !important; font-size:17px; font-weight:400; cursor:pointer; line-height:1;
	display:flex; align-items:center; justify-content:center; padding:0 !important;
	box-shadow:none !important; border-radius:0 !important; transition:background .12s;
}
.elba-di__qty button:hover { background:var(--panel) !important; }
.elba-di__qty input {
	width:34px !important; min-width:0 !important; max-width:34px !important; height:32px;
	border:0 !important; border-left:1px solid var(--line) !important; border-right:1px solid var(--line) !important;
	border-radius:0 !important; box-shadow:none !important; padding:0 !important;
	text-align:center; font-size:13.5px; font-weight:700; color:var(--ink);
	background:#fff !important; font-variant-numeric:tabular-nums;
}
.elba-di__total { font-weight:800; font-size:15px; white-space:nowrap; }
.elba-di__err { grid-column:1/-1; color:var(--terra); font-size:12.5px; margin-top:6px; }

/* empty */
.elba-drawer__empty { text-align:center; padding:48px 20px; color:var(--ink-3); }
.elba-drawer__empty svg { width:46px; height:46px; color:var(--blue); opacity:.6; }
.elba-drawer__empty p { margin:14px 0 6px; font-weight:700; color:var(--ink); }
.elba-drawer__empty a { color:var(--blue); }

/* footer */
.elba-drawer__foot { border-top:1px solid var(--line); padding:16px 18px calc(16px + env(safe-area-inset-bottom,0)); background:#fff; }
.elba-drawer__sub { display:flex; align-items:baseline; justify-content:space-between; font-size:16px; }
.elba-drawer__sub b { font-size:22px; font-weight:800; }
.elba-drawer__save { color:#4d6a13; font-weight:700; font-size:13px; margin-top:4px; }
.elba-drawer__trust { color:var(--ink-3); font-size:12px; margin:8px 0 12px; }
.elba-drawer__note { color:var(--terra); font-size:12.5px; text-align:center; margin-top:8px; }
.elba-btn-cart { display:block; width:100%; text-align:center; padding:15px; border-radius:9px; font-weight:800; font-size:15px; text-decoration:none; border:0; cursor:pointer; }
.elba-btn-cart--green { background:var(--green) !important; color:#fff !important; font-size:16.5px; padding:16px; letter-spacing:.01em; }
.elba-btn-cart--green:hover { background:#88b334 !important; color:#fff !important; }
.elba-btn-cart--ghost { background:#fff; border:1px solid var(--line); color:var(--ink-2); margin-top:8px; display:flex !important; width:100% !important; align-items:center; justify-content:center; box-sizing:border-box; }

.elba-sr-live { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }

:where(.elba-drawer, .elba-cartbtn) :focus-visible { outline:2px solid var(--blue); outline-offset:3px; }

/* mobil — bottom sheet */
@media (max-width:640px) {
	.elba-drawer {
		top:auto; bottom:0; right:0; left:0; width:100%; height:auto; max-height:92dvh;
		border-left:0; border-radius:16px 16px 0 0; border-top:3px solid var(--blue);
		transform:translateY(100%);
	}
	.elba-drawer.is-open { transform:translateY(0); }
	.elba-cartbtn { right:16px; bottom:16px; }
}
@media (prefers-reduced-motion:reduce) {
	.elba-drawer, .elba-drawer-backdrop { transition:opacity .18s ease; transform:none !important; }
	.elba-drawer { opacity:0; } .elba-drawer.is-open { opacity:1; }
}

/* ===== Fix: neutralizează stilul roz (#cc3366) al temei pe butoanele drawer-ului ===== */
.elba-drawer button{font-family:inherit;}
.elba-drawer__close{background:none !important; border:0 !important; color:var(--ink-3) !important; box-shadow:none !important;}
.elba-drawer__close:hover{color:var(--ink) !important;}
.elba-di__rm{background:none !important; border:0 !important; color:var(--ink-3) !important; box-shadow:none !important; text-decoration:none !important;}
.elba-di__rm:hover{color:var(--terra) !important;}
.elba-di__qty button{background:#fff !important; border:0 !important; color:var(--ink) !important; box-shadow:none !important;}
.elba-btn-cart--ghost{background:#fff !important; border:1px solid var(--line) !important; color:var(--ink-2) !important; box-shadow:none !important;}
.elba-btn-cart--ghost:hover{border-color:var(--blue) !important; color:var(--blue) !important;}

/* „La cerere" pentru produse fără preț (în loc de „0 lei") */
.elba-di__req{color:var(--blue) !important; font-weight:700;}
.elba-di__total.elba-di__req{font-size:14px;}

/* ── Pop-up „transport gratuit peste 300 lei" în coș ── */
.elba-drawer__ship{
	margin:0 0 12px;padding:11px 14px;border-radius:10px;font-size:13px;line-height:1.5;
	background:#f6f9fc;border:1px solid #dbe4ee;color:#33404d;
	animation:elbaShipPop .35s ease}
.elba-drawer__ship b{font-weight:800;color:#0f2a44}
.elba-drawer__ship.is-free{background:#f5faf5;border-color:#cfe3cf;color:#1d5c2e}
.elba-drawer__ship.is-free b{color:#155724}
@keyframes elbaShipPop{0%{transform:translateY(6px);opacity:0}100%{transform:none;opacity:1}}

/* ── MOBIL: coșul plutitor + pastila „Listă" NU se mai suprapun peste barele
      fixe de jos (bara sticky „Adaugă în coș" de pe produs ~62px; bara de
      contact EMAIL/TELEFON/WHATSAPP de pe festiv ~52px). ── */
@media (max-width:1024px){
	body.single-product .elba-cartbtn{bottom:78px !important;}
	body.single-product .elba-wlpill{bottom:138px !important;}
	body.elba-festive-archive .elba-cartbtn,
	body.tax-product_cat.elba-festive-archive .elba-cartbtn{bottom:68px !important;}
	body.elba-festive-archive .elba-wlpill{bottom:128px !important;}
	body.single-product.elba-festive-single .elba-cartbtn{bottom:78px !important;}
	body.single-product.elba-festive-single .elba-wlpill{bottom:138px !important;}
}

/* ── Coșul plutitor: corporate — mai mic (44px), pătrat cu radius 12, fără umbre ── */
.elba-cartbtn{
	width:44px !important; height:44px !important; padding:0 !important;
	border-radius:12px !important; background:#fff !important;
	border:1px solid #d7dee6 !important; box-shadow:none !important; right:16px;
}
.elba-cartbtn svg{width:20px !important; height:20px !important;}
.elba-cartbtn:hover, .elba-cartbtn:focus-visible{box-shadow:none !important; transform:none !important; border-color:#005AA6 !important;}
.elba-cartbtn:hover svg{transform:none;}

/* ══ Finisaj complet drawer coș (mobil + desktop) ══ */
/* 1) Titlul VIZIBIL — tema vopsea h2 în deschis; culoare explicită. */
.elba-drawer__head h2{color:#0f1a24 !important;}
.elba-drawer__head{padding:18px 20px 14px;}
/* 2) X generos: țintă de 40px, icon mare, hover clar */
.elba-drawer__close{
	width:40px; height:40px; font-size:30px; display:flex; align-items:center; justify-content:center;
	border-radius:10px; margin:-4px -8px 0 0; color:#5b6875;
	transition:background .13s, color .13s;
}
.elba-drawer__close:hover{background:#f2f5f8; color:#0f1a24;}
/* 3) Empty state: mesaj clar + link ca buton */
.elba-drawer__empty{padding:56px 24px;}
.elba-drawer__empty b, .elba-drawer__empty strong{display:block; color:#0f1a24; font-size:17px; margin:16px 0 6px;}
.elba-drawer__empty a{
	display:inline-block; margin-top:14px; padding:12px 20px; border:1px solid #005AA6;
	border-radius:10px; color:#005AA6 !important; font-weight:700; font-size:14px; text-decoration:none !important;
	transition:background .15s, color .15s;
}
.elba-drawer__empty a:hover{background:#005AA6; color:#fff !important;}
/* 4) Cantitatea: colțuri moi, bordură calmă (era pătrat cu gri dur) */
.elba-di__qty{border:1px solid #d7dee6; border-radius:8px; overflow:hidden;}
/* 5) Thumb cu bordură fină */
.elba-di__img{border:1px solid #eef2f6;}
/* 6) Footer: ierarhie clară + safe-area iOS */
.elba-drawer__foot{padding:14px 18px calc(16px + env(safe-area-inset-bottom, 0px));}
.elba-drawer__sub{font-size:15px;}
.elba-drawer__sub b{font-size:18px;}
.elba-drawer__trust{font-size:12px; color:#7c8894; margin:6px 0 12px;}
/* 7) Mobil: panou pe tot ecranul, fără bordura din stânga */
@media (max-width:520px){
	.elba-drawer{width:100% !important; border-left:0;}
	.elba-drawer__head{padding:16px 16px 12px;}
	.elba-drawer__body{padding:12px 14px;}
	.elba-drawer__foot{padding-left:14px; padding-right:14px;}
}

/* Zecimale-indice, regulă globală */
sup.elba-dec{font-size:.6em; font-weight:inherit; vertical-align:super; line-height:0; margin-right:1px;}
