@charset "UTF-8";


@font-face {
    font-family: 'Canela Deck';
    src: url('../../assets/fonts/canela-deck/CanelaDeck-Medium.woff2') format('woff2'),
        url('../../assets/fonts/canela-deck/CanelaDeck-Medium.woff') format('woff'),
        url('../../assets/fonts/canela-deck/CanelaDeck-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Canela Deck';
    src: url('../../assets/fonts/canela-deck/CanelaDeck-BoldItalic.woff2') format('woff2'),
        url('../../assets/fonts/canela-deck/CanelaDeck-BoldItalic.woff') format('woff'),
        url('../../assets/fonts/canela-deck/CanelaDeck-BoldItalic.ttf') format('truetype');
    font-weight: bold;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Canela Deck';
    src: url('../../assets/fonts/canela-deck/CanelaDeck-Bold.woff2') format('woff2'),
        url('../../assets/fonts/canela-deck/CanelaDeck-Bold.woff') format('woff'),
        url('../../assets/fonts/canela-deck/CanelaDeck-Bold.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Canela Deck';
    src: url('../../assets/fonts/canela-deck/CanelaDeck-MediumItalic.woff2') format('woff2'),
        url('../../assets/fonts/canela-deck/CanelaDeck-MediumItalic.woff') format('woff'),
        url('../../assets/fonts/canela-deck/CanelaDeck-MediumItalic.ttf') format('truetype');
    font-weight: 500;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Canela Deck';
    src: url('../../assets/fonts/canela-deck/CanelaDeck-RegularItalic.woff2') format('woff2'),
        url('../../assets/fonts/canela-deck/CanelaDeck-RegularItalic.woff') format('woff'),
        url('../../assets/fonts/canela-deck/CanelaDeck-RegularItalic.ttf') format('truetype');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Canela Deck';
    src: url('../../assets/fonts/canela-deck/CanelaDeck-Regular.woff2') format('woff2'),
        url('../../assets/fonts/canela-deck/CanelaDeck-Regular.woff') format('woff'),
        url('../../assets/fonts/canela-deck/CanelaDeck-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Satoshi';
    src: url('../../assets/fonts/satoshi/Satoshi-Bold.woff2') format('woff2'),
        url('../../assets/fonts/satoshi/Satoshi-Bold.woff') format('woff'),
        url('../../assets/fonts/satoshi/Satoshi-Bold.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Satoshi';
    src: url('../../assets/fonts/satoshi/Satoshi-Regular.woff2') format('woff2'),
        url('../../assets/fonts/satoshi/Satoshi-Regular.woff') format('woff'),
        url('../../assets/fonts/satoshi/Satoshi-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Reservation Wide';
    src: url('../../assets/fonts/reservation-wide/ReservationWide-Regular.woff2') format('woff2'),
        url('../../assets/fonts/reservation-wide/ReservationWide-Regular.woff') format('woff'),
        url('../../assets/fonts/reservation-wide/ReservationWide-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}


@font-face {
    font-family: 'Playfair Display';
    src: url('../../assets/fonts/playfair-display/PlayfairDisplay-Bold.woff2') format('woff2'),
        url('../../assets/fonts/playfair-display/PlayfairDisplay-Bold.woff') format('woff'),
        url('../../assets/fonts/playfair-display/PlayfairDisplay-Bold.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Playfair Display';
    src: url('../../assets/fonts/playfair-display/PlayfairDisplay-Medium.woff2') format('woff2'),
        url('../../assets/fonts/playfair-display/PlayfairDisplay-Medium.woff') format('woff'),
        url('../../assets/fonts/playfair-display/PlayfairDisplay-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Playfair Display';
    src: url('../../assets/fonts/playfair-display/PlayfairDisplay-Regular.woff2') format('woff2'),
        url('../../assets/fonts/playfair-display/PlayfairDisplay-Regular.woff') format('woff'),
        url('../../assets/fonts/playfair-display/PlayfairDisplay-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}



body{
	overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overscroll-behavior-x: none;
    scroll-behavior: smooth;
    text-rendering: optimizeLegibility;
}


img{
	width: 100%;
	height: 100%;
	object-fit: contain;
}


/* Tipography Menin Company */

.h1-mc{
	font-family: 'Canela Deck', sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 56px;
	line-height: 1.2;
} 

@media (max-width: 1199.98px){
	.h1-mc{
		font-size: 36px;
	}
}

.h2-mc{
	font-family: 'Canela Deck', sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 40px;
	line-height: 1.2;
}

@media (max-width: 1199.98px){
	.h2-mc{
		font-size: 28px;
	}
}

.h3-mc{
	font-family: 'Canela Deck', sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 28px;
	line-height: 1.2;
}

@media (max-width: 1199.98px){
	.h3-mc{
		font-size: 20px;
	}
}

.subtitle-mc{
	font-family: 'Canela Deck', sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 22px;
	line-height: 1.2;
}

@media (max-width: 991px) {
	.subtitle-mc{
		font-size: 18px;
	}
}

.p-mc{
	font-family: 'Satoshi', sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 15px;
	line-height: 1.6;
}

.p-mc-large{
    font-family: 'Satoshi', sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 20px;
    line-height: 1.6;
}

@media (max-width: 991px) {
	.p-mc-large{
		font-size: 15px;
		line-height: 1.5;
	}
}

/* Tipography Menin Douro Estates */

.h1-mde{
	font-family: 'Reservation Wide', sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 52px;
	line-height: 1.2;
}

@media (max-width: 1199.98px){
	.h1-mde{
		font-size: 34px;
	}
}

.h2-mde{
	font-family: 'Reservation Wide', sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 38px;
	line-height: 1.2;
}

@media (max-width: 1199.98px){
	.h2-mde{
		font-size: 26px;
	}
}

.h3-mde{
	font-family: 'Reservation Wide', sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 26px;
	line-height: 1.4;
}

@media (max-width: 1199.98px){
	.h3-mde{
		font-size: 18px;
	}
}

.subtitle-mde{
	font-family: 'Reservation Wide', sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 20px;
	line-height: 1.4;
}

@media (max-width: 1199.98px){
	.subtitle-mde{
		font-size: 18px;
	}
}

/* Tipography Horta Osório */

.h1-ho{
	font-family: 'Playfair Display', sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 54px;
	line-height: 1.2;
}

@media (max-width: 1199.98px){
	.h1-ho{
		font-size: 36px;
	}
}

.h2-ho{
	font-family: 'Playfair Display', sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 38px;
	line-height: 1.2;
}

@media (max-width: 1199.98px){
	.h2-ho{
		font-size: 26px;
	}
}

.h3-ho{
	font-family: 'Playfair Display', sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 26px;
	line-height: 1.4;
}

@media (max-width: 1199.98px){
	.h3-ho{
		font-size: 20px;
	}
}

.subtitle-ho{
	font-family: 'Playfair Display', sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 20px;
	line-height: 1.2;
}

@media (max-width: 1199.98px){
	.subtitle-ho{
		font-size: 18px;
	}
}

/* Buttons */


.btn.btn-primary{
    font-family: 'Reservation Wide', sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 14px;
    line-height: 1.6;
	background-color: #141414;
    border-color: transparent;
    padding: 6px 15px;
    text-transform: uppercase;
	color: #fff;
    transition: all 0.3s ease;
}

.btn.btn-primary:hover{
	background-color: #14141480;
    border-color: transparent;
	color: #fff;
}

.btn.btn-primary-white{
    font-family: 'Reservation Wide', sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 14px;
    line-height: 1.6;
	background-color: transparent;
    border-color: transparent;
    padding: 6px 15px;
    text-transform: uppercase;
	color: #fff;
    border: 1px solid #fff;
    transition: all 0.3s ease;
}

.btn.btn-primary-white:hover{
    background-color: #fff;
    color: #141414;
}

.btn.btn-primary-coper{
    font-family: 'Reservation Wide', sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 14px;
    line-height: 1.6;
	background-color: #916B4F;
    padding: 6px 15px;
    text-transform: uppercase;
	color: #fff;
    border: 1px solid #916B4F;
    transition: all 0.3s ease;
}

.btn.btn-primary-coper:hover{
    background-color: transparent;
    color: #916B4F;
}

.btn.btn-primary-white{
    font-family: 'Reservation Wide', sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 14px;
    line-height: 1.6;
    background-color: #fff;
    border-color: #fff;
    padding: 6px 15px;
    text-transform: uppercase;
    color: #141414;
    border: 1px solid #fff;
    transition: all 0.3s ease;
}

.btn.btn-primary-white:hover{
    background-color: transparent;
    color: #fff;
}

.btn.btn-secondary{
    font-family: 'Canela Deck', sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 14px;
    line-height: 1.6;
    background-color: transparent;
    border-color: transparent;
    color: #AD644E;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: all 0.3s ease;
}

.btn.btn-secondary:hover{
    opacity: 0.8;
}

.btn.btn-secondary-green{
    color: #8E9166;
}

.btn.btn-third{
    padding: 16px 31px;
    font-family: 'Canela Deck', sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 14px;
    line-height: 1.6;
    background-color: #AD644E;
    border-color: #AD644E;
    color: #fff;
    transition: all 0.3s ease;
    border-radius: 50px;
}

.btn.btn-underline-black{
    font-family: 'Reservation Wide', sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 14px;
    line-height: 1.6;
	background-color: transparent;
    padding: 6px 8px;
    text-transform: uppercase;
	color: #141414;
    border: 1px solid #141414;
    transition: all 0.3s ease;
}

.btn.btn-underline-black:hover{
    background-color: #141414;
    color: white;
}


/* Helpers */

.mb-custom-mde-56{
    margin-bottom: 56px;
}

@media screen and (max-width: 991px) {
	.mb-custom-mde-56{
		margin-bottom: 5px;
	}
}


/* Header */

.site-header{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    background-color: #141414;
    padding: 26px 0;
    transition: transform 0.5s ease;
    --header-fg: #fff;
}

@media (max-width: 1199.98px){
	.site-header{
		padding: 22px 0;
	}
}

@media (min-width: 1200px){
	.site-header.header-variant-main{
		padding: 0;
	}

	.site-header.header-variant-main .navbar-nav > li > a.nav-link{
		padding-top: 43px;
		padding-bottom: 43px;
	}

	.site-header.header-variant-main .main-header__menu-buttons-list li a,
	.site-header.header-variant-main .main-header__search-link{
		padding-top: 43px;
		padding-bottom: 43px;
	}
}




.site-header.scrollUp{
    transform: translateY(-120px);
}

.site-header.header-variant-mde{
    background-color: white;
    --header-fg: black;
}

.site-header.header-variant-mde .navbar-nav li a,
.site-header.header-variant-mde .main-header__menu-buttons-list li a{
    font-family: 'Reservation Wide', sans-serif;
}

.site-header.header-variant-ho{
	background-color: #AD644E;
	--header-fg: white;
}

/* Horta Osório: grelha — pesquisa + menu | logo | menu + Loja | idioma */
.main-header-ho__grid{
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	column-gap: 1rem;
	row-gap: 0.5rem;
	width: 100%;
}

.main-header-ho__cell--right{
	justify-self: end;
	min-width: 0;
}

.main-header-ho__left-inner{
	display: flex;
	align-items: center;
	gap: clamp(0.75rem, 2vw, 1.75rem);
	flex-wrap: wrap;
	min-width: 0;
}

.main-header-ho__right-inner{
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: clamp(0.75rem, 2vw, 1.75rem);
	flex-wrap: wrap;
	min-width: 0;
	width: 100%;
}

.header-variant-ho .main-header-ho__nav{
	width: auto;
}

.header-variant-ho .main-header-ho__nav a{
	font-family: 'Playfair Display', serif;
	font-weight: 400;
	font-style: normal;
	font-size: 16px;
	line-height: 1.6;
	color: var(--header-fg, #fff);
	text-transform: uppercase;
	text-decoration: none;
}

.header-variant-ho .main-header-ho__nav a:hover{
	color: var(--header-fg, #fff);
	text-decoration: underline;
}

.header-variant-ho .main-header-ho__nav .current-menu-item > a{
	text-decoration: underline;
}

.header-variant-ho .main-header-ho__utils{
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	flex-shrink: 0;
	font-family: 'Playfair Display', serif;
	font-size: 16px;
	line-height: 1.6;
	color: var(--header-fg, #fff);
	text-transform: uppercase;
}

.header-variant-ho .main-header-ho__utils-shop{
	font-family: 'Playfair Display', serif;
    font-weight: 400;
    font-style: normal;
    font-size: 16px;
    line-height: 1.6;
    color: var(--header-fg, #fff);
    transition: all 0.3s ease;
    text-transform: uppercase;
	text-decoration: none;
}

.header-variant-ho .main-header-ho__utils-shop:hover{
	color: #fff;
	text-decoration: underline;
	opacity: 0.95;
}

.header-variant-ho .main-header-ho__utils-sep{
	opacity: 0.85;
	user-select: none;
}

.header-variant-ho .main-header-ho__lang{
	font-family: inherit;
	font-size: inherit;
	text-decoration: none;
	color: inherit;
}

.header-variant-ho .main-header__search-link:hover{
	color: #fff;
	text-decoration: none;
	opacity: 0.85;
}

.header-variant-ho .navbar-brand:not(.main-header-ho__brand-center){
	max-width: 122px;
	max-height: 91px;
}

@media (max-width: 991px){
	.header-variant-ho .navbar-brand:not(.main-header-ho__brand-center){
		max-width: 100px;
		max-height: 75px;
	}
}

.header-variant-ho .navbar-brand:not(.main-header-ho__brand-center) img{
	width: 100%;
	height: 100%;
	object-fit: contain;
	filter: brightness(0) invert(1) !important;
}

.header-variant-ho .main-header-ho__brand-center{
	max-width: 90px;
	max-height: 91px;
}

.header-variant-ho .main-header-ho__brand-center img{
	width: 100%;
	height: 100%;
	object-fit: contain;
    filter: brightness(0) invert(1) !important;
}

.header-variant-ho .main-header-ho__mobile-top{
	position: relative;
	justify-content: space-between;
	min-height: 64px;
}

.header-variant-ho .main-header-ho__mobile-toggle{
	padding-left: 0;
	padding-right: 0;
	color: var(--header-fg, #fff);
}

.header-variant-ho .main-header-ho__mobile-toggle-icon,
.header-variant-ho .main-header-ho__mobile-toggle-icon::before,
.header-variant-ho .main-header-ho__mobile-toggle-icon::after{
	display: block;
	width: 38px;
	height: 2px;
	border-radius: 10px;
	background-color: currentColor;
	content: '';
	transition: transform 0.2s ease, opacity 0.2s ease;
}

.header-variant-ho .main-header-ho__mobile-toggle-icon::before{
	width: 24px;
	transform: translateY(-11px);
}

.header-variant-ho .main-header-ho__mobile-toggle-icon::after{
	width: 54px;
	transform: translateY(9px);
}

.header-variant-ho .main-header-ho__mobile-toggle[aria-expanded="true"] .main-header-ho__mobile-toggle-icon{
	background-color: transparent;
}

.header-variant-ho .main-header-ho__mobile-toggle[aria-expanded="true"] .main-header-ho__mobile-toggle-icon,
.header-variant-ho .main-header-ho__mobile-toggle[aria-expanded="true"] .main-header-ho__mobile-toggle-icon::before,
.header-variant-ho .main-header-ho__mobile-toggle[aria-expanded="true"] .main-header-ho__mobile-toggle-icon::after{
	width: 38px;
}

.header-variant-ho .main-header-ho__mobile-toggle[aria-expanded="true"] .main-header-ho__mobile-toggle-icon::before{
	transform: translateY(0) rotate(45deg);
}

.header-variant-ho .main-header-ho__mobile-toggle[aria-expanded="true"] .main-header-ho__mobile-toggle-icon::after{
	transform: translateY(-2px) rotate(-45deg);
}

.header-variant-ho .main-header-ho__mobile-brand{
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	max-width: 190px;
	max-height: 90px;
	margin: 0;
	pointer-events: none;
}

.header-variant-ho .main-header-ho__mobile-brand a{
	pointer-events: auto;
}

.header-variant-ho .main-header-ho__mobile-brand img{
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.header-variant-ho .main-header-ho__mobile-actions{
	margin-left: auto;
	font-family: 'Playfair Display', serif;
	font-size: 32px;
	line-height: 1;
	text-transform: uppercase;
}

.header-variant-ho .main-header-ho__mobile-stack .main-header-ho__utils{
	margin-top: 0.5rem;
}

.main-header__mobile-top{
	position: relative;
	justify-content: space-between;
}

.main-header__mobile-toggle{
	padding-left: 0;
	padding-right: 0;
	color: var(--header-fg, #fff);
}

.main-header__mobile-toggle-icon,
.main-header__mobile-toggle-icon::before,
.main-header__mobile-toggle-icon::after{
	display: block;
	width: 38px;
	height: 1px;
	border-radius: 10px;
	background-color: currentColor;
	content: '';
	transition: transform 0.2s ease, opacity 0.2s ease;
}

.main-header__mobile-toggle-icon::before{
	width: 24px;
	transform: translateY(-11px);
}

.main-header__mobile-toggle-icon::after{
	width: 54px;
	transform: translateY(9px);
}

.main-header__mobile-toggle[aria-expanded="true"] .main-header__mobile-toggle-icon{
	background-color: transparent;
}

.main-header__mobile-toggle[aria-expanded="true"] .main-header__mobile-toggle-icon,
.main-header__mobile-toggle[aria-expanded="true"] .main-header__mobile-toggle-icon::before,
.main-header__mobile-toggle[aria-expanded="true"] .main-header__mobile-toggle-icon::after{
	width: 38px;
}

.main-header__mobile-toggle[aria-expanded="true"] .main-header__mobile-toggle-icon::before{
	transform: translateY(0) rotate(45deg);
}

.main-header__mobile-toggle[aria-expanded="true"] .main-header__mobile-toggle-icon::after{
	transform: translateY(-2px) rotate(-45deg);
}

.main-header__mobile-brand{
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	max-width: 190px;
	max-height: 90px;
	margin: 0;
	pointer-events: none;
}

.main-header__mobile-brand a{
	pointer-events: auto;
}

.main-header__mobile-brand img{
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.main-header__mobile-actions{
	margin-left: auto;
	font-family: 'Canela Deck', sans-serif;
	font-size: 24px;
	line-height: 1;
	text-transform: uppercase;
}

.main-header__mobile-shop{
    font-family: 'Canela Deck', sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 16px;
    line-height: 1.6;
    color: var(--header-fg, #fff);
    transition: all 0.3s ease;
    text-transform: uppercase;
    text-decoration: none;
}

.main-header__mobile-shop:hover{
	color: var(--header-fg, #fff);
	text-decoration: underline;
}

.navbar-brand{
    max-width: 168px;
    max-height: 122px;

    img{
        width: 100%;
        height: 100%;
        object-fit: contain;
        filter: brightness(0) invert(1);
    }
}

@media (max-width: 1199.98px){
	.navbar-brand{
		max-width: 130px;
	}
}

.navbar-brand.navbar-brand--brand-logo img,
.navbar-brand .brand-header-logo{
    filter: none;
}

.navbar-nav{
    width: 100%;
}

@media (max-width: 991px){
	.navbar-nav{
		padding: 40px 0;
	}

	#primary-menu-ho-right-mobile{
		padding-top: 0;
	}

	#primary-menu-ho-left-mobile{
		padding-bottom: 0;
		margin-bottom: 0 !important;
	}
}

.navbar-nav li a{
    font-family: 'Canela Deck', sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 16px;
    line-height: 1.6;
    color: var(--header-fg, #fff);
    transition: all 0.3s ease;
    text-transform: uppercase;
	cursor: pointer;
}


.navbar-nav li a:hover{
    color: var(--header-fg, #fff);
    text-decoration: underline;
}

.site-header.header-variant-main .navbar-nav li a:focus,
.site-header.header-variant-main .navbar-nav li a:focus-visible,
.site-header.header-variant-main .navbar-nav > li > a.nav-link:focus,
.site-header.header-variant-main .navbar-nav > li > a.nav-link:focus-visible{
	color: #fff;
}

/**
 * Submenus no cabeçalho — barra no desktop só ao hover / focus-within.
 * Usar `ul.sub-menu` (classe core do WP) porque o tema pode não repetir `main-header__sub-menu` no HTML.
 */
@media (min-width: 1200px){
	.site-header .navbar-nav > .menu-item-has-children{
		position: static;
	}

	.site-header .navbar-nav > .menu-item-has-children > ul.sub-menu{
		display: none !important;
		position: absolute;
		top: 100%;
		left: 0;
		transform: none;
		width: 100%;
		max-width: none;
		margin: 0;
		padding: 19px 0;
		list-style: none;
		justify-content: center;
		flex-wrap: wrap;
		column-gap: 2rem;
		row-gap: 0.65rem;
		align-items: center;
		z-index: 1002;
		background-color: rgba(20, 20, 20, 0.25);
		
	}

	.site-header .navbar-nav > .menu-item-has-children:hover > ul.sub-menu,
	.site-header .navbar-nav > .menu-item-has-children:focus-within > ul.sub-menu{
		display: flex !important;
	}

	.site-header.header-variant-mde .navbar-nav > .menu-item-has-children > ul.sub-menu{
		border-top-color: rgba(20, 20, 20, 0.12);
		box-shadow: 0 14px 28px rgba(0, 0, 0, 0.08);
		background-color: rgba(246, 246, 246, 0.98);
	}

	.site-header.header-variant-ho .navbar-nav > .menu-item-has-children > ul.sub-menu{
		border-top-color: rgba(255, 255, 255, 0.22);
		background-color: rgba(173, 100, 78, 0.98);
	}

	.site-header .navbar-nav > .menu-item-has-children > ul.sub-menu > li > a.nav-link{
		padding: 0.35rem 0.75rem;
		text-decoration: none;
		opacity: 0.95;
		font-size: 15px;
		line-height: 1.45;
	}

	.site-header .navbar-nav > .menu-item-has-children > ul.sub-menu > li > a.nav-link:hover,
	.site-header .navbar-nav > .menu-item-has-children > ul.sub-menu > li > a.nav-link:focus-visible{
		text-decoration: underline;
		opacity: 1;
	}

	.site-header.header-variant-mde .navbar-nav > .menu-item-has-children > ul.sub-menu > li > a.nav-link{
		color: #141414;
	}

	.site-header.header-variant-mde .navbar-nav > .menu-item-has-children > ul.sub-menu > li > a.nav-link:hover,
	.site-header.header-variant-mde .navbar-nav > .menu-item-has-children > ul.sub-menu > li > a.nav-link:focus-visible{
		color: #141414;
	}

	.site-header:not(.header-variant-mde):not(.header-variant-ho) .navbar-nav > .menu-item-has-children > ul.sub-menu > li > a.nav-link{
		color: #fff;
	}

	/* Sub-submenu (nível 3+): linha seguinte dentro da mesma barra */
	.site-header .navbar-nav > .menu-item-has-children > ul.sub-menu ul.sub-menu{
		display: flex !important;
		flex-wrap: wrap;
		justify-content: center;
		gap: 0.75rem 1.25rem;
		width: 100%;
		padding: 0.75rem 0 0;
		margin: 0.75rem 0 0;
		border-top: 1px solid rgba(255, 255, 255, 0.08);
		position: static;
		transform: none;
		left: auto;
		box-shadow: none;
		border-left: none;
		background: transparent;
	}

	.site-header.header-variant-mde .navbar-nav > .menu-item-has-children > ul.sub-menu ul.sub-menu{
		border-top-color: rgba(20, 20, 20, 0.1);
	}

	.site-header .navbar-nav > .menu-item-has-children > ul.sub-menu .menu-item-has-children > ul.sub-menu > li > a.nav-link{
		font-size: 14px;
		opacity: 0.9;
	}
}

@media (max-width: 1199.98px){
	.site-header .navbar-collapse{
		max-height: calc(100dvh - 96px);
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior: contain;
	}

	.site-header .navbar-collapse.show{
		min-height: calc(100dvh - 96px);
		background-color: #141414;
	}

	.site-header .navbar-collapse.collapsing{
		background-color: #141414;
	}

	.site-header.header-variant-mde .navbar-collapse.show,
	.site-header.header-variant-mde .navbar-collapse.collapsing{
		background-color: #fff;
	}

	.site-header.header-variant-ho .navbar-collapse.show,
	.site-header.header-variant-ho .navbar-collapse.collapsing{
		background-color: #AD644E;
	}

	.site-header .navbar-nav ul.sub-menu{
		position: static;
		display: block !important;
		width: 100%;
		max-width: none;
		transform: none;
		left: auto;
		padding: 0.25rem 0 0.5rem 1rem;
		margin: 0;
		list-style: none;
		border: none;
		box-shadow: none;
		background: transparent;
	}

	.site-header.header-variant-mde .navbar-nav ul.sub-menu{
		border-left: 2px solid rgba(20, 20, 20, 0.18);
	}

	.site-header:not(.header-variant-mde) .navbar-nav ul.sub-menu{
		border-left: 2px solid rgba(255, 255, 255, 0.15);
	}

	.site-header .navbar-nav ul.sub-menu > li > a.nav-link{
		padding: 0.35rem 0;
		font-size: 15px;
		text-decoration: none;
		opacity: 0.92;
	}

	.site-header.header-variant-mde .navbar-nav ul.sub-menu > li > a.nav-link{
		color: #141414;
	}

	.site-header:not(.header-variant-mde):not(.header-variant-ho) .navbar-nav ul.sub-menu > li > a.nav-link{
		color: var(--header-fg, #fff);
	}

	.site-header.header-variant-ho .navbar-nav ul.sub-menu > li > a.nav-link{
		color: var(--header-fg, #fff);
	}
}

.main-header__menu-buttons{
    display: flex;
    flex-direction: row;
    gap: 10px;
    list-style: none;
    gap: 10px;
    padding: 0;
    margin: 0;
}
.main-header__search-link{
    color: var(--header-fg, #fff);
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
}

.main-header__search-link svg{
    color: var(--header-fg, #fff);
    transition: all 0.3s ease;
}

.main-header__search-link:hover{
    color: #AD644E;
    text-decoration: none;
    opacity: 0.8;
}


.main-header__menu-buttons-list{
    display: flex;
    flex-direction: column;
    gap: 16px;
    list-style: none;
	justify-content: center;
    padding: 0;
    margin: 0;
}

.main-header__menu-buttons-list li a{
    font-family: 'Canela Deck', sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 16px;
    line-height: 1.6;
    color: var(--header-fg, #fff);
    transition: all 0.3s ease;
    text-transform: uppercase;
    text-decoration: none;
}

.main-header__menu-buttons-list li a:hover{
    color: #AD644E;
    text-decoration: none;
    opacity: 0.8;
}

/* Site Footer */

.site-footer{
	position: relative;
	background-color: #171717;
	padding: 26px 0;
}

/* Separador SVG: cor via `color` (fill usa currentColor no markup) */
.site-footer__shape-wrap{
	display: block;
	width: 100%;
	height: auto;
	position: absolute;
	bottom: 100%;
	left: 0;
	z-index: 99;
	color: #171717;
}

.site-footer__shape{
	width: 100%;
    height: 100%;
}

/* Horta Osório: cor marca #AD644E (footer.php — footer-variant-ho, forma distinta) */
.site-footer.footer-variant-ho{
	background-color: #AD644E;
	color: #fff;
}

.site-footer.footer-variant-ho .site-footer__shape--ho{
	color: #AD644E;
}


/* Rodapé em grelha (logos | newsletter | ligações) */

.site-footer__primary-logo{
    max-width: 248px;
    margin: 42px 0 56px;
}

@media (max-width: 991px) {
   .site-footer__primary-logo{
      max-width: 219px;
      margin: 0 0 12px;
   }
}

.site-footer__brand-logo{
    max-height: 128px;
    width: auto;
}

@media (max-width: 991px) {
   .site-footer__brand-logo{
      max-height: 99px;
   }
}

.site-footer__newsletter-title {
    border-left: 1px solid #fff;
    padding-top: 36px;
    padding-left: 32px;
    margin-bottom: 58px;
    font-size: 32px;
    line-height: 1.2;
    font-weight: 400;
    font-style: normal;
    font-family: 'Reservation Wide', sans-serif;
    text-transform: uppercase;
    color: #fff;
    text-align: left;
    text-decoration: none;
    text-transform: uppercase;
}

@media (max-width: 991px) {
   .site-footer__newsletter-title{
      padding-top: 24px;
      padding-left: 16px;
      margin-bottom: 48px;
      font-size: 20px;
   }
}

@media (max-width: 991px) {
	.site-footer__col-newsletter{
      margin-top: 40px;
   }
}

.site-footer.footer-variant-main .site-footer__newsletter-title{
    font-family: 'Canela Deck', sans-serif;
}

.site-footer.footer-variant-ho .site-footer__newsletter-title{
    font-family: "Playfair Display", Georgia, serif;
}

.site-footer.footer-variant-ho .footer-menu li a{
	color: #fff;
}

.form-row{
    padding-right: 64px;
}

@media (max-width: 991px) {
	.form-row{
      padding-right: 0;
   }
}

.form-row input{
    border: 1px solid #fff;
    border-radius: 40px;
    padding: 10px 16px;
    font-size: 14px;
    line-height: 1.4;
    font-weight: 500;
    font-style: normal;
    font-family: 'Satoshi', sans-serif;
    width: 100%;
}

.form-row input::placeholder{
    color: #141414;
    text-transform: uppercase;
    font-weight: 500;
}

.form-row input:focus{
    border-color: #fff;
    outline: none;
}   

.form-row .wpcf7-submit{
    background: conic-gradient(from 11.66deg at 21.83% -13.54%, #4D4D4D 0deg, #474747 14.4deg, #303030 86.4deg, #202020 162deg, #171717 248.4deg, #141414 360deg);
    color: white;
    border: 1px solid #fff;
    border-radius: 40px;
    padding: 11px 6px;
    font-size: 12px;
    text-transform: uppercase;
    line-height: 1.4;
    font-weight: 500;
    font-style: normal;
    font-family: 'Reservation Wide', sans-serif;
}


.form-row .wpcf7-acceptance label{
	width: 100%;
	color: white;
}

.form-row .wpcf7-acceptance input{
	width: auto;
}

.form-row .wpcf7-spinner{
	display: none;
}

.site-footer__col-links{
    margin-top: 36px;
}


@media (max-width: 991px) {
	.site-footer__col-links .row{
		gap: 24px;
	}
}

.footer-label{
    color: #fff;
    font-size: 13px;
    line-height: 1.4;
    font-weight: 400;
    font-style: normal;
    font-family: 'Reservation Wide', sans-serif;
    text-transform: uppercase;
    margin-bottom: 20px;
}

@media (max-width: 991px) {
	.footer-label{
      font-size: 12px;
   }
}

.site-footer.footer-variant-main .footer-label{
    font-family: 'Canela Deck', sans-serif;
}

.site-footer.footer-variant-ho .footer-label{
    font-family: "Playfair Display", Georgia, serif;
}


.site-footer__link-list{
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.site-footer__link-list li a{
    color: #fff;
    font-size: 10px;
    line-height: 1.4;
    font-weight: 700;
    font-style: normal;
    font-family: 'Satoshi', sans-serif;
    text-transform: uppercase;
    text-decoration: none;
    transition: all 0.3s ease;
	display: block;;
}

.footer-menu{
    margin-top: 20px;
    column-gap: 24px;
}

.footer-menu li a{
    color: #9B9595;
    font-size: 10px;
    line-height: 1.4;
    font-weight: 700;
    font-style: normal;
    font-family: 'Satoshi', sans-serif;
    text-transform: uppercase;
    text-decoration: none;
    transition: all 0.3s ease;

}

.site-footer__contact-key{
    color: #fff;
    font-size: 10px;
    line-height: 1.4;
    font-weight: 700;
    font-style: normal;
    font-family: 'Satoshi', sans-serif;
    text-transform: uppercase;
    text-decoration: none;
}

.site-footer__contactos p a, .site-footer__contactos p span {
    font-size: 10px;
}

/* Experience cards (archive/listing) */
.experience-card{
    padding: 24px;
}

.experience-card.is-card-color-e8d3b2{
    background-color: #E8D3B2;
}

.experience-card.is-card-color-ffeddc{
    background-color: #FFEDDC;
}

.experience-card.is-card-color-bab6a1{
    background-color: #BAB6A1;
}

.experience-card.is-card-color-141414{
    background-color: #141414;
    color: #FFFFFF;
}

.experience-card.is-card-color-dcb993{
    background-color: #DCB993;
}

.experience-card.is-card-color-8e9166{
    background-color: #8E9166;
}

.experience-card .entry-title a{
    color: inherit;
}

.experience-card.is-card-color-141414 .entry-title a,
.experience-card.is-card-color-141414 .entry-content{
    color: #FFFFFF;
}
    