/* Formularios de EiAmazonia (se envían a HubSpot con recursos/formularios.js) */
.formulario{color:#333;font-family:var(--sans)}
.formulario [hidden]{display:none!important}
.formulario .nota-obligatorios{font-size:14px;color:#666;margin:0 0 20px}
.formulario .obligatorio{color:var(--rojo);font-weight:400}
.formulario .campo{margin:0 0 20px;min-width:0}
.formulario .fila-2{display:grid;grid-template-columns:1fr;gap:0 24px}
@media (min-width:768px){.formulario .fila-2{grid-template-columns:1fr 1fr}}
.formulario label,.formulario legend{display:block;font-weight:700;font-size:16px;line-height:1.4;color:#333;margin:0 0 6px;padding:0}
.formulario .ayuda{display:block;font-size:14px;color:#666;font-weight:400;margin:-2px 0 8px;line-height:1.45}
.formulario input[type="text"],.formulario input[type="email"],.formulario input[type="tel"],.formulario input[type="url"],
.formulario select,.formulario textarea{display:block;width:100%;padding:11px 12px;border:1px solid #c9c9c9;border-radius:2px;background:#fff;color:#222;font:inherit;font-size:16px;line-height:1.4;transition:border-color .2s,box-shadow .2s}
.formulario textarea{min-height:140px;resize:vertical}
.formulario select{appearance:none;-webkit-appearance:none;padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%2350653E' stroke-width='1.6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:12px 8px}
.formulario input:focus,.formulario select:focus,.formulario textarea:focus{outline:none;border-color:var(--verde);box-shadow:0 0 0 3px rgba(80,101,62,.2)}
.formulario input:focus-visible,.formulario select:focus-visible,.formulario textarea:focus-visible{outline:3px solid var(--naranja);outline-offset:1px}

/* Casillas y botones de opción */
.formulario fieldset{border:0;margin:0 0 20px;padding:0;min-width:0}
.formulario .opciones-form{display:grid;gap:8px;margin:4px 0 0}
@media (min-width:768px){.formulario .opciones-form.dos-columnas{grid-template-columns:1fr 1fr;gap:8px 20px}}
.formulario .opcion{display:flex;align-items:flex-start;gap:10px;font-weight:400;font-size:15px;line-height:1.4;margin:0;cursor:pointer;color:#333}
.formulario .opcion input,.formulario .casilla input{flex:none;width:18px;height:18px;margin:1px 0 0;accent-color:var(--verde);cursor:pointer}
.formulario .casilla{display:flex;align-items:flex-start;gap:10px}
.formulario .casilla label{font-weight:400;font-size:15px;margin:0;cursor:pointer}
.formulario .casilla a,.formulario .ayuda a{color:var(--verde);font-weight:600}

/* Secciones de los formularios largos */
.formulario .bloque-form{margin:0 0 34px;padding:0 0 10px;border-bottom:1px solid #e4e4e4}
.formulario .bloque-form>h2{font-size:21px;color:var(--verde);font-weight:700;margin:0 0 18px}
.formulario .bloque-form>p,.formulario .bloque-form>ul{line-height:1.6}
.formulario .bloque-form>ul{margin:0 0 18px;padding-left:22px}
.formulario .bloque-form>ul li{margin:0 0 6px}
.formulario .bloque-destacado{background:var(--gris-caja);border-left:4px solid var(--naranja);padding:22px 22px 6px;border-bottom:0}
.formulario .aviso-bloqueo{background:#fff4f4;border-left:4px solid var(--rojo);padding:16px 18px;margin:0 0 24px;line-height:1.55}
.formulario .aviso-bloqueo a{color:var(--verde);font-weight:600}

/* Errores */
.formulario .error-campo{color:var(--rojo);font-size:14px;font-weight:600;margin:6px 0 0;line-height:1.4}
.formulario .error-campo::before{content:"! ";font-weight:700}
.formulario [aria-invalid="true"]:not([type="checkbox"]):not([type="radio"]){border-color:var(--rojo);box-shadow:0 0 0 1px var(--rojo)}
.formulario .con-error [type="checkbox"],.formulario .con-error [type="radio"]{outline:2px solid var(--rojo);outline-offset:1px}

/* Envío */
.formulario .acciones{margin:6px 0 0}
.formulario button[type="submit"]{cursor:pointer}
.formulario button[type="submit"]:disabled{opacity:.6;cursor:wait}
.formulario .estado-formulario:empty{display:none}
.formulario .estado-formulario{margin:16px 0 0;padding:12px 14px;font-size:15px;line-height:1.5}
.formulario .estado-formulario.error{background:#fff4f4;border-left:4px solid var(--rojo);color:#6b0f0f}
.formulario .estado-formulario a{color:inherit;font-weight:700}

/* Campo trampa antispam (invisible para las personas) */
.formulario .trampa{position:absolute!important;left:-10000px!important;top:auto;width:1px;height:1px;overflow:hidden}

/* Mensaje de agradecimiento */
.formulario-exito{background:var(--gris-caja);border-left:4px solid var(--verde);padding:26px 26px 18px;color:#333;line-height:1.6}
.formulario-exito:focus{outline:none}
.formulario-exito .exito-titulo{font-size:21px;font-weight:700;color:var(--verde);margin:0 0 8px;line-height:1.3}
.formulario-exito .aviso-prueba{margin:18px 0 6px;font-weight:700;color:var(--rojo)}
.formulario-exito .json-prueba{white-space:pre-wrap;word-break:break-all;font-size:12px;background:#fff;border:1px solid #ddd;padding:10px;max-height:420px;overflow:auto}
/* Botón para volver tras enviar (18/09) */
.exito-acciones{margin:18px 0 0}
.exito-acciones .boton-contacto{margin:0}

/* Si una fila de dos columnas tiene tres campos (newsletter: nombre,
   apellidos y correo), el tercero ocupa el ancho entero (19/09). */
.formulario .fila-2 > .campo:nth-child(3):last-child{grid-column:1 / -1}
