/* =========================================================
   AKSER ACADEMY
   Sistema visual principal
   Child theme Kadence
   ========================================================= */

/*
 * Organização:
 * 01–18  Sistema visual global
 * 19–21  Header Akser
 * 22     Footer Akser
 * 23. SISTEMA DE BOTÕES AKSER ACADEMY
   23.1 Sobre gradiente
   23.2 Sobre fundo claro
   23.3 Secundário/textual
 *
 * Observação:
 * As máscaras SVG ficam em /assets/svg/.
 * O CSS principal fica em /assets/css/akser-academy.css.
 */


/* =========================================================
   01. DESIGN TOKENS
   ========================================================= */

:root {

    /* Cores principais */
    --akser-cyan: #00adff;
    --akser-magenta: #aa0080;
    --akser-text: #232323;

    /* Cores auxiliares */
    --akser-white: #ffffff;
    --akser-bg: #f6f8fb;
    --akser-bg-soft: #eef2f6;
    --akser-border: #dfe5eb;
    --akser-muted: #66717d;

    /* Gradiente oficial */
    --akser-gradient: linear-gradient(
        110deg,
        #00adff 0%,
        #5962c4 50%,
        #aa0080 100%
    );

    /* Tipografia */
    --akser-font: "Merriweather Sans", sans-serif;
    --akser-brand-font: "Bree Serif", serif;

    /* Raios */
    --akser-radius-sm: 6px;
    --akser-radius: 10px;
    --akser-radius-lg: 16px;

    /* Sombras */
    --akser-shadow-sm:
        0 4px 14px rgba(35, 35, 35, 0.06);

    --akser-shadow:
        0 10px 30px rgba(35, 35, 35, 0.08);

    --akser-shadow-lg:
        0 18px 50px rgba(35, 35, 35, 0.11);

    /* Transições */
    --akser-transition: 0.2s ease;
}


/* =========================================================
   02. RESET E BASE GLOBAL
   ========================================================= */

html {
    scroll-behavior: smooth;
}

body {
    font-family: var(--akser-font);
    color: var(--akser-text);
    background: var(--akser-white);
    font-weight: 400;
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}


/* Seleção de texto */

::selection {
    background: rgba(0, 173, 255, 0.22);
    color: var(--akser-text);
}


/* =========================================================
   03. TIPOGRAFIA
   ========================================================= */

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--akser-font);
    color: var(--akser-text);
    line-height: 1.2;
    margin-top: 0;
}

h1 {
    font-weight: 800;
    letter-spacing: -0.035em;
}

h2 {
    font-weight: 700;
    letter-spacing: -0.025em;
}

h3 {
    font-weight: 700;
    letter-spacing: -0.015em;
}

h4,
h5,
h6 {
    font-weight: 600;
}

p,
li,
td,
th,
label,
input,
textarea,
select,
button {
    font-family: var(--akser-font);
}

/* Texto secundário */

.akser-muted {
    color: var(--akser-muted);
}


/* Uso pontual da Bree Serif */

.akser-brand-font {
    font-family: var(--akser-brand-font);
}


/* =========================================================
   04. LINKS
   ========================================================= */

a {
    color: var(--akser-cyan);
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    transition:
        color var(--akser-transition),
        opacity var(--akser-transition);
}

a:hover,
a:focus {
    color: var(--akser-magenta);
}


/* =========================================================
   05. BOTÕES
   ========================================================= */

button,
input[type="button"],
input[type="submit"],
input[type="reset"],
.button,
.wp-element-button {
    font-family: var(--akser-font);
    font-weight: 600;
    border-radius: var(--akser-radius-sm);
    transition:
        transform var(--akser-transition),
        box-shadow var(--akser-transition),
        filter var(--akser-transition),
        background var(--akser-transition),
        border-color var(--akser-transition);
}


/* Botão primário */

.akser-btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;

    color: var(--akser-white);
    background: var(--akser-gradient);

    border: 0;
    border-radius: var(--akser-radius-sm);

    padding: 0.8rem 1.35rem;

    font-weight: 600;
    line-height: 1;

    text-decoration: none;

    box-shadow:
        0 6px 18px rgba(65, 93, 190, 0.18);
}

.akser-btn-primary:hover,
.akser-btn-primary:focus {
    color: var(--akser-white);
    transform: translateY(-1px);
    filter: brightness(0.97);

    box-shadow:
        0 9px 24px rgba(65, 93, 190, 0.23);
}


/* Botão azul */

.akser-btn-blue {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    color: var(--akser-white);
    background: var(--akser-cyan);

    border: 1px solid var(--akser-cyan);
    border-radius: var(--akser-radius-sm);

    padding: 0.8rem 1.35rem;

    font-weight: 600;
    text-decoration: none;
}

.akser-btn-blue:hover,
.akser-btn-blue:focus {
    color: var(--akser-white);
    filter: brightness(0.94);
    transform: translateY(-1px);
}


/* Botão secundário */

.akser-btn-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    color: var(--akser-text);
    background: var(--akser-white);

    border: 1px solid var(--akser-border);
    border-radius: var(--akser-radius-sm);

    padding: 0.8rem 1.35rem;

    font-weight: 600;
    text-decoration: none;
}

.akser-btn-secondary:hover,
.akser-btn-secondary:focus {
    color: var(--akser-cyan);
    border-color: var(--akser-cyan);
    background: var(--akser-white);
}

/* =========================================================
   05.1. DIVISORES
   ========================================================= */

/* ---------------------------------------------------------
   05.1.1 Divider com desaparecimento gradual
   --------------------------------------------------------- */

.akser-divider-fade .kt-divider {
    border: 0 !important;
    height: 1px !important;
    background: linear-gradient(
        90deg,
        rgba(255, 255, 255, 0.9) 0%,
        rgba(255, 255, 255, 0.9) 30%,
        rgba(255, 255, 255, 0) 100%
    ) !important;
}

/* ---------------------------------------------------------
   05.1.2 Divider com fade nas duas extremidades
   --------------------------------------------------------- */

.akser-divider-fade-center .kt-divider {
    border: 0 !important;
    height: 1px !important;
    background: linear-gradient(
        90deg,
        rgba(255, 255, 255, 0) 0%,
        rgba(255, 255, 255, 0.45) 15%,
        rgba(255, 255, 255, 0.9) 35%,
        rgba(255, 255, 255, 0.9) 65%,
        rgba(255, 255, 255, 0.45) 85%,
        rgba(255, 255, 255, 0) 100%
    ) !important;
}

/* ---------------------------------------------------------
   05.1.3 Divider magenta — fade no final
   --------------------------------------------------------- */

.akser-divider-fade-magenta .kt-divider {
    border: 0 !important;
    height: 1px !important;
    background: linear-gradient(
        90deg,
        rgba(170, 0, 128, 0.9) 0%,
        rgba(170, 0, 128, 0.9) 30%,
        rgba(170, 0, 128, 0) 100%
    ) !important;
}

/* ---------------------------------------------------------
   05.1.4 Divider magenta — fade nas duas extremidades
   --------------------------------------------------------- */

.akser-divider-fade-center-magenta .kt-divider {
    border: 0 !important;
    height: 1px !important;
    background: linear-gradient(
        90deg,
        rgba(170, 0, 128, 0) 0%,
        rgba(170, 0, 128, 0.45) 15%,
        rgba(170, 0, 128, 0.9) 35%,
        rgba(170, 0, 128, 0.9) 65%,
        rgba(170, 0, 128, 0.45) 85%,
        rgba(170, 0, 128, 0) 100%
    ) !important;
}

/* =========================================================
   06. FORMULÁRIOS
   ========================================================= */

input,
textarea,
select {
    color: var(--akser-text);
    background: var(--akser-white);

    border: 1px solid #cfd7df;
    border-radius: var(--akser-radius-sm);

    transition:
        border-color var(--akser-transition),
        box-shadow var(--akser-transition),
        background var(--akser-transition);
}

input:focus,
textarea:focus,
select:focus {
    border-color: var(--akser-cyan);
    outline: none;

    box-shadow:
        0 0 0 3px rgba(0, 173, 255, 0.12);
}

input::placeholder,
textarea::placeholder {
    color: #88939d;
    opacity: 1;
}

label {
    color: var(--akser-text);
    font-weight: 500;
}


/* Checkbox e radio */

input[type="checkbox"],
input[type="radio"] {
    accent-color: var(--akser-cyan);
}


/* =========================================================
   07. CARDS
   ========================================================= */

.akser-card {
    background: var(--akser-white);
    border: 1px solid var(--akser-border);
    border-radius: var(--akser-radius-lg);
    box-shadow: var(--akser-shadow);

    overflow: hidden;
}

.akser-card-body {
    padding: 1.5rem;
}

.akser-card-title {
    margin-bottom: 0.65rem;
    font-weight: 700;
}

.akser-card-text {
    color: var(--akser-muted);
}


/* =========================================================
   08. BADGES
   ========================================================= */

.akser-badge {
    display: inline-flex;
    align-items: center;

    padding: 0.35rem 0.65rem;

    border-radius: 999px;

    font-size: 0.78rem;
    line-height: 1;
    font-weight: 600;

    background: rgba(0, 173, 255, 0.10);
    color: var(--akser-cyan);
}

.akser-badge-magenta {
    background: rgba(170, 0, 128, 0.10);
    color: var(--akser-magenta);
}


/* =========================================================
   09. FUNDOS E SEÇÕES
   ========================================================= */

.akser-section {
    padding: 5rem 0;
}

.akser-section-white {
    background: var(--akser-white);
}

.akser-section-soft {
    background: var(--akser-bg);
}

.akser-section-muted {
    background: var(--akser-bg-soft);
}

.akser-section-gradient {
    color: var(--akser-white);
    background: var(--akser-gradient);
}

.akser-section-gradient h1,
.akser-section-gradient h2,
.akser-section-gradient h3,
.akser-section-gradient h4,
.akser-section-gradient p {
    color: var(--akser-white);
}


/* =========================================================
   10. HERO
   ========================================================= */

.akser-hero {
    position: relative;

    display: flex;
    align-items: center;

    min-height: 520px;

    padding: 6rem 0;

    color: var(--akser-white);
    background: var(--akser-gradient);

    overflow: hidden;
}

.akser-hero h1,
.akser-hero h2,
.akser-hero p {
    color: var(--akser-white);
}

.akser-hero h1 {
    max-width: 900px;
    margin-bottom: 1.25rem;

    font-size: clamp(2.4rem, 5vw, 4.5rem);
    line-height: 1.05;
}

.akser-hero p {
    max-width: 720px;

    font-size: clamp(1.05rem, 1.6vw, 1.3rem);
    line-height: 1.55;

    opacity: 0.94;
}


/* =========================================================
   11. TÍTULOS DE SEÇÃO
   ========================================================= */

.akser-section-title {
    margin-bottom: 1rem;

    font-size: clamp(2rem, 3vw, 3rem);
    font-weight: 800;
    letter-spacing: -0.03em;
}

.akser-section-lead {
    max-width: 760px;

    color: var(--akser-muted);

    font-size: 1.1rem;
    line-height: 1.7;
}


/* =========================================================
   12. CABEÇALHOS DE PÁGINA
   ========================================================= */

.page-header,
.entry-hero {
    background: var(--akser-bg);
}

.page-header .entry-title,
.entry-hero .entry-title,
.page-title {
    color: var(--akser-text);

    font-family: var(--akser-font);
    font-weight: 800;

    letter-spacing: -0.03em;
}


/* =========================================================
   13. TABELAS
   ========================================================= */

table {
    border-color: var(--akser-border);
}

th {
    color: var(--akser-text);
    font-weight: 600;
}

td {
    color: var(--akser-text);
}


/* =========================================================
   14. ALERTAS
   ========================================================= */

.akser-alert {
    padding: 1rem 1.2rem;

    background: var(--akser-bg);
    border: 1px solid var(--akser-border);
    border-left: 4px solid var(--akser-cyan);

    border-radius: var(--akser-radius-sm);
}

.akser-alert-success {
    border-left-color: #29a36a;
}

.akser-alert-warning {
    border-left-color: #e4a11b;
}

.akser-alert-danger {
    border-left-color: #c53c52;
}


/* =========================================================
   15. DIVISORES
   ========================================================= */

hr {
    border: 0;
    border-top: 1px solid var(--akser-border);
}


/* =========================================================
   16. UTILITÁRIOS
   ========================================================= */

.akser-gradient-text {
    background: var(--akser-gradient);
    -webkit-background-clip: text;
    background-clip: text;

    color: transparent;
}

.akser-shadow {
    box-shadow: var(--akser-shadow);
}

.akser-shadow-lg {
    box-shadow: var(--akser-shadow-lg);
}

.akser-rounded {
    border-radius: var(--akser-radius);
}

.akser-rounded-lg {
    border-radius: var(--akser-radius-lg);
}


/* =========================================================
   17. ACESSIBILIDADE
   ========================================================= */

:focus-visible {
    outline: 3px solid rgba(0, 173, 255, 0.42);
    outline-offset: 3px;
}


/* =========================================================
   18. RESPONSIVO — BASE
   ========================================================= */

@media (max-width: 1024px) {

    .akser-section {
        padding: 4rem 0;
    }

    .akser-hero {
        min-height: 460px;
        padding: 5rem 0;
    }
}


@media (max-width: 768px) {

    .akser-section {
        padding: 3.5rem 0;
    }

    .akser-hero {
        min-height: auto;
        padding: 4rem 0;
    }

    .akser-card-body {
        padding: 1.25rem;
    }
}


@media (max-width: 480px) {

    .akser-section {
        padding: 3rem 0;
    }

    .akser-hero {
        padding: 3.5rem 0;
    }

    .akser-btn-primary,
    .akser-btn-blue,
    .akser-btn-secondary {
        width: 100%;
    }
}


/* =========================================================
   19. HEADER — ESTRUTURA, MÁSCARA E ESTADOS
   ========================================================= */

/*
 * Mesma lógica do footer:
 *
 * 1. #masthead é o bloco visual sólido do cabeçalho;
 * 2. a máscara é apenas uma extensão visual inferior;
 * 3. a máscara pertence SEMPRE ao #masthead;
 * 4. não há uma versão da máscara no container interno;
 * 5. não há largura fixa para desktop/ultrawide.
 */

:root {
    --akser-header-gradient:
        linear-gradient(
            90deg,
            #00ADFF 0%,
            #6156C7 50%,
            #AA0080 100%
        );

    --akser-header-height: 105px;
    --akser-header-edge-height: 35px;
    --akser-header-clearance: 155px;
}


/* ---------------------------------------------------------
   19.1 Bloco principal
   --------------------------------------------------------- */

#masthead {
    position: absolute !important;

    top: 0 !important;
    left: 0 !important;
    right: 0 !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    background: var(--akser-header-gradient) !important;

    border: 0 !important;
    box-shadow: none !important;

    overflow: visible !important;
    isolation: isolate;

    z-index: 100;
}


/* ---------------------------------------------------------
   19.2 Remove estruturas extras do Kadence
   --------------------------------------------------------- */

#masthead .site-top-header-wrap,
#masthead .site-bottom-header-wrap {
    display: none !important;
}


/* ---------------------------------------------------------
   19.3 Estrutura interna do Kadence
   --------------------------------------------------------- */

#masthead .site-header-wrap,
#masthead .site-main-header-wrap,
#masthead .site-header-row-container,
#masthead .site-header-row-container-inner {
    position: relative;

    margin: 0 !important;
    padding-top: 0;
    padding-bottom: 0;

    background: transparent !important;

    border: 0 !important;
    box-shadow: none !important;

    overflow: visible !important;

    z-index: 2;
}

#masthead .site-header-row-container-inner {
    min-height: var(--akser-header-height);
}

#masthead .site-header-row-container-inner > .site-container {
    width: 100%;
    max-width: 1240px;

    margin-left: auto;
    margin-right: auto;
}


/* ---------------------------------------------------------
   19.4 Neutraliza qualquer curva antiga
   --------------------------------------------------------- */

#masthead .site-header-row-container::after {
    content: none !important;
    display: none !important;
}


/* ---------------------------------------------------------
   19.5 Forma inferior
   --------------------------------------------------------- */

#masthead::after {
    content: "";

    position: absolute;

    left: 0;
    top: calc(100% - 1px);

    width: 100%;
    height: var(--akser-header-edge-height);

    background: var(--akser-header-gradient);

    /* Desktop padrão — referência principal */
    -webkit-mask-image: url("../svg/akser-header-edge.svg");
    mask-image: url("../svg/akser-header-edge.svg");

    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;

    -webkit-mask-position: center top;
    mask-position: center top;

    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;

    pointer-events: none;

    z-index: 1;
}


/* ---------------------------------------------------------
   19.5.1 Desktop largo
   1600px até 2199px
   --------------------------------------------------------- */

@media (min-width: 1600px) and (max-width: 2199px) {

    #masthead::after {
        -webkit-mask-image:
            url("../svg/akser-header-edge-wide.svg");
        mask-image:
            url("../svg/akser-header-edge-wide.svg");
    }
}


/* ---------------------------------------------------------
   19.5.2 Desktop ultrawide
   2200px ou mais
   --------------------------------------------------------- */

@media (min-width: 2200px) {

    #masthead::after {
        -webkit-mask-image:
            url("../svg/akser-header-edge-ultrawide.svg");
        mask-image:
            url("../svg/akser-header-edge-ultrawide.svg");
    }
}


/* ---------------------------------------------------------
   19.5.3 Tablet
   --------------------------------------------------------- */

@media (min-width: 768px) and (max-width: 1024px) {

    #masthead::after {
        -webkit-mask-image:
            url("../svg/akser-header-edge-tablet.svg");
        mask-image:
            url("../svg/akser-header-edge-tablet.svg");
    }
}


/* ---------------------------------------------------------
   19.5.4 Mobile
   --------------------------------------------------------- */

@media (max-width: 767px) {

    #masthead::after {
        -webkit-mask-image:
            url("../svg/akser-header-edge-mobile.svg");
        mask-image:
            url("../svg/akser-header-edge-mobile.svg");
    }
}


/* ---------------------------------------------------------
   19.6 Barra administrativa do WordPress
   --------------------------------------------------------- */

body.admin-bar #masthead {
    top: 32px !important;
}

@media (max-width: 782px) {
    body.admin-bar #masthead {
        top: 46px !important;
    }
}


/* =========================================================
   20. HEADER — BOTÕES DE ACESSO E CARRINHO
   ========================================================= */

@media (min-width: 1025px) {

    #masthead {
        --akser-header-action-bg: rgba(255, 255, 255, 0.26);
        --akser-header-action-border: rgba(255, 255, 255, 1);
        --akser-header-action-color: #ffffff;

        --akser-header-action-hover-bg: #ffffff;
        --akser-header-action-hover-color: #aa0080;

        --akser-header-action-height: 46px;
    }

    #masthead
    [data-section="kadence_customizer_header_button"]
    .header-button {
        display: inline-flex;
        align-items: center;
        justify-content: center;

        min-height: var(--akser-header-action-height);
        padding: 0 20px;

        background: var(--akser-header-action-bg) !important;
        color: var(--akser-header-action-color) !important;

        border: 1px solid var(--akser-header-action-border) !important;
        border-radius: 999px !important;

        box-shadow: none !important;

        transition:
            background-color 0.2s ease,
            color 0.2s ease,
            border-color 0.2s ease,
            transform 0.2s ease;
    }

    #masthead [data-section="kadence_customizer_cart"],
    #masthead .header-cart-wrap,
    #masthead .header-cart-inner-wrap {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    #masthead .header-cart-button {
        position: relative;

        display: inline-flex !important;
        align-items: center;
        justify-content: center;

        width: var(--akser-header-action-height);
        height: var(--akser-header-action-height);

        padding: 0 !important;
        margin: 0 !important;

        background: var(--akser-header-action-bg) !important;
        color: var(--akser-header-action-color) !important;

        border: 1px solid var(--akser-header-action-border) !important;
        border-radius: 50% !important;

        box-shadow: none !important;
        text-decoration: none;

        transition:
            background-color 0.2s ease,
            color 0.2s ease,
            border-color 0.2s ease,
            transform 0.2s ease;
    }

    #masthead .header-cart-button .kadence-svg-iconset {
        display: flex;
        align-items: center;
        justify-content: center;

        font-size: 1rem !important;
        line-height: 1;
    }

    #masthead .header-cart-button svg {
        width: 21px !important;
        height: 21px !important;
    }

    #masthead
    [data-section="kadence_customizer_header_button"]
    .header-button:hover,
    #masthead .header-cart-button:hover {
        background: var(--akser-header-action-hover-bg) !important;
        color: var(--akser-header-action-hover-color) !important;

        border-color: #ffffff !important;

        transform: translateY(-1px);
    }

    #masthead .header-cart-total {
        position: absolute;

        top: -5px;
        right: -5px;

        display: flex;
        align-items: center;
        justify-content: center;

        min-width: 18px;
        height: 18px;
        padding: 0 4px;

        background: #ffffff;
        color: #aa0080;

        border-radius: 999px;

        font-size: 10px;
        font-weight: 700;
        line-height: 1;

        transition:
            background-color 0.2s ease,
            color 0.2s ease;
    }

    #masthead .header-cart-button:hover .header-cart-total {
        background: #aa0080;
        color: #ffffff;
    }

    #masthead [data-section="kadence_customizer_cart"] {
        transform: translateY(14px);
    }
}


/* =========================================================
   21. HEADER — ÁREA SEGURA DAS PÁGINAS INTERNAS
   ========================================================= */

body:not(.home) #inner-wrap {
    padding-top: var(--akser-header-clearance);
}

body:not(.home):has(
    .entry-content > .wp-block-kadence-rowlayout:first-child
) #inner-wrap {
    padding-top: 0;
}

body:not(.home)
.entry-content
> .wp-block-kadence-rowlayout:first-child
> .kt-row-column-wrap {
    padding-top: var(--akser-header-clearance) !important;
}


/* =========================================================
   21.1 TABLET
   ========================================================= */

@media (max-width: 1024px) {

    :root {
        --akser-header-height: 84px;
        --akser-header-edge-height: 28px;
        --akser-header-clearance: 120px;
    }

    #masthead .site-header-row-container-inner {
        min-height: var(--akser-header-height);
    }
}


/* =========================================================
   21.2 MOBILE
   ========================================================= */

@media (max-width: 767px) {

    :root {
        --akser-header-height: 72px;
        --akser-header-edge-height: 22px;
        --akser-header-clearance: 100px;
    }

    #masthead .site-header-row-container-inner {
        min-height: var(--akser-header-height);
    }

    #masthead .site-branding img {
        max-height: 42px;
        width: auto;
    }
}




/* =========================================================
   22. FOOTER — ESTRUTURA, MÁSCARA E ESTADOS
   ========================================================= */

/*
 * O footer é um bloco sólido #232323.
 * A máscara é somente uma extensão visual que invade a última
 * seção da página. Por isso NÃO há margin-top entre a última
 * seção e #colophon.
 */

.site-footer,
#colophon {
    color: rgba(255, 255, 255, 0.82);
    background: var(--akser-text);
}

#colophon {
    position: relative;
    z-index: 10;

    margin-top: 0 !important;
    padding: 0;

    overflow: visible;
    isolation: isolate;
}


/* ---------------------------------------------------------
   22.1 Forma superior
   --------------------------------------------------------- */

#colophon::before {
    content: "";

    position: absolute;
    left: 0;
    top: -49px;

    width: 100%;
    height: 50px;

    background: var(--akser-text);

    -webkit-mask-image: url("../svg/akser-footer-mask.svg");
    mask-image: url("../svg/akser-footer-mask.svg");

    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;

    -webkit-mask-position: center top;
    mask-position: center top;

    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;

    pointer-events: none;
    z-index: 0;
}


/* ---------------------------------------------------------
   22.2 Estrutura interna do Kadence
   --------------------------------------------------------- */

#colophon .site-footer-wrap,
#colophon .site-top-footer-wrap,
#colophon .site-middle-footer-wrap {
    position: relative;
    background: transparent !important;
}

#colophon .site-footer-wrap {
    z-index: 1;
}

#colophon .site-middle-footer-wrap {
    margin: 0;
    border: 0;
}

#colophon .site-middle-footer-inner-wrap {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}


/* ---------------------------------------------------------
   22.3 Copyright
   --------------------------------------------------------- */

#colophon .site-bottom-footer-wrap {
    position: relative;
    z-index: 2;

    margin: 0;
    border: 0;

    background: #181818 !important;
}

#colophon .site-bottom-footer-inner-wrap {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}


/* ---------------------------------------------------------
   22.4 Tipografia e links
   --------------------------------------------------------- */

.site-footer p,
.site-footer span,
.site-footer li,
.site-footer address,
.site-footer .widget,
.site-footer .widget-area,
#colophon p,
#colophon span,
#colophon li,
#colophon address {
    color: inherit;
}

.site-footer h1,
.site-footer h2,
.site-footer h3,
.site-footer h4,
.site-footer h5,
.site-footer h6,
.site-footer .widget-title,
#colophon h1,
#colophon h2,
#colophon h3,
#colophon h4,
#colophon h5,
#colophon h6,
#colophon .widget-title {
    color: var(--akser-white);
}

.site-footer a,
#colophon a {
    color: rgba(255, 255, 255, 0.88);
    text-decoration: none;

    transition:
        color var(--akser-transition),
        opacity var(--akser-transition);
}

.site-footer a:hover,
.site-footer a:focus,
#colophon a:hover,
#colophon a:focus {
    color: var(--akser-cyan);
}

.site-footer .site-info,
.site-footer .site-info p,
.site-footer .site-info a,
#colophon .site-bottom-footer-wrap,
#colophon .site-bottom-footer-wrap p,
#colophon .site-bottom-footer-wrap span,
#colophon .site-bottom-footer-wrap a {
    color: rgba(255, 255, 255, 0.82);
}


/* ---------------------------------------------------------
   22.5 Mobile
   --------------------------------------------------------- */

@media (max-width: 767px) {

    #colophon {
        margin-top: 0 !important;
    }

    #colophon::before {
        top: -28px;
        height: 28px;

        -webkit-mask-image: url("../svg/akser-footer-mask-mobile.svg");
        mask-image: url("../svg/akser-footer-mask-mobile.svg");

        -webkit-mask-size: 100% 100%;
        mask-size: 100% 100%;

        -webkit-mask-position: center top;
        mask-position: center top;
    }

    #colophon .site-middle-footer-inner-wrap {
        padding-top: 28px;
        padding-bottom: 28px;
    }
}

/* 23. BOTÕES — BASE COMPARTILHADA
   Adicione as classes ao próprio botão ou ao bloco que o contém.
   Variantes: akser-btn-on-light, akser-btn-on-gradient,
   akser-btn-solid, akser-btn-text. */
:is(
    .akser-btn-on-light,
    .akser-btn-on-gradient,
    .akser-btn-solid,
    .akser-btn-text
  ),
:is(
    .akser-btn-on-light,
    .akser-btn-on-gradient,
    .akser-btn-solid,
    .akser-btn-text
  )
  :is(.wp-block-button__link, .kt-button, .kb-button) {
  font-family: "Merriweather Sans", sans-serif !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
  transform: none !important;
  filter: none !important;
  transition: background-color 0.2s ease, color 0.2s ease,
    border-color 0.2s ease !important;
}
:is(.akser-btn-on-light, .akser-btn-on-gradient, .akser-btn-solid):is(
    a,
    button,
    input
  ),
:is(.akser-btn-on-light, .akser-btn-on-gradient, .akser-btn-solid)
  :is(.wp-block-button__link, .kt-button, .kb-button) {
  border-radius: 999px !important;
  border-width: 1px !important;
  border-style: solid !important;
}
/* Claro: contorno magenta -> preenchimento magenta */
.akser-btn-on-light:is(a, button, input),
.akser-btn-on-light :is(.wp-block-button__link, .kt-button, .kb-button) {
  color: #aa0080 !important;
  background: rgba(255, 255, 255, 0.72) !important;
  border-color: #aa0080 !important;
}
.akser-btn-on-light:is(a, button, input):is(:hover, :focus-visible),
.akser-btn-on-light
  :is(.wp-block-button__link, .kt-button, .kb-button):is(
    :hover,
    :focus-visible
  ) {
  color: #fff !important;
  background: #aa0080 !important;
  border-color: #aa0080 !important;
}
/* Escuro: contorno branco -> preenchimento branco */
.akser-btn-on-gradient:is(a, button, input),
.akser-btn-on-gradient :is(.wp-block-button__link, .kt-button, .kb-button) {
  color: #fff !important;
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: #fff !important;
}
.akser-btn-on-gradient:is(a, button, input):is(:hover, :focus-visible),
.akser-btn-on-gradient
  :is(.wp-block-button__link, .kt-button, .kb-button):is(
    :hover,
    :focus-visible
  ) {
  color: #aa0080 !important;
  background: #fff !important;
  border-color: #fff !important;
}
/* Destaque: magenta sólido -> branco com contorno magenta */
.akser-btn-solid:is(a, button, input),
.akser-btn-solid :is(.wp-block-button__link, .kt-button, .kb-button) {
  color: #fff !important;
  background: #aa0080 !important;
  border-color: #aa0080 !important;
}
.akser-btn-solid:is(a, button, input):is(:hover, :focus-visible),
.akser-btn-solid
  :is(.wp-block-button__link, .kt-button, .kb-button):is(
    :hover,
    :focus-visible
  ) {
  color: #aa0080 !important;
  background: rgba(255, 255, 255, 0.82) !important;
  border-color: #aa0080 !important;
}
/* Link textual sem aparência de pílula */
.akser-btn-text:is(a, button),
.akser-btn-text :is(.wp-block-button__link, .kt-button, .kb-button) {
  color: #00adff !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.akser-btn-text:is(a, button):is(:hover, :focus-visible),
.akser-btn-text
  :is(.wp-block-button__link, .kt-button, .kb-button):is(
    :hover,
    :focus-visible
  ) {
  color: #aa0080 !important;
  background: transparent !important;
}
/* Foco por teclado: acessível sem deslocamento */
:is(
    .akser-btn-on-light,
    .akser-btn-on-gradient,
    .akser-btn-solid,
    .akser-btn-text
  ):is(a, button, input):focus-visible,
:is(
    .akser-btn-on-light,
    .akser-btn-on-gradient,
    .akser-btn-solid,
    .akser-btn-text
  )
  :is(.wp-block-button__link, .kt-button, .kb-button):focus-visible {
  outline: 2px solid #00adff !important;
  outline-offset: 3px;
}

/* 24. FORMULÁRIOS — VARIÁVEIS PARA FUNDO CLARO E ESCURO
   Kadence: .akser-form; CF7: .akser-academy-form.
   Fundo escuro: adicione .akser-form-dark ao contêiner.
   Fundo claro: padrão ou classe .akser-form-light. */
.akser-form,
.akser-academy-form {
  --af-label: #232323;
  --af-muted: #777777;
  --af-bg: rgba(255, 255, 255, 0.82);
  --af-border: rgba(35, 35, 35, 0.38);
  --af-border-hover: #aa0080;
  --af-accent: #aa0080;
  --af-button-bg: rgba(255, 255, 255, 0.72);
  --af-button-text: #aa0080;
  --af-button-border: #aa0080;
  --af-button-hover-bg: #aa0080;
  --af-button-hover-text: #fff;
  --af-button-hover-border: #aa0080;
  --af-message-bg: rgba(255, 255, 255, 0.18);
  color: var(--af-label);
}
:is(.akser-form, .akser-academy-form).akser-form-dark,
.akser-form-dark :is(.akser-form, .akser-academy-form) {
  --af-label: #fff;
  --af-muted: rgba(255, 255, 255, 0.82);
  --af-bg: rgba(255, 255, 255, 0.78);
  --af-border: rgba(255, 255, 255, 0.95);
  --af-border-hover: #fff;
  --af-accent: #fff;
  --af-button-bg: rgba(255, 255, 255, 0.08);
  --af-button-text: #fff;
  --af-button-border: #fff;
  --af-button-hover-bg: #fff;
  --af-button-hover-text: #aa0080;
  --af-button-hover-border: #fff;
  --af-message-bg: rgba(255, 255, 255, 0.14);
}
/* Labels */
.akser-form label,
.akser-academy-form .wpcf7-form label {
  color: var(--af-label) !important;
  font-family: "Merriweather Sans", sans-serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.45;
}
.akser-form label {
  display: block;
  margin-bottom: 7px;
}
.akser-academy-form .wpcf7-form label {
  display: block;
  width: 100%;
}
.akser-academy-form .wpcf7-form label em {
  color: var(--af-muted);
  font-size: 13px;
  font-weight: 400;
}
.akser-academy-form .wpcf7,
.akser-academy-form .wpcf7-form {
  width: 100%;
  max-width: none;
  margin: 0;
}
.akser-academy-form .wpcf7-form p {
  width: 100%;
  margin: 0 0 22px;
}
.akser-academy-form .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
  margin-top: 8px;
}
/* Inputs: escopo limitado aos dois sistemas de formulário */
.akser-form
  :is(
    input[type="text"],
    input[type="email"],
    input[type="tel"],
    input[type="url"],
    input[type="number"],
    input[type="password"],
    input[type="date"],
    input[type="time"],
    input[type="search"],
    select,
    textarea
  ),
.akser-academy-form
  .wpcf7-form
  :is(
    input[type="text"],
    input[type="email"],
    input[type="tel"],
    input[type="url"],
    input[type="number"],
    input[type="date"],
    select,
    textarea
  ) {
  display: block;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box;
  min-height: 50px;
  margin: 0;
  padding: 13px 16px;
  color: #232323 !important;
  background: var(--af-bg) !important;
  border: 1px solid var(--af-border) !important;
  border-radius: 8px !important;
  font-family: "Merriweather Sans", sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.4;
  box-shadow: none !important;
  outline: none;
  transition: background-color 0.2s ease, border-color 0.2s ease !important;
}
.akser-form :is(input, textarea)::placeholder,
.akser-academy-form .wpcf7-form :is(input, textarea)::placeholder {
  color: #777777 !important;
  opacity: 1;
}
.akser-form
  :is(
    input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
    select,
    textarea
  ):is(:hover, :focus),
.akser-academy-form
  .wpcf7-form
  :is(
    input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
    select,
    textarea
  ):is(:hover, :focus) {
  background: rgba(255, 255, 255, 0.96) !important;
  border-color: var(--af-border-hover) !important;
  box-shadow: none !important;
}
.akser-form
  :is(
    input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
    select,
    textarea
  ):focus-visible,
.akser-academy-form
  .wpcf7-form
  :is(
    input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
    select,
    textarea
  ):focus-visible {
  outline: 2px solid var(--af-accent) !important;
  outline-offset: 2px;
}
.akser-form textarea,
.akser-academy-form .wpcf7-form textarea {
  min-height: 170px;
  resize: vertical;
}
.akser-form select,
.akser-academy-form .wpcf7-form select {
  cursor: pointer;
  color: #232323 !important;
}
.akser-form select option,
.akser-academy-form .wpcf7-form select option {
  color: #232323;
  background: #fff;
}
.akser-form :is(input[type="checkbox"], input[type="radio"]),
.akser-academy-form
  .wpcf7-form
  :is(input[type="checkbox"], input[type="radio"]) {
  accent-color: #aa0080;
  cursor: pointer;
}
/* Auxílios e avisos */
.akser-form
  :is(
    .kb-form-field-help,
    .kb-advanced-form-help,
    .kadence-blocks-form-field-help
  ),
.akser-academy-form .wpcf7-not-valid-tip {
  color: var(--af-muted) !important;
  font-size: 13px;
}
.akser-form
  :is(.kb-form-error, .kadence-blocks-form-error, .kb-advanced-form-error) {
  color: #c62828;
  font-size: 14px;
  font-weight: 600;
}
.akser-academy-form .wpcf7-form .wpcf7-not-valid {
  border-color: #c62828 !important;
}
.akser-academy-form .wpcf7-not-valid-tip {
  display: block;
  margin-top: 7px;
}
/* Aceite do CF7: input e texto dentro do label */
.akser-academy-form .wpcf7-acceptance {
  display: block;
  margin: 4px 0 8px;
}
.akser-academy-form .wpcf7-acceptance .wpcf7-list-item {
  margin: 0;
}
.akser-academy-form .wpcf7-acceptance .wpcf7-list-item > label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 13px;
  font-weight: 400;
}
.akser-academy-form .wpcf7-acceptance input[type="checkbox"] {
  flex: 0 0 18px;
  width: 18px !important;
  height: 18px !important;
  margin: 2px 0 0;
}
.akser-academy-form .wpcf7-acceptance .wpcf7-list-item-label {
  color: var(--af-label);
  line-height: 1.5;
}
.akser-academy-form .wpcf7-acceptance a {
  color: inherit;
  font-weight: 700;
  text-decoration: underline;
}
/* Botões de envio: padrão da Home, sem gradiente, sombra ou pulo */
.akser-form :is(button[type="submit"], input[type="submit"], .kb-button),
.akser-academy-form .wpcf7-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 180px;
  min-height: 50px;
  padding: 11px 24px !important;
  color: var(--af-button-text) !important;
  background: var(--af-button-bg) !important;
  border: 1px solid var(--af-button-border) !important;
  border-radius: 999px !important;
  font-family: "Merriweather Sans", sans-serif !important;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.2;
  text-transform: uppercase !important;
  cursor: pointer;
  box-shadow: none !important;
  text-shadow: none !important;
  transform: none !important;
  filter: none !important;
  transition: background-color 0.2s ease, color 0.2s ease,
    border-color 0.2s ease !important;
}
.akser-form
  :is(button[type="submit"], input[type="submit"], .kb-button):is(
    :hover,
    :focus-visible,
    :active
  ),
.akser-academy-form .wpcf7-submit:is(:hover, :focus-visible, :active) {
  color: var(--af-button-hover-text) !important;
  background: var(--af-button-hover-bg) !important;
  border-color: var(--af-button-hover-border) !important;
  box-shadow: none !important;
  transform: none !important;
  filter: none !important;
}
.akser-form
  :is(button[type="submit"], input[type="submit"], .kb-button):focus-visible,
.akser-academy-form .wpcf7-submit:focus-visible {
  outline: 2px solid #00adff !important;
  outline-offset: 3px;
}
.akser-academy-form .wpcf7-form p:has(.wpcf7-submit) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 28px;
  margin-bottom: 0;
}
/* Preserva o spinner de envio; não esconder feedback */
.akser-academy-form .wpcf7-spinner {
  margin: 0;
}
.akser-academy-form .wpcf7-response-output,
.akser-form :is(.kb-form-success, .kadence-blocks-form-success) {
  margin: 20px 0 0 !important;
  padding: 14px 18px !important;
  color: var(--af-label) !important;
  background: var(--af-message-bg) !important;
  border: 1px solid var(--af-border) !important;
  border-radius: 8px !important;
  font-size: 14px;
  line-height: 1.5;
}
@media (max-width: 767px) {
  .akser-form :is(input, select, textarea),
  .akser-academy-form .wpcf7-form :is(input, select, textarea) {
    font-size: 16px;
  }
  .akser-academy-form .wpcf7-form p {
    margin-bottom: 18px;
  }
  .akser-academy-form .wpcf7-form textarea {
    min-height: 150px;
  }
  .akser-academy-form .wpcf7-submit {
    width: 100% !important;
  }
}

/* ==========================================================

   24. AKSER ACADEMY — CATÁLOGO DE CURSOS

   ========================================================== */

/* Remove o título automático do arquivo */

body.post-type-archive-courses .courses-archive-hero-section {
  display: none !important;
}

/* Mantém a área de conteúdo abaixo do cabeçalho absoluto */

body.post-type-archive-courses #inner-wrap {
  padding-top: 160px !important;
}

/* Área principal do catálogo */

body.post-type-archive-courses #primary {
  padding-top: 30px !important;

  padding-bottom: 90px !important;
}

/* Ajustes para tablet */

@media (max-width: 1024px) {
  body.post-type-archive-courses #inner-wrap {
    padding-top: 130px !important;
  }
}

/* Ajustes para celular */

@media (max-width: 767px) {
  body.post-type-archive-courses #inner-wrap {
    padding-top: 105px !important;
  }

  body.post-type-archive-courses #primary {
    padding-top: 20px !important;

    padding-bottom: 60px !important;
  }
}

/* ==========================================================

   25. AKSER ACADEMY — VITRINE DE CURSOS

   Tutor LMS 4.1.1

   ========================================================== */

/* Tipografia geral do catálogo */

body.post-type-archive-courses .course-archive-page {
  font-family: "Merriweather Sans", sans-serif;

  color: #232323;
}

/* Grade de cursos */

body.post-type-archive-courses .tutor-course-list.tutor-grid {
  gap: 30px !important;

  align-items: stretch;
}

/* Cartões */

body.post-type-archive-courses .tutor-course-card {
  background: #fff;

  border: 1px solid rgba(97, 86, 199, 0.16) !important;

  border-radius: 35px 8px 35px 8px !important;

  overflow: hidden;

  box-shadow: 0 8px 28px rgba(35, 35, 35, 0.055);

  transition: transform 0.25s ease, box-shadow 0.25s ease,
    border-color 0.25s ease;
}

body.post-type-archive-courses .tutor-course-card:hover {
  transform: translateY(-5px);

  border-color: rgba(170, 0, 128, 0.35) !important;

  box-shadow: 0 16px 38px rgba(35, 35, 35, 0.11);
}

/* Imagem de capa */

body.post-type-archive-courses .tutor-course-thumbnail {
  overflow: hidden;

  aspect-ratio: 16 / 9;
}

body.post-type-archive-courses .tutor-course-thumbnail img {
  width: 100%;

  height: 100%;

  object-fit: cover;

  transition: transform 0.35s ease;
}

body.post-type-archive-courses
  .tutor-course-card:hover
  .tutor-course-thumbnail
  img {
  transform: scale(1.035);
}

/* Corpo do cartão */

body.post-type-archive-courses .tutor-card-body {
  padding: 24px !important;
}

/* Título */

body.post-type-archive-courses .tutor-course-name,
body.post-type-archive-courses .tutor-course-name a {
  font-family: "Merriweather Sans", sans-serif !important;

  font-size: 19px !important;

  font-weight: 600 !important;

  line-height: 1.4 !important;

  color: #232323 !important;

  text-decoration: none !important;
}

body.post-type-archive-courses .tutor-course-name a:hover {
  color: #aa0080 !important;
}

/* Informações secundárias */

body.post-type-archive-courses .tutor-card-body .tutor-meta {
  color: #777777;

  font-size: 13px;
}

/* Rodapé */

body.post-type-archive-courses .tutor-card-footer {
  padding: 18px 24px !important;

  border-top: 1px solid rgba(97, 86, 199, 0.12) !important;
}

/* Botões no catálogo: mesma linguagem do sistema geral */
body.post-type-archive-courses .tutor-card-footer .tutor-btn {
  color: #aa0080 !important;
  background: rgba(255, 255, 255, 0.72) !important;
  border: 1px solid #aa0080 !important;
  border-radius: 999px !important;
  font-family: "Merriweather Sans", sans-serif !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
  transform: none !important;
  transition: background-color 0.2s ease, color 0.2s ease,
    border-color 0.2s ease !important;
}
body.post-type-archive-courses
  .tutor-card-footer
  .tutor-btn:is(:hover, :focus-visible) {
  color: #fff !important;
  background: #aa0080 !important;
  border-color: #aa0080 !important;
  box-shadow: none !important;
  transform: none !important;
}

/* Filtro de ordenação */

body.post-type-archive-courses .tutor-course-filter .tutor-form-select {
  border: 1px solid rgba(97, 86, 199, 0.25) !important;

  border-radius: 10px !important;

  background: #fff !important;

  box-shadow: none !important;

  font-family: "Merriweather Sans", sans-serif;

  font-size: 13px;
}

/* Opções do filtro */

body.post-type-archive-courses .tutor-form-select-option:hover {
  background: rgba(97, 86, 199, 0.08) !important;

  color: #aa0080 !important;
}

/* Mobile */

@media (max-width: 767px) {
  body.post-type-archive-courses .tutor-course-list.tutor-grid {
    gap: 22px !important;
  }

  body.post-type-archive-courses .tutor-card-body {
    padding: 20px !important;
  }

  body.post-type-archive-courses .tutor-card-footer {
    padding: 16px 20px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.post-type-archive-courses .tutor-course-card,
  body.post-type-archive-courses .tutor-course-thumbnail img {
    transition: none !important;
  }
}

/* ==========================================================

   26. AKSER ACADEMY — INTRODUÇÃO DO CATÁLOGO

   Identidade visual alinhada à página Sobre

   ========================================================== */

/* Fundo suave da página de cursos&#x20;

body.post-type-archive-courses {

    background: linear-gradient(

        115deg,

        #EAF7FF 0%,

        #F3EFFB 48%,

        #FBEAF4 100%

    ) !important;

}*/

/* Fundo transparente nos contêineres principais */

body.post-type-archive-courses #inner-wrap,
body.post-type-archive-courses #primary,
body.post-type-archive-courses .content-area,
body.post-type-archive-courses .course-archive-page {
  background: transparent !important;
}

/* Introdução */

body.post-type-archive-courses .akser-catalogo-intro {
  width: 100%;

  max-width: 1140px;

  margin: 0 auto !important;

  padding: 0 20px !important;

  box-sizing: border-box;
}

/* Conteúdo da introdução */

body.post-type-archive-courses .akser-catalogo-intro-inner {
  width: 100%;

  max-width: 1000px;
}

/* Chamada superior */

body.post-type-archive-courses .akser-catalogo-eyebrow {
  display: block;

  margin: 0 0 12px;

  font-family: "Merriweather Sans", sans-serif;

  font-size: 20px !important;

  font-weight: 300 !important;

  line-height: 1.5;

  letter-spacing: 0.035em;

  text-transform: uppercase;

  color: #aa0080;

  padding-top: 35px;
}

/* Título principal */

body.post-type-archive-courses .akser-catalogo-intro h1 {
  margin: 0 0 28px !important;

  font-family: "Merriweather Sans", sans-serif !important;

  font-size: 64px !important;

  font-weight: 700 !important;

  line-height: 1.15 !important;

  letter-spacing: -0.035em;

  color: #232323 !important;
}

/* Texto de apresentação */

body.post-type-archive-courses .akser-catalogo-intro p {
  max-width: 1000px;

  margin: 0 !important;

  font-family: "Merriweather Sans", sans-serif !important;

  font-size: 23px !important;

  font-weight: 300 !important;

  line-height: 1.7 !important;

  color: #232323 !important;
}

/* Divisória discreta */

body.post-type-archive-courses .akser-catalogo-intro::after {
  content: "";

  display: block;

  width: 100%;

  height: 2px;

  margin: 45px 0 25px;

  background: linear-gradient(
    90deg,
    transparent 0%,

    rgba(170, 0, 128, 0.22) 25%,

    rgba(97, 86, 199, 0.28) 55%,

    rgba(0, 173, 255, 0.22) 80%,

    transparent 100%
  );
}

/* Aproxima o catálogo da divisória */

body.post-type-archive-courses #primary {
  padding-top: 0 !important;

  padding-bottom: 90px !important;
}

/* Filtro de ordenação */

body.post-type-archive-courses .tutor-course-filter {
  margin-bottom: 20px !important;
}

/* Tablet */

@media (max-width: 1024px) {
  body.post-type-archive-courses .akser-catalogo-eyebrow {
    font-size: 17px !important;
  }

  body.post-type-archive-courses .akser-catalogo-intro h1 {
    font-size: 48px !important;
  }

  body.post-type-archive-courses .akser-catalogo-intro p {
    font-size: 20px !important;
  }
}

/* Mobile */

@media (max-width: 767px) {
  body.post-type-archive-courses .akser-catalogo-intro {
    padding: 0 20px !important;
  }

  body.post-type-archive-courses .akser-catalogo-eyebrow {
    font-size: 14px !important;
  }

  body.post-type-archive-courses .akser-catalogo-intro h1 {
    font-size: 36px !important;

    letter-spacing: -0.025em;
  }

  body.post-type-archive-courses .akser-catalogo-intro p {
    font-size: 17px !important;

    line-height: 1.65 !important;
  }

  body.post-type-archive-courses .akser-catalogo-intro::after {
    margin: 30px 0 20px;
  }

  body.post-type-archive-courses #primary {
    padding-bottom: 60px !important;
  }

  /* Respiro entre header e apresentação do catálogo */

  body.post-type-archive-courses .akser-catalogo-intro {
    padding-top: 45px !important;
  }

  /* Reduz a distância entre divisória e catálogo */

  body.post-type-archive-courses .akser-catalogo-intro::after {
    margin-bottom: 12px !important;
  }
}

/* ==========================================================

   26.1 — FUNDO DO CATÁLOGO

   Gradiente progressivo até branco puro

   ========================================================== */

body.post-type-archive-courses #inner-wrap {
  background: linear-gradient(
      180deg,
      rgba(170, 0, 128, 0.1) 0px,

      rgba(170, 0, 128, 0.085) 180px,

      rgba(170, 0, 128, 0.065) 350px,

      rgba(170, 0, 128, 0.04) 470px,

      rgba(170, 0, 128, 0.025) 600px,

      rgba(170, 0, 128, 0.01) 720px,

      rgba(170, 0, 128, 0) 850px
    ),
    #ffffff !important;
}

/* Contêineres internos transparentes */

body.post-type-archive-courses #primary,
body.post-type-archive-courses .content-area,
body.post-type-archive-courses .course-archive-page,
body.post-type-archive-courses .tutor-wrap {
  background: transparent !important;
}

/* ==========================================================

   27. WOOCOMMERCE — CARRINHO E CHECKOUT

   Identidade visual Akser Academy

   ========================================================== */

/* 27.1 — Fundo progressivo */

body.woocommerce-cart #inner-wrap,
body.woocommerce-checkout #inner-wrap {
  background: linear-gradient(
      180deg,
      rgba(170, 0, 128, 0.1) 0px,

      rgba(170, 0, 128, 0.085) 180px,

      rgba(170, 0, 128, 0.065) 350px,

      rgba(170, 0, 128, 0.04) 470px,

      rgba(170, 0, 128, 0.025) 600px,

      rgba(170, 0, 128, 0.01) 720px,

      rgba(170, 0, 128, 0) 850px
    ),
    #ffffff !important;
}

/* 27.2 — Contêineres transparentes */

body.woocommerce-cart #primary,
body.woocommerce-checkout #primary,
body.woocommerce-cart .content-area,
body.woocommerce-checkout .content-area,
body.woocommerce-cart .entry-content,
body.woocommerce-checkout .entry-content {
  background: transparent !important;
}

/* 27.3 — Ocultar a faixa de título padrão do Kadence */

body.woocommerce-cart .entry-hero,
body.woocommerce-checkout .entry-hero {
  display: none !important;
}

/* 27.4 — Espaçamento após o header&#x20;



body.woocommerce-cart #inner-wrap,

body.woocommerce-checkout #inner-wrap {

    padding-top: 0;

}*/

body.woocommerce-cart #primary,
body.woocommerce-checkout #primary {
  padding-top: 90px !important;

  padding-bottom: 100px !important;
}

/* 27.5 — Largura da área de compra */

body.woocommerce-cart .content-container,
body.woocommerce-checkout .content-container {
  max-width: 1160px;

  margin-left: auto;

  margin-right: auto;
}

/* 27.6 — Tipografia */

body.woocommerce-cart .entry-content,
body.woocommerce-checkout .entry-content {
  font-family: "Merriweather Sans", sans-serif;

  color: #232323;
}

body.woocommerce-cart .entry-content h1,
body.woocommerce-checkout .entry-content h1 {
  font-family: "Merriweather Sans", sans-serif;

  font-size: clamp(36px, 4vw, 52px);

  font-weight: 800;

  line-height: 1.15;

  letter-spacing: -0.035em;

  color: #232323;
}

/* 27.7 — Cartões do WooCommerce Blocks */

body.woocommerce-cart .wc-block-cart-items,
body.woocommerce-cart .wc-block-cart__totals-title,
body.woocommerce-checkout .wc-block-components-sidebar-layout {
  border-color: rgba(170, 0, 128, 0.12);
}

/* 27.8 — Campos de formulário */

body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-combobox input {
  border-radius: 8px !important;

  border-color: #dadae3 !important;

  font-family: "Merriweather Sans", sans-serif;
}

body.woocommerce-checkout .wc-block-components-text-input input:focus,
body.woocommerce-checkout .wc-block-components-combobox input:focus {
  border-color: #aa0080 !important;

  box-shadow: 0 0 0 2px rgba(170, 0, 128, 0.08);
}

/* 27.9 — Botões WooCommerce Blocks: padrão sobre fundo claro */
body.woocommerce-cart .wc-block-cart__submit-button,
body.woocommerce-checkout .wc-block-components-checkout-place-order-button {
  background: rgba(170, 0, 128, 0.12) !important;
color: #AA0080 !important;
border: 1px solid #AA0080 !important;
  border-radius: 999px !important;
  min-height: 50px;
  font-family: "Merriweather Sans", sans-serif !important;
  font-size: 16px;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
  transform: none !important;
  filter: none !important;
  transition: background-color 0.2s ease, color 0.2s ease,
    border-color 0.2s ease !important;
}
body.woocommerce-cart .wc-block-cart__submit-button:is(:hover, :focus-visible),
body.woocommerce-checkout
  .wc-block-components-checkout-place-order-button:is(:hover, :focus-visible) {
  background: #aa0080 !important;
  color: #fff !important;
  border-color: #aa0080 !important;
  box-shadow: none !important;
  transform: none !important;
  filter: none !important;
}
/* Texto interno e ícones herdam a cor do botão */
body.woocommerce-cart .wc-block-cart__submit-button :is(span, svg),
body.woocommerce-checkout
  .wc-block-components-checkout-place-order-button
  :is(span, svg) {
  color: inherit !important;
}

/* 27.10 — Links */

body.woocommerce-cart .entry-content a,
body.woocommerce-checkout .entry-content a {
  text-decoration-color: rgba(170, 0, 128, 0.35);
}

/* 27.11 — Responsividade */

@media (max-width: 767px) {
  body.woocommerce-cart #primary,
  body.woocommerce-checkout #primary {
    padding-top: 55px !important;

    padding-bottom: 65px !important;
  }

  body.woocommerce-cart .entry-content h1,
  body.woocommerce-checkout .entry-content h1 {
    font-size: 36px;
  }
}

/* ==========================================================

   27.12 — CORREÇÃO DO HEADER NO CARRINHO E CHECKOUT

   ========================================================== */

/* Reserva espaço para o cabeçalho absoluto */

body.woocommerce-cart #inner-wrap,
body.woocommerce-checkout #inner-wrap {
  padding-top: 165px !important;
}

/* Evita somar espaçamentos excessivos */

body.woocommerce-cart #primary,
body.woocommerce-checkout #primary {
  padding-top: 0 !important;

  padding-bottom: 85px !important;
}

@media (max-width: 1024px) {
  body.woocommerce-cart #inner-wrap,
  body.woocommerce-checkout #inner-wrap {
    padding-top: 140px !important;
  }
}

@media (max-width: 767px) {
  body.woocommerce-cart #inner-wrap,
  body.woocommerce-checkout #inner-wrap {
    padding-top: 115px !important;
  }

  body.woocommerce-cart #primary,
  body.woocommerce-checkout #primary {
    padding-bottom: 60px !important;
  }
}

/* ==========================================================

   27.13 — APRESENTAÇÃO DAS PÁGINAS DE COMPRA

   CARRINHO + FINALIZAÇÃO

   ========================================================== */

/* Container da apresentação */

body.woocommerce-cart .akser-compra-intro,
body.woocommerce-checkout .akser-compra-intro {
  width: 100%;

  max-width: 1000px;

  margin: 0 auto 40px;

  padding: 0 0 35px;

  box-sizing: border-box;

  border-bottom: 2px solid transparent;

  border-image: linear-gradient(
      90deg,
      rgba(170, 0, 128, 0.12),
      rgba(97, 86, 199, 0.25),
      rgba(0, 173, 255, 0.12)
    )
    1;
}

/* Chamada superior */

body.woocommerce-cart .akser-compra-eyebrow,
body.woocommerce-checkout .akser-compra-eyebrow {
  display: block;

  margin: 0 0 12px;

  padding: 0;

  font-family: "Merriweather Sans", sans-serif;

  font-size: 20px !important;

  font-weight: 300 !important;

  line-height: 1.5;

  letter-spacing: 0.035em;

  text-transform: uppercase;

  color: #aa0080 !important;
}

/* Título principal */

body.woocommerce-cart .akser-compra-intro h1,
body.woocommerce-checkout .akser-compra-intro h1 {
  margin: 0 0 22px !important;

  padding: 0 !important;

  font-family: "Merriweather Sans", sans-serif;

  font-size: clamp(38px, 4vw, 64px) !important;

  font-weight: 800 !important;

  line-height: 1.15 !important;

  letter-spacing: -0.035em;

  color: #232323 !important;
}

/* Texto de apresentação */

body.woocommerce-cart .akser-compra-intro p,
body.woocommerce-checkout .akser-compra-intro p {
  max-width: 900px;

  margin: 0 !important;

  padding: 0 !important;

  font-family: "Merriweather Sans", sans-serif;

  font-size: 23px !important;

  font-weight: 300 !important;

  line-height: 1.65 !important;

  color: #232323 !important;
}

/* ==========================================================

   AJUSTES DE ESPAÇAMENTO

   ========================================================== */

/* Aproxima os produtos da apresentação */

body.woocommerce-cart .akser-compra-intro {
  margin-bottom: 35px;
}

/* Mantém o formulário próximo da apresentação */

body.woocommerce-checkout .akser-compra-intro {
  margin-bottom: 35px;
}

/* ==========================================================

   RESPONSIVIDADE

   ========================================================== */

@media (max-width: 767px) {
  body.woocommerce-cart .akser-compra-intro,
  body.woocommerce-checkout .akser-compra-intro {
    margin-bottom: 28px;

    padding-bottom: 28px;
  }

  body.woocommerce-cart .akser-compra-eyebrow,
  body.woocommerce-checkout .akser-compra-eyebrow {
    font-size: 15px !important;
  }

  body.woocommerce-cart .akser-compra-intro h1,
  body.woocommerce-checkout .akser-compra-intro h1 {
    font-size: 38px !important;
  }

  body.woocommerce-cart .akser-compra-intro p,
  body.woocommerce-checkout .akser-compra-intro p {
    font-size: 18px !important;
  }
}

/* ==========================================================
   27.14 — CONTÊINER DA FINALIZAÇÃO DE COMPRA
   ========================================================== */

body.woocommerce-checkout .akser-checkout-layout {
    width: 100%;
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

/* Apresentação acompanha a largura do contêiner */
body.woocommerce-checkout .akser-checkout-layout .akser-compra-intro {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
}

/* Bloco WooCommerce ocupa a mesma largura */
body.woocommerce-checkout .akser-checkout-layout .wp-block-woocommerce-checkout {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
}

@media (max-width: 767px) {
    body.woocommerce-checkout .akser-checkout-layout {
        padding-left: 20px;
        padding-right: 20px;
    }
}

/* ==========================================================
   27.15 — CONTÊINER DO CARRINHO
   ========================================================== */

body.woocommerce-cart .akser-cart-layout {
    width: 100%;
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

body.woocommerce-cart .akser-cart-layout .akser-compra-intro {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
}

body.woocommerce-cart .akser-cart-layout .wp-block-woocommerce-cart {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
}

@media (max-width: 767px) {
    body.woocommerce-cart .akser-cart-layout {
        padding-left: 20px;
        padding-right: 20px;
    }
}

/* ==========================================================
   27.16 — CHECKOUT | IDENTIDADE VISUAL AKSER ACADEMY
   ========================================================== */

/* 1. Campos de preenchimento */
body.woocommerce-checkout
.akser-checkout-layout
.wc-block-components-text-input input,

body.woocommerce-checkout
.akser-checkout-layout
.wc-block-components-combobox input,

body.woocommerce-checkout
.akser-checkout-layout
.wc-block-components-textarea {

    background: rgba(255, 255, 255, 0.88) !important;

    border: 1px solid rgba(170, 0, 128, 0.25) !important;
    border-radius: 8px !important;

    color: #232323 !important;

    box-shadow: none !important;

    transition:
        background-color 0.2s ease,
        border-color 0.2s ease;
}

/* 2. Campo em foco */
body.woocommerce-checkout
.akser-checkout-layout
.wc-block-components-text-input input:focus,

body.woocommerce-checkout
.akser-checkout-layout
.wc-block-components-combobox input:focus,

body.woocommerce-checkout
.akser-checkout-layout
.wc-block-components-textarea:focus {

    background: #ffffff !important;

    border-color: #AA0080 !important;

    box-shadow: none !important;
    outline: none !important;
}

/* 3. Bordas dos campos com seleção */
body.woocommerce-checkout
.akser-checkout-layout
.wc-block-components-combobox
.wc-block-components-combobox-control {

    border-radius: 8px;
}

/* 4. Títulos internos do checkout */
body.woocommerce-checkout
.akser-checkout-layout
.wc-block-components-checkout-step__title {

    font-family: "Merriweather Sans", sans-serif;

    font-weight: 600 !important;
    color: #232323 !important;
}

/* 5. Rótulos dos campos */
body.woocommerce-checkout
.akser-checkout-layout
.wc-block-components-text-input label,

body.woocommerce-checkout
.akser-checkout-layout
.wc-block-components-combobox label {

    color: #777777 !important;
}

/* 6. Campos inválidos: preservar o alerta */
body.woocommerce-checkout
.akser-checkout-layout
.wc-block-components-text-input.has-error input,

body.woocommerce-checkout
.akser-checkout-layout
.wc-block-components-combobox.has-error input {

    border-color: #cc1818 !important;
}

/* 7. Cartão de resumo do pedido */
body.woocommerce-checkout
.akser-checkout-layout
.wc-block-components-sidebar
.wc-block-components-totals-wrapper {

    border-color: rgba(170, 0, 128, 0.14);
}

/* ==========================================================
   27.17 — RESPIRO SUPERIOR DAS PÁGINAS DE COMPRA
   ========================================================== */

body.woocommerce-cart .akser-cart-layout,
body.woocommerce-checkout .akser-checkout-layout {
    padding-top: 65px;
}

@media (max-width: 767px) {
    body.woocommerce-cart .akser-cart-layout,
    body.woocommerce-checkout .akser-checkout-layout {
        padding-top: 35px;
    }
}

/* ==========================================================
   27.17 — WOOCOMMERCE BLOCKS | ACABAMENTO AKSER
   Carrinho + Checkout
   ========================================================== */

body.woocommerce-cart,
body.woocommerce-checkout {
    --akser-wc-magenta: #AA0080;
    --akser-wc-border: rgba(170, 0, 128, 0.25);
    --akser-wc-line: rgba(170, 0, 128, 0.14);
}

/* CAMPOS DE TEXTO E SELEÇÃO */

body.woocommerce-cart .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-cart .wc-block-components-combobox input,
body.woocommerce-checkout .wc-block-components-combobox input,
body.woocommerce-cart .wc-block-components-textarea,
body.woocommerce-checkout .wc-block-components-textarea,
body.woocommerce-checkout .wc-block-components-select .wc-block-components-select__select {

    background: rgba(255, 255, 255, 0.92) !important;
    border: 1px solid var(--akser-wc-border) !important;
    border-radius: 8px !important;
    color: #232323 !important;

    box-shadow: none !important;
}

/* FOCO NOS CAMPOS */

body.woocommerce-cart .wc-block-components-text-input input:focus,
body.woocommerce-checkout .wc-block-components-text-input input:focus,
body.woocommerce-cart .wc-block-components-combobox input:focus,
body.woocommerce-checkout .wc-block-components-combobox input:focus,
body.woocommerce-checkout .wc-block-components-textarea:focus {

    background: #ffffff !important;
    border-color: var(--akser-wc-magenta) !important;
    box-shadow: none !important;
    outline: none !important;
}

/* BOTÕES SECUNDÁRIOS DO WOOCOMMERCE
   Inclui Aplicar cupom */

body.woocommerce-cart .wc-block-components-button:not(.wc-block-cart__submit-button),
body.woocommerce-checkout .wc-block-components-button:not(.wc-block-components-checkout-place-order-button) {

    background: rgba(170, 0, 128, 0.10) !important;
    border: 1px solid #AA0080 !important;
    border-radius: 999px !important;

    color: #AA0080 !important;

    font-family: "Merriweather Sans", sans-serif !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;

    box-shadow: none !important;
    transform: none !important;

    transition:
        background-color 0.2s ease,
        color 0.2s ease !important;
}

body.woocommerce-cart .wc-block-components-button:not(.wc-block-cart__submit-button):hover,
body.woocommerce-checkout .wc-block-components-button:not(.wc-block-components-checkout-place-order-button):hover {

    background: #AA0080 !important;
    color: #ffffff !important;

    box-shadow: none !important;
    transform: none !important;
}

/* PRESERVA OS ESTADOS DE BOTÕES DESABILITADOS */

body.woocommerce-cart .wc-block-components-button:disabled,
body.woocommerce-checkout .wc-block-components-button:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

/* RESUMOS E AGRUPAMENTOS */

body.woocommerce-cart .wc-block-components-sidebar,
body.woocommerce-checkout .wc-block-components-sidebar {

    border-radius: 10px;
}

/* DIVISÓRIAS INTERNAS */

body.woocommerce-cart .wc-block-components-totals-wrapper,
body.woocommerce-checkout .wc-block-components-totals-wrapper,
body.woocommerce-cart .wc-block-cart-items,
body.woocommerce-checkout .wc-block-components-order-summary {

    border-color: var(--akser-wc-line) !important;
}

/* CARTÕES DE ENDEREÇO */

body.woocommerce-checkout .wc-block-components-address-card {

    background: rgba(255, 255, 255, 0.65) !important;

    border: 1px solid var(--akser-wc-border) !important;
    border-radius: 10px !important;

    box-shadow: none !important;
}

/* RÓTULOS E LINKS DE AÇÃO */

body.woocommerce-checkout .wc-block-components-address-card__edit,
body.woocommerce-cart .wc-block-components-totals-coupon-link,
body.woocommerce-checkout .wc-block-components-totals-coupon-link {

    color: #AA0080 !important;
}

/* NÃO ALTERAR AS CORES DE ERRO DOS CAMPOS INVÁLIDOS */
body.woocommerce-cart .wc-block-components-text-input.has-error input,
body.woocommerce-checkout .wc-block-components-text-input.has-error input {
    border-color: #cc1818 !important;
}

/* 27.18 — Botão de cupom */

body.woocommerce-cart
.wc-block-components-totals-coupon__button,

body.woocommerce-checkout
.wc-block-components-totals-coupon__button {

    font-family: "Merriweather Sans", sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;

    letter-spacing: 0.01em !important;
    text-transform: uppercase !important;

    padding: 12px 18px !important;
    min-height: 44px !important;
    min-width: 0 !important;

    border-radius: 999px !important;

    box-shadow: none !important;
    transform: none !important;
}

/* ==========================================================
   27.19 — RESUMO DO PEDIDO
   ========================================================== */

/* Caixa externa do resumo */

body.woocommerce-checkout
.wc-block-components-sidebar
.wc-block-components-order-summary {

    background: rgba(255, 255, 255, 0.72) !important;

    border: 1px solid rgba(170, 0, 128, 0.22) !important;
    border-radius: 12px !important;

    box-shadow: none !important;

    overflow: hidden;
}

/* Remove bordas duplicadas do resumo */

body.woocommerce-checkout
.wc-block-components-order-summary
.wc-block-components-totals-wrapper {

    border-color: rgba(170, 0, 128, 0.13) !important;
}

/* Título do resumo */

body.woocommerce-checkout
.wc-block-components-order-summary__title {

    color: #232323 !important;
    font-family: "Merriweather Sans", sans-serif !important;
    font-weight: 600 !important;
}

/* Valor total */

body.woocommerce-checkout
.wc-block-components-totals-footer-item {

    color: #232323 !important;
    font-weight: 600 !important;
}

/* ==========================================================
   27.20 — OPÇÕES DE PAGAMENTO
   Estrutura externa do WooCommerce Blocks
   ========================================================== */

body.woocommerce-checkout
.wc-block-checkout__payment-method
.wc-block-components-radio-control {

    border: 1px solid rgba(170, 0, 128, 0.25) !important;
    border-radius: 12px !important;

    background: rgba(255, 255, 255, 0.70) !important;

    box-shadow: none !important;

    overflow: hidden;
}

/* Divisórias entre métodos de pagamento */

body.woocommerce-checkout
.wc-block-checkout__payment-method
.wc-block-components-radio-control__option {

    border-color: rgba(170, 0, 128, 0.15) !important;
}

/* Método de pagamento selecionado */

body.woocommerce-checkout
.wc-block-checkout__payment-method
.wc-block-components-radio-control__option-checked {

    background: rgba(170, 0, 128, 0.035) !important;
}

/* Área expandida de pagamento */

body.woocommerce-checkout
.wc-block-checkout__payment-method
.wc-block-components-radio-control-accordion-content {

    background: transparent !important;
    color: #232323 !important;
}