/**
 * Construcción Genérica — skin propia (azul + naranja).
 * Scope: body.cg-site. No depende de sigma-manufacturing-shared/motion.
 */

body.cg-site {
  --cg-blue: #1a5f9e;
  --cg-blue-dark: #0f3d6e;
  --cg-blue-soft: #4f89c3;
  --cg-orange: #e07020;
  --cg-orange-dark: #c45c1a;
  --cg-orange-soft: #f59a4a;
  --cg-ink: #0f172a;
  --cg-muted: #475569;
  --cg-white: #ffffff;
  --cg-container: 1180px;
  --cg-gutter: clamp(1rem, 4vw, 1.5rem);
  --cg-radius-lg: 28px;
  --cg-radius-md: 18px;
  --cg-radius-sm: 12px;
  --cg-glass-blur: 20px;
  --cg-glass-bg: rgba(255, 255, 255, 0.68);
  --cg-glass-border: rgba(255, 255, 255, 0.82);
  --cg-glass-shadow: 0 10px 36px rgba(26, 95, 158, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.9);

  /* Remap vars que usa header/footer/hero Sigma */
  --sigma-blue: var(--cg-blue);
  --sigma-blue-light: var(--cg-blue-soft);
  --sigma-blue-dark: var(--cg-blue-dark);
  --sigma-cyan: var(--cg-orange-soft);
  --sigma-ink: var(--cg-ink);
  --sigma-muted: var(--cg-muted);
  --sigma-white: var(--cg-white);
  --sigma-container: var(--cg-container);
  --sigma-gutter: 24px;
  --sigma-inline-pad: max(var(--cg-gutter), calc((100% - var(--cg-container)) / 2));
  --sigma-glass-bg: var(--cg-glass-bg);
  --sigma-glass-border: var(--cg-glass-border);
  --sigma-glass-shadow: var(--cg-glass-shadow);
  --sigma-glass-blur: var(--cg-glass-blur);
  --sigma-radius-lg: var(--cg-radius-lg);
  --sigma-radius-md: var(--cg-radius-md);
  --sigma-radius-sm: var(--cg-radius-sm);

  color: var(--cg-ink);
  background:
    radial-gradient(ellipse 88% 55% at 8% -8%, rgba(26, 95, 158, 0.2), transparent 52%),
    radial-gradient(ellipse 72% 48% at 96% 12%, rgba(224, 112, 32, 0.14), transparent 48%),
    radial-gradient(ellipse 75% 42% at 50% 108%, rgba(26, 95, 158, 0.08), transparent 55%),
    linear-gradient(180deg, #eef4fb 0%, #fafbfc 42%, #f3f6fa 100%) !important;
}

body.cg-site :has(.uc-carousel-container) :is(
  .sigma-main,
  .sigma-page,
  .cg-page,
  .sigma-page .sigma-section,
  .sigma-page .sigma-section-alt
) {
  overflow: visible !important;
}

/* ── Página: una sola columna centrada, sin padding global duplicado ── */
body.cg-site #sigma-main-content .cg-page,
body.cg-site #sigma-main-content .sigma-page.cg-page {
  margin: 0 !important;
  padding: 0 !important;
  max-width: none !important;
  width: 100% !important;
}

/* Hero y marquee: ancho completo de viewport */
body.cg-site #sigma-main-content .cg-page > .alignfull,
body.cg-site #sigma-main-content .cg-page > .sigma-hero,
body.cg-site #sigma-main-content .cg-page > .sigma-marquee-band {
  box-sizing: border-box;
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.cg-site #sigma-main-content .cg-page > .sigma-hero.sigma-hero--video {
  min-height: clamp(520px, 85vh, 900px);
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
  padding-top: clamp(4.25rem, 9vh, 5.25rem) !important;
  padding-bottom: clamp(2.5rem, 6vh, 4rem) !important;
  padding-left: var(--cg-gutter) !important;
  padding-right: var(--cg-gutter) !important;
  border-radius: 0 !important;
}

/* Sin hueco entre hero y marquee */
body.cg-site #sigma-main-content .cg-page > .sigma-hero + .sigma-marquee-band {
  margin-block-start: 0 !important;
}

/* Secciones de contenido: columna centrada (padding lateral en bloque JSON + gutter sección) */
body.cg-site #sigma-main-content .cg-page > .wp-block-group:not(.sigma-hero):not(.sigma-marquee-band) {
  box-sizing: border-box;
  width: min(100% - var(--cg-gutter) * 2, var(--cg-container)) !important;
  max-width: var(--cg-container) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-block-start: 0 !important;
  padding-left: var(--cg-gutter) !important;
  padding-right: var(--cg-gutter) !important;
}

body.cg-site #sigma-main-content .cg-page > .wp-block-group.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ── Tipografía y acentos ── */
body.cg-site .sigma-display-title,
body.cg-site .sigma-hero-title {
  font-family: 'Outfit', ui-sans-serif, system-ui, sans-serif !important;
  color: var(--cg-ink) !important;
}

body.cg-site .sigma-section-label,
body.cg-site .sigma-eyebrow {
  color: var(--cg-orange-dark) !important;
}

body.cg-site .sigma-lead,
body.cg-site .sigma-muted,
body.cg-site .sigma-hero-copy {
  color: var(--cg-muted) !important;
}

/* ── Cristal / tarjetas ── */
body.cg-site .sigma-glass {
  background: var(--cg-glass-bg) !important;
  backdrop-filter: blur(var(--cg-glass-blur)) saturate(180%) !important;
  -webkit-backdrop-filter: blur(var(--cg-glass-blur)) saturate(180%) !important;
  border: 1px solid var(--cg-glass-border) !important;
  border-radius: var(--cg-radius-lg) !important;
  box-shadow: var(--cg-glass-shadow) !important;
}

body.cg-site .sigma-glass-dark,
body.cg-site .sigma-stat-card.sigma-glass {
  background: linear-gradient(145deg, var(--cg-blue) 0%, var(--cg-blue-dark) 100%) !important;
  color: var(--cg-white) !important;
}

body.cg-site .sigma-stat-card .wp-block-heading,
body.cg-site .sigma-stat-card .wp-block-paragraph,
body.cg-site .sigma-stat-card .sigma-muted {
  color: rgba(255, 255, 255, 0.92) !important;
}

body.cg-site .sigma-service-card,
body.cg-site .sigma-sector-card,
body.cg-site .sigma-team-card {
  height: 100%;
  border-radius: var(--cg-radius-md);
}

/* Imágenes de contenido: siempre 1:1, cover, sin bandas */
body.cg-site .cg-page .wp-block-image {
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 0 !important;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  line-height: 0;
  border-radius: var(--cg-radius-md);
}

body.cg-site .cg-page .wp-block-image img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  object-fit: cover !important;
  object-position: center center;
}

body.cg-site .sigma-service-card__icon .wp-block-image {
  margin-bottom: 1.25rem !important;
  border-radius: var(--cg-radius-sm);
}

body.cg-site .sigma-team-card .wp-block-image {
  max-width: 200px;
  margin-inline: auto !important;
}

body.cg-site .sigma-split-media {
  width: 100%;
}

body.cg-site .sigma-split-media .wp-block-image {
  border-radius: var(--cg-radius-lg);
}

/* ── Botones ── */
body.cg-site .sigma-btn-primary .wp-block-button__link {
  background: linear-gradient(135deg, var(--cg-orange) 0%, var(--cg-orange-dark) 100%) !important;
  color: var(--cg-white) !important;
  border: none !important;
  border-radius: 999px !important;
}

body.cg-site .sigma-btn-primary .wp-block-button__link:hover {
  background: linear-gradient(135deg, var(--cg-orange-soft) 0%, var(--cg-orange) 100%) !important;
}

body.cg-site .sigma-btn-secondary .wp-block-button__link,
body.cg-site .sigma-btn-outline .wp-block-button__link {
  background: transparent !important;
  color: var(--cg-blue) !important;
  border: 2px solid var(--cg-blue) !important;
  border-radius: 999px !important;
}

body.cg-site .sigma-btn-secondary .wp-block-button__link:hover,
body.cg-site .sigma-btn-outline .wp-block-button__link:hover {
  background: rgba(26, 95, 158, 0.08) !important;
  color: var(--cg-blue-dark) !important;
}

/* ── Marquee (altura y pegado al hero como Sigma) ── */
body.cg-site #sigma-main-content .cg-page > .sigma-marquee-band {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
  overflow: hidden;
  border-block: 1px solid rgba(255, 255, 255, 0.15);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12);
  background: linear-gradient(
    90deg,
    var(--cg-blue-dark),
    var(--cg-blue),
    var(--cg-orange-dark)
  ) !important;
  background-size: 200% 100%;
}

body.cg-site .sigma-marquee {
  overflow: hidden;
  padding: clamp(1.15rem, 2.8vw, 1.5rem) 0;
}

/* ── Header / footer acentos ── */
body.cg-site .sigma-header::before {
  box-shadow: 0 8px 32px rgba(26, 95, 158, 0.14), inset 0 1px 0 rgba(255, 255, 255, 0.92) !important;
}

body.cg-site .sigma-header .wp-block-navigation-item__content:hover,
body.cg-site .sigma-header .wp-block-navigation-item.current-menu-item .wp-block-navigation-item__content {
  color: var(--cg-orange) !important;
}

/* Footer: texto blanco pleno (sigma-muted y sigma-footer.css usan gris/opacity) */
body.cg-site .sigma-footer {
  color: #ffffff !important;
}

body.cg-site .sigma-footer .sigma-muted,
body.cg-site .sigma-footer .wp-block-heading,
body.cg-site .sigma-footer .wp-block-paragraph,
body.cg-site .sigma-footer p,
body.cg-site .sigma-footer a,
body.cg-site .sigma-footer .sigma-footer-brand .wp-block-heading,
body.cg-site .sigma-footer .sigma-footer-brand p,
body.cg-site .sigma-footer .sigma-footer-nav-col .wp-block-heading,
body.cg-site .sigma-footer .sigma-footer-nav-col p,
body.cg-site .sigma-footer .sigma-footer__copy {
  color: #ffffff !important;
}

body.cg-site .sigma-footer-nav .wp-block-button__link,
body.cg-site .sigma-footer-legal .wp-block-button__link {
  color: #ffffff !important;
}

body.cg-site .sigma-footer a:hover,
body.cg-site .sigma-footer-nav .wp-block-button__link:hover,
body.cg-site .sigma-footer-legal .wp-block-button__link:hover {
  color: #ffffff !important;
}

/* ── Galería y carrusel proyectos (layout propio) ── */
body.cg-site .sigma-gallery-glass {
  overflow: hidden;
}

body.cg-site .sigma-project-carousel,
body.cg-site .sigma-gallery-carousel {
  width: 100% !important;
  max-width: 100% !important;
}

body.cg-site .sigma-project-carousel .uc-carousel__track > * {
  flex: 0 0 100%;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

body.cg-site .sigma-project-carousel .sigma-carousel-slide {
  display: flex !important;
  flex-direction: row !important;
  justify-content: flex-start !important;
  align-items: stretch !important;
  width: 100% !important;
  min-height: clamp(280px, 42vw, 380px);
  padding: 0 !important;
  margin: 0 !important;
}

body.cg-site .sigma-project-carousel .sigma-carousel-split {
  width: 100% !important;
  max-width: 100% !important;
  gap: clamp(1rem, 3vw, 1.5rem) !important;
  margin: 0 !important;
}

body.cg-site .sigma-project-carousel .sigma-carousel-split > .wp-block-column {
  padding: 0 !important;
  margin: 0 !important;
  flex-basis: 50% !important;
}

body.cg-site .sigma-project-carousel .sigma-split-media .wp-block-image {
  margin: 0 !important;
  width: 100%;
}

body.cg-site .sigma-project-carousel .sigma-split-media .wp-block-image {
  width: 100%;
  aspect-ratio: 1 / 1;
  border: 1px solid rgba(255, 255, 255, 0.65);
}

body.cg-site .sigma-project-carousel .sigma-carousel-slide .wp-block-group {
  padding: 0 !important;
}

body.cg-site .sigma-gallery-carousel:not(.sigma-project-carousel) .sigma-carousel-slide {
  display: block !important;
  justify-content: stretch !important;
  align-items: stretch !important;
  min-height: 0 !important;
}

body.cg-site .sigma-gallery-carousel:not(.sigma-project-carousel) .sigma-carousel-slide .wp-block-image {
  width: 100%;
  max-width: 100%;
  aspect-ratio: 1 / 1;
}

body.cg-site .uc-carousel-container .uc-carousel-nav {
  background: var(--cg-glass-bg) !important;
  border-color: var(--cg-orange) !important;
  color: var(--cg-blue) !important;
}

body.cg-site .uc-carousel-container .uc-carousel-nav:hover:not(:disabled) {
  background: var(--cg-orange) !important;
  color: var(--cg-white) !important;
  border-color: var(--cg-orange-dark) !important;
}

/* Carrusel vars inline del bloque */
body.cg-site .sigma-project-carousel {
  --uc-carousel-nav-bg: var(--cg-orange);
  --uc-carousel-nav-border-color: var(--cg-white);
  --uc-carousel-nav-color: var(--cg-white);
  --uc-dot-active-color: var(--cg-orange);
  --uc-dot-inactive-color: #cbd5e1;
}

/* Hero vídeo: borde recto abajo para unir con la marquee */
body.cg-site .sigma-hero-video-layer,
body.cg-site .sigma-hero.sigma-hero--video::after {
  border-radius: 0 !important;
}

/* ── Escritorio: alineación editorial (anula centrado móvil de Sigma) ── */
@media (min-width: 782px) {
  body.cg-site #sigma-main-content .wp-block-buttons.is-layout-flex,
  body.cg-site #sigma-main-content .is-layout-flex:not(.sigma-hero-actions) {
    justify-content: flex-start !important;
    align-items: stretch !important;
  }

  body.cg-site #sigma-main-content {
    text-align: left;
  }

  body.cg-site .sigma-section-label,
  body.cg-site .sigma-display-title {
    text-align: left;
  }
}

@media (max-width: 781px) {
  body.cg-site .sigma-project-carousel .sigma-carousel-split > .wp-block-column {
    flex-basis: 100% !important;
  }

  body.cg-site #sigma-main-content {
    text-align: center;
  }

  body.cg-site .sigma-section-label,
  body.cg-site .has-text-align-center {
    text-align: center !important;
  }

  body.cg-site #sigma-main-content .wp-block-buttons.is-layout-flex,
  body.cg-site #sigma-main-content .is-layout-flex {
    justify-content: center !important;
  }
}
