/* Web aprobada (04-nov) dentro de WordPress. Se carga la última, después del CSS del HTML.
   Las envolturas que añaden Elementor y el Theme Builder no generan caja: cada sección se maqueta como en el HTML,
   colgando directamente de <main> (y la cabecera y el pie, de <body>). */
.akq-web .elementor,
.akq-web .elementor-location-header,
.akq-web .elementor-location-footer,
.akq-web .e-con.akq-web-sec,
.akq-web .e-con.akq-web-cab,
.akq-web .e-con.akq-web-pie,
.akq-web .e-con > .e-con-inner,
.akq-web .elementor-widget-html,
.akq-web .elementor-widget-html > .elementor-widget-container { display: contents; }

.akq-web .e-con.akq-web-form { display: contents; }

/* ---------- Formularios de Elementor Pro con el aspecto del HTML aprobado (.frm de p-b.css) ----------
   Con «body.akq-web» delante para pesar más que los estilos en línea de los widgets de Elementor.
   La caja (.frm: borde, sombra, relleno) es la del HTML; dentro va el formulario de WordPress. */
body:is(.akq-web, .akq-n) .akq-form .elementor-widget-form, body:is(.akq-web, .akq-n) .akq-form form.elementor-form { display: block; margin: 0; }
body:is(.akq-web, .akq-n) .akq-form .elementor-form-fields-wrapper { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 16px; margin: 0; }
body:is(.akq-web, .akq-n) .akq-form .elementor-field-group { display: flex; flex-direction: column; flex-wrap: nowrap; align-items: stretch; gap: 5px; min-width: 0; width: auto; max-width: none; padding: 0; margin: 0; }
/* En las páginas nativas carga el CSS base de Elementor (flex-basis: 100% de campos y desplegables): cada pieza, su alto. */
body:is(.akq-web, .akq-n) .akq-form .elementor-field-group > * { flex: 0 0 auto; }
body:is(.akq-web, .akq-n) .akq-form .elementor-col-100 { grid-column: 1 / -1; }
body:is(.akq-web, .akq-n) .akq-form .elementor-field-type-honeypot, body:is(.akq-web, .akq-n) .akq-form .elementor-form-fields-wrapper > :has(> input[name$="[hp]"]) { display: none; }  /* campo trampa: sin hueco en la rejilla */
body:is(.akq-web, .akq-n) .akq-form .elementor-field-label { font-size: 13.5px; font-weight: 500; line-height: 1.35; color: var(--azul); }
body:is(.akq-web, .akq-n) .akq-form .elementor-field-required .elementor-field-label::after { content: " *"; color: var(--cobre-txt); }
body:is(.akq-web, .akq-n) .akq-form .elementor-field-textual, body:is(.akq-web, .akq-n) .akq-form input.elementor-field:not([type=checkbox]):not([type=radio]), body:is(.akq-web, .akq-n) .akq-form textarea.elementor-field {
  width: 100%; min-height: 46px; padding: 10px 12px; font: 400 16px/1.4 Poppins, sans-serif; color: var(--azul);
  background: var(--blanco); border: 1px solid #CFC7BF; border-radius: var(--r-s); transition: border-color var(--t); box-shadow: none; }
body:is(.akq-web, .akq-n) .akq-form textarea.elementor-field { height: 96px; min-height: 96px; resize: vertical; }
body:is(.akq-web, .akq-n) .akq-form .elementor-select-wrapper { position: relative; display: block; width: 100%; }
body:is(.akq-web, .akq-n) .akq-form .elementor-select-wrapper select { display: block; height: 46px; }
body:is(.akq-web, .akq-n) .akq-form .elementor-select-wrapper::before { content: none; }  /* flecha de la fuente eicons: la pone el fondo del select */
body:is(.akq-web, .akq-n) .akq-form .elementor-select-wrapper .select-caret-down-wrapper { display: none; }
body:is(.akq-web, .akq-n) .akq-form .elementor-select-wrapper select { appearance: none; -webkit-appearance: none; padding-right: 34px; cursor: pointer;
  background: var(--blanco) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23041A27' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center; }
body:is(.akq-web, .akq-n) .akq-form .elementor-field:hover, body:is(.akq-web, .akq-n) .akq-form .elementor-field-textual:hover { border-color: var(--azul); }
body:is(.akq-web, .akq-n) .akq-form .elementor-field:focus-visible, body:is(.akq-web, .akq-n) .akq-form .elementor-field-textual:focus-visible { outline: 2px solid var(--azul); outline-offset: 1px; border-color: var(--azul); }
/* casilla de privacidad y opciones de radio */
body:is(.akq-web, .akq-n) .akq-form .elementor-field-subgroup { display: flex; flex-wrap: wrap; gap: 18px; }
body:is(.akq-web, .akq-n) .akq-form .elementor-field-type-radio .elementor-field-subgroup { min-height: 46px; align-items: center; }
body:is(.akq-web, .akq-n) .akq-form .elementor-field-option { display: inline-flex; align-items: center; gap: 8px; }
body:is(.akq-web, .akq-n) .akq-form .elementor-field-option label { font-size: 13.5px; font-weight: 400; line-height: 1.35; color: var(--azul); cursor: pointer; }
body:is(.akq-web, .akq-n) .akq-form .elementor-field-type-acceptance .elementor-field-option { align-items: flex-start; }
body:is(.akq-web, .akq-n) .akq-form .elementor-field-type-acceptance .elementor-field-option label { font-size: 13.5px; font-weight: 500; line-height: 1.35; color: var(--azul); }
body:is(.akq-web, .akq-n) .akq-form input[type=radio], body:is(.akq-web, .akq-n) .akq-form input[type=checkbox] { width: 20px; height: 20px; margin: 0; flex: none; accent-color: var(--cobre-txt); }
body:is(.akq-web, .akq-n) .akq-form .elementor-field-type-acceptance input[type=checkbox] { margin-top: 1px; }
/* rótulos de paso (fieldset/legend del HTML) y nota bajo un campo */
body:is(.akq-web, .akq-n) .akq-form .akq-form__legend { margin: 0; font-size: 14px; font-weight: 600; letter-spacing: .03em; color: var(--cobre-txt); }
body:is(.akq-web, .akq-n) .akq-form .elementor-field-group-paso1 { margin-bottom: -2px; }
body:is(.akq-web, .akq-n) .akq-form .elementor-field-group-paso2 { margin-top: 8px; padding-top: 20px; border-top: 1px solid var(--linea); }
body:is(.akq-web, .akq-n) .akq-form .elementor-field-group:has(.frm__hint) { margin-top: -9px; }
/* pie: aviso de obligatorios a la izquierda y botón a la derecha */
/* (Elementor pone la clase de un campo en el propio campo, no en su caja: por eso :has) */
body:is(.akq-web, .akq-n) .akq-form .elementor-field-group:has(.akq-form__oblig) { justify-content: center; margin-top: 6px; }
body:is(.akq-web, .akq-n) .akq-form .akq-form__oblig { margin: 0; font-size: 13px; color: var(--suave); }
body:is(.akq-web, .akq-n) .akq-form .e-form__buttons { display: flex; flex-direction: row; justify-content: flex-end; align-items: center; margin-top: 6px; }
body:is(.akq-web, .akq-n) .akq-form .elementor-button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; padding: 10px 22px;
  font: 500 15px/1.2 Poppins, sans-serif; letter-spacing: .01em; text-decoration: none; border-radius: var(--r-s); border: 1px solid transparent;
  cursor: pointer; background: var(--cobre-txt); color: var(--blanco); transition: background-color var(--t), color var(--t); width: auto; }
body:is(.akq-web, .akq-n) .akq-form .elementor-button:hover, body:is(.akq-web, .akq-n) .akq-form .elementor-button:focus-visible { background: var(--cobre-osc); color: var(--blanco); }
body:is(.akq-web, .akq-n) .akq-form .elementor-button:focus-visible { outline: 2px solid var(--azul); outline-offset: 2px; }
body:is(.akq-web, .akq-n) .akq-form .elementor-button-content-wrapper { display: inline-flex; align-items: center; gap: 8px; }
body:is(.akq-web, .akq-n) .akq-form .elementor-button-text::after { content: ""; display: inline-block; width: 16px; height: 16px; margin-left: 8px; vertical-align: -3px; background: currentColor; transition: transform var(--t);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z'/%3E%3Cpath d='m21.854 2.147-10.94 10.939'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z'/%3E%3Cpath d='m21.854 2.147-10.94 10.939'/%3E%3C/svg%3E") center / contain no-repeat; }
body:is(.akq-web, .akq-n) .akq-form .elementor-button:hover .elementor-button-text::after { transform: translateX(2px); }
body:is(.akq-web, .akq-n) .akq-form .elementor-button.elementor-form-button-loading, body:is(.akq-web, .akq-n) .akq-form form.elementor-form-waiting .elementor-button { opacity: .6; pointer-events: none; }
/* mensajes de Elementor (envío y errores de campo) */
body:is(.akq-web, .akq-n) .akq-form .elementor-message { grid-column: 1 / -1; margin: 14px 0 0; padding: 10px 14px; font-size: 14px; line-height: 1.5; border-radius: var(--r-s); }
body:is(.akq-web, .akq-n) .akq-form .elementor-message-success { color: var(--azul); background: #E9F3EC; }
body:is(.akq-web, .akq-n) .akq-form .elementor-message-danger { color: #8A1F11; background: #FBEAE6; }
body:is(.akq-web, .akq-n) .akq-form .elementor-help-inline { margin: 4px 0 0; padding: 6px 10px; font-size: 13px; }
body:is(.akq-web, .akq-n) .akq-form .elementor-error .elementor-field, body:is(.akq-web, .akq-n) .akq-form .elementor-error .elementor-field-textual { border-color: #B3261E; }
@media (max-width: 699px) {
  body:is(.akq-web, .akq-n) .akq-form .elementor-form-fields-wrapper { grid-template-columns: 1fr 1fr; gap: 12px 10px; }
  body:is(.akq-web, .akq-n) .akq-form .elementor-field-group:not(:has(.akq-corto)) { grid-column: 1 / -1; }
  body:is(.akq-web, .akq-n) .akq-form .elementor-field-group:has(.akq-corto) { justify-content: flex-end; }
  body:is(.akq-web, .akq-n) .akq-form input[type=date].elementor-field { padding: 0 8px; font-size: 15px; letter-spacing: -.01em; }
  body:is(.akq-web, .akq-n) .akq-form .e-form__buttons { order: 98; }
  body:is(.akq-web, .akq-n) .akq-form .elementor-field-group:has(.akq-form__oblig) { order: 99; text-align: center; margin-top: 0; }
  body:is(.akq-web, .akq-n) .akq-form .elementor-button { width: 100%; }
  body:is(.akq-web, .akq-n) .akq-form .elementor-message { order: 100; }
  body:is(.akq-web, .akq-n) .akq-form .akq-form__legend { text-align: center; }
}

/* ---------- Entradas del blog (plantilla de entrada nativa, wp/15-plantilla-entrada.php) ----------
   Portada: título (Título dinámico, h1) y fecha como en las portadas de artículo; títulos largos a la talla de .phero__h--largo. */
body.akq-n .phero .akq-entrada__h1 .elementor-heading-title {
  margin: 0; max-width: 920px; font-family: inherit; font-size: clamp(26px, 2.6vw, 38px); font-weight: 600; line-height: 1.12;
  letter-spacing: -.01em; color: var(--blanco); text-shadow: 0 2px 18px rgba(0, 0, 0, .3); text-wrap: balance;
}
body.akq-n .phero .phero__fecha .elementor-heading-title { margin: 10px 0 0; font-family: inherit; font-size: 13.5px; font-weight: 400; line-height: 1.5; color: rgba(255, 255, 255, .78); }
/* Texto de la entrada: lo hacen los widgets del blog (Sección, Editor de texto, Título, Imagen, Espaciador, Botón) con
   colores y tipografías del kit antiguo puestos widget a widget. Aquí manda la tipografía de la columna de lectura (.lect). */
body.akq-n .akq-entrada__txt { text-align: left; }
body.akq-n .akq-entrada__txt .elementor-section,
body.akq-n .akq-entrada__txt .elementor-container,
body.akq-n .akq-entrada__txt .elementor-column,
body.akq-n .akq-entrada__txt .elementor-widget-wrap { display: block !important; width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; background: none !important; }
body.akq-n .akq-entrada__txt .elementor-widget-heading .elementor-heading-title {
  margin: 34px 0 12px !important; font-family: Poppins, sans-serif !important; font-size: clamp(21px, 1.9vw, 26px) !important;
  font-weight: 600 !important; line-height: 1.25 !important; letter-spacing: -.01em !important; text-transform: none !important;
  color: var(--azul) !important; text-align: left !important; text-wrap: balance;
}
body.akq-n .akq-entrada__txt .elementor-widget-text-editor {
  font-family: Poppins, sans-serif !important; font-size: 16px !important; font-weight: 400 !important; line-height: 1.75 !important;
  color: var(--suave) !important; text-align: left !important;
}
body.akq-n .akq-entrada__txt .elementor-widget-text-editor p { margin: 0 0 14px; }
body.akq-n .akq-entrada__txt .elementor-widget-text-editor :is(h2, h3, h4) { margin: 26px 0 10px; font-size: 19px; line-height: 1.3; color: var(--azul); }
body.akq-n .akq-entrada__txt .elementor-widget-text-editor :is(ul, ol) { margin: 0 0 14px; padding-left: 22px; }
body.akq-n .akq-entrada__txt .elementor-widget-text-editor li { margin-bottom: 6px; }
body.akq-n .akq-entrada__txt .elementor-widget-text-editor strong { color: var(--azul); }
body.akq-n .akq-entrada__txt .elementor-widget-text-editor a { color: var(--cobre-txt); font-weight: 500; text-decoration: underline; text-underline-offset: 3px; }
body.akq-n .akq-entrada__txt .elementor-widget-image img { display: block; width: 100%; height: auto; margin: 22px 0; border-radius: var(--r-s); }
body.akq-n .akq-entrada__txt .elementor-spacer-inner { height: 8px !important; }
body.akq-n .akq-entrada__txt .elementor-widget-button .elementor-button-wrapper { display: block !important; margin: 18px 0 22px; }
body.akq-n .akq-entrada__txt .elementor-button {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; padding: 10px 22px;
  font: 500 15px/1.2 Poppins, sans-serif !important; letter-spacing: .01em; text-transform: none !important; text-decoration: none;
  border-radius: var(--r-s) !important; border: 0 !important; background: var(--cobre-txt) !important; color: var(--blanco) !important;
}
body.akq-n .akq-entrada__txt .elementor-button:hover { background: var(--cobre-osc) !important; }
body.akq-n .akq-entrada__txt > .elementor-widget-theme-post-content > .elementor-widget-container > :first-child,
body.akq-n .akq-entrada__txt .elementor-section:first-child .elementor-widget:first-child .elementor-heading-title { margin-top: 0 !important; }
/* Fotos verticales del blog: como mucho 560 px de alto, recortadas al centro (en la columna de lectura no caben enteras). */
body.akq-n .akq-entrada__txt .elementor-widget-image img { max-height: 560px; object-fit: cover; }
