/* ==========================================================================
   CUSTOM STYLES — era o «CSS adicional» do Personalizador; desde 13/10/2026 vive
   aqui (inc/desempenho.php põe-no no fim do <head>, onde o WordPress o punha).
   Organized: Base → Scrollbar → Utilities → Checkout → Payment → Cart → Thank you → Artigos
   ========================================================================== */


/* ==========================================================================
   1. BASE & GLOBAL
   ========================================================================== */

/* Text selection */
::selection {
    background: #4A7259CC;
    color: #fff;
}

/* Last paragraph spacing */
.mt-widget-text-editor p:last-child {
    margin-bottom: 0;
}

/* Icon bottom gap */
.mt-icon-wrapper {
    line-height: 0;
}

/* Font 16px para Safari IOS */
@media screen and (-webkit-min-device-pixel-ratio: 0) {
    input, textarea, select {
        font-size: 16px !important;
    }
}

/* ==========================================================================
   1. CookieYes — banner + modal com estilo Matter Studio
   (migrado do antigo CSS Cookiebot em 2026-07-01)
   ========================================================================== */

/* Fonte da marca em todo o widget */
.cky-consent-container, .cky-consent-container *,
.cky-preference-center, .cky-preference-center *,
.cky-btn-revisit-wrapper, .cky-btn-revisit-wrapper * {
    font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif !important;
}

/* --- Banner (caixa) --- */
.cky-consent-container .cky-consent-bar {
    background-color: #ffffff !important;
    border: 1px solid #ebebeb !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 12px rgba(0,0,0,.08), 0 1px 3px rgba(0,0,0,.05) !important;
}

/* Titulo */
.cky-title { color: #0f0f0f !important; font-weight: 700 !important; }

/* Texto descritivo (banner + modal + categorias) */
.cky-notice-des, .cky-notice-des p,
.cky-preference-content-wrapper, .cky-preference-content-wrapper p,
.cky-accordion-header-des, .cky-accordion-header-des p {
    color: #888888 !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
}

/* Links (politica de cookies / mostrar detalhes) */
.cky-notice-des a, .cky-preference-content-wrapper a, .cky-show-desc-btn {
    color: var(--mx-global-color-accent, #4A7259) !important; font-weight: 600 !important;
}
.cky-notice-des a:hover, .cky-show-desc-btn:hover { color: var(--mx-global-color-accent-escuro, #3A5A47) !important; }

/* --- Botoes (base) --- */
.cky-btn {
    border-radius: 12px !important;
    font-weight: 600 !important;
    padding: 12px 24px !important;
    transition: all .2s ease !important;
}

/* Primario - Aceitar tudo (verde CTA) */
.cky-btn-accept {
    background-color: var(--mx-global-color-accent, #4A7259) !important;
    color: #ffffff !important;
    border: 1px solid var(--mx-global-color-accent, #4A7259) !important;
}
.cky-btn-accept:hover { background-color: var(--mx-global-color-accent-escuro, #3A5A47) !important; border-color: var(--mx-global-color-accent-escuro, #3A5A47) !important; }

/* Secundarios - Rejeitar / Personalizar / Guardar (outline) */
.cky-btn-reject, .cky-btn-customize, .cky-btn-preferences {
    background-color: #ffffff !important;
    color: #0f0f0f !important;
    border: 1.5px solid #ebebeb !important;
}
.cky-btn-reject:hover, .cky-btn-customize:hover, .cky-btn-preferences:hover {
    border-color: #d0d0d0 !important;
    background-color: #f9f9f9 !important;
    color: #0f0f0f !important;
}

/* --- Modal (Preference Center) --- */
.cky-preference-center {
    background-color: #ffffff !important;
    border: 1px solid #ebebeb !important;
    border-radius: 12px !important;
}
.cky-preference-title { color: #0f0f0f !important; font-weight: 700 !important; }

/* Titulos das categorias */
.cky-accordion-header, .cky-accordion-cktitle {
    color: #252525 !important; font-weight: 600 !important;
}

/* Etiqueta "Sempre ativos" */
.cky-always-active { color: var(--mx-global-color-accent, #4A7259) !important; font-weight: 600 !important; }

/* Botao fechar do modal */
.cky-btn-close, .cky-preference-header .cky-btn-close { color: #888888 !important; }

/* Toggles das categorias - verde quando ativo */
.cky-consent-container, .cky-preference-center { accent-color: var(--mx-global-color-accent, #4A7259) !important; }

/* --- Widget flutuante de reabrir consentimento --- */
.cky-btn-revisit-wrapper .cky-btn-revisit {
    background-color: var(--mx-global-color-accent, #4A7259) !important;
    border-radius: 20px !important;
}

/* === FOCUS ACESSÍVEL (WCAG 2.4.7) === */

/* Anel de foco visível para navegação por teclado em todos os elementos interativos */
*:focus-visible {
  outline: 3px solid #000;
  outline-offset: 2px;
  border-radius: 2px;
}

/* Esconde o anel para utilizadores de rato e touch */
:focus:not(:focus-visible) {
  outline: none;
}

/* Override forçado nos botões e campos do tema e do WooCommerce que vêm com outline:0 por defeito */
.mt-button:focus-visible,
.woocommerce a.button:focus-visible,
.woocommerce button.button:focus-visible,
.woocommerce-cart .checkout-button:focus-visible,
.woocommerce-checkout #place_order:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[role="button"]:focus-visible {
  outline: 3px solid #000 !important;
  outline-offset: 2px !important;
}

/* ==========================================================================
   2. SCROLLBAR
   ========================================================================== */

/* Firefox */
* {
    scrollbar-width: thin;
    scrollbar-color: #0f0f0f #f9f9f9;
}

/* Chrome / Edge / Safari */
::-webkit-scrollbar {
    width: 5px;
    height: 5px;
}

::-webkit-scrollbar-track {
    background: #f9f9f9;
}

::-webkit-scrollbar-thumb {
    background-color: #0f0f0f;
    border-radius: 10px;
}

::-webkit-scrollbar-thumb:hover {
    background-color: #444;
}


/* ==========================================================================
   3. UTILITIES
   ========================================================================== */

/* Glassmorphism */
.glass {
    backdrop-filter: blur(25px) saturate(120%);
    -webkit-backdrop-filter: blur(25px) saturate(120%);
}


/* ==========================================================================
   6. CHECKOUT (WooCommerce Blocks)
   ========================================================================== */

/* --- Variables --- */
:root {
    --checkout-radius: 12px;
    --checkout-border: 1px solid #ebebeb;
    --checkout-bg-white: #ffffff;
    --checkout-text-dark: #0f0f0f;
    --checkout-text-muted: #888888;
    --checkout-accent: #252525;
    --checkout-font: "Plus Jakarta Sans", sans-serif;
    --font-size-step-title: clamp(0.92rem, 0.845rem + 0.345vw, 1.06rem);
    --font-size-standard: clamp(0.86rem, 0.847rem + 0.069vw, 0.89rem);
    --font-size-small: 0.82rem;
}

/* --- Base font --- */
.wc-block-checkout {
    font-family: var(--checkout-font) !important;
}

/* --- Layout containers --- */
.wc-block-components-checkout-step,
.wp-block-woocommerce-checkout-order-summary-block,
.wp-block-woocommerce-checkout-order-summary-block .checkout-order-summary-block-fill {
	margin-bottom: 0px !important;
}

/* Summary Block*/
.wp-block-woocommerce-checkout-order-summary-block{
	 background: var(--checkout-bg-white) !important;
    border: var(--checkout-border) !important;
    border-radius: var(--checkout-radius) !important;
}

/* Summary title — remove duplicate border from inner wrapper */
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title {
    border: none !important;
    padding: 0px !important;
}

.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__content.is-open {
    border: none !important;
}

/* --- Typography --- */
.wc-block-components-checkout-step__title,
.wc-block-components-checkout-order-summary__title-text {
    font-size: var(--font-size-step-title) !important;
    font-weight: 600 !important;
    color: var(--checkout-text-dark) !important;
}

.wc-block-components-order-summary-item__description h3 {
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    color: var(--checkout-text-dark) !important;
}

.wc-block-components-product-details li,
.wc-block-components-radio-control-accordion-content,
.wc-block-checkout__terms {
    font-size: var(--font-size-small) !important;
    color: var(--checkout-text-muted) !important;
}

/* --- Inputs & selects --- */
.wc-block-components-text-input input,
.wc-block-components-text-input textarea,
.wc-blocks-components-select__select,
textarea {
    border-radius: var(--checkout-radius) !important;
    border: var(--checkout-border) !important;
    font-size: var(--font-size-standard) !important;
    color: var(--checkout-text-dark) !important;
    transition: border-color 0.2s ease;
}

.wc-block-components-text-input label,
.wc-blocks-components-select__label {
    font-size: var(--font-size-small) !important;
    color: var(--checkout-text-muted) !important;
}

input:focus,
select:focus,
textarea:focus {
    outline: none !important;
    border-color: var(--checkout-text-dark) !important;
}

.wc-block-components-checkbox__label {
    font-size: var(--font-size-standard) !important;
    color: var(--checkout-text-dark) !important;
}

/* --- Address card --- */
.wc-block-components-address-card {
    border-radius: var(--checkout-radius) !important;
}

/* --- Buttons (unified) --- */
.wc-block-components-address-card__edit,
.wc-block-components-totals-coupon__button,
.wc-block-components-coupon .wc-block-components-button,
.wc-block-components-checkout-place-order-button {
    background: var(--checkout-text-dark) !important;
    color: #fff !important;
    border-radius: var(--checkout-radius) !important;
    font-weight: 600 !important;
    border: none !important;
    cursor: pointer;
    transition: background 0.2s ease !important;
}

.wc-block-components-address-card__edit:hover,
.wc-block-components-totals-coupon__button:hover,
.wc-block-components-coupon .wc-block-components-button:hover,
.wc-block-components-checkout-place-order-button:hover {
    background: var(--checkout-accent) !important;
}

/* Button sizing */
.wc-block-components-address-card__edit {
    padding: 6px 14px !important;
    font-size: 0.85rem !important;
}

.wc-block-components-totals-coupon__button {
    padding: 10px 20px !important;
}

.wc-block-components-checkout-place-order-button {
    padding: 1rem !important;
    width: 100%;
}

/* --- Totals --- */
.wc-block-components-totals-item__label,
.wc-block-components-totals-item__value {
    
}

.wc-block-components-totals-item__value {
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    
}

.wc-block-components-checkbox {
    margin-bottom: 24px!important;
}

/* --- Links --- */
.wc-block-checkout__terms a {
    color: #4a7259 !important;
    text-decoration: underline !important;
}

/* --- Responsive Fixes --- */
@media (max-width: 768px) {
    /* 1. Remove border ONLY from the summary block inside the fill-wrapper */
    .checkout-order-summary-block-fill-wrapper .wp-block-woocommerce-checkout-order-summary-block {
        border: none !important;
        padding: 0 !important;
        margin-bottom: 16px !important;
    }

    /* 2. General layout adjustments for checkout steps and sidebar */
    .wc-block-components-checkout-step,
    .wc-block-checkout__sidebar {
        padding: 0 !important;
    }

    /* 3. Title spacing for the summary blocks */
    .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title {
        margin-top: 0 !important;
        padding: 1rem !important;
    }

    /* 4. Fixed syntax: Targeting the 'open' state of the summary content */
    .wc-block-components-checkout-order-summary__content.is-open {
        padding: 12px !important;
    }

    /* 5. Styling the inner fill container for the specific block */
    .checkout-order-summary-block-fill-wrapper .checkout-order-summary-block-fill {
        border: none !important;
        border-radius: 12px !important;
    }
	
	    .wp-block-woocommerce-checkout-order-summary-block.checkout-order-summary-block-fill-wrapper {
        padding-bottom: 0px!important;
				margin-bottom: 1rem!important;
    }
	
	.wp-block-woocommerce-checkout-order-summary-block.checkout-order-summary-block-fill-wrapper .wc-block-components-title {
    padding: 14px 14px 0;
}
}

/* ==========================================================================
   7. STRIPE / WOOCOMMERCE PAYMENTS (Classic Checkout)
   ========================================================================== */

/* --- Container --- */
#payment.woocommerce-Payment {
    background: #ffffff !important;
    border: 1px solid #ebebeb !important;
    border-radius: 16px !important;
    padding: 24px !important;
}

/* --- Payment method label --- */
.woocommerce-PaymentMethod label {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    font-weight: 700 !important;
    font-size: 1.1rem !important;
    line-height: 1 !important;
    margin-bottom: 20px !important;
    cursor: pointer !important;
}

.woocommerce-PaymentMethod input[type="radio"] {
    margin: 0 !important;
    padding: 0 !important;
}

.woocommerce-PaymentMethod label img {
    max-height: 24px !important;
    width: auto !important;
    margin: 0 !important;
}

/* --- Remove payment box decorations --- */
.payment_methods .payment_box::before,
.payment_methods .payment_box::after {
    display: none !important;
}

.woocommerce-PaymentBox,
.wc-payment-form,
.wcpay-upe-form {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* --- Stripe element & consent text --- */
.wcpay-upe-element {
    margin-bottom: 20px !important;
}

#payment .payment_box p {
    font-size: 0.85rem !important;
    line-height: 1.6 !important;
    color: #888 !important;
    margin-top: 15px !important;
}

/* --- Place order button --- */
#payment #place_order {
    background-color: #0f0f0f !important;
    color: #ffffff !important;
    border-radius: 12px !important;
    padding: 16px 32px !important;
    font-weight: 600 !important;
    font-size: 0.95rem !important;
    border: none !important;
    cursor: pointer !important;
    display: block !important;
    transition: background-color 0.3s ease, transform 0.3s ease !important;
}

#payment #place_order:hover {
    background-color: var(--mx-global-color-796a98c, #252525) !important;
    transform: translateY(-1px);
}

/* --- Responsive --- */
@media (max-width: 768px) {
    #payment #place_order {
        width: 100% !important;
        float: none !important;
        margin-top: 20px !important;
    }
}

@media (min-width: 769px) {
    #payment #place_order {
        float: right;
        margin-top: 10px !important;
    }

    /* Clearfix for floated button */
    .form-row {
        overflow: hidden;
    }
}



/* ════════════════════════════════════════════
   MATTER STUDIO — CART PAGE
   ════════════════════════════════════════════ */

.wc-block-cart, .wc-block-cart *,
.wc-block-cart__sidebar, .wc-block-cart__sidebar * {
    font-family: "Plus Jakarta Sans", sans-serif !important;
}
body.woocommerce-cart { background: #f9f9f9 !important; }

.wc-block-components-main,
.wp-block-woocommerce-cart-order-summary-block {
    background: #fff !important;
    border: 1px solid #ebebeb !important;
    border-radius: 12px !important;
    padding: 1rem !important;
}

/* Stop the main cart column from stretching to the sidebar height */
.wc-block-cart__main {
    align-self: flex-start !important;
}

/* ── Cabeçalho tabela ── */
.wc-block-cart-items__header { display: table-row !important; }
.wc-block-cart-items__header th {
    font-size: clamp(0.86rem, 0.847rem + 0.069vw, 0.89rem) !important;
    font-weight: 500 !important;
    color: #888 !important;
    padding-bottom: 12px !important;
    border: none !important;
}

/* ── Linhas ── */
.wc-block-cart-items__row { border-bottom: 1px solid #ebebeb !important; }
.wc-block-cart-items__row:last-child { border-bottom: none !important; }

/* ── Imagem ── */
.wc-block-cart-item__image img {
    width: 80px !important;
    height: 80px !important;
    object-fit: cover !important;
    border-radius: 10px !important;
    border: 1px solid #ebebeb !important;
}

/* ── Nome ── */
.wc-block-components-product-name {
    font-size: clamp(0.86rem, 0.847rem + 0.069vw, 0.89rem) !important;
    font-weight: 500 !important;
    color: #0f0f0f !important;
}
.wc-block-components-product-name:hover { text-decoration: underline !important; }

/* ── Preço + variações ── */
.wc-block-cart-item__prices .wc-block-components-product-price,
.wc-block-components-product-details__name,
.wc-block-components-product-details__value {
    font-size: 12px !important;
    color: #888 !important;
}
.wc-block-components-product-details__value {
    font-weight: 500 !important;
    color: #0f0f0f !important;
}

/* ── Seletor de quantidade ── */
.wc-block-components-quantity-selector {
    border: 1px solid #ebebeb !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    display: inline-flex !important;
    align-items: center !important;
    margin-top: 10px !important;
    background: #fff !important;
}

.wc-block-components-quantity-selector__button {
    width: 34px !important;
    height: 34px !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    font-size: 16px !important;
    color: #0f0f0f !important;
    cursor: pointer !important;
    transition: background 0.2s !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.wc-block-components-quantity-selector__button:hover:not(:disabled) { background: #f5f5f5 !important; }
.wc-block-components-quantity-selector__button:disabled { color: #ccc !important; }

.wc-block-components-quantity-selector__input {
    width: 36px !important;
    height: 34px !important;
    text-align: center !important;
    border: none !important;
    border-left: 1px solid #ebebeb !important;
    border-right: 1px solid #ebebeb !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    color: #0f0f0f !important;
    background: transparent !important;
    padding: 0 !important;
    -moz-appearance: textfield !important;
}
.wc-block-components-quantity-selector__input::-webkit-inner-spin-button,
.wc-block-components-quantity-selector__input::-webkit-outer-spin-button { -webkit-appearance: none !important; }

/* ── Remover ── */
.wc-block-cart-item__remove-link {
    display: inline-block !important;
    margin-top: 6px !important;
    font-size: 12px !important;
    color: #888 !important;
    text-decoration: none !important;
    transition: color 0.2s !important;
}
.wc-block-cart-item__remove-link:hover { color: #0f0f0f !important; text-decoration: underline !important; }

/* ── Total por linha ── */
.wc-block-cart-item__total .wc-block-components-product-price {
    font-size: clamp(0.86rem, 0.847rem + 0.069vw, 0.89rem) !important;
    font-weight: 600 !important;
    color: #0f0f0f !important;
}

/* ── Sidebar ── */
.wc-block-cart__totals-title {
    font-size: clamp(0.92rem, 0.845rem + 0.345vw, 1.06rem) !important;
    font-weight: 600 !important;
    color: #0f0f0f !important;
    padding-bottom: 14px !important;
    text-transform: none !important;
}

.wc-block-components-panel__button {
    font-size: clamp(0.86rem, 0.847rem + 0.069vw, 0.89rem) !important;
    color: #888 !important;
}

.wc-block-components-totals-item__label {
    font-size: clamp(0.86rem, 0.847rem + 0.069vw, 0.89rem) !important;
    color: #888 !important;
}
.wc-block-components-totals-item__value {
    font-size: clamp(0.86rem, 0.847rem + 0.069vw, 0.89rem) !important;
    font-weight: 500 !important;
    color: #0f0f0f !important;
}
.wc-block-components-totals-footer-item { padding-top: 14px !important; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    font-size: clamp(0.86rem, 0.847rem + 0.069vw, 0.89rem) !important;
    font-weight: 600 !important;
    color: #0f0f0f !important;
}

/* ── Botão finalizar ── */
.wc-block-cart__submit-button {
    background: #0f0f0f !important;
    color: #fff !important;
    border-radius: 12px !important;
    font-size: clamp(0.86rem, 0.847rem + 0.069vw, 0.89rem) !important;
    font-weight: 500 !important;
    padding: 1rem !important;
    width: 100% !important;
    transition: opacity 0.2s !important;
}
.wc-block-cart__submit-button:hover { opacity: 0.85 !important; }

/* ════════════════════════════════════════════
   MOBILE
   ════════════════════════════════════════════ */

@media (max-width: 768px) {
    .wc-block-cart-items__header { display: none !important; }

    .wc-block-cart-items table,
    .wc-block-cart-items thead,
    .wc-block-cart-items tbody { display: block !important; width: 100% !important; }

    .wc-block-cart-items__row {
        display: grid !important;
        grid-template-columns: 70px 1fr auto !important;
        grid-template-areas:
            "img product total"
            "img product total" !important;
        gap: 0 12px !important;
        padding: 16px 0 !important;
        align-items: start !important;
    }

    .wc-block-cart-item__image {
        grid-area: img !important;
        width: 70px !important;
    }
    .wc-block-cart-item__image img {
        width: 70px !important;
        height: 70px !important;
    }

    .wc-block-cart-item__product {
        grid-area: product !important;
        width: 100% !important;
    }

    .wc-block-cart-item__total {
        grid-area: total !important;
        text-align: right !important;
        white-space: nowrap !important;
    }

    .wp-block-woocommerce-cart-order-summary-block {
        margin-top: 16px !important;
        position: static !important;
    }
    .wc-block-components-main { padding: 12px !important; }
}


/* ════════════════════════════════════════════
   MATTER STUDIO — THANK YOU PAGE UI UPGRADE
   ════════════════════════════════════════════ */

/* 1. Main Flex Container */
.woocommerce-order {
    display: flex;
    flex-wrap: wrap;
    gap: 60px;
    align-items: flex-start;
}

/* 2. Hide Default Redundant Notice */
p.woocommerce-notice.woocommerce-thankyou-order-received {
    display: none !important;
}

/* (Left content da confirmação: agora estilizado no Code Snippet 61 via .mc-ty-* — CSS antigo .mc-thankyou-* removido por estar morto.) */

/* 4. Right Content (The Summary List Card) */
.woocommerce-thankyou-order-details {
    order: 2; /* Forces it to the right */
    flex: 1;
    min-width: 300px;
    background: #ffffff !important; 
    border: 1px solid #ebebeb !important;
    padding: 30px !important;
    border-radius: 16px !important; /* Matches your checkout containers */
    display: flex !important;
    flex-direction: column !important;
    gap: 15px !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.02);
}

.woocommerce-thankyou-order-details li {
    display: flex;
    flex-direction: column;
    font-size: 0.85rem !important;
    color: #888 !important;
    border: none !important; /* Removes default Woo borders */
}

.woocommerce-thankyou-order-details li strong {
    font-size: 1rem !important;
    color: #0f0f0f !important;
    font-weight: 600 !important;
    margin-top: 4px;
}

/* 5. Bottom Content (Tables & Addresses) */
.woocommerce-order-details,
.woocommerce-customer-details {
    order: 3; /* Forces them below the two columns */
    width: 100%;
    margin-top: 20px;
}

.woocommerce-order-details__title,
.woocommerce-column__title {
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    color: #0f0f0f !important;
    margin-bottom: 20px !important;
}

/* Table styling to match checkout */
.woocommerce-table--order-details {
    border: 1px solid #ebebeb !important;
    border-radius: 12px !important;
    overflow: hidden;
    border-collapse: separate; /* Required for border-radius on tables */
}

.woocommerce-table--order-details th,
.woocommerce-table--order-details td {
    padding: 16px !important;
    border-top: none !important;
    border-bottom: 1px solid #ebebeb !important;
}

.woocommerce-table--order-details tbody tr:last-child td {
    border-bottom: none !important;
}

/* 6. Mobile Responsiveness */
@media (max-width: 768px) {
    .woocommerce-order {
        gap: 30px; /* Reduce gap for mobile */
    }
    
    .woocommerce-thankyou-order-details {
        flex: 1 1 100%; /* Force full width stacking */
        min-width: 100%;
    }
}
/* ── FAQ dos artigos (.matter-faq) ──────────────────────────────────────
   As perguntas herdavam o H3 do artigo (28px, peso 500) e ficavam quase do
   tamanho do título da secção, com a resposta a 14px por baixo. Sete
   seguidas liam-se como sete secções em vez de uma lista de perguntas.
   Aqui a pergunta desce e ganha peso, a resposta sobe, e as sete passam a
   viver dentro de um bloco só. Os seletores entram pelo contentor do
   conteúdo do artigo, o que basta para ganhar aos estilos globais sem
   !important. */
.matter-faq {
  background: var(--mx-global-color-text, #F9F9F9);
  border: 1px solid var(--mx-global-color-f78bd59, #EBEBEB);
  border-radius: 16px;
  padding: 6px 28px;
  margin: 28px 0;
}
.mt-widget-theme-post-content .matter-faq h3 {
  font-size: 18px;
  font-weight: 650;
  line-height: 1.4;
  letter-spacing: -.005em;
  color: #0F0F0F;
  margin: 0;
  padding: 22px 0 0;
  border-top: 1px solid var(--mx-global-color-f78bd59, #EBEBEB);
}
.mt-widget-theme-post-content .matter-faq h3:first-child { border-top: none; }
.mt-widget-theme-post-content .matter-faq p {
  font-size: 16px;
  line-height: 1.65;
  color: var(--mx-global-color-tinta-2, #4A4A46);
  margin: 0;
  padding: 8px 0 22px;
}
@media (max-width: 767px) {
  .matter-faq { padding: 4px 18px; border-radius: 14px; }
  .mt-widget-theme-post-content .matter-faq h3 { font-size: 17px; padding-top: 18px; }
  .mt-widget-theme-post-content .matter-faq p  { padding-bottom: 18px; }
}

/* ── Tabelas dos artigos (.matter-tabela) ───────────────────────────────
   O bloco de tabela do WordPress chega em caixa fechada, com moldura à volta
   de cada célula e o cabeçalho centrado. Dentro de um artigo lê-se como um
   formulário, não como informação, e corta a leitura em vez de a apoiar.
   Aqui adopta-se a linguagem da tabela de quantidades da ficha de produto:
   sem caixa, um filete forte a separar o cabeçalho, linhas a hairline e a
   primeira coluna a carregar o peso. A paleta é a do artigo (filetes a
   --mx-global-color-f78bd59, texto a --mx-global-color-tinta-2) e não a da ficha, para o bloco não destoar do
   texto à volta. Como na .matter-faq, os seletores entram pelo contentor do
   conteúdo do artigo, o que basta para ganhar aos estilos globais sem
   !important. */
.matter-tabela { margin: 28px 0; }

.mt-widget-theme-post-content .matter-tabela table {
  width: 100%;
  border-collapse: collapse;
  background: transparent;
}
.mt-widget-theme-post-content .matter-tabela th,
.mt-widget-theme-post-content .matter-tabela td {
  border: none;
  text-align: left;
}
.mt-widget-theme-post-content .matter-tabela thead th {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: #0F0F0F;
  padding: 14px 10px;
  border-bottom: 1px solid #0F0F0F;
}
.mt-widget-theme-post-content .matter-tabela tbody td {
  font-size: 16px;
  line-height: 1.5;
  color: var(--mx-global-color-tinta-2, #4A4A46);
  padding: 14px 10px;
  border-bottom: 1px solid var(--mx-global-color-f78bd59, #EBEBEB);
}
.mt-widget-theme-post-content .matter-tabela tbody tr:last-child td {
  border-bottom: none;
}
/* A primeira coluna é a etiqueta e é por ela que se procura na tabela. */
.mt-widget-theme-post-content .matter-tabela tbody td:first-child {
  font-weight: 600;
  color: #0F0F0F;
}
/* O tema pinta linhas alternadas; a tabela da ficha de produto não tem
   zebra, e a alternância competia com o filete entre linhas. */
.mt-widget-theme-post-content .matter-tabela tbody tr td { background: transparent; }
.mt-widget-theme-post-content .matter-tabela tbody tr:hover td {
  background: var(--mx-global-color-text, #F9F9F9);
}

@media (max-width: 767px) {
  .mt-widget-theme-post-content .matter-tabela thead th,
  .mt-widget-theme-post-content .matter-tabela tbody td { padding: 12px 6px; }
  .mt-widget-theme-post-content .matter-tabela tbody td { font-size: 15px; }
}

/* ── Flash do painel de cookies (.cky-modal) ────────────────────────────
   O CookieYes vem de um script DIFERIDO num CDN externo e injecta primeiro a
   marcação do painel de preferências e só depois o seu próprio CSS, em runtime.
   Medido na ficha de produto: o script arranca aos ~2,1 s e o <style id="cky-style">
   só existe depois disso. Nesse intervalo o painel não tem position:fixed nem
   visibility:hidden, por isso pinta como um bloco branco DENTRO do fluxo da
   página, empurra o conteúdo, e desaparece de golpe quando o CSS chega. Em
   navegação anónima, sem nada em cache e com o DNS do CDN por resolver, o
   intervalo é maior e vê-se: um elemento branco a descer rápido.

   Esta guarda esconde o painel enquanto ele não estiver mesmo aberto. O estado
   aberto é marcado pela classe .cky-modal-open — verificado no CSS deles, que
   tem .cky-modal.cky-modal-open { display:flex; visibility:visible } — logo o
   painel de preferências continua a abrir normalmente.

   display:none e não visibility:hidden de propósito: escondido por
   visibilidade, o painel continuaria a ocupar espaço no fluxo antes do CSS
   deles, e o salto do conteúdo mantinha-se. */
.cky-modal:not(.cky-modal-open) { display: none; }

/* Páginas legais: as secções passaram de h3/h4 a h2 (a ordem dos títulos não pode saltar do h1 para o h3;
   acessibilidade, 2026-10-13) mas mantêm o tamanho que tinham. Nenhuma destas páginas tinha h2 antes. */
.mt-doc-5819 h2, .mt-doc-3 h2, .mt-doc-1005 h2 { font-size: 1.75rem; }
.mt-doc-25 h2 { font-size: 1.5rem; }
