/*
Theme Name: Solutiva
Theme URI: https://www.solutiva.com.br/
Author: Solutiva
Author URI: https://www.solutiva.com.br/
Description: Tema institucional de blocos (FSE) da Solutiva, em 4 idiomas com Polylang.
Requires at least: 6.5
Tested up to: 6.9
Requires PHP: 8.1
Version: 0.6.0
Text Domain: solutiva
Tags: full-site-editing, block-patterns, accessibility-ready
*/

/* Remove o espaço entre cabeçalho, conteúdo e rodapé. */
.wp-site-blocks > * + * {
	margin-block-start: 0;
}

/* Cabeçalho fixo no topo (respeita a barra de administração). */
header.wp-block-template-part {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 100;
}

/*
 * Menu: vira o botão de ícone abaixo de 1100px (o padrão do WordPress é 600px),
 * para os 6 itens não quebrarem em duas linhas em tablets e notebooks pequenos.
 */
@media (min-width: 600px) and (max-width: 1099px) {
	.wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex;
	}

	.wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		display: none;
	}
}

/* Rolagem suave e compensação do cabeçalho fixo nas âncoras do menu. */
html {
	scroll-behavior: smooth;
}

[id] {
	scroll-margin-top: 90px;
}

/* Seletor de idioma. */
.solutiva-language-switcher ul {
	display: flex;
	gap: 0.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.solutiva-language-switcher a {
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
	font-size: 0.85rem;
	text-decoration: none;
	opacity: 0.7;
}

.solutiva-language-switcher .is-current-language a,
.solutiva-language-switcher a:hover,
.solutiva-language-switcher a:focus-visible {
	opacity: 1;
}

/* Imagens ocupam a coluna inteira. */
.wp-block-column .wp-block-image img {
	width: 100%;
	height: auto;
}

/* Campos do Contact Form 7. */
.wpcf7 input:not([type="submit"]),
.wpcf7 textarea {
	box-sizing: border-box;
	width: 100%;
	padding: 0.6rem 0.8rem;
	border: 1px solid #cbd5e1;
	border-radius: 8px;
	font: inherit;
}

.wpcf7 input[type="submit"] {
	padding: 0.75rem 1.5rem;
	border: 0;
	border-radius: 999px;
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--contrast);
	font-weight: 600;
	cursor: pointer;
}

/* Links brancos nas áreas azuis (cabeçalho, hero e rodapé). */
.has-primary-background-color a:not(.wp-element-button) {
	color: inherit;
}

.has-primary-background-color a:not(.wp-element-button):hover {
	color: var(--wp--preset--color--accent);
}

:focus-visible {
	outline: 2px solid var(--wp--preset--color--accent);
	outline-offset: 2px;
}

/* ------------------------------------------------------------------
 * Visual do site antigo (Hostinger AI Builder)
 * ------------------------------------------------------------------ */

/* Títulos grandes como no site antigo. */
.solutiva-hero h1 {
	font-size: clamp(2.25rem, 5vw, 4rem);
	line-height: 1.15;
}

.has-primary-background-color > h2,
.has-accent-background-color > h2,
#fale-conosco h2,
#blog h2 {
	font-size: clamp(2rem, 4vw, 3.25rem);
}

.solutiva-cartao-servico h3,
#escritorios h3 {
	font-size: clamp(1.5rem, 2.4vw, 1.75rem);
}

/* Hero: vídeo com camada escura e texto à esquerda. */
.solutiva-hero .wp-block-cover__inner-container {
	color: var(--wp--preset--color--base);
}

/* Grades de duas colunas (serviços e escritórios). */
.solutiva-grade {
	gap: 48px 40px;
	align-items: start;
}

.solutiva-grade > :last-child:nth-child(odd) {
	grid-column: 1 / -1;
	width: min(100%, 560px);
	justify-self: center;
}

@media (max-width: 781px) {
	.solutiva-grade {
		grid-template-columns: 1fr !important;
	}
}

/* Imagens com formas orgânicas (máscaras iguais às do site antigo). */
[class*="forma-"] img {
	width: 100%;
	aspect-ratio: 7 / 5;
	object-fit: cover;
	border-radius: 0 !important;
	-webkit-mask-size: 100% 100%;
	mask-size: 100% 100%;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
}

.forma-5 img,
.forma-6 img {
	aspect-ratio: 1 / 1;
}

.forma-1 img {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' preserveAspectRatio='none'%3E%3Cpath d='M100 200C84.306 200 71.3985 188.07 69.8522 172.783C57.9498 182.499 40.3867 181.808 29.2893 170.711C18.192 159.613 17.5011 142.05 27.2168 130.148C11.9305 128.602 -6.86007e-07 115.694 0 100C1.24213e-06 84.3059 11.9305 71.3984 27.2168 69.8522C17.5012 57.9498 18.192 40.3867 29.2894 29.2893C40.3867 18.192 57.9498 17.5011 69.8522 27.2167C71.3985 11.9305 84.306 1.24213e-06 100 0C115.694 -6.86007e-07 128.602 11.9305 130.148 27.2167C142.05 17.5011 159.613 18.1919 170.711 29.2893C181.808 40.3867 182.499 57.9498 172.783 69.8522C188.07 71.3984 200 84.306 200 100C200 115.694 188.07 128.602 172.783 130.148C182.499 142.05 181.808 159.613 170.711 170.711C159.613 181.808 142.05 182.499 130.148 172.783C128.602 188.07 115.694 200 100 200Z' fill='black'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' preserveAspectRatio='none'%3E%3Cpath d='M100 200C84.306 200 71.3985 188.07 69.8522 172.783C57.9498 182.499 40.3867 181.808 29.2893 170.711C18.192 159.613 17.5011 142.05 27.2168 130.148C11.9305 128.602 -6.86007e-07 115.694 0 100C1.24213e-06 84.3059 11.9305 71.3984 27.2168 69.8522C17.5012 57.9498 18.192 40.3867 29.2894 29.2893C40.3867 18.192 57.9498 17.5011 69.8522 27.2167C71.3985 11.9305 84.306 1.24213e-06 100 0C115.694 -6.86007e-07 128.602 11.9305 130.148 27.2167C142.05 17.5011 159.613 18.1919 170.711 29.2893C181.808 40.3867 182.499 57.9498 172.783 69.8522C188.07 71.3984 200 84.306 200 100C200 115.694 188.07 128.602 172.783 130.148C182.499 142.05 181.808 159.613 170.711 170.711C159.613 181.808 142.05 182.499 130.148 172.783C128.602 188.07 115.694 200 100 200Z' fill='black'/%3E%3C/svg%3E");
}

.forma-2 img {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' preserveAspectRatio='none'%3E%3Cpath d='M168.562 42.5672C184.281 55.141 200 76.1523 200 99.8108C200 123.635 184.127 150.271 157.312 171.283C130.497 192.294 92.8952 207.68 62.9983 195.934C33.1014 184.187 11.064 145.473 3.2045 104.278C-4.655 63.2477 1.81753 19.9014 24.009 5.83869C46.2005 -8.38948 84.111 6.66591 110.772 16.2617C137.432 25.8574 152.997 29.9935 168.562 42.5672Z' fill='black'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' preserveAspectRatio='none'%3E%3Cpath d='M168.562 42.5672C184.281 55.141 200 76.1523 200 99.8108C200 123.635 184.127 150.271 157.312 171.283C130.497 192.294 92.8952 207.68 62.9983 195.934C33.1014 184.187 11.064 145.473 3.2045 104.278C-4.655 63.2477 1.81753 19.9014 24.009 5.83869C46.2005 -8.38948 84.111 6.66591 110.772 16.2617C137.432 25.8574 152.997 29.9935 168.562 42.5672Z' fill='black'/%3E%3C/svg%3E");
}

.forma-3 img {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' preserveAspectRatio='none'%3E%3Cpath d='M0 0H113.333C161.198 0 200 38.802 200 86.6667V200H86.6667C38.802 200 0 161.198 0 113.333V0Z' fill='black'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' preserveAspectRatio='none'%3E%3Cpath d='M0 0H113.333C161.198 0 200 38.802 200 86.6667V200H86.6667C38.802 200 0 161.198 0 113.333V0Z' fill='black'/%3E%3C/svg%3E");
}

.forma-4 img {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' preserveAspectRatio='none'%3E%3Cpath d='M34.7326 50C14.4491 42.4512 0 22.913 0 0H200C200 22.913 185.551 42.4512 165.267 50C185.551 57.5488 200 77.087 200 100C200 122.913 185.551 142.451 165.267 150C185.551 157.549 200 177.087 200 200H0C0 177.087 14.4491 157.549 34.7326 150C14.4491 142.451 0 122.913 0 100C0 77.087 14.4491 57.5488 34.7326 50Z' fill='black'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' preserveAspectRatio='none'%3E%3Cpath d='M34.7326 50C14.4491 42.4512 0 22.913 0 0H200C200 22.913 185.551 42.4512 165.267 50C185.551 57.5488 200 77.087 200 100C200 122.913 185.551 142.451 165.267 150C185.551 157.549 200 177.087 200 200H0C0 177.087 14.4491 157.549 34.7326 150C14.4491 142.451 0 122.913 0 100C0 77.087 14.4491 57.5488 34.7326 50Z' fill='black'/%3E%3C/svg%3E");
}

.forma-5 img {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' preserveAspectRatio='none'%3E%3Cpath d='M18.4046 100.422C8.31777 102.425 0.714259 111.325 0.714259 122L0.714256 178C0.714256 190.15 10.564 200 22.7143 200H78.7143C89.6402 200 98.7058 192.035 100.422 181.595C102.425 191.682 111.325 199.286 122 199.286H178C190.15 199.286 200 189.436 200 177.286V121.286C200 110.36 192.035 101.294 181.596 99.578C191.682 97.5746 199.286 88.6752 199.286 78V22C199.286 9.84974 189.436 2.97894e-06 177.286 2.44784e-06L121.286 0C110.36 -4.77585e-07 101.294 7.96461 99.5781 18.4046C97.5747 8.31778 88.6753 0.71428 78 0.71428H22C9.84974 0.71428 0 10.564 0 22.7143V78.7143C0 89.6401 7.96462 98.7058 18.4046 100.422Z' fill='black'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' preserveAspectRatio='none'%3E%3Cpath d='M18.4046 100.422C8.31777 102.425 0.714259 111.325 0.714259 122L0.714256 178C0.714256 190.15 10.564 200 22.7143 200H78.7143C89.6402 200 98.7058 192.035 100.422 181.595C102.425 191.682 111.325 199.286 122 199.286H178C190.15 199.286 200 189.436 200 177.286V121.286C200 110.36 192.035 101.294 181.596 99.578C191.682 97.5746 199.286 88.6752 199.286 78V22C199.286 9.84974 189.436 2.97894e-06 177.286 2.44784e-06L121.286 0C110.36 -4.77585e-07 101.294 7.96461 99.5781 18.4046C97.5747 8.31778 88.6753 0.71428 78 0.71428H22C9.84974 0.71428 0 10.564 0 22.7143V78.7143C0 89.6401 7.96462 98.7058 18.4046 100.422Z' fill='black'/%3E%3C/svg%3E");
}

.forma-6 img {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' preserveAspectRatio='none'%3E%3Cpath d='M100.001 173.738C24.3647 236.944 -36.9443 175.636 26.2624 99.9999C-36.9443 24.3644 24.3647 -36.9438 100.001 26.2621C175.623 -36.9438 236.947 24.3644 173.74 99.9999C236.947 175.578 175.623 236.944 100.001 173.738Z' fill='black'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' preserveAspectRatio='none'%3E%3Cpath d='M100.001 173.738C24.3647 236.944 -36.9443 175.636 26.2624 99.9999C-36.9443 24.3644 24.3647 -36.9438 100.001 26.2621C175.623 -36.9438 236.947 24.3644 173.74 99.9999C236.947 175.578 175.623 236.944 100.001 173.738Z' fill='black'/%3E%3C/svg%3E");
}


/* Escritórios: mapa carregado só ao clicar (privacidade). */
.solutiva-mapa {
	position: relative;
	aspect-ratio: 16 / 9;
	border-radius: 12px;
	overflow: hidden;
	background:
		repeating-linear-gradient(0deg, rgb(255 255 255 / 0.06) 0 1px, transparent 1px 32px),
		repeating-linear-gradient(90deg, rgb(255 255 255 / 0.06) 0 1px, transparent 1px 32px),
		#1f4c64;
	display: grid;
	place-items: center;
}

.solutiva-mapa iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.solutiva-mapa__botao {
	padding: 0.7rem 1.4rem;
	border: 0;
	border-radius: 999px;
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--primary);
	font: inherit;
	font-weight: 600;
	cursor: pointer;
}

/* Contato: formulário em cartão branco, campos com borda amarela. */
.solutiva-cartao-form {
	border-radius: 20px;
}

.solutiva-cartao-form .wpcf7 label {
	display: block;
	margin-bottom: 0.9rem;
	font-size: 0.9rem;
	color: var(--wp--preset--color--primary);
}

.solutiva-cartao-form .wpcf7 input:not([type="submit"]):not([type="checkbox"]),
.solutiva-cartao-form .wpcf7 textarea {
	border: 1px solid var(--wp--preset--color--accent);
	border-radius: 10px;
	margin-top: 0.3rem;
}

.solutiva-cartao-form .wpcf7 input[type="submit"] {
	display: block;
	margin: 0.5rem auto 0;
	padding: 0.8rem 2rem;
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--accent);
	border-radius: 50px;
}

/* Blog na home: cartões com imagem arredondada. */
.solutiva-secao-blog .wp-block-post-featured-image img {
	border-radius: 12px;
}

.solutiva-secao-blog .wp-block-post-title a {
	color: inherit;
	text-decoration: none;
}

/* Rodapé: newsletter em linha e ícones maiores. */
.solutiva-rodape .wpcf7 form {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	align-items: center;
}

.solutiva-rodape .wpcf7 form > p {
	margin: 0;
}

.solutiva-rodape .wpcf7 .wpcf7-form-control-wrap[data-name="newsletter-email"] {
	display: block;
	min-width: 220px;
}

.solutiva-rodape .wpcf7-acceptance {
	font-size: 0.8rem;
}

/* Botão flutuante do WhatsApp. */
.solutiva-whatsapp {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 200;
	display: grid;
	place-items: center;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: #25d366;
	color: #fff !important;
	box-shadow: 0 6px 18px rgb(0 0 0 / 0.25);
}

.solutiva-whatsapp:hover,
.solutiva-whatsapp:focus-visible {
	transform: scale(1.06);
}

/* Seções da home coladas umas nas outras, como no site antigo. */
.wp-block-post-content > .alignfull {
	margin-block: 0;
}

#internacional h2 {
	font-size: clamp(1.75rem, 3vw, 2.5rem);
}

.solutiva-rodape .wp-block-columns {
	align-items: flex-start !important;
}
