/*
Theme Name: Salient Child Theme
Description: This is a custom child theme for Salient
Theme URI:   https://themeforest.net/item/salient-responsive-multipurpose-theme/4363266
Author: ThemeNectar
Author URI:  https://themeforest.net/user/themenectar
Template: salient
Version: 1.0
*/
/* =========================
   FUTURA CYRILLIC
========================= */

/* Thin (100) */
@font-face {
  font-family: "IBM Plex Sans";
  src:
    url("/wp-content/themes/salient-child/fonts/IBMPlexSans-Thin.woff2")
      format("woff2"),
    url("/wp-content/themes/salient-child/fonts/IBMPlexSans-Thin.woff")
      format("woff");
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}

/* Light (300) */
@font-face {
  font-family: "IBM Plex Sans";
  src:
    url("/wp-content/themes/salient-child/fonts/IBMPlexSans-Light.woff2")
      format("woff2"),
    url("/wp-content/themes/salient-child/fonts/IBMPlexSans-Light.woff")
      format("woff");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

/* Regular (400) */
@font-face {
  font-family: "IBM Plex Sans";
  src:
    url("/wp-content/themes/salient-child/fonts/IBMPlexSans-Regular.woff2")
      format("woff2"),
    url("/wp-content/themes/salient-child/fonts/IBMPlexSans-Regular.woff")
      format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* Medium (500) */
@font-face {
  font-family: "IBM Plex Sans";
  src:
    url("/wp-content/themes/salient-child/fonts/IBMPlexSans-Medium.woff2")
      format("woff2"),
    url("/wp-content/themes/salient-child/fonts/IBMPlexSans-Medium.woff")
      format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

/* Bold (700) */
@font-face {
  font-family: "IBM Plex Sans";
  src:
    url("/wp-content/themes/salient-child/fonts/IBMPlexSans-Bold.woff2")
      format("woff2"),
    url("/wp-content/themes/salient-child/fonts/IBMPlexSans-Bold.woff")
      format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

.vc_row.top-level > .span_12 {
  padding-top: 0 !important;
}

.main-label span {
  color: #fff;
}

.powered-by {
  display: none !important;
}

.main-label span,
label span {
  color: #fff;
  font-size: 18px;
}

html
  .formcraft-css
  .fc-form
  .form-element
  .fileupload-cover.field-cover
  .button-file
  span {
  color: #000;
}

html
  .formcraft-css
  .fc-form.label-floating
  .form-element
  .submit-cover
  .submit-button {
  padding: 8px 18px 8px 18px !important;
}

.formcraft-css input[type="checkbox"]::before,
.formcraft-css input[type="radio"]::before {
  color: #000 !important;
  border-left: 2px solid #000 !important;
  border-bottom: 2px solid #000 !important;
}

button[type="submit"]:hover {
  background-color: #fff !important;
}

.checkbox-cover.field-cover span {
  font-size: 16px;
}

html
  .formcraft-css
  .fc-form.field-border-hidden
  .form-element
  .form-element-html
  textarea {
  border-color: #fff !important;
}

html
  .formcraft-css
  .fc-form
  .form-element
  .fileupload-cover.field-cover
  .button-file {
  border-radius: 8px !important;
}

/* Default (desktop) */
.mobile-resp {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
}

.desktop-resp {
  display: block !important;
  visibility: visible !important;
  height: auto !important;
  height: 100vh !important;
}

/* Mobile */
@media (max-width: 767px) {
  .mobile-resp {
    display: block !important;
    visibility: visible !important;
    height: auto !important;
    overflow: visible !important;
  }

  .desktop-resp {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
  }
}

.mh {
  max-height: 100vh !important;
}

.age-gate__submit {
  background: #fff !important;
  color: #000 !important;
  width: 100px !important;
  font-size: 20px !important;
  font-family: utile-display !important;
  font-weight: 600 !important;
}

.age-gate__challenge {
  color: #fff !important;
  font-family: utile-display !important;
  font-size: 24px !important;
}

.age-gate__background {
  background-image: url(https://campariportugal.com/wp-content/uploads/2026/02/Campari_Banner_Footer2.jpg);
}

.age-gate {
  background-color: transparent !important;
}

html
  .formcraft-css
  .fc-form
  .form-element
  .fileupload-cover.field-cover
  .files-list
  li
  div {
  background-color: #000 !important;
  border: 1px solid #fff !important;
}

html
  .formcraft-css
  .fc-form
  .form-element
  .fileupload-cover.field-cover
  .files-list
  li
  .delete-file {
  background-color: transparent !important;
}

html {
  scrollbar-width: none;
}
::-webkit-scrollbar {
  width: 0px;
  display: none;
}
.btn-arrow {
  display: inline-flex;
  align-items: center;
  gap: 25px;
  padding: 5px 10px 5px 22px;
  border: 1.5px solid #111;
  border-radius: 6px;
  background: transparent;
  text-decoration: none;
  font-family: "IBM Plex Sans", sans-serif;
  font-weight: 500;
  font-size: 15px;
  letter-spacing: 0.15em;
  color: #111;
  transition:
    background-color 0.2s ease,
    color 0.2s ease;
}

.btn-arrow__label {
  line-height: 1;
}

.btn-arrow__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border: 1.5px solid #111;
  border-radius: 4px;
  color: #12b39a;
  transition:
    background-color 0.2s ease,
    color 0.2s ease;
}

.btn-arrow__icon svg {
  width: 16px;
  height: 16px;
}

.btn-arrow:hover .btn-arrow__icon {
  background: #12b39a;
  color: #fff;
}
/* Variante fundo preto / bordas brancas */
.btn-arrow--dark {
  background: transparent;
  border-color: #fff;
  color: #fff;
}

.btn-arrow--dark .btn-arrow__icon {
  border-color: #fff;
  color: #12b39a; /* seta mantém o verde */
}

.btn-arrow--dark:hover .btn-arrow__icon {
  background: #12b39a;
  color: #fff;
}
/* Post Loop Builder — botão "Load More" com look .btn-arrow.btn-arrow--dark */
a.load-more,
.load-more {
  display: inline-flex !important;
  align-items: center !important;
  gap: 25px !important;
  padding: 5px 10px 5px 22px !important;
  border: 1.5px solid #fff !important;
  border-radius: 6px !important;
  background: transparent !important;
  font-family: "IBM Plex Sans", sans-serif !important;
  font-weight: 500 !important;
  font-size: 15px !important;
  letter-spacing: 0.15em !important;
  color: #fff !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  transition:
    background-color 0.2s ease,
    color 0.2s ease !important;
}
a.load-more:hover,
.load-more:hover,
a.load-more:focus,
.load-more:focus {
  text-decoration: none !important;
  color: #fff !important;
}
a.load-more::after,
.load-more::after {
  content: "";
  display: inline-flex;
  width: 32px;
  height: 32px;
  border: 1.5px solid #fff;
  border-radius: 4px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2312b39a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='7' y1='17' x2='17' y2='7'/%3E%3Cpolyline points='7 7 17 7 17 17'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 16px 16px;
  flex-shrink: 0;
  transition:
    background-color 0.2s ease,
    background-image 0s;
}
a.load-more:hover::after,
.load-more:hover::after {
  background-color: #12b39a;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='7' y1='17' x2='17' y2='7'/%3E%3Cpolyline points='7 7 17 7 17 17'/%3E%3C/svg%3E");
}
.border-purple {
  position: relative;
}
.badge-promocao {
  position: absolute;
  top: -18px;
  right: 32px;
  display: inline-block;
  background: #c8d4b8;
  color: #1a1d1a;
  padding: 0px 5px;
  border-radius: 5px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  white-space: nowrap;
  z-index: 2;
  z-index: 9999;
}
.r45-banner-menu {
  position: absolute !important;
  top: 30px;
  right: 30px;
  z-index: 9999 !important;
  pointer-events: auto !important;
}
.r45-banner-menu * {
  pointer-events: auto !important;
}
.r45-banner-menu ul,
.r45-banner-menu ol,
.r45-banner-menu__list {
  list-style: none !important;
  list-style-type: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  gap: 8px !important;
  background: none !important;
}
.r45-banner-menu li,
.r45-banner-menu__list li {
  list-style: none !important;
  list-style-type: none !important;
  list-style-image: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
}
.r45-banner-menu li::before,
.r45-banner-menu li::marker,
.r45-banner-menu__list li::before,
.r45-banner-menu__list li::marker {
  content: none !important;
  display: none !important;
}
.r45-banner-menu a,
.r45-banner-menu__list li a {
  display: inline-flex !important;
  align-items: center !important;
  padding: 10px 22px !important;
  border: 1px solid rgba(255, 255, 255, 0.6) !important;
  border-radius: 6px !important;
  background: transparent !important;
  color: #fff !important;
  text-decoration: none !important;
  font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  transition:
    background 0.15s ease,
    color 0.15s ease,
    border-color 0.15s ease;
}
.r45-banner-menu__list li a:hover {
  background: #fff !important;
  color: #1a1d1a !important;
}
.r45-banner-menu__list li.current-menu-item a,
.r45-banner-menu__list li.current_page_item a {
  border-color: #a8a3ff !important;
  color: #a8a3ff !important;
  background: rgba(168, 163, 255, 0.08) !important;
}
/* Esconder o banner menu quando o popup de conteúdo bloqueado
   está aberto (body.r45-block-open) — evita que o menu apareça
   por cima ou por trás do overlay. */
body.r45-block-open .r45-banner-menu {
  display: none !important;
}

/* Preço promocional — original riscado ao lado do actual */
.r45-old-price {
  text-decoration: line-through;
  opacity: 0.55;
  font-weight: 400;
  margin-right: 6px;
}

/* Comentários — botão "Enviar Comentário" estilo .btn-arrow
   (override do default azul do Salient para input/button submit) */
#commentform button.btn-arrow {
  display: inline-flex !important;
  align-items: center !important;
  gap: 25px !important;
  padding: 5px 10px 5px 22px !important;
  border: 1.5px solid #111 !important;
  border-radius: 6px !important;
  background: transparent !important;
  color: #111 !important;
  font-family: "IBM Plex Sans", sans-serif !important;
  font-weight: 500 !important;
  font-size: 15px !important;
  letter-spacing: 0.15em !important;
  line-height: 1 !important;
  text-transform: none !important;
  text-shadow: none !important;
  box-shadow: none !important;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  height: auto !important;
  min-height: 0 !important;
}
#commentform button.btn-arrow:hover {
  background: transparent !important;
  color: #111 !important;
}
#commentform button.btn-arrow .btn-arrow__label {
  line-height: 1 !important;
}
#commentform button.btn-arrow .btn-arrow__icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
  border: 1.5px solid #111 !important;
  border-radius: 4px !important;
  background: transparent !important;
  color: #12b39a !important;
}
#commentform button.btn-arrow:hover .btn-arrow__icon {
  background: #12b39a !important;
  color: #fff !important;
}

/* Comentários — botão "Responder" visível em qualquer fundo
   (verde de marca, funciona em fundo claro ou escuro) */
.comment-reply-link,
.comment-reply-link span {
  color: #12b39a !important;
  text-decoration: none !important;
}
.comment-reply-link .nectar-cta svg .line,
.comment-reply-link .nectar-cta svg .arrow {
  stroke: #12b39a !important;
}
.comment-reply-link:hover,
.comment-reply-link:hover span {
  color: #0d8a78 !important;
}
.comment-reply-link:hover .nectar-cta svg .line,
.comment-reply-link:hover .nectar-cta svg .arrow {
  stroke: #0d8a78 !important;
}
/* Nome do autor — sem cursor pointer já que removemos o link */
.comment-author .fn {
  cursor: default;
}

/* Complianz (cookie consent) — remover bullets das listas de links
   no banner / pop-up de consentimento e ocultar links vazios. */
.cmplz-documents.cmplz-links ul,
.cmplz-documents ul,
.cmplz-cookybot ul,
#cmplz-cookybanner ul {
  list-style: none !important;
  list-style-type: none !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
}
.cmplz-documents.cmplz-links ul li,
.cmplz-documents ul li,
.cmplz-cookybot ul li,
#cmplz-cookybanner ul li {
  list-style: none !important;
  list-style-type: none !important;
}
.cmplz-documents.cmplz-links ul li::before,
.cmplz-documents.cmplz-links ul li::marker,
.cmplz-documents ul li::before,
.cmplz-documents ul li::marker {
  content: none !important;
  display: none !important;
}
/* Esconder links sem texto (ex: cookie-statement vazio, impressum {title}) */
.cmplz-documents.cmplz-links a:empty {
  display: none !important;
}
.cmplz-documents.cmplz-links a.cmplz-hidden {
  display: none !important;
}

/* Member Profile Edit — "Alterar Password":
   dar respiro entre o botão "Show Password" e o input do campo. */
.pmpro_form_field-password-toggle {
  margin-bottom: 12px;
}
.pmpro_form_field-password-toggle + input[type="password"],
.pmpro_form_field-password-toggle ~ input[type="password"] {
  margin-top: 8px;
}
.pmpro_change_password_section .pmpro_form_field {
  margin-bottom: 22px;
}

@media (max-width: 900px) {
  .r45-banner-menu {
    top: 16px;
    right: 16px;
    /* Em mobile, se o JS definir max-width (porque o menu é mais
       largo que a viewport), o list ganha scroll horizontal interno. */
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }
  .r45-banner-menu__list {
    gap: 4px !important;
    /* Garante que os items NÃO encolhem nem partem */
    flex-wrap: nowrap !important;
    width: max-content !important;
    min-width: 100%;
  }
  .r45-banner-menu__list li a {
    padding: 8px 12px !important;
    font-size: 10px !important;
    letter-spacing: 0.1em !important;
    white-space: nowrap !important;
  }
  /* Esconder visualmente a scrollbar sem perder a função */
  .r45-banner-menu::-webkit-scrollbar {
    display: none;
  }
  .r45-banner-menu {
    scrollbar-width: none;
  }
}
.r45-user-header {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-size: 13px;
}
.r45-user-header--logged-in {
  color: #fff;
  text-decoration: none;
  transition: opacity 0.15s ease;
}
.r45-user-header--logged-in:hover {
  opacity: 0.85;
}
.r45-user-header__greeting {
  color: #fff;
  white-space: nowrap;
}
.r45-user-header__greeting strong {
  font-weight: 600;
}
.r45-user-header__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 6px;
  background: #a8a3ff;
  color: #1a1d1a;
}
.r45-user-header__icon svg {
  width: 16px;
  height: 16px;
}
.r45-user-header--logged-out {
  display: inline-flex !important;
  align-items: center;
  gap: 12px !important;
  list-style: none;
  padding: 0;
  margin: 0;
  line-height: 1;
}
/* Reset do <li> wrapper do Salient onde os botões vivem */
nav .sf-menu li.nectar-header-text-content-wrap,
nav ul.sf-menu li.nectar-header-text-content-wrap {
  line-height: 1 !important;
  padding: 0 !important;
  margin: 0 !important;
  height: auto !important;
}
nav .sf-menu li.nectar-header-text-content-wrap > .nectar-header-text-content {
  line-height: 1 !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Wrapper do user-header (logged out) */
.r45-user-header.r45-user-header--logged-out {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  line-height: 1 !important;
}

/* Botões propriamente ditos — selectores fortes para vencer .sf-menu li a */
.r45-header-btn,
a.r45-header-btn,
.r45-user-header a.r45-header-btn,
nav .sf-menu li a.r45-header-btn,
nav ul.sf-menu li a.r45-header-btn,
li.nectar-header-text-content-wrap a.r45-header-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 9px 18px !important;
  border: 1px solid #fff !important;
  border-radius: 6px !important;
  background: transparent !important;
  color: #fff !important;
  text-decoration: none !important;
  font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  min-width: 100px !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  transition:
    background 0.15s ease,
    color 0.15s ease;
}
a.r45-header-btn,
a.r45-header-btn:link,
a.r45-header-btn:visited,
a.r45-header-btn:hover,
a.r45-header-btn:focus,
a.r45-header-btn:active,
.r45-header-btn,
.r45-header-btn:hover,
.r45-header-btn:focus,
.r45-header-btn:active {
  text-decoration: none !important;
  text-decoration-line: none !important;
  text-decoration-color: transparent !important;
  border-bottom: 0 !important;
  background-image: none !important;
  box-shadow: none !important;
}
.r45-header-btn::before,
.r45-header-btn::after,
a.r45-header-btn::before,
a.r45-header-btn::after {
  display: none !important;
  content: none !important;
}
.r45-header-btn:hover,
a.r45-header-btn:hover,
.r45-header-btn:focus,
a.r45-header-btn:focus,
nav .sf-menu li a.r45-header-btn:hover,
nav ul.sf-menu li a.r45-header-btn:hover,
li.nectar-header-text-content-wrap a.r45-header-btn:hover {
  background: #fff !important;
  color: #1a1d1a !important;
  text-decoration: none !important;
  text-decoration-line: none !important;
  border-bottom: 0 !important;
  background-image: none !important;
}
.r45-header-btn:focus,
a.r45-header-btn:focus {
  outline: 2px solid #a8a3ff;
  outline-offset: 2px;
}
img.brand-img {
  width: 75px !important;
}
.fs16 {
  font-size: 16px !important;
  line-height: 26px !important;
}
.custom-width-75px .img-with-animation {
  height: 60px !important;
  width: auto !important;
  max-width: 75px !important;
  object-fit: contain !important;
  object-position: left center !important;
}
.artigos-hp .nectar-post-grid-item-bg-wrap-inner {
  margin: 3% !important;
}

.artigos-hp span.meta-category a {
  color: #00b495 !important;
}
.carousel-hp
  .nectar-flickity[data-controls*="arrows_overlaid"]
  .flickity-prev-next-button:before {
  background: transparent !important;
}
.faqs-hp .toggle.extra-color-1.open p {
  color: #fff;
}
.faqs-hp div[data-style*="minimal"] .toggle > .toggle-title i {
  border-radius: 10px !important;
}
html .form-hp .formcraft-css .fc-form .form-element-html input,
html .form-hp .formcraft-css .fc-form .form-element-html select {
  border-color: #1a1d1a !important;
  border-radius: 10px !important;
}
/* Placeholders dos inputs */
.fc-form-1 input::placeholder {
  color: #1a1d1a !important;
}

/* Texto da checkbox de política de privacidade (e o link) */
.fc-form-1 .form-element-field9 label span,
.fc-form-1 .form-element-field9 label a {
  color: #1a1d1a !important;
  opacity: 1 !important;
}

ul#menu-footer-menu {
  list-style: none !important;
  padding-left: 0 !important;
  margin: 0 !important;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 16px;
}

ul#menu-footer-menu li.menu-item {
  list-style: none !important;
  padding: 0;
  margin: 0;
}

ul#menu-footer-menu li.menu-item::before,
ul#menu-footer-menu li.menu-item::marker {
  content: none !important;
  display: none !important;
}
ul#menu-footer-menu li.menu-item:hover {
  color: #fff !important;
  text-decoration: underline;
}
body.material
  .widget:not(.nectar_popular_posts_widget):not(.recent_posts_extra_widget)
  ul#menu-footer-menu
  li
  a:hover {
  color: #fff !important;
}
div#footer-outer {
  display: none !important;
}

@media (min-width: 1001px) {
  .hideDesktop {
    display: none !important;
  }
}
@media (max-width: 1000px) {
  .hideMobile {
    display: none !important;
  }
  ul#menu-footer-menu {
    list-style: none !important;
    padding-left: 0 !important;
    margin: 0 !important;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    font-size: 16px;
    flex-direction: column;
  }
}
.analises-recentes
  [data-style="content_overlaid"]
  .nectar-post-grid
  .nectar-post-grid-item
  .content {
  top: 0;
  top: 20px;
  left: 20px;
  right: 20px;
  bottom: 20px;
  width: auto;
  height: auto;
  /* backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  background-color: rgba(10, 10, 10, 0.2); */
  border-radius: 8px;
}
.fs-disclaimer {
  font-size: 12px !important;
  line-height: 22px !important;
  margin-top: 5% !important;
}
blockquote {
  font-size: 14px !important;
  line-height: 24px !important;
}
form#pmpro_form {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 22px !important;
}
form#pmpro_form fieldset,
form#pmpro_form fieldset > .pmpro_card,
form#pmpro_form .pmpro_card_content,
form#pmpro_form .pmpro_form_fields,
form#pmpro_form .pmpro_cols-2 {
  display: contents !important;
}
form#pmpro_form .pmpro_card {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
  margin: 0;
}
form#pmpro_form #pmpro_pricing_fields,
form#pmpro_form #pmpro_payment_information_fields,
form#pmpro_form .pmpro_form_legend,
form#pmpro_form #pmpro_user_fields .pmpro_card_actions,
form#pmpro_form #pmpro_account_loggedin,
form#pmpro_form .pmpro_form_field-baddress1,
form#pmpro_form .pmpro_form_field-baddress2,
form#pmpro_form .pmpro_form_field-bcity,
form#pmpro_form .pmpro_form_field-bstate,
form#pmpro_form .pmpro_form_field-bzipcode,
form#pmpro_form .pmpro_form_field-bphone,
form#pmpro_form .pmpro_form_field-bconfirmemail,
form#pmpro_form .pmpro_form_field-password-toggle,
form#pmpro_form .pmpro_form_label:not(.pmpro_form_label-inline) {
  display: none !important;
}
form#pmpro_form .pmpro_form_field input[type="text"],
form#pmpro_form .pmpro_form_field input[type="email"],
form#pmpro_form .pmpro_form_field input[type="password"],
form#pmpro_form .pmpro_form_field input[type="tel"],
form#pmpro_form .pmpro_form_field input[type="number"],
form#pmpro_form .pmpro_form_field select,
form#pmpro_form .pmpro_form_field textarea {
  padding: 22px 28px;
  font-size: 15px;
  line-height: 1.4;
  background: transparent !important;
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.4) !important;
  box-shadow: none !important;
}
form#pmpro_form .pmpro_form_field input[type="text"] {
  background: transparent !important;
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.4) !important;
  box-shadow: none !important;
}
form#pmpro_form .pmpro_form_field input::placeholder,
form#pmpro_form .pmpro_form_field textarea::placeholder {
  color: rgba(255, 255, 255, 0.6) !important;
  opacity: 1;
}
form#pmpro_form .pmpro_form_field select {
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8' fill='none'%3E%3Cpath d='M1 1L7 7L13 1' stroke='%23ffffff' stroke-width='1.5'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 24px center !important;
  padding-right: 60px !important;
}
form#pmpro_form .pmpro_form_field select option {
  background: #111 !important;
  color: #fff !important;
}
form#pmpro_form .pmpro_form_field input:focus,
form#pmpro_form .pmpro_form_field select:focus,
form#pmpro_form .pmpro_form_field textarea:focus {
  outline: none;
  border-color: #fff !important;
  box-shadow: 0 0 0 1px #fff !important;
}
form#pmpro_form .pmpro_form_field-checkbox label,
form#pmpro_form .pmpro_form_label-inline {
  color: #fff !important;
}
form#pmpro_form .pmpro_form_field-checkbox a {
  color: #12b39a;
}
.pmpro_form_field-bfirstname {
  order: 1;
}
.pmpro_form_field-blastname {
  order: 2;
}
.pmpro_form_field-username {
  order: 3;
}
.pmpro_form_field-bemail {
  order: 4;
}
.pmpro_form_field-bcountry {
  order: 5;
}
.pmpro_form_field:has(#nif) {
  order: 6;
}
.pmpro_form_field:has(#password) {
  order: 7;
}
.pmpro_form_field:has(#password2) {
  order: 8;
}
.pmpro_form_field:has(#aceito_politica) {
  order: 9;
  grid-column: 1 / -1;
}
.pmpro_form_submit {
  order: 10;
  grid-column: 1 / -1;
}
form#pmpro_form button.pmpro_btn-submit-checkout {
  background: transparent !important;
  color: inherit !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  text-shadow: none !important;
}
form#pmpro_form button.btn-arrow {
  display: flex;
  padding: 14px 16px 14px 28px !important;
  gap: 22px !important;
  font-size: 14px !important;
  letter-spacing: 0.18em !important;
  font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  text-transform: uppercase;
  border-radius: 6px !important;
  border-width: 1px !important;
}
form#pmpro_form button.btn-arrow .btn-arrow__icon {
  width: 28px !important;
  height: 28px !important;
  border-width: 1px !important;
}
form#pmpro_form button.btn-arrow--dark {
  background: transparent !important;
  border-color: #fff !important;
  color: #fff !important;
}
form#pmpro_form button.btn-arrow:not(.btn-arrow--dark) {
  border-color: #111 !important;
  color: #111 !important;
}
#pmpro_message {
  order: 0;
  grid-column: 1 / -1;
}
form#pmpro_form #pmpro_message_bottom,
#pmpro_message_bottom.pmpro_message,
#pmpro_message_bottom {
  display: none !important;
}
form#pmpro_form .pmpro_form_field input,
form#pmpro_form .pmpro_form_field select,
form#pmpro_form .pmpro_form_field textarea {
  width: 100%;
  box-sizing: border-box;
}
.pmpro .pmpro_cols-2 > *,
.pmpro .pmpro_form_field {
  width: 100%;
}
.pmpro .pmpro_form_field {
  flex-direction: column;
  gap: 0 !important;
}
form#pmpro_form input[type="checkbox"],
form#pmpro_form input[type="radio"] {
  width: auto !important;
  margin: 0;
  flex: 0 0 auto;
}
form#pmpro_form .pmpro_form_field-checkbox {
  display: flex;
  align-items: flex-start !important;
}
form#pmpro_form .pmpro_form_label-inline {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 0;
  font-size: 14px;
  line-height: 1.5;
  width: auto;
}
form#pmpro_form .pmpro_form_label-inline .pmpro_asterisk {
  margin-left: 2px;
}
.pmpro_login_wrap,
.pmpro_login_wrap.pmpro_card,
.pmpro_login_wrap .pmpro_card_content,
.pmpro_lost_password_wrap,
.pmpro_lost_password_wrap.pmpro_card,
.pmpro_lost_password_wrap .pmpro_card_content,
.pmpro_reset_password_wrap,
.pmpro_reset_password_wrap.pmpro_card,
.pmpro_reset_password_wrap .pmpro_card_content,
.pmpro_logged_in_welcome_wrap,
.pmpro_logged_in_welcome_wrap.pmpro_card,
.pmpro_logged_in_welcome_wrap .pmpro_card_content {
  background: transparent;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
/* ===========================================================
   PMPro — Página "A Minha Conta"
   =========================================================== */

#pmpro_account-profile,
#pmpro_account-membership,
#pmpro_account-orders,
.pmpro_section {
  margin: 0 0 48px !important;
  color: #fff;
}

#pmpro_account-profile .pmpro_section_title,
#pmpro_account-membership .pmpro_section_title,
#pmpro_account-orders .pmpro_section_title,
.pmpro_section .pmpro_section_title,
.pmpro_section > h2 {
  color: #fff !important;
  font-size: 26px !important;
  font-weight: 600 !important;
  margin: 0 0 20px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

#pmpro_account-profile .pmpro_card,
#pmpro_account-membership .pmpro_card,
#pmpro_account-orders .pmpro_card {
  background: rgba(255, 255, 255, 0.03) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 12px !important;
  padding: 28px 32px !important;
  margin: 0 0 16px !important;
  color: #fff !important;
  box-shadow: none !important;
  transition:
    border-color 0.2s ease,
    background 0.2s ease;
}

#pmpro_account-profile .pmpro_card:hover,
#pmpro_account-membership .pmpro_card:hover {
  border-color: rgba(255, 255, 255, 0.25) !important;
}

#pmpro_account-profile .pmpro_card .pmpro_card_title,
#pmpro_account-membership .pmpro_card .pmpro_card_title,
#pmpro_account-orders .pmpro_card .pmpro_card_title,
.pmpro_section .pmpro_card h3,
.pmpro_section .pmpro_card h4 {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  color: #fff !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 0 18px !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  border: 0 !important;
}

#pmpro_account-profile .pmpro_card_content,
#pmpro_account-membership .pmpro_card_content,
#pmpro_account-orders .pmpro_card_content {
  background: transparent !important;
  padding: 0 !important;
  color: rgba(255, 255, 255, 0.85) !important;
}

#pmpro_account-profile .pmpro_card_content *,
#pmpro_account-membership .pmpro_card_content *,
#pmpro_account-orders .pmpro_card_content * {
  color: rgba(255, 255, 255, 0.85) !important;
}

#pmpro_account-profile .pmpro_card_content strong,
#pmpro_account-membership .pmpro_card_content strong {
  color: #fff !important;
  font-weight: 600;
}

#pmpro_account-profile .pmpro_list,
#pmpro_account-membership .pmpro_list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

#pmpro_account-profile .pmpro_list_item,
#pmpro_account-membership .pmpro_list_item {
  padding: 8px 0 !important;
  font-size: 14px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

#pmpro_account-profile .pmpro_list_item:last-child,
#pmpro_account-membership .pmpro_list_item:last-child {
  border-bottom: 0;
}

/* Card actions row */
#pmpro_account-profile .pmpro_card_actions,
#pmpro_account-membership .pmpro_card_actions,
#pmpro_account-orders .pmpro_card_actions {
  background: transparent !important;
  border: 0 !important;
  border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
  padding: 16px 0 0 !important;
  margin: 20px 0 0 !important;
  border-radius: 0 !important;
}

#pmpro_account-profile .pmpro_card_actions a,
#pmpro_account-membership .pmpro_card_actions a,
#pmpro_account-orders .pmpro_card_actions a {
  color: #a8a3ff !important;
  text-decoration: none !important;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.05em;
  transition: color 0.15s ease;
}

#pmpro_account-profile .pmpro_card_actions a:hover,
#pmpro_account-membership .pmpro_card_actions a:hover,
#pmpro_account-orders .pmpro_card_actions a:hover {
  color: #fff !important;
}

.pmpro_card_action_separator {
  color: rgba(255, 255, 255, 0.25) !important;
  margin: 0 10px !important;
}

/* Avatar do perfil */
.pmpro_heading-with-avatar img,
#pmpro_account-profile .avatar {
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  border: 2px solid rgba(255, 255, 255, 0.15);
}

/* ===========================================================
   Tabela do Histórico de Pagamentos
   =========================================================== */

#pmpro_account-orders .pmpro_card {
  padding: 0 !important;
  overflow: hidden;
}

#pmpro_account-orders .pmpro_card_content {
  padding: 0 !important;
}

#pmpro_account-orders .pmpro_table,
#pmpro_account-orders .pmpro_table_orders,
.pmpro_table.pmpro_table_orders {
  width: 100% !important;
  border-collapse: collapse !important;
  background: transparent !important;
  margin: 0 !important;
}

#pmpro_account-orders .pmpro_table thead,
.pmpro_table.pmpro_table_orders thead {
  background: rgba(255, 255, 255, 0.04) !important;
}

#pmpro_account-orders .pmpro_table thead tr,
#pmpro_account-orders .pmpro_table tbody tr,
.pmpro_table.pmpro_table_orders thead tr,
.pmpro_table.pmpro_table_orders tbody tr {
  background: transparent !important;
}

#pmpro_account-orders .pmpro_table tbody tr:hover,
.pmpro_table.pmpro_table_orders tbody tr:hover {
  background: rgba(255, 255, 255, 0.03) !important;
}

#pmpro_account-orders .pmpro_table th,
#pmpro_account-orders .pmpro_table td,
.pmpro_table.pmpro_table_orders th,
.pmpro_table.pmpro_table_orders td {
  padding: 16px 24px !important;
  background: transparent !important;
  color: rgba(255, 255, 255, 0.85) !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  text-align: left !important;
  font-weight: 400 !important;
  vertical-align: middle !important;
}

#pmpro_account-orders .pmpro_table thead th,
.pmpro_table.pmpro_table_orders thead th {
  color: rgba(255, 255, 255, 0.6) !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  font-size: 11px !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.15) !important;
}

#pmpro_account-orders .pmpro_table tbody tr:last-child td,
#pmpro_account-orders .pmpro_table tbody tr:last-child th,
.pmpro_table.pmpro_table_orders tbody tr:last-child td,
.pmpro_table.pmpro_table_orders tbody tr:last-child th {
  border-bottom: 0 !important;
}

#pmpro_account-orders .pmpro_table a,
.pmpro_table.pmpro_table_orders a {
  color: #a8a3ff !important;
  text-decoration: none !important;
  font-weight: 500;
}

#pmpro_account-orders .pmpro_table a:hover,
.pmpro_table.pmpro_table_orders a:hover {
  color: #fff !important;
}

/* ===========================================================
   Tags de estado (Pago, Pendente, Reembolsado)
   =========================================================== */

.pmpro_tag {
  display: inline-block;
  padding: 5px 14px !important;
  border-radius: 999px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em;
  background: rgba(255, 255, 255, 0.05) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
}

.pmpro_tag.pmpro_tag-success {
  background: rgba(18, 179, 154, 0.12) !important;
  color: #2dd4bf !important;
  border-color: rgba(45, 212, 191, 0.3) !important;
}

.pmpro_tag.pmpro_tag-alert {
  background: rgba(245, 185, 74, 0.12) !important;
  color: #f5b94a !important;
  border-color: rgba(245, 185, 74, 0.3) !important;
}

.pmpro_tag.pmpro_tag-error {
  background: rgba(255, 93, 93, 0.12) !important;
  color: #ff7979 !important;
  border-color: rgba(255, 93, 93, 0.3) !important;
}
.pmpro_logged_in_welcome_wrap .pmpro_member_display_name,
.pmpro_logged_in_welcome_wrap .pmpro_card_title {
  color: #fff !important;
  font-size: 24px;
  margin: 0 0 16px;
}
.pmpro_logged_in_welcome_wrap .pmpro_member_display_name a,
.pmpro_logged_in_welcome_wrap .pmpro_card_title a {
  color: #a8a3ff !important;
  text-decoration: none;
}
.pmpro_logged_in_welcome_wrap .pmpro_member_display_name a:hover,
.pmpro_logged_in_welcome_wrap .pmpro_card_title a:hover {
  color: #fff !important;
}
.pmpro_logged_in_welcome_wrap .pmpro_card_actions {
  background: transparent !important;
  padding: 16px 0 0 !important;
  border: 0 !important;
}
.pmpro_logged_in_welcome_wrap .pmpro_card_actions a {
  display: inline-flex;
  align-items: center;
  padding: 12px 24px;
  border: 1px solid rgba(255, 255, 255, 0.4);
  border-radius: 6px;
  color: #fff !important;
  font-size: 13px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  text-decoration: none;
  transition:
    background 0.15s ease,
    color 0.15s ease;
}
.pmpro_logged_in_welcome_wrap .pmpro_card_actions a:hover {
  background: #fff;
  color: #1a1d1a !important;
}
.pmpro_logged_in_welcome_wrap #pmpro-member-navigation ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.pmpro_logged_in_welcome_wrap #pmpro-member-navigation a {
  color: rgba(255, 255, 255, 0.85) !important;
  text-decoration: none;
}
.pmpro_logged_in_welcome_wrap #pmpro-member-navigation a:hover {
  color: #fff !important;
}
.pmpro_lost_password_wrap .pmpro_lost_password-instructions,
.pmpro_reset_password_wrap p {
  color: rgba(255, 255, 255, 0.85);
  font-size: 14px;
  line-height: 1.5;
  margin: 0 0 16px;
}
form#lostpasswordform,
form#resetpasswordform {
  display: grid;
  gap: 18px;
  max-width: 600px;
}
form#lostpasswordform .pmpro_form_label,
form#resetpasswordform .pmpro_form_label {
  display: none !important;
}
form#lostpasswordform .pmpro_form_field input[type="text"],
form#lostpasswordform .pmpro_form_field input[type="email"],
form#lostpasswordform .pmpro_form_field input[type="password"],
form#resetpasswordform .pmpro_form_field input[type="text"],
form#resetpasswordform .pmpro_form_field input[type="email"],
form#resetpasswordform .pmpro_form_field input[type="password"] {
  width: 100% !important;
  background: transparent !important;
  color: #fff !important;
  border: 1px solid rgba(255, 255, 255, 0.4) !important;
  border-radius: 6px !important;
  padding: 22px 28px !important;
  font-size: 15px !important;
  line-height: 1.4 !important;
  box-sizing: border-box;
  box-shadow: none !important;
}
form#lostpasswordform .pmpro_form_field input::placeholder,
form#resetpasswordform .pmpro_form_field input::placeholder {
  color: rgba(255, 255, 255, 0.6) !important;
  opacity: 1;
}
form#lostpasswordform .pmpro_form_field input:focus,
form#resetpasswordform .pmpro_form_field input:focus {
  outline: none;
  border-color: #fff !important;
  box-shadow: 0 0 0 1px #fff !important;
}
form#lostpasswordform input[type="submit"],
form#resetpasswordform input[type="submit"],
form#lostpasswordform .pmpro_btn-submit,
form#resetpasswordform .pmpro_btn-submit {
  display: inline-flex !important;
  align-items: center;
  padding: 14px 28px !important;
  font-size: 14px !important;
  letter-spacing: 0.18em !important;
  font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  text-transform: uppercase;
  border-radius: 6px !important;
  border: 1px solid #a8a3ff !important;
  background: #a8a3ff !important;
  color: #1a1d1a !important;
  box-shadow: none !important;
  text-shadow: none !important;
  cursor: pointer;
  transition: background 0.15s ease;
}
form#lostpasswordform input[type="submit"]:hover,
form#resetpasswordform input[type="submit"]:hover,
form#lostpasswordform .pmpro_btn-submit:hover,
form#resetpasswordform .pmpro_btn-submit:hover {
  background: #8884ff !important;
  border-color: #8884ff !important;
}
.pmpro_lost_password_wrap .pmpro_card_actions,
.pmpro_reset_password_wrap .pmpro_card_actions {
  background: transparent !important;
  padding: 16px 0 0 !important;
  border: 0 !important;
}
.pmpro_lost_password_wrap .pmpro_card_actions ul,
.pmpro_reset_password_wrap .pmpro_card_actions ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}
.pmpro_lost_password_wrap .pmpro_card_actions a,
.pmpro_reset_password_wrap .pmpro_card_actions a,
.pmpro_login_wrap .pmpro_card_actions a {
  color: rgba(255, 255, 255, 0.7) !important;
  font-size: 13px;
  text-decoration: none;
}
.pmpro_lost_password_wrap .pmpro_card_actions a:hover,
.pmpro_reset_password_wrap .pmpro_card_actions a:hover,
.pmpro_login_wrap .pmpro_card_actions a:hover {
  color: #fff !important;
}
form#loginform {
  display: grid;
  gap: 18px;
  max-width: 600px;
}
form#loginform p {
  margin: 0;
}
form#loginform p label:not(.pmpro_form_label-inline) {
  display: none !important;
}
form#loginform input[type="text"],
form#loginform input[type="email"],
form#loginform input[type="password"] {
  width: 100% !important;
  background: transparent !important;
  color: #fff !important;
  border: 1px solid rgba(255, 255, 255, 0.4) !important;
  border-radius: 6px !important;
  padding: 22px 28px !important;
  font-size: 15px !important;
  line-height: 1.4 !important;
  box-sizing: border-box;
  box-shadow: none !important;
}
form#loginform input::placeholder {
  color: rgba(255, 255, 255, 0.6) !important;
  opacity: 1;
}
form#loginform input:focus {
  outline: none;
  border-color: #fff !important;
  box-shadow: 0 0 0 1px #fff !important;
}
form#loginform .login-remember {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  flex-wrap: wrap;
  gap: 12px;
}
form#loginform .login-remember label {
  display: flex !important;
  align-items: center;
  gap: 10px;
  color: #fff;
  font-size: 14px;
  margin: 0;
  cursor: pointer;
}
form#loginform .login-remember .login-lost-password,
form#loginform .login-remember a {
  color: rgba(255, 255, 255, 0.7);
  font-size: 13px;
  font-style: italic;
  text-decoration: none;
  margin-left: auto;
}
form#loginform .login-remember .login-lost-password:hover,
form#loginform .login-remember a:hover {
  color: #fff;
}
form#loginform input[type="checkbox"] {
  width: auto !important;
  margin: 0;
  flex: 0 0 auto;
}
form#loginform .pmpro_form_field-password-toggle {
  display: none !important;
}
.pmpro_login_wrap .pmpro_card_actions {
  background: transparent !important;
  padding: 0 !important;
  margin-top: 8px;
  text-align: right;
}
.pmpro_login_wrap .pmpro_card_actions a {
  color: rgba(255, 255, 255, 0.7);
  font-size: 13px;
  font-style: italic;
  text-decoration: none;
}
.pmpro_login_wrap .pmpro_card_actions a:hover {
  color: #fff;
}
form#loginform input[type="submit"]#wp-submit {
  background: transparent !important;
  color: inherit !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  text-shadow: none !important;
}
form#loginform button.btn-arrow {
  display: flex !important;
  align-items: center;
  padding: 14px 18px 14px 28px !important;
  gap: 22px !important;
  font-size: 14px !important;
  letter-spacing: 0.18em !important;
  font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  text-transform: uppercase;
  border-radius: 6px !important;
  border-width: 1px !important;
  background: #a8a3ff !important;
  border-color: #a8a3ff !important;
  color: #1a1d1a !important;
}
form#loginform button.btn-arrow .btn-arrow__icon {
  width: 28px !important;
  height: 28px !important;
  border-width: 1px !important;
  border-color: #1a1d1a !important;
  color: #1a1d1a !important;
}
form#loginform button.btn-arrow:hover {
  background: #8884ff !important;
  border-color: #8884ff !important;
}
form#loginform .login-submit {
  display: flex;
  justify-content: center;
  margin-top: 4px;
}
.r45-login-success {
  max-width: 600px;
  margin: 0 auto 20px;
  padding: 14px 20px;
  background: rgba(18, 179, 154, 0.12);
  border: 1px solid rgba(45, 212, 191, 0.3);
  border-radius: 8px;
  color: #2dd4bf;
  font-size: 14px;
  text-align: center;
}

/* ===========================================================
   GLOSSÁRIO — Lista de empresas com navegação A-Z
   =========================================================== */

.r45-glossario {
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 30px;
  color: #fff;
  font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  padding-left: 0;
  position: relative;
}
.r45-glossario__nav {
  grid-column: 1;
  grid-row: 1;
}
.r45-glossario__content {
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
}

.r45-glossario__empty {
  color: rgba(255, 255, 255, 0.6);
  text-align: center;
}

/* Sidebar A-Z — posicionamento controlado por JS no desktop */
.r45-glossario__nav {
  padding-left: 0;
  width: 80px;
  z-index: 50;
}
.r45-glossario__nav ul,
.r45-glossario__nav ol {
  list-style: none !important;
  list-style-type: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.r45-glossario__nav li {
  list-style: none !important;
  list-style-type: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
}
.r45-glossario__nav li::before,
.r45-glossario__nav li::marker {
  content: none !important;
  display: none !important;
}
.r45-glossario__nav a {
  display: block;
  color: #fff;
  text-decoration: none !important;
  font-size: 22px;
  font-weight: 600;
  letter-spacing: 0.04em;
  padding: 2px 0;
  line-height: 1.2;
  transition:
    color 0.2s ease,
    opacity 0.2s ease;
}
.r45-glossario__nav a:hover {
  color: #a8a3ff;
}
.r45-glossario__nav a.is-active {
  color: #a8a3ff;
  font-weight: 700;
}

/* Content area */
.r45-glossario__content {
  display: flex;
  flex-direction: column;
  gap: 60px;
}

.r45-glossario__section {
  scroll-margin-top: 100px;
}

/* Letra grande */
.r45-glossario__letter {
  font-size: 28px;
  font-weight: 700;
  margin: 0 0 16px;
  padding: 0 0 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
  color: #fff;
  font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
}
.r45-glossario__section.is-active .r45-glossario__letter {
  color: #a8a3ff;
}

/* Grid de items */
.r45-glossario__grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 14px 24px;
  margin-bottom: 16px;
}

.r45-glossario__item {
  color: #fff !important;
  text-decoration: underline !important;
  text-decoration-color: rgba(255, 255, 255, 0.3) !important;
  text-underline-offset: 4px;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.08em;
  padding: 4px 0;
  transition:
    color 0.15s ease,
    text-decoration-color 0.15s ease;
}
.r45-glossario__item:hover {
  color: #a8a3ff !important;
  text-decoration-color: #a8a3ff !important;
}
.r45-glossario__item--hidden {
  display: none;
}

/* Botão VER MAIS — estilo .btn-arrow simplificado */
.r45-glossario__more {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  padding: 8px 14px 8px 22px;
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.6);
  border-radius: 6px;
  color: #fff;
  font-family: inherit;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  cursor: pointer;
  margin-top: 16px;
  transition:
    background 0.15s ease,
    color 0.15s ease;
}
.r45-glossario__more:hover {
  background: #fff;
  color: #1a1d1a;
}
.r45-glossario__more-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border: 1px solid currentColor;
  border-radius: 4px;
  color: #12b39a;
  flex-shrink: 0;
}
.r45-glossario__more-icon svg {
  width: 14px;
  height: 14px;
}
.r45-glossario__more:hover .r45-glossario__more-icon {
  background: #12b39a;
  color: #fff;
  border-color: #12b39a;
}

/* Responsivo */
@media (max-width: 900px) {
  .r45-glossario {
    grid-template-columns: 50px 1fr;
    gap: 20px;
  }
  .r45-glossario__grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .r45-glossario__nav a {
    font-size: 18px;
  }
}
@media (max-width: 768px) {
  /* Mobile — sidebar horizontal no topo */
  .r45-glossario {
    display: block;
    grid-template-columns: none;
    position: static !important;
  }
  .r45-glossario__nav {
    position: sticky !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    background: #1a1d1a;
    padding: 12px 0 !important;
    margin: 0 0 24px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
    z-index: 50;
  }
  .r45-glossario__nav ul {
    flex-direction: row !important;
    overflow-x: auto;
    gap: 16px !important;
    padding: 0 4px !important;
    scrollbar-width: none;
  }
  .r45-glossario__nav ul::-webkit-scrollbar {
    display: none;
  }
  .r45-glossario__nav li {
    flex-shrink: 0;
  }
  .r45-glossario__nav a {
    font-size: 16px;
    padding: 4px 4px;
  }
  .r45-glossario__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px 16px;
  }
  .r45-glossario__letter {
    font-size: 22px;
  }
}

/* ===========================================================
   TABLEPRESS — estilo da maquete (header lavanda + cells redondas)
   =========================================================== */

.tablepress {
  border-collapse: separate !important;
  border-spacing: 6px !important;
  background: transparent !important;
  width: 100% !important;
  margin: 0 !important;
}

.tablepress caption {
  display: none !important; /* esconde o link "Edit" do frontend */
}

/* Header (lavanda) */
.tablepress thead tr,
.tablepress thead th {
  background: #8884ff !important;
  color: #fff !important;
  border: 0 !important;
}
.tablepress thead th {
  padding: 18px 20px !important;
  border-radius: 8px !important;
  font-weight: 600;
  font-size: 13px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  text-align: left;
}
.tablepress thead th .dt-column-title {
  color: #fff !important;
}

/* Body — todas as células com cantos arredondados */
.tablepress tbody td {
  background: #6e6e6e !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 8px !important;
  padding: 16px 20px !important;
  font-size: 14px;
  vertical-align: middle;
}

/* Primeira coluna mais clara */
.tablepress tbody td.column-1,
.tablepress tbody tr td:first-child {
  background: #e0e0e0 !important;
  color: #1a1d1a !important;
  font-weight: 500;
}

/* Hover row — destacar subtilmente */
.tablepress tbody tr:hover td {
  background: #7a7a7a !important;
}
.tablepress tbody tr:hover td.column-1,
.tablepress tbody tr:hover td:first-child {
  background: #ebebeb !important;
}

/* Anular row-striping default do TablePress */
.tablepress.row-striping tbody tr:nth-child(odd) td,
.tablepress.row-striping tbody tr:nth-child(even) td {
  background: inherit !important;
}
.tablepress tbody tr.row-2 td,
.tablepress tbody tr.row-3 td,
.tablepress tbody tr.row-4 td,
.tablepress tbody tr.row-5 td,
.tablepress tbody tr.row-6 td,
.tablepress tbody tr.row-7 td,
.tablepress tbody tr.row-8 td,
.tablepress tbody tr.row-9 td,
.tablepress tbody tr.row-10 td {
  background: #6e6e6e !important;
}
.tablepress tbody tr.row-2 td.column-1,
.tablepress tbody tr.row-3 td.column-1,
.tablepress tbody tr.row-4 td.column-1,
.tablepress tbody tr.row-5 td.column-1,
.tablepress tbody tr.row-6 td.column-1,
.tablepress tbody tr.row-7 td.column-1,
.tablepress tbody tr.row-8 td.column-1,
.tablepress tbody tr.row-9 td.column-1,
.tablepress tbody tr.row-10 td.column-1 {
  background: #e0e0e0 !important;
}

/* Scroll horizontal nas tabelas TablePress em mobile/tablet.
   Só o wrapper visual ganha overflow; a tabela mantém o seu tamanho
   natural — se for mais larga que o ecrã, aparece scroll. */
@media (max-width: 1000px) {
  .dataTables_wrapper,
  .dt-container {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    max-width: 100%;
  }
}

/* DataTables wrapper (search, pagination, length selector) */
.dataTables_wrapper {
  color: #fff;
  font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  font-size: 12px;
  letter-spacing: 0.05em;
}

/* Layout — length à esquerda, search à direita */
.dataTables_wrapper .dt-layout-row,
.dataTables_wrapper .top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 16px;
}

/* Labels */
.dataTables_wrapper label,
.dataTables_wrapper .dt-length label,
.dataTables_wrapper .dt-search label {
  color: rgba(255, 255, 255, 0.7) !important;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 11px;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0;
}

/* Length select (entries per page) com chevron custom */
.dataTables_wrapper .dt-length select,
.dataTables_wrapper select.dataTables_length,
.dataTables_wrapper select[name$="_length"] {
  background-color: rgba(255, 255, 255, 0.05) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 14 8' fill='none'%3E%3Cpath d='M1 1L7 7L13 1' stroke='%23ffffff' stroke-width='1.5'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 10px center !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  border-radius: 6px !important;
  color: #fff !important;
  padding: 8px 32px 8px 14px !important;
  font-size: 12px !important;
  font-family: inherit !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  cursor: pointer;
  min-width: 70px;
}
.dataTables_wrapper .dt-length select option {
  background: #1a1d1a !important;
  color: #fff !important;
}
.dataTables_wrapper .dt-length select:focus,
.dataTables_wrapper .dt-length select:hover {
  border-color: #fff !important;
  outline: none;
}

/* Search input */
.dataTables_wrapper .dt-search input,
.dataTables_wrapper .dataTables_filter input {
  background: rgba(255, 255, 255, 0.05) !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  border-radius: 6px !important;
  color: #fff !important;
  padding: 8px 14px !important;
  font-family: inherit !important;
  font-size: 12px !important;
  min-width: 220px;
  transition: border-color 0.15s ease;
}
.dataTables_wrapper .dt-search input::placeholder,
.dataTables_wrapper .dataTables_filter input::placeholder {
  color: rgba(255, 255, 255, 0.5) !important;
}
.dataTables_wrapper .dt-search input:focus,
.dataTables_wrapper .dataTables_filter input:focus {
  outline: none;
  border-color: #fff !important;
  box-shadow: 0 0 0 1px #fff !important;
}

/* Info "Showing X to Y of Z" */
.dataTables_wrapper .dt-info,
.dataTables_wrapper .dataTables_info {
  color: rgba(255, 255, 255, 0.6) !important;
  font-size: 11px !important;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding-top: 12px !important;
}

/* Pagination */
.dataTables_wrapper .dt-paging,
.dataTables_wrapper .dataTables_paginate {
  padding-top: 12px !important;
}
.dataTables_wrapper .dt-paging .dt-paging-button,
.dataTables_wrapper .paginate_button {
  background: transparent !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  color: #fff !important;
  padding: 6px 12px !important;
  border-radius: 4px !important;
  margin: 0 2px !important;
  font-family: inherit !important;
  font-size: 11px !important;
  letter-spacing: 0.06em;
  cursor: pointer;
  transition:
    background 0.15s ease,
    border-color 0.15s ease;
}
.dataTables_wrapper .dt-paging .dt-paging-button:hover,
.dataTables_wrapper .paginate_button:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: rgba(255, 255, 255, 0.5) !important;
  color: #fff !important;
}
.dataTables_wrapper .dt-paging .dt-paging-button.current,
.dataTables_wrapper .paginate_button.current {
  background: #8884ff !important;
  border-color: #8884ff !important;
  color: #1a1d1a !important;
  font-weight: 600;
}
.dataTables_wrapper .dt-paging .dt-paging-button.disabled,
.dataTables_wrapper .paginate_button.disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

/* Sort icons — manter brancos */
.tablepress thead .dt-column-order::before,
.tablepress thead .dt-column-order::after,
.tablepress thead .sorting:before,
.tablepress thead .sorting:after {
  color: rgba(255, 255, 255, 0.6) !important;
}

/* ===========================================================
   PMPRO — Páginas restantes (levels, confirmation, billing,
   cancel, invoice, member profile edit)
   =========================================================== */

/* Forçar background dark em todas as páginas PMPro
   (sobrescreve o branco que o Salient mete por defeito) */
body.r45-pmpro {
  background: #1a1d1a !important;
  color: #fff;
  /* Reset CSS variables do PMPro */
  --pmpro--color--surface: transparent;
  --pmpro--color--background: transparent;
  --pmpro--color--base-1: transparent;
  --pmpro--color--base-2: transparent;
  --pmpro--color--base-3: transparent;
}

/* Fallback: qualquer página com o wrapper .pmpro (mesmo sem body class)
   fica com fundo dark + texto branco no shortcode */
.pmpro {
  background: transparent !important;
  color: #fff;
  --pmpro--color--surface: transparent;
  --pmpro--color--background: transparent;
}
.pmpro .pmpro_card {
  background: rgba(255, 255, 255, 0.03) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 12px !important;
  padding: 28px 32px !important;
  margin: 0 0 16px !important;
  color: #fff !important;
  box-shadow: none !important;
}
.pmpro .pmpro_card_actions,
.pmpro .pmpro_card_action,
.pmpro .pmpro_card_action_separator {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
}
.pmpro .pmpro_card_actions {
  display: inline;
  padding: 0 !important;
  margin: 16px 0 0 !important;
  border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
  padding-top: 14px !important;
}
.pmpro .pmpro_card_actions a {
  color: #a8a3ff !important;
  text-decoration: none;
  font-size: 13px;
}
.pmpro .pmpro_card_actions a:hover {
  color: #fff !important;
}
.pmpro .pmpro_card_title {
  color: #fff !important;
  background: transparent !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
}
.pmpro .pmpro_card_content,
.pmpro .pmpro_card_content * {
  background: transparent !important;
  color: rgba(255, 255, 255, 0.85) !important;
}
.pmpro .pmpro_card_content strong {
  color: #fff !important;
}
.pmpro a {
  color: #a8a3ff !important;
  text-decoration: none;
}
.pmpro a:hover {
  color: #fff !important;
}
.pmpro .pmpro_section_title {
  color: #fff !important;
  font-size: 26px !important;
  font-weight: 600 !important;
  margin: 0 0 20px !important;
  padding: 0 !important;
  background: transparent !important;
}
body.r45-pmpro #ajax-content-wrap,
body.r45-pmpro #main-content,
body.r45-pmpro #content,
body.r45-pmpro .container-wrap,
body.r45-pmpro .main-content,
body.r45-pmpro .post-area,
body.r45-pmpro .post-content,
body.r45-pmpro .span_9.col,
body.r45-pmpro .span_12,
body.r45-pmpro .row {
  background: transparent;
  color: #fff;
}
/* Tabelas e linhas — eliminar zebra-striping e fundos brancos */
body.r45-pmpro table,
body.r45-pmpro tbody,
body.r45-pmpro thead,
body.r45-pmpro tr,
body.r45-pmpro tr.alt,
body.r45-pmpro tr.even,
body.r45-pmpro tr.odd,
body.r45-pmpro tr:nth-child(odd),
body.r45-pmpro tr:nth-child(even) {
  background: transparent !important;
  background-color: transparent !important;
}

/* Levels page — cada level row */
body.pmpro-levels [id^="pmpro_level-"],
body.pmpro-levels tr.pmpro_level,
body.pmpro-levels tr[id^="pmpro_level-"] {
  background: transparent !important;
  background-color: transparent !important;
}
body.pmpro-levels .pmpro_levels_table th,
body.pmpro-levels .pmpro_levels_table td {
  background: transparent !important;
  background-color: transparent !important;
  color: #fff !important;
}
body.pmpro-levels .pmpro_levels_table thead {
  background: rgba(255, 255, 255, 0.04) !important;
}
body.pmpro-levels .pmpro_levels_table thead th {
  color: rgba(255, 255, 255, 0.6) !important;
}
body.r45-pmpro h1,
body.r45-pmpro h2,
body.r45-pmpro h3,
body.r45-pmpro h4,
body.r45-pmpro p,
body.r45-pmpro li {
  color: #fff;
}

/* Wrapper transparente para todas as secções e cards */
.pmpro_section,
body.r45-pmpro .pmpro_section,
body.r45-pmpro .pmpro_section {
  margin-bottom: 40px;
  color: #fff;
}
body.r45-pmpro
  .pmpro_card:not(.pmpro_login_wrap):not(.pmpro_lost_password_wrap):not(
    .pmpro_reset_password_wrap
  ):not(.pmpro_logged_in_welcome_wrap),
body.r45-pmpro
  .pmpro_card:not(.pmpro_login_wrap):not(.pmpro_lost_password_wrap):not(
    .pmpro_reset_password_wrap
  ):not(.pmpro_logged_in_welcome_wrap) {
  background: rgba(255, 255, 255, 0.03) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 12px !important;
  padding: 28px 32px !important;
  margin: 0 0 16px !important;
  color: #fff !important;
  box-shadow: none !important;
}
body.r45-pmpro .pmpro_card_title,
body.r45-pmpro .pmpro_card_title {
  color: #fff !important;
  background: transparent !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  border: 0 !important;
}
body.r45-pmpro .pmpro_card_content,
body.r45-pmpro .pmpro_card_content {
  background: transparent !important;
  padding: 0 !important;
  color: rgba(255, 255, 255, 0.85) !important;
}
body.r45-pmpro .pmpro_card_content *,
body.r45-pmpro .pmpro_card_content * {
  color: rgba(255, 255, 255, 0.85);
}
body.r45-pmpro .pmpro_card_content strong,
body.r45-pmpro .pmpro_card_content strong {
  color: #fff;
}
body.r45-pmpro .pmpro_card_actions,
body.r45-pmpro .pmpro_card_actions {
  background: transparent !important;
  border: 0 !important;
  border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
  padding: 16px 0 0 !important;
  margin: 20px 0 0 !important;
}
body.r45-pmpro .pmpro_card_actions a,
body.r45-pmpro .pmpro_card_actions a {
  color: #a8a3ff !important;
  text-decoration: none !important;
  font-size: 13px;
}
body.r45-pmpro .pmpro_card_actions a:hover,
body.r45-pmpro .pmpro_card_actions a:hover {
  color: #fff !important;
}

/* Section title (h2 acima de cada card) */
body.r45-pmpro .pmpro_section_title,
body.r45-pmpro .pmpro_section_title {
  color: #fff !important;
  font-size: 26px !important;
  font-weight: 600 !important;
  margin: 0 0 20px !important;
  padding: 0 !important;
  background: transparent !important;
}

/* ===== Levels page (membership-levels) ===== */
.pmpro_levels_table,
.pmpro_levels_table * {
  color: #fff !important;
}
.pmpro_levels_table {
  width: 100%;
  border-collapse: collapse;
  background: transparent !important;
}
.pmpro_levels_table th,
.pmpro_levels_table td {
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
  padding: 16px 20px !important;
  text-align: left;
  vertical-align: top;
}
.pmpro_levels_table thead th {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(255, 255, 255, 0.6) !important;
  background: rgba(255, 255, 255, 0.04) !important;
}

/* Level card style (newer block layout) */
.pmpro_level_group {
  margin-bottom: 32px;
}
.pmpro_level-price {
  color: #a8a3ff !important;
  font-size: 22px !important;
  font-weight: 600;
}
.pmpro_level-expiration {
  color: rgba(255, 255, 255, 0.6) !important;
  font-size: 13px;
}

/* ===== Botões — Select / Renew / Cancel / Submit ===== */
body.r45-pmpro .pmpro_btn,
body.r45-pmpro .pmpro_btn,
body.r45-pmpro input[type="submit"].pmpro_btn,
body.r45-pmpro a.pmpro_btn {
  display: inline-flex;
  align-items: center;
  padding: 12px 26px !important;
  border-radius: 6px !important;
  font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  background: #a8a3ff !important;
  color: #1a1d1a !important;
  border: 1px solid #a8a3ff !important;
  box-shadow: none !important;
  text-shadow: none !important;
  cursor: pointer;
  transition:
    background 0.15s ease,
    color 0.15s ease;
}
body.r45-pmpro .pmpro_btn:hover,
body.r45-pmpro .pmpro_btn:hover {
  background: #8884ff !important;
  border-color: #8884ff !important;
  color: #1a1d1a !important;
}
/* Botão "outline" / cancel — fundo transparente, borda branca */
body.r45-pmpro .pmpro_btn-outline,
body.r45-pmpro .pmpro_btn-cancel,
body.r45-pmpro a.pmpro_btn-cancel {
  background: transparent !important;
  border: 1px solid rgba(255, 255, 255, 0.4) !important;
  color: #fff !important;
}
body.r45-pmpro .pmpro_btn-outline:hover,
body.r45-pmpro .pmpro_btn-cancel:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: #fff !important;
  color: #fff !important;
}

/* ===== Forms (billing, member profile edit) ===== */
body[class*="pmpro-membership-billing"] .pmpro_form_field input[type="text"],
body[class*="pmpro-membership-billing"] .pmpro_form_field input[type="email"],
body[class*="pmpro-membership-billing"]
  .pmpro_form_field
  input[type="password"],
body[class*="pmpro-membership-billing"] .pmpro_form_field input[type="tel"],
body[class*="pmpro-membership-billing"] .pmpro_form_field select,
body[class*="pmpro-membership-billing"] .pmpro_form_field textarea,
body[class*="pmpro-member-profile-edit"] .pmpro_form_field input[type="text"],
body[class*="pmpro-member-profile-edit"] .pmpro_form_field input[type="email"],
body[class*="pmpro-member-profile-edit"]
  .pmpro_form_field
  input[type="password"],
body[class*="pmpro-member-profile-edit"] .pmpro_form_field input[type="tel"],
body[class*="pmpro-member-profile-edit"] .pmpro_form_field select,
body[class*="pmpro-member-profile-edit"] .pmpro_form_field textarea {
  width: 100% !important;
  background: transparent !important;
  color: #fff !important;
  border: 1px solid rgba(255, 255, 255, 0.4) !important;
  border-radius: 6px !important;
  padding: 16px 22px !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  box-sizing: border-box;
  box-shadow: none !important;
}
body[class*="pmpro-membership-billing"] .pmpro_form_field input::placeholder,
body[class*="pmpro-member-profile-edit"] .pmpro_form_field input::placeholder,
body[class*="pmpro-membership-billing"] textarea::placeholder,
body[class*="pmpro-member-profile-edit"] textarea::placeholder {
  color: rgba(255, 255, 255, 0.6) !important;
}
body[class*="pmpro-membership-billing"] .pmpro_form_field input:focus,
body[class*="pmpro-member-profile-edit"] .pmpro_form_field input:focus,
body[class*="pmpro-membership-billing"] .pmpro_form_field select:focus,
body[class*="pmpro-member-profile-edit"] .pmpro_form_field select:focus {
  outline: none;
  border-color: #fff !important;
  box-shadow: 0 0 0 1px #fff !important;
}
body[class*="pmpro-membership-billing"] .pmpro_form_label,
body[class*="pmpro-member-profile-edit"] .pmpro_form_label {
  color: rgba(255, 255, 255, 0.7) !important;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 6px;
  display: block;
}
body[class*="pmpro-membership-billing"] .pmpro_form_legend,
body[class*="pmpro-member-profile-edit"] .pmpro_form_legend {
  color: #fff !important;
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 12px;
}

/* ===== Action nav (next/prev style links no topo de algumas páginas) ===== */
body.r45-pmpro .pmpro_actions_nav,
body.r45-pmpro .pmpro_actions_nav {
  display: flex;
  justify-content: space-between;
  margin: 0 0 24px;
  padding: 12px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
body.r45-pmpro .pmpro_actions_nav a,
body.r45-pmpro .pmpro_actions_nav a {
  color: #a8a3ff !important;
  text-decoration: none !important;
  font-size: 13px;
}

/* ===== Confirmation page — ícone heading com avatar ===== */
.pmpro_heading-with-avatar {
  display: flex !important;
  align-items: center;
  gap: 14px;
}
.pmpro_heading-with-avatar img {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, 0.2);
}

/* ===== Invoice page — print button ===== */
body.pmpro-invoice .pmpro_btn-print {
  display: inline-flex;
  align-items: center;
  padding: 8px 18px !important;
  border: 1px solid rgba(255, 255, 255, 0.4) !important;
  border-radius: 6px !important;
  background: transparent !important;
  color: #fff !important;
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

/* ===== Mensagens (success / error) ===== */
body.r45-pmpro .pmpro_message {
  padding: 14px 20px !important;
  border-radius: 8px !important;
  font-size: 14px;
  margin: 0 0 20px !important;
}
body.r45-pmpro .pmpro_message.pmpro_success,
body.r45-pmpro .pmpro_alert.pmpro_success {
  background: rgba(18, 179, 154, 0.12) !important;
  color: #2dd4bf !important;
  border: 1px solid rgba(45, 212, 191, 0.3) !important;
}
body.r45-pmpro .pmpro_message.pmpro_error,
body.r45-pmpro .pmpro_alert.pmpro_error {
  background: rgba(255, 93, 93, 0.12) !important;
  color: #ff7979 !important;
  border: 1px solid rgba(255, 93, 93, 0.3) !important;
}

/* ===== Listas com label/value (subscription, billing info) ===== */
body.r45-pmpro .pmpro_list-with-labels .pmpro_list_item {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 8px 0;
}
body.r45-pmpro .pmpro_list_item_label {
  color: rgba(255, 255, 255, 0.6) !important;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
body.r45-pmpro .pmpro_list_item_value {
  color: #fff !important;
  font-size: 16px;
  font-weight: 500;
}

/* ===== Divider ===== */
body.r45-pmpro .pmpro_divider {
  border: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  margin: 20px 0;
}
.pmpro-confirmation .main-content,
.pmpro-checkout .main-content,
.pmpro-invoice .ocm-effect-wrap {
  background: #1a1d1a !important;
}
