:root {
      --bg: #f3f8fb;
      --header: #ffffff;
      --primary: #0f5e89;
      --primary-dark: #083b56;
      --text: #1e2a32;
      --muted: #5c6974;
      --line: #d7e2ea;
    }

    * {
      box-sizing: border-box;
    }

    body {
      margin: 0;
      font-family: Arial, Helvetica, sans-serif;
      color: var(--text);
      line-height: 1.6;
    }

    .container {
      width: min(1200px, 92%);
      margin: 0 auto;
    }

    .inicio {
      width: 98%;
      min-width: 350px;
      padding: 5px;
      overflow: hidden;
      clear: both;
    }

    /* --- TOPBAR & MENU --- */
    .topbar {
      background: var(--header);
      border-bottom: 2px solid var(--line);
      position: sticky;
      top: 0;
      z-index: 100; /* Aumentado para que quede sobre el menú móvil */
    }

    .topbar-inner {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      padding: 10px 0;
    }

    .brand {
      display: flex;
      align-items: center;
      gap: 12px;
      text-decoration: none;
      color: var(--primary-dark);
      font-weight: 700;
    }

    .brand img {
      width: 85px;
      height: 60px;
      object-fit: contain;
    }

    /* Botón Hamburguesa (oculto en escritorio) */
    .menu-toggle {
      display: none;
      background: none;
      border: 1px solid var(--line);
      font-size: 24px;
      cursor: pointer;
      padding: 5px 10px;
      border-radius: 4px;
      color: var(--primary-dark);
    }

    .menu {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      transition: all 0.3s ease;
    }

    .menu a {
      text-decoration: none;
      color: var(--primary-dark);
      font-size: 14px;
      padding: 8px 10px;
      border-radius: 8px;
      border: 1px solid transparent;
      white-space: nowrap;
    }

    .menu a:hover {
      border-color: var(--line);
      background: #f3f8fd;
    }

    .menu2-toggle {
      display: none;
      background: none;
      border: 1px solid var(--line);
      font-size: 24px;
      cursor: pointer;
      padding: 5px 10px;
      border-radius: 4px;
      color: var(--primary-dark);
    }

    .menu2 {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      transition: all 0.3s ease;
    }

    .menu2 a {
      text-decoration: none;
      color: var(--primary-dark);
      font-size: 14px;
      padding: 8px 10px;
      border-radius: 8px;
      border: 1px solid transparent;
      white-space: nowrap;
    }

    .menu2 a:hover {
      border-color: var(--line);
      background: #f3f8fd;
    }

    .topbar2 {
      background: var(--header);
      position: sticky;
      top: 0;
      z-index: 100; /* Aumentado para que quede sobre el menú móvil */
    }

    .topbar-inner2 {
      padding: 10px 0;
      margin-left: 460px;
    }

    /* --- HERO SECTION --- */
    .hero {
      position: relative;
      color: #fff;
      padding: 146px 0 146px;
      background: url("../images/header-1.png") center/cover no-repeat;
      border-bottom: 2px solid var(--line);
      /* Flex para centrar contenido si se añade texto dentro */
      display: flex;
      align-items: center; 
    }

    section {
      padding: 42px 0;
      border-bottom: 2px solid var(--line);
    }

    h2 {
      margin: 0 0 10px;
      font-size: clamp(24px, 3vw, 32px);
      color: var(--primary-dark);
    }

    .iniciox2 {
      font-size: 45px;
      margin-top: -20px;
    }

    .iniciox3 {
      border-top: 2px solid var(--line);
      font-size: 45px;
      margin-top: -5px;
    }

    .lead {
      margin: 0 0 24px;
      color: var(--muted);
      max-width: 900px;
    }

    /* --- CARDS & CONTENT --- */
    .card {
      display: flex;
      justify-content: center;
      gap: 10px;
    }

    .hr {
      border: 7px solid #B6C2C9;
    }

    .electrom {
      text-align: center;
      margin-bottom: -30px;
    }

    .card .body {
      padding: 14px;
    }

    .card h3 {
      margin: 0 0 8px;
      font-size: 18px;
      color: var(--primary-dark);
    }

    .card p {
      margin: 0;
      color: var(--muted);
    }

    .two-cols {
      display: grid;
      grid-template-columns: 1.2fr .8fr;
      gap: 22px;
    }

    .panel {
      background: var(--card);
      border: 1px solid var(--line);
      border-radius: 12px;
      padding: 20px;
    }

    .panel p {
      margin-top: 0;
      text-align: justify;
    }

    .list {
      margin: 0;
      padding-left: 18px;
    }

    .list li {
      margin-bottom: 8px;
    }

    footer {
      margin-top: 30px;
      background: var(--header);
      color: var(--muted);
    }

    .footer-inner {
      padding: 20px 0 26px;
      text-align: center;
      margin-top: -15px;
      font-size: 12px;
    }

	.parrafo {
		margin-bottom: -5px;
	}

	.equipos {
		margin-bottom: -15px;
		text-transform: uppercase;
	}

	.apartado {
		margin-bottom: -15px;
	}

  .elec {
    text-transform: uppercase;
  }

  .politicaCalidad {
    display: flex;
    justify-content: center;
    color: black;
  }
  .politicaCalidad:visited {
    color: black;
  }

  .ISO {
    text-transform: uppercase;
  }

  .pdf {
    width: 27px;
    height: 30px;
    margin-top: 5px;
  }

  .enlace {
    margin-left: 5px;
    margin-top: 2px;
    color: black;
    text-decoration: none;
    font-weight: bold;
  }

  .enlace:visited {
    margin-left: 5px;
    margin-top: 2px;
    color: black;
    text-decoration: none;
    font-weight: bold;
  }

  .SES {
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-top: -19px;
  }

  .SES2 {
    border-width: 0px;
    border-style: solid;
    border-color: currentcolor;
    width: 200px;
    height: 33px;
    aspect-ratio: auto 200 / 33;
  }

  .enlaces-fotos {
    text-transform: uppercase;
    font-weight: bolder;
    text-decoration: none;
    color: black;
  }

  .enlaces-fotos:visited {
    text-transform: uppercase;
    font-weight: bolder;
    text-decoration: none;
    color: black;
  }

  .enlaces-fotos2 {
    width: 100px;
    height: 111px;
    aspect-ratio: auto 100 / 111;
  }

  .enlaces-fotos3 {
    width: 150px;
    height: 74px;
    aspect-ratio: auto 150 / 74;
  }

  .PPEESL {
    text-transform: uppercase;
    font-family: "Cambria","serif";
    text-align: center;
  }

  .aviso-introduccion {
    font-size: 22px;
    margin-bottom: 4px;
  }
  .aviso-titularidad {
    font-size: 22px;
    margin-top: 8px;
    margin-bottom: 4px;
  }
  .aviso-propiedad {
    font-size: 22px;
    margin-top: 8px;
    margin-bottom: 4px;
  }
  .aviso-exclusion {
    font-size: 22px;
    margin-top: 8px;
    margin-bottom: 4px;
  }
  .aviso-condiciones {
    font-size: 22px;
    margin-top: 8px;
    margin-bottom: 4px;
  }
  .aviso-foros {
    font-size: 22px;
    margin-top: 8px;
    margin-bottom: 4px;
  }
  .aviso-recomendaciones {
    font-size: 22px;
    margin-top: 8px;
    margin-bottom: 4px;
  }
  .aviso-legislacion {
    font-size: 22px;
    margin-top: 8px;
    margin-bottom: 4px;
  }
  .aviso-contacte {
    font-size: 22px;
    margin-top: 8px;
    margin-bottom: 4px;
  }
  .aviso-requisitos {
    font-size: 22px;
    margin-top: 8px;
  }

  .aviso-legal li::marker {
    font-size: 22px;
    font-weight: bolder;
  }

  .politica-contacto {
    margin-top: 3px;
    margin-bottom: 5px;
  }

  .p1 {
    margin-bottom: 3px;
  }
  .p2 {
    margin-top: 9px;
  }

  .gestion-inventario {
    margin-bottom: -8px;
  }
  .p-ul {
    margin-top: -10px;
  }
  .lista-con-guiones {
    margin-top: -10px;
    margin-bottom: 8px;
  }
  .lista-con-guiones2 {
    margin-top: 2px;
    margin-bottom: 8px;
  }
  .Caracteristicas {
    margin-top: -20px;
  }

    /* =========================================
       MEDIA QUERIES (Basadas en tu solicitud)
       ========================================= */

    /* Tablets Grandes / Laptops pequeñas (1024px o menos) */
    @media screen and (max-width: 1024px) {
      /* Adaptación de .heroText a .hero */
      .hero h2 {
        font-size: 70px;
        line-height: 70px;
      }
      
      .hero strong {
        font-size: 38px;
      }
    }

    /* Tablets (991px o menos) */
    @media screen and (max-width: 991px) {
      /* Aquí activamos el menú móvil */
      .menu-toggle {
        display: block;
      }

      .menu {
        display: none; /* Oculto por defecto en tablet/móvil */
        flex-direction: column;
        width: 100%;
        position: absolute;
        top: 100%;
        left: 0;
        background: #fff;
        border-bottom: 2px solid var(--line);
        padding: 10px 0;
        box-shadow: 0 4px 6px rgba(0,0,0,0.1);
      }

      /* Clase para mostrar menú con JS */
      .menu.active {
        display: flex;
      }

      .menu a {
        padding: 12px 20px;
        border-bottom: 1px solid #f0f0f0;
        width: 100%;
        text-align: center;
      }

      .menu2-toggle {
        display: block;
      }

      .menu2 {
        display: none;
        flex-direction: column;
        width: 100%;
        position: absolute;
        top: 100%;
        left: 0;
        background: #fff;
        border-bottom: 2px solid var(--line);
        padding: 10px 0;
        box-shadow: 0 4px 6px rgba(0,0,0,0.1);
        z-index: 101;
      }

      .menu2.active {
        display: flex;
      }

      .menu2 a {
        padding: 12px 20px;
        border-bottom: 1px solid #f0f0f0;
        width: 100%;
        text-align: center;
      }

      .page .content.cover {
        padding: 180px 0;
      }
      
      .panel {
        margin-bottom: 30px;
      }
      
      /* Ajuste general de imágenes para que no rompan el layout */
      img {
        max-width: 100%;
        height: auto;
      }

      .topbar-inner2 {
        margin-left: 0;
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 10px 0;
      }
    }

    /* Móviles grandes (767px o menos) */
    @media (max-width: 767px) {
      .page .content.cover {
        padding: 120px 0;
      }
      
      /* Ajuste de Hero */
      .hero {
        padding: 70px 0; /* Reducido de 146px */
      }
      
      .hero h2 {
        font-size: 42px;
        line-height: 50px;
      }
      
      .hero strong {
        font-size: 28px;
      }
      
      /* Ajustes de tipografía general */
      .iniciox2 {
        font-size: 32px;
		    margin-top: -16px;
      }

      .navbar-nav > li > a {
        line-height: 35px;
        padding: 10px 15px;
      }
      
      .nav > li > a {
        padding: 2px 15px;
      }
      
      .space {
        padding: 50px 0 !important;
      }
      
      /* Ajuste de formulario (si se agrega en el futuro) */
      .form.contact .input-group input.lg,
      .form.contact .input-group textarea.lg,
      .form.contact .input-group select.lg {
        height: 55px;
        font-size: 14px;
      }
      
      .form.contact .input-group textarea.lg {
        height: 150px;
      }
      
      .form.contact .input-group button.submit {
        height: 55px;
        font-size: 14px;
      }
      
      .panel .panel-body .price {
        font-size: 1.8em;
      }
      
      .teammate {
        margin-bottom: 30px;
      }
      
      .imagen-logo {
        width: 100px;
        height: 55px;
      }
    }

    /* Móviles pequeños (480px o menos) */
    @media (max-width: 480px) {
      .page .content.cover {
        padding: 70px 0;
      }
      
      .hero {
        padding: 70px 0;
      }

      .hero h2 {
        font-size: 32px;
        line-height: 40px;
      }
      
      .hero strong {
        font-size: 20px;
      }
      
      .form.contact .input-group input.lg,
      .form.contact .input-group textarea.lg,
      .form.contact .input-group select.lg {
        height: 60px;
        font-size: 13px;
        text-indent: 35px;
      }
      
      .form.contact .input-group i {
        font-size: 16px;
        line-height: 50px;
      }
      
      .form.contact .input-group button.submit {
        height: 50px;
        font-size: 13px;
      }
      
      .panel .panel-body .price {
        font-size: 1.5em;
      }
      
      .imagen-logo {
        width: 90px;
        height: 50px;
      }

      /* Ajuste extra para el logo en pantallas muy pequeñas */
      .brand img {
        width: 60px;
        height: 40px;
      }
    }