/*
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;
}
html {
  scrollbar-gutter: auto;
  overflow-y: auto;
}
.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");
}
.artigos-hp-art a.load-more {
  border: 1px solid #111 !important;
  color: #111 !important;
}
.artigos-hp-art a.load-more::after,
.artigos-hp-art .load-more::after {
  border: 1.5px solid #111;
}

.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 e top/left são controlados pelo JS (fixed + headerH).
     Mantemos só z-index/pointer-events aqui. */
  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;
  /* Backdrop escuro em cada botão — assim mantém-se legível
     mesmo sobre zonas brancas/claras enquanto o user rola. */
  background: rgba(26, 29, 26, 0.85) !important;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  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: #00b495 !important;
  color: #00b495 !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) {
  /* Esconder banner menu por completo no mobile */
  .r45-banner-menu {
    display: none !important;
  }
}
.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: #00b495;
  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;
  /* NOTA: NÃO meter border-bottom: 0 aqui — esmaga o border do botão.
     Os sublinhados de link são removidos só com text-decoration. */
  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;
  background-image: none !important;
}
.r45-header-btn:focus,
a.r45-header-btn:focus {
  outline: 2px solid #00b495;
  outline-offset: 2px;
}

/* Mobile — o page-header do Salient corta o bottom dos botões.
   Reduzimos um pouco o padding e forçamos overflow visível no pai. */
@media (max-width: 900px) {
  .r45-user-header,
  .r45-user-header--logged-out,
  .r45-user-header.r45-user-header--logged-out {
    overflow: visible !important;
    line-height: 1 !important;
    flex-shrink: 0 !important;
  }
  /* Salient costuma envolver isto num <li> ou wrapper com altura fixa */
  li.nectar-header-text-content-wrap,
  .nectar-header-text-content,
  .nectar-header-text-content-wrap {
    overflow: visible !important;
    height: auto !important;
    line-height: 1 !important;
  }
  .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 {
    padding: 7px 14px !important;
    font-size: 10px !important;
    min-width: 0 !important;
    letter-spacing: 0.14em !important;
  }
}
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;
}
.faqs-hp a.nectar-inherit-h3.toggle-heading {
  color: #fff;
  font-size: 30px !important;
}
.toggle.extra-color-1 {
  border-bottom: 1px solid #00b495 !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 (min-width: 1000px) {
  li.slide-out-widget-area-toggle {
    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: #00b495 !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: #00b495 !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: #00b495 !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 #00b495 !important;
  background: #00b495 !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: #00b495 !important;
  border-color: #00b495 !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: #00b495;
}
.r45-glossario__nav a.is-active {
  color: #00b495;
  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: #00b495;
}

/* 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: #00b495 !important;
  text-decoration-color: #00b495 !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;
}

/* ===========================================================
   TABLEPRESS #2 — Tabela de comparação de planos
   (estilo específico: header branco, células com check/x, etc.)
   =========================================================== */

#tablepress-2 {
  background: transparent !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  width: 100% !important;
  margin: 0 !important;
  overflow: hidden;
}
body:not(.woocommerce-cart) .main-content #tablepress-2 {
  border-top: none !important;
}
/* Header — sem fundo lavanda, só texto na cor de marca */
tr,
#tablepress-2 thead th,
#tablepress-2 thead td {
  background: transparent !important;
  color: #00b495 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.15) !important;
  padding: 20px 18px !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-align: center !important;
}
#tablepress-2 .tablepress thead th {
  border-radius: 0px !important;
}
#tablepress-2 thead .dt-column-title {
  color: #00b495 !important;
}
#tablepress-2 thead tr td.column-1,
#tablepress-2 thead tr th.column-1 {
  background: transparent !important;
}
#tablepress-2 .imagem-princing {
  width: 30px !important;
  margin: 0 auto !important;
  display: inline-block !important;
  vertical-align: middle !important;
}
/* Body — fundo transparente, linhas separadas por bordas finas */
#tablepress-2 tbody td {
  background: transparent !important;
  color: #fff !important;
  border: 1px solid #00b495 !important;
  border-radius: 0 !important;
  padding: 7px 7px !important;
  font-size: 22px;
  vertical-align: middle !important;
  text-align: center;
  height: 60px;
  line-height: 1;
}
#tablepress-2 tbody td img {
  vertical-align: middle !important;
  display: inline-block !important;
}

/* Anular row-striping do default */
#tablepress-2.row-striping tbody tr:nth-child(odd) td,
#tablepress-2.row-striping tbody tr:nth-child(even) td {
  background: transparent !important;
}

/* Primeira coluna — labels, alinhadas à esquerda, sem fundo */
#tablepress-2 tbody td.column-1,
#tablepress-2 tbody tr td:first-child {
  background: transparent !important;
  color: #fff !important;
  font-weight: 400 !important;
  text-align: left;
}

/* Separadores verticais entre colunas */
#tablepress-2 tbody td + td {
  border-left: 1px solid rgba(255, 255, 255, 0.15) !important;
}
#tablepress-2 thead td {
  border: none !important;
}
#tablepress-2 td a {
  pointer-events: none !important;
}
/* Hover row — destacar subtilmente */
#tablepress-2 tbody tr:hover td {
  background: rgba(255, 255, 255, 0.03) !important;
}
#tablepress-2 tbody tr:hover td.column-1,
#tablepress-2 tbody tr:hover td:first-child {
  background: rgba(255, 255, 255, 0.03) !important;
}
#tablepress-2 .column-1 {
  padding-left: 20px !important;
}
/* Ícones ✓ e ✗ no estilo "círculo" (usa <span class="r45-yes"> e <span class="r45-no"> no conteúdo da célula) */
.r45-yes,
.r45-no {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border: 2px solid #00b495;
  border-radius: 50%;
  font-size: 22px;
  font-weight: 700;
  line-height: 1;
  color: #00b495;
}
.r45-no {
  border-color: rgba(0, 180, 149, 0.5);
  color: rgba(0, 180, 149, 0.7);
}

/* 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 !important;
    -webkit-overflow-scrolling: touch;
    max-width: 100% !important;
  }
  /* Ignorar width:100% inline que esmaga a tabela em mobile —
     deixa a tabela ter o seu tamanho natural e o wrapper trata
     do scroll horizontal. Excepção: #tablepress-2 (comparação)
     que é desenhada para encolher no mobile.
     Usamos body para vencer specificity de outras regras. */
  body .tablepress:not(#tablepress-2),
  body table.tablepress:not(#tablepress-2),
  body table[id^="tablepress-"]:not(#tablepress-2) {
    width: auto !important;
    min-width: 800px !important;
    table-layout: auto !important;
  }
  body .tablepress:not(#tablepress-2) td,
  body .tablepress:not(#tablepress-2) th,
  body table.tablepress:not(#tablepress-2) td,
  body table.tablepress:not(#tablepress-2) th {
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    font-size: 12px !important;
    padding: 8px 10px !important;
  }
  /* Forçar colgroup widths inline a serem ignorados */
  body .tablepress:not(#tablepress-2) col {
    width: auto !important;
  }
  .nectar-header-text-content.mobile-only {
    background: none !important;
    padding: 0px !important;
  }
}

/* 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;
}

/* Mobile — stackar controlos vertical alinhados à esquerda
   (em vez de space-between que cria vazios estranhos).
   Targets DataTables 2.x: .dt-layout-start / .dt-layout-end */
@media (max-width: 1000px) {
  .dt-container .dt-layout-row,
  .dataTables_wrapper .dt-layout-row,
  .dataTables_wrapper .top {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 10px !important;
  }
  .dt-container .dt-layout-cell,
  .dt-container .dt-layout-cell.dt-layout-start,
  .dt-container .dt-layout-cell.dt-layout-end,
  .dt-container .dt-layout-cell.dt-layout-full,
  .dataTables_wrapper .dt-layout-cell,
  .dataTables_wrapper .dt-layout-cell.dt-layout-start,
  .dataTables_wrapper .dt-layout-cell.dt-layout-end,
  .dataTables_wrapper .dt-layout-cell.dt-layout-full {
    width: auto !important;
    flex: 0 0 auto !important;
    text-align: left !important;
    padding: 0 !important;
    margin: 0 !important;
    justify-content: flex-start !important;
  }
  /* Os controlos internos também alinhados à esquerda */
  .dt-container .dt-length,
  .dt-container .dt-search {
    margin: 0 !important;
  }
  .dt-container .dt-search label,
  .dt-container .dt-length label {
    margin: 0 !important;
  }
}

/* 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: #00b495 !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: #00b495 !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: #00b495 !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: #00b495 !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: #00b495 !important;
  color: #1a1d1a !important;
  border: 1px solid #00b495 !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: #00b495 !important;
  text-decoration: none !important;
  font-size: 13px;
}

/* ===== wp_link_pages — pagination do artigo ===== */
.r45-page-pagination {
  margin: 48px 0 32px;
  padding: 28px 24px;
  background: rgba(0, 180, 149, 0.06);
  border: 1px solid rgba(0, 180, 149, 0.35);
  border-radius: 10px;
  text-align: center;
  font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
}
.r45-page-pagination__label {
  display: block;
  margin-bottom: 18px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #00b495;
}
.r45-page-pagination__list {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
/* Todos os items — links + número actual */
.r45-page-pagination__list > a,
.r45-page-pagination__list > .r45-page-pagination__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  padding: 10px 16px;
  border: 1.5px solid #00b495;
  border-radius: 6px;
  color: #00b495 !important;
  text-decoration: none !important;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.05em;
  background: transparent;
  transition:
    background 0.15s ease,
    color 0.15s ease;
}
.r45-page-pagination__list > a:hover,
.r45-page-pagination__list > a:focus {
  background: #00b495;
  color: #fff !important;
}
/* Página actual (não é link — fica destacada com fundo preenchido) */
.r45-page-pagination__list > .r45-page-pagination__num {
  background: #00b495;
  color: #fff !important;
  cursor: default;
}
/* O span dentro dos links (numérico) deve herdar tudo do <a> pai */
.r45-page-pagination__list > a > .r45-page-pagination__num {
  border: 0;
  padding: 0;
  min-width: 0;
  background: none;
  color: inherit !important;
}

@media (max-width: 600px) {
  .r45-page-pagination {
    padding: 20px 14px;
  }
  .r45-page-pagination__list > a,
  .r45-page-pagination__list > .r45-page-pagination__num {
    min-width: 38px;
    padding: 8px 12px;
    font-size: 12px;
  }
}

/* ===== 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-levels .main-content,
.pmpro-invoice .ocm-effect-wrap,
.pmpro-cancel .ocm-effect-wrap {
  background: #1a1d1a !important;
}
#dt-search-0 {
  border-bottom: 1px solid #fff !important;
}
.nectar-social.fixed {
  display: none !important;
}
