/* SeaOfGlassAndMirrors v0.2.0 production core */
:root{--focus:#62e8ff;--surface:#07192b;--text:#f7fbff}
.skip-link{position:fixed;left:1rem;top:-5rem;z-index:2147483647;background:#fff;color:#001a2d;padding:.75rem 1rem;border-radius:.5rem}.skip-link:focus{top:1rem}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
img,video{max-width:100%;height:auto}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Version 0.2.2 — carousel viewport integrity and full-view media */
.mirror-runway{
  box-sizing:border-box;
  height:min(72svh,620px);
  min-height:410px;
  display:grid;
  grid-template-rows:minmax(0,1fr) auto auto;
  overflow:hidden;
}
.mirror-runway .runway-stage{
  min-height:0!important;
  height:auto;
  overflow:visible;
}
.mirror-runway .runway-slide{
  height:100%;
  max-height:100%;
}
.mirror-runway .runway-slide.active{cursor:zoom-in;}
.mirror-runway .runway-slide.active::after{
  content:"";
  position:absolute;
  inset:-35%;
  pointer-events:none;
  background:linear-gradient(112deg,transparent 42%,rgba(255,255,255,.12) 48%,rgba(103,235,255,.17) 50%,rgba(255,255,255,.08) 52%,transparent 58%);
  transform:translateX(-85%) rotate(4deg);
  animation:sog-soft-reflection 9s ease-in-out infinite;
}
@keyframes sog-soft-reflection{
  0%,58%{transform:translateX(-85%) rotate(4deg);opacity:0}
  64%{opacity:.42}
  78%{transform:translateX(85%) rotate(4deg);opacity:.28}
  84%,100%{transform:translateX(85%) rotate(4deg);opacity:0}
}
#premium-lightbox .lightbox-content{max-width:96vw!important;max-height:94svh!important;object-fit:contain!important;}
@media(max-width:700px){
  .mirror-runway{height:min(74svh,560px);min-height:370px;padding:14px!important}
  .mirror-runway .runway-slide{width:82%;height:100%}
  .mirror-runway .runway-controls{margin-top:6px}
  .mirror-runway .runway-btn{width:42px;height:42px}
}
@media(max-height:650px) and (min-width:701px){
  .mirror-runway{height:68svh;min-height:350px;padding-block:14px}
  .mirror-runway .runway-controls{margin-top:4px}
}
@media(prefers-reduced-motion:reduce){.mirror-runway .runway-slide.active::after{animation:none;display:none}}

/* v0.5.23 — Carousel presentation: three complete visual references when space allows */
@media(min-width:901px){
 body[data-sog-carousel="runway"] .mirror-runway .runway-slide,
 body[data-sog-carousel="coverflow"] .mirror-runway .runway-slide,
 body[data-sog-carousel="showcase"] .mirror-runway .runway-slide{
   height:88%!important;max-height:88%!important;background:rgba(2,10,18,.68)!important;
 }
 body[data-sog-carousel="runway"] .mirror-runway .runway-slide img,
 body[data-sog-carousel="coverflow"] .mirror-runway .runway-slide img,
 body[data-sog-carousel="showcase"] .mirror-runway .runway-slide img{
   object-fit:contain!important;background:rgba(1,8,14,.82)!important;
 }
 body[data-sog-carousel="runway"] .runway-slide.active{width:min(46%,760px)!important;opacity:1!important;transform:translateX(0) rotateY(0) scale(1)!important}
 body[data-sog-carousel="runway"] .runway-slide.prev{width:min(34%,560px)!important;opacity:.78!important;transform:translateX(-92%) rotateY(12deg) scale(.94)!important;filter:brightness(.78) saturate(.88)!important}
 body[data-sog-carousel="runway"] .runway-slide.next{width:min(34%,560px)!important;opacity:.78!important;transform:translateX(92%) rotateY(-12deg) scale(.94)!important;filter:brightness(.78) saturate(.88)!important}
 body[data-sog-carousel="coverflow"] .runway-slide.active{width:min(44%,730px)!important}
 body[data-sog-carousel="coverflow"] .runway-slide.prev{width:min(32%,520px)!important;opacity:.68!important;transform:translateX(-96%) rotateY(25deg) scale(.9)!important}
 body[data-sog-carousel="coverflow"] .runway-slide.next{width:min(32%,520px)!important;opacity:.68!important;transform:translateX(96%) rotateY(-25deg) scale(.9)!important}
 body[data-sog-carousel="showcase"] .runway-slide.active{width:min(58%,920px)!important}
 body[data-sog-carousel="showcase"] .runway-slide.prev{width:min(27%,440px)!important;opacity:.52!important;transform:translateX(-118%) scale(.88)!important}
 body[data-sog-carousel="showcase"] .runway-slide.next{width:min(27%,440px)!important;opacity:.52!important;transform:translateX(118%) scale(.88)!important}
}


/* SOG 0.5.23 — trashed media never leaves a visible placeholder object in production. */
img[src*="?pending="],video[src*="video-pendiente.mp4"],video:has(source[src*="video-pendiente.mp4"]),video:has(source[src*="?pending="]){display:none!important}
.local-video-grid{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr))!important}


/* SOG 0.5.23 — Universal responsive reflow engine.
   Semantic containers recompose when objects are added/removed; no phantom columns. */
.local-video-grid[data-sog-auto-flow="balanced"]{
  display:flex!important;flex-wrap:wrap!important;justify-content:center!important;align-items:flex-start!important;
  gap:clamp(14px,1.7vw,26px)!important;grid-template-columns:none!important
}
.local-video-grid[data-sog-auto-flow="balanced"] > .local-video{
  flex:0 1 clamp(250px,22vw,340px)!important;width:clamp(250px,22vw,340px)!important;max-width:100%!important
}
[data-sog-layout="auto"]{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;align-items:stretch!important;gap:var(--sog-layout-gap,24px)!important}
[data-sog-layout="auto"] > :not(.sog-content-slot){flex:1 1 var(--sog-layout-min,240px)!important;max-width:calc((100% - (var(--sog-layout-cols,4) - 1)*var(--sog-layout-gap,24px))/var(--sog-layout-cols,4))!important}
[data-sog-layout="grid"]{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--sog-layout-min,240px)),1fr))!important;gap:var(--sog-layout-gap,24px)!important}
[data-sog-layout="row"]{display:flex!important;flex-wrap:wrap!important;gap:var(--sog-layout-gap,24px)!important;align-items:stretch!important}
[data-sog-layout="column"]{display:flex!important;flex-direction:column!important;gap:var(--sog-layout-gap,24px)!important}
@media(max-width:900px){.local-video-grid[data-sog-auto-flow="balanced"] > .local-video{flex-basis:min(46%,360px)!important;width:min(46%,360px)!important}}
@media(max-width:620px){.local-video-grid[data-sog-auto-flow="balanced"] > .local-video{flex-basis:min(100%,380px)!important;width:min(100%,380px)!important}}




/* SOG-123 — Shower Doors historical reference is an independent subtopic, never part of the main gallery. */
.shower-reference-section{padding:clamp(28px,4vw,56px) 0 60px;background:inherit;color:inherit}
.shower-reference-inner{max-width:1280px;margin-inline:auto}
.shower-reference-separator{height:1px;background:linear-gradient(90deg,transparent,rgba(148,163,184,.45) 12%,rgba(148,163,184,.45) 88%,transparent);margin:0 0 34px}
.shower-reference-title{text-align:center;margin:0 0 8px;font-size:clamp(1.45rem,2.3vw,2.1rem)}
.shower-reference-intro{max-width:780px;margin:0 auto 30px;text-align:center;opacity:.82}
.shower-reference-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(24px,3vw,52px) clamp(22px,3vw,48px);align-items:start}
.shower-reference-card{min-width:0;text-align:center;background:transparent;border:0;box-shadow:none}
.shower-reference-image-link{display:flex;align-items:center;justify-content:center;aspect-ratio:1/1;overflow:hidden;background:rgba(255,255,255,.025);border-radius:10px}
.shower-reference-image-link img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .2s ease}
.shower-reference-image-link:hover img{transform:scale(1.015)}
.shower-reference-label{display:block;margin-top:12px;color:#55c8f5;text-decoration:none;font-weight:700;line-height:1.15}
.shower-reference-label:hover{text-decoration:underline}
@media (max-width:900px){.shower-reference-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px}}
@media (max-width:520px){.shower-reference-section{padding-inline:10px}.shower-reference-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 10px}.shower-reference-label{font-size:.84rem}.shower-reference-image-link{border-radius:8px}}

/* SOG-123 — Universal Object Matrix: layout container, never a media-type exception. */
[data-sog-matrix="1"]{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:24px!important;align-items:stretch}
[data-sog-matrix="1"]>*{min-width:0;max-width:100%}
@media(max-width:1024px){[data-sog-matrix="1"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:600px){[data-sog-matrix="1"]{grid-template-columns:minmax(0,1fr)!important}}
[data-sog-matrix="1"]>.local-video,[data-sog-matrix="1"]>*{width:100%!important;max-width:100%!important;min-width:0!important;flex:none!important}
