/* ==========================================================================
   2026-11-10 (Uebyou) — Formulários CF7: campos com a mesma largura e a ocupar
   todo o espaço disponível. O wpautop mete os <label> num <p>, o que anulava o
   flex de .contact_form_3 .input (campos empilhados a 330px).
   ========================================================================== */
.wpcf7-form label { display: block; width: 100% !important; margin: 0; }
.wpcf7-form .wpcf7-form-control-wrap { display: block; width: 100%; }
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"]:not(.news-email),
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="url"],
.wpcf7-form input[type="number"],
.wpcf7-form select,
.wpcf7-form textarea { width: 100% !important; max-width: 100%; box-sizing: border-box; }
/* Formulário de contacto (contact_form_3): duas colunas iguais por linha */
.wpcf7-form .contact_form_3 .input { display: block; }
.wpcf7-form .contact_form_3 .input > p {
	display: grid; grid-template-columns: 1fr 1fr; column-gap: 20px; row-gap: 0; width: 100%; margin: 0;
}
.wpcf7-form .contact_form_3 .input > p > br { display: none; }
.wpcf7-form .contact_form_3 .input > label { width: 100% !important; }
.wpcf7-form .contact_form_3 .input:has(> label) { display: grid; grid-template-columns: 1fr 1fr; column-gap: 20px; }
@media (max-width: 600px) {
	.wpcf7-form .contact_form_3 .input > p,
	.wpcf7-form .contact_form_3 .input:has(> label) { grid-template-columns: 1fr; }
}
/* reCAPTCHA: nunca mais largo do que a coluna (rodapé) */
.wpcf7-form .contact_form_1 .cf7sr-g-recaptcha,
.wpcf7-form .contact_form_1 .g-recaptcha { transform-origin: 0 0; }
@media (min-width: 768px) {
	.wpcf7-form .contact_form_1 .g-recaptcha,
	.wpcf7-form .contact_form_1 .cf7sr-g-recaptcha { transform: scale(0.88); margin-bottom: -12px; }
}

/* Formulário de contacto estreito (tablet, colunas laterais): um campo por linha */
.wpcf7-form .contact_form_3 { container-type: inline-size; }
@container (max-width: 520px) {
	.wpcf7-form .contact_form_3 .input > p,
	.wpcf7-form .contact_form_3 .input:has(> label) { grid-template-columns: 1fr; }
}

/* Newsletter: o email ocupa todo o espaço disponível ao lado do botão; o consentimento fica por baixo */
.wpcf7-form .news-form > p,
.wpcf7-form .news-form:not(:has(> p)) { display: flex; flex-wrap: wrap; align-items: stretch; width: 100%; margin: 0; position: relative; }
.wpcf7-form .news-form > p > br { display: none; }
.wpcf7-form .news-form .wpcf7-form-control-wrap:has(.news-email) { flex: 1 1 0; min-width: 0; width: auto; display: block; }
.wpcf7-form .news-form .news-email { width: 100% !important; max-width: none; float: none; }
.wpcf7-form .news-form .news-btn,
.wpcf7-form .news-form input[type="submit"] { flex: 0 0 auto; float: none; }
.wpcf7-form .news-form .wpcf7-spinner { position: absolute; right: 0; top: -28px; margin: 0; }
.wpcf7-form .news-form .wpcf7-form-control-wrap:has(.wpcf7-acceptance) { flex: 0 0 100%; display: block; margin-top: 12px; }
.wpcf7-form .news-form.row { margin-left: 0; margin-right: 0; width: 100%; }

/* Menu mobile: sem link de Login / área de cliente (pedido do Luís, 2026-11-10) */
.header_mobile .side_wrap .panel_top > .login { display: none !important; }
