/* Denvelkoff Upsell - попъпът на чекаута (място popup, PLAN-POPUP.md раздел 2). Цветове и шрифтове от --dup-* на темата, с неутрален fallback. */
/* dup-popup--wide (5-6 продукта): диалогът 1180 px, един ред на ≥1100 px, 3 колони на 768-1099 px. */
/* `.dup-popup__zoom` (P6): уголемена снимка при hover, само ≥1100 px с мишка */
html.dup-popup-open{overflow:hidden}
.dup-popup{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:24px;box-sizing:border-box}
.dup-popup[hidden]{display:none}
.dup-popup *,.dup-popup *::before,.dup-popup *::after{box-sizing:border-box}
.dup-popup__overlay{position:fixed;inset:0;background:var(--dup-overlay,rgba(0,0,0,.5))}
.dup-popup__dialog{position:relative;width:min(100%,880px);max-height:calc(100vh - 48px);overflow:auto;background:var(--dup-paper,#fff);border-radius:var(--dup-radius,20px);box-shadow:var(--dup-shadow,0 18px 40px rgba(0,0,0,.18));padding:28px 28px 24px;font-family:var(--dup-font-body,inherit)}
.dup-popup--wide .dup-popup__dialog{width:min(100%,1180px)}
.dup-popup .dup-popup__dialog:focus,.dup-popup .dup-popup__dialog:focus-visible{outline:none}
.dup-popup .dup-popup__close{position:absolute;top:14px;right:14px;width:36px;height:36px;padding:0;border-radius:999px;border:0;background:var(--dup-tint,#f6f5f3);color:var(--dup-ink,#141414);font:400 22px/36px var(--dup-font-body,inherit);text-align:center;cursor:pointer;box-shadow:none}
.dup-popup .dup-popup__title{font:700 26px/1.2 var(--dup-font-head,inherit);color:var(--dup-ink,#141414);margin:0 32px 6px 0;letter-spacing:normal;text-transform:none}
.dup-popup .dup-popup__sub{font:400 15px/1.45 var(--dup-font-body,inherit);color:var(--dup-muted,#6b6b6b);margin:0 0 20px}
.dup-popup__track{display:grid;grid-template-columns:repeat(var(--dup-n,4),minmax(0,1fr));gap:16px}
.dup-popup__track[style*="--dup-n:1"]{justify-content:center}
.dup-popup__track[style*="--dup-n:1"] .dup-popup__item{max-width:260px;width:100%;justify-self:center}
.dup-popup__item{display:flex;flex-direction:column;gap:8px;min-width:0}
.dup-popup__media img{display:block;aspect-ratio:4/5;width:100%;height:auto;object-fit:cover;border-radius:14px;background:var(--dup-tint,#f6f5f3);margin:0}
.dup-popup__name{font:600 14px/1.35 var(--dup-font-body,inherit);color:var(--dup-ink,#141414);overflow-wrap:anywhere}
.dup-popup__price{font:700 16px/1.3 var(--dup-font-body,inherit);color:var(--dup-accent,#141414)}
.dup-popup__price del{margin-right:5px;font-size:13px;font-weight:500;color:var(--dup-muted,#6b6b6b)}
.dup-popup__price ins{text-decoration:none;background:none}
.dup-popup__cta{margin-top:auto}
.dup-popup .dup-popup__add{display:block;width:100%;min-height:42px;margin:0;padding:9px 14px;border-radius:var(--dup-pill,999px);background:var(--dup-accent,#141414);color:var(--dup-accent-text,#fff);border:0;font:700 14px/1.2 var(--dup-font-body,inherit);text-align:center;text-transform:none;letter-spacing:normal;box-shadow:none;cursor:pointer}
.dup-popup .dup-popup__add:hover{background:var(--dup-accent-hover,var(--dup-accent,#141414));color:var(--dup-accent-text,#fff)}
.dup-popup .dup-popup__add.is-added,
.dup-popup .dup-popup__add.is-added:hover{background:#eaf5ef;color:#1f7a4d;border:1.5px solid #1f7a4d}
.dup-popup .dup-popup__add[disabled]{opacity:.6;cursor:progress}
.dup-popup .dup-popup__remove{display:block;width:100%;min-height:34px;margin:0;padding:4px 8px;background:transparent;border:0;color:var(--dup-muted,#6b6b6b);text-decoration:underline;font:600 13px/1.3 var(--dup-font-body,inherit);text-transform:none;letter-spacing:normal;box-shadow:none;cursor:pointer}
.dup-popup .dup-popup__remove[hidden]{display:block;visibility:hidden}
.dup-popup .dup-popup__remove[disabled]{opacity:.6;cursor:progress}
.dup-popup .dup-popup__err{margin:0;font-size:12.5px;line-height:1.35;color:#b3261e}
.dup-popup .dup-popup__err[hidden]{display:none}
.dup-popup__nav{display:none}
.dup-popup .dup-popup__skip{display:block;margin:20px auto 0;min-height:44px;padding:10px 20px;border:1.5px solid var(--dup-accent,#141414);border-radius:var(--dup-pill,999px);background:transparent;color:var(--dup-accent,#141414);font:700 14px/1.2 var(--dup-font-body,inherit);text-transform:none;letter-spacing:normal;box-shadow:none;cursor:pointer}
.dup-popup button:focus{outline:none}
.dup-popup button:focus-visible{outline:3px solid #6a8cff;outline-offset:2px}

@media (min-width:768px) and (max-width:1099px){.dup-popup--wide .dup-popup__track{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:767px){
	.dup-popup{align-items:flex-end;padding:0}
	.dup-popup__dialog{width:100%;max-height:92vh;border-radius:var(--dup-radius,20px) var(--dup-radius,20px) 0 0;padding:20px 16px 16px}
	.dup-popup .dup-popup__title{font-size:20px}
	.dup-popup .dup-popup__sub{font-size:14px}
	.dup-popup__name{font-size:13px}
	.dup-popup__price{font-size:15px}
	.dup-popup .dup-popup__add{min-height:40px}
	.dup-popup__track[style*="--dup-n:1"] .dup-popup__item{max-width:none}

	.dup-popup[data-dup-layout="slider"] .dup-popup__track{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin:0 -16px;padding:0 16px;scroll-padding:0 16px}
	.dup-popup[data-dup-layout="slider"] .dup-popup__track::-webkit-scrollbar{display:none}
	.dup-popup[data-dup-layout="slider"] .dup-popup__item{flex:0 0 calc(50% - 6px);scroll-snap-align:start}
	.dup-popup[data-dup-layout="slider"] .dup-popup__nav{display:flex;justify-content:center;gap:12px;margin-top:12px}
	.dup-popup .dup-popup__nav button{width:40px;height:40px;padding:0;border-radius:999px;border:1.5px solid var(--dup-line,#ddd);background:#fff;color:var(--dup-ink,#141414);font:400 22px/1 var(--dup-font-body,inherit);text-align:center;box-shadow:none;cursor:pointer}
	.dup-popup .dup-popup__nav button[disabled]{opacity:.35;cursor:default}

	.dup-popup[data-dup-layout="grid"] .dup-popup__track{display:grid;grid-template-columns:1fr 1fr;gap:12px}
	.dup-popup[data-dup-layout="grid"] .dup-popup__nav{display:none}

	/* 1 продукт (P4): една карта на цяла ширина и в двата изгледа; попъпът след добавяне е без стрелки. */
	.dup-popup .dup-popup__track[style*="--dup-n:1"]{grid-template-columns:1fr;display:grid}
	.dup-popup[data-dup-trigger="added"] .dup-popup__nav{display:none}

	/* Попъпът след добавяне (P4.1): снимката е ниска, за да се събере картата на екрана без скрол. */
	.dup-popup[data-dup-trigger="added"] .dup-popup__media{max-height:min(32vh,280px);overflow:hidden;border-radius:14px}
	.dup-popup[data-dup-trigger="added"] .dup-popup__media img{max-height:min(32vh,280px);object-fit:cover;object-position:center}
}
/* P6: уголемена снимка при мишка върху картата - само десктоп с мишка; слоят е дете на .dup-popup, извън диалога (overflow:auto). */
.dup-popup__zoom{display:none}
@media (hover:hover) and (pointer:fine) and (min-width:1100px){
.dup-popup:not([data-dup-trigger="added"]) .dup-popup__media{cursor:zoom-in}
.dup-popup__zoom:not([hidden]){display:block}
.dup-popup__zoom{position:fixed;z-index:2;width:400px;height:500px;border-radius:var(--dup-radius,20px);overflow:hidden;background:var(--dup-paper,#fff);box-shadow:0 20px 50px rgba(0,0,0,.4);pointer-events:none}
.dup-popup__zoom img{display:block;width:100%;height:100%;object-fit:cover;margin:0}
}
