.uz-campus{padding:80px 24px;background:#f7f7f7;color:#171717}
.uz-campus-inner{max-width:1280px;margin:auto}
.uz-campus-heading{text-align:center;margin:0 auto 36px}
.uz-campus-heading h2{font-family:var(--font-heading);font-size:clamp(28px,4vw,44px);font-weight:500;line-height:1.2;margin:0;letter-spacing:-.025em}
.uz-campus-heading em{font-style:normal;font-weight:600}
.uz-campus-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.uz-campus-card{position:relative;isolation:isolate;min-width:0;overflow:hidden;background:#e9e9e9}
.uz-campus-photos{position:absolute;inset:0;z-index:-2}
.uz-campus-photos img{display:block;width:100%;height:100%;object-fit:cover}
.uz-campus [hidden]{display:none!important}
.uz-campus-preview{grid-column:1/-1;aspect-ratio:2.4;color:#fff}
.uz-campus-preview::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#000a,transparent 65%);pointer-events:none}
.uz-campus-preview .uz-campus-photos img{filter:none}
.uz-campus-location{display:block;font-size:12px;line-height:1.5;letter-spacing:.02em}
.uz-campus-preview>.uz-campus-location{position:absolute;left:32px;top:24px;padding:6px 10px;background:#0006;color:#fff}
.uz-campus-caption{position:absolute;bottom:24px;left:32px;right:32px}
.uz-campus-caption>span{display:block;font-size:13px;line-height:1.5;font-weight:400}
.uz-campus-caption h3{font-family:var(--font-heading);font-size:clamp(26px,3vw,40px);font-weight:600;line-height:1.2;margin:4px 0 0;letter-spacing:-.02em}
.uz-campus-pending{font-size:12px;margin:12px 0 0;line-height:1.5}
.uz-campus-selector{aspect-ratio:1.25;cursor:pointer;border:1px solid #dbe2ec;background:linear-gradient(145deg,#e7edf5,#cddae9);transition:border-color .2s}
.uz-campus-selector::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(12,31,58,.76),rgba(12,31,58,.08) 60%,transparent);pointer-events:none}
.uz-campus-selector .uz-campus-photos img{filter:none}
.uz-campus-selector>.uz-campus-location{position:absolute;top:14px;left:14px;right:14px;color:#fff;font-size:11px;text-shadow:0 1px 5px #000b}
.uz-campus-selector .uz-campus-caption{left:14px;right:14px;bottom:16px;color:#fff}
.uz-campus-selector .uz-campus-caption>span{font-size:11px}
.uz-campus-selector .uz-campus-caption h3{font-size:clamp(18px,1.8vw,24px)}
.uz-campus-selector .uz-campus-pending{font-size:10px;margin-top:8px}
.uz-campus-selector:hover,.uz-campus-selected{border-color:#1e4096;outline:2px solid #1e4096;outline-offset:3px}
.uz-campus button{display:inline-flex;justify-content:center;align-items:center;min-height:40px;padding:8px 14px;font-size:12px;line-height:1.4;border:1px solid #ffffff66;border-radius:2px;color:inherit;background:transparent;cursor:pointer;transition:background .2s}
.uz-campus button:hover{background:#ffffff18}
.uz-campus button:focus-visible,.uz-campus-card:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.uz-campus-pause{position:absolute;top:24px;right:24px;z-index:2;background:#0005!important}
.uz-campus-expand{position:absolute;bottom:28px;right:24px;z-index:2}
.uz-campus-preview .uz-campus-caption{right:190px}
.uz-campus-dialog{position:fixed;inset:0;margin:auto;box-sizing:border-box;width:min(1100px,calc(100% - 32px));height:fit-content;max-height:calc(100dvh - 32px);padding:20px;border:1px solid #333;background:#111;color:#fff;overflow:auto}
.uz-campus-dialog::backdrop{background:#000e}
.uz-campus-dialog-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}
.uz-campus-dialog-top h3{font-size:18px;font-weight:500;line-height:1.4}
.uz-campus-dialog-photo{display:flex;align-items:center;justify-content:center}
.uz-campus-dialog-photo img{display:block;width:100%;height:auto;max-height:70dvh;object-fit:contain}
.uz-campus-dialog-controls{display:flex;justify-content:center;align-items:center;gap:24px;margin-top:16px;font-size:12px}
html.uz-campus-gallery-open{overflow:hidden}
@media(max-width:900px){.uz-campus-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.uz-campus-preview{aspect-ratio:1.8}.uz-campus-selector{aspect-ratio:1.3}}
@media(max-width:560px){.uz-campus{padding:48px 16px}.uz-campus-heading{margin-bottom:24px}.uz-campus-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.uz-campus-preview{aspect-ratio:1.15}.uz-campus-preview>.uz-campus-location{left:16px;top:16px;max-width:calc(100% - 120px)}.uz-campus-pause{top:16px;right:16px}.uz-campus-caption{left:16px;bottom:66px}.uz-campus-preview .uz-campus-caption{right:16px}.uz-campus-expand{left:16px;right:auto;bottom:16px}.uz-campus-dialog{padding:14px}.uz-campus-dialog-controls{gap:16px}}
@media(prefers-reduced-motion:reduce){.uz-campus *{transition:none!important}}

/* Vídeos com reprodução voluntária e controlos nativos. */
.uz-campus-photos video{display:block;width:100%;height:100%;object-fit:contain;background:#111}
.uz-campus-selector .uz-campus-photos video{filter:none;pointer-events:none}
.uz-campus-preview:has(video:not([hidden])) .uz-campus-caption{bottom:72px;pointer-events:none}
.uz-campus-preview:has(video:not([hidden])) .uz-campus-expand{bottom:78px}
.uz-campus-browse{position:absolute;top:78px;right:24px;display:flex;gap:8px;z-index:2}
.uz-campus-browse button{background:#0005}
.uz-campus-dialog-photo video{display:block;width:100%;max-height:70dvh;background:#111}
@media(max-width:560px){.uz-campus-browse{top:68px;right:16px}.uz-campus-browse button{padding:6px 9px;font-size:11px}.uz-campus-preview:has(video:not([hidden])) .uz-campus-caption{bottom:128px}.uz-campus-preview:has(video:not([hidden])) .uz-campus-expand{bottom:70px}}
