
/* =============================
   ISembed - Styles (Merged)
   Source: styles_productos.css + styles_index.css
   Notes:
   - Reordenado por secciones para mantener coherencia.
   - Reglas duplicadas consolidadas (navbar, social, tech-card hovers, etc.).
   - Ajustes móviles para carrusel y productos.
   ============================= */

/* ---------- Root & Base ---------- */
:root{
  --tc-dark:#0b1020;
  --tc-primary:#00e0ff;
  --tc-accent:#7cffc4;
  --tc-ink:#0e1b2a;
  --nav-offset:88px; /* default offset for fixed-top navbar */
}
@media (max-width:991.98px){
  :root{ --nav-offset:96px; }
}
html{ scroll-behavior:smooth; }
:where(header,section,footer)[id]{ scroll-margin-top:calc(var(--nav-offset) + 12px); }

body{
  background:var(--tc-dark);
  color:#e6f2ff;
  overflow-x:hidden;
}

/* ---------- Navbar ---------- */
.navbar-custom{
  transition:transform .35s ease,background-color .35s ease,box-shadow .35s ease;
  background:rgba(7,12,28,.55);
  backdrop-filter:blur(10px);
  box-shadow:0 0 0 rgba(0,0,0,0);
  transform:translateY(0);
}
.navbar-custom.show{ transform:translateY(0); }
.navbar-brand span{
  background:linear-gradient(90deg,var(--tc-primary),var(--tc-accent));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  font-weight:800;
  letter-spacing:.5px;
}
/* Brand image sizing */
.navbar-brand img.logo-brand{ height:28px; width:auto; display:block; }
@media (min-width:992px){
  .navbar-brand img.logo-brand{ height:32px; }
}

/* ---------- HERO / Carousel ---------- */
header#home .carousel,
header#home .carousel-inner,
header#home .carousel-item{ height:min(78vh,820px); }

header#home .carousel-item img{
  object-fit:cover; width:100%; height:100%;
  filter:contrast(1.05) saturate(1.1);
}

/* Generic carousel item images (outside #home, e.g., cards) */
.carousel-item img{
  width:100%;
  height:auto;
  object-fit:cover;
}

/* Mobile adjustments for HERO to avoid cropping */
@media (max-width:768px){
  header#home .carousel,
  header#home .carousel-inner,
  header#home .carousel-item{
    height:auto !important;
    min-height:0 !important;
  }
  header#home .carousel-item img{
    width:100%;
    height:auto !important;
    object-fit:contain !important;
    background:#0b1020; /* blend “bars” with site bg */
  }
}

/* Caption blur card */
.caption-blur{
  background:rgba(7,12,28,.35);
  backdrop-filter:blur(6px);
  border:1px solid rgba(124,255,196,.25);
  border-radius:1rem;
}

/* ---------- Section backgrounds ---------- */
.section-light{ background:#f6fbff; color:#0f2235; }
.section-image{
  position:relative; background:#07121c; color:#e6f2ff; isolation:isolate;
}
.section-image::before{
  content:""; position:absolute; inset:0; z-index:-1;
  background:
    radial-gradient(900px 400px at 85% -10%, rgba(0,224,255,.18), transparent 60%),
    radial-gradient(900px 400px at 10% 110%, rgba(124,255,196,.14), transparent 60%),
    url('https://isembed.com.mx/images/slider/fondo1.jpg?q=80&w=1600&auto=format&fit=crop');
  background-size:cover,cover,cover;
  background-repeat:no-repeat;
  background-position:center;
  opacity:.25;
  mix-blend-mode:screen;
}

/* Circuits backgrounds (shared variants) */
.section-circuits-dark{
  position:relative; background:#0a1422; color:#e6f2ff; isolation:isolate;
}
.section-circuits-dark::before{
  content:""; position:absolute; inset:0; z-index:-1;
  background:
    linear-gradient(0deg, rgba(6,10,22,.88), rgba(6,10,22,.92)),
    radial-gradient(900px 360px at 80% -10%, rgba(0,224,255,.16), transparent 60%),
    radial-gradient(900px 360px at 20% 110%, rgba(124,255,196,.12), transparent 60%),
    url('https://images.unsplash.com/photo-1541701494587-cb58502866ab?q=80&w=1600&auto=format&fit=crop');
  background-size:cover,cover,cover,cover;
  background-position:center;
  opacity:1;
  mix-blend-mode:normal;
}
.section-circuits-dark .btn-outline-dark{ color:#e6f2ff; border-color:#e6f2ff; }
.section-circuits-dark .btn-outline-dark:hover{ background:#e6f2ff; color:#0b1020; }

.section-circuits-dim{
  position:relative; background:#0d1726; color:#e9f3ff; isolation:isolate;
}
.section-circuits-dim::before{
  content:""; position:absolute; inset:0; z-index:-1;
  background:
    linear-gradient(0deg, rgba(13,23,38,.86), rgba(13,23,38,.86)),
    radial-gradient(900px 360px at 85% -10%, rgba(0,224,255,.12), transparent 60%),
    radial-gradient(900px 360px at 10% 110%, rgba(124,255,196,.10), transparent 60%),
    url('https://images.unsplash.com/photo-1518779578993-ec3579fee39f?q=80&w=1600&auto=format&fit=crop');
  background-size:cover,cover,cover,cover;
  background-position:center;
  opacity:1;
}
.section-circuits-dim .btn-outline-dark{ color:#e9f3ff; border-color:#e9f3ff; }
.section-circuits-dim .btn-outline-dark:hover{ background:#e9f3ff; color:#0b1020; }

.section-circuits-soft{
  position:relative; background:#f5fbff; color:#0f2235; isolation:isolate;
}
.section-circuits-soft::before{
  content:""; position:absolute; inset:0; z-index:-1;
  background:
    /* sin imagen: color + gradientes sutiles */
    linear-gradient(0deg, rgba(255,255,255,.96), rgba(255,255,255,.96)),
    linear-gradient(135deg, rgba(0,224,255,.10) 0%, rgba(0,224,255,0) 45%),
    linear-gradient(225deg, rgba(124,255,196,.08) 0%, rgba(124,255,196,0) 50%),
    #E9F3FF;
  background-size:cover;
  background-position:center;
  opacity:1;
}

/* ---------- Cards ---------- */
.tech-card{
  background:rgba(12,18,40,.6);
  border:1px solid rgba(0,224,255,.2);
  border-radius:1rem;
  transition:transform .3s ease, box-shadow .3s ease, border-color .25s ease;
}
.tech-card:hover{
  transform:translateY(-6px) scale(1.02);
  box-shadow:0 16px 40px rgba(0,0,0,.45);
  border-color:var(--tc-primary);
}
.section-light .tech-card{ background:#fff; color:#0f2235; border-color:rgba(0,0,0,.08); }
.section-light .tech-card:hover{ border-color:#8bdcf1; box-shadow:0 16px 40px rgba(13,42,68,.12); }

/* Services variant */
.service-icon{ color:#FAB702; }
.tech-card.service-card{ transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.tech-card.service-card:hover{
  transform:translateY(-6px) scale(1.015);
  box-shadow:0 18px 48px rgba(0,0,0,.35), 0 0 0 1px rgba(250,183,2,.35), 0 10px 24px rgba(250,183,2,.15) inset;
  border-color:#FAB702;
}
.icon-accent{ color:#FAB702 !important; }

/* ---------- Products (grid + detail) ---------- */
.product-card{ cursor:pointer; border-color:rgba(0,0,0,.08); background:#fff; color:#0f2235; }
.product-card:hover{ border-color:#FAB702; box-shadow:0 16px 40px rgba(13,42,68,.12), 0 0 0 1px rgba(250,183,2,.25); }

.section-light .product-card{ background:#fff; }
#product-details .product-detail-card{ background:#fff; color:#0f2235; border:1px solid rgba(0,0,0,.08); }
#product-details ul{ margin-bottom:0; }

/* Products carousel on mobile */
#productsCarousel .carousel-item{ padding:0 1rem 1rem; }
#productsCarousel .product-card{ max-width:520px; margin-left:auto; margin-right:auto; }

/* ---------- Clients ---------- */
.client-logos{ display:grid; grid-template-columns:repeat(2,1fr); gap:1.25rem; }
@media (min-width:576px){ .client-logos{ grid-template-columns:repeat(3,1fr); } }
@media (min-width:992px){ .client-logos{ grid-template-columns:repeat(6,1fr); } }
.client-logo{
  background:#ffffff;
  border-radius:.85rem;
  border:1px solid rgba(0,0,0,.08);
  display:flex; align-items:center; justify-content:center;
  height:var(--logo-box-h,96px);
  padding:12px 16px;
  transition:box-shadow .2s ease, border-color .2s ease, transform .2s ease;
  cursor:pointer;
  overflow:hidden;
}
.client-logo:hover{
  border-color:#FAB702;
  box-shadow:0 12px 28px rgba(0,0,0,.12), 0 0 0 1px rgba(250,183,2,.25);
  transform:translateY(-3px);
}
.client-logo img{
  max-height:calc(var(--logo-box-h,96px) - 24px);
  width:auto; object-fit:contain;
  filter:grayscale(1) contrast(1) opacity(.9);
  transform:scale(.92);
  transition:transform .22s ease, filter .22s ease, opacity .22s ease;
  will-change:transform;
}
.client-logo:hover img{ transform:scale(1); filter:grayscale(0) contrast(1.05) opacity(1); }

/* Clients ticker (scoped to #clients) */
#clients .clients-ticker{
  position:relative; overflow:hidden;
  -webkit-mask-image:linear-gradient(to right, transparent 0, black 8%, black 92%, transparent 100%);
          mask-image:linear-gradient(to right, transparent 0, black 8%, black 92%, transparent 100%);
}
#clients .clients-track{
  display:flex; align-items:stretch; width:max-content;
  animation:clientsScroll 28s linear infinite;
  will-change:transform; backface-visibility:hidden;
  gap:0;
}
#clients .clients-seq{ display:flex; flex:0 0 auto; gap:var(--logo-gap,1.25rem); }
#clients .clients-ticker:hover .clients-track{ animation-play-state:paused; }
@keyframes clientsScroll{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
@media (prefers-reduced-motion: reduce){
  #clients .clients-track{ animation-duration:0s; backface-visibility:hidden; transform:translateZ(0); gap:0; }
}
#clients.section-circuits{ position:relative; background:#f6fbff; color:#0f2235; }
#clients.section-circuits::before{
  content:""; position:absolute; inset:0; z-index:0;
  background:
    linear-gradient(0deg, rgba(255,255,255,.92), rgba(255,255,255,.96)),
    url('https://images.unsplash.com/photo-1518770660439-4636190af475?q=80&w=1600&auto=format&fit=crop');
  background-size:cover; background-position:center; opacity:1;
}
#clients.section-circuits .container{ position:relative; z-index:1; }
#clients .ticker-item{ flex:0 0 var(--logo-tile-w,220px); }
#clients .clients-track, #clients .client-logo{ backface-visibility:hidden; transform:translateZ(0); }
#clients .clients-seq::after{ content:""; display:block; }

/* ---------- Testimonials ---------- */
.testimonial-card{
  background:rgba(12,18,40,.6);
  border:1px solid rgba(0,224,255,.2);
  border-radius:1rem;
  padding:1.25rem;
  height:100%;
}
.testimonial-quote{ font-style:italic; }
.testimonial-author{ opacity:.9; }
#testimonials .testimonial-carousel .carousel-item{ transition:transform .6s ease-in-out; }
#testimonials .testimonial-card{ max-width:720px; margin-left:auto; margin-right:auto; }
@media (min-width:992px){
  #testimonials .testimonial-card{ max-width:860px; }
}

/* ---------- Utilities / Misc ---------- */
#backToTop{
  position:fixed; right:18px; bottom:18px; z-index:1050; display:none;
  border-radius:999px; box-shadow:0 10px 24px rgba(0,0,0,.35);
}
footer{ border-top:1px dashed rgba(0,224,255,.25); color:#cfe8ff; }
.footer-top{ padding-top:3rem; padding-bottom:2rem; }
.footer-top h5{ font-weight:700; margin-bottom:.75rem; }
.footer-link{ color:inherit; text-decoration:none; opacity:.9; }
.footer-link:hover{ text-decoration:underline; opacity:1; }
.footer-logo{ font-weight:800; letter-spacing:.5px; }

/* Social (single consolidated set) */
.social a{
  display:inline-flex; align-items:center; justify-content:center;
  width:40px; height:40px; border-radius:50%;
  color:#FAB702; border:1px solid #333; background:transparent;
  margin-right:.5rem; text-decoration:none;
}
.social a i{ color:#FAB702; }
.social a:hover{ background:#FAB702; color:#0b1020; border-color:#FAB702; }
.social a:hover i{ color:#0b1020; }

.footer-bottom{ border-top:1px dashed rgba(0,224,255,.25); padding-top:1rem; padding-bottom:1rem; }

/* WhatsApp floating button */
.wa-float{
  position:fixed; right:18px; bottom:78px; z-index:1060;
  width:56px; height:56px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:#25D366; color:#fff; box-shadow:0 10px 24px rgba(0,0,0,.35);
  text-decoration:none;
}
.wa-float:hover{ filter:brightness(1.06); }

/* Contact form specifics */
.honeypot{
  position:absolute !important; left:-10000px !important; top:auto !important;
  width:1px !important; height:1px !important; overflow:hidden;
}

.footer-logo img {
  max-width: 180px; /* tamaño máximo en desktop */
  height: auto;
  display: block;
  margin: 0 auto;
}

@media (max-width: 768px) {
  .footer-logo img {
    max-width: 140px; /* tablet */
  }
}

@media (max-width: 480px) {
  .footer-logo img {
    max-width: 120px; /* móvil */
  }
}