:root{
  --bg:#030610;
  --bg-dark:#121212;
  --bg-darker:#0a0a0a;
  --card:rgba(13,18,33,0.75);
  --accent:#ffd166;
  --primary:#818cf8;
  --primary2:#9ca6ff;
  --primary-glow:rgba(129,140,248,0.4);
  --text:#ffffff;
  --text-main:#ededed;
  --text-muted:#94a3b8;
  --border:rgba(255,255,255,0.1);
  --dark:#0f172a;
  --radius:14px;
  --header-height:70px;
  --result-header:#181b2b;
  --bg-input-focus:#1a1a1a;
  --fecha-ux:#181b2b00;
  --accent-gradient:linear-gradient(35deg,rgb(179, 184, 248)  75%,#818cf8 100%);
}

  /* ======================================================
     RESET
     ====================================================== */
  
  *,
  *::before,
  *::after{
    box-sizing:border-box;
    margin:0;
    padding:0;
  }
  
  html{
    scroll-behavior:smooth;
  }
  
  body{
  
    font-family:'Plus Jakarta Sans',sans-serif;
  
    background:var(--bg);
  
    background-image:
    radial-gradient(circle at 0% 0%, rgba(129,140,248,0.08) 0%, transparent 40%),
    radial-gradient(circle at 100% 100%, rgba(192,132,252,0.08) 0%, transparent 40%);
  
    color:var(--text);
  
    line-height:1.6;
  
    -webkit-font-smoothing:antialiased;
  
    padding-top:var(--header-height);
  
  }
  
  /* TYPOGRAPHY */
  
  h1, h2, h3, h4, h5, h6 { line-height: 1.25; margin-bottom: 1rem; }
  p { margin-bottom: 1rem; }
  
  ul,ol{
    list-style:none;
  }
  
  /* LINKS */
  
  a {
    color:var(--primary);
    text-decoration:none;
    transition:.2s;
  }
  
  a:hover{
    color:var(--primary);
  }
  
  a:focus-visible{
    outline:2px solid var(--primary);
    outline-offset:4px;
  }
  
  /* ======================================================
     CONTAINER
     ====================================================== */
  
  .container,
  .sc-container,
  .ed-container{
  
    max-width:1200px;
    margin:auto;
    padding:0 24px;
    width:100%;
  
  }
  
  /* =========================
   4. INPUTS, SELECTS Y BOTONES (ACTUALIZADO)
   ========================= */
   select, 
   input[type="number"], 
   textarea, 
   .input-field {
     padding: 12px 16px; 
     font-size: 14px;
     border-radius: 12px;
     background: var(--bg-input);
     color: #fff;
     border: 1px solid var(--border);
     outline: none;
     width: 100%;
     transition: border-color 0.2s, background 0.2s;
   }
   
   /* ESTADO CUANDO HACES CLICK / FOCUS */
   select:focus,
   input[type="number"]:focus,
   textarea:focus,
   .input-field:focus{
     border-color: var(--primary);
     background: var(--result-header); /* ← CAMBIA ESTE COLOR */
     color:#fff;
     outline:none;
   }

   input[type="date"]::-webkit-calendar-picker-indicator {
    filter: invert(1); /* cambia negro a blanco */
    cursor: pointer;
  }

textarea { min-height: 220px; resize: vertical; }

#preview, .output-box, .output, #outputText {
  min-height: 80px;
  padding: 20px;
  margin-top: 18px;
  background: var(--bg-output);
  border-radius: 12px;
  border: 1px solid var(--border);
  white-space: pre-wrap;
  font-size: 15px;
  color: #a5b4fc; /* Color de texto más "código" */
}

.btn-row { display: flex; gap: 12px; margin-top: 16px; flex-wrap: wrap; }

/* Base para todos los botones */
.btn-small, .btn-tool {
  padding: 12px 24px;
  font-size: 14px;
  border-radius: 10px;
  cursor: pointer;
  font-weight: 700;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  border: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* EL BOTÓN QUE ANTES ESTABA BLANCO (Generar/Enviar) */
/* Asegúrate de añadir la clase 'btn-primary' a tus botones principales en el HTML */
.btn-primary {
  background: var(--primary); /* El gradiente morado/lila */
  color: #ffffff;
  box-shadow: 0 4px 15px rgba(129, 140, 248, 0.3);
}

.btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(129, 140, 248, 0.5);
  filter: brightness(1.1);
}

/* EL BOTÓN SECUNDARIO (Limpiar/Copiar) */
/* Usa la clase 'btn-secondary' en el HTML */
.btn-secondary {
  flex: 1;
  border-radius: 14px;
  font-weight: bold;
  background: #f0f0f0;
  color: #000;
  border: none;
  cursor: pointer;
}

/* Inputs global */

input[type="text"],
input[type="number"],
input[type="date"],
textarea,
select{
  width:100%;
  padding:12px 16px;
  border-radius:var(--radius);
  border:1px solid var(--border);
  color:var(--text);
  background:var(--fecha-ux);
  font-family:inherit;
  font-size:15px;
  transition:.3s;
}

input:focus,
textarea:focus,
select:focus{
  border-color:var(--primary);
  box-shadow:0 0 12px var(--primary-glow);
  outline:none;
}

/* Custom checkbox */

input[type="checkbox"]{
  appearance:none;
  width:20px;
  height:20px;
  border-radius:6px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.05);
  cursor:pointer;
  position:relative;
}

input[type="checkbox"]:checked{
  background:var(--primary);
}

input[type="checkbox"]:checked::after{
  content:'';
  position:absolute;
  width:5px;
  height:10px;
  border:solid #fff;
  border-width:0 2px 2px 0;
  left:50%;
  top:45%;
  transform:translate(-50%,-50%) rotate(45deg);
}

/* =========================
   BOTONES
========================= */

.result-buttons{
  display:flex;
  gap:10px;
  margin-top:auto;
}

.result-buttons button{
  flex:1;
}

.btn-primary {
  flex: 2;
  padding: 14px;
  border-radius: 14px;
  font-weight: bold;
  border: none;
  cursor: pointer;
}

.btn-ghost {
  flex: 1;
  border-radius: 14px;
  font-weight: bold;
  background: #f0f0f0;
  color: #000;
  border: none;
  cursor: pointer;
}

.btn-add {
  background: transparent;
  border: 1px solid #181B2B;
  padding: 6px 14px;
  border-radius: 20px;
  cursor: pointer;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #ffffff;
}

.btn-share{
  padding:10px 12px;
  border-radius:10px;
  font-weight:700;
  background:#00af58;
  color:#fff;
  border:none;
  cursor:pointer;
}

.btn-copy{
  padding:13px 12px;
  border-radius:10px;
  font-weight:700;
  background:#fff;
  border:1px solid #181B2B;
  cursor:pointer;
}
  
  /* ================= HEADER ================= */

.utz-header.utz-sticky {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 99999 !important; /* Valor máximo para dominar la pantalla */
  height: var(--header-height);
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(8px); /* Efecto cristal moderno */
  border-bottom: 1px solid #e2e8f0;
  box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}

.utz-nav{
  display:flex;
  justify-content:space-between;
  align-items:center;
  height:100%;
}

/* Logo kovertiz */
.utz-logo a {
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--dark);
  text-decoration: none;
}
.utz-logo span { color: var(--primary); }

.utz-menu {
  display: flex;
  list-style: none;
  gap: 10px;
}

.utz-menu > li > a {
  text-decoration: none;
  color: var(--dark);
  font-weight: 600;
  padding: 10px 15px;
  border-radius: 6px;
  transition: 0.2s;
}

.utz-menu > li:hover > a {
  background: #f1f5f9;
  color: var(--primary);
}


/* ================= MEGAMENU DESKTOP ================= */

.has-mega { position: static; }

.utz-mega {
  position: fixed;
  top: var(--header-height);
  left: 50%;
  transform: translateX(-50%);
  width: 95%;
  max-width: 1100px;
  background: #ffffff;
  border: 1px solid #cbd5e1; /* Borde más visible */
  border-radius: 12px;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.15);
  padding: 0;
  opacity: 0;
  visibility: hidden;
  transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  overflow: hidden;
  z-index: 100000 !important;
}

.has-mega:hover .utz-mega {
  opacity: 1;
  visibility: visible;
}

.utz-mega-wrapper {
  display: flex;
  min-height: 480px; /* Un poco más de aire vertical */
}

/* Sidebar: Ahora más oscura y profesional */
.utz-mega-sidebar {
  width: 240px;
  background: #f1f5f9; /* Gris azulado suave para contraste */
  border-right: 1px solid #e2e8f0;
  padding: 15px 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.utz-tab-btn {
  background: transparent;
  border: none;
  border-left: 4px solid transparent;
  padding: 14px 24px;
  text-align: left;
  font-size: 1rem; /* Letra más grande */
  font-weight: 700; /* Más negrita */
  color: #334155; /* Texto oscuro, no gris */
  cursor: pointer;
  transition: 0.2s;
}

.utz-tab-btn:hover {
  background: #e2e8f0;
  color: var(--primary);
}

.utz-tab-btn.active {
  background: #ffffff;
  color: var(--primary);
  border-left-color: var(--primary);
  box-shadow: -5px 0 15px rgba(0,0,0,0.05);
}

/* Contenido: Tipografía mejorada */
.utz-mega-content {
  flex: 1;
  padding: 35px;
  background: #ffffff;
}

.utz-grid-compact {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px 25px; /* Más espacio entre filas para no agobiar */
}

.utz-tab-pane { display: none; }
.utz-tab-pane.active { display: block; animation: utzFade 0.25s ease; }

/* Títulos de grupos: Ahora legibles y con color de marca */
.utz-col-group h4 {
  font-size: 0.9rem; /* Más grande */
  font-weight: 800;
  text-transform: uppercase;
  color: #818cf8; /* Casi negro para legibilidad */
  border-bottom: 2px solid #f1f5f9;
  margin-bottom: 15px;
  padding-bottom: 8px;
  letter-spacing: 0.5px;
}

.utz-col-group ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* Enlaces de herramientas: El alma del menú */
.utz-col-group ul li a {
  display: block;
  padding: 7px 0;
  font-size: 0.95rem; 
  color: #252525;    /* Más oscuro para mayor contraste */
  text-decoration: none;
  font-weight: 600;  /* Cambiado de 500 a 700 para máximo grosor */
  transition: 0.2s all;
}
.utz-col-group ul li a:hover {
  color: var(--primary);
  padding-left: 5px;
}

------------------------------------------------------------

/* Estilo de las columnas */
.utz-col {
    flex: 1;
    min-width: 150px; /* Evita que se amontonen demasiado */
}

/* Títulos de categorías (Letra más pequeña) */
.utz-col h4 {
    font-size: 0.85rem; /* Aprox 13-14px */
    font-weight: bold;
    text-transform: uppercase;
    margin-bottom: 12px;
    color: #818cf8; /* Asegúrate que contraste con tu fondo */
    padding-bottom: 5px;
}

/* Enlaces de las herramientas (Letra más pequeña) */
.utz-col a {
    display: block;
    font-size: 0.8rem; /* Aprox 12-13px */
    color: #555;
    text-decoration: none;
    padding: 5px 0;
    transition: color 0.2s ease;
}


/* Efecto hover para los links */
.utz-col a:hover {
    color: #007bff; /* Cambia al color de tu marca */
    text-decoration: underline;
}

/* Flecha */
.arrow-down {
  border: solid currentColor;
  border-width: 0 2px 2px 0;
  display: inline-block;
  padding: 2px;
  transform: rotate(45deg);
  margin-bottom: 3px;
}

/* ======================================================
   TOOL LAYOUT
   ====================================================== */

.tool-container{

  width:100%;

  max-width:60%;

  margin:60px auto 40px;

  padding:60px 40px;

  background:var(--card);

  border-radius:var(--radius);

  border:1px solid var(--border);

  backdrop-filter:blur(30px);

  display:flex;
  flex-direction:column;

}

.tool-container h1{
  font-size:28px;
  font-weight:800;
  background: var(--accent-gradient);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
}

.tool-container p{

  font-size:15px;

  margin-bottom:25px;

}

/* MAIN LAYOUT */

.main-layout{

  display:flex;

  gap:40px;

  flex-wrap:wrap;

}


/* COLUMNS */

.form-side,
.result-side{

  flex:1.2;

  min-width:350px;

  border:1px solid var(--border);

  border-radius:var(--radius);

  padding:40px 35px;

  display:flex;
  flex-direction:column;

}

/* FORM */

.form-content{
  flex-grow:1;
}

.form-buttons{

  display:flex;
  gap:10px;

  margin-top:auto;

}

/* ======================================================
   PEOPLE GRID
   ====================================================== */

.people-grid{

  display:grid;

  grid-template-columns:repeat(3,1fr);

  gap:14px;

}

.person-group{

  display:flex;
  flex-direction:column;

  gap:8px;

}

.people-grid input{

  padding:8px 10px;

  border-radius:8px;

  font-size:12px;

}

/* ======================================================
   FLEX FIELD ROW
   ====================================================== */

.flex-row{

  display:flex;

  gap:18px;

  flex-wrap:wrap;

}

.field{

  flex:1;

  min-width:180px;

  display:flex;
  flex-direction:column;

}

.field label{

  font-size:13px;

  margin-bottom:6px;

}

/* ======================================================
   RESULTS
   ====================================================== */

.result-wrapper{

  display:flex;
  flex-direction:column;

  flex-grow:1;

}

.result-header{

  background:var(--result-header);

  padding:30px;

  color:var(--text);

  text-align:center;

  border-radius:var(--radius) var(--radius) 0 0;

}

.result-label{

  text-transform:uppercase;

  font-size:11px;

  letter-spacing:2px;

  opacity:.8;

}

.result-total{

  font-size:26px;

  font-weight:800;

  color:var(--success);

  margin-top:10px;

}

.result-meta{

  font-size:14px;

  opacity:.7;

}

.result-body{

  padding:25px;

  flex-grow:1;

  display:flex;
  flex-direction:column;

}

.results-scroll{

  flex-grow:1;

  overflow-y:auto;

  max-height:320px;

}

/* WARNING */

.result-warning{

  border:1px dashed var(--border);

  padding:15px;

  border-radius:8px;

  margin-top:auto;

}

.result-warning h4{

  font-size:11px;

  text-transform:uppercase;

  margin-bottom:5px;

}

.result-warning p{

  font-size:11px;

  opacity:.7;

}

/* ==============================
   LEGAL BOX
============================== */

.legal-box {
  background: #ffffff12;
  border: 1px dashed #ffffff33;
  padding: 15px;
  border-radius: 8px;
  margin-top: 40px;
}

.legal-box h4 {
  margin: 0 0 5px 0;
  font-size: 11px;
  text-transform: uppercase;
  opacity: 0.9;
}

.legal-box p {
  font-size: 11px;
  line-height: 1.4;
  margin: 0;
}

/* ======================================================
   RESULT TABLE
   ====================================================== */

.result-table{

  width:100%;

  border-collapse:collapse;

  margin-bottom:25px;

}

.result-table td{

  padding:15px 5px;

  border-bottom:1px solid var(--border);

}

.text-right{
  text-align:right;
}

.bold{
  font-weight:700;
}

.strong{
  font-weight:800;
}

.highlight-row{

  background:rgba(34,197,94,.08);

}

.highlight-row td{

  border-bottom:2px solid var(--success);

}

.success{
  color:var(--success);
}


/* ================= HOW TO USE ================= */

.how-to-use {
  max-width: 1100px;
  margin: 100px auto;
  padding: 0 40px;
  display: grid;
  grid-template-columns: 1.2fr 0.8fr; /* Estructura lateral */
  gap: 60px;
  align-items: start; /* Necesario para que el sticky funcione */
  position: relative;
    z-index: 1;
}

/* Columna Izquierda: Texto y Pasos */
.how-to-use .eyebrow {
  display: block;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  font-size: 12px;
  font-weight: 800;
  margin-bottom: 16px;
}

.how-to-use .lead {
  font-size: 17px;
  margin-bottom: 40px;
}

.how-to-use .step-number {
  font-size: 14px;
  font-weight: 700;
  opacity: 0.5;
}

.how-to-use .how-to-text h2 {
  font-size: 36px;
  font-weight: 800;
  margin-bottom: 20px;
  background: var(--accent-gradient);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
}

.how-to-use .steps-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  margin-bottom: 40px;
}

.how-to-use .step-item {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.how-to-use .trust-badge {
  font-size: 13px;
  padding: 20px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.02);
  border: 1px dashed var(--border);
  margin-top: 30px;
}


/* Columna Derecha: Tarjeta Sticky */
.how-to-use .highlight-card {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 30px;
  backdrop-filter: blur(20px);
  
  /* Efecto Sticky: Baja con el scroll */
  position: sticky;
  top: 40px; 
}

.highlight-card code{
  display:block;
  background:rgba(0,0,0,.3);
  padding:14px;
  border-radius:12px;
  font-size:14px;
  color:#84fcf6;
}

.how-to-text {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 12px;
    max-width: 520px;
}

.how-to-text h2 { margin: 0; line-height: 1.2; font-size: 1.5rem; }
.how-to-text p {
    margin: 0;
    line-height: 1.6;
    color: #ffffff; /* O el color que desees */
}

.how-to-text ol { 
    list-style: none; 
    padding: 0; 
    margin: 16px 0; 
    counter-reset: step; 
}

.how-to-text ol li {
    counter-increment: step;
    position: relative;
    padding-left: 44px;
    margin-bottom: 14px;
    line-height: 1.5;
    text-align: justify;
    word-break: break-word;
}

.how-to-text ol li::before {
    content: counter(step);
    position: absolute;
    left: 0;
    top: 0.1em;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #000; /* Fondo negro para el círculo del número */
    color: #fff;
    font-weight: 600;
    font-size: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.how-to-box {
    flex: 1;
    min-height: 400px;
    background: #101316;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 60px;
}

.how-to-content { 
    max-width: 420px; 
    width: 100%; 
    position: relative; 
    top: -15px; 
}

.how-to-box pre {
    text-align: left;
    background: #0f0f0f;
    color: #eaeaea;
    padding: 12px;
    border-radius: 8px;
    font-size: 0.85rem;
    overflow-x: auto;
    margin: 24px auto;
}

.how-to-note { font-size: 0.9rem; opacity: 0.85; margin-top: 12px; }


/* ==============================
   REFERENCE TABLE SECTION
============================== */

.reference-table {
  margin-bottom: 60px;
}



.reference-card {
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 30px;
  overflow-x: auto;
}

/* ==============================
   TITLES & TEXT
============================== */

.reference-title {
  margin-top: 0;
  margin-bottom: 15px;
  font-size: 1.5rem;
  background: var(--accent-gradient);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
}



.reference-description {
  margin-bottom: 25px;
  font-size: 0.95rem;
}

/* ==============================
   TABLE
============================== */

.reference-table-content {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
  text-align: left;
}

.reference-table-content thead tr {
  border-bottom: 2px solid var(--border);
}

.reference-table-content tbody tr {
  border-bottom: 1px solid var(--border);
}

.reference-table-content th,
.reference-table-content td {
  padding: 12px;
}

/* ==============================
   UTILITIES
============================== */

.highlight {
  font-weight: bold;
  color: var(--primary);
}


/* ==============================
   NOTE BOX
============================== */

.reference-note {
  margin-top: 20px;
  padding: 15px;
  font-size: 0.85rem;
  background: rgba(255,255,255,0.05);
  border-radius: 8px;
  border-left: 4px solid var(--primary);
}


/* ================= FAQ COMPACT ================= */

.faq-compact.dark-theme{
  padding:4rem 1.5rem;
  max-width:1200px;
  margin:0 auto;
  text-align:center;
}

.faq-header{margin-bottom:3.5rem}

.ed-kicker{
  font-size:.75rem;
  text-transform:uppercase;
  letter-spacing:.15em;
  font-weight:700;
  margin-bottom:.6rem;
}

.ed-title{
  font-size:clamp(1.8rem,4vw,2.5rem);
  font-weight:800;
  margin-bottom:.8rem;
  line-height:1.1;
  background: var(--accent-gradient);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
}


.ed-subtitle{
  font-size:1.05rem;
  max-width:650px;
  margin:0 auto;
  line-height:1.6;
}

.faq-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:3rem 2rem;
  text-align:left;
}

.faq-node{
  display:flex;
  flex-direction:column;
  gap:.6rem;
}

.faq-meta{
  font-size:.75rem;
  font-weight:600;
  padding:2px 10px;
  border-radius:4px;
  width:fit-content;
}

.faq-body h3{
  font-size:1.2rem;
  font-weight:700;
  line-height:1.3;
  background: var(--text);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
}

.faq-body p{
  font-size:.95rem;
  line-height:1.6;
}

/* ================= RELATED TOOLS ================= */

.related-tools{
  padding:80px 0;
  border-top:1px solid var(--border);
}

.related-tools h2{
  font-size:24px;
  font-weight:700;
  margin-bottom:30px;
}

.related-tools ul{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:16px;
}

.related-tools li a{
  display:block;
  padding:24px;
  background:rgba(255, 255, 255, 0.02);
  border:1px solid var(--border);
  border-radius:18px;
  font-weight:600;
  font-size:15px;
  color:#ffffff; /* ← aquí defines el color del texto */
  text-decoration:none;
  transition:.4s;
}

.related-tools li a:hover{
  background:rgba(129,140,248,.05);
  border-color:var(--primary);
  color:#fff;
  transform:translateY(-5px);
  box-shadow:0 10px 30px -10px var(--primary-glow);
}

/* =========================
   5. FOOTER kovertiz
   ========================= */
   .kovertiz-footer {
    background-color: var(--bg);
    padding: 100px 0 40px 0;
    border-top: 1px solid var(--border);
    position: relative;
    overflow: hidden;
  }
  
  .kovertiz-footer::before {
    content: '';
    position: absolute;
    top: -150px;
    left: 50%;
    transform: translateX(-50%);
    width: 600px;
    height: 300px;
    background: var(--primary-glow);
    filter: blur(120px);
    border-radius: 50%;
    pointer-events: none;
    opacity: 0.5;
  }
  
  .utz-footer-main {
    display: grid;
    grid-template-columns: 1.5fr repeat(3, 1fr);
    gap: 40px;
    margin-bottom: 80px;
    position: relative;
    z-index: 1;
  }
  
  .utz-footer-logo {
    font-size: 1.8rem;
    font-weight: 800;
    color: var(--text);
    display: flex;
    align-items: center;
    gap: 5px;
    margin-bottom: 20px;
  }
  
  .utz-footer-logo .dot {
    width: 8px; height: 8px;
    background: var(--primary);
    border-radius: 50%;
    box-shadow: 0 0 15px var(--primary);
  }
  
  .utz-footer-bio {
    color: var(--text-muted);
    font-size: 14px;
    max-width: 280px;
  }
  
  .utz-footer-group h4 {
    color: var(--text);
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 25px;
  }
  
  .utz-footer-group nav a {
    display: block;
    color: #ffffff;
    font-size: 14px;
    margin-bottom: 12px;
    text-decoration: none;
  }
  
  .utz-footer-group nav a:hover {
    color: var(--primary);
    transform: translateX(5px);
  }
  
  .utz-footer-bottom {
    border-top: 1px solid var(--border);
    padding-top: 30px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 13px;
    color: var(--text-muted);
  }
  
  .utz-legal { display: flex; gap: 25px; }
  
/* ================= RESPONSIVE ================= */

@media(max-width:991px){
  .has-mega .utz-mega{display:none}
  .has-mega.utz-touch-open .utz-mega{
    display:block !important;
    opacity:1 !important;
    visibility:visible !important;
  }
}

@media(max-width:1024px){
  .faq-grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:900px){
  .how-to-use{grid-template-columns:1fr}
  .steps-grid{grid-template-columns:1fr}
  .highlight-card{position:relative;top:0}
}

@media(max-width:768px){

  body{padding-top:130px !important}

  .utz-nav{
    flex-direction:column !important;
    gap:8px !important;
  }

  .utz-mega{
    position:absolute !important;
    top:100% !important;
    width:100vw !important;
    max-height:75vh !important;
    overflow-y:auto !important;
    border-radius:0 0 15px 15px !important;
  }

  .utz-grid-compact{
    display:flex !important;
    flex-direction:column !important;
    gap:0 !important;
  }

  .faq-grid{
    grid-template-columns:1fr;
    text-align:center;
  }

  .utz-footer-main{
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
  }

  .utz-footer-bottom{
    flex-direction:column;
    gap:10px;
    text-align:center;
  }
}


/* ============================================================
   RESPONSIVE – TABLETS (≤1024px)
   ============================================================ */
   @media (max-width: 1024px) {

    /* FAQ */
    .faq-grid {
      grid-template-columns: repeat(2, 1fr);
    }
  
  }
  
  
  /* ============================================================
     RESPONSIVE – TABLETS & MOBILE (≤768px)
     ============================================================ */
  @media (max-width: 768px) {
  
    /* =========================
       1. FAQ
       ========================= */
    .faq-grid {
      grid-template-columns: 1fr;
      text-align: center;
      gap: 2.5rem;
    }
  
    .faq-meta {
      margin: 0 auto;
    }
  
    :is(.faq-container, .how-to-use, .example, .seo-content, .why-echo) 
    :is(h1, h2, h3) {
      font-size: 1.6rem;
    }
  
  
    /* =========================
       2. RELATED TOOLS
       ========================= */
    .related-tools ul {
      grid-template-columns: 1fr 1fr;
    }
  
  
    /* =========================
       3. HOW TO USE
       ========================= */
    .how-to-use {
      flex-direction: column;
      top: 0;
      margin-top: 20px;
    }
  
    .how-to-text {
      max-width: 100%;
      align-items: center;
    }
  
    .how-to-text ol li {
      text-align: left;
    }
  
    .how-to-box {
      padding: 30px;
      min-height: auto;
    }
  
  
    /* =========================
       4. ESTRUCTURA GLOBAL TOOL
       ========================= */
    .tool-container {
      max-width: 100% !important;
      margin: 20px auto !important;
      padding: 30px 20px !important;
    }
  
    .main-layout {
      display: flex !important;
      flex-direction: column !important;
      gap: 20px !important;
    }
  
    .form-side,
    .result-side {
      width: 100% !important;
      min-width: 0 !important;
      flex: none !important;
    }
  
    .main-layout > div:last-child {
      width: 100% !important;
      max-width: 100% !important;
    }
  
    .main-layout div[style*="display: flex"] > div {
      min-width: 0 !important;
    }
  
  
    /* =========================
       5. OPTIONS & PRODUCT ROW
       ========================= */
    .options.row {
      flex-direction: column !important;
      align-items: stretch !important;
    }
  
    .options.row > div {
      width: 100% !important;
    }
  
    .product-row {
      display: flex !important;
      align-items: center !important;
      gap: 6px !important;
      height: auto !important;
    }
  
    .product-row input,
    .p-name {
      height: 34px !important;
      min-height: 34px !important;
      max-height: 34px !important;
      padding: 0 8px !important;
      line-height: 34px !important;
      box-sizing: border-box !important;
    }
  
    .product-row button,
    .product-row .btn-plus {
      height: 34px !important;
      width: 34px !important;
      padding: 0 !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
    }
  
  
    /* =========================
       6. INPUTS & LABELS
       ========================= */
    .tool-container select,
    .tool-container .label-select select,
    select#country,
    .tool-container input[type="number"],
    .tool-container input,
    #newTaskInput {
      height: 36px !important;
      min-height: 36px !important;
      padding: 0 10px !important;
      font-size: 14px !important;
      line-height: 36px !important;
      box-sizing: border-box !important;
    }
  
    .tool-container label,
    .label-select label {
      font-size: 11px !important;
      margin: 5px 0 2px 0 !important;
      display: block !important;
    }
  
    .tool-container input[type="checkbox"] {
      width: 18px !important;
      height: 18px !important;
      margin: 0 8px 0 0 !important;
      vertical-align: middle !important;
    }
  
  
    /* =========================
       7. CHECKLIST
       ========================= */
    #checklistTasks {
      display: grid !important;
      grid-template-columns: repeat(2, 1fr) !important;
      gap: 8px !important;
      padding: 12px !important;
    }
  
    #checklistTasks label {
      font-size: 12px !important;
      line-height: 1.2 !important;
    }
  
    #checklistTasks input[type="checkbox"] {
      transform: scale(0.9);
      margin-right: 6px;
    }
  
  
    /* =========================
       9. TABLA (SCROLL)
       ========================= */
    .main-layout div[style*="overflow-y: auto"] {
      overflow-x: auto !important;
      max-height: 400px !important;
      -webkit-overflow-scrolling: touch;
    }
  
    .main-layout table {
      width: 100% !important;
      min-width: unset !important;
    }
  
  }
  
  
  /* ============================================================
     MOBILE PEQUEÑO (≤480px)
     ============================================================ */
  @media (max-width: 480px) {
  
    .related-tools ul {
      grid-template-columns: 1fr;
    }
  
  }
  
  