/* Imprenta y Copias: scoped 3D vertical gallery inspired by the supplied reference. */
.print-banner.shop-intro--flyer {
	--print-surface:#f8fafc;
	--print-ink:#111827;
	--print-accent:#e8325b;
	--print-accent-hover:#c91e49;
	--print-control:rgba(255,255,255,.88);
	--print-border:rgba(15,23,42,.13);
	--print-veil:rgba(255,255,255,.97);
	isolation:isolate;
	background:linear-gradient(180deg,#fff,var(--print-surface));
	border-color:var(--print-border);
	box-shadow:0 14px 34px rgba(15,23,42,.08);
}
.print-banner.shop-intro--flyer::before,
.print-banner.shop-intro--flyer::after { display:none; }
.dark .print-banner.shop-intro--flyer {
	--print-surface:#080a0e;
	--print-ink:#fff;
	--print-accent:#ff426b;
	--print-accent-hover:#ff6383;
	--print-control:rgba(8,10,14,.84);
	--print-border:rgba(255,255,255,.14);
	--print-veil:rgba(9,11,15,.97);
	background:linear-gradient(180deg,#101319,var(--print-surface));
	border-color:var(--print-border);
	box-shadow:0 18px 46px rgba(0,0,0,.28);
}
.print-banner__stage { position:absolute; inset:-25% -7%; z-index:1; overflow:hidden; perspective:760px; pointer-events:none; }
.print-banner__plane { position:absolute; top:50%; left:50%; display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:13px; width:112%; height:390px; transform:translate(-50%,-50%) rotateX(13deg) rotateY(-5deg) rotateZ(5deg); transform-style:preserve-3d; }
.print-banner__column { overflow:hidden; height:390px; border-radius:10px; transform:translateZ(calc((var(--column) - 2.5) * 2px)); }
.print-banner__track { display:flex; flex-direction:column; gap:8px; width:100%; will-change:transform; }
.print-banner__group { display:flex; flex:none; flex-direction:column; gap:8px; width:100%; }
.print-banner__card { flex:none; width:100%; height:72px; margin:0; overflow:hidden; background:#fff; border:1px solid rgba(255,255,255,.76); border-radius:9px; box-shadow:0 8px 18px rgba(15,23,42,.19); }
.dark .print-banner__card { border-color:rgba(255,255,255,.23); box-shadow:0 9px 22px rgba(0,0,0,.48); }
.print-banner__card img { display:block; width:100%; height:100%; object-fit:cover; opacity:1; filter:saturate(1.04) contrast(1.01); }
.print-banner__veil { position:absolute; inset:0; z-index:2; pointer-events:none; background:radial-gradient(ellipse at center,var(--print-veil) 0 20%,rgba(255,255,255,.78) 31%,transparent 56%),linear-gradient(90deg,rgba(248,250,252,.52),transparent 9%,transparent 91%,rgba(248,250,252,.52)); }
.dark .print-banner__veil { background:radial-gradient(ellipse at center,var(--print-veil) 0 20%,rgba(9,11,15,.8) 31%,transparent 56%),linear-gradient(90deg,rgba(8,10,14,.65),transparent 9%,transparent 91%,rgba(8,10,14,.65)); }
.print-banner__content { position:absolute; inset:0; z-index:4; display:grid; place-content:center; justify-items:center; padding:12px 90px; color:var(--print-ink); text-align:center; pointer-events:none; }
.print-banner__content h1 { display:flex; flex-wrap:wrap; justify-content:center; gap:0 .25em; max-width:720px; margin:0; color:inherit; font-size:clamp(21px,2.05vw,31px); font-weight:700; line-height:1.04; letter-spacing:-.025em; text-shadow:0 1px 0 #fff,0 4px 18px rgba(255,255,255,.96); }
.dark .print-banner__content h1 { text-shadow:0 2px 4px rgba(0,0,0,.95),0 5px 22px #000; }
.print-banner__content h1 span { display:inline-block; }
.print-banner__cta { pointer-events:auto; display:inline-flex; align-items:center; gap:5px; min-height:27px; margin-top:8px; padding:6px 13px; color:#fff; background:var(--print-accent); border:1px solid rgba(255,255,255,.4); border-radius:999px; box-shadow:0 6px 16px rgba(190,24,67,.3); font-size:10px; font-weight:600; line-height:1; letter-spacing:.02em; text-decoration:none; transition:background-color .2s ease,box-shadow .2s ease,transform .2s ease; }
.print-banner__cta svg { width:12px; height:12px; transition:transform .2s ease; }
.print-banner__cta:hover,
.print-banner__cta:focus-visible { color:#fff; background:var(--print-accent-hover); box-shadow:0 8px 20px rgba(190,24,67,.42); transform:translateY(-1px); text-decoration:none; }
.print-banner__cta:hover svg,
.print-banner__cta:focus-visible svg { transform:translateX(2px); }
.print-banner__cta:focus-visible,
.print-banner__pause:focus-visible { outline:2px solid #fb7185; outline-offset:2px; }
.print-banner__pause { position:absolute; z-index:6; top:9px; right:9px; display:grid; place-items:center; width:30px; height:30px; padding:0; color:var(--print-ink); background:var(--print-control); border:1px solid var(--print-border); border-radius:50%; box-shadow:0 5px 14px rgba(15,23,42,.16); cursor:pointer; backdrop-filter:blur(7px); }
.print-banner__icon { width:15px; height:15px; }
.print-banner__icon--play { display:none; }
.print-banner__pause[aria-pressed="true"] .print-banner__icon--pause { display:none; }
.print-banner__pause[aria-pressed="true"] .print-banner__icon--play { display:block; }
.print-banner.is-enhanced .print-banner__track { animation:print-column-flow 20s linear infinite; animation-delay:calc(var(--column) * -1.25s); }
.print-banner.is-enhanced .print-banner__column:nth-child(even) .print-banner__track { animation-direction:reverse; }
.print-banner.is-paused .print-banner__track,
.print-banner.is-offscreen .print-banner__track,
.print-banner:hover .print-banner__track,
.print-banner:focus-within .print-banner__track { animation-play-state:paused; }
.print-banner.is-enhanced:not(.is-ready) .print-banner__content h1 span,
.print-banner.is-enhanced:not(.is-ready) .print-banner__cta { opacity:0; }
.print-banner.is-ready .print-banner__content h1 span { animation:print-word-write .52s steps(10,end) calc(.1s + var(--word-index) * .18s) both; }
.print-banner.is-ready .print-banner__cta { animation:print-cta-enter .65s cubic-bezier(.16,1,.3,1) 1.18s both; }
@keyframes print-column-flow { to { transform:translate3d(0,calc(-50% - 4px),0); } }
@keyframes print-word-write {
	0% { opacity:0; clip-path:inset(0 100% 0 0); transform:translateY(6px); filter:blur(3px); }
	15% { opacity:1; }
	100% { opacity:1; clip-path:inset(0 0 0 0); transform:translateY(0); filter:blur(0); }
}
@keyframes print-cta-enter {
	0% { opacity:0; transform:translateY(9px) scale(.88); filter:blur(4px); }
	72% { opacity:1; transform:translateY(-1px) scale(1.03); filter:blur(0); }
	100% { opacity:1; transform:translateY(0) scale(1); filter:blur(0); }
}
@media (max-width:900px) {
	.print-banner__plane { grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; width:116%; transform:translate(-50%,-50%) rotateX(12deg) rotateY(-4deg) rotateZ(4deg); }
	.print-banner__column:nth-child(n+5) { display:none; }
	.print-banner__card { height:58px; border-radius:7px; }
	.print-banner__content { padding:8px 62px; }
	.print-banner__content h1 { max-width:500px; font-size:clamp(16px,3.5vw,24px); }
	.print-banner__cta { min-height:23px; margin-top:5px; padding:4px 10px; font-size:9px; }
	.print-banner__pause { top:6px; right:6px; width:27px; height:27px; }
	.print-banner__icon { width:14px; height:14px; }
}
@media (max-width:560px) {
	.print-banner__plane { grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; width:122%; transform:translate(-50%,-50%) rotateX(10deg) rotateY(-3deg) rotateZ(3.5deg); }
	.print-banner__column:nth-child(n+4) { display:none; }
	.print-banner__card { height:48px; border-radius:6px; }
	.print-banner__content { padding:6px 39px; }
	.print-banner__content h1 { max-width:255px; font-size:clamp(11px,3.5vw,16px); line-height:1.05; }
	.print-banner__cta { min-height:20px; margin-top:4px; padding:3px 9px; font-size:8px; }
	.print-banner__cta svg { width:10px; height:10px; }
	.print-banner__pause { top:5px; right:5px; width:24px; height:24px; }
	.print-banner__icon { width:12px; height:12px; }
}
@media (prefers-reduced-motion:reduce) {
	.print-banner.is-enhanced .print-banner__track { animation-play-state:paused; }
	.print-banner__content h1 span,
	.print-banner__cta { opacity:1!important; clip-path:none!important; transform:none!important; filter:none!important; animation:none!important; }
	.print-banner__pause { display:none; }
}
