@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Montserrat:wght@600;700;800&display=swap');

/* ============================================================
   GUIA ACADEMY + AGÊNCIA VW COMUNICAÇÃO
   Tema público claro/escuro v1.1.0
   Claro = padrão | preferência salva no navegador
   ============================================================ */

:root,
html[data-vw-theme="light"] {
    --vw-yellow: #FFC300;
    --vw-orange: #FF8A00;
    --vw-purple: #F20D7A;
    --vw-pink: #FF5A8C;
    --vw-green: #23B36A;
    --vw-blue: #1FA6C7;

    --vw-gradient: linear-gradient(90deg,
        #FFC300 0%,
        #FF8A00 35%,
        #FF5A8C 70%,
        #F20D7A 100%);

    --vw-page: #F4F7FB;
    --vw-page-alt: #EDF2F7;
    --vw-surface: #FFFFFF;
    --vw-surface-soft: #F8FAFD;
    --vw-surface-strong: #EAF0F6;

    --vw-text: #303038;
    --vw-text-strong: #1D1D24;
    --vw-text-soft: #5F5F69;
    --vw-muted: #777781;

    --vw-border: #E6E4EA;
    --vw-border-strong: #D4D1D9;

    --vw-header: rgba(255,255,255,.94);
    --vw-footer: #1D1D24;
    --vw-footer-text: #F0EEF2;

    --vw-hero-from: #1D1D24;
    --vw-hero-mid: #34212C;
    --vw-hero-to: #F20D7A;

    --vw-shadow-sm: 0 8px 28px rgba(25, 51, 82, .08);
    --vw-shadow: 0 20px 60px rgba(25, 51, 82, .12);

    --vw-radius-sm: 10px;
    --vw-radius-md: 16px;
    --vw-radius-lg: 24px;
}

html[data-vw-theme="dark"] {
    --vw-page: #121216;
    --vw-page-alt: #18181E;
    --vw-surface: #202027;
    --vw-surface-soft: #26262F;
    --vw-surface-strong: #30303A;

    --vw-text: #F2F1F4;
    --vw-text-strong: #FFFFFF;
    --vw-text-soft: #CECBD2;
    --vw-muted: #9B98A1;

    --vw-border: #373741;
    --vw-border-strong: #484852;

    --vw-header: rgba(17,26,38,.94);
    --vw-footer: #111116;
    --vw-footer-text: #ECEAF0;

    --vw-hero-from: #17171C;
    --vw-hero-mid: #2A2027;
    --vw-hero-to: #C70B65;

    --vw-shadow-sm: 0 8px 28px rgba(0,0,0,.18);
    --vw-shadow: 0 20px 60px rgba(0,0,0,.25);
}

/* ---------- Base ---------- */
html {
    background: var(--vw-page);
    color-scheme: light;
}

html[data-vw-theme="dark"] {
    color-scheme: dark;
}

body {
    background: var(--vw-page) !important;
    color: var(--vw-text) !important;
    font-family: "Inter", "D-DIN Pro", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    transition: background-color .22s ease, color .22s ease;
}

body, p, li, label, input, select, textarea, button, table {
    font-family: "Inter", "D-DIN Pro", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

h1,h2,h3,h4,h5,h6,
.display-1,.display-2,.display-3,.display-4,.display-5,.display-6 {
    color: var(--vw-text-strong) !important;
    font-family: "Montserrat", system-ui, sans-serif !important;
    font-weight: 700;
    letter-spacing: -.025em;
}

h1,.display-1 { font-weight: 800; }

p, li { color: var(--vw-text) !important; }

.text-muted,
.text-secondary,
.muted,
.meta,
.caption,
small {
    color: var(--vw-muted) !important;
}

a {
    color: #F20D7A;
    text-decoration-color: rgba(23,104,196,.25);
}

html[data-vw-theme="dark"] a {
    color: #FF7FA9;
}

a:hover {
    color: var(--vw-orange);
}

/* ---------- Cabeçalho ---------- */
header,
.site-header,
.navbar,
nav.navbar,
.main-header,
.topbar {
    background: var(--vw-header) !important;
    border-color: var(--vw-border) !important;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

header a,
.site-header a,
.navbar a,
nav a {
    color: var(--vw-text-strong) !important;
}

header a:hover,
.site-header a:hover,
.navbar a:hover,
nav a:hover,
header .active,
.navbar .active {
    color: #F20D7A !important;
}

.site-header::after,
header.vw-gradient-line::after,
.vw-gradient-line::after {
    content: "";
    display: block;
    width: 100%;
    height: 3px;
    background: var(--vw-gradient);
}

/* Linha institucional no topo quando o header já possui borda */
header,
.site-header,
.navbar {
    border-bottom-color: transparent !important;
}

header::before,
.site-header::before,
.navbar::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 2px;
    background: var(--vw-gradient);
    pointer-events: none;
}

/* ---------- Alternador claro/escuro ---------- */
.vw-theme-toggle-wrap {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: 10px;
    flex: 0 0 auto;
}

.vw-theme-toggle {
    width: 40px;
    height: 40px;
    border-radius: 999px;
    border: 1px solid var(--vw-border-strong);
    background: var(--vw-surface);
    color: var(--vw-text-strong);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: var(--vw-shadow-sm);
    transition: transform .18s ease, border-color .18s ease, background .18s ease;
    padding: 0 !important;
}

.vw-theme-toggle:hover {
    transform: translateY(-1px);
    border-color: var(--vw-orange);
}

.vw-theme-toggle svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.vw-theme-toggle .vw-icon-sun { display: none; }
html[data-vw-theme="dark"] .vw-theme-toggle .vw-icon-moon { display: none; }
html[data-vw-theme="dark"] .vw-theme-toggle .vw-icon-sun { display: block; }

/* ---------- Conteúdo ---------- */
main,
.site-main,
.page-content {
    background: var(--vw-page) !important;
    color: var(--vw-text) !important;
}

section,
.section {
    color: var(--vw-text);
}

.bg-white,
.bg-light,
.section-light {
    background: var(--vw-surface) !important;
    color: var(--vw-text) !important;
}

.bg-dark,
.section-dark,
.vw-auto-dark-surface {
    background: var(--vw-page-alt) !important;
    color: var(--vw-text) !important;
}

/* neutraliza preto absoluto legado do pacote anterior */
body[style*="background"],
main[style*="background"] {
    background-color: var(--vw-page) !important;
}

[style*="background: #0D0D0D"],
[style*="background:#0D0D0D"],
[style*="background: #0d0d0d"],
[style*="background:#0d0d0d"],
[style*="background-color: #0D0D0D"],
[style*="background-color:#0D0D0D"],
[style*="background-color: #0d0d0d"],
[style*="background-color:#0d0d0d"] {
    background: var(--vw-page) !important;
}

/* ---------- Hero / topo de curso ---------- */
.hero,
.page-hero,
.course-hero,
.hero-section,
.course-header,
.course-detail-hero,
.vw-hero {
    background:
        radial-gradient(circle at 82% 16%, rgba(255,214,0,.12), transparent 24%),
        linear-gradient(125deg,
            var(--vw-hero-from) 0%,
            var(--vw-hero-mid) 48%,
            var(--vw-hero-to) 100%) !important;
    color: #FFFFFF !important;
}

.hero h1,.hero h2,.hero h3,.hero h4,
.page-hero h1,.page-hero h2,.page-hero h3,
.course-hero h1,.course-hero h2,.course-hero h3,
.hero-section h1,.hero-section h2,.hero-section h3,
.course-header h1,.course-header h2,.course-header h3,
.course-detail-hero h1,.course-detail-hero h2,.course-detail-hero h3,
.vw-hero h1,.vw-hero h2,.vw-hero h3 {
    color: #FFFFFF !important;
}

.hero p,.hero li,
.page-hero p,.page-hero li,
.course-hero p,.course-hero li,
.hero-section p,.hero-section li,
.course-header p,.course-header li,
.course-detail-hero p,.course-detail-hero li,
.vw-hero p,.vw-hero li {
    color: rgba(255,255,255,.86) !important;
}

/* ---------- Cards ---------- */
.card,
.course-card,
.combo-card,
.product-card,
.feature-card,
.service-card,
.panel,
.box,
.content-card,
.dashboard-card,
.pricing-card,
.testimonial-card,
.stats-card,
.metric-card,
.vw-auto-card {
    background: var(--vw-surface) !important;
    color: var(--vw-text) !important;
    border: 1px solid var(--vw-border) !important;
    border-radius: var(--vw-radius-md) !important;
    box-shadow: var(--vw-shadow-sm);
}

.card:hover,
.course-card:hover,
.combo-card:hover,
.product-card:hover,
.feature-card:hover,
.service-card:hover {
    border-color: rgba(255,138,0,.45) !important;
    box-shadow: var(--vw-shadow);
}

.card h1,.card h2,.card h3,.card h4,.card h5,
.course-card h1,.course-card h2,.course-card h3,.course-card h4,
.combo-card h1,.combo-card h2,.combo-card h3,.combo-card h4,
.vw-auto-card h1,.vw-auto-card h2,.vw-auto-card h3,.vw-auto-card h4 {
    color: var(--vw-text-strong) !important;
}

.card p,.card li,
.course-card p,.course-card li,
.combo-card p,.combo-card li,
.vw-auto-card p,.vw-auto-card li {
    color: var(--vw-text-soft) !important;
}

/* ---------- Seção de destaque / plataforma ---------- */
.platform-section,
.features-section,
.courses-section,
.featured-courses,
.home-courses,
.enterprise-section,
.business-section {
    background: var(--vw-page) !important;
    color: var(--vw-text) !important;
}

/* ---------- Títulos e assinatura VW ---------- */
.eyebrow,
.kicker,
.overline,
.section-label,
.course-label {
    color: #F20D7A !important;
    font-family: "Montserrat", system-ui, sans-serif !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: .08em;
}

html[data-vw-theme="dark"] .eyebrow,
html[data-vw-theme="dark"] .kicker,
html[data-vw-theme="dark"] .overline,
html[data-vw-theme="dark"] .section-label,
html[data-vw-theme="dark"] .course-label {
    color: #79C3FF !important;
}

.vw-accent-line,
.section-title::before,
.section-heading::before,
.heading-accent::before {
    background: var(--vw-gradient) !important;
}

.vw-accent-line {
    width: 72px;
    height: 4px;
    border-radius: 999px;
}

.vw-text-gradient {
    background: var(--vw-gradient);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent !important;
}

/* ---------- Botões ---------- */
.btn-primary,
.button-primary,
.cta-primary,
a.btn-primary,
button.btn-primary,
[data-vw-primary] {
    background: var(--vw-gradient) !important;
    color: #FFFFFF !important;
    border: 0 !important;
    border-radius: var(--vw-radius-sm) !important;
    font-family: "Montserrat", system-ui, sans-serif !important;
    font-weight: 700 !important;
    box-shadow: 0 10px 28px rgba(142,16,108,.18);
    transition: transform .18s ease, filter .18s ease, box-shadow .18s ease;
}

.btn-primary:hover,
.button-primary:hover,
.cta-primary:hover,
a.btn-primary:hover,
button.btn-primary:hover,
[data-vw-primary]:hover {
    color: #FFFFFF !important;
    transform: translateY(-1px);
    filter: saturate(1.06) brightness(1.03);
    box-shadow: 0 14px 34px rgba(142,16,108,.24);
}

.btn-outline-primary,
.btn-outline,
.button-secondary,
.cta-secondary,
[data-vw-secondary] {
    background: var(--vw-surface) !important;
    color: var(--vw-text-strong) !important;
    border: 1px solid var(--vw-border-strong) !important;
    border-radius: var(--vw-radius-sm) !important;
}

.btn-outline-primary:hover,
.btn-outline:hover,
.button-secondary:hover,
.cta-secondary:hover,
[data-vw-secondary]:hover {
    border-color: var(--vw-orange) !important;
    color: var(--vw-orange) !important;
}

/* ---------- Valores / indicadores ---------- */
.price,
.price-current,
.amount,
.highlight-number,
.metric-value,
.stat-number {
    color: var(--vw-orange) !important;
    font-family: "Montserrat", system-ui, sans-serif !important;
    font-weight: 800 !important;
}

.text-success,
.status-success,
.badge-success { color: var(--vw-green) !important; }

.text-info,
.status-info,
.badge-info { color: var(--vw-blue) !important; }

/* ---------- Formulários ---------- */
input,
select,
textarea,
.form-control,
.form-select {
    background: var(--vw-surface) !important;
    color: var(--vw-text-strong) !important;
    border: 1px solid var(--vw-border-strong) !important;
    border-radius: var(--vw-radius-sm) !important;
}

input:focus,
select:focus,
textarea:focus,
.form-control:focus,
.form-select:focus {
    border-color: var(--vw-orange) !important;
    box-shadow: 0 0 0 3px rgba(255,138,0,.13) !important;
    outline: none;
}

input::placeholder,
textarea::placeholder {
    color: var(--vw-muted) !important;
}

/* ---------- Tabelas ---------- */
table { color: var(--vw-text) !important; }

thead th {
    background: var(--vw-surface-soft) !important;
    color: var(--vw-text-strong) !important;
    border-color: var(--vw-border) !important;
}

tbody td {
    background: var(--vw-surface) !important;
    color: var(--vw-text) !important;
    border-color: var(--vw-border) !important;
}

/* ---------- Rodapé ---------- */
footer,
.site-footer,
.footer {
    background: var(--vw-footer) !important;
    color: var(--vw-footer-text) !important;
    border-top: 0 !important;
}

footer h1, footer h2, footer h3, footer h4, footer h5,
footer strong,
.site-footer h1,.site-footer h2,.site-footer h3,.site-footer h4,
.site-footer strong {
    color: #FFFFFF !important;
}

footer p, footer li, footer small,
.site-footer p,.site-footer li,.site-footer small {
    color: var(--vw-footer-text) !important;
}

footer a,.site-footer a {
    color: #FFFFFF !important;
}

footer a:hover,.site-footer a:hover {
    color: var(--vw-yellow) !important;
}

/* ---------- Conteúdo programático / acordeões ---------- */
.accordion,
.accordion-item,
.accordion-body,
.accordion-header,
.curriculum,
.course-content,
.course-description,
.course-about,
.program-content {
    color: var(--vw-text) !important;
}

.accordion-item {
    background: var(--vw-surface) !important;
    border-color: var(--vw-border) !important;
}

.accordion-button {
    background: var(--vw-surface) !important;
    color: var(--vw-text-strong) !important;
    border-color: var(--vw-border) !important;
}

.accordion-button:not(.collapsed) {
    background: var(--vw-surface-soft) !important;
    color: #F20D7A !important;
}

/* ---------- Mobile ---------- */
@media (max-width: 991.98px) {
    .vw-theme-toggle-wrap {
        margin-left: 6px;
        margin-right: 4px;
    }
    .vw-theme-toggle {
        width: 38px;
        height: 38px;
    }
}

@media (max-width: 767.98px) {
    .card,
    .course-card,
    .combo-card,
    .feature-card,
    .service-card {
        border-radius: 14px !important;
    }
}

/* ---------- Acessibilidade ---------- */
::selection {
    background: var(--vw-pink);
    color: #FFFFFF;
}

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


/* ============================================================
   HOME — Vitrine editorial de cursos e eventos v1.2.0
   ============================================================ */
.academy-showcase-section {
    background: var(--vw-page) !important;
}

.academy-showcase-heading {
    align-items: flex-end;
}

.academy-showcase-heading > div {
    max-width: 760px;
}

.academy-showcase-heading p {
    max-width: 680px;
    margin: 9px 0 0;
    color: var(--vw-text-soft) !important;
    font-size: 14px;
}

.academy-showcase-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.22fr) minmax(420px, .98fr);
    gap: 22px;
    align-items: stretch;
}

.academy-showcase-primary,
.academy-showcase-mini {
    position: relative;
    overflow: hidden;
    background: var(--vw-surface);
    border: 1px solid var(--vw-border);
    box-shadow: var(--vw-shadow-sm);
}

.academy-showcase-primary {
    border-radius: 22px;
}

.academy-showcase-primary::before {
    content: "";
    position: absolute;
    z-index: 4;
    inset: 0 0 auto;
    height: 4px;
    background: var(--vw-gradient);
}

.academy-showcase-primary-media {
    position: relative;
    display: block;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: var(--vw-surface-strong);
}

.academy-showcase-primary-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .32s ease;
}

.academy-showcase-primary:hover .academy-showcase-primary-media img {
    transform: scale(1.018);
}

.academy-showcase-badge,
.academy-showcase-type {
    position: absolute;
    z-index: 2;
    top: 18px;
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 6px 11px;
    border-radius: 999px;
    font-family: "Montserrat", system-ui, sans-serif;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
    box-shadow: 0 8px 24px rgba(8, 32, 65, .16);
}

.academy-showcase-badge {
    left: 18px;
    background: var(--vw-gradient);
    color: #fff !important;
}

.academy-showcase-type {
    right: 18px;
    background: rgba(11,47,91,.9);
    color: #fff !important;
    backdrop-filter: blur(8px);
}

.academy-showcase-primary-body {
    padding: 25px 27px 27px;
}

.academy-showcase-status {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
    color: #F20D7A;
    font-size: 12px;
    font-weight: 700;
}

.academy-showcase-status span {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--vw-orange);
    box-shadow: 0 0 0 4px rgba(255,138,0,.12);
}

.academy-showcase-primary h3 {
    margin: 0;
    font-size: clamp(25px, 2.4vw, 35px);
    line-height: 1.12;
}

.academy-showcase-primary h3 a {
    color: var(--vw-text-strong) !important;
}

.academy-showcase-primary-body > p {
    max-width: 760px;
    margin: 13px 0 0;
    color: var(--vw-text-soft) !important;
    font-size: 14px;
    line-height: 1.65;
}

.academy-showcase-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 18px;
}

.academy-showcase-meta span {
    display: inline-flex;
    align-items: center;
    min-height: 31px;
    padding: 6px 10px;
    border: 1px solid var(--vw-border);
    border-radius: 999px;
    background: var(--vw-surface-soft);
    color: var(--vw-text-soft);
    font-size: 11px;
    font-weight: 600;
}

.academy-showcase-primary-footer {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid var(--vw-border);
}

.academy-showcase-price small,
.academy-showcase-price strong {
    display: block;
}

.academy-showcase-price small {
    margin-bottom: 3px;
    color: var(--vw-muted) !important;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.academy-showcase-price strong {
    color: var(--vw-text-strong);
    font-family: "Montserrat", system-ui, sans-serif;
    font-size: 27px;
    line-height: 1.05;
}

.academy-showcase-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 9px;
}

.academy-showcase-detail,
.academy-showcase-sale {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-radius: 10px;
    padding: 10px 16px;
    font-family: "Montserrat", system-ui, sans-serif;
    font-size: 12px;
    font-weight: 800;
}

.academy-showcase-detail {
    border: 1px solid var(--vw-border-strong);
    background: var(--vw-surface);
    color: var(--vw-text-strong) !important;
}

.academy-showcase-detail:hover {
    border-color: var(--vw-orange);
    color: var(--vw-orange) !important;
}

.academy-showcase-sale {
    border: 0;
    background: var(--vw-gradient);
    color: #fff !important;
    box-shadow: 0 10px 26px rgba(142,16,108,.16);
}

.academy-showcase-sale:hover {
    color: #fff !important;
    transform: translateY(-1px);
    filter: saturate(1.05);
}

.academy-showcase-secondary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 14px;
    align-content: start;
}

.academy-showcase-mini {
    display: flex;
    flex-direction: column;
    min-width: 0;
    border-radius: 15px;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.academy-showcase-mini:hover {
    transform: translateY(-2px);
    border-color: var(--vw-border-strong);
    box-shadow: var(--vw-shadow);
}

.academy-showcase-mini-media {
    position: relative;
    display: block;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: var(--vw-surface-strong);
}

.academy-showcase-mini-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.academy-showcase-mini-media > span {
    position: absolute;
    left: 9px;
    bottom: 9px;
    display: inline-flex;
    padding: 5px 8px;
    border-radius: 999px;
    background: rgba(11,47,91,.88);
    color: #fff !important;
    font-family: "Montserrat", system-ui, sans-serif;
    font-size: 8px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
    backdrop-filter: blur(6px);
}

.academy-showcase-mini-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 13px 14px 14px;
}

.academy-showcase-mini-topline small {
    color: #F20D7A !important;
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.academy-showcase-mini h3 {
    margin: 6px 0 10px;
    font-size: 13px;
    line-height: 1.28;
}

.academy-showcase-mini h3 a {
    color: var(--vw-text-strong) !important;
}

.academy-showcase-mini-price {
    margin-top: auto;
    color: var(--vw-orange);
    font-family: "Montserrat", system-ui, sans-serif;
    font-size: 13px;
    font-weight: 800;
}

.academy-showcase-mini-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-top: 10px;
    padding-top: 9px;
    border-top: 1px solid var(--vw-border);
    color: #F20D7A !important;
    font-size: 10px;
    font-weight: 800;
}

.academy-showcase-mini-link:hover {
    color: var(--vw-orange) !important;
}

.academy-showcase-secondary-empty {
    grid-column: 1 / -1;
    display: grid;
    gap: 5px;
    min-height: 180px;
    place-content: center;
    padding: 28px;
    border: 1px dashed var(--vw-border-strong);
    border-radius: 16px;
    color: var(--vw-text-soft);
    text-align: center;
}

.academy-showcase-secondary-empty strong {
    color: var(--vw-text-strong);
}

html[data-vw-theme="dark"] .academy-showcase-type,
html[data-vw-theme="dark"] .academy-showcase-mini-media > span {
    background: rgba(5,18,34,.88);
}

html[data-vw-theme="dark"] .academy-showcase-status {
    color: #79C3FF;
}

html[data-vw-theme="dark"] .academy-showcase-mini-topline small,
html[data-vw-theme="dark"] .academy-showcase-mini-link {
    color: #79C3FF !important;
}

@media (max-width: 1080px) {
    .academy-showcase-grid {
        grid-template-columns: 1fr;
    }

    .academy-showcase-secondary {
        grid-template-columns: repeat(3, minmax(0,1fr));
    }
}

@media (max-width: 760px) {
    .academy-showcase-heading {
        align-items: flex-start;
    }

    .academy-showcase-primary-body {
        padding: 20px;
    }

    .academy-showcase-primary-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .academy-showcase-actions {
        justify-content: stretch;
    }

    .academy-showcase-detail,
    .academy-showcase-sale {
        flex: 1;
    }

    .academy-showcase-secondary {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }
}

@media (max-width: 520px) {
    .academy-showcase-primary {
        border-radius: 16px;
    }

    .academy-showcase-primary-media {
        aspect-ratio: 4 / 3;
    }

    .academy-showcase-badge,
    .academy-showcase-type {
        top: 12px;
        min-height: 27px;
        font-size: 8px;
    }

    .academy-showcase-badge {
        left: 12px;
    }

    .academy-showcase-type {
        right: 12px;
    }

    .academy-showcase-primary h3 {
        font-size: 24px;
    }

    .academy-showcase-primary-body > p {
        font-size: 13px;
    }

    .academy-showcase-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .academy-showcase-secondary {
        grid-template-columns: 1fr;
    }

    .academy-showcase-mini {
        display: grid;
        grid-template-columns: 132px 1fr;
        min-height: 132px;
    }

    .academy-showcase-mini-media {
        height: 100%;
        aspect-ratio: auto;
    }

    .academy-showcase-mini-media > span {
        left: 7px;
        bottom: 7px;
    }

    .academy-showcase-mini-body {
        padding: 12px;
    }
}


/* ---------- CTA FINAL — CARTÃO LEVE v1.3.0 ---------- */
.academy-cta-section {
    padding-top: 18px;
    padding-bottom: 54px;
    background: var(--vw-page) !important;
}

.academy-cta {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 36px 40px;
    border: 1px solid var(--vw-border);
    border-radius: 24px;
    background:
        radial-gradient(circle at 92% 16%, rgba(31,166,199,.10) 0, rgba(31,166,199,0) 34%),
        linear-gradient(135deg, var(--vw-surface) 0%, var(--vw-surface-soft) 100%) !important;
    color: var(--vw-text) !important;
    box-shadow: 0 16px 46px rgba(25,51,82,.10);
}

.academy-cta::before {
    content: "";
    position: absolute;
    z-index: 0;
    inset: 0 0 auto;
    height: 5px;
    background: var(--vw-gradient);
}

.academy-cta::after {
    content: "";
    position: absolute;
    z-index: 0;
    width: 190px;
    height: 190px;
    right: -82px;
    bottom: -105px;
    border-radius: 50%;
    background: linear-gradient(135deg, rgba(37,181,106,.16), rgba(31,166,199,.12));
    pointer-events: none;
}

.academy-cta > * {
    position: relative;
    z-index: 1;
}

.academy-cta h2,
.academy-cta h3 {
    color: var(--vw-text-strong) !important;
    max-width: 720px;
    margin-top: 8px;
    margin-bottom: 10px;
}

.academy-cta p {
    max-width: 720px;
    margin: 0;
    color: var(--vw-text-soft) !important;
}

.academy-cta .section-kicker-light {
    color: var(--vw-green) !important;
}

.academy-cta .button-light {
    min-height: 50px;
    padding: 0 26px;
    border: 0;
    background: linear-gradient(135deg, #34212C, #F20D7A) !important;
    color: #FFFFFF !important;
    box-shadow: 0 10px 24px rgba(23,79,158,.20);
    white-space: nowrap;
}

.academy-cta .button-light:hover {
    color: #FFFFFF !important;
    transform: translateY(-1px);
    box-shadow: 0 14px 30px rgba(23,79,158,.25);
}

html[data-vw-theme="dark"] .academy-cta {
    border-color: var(--vw-border);
    background:
        radial-gradient(circle at 92% 16%, rgba(31,166,199,.12) 0, rgba(31,166,199,0) 36%),
        linear-gradient(135deg, var(--vw-surface) 0%, var(--vw-page-alt) 100%) !important;
    box-shadow: 0 18px 48px rgba(0,0,0,.22);
}

html[data-vw-theme="dark"] .academy-cta h2,
html[data-vw-theme="dark"] .academy-cta h3 {
    color: #FFFFFF !important;
}

html[data-vw-theme="dark"] .academy-cta p {
    color: var(--vw-text-soft) !important;
}

@media (max-width: 800px) {
    .academy-cta-section {
        padding-top: 12px;
        padding-bottom: 36px;
    }

    .academy-cta {
        gap: 24px;
        padding: 28px 22px;
        border-radius: 20px;
    }

    .academy-cta h2,
    .academy-cta h3 {
        font-size: clamp(27px, 7.4vw, 36px);
        line-height: 1.12;
    }

    .academy-cta p {
        font-size: 15px;
        line-height: 1.65;
    }

    .academy-cta .button-light {
        width: 100%;
        justify-content: center;
        text-align: center;
    }
}


/* ---------- WORKSHOP INTERNO — v1.4.0 ---------- */
.workshop-hero {
    padding: 54px 0 58px;
    background:
        radial-gradient(circle at 88% 18%, rgba(255,90,140,.08), transparent 30%),
        radial-gradient(circle at 12% 82%, rgba(37,181,106,.08), transparent 28%),
        linear-gradient(180deg, var(--vw-surface) 0%, var(--vw-page) 100%) !important;
    border-bottom: 1px solid var(--vw-border);
}

.workshop-hero-grid {
    display: grid;
    grid-template-columns: minmax(0,1.08fr) minmax(360px,.92fr);
    gap: 46px;
    align-items: center;
}

.workshop-hero-copy h1 {
    max-width: 820px;
    margin: 18px 0 18px;
    font-size: clamp(46px,5.1vw,72px);
    line-height: .98;
    letter-spacing: -.045em;
}

.workshop-kicker {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 7px 12px;
    border: 1px solid rgba(37,181,106,.18);
    border-radius: 999px;
    background: rgba(37,181,106,.10);
    color: #178252;
    font-family: "Montserrat", system-ui, sans-serif;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .075em;
}

.workshop-lead {
    max-width: 720px;
    margin: 0;
    color: var(--vw-text-soft) !important;
    font-size: 17px;
    line-height: 1.72;
}

.workshop-points {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin: 24px 0 0;
}

.workshop-points span {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 8px 12px;
    border: 1px solid var(--vw-border);
    border-radius: 11px;
    background: var(--vw-surface);
    color: var(--vw-text-strong);
    font-size: 12px;
    font-weight: 700;
    box-shadow: var(--vw-shadow-sm);
}

.workshop-cohort {
    max-width: 700px;
    margin-top: 24px;
    padding: 18px 20px;
    border: 1px solid var(--vw-border);
    border-radius: 18px;
    background: var(--vw-surface);
    box-shadow: var(--vw-shadow-sm);
}

.workshop-cohort-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}

.workshop-cohort-top > div:first-child small,
.workshop-cohort-top > div:first-child strong,
.workshop-cohort-count strong,
.workshop-cohort-count span {
    display: block;
}

.workshop-cohort-top > div:first-child small {
    margin-bottom: 4px;
    color: var(--vw-green);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.workshop-cohort-top > div:first-child strong {
    color: var(--vw-text-strong);
    font-size: 17px;
}

.workshop-cohort-count {
    text-align: right;
}

.workshop-cohort-count strong {
    color: var(--vw-text-strong);
    font-size: 16px;
}

.workshop-cohort-count span,
.workshop-cohort-date {
    color: var(--vw-muted);
    font-size: 11px;
}

.workshop-cohort-bar {
    height: 8px;
    margin: 14px 0 9px;
    overflow: hidden;
    border-radius: 999px;
    background: var(--vw-surface-strong);
}

.workshop-cohort-bar > span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg,#23B36A,#1FA6C7);
}

.workshop-hero-card {
    overflow: hidden;
    border: 1px solid var(--vw-border);
    border-radius: 24px;
    background: var(--vw-surface);
    box-shadow: 0 24px 58px rgba(20,42,70,.14);
}

.workshop-hero-card > img {
    display: block;
    width: 100%;
    aspect-ratio: 16/9;
    object-fit: cover;
    background: var(--vw-surface-soft);
}

.workshop-sale {
    padding: 24px;
}

.workshop-sale > small {
    color: var(--vw-green);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .09em;
}

.workshop-price {
    margin-top: 3px;
    color: var(--vw-text-strong);
    font-family: "Montserrat", system-ui, sans-serif;
    font-size: 31px;
    font-weight: 800;
    letter-spacing: -.03em;
}

.workshop-sale > p {
    margin: 5px 0 0;
    color: var(--vw-muted) !important;
    font-size: 11px;
    line-height: 1.5;
}

.workshop-cta {
    width: 100%;
    justify-content: center;
    margin-top: 17px;
    text-align: center;
}

.workshop-confirmation {
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid var(--vw-border);
    color: var(--vw-text-soft);
    font-size: 12px;
    line-height: 1.55;
}

.workshop-content-section {
    padding-top: 58px;
    padding-bottom: 64px;
}

.workshop-content-grid {
    display: grid;
    grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr);
    gap: 24px;
    align-items: start;
}

.workshop-about-card,
.workshop-program-card {
    border: 1px solid var(--vw-border);
    border-radius: 20px;
    background: var(--vw-surface);
    box-shadow: var(--vw-shadow-sm);
}

.workshop-about-card {
    padding: 28px;
}

.workshop-about-card h2,
.workshop-program-card h2,
.workshop-speakers-heading h2 {
    margin: 7px 0 18px;
    font-size: clamp(25px,2.3vw,34px);
    line-height: 1.12;
}

.workshop-about-card .prose {
    color: var(--vw-text-soft);
    font-size: 14px;
    line-height: 1.76;
}

.workshop-about-card .prose p:first-child {
    margin-top: 0;
}

.workshop-model-note {
    margin-top: 24px;
    padding: 16px 18px;
    border: 1px solid rgba(255,138,0,.28);
    border-radius: 14px;
    background: rgba(255,214,0,.07);
}

.workshop-model-note strong {
    color: var(--vw-text-strong);
    font-size: 13px;
}

.workshop-model-note p {
    margin: 5px 0 0;
    color: var(--vw-text-soft) !important;
    font-size: 12px;
    line-height: 1.6;
}

.workshop-program-card {
    padding: 28px;
}

.workshop-program-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
}

.workshop-program-heading a {
    margin-top: 3px;
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
}

.workshop-timeline {
    margin-top: 4px;
}

.workshop-day + .workshop-day {
    margin-top: 24px;
}

.workshop-day-label {
    margin: 0 0 9px 88px;
    color: var(--vw-muted);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.workshop-timeline-item {
    display: grid;
    grid-template-columns: 70px 1fr;
    gap: 18px;
    padding: 16px 0;
    border-top: 1px solid var(--vw-border);
}

.workshop-time {
    padding-top: 2px;
}

.workshop-time strong,
.workshop-time span {
    display: block;
}

.workshop-time strong {
    color: var(--vw-text-strong);
    font-family: "Montserrat", system-ui, sans-serif;
    font-size: 15px;
}

.workshop-time span {
    margin-top: 2px;
    color: var(--vw-muted);
    font-size: 10.5px;
}

.workshop-activity h3 {
    margin: 0;
    color: var(--vw-text-strong) !important;
    font-size: 15.5px;
    line-height: 1.35;
}

.workshop-activity > p {
    margin: 7px 0 0;
    color: var(--vw-text-soft) !important;
    font-size: 12px;
    line-height: 1.55;
}

.workshop-activity-speakers {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 10px;
}

.workshop-activity-speakers > span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 6px 9px;
    border-radius: 999px;
    background: var(--vw-surface-soft);
    color: var(--vw-text-soft);
    font-size: 10px;
}

.workshop-activity-speakers strong {
    color: var(--vw-text-strong);
}

.workshop-activity-speakers small::before {
    content: "•";
    margin-right: 5px;
}

.workshop-sync-note {
    margin-top: 18px;
    padding-top: 14px;
    border-top: 1px solid var(--vw-border);
    color: var(--vw-muted);
    font-size: 10px;
}

.workshop-program-empty {
    margin-top: 10px;
    padding: 28px 22px;
    border: 1px dashed var(--vw-border-strong);
    border-radius: 16px;
    background: var(--vw-surface-soft);
}

.workshop-program-empty span {
    display: block;
    color: var(--vw-text-strong);
    font-family: "Montserrat", system-ui, sans-serif;
    font-size: 16px;
    font-weight: 700;
}

.workshop-program-empty p {
    margin: 7px 0 0;
    color: var(--vw-text-soft) !important;
    font-size: 12px;
    line-height: 1.6;
}

.workshop-speakers-section {
    margin-top: 36px;
}

.workshop-speakers-heading {
    max-width: 700px;
    margin-bottom: 18px;
}

.workshop-speakers-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 16px;
}

.workshop-speaker-card {
    display: grid;
    grid-template-columns: 82px 1fr;
    gap: 16px;
    min-height: 132px;
    padding: 16px;
    border: 1px solid var(--vw-border);
    border-radius: 17px;
    background: var(--vw-surface);
    box-shadow: var(--vw-shadow-sm);
}

.workshop-speaker-card img,
.workshop-speaker-placeholder {
    width: 82px;
    height: 100px;
    border-radius: 13px;
    object-fit: cover;
    background: var(--vw-surface-strong);
}

.workshop-speaker-placeholder {
    display: grid;
    place-items: center;
    color: var(--vw-blue);
    font-family: "Montserrat", system-ui, sans-serif;
    font-size: 28px;
    font-weight: 800;
}

.workshop-speaker-card h3 {
    margin: 2px 0 3px;
    color: var(--vw-text-strong) !important;
    font-size: 14px;
}

.workshop-speaker-card strong {
    color: var(--vw-green);
    font-size: 10px;
}

.workshop-speaker-card p {
    margin: 7px 0 0;
    color: var(--vw-text-soft) !important;
    font-size: 10px;
    line-height: 1.5;
}

html[data-vw-theme="dark"] .workshop-kicker {
    border-color: rgba(37,181,106,.28);
    background: rgba(37,181,106,.13);
    color: #7DDFB1;
}

html[data-vw-theme="dark"] .workshop-hero-card,
html[data-vw-theme="dark"] .workshop-cohort,
html[data-vw-theme="dark"] .workshop-about-card,
html[data-vw-theme="dark"] .workshop-program-card,
html[data-vw-theme="dark"] .workshop-speaker-card {
    box-shadow: 0 18px 46px rgba(0,0,0,.18);
}

@media (max-width: 980px) {
    .workshop-hero-grid,
    .workshop-content-grid {
        grid-template-columns: 1fr;
    }

    .workshop-hero-card {
        max-width: 720px;
    }

    .workshop-speakers-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
}

@media (max-width: 620px) {
    .workshop-hero {
        padding: 30px 0 34px;
    }

    .workshop-hero-grid {
        gap: 26px;
    }

    .workshop-hero-copy h1 {
        margin-top: 14px;
        font-size: clamp(36px,11vw,50px);
    }

    .workshop-lead {
        font-size: 15px;
    }

    .workshop-points {
        display: grid;
        grid-template-columns: 1fr;
    }

    .workshop-points span {
        width: 100%;
    }

    .workshop-cohort-top {
        display: block;
    }

    .workshop-cohort-count {
        margin-top: 9px;
        text-align: left;
    }

    .workshop-hero-card {
        border-radius: 18px;
    }

    .workshop-sale,
    .workshop-about-card,
    .workshop-program-card {
        padding: 20px;
    }

    .workshop-content-section {
        padding-top: 34px;
        padding-bottom: 42px;
    }

    .workshop-program-heading {
        display: block;
    }

    .workshop-program-heading a {
        display: inline-flex;
        margin: -7px 0 12px;
    }

    .workshop-day-label {
        margin-left: 0;
    }

    .workshop-timeline-item {
        grid-template-columns: 58px 1fr;
        gap: 12px;
    }

    .workshop-activity-speakers > span {
        align-items: flex-start;
        flex-direction: column;
        border-radius: 10px;
    }

    .workshop-activity-speakers small::before {
        display: none;
    }

    .workshop-speakers-grid {
        grid-template-columns: 1fr;
    }
}


/* ---------- WORKSHOP PREMIUM — v1.5.0 ---------- */
.workshop-premium-hero {
    position: relative;
    overflow: hidden;
    padding: 58px 0 64px;
    background:
        radial-gradient(circle at 86% 20%, rgba(255,90,140,.09), transparent 28%),
        radial-gradient(circle at 8% 86%, rgba(37,181,106,.08), transparent 30%),
        linear-gradient(180deg, var(--vw-surface) 0%, var(--vw-page) 100%) !important;
    border-bottom: 1px solid var(--vw-border);
}

.workshop-premium-hero::after {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 3px;
    background: var(--vw-gradient);
    opacity: .9;
}

.workshop-premium-grid {
    display: grid;
    grid-template-columns: minmax(0,.98fr) minmax(410px,1.02fr);
    gap: 54px;
    align-items: center;
}

.workshop-premium-copy h1 {
    max-width: 730px;
    margin: 17px 0 18px;
    color: var(--vw-text-strong) !important;
    font-size: clamp(46px,4.7vw,72px);
    line-height: .98;
    letter-spacing: -.048em;
}

.workshop-premium-kicker,
.workshop-premium-section-kicker {
    display: inline-flex;
    align-items: center;
    color: var(--vw-green);
    font-family: "Montserrat", system-ui, sans-serif;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.workshop-premium-kicker {
    min-height: 29px;
    padding: 6px 11px;
    border: 1px solid rgba(37,181,106,.18);
    border-radius: 999px;
    background: rgba(37,181,106,.09);
}

.workshop-premium-lead {
    max-width: 720px;
    margin: 0;
    color: var(--vw-text-soft) !important;
    font-size: 16px;
    line-height: 1.72;
}

.workshop-premium-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 22px;
}

.workshop-premium-tags span {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 7px 11px;
    border: 1px solid var(--vw-border);
    border-radius: 10px;
    background: var(--vw-surface);
    color: var(--vw-text-strong);
    font-size: 11px;
    font-weight: 700;
    box-shadow: 0 5px 16px rgba(25,51,82,.04);
}

.workshop-premium-cohort {
    max-width: 700px;
    margin-top: 22px;
    padding: 18px 20px;
    border: 1px solid var(--vw-border);
    border-radius: 17px;
    background: var(--vw-surface);
    box-shadow: var(--vw-shadow-sm);
}

.workshop-premium-cohort-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}

.workshop-premium-cohort-head small,
.workshop-premium-cohort-head strong,
.workshop-premium-cohort-count span {
    display: block;
}

.workshop-premium-cohort-head small {
    margin-bottom: 4px;
    color: var(--vw-green);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.workshop-premium-cohort-head strong {
    color: var(--vw-text-strong);
    font-size: 16px;
}

.workshop-premium-cohort-count {
    text-align: right;
}

.workshop-premium-cohort-count strong {
    font-size: 15px;
}

.workshop-premium-cohort-count span,
.workshop-premium-cohort-date {
    color: var(--vw-muted);
    font-size: 10px;
}

.workshop-premium-progress {
    height: 7px;
    margin: 13px 0 9px;
    overflow: hidden;
    border-radius: 999px;
    background: var(--vw-surface-strong);
}

.workshop-premium-progress span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg,#23B36A,#1FA6C7);
}

.workshop-premium-offer {
    overflow: hidden;
    border: 1px solid var(--vw-border);
    border-radius: 25px;
    background: var(--vw-surface);
    box-shadow: 0 24px 62px rgba(25,51,82,.14);
}

.workshop-premium-media {
    position: relative;
    overflow: hidden;
    aspect-ratio: 16 / 9;
    background: var(--vw-surface-strong);
}

.workshop-premium-media::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 42%;
    background: linear-gradient(180deg,transparent,rgba(11,47,91,.1));
    pointer-events: none;
}

.workshop-premium-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.workshop-premium-offer-body {
    padding: 23px 24px 24px;
}

.workshop-premium-offer-label {
    color: var(--vw-green);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .09em;
}

.workshop-premium-price {
    margin-top: 3px;
    color: var(--vw-text-strong);
    font-family: "Montserrat", system-ui, sans-serif;
    font-size: 31px;
    font-weight: 800;
    letter-spacing: -.03em;
}

.workshop-premium-offer-body > p {
    margin: 5px 0 0;
    color: var(--vw-muted) !important;
    font-size: 11px;
    line-height: 1.55;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.workshop-premium-main-cta {
    width: 100%;
    justify-content: center;
    margin-top: 16px;
    text-align: center;
}

.workshop-premium-offer-meta {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 10px;
    margin-top: 17px;
    padding-top: 17px;
    border-top: 1px solid var(--vw-border);
}

.workshop-premium-offer-meta > div {
    min-width: 0;
}

.workshop-premium-offer-meta small,
.workshop-premium-offer-meta strong {
    display: block;
}

.workshop-premium-offer-meta small {
    margin-bottom: 4px;
    color: var(--vw-muted);
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .08em;
}

.workshop-premium-offer-meta strong {
    overflow: hidden;
    color: var(--vw-text-strong);
    font-size: 11px;
    line-height: 1.4;
    text-overflow: ellipsis;
}

.workshop-premium-content {
    padding: 62px 0 54px;
    background: var(--vw-page) !important;
}

.workshop-premium-about {
    display: grid;
    grid-template-columns: minmax(0,1.28fr) minmax(300px,.72fr);
    gap: 24px;
    align-items: stretch;
}

.workshop-premium-about-copy,
.workshop-premium-about-side,
.workshop-premium-program,
.workshop-premium-final-cta {
    border: 1px solid var(--vw-border);
    background: var(--vw-surface);
    box-shadow: var(--vw-shadow-sm);
}

.workshop-premium-about-copy {
    padding: 34px 36px;
    border-radius: 22px;
}

.workshop-premium-about-copy h2,
.workshop-premium-section-head h2,
.workshop-premium-final-copy h2 {
    margin: 7px 0 17px;
    color: var(--vw-text-strong) !important;
    font-size: clamp(26px,2.3vw,36px);
    line-height: 1.1;
    letter-spacing: -.025em;
}

.workshop-premium-prose {
    color: var(--vw-text-soft);
    font-size: 14px;
    line-height: 1.78;
}

.workshop-premium-prose p:first-child {
    margin-top: 0;
}

.workshop-premium-about-side {
    display: grid;
    gap: 0;
    align-content: center;
    padding: 10px 24px;
    border-radius: 22px;
}

.workshop-premium-highlight {
    display: grid;
    grid-template-columns: 38px 1fr;
    gap: 14px;
    padding: 17px 0;
    border-bottom: 1px solid var(--vw-border);
}

.workshop-premium-highlight:last-of-type {
    border-bottom: 0;
}

.workshop-premium-highlight > span {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border-radius: 10px;
    background: linear-gradient(135deg,rgba(31,166,199,.12),rgba(37,181,106,.12));
    color: #F20D7A;
    font-family: "Montserrat", system-ui, sans-serif;
    font-size: 10px;
    font-weight: 800;
}

.workshop-premium-highlight strong {
    display: block;
    margin-bottom: 4px;
    color: var(--vw-text-strong);
    font-size: 12px;
}

.workshop-premium-highlight p {
    margin: 0;
    color: var(--vw-text-soft) !important;
    font-size: 11px;
    line-height: 1.55;
}

.workshop-premium-model-note {
    margin: 10px 0 14px;
    padding: 14px 15px;
    border: 1px solid rgba(255,138,0,.24);
    border-radius: 13px;
    background: rgba(255,214,0,.07);
}

.workshop-premium-model-note strong {
    color: var(--vw-text-strong);
    font-size: 11px;
}

.workshop-premium-model-note p {
    margin: 4px 0 0;
    color: var(--vw-text-soft) !important;
    font-size: 10px;
    line-height: 1.55;
}

.workshop-premium-program {
    margin-top: 26px;
    padding: 36px;
    border-radius: 22px;
}

.workshop-premium-section-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 24px;
}

.workshop-premium-section-head > div:first-child {
    max-width: 720px;
}

.workshop-premium-section-head h2 {
    margin-bottom: 9px;
}

.workshop-premium-section-head p {
    margin: 0;
    color: var(--vw-text-soft) !important;
    font-size: 12px;
    line-height: 1.6;
}

.workshop-premium-date-chip {
    flex: 0 0 auto;
    min-width: 132px;
    padding: 11px 14px;
    border: 1px solid var(--vw-border);
    border-radius: 12px;
    background: var(--vw-surface-soft);
    text-align: right;
}

.workshop-premium-date-chip small,
.workshop-premium-date-chip strong {
    display: block;
}

.workshop-premium-date-chip small {
    margin-bottom: 3px;
    color: var(--vw-muted);
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .08em;
}

.workshop-premium-date-chip strong {
    color: var(--vw-text-strong);
    font-size: 13px;
}

.workshop-premium-timeline {
    position: relative;
    max-width: 980px;
}

.workshop-premium-program-item {
    display: grid;
    grid-template-columns: 76px 30px minmax(0,1fr);
    gap: 16px;
    min-height: 88px;
    padding: 0 0 22px;
}

.workshop-premium-program-item:last-child {
    min-height: auto;
    padding-bottom: 0;
}

.workshop-premium-time {
    padding-top: 4px;
    text-align: right;
}

.workshop-premium-time strong,
.workshop-premium-time span {
    display: block;
}

.workshop-premium-time strong {
    color: var(--vw-text-strong);
    font-family: "Montserrat", system-ui, sans-serif;
    font-size: 15px;
}

.workshop-premium-time span {
    margin-top: 3px;
    color: var(--vw-muted);
    font-size: 8px;
}

.workshop-premium-program-marker {
    position: relative;
    display: flex;
    justify-content: center;
}

.workshop-premium-program-marker::after {
    content: "";
    position: absolute;
    top: 15px;
    bottom: -10px;
    width: 1px;
    background: var(--vw-border);
}

.workshop-premium-program-item:last-child .workshop-premium-program-marker::after {
    display: none;
}

.workshop-premium-program-marker span {
    position: relative;
    z-index: 1;
    width: 12px;
    height: 12px;
    margin-top: 7px;
    border: 3px solid var(--vw-surface);
    border-radius: 50%;
    background: linear-gradient(135deg,var(--vw-green),var(--vw-blue));
    box-shadow: 0 0 0 3px rgba(31,166,199,.12);
}

.workshop-premium-program-body {
    padding: 0 0 22px;
    border-bottom: 1px solid var(--vw-border);
}

.workshop-premium-program-item:last-child .workshop-premium-program-body {
    padding-bottom: 0;
    border-bottom: 0;
}

.workshop-premium-program-body h3 {
    margin: 0 0 6px;
    color: var(--vw-text-strong) !important;
    font-size: 14px;
    line-height: 1.35;
}

.workshop-premium-program-body > p {
    max-width: 760px;
    margin: 0;
    color: var(--vw-text-soft) !important;
    font-size: 12.5px;
    line-height: 1.62;
}

.workshop-premium-program-speakers {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 10px;
}

.workshop-premium-program-speakers > span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 28px;
    padding: 4px 9px 4px 5px;
    border: 1px solid var(--vw-border);
    border-radius: 999px;
    background: var(--vw-surface-soft);
}

.workshop-premium-program-speakers img {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    object-fit: cover;
}

.workshop-premium-program-speakers strong {
    color: var(--vw-text-strong);
    font-size: 9px;
}

.workshop-premium-empty {
    padding: 24px;
    border: 1px dashed var(--vw-border-strong);
    border-radius: 15px;
    background: var(--vw-surface-soft);
}

.workshop-premium-empty strong {
    color: var(--vw-text-strong);
}

.workshop-premium-empty p {
    margin: 5px 0 0;
    color: var(--vw-text-soft) !important;
    font-size: 12px;
}

.workshop-premium-speakers {
    margin-top: 38px;
}

.workshop-premium-speakers .workshop-premium-section-head {
    margin-bottom: 18px;
}

.workshop-premium-speakers-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 16px;
}

.workshop-premium-speaker-card {
    display: grid;
    grid-template-columns: 96px minmax(0,1fr);
    gap: 17px;
    min-height: 168px;
    padding: 17px;
    border: 1px solid var(--vw-border);
    border-radius: 18px;
    background: var(--vw-surface);
    box-shadow: var(--vw-shadow-sm);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.workshop-premium-speaker-card:hover {
    transform: translateY(-2px);
    border-color: var(--vw-border-strong);
    box-shadow: var(--vw-shadow);
}

.workshop-premium-speaker-card > img,
.workshop-premium-speaker-avatar {
    width: 96px;
    height: 116px;
    border-radius: 14px;
    object-fit: cover;
    background: var(--vw-surface-strong);
}

.workshop-premium-speaker-avatar {
    display: grid;
    place-items: center;
    color: var(--vw-blue);
    font-family: "Montserrat", system-ui, sans-serif;
    font-size: 31px;
    font-weight: 800;
}

.workshop-premium-speaker-copy h3 {
    margin: 3px 0 4px;
    color: var(--vw-text-strong) !important;
    font-size: 14px;
    line-height: 1.3;
}

.workshop-premium-speaker-copy > strong {
    display: block;
    color: var(--vw-green);
    font-size: 10px;
}

.workshop-premium-speaker-copy p {
    margin: 8px 0 0;
    color: var(--vw-text-soft) !important;
    font-size: 10px;
    line-height: 1.55;
}

.workshop-premium-final-cta {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0,1.1fr) minmax(0,1fr) auto;
    gap: 28px;
    align-items: center;
    margin-top: 42px;
    padding: 30px 32px;
    overflow: hidden;
    border-radius: 21px;
}

.workshop-premium-final-cta::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: var(--vw-gradient);
}

.workshop-premium-final-copy h2 {
    margin: 6px 0 7px;
    font-size: 27px;
}

.workshop-premium-final-copy p {
    margin: 0;
    color: var(--vw-text-soft) !important;
    font-size: 11px;
    line-height: 1.55;
}

.workshop-premium-final-facts {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 13px;
}

.workshop-premium-final-facts small,
.workshop-premium-final-facts strong {
    display: block;
}

.workshop-premium-final-facts small {
    margin-bottom: 4px;
    color: var(--vw-muted);
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .08em;
}

.workshop-premium-final-facts strong {
    color: var(--vw-text-strong);
    font-size: 11.5px;
    line-height: 1.45;
}

.workshop-premium-final-button {
    min-width: 180px;
    justify-content: center;
    white-space: nowrap;
}

.workshop-premium-confirmation {
    max-width: 860px;
    margin: 15px auto 0;
    color: var(--vw-muted) !important;
    font-size: 9px;
    line-height: 1.55;
    text-align: center;
}

html[data-vw-theme="dark"] .workshop-premium-kicker {
    border-color: rgba(37,181,106,.28);
    background: rgba(37,181,106,.12);
    color: #7DDFB1;
}

html[data-vw-theme="dark"] .workshop-premium-highlight > span {
    color: #79C3FF;
}

html[data-vw-theme="dark"] .workshop-premium-offer,
html[data-vw-theme="dark"] .workshop-premium-cohort,
html[data-vw-theme="dark"] .workshop-premium-about-copy,
html[data-vw-theme="dark"] .workshop-premium-about-side,
html[data-vw-theme="dark"] .workshop-premium-program,
html[data-vw-theme="dark"] .workshop-premium-speaker-card,
html[data-vw-theme="dark"] .workshop-premium-final-cta {
    box-shadow: 0 18px 46px rgba(0,0,0,.2);
}

@media (max-width: 1050px) {
    .workshop-premium-grid {
        grid-template-columns: minmax(0,1fr) minmax(340px,.8fr);
        gap: 34px;
    }

    .workshop-premium-speakers-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .workshop-premium-final-cta {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .workshop-premium-final-button {
        width: fit-content;
    }
}

@media (max-width: 820px) {
    .workshop-premium-hero {
        padding: 34px 0 38px;
    }

    .workshop-premium-grid,
    .workshop-premium-about {
        grid-template-columns: 1fr;
    }

    .workshop-premium-grid {
        gap: 26px;
    }

    .workshop-premium-copy h1 {
        font-size: clamp(39px,10.5vw,56px);
    }

    .workshop-premium-offer {
        max-width: 680px;
    }

    .workshop-premium-content {
        padding-top: 36px;
    }

    .workshop-premium-program {
        padding: 28px 24px;
    }
}

@media (max-width: 620px) {
    .workshop-premium-copy h1 {
        margin-top: 13px;
        font-size: clamp(36px,11.5vw,48px);
    }

    .workshop-premium-lead {
        font-size: 14px;
    }

    .workshop-premium-tags {
        display: grid;
        grid-template-columns: 1fr;
    }

    .workshop-premium-tags span {
        width: 100%;
    }

    .workshop-premium-cohort-head {
        display: block;
    }

    .workshop-premium-cohort-count {
        margin-top: 10px;
        text-align: left;
    }

    .workshop-premium-offer {
        border-radius: 18px;
    }

    .workshop-premium-offer-body,
    .workshop-premium-about-copy,
    .workshop-premium-about-side,
    .workshop-premium-program {
        padding: 20px;
    }

    .workshop-premium-offer-meta {
        grid-template-columns: 1fr;
    }

    .workshop-premium-section-head {
        display: block;
    }

    .workshop-premium-date-chip {
        width: fit-content;
        margin-top: 14px;
        text-align: left;
    }

    .workshop-premium-program-item {
        grid-template-columns: 54px 20px minmax(0,1fr);
        gap: 10px;
    }

    .workshop-premium-time strong {
        font-size: 13px;
    }

    .workshop-premium-program-marker span {
        width: 10px;
        height: 10px;
    }

    .workshop-premium-speakers-grid {
        grid-template-columns: 1fr;
    }

    .workshop-premium-speaker-card {
        grid-template-columns: 82px minmax(0,1fr);
    }

    .workshop-premium-speaker-card > img,
    .workshop-premium-speaker-avatar {
        width: 82px;
        height: 100px;
    }

    .workshop-premium-final-cta {
        padding: 24px 20px;
    }

    .workshop-premium-final-facts {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .workshop-premium-final-button {
        width: 100%;
    }
}


/* ---------- POLIMENTO WORKSHOP — v1.5.1 ---------- */
.workshop-premium-program {
    padding: 38px 40px;
}

.workshop-premium-timeline {
    max-width: 1040px;
}

.workshop-premium-program-item {
    grid-template-columns: 82px 30px minmax(0,1fr);
    gap: 18px;
    min-height: 92px;
}

.workshop-premium-time strong {
    font-size: 16px;
}

.workshop-premium-program-body > p {
    max-width: 820px;
}

.workshop-premium-program-speakers > span {
    min-height: 30px;
    padding: 5px 10px 5px 5px;
}

.workshop-premium-program-speakers img {
    width: 22px;
    height: 22px;
}

.workshop-premium-speaker-card {
    align-items: start;
}

.workshop-premium-speaker-copy {
    min-width: 0;
}

.workshop-premium-speaker-copy h3 {
    font-size: 14.5px;
}

.workshop-premium-final-facts {
    gap: 16px;
}

.workshop-premium-final-facts > div {
    min-width: 0;
}

.workshop-premium-final-facts strong {
    overflow-wrap: anywhere;
}

@media (max-width: 1050px) {
    .workshop-premium-grid {
        grid-template-columns: minmax(0,.95fr) minmax(360px,1.05fr);
    }
}

@media (max-width: 820px) {
    .workshop-premium-grid {
        grid-template-columns: 1fr;
    }

    .workshop-premium-copy h1 {
        max-width: 680px;
    }

    .workshop-premium-program {
        padding: 30px 26px;
    }
}

@media (max-width: 620px) {
    .workshop-premium-program {
        padding: 20px 18px;
    }

    .workshop-premium-program-item {
        grid-template-columns: 58px 18px minmax(0,1fr);
        gap: 9px;
        min-height: 88px;
    }

    .workshop-premium-time {
        padding-top: 2px;
        text-align: left;
    }

    .workshop-premium-time strong {
        font-size: 14px;
    }

    .workshop-premium-time span {
        font-size: 8px;
    }

    .workshop-premium-program-body h3 {
        font-size: 14px;
    }

    .workshop-premium-program-body > p {
        font-size: 11.5px;
        line-height: 1.6;
    }

    .workshop-premium-program-speakers {
        gap: 6px;
    }

    .workshop-premium-program-speakers > span {
        max-width: 100%;
        border-radius: 10px;
    }

    .workshop-premium-program-speakers strong {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .workshop-premium-speaker-card {
        min-height: 132px;
    }

    .workshop-premium-speaker-copy p {
        -webkit-line-clamp: 3;
    }

    .workshop-premium-final-facts small {
        font-size: 8px;
    }

    .workshop-premium-final-facts strong {
        font-size: 12px;
    }
}


/* ---------- POLIMENTO FINAL WORKSHOP — v1.5.1b ---------- */
.workshop-premium-program-body h3 {
    font-size: 15.5px;
}

.workshop-premium-program-speakers strong {
    font-size: 10.5px;
}

.workshop-premium-speaker-copy p {
    display: -webkit-box;
    overflow: hidden;
    margin-top: 8px;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    font-size: 11px;
    line-height: 1.55;
}

.workshop-premium-speaker-copy > strong {
    font-size: 10.5px;
}

.workshop-premium-speaker-card > img,
.workshop-premium-speaker-avatar {
    height: 120px;
}

.workshop-premium-final-copy p {
    font-size: 12px;
}

.workshop-premium-confirmation {
    font-size: 10px;
}

@media (max-width: 620px) {
    .workshop-premium-program-body h3 {
        font-size: 14.5px;
    }

    .workshop-premium-program-speakers strong {
        font-size: 10px;
    }

    .workshop-premium-speaker-copy p {
        -webkit-line-clamp: 3;
        font-size: 10.5px;
    }
}
