/* ==========================================================================
   Construladesa S.A. — Hoja de estilos independiente
   Incluye todos los estilos personalizados usados en las 7 páginas del sitio
   ========================================================================== */

/* Fondos ambientales */
.ambient-dark-bg {
  background:
    radial-gradient(circle at 20% 20%, rgba(229, 142, 0, .15) 0%, transparent 45%),
    radial-gradient(circle at 80% 80%, rgba(180, 83, 9, .12) 0%, transparent 50%),
    linear-gradient(135deg, #191f28 0%, #11151c 50%, #0d1015 100%);
}
.ambient-light-bg {
  background:
    radial-gradient(circle at 50% 0%, rgba(229, 142, 0, .08) 0%, transparent 50%),
    radial-gradient(circle at 90% 80%, rgba(203, 213, 225, .35) 0%, transparent 40%),
    linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
}
.dark .ambient-light-bg {
  background:
    radial-gradient(circle at 50% 0%, rgba(229, 142, 0, .09) 0%, transparent 50%),
    radial-gradient(circle at 10% 90%, rgba(30, 41, 59, .5) 0%, transparent 50%),
    linear-gradient(180deg, #020617 0%, #0b0f19 100%);
}

/* Superficies de vidrio (glassmorphism) */
.glass-panel {
  background: rgba(39, 46, 56, .85);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(229, 142, 0, .2);
}
.glass-card {
  background: rgba(255, 255, 255, .95);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(203, 213, 225, .8);
}
.dark .glass-card {
  background: rgba(25, 31, 40, .9);
  border-color: rgba(255, 255, 255, .08);
}

/* Botones y acentos */
.accent-gradient { background: linear-gradient(135deg, #e58e00 0%, #d97706 100%); }
.accent-gradient:hover { background: linear-gradient(135deg, #d97706 0%, #b45309 100%); }

/* Contraste de lectura para los pies de página */
footer,
footer * { color: #fff !important; }

/* Texto de lectura */
p,
li {
  text-align: justify;
}

/* Scrollbar personalizado */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #191f28; }
::-webkit-scrollbar-thumb { background: #374151; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #e58e00; }

/* Carrusel del hero (index.html) */
.hero-slide { transition: opacity 1.2s ease-in-out; }
.hero-copy { container-type: inline-size; }

/* Carrusel continuo de logos (index.html) */
.logo-marquee { overflow: hidden; }
.logo-marquee-track { animation: logoMarquee 60s linear infinite; }
.logo-marquee:hover .logo-marquee-track { animation-play-state: paused; }
.logo-boost { min-width: 10rem; }
.logo-boost img { max-height: 3.5rem !important; }
@keyframes logoMarquee {
  to { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
  .logo-marquee-track { animation: none; }
}

/* Visor de imágenes de proyectos */
.projects-page { /*text-transform: uppercase; */}
.projects-page footer span.text-lg.font-extrabold.text-white {
  display: block;
  width: 15rem;
  height: 4rem;
  background: url("LOGOS/LogoCONSTRULADESA4.png") left center / contain no-repeat;
  font-size: 0;
}
dialog.project-modal { border: 0; padding: 0; max-width: none; }
dialog.project-modal:not([open]) { display: none; }
dialog.project-modal[open] { display: flex; }

/* Correcciones de utilidades de degradado (Tailwind) */
.to-brand-900\/80 {
  --tw-gradient-to: rgb(25 31 40 / 0.1) var(--tw-gradient-to-position) !important;
}
.via-brand-900\/95 {
  --tw-gradient-stops: var(--tw-gradient-from), rgb(25 31 40 / 0.1) var(--tw-gradient-via-position), var(--tw-gradient-to) !important;
}
