/*
Theme Name: Oficina Verde
Theme URI: https://oficinaverde.org
Author: Oficina Verde
Description: Tavolo di briefing a Firenze. Brand, performance e retainer. Senza rete, senza growth hack.
Version: 1.0.0
Text Domain: oficinaverde
*/

:root {
	--ofv-papel: #f7f4ee;
	--ofv-verde: #1e3a2f;
	--ofv-mostarda: #c4a35a;
	--ofv-linha: #d8d0c2;
	--ofv-tinta: #1a1f1c;
	--ofv-folha: #fffdf8;
	--ofv-display: "Brygada 1918", "Times New Roman", serif;
	--ofv-texto: "Albert Sans", "Helvetica Neue", sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
	margin: 0;
	font-family: var(--ofv-texto);
	color: var(--ofv-tinta);
	background: var(--ofv-papel);
	line-height: 1.72;
	font-size: 1.06rem;
}
img { max-width: 100%; display: block; }
h1, h2, h3 { font-family: var(--ofv-display); font-weight: 600; margin: 0 0 0.42em; line-height: 1.14; color: var(--ofv-verde); }
h1 { font-size: clamp(2.05rem, 4.6vw, 3.5rem); }
h2 { font-size: clamp(1.4rem, 2.6vw, 2.05rem); }
a { color: var(--ofv-verde); }
address { font-style: normal; }
.ofv-botao, .ofv-linha {
	display: inline-block; padding: 12px 18px; text-decoration: none; font-weight: 600;
	font-family: var(--ofv-texto); border: 0; cursor: pointer; letter-spacing: 0.02em;
}
.ofv-botao { background: var(--ofv-verde); color: var(--ofv-papel); }
.ofv-botao:hover { background: #152920; }
.ofv-linha { background: transparent; box-shadow: inset 0 0 0 1.5px var(--ofv-verde); color: var(--ofv-verde); }
.ofv-linha:hover { background: var(--ofv-folha); }
.ofv-kicker {
	font-size: 0.72rem; letter-spacing: 0.16em; text-transform: uppercase;
	color: var(--ofv-mostarda); font-weight: 600; margin: 0 0 8px;
}

/* Header: wordmark, full-width mustard rule, inline nav — not left-wordmark / right-facts */
.ofv-topo { background: var(--ofv-folha); }
.ofv-marca {
	display: block;
	padding: 22px 6vw 14px;
	font-family: var(--ofv-display);
	font-size: clamp(1.85rem, 3.2vw, 2.55rem);
	color: var(--ofv-verde);
	text-decoration: none;
	line-height: 1;
	letter-spacing: -0.02em;
}
.ofv-marca small {
	display: block;
	margin-top: 8px;
	font-family: var(--ofv-texto);
	font-size: 0.76rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--ofv-mostarda);
	font-weight: 600;
}
.ofv-risco {
	display: block;
	border: 0;
	height: 3px;
	margin: 0;
	width: 100%;
	background: var(--ofv-mostarda);
}
.ofv-nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0 6vw;
	gap: 16px;
}
.ofv-nav ul { display: flex; flex-wrap: wrap; gap: 4px 26px; list-style: none; margin: 0; padding: 12px 0; }
.ofv-nav a { color: var(--ofv-verde); text-decoration: none; font-size: 0.92rem; font-weight: 600; }
.ofv-nav .current-menu-item a { box-shadow: inset 0 -2px 0 var(--ofv-mostarda); }
.ofv-abrir {
	display: none; background: var(--ofv-verde); color: var(--ofv-papel); border: 0;
	padding: 8px 12px; cursor: pointer; font-family: inherit;
}
.ofv-gaveta { display: none; background: var(--ofv-verde); color: var(--ofv-papel); padding: 18px 6vw 26px; }
.ofv-gaveta a { color: var(--ofv-papel); }
.ofv-gaveta.is-open, .ofv-gaveta:not([hidden]) { display: block; }
.ofv-gaveta ul { list-style: none; margin: 12px 0 0; padding: 0; }
.ofv-gaveta li { padding: 8px 0; border-bottom: 1px solid #2d5446; }
.ofv-gaveta button {
	background: transparent; color: var(--ofv-papel); border: 1px solid var(--ofv-papel);
	padding: 6px 10px; margin-bottom: 12px; cursor: pointer;
}

/* Divider: five hairlines, briefing stave */
.ofv-pauta {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: 28px;
	margin: 10px 6vw 18px;
}
.ofv-pauta i {
	display: block;
	height: 1px;
	background: var(--ofv-verde);
	opacity: 0.28;
}

.ofv-faixa { padding: 40px 6vw 64px; width: 100%; max-width: none; }
.ofv-faixa p { max-width: none; }

.ofv-foto { margin: 0; }
.ofv-foto img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* Home hero: full-width atelier photograph */
.ofv-atelier-fig { margin: 0; }
.ofv-atelier-fig img {
	width: 100%;
	height: min(72vh, 720px);
	object-fit: cover;
	display: block;
}
.ofv-atelier-texto { padding: 40px 6vw 56px; background: var(--ofv-folha); }

/* Home service tiles */
.ofv-mosaico { padding: 48px 6vw 20px; }
.ofv-lajes {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	margin: 28px 0 12px;
}
.ofv-laje { background: var(--ofv-folha); }
.ofv-laje figure { margin: 0; height: 220px; }
.ofv-laje figure img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ofv-laje-texto { padding: 18px 20px 22px; }
.ofv-laje-texto h3 { font-size: 1.35rem; }
.ofv-laje-texto strong {
	display: block;
	margin-top: 10px;
	font-family: var(--ofv-display);
	font-size: 1.5rem;
	color: var(--ofv-verde);
}

/* Cycle widget */
.ofv-ciclo {
	padding: 0;
	background: var(--ofv-verde);
	color: var(--ofv-papel);
}
.ofv-ciclo a { color: var(--ofv-mostarda); }
.ofv-ciclo .ofv-kicker { color: var(--ofv-mostarda); }
.ofv-ciclo h2 { color: var(--ofv-papel); }
.ofv-ciclo-grelha {
	display: grid;
	grid-template-columns: minmax(220px, 38%) 1fr;
	gap: 0;
	align-items: stretch;
}
.ofv-ciclo-fig { margin: 0; min-height: 100%; }
.ofv-ciclo-fig img { width: 100%; height: 100%; min-height: 320px; object-fit: cover; display: block; }
.ofv-ciclo-painel { padding: 40px 6vw 56px; }
.ofv-chaves, .ofv-tris {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 18px 0;
}
.ofv-chave, .ofv-tri {
	background: transparent;
	color: var(--ofv-papel);
	border: 1.5px solid #c4a35a;
	padding: 12px 16px;
	cursor: pointer;
	font-family: inherit;
	font-weight: 600;
}
.ofv-chave.is-on, .ofv-tri.is-on {
	background: var(--ofv-mostarda);
	color: var(--ofv-verde);
}
.ofv-soma {
	font-family: var(--ofv-display);
	font-size: clamp(1.4rem, 2.5vw, 2.1rem);
	margin: 12px 0 0;
	line-height: 1.3;
	color: var(--ofv-papel);
}

/* Hours */
.ofv-horas { padding: 52px 6vw 72px; }
.ofv-horas-grelha {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
	margin: 28px 0 36px;
}
.ofv-horas article { background: var(--ofv-folha); }
.ofv-horas figure { margin: 0; height: 168px; }
.ofv-horas figure img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ofv-horas-texto { padding: 16px 18px 20px; }
.ofv-relogio {
	font-family: var(--ofv-display);
	font-size: 1.35rem;
	color: var(--ofv-mostarda);
	margin: 0 0 8px;
}

/* Blog lamina: full-width article, left pull-quote bar */
.ofv-notas-faixa { padding: 48px 6vw 72px; background: var(--ofv-folha); }
.ofv-lamina {
	padding: 28px 4vw 32px 28px;
	margin: 0 0 28px;
	background: var(--ofv-papel);
	border-left: 8px solid var(--ofv-mostarda);
	width: 100%;
}
.ofv-lamina time {
	display: block;
	font-size: 0.74rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--ofv-mostarda);
	margin-bottom: 8px;
}
.ofv-lamina h2, .ofv-lamina h3 { margin: 0 0 0.4em; }
.ofv-lamina h2 a, .ofv-lamina h3 a { color: var(--ofv-verde); text-decoration: none; }
.ofv-citacao {
	font-family: var(--ofv-display);
	font-size: 1.2rem;
	color: var(--ofv-verde);
	margin: 0 0 14px;
	padding: 0;
	border: 0;
}
.ofv-lamina-fig { margin: 0 0 22px; }
.ofv-lamina-fig img { width: 100%; height: 280px; object-fit: cover; display: block; }

/* About photos */
.ofv-mesa-fig, .ofv-arquivo-fig { margin: 0; }
.ofv-mesa-fig img, .ofv-arquivo-fig img {
	width: 100%;
	height: min(48vh, 460px);
	object-fit: cover;
	display: block;
}

/* Features packs */
.ofv-packs { display: flex; flex-direction: column; gap: 0; margin: 32px 0; }
.ofv-packs article {
	display: grid;
	grid-template-columns: 42% 1fr;
	background: var(--ofv-folha);
	margin: 0 0 22px;
}
.ofv-packs article:nth-child(even) { grid-template-columns: 1fr 42%; }
.ofv-packs article:nth-child(even) figure { order: 2; }
.ofv-packs figure { min-height: 260px; margin: 0; }
.ofv-packs figure img { width: 100%; height: 100%; min-height: 260px; object-fit: cover; display: block; }
.ofv-pack-texto { padding: 28px 6vw 32px; }
.ofv-pack-texto strong {
	display: block;
	margin-top: 12px;
	font-family: var(--ofv-display);
	font-size: 1.65rem;
	color: var(--ofv-verde);
}

/* Reviews: meeting minutes */
.ofv-ata {
	padding: 20px 0 22px 22px;
	border-bottom: 1px solid var(--ofv-linha);
	border-left: 3px solid var(--ofv-verde);
	background: var(--ofv-folha);
	margin: 0 0 14px;
}
.ofv-ata time {
	display: block;
	font-size: 0.74rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--ofv-mostarda);
	margin-bottom: 6px;
}
.ofv-ordem {
	font-family: var(--ofv-display);
	font-size: 1.08rem;
	color: var(--ofv-verde);
	margin: 0 0 8px;
}
.ofv-ata p { margin: 0 0 8px; }
.ofv-ata strong { font-size: 0.88rem; color: var(--ofv-verde); }

/* Contact door */
.ofv-porta-fig { margin: 0; }
.ofv-porta-fig img {
	width: 100%;
	height: min(42vh, 400px);
	object-fit: cover;
	display: block;
}
.ofv-firma {
	margin: 28px 0;
	padding: 22px 24px 26px;
	background: var(--ofv-folha);
	border-top: 3px solid var(--ofv-mostarda);
}
.ofv-firma h2 { font-size: 1.25rem; }

/* 404 */
.ofv-vazio-fig { margin: 0; }
.ofv-vazio-fig img {
	width: 100%;
	height: min(40vh, 380px);
	object-fit: cover;
	display: block;
}

.ofv-anos {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: 28px 0;
	border: 1px solid var(--ofv-linha);
}
.ofv-anos span {
	padding: 16px 18px 18px;
	border-right: 1px solid var(--ofv-linha);
}
.ofv-anos span:last-child { border-right: 0; }
.ofv-anos strong {
	display: block;
	font-family: var(--ofv-display);
	font-size: 1.35rem;
	color: var(--ofv-verde);
	margin-bottom: 6px;
}

.ofv-faq details { border-bottom: 1px solid var(--ofv-linha); padding: 12px 0; }
.ofv-faq summary { cursor: pointer; font-weight: 600; }
.ofv-form label { display: block; margin: 0 0 14px; font-weight: 600; font-size: 0.92rem; }
.ofv-form input, .ofv-form textarea, .ofv-form select {
	width: 100%; padding: 12px 14px; border: 1px solid var(--ofv-linha);
	font-family: inherit; background: #fff; margin-top: 6px;
}
.ofv-form input:focus, .ofv-form textarea:focus, .ofv-form select:focus {
	outline: 2px solid var(--ofv-mostarda); border-color: var(--ofv-mostarda);
}
.ofv-form input[type="checkbox"] { width: auto; margin-right: 8px; }
.ofv-faixa table { width: 100%; border-collapse: collapse; margin: 16px 0; }
.ofv-faixa th, .ofv-faixa td { border-bottom: 1px solid var(--ofv-linha); padding: 10px 12px; text-align: left; }
.ofv-faixa th { background: var(--ofv-folha); font-size: 0.82rem; letter-spacing: 0.06em; text-transform: uppercase; }
.ofv-aviso { background: #e4ebe4; padding: 10px 14px; }
.ofv-aviso-falha { background: #ead8d0; }

.ofv-rodape { background: var(--ofv-verde); color: var(--ofv-papel); }
.ofv-rodape-grelha {
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr;
	gap: 28px;
	padding: 40px 6vw 32px;
}
.ofv-rodape-grelha strong { font-family: var(--ofv-display); font-size: 1.45rem; display: block; margin-bottom: 10px; color: var(--ofv-papel); }
.ofv-rodape-grelha p, .ofv-rodape-grelha address { margin: 0 0 10px; font-size: 0.92rem; }
.ofv-rodape a { color: var(--ofv-mostarda); }
.ofv-rodape-jur {
	padding: 14px 6vw 8px;
	font-size: 0.86rem;
	border-top: 1px solid #2d5446;
}
.ofv-rodape-jur a { margin-right: 14px; }
.ofv-direitos {
	margin: 0;
	padding: 8px 6vw 22px;
	font-size: 0.82rem;
}

.ofv-bolacha {
	position: fixed; bottom: 0; left: 0; right: 0;
	background: var(--ofv-tinta); color: var(--ofv-papel);
	padding: 14px 6vw; display: none; z-index: 20;
}
.ofv-bolacha a { color: var(--ofv-mostarda); }
.ofv-bolacha.is-open { display: block; }
.ofv-bolacha .ofv-linha { box-shadow: inset 0 0 0 1.5px var(--ofv-papel); color: var(--ofv-papel); margin-right: 8px; }

@media (max-width: 880px) {
	.ofv-nav ul { display: none; }
	.ofv-abrir { display: block; }
	.ofv-lajes, .ofv-ciclo-grelha, .ofv-packs article, .ofv-packs article:nth-child(even) { display: block; }
	.ofv-packs article:nth-child(even) figure { order: 0; }
	.ofv-horas-grelha, .ofv-anos, .ofv-rodape-grelha { grid-template-columns: 1fr 1fr; }
	.ofv-atelier-fig img { height: 46vh; }
}

@media (max-width: 560px) {
	.ofv-horas-grelha, .ofv-anos, .ofv-rodape-grelha, .ofv-lajes { grid-template-columns: 1fr; }
}
