/*
Theme Name: Worthaus
Theme URI: https://worthausorigin.com
Author: Priscila Welausen
Author URI: https://worthausorigin.com
Description: Tema institucional da Worthaus. Paleta oficial preto/branco/cinza com tons funcionais (verde e rosa) usados apenas em interface. Tipografia Editor's Note (títulos e destaques) e Noto Sans (corpo de texto). Cabeçalho com cor de fundo e cor/tamanho de logo configuráveis via Customizer; rodapé com duas colunas de widgets.
Version: 1.0
Requires at least: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: worthaus
*/

:root{
	--wh-preto: #000000;
	--wh-branco: #ffffff;
	--wh-cinza: #6b6b6b;
	--wh-cinza-claro: #e5e5e5;
	--wh-verde-oliva-profundo: #4A5A34;
	--wh-verde-musgo-claro: #8B9B63;
	--wh-rosa-profundo: #A8447A;
	--wh-rosa-vivido: #D65F92;

	/* valores padrao, sobrescritos inline pelo Customizer quando o usuario mudar */
	--wh-content-width: 1200px;
	--wh-body-font-size: 18px;
	--wh-button-bg: #A8447A;
	--wh-button-text: #ffffff;
	--wh-button-hover-bg: #D65F92;
	--wh-header-bg: #ffffff;
	--wh-logo-color: #000000;
	--wh-logo-width: 170px;
	--wh-header-padding: 32px;
	--wh-menu-gap: 24px;
	--wh-menu-font-size: 14px;
	--wh-menu-text-color: #000000;
	--wh-footer-bg: #000000;
	--wh-footer-text: #ffffff;
	--wh-footer-font-size: 15px;
	--wh-widget-title-size: 16px;
	--wh-widget-title-transform: none;
	--wh-bottombar-bg: #000000;
	--wh-bottombar-text: #ffffff;
}

*, *::before, *::after{ box-sizing: border-box; }

html{ -webkit-text-size-adjust: 100%; }

body{
	margin: 0;
	background: var(--wh-branco);
	color: var(--wh-preto);
	font-family: 'Noto Sans', sans-serif;
	font-size: var(--wh-body-font-size);
	line-height: 1.6;
	overflow-x: hidden;
}

img, svg, video{ max-width: 100%; height: auto; display: block; }

h1, h2, h3, h4, h5, h6{
	font-family: "Editor's Note", serif;
	line-height: 1.1;
	margin: 0 0 0.5em;
	overflow-wrap: break-word;
}

h1{ font-size: clamp(2rem, 5vw + 1rem, 3.5rem); }
h2{ font-size: clamp(1.4rem, 2.5vw + 1rem, 2rem); }

a{
	color: var(--wh-verde-oliva-profundo);
	text-decoration: none;
}
a:hover{ color: var(--wh-verde-musgo-claro); }
a:visited{ color: var(--wh-rosa-vivido); }

.wh-container{
	width: 100%;
	max-width: var(--wh-content-width);
	margin: 0 auto;
	padding: 0 24px;
}

.wh-btn{
	display: inline-block;
	background: var(--wh-button-bg);
	color: var(--wh-button-text);
	padding: 14px 28px;
	border-radius: 999px;
	font-weight: 700;
	text-decoration: none;
}
.wh-btn:hover{ background: var(--wh-button-hover-bg); color: var(--wh-button-text); }

/* Bloco nativo "Botões" do Gutenberg, em qualquer página do site */
.wp-block-button__link{
	background: var(--wh-button-bg);
	color: var(--wh-button-text);
	border-radius: 999px;
}
.wp-block-button__link:hover{ background: var(--wh-button-hover-bg); color: var(--wh-button-text); }

/* Cabecalho */
.wh-header{
	background: var(--wh-header-bg);
	padding: var(--wh-header-padding) 0 calc(var(--wh-header-padding) - 8px);
}
.wh-header__inner{
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
}
.wh-logo{
	display: inline-block;
	max-width: min(var(--wh-logo-width), 70vw);
}
.wh-logo img{ display:block; width: 100%; height: auto; }
.wh-logo-text{
	font-family: "Editor's Note", serif;
	font-size: clamp(20px, calc(var(--wh-logo-width) / 5.2), 60px);
	color: var(--wh-logo-color);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	max-width: 70vw;
	overflow-wrap: break-word;
}
.wh-nav ul{
	list-style: none;
	display: flex;
	gap: var(--wh-menu-gap);
	margin: 0;
	padding: 0;
	text-transform: uppercase;
	font-size: var(--wh-menu-font-size);
	letter-spacing: 0.05em;
}
.wh-nav a{ color: var(--wh-menu-text-color); }

/* Rodape */
.wh-footer{
	background: var(--wh-footer-bg);
	color: var(--wh-footer-text);
	padding: 56px 0 32px;
	margin-top: 64px;
}
.wh-footer a{ color: var(--wh-footer-text); }
.wh-footer__logo{
	text-align: center;
	margin-bottom: 32px;
}
.wh-footer__logo img{
	display: inline-block;
	max-width: 60px;
	height: auto;
}
.wh-footer__columns{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 32px;
	font-size: var(--wh-footer-font-size);
}
.wh-footer__columns .widget-title{
	font-family: "Editor's Note", serif;
	font-size: var(--wh-widget-title-size);
	text-transform: var(--wh-widget-title-transform);
	margin-bottom: 12px;
}
.wh-footer__bottom{
	background: var(--wh-bottombar-bg);
	color: var(--wh-bottombar-text);
	max-width: var(--wh-content-width);
	margin: 32px auto 0;
	padding: 24px 24px 0;
	border-top: 1px solid rgba(255,255,255,0.2);
	font-size: 13px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px;
}
.wh-footer__bottom a{ color: var(--wh-bottombar-text); }

/* LGPD */
.wh-lgpd-banner{
	position: fixed;
	left: 0; right: 0; bottom: 0;
	z-index: 9999;
	padding: 20px 24px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}
.wh-lgpd-banner p{ margin: 0; font-size: 14px; }
.wh-lgpd-banner button{
	border: none;
	border-radius: 999px;
	padding: 10px 22px;
	font-weight: 700;
	cursor: pointer;
}

@media (max-width: 680px){
	.wh-footer__columns{ grid-template-columns: 1fr; }
	.wh-nav ul{ flex-wrap: wrap; justify-content: center; }
}

/* Landing page (Home, Quem Somos, Casos): sem sidebar, aceita blocos "tela cheia" */
.wh-landing{
	max-width: var(--wh-content-width);
	margin: 0 auto;
	padding: 40px 24px 64px;
}
.wh-landing > .alignfull{
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

/* Case cards, usados pelo Padrão "Worthaus — Casos" */
.wh-case-card{
	padding: 24px;
	border: 1px solid var(--wh-cinza-claro);
	border-radius: 8px;
	height: 100%;
}

/* Espaçamento entre blocos (separadores, títulos, parágrafos, colunas) —
   mais enxuto que o padrão do WordPress, que é generoso demais no celular */
.wh-landing .wp-block-separator{
	margin: 32px auto;
}
.wh-landing p{
	margin: 0 0 1em;
}
.wh-landing .wp-block-columns{
	margin-bottom: 0;
}
/* Trava a margem do primeiro/último bloco: o espaço que sobra é só o
   padding do .wh-landing, nunca soma com a margem própria do bloco */
.wh-landing > *:first-child{ margin-top: 0 !important; }
.wh-landing > *:last-child{ margin-bottom: 0 !important; }

@media (max-width: 680px){
	.wh-footer__columns{ grid-template-columns: 1fr; }
	.wh-nav ul{ flex-wrap: wrap; justify-content: center; }

	.wh-landing{ padding: 20px 20px 32px; }
	.wh-landing .wp-block-separator{ margin: 20px auto; }
	.wh-landing h1{ margin-bottom: 0.4em; }
	.wh-landing h2{ margin-bottom: 0.3em; }
	.wh-landing p{ margin-bottom: 0.8em; }
	.wh-landing .wp-block-columns{
		gap: 20px !important;
		margin-bottom: 4px;
	}
	.wh-case-card{ padding: 16px; }
	.wh-header{ padding: 20px 0 16px; }
}
