/*
 * Casa das Persianas Vinhedo — CSS autoral, mobile-first.
 * Todos os valores vêm de medições do site original:
 * docs/discovery/design-tokens.md + docs/discovery/measures.json.
 * Breakpoints do original (Duda): 0–767 / 768–1024 / ≥1025.
 */

/* ---------- Fontes self-hosted (declarações idênticas às do original) ---------- */
@font-face {
	font-family: 'Source Sans Pro';
	font-style: normal;
	font-weight: 300;
	font-display: swap;
	src: url('../fonts/source-sans-pro-300.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: 'Source Sans Pro';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('../fonts/source-sans-pro-400.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: 'Source Sans Pro';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url('../fonts/source-sans-pro-600.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: 'Amiko';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('../fonts/amiko-400.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: 'Amiko';
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url('../fonts/amiko-700.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/*
 * Spartan: o original declara o MESMO arquivo para cada peso (100–900,
 * sem 500), sem eixo variável. Replicado igual para render idêntico.
 */
@font-face {
	font-family: 'Spartan';
	font-style: normal;
	font-weight: 100;
	font-display: swap;
	src: url('../fonts/spartan.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: 'Spartan';
	font-style: normal;
	font-weight: 200;
	font-display: swap;
	src: url('../fonts/spartan.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: 'Spartan';
	font-style: normal;
	font-weight: 300;
	font-display: swap;
	src: url('../fonts/spartan.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: 'Spartan';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('../fonts/spartan.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: 'Spartan';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url('../fonts/spartan.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: 'Spartan';
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url('../fonts/spartan.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: 'Spartan';
	font-style: normal;
	font-weight: 800;
	font-display: swap;
	src: url('../fonts/spartan.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: 'Spartan';
	font-style: normal;
	font-weight: 900;
	font-display: swap;
	src: url('../fonts/spartan.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: 'Barlow';
	font-style: normal;
	font-weight: 300;
	font-display: swap;
	src: url('../fonts/barlow-300.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ---------- Tokens ---------- */
:root {
	--color-primary: #a10303;
	--color-bg-body: #eeeeee;
	--color-whatsapp: #25d366;
	--color-text: #444444;
	--color-text-strong: #212226;
	--color-black: #000000;
	--color-white: #ffffff;
	--color-off-white-1: #f5f5f5;
	--color-circle: #c1c1c1;

	--font-body: 'Source Sans Pro', sans-serif;
	--font-heading: 'Amiko', sans-serif;
	--font-nav: 'Spartan', sans-serif;

	--container-max: 1200px;
	--container-galeria: 1173px;
	--header-height: 75px;
}

@media (min-width: 768px) {
	:root {
		--header-height: 80.6px;
	}
}

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

/*
 * O body original declara #eee, mas o wrapper de conteúdo é branco e
 * cobre toda a página — o que se vê é branco (validado por amostragem
 * de pixels nas capturas).
 */
body {
	margin: 0;
	padding: 0;
	background: var(--color-white);
	color: var(--color-text);
	font-family: var(--font-body);
	font-size: 16px;
	font-weight: 400;
	-webkit-text-size-adjust: 100%;
	/* O original aplica antialiased em todo o conteúdo (.dmInner *). */
	-webkit-font-smoothing: antialiased;
}

img {
	max-width: 100%;
	height: auto;
	border: 0;
	display: inline-block;
}

p {
	font-size: 14px;
	font-weight: 300;
	line-height: 19.32px;
	margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0;
}

/* Títulos de seção da home: Spartan 500 (spans do original). */
h2 {
	font-family: var(--font-nav);
	font-size: 29px;
	font-weight: 500;
	line-height: 39px;
	color: var(--color-text);
}

a {
	color: inherit;
	text-decoration: none;
}

@media (min-width: 768px) {
	p {
		font-size: 18px;
		line-height: 24.84px;
	}

	h2 {
		font-size: 36px;
		line-height: 48px;
	}
}

html {
	scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
}

[id='Loja'],
[id='Produtos'],
[id='Contato'] {
	scroll-margin-top: var(--header-height);
}

/* ---------- Utilitários ---------- */
.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

.skip-link:focus {
	position: fixed;
	top: 8px;
	left: 8px;
	z-index: 1000;
	width: auto;
	height: auto;
	clip: auto;
	padding: 8px 16px;
	background: var(--color-white);
	color: var(--color-black);
}

/* Campos que existem no original mas ficam ocultos. */
.u-oculto {
	display: none;
}

/* ---------- Header ---------- */
.c-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 101;
	background: var(--color-white);
}

.c-header__spacer {
	height: var(--header-height);
}

/* No original o conteúdo começa 2.1px sob o header fixo no tablet. */
@media (min-width: 768px) and (max-width: 1024px) {
	.c-header__spacer {
		height: 78.5px;
	}
}

.c-header__inner {
	position: relative;
	max-width: var(--container-max);
	margin: 0 auto;
	display: flex;
	align-items: stretch;
	justify-content: space-between;
	min-height: var(--header-height);
	padding: 0 15px;
}

.c-header__logo {
	padding-top: 15px;
}

.c-header__logo-img {
	display: block;
	width: 185px;
	height: auto;
}

.c-nav__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
}

.c-nav__list a {
	font-family: var(--font-nav);
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0.42px;
	color: var(--color-black);
	padding: 0 15px;
	display: inline-block;
}

.c-header__toggle {
	display: none;
	background: none;
	border: 0;
	padding: 13px 9px;
	width: 40px;
	height: 40px;
	cursor: pointer;
	position: absolute;
	left: 10px;
	top: 17.5px;
}

.c-header__toggle-barra {
	display: block;
	width: 22px;
	height: 2px;
	margin: 4px 0;
	background: var(--color-black);
}

@media (max-width: 767px) {
	.c-header__inner {
		justify-content: center;
		padding: 0;
	}

	.c-header__logo {
		padding-top: 18.2px;
	}

	.c-header__toggle {
		display: block;
	}

	.c-nav {
		position: fixed;
		top: 0;
		left: -261px;
		bottom: 0;
		width: 261px;
		background: var(--color-white);
		transition: transform 0.3s ease;
		z-index: 102;
		overflow-y: auto;
	}

	.c-nav.is-aberto {
		transform: translateX(261px);
	}

	.c-nav__list {
		flex-direction: column;
		padding: 80px 10px 0;
	}

	.c-nav__list a {
		padding: 7px 0;
		font-size: 16px;
		letter-spacing: 0.48px;
		color: #272a2f;
		display: block;
	}

	.c-nav__overlay {
		position: fixed;
		inset: 0;
		background: rgba(0, 0, 0, 0.5);
		z-index: 101;
	}
}

@media (min-width: 768px) {
	.c-header__logo {
		width: 16.667%;
	}

	.c-header__logo-img {
		width: 100%;
		max-width: 200px;
	}

	.c-nav {
		align-self: center;
	}
}

@media (min-width: 1025px) {
	.c-header__inner {
		padding: 0;
	}

	.c-nav {
		margin-right: 45px;
	}
}

/* ---------- Hero ---------- */
.c-hero {
	position: relative;
	background-image: var(--hero-bg-mobile);
	background-size: cover;
	background-position: 0 50%;
	height: 442.8px;
	padding-top: 100px;
	text-align: center;
}

.c-hero__logo {
	display: block;
	margin: 0 auto;
	width: 345px;
	max-width: calc(100% - 30px);
	height: auto;
}

.c-hero__seta {
	display: block;
	margin: 56px auto 0;
	width: 54px;
	height: 54px;
	color: var(--color-white);
}

@media (min-width: 768px) {
	.c-hero {
		background-image: var(--hero-bg);
		background-attachment: fixed;
		background-position: 0 0;
		height: 756.9px;
		padding-top: 207px;
	}

	.c-hero__logo {
		width: 696px;
		max-width: 90.6%;
	}

	.c-hero__seta {
		margin-top: 10px;
		width: 68px;
		height: 68px;
	}
}

@media (min-width: 1025px) {
	.c-hero {
		/* Offset aplicado por JS no original (parallax em repouso). */
		background-position: 50% 0.88px;
	}
}

/* ---------- Nossa História (#Loja) ---------- */
.c-historia {
	padding: 60.5px 0 20.5px;
	text-align: center;
}

.c-historia__inner {
	max-width: var(--container-max);
	margin: 0 auto;
	padding: 0 15px;
}

.c-historia__titulo {
	margin-bottom: 14px;
}

.c-historia__texto {
	margin: 0 auto;
}

/* Os spans do original definem font-weight:normal (400) sobre o p 300. */
.c-historia__texto p {
	color: var(--color-black);
	font-weight: 400;
	min-height: 19.32px;
}

/* Compensa o <br> residual do último parágrafo do original. */
.c-historia__texto p:last-child {
	padding-bottom: 14px;
}

@media (min-width: 768px) {
	.c-historia__texto p:last-child {
		padding-bottom: 0;
	}
}

@media (min-width: 768px) {
	.c-historia {
		padding: 48px 45px;
	}

	.c-historia__titulo {
		margin-bottom: 4px;
	}

	.c-historia__texto {
		max-width: 538px;
	}

	.c-historia__texto p {
		min-height: 24.84px;
	}
}

@media (min-width: 1025px) {
	.c-historia__texto {
		max-width: 920px;
	}

	.c-historia__texto p:last-child {
		padding-bottom: 10px;
	}
}

/* ---------- Faixa parallax ---------- */
.c-banda {
	position: relative;
	background-size: cover;
	background-position: 50% 50%;
	height: 245px;
}

.c-banda__overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.35);
}

@media (min-width: 768px) {
	.c-banda {
		background-attachment: fixed;
		background-position: 50% 100px;
		height: 308px;
	}
}

/* ---------- Depoimentos ---------- */
.c-depoimentos {
	background: var(--color-white);
	text-align: center;
}

.c-depoimentos__cabecalho {
	padding: 50px 0 25px;
}

.c-depoimentos__inner {
	max-width: var(--container-max);
	margin: 0 auto;
}

.c-depoimentos__grade {
	display: grid;
	grid-template-columns: 1fr;
	padding: 20px 0;
}

.c-depoimento {
	padding: 20px 15px;
}

.c-depoimento:first-child {
	padding-top: 0;
	padding-bottom: 0;
}

.c-depoimento__aspas {
	display: block;
	margin: 20px auto 0;
	width: 30px;
	height: 30px;
	color: var(--color-primary);
}

.c-depoimento__texto {
	margin-top: 12px;
}

.c-depoimento__texto p {
	color: var(--color-black);
	font-size: 16px;
	line-height: normal;
}

.c-depoimento__nome {
	font-family: var(--font-nav);
	font-weight: 500;
	font-size: 14px;
	color: var(--color-black);
	margin: 12px 0 10px;
}

/* No original mobile, os nomes em parágrafo (3º e 4º) têm 16px. */
@media (max-width: 767px) {
	.c-depoimento:nth-child(3) .c-depoimento__nome,
	.c-depoimento:nth-child(4) .c-depoimento__nome {
		font-size: 16px;
	}
}

@media (min-width: 768px) {
	.c-depoimentos__cabecalho {
		padding: 82px 40px 24px;
	}

	.c-depoimentos__grade {
		grid-template-columns: repeat(4, 1fr);
		padding: 15px 20px 80px;
	}

	.c-depoimento {
		padding: 0 15px;
	}

	.c-depoimento:first-child {
		padding-bottom: 0;
	}

	.c-depoimento__aspas {
		width: 25px;
		height: 37px;
	}

	.c-depoimento__texto p {
		font-size: 18px;
	}

	.c-depoimento__nome {
		font-size: 18px;
	}
}

@media (min-width: 1025px) {
	.c-depoimentos__grade {
		max-width: var(--container-max);
	}
}

/* ---------- Vídeo ---------- */
.c-video {
	background: var(--color-primary);
	padding: 50px 0;
}

.c-video__inner {
	max-width: var(--container-max);
	margin: 0 auto;
}

.c-video__moldura {
	position: relative;
	width: 345px;
	max-width: calc(100% - 30px);
	margin: 50px auto 49px;
}

.c-video__player {
	display: block;
	width: 100%;
	height: 225px;
	object-fit: cover;
	object-position: 50% 50%;
}

.c-video__canal {
	position: absolute;
	right: 22px;
	top: 155px;
	width: 104px;
	height: 104px;
	border-radius: 50%;
	background: var(--color-circle);
	color: var(--color-black);
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-family: var(--font-nav);
	font-size: 14px;
	font-weight: 400;
}

.c-video__canal-texto {
	display: block;
	width: 70px;
}

@media (min-width: 768px) {
	.c-video {
		padding: 80px 0 100px;
	}

	.c-video__inner {
		padding-left: 177.1px;
	}

	.c-video__moldura {
		width: 83.333%;
		max-width: none;
		margin: 55px 0 0;
	}

	.c-video__player {
		height: 407px;
	}

	.c-video__canal {
		right: -8.5px;
		top: 50%;
		transform: translateY(-50%);
		width: 71.4px;
		height: 71.4px;
		font-size: 16px;
	}

	.c-video__canal-texto {
		width: 64px;
	}
}

@media (min-width: 1025px) {
	.c-video__canal {
		right: -80.5px;
		width: 143.4px;
		height: 143.4px;
		font-size: 20px;
	}

	.c-video__canal-texto {
		width: 104px;
	}
}

/* ---------- Produtos ---------- */
.c-produtos__ancora {
	padding: 15px 0 24px;
	text-align: center;
}

.c-produtos__titulo {
	margin-top: 14px;
	line-height: 35px;
	color: var(--color-black);
}

@media (min-width: 768px) {
	/* margin-left replica o offset de 27.1px do wrapper original. */
	.c-produtos__titulo {
		line-height: 42px;
		margin-left: 27.1px;
	}
}

.c-produtos {
	background: var(--color-white);
	padding: 10px 10px 40px;
}

.c-produtos__inner {
	max-width: var(--container-galeria);
	margin: 10px auto;
}

.c-produtos__grade {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	padding: 3.5px;
}

.c-card {
	position: relative;
	padding: 3.5px;
}

.c-card__link {
	display: block;
	position: relative;
	padding-top: 147.9%;
	background-size: cover;
	background-position: center;
}

/* Overlay dos cards presente no original (.caption-inner). */
.c-card__link::after {
	content: '';
	position: absolute;
	inset: 0;
	background: rgba(110, 57, 103, 0.1);
}

/* Mobile/tablet: legenda no canto inferior esquerdo (como no original). */
.c-card__legenda {
	position: absolute;
	bottom: 23.5px;
	left: 9.5px;
	right: 3.5px;
	text-align: left;
	pointer-events: none;
}

.c-card__titulo {
	font-family: var(--font-heading);
	font-size: 20px;
	font-weight: 700;
	color: var(--color-white);
}

@media (min-width: 768px) {
	.c-produtos__ancora {
		padding: 80px 40px 24px;
	}

	.c-produtos__inner {
		max-width: var(--container-max);
		padding-left: 27.1px;
	}

	.c-produtos {
		padding: 10px 10px 70px;
	}

	.c-produtos__inner {
		margin: 32px auto 10px;
	}

	.c-produtos__grade {
		grid-template-columns: repeat(4, 1fr);
		padding: 7px;
	}

	.c-card {
		padding: 7px;
	}

	.c-card__link {
		padding-top: 200%;
	}
}

@media (min-width: 1025px) {
	/* Desktop: legenda centralizada no topo. */
	.c-card__legenda {
		top: 7px;
		bottom: auto;
		left: 7px;
		right: 7px;
		padding-top: 15px;
		text-align: center;
	}
}

/* ---------- Contato ---------- */
.c-contato {
	background-image: var(--cdp-contato-bg-mobile);
	background-size: cover;
	/* Fase horizontal alinhada ao original (meio período do padrão). */
	background-position: calc(50% + 63px) 0;
	padding: 40px 0 50px;
}

@media (min-width: 768px) {
	.c-contato {
		background-image: var(--cdp-contato-bg);
		background-position: 50% 0;
	}
}

.c-contato__inner {
	max-width: var(--container-max);
	margin: 0 auto;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 38px;
	padding: 0 15px;
}

.c-contato__card {
	background: var(--color-white);
	padding: 0 15px 27px;
}

.c-form {
	margin: 0 44.5px;
	padding: 36px 16.5px 40px;
}

/* No original mobile as labels ficam ~13px à esquerda dos inputs. */
.c-form label {
	margin-left: -13.1px;
}

@media (min-width: 768px) {
	.c-form {
		padding: 36px 17.9px 35px;
	}

	.c-form label {
		margin-left: 0;
	}
}

.c-form__campo {
	margin-bottom: 23px;
}

.c-form label {
	display: block;
	font-family: var(--font-nav);
	font-size: 16px;
	font-weight: 300;
	line-height: 19px;
	color: var(--color-black);
	margin-bottom: 3px;
	text-align: left;
}

.c-form input[type='text'],
.c-form input[type='email'] {
	display: block;
	width: 100%;
	background: transparent;
	border: 0;
	border-bottom: 1px solid var(--color-black);
	border-radius: 0;
	height: 30px;
	padding: 0 10px;
	font-family: var(--font-body);
	font-size: 16px;
	font-weight: 400;
	color: var(--color-black);
}

.c-form input:focus {
	outline: none;
	border-bottom-color: var(--color-primary);
}

.c-form__hp {
	position: absolute;
	left: -9999px;
}

.c-form__enviar {
	margin: 2px 0 0;
	text-align: left;
}

@media (min-width: 768px) {
	.c-form__enviar {
		margin-left: 0;
		text-align: right;
	}
}

.c-form__botao {
	font-family: var(--font-nav);
	font-size: 16px;
	font-weight: 700;
	color: var(--color-white);
	background: var(--color-primary);
	border: 0;
	border-radius: 5px;
	padding: 10px;
	width: 202px;
	height: 39px;
	cursor: pointer;
}

.c-form__resultado {
	margin-top: 12px;
	text-align: left;
}

.c-form__resultado.is-erro {
	color: var(--color-primary);
}

.c-form__lgpd {
	margin-top: 10px;
	font-size: 11px;
	line-height: 15.18px;
	color: var(--color-text);
	text-align: left;
}

.c-form__lgpd a {
	color: var(--color-primary);
	text-decoration: underline;
}

.c-contato__dados {
	text-align: left;
}

.c-contato__titulo {
	color: var(--color-black);
	margin: 0;
}

.c-contato__rotulo {
	font-family: var(--font-nav);
	font-size: 13px;
	font-weight: 600;
	line-height: 17px;
	color: var(--color-black);
	margin-top: 12px;
}

.c-contato__endereco,
.c-contato__telefone,
.c-contato__email {
	margin-top: 12px;
	font-family: var(--font-nav);
	font-size: 11px;
	font-weight: 400;
	line-height: 15px;
}

.c-contato__telefone {
	margin-top: 16px;
}

.c-contato__email {
	margin-top: 15px;
}

.c-contato__endereco a,
.c-contato__email a {
	color: var(--color-primary);
}

.c-contato__telefone a {
	color: var(--color-black);
}

.c-contato__social {
	margin-top: 15px;
	display: flex;
	gap: 8px;
}

@media (min-width: 768px) {
	.c-contato__social {
		gap: 4px;
	}
}

.c-social {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 2px solid var(--color-primary);
	border-radius: 50%;
	color: var(--color-primary);
}

@media (min-width: 768px) {
	.c-social {
		width: 34px;
		height: 34px;
	}
}

/* Facebook: disco preenchido com glifo branco (como no original). */
.c-social--facebook {
	background: var(--color-primary);
	color: var(--color-white);
}

.c-social__icone {
	width: 20px;
	height: 20px;
}

@media (min-width: 768px) {
	.c-social__icone {
		width: 16px;
		height: 16px;
	}
}

.c-contato__mapa {
	display: block;
	margin-top: 15px;
	width: 100%;
	height: 170px;
	border: 0;
}

@media (min-width: 768px) {
	.c-contato {
		padding: 170px 40px;
	}

	.c-contato__inner {
		grid-template-columns: 344px 236px;
		justify-content: space-between;
		gap: 0;
		padding: 0;
	}

	.c-contato__card {
		padding: 0 20px 14px;
		align-self: start;
	}

	.c-form {
		margin: 20px 0 0;
	}

	.c-contato__mapa {
		margin-top: 23px;
	}

	.c-form__lgpd {
		font-size: 14px;
		line-height: 19.32px;
	}

	.c-contato__titulo {
		margin: 11px 0 32px;
	}

	.c-contato__rotulo {
		font-size: 16px;
		line-height: 21px;
	}

	.c-contato__endereco,
	.c-contato__telefone,
	.c-contato__email {
		margin-top: 12px;
		font-size: 14px;
		line-height: 19px;
	}
}

@media (min-width: 1025px) {
	.c-contato__inner {
		grid-template-columns: 600px 492px;
		justify-content: space-between;
	}

	.c-contato__card {
		padding-bottom: 34px;
	}

	.c-form {
		margin: 20px 76px 0;
	}
}

/* ---------- Footer ---------- */
.c-footer {
	background: var(--color-primary);
	color: var(--color-off-white-1);
	text-align: center;
	padding: 15px 0;
}

@media (min-width: 768px) {
	.c-footer {
		padding: 0;
	}
}

.c-footer__inner {
	max-width: var(--container-galeria);
	margin: 0 auto;
	padding: 0 15px;
}

.c-footer__dados {
	padding: 0 0 25px;
}

.c-footer__logo-img {
	display: block;
	margin: 0 auto;
	width: 175.8px;
	height: auto;
}

.c-footer__endereco {
	font-style: normal;
	margin-top: 10px;
}

.c-footer__linha {
	font-family: var(--font-heading);
	font-size: 10px;
	font-weight: 400;
	line-height: 13px;
	color: var(--color-off-white-1);
}

.c-footer__linha a {
	font-family: var(--font-nav);
	font-size: 10px;
	color: var(--color-white);
	text-decoration: underline;
}

@media (min-width: 768px) and (max-width: 1024px) {
	.c-footer__linha a {
		font-weight: 500;
	}
}

.c-footer__cep {
	font-family: var(--font-nav);
	font-size: 10px;
	color: var(--color-off-white-1);
}

.c-footer__contatos {
	margin-top: 35px;
}

.c-footer__contatos .c-footer__linha {
	font-size: 13px;
	line-height: 17px;
}

.c-footer__contatos .c-footer__linha a {
	font-family: var(--font-heading);
	font-size: 13px;
}

.c-footer__hr {
	border: 0;
	border-top: 1px solid var(--color-white);
	margin: 10.6px 0 0;
}

.c-footer__copy-texto {
	/* Recuo de 28px à esquerda alinha o texto em x≈43 (com o © pendurado na
	   margem). Largura útil ~317px: a linha 1 vai até “…Persianas - 2026”
	   (300px) e “Conheça…” quebra para a 2ª linha, como no original. O top
	   menor (−3px) sobe o texto para y≈233; o bottom maior compensa para
	   manter a altura do footer e a posição da barra de crédito. */
	padding: 22.3px 0 14.8px 28px;
	font-family: var(--font-body);
	font-size: 13px;
	font-weight: 400;
	line-height: 17px;
	color: var(--color-white);
	text-align: left;
}

@media (min-width: 768px) {
	.c-footer__hr {
		margin-top: 6px;
	}

	.c-footer__copy-texto {
		padding: 32px 0 39px;
	}

	.c-footer__credito-inner {
		min-height: 38px;
	}
}

@media (min-width: 768px) and (max-width: 1024px) {
	.c-footer__hr {
		margin: 10.5px 26px 0 52px;
	}

	.c-footer__copy-texto {
		/* padding-left 52px alinha a linha de copyright com o original neste
		   breakpoint (glifos medidos batem em ±1px: © em x≈67). */
		padding: 22.5px 0 44px 52px;
	}

	.c-footer__contatos {
		flex-basis: 286.2px;
		width: 286.2px;
	}

	/* No original o e-mail longo quebra em duas linhas (…com. / br) em vez
	   de estourar a coluna; a largura acima permite quebrar após “.com.”. */
	.c-footer__contatos .c-footer__linha,
	.c-footer__contatos .c-footer__linha a {
		overflow-wrap: break-word;
	}

	/* Coluna de endereço alinhada à esquerda (no original a “Rua…” começa
	   na borda esquerda da coluna, não centralizada). Especificidade extra
	   para vencer o text-align:center da regra min-width:768px. */
	.c-footer__colunas .c-footer__endereco {
		text-align: left;
	}

	/* No original o “Feito por :” encosta no logo (sem gap); o gap:22px
	   padrão o deslocava 22px para a esquerda neste breakpoint. */
	.c-footer__credito-inner {
		gap: 0;
	}
}

.c-footer__pipe {
	color: #e77103;
}

/* Ano do copyright: posição muda entre mobile e desktop (como no original). */
.c-footer__ano--desktop {
	display: none;
}

.c-footer__copy-simbolo {
	margin-right: 26px;
}

@media (max-width: 767px) {
	/* No mobile o © do original é maior (16px) e fica “pendurado” na margem
	   esquerda, fora do fluxo, para não roubar largura do texto (que precisa
	   quebrar “2026” na 2ª linha). Posicionado em absoluto no recuo de 28px
	   do parágrafo; o texto começa em x≈43 como no original. */
	.c-footer__copy-texto {
		position: relative;
	}

	.c-footer__copy-simbolo {
		position: absolute;
		left: 0;
		top: 21px;
		font-size: 16px;
		margin: 0;
	}

	/* Crédito “Feito por :” é 11px no mobile do original (14px no desktop). */
	.c-footer__credito-titulo span {
		font-size: 11px;
	}
}

@media (min-width: 768px) {
	.c-footer__ano--desktop {
		display: inline;
	}

	.c-footer__ano--mobile {
		display: none;
	}

	.c-footer__copy-simbolo {
		margin-right: 0;
	}
}

.c-footer__copy-texto a {
	font-family: var(--font-body);
	font-size: 13px;
	font-weight: 400;
	color: var(--color-white);
	text-decoration: underline;
}

.c-footer__credito {
	background: var(--color-black);
	padding: 15px 0;
}

.c-footer__credito-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

.c-footer__credito-titulo span {
	font-family: 'Barlow', sans-serif;
	font-size: 14px;
	font-weight: 300;
	color: var(--color-white);
}

.c-footer__credito-img {
	display: block;
	width: 71px;
	height: auto;
}

@media (min-width: 768px) {
	.c-footer__dados {
		padding: 22.5px 0 22.5px 0;
	}

	.c-footer__colunas {
		display: flex;
		align-items: flex-start;
		text-align: left;
		max-width: none;
		padding: 8px 0 0 50px;
		min-height: 96px;
	}

	.c-footer__logo {
		flex: 0 0 auto;
	}

	.c-footer__logo-img {
		width: 179.5px;
	}

	.c-footer__endereco {
		flex: 0 0 152.4px;
		margin: 2px 0 0 27px;
		text-align: center;
		width: 152.4px;
	}

	.c-footer__linha,
	.c-footer__linha a,
	.c-footer__cep {
		font-size: 12px;
		line-height: 16px;
	}

	.c-footer__contatos {
		flex: 0 0 286.2px;
		width: 286.2px;
		margin: 2px 72.8px 0 auto;
		text-align: right;
	}

	.c-footer__contatos .c-footer__linha,
	.c-footer__contatos .c-footer__linha a {
		font-size: 14px;
		line-height: 19px;
	}

	.c-footer__copy-texto {
		text-align: left;
	}

	.c-footer__credito {
		padding: 2px 0;
	}

	.c-footer__credito-inner {
		flex-direction: row;
		justify-content: flex-end;
		gap: 22px;
		min-height: 38px;
		padding-right: 40px;
	}

	.c-footer__credito-img {
		width: 57.3px;
	}
}

@media (min-width: 1025px) {
	.c-footer__colunas {
		padding-left: 145px;
		min-height: 77px;
	}

	.c-footer__copy-texto {
		padding: 24px 0 48px;
	}

	.c-footer__credito-inner {
		max-width: var(--container-max);
		padding: 0;
		min-height: 43.3px;
	}

	.c-footer__credito-img {
		width: 78px;
	}

	.c-footer__logo-img {
		width: 205px;
	}

	.c-footer__endereco {
		flex: 0 0 273px;
		margin-left: 122px;
		width: 273px;
	}

	.c-footer__contatos {
		flex: 0 0 487px;
		width: 487px;
		margin-right: 208px;
	}
}

/* ---------- WhatsApp flutuante ---------- */
.c-whatsapp {
	position: fixed;
	right: 20px;
	bottom: 20px;
	width: 60px;
	height: 60px;
	border-radius: 50px;
	background: var(--color-whatsapp);
	color: var(--color-white);
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 2px 2px 3px #999999;
	z-index: 100;
}

.c-whatsapp__icone {
	width: 30px;
	height: 30px;
}

@media (min-width: 768px) {
	.c-whatsapp {
		right: 40px;
		bottom: 40px;
	}
}

/* ---------- Banner de consentimento LGPD ---------- */
.c-lgpd {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 90; /* Abaixo do WhatsApp (100) para não cobri-lo. */
	background: var(--color-white);
	border-top: 1px solid #e2e2e2;
	box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.08);
	transform: translateY(100%);
	transition: transform 0.35s ease;
}

.c-lgpd.is-visivel {
	transform: translateY(0);
}

.c-lgpd__inner {
	max-width: var(--container-max);
	margin: 0 auto;
	padding: 14px 90px 14px 16px; /* Reserva o canto direito do WhatsApp. */
	display: flex;
	flex-direction: column;
	gap: 10px;
	align-items: flex-start;
}

.c-lgpd__texto {
	margin: 0;
	font-family: var(--font-body);
	font-size: 13px;
	line-height: 1.4;
	color: var(--color-black);
}

.c-lgpd__link {
	color: var(--color-primary);
	text-decoration: underline;
}

.c-lgpd__link:hover,
.c-lgpd__link:focus {
	text-decoration: none;
}

.c-lgpd__botao {
	flex-shrink: 0;
	background: var(--color-primary);
	color: var(--color-white);
	border: 0;
	border-radius: 50px;
	padding: 9px 28px;
	font-family: var(--font-nav);
	font-weight: 700;
	font-size: 13px;
	cursor: pointer;
}

.c-lgpd__botao:hover,
.c-lgpd__botao:focus {
	filter: brightness(1.1);
}

@media (min-width: 768px) {
	.c-lgpd__inner {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		gap: 24px;
		padding: 14px 120px 14px 20px;
	}

	.c-lgpd__texto {
		font-size: 14px;
	}
}

/* ---------- Páginas internas de produto ---------- */
.c-produto {
	padding: 40px 30px;
	max-width: 1440px;
	margin: 0 auto;
	text-align: center;
}

.c-produto__titulo {
	font-family: var(--font-nav); /* Spartan, como no original (não Amiko). */
	font-weight: 500;
	font-size: 29px;
	line-height: 1.2;
	text-transform: uppercase;
	color: var(--color-black);
}

@media (min-width: 768px) {
	.c-produto__titulo {
		font-size: 36px;
	}
}

.c-produto__intro {
	max-width: 100%;
	margin: 20px auto;
}

.c-produto__intro p {
	color: var(--color-black);
}

.c-galeria {
	columns: 1;
	column-gap: 12px;
	margin: 30px 0;
}

@media (min-width: 768px) {
	.c-galeria {
		columns: 2;
	}
}

@media (min-width: 1024px) {
	.c-galeria {
		columns: 3;
	}
}

.c-galeria__item {
	margin: 0 0 12px;
	break-inside: avoid;
}

.c-galeria__img {
	display: block;
	width: 100%;
}

.c-produto__voltar-botao {
	display: inline-block;
	background: var(--color-primary);
	color: var(--color-white);
	border-radius: 50px;
	padding: 12px 40px;
	font-family: var(--font-nav);
	font-weight: 700;
}

/* ---------- Privacy / páginas ---------- */
.c-privacy,
.c-pagina {
	max-width: var(--container-max);
	margin: 0 auto;
	padding: 40px 20px;
	text-align: left;
	font-family: var(--font-body);
	font-size: 15px;
	line-height: 1.4;
	color: var(--color-black);
}

/* O conteúdo do privacy vem da Duda com <div>/<font> legados; o
   espaçamento entre blocos é dado por <div><br></div>, então zeramos as
   margens dos blocos para não duplicar o respiro (fica fiel ao original). */
.c-privacy__conteudo p,
.c-privacy__conteudo div {
	margin: 0;
}

/* ---------- 404 ---------- */
.c-404 {
	max-width: 960px;
	margin: 0 auto;
	padding: 60px 15px;
	text-align: center;
}
