/* ==========================================================================
   Infantdeco · ventana «¡Añadido a tu cesta!»
   Mismo diseño que la del plugin del buscador. Todo vive bajo .idc-atc.
   ========================================================================== */
.idc-atc {
	--idc-a1: #9bc2c5;
	--idc-a2: #a286b1;
	--idc-ink: #2f2a35;
	--idc-muted: #7a7383;
	--idc-line: #ece8f0;
	--idc-soft: #f7f3fa;
}
html.idc-atc-lock, html.idc-atc-lock body { overflow: hidden !important; }
.idc-atc[hidden] { display: none !important; }/* ---------- Ventana (medidas finales del buscador, v1.8.7-1.8.8) ---------- */


.idc-atc {
	position: fixed !important; inset: 0 !important; z-index: 2147483000 !important; display: flex !important; align-items: center !important; justify-content: center !important; padding: 12px !important;
	color: var(--idc-ink) !important; font-family: inherit !important; font-size: 15px !important; line-height: 1.4 !important; text-align: center !important; -webkit-font-smoothing: antialiased !important;
}
.idc-atc, .idc-atc *, .idc-atc *::before, .idc-atc *::after { box-sizing: border-box !important; }
.idc-atc a { color: inherit !important; text-decoration: none !important; box-shadow: none !important; }
.idc-atc button { font-family: inherit !important; }
.idc-atc .idc-atc-bg { position: absolute !important; inset: 0 !important; background: rgba(40, 28, 52, .38) !important; backdrop-filter: blur(2px) !important; -webkit-backdrop-filter: blur(2px) !important; }
.idc-atc .idc-atc-fx { position: fixed !important; inset: 0 !important; width: 100% !important; height: 100% !important; pointer-events: none !important; z-index: 2 !important; }
.idc-atc .idc-atc-box {
	position: relative !important; z-index: 1 !important; width: 100% !important; max-width: 440px !important; max-height: calc(100vh - 24px) !important; max-height: calc(100dvh - 24px) !important; overflow-y: auto !important; overscroll-behavior: contain !important;
	background: #fff !important; border-radius: 20px !important; padding: 22px 20px 18px !important; text-align: center !important; box-shadow: 0 24px 60px rgba(60, 30, 80, .28) !important; color: var(--idc-ink) !important;
}
.idc-atc.is-in .idc-atc-box { animation: idc-atc-pop .38s cubic-bezier(.2, 1.3, .4, 1) both !important; }
.idc-atc.is-in .idc-atc-bg { animation: idc-atc-fade .25s ease both !important; }
@keyframes idc-atc-pop { from { opacity: 0; transform: translateY(14px) scale(.94); } to { opacity: 1; transform: none; } }
@keyframes idc-atc-fade { from { opacity: 0; } }

.idc-atc .idc-atc-x {
	position: absolute !important; top: 10px !important; right: 10px !important; display: flex !important; align-items: center !important; justify-content: center !important; width: 34px !important; height: 34px !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important;
	border: 0 !important; border-radius: 50% !important; background: var(--idc-soft) !important; color: var(--idc-muted) !important; cursor: pointer !important; box-shadow: none !important;
}
.idc-atc .idc-atc-x:hover { color: var(--idc-ink) !important; background: var(--idc-soft) !important; }
.idc-atc .idc-atc-ok {
	display: inline-flex !important; align-items: center !important; justify-content: center !important; width: 50px !important; height: 50px !important; margin: 0 0 6px !important; border-radius: 50% !important;
	background: var(--idc-a2) !important; color: #fff !important; box-shadow: 0 0 0 6px color-mix(in srgb, var(--idc-a2) 18%, #fff) !important;
}
.idc-atc .idc-atc-ok svg { display: block !important; width: 24px !important; height: 24px !important; color: #fff !important; stroke: #fff !important; }
.idc-atc.is-in .idc-atc-ok svg path { stroke-dasharray: 24 !important; animation: idc-atc-draw .45s .2s ease both !important; }
@keyframes idc-atc-draw { from { stroke-dashoffset: 24; } to { stroke-dashoffset: 0; } }
.idc-atc .idc-atc-t { margin: 2px 0 12px !important; padding: 0 !important; font-family: inherit !important; font-size: 19px !important; font-weight: 700 !important; line-height: 1.25 !important; color: var(--idc-ink) !important; text-transform: none !important; letter-spacing: 0 !important; }/* Producto añadido */


.idc-atc .idc-atc-prod { display: flex !important; align-items: center !important; gap: 14px !important; margin: 0 0 12px !important; padding: 8px !important; border-radius: 14px !important; background: var(--idc-soft) !important; text-align: left !important; }
.idc-atc .idc-atc-prod img, .idc-atc .idc-atc-ph { flex: none !important; width: 56px !important; height: 56px !important; max-width: none !important; object-fit: contain !important; border-radius: 10px !important; background: #fff !important; }
.idc-atc .idc-atc-info { display: flex !important; flex-direction: column !important; gap: 2px !important; min-width: 0 !important; }
.idc-atc .idc-atc-brand { font-size: 11.5px !important; text-transform: uppercase !important; letter-spacing: .05em !important; color: var(--idc-muted) !important; }
.idc-atc .idc-atc-name { font-size: 14.5px !important; line-height: 1.3 !important; color: var(--idc-ink) !important; display: -webkit-box !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; overflow: hidden !important; }
.idc-atc .idc-atc-price { margin-top: 2px !important; font-size: 17px !important; font-weight: 700 !important; color: var(--idc-a1) !important; }/* Envío gratis */


.idc-atc .idc-atc-ship { margin: -2px 0 12px !important; text-align: left !important; }
.idc-atc .idc-atc-ship[hidden], .idc-atc .idc-atc-rel[hidden] { display: none !important; }
.idc-atc .idc-atc-ship p { margin: 0 0 7px !important; padding: 0 !important; font-size: 14px !important; color: var(--idc-ink) !important; }
.idc-atc .idc-atc-ship p.is-ok { display: flex !important; align-items: center !important; gap: 8px !important; color: var(--idc-a1) !important; font-weight: 600 !important; }
.idc-atc .idc-atc-ship b { font-weight: 700 !important; }
.idc-atc .idc-atc-bar { height: 8px !important; border-radius: 99px !important; background: #ece9ef !important; overflow: hidden !important; }
.idc-atc .idc-atc-bar span { display: block !important; height: 100% !important; border-radius: 99px !important; background: linear-gradient(90deg, var(--idc-a2), var(--idc-a1)) !important; transition: width .6s ease !important; }/* Te puede interesar: una tarjeta por producto, dos por fila */


.idc-atc .idc-atc-rel { margin: 0 0 14px !important; text-align: left !important; }
.idc-atc .idc-atc-relt { margin: 0 0 8px !important; font-size: 15px !important; font-weight: 700 !important; color: var(--idc-ink) !important; }
.idc-atc .idc-atc-relg { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; align-items: stretch !important; }
.idc-atc .idc-atc-relg.is-1 { grid-template-columns: minmax(0, 1fr) !important; max-width: 50% !important; }
.idc-atc .idc-atc-ri {
	display: flex !important; flex-direction: column !important; gap: 4px !important; min-width: 0 !important; height: 100% !important;
	padding: 10px !important; background: #fff !important; border: 1px solid var(--idc-line) !important; border-radius: 8px !important; transition: border-color .15s, box-shadow .15s !important;
}
.idc-atc .idc-atc-ri:hover { border-color: color-mix(in srgb, var(--idc-a1) 35%, #fff) !important; box-shadow: 0 6px 16px rgba(80, 40, 110, .08) !important; }
.idc-atc .idc-atc-rimg { position: relative !important; display: block !important; width: 100% !important; aspect-ratio: 1 !important; max-height: 120px !important; margin: 0 auto 2px !important; border-radius: 6px !important; background: #fff !important; overflow: hidden !important; }
.idc-atc .idc-atc-rimg img { display: block !important; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: contain !important; }
.idc-atc .idc-atc-why { display: flex !important; align-items: center !important; gap: 4px !important; min-width: 0 !important; margin: 1px 0 -1px !important; color: var(--idc-a1) !important; font-size: 11px !important; font-weight: 600 !important; line-height: 1.2 !important; opacity: .9 !important; }
.idc-atc .idc-atc-why svg { flex: none !important; }
.idc-atc .idc-atc-why span { overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
.idc-atc .idc-atc-rname { min-height: 2.6em !important; font-size: 13px !important; line-height: 1.3 !important; color: var(--idc-ink) !important; text-decoration: none !important; display: -webkit-box !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; overflow: hidden !important; }
.idc-atc .idc-atc-rprice { margin-top: auto !important; font-size: 14px !important; font-weight: 700 !important; color: var(--idc-ink) !important; }
.idc-atc .idc-atc-rprice del { color: var(--idc-muted) !important; font-weight: 400 !important; font-size: 12px !important; text-decoration: line-through !important; }
.idc-atc .idc-atc-radd {
	display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 4px !important; width: 100% !important; height: 32px !important; min-height: 0 !important; margin: 4px 0 0 !important; padding: 0 8px !important;
	border: 1.5px solid var(--idc-a1) !important; border-radius: 999px !important; background: #fff !important; color: var(--idc-a1) !important; box-shadow: none !important;
	font-family: inherit !important; font-size: 12.5px !important; font-weight: 700 !important; line-height: 1 !important; text-transform: none !important; letter-spacing: 0 !important; text-decoration: none !important; cursor: pointer !important; white-space: nowrap !important;
}
.idc-atc .idc-atc-radd:hover { background: var(--idc-a1) !important; color: #fff !important; }
.idc-atc .idc-atc-radd.is-busy { opacity: .6 !important; pointer-events: none !important; }
.idc-atc .idc-atc-radd.is-done { background: var(--idc-a2) !important; border-color: var(--idc-a2) !important; color: #fff !important; }
.idc-atc .idc-atc-relg.is-new .idc-atc-ri { animation: idc-atc-relin .4s cubic-bezier(.2, .8, .3, 1) both !important; }
.idc-atc .idc-atc-relg.is-new .idc-atc-ri + .idc-atc-ri { animation-delay: .07s !important; }
@keyframes idc-atc-relin { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }/* Botones */


.idc-atc .idc-atc-btns { display: flex !important; gap: 10px !important; }
.idc-atc .idc-atc-keep, .idc-atc .idc-atc-go {
	flex: 1 !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 8px !important; height: 44px !important; min-height: 0 !important; margin: 0 !important; padding: 0 14px !important;
	border-radius: 12px !important; font-family: inherit !important; font-weight: 600 !important; font-size: 15px !important; line-height: 1 !important; text-transform: none !important; letter-spacing: 0 !important; white-space: nowrap !important;
	cursor: pointer !important; text-decoration: none !important; box-shadow: none !important; transition: background .15s, transform .15s !important;
}
.idc-atc .idc-atc-keep { background: #fff !important; color: var(--idc-ink) !important; border: 1.5px solid var(--idc-line) !important; }
.idc-atc .idc-atc-keep:hover { background: #fff !important; border-color: var(--idc-a1) !important; color: var(--idc-a1) !important; }
.idc-atc .idc-atc-go { background: var(--idc-a1) !important; color: #fff !important; border: 0 !important; }
.idc-atc .idc-atc-go:hover { background: color-mix(in srgb, var(--idc-a1) 85%, #000) !important; color: #fff !important; }
.idc-atc .idc-atc-go svg { width: 19px !important; height: 19px !important; }
.idc-atc .idc-atc-keep:focus-visible, .idc-atc .idc-atc-go:focus-visible, .idc-atc .idc-atc-x:focus-visible, .idc-atc .idc-atc-radd:focus-visible { outline: 2px solid var(--idc-a1) !important; outline-offset: 2px !important; }/* Cargando: la ventana sale ya con su tamaño y los recomendados se ven "dibujándose" */



.idc-atc .idc-sk { display: block !important; border-radius: 6px !important; background: linear-gradient(90deg, #f1eef3 25%, #faf8fb 50%, #f1eef3 75%) !important; background-size: 200% 100% !important; animation: idc-atc-sk 1.1s linear infinite !important; }
@keyframes idc-atc-sk { from { background-position: 200% 0; } to { background-position: -200% 0; } }
.idc-atc .idc-atc-ship .idc-sk.is-line { width: 62% !important; height: 15px !important; margin: 3px 0 9px !important; }
.idc-atc .idc-atc-ship .idc-sk.is-bar { width: 100% !important; height: 8px !important; border-radius: 99px !important; }
.idc-atc .idc-atc-relt .idc-sk { width: 46% !important; height: 18px !important; }
.idc-atc .idc-atc-prod .idc-sk.is-price { width: 64px !important; height: 20px !important; margin-top: 5px !important; }
.idc-atc .idc-atc-ri.is-sk { pointer-events: none !important; }
.idc-atc .idc-atc-ri.is-sk:hover { border-color: var(--idc-line) !important; box-shadow: none !important; }
.idc-atc .idc-atc-ri.is-sk .idc-atc-rimg { background: none !important; }
.idc-atc .idc-atc-ri.is-sk .idc-atc-rimg .idc-sk { width: 100% !important; height: 100% !important; }
.idc-atc .idc-atc-ri.is-sk .idc-sk.is-w { width: 55% !important; height: 11px !important; margin: 3px 0 1px !important; }
.idc-atc .idc-atc-ri.is-sk .idc-sk.is-l1 { width: 92% !important; height: 13px !important; margin-top: 2px !important; }
.idc-atc .idc-atc-ri.is-sk .idc-sk.is-l2 { width: 64% !important; height: 13px !important; margin-bottom: 14px !important; }
.idc-atc .idc-atc-ri.is-sk .idc-sk.is-l3 { width: 40% !important; height: 16px !important; margin-top: auto !important; }
.idc-atc .idc-atc-ri.is-sk .idc-sk.is-btn { width: 100% !important; height: 32px !important; margin-top: 4px !important; border-radius: 999px !important; }/* Sin el contorno de foco del tema al abrir con el ratón */


.idc-atc :is(button, a):focus:not(:focus-visible) { outline: 0 !important; box-shadow: none !important; }/* Iconos a prueba de temas */


.idc-atc svg { display: inline-block !important; visibility: visible !important; }
.idc-atc svg [fill="currentColor"] { fill: currentColor !important; }

@media (max-width: 767px) {
	.idc-atc .idc-atc-keep, .idc-atc .idc-atc-go { padding: 0 10px !important; font-size: 14px !important; }
	.idc-atc .idc-atc-relg { gap: 8px !important; }
}/* Pantallas bajas: todo un poco más compacto para que quepa sin desplazar */

@media (max-height: 720px) {
	.idc-atc .idc-atc-box { padding: 16px 16px 14px !important; }
	.idc-atc .idc-atc-ok { width: 40px !important; height: 40px !important; margin-bottom: 4px !important; }
	.idc-atc .idc-atc-ok svg { width: 20px !important; height: 20px !important; }
	.idc-atc .idc-atc-t { font-size: 17px !important; margin-bottom: 10px !important; }
	.idc-atc .idc-atc-rimg { max-height: 92px !important; }
	.idc-atc .idc-atc-prod img { width: 48px !important; height: 48px !important; }
}
@media (prefers-reduced-motion: reduce) {
	.idc-atc.is-in .idc-atc-box, .idc-atc.is-in .idc-atc-ok svg path, .idc-atc .idc-atc-relg.is-new .idc-atc-ri, .idc-atc .idc-sk { animation: none !important; }
}
