
/* Sea Of Glass And Mirrors · Version 0.5.23 — corrective UX layer */
/* Los controles laterales quedan temporalmente ocultos por decisión del proyecto. */
.side-nav,#side-nav{display:none!important}
/* Contacto vuelve a aprovechar el área activa y el mapa recupera presencia visual. */
body[data-page-id="contact-us"] .contact-page{padding-inline:0!important}
body[data-page-id="contact-us"] .contact-page>.container,body[data-page-id="contact-us"] .contact-page .container{width:min(1640px,96vw)!important;max-width:none!important;margin-inline:auto!important}
body[data-page-id="contact-us"] .contact-grid{width:100%!important;max-width:none!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:clamp(24px,3vw,48px)!important}
body[data-page-id="contact-us"] .map-container{width:100%!important;max-width:none!important;margin-top:clamp(38px,5vw,72px)!important}
body[data-page-id="contact-us"] .sog-location-map{width:100%!important;max-width:none!important;grid-template-columns:minmax(0,1.65fr) minmax(340px,.75fr)!important;gap:28px!important;min-height:570px!important;padding:26px!important}
body[data-page-id="contact-us"] .sog-map-visual{min-height:520px!important}
body[data-page-id="contact-us"] .sog-map-visual svg{min-height:520px!important}
/* Las paletas deben verse en controles, acentos y superficies, no sólo en variables ocultas. */
html[data-sog-appearance] body{background:var(--sog-theme-bg)!important;color:var(--sog-theme-text)!important}
html[data-sog-appearance] .premium-mobile-nav,html[data-sog-appearance] .contact-card,html[data-sog-appearance] .sog-location-map,html[data-sog-appearance] .editorial-copy-card,html[data-sog-appearance] .partition-intro-card,html[data-sog-appearance] .article-reading-panel{background-color:color-mix(in srgb,var(--sog-theme-surface) 88%,transparent)!important;border-color:color-mix(in srgb,var(--sog-accent) 32%,transparent)!important}
html[data-sog-appearance] .header-container,html[data-sog-appearance] .header.scrolled .header-container{background:transparent!important;background-color:transparent!important;background-image:none!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
html[data-sog-appearance] .lang-btn.active,html[data-sog-appearance] .nav-list a.active,html[data-sog-appearance] .premium-nav-list a.active,html[data-sog-appearance] .hero-free-estimate,html[data-sog-appearance] .premium-submit-btn,html[data-sog-appearance] .partition-contact-cta{background:linear-gradient(135deg,var(--sog-accent),var(--sog-accent-2))!important;border-color:color-mix(in srgb,var(--sog-accent) 75%,white)!important}
html[data-sog-appearance] .section-title,html[data-sog-appearance] h1,html[data-sog-appearance] h2,html[data-sog-appearance] h3{color:var(--sog-theme-text)!important}
html[data-sog-appearance] .sog-map-pin{fill:var(--sog-accent)!important;filter:drop-shadow(0 0 10px color-mix(in srgb,var(--sog-accent) 80%,transparent))!important}
html[data-sog-appearance] .sog-florida{stroke:var(--sog-accent)!important}
/* Diseños con diferencias más visibles
   v0.5.23: las antiguas restricciones de max-width sobre SECCIONES COMPLETAS
   se retiran. Los diseños pueden variar la composición interna, nunca desplazar
   ni encoger el primer nivel estructural del Website. */
body[data-sog-design="design-2"] .runway-stage,
body[data-sog-design="design-2"] .gallery-grid{perspective:1300px}
@media(max-width:900px){body[data-page-id="contact-us"] .contact-grid,body[data-page-id="contact-us"] .sog-location-map{grid-template-columns:1fr!important}body[data-page-id="contact-us"] .sog-map-visual{min-height:360px!important}body[data-page-id="contact-us"] .sog-map-visual svg{min-height:360px!important}}
/* Nunca mostrar indicadores diagnósticos de viewport */
#diagnostic-hud,.diagnostic-hud,.viewport-debug,.screen-dimensions,[data-screen-dimensions],[data-viewport-debug]{display:none!important;visibility:hidden!important}

/* v0.5.23 — la isla de navegación conserva transparencia total; el tema actúa sobre botones/accentos, no sobre una placa sólida. */
.header,.header.scrolled,.header-container,.header.scrolled .header-container{background:transparent!important;background-color:transparent!important;background-image:none!important;border-color:transparent!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}


/* SOG-123 — Public visual corrections */
.hero-carousel .hero-content > h1,
.hero-carousel .hero-content > h2,
.page-hero h1,
.page-hero h2{
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
}

/* Locations must breathe; never stack text without usable line-height. */
.sog-map-info{display:flex!important;flex-direction:column!important;gap:12px!important}
.sog-location-card{
  display:flex!important;flex-direction:column!important;align-items:flex-start!important;
  gap:7px!important;padding:16px 18px!important;min-height:0!important;
  line-height:1.38!important;white-space:normal!important
}
.sog-location-card strong{line-height:1.25!important;margin:0!important}
.sog-location-card span{line-height:1.42!important;margin:0!important}
.sog-location-card small{display:block!important;line-height:1.2!important;margin-top:2px!important}

/* Cross-document navigation: retain the current surface until the new document paints. */
@view-transition{navigation:auto}
::view-transition-old(root){animation:160ms ease both sog-page-out}
::view-transition-new(root){animation:190ms ease both sog-page-in}
@keyframes sog-page-out{to{opacity:.94}}
@keyframes sog-page-in{from{opacity:.94}to{opacity:1}}
html,body{background:var(--sog-theme-bg,#031426)}
.sog-page-leaving{pointer-events:none}
.sog-page-leaving body{opacity:.985}

/* SOG-123 r39 — authoritative initial state for the Hero estimate CTA.
   Prevents the legacy amber/orange desktop rule from painting before Appearance resolves. */
.hero-content > .hero-free-estimate,
.hero-free-estimate,
.hero-free-estimate:visited{
  background:linear-gradient(135deg,var(--sog-theme-button,#00bce8),var(--sog-theme-button-2,#006dff))!important;
  border-color:color-mix(in srgb,var(--sog-theme-border,#53e6ff) 74%,transparent)!important;
  color:var(--sog-theme-button-text,#071018)!important;
  -webkit-text-fill-color:var(--sog-theme-button-text,#071018)!important;
  text-shadow:none!important;
  box-shadow:0 10px 28px color-mix(in srgb,var(--sog-theme-button,#00bce8) 25%,transparent)!important;
}
