/*
Theme Name: Hello Elementor Child
Theme URI: http://neoquimnew.local/
Description: Child theme for Hello Elementor.
Author: Neoquim
Template: hello-elementor
Version: 1.0.0
Text Domain: hello-elementor-child
*/


#menu-toggle-263 {
	margin-left: auto !important;
}

#menubar-263 {
	margin-top: 12px;
}

/* HOME */
.nq-sector-card {
    position: relative;
    cursor: pointer;
    transition: all 0.3s ease;
}

.nq-sector-card * {
    transition: all 0.3s ease;
}


.nq-sector-card:hover * {
    color: #ffffff !important;
}

.nq-sector-card:hover svg * {
    stroke: #ffffff !important;
    fill: none !important;
}

.nq-sector-card:hover .e-fas-arrow-right path {
    fill: #ffffff !important;
    stroke: none !important;
}

.nq-sector-card a.elementor-icon {
    position: absolute;
    inset: 0;
    z-index: 10;
}

.nq-sector-card > * {
    position: relative;
    z-index: 1;
}

/* HOME - NEWS*/
.nq-news .elementor-post__card:before,
.nq-news .elementor-post__card:after {
    display: none !important;
}

.nq-news .elementor-post__thumbnail {
    overflow: hidden;
    transition: transform 0.4s ease;
}

.nq-news .elementor-post__card:hover .elementor-post__thumbnail {
    transform: scale(1.05);
}

.nq-news .elementor-post__thumbnail img {
    width: 100%;
    display: block;
}

.nq-news .elementor-post__title a {
    transition: color 0.3s ease;
}

.nq-news .elementor-post__card:hover .elementor-post__title a,
.nq-news .elementor-post__title a:hover {
    color: #D61435 !important;
}


/* HOME - CARD CARACTERISTICAS */
.nq-card-caracteristicas .separador-naranja {
    width: 30px;
    transition: all 0.35s ease;
    transform-origin: left;
}

.nq-card-caracteristicas:hover .separador-naranja {
    transform: scaleX(1.5);
}

/* HOME - FORMULARIO */

.nq-home-formulario .elementor-field:focus {
    outline: none !important;
    box-shadow: none !important;
}

.nq-home-formulario input,
.nq-home-formulario textarea {
    outline: none !important;
    box-shadow: none !important;
}

.nq-home-formulario .elementor-field-group:hover::before {
    background-color: #D61435;
}

.nq-home-formulario .elementor-field-group::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 16px;
    width: 0;
    height: 1px;
    background-color: #D61435;
    transition: width 0.3s ease;
}

.nq-home-formulario .elementor-field-group:focus-within::after {
    width: 90%;
}

/* ===== BOTÓN BASE ===== */
.nq-home-formulario .elementor-button,
.nq-btn-fill .elementor-button {
    position: relative;
    overflow: hidden;
    transition: color 0.3s ease;
    z-index: 1;
}

/* ===== CAPA DE FONDO ===== */
.nq-home-formulario .elementor-button::before,
.nq-btn-fill .elementor-button::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: #D61435;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: -1;
}

/* ===== HOVER ===== */
.nq-home-formulario .elementor-button:hover::before,
.nq-btn-fill .elementor-button:hover::before{
    transform: scaleX(1);
}

/* ===== TEXTO EN HOVER ===== */
.nq-home-formulario .elementor-button:hover,
.nq-btn-fill .elementor-button:hover {
    color: #fff;
}

.nq-btn-fill .elementor-button:hover svg {
    fill: #fff;
}

.nq-home-formulario button[type="submit"] {
  background-color: #D61435 !important;
} 
	

/* MENU */
.nq-menu li > a:hover {
	color: #D61435 !important;
}

/* CONTENEDOR DEL DESPLEGABLE */
.e-n-menu .e-n-menu-content > div {
  border-radius: 16px;
  margin-top: 8px;
  z-index: 9999;
}

.category-menu__category {
	transition: all 0.25s ease-in-out;
}

.category-menu__category:hover {
	background-size: 110% !important;
}

.category-menu__category > div:nth-child(2) {
	width: 100% !important;
}

.category-menu__category li.e-n-menu-item {
	width: 100% !important;
	justify-content: end !important;
}

.category-menu__category li.e-n-menu-item > div {
	width: 100% !important;
} 

.category-menu__category button {
	width: 100% !important;
	height: 200px !important;
	justify-content: end !important;
}

.category-menu__category button > span {
	justify-content: end !important;
}

/* ==========================================================
   MENÚ DE CATEGORÍAS
   ========================================================== */
.menu-categorias > .e-con {
    width: 100% !important;
    min-width: 0 !important;
    position: relative;
}


.menu-categorias > .e-con > .elementor-widget-image {
    overflow: visible;
}


.menu-categorias > .e-con > .elementor-widget-image img {
    box-sizing: border-box;
    transform: scale(1);
    transform-origin: center center;
    transition:
        transform 0.25s ease,
        box-shadow 0.2s ease;
}


.menu-categorias > .e-con:hover > .elementor-widget-image img {
    border-width: 4px !important;
    box-shadow:
        inset 0 0 0 2px #e3062c;
    transform: scale(1.05);
}


.menu-categorias > .e-con > .elementor-widget-n-menu {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
}


.menu-categorias .e-n-menu,
.menu-categorias .e-n-menu-heading,
.menu-categorias .e-n-menu-item {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
}


.menu-categorias .e-n-menu-title {
    width: 100% !important;
    height: 70px !important;
    min-height: 70px !important;
    max-height: 70px !important;
    min-width: 0 !important;
    box-sizing: border-box;
    border: 2px solid #e3062c !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    transform: none !important;
    transition:
        box-shadow 0.2s ease;
}

.menu-categorias .e-n-menu-title-container {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    align-items: center;
}

.menu-categorias .e-n-menu-title-text {
    white-space: normal !important;
    transform: none !important;
    transition: none !important;
    line-height: 1.25;
}

.menu-categorias .e-n-menu-title:hover .e-n-menu-title-text,
.menu-categorias > .e-con:hover .e-n-menu-title-text,
.menu-categorias .e-n-menu-title.e-active .e-n-menu-title-text {
    transform: none !important;
    transition: none !important;
}

.menu-categorias .e-n-menu-dropdown-icon {
    flex: 0 0 auto;

    transform: none;
}

.menu-categorias > .e-con:hover .e-n-menu-title {
    border-width: 2px !important;

    box-shadow:
        inset 0 0 0 2px #e3062c;

    transform: none !important;
}

.menu-categorias .e-n-menu-wrapper {
    --stretch-width: 100% !important;
    --stretch-left: 0px !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
}

.menu-categorias .e-n-menu-content {
    width: 100% !important;

    min-width: 100% !important;
    max-width: 100% !important;

    left: 0 !important;
    right: auto !important;

    box-sizing: border-box;
}

.menu-categorias .e-n-menu-content > .e-con {
    width: 100% !important;

    min-width: 100% !important;
    max-width: 100% !important;

    left: 0 !important;
    right: auto !important;

    transform: none !important;

    box-sizing: border-box;
}

.menu-categorias .e-n-menu-content .e-con-inner {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box;
}


.menu-categorias .e-n-menu-content nav,
.menu-categorias .e-n-menu-content ul,
.menu-categorias .e-n-menu-content li {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box;
}

.menu-categorias .e-n-menu-content .elementor-item {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
    white-space: normal !important;
    overflow-wrap: break-word;
    word-break: normal;
}


/* HEADER- BUSCADOR*/
.e-search-form button {
	margin-left: 0 !important;
}

.menu-categorias .e-n-menu-title-text {
	white-space: normal;
}


/* POLÍTICA DE CALIDAD*/
.number-politica-calidad {
	min-width: 45px !important;
	min-height: 45px !important;
}

.number-politica-calidad p {
	margin-bottom: 0 !important;
}

/* CONTACTO */
:root{
  --neo-red:#D61435;
  --neo-red-dark:#BE102E;
  --neo-black:#1A1A1A;
  --neo-muted:#99A1AF;
  --neo-line:#E5E7EB;
  --neo-bg:#F5F6F8;
}

/* ---------- Layout Elementor ---------- */
/* Los bloques siguen siendo contenedores/widgets nativos de Elementor.
   Estas clases solo fijan las proporciones para que la importacion sea
   consistente aunque el Kit de Elementor tenga otros valores por defecto. */
@media (min-width:1025px){
  .neo-layout-left{
    width:61.5% !important;
    flex:0 0 61.5% !important;
    min-width:0;
  }
  .neo-layout-right{
    width:35.5% !important;
    flex:0 0 35.5% !important;
    min-width:0;
  }
}

.neo-social-row{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  gap:10px !important;
  align-items:stretch !important;
}
.neo-social-item{
  width:calc((100% - 30px)/4) !important;
  flex:0 0 calc((100% - 30px)/4) !important;
  min-width:0 !important;
}

/* ---------- Contact Form 7 ---------- */
.neo-contact-form{
  --gap-x:32px;
  padding-top:28px;
  color:var(--neo-black);
  font-family:inherit;
}

/* Neutraliza los <p> y <br> que Contact Form 7 puede insertar automaticamente. */
.neo-contact-form p{margin:0}
.neo-contact-form br{display:none}
.neo-step > p{
  display:flex;
  align-items:center;
  gap:9px;
  margin:0;
}
.neo-grid > p{display:contents}

.neo-form-section{margin-bottom:34px}

.neo-step{
  display:flex;
  align-items:center;
  gap:9px;
  margin-bottom:28px;
  color:var(--neo-muted);
}
.neo-step span{
  display:grid;
  place-items:center;
  flex:0 0 20px;
  width:20px;
  height:20px;
  border-radius:50%;
  background:var(--neo-red);
  color:#fff;
  font-size:10px;
  font-weight:700;
  line-height:1;
}
.neo-step strong{
  color:var(--neo-muted);
  font-size:11px;
  line-height:1;
  letter-spacing:2px;
  font-weight:700;
}

.neo-grid{
  display:grid;
  gap:26px var(--gap-x);
  width:100%;
}
.neo-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.neo-field-wrap{min-width:0}
.neo-field-wrap > p{margin:0}

/* Etiquetas accesibles ocultas: visualmente los nombres van como placeholder. */
.neo-sr-only{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}
.req{color:var(--neo-red)}

.neo-contact-form .wpcf7-form-control-wrap{
  display:block;
  width:100%;
  margin:0;
}

/* Campos con el texto dentro como placeholder.
   Desde la linea base aproximada del texto hasta la linea inferior quedan ~22px. */
.neo-contact-form input[type="text"],
.neo-contact-form input[type="email"],
.neo-contact-form input[type="tel"],
.neo-contact-form select{
  display:block;
  width:100%;
  min-width:0;
  height:44px;
  box-sizing:border-box;
  padding:0 0 21px;
  border:0;
  border-bottom:1px solid var(--neo-line);
  border-radius:0;
  outline:none;
  background:transparent;
  color:var(--neo-black);
  box-shadow:none;
  font:inherit;
  font-size:15px;
  font-weight:400;
  line-height:20px;
  transition:border-color .2s ease;
}
.neo-contact-form input:focus,
.neo-contact-form select:focus,
.neo-contact-form textarea:focus{
  border-bottom-color:var(--neo-red);
}
.neo-contact-form input::placeholder{
  color:var(--neo-muted);
  opacity:1;
}
.neo-contact-form select{
  appearance:auto;
  color:var(--neo-muted);
}

.neo-message-section{margin-top:4px}
.neo-message-wrap{width:100%}
.neo-message-field{display:block;width:100%}
.neo-contact-form textarea{
  display:block;
  width:100%;
  min-width:0;
  height:auto;
  min-height:155px;
  box-sizing:border-box;
  padding:8px 0 12px;
  border:0;
  border-bottom:1px solid var(--neo-line);
  border-radius:0;
  outline:none;
  background:transparent;
  color:var(--neo-black);
  box-shadow:none;
  font:inherit;
  font-size:15px;
  line-height:1.4;
  resize:vertical;
  transition:border-color .2s ease;
}
.neo-contact-form textarea::placeholder{
  color:var(--neo-muted);
  opacity:1;
}

.neo-form-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-top:20px;
}
.neo-acceptance{
  color:#687086;
  font-size:13px;
  line-height:1.4;
}
.neo-acceptance a{
  color:var(--neo-red);
  text-decoration:none;
}
.neo-acceptance a:hover{text-decoration:underline}
.neo-acceptance .wpcf7-list-item{margin:0}
.neo-acceptance label{
  display:flex;
  align-items:center;
  gap:12px;
  cursor:pointer;
}
.neo-acceptance .wpcf7-list-item-label{display:inline}

/* Toggle de privacidad */
.neo-acceptance input[type="checkbox"]{
  appearance:none;
  -webkit-appearance:none;
  position:relative;
  flex:0 0 40px;
  width:40px;
  height:23px;
  margin:0;
  border:0;
  border-radius:999px;
  background:#E5E7EB;
  cursor:pointer;
  transition:background .2s ease;
}
.neo-acceptance input[type="checkbox"]::before{
  content:"";
  position:absolute;
  top:3px;
  left:3px;
  width:17px;
  height:17px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 1px 3px rgba(0,0,0,.16);
  transition:transform .2s ease;
}
.neo-acceptance input[type="checkbox"]:checked{background:var(--neo-red)}
.neo-acceptance input[type="checkbox"]:checked::before{transform:translateX(17px)}

.neo-submit-wrap{
  position:relative;
  flex:0 0 auto;
}
/*.neo-submit-wrap::before{
  content:"↗";
  position:absolute;
  z-index:2;
  top:50%;
  left:26px;
  transform:translateY(-52%);
  color:#fff;
  font-size:17px;
  line-height:1;
  pointer-events:none;
}*/
.neo-contact-form input[type="submit"].neo-submit{
  min-width:135px;
  height:46px;
  margin:0;
  border:0;
  border-radius:999px;
  background:var(--neo-red);
  color:#fff;
  cursor:pointer;
  font-family:inherit;
  font-size:12px;
  font-weight:700;
  letter-spacing:.8px;
  box-shadow:0 10px 22px rgba(214,20,53,.22);
  transition:background .2s ease,transform .2s ease;
}
.neo-contact-form input[type="submit"].neo-submit:hover{
  background:var(--neo-red-dark);
  transform:translateY(-1px);
}
.neo-contact-form input[type="submit"].neo-submit:disabled{
  cursor:not-allowed;
}

.neo-contact-form .wpcf7-not-valid-tip{
  margin-top:6px;
  color:var(--neo-red);
  font-size:11px;
}
.neo-contact-form .wpcf7-response-output{
  margin:20px 0 0 !important;
  padding:12px 14px !important;
  border-width:1px !important;
  border-radius:10px;
  font-size:13px;
}

@media (max-width:1024px){
  .neo-layout-left,
  .neo-layout-right{
    width:100% !important;
    flex:0 0 100% !important;
  }
  .neo-grid-2{grid-template-columns:1fr}
}

@media (max-width:767px){
  .neo-contact-form{--gap-x:18px}
  .neo-form-footer{
    flex-direction:column;
    align-items:flex-start;
  }
  .neo-submit-wrap,
  .neo-contact-form input[type="submit"].neo-submit{width:100%}

  .neo-social-row{
    flex-wrap:wrap !important;
  }
  .neo-social-item{
    width:calc((100% - 10px)/2) !important;
    flex:0 0 calc((100% - 10px)/2) !important;
  }
}

.contact-block-details-content {
	grid-column-start: 2;
}

/* =========================================================
   NEOQUIM · TRABAJA CON NOSOTROS
========================================================= */

.neo-jobs-form {
  --neo-red: #D61435;
  --neo-black: #1A1A1A;
  --neo-gray: #99A1AF;
  --neo-line: #E5E7EB;
  --neo-light: #F5F6F8;

  width: 100%;

  color: var(--neo-black);

  font-family: inherit;
}


/* =========================================================
   NORMALIZAR CONTACT FORM 7
========================================================= */

.neo-jobs-form p {
  margin: 0 !important;
  padding: 0 !important;
}

.neo-jobs-form br {
  display: none !important;
}

.neo-jobs-form .wpcf7-form-control-wrap {
  display: block;

  width: 100%;
}


/* CF7 puede meter un <p> automáticamente dentro del step */

.neo-step,
.neo-step > p {
  display: flex;

  align-items: center;

  gap: 10px;
}

.neo-step > p {
  width: 100%;

  margin: 0 !important;
  padding: 0 !important;
}


/* =========================================================
   SECCIONES
========================================================= */

.neo-form-section {
  margin: 0 0 42px;
}


/* =========================================================
   TÍTULOS DE SECCIÓN
========================================================= */

.neo-step {
  margin: 0 0 27px;
}

.neo-step span {
  display: flex;

  align-items: center;
  justify-content: center;

  flex: 0 0 21px;

  width: 21px;
  height: 21px;

  border-radius: 50%;

  background: var(--neo-red);

  color: #fff;

  font-size: 10px;
  font-weight: 700;

  line-height: 1;
}

.neo-step strong {
  color: var(--neo-gray);

  font-size: 11px;
  font-weight: 700;

  line-height: 1;

  letter-spacing: 1.8px;
}


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

.neo-grid {
  display: grid;

  width: 100%;
}

.neo-grid-2 {
  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  column-gap: 36px;
  row-gap: 27px;
}

.neo-field-wrap {
  min-width: 0;

  margin: 0;
}

.neo-field-wrap > p {
  margin: 0 !important;
}


/* =========================================================
   LABELS ACCESIBLES
========================================================= */

.neo-sr-only {
  position: absolute !important;

  width: 1px !important;
  height: 1px !important;

  padding: 0 !important;

  margin: -1px !important;

  overflow: hidden !important;

  clip: rect(0, 0, 0, 0) !important;

  white-space: nowrap !important;

  border: 0 !important;
}


/* =========================================================
   CAMPOS
========================================================= */

.neo-jobs-form input.neo-input {
  display: block;

  width: 100% !important;
  height: 42px;

  margin: 0 !important;

  padding:
    0 0
    13px !important;

  border: 0 !important;

  border-bottom:
    1px solid var(--neo-line) !important;

  border-radius: 0 !important;

  outline: none !important;

  background: transparent !important;

  box-shadow: none !important;

  color: var(--neo-black) !important;

  font-family: inherit;

  font-size: 14px !important;
  font-weight: 400;

  line-height: 1.3;

  transition:
    border-color .2s ease;
}


/* Placeholder */

.neo-jobs-form input.neo-input::placeholder {
  color: var(--neo-gray) !important;

  opacity: 1 !important;
}


/* =========================================================
   FOCUS
   La línea pasa a negro
========================================================= */

.neo-jobs-form input.neo-input:focus {
  border-bottom-color:
    var(--neo-black) !important;
}


/* Autofill */

.neo-jobs-form input.neo-input:-webkit-autofill,
.neo-jobs-form input.neo-input:-webkit-autofill:hover,
.neo-jobs-form input.neo-input:-webkit-autofill:focus {
  -webkit-text-fill-color:
    var(--neo-black);

  box-shadow:
    0 0 0 1000px #fff inset !important;
}


/* =========================================================
   CURRICULUM VITAE
========================================================= */

.neo-cv-section {
  margin-bottom: 42px;
}


/* Caja de CV */

.neo-cv-dropzone {
  position: relative;

  display: flex;

  align-items: center;

  gap: 15px;

  width: 100%;

  min-height: 88px;

  padding:
    16px 20px;

  border:
    2px dashed var(--neo-line);

  border-radius: 12px;

  background: #fff;

  cursor: pointer;

  transition:
    border-color .2s ease,
    background-color .2s ease;
}


/* Por si CF7 mete un P */

.neo-cv-dropzone > p {
  display: contents;
}


/* Hover */

.neo-cv-dropzone:hover {
  border-color: #C8CDD5;

  background: #FCFCFD;
}


/* Al pulsar / enfocar */

.neo-cv-dropzone:focus-within {
  border-color:
    var(--neo-black);
}


/* =========================================================
   ICONO CV
========================================================= */

.neo-cv-icon {
  display: flex;

  align-items: center;
  justify-content: center;

  flex: 0 0 44px;

  width: 44px;
  height: 44px;

  border-radius: 9px;

  background:
    var(--neo-light);

  color:
    var(--neo-gray);

  pointer-events: none;
}

.neo-cv-icon svg {
  display: block;

  width: 20px;
  height: 20px;
}


/* =========================================================
   TEXTO CV
========================================================= */

.neo-cv-content {
  display: flex;

  flex-direction: column;

  justify-content: center;

  gap: 4px;

  min-width: 0;

  pointer-events: none;
}

.neo-cv-title {
  color:
    var(--neo-black);

  font-family: inherit;

  font-size: 14px;
  font-weight: 500;

  line-height: 1.25;
}

.neo-cv-help {
  color:
    var(--neo-gray);

  font-family: inherit;

  font-size: 12px;
  font-weight: 400;

  line-height: 1.3;
}


/* =========================================================
   INPUT DE ARCHIVO
   Invisible, pero toda la caja es clicable
========================================================= */

.neo-cv-dropzone
.wpcf7-form-control-wrap {
  position: static !important;

  display: block;

  width: 0;
  height: 0;
}

.neo-cv-dropzone
input[type="file"].neo-file {
  position: absolute !important;

  z-index: 5;

  inset: 0;

  display: block !important;

  width: 100% !important;
  height: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  opacity: 0;

  cursor: pointer;
}


/* =========================================================
   ERROR CV
========================================================= */

.neo-cv-dropzone
.wpcf7-not-valid-tip {
  position: absolute;

  top: calc(100% + 6px);
  left: 0;

  display: block !important;

  margin: 0 !important;
  padding: 0 !important;

  color:
    var(--neo-red) !important;

  font-size: 11px !important;

  line-height: 1.35;
}

.neo-cv-dropzone:has(.wpcf7-not-valid) {
  margin-bottom: 22px;

  border-color:
    var(--neo-red);
}


/* =========================================================
   MENSAJE
========================================================= */

.neo-message-section {
  margin-bottom: 34px;
}

.neo-message-wrap {
  width: 100%;
}


/*
   90px: más espacio que las primeras versiones,
   pero sin quedar excesivamente separado.
*/

.neo-jobs-form
textarea.neo-textarea {
  display: block;

  width: 100% !important;

  height: 90px !important;
  min-height: 90px !important;

  max-height: 180px;

  margin: 0 !important;

  padding:
    4px 0
    14px !important;

  border: 0 !important;

  border-bottom:
    1px solid var(--neo-line) !important;

  border-radius: 0 !important;

  outline: none !important;

  background:
    transparent !important;

  box-shadow:
    none !important;

  color:
    var(--neo-black) !important;

  font-family: inherit;

  font-size: 14px !important;
  font-weight: 400;

  line-height: 1.45;

  resize: vertical;

  transition:
    border-color .2s ease;
}


/* Placeholder */

.neo-jobs-form
textarea.neo-textarea::placeholder {
  color:
    var(--neo-gray) !important;

  opacity: 1 !important;
}


/* Focus negro */

.neo-jobs-form
textarea.neo-textarea:focus {
  border-bottom-color:
    var(--neo-black) !important;
}


/* =========================================================
   CONSENTIMIENTOS
========================================================= */

.neo-consents {
  display: flex;

  flex-direction: column;

  gap: 18px;

  margin:
    0 0
    30px;
}

.neo-consent-row {
  position: relative;

  display: grid;

  grid-template-columns:
    42px minmax(0, 1fr);

  align-items: flex-start;

  column-gap: 13px;

  width: 100%;
}


/* =========================================================
   SWITCH
========================================================= */

.neo-consent-check {
  position: relative;

  width: 42px;

  padding-top: 1px;
}

.neo-consent-check
.wpcf7-form-control-wrap,
.neo-consent-check
.wpcf7-form-control,
.neo-consent-check
.wpcf7-list-item,
.neo-consent-check label {
  display: block;

  width: auto;

  margin: 0 !important;
  padding: 0 !important;
}

.neo-consent-check
.wpcf7-list-item {
  margin-left: 0 !important;
}

.neo-consent-check
.wpcf7-list-item-label {
  display: none;
}


/* Interruptor */

.neo-consent-check
input[type="checkbox"] {
  position: relative;

  display: block;

  appearance: none;
  -webkit-appearance: none;

  width: 40px;
  height: 22px;

  margin: 0 !important;
  padding: 0 !important;

  border: 0 !important;

  border-radius: 50px;

  outline: none;

  background:
    var(--neo-line);

  box-shadow:
    none !important;

  cursor: pointer;

  transition:
    background .2s ease;
}


/* Círculo */

.neo-consent-check
input[type="checkbox"]::before {
  content: "";

  position: absolute;

  top: 3px;
  left: 3px;

  width: 16px;
  height: 16px;

  border-radius: 50%;

  background: #fff;

  box-shadow:
    0 1px 3px
    rgba(0, 0, 0, .12);

  transition:
    transform .2s ease;
}


/* Activado */

.neo-consent-check
input[type="checkbox"]:checked {
  background:
    var(--neo-red);
}

.neo-consent-check
input[type="checkbox"]:checked::before {
  transform:
    translateX(18px);
}


/* =========================================================
   TEXTO CONSENTIMIENTOS
========================================================= */

.neo-consent-text {
  min-width: 0;

  color: #6F7685;

  font-size: 12px;
  font-weight: 400;

  line-height: 1.55;
}

.neo-consent-text a {
  color:
    var(--neo-red);

  font-weight: 500;

  text-decoration: none;
}

.neo-consent-text a:hover {
  text-decoration: underline;
}


/* Primera política siempre en una misma línea en escritorio */

.neo-consent-inline {
  display: inline-block;

  white-space: nowrap;
}


/* Segunda frase */

.neo-consent-second-line {
  display: block;

  margin-top: 3px;
}


/* Asterisco */

.req {
  color:
    var(--neo-red);
}


/* =========================================================
   BOTÓN
========================================================= */

.neo-form-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  margin-top: 4px;
}

.neo-submit-wrap {
  position: relative;
}


.neo-jobs-form input.neo-submit {
  min-width: 202px;
  height: 46px;
  margin: 0 !important;
  padding: 0 26px !important;
  border: 0 !important;
  border-radius: 50px !important;
  background: #D61435 !important;
  color: #fff !important;
  box-shadow: 0 8px 20px rgba(214, 20, 53, .18) !important;
  font-family: inherit;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .8px;
  cursor: pointer;
  transition:
    transform .2s ease,
    opacity .2s ease;
}

.neo-jobs-form
input.neo-submit:hover {
	background: #BE102E !important;
  transform: translateY(-1px);
}

/* Eliminar definitivamente la flecha del botón */
.neo-jobs-form .neo-submit-wrap::before,
.neo-jobs-form .neo-submit-wrap::after {
  content: none !important;
  display: none !important;
}


/* =========================================================
   SPINNER
========================================================= */

.neo-jobs-form
.wpcf7-spinner {
  position: absolute;

  top: 50%;
  right: -30px;

  margin: 0;

  transform:
    translateY(-50%);
}


/* =========================================================
   VALIDACIÓN / ERRORES
========================================================= */

.neo-jobs-form
.wpcf7-not-valid-tip {
  display: block !important;

  margin:
    6px 0 0 !important;

  padding: 0 !important;

  color:
    var(--neo-red) !important;

  font-size:
    11px !important;

  font-weight: 400;

  line-height: 1.35;
}


/*
   El error rojo tiene prioridad
   sobre el focus negro.
*/

.neo-jobs-form
input.wpcf7-not-valid.neo-input,
.neo-jobs-form
input.wpcf7-not-valid.neo-input:focus {
  border-bottom-color:
    var(--neo-red) !important;
}

.neo-jobs-form
textarea.wpcf7-not-valid.neo-textarea,
.neo-jobs-form
textarea.wpcf7-not-valid.neo-textarea:focus {
  border-bottom-color:
    var(--neo-red) !important;
}


/* =========================================================
   RESPUESTA GENERAL CF7
========================================================= */

.neo-jobs-form
+ .wpcf7-response-output,
.wpcf7
.wpcf7-response-output {
  margin:
    20px 0 0 !important;

  padding:
    12px 15px !important;

  border:
    1px solid var(--neo-line) !important;

  border-radius:
    8px;

  color:
    #6F7685;

  font-size:
    12px;

  line-height:
    1.45;
}

.wpcf7
form.invalid
.wpcf7-response-output,
.wpcf7
form.unaccepted
.wpcf7-response-output {
  border-color:
    var(--neo-red) !important;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 767px) {

  .neo-grid-2 {
    grid-template-columns: 1fr;

    row-gap: 24px;
  }


  .neo-form-section {
    margin-bottom: 36px;
  }


  /* CV */

  .neo-cv-dropzone {
    min-height: 82px;

    padding:
      14px 16px;
  }

  .neo-cv-icon {
    flex-basis: 42px;

    width: 42px;
    height: 42px;
  }

  .neo-cv-title {
    font-size: 14px;
  }

  .neo-cv-help {
    font-size: 11px;
  }


  /* Mensaje */

  .neo-jobs-form
  textarea.neo-textarea {
    height: 85px !important;

    min-height: 85px !important;
  }


  /* Consentimientos */

  .neo-consent-row {
    grid-template-columns:
      40px minmax(0, 1fr);

    column-gap: 11px;
  }

  /*
     En móvil sí permitimos que la política
     salte de línea para evitar desbordamiento.
  */

  .neo-consent-inline {
    white-space: normal;
  }


  /* Botón */

  .neo-form-footer {
    justify-content: stretch;
  }

  .neo-submit-wrap {
    width: 100%;
  }

  .neo-jobs-form
  input.neo-submit {
    width: 100%;
  }

}

/* NOTICIAS*/
.elementor-pagination {
	margin-top: 32px !important;
}

/* ==========================================================
   NEOQUIM - Descargas V6 GRID NATIVO
   Grid principal de catálogos configurado desde Elementor.
   Sin descripciones dentro de las tarjetas de catálogo.
   ========================================================== */

.nq-downloads-root {
  --nq-red: #D61435;
  --nq-dark: #1A1A1A;
  --nq-text: #6A7282;
  --nq-muted: #9aa2b2;
  --nq-border: #e7e9ef;
  --nq-soft: #fff0f3;
  --nq-bg: #fff;
  --nq-max: 1224px;
  --nq-sticky-offset: 64px;

  width: 100%;
  overflow: visible;
  font-family: Montserrat, Inter, Arial, sans-serif;
  color: var(--nq-dark);
}

.nq-downloads-root *,
.nq-downloads-root *::before,
.nq-downloads-root *::after {
  box-sizing: border-box;
}

.nq-downloads-root .elementor-widget {
  margin-block-end: 0;
}

.nq-downloads-root .elementor-heading-title,
.nq-downloads-root .elementor-widget-text-editor p {
  margin: 0;
}

/* ==========================================================
   TIPOGRAFÍA BASE
   ========================================================== */

.nq-eyebrow .elementor-heading-title {
  margin-bottom: 16px;
  color: var(--nq-red) !important;
  font-family: inherit;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: .24em;
  text-transform: uppercase;
}

.nq-section-title .elementor-heading-title {
  margin-bottom: 20px;
  color: var(--nq-dark) !important;
  font-family: inherit;
  font-size: clamp(34px, 3.2vw, 43px);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -.035em;
}

.nq-section-copy .elementor-widget-container {
  max-width: 720px;
  color: var(--nq-text);
  font-family: inherit;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.65;
}


/*  DESCARGAS  */

/* ========================================
   IMAGEN PRINCIPAL
======================================== */

/* Permitimos que el zoom no se recorte */
.descargas-card > .elementor-widget-image,
.descargas-card > .e-con-inner > .elementor-widget-image {
    overflow: visible;
}

/* Imagen principal */
.descargas-card > .elementor-widget-image img,
.descargas-card > .e-con-inner > .elementor-widget-image img {
    object-fit: cover;

    transition:
        transform 0.45s ease,
        filter 0.45s ease;
}


/* ========================================
   BANDERAS
======================================== */

.descargas-card .e-con-full .elementor-widget-image img {
    transition:
        transform 0.2s ease,
        filter 0.2s ease;
}


/* ========================================
   HOVER SOLO EN DISPOSITIVOS CON RATÓN
======================================== */

@media (hover: hover) and (pointer: fine) {

    /* Hover sobre toda la card:
       zoom + oscurecido de la imagen principal */
    .descargas-card:hover > .elementor-widget-image img,
    .descargas-card:hover > .e-con-inner > .elementor-widget-image img {
        transform: scale(1.06);
        filter: brightness(60%);
    }

    /* Hover sutil de las banderas */
    .descargas-card .e-con-full .elementor-widget-image:hover img {
        transform: translateY(-1px) scale(1.03);
        filter: brightness(1.03);
    }
}


/* ========================================
   RESPONSIVE MÓVIL
======================================== */

@media (max-width: 767px) {

    /* ------------------------------------
       Igualamos la estructura de todas
       las cards
    ------------------------------------ */

    .descargas-card,
    .descargas-card > .e-con-inner {
        row-gap: 0 !important;
    }


    /* ------------------------------------
       IMAGEN PRINCIPAL → TÍTULO
    ------------------------------------ */

    .descargas-card > .elementor-widget-image,
    .descargas-card > .e-con-inner > .elementor-widget-image {
        margin-bottom: 32px !important;
    }


    /* ------------------------------------
       TÍTULO
    ------------------------------------ */

    .descargas-card .nq-card-title {
        position: relative;

        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }

    .descargas-card .nq-card-title h3 {
        margin: 0 !important;
        line-height: 1.25;
    }


    /* ------------------------------------
       TÍTULO → BANDERAS
    ------------------------------------ */

    .descargas-card .nq-card-title + .e-con-full {
        margin-top: 6px !important;
    }


    /* ------------------------------------
       CONTENEDOR DE BANDERAS
    ------------------------------------ */

    .descargas-card .e-con-full {
        gap: 10px !important;

        justify-content: center;
        flex-wrap: wrap;
    }


    /* ------------------------------------
       BANDERAS CIRCULARES
    ------------------------------------ */

    .descargas-card .e-con-full .elementor-widget-image {
        width: 40px !important;
        height: 40px !important;

        flex: 0 0 40px;
    }

    .descargas-card .e-con-full .elementor-widget-image a {
        display: block;

        width: 40px;
        height: 40px;
    }

    .descargas-card .e-con-full .elementor-widget-image img {
        display: block;

        width: 40px !important;
        height: 40px !important;

        aspect-ratio: 1 / 1;
        object-fit: cover;

        border-radius: 50%;
    }


    /* ------------------------------------
       SIN HOVER EN MÓVIL
    ------------------------------------ */

    .descargas-card:hover > .elementor-widget-image img,
    .descargas-card:hover > .e-con-inner > .elementor-widget-image img,
    .descargas-card .e-con-full .elementor-widget-image:hover img {
        transform: none;
        filter: none;
    }
}

/* GUIAS */

.guias-rapidas-card {
	position: relative;
    border-radius: 54px !important;
    overflow: hidden !important;
     background-position: center center !important;
    background-repeat: no-repeat !important;
    background-size: 100% auto !important;

    /* Oscurecimiento */
    background-color: rgba(0, 0, 0, 0.45) !important;
    background-blend-mode: multiply;
    transition: background-size 0.45s ease;
}

/* Hover solo en dispositivos con ratón */
@media (hover: hover) and (pointer: fine) {

    .guias-rapidas-card:hover {
        background-size: 105% auto !important;
    }
}



/* ==========================================================
   CATÁLOGOS
   El grid de tarjetas es un CONTENEDOR GRID NATIVO DE ELEMENTOR.
   Las columnas (3 / 2 / 1) y el gap se editan desde Elementor.
   ========================================================== */

.nq-catalog-section {
  display: flex !important;
  flex-direction: column !important;
  width: 100%;
  padding-top: 48px !important;
  padding-right: max(20px, calc((100% - var(--nq-max)) / 2)) !important;
  padding-bottom: 82px !important;
  padding-left: max(20px, calc((100% - var(--nq-max)) / 2)) !important;
  background: var(--nq-bg);
  scroll-margin-top: calc(var(--nq-sticky-offset) + 76px);
}

.nq-catalog-section > .nq-eyebrow,
.nq-catalog-section > .nq-section-title,
.nq-catalog-section > .nq-section-copy,
.nq-catalog-section > .nq-catalog-grid {
  width: min(100%, var(--nq-max)) !important;
  max-width: var(--nq-max) !important;
  margin-inline: auto !important;
}

.nq-catalog-section > .nq-section-copy {
  margin-bottom: 34px !important;
}

/* No definimos display/grid-template-columns aquí: lo controla Elementor. */
.nq-catalog-grid {
  min-width: 0;
}

.nq-card {
  position: relative;
  display: grid !important;
  grid-template-columns: 48px minmax(0, 1fr);
  grid-template-rows: auto 1fr auto auto;
  column-gap: 15px !important;
  row-gap: 0 !important;
  min-width: 0;
  min-height: 220px;
  padding: 32px 32px 28px !important;
  overflow: hidden;
  border: 1px solid var(--nq-border);
  border-radius: 18px;
  background: #fff;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.nq-card::before {
  content: "";
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: var(--nq-red);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .22s ease;
}

.nq-card:hover {
  transform: translateY(-3px);
  border-color: rgba(214, 20, 53, .35);
  box-shadow: 0 12px 26px rgba(26, 26, 26, .10);
}

.nq-card:hover::before {
  transform: scaleX(1);
}

/* Icono de catálogo centrado dentro de su cuadrado, sin wrapper extra. */
.nq-card > .nq-sector-icon {
  grid-column: 1;
  grid-row: 1;
  align-self: center;
  width: 48px !important;
  height: 48px !important;
  min-height: 48px !important;
}

.nq-sector-icon > .elementor-widget-container,
.nq-sector-icon .elementor-icon-wrapper,
.nq-sector-icon .elementor-icon {
  width: 48px !important;
  height: 48px !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.nq-sector-icon > .elementor-widget-container,
.nq-sector-icon .elementor-icon-wrapper,
.nq-sector-icon .elementor-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
}

.nq-sector-icon .elementor-icon {
  border-radius: 14px;
  background: var(--nq-soft);
  color: var(--nq-red);
  fill: var(--nq-red);
  font-size: 18px;
}

.nq-sector-icon .elementor-icon svg {
  display: block;
  width: 1em;
  height: 1em;
  margin: 0;
}

.nq-card > .nq-card-title {
  grid-column: 2;
  grid-row: 1;
  align-self: center;
  min-width: 0;
}

.nq-card-title .elementor-heading-title {
  color: var(--nq-dark) !important;
  font-family: inherit;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
}


/* El borde sustituye a los 6 widgets Divider de la versión anterior. */
.nq-card > .nq-download-label {
  grid-column: 1 / -1;
  grid-row: 3;
  align-self: end;
  margin-top: 20px !important;
  padding-top: 20px !important;
  border-top: 1px solid var(--nq-border);
}

.nq-download-label .elementor-heading-title {
  color: var(--nq-muted) !important;
  font-family: inherit;
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .15em;
  text-transform: uppercase;
}

/* Multiidioma: contenedor solo cuando hay 2 o más botones. */
.nq-card > .nq-buttons {
  grid-column: 1 / -1;
  grid-row: 4;
  margin-top: 12px !important;
}

/* Un solo idioma: el botón va directo en la tarjeta. */
.nq-card > .nq-download {
  grid-column: 1 / -1;
  grid-row: 4;
  justify-self: start;
  margin-top: 12px !important;
}

/* ==========================================================
   BOTONES DE DESCARGA
   ========================================================== */

.nq-buttons {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px !important;
  width: auto !important;
}

.nq-download {
  width: auto !important;
  flex: 0 0 auto !important;
}

.nq-download .elementor-button-wrapper {
  line-height: 1;
}

.nq-downloads-root .nq-download .elementor-button {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 10px 15px;
  border: 1px solid var(--nq-border) !important;
  border-radius: 999px;
  background: #f4f5f7 !important;
  color: #6A7282 !important;
  box-shadow: none;
  font-family: inherit;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .04em;
  text-transform: uppercase;
  transition: color .18s ease, background-color .18s ease, border-color .18s ease, transform .18s ease;
}

.nq-downloads-root .nq-download .elementor-button-text,
.nq-downloads-root .nq-download .elementor-button-icon,
.nq-downloads-root .nq-download .elementor-button-icon i,
.nq-downloads-root .nq-download .elementor-button-icon svg {
  color: #6A7282 !important;
  fill: currentColor !important;
}

.nq-downloads-root .nq-download .elementor-button-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
}

.nq-downloads-root .nq-download .elementor-button:hover,
.nq-downloads-root .nq-download .elementor-button:focus-visible {
  background: var(--nq-red) !important;
  border-color: var(--nq-red) !important;
  color: #fff !important;
  transform: translateY(-1px);
}

.nq-downloads-root .nq-download .elementor-button:hover .elementor-button-text,
.nq-downloads-root .nq-download .elementor-button:focus-visible .elementor-button-text,
.nq-downloads-root .nq-download .elementor-button:hover .elementor-button-icon,
.nq-downloads-root .nq-download .elementor-button:focus-visible .elementor-button-icon,
.nq-downloads-root .nq-download .elementor-button:hover .elementor-button-icon i,
.nq-downloads-root .nq-download .elementor-button:focus-visible .elementor-button-icon i,
.nq-downloads-root .nq-download .elementor-button:hover .elementor-button-icon svg,
.nq-downloads-root .nq-download .elementor-button:focus-visible .elementor-button-icon svg {
  color: #fff !important;
  fill: currentColor !important;
}

/* ==========================================================
   GUÍAS RÁPIDAS
   ========================================================== */

.nq-guides-section {
  display: flex !important;
  flex-direction: column !important;
  width: 100%;
  padding: 66px 20px 82px !important;
  background: #f7f8fa;
  scroll-margin-top: calc(var(--nq-sticky-offset) + 76px);
}

.nq-guides-section > .nq-eyebrow,
.nq-guides-section > .nq-section-title,
.nq-guides-section > .nq-section-copy,
.nq-guides-section > .nq-guide-group {
  width: min(100%, var(--nq-max)) !important;
  max-width: var(--nq-max) !important;
  margin-inline: auto !important;
}

.nq-guide-group {
  display: grid !important;
  grid-template-columns: 64px minmax(0, 1fr) auto;
  align-items: center;
  column-gap: 13px !important;
  row-gap: 0 !important;
  overflow: hidden;
  margin-top: 24px !important;
  padding: 0 !important;
  border: 1px solid var(--nq-border);
  border-radius: 18px;
  background: #fff;
}

.nq-guides-section > .nq-guide-group:first-of-type {
  margin-top: 58px !important;
}

/* Cabecera del sector: tres widgets directos, sin contenedores auxiliares. */
.nq-guide-group > .nq-guide-sector-icon {
  grid-column: 1;
  grid-row: 1;
  justify-self: end;
  width: 36px !important;
  height: 36px !important;
  margin: 15px 0 !important;
}

.nq-guide-sector-icon > .elementor-widget-container,
.nq-guide-sector-icon .elementor-icon-wrapper,
.nq-guide-sector-icon .elementor-icon {
  width: 36px !important;
  height: 36px !important;
  min-height: 36px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.nq-guide-sector-icon > .elementor-widget-container,
.nq-guide-sector-icon .elementor-icon-wrapper,
.nq-guide-sector-icon .elementor-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
}

.nq-guide-sector-icon .elementor-icon {
  border-radius: 10px;
  background: var(--nq-soft);
  color: var(--nq-red);
  fill: var(--nq-red);
  font-size: 13px;
}

.nq-guide-sector-icon .elementor-icon svg {
  display: block;
  width: 1em;
  height: 1em;
  margin: 0;
}

.nq-guide-group > .nq-guide-group-title {
  grid-column: 2;
  grid-row: 1;
  align-self: center;
  min-width: 0;
}

.nq-guide-group-title .elementor-heading-title {
  color: var(--nq-dark) !important;
  font-family: inherit;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
}

.nq-guide-group > .nq-guide-count {
  grid-column: 3;
  grid-row: 1;
  width: auto !important;
  margin-right: 28px !important;
}

.nq-guide-count .elementor-heading-title {
  color: var(--nq-muted) !important;
  font-family: inherit;
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .06em;
  text-transform: uppercase;
  white-space: nowrap;
}

/* Una fila = un único contenedor: icono + título + botones. */
.nq-guide-group > .nq-guide-row {
  grid-column: 1 / -1;
}

.nq-guide-row {
  display: grid !important;
  grid-template-columns: 28px minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px !important;
  min-height: 62px;
  padding: 12px 28px !important;
  border-top: 1px solid #f0f1f4;
  transition: background-color .18s ease;
}

.nq-guide-row:hover {
  background: var(--nq-soft);
}

.nq-guide-row > .nq-guide-doc-icon {
  grid-column: 1;
  width: 28px !important;
  height: 28px !important;
}

.nq-guide-doc-icon > .elementor-widget-container,
.nq-guide-doc-icon .elementor-icon-wrapper,
.nq-guide-doc-icon .elementor-icon {
  width: 28px !important;
  height: 28px !important;
  min-height: 28px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.nq-guide-doc-icon > .elementor-widget-container,
.nq-guide-doc-icon .elementor-icon-wrapper,
.nq-guide-doc-icon .elementor-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
}

.nq-guide-doc-icon .elementor-icon {
  border-radius: 7px;
  background: #f4f5f7;
  color: var(--nq-text);
  fill: var(--nq-text);
  font-size: 11px;
  transition: color .18s ease, fill .18s ease, background-color .18s ease;
}

.nq-guide-doc-icon .elementor-icon svg {
  display: block;
  width: 1em;
  height: 1em;
  margin: 0;
}

.nq-guide-row:hover .nq-guide-doc-icon .elementor-icon {
  background: #ffe2e8;
  color: var(--nq-red);
  fill: var(--nq-red);
}

.nq-guide-row > .nq-guide-name {
  grid-column: 2;
  min-width: 0;
}

.nq-guide-name .elementor-heading-title {
  color: var(--nq-dark) !important;
  font-family: inherit;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.35;
}

/* Multiidioma: contenedor solo si hay varios botones. */
.nq-guide-row > .nq-guide-buttons {
  grid-column: 3;
  justify-self: end;
  justify-content: flex-end !important;
  width: auto !important;
}

/* Un único idioma: el Button de Elementor va directo en la fila. */
.nq-guide-row > .nq-download {
  grid-column: 3;
  justify-self: end;
}

/* ==========================================================
   PROTECCIÓN CONTRA COLORES GLOBALES DE ELEMENTOR
   ========================================================== */

.nq-downloads-root .elementor-widget-heading .elementor-heading-title {
  color: var(--nq-dark) !important;
}

.nq-downloads-root .nq-eyebrow .elementor-heading-title {
  color: var(--nq-red) !important;
}

.nq-downloads-root .nq-download-label .elementor-heading-title,
.nq-downloads-root .nq-guide-count .elementor-heading-title {
  color: var(--nq-muted) !important;
}

/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 1024px) {
  .nq-catalog-section {
    padding-right: 20px !important;
    padding-left: 20px !important;
  }
}

@media (max-width: 767px) {
  .nq-catalog-section {
    padding: 48px 16px 58px !important;
  }

  .nq-catalog-section > .nq-section-copy {
    margin-bottom: 20px !important;
  }

  .nq-guides-section {
    padding: 48px 16px 58px !important;
  }

  .nq-section-title .elementor-heading-title {
    font-size: 32px;
  }

  .nq-card {
    min-height: auto;
    padding: 26px 24px 24px !important;
  }

  .nq-guides-section > .nq-guide-group:first-of-type {
    margin-top: 36px !important;
  }

  .nq-guide-group {
    grid-template-columns: 54px minmax(0, 1fr) auto;
    column-gap: 10px !important;
  }

  .nq-guide-group > .nq-guide-count {
    margin-right: 18px !important;
  }

  .nq-guide-row {
    grid-template-columns: 28px minmax(0, 1fr) auto;
    gap: 12px !important;
    padding: 14px 18px !important;
  }
}

@media (max-width: 560px) {
  .nq-guide-row {
    grid-template-columns: 28px minmax(0, 1fr);
  }

  .nq-guide-row > .nq-guide-buttons,
  .nq-guide-row > .nq-download {
    grid-column: 2;
    grid-row: 2;
    justify-self: start;
    justify-content: flex-start !important;
    margin-top: 2px !important;
  }
}

@media (max-width: 480px) {
  .nq-guide-group-title .elementor-heading-title {
    font-size: 13px;
  }

  .nq-guide-count .elementor-heading-title {
    font-size: 9px;
  }

  .nq-downloads-root .nq-download .elementor-button {
    min-height: 38px;
    padding: 9px 13px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .nq-downloads-root *,
  .nq-downloads-root *::before,
  .nq-downloads-root *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}


/* CATÁLOGO*/
.nq-related-products h2 {
  font-size: 22px !important;
}

.nq-eyebrow,
.nq-product-card-link,
.nq-product-name {
  color: #D61435 !important;
}

.nq-button-primary, .nq-filter-submit {
  background:#D61435 !important;
}

.nq-product-name {
	/*color: #6A7282 !important;*/
	font-size: 28px;
	font-weight: 700;
}

.nq-product-copy a,
.nq-section-label,
.nq-product-kicker,
.nq-product-card-category {
	color: #1a1a1a !important;
}

.nq-product-title {
  font-size: 26px;
}

.nq-product-lead {
  font-size: 16px !important;
}

.nq-section-label {
  font-size: 14px;
  font-weight: 700;
}

.nq-gallery-main img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 599px;
  object-fit: contain;
  filter: drop-shadow(0 14px 22px rgb(23 26 31 / 7%));
}

.nq-product-card-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  padding: 20px;
  transition: transform 220ms ease;
  background-position: right;
  object-position: center bottom !important;
  aspect-ratio: 1;
}

.nq-product-card-media {
  display: grid;
  place-items: center;
  aspect-ratio: auto;
  background: var(--nq-surface);
  overflow: hidden;
}