/* Еко Няшки — кошик-шторка */
.ecd{position:fixed;inset:0;z-index:2147483000;font-family:Manrope,system-ui,-apple-system,sans-serif;color:#1F2A1A}
.ecd[hidden]{display:none}
.ecd *,.ecd *::before,.ecd *::after{box-sizing:border-box}
.ecd__bg{position:absolute;inset:0;background:rgba(20,26,18,.45);opacity:0;transition:opacity .25s}
.ecd__panel{position:absolute;top:0;right:0;bottom:0;width:min(440px,100%);background:#fff;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .3s cubic-bezier(.2,.8,.2,1);box-shadow:-20px 0 40px rgba(0,0,0,.12)}
.ecd.is-open .ecd__bg{opacity:1}.ecd.is-open .ecd__panel{transform:none}
html.ecd-lock{overflow:hidden}
.ecd__head{display:flex;align-items:center;gap:8px;padding:16px 18px;border-bottom:1px solid #ECEEE6}
.ecd__head b{font-size:20px;font-weight:800}.ecd__count{color:#5B6455;font-size:14px}
.ecd__x{margin-left:auto;width:42px;height:42px;border-radius:50%!important;border:0;background:#F4F5F0;color:#1F2A1A;font-size:16px;cursor:pointer;padding:0}
.ecd__x:hover{background:#E9ECE3;color:#1F2A1A}
.ecd__ladder{padding:14px 18px;background:#F6F8F2;display:flex;flex-direction:column;gap:8px}
.ecd__lin{display:contents}
.ecd__ltext{font-size:14px;font-weight:600}
.ecd__bar{height:8px;border-radius:4px;background:#E1E6DA;overflow:hidden}.ecd__bar span{display:block;height:100%;background:#3F7A22;border-radius:4px;transition:width .5s}
.ecd__steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.ecd__step{background:#fff;border:1px solid #E1E6DA;border-radius:12px;padding:6px 8px;display:flex;flex-direction:column}
.ecd__step b{font-size:12px}.ecd__step span{font-size:10.5px;line-height:1.25;color:#5B6455}
.ecd__step.is-done{background:#3F7A22;border-color:#3F7A22;color:#fff}.ecd__step.is-done span{color:#E6F1DC}
.ecd__items{flex:1;overflow-y:auto;padding:6px 18px}
.ecd__item{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid #ECEEE6;position:relative}
.ecd__img{flex:none;width:72px;height:72px;border-radius:14px;overflow:hidden;background:#F4F5F0;display:block}
.ecd__img img{width:100%;height:100%;object-fit:cover}
.ecd__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;padding-right:28px}
.ecd__name{color:#1F2A1A!important;font-weight:700;font-size:14px;line-height:1.3;text-decoration:none}
.ecd__meta{font-size:12px;color:#5B6455}
.ecd__line{display:flex;align-items:center;justify-content:space-between;margin-top:6px}
.ecd__qty{display:flex;align-items:center;border:1px solid #DADDD4;border-radius:999px}
.ecd__qty button{width:36px;height:36px;border:0;background:transparent;border-radius:50%!important;font-size:18px;color:#1F2A1A;cursor:pointer;padding:0}
.ecd__qty button:hover{background:#F4F5F0;color:#1F2A1A}
.ecd__qty span{min-width:28px;text-align:center;font-weight:800}
.ecd__sum{font-size:15px}
.ecd__del{position:absolute;top:12px;right:0;width:30px;height:30px;border:0;border-radius:50%!important;background:transparent;color:#7B817C;cursor:pointer;padding:0}
.ecd__del:hover{background:#F4F5F0;color:#B3243E}
.ecd__foot{padding:14px 18px calc(14px + env(safe-area-inset-bottom));border-top:1px solid #ECEEE6;display:flex;flex-direction:column;gap:10px}
.ecd__total{display:flex;justify-content:space-between;align-items:baseline}.ecd__total b{font-size:20px}
.ecd__btn{display:flex;align-items:center;justify-content:center;min-height:52px;border-radius:999px;background:#3F7A22;color:#fff!important;font-weight:800;font-size:16px;text-decoration:none!important;transition:transform .2s,box-shadow .2s}
.ecd__btn:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(63,122,34,.3)}
.ecd__btn.is-disabled{background:#E1E6DA;color:#5B6455!important;box-shadow:none;transform:none;cursor:default}
.ecd__link{text-align:center;color:#3F7A22!important;font-weight:700;font-size:14px}
.ecd__empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:40px 10px}
.ecd__empty b{font-size:18px}.ecd__empty span{color:#5B6455;font-size:14px}.ecd__empty .ecd__btn{padding:0 26px;margin-top:6px}
.ecd__loading{padding:30px 0;text-align:center;color:#5B6455}
.ecd.is-busy .ecd__items{opacity:.6;pointer-events:none}
.ecd__toast{position:absolute;left:18px;right:18px;bottom:150px;background:#1F2A1A;color:#fff;border-radius:999px;padding:10px 16px;font-size:13px;text-align:center;opacity:0;transform:translateY(8px);transition:.25s;pointer-events:none}
.ecd__toast.is-on{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.ecd__panel,.ecd__bg{transition:none}}
/* Перебиваємо «Додатковий CSS» теми (квадратні кнопки + успадкований шрифт) */
#ecd#ecd button { font-family: inherit !important; }
#ecd#ecd .ecd__x, #ecd#ecd .ecd__qty button, #ecd#ecd .ecd__del { border-radius: 50% !important; }
#ecd#ecd .ecd__x { font-size: 16px !important; }
#ecd#ecd .ecd__qty button { font-size: 18px !important; }
#ecd#ecd .ecd__del { font-size: 14px !important; }

/* ---------- Оформлення в шторці ---------- */
#ecd#ecd button.ecd__btn{width:100%;border:0;cursor:pointer;font-family:inherit!important;font-size:16px!important;border-radius:999px!important;padding:0 20px}
#ecd#ecd button{font-family:inherit!important}
.ecd__back{display:none;width:42px;height:42px;border-radius:50%!important;border:0;background:#F4F5F0;color:#1F2A1A;font-size:18px!important;cursor:pointer;padding:0;margin-right:4px}
.ecd.is-co .ecd__back{display:inline-flex;align-items:center;justify-content:center}
.ecd.is-co .ecd__ladder,.ecd.is-co .ecd__items,.ecd.is-co .ecd__foot,.ecd.is-co .ecd__count{display:none}
.ecd-co{display:none;flex:1;overflow-y:auto;padding:14px 18px calc(18px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch}
.ecd.is-co .ecd-co{display:block;animation:ecd-in .25s ease}
@keyframes ecd-in{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:none}}
.ecd-co__sum{display:flex;justify-content:space-between;align-items:baseline;background:#F6F8F2;border-radius:16px;padding:12px 14px;font-size:14px;color:#5B6455}
.ecd-co__sum b{font-size:20px;color:#1F2A1A}
.ecd-co__s{margin-top:18px}
.ecd-co__s h3{font-size:16px!important;font-weight:800;margin:0 0 10px!important;color:#1F2A1A}
.ecd-co__row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ecd-f{display:block;position:relative;margin-bottom:10px}
.ecd-f[hidden]{display:none}
.ecd-f__l{display:block;font-size:12.5px;font-weight:600;color:#5B6455;margin:0 0 4px 4px}
#ecd#ecd .ecd-f__i{width:100%;min-height:48px;border:1.5px solid #DADDD4;border-radius:14px;padding:11px 14px;font:inherit;font-size:16px;color:#1F2A1A;background:#fff;box-shadow:none;outline:0;transition:border-color .2s,box-shadow .2s;margin:0}
#ecd#ecd textarea.ecd-f__i{resize:vertical;min-height:70px}
#ecd#ecd .ecd-f__i:focus{border-color:#3F7A22;box-shadow:0 0 0 4px rgba(63,122,34,.12)}
.ecd-f.is-err .ecd-f__i{border-color:#C0392B!important}
.ecd-f__e{display:none;font-size:12.5px;color:#C0392B;margin:4px 0 0 4px}
.ecd-f.is-err .ecd-f__e{display:block}
.ecd-f.is-load::after{content:"";position:absolute;right:14px;top:38px;width:16px;height:16px;border:2px solid #CBD3C3;border-top-color:#3F7A22;border-radius:50%;animation:ecd-spin .7s linear infinite}
@keyframes ecd-spin{to{transform:rotate(360deg)}}
.ecd-sg{position:absolute;left:0;right:0;top:calc(100% - 2px);z-index:5;background:#fff;border:1px solid #DADDD4;border-radius:14px;box-shadow:0 14px 30px rgba(20,26,18,.14);max-height:260px;overflow-y:auto;padding:6px}
.ecd-sg[hidden]{display:none}
#ecd#ecd .ecd-sg__i{display:block;width:100%;text-align:left;border:0;background:transparent;padding:10px 12px;border-radius:10px!important;font-size:14px!important;color:#1F2A1A;cursor:pointer;line-height:1.35}
#ecd#ecd .ecd-sg__i:hover{background:#F1F7EA}
.ecd-sg__empty{padding:10px 12px;font-size:14px;color:#5B6455}
.ecd-ch{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}
#ecd#ecd .ecd-ch__o{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;width:100%;border:1.5px solid #DADDD4;background:#fff;border-radius:16px!important;padding:12px 14px 12px 44px;cursor:pointer;position:relative;color:#1F2A1A;transition:border-color .2s,background .2s}
#ecd#ecd .ecd-ch__o::before{content:"";position:absolute;left:14px;top:14px;width:18px;height:18px;border-radius:50%;border:2px solid #B9C1B2;background:#fff;transition:all .2s}
#ecd#ecd .ecd-ch__o.is-on{border-color:#3F7A22;background:#F6FAF1}
#ecd#ecd .ecd-ch__o.is-on::before{border:6px solid #3F7A22}
.ecd-ch__o b{font-size:15px}.ecd-ch__o span{font-size:12.5px;color:#5B6455;line-height:1.35}
#ecd#ecd .ecd-co__more{border:0;background:transparent;color:#3F7A22;font-weight:700;font-size:14px!important;padding:4px 0;cursor:pointer}
.ecd-co__msg{margin:14px 0 0;padding:12px 14px;border-radius:14px;background:#FDECEA;color:#8E2A1F;font-size:14px;white-space:pre-line}
.ecd-co__msg[hidden]{display:none}
.ecd-co__go{margin-top:16px}
.ecd-co__go.is-busy{opacity:.7;pointer-events:none}
.ecd-co__legal{font-size:12px;color:#7B817C;text-align:center;margin:10px 0 0;line-height:1.45}
.ecd-co__legal a{color:#3F7A22}
#ecd#ecd button,#ecd#ecd .ecd-ch__o b,#ecd#ecd .ecd-ch__o span{letter-spacing:normal!important;text-transform:none!important;line-height:1.35}
#ecd#ecd .ecd-ch__o b{font-size:15px!important;font-weight:800}#ecd#ecd .ecd-ch__o span{font-size:12.5px!important;font-weight:500}
#ecd#ecd .ecd__back{border-radius:50%!important}

/* ---------- Комплімент-подарунок (картка й шторка) ---------- */
.ec-gift{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#FFF4F7,#FFF9EC);border:1.5px dashed #F2B3C6;border-radius:18px;padding:10px 14px 10px 10px;position:relative;overflow:visible;transition:border-color .4s,background .4s}
.ec-gift.is-open{border-style:solid;border-color:#7DBB4E;background:linear-gradient(135deg,#F1F9E9,#FFF7E6)}
.ec-gift__box{position:relative;flex:none;width:58px;height:58px}
.ec-gift__box svg{width:100%;height:100%;overflow:visible;display:block;transform-origin:50% 90%}
.ec-gift__lid{transform-box:fill-box;transform-origin:96% 100%;transition:transform .65s cubic-bezier(.3,1.7,.5,1)}
.ec-gift__inside{transform:translateY(16px);opacity:0;transition:transform .6s .15s cubic-bezier(.3,1.5,.5,1),opacity .3s .15s}
.ec-gift.is-open .ec-gift__lid{transform:translate(3px,-4px) rotate(30deg)}
.ec-gift.is-open .ec-gift__inside{transform:none;opacity:1}
.ec-gift:not(.is-open) .ec-gift__box svg{animation:ec-gift-wiggle 3.4s ease-in-out infinite}
.ec-gift:not(.is-open) .ec-gift__lid{animation:ec-gift-peek 3.4s ease-in-out infinite}
@keyframes ec-gift-wiggle{0%,62%,100%{transform:none}66%{transform:rotate(-7deg)}70%{transform:rotate(6deg)}74%{transform:rotate(-4deg)}78%{transform:rotate(2deg)}}
@keyframes ec-gift-peek{0%,64%,82%,100%{transform:none}70%{transform:translateY(-3px)}}
.ec-gift.is-pop .ec-gift__box{animation:ec-gift-pop .7s cubic-bezier(.3,1.6,.5,1)}
@keyframes ec-gift-pop{0%{transform:scale(.85)}55%{transform:scale(1.18)}100%{transform:scale(1)}}
.ec-gift__spark{position:absolute;width:10px;height:10px;opacity:0;pointer-events:none;background:#F4D35E;clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%)}
.ec-gift__spark.s1{top:-6px;left:2px}.ec-gift__spark.s2{top:4px;right:-6px;width:8px;height:8px;background:#F28FAD}.ec-gift__spark.s3{top:-10px;right:14px;width:7px;height:7px;background:#7DBB4E}
.ec-gift.is-open .ec-gift__spark{animation:ec-gift-twinkle 2.2s ease-in-out infinite}
.ec-gift.is-open .ec-gift__spark.s2{animation-delay:.5s}.ec-gift.is-open .ec-gift__spark.s3{animation-delay:1.1s}
@keyframes ec-gift-twinkle{0%,100%{opacity:0;transform:scale(.3) rotate(0)}40%{opacity:1;transform:scale(1.1) rotate(45deg)}70%{opacity:.6;transform:scale(.8) rotate(90deg)}}
.ec-gift__txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.ec-gift__txt b{font-size:14.5px;font-weight:800;color:#1F2A1A}
.ec-gift__txt span{font-size:12.5px;line-height:1.4;color:#5B6455}
@media (prefers-reduced-motion:reduce){.ec-gift *,.ec-gift{animation:none!important;transition:none!important}}

/* ---------- Плаваюча кнопка кошика ---------- */
.ecf{position:fixed;right:22px;bottom:calc(100px + env(safe-area-inset-bottom));z-index:2147482990;width:66px;height:66px;border:0!important;padding:0!important;border-radius:50%!important;cursor:pointer;
	background:radial-gradient(120% 120% at 30% 20%,#5DAA35 0%,#3F7A22 60%,#356A1B 100%)!important;color:#fff!important;box-shadow:0 12px 28px rgba(47,100,24,.35),0 2px 6px rgba(0,0,0,.12);
	display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(24px) scale(.6);pointer-events:none;
	transition:opacity .3s,transform .45s cubic-bezier(.3,1.5,.5,1),box-shadow .25s;font-family:Manrope,system-ui,-apple-system,sans-serif!important;-webkit-tap-highlight-color:transparent}
.ecf.is-on{opacity:1;transform:none;pointer-events:auto}
.ecf:hover{box-shadow:0 16px 34px rgba(47,100,24,.45),0 2px 6px rgba(0,0,0,.12);transform:translateY(-3px)}
html.ecd-lock .ecf{opacity:0;pointer-events:none;transform:scale(.6)}
.ecf__ring{position:absolute;inset:-5px;width:76px;height:76px;transform:rotate(-90deg);pointer-events:none}
.ecf__track{fill:none;stroke:rgba(63,122,34,.15);stroke-width:4}
.ecf__prog{fill:none;stroke:#9BD06E;stroke-width:4;stroke-linecap:round;transition:stroke-dashoffset .8s cubic-bezier(.3,1,.4,1),stroke .3s}
.ecf.is-min .ecf__prog{stroke:#F4C542}
.ecf__ico{width:34px;height:34px;display:block;transform-origin:50% 80%}
.ecf__ico svg{width:100%;height:100%;display:block}
.ecf__badge{position:absolute;top:-4px;right:-4px;min-width:24px;height:24px;padding:0 6px;border-radius:12px;background:#F2709A;color:#fff;font-size:12.5px;font-weight:800;line-height:24px;text-align:center;box-shadow:0 0 0 3px #fff}
.ecf__badge[hidden],.ecf__sum[hidden]{display:none}
.ecf__sum{position:absolute;right:calc(100% + 10px);top:50%;transform:translateY(-50%);background:#fff;color:#1F2A1A;font-size:14px;font-weight:800;padding:7px 12px;border-radius:999px;white-space:nowrap;box-shadow:0 6px 18px rgba(31,42,26,.16)}
.ecf__tip{position:absolute;right:calc(100% + 10px);bottom:calc(100% + 4px);background:#1F2A1A;color:#fff;font-size:13px;font-weight:700;padding:8px 12px;border-radius:12px;white-space:nowrap;opacity:0;transform:translateY(6px);transition:opacity .25s,transform .25s;pointer-events:none}
.ecf.has-tip .ecf__tip{opacity:1;transform:none}
.ecf.is-puff{animation:ecf-puff 1s cubic-bezier(.3,1.6,.5,1)}
.ecf.is-puff .ecf__ico{animation:ecf-wobble 1s ease}
.ecf.is-puff .ecf__badge{animation:ecf-badge .6s cubic-bezier(.3,1.8,.5,1)}
.ecf.is-shrink{animation:ecf-shrink .7s ease}
@keyframes ecf-puff{0%{transform:scale(1)}22%{transform:scale(1.32)}45%{transform:scale(.92)}65%{transform:scale(1.1)}82%{transform:scale(.98)}100%{transform:scale(1)}}
@keyframes ecf-wobble{0%,100%{transform:none}25%{transform:rotate(-12deg)}50%{transform:rotate(9deg)}75%{transform:rotate(-4deg)}}
@keyframes ecf-badge{0%{transform:scale(.4)}60%{transform:scale(1.35)}100%{transform:scale(1)}}
@keyframes ecf-shrink{0%,100%{transform:scale(1)}30%{transform:scale(.82)}50%{transform:scale(.88) translateX(-3px)}70%{transform:scale(.95) translateX(3px)}}
.ecf__float{position:absolute;top:-6px;left:50%;font-size:16px;font-weight:800;color:#3F7A22;background:#fff;border-radius:999px;padding:2px 8px;box-shadow:0 4px 12px rgba(0,0,0,.12);pointer-events:none;animation:ecf-float 1.1s ease-out forwards}
.ecf__float.is-neg{color:#C0392B}
@keyframes ecf-float{0%{opacity:0;transform:translate(-50%,6px) scale(.6)}20%{opacity:1;transform:translate(-50%,-14px) scale(1.1)}100%{opacity:0;transform:translate(-50%,-46px) scale(1)}}
.ecf__fly{position:fixed;z-index:2147483100;border-radius:50%;object-fit:cover;background:#fff;box-shadow:0 10px 26px rgba(0,0,0,.22);pointer-events:none;will-change:transform}
html.ec-preview #scrollToTopBtn{display:none!important}
@media (max-width:900px){
	.ecf{right:16px;bottom:calc(92px + env(safe-area-inset-bottom));width:60px;height:60px}
	.ecf__ring{width:70px;height:70px}
	.ec-card-page .ecf{bottom:calc(88px + env(safe-area-inset-bottom))}
	.ecf__sum{display:none}
}
/* Кошик у шапці */
.ecf-head{display:inline-flex!important;align-items:center;gap:6px;position:relative}
.ecf-head__ico{width:30px;height:30px;color:#3F7A22;display:inline-block;transition:transform .25s}
.ecf-head__ico svg{width:100%;height:100%;display:block}
.ecf-head:hover .ecf-head__ico{transform:translateY(-2px) rotate(-6deg)}
.ecf-head .cart-count{position:absolute;top:-6px;left:18px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:#F2709A;color:#fff!important;font-size:11.5px;font-weight:800;line-height:20px;text-align:center;box-shadow:0 0 0 2px #fff}
/* тема примусово робить кнопки квадратними — перебиваємо подвійним ID */
#ecf#ecf{border-radius:50%!important;padding:0!important;min-height:0!important;line-height:1!important;letter-spacing:normal!important;font-size:14px!important}
/* v0.12.2: кошик справа посередині висоти екрана — внизу його закривало привітання чату SendPulse.
 * Зсув через margin, бо transform зайнятий анімаціями появи й «пухнення». */
.ecf{top:50%;bottom:auto;margin-top:-33px}
.ecf__tip{bottom:auto;top:calc(100% + 12px);right:0}
@media (max-width:900px){
	.ecf,.ec-card-page .ecf{top:50%;bottom:auto;margin-top:-30px;right:12px}
}
/* v0.12.3: поля оформлення — трохи жирніший шрифт */
#ecd#ecd .ecd-f__i{font-family:Manrope,system-ui,-apple-system,sans-serif!important;font-weight:600;letter-spacing:.2px}
#ecd#ecd .ecd-f__i::placeholder{font-weight:500;color:#9AA093}
/* v0.13.3: очистити кошик */
.ecd__clear{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:10px 0 2px;flex-wrap:wrap}
.ecd__clear span{font-size:14px;font-weight:700;color:#1F2A1A;margin-right:auto}
#ecd#ecd .ecd__clr{min-height:0;height:34px;padding:0 14px!important;border:1.5px solid #DADDD4!important;border-radius:999px!important;background:#fff!important;color:#5B6455!important;font:700 13px Manrope,sans-serif!important;letter-spacing:normal;text-transform:none;cursor:pointer;box-shadow:none!important}
#ecd#ecd .ecd__clr:hover{border-color:#C0392B!important;color:#C0392B!important}
#ecd#ecd .ecd__clr.is-yes{background:#C0392B!important;border-color:#C0392B!important;color:#fff!important}
/* ---------- v0.15: сторінка оформлення в стилі шторки (html.ecp-on) ---------- */
/* Стандартну форму WooCommerce ховаємо; якщо наш скрипт не запустився за 8 с (ec-cat-fail) — повертаємо. */
html.ec-on:not(.ec-cat-fail) body.woocommerce-checkout:not(.woocommerce-order-received):not(.woocommerce-order-pay) .entry-content > .woocommerce { visibility: hidden; }
html.ecp-on body.woocommerce-checkout .entry-content > .woocommerce, html.ecp-on .woocommerce-checkout .entry-header, html.ecp-on .woocommerce-form-coupon-toggle { display: none !important; }
html.ecp-on #ecf, html.ecp-on .ecb { display: none !important; }
html.ecp-on body.woocommerce-checkout .ast-article-single, html.ecp-on body.woocommerce-checkout .ast-article-post { background: transparent !important; padding: 0 !important; box-shadow: none !important; }
html.ecp-on body.woocommerce-checkout { background: #F6F8F2; }

.ecd.is-page { position: static; inset: auto; z-index: auto; max-width: 1180px; margin: 0 auto; padding: 8px 0 60px; }
.ecp__top { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 22px; }
.ecp__top h1 { margin: 0; font: 800 clamp(26px, 3vw, 36px)/1.15 Manrope, system-ui, sans-serif !important; letter-spacing: -.5px; color: #1F2A1A; }
.ecp__steps { display: flex; gap: 6px; list-style: none; margin: 0; padding: 0; counter-reset: s; }
.ecp__steps li { counter-increment: s; display: flex; align-items: center; gap: 8px; padding: 6px 14px 6px 6px; border-radius: 999px; background: #fff; color: #8A9085; font-size: 14px; font-weight: 700; }
.ecp__steps li::before { content: counter(s); width: 26px; height: 26px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: #ECEEE6; color: #5B6455; font-size: 13px; }
.ecp__steps li.is-done { color: #3F7A22; }
.ecp__steps li.is-done::before { content: "✓"; background: #DDF0CF; color: #3F7A22; }
.ecp__steps li.is-on { color: #1F2A1A; box-shadow: 0 0 0 1.5px #3F7A22 inset; }
.ecp__steps li.is-on::before { background: #3F7A22; color: #fff; }

.ecd.is-page .ecd__panel { position: static; transform: none; width: auto; box-shadow: none; background: transparent; display: grid; grid-template-columns: minmax(0, 1fr) 410px; gap: 24px; align-items: start; }
.ecd.is-page .ecd-co, .ecd.is-page.is-co .ecd-co { display: block; overflow: visible; padding: 26px 28px 24px; background: #fff; border-radius: 24px; box-shadow: 0 6px 24px rgba(31, 42, 26, .06); animation: none; }
.ecd.is-page .ecd-co__sum { display: none; }
.ecd.is-page .ecd-co__s h3 { font-size: 19px !important; }
.ecd.is-page.is-co .ecd__ladder { display: flex; }
.ecd.is-page.is-co .ecd__items { display: block; }
.ecd.is-page.is-co .ecd__foot { display: flex; }
.ecd.is-page.is-co .ecd__count { display: inline; }
.ecp__side { position: sticky; top: calc(var(--ech-h, 0px) + 16px); background: #fff; border-radius: 24px; overflow: hidden; box-shadow: 0 6px 24px rgba(31, 42, 26, .06); }
.ecp__h { padding: 18px 20px 4px; font-size: 19px; font-weight: 800; }
.ecd.is-page .ecd__ladder { padding: 12px 20px 16px; background: #fff; }
.ecd.is-page .ecd__items { overflow: visible; padding: 0 20px; border-top: 1px solid #ECEEE6; }
.ecd.is-page .ecd__foot { padding: 16px 20px; background: #F9FBF6; gap: 6px; }
.ecp__ship, .ecp__min { margin: 0; font-size: 13px; color: #5B6455; }
.ecp__min { color: #B3243E; font-weight: 700; }
.ecp__trust { list-style: none; margin: 0; padding: 14px 20px 18px; display: flex; flex-direction: column; gap: 8px; font-size: 13.5px; color: #5B6455; border-top: 1px solid #ECEEE6; }
.ecp__trust a { color: #3F7A22 !important; font-weight: 700; }
#ecd#ecd .ecp__toggle { display: none; }

@media (max-width: 959px) {
	.ecd.is-page { padding: 4px 0 40px; }
	.ecp__top { margin-bottom: 14px; }
	.ecp__steps li { padding: 4px 10px 4px 4px; font-size: 12.5px; }
	.ecp__steps li::before { width: 22px; height: 22px; font-size: 12px; }
	.ecd.is-page .ecd__panel { grid-template-columns: 1fr; gap: 14px; }
	.ecp__side { order: -1; position: static; }
	#ecd#ecd .ecp__toggle {
		display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 10px; min-height: 58px; padding: 0 18px !important; border: 0 !important;
		border-radius: 0 !important; background: #fff !important; color: #1F2A1A !important; font: 800 16px Manrope, sans-serif !important; cursor: pointer; text-align: left;
	}
	.ecp__toggle span::after { content: " ▾"; color: #3F7A22; }
	.ecp__side.is-open .ecp__toggle span::after { content: " ▴"; }
	.ecp__toggle i { font-style: normal; font-weight: 600; color: #5B6455; font-size: 14px; }
	.ecp__toggle b { font-size: 18px; color: #2C5A16; }
	.ecp__sbody { display: none; }
	.ecp__side.is-open .ecp__sbody { display: block; }
	.ecp__h { display: none; }
	.ecd.is-page .ecd-co, .ecd.is-page.is-co .ecd-co { padding: 20px 16px; border-radius: 20px; }
}
#ecd#ecd .ecd-co__s h3 { font-family: Manrope, system-ui, sans-serif !important; font-weight: 800 !important; letter-spacing: -.2px; color: #1F2A1A; }
.ecp__trust li, .ecp__ship, .ecp__min { line-height: 1.45 !important; }
/* ---------- v0.16: сторінка кошика в тому ж стилі ---------- */
html.ec-on:not(.ec-cat-fail) body.woocommerce-cart .entry-content > .woocommerce { visibility: hidden; }
html.ecp-on body.woocommerce-cart .entry-content > .woocommerce, html.ecp-on body.woocommerce-cart .entry-header { display: none !important; }
html.ecp-on body.woocommerce-cart .ast-article-single, html.ecp-on body.woocommerce-cart .ast-article-post { background: transparent !important; padding: 0 !important; box-shadow: none !important; }
html.ecp-on body.woocommerce-cart { background: #F6F8F2; }
.ecp__top h1 .ecd__count { font-size: 16px; font-weight: 600; color: #5B6455; letter-spacing: 0; margin-left: 6px; }
.ecd.is-cartpage .ecd__panel { grid-template-columns: minmax(0, 1fr) 380px; }
.ecp__card { background: #fff; border-radius: 24px; overflow: hidden; box-shadow: 0 6px 24px rgba(31, 42, 26, .06); }
.ecd.is-cartpage .ecd__ladder { padding: 18px 24px; background: #F9FBF6; border-bottom: 1px solid #ECEEE6; }
.ecd.is-cartpage .ecd__items { padding: 4px 24px 12px; border-top: 0; }
.ecd.is-cartpage .ecd__img { width: 96px; height: 96px; }
.ecd.is-cartpage .ecd__name { font-size: 16px; }
.ecd.is-cartpage .ecd__meta { font-size: 13.5px; }
.ecd.is-cartpage .ecd__sum { font-size: 17px; }
.ecd.is-cartpage .ecd__foot { background: #fff; gap: 10px; padding: 4px 20px 18px; }
.ecd.is-cartpage .ecd__total b { font-size: 26px; }
.ecd.is-cartpage.is-empty .ecd__panel { grid-template-columns: 1fr; }
.ecd.is-cartpage.is-empty .ecp__side { display: none; }
@media (max-width: 959px) {
	.ecd.is-cartpage .ecd__panel { grid-template-columns: 1fr; }
	.ecd.is-cartpage .ecp__side { order: 0; position: static; }
	.ecd.is-cartpage .ecd__ladder { padding: 14px 16px; }
	.ecd.is-cartpage .ecd__items { padding: 4px 16px 10px; }
	.ecd.is-cartpage .ecd__img { width: 76px; height: 76px; }
	.ecd.is-cartpage .ecp__h { display: block; }
}
.ecp__col { min-width: 0; display: flex; flex-direction: column; gap: 28px; }
.ecp__more h2 { margin: 0 0 14px; font: 800 22px Manrope, system-ui, sans-serif !important; color: #1F2A1A; letter-spacing: -.3px; }
.ecp__more[hidden] { display: none; }
.ecp__more ul.products { margin: 0 !important; padding: 0 !important; }
@media (max-width: 1100px) { .ecp__more ul.products.ect-grid.columns-4 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }
@media (max-width: 600px) { .ecp__more ul.products.ect-grid.columns-4 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 959px) {
	.ecd.is-cartpage .ecp__col { display: contents; }
	.ecd.is-cartpage .ecp__main { order: 1; }
	.ecd.is-cartpage .ecp__side { order: 2; }
	.ecd.is-cartpage .ecp__more { order: 3; margin-top: 10px; }
}
@media (max-width: 959px) { .ecd.is-page { padding-left: 6px; padding-right: 6px; } }
/* ---------- v0.20: шторки на телефоні без «порожніх смуг» і без прокрутки сторінки під ними ---------- */
html.ec-locked, html.ec-locked body { overscroll-behavior: none; }
html.ec-locked body { position: fixed !important; left: 0; right: 0; width: 100%; overflow: hidden !important; }
/* Висота шторки = реальна видима висота екрана (на iOS 100vh більша за екран), з запасом під вирізи */
.ecd:not(.is-page) { height: 100vh; height: var(--ec-vh, 100dvh); bottom: auto; }
.ecd:not(.is-page) .ecd__panel { height: 100%; bottom: auto; max-height: 100%; padding-top: env(safe-area-inset-top); }
.ecd__bg { touch-action: none; }
.ecd__items, .ecd-co { min-height: 0; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
.ecd__head, .ecd__ladder, .ecd__foot { flex: 0 0 auto; }
@media (max-width: 600px) {
	/* На телефоні пороги компактніші, щоб товарам лишалось місце */
	.ecd:not(.is-page) .ecd__ladder { padding: 10px 16px; gap: 6px; }
	.ecd:not(.is-page) .ecd__steps { display: none; }
	.ecd:not(.is-page) .ec-gift { padding: 6px 10px 6px 6px; }
	.ecd:not(.is-page) .ec-gift__box { width: 44px; height: 44px; }
	.ecd:not(.is-page) .ecd__head { padding: 10px 16px; }
	.ecd:not(.is-page) .ecd__foot { padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); gap: 8px; }
}
/* Сторінки кошика й оформлення: без великого відступу теми під шапкою */
html.ecp-on #primary, html.ecp-on .ast-article-single, html.ecp-on .ast-article-post, html.ecp-on .site-content > .ast-container { margin-top: 0 !important; padding-top: 0 !important; }
html.ecp-on .ecd.is-page { padding-top: 18px; }
@media (max-width: 959px) { html.ecp-on .ecd.is-page { padding-top: 12px; } }
/* v0.20.1: шторка завжди на весь екран (і під плаваючою панеллю Safari / клавіатурою — без «дірок»),
 * а вміст піднятий на --ec-kb, тож кнопки й поля видно над панеллю та клавіатурою */
.ecd:not(.is-page) { top: 0; bottom: auto; height: 100vh; height: 100lvh; }
.ecd:not(.is-page) .ecd__panel { top: 0; height: 100%; max-height: none; padding-bottom: var(--ec-kb, 0px); transition: transform .3s cubic-bezier(.2,.8,.2,1), padding-bottom .2s ease; }
.ecd:not(.is-page) .ecd__bg { height: 100%; }

/* ---------- v0.21: завантаження завжди видно ---------- */
/* Смужка під шапкою шторки, поки кошик синхронізується з сервером */
.ecd__panel::after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; z-index: 5; pointer-events: none; opacity: 0; transition: opacity .2s;
	background: linear-gradient(90deg, transparent, #7AAF42, #3F7A22, transparent) 0 0 / 40% 100% no-repeat; }
.ecd.is-sync .ecd__panel::after { opacity: 1; animation: ecd-sync 1s linear infinite; }
@keyframes ecd-sync { from { background-position: -40% 0; } to { background-position: 140% 0; } }
.ecd.is-sync .ecd__foot .ecd__btn { opacity: .75; }

/* Скелет: торбинка підстрибує, сірі рядки мерехтять */
.ecd-ld { display: flex; flex-direction: column; align-items: stretch; gap: 12px; padding: 22px 0 10px; }
.ecd-ld__bag { position: relative; align-self: center; width: 64px; height: 64px; animation: ecd-hop 1s cubic-bezier(.3, 1.4, .5, 1) infinite; }
.ecd-ld__bag svg { width: 100%; height: 100%; display: block; }
.ecd-ld__bag i { position: absolute; top: -4px; width: 7px; height: 7px; border-radius: 50%; background: #7AAF42; opacity: 0; animation: ecd-pop 1s ease-out infinite; }
.ecd-ld__bag i:nth-child(2) { left: 12px; } .ecd-ld__bag i:nth-child(3) { left: 30px; animation-delay: .2s; background: #F2709A; } .ecd-ld__bag i:nth-child(4) { left: 48px; animation-delay: .4s; background: #F4C542; }
@keyframes ecd-hop { 0%, 100% { transform: translateY(0) scale(1, 1); } 30% { transform: translateY(-10px) scale(.96, 1.04); } 60% { transform: translateY(0) scale(1.06, .94); } }
@keyframes ecd-pop { 0% { transform: translateY(14px) scale(.4); opacity: 0; } 40% { opacity: 1; } 100% { transform: translateY(-12px) scale(1); opacity: 0; } }
.ecd-ld__t { align-self: center; font-size: 15px; font-weight: 800; color: #1F2A1A; margin-bottom: 6px; }
.ecd-ld__row { display: flex; gap: 12px; align-items: center; padding: 10px 0; border-bottom: 1px solid #ECEEE6; animation: ecd-in .3s ease both; }
.ecd-ld__row .img, .ecd-ld__row i, .ecd-ld__field span { display: block; border-radius: 10px; background: linear-gradient(100deg, #EEF1E8 30%, #F8FAF5 50%, #EEF1E8 70%) 0 0 / 300% 100%; animation: ecd-shine 1.2s linear infinite; }
.ecd-ld__row .img { width: 72px; height: 72px; border-radius: 14px; flex: none; }
.ecd-ld__row .ln { flex: 1; display: flex; flex-direction: column; gap: 8px; }
.ecd-ld__row i { height: 12px; } .ecd-ld__row i:nth-child(1) { width: 80%; } .ecd-ld__row i:nth-child(2) { width: 40%; } .ecd-ld__row i:nth-child(3) { width: 55%; height: 30px; border-radius: 999px; }
.ecd-ld__field { display: flex; flex-direction: column; gap: 6px; animation: ecd-in .3s ease both; }
.ecd-ld__field span:first-child { width: 30%; height: 11px; } .ecd-ld__field span:last-child { height: 48px; border-radius: 14px; }
@keyframes ecd-shine { to { background-position: -150% 0; } }
@keyframes ecd-in { from { opacity: 0; transform: translateY(6px); } }
@media (prefers-reduced-motion: reduce) { .ecd-ld *, .ecd.is-sync .ecd__panel::after { animation: none !important; } }

/* Сторінки кошика й оформлення: поки скрипт готує нову сторінку — завантажувач, а не порожнеча */
html.ec-on:not(.ecp-on):not(.ec-cat-fail) body:is(.woocommerce-cart, .woocommerce-checkout):not(.woocommerce-order-received) .entry-content { position: relative; min-height: 360px; }
html.ec-on:not(.ecp-on):not(.ec-cat-fail) body:is(.woocommerce-cart, .woocommerce-checkout):not(.woocommerce-order-received) .entry-content::before {
	content: "Готуємо ваше замовлення…"; position: absolute; left: 50%; top: 80px; translate: -50% 0; padding: 74px 0 0; font: 800 16px Manrope, system-ui, sans-serif; color: #1F2A1A; white-space: nowrap;
	background: no-repeat top center / 60px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M22 22v-4a10 10 0 0 1 20 0v4' fill='none' stroke='%233F7A22' stroke-width='4' stroke-linecap='round'/%3E%3Cpath d='M12 22h40l-3.5 32a4 4 0 0 1-4 3.5H19.5a4 4 0 0 1-4-3.5z' fill='%23E9C99A'/%3E%3C/svg%3E");
	animation: ecd-hop 1s cubic-bezier(.3, 1.4, .5, 1) infinite;
}
/* Кнопка «Підтвердити замовлення» під час відправки: крутилка й текст */
#ecd#ecd .ecd-co__go.is-busy { opacity: 1; background: #2C5A16 !important; display: flex; gap: 10px; }
#ecd#ecd .ecd-co__go.is-busy::before { content: ""; width: 18px; height: 18px; border-radius: 50%; border: 3px solid rgba(255,255,255,.35); border-top-color: #fff; animation: ecd-spin .7s linear infinite; flex: none; }
@keyframes ecd-spin { to { transform: rotate(360deg); } }
/* Під час введення тексту на телефоні — без плаваючих панелей і кнопок над клавіатурою */
@media (max-width: 959px), (pointer: coarse) {
	html.ec-typing :is(.ec-sticky, #ecf, .ecb, .ecb-tip, .ehm-bag__info, sp-live-chat, .ect-note) { display: none !important; }
	html.ec-typing body:not(.ec-card-page) { padding-bottom: 0 !important; }
}
