/* FLUX PDF FLIP front-end: lightbox, public shelf and inline catalog readers. */
.flux-pdf-flip-lb-trigger{cursor:pointer}
button.flux-pdf-flip-lb-trigger{display:inline-flex;align-items:center;gap:8px;background:#2f6bff;color:#fff;border:0;border-radius:8px;padding:10px 18px;font-size:15px;line-height:1.2;cursor:pointer}
button.flux-pdf-flip-lb-trigger:hover{background:#2257d6}
img.flux-pdf-flip-lb-trigger{max-width:100%;height:auto;border-radius:6px;box-shadow:0 6px 20px rgba(0,0,0,.18);transition:transform .15s}
img.flux-pdf-flip-lb-trigger:hover{transform:translateY(-2px)}

.flux-pdf-flip-lb-overlay{position:fixed;inset:0;z-index:100000;background:rgba(0,0,0,.8);display:none;align-items:center;justify-content:center;padding:2vmin}
.flux-pdf-flip-lb-overlay.open{display:flex}
.flux-pdf-flip-lb-box{position:relative;width:min(1100px,96vw);height:min(90vh,96vh);background:#222a36;border-radius:8px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.flux-pdf-flip-lb-box iframe{width:100%;height:100%;border:0;display:block}
.flux-pdf-flip-lb-close{position:absolute;top:8px;inset-inline-end:8px;z-index:2;width:36px;height:36px;border-radius:50%;border:0;background:rgba(0,0,0,.65);color:#fff;font-size:20px;line-height:1;cursor:pointer}
.flux-pdf-flip-lb-close:hover,.flux-pdf-flip-lb-close:focus-visible{background:#000;outline:2px solid #fff;outline-offset:2px}

.flux-pdf-flip-catalog{--flux-catalog-gap:18px;position:relative;max-width:100%}
.flux-pdf-flip-shelf-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin:0 0 20px;padding:14px;border:1px solid color-mix(in srgb,currentColor 15%,transparent);border-radius:12px;background:color-mix(in srgb,currentColor 3%,transparent)}
.flux-pdf-flip-shelf-filters label{display:flex;flex:1 1 180px;margin:0}
.flux-pdf-flip-shelf-filters input,.flux-pdf-flip-shelf-filters select{box-sizing:border-box;width:100%;min-height:42px;padding:8px 11px;border:1px solid color-mix(in srgb,currentColor 25%,transparent);border-radius:8px;background:Canvas;color:CanvasText;font:inherit}
.flux-pdf-flip-shelf-filters button{min-height:42px;padding:8px 18px;border:0;border-radius:8px;background:#2f6bff;color:#fff;font:inherit;font-weight:650;cursor:pointer}
.flux-pdf-flip-shelf-filters button:hover,.flux-pdf-flip-shelf-filters button:focus-visible{background:#2257d6;outline:2px solid currentColor;outline-offset:2px}

.flux-pdf-flip-shelf{display:grid;gap:var(--flux-catalog-gap);grid-template-columns:repeat(var(--flux-pdf-flip-cols,3),minmax(0,1fr));margin:0;padding:0}
.flux-pdf-flip-shelf-grid{align-items:start}
.flux-pdf-flip-shelf-item{min-width:0;text-align:center;border-radius:12px;transition:transform .16s ease,box-shadow .16s ease}
.flux-pdf-flip-shelf-action{display:flex;width:100%;height:100%;flex-direction:column;align-items:stretch;padding:0;border:1px solid color-mix(in srgb,currentColor 13%,transparent);border-radius:12px;background:Canvas;color:CanvasText;text-align:inherit;overflow:hidden;cursor:pointer;box-shadow:0 4px 16px rgba(0,0,0,.08)}
.flux-pdf-flip-shelf-action:hover,.flux-pdf-flip-shelf-action:focus-visible{transform:translateY(-2px);box-shadow:0 10px 28px rgba(0,0,0,.16);outline:2px solid #2f6bff;outline-offset:2px}
.flux-pdf-flip-shelf-cover{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;background:#e9edf3;color:#7a8699}
.flux-pdf-flip-shelf-title{display:block;padding:12px 12px 5px;font-size:15px;font-weight:700;line-height:1.35}
.flux-pdf-flip-shelf-categories{display:block;padding:0 12px 12px;font-size:12px;line-height:1.4;opacity:.72}

.flux-pdf-flip-shelf-list{grid-template-columns:1fr}
.flux-pdf-flip-shelf-list .flux-pdf-flip-shelf-action{display:grid;grid-template-columns:minmax(90px,140px) 1fr;grid-template-rows:auto 1fr;align-items:center;text-align:start}
.flux-pdf-flip-shelf-list .flux-pdf-flip-shelf-cover{grid-row:1/3;width:100%;height:100%;min-height:150px;aspect-ratio:3/4}
.flux-pdf-flip-shelf-list .flux-pdf-flip-shelf-title{align-self:end;padding:18px 18px 5px;font-size:18px}
.flux-pdf-flip-shelf-list .flux-pdf-flip-shelf-categories{align-self:start;padding:0 18px 18px}

.flux-pdf-flip-carousel-controls{display:flex;justify-content:flex-end;gap:8px;margin:0 0 10px}
.flux-pdf-flip-carousel-controls button{display:inline-grid;place-items:center;width:40px;height:40px;border:1px solid color-mix(in srgb,currentColor 22%,transparent);border-radius:999px;background:Canvas;color:CanvasText;font-size:25px;line-height:1;cursor:pointer}
.flux-pdf-flip-carousel-controls button:hover,.flux-pdf-flip-carousel-controls button:focus-visible{border-color:#2f6bff;outline:2px solid #2f6bff;outline-offset:2px}
.flux-pdf-flip-carousel-controls button:disabled{opacity:.35;cursor:not-allowed}
.flux-pdf-flip-shelf-carousel{display:flex;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;overscroll-behavior-inline:contain;padding:3px 3px 12px}
.flux-pdf-flip-shelf-carousel .flux-pdf-flip-shelf-item{flex:0 0 calc((100% - (var(--flux-pdf-flip-cols,3) - 1)*var(--flux-catalog-gap))/var(--flux-pdf-flip-cols,3));scroll-snap-align:start}

.flux-pdf-flip-shelf-inline{grid-column:1/-1;width:100%;margin-top:14px;border-radius:12px;overflow:hidden;background:#222a36;box-shadow:0 14px 40px rgba(0,0,0,.2)}
.flux-pdf-flip-shelf-inline[hidden]{display:none}
.flux-pdf-flip-shelf-inline iframe{display:block;width:100%;height:min(78vh,780px);min-height:420px;border:0}
.flux-pdf-flip-shelf-item.is-inline-open{grid-column:1/-1}
.flux-pdf-flip-shelf-item.is-inline-open>.flux-pdf-flip-shelf-action{max-width:360px;margin-inline:auto}

.flux-pdf-flip-shelf-empty{grid-column:1/-1;padding:32px;border:1px dashed color-mix(in srgb,currentColor 30%,transparent);border-radius:12px;text-align:center;opacity:.75}
.flux-pdf-flip-shelf-pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin-top:24px}
.flux-pdf-flip-shelf-pagination a,.flux-pdf-flip-shelf-pagination span{display:inline-grid;place-items:center;min-width:38px;min-height:38px;padding:4px 8px;border:1px solid color-mix(in srgb,currentColor 20%,transparent);border-radius:8px;text-decoration:none}
.flux-pdf-flip-shelf-pagination span[aria-current=page]{border-color:#2f6bff;background:#2f6bff;color:#fff;font-weight:700}
.flux-pdf-flip-shelf-pagination a:hover,.flux-pdf-flip-shelf-pagination a:focus-visible{border-color:#2f6bff;outline:2px solid #2f6bff;outline-offset:1px}

@media(max-width:782px){
	.flux-pdf-flip-shelf:not(.flux-pdf-flip-shelf-list){grid-template-columns:repeat(min(2,var(--flux-pdf-flip-cols,3)),minmax(0,1fr))}
	.flux-pdf-flip-shelf-carousel .flux-pdf-flip-shelf-item{flex-basis:calc((100% - var(--flux-catalog-gap))/2)}
	.flux-pdf-flip-shelf-filters>*{flex:1 1 calc(50% - 10px)}
}
@media(max-width:480px){
	.flux-pdf-flip-shelf:not(.flux-pdf-flip-shelf-list){grid-template-columns:1fr}
	.flux-pdf-flip-shelf-carousel .flux-pdf-flip-shelf-item{flex-basis:84%}
	.flux-pdf-flip-shelf-list .flux-pdf-flip-shelf-action{grid-template-columns:100px 1fr}
	.flux-pdf-flip-shelf-list .flux-pdf-flip-shelf-title{font-size:15px;padding:12px 12px 4px}
	.flux-pdf-flip-shelf-list .flux-pdf-flip-shelf-categories{padding:0 12px 12px}
	.flux-pdf-flip-shelf-filters>*{flex:1 1 100%}
	.flux-pdf-flip-shelf-inline iframe{min-height:360px}
}
@media(prefers-reduced-motion:reduce){
	.flux-pdf-flip-shelf-item,.flux-pdf-flip-shelf-action,img.flux-pdf-flip-lb-trigger{transition:none!important;scroll-behavior:auto!important}
}

/* LOTES 022-024: mobile safe areas, 400% zoom and forced-colour support. */
.flux-pdf-flip-lb-overlay{padding:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}
.flux-pdf-flip-lb-box{height:min(90dvh,96dvh)}
.flux-pdf-flip-lb-close{width:44px;height:44px;top:max(8px,env(safe-area-inset-top));inset-inline-end:max(8px,env(safe-area-inset-right))}
.flux-pdf-flip-lb-trigger:focus-visible,.flux-pdf-flip-shelf-action:focus-visible,.flux-pdf-flip-carousel-controls button:focus-visible{outline:3px solid #2f6bff;outline-offset:3px}
@media(max-width:600px){.flux-pdf-flip-lb-overlay{padding:0}.flux-pdf-flip-lb-box{width:100vw;height:100dvh;max-height:none;border-radius:0}.flux-pdf-flip-shelf-inline iframe{height:72dvh;min-height:320px}}
@media(max-width:320px){.flux-pdf-flip-shelf-list .flux-pdf-flip-shelf-action{grid-template-columns:82px 1fr}.flux-pdf-flip-shelf-title{overflow-wrap:anywhere}}
@media(forced-colors:active){.flux-pdf-flip-shelf-action,.flux-pdf-flip-shelf-filters,.flux-pdf-flip-lb-box{border:2px solid CanvasText}.flux-pdf-flip-shelf-pagination span[aria-current=page]{background:Highlight;color:HighlightText}}

/* LOTES 025-027: semantic fallback content for SEO and no-JavaScript access. */
.flux-pdf-flip-fallback{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,220px);gap:22px;align-items:start;margin:18px 0;padding:18px;border:1px solid color-mix(in srgb,currentColor 18%,transparent);border-radius:12px;background:Canvas;color:CanvasText}
.flux-pdf-flip-fallback.is-compact{margin-top:12px}.flux-pdf-flip-fallback h2,.flux-pdf-flip-fallback h3{margin-top:0}.flux-pdf-flip-fallback-cover{width:100%;height:auto;border-radius:8px}.flux-pdf-flip-fallback-contents ol{columns:2;column-gap:28px}.flux-pdf-flip-fallback-contents li{break-inside:avoid;margin:.2em 0}.flux-pdf-flip-fallback.is-private{display:block}
@media(max-width:640px){.flux-pdf-flip-fallback{grid-template-columns:1fr}.flux-pdf-flip-fallback-cover{max-width:220px}.flux-pdf-flip-fallback-contents ol{columns:1}}

/* LOTES 031-033: logical-direction support for translated and RTL interfaces. */
[dir=rtl] .flux-pdf-flip-shelf-list .flux-pdf-flip-shelf-action{text-align:right}
[dir=rtl] .flux-pdf-flip-carousel-controls{justify-content:flex-start}
[dir=rtl] .flux-pdf-flip-fallback{text-align:right}
