/*
 * beyoga-custom.css
 * CSS centralizado do beyoga.pt
 * Gerado em: Abril 2026
 * ─────────────────────────────────────────────
 * Paleta:
 *   --by-green:     #2d3a2e   (verde escuro, fundo CTA)
 *   --by-terra:     #C4614A   (terracotta, destaques)
 *   --by-taupe:     #8f7d71
 *   --by-sage:      #caddc0
 *   --by-cream:     #faf8f5
 *   --by-dark:      #2c2422
 *   --by-body-txt:  #66615c   (texto corrido)
 *   --by-faq-lbl:   #7a8c7e   (label FAQ)
 *   Tipografia: Poppins
 *
 * NOTA: bordeaux (#8b3145) é exclusivo da linha
 *       Yoga na Gravidez/Pós-Parto — nunca misturar.
 * ─────────────────────────────────────────────
 * ÍNDICE
 *   1. BLOG — Ocultar elementos do tema
 *   2. BLOG — Hero
 *   3. BLOG — Body (texto, títulos, listas, blockquote, imagens)
 *   4. BLOG — FAQ (details/summary)
 *   5. BLOG — CTA block
 *   6. BLOG — Responsive (≤ 640 px)
 *   7. OVERRIDES — LearnDash         [a completar]
 *   8. OVERRIDES — Restrict Content Pro [a completar]
 *   9. OVERRIDES — Elementor global   [a completar]
 * ─────────────────────────────────────────────
 */


/* ═══════════════════════════════════════════════
   1. BLOG — Ocultar elementos do tema
   ═══════════════════════════════════════════════ */

/* Esconder área de comentários nos artigos de blog */
#comments,
.comments-area,
.comment-respond,
#respond {
    display: none !important;
}

/* Esconder o título duplicado do tema
   (os artigos .by-* têm o seu próprio h1 dentro do hero) */
.entry-title,
.post-title,
h1.title,
.page-title,
article header h1,
.entry-header h1,
.entry-header .entry-title {
    display: none !important;
}


/* ═══════════════════════════════════════════════
   2. BLOG — Hero
   ═══════════════════════════════════════════════ */

/*
 * .by-hero — bloco de topo com imagem de fundo, degradê escuro e texto branco.
 * A imagem de fundo é definida inline em cada artigo (específica por post).
 * O margin negativo compensa o padding do content-wrapper do tema.
 */
.by-hero {
    position: relative;
    /* background: inline no post (url específica) */
    min-height: 480px;
    display: flex;
    align-items: flex-end;
    padding: 60px 0 52px;
    margin: -20px -20px 56px;
    color: #fff;
}

.by-hero-inner {
    max-width: 680px;
    padding: 0 40px;
}

/* Label de categoria (ex: "Blog · Testemunhos") */
.by-label {
    font-size: 11px;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .55);
    margin-bottom: 16px;
    display: block;
}

.by-hero h1 {
    font-size: 2.6rem;
    font-weight: 800;
    text-transform: uppercase;
    line-height: 1.1;
    margin: 0 0 20px;
    color: #fff;
}

.by-hero-intro {
    font-size: 1.05rem;
    line-height: 1.7;
    color: rgba(255, 255, 255, .8);
    margin: 0 0 28px;
    max-width: 520px;
}

/* "Autor · Data" */
.by-meta {
    font-size: 12px;
    color: rgba(255, 255, 255, .45);
    letter-spacing: .06em;
}


/* ═══════════════════════════════════════════════
   3. BLOG — Body
   ═══════════════════════════════════════════════ */

.by-body {
    max-width: 720px;
    margin: 0 auto;
}

/* Parágrafo */
.by-body p {
    font-size: 1rem;
    line-height: 1.85;
    color: #66615c;
    margin: 0 0 24px;
}

/* Título de secção (H2) */
.by-body h2 {
    font-size: 1.4rem;
    font-weight: 800;
    text-transform: uppercase;
    color: #2d3a2e;
    margin: 52px 0 20px;
    padding-bottom: 12px;
    border-bottom: 1px solid #e8e4dd;
}

/* Sub-título (H3) — terracotta uppercase */
.by-body h3 {
    font-size: .85rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .12em;
    color: #C4614A;
    margin: 36px 0 12px;
}

/* Lista não ordenada estilizada */
.by-body ul {
    margin: 0 0 28px;
    padding: 0;
    list-style: none;
}

.by-body ul li {
    font-size: .97rem;
    line-height: 1.75;
    color: #66615c;
    padding: 8px 0 8px 22px;
    position: relative;
    border-bottom: 1px solid #f0ede8;
}

.by-body ul li::before {
    content: "→";
    position: absolute;
    left: 0;
    color: #C4614A;
    font-weight: 700;
}

.by-body ul li:last-child {
    border-bottom: none;
}

/* Citação */
.by-body blockquote {
    margin: 36px 0;
    padding: 24px 32px;
    border-left: 3px solid #C4614A;
    background: #faf9f7;
}

.by-body blockquote p {
    font-size: 1.05rem;
    font-style: italic;
    color: #888580;
    margin: 0;
    line-height: 1.7;
}

/* Imagem a largura total com legenda */
.by-img-full {
    margin: 40px 0;
    border-radius: 4px;
    overflow: hidden;
}

.by-img-full img {
    width: 100%;
    display: block;
}

.by-img-caption {
    font-size: .8rem;
    color: #aaa;
    margin-top: 8px;
    letter-spacing: .04em;
}


/* ═══════════════════════════════════════════════
   4. BLOG — FAQ (details / summary)
   ═══════════════════════════════════════════════ */

.by-faq {
    margin: 52px 0 0;
}

/* Pergunta (summary dentro de <details>) */
.by-faq-q {
    font-size: .95rem;
    font-weight: 600;
    letter-spacing: .04em;
    color: #7a8c7e;
    margin: 0;
    padding: 20px 40px 20px 0;
    cursor: pointer;
    position: relative;
    line-height: 1.4;
    list-style: none;
    user-select: none;
}

/* Remove o marcador nativo do WebKit */
.by-faq-q::-webkit-details-marker {
    display: none;
}

/* Ícone +/− */
.by-faq-q::after {
    content: "+";
    position: absolute;
    right: 4px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.4rem;
    font-weight: 300;
    color: #C4614A;
    line-height: 1;
}

details[open] .by-faq-q::after {
    content: "−";
}

/* Resposta */
.by-faq-a {
    font-size: .95rem;
    line-height: 1.8;
    color: #66615c;
    margin: 0;
    padding: 0 0 20px;
}

.by-faq-a a {
    color: #C4614A;
}


/* ═══════════════════════════════════════════════
   5. BLOG — CTA block
   ═══════════════════════════════════════════════ */

.by-cta {
    background: #2d3a2e;
    padding: 44px 40px;
    border-radius: 4px;
    margin: 56px 0 80px;
    text-align: center;
}

.by-cta-label {
    font-size: 11px;
    letter-spacing: .15em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .4);
    margin-bottom: 12px;
    display: block;
}

.by-cta h2 {
    font-size: 1.3rem;
    font-weight: 800;
    text-transform: uppercase;
    color: #fff;
    margin: 0 0 12px;
    border: none;
    padding: 0;
}

.by-cta p {
    color: rgba(255, 255, 255, .65);
    font-size: .9rem;
    margin: 0 0 28px;
}

/* Wrapper dos botões */
.by-cta-btns {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
}

/* Botão principal — terracotta sólido */
.by-btn-primary {
    display: inline-block;
    background: #C4614A;
    color: #fff !important;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    padding: 14px 28px;
    border-radius: 200px;
    text-decoration: none;
}

/* Botão secundário — outline branco */
.by-btn-outline {
    display: inline-block;
    border: 1.5px solid rgba(255, 255, 255, .6);
    color: #fff !important;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    padding: 13px 28px;
    border-radius: 200px;
    text-decoration: none;
}


/* ═══════════════════════════════════════════════
   6. BLOG — Responsive (≤ 640 px)
   ═══════════════════════════════════════════════ */

@media (max-width: 640px) {

    .by-hero {
        margin: -20px -16px 40px;
        padding: 40px 0 36px;
        min-height: 380px;
    }

    .by-hero-inner {
        padding: 0 20px;
    }

    .by-hero h1 {
        font-size: 1.8rem;
        margin: 0 0 14px;
    }

    .by-hero-intro {
        font-size: .95rem;
        margin: 0 0 20px;
    }

    .by-body {
        padding: 0 4px;
    }

    .by-body h2 {
        font-size: 1.15rem;
        margin: 40px 0 16px;
    }

    .by-body blockquote {
        padding: 18px 20px;
        margin: 28px 0;
    }

    .by-cta {
        padding: 32px 20px;
        margin: 40px 0 60px;
    }

    .by-cta-btns {
        flex-direction: column;
        align-items: center;
    }

    .by-btn-primary,
    .by-btn-outline {
        width: 100%;
        max-width: 280px;
        text-align: center;
        box-sizing: border-box;
    }
}


/* ═══════════════════════════════════════════════
   7. OVERRIDES — LearnDash
   ═══════════════════════════════════════════════ */

/* Lista de itens do curso */
.learndash-wrapper .ld-item-list {
    margin: 38px 0 0 0 !important;
}

/* Heading de secção dentro da lista (ex: módulos) */
.learndash-wrapper .ld-item-list .ld-section-heading h3 {
    font-weight: 400 !important;
}

/* Botão "expandir tudo" na lista de lições */
.learndash-wrapper .ld-item-list .ld-section-heading .ld-item-list-actions .ld-expand-button {
    margin-left: 1em;
    padding: 14px 24px;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-weight: 700;
    border-radius: 200px;
    font-size: 13px;
}

/* Lista de lições — largura máxima e centrada */
.ld-item-list.ld-lesson-list {
    max-width: 1140px;
    margin: 40px auto 0 auto !important;
}

/* Quiz — campo de resposta de lacuna (cloze) */
.learndash-wrapper .wpProQuiz_content .wpProQuiz_questionList[data-type=cloze_answer] p {
    padding-bottom: 0;
    padding-right: 0 !important;
    margin: 0 !important;
    font-size: 15px;
}
.learndash-wrapper .wpProQuiz_content .wpProQuiz_questionListItem:not(.ld-sortable__item) .wpProQuiz_cloze input {
    border: none;
    border-radius: 4px !important;
    font-size: 15px !important;
    padding: 4px !important;
    text-align: left !important;
}


/* ═══════════════════════════════════════════════
   8. OVERRIDES — Restrict Content Pro
   ═══════════════════════════════════════════════ */

/* ── Formulário de registo ── */
#rcp_registration_form {
    padding: 0 !important;
}
#rcp_registration_form th,
#rcp_registration_form td {
    border: none;
    padding: 0;
    margin: 0 !important;
}
#rcp_registration_form label {
    font-size: 16px !important;
    margin-bottom: 4px;
    color: #59524D;
}

/* Fieldsets — remover bordas nativas */
fieldset,
fieldset.rcp_user_fieldset,
fieldset.rcp_discounts_fieldset,
fieldset.rcp_agree_to_terms_fieldset,
fieldset.rcp_agree_to_privacy_policy_fieldset {
    border: none !important;
    padding: 0 !important;
}

/* Inputs de largura total */
.rcp_form .rcp_user_fieldset input:not([type=checkbox]):not([type=submit]) {
    width: 100%;
    max-width: 100% !important;
}
table.rcp-table {
    width: 100% !important;
}

/* Checkboxes — alinhamento */
input#rcp_agree_to_terms,
input#rcp_agree_to_privacy_policy,
input#rcp_user_remember {
    padding: 0;
    margin: 0 4px 0 0;
}

/* Espaçamento de parágrafos dentro de fieldsets */
.rcp_form fieldset p {
    margin: 0 0 20px 0;
}

/* Mensagem de subscição */
.rcp_subscription_message {
    margin-top: 20px !important;
}

/* Mensagens de erro/sucesso */
p.rcp_error span,
p.rcp_success span {
    margin: 0 !important;
    padding: 0 !important;
}
.rcp_message.error p span {
    padding: 0;
}

/* Ocultar link de login dentro do form de registo */
.rcp_login_link {
    display: none;
}

/* Link de login no form */
#rcp_registration_form > div.rcp_login_link > p > a {
    font-size: 16px;
    font-family: 'Poppins';
    text-decoration: underline;
    color: #1C97D8;
    letter-spacing: 0;
}

/* ── Níveis de subscrição (planos) ── */
.rcp_form ul {
    margin: 0 0 30px !important;
    padding: 0;
}
.rcp_form li {
    list-style: none;
    margin: 0 0 15px;
    display: flex;
    padding: 20px;
    border-radius: 6px;
    border: 1px solid #B4C0B8;
    background: #B4C0B8;
}
span.rcp_separator,
span.rcp_price,
span.rcp_level_duration {
    display: none;
}
span.rcp_subscription_level_name {
    font-size: 18px;
    font-weight: 700;
}
.rcp_level_description {
    border-left: none !important;
    padding: 4px 0 0 8px !important;
    font-size: 16px;
    line-height: 22px;
}
input#rcp_subscription_level_2,
input#rcp_subscription_level_3 {
    margin: 0 20px 0 0;
}
#rcp_subscription_levels > li.rcp_subscription_level.rcp_subscription_level_2 > label,
#rcp_subscription_levels > li.rcp_subscription_level.rcp_subscription_level_3 > label {
    font-size: 16px !important;
    margin-bottom: 0;
    color: #59524D;
}

/* ── Desconto ── */
fieldset.rcp_discounts_fieldset {
    border: solid 1px #B4C0B8 !important;
    padding: 20px !important;
    border-radius: 6px;
    margin: 20px 0 !important;
}
p#rcp_discount_code_wrap {
    margin: 0;
}
span.rcp_discount_code_field_wrap {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}
button#rcp_apply_discount {
    padding: 16px 40px;
}
input#rcp_discount_code {
    margin-bottom: 10px;
}

/* ── Total do registo ── */
#rcp_registration_form > div.rcp_registration_total > div {
    padding: 20px;
    border: solid 1px #B4C0B8 !important;
    border-radius: 6px;
    margin: 20px 0;
}
#rcp_registration_form > div.rcp_registration_total > div > table > tbody {
    width: 100%;
}
.rcp_registration_total_details tr {
    width: 100% !important;
}

/* ── Botão de submissão ── */
p#rcp_submit_wrap {
    text-align: center;
    padding: 10px 0 0 0;
}
input#rcp_submit {
    padding: 16px 40px;
}

/* ── Formulário de login ── */
input#rcp_user_login,
input#rcp_user_pass {
    padding: 10px;
}
input#rcp_login_submit {
    padding: 16px 60px;
    text-transform: uppercase;
    letter-spacing: 2px;
}
#rcp_login_form > fieldset > p:nth-child(5) {
    text-align: center;
}

/* Botão Google SSO */
.nsl-button.nsl-button-default.nsl-button-google {
    padding: 10px 30px;
}

/* ── Estado "logged in" (botão aceder ao conteúdo) ── */
.rcp_logged_in {
    display: flex;
    justify-content: center !important;
}
.rcp_logged_in a {
    color: #ffffff;
    font-family: "Poppins";
    font-size: 13px !important;
    letter-spacing: 2px !important;
    text-transform: uppercase;
    background: #8f7d71; /* --by-taupe */
    padding: 16px 40px !important;
    border-radius: 200px;
    display: block;
    text-align: center;
    font-weight: 700 !important;
}

/* ── Editor de perfil ── */
#rcp_profile_editor_form > fieldset > legend {
    font-weight: 500;
    margin: 20px 0 30px 0;
    font-family: 'Poppins';
    text-transform: uppercase;
    font-size: 24px;
    color: #8f7d71; /* --by-taupe */
    display: block;
    padding: 20px 0 0 0;
    letter-spacing: 3px;
}
#rcp_profile_editor_form > fieldset:nth-child(1) > div > div:nth-child(2) > h3 {
    margin: 50px 0 10px 0;
}
p#rcp_profile_submit_wrap {
    text-align: right;
}

/* ── Overview de conta (tabelas RCP) ── */
#rcp-table-wrapper {
    width: auto;
    max-width: 1140px !important;
}
/* Renomear headings da tabela via content trick */
#rcp-table-wrapper > h3:nth-child(1) { visibility: hidden; }
#rcp-table-wrapper > h3:nth-child(1)::after {
    content: 'Vista geral';
    display: block;
    visibility: visible !important;
}
#rcp-table-wrapper > h3:nth-child(3) { visibility: hidden; }
#rcp-table-wrapper > h3:nth-child(3)::after {
    content: 'Pagamentos';
    display: block;
    visibility: visible !important;
}
#rcp-account-overview button {
    color: #1C97D8;
    padding: 0;
    background: none;
    text-shadow: none;
    font-size: 14px;
}
#rcp-payment-history button {
    background: none;
    color: #1C97D8;
    font-size: 14px;
    text-shadow: none;
    padding: 0;
}

/* ── Responsive RCP ── */
@media only screen and (max-width: 780px) {
    input#rcp_submit,
    input#rcp_profile_editor_submit,
    input#rcp_login_submit {
        width: 100%;
    }
    .rcp_logged_in a {
        width: 100%;
        display: block;
        text-align: center;
    }
    #rcp-account-overview > tbody > tr > td,
    #rcp-payment-history > tbody > tr > td {
        border: none;
    }
    #rcp-payment-history > tbody > tr {
        border-bottom: solid 1px #59524D;
    }
    div#rcp-table-wrapper {
        margin: 0;
    }
}


/* ═══════════════════════════════════════════════
   9. OVERRIDES — Elementor / Tema global
   ═══════════════════════════════════════════════ */

/* ── Links globais Elementor ── */
/* NOTA: a cor #1C97D8 (azul) é herança de versões anteriores.
   Progressivamente substituir por --by-terra (#C4614A) nas
   páginas novas construídas com o design system by-*. */
.elementor-kit-9 a {
    color: #1C97D8;
    font-family: "Poppins", sans-serif;
    font-size: 15px;
    font-weight: 400;
    text-transform: none;
    font-style: normal;
    text-decoration: none;
    line-height: 18px;
    letter-spacing: 0;
}

/* ── Inputs / textareas globais ── */
.elementor-kit-9 input:not([type="button"]):not([type="submit"]),
.elementor-kit-9 textarea,
.elementor-kit-9 .elementor-field-textual {
    border-radius: 0;
    padding: 10px;
}

/* Focus global */
input:focus-visible,
select:focus-visible {
    outline-color: #5A8674 !important; /* sage escuro */
}

/* Select global */
select {
    background: #E4EDE7; /* sage muito claro */
    border: none;
    padding: 10px;
    outline-color: #5A8674 !important;
}

/* ── Navegação dropdown ── */
ul.elementor-nav-menu--dropdown a,
ul.elementor-nav-menu--dropdown a:focus,
ul.elementor-nav-menu--dropdown a:hover {
    border-inline-start: 0px solid transparent !important;
    text-shadow: none;
}

/* Menu mega dropdown — fundo sage */
@media only screen and (max-width: 1024px) {
    ul.e-n-menu-heading {
        background: #C7D3CB !important;
        padding: 20px 0 !important;
    }
    li.e-n-menu-item {
        padding: 10px 0 !important;
    }
}
@media only screen and (max-width: 780px) {
    ul.e-n-menu-heading {
        background: #C7D3CB !important;
        padding: 20px 0 !important;
    }
}

/* Link de menu focado */
a.e-n-menu-title-container.e-focus.e-link { color: #59524D !important; }
a.e-n-menu-title-container.e-focus.e-link:hover,
a.e-n-menu-title-container.e-focus.e-link:active { color: #8f7d71 !important; }

/* ── Botão logout ── */
#logout-btn > div.elementor-widget-container > div > div {
    justify-content: center;
}
#logout-btn > div.elementor-widget-container > div > div > a {
    padding: 16px 60px;
    text-transform: uppercase;
    font-weight: 500;
    letter-spacing: 2px;
}

/* ── Botão editar detalhes (área de conta) ── */
a#editar-detalhes {
    padding: 14px 24px;
    display: inline-block;
    background: #8f7d71; /* --by-taupe */
    width: auto;
    margin: 0 !important;
    border-radius: 200px;
    color: #ffffff;
    font-size: 13px;
    letter-spacing: 2px;
    text-transform: uppercase;
    font-weight: 700;
}

/* ── Sticky bottom bar (CTA flutuante) ── */
#sticky-bottom-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    transform: translateY(100%);
    transition: transform 0.4s ease-in-out;
    z-index: 9999;
}
#sticky-bottom-bar.visible {
    transform: translateY(0);
}

/* ── Sombra do dropdown da nav ── */
#drop1 {
    box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.2);
}

/* ── Avatar de utilizador ── */
div#avatar-circle {
    width: 80px;
    height: 80px;
}
#wpua-preview-existing > img,
#wpua-thumbnail-existing > img {
    border-radius: 300px;
    margin: 0 auto 20px auto;
}
div#wpua-images-existing {
    display: flex;
    justify-content: center;
}
p#wpua-add-button-existing,
#wpua-edit-1 > p {
    text-align: center;
}
#wpua-edit-1 > div > h3 {
    text-align: center;
}

/* ── Cards de curso (loop Elementor) ── */
.overcard {
    height: 100%;
    width: 100%;
    position: absolute;
}
.overcardlink {
    display: flex;
    height: 100%;
    width: 100%;
    background: rgba(0, 0, 0, 0);
    transition: background .5s;
}
.overcardlink:hover {
    background-color: rgba(0, 0, 0, 0.5);
}
.curso-thumb { height: 100px; }
.curso-main {
    padding: 60px 20px;
    transition: padding 0.2s;
}
.curso-main:hover {
    padding: 50px 20px 70px;
}
.cardtitletime { height: 100%; }
@media only screen and (max-width: 780px) {
    .cardtitletime { height: auto; }
}

/* Ribbon (desactivado — manter para uso futuro) */
.ribbon { display: none; }

/* ── Cards de blog (loop antigo) ── */
/* NOTA: usa Oswald — substituir por Poppins nas páginas novas */
#cardpost .elementor-post__thumbnail__link { margin: 0; }
#cardpost .elementor-post__text { padding: 10px; }
#cardpost a {
    font-weight: 400;
    color: #59524D;
    font-family: "Poppins"; /* migrado de Oswald */
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 2px;
}

/* ── Favoritos (Estúdio BeYoga) ── */
.bigfav {
    cursor: pointer;
    display: flex;
    flex-direction: row;
    align-items: center;
    border-radius: 4px;
    justify-content: flex-start;
}
.favtext {
    margin-right: 5px;
    color: #8f7d71 !important; /* --by-taupe */
    width: 180px;
}
.favtext:hover,
.favstar:hover { color: #a1968d !important; }
.favstar {
    padding-top: 0;
    color: #8f7d71 !important;
}
i.sf-icon-star-full,
i.sf-icon-star-empty { color: #8f7d71; }
.favorites-list.userfavs {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: stretch;
    row-gap: 30px;
}
.favcard {
    width: 25%;
    padding: 0 15px;
}
.favcontainer {
    background: #CADCD0; /* sage */
    overflow: hidden;
    border: solid 1px #E4EDE7;
    border-radius: 6px;
}
.favcard p { margin: 0; }
.favinfo {
    display: flex;
    padding: 16px;
    min-height: 60px;
    flex-direction: row;
    align-content: flex-start;
    flex-wrap: nowrap;
    row-gap: 6px;
    font-size: 16px;
    justify-content: space-between;
}
h4.favtitle { color: #66615c; margin: 0; }
.praticacard .favtext,
.favinfo .favtext { display: none; }
@media only screen and (max-width: 780px) {
    .favcard {
        width: 100%;
        border-radius: 6px;
        overflow: hidden;
        background: #CADDC0;
        display: block;
    }
}

/* ── Utilitários de mistura ── */
.gomultiply { mix-blend-mode: multiply; }
.vidro-fosco {
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
}

/* ── Utilitários de texto ── */
.gobold { font-weight: 700; }
.brownbold { color: #8f7d71; font-weight: 700; }
.brownitalic { font-style: italic; color: #8f7d71; }

/* ── Listas globais ── */
ul { padding: 0 0 0 15px; }
ol { padding-left: 16px; }

/* ── Ocultar elementos de terceiros ── */
.grecaptcha-badge { visibility: hidden !important; }
.iub__us-widget { display: none !important; }
button.iubenda-tp-btn.iubenda-cs-preferences-link { display: none !important; }

/* ── Mensagem de acesso restrito (overlay) ── */
.msgcontainer {
    position: absolute;
    top: 0;
    height: 100%;
    display: flex;
    width: 100%;
    justify-content: center;
    align-content: center;
    flex-wrap: wrap;
}
.amensagemback {
    display: flex;
    flex-direction: column;
    justify-content: center;
    flex-wrap: wrap;
    align-content: center;
    padding: 30px;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
}
.messagetext {
    color: #ffffff;
    text-align: center;
}
.messagebtn {
    display: flex;
    justify-content: center;
    padding: 20px 0;
}
.messagebtn a {
    color: #ffffff;
    padding: 12px 20px;
    font-size: 16px;
    background: #C4614A; /* --by-terra — era #B4564C, actualizado */
    border-radius: 300px;
}
.bgmessage {
    height: 50vh;
    background: #747a6b;
}

/* ── Numeração decorativa (.onumero) ── */
.onumero {
    background: #ffffff;
    height: 40px;
    width: 46px;
    text-align: center;
    border-radius: 200px;
    padding: 0;
    border: 1px solid #C4614A; /* era #B4564C, actualizado */
    margin: 0;
    line-height: 18px;
}

/* ══════════════════════════════════════════════
   DEPRECATED — não usar em páginas novas
   ══════════════════════════════════════════════
   As seguintes classes são herança de versões
   anteriores do site. Não as replicar em HTML
   novo. Substituir pelos equivalentes by-*.
   ────────────────────────────────────────────
   .bgreen1 / .bgreen2 / .bgreen3 — verde #209D51
     (não é cor da paleta BeYoga — usar --by-sage)
   .byellow / .borange / .bred / .bgrey
     (sem equivalente activo no design system)
   .dball — dot decorativo legado
   Oswald font — substituída por Poppins
   #1C97D8 azul em links — a substituir por
     --by-terra (#C4614A) nas páginas novas
   ══════════════════════════════════════════════ */
