:root {
    --ep-red: #ed101c;
    --ep-red-dark: #c80915;
    --ep-ink: #222326;
    --ep-muted: #6c6d72;
    --ep-line: #e8e6e4;
    --ep-soft: #f8f7f5;
    --ep-radius: 16px;
}
html { scroll-behavior: smooth; }
body.estacione-park { color: var(--ep-ink); background: #fff; font-family: 'Open Sans', Arial, sans-serif; -webkit-font-smoothing: antialiased; }
.estacione-park .page-wrapper { background: #fff; }
.estacione-park a { color: inherit; }
.estacione-park a:hover { color: var(--ep-red); }
.estacione-park .page-header { margin: 0; border-bottom: 1px solid var(--ep-line); background: #fff; }
.estacione-park .header.content { max-width: 1280px; padding: 23px 32px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.estacione-park .header.content::before, .estacione-park .header.content::after { display: none; }
.estacione-park .logo.ep-logo { float: none; margin: 0; max-width: 230px; min-width: 140px; text-decoration: none; flex-shrink: 0; }
.ep-logo img { max-width: 220px; max-height: 68px; width: auto; height: auto; object-fit: contain; }
.ep-wordmark { display: flex; flex-direction: column; line-height: 1; letter-spacing: -.8px; }
.ep-wordmark strong { color: var(--ep-red); font-size: 21px; font-weight: 800; }
.ep-wordmark > span { color: var(--ep-ink); font-size: 28px; font-style: italic; font-weight: 800; letter-spacing: .1px; }
.ep-wordmark-arrow { color: var(--ep-red); font-style: normal; margin-left: 8px; }
.ep-header-nav { display: flex; align-items: center; gap: 30px; font-size: 13px; font-weight: 600; }
.ep-header-nav a { text-decoration: none; }
.ep-nav-link { color: #55565a; }
.ep-contact-link { display: flex; align-items: center; gap: 10px; border: 1px solid var(--ep-line); padding: 11px 15px; border-radius: 7px; }
.ep-contact-link svg { width: 18px; height: 18px; }
.ep-contact-link:hover { border-color: var(--ep-red); }
.estacione-park.cms-index-index .page-main { max-width: 1280px; padding: 0 32px; }
.estacione-park.cms-index-index .columns .column.main { padding: 0; }
.estacione-park.cms-index-index .columns { display: block; }
.ep-home, .ep-home * { box-sizing: border-box; }
.ep-home [hidden] { display: none !important; }
.ep-home h1, .ep-home h2, .ep-home h3, .ep-home p { margin-top: 0; }
.ep-home button, .ep-home input, .ep-home select { font-family: inherit; }
.ep-home svg { width: 24px; height: 24px; flex-shrink: 0; }
.ep-preview-notice { padding: 10px 12px; text-align: center; font-size: 11px; letter-spacing: .12px; color: #76514e; background: #fff5f3; margin: 18px 0 30px; border-radius: 6px; }
.ep-preview-notice > span:not(.ep-notice-dot) { padding: 0 6px; }
.ep-notice-dot { display: inline-block; width: 5px; height: 5px; border-radius: 50%; background: #c78371; margin-right: 7px; vertical-align: middle; }
.ep-booking-layout { display: grid; grid-template-columns: 1fr 1.06fr; gap: 66px; align-items: start; }
.ep-eyebrow { font-size: 10px; letter-spacing: 1.8px; line-height: 1.7; font-weight: 700; margin-bottom: 14px; color: var(--ep-muted); }
.ep-intro { padding-top: 17px; }
.ep-intro .ep-eyebrow { display: flex; align-items: center; gap: 9px; }
.ep-intro .ep-eyebrow > span { width: 7px; height: 7px; border-radius: 50%; background: var(--ep-red); }
.ep-home h1 { font-size: clamp(34px, 3.55vw, 49px); line-height: 1.15; letter-spacing: -2px; font-weight: 700; margin-bottom: 20px; }
.ep-home h1 em { color: var(--ep-red); font-style: normal; }
.ep-intro-text { color: var(--ep-muted); font-size: 15px; line-height: 1.8; margin-bottom: 28px; }
.ep-location-photo { position: relative; margin: 0; height: 360px; overflow: hidden; background: #ece6e1; border-radius: var(--ep-radius); }
.ep-location-photo > img { height: 100%; width: 100%; object-fit: cover; object-position: 50% 44%; display: block; }
.ep-location-photo figcaption { position: absolute; inset: auto 0 0; color: #fff; padding: 52px 25px 17px; background: linear-gradient(transparent, rgba(19,19,19,.85)); }
.ep-photo-label { display: flex; align-items: center; gap: 12px; }
.ep-photo-label strong { display: block; font-size: 16px; font-weight: 600; margin-bottom: 3px; }
.ep-photo-label > span > span { font-size: 11px; opacity: .9; }
.ep-image-caption { display: block; text-align: right; margin-top: 7px; font-size: 9px; color: #ddd; }
.ep-included { display: flex; align-items: center; gap: 14px; margin-top: 20px; color: var(--ep-muted); font-size: 12px; line-height: 1.8; }
.ep-included strong { color: var(--ep-ink); font-size: 13px; font-weight: 600; }
.ep-included-check { color: #376951; background: #eef6f0; width: 36px; height: 36px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 18px; flex-shrink: 0; }
.ep-booking-card { border: 1px solid var(--ep-line); border-radius: var(--ep-radius); padding: 30px 32px 22px; background: #fff; box-shadow: 0 6px 36px rgba(30,20,10,.055); }
.ep-card-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.ep-card-heading .ep-eyebrow { margin-bottom: 4px; font-size: 9px; }
.ep-card-heading h2 { font-size: 27px; letter-spacing: -.9px; line-height: 1.3; font-weight: 700; margin: 0; }
.ep-step-count { font-size: 18px; font-weight: 700; color: var(--ep-red); }
.ep-step-count span { font-size: 11px; font-weight: 400; color: #9a9a9d; }
.ep-stepper { list-style: none; display: flex; gap: 0; margin: 23px 0 26px; padding: 0 0 23px; border-bottom: 1px solid var(--ep-line); font-size: 11px; }
.ep-stepper li { display: flex; align-items: center; color: #76777c; flex: 1; margin: 0; gap: 7px; }
.ep-stepper li:not(:last-child)::after { content: ''; flex: 1; height: 1px; background: var(--ep-line); margin: 0 9px 0 3px; }
.ep-stepper li:last-child { flex: 0 0 auto; }
.ep-stepper li > span { width: 22px; height: 22px; border-radius: 50%; background: #f1f0ef; font-size: 10px; display: flex; align-items: center; justify-content: center; }
.ep-stepper li[aria-current] { color: var(--ep-red); font-weight: 600; }
.ep-stepper li[aria-current] > span { color: #fff; background: var(--ep-red); }
.ep-home fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.ep-home legend { font-size: 14px; font-weight: 700; padding: 0; margin: 0 0 14px; width: auto; line-height: 1.5; }
.ep-field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.ep-field { min-width: 0; }
.ep-field label { display: block; font-size: 12px; font-weight: 600; line-height: 1.5; margin-bottom: 7px; }
.ep-field label > span { font-size: 10px; font-weight: 400; color: var(--ep-muted); background: #f3f2f1; border-radius: 4px; padding: 2px 6px; margin-left: 5px; }
.ep-home .ep-field input, .ep-home .ep-field select { display: block; width: 100%; max-width: 100%; min-width: 0; height: 47px; border: 1px solid #dcdad8; border-radius: 7px; box-shadow: none; padding: 0 12px; color: var(--ep-ink); background-color: #fff; font-size: 13px; line-height: normal; transition: border-color .16s, box-shadow .16s; }
.ep-home .ep-field select { padding-right: 27px; background-position: right 5px center; cursor: pointer; }
.ep-home .ep-field input[type='date'] { color-scheme: light; }
.ep-home .ep-field input::placeholder { color: #929298; opacity: 1; }
.ep-home .ep-field input[data-role='plate'] { text-transform: uppercase; letter-spacing: 1px; }
.ep-home .ep-field input:focus, .ep-home .ep-field select:focus { border-color: var(--ep-red); box-shadow: 0 0 0 3px rgba(237,16,28,.08); outline: none; }
.ep-home .ep-field input[aria-invalid='true'] { border-color: #ba1823; }
.ep-field-hint { margin: 8px 0 0; font-size: 10px; line-height: 1.7; color: var(--ep-muted); }
.ep-ship-field { margin-bottom: 20px; }
.ep-vehicles-heading { display: flex; gap: 8px; align-items: center; justify-content: space-between; border-top: 1px solid var(--ep-line); padding-top: 22px; margin-top: 23px; margin-bottom: 15px; }
.ep-vehicles-heading h3 { font-size: 14px; margin: 0; font-weight: 700; }
.ep-vehicles-heading > span { font-size: 10px; white-space: nowrap; color: var(--ep-muted); }
.ep-vehicle:not(:first-child) { padding-top: 18px; margin-top: 18px; border-top: 1px dashed #ddd; }
.ep-vehicle legend { font-size: 11px; color: var(--ep-muted); margin-bottom: 10px; padding-top: 0; }
.ep-vehicle:first-child:last-child legend { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
.ep-home button { text-shadow: none; }
.ep-home .ep-add-vehicle { display: flex; align-items: center; gap: 7px; margin-top: 15px; border: 0; background: transparent; color: var(--ep-red-dark); box-shadow: none; font-size: 12px; font-weight: 600; padding: 0; line-height: 1.5; min-height: 30px; cursor: pointer; }
.ep-add-vehicle > span { font-size: 19px; line-height: 1; }
.ep-home .ep-add-vehicle { color: #62666b; }
.ep-home .ep-add-vehicle:hover { color: #34373b; }
.ep-home .ep-add-vehicle[hidden] { display: none; }
.ep-home .ep-add-vehicle:disabled { opacity: .45; cursor: default; }
.ep-home .ep-remove-vehicle { color: #8a2028; background: transparent; border: 0; box-shadow: none; font-weight: 400; font-size: 11px; padding: 8px 0; min-height: 34px; margin-top: 5px; cursor: pointer; }
.ep-form-feedback { font-size: 11px; color: #a2252d; margin-top: 8px; }
.ep-form-feedback:empty { display: none; }
.ep-booking-bottom { border-top: 1px solid var(--ep-line); margin-top: 20px; padding-top: 17px; }
.ep-price-placeholder { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 15px; }
.ep-price-placeholder > div > span { color: var(--ep-muted); font-size: 10px; display: block; margin-bottom: 5px; }
.ep-price-placeholder strong { font-size: 12px; font-weight: 600; }
.ep-price-note { color: var(--ep-muted); font-size: 10px; text-align: right; }
.ep-home .ep-primary-button { display: flex; align-items: center; justify-content: center; gap: 24px; width: 100%; min-height: 50px; border: 1px solid var(--ep-red); border-radius: 7px; padding: 12px 20px; background: var(--ep-red); color: #fff; font-size: 14px; font-weight: 700; box-shadow: none; cursor: pointer; transition: background .18s; }
.ep-home .ep-primary-button:hover, .ep-home .ep-primary-button:active { background: var(--ep-red-dark); border-color: var(--ep-red-dark); color: #fff; }
.ep-primary-button > span { font-size: 21px; font-weight: 400; line-height: 1; }
.ep-preview-help { text-align: center; font-size: 10px; color: var(--ep-muted); margin: 11px 0 0; line-height: 1.6; }
.ep-noscript { color: #a2252d; padding: 15px; background: #fff4f4; }
.ep-how { margin-top: 70px; padding: 36px 0 44px; border-top: 1px solid var(--ep-line); border-bottom: 1px solid var(--ep-line); scroll-margin-top: 24px; }
.ep-section-heading .ep-eyebrow { font-size: 9px; margin-bottom: 7px; }
.ep-section-heading h2 { font-size: 25px; line-height: 1.3; font-weight: 700; letter-spacing: -.65px; margin-bottom: 10px; }
.ep-section-heading > p:not(.ep-eyebrow) { color: var(--ep-muted); font-size: 13px; margin-bottom: 0; line-height: 1.8; }
.ep-how-steps { display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; gap: 42px; padding: 0; margin: 27px 0 0; }
.ep-how-steps li { display: flex; align-items: flex-start; gap: 16px; margin: 0; }
.ep-how-number { color: var(--ep-red); font-size: 12px; font-weight: 700; letter-spacing: 1px; padding-top: 3px; }
.ep-how-steps h3 { font-size: 14px; line-height: 1.6; font-weight: 700; margin-bottom: 8px; }
.ep-how-steps p { color: var(--ep-muted); font-size: 12px; line-height: 1.9; margin-bottom: 0; }
.ep-faq { display: grid; grid-template-columns: 1fr 1.4fr; gap: 70px; margin: 48px 0 60px; scroll-margin-top: 24px; }
.ep-faq .ep-section-heading a { color: var(--ep-red-dark); display: inline-block; margin-top: 20px; font-size: 12px; font-weight: 600; }
.ep-faq .ep-section-heading a span { margin-left: 8px; }
.ep-faq-list details { border-bottom: 1px solid var(--ep-line); }
.ep-faq-list details:first-child { border-top: 1px solid var(--ep-line); }
.ep-faq-list summary { position: relative; padding: 19px 28px 19px 0; cursor: pointer; font-size: 13px; font-weight: 600; list-style: none; }
.ep-faq-list summary::-webkit-details-marker { display: none; }
.ep-faq-list summary::after { content: '+'; color: var(--ep-red); position: absolute; right: 3px; top: 16px; font-size: 20px; font-weight: 400; }
.ep-faq-list details[open] summary::after { content: '−'; }
.ep-faq-list p { font-size: 12px; color: var(--ep-muted); line-height: 1.9; padding-right: 20px; margin-bottom: 18px; }
.estacione-park .page-footer { padding: 0; margin-top: auto; background: var(--ep-soft); border-top: 1px solid var(--ep-line); }
.estacione-park .footer.content { padding: 28px 32px; max-width: 1280px; border: 0; margin-top: 0; }
.ep-footer-inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; font-size: 11px; color: var(--ep-muted); }
.ep-footer-inner > div strong { font-size: 14px; color: var(--ep-ink); font-weight: 700; }
.ep-footer-inner > div span { display: block; margin-top: 4px; font-size: 10px; }
.ep-footer-inner p { margin: 0; }
.ep-summary-dialog { width: min(520px, calc(100% - 32px)); max-height: calc(100vh - 40px); max-height: calc(100dvh - 40px); overflow: auto; padding: 28px; margin: auto; border: 1px solid var(--ep-line); border-radius: 14px; color: var(--ep-ink); background: #fff; box-shadow: 0 20px 80px #0003; }
.ep-summary-dialog::backdrop { background: rgba(25,24,24,.5); }
.ep-summary-dialog:not([open]) { display: none; }
.ep-dialog-heading { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.ep-dialog-heading .ep-eyebrow { margin: 0; font-size: 9px; }
.ep-dialog-heading button { border: 0; box-shadow: none; color: #555; background: #f5f4f3; border-radius: 50%; width: 34px; height: 34px; padding: 0; font-size: 23px; cursor: pointer; }
.ep-summary-dialog h2 { font-size: 24px; font-weight: 700; margin: 20px 0; letter-spacing: -.7px; }
.ep-summary-dates { display: grid; grid-template-columns: 1fr 1fr; background: var(--ep-soft); padding: 16px; border-radius: 8px; gap: 20px; margin-bottom: 16px; }
.ep-summary-dates dt { font-size: 11px; color: var(--ep-muted); font-weight: 400; margin-bottom: 4px; }
.ep-summary-dates dd { margin: 0; font-size: 16px; font-weight: 600; }
.ep-summary-ship { font-size: 13px; }
.ep-summary-vehicles { padding: 0; list-style: none; }
.ep-summary-vehicles li { font-size: 13px; padding: 10px 0; border-bottom: 1px solid var(--ep-line); }
.ep-dialog-notice { font-size: 12px; line-height: 1.8; color: #77574f; background: #fff5f2; border-radius: 7px; padding: 15px; margin: 20px 0; }
.ep-home button:focus-visible, .ep-home summary:focus-visible, .estacione-park a:focus-visible { outline: 3px solid #ed101c88; outline-offset: 4px; }
@media (max-width: 1099px) {
    .ep-booking-layout { gap: 32px; grid-template-columns: 1fr 1.1fr; }
    .ep-booking-card { padding: 25px 23px 20px; }
    .ep-home h1 { font-size: 37px; letter-spacing: -1.5px; }
    .ep-how-steps { gap: 25px; }
    .ep-faq { gap: 35px; }
    .ep-location-photo { height: 355px; }
}
@media (max-width: 767px) {
    .estacione-park .header.content { padding: 17px 20px; }
    .estacione-park .logo.ep-logo { min-width: 0; max-width: 160px; }
    .ep-logo img { max-width: 150px; max-height: 53px; }
    .ep-wordmark strong { font-size: 17px; }
    .ep-wordmark > span { font-size: 23px; }
    .ep-nav-link { display: none; }
    .ep-contact-link { font-size: 11px; padding: 9px 11px; gap: 6px; }
    .ep-contact-link svg { width: 16px; height: 16px; }
    .ep-contact-link > span:last-child { display: none; }
    .estacione-park.cms-index-index .page-main { padding: 0 20px; }
    .ep-preview-notice { margin: 12px 0 23px; font-size: 10px; }
    .ep-booking-layout { display: flex; flex-direction: column; gap: 26px; }
    .ep-intro { display: grid; grid-template-columns: 1fr; padding-top: 0; width: 100%; }
    .ep-intro .ep-eyebrow { font-size: 9px; margin-bottom: 12px; }
    .ep-home h1 { font-size: clamp(32px, 6.4vw, 45px); letter-spacing: -1.4px; margin-bottom: 15px; }
    .ep-intro-text { font-size: 13px; line-height: 1.8; margin-bottom: 20px; }
    .ep-location-photo { height: 195px; }
    .ep-location-photo > img { object-position: 50% 35%; }
    .ep-location-photo figcaption { padding: 45px 17px 12px; }
    .ep-photo-label strong { font-size: 14px; }
    .ep-photo-label > span > span { font-size: 10px; }
    .ep-image-caption { font-size: 8px; margin-top: 3px; }
    .ep-included { margin-top: 14px; font-size: 11px; }
    .ep-included strong { font-size: 12px; }
    .ep-booking-card { width: 100%; padding: 24px 20px 20px; }
    .ep-card-heading h2 { font-size: 25px; }
    .ep-home .ep-field input, .ep-home .ep-field select { font-size: 16px; height: 48px; padding-left: 9px; }
    .ep-home .ep-field select { padding-right: 24px; }
    .ep-field-grid { gap: 12px; }
    .ep-field label { font-size: 11px; }
    .ep-field-hint { font-size: 11px; }
    .ep-home .ep-add-vehicle { min-height: 44px; margin-top: 8px; font-size: 12px; }
    .ep-home .ep-remove-vehicle { min-height: 44px; }
    .ep-booking-bottom { margin-top: 18px; }
    .ep-how { margin-top: 38px; padding: 30px 0; }
    .ep-section-heading h2 { font-size: 23px; }
    .ep-how-steps { grid-template-columns: 1fr; gap: 25px; }
    .ep-faq { grid-template-columns: 1fr; gap: 23px; margin: 34px 0 42px; }
    .ep-faq .ep-section-heading a { margin-top: 13px; }
    .estacione-park .footer.content { padding: 25px 20px; }
    .ep-footer-inner { align-items: flex-start; flex-wrap: wrap; gap: 16px; }
    .ep-footer-inner > div { flex-basis: 100%; }
    .ep-summary-dialog { padding: 22px; }
}
@media (max-width: 380px) {
    .estacione-park.cms-index-index .page-main { padding: 0 14px; }
    .estacione-park .header.content { padding: 15px 14px; gap: 10px; }
    .ep-booking-card { padding: 22px 15px 18px; }
    .ep-field-grid { gap: 9px; }
    .ep-stepper { font-size: 10px; }
    .ep-stepper li { gap: 5px; }
    .ep-stepper li:not(:last-child)::after { margin-left: 0; margin-right: 5px; }
    .ep-home .ep-field select { font-size: 16px; }
    .ep-vehicles-heading h3 { font-size: 13px; }
    .ep-price-placeholder { align-items: flex-start; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .ep-home *, .ep-home *::before, .ep-home *::after { transition: none !important; }
}
@media print {
    .ep-preview-notice, .ep-header-nav, .ep-how, .ep-faq, .ep-booking-card { display: none; }
    .ep-booking-layout { display: block; }
}

/* Navigation and shared, admin-editable FAQ. */
.estacione-park .page-header { position: sticky; top: 0; z-index: 90; box-shadow: 0 2px 12px #22232605; }
.estacione-park .header.content { position: relative; }
.ep-header-nav { gap: 22px; font-size: 12px; }
.ep-header-menu [hidden] { display: none !important; }
.ep-menu-toggle { display: none; }
.ep-account-link { display: inline-flex; align-items: center; gap: 7px; color: var(--ep-red-dark) !important; }
.ep-account-link svg { width: 18px; height: 18px; flex-shrink: 0; }
.ep-reserve-link { display: none; }
.ep-home #reservar, .ep-home #como-funciona, .ep-home #duvidas, .ep-faq-page section { scroll-margin-top: 135px; }
.ep-faq-content { min-width: 0; }
.ep-faq-list summary h3 { display: inline; font-size: inherit; font-weight: inherit; line-height: inherit; letter-spacing: normal; margin: 0; }
.ep-faq-list > h3 { font-size: 15px; font-weight: 600; }
.ep-more-faq { display: inline-flex; align-items: center; gap: 14px; margin-top: 23px; min-height: 44px; color: var(--ep-red-dark) !important; font-size: 13px; font-weight: 600; }
.ep-faq-page { max-width: 920px; margin: 0 auto 55px; }
.ep-faq-page, .ep-faq-page * { box-sizing: border-box; }
.ep-faq-page .ep-faq-intro { font-size: 16px; line-height: 1.8; color: var(--ep-muted); max-width: 660px; }
.ep-faq-topics { display: flex; flex-wrap: wrap; gap: 12px; margin: 25px 0 40px; }
.ep-faq-topics a { padding: 12px 18px; border-radius: 24px; border: 1px solid var(--ep-line); font-size: 13px; text-decoration: none; }
.ep-faq-topics a:hover { border-color: var(--ep-red); }
.ep-faq-page section { margin: 35px 0; }
.ep-faq-page h2 { font-size: 23px; font-weight: 700; letter-spacing: -.5px; margin: 0 0 22px; }
.ep-faq-page .ep-faq-list summary { font-size: 14px; padding-top: 21px; padding-bottom: 21px; }
.ep-faq-page .ep-faq-list p { font-size: 14px; }
.ep-faq-help { margin-top: 45px; padding: 28px; border: 1px solid var(--ep-line); border-radius: 16px; background: var(--ep-soft); display: flex; align-items: center; gap: 25px; justify-content: space-between; }
.ep-faq-help h2 { font-size: 20px; margin-bottom: 10px; }
.ep-faq-help p { font-size: 13px; color: var(--ep-muted); margin: 0; line-height: 1.8; }
.ep-faq-help .ep-contact-link { flex-shrink: 0; background: #fff; font-size: 12px; color: var(--ep-red-dark); text-decoration: none; }
.ep-back-link { display: inline-block; margin-top: 24px; font-size: 13px; padding: 10px 0; }
.ep-faq-list summary:focus-visible, .ep-menu-toggle:focus-visible { outline: 3px solid #ed101c88; outline-offset: 4px; }
@media (min-width: 1024px) and (max-width: 1199px) {
    .ep-header-nav { gap: 15px; font-size: 11px; }
    .ep-header-nav .ep-contact-link { padding: 10px; gap: 7px; }
}
@media (max-width: 1023px) {
    .estacione-park .header.content { flex-wrap: wrap; }
    .ep-header-menu { width: 100%; }
    .ep-header-menu.ep-menu-ready { width: auto; }
    .ep-header-nav { display: none; align-items: stretch; flex-direction: column; gap: 0; }
    .ep-header-nav .ep-nav-link { display: flex; align-items: center; min-height: 48px; padding: 9px 12px; font-size: 14px; border-radius: 6px; }
    .ep-header-nav .ep-nav-link:hover { background: #fff4f3; }
    .ep-header-nav .ep-contact-link { justify-content: center; min-height: 44px; margin-top: 8px; font-size: 13px; }
    .ep-menu-ready .ep-header-nav { display: none; position: absolute; top: calc(100% - 1px); left: 20px; right: 20px; background: #fff; border: 1px solid var(--ep-line); border-radius: 0 0 12px 12px; padding: 12px; box-shadow: 0 12px 28px #22232615; max-height: calc(100vh - 130px); overflow-y: auto; }
    .ep-menu-ready.is-open .ep-header-nav { display: flex; }
    .ep-menu-ready .ep-menu-toggle { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 8px 12px; font-family: inherit; font-size: 13px; font-weight: 600; color: var(--ep-ink); border: 1px solid var(--ep-line); border-radius: 7px; background: #fff; box-shadow: none; cursor: pointer; }
    .ep-menu-toggle svg { width: 21px; height: 21px; }
    .ep-menu-toggle[aria-expanded="true"] { color: var(--ep-red-dark); border-color: var(--ep-red); }
}
@media (max-width: 767px) {
    .ep-home #reservar, .ep-home #como-funciona, .ep-home #duvidas, .ep-faq-page section { scroll-margin-top: 105px; }
    .ep-faq-help { padding: 22px; flex-direction: column; align-items: flex-start; gap: 18px; }
    .ep-faq-topics { gap: 8px; }
    .ep-faq-topics a { font-size: 12px; padding: 11px 14px; }
    .ep-faq-page .ep-faq-intro { font-size: 14px; }
    .ep-faq-page h2 { font-size: 21px; }
}
@media print {
    .estacione-park .page-header { position: static; }
    .ep-header-menu, .ep-faq-topics, .ep-more-faq { display: none; }
}
/* Reservation visitors already saw the presentation on the main website. */
@media(max-width:767px){
    .ep-home .ep-preview-notice,.ep-home .ep-intro>.ep-eyebrow,.ep-home .ep-intro-text{display:none}
    .ep-home .ep-intro h1{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
    .ep-home .ep-booking-layout{margin-top:12px;gap:12px}
    .ep-home .ep-location-photo{height:96px;border-radius:10px}
    .ep-home .ep-location-photo>img{object-position:50% 42%}
    .ep-home .ep-location-photo figcaption{padding:24px 12px 7px}
    .ep-home .ep-photo-label strong{font-size:12px}
    .ep-home .ep-photo-label svg,.ep-home .ep-photo-label>span>span{display:none}
    .ep-home .ep-image-caption{font-size:8px;margin-top:1px}
    .ep-home .ep-included{margin-top:7px;font-size:0;gap:7px}
    .ep-home .ep-included strong{font-size:11px}
    .ep-home .ep-included br{display:none}
    .ep-home .ep-included-check{width:20px;height:20px;min-width:20px;font-size:12px}
    .ep-home .ep-booking-card{padding-top:18px}
    .ep-home .ep-card-heading .ep-eyebrow{display:none}
}

/* Consulta de reserva sem conta. */
.sales-guest-form .page-main{max-width:1280px;padding:0 32px}
.sales-guest-form .columns,.sales-guest-form .column.main{display:block}
.ep-reservation-lookup,.ep-reservation-lookup *{box-sizing:border-box}
.ep-reservation-lookup{width:min(100%,620px);margin:48px auto 60px;padding:36px 38px;border:1px solid var(--ep-line);border-radius:16px;background:#fff;box-shadow:0 8px 38px rgba(30,20,10,.055)}
.ep-lookup-heading{display:flex;align-items:center;gap:15px;margin-bottom:17px}
.ep-lookup-icon{display:flex;align-items:center;justify-content:center;flex:0 0 48px;width:48px;height:48px;border-radius:12px;background:#fff1f1;color:var(--ep-red)}
.ep-lookup-icon svg{width:25px;height:25px}
.ep-lookup-kicker{margin:0 0 4px;color:var(--ep-red-dark);font-size:9px;font-weight:700;letter-spacing:1.6px}
.ep-reservation-lookup h1{margin:0;color:var(--ep-ink);font-size:29px;font-weight:700;line-height:1.25;letter-spacing:-.7px}
.ep-lookup-intro{margin:0 0 26px;color:var(--ep-muted);font-size:13px;line-height:1.75}
.ep-reservation-lookup .form.form-orders-search{width:100%;max-width:100%;min-width:0}
.ep-reservation-lookup .fieldset{margin:0}
.ep-reservation-lookup .field{margin:0 0 18px}
.ep-reservation-lookup .label{display:block;margin:0 0 7px;color:var(--ep-ink);font-size:12px;font-weight:600}
.ep-reservation-lookup .input-text{width:100%;height:48px;padding:0 13px;border:1px solid #dcdad8;border-radius:7px;background:#fff;box-shadow:none;font-size:14px}
.ep-reservation-lookup .input-text:hover{border-color:#e5a0a5}
.ep-reservation-lookup .input-text:focus{border-color:var(--ep-red)!important;box-shadow:0 0 0 3px rgba(237,16,28,.10)!important;outline:none!important}
.ep-reservation-lookup .ep-lookup-submit{display:flex;align-items:center;justify-content:center;gap:18px;width:100%;min-height:49px;margin-top:7px;border:1px solid var(--ep-red);border-radius:7px;background:var(--ep-red);color:#fff;box-shadow:none;font-size:14px;font-weight:700}
.ep-reservation-lookup .ep-lookup-submit:hover,.ep-reservation-lookup .ep-lookup-submit:focus{border-color:var(--ep-red-dark);background:var(--ep-red-dark);color:#fff}
.ep-reservation-lookup .ep-lookup-submit span:last-child{font-size:20px;font-weight:400;line-height:1}
.ep-lookup-account{margin:19px 0 0;padding-top:18px;border-top:1px solid var(--ep-line);color:var(--ep-muted);text-align:center;font-size:12px}
.ep-lookup-account a{color:var(--ep-red-dark);font-weight:600;text-decoration:none}
@media(max-width:767px){
    .sales-guest-form .page-main{padding:0 20px}
    .ep-reservation-lookup{margin:22px auto 36px;padding:25px 20px;border-radius:12px}
    .ep-lookup-heading{align-items:flex-start;gap:12px;margin-bottom:14px}
    .ep-lookup-icon{flex-basis:42px;width:42px;height:42px;border-radius:10px}
    .ep-lookup-icon svg{width:22px;height:22px}
    .ep-reservation-lookup h1{font-size:25px}
    .ep-lookup-intro{font-size:12px;margin-bottom:22px}
    .ep-reservation-lookup .input-text{height:48px;font-size:16px}
    .ep-reservation-lookup .ep-lookup-submit{min-height:50px}
}
