/**
 * Tema Hotcursos 2.0 — Dark Premium Hot
 * Inspirado no template HotCursos.info: fundo preto profundo (#060606),
 * paleta laranja/vermelho fogo, grid overlay, energy ring + sparks no hero,
 * cards com glow alaranjado, tipografia agressiva (peso 950, letter-spacing negativo).
 * Fonte: Inter (consistente com os outros temas premium).
 */

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

:root {
    --sc-primary: #ff7a00;
    --sc-primary-dark: #ff2f16;
    --sc-price: #ff7a00;
    --sc-bg: #060606;
    --sc-card-bg: rgba(255, 255, 255, 0.055);
    --sc-text: #f8f8f8;
    --sc-text-light: #a7a7a7;
    --sc-border: rgba(255, 255, 255, 0.12);
    --sc-bg-soft: #111111;
    --sc-orange: #ff7a00;
    --sc-pink: #ff2f16;
    --sc-purple: #ff2f16;
    --sc-blue: #ffc400;
    --sc-gold: #ff7a00;
    --sc-gold-dark: #ff2f16;
    --sc-silver: #ffd6c2;
    --sc-silver-dark: #ff8a3d;
    --sc-yellow: #ffc400;
    --sc-green: #22c55e;
    --sc-line-hot: rgba(255, 106, 0, 0.38);
    --sc-gradient: linear-gradient(135deg, #ff7a00 0%, #ff4d2d 50%, #ff2f16 100%);
    --sc-gradient-silver: linear-gradient(90deg, #ffffff 0%, #d9d9d9 55%, #8d8d8d 100%);
    --sc-shadow: 0 20px 70px rgba(255, 65, 20, 0.22);
    --sc-radius: 18px;
    --sc-font: 'Inter', system-ui, -apple-system, sans-serif;
}

/* Safety global: o hero usa width:100vw, e se a JS de --sc-scrollbar-w nao
   executou ainda, podemos ter overflow horizontal de ~17px. Clip em html
   evita que isso vire scroll horizontal. */
html {
    overflow-x: clip;
}

body.single-cursos,
body.post-type-archive-cursos,
body.tax-categoria_curso,
body.single-review_curso,
body.post-type-archive-review_curso,
body.sync-cursos-page {
    background:
        radial-gradient(circle at 50% -10%, rgba(255, 122, 0, 0.18), transparent 26%),
        radial-gradient(circle at 8% 35%, rgba(255, 47, 22, 0.10), transparent 20%),
        radial-gradient(circle at 92% 35%, rgba(255, 122, 0, 0.10), transparent 22%),
        var(--sc-bg);
    color: var(--sc-text);
    font-family: var(--sc-font);
    font-size: 16px;
    line-height: 1.5;
    min-height: 100vh;
    position: relative;
    overflow-x: clip;
}

/* Grid overlay sutil no fundo (44px), igual ao template HotCursos.info */
body.single-cursos::before,
body.post-type-archive-cursos::before,
body.tax-categoria_curso::before,
body.single-review_curso::before,
body.post-type-archive-review_curso::before,
body.sync-cursos-page::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
    background-size: 44px 44px;
    opacity: 0.11;
    -webkit-mask-image: radial-gradient(circle at top, black, transparent 72%);
            mask-image: radial-gradient(circle at top, black, transparent 72%);
    z-index: 0;
}

.sc-single,
.sc-archive {
    font-family: var(--sc-font);
    color: var(--sc-text);
}

.sc-single h1,
.sc-single h2,
.sc-single h3,
.sc-archive h1,
.sc-archive h2,
.sc-archive h3 {
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: 1.05;
    color: var(--sc-text);
    margin: 0;
}

.gradient-text {
    background: var(--sc-gradient);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}

/* ========== HERO ========== */
.sc-hero {
    position: relative;
    padding: 64px 0 48px;
    overflow: hidden;
    background: transparent;
}

.sc-hero-img {
    display: none;
}

.sc-hero-content {
    width: min(calc(100% - 32px), 1320px);
    margin: 0 auto;
    position: relative;
    z-index: 2;
}

.sc-hero-cats {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 24px;
}

.sc-hero-cats .sc-tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border-radius: 999px;
    border: 1px solid var(--sc-border);
    background: rgba(255, 255, 255, 0.03);
    color: #d6dcef;
    font-size: 0.92rem;
    text-decoration: none;
    transition: background 200ms ease;
}

.sc-hero-cats .sc-tag::before {
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--sc-gradient);
    flex-shrink: 0;
}

.sc-hero-cats .sc-tag:hover {
    background: rgba(255, 255, 255, 0.08);
}

.sc-hero h1 {
    font-size: clamp(2.2rem, 5vw, 4rem);
    margin: 0;
    letter-spacing: -0.04em;
    word-break: break-word;
}

/* ========== CONTAINER E BREADCRUMBS ========== */
.sc-container {
    width: min(calc(100% - 32px), 1320px);
    margin: 0 auto;
}

.sc-breadcrumbs {
    padding: 24px 0;
    font-size: 0.88rem;
    color: var(--sc-text-light);
}

.sc-breadcrumbs a {
    color: var(--sc-text-light);
    text-decoration: none;
    transition: color 150ms ease;
}

.sc-breadcrumbs a:hover {
    color: var(--sc-text);
}

.sc-breadcrumbs .sc-sep {
    margin: 0 10px;
    color: rgba(255, 255, 255, 0.3);
}

/* ========== LAYOUT 2 COLUNAS ========== */
.sc-single-layout {
    width: min(calc(100% - 32px), 1320px);
    margin: 0 auto;
    padding: 16px 0 72px;
    display: grid;
    grid-template-columns: 1fr 420px;
    gap: 36px;
    align-items: start;
}

.sc-single-main {
    min-width: 0;
}

/* ========== VIDEO EMBED ========== */
.sc-embed-wrapper,
.sync-cursos-embed-wrapper {
    position: relative;
    aspect-ratio: 16/9;
    border-radius: 22px;
    background: var(--sc-bg-soft);
    margin-bottom: 32px;
    overflow: hidden;
    border: 1px solid var(--sc-border);
    box-shadow: var(--sc-shadow);
}

.sc-embed-wrapper iframe,
.sync-cursos-embed-wrapper iframe {
    width: 100%;
    height: 100%;
    border: 0;
}

/* ========== CONTEUDO ========== */
.sc-content {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.02));
    border: 1px solid var(--sc-border);
    border-radius: var(--sc-radius);
    padding: 32px;
    box-shadow: var(--sc-shadow);
}

.sc-content h2 {
    font-size: clamp(1.4rem, 2.5vw, 1.8rem);
    margin: 28px 0 14px;
}

.sc-content h2:first-child {
    margin-top: 0;
}

.sc-content h3 {
    font-size: 1.15rem;
    margin: 20px 0 10px;
    color: var(--sc-text);
}

.sc-content p {
    margin: 0 0 14px;
    color: var(--sc-text-light);
    font-size: 1rem;
    line-height: 1.7;
}

.sc-content ul,
.sc-content ol {
    padding-left: 20px;
    margin: 0 0 14px;
    color: var(--sc-text-light);
}

.sc-content li {
    margin-bottom: 6px;
}

.sc-content strong {
    color: var(--sc-text);
    font-weight: 700;
}

.sc-content a {
    color: var(--sc-pink);
    text-decoration: none;
    font-weight: 600;
    border-bottom: 1px solid transparent;
    transition: border-color 200ms ease;
}

.sc-content a:hover {
    border-bottom-color: var(--sc-pink);
}

/* ========== INFO ADICIONAL ========== */
.sc-info-adicional {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    background: var(--sc-card-bg);
    border: 1px solid var(--sc-border);
    border-radius: var(--sc-radius);
    padding: 24px;
    margin: 32px 0;
}

.sc-info-adicional p {
    margin: 0;
    font-size: 0.95rem;
    color: var(--sc-text);
}

.sc-info-adicional p strong {
    display: block;
    font-size: 0.75rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--sc-text-light);
    margin-bottom: 4px;
    font-weight: 600;
}

/* ========== MODULOS ========== */
.sc-modulos {
    margin-top: 40px;
    padding-top: 32px;
    border-top: 1px solid var(--sc-border);
}

.sc-modulos > h2 {
    font-size: clamp(1.6rem, 3vw, 2.2rem);
    margin-bottom: 24px;
}

.sc-modulos-list {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.sc-modulo-item {
    display: flex;
    gap: 18px;
    padding: 20px;
    background: var(--sc-card-bg);
    border: 1px solid var(--sc-border);
    border-radius: var(--sc-radius);
    transition: all 250ms ease;
}

.sc-modulo-item:hover {
    transform: translateY(-3px);
    border-color: rgba(255, 255, 255, 0.18);
    box-shadow: 0 12px 32px rgba(255, 122, 0, 0.12);
}

.sc-modulo-numero {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    background: var(--sc-gradient);
    color: #140e02;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    font-size: 1.1rem;
    flex-shrink: 0;
    box-shadow: 0 8px 20px rgba(255, 122, 0, 0.25);
}

.sc-modulo-info {
    min-width: 0;
}

.sc-modulo-info h3 {
    font-size: 1.2rem;
    font-weight: 700;
    margin: 0 0 6px;
    line-height: 1.2;
    overflow-wrap: break-word;
}

.sc-modulo-info p {
    color: var(--sc-text-light);
    font-size: 0.92rem;
    margin: 0 0 8px;
    line-height: 1.5;
}

.sc-modulo-info span {
    display: inline-block;
    font-size: 0.75rem;
    padding: 4px 10px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.06);
    color: #dbe5ff;
    font-weight: 600;
    letter-spacing: 0.05em;
}

.sc-modulo-item details {
    margin-top: 12px !important;
    margin-left: 66px !important;
}

.sc-modulo-item details summary {
    cursor: pointer;
    font-size: 0.85rem !important;
    color: var(--sc-pink) !important;
    font-weight: 700 !important;
    padding: 6px 0;
    display: inline-block;
}

.sc-modulo-item details summary:hover {
    color: var(--sc-orange) !important;
}

.sc-modulo-item details ul {
    margin: 10px 0 0 !important;
    padding: 0 !important;
    list-style: none !important;
    font-size: 0.88rem !important;
    color: var(--sc-text-light) !important;
}

.sc-modulo-item details ul li {
    padding: 8px 0 !important;
    border-bottom: 1px solid var(--sc-border) !important;
    overflow-wrap: anywhere;
    word-break: break-word;
}

/* ========== SIDEBAR ========== */
.sc-sidebar {
    position: sticky;
    top: 100px;
    height: fit-content;
}

.sc-sidebar-card {
    position: relative;
    border-radius: 28px;
    padding: 28px;
    background:
        radial-gradient(circle at top left, rgba(255, 122, 0, 0.18), transparent 45%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.03));
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: var(--sc-shadow);
}

.sc-preco {
    display: flex;
    flex-direction: column;
    margin-bottom: 22px;
    padding-bottom: 22px;
    border-bottom: 1px solid var(--sc-border);
    font-weight: 800;
    font-size: 2.4rem;
    color: var(--sc-price);
    letter-spacing: -0.02em;
    line-height: 1;
}

.sc-preco-label {
    font-size: 0.82rem;
    font-weight: 500;
    color: var(--sc-text-light);
    margin-bottom: 8px;
    letter-spacing: 0.02em;
}

.sc-btn-whatsapp {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    padding: 16px 22px;
    border-radius: 14px;
    font-weight: 900;
    background: var(--sc-gradient);
    color: #140e02 !important;
    text-decoration: none !important;
    box-shadow: 0 10px 30px rgba(255, 122, 0, 0.25);
    transition: transform 250ms ease;
    font-size: 1rem;
    line-height: 1.2;
    box-sizing: border-box;
    border: 0;
    cursor: pointer;
    letter-spacing: 0.02em;
}

.sc-btn-whatsapp:hover {
    transform: translateY(-2px) scale(1.01);
}

.sc-btn-whatsapp svg {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}

.sc-sidebar-info {
    margin-top: 22px;
    padding-top: 22px;
    border-top: 1px solid var(--sc-border);
}

.sc-sidebar-info h4 {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--sc-text-light);
    margin: 0 0 12px;
}

.sc-sidebar-info .sc-tag {
    display: inline-block;
    margin: 0 6px 8px 0;
    padding: 6px 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.06);
    color: #dbe5ff;
    font-size: 0.82rem;
    text-decoration: none;
    font-weight: 500;
    transition: background 200ms ease;
}

.sc-sidebar-info .sc-tag:hover {
    background: rgba(255, 255, 255, 0.12);
}

/* ========== RELACIONADOS ========== */
.sc-relacionados {
    width: min(calc(100% - 32px), 1320px);
    margin: 0 auto;
    padding: 36px 0 72px;
}

.sc-relacionados > h2 {
    font-size: clamp(1.8rem, 3vw, 2.4rem);
    margin-bottom: 24px;
    letter-spacing: -0.03em;
}

.sc-relacionados-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 18px;
    justify-content: center;
}

/* ========== CARDS, ARCHIVE, FILTERS, GRID, PAGINATION ==========
   Removidos do tema-base. As regras especificas do Hotcursos 2.0
   estao definidas mais abaixo (secao "LOJA - layout 2 colunas").
============================================================ */

/* ========== FAB MOBILE ========== */
.sc-fab-whatsapp {
    position: fixed;
    bottom: 24px;
    right: 24px;
    width: 56px;
    height: 56px;
    background: var(--sc-gradient);
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 10px 30px rgba(255, 122, 0, 0.35);
    z-index: 50;
    text-decoration: none;
    transition: transform 200ms ease;
}

.sc-fab-whatsapp:hover {
    transform: scale(1.1);
}

/* ========== HIDE THEME HEADER/FOOTER EM PAGINAS DO PLUGIN ========== */
body.single-cursos .wp-site-blocks > header,
body.single-cursos .wp-site-blocks > .wp-block-template-part:first-child,
body.post-type-archive-cursos .wp-site-blocks > header,
body.post-type-archive-cursos .wp-site-blocks > .wp-block-template-part:first-child,
body.tax-categoria_curso .wp-site-blocks > header,
body.tax-categoria_curso .wp-site-blocks > .wp-block-template-part:first-child,
body.single-review_curso .wp-site-blocks > header,
body.single-review_curso .wp-site-blocks > .wp-block-template-part:first-child,
body.post-type-archive-review_curso .wp-site-blocks > header,
body.post-type-archive-review_curso .wp-site-blocks > .wp-block-template-part:first-child,
body.sync-cursos-page .wp-site-blocks > header,
body.sync-cursos-page .wp-site-blocks > .wp-block-template-part:first-child { display: none !important; }

body.single-cursos .wp-site-blocks > footer,
body.single-cursos .wp-site-blocks > .wp-block-template-part:last-child,
body.post-type-archive-cursos .wp-site-blocks > footer,
body.post-type-archive-cursos .wp-site-blocks > .wp-block-template-part:last-child,
body.tax-categoria_curso .wp-site-blocks > footer,
body.tax-categoria_curso .wp-site-blocks > .wp-block-template-part:last-child,
body.single-review_curso .wp-site-blocks > footer,
body.single-review_curso .wp-site-blocks > .wp-block-template-part:last-child,
body.post-type-archive-review_curso .wp-site-blocks > footer,
body.post-type-archive-review_curso .wp-site-blocks > .wp-block-template-part:last-child,
body.sync-cursos-page .wp-site-blocks > footer,
body.sync-cursos-page .wp-site-blocks > .wp-block-template-part:last-child { display: none !important; }

/* ========== NAVEGACAO ========== */
.sc-nav {
    position: sticky;
    top: 0;
    z-index: 100;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    background: rgba(8, 11, 20, 0.72);
    border-bottom: 1px solid var(--sc-border);
}

.sc-nav-inner {
    width: min(calc(100% - 32px), 1320px);
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 0;
    gap: 18px;
}

.sc-nav-logo {
    display: flex;
    align-items: center;
    gap: 12px;
    font-weight: 800;
    font-size: 1.1rem;
    text-decoration: none;
    color: var(--sc-text);
}

.sc-nav-logo-img {
    height: 42px;
    width: auto;
}

.sc-nav-logo-text {
    font-size: 1.1rem;
    font-weight: 800;
    color: var(--sc-text);
}

/* Badge gradient antes do logo texto se nao tiver imagem */
.sc-nav-logo:not(:has(.sc-nav-logo-img))::before {
    content: '';
    width: 42px;
    height: 42px;
    border-radius: 14px;
    background: var(--sc-gradient);
    box-shadow: 0 10px 30px rgba(255, 122, 0, 0.28);
    flex-shrink: 0;
}

.sc-nav-links {
    display: flex;
    gap: 24px;
    align-items: center;
}

.sc-nav-link {
    color: var(--sc-text-light);
    font-size: 0.95rem;
    text-decoration: none;
    transition: color 200ms ease;
}

.sc-nav-link:hover {
    color: var(--sc-text);
}

.sc-nav-cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 22px;
    border-radius: 14px;
    font-weight: 900;
    background: var(--sc-gradient);
    color: #140e02;
    text-decoration: none;
    box-shadow: 0 10px 30px rgba(255, 122, 0, 0.25);
    transition: transform 200ms ease;
    margin-left: 8px;
    letter-spacing: 0.02em;
}

.sc-nav-cta:hover {
    transform: translateY(-2px) scale(1.01);
    color: #140e02;
}

.sc-nav-toggle {
    display: none;
    background: none;
    border: 0;
    cursor: pointer;
    padding: 8px;
    flex-direction: column;
    gap: 4px;
}

.sc-nav-toggle span {
    display: block;
    width: 24px;
    height: 2px;
    background: var(--sc-text);
    border-radius: 2px;
    transition: all 0.2s;
}

/* ========== FOOTER ========== */
.sc-footer {
    padding: 48px 0 40px;
    border-top: 1px solid var(--sc-border);
    color: var(--sc-text-light);
    margin-top: 0;
    background: transparent;
    font-family: var(--sc-font);
}

.sc-footer-inner {
    width: min(calc(100% - 32px), 1320px);
    margin: 0 auto;
}

.sc-footer-top {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    gap: 40px;
    padding-bottom: 32px;
}

.sc-footer-logo {
    font-size: 1.2rem;
    font-weight: 800;
    color: var(--sc-text);
    display: inline-flex;
    align-items: center;
    gap: 12px;
}

.sc-footer-desc {
    font-size: 0.88rem;
    margin-top: 10px;
    color: var(--sc-text-light);
    max-width: 320px;
    line-height: 1.6;
}

.sc-footer-links h4 {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--sc-text);
    margin-bottom: 14px;
}

.sc-footer-links ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.sc-footer-links li {
    margin-bottom: 8px;
}

.sc-footer-links a {
    color: var(--sc-text-light);
    text-decoration: none;
    font-size: 0.88rem;
    transition: color 150ms ease;
}

.sc-footer-links a:hover {
    color: var(--sc-text);
}

.sc-footer-bottom {
    border-top: 1px solid var(--sc-border);
    padding: 20px 0 0;
    font-size: 0.8rem;
    text-align: center;
    color: rgba(255, 255, 255, 0.4);
}

/* ========== PAGINAS GERADAS (shortcodes, homepage) ========== */
.sc-page {
    font-family: var(--sc-font);
    color: var(--sc-text);
}

.sc-page-hero {
    padding: 84px 0 56px;
    width: min(calc(100% - 32px), 1320px);
    margin: 0 auto;
    text-align: left;
    position: relative;
    overflow: hidden;
}

.sc-page-hero h1 {
    color: var(--sc-text);
    font-size: clamp(2.5rem, 5vw, 4.7rem);
    font-weight: 800;
    line-height: 0.98;
    letter-spacing: -0.04em;
    margin: 0 0 18px;
}

.sc-page-hero p {
    color: var(--sc-text-light);
    font-size: 1.08rem;
    line-height: 1.5;
    margin: 0 0 28px;
    max-width: 640px;
}

.sc-page-section {
    padding: 36px 0 72px;
    width: min(calc(100% - 32px), 1320px);
    margin: 0 auto;
}

.sc-page-section-alt {
    background: transparent;
    max-width: none;
    width: 100%;
    margin: 0;
    padding: 36px 0 72px;
    box-sizing: border-box;
}

.sc-page-section-alt > * {
    width: min(calc(100% - 32px), 1320px);
    margin-left: auto !important;
    margin-right: auto !important;
}

.sc-page-section-title {
    text-align: left;
    font-size: clamp(1.8rem, 3vw, 2.7rem);
    font-weight: 800;
    letter-spacing: -0.03em;
    margin-bottom: 32px;
    color: var(--sc-text);
}

.sc-page-steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.sc-page-step {
    text-align: left;
    padding: 28px;
    background: var(--sc-card-bg);
    border: 1px solid var(--sc-border);
    border-radius: var(--sc-radius);
    transition: all 250ms ease;
}

.sc-page-step:hover {
    transform: translateY(-5px);
    border-color: rgba(255, 255, 255, 0.14);
}

.sc-page-step-num {
    width: 52px;
    height: 52px;
    border-radius: 16px;
    background: var(--sc-gradient);
    color: #140e02;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    font-size: 1.2rem;
    margin: 0 0 16px;
    box-shadow: 0 8px 20px rgba(255, 122, 0, 0.25);
}

.sc-page-step h3 {
    font-size: 1.2rem;
    font-weight: 700;
    margin: 0 0 8px;
    color: var(--sc-text);
}

.sc-page-step p {
    font-size: 0.95rem;
    line-height: 1.6;
    color: var(--sc-text-light);
    margin: 0;
}

.sc-page-cats {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 10px;
}

.sc-page-cta {
    padding: 40px;
    border-radius: 28px;
    background: linear-gradient(135deg, rgba(255, 122, 24, 0.18), rgba(255, 122, 0, 0.16), rgba(37, 117, 252, 0.16));
    border: 1px solid rgba(255, 255, 255, 0.1);
    margin: 40px auto;
    width: min(calc(100% - 32px), 1320px);
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
    text-align: left;
}

.sc-page-cta h2 {
    color: var(--sc-text);
    font-size: clamp(1.5rem, 2.8vw, 2rem);
    margin: 0 0 10px;
    font-weight: 800;
}

.sc-page-cta p {
    color: var(--sc-text-light);
    font-size: 1rem;
    margin: 0;
    max-width: 640px;
}

.sc-page-cta .sc-btn-whatsapp {
    display: inline-flex;
    width: auto;
}

.sc-page-faq {
    max-width: 800px;
    margin: 0 auto;
}

.sc-page-faq-item {
    padding: 24px;
    margin-bottom: 12px;
    background: var(--sc-card-bg);
    border: 1px solid var(--sc-border);
    border-radius: var(--sc-radius);
}

.sc-page-faq-item h3 {
    font-size: 1.1rem;
    font-weight: 700;
    margin: 0 0 8px;
    color: var(--sc-text);
}

.sc-page-faq-item p {
    font-size: 0.95rem;
    line-height: 1.6;
    color: var(--sc-text-light);
    margin: 0;
}

/* Paginas legais */
.sc-page-legal-content {
    font-size: 0.95rem;
    line-height: 1.8;
    max-width: 800px;
    margin: 0 auto;
    padding: 0 24px;
    color: var(--sc-text-light);
}

.sc-page-legal-content p {
    margin-bottom: 1em;
}

.sc-page-legal-content h3 {
    font-size: 1.2rem;
    font-weight: 700;
    margin: 2em 0 0.5em;
    color: var(--sc-text);
}

.sc-page-legal-content strong {
    color: var(--sc-text);
    font-weight: 700;
}

.sc-page-legal-content a {
    color: var(--sc-pink);
    text-decoration: underline;
}

/* Aviso global */
.sc-aviso-global {
    margin-top: 24px;
    padding: 16px 20px;
    background: rgba(255, 122, 0, 0.12);
    border: 1px solid rgba(255, 122, 0, 0.4);
    border-radius: var(--sc-radius);
}

.sc-aviso-global p {
    margin: 0;
    font-size: 0.92rem;
    color: #ff7a00;
    font-weight: 500;
}

/* ========== RESPONSIVO ========== */
@media (max-width: 980px) {
    .sc-single-layout {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .sc-sidebar {
        position: static;
    }

    .sc-nav-links {
        display: none;
    }

    .sc-footer-top {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .sc-info-adicional {
        grid-template-columns: 1fr;
    }

    .sc-page-steps {
        grid-template-columns: 1fr;
    }

    .sc-nav-toggle {
        display: flex;
    }
}

@media (max-width: 560px) {
    .sc-hero {
        padding: 48px 0 32px;
    }

    .sc-content {
        padding: 24px;
    }

    .sc-sidebar-card {
        padding: 22px;
    }

    .sc-modulo-item {
        padding: 16px;
    }

    .sc-modulo-item > div:first-child {
        gap: 14px;
    }

    .sc-modulo-numero {
        width: 40px;
        height: 40px;
        font-size: 0.95rem;
    }

    .sc-modulo-item details {
        margin-left: 54px !important;
    }

    .sc-search-form {
        width: 100%;
        margin-left: 0;
    }

    .sc-search-input {
        flex: 1;
        min-width: 0;
    }
}

/* ============================================================
   RESENHAS / REVIEWS (single-review_curso.php)
   Overrides para inline styles com cores claras hardcoded
============================================================ */

.sc-review .sc-hero {
    min-height: 250px;
    padding: 48px 24px;
    position: relative;
}

.sc-review .sc-hero-img {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    inset: 0;
    object-fit: cover;
    opacity: 0.25;
    filter: blur(2px);
    z-index: 0;
}

.sc-review .sc-hero-content {
    position: relative;
    z-index: 2;
}

.sc-review .sc-hero-content h1 {
    font-size: clamp(1.6rem, 3vw, 2.4rem) !important;
    color: var(--sc-text);
}

.sc-review .sc-hero-content p {
    color: var(--sc-text-light) !important;
}

/* Estrelas com gradient-like */
.sc-review .sc-review-stars { display: inline-flex; gap: 3px; }
.sc-review .sc-star { font-size: 1.3em; line-height: 1; }
.sc-review .sc-star-full { color: var(--sc-orange); }
.sc-review .sc-star-half { color: var(--sc-orange); opacity: 0.55; }
.sc-review .sc-star-empty { color: rgba(255, 255, 255, 0.15); }

/* Link para o curso (div com style inline background var(--sc-bg)) */
.sc-review .sc-single-main > div[style*="background:var(--sc-bg"],
.sc-review .sc-single-main > div[style*="background: var(--sc-bg"] {
    background: var(--sc-card-bg) !important;
    border: 1px solid var(--sc-border) !important;
    border-radius: var(--sc-radius) !important;
    padding: 20px !important;
}

.sc-review .sc-single-main > div[style*="background:var(--sc-bg"] p,
.sc-review .sc-single-main > div[style*="background: var(--sc-bg"] p {
    color: var(--sc-text-light) !important;
}

.sc-review .sc-single-main > div[style*="background:var(--sc-bg"] a,
.sc-review .sc-single-main > div[style*="background: var(--sc-bg"] a {
    color: var(--sc-text) !important;
}

.sc-review .sc-single-main > div[style*="background:var(--sc-bg"] span,
.sc-review .sc-single-main > div[style*="background: var(--sc-bg"] span {
    color: var(--sc-pink) !important;
}

/* Pros e Contras — override cores claras (verde #f0fdf4, rosa #fef2f2) */
.sc-review [style*="grid-template-columns:1fr 1fr"] > div[style*="#f0fdf4"],
.sc-review [style*="grid-template-columns: 1fr 1fr"] > div[style*="#f0fdf4"] {
    background: rgba(22, 163, 74, 0.12) !important;
    border: 1px solid rgba(22, 163, 74, 0.35) !important;
    border-radius: var(--sc-radius) !important;
    padding: 22px !important;
}

.sc-review [style*="grid-template-columns:1fr 1fr"] > div[style*="#f0fdf4"] h3,
.sc-review [style*="grid-template-columns: 1fr 1fr"] > div[style*="#f0fdf4"] h3 {
    color: #4ade80 !important;
    font-weight: 700 !important;
    font-size: 1rem !important;
}

.sc-review [style*="grid-template-columns:1fr 1fr"] > div[style*="#f0fdf4"] ul,
.sc-review [style*="grid-template-columns: 1fr 1fr"] > div[style*="#f0fdf4"] ul {
    color: #a7f3d0 !important;
}

.sc-review [style*="grid-template-columns:1fr 1fr"] > div[style*="#fef2f2"],
.sc-review [style*="grid-template-columns: 1fr 1fr"] > div[style*="#fef2f2"] {
    background: rgba(220, 38, 38, 0.12) !important;
    border: 1px solid rgba(220, 38, 38, 0.35) !important;
    border-radius: var(--sc-radius) !important;
    padding: 22px !important;
}

.sc-review [style*="grid-template-columns:1fr 1fr"] > div[style*="#fef2f2"] h3,
.sc-review [style*="grid-template-columns: 1fr 1fr"] > div[style*="#fef2f2"] h3 {
    color: #fca5a5 !important;
    font-weight: 700 !important;
    font-size: 1rem !important;
}

.sc-review [style*="grid-template-columns:1fr 1fr"] > div[style*="#fef2f2"] ul,
.sc-review [style*="grid-template-columns: 1fr 1fr"] > div[style*="#fef2f2"] ul {
    color: #fecaca !important;
}

/* Veredicto — div com border-left primary */
.sc-review div[style*="border-left:4px solid"],
.sc-review div[style*="border-left: 4px solid"] {
    background:
        radial-gradient(circle at top left, rgba(255, 122, 0, 0.12), transparent 50%),
        var(--sc-card-bg) !important;
    border: 1px solid var(--sc-border) !important;
    border-left: 4px solid var(--sc-pink) !important;
    border-radius: var(--sc-radius) !important;
    padding: 28px !important;
}

.sc-review div[style*="border-left:4px solid"] h3,
.sc-review div[style*="border-left: 4px solid"] h3 {
    color: var(--sc-text) !important;
    font-weight: 700 !important;
    font-size: 1.15rem !important;
}

.sc-review div[style*="border-left:4px solid"] p,
.sc-review div[style*="border-left: 4px solid"] p {
    color: var(--sc-text-light) !important;
}

.sc-review div[style*="border-left:4px solid"] span,
.sc-review div[style*="border-left: 4px solid"] span {
    background: var(--sc-gradient) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    color: transparent !important;
}

/* Sidebar da resenha — rating grande em gradient */
.sc-review .sc-sidebar-card div[style*="text-align:center"] div[style*="font-size:2em"],
.sc-review .sc-sidebar-card div[style*="text-align: center"] div[style*="font-size:2em"] {
    background: var(--sc-gradient) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    color: transparent !important;
    font-size: 2.8rem !important;
    font-weight: 800 !important;
    letter-spacing: -0.03em;
}

.sc-review .sc-sidebar-card div[style*="text-align:center"] p,
.sc-review .sc-sidebar-card div[style*="text-align: center"] p {
    color: var(--sc-text-light) !important;
}

.sc-review .sc-sidebar-card a[style*="display:block"],
.sc-review .sc-sidebar-card a[style*="display: block"] {
    color: var(--sc-pink) !important;
}

/* Responsive — grid pros/contras vira 1 coluna */
@media (max-width: 720px) {
    .sc-review [style*="grid-template-columns:1fr 1fr"],
    .sc-review [style*="grid-template-columns: 1fr 1fr"] {
        grid-template-columns: 1fr !important;
    }
}

/* ============================================================
   HOTCURSOS 2.0 — toques dramaticos extras
============================================================ */

/* Logo com glow laranja no nav */
.sc-nav-logo-img {
    box-shadow: 0 0 22px rgba(255, 122, 0, 0.42);
    border-radius: 12px;
    background: #000;
    filter: drop-shadow(0 0 18px rgba(255, 122, 0, 0.35));
}

/* Hero sidebar-card com animacao floatHero */
.sc-sidebar-card {
    animation: scFloatHero 6s ease-in-out infinite;
}

@keyframes scFloatHero {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
}

/* Embed wrapper com glow mais pronunciado */
.sc-embed-wrapper,
.sync-cursos-embed-wrapper {
    box-shadow: 0 20px 60px rgba(255, 122, 0, 0.18);
}

/* Conteudo principal com borda dourada sutil */
.sc-content {
    box-shadow:
        0 20px 60px rgba(255, 122, 0, 0.10),
        inset 0 1px 0 rgba(255, 122, 0, 0.08);
}


/* === Thumb da sidebar do single-curso (v2.3.20) === */
/* aspect-ratio 6:5, max-width 600px, cover e object-position herdados de
   imagens-capa.css (com !important). Mantemos so o que e cosmetico. */
.sc-sidebar-thumb {
    display: block;
    width: 100%;
    background: rgba(0, 0, 0, 0.04);
    border-radius: 10px;
    margin-bottom: 18px;
}


/* ============================================================
   HOTCURSOS 2.0 — HERO ANIMADO (energy ring + sparks + light sweep)
   Usa pseudo-elementos pra nao precisar mexer nos templates PHP.
============================================================ */

/* Hero ganha posicao relative e altura minima pra acomodar a animacao */
.sc-hero {
    min-height: 380px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    isolation: isolate;
}

/* Energy ring rotativo no fundo do hero */
.sc-hero::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: min(820px, 90%);
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    border: 1px solid rgba(255, 122, 0, 0.16);
    box-shadow:
        0 0 80px rgba(255, 80, 20, 0.20),
        inset 0 0 80px rgba(255, 80, 20, 0.08);
    transform: translate(-50%, -50%);
    animation: scRingRotate 18s linear infinite;
    pointer-events: none;
    z-index: 0;
}

/* Padroes de "fagulhas" radiais nos cantos do hero */
.sc-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 16% 32%, rgba(255, 122, 0, 0.55) 0 2px, transparent 3px),
        radial-gradient(circle at 77% 29%, rgba(255, 122, 0, 0.55) 0 2px, transparent 3px),
        radial-gradient(circle at 24% 73%, rgba(255, 47, 22, 0.55) 0 2px, transparent 3px),
        radial-gradient(circle at 84% 68%, rgba(255, 47, 22, 0.55) 0 2px, transparent 3px),
        radial-gradient(circle at 50% 12%, rgba(255, 122, 0, 0.55) 0 2px, transparent 3px);
    filter: blur(0.4px);
    animation: scSparkFloat 5s ease-in-out infinite;
    pointer-events: none;
    z-index: 0;
}

@keyframes scRingRotate {
    to { transform: translate(-50%, -50%) rotate(360deg); }
}

@keyframes scSparkFloat {
    0%, 100% { opacity: 0.35; transform: translateY(0) scale(1); }
    50%      { opacity: 0.95; transform: translateY(-12px) scale(1.4); }
}

/* H1 do hero ganha luz alaranjada animada por baixo (light sweep) */
.sc-hero h1 {
    position: relative;
    z-index: 2;
    font-weight: 950;
    letter-spacing: -0.05em;
}

.sc-hero h1::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -10px;
    width: min(420px, 80%);
    height: 3px;
    background: linear-gradient(90deg, transparent, var(--sc-orange), #fff, var(--sc-pink), transparent);
    box-shadow: 0 0 22px rgba(255, 122, 0, 0.85);
    border-radius: 999px;
    animation: scLightSweep 3.8s ease-in-out infinite;
}

@keyframes scLightSweep {
    0%, 100% { opacity: 0.4; transform: scaleX(0.7); }
    50%      { opacity: 1;   transform: scaleX(1); }
}

/* ============================================================
   HOTCURSOS 2.0 — TIPOGRAFIA AGRESSIVA + BOTOES FOGO
============================================================ */

/* Titulos de secao mais bold e justos (igual home do template) */
.sc-content h2,
.sc-archive h2,
.sc-section-title {
    font-weight: 950;
    letter-spacing: -0.04em;
}

/* Botao primario: gradiente diagonal laranja->vermelho com glow forte */
.sc-btn-whatsapp,
.sc-btn-primary,
.sc-buy-btn {
    background: linear-gradient(135deg, #ff4d2d 0%, #ff7a00 100%);
    border: 1px solid rgba(255, 122, 0, 0.45);
    box-shadow: 0 16px 45px rgba(255, 65, 20, 0.35);
    font-weight: 900;
    letter-spacing: 0.02em;
    transition: transform 200ms ease, box-shadow 200ms ease;
}

.sc-btn-whatsapp:hover,
.sc-btn-primary:hover,
.sc-buy-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 22px 60px rgba(255, 65, 20, 0.55);
}

/* Estrelas em amarelo fogo (igual template HotCursos.info) */
.sc-stars,
.stars,
.sc-rating-stars {
    color: var(--sc-yellow) !important;
    text-shadow: 0 0 12px rgba(255, 196, 0, 0.45);
}

/* ============================================================
   HOTCURSOS 2.0 — CARDS DO ARCHIVE COM HOVER LIFT + GLOW
============================================================ */

.sc-card,
.sc-archive-card,
.sc-curso-card {
    transition: transform 250ms ease, border-color 250ms ease, box-shadow 250ms ease;
}

.sc-card:hover,
.sc-archive-card:hover,
.sc-curso-card:hover {
    transform: translateY(-4px);
    border-color: rgba(255, 122, 0, 0.42);
    box-shadow: 0 22px 55px rgba(255, 65, 20, 0.18);
}

/* ============================================================
   HOTCURSOS 2.0 — SIDEBAR (lista de categorias) com indicador laranja
============================================================ */

.sc-sidebar a:hover,
.sc-sidebar .sc-cat-link:hover,
.sc-sidebar .sc-cat-active {
    color: #fff;
    background: rgba(255, 122, 0, 0.10);
    border-left: 3px solid var(--sc-orange);
    box-shadow: inset 3px 0 0 var(--sc-orange);
}

/* ============================================================
   HOTCURSOS 2.0 — RESPONSIVE: aliviar animacoes em telas pequenas
============================================================ */

@media (max-width: 720px) {
    .sc-hero { min-height: 280px; }
    .sc-hero::before { width: 95%; }
    .sc-hero::after { display: none; }
    .sc-hero h1::after { width: 60%; }
}

/* Respeita preferencia de reducao de movimento */
@media (prefers-reduced-motion: reduce) {
    .sc-hero::before,
    .sc-hero::after,
    .sc-hero h1::after,
    .sc-sidebar-card {
        animation: none !important;
    }
}


/* ============================================================
   HOTCURSOS 2.0 — LOJA (archive-curso) layout 2 colunas
   Sidebar de categorias estilizada + grid de cards 4 colunas,
   matchando o template HotCursos.info.
============================================================ */

/* Garante que o container usa toda a largura ampla e tem o layout grid */
.sc-archive .sc-container {
    width: min(calc(100% - 32px), 1460px);
    display: grid;
    grid-template-columns: 290px 1fr;
    grid-template-areas:
        "header header"
        "sidebar main";
    gap: 32px;
    padding: 30px 0 70px;
}

.sc-archive-header { grid-area: header; }
.sc-filters         { grid-area: sidebar; }
.sc-grid            { grid-area: main; }
.sc-pagination      { grid-column: 1 / -1; }
.sc-no-results      { grid-column: 1 / -1; }

/* Header da loja: titulo gigante + count discreto */
.sc-archive-header h1 {
    font-size: clamp(28px, 4vw, 46px);
    font-weight: 950;
    letter-spacing: -1.5px;
    margin: 0 0 6px;
}

.sc-archive-header .sc-archive-count {
    color: var(--sc-text-light);
    font-size: 14px;
}

/* ===== SIDEBAR DE CATEGORIAS (.sc-filters virou sidebar) ===== */
.sc-filters {
    position: sticky;
    top: 100px;
    align-self: start;
    max-height: calc(100vh - 120px);
    overflow: auto;
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 22px;
    border: 1px solid var(--sc-border);
    border-radius: 18px;
    background:
        radial-gradient(circle at 15% 0%, rgba(255, 122, 0, 0.14), transparent 30%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.025));
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.32);
    scrollbar-width: thin;
    scrollbar-color: var(--sc-orange) transparent;
}

.sc-filters::-webkit-scrollbar { width: 6px; }
.sc-filters::-webkit-scrollbar-thumb { background: var(--sc-orange); border-radius: 999px; }
.sc-filters::-webkit-scrollbar-track { background: transparent; }

/* Label "Filtrar:" virou titulo "CATEGORIAS" */
.sc-filters-label {
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--sc-orange);
    font-size: 14px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 14px;
    padding: 0;
}

.sc-filters-label::before {
    content: "📚";
    width: 26px;
    height: 26px;
    display: grid;
    place-items: center;
    background: rgba(255, 122, 0, 0.10);
    border: 1px solid rgba(255, 122, 0, 0.30);
    border-radius: 8px;
    font-size: 14px;
}

/* Items de categoria viram linhas verticais com indicador esquerdo */
.sc-filters .sc-tag {
    display: grid;
    grid-template-columns: 28px 1fr auto;
    align-items: center;
    gap: 10px;
    width: 100%;
    min-height: 42px;
    padding: 9px 12px;
    border: 1px solid transparent;
    border-radius: 12px;
    background: transparent;
    color: #efefef;
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
    transition: all 220ms ease;
    text-align: left;
    overflow: hidden;
    position: relative;
}

.sc-filters .sc-tag::before {
    content: "🔥";
    width: 24px;
    height: 24px;
    display: grid;
    place-items: center;
    background: rgba(255, 122, 0, 0.08);
    border: 1px solid rgba(255, 122, 0, 0.18);
    border-radius: 8px;
    color: var(--sc-orange);
    font-size: 12px;
}

.sc-filters .sc-tag:hover,
.sc-filters .sc-tag.active {
    color: white;
    background: rgba(255, 122, 0, 0.08);
    border-color: rgba(255, 122, 0, 0.24);
    transform: translateX(3px);
    box-shadow:
        inset 3px 0 0 var(--sc-orange),
        0 12px 24px rgba(255, 65, 20, 0.08);
}

.sc-filters .sc-tag small {
    color: var(--sc-orange);
    font-size: 11px;
    font-weight: 900;
    background: none;
    padding: 0;
}

/* Form de busca dentro da sidebar */
.sc-filters .sc-search-form {
    display: flex;
    margin-top: 14px;
    gap: 0;
}

.sc-filters .sc-search-input {
    flex: 1;
    min-height: 42px;
    padding: 0 14px;
    background: rgba(0, 0, 0, 0.30);
    border: 1px solid var(--sc-line-hot);
    border-right: 0;
    border-radius: 10px 0 0 10px;
    color: white;
    font-size: 13px;
    outline: 0;
}

.sc-filters .sc-search-input::placeholder { color: var(--sc-text-light); }

.sc-filters .sc-search-btn {
    min-height: 42px;
    padding: 0 14px;
    border: 1px solid var(--sc-line-hot);
    border-left: 0;
    border-radius: 0 10px 10px 0;
    background: linear-gradient(135deg, #ff4d2d, #ff7a00);
    color: white;
    font-weight: 900;
    font-size: 12px;
    cursor: pointer;
    transition: opacity 200ms;
}

.sc-filters .sc-search-btn:hover { opacity: 0.92; }

/* ===== GRID DE CARDS (.sc-grid) — 3 colunas em desktop (cards maiores) ===== */
.sc-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    align-content: start;
}

@media (max-width: 1024px) {
    .sc-archive .sc-container {
        grid-template-columns: 1fr;
        grid-template-areas:
            "header"
            "sidebar"
            "main";
    }
    .sc-filters {
        position: static;
        max-height: none;
    }
    .sc-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 540px) {
    .sc-grid { grid-template-columns: 1fr; }
}

/* ===== CARDS (.sc-card) — visual matchando template HotCursos.info ===== */
.sc-card {
    position: relative;
    overflow: hidden;
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.075), rgba(255, 255, 255, 0.032));
    border: 1px solid var(--sc-border);
    box-shadow: 0 14px 44px rgba(0, 0, 0, 0.25);
    transition: transform 250ms ease, border-color 250ms ease, box-shadow 250ms ease;
}

.sc-card:hover {
    transform: translateY(-4px);
    border-color: rgba(255, 122, 0, 0.42);
    box-shadow: 0 20px 55px rgba(255, 65, 20, 0.18);
}

/* Wrapper da imagem: altura fixa, cantos arredondados, sobreposicao gradient */
.sc-card-img-wrapper {
    position: relative;
    height: 160px;
    margin: 10px 10px 0;
    border-radius: 10px;
    overflow: hidden;
    background: #000;
    display: flex;
    align-items: flex-end;
    padding: 14px;
}

.sc-card-img-wrapper > a {
    position: absolute;
    inset: 0;
    z-index: 1;
}

.sc-card-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: brightness(0.85) contrast(1.05);
    transition: transform 500ms ease, filter 500ms ease;
}

.sc-card:hover .sc-card-img {
    transform: scale(1.08);
    filter: brightness(0.65) blur(1px);
}

.sc-card-img-wrapper::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 20%, rgba(0, 0, 0, 0.88));
    z-index: 1;
    pointer-events: none;
}

/* Categoria badge fica na parte de baixo do banner como overlay */
.sc-card-cat {
    position: relative;
    z-index: 2;
    color: white;
    font-weight: 950;
    font-size: 18px;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: -0.5px;
    text-shadow: 0 3px 18px rgba(0, 0, 0, 0.76);
    background: none;
    padding: 0;
    border: 0;
    margin: 0;
}

.sc-card-no-img {
    position: relative;
    z-index: 2;
    color: var(--sc-text-light);
    font-size: 13px;
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, rgba(255, 122, 0, 0.10), rgba(255, 47, 22, 0.06));
}

.sc-card-body {
    padding: 14px;
    position: relative;
    z-index: 2;
}

.sc-card-body::before {
    content: "🔥 Curso";
    display: block;
    color: #ff8a3d;
    font-size: 11px;
    font-weight: 800;
    margin-bottom: 8px;
    letter-spacing: 0.02em;
}

.sc-card-title {
    margin: 0 0 12px;
    min-height: 48px;
}

.sc-card-title a {
    display: block;
    color: white;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.3;
    text-decoration: none;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    transition: color 200ms;
}

.sc-card-title a:hover { color: var(--sc-orange); }

.sc-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-top: 8px;
}

.sc-card-preco {
    color: var(--sc-orange);
    font-size: 15px;
    font-weight: 900;
}

.sc-card-btn {
    flex: 1;
    text-align: center;
    background: linear-gradient(135deg, #ff4d2d 0%, #ff7a00 100%);
    border: 1px solid rgba(255, 122, 0, 0.30);
    color: white;
    font-size: 12px;
    font-weight: 900;
    padding: 8px 10px;
    border-radius: 6px;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    transition: opacity 200ms, transform 200ms;
}

.sc-card-btn:hover {
    opacity: 0.92;
    transform: translateY(-1px);
}

/* Quando o card NAO tem preco, o botao ocupa o footer todo */
.sc-card-footer:has(> :first-child:empty) .sc-card-btn,
.sc-card-footer > span:empty + .sc-card-btn {
    flex: 1;
}

/* Paginacao no fundo */
.sc-pagination {
    margin-top: 24px;
    text-align: center;
}

.sc-pagination .nav-links { display: inline-flex; gap: 6px; flex-wrap: wrap; }
.sc-pagination a,
.sc-pagination .current {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 38px;
    min-height: 38px;
    padding: 0 12px;
    border-radius: 10px;
    border: 1px solid var(--sc-border);
    background: rgba(255, 255, 255, 0.05);
    color: var(--sc-text);
    text-decoration: none;
    font-weight: 700;
    transition: all 200ms;
}

.sc-pagination a:hover {
    background: rgba(255, 122, 0, 0.10);
    border-color: var(--sc-orange);
    color: white;
}

.sc-pagination .current {
    background: linear-gradient(135deg, #ff4d2d, #ff7a00);
    border-color: var(--sc-orange);
    color: white;
}

/* Mensagem "nenhum curso" estilizada */
.sc-no-results {
    text-align: center;
    padding: 60px 20px;
    border: 1px dashed var(--sc-border);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.025);
}

.sc-no-results h2 {
    font-size: 22px;
    font-weight: 900;
    margin-bottom: 10px;
}

.sc-no-results p { color: var(--sc-text-light); margin-bottom: 16px; }


/* ============================================================
   HOTCURSOS 2.0 — BUY BOX "Comece agora" no single-curso
   Elementos extras renderizados conditionalmente pelo PHP
   (.sc-buy-title, .sc-buy-stars, .sc-buy-desc, .sc-buy-secure).
============================================================ */

.sc-sidebar-card {
    border: 1px solid rgba(255, 122, 0, 0.25);
    border-radius: 24px;
    background:
        radial-gradient(circle at 50% 0%, rgba(255, 122, 0, 0.18), transparent 38%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.075), rgba(255, 255, 255, 0.03));
    padding: 28px 24px;
    box-shadow: 0 24px 70px rgba(255, 65, 20, 0.12);
}

.sc-buy-title {
    font-size: 28px;
    font-weight: 950;
    letter-spacing: -1px;
    color: white;
    margin: 4px 0 12px;
}

.sc-buy-stars {
    color: var(--sc-yellow);
    font-size: 15px;
    font-weight: 700;
    margin-bottom: 10px;
    letter-spacing: 0.04em;
    text-shadow: 0 0 12px rgba(255, 196, 0, 0.45);
}

.sc-buy-stars strong {
    color: white;
    font-weight: 950;
}

.sc-buy-desc {
    color: var(--sc-text-light);
    font-size: 14px;
    line-height: 1.55;
    margin: 0 0 18px;
}

/* Preco — old + current + à vista */
.sc-sidebar-card .sc-preco {
    display: flex;
    align-items: baseline;
    gap: 12px;
    margin: 18px 0 14px;
    padding: 0;
    background: none;
    border: 0;
    color: white;
    font-size: 42px;
    font-weight: 950;
    line-height: 1;
}

.sc-sidebar-card .sc-preco-label {
    color: var(--sc-text-light);
    font-size: 14px;
    font-weight: 600;
    text-decoration: line-through;
    margin: 0;
    order: -1;
    letter-spacing: 0;
    text-transform: none;
}

.sc-sidebar-card .sc-preco::after {
    content: "a vista";
    font-size: 13px;
    color: var(--sc-text-light);
    font-weight: 600;
    margin-left: 6px;
    align-self: end;
}

/* Botao primario "Comprar agora" (substitui sc-btn-whatsapp visualmente) */
.sc-sidebar-card .sc-btn-whatsapp {
    width: 100%;
    min-height: 54px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: linear-gradient(135deg, #ff4d2d 0%, #ff7a00 100%);
    border: 1px solid rgba(255, 122, 0, 0.45);
    color: white;
    font-size: 16px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    border-radius: 999px;
    text-decoration: none;
    box-shadow: 0 16px 45px rgba(255, 65, 20, 0.35);
    transition: transform 200ms ease, box-shadow 200ms ease;
    margin-bottom: 12px;
}

.sc-sidebar-card .sc-btn-whatsapp:hover {
    transform: translateY(-2px);
    box-shadow: 0 22px 60px rgba(255, 65, 20, 0.55);
}

.sc-sidebar-card .sc-btn-whatsapp svg {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}

/* Botao secundario "Tirar duvida no WhatsApp" — outline escuro */
.sc-sidebar-card .sc-btn-whatsapp.sc-btn-whatsapp-alt {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.18);
    color: #ececec;
    box-shadow: none;
    text-transform: none;
    letter-spacing: 0;
    font-weight: 700;
    margin-top: 4px;
    margin-bottom: 4px;
}

.sc-sidebar-card .sc-btn-whatsapp.sc-btn-whatsapp-alt:hover {
    background: rgba(37, 211, 102, 0.12);
    border-color: rgba(37, 211, 102, 0.55);
    color: #fff;
    box-shadow: 0 12px 30px rgba(37, 211, 102, 0.18);
}

.sc-sidebar-card .sc-btn-whatsapp.sc-btn-whatsapp-alt svg {
    fill: #25D366;
}

/* Lista de itens "seguros" (4 checks verdes) */
.sc-buy-secure {
    list-style: none;
    padding: 0;
    margin: 16px 0 0;
    display: grid;
    gap: 10px;
}

.sc-buy-secure li {
    color: #d6d6d6;
    font-size: 14px;
    line-height: 1.4;
    padding-left: 24px;
    position: relative;
}

.sc-buy-secure li::before {
    content: "\2713";
    position: absolute;
    left: 0;
    top: 0;
    color: var(--sc-green);
    font-weight: 900;
    font-size: 16px;
}

/* Categorias dentro do card (dentro do sidebar-info) ficam menores */
.sc-sidebar-card .sc-sidebar-info {
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.sc-sidebar-card .sc-sidebar-info h4 {
    font-size: 11px;
    color: var(--sc-text-light);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 10px;
}

.sc-sidebar-card .sc-sidebar-info .sc-tag {
    display: inline-block;
    margin: 0 6px 6px 0;
    padding: 5px 12px;
    border-radius: 999px;
    border: 1px solid rgba(255, 122, 0, 0.30);
    background: rgba(255, 122, 0, 0.08);
    color: var(--sc-orange);
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
}


/* ============================================================
   HOTCURSOS 2.0 — HERO HOT BANNER (shortcode [sync_cursos_hero_hot])
   Banner gigante com energy ring + sparks + logo + pill + titulo
   gigante + CTAs + 3 stats. Pra usar na home do cliente.
============================================================ */

/* Hero TRANSPARENTE — deixa o background do body aparecer (igual ao referencial
   hotcurso-com-video.html). So adiciona radials de intensidade central + fade
   para dar profundidade. Sem solid fill #060606 = sem "caixa em cima de caixa". */
.sc-hero-hot {
    /* Full-bleed classico: funciona dentro de qualquer wrapper (.sc-page,
       Gutenberg block, container constrained, etc). left:50% + margin
       negativos de 50vw cancelam o pai e ancoram o elemento no viewport.
       overflow-x:clip no html/body suprime qualquer scroll horizontal. */
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    width: 100vw;
    max-width: 100vw;
    box-sizing: border-box;
    min-height: 640px;
    display: grid;
    place-items: center;
    overflow: hidden;
    margin-top: 0;
    margin-bottom: 0;
    border-radius: 0;
    isolation: isolate;
    background:
        radial-gradient(circle at 50% 48%, rgba(255, 122, 0, 0.30), transparent 30%),
        radial-gradient(circle at 50% 88%, rgba(255, 47, 22, 0.26), transparent 18%),
        linear-gradient(180deg, rgba(0, 0, 0, 0.02), rgba(0, 0, 0, 0.82));
    border-bottom: 1px solid var(--sc-line, rgba(255, 255, 255, 0.12));
    font-family: var(--sc-font);
}


/* Garante que TODOS os filhos usam a fonte do tema, nao a do WP por baixo */
.sc-hero-hot,
.sc-hero-hot *,
.sc-hero-hot h1,
.sc-hero-hot h2,
.sc-hero-hot p,
.sc-hero-hot a,
.sc-hero-hot span,
.sc-hero-hot div,
.sc-hero-hot strong {
    font-family: var(--sc-font) !important;
}

/* Grid overlay nao precisa aqui — o body.sync-cursos-page::before ja injeta o
   grid em toda a pagina via position:fixed. Manter ::before duplicava. */

/* Energy ring rotativo (concentrico, 3 camadas) */
.sc-hero-hot-ring {
    position: absolute;
    top: 50%;
    left: 50%;
    width: min(880px, 90%);
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    border: 1px solid rgba(255, 122, 0, 0.22);
    box-shadow:
        0 0 80px rgba(255, 80, 20, 0.25),
        inset 0 0 80px rgba(255, 80, 20, 0.10);
    transform: translate(-50%, -50%);
    animation: scHotRing 18s linear infinite;
    z-index: 0;
    pointer-events: none;
}

.sc-hero-hot-ring::before,
.sc-hero-hot-ring::after {
    content: "";
    position: absolute;
    inset: 8%;
    border-radius: 50%;
    border: 1px dashed rgba(255, 122, 0, 0.20);
    animation: scHotRing 14s linear infinite;
}

.sc-hero-hot-ring::after {
    inset: 22%;
    border-color: rgba(255, 47, 22, 0.18);
    animation: scHotRing 12s linear reverse infinite;
}

@keyframes scHotRing {
    to { transform: rotate(360deg); }
}

/* Sparks (5 pontos pulsando) */
.sc-hero-hot-sparks {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 16% 32%, rgba(255, 122, 0, 0.85) 0 3px, transparent 4px),
        radial-gradient(circle at 77% 29%, rgba(255, 122, 0, 0.85) 0 3px, transparent 4px),
        radial-gradient(circle at 24% 73%, rgba(255, 47, 22, 0.85) 0 3px, transparent 4px),
        radial-gradient(circle at 84% 68%, rgba(255, 47, 22, 0.85) 0 3px, transparent 4px),
        radial-gradient(circle at 50% 12%, rgba(255, 122, 0, 0.85) 0 3px, transparent 4px);
    filter: drop-shadow(0 0 12px rgba(255, 122, 0, 0.7));
    animation: scHotSparks 5s ease-in-out infinite;
    z-index: 0;
    pointer-events: none;
}

@keyframes scHotSparks {
    0%, 100% { opacity: 0.35; transform: translateY(0) scale(1); }
    50%      { opacity: 0.95; transform: translateY(-14px) scale(1.4); }
}

/* Padroes radiais decorativos nos cantos (estilo "ondas" do template) */
.sc-hero-hot::after {
    content: "";
    position: absolute;
    top: 45%;
    left: -150px;
    width: 520px;
    height: 200px;
    background: repeating-radial-gradient(ellipse at center, transparent 0 12px, rgba(255, 65, 20, 0.30) 14px 15px, transparent 17px 30px);
    transform: rotate(12deg);
    opacity: 0.30;
    z-index: 0;
    pointer-events: none;
}

/* Conteudo central */
.sc-hero-hot-inner {
    position: relative;
    z-index: 4;
    width: min(1040px, 92%);
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    padding: 48px 16px;
}

.sc-hero-hot-logo {
    display: block;
    margin: 0 auto 20px;
    max-width: 520px;
    height: auto;
    filter:
        drop-shadow(0 0 32px rgba(255, 122, 0, 0.65))
        drop-shadow(0 0 90px rgba(255, 47, 22, 0.35));
    animation: scHotLogoPulse 4.6s ease-in-out infinite;
}

@keyframes scHotLogoPulse {
    0%, 100% { transform: scale(1); }
    50%      { transform: scale(1.018); }
}

.sc-hero-hot-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 36px;
    padding: 0 18px;
    margin: 0 0 22px;
    border-radius: 999px;
    border: 1px solid rgba(255, 122, 0, 0.40);
    background: rgba(255, 122, 0, 0.10);
    color: #ffd8c2;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0.02em;
}

.sc-hero-hot-fire { font-size: 14px; }

/* Linha animada acima da pill */
.sc-hero-hot-beam {
    width: min(600px, 85vw);
    height: 2px;
    background: linear-gradient(90deg, transparent 0%, rgba(255, 122, 0, 0.9) 50%, transparent 100%);
    margin: 0 auto 8px;
    box-shadow: 0 0 10px rgba(255, 122, 0, 0.55), 0 0 24px rgba(255, 122, 0, 0.22);
    transform-origin: center;
    animation: scHotBeam 2.8s ease-in-out infinite;
}

@keyframes scHotBeam {
    0%, 100% { opacity: 0.35; transform: scaleX(0.5); }
    50%      { opacity: 1;    transform: scaleX(1); }
}

.sc-hero-hot-title {
    max-width: 920px;
    margin: 0 auto 18px;
    font-size: clamp(34px, 5.2vw, 70px);
    line-height: 0.96;
    letter-spacing: -2.5px;
    font-weight: 950;
    color: white;
}

.sc-hero-hot-accent {
    background: linear-gradient(135deg, var(--sc-orange) 0%, var(--sc-pink) 100%);
    -webkit-background-clip: text;
            background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}

.sc-hero-hot-copy {
    max-width: 800px;
    margin: 0 auto 28px;
    color: #d6d6d6;
    font-size: 17px;
    line-height: 1.62;
}

.sc-hero-hot-actions {
    display: flex;
    justify-content: center;
    gap: 14px;
    flex-wrap: wrap;
    margin-bottom: 26px;
}

.sc-hero-hot-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 0 28px;
    border-radius: 999px;
    font-size: 15px;
    font-weight: 900;
    text-decoration: none;
    transition: transform 200ms ease, box-shadow 200ms ease;
    text-transform: none;
}

.sc-hero-hot-btn-primary {
    background: linear-gradient(135deg, #ff4d2d 0%, #ff7a00 100%);
    border: 1px solid rgba(255, 122, 0, 0.45);
    color: white;
    box-shadow: 0 16px 45px rgba(255, 65, 20, 0.35);
}

.sc-hero-hot-btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 22px 60px rgba(255, 65, 20, 0.55);
}

.sc-hero-hot-btn-secondary {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid var(--sc-border);
    color: white;
}

.sc-hero-hot-btn-secondary:hover {
    background: rgba(255, 255, 255, 0.10);
}

/* 3 stats no fundo */
.sc-hero-hot-proof {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    max-width: 780px;
    margin: 0 auto;
}

.sc-hero-hot-proof > div {
    border: 1px solid var(--sc-border);
    background: rgba(255, 255, 255, 0.055);
    border-radius: 14px;
    padding: 16px 12px;
    color: var(--sc-text-light);
    font-size: 13px;
    font-weight: 800;
}

.sc-hero-hot-proof strong {
    display: block;
    color: white;
    font-size: 19px;
    font-weight: 950;
    margin-bottom: 4px;
}

/* Responsive: ajustes graduais pra tablet e mobile */
@media (max-width: 980px) {
    .sc-hero-hot { min-height: 540px; }
    .sc-hero-hot-inner { padding: 36px 16px; }
    .sc-hero-hot-logo { max-width: 400px; margin-bottom: 16px; }
    .sc-hero-hot-title { font-size: clamp(28px, 6vw, 52px); letter-spacing: -1.5px; }
    .sc-hero-hot-copy { font-size: 16px; margin-bottom: 22px; }
    .sc-hero-hot-ring { width: 85%; }
}

@media (max-width: 720px) {
    .sc-hero-hot { min-height: auto; padding: 24px 0; }
    .sc-hero-hot-inner { padding: 28px 14px; }
    .sc-hero-hot-logo { max-width: 300px; margin-bottom: 14px; }
    .sc-hero-hot-pill {
        font-size: 11px;
        padding: 6px 14px;
        min-height: 32px;
        line-height: 1.3;
        white-space: normal;
        text-align: center;
    }
    .sc-hero-hot-title {
        font-size: clamp(26px, 8.5vw, 36px);
        letter-spacing: -1px;
        line-height: 1.05;
        margin-bottom: 14px;
    }
    .sc-hero-hot-copy {
        font-size: 14px;
        line-height: 1.55;
        margin-bottom: 18px;
    }
    .sc-hero-hot-actions { gap: 10px; }
    .sc-hero-hot-btn {
        min-height: 46px;
        padding: 0 22px;
        font-size: 13px;
        width: 100%;
    }
    .sc-hero-hot-proof {
        grid-template-columns: 1fr;
        gap: 8px;
        max-width: 100%;
    }
    .sc-hero-hot-proof > div {
        padding: 12px 10px;
        font-size: 12px;
    }
    .sc-hero-hot-proof strong { font-size: 16px; }
    .sc-hero-hot-ring { width: 110%; }
    .sc-hero-hot::after { display: none; }
}

@media (max-width: 420px) {
    .sc-hero-hot-logo { max-width: 240px; }
    .sc-hero-hot-title { font-size: clamp(22px, 8.5vw, 30px); }
    .sc-hero-hot-pill { font-size: 10px; padding: 5px 12px; }
}

@media (prefers-reduced-motion: reduce) {
    .sc-hero-hot-ring,
    .sc-hero-hot-ring::before,
    .sc-hero-hot-ring::after,
    .sc-hero-hot-sparks,
    .sc-hero-hot-logo {
        animation: none !important;
    }
}


/* ============================================================
   HOTCURSOS 2.0 — SECOES DE PAGINA (.sc-page-*)
   Garante full-bleed (largura total) + centralizacao consistente
   nas paginas geradas pelo plugin (Home, Como Funciona, etc.)
============================================================ */

/* Secoes full-bleed via CSS var --sc-scrollbar-w (injetado em wp_head so para hotcursos-2). */
.sc-page-section,
.sc-page-hero,
.sc-page-cta {
    position: relative;
    width: calc(100vw - var(--sc-scrollbar-w, 0px));
    margin-left: calc(50% - 50vw + var(--sc-scrollbar-w, 0px) / 2);
    box-sizing: border-box;
    padding: 64px 0;
    font-family: var(--sc-font);
}

.sc-page-section-alt {
    background: rgba(255, 255, 255, 0.02);
    border-top: 1px solid rgba(255, 255, 255, 0.05);
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

/* Container interno centralizado */
.sc-page-section .sc-container,
.sc-page-hero .sc-container,
.sc-page-cta .sc-container {
    width: min(calc(100% - 32px), 1320px);
    margin: 0 auto;
}

/* Titulos de secao centralizados e bold */
.sc-page-section-title {
    font-size: clamp(28px, 4vw, 46px);
    font-weight: 950;
    letter-spacing: -1.5px;
    line-height: 1;
    text-align: center;
    color: white;
    margin: 0 0 32px;
}

/* CTA Final ("Pronto para comecar?") matcha o cta-box do template */
.sc-page-cta {
    padding: 80px 24px;
    background:
        radial-gradient(circle at 50% 0%, rgba(255, 122, 0, 0.22), transparent 40%),
        rgba(255, 255, 255, 0.04);
    border-top: 1px solid rgba(255, 122, 0, 0.18);
    border-bottom: 1px solid rgba(255, 122, 0, 0.18);
}

.sc-page-cta .sc-container {
    text-align: center !important;
}

.sc-page-cta h2 {
    font-size: clamp(30px, 5vw, 58px);
    font-weight: 950;
    letter-spacing: -2px;
    line-height: 0.95;
    color: white;
    margin: 0 0 16px;
    text-align: center;
}

.sc-page-cta p {
    color: var(--sc-text-light);
    font-size: 17px;
    line-height: 1.6;
    max-width: 680px;
    margin: 0 auto 28px;
    text-align: center;
}

/* Botao do CTA Final fica grande e centralizado */
.sc-page-cta .sc-btn-whatsapp {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    min-height: 54px;
    padding: 0 36px;
    font-size: 15px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    background: linear-gradient(135deg, #ff4d2d 0%, #ff7a00 100%);
    border: 1px solid rgba(255, 122, 0, 0.45);
    border-radius: 999px;
    color: white;
    box-shadow: 0 16px 45px rgba(255, 65, 20, 0.35);
    text-decoration: none;
    transition: transform 200ms ease, box-shadow 200ms ease;
}

.sc-page-cta .sc-btn-whatsapp:hover {
    transform: translateY(-2px);
    box-shadow: 0 22px 60px rgba(255, 65, 20, 0.55);
}

/* Hero das paginas geradas pelo plugin (Home, Como Funciona) */
.sc-page-hero {
    padding: 80px 24px 60px;
    text-align: center;
    background:
        radial-gradient(circle at 50% 0%, rgba(255, 122, 0, 0.20), transparent 38%),
        radial-gradient(circle at 50% 100%, rgba(255, 47, 22, 0.14), transparent 35%);
    border-bottom: 1px solid var(--sc-border);
}


.sc-page-hero-content {
    max-width: 880px;
    margin: 0 auto;
}

.sc-page-hero h1 {
    font-size: clamp(34px, 5vw, 64px);
    font-weight: 950;
    letter-spacing: -2px;
    line-height: 0.96;
    color: white;
    margin: 0 0 18px;
    text-align: center;
}

.sc-page-hero p {
    color: var(--sc-text-light);
    font-size: 17px;
    line-height: 1.62;
    margin: 0 auto 24px;
    text-align: center;
    max-width: 720px;
}

.sc-page-hero .sc-btn-whatsapp {
    display: inline-flex !important;
    margin: 0 auto;
    min-height: 50px;
    padding: 0 30px;
    background: linear-gradient(135deg, #ff4d2d 0%, #ff7a00 100%);
    border: 1px solid rgba(255, 122, 0, 0.45);
    border-radius: 999px;
    color: white;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    box-shadow: 0 16px 45px rgba(255, 65, 20, 0.35);
}

/* Forcar fonte Inter em todos os elementos das paginas geradas */
.sc-page-section,
.sc-page-section *,
.sc-page-hero,
.sc-page-hero *,
.sc-page-cta,
.sc-page-cta * {
    font-family: var(--sc-font) !important;
}

/* Steps do "Como Funciona" centralizados */
.sc-page-steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    text-align: center;
}

.sc-page-step {
    padding: 28px 20px;
    border: 1px solid var(--sc-border);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.025));
    text-align: center;
}

.sc-page-step-num {
    width: 56px;
    height: 56px;
    margin: 0 auto 16px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: linear-gradient(135deg, #ff4d2d, #ff7a00);
    color: white;
    font-size: 22px;
    font-weight: 950;
    box-shadow: 0 12px 30px rgba(255, 65, 20, 0.35);
}

.sc-page-step h3 {
    font-size: 18px;
    font-weight: 800;
    color: white;
    margin: 0 0 10px;
    text-align: center;
}

.sc-page-step p {
    color: var(--sc-text-light);
    font-size: 14px;
    line-height: 1.55;
    margin: 0;
    text-align: center;
}

@media (max-width: 720px) {
    .sc-page-steps { grid-template-columns: 1fr; }
}

/* FAQ das paginas centralizado */
.sc-page-faq {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
    max-width: 1080px;
    margin: 0 auto;
}

.sc-page-faq-item {
    padding: 22px 24px;
    border: 1px solid var(--sc-border);
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.025));
}

.sc-page-faq-item h3 {
    font-size: 16px;
    font-weight: 800;
    color: white;
    margin: 0 0 8px;
}

.sc-page-faq-item p {
    color: var(--sc-text-light);
    font-size: 14px;
    line-height: 1.6;
    margin: 0;
}

@media (max-width: 720px) {
    .sc-page-faq { grid-template-columns: 1fr; }
}

/* Ajustes mobile pras paginas geradas pelo plugin */
@media (max-width: 720px) {
    .sc-page-section,
    .sc-page-hero,
    .sc-page-cta {
        padding: 40px 16px;
    }
    .sc-page-hero h1 {
        font-size: clamp(26px, 8.5vw, 38px);
        letter-spacing: -1px;
    }
    .sc-page-hero p { font-size: 15px; }
    .sc-page-cta { padding: 50px 16px; }
    .sc-page-cta h2 {
        font-size: clamp(26px, 8.5vw, 36px);
        letter-spacing: -1px;
    }
    .sc-page-cta p { font-size: 15px; }
    .sc-page-section-title { font-size: clamp(24px, 7vw, 34px); }
}

@media (max-width: 420px) {
    .sc-page-section,
    .sc-page-hero,
    .sc-page-cta {
        padding: 32px 14px;
    }
}

/* =============================================================
   ARCHIVE HOTCURSOS 2.0 — Sidebar + Main + Load More
   ============================================================= */

.sc-archive-h2 {
    padding: 30px 0 70px;
    width: min(1460px, 94%);
    margin: 0 auto;
    box-sizing: border-box;
}

.sc-archive-h2-grid {
    display: grid;
    grid-template-columns: 305px 1fr;
    gap: 32px;
    align-items: start;
}

.sc-archive-h2-sidebar {
    position: sticky;
    top: 100px;
    max-height: calc(100vh - 120px);
    overflow: auto;
    padding: 22px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 18px;
    background:
        radial-gradient(circle at 15% 0%, rgba(255, 122, 0, 0.14), transparent 30%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.025));
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.32);
    scrollbar-width: thin;
    scrollbar-color: var(--sc-orange, #ff7a00) transparent;
}

.sc-archive-h2-sidebar-title {
    font-size: 15px;
    font-weight: 900;
    text-transform: uppercase;
    color: var(--sc-orange, #ff7a00);
    margin-bottom: 20px;
    letter-spacing: 0.5px;
}

.sc-archive-h2-cat-list {
    display: grid;
    gap: 6px;
}

.sc-archive-h2-cat-btn {
    position: relative;
    display: grid;
    grid-template-columns: 28px 1fr auto;
    align-items: center;
    gap: 10px;
    min-height: 42px;
    padding: 9px 10px;
    border: 1px solid transparent;
    border-radius: 12px;
    background: transparent;
    color: #efefef;
    text-align: left;
    cursor: pointer;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.22s;
    overflow: hidden;
}

.sc-archive-h2-cat-btn:hover,
.sc-archive-h2-cat-btn.active {
    color: white;
    background: rgba(255, 122, 0, 0.08);
    border-color: rgba(255, 122, 0, 0.24);
    transform: translateX(3px);
    box-shadow: inset 3px 0 0 var(--sc-orange, #ff7a00), 0 12px 24px rgba(255, 65, 20, 0.08);
}

.sc-archive-h2-cat-icon {
    color: var(--sc-orange, #ff7a00);
    width: 24px;
    height: 24px;
    display: grid;
    place-items: center;
    border-radius: 8px;
    background: rgba(255, 122, 0, 0.08);
    border: 1px solid rgba(255, 122, 0, 0.18);
    font-size: 12px;
    flex-shrink: 0;
}

.sc-archive-h2-cat-count {
    color: var(--sc-orange, #ff7a00);
    font-size: 11px;
    font-weight: 900;
}

.sc-archive-h2-main {
    min-width: 0;
}

.sc-archive-h2-tools {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 16px;
    margin-bottom: 16px;
    align-items: center;
}

.sc-archive-h2-search {
    position: relative;
}

.sc-archive-h2-search input {
    width: 100%;
    min-height: 48px;
    padding: 0 54px 0 18px;
    color: white;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.035));
    border: 1px solid rgba(255, 106, 0, 0.38);
    border-radius: 12px;
    outline: 0;
    font-size: 15px;
    font-family: var(--sc-font);
}

.sc-archive-h2-search input::placeholder { color: rgba(255, 255, 255, 0.45); }

.sc-archive-h2-search button {
    position: absolute;
    top: 0;
    right: 0;
    height: 48px;
    width: 52px;
    border: 0;
    background: rgba(255, 255, 255, 0.06);
    color: white;
    border-radius: 0 12px 12px 0;
    font-size: 20px;
    cursor: pointer;
}

.sc-archive-h2-mobile-filter { display: none; }

.sc-archive-h2-header {
    display: flex;
    align-items: baseline;
    gap: 14px;
    margin-bottom: 20px;
}

.sc-archive-h2-header h1 {
    font-size: clamp(20px, 3vw, 28px);
    font-weight: 900;
    color: white;
    margin: 0;
}

.sc-archive-h2-count {
    color: rgba(255, 255, 255, 0.5);
    font-size: 14px;
    white-space: nowrap;
}

.sc-archive-h2-grid-products {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

/* Paginacao do archive: alinha o bloco the_posts_pagination centralizado
   abaixo da grid. As regras visuais dos numeros estao em .sc-pagination
   (linhas ~1874-1910). */
.sc-archive-h2 .sc-pagination {
    margin-top: 36px;
    text-align: center;
}

@media (max-width: 980px) {
    .sc-archive-h2-grid {
        grid-template-columns: 1fr;
    }

    .sc-archive-h2-sidebar {
        position: relative;
        top: auto;
        max-height: 60vh;
        display: none;
    }

    .sc-archive-h2-sidebar.sc-h2-open { display: block; }

    .sc-archive-h2-mobile-filter {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        min-height: 48px;
        padding: 0 20px;
        border-radius: 12px;
        border: 1px solid rgba(255, 122, 0, 0.40);
        background: rgba(255, 122, 0, 0.10);
        color: white;
        font-weight: 900;
        font-family: var(--sc-font);
        cursor: pointer;
    }

    .sc-archive-h2-tools {
        grid-template-columns: 1fr auto;
    }
}

@media (max-width: 768px) {
    .sc-archive-h2-grid-products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .sc-archive-h2 {
        width: min(100% - 24px, 1460px);
    }

    .sc-archive-h2-grid-products {
        grid-template-columns: 1fr;
    }
}
