/* A faixa fica fora do cabeçalho grudado: se as duas morassem no mesmo
   wrapper, o sticky só duraria a altura da faixa e a navegação sumiria junto. */
.hpv-faixa { position: relative; z-index: 41; }
.wp-site-blocks > .hpv-faixa, .wp-site-blocks > .hpv-cabecalho { margin-block: 0; }
.hpv-cabecalho { position: sticky; top: 0; z-index: 40; border-bottom: 0; background: color-mix(in srgb, var(--wp--preset--color--areia-50) 95%, transparent); color: var(--wp--preset--color--tinta-900); backdrop-filter: blur(12px); }
.hpv-cabecalho:has(.is-menu-open) { backdrop-filter: none; }
@media (min-width: 783px) { .admin-bar .hpv-cabecalho { top: 32px; } }
.hpv-faixa .wp-block-group, .hpv-cabecalho .wp-block-group { margin-block: 0; }
.hpv-header__utility { min-height: 36px; margin: 0; padding: 0 16px; color: var(--wp--preset--color--branco); background: var(--wp--preset--color--grupo-mar-900); }
.hpv-header__utility-inner, .hpv-header__inner { width: min(100%, 1280px); margin-inline: auto; }
.hpv-header__utility-inner { min-height: 36px; gap: 1rem; font-size: 0.78rem; }
.hpv-header__utility-inner p, .hpv-header__notices { margin: 0; }
.hpv-header__notices .hpv-header__notice { display: none; }
.hpv-header__notices .hpv-header__notice.is-active { display: block; }
.hpv-header__notice a { color: inherit; font-weight: 600; text-decoration: none; }
.hpv-header__notice a:hover { text-decoration: underline; }
.hpv-header__notice span { margin-right: 0.35rem; color: var(--wp--preset--color--grupo-mar-400); }
.hpv-header__utility-inner > .hpv-header__utility-links { margin-left: auto; gap: 1rem; }
.hpv-site-contact--utility { display: flex; align-items: center; gap: 1rem; margin: 0; color: inherit; font-size: inherit; }
.hpv-header__utility a { color: inherit; }
.hpv-header__social { display: flex; align-items: center; gap: 0.25rem; margin: 0; padding: 0; list-style: none; }
.hpv-header__social a { display: flex; width: 28px; height: 28px; align-items: center; justify-content: center; border-radius: 999px; color: var(--wp--preset--color--branco); }
.hpv-header__social a:hover { background: color-mix(in srgb, var(--wp--preset--color--branco) 20%, transparent); }
.hpv-header__phone { font-weight: 700; text-decoration: none; }
.hpv-header__phone:hover, .hpv-header__offers a:hover { text-decoration: underline; }
.hpv-header__offers { margin: 0; font-weight: 700; }
.hpv-header__offers a { color: inherit; text-decoration: none; }
.hpv-header__bar { padding: 0 16px; }
.hpv-header__inner { min-height: 72px; gap: 0.75rem; }
.hpv-site-brand-lockup { display: flex; min-width: 0; flex: 1 1 auto; align-items: center; gap: 0.5rem; }
.hpv-site-brand { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 0.625rem; color: var(--wp--preset--color--grupo-mar-800); text-decoration: none; line-height: 1; }
.hpv-site-brand:hover { color: var(--wp--preset--color--grupo-mar-800); }
.hpv-site-brand img { width: 40px; height: 40px; object-fit: contain; }
.hpv-site-brand--compact img { width: 34px; height: 34px; }
.hpv-site-brand__wordmark { display: flex; flex-direction: column; color: var(--wp--preset--color--grupo-mar-500); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; }
.hpv-site-brand__wordmark span:first-child { letter-spacing: 0.3em; }
.hpv-site-brand__wordmark strong { margin-top: 0.25rem; color: var(--wp--preset--color--grupo-mar-800); font-size: 1.15rem; font-weight: 900; letter-spacing: 0.01em; line-height: 0.95; }
.hpv-site-brand__wordmark span:last-child { margin-top: 0.25rem; }
.hpv-site-brand__hotel { min-width: 0; color: var(--wp--preset--color--tinta-900); font-size: 0.8rem; font-weight: 700; line-height: 1.15; }
.hpv-header__inner .wp-block-navigation { margin-left: auto; font-size: 0.92rem; font-weight: 700; }
.hpv-header__inner .wp-block-navigation__container { flex-wrap: nowrap; gap: 0.25rem; }
.hpv-header__inner .wp-block-navigation-item__content { padding: 0.5rem 0.875rem; border-radius: 999px; color: var(--wp--preset--color--tinta-900); text-decoration: none; }
.hpv-header__inner .wp-block-navigation-item__content:hover, .hpv-header__inner .wp-block-navigation-item__content:focus-visible { background: var(--wp--preset--color--grupo-mar-100); color: var(--wp--preset--color--tinta-900); }
.hpv-header__inner .wp-block-navigation__submenu-container { min-width: 16rem; padding: 0.5rem; border: 1px solid var(--wp--preset--color--areia-200); border-radius: 1rem; background: var(--wp--preset--color--branco); box-shadow: 0 14px 35px color-mix(in srgb, var(--wp--preset--color--grupo-mar-950) 16%, transparent); }
.hpv-header__inner .wp-block-navigation__submenu-container .wp-block-navigation-item__content { border-radius: 0.75rem; color: var(--wp--preset--color--tinta-900); font-size: 0.875rem; font-weight: 600; }
.hpv-header__inner .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover, .hpv-header__inner .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus-visible { background: var(--wp--preset--color--grupo-mar-100); color: var(--wp--preset--color--tinta-900); }
.hpv-header__checkin { flex: 0 0 auto; margin: 0; }
.hpv-header__checkin a { display: inline-flex; align-items: center; padding: 0.625rem 1rem; border-radius: 999px; box-shadow: inset 0 0 0 2px var(--wp--preset--color--grupo-mar-500); color: var(--wp--preset--color--grupo-mar-800); font-size: 0.875rem; font-weight: 700; text-decoration: none; }
.hpv-header__checkin a:hover { background: var(--wp--preset--color--grupo-mar-100); }
.hpv-header__booking { flex: 0 0 auto; margin: 0; }
.hpv-header__booking .wp-block-button.hpv-button { min-height: 0; padding: 0; background: transparent; }
.hpv-header__booking .wp-block-button__link { min-height: 44px; padding: 0.625rem 1.25rem; background: var(--wp--preset--color--grupo-mar-700); color: var(--wp--preset--color--branco); font-size: 0.875rem; font-weight: 800; box-shadow: inset 0 0 0 1px var(--wp--preset--color--grupo-mar-700); }
.hpv-header__booking .wp-block-button__link:hover { background: var(--wp--preset--color--grupo-mar-800); color: var(--wp--preset--color--branco); }
.hpv-header__inner .wp-block-navigation__responsive-container-open { color: var(--wp--preset--color--grupo-mar-800); }
html.hpv-sobre-hero .hpv-cabecalho { border-bottom-width: 0; border-bottom-color: transparent; background: linear-gradient(to bottom, color-mix(in srgb, var(--wp--preset--color--grupo-mar-950) 85%, transparent), color-mix(in srgb, var(--wp--preset--color--grupo-mar-950) 65%, transparent), color-mix(in srgb, var(--wp--preset--color--grupo-mar-950) 30%, transparent)); color: var(--wp--preset--color--branco); backdrop-filter: none; }
html.hpv-sobre-hero .hpv-site-brand, html.hpv-sobre-hero .hpv-site-brand:hover, html.hpv-sobre-hero .hpv-site-brand__wordmark, html.hpv-sobre-hero .hpv-site-brand__wordmark strong, html.hpv-sobre-hero .hpv-site-brand__hotel { color: var(--wp--preset--color--branco); }
html.hpv-sobre-hero .hpv-header__inner .wp-block-navigation-item__content { color: var(--wp--preset--color--branco); }
html.hpv-sobre-hero .hpv-header__inner .wp-block-navigation-item__content:hover, html.hpv-sobre-hero .hpv-header__inner .wp-block-navigation-item__content:focus-visible { background: color-mix(in srgb, var(--wp--preset--color--branco) 15%, transparent); color: var(--wp--preset--color--branco); }
html.hpv-sobre-hero .hpv-header__inner .wp-block-navigation__submenu-container .wp-block-navigation-item__content, html.hpv-sobre-hero .hpv-header__inner .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover, html.hpv-sobre-hero .hpv-header__inner .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus-visible { color: var(--wp--preset--color--tinta-900); }
html.hpv-sobre-hero .hpv-header__checkin a { box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--wp--preset--color--branco) 70%, transparent); color: var(--wp--preset--color--branco); }
html.hpv-sobre-hero .hpv-header__checkin a:hover { background: color-mix(in srgb, var(--wp--preset--color--branco) 15%, transparent); }
html.hpv-sobre-hero .hpv-header__booking .wp-block-button__link { background: var(--wp--preset--color--branco); color: var(--wp--preset--color--grupo-mar-800); box-shadow: none; }
html.hpv-sobre-hero .hpv-header__booking .wp-block-button__link:hover { background: var(--wp--preset--color--grupo-mar-100); color: var(--wp--preset--color--grupo-mar-800); }
html.hpv-sobre-hero .hpv-header__inner .wp-block-navigation__responsive-container-open { color: var(--wp--preset--color--branco); }
html.hpv-sobre-hero .hpv-cabecalho:has(.is-menu-open) { border-bottom-width: 1px; border-bottom-color: var(--wp--preset--color--areia-200); background: color-mix(in srgb, var(--wp--preset--color--areia-50) 95%, transparent); color: var(--wp--preset--color--tinta-900); }
html.hpv-sobre-hero .hpv-cabecalho:has(.is-menu-open) .hpv-site-brand, html.hpv-sobre-hero .hpv-cabecalho:has(.is-menu-open) .hpv-site-brand__wordmark, html.hpv-sobre-hero .hpv-cabecalho:has(.is-menu-open) .hpv-site-brand__wordmark strong, html.hpv-sobre-hero .hpv-cabecalho:has(.is-menu-open) .hpv-site-brand__hotel { color: var(--wp--preset--color--grupo-mar-800); }
html.hpv-sobre-hero .hpv-cabecalho:has(.is-menu-open) .wp-block-navigation__responsive-container-open { color: var(--wp--preset--color--grupo-mar-800); }
.wp-block-navigation__responsive-container.is-menu-open { padding: 1.5rem; color: var(--wp--preset--color--tinta-900); background: var(--wp--preset--color--areia-50); }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { color: var(--wp--preset--color--tinta-900); }
.hpv-header__menu-toggle { display: none; width: 44px; height: 44px; flex: 0 0 auto; align-items: center; justify-content: center; padding: 0; border: 0; border-radius: 999px; background: transparent; color: var(--wp--preset--color--grupo-mar-900); cursor: pointer; }
.hpv-header__menu-toggle:hover { background: var(--wp--preset--color--grupo-mar-100); }
.hpv-header__menu-close-icon, .hpv-header__menu-toggle[aria-expanded="true"] .hpv-header__menu-open-icon { display: none; }
.hpv-header__menu-toggle[aria-expanded="true"] .hpv-header__menu-close-icon { display: block; }
html.hpv-sobre-hero .hpv-header__menu-toggle { color: var(--wp--preset--color--branco); }
html.hpv-sobre-hero .hpv-header__menu-toggle:hover { background: color-mix(in srgb, var(--wp--preset--color--branco) 15%, transparent); }
.hpv-mobile-menu { position: fixed; top: var(--hpv-menu-top, 64px); right: 0; bottom: 0; left: 0; z-index: 70; max-height: calc(100dvh - var(--hpv-menu-top, 64px)); margin: 0 !important; overflow-y: auto; overscroll-behavior: contain; padding-bottom: env(safe-area-inset-bottom); background: var(--wp--preset--color--areia-50); color: var(--wp--preset--color--tinta-900); }
.hpv-mobile-menu[hidden] { display: none; }
.hpv-mobile-menu nav { padding: 24px; }
.hpv-mobile-menu ul { display: flex; flex-direction: column; gap: 4px; margin: 0; padding: 0; list-style: none; }
.hpv-mobile-menu a { display: block; padding: 14px 16px; border-radius: 16px; color: var(--wp--preset--color--tinta-900); font-size: 20px; font-weight: 700; line-height: 1.4; text-decoration: none; }
.hpv-mobile-menu a:hover { background: var(--wp--preset--color--grupo-mar-100); }
.hpv-mobile-menu__checkin { padding-top: 12px; }
.hpv-mobile-menu__checkin a { box-shadow: inset 0 0 0 2px var(--wp--preset--color--grupo-mar-500); color: var(--wp--preset--color--grupo-mar-800); font-size: 16px; }
.hpv-mobile-menu__pattern { display: block; width: 100%; max-width: 372px; height: 52px; margin: 32px auto 0; background: var(--wp--preset--color--grupo-mar-700); opacity: 0.25; mask: url("../../images/padrao-oficial.svg?v=2") center / cover no-repeat; }
.hpv-site-brand--header img.hpv-site-brand__logo { display: block; width: min(var(--wp--custom--hpv--brand--header-width), 100%); height: auto; max-height: 61px; flex: 0 1 var(--wp--custom--hpv--brand--header-width); object-fit: contain; }
.hpv-site-brand--header img.hpv-site-brand__logo--over-photo { display: none; }
html.hpv-sobre-hero .hpv-site-brand--header .hpv-site-brand__logo--standard { display: none; }
html.hpv-sobre-hero .hpv-site-brand--header .hpv-site-brand__logo--over-photo { display: block; }
.hpv-site-brand-lockup { flex: 0 1 var(--wp--custom--hpv--brand--header-width); }
@media (max-width: 767px) {
	.hpv-site-brand-lockup { flex-basis: var(--wp--custom--hpv--brand--header-width-mobile); }
	.hpv-site-brand--header img.hpv-site-brand__logo { width: min(var(--wp--custom--hpv--brand--header-width-mobile), 100%); max-height: 49px; flex-basis: var(--wp--custom--hpv--brand--header-width-mobile); }
}
html[data-menu-open="true"] .hpv-cabecalho { background: var(--wp--preset--color--areia-100); }
html[data-menu-open="true"] .hpv-booking--bar, html[data-menu-open="true"] .hpv-cookie-banner { display: none !important; }
@media (min-width: 640px) { .hpv-header__utility, .hpv-header__bar { padding-inline: 24px; } }
@media (max-width: 1023px) {
	.hpv-header__inner { min-height: 64px; }
	.hpv-header__inner > .hpv-header__booking { display: none; }
	html.hpv-menu-ready .hpv-header__inner > .wp-block-navigation { display: none; }
	html.hpv-menu-ready .hpv-header__menu-toggle { display: inline-flex; }
	.hpv-header__inner .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; }
	.hpv-header__inner .wp-block-navigation__responsive-container-open { display: flex !important; }
}
@media (min-width: 1024px) {
	.hpv-mobile-menu { display: none; }
	.hpv-header__inner .hpv-site-brand-lockup { flex-shrink: 0; }
	.hpv-header__inner .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { white-space: nowrap; }
	.hpv-header__inner .wp-block-navigation__responsive-container-open { display: none !important; }
	.hpv-header__inner .wp-block-navigation__responsive-container:not(.is-menu-open) { position: relative; display: block; width: auto; height: auto; padding: 0; background: transparent; }
}
@media (min-width: 1024px) and (max-width: 1279px) {
	.hpv-header__inner .wp-block-navigation-item__content { padding-inline: 0.5rem; }
}
@media (max-width: 767px) { .hpv-header__checkin, .hpv-header__offers { display: none; } }
@media (max-width: 639px) { .hpv-header__notices, .hpv-header__phone { display: none; } }
