:root {
    --gray600: #000000;
    --gray500: #171D26;
    --gray400: #1F2733;
    --gray300: #707070;
    --gray200: #E9E7E7;
    --gray100: #F5F5F5;
    --neutral600: #6D7A8C;
    --neutral500: #8A95A6;
    --neutral400: #AAB3C0;
    --neutral300: #C7CFD9;
    --neutral200: #F5F5F5;
    --neutral100: #FFFFFF;
    --primary600: #bf9c88;
    --primary500: #D7BFA5;
    --primary400: #bf7256;
    --primary300: #d5ae98;
}
html,
body {
    overflow-x: hidden;
    width: 100%;
}

/* Fonts */
@font-face {
    font-family: 'Messina Sans Book';
    src: url('../fonts/MessinaSans-Book.eot');
    src: local('Messina Sans Book'), local('MessinaSans-Book'),
        url('../fonts/MessinaSans-Book.eot?#iefix') format('embedded-opentype'),
        url('../fonts/MessinaSans-Book.woff2') format('woff2'),
        url('../fonts/MessinaSans-Book.woff') format('woff'),
        url('../fonts/MessinaSans-Book.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Messina Sans';
    src: url('../fonts/MessinaSans-BlackItalic.eot');
    src: local('Messina Sans Black Italic'), local('MessinaSans-BlackItalic'),
        url('../fonts/MessinaSans-BlackItalic.eot?#iefix') format('embedded-opentype'),
        url('../fonts/MessinaSans-BlackItalic.woff2') format('woff2'),
        url('../fonts/MessinaSans-BlackItalic.woff') format('woff'),
        url('../fonts/MessinaSans-BlackItalic.ttf') format('truetype');
    font-weight: 900;
    font-style: italic;
}

@font-face {
    font-family: 'Messina Sans';
    src: url('../fonts/MessinaSans-SemiBold.eot');
    src: local('Messina Sans SemiBold'), local('MessinaSans-SemiBold'),
        url('../fonts/MessinaSans-SemiBold.eot?#iefix') format('embedded-opentype'),
        url('../fonts/MessinaSans-SemiBold.woff2') format('woff2'),
        url('../fonts/MessinaSans-SemiBold.woff') format('woff'),
        url('../fonts/MessinaSans-SemiBold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
}

@font-face {
    font-family: 'Messina Sans';
    src: url('../fonts/MessinaSans-Black.eot');
    src: local('Messina Sans Black'), local('MessinaSans-Black'),
        url('../fonts/MessinaSans-Black.eot?#iefix') format('embedded-opentype'),
        url('../fonts/MessinaSans-Black.woff2') format('woff2'),
        url('../fonts/MessinaSans-Black.woff') format('woff'),
        url('../fonts/MessinaSans-Black.ttf') format('truetype');
    font-weight: 900;
    font-style: normal;
}

@font-face {
    font-family: 'Messina Sans';
    src: url('../fonts/MessinaSans-Bold.eot');
    src: local('Messina Sans Bold'), local('MessinaSans-Bold'),
        url('../fonts/MessinaSans-Bold.eot?#iefix') format('embedded-opentype'),
        url('../fonts/MessinaSans-Bold.woff2') format('woff2'),
        url('../fonts/MessinaSans-Bold.woff') format('woff'),
        url('../fonts/MessinaSans-Bold.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'Messina Sans';
    src: url('../fonts/MessinaSans-SemiBoldItalic.eot');
    src: local('Messina Sans SemiBold Italic'), local('MessinaSans-SemiBoldItalic'),
        url('../fonts/MessinaSans-SemiBoldItalic.eot?#iefix') format('embedded-opentype'),
        url('../fonts/MessinaSans-SemiBoldItalic.woff2') format('woff2'),
        url('../fonts/MessinaSans-SemiBoldItalic.woff') format('woff'),
        url('../fonts/MessinaSans-SemiBoldItalic.ttf') format('truetype');
    font-weight: 600;
    font-style: italic;
}

@font-face {
    font-family: 'Messina Sans';
    src: url('../fonts/MessinaSans-Regular.eot');
    src: local('Messina Sans Regular'), local('MessinaSans-Regular'),
        url('../fonts/MessinaSans-Regular.eot?#iefix') format('embedded-opentype'),
        url('../fonts/MessinaSans-Regular.woff2') format('woff2'),
        url('../fonts/MessinaSans-Regular.woff') format('woff'),
        url('../fonts/MessinaSans-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Messina Sans';
    src: url('../fonts/MessinaSans-LightItalic.eot');
    src: local('Messina Sans Light Italic'), local('MessinaSans-LightItalic'),
        url('../fonts/MessinaSans-LightItalic.eot?#iefix') format('embedded-opentype'),
        url('../fonts/MessinaSans-LightItalic.woff2') format('woff2'),
        url('../fonts/MessinaSans-LightItalic.woff') format('woff'),
        url('../fonts/MessinaSans-LightItalic.ttf') format('truetype');
    font-weight: 300;
    font-style: italic;
}

@font-face {
    font-family: 'Messina Sans';
    src: url('../fonts/MessinaSans-BoldItalic.eot');
    src: local('Messina Sans Bold Italic'), local('MessinaSans-BoldItalic'),
        url('../fonts/MessinaSans-BoldItalic.eot?#iefix') format('embedded-opentype'),
        url('../fonts/MessinaSans-BoldItalic.woff2') format('woff2'),
        url('../fonts/MessinaSans-BoldItalic.woff') format('woff'),
        url('../fonts/MessinaSans-BoldItalic.ttf') format('truetype');
    font-weight: bold;
    font-style: italic;
}

@font-face {
    font-family: 'Messina Sans Book';
    src: url('../fonts/MessinaSans-BookItalic.eot');
    src: local('Messina Sans Book Italic'), local('MessinaSans-BookItalic'),
        url('../fonts/MessinaSans-BookItalic.eot?#iefix') format('embedded-opentype'),
        url('../fonts/MessinaSans-BookItalic.woff2') format('woff2'),
        url('../fonts/MessinaSans-BookItalic.woff') format('woff'),
        url('../fonts/MessinaSans-BookItalic.ttf') format('truetype');
    font-weight: normal;
    font-style: italic;
}

@font-face {
    font-family: 'Messina Sans';
    src: url('../fonts/MessinaSans-RegularItalic.eot');
    src: local('Messina Sans Regular Italic'), local('MessinaSans-RegularItalic'),
        url('../fonts/MessinaSans-RegularItalic.eot?#iefix') format('embedded-opentype'),
        url('../fonts/MessinaSans-RegularItalic.woff2') format('woff2'),
        url('../fonts/MessinaSans-RegularItalic.woff') format('woff'),
        url('../fonts/MessinaSans-RegularItalic.ttf') format('truetype');
    font-weight: normal;
    font-style: italic;
}

@font-face {
    font-family: 'Messina Sans';
    src: url('../fonts/MessinaSans-Light.eot');
    src: local('Messina Sans Light'), local('MessinaSans-Light'),
        url('../fonts/MessinaSans-Light.eot?#iefix') format('embedded-opentype'),
        url('../fonts/MessinaSans-Light.woff2') format('woff2'),
        url('../fonts/MessinaSans-Light.woff') format('woff'),
        url('../fonts/') format('truetype');
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: 'Ivy Mode';
    src: url('../fonts/IvyMode-Regular.eot');
    src: local('Ivy Mode Regular'), local('IvyMode-Regular'),
        url('../fonts/IvyMode-Regular.eot?#iefix') format('embedded-opentype'),
        url('../fonts/IvyMode-Regular.woff2') format('woff2'),
        url('../fonts/IvyMode-Regular.woff') format('woff'),
        url('../fonts/IvyMode-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Ivy Mode';
    src: url('../fonts/IvyMode-LightItalic.eot');
    src: local('Ivy Mode Light Italic'), local('IvyMode-LightItalic'),
        url('../fonts/IvyMode-LightItalic.eot?#iefix') format('embedded-opentype'),
        url('../fonts/IvyMode-LightItalic.woff2') format('woff2'),
        url('../fonts/IvyMode-LightItalic.woff') format('woff'),
        url('../fonts/IvyMode-LightItalic.ttf') format('truetype');
    font-weight: 300;
    font-style: italic;
}

@font-face {
    font-family: 'Ivy Mode';
    src: url('../fonts/IvyMode-SemiBoldItalic.eot');
    src: local('Ivy Mode SemiBold Italic'), local('IvyMode-SemiBoldItalic'),
        url('../fonts/IvyMode-SemiBoldItalic.eot?#iefix') format('embedded-opentype'),
        url('../fonts/IvyMode-SemiBoldItalic.woff2') format('woff2'),
        url('../fonts/IvyMode-SemiBoldItalic.woff') format('woff'),
        url('../fonts/IvyMode-SemiBoldItalic.ttf') format('truetype');
    font-weight: 600;
    font-style: italic;
}

@font-face {
    font-family: 'Ivy Mode';
    src: url('../fonts/IvyMode-ThinItalic.eot');
    src: local('Ivy Mode Thin Italic'), local('IvyMode-ThinItalic'),
        url('../fonts/IvyMode-ThinItalic.eot?#iefix') format('embedded-opentype'),
        url('../fonts/IvyMode-ThinItalic.woff2') format('woff2'),
        url('../fonts/IvyMode-ThinItalic.woff') format('woff'),
        url('../fonts/IvyMode-ThinItalic.ttf') format('truetype');
    font-weight: 100;
    font-style: italic;
}

@font-face {
    font-family: 'Ivy Mode';
    src: url('../fonts/IvyMode-Italic.eot');
    src: local('Ivy Mode Italic'), local('IvyMode-Italic'),
        url('../fonts/IvyMode-Italic.eot?#iefix') format('embedded-opentype'),
        url('../fonts/IvyMode-Italic.woff2') format('woff2'),
        url('../fonts/IvyMode-Italic.woff') format('woff'),
        url('../fonts/IvyMode-Italic.ttf') format('truetype');
    font-weight: normal;
    font-style: italic;
}

@font-face {
    font-family: 'Ivy Mode';
    src: url('../fonts/IvyMode-BoldItalic.eot');
    src: local('Ivy Mode Bold Italic'), local('IvyMode-BoldItalic'),
        url('../fonts/IvyMode-BoldItalic.eot?#iefix') format('embedded-opentype'),
        url('../fonts/IvyMode-BoldItalic.woff2') format('woff2'),
        url('../fonts/IvyMode-BoldItalic.woff') format('woff'),
        url('../fonts/IvyMode-BoldItalic.ttf') format('truetype');
    font-weight: bold;
    font-style: italic;
}

@font-face {
    font-family: 'Ivy Mode';
    src: url('../fonts/IvyMode-Bold.eot');
    src: local('Ivy Mode Bold'), local('IvyMode-Bold'),
        url('../fonts/IvyMode-Bold.eot?#iefix') format('embedded-opentype'),
        url('../fonts/IvyMode-Bold.woff2') format('woff2'),
        url('../fonts/IvyMode-Bold.woff') format('woff'),
        url('../fonts/IvyMode-Bold.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'Ivy Mode';
    src: url('../fonts/IvyMode-Light.eot');
    src: local('Ivy Mode Light'), local('IvyMode-Light'),
        url('../fonts/IvyMode-Light.eot?#iefix') format('embedded-opentype'),
        url('../fonts/IvyMode-Light.woff2') format('woff2'),
        url('../fonts/IvyMode-Light.woff') format('woff'),
        url('../fonts/IvyMode-Light.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: 'Ivy Mode';
    src: url('../fonts/IvyMode-Thin.eot');
    src: local('Ivy Mode Thin'), local('IvyMode-Thin'),
        url('../fonts/IvyMode-Thin.eot?#iefix') format('embedded-opentype'),
        url('../fonts/IvyMode-Thin.woff2') format('woff2'),
        url('../fonts/IvyMode-Thin.woff') format('woff'),
        url('../fonts/IvyMode-Thin.ttf') format('truetype');
    font-weight: 100;
    font-style: normal;
}

@font-face {
    font-family: 'Ivy Mode';
    src: url('../fonts/IvyMode-SemiBold.eot');
    src: local('Ivy Mode SemiBold'), local('IvyMode-SemiBold'),
        url('../fonts/IvyMode-SemiBold.eot?#iefix') format('embedded-opentype'),
        url('../fonts/IvyMode-SemiBold.woff2') format('woff2'),
        url('../fonts/IvyMode-SemiBold.woff') format('woff'),
        url('../fonts/IvyMode-SemiBold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
}

@font-face {
    font-family: 'Roxborough CF';
    src: url('../fonts/Roxborough CF.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
  }

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: "Messina Sans", sans-serif;
    border: 0;
    -webkit-font-smoothing: antialiased
}

ul {
    list-style: none
}

a {
    display: block;
    text-decoration: none
}

p:last-of-type {
    margin-bottom: 0;
}

html {
    font-size: 62.5%;
    background-color: var(--neutral100)
}

@media(max-width: 365px) {
    html {
        font-size: 55%
    }
}

img {
    display: block;
    max-width: 100%
}

p:last-of-type {
    margin-bottom: 0;
}

button {
    cursor: pointer
}

.content {
    width: 100%;
    max-width: 116rem;
    margin: 0 auto;
    padding: 0 1.5rem
}

@media(max-width: 1300px) {
    .content {
        max-width: 118rem
    }
}

.btn {
    height: 5.6rem;
    padding: 2rem 3.2rem;
    border-radius: 2.8rem;
    display: inline-block;
    border: 1px solid var(--neutral100);
    position: relative;
    overflow: hidden;
}

.btn:before {
    content: "";
    background-color: var(--gray600);
    position: absolute;
    left: 0;
    top: 0;
    width: 0;
    height: 100%;
    transition: 0.4s width ease;
}

.btn:hover::before {
    width: 100%;
}

.btn span {
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1;
    color: var(--neutral100);
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    text-align: center;
    gap: 1rem;
    transition: all .4s ease;
    z-index: 2;

}

.btn img {
    position: relative;
    width: 1rem;
    left: 0;
    transition: 0.4s left ease;
    z-index: 2;
}

.btn:hover img {
    left: 1rem;
}
.btn.btn-sand {
    background-color: transparent;
    border-color: #d7bfa5;
}

.btn.btn-sand img {
    filter: invert(0);
}

.btn-sand:before {
    background-color: #c6aa8d;
}
.btn-sand span {
    color: #d7bfa5;
}
.btn-sand:hover span {
    color: #ffffff;
}

.btn-sand:hover img {
    filter: invert(1);
}

.btn.btn-transparent {
    background-color: transparent;
}
.btn.btn-transparent img {
    filter: invert(1);
}
.btn-transparent:before {
    background-color: var(--neutral100);
}
.btn-transparent:hover span {
    color: var(--gray600);
}
.btn-transparent:hover img {
    filter: invert(0);
}

.btn.btn-dark {
    background-color: transparent;
    border-color: var(--gray600);
}
.btn.btn-dark span {
    color: var(--gray600);
}
.btn.btn-dark img {
    filter: invert(0);
}
.btn-dark:before {
    background-color: var(--gray600);
}
.btn-dark:hover span {
    color: var(--neutral100);
}
.btn-dark:hover img {
    filter: invert(1);
}

.btn.btn-gray {
    background-color: var(--gray200);
    border-color: var(--gray200);
}
.btn.btn-gray span {
    color: var(--primary400);
}
.btn.btn-gray img {
    filter: invert(0);
}
.btn-gray:before {
    background-color: var(--gray600);
}

.btn.btn-black {
    background-color: var(--gray600);
    border-color: var(--gray600);
}
.btn.btn-black span {
    color: var(--neutral100);
}
.btn.btn-black img {
    filter: invert(1);
}
.btn-black:before {
    background-color: var(--primary400);
}
.btn-black:hover {
    border-color: var(--primary400);
}

@media(max-width: 560px) {
    .btn-primary {
        width: 100%
    }
}



h1 {
    font-family: 'Ivy Mode', sans-serif;
    font-size: 6.3rem;
    color: var(--neutral100);
    letter-spacing: 0.5px;
    line-height: 1.3em;
    font-weight: 300;
}

/* Helpers */
.page-padding {
    padding: 6.4rem 0;
}
/* Paginator */
.swiper-pagination {
    position: absolute;
    bottom: -23rem !important;
    left: 50%;
}
.swiper-pagination .swiper-pagination-bullet {
    border: 1.5px solid #d93814;
    opacity: 1 !important;
    height: 6px !important;
    width: 6px !important;
    margin: 0 7px !important;
    background-color: transparent;
    transition: 0.4s all ease-in;
}
.swiper-pagination .swiper-pagination-bullet:hover {
    background-color: #d93814;
}
.swiper-pagination .swiper-pagination-bullet-active {
    width: 2.5rem !important;
    background-color: #d93814;
    border-radius: 100px !important
}

/* Form */

form input,
form select,
form textarea {
    border-radius: 3.5px;
    border: 1px solid var(--gray600);
    opacity: 1;
    color: var(--gray600);
    font-size: 1.8rem;
    height: 6rem;
    width: 100%;
    padding: 0.8rem 1.5rem;
    background-color: transparent;
}

form textarea {
    height: 20rem;
    resize: none;
}

form label {
    width: 100%;
    margin-bottom: 1rem;
    display: block;
}

form legend {
    color: var(--gray600);
    font-size: 1.6rem;
    font-weight: 500;
    margin-bottom: 5px;
}

form .label-50 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

form .checkbox {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.5rem;
    margin: 2rem 0;
}
form .checkbox input {
    width: 1.5rem;
    height: 1.5rem;
}

form .checkbox span {
    font-size: 1.2rem;
    color: var(--gray600);
    line-height: 1.3em;
}

form .radio input {
    display: none;
}
form .radio input:checked + span::before {
    width: 100%;
}
form .radio span {
    border: 1px solid #7B7B7B;
    font-size: 2.4rem;
    font-weight: 700;
    border-radius: 4px;
    height: 6rem;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    cursor: pointer;
    transition: 0.4s ease;
}
form .radio span::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 0;
    background-color: #ebdfd0;
    transition: 0.4s ease;
    z-index: -1;
}

form .button,
form .prev-button,
form .next-button,
form button {
    display: block;
    background-color: var(--gray600);
    padding: 2rem;
    font-size: 1.6rem;
    font-weight: 600;
    color: var(--neutral100);
    width: 100%;
    border-radius: 3.5px;
    margin-top: 6rem;
    cursor: pointer;
    transition: 0.4s;
}
form .button:hover,
form .prev-button:hover,
form .next-button:hover,
form button:hover {
    transform: scale(1.1);
}

form button.brown {
    background-color: var(--primary500);
    color: var(--neutral100);
}


.autoplay {
    pointer-events: none;
}

/* WCF */
/* ======= FORM GERAL ======= */
.wpcf7 form,
.wpcf7-form {
    width: 100%;
}

.wpcf7-form p {
    margin: 0;
    padding: 0;
}

/* Remove espaçamentos forçados */
.wpcf7 br {
    display: none;
}

/* ======= INPUTS / SELECTS / TEXTAREAS ======= */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 select,
.wpcf7 textarea {
    border-radius: 3.5px;
    border: 1px solid var(--gray600);
    color: var(--gray600);
    font-size: 1.8rem;
    height: 6rem;
    width: 100%;
    padding: 0.8rem 1.5rem;
    background-color: transparent;
    opacity: 1;
    box-sizing: border-box;
}

.wpcf7 textarea {
    height: 20rem;
    resize: none;
}

/* Remove estilos padrões do CF7 */
.wpcf7-form-control.wpcf7-text,
.wpcf7-form-control.wpcf7-email,
.wpcf7-form-control.wpcf7-tel,
.wpcf7-form-control.wpcf7-textarea {
    background: transparent;
    border-radius: 3.5px;
    border: 1px solid var(--gray600);
}

/* ======= LABELS / LEGENDS ======= */
.wpcf7 label {
    width: 100%;
    margin-bottom: 1rem;
    display: block;
}

.wpcf7 legend {
    color: var(--gray600);
    font-size: 1.6rem;
    font-weight: 500;
    margin-bottom: 5px;
}

/* ======= GRID DUPLO ======= */
.wpcf7 .label-50 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

/* ======= CHECKBOX ======= */
.wpcf7 .checkbox {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.5rem;
    margin: 2rem 0;
}

.wpcf7 .checkbox input[type="checkbox"] {
    width: 1.5rem;
    height: 1.5rem;
    margin-top: 0.5rem;
}

.wpcf7 .checkbox span,
.wpcf7-list-item-label {
    font-size: 1.2rem;
    color: var(--gray600);
    line-height: 1.3em;
}

/* ======= BOTÃO ======= */
.wpcf7 input[type="submit"],
.wpcf7 button {
    display: block;
    background-color: var(--gray600);
    padding: 2rem;
    font-size: 1.6rem;
    font-weight: 600;
    color: var(--neutral100);
    width: 100%;
    border-radius: 3.5px;
    cursor: pointer;
    transition: transform 0.4s;
    border: none;
}

.wpcf7 input[type="submit"]:hover,
.wpcf7 button:hover {
    transform: scale(1.1);
}

.wpcf7 input[type="submit"].brown,
form button.brown {
    background-color: var(--primary500);
    color: var(--neutral100);
}

/* ======= INFO TEXT ======= */
.wpcf7 .info {
    display: block;
    margin-top: 2rem;
    font-size: 1.2rem;
    color: var(--gray600);
    line-height: 1.3em;
}

/* ======= HONEYPOT ======= */
.honeypot {
    position: absolute !important;
    left: -9999px !important;
    top: -9999px !important;
    height: 0 !important;
    width: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* ======= AJUSTES INTERNOS ======= */
.wpcf7-form-control-wrap {
    display: contents; /* mantém a estrutura limpa visualmente */
}

.wpcf7-list-item {
    display: contents;
}

.wpcf7-spinner {
    display: none !important; /* remove o spinner do CF7 */
}

.wpcf7-response-output {
    border: none;
    padding: 1rem 0;
    margin: 0;
    color: var(--gray600);
    font-size: 1.4rem;
}
