/*
Theme Name: Twenty Twenty-Five Child
Description: Tema filho para o Twenty Twenty-Five
Template: twentytwentyfive
Author: Seu Nome
Version: 1.0.0
*/

/* =====================================================
   BASE
===================================================== */
html {
    scroll-behavior: smooth;
}

* {
    box-sizing: border-box;
/*
    outline: 1px solid red;
*/
}

a,
a:visited,
a:hover,
a:active {
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

/* Remove margem global */
body {
    margin: 0;
    overflow-x: hidden;
}

/* Remove seleção global outline apenas para cliques com mouse */
:focus:not(:focus-visible) {
    outline: none;
}

/* Mantém outline elegante para navegação por teclado */
:focus-visible {
    outline: 2px solid #88AA00;
    outline-offset: 2px;
}

/* =====================================================
   VARIÁVEIS GLOBAIS
===================================================== */
:root {
    /* --- Cores --- */
    --qs-branco:          #ffffff;
    --qs-off-white:       #f8f8f8;
    --qs-cinza-texto:     #444444;
    --qs-cinza-muted:     #888888;
    --qs-preto:           #111111;
    --qs-preto_2:         #2a2a2a;
    --qs-preto-terra:     #282828;
    --qs-verde-escuro:    #4f6b00;
    --qs-verde-claro:     #cde275;
    --qs-verde:           #88aa00;
    --qs-lima:            #aad400;
    --qs-ciano:           #38d8e8;
    --qs-ciano-escuro:    #16a0ae;
    --qs-amarelo:         #ffcc00;
    --qs-cinza-borda:     #d0d0d0;
    --qs-cinza-fundo:     #f4f4f4;
    --qs-laranja-claro:   #ff7f2a;
    --qs-laranja-escuro:  #e67326;
    --qs-vermelho-claro:  #ff4d4d;
    --qs-vermelho-escuro: #cc0000;

    /* --- Layout --- */
    --qs-max:  1290px;
    --qs-font: 'Montserrat', -apple-system, BlinkMacSystemFont, sans-serif;

    /* --- Escala tipográfica ---
       Altere aqui → reflete em todo o site.
       Valores em rem (base 16px do browser).
    ---------------------------------------- */
    --qs-text-xs:   0.75rem;    /* 12px — labels, badges, legendas      */
    --qs-text-sm:   0.875rem;   /* 14px — body secundário, botões       */
    --qs-text-base: 1rem;       /* 16px — body principal                */
    --qs-text-md:   1.0625rem;  /* 17px — parágrafos em destaque        */
    --qs-text-lg:   1.25rem;    /* 20px — subtítulos                    */
    --qs-text-xl:   1.5rem;     /* 24px — títulos menores               */
    --qs-text-2xl:  1.75rem;    /* 28px — h2 páginas internas           */
    --qs-text-3xl:  2rem;       /* 32px — h1 páginas internas           */
}

/* =====================================================
   TIPOGRAFIA — CAMADA 1: ELEMENTOS GLOBAIS
   font-family declarada UMA VEZ no body.
   Todos os elementos herdam automaticamente.
===================================================== */
body {
    font-family: var(--qs-font);
    font-size: var(--qs-text-base);
    font-weight: 400;
    line-height: 1.6;
}

h1 { font-size: var(--qs-text-3xl); font-weight: 700; line-height: 1.1; margin: 0 0 1rem; }
h2 { font-size: var(--qs-text-2xl); font-weight: 700; line-height: 1.2; margin: 0 0 0.75rem; }
h3 { font-size: var(--qs-text-xl);  font-weight: 600; line-height: 1.3; margin: 0 0 0.5rem; }
h4 { font-size: var(--qs-text-lg);  font-weight: 600; line-height: 1.4; margin: 0 0 0.5rem; }
h5 { font-size: var(--qs-text-sm);  font-weight: 600; line-height: 1.4; margin: 0 0 0.5rem; }
h6 { font-size: var(--qs-text-xs);  font-weight: 700; line-height: 1.4; margin: 0 0 0.5rem; }

p  { font-size: var(--qs-text-base); font-weight: 400; line-height: 1.7; margin: 0 0 0.85rem; }
p:last-child { margin-bottom: 0; }

a  { font-size: inherit; font-weight: inherit; }

/* =====================================================
   TIPOGRAFIA — CAMADA 2: COMPONENTES
   Cada seletor redefine APENAS o que difere do global.
   Nunca repetir font-family aqui.
===================================================== */

/* --- Hero Banner --------------------------------------- */
.hero-content h1 { font-size: clamp(1.1rem, 3vw, 1.8rem);    font-weight: 500; }
.hero-content p  { font-size: clamp(0.85rem, 2vw, 1.25rem); }

/* --- Régua 4 ------------------------------------------- */
.regua4 h3 { font-size: 0.95rem; font-weight: 600; }
.regua4 p  { font-size: 0.85rem; }

/* --- Faixa título -------------------------------------- */
.faixa-titulo .wp-block-query-title,
.faixa-texto { font-size: clamp(1rem, 2vw, 1.4rem); font-weight: 400; }

/* --- Primeira compra / Institucional ------------------- */
.institucional-box h2 { font-size: clamp(1.2rem, 2vw, 1.6rem); font-weight: 600; }
.institucional-box p  { font-size: var(--qs-text-base); }

/* --- Banner páginas internas --------------------------- */
.banner-texto h1 { font-size: 1.4375rem; }   /* 23px */
.banner-texto p  { font-size: 1.125rem; }    /* 18px */
.banner-texto a  { font-size: var(--qs-text-sm); font-weight: 700; }

/* --- Contato / faixa azul ------------------------------ */
.contato-titulo { font-size: clamp(1.2rem, 2vw, 1.5rem); font-weight: 600; }
.contato-link   { font-size: clamp(0.95rem, 1.4vw, 1.05rem); }

/* --- FAQ ----------------------------------------------- */
.faq-question             { font-size: var(--qs-text-base); font-weight: 600; }
.wp-block-details summary { font-size: 0.9375rem; font-weight: 600; }  /* 15px */
.wp-block-details > *:not(summary) { font-size: var(--qs-text-sm); }
.faq-item p               { font-size: var(--qs-text-sm); }
.faq-categoria,
.pagina-faq h3            { font-size: 0.75rem; font-weight: 700; letter-spacing: 1.5px; }

/* --- Termos / Política --------------------------------- */
.termos-toc-title     { font-size: 0.9375rem; font-weight: 700; }
.termos-toc-item      { font-size: var(--qs-text-sm); }
.termos-toc-num       { font-size: var(--qs-text-base); font-weight: 700; }
.termos-num           { font-size: 4rem; font-weight: 900; }           /* 64px */
.termos-section-title { font-size: 0.9375rem; font-weight: 700; }
.termos-body          { font-size: var(--qs-text-base); }
.termos-body p        { font-size: inherit; }
.termos-list-item     { font-size: 0.9375rem; }
.termos-updated       { font-size: 0.75rem; font-weight: 600; }
.termos-hero .sub     { font-size: var(--qs-text-sm); }

/* --- Política de privacidade --------------------------- */
.politica-conteudo h2               { font-size: clamp(1.2rem, 2vw, 1.5rem); }
.politica-conteudo p                { font-size: inherit; }
.politica-conteudo .data-atualizacao { font-size: 0.9rem; }

/* --- Depoimentos --------------------------------------- */
.depoimento-texto  { font-size: 1.05rem; }
.depoimento-nome   { font-size: 0.85rem; }
.depoimento-card2 a { font-size: var(--qs-text-sm); font-weight: 700; }

/* --- Cards duplos -------------------------------------- */
.card-duplo__titulo    { font-size: 1.375rem; font-weight: 700; }  /* 22px */
.card-duplo__paragrafo { font-size: var(--qs-text-sm); }
.card-duplo__botao     { font-size: var(--qs-text-sm); font-weight: 600; }

/* --- Formas de pagamento ------------------------------- */
.pagamento-intro     { font-size: 0.9375rem; }
.pagamento-titulo    { font-size: 1.125rem; font-weight: 700; }
.pagamento-subtitulo { font-size: var(--qs-text-sm); font-weight: 700; }
.pagamento-item p    { font-size: var(--qs-text-sm); }

/* --- Ordenação WooCommerce ----------------------------- */
.woocommerce-ordering label        { font-size: var(--qs-text-sm); font-weight: 600; }
.woocommerce-ordering select.orderby { font-size: var(--qs-text-sm); }

/* --- Produto: título e preço --------------------------- */
ul.wp-block-woocommerce-product-template li.wc-block-product .wp-block-post-title {
    font-size: 0.9375rem !important;  /* !important necessário contra inline do WC */
}
:where(.bloco-preco, .price, .wc-block-components-product-price) {
    font-size: 1.125rem;  /* 18px */
    font-weight: 700;
}

/* --- Tabs WooCommerce ---------------------------------- */
.woocommerce-tabs ul.tabs.wc-tabs li a              { font-size: 0.8125rem; font-weight: 600; }
.woocommerce-tabs .woocommerce-Tabs-panel > h2:first-child { font-size: 0.6875rem; font-weight: 700; }  /* 11px */
.woocommerce-tabs .woocommerce-Tabs-panel h1         { font-size: 1.375rem;  font-weight: 700; }
.woocommerce-tabs .woocommerce-Tabs-panel h2:not(:first-child) { font-size: var(--qs-text-base); font-weight: 700; }
.woocommerce-tabs .woocommerce-Tabs-panel h3         { font-size: 0.9375rem; font-weight: 600; }
.woocommerce-tabs .woocommerce-Tabs-panel h6         { font-size: 0.6875rem; font-weight: 700; }
.woocommerce-tabs .woocommerce-Tabs-panel p          { font-size: 0.9375rem; }
.woocommerce-tabs .woocommerce-product-attributes    { font-size: var(--qs-text-sm); }
.woocommerce-tabs .woocommerce-product-attributes th { font-size: 0.75rem; font-weight: 700; }
.woocommerce-tabs .woocommerce-product-attributes td { font-size: var(--qs-text-sm); }

/* --- Minha conta --------------------------------------- */
.woocommerce-account .woocommerce,
.woocommerce-account .woocommerce-MyAccount-content  { font-size: var(--qs-text-sm); }

.woocommerce-MyAccount-navigation ul li a            { font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.06em; }

.woocommerce-MyAccount-content h2                    { font-size: 0.9375rem; font-weight: 700; }
.woocommerce-MyAccount-content h3                    { font-size: 0.75rem;   font-weight: 700; }

.woocommerce-account label                           { font-size: 0.625rem; font-weight: 700; letter-spacing: 0.08em; }
.woocommerce-account input[type="text"],
.woocommerce-account input[type="email"],
.woocommerce-account input[type="password"],
.woocommerce-account input[type="tel"],
.woocommerce-account input[type="number"],
.woocommerce-account select,
.woocommerce-account textarea                        { font-size: var(--qs-text-sm); }

.woocommerce-MyAccount-content .button,
.woocommerce-MyAccount-content button[type="submit"],
.woocommerce-MyAccount-content input[type="submit"],
.woocommerce-form-login .button,
.woocommerce-form-register .button                  { font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.1em; }

.woocommerce-MyAccount-content > p:first-child       { font-size: var(--qs-text-sm); }

.woocommerce-orders-table thead th,
.woocommerce-account table.shop_table thead th       { font-size: 0.625rem;  font-weight: 700; letter-spacing: 0.08em; }
.woocommerce-orders-table tbody td,
.woocommerce-account table.shop_table tbody td       { font-size: 0.8125rem; }

mark.order-status                                    { font-size: 0.5625rem; font-weight: 700; letter-spacing: 0.08em; }

.woocommerce-account .woocommerce-Address-title h2   { font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.08em; }
.woocommerce-account .woocommerce-Address-title a    { font-size: 0.625rem;  font-weight: 600; letter-spacing: 0.05em; }
.woocommerce-account .woocommerce-Address address    { font-size: 0.8125rem; }
.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-info,
.woocommerce-account .woocommerce-error              { font-size: var(--qs-text-sm); }
.woocommerce-account .woocommerce-EditAccountForm legend { font-size: 0.625rem; font-weight: 700; letter-spacing: 0.08em; }
.woocommerce-account nav.woocommerce-pagination ul li a,
.woocommerce-account nav.woocommerce-pagination ul li span { font-size: 0.75rem; font-weight: 600; }

/* --- Footer -------------------------------------------- */
.footer-col h3   { font-size: 1.05rem;  font-weight: 700; }
.footer-col p    { font-size: clamp(1rem, 3vw, 1.2rem); font-weight: 300; }
.footer-tagline  { font-size: 0.8rem; }

/* --- Downloads ----------------------------------------- */
.dl-hero__label   { font-size: 0.8rem;                    font-weight: 700; letter-spacing: 0.15em; }
.dl-hero__title   { font-size: clamp(2.5rem, 5vw, 4rem);  font-weight: 800; }
.dl-tabs a        { font-weight: 600; }
.dl-section-title { font-size: 2rem;  font-weight: 700; }
.dl-card h3       { font-size: 1.05rem; font-weight: 700; }
.dl-btn           { font-weight: 700; }

/* --- Quem somos ---------------------------------------- */
.qs-hero-label      { font-size: 0.625rem;  font-weight: 700; letter-spacing: 0.3em; }
.qs-hero h1         { font-size: clamp(2.125rem, 6vw, 3.5rem); font-weight: 900; letter-spacing: -0.03em; }
.qs-hero-desc       { font-size: 0.9375rem; font-weight: 400; }
.qs-hero-num strong { font-size: 2rem;      font-weight: 900; letter-spacing: -0.02em; }
.qs-hero-num span   { font-size: 0.625rem;  font-weight: 600; letter-spacing: 0.1em; }
.qs-hero-foto-badge { font-size: 0.625rem;  font-weight: 700; letter-spacing: 0.2em; }

.qs-metrica-num     { font-size: 3.25rem;   font-weight: 900; letter-spacing: -0.03em; }
.qs-metrica-num sup { font-size: 2.125rem; }
.qs-metrica-label   { font-size: 0.625rem;  font-weight: 600; letter-spacing: 0.15em; }

.qs-split-tag       { font-size: 0.625rem;  font-weight: 700; letter-spacing: 0.25em; }
.qs-split-txt h2    { font-size: clamp(1.75rem, 3.5vw, 2.625rem); font-weight: 900; letter-spacing: -0.02em; }
.qs-split-txt p     { font-size: 0.9375rem; }
.qs-split-box       { font-size: 0.8125rem; font-weight: 600; letter-spacing: 0.01em; }
.qs-split-img-num   { font-size: 0.625rem;  font-weight: 700; letter-spacing: 0.2em; }

.qs-faixa-verde h2          { font-size: clamp(2rem, 4vw, 3.25rem); font-weight: 900; letter-spacing: -0.02em; }
.qs-faixa-verde p           { font-size: 0.9375rem; }
.qs-faixa-verde-lista li    { font-size: 0.8125rem; font-weight: 700; letter-spacing: 0.08em; }

.qs-galeria-header h2       { font-size: clamp(2.25rem, 5vw, 3.75rem); font-weight: 900; letter-spacing: -0.02em; }
.qs-galeria-header p        { font-size: 0.875rem; }

.qs-proposito-tag           { font-size: 0.625rem;  font-weight: 700; letter-spacing: 0.3em; }
.qs-proposito h2            { font-size: clamp(1.75rem, 4vw, 3rem); font-weight: 900; letter-spacing: -0.02em; }
.qs-proposito p             { font-size: 0.9375rem; font-weight: 300; }
.qs-btn-cta                 { font-size: 0.6875rem; font-weight: 800; letter-spacing: 0.2em; }

/* ================================
   AVISOS WOOCOMMERCE
================================ */

/* BASE COMUM */
body .wc-block-components-notice-banner {
    border-radius: 0;
    font-weight: 500;
    padding: 12px 16px;
}

/* SUCESSO */
body .wc-block-components-notice-banner.is-success {
    background-color: var(--qs-lima);
    border: 2px solid var(--qs-verde);
    color: var(--qs-branco);
}
body .wc-block-components-notice-banner.is-success svg { fill: var(--qs-branco); }
body .wc-block-components-notice-banner.is-success a   { color: var(--qs-branco); text-decoration: underline; }

/* ERRO */
body .wc-block-components-notice-banner.is-error {
    background-color: var(--qs-vermelho-claro);
    border: 2px solid var(--qs-vermelho-escuro);
    color: var(--qs-branco);
}
body .wc-block-components-notice-banner.is-error svg { fill: var(--qs-branco); }
body .wc-block-components-notice-banner.is-error a   { color: var(--qs-branco); text-decoration: underline; }

/* AVISO */
body .wc-block-components-notice-banner.is-warning {
    background-color: var(--qs-laranja-claro);
    border: 2px solid var(--qs-laranja-escuro);
    color: var(--qs-branco);
}
body .wc-block-components-notice-banner.is-warning svg { fill: var(--qs-branco); }
body .wc-block-components-notice-banner.is-warning a   { color: var(--qs-branco); text-decoration: underline; }

/* INFO */
body .wc-block-components-notice-banner.is-info {
    background-color: var(--qs-ciano);
    border: 2px solid var(--qs-ciano-escuro);
    color: var(--qs-branco);
}
body .wc-block-components-notice-banner.is-info svg { fill: var(--qs-branco); }
body .wc-block-components-notice-banner.is-info a   { color: var(--qs-branco); text-decoration: underline; }

/* =====================================================
   CABEÇALHO
===================================================== */

header.wp-block-template-part {
    position: sticky;
    top: 0;
    z-index: 1000;
}

.header {
    background: var(--qs-branco);
    border-bottom: 1px solid rgba(255,255,255,0.08);
    box-shadow: 0 2px 6px rgba(0,0,0,0.15);
    margin-bottom: 0 !important;
}

/* container principal */
.header-container {
    max-width: var(--qs-max);
    margin: 0 auto;
    padding: 20px 15px;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 10px;
}

/* remove margem dos elementos internos */
.header-container > * {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* MENU */
.header-menu a {
    color: var(--qs-preto);
    text-decoration: none;
    font-weight: 400;
    transition: color .2s ease, font-weight .2s ease;
}

.header-menu a:hover {
    color: var(--qs-verde-escuro) !important;
    font-weight: 400;
    text-decoration: none !important;
}

/* LOGO */
.header-logo {
    justify-self: center;
}

/* ICONES (login + carrinho) */
.header-icons {
    display: flex;
    align-items: center;
    gap: 12px;
}

/* ===========  AJUSTES REAIS (WP/WOO) ================ */

/* LOGO */
.wp-block-site-logo img,
.custom-logo {
    max-height: 40px !important;
    width: auto !important;
}

/* LOGIN */
.wc-block-customer-account__account-icon {
    width: 26px !important;
    height: 26px !important;
}

/* remove a palavra minha conta */
.header-icons .wc-block-customer-account__link span,
.header-icons .wc-block-customer-account__link div,
.header-icons .wc-block-cart-link__text,
.header-icons .wc-block-cart-link__label {
    display: none !important;
}

/* CARRINHO */
.wp-block-woocommerce-cart-link svg {
    width: 26px !important;
    height: 26px !important;
}

/* remove a palavra carrinho */
.wp-block-woocommerce-cart-link .wc-block-cart-link__text,
.wp-block-woocommerce-cart-link .wc-block-cart-link__label {
    display: none !important;
}

/* MENU (hambúrguer) */
.wp-block-navigation__responsive-container-open svg {
    width: 26px !important;
    height: 26px !important;
}

.wp-block-navigation__responsive-container-open {
    display: flex;
    align-items: center;
    justify-content: center;
}

/* remove o label externo da busca */
.header-search .wp-block-search__label {
    display: none !important;
}

/* coloca o ícone no lugar da palavra */
.header-search .wp-block-search__button {
    font-size: 0;
    height: 36px;
    padding: 0 12px;
    position: relative;
}

.header-search .wp-block-search__button::before {
    content: "";
    display: inline-block;
    width: 18px;
    height: 18px;
    background: no-repeat center / contain url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='white' d='M13 5c-3.3 0-6 2.7-6 6 0 1.4.5 2.7 1.3 3.7l-3.8 3.8 1.1 1.1 3.8-3.8c1 .8 2.3 1.3 3.7 1.3 3.3 0 6-2.7 6-6S16.3 5 13 5zm0 10.5c-2.5 0-4.5-2-4.5-4.5s2-4.5 4.5-4.5 4.5 2 4.5 4.5-2 4.5-4.5 4.5z'/%3E%3C/svg%3E");
}

.header-search input {
    height: 36px;
    font-size: 14px;
    padding: 0 10px;
    border: 1px solid var(--qs-cinza-texto);
    border-radius: 0;
}

.header-search button {
    border-radius: 0 !important;
}

/* tamanho padrão dos ícones */
.header-icons svg {
    width: 24px;
    height: 24px;
}

/* área clicável */
.header-icons a {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 6px;
    width: auto;
    height: auto;
    line-height: 0;
}

.header-icons a:hover {
    opacity: 0.7;
    transform: scale(1.1);
    transition: 0.2s ease;
}

/* =====================================================
   HERO BANNER
===================================================== */

.hero-banner {
    background-image: url("/wp-content/uploads/2026/05/banner_instituto_digital.webp");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    min-height: 400px;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding-top: 0px;
    margin-top: -18px;
    position: relative;
    z-index: 1;
}

/* CAIXA DENTRO DO BANNER */
.hero-content {
    background: rgba(0,0,0,0.35);
    color: var(--qs-branco);
    text-align: center;
    padding: 25px 60px;
    max-width: 700px;
    backdrop-filter: blur(3px);
}

.hero-content h1 { margin: 0 0 8px; }
.hero-content p  { margin: 0; line-height: 1.6; }

/* =====================================================
   RÉGUA 4
===================================================== */

.regua4 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    background: var(--qs-preto_2);
    margin-top: -19px;
    position: relative;
}

.regua4 .item {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 12px;
    color: var(--qs-branco);
}

.regua4 .icone {
    flex: 0 0 40px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.regua4 .icone svg {
    width: 42px;
    height: 42px;
    color: var(--qs-branco);
}

.regua4 .texto { text-align: left; }

.regua4 h3 { margin: 0;          color: var(--qs-lima); }
.regua4 p  { margin: 2px 0 0;   color: var(--qs-off-white); }

/* =====================================================
   CATEGORIAS
===================================================== */

.categorias-wrapper {
    background: var(--qs-cinza-fundo);
    padding: 4px 0;
}

.categorias-grid {
    max-width: var(--qs-max);
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    gap: 4px;
    padding: 0 4px;
}

.categorias-grid a   { display: block; padding: 10px; }
.categorias-grid img { width: 100%; height: auto; display: block; transition: 0.2s ease; }
.categorias-grid a:hover { transform: translateY(-3px); }

/* =====================================================
   FAIXA AZUL H1
===================================================== */

.faixa-titulo {
    background: var(--qs-ciano);
    text-align: center;
    padding: 15px 20px;
}

.faixa-titulo .wp-block-query-title {
    margin: 0;
    color: var(--qs-branco);
}

.faixa-texto {
    margin: 0;
    color: var(--qs-branco);
}

/* =====================================================
   PRIMEIRA COMPRA
===================================================== */

.institucional-wrap {
    background: #f8f8f8;
    padding: 40px 15px;
}

.institucional-box {
    max-width: var(--qs-max);
    margin: 0 auto;
    text-align: center;
}

.institucional-box h2 {
    color: var(--qs-verde);
    margin-bottom: 20px;
}

.institucional-box p {
    max-width: 900px;
    margin: 0 auto 30px auto;
    line-height: 1.6;
    color: var(--qs-preto_2);
}

/* régua de imagens */
.institucional-links {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
    align-items: center;
    background: var(--qs-branco);
    padding: 10px;
}

.institucional-links a   { display: block; }
.institucional-links img {
    width: 100%;
    max-width: 180px;
    margin: 0 auto;
    display: block;
    transition: 0.2s ease;
}
.institucional-links img:hover { transform: scale(1.05); }

/* =====================================================
   BOTÃO VOLTAR AO TOPO
===================================================== */

#voltar-topo {
    position: fixed;
    bottom: 32px;
    right: 32px;
    width: 44px;
    height: 44px;
    background: var(--qs-preto);
    color: var(--qs-lima);
    border: none;
    border-radius: 5px;
    font-size: 20px;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s, visibility 0.3s;
    z-index: 999;
    display: flex;
    align-items: center;
    justify-content: center;
}

#voltar-topo svg { width: 26px; height: 26px; }
#voltar-topo.visivel { opacity: 1; visibility: visible; }
#voltar-topo:hover { background: #333; }

/* =====================================================
   BANNER TOPO DE TODAS AS PÁGINAS
===================================================== */

.banner-topo {
    position: relative;
    width: 100%;
    height: 200px;
    overflow: hidden;
}

.banner-topo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.banner-texto {
    position: absolute;
    top: 50%;
    left: 5%;
    transform: translateY(-50%);
    text-align: center;
    align-items: center;
    color: var(--qs-branco);
}

.banner-texto h1 { margin: 0; line-height: 1.4; }
.banner-texto p  { margin: 0; line-height: 1.4; }

.banner-texto a {
    display: inline-block;
    margin-top: 10px;
    padding: 10px 18px;
    background: var(--qs-preto);
    color: var(--qs-branco);
    text-decoration: none;
}

/* ====================================================================
   PÁGINA PADRÃO TPTD (TERMOS · PRIVACIDADE · TROCAS · DÚVIDAS)
==================================================================== */

.termos-page {
    max-width: var(--qs-max);
    margin: 0 auto;
    margin-top: 14px;
    background: var(--qs-branco);
}

.termos-hero { text-align: center; }

.termos-updated {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--qs-verde);
    background: #f0f5e0;
    padding: 4px 12px;
    margin-top: 14px;
    font-weight: 600;
}

.termos-intro {
    color: var(--qs-branco);
    padding: 1.25rem 1.5rem;
    background: var(--qs-ciano);
    text-align: center;
}

.termos-toc {
    background: var(--qs-branco);
    border: 1px solid var(--qs-ciano);
    padding: 1.5rem;
    margin-bottom: 2.5rem;
}

.termos-toc-title {
    text-transform: uppercase;
    letter-spacing: 1.8px;
    color: var(--qs-verde);
    margin-bottom: 14px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.termos-toc-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4px 16px;
}

.termos-toc-item {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--qs-cinza-texto);
    padding: 5px 0;
    text-decoration: none;
    transition: color 0.2s;
    border-bottom: 0.5px solid #f0f0ec;
}

.termos-toc-item:hover { color: var(--qs-verde); text-decoration: none; }

.termos-toc-num {
    font-weight: 700;
    color: var(--qs-verde);
    min-width: 20px;
}

.termos-section {
    margin-bottom: 2.5rem;
    scroll-margin-top: 5.5rem;
}

.termos-section-header {
    display: flex;
    align-items: flex-start;
    gap: 18px;
    margin-bottom: 1rem;
}

.termos-num {
    color: var(--qs-verde);
    line-height: 1;
    min-width: 72px;
    text-align: right;
    letter-spacing: -2px;
    opacity: 0.9;
    user-select: none;
}

.termos-section-title {
    color: var(--qs-preto_2);
    padding-top: 16px;
    text-transform: uppercase;
    letter-spacing: 1.2px;
}

.termos-body {
    padding-left: 90px;
    line-height: 1.75;
    color: var(--qs-cinza-texto);
}

.termos-body p:last-child { margin-bottom: 0; }

.termos-list { margin: 12px 0 16px; }

.termos-list-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 8px;
    line-height: 1.6;
    color: var(--qs-cinza-texto);
}

.termos-dot {
    width: 6px;
    height: 6px;
    background: var(--qs-verde);
    border-radius: 50%;
    margin-top: 9px;
    flex-shrink: 0;
}

.termos-divider {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 2rem 0;
}

.termos-divider-line {
    flex: 1;
    height: 1px;
    background: #D3D3D3;
}

.termos-divider-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #D3D3D3;
    flex-shrink: 0;
}

/* ================================
   PERGUNTAS FREQUENTES — FAQ Accordion
================================ */

.faq-item {
    border-bottom: 1px solid rgba(255,255,255,0.08);
    padding: 0;
}

.faq-item:last-child { border-bottom: none; }

.faq-question::-webkit-details-marker { display: none; }

.faq-question {
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    cursor: pointer;
    padding: 22px 0;
    line-height: 1.5;
    color: var(--qs-preto);
    transition: 0.25s ease;
}

.faq-question:hover { opacity: 0.85; }

.faq-question::after {
    content: "+";
    font-size: 24px;
    font-weight: 300;
    line-height: 1;
    transition: 0.3s ease;
}

.faq-item[open] .faq-question::after {
    content: "−";
    transform: rotate(180deg);
}

.faq-answer {
    padding: 0 0 22px 0;
    color: var(--qs-verde);
    line-height: 1.8;
    animation: faqFade 0.25s ease;
}

@keyframes faqFade {
    from { opacity: 0; transform: translateY(-5px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* ===========================================================
   TEXTO DAS PÁGINAS — POLÍTICA DE PRIVACIDADE E TERMOS
=========================================================== */

.politica-conteudo {
    max-width: var(--qs-max);
    margin: 40px auto;
    padding: 0 20px;
    line-height: 1.6;
    color: var(--qs-preto_2);
}

.politica-conteudo h1 { text-align: center; }

.politica-conteudo h2 {
    margin-top: 35px;
    margin-bottom: 10px;
    color: var(--qs-verde);
    border-left: 4px solid var(--qs-verde);
    padding-left: 10px;
}

.politica-conteudo p  { margin-bottom: 15px; }

.politica-conteudo ul {
    margin: 10px 0 20px 20px;
}

.politica-conteudo li { margin-bottom: 8px; }

.politica-conteudo a {
    color: var(--qs-verde);
    font-weight: 500;
}

.politica-conteudo a:hover { text-decoration: underline; }

/* ================================
   PÁGINA CONTATO + FORMULÁRIO (CF7) + AVATARES
================================ */

.pagina-contato {
    max-width: var(--qs-max);
    margin: 40px auto;
    padding: 0 20px;
}

.contato-grid {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 30px;
    align-items: start;
}

.contato-col-dir p {
    margin-bottom: 10px;
    color: var(--qs-cinza-texto);
}

.contato-divisor {
    margin: 30px 0;
    border: none;
    height: 1px;
    background: #ddd;
}

.contato-imagem { align-self: end; }
.contato-imagem img { width: 100%; height: auto; display: block; }

.contato-form-box  { background: #f5f5f5;      padding: 25px; }
.contato-form-box2 { background: var(--qs-lima); padding: 25px; }

/* ================================
   FORM CF7
================================ */

.pagina-contato .wpcf7 input,
.pagina-contato .wpcf7 textarea,
.pagina-contato .wpcf7 select {
    width: 100%;
    padding: 14px;
    margin-bottom: 14px;
    border: 1px solid #ddd;
    background: var(--qs-branco);
    font-size: 14px;
    outline: none;
    transition: 0.2s ease;
}

.pagina-contato .wpcf7 input:focus,
.pagina-contato .wpcf7 textarea:focus,
.pagina-contato .wpcf7 select:focus {
    border-color: var(--qs-verde);
    box-shadow: 0 0 0 2px rgba(136,170,0,0.15);
}

.pagina-contato .wpcf7 textarea {
    min-height: 140px;
    resize: vertical;
}

.pagina-contato .wpcf7 input[type="submit"] {
    background: var(--qs-preto);
    color: var(--qs-branco);
    border: none;
    padding: 14px;
    width: 100%;
    font-weight: 600;
    cursor: pointer;
    transition: 0.2s ease;
}

.pagina-contato .wpcf7 input[type="submit"]:hover { background: #333; }

/* ================================
   AVATARES
================================ */

#fc-area-avatares { display: none; }

#fc-grade-avatares {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
}

.fc-avatar {
    width: 64px;
    height: 64px;
    object-fit: cover;
    border-radius: 50%;
    cursor: pointer;
    transition: 0.25s ease;
    border: none;
    background: transparent;
}

.fc-avatar:hover {
    transform: scale(1.05);
    border-color: var(--qs-verde);
}

.fc-avatar--ativo {
    border: 2px solid var(--qs-verde);
    padding: 2px;
    border-radius: 50%;
    transform: scale(1.10);
    box-shadow: 0 0 0 3px rgba(136,170,0,0.25);
}

/* ================================
   COMPLEMENTO — PÁGINA DRIVERS
================================ */

.botao-download {
    display: inline-block;
    padding: 12px 22px;
    background: var(--qs-preto);
    color: var(--qs-branco);
    text-decoration: none;
    transition: 0.3s;
}

.botao-download:hover { opacity: 0.9; }

/* ================================
   DEPOIMENTOS
================================ */

.depoimentos-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.depoimento-card {
    background: #f3f3f3;
    transition: background 0.25s ease;
    padding: 25px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
}

.depoimento-card2 {
    background: var(--qs-amarelo);
    transition: background 0.25s ease;
    padding: 25px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
}

.depoimento-card2 a {
    display: inline-block;
    margin-top: 10px;
    padding: 10px 18px;
    background: var(--qs-preto);
    color: var(--qs-branco);
    text-decoration: none;
}

.depoimento-texto {
    text-align: center;
    position: relative;
}

.aspas {
    position: absolute;
    color: var(--qs-verde);
    font-size: 2rem;
    font-weight: bold;
    line-height: 1;
}

.aspas.abre  { top: -10px;  left: -5px; }
.aspas.fecha { bottom: -10px; right: 5px; }

.depoimento-footer {
    margin-top: 20px;
    text-align: center;
}

.depoimento-footer img {
    max-width: 70px;
    margin: 0 auto 8px;
    display: block;
}

.depoimento-estrelas { max-width: 140px; }
.depoimento-card:hover { background: #eaeaea; }

/* =======================================
   CORPO DOS PRODUTOS
======================================= */

/* BOTÃO SURGINDO */
.wc-block-grid__product,
.wp-block-woocommerce-product-template .wc-block-components-product-button,
ul.wp-block-post-template li {
    position: relative;
    overflow: hidden;
}

.wc-block-grid__product .wp-block-button,
.wc-block-components-product-button,
li.product .wp-block-button {
    transform: translateY(50%);
    opacity: 0;
    transition: transform 0.35s cubic-bezier(0.5, 0.46, 0.45, 0.94),
                opacity 0.35s ease;
    will-change: transform, opacity;
}

.wc-block-grid__product:hover .wp-block-button,
.wc-block-grid__product:hover .wc-block-components-product-button,
li.product:hover .wp-block-button {
    transform: translateY(0);
    opacity: 1;
}

.wc-block-components-product-button,
.wp-block-button {
    margin-top: 0px !important;
}

/* CENTRALIZA IMAGENS */
img.attachment-woocommerce_thumbnail {
    display: block;
    margin: 0 auto;
}

/* Card em coluna flex */
ul.wp-block-woocommerce-product-template li.wc-block-product {
    display: flex;
    flex-direction: column;
}

/* Empurra o preço para baixo sempre no mesmo ponto */
ul.wp-block-woocommerce-product-template li.wc-block-product .wp-block-woocommerce-product-price {
    margin-top: auto;
}

/* EFEITO NAS IMAGENS */
img.attachment-woocommerce_thumbnail { transition: transform 0.3s ease; }

a:has(img.attachment-woocommerce_thumbnail):hover img.attachment-woocommerce_thumbnail {
    transform: scale(1.05);
}

/* PIX */
.preco-real,
.preco-pix {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 7px 14px;
    width: 100%;
    max-width: 170px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 4px;
}

.preco-pix {
    background-color: var(--qs-verde-claro);
    max-width: 200px;
}

.preco-pix .valor-pix { font-weight: 700; white-space: nowrap; }

.wp-block-button.wc-block-components-product-button .wp-block-button__link {
    padding: 7px 14px;
    width: 100%;
    max-width: 200px;
}

/* ================================
   DESCRIÇÃO PRODUTO — WOOCOMMERCE
================================ */

.woocommerce-tabs.wc-tabs-wrapper {
    background: var(--qs-branco);
    margin-top: 2rem;
}

.woocommerce-tabs ul.tabs.wc-tabs {
    display: flex;
    gap: 4px;
    list-style: none;
    margin: 0;
    padding: 0;
    border-bottom: 2px solid #e0e8c8;
}

.woocommerce-tabs ul.tabs.wc-tabs::before,
.woocommerce-tabs ul.tabs.wc-tabs::after { display: none; }

.woocommerce-tabs ul.tabs.wc-tabs li {
    margin: 0; padding: 0; border: none; background: none; border-radius: 0;
}

.woocommerce-tabs ul.tabs.wc-tabs li::before,
.woocommerce-tabs ul.tabs.wc-tabs li::after { display: none; }

.woocommerce-tabs ul.tabs.wc-tabs li a {
    display: block;
    padding: 10px 22px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--qs-cinza-muted);
    text-decoration: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    transition: color 0.2s, border-color 0.2s;
}

.woocommerce-tabs ul.tabs.wc-tabs li a:hover { color: var(--qs-verde); }

.woocommerce-tabs ul.tabs.wc-tabs li.active a {
    color: var(--qs-verde);
    border-bottom: 2px solid var(--qs-verde);
}

.woocommerce-tabs .woocommerce-Tabs-panel {
    background: var(--qs-branco);
    border: none;
    padding: 2rem 0;
    margin: 0;
}

.woocommerce-tabs .woocommerce-Tabs-panel > h2:first-child {
    text-transform: uppercase;
    letter-spacing: 1.8px;
    color: var(--qs-verde);
    margin-bottom: 1.5rem;
    padding-bottom: 0.5rem;
    border-bottom: 0.5px solid #e0e8c8;
}

.woocommerce-tabs .woocommerce-Tabs-panel h1 {
    color: var(--qs-preto_2);
    margin: 0 0 1rem;
    letter-spacing: -0.3px;
}

.woocommerce-tabs .woocommerce-Tabs-panel h2:not(:first-child) {
    color: var(--qs-preto_2);
    margin: 1.75rem 0 0.6rem;
    padding-left: 10px;
    border-left: 3px solid var(--qs-verde);
}

.woocommerce-tabs .woocommerce-Tabs-panel h3 {
    color: var(--qs-preto_2);
    margin: 1.25rem 0 0.5rem;
}

.woocommerce-tabs .woocommerce-Tabs-panel h6 {
    text-transform: uppercase;
    letter-spacing: 1.2px;
    color: var(--qs-verde);
    margin: 1.5rem 0 0.5rem;
}

.woocommerce-tabs .woocommerce-Tabs-panel p {
    line-height: 1.75;
    color: var(--qs-cinza-texto);
    margin-bottom: 0.85rem;
}

.woocommerce-tabs .woocommerce-Tabs-panel a {
    color: var(--qs-verde);
    text-decoration: none;
    border-bottom: 1px solid #c8dc80;
    transition: color 0.2s, border-color 0.2s;
}

.woocommerce-tabs .woocommerce-Tabs-panel a:hover {
    color: var(--qs-verde-escuro);
    border-bottom-color: var(--qs-verde);
}

.woocommerce-tabs .woocommerce-Tabs-panel p:has(br) {
    background: #f7f9f2;
    border: 0.5px solid #dde8bb;
    padding: 1rem 1.25rem;
    line-height: 2;
    color: var(--qs-cinza-texto);
}

.woocommerce-tabs .woocommerce-product-attributes {
    width: 100%;
    border-collapse: collapse;
}

.woocommerce-tabs .woocommerce-product-attributes tr {
    border-bottom: 0.5px solid #e8eedd;
}

.woocommerce-tabs .woocommerce-product-attributes tr:last-child { border-bottom: none; }

.woocommerce-tabs .woocommerce-product-attributes th {
    width: 160px;
    padding: 12px 16px 12px 0;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    color: var(--qs-cinza-muted);
    vertical-align: top;
    text-align: left;
}

.woocommerce-tabs .woocommerce-product-attributes td {
    padding: 12px 0;
    color: var(--qs-preto_2);
    vertical-align: top;
}

/* ================================
   ORDENAÇÃO WOOCOMMERCE
================================ */

.woocommerce-ordering select.orderby {
    padding: 8px 12px;
    border: 1px solid #ddd;
    background: var(--qs-branco);
    cursor: pointer;
    outline: none;
    transition: border-color 0.2s ease;
}

.woocommerce-ordering select.orderby:focus,
.woocommerce-ordering select.orderby:hover { border-color: var(--qs-verde); }

/* ================================
   DÚVIDAS FREQUENTES — FAQ
================================ */

.pagina-faq { max-width: var(--qs-max); }

.faq-categoria {
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--qs-verde);
    margin-top: 2.5rem;
    margin-bottom: 0;
    padding-bottom: 6px;
    border-bottom: 2px solid var(--qs-verde);
}

.faq-item { border-bottom: 1px solid #e5e5e5; }

.faq-item summary {
    padding: 16px 0;
    cursor: pointer;
    list-style: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
}

.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::marker               { display: none; }

.faq-item summary::after {
    content: '+';
    font-size: 22px;
    font-weight: 300;
    color: var(--qs-verde);
    flex-shrink: 0;
    transition: transform 0.2s ease;
}

.faq-item[open] summary::after { transform: rotate(45deg); }

.faq-item p {
    padding-bottom: 16px;
    line-height: 1.7;
    color: var(--qs-cinza-texto);
    margin: 0;
}

.faq-item a { color: var(--qs-verde); text-decoration: underline; }

/* ================================
   FAQ — BLOCO DETALHES (wp-block-details)
================================ */

.wp-block-details {
    border-bottom: 1px solid #ddd;
    padding: 0;
    margin-bottom: 0 !important;
}

.wp-block-details summary {
    padding: 16px 0;
    cursor: pointer;
    list-style: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::marker               { display: none; }

.wp-block-details summary::after {
    content: '+';
    font-size: 20px;
    font-weight: 300;
    color: var(--qs-verde);
    transition: transform 0.2s ease;
}

.wp-block-details[open] summary::after { transform: rotate(45deg); }

.wp-block-details > *:not(summary) {
    padding: 0 0 16px 0;
    line-height: 1.7;
    color: var(--qs-cinza-texto);
}

.pagina-faq h3 {
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--qs-verde);
    margin-top: 2rem;
    margin-bottom: 0.5rem;
    padding-bottom: 6px;
    border-bottom: 2px solid var(--qs-verde);
}

/* ================================
   CARDS DUPLOS
================================ */

.cards-duplos {
    display: flex;
    gap: 10px;
    max-width: var(--qs-max);
    margin: 0 auto;
    width: 100%;
}

.card-duplo {
    flex: 1;
    display: flex;
    min-width: 0;
}

.card-duplo__texto {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 32px 24px;
    min-width: 0;
}

.card-duplo__imagem {
    flex: 1;
    min-width: 0;
    overflow: hidden;
}

.card-duplo__imagem img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.card-duplo:hover .card-duplo__imagem img { transform: scale(1.05); }

.card-duplo__titulo    { color: var(--qs-preto); margin: 0 0 10px; line-height: 1.2; }
.card-duplo__paragrafo { color: var(--qs-preto); margin: 0 0 20px; line-height: 1.5; }

.card-duplo__botao {
    display: inline-block;
    background: var(--qs-preto);
    color: var(--qs-branco);
    padding: 10px 22px;
    text-decoration: none;
    transition: background 0.2s ease;
}

.card-duplo__botao:hover { background: #333; color: var(--qs-branco); }

/* ================================
   FORMAS DE PAGAMENTO
================================ */

.pagamento-intro  { color: var(--qs-cinza-texto); margin-bottom: 2rem; }
.pagamento-item   { padding: 1.5rem 0; }

.pagamento-titulo {
    color: var(--qs-preto);
    margin: 0 0 12px;
    padding-left: 12px;
    border-left: 4px solid var(--qs-verde);
}

.pagina-pagamento h1 { text-align: center; }

.pagamento-subtitulo {
    color: var(--qs-cinza-texto);
    margin: 1rem 0 6px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.pagamento-item p { line-height: 1.7; color: var(--qs-cinza-texto); margin: 0 0 10px; }

.pagamento-divisor { border: none; border-top: 1px solid #e5e5e5; margin: 0; }

/* ================================
   LABEL DE PROMOÇÃO DO PRODUTO
================================ */

.wc-block-components-product-sale-badge {
    background-color: var(--qs-amarelo);
    border-radius: 20;
    padding: 4px 10px;
    border: 3px solid #ffeeaa;
    font-weight: 400;
}

/* ================================
   PÁGINA QUEM SOMOS
================================ */

/* HERO */
.qs-hero {
    background: var(--qs-branco);
    padding: 80px 40px;
    position: relative;
    overflow: hidden;
}

.qs-hero::after {
    content: 'ID';
    position: absolute;
    right: -20px;
    top: 50%;
    transform: translateY(-50%);
    font-family: var(--qs-font);
    font-weight: 900;
    font-size: 320px;
    color: rgba(136, 170, 0, 0.04);
    line-height: 1;
    pointer-events: none;
    user-select: none;
    letter-spacing: -0.05em;
}

.qs-hero-inner {
    max-width: var(--qs-max);
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
    position: relative;
    z-index: 1;
}

.qs-hero-label {
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--qs-verde);
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 12px;
}

.qs-hero-label::before {
    content: '';
    display: block;
    width: 40px;
    height: 2px;
    background: var(--qs-verde);
}

.qs-hero h1 {
    text-transform: uppercase;
    margin-bottom: 28px;
    color: var(--qs-preto);
}

.qs-hero h1 em { font-style: italic; color: var(--qs-verde); }

.qs-hero-desc {
    color: var(--qs-cinza-texto);
    line-height: 1.8;
    margin-bottom: 48px;
    max-width: 440px;
}

.qs-hero-nums { display: flex; gap: 32px; }

.qs-hero-num {
    position: relative;
    padding-left: 16px;
}

.qs-hero-num::before {
    content: '';
    position: absolute;
    left: 0;
    top: 4px;
    bottom: 4px;
    width: 3px;
    background: var(--qs-lima);
}

.qs-hero-num strong { display: block; color: var(--qs-preto); line-height: 1; }
.qs-hero-num span   { text-transform: uppercase; color: var(--qs-cinza-muted); }

.qs-hero-foto { position: relative; }

.qs-hero-foto img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    display: block;
}

.qs-hero-foto-badge {
    position: absolute;
    bottom: -20px;
    left: -20px;
    background: var(--qs-verde);
    color: var(--qs-branco);
    letter-spacing: 0.2em;
    text-transform: uppercase;
    padding: 14px 20px;
    z-index: 2;
}

/* MÉTRICAS */
.qs-metricas {
    background: var(--qs-verde);
    padding: 64px 40px;
    margin-top: 60px;
}

.qs-metricas-inner {
    max-width: var(--qs-max);
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}

.qs-metrica {
    padding: 24px 32px;
    text-align: center;
    position: relative;
}

.qs-metrica:not(:last-child)::after {
    content: '';
    position: absolute;
    right: 0;
    top: 20%;
    bottom: 20%;
    width: 1px;
    background: rgba(255,255,255,0.2);
}

.qs-metrica-num {
    display: block;
    color: var(--qs-branco);
    line-height: 1;
}

.qs-metrica-num sup { color: var(--qs-amarelo); vertical-align: super; }

.qs-metrica-label {
    display: block;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.6);
    margin-top: 8px;
}

/* SEÇÕES ALTERNADAS */
.qs-splits {
    max-width: var(--qs-max);
    margin: 0 auto;
    padding: 100px 40px;
}

.qs-split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
    margin-bottom: 120px;
}

.qs-split:last-child { margin-bottom: 0; }

.qs-split.qs-inv .qs-split-txt { order: 2; }
.qs-split.qs-inv .qs-split-img { order: 1; }

.qs-split-img { position: relative; }

.qs-split-img img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    display: block;
}

.qs-split-img-accent {
    position: absolute;
    bottom: -10px;
    left: -10px;
    right: 40px;
    height: 4px;
    background: var(--qs-lima);
}

.qs-split-img-num {
    position: absolute;
    top: -24px;
    right: -24px;
    background: var(--qs-off-white);
    border: 1px solid #e0e0d8;
    padding: 12px 16px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--qs-cinza-muted);
}

.qs-split-tag {
    letter-spacing: 0.25em;
    text-transform: uppercase;
    color: var(--qs-ciano);
    margin-bottom: 14px;
}

.qs-split-txt h2 {
    text-transform: uppercase;
    line-height: 1.05;
    margin-bottom: 20px;
    color: var(--qs-preto);
}

.qs-split-txt h2 em { font-style: italic; color: var(--qs-verde); }
.qs-split-txt p     { color: var(--qs-cinza-texto); margin-bottom: 14px; }

.qs-split-box {
    margin-top: 24px;
    padding: 16px 20px;
    background: var(--qs-cinza-texto);
    border-left: 4px solid var(--qs-lima);
    color: var(--qs-branco);
    letter-spacing: 0.01em;
}

/* FAIXA VERDE LIMA */
.qs-faixa-verde {
    background: var(--qs-lima);
    padding: 80px 40px;
}

.qs-faixa-verde-inner {
    max-width: var(--qs-max);
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
}

.qs-faixa-verde h2 {
    text-transform: uppercase;
    line-height: 1.0;
    color: var(--qs-preto);
}

.qs-faixa-verde h2 em { font-style: italic; color: var(--qs-verde); }
.qs-faixa-verde p     { color: var(--qs-branco); line-height: 1.8; margin-bottom: 12px; }

.qs-faixa-verde-lista {
    list-style: none;
    margin-top: 20px;
    padding: 0;
}

.qs-faixa-verde-lista li {
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--qs-preto);
    padding: 10px 0;
    border-bottom: 1px solid rgba(0,0,0,0.12);
    display: flex;
    align-items: center;
    gap: 12px;
}

.qs-faixa-verde-lista li::before {
    content: '';
    display: block;
    width: 20px;
    height: 3px;
    background: var(--qs-verde);
    flex-shrink: 0;
}

/* GALERIA */
.qs-galeria-wrap {
    padding: 100px 40px;
    background: var(--qs-off-white);
}

.qs-galeria-header {
    max-width: var(--qs-max);
    margin: 0 auto 48px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 40px;
}

.qs-galeria-header h2 {
    text-transform: uppercase;
    line-height: 1.0;
    color: var(--qs-preto);
}

.qs-galeria-header h2 em { font-style: italic; color: var(--qs-verde); }
.qs-galeria-header p     { color: var(--qs-cinza-muted); max-width: 280px; text-align: right; line-height: 1.6; }

.qs-galeria-grid {
    max-width: var(--qs-max);
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 4px;
}

.qs-galeria-grid div img {
    width: 100%;
    height: 260px;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease, filter 0.4s ease;
    filter: saturate(0.8);
}

.qs-galeria-grid div img:hover {
    transform: scale(1.02);
    filter: saturate(1.1);
    z-index: 1;
    position: relative;
}

.qs-galeria-grid .wide      { grid-column: span 2; }
.qs-galeria-grid .wide img  { height: 260px; }

/* PROPÓSITO */
.qs-proposito {
    padding: 120px 40px;
    background: var(--qs-preto);
    position: relative;
    overflow: hidden;
}

.qs-proposito::before {
    content: '"';
    position: absolute;
    left: -20px;
    top: -60px;
    font-size: 500px;
    font-weight: 900;
    color: rgba(170,212,0,0.05);
    line-height: 1;
    pointer-events: none;
    font-family: var(--qs-font);
}

.qs-proposito-inner {
    max-width: 760px;
    margin: 0 auto;
    text-align: center;
    position: relative;
    z-index: 1;
}

.qs-proposito-tag {
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--qs-lima);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-bottom: 32px;
}

.qs-proposito-tag::before,
.qs-proposito-tag::after {
    content: '';
    display: block;
    width: 32px;
    height: 1px;
    background: var(--qs-lima);
}

.qs-proposito h2 {
    text-transform: uppercase;
    line-height: 1.1;
    color: var(--qs-branco);
    margin-bottom: 28px;
}

.qs-proposito h2 em { font-style: italic; color: var(--qs-lima); }
.qs-proposito p     { color: rgba(255,255,255,0.6); line-height: 1.9; margin-bottom: 14px; }

.qs-btn-cta {
    display: inline-block;
    margin-top: 48px;
    padding: 18px 48px;
    background: var(--qs-lima);
    color: var(--qs-preto);
    font-weight: 800;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    text-decoration: none;
    transition: background 0.2s, letter-spacing 0.2s;
}

.qs-btn-cta:hover {
    background: var(--qs-ciano);
    letter-spacing: 0.28em;
    text-decoration: none;
    color: var(--qs-preto);
}

/* =====================================================
   MINHA CONTA
===================================================== */

/* Página de login (não logado) */
.woocommerce-account:not(.logged-in) .woocommerce {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
}

.woocommerce-account:not(.logged-in) .u-column1,
.woocommerce-account:not(.logged-in) .woocommerce-form-login-toggle {
    width: 100%;
    max-width: 440px;
}

.woocommerce-account:not(.logged-in) .u-column1 h2 {
    margin-bottom: 24px;
    padding-bottom: 0;
    border-bottom: none;
}

.woocommerce-account:not(.logged-in) .woocommerce-form-login {
    margin-top: 20px;
    margin-left: 0;
    padding: 32px;
    border: 1px solid var(--qs-cinza-borda);
    background: var(--qs-off-white);
    width: 100%;
    box-sizing: border-box;
}

/* Layout principal */
.woocommerce-account .woocommerce {
    display: flex;
    gap: 0;
    align-items: flex-start;
}

/* Navegação lateral */
.woocommerce-MyAccount-navigation {
    width: 220px;
    min-width: 220px;
    margin-right: 40px;
    border-top: 2px solid var(--qs-preto);
}

.woocommerce-MyAccount-navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.woocommerce-MyAccount-navigation ul li {
    border-bottom: 1px solid var(--qs-cinza-borda);
}

.woocommerce-MyAccount-navigation ul li a {
    display: block;
    padding: 12px 16px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--qs-cinza-muted);
    text-decoration: none;
    background: transparent;
    transition: color 0.15s, background 0.15s;
}

.woocommerce-MyAccount-navigation ul li a:hover {
    color: var(--qs-preto);
    background: var(--qs-cinza-fundo);
}

.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--is-active a {
    color: var(--qs-branco);
    background: var(--qs-preto);
    font-weight: 700;
}

/* Conteúdo principal */
.woocommerce-MyAccount-content {
    flex: 1;
    min-width: 0;
    padding-top: 0;
}

.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3 {
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--qs-preto);
    margin: 0 0 20px;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--qs-preto);
}

.woocommerce-MyAccount-content h3 {
    border-width: 1px;
    border-color: var(--qs-cinza-borda);
}

/* Formulários */
.woocommerce-account .woocommerce-form-row,
.woocommerce-account .form-row { margin-bottom: 16px; }

.woocommerce-account label {
    display: block;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--qs-cinza-muted);
    margin-bottom: 6px;
}

.woocommerce-account input[type="text"],
.woocommerce-account input[type="email"],
.woocommerce-account input[type="password"],
.woocommerce-account input[type="tel"],
.woocommerce-account input[type="number"],
.woocommerce-account select,
.woocommerce-account textarea {
    width: 100%;
    height: 44px;
    padding: 0 14px;
    color: var(--qs-cinza-texto);
    background: var(--qs-branco);
    border: 1px solid var(--qs-cinza-borda);
    border-radius: 0;
    outline: none;
    box-shadow: none;
    appearance: none;
    -webkit-appearance: none;
    transition: border-color 0.15s;
    box-sizing: border-box;
}

.woocommerce-account textarea {
    height: 120px;
    padding-top: 12px;
    resize: vertical;
}

.woocommerce-account input:focus,
.woocommerce-account select:focus,
.woocommerce-account textarea:focus {
    border-color: var(--qs-preto);
    outline: none;
    box-shadow: none;
}

/* Botões */
.woocommerce-MyAccount-content .button,
.woocommerce-MyAccount-content button[type="submit"],
.woocommerce-MyAccount-content input[type="submit"],
.woocommerce-MyAccount-content .woocommerce-Button,
.woocommerce-MyAccount-content .wc-forward,
.woocommerce-form-login .button,
.woocommerce-form-login button[type="submit"],
.woocommerce-form-login input[type="submit"],
.woocommerce-form-register .button,
.woocommerce-form-register button[type="submit"],
.woocommerce-form-register input[type="submit"] {
    display: inline-block;
    height: 44px;
    padding: 0 28px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--qs-branco) !important;
    background: var(--qs-preto) !important;
    border: 2px solid var(--qs-preto);
    border-radius: 0;
    cursor: pointer;
    text-decoration: none;
    line-height: 40px;
    transition: background 0.15s, color 0.15s;
    box-shadow: none;
    appearance: none;
}

.woocommerce-MyAccount-content .button:hover,
.woocommerce-MyAccount-content button[type="submit"]:hover,
.woocommerce-MyAccount-content input[type="submit"]:hover,
.woocommerce-MyAccount-content .woocommerce-Button:hover,
.woocommerce-form-login .button:hover,
.woocommerce-form-login button[type="submit"]:hover,
.woocommerce-form-register .button:hover,
.woocommerce-form-register button[type="submit"]:hover {
    background: var(--qs-branco) !important;
    color: var(--qs-preto) !important;
    text-decoration: none;
}

.woocommerce-MyAccount-content .button.alt,
.woocommerce-MyAccount-content a.button.alt {
    background: var(--qs-branco) !important;
    color: var(--qs-preto) !important;
    border-color: var(--qs-preto);
}

.woocommerce-MyAccount-content .button.alt:hover {
    background: var(--qs-preto) !important;
    color: var(--qs-branco) !important;
}

.woocommerce-MyAccount-content > p:first-child {
    line-height: 1.75;
    color: var(--qs-cinza-muted);
    border-left: 3px solid var(--qs-preto);
    padding-left: 16px;
    margin-bottom: 24px;
}

/* Tabela de pedidos */
.woocommerce-orders-table,
.woocommerce-account table.shop_table {
    width: 100%;
    border-collapse: collapse;
    border-top: 2px solid var(--qs-preto);
}

.woocommerce-orders-table thead,
.woocommerce-account table.shop_table thead { background: var(--qs-cinza-fundo); }

.woocommerce-orders-table thead th,
.woocommerce-account table.shop_table thead th {
    padding: 11px 16px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--qs-cinza-muted);
    border-bottom: 1px solid var(--qs-cinza-borda);
    text-align: left;
}

.woocommerce-orders-table tbody td,
.woocommerce-account table.shop_table tbody td {
    padding: 13px 16px;
    border-bottom: 1px solid var(--qs-cinza-fundo);
    color: var(--qs-cinza-texto);
    vertical-align: middle;
}

.woocommerce-orders-table tbody tr:hover td,
.woocommerce-account table.shop_table tbody tr:hover td { background: var(--qs-off-white); }

/* Status dos pedidos */
mark.order-status {
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 3px 8px;
    border-radius: 0;
    border: 1px solid;
}

mark.order-status.status-completed  { background: var(--qs-preto);      color: var(--qs-branco);          border-color: var(--qs-preto); }
mark.order-status.status-processing { background: var(--qs-cinza-fundo); color: var(--qs-cinza-texto);     border-color: var(--qs-cinza-borda); }
mark.order-status.status-on-hold    { background: var(--qs-off-white);   color: var(--qs-cinza-muted);     border-color: var(--qs-cinza-borda); }
mark.order-status.status-cancelled  { background: var(--qs-branco);      color: var(--qs-cinza-muted);     border-color: var(--qs-cinza-borda); text-decoration: line-through; }
mark.order-status.status-refunded   { background: var(--qs-off-white);   color: var(--qs-cinza-muted);     border-color: var(--qs-cinza-borda); }
mark.order-status.status-failed     { background: var(--qs-branco);      color: var(--qs-vermelho-escuro); border-color: var(--qs-vermelho-escuro); }

/* Endereços */
.woocommerce-account .woocommerce-Addresses {
    display: flex;
    gap: 24px;
    width: 100%;
    margin-bottom: 24px;
    align-items: stretch;
}

.woocommerce-account .woocommerce-Addresses .col-1,
.woocommerce-account .woocommerce-Addresses .col-2,
.woocommerce-account .woocommerce-Addresses .u-column1,
.woocommerce-account .woocommerce-Addresses .u-column2 {
    float: none !important;
    width: 50% !important;
    max-width: 50% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex;
}

.woocommerce-account .woocommerce-Address {
    width: 100%;
    display: flex;
    flex-direction: column;
    background: var(--qs-off-white);
    padding: 28px;
    border: 1px solid var(--qs-cinza-borda);
    box-sizing: border-box;
}

.woocommerce-account .woocommerce-Address-title {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--qs-cinza-borda);
}

.woocommerce-account .woocommerce-Address-title h2 {
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--qs-preto);
    margin: 0;
    padding: 0;
    border: none;
    line-height: 1.4;
}

.woocommerce-account .woocommerce-Address-title a {
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--qs-cinza-muted);
    text-decoration: none;
    white-space: nowrap;
    border-bottom: 1px solid transparent;
    transition: color 0.15s, border-color 0.15s;
}

.woocommerce-account .woocommerce-Address-title a:hover {
    color: var(--qs-preto);
    border-color: var(--qs-preto);
}

.woocommerce-account .woocommerce-Address address {
    flex: 1;
    font-style: normal;
    line-height: 1.85;
    color: var(--qs-cinza-muted);
}

/* Notificações */
.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-info,
.woocommerce-account .woocommerce-error {
    border-radius: 0;
    border: none;
    border-left: 3px solid var(--qs-preto);
    background: var(--qs-cinza-fundo);
    padding: 12px 18px;
    color: var(--qs-cinza-texto);
    margin-bottom: 24px;
    box-shadow: none;
}

.woocommerce-account .woocommerce-error {
    border-color: var(--qs-vermelho-escuro);
    background: #fff8f8;
    color: #c00;
}

.woocommerce-account .woocommerce-info { border-color: var(--qs-cinza-borda); }

/* Fieldset */
.woocommerce-account .woocommerce-EditAccountForm fieldset {
    border: 1px solid var(--qs-cinza-borda);
    padding: 20px;
    margin: 0 0 20px;
}

.woocommerce-account .woocommerce-EditAccountForm legend {
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--qs-cinza-muted);
    padding: 0 8px;
}

/* Paginação */
.woocommerce-account nav.woocommerce-pagination ul {
    list-style: none;
    display: flex;
    gap: 4px;
    padding: 0;
    margin: 24px 0 0;
}

.woocommerce-account nav.woocommerce-pagination ul li a,
.woocommerce-account nav.woocommerce-pagination ul li span {
    display: block;
    width: 36px;
    height: 36px;
    line-height: 34px;
    text-align: center;
    color: var(--qs-cinza-muted);
    border: 1px solid var(--qs-cinza-borda);
    text-decoration: none;
    transition: background 0.15s;
}

.woocommerce-account nav.woocommerce-pagination ul li a:hover {
    background: var(--qs-cinza-fundo);
    color: var(--qs-preto);
}

.woocommerce-account nav.woocommerce-pagination ul li span.current {
    background: var(--qs-preto);
    color: var(--qs-branco);
    border-color: var(--qs-preto);
}

/* =====================================================
   FAIXA CONTATO INSTITUTO — AZUL
===================================================== */

.contato-card {
    max-width: var(--qs-max);
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 24px;
    background: var(--qs-ciano);
    padding: 28px;
}

.contato-logo {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    height: 100%;
    padding-left: 40px;
}

.contato-logo img { width: 82px; height: auto; display: block; }

.contato-conteudo { flex: 1; }

.contato-titulo { color: var(--qs-branco); margin-bottom: 18px; }

.contato-links { display: flex; flex-direction: column; gap: 14px; }

.contato-link {
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--qs-cinza-texto);
    text-decoration: none;
    transition: 0.2s ease;
}

.contato-link:hover {
    color: var(--qs-branco);
    transform: translateX(3px);
    text-decoration: none;
}

.contato-link svg {
    width: 25px;
    height: 25px;
    flex-shrink: 0;
    color: var(--qs-ciano-escuro);
}

/* =====================================================
   FOOTER
===================================================== */

.footer-horizonte { text-align: center; }

.footer-horizonte img {
    display: block;
    max-width: var(--qs-max);
    width: 100%;
    margin: 0 auto;
    height: auto;
}

.footer-principal {
    background-color: var(--qs-preto-terra);
    width: 100vw;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    margin: 0;
    padding: 0;
}

.footer-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    max-width: var(--qs-max);
    margin: 0 auto;
    padding: 48px 24px;
    gap: 24px;
}

.footer-col--atendimento   { flex: 2   1 280px; }
.footer-col--ajuda         { flex: 1.5 1 200px; }
.footer-col--institucional { flex: 1.2 1 170px; }
.footer-col--pagamentos    { flex: 1.5 1 200px; }

.footer-col h3 { color: var(--qs-lima); margin: 0 0 18px; padding: 0; line-height: 1.3; }
.footer-col p  { color: var(--qs-branco); }

.footer-col a { color: var(--qs-branco); text-decoration: none; transition: color 0.2s; }
.footer-col a:hover { color: var(--qs-lima); }

.footer-col--pagamentos img { display: block; width: 100%; max-width: 240px; height: auto; }

.footer-barra {
    background-color: var(--qs-preto);
    width: 100vw;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    margin: 0;
    padding: 0;
}

.footer-barra-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: var(--qs-max);
    margin: 0 auto;
    padding: 20px 24px;
}

.footer-tagline { color: var(--qs-branco); margin: 0; line-height: 1.4; }

.footer-social { list-style: none; margin: 0; padding: 0; display: flex; gap: 16px; }

.footer-social a { color: var(--qs-branco); display: flex; align-items: center; transition: color 0.2s; }
.footer-social a:hover { color: var(--qs-lima); }

/* =====================================================
   PÁGINA DOWNLOADS
===================================================== */

.dl-page {
    max-width: var(--qs-max);
    margin: 0 auto;
    padding: 0 24px 80px;
}

.dl-hero {
    background: var(--qs-preto);
    padding: 70px 60px;
    margin: 40px 0;
}

.dl-hero__label {
    color: var(--qs-lima);
    text-transform: uppercase;
    letter-spacing: 0.15em;
    margin: 0 0 15px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.dl-hero__label svg { width: 32px; height: 32px; flex-shrink: 0; color: var(--qs-branco); }

.dl-hero__title { color: var(--qs-branco); margin: 0 0 20px; line-height: 1.1; }
.dl-hero__title em { color: var(--qs-lima); font-style: normal; }
.dl-hero__sub  { color: var(--qs-branco); max-width: 650px; line-height: 1.7; }

.dl-tabs { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 50px; }

.dl-tabs a {
    text-decoration: none;
    background: var(--qs-cinza-fundo);
    color: var(--qs-cinza-texto);
    padding: 12px 20px;
    transition: 0.2s;
}

.dl-tabs a:hover { background: var(--qs-lima); color: var(--qs-preto); }

.dl-section { margin-bottom: 70px; scroll-margin-top: 120px; }

.dl-section-title {
    color: var(--qs-preto);
    margin-bottom: 25px;
    border-left: 5px solid var(--qs-lima);
    padding-left: 15px;
}

.dl-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 24px;
}

.dl-card {
    background: var(--qs-branco);
    border: 1px solid var(--qs-cinza-muted);
    padding: 24px;
    transition: 0.2s;
}

.dl-card:hover {
    border-color: var(--qs-lima);
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(0,0,0,0.08);
}

.dl-card h3 { margin: 0 0 12px; }
.dl-card p  { color: #666; line-height: 1.6; margin-bottom: 20px; }

.dl-btn {
    display: inline-block;
    background: var(--qs-preto);
    color: var(--qs-branco);
    text-decoration: none;
    padding: 10px 18px;
    transition: 0.2s;
}

.dl-btn:hover { background: var(--qs-lima); color: var(--qs-preto); }


/* >RESPONSIVO ============================================================
=========================================================================

                                          $$\
                                          \__|
 $$$$$$\   $$$$$$\   $$$$$$$\   $$$$$$$\ $$\ $$\    $$\  $$$$$$\
$$  __$$\ $$  __$$\ $$  _____|$$  _____|$$ |\$$\  $$  |$$  __$$\
$$ |  \__|$$$$$$$$ |\$$$$$$\  \$$$$$$\  $$ | \$$\$$  / $$ /  $$ |
$$ |      $$   ____| \____$$\  \____$$\ $$ |  \$$$  /  $$ |  $$ |
$$ |      \$$$$$$$\ $$$$$$$  |$$$$$$$  |$$ |   \$  /   \$$$$$$  |
\__|       \_______|\_______/ \_______/ \__|    \_/     \______/

========================================================================= */

/* ATÉ 1023px (mobile + tablet) */
@media (max-width: 1023px) {

    .header-container {
        display: grid;
        grid-template-columns: auto auto 1fr auto;
        grid-template-rows: auto auto;
        align-items: center;
        gap: 6px;
    }

    .header-search {
        grid-column: 1 / -1;
        width: 100%;
        margin-top: 8px;
    }

    .regua4           { grid-template-columns: repeat(2, 1fr); }
    .categorias-grid  { grid-template-columns: repeat(4, 1fr); }
    .depoimentos-grid { grid-template-columns: repeat(2, 1fr); }

    .cards-duplos { gap: 10px; }
    .card-duplo__texto { padding: 24px 16px; }

    /* Quem somos */
    .qs-hero-inner,
    .qs-split,
    .qs-faixa-verde-inner    { grid-template-columns: 1fr; gap: 40px; }
    .qs-hero-foto            { display: none; }
    .qs-split.qs-inv .qs-split-txt,
    .qs-split.qs-inv .qs-split-img { order: unset; }
    .qs-metricas-inner       { grid-template-columns: repeat(2, 1fr); }
    .qs-metrica::after       { display: none; }
    .qs-galeria-grid         { grid-template-columns: 1fr 1fr; }
    .qs-galeria-header       { flex-direction: column; align-items: flex-start; }
    .qs-galeria-header p     { text-align: left; }
    .qs-hero,
    .qs-splits,
    .qs-galeria-wrap,
    .qs-proposito,
    .qs-faixa-verde          { padding-left: 20px; padding-right: 20px; }
    .qs-metricas             { padding-left: 20px; padding-right: 20px; }
}

/* 360px */
@media (max-width: 360px) {
    .card-duplo__paragrafo { font-size: 13px; }
    .card-duplo__botao     { padding: 8px 16px; font-size: 13px; }
    .card-duplo__imagem    { height: 180px; }
}

/* 479px */
@media (max-width: 479px) {

    .header-logo img,
    .custom-logo { max-height: 28px; }

    .header-icons svg { width: 20px; height: 20px; }

    .hero-content { padding: 12px 15px; max-width: 95%; }

    .categorias-wrapper { padding: 0; }
    .categorias-grid    { gap: 0; padding: 0; }

    .regua4 .item   { padding: 10px; gap: 1px; }
    .regua4 .icone  { flex: 0 0 30px; }
    .regua4 .icone svg { width: 30px; height: 30px; }
    .regua4 h3      { font-size: 0.6rem; }
    .regua4 p       { font-size: 0.6rem; }

    .institucional-links { grid-template-columns: 1fr; }

    .banner-topo { height: 120px; }

    .banner-texto {
        top: auto;
        bottom: 28px;
        transform: none;
        left: 25px;
        right: 10px;
        text-align: left;
        align-items: flex-start;
    }

    .banner-texto p { display: block !important; }

    .depoimentos-grid { grid-template-columns: 1fr; }

    .preco-pix .valor-pix,
    .preco-pix .texto-pix { font-size: 12px; }

    img.attachment-woocommerce_thumbnail {
        width: 100% !important;
        height: auto !important;
        object-fit: cover !important;
    }

    /* Termos */
    .termos-num              { font-size: 3rem; min-width: 56px; }
    .termos-body             { padding-left: 74px; }
    .termos-section          { scroll-margin-top: 9rem; }
    .termos-toc              { padding: 1rem; }
    .termos-toc-grid         { grid-template-columns: 1fr; gap: 2px; }
    .termos-toc-item         { width: 100%; line-height: 1.45; padding: 8px 0; align-items: flex-start; }
    .termos-toc-num          { min-width: 24px; flex-shrink: 0; }

    /* Minha conta */
    .woocommerce-account .woocommerce-Addresses { flex-direction: column; }
    .woocommerce-account .woocommerce-Addresses .col-1,
    .woocommerce-account .woocommerce-Addresses .col-2,
    .woocommerce-account .woocommerce-Addresses .u-column1,
    .woocommerce-account .woocommerce-Addresses .u-column2 {
        width: 100% !important;
        max-width: 100% !important;
    }

    /* Faixa contato */
    .contato_instituto { padding: 0 14px; }
    .contato-card      { flex-direction: column; align-items: flex-start; padding: 18px; gap: 18px; }
    .contato-logo img  { width: 58px; }
    .contato-link svg  { width: 18px; height: 18px; }

    /* Rodapé */
    .footer-inner       { flex-direction: column; gap: 28px; padding: 32px 16px; }
    .footer-col         { flex: 1 1 100%; }
    .footer-barra-inner { flex-direction: column; align-items: flex-start; gap: 12px; padding: 18px 16px; }
}

/* 768px */
@media (max-width: 768px) {

    .wp-block-navigation__responsive-container {
        pointer-events: none;
        opacity: 0;
    }

    .wp-block-navigation__responsive-container.is-menu-open {
        pointer-events: auto;
        opacity: 1;
    }

    .wp-block-navigation__responsive-container-open { display: flex !important; }

    /* Hero mobile */
    .hero-banner {
        background-image: url("/wp-content/uploads/2026/05/banner_instituto_digital_mob.webp");
        min-height: 250px;
    }

    .hero-content      { padding: 12px 15px; max-width: 95%; }
    .hero-content h1   { margin: 0 0 4px; }

    .institucional-links { grid-template-columns: repeat(2, 1fr); }

    .banner-topo { height: 140px; }

    /* Contato */
    .contato-grid { grid-template-columns: 1fr; }
    .contato-col-esq { text-align: center; }

    /* Cards duplos */
    .cards-duplos       { flex-direction: column; }
    .card-duplo         { width: 100%; }
    .card-duplo__imagem { height: 220px; }

    /* Termos */
    .termos-num     { font-size: 3rem; min-width: 56px; }
    .termos-body    { padding-left: 74px; }
    .termos-section { scroll-margin-top: 8.5rem; }

    /* Minha conta */
    .woocommerce-account .woocommerce { flex-direction: column; }

    .woocommerce-MyAccount-navigation {
        width: 100%;
        min-width: 0;
        margin-right: 0;
        margin-bottom: 24px;
    }

    .woocommerce-MyAccount-navigation ul {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .woocommerce-orders-table thead { display: none; }

    .woocommerce-orders-table tbody td {
        display: block;
        padding: 8px 16px;
        border-bottom: none;
    }

    .woocommerce-orders-table tbody td::before {
        content: attr(data-title) ": ";
        font-weight: 700;
        font-size: 10px;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: var(--qs-cinza-muted);
    }

    .woocommerce-orders-table tbody tr {
        display: block;
        border-bottom: 1px solid var(--qs-cinza-borda);
        padding: 8px 0;
    }

    /* Faixa contato */
    .contato-card {
        flex-direction: column;
        align-items: center;
        text-align: center;
        padding: 28px 20px;
        gap: 20px;
    }

    .contato-logo      { padding-left: 0; }
    .contato-logo img  { width: 64px; }
    .contato-titulo    { margin-bottom: 16px; }
    .contato-links     { align-items: center; }
    .contato-link      { justify-content: center; line-height: 1.5; }

    /* Rodapé */
    .footer-inner       { flex-direction: column; align-items: center; gap: 32px; padding: 40px 20px; }
    .footer-col         { flex: 1 1 100%; text-align: center; }
    .footer-col--pagamentos img { margin: 0 auto; }
    .footer-barra-inner { flex-direction: column; align-items: center; gap: 12px; padding: 18px 16px; text-align: center; }

    /* Downloads */
    .dl-hero  { padding: 45px 30px; }
    .dl-grid  { grid-template-columns: 1fr; }
    .dl-tabs  { gap: 8px; }
    .dl-tabs a { padding: 10px 16px; }
}

/* 1024px+ */
@media (min-width: 1024px) {

    .header-container {
        grid-template-columns: auto auto 1fr auto auto;
        align-items: center;
    }

    .header-menu   { justify-self: start; }
    .header-logo   { justify-self: start; }
    .header-icons  { justify-self: end; }
    .header-search { max-width: 260px; width: 100%; }

    /* Tabs WooCommerce — responsivo */
    .woocommerce-tabs ul.tabs.wc-tabs li a { padding: 10px 22px; }
}

/* Tabs WooCommerce — 768px */
@media (max-width: 768px) {
    .woocommerce-tabs ul.tabs.wc-tabs li a   { padding: 10px 14px; }
    .woocommerce-tabs .woocommerce-Tabs-panel { padding: 1.5rem 0; }
    .woocommerce-tabs .woocommerce-product-attributes th { width: 120px; }
}
