* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    list-style: none;
    scrollbar-width: thin;
    scrollbar-color: var(--color-accent) var(--color-light);
}


:root {
    --font-heading: 'Fraunces', serif;
    --font-body: 'Prompt', sans-serif;

    --color-dark: #212121;
    --color-base: #191017;
    --color-primary: #1B2A22;
    --color-secondary: #9B1222;
    --color-accent: #ED7255;
    --color-soft: #999999;
    --color-light: #FBE3DD;
    --color-white: #FFFFFF;
    --color-black: #000000;

    --menu-z-index: 10;
    --padd: 48px;
}

html,
body {
    width: 100%;
    height: 100%;
    overflow-x: hidden;
}

body {
    display: flex;
    flex-direction: column;
    font-size: 16px;
    font-family: var(--font-body);
    font-weight: 300;
    line-height: 1.2;
    background: var(--color-light);
    color: var(--color-base);
}

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

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--font-heading);
    font-style: italic;
    line-height: 1.2;
    hyphens: auto;
    text-wrap: balance;
}

h1 {
    font-size: clamp(32px, 29.3333px + 0.8333vw, 40px);
    font-weight: 900;
    text-align: center;
}

h2 {
    font-size: 48px;
    font-weight: 600;
}

h3 {
    font-size: 24px;
}

p {
    font-size: 16px;
    line-height: 150%;
    text-wrap: pretty;
}

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

a,
a:is(:hover, :active, :focus) {
    text-decoration: none;
}

.container {
    max-width: 100%;
    width: 100%;
    padding-inline: 5%;
}

.container:before,
.container:after {
    display: none !important;
}

.py {
    padding-block: var(--padd);
}

.pt {
    padding-top: var(--padd);
}

.pb {
    padding-bottom: var(--padd);
}

:is(.btn) {
    all: unset;
    display: inline-block;
    border-radius: 99px !important;
    padding: 12px 24px;
    font-size: 16px;
    font-weight: 300;
    text-align: center;
    color: inherit;
    cursor: pointer;
    user-select: none;
}

:is(.btn):is(:hover, :active, :focus) {
    color: inherit !important;
    background: unset !important;
    box-shadow: unset;
}

:is(.btn-primary),
:is(.btn-primary):is(:hover, :active, :focus) {
    color: var(--color-light) !important;
    background: var(--color-secondary) !important;
    box-shadow: unset;
}

:is(.btn-light),
:is(.btn-light):is(:hover, :active, :focus) {
    color: var(--color-base) !important;
    background: unset !important;
    box-shadow: unset;
}

:is(.btn-textured),
:is(.btn-textured):is(:hover, :active, :focus) {
    font-size: 14px;
    font-weight: 500;
    border-radius: 0 !important;
    text-transform: uppercase;
    color: var(--color-white) !important;
    background-image: url(../img/btn-texture.webp) !important;
    background-size: 100% 100% !important;
    background-repeat: no-repeat !important;
    filter: drop-shadow(0 0 8px hsl(from var(--color-base) h s l / .25));
    transition: .25s ease;
}

:is(.btn-textured):is(:hover, :active, :focus) {
    transform: scale(1.025);
}

.flickity-button {
    --size: 32px;
    width: var(--size);
    height: var(--size);
    border: 1px solid var(--color-white);
    background: transparent;
    color: var(--color-white);
}

.flickity-button:is(:hover, :active, :focus) {
    box-shadow: unset;
    color: var(--color-dark);
    background: var(--color-white);
}

/* .flickity-page-dots {
    bottom: 2em;
} */

.flickity-page-dot {
    margin: 0 8px;
    /* border-radius: 0; */
    background: hsl(from var(--color-base) h s l / .4);
}

.flickity-page-dot:is(:hover, :active, :focus) {
    box-shadow: unset;
}

.flickity-page-dot.is-selected {
    background: var(--color-base);
}

.flickity-viewport:not(:has(.flickity-slider > :nth-of-type(2)))~.flickity-button {
    display: none;
}

.flickity-viewport:not(:has(.flickity-slider > :nth-of-type(2)))~.flickity-page-dots {
    display: none;
}

:is(.modal) .close {
    font-size: 48px;
    font-weight: 300;
    line-height: 50%;
}

:is(#myModal, #modalEsqueci) .modal-footer {
    display: flex;
    flex-direction: column;
    gap: 1em;
}

:is(#myModal, #modalEsqueci) #loading {
    text-align: start;
}

:is(#myModal, #modalEsqueci) #loading br {
    display: none;
}

#modalEsqueciSucesso img {
    width: 64px;
    height: 64px;
    margin-bottom: 1em;
}

#modalDesconto h3 {
    margin-bottom: 16px;
}

#modalDesconto a,
#modalDescontoConfirma a {
    display: block;
    color: var(--color-base);
    cursor: pointer;
}

#modalDescontoConfirma .atencaoUso {
    margin-block: 16px;
}

:is(#btnCadastrar, #btnAltera)~span {
    display: block;
    margin-top: 1em;
    color: var(--color-base);
}