/* Fiolongo — utilitários que não pertencem a theme.json */

/* "O que você quer produzir?" — rolagem horizontal no mobile, último
   card parcialmente cortado (affordance de mais conteúdo), conforme
   GATE-3E-INTEGRATED-PROTOTYPE.md §4. */
.fiolongo-scroll-x {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}
.fiolongo-scroll-x::-webkit-scrollbar {
	display: none;
}
.fiolongo-quero-fazer-card {
	flex: 0 0 auto;
	min-width: 220px;
}

/* Grid de categorias — 5 colunas desktop, 2 no mobile. */
.fiolongo-categorias-grid {
	grid-template-columns: repeat(5, 1fr);
	gap: var(--wp--preset--spacing--40);
}
@media (max-width: 782px) {
	.fiolongo-categorias-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.fiolongo-quero-fazer-card {
		min-width: 160px;
	}
}

/* Card de produto (WooCommerce Product Collection) — sem caixa/sombra,
   fotografia dominante, conforme GATE 3D. */
.wp-block-woocommerce-product-collection .wp-block-woocommerce-product-template > * {
	border: none;
	box-shadow: none;
}

/* Contact Form 7 — sem aparência padrão do plugin, alinhado ao design
   system (Archivo/UI, borda 2px, foco em vermelho técnico, sem caixa
   genérica). */
.wpcf7-form {
	font-family: var(--wp--preset--font-family--commercial);
}
.fiolongo-form-row {
	margin-bottom: var(--wp--preset--spacing--40);
}
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form textarea {
	width: 100%;
	box-sizing: border-box;
	font-family: var(--wp--preset--font-family--commercial);
	font-size: 1rem;
	padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--30);
	background: var(--wp--preset--color--paper);
	border: 1px solid var(--wp--preset--color--charcoal);
	border-radius: 2px;
}
.wpcf7-form textarea {
	min-height: 140px;
	resize: vertical;
}
.wpcf7-form input:focus,
.wpcf7-form textarea:focus {
	outline: 2px solid var(--wp--preset--color--fiolongo-red);
	outline-offset: 1px;
}
.wpcf7-form .wpcf7-submit {
	font-family: var(--wp--preset--font-family--commercial);
	background: var(--wp--preset--color--charcoal);
	color: var(--wp--preset--color--paper);
	border: none;
	border-radius: 2px;
	padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--50);
	cursor: pointer;
}
.wpcf7-form .wpcf7-submit:hover {
	background: var(--wp--preset--color--fiolongo-red);
}
.wpcf7-form .wpcf7-not-valid-tip {
	color: var(--wp--preset--color--fiolongo-red);
	font-family: var(--wp--preset--font-family--technical);
	font-size: 0.8rem;
	margin-top: 4px;
	display: block;
}
.wpcf7-form .wpcf7-response-output {
	border-radius: 2px;
	font-family: var(--wp--preset--font-family--technical);
	font-size: 0.875rem;
	padding: var(--wp--preset--spacing--30);
	margin-top: var(--wp--preset--spacing--40);
}
.wpcf7-form.sent .wpcf7-response-output {
	border-color: var(--wp--preset--color--charcoal);
}
.wpcf7-form.invalid .wpcf7-response-output,
.wpcf7-form.unaccepted .wpcf7-response-output,
.wpcf7-form.spam .wpcf7-response-output {
	border-color: var(--wp--preset--color--fiolongo-red);
	color: var(--wp--preset--color--fiolongo-red);
}
.wpcf7-spinner {
	margin: 0 0 0 8px;
}
