/* Shared adaptive artboard for the panel, property preview and TV player. */
.vidriera-slide { position: relative; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; background: #191e23; color: #fff; isolation: isolate; }
.vidriera-slide, .vidriera-slide * { box-sizing: border-box; letter-spacing: 0; font-family: Arial, Helvetica, sans-serif; }
.vidriera-slide [hidden] { display: none !important; }
.vdr-canvas { position: absolute; inset: 0 auto auto 0; width: 1920px; height: 1080px; transform-origin: top left; font: 400 16px/normal Arial, Helvetica, sans-serif; text-align: left; text-transform: none; visibility: hidden; }
.vdr-ready > .vdr-canvas { visibility: visible; }
.vidriera-slide .vdr-heading { position: absolute; inset: 0 480px auto 0; height: 144px; display: flex; align-items: center; padding: 26px 52px; border-bottom: 7px solid var(--vdr-accent); background: #fff; }
:is(.vidriera-slide, #vidrieraRoot .vidriera-slide) .vdr-title { margin: 0; padding: 0; font-size: 62px; line-height: 1.08; max-height: 100px; overflow: hidden; overflow-wrap: anywhere; font-weight: 700; text-transform: uppercase; color: #191e23; }
.vdr-title > span { color: var(--vdr-accent); }
.vdr-photo-panel { position: absolute; inset: 144px 480px 264px 0; overflow: hidden; background: #343738; }
.vdr-cover { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 1; opacity: 0; transition: opacity 700ms ease; }
.vdr-cover.is-current { opacity: 1; }
.vdr-property-footer { position: absolute; inset: auto 480px 0 0; height: 264px; display: flex; align-items: center; gap: 34px; padding: 28px 48px; border-top: 7px solid var(--vdr-accent); background: #fff; color: #191e23; }
.vdr-location { display: flex; align-items: flex-start; gap: 18px; flex: 1 1 55%; min-width: 0; }
:is(.vidriera-slide, #vidrieraRoot .vidriera-slide) .vdr-location > svg { flex: 0 0 46px; width: 46px; height: 46px; color: var(--vdr-accent); stroke-width: 2.4; }
.vdr-location > div { min-width: 0; flex: 1; }
.vdr-location strong { display: block; font-size: 38px; line-height: 1.12; max-height: 86px; overflow: hidden; overflow-wrap: anywhere; }
.vdr-location span:not(.vdr-operation) { display: block; margin-top: 9px; font-size: 28px; line-height: 1.15; max-height: 34px; color: #626970; overflow: hidden; overflow-wrap: anywhere; }
.vdr-operation { display: inline-block; margin-top: 17px; padding: 7px 18px; font-size: 23px; font-weight: 700; line-height: 1.2; text-transform: uppercase; background: var(--vdr-accent); color: #fff; }
.vdr-highlights { display: flex; align-items: stretch; flex: 1 1 45%; min-width: 0; }
.vdr-highlights > div { display: flex; flex: 1; min-width: 0; flex-direction: column; align-items: center; justify-content: center; gap: 14px; padding: 8px 18px; border-left: 2px solid #e2e3e4; text-align: center; }
:is(.vidriera-slide, #vidrieraRoot .vidriera-slide) .vdr-highlights svg { width: 36px; height: 36px; color: #191e23; stroke-width: 1.6; }
.vdr-highlights span { font-size: 23px; line-height: 1.2; max-height: 86px; overflow: hidden; overflow-wrap: anywhere; }
:is(.vidriera-slide, #vidrieraRoot .vidriera-slide) .vdr-description { flex: 1 1 45%; min-width: 0; max-height: 155px; margin: 0; padding: 0 0 0 32px; border-left: 2px solid #e2e3e4; font-size: 27px; line-height: 1.35; color: #626970; overflow: hidden; overflow-wrap: anywhere; }
.vdr-sidebar { position: absolute; inset: 0 0 0 auto; width: 480px; padding: 24px 32px 30px; border-left: 1px solid #dfe2e5; background: #fff; color: #191e23; display: grid; grid-template-rows: 174px minmax(0,1fr) auto auto auto; gap: 18px; }
.vdr-brand { display: flex; align-items: center; justify-content: center; min-width: 0; overflow: hidden; }
.vdr-logo { display: block; width: 100%; height: 186px; object-fit: contain; object-position: center; }
.vdr-brand-name { display: block; font-size: 54px; line-height: 1.05; max-height: 168px; overflow-wrap: anywhere; overflow: hidden; text-align: center; }
.vdr-features { display: flex; flex-direction: column; justify-content: space-evenly; gap: 16px; min-height: 0; }
.vdr-feature { display: flex; align-items: center; gap: 26px; min-height: 60px; }
:is(.vidriera-slide, #vidrieraRoot .vidriera-slide) .vdr-feature > svg { width: 52px; height: 52px; color: #191e23; flex: 0 0 52px; stroke-width: 1.35; }
.vdr-feature > div { min-width: 0; flex: 1; padding-left: 25px; border-left: 3px solid var(--vdr-accent); }
.vdr-feature strong { display: block; font-size: 36px; line-height: 1.1; max-height: 42px; overflow: hidden; overflow-wrap: anywhere; }
.vdr-feature span { display: block; margin-top: 5px; font-size: 22px; line-height: 1.15; color: #626970; text-transform: uppercase; }
.vdr-pricing { min-width: 0; }
.vdr-price { padding: 22px 14px; background: var(--vdr-accent); color: #fff; text-align: center; font-size: 55px; line-height: 1.1; font-weight: 700; max-height: 114px; overflow: hidden; white-space: nowrap; }
.vdr-price > span { font-weight: 400; }
.vdr-expenses { margin-top: 12px; font-size: 23px; line-height: 1.2; max-height: 30px; overflow: hidden; }
.vdr-lead { display: grid; grid-template-columns: minmax(0,1fr) 126px; align-items: center; gap: 16px; min-width: 0; padding-top: 16px; border-top: 1px solid #dfe2e5; }
.vdr-lead > div { min-width: 0; }
.vdr-lead strong { display: block; font-size: 26px; line-height: 1.15; }
.vdr-lead span { display: block; margin-top: 7px; font-size: 18px; line-height: 1.25; color: #626970; }
.vdr-qr { display: block; width: 126px; height: 126px; object-fit: contain; background: #fff; }
.vdr-contact { align-self: end; min-width: 0; padding-top: 16px; border-top: 1px solid #dfe2e5; display: flex; flex-direction: column; gap: 12px; }
.vdr-contact:empty { display: none; }
.vdr-sidebar:not(:has(.vdr-lead)):has(.vdr-contact:empty) { grid-template-rows: 174px minmax(0,1fr) auto; }
.vdr-contact > div { display: flex; align-items: center; gap: 12px; min-width: 0; }
:is(.vidriera-slide, #vidrieraRoot .vidriera-slide) .vdr-contact svg { width: 23px; height: 23px; flex: 0 0 23px; color: #191e23; }
.vdr-contact span { display: block; font-size: 23px; line-height: 1.2; max-height: 58px; overflow: hidden; overflow-wrap: anywhere; }
.vdr-institutional { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: space-between; align-items: flex-start; padding: 110px 130px; border-left: 18px solid var(--vdr-accent); }
.vdr-institutional .vdr-brand { width: 900px; height: 160px; justify-content: flex-start; }
.vdr-institutional .vdr-brand-name { font-size: 94px; max-height: 210px; }
.vdr-institutional .vdr-logo { max-width: 800px; height: 160px; object-position: left center; }
:is(.vidriera-slide, #vidrieraRoot .vidriera-slide) .vdr-institutional h1 { margin: 0; padding: 0; max-width: 1480px; max-height: 300px; font-size: 112px; line-height: 1.12; overflow: hidden; overflow-wrap: anywhere; font-weight: 400; color: #fff; }
.vdr-institutional .vdr-contact { width: 100%; align-self: stretch; flex-direction: row; flex-wrap: wrap; column-gap: 70px; }
.vdr-institutional .vdr-contact span { font-size: 32px; max-height: 42px; }

/* Player framing never changes the TSIGNS administration interface. */
html:has(body.vidriera-showcase), body.vidriera-showcase { width: 100%; height: 100%; margin: 0; overflow: hidden; background: #191e23; }
body.vidriera-showcase, body.vidriera-showcase * { user-select: none; }
body.vidriera-showcase:not(.viewer-interacting), body.vidriera-showcase:not(.viewer-interacting) * { cursor: none; }
.vidriera-showcase #showcase-stage { position: fixed; inset: 0; overflow: hidden; background: #191e23; }
.vidriera-showcase .showcase-fallback, .vidriera-showcase .showcase-layer { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.vidriera-showcase .showcase-fallback { z-index: 0; }
.vidriera-showcase .showcase-layer { z-index: 1; opacity: 0; transition: opacity 500ms ease, transform 500ms ease; will-change: opacity, transform; }
.vidriera-showcase .showcase-layer.is-current { opacity: 1; }
.vidriera-showcase .showcase-layer.is-slide-enter { transform: translateX(100%); }
.vidriera-showcase .showcase-layer.is-slide-leave { transform: translateX(-100%); }
.vidriera-showcase .showcase-layer > .vidriera-slide, .vidriera-showcase .showcase-fallback > .vidriera-slide { width: 100%; height: 100%; aspect-ratio: auto; flex-shrink: 0; }
.vidriera-showcase .showcase-grid { display: grid; width: 100vw; height: 100vh; flex-shrink: 0; grid-template-columns: repeat(var(--showcase-columns,1), minmax(0,1fr)); grid-template-rows: repeat(var(--showcase-rows,1), minmax(0,1fr)); gap: 3px; background: #dfe2e5; overflow: hidden; }
.vidriera-showcase .showcase-grid > .vidriera-slide { width: 100%; height: 100%; min-width: 0; aspect-ratio: auto; }
.vidriera-showcase .showcase-empty-cell { min-width: 0; min-height: 0; background: #fff; }
.vidriera-showcase .showcase-media { display: block; width: 100%; height: 100%; object-fit: contain; background: #191e23; }
.vidriera-showcase .showcase-boot { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 24px; padding: 24px; color: #fff; font: 24px Arial, sans-serif; text-align: center; }
.vidriera-showcase .showcase-boot strong { font-size: 40px; }
@media (prefers-reduced-motion: reduce) { .vidriera-showcase .showcase-layer, .vdr-cover { transition-duration: 1ms; } }
