/*
Theme Name: Mira
Author: ANTNNA
Author URI: http://antnna.com
Description: Tema customizado para o hotel boutique Mira, baseado em Paúba, no litoral norte de São Paulo.
Tags: art, minimalist, black and white
Version: 2025
Requires at least: 5.0
License: GNU General Public License v3 or Later
License URI: https://www.gnu.org/licenses/gpl.html
*/

/******00) FONT EMBEDS ******/
@import url('https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400..700;1,400..700&family=Space+Grotesk:wght@500&display=swap');

@font-face {
    font-family: 'Helvetica Neue';
    src: url('assets/fonts/hn.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Helvetica Neue';
    src: url('assets/fonts/hnb.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/******01) REGRAS GERAIS ******/
body {background-color: #F8F7F5; font-weight: 400; overscroll-behavior: none;}
* {margin: 0; padding: 0; box-sizing: border-box; position: relative; text-decoration: none; scroll-behavior: smooth; -ms-overflow-style: none; scrollbar-width: none; letter-spacing: -0.02em; font-family: 'Lora', Georgia, serif; color: #111D13;}
div {display: block;}
::-webkit-scrollbar {display: none;}
::selection {background-color: #A7B7A2; color:#F8F7F5;}
ul, li, figure {list-style:none; margin: 0; padding: 0;}
img {max-width: 100%;;}
a, span {display: block;}
p {color: #111D13; text-decoration:none; margin:0; padding:0; font-size: 15px; line-height: 1.3; font-weight: 400;}
p strong {font-weight: 700;}
a, span, li {display: block; line-height: 1; font-weight: 500; list-style: none; text-decoration: none;}
a {font-weight: bold; font-family: 'Helvetica Neue', Arial, sans-serif;}
a:hover {transition: all ease .3s;}
p > a {display: initial;}
a, path {transition: all 0.15s linear;}
h1, h2 , h3 , h4 {font-family: 'Space Grotesk', sans-serif; font-weight: 500;}
h5 , h6 {font-family: 'Helvetica Neue', Arial, sans-serif; font-weight: 700;}
select::-ms-expand {display: none;}
:root {scroll-padding-top: 120px;}

/* pre-sets */
.container-a {width: calc(100vw - 60px); max-width: 1660px; margin: 0 auto; position: relative;}
.container-b {width: calc(100vw - 120px); max-width: 1660px; margin: 0 auto; position: relative;}
.container-c {width: calc(100vw - 60px); max-width: 1660px; margin: 0 auto; position: relative; padding-left: 30px; padding-right: 30px;}
.container-d {width: calc(100vw - 120px); max-width: 1660px; margin: 0 auto; position: relative;}
.d-table {display: table;}
.ovflow {overflow-x: scroll; overflow-y: hidden; flex-wrap: nowrap;}
.ovflow::-webkit-scrollbar {display: none;}
.vh {height: 100vh; height: 100dvh; padding: 0;}
.vw {width: 100vw; width: 100dvw; padding: 0;}
.ph {height: 100%;}
.pw {width: 100%;}
.ov-hid {overflow: hidden;}
.txt-c {text-align: center;}
.txt-r {text-align: right;}
.p-fix {position: fixed;}
.p-abs {position: absolute;}
.p-stk {position: sticky; top: 140px;}

/* fade páginas */
main , footer {opacity: 0; transition: opacity 0.7s ease;}
.fade-in {opacity: 1;}

/* padrões flex */
.d-flex {display: flex; align-items: center;}
.j-sa {justify-content: space-around;}
.j-sb {justify-content: space-between;}
.a-base {align-items: baseline;}
.a-fs {align-items: flex-start;}
.f1 > * {flex: 1;}
.flex-w50 > * {flex: 0 0 50%;}
.flex-gap1 {gap: 80px;}
.flex-gap2 {gap: 40px;}

/* padrões de posicionamento */
.c-holder {position: absolute; top: 50%; transform: translateY(-50%); left: 0; right: 0; margin: 0 auto;}
.v-holder {position: absolute; top: 50%; transform: translateY(-50%);}
.m-holder {margin: 0 auto; left: 0; right: 0;}
.cov-holder {position: relative;}
.cov-holder img {position: absolute; left: 0; top:0; width: 100%; height: 100%; min-width: 100%; min-height: 100%; object-fit: cover; object-position: 50% 50%;}
.r0 {right: 0;}
.l0 {left: 0;}
.b0 {bottom: 0;}
.t0 {top: 0;}
.zdex0 {z-index: -1;}
.zdex1 {z-index: 1;}
.zdex3 {z-index: 3;}
.zdex6 {z-index: 6;}
.zdex9 {z-index: 9;}
.zdex12 {z-index: 12;}

.fig-cover {padding-top: 56.25%; overflow: hidden; height: 0;}
.fig-cover img {left: 0; top: 0; height: 100%; width: 100%; min-height: 100%; min-width: 100%; object-fit: cover; position: absolute;}
.if-holder, .wp-block-embed-youtube > div, .is-type-video.is-provider-spotify > div {overflow: hidden; position: relative; width:100%;}
.if-holder::after , .wp-block-embed-youtube > div::after, .is-type-video.is-provider-spotify > div::after {padding-top: 56.25%; display: block; content: '';}
.if-holder iframe, .wp-block-embed-youtube iframe, .is-type-video.is-provider-spotify iframe {position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: none;}
.vid-bg {position: absolute; left: 0; top: 0; width: 100%; height: 100%; min-width: 100%; min-height: 100%; background-color: #111D13; object-fit: cover; overflow: hidden;}

.brdbtm {border-bottom: 1px solid #111D13;}
.para-c {overflow: hidden;}
.parallax {left: 0; top: 0; height: 100%; width: 100%; min-height: 100%; min-width: 100%;  object-fit: cover; position: absolute;}

/* padrões de espaçamento */
.padtop1 {padding-top: 1vh;}
.padbot1 {padding-bottom: 1vh;}
.padtop2 {padding-top: 2vh;}
.padbot2 {padding-bottom: 2vh;}
.padtop3 {padding-top: 3vh;}
.padbot3 {padding-bottom: 3vh;}
.padtop4 {padding-top: 4vh;}
.padbot4 {padding-bottom: 4vh;}
.padtop5 {padding-top: 6vh;}
.padbot5 {padding-bottom: 6vh;}
.padtop6 {padding-top: 8vh;}
.padbot6 {padding-bottom: 8vh;}
.padtop7 {padding-top: 10vh;}
.padbot7 {padding-bottom: 10vh;}
.padtop8 {padding-top: 12vh;}
.padbot8 {padding-bottom: 12vh;}
.padtop9 {padding-top: 16vh;}
.padbot9 {padding-bottom: 16vh;}
.padtop10 {padding-top: 20vh;}
.padbot10 {padding-bottom: 20vh;}

/* padrões de cor */
.bg00 {background-color: #F8F7F5;}
.bg01 {background-color: #111D13;}
.bg02 {background-color: #E6E5D7;}
.bg03 {background-color: #97BEC2;}
.bg04 {background-color: #A7B7A2;}
.bg05 {background-color: #B7A2B3;}
.c00, .c00 * {color: #F8F7F5;}
.c01, .c01 * {color: #111D13;}

.gradiente-a {background: linear-gradient(0deg, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.1) 23%, rgba(0,0,0,0) 100%); position: absolute; left: 0; top: 0; height: 100%; width: 100%;}
.gradiente-b {background: linear-gradient(0deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0.4) 30%, rgba(0,0,0,0.05) 40%, rgba(0,0,0,0) 100%); position: absolute; left: 0; top: 0; height: 100%; width: 100%;}

/* botão menu */
.nav-burger {width: 36px; cursor: pointer;}
.nav-burger div {width: 100%; height: 2px; background-color: #111D13; margin-bottom: 7px; transition: all .2s ease; animation: soundwave 1.1s infinite;}
.nav-burger div:first-child {animation: soundwave 1.3s infinite;}
.nav-burger div:last-child {animation: soundwave .8s infinite;}
.nav-burger:hover div {animation: none; transition: .2s all ease;}
.nav-burger.close {height: 28px; transition: .3s all ease;}
.nav-burger.close div {transform: rotate(45deg); animation: none;}
.nav-burger.close div:first-child {transform: rotate(-45deg) translate(-6px,6px); animation: none;}
.nav-burger.close div:last-child {display: none;}

/* botão fechar */
.close-btn {cursor: pointer; width: 24px; height: 24px; position: relative;}
.close-btn div {transform: rotate(45deg); width: 28px; position: absolute; height: 1px; top: 10px; background-color: #F8F7F5; transition: all ease 0.3s;}
.close-btn div:last-child {transform: rotate(-45deg);}
.close-btn:hover div {transform: rotate(135deg);}
.close-btn:hover div:last-child {transform: rotate(45deg);}

/* botões */
.btn {display:inline-flex; align-items:center; position:relative;  background:transparent;  min-width:120px; cursor:pointer; line-height:1; outline:none;}
.btn:focus-visible {outline:none;}
.btn-label {padding:13px 24px 11px 12px; display:inline-block; font-size:15px; font-family:'Helvetica Neue', arial, sans-serif; font-weight:700; text-transform:lowercase; text-decoration:none; color:#111D13; border:1px solid #111D13; border-radius:2px 0 0 2px; border-right:none; overflow: hidden;}
.btn-box {display:inline-flex; align-items:center; justify-content:center; border:1px solid #111D13; border-radius:0 2px 2px 0; margin-left: -1px; height:calc(15px + 11px + 15px); /* mesma altura visual do botão */ padding:0 12px; overflow: hidden;}
.btn-ico {width:16px; height:16px; background-image:var(--btn-ico); background-repeat:no-repeat; background-position:center; background-size:contain; transition:filter .25s ease, transform .25s ease;}

.btn:hover {color:#111D13; border-color:#F8F7F5; transition:all .25s ease; filter: invert(100);}
.btn:hover .btn-label {background:#F8F7F5; color:#111D13; border-color:#F8F7F5; transition:all .25s ease; filter: invert(100);}
.btn:hover .btn-box {background:#F8F7F5; transition:all .25s ease; border-color:#F8F7F5; border-left: #111D13 solid 1px;}

.btn.light .btn-label {color:#F8F7F5; border:1px solid #F8F7F5;}
.btn.light .btn-box {border:1px solid #F8F7F5;}
.btn.light .btn-ico {filter: invert(100);}

.btn.light.hoverlight:hover {filter: none; transition:all .25s ease;}
.btn:hover .btn-label {filter: none; transition: all .25 ease;}
.btn.light.hoverlight:hover span {color: #111D13; border-color:#111D13; transition:all .25s ease;}
.btn.light.hoverlight:hover .btn-box span {filter: brightness(0); transition:all .25s ease;}

.btn.seta {--btn-ico: url('/wp-content/uploads/2025/09/icon-seta.svg');}
.btn.mais {--btn-ico: url('/wp-content/uploads/2025/09/icon-mais.svg');}
.btn.casamento {--btn-ico: url('/wp-content/uploads/2025/09/btn-wedding.svg');}
.btn.foto {--btn-ico: url('/wp-content/uploads/2025/09/icon-foto.svg');}
.btn.vinho {--btn-ico: url('/wp-content/uploads/2025/09/icon-vinho.svg');}
.btn.m {--btn-ico: url('/wp-content/uploads/2025/09/btn-about.svg');}

/* forms */
input:not([type="submit"]), select {border: 1px solid #111D13; padding: 12px 16px; font-size: 15px; color: #111D13; background-color: transparent; width: 100%; margin-bottom: 12px; font-family: 'Archivo', sans-serif''; text-transform: lowercase; border-radius: 2px;}
input:not([type="submit"])::placeholder, select::placeholder, textarea::placeholder {color: #111D13; opacity: .85; font-family: 'Archivo', sans-serif; font-size: 15px; text-transform: lowercase;}
input:focus, input:focus-visible, select:focus, select:focus-visible, textarea:focus-visible, textarea:focus {outline: none; box-shadow: none;}
select {letter-spacing: -.02em; text-transform: lowercase; cursor: pointer;}
label {padding: 6px 10px 8px; background-color: #111D13; color: #F8F7F5; cursor: pointer; height: fit-content;}
input[type="file"] {display: none;}
input[type="submit"] {margin-top: 6px; cursor: pointer !important;}
textarea {border: 1px solid #111D13; padding: 12px 16px; font-size: 15px; color: #111D13; background-color: transparent; width: 100%; margin-bottom: 12px; font-family: 'Archivo', sans-serif''; text-transform: lowercase; border-radius: 2px; min-height: 120px;}
button {border: 0;}

/* animações */
@keyframes rotate {0% {transform: rotate(0deg);} 100% { transform: rotate(360deg);}}
@keyframes soundwave {0%, 100% {width: 36px;} 50% {width: 30px;}}
@keyframes move {0% {transform: translateX(0px);} 50% {transform: translateX(3px);}}


/******02) HEADER & VITRINES ******/

:root {--mira-light:#F8F7F5; --mira-dark:#111D13; --hdr-h-desktop:64px; --hdr-h-mobile:36px; --gap:20px; --border:#111D13; --panel-bg:#F8F7F5; --gutter-desktop:30px; --gutter-mobile:12px;}

.mira-header {position:fixed; top:var(--gutter-desktop); left:var(--gutter-desktop); right:var(--gutter-desktop); height:var(--hdr-h-desktop); z-index:1000; background:transparent; border:1px solid #F8F7F5; transition:background .25s ease,border-color .25s ease,left .25s ease,right .25s ease,top .25s ease; border-radius: 4px; overflow: hidden;}
.mira-header.is-solid, .mira-header.is-open {background:var(--panel-bg); border-color:var(--border);}
.mira-header-inner {height:100%; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:var(--gap); position:relative;}
.mira-header.is-open {border-radius: 4px 4px 0 0;}
.mira-header-inner.container-a {max-width: none;}

.mira-logo {position:absolute; left:50%; transform:translateX(-50%); display:inline-flex; align-items:center; justify-content:center;}
.mira-logo-img {height:24px;}
.mira-logo--dark {display:none;}
.mira-header.is-solid .mira-logo--light, .mira-header.is-open .mira-logo--light {display:none;}
.mira-header.is-solid .mira-logo--dark, .mira-header.is-open .mira-logo--dark {display:inline-block;}

.mira-burger {width:64px; height:100%; display:inline-flex; align-items:center; justify-content:center; background:transparent; border:none; cursor:pointer; position:relative; border-right: 1px solid #F8F7F5;}
.mira-burger:hover {background-color: #F8F7F5;}
.mira-burger:hover .mira-burger-bar {background-color: #111D13;}
.mira-burger-bar {position:absolute; width:28px; height:2px; background:#F8F7F5; left:50%; transform:translateX(-50%); transition:transform .25s ease,opacity .25s ease,background .2s ease;}
.mira-burger-bar:nth-child(1) {top:22px;}
.mira-burger-bar:nth-child(2) {top:30px;}
.mira-burger-bar:nth-child(3) {top:38px;}
.mira-header.is-solid .mira-burger, .mira-header.is-open .mira-burger {border-right: 1px solid #111D13;}

.mira-header.is-solid .mira-burger:hover, .mira-header.is-open .mira-burger:hover {background-color: #111D13;}
.mira-header.is-solid .mira-burger:hover .mira-burger-bar, .mira-header.is-open .mira-burger:hover .mira-burger-bar {background-color: #F8F7F5;}
.mira-header.is-solid .mira-burger-bar, .mira-header.is-open .mira-burger-bar {background:var(--mira-dark);}
.mira-header.is-open .mira-burger-bar:nth-child(1) {transform:translate(-50%,8px) rotate(45deg);}
.mira-header.is-open .mira-burger-bar:nth-child(2) {opacity:0;}
.mira-header.is-open .mira-burger-bar:nth-child(3) {transform:translate(-50%,-8px) rotate(-45deg);}

.mira-actions {display:flex; align-items:center; margin-left:auto; height:100%;}
.mira-btn-reserve {display:flex; align-items:center; justify-content:center; height:100%; padding-left:16px; padding-right:16px; border-left:1px solid #F8F7F5; border-right:1px solid #F8F7F5; color:var(--mira-light); text-decoration:none; font-weight:700; letter-spacing:.02em; transition:background .2s ease,border-color .2s ease,filter .2s ease,color .2s ease; font-size: 14px;}
.mira-socials {display:grid; grid-template-columns:repeat(2,1fr); grid-auto-rows:32px; align-content:center;margin-right: -18px;}
.mira-social {width:32px; height:32px; display:inline-flex; align-items:center; justify-content:center; border:1px solid #F8F7F5; text-decoration:none; transition:background .2s ease,filter .2s ease,border-color .2s ease; border-left: none; border-top: none;}
.mira-social:nth-child(2) {border-right: none;}
.mira-social:nth-child(3) {border-bottom: none;}
.mira-social:nth-child(4) {border-bottom: none; border-right: none;}
.mira-social img {width:18px; height:18px; display:block; filter: invert(1.2);}
.mira-header.is-solid .mira-btn-reserve, .mira-header.is-open .mira-btn-reserve {border-left-color:var(--border); border-right-color:var(--border); color:var(--mira-dark);}
.mira-header.is-solid .mira-social, .mira-header.is-open .mira-social {border-color:var(--border);}
.mira-social:hover {background-color: #F8F7F5;}
.mira-social:hover img {filter: initial;}
.mira-btn-reserve:hover {background-color: #F8F7F5; color: #111D13;}
.mira-header.is-solid .mira-social img, .mira-header.is-open .mira-social img {filter: initial;}
.mira-header.is-solid .mira-social:hover, .mira-header.is-open .mira-social:hover {background-color: #111D13;}
.mira-header.is-solid .mira-social:hover img, .mira-header.is-open .mira-social:hover img {filter: invert(1.2);}
.mira-header.is-solid .mira-btn-reserve:hover, .mira-header.is-open .mira-btn-reserve:hover {background-color: #111D13; color: #F8F7F5;}

.mira-nav {position:fixed; top:calc(var(--gutter-desktop) + var(--hdr-h-desktop)); left:var(--gutter-desktop); right:var(--gutter-desktop); bottom:var(--gutter-desktop); background:var(--panel-bg); border:1px solid var(--border); transform:translateY(-10px); opacity:0; pointer-events:none; transition:transform .25s ease,opacity .25s ease,left .25s ease,right .25s ease,top .25s ease,bottom .25s ease;}
.mira-nav.is-open {transform:translateY(0); opacity:1; pointer-events:auto; margin-top: -1px; border-radius: 0 0 4px 4px;}
.mira-nav-scroller {position:absolute; inset:0; overflow:auto; overflow-x: hidden;}

.mira-nav-top {padding: 4vh 60px;}
.mira-nav-top-grid {display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items: center;}
.mira-nav-left {display:flex; flex-direction:column; gap:24px;}
.mira-nav-group {display:flex; flex-direction:column; gap:10px;}
.mira-nav-title {font-size:3.2vh; font-family: 'Space Grotesk', sans-serif; font-weight:500; color:var(--mira-dark); text-transform:lowercase;}
.mira-nav-sub {list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr; gap:8px;}
.mira-nav-subitem {display:flex; align-items:center; gap:10px;}
.mira-nav-subitem:nth-child(1) .mira-nav-icon {top: -1px;}
.mira-nav-subitem a {font-weight: 400; text-transform: lowercase; font-size: 15px;}
.mira-nav-icon {width:15px; height:15px; display:block;}
.mira-nav-main {list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr; gap:8px;}
.mira-nav-item {display:block;}
.mira-nav-item:nth-child(5) {margin-top: 20px;}
.mira-item {color:var(--mira-dark); text-decoration:none; transition:opacity .2s ease,transform .2s ease;}
.mira-item-lg {font-size:3.2vh; line-height:1; font-weight:500; text-transform:lowercase; font-family: 'Space Grotesk', sans-serif;}
.mira-item:hover {transform:translateX(2px); transition: .2s all ease;}
.mira-nav-right {display:grid; grid-template-rows:1fr; gap:20px;}
.mira-preview {width:100%; aspect-ratio:16/10; border:1px solid var(--border); border-radius:4px; overflow:hidden; background:#E6E5D7;}
.mira-preview img {width:100%; height:100%; object-fit:cover;}

.mira-nav-sub .mira-nav-subitem:nth-child(3), .mira-nav-sub .mira-nav-subitem:nth-child(4), .mira-nav-sub .mira-nav-subitem:nth-child(5) .mira-nav-icon {top: -1px;}

.mira-nav-divider {height:0; border-top:1px solid var(--border);}

.mira-nav-bottom {padding: 4vh 60px;}
.mira-nav-bottom-grid {display:grid; grid-template-columns:1fr 1fr; align-items: flex-end; gap:28px;}
.mira-contact {display:grid; gap:2px; color:var(--mira-dark);}
.mira-contact-title {font-family: 'Space Grotesk', sans-serif; font-weight:500; font-size: 20px;}
.mira-contact-line {font-family: 'Helvetica Neue', arial, sans-serif; font-size: 14px;}
.mira-weather {display:flex; align-items:flex-end; justify-content:flex-end; gap:4px; flex-direction: column;}
#mira-weather-temp {font-size:13vh; font-weight:700; color:var(--mira-dark);font-family: 'Helvetica Neue', arial, sans-serif;}
.mira-weather-note {font-size:13px; color:var(--mira-dark); font-family: 'Helvetica Neue', arial, sans-serif;}

body.has-nav-open {overflow:hidden;}

/* Keyframes com translateX de 8px */
@keyframes miraInL {from {opacity:0; transform:translateX(-8px);} to {opacity:1; transform:translateX(0);} }
@keyframes miraInR {from {opacity:0; transform:translateX( 8px);} to {opacity:1; transform:translateX(0);} }
@keyframes miraOutL {from {opacity:1; transform:translateX(0);} to {opacity:0; transform:translateX(-8px);} }
@keyframes miraOutR {from {opacity:1; transform:translateX(0);} to {opacity:0; transform:translateX( 8px);} }

/* Helpers genéricos de animação (grupos) */
.mira-stg {animation-fill-mode:both; animation-timing-function:cubic-bezier(.25,.1,.25,1); animation-duration:var(--seg, .2s); animation-delay:var(--delay, 0s);}
.mira-stg.left.in  {animation-name:miraInL;}
.mira-stg.right.in {animation-name:miraInR;}
.mira-stg.left.out {animation-name:miraOutL;}
.mira-stg.right.out{animation-name:miraOutR;}

/* Estado inicial dos grupos */
.mira-stg-source {opacity:0; transform:translateX(-8px);}
.mira-stg-source.right {transform:translateX(8px);}

/* Crossfade suave do preview (já usado pelo JS) */
.mira-preview img {transition:opacity .28s ease;}
.mira-preview img.is-fading {opacity:0;}

/* vitrines */
.hero {position: relative; width: 100%; min-height: 100dvh; overflow: hidden;}
.hero-media {position: absolute; inset: 0; width: 100%; height: 100%; overflow: hidden;}
.hero-video, .hero-img {position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%;}
.hero-overlay-cima {position: absolute; inset: 0; pointer-events: none; background: linear-gradient(0deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.3) 100%);}
.hero-overlay {position: absolute; inset: 0; pointer-events: none; background: linear-gradient(200deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.4) 52%);}
.hero-content {position: absolute; left: 60px; bottom: 60px; z-index: 2; }
.chapeu {text-transform: uppercase; font-family: 'Helvetica Neue', sans-serif;}
.chapeu img {margin-right: 8px;}
.hero-content h2 {font-size: 64px; line-height: 1;}
.hero-content h1 {font-family: 'Lora', serif; font-size: 20px; max-width: 460px; font-weight: 400;}
.hero-content h2 {font-size: 64px;}
.hero-home .hero-content h2 {font-size: 80px; text-transform: lowercase;}
.hero-pages .hero-content h2 {font-size: 64px; text-transform: lowercase;}
.hero-house-ico {filter: invert(100); margin-right: 12px; top: 7px;}

/******03) ELEMENTOS REUTILIZADOS ******/
.cta {border: 1px solid #111D13; padding-top: 30px; padding-bottom: 40px; border-radius: 6px;}

/******04) HOME ******/
/* A – reserve agora (layout) */
.sec-a-reserve .cta {background:#DFE0D1; border:1px solid #111D13; border-radius:6px;}
.sec-a-reserve h3 {font-size:28px; margin-bottom:16px;}
.reserve-grid {display:grid; grid-template-columns:1.2fr 1.2fr 1.2fr 1fr; gap:24px; align-items:stretch;}
.reserve-grid > * {height:100%;}
.res-submit {display:flex; align-items:center; justify-content:center; gap:12px; background:#111D13; color:#F8F7F5; border:1px solid #111D13; border-radius:6px; font-weight:700; text-transform:lowercase; font-size:18px; padding:0 24px; height:100%;}
.res-field {display:grid; grid-template-columns:1fr auto; align-items:center; gap:0; background:#F8F7F5; border:1px solid #111D13; border-radius:6px; padding:0; overflow:hidden; position:relative;}
.res-col {padding:12px 16px 11px;}
.res-col strong {display:block; font-weight:700; color:#111D13; font-family: 'Helvetica Neue', sans-serif; padding-bottom: 5px;}
.res-col small {display:block; font-size:14px; color:#111D13; font-family: 'Helvetica Neue', sans-serif; font-weight: 400;}
.res-input {appearance:none; -webkit-appearance:none; -moz-appearance:none; background:transparent; border:none; height:100%; padding:0; margin:0; position:absolute; inset:0 64px 0 0; width:auto; opacity:0;}
.res-input--select {opacity:0; pointer-events:auto;}
.res-box {display:inline-flex; align-items:center; justify-content:center; height:100%; border-left:1px solid #111D13; width:64px; background:#F8F7F5;}
.res-date {rotate: -45deg;}
.res-ico {width:24px; height:24px; background-image:var(--ico); background-repeat:no-repeat; background-position:center; background-size:contain; display:block;}
.res-ico--out {transform:scale(-1);} /* inverte horizontal e vertical para o checkout */
.res-submit {display:flex; align-items:center; justify-content:center; gap:12px; background:#111D13; border:1px solid #111D13; border-radius:6px; font-weight:700; text-transform:lowercase; font-size:18px; padding:0 24px;}
.res-submit span {font-family: 'Helvetica Neue', sans-serif; color: #F8F7F5;}
.res-submit .res-search-ico {width:20px; height:20px; background-image:var(--ico); background-repeat:no-repeat; background-position:center; background-size:contain; filter:brightness(2);}
.res-submit:hover {background:#0b140d;}
.sec-a-reserve .cta label, .sec-a-reserve .cta input, .sec-a-reserve .cta button {cursor: pointer;} 

/* B – texto + imagens (reveal) */
.sec-b-hero .container-b{align-items:center}
.sec-b-hero .container-b>div{flex:0 0 50%}
.copy-col{padding-right:30px}
.copy-col h2{font-size:2.8vw;line-height:1.2;font-weight:400}
.reveal-words{display:inline;contain:content}
.imgs-col{position:relative;height:440px;text-align:center}
.stack-img{position:absolute; overflow:hidden;will-change:transform; }
.stack-img img{max-height:430px;object-fit:cover;display:block}
.si-1{top:0;right:0;z-index:1}
.si-2{top:13%;right:34%;z-index:2}
.reveal-words .w,.reveal-words .wg{display:inline-block;will-change:transform}

/* C – accordion */
.sec-c-accordion {border-top:1px solid #111D13; border-bottom:1px solid #111D13;}
.acc-list {display:block;}
.acc-item {position:relative; border-top:1px solid #111D13; border-bottom:1px solid #111D13; margin-top:-1px; background:#F8F7F5;}
.acc-item:last-child {border-bottom: none;}

.acc-head {width:100%; display:flex; align-items:center; justify-content:space-between; padding:22px 60px; cursor:pointer; background:#F8F7F5; transition:background .2s ease; border:0; position:relative; z-index:3;}
.acc-head:hover {background:var(--acc-hover);}
.acc-head h3 {font-size:3.2vw; text-transform:lowercase;}

.acc-ico {position:relative; width:20px; height:20px; flex:0 0 20px;}
.acc-ico::before, .acc-ico::after {content:''; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); background:#111D13; transition:background .2s ease, opacity .2s ease;}
.acc-ico::before {width:20px; height:4px;}
.acc-ico::after  {width:4px; height:20px;}

.acc-item.is-open {background:var(--acc-active);}
.acc-item.is-open .acc-head {background:transparent;}
.acc-item.is-open .acc-ico::before, .acc-item.is-open .acc-ico::after {background:#F8F7F5;}
.acc-item.is-open .acc-ico::after {opacity:0;}

.acc-body {max-height:0; overflow:hidden; transition:max-height .45s ease; position:relative; z-index:2;}
.acc-body-inner {display:grid; grid-template-columns:1fr 1fr; gap:24px; padding-bottom:7vh; padding-right:0;}
.acc-copy {position:relative; z-index:3;}
.acc-copy p {margin-bottom:8vh; max-width:420px;}

.acc-media {position:absolute; top:0; right:0; bottom:0; width:50vw; opacity:0; visibility:hidden; transition:opacity .25s ease; z-index:1; overflow:hidden; border-left:1px solid #111D13; background:#111D13;}
.acc-item.is-open .acc-media {opacity:1; visibility:visible;}
.acc-media a {display:block; width:100%; height:100%;}
.acc-media img {width:100%; height:100%; object-fit:cover; display:block;}

.sec-c-accordion.partners .acc-head:hover { background: transparent; }
.sec-c-accordion.partners .acc-item.is-open .acc-body { background:transparent; }

/* D – nossas casas (desktop: grid; mobile cards) */
.sec-d-casas {border-top:1px solid #111D13; border-bottom:1px solid #111D13; margin-top: 10vh; margin-bottom: 10vh;}
.casa-grid {display:grid; grid-template-columns:0.4fr 0.6fr; align-items: stretch;}
.c-left {padding-top: 60px;}
.c-left > * {padding: 0 60px;}
.c-left h3 {font-size:28px; margin-bottom:10px; text-transform:lowercase;}
.c-intro {padding-bottom: 60px;}
.c-list {list-style:none; margin:0; padding:0; border-top:1px solid #111D13;}
.c-item a {display:grid; grid-template-columns:1fr auto 24px; gap:10px; align-items:center; padding: 16px 30px 16px 60px; text-decoration:none; color:#111D13; border-top:1px solid #111D13;}
.c-item:first-child a {border-top:0;}
.c-item a:hover {background:#EDEDE9;}
.c-title {text-transform:lowercase; font-weight:700; white-space: nowrap; font-family: 'Helvetica Neue', sans-serif; font-size: 18px; padding-bottom: 1vh;}
.c-claims {font-size:15px; font-family: 'Helvetica Neue', sans-serif; font-weight: 400;}
.c-ico {width:20px; height:20px; justify-self:end;}
.c-right {position:relative; height: 100%;}
.c-preview {width:100%; height: 100%; border:1px solid #111D13; background:#E6E5D7; overflow:hidden;}
.c-preview img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover; object-position: 50% 50%; transition:opacity .28s ease}
.c-preview img.is-fading {opacity:0;}

.c-cards {gap:16px;}
.c-card {border:1px solid #111D13; margin-bottom:16px; overflow:hidden; border-radius: 4px; overflow: hidden;}
.c-card-media {height:50vh; overflow:hidden; border-bottom:1px solid #111D13;}
.c-card-media img {width:100%; height:100%; object-fit:cover;}
.c-card-media .hero-overlay-cima {display: block !important;}
.c-card-top {display:flex; align-items:center; justify-content:space-between; gap:10px; padding:12px; position: absolute; top: 0; width: 100%;}
.c-card-top * {color: #F8F7F5;}
.c-card-left {display:flex; align-items:center; gap:8px;}
.c-card-left img {width:16px; height:16px;}
.c-card-left h4 {text-transform:lowercase; font-size:16px; margin:0;}
.c-card-right {font-size:12px; font-family: 'Helvetica Neue', sans-serif; top: 2px;}
.c-card-actions {padding:12px; position: absolute; bottom: 0;}

.casas-interlude-img{position:relative;height:80vh;width:100%;min-width:100%;overflow:hidden}
.casas-interlude-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 0%;will-change:object-position,transform}

.relacionadas h3 {font-size: 42px;}
.relacionadas .grid-cards {display: grid; grid-template-columns: 1fr 1fr 1fr 1fr; gap: 30px;}
.relacionadas .grid-cards .c-card-left img {filter: invert(100);}
.relacionadas .grid-cards .c-card-media {border-bottom: none;}

/* E – imagens animadas (duo) */
.sec-e-duoimg {position: relative; width: 100%; overflow: hidden;}
.duo-wrapper {position: relative; width: 100%; height: 100vh; display: flex; align-items: center; justify-content: center;}
.duo-back {position: absolute; inset: 0; overflow: hidden; z-index: 1;}
.duo-back img {width: 100%; height: 100%; object-fit: cover; display: block;}
.duo-front {position: relative; z-index: 2; max-height: 480px; opacity: 1;}
.duo-front img {max-height: 47vh; width: auto; object-fit: contain; display: block; border: 1px solid #F8F7F5;}

/* F – depoimentos */
.sec-f-deps {border-top:1px solid #111D13; border-bottom:1px solid #111D13; overflow: hidden;}
.sec-f-deps > .d-flex {justify-items: stretch; align-items: initial;}
.dep-card {padding:60px; flex: 33.33%; border-right: 1px solid #111D13;}
.dep-card:last-child {border-right: none;}
.dep-card h5 {font-size:24px; margin-bottom:6px; font-family: 'Space Grotesk', sans-serif; font-weight: 500; text-transform: lowercase;}
.dep-role {font-size: 18px; margin-bottom:10px; font-family: 'Helvetica Neue', sans-serif;}
.dep-text {line-height:1.4;}

/* G – parceiros (slick-ready) */
.sec-g-parceiros {border-top:1px solid #111D13; border-bottom:1px solid #111D13; margin-top: -1px; margin-bottom: -1px;}
.parc-inner {display:grid; grid-template-columns:70px 1fr; align-items:stretch;}
.parc-side {display:flex; align-items:center; justify-content:center; writing-mode:vertical-rl; transform:rotate(180deg); text-decoration:none; color:#111D13; font-family: 'Space Grotesk', sans-serif; font-size: 24px; font-weight:500; text-transform:lowercase; height: 100%; padding: 30px 0; border-left: 1px solid #000;}
.parc-side:hover {background-color: #E6E5D7;}
.parc-slider {overflow:hidden;}
.parc-slide {display:flex !important; align-items:center; justify-content:center; padding:10px 30px; background-color: #F8F7F5;}
.parc-slide img {max-height:90px; width:auto; filter:grayscale(100%); opacity:1;  transition:filter .2s ease, opacity .2s ease; mix-blend-mode: multiply !important; transform: translate3d(0,0,0);}
.sec-g-parceiros  .slick-list, .sec-g-parceiros  .slick-track {height: 100%;}
#parc-slider .parc-slide { pointer-events: none; }
#parc-slider img { pointer-events: none; user-select: none; -webkit-user-drag: none; }
#parc-slider { cursor: pointer; }

/* H – destaques (reusa visual da seção A) */
.sec-hl-destaques .cta--hl {background:#97BEC2; border:1px solid #111D13; border-radius:6px;}
.sec-hl-destaques h3 {font-size:28px; margin-bottom:16px;}
.reserve-grid--hl {grid-template-columns:1fr 1fr 1fr 1fr;}
.res-link {display:grid; grid-template-columns:1fr auto; align-items:center; gap:0; background:#F8F7F5; border:1px solid #111D13; border-radius:6px; padding:0; overflow:hidden; position:relative; text-decoration:none; color:#111D13; height:100%;}

/* I – galerias de casamento - sticky */
.c-conteudo {flex: 35%; padding-right: 60px;}
.c-conteudo h3 {font-size: 56px;}
.c-conteudo span {font-family: 'Helvetica Neue', sans-serif; font-weight: 700;}
.c-galerias {flex: 60%;}
html body .modula.modula-gallery-initialized .modula-item:hover img, html body .modula.modula-gallery-initialized .modula-items .modula-item.tg-loaded:hover img.pic, html body .modula.modula-gallery-initialized .modula-items .modula-item.tg-loaded:hover picture.pic {opacity: 1!important;}

/* J – parallax object-position */
.sec-parallax90 {position: relative; height: 90vh; overflow: hidden;}
.plx-wrap {position: relative; inset: 0; width: 100%; height: 100%;}
.plx-figure {position: absolute; inset: 0; overflow: hidden;}
.plx-img {position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 0%; will-change: object-position;}
@media (max-width:768px){.sec-parallax90 {height: 80vh;}}

/* L – MARQUEE */
.marquee {position: relative; width: 100%; overflow: hidden; border-top: 1px solid #111D13; border-bottom: 1px solid #111D13;}
.marquee-track {display: flex; width: max-content; animation: mira-marquee var(--speed, 120s) linear infinite;}
.marquee p {flex: 0 0 auto; margin: 0; padding: 24px 0; white-space: nowrap; font-family: 'Space Grotesk', sans-serif; font-weight: 500; font-size: 32px; color: #111D13; text-transform: lowercase; letter-spacing: 1px;}
@keyframes mira-marquee {0% {transform: translateX(0);} 100% {transform: translateX(-50%);}}

/* M - FEATURES */
.mmt {margin-top: -1px;}
.mmb {margin-bottom: -1px;}
.features {border-top:1px solid #111D13; border-bottom:1px solid #111D13; overflow: hidden;}
.features > .d-flex {justify-items: stretch; align-items: initial;}
.features .f-icon img {margin-right: 20px;}
.features .f-icon h5 {max-width: 150px;}
.features h4 {font-family: 'Helvetica Neue', sans-serif; font-weight: 700;}
.features.quatro .dep-card {padding: 40px;}
.features.cinco .dep-card {padding: 30px;}

/* N - ORÇAMENTO */
.orcamento {border-top: 1px solid #111D13; border-bottom: 1px solid #111D13;}
.orcamento > div.d-flex {align-items:stretch;}
.orcamento > div > div {padding: 120px 60px; flex:1 1 50%;}
.orcamento h3 {font-size: 56px; }
.orcamento .d-flex > figure {flex:1 1 50%; margin:0; border-left:1px solid #111D13; position:relative;}
.orcamento .d-flex > figure img {position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 45%; will-change: object-position;}

/* O – base */ 
.sec-o-sgal{padding:80px 0;}
.sg-grid{display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center;}
.sg-left{min-width:0; padding-right: 60px;}
.sg-copy{font-size:2.1vw; line-height:1.25;}
.sg-right{min-width:0; position:relative; margin-right: -60px;}

.sec-o-sgal.equipe {border-bottom: 1px solid #111D13;}
.sec-o-sgal.equipe .sg-copy {font-size: 16px;}
.sec-o-sgal.equipe h3 {font-size: 48px;}
.sec-o-sgal.equipe h4 {font-family: 'Helvetica Neue', sans-serif; font-weight: 700;}

.sg-slider{position:relative; height:400px; width:100%;}
.sg-slide{height:100%; padding:0 12px;}
.sg-slide img{display:block; width:100%; height:100%; object-fit:cover; object-position: 50% 50%;}

.sg-slider .slick-list{height:100%;}
.sg-slider .slick-track{height:100%; display:flex; align-items:stretch;}

.sec-o-casas .sg-copy {font-size:24px;}

/* P – galeria full */ 
.galeriafull img {width: 100%;}
.fancybox__content {max-width: 80vw !important; max-height: 90vh;}

.experiencias-a ul {gap: 60px; align-items: flex-start;}
.experiencias-a ul li {flex: 1 1 50%;}
.experiencias-a ul li h2 {font-size: 48px;}
.experiencias-a ul li h4 {font-family: 'Helvetica Neue', sans-serif; font-weight: 700;}
.experiencias-a ul li p {max-width: 480px;}

/* Q – enoteca (grid 50/50, direita acompanha altura) */
.sec-q-enoteca {border-top:1px solid #111D13; border-bottom:1px solid #111D13; background:#F8F7F5;}
.sec-q-enoteca h4 {font-family: 'Helvetica Neue', sans-serif; font-weight: 700;}
.eno-grid {display:grid; grid-template-columns:3fr 2fr; align-items:stretch; gap:0;}
.eno-left {padding-right:60px;}
.eno-right {margin:0; position:relative; overflow:hidden;}
.eno-right img {position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 50%;}
.eno-title {font-size:56px; line-height:1; margin:0 0 10px 0; text-transform:lowercase;}
.eno-intro {font-size:18px; line-height:1.6; margin:0 0 28px 0;}
.eno-sub {font-size:28px; margin:8px 0 6px 0; text-transform:lowercase;}
.eno-note {font-size:14px; margin-bottom:24px; font-family:'Helvetica Neue',arial,sans-serif;}
.eno-type {padding:22px 0; border-top:1px solid #111D13;}
.eno-type:last-child {padding-bottom: 0;}
.eno-type:first-of-type {border-top:1px solid #111D13;}
.eno-type-head {display:flex; align-items:center; gap:10px; margin-bottom:10px;}
.eno-type-ico {width:18px; height:18px; display:block;}
.eno-type-title {font-size:24px; margin:0; text-transform:lowercase;}
.eno-type-desc {font-size:16px; margin:6px 0 12px 28px;}
.eno-list {list-style:none; margin:0; border-top:1px solid transparent;}
.eno-item {display:grid; grid-template-columns:1fr auto; align-items:center; gap:12px; padding:8px 0;}
.eno-item * {font-family:'Helvetica Neue',arial,sans-serif; font-size: 15px;}
.eno-price {font-weight:700; white-space:nowrap;}

.f-exp p strong {padding: 12px 0 4px; display: block;}
.testiculo {padding: 4px 0; font-size: 14px;}

.parceiros-form .d-flex {align-items: flex-start;}
.parceiros-form .d-flex > div {padding-right: 60px; flex:1 1 50%;}
.parceiros-form  .d-flex > form {flex:1 1 50%;}
.parceiros-form  h3 {font-size: 56px;}
.parceiros-form  h4 {font-family: 'Helvetica Neue', sans-serif; font-weight: 700;}
.parceiros-form  p {max-width: 480px;}

.casa-features div.ph {border-bottom: 1px solid #111D13;}
.casa-features h3 {padding: 12px 0; font-size: 42px;}
.casa-features-list {display: flex; flex-wrap: wrap;}
.casa-features-list li {flex: 33.33%; padding: 12px 60px; border-right: 1px solid #111D13; border-bottom: 1px solid #111D13;}
.casa-features-list li:nth-child(3n) {border-right: none;}
.casa-features-list li p {font-family: 'Helvetica Neue', sans-serif; font-weight: 400; text-transform: lowercase;}

.templates {margin-top: 130px;}
.templates * {font-size: 18px}
.templates h1 {font-size: clamp(28px, 5.6vw, 80px);}
.templates h2 {font-family: 'Space Grotesk', sans-serif; font-weight:500; font-size: 28px;}
.templates h3 {font-family: 'Space Grotesk', sans-serif; font-weight:500; font-size: 24px;}
.templates h4 {font-family: 'Helvetica Neue', sans-serif; font-size: 20px;}
.templates p+p {margin-top: 16px;}
.templates h1+* {margin-top: 16px;}
.templates h2+* {margin-top: 16px;}
.templates h3+* {margin-top: 16px;}
.templates h4+* {margin-top: 12px;}
.templates *+h1 {margin-top: 42px;}
.templates *+h2 {margin-top: 36px;}
.templates *+h3 {margin-top: 28px;}
.templates *+h4 {margin-top: 24px;}
.templates li {padding: 8px 0;}
.templates li strong {font-family: 'Helvetica Neue', sans-serif; font-weight: 700;}
.templates * a {display: initial; text-decoration: underline;}

/******05) FOOTER ******/
footer {border-top: 1px solid #111D13;}

.footer-content .mapasite, .copyright p:nth-child(1) {flex: 60%; padding-right: 30px;}
.footer-content .news, .copyright p:nth-child(2) {flex: 40%;}
.footer-content .mapasite > div:nth-child(1) {flex: 40%;}
.footer-content .mapasite > div:nth-child(2) {flex: 60%;}

.mapa-site-list {list-style:none; margin:0; padding:0;}
.mapa-site-list li {margin:8px 0;}
.mapa-site-list li a , h4.subt {text-transform: lowercase; font-family: 'Space Grotesk', sans-serif; font-weight:500; font-size: 17px;}
.mapa-site-list li a:hover {transform:translateX(3px);}
.mapa-site-casas {list-style:none; margin:12px 0 0; padding:0;}
.mapa-site-casas li {margin:8px 0; display:flex; align-items:center;}
.mapa-site-casas li a span {font-family: 'Helvetica Neue', sans-serif; font-weight: 400; text-transform: lowercase; top: 2px; font-size: 15px;}
.mapa-site-casas li a:hover span {transform:translateX(2px); transition: all .3s ease;}
.mapa-site-casas .ico {width:16px; height:16px; margin-right:6px; display:inline-block;}
.mapa-site a {text-decoration:none;}
.mapa-site a:hover {text-decoration:underline; text-underline-offset:2px;}

.footer-contato p {font-family: 'Helvetica Neue', sans-serif; font-weight: 400;}
.footer-contato .social-icons li {margin-right: 10px;}
.footer-contato .social-icons li a:hover {transform: translateY(-2px);}
.pags img {max-height: 20px; mix-blend-mode: multiply; margin-right: 24px; transform: translate3d(0,0,0);}

.news form {max-width: 420px;}
.news .politicas li {margin: 8px 0;}
.news .politicas > li > a {font-family: 'Space Grotesk', sans-serif; font-weight:500; font-size: 17px; pointer-events: none; text-transform: lowercase; padding-bottom: 2vh;}
.news .politicas .sub-menu a {font-family: 'Helvetica Neue', sans-serif; font-weight: 400; text-transform: uppercase; font-size: 13px; font-weight: 400;}

.copyright p {font-size: 13px; font-family: 'Helvetica Neue', sans-serif;}
.copyright p a::after {content: ''; border-radius: 100%; border: 1px solid #111D13; position: absolute; opacity: 0; width: 120%; height: 16px; left: -10%; top: -4px; transition: .2s all ease;}
.copyright p a:hover::after {opacity: 1;}

/******06) PÁGINAS ******/

/******99) RESPONSIVOS ******/

@media screen and (min-width: 1921px) {
}

@media screen and (min-width: 1481px) {
.no-desk0 {display: none;}
.sec-a-reserve .container-b {width: 100%; padding: 0 60px;}
}

@media screen and (min-width: 1081px) {
.no-desk1 {display: none;}
}

@media screen and (min-width: 769px) {
.no-desk2 {display: none;}
}

@media screen and (min-width: 481px) {
.no-desk3 {display: none;}
}

@media screen and (max-width: 1080px) {
.no-mob1 {display: none !important;}
.padtop3 {padding-top: 3vh;}
.padbot3 {padding-bottom: 3vh;}
.padtop4 {padding-top: 4vh;}
.padbot4 {padding-bottom: 4vh;}
.padtop5 {padding-top: 5vh;}
.padbot5 {padding-bottom: 5vh;}
.padtop6 {padding-top: 6vh;}
.padbot6 {padding-bottom: 6vh;}
.padtop7 {padding-top: 7vh;}
.padbot7 {padding-bottom: 7vh;}
.padtop8 {padding-top: 8vh;}
.padbot8 {padding-bottom: 8vh;}
.padtop9 {padding-top: 10vh;}
.padbot9 {padding-bottom: 10vh;}
.padtop10 {padding-top: 12vh;}
.padbot10 {padding-bottom: 12vh;}
p {font-size: 14px;}
.reserve-grid {grid-template-columns:1fr; gap:14px;} .sec-a-reserve h3 {font-size:32px;}
.features.quatro .dep-card {padding:24px; flex: initial; width: 25%;}
.features.cinco .dep-card {padding:12px; flex: initial; width: 20%;}
.res-submit {padding: 14px;}
.casa-features-list li {padding: 12px 24px;}
.relacionadas .grid-cards {grid-template-columns: 1fr 1fr;}
}

@media screen and (max-width: 768px) {
.no-mob2 {display: none !important;}
.container-b {padding-left: 12px; padding-right: 12px;}
.container-d {width: calc(100vw - 48px);}
.hero-content {left: 0; bottom: 90px;}
.hero-content h1 {font-size: 18px;}
.hero-home .hero-content h2 {font-size: 60px;}
.hero-pages .hero-content h2 {font-size: 48px;}
.hero-house-ico {top: 5px; scale: .8;}
.hero-pages .hero-content h1.padbot4 {padding-bottom: 0;}
.chapeu {position: absolute; left: 12px; top: 24px; color: #F8F7F5; font-size: 14px;}
.chapeu img {height: 20px;}
.sec-b-hero .container-b > div {flex: 0 0 100%;}
.sec-b-hero .container-b > div {padding-right: initial;}
.copy-col h2 {font-size: 36px;}
.hero-overlay-cima {display: none;}

.mira-header {top:inherit; bottom: 12px; left:var(--gutter-mobile); right:var(--gutter-mobile); height:48px;}
.mira-burger {width: 48px; margin-left: -16px;}
.mira-burger-bar:nth-child(1) {top:15px;}
.mira-burger-bar:nth-child(2) {top:22px;}
.mira-burger-bar:nth-child(3) {top:29px;}
.mira-header.is-open .mira-burger-bar:nth-child(1) {transform:translate(-50%,7px) rotate(45deg);}
.mira-header.is-open .mira-burger-bar:nth-child(3) {transform:translate(-50%,-7px) rotate(-45deg);}
.mira-logo-img {height:16px;}
.mira-nav-scroller {display: flex; flex-direction: column-reverse;}
.mira-btn-reserve {padding-left:8px; padding-right:8px; font-size: 12px; margin-right: -38px;}
.mira-nav {top:12px; bottom:48px; left:var(--gutter-mobile); right:var(--gutter-mobile); height: calc(100dvh - 72px); transform:translateY(-12px);}
.mira-nav-top-grid {grid-template-columns:1fr;}
.mira-preview {display:none;}
.mira-nav-icons {display:flex; justify-content: space-between; position: absolute; top: 0; width: 100%; border-bottom: 1px solid #111D13;}
.mira-social:nth-child(2) {border-right: #111D13 1px solid;}
.mira-nav-icons a {padding: 12px 0; border: none; border-right: 1px solid #111D13; width: calc(25% - 1px);}
.mira-nav-icons a:last-child {border-right: none;}
.mira-nav-bottom-grid {grid-template-columns:1fr; gap:12px;}
.mira-weather {display:none;}
.mira-header.is-open {border-radius: 0 0 4px 4px;}
.mira-nav.is-open {margin-top: 1px; border-radius: 4px 4px 0 0;}
.mira-nav-top-grid {gap: inherit;}
.mira-nav-main {gap: 1.2vh;}

.reserve-form {grid-template-columns:1fr; gap:8px;}
.reserve-grid--hl {grid-template-columns:1fr; gap:8px;}
.rf-field {grid-template-columns:1fr 32px;}
.sec-b-hero .container-b {grid-template-columns:1fr; gap:24px;}
.imgs-col {min-height:300px;}
.si-2 {right:40px; top:50px;}
.si-3 {right:0; top:120px;}
.casa-grid {display:none;}
.sec-d-casas {border: none;}
.c-cards {display:grid;}
.c-cards h3 {font-size: 28px;}
.c-card-left img {filter: invert(100);}
.c-card-media {border-bottom: none;}
.deps-row {display:flex; overflow-x:auto; gap:16px; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; padding-bottom:10px;}
.dep-card {flex:0 0 80%; scroll-snap-align:start;}
.deps-hint {display:flex; border-top: 1px solid #111D13; border-bottom: 1px solid #111D13; padding-top: 1vh; padding-bottom: 1vh;}
.deps-hint span {font-family: 'Space Grotesk', sans-serif; font-size: 16px; font-weight: 500; text-transform: lowercase;}
.deps-hint img {animation: move 1.6s infinite;}
.parc-inner {grid-template-columns:1fr;}
.parc-side {display:none;}

.duo-wrapper {height: 80vh;} .duo-front {max-height: 70%;}

.acc-head {padding:18px 16px;}
.acc-head h3 {font-size:24px;}
.acc-body-inner {grid-template-columns:1fr; gap:12px; padding-left:12px; padding-right:12px;}
.acc-copy {padding:0;}
.acc-copy p {font-size: 17px; padding-top: 3vh;}
.acc-body-inner.container-b {width: 100%;}
.acc-item.is-open .acc-ico::before, .acc-item.is-open .acc-ico::after {background:#111D13;}
.acc-item.is-open .acc-media {opacity:1; visibility:visible;}

.sec-f-deps > .d-flex {overflow-x: scroll;}
.features > .d-flex {overflow-x: scroll;}
.dep-card {padding:24px; flex: initial; width: 33.3%; min-width: 260px;}
.dep-card h5 {font-size:20px;}
.dep-role {font-size: 16px; margin-bottom:6px;}
.dep-text {font-size: 14px;}

.casamentos > .d-flex {flex-direction: column;}
.c-conteudo h3 {font-size: 36px;}
.c-conteudo span {font-size: 14px;}
.c-conteudo {flex: 100%; padding-right: 0; position: relative !important; top: initial; padding-bottom: 4vh;}
.c-galerias {flex: 100%;}

.sec-parallax90 {height: 80vh;}

.orcamento > div.d-flex {align-items:initial; flex-direction: column-reverse;}
.orcamento > div > div {padding: 24px 24px; flex:1 1 100%;}
.orcamento h3 {font-size: 28px; }
.orcamento .d-flex > figure {flex:1 1 100%; border-left: none; padding-top: 60vh;}

.sg-left {padding-right: 0;}
.sec-o-sgal h3 {font-size: 28px;}
.sg-copy{font-size:16px;} 
.sec-o-casas .sg-copy {font-size:16px;}
.sec-o-casas .sg-grid, .sec-o-hist .sg-grid {grid-template-rows:masonry; gap:16px; transform:scaleY(-1); gap: 24px;}
.sec-o-casas .sg-grid > * , .sec-o-hist .sg-grid > * {transform:scaleY(-1);}
.sg-grid{grid-template-columns:1fr; gap:24px;} 
.sg-left {margin-left: -12px; margin-right: -12px;}
.sg-right {margin-left: -24px; margin-right: -24px; overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none}
.sg-slider{height:320px; display:flex;gap:12px;width:max-content; margin: 0 12px;} 
.sg-slide{padding: 0; max-width: 220px; }

.experiencias-a ul {flex-direction: column; gap: 24px;}
.experiencias-a ul li {flex: 1 1 100%;}
.experiencias-a ul li h2 {font-size: 28px;}

.eno-grid{grid-template-columns:1fr; gap:16px;}
.eno-left{padding-right:0;}
.eno-item * {font-size: 13px;}
.eno-right{height:42vh;}

.parceiros-form .d-flex {flex-direction: column; gap: 4vh;}
.parceiros-form .d-flex > div {padding-right: 0; flex:1 1 100%;}
.parceiros-form  .d-flex > form {flex:1 1 100%;}
.parceiros-form  h3 {font-size: 28px;}

.casa-features-list li {flex: 50%;}
.casa-features-list li:nth-child(3n) {border-right: 1px solid #111D13;}
.casa-features-list li:nth-child(2n) {border-right: none;}
.casa-features h3 {font-size: 28px;}

.relacionadas .grid-cards {display: flex; overflow-x: scroll; flex-wrap: nowrap; gap: 24px; margin-left: -24px; margin-right: -24px;}
.relacionadas .grid-cards .c-card {min-width: 320px;}
.relacionadas .grid-cards .c-card:first-child {margin-left: 24px;}
.relacionadas .grid-cards .c-card:last-child {margin-right: 24px;}

.templates {margin-top: 0;}
.templates * {font-size: 15px}


footer {margin-bottom: 48px;}
.footer-content {flex-direction: column;}
.copyright {flex-direction: column;}
.copyright p {font-size: 11px; width: 100%; padding-top: 8px;}
}

@media screen and (max-width: 480px) {
.no-mob3 {display: none !important;}
.container-a {width: calc(100vw - 24px);}
.container-b {width: calc(100vw - 24px);}
.container-d {width: calc(100vw - 24px);}
.mira-burger {margin-left: 0;}

.sec-d-casas.hosp {margin-bottom: 0; margin-top: 0;}
.c-intro {padding-bottom: 24px;}
.c-cards.container-b {padding-left: 0; padding-right: 0;}
.c-cards h3 {font-size: 24px;}

.btn-label {font-size: 13px;}
.btn-ico { width: 14px; height: 14px;}
.btn-box {height: calc(13px + 11px + 15px);}

.hero-content h1 {font-size: 16px;}
.hero-home .hero-content h2 {font-size: 48px;}
.hero-pages .hero-content h2 {font-size: 42px;}
.copy-col h2 {font-size: 28px;}
.acc-copy p {font-size: 15px;}
.parc-slide img {max-height: 74px;}

.orcamento > div > div {padding: 24px 12px;}

.dep-card {padding: 12px;}
.dep-role {font-size: 14px; margin-top: 6px; margin-bottom: 10px;}

.sec-o-sgal h3 {font-size: 24px;}
.sg-slider{height:280px;}

.res-col strong {font-size: 15px;}
.res-col small {font-size: 13px;}

.experiencias-a ul li h2 {font-size: 24px;}
.features h4 {font-size: 14px;}

.casa-features-list li {flex: 100%; padding: 12px; border-right: none;}
.casa-features-list li:nth-child(3n) {border-right: none;}

.mira-btn-reserve {margin-right: -20px;}
.mira-nav-top {padding: 24px 12px;}
.mira-nav-bottom {padding: 0 12px 24px;}

.mira-contact-line {font-size: 13px;}

.relacionadas .grid-cards {gap: 12px; margin-left: -12px; margin-right: -12px;}
.relacionadas .grid-cards .c-card:first-child {margin-left: 12px;}
.relacionadas .grid-cards .c-card:last-child {margin-right: 12px;}

.fancybox__content {max-width: 92vw !important;}
.casas-interlude-img img {min-height: 90vh;}

footer figure a img {height: 28px;}
}

.vh-compact .mira-item-lg {font-size: 2.8vh;}
.vh-compact .mira-nav-bottom {padding: 0 12px 16px;}
.vh-compact .mira-nav-top {padding: 16px 12px;}
.vh-compact .mira-contact-line {font-size: 12px;}
.vh-compact .mira-nav-main {gap: .6vh;}

.vh-ultra .mira-nav-divider,
.vh-ultra .mira-nav-bottom {display: none;}

