@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@600;700&family=Manrope:wght@400;500;600;700&display=swap");

/*
 * Da Silva — camada visual compartilhada para páginas legadas.
 * Todos os seletores são limitados a body.ds-theme para preservar a lógica
 * e os componentes de outros sistemas hospedados no mesmo diretório.
 */

body.ds-theme {
    --ds-bg: #070b10;
    --ds-bg-soft: #0b1118;
    --ds-surface: rgba(17, 23, 31, 0.94);
    --ds-surface-strong: #111820;
    --ds-surface-hover: #151e27;
    --ds-border: rgba(230, 184, 92, 0.2);
    --ds-border-strong: rgba(230, 184, 92, 0.48);
    --ds-gold: #e0ad4f;
    --ds-gold-light: #f2cf7a;
    --ds-gold-dark: #a76f1d;
    --ds-text: #f7f4ed;
    --ds-text-soft: #d2d5d9;
    --ds-muted: #99a1aa;
    --ds-success: #49c889;
    --ds-danger: #f17474;
    --ds-info: #6ea9ff;
    --ds-serif: "Cormorant Garamond", "Playfair Display", Georgia, serif;
    --ds-sans: "Manrope", "Inter", Arial, sans-serif;

    min-height: 100vh;
    margin: 0;
    background:
        radial-gradient(circle at 14% 4%, rgba(215, 162, 66, 0.11), transparent 30rem),
        radial-gradient(circle at 92% 22%, rgba(56, 75, 93, 0.14), transparent 32rem),
        linear-gradient(180deg, #080c11 0%, #05080c 58%, #080d13 100%);
    color: var(--ds-text-soft);
    font-family: var(--ds-sans);
    line-height: 1.65;
    color-scheme: dark;
}

body.ds-theme,
body.ds-theme *,
body.ds-theme *::before,
body.ds-theme *::after {
    box-sizing: border-box;
}

body.ds-theme img,
body.ds-theme svg,
body.ds-theme video,
body.ds-theme iframe,
body.ds-theme embed {
    max-width: 100%;
}

body.ds-theme a {
    color: var(--ds-gold-light);
    text-underline-offset: 3px;
}

body.ds-theme a:hover {
    color: #ffe3a0;
}

body.ds-theme :is(h1, h2, h3, h4) {
    color: var(--ds-text);
    text-wrap: balance;
}

body.ds-theme :is(h1, h2) {
    font-family: var(--ds-serif);
    letter-spacing: -0.025em;
}

body.ds-theme :focus-visible {
    outline: 3px solid rgba(242, 207, 122, 0.72);
    outline-offset: 3px;
}

body.ds-theme > .navbar,
body.ds-theme > .footer {
    display: none !important;
}

/* Cabeçalho compartilhado */

body.ds-theme .ds-shell {
    position: sticky;
    top: 0;
    z-index: 1000;
    border-bottom: 1px solid rgba(224, 173, 79, 0.2);
    background: rgba(6, 10, 15, 0.9);
    box-shadow: 0 12px 38px rgba(0, 0, 0, 0.24);
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
}

body.ds-theme .ds-shell__inner {
    position: relative;
    display: flex;
    width: min(1440px, calc(100% - 48px));
    min-height: 82px;
    margin: 0 auto;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
}

body.ds-theme .ds-brand {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 13px;
    color: var(--ds-text);
    text-decoration: none;
}

body.ds-theme .ds-brand:hover {
    color: #fff;
}

body.ds-theme .ds-brand__mark {
    position: relative;
    width: 46px;
    height: 57px;
    flex: 0 0 auto;
    overflow: hidden;
}

body.ds-theme .ds-brand__mark img {
    position: absolute;
    top: -27px;
    left: -57px;
    width: 156px;
    max-width: none;
    mix-blend-mode: screen;
}

body.ds-theme .ds-brand__copy {
    display: grid;
    line-height: 1;
}

body.ds-theme .ds-brand__copy strong {
    font-family: var(--ds-serif);
    font-size: 27px;
    font-weight: 600;
    letter-spacing: 0.085em;
}

body.ds-theme .ds-brand__copy small {
    margin-top: 6px;
    color: var(--ds-gold);
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 0.2em;
}

body.ds-theme .ds-shell__nav {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: clamp(17px, 2.3vw, 34px);
}

body.ds-theme .ds-shell__link {
    position: relative;
    padding: 8px 0;
    color: #e1e2e4;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    white-space: nowrap;
}

body.ds-theme .ds-shell__link::after {
    position: absolute;
    right: 0;
    bottom: 1px;
    left: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--ds-gold), transparent);
    content: "";
    opacity: 0;
    transform: scaleX(0.4);
    transition: opacity 180ms ease, transform 180ms ease;
}

body.ds-theme .ds-shell__link:hover,
body.ds-theme .ds-shell__link[aria-current="page"] {
    color: var(--ds-gold-light);
}

body.ds-theme .ds-shell__link:hover::after,
body.ds-theme .ds-shell__link[aria-current="page"]::after {
    opacity: 1;
    transform: scaleX(1);
}

body.ds-theme .ds-shell__action {
    display: inline-flex;
    min-height: 42px;
    padding: 9px 16px;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--ds-border-strong);
    border-radius: 9px;
    background: linear-gradient(135deg, rgba(224, 173, 79, 0.16), rgba(224, 173, 79, 0.04));
    color: var(--ds-gold-light);
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}

body.ds-theme .ds-shell__action:hover {
    border-color: var(--ds-gold);
    background: linear-gradient(135deg, rgba(224, 173, 79, 0.26), rgba(224, 173, 79, 0.08));
    color: #fff1c4;
}

body.ds-theme .ds-menu-button {
    display: none;
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    padding: 0 !important;
    flex: 0 0 44px !important;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--ds-border);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.035);
    color: var(--ds-text);
    cursor: pointer;
}

body.ds-theme .ds-menu-button__bars,
body.ds-theme .ds-menu-button__bars::before,
body.ds-theme .ds-menu-button__bars::after {
    display: block;
    width: 19px;
    height: 1.5px;
    border-radius: 2px;
    background: currentColor;
    content: "";
    transition: transform 180ms ease, opacity 180ms ease;
}

body.ds-theme .ds-menu-button__bars {
    position: relative;
}

body.ds-theme .ds-menu-button__bars::before {
    position: absolute;
    top: -6px;
}

body.ds-theme .ds-menu-button__bars::after {
    position: absolute;
    top: 6px;
}

body.ds-theme .ds-menu-button[aria-expanded="true"] .ds-menu-button__bars {
    background: transparent;
}

body.ds-theme .ds-menu-button[aria-expanded="true"] .ds-menu-button__bars::before {
    top: 0;
    transform: rotate(45deg);
}

body.ds-theme .ds-menu-button[aria-expanded="true"] .ds-menu-button__bars::after {
    top: 0;
    transform: rotate(-45deg);
}

/* Rodapé compartilhado */

body.ds-theme .ds-footer {
    margin-top: clamp(54px, 8vw, 100px);
    border-top: 1px solid rgba(224, 173, 79, 0.2);
    background:
        linear-gradient(180deg, rgba(13, 19, 26, 0.95), rgba(5, 8, 12, 0.98)),
        radial-gradient(circle at 10% 0%, rgba(224, 173, 79, 0.08), transparent 28rem);
}

body.ds-theme .ds-footer__grid {
    display: grid;
    width: min(1360px, calc(100% - 48px));
    margin: 0 auto;
    padding: 58px 0 48px;
    grid-template-columns: minmax(260px, 1.35fr) repeat(3, minmax(150px, 0.55fr));
    gap: clamp(34px, 5vw, 80px);
}

body.ds-theme .ds-footer__brand p {
    max-width: 390px;
    margin: 19px 0 0;
    color: var(--ds-muted);
    font-size: 13px;
}

body.ds-theme .ds-footer__column {
    display: grid;
    align-content: start;
    justify-items: start;
    gap: 9px;
}

body.ds-theme .ds-footer__column h2 {
    margin: 0 0 5px;
    color: var(--ds-gold-light);
    font-family: var(--ds-serif);
    font-size: 20px;
    letter-spacing: 0;
}

body.ds-theme .ds-footer__column a,
body.ds-theme .ds-footer__column span {
    color: var(--ds-muted);
    font-size: 13px;
    text-decoration: none;
}

body.ds-theme .ds-footer__column a:hover {
    color: var(--ds-gold-light);
}

body.ds-theme .ds-footer__bottom {
    display: flex;
    width: min(1360px, calc(100% - 48px));
    margin: 0 auto;
    padding: 18px 0 24px;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.07);
    color: #7f8790;
    font-size: 11px;
}

body.ds-theme .ds-footer__bottom a {
    color: var(--ds-gold);
    text-decoration: none;
}

/* Superfícies e componentes das páginas existentes */

body.ds-theme > :is(.hero, .hero-section, .article-header) {
    position: relative;
    overflow: hidden;
    border-bottom: 1px solid rgba(224, 173, 79, 0.18);
    background:
        linear-gradient(110deg, rgba(9, 14, 20, 0.98), rgba(15, 22, 29, 0.92)),
        radial-gradient(circle at 15% 25%, rgba(224, 173, 79, 0.16), transparent 28rem) !important;
}

body.ds-theme > :is(.hero, .hero-section, .article-header)::after {
    position: absolute;
    top: -80%;
    right: -12%;
    width: 48%;
    height: 250%;
    border: 1px solid rgba(224, 173, 79, 0.1);
    border-radius: 50%;
    content: "";
    transform: rotate(20deg);
    pointer-events: none;
}

body.ds-theme > :is(.hero, .hero-section) {
    padding: clamp(64px, 8vw, 104px) 24px !important;
    text-align: center;
}

body.ds-theme > :is(.hero, .hero-section) h1 {
    margin-top: 0;
    color: #fff !important;
    font-size: clamp(38px, 5.2vw, 64px) !important;
    line-height: 1.02;
}

body.ds-theme > :is(.hero, .hero-section) p {
    max-width: 760px;
    margin-right: auto;
    margin-left: auto;
    color: var(--ds-muted) !important;
}

body.ds-theme .hero-icon,
body.ds-theme .status-icon {
    display: inline-grid;
    width: 72px;
    height: 72px;
    margin-bottom: 18px;
    place-items: center;
    border: 1px solid var(--ds-border-strong);
    border-radius: 50%;
    background: rgba(224, 173, 79, 0.08);
    box-shadow: 0 0 45px rgba(224, 173, 79, 0.1);
}

body.ds-theme :is(.search-container, .review-container, .result-box) {
    border: 1px solid var(--ds-border) !important;
    background: linear-gradient(145deg, rgba(20, 27, 35, 0.98), rgba(12, 18, 24, 0.98)) !important;
    box-shadow: 0 28px 80px rgba(0, 0, 0, 0.34) !important;
    color: var(--ds-text-soft);
}

body.ds-theme :is(.info-card, .service-card, .pricing-card, .article-card, .checklist-item, .progress-card),
body.ds-theme.ds-page-portal :is(.card, .meta-item, .link-box, .info-bar) {
    border-color: var(--ds-border) !important;
    background: linear-gradient(145deg, rgba(20, 27, 35, 0.96), rgba(12, 18, 24, 0.96)) !important;
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.2) !important;
    color: var(--ds-text-soft);
}

body.ds-theme :is(.info-card, .service-card, .pricing-card, .article-card, .checklist-item) {
    transition: border-color 180ms ease, background 180ms ease, transform 180ms ease;
}

body.ds-theme :is(.info-card, .service-card, .pricing-card, .article-card, .checklist-item):hover {
    border-color: var(--ds-border-strong) !important;
    background: linear-gradient(145deg, rgba(24, 32, 41, 0.98), rgba(14, 21, 28, 0.98)) !important;
}

body.ds-theme :is(.info-card, .service-card, .pricing-card, .article-card) h2,
body.ds-theme :is(.info-card, .service-card, .pricing-card, .article-card) h3 {
    color: var(--ds-text) !important;
}

body.ds-theme :is(.info-card, .service-card, .pricing-card, .article-card) p,
body.ds-theme :is(.service-description, .section-description, .article-description) {
    color: var(--ds-muted) !important;
}

body.ds-theme :is(.info-card-icon, .service-icon, .card-icon) {
    color: var(--ds-gold) !important;
    filter: drop-shadow(0 5px 16px rgba(224, 173, 79, 0.18));
}

body.ds-theme :is(input, textarea, select) {
    border-color: rgba(255, 255, 255, 0.14) !important;
    background: #0b1117 !important;
    color: var(--ds-text) !important;
    box-shadow: none !important;
}

body.ds-theme :is(input, textarea, select)::placeholder {
    color: #747d86;
    opacity: 1;
}

body.ds-theme :is(input, textarea, select):focus {
    border-color: var(--ds-gold) !important;
    outline: none;
    box-shadow: 0 0 0 3px rgba(224, 173, 79, 0.12) !important;
}

body.ds-theme :is(label, .form-label) {
    color: var(--ds-text-soft) !important;
}

body.ds-theme :is(
    .submit-btn,
    .btn-submit,
    .btn-gold,
    .cta-primary,
    .btn-pricing.primary,
    .btn-success,
    .btn-upload
) {
    border: 1px solid #edc66f !important;
    background: linear-gradient(135deg, #f0c66d, #c78b2c) !important;
    box-shadow: 0 12px 30px rgba(190, 125, 30, 0.18) !important;
    color: #0b0d10 !important;
    font-weight: 700 !important;
    text-decoration: none;
}

body.ds-theme :is(
    .submit-btn,
    .btn-submit,
    .btn-gold,
    .cta-primary,
    .btn-pricing.primary,
    .btn-success,
    .btn-upload
):hover {
    background: linear-gradient(135deg, #f6d685, #d79b39) !important;
    box-shadow: 0 16px 34px rgba(190, 125, 30, 0.26) !important;
    transform: translateY(-1px);
}

body.ds-theme :is(.btn-secondary, .btn-light, .cta-secondary, .btn-pricing.outline, .btn-outline) {
    border-color: var(--ds-border-strong) !important;
    background: rgba(255, 255, 255, 0.035) !important;
    color: var(--ds-gold-light) !important;
    text-decoration: none;
}

body.ds-theme :is(.btn-secondary, .btn-light, .cta-secondary, .btn-pricing.outline, .btn-outline):hover {
    border-color: var(--ds-gold) !important;
    background: rgba(224, 173, 79, 0.09) !important;
}

body.ds-theme .section-tag,
body.ds-theme .category,
body.ds-theme .pricing-tag {
    border-color: var(--ds-border-strong) !important;
    background: rgba(224, 173, 79, 0.09) !important;
    color: var(--ds-gold-light) !important;
}

body.ds-theme .section-title {
    color: var(--ds-text) !important;
}

body.ds-theme .alert {
    border-radius: 12px;
}

body.ds-theme .alert-success,
body.ds-theme .alert.success {
    border-color: rgba(73, 200, 137, 0.35) !important;
    background: rgba(32, 102, 69, 0.2) !important;
    color: #a9eccb !important;
}

body.ds-theme .alert-error,
body.ds-theme .alert.error {
    border-color: rgba(241, 116, 116, 0.35) !important;
    background: rgba(117, 37, 37, 0.22) !important;
    color: #ffc3c3 !important;
}

/* Consulta e validação */

body.ds-theme.ds-page-consulta .search-container {
    position: relative;
    z-index: 2;
    margin-top: -42px;
}

body.ds-theme.ds-page-consulta .form-header {
    border-bottom-color: var(--ds-border) !important;
    background: rgba(255, 255, 255, 0.015) !important;
}

body.ds-theme.ds-page-consulta .form-header h2 {
    color: var(--ds-text) !important;
}

body.ds-theme.ds-page-consulta .form-header p,
body.ds-theme.ds-page-consulta .info-card p {
    color: var(--ds-muted) !important;
}

body.ds-theme.ds-page-consulta .info-section {
    background: transparent !important;
}

body.ds-theme.ds-page-validador .content {
    color: var(--ds-text-soft);
}

body.ds-theme.ds-page-validador :is(.status-banner, .signature-section, .pdf-section) {
    border-color: var(--ds-border) !important;
    background: linear-gradient(145deg, rgba(20, 27, 35, 0.98), rgba(12, 18, 24, 0.98)) !important;
    box-shadow: 0 20px 55px rgba(0, 0, 0, 0.22) !important;
    color: var(--ds-text-soft);
}

body.ds-theme.ds-page-validador .status-banner {
    border-left-color: var(--ds-success) !important;
}

body.ds-theme.ds-page-validador .status-banner h2 {
    color: #a9eccb !important;
}

body.ds-theme.ds-page-validador :is(.signature-card, .signature-item, .pdf-container) {
    border-color: rgba(255, 255, 255, 0.11) !important;
    background: rgba(7, 12, 17, 0.68) !important;
}

body.ds-theme.ds-page-validador :is(.info-card-label, .signature-label, .signature-note) {
    color: var(--ds-muted) !important;
}

body.ds-theme.ds-page-validador :is(.info-card-value, .signature-value) {
    color: var(--ds-text) !important;
}

body.ds-theme.ds-page-validador .pdf-header {
    border-bottom-color: rgba(255, 255, 255, 0.1) !important;
    background: rgba(255, 255, 255, 0.025) !important;
}

/* Checklist e avaliação */

body.ds-theme.ds-page-checklist .progress-section,
body.ds-theme.ds-page-checklist .content-section {
    background: transparent !important;
}

body.ds-theme.ds-page-checklist .progress-bar-container {
    background: rgba(255, 255, 255, 0.08) !important;
}

body.ds-theme.ds-page-checklist .progress-bar {
    background: linear-gradient(90deg, var(--ds-gold-dark), var(--ds-gold-light)) !important;
}

body.ds-theme.ds-page-checklist :is(.progress-title, .progress-percentage, .item-title, .sig-name) {
    color: var(--ds-text) !important;
}

body.ds-theme.ds-page-checklist :is(.progress-text, .file-status, .sig-meta) {
    color: var(--ds-muted) !important;
}

body.ds-theme.ds-page-checklist .checklist-item.completed {
    border-left-color: var(--ds-success) !important;
}

body.ds-theme.ds-page-checklist .file-status.success {
    border: 1px solid rgba(58, 203, 142, 0.24) !important;
    background: rgba(58, 203, 142, 0.07) !important;
    color: var(--ds-text-soft) !important;
}

body.ds-theme.ds-page-checklist .file-status.success .file-link {
    color: var(--ds-gold-light) !important;
}

body.ds-theme.ds-page-checklist .file-status.success .file-link:hover {
    color: var(--ds-gold) !important;
}

body.ds-theme.ds-page-checklist .file-info,
body.ds-theme.ds-page-checklist .signature-section-mini {
    border-color: rgba(255, 255, 255, 0.1) !important;
    background: rgba(255, 255, 255, 0.025) !important;
}

body.ds-theme.ds-page-checklist .signature-header-mini {
    border-bottom-color: rgba(255, 255, 255, 0.1) !important;
    background: rgba(255, 255, 255, 0.055) !important;
    color: var(--ds-text) !important;
}

body.ds-theme.ds-page-checklist .signature-item-mini {
    border-bottom-color: rgba(255, 255, 255, 0.08) !important;
}

body.ds-theme.ds-page-checklist .signature-item-mini:hover {
    background: rgba(255, 255, 255, 0.045) !important;
}

body.ds-theme.ds-page-checklist .btn-delete,
body.ds-theme .ds-shell__action--danger {
    border-color: rgba(241, 116, 116, 0.34) !important;
    background: rgba(117, 37, 37, 0.2) !important;
    color: #ffc0c0 !important;
}

body.ds-theme.ds-page-avaliacoes {
    display: block !important;
    min-height: 100vh;
}

body.ds-theme.ds-page-avaliacoes .review-container {
    width: min(560px, calc(100% - 36px));
    max-width: none;
    margin: clamp(64px, 9vw, 110px) auto;
}

body.ds-theme.ds-page-avaliacoes .user-info {
    color: var(--ds-muted) !important;
}

body.ds-theme.ds-page-avaliacoes .star-label {
    color: #4b535c;
}

/* Agendamento */

body.ds-theme.ds-page-agendamento {
    display: block !important;
    padding: 0 !important;
}

body.ds-theme.ds-page-agendamento > .container {
    width: min(980px, calc(100% - 36px));
    max-width: none;
    margin: clamp(56px, 8vw, 90px) auto 24px;
    border: 1px solid var(--ds-border);
    background: linear-gradient(145deg, rgba(20, 27, 35, 0.98), rgba(12, 18, 24, 0.98));
    box-shadow: 0 28px 80px rgba(0, 0, 0, 0.34);
    color: var(--ds-text-soft);
}

body.ds-theme.ds-page-agendamento > .container h1 {
    color: var(--ds-text) !important;
}

body.ds-theme.ds-page-agendamento iframe {
    margin-top: 24px;
    border-radius: 12px;
    background: #fff;
}

body.ds-theme.ds-page-agendamento .btn-voltar {
    display: table;
    margin: 0 auto;
    border: 1px solid var(--ds-border-strong);
    background: rgba(224, 173, 79, 0.08) !important;
    color: var(--ds-gold-light) !important;
}

/* Blog */

body.ds-theme.ds-page-blog-index > .container {
    width: min(1240px, calc(100% - 40px));
    max-width: none;
}

body.ds-theme.ds-page-blog-index .article-card {
    overflow: hidden;
    text-decoration: none;
}

body.ds-theme.ds-page-blog-index .article-image {
    border-bottom: 1px solid var(--ds-border);
    background:
        linear-gradient(135deg, rgba(224, 173, 79, 0.13), rgba(15, 22, 29, 0.96)) !important;
}

body.ds-theme.ds-page-blog-index .article-meta,
body.ds-theme.ds-page-blog-index .read-more {
    color: var(--ds-gold-light) !important;
}

body.ds-theme.ds-page-article .article-header {
    padding-top: clamp(58px, 8vw, 96px) !important;
    padding-bottom: clamp(58px, 8vw, 96px) !important;
}

body.ds-theme.ds-page-article .header-content {
    position: relative;
    z-index: 1;
}

body.ds-theme.ds-page-article .article-header h1 {
    color: #fff !important;
    font-size: clamp(36px, 5vw, 62px) !important;
    line-height: 1.05;
}

body.ds-theme.ds-page-article :is(.breadcrumb, .article-meta) {
    color: var(--ds-muted) !important;
}

body.ds-theme.ds-page-article .article-body {
    border: 1px solid var(--ds-border);
    background: linear-gradient(145deg, rgba(18, 25, 32, 0.97), rgba(10, 15, 21, 0.98)) !important;
    box-shadow: 0 28px 80px rgba(0, 0, 0, 0.28);
    color: var(--ds-text-soft) !important;
}

body.ds-theme.ds-page-article .article-content {
    width: auto !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--ds-text-soft) !important;
}

body.ds-theme.ds-page-article .article-body :is(p, li) {
    color: #c7cbd0 !important;
}

body.ds-theme.ds-page-article .article-body h2 {
    color: var(--ds-gold-light) !important;
}

body.ds-theme.ds-page-article .article-body h3 {
    color: var(--ds-text) !important;
}

body.ds-theme.ds-page-article :is(.highlight-box, .cta-box) {
    border-color: var(--ds-border-strong) !important;
    background: linear-gradient(135deg, rgba(224, 173, 79, 0.11), rgba(255, 255, 255, 0.025)) !important;
    color: var(--ds-text-soft) !important;
}

body.ds-theme.ds-page-article :is(table, th, td) {
    border-color: rgba(255, 255, 255, 0.12) !important;
}

body.ds-theme.ds-page-article th {
    background: rgba(224, 173, 79, 0.11) !important;
    color: var(--ds-gold-light) !important;
}

body.ds-theme.ds-page-article td {
    background: rgba(255, 255, 255, 0.018) !important;
    color: var(--ds-text-soft) !important;
}

/* CR Master Suite */

body.ds-theme.ds-page-software > .hero {
    min-height: 620px;
    padding-top: clamp(70px, 9vw, 120px) !important;
}

body.ds-theme.ds-page-software .logo-hero {
    width: 180px;
    height: 180px;
    margin-bottom: 20px;
    object-fit: contain;
    mix-blend-mode: screen;
    filter: drop-shadow(0 18px 38px rgba(224, 173, 79, 0.18));
}

body.ds-theme.ds-page-software .hero h1 span {
    color: var(--ds-gold-light) !important;
}

body.ds-theme.ds-page-software .services {
    background: transparent !important;
}

body.ds-theme.ds-page-software .services:nth-of-type(even) {
    border-top: 1px solid rgba(255, 255, 255, 0.05);
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    background: rgba(255, 255, 255, 0.012) !important;
}

body.ds-theme.ds-page-software .pricing-card.featured {
    border-color: var(--ds-gold) !important;
    box-shadow: 0 24px 60px rgba(190, 125, 30, 0.17) !important;
}

body.ds-theme.ds-page-software .price {
    color: var(--ds-gold-light) !important;
}

body.ds-theme.ds-page-software .features-list li {
    border-bottom-color: rgba(255, 255, 255, 0.08) !important;
    color: var(--ds-text-soft) !important;
}

/* Portal de assinatura */

body.ds-theme.ds-page-portal {
    --navy: var(--ds-bg);
    --navy-light: var(--ds-bg-soft);
    --gold-primary: var(--ds-gold);
    --gold-light: var(--ds-gold-light);
    --text: var(--ds-text);
    --muted: var(--ds-muted);
    background:
        radial-gradient(circle at 12% 2%, rgba(215, 162, 66, 0.1), transparent 28rem),
        linear-gradient(180deg, #080c11, #05080c 65%, #080d13) !important;
}

body.ds-theme.ds-page-portal > .container {
    width: min(1180px, calc(100% - 36px));
    max-width: none;
    color: var(--ds-text-soft);
}

body.ds-theme.ds-page-portal-home > .container {
    width: min(1360px, calc(100% - 48px));
}

body.ds-theme.ds-page-portal-home .cards {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

body.ds-theme.ds-page-portal .cards {
    gap: 22px;
}

body.ds-theme.ds-page-portal :is(.card, .result-box) {
    border: 1px solid var(--ds-border) !important;
    background: linear-gradient(145deg, rgba(20, 27, 35, 0.97), rgba(12, 18, 24, 0.98)) !important;
    box-shadow: 0 24px 65px rgba(0, 0, 0, 0.25) !important;
    color: var(--ds-text-soft);
}

body.ds-theme.ds-page-portal :is(.card, .result-box) :is(h1, h2, h3, h4, strong) {
    color: var(--ds-text);
}

body.ds-theme.ds-page-portal :is(.card, .result-box) p {
    color: var(--ds-muted);
}

body.ds-theme.ds-page-portal .signatario-row {
    border-color: rgba(255, 255, 255, 0.1) !important;
    background: rgba(255, 255, 255, 0.025) !important;
}

body.ds-theme.ds-page-portal :is(.token-link, .link-box, .meta-item, .info-bar, .pdf-box, .next-action-card) {
    border-color: rgba(255, 255, 255, 0.11) !important;
    background: rgba(5, 10, 15, 0.68) !important;
    color: var(--ds-text-soft) !important;
}

body.ds-theme.ds-page-portal :is(.token-link, .link-box) code,
body.ds-theme.ds-page-portal :is(.token-link, .link-box) span {
    color: var(--ds-text-soft) !important;
}

body.ds-theme.ds-page-portal .copy-btn {
    flex: 0 0 auto;
    border: 1px solid var(--ds-border-strong);
    background: rgba(224, 173, 79, 0.09) !important;
    color: var(--ds-gold-light) !important;
}

body.ds-theme.ds-page-criar .token-link {
    display: flex;
    min-width: 0;
    gap: 10px;
}

body.ds-theme.ds-page-criar .token-link > span:first-child {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-all;
}

body.ds-theme.ds-page-portal .status-table,
body.ds-theme.ds-page-portal table {
    color: var(--ds-text-soft);
}

body.ds-theme.ds-page-portal :is(th, td) {
    border-color: rgba(255, 255, 255, 0.1) !important;
}

body.ds-theme.ds-page-portal th {
    color: var(--ds-gold-light) !important;
}

body.ds-theme.ds-page-portal td {
    color: var(--ds-text-soft);
}

body.ds-theme.ds-page-painel .card {
    overflow-x: auto;
}

body.ds-theme.ds-page-assinar .container > footer {
    display: none !important;
}

body.ds-theme.ds-page-portal .loading-overlay {
    background: rgba(4, 8, 12, 0.94) !important;
    color: var(--ds-text) !important;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
}

body.ds-theme.ds-page-govbr > header:not(.ds-shell) {
    border-bottom: 1px solid rgba(110, 169, 255, 0.2);
    background: rgba(255, 255, 255, 0.96) !important;
}

body.ds-theme.ds-page-govbr .steps {
    border-color: rgba(110, 169, 255, 0.18) !important;
}

body.ds-theme.ds-page-govbr .step-item {
    border: 1px solid rgba(110, 169, 255, 0.16) !important;
    border-radius: 14px;
    background: rgba(8, 15, 23, 0.86) !important;
    color: var(--ds-text-soft) !important;
}

body.ds-theme.ds-page-govbr .step-content p {
    color: var(--ds-muted) !important;
}

body.ds-theme.ds-page-govbr .step-number {
    border-color: rgba(110, 169, 255, 0.45) !important;
    background: rgba(33, 94, 181, 0.24) !important;
    color: #b8d4ff !important;
}

body.ds-theme.ds-page-govbr .upload-section {
    border-color: rgba(110, 169, 255, 0.45) !important;
    background: rgba(33, 94, 181, 0.09) !important;
    color: #c5dcff !important;
}

body.ds-theme.ds-page-portal [style*="color:#64748b"],
body.ds-theme.ds-page-portal [style*="color: #64748b"],
body.ds-theme.ds-page-portal [style*="color:#666"] {
    color: var(--ds-muted) !important;
}

body.ds-theme.ds-page-portal [style*="background:#f0fdf4"],
body.ds-theme.ds-page-portal [style*="background: #f0fdf4"] {
    border-color: rgba(73, 200, 137, 0.32) !important;
    background: rgba(32, 102, 69, 0.18) !important;
}

@media (max-width: 1100px) {
    body.ds-theme .ds-shell__inner {
        gap: 18px;
    }

    body.ds-theme .ds-shell__nav {
        gap: 18px;
    }

    body.ds-theme .ds-shell__link {
        font-size: 13px;
    }

    body.ds-theme .ds-footer__grid {
        grid-template-columns: 1.2fr repeat(2, 0.8fr);
    }

    body.ds-theme .ds-footer__column:last-child {
        grid-column: 2 / -1;
    }

    body.ds-theme.ds-page-portal-home .cards {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 900px) {
    html.ds-js body.ds-theme .ds-menu-button {
        display: inline-flex;
    }

    html.ds-js body.ds-theme .ds-shell__nav {
        position: absolute;
        top: calc(100% - 4px);
        right: 0;
        display: grid;
        width: min(340px, calc(100vw - 36px));
        padding: 18px;
        justify-items: stretch;
        gap: 4px;
        border: 1px solid var(--ds-border);
        border-radius: 13px;
        background: rgba(9, 14, 20, 0.98);
        box-shadow: 0 24px 70px rgba(0, 0, 0, 0.48);
        opacity: 0;
        pointer-events: none;
        transform: translateY(-8px);
        transition: opacity 160ms ease, transform 160ms ease, visibility 160ms ease;
        visibility: hidden;
    }

    html.ds-js body.ds-theme .ds-shell__nav.is-open {
        opacity: 1;
        pointer-events: auto;
        transform: translateY(0);
        visibility: visible;
    }

    html.ds-js body.ds-theme .ds-shell__link {
        padding: 10px 8px;
        white-space: normal;
    }

    html.ds-js body.ds-theme .ds-shell__action {
        margin-top: 6px;
    }

    html:not(.ds-js) body.ds-theme .ds-shell__inner {
        flex-wrap: wrap;
        padding: 12px 0;
    }

    html:not(.ds-js) body.ds-theme .ds-shell__nav {
        width: 100%;
        flex-wrap: wrap;
        justify-content: flex-start;
    }

    body.ds-theme .ds-footer__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.ds-theme .ds-footer__brand {
        grid-column: 1 / -1;
    }

    body.ds-theme .ds-footer__column:last-child {
        grid-column: auto;
    }
}

@media (max-width: 640px) {
    body.ds-theme .ds-shell__inner,
    body.ds-theme .ds-footer__grid,
    body.ds-theme .ds-footer__bottom {
        width: min(100% - 28px, 100%);
    }

    body.ds-theme .ds-shell__inner {
        min-height: 72px;
    }

    body.ds-theme .ds-brand {
        gap: 10px;
    }

    body.ds-theme .ds-brand__mark {
        width: 38px;
        height: 47px;
    }

    body.ds-theme .ds-brand__mark img {
        top: -22px;
        left: -47px;
        width: 128px;
    }

    body.ds-theme .ds-brand__copy strong {
        font-size: 21px;
    }

    body.ds-theme .ds-brand__copy small {
        margin-top: 5px;
        font-size: 6.5px;
        letter-spacing: 0.16em;
    }

    body.ds-theme > :is(.hero, .hero-section) {
        padding: 54px 18px 70px !important;
    }

    body.ds-theme > :is(.hero, .hero-section) h1 {
        font-size: clamp(35px, 11vw, 46px) !important;
    }

    body.ds-theme .ds-footer__grid {
        padding-top: 44px;
        grid-template-columns: 1fr;
        gap: 28px;
    }

    body.ds-theme .ds-footer__brand,
    body.ds-theme .ds-footer__column:last-child {
        grid-column: auto;
    }

    body.ds-theme .ds-footer__bottom {
        align-items: flex-start;
        flex-direction: column;
        gap: 7px;
    }

    body.ds-theme.ds-page-article .article-body {
        width: calc(100% - 24px) !important;
        margin-right: auto !important;
        margin-left: auto !important;
        padding-right: 20px !important;
        padding-left: 20px !important;
    }

    body.ds-theme.ds-page-article .article-content {
        width: 100% !important;
        padding: 0 !important;
    }

    body.ds-theme.ds-page-portal .card,
    body.ds-theme.ds-page-portal .result-box {
        padding: 22px !important;
    }

    body.ds-theme.ds-page-portal-home > .container {
        width: min(100% - 28px, 100%);
    }

    body.ds-theme.ds-page-portal-home .cards {
        grid-template-columns: 1fr !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.ds-theme *,
    body.ds-theme *::before,
    body.ds-theme *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}
