/* =========================================================
   PONCE PARK - CSS PRINCIPAL
========================================================= */

:root {
    --pp-orange: #f05a00;
    --pp-orange-dark: #d84f00;
    --pp-black: #111111;
    --pp-white: #ffffff;
    --pp-gray-100: #f7f7f7;
    --pp-gray-200: #ececec;
    --pp-gray-600: #666666;
    --pp-radius: 18px;
    --pp-container: 1240px;
    --pp-shadow: 0 14px 38px rgba(0, 0, 0, 0.12);
}

/* =========================================================
   BOX SIZING GLOBAL
========================================================= */

*,
*::before,
*::after {
    box-sizing: border-box;
}

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


/* =========================================================
   BASE
========================================================= */

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;

    color: var(--pp-black);
    background: var(--pp-white);

    font-family: 'Urbanist', sans-serif;

    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

body.admin-bar .site-header {
    top: 32px;
}

a {
    color: inherit;
    text-decoration: none;
}

img {
    max-width: 100%;
    height: auto;
}

button,
input,
select,
textarea {
    font-family: inherit;
}

.container {
    width: min(100% - 40px, var(--pp-container));
    max-width: var(--pp-container);

    margin-inline: auto;
}


/* =========================================================
   TOPBAR
========================================================= */

.topbar {
    height: 35px;
    background: var(--pp-orange);
    color: var(--pp-white);
}

.topbar-inner {
    height: 35px;

    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.topbar-social {
    display: flex;
    align-items: center;

    gap: 14px;
}

.topbar-social a {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    color: #ffffff;

    font-size: 18px;
    line-height: 1;

    transition:
        transform 0.25s ease,
        opacity 0.25s ease;
}

.topbar-social a:hover {
    color: #ffffff;

    transform:
        translateY(-2px)
        scale(1.12);

    opacity: 0.8;
}


/* =========================================================
   HEADER
========================================================= */

.main-header {
    background: #0c1b31;
}

.main-header-inner {
    height: 105px;
    min-height: 105px;

    display: grid;
    grid-template-columns: auto 1fr auto;

    align-items: center;

    gap: 34px;
}

.site-branding {
    height: 92px;
    min-width: 300px;

    display: flex;
    align-items: center;
}

.site-logo-link {
    height: 100%;

    display: flex;
    align-items: center;
}

.logo-poncepark {
    width: 270px;
    height: auto;
    max-height: 260px;

    display: block;

    object-fit: contain;
}

.site-logo-text {
    font-size: 42px;
    font-weight: 700;
    letter-spacing: -2px;
}

.site-logo-text span {
    color: var(--pp-orange);
}

.desktop-nav {
    justify-self: end;
    align-self: center;
	color: #ffffff;
}

.poncepark-menu {
    display: flex;
    align-items: center;
    margin: 0;
}

.poncepark-menu a {
    font-size: 15px;
    font-weight: 600;
    line-height: 1;

    transition: color .2s ease;
}

.poncepark-menu a:hover {
    color: var(--pp-orange);
}

.btn-reserve-header,
.btn-reserve-mobile,
.btn-poncepark {
    min-height: 46px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 0 24px;

    border-radius: 10px;

    background: var(--pp-orange);
    color: #ffffff;

    font-weight: 600;
    line-height: 1;

    transition:
        transform .2s ease,
        background .2s ease;
}

.btn-reserve-header:hover,
.btn-reserve-mobile:hover,
.btn-poncepark:hover {
    background: var(--pp-orange-dark);
    color: #ffffff;

    transform: translateY(-1px);
}

.mobile-menu-toggle,
.mobile-menu {
    display: none;
}


/* =========================================================
   HERO
========================================================= */

.home-hero {
    position: relative;

    height: 360px;
    min-height: 360px;

    overflow: hidden;

    background-image:
        linear-gradient(
            rgba(0, 0, 0, 0.15),
            rgba(0, 0, 0, 0.15)
        ),
        url("../img/van-hero.webp");

    background-size:
        100% 100%,
        cover;

    background-position:
        center,
        center center;

    background-repeat: no-repeat;

    color: #ffffff;
}

.home-hero-overlay {
    position: absolute;
    inset: 0;

    z-index: 1;

    background: linear-gradient(
        90deg,
        rgba(0, 0, 0, 0.84) 0%,
        rgba(0, 0, 0, 0.76) 32%,
        rgba(0, 0, 0, 0.52) 47%,
        rgba(0, 0, 0, 0.18) 68%,
        rgba(0, 0, 0, 0.04) 100%
    );
}

.hero-container {
    position: relative;

    z-index: 2;

    height: 100%;

    display: flex;
    align-items: flex-start;
}

.hero-content {
    width: 58%;

    padding-top: 42px;
    padding-left: 16px;
}

.hero-content h1 {
    margin: 0 0 24px;

    color: #ffffff;

    font-size: 32px;
    font-weight: 700;
    line-height: 1.18;

    letter-spacing: -0.5px;
}

.hero-content h1 span {
    display: inline-block;

    margin-top: 8px;

    font-size: 31px;
    font-weight: 500;
}

.hero-content h1 strong {
    color: var(--pp-orange);
    font-weight: 800;
}

.hero-benefits {
    display: flex;
    align-items: center;

    gap: 62px;

    margin-bottom: 28px;
}

.hero-benefit {
    display: flex;
    align-items: center;

    gap: 12px;

    color: #ffffff;

    font-size: 14px;
    font-weight: 600;
    line-height: 1.35;
}

.hero-benefit-icon {
    flex: 0 0 46px;

    width: 46px;
    height: 46px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: var(--pp-orange);
    color: #ffffff;

    font-size: 22px;
}

.hero-btn-reserve {
    width: 255px;
    height: 50px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 10px;

    background: var(--pp-orange);
    color: #ffffff;

    font-size: 17px;
    font-weight: 600;

    transition: .25s ease;
}

.hero-btn-reserve:hover {
    background: var(--pp-orange-dark);
    color: #ffffff;

    transform: translateY(-2px);
}

.hero-note {
    margin: 20px 0 0;

    color: #ffffff;

    font-size: 12px;
    font-weight: 400;
    line-height: 1.4;
}


/* =========================================================
   SIMULADOR - ETAPA 1
========================================================= */

.simulator-section {
    position: relative;

    z-index: 20;

    margin-top: -28px;
    padding-bottom: 26px;
}

.simulator-card {
    padding: 26px 28px 18px;

    border-radius: 17px;

    background: #ffffff;

    box-shadow:
        0 15px 40px
        rgba(0, 0, 0, 0.15);
}

.simulator-layout {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        340px;

    gap: 34px;

    align-items: stretch;
}

.simulator-main {
    min-width: 0;
}

/* =========================================================
   REGRAS IMPORTANTES - SIMULADOR
========================================================= */

.simulator-rules {
    display: grid;

    grid-template-columns:
        1fr
        1fr;

    gap: 12px;

    margin-top: 18px;
    margin-bottom: 6px;
}

.simulator-rule-card {
    padding: 16px 18px;

    border: 1px solid #eeeeee;
    border-radius: 12px;

    background: #f8f8f8;
}


/* CABEÇALHO */

.simulator-rule-heading {
    display: flex;
    align-items: center;

    gap: 10px;

    margin-bottom: 12px;
}

.simulator-rule-icon {
    flex: 0 0 30px;

    width: 30px;
    height: 30px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border: 2px solid var(--pp-orange);
    border-radius: 50%;

    color: var(--pp-orange);

    font-size: 18px;
    font-weight: 800;
    line-height: 1;
}

.simulator-rule-heading strong {
    color: #111111;

    font-size: 13px;
    font-weight: 700;
}


/* LISTA */

.simulator-rule-card ul {
    margin: 0;

    padding: 0;

    list-style: none;
}

.simulator-rule-card li {
    position: relative;

    margin-bottom: 8px;

    padding-left: 15px;

    color: #444444;

    font-size: 10.5px;
    font-weight: 400;
    line-height: 1.45;
}

.simulator-rule-card li:last-child {
    margin-bottom: 0;
}


/* BOLINHA LARANJA */

.simulator-rule-card li::before {
    content: "";

    position: absolute;

    top: 6px;
    left: 0;

    width: 5px;
    height: 5px;

    border-radius: 50%;

    background: var(--pp-orange);
}


/* DESTAQUES */

.simulator-rule-card li strong {
    color: #222222;

    font-weight: 700;
}

.rule-muted {
    color: #777777;

    font-size: 9.5px;
}

/* =========================================================
   TÍTULO SIMULADOR
========================================================= */

.simulator-heading {
    display: flex;
    align-items: flex-start;

    gap: 14px;

    margin-bottom: 28px;
}

.simulator-heading-icon {
    flex: 0 0 38px;

    color: var(--pp-orange);

    font-size: 38px;
    line-height: 1;
}

.simulator-heading h2 {
    margin: 0 0 3px;

    color: #111111;

    font-size: 25px;
    font-weight: 700;
    line-height: 1.1;
}

.simulator-heading p {
    margin: 0;

    color: #333333;

    font-size: 14px;
}


/* =========================================================
   CAMPOS SIMULADOR
========================================================= */

.simulator-fields {
    display: grid;

    grid-template-columns:
        1fr
        1fr
        1.15fr;

    margin-bottom: 23px;
}

.sim-field-group {
    min-width: 0;

    padding: 0 24px;

    border-right: 1px solid #dddddd;
}

.sim-field-group:first-child {
    padding-left: 0;
}

.sim-field-group:last-child {
    padding-right: 0;

    border-right: 0;
}

.sim-field-group h3 {
    min-height: 40px;

    margin: 0 0 18px;

    color: #111111;

    font-size: 14px;
    font-weight: 700;
    line-height: 1.25;
}

.sim-field-group > label:not(.sim-option) {
    display: block;

    margin: 0 0 7px;

    color: #222222;

    font-size: 13px;
    font-weight: 500;
}

.sim-label-space {
    margin-top: 18px !important;
}


/* =========================================================
   DATA / HORA
========================================================= */

.sim-control {
    position: relative;

    width: 100%;
}

.sim-input {
    width: 100%;
    height: 48px;

    padding:
        0
        42px
        0
        13px;

    border: 1px solid #d5d5d5;
    border-radius: 8px;

    background: #ffffff;
    color: #111111;

    font-family: inherit;
    font-size: 14px;

    outline: none;

    transition:
        border-color .2s ease,
        box-shadow .2s ease;
}

.sim-input:focus {
    border-color: var(--pp-orange);

    box-shadow:
        0 0 0 2px
        rgba(240, 90, 0, 0.09);
}

.sim-control-icon {
    position: absolute;

    top: 50%;
    right: 14px;

    z-index: 2;

    transform: translateY(-50%);

    color: #111111;

    font-size: 16px;

    pointer-events: none;
}

.sim-input-date {
    appearance: none;

    -webkit-appearance: none;
}

.sim-input-date::-webkit-calendar-picker-indicator {
    position: absolute;

    right: 0;

    z-index: 3;

    width: 42px;
    height: 100%;

    opacity: 0;

    cursor: pointer;
}

.sim-select {
    appearance: none;

    -webkit-appearance: none;
    -moz-appearance: none;

    background-image: none;

    cursor: pointer;
}

.sim-select::-ms-expand {
    display: none;
}


/* =========================================================
   TIPO DE VAGA
========================================================= */

.sim-field-vaga {
    display: flex;
    flex-direction: column;
}

.sim-option {
    position: relative;

    min-height: 62px;

    display: flex !important;
    align-items: center;

    gap: 12px;

    margin: 0 0 12px !important;

    padding: 8px 6px;

    border-radius: 8px;

    cursor: pointer;

    transition:
        background .2s ease,
        border-color .2s ease;
}

.sim-option:hover {
    background: #fafafa;
}

.sim-option input {
    position: absolute;

    width: 1px;
    height: 1px;

    opacity: 0;
}

.sim-radio {
    position: relative;

    flex: 0 0 21px;

    width: 21px;
    height: 21px;

    border: 2px solid #cccccc;
    border-radius: 50%;
}

.sim-option input:checked + .sim-radio {
    border-color: var(--pp-orange);
}

.sim-option input:checked + .sim-radio::after {
    content: "";

    position: absolute;

    top: 4px;
    left: 4px;

    width: 9px;
    height: 9px;

    border-radius: 50%;

    background: var(--pp-orange);
}

.sim-option-icon {
    flex: 0 0 34px;

    color: #111111;

    font-size: 29px;
    line-height: 1;
}

.sim-option-text {
    display: block;
}

.sim-option-text strong {
    display: block;

    color: #222222;

    font-size: 13px;
    font-weight: 600;
}

.sim-option-text small {
    display: block;

    margin-top: 3px;

    color: #666666;

    font-size: 10px;
    line-height: 1.3;
}


/* =========================================================
   AVISO
========================================================= */

.simulator-info {
    min-height: 59px;

    display: flex;
    align-items: center;

    gap: 14px;

    padding: 10px 14px;

    border-radius: 8px;

    background: #f4f4f4;
    color: #222222;

    font-size: 12px;
    line-height: 1.4;
}

.simulator-info > i {
    flex: 0 0 auto;

    color: var(--pp-orange);

    font-size: 25px;
}

.simulator-info strong {
    font-weight: 600;
}

.info-dot {
    margin: 0 10px;

    color: var(--pp-orange);

    font-weight: 800;
}


/* =========================================================
   BOTÃO CALCULAR
========================================================= */

.btn-calcular-reserva {
    width: 100%;
    height: 52px;

    margin-top: 14px;

    border: 0;
    border-radius: 8px;

    background: var(--pp-orange);
    color: #ffffff;

    font-size: 17px;
    font-weight: 700;

    cursor: pointer;

    transition:
        background .2s ease,
        transform .2s ease;
}

.btn-calcular-reserva:hover {
    background: var(--pp-orange-dark);

    transform: translateY(-1px);
}


/* =========================================================
   SEGURANÇA
========================================================= */

.simulator-security {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 10px;

    margin-top: 18px;

    color: #666666;

    font-size: 12px;
}

.simulator-security i {
    font-size: 17px;
}


/* =========================================================
   RESUMO ETAPA 1
========================================================= */

.simulator-side {
    display: flex;
    flex-direction: column;

    gap: 14px;
}

.summary-box {
    padding: 20px 22px 16px;

    border-radius: 12px;

    background:
        linear-gradient(
            135deg,
            #fffaf7 0%,
            #fff2ea 100%
        );
}

.summary-box > h3 {
    margin: 0 0 20px;

    color: var(--pp-orange);

    text-align: center;

    font-size: 17px;
    font-weight: 700;
}

.summary-row {
    display: grid;

    grid-template-columns:
        78px
        1fr;

    gap: 10px;

    margin-bottom: 9px;

    color: #111111;

    font-size: 12px;
}

.summary-row span {
    font-weight: 400;
}

.summary-row strong {
    text-align: left;

    font-weight: 600;
}

.summary-date strong {
    font-weight: 500;
}

.summary-box hr {
    margin: 13px 0;

    border: 0;
    border-top: 1px solid #d1d1d1;

    opacity: 1;
}


/* =========================================================
   PREÇOS RESUMO ETAPA 1
========================================================= */

.summary-pricing {
    margin-top: 4px;
}

.summary-price-option {
    display: grid;

    grid-template-columns:
        1fr;

    gap: 10px;

    padding: 13px 0;

    border-top: 1px solid #d8d8d8;
}

.summary-price-option:first-of-type {
    border-top: 0;
}

#resumoDescoberta
.summary-price-option:first-of-type {
    padding-top: 4px;
}

.summary-price-title strong {
    display: block;

    color: #111111;

    font-size: 13px;
    font-weight: 700;
}

.summary-price-title small {
    display: block;

    margin-top: 1px;

    color: #666666;

    font-size: 10px;
}

.summary-price-values {
    display: grid;

    grid-template-columns:
        1fr;

    gap: 5px;

    font-size: 11px;
}

.summary-price-values span {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 12px;
}

.summary-price-values strong {
    color: var(--pp-orange);

    font-size: 14px;
    font-weight: 700;
}

.summary-note {
    margin-top: 10px;

    color: #555555;

    text-align: center;

    font-size: 10px;
}

.d-none {
    display: none !important;
}


/* =========================================================
   BOTÃO CONTINUAR ETAPA 1
========================================================= */

.btn-continuar-reserva {
    width: 100%;
    min-height: 72px;

    display: flex;
    align-items: center;

    gap: 14px;

    padding: 10px 20px;

    border: 2px solid #46ad61;
    border-radius: 10px;

    background: #ffffff;
    color: #2d9b49;

    cursor: pointer;

    text-align: left;

    transition:
        background .2s ease,
        transform .2s ease;
}

.btn-continuar-reserva > i {
    flex: 0 0 auto;

    font-size: 31px;
}

.btn-continuar-reserva span {
    display: flex;
    flex-direction: column;
}

.btn-continuar-reserva strong {
    font-size: 16px;
    font-weight: 700;
}

.btn-continuar-reserva small {
    margin-top: 2px;

    color: #666666;

    font-size: 11px;
}

.btn-continuar-reserva:hover {
    background: #f5fff7;

    transform: translateY(-1px);
}


/* =========================================================
   ETAPAS
========================================================= */

.reserva-etapa {
    width: 100%;
}

.reserva-etapa[hidden] {
    display: none !important;
}


/* =========================================================
   ETAPA 2 - NOVO LAYOUT
========================================================= */

.step2-wrapper {
    padding: 4px 0 8px;
}


/* =========================================================
   CABEÇALHO ETAPA 2
========================================================= */

.step2-header {
    display: flex;
    align-items: center;

    gap: 18px;

    margin-bottom: 24px;
}

.step2-number {
    flex: 0 0 66px;

    width: 66px;
    height: 66px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 18px;

    background: var(--pp-orange);
    color: #ffffff;

    font-size: 26px;
    font-weight: 800;

    box-shadow:
        0 10px 24px
        rgba(240, 90, 0, .22);
}

.step2-kicker {
    display: block;

    margin-bottom: 2px;

    color: var(--pp-orange);

    font-size: 10px;
    font-weight: 800;

    letter-spacing: 1.4px;
}

.step2-header h2 {
    margin: 0;

    color: #111111;

    font-size: 28px;
    font-weight: 700;
}

.step2-header p {
    margin: 4px 0 0;

    color: #666666;

    font-size: 13px;
}

/* =========================================================
   DOIS TOTAIS - VAGA DESCOBERTA
========================================================= */

.step2-summary-totals {
    display: grid;
    grid-template-columns: 1fr 1fr;

    min-width: 420px;

    background: var(--pp-orange);
}

.step2-total-option {
    padding: 14px 22px;

    display: flex;
    flex-direction: column;
    justify-content: center;

    color: #ffffff;
}

.step2-total-option:first-child {
    border-right:
        1px solid
        rgba(255, 255, 255, .25);
}

.step2-total-option span {
    margin-bottom: 3px;

    font-size: 9px;
    font-weight: 700;

    text-transform: uppercase;

    opacity: .82;
}

.step2-total-option strong {
    color: #ffffff;

    font-size: 24px;
    font-weight: 800;
    line-height: 1.1;
}

/* =========================================================
   CLIENTE RECORRENTE
========================================================= */

.returning-client-card {
    display: grid;

    grid-template-columns:
        54px
        1fr;

    gap: 16px;

    padding: 18px;

    margin-bottom: 22px;

    border: 1px solid #ece4de;
    border-radius: 16px;

    background:
        linear-gradient(
            135deg,
            #fffaf6 0%,
            #ffffff 70%
        );
}

.returning-client-icon {
    width: 54px;
    height: 54px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 14px;

    background:
        rgba(240, 90, 0, .10);

    color: var(--pp-orange);

    font-size: 24px;
}

.returning-client-content {
    min-width: 0;
}

.returning-client-text {
    margin-bottom: 12px;
}

.returning-client-text strong {
    display: block;

    color: #111111;

    font-size: 14px;
    font-weight: 700;
}

.returning-client-text span {
    display: block;

    margin-top: 2px;

    color: #666666;

    font-size: 11px;
}

.returning-client-search {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        auto;

    gap: 10px;
}

.client-search-message {
    min-height: 16px;

    margin-top: 6px;

    font-size: 10px;
}


/* =========================================================
   CARDS ETAPA 2
========================================================= */

.step2-grid {
    display: grid;

    grid-template-columns:
        1fr
        1fr;

    gap: 18px;

    margin-bottom: 20px;
}

.step2-card {
    padding: 20px;

    border: 1px solid #ececec;
    border-radius: 16px;

    background: #ffffff;

    box-shadow:
        0 8px 24px
        rgba(0, 0, 0, .05);
}

.step2-card-title {
    display: flex;
    align-items: center;

    gap: 12px;

    margin-bottom: 18px;
}

.step2-card-icon {
    flex: 0 0 42px;

    width: 42px;
    height: 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 12px;

    background:
        rgba(240, 90, 0, .09);

    color: var(--pp-orange);

    font-size: 20px;
}

.step2-card-title strong {
    display: block;

    color: #111111;

    font-size: 14px;
    font-weight: 700;
}

.step2-card-title small {
    display: block;

    margin-top: 2px;

    color: #777777;

    font-size: 10px;
}


/* =========================================================
   CAMPOS ETAPA 2
========================================================= */

.step2-fields {
    display: grid;

    grid-template-columns:
        1fr
        1fr;

    gap: 16px;
}

.client-field-full {
    grid-column: 1 / -1;
}

.client-field label {
    display: block;

    margin-bottom: 6px;

    color: #555555;

    font-size: 10px;
    font-weight: 700;

    text-transform: uppercase;

    letter-spacing: .3px;
}

.client-input {
    width: 100%;
    height: 46px;

    padding: 0 13px;

    border: 1px solid #dedede;
    border-radius: 10px;

    background: #ffffff;
    color: #222222;

    font-size: 13px;

    outline: none;

    transition:
        border-color .2s ease,
        box-shadow .2s ease,
        background .2s ease;
}

.client-input::placeholder {
    color: #aaaaaa;
}

.client-input:focus {
    border-color: var(--pp-orange);

    box-shadow:
        0 0 0 3px
        rgba(240, 90, 0, .08);
}

.client-select {
    cursor: pointer;
}


/* =========================================================
   BOTÃO BUSCAR
========================================================= */

.btn-buscar-cliente {
    min-width: 130px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 7px;

    padding: 0 18px;

    border: 0;
    border-radius: 10px;

    background: var(--pp-orange);
    color: #ffffff;

    font-size: 12px;
    font-weight: 700;

    cursor: pointer;

    transition:
        transform .2s ease,
        background .2s ease;
}

.btn-buscar-cliente:hover {
    background: var(--pp-orange-dark);

    transform: translateY(-1px);
}


/* =========================================================
   RESUMO HORIZONTAL ETAPA 2
========================================================= */

.step2-summary {
    overflow: hidden;

    border: 1px solid #ececec;
    border-radius: 16px;

    background: #ffffff;

    box-shadow:
        0 8px 24px
        rgba(0, 0, 0, .04);
}

.step2-summary-top {
    display: grid;

    grid-template-columns:
        repeat(4, 1fr);
}

.step2-summary-item {
    padding: 16px 18px;

    border-right: 1px solid #ececec;
}

.step2-summary-item:last-child {
    border-right: 0;
}

.step2-summary-item span {
    display: block;

    margin-bottom: 4px;

    color: #777777;

    font-size: 9px;
    font-weight: 700;

    text-transform: uppercase;

    letter-spacing: .5px;
}

.step2-summary-item strong {
    display: block;

    color: #111111;

    font-size: 12px;
    font-weight: 700;
}


/* =========================================================
   TOTAL ETAPA 2
========================================================= */

.step2-summary-bottom {
    display: grid;

    grid-template-columns:
        1fr
        auto;

    align-items: stretch;

    border-top: 1px solid #ececec;
}

.step2-summary-mode {
    padding: 16px 18px;

    display: flex;
    flex-direction: column;
    justify-content: center;
}

.step2-summary-mode span {
    margin-bottom: 4px;

    color: #777777;

    font-size: 9px;
    font-weight: 700;

    text-transform: uppercase;
}

.step2-summary-mode strong {
    color: #111111;

    font-size: 14px;
    font-weight: 700;
}

.step2-summary-total {
    min-width: 245px;

    padding: 14px 24px;

    display: flex;
    flex-direction: column;
    justify-content: center;

    background: var(--pp-orange);
    color: #ffffff;
}

.step2-summary-total span {
    margin-bottom: 2px;

    font-size: 9px;
    font-weight: 700;

    text-transform: uppercase;

    opacity: .82;
}

.step2-summary-total strong {
    color: #ffffff;

    font-size: 27px;
    font-weight: 800;
    line-height: 1.1;
}


/* =========================================================
   AÇÕES ETAPA 2
========================================================= */

.step2-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 16px;

    margin-top: 22px;
}

.btn-voltar-reserva,
.btn-avancar-reserva {
    min-height: 46px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 8px;

    padding: 0 22px;

    border-radius: 10px;

    font-size: 13px;
    font-weight: 700;

    cursor: pointer;

    transition:
        transform .2s ease,
        background .2s ease,
        border-color .2s ease;
}

.btn-voltar-reserva {
    border: 1px solid #dddddd;

    background: #ffffff;
    color: #333333;
}

.btn-voltar-reserva:hover {
    border-color: #bbbbbb;

    background: #fafafa;

    transform: translateY(-1px);
}

.btn-avancar-reserva {
    min-width: 155px;

    border: 0;

    background: var(--pp-orange);
    color: #ffffff;
}

.btn-avancar-reserva:hover {
    background: var(--pp-orange-dark);

    transform: translateY(-4px);
}

/* =========================================================
   BEM-VINDO
========================================================= */

.welcome-section {
    padding: 30px 0 44px;

    color: #ffffff;

    background:
        linear-gradient(
            rgba(0,0,0,.74),
            rgba(0,0,0,.74)
        ),
        url("../img/welcome-bg.jpg")
        center / cover
        no-repeat;
}

.welcome-section h2 {
    margin: 0;

    font-size:
        clamp(
            30px,
            3vw,
            45px
        );

    font-weight: 700;
}

.welcome-section h2 span {
    color: var(--pp-orange);
}

.welcome-section h3 {
    margin: 4px 0 12px;

    font-size: 22px;
    font-weight: 500;
}

.welcome-section p {
    max-width: 780px;

    margin: 0 auto;

    font-size: 16px;
}
.welcome-header .welcome-button:hover {
	background: #FF8052;
}

.welcome-section .benefits-button:hover {
	background: #FF8052;
}

/* =========================================================
   CONTEÚDO / BLOG
========================================================= */

.page-section {
    padding: 70px 0;
}

.post-card {
    height: 100%;

    overflow: hidden;

    border: 1px solid #eeeeee;
    border-radius: 14px;

    background: #ffffff;
}

.post-card-body {
    padding: 22px;
}

.post-card-title {
    font-size: 22px;
}

.post-card-link {
    color: var(--pp-orange);

    font-weight: 600;
}


/* =========================================================
   404
========================================================= */

.error-404 {
    padding: 100px 0;
}

.error-404-inner {
    max-width: 620px;

    margin: 0 auto;
}

.error-code {
    display: block;

    color: var(--pp-orange);

    font-size: 100px;
    font-weight: 800;
    line-height: 1;
}

/* =========================================================
   ETAPA 3 - CONFIRMAÇÃO
========================================================= */

.step3-wrapper {
    padding: 4px 0 8px;
}


/* CABEÇALHO */

.step3-header {
    display: flex;
    align-items: center;

    gap: 18px;

    margin-bottom: 22px;
}

.step3-number {
    width: 66px;
    height: 66px;

    flex: 0 0 66px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 18px;

    background: var(--pp-orange);
    color: #fff;

    font-size: 26px;
    font-weight: 800;

    box-shadow:
        0 10px 24px
        rgba(240, 90, 0, .22);
}

.step3-kicker {
    display: block;

    margin-bottom: 2px;

    color: var(--pp-orange);

    font-size: 10px;
    font-weight: 800;

    letter-spacing: 1.4px;
}

.step3-header h2 {
    margin: 0;

    color: #111;

    font-size: 28px;
    font-weight: 700;
}

.step3-header p {
    margin: 4px 0 0;

    color: #666;

    font-size: 13px;
}


/* STATUS */

.step3-status {
    display: grid;
    grid-template-columns:
        repeat(3, 1fr);

    gap: 10px;

    margin-bottom: 20px;
}

.step3-status > div {
    display: flex;
    align-items: center;

    gap: 8px;

    padding: 11px 14px;

    border-radius: 10px;

    background: #f7f7f7;

    color: #444;

    font-size: 11px;
    font-weight: 600;
}

.step3-status i {
    color: var(--pp-orange);

    font-size: 16px;
}


/* CARDS */

.step3-grid {
    display: grid;

    grid-template-columns:
        1fr
        1fr;

    gap: 18px;

    margin-bottom: 18px;
}

.step3-card {
    padding: 20px;

    border: 1px solid #ececec;
    border-radius: 16px;

    background: #fff;

    box-shadow:
        0 8px 24px
        rgba(0, 0, 0, .045);
}

.step3-card-heading {
    display: flex;
    align-items: center;

    gap: 12px;

    margin-bottom: 18px;
}

.step3-card-heading > span {
    width: 42px;
    height: 42px;

    flex: 0 0 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 12px;

    background:
        rgba(240, 90, 0, .09);

    color: var(--pp-orange);

    font-size: 20px;
}

.step3-card-heading strong {
    display: block;

    color: #111;

    font-size: 14px;
    font-weight: 700;
}

.step3-card-heading small {
    display: block;

    margin-top: 2px;

    color: #777;

    font-size: 10px;
}


/* INFORMAÇÕES */

.step3-data-grid {
    display: grid;

    grid-template-columns:
        1fr
        1fr;

    gap: 16px;
}

.step3-data-item {
    padding: 12px;

    border-radius: 10px;

    background: #f8f8f8;
}

.step3-data-item span {
    display: block;

    margin-bottom: 4px;

    color: #777;

    font-size: 9px;
    font-weight: 700;

    text-transform: uppercase;
}

.step3-data-item strong {
    display: block;

    color: #111;

    font-size: 12px;
    font-weight: 700;
}


/* TOTAL */

.step3-final {
    display: grid;

    grid-template-columns:
        1fr
        auto;

    overflow: hidden;

    margin-bottom: 18px;

    border: 1px solid #ececec;
    border-radius: 16px;

    background: #fff;
}

.step3-final-info {
    display: flex;
    flex-direction: column;
    justify-content: center;

    padding: 18px 22px;
}

.step3-final-info span {
    margin-bottom: 4px;

    color: #777;

    font-size: 9px;
    font-weight: 700;

    text-transform: uppercase;
}

.step3-final-info strong {
    color: #111;

    font-size: 16px;
    font-weight: 700;
}

.step3-final-info small {
    margin-top: 4px;

    color: #777;

    font-size: 10px;
}

.step3-final-price {
    min-width: 300px;

    display: flex;
    flex-direction: column;
    justify-content: center;

    padding: 17px 28px;

    background: var(--pp-orange);

    color: #fff;
}

.step3-final-price span {
    margin-bottom: 3px;

    font-size: 9px;
    font-weight: 700;

    text-transform: uppercase;

    opacity: .85;
}

.step3-final-price strong {
    color: #fff;

    font-size: 32px;
    font-weight: 800;
    line-height: 1;
}


/* CLIENTE */

.step3-client {
    display: flex;
    align-items: center;

    gap: 13px;

    padding: 14px 18px;

    margin-bottom: 20px;

    border-radius: 12px;

    background: #fff8f3;
}

.step3-client > i {
    color: var(--pp-orange);

    font-size: 25px;
}

.step3-client span,
.step3-client small {
    display: block;

    color: #777;

    font-size: 10px;
}

.step3-client strong {
    display: block;

    margin: 2px 0;

    color: #111;

    font-size: 13px;
}


/* BOTÕES */

.step3-actions {
    display: flex;
    align-items: stretch;
    justify-content: space-between;

    gap: 20px;
}

.step3-primary-actions {
    flex: 1;

    display: grid;

    grid-template-columns:
        1fr
        1fr;

    gap: 12px;
}

.btn-step3-back {
    padding: 0 20px;

    border: 1px solid #ddd;
    border-radius: 11px;

    background: #fff;
    color: #333;

    font-weight: 700;

    cursor: pointer;
}

.btn-step3-pdf,
.btn-step3-whatsapp {
    min-height: 66px;

    display: flex;
    align-items: center;

    gap: 12px;

    padding: 10px 17px;

    border-radius: 12px;

    cursor: pointer;

    text-align: left;

    transition:
        transform .2s ease,
        background .2s ease;
}

.btn-step3-pdf {
    border: 0;

    background: var(--pp-orange);
    color: #fff;
}

.btn-step3-whatsapp {
    border: 2px solid #25d366;

    background: #fff;
    color: #159447;
}

.btn-step3-pdf > i,
.btn-step3-whatsapp > i {
    font-size: 26px;
}

.btn-step3-pdf span,
.btn-step3-whatsapp span {
    display: flex;
    flex-direction: column;
}

.btn-step3-pdf strong,
.btn-step3-whatsapp strong {
    font-size: 13px;
}

.btn-step3-pdf small {
    color: rgba(255,255,255,.8);

    font-size: 9px;
}

.btn-step3-whatsapp small {
    color: #666;

    font-size: 9px;
}

.btn-step3-pdf:hover,
.btn-step3-whatsapp:hover,
.btn-step3-back:hover {
    transform: translateY(-1px);
}


/* SEGURANÇA */

.step3-security {
    margin-top: 17px;

    color: #777;

    text-align: center;

    font-size: 10px;
}

.step3-security i {
    margin-right: 5px;

    color: var(--pp-orange);
}


/* =========================================================
   SELEÇÃO PIX / CARTÃO NA ETAPA 2
========================================================= */

.step2-summary-totals {
    display: grid;

    grid-template-columns:
        1fr
        1fr;

    min-width: 430px;
}

.step2-payment-option {
    min-height: 88px;

    display: flex;
    flex-direction: column;
    justify-content: center;

    padding: 13px 20px;

    border: 0;

    background: var(--pp-orange);
    color: #fff;

    cursor: pointer;

    text-align: left;

    transition: .2s ease;
}

.step2-payment-option:first-child {
    border-right:
        1px solid
        rgba(255,255,255,.3);
}

.step2-payment-option span {
    font-size: 9px;
    font-weight: 700;

    text-transform: uppercase;

    opacity: .82;
}

.step2-payment-option strong {
    margin: 3px 0;

    color: #fff;

    font-size: 23px;
    font-weight: 800;
}

.step2-payment-option small {
    font-size: 9px;

    opacity: .85;
}

.step2-payment-option.is-selected {
    background: #111;
}

/* =========================================================
   ETAPA 4 - RESERVA CONFIRMADA
========================================================= */

.step4-wrapper {
    position: relative;

    max-width: 980px;

    margin: 0 auto;

    padding: 26px 0 10px;

    text-align: center;
}


/* ÍCONE */

.step4-success-icon {
    margin-bottom: 15px;
}

.step4-success-icon span {
    width: 76px;
    height: 76px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: var(--pp-orange);
    color: #fff;

    font-size: 35px;

    box-shadow:
        0 14px 34px
        rgba(240, 90, 0, .24);

    animation:
        step4Check .55s
        cubic-bezier(.17,.67,.38,1.35);
}

@keyframes step4Check {

    0% {
        opacity: 0;
        transform: scale(.25) rotate(-12deg);
    }

    100% {
        opacity: 1;
        transform: scale(1) rotate(0);
    }

}


/* CABEÇALHO */

.step4-header {
    margin-bottom: 25px;
}

.step4-kicker {
    display: block;

    margin-bottom: 5px;

    color: var(--pp-orange);

    font-size: 10px;
    font-weight: 800;

    letter-spacing: 1.6px;
}

.step4-header h2 {
    margin: 0;

    color: #111;

    font-size: 34px;
    font-weight: 800;

    letter-spacing: -.7px;
}

.step4-header p {
    margin: 6px 0 0;

    color: #777;

    font-size: 13px;
}


/* RESUMO */

.step4-summary {
    overflow: hidden;

    margin-bottom: 18px;

    border: 1px solid #ececec;
    border-radius: 18px;

    background: #fff;

    box-shadow:
        0 10px 30px
        rgba(0,0,0,.05);

    text-align: left;
}

.step4-summary-header {
    display: grid;

    grid-template-columns:
        1fr
        auto;

    align-items: stretch;

    border-bottom:
        1px solid #ececec;
}

.step4-summary-header > div:first-child {
    display: flex;
    flex-direction: column;
    justify-content: center;

    padding: 20px 24px;
}

.step4-summary-header span {
    color: #888;

    font-size: 9px;
    font-weight: 700;

    text-transform: uppercase;
}

.step4-summary-header strong {
    margin-top: 3px;

    color: #111;

    font-size: 18px;
    font-weight: 700;
}

.step4-total {
    min-width: 250px;

    display: flex;
    flex-direction: column;
    justify-content: center;

    padding: 18px 28px;

    background: var(--pp-orange);
}

.step4-total span {
    color: rgba(255,255,255,.8);
}

.step4-total strong {
    margin-top: 3px;

    color: #fff;

    font-size: 28px;
    font-weight: 800;
}


/* DADOS */

.step4-info-grid {
    display: grid;

    grid-template-columns:
        repeat(4, 1fr);
}

.step4-info {
    min-height: 80px;

    padding: 17px 20px;

    border-right:
        1px solid #ececec;

    border-bottom:
        1px solid #ececec;
}

.step4-info:nth-child(4n) {
    border-right: 0;
}

.step4-info:nth-last-child(-n + 4) {
    border-bottom: 0;
}

.step4-info span {
    display: block;

    margin-bottom: 5px;

    color: #888;

    font-size: 9px;
    font-weight: 700;

    text-transform: uppercase;
}

.step4-info strong {
    color: #111;

    font-size: 12px;
    font-weight: 700;
}


/* MENSAGEM */

.step4-message {
    display: flex;
    align-items: center;

    gap: 13px;

    padding: 15px 18px;

    margin-bottom: 18px;

    border-radius: 13px;

    background: #fff7f1;

    text-align: left;
}

.step4-message > i {
    color: var(--pp-orange);

    font-size: 27px;
}

.step4-message strong {
    display: block;

    color: #111;

    font-size: 13px;
}

.step4-message span {
    display: block;

    margin-top: 2px;

    color: #777;

    font-size: 10px;
}


/* AÇÕES */

.step4-actions {
    display: grid;

    grid-template-columns:
        1fr
        1fr;

    gap: 12px;

    margin-top: 5px;
}

.step4-action {
    min-height: 70px;

    display: flex;
    align-items: center;

    gap: 13px;

    padding: 10px 20px;

    border-radius: 12px;

    text-align: left;

    cursor: pointer;

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.step4-action > i {
    font-size: 27px;
}

.step4-action span {
    display: flex;
    flex-direction: column;
}

.step4-action strong {
    font-size: 14px;
}

.step4-action small {
    margin-top: 2px;

    font-size: 9px;
}

.step4-action-pdf {
    border: 0;

    background: var(--pp-orange);
    color: #fff;
}

.step4-action-pdf small {
    color: rgba(255,255,255,.78);
}

.step4-action-whatsapp {
    border: 2px solid #25d366;

    background: #fff;
    color: #159447;
}

.step4-action-whatsapp small {
    color: #777;
}

.step4-action:hover {
    transform: translateY(-2px);

    box-shadow:
        0 9px 22px
        rgba(0,0,0,.08);
}


/* NOVA RESERVA */

.step4-new-reservation {
    display: inline-flex;
    align-items: center;

    gap: 6px;

    margin-top: 18px;

    padding: 7px 13px;

    border: 0;

    background: transparent;
    color: #777;

    font-size: 11px;
    font-weight: 600;

    cursor: pointer;
}

.step4-new-reservation:hover {
    color: var(--pp-orange);
}


/* CONFIRMAR ETAPA 3 */

.step3-actions-confirm {
    align-items: stretch;
}

.btn-confirmar-reserva {
    flex: 1;

    min-height: 64px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 16px;

    padding: 9px 22px;

    border: 0;
    border-radius: 12px;

    background: var(--pp-orange);
    color: #fff;

    cursor: pointer;

    text-align: left;

    transition:
        background .2s ease,
        transform .2s ease;
}

.btn-confirmar-reserva span {
    display: flex;
    flex-direction: column;
}

.btn-confirmar-reserva small {
    color: rgba(255,255,255,.75);

    font-size: 9px;
}

.btn-confirmar-reserva strong {
    margin-top: 2px;

    font-size: 15px;
}

.btn-confirmar-reserva > i {
    font-size: 25px;
}

.btn-confirmar-reserva:hover {
    background: var(--pp-orange-dark);

    transform: translateY(-1px);
}


/* CONFETES */

.poncepark-confetti {
    position: fixed;

    inset: 0;

    z-index: 99999;

    overflow: hidden;

    pointer-events: none;
}

.confetti-piece {
    position: absolute;

    top: -20px;

    width: 10px;
    height: 16px;

    border-radius: 2px;

    animation:
        ponceConfettiFall
        2.7s
        linear
        forwards;
}

@keyframes ponceConfettiFall {

    0% {
        opacity: 1;

        transform:
            translateY(-20px)
            rotate(0deg);
    }

    100% {
        opacity: 0;

        transform:
            translateY(110vh)
            rotate(720deg);
    }

}

/* =========================================================
   ALERTA - ESTADIA MÍNIMA
========================================================= */

.simulator-minimum-alert {
    display: flex;
    align-items: center;
    gap: 12px;

    margin-top: 14px;
    padding: 13px 16px;

    border: 1px solid #ffb39a;
    border-radius: 11px;

    background: #fff3ee;

    color: #8c2f10;

    animation: minimumAlertIn .25s ease;
}

.simulator-minimum-alert[hidden] {
    display: none !important;
}

.simulator-minimum-alert-icon {
    flex: 0 0 34px;

    width: 34px;
    height: 34px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: var(--pp-orange);
    color: #fff;

    font-size: 19px;
}

.simulator-minimum-alert div {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.simulator-minimum-alert strong {
    color: #a6310b;

    font-size: 12px;
    font-weight: 700;
}

.simulator-minimum-alert span {
    font-size: 10.5px;
    line-height: 1.4;
}

@keyframes minimumAlertIn {
    from {
        opacity: 0;
        transform: translateY(-5px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* =========================================================
   WELCOME / BENEFÍCIOS
========================================================= */

.welcome-section {
    position: relative;
    overflow: hidden;

    padding: 48px 0 72px;

    background: #ef6500;
    color: #fff;
}

.welcome-header {
    max-width: 980px;
    margin: 0 auto;
}

.welcome-header h2 {
    margin: 0;

    font-size: 48px;
    font-weight: 400;
    line-height: 1.25;

    letter-spacing: -1px;
}

.welcome-header p {
    max-width: 820px;

    margin: 26px auto 0;

    font-size: 18px;
    font-weight: 300;
    line-height: 1.5;
}

.welcome-button,
.benefits-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 42px;

    padding: 0 30px;

    border-radius: 999px;

    background: #000;
    color: #fff;

    font-size: 16px;
    font-weight: 500;

    text-decoration: none;

    transition:
        transform .2s ease,
        background .2s ease;
}

.welcome-button {
    margin-top: 26px;
}

.welcome-button:hover,
.benefits-button:hover {
    background: #171717;
    color: #fff;

    transform: translateY(-2px);
}


/* BENEFÍCIOS */

.benefits-area {
    margin-top: 55px;

    text-align: center;
}

.benefits-area h3 {
    margin: 0 0 28px;

    font-size: 25px;
    font-weight: 300;
}

.benefits-grid {
    max-width: 950px;

    display: grid;
    grid-template-columns:
        repeat(6, 1fr);

    gap: 26px;

    margin: 0 auto;
}

.benefit-item {
    display: flex;
    flex-direction: column;
    align-items: center;

    gap: 12px;

    color: #fff;
}

.benefit-item i {
    font-size: 44px;
    line-height: 1;
}

.benefit-item span {
    font-size: 15px;
    font-weight: 400;
    line-height: 1.35;
}

.benefits-description {
    margin: 28px auto 0;

    font-size: 16px;
    font-weight: 300;
}

.benefits-button {
    margin-top: 22px;
}


/* RECORTE INFERIOR */

.welcome-section::after {
    content: "";

    position: absolute;

    left: -5%;
    bottom: -34px;

    width: 110%;
    height: 70px;

    background: #fff;

    transform: rotate(-1.5deg);

    transform-origin: center;
}

/* =========================================================
   SECTION TRANSFER / VAN
========================================================= */

.transfer-section {
    position: relative;
	margin-top: -55px; 
    min-height: 760px;

    overflow: hidden;

    background-image:
        url("../img/van-transfer.webp");

    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;

    color: #fff;
	z-index: 2;
}


/* ESCURECIMENTO */

.transfer-overlay {
    position: absolute;

    inset: 0;

    z-index: 1;

    background:
        linear-gradient(
            90deg,
            rgba(0, 0, 0, .78) 0%,
            rgba(0, 0, 0, .52) 38%,
            rgba(0, 0, 0, .18) 67%,
            rgba(0, 0, 0, .08) 100%
        );
}


/* CONTAINER */

.transfer-container {
    position: relative;

    z-index: 2;

    min-height: 760px;

    display: flex;
    flex-direction: column;
    justify-content: space-between;

    padding-top: 110px;
    padding-bottom: 105px;
}


/* =========================================================
   CARD SUPERIOR
========================================================= */

.transfer-top-card {
    width: 470px;
}

.transfer-top-card p {
    margin: 0;

    padding: 24px 28px;

    border-radius: 26px;

    background:
        rgba(0, 0, 0, .76);

    color: #fff;

    font-size: 22px;
    font-weight: 400;
    line-height: 1.18;

    text-align: center;
}


/* =========================================================
   BOTÃO DA VAN
========================================================= */

.transfer-reserve-button {
    min-width: 245px;
    min-height: 48px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    margin-top: -12px;
    margin-left: 110px;

    padding: 0 28px;

    border-radius: 999px;

    background: var(--pp-orange);
    color: #fff;

    font-size: 17px;
    font-weight: 500;

    text-decoration: none;

    transition:
        background .2s ease,
        transform .2s ease;
}

.transfer-reserve-button:hover {
    background: var(--pp-orange-dark);
    color: #fff;

    transform: translateY(-2px);
}


/* =========================================================
   TEXTO INFERIOR DA VAN
========================================================= */

.transfer-bottom-text {
    width: 500px;

    margin-left: 40px;
}

.transfer-bottom-text p {
    margin: 0;

    color: #fff;

    font-size: 22px;
    font-weight: 400;
    line-height: 1.28;

    text-align: center;
}


/* =========================================================
   SECTION LARANJA - SOBRE PONCE PARK
========================================================= */

/* =========================================================
   LOGO CIRCULAR SOBREPOSTO
========================================================= */

/* =========================================================
   TEXTO DA SECTION LARANJA
========================================================= */


/* =========================================================
   BOTÃO SECTION LARANJA
========================================================= */

/* =========================================================
   SECTION LARANJA - CURVA INFERIOR
========================================================= */


/* =========================================================
   CURVA BRANCA INFERIOR
========================================================= */

/* =========================================================
   CONTEÚDO DA SECTION LARANJA
========================================================= */

/* =========================================================
   GOOGLE REVIEWS
========================================================= */

/*
 * NÃO FAZER OUTRA CURVA NO GOOGLE
 */
/* =========================================================
   CONTAINER GOOGLE
========================================================= */


/* =========================================================
   CABEÇALHO GOOGLE
========================================================= */

/* =========================================================
   CABEÇALHO GOOGLE
========================================================= */


/* =========================================================
   CARDS
========================================================= */


/* TOPO */

.google-review-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;

    gap: 12px;

    margin-bottom: 14px;
}

.review-profile {
    display: flex;
    align-items: center;

    gap: 10px;

    min-width: 0;
}

.review-avatar {
    position: relative;

    flex: 0 0 42px;

    width: 42px;
    height: 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    overflow: visible;

    border-radius: 50%;

    color: #ffffff;

    font-size: 18px;
    font-weight: 500;
    line-height: 1;
}

/* JOSUÉ */

.review-avatar-josue {
    background: #a748c6;
}


/* RAFAEL */

.review-avatar-rafael {
    background: #694238;
}


/* FOTO */

.review-avatar-photo {
    overflow: visible;

    background: #eeeeee;
}

.review-avatar-photo > img {
    width: 42px;
    height: 42px;

    display: block;

    border-radius: 50%;

    object-fit: cover;
}


/* =========================================================
   SELO LOCAL GUIDE
========================================================= */

.review-guide-badge {
    position: absolute;

    right: -3px;
    bottom: -2px;

    width: 15px;
    height: 15px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 2px solid #ffffff;
    border-radius: 50%;

    background: #f4511e;
    color: #ffffff;

    font-size: 7px;
    font-weight: 700;

    line-height: 1;
}

/* =========================================================
   NOME / INFORMAÇÕES
========================================================= */

.review-profile strong {
    display: block;

    margin: 0;

    color: #111111;

    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
}

.review-profile small {
    display: block;

    margin-top: 2px;

    color: #666666;

    font-size: 9px;
    font-weight: 400;
    line-height: 1.25;
}

/* =========================================================
   GOOGLE G DO CARD
========================================================= */

.review-google-logo {
    flex: 0 0 auto;

    width: 54px;
    height: 54px;

    display: block;

    object-fit: contain;
}

/* ESTRELAS */

.review-meta {
    display: flex;
    align-items: center;

    gap: 10px;

    margin-bottom: 14px;

    color: #666666;

    font-size: 9px;
}

.review-stars {
    color: #ffc400;

    font-size: 15px;
    line-height: 1;

    letter-spacing: 0;
}

/* TEXTO */

.google-review-card p {
    margin: 0;

    color: #555555;

    font-size: 12px;
    font-weight: 400;
    line-height: 1.32;

    text-align: left;
}

/* =========================================================
   SECTION LARANJA - SOBRE PONCE PARK
========================================================= */

.ponce-home-sobre {
    position: relative;

    width: 100%;
    height: auto;

    padding:
        280px
        20px
        135px;

    overflow: visible;

    background: #ef6500;

    text-align: center;
	z-index: 2;
}


/* =========================================================
   LOGO CIRCULAR SOBREPOSTO
========================================================= */

.transfer-logo-circle {
    position: absolute;

    top: -80px;
    left: 50%;

    z-index: 999;

    width: 280px;
    height: 280px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 18px;

    transform: translateX(-50%);

    border: 7px solid #ff7a1a;
    border-radius: 50%;

    background: #ffffff;

    box-shadow:
        0 0 0 10px
        rgba(255, 255, 255, .18);
}

.transfer-logo-circle .custom-logo-link {
	position: relative;
    width: 100% !important;
    height: 100% !important;

    display: flex !important;
    align-items: center;
    justify-content: center;

    margin: 0;
    padding: 0;
	z-index: 999;
}

.transfer-logo-circle .custom-logo {
	position: relative;
    width: 320px !important;
    height: auto !important;

    max-width: none !important;
    max-height: none !important;

    object-fit: contain;
	z-index: 9999;
}


/* =========================================================
   CONTEÚDO DA SECTION LARANJA
========================================================= */

.ponce-home-sobre-conteudo {
    position: relative;
    z-index: 3;

    width: 100%;
    max-width: 1000px;

    margin: 0 auto;
}

.ponce-home-sobre-conteudo p {
    max-width: 980px;

    margin: 0 auto 24px;

    color: #ffffff;

    font-size: 1.35rem;
    font-weight: 400;
    line-height: 1.45;
}


/* =========================================================
   BOTÃO DA SECTION LARANJA
========================================================= */

.ponce-home-sobre-btn {
    min-width: 215px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding:
        12px
        32px;

    border-radius: 999px;

    background: #000000;
    color: #ffffff;

    font-size: 1.05rem;
    font-weight: 500;

    text-decoration: none;

    transition:
        background .2s ease,
        transform .2s ease;
}

.ponce-home-sobre-btn:hover {
    background: #ff8052;
    color: #ffffff;

    transform: translateY(-4px);
}


/* =========================================================
   ÚNICA CURVA ENTRE LARANJA E BRANCO
========================================================= */

.ponce-home-sobre-curva {
    position: absolute;

    left: 50%;
    bottom: -105px;

    z-index: 1;

    width: 125%;
    height: 220px;

    transform: translateX(-50%);

    background: #ffffff;

    border-radius:
        50% 50% 0 0 /
        100% 100% 0 0;

    pointer-events: none;
}

/* =========================================================
   GOOGLE REVIEWS
========================================================= */

.google-reviews-section {
    position: relative;
    z-index: 10;

    width: 100%;

    margin: 0;

    padding:
        35px
        20px
        110px;

    overflow: visible;

    background: #ffffff;
}

/* Não criar segunda curva na section Google */
.google-reviews-section::before,
.google-reviews-section::after {
    content: none !important;
    display: none !important;
}

.google-reviews-section > .container {
    position: relative;
    z-index: 20;

    margin-top: 0;
}

/* =========================================================
   CABEÇALHO GOOGLE
========================================================= */

.google-reviews-header {
    position: relative;
    z-index: 30;

    margin:
        -135px
        0
        20px;

    padding-top: 0;

    text-align: center;
}

.google-logo {
    position: relative;
    z-index: 30;

    display: flex;
    align-items: center;
    justify-content: center;

    margin: 0 0 8px;

    transform: none;
}

.google-g-image {
	position: relative;
    width: 150px;
    height: auto;

    display: block;

    object-fit: contain;
	z-index: 999;
}

.google-g {
    font-family: Arial, sans-serif;

    font-size: 50px;
    font-weight: 700;
    line-height: 1;

    color: #4285f4;
}

.google-reviews-header > strong {
    display: block;

    margin:
        0
        0
        3px;

    color: #111111;

    font-size: 16px;
    font-weight: 600;
}

.google-reviews-header h2 {
    margin: 0;

    color: #333333;

    font-size: 21px;
    font-weight: 400;
}

.google-stars {
    margin-top: 2px;

    color: #ffc400;

    font-size: 18px;

    letter-spacing: 2px;
}

/* =========================================================
   CARDS GOOGLE
========================================================= */

.google-reviews-grid {
    width: 100%;
    max-width: 1070px;

    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));

    gap: 20px;

    margin: 0 auto;

    overflow: visible;
}

.google-review-card {
    position: relative;
    z-index: 2;

    min-height: 230px;

    padding: 18px 22px;

    border: 2px solid #263c5d;
    border-radius: 13px;

    background: #ffffff;

    box-shadow: none;
}

/* =========================================================
   CARD
========================================================= */

.google-review-card {
  position: relative;
  z-index: 2;

  min-height: 230px;

  padding: 18px 22px;

  border: 2px solid #263c5d;
  border-radius: 13px;

  background: #ffffff;

  overflow: visible;

  box-shadow:
    0 12px 12px -9px rgba(0, 0, 0, 0.75),
    0 7px 7px -7px rgba(0, 0, 0, 0.55);
}

/* =========================================================
   CTA GOOGLE
========================================================= */

.google-reviews-cta {
    margin-top: 48px;

    text-align: center;
}

.google-reviews-button {
    min-width: 250px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding:
        11px
        28px;

    border-radius: 999px;

    background: #d85b00;
    color: #ffffff;

    font-size: 15px;
    font-weight: 500;

    text-decoration: none;

    transition:
        background .2s ease,
        transform .2s ease;
}

.google-reviews-button:hover {
    background: var(--pp-orange-dark);
    color: #ffffff;

    transform: translateY(-2px);
}


/* =========================================================
   TÍTULO INFERIOR GOOGLE
========================================================= */

.google-online-title {
    position: relative;
    z-index: 3;

    margin-top: 65px;

    color: #111111;

    text-align: center;

    font-size: 27px;
    font-weight: 500;
}

/* =========================================================
   FINAL DA SEÇÃO GOOGLE
========================================================= */

.google-online-title {
  margin-top: 55px;

  text-align: center;

  font-size: 28px;
  line-height: 1.2;

  font-weight: 500;

  color: #111111;
}

/* =========================================================
   PONCE ATENDIMENTO ONLINE
========================================================= */

.ponce-atendimento-online {
  position: relative;

  width: 100vw;
  max-width: none;
  margin-top: -420px;	

  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);

  overflow: hidden;
}

/* IMAGEM DO V */
.ponce-atendimento-imagem {
  display: block;

  width: 100%;
  height: auto;

  position: relative;

  z-index: 1;
}


/* TEXTO + BOTÃO POR CIMA DA IMAGEM */
.ponce-atendimento-conteudo {
  position: absolute;

  left: 50%;
  bottom: 55px;

  transform: translateX(-50%);

  z-index: 5;

  width: calc(100% - 40px);
  max-width: 900px;

  text-align: center;
}

/* TEXTO */
.ponce-atendimento-conteudo p {
  max-width: 850px;

  margin: 0 auto 28px;

  color: #ffffff;

  font-size: 1.35rem;
  line-height: 1.3;

  font-weight: 300;
}

.ponce-atendimento-conteudo p strong {
  font-weight: 600;
}

/* BOTÃO */
.ponce-atendimento-btn {
  display: inline-flex;

  align-items: center;
  justify-content: center;

  min-width: 305px;
  min-height: 48px;

  padding: 8px 32px;

  background: #000000;

  color: #ffffff;

  border-radius: 999px;

  font-size: 19px;

  text-decoration: none;
  
  transition:
        background .3s ease,
        transform .3s ease;
}

.ponce-atendimento-btn:hover {
	background: #ff8052;
	transform: translatey(-4px);
	
}

/* =========================================================
   RECEPÇÃO / SALA DE ESPERA
========================================================= */

.ponce-recepcao-espera {
  position: relative;

  width: 100%;
  min-height: 450px;
  
  margin-top: -110px;

  background-image:
    url("../img/recepcao-espera.webp");

  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;

  display: flex;
  align-items: center;
  justify-content: center;

  overflow: hidden;
  z-index: 999;
}

/* =========================================================
   CAMADA ESCURA
========================================================= */

.ponce-recepcao-overlay {
  position: absolute;

  inset: 0;

  background: rgba(0, 0, 0, 0.58);

  z-index: 1;
}

.ponce-faq-btn {
	background .3s ease,
        transform .3s ease;
}

.ponce-faq-btn:hover {
	background: #ff8052;
	transform: translatey(-4px);
}

/* =========================================================
   CONTEÚDO
========================================================= */

.ponce-recepcao-conteudo {
  position: relative;

  z-index: 2;

  width: 100%;
  max-width: 1050px;

  padding: 0 30px;

  text-align: center;
}

/* =========================================================
   TÍTULO
========================================================= */

.ponce-recepcao-conteudo h2 {
  margin: 0;

  color: #ffffff;

  font-size: 38px;
  line-height: 1.15;

  font-weight: 400;

  letter-spacing: -0.5px;

  text-align: center;
}

/* =========================================================
   FOOTER PONCE PARK
========================================================= */

.ponce-footer {
  width: 100%;
  margin: 0;
  padding: 14px 20px;

  background: #0c1b31;

  box-sizing: border-box;
}

/* =========================================================
   ESTRUTURA PRINCIPAL
========================================================= */

.ponce-footer-inner {
  width: 100%;
  max-width: 1400px;

  margin: -10px auto;
  padding: 0 150px;
  display: flex;

  align-items: center;
  justify-content: center;

  gap: 50px;
}

/* =========================================================
   ESQUERDA
   LOGO + CNPJ
========================================================= */

.ponce-footer-left {
  display: flex;
  flex-direction: column;

  align-items: center;
  justify-content: center;

  text-align: center;
}

.ponce-footer-logo {
  display: block;

  width: 220px;
  height: auto;

  margin: 0;
}

/* ====================
   CNPJ
==================== */ 
.ponce-footer-cnpj {
  margin: 8px 0 0;

  color: #ffffff;

  font-size: 10px;
  line-height: 1.3;

  text-align: center;

  white-space: nowrap;
}

/* =========================================================
   CENTRO
   CONTATOS + PAGAMENTOS
========================================================= */

.ponce-footer-middle {
  width: 900px;

  display: block;

  margin: 70px 0 0 0;
  padding: 0;
 
}

/* =========================================================
   CONTATOS
========================================================= */

.ponce-footer-contatos {
  width: 100%;
  display: flex;
  flex-direction: column;

  align-items: flex-start;
  justify-content: flex-start;

  gap: 10px;
  margin: 0;
  padding: 0;
}

.ponce-footer-contatos a {
  display: flex;

  align-items: flex-start;

  gap: 9px;

  margin: 0;
  padding: 0;

  color: #ffffff;

  font-size: 17px;
  line-height: 1.2;

  text-decoration: none;
}

.ponce-footer-contatos a i {
  flex: 0 0 21px;

  width: 21px;

  color: #ffffff;

  font-size: 20px;
  line-height: 1;

  text-align: center;
}

.ponce-footer-contatos a span {
  color: #ffffff;
}

.ponce-footer-endereco span {
  white-space: nowrap;
}

/* =========================================================
   PAGAMENTOS
========================================================= */

.ponce-footer-contatos .ponce-footer-pagamentos {
  display: block;

  width: 600px;
  height: 80px;

  margin: 0;
  padding: 0;

  object-fit: cover;
  object-position: left center;
	
  transform: translate(-30px, 0);	

  overflow: hidden;
}

/* WHATSAPP + EMAIL */

.ponce-footer-contatos a[href^="https://wa.me"],
.ponce-footer-contatos a[href^="mailto:"] {
  text-decoration: underline;

  text-underline-offset: 2px;
}

/* =========================================================
   DIREITA
   REDES
========================================================= */

.ponce-footer-right {

  display: flex;

  align-items: center;
  justify-content: center;

  gap: 17px;
	
  transform: translate(-100px, -50px);	
}

.ponce-footer-right a {
  display: flex;

  align-items: center;
  justify-content: center;

  text-decoration: none;

  line-height: 1;
 	
}

.ponce-footer-right i {
  font-size: 30px;

  line-height: 1;
}

.ponce-footer-right .instagram {
  color: #fff;
  transition: 0.3s,	
}

.ponce-footer-right .instagram:hover {
	transform: translatey(-4px);
	color: #ff8052;
} 

.ponce-footer-right .facebook {
  color: #fff;
  transition: 0.3s,	
}

.ponce-footer-right .facebook:hover {
	transform: translatey(-4px);
	color: #ff8052;
} 

/* =========================================================
   WHATSAPP FLUTUANTE
========================================================= */

.ponce-whatsapp-float {
  position: fixed;

  right: 24px;
  bottom: 24px;

  z-index: 9999;

  width: 60px;
  height: 60px;

  display: flex;

  align-items: center;
  justify-content: center;

  background: #25d366;

  border: 4px solid #ffffff;
  border-radius: 50%;

  box-shadow:
    0 5px 16px rgba(0, 0, 0, 0.22);

  color: #ffffff;

  text-decoration: none;
}

.ponce-whatsapp-float i {
  color: #ffffff;

  font-size: 34px;
  line-height: 1;
}

/* =====================================================
   RESUMO COMPACTO
   ESCONDIDO NO DESKTOP
===================================================== */

.simulator-mobile-summary {
    display: none;
}

@media (max-width: 767px) {

    /* =====================================================
       HEADER
    ===================================================== */
	.main-header {
        position: relative;
        z-index: 1000;
        background: #0c1b31;
    }

    .main-header-inner {
        height: 112px;
        min-height: 112px;

        display: flex;

        align-items: center;
        justify-content: space-between;

        gap: 24px;

        padding: 0 18px;
    }

    .site-branding {
        min-width: 0;
        height: auto;

        display: flex;
        align-items: center;
    }

    .logo-poncepark {
        width: 185px;
        max-height: none;
		transform: translatex(-35px);
    }

    /* ESCONDE MENU DESKTOP */

    .desktop-nav,
    .btn-reserve-header {
        display: none !important;
    }

    /* MOSTRA HAMBÚRGUER */

    .mobile-menu-toggle {
        width: 44px;
        height: 44px;

        display: inline-flex !important;

        align-items: center;
        justify-content: center;

        padding: 0;

        border: 0;

        background: transparent;

        color: #ffffff;

        font-size: 29px;
        line-height: 1;

        cursor: pointer;
    }

    /* MENU MOBILE FECHADO */

    .mobile-menu {
		display: none;

		padding: 0 0 18px;

		border-top: 1px solid rgba(255, 255, 255, 0.10);

		background: #071d3a;
	}

    .mobile-menu.is-open {
        display: block;
    }

    .mobile-menu-list {
        margin: 0;
        padding: 0;

        list-style: none;
    }

    .mobile-menu-list li {
		border-bottom: 1px solid rgba(255, 255, 255, 0.12);
	}

    .mobile-menu-list a {
        display: block;

        padding: 14px 0;

        color: #ffffff;

        font-size: 15px;
        font-weight: 600;
    }

    .btn-reserve-mobile {
        width: 100%;

        margin-top: 16px;
    }

    /* =====================================================
       HERO
    ===================================================== */

    .home-hero {
        height: auto;
        min-height: 520px;

        background-size:
            100% 100%,
            cover;

        background-position:
            center,
            58% center;
    }


    .hero-container {
        height: auto;
        min-height: 520px;
    }


    .hero-content {
        width: 100%;

        padding:
            34px
            14px
            95px;
    }


    /* TÍTULO */

    .hero-content h1 {
        max-width: 330px;

        margin-bottom: 20px;

        font-size: 29px;
        line-height: 1.12;

        letter-spacing: -0.4px;
    }

    .hero-content h1 span {
        display: block;

        margin-top: 10px;

        font-size: 25px;
        line-height: 1.18;
    }


    /* BENEFÍCIOS */

    .hero-benefits {
        width: 100%;

        display: flex;
        flex-direction: column;

        align-items: flex-start;

        gap: 11px;

        margin-bottom: 20px;
    }


    .hero-benefit {
        width: 100%;

        display: flex;

        align-items: center;

        gap: 10px;

        font-size: 13px;
    }


    .hero-benefit-icon {
        flex: 0 0 42px;

        width: 42px;
        height: 42px;

        font-size: 20px;
    }


    /* BOTÃO DO HERO */

    .hero-btn-reserve {
        width: 100%;
        max-width: 260px;

        height: 48px;

        font-size: 16px;
    }


    /* OBSERVAÇÃO */

    .hero-note {
        max-width: 330px;

        margin-top: 16px;

        font-size: 10px;
        line-height: 1.35;
    }
	
	/* =====================================================
	   SIMULADOR - ETAPA 1 MOBILE COMPACTA
	===================================================== */

	.simulator-section {
		margin-top: -45px;
		
	}

	.simulator-card {
		padding:
			12px
			10px
			12px
			10px;
	}

	/* =====================================================
	   ESTRUTURA
	===================================================== */

	.simulator-layout {
		width: 100%;

		display: grid;

		grid-template-columns: 1fr;

		gap: 0;
	}

	.simulator-main {
		width: 100%;
	}

	/* =====================================================
	   CABEÇALHO
	===================================================== */

	.simulator-heading {
		display: flex !important;
		justify-content: center !important;
		align-items: center !important;

		width: 100% !important;

		text-align: center !important;
	}

	/* remove completamente o espaço que era do ícone */
	.simulator-heading-icon {
		display: none !important;
	}
	
	/* bloco do título e subtítulo */
	.simulator-heading > div:not(.simulator-heading-icon) {
		width: 100% !important;
		max-width: 100% !important;

		text-align: center !important;
	}
	
	/* título */
	.simulator-heading h2 {
		width: 100% !important;

		margin: 0 auto !important;

		text-align: center !important;
		font-size: 22px;
	}

	/* subtítulo */
	.simulator-heading p {
		width: 100% !important;

		margin:
			8px
			auto
			0 !important;

		text-align: center !important;
		font-size: 15px;
	}

	/* =====================================================
	   CAMPOS
	===================================================== */

	.simulator-fields {
		width: 100%;

		display: grid;

		grid-template-columns: 1fr;

		gap: 14px;
	}

	/* =====================================================
	   ENTRADA E SAÍDA

	   Cada bloco vira:
	   DATA | HORA
	===================================================== */

	.sim-field-group:not(.sim-field-vaga) {
		position: relative;
		width: 100%;

		display: grid;

		/* 50% / 50% */
		grid-template-columns:
			minmax(0, 1fr)
			minmax(0, 1fr);

		grid-template-areas:
			"titulo titulo"
			"label-data label-hora"
			"data hora";

		column-gap: 4px;
		row-gap: 0px;

		margin: 0;

		padding: 0 0 12px;

		border-right: 0;
		border-bottom: 1px solid #ececec;
	}

	/* =====================================================
	   TÍTULO
	===================================================== */

	.sim-field-group:not(.sim-field-vaga) h3 {
		grid-area: titulo;

		width: 100%;

		margin: 0 0 5px;

		font-size: 22px;
		line-height: 1.2;
		text-align: center;

		white-space: nowrap;
	}

	/* =====================================================
	   LABEL DATA
	===================================================== */

	.sim-field-group
	label[for="dataEntrada"],
	.sim-field-group
	label[for="dataSaida"] {
		grid-area: label-data;

		width: 100%;

		margin: 0;
		padding-left: 5px;

		font-size: 20px;
		line-height: 1.2;

		white-space: nowrap;
	}

	/* =====================================================
	   LABEL HORA
	===================================================== */

	.sim-field-group
	label[for="horaEntrada"],
	.sim-field-group
	label[for="horaSaida"] {
		grid-area: label-hora;

		width: 100%;

		margin: 0 !important;
		padding-left: 5px;

		font-size: 20px;
		line-height: 1.2;

		white-space: nowrap;
	}

	/* =====================================================
	   DATA
	===================================================== */

	.sim-field-group
	label[for="dataEntrada"]
	+ .sim-control,

	.sim-field-group
	label[for="dataSaida"]
	+ .sim-control {
		grid-area: data;

		width: 100%;
		min-width: 0;
		
	}

	/* =====================================================
	   HORA
	===================================================== */

	.sim-field-group
	label[for="horaEntrada"]
	+ .sim-control,

	.sim-field-group
	label[for="horaSaida"]
	+ .sim-control {
		grid-area: hora;

		width: 100%;
		min-width: 0;
		
	}

	/* CONTROLES */

	.sim-control {
		width: 100%;
		min-width: 0;
	}

	.sim-field-group:not(.sim-field-vaga)
	.sim-input,

	.sim-field-group:not(.sim-field-vaga)
	.sim-select {
		width: 100% !important;
		max-width: none !important;

		height: 44px;
		min-height: 44px;

		box-sizing: border-box;

		/* MESMO ESPAÇO DOS DOIS LADOS */
		padding:
			0
			38px !important;

		font-size: 18px;

		/* CENTRALIZA NO CHROME / EDGE */
		text-align: center !important;

		/* CENTRALIZA NO SAFARI / IOS */
		text-align-last: center !important;

		-webkit-appearance: none;
		appearance: none;
	}
	
	.sim-field-group:not(.sim-field-vaga)
	.sim-select option {
		text-align: center;
	}

	/* ÍCONES */

	.sim-field-group:not(.sim-field-vaga)
	.sim-control-icon {
		right: 10px;

		font-size: 14px;
	}

	/* =====================================================
	   TIPO DE VAGA - MOBILE COMPACTO
	===================================================== */

	.sim-field-vaga {
		width: 100%;

		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

		column-gap: 10px !important;
		row-gap: 8px !important;

		margin: 0 !important;
		padding: 10px 0 8px !important;

		min-height: 0 !important;
		height: auto !important;
	}

	/* =====================================================
	   TÍTULO
	===================================================== */

	.sim-field-vaga h3 {
		grid-column: 1 / -1;

		width: 100%;

		margin: 0 0 4px !important;
		padding: 0 !important;

		text-align: center;

		font-size: 22px;
		line-height: 1.15;

		white-space: nowrap;
	}

	/* =====================================================
	   CADA OPÇÃO
	===================================================== */

	.sim-field-vaga .sim-option {
		width: 100%;
		min-width: 0;

		height: auto !important;
		min-height: 0 !important;

		display: flex !important;

		align-items: center !important;
		justify-content: center !important;

		gap: 7px !important;

		margin: 0 !important;
		padding: 5px 2px !important;

		border-radius: 10px;
		right: 20px;
	}

	/* =====================================================
	   RADIO
	===================================================== */

	.sim-field-vaga .sim-radio {
		position: static !important;

		flex: 0 0 20px;

		width: 20px;
		height: 20px;

		min-width: 20px;

		margin: 0 !important;
	}

	/* =====================================================
	   ÍCONE
	===================================================== */

	.sim-field-vaga .sim-option-icon {
		position: static !important;

		flex: 0 0 22px;

		width: 22px;
		height: 22px;

		min-width: 22px;

		display: flex;

		align-items: center;
		justify-content: center;

		margin: 0 !important;

		font-size: 17px;
	}

	/* =====================================================
	   TEXTO
	===================================================== */

	.sim-field-vaga .sim-option-text {
		position: static !important;

		width: auto !important;
		min-width: 0;

		margin: 0 !important;
		padding: 0 !important;
	}

	.sim-field-vaga .sim-option-text strong {
		display: block;

		width: auto;
		max-width: none;

		margin: 0;

		font-size: 18px;
		line-height: 1;

		white-space: nowrap !important;

		word-break: normal !important;
		overflow-wrap: normal !important;
	}

	/* SUBTEXTO NÃO APARECE NO MOBILE */

	.sim-field-vaga .sim-option-text small {
		display: none !important;
	}
	
	/* =====================================================
	   RADIO PERSONALIZADO - TIPO DE VAGA
	===================================================== */

	/* ESCONDE O RADIO NATIVO, MAS CONTINUA CLICÁVEL PELO LABEL */
	.sim-field-vaga .sim-option input[type="radio"] {
		position: absolute !important;

		width: 1px !important;
		height: 1px !important;

		opacity: 0 !important;

		pointer-events: none !important;

		margin: 0 !important;

		appearance: none !important;
		-webkit-appearance: none !important;
	}

	/* CÍRCULO VISUAL */
	.sim-field-vaga .sim-radio {
		position: relative !important;

		flex: 0 0 20px;

		width: 20px !important;
		height: 20px !important;

		min-width: 20px !important;

		margin: 0 !important;

		border:
			2px solid
			#cccccc;

		border-radius: 50%;

		background: #ffffff;

		box-sizing: border-box;
	}

	/* QUANDO ESTIVER SELECIONADO */
	.sim-field-vaga
	.sim-option
	input[type="radio"]:checked
	+ .sim-radio {
		border-color: #f45a00;
	}

	/* BOLINHA INTERNA */
	.sim-field-vaga
	.sim-option
	input[type="radio"]:checked
	+ .sim-radio::after {
		content: "";

		position: absolute;

		top: 50%;
		left: 50%;

		width: 10px;
		height: 10px;

		transform:
			translate(-50%, -50%);

		border-radius: 50%;

		background: #f45a00;
	}

	/* TODO O BLOCO CONTINUA CLICÁVEL */
	.sim-field-vaga .sim-option {
		cursor: pointer;
	}
	
	/* REMOVE LINHA VERTICAL DO BLOCO TIPO DE VAGA */
	.sim-field-vaga {
		border-right: none !important;
		border-left: none !important;
	}
	
	/* =====================================================
	   RESUMO COMPACTO MOBILE
	===================================================== */

	.simulator-mobile-summary {
		width: 100%;

		display: grid;

		grid-template-columns:
			110px
			minmax(0, 1fr);

		gap: 6px;

		margin:
			4px
			0
			10px;
	}

	/* PERÍODO */

	.simulator-mobile-period {
		min-height: 54px;

		display: flex;
		flex-direction: column;

		justify-content: center;

		padding:
			9px
			10px;

		border:
			1px solid
			#ececec;

		border-radius: 11px;

		background:
			#f8f8f8;
	}

	.simulator-mobile-period span {
		margin-bottom: 4px;

		color: #777777;

		font-size: 15px;
		font-weight: 700;

		letter-spacing: .5px;
	}

	.simulator-mobile-period strong {
		color: #111111;

		font-size: 15px;
		line-height: 1.15;
	}

	/* VALORES */

	.simulator-mobile-prices {
		width: 100%;

		display: grid;

		grid-template-columns:
			repeat(2, minmax(0, 1fr));

		gap: 7px;
	}

	.simulator-mobile-prices[hidden] {
		display: none !important;
	}

	.simulator-mobile-price {
		min-width: 0;
		min-height: 54px;

		display: flex;
		flex-direction: column;

		justify-content: center;

		padding:
			8px
			9px;

		border:
			1px solid
			#f0d8ca;

		border-radius: 11px;

		background:
			#fff8f4;
	}

	.simulator-mobile-price span {
		margin-bottom: 2px;

		color: #777777;

		font-size: 15px;
		font-weight: 700;

		letter-spacing: .4px;
	}

	.simulator-mobile-price strong {
		color: #d85b00;

		font-size: 15px;
		line-height: 1.1;

		white-space: nowrap;
	}

	.simulator-mobile-price-full {
		grid-column: 1 / -1;
	}

	/* =====================================================
	   ALERTA MÍNIMO
	===================================================== */

	.simulator-minimum-alert {

		margin-top: 12px;

		padding: 11px;

		font-size: 11px;
	}

	/* =====================================================
	   REGRAS

	   CONTINUAM VISÍVEIS
	===================================================== */

	.simulator-rules {

		width: 100%;

		display: grid;

		grid-template-columns: 1fr;

		gap: 10px;

		margin-top: 14px;
	}

	.simulator-rule-card {

		width: 100%;

		padding:
			13px
			13px
			12px;

		border-radius: 12px;
	}

	.simulator-rule-heading {

		gap: 8px;

		margin-bottom: 8px;
	}

	.simulator-rule-icon {

		width: 27px;
		height: 27px;

		flex: 0 0 27px;

		font-size: 13px;
	}

	.simulator-rule-heading strong {

		font-size: 16px;
	}

	.simulator-rule-card ul {

		margin: 0;

		padding-left: 17px;
	}

	.simulator-rule-card li {

		margin-bottom: 5px;

		font-size: 16px;
		line-height: 1.34;
	}

	.simulator-rule-card li:last-child {

		margin-bottom: 0;
	}

	/* =====================================================
	   NÃO PRECISAMOS MAIS DO BOTÃO CALCULAR

	   O JS JÁ RECALCULA AO ALTERAR DATA/HORA/VAGA
	===================================================== */

	.btn-calcular-reserva {

		display: none !important;
	}

	/* SEGURANÇA DA ETAPA 1 */

	.simulator-security {

		display: none;
	}

	/* =====================================================
	   ESCONDER RESUMO GIGANTE NO MOBILE
	===================================================== */

	.simulator-side {

		width: 100%;

		display: block;

		margin-top: 14px;
	}

	.simulator-side .summary-box {

		display: none !important;
	}

	/* =====================================================
	   BOTÃO CONTINUAR
	===================================================== */

	.btn-continuar-reserva {

		width: 100%;
		min-height: 54px;

		display: flex;

		align-items: center;
		justify-content: center;

		gap: 10px;

		margin: 0;

		border-radius: 999px;
	}

	.btn-continuar-reserva i {

		font-size: 18px;
	}

	.btn-continuar-reserva strong {

		font-size: 14px;
	}

	.btn-continuar-reserva small {

		display: none;
	}
	
	/* =====================================================
	   MODAL / BOTTOM SHEET - REVISÃO ETAPA 1
	===================================================== */

	body.ponce-review-open {
		overflow: hidden;
	}

	.reserva-review-modal {

		position: fixed;

		inset: 0;

		z-index: 99999;

		display: flex;

		align-items: flex-end;
		justify-content: center;
	}

	.reserva-review-modal[hidden] {

		display: none !important;
	}

	/* FUNDO */

	.reserva-review-backdrop {

		position: absolute;

		inset: 0;

		background:
			rgba(
				0,
				0,
				0,
				.55
			);

		opacity: 0;

		transition:
			opacity
			.25s ease;
	}

	/* PAINEL */

	.reserva-review-sheet {

		position: relative;

		z-index: 2;

		width: 100%;
		max-width: 520px;

		max-height: 88vh;

		overflow-y: auto;

		padding:
			12px
			18px
			calc(
				20px +
				env(safe-area-inset-bottom)
			);

		background:
			#ffffff;

		border-radius:
			22px
			22px
			0
			0;

		transform:
			translateY(100%);

		transition:
			transform
			.28s ease;

		box-shadow:
			0
			-15px
			50px
			rgba(
				0,
				0,
				0,
				.20
			);
	}

	/* ABERTO */

	.reserva-review-modal.is-open
	.reserva-review-backdrop {

		opacity: 1;
	}

	.reserva-review-modal.is-open
	.reserva-review-sheet {

		transform:
			translateY(0);
	}

	/* BARRINHA */

	.reserva-review-handle {

		width: 42px;
		height: 5px;

		margin:
			0
			auto
			14px;

		border-radius: 999px;

		background:
			#d6d6d6;
	}

	/* FECHAR */

	.reserva-review-close {

		position: absolute;

		top: 13px;
		right: 16px;

		width: 36px;
		height: 36px;

		display: flex;

		align-items: center;
		justify-content: center;

		padding: 0;

		border: 0;

		border-radius: 50%;

		background:
			#f3f3f3;

		color:
			#111111;

		font-size: 16px;
	}

	/* CABEÇALHO */

	.reserva-review-header {

		padding-right: 45px;

		margin-bottom: 18px;
	}

	.reserva-review-header > span {

		display: block;

		margin-bottom: 4px;

		color:
			#d85b00;

		font-size: 9px;
		font-weight: 800;

		letter-spacing: 1px;
	}

	.reserva-review-header h3 {

		margin: 0;

		font-size: 25px;
		line-height: 1.1;

		color:
			#111111;
	}

	.reserva-review-header p {

		margin:
			6px
			0
			0;

		color:
			#777777;

		font-size: 11px;
	}

	/* DATAS */

	.reserva-review-dates,
	.reserva-review-details {

		display: grid;

		grid-template-columns:
			repeat(
				2,
				minmax(0, 1fr)
			);

		gap: 10px;

		margin-bottom: 10px;
	}

	.reserva-review-dates > div,
	.reserva-review-details > div {

		min-width: 0;

		padding:
			12px
			11px;

		background:
			#f7f7f7;

		border:
			1px solid
			#ececec;

		border-radius: 12px;
	}

	.reserva-review-dates span,
	.reserva-review-details span {

		display: block;

		margin-bottom: 5px;

		color:
			#888888;

		font-size: 8px;
		font-weight: 800;

		letter-spacing: .7px;
	}

	.reserva-review-dates strong,
	.reserva-review-details strong {

		display: block;

		color:
			#111111;

		font-size: 12px;
		line-height: 1.3;
	}

	/* VALORES */

	.reserva-review-prices {

		display: grid;

		grid-template-columns: 1fr;

		gap: 8px;

		margin-top: 13px;
	}

	.reserva-review-prices[hidden] {

		display: none !important;
	}

	.reserva-review-price {

		display: flex;

		align-items: center;
		justify-content: space-between;

		gap: 12px;

		padding:
			12px
			14px;

		border:
			1px solid
			#eeeeee;

		border-radius: 12px;
	}

	.reserva-review-price span {

		display: block;

		margin-bottom: 2px;

		color:
			#111111;

		font-size: 12px;
		font-weight: 800;
	}

	.reserva-review-price small {

		display: block;

		color:
			#888888;

		font-size: 9px;
	}

	.reserva-review-price > strong {

		flex: 0 0 auto;

		color:
			#d85b00;

		font-size: 18px;
	}

	/* AVANÇAR */

	.reserva-review-advance {

		width: 100%;
		min-height: 52px;

		display: flex;

		align-items: center;
		justify-content: center;

		gap: 10px;

		margin-top: 16px;

		border: 0;

		border-radius: 999px;

		background:
			#d85b00;

		color:
			#ffffff;

		font-size: 15px;
		font-weight: 700;
	}

	/* EDITAR */

	.reserva-review-edit {

		width: 100%;

		margin-top: 8px;

		padding: 8px;

		border: 0;

		background:
			transparent;

		color:
			#666666;

		font-size: 11px;

		text-decoration: underline;
	}
	
	/* =====================================================
	   WELCOME - MOBILE
	===================================================== */

	.welcome-section {
		padding:
			38px
			16px
			62px;
	}

	.welcome-section .container {
		width: 100%;
		max-width: 100%;
		padding: 0;
	}


	/* TÍTULO */

	.welcome-section h2 {
		width: 100%;
		margin: 0;

		font-size: 22px;
		line-height: 1.12;

		font-weight: 400;
		letter-spacing: -0.5px;

		text-align: center left;
	}

	.welcome-section h2 span {
		white-space: nowrap;
	}


	/* SUBTÍTULO */

	.welcome-section h3 {
		width: 100%;
		max-width: 390px;

		margin:
			4px
			auto
			0;

		font-size: 30px;
		line-height: 1.12;

		font-weight: 400;
		letter-spacing: -0.5px;

		text-align: center;

		text-wrap: balance;
	}


	/* PARÁGRAFO */

	.welcome-section p {
		width: 100%;
		max-width: 360px;

		margin:
			24px
			auto
			0;

		font-size: 15px;
		line-height: 1.55;

		font-weight: 400;

		text-align: center;

		text-wrap: balance;
	}
	
    .welcome-button {
        margin-top: 22px;

        min-height: 42px;

        padding:
            0
            28px;

        font-size: 15px;
    }

    /* =====================================================
       BENEFÍCIOS
    ===================================================== */

    .benefits-area {
        width: 100%;

        margin-top: 48px;
    }

    .benefits-area h3 {
        margin-bottom: 28px;

        font-size: 21px;
        line-height: 1.25;
    }


    /* 2 BENEFÍCIOS POR LINHA */

    .benefits-grid {
        width: 100%;
        max-width: 340px;

        display: grid;

        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap:
            30px
            24px;

        margin:
            0
            auto;
    }


    .benefit-item {
        width: 100%;

        gap: 10px;

        text-align: center;
    }

    .benefit-item i {
        font-size: 39px;
        line-height: 1;
    }

    .benefit-item span {
        font-size: 13px;
        line-height: 1.3;
    }


    /* =====================================================
       TEXTO INFERIOR
    ===================================================== */

    .benefits-description {
        max-width: 340px;

        margin:
            30px
            auto
            0;

        font-size: 14px;
        line-height: 1.4;
    }


    /* =====================================================
       BOTÃO INFERIOR
    ===================================================== */

    .benefits-button {
        margin-top: 22px;

        min-height: 42px;

        padding:
            0
            28px;

        font-size: 15px;
    }
	
	/* =====================================================
       TRANSFER SECTION
    ===================================================== */

	.transfer-section {
        min-height: 560px;

        margin-top: -41px;

        background-position: 56% center;
    }

    .transfer-container {
        min-height: 560px;

        display: flex;
        flex-direction: column;
        justify-content: flex-start;

        padding:
            42px
            20px
            90px;
    }


    /* ================================
       TEXTO SUPERIOR
    ================================ */

    .transfer-top-card {
        width: 100%;
        max-width: 330px;

        margin: 0 auto;

        text-align: center;
    }

    .transfer-top-card p {
        width: 100%;

        margin: 0;

        padding:
            14px
            18px;

        border-radius: 18px;

        font-size: 13px;
        line-height: 1.35;
    }


    /* ================================
       BOTÃO
    ================================ */

    .transfer-reserve-button {
        width: auto;
        min-width: 210px;
        max-width: 240px;

        min-height: 44px;

        display: inline-flex;

        margin:
            12px
            auto
            0;

        padding:
            0
            24px;

        font-size: 14px;
    }


    /* ================================
       TEXTO INFERIOR
    ================================ */

    .transfer-bottom-text {
        width: 100%;
        max-width: 330px;

        margin:
            auto
            auto
            10px;
    }

    .transfer-bottom-text p {
        width: 100%;

        margin: 0;

        font-size: 15px;
        line-height: 1.28;

        text-align: center;
    }
	
	.ponce-home-sobre {
        padding:
            125px
            22px
            95px;
    }

    /* LOGO CIRCULAR */

    .transfer-logo-circle {
        top: -58px;

        width: 165px;
        height: 165px;

        padding: 11px;

        border-width: 5px;

        box-shadow:
            0 0 0 7px
            rgba(255, 255, 255, .18);
    }

    .transfer-logo-circle .custom-logo-link {
        width: 100% !important;
        height: 100% !important;
    }

    .transfer-logo-circle .custom-logo {
        width: 145px !important;
        height: auto !important;

        max-width: none !important;
    }

    /* CONTEÚDO */

    .ponce-home-sobre-conteudo {
        width: 100%;
        max-width: 340px;

        margin: 0 auto;
    }

    .ponce-home-sobre-conteudo p {
        max-width: 340px;

        margin:
            0
            auto
            24px;

        font-size: 15px;
        line-height: 1.55;

        text-align: center;
    }

    /* BOTÃO */

    .ponce-home-sobre-btn {
        min-width: 190px;

        padding:
            11px
            26px;

        font-size: 15px;
    }

    /* CURVA */

    .ponce-home-sobre-curva {
        bottom: -42px;

        width: 140%;
        height: 82px;
    }
	
	 .google-reviews-section {
        padding:
            45px
            18px
            70px;
    }

    /* CABEÇALHO */

    .google-reviews-header {
        margin:
            -70px
            0
            24px;

        text-align: center;
    }

    .google-g-image {
        width: 72px;
    }

    .google-reviews-header > strong {
        font-size: 15px;
    }

    .google-reviews-header h2 {
        font-size: 20px;
    }

    .google-stars {
        font-size: 18px;
    }


    /* =====================================================
       CARDS - 1 POR LINHA
    ===================================================== */

    .google-reviews-grid {
        width: 100%;

        display: grid;

        grid-template-columns: 1fr;

        gap: 18px;

        margin: 0 auto;
    }

    .google-review-card {
        width: 100%;
        min-height: auto;

        padding:
            18px
            18px
            20px;

        border-radius: 13px;
    }


    /* TOPO DO CARD */

    .google-review-top {
        width: 100%;

        align-items: flex-start;

        gap: 10px;

        margin-bottom: 13px;
    }

    .review-profile {
        flex: 1;

        min-width: 0;

        gap: 10px;
    }

    .review-profile > div:last-child {
        min-width: 0;
    }

    .review-profile strong {
        font-size: 13px;
        line-height: 1.2;
    }

    .review-profile small {
        font-size: 9px;
        line-height: 1.3;
    }

    /* LOGO GOOGLE DO CARD */

    .review-google-logo {
        width: 38px;
        height: 38px;
    }

    /* ESTRELAS / TEMPO */

    .review-meta {
        gap: 8px;

        margin-bottom: 13px;

        font-size: 9px;
    }

    .review-stars {
        font-size: 14px;
    }

    /* TEXTO */

    .google-review-card p {
        font-size: 12px;
        line-height: 1.45;
    }

    /* CTA */

    .google-reviews-cta {
        margin-top: 32px;
    }

    .google-reviews-button {
        min-width: 220px;

        font-size: 14px;
    }

    /* TÍTULO ATENDIMENTO ONLINE */

    .google-online-title {
        max-width: 320px;

        margin:
            42px
            auto
            0;

        font-size: 21px;
        line-height: 1.25;
    }
	
	.ponce-atendimento-online {
		position: relative;

		width: 100vw;
		max-width: none;

		margin-left: -18px;
		margin-right: 0;

		margin-top: -110px;

		overflow: hidden;
	}

	/* IMAGEM DO V */
	.ponce-atendimento-imagem {
		position: relative;

		z-index: 1;

		display: block;

		width: 100%;
		height: 600px;

		max-width: none;

		margin-top: -180px;

	}

    /* TEXTO + BOTÃO POR CIMA DA IMAGEM */
    .ponce-atendimento-conteudo {
		position: absolute;

		left: 50%;
		bottom: 40px;

		z-index: 5;

		width: calc(100% - 44px);
		max-width: 340px;

		transform: translateX(-50%);

		text-align: center;
    }


    /* TEXTO */
    .ponce-atendimento-conteudo p {
		width: 100%;
		max-width: 100%;

		margin: 0 auto 20px;

		color: #ffffff;

		font-size: 13px;
		line-height: 1.38;

		font-weight: 300;
    }

    .ponce-atendimento-conteudo p strong {
    	font-weight: 600;
    }

    /* BOTÃO */
    .ponce-atendimento-btn {
		display: inline-flex;

		align-items: center;
		justify-content: center;

		min-width: 220px;
		min-height: 42px;

		padding: 8px 24px;

		background: #000000;
		color: #ffffff;

		border-radius: 999px;

		font-size: 14px;

		text-decoration: none;
    }
	
	/* =====================================================
       PONCE RECEPCAO ESPERA
    ===================================================== */
	.ponce-recepcao-espera {
        position: relative;

        width: 100%;
        min-height: 420px;
		
		margin: 0;
		padding: 0;

        background-position: center center;
        background-size: cover;
		
		margin-top: -70px;
		
        overflow: hidden;
    }


    /* OVERLAY */
    .ponce-recepcao-overlay {
        position: absolute;

        inset: 0;

        width: 100%;
        height: 100%;

        background: rgba(0, 0, 0, 0.42);

        z-index: 1;
    }


    /* CONTEÚDO */
    .ponce-recepcao-conteudo {
        position: absolute;

        top: 50%;
        left: 50%;

        z-index: 2;

        width: calc(100% - 50px);
        max-width: 350px;

        transform: translate(-50%, -50%);

        text-align: center;
    }


    /* TÍTULO */
    .ponce-recepcao-conteudo h2 {
        width: 100%;

        margin: 0;

        color: #ffffff;

        font-size: 22px;
        line-height: 1.18;

        font-weight: 300;

        text-align: center;
    }
	
	/* =====================================================
     FOOTER
    ===================================================== */

    .ponce-footer {
    	width: 100%;

    	margin: 0;

    	padding:
       	  30px
      	  20px
      	  32px;

    	overflow: hidden;

    	background: #0c1b31;
    }

    /* =====================================================
       ESTRUTURA PRINCIPAL
    ===================================================== */

    .ponce-footer-inner {
		width: 100%;
		max-width: 100%;

		margin: 0 auto;
		padding: 0;

		display: flex;
		flex-direction: column;

		align-items: center;
		justify-content: center;

		gap: 26px;
    }

    /* =====================================================
       LOGO + CNPJ
    ===================================================== */

    .ponce-footer-left {
		position: static;

		width: 100%;

		display: flex;
		flex-direction: column;

		align-items: center;
		justify-content: center;

		margin: 0;
		padding: 0;

		transform: none;

		text-align: center;
    }

    .ponce-footer-logo {
		width: 190px;
		max-width: 70%;

		height: auto;

		display: block;

		margin: 0 auto;
    }

    .ponce-footer-cnpj {
		width: 100%;
		max-width: 330px;

		margin:
		  10px
		  auto
		  0;

		color: #ffffff;

		font-size: 10px;
		line-height: 1.4;

		text-align: center;

		white-space: normal;
    }

    /* =====================================================
       CENTRO - CONTATOS
    ===================================================== */

    .ponce-footer-middle {
		position: static;

		width: 100%;
		max-width: 340px;

		margin: 0 auto;
		padding: 0;

		transform: none;
    }

    .ponce-footer-contatos {
		width: 100%;

		display: flex;
		flex-direction: column;

		align-items: stretch;
		justify-content: flex-start;

		gap: 13px;

		margin: 0;
		padding: 0;
    }

    /* =====================================================
       LINKS / CONTATOS
    ===================================================== */

    .ponce-footer-contatos a {
		width: 100%;

		display: grid;

		grid-template-columns:
		  26px
		  minmax(0, 1fr);

		align-items: start;

		gap: 10px;

		margin: 0;
		padding: 0;

		color: #ffffff;

		font-size: 15px;
		line-height: 1.35;

		text-decoration: none;
    }

    .ponce-footer-contatos a i {
		width: 26px;

		flex: none;

		margin-top: 1px;

		color: #ffffff;

		font-size: 21px;
		line-height: 1.2;

		text-align: center;
    }

    .ponce-footer-contatos a span {
		min-width: 0;

		color: #ffffff;

		font-size: 15px;
		line-height: 1.35;

		text-align: left;

		white-space: normal;

		overflow-wrap: break-word;
    }


    /* ENDEREÇO */
    .ponce-footer-endereco span,
    .ponce-footer-contatos a[href*="google.com/maps"] span {
    	white-space: normal;
    }


    /* WHATSAPP + EMAIL */
    .ponce-footer-contatos a[href^="https://wa.me"],
    .ponce-footer-contatos a[href^="mailto:"] {
    	text-decoration: underline;
    	text-underline-offset: 2px;
    }

    /* =====================================================
       PAGAMENTOS
    ===================================================== */

    .ponce-footer-contatos .ponce-footer-pagamentos {
		width: 100%;
		max-width: 310px;

		height: auto;

		display: block;

		margin:
		  -80px
		  auto
		  0;

		padding: 0;

		object-fit: contain;
		object-position: center;

		transform: none;
    }

    /* =====================================================
       REDES SOCIAIS
    ===================================================== */

    .ponce-footer-right {
		position: static;

		width: 100%;

		display: flex;

		align-items: center;
		justify-content: center;

		gap: 20px;

		margin-top: -80px;
		padding: 0;

		transform: none;
    }

    .ponce-footer-right a {
		display: inline-flex;

		align-items: center;
		justify-content: center;

		margin: 0;
		padding: 0;

		transform: none;
    }

    .ponce-footer-right i {
    	font-size: 30px;
    }

    /* =====================================================
       WHATSAPP FLUTUANTE
    ===================================================== */

    .ponce-whatsapp-float {
		right: 16px;
		bottom: 16px;

		width: 56px;
		height: 56px;
    }

    .ponce-whatsapp-float i {
        font-size: 30px;
    }
	
	/* =====================================================
       ETAPA 2 - CONTAINER
    ===================================================== */

    .step2-wrapper {
        width: 100%;
        max-width: 100%;

        padding: 6px 0 10px;

        overflow: visible;
    }


    /* =====================================================
       CABEÇALHO
    ===================================================== */

    .step2-header {
        width: 100%;

        display: flex;
        align-items: flex-start;

        gap: 14px;

        margin-bottom: 24px;
    }

    .step2-number {
        flex: 0 0 56px;

        width: 56px;
        height: 56px;

        border-radius: 16px;

        font-size: 22px;
    }

    .step2-header > div:last-child {
        min-width: 0;
        flex: 1;
    }

    .step2-kicker {
        font-size: 9px;
        letter-spacing: 1.2px;
    }

    .step2-header h2 {
        margin-top: 4px;

        font-size: 25px;
        line-height: 1.08;
    }

    .step2-header p {
        margin-top: 7px;

        font-size: 13px;
        line-height: 1.4;
    }


    /* =====================================================
       JÁ ESTACIONOU COM A PONCE PARK
    ===================================================== */

    .returning-client-card {
        width: 100%;

        display: grid;

        grid-template-columns: 46px minmax(0, 1fr);

        gap: 13px;

        padding: 16px;

        margin-bottom: 20px;

        border-radius: 15px;
    }

    .returning-client-icon {
        width: 46px;
        height: 46px;

        border-radius: 13px;

        font-size: 21px;
    }

    .returning-client-text {
        margin-bottom: 12px;
    }

    .returning-client-text strong {
        font-size: 14px;
        line-height: 1.3;
    }

    .returning-client-text span {
        margin-top: 4px;

        font-size: 11px;
        line-height: 1.4;
    }


    /* BUSCA */

    .returning-client-search {
        width: 100%;

        display: grid;

        grid-template-columns: 1fr;

        gap: 10px;
    }

    .returning-client-search .client-input {
        width: 100%;
        min-width: 0;
    }

    .btn-buscar-cliente {
        width: 100%;
        min-width: 0;
        min-height: 46px;
    }


    /* =====================================================
       CARDS CLIENTE + VEÍCULO
    ===================================================== */

    .step2-grid {
        width: 100%;

        display: grid !important;

        grid-template-columns: 1fr !important;

        gap: 16px;

        margin-bottom: 18px;
    }

    .step2-card {
        width: 100%;
        min-width: 0;

        padding: 18px 16px;

        border-radius: 15px;
    }

    .step2-card-title {
        gap: 11px;

        margin-bottom: 17px;
    }

    .step2-card-icon {
        flex: 0 0 42px;

        width: 42px;
        height: 42px;
    }

    .step2-card-title strong {
        font-size: 15px;
    }

    .step2-card-title small {
        font-size: 11px;
        line-height: 1.35;
    }


    /* =====================================================
       CAMPOS
    ===================================================== */

    .step2-fields {
        width: 100%;

        display: grid;

        grid-template-columns: 1fr !important;

        gap: 14px;
    }

    .client-field,
    .client-field-full {
        width: 100%;
        min-width: 0;

        grid-column: auto;
    }

    .client-field label {
        margin-bottom: 6px;

        font-size: 10px;
    }

    .client-input {
        width: 100%;
        min-width: 0;
        height: 48px;

        padding: 0 13px;

        font-size: 14px;
    }


    /* =====================================================
       RESUMO
    ===================================================== */

    .step2-summary {
        width: 100%;

        overflow: hidden;

        border-radius: 15px;
    }

    .step2-summary-top {
        grid-template-columns: 1fr !important;
    }

    .step2-summary-item {
        width: 100%;

        padding: 14px 16px;

        border-right: 0;
        border-bottom: 1px solid #ececec;
    }

    .step2-summary-item:last-child {
        border-bottom: 0;
    }


    .step2-summary-bottom {
        grid-template-columns: 1fr !important;
    }

    .step2-summary-mode {
        padding: 15px 16px;
    }

    .step2-summary-total,
    .step2-summary-totals {
        width: 100%;
        min-width: 0;
    }

    .step2-summary-totals {
        grid-template-columns: 1fr !important;
    }

    .step2-total-option {
        width: 100%;

        padding: 14px 16px;
    }

    .step2-total-option:first-child {
        border-right: 0;
        border-bottom:
            1px solid
            rgba(255, 255, 255, .25);
    }


    /* =====================================================
       BOTÕES
    ===================================================== */

    .step2-actions {
        width: 100%;

        display: flex;
        flex-direction: column-reverse;

        gap: 10px;

        margin-top: 18px;
    }

    .btn-voltar-reserva,
    .btn-avancar-reserva {
        width: 100%;
        min-width: 0;
        min-height: 48px;
    }
	
	 .step3-wrapper {
        width: 100%;
        max-width: 100%;

        padding: 6px 0 10px;

        overflow: visible;
    }


    /* =====================================================
       CABEÇALHO
    ===================================================== */

    .step3-header {
        width: 100%;

        display: flex;
        align-items: flex-start;

        gap: 14px;

        margin-bottom: 20px;
    }

    .step3-number {
        flex: 0 0 56px;

        width: 56px;
        height: 56px;

        border-radius: 16px;

        font-size: 22px;
    }

    .step3-header > div:last-child {
        min-width: 0;

        flex: 1;
    }

    .step3-kicker {
        font-size: 9px;
        letter-spacing: 1.2px;
    }

    .step3-header h2 {
        margin-top: 3px;

        font-size: 24px;
        line-height: 1.08;
    }

    .step3-header p {
        margin-top: 6px;

        font-size: 12px;
        line-height: 1.4;
    }


    /* =====================================================
       STATUS
    ===================================================== */

    .step3-status {
        width: 100%;

        display: grid;

        grid-template-columns: 1fr !important;

        gap: 8px;

        margin-bottom: 16px;
    }

    .step3-status > div {
        width: 100%;
        min-width: 0;

        min-height: 44px;

        padding: 10px 12px;
    }


    /* =====================================================
       CARDS
    ===================================================== */

    .step3-grid {
        width: 100%;

        display: grid !important;

        grid-template-columns: 1fr !important;

        gap: 15px;

        margin-bottom: 16px;
    }

    .step3-card {
        width: 100%;
        min-width: 0;

        padding: 17px 15px;

        border-radius: 15px;
    }

    .step3-card-heading {
        gap: 11px;

        margin-bottom: 15px;
    }

    .step3-card-heading > span {
        flex: 0 0 42px;

        width: 42px;
        height: 42px;
    }

    .step3-card-heading strong {
        font-size: 14px;
    }

    .step3-card-heading small {
        font-size: 10px;
        line-height: 1.35;
    }


    /* =====================================================
       DADOS DOS CARDS
    ===================================================== */

    .step3-data-grid {
        width: 100%;

        display: grid !important;

        grid-template-columns: 1fr 1fr !important;

        gap: 10px;
    }

    .step3-data-item {
        min-width: 0;

        padding: 11px 10px;
    }

    .step3-data-item span {
        font-size: 8px;
    }

    .step3-data-item strong {
        font-size: 11px;
        line-height: 1.3;

        overflow-wrap: anywhere;
    }


    /* =====================================================
       FORMA SELECIONADA + TOTAL
    ===================================================== */

    .step3-final {
        width: 100%;

        display: grid !important;

        grid-template-columns: 1fr !important;

        margin-bottom: 16px;

        border-radius: 15px;
    }

    .step3-final-info {
        width: 100%;

        padding: 15px 16px;
    }

    .step3-final-price {
        width: 100%;
        min-width: 0 !important;

        padding: 16px;

        text-align: left;
    }


    /* =====================================================
       RESERVA PARA
    ===================================================== */

    .step3-client-confirm {
        width: 100%;

        min-width: 0;

        padding: 14px 16px;

        margin-bottom: 16px;
    }


    /* =====================================================
       AÇÕES
    ===================================================== */

    .step3-actions,
    .step3-actions-confirm {
        width: 100%;

        display: flex !important;

        flex-direction: column-reverse !important;

        gap: 10px;
    }

    .step3-primary-actions {
        width: 100%;

        display: grid !important;

        grid-template-columns: 1fr !important;

        gap: 10px;
    }

    .btn-step3-back,
    .btn-confirmar-reserva {
        width: 100% !important;
        min-width: 0;

        min-height: 48px;

        margin: 0;
    }


    /* =====================================================
       SEGURANÇA
    ===================================================== */

    .step3-security {
        width: 100%;

        margin-top: 14px;

        padding: 0 8px;

        font-size: 9px;
        line-height: 1.4;
    }
	
	/* =====================================================
	   ETAPA 4 - MOBILE
	===================================================== */

	.step4-wrapper {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;

		padding: 8px 0 12px;

		box-sizing: border-box;

		overflow: visible !important;
	}

	/* =====================================================
	   ÍCONE DE SUCESSO
	===================================================== */

	.step4-success-icon {
		width: 64px;
		height: 64px;

		margin: 0 auto 14px;

		font-size: 28px;
	}

	/* =====================================================
	   CABEÇALHO
	===================================================== */

	.step4-header {
		width: 100%;
		max-width: 100%;

		margin: 0 auto 20px;

		padding: 0 10px;

		text-align: center;

		box-sizing: border-box;
	}

	.step4-kicker {
		font-size: 9px;
		letter-spacing: 1.3px;
	}

	.step4-header h2 {
		width: 100%;
		max-width: 320px;

		margin: 6px auto 8px;

		font-size: 27px;
		line-height: 1.08;

		text-align: center;
	}

	.step4-header p {
		width: 100%;
		max-width: 320px;

		margin: 0 auto;

		font-size: 12px;
		line-height: 1.4;

		text-align: center;
	}

	/* =====================================================
	   CARD PRINCIPAL
	===================================================== */

	.step4-summary {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;

		margin: 0 auto 16px;

		border-radius: 15px;

		overflow: hidden !important;

		box-sizing: border-box;
	}

	/* =====================================================
	   NOME + VALOR TOTAL
	===================================================== */

	.step4-summary-header {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;

		display: grid !important;

		grid-template-columns:
			minmax(0, 1fr)
			minmax(0, 1fr) !important;

		box-sizing: border-box;
	}

	.step4-summary-header > div {
		width: auto !important;
		max-width: 100% !important;
		min-width: 0 !important;

		padding: 16px 14px;

		box-sizing: border-box;
	}

	.step4-summary-header > div:first-child {
		display: flex;
		flex-direction: column;

		justify-content: center;
	}

	.step4-summary-header span {
		display: block;

		margin-bottom: 7px;

		font-size: 8px;
		line-height: 1.2;
	}

	.step4-summary-header strong {
		display: block;

		max-width: 100%;

		font-size: 18px;
		line-height: 1.25;

		white-space: normal;

		overflow-wrap: break-word;
	}

	.step4-total {
		display: flex !important;
		flex-direction: column;

		justify-content: center;

		text-align: left;
	}

	.step4-total strong {
		font-size: 25px !important;
		line-height: 1.05;
	}

	/* =====================================================
	   DADOS DA RESERVA

	   2 COLUNAS NO MOBILE:
	   Entrada        Saída
	   Vaga           Período
	   Veículo        Placa
	   Forma          Passageiros
	===================================================== */

	.step4-info-grid {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;

		display: grid !important;

		grid-template-columns:
			repeat(2, minmax(0, 1fr)) !important;

		margin: 0 !important;
		padding: 0 !important;

		box-sizing: border-box !important;

		overflow: hidden !important;
	}

	/* CADA CÉLULA */

	.step4-info {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;

		min-height: 92px;

		display: flex;
		flex-direction: column;

		align-items: flex-start;
		justify-content: center;

		padding: 13px 12px !important;

		box-sizing: border-box !important;

		overflow: hidden !important;
	}

	/* REMOVE QUALQUER LARGURA DESKTOP */

	.step4-info:nth-child(n) {
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;

		grid-column: auto !important;
	}

	/* LABEL */

	.step4-info span {
		display: block;

		width: 100%;
		max-width: 100%;

		margin-bottom: 7px;

		font-size: 8px;
		line-height: 1.2;

		white-space: normal;
	}

	/* VALOR */

	.step4-info strong {
		display: block;

		width: 100%;
		max-width: 100%;

		font-size: 12px;
		line-height: 1.35;

		white-space: normal !important;

		overflow-wrap: anywhere !important;
		word-break: normal !important;
	}

	/* =====================================================
	   BORDAS DA GRADE
	===================================================== */

	.step4-info:nth-child(odd) {
		border-right: 1px solid #ececec;
	}

	.step4-info:nth-child(-n + 6) {
		border-bottom: 1px solid #ececec;
	}

	/* =====================================================
	   AVISO DO TRASLADO
	===================================================== */

	.step4-message {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;

		display: flex !important;

		align-items: center;

		gap: 12px;

		margin: 0 auto 16px;

		padding: 14px 16px;

		border-radius: 14px;

		box-sizing: border-box;
	}

	.step4-message > i {
		flex: 0 0 auto;

		font-size: 23px;
	}

	.step4-message > div {
		flex: 1;

		min-width: 0;
	}

	.step4-message strong {
		display: block;

		font-size: 12px;
		line-height: 1.3;
	}

	.step4-message span {
		display: block;

		margin-top: 3px;

		font-size: 9px;
		line-height: 1.35;
	}

	/* =====================================================
	   BOTÕES
	===================================================== */

	.step4-actions {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;

		display: grid !important;

		grid-template-columns: 1fr !important;

		gap: 10px;

		margin-top: 0;

		box-sizing: border-box;
	}

	.step4-action {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;

		min-height: 56px;

		margin: 0 !important;

		padding: 12px 16px;

		box-sizing: border-box;
	}

	/* =====================================================
	   NOVA RESERVA
	===================================================== */

	.step4-new-reservation {
		width: fit-content;
		max-width: 100%;

		display: flex;

		align-items: center;
		justify-content: center;

		gap: 7px;

		margin: 18px auto 0;

		font-size: 11px;
	}

	#btnContinuarReserva {
        width: 100% !important;

        margin:
            12px
            0
            14px !important;
    }
	
	/* =====================================================
	   PADRONIZAR DATA E HORA - MOBILE
	===================================================== */

	.sim-field-group:not(.sim-field-vaga) .sim-control {
		height: 44px !important;
		min-height: 44px !important;

		display: flex !important;
		align-items: center !important;

		box-sizing: border-box !important;

		margin: 0 !important;
		padding: 0 !important;
	}


	/* DATA */
	.sim-field-group:not(.sim-field-vaga)
	.sim-control input[type="date"] {
		width: 100% !important;

		height: 44px !important;
		min-height: 44px !important;

		margin: 0 !important;
		padding:
			0
			38px
			0
			12px !important;

		box-sizing: border-box !important;

		line-height: 44px !important;
	}


	/* HORA */
	.sim-field-group:not(.sim-field-vaga)
	.sim-control .sim-select {
		width: 100% !important;

		height: 44px !important;
		min-height: 44px !important;

		margin: 0 !important;
		padding:
			0
			38px !important;

		box-sizing: border-box !important;

		line-height: 44px !important;

		text-align: center !important;
		text-align-last: center !important;

		vertical-align: middle !important;
	}


	/* REMOVE DESLOCAMENTOS NATIVOS DO IOS */
	.sim-field-group:not(.sim-field-vaga)
	.sim-control select {
		top: auto !important;
		bottom: auto !important;

		transform: none !important;
	}


	/* GARANTE A MESMA POSIÇÃO VISUAL */
	.sim-field-group:not(.sim-field-vaga)
	.sim-field-around {
		align-items: flex-end !important;
	}

}

/* =====================================================
   TABLET - 768PX ATÉ 1024PX
===================================================== */

@media (min-width: 768px) and (max-width: 1024px) {
	/* =====================================================
	   MENU MOBILE ABERTO - TABLET
	===================================================== */

	.mobile-menu {
		display: none !important;

		width: 100% !important;

		background: #071b38 !important;

		border-top: 1px solid rgba(255, 255, 255, 0.08) !important;

		padding: 0 !important;

		box-shadow: 0 12px 24px rgba(0, 0, 0, 0.18) !important;
	}

	/* MOSTRA QUANDO ABERTO */

	.mobile-menu.is-open {
		display: block !important;
	}

	/* CONTAINER INTERNO */

	.mobile-menu .container {
		width: 100% !important;
		max-width: 100% !important;

		padding:
			22px
			28px
			26px !important;
	}

	/* =====================================================
	   LISTA
	===================================================== */

	.mobile-menu-list {
		display: flex !important;
		flex-direction: column !important;

		align-items: stretch !important;

		gap: 0 !important;

		width: 100% !important;

		margin: 0 !important;
		padding: 0 !important;
	}

	/* ITENS */

	.mobile-menu-list li {
		width: 100% !important;

		margin: 0 !important;
		padding: 0 !important;

		border-bottom:
			1px solid rgba(255, 255, 255, 0.10) !important;
	}

	/* LINKS */

	.mobile-menu-list li a {
		display: flex !important;
		align-items: center !important;

		width: 100% !important;

		padding:
			14px
			4px !important;

		color: #ffffff !important;

		font-size: 16px !important;
		line-height: 1.25 !important;

		font-weight: 500 !important;

		text-decoration: none !important;
	}

	/* HOVER */

	.mobile-menu-list li a:hover {
		color: #f75a00 !important;
	}

	/* =====================================================
	   BOTÃO RESERVE
	===================================================== */

	.btn-reserve-mobile {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;

		width: 100% !important;
		max-width: 320px !important;

		min-height: 46px !important;

		margin:
			22px
			0
			0 !important;

		padding:
			10px
			22px !important;

		border-radius: 10px !important;

		background: #f75a00 !important;

		color: #ffffff !important;

		font-size: 15px !important;
		font-weight: 600 !important;

		text-decoration: none !important;
	}

	/* =====================================================
	   HAMBÚRGUER
	===================================================== */

	.mobile-menu-toggle {
		color: #ffffff !important;

		border:
			1px solid rgba(255, 255, 255, 0.7) !important;

		border-radius: 6px !important;
	}

	.mobile-menu-toggle:hover {
		background:
			rgba(255, 255, 255, 0.08) !important;
	}
	
	/* =====================================================
	   HEADER - TABLET
	===================================================== */

	.main-header-inner {
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		gap: 20px !important;
	}

	/* LOGO */

	.site-branding {
		display: flex !important;
		align-items: center !important;
		flex: 0 0 auto !important;
	}

	.site-logo-link {
		display: inline-flex !important;
		align-items: center !important;
	}

	.logo-poncepark {
		width: 220px !important;
		max-width: 100% !important;
		height: auto !important;
		display: block !important;
	}

	/* ESCONDE MENU DESKTOP */

	.desktop-nav {
		display: none !important;
	}

	/* ESCONDE CTA DESKTOP */

	.btn-reserve-header {
		display: none !important;
	}

	/* MOSTRA HAMBÚRGUER */

	.mobile-menu-toggle {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;

		flex: 0 0 auto !important;

		width: 46px !important;
		height: 46px !important;

		padding: 0 !important;
		margin: 0 !important;

		border: 0 !important;
		background: transparent !important;

		color: #ffffff !important;

		font-size: 34px !important;
		line-height: 1 !important;

		cursor: pointer !important;
	}

	.mobile-menu-toggle i {
		display: block !important;
		font-size: 34px !important;
		line-height: 1 !important;
	}

	/* MENU ABERTO */

	.mobile-menu {
		width: 100% !important;
	}

	.mobile-menu .container {
		width: 100% !important;
		max-width: 100% !important;

		padding-left: 28px !important;
		padding-right: 28px !important;
	}

    /* =================================================
       CONTAINER GERAL
    ================================================= */

    .container {
        width: 100%;
        max-width: 100%;
        padding-left: 28px;
        padding-right: 28px;
    }
	
	/* =====================================================
	   HERO + SIMULADOR - TABLET
	===================================================== */

	/* GARANTE ESPAÇO SUFICIENTE NO HERO */
	.home-hero {
		min-height: 420px !important;
		height: auto !important;

		padding-bottom: 90px !important;
	}

	/* SIMULADOR NÃO SOBE TANTO */
	.simulator-section,
	.home-simulator,
	#simulador {
		position: relative !important;

		margin-top: -45px !important;

		z-index: 20 !important;
	}

    /* =====================================================
	   TABLET - ORGANIZAÇÃO DO SIMULADOR
	===================================================== */

	.simulator-layout {
		display: grid !important;

		grid-template-columns: 1fr !important;

		gap: 20px !important;

		width: 100% !important;
	}

	/* COLUNA PRINCIPAL */

	.simulator-main {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}

	/* =====================================================
	   RESUMO
	===================================================== */

	.simulator-side {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;

		position: static !important;

		margin: 0 !important;
	}

	/* CARD DO RESUMO */

	.simulator-summary {
		width: 100% !important;
		max-width: 100% !important;

		margin: 0 !important;

		padding: 22px !important;
	}

	/* BOTÃO */

	#btnContinuarReserva {
		width: 100% !important;

		margin-top: 12px !important;
	}

	/* =====================================================
	   REGRAS
	===================================================== */

	.simulator-rules {
		width: 100% !important;

		display: grid !important;

		grid-template-columns: 1fr !important;

		gap: 14px !important;

		margin-top: 18px !important;
	}

	/* CADA CARD */

	.simulator-rule-card {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;

		margin: 0 !important;

		padding: 18px 20px !important;
	}

	/* TÍTULO DAS REGRAS */

	.simulator-rule-card h4 {
		font-size: 15px !important;
		line-height: 1.3 !important;
	}

	/* TEXTO */

	.simulator-rule-card li {
		font-size: 12px !important;
		line-height: 1.5 !important;
	}

    /* =====================================================
	   GOOGLE REVIEWS - TABLET / IPAD
	===================================================== */

	.google-reviews-section {
		position: relative !important;
		z-index: 10 !important;

		width: 100% !important;

		margin: 0 !important;

		padding:
			45px
			28px
			55px !important;

		background: #ffffff !important;

		overflow: visible !important;
	}

	/* CABEÇALHO */

	.google-reviews-header {
		margin:
			-80px
			0
			24px !important;

		padding: 0 !important;

		text-align: center !important;
	}

	.google-g-image {
		width: 90px !important;
	}

	.google-reviews-header > strong {
		font-size: 15px !important;
	}

	.google-reviews-header h2 {
		font-size: 20px !important;
	}

	.google-stars {
		font-size: 18px !important;
	}

	/* =====================================================
	   CARDS
	===================================================== */

	.google-reviews-grid {
		width: 100% !important;
		max-width: 700px !important;

		display: grid !important;

		grid-template-columns:
			repeat(3, minmax(0, 1fr)) !important;

		gap: 14px !important;

		margin:
			0
			auto !important;

		align-items: stretch !important;
	}

	.google-review-card {
		width: 100% !important;
		min-width: 0 !important;

		min-height: 250px !important;
		height: auto !important;

		margin: 0 !important;

		padding:
			16px
			14px
			18px !important;

		box-sizing: border-box !important;
	}

	/* GARANTE QUE O TERCEIRO NÃO DESCERÁ */

	.google-review-card:nth-child(3) {
		grid-column: auto !important;

		width: 100% !important;

		justify-self: stretch !important;
	}

	/* TOPO */

	.google-review-top {
		gap: 8px !important;

		margin-bottom: 11px !important;
	}

	.review-profile {
		gap: 8px !important;
	}

	.review-avatar,
	.review-avatar-photo > img {
		width: 36px !important;
		height: 36px !important;
	}

	.review-avatar {
		flex-basis: 36px !important;

		font-size: 15px !important;
	}

	.review-profile strong {
		font-size: 11px !important;
		line-height: 1.15 !important;
	}

	.review-profile small {
		font-size: 7.5px !important;
		line-height: 1.2 !important;
	}

	.review-google-logo {
		width: 31px !important;
		height: 31px !important;
	}

	/* ESTRELAS */

	.review-meta {
		gap: 6px !important;

		margin-bottom: 10px !important;

		font-size: 7.5px !important;
	}

	.review-stars {
		font-size: 12px !important;
	}

	/* TEXTO */

	.google-review-card p {
		font-size: 9.5px !important;
		line-height: 1.38 !important;
	}

	/* =====================================================
	   BOTÃO FAÇA UM ORÇAMENTO
	===================================================== */

	.google-reviews-cta {
		margin-top: 34px !important;

		text-align: center !important;
	}

	.google-reviews-button {
		min-width: 240px !important;

		margin: 0 auto !important;

		font-size: 14px !important;
	}

	/* =====================================================
	   TÍTULO "ATENDIMENTO ONLINE..."
	===================================================== */

	.google-online-title {
		width: 100% !important;
		max-width: 620px !important;

		margin:
			42px
			auto
			0 !important;

		font-size: 25px !important;
		line-height: 1.2 !important;

		text-align: center !important;
	}

	/* =====================================================
	   ATENDIMENTO ONLINE - TABLET / IPAD
	===================================================== */

	.ponce-atendimento-online {
		position: relative !important;

		width: 100vw !important;
		max-width: none !important;

		margin-left: calc(50% - 50vw) !important;
		margin-right: calc(50% - 50vw) !important;

		/* SOBE TUDO JUNTO */
		margin-top: -300px !important;

		height: 620px !important;
		min-height: 520px !important;

		overflow: hidden !important;

		background: #f75a00 !important;
	}

	/* IMAGEM VOLTA PARA A POSIÇÃO NORMAL */
	.ponce-atendimento-imagem {
		position: absolute !important;

		top: 0 !important;
		left: 0 !important;

		z-index: 1 !important;

		width: 100% !important;
		height: 100% !important;

		object-fit: fill !important;
	}

	/* TEXTO */
	.ponce-atendimento-conteudo {
		position: absolute !important;

		left: 50% !important;
		bottom: 38px !important;

		z-index: 5 !important;

		width: calc(100% - 110px) !important;
		max-width: 700px !important;

		transform: translateX(-50%) !important;

		text-align: center !important;
	}

	/* =====================================================
	   TEXTO
	===================================================== */

	.ponce-atendimento-conteudo p {
		width: 100% !important;
		max-width: 650px !important;

		margin:
			0
			auto
			28px !important;

		color: #ffffff !important;

		font-size: 15px !important;
		line-height: 1.5 !important;

		font-weight: 300 !important;
	}

	.ponce-atendimento-conteudo p strong {
		font-weight: 600 !important;
	}

	/* =====================================================
	   BOTÃO
	===================================================== */

	.ponce-atendimento-btn {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;

		min-width: 270px !important;
		min-height: 46px !important;

		padding:
			9px
			30px !important;

		margin: 0 auto !important;

		font-size: 15px !important;
	}

    /* =================================================
       ATENDIMENTO ONLINE
    ================================================= */

    .ponce-online-section,
    .atendimento-online {
        height: auto !important;
        min-height: 0 !important;

        padding:
            54px
            32px !important;
    }
	
	.ponce-recepcao-espera {
		margin-top: -55px;
	}
	
	/* =====================================================
	   PÁGINA PREÇOS - TEXTO EXPLICATIVO - TABLET / IPAD
	===================================================== */

	.ponce-prices-explicacao {
		width: 100% !important;
		max-width: 100% !important;

		margin: 0 auto !important;

		padding:
			42px
			36px
			54px !important;

		text-align: center !important;
	}

	/* TEXTO */

	.ponce-prices-explicacao p {
		width: 100% !important;
		max-width: 920px !important;

		margin:
			0
			auto
			34px !important;

		font-size: 22px !important;
		line-height: 1.45 !important;

		font-weight: 400 !important;

		text-align: center !important;
	}

	/* REMOVE QUEBRAS MANUAIS DO DESKTOP */

	.ponce-prices-explicacao br {
		display: none !important;
	}

	/* BOTÃO */

	.ponce-prices-btn-laranja {
		min-width: 300px !important;
		min-height: 50px !important;

		display: inline-flex !important;

		align-items: center !important;
		justify-content: center !important;

		margin: 0 auto !important;

		padding:
			10px
			32px !important;

		font-size: 18px !important;
	}
	
	/* =====================================================
	   PÁGINA PREÇOS - BLOCO "MELHOR ESCOLHA"
	   TABLET / IPAD
	===================================================== */

	.ponce-prices-escolha {
		position: relative !important;

		min-height: 680px !important;

		overflow: hidden !important;
	}


	/* IMAGEM */

	.ponce-prices-escolha-imagem {
		width: 100% !important;
		height: 100% !important;

		position: absolute !important;

		inset: 0 !important;

		object-fit: cover !important;
		object-position: center center !important;
	}


	/* OVERLAY */

	.ponce-prices-escolha-overlay {
		position: absolute !important;

		inset: 0 !important;

		background:
			linear-gradient(
				90deg,
				rgba(0, 0, 0, .62) 0%,
				rgba(0, 0, 0, .42) 55%,
				rgba(0, 0, 0, .18) 100%
			) !important;

		z-index: 1 !important;
	}


	/* CONTAINER */

	.ponce-prices-escolha-inner {
		position: relative !important;

		z-index: 2 !important;

		width: 100% !important;
		min-height: 680px !important;

		padding:
			42px
			34px
			54px !important;
	}


	/* FRASE SUPERIOR */

	.ponce-prices-escolha-frase {
		position: absolute !important;

		top: 18px !important;
		left: 34px !important;

		margin: 0 !important;

		color: #ff8a4a !important;

		font-size: 20px !important;
		line-height: 1.2 !important;

		font-weight: 400 !important;
	}

	.ponce-prices-escolha-frase strong {
		font-weight: 700 !important;
	}


	/* CONTEÚDO PRINCIPAL */

	.ponce-prices-escolha-conteudo {
		position: absolute !important;

		top: 145px !important;
		left: 34px !important;

		width: calc(100% - 68px) !important;
		max-width: 720px !important;

		margin: 0 !important;
	}


	/* TÍTULO */

	.ponce-prices-escolha-conteudo h2 {
		margin:
			0
			0
			14px !important;

		color: #ff914d !important;

		font-size: 38px !important;
		line-height: 1.08 !important;

		font-weight: 700 !important;
	}


	/* PARÁGRAFO */

	.ponce-prices-escolha-conteudo p {
		width: 100% !important;
		max-width: 690px !important;

		margin:
			0
			0
			28px !important;

		color: #ffffff !important;

		font-size: 22px !important;
		line-height: 1.35 !important;

		font-weight: 400 !important;
	}


	/* REMOVE AS QUEBRAS MANUAIS DO DESKTOP */

	.ponce-prices-escolha-conteudo p br {
		display: none !important;
	}


	/* BOTÃO */

	.ponce-prices-escolha-btn {
		min-width: 290px !important;
		min-height: 50px !important;

		display: inline-flex !important;

		align-items: center !important;
		justify-content: center !important;

		margin: 0 !important;

		padding:
			10px
			30px !important;

		border-radius: 999px !important;

		font-size: 18px !important;
	}

    /* =================================================
       FAQ
    ================================================= */

    .ponce-faq,
    .faq-section {
        padding-left: 24px !important;
        padding-right: 24px !important;
    }

    /* =================================================
       FOOTER
    ================================================= */

    .ponce-footer-inner {
        grid-template-columns:
            1fr 1.25fr !important;

        gap: 24px !important;
    }

    .ponce-footer-social {
        grid-column: 1 / -1;

        justify-self: center;
    }
	
	.ponce-footer-middle .ponce-footer-pagamentos {
		transform: translatex(-2px);
	}
	
	.ponce-footer-right {
		transform: translate(30px, -70px);
	}
	
	.ponce-prices-explicacao p {
		font-size: 32px;
	}

}