/* Reset básico */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
body {
  font-family: Arial, sans-serif;
  color: #f4f4f4;
  background: #0c1a24;
  line-height: 1.6;
}
a {
  text-decoration: none;
  color: inherit;
}

/* Containers */
.container {
  width: 90%;
  max-width: 1200px;
 
  margin: auto;
}

/* Header */
.header {
  background: #0c1a24;

  border-bottom: 2px solid #ff8c00;
}
.nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 8px 0;
}
.logo img {
  height: 68px;             /* ajusta a tu gusto: 100–140px */
  max-height: 18vh;          /* evita desbordes en pantallas bajas */
  
}

.menu a {
  margin: 0;               /* ya tienes gap en el contenedor */
  font-weight: bold;
  padding: 8px 6px;        /* área clicável */
  border-radius: 4px
}

.menu a:hover {
  background: rgba(255,255,255,0.05);
}   


.btn {
  background: #ff8c00;
  padding: 10px 20px;
  border-radius: 5px;
  color: #fff;
  transition: 0.3s;
}
.btn:hover {
  background: #e67800;
}

/* Hero */
.hero {
  background: url("../img/hero_Hs.png") center/cover no-repeat;
  height: 100vh;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.hero .overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
}
.hero-content {
  position: relative;
  color: #fff;
}
.hero h1 {
  font-size: 3rem;
}
.hero p {
  font-size: 1.2rem;
  margin: 10px 0;
}
.hero .sub {
  font-size: 1rem;
  margin-bottom: 25px;
  opacity: 0.9;
}

/* Sobre */
.sobre {
  padding: 60px 0;
}
.sobre-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.sobre-grid img {
  width: 100%;
  border-radius: 10px;
}

/* Serviços */
.servicos {
  background: #ff8c00;
  color: #fff;
  padding: 60px 0;
  text-align: center;
}
.grid-servicos {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 20px;
  margin-top: 30px;
}
.card {
  background: #0c1a24;
  padding: 20px;
  border-radius: 10px;
}
.card img {
  width: 100%;
  border-radius: 10px;
}

/* Testemunhos */
.testemunhos {
  padding: 60px 0;
  text-align: center;
}
.carousel {
  position: relative;
  overflow: hidden;
}
.carousel-track {
  display:flex;
  transition: transform 0.5s ease;
}
.testimonial {
  min-width: 100%;
  padding: 20px;
  background: #132733;
  border-radius: 10px;
}
.testimonial img {
  max-width: 120px;   /* limite de largura */
  height: auto;       /* mantém proporção */
  border-radius: 8px; /* opcional */
  display: block;
  margin: 0 auto 10px;/* centraliza acima do texto */
}
.prev,
.next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: #ff8c00;
  border: none;
  color: #fff;
  padding: 10px;
  cursor: pointer;
}
.prev {
  left: 10px;
}
.next {
  right: 10px;
}

/* CTA */
.cta {
  background: #ff8c00;
  color: #fff;
  text-align: center;
  padding: 40px 20px;
}
.cta h2 {
  margin-bottom: 20px;
}

/* Footer */
.footer {
  background: #0c1a24;
  color: #ccc;
  padding: 20px;
  text-align: center;
}

/*----------------sobre nos------------*/

/* Hero interno */
.hero-interno {
  background: url("../img/hero-sobre.jpg") center/cover no-repeat;
  height: 40vh;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.hero-interno .overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
}
.hero-interno .hero-content {
  position: relative;
  color: #fff;
}
.hero-interno h1 {
  font-size: 2.5rem;
}
.hero-interno p {
  font-size: 1.2rem;
}

/* Sobre Page */
.sobre-page {
  padding: 60px 0;
}
.grid-sobre-page {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  align-items: center;
  margin-bottom: 50px;
}
.grid-sobre-page img {
  width: 100%;
  border-radius: 10px;
}
.valores {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 20px;
}
.valor {
  background: #132733;
  padding: 20px;
  border-radius: 10px;
}
.valor h3 {
  color: #ff8c00;
  margin-bottom: 10px;
}
.valor ul {
  list-style: disc;
  padding-left: 20px;
}

/* ----------------Serviços Page----------------------------- */
.servicos-page {
  padding: 60px 0;
}
.grid-servicos {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 30px;
}
.servico-card {
  background: #132733;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
  transition: transform 0.3s;
}
.servico-card:hover {
  transform: translateY(-5px);
}
.servico-card img {
  width: 100%;
  height: 180px;
  object-fit: cover;
}
.servico-card h3 {
  color: #ff8c00;
  margin: 15px;
}
.servico-card p {
  margin: 0 15px 20px;
  color: #ddd;
}

/*------------------- Planos Page -------------------*/
.planos-page {
  padding: 60px 0;
}
.grid-planos {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 30px;
  align-items: stretch;
}
.plano-card {
  background: #132733;
  border-radius: 12px;
  padding: 30px 20px;
  text-align: center;
  color: #fff;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.25);
  transition: transform 0.3s;
}
.plano-card:hover {
  transform: translateY(-8px);
}
.plano-card h3 {
  font-size: 1.4rem;
  color: #ff8c00;
  margin-bottom: 10px;
}
.plano-card .preco {
  font-size: 1.8rem;
  font-weight: bold;
  margin: 15px 0;
}
.plano-card ul {
  text-align: left;
  margin: 20px 0;
  padding-left: 20px;
}
.plano-card ul li {
  margin-bottom: 10px;
}
.plano-card a.btn {
  display: inline-block;
  margin-top: 15px;
}
.plano-card.destaque {
  border: 2px solid #ff8c00;
  transform: scale(1.05);
}

/*------------------- Loja Page -------------------------------*/
.loja-page {
  padding: 60px 0;
}
.filtros {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 30px;
  flex-wrap: wrap;
  gap: 10px;
}
.filtro-btn {
  background: #132733;
  color: #fff;
  border: 1px solid #ff8c00;
  padding: 8px 16px;
  border-radius: 8px;
  cursor: pointer;
  transition: 0.3s;
}
.filtro-btn.active,
.filtro-btn:hover {
  background: #ff8c00;
  color: #132733;
}
.carrinho {
  font-weight: bold;
  font-size: 1rem;
}
.grid-loja {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 25px;
}
.item {
  background: #132733;
  border-radius: 10px;
  padding: 20px;
  text-align: center;
  color: #fff;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.25);
  transition: transform 0.3s;
}
.item:hover {
  transform: translateY(-5px);
}
.item img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  border-radius: 6px;
  margin-bottom: 15px;
}
.item h3 {
  margin-bottom: 10px;
  font-size: 1.2rem;
}
.item .preco {
  font-size: 1.3rem;
  font-weight: bold;
  color: #ff8c00;
  margin-bottom: 15px;
}

/*-------------------------- Checkout -------------------------------------*/
.checkout {
  padding: 60px 0;
}
.grid-checkout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
}
.resumo-carrinho {
  background: #132733;
  padding: 20px;
  border-radius: 10px;
  color: #fff;
}
.resumo-carrinho ul {
  list-style: none;
  padding: 0;
  margin: 0 0 15px 0;
}
.resumo-carrinho li {
  display: flex;
  justify-content: space-between;
  margin-bottom: 10px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  padding-bottom: 8px;
}
.resumo-carrinho .total {
  font-size: 1.2rem;
  font-weight: bold;
  color: #ff8c00;
}
.checkout-form {
  background: #f8f8f8;
  padding: 20px;
  border-radius: 10px;
}
.checkout-form form {
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.checkout-form label {
  font-weight: bold;
}
.checkout-form input,
.checkout-form select {
  padding: 10px;
  border: 1px solid #ddd;
  border-radius: 6px;
}

/*--------------------- Contato -------------------------*/
.contato {
  padding: 60px 0;
}
.grid-contato {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
}
.contato-form,
.contato-info {
  background: #f8f8f8;
  padding: 20px;
  border-radius: 10px;
  color: #ff8c00;
}
.contato-form form {
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.contato-form label {
  font-weight: bold;
  color: #ff8c00;
}
.contato-form input,
.contato-form textarea {
  padding: 10px;
  border: 1px solid #ddd;
  border-radius: 6px;
}
.contato-info p {
  margin: 10px 0;
}
.contato-info a {
  color: #ff8c00;
  text-decoration: none;
}
.mapa {
  margin-top: 20px;
  border-radius: 10px;
  overflow: hidden;
}



/* ==============================
   RESPONSIVIDADE
   ============================== */

/* Menu normal (desktop) */
.menu {
  display: flex;
  gap: 18px;
  align-items: center;
  
}



/* Botón hamburguer escondido en desktop */
.menu-toggle {
  display: none;
  cursor: pointer;
  font-size: 1.8rem;
  color: #fff;
  background: none;
  border: none;
  padding: 6px 10px;
}

/* Responsive para móviles */
@media (max-width: 768px) {

  .logo img {
    height: 53px;
  }

  .menu-toggle {
    display: block;
    font-size: 2rem;
    color: #fff;
    background: none;
    border: none;
    padding: 6px 10px;
    
  }


  .menu {
   position: absolute;
    top: 100%;                   /* justo debajo del header */
    left: 0;
    right: 0;
    display: none;               /* escondido por defecto */
    flex-direction: column;
    gap: 0;
    background: #0c1a24;
    border-top: 1px solid rgba(255,255,255,0.08);
    padding: 8px 0;
    z-index: 100;                /* por encima del contenido */
  }

  .menu.open {
    display: flex;              /* aparece al hacer click */
  }

.menu a {
    padding: 12px 20px;
    width: 100%;
    border-radius: 0;
    border-bottom: 1px solid rgba(255,255,255,0.06);
  }

  /* Asegura que el header sea posicionador del dropdown */
  .header .nav {
    position: relative;
  }

  .sobre-grid {
    grid-template-columns: 1fr; /* apilar en una sola columna */
    text-align: center;         /* centra los textos en mobile */
  }

  .sobre-grid img {
    max-width: 300px;  /* para que la imagen no se haga gigante */
    margin: 0 auto;    /* centra la imagen */
  }
 
  .grid-checkout,
  .grid-sobre-page,
  .grid-contato {
    grid-template-columns: 1fr; /* una columna en mobile */
  }

  .grid-servicos,
  .grid-planos,
  .grid-loja {
    grid-template-columns: 1fr; /* mismo fix si quieres full ancho */
  }


}


/*----------------------------------------------------------------*/

/* Onde estamos */
.onde-estamos { padding: 60px 0; }
.grid-mapa {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  align-items: start;
}
.onde-estamos .endereco h3 { color: #ff8c00; margin-bottom: 10px; }


/* Por que nos escolher */
.porque { padding: 60px 0; background: #132733; }
.grid-porque {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 20px;
}
.porque-item {
  background: #0c1a24;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 10px;
  padding: 20px;
}
.porque-item h3 { color: #ff8c00; margin-bottom: 8px; }

/* Marcas */
.marcas { padding: 60px 0; text-align: center; }
.lista-marcas {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 12px;
  margin-top: 20px;
  list-style: none;
}
.lista-marcas li {
  background: #132733;
  border-radius: 8px;
  padding: 12px;
  border: 1px solid rgba(255,255,255,0.08);
}

/* FAQ */
.faq { padding: 60px 0; }
.accordion { display: grid; gap: 12px; }
.faq-item { background: #132733; border-radius: 8px; overflow: hidden; }
.faq-pergunta {
  width: 100%;
  text-align: left;
  padding: 16px 18px;
  background: #132733;
  color: #fff;
  border: none;
  cursor: pointer;
  font-weight: bold;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.faq-pergunta:focus { outline: 2px dashed #ff8c00; outline-offset: 2px; }
.faq-resposta {
  display: none;
  padding: 16px 18px;
  color: #ddd;
}
.faq-item.open .faq-resposta { display: block; }

/* Portfólio */
.portfolio { padding: 60px 0; }
.portfolio-carousel {
  position: relative;
  overflow: hidden;
  border-radius: 10px;
  background: #132733;
}
.portfolio-track {
  display: flex;
  transition: transform 0.5s ease;
}
.portfolio-track img {
  width: 100%;
  max-height: 800px;
  object-fit: cover;
  flex: 0 0 100%;
}
.pf-prev, .pf-next {
  position: absolute; top: 50%; transform: translateY(-50%);
  background: rgba(0,0,0,0.5); border: none; color: #fff;
  padding: 10px 14px; cursor: pointer; border-radius: 6px;
}
.pf-prev { left: 10px; }
.pf-next { right: 10px; }

/* Novidades da loja */
.novidades { padding: 60px 0; background: #132733; }
.novidades-sub { color: #ccc; margin-top: 6px; }
.grid-novidades {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 20px; margin-top: 25px;
}
.nv-card {
  background: #0c1a24; border-radius: 10px; padding: 16px;
  border: 1px solid rgba(255,255,255,0.08);
  transition: transform .3s;
}
.nv-card:hover { transform: translateY(-4px); }
.nv-card img { width: 100%; height: 160px; object-fit: cover; border-radius: 6px; margin-bottom: 10px; }
.nv-card .preco { color: #ff8c00; font-weight: bold; margin: 6px 0 10px; }

/* Botão flutuante WhatsApp */
.whatsapp-float {
  position: fixed;
  right: 16px;
  bottom: 16px;
  width: 56px; height: 56px;
  border-radius: 50%;
  box-shadow: 0 6px 16px rgba(0,0,0,0.4);
  background: #25D366;
  display: grid; place-items: center;
  z-index: 1000;
}
.whatsapp-float img { width: 30px; height: 30px; filter: invert(1); }

/* Responsivo das novas seções */
@media (max-width: 768px) {
  .grid-mapa { grid-template-columns: 1fr; }
}

/* Footer profissional */
.site-footer {
  background: #0b1620;
  color: #cfd8dc;
  margin-top: 40px;
  border-top: 2px solid #ff8c00;
}

.footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1.4fr;
  gap: 30px;
  padding: 40px 0;
}

.footer-logo img {
  height: 70px;                 /* puedes subir a 90 si quieres */
  display: block;
  margin-bottom: 12px;
}

.site-footer h4 {
  color: #ffffff;
  margin-bottom: 12px;
  font-size: 1rem;
}

.site-footer p {
  color: #b0bec5;
  font-size: 0.95rem;
}

.site-footer ul {
  list-style: none;
}

.site-footer a {
  color: #e6f0f3;
}

.site-footer a:hover {
  color: #ffb566;
}

.footer-nav ul li,
.footer-servicos ul li,
.footer-contato ul li {
  margin-bottom: 8px;
}

.footer-contato .btn-mini {
  display: inline-block;
  background: #ff8c00;
  color: #0c1a24;
  padding: 6px 10px;
  border-radius: 6px;
  font-size: 0.85rem;
}

.footer-contato .btn-mini:hover {
  background: #e67800;
  color: #fff;
}

/* Redes (si agregas iconos) */
.social {
  display: flex;
  gap: 10px;
  margin-top: 10px;
}
.social a {
  width: 32px; height: 32px;
  display: grid; place-items: center;
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: 50%;
}

/* Barra inferior */
.footer-bottom {
  border-top: 1px solid rgba(255,255,255,0.08);
  background: #0a141c;
  padding: 12px 0;
  font-size: 0.92rem;
  color: #a7b5bd;
}
.footer-bottom-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
}
.legal-links {
  display: flex;
  gap: 14px;
}
.byline {
  margin-left: auto;
  color: #90a4ae;
}

/* Responsive footer */
@media (max-width: 992px) {
  .footer-grid {
    grid-template-columns: 1.6fr 1fr 1fr;
  }
}

@media (max-width: 768px) {
  .footer-grid {
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 28px 0;
  }
  .footer-bottom-wrap {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
  .byline {
    margin-left: 0;
  }
}


/* Páginas Legais (privacidade, termos, cookies) */
.legal {
  padding: 60px 0;
}
.legal .breadcrumbs {
  font-size: 0.9rem;
  color: #90a4ae;
  margin-bottom: 14px;
}
.legal .breadcrumbs a {
  color: #ffb566;
}
.legal h1 {
  margin-bottom: 12px;
}
.legal h2 {
  margin-top: 28px;
  margin-bottom: 10px;
  color: #ff8c00;
}
.legal p, .legal li {
  color: #cfd8dc;
}
.legal ul {
  padding-left: 20px;
}

/* Tabla de cookies */
.cookie-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 10px;
}
.cookie-table th, .cookie-table td {
  border: 1px solid rgba(255,255,255,0.12);
  padding: 8px;
  text-align: left;
}
.cookie-table th {
  background: #132733;
}


/* Submenu Serviços */
.menu-dropdown { position: relative; }
.menu-dropdown > a { display: inline-block; }
.submenu {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 240px;
  background: #0c1a24;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 8px;
  padding: 8px 0;
  display: none;
  z-index: 200;
}
.submenu a {
  display: block;
  padding: 10px 16px;
  border-radius: 0;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.submenu a:last-child { border-bottom: none; }
.menu-dropdown:hover .submenu { display: block; }

/* Mobile: el submenu cae dentro del dropdown vertical */
@media (max-width: 768px) {
  .menu-dropdown { width: 100%; }
  .submenu {
    position: static;
    border: none;
    border-top: 1px solid rgba(255,255,255,0.08);
    border-radius: 0;
    display: none;
    padding: 0;
  }
  .menu-dropdown.open .submenu { display: block; }
  /* Permitir abrir/cerrar tocando “Serviços” en mobile */
  .menu-dropdown > a { width: 100%; }
  
}

@media (max-width: 768px) {
  .menu-dropdown .submenu {
    max-height: 0;
    overflow: hidden;
    transition: max-height .25s ease;
    border-top: 1px solid rgba(255,255,255,0.08);
  }
  .menu-dropdown.open .submenu {
    max-height: 600px;
  }
}


/* Catálogo de serviços (cards) */
.catalogo-servicos .grid-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  padding: 36px 0;
}
.card-servico {
  background: #0e1b25;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 12px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s;
}
.card-servico:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 22px rgba(0,0,0,0.25);
  border-color: rgba(255,255,255,0.16);
}
.card-servico img {
  width: 100%;
  height: 180px;
  object-fit: cover;
}
.card-servico .card-body {
  padding: 14px 16px 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.card-servico h3 { margin: 0; font-size: 1.05rem; }
.card-servico p { color: #b0bec5; font-size: .95rem; }
.card-servico .bullets {
  margin: 4px 0 6px;
  padding-left: 18px;
}
.card-servico .bullets li {
  color: #c9d6dc;
  margin-bottom: 4px;
  list-style: disc;
}
.card-price {
  display: flex; align-items: baseline; gap: 6px;
}
.card-price .from { color: #90a4ae; font-size: .85rem; }
.card-price strong { font-size: 1.1rem; color: #fff; }
.card-actions { display: flex; gap: 10px; margin-top: 8px; }
.card-actions .btn-sec {
  background: transparent;
  border: 1px solid rgba(255,255,255,0.2);
  color: #e6f0f3;
  padding: 8px 12px; border-radius: 8px;
}
.card-actions .btn-sec:hover { background: rgba(255,255,255,0.06); }
@media (max-width: 992px) {
  .catalogo-servicos .grid-cards { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .catalogo-servicos .grid-cards { grid-template-columns: 1fr; }
  .card-servico img { height: 160px; }
}

/* Produto/Serviço detalhe */
.product-hero { padding: 28px 0 8px; }
.product-wrap {
  display: grid; grid-template-columns: 1.1fr 1.2fr; gap: 24px; align-items: start;
}
.product-img { width: 100%; height: 320px; object-fit: cover; border-radius: 12px; }
.product-info .price { font-size: 1.6rem; margin: 8px 0 12px; }
.product-ctas { display: flex; gap: 10px; margin-bottom: 12px; }
.product-ctas .btn-sec {
  background: transparent; border: 1px solid rgba(255,255,255,0.2); color: #e6f0f3; padding: 8px 12px; border-radius: 8px;
}
.product-bullets { padding-left: 18px; }
.product-main { padding: 18px 0 40px; }
.product-grid { display: grid; grid-template-columns: 2fr 1fr; gap: 24px; }
.product-aside .box {
  background: #0e1b25; border: 1px solid rgba(255,255,255,0.08); border-radius: 12px; padding: 14px; margin-bottom: 14px;
}
@media (max-width: 992px) {
  .product-wrap { grid-template-columns: 1fr; }
  .product-img { height: 260px; }
  .product-grid { grid-template-columns: 1fr; }
}

/* Seções tipo produto (inspirado na referência) */
.section-lite { padding: 18px 0 10px; }
.section-rich { padding: 26px 0; }

.steps, .benefits, .tech-grid, .includes-grid, .excludes-grid {
  display: grid;
  gap: 16px;
}
.steps { grid-template-columns: repeat(3, minmax(0,1fr)); }
.benefits { grid-template-columns: repeat(2, minmax(0,1fr)); }
.tech-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
.includes-grid, .excludes-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }

.info-card {
  background: #0e1b25;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 12px;
  padding: 14px;
}
.info-card h4 { margin: 0 0 6px; font-size: 1rem; }
.info-card p, .info-card li { color: #b0bec5; font-size: .95rem; }

.icon-bullet {
  display: flex; gap: 10px; align-items: flex-start;
}
.icon-bullet .ic {
  width: 28px; height: 28px; border-radius: 8px;
  background: rgba(255,255,255,0.06);
  display: grid; place-items: center; font-weight: 700; color: #ffb566;
}

.notice {
  background: rgba(255, 140, 0, .08);
  border: 1px solid rgba(255, 140, 0, .25);
  color: #ffd9b3;
  padding: 10px 12px; border-radius: 10px;
  font-size: .95rem;
}

.policy-link { display: inline-flex; align-items: center; gap: 8px; }
.policy-link::before {
  content: '📄';
}

.video-embed {
  position: relative; padding-top: 56.25%;
  border-radius: 12px; overflow: hidden; border: 1px solid rgba(255,255,255,0.08);
}
.video-embed iframe {
  position: absolute; inset: 0; width: 100%; height: 100%;
  border: 0;
}

/* Responsivo */
@media (max-width: 992px) {
  .steps { grid-template-columns: 1fr; }
  .benefits { grid-template-columns: 1fr; }
  .tech-grid { grid-template-columns: 1fr 1fr; }
  .includes-grid, .excludes-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .tech-grid, .includes-grid, .excludes-grid { grid-template-columns: 1fr; }
}


/* Legibilidad general en páginas de produto */
.product-main article h2, 
.section-lite h2, 
.section-rich h2 { margin: 18px 0 10px; }
.product-main article h3 { margin: 16px 0 8px; }
.product-main p, 
.product-main li { color: #cfd8dc; }

/* Lista con iconos */
.icon-list { display: grid; gap: 8px; margin: 8px 0 14px; }
.icon-item { display: grid; grid-template-columns: 28px 1fr; align-items: start; gap: 10px; }
.icon-item .ic {
  width: 28px; height: 28px; border-radius: 8px;
  background: rgba(255,255,255,0.06);
  display: grid; place-items: center;
  color: #ffb566; font-weight: 700; font-size: 0.95rem;
}

/* Variantes de iconos (puedes cambiar por SVG cuando quieras) */
.ic.especific { content: '⚙'; }
.ic.include { content: '✔'; }
.ic.exclude { content: '✖'; }
.ic.req { content: '⚠'; }
.ic.faq { content: '❓'; }

/* Info cards ya usadas: mejorar contraste y hover sutil */
.info-card {
  background: #0e1b25;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 12px;
  padding: 14px;
}
.info-card:hover { border-color: rgba(255,255,255,0.16); }

/* Grid lateral y bloques */
.product-grid { display: grid; grid-template-columns: 2fr 1fr; gap: 24px; }
.product-aside .box {
  background: #0e1b25; border: 1px solid rgba(255,255,255,0.08);
  border-radius: 12px; padding: 14px; margin-bottom: 14px;
}

/* Separadores suaves entre secciones largas */
.section-divider { height: 1px; background: rgba(255,255,255,0.08); margin: 18px 0; }

/* Mejores listas dentro de article para no verse "apelmazadas" */
.product-main article ul { padding-left: 18px; margin: 6px 0 12px; }
.product-main details { background: #0e1b25; border: 1px solid rgba(255,255,255,0.08); border-radius: 10px; padding: 10px 12px; margin-bottom: 10px; }
.product-main details summary { cursor: pointer; }

/* Responsivo */
@media (max-width: 992px) {
  .product-grid { grid-template-columns: 1fr; }
}


.servicos .servicos-actions {
  margin-top: 16px;
  display: flex;
  justify-content: center;   /* mude para flex-start ou flex-end se preferir */
}

.btn.ver-todos {
  display: inline-block;
  padding: 10px 16px;
  border-radius: 10px;
  background: #183242;      /* ajuste às suas cores do tema */
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  border: 1px solid rgba(255,255,255,0.08);
}
.btn.ver-todos:hover { filter: brightness(1.2); }

.under-construction {
  min-height: 60vh;
  display: grid;
  place-items: center;
  padding: 40px 16px;
  text-align: center;
  background: #0e1b25;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 12px;
  margin: 24px auto;
  max-width: 940px;
}
.uc-wrap { max-width: 620px; }
.uc-icon { font-size: 48px; margin-bottom: 10px; }
.under-construction h1 { margin: 6px 0 6px; }
.under-construction p { color: #cfd8dc; margin-bottom: 16px; }

.uc-actions {
  display: flex; gap: 10px; justify-content: center; flex-wrap: wrap;
}
.under-construction .btn {
  display: inline-block; padding: 10px 16px; border-radius: 10px;
  background: #ff7f32; color: #0b1620; font-weight: 700; text-decoration: none;
  border: 1px solid rgba(255,255,255,0.08);
}
.under-construction .btn:hover { filter: brightness(1.05); }
.under-construction .btn-sec {
  display: inline-block; padding: 10px 16px; border-radius: 10px;
  background: transparent; color: #ffb566; text-decoration: none;
  border: 1px solid rgba(255,255,255,0.18);
}
.under-construction .btn-sec:hover { background: rgba(255,255,255,0.06); }
.uc-note { display: block; opacity: 0.8; margin-top: 8px; }