/* tk-pdflip — Hotspot prodotti (frontend) */

/* Àncora invisibile iniettata da dFLip nella pagina (solo riferimento di posizione). */
.tk-hs-anchor {
	position: absolute;
	width: 0; height: 0;
	margin: 0; padding: 0;
	pointer-events: none;
}

/* Overlay esterno a tutto schermo: contiene i pallini nitidi. */
.tk-hs-layer {
	position: fixed;
	inset: 0;
	pointer-events: none;
	z-index: 99990;
	overflow: visible;
}

/* pallino — posizionato via JS (left/top = coordinate viewport) */
.tk-hs-dot {
	position: absolute;
	transform: translate(-50%, -50%);
	width: 32px; height: 32px;
	padding: 0; border: 0; background: none;
	cursor: pointer;
	pointer-events: auto;
	-webkit-tap-highlight-color: transparent;
}
.tk-hs-dot-core {
	position: absolute; inset: 0;
	display: flex; align-items: center; justify-content: center;
	border-radius: 50%;
	background: linear-gradient(135deg, #dc2626, #b91c1c);
	border: 2px solid #fff;
	box-shadow: 0 3px 10px rgba(0,0,0,.4);
	font-size: 14px; line-height: 1;
	transition: transform .15s ease;
}
.tk-hs-dot:hover .tk-hs-dot-core { transform: scale(1.15); }
.tk-hs-dot-pulse {
	position: absolute; inset: 0;
	border-radius: 50%;
	background: rgba(220,38,38,.45);
	animation: tk-hs-pulse 1.8s ease-out infinite;
	pointer-events: none;
}
@keyframes tk-hs-pulse {
	0%   { transform: scale(.85); opacity: .7; }
	70%  { transform: scale(2.1); opacity: 0; }
	100% { transform: scale(2.1); opacity: 0; }
}

/* mini-scheda prodotto */
.tk-hs-modal {
	position: fixed; inset: 0; z-index: 999999;
	background: rgba(15,23,42,.6);
	display: flex; align-items: center; justify-content: center;
	padding: 20px;
}
.tk-hs-modal[hidden] { display: none; }
.tk-hs-modal-box {
	position: relative;
	background: #fff; border-radius: 14px;
	width: 460px; max-width: 100%;
	box-shadow: 0 24px 60px rgba(0,0,0,.4);
	font-family: -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", sans-serif;
}
.tk-hs-modal-x {
	position: absolute; top: 10px; right: 10px; z-index: 2;
	width: 30px; height: 30px; border: 0; border-radius: 50%;
	background: #f1f5f9; color: #475569; cursor: pointer; font-size: 14px;
}
.tk-hs-modal-x:hover { background: #e2e8f0; }
.tk-hs-modal-body { padding: 24px; }

.tk-hs-prod { display: flex; gap: 18px; }
.tk-hs-prod-img {
	width: 130px; height: 130px; flex-shrink: 0;
	border-radius: 10px; border: 1px solid #e2e8f0;
	background: #f8fafc center/cover no-repeat;
}
.tk-hs-prod-info { min-width: 0; flex: 1; }
.tk-hs-prod-info h3 {
	margin: 2px 0 8px; font-size: 17px; line-height: 1.3; color: #0f172a;
}
.tk-hs-prod-price { font-size: 16px; color: #b91c1c; font-weight: 700; margin-bottom: 14px; }
.tk-hs-prod-price del { color: #94a3b8; font-weight: 400; font-size: 13px; }

.tk-hs-buy { display: flex; gap: 8px; }
.tk-hs-qty {
	width: 62px; padding: 9px 8px; text-align: center;
	border: 1px solid #cbd5e1; border-radius: 8px; font-size: 14px;
}
.tk-hs-add {
	flex: 1; display: inline-flex; align-items: center; justify-content: center;
	background: #0f172a; color: #fff !important; text-decoration: none;
	border: 0; border-radius: 8px; padding: 10px 16px;
	font-size: 14px; font-weight: 700; cursor: pointer;
}
.tk-hs-add:hover { background: #1e293b; }
.tk-hs-add:disabled { background: #94a3b8; cursor: not-allowed; }
.tk-hs-add-link { flex: none; }

.tk-hs-msg { font-size: 13px; margin-top: 10px; min-height: 18px; }
.tk-hs-msg.is-ok { color: #15803d; font-weight: 600; }
.tk-hs-msg.is-error { color: #b91c1c; font-weight: 600; }

.tk-hs-prod-link {
	display: inline-block; margin-top: 8px;
	font-size: 12px; color: #64748b; text-decoration: none;
}
.tk-hs-prod-link:hover { color: #0f172a; }

@media (max-width: 480px) {
	.tk-hs-prod { flex-direction: column; }
	.tk-hs-prod-img { width: 100%; height: 160px; }
}
