/* 5D Theme Guard
   Scoped protection against Hello Elementor button/link hover rules.
   This file must stay narrow: component styles remain in their own CSS files. */

.ge-staff-v2 a:hover,
.ge-staff-v2 button:hover,
.ge-reserva-v3 a:hover,
.ge-reserva-v3 button:hover,
.ge-confirm-page a:hover,
.ge-confirm-page button:hover {
  text-decoration: none;
}

.ge-staff-v2 a:focus-visible,
.ge-staff-v2 button:focus-visible,
.ge-reserva-v3 a:focus-visible,
.ge-reserva-v3 button:focus-visible,
.ge-confirm-page a:focus-visible,
.ge-confirm-page button:focus-visible {
  outline: 2px solid rgba(232, 212, 139, .55);
  outline-offset: 3px;
}

.ge-staff-v2 .gsv2-icon-btn:hover,
.ge-staff-v2 .gsv2-icon-btn:focus,
.ge-staff-v2 .gsv2-icon-btn:active {
  background-color: rgba(201, 168, 76, .12) !important;
  border-color: rgba(232, 212, 139, .52) !important;
  color: var(--fived-gold-light) !important;
}

.ge-staff-v2 .gsv2-btn:hover,
.ge-staff-v2 .gsv2-tab:hover,
.ge-staff-v2 .gsv2-quick a:hover,
.ge-staff-v2 .gsv2-rail-link:hover {
  color: var(--gsv2-gold-light) !important;
  background-color: rgba(201, 168, 76, .10) !important;
}

/* Primary gold actions must keep dark, high-contrast text on hover. */
.ge-staff-v2 .gsv2-btn.primary:hover,
.ge-staff-v2 .gsv2-btn.primary:focus,
.ge-staff-v2 .gsv2-btn.primary:active {
  color: var(--fived-input) !important;
  background: linear-gradient(135deg, var(--gsv2-gold), var(--gsv2-gold-light), var(--gsv2-gold)) !important;
}

.ge-staff-v2 .gsv2-icon-btn.pay:hover {
  color: #d1ffe0 !important;
  background-color: rgba(0, 200, 83, .12) !important;
}

.ge-staff-v2 .gsv2-global-filterbar input,
.ge-staff-v2 .gsv2-global-filterbar select,
.ge-staff-v2 .gsv2-global-filterbar button,
.ge-staff-v2 .gsv2-period-modal input,
.ge-staff-v2 .gsv2-period-modal button {
  outline: 0 !important;
}

.ge-staff-v2 .gsv2-global-filterbar input:hover,
.ge-staff-v2 .gsv2-global-filterbar input:focus,
.ge-staff-v2 .gsv2-global-filterbar select:hover,
.ge-staff-v2 .gsv2-global-filterbar select:focus,
.ge-staff-v2 .gsv2-global-filterbar button:hover,
.ge-staff-v2 .gsv2-global-filterbar button:focus,
.ge-staff-v2 .gsv2-global-filterbar button:active,
.ge-staff-v2 .gsv2-global-filterbar .gsv2-select.is-open .gsv2-select-button,
.ge-staff-v2 .gsv2-period-modal input:hover,
.ge-staff-v2 .gsv2-period-modal input:focus,
.ge-staff-v2 .gsv2-period-modal button:hover,
.ge-staff-v2 .gsv2-period-modal button:focus,
.ge-staff-v2 .gsv2-period-modal button:active {
  border-color: rgba(201, 168, 76, .54) !important;
  box-shadow: 0 0 0 3px rgba(201, 168, 76, .08) !important;
}

.ge-staff-v2 .gsv2-global-filterbar .gsv2-select-button,
.ge-staff-v2 .gsv2-global-filterbar .gsv2-select-button:hover,
.ge-staff-v2 .gsv2-global-filterbar .gsv2-select-button:focus,
.ge-staff-v2 .gsv2-global-filterbar .gsv2-select-button:active,
.ge-staff-v2 .gsv2-global-filterbar .gsv2-select-option,
.ge-staff-v2 .gsv2-global-filterbar .gsv2-select-option:hover,
.ge-staff-v2 .gsv2-global-filterbar .gsv2-select-option:focus,
.ge-staff-v2 .gsv2-global-filterbar .gsv2-select-option:active {
  background-color: var(--fived-ink) !important;
  color: rgba(245, 240, 232, .88) !important;
}

.ge-staff-v2 .gsv2-global-filterbar .gsv2-select-option:hover,
.ge-staff-v2 .gsv2-global-filterbar .gsv2-select-option:focus {
  background-color: rgba(201, 168, 76, .14) !important;
  color: var(--fived-gold-light) !important;
}

.ge-staff-v2 button.gsv2-rail-user,
.ge-staff-v2 button.gsv2-rail-user:hover,
.ge-staff-v2 button.gsv2-rail-user:focus,
.ge-staff-v2 button.gsv2-rail-user:active,
.ge-staff-v2 button.gsv2-rail-user[aria-expanded="true"] {
  appearance: none;
  -webkit-appearance: none;
  background: #090909 !important;
  background-color: #090909 !important;
  background-image: none !important;
  border: 1px solid rgba(224, 197, 103, .72) !important;
  color: var(--gsv2-gold-light) !important;
  outline: 0 !important;
  text-decoration: none !important;
}

.ge-staff-v2 button.gsv2-rail-user:hover,
.ge-staff-v2 button.gsv2-rail-user:focus-visible,
.ge-staff-v2 button.gsv2-rail-user[aria-expanded="true"] {
  border-color: #efd46d !important;
  box-shadow: 0 12px 28px rgba(0, 0, 0, .38) !important;
  filter: saturate(1.05) !important;
  transform: translateY(-1px) !important;
}

.ge-staff-v2 button.gsv2-rail-user img {
  border: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
}

/* 5D global rhythm: colors, sizes and interaction states across public/staff UI. */
body:not(.wp-admin) :where(.ge5d-page,.ge-public-section,.ge5d-section,.ge5d-hero,.ge5d-cta,.ge5d-footer,.ge5d-nav,.ge5d-mobile,.ge-staff-v2,.gs-page,.ge-reserva-v3,.ge-login-v56,.ge-recover-v58,.ge-confirm-page,.ge5d-client-v51) {
  color: var(--ge5d-color-text, var(--fived-ivory));
  font-family: var(--ge5d-font-sans, "DM Sans") !important;
  letter-spacing: 0;
}

body:not(.wp-admin) :where(.ge5d-page,.ge-public-section,.ge5d-section,.ge5d-hero,.ge5d-cta,.ge5d-footer,.ge-staff-v2,.gs-page,.ge-reserva-v3,.ge-login-v56,.ge-recover-v58,.ge-confirm-page,.ge5d-client-v51) :where(h1,h2,h3,h4,h5,h6) {
  color: #fff;
  font-family: var(--ge5d-font-serif, "Cormorant Garamond") !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
}

body:not(.wp-admin) :where(.ge5d-page,.ge-public-section,.ge5d-section,.ge5d-hero,.ge5d-cta,.ge5d-footer,.ge-staff-v2,.gs-page,.ge-reserva-v3,.ge-login-v56,.ge-recover-v58,.ge-confirm-page,.ge5d-client-v51) :where(p,li,td,th,label,small,span) {
  font-family: var(--ge5d-font-sans, "DM Sans") !important;
}

body:not(.wp-admin) :where(.ge5d-tag,.ge5d-kicker,.gsv2-filter-field > span,.gsv2-filter-title span,.gs-kicker,.gs-label,.ge5d-label,.ge-field label,.ge-recover-v58-field span,.ge-login-v56-field span) {
  color: var(--ge5d-color-gold, var(--fived-gold)) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  line-height: 1.25 !important;
  text-transform: uppercase !important;
}

body:not(.wp-admin) :where(
  .ge5d-btn,
  .ge5d-btn-primary,
  .ge5d-btn-outline,
  .ge5d-nav-cta,
  .ge5d-mobile-primary,
  .ge5d-mobile-login,
  .gsv2-btn,
  .gs-btn,
  .ge-btn,
  .ge-confirm-btn,
  .ge-recover-v58-btn,
  .ge-recover-btn,
  .ge-login-v56-btn,
  .ge-hall-action,
  .ge5d-proof-download,
  button[type="submit"]
) {
  min-height: var(--ge5d-control-height-lg, 50px) !important;
  border-radius: 999px !important;
  font-family: var(--ge5d-font-sans, "DM Sans") !important;
  font-size: 12px !important;
  font-weight: 750 !important;
  letter-spacing: .14em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  transition:
    background-color .18s cubic-bezier(.2,.8,.2,1),
    background .18s cubic-bezier(.2,.8,.2,1),
    border-color .18s cubic-bezier(.2,.8,.2,1),
    color .18s cubic-bezier(.2,.8,.2,1),
    box-shadow .18s cubic-bezier(.2,.8,.2,1),
    filter .18s cubic-bezier(.2,.8,.2,1),
    transform .18s cubic-bezier(.2,.8,.2,1) !important;
}

body:not(.wp-admin) :where(
  .ge5d-btn,
  .ge5d-btn-outline,
  .ge5d-mobile-login,
  .gsv2-btn:not(.primary),
  .gs-btn:not(.primary),
  .ge-btn-secondary,
  .ge-confirm-btn:not(.primary),
  .ge-hall-action.secondary
) {
  border-color: rgba(201, 168, 76, .34) !important;
  background: rgba(255,255,255,.025) !important;
  color: var(--ge5d-color-gold-light, var(--fived-gold-light)) !important;
}

body:not(.wp-admin) :where(
  .ge5d-btn-primary,
  .ge5d-nav-cta,
  .ge5d-mobile-primary,
  .gsv2-btn.primary,
  .gs-btn.primary,
  .ge-btn-primary,
  .ge-confirm-btn.primary,
  .ge-recover-v58-btn,
  .ge-recover-btn,
  .ge-login-v56-btn,
  .ge-hall-action.primary,
  button[type="submit"]
) {
  border-color: var(--ge5d-color-gold, var(--fived-gold)) !important;
  background: linear-gradient(135deg, var(--fived-gold-dark) 0%, var(--fived-gold) 48%, var(--fived-gold-light) 100%) !important;
  color: var(--fived-input) !important;
  box-shadow: 0 14px 34px rgba(201,168,76,.18) !important;
}

body:not(.wp-admin) :where(
  .ge5d-btn,
  .ge5d-btn-primary,
  .ge5d-btn-outline,
  .ge5d-nav-cta,
  .ge5d-mobile-primary,
  .ge5d-mobile-login,
  .gsv2-btn,
  .gs-btn,
  .ge-btn,
  .ge-confirm-btn,
  .ge-recover-v58-btn,
  .ge-recover-btn,
  .ge-login-v56-btn,
  .ge-hall-action,
  .ge5d-proof-download,
  button[type="submit"]
):hover {
  border-color: var(--ge5d-color-gold-light, var(--fived-gold-light)) !important;
  filter: brightness(1.04) saturate(1.04) !important;
  transform: none !important;
  text-decoration: none !important;
}

body:not(.wp-admin) :where(
  .ge5d-btn,
  .ge5d-btn-primary,
  .ge5d-btn-outline,
  .ge5d-nav-cta,
  .ge5d-mobile-primary,
  .ge5d-mobile-login,
  .gsv2-btn,
  .gs-btn,
  .ge-btn,
  .ge-confirm-btn,
  .ge-recover-v58-btn,
  .ge-recover-btn,
  .ge-login-v56-btn,
  .ge-hall-action,
  .ge5d-proof-download,
  button[type="submit"]
):active {
  filter: brightness(.96) !important;
  transform: scale(.99) !important;
  box-shadow: none !important;
}

body:not(.wp-admin) :where(
  .ge5d-hamb,
  .ge5d-notification-trigger,
  .ge5d-service-arrow,
  .ge5d-swp-prev,
  .ge5d-swp-next,
  .swiper-button-prev,
  .swiper-button-next,
  .gsv2-icon-btn,
  .gsv2-rail-link,
  .gsv2-rail-user
):hover,
body:not(.wp-admin) :where(
  .ge5d-hamb,
  .ge5d-notification-trigger,
  .ge5d-service-arrow,
  .ge5d-swp-prev,
  .ge5d-swp-next,
  .swiper-button-prev,
  .swiper-button-next,
  .gsv2-icon-btn,
  .gsv2-rail-link,
  .gsv2-rail-user
):active {
  transform: none !important;
}

body:not(.wp-admin) :where(.ge5d-swp-card,.ge-salao-card,.ge5d-service-card,.gsv2-reservation,.gs-card,.gsv2-panel,.gsv2-side-card):hover {
  transform: none !important;
}

body:not(.wp-admin) :where(
  .gsv2-global-filter-form input,
  .gsv2-global-filter-form select,
  .gsv2-global-filter-form .gsv2-select-button,
  .gsv2-search,
  .gsv2-filter-field select,
  .gsv2-period-modal input,
  .gs-field input,
  .gs-field select,
  .gs-field textarea,
  .ge5d-input,
  .ge5d-select,
  .ge5d-textarea,
  .ge-input,
  .ge-select,
  .ge-textarea,
  .ge-login-v56-field input,
  .ge-recover-v58-field input,
  .ge-recover-field input,
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="password"],
  input[type="number"],
  input[type="date"],
  select,
  textarea
) {
  min-height: var(--ge5d-control-height-lg, 50px) !important;
  border-color: rgba(255,255,255,.12) !important;
  border-radius: 12px !important;
  background-color: var(--fived-ink) !important;
  color: rgba(245,240,232,.92) !important;
  font-family: var(--ge5d-font-sans, "DM Sans") !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

body:not(.wp-admin) :where(
  .gsv2-global-filter-form input,
  .gsv2-global-filter-form select,
  .gsv2-global-filter-form .gsv2-select-button,
  .gsv2-search,
  .gsv2-filter-field select,
  .gsv2-period-modal input,
  .gs-field input,
  .gs-field select,
  .gs-field textarea,
  .ge5d-input,
  .ge5d-select,
  .ge5d-textarea,
  .ge-input,
  .ge-select,
  .ge-textarea,
  .ge-login-v56-field input,
  .ge-recover-v58-field input,
  .ge-recover-field input,
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="password"],
  input[type="number"],
  input[type="date"],
  select,
  textarea
):hover {
  border-color: rgba(232,212,139,.34) !important;
  background-color: #090909 !important;
}

body:not(.wp-admin) :where(
  .gsv2-global-filter-form input,
  .gsv2-global-filter-form select,
  .gsv2-global-filter-form .gsv2-select-button,
  .gsv2-search,
  .gsv2-filter-field select,
  .gsv2-period-modal input,
  .gs-field input,
  .gs-field select,
  .gs-field textarea,
  .ge5d-input,
  .ge5d-select,
  .ge5d-textarea,
  .ge-input,
  .ge-select,
  .ge-textarea,
  .ge-login-v56-field input,
  .ge-recover-v58-field input,
  .ge-recover-field input,
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="password"],
  input[type="number"],
  input[type="date"],
  select,
  textarea
):focus {
  border-color: rgba(232,212,139,.68) !important;
  background-color: var(--fived-ink) !important;
  box-shadow: 0 0 0 3px rgba(201,168,76,.10) !important;
}

body:not(.wp-admin) :where(input::placeholder,textarea::placeholder) {
  color: rgba(245,240,232,.42) !important;
  font-weight: 400 !important;
  opacity: 1 !important;
}

body:not(.wp-admin) .ge5d-hero h1,
body:not(.wp-admin) .ge5d-cta-title,
body:not(.wp-admin) .ge5d-title,
body:not(.wp-admin) .ge5d-service-title,
body:not(.wp-admin) .ge-salao-title {
  font-family: var(--ge5d-font-serif, "Cormorant Garamond") !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
}

body:not(.wp-admin) .ge5d-btn-primary,
body:not(.wp-admin) .ge5d-btn-outline,
body:not(.wp-admin) .ge5d-nav-cta,
body:not(.wp-admin) a.ge5d-nav-cta {
  min-height: var(--ge5d-control-height-lg, 50px) !important;
  border-radius: 999px !important;
  border: 1px solid var(--ge5d-color-gold, var(--fived-gold)) !important;
  font-size: 12px !important;
  font-weight: 750 !important;
  letter-spacing: .14em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  transform: none !important;
}

body:not(.wp-admin) .ge5d-btn-primary,
body:not(.wp-admin) .ge5d-nav-cta,
body:not(.wp-admin) a.ge5d-nav-cta {
  background: linear-gradient(135deg, var(--fived-gold-dark) 0%, var(--fived-gold) 48%, var(--fived-gold-light) 100%) !important;
  color: var(--fived-input) !important;
}

body:not(.wp-admin) .ge5d-btn-outline {
  background: rgba(255,255,255,.025) !important;
  color: var(--ge5d-color-gold-light, var(--fived-gold-light)) !important;
}

/* 5D fix: encaixe no topo também nas páginas públicas */
body.ge5d-template-public,
body.ge5d-template-client,
body.ge-fr-page,
body:has(.ge5d-template-main),
body:has(.ge5d-home-v56),
body:has(.ge-reserva-v3),
body:has(.ge-confirm-page),
body:has(.ge-login-v56),
body:has(.ge-recover-v58),
body:has(.ge5d-client-v51),
body:has(.ge5d-profile-v56),
body:has(.ge-single-salao){
  margin:0!important;
  padding:0!important;
  background:var(--fived-ink)!important;
  overflow-x:hidden;
}

body.ge5d-template-public #page,
body.ge5d-template-client #page,
body.ge-fr-page #page,
body.ge5d-template-public .site,
body.ge5d-template-client .site,
body.ge-fr-page .site,
body.ge5d-template-public .site-main,
body.ge5d-template-client .site-main,
body.ge-fr-page .site-main,
body.ge5d-template-public .entry-content,
body.ge5d-template-client .entry-content,
body.ge-fr-page .entry-content,
body:has(.ge5d-template-main) #page,
body:has(.ge5d-template-main) .site,
body:has(.ge5d-template-main) .site-main,
body:has(.ge5d-template-main) .entry-content{
  margin-top:0!important;
  padding-top:0!important;
}

body.ge5d-template-public .ge5d-template-main,
body.ge5d-template-client .ge5d-template-main,
body.ge-fr-page .ge5d-template-main,
body.ge5d-template-public .ge5d-template-main > *:first-child,
body.ge5d-template-client .ge5d-template-main > *:first-child,
body.ge-fr-page .ge5d-template-main > *:first-child{
  margin-top:0!important;
}

body:not(.wp-admin) .elementor-widget-shortcode:has(.ge5d-home-v56),
body:not(.wp-admin) .elementor-widget-shortcode:has(.ge-reserva-v3),
body:not(.wp-admin) .elementor-widget-shortcode:has(.ge-confirm-page),
body:not(.wp-admin) .elementor-widget-shortcode:has(.ge-login-v56),
body:not(.wp-admin) .elementor-widget-shortcode:has(.ge-recover-v58),
body:not(.wp-admin) .elementor-widget-shortcode:has(.ge5d-client-v51),
body:not(.wp-admin) .elementor-widget-shortcode:has(.ge5d-profile-v56),
body:not(.wp-admin) .elementor-widget-shortcode:has(.ge-single-salao),
body:not(.wp-admin) .elementor-widget-shortcode:has(.ge5d-home-v56) > .elementor-widget-container,
body:not(.wp-admin) .elementor-widget-shortcode:has(.ge-reserva-v3) > .elementor-widget-container,
body:not(.wp-admin) .elementor-widget-shortcode:has(.ge-confirm-page) > .elementor-widget-container,
body:not(.wp-admin) .elementor-widget-shortcode:has(.ge-login-v56) > .elementor-widget-container,
body:not(.wp-admin) .elementor-widget-shortcode:has(.ge-recover-v58) > .elementor-widget-container,
body:not(.wp-admin) .elementor-widget-shortcode:has(.ge5d-client-v51) > .elementor-widget-container,
body:not(.wp-admin) .elementor-widget-shortcode:has(.ge5d-profile-v56) > .elementor-widget-container,
body:not(.wp-admin) .elementor-widget-shortcode:has(.ge-single-salao) > .elementor-widget-container,
body:not(.wp-admin) .elementor-shortcode:has(.ge5d-home-v56),
body:not(.wp-admin) .elementor-shortcode:has(.ge-reserva-v3),
body:not(.wp-admin) .elementor-shortcode:has(.ge-confirm-page),
body:not(.wp-admin) .elementor-shortcode:has(.ge-login-v56),
body:not(.wp-admin) .elementor-shortcode:has(.ge-recover-v58),
body:not(.wp-admin) .elementor-shortcode:has(.ge5d-client-v51),
body:not(.wp-admin) .elementor-shortcode:has(.ge5d-profile-v56),
body:not(.wp-admin) .elementor-shortcode:has(.ge-single-salao){
  margin-top:0!important;
  padding-top:0!important;
}

body:not(.wp-admin) :where(.ge5d-home-v56,.ge-reserva-v3,.ge-confirm-page,.ge-login-v56,.ge-recover-v58,.ge5d-client-v51,.ge5d-profile-v56,.ge-single-salao,.ge5d-about-v56){
  margin-top:0!important;
}

@media (max-width:768px){
  body.ge5d-template-public .ge5d-template-main,
  body.ge5d-template-client .ge5d-template-main,
  body.ge-fr-page .ge5d-template-main{
    padding-top:0!important;
  }
}

/* 5D fix v2: remover folga real no topo causada pelo admin-bar/tema/Elementor nas páginas 5D */
html:has(body.admin-bar .ge-staff-v2),
html:has(body.admin-bar .gs-page),
html:has(body.admin-bar .ge5d-template-main),
html:has(body.admin-bar .ge5d-home-v56),
html:has(body.admin-bar .ge-reserva-v3),
html:has(body.admin-bar .ge-confirm-page),
html:has(body.admin-bar .ge-login-v56),
html:has(body.admin-bar .ge-recover-v58),
html:has(body.admin-bar .ge5d-client-v51),
html:has(body.admin-bar .ge5d-profile-v56),
html:has(body.admin-bar .ge-single-salao),
html:has(body.ge-staff-v2-template),
html:has(body.ge5d-template-public),
html:has(body.ge5d-template-client),
html:has(body.ge-fr-page){
  margin-top:0!important;
  padding-top:0!important;
}

body.admin-bar:has(.ge-staff-v2) #wpadminbar,
body.admin-bar:has(.gs-page) #wpadminbar,
body.admin-bar:has(.ge5d-template-main) #wpadminbar,
body.admin-bar:has(.ge5d-home-v56) #wpadminbar,
body.admin-bar:has(.ge-reserva-v3) #wpadminbar,
body.admin-bar:has(.ge-confirm-page) #wpadminbar,
body.admin-bar:has(.ge-login-v56) #wpadminbar,
body.admin-bar:has(.ge-recover-v58) #wpadminbar,
body.admin-bar:has(.ge5d-client-v51) #wpadminbar,
body.admin-bar:has(.ge5d-profile-v56) #wpadminbar,
body.admin-bar:has(.ge-single-salao) #wpadminbar{
  display:none!important;
}

body.admin-bar:has(.ge-staff-v2),
body.admin-bar:has(.gs-page),
body.admin-bar:has(.ge5d-template-main),
body.admin-bar:has(.ge5d-home-v56),
body.admin-bar:has(.ge-reserva-v3),
body.admin-bar:has(.ge-confirm-page),
body.admin-bar:has(.ge-login-v56),
body.admin-bar:has(.ge-recover-v58),
body.admin-bar:has(.ge5d-client-v51),
body.admin-bar:has(.ge5d-profile-v56),
body.admin-bar:has(.ge-single-salao){
  margin-top:0!important;
  padding-top:0!important;
}

body:not(.wp-admin):has(.ge-staff-v2) #page,
body:not(.wp-admin):has(.gs-page) #page,
body:not(.wp-admin):has(.ge5d-template-main) #page,
body:not(.wp-admin):has(.ge5d-home-v56) #page,
body:not(.wp-admin):has(.ge-reserva-v3) #page,
body:not(.wp-admin):has(.ge-confirm-page) #page,
body:not(.wp-admin):has(.ge-login-v56) #page,
body:not(.wp-admin):has(.ge-recover-v58) #page,
body:not(.wp-admin):has(.ge5d-client-v51) #page,
body:not(.wp-admin):has(.ge5d-profile-v56) #page,
body:not(.wp-admin):has(.ge-single-salao) #page,
body:not(.wp-admin):has(.ge-staff-v2) .site,
body:not(.wp-admin):has(.gs-page) .site,
body:not(.wp-admin):has(.ge5d-template-main) .site,
body:not(.wp-admin):has(.ge5d-home-v56) .site,
body:not(.wp-admin):has(.ge-reserva-v3) .site,
body:not(.wp-admin):has(.ge-confirm-page) .site,
body:not(.wp-admin):has(.ge-login-v56) .site,
body:not(.wp-admin):has(.ge-recover-v58) .site,
body:not(.wp-admin):has(.ge5d-client-v51) .site,
body:not(.wp-admin):has(.ge5d-profile-v56) .site,
body:not(.wp-admin):has(.ge-single-salao) .site,
body:not(.wp-admin):has(.ge-staff-v2) .site-content,
body:not(.wp-admin):has(.gs-page) .site-content,
body:not(.wp-admin):has(.ge5d-template-main) .site-content,
body:not(.wp-admin):has(.ge5d-home-v56) .site-content,
body:not(.wp-admin):has(.ge-reserva-v3) .site-content,
body:not(.wp-admin):has(.ge-confirm-page) .site-content,
body:not(.wp-admin):has(.ge-login-v56) .site-content,
body:not(.wp-admin):has(.ge-recover-v58) .site-content,
body:not(.wp-admin):has(.ge5d-client-v51) .site-content,
body:not(.wp-admin):has(.ge5d-profile-v56) .site-content,
body:not(.wp-admin):has(.ge-single-salao) .site-content,
body:not(.wp-admin):has(.ge-staff-v2) .site-main,
body:not(.wp-admin):has(.gs-page) .site-main,
body:not(.wp-admin):has(.ge5d-template-main) .site-main,
body:not(.wp-admin):has(.ge5d-home-v56) .site-main,
body:not(.wp-admin):has(.ge-reserva-v3) .site-main,
body:not(.wp-admin):has(.ge-confirm-page) .site-main,
body:not(.wp-admin):has(.ge-login-v56) .site-main,
body:not(.wp-admin):has(.ge-recover-v58) .site-main,
body:not(.wp-admin):has(.ge5d-client-v51) .site-main,
body:not(.wp-admin):has(.ge5d-profile-v56) .site-main,
body:not(.wp-admin):has(.ge-single-salao) .site-main,
body:not(.wp-admin):has(.ge-staff-v2) .entry-content,
body:not(.wp-admin):has(.gs-page) .entry-content,
body:not(.wp-admin):has(.ge5d-template-main) .entry-content,
body:not(.wp-admin):has(.ge5d-home-v56) .entry-content,
body:not(.wp-admin):has(.ge-reserva-v3) .entry-content,
body:not(.wp-admin):has(.ge-confirm-page) .entry-content,
body:not(.wp-admin):has(.ge-login-v56) .entry-content,
body:not(.wp-admin):has(.ge-recover-v58) .entry-content,
body:not(.wp-admin):has(.ge5d-client-v51) .entry-content,
body:not(.wp-admin):has(.ge5d-profile-v56) .entry-content,
body:not(.wp-admin):has(.ge-single-salao) .entry-content{
  margin-top:0!important;
  padding-top:0!important;
}

body:not(.wp-admin) :where(.ge-staff-v2,.gs-page,.ge5d-template-main,.ge5d-home-v56,.ge-reserva-v3,.ge-confirm-page,.ge-login-v56,.ge-recover-v58,.ge5d-client-v51,.ge5d-profile-v56,.ge-single-salao){
  margin-top:0!important;
  top:0!important;
}

html,
html[style],
body:not(.wp-admin),
body.admin-bar{
  margin-top:0!important;
  padding-top:0!important;
}

body:not(.wp-admin) #wpadminbar{
  display:none!important;
}

body.admin-bar .ge5d-nav,
body.admin-bar .ge5d-nav.scrolled,
body.admin-bar .ge5d-mobile,
body.admin-bar .ge5d-staff-mobile-nav,
body.admin-bar .gsv2-rail,
body.admin-bar .ge5d-nav-wrap{
  top:0!important;
}

body.admin-bar .ge5d-mobile{
  height:100dvh!important;
}

/* 5D v45.13: respiro interno geral no mobile sem quebrar 100vw */
@media(max-width:768px){
  body:not(.wp-admin){
    --ge5d-mobile-page-pad:18px;
  }

  body:not(.wp-admin) :where(
    .ge5d-template-main,
    .ge5d-home-v56,
    .ge-reserva-v3,
    .ge-confirm-page,
    .ge-login-v56,
    .ge-recover-v58,
    .ge5d-client-v51,
    .ge5d-profile-v56,
    .ge-single-salao,
    .ge5d-about-v56,
    .ge5d-page
  ){
    max-width:100vw!important;
    overflow-x:hidden!important;
  }

  body:not(.wp-admin) :where(
    .ge5d-template-main,
    .ge5d-home-v56,
    .ge-reserva-v3,
    .ge-confirm-page,
    .ge-login-v56,
    .ge-recover-v58,
    .ge5d-client-v51,
    .ge5d-profile-v56,
    .ge-single-salao,
    .ge5d-about-v56,
    .ge5d-page
  ) :where(
    .ge5d-wrap,
    .ge-page,
    .ge5d-page-inner,
    .ge5d-section-inner,
    .ge5d-hero-content,
    .ge5d-hero-inner,
    .ge5d-main,
    .ge5d-side,
    .ge5d-panel,
    .ge5d-card,
    .ge5d-summary-content,
    .ge-reserva-card,
    .ge-reserva-panel,
    .ge-form-card,
    .ge-confirm-card,
    .ge-login-card,
    .ge-recover-card
  ){
    box-sizing:border-box!important;
    padding-left:max(var(--ge5d-mobile-page-pad), env(safe-area-inset-left))!important;
    padding-right:max(var(--ge5d-mobile-page-pad), env(safe-area-inset-right))!important;
  }

  body:not(.wp-admin) :where(
    .ge5d-template-main,
    .ge5d-home-v56,
    .ge-reserva-v3,
    .ge-confirm-page,
    .ge-login-v56,
    .ge-recover-v58,
    .ge5d-client-v51,
    .ge5d-profile-v56,
    .ge-single-salao,
    .ge5d-about-v56,
    .ge5d-page
  ) :where(
    h1,h2,h3,h4,p,small,span,strong,em,a,li,label,input,select,textarea,button
  ){
    max-width:100%;
  }
}
