/*
Theme Name: Casavero
Theme URI: https://casavero.org
Author: Casavero
Description: Loja de utensilios de cozinha no Porto — facas, fornos e bancadas.
Version: 1.2
Text Domain: casavero
*/

:root {
	--cvr-soot: #141210;
	--cvr-enamel: #f3ebe0;
	--cvr-copper: #c97b3a;
	--cvr-basil: #3a5340;
	--cvr-iron: #2a221c;
	--cvr-flour: #faf6f0;
	--cvr-display: "Bitter", serif;
	--cvr-text: "Work Sans", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
	margin: 0;
	font-family: var(--cvr-text);
	color: var(--cvr-iron);
	background: var(--cvr-flour);
	line-height: 1.7;
}
img { max-width: 100%; display: block; }
h1, h2, h3 {
	font-family: var(--cvr-display);
	font-weight: 600;
	line-height: 1.14;
	margin: 0 0 0.42em;
}
h1 { font-size: clamp(2.1rem, 4.8vw, 3.6rem); }
h2 { font-size: clamp(1.45rem, 2.8vw, 2.15rem); }
h3 { font-size: 1.22rem; }
a { color: var(--cvr-copper); }
p { margin: 0 0 1em; }
address { font-style: normal; }

.cvr-fill,
.cvr-edge {
	display: inline-block;
	font-family: var(--cvr-text);
	font-weight: 650;
	font-size: 0.82rem;
	letter-spacing: 0.04em;
	padding: 12px 20px;
	border: 0;
	cursor: pointer;
	text-decoration: none;
}
.cvr-fill { background: var(--cvr-copper); color: #fff; }
.cvr-fill:hover { background: var(--cvr-basil); }
.cvr-edge {
	background: transparent;
	color: var(--cvr-iron);
	box-shadow: inset 0 0 0 1.5px var(--cvr-iron);
}
.cvr-edge:hover { background: var(--cvr-iron); color: var(--cvr-enamel); }
button.cvr-fill, button.cvr-edge { font-family: var(--cvr-text); }

/* Header: dark beam, brand centered, copper underline nav, last item CTA */
.cvr-beam {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	padding: 14px 4vw;
	background: var(--cvr-soot);
	color: var(--cvr-enamel);
}
.cvr-drawer-open {
	justify-self: start;
	display: none;
	background: var(--cvr-copper);
	color: #fff;
	border: 0;
	padding: 8px 12px;
	cursor: pointer;
	font-family: var(--cvr-text);
}
.cvr-mark {
	justify-self: center;
	font-family: var(--cvr-display);
	font-size: 1.55rem;
	color: var(--cvr-enamel);
	text-decoration: none;
	letter-spacing: 0.02em;
}
.cvr-mark b { color: var(--cvr-copper); font-weight: 700; }
.cvr-beam-tag {
	justify-self: end;
	font-size: 0.72rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--cvr-copper);
}

.cvr-copperline {
	background: var(--cvr-iron);
	border-bottom: 3px solid var(--cvr-copper);
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: center;
}
.cvr-copper-list {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	align-items: stretch;
	gap: 0;
	list-style: none;
	margin: 0;
	padding: 0;
}
.cvr-copper-list li { margin: 0; list-style: none; }
.cvr-copperline a {
	display: block;
	padding: 12px 18px;
	color: var(--cvr-enamel);
	text-decoration: none;
	font-size: 0.88rem;
	border-bottom: 3px solid transparent;
	margin-bottom: -3px;
	white-space: nowrap;
}
.cvr-copperline .cvr-copper-list a:hover { border-bottom-color: var(--cvr-copper); color: var(--cvr-copper); }
.cvr-encomenda-cta {
	background: var(--cvr-copper);
	color: #fff;
	border-bottom-color: var(--cvr-copper);
	font-weight: 650;
	letter-spacing: 0.04em;
}
.cvr-encomenda-cta:hover { background: var(--cvr-basil); color: #fff; border-bottom-color: var(--cvr-basil); }

.cvr-drawer {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	bottom: 0;
	width: min(84vw, 300px);
	background: var(--cvr-soot);
	color: var(--cvr-enamel);
	z-index: 42;
	padding: 24px 20px;
	box-shadow: 10px 0 0 var(--cvr-copper);
}
.cvr-drawer.is-shown { display: block; }
.cvr-drawer-list { list-style: none; margin: 28px 0 0; padding: 0; }
.cvr-drawer-list a { color: var(--cvr-enamel); text-decoration: none; display: block; padding: 11px 0; border-bottom: 1px solid rgba(201,123,58,0.35); }
.cvr-shut-drawer {
	background: transparent;
	border: 1px solid var(--cvr-copper);
	color: var(--cvr-copper);
	padding: 8px 12px;
	cursor: pointer;
	font-family: var(--cvr-text);
}

@media (max-width: 860px) {
	.cvr-copperline { display: none; }
	.cvr-drawer-open { display: inline-block; }
	.cvr-beam-tag { display: none; }
}

/* Homepage: tiles first, then hero, pieces, story, reviews, widget, caderno */
.cvr-prateleira {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	background: var(--cvr-basil);
	color: #fff;
}
.cvr-prateleira article {
	padding: 22px 18px;
	border-right: 1px solid rgba(255,255,255,0.12);
}
.cvr-prateleira h3 { color: var(--cvr-enamel); }

.cvr-fogao {
	display: grid;
	grid-template-columns: 0.85fr 1.15fr;
	min-height: 62vh;
	background: var(--cvr-soot);
	color: var(--cvr-enamel);
}
.cvr-fogao-photo {
	min-height: 320px;
	background: #1a1612 url('images/hero.jpg') center/cover;
}
.cvr-fogao-copy { padding: 8vh 6vw; }
.cvr-kicker {
	font-size: 0.74rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--cvr-copper);
	margin-bottom: 0.55em;
}

.cvr-pecas {
	display: grid;
	grid-template-columns: 1.2fr 0.8fr 1fr;
	gap: 0;
}
.cvr-peca { padding: 36px 28px; background: #fff; }
.cvr-peca:nth-child(2) { background: var(--cvr-enamel); }
.cvr-peca b { display: block; margin-top: 12px; color: var(--cvr-copper); }

.cvr-historia {
	display: grid;
	grid-template-columns: 1fr 1fr;
}
.cvr-historia-photo {
	min-height: 340px;
	background: #2a221c url('images/scene-b.jpg') center/cover;
}
.cvr-historia-copy { padding: 48px 6vw; background: var(--cvr-enamel); }

.cvr-provas {
	padding: 56px 6vw;
	background: #fff;
}
.cvr-voz {
	border-left: 4px solid var(--cvr-copper);
	padding: 8px 0 8px 18px;
	margin: 18px 0;
}

.cvr-kit-wrap { padding: 56px 6vw; background: var(--cvr-iron); color: var(--cvr-enamel); }
/*.cvr-kit-wrap a { color: var(--cvr-copper); }*/
.cvr-kit {
	max-width: 48rem;
	/*border: 1px solid rgba(201,123,58,0.45);*/
	padding: 26px;
}
.cvr-tilerow { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0 16px; }
.cvr-tile {
	background: transparent;
	border: 1px solid var(--cvr-copper);
	color: var(--cvr-enamel);
	padding: 10px 14px;
	cursor: pointer;
	font-family: var(--cvr-text);
}
.cvr-tile.is-hot { background: var(--cvr-copper); color: #fff; }
.cvr-kit-out { font-family: var(--cvr-display); font-size: 1.35rem; }

.cvr-caderno {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	background: var(--cvr-flour);
}
.cvr-caderno article { padding: 32px 24px; border-right: 1px solid rgba(42,34,28,0.1); }

/* Inner */
.cvr-inner { padding: 56px 6vw 24px; max-width: none; width: 100%; }
.cvr-pano {
	min-height: 300px;
	margin: 0 6vw 36px;
	background: #2a221c url('images/scene-a.jpg') center/cover;
}

.cvr-livro-top { padding: 48px 6vw 20px; max-width: none; width: 100%; }
.cvr-livro { padding: 0 6vw 64px; }
.cvr-livro-cab {
	display: grid;
	grid-template-columns: 160px 1fr 140px;
	gap: 20px;
	padding: 10px 0;
	font-size: 0.72rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--cvr-copper);
	border-bottom: 2px solid var(--cvr-copper);
}
.cvr-prateleira-linha {
	display: grid;
	grid-template-columns: 160px 1fr 140px;
	gap: 20px;
	align-items: center;
	padding: 22px 0;
	border-bottom: 1px solid rgba(42,34,28,0.12);
}
.cvr-prateleira-foto {
	min-height: 110px;
	background: #2a221c center/cover;
}
.cvr-foto-cobre { background-image: url('images/hero.jpg'); }
.cvr-foto-fio { background-image: url('images/scene-a.jpg'); }
.cvr-foto-forno { background-image: url('images/scene-b.jpg'); }
.cvr-foto-tampo { background-color: var(--cvr-basil); background-image: url('images/scene-a.jpg'); }
.cvr-prateleira-ficha dl { display: grid; grid-template-columns: 72px 1fr; gap: 4px 10px; margin: 0; }
.cvr-prateleira-ficha dt { color: var(--cvr-copper); font-size: 0.78rem; }
.cvr-prateleira-ficha dd { margin: 0; }
.cvr-prateleira-linha strong { text-align: right; color: var(--cvr-basil); }
.cvr-livro-fecho { padding-top: 28px; }

.cvr-loja-split {
	display: grid;
	grid-template-columns: 0.9fr 1.1fr;
	min-height: 70vh;
}
.cvr-loja-foto { min-height: 360px; background: #2a221c url('images/scene-a.jpg') center/cover; }
.cvr-loja-prosa { padding: 56px 6vw; background: var(--cvr-enamel); }
.cvr-bancada-faixa {
	display: flex;
	flex-direction: row;
	overflow-x: auto;
	background: var(--cvr-soot);
	color: var(--cvr-enamel);
}
.cvr-bancada-faixa article {
	min-width: min(70vw, 240px);
	flex: 1 0 220px;
	padding: 28px 22px;
	border-right: 1px solid rgba(201,123,58,0.35);
}
.cvr-bancada-faixa h3 { color: var(--cvr-copper); }
.cvr-recibo-fecho {
	margin: 0 6vw 64px;
	padding: 32px 28px;
	background: #fff;
	border-top: 8px solid var(--cvr-copper);
	max-width: 36rem;
}

.cvr-form label { display: block; margin-bottom: 12px; font-weight: 600; }
.cvr-form input:not([type="checkbox"]):not([type="hidden"]),
.cvr-form textarea,
.cvr-form select {
	width: 100%;
	margin-top: 6px;
	padding: 10px;
	border: 1.5px solid var(--cvr-copper);
	background: var(--cvr-flour);
	color: var(--cvr-iron);
	font: inherit;
}
.cvr-check { font-weight: 400; display: flex; gap: 10px; align-items: flex-start; }
.cvr-check input[type="checkbox"] {
	width: 1.15rem;
	height: 1.15rem;
	min-width: 1.15rem;
	flex-shrink: 0;
	padding: 0;
	margin: 3px 0 0;
	appearance: auto;
	accent-color: var(--cvr-copper);
}
.cvr-note { padding: 12px 14px; background: #3a5340; margin-bottom: 12px; color: #fff; }
.cvr-note-bad { background: #7a3a28; }

.cvr-caderno-capa { padding: 48px 6vw 16px; max-width: none; width: 100%; }
.cvr-linhas {
	margin: 0 6vw 40px;
	background: #fff;
	background-image: repeating-linear-gradient(
		transparent,
		transparent 27px,
		rgba(201,123,58,0.22) 28px
	);
	padding: 8px 28px 20px;
}
.cvr-linhas article { padding: 18px 0 8px; }
.cvr-linhas-de {
	font-size: 0.74rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--cvr-copper);
	margin-bottom: 4px;
}
.cvr-folha-prova {
	margin: 0 6vw 64px;
	max-width: 34rem;
	background: var(--cvr-enamel);
	padding: 28px;
	border-left: 4px solid var(--cvr-copper);
}

.cvr-placa {
	padding: 48px 6vw 36px;
	background: var(--cvr-soot);
	color: var(--cvr-enamel);
}
.cvr-placa a { color: var(--cvr-copper); }
.cvr-placa address { margin: 12px 0; }
.cvr-papel {
	margin: -20px 6vw 64px;
	max-width: 38rem;
	background: #fff;
	padding: 32px 28px;
	border-top: 6px solid var(--cvr-copper);
}

.cvr-caderno-topo { padding: 48px 6vw 12px; max-width: none; width: 100%; }
.cvr-cadpaginas { padding: 8px 6vw 64px; display: grid; gap: 18px; }
.cvr-cadpaginas article {
	background: #fff;
	padding: 22px 24px 20px;
	position: relative;
	box-shadow: inset 0 0 0 1px rgba(42,34,28,0.08);
}
.cvr-cadpaginas article::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	border-width: 0 22px 22px 0;
	border-style: solid;
	border-color: var(--cvr-flour) var(--cvr-flour) var(--cvr-copper) var(--cvr-copper);
}
.cvr-cadpaginas time {
	display: block;
	font-size: 0.74rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--cvr-copper);
	margin-bottom: 6px;
}
.cvr-legal { padding: 0 6vw 72px; max-width: none; width: 100%; }
.cvr-nota-aberta {
	margin: 40px 6vw 72px;
	max-width: 38rem;
	background: #fff;
	padding: 32px 28px;
	box-shadow: inset 0 0 0 1px rgba(42,34,28,0.08);
	margin: 0 auto;
}
.cvr-nota-data { font-size: 0.74rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--cvr-copper); }
.cvr-nota-corpo { border-top: 1px dashed var(--cvr-copper); padding-top: 16px; margin-top: 8px; }
.cvr-cookie-table { width: 100%; border-collapse: collapse; margin: 12px 0 22px; }
.cvr-cookie-table th, .cvr-cookie-table td { border-bottom: 1px solid rgba(42,34,28,0.14); text-align: left; padding: 8px 6px; }
.cvr-extraviado { padding: 14vh 6vw; max-width: 34rem; }
.cvr-extraviado b { font-family: var(--cvr-display); font-size: 4rem; color: var(--cvr-copper); }

/* Footer: stacked counter + receipt tear */
.cvr-baixo { background: var(--cvr-soot); color: var(--cvr-enamel); }
.cvr-prancha {
	padding: 28px 6vw 10px;
	border-bottom: 8px solid var(--cvr-copper);
}
.cvr-prancha strong { font-family: var(--cvr-display); font-size: 1.4rem; }
.cvr-catalogo {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	padding: 8px 6vw 24px;
}
.cvr-catalogo h4 { color: var(--cvr-copper); margin: 0 0 8px; font-size: 0.86rem; letter-spacing: 0.08em; text-transform: uppercase; }
.cvr-catalogo a { color: var(--cvr-enamel); text-decoration: none; display: block; padding: 4px 0; }
.cvr-talao-caixa {
	background: var(--cvr-enamel);
	color: var(--cvr-iron);
	padding: 18px 6vw 20px;
	max-width: 100%;
}
.cvr-talao-rotulo {
	margin: 0 0 8px;
	font-size: 0.72rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--cvr-copper);
}
.cvr-talao {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	gap: 8px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.cvr-talao li { margin: 0; list-style: none; }
.cvr-talao a { color: var(--cvr-iron); text-decoration: none; border-bottom: 1px solid var(--cvr-copper); }
.cvr-talao-fim {
	margin: 0;
	padding: 14px 6vw 18px;
	font-size: 0.82rem;
	background: #0e0c0a;
	color: #cbb8a0;
}
.cvr-talao-fim a { color: var(--cvr-copper); }

.cvr-massa-barra {
	display: none;
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 90;
	background: var(--cvr-basil);
	color: #fff;
	padding: 16px 5vw;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
	justify-content: space-between;
}
.cvr-massa-barra.is-open { display: flex; }
.cvr-massa-barra a { color: var(--cvr-enamel); }
.cvr-massa-actos { display: flex; gap: 10px; flex-wrap: wrap; }
.cvr-massa-barra .cvr-edge { color: #fff; box-shadow: inset 0 0 0 1.5px #fff; }

@media (max-width: 860px) {
	.cvr-prateleira,
	.cvr-fogao,
	.cvr-pecas,
	.cvr-historia,
	.cvr-caderno,
	.cvr-loja-split,
	.cvr-livro-cab,
	.cvr-prateleira-linha,
	.cvr-catalogo { grid-template-columns: 1fr; }
	.cvr-livro-cab { display: none; }
	.cvr-prateleira-linha strong { text-align: left; }
}
