/* Revista Flip – visor */

/* Estilos base requeridos por StPageFlip */
.stf__parent{position:relative;display:block;box-sizing:border-box;transform:translateZ(0);touch-action:pan-y}
.sft__wrapper{position:relative;width:100%;box-sizing:border-box}
.stf__parent canvas{position:absolute;width:100%;height:100%;left:0;top:0}
.stf__block{position:absolute;width:100%;height:100%;box-sizing:border-box;perspective:2000px}
.stf__item{display:none;position:absolute;transform-style:preserve-3d}
.stf__outerShadow,.stf__innerShadow,.stf__hardShadow,.stf__hardInnerShadow{position:absolute;left:0;top:0}

.rflip{
	--rflip-bg:#1d1f24;
	--rflip-accent:#e8b04a;
	--rflip-fg:#f3f1ec;
	position:relative;
	width:100%;
	margin:1.5em 0;
	background:var(--rflip-bg);
	background:radial-gradient(ellipse at 50% 35%, color-mix(in srgb, var(--rflip-bg) 75%, #fff) 0%, var(--rflip-bg) 70%);
	color:var(--rflip-fg);
	border-radius:14px;
	overflow:hidden;
	outline:none;
	box-sizing:border-box;
	-webkit-user-select:none;
	user-select:none;
	-webkit-touch-callout:none;
	font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
.rflip *,.rflip *::before,.rflip *::after{box-sizing:border-box}

.rflip-stage{
	position:relative;
	padding:28px 56px 18px;
	min-height:320px;
	display:flex;
	align-items:center;
	justify-content:center;
}
.rflip-book{width:100%;margin:0 auto}

/* Páginas */
.rflip-page{background:#fff;overflow:hidden}
.rflip-page-inner{position:relative;width:100%;height:100%;background:#fff}
.rflip-page canvas{display:block;width:100%;height:100%;object-fit:contain}
.rflip-page-loading{
	position:absolute;inset:0;
	background:linear-gradient(100deg,#f1f1f1 30%,#fafafa 50%,#f1f1f1 70%);
	background-size:200% 100%;
	animation:rflip-shimmer 1.4s linear infinite;
}
.rflip-page.is-rendered .rflip-page-loading{display:none}
@keyframes rflip-shimmer{to{background-position:-200% 0}}

/* Sombra de lomo para dar volumen */
.rflip-page-inner::after{
	content:"";position:absolute;top:0;bottom:0;width:7%;pointer-events:none;
}
.stf__item.--left .rflip-page-inner::after{right:0;background:linear-gradient(to left,rgba(0,0,0,.18),transparent)}
.stf__item.--right .rflip-page-inner::after{left:0;background:linear-gradient(to right,rgba(0,0,0,.18),transparent)}

/* Páginas de publicidad */
.rflip-page-ad .rflip-page-inner{display:flex;align-items:center;justify-content:center;background:#fff}
.rflip-ad{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden}
.rflip-ad > a,.rflip-ad > img{display:flex;width:100%;height:100%;align-items:center;justify-content:center}
.rflip-ad img{width:100%;height:100%;object-fit:cover;display:block}
.rflip-ad-html{width:100%;height:100%;overflow:auto;display:flex;align-items:center;justify-content:center;color:#222}
.rflip-ad-html iframe,.rflip-ad-html img,.rflip-ad-html video{max-width:100%}
.rflip-ad-label{
	position:absolute;top:8px;right:8px;z-index:2;
	font-size:10px;letter-spacing:.08em;text-transform:uppercase;
	background:rgba(0,0,0,.55);color:#fff;padding:3px 7px;border-radius:4px;pointer-events:none;
}

/* Estado de carga */
.rflip-status{display:flex;flex-direction:column;align-items:center;gap:14px;opacity:.85;font-size:15px;padding:60px 0}
.rflip-status.is-error{color:#ffb4a8}
.rflip-spinner{width:38px;height:38px;border-radius:50%;border:3px solid rgba(255,255,255,.2);border-top-color:var(--rflip-accent);animation:rflip-spin .9s linear infinite}
@keyframes rflip-spin{to{transform:rotate(360deg)}}

/* Flechas laterales */
.rflip-nav{
	position:absolute;top:50%;transform:translateY(-50%);
	width:42px;height:64px;border:0;border-radius:10px;cursor:pointer;
	background:rgba(255,255,255,.08);color:var(--rflip-fg);font-size:38px;line-height:1;
	display:none;align-items:center;justify-content:center;transition:background .2s;
}
.rflip.is-ready .rflip-nav{display:flex}
.rflip-nav:hover{background:var(--rflip-accent);color:#111}
.rflip-prev{left:8px}
.rflip-next{right:8px}

/* Barra inferior */
.rflip-bar{
	position:relative;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;
	padding:10px 16px 14px;border-top:1px solid rgba(255,255,255,.08);
}
.rflip-group{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.rflip-btn{
	border:0;background:rgba(255,255,255,.08);color:var(--rflip-fg);
	padding:8px 12px;border-radius:8px;font-size:14px;line-height:1;cursor:pointer;text-decoration:none;
	transition:background .2s,color .2s;
}
.rflip-btn:hover,.rflip-btn:focus-visible{background:var(--rflip-accent);color:#111}
.rflip-counter{min-width:96px;text-align:center;font-variant-numeric:tabular-nums;font-size:14px;opacity:.9}

.rflip-share-menu{
	position:absolute;right:16px;bottom:calc(100% + 6px);z-index:20;
	display:flex;flex-direction:column;min-width:180px;
	background:#fff;border-radius:10px;box-shadow:0 12px 32px rgba(0,0,0,.35);overflow:hidden;
}
.rflip-share-menu[hidden]{display:none}
.rflip-sh{display:block;padding:11px 16px;color:#222 !important;text-decoration:none;font-size:14px;border:0;background:none;text-align:left;cursor:pointer}
.rflip-sh:hover{background:#f3f3f3}

/* Pantalla completa */
.rflip:fullscreen,.rflip.is-pseudo-fs{margin:0;border-radius:0;display:flex;flex-direction:column;justify-content:center;width:100vw;height:100vh}
.rflip.is-pseudo-fs{position:fixed;inset:0;z-index:999999}
.rflip:fullscreen .rflip-stage,.rflip.is-pseudo-fs .rflip-stage{flex:1}

@media (max-width:640px){
	.rflip{border-radius:0}
	.rflip-stage{padding:16px 10px 10px}
	.rflip-nav{display:none !important}
	.rflip-first,.rflip-last{display:none}
	.rflip-bar{justify-content:center}
}

/* Listado [revistas] */
.rflip-grid{display:grid;grid-template-columns:repeat(var(--rflip-cols,4),minmax(0,1fr));gap:24px;margin:1.5em 0}
@media (max-width:900px){.rflip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.rflip-card{display:flex;flex-direction:column;gap:10px;text-decoration:none;color:inherit}
.rflip-card-cover{display:block;aspect-ratio:1/1.414;overflow:hidden;border-radius:4px 10px 10px 4px;background:#eee;box-shadow:0 8px 20px rgba(0,0,0,.18);transition:transform .25s,box-shadow .25s}
.rflip-card-cover img{width:100%;height:100%;object-fit:cover;display:block}
.rflip-card-empty{display:flex;width:100%;height:100%;align-items:center;justify-content:center;font-size:48px}
.rflip-card:hover .rflip-card-cover{transform:translateY(-4px) rotate(-1deg);box-shadow:0 16px 30px rgba(0,0,0,.25)}
.rflip-card-title{font-weight:600;line-height:1.3}

/* Protección de contenido */
.rflip img,.rflip canvas{-webkit-user-drag:none;user-drag:none;-webkit-touch-callout:none;pointer-events:auto}
.rflip-page-inner canvas{pointer-events:none}
@media print{.rflip{display:none !important}}

/* ---------- Lupa ---------- */
.rflip-zoom-btn{display:inline-flex;align-items:center;gap:6px}
.rflip-zoom-btn svg{display:block}
html.rflip-noscroll,html.rflip-noscroll body{overflow:hidden !important}
.rflip-zoom{
	position:fixed;inset:0;z-index:1000000;
	background:rgba(12,13,16,.97);
	display:flex;flex-direction:column;
	color:#fff;
}
.rflip-zoom[hidden]{display:none}
.rflip-zoom-scroll{
	flex:1;overflow:auto;-webkit-overflow-scrolling:touch;
	touch-action:pan-x pan-y;overscroll-behavior:contain;
	cursor:grab;
}
.rflip-zoom-scroll.is-dragging{cursor:grabbing}
.rflip-zoom-content{position:relative;margin:16px auto;background:#fff;box-shadow:0 10px 40px rgba(0,0,0,.6)}
.rflip-zoom-content canvas{display:block;width:100%;height:100%;pointer-events:none}
.rflip-zoom-content .rflip-ad{height:100%}
.rflip-zoom-bar{
	display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;
	padding:10px 12px calc(10px + env(safe-area-inset-bottom));
	background:#16181d;border-top:1px solid rgba(255,255,255,.1);
}
.rflip-zb{
	min-width:44px;height:44px;border:0;border-radius:10px;cursor:pointer;
	background:rgba(255,255,255,.1);color:#fff;font-size:20px;line-height:1;
}
.rflip-zb:hover:not(:disabled){background:var(--rflip-accent);color:#111}
.rflip-zb:disabled{opacity:.35;cursor:default}
.rflip-z-close{margin-left:10px;background:rgba(255,255,255,.18)}
.rflip-z-level,.rflip-z-page{min-width:56px;text-align:center;font-size:14px;font-variant-numeric:tabular-nums;opacity:.9}
.rflip-zoom-hint{
	position:absolute;left:50%;top:18px;transform:translate(-50%,-8px);
	background:rgba(0,0,0,.75);padding:9px 14px;border-radius:20px;font-size:13px;
	opacity:0;transition:opacity .3s,transform .3s;pointer-events:none;white-space:nowrap;
}
.rflip-zoom-hint.is-visible{opacity:1;transform:translate(-50%,0)}
@media (max-width:640px){
	.rflip-zoom-bar{gap:4px}
	.rflip-z-page{display:none}
	.rflip-zoom-btn{background:var(--rflip-accent);color:#111}
}
