@charset "utf-8";
/* Componentes do site, um bloco por componente. Carrega depois do base.css. */

/* === Pagina ===================================================================================== */
#app {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	overflow: hidden;
}
#app main {
	flex: 1 0 auto;
}
#app #rodape {
	flex: 0 0 auto;
}

/* Corpo do editor TinyMCE (body_class em admin.js), que nao tem o .container a' volta. */
.tinymce-editor-body {
	padding: 20px 24px;
}

.hidden {
	display: none;
}

/* === Seccoes ==================================================================================== */
.seccao {
	position: relative;
	z-index: 0;
	padding-top: 70px;
	padding-bottom: 70px;
}
@media (min-width: 768px) {
	.seccao {
		padding-top: 100px;
		padding-bottom: 100px;
	}
}
/* .05px e nao 0: a margem dos filhos fica dentro da seccao. */
.seccao--sem-topo {
	padding-top: .05px !important;
}
.seccao--sem-fundo {
	padding-bottom: .05px !important;
}
/* Galeria do Catering a seguir a uma secao branca: sem padding em cima (dois paddings somados). */
.seccao:not([style]):not([class*="seccao--fundo-"]) + .seccao--galeria-catering:not([style]) {
	padding-top: .05px;
}
.seccao--fundo-marca {
	background-color: #A46310;
}
.seccao--fundo-marca .cabecalho-seccao__titulo {
	color: #fff;
}
.seccao--fundo-cinza {
	background-color: #f9f9f9;
}
.seccao--fundo-escuro {
	background-color: #333;
}
@media (min-width: 992px) {
	.seccao--fundo-imagem {
		background-repeat: no-repeat;
		background-position: right bottom;
		background-size: contain;
	}
}
/* h6 em texto rico (conteudo antigo): do tamanho de um h4. */
.seccao--fundo-imagem h6 {
	font-size: 2rem;
}

.jarallax {
	position: relative;
	z-index: 0;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: cover;
}
.jarallax > .jarallax-img {
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.desktop .jarallax {
	background-attachment: fixed;
}

.cabecalho-seccao {
	margin-bottom: 60px;
	line-height: 1.4;
	font-size: 1.8rem;
	font-weight: 300;
	color: #767676;
}
.cabecalho-seccao:first-child {
	margin-top: -5px;
}
.cabecalho-seccao__titulo {
	line-height: 1.1;
	font-weight: 100;
}
.cabecalho-seccao__titulo b,
.cabecalho-seccao__titulo strong {
	font-weight: 900;
}
.cabecalho-seccao--esquerda {
	text-align: left;
}
.cabecalho-seccao--centro {
	max-width: 600px;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}
.cabecalho-seccao--direita {
	text-align: right;
}

/* === Botoes ===================================================================================== */
.botao {
	position: relative;
	display: inline-block;
	vertical-align: middle;
	padding-left: 28px;
	padding-right: 28px;
	line-height: 1;
	font-size: 1.2rem;
	font-family: Raleway, sans-serif;
	font-weight: 700;
	letter-spacing: 0;
	text-align: center !important;
	text-decoration: none !important;
	text-shadow: none !important;
	text-transform: uppercase;
	color: #4f4a37;
	border: 2px solid #A46310;
	border-radius: 30px;
	box-shadow: none;
	outline: 0;
	cursor: pointer;
	user-select: none;
	-webkit-user-drag: none;
	touch-action: manipulation;
	transition: background-color .25s ease-in-out, border-color .25s ease-in-out, color .25s ease-in-out;
}
.botao:focus,
.botao:hover {
	color: #4f4a37;
}
.botao--medio {
	min-width: 160px;
	min-height: 54px;
	padding-top: 19px;
	padding-bottom: 19px;
}
.botao.botao--largo {
	width: 100%;
}
.botao.botao--contorno {
	background-color: transparent;
}
.botao.botao--contorno:focus,
.botao.botao--contorno:hover {
	background-color: #A46310;
	color: #fff !important;
}
.botao.botao--preenchido {
	background-color: #A46310;
}
.botao.botao--preenchido:focus,
.botao.botao--preenchido:hover {
	background-color: transparent;
}
.botao.botao--contorno-claro {
	background-color: transparent;
	color: #fff;
}
.botao.botao--contorno-claro:focus,
.botao.botao--contorno-claro:hover {
	background-color: #A46310;
	color: #4f4a37;
}
.botao.botao--marca {
	background-color: #A46310;
	color: #fff;
}
.botao.botao--marca:focus,
.botao.botao--marca:hover {
	background-color: transparent;
	color: #fff;
}
.botao.botao--branco {
	background-color: #fff;
	border-color: #fff;
	color: #1b1b1b;
}
.botao.botao--branco:focus,
.botao.botao--branco:hover {
	background-color: #A46310;
	border-color: #A46310;
	color: #4f4a37;
}
.botao.botao--branco-fixo {
	background-color: #fff;
	border-color: #fff;
	color: #1b1b1b;
	cursor: default !important;
}

/* === Formularios ================================================================================ */
.formulario {
	max-width: 770px;
	margin-left: auto;
	margin-right: auto;
}
form .formulario__campo {
	position: relative;
	display: block;
	width: 100%;
	margin-top: 20px;
	line-height: 1;
}
form .campo {
	display: block;
	float: none;
	width: 100%;
	padding: 13px 0;
	line-height: 1.2;
	font-size: 1.4rem;
	font-family: "Open Sans", sans-serif;
	font-weight: 500;
	color: #666;
	background: padding-box none;
	border: none;
	border-bottom: 1px solid #dadada;
	border-radius: 0;
	box-shadow: none;
	outline: 0;
	appearance: none;
	resize: none;
	transition: background-color .3s ease-in-out, border-color .3s ease-in-out, color .3s ease-in-out;
}
/* O placeholder e' a unica etiqueta de cada campo: #767676 da' 4.54:1 sobre branco. */
form .campo::placeholder {
	color: #767676;
	transition: color .3s ease-in-out;
}
form input.campo,
form select.campo {
	height: 44px;
}
form textarea {
	min-height: 125px;
	height: 100%;
	resize: vertical;
}
form button[type=submit] {
	margin-top: 55px;
	box-shadow: none;
	outline: 0;
	cursor: pointer;
}
/* "Placeholder" do <select>: .has-value (jactions.js) repoe a cor normal. */
select.campo {
	color: #767676;
}
select.campo.has-value {
	color: #666;
}
.seccao--fundo-escuro .formulario .campo:focus,
.seccao--fundo-escuro .formulario .campo:hover {
	color: #A46310;
}
/* 16px no telemovel: abaixo disso o Safari do iPhone amplia a pagina ao tocar num campo. Nao usar
   maximum-scale=1 no viewport (tira o zoom a quem precisa). */
@media (max-width: 767.98px) {
	form .campo,
	form input.campo,
	form select.campo,
	form textarea.campo {
		font-size: 16px;
	}
}
@media (prefers-reduced-motion: reduce) {
	.botao,
	form .campo,
	form .campo::placeholder {
		transition: none;
	}
}

.consentimento a {
	text-decoration: underline;
}

.consentimento {
	/* block: margin:auto so' centra elementos block. */
	position: relative;
	display: block;
	width: 100%;
	max-width: 460px;
	margin-top: 15px;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 25px;
	line-height: 18px;
	font-size: 10px;
	font-weight: 400;
	letter-spacing: .5px;
	text-transform: uppercase;
	cursor: pointer;
	user-select: none;
}
.consentimento input {
	position: absolute;
	opacity: 0;
	cursor: pointer;
}
.consentimento__caixa {
	position: absolute;
	top: 0;
	left: 0;
	width: 18px;
	height: 18px;
	background-color: #eee;
}
.consentimento:hover input ~ .consentimento__caixa {
	background-color: #ccc;
}
.consentimento input:checked ~ .consentimento__caixa {
	background-color: #A46310;
}
.consentimento__caixa::after {
	content: "";
	position: absolute;
	display: none;
}
.consentimento input:checked ~ .consentimento__caixa::after {
	display: block;
}
.consentimento .consentimento__caixa::after {
	top: 3px;
	left: 7px;
	width: 5px;
	height: 10px;
	border: solid #fff;
	border-width: 0 3px 3px 0;
	transform: rotate(45deg);
}

.fpreloader,
.form-result {
	margin: 15px 0 -20px 0;
}

.flatpickr-calendar {
	font-family: Raleway, sans-serif;
	box-shadow: 0 10px 30px rgba(0, 0, 0, .15);
	border-radius: 4px;
}
.flatpickr-day.selected,
.flatpickr-day.selected:hover,
.flatpickr-day.selected:focus {
	background: #A46310;
	border-color: #A46310;
}
.flatpickr-day.today {
	border-color: #A46310;
}
.flatpickr-day.today:hover,
.flatpickr-day.today:focus {
	background: #A46310;
	border-color: #A46310;
	color: #fff;
}
.flatpickr-day:hover {
	background: rgba(164, 99, 16, .12);
}
.flatpickr-months .flatpickr-month,
.flatpickr-current-month .flatpickr-monthDropdown-months,
span.flatpickr-weekday {
	color: #333;
}
.flatpickr-months .flatpickr-prev-month:hover svg,
.flatpickr-months .flatpickr-next-month:hover svg {
	fill: #A46310;
}

/* === Menu (cabecalho e lista de lojas do rodape) =============================================== */
.navegacao {
	position: relative;
	text-align: left;
}
/* font-size:0 no <ul> tira o espaco entre itens inline-block. */
.navegacao ul {
	line-height: 0;
	font-size: 0;
	letter-spacing: -1px;
}
.navegacao li {
	position: relative;
	display: inline-block;
	vertical-align: middle;
	line-height: 1;
	font-size: 1.3rem;
	letter-spacing: 0;
	text-transform: uppercase;
	white-space: normal;
}
.navegacao li a:not(.botao) {
	position: relative;
	display: inline-block;
	line-height: inherit;
	font-size: inherit;
	font-family: inherit;
	transition: background-color .3s ease-in-out, border-color .3s ease-in-out, color .3s ease-in-out;
}
.navegacao li a:not(.botao)::before,
.navegacao li a:not(.botao)::after {
	pointer-events: none;
}
.navegacao li a:not(.botao)::after {
	content: "";
	position: absolute;
	top: 140%;
	left: 50%;
	display: block;
	width: 0;
	height: 2px;
	background-color: #A46310;
	opacity: 0;
	visibility: hidden;
	transition: left .3s ease-in-out, width .3s ease-in-out, opacity .3s ease-in-out, visibility .3s ease-in-out;
}
.navegacao li.active > a:not(.botao)::after,
.navegacao li:hover > a:not(.botao)::after {
	left: 0;
	width: 100%;
	opacity: 1;
	visibility: visible;
}
@media (prefers-reduced-motion: reduce) {
	.navegacao li a:not(.botao),
	.navegacao li a:not(.botao)::after {
		transition: none;
	}
}

/* === Barra do topo ============================================================================== */
.barra-topo {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 5;
	width: 100%;
	background: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, rgb(0, 0, 0) 100%);
}
@media (min-width: 1200px) {
	.barra-topo {
		padding-left: 40px;
		padding-right: 40px;
	}
}
.barra-topo__logo {
	position: relative;
	z-index: 6;
	margin: 20px 0 0 0;
}
.logotipo {
	display: inline-block;
}
.logotipo img {
	vertical-align: middle;
	max-width: 100%;
	height: 110px;
}
@media (min-width: 992px) {
	.barra-topo__logo {
		margin-left: 0;
	}
	.barra-topo__logo img {
		height: 140px;
	}
}
@media (max-width: 768px) {
	.pagina-inicial .barra-topo__logo {
		margin-left: 50% !important;
		transform: translate(-45%, 0);
	}
}

.barra-topo__botao-menu {
	position: absolute;
	top: 25px;
	right: 15px;
	z-index: 6;
	padding: 19px 10px;
}
.barra-topo__botao-menu span {
	position: relative;
	display: block;
	width: 20px;
	height: 3px;
}
.barra-topo__botao-menu span::before,
.barra-topo__botao-menu span::after {
	content: "";
	position: absolute;
	left: 0;
	width: 100%;
	height: 100%;
}
.barra-topo__botao-menu span::before {
	top: -6px;
}
.barra-topo__botao-menu span::after {
	top: 6px;
}
.barra-topo__botao-menu span,
.barra-topo__botao-menu span::before,
.barra-topo__botao-menu span::after {
	background-color: #fff;
	transition: .4s ease-in-out;
}
.barra-topo__botao-menu.is-active span {
	background-color: transparent !important;
}
.barra-topo__botao-menu.is-active span::before,
.barra-topo__botao-menu.is-active span::after {
	top: 0;
	transform-origin: 50% 50%;
}
.barra-topo__botao-menu.is-active span::before {
	transform: rotate(225deg);
}
.barra-topo__botao-menu.is-active span::after {
	transform: rotate(-225deg);
}
@media (min-width: 992px) {
	.barra-topo__botao-menu {
		display: none;
	}
}
@media (prefers-reduced-motion: reduce) {
	.barra-topo__botao-menu span,
	.barra-topo__botao-menu span::before,
	.barra-topo__botao-menu span::after {
		transition: none;
	}
}

/* Escondido no telemovel ate' se abrir. visibility tira-o tambem do teclado (Tab). */
.barra-topo__painel {
	height: 0;
	overflow: hidden;
	visibility: hidden;
}
@media (min-width: 992px) {
	.barra-topo__painel {
		height: auto;
		overflow: visible;
		visibility: visible;
	}
}
.barra-topo__menu ul::before,
.barra-topo__menu ul::after {
	content: "";
	display: table;
	clear: both;
}
.barra-topo__menu li {
	margin-top: 15px;
}
.barra-topo__menu li:first-child {
	margin-top: 0 !important;
	margin-left: 0 !important;
}
.barra-topo__menu a:not(.botao)::after {
	margin-top: 2px;
}
.barra-topo .barra-topo__menu a:not(.botao) {
	color: #fff;
}
@media (min-width: 992px) {
	.barra-topo__menu li {
		margin-top: 0;
		margin-left: 30px;
		padding: 15px 0;
	}
	.barra-topo .barra-topo__menu {
		margin-bottom: 20px;
	}
	.barra-topo .barra-topo__menu a:not(.botao)::after {
		margin-top: 10px;
	}
}

.barra-topo.is-expanded .barra-topo__fundo {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}
.barra-topo.is-expanded .barra-topo__painel {
	visibility: visible;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	height: 100%;
	padding: 0 15px;
	border-top: 100px solid transparent;
	border-bottom: 40px solid transparent;
	overflow-y: auto;
	font-size: 0;
	text-align: center;
}
.barra-topo.is-expanded .barra-topo__menu {
	display: inline-block;
	margin-bottom: 30px;
}
.barra-topo.is-expanded .barra-topo__menu li {
	font-size: 2.2rem;
}
.barra-topo.is-expanded .barra-topo__menu:last-child {
	margin-bottom: 0;
}
@media (max-width: 991.98px) {
	/* Acima do botao do WhatsApp (z-index 1000). */
	.barra-topo.is-expanded {
		z-index: 1100;
	}
	.barra-topo.is-expanded .barra-topo__logo {
		display: none;
	}
	.barra-topo.is-expanded .barra-topo__painel {
		display: flex;
		flex-direction: column;
		justify-content: center;
		/* align-items stretch de proposito: os itens tem largura em %. */
	}
	.barra-topo.is-expanded .barra-topo__painel > div:first-child {
		display: block;
		vertical-align: middle;
	}
	.barra-topo .navegacao li {
		display: block;
	}
	#barra-topo__menu {
		display: block;
		width: 100%;
	}
	#barra-topo__menu li {
		width: 100%;
		max-width: 80%;
		margin-left: auto !important;
		margin-right: auto;
		margin-bottom: 14px;
	}
	#barra-topo__menu li a {
		display: block;
		width: 100%;
	}
}

/* Alinhamento do logo e do menu (Template > Cabecalho), so' em desktop. */
@media (min-width: 992px) {
	.barra-topo--logo-direita .row.justify-content-between {
		flex-direction: row-reverse;
	}
	.barra-topo--logo-centro .row.justify-content-between {
		justify-content: center !important;
		gap: 50px;
	}
	.barra-topo--menu-esquerda #barra-topo__painel {
		flex-grow: 0;
	}
	.barra-topo--menu-esquerda .barra-topo__menu {
		margin-left: 40px;
	}
}

/* === Capa da pagina inicial ===================================================================== */
.capa {
	position: relative;
	height: 75vh;
}
.capa__fundo {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 165%;
	background-repeat: no-repeat;
	background-size: cover;
}
.capa__fundo::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 0;
	width: 100%;
	height: 250px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none' viewBox='0 0 100 250' fill='rgb(255,255,255)' fill-opacity='1'%3E%3Cpolygon points='0,250 100,250 100,0'%3E%3C/polygon%3E%3C/svg%3E");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 100% 100%;
}
@media (min-width: 992px) {
	.capa__fundo::after {
		height: 300px;
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none' viewBox='0 0 100 300' fill='rgb(255,255,255)' fill-opacity='1'%3E%3Cpolygon points='0,300 100,300 100,0'%3E%3C/polygon%3E%3C/svg%3E");
	}
}
@media (min-width: 1200px) {
	.capa__fundo::after {
		height: 395px;
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none' viewBox='0 0 100 395' fill='rgb(255,255,255)' fill-opacity='1'%3E%3Cpolygon points='0,395 100,395 100,0'%3E%3C/polygon%3E%3C/svg%3E");
	}
}
.capa__conteudo {
	position: relative;
	height: 100%;
}
@media (min-width: 576px) {
	.capa__conteudo {
		font-size: 1.6rem;
	}
}
.capa__interior {
	position: relative;
	top: auto;
	left: 0;
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	height: inherit;
	overflow: hidden;
}
.capa__titulo {
	line-height: .8;
	font-size: 8rem;
	font-family: Damion;
	font-weight: 400;
	text-transform: none;
	text-align: center;
	color: #fff;
}
@media (min-width: 768px) {
	.capa__titulo {
		font-size: 12rem;
		text-align: left;
	}
}
@media (max-width: 767.98px) {
	.capa {
		height: 60vh;
	}
	.capa__interior .container {
		margin-top: 20px;
	}
}
/* Em vw no telemovel estreito, para o titulo nao sair cortado. */
@media (max-width: 575.98px) {
	.capa__titulo {
		font-size: clamp(4.8rem, 18vw, 8rem);
		overflow-wrap: break-word;
	}
}

/* === Cabecalho das outras paginas =============================================================== */
#cabecalho-pagina {
	min-height: 475px;
	padding-top: 150px;
	padding-bottom: 30px;
	color: #fff;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: cover;
}
@media (min-width: 576px) {
	#cabecalho-pagina {
		padding-top: 195px;
	}
}
#cabecalho-pagina .cabecalho-pagina__titulo {
	margin-bottom: .3rem;
	line-height: 1.1;
	font-size: 6rem;
	font-weight: 900;
	color: inherit;
	overflow-wrap: break-word;
}
#cabecalho-pagina .cabecalho-pagina__titulo b,
#cabecalho-pagina .cabecalho-pagina__titulo strong {
	display: block;
	font-size: 6rem;
	font-weight: 900;
}
#cabecalho-pagina .cabecalho-pagina__titulo span {
	display: block;
	font-size: 66.66667%;
}
#cabecalho-pagina .cabecalho-pagina__subtitulo {
	margin: 0;
	line-height: 1.1;
	font-size: 4rem;
	font-weight: 100;
	color: inherit;
}
@media (max-width: 767.98px) {
	#cabecalho-pagina .cabecalho-pagina__titulo {
		font-size: 4rem;
	}
	#cabecalho-pagina .cabecalho-pagina__subtitulo {
		font-size: 2.5rem;
	}
}
#cabecalho-pagina p {
	margin-top: 1.75rem !important;
}
#cabecalho-pagina .oportunidade-eyebrow {
	display: block;
	margin-bottom: 10px;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #d9a866;
}

/* === Rodape ===================================================================================== */
#rodape {
	position: relative;
}
.rodape {
	padding-top: 75px;
	background-color: #2a2a2a;
}
#rodape .rodape__item {
	width: 100%;
	margin-bottom: 40px;
}
#rodape .rodape__texto {
	font-size: 1.3rem;
}
.rodape .rodape__texto {
	color: #919191;
}
.rodape .rodape__texto a {
	color: inherit;
}
.rodape__rotulo {
	display: block;
	margin-bottom: 8px;
	font-size: 13px;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: #919191;
}
.rodape__rotulo--normal {
	text-transform: none;
}
.texto-marca {
	color: #A46310;
}
/* Tom claro da marca sobre o fundo escuro (contraste). */
#rodape .texto-marca {
	color: #CF8A20;
}

/* Os 6 blocos e o divisor no mesmo .row, ordenados por "order" (ordem do admin, ver footer.php). */
.rodape__bloco--lojas { order: 1; }
.rodape__bloco--logo { order: 2; }
.rodape__bloco--social-lang { order: 3; }
.rodape__bloco--divider { order: 4; }
.rodape__bloco--address { order: 5; }
.rodape__bloco--legal { order: 6; }
.rodape__bloco--financing { order: 7; }
@media (max-width: 767px) {
	.rodape__bloco--lojas { order: 1; }
	.rodape__bloco--address { order: 2; }
	.rodape__bloco--social-lang { order: 3; }
	.rodape__bloco--legal { order: 4; }
	.rodape__bloco--financing { order: 5; }
	.rodape__bloco--logo,
	.rodape__bloco--divider {
		display: none;
	}
}
.rodape__divisor {
	margin: 24px 0;
	border: none;
	border-top: 1px solid rgba(255, 255, 255, .1);
}

#rodape__lojas li {
	margin-right: 15px;
}
.rodape #rodape__lojas li {
	display: block !important;
	margin-bottom: 14px;
	font-size: 1.3rem;
	text-transform: none;
}
.rodape #rodape__lojas a {
	color: #aaa;
}
.rodape #rodape__lojas li.active a,
.rodape #rodape__lojas li:hover a {
	color: #fff;
}
#rodape__lojas.rodape__lojas ul li.active > a,
#rodape__lojas.rodape__lojas ul li.active a {
	color: #fff;
	font-weight: 700;
}

#rodape .rodape__bloco--address {
	font-size: 13px;
}
#rodape address {
	margin-top: 12px;
	line-height: 1.6;
	font-style: normal;
}
.rodape address {
	color: #fff;
}
.rodape address a {
	color: inherit;
}
#rodape address p {
	margin-top: 10px;
	margin-bottom: 10px;
}
#rodape address p:first-child {
	margin-top: 0 !important;
}
#rodape address p:last-child {
	margin-bottom: 0 !important;
}
#rodape address a[href*=mailto] {
	text-decoration: underline;
}
#rodape address a[href*=mailto]:focus,
#rodape address a[href*=mailto]:hover {
	text-decoration: none;
}

#rodape .rodape__bloco--social-lang .rodape__item {
	margin-bottom: 15px;
}
#rodape .rodape__bloco--social-lang .rodape__item:last-child {
	margin-bottom: 0;
}
.rodape__bloco--social-lang .rodape__item .rodape__rotulo {
	margin-bottom: 4px;
}
#rodape .rodape__bloco--social-lang .rodape__item .rodape__texto {
	font-size: 13px;
}
.redes-sociais {
	margin: 0 -5px;
	line-height: 0;
	font-size: 0;
	letter-spacing: -1px;
}
.redes-sociais a {
	display: inline-block;
	vertical-align: middle;
	margin: 0 5px;
	line-height: 1;
	letter-spacing: 0;
	text-align: center !important;
	text-decoration: none !important;
	color: #fff;
	transition: background-color .3s ease-in-out, border-color .3s ease-in-out, color .3s ease-in-out;
}
.redes-sociais a::before {
	line-height: inherit;
}
.redes-sociais a i {
	display: inline-block;
	width: 1em;
}
.rodape .redes-sociais a {
	color: #535353;
}
#rodape .redes-sociais a {
	font-size: 1.3rem;
	text-transform: uppercase;
}
#rodape .redes-sociais a i {
	font-size: 2rem;
}
#rodape .redes-sociais a.active,
#rodape .redes-sociais a:hover {
	color: #fff;
}
.idiomas a {
	display: inline-block;
	margin-right: 8px;
	padding: 6px 16px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .03em;
	text-transform: uppercase;
	text-decoration: none !important;
	color: #ccc;
	border: 1.5px solid rgba(255, 255, 255, .3);
	border-radius: 4px;
	transition: none;
}
.idiomas a:last-child {
	margin-right: 0;
}
.idiomas a.active {
	background: #A46310;
	border-color: #A46310;
	color: #fff !important;
}
.idiomas a:hover {
	border-color: #A46310;
	color: #fff !important;
}
/* inline-block: cada link legal com a sua area de toque. */
.rodape__bloco--legal .rodape__texto a {
	display: inline-block;
	padding: 5px 0;
}

/* === Voltar ao topo ============================================================================= */
#voltar-topo-caixa {
	position: fixed;
	right: 10px;
	bottom: 10px;
	z-index: 3;
	display: block;
	opacity: 0;
	visibility: hidden;
	transition: opacity .4s, visibility .4s;
}
#voltar-topo-caixa.is-visivel {
	opacity: 1;
	visibility: visible;
}
@media (min-width: 561px) {
	#voltar-topo-caixa {
		right: 25px;
		bottom: 25px;
	}
}
#voltar-topo {
	display: block;
	width: 44px;
	height: 44px;
	line-height: 42px;
	font-size: 20px;
	text-align: center;
	text-decoration: none;
	color: #fff;
	background-color: #fcd641;
	border-radius: 50%;
	opacity: .7;
	transition: opacity .3s ease-in-out;
}
#voltar-topo::before {
	content: "";
	display: inline-block;
	vertical-align: middle;
	width: 0;
	height: 0;
	border-bottom: 6px solid #fff;
	border-left: 7px solid transparent;
	border-right: 7px solid transparent;
}
#voltar-topo:hover {
	opacity: 1;
}
@media (prefers-reduced-motion: reduce) {
	#voltar-topo,
	.redes-sociais a {
		transition: none;
	}
}

.plugin-whatsapp {
	position: fixed;
	right: 25px;
	bottom: 95px;
	z-index: 1000;
	width: 60px;
	height: 60px;
	font-size: 40px;
	text-align: center;
	color: #fff;
	background-color: #25d366;
	border: none;
	border-radius: 50px;
	box-shadow: rgba(0, 0, 0, .15) 0 4px 12px 0;
}
.plugin-whatsapp:hover,
.plugin-whatsapp:focus {
	color: #fff;
}

/* === Texto rico (TinyMCE) ======================================================================= */
/* O reset tira marcadores e indentacao as listas; no texto rico voltam. */
.rich-content p {
	margin-bottom: 20px;
	line-height: 1.8;
	text-align: justify;
}
.rich-content p:last-child {
	margin-bottom: 0;
}
.rich-content ul,
.rich-content ol {
	margin: 0 0 20px;
	padding-left: 22px;
}
.rich-content ul {
	list-style: disc;
}
.rich-content ol {
	list-style: decimal;
}
.rich-content li {
	margin-bottom: 8px;
	line-height: 1.7;
	text-align: justify;
}
.rich-content li:last-child {
	margin-bottom: 0;
}
.rich-content li > ul,
.rich-content li > ol {
	margin-top: 8px;
	margin-bottom: 0;
}
.rich-content h1, .rich-content h2, .rich-content h3,
.rich-content h4, .rich-content h5, .rich-content h6 {
	margin: 30px 0 15px;
}
/* h2-h4 do texto rico com tamanho de subtitulo (o h2 do site e' fino e grande). */
.rich-content h2 {
	font-size: 2rem;
	font-weight: 900;
}
.rich-content h3 {
	font-size: 1.8rem;
}
.rich-content h4 {
	font-size: 1.6rem;
}
.rich-content > *:first-child {
	margin-top: 0;
}
.rich-content a {
	color: #A46310;
	text-decoration: underline;
}

/* === Animacoes de entrada ======================================================================= */
/* Estado inicial de cada efeito; a duracao, o atraso e a curva sao do jactions.js. */
[data-aos^=fade],
[data-aos^=zoom] {
	opacity: 0;
	transition-property: opacity, transform;
}
[data-aos=fade-up] { transform: translate3d(0, 100px, 0); }
[data-aos=fade-down] { transform: translate3d(0, -100px, 0); }
[data-aos=fade-right] { transform: translate3d(-100px, 0, 0); }
[data-aos=fade-left] { transform: translate3d(100px, 0, 0); }
[data-aos=zoom-in] { transform: scale(.6); }
[data-aos^=fade].aos-animate {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}
[data-aos^=zoom].aos-animate {
	opacity: 1;
	transform: translate3d(0, 0, 0) scale(1);
}

/* === Contadores (bloco "Numeros") =============================================================== */
.contadores__interior {
	margin-bottom: -30px;
}
.contadores__item {
	width: 100%;
	margin-bottom: 30px;
}
.contadores__item p {
	margin-top: 10px;
	margin-bottom: 10px;
}
.contadores__icone {
	display: block;
	width: 65px;
	margin-right: 20px;
}
.contadores__numero {
	line-height: 1;
	font-size: 4.3rem;
	font-weight: 900;
	color: #333;
}
.contadores__legenda {
	line-height: 1.2;
	font-size: 1.6rem;
	font-family: Raleway, sans-serif;
	font-weight: 700;
	color: #555;
}
.seccao--fundo-marca .contadores__legenda {
	color: #9a8841;
}
.seccao--fundo-cinza .contadores__legenda {
	color: #858585;
}

/* === Cronologia (bloco "Historia") ============================================================== */
.cronologia {
	margin-top: 80px;
}
.cronologia__interior {
	margin-bottom: -30px;
}
.cronologia__item {
	position: relative;
	width: 100%;
	margin-bottom: 30px;
	padding-left: 30px;
	color: #fff;
}
.cronologia__item::before {
	content: "";
	position: absolute;
	top: 25px;
	bottom: -27px;
	left: 11px;
	border-left: 1px solid #fff;
}
.cronologia [class*=col-]:last-child .cronologia__item::before {
	content: none;
}
.cronologia p {
	margin-top: 20px;
	margin-bottom: 20px;
}
.cronologia__marco {
	position: absolute;
	top: 0;
	left: 0;
	width: 22px;
	height: 22px;
	padding: 3px;
	border: 2px solid #fff;
	border-radius: 50%;
}
.cronologia__marco::before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background-color: #fff;
	border-radius: inherit;
}
.cronologia__ano {
	line-height: 1;
	font-size: 5rem;
	font-weight: 900;
}
.cronologia__titulo {
	font-weight: 700;
	text-transform: none;
	color: #fff;
}
@media (min-width: 768px) {
	.cronologia__item {
		padding-top: 80px;
		padding-left: 0;
	}
	.cronologia__item::before {
		top: 0;
		right: -27px;
		bottom: auto;
		left: 25px;
		border-top: 1px solid #fff;
		border-left: none;
	}
	.cronologia__marco {
		margin-top: -11px;
	}
}

/* === Video (bloco "Video") ====================================================================== */
.video-faixa {
	position: relative;
	width: 100%;
	height: 650px;
	overflow: hidden;
}
@media (max-width: 768px) {
	.video-faixa {
		height: 300px;
	}
}
.video-faixa video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}
.video-faixa iframe {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100vw;
	height: 56.25vw;
	min-width: 177.77vh;
	min-height: 100vh;
	transform: translate(-50%, -50%);
}
.video-faixa__legenda {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 2;
	width: 90%;
	max-width: 800px;
	text-align: center;
	color: #fff;
	text-shadow: 0 2px 12px rgba(0, 0, 0, .6);
	pointer-events: none;
	transform: translate(-50%, -50%);
}
.video-faixa__legenda--esquerda {
	left: 5%;
	text-align: left;
	transform: translateY(-50%);
}
.video-faixa__legenda--direita {
	left: auto;
	right: 5%;
	text-align: right;
	transform: translateY(-50%);
}
.video-faixa__titulo {
	margin-bottom: 10px;
	color: #fff;
}
.video-faixa__legenda p {
	margin: 0;
	font-size: 1.6rem;
}

/* === Lojas (Contactos) ========================================================================== */
.lojas__item {
	position: relative;
	z-index: 1;
	width: 100%;
	margin-top: 0;
}
/* So' a primeira loja tem margem: as outras ganham o espaco do divisor (margens colapsavam). */
.lojas__item:first-child {
	margin-top: 30px;
}
.lojas__interior {
	width: 100%;
	max-width: 1350px;
	margin-left: auto;
	margin-right: auto;
}
.lojas__conteudo {
	margin: 0;
}
.lojas__divisor {
	margin: 40px 0;
	border: 0;
	border-top: 1px solid #eee;
}
.lojas__imagem img {
	width: 100%;
	height: auto;
	object-fit: cover;
}
@media (min-width: 992px) {
	.lojas__item--invertido .row {
		flex-direction: row-reverse;
	}
	.lojas__item--invertido .lojas__conteudo {
		text-align: right;
	}
	/* Os botoes vivem num flex, que ignora o text-align. */
	.lojas__item--invertido .lojas__botoes {
		justify-content: flex-end;
	}
}
.js-map {
	width: 100%;
	height: 200px;
}
.lojas__botoes {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}
/* Texto branco sobre o laranja (contraste). */
.lojas__botoes .botao.botao--preenchido {
	color: #fff;
}
.lojas__botoes .botao.botao--preenchido:hover,
.lojas__botoes .botao.botao--preenchido:focus {
	color: #A46310;
}

/* === Grelhas com filtro (Produtos e Oportunidades) ============================================== */
#produtos-filtro {
	margin-left: -10px;
	margin-bottom: 35px;
	line-height: 0;
	font-size: 0;
	letter-spacing: -1px;
}
#produtos-filtro a,
#produtos-filtro li {
	display: inline-block;
	vertical-align: top;
}
#produtos-filtro li {
	margin-left: 10px;
	margin-bottom: 10px;
	line-height: 1;
}
/* Nao escolhidos a #767676 (4.54:1). */
#produtos-filtro a {
	padding: 5px;
	font-size: 1.4rem;
	font-family: Raleway, sans-serif;
	font-weight: 700;
	letter-spacing: 0;
	text-decoration: none;
	color: #767676;
	cursor: pointer;
}
#produtos-filtro a.selected,
#produtos-filtro a:hover {
	color: #333;
}
.grelha__interior {
	margin-bottom: -30px;
}
.js-grelha__item {
	transition: opacity .4s;
}
.js-grelha__item.is-a-sair {
	opacity: 0;
}

.produto {
	position: relative;
	width: 100%;
	margin-bottom: 30px;
}
.produto__imagem {
	position: relative;
	width: 100%;
	height: 290px;
	margin: 0;
	overflow: hidden;
}
.produto__imagem img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 50%;
	transform: translateZ(0);
	transition: transform .7s cubic-bezier(.25, .46, .45, .94), opacity .2s;
}
.produto:hover .produto__imagem img {
	transform: scale(1.2) translateZ(0);
}
.produto__legenda {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	width: 100%;
	height: 100%;
	padding: 30px;
	line-height: 1;
	font-size: 1.4rem;
	text-decoration: none;
	color: #b3b3b3;
	background-color: rgba(0, 0, 0, .5);
	visibility: hidden;
	opacity: 0;
	transition: visibility .3s ease-in-out, opacity .3s ease-in-out;
}
.produto:hover .produto__legenda {
	visibility: visible;
	opacity: 1;
}
.produto .produto__nome {
	margin-bottom: 10px;
	color: #fff;
}
.produto__mais {
	position: absolute;
	top: 50%;
	left: 50%;
	font-size: 3em;
	color: #fff;
	opacity: .8;
	transform: translate(-50%, -50%);
}
.produto__link {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
/* Ecra tatil: o nome sempre visivel, sem o "+". */
@media (hover: none) {
	.produto__legenda {
		padding: 20px;
		color: #e6e6e6;
		background: linear-gradient(to top, rgba(0, 0, 0, .8) 0, rgba(0, 0, 0, .5) 35%, rgba(0, 0, 0, 0) 65%);
		visibility: visible;
		opacity: 1;
	}
	.produto__mais {
		display: none;
	}
}

.oportunidade-card {
	display: block;
	/* A margem descontada na altura: com height:100% ficava fora da coluna e as linhas encostavam. */
	height: calc(100% - 30px);
	margin-bottom: 30px;
	padding: 28px 24px;
	text-decoration: none !important;
	border: 1px solid #eee;
	border-radius: 6px;
	transition: border-color .2s, box-shadow .2s, transform .2s;
}
.oportunidade-card:hover {
	border-color: #A46310;
	box-shadow: 0 6px 20px rgba(0, 0, 0, .08);
	transform: translateY(-3px);
}
.oportunidade-card--espontanea {
	background: #faf6f0;
	border-color: #e8d9c3;
}
.oportunidade-card__badge {
	display: inline-block;
	margin-bottom: 12px;
	padding: 3px 10px;
	font-size: 1.1rem;
	font-weight: 700;
	letter-spacing: .03em;
	text-transform: uppercase;
	color: #fff;
	background: #A46310;
	border-radius: 3px;
}
.oportunidade-card__local {
	margin-bottom: 6px;
	font-size: 1.2rem;
	letter-spacing: .03em;
	text-transform: uppercase;
	color: #767676;
}
.oportunidade-card__titulo {
	margin-bottom: 10px;
	font-size: 2rem;
	font-weight: 700;
	color: #222;
}
.oportunidade-card__desc {
	margin-bottom: 0;
	font-size: 1.4rem;
	color: #717171;
}
/* Tom escuro da marca sobre o creme (contraste). */
.oportunidade-card__cta {
	display: inline-block;
	margin-top: 14px;
	font-size: 1.3rem;
	font-weight: 700;
	color: #9C5E0F;
	transition: transform .2s;
}
.oportunidade-card:hover .oportunidade-card__cta {
	transform: translateX(4px);
}

/* === Servicos de catering ======================================================================= */
.servicos__interior {
	margin-bottom: -50px;
}
.servicos__item {
	position: relative;
	z-index: 1;
	width: 100%;
	margin-bottom: 50px;
	padding-left: 85px;
}
.servicos__item::after {
	content: "";
	display: table;
	clear: both;
	visibility: hidden;
}
.servicos__item p {
	margin-top: 10px;
	margin-bottom: 10px;
}
.servicos__icone {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	float: left;
	width: 70px;
	margin-left: -85px;
	margin-bottom: 20px;
}
.servicos__icone img {
	max-width: 50px;
}
.servicos__item .servicos__titulo {
	margin-top: 0;
	margin-bottom: 10px;
	font-weight: 700;
	text-transform: none;
}

.icones-servicos__interior {
	margin-bottom: -50px;
}
.icones-servicos__item {
	position: relative;
	z-index: 1;
	width: 100%;
	margin-bottom: 50px;
}
.icones-servicos__icone {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	height: 80px;
	margin-bottom: 20px;
}
.icones-servicos__icone img {
	max-width: 50px;
}
.icones-servicos__item .icones-servicos__titulo {
	margin-top: 0;
	margin-bottom: 10px;
	font-size: 1.4rem;
	font-weight: 700;
	text-transform: none;
}

/* === Carrosseis ================================================================================= */
/* As larguras das slides ja' com os valores que o Swiper vai calcular: ele chega depois de a pagina
   estar desenhada (CLS). */
.carrossel {
	position: relative;
}
.carrossel .swiper {
	overflow: hidden;
}
.carrossel .swiper-wrapper {
	display: flex;
}
.carrossel .swiper-slide {
	flex-shrink: 0;
}
.carrossel--galeria .swiper-slide {
	width: calc((100% - 20px) / 2);
	margin-right: 20px;
}
.carrossel--horizontal .swiper-slide {
	width: 50%;
}
@media (min-width: 768px) {
	.carrossel--horizontal .swiper-slide {
		width: 25%;
	}
}
@media (min-width: 992px) {
	.carrossel--galeria .swiper-slide {
		width: calc((100% - 40px) / 3);
	}
}
.carrossel__seta {
	position: absolute;
	top: 50%;
	z-index: 2;
	padding: 5px 8px;
	line-height: 1;
	font-size: 16px;
	color: rgba(255, 255, 255, .7);
	background: rgba(30, 30, 30, .6);
	border: 0;
	cursor: pointer;
	transform: translateY(-50%);
	transition: color .3s;
}
.carrossel__seta:hover,
.carrossel__seta:focus-visible {
	color: #fff;
}
.carrossel__seta--anterior {
	left: 30px;
}
.carrossel__seta--seguinte {
	right: 30px;
}
.carrossel__seta.swiper-button-lock {
	display: none;
}
@media (min-width: 992px) {
	.carrossel--galeria .carrossel__seta--anterior { left: -50px; }
	.carrossel--galeria .carrossel__seta--seguinte { right: -50px; }
}
@media (min-width: 1300px) {
	.carrossel--galeria .carrossel__seta--anterior { left: -70px; }
	.carrossel--galeria .carrossel__seta--seguinte { right: -70px; }
}
/* Destaques: carrossel so' abaixo de 768px; acima as slides sao colunas. */
.carrossel--destaques .swiper-wrapper.row {
	flex-wrap: nowrap;
}
/* O Swiper poe o wrapper em content-box, e com a grelha la' dentro as fotos dobravam de altura. */
.carrossel--destaques .swiper-wrapper {
	box-sizing: border-box;
}
.carrossel--destaques .swiper-slide {
	width: 100%;
}
@media (min-width: 768px) {
	.carrossel--destaques .swiper-wrapper.row {
		flex-wrap: wrap;
		transform: none !important;
	}
	.carrossel--destaques .swiper-slide {
		width: auto;
	}
	.carrossel--destaques .carrossel__seta {
		display: none;
	}
}

.galeria-fotos__imagem {
	position: relative;
}
.galeria-fotos__link {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	cursor: zoom-in;
}

.faixa-fotos__interior,
.faixa-fotos__item {
	margin-bottom: -6px !important;
}
.faixa-fotos__item {
	position: relative;
	width: 100%;
}
.faixa-fotos__imagem {
	position: relative;
	width: 100%;
	height: 0;
	margin: 0;
	padding-top: 92.5%;
	overflow: hidden;
}
.faixa-fotos__imagem img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 50%;
	transform: translateZ(0);
	transition: transform .7s cubic-bezier(.25, .46, .45, .94), opacity .2s;
}
.faixa-fotos__item:hover .faixa-fotos__imagem img {
	transform: scale(1.2) translateZ(0);
}
.faixa-fotos__legenda {
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	padding: 30px;
	line-height: 1;
	font-size: 1.4rem;
	text-decoration: none;
	color: #b3b3b3;
	background-color: rgba(36, 22, 16, .7);
	visibility: hidden;
	opacity: 0;
	transition: visibility .3s ease-in-out, opacity .3s ease-in-out;
}
.faixa-fotos__item:hover .faixa-fotos__legenda {
	visibility: visible;
	opacity: 1;
}
.faixa-fotos .faixa-fotos__titulo {
	margin-bottom: 10px;
	color: #fff;
}
.faixa-fotos__link {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* === Destaques (pagina inicial) ================================================================= */
/* Sobem por cima da faixa de fotos acima (de proposito). */
.destaques {
	margin-top: -55px;
}
@media (min-width: 768px) {
	.destaques {
		margin-top: -110px;
	}
}
.destaques__item {
	position: relative;
	width: 100%;
	background-color: #fff;
}
.destaques__imagem {
	position: relative;
	width: 100%;
	height: 100%;
	min-height: 210px;
	margin: 0;
	padding-top: 81.03448%;
	overflow: hidden;
}
.destaques__imagem img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 50%;
	transform: translateZ(0);
	transition: transform .7s cubic-bezier(.25, .46, .45, .94), opacity .2s;
}
.destaques__item:hover .destaques__imagem img {
	transform: scale(1.2) translateZ(0);
}
.destaques__conteudo {
	position: relative;
	width: 100%;
	padding: 20px 15px;
	font-size: 1.4rem;
	color: #666;
}
@media (min-width: 576px) {
	.destaques__conteudo {
		padding: 30px;
	}
}
.destaques__titulo {
	font-weight: 700;
	text-transform: none;
}

/* === Imprensa =================================================================================== */
.imprensa__interior {
	margin-bottom: -30px;
}
.imprensa__item {
	position: relative;
	width: 100%;
	margin-bottom: 30px;
}
.imprensa__imagem {
	position: relative;
	width: 100%;
	height: 0;
	margin: auto;
	padding-top: 69.72973%;
	overflow: hidden;
}
.imprensa__imagem img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 50%;
	transition: transform .7s cubic-bezier(.25, .46, .45, .94), opacity .2s;
}
.imprensa__item:hover .imprensa__imagem img {
	transform: scale(1.2) translateZ(0);
}
.imprensa__conteudo {
	position: relative;
	padding-top: 40px;
	line-height: 1.6;
	text-align: center;
	background-color: #fff;
	transition: transform .3s ease-in-out;
}
@media (min-width: 576px) {
	.imprensa__conteudo {
		padding-left: 15px;
		padding-right: 15px;
	}
}
@media (min-width: 768px) {
	.imprensa__conteudo {
		margin: -40px 20px 0;
		padding-left: 20px;
		padding-right: 20px;
	}
}
.desktop .imprensa__item:hover .imprensa__conteudo {
	transform: translateY(-40px);
}
.imprensa__item p {
	margin-top: 10px;
	margin-bottom: 10px;
}
.imprensa__item p:first-child {
	margin-top: 0;
}
.imprensa__item p:last-child {
	margin-bottom: 0;
}
.imprensa__item .imprensa__fonte {
	margin-bottom: 10px;
	line-height: 1.2;
	font-size: 1.2rem;
	text-transform: uppercase;
	color: #A46310;
}
.imprensa__fonte a {
	color: inherit;
}
.imprensa__titulo {
	margin-top: 10px;
	margin-bottom: 10px;
	font-weight: 700;
	text-transform: none;
}
.imprensa__data {
	position: absolute;
	top: 0;
	left: 20px;
	display: inline-block;
	min-width: 60px;
	padding: 13px 10px;
	line-height: 1;
	font-size: 1.2rem;
	font-weight: 700;
	text-align: center;
	text-transform: uppercase;
	color: #fff;
	background-color: #A46310;
}
.imprensa__data strong {
	display: block;
	margin-bottom: 2px;
	font-size: 2.2rem;
	font-family: Raleway, sans-serif;
	font-weight: 900;
	color: #1a1a1a;
}

/* === Categorias (pagina inicial) ================================================================ */
/* Sobe por cima da capa (margem negativa). CSS Grid: nada se reposiciona depois de desenhado. */
.categorias {
	width: 100%;
	max-width: 1380px;
	margin-top: -120px;
	margin-left: auto;
	margin-right: auto;
}
@media (min-width: 768px) {
	.categorias {
		margin-top: -190px;
	}
}
@media (min-width: 992px) {
	.categorias {
		margin-top: -250px;
	}
}
.categorias.categorias--com-titulo {
	margin-top: 0;
}
.categorias__grelha {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
}
@media (min-width: 768px) {
	.categorias__grelha {
		grid-template-columns: repeat(3, 1fr);
	}
}
.categorias__item {
	position: relative;
	width: 100%;
	min-height: 320px;
}
.categorias__item[data-y="2"] {
	grid-row: span 2;
}
.categorias__imagem {
	position: relative;
	width: 100%;
	height: 320px;
	margin: auto;
	overflow: hidden;
}
.categorias__item[data-y="2"] .categorias__imagem {
	height: 640px;
}
.categorias__imagem img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 50%;
	transition: transform .7s cubic-bezier(.25, .46, .45, .94), opacity .2s;
}
.categorias__item:hover .categorias__imagem img {
	transform: scale(1.2) translateZ(0);
}
.categorias__imagem::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 35%;
	min-height: 200px;
	background: linear-gradient(0deg, rgba(0, 0, 0, .75) 0, rgba(255, 255, 255, 0) 100%);
}
.categorias__conteudo {
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	align-items: flex-end;
	justify-content: flex-start;
	width: 100%;
	height: 100%;
	padding: 15px;
	color: #fff;
}
.categorias__item[data-y="2"] .categorias__conteudo {
	align-items: flex-start;
}
.categorias__item[data-y="2"] .categorias__imagem::after {
	top: 0;
	bottom: auto;
	background: linear-gradient(180deg, rgba(0, 0, 0, .75) 0, rgba(255, 255, 255, 0) 100%);
}
.categorias__titulo {
	font-size: 2.4rem;
	font-weight: 100;
	color: inherit;
}
.categorias__titulo b,
.categorias__titulo strong {
	font-weight: 900;
}
@media (max-width: 768px) {
	.categorias__titulo {
		font-size: 1.9rem !important;
	}
}
.categorias__link {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* === Destaque com imagem ======================================================================== */
.destaque {
	line-height: 1;
}
.destaque .destaque__titulo {
	line-height: .9;
	font-size: 4rem;
	font-family: Damion;
	font-weight: 400;
	text-transform: none;
	text-align: center !important;
}
@media (min-width: 576px) {
	.destaque .destaque__titulo {
		font-size: 7.5rem;
		text-align: left !important;
	}
}
@media (min-width: 768px) {
	.destaque .destaque__titulo {
		font-size: 10rem;
	}
}
@media (min-width: 992px) {
	.destaque__imagem {
		margin-right: -25%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.produto__legenda,
	.produto__imagem img,
	.faixa-fotos__legenda,
	.faixa-fotos__imagem img,
	.destaques__imagem img,
	.imprensa__imagem img,
	.imprensa__conteudo,
	.categorias__imagem img,
	.js-grelha__item {
		transition: none;
	}
}

/* === Newsletter (rodape e bloco "newsletter") =================================================== */
/* Campo proprio: o dos formularios pressupoe fundo claro. */
.newsletter-form__campos {
	display: flex;
	gap: 12px;
}
.newsletter-form__campos .campo {
	flex: 1 1 auto;
	min-width: 0;
	height: 54px;
	padding: 0 20px;
	font-size: 1.4rem;
	color: #333;
	background-color: #fff;
	border: 1px solid #ccc;
	border-radius: 30px;
}
.newsletter-form__campos .campo::placeholder {
	color: #767676;
}
.newsletter-form__campos .botao {
	flex: 0 0 auto;
	margin-top: 0;
}
.newsletter-form .botao.botao--preenchido {
	color: #fff;
}
.newsletter-form .botao.botao--preenchido:hover,
.newsletter-form .botao.botao--preenchido:focus {
	color: #A46310;
}
.newsletter-form .consentimento {
	max-width: none;
	margin-left: 0 !important;
	text-align: left;
}
/* Altura reservada para a mensagem (CLS). */
.newsletter-form__estado {
	position: relative;
	min-height: 45px;
	margin-top: 12px;
}
@media (max-width: 359.98px) {
	.newsletter-form__estado {
		min-height: 68px;
	}
}
.newsletter-form__estado .form-result {
	margin: 0;
}
.newsletter-form__estado .fpreloader {
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
}
@media (max-width: 575.98px) {
	.newsletter-form__campos {
		flex-direction: column;
	}
}
.seccao-newsletter .newsletter-form {
	max-width: 560px;
	margin: 0 auto;
}
#rodape .rodape-newsletter__titulo {
	margin-top: 0;
	margin-bottom: 8px;
	font-size: 2.2rem;
	color: #fff;
}
#rodape .rodape-newsletter__texto {
	margin-bottom: 20px;
	font-size: 13px;
	color: #ccc;
}
@media (max-width: 991.98px) {
	#rodape .rodape-newsletter__texto {
		margin-bottom: 16px;
	}
}
#rodape .newsletter-form__campos .campo {
	color: #fff;
	background-color: transparent;
	border-color: rgba(255, 255, 255, .3);
}
#rodape .newsletter-form__campos .campo::placeholder {
	color: #aaa;
}
#rodape .newsletter-form .botao.botao--preenchido:hover,
#rodape .newsletter-form .botao.botao--preenchido:focus {
	color: #CF8A20;
	border-color: #CF8A20;
}
#rodape .newsletter-form .consentimento {
	color: #aaa;
}
#rodape .newsletter-form .consentimento a,
#rodape .newsletter-form .form-result {
	color: #CF8A20;
}

/* === Fotos e videos em ecra cheio =============================================================== */
.lightbox {
	position: fixed;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	max-height: none;
	margin: 0;
	padding: 0;
	color: #fff;
	background: rgba(15, 15, 15, .94);
	border: 0;
	overflow: hidden;
}
.lightbox[open] {
	animation: lightbox-entrar .25s ease-out;
}
.lightbox::backdrop {
	background: transparent;
}
@keyframes lightbox-entrar {
	from { opacity: 0; }
}
.lightbox__palco {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	padding: 60px 80px 50px;
	box-sizing: border-box;
	/* O arrastar horizontal muda de foto; o vertical e' do browser. */
	touch-action: pan-y;
}
.lightbox__figura {
	display: flex;
	flex-direction: column;
	align-items: center;
	max-width: 100%;
	max-height: 100%;
	margin: 0;
}
.lightbox__figura img {
	display: block;
	max-width: 100%;
	max-height: calc(100vh - 210px);
	object-fit: contain;
	-webkit-user-drag: none;
	user-select: none;
}
.lightbox__figura iframe {
	display: block;
	width: min(960px, calc(100vw - 160px));
	aspect-ratio: 16 / 9;
	border: 0;
}
.lightbox__legenda {
	max-width: 700px;
	margin-top: 15px;
	line-height: 1.5;
	font-size: 1.4rem;
	text-align: center;
	color: #ccc;
}
.lightbox__legenda h6 {
	margin: 0 0 6px;
	color: #fff;
}
.lightbox__legenda p {
	margin: 0;
}
.lightbox__contador {
	position: absolute;
	top: 18px;
	left: 20px;
	margin: 0;
	font-size: 1.3rem;
	color: #aaa;
}
.lightbox__fechar,
.lightbox__seta {
	position: absolute;
	color: rgba(255, 255, 255, .75);
	background: rgba(30, 30, 30, .6);
	border: 0;
	cursor: pointer;
	transition: color .3s;
}
.lightbox__fechar:hover,
.lightbox__fechar:focus-visible,
.lightbox__seta:hover,
.lightbox__seta:focus-visible {
	color: #fff;
}
.lightbox__fechar {
	top: 10px;
	right: 10px;
	width: 44px;
	height: 44px;
	line-height: 1;
	font-size: 32px;
}
.lightbox__seta {
	top: 50%;
	padding: 10px 12px;
	line-height: 1;
	font-size: 20px;
	transform: translateY(-50%);
}
.lightbox__seta--anterior {
	left: 15px;
}
.lightbox__seta--seguinte {
	right: 15px;
}
@media (max-width: 767.98px) {
	.lightbox__palco {
		padding: 60px 10px 70px;
	}
	.lightbox__figura iframe {
		width: calc(100vw - 20px);
	}
	.lightbox__seta {
		top: auto;
		bottom: 12px;
		transform: none;
	}
	.lightbox__seta--anterior {
		left: calc(50% - 56px);
	}
	.lightbox__seta--seguinte {
		right: calc(50% - 56px);
	}
}
@media (prefers-reduced-motion: reduce) {
	.lightbox[open] {
		animation: none;
	}
}
