/*
Theme Name: nimo-theme
Theme URI: 
Author: nimo
Author URI: 
Description: 
Requires at least: 6.7
Tested up to: 6.7
Requires PHP: 5.7
Version: 
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: nimo-theme
Tags: 
*/

/*
 * Reusable
 */

:root {
    --nimo-blue: #1e2566;
    --nimo-lilac: #7268e1;
    --nimo-light-grey: #e0e0e0;
    --nimo-white: #ffffff;
}

/* ==== Botoes */
.nimo-button .wp-element-button {
    /* Gradiente Lilás para Lilás Profundo */
    background: linear-gradient(135deg, #7268e1 0%, #6257d0 100%) !important;
    color: #ffffff !important;

    border-radius: 50px !important;
    height: 55px !important;
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px;
    border: none !important;

    /* Sombra Lilás ("Glow" effect) */
    box-shadow: 0 10px 25px rgba(114, 104, 225, 0.4) !important;

    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
}

/* Hover: Fica ligeiramente mais escuro e sobe */
.nimo-button .wp-element-button:hover {
    background: linear-gradient(135deg, #6257d0 0%, #5146bd 100%) !important;
    transform: translateY(-3px);
    box-shadow: 0 15px 35px rgba(114, 104, 225, 0.5) !important;
}

/*
 * Card bundle options
 */

.wp-block-woocommerce-add-to-cart-with-options-variation-selector-attribute-options {
    width: 100%;
}

/* 1. O CONTENTOR (Grelha) */
/* Transforma a lista horizontal numa grelha de 2 cartões */
.wc-block-add-to-cart-with-options-variation-selector-attribute-options__pills:has(input[name*="escolha-a-sua-opcao"]) {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr);
    /* 2 Colunas */
    gap: 15px;
    width: 100%;
    margin-bottom: 25px;
}

/* 2. O ESTILO DO CARTÃO (Label) */
.wc-block-add-to-cart-with-options-variation-selector-attribute-options__pill:has(input[name*="escolha-a-sua-opcao"]) {
    display: flex !important;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    background: #ffffff;
    border: 1px solid #e0e0e0 !important;
    border-radius: 12px !important;
    /* Coerência Nimo */
    padding: 20px !important;
    min-height: 100px;
    /* Altura mínima para caber texto */

    cursor: pointer;
    position: relative;
    transition: all 0.3s ease;

    /* Reset de estilos antigos */
    color: #1e2566 !important;
    font-family: 'Rubik', sans-serif;
    font-size: 1rem !important;
    font-weight: 600;
    line-height: 1.4;
    text-align: left;
}

/* Hover Effect */
.wc-block-add-to-cart-with-options-variation-selector-attribute-options__pill:has(input[name*="escolha-a-sua-opcao"]):hover {
    border-color: #7268e1 !important;
    box-shadow: 0 5px 15px rgba(30, 37, 102, 0.05);
}

/* 3. ESTADO SELECIONADO (O Truque :has) */
/* Quando o input dentro da label está checked, mudamos o estilo da label pai */
.wc-block-add-to-cart-with-options-variation-selector-attribute-options__pill:has(input[name*="escolha-a-sua-opcao"]):has(input:checked) {
    border-color: #7268e1 !important;
    /* Borda Lilás */
    background-color: #fbfbfe !important;
    /* Fundo Lilás muito suave */
    box-shadow: 0 0 0 1px #7268e1, 0 8px 20px rgba(114, 104, 225, 0.15);
    /* Glow effect */
}

/* Esconder o "ponto" do radio button nativo se estiver visível */
.wc-block-add-to-cart-with-options-variation-selector-attribute-options__pill:has(input[name*="escolha-a-sua-opcao"]) input {
    accent-color: #7268e1;
    /* Se aparecer, fica lilás */
    margin-bottom: 8px;
    /* Espaço entre o radio e o texto */
}

/* ============================================================
   4. INJETAR CONTEÚDO (BENEFÍCIOS) VIA CSS
   ============================================================ */

/* Texto para a Opção: "Apenas Colchão" */
/* Selecionamos a label que contém o input com valor "Apenas Colchão" */
.wc-block-add-to-cart-with-options-variation-selector-attribute-options__pill:has(input[name*="escolha-a-sua-opcao"]):has(input[value="Apenas Colchão"])::after {
    content: "O essencial para dormir bem.";
    display: block;
    font-family: 'Open Sans', sans-serif;
    font-size: 0.8rem;
    color: #777;
    font-weight: 400;
    margin-top: 5px;
}

/* Texto para a Opção: "Pack Sono Completo" */
/* Aqui colocamos os benefícios */
.wc-block-add-to-cart-with-options-variation-selector-attribute-options__pill:has(input[name*="escolha-a-sua-opcao"]):has(input[value*="Pack"])::after {
    /* \a cria uma quebra de linha. white-space: pre é obrigatório */
    white-space: pre-wrap;

    display: block;
    font-family: 'Open Sans', sans-serif;
    font-size: 0.85rem;
    color: #555;
    font-weight: 400;
    margin-top: 8px;
    line-height: 1.6;
}



.wc-block-add-to-cart-with-options-variation-selector-attribute-options__pill.nimo-pack-urgent {
    border-color: #fc8181 !important;
    background-color: #fff5f5 !important;
}

.nimo-pack-countdown {
    margin-top: 12px;
    color: #e53e3e;
    font-family: 'Rubik', sans-serif;
    font-size: 0.85rem;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 6px;
}

.nimo-countdown-icon {
    color: #e53e3e;
    flex-shrink: 0;
}

.nimo-pack-countdown strong {
    color: #c53030;
    font-weight: 700;
}

/* Badge "Recomendado" no Pack (Opcional) */
.wc-block-add-to-cart-with-options-variation-selector-attribute-options__pill:has(input[name*="escolha-a-sua-opcao"]):has(input[value*="Pack"])::before {
    content: "Melhor Valor";
    position: absolute;
    top: -10px;
    right: 15px;
    background: #7268e1;
    color: #fff;
    font-size: 0.65rem;
    text-transform: uppercase;
    padding: 4px 10px;
    border-radius: 20px;
    font-weight: 700;
    letter-spacing: 0.5px;
}

/* RESPONSIVIDADE */
@media (max-width: 600px) {
    .wc-block-add-to-cart-with-options-variation-selector-attribute-options__pills:has(input[name*="escolha-a-sua-opcao"]) {
        grid-template-columns: 1fr;
        /* 1 Coluna em mobile */
    }
}

/*
 * Nimo Blog List
 */
/* ============================================================
   NIMO BLOG GRID SYSTEM (.nimo-blog)
   ============================================================ */

/* Remove o ::after global apenas na paginação do blog */
.nimo-blog .wp-block-query-pagination a::after {
    content: none !important;
    display: none !important;
}

/* 1. Contentor Principal da Grelha */
.nimo-blog .wp-block-post-template {
    display: grid !important;
    /* Força 3 colunas em Desktop */
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 40px !important;
    /* Espaço generoso entre cartões */
    list-style: none !important;
    padding: 0 !important;
}

/* 2. O Cartão do Artigo (The Cloud Card) */
.nimo-blog .wp-block-post {
    background-color: #ffffff;
    border-radius: 28px !important;
    /* Assinatura NIMO */
    border: 1px solid rgba(114, 104, 225, 0.1);
    /* Borda Lilac subtil */
    box-shadow: 0 10px 30px rgba(30, 37, 102, 0.05);
    /* Sombra suave */
    overflow: hidden;
    /* Garante que a imagem não sai dos cantos */
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    flex-direction: column;
    height: 100%;
    /* Garante altura igual para todos */
    position: relative;
    padding-bottom: 20px;
    /* Espaço no fundo */
}

/* Efeito Hover: O cartão flutua */
.nimo-blog .wp-block-post:hover {
    transform: translateY(-10px);
    box-shadow: 0 25px 60px rgba(114, 104, 225, 0.15);
    border-color: #7268e1;
}

/* 3. Imagem de Destaque (Correção do Inline Style) */
.nimo-blog .wp-block-post-featured-image {
    width: 100% !important;
    height: 240px !important;
    /* Altura fixa para alinhar a grelha */
    margin-bottom: 0 !important;
}

.nimo-blog .wp-block-post-featured-image a {
    display: block;
    height: 100% !important;
    width: 100% !important;
}

.nimo-blog .wp-block-post-featured-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    /* Corta a imagem perfeitamente */
    border-radius: 0 !important;
    /* O cartão já tem bordas redondas */
    transition: transform 0.6s ease;
}

/* Zoom suave na imagem ao passar o rato */
.nimo-blog .wp-block-post:hover .wp-block-post-featured-image img {
    transform: scale(1.08);
}

/* 4. Tipografia e Conteúdo (Padding Interno) */
/* Adicionamos padding apenas ao texto, não à imagem */
.nimo-blog .wp-block-post-title,
.nimo-blog .wp-block-post-excerpt,
.nimo-blog .wp-block-post-date {
    padding-left: 30px;
    padding-right: 30px;
}

/* Título */
.nimo-blog .wp-block-post-title {
    margin-top: 25px !important;
    margin-bottom: 15px !important;
    font-family: 'Rubik', sans-serif !important;
    font-size: 1.3rem !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
}

.nimo-blog .wp-block-post-title a {
    color: #1e2566 !important;
    /* Blue Nimo */
    text-decoration: none !important;
    transition: color 0.3s ease;
}

.nimo-blog .wp-block-post:hover .wp-block-post-title a {
    color: #7268e1 !important;
    /* Lilac no hover */
}

/* Resumo (Excerpt) */
.nimo-blog .wp-block-post-excerpt {
    font-family: 'Open Sans', sans-serif;
    color: #666;
    font-size: 0.95rem;
    line-height: 1.6;
    flex-grow: 1;
    /* Empurra a data para o fundo */
    margin-bottom: 20px !important;

    /* Limita a 3 linhas com ... */
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Data */
.nimo-blog .wp-block-post-date {
    font-family: 'Rubik', sans-serif;
    font-size: 0.75rem !important;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #b0b0b0 !important;
    font-weight: 600;
    margin-top: auto;
    /* Garante que fica no fundo */
    border-top: 1px solid #f0f0f0;
    padding-top: 15px;
    margin-bottom: 0 !important;
}

/* 5. Limpeza de Lixo */
/* Esconde o espaçador inline que o WP adiciona */
.nimo-blog .wp-block-spacer {
    display: none !important;
}

/* 6. Paginação Premium */
.nimo-blog .wp-block-query-pagination {
    margin-top: 60px !important;
    justify-content: center !important;
}

.nimo-blog .wp-block-query-pagination a {
    background: #ffffff;
    border: 1px solid #e0e0e0;
    padding: 12px 25px;
    border-radius: 50px;
    /* Cápsula */
    font-family: 'Rubik', sans-serif;
    font-weight: 600;
    color: #1e2566;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
}

.nimo-blog .wp-block-query-pagination a:hover {
    background: #1e2566;
    color: #fff;
    transform: translateY(-3px);
}

/* 7. Responsividade Mobile */
@media (max-width: 1024px) {
    .nimo-blog .wp-block-post-template {
        grid-template-columns: repeat(2, 1fr) !important;
        /* 2 colunas em Tablet */
    }
}

@media (max-width: 768px) {
    .nimo-blog .wp-block-post-template {
        grid-template-columns: 1fr !important;
        /* 1 coluna em Mobile */
        gap: 25px !important;
    }

    .nimo-blog .wp-block-post-featured-image {
        height: 200px !important;
        /* Imagem um pouco mais baixa em mobile */
    }
}


/*
 * Nimo Blog Single Page
 */

/* Remove o ::after global */
.nimo-post a::after {
    content: none !important;
    display: none !important;
}

.nimo-post .wp-block-table {
    border-collapse: collapse;
    width: 100%;
    margin: 40px 0;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    border-radius: 16px;
    overflow: hidden;
}

.nimo-post .wp-block-table thead th {
    background-color: #1e2566;
    color: #ffffff;
    font-family: 'Rubik', sans-serif;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 15px;
    font-size: 0.9rem;
}

.nimo-post .wp-block-table td {
    padding: 15px;
    border-bottom: 1px solid #eee;
}




/* ============================================================
   ISOLATED PREMIUM POST STYLES (.nimo-post ONLY)
   ============================================================ */

/* 1. Estrutura Base & Isolamento */
.nimo-post {
    background-color: #ffffff !important;
    /* Garante fundo branco */
    color: #4a4a4a;
    font-family: 'Open Sans', sans-serif;
}

/* Limita a largura do texto para leitura confortável */
.nimo-post .entry-content {

    margin: 0 auto;
    font-size: 1.1rem;
    line-height: 1.9;
    /* Ar entre linhas */
}

/* --- 2. Cabeçalho (Imagem + Título H1) --- */

/* Imagem de Destaque */
.nimo-post .wp-block-post-featured-image {
    margin-bottom: 40px !important;
    display: flex;
    justify-content: center;
}

.nimo-post .wp-block-post-featured-image img {
    border-radius: 40px !important;
    /* Sombra suave apenas na imagem */
    box-shadow: 0 40px 80px rgba(30, 37, 102, 0.15) !important;
    width: 95% !important;
    height: auto;
    transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.nimo-post .wp-block-post-featured-image:hover img {
    transform: scale(1.01);
    /* Zoom subtil */
}

/* Título H1 */
.nimo-post .wp-block-post-title {
    font-family: 'Rubik', sans-serif !important;
    text-align: center;
    font-size: 3.2rem !important;
    /* Grande e Imponente */
    font-weight: 700 !important;
    color: #1e2566 !important;
    /* Blue Nimo */
    line-height: 1.1;
    letter-spacing: -1.5px;
    margin-top: 20px !important;
    margin-bottom: 50px !important;
    padding: 0 15px;
}

/* --- 3. Tipografia Premium (H2, H3, Links) --- */

/* Títulos H2 e H3 dentro do conteúdo */
.nimo-post .entry-content h2,
.nimo-post .entry-content h3,
.nimo-post .entry-content .wp-block-heading {
    font-family: 'Rubik', sans-serif;
    color: #1e2566;
    font-weight: 700;
    margin-top: 60px;
    margin-bottom: 25px;
    position: relative;
    line-height: 1.3;
}

.nimo-post .entry-content h2 {
    font-size: 2.2rem;
}

.nimo-post .entry-content h3 {
    font-size: 1.6rem;
}

/* Detalhe: Traço Lilac debaixo dos H2 */
.nimo-post .entry-content h2::after {
    content: '';
    display: block;
    width: 50px;
    height: 4px;
    background: #7268e1;
    /* Lilac */
    margin-top: 15px;
    border-radius: 10px;
}

/* Letra Capitular (Drop Cap) - A primeira letra do texto */
.nimo-post .entry-content>.wp-block-group>p:first-of-type::first-letter {
    float: left;
    font-family: 'Rubik', sans-serif;
    font-size: 4.5rem;
    line-height: 0.8;
    font-weight: 700;
    color: #7268e1;
    margin-right: 15px;
    margin-top: 5px;
}

/* Links no Texto (Animação de Sublinhado) */
.nimo-post .entry-content p a {
    color: #1e2566;
    text-decoration: none;
    background-image: linear-gradient(#7268e1, #7268e1);
    background-size: 0% 2px;
    background-repeat: no-repeat;
    background-position: left bottom;
    transition: background-size 300ms ease;
    padding-bottom: 2px;
    font-weight: 600;
}

.nimo-post .entry-content p a:hover {
    background-size: 100% 2px;
    color: #7268e1;
}

/* --- 4. Listas e Tabelas --- */

/* Listas com Checkmark */
.nimo-post .entry-content ul {
    margin-bottom: 30px;
    padding-left: 10px;
}

.nimo-post .entry-content ul li {
    list-style: none;
    position: relative;
    padding-left: 40px;
    margin-bottom: 15px;
}

/* O ícone Check */
.nimo-post .entry-content ul li::before {
    content: '✔';
    position: absolute;
    left: 0;
    top: 3px;
    font-weight: bold;
    color: #fff;
    background: #7268e1;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    /* Bolinha */
    font-size: 11px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 10px rgba(114, 104, 225, 0.3);
}


/* --- 5. Call to Action (Botão final) --- */
/* Transforma links para produtos em botões */
.nimo-post .entry-content p a[href*="/produtos/"] {
    display: block;
    background: #1e2566;
    color: #fff !important;
    text-align: center;
    padding: 22px;
    border-radius: 50px;
    /* Cápsula */
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin-top: 40px;
    box-shadow: 0 15px 30px rgba(30, 37, 102, 0.2);
    text-decoration: none !important;
    background-image: none !important;
    /* Remove o sublinhado animado */
    transition: transform 0.3s ease, box-shadow 0.3s ease, background 0.3s;
}

.nimo-post .entry-content p a[href*="/produtos/"]:hover {
    transform: translateY(-5px);
    box-shadow: 0 25px 50px rgba(30, 37, 102, 0.25);
    background-color: #7268e1;
}

/* --- 6. Mobile Ajustes --- */
@media (max-width: 768px) {
    .nimo-post .wp-block-post-title {
        font-size: 2.2rem !important;
    }

    .nimo-post .wp-block-post-featured-image img {
        width: 100% !important;
        border-radius: 20px !important;
    }

    .nimo-post .entry-content>.wp-block-group>p:first-of-type::first-letter {
        font-size: 3.5rem;
    }
}


/*
 * Pagina das categorias dos produtos
 */
.prod-card {
    min-height: 135px;
    padding-top: var(--wp--preset--spacing--30);
    padding-right: var(--wp--preset--spacing--50);
    padding-left: var(--wp--preset--spacing--50);
}

.prod-title {
    line-height: 1.4;
    margin-bottom: 0.75rem;
    margin-top: 0;
}

.prod-card .wp-block-woocommerce-product-price .woocommerce-Price-amount {
    color: #7268e1;
    font-size: clamp(1.3rem, 1.3rem + ((1vw - 0.2rem) * 0.156), 1.125rem) !important;
    letter-spacing: 1px;
    font-family: var(--wp--preset--font-family--rubik) !important;
}

.prod-card .wp-block-woocommerce-product-price .nimo-price-prefix {
    letter-spacing: 1px;
    font-family: var(--wp--preset--font-family--rubik) !important;
    font-size: var(--wp--preset--font-size--medium) !important;
    color: var(--wp--preset--color--secondary) !important;
}


/*
 * Pagina de produto
 */

.wc-block-product-gallery-thumbnails {
    padding-top: 19px;
    padding-bottom: 60px
}

.main-pic {
    border-radius: 28px;
    padding-bottom: 14px;
}

.main-pic-div {
    padding-bottom: 50px;
}

.prev-next-button,
.wc-block-components-quantity-selector__button {
    width: 50px;
    /* Adjust size as needed */
    height: 50px;
    /* Same as width */
    border-radius: 50%;
}

.wc-block-add-to-cart-with-options-variation-selector-attribute-options__pill,
.wc-block-components-quantity-selector {
    border-radius: 28px;
}

.thumbnail-pic {
    display: flex;
    justify-content: center;
    /* centers content horizontally */
    align-items: center;
    /* centers content vertically */
}

.wc-block-product-gallery-thumbnails__scrollable {
    display: flex;
    justify-content: center;
    /* centers thumbnails horizontally */
    align-items: center;
    /* centers thumbnails vertically */
    gap: 12px;
    /* optional: space between thumbnails */
    border-radius: 28px;
}

.wc-block-product-gallery-thumbnails__thumbnail {
    display: flex;
    justify-content: center;
    align-items: center;
}


/* Preço: Grande, fino e elegante */
.nimo-price-formatted .price {
    font-family: 'Rubik', sans-serif;
    display: flex;
    align-items: baseline;
    gap: 15px;
    margin-bottom: 25px;
}

.nimo-price-formatted del {
    color: #b0b0b0;
    font-size: 1.1rem;
    font-weight: 400;
}

.nimo-price-formatted ins {
    text-decoration: none;
    color: #7268e1;
    font-size: 2.6rem;
    font-weight: 300;
    /* Letra fina = Luxo */
    letter-spacing: -1px;
}

/* Barras das caracteristicas */
.custom-bars {
    background: transparent;
    padding: 0;
    margin: 15px 0 25px 0;
    /* Menos espaço vertical */
    border: none;
}

.bar-item {
    margin-bottom: 12px;
}

.bar-label {
    font-family: 'Rubik', sans-serif;
    color: #1e2566;
    font-size: 0.65rem;
    /* Mais pequeno */
    font-weight: 700;
    text-transform: uppercase;
    /* Caixa alta */
    letter-spacing: 1.5px;
    /* Espaçamento entre letras */
    margin-bottom: 5px;
    display: block;
    opacity: 0.8;
}

.bar-background {
    background-color: #f0f0f5;
    /* Cinza muito subtil */
    height: 6px;
    /* Barra mais fina */
    border-radius: 10px;
    overflow: hidden;
}

.bar-fill {
    /* Gradiente mais suave */
    background: linear-gradient(90deg, #7268e1, #9d96ed);
    height: 100%;
    border-radius: 10px;
}

/*!* DESCRIÇÃO E BULLETS (Layout em Grid) *!*/
/*.wc-block-components-product-summary p {*/
/*    font-family: 'Open Sans', sans-serif;*/
/*    color: #4a4a4a;*/
/*    line-height: 1.8;*/
/*    margin-bottom: 25px;*/
/*}*/

/*!* Transforma a lista numa grelha de 2 colunas *!*/
/*.wc-block-components-product-summary ul {*/
/*    display: grid;*/
/*    grid-template-columns: 1fr 1fr; !* Duas colunas iguais *!*/
/*    gap: 10px 20px; !* Espaço entre linhas e colunas *!*/
/*    padding: 0;*/
/*    margin-bottom: 30px;*/
/*}*/

/*.wc-block-components-product-summary li {*/
/*    list-style-type: none;*/
/*    font-family: 'Rubik', sans-serif;*/
/*    font-size: 0.9rem;*/
/*    color: #1e2566;*/
/*    display: flex;*/
/*    align-items: center;*/
/*    gap: 10px;*/
/*}*/
/* ============================================================
   LISTA DE VANTAGENS - PREMIUM FEATURE CARDS
   ============================================================ */

/* Hero Tagline (Product Summary Paragraph — "Estabilidade DuoFlex™…") */
.wc-block-components-product-summary p {
    font-family: 'Open Sans', sans-serif !important;
    font-size: 1.15rem !important;
    font-weight: 400 !important;
    color: #1e2566 !important;
    line-height: 1.7 !important;
    margin-top: 32px !important;
    margin-bottom: 28px !important;
    padding: 20px 0 20px 24px !important;
    border-left: 3px solid #7268e1;
    letter-spacing: -0.01em;
}

/* 1. Feature Grid Container */
.wc-block-components-product-summary ul {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 40px 48px !important;
    /* Generous breathing room without boxes */
    padding: 0 !important;
    margin: 40px 0 !important;
}

/* 2. Individual Feature Item */
.wc-block-components-product-summary li {
    list-style-type: none !important;
    margin: 0 !important;
    padding: 4px 0 4px 50px !important;
    position: relative !important;
    display: block !important;

    background: transparent !important;
    border: none !important;

    /* Typography */
    font-family: 'Open Sans', sans-serif !important;
    font-size: 0.95rem !important;
    line-height: 1.6 !important;
    color: #666 !important;
}

/* Hover: Keep it clean, no box shadow. Maybe the title nudges or colors slightly */
.wc-block-components-product-summary li:hover strong,
.wc-block-components-product-summary li:hover b {
    color: #7268e1 !important;
    transition: color 0.3s ease;
}

/* 3. Checkmark Icon (Sleek Outline) */
.wc-block-components-product-summary li::before {
    content: "✓" !important;
    position: absolute !important;
    left: 0 !important;
    top: 4px !important;

    width: 32px !important;
    height: 32px !important;
    background: transparent !important;
    color: #7268e1 !important;
    border: 2px solid rgba(114, 104, 225, 0.3) !important;
    /* Soft Lilac border */
    border-radius: 50% !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-weight: 800 !important;
    font-size: 14px !important;
    transition: all 0.3s ease !important;
}

/* Hover on list item: Icon gains a slight background glowing effect */
.wc-block-components-product-summary li:hover::before {
    border-color: #7268e1 !important;
    background: rgba(114, 104, 225, 0.05) !important;
}

/* 4. Feature Title (Bold text) */
.wc-block-components-product-summary li strong,
.wc-block-components-product-summary li b {
    display: block !important;
    width: 100% !important;

    font-family: 'Rubik', sans-serif !important;
    color: #1e2566 !important;
    font-weight: 600 !important;
    font-size: 1.05rem !important;
    margin-bottom: 6px !important;
    line-height: 1.3 !important;
    transition: color 0.3s ease;
}


/* Make the Product Gallery Sticky */
.wp-block-woocommerce-product-gallery {
    position: -webkit-sticky;
    /* For Safari compatibility */
    position: sticky;
    top: 154px;
    /* Distance from the top of the screen */
    z-index: 10;
    /* Ensures it stays above other elements */
    align-self: start;
    /* Prevents flexbox stretching issues */
}

/* --- 4. VARIAÇÕES (PILLS LIMPAS) --- */
.wc-block-add-to-cart-with-options-variation-selector-attribute-name {
    font-family: 'Rubik', sans-serif;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #b0b0b0;
    /* Label cinza claro */
    margin-bottom: 12px;
}

.wc-block-add-to-cart-with-options-variation-selector-attribute-options__pills {
    gap: 8px;
}

/* Variantes (Medidas) Grid UI */
.wp-block-woocommerce-add-to-cart-with-options .wc-block-add-to-cart-with-options-variation-selector-attribute-options__pills:has(input[name*="medidas"]) {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(3, 1fr);
    /* 3 Colunas em Desktop */
    width: 100%;
}

.wc-block-add-to-cart-with-options-variation-selector-attribute-options__pill {
    background: #ffffff;
    border: 1px solid #e0e0e0;
    border-radius: 30px;
    /* Totalmente redondo */
    color: #1e2566;
    font-family: 'Rubik', sans-serif;
    font-size: 0.9rem;
    padding: 10px 18px;
    transition: all 0.2s ease;
}

/* Estilo Tile para Medidas */
.wp-block-woocommerce-add-to-cart-with-options .wc-block-add-to-cart-with-options-variation-selector-attribute-options__pill:has(input[name*="medidas"]) {
    align-items: center;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    cursor: pointer;
    display: flex;
    font-size: 0.85rem;
    justify-content: center;
    min-height: 40px;
    padding: 8px 4px;
    text-align: center;
}

.wc-block-add-to-cart-with-options-variation-selector-attribute-options__pill:hover {
    border-color: #7268e1;
    color: #7268e1;
}

/* Estado Selecionado (Geral) */
.wc-block-add-to-cart-with-options-variation-selector-attribute-options__pill:has(input:checked) {
    background-color: #1e2566;
    /* Azul Escuro NIMO */
    border-color: #1e2566;
    box-shadow: 0 4px 12px rgba(30, 37, 102, 0.2);
    color: #ffffff;
    cursor: default;
    /* Remove a mãozinha de clique */
    pointer-events: none;
    /* Bloqueia cliques */
}

/* Estado Selecionado (Específico para Medidas) */
.wp-block-woocommerce-add-to-cart-with-options .wc-block-add-to-cart-with-options-variation-selector-attribute-options__pill:has(input[name*="medidas"]):has(input:checked) {
    background-color: #fbfbfe;
    border-color: #7268e1;
    box-shadow: 0 0 0 1px #7268e1, 0 4px 12px rgba(114, 104, 225, 0.15);
    color: #1e2566;
    cursor: pointer;
    pointer-events: auto;
}

/* Esconder o rádio nativo em Medidas (Mantendo Acessibilidade) */
.wc-block-add-to-cart-with-options-variation-selector-attribute-options__pill:has(input[name*="medidas"]) input {
    clip: rect(0, 0, 0, 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    position: absolute;
    width: 1px;
}

/* Mobile: 2 colunas para Medidas */
@media (max-width: 600px) {
    .wp-block-woocommerce-add-to-cart-with-options .wc-block-add-to-cart-with-options-variation-selector-attribute-options__pills:has(input[name*="medidas"]) {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Remove nome do atributo */
label.wp-block-woocommerce-add-to-cart-with-options-variation-selector-attribute-name {
    display: none;
}

/* Mobile: Single column on small screens */
@media (max-width: 600px) {
    .wc-block-components-product-summary ul {
        grid-template-columns: 1fr !important;
    }
}

/* Quantidade em Cápsula */
.wc-block-components-quantity-selector {
    border: 1px solid #e0e0e0;
    border-radius: 50px;
    /* Cápsula */
    height: 55px;
    width: 110px;
    /* Largura fixa */
    background: #fafafa;
}

.wp-block-add-to-cart-with-options .wp-block-add-to-cart-with-options-quantity-selector {
    margin-right: 20px;
}

.wc-block-components-quantity-selector::after {
    border: 0px solid;
}

.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:focus {
    box-shadow: inset 0 0 0px 0px currentColor;
}

/* Botão COMPRAR (Floating Premium) */
/*.wp-block-woocommerce-product-button .wc-block-components-product-button__button {*/
/*    background: linear-gradient(135deg, #1e2566, #2a3285) !important; !* Gradiente subtil *!*/
/*    border-radius: 50px !important; !* Cápsula perfeita *!*/
/*    height: 55px !important;*/
/*    font-size: 1.05rem !important;*/
/*    letter-spacing: 0.5px;*/
/*    box-shadow: 0 10px 25px rgba(30, 37, 102, 0.25); !* Sombra flutuante *!*/
/*    transition: transform 0.2s ease, box-shadow 0.2s ease !important;*/
/*}*/

/*.wp-block-woocommerce-product-button .wc-block-components-product-button__button:hover {*/
/*    transform: translateY(-2px);*/
/*    box-shadow: 0 15px 35px rgba(30, 37, 102, 0.35);*/
/*    background: linear-gradient(135deg, #7268e1, #1e2566) !important;*/
/*}*/
.wp-block-woocommerce-product-button .wc-block-components-product-button__button {
    /* Gradiente Lilás para Lilás Profundo */
    background: linear-gradient(135deg, #7268e1 0%, #6257d0 100%) !important;
    color: #ffffff !important;

    border-radius: 50px !important;
    height: 55px !important;
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px;
    border: none !important;

    /* Sombra Lilás ("Glow" effect) */
    box-shadow: 0 10px 25px rgba(114, 104, 225, 0.4) !important;

    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
}

/* Hover: Fica ligeiramente mais escuro e sobe */
.wp-block-woocommerce-product-button .wc-block-components-product-button__button:hover {
    background: linear-gradient(135deg, #6257d0 0%, #5146bd 100%) !important;
    transform: translateY(-3px);
    box-shadow: 0 15px 35px rgba(114, 104, 225, 0.5) !important;
}

:where(.wc-block-add-to-cart-with-options-variation-selector-attribute-options__pill):where(:focus-within:has(.wc-block-add-to-cart-with-options-variation-selector-attribute-options__pill-input:checked)) {
    outline-color: white;
}

:where(.wc-block-add-to-cart-with-options-variation-selector-attribute-options__pill):where(:focus-within) {
    outline: white;
}

/*
 * Descricao da Pagina do produto
 */



/* --- ITEM DO ACORDEÃO (A Linha) --- */
.wp-block-woocommerce-accordion-item {
    border-bottom: 1px solid rgba(30, 37, 102, 0.1);
    /* Linha Blue Nimo muito subtil */
    margin-bottom: 0 !important;
}

.wp-block-woocommerce-accordion-item:first-child {
    border-top: 1px solid rgba(30, 37, 102, 0.1);
}

/* --- CABEÇALHO (O Botão de Clicar) --- */
.wp-block-woocommerce-accordion-header button.accordion-item__toggle {
    background: transparent !important;
    padding: 25px 0 !important;
    /* Altura generosa para clicar */
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border: none !important;
    cursor: pointer;
    transition: all 0.3s ease;
}

/* Texto do Cabeçalho */
.wp-block-woocommerce-accordion-header button.accordion-item__toggle span:first-child {
    font-family: 'Rubik', sans-serif;
    color: #1e2566;
    /* Blue Nimo */
    font-size: 1.1rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Hover no Cabeçalho */
.wp-block-woocommerce-accordion-header button.accordion-item__toggle:hover span:first-child {
    color: #7268e1;
    /* Lilac Nimo */
    padding-left: 10px;
    /* Pequeno movimento elegante à direita */
    transition: all 0.3s ease;
}

/* Ícone (+ / -) */
.accordion-item__toggle-icon {
    color: #7268e1 !important;
    /* Lilac Nimo */
    background: rgba(114, 104, 225, 0.1);
    /* Bolinha Lilac suave */
    width: 30px !important;
    height: 30px !important;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.3s ease;
}

/* Roda o ícone quando está aberto (O WP adiciona aria-expanded="true") */
button[aria-expanded="true"] .accordion-item__toggle-icon {
    transform: rotate(45deg);
    /* Transforma o + em x */
    background: #1e2566;
    /* Muda para Blue Nimo quando aberto */
    color: #fff !important;
}

/* --- CONTEÚDO INTERNO (O que abre) --- */
.wp-block-woocommerce-accordion-panel {
    animation: fadeIn 0.5s ease;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Tipografia do texto */
.wp-block-woocommerce-product-description p,
.wp-block-woocommerce-accordion-panel p {
    font-family: 'Open Sans', sans-serif;
    color: #555;
    line-height: 1.8;
    margin-bottom: 20px;
    font-size: 0.95rem;
}

/* Destaques a Negrito (Títulos dentro do texto) */
.wp-block-woocommerce-product-description b,
.wp-block-woocommerce-product-description strong {
    font-family: 'Rubik', sans-serif;
    color: #1e2566;
    font-weight: 600;
}

/* --- LISTAS (Bullets Personalizados) --- */
.wp-block-woocommerce-product-description ul {
    list-style: none !important;
    /* Remove bolinhas padrão */
    padding-left: 0 !important;
    margin: 20px 0;
}

.wp-block-woocommerce-product-description ul li {
    position: relative;
    padding-left: 25px;
    margin-bottom: 12px;
    line-height: 1.6;
}

/* Cria um traço Lilac antes de cada item */
.wp-block-woocommerce-product-description ul li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 10px;
    /* Alinha com o texto */
    width: 12px;
    height: 2px;
    background-color: #7268e1;
    /* Lilac Nimo */
}

/* --- TABELA DE ESPECIFICAÇÕES (Tamanhos) --- */
.wp-block-product-specifications table {
    width: 100%;
    border-collapse: collapse;
    background: #fafafa;
    /* Fundo muito leve */
    border-radius: 12px;
    overflow: hidden;
}

.wp-block-product-specifications th {
    text-align: left;
    padding: 15px 20px;
    background: #f0f0f5;
    color: #1e2566;
    font-family: 'Rubik', sans-serif;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.8rem;
}

.wp-block-product-specifications td {
    padding: 15px 20px;
    color: #555;
    font-family: 'Open Sans', sans-serif;
    border-bottom: 1px solid #eee;
}

.wp-block-product-specifications td p {
    margin: 0;
    /* Remove margens extra dentro da tabela */
}

/*
 * Reviews
 */

/* 1. O Contentor e o Efeito de "Peek" (Ver o próximo card) */
.slick-list {
    padding: 0 10% 0 0 !important;
    /* Revela 10% do próximo card à direita */
    overflow: visible !important;
}

/* 2. O Card Exterior (Espaçamento entre eles) */
.slick-slide {
    padding: 20px;
    opacity: 0.5;
    /* Cards laterais ficam mais discretos */
    transition: all 0.5s ease;
}

.slick-active {
    opacity: 1;
    /* O card visível ganha destaque */
}

/* 3. O "Coração" do Card - ADN NIMO */
.cr-review-card-inner {
    border: none !important;
    /* Removemos o cinza genérico */
    background-color: #ffffff !important;
    border-radius: 35px !important;
    /* Curvas de conforto */
    padding: 40px !important;
    box-shadow: 0 20px 50px rgba(114, 104, 225, 0.1) !important;
    /* Sombra Lilac Nimo */
    position: relative;
}

/* 4. Estrelas NIMO (Trocar o amarelo genérico pelo Lime Yellow) */
.cr-rating-icon {
    fill: #eff6a5 !important;
    /* Lime Yellow do manual */
}

.cr-rating-icon-bg {
    stroke: #eff6a5 !important;
}

/* 5. Tipografia (Maria Oliveira e Texto) */
.reviewer-name {
    font-family: 'Rubik', sans-serif !important;
    color: #1e2566 !important;
    /* Blue Nimo */
    font-weight: 600 !important;
    font-size: 1.2rem !important;
}

.review-text p {
    font-family: 'Open Sans', sans-serif !important;
    color: #1e2566 !important;
    line-height: 1.8 !important;
    font-style: italic;
    opacity: 0.9;
}

/* 6. A Barra do Produto (Estilo Premium) */
.review-product {
    background-color: #f2f1ff !important;
    /* Lilac ultra suave em vez do cinza #f4f4 */
    border-radius: 20px !important;
    padding: 15px !important;
    margin-top: 25px !important;
    display: flex !important;
    align-items: center !important;
    transition: background 0.3s ease;
}

.product-title a {
    font-family: 'Rubik', sans-serif !important;
    color: #7268e1 !important;
    /* Lilac Nimo */
    text-decoration: none !important;
    font-weight: 500 !important;
}

/* 7. Navegação (Dots) no fundo */
.slick-dots li button:before {
    color: #7268e1 !important;
    /* Dots em Lilac */
    font-size: 12px !important;
}

.slick-dots li.slick-active button:before {
    color: #1e2566 !important;
    /* Dot ativo em Blue Nimo */
}

/* Estilo Base da Seta */
.slick-arrow {
    background-color: #7268e1 !important;
    /* Lilac Nimo */
    width: 60px !important;
    /* Grandes e luxuosas */
    height: 60px !important;
    border-radius: 50% !important;
    /* Círculo perfeito */
    display: flex !important;
    align-items: center;
    justify-content: center;
    z-index: 100;
    /* Garante que ficam por cima de tudo */
    box-shadow: 0 10px 30px rgba(114, 104, 225, 0.3);
    /* Sombra Lilac */
    transition: all 0.3s ease;
    border: none !important;
}

/* O ícone da seta dentro do botão (usando o font icon padrão do slick) */
.slick-arrow:before {
    color: #ffffff !important;
    /* Seta branca */
    font-size: 24px !important;
    opacity: 1 !important;
    font-family: 'slick';
    /* Garante que usa a fonte do plugin */
}

/* Efeito Hover */
.slick-arrow:hover {
    background-color: #1e2566 !important;
    /* Muda para Blue Nimo */
    transform: scale(1.1);
    /* Ligeiro aumento */
    box-shadow: 0 15px 40px rgba(30, 37, 102, 0.2);
}

/* Posicionamento (Para ficarem fora do card) */
.slick-prev {
    left: 0px !important;
    /* Puxa para a esquerda, fora do contentor */
}

.slick-next {
    right: 0px !important;
    /* Puxa para a direita */
}

/* Para nao continuar o scroll horizontal */
.nimo-slider-container-wrapper {
    overflow: hidden;
    /* O wrapper corta o que sair da largura da página */
}

/* Promocao Badge */
.wc-block-components-product-sale-badge {
    background-color: #eff6a5;
    /* Lime Yellow: Destaque suave e luminoso */
    color: #1e2566;
    /* Blue Nimo: Legibilidade máxima e elegância */

    /* Tipografia */
    font-family: 'Rubik', sans-serif;
    /* Fonte arredondada */
    font-weight: 500;
    font-size: 0.75rem;
    /* Discreto mas visível */
    text-transform: uppercase;
    letter-spacing: 1px;
    /* Espaçamento para dar ar "premium" */

    /* Forma e Estrutura */
    padding: 8px 16px;
    border-radius: 20px;
    /* Pill shape suave */
    border: none;
    /* CRUCIAL: Removemos o contorno feio */

    /* Posicionamento e Acabamento */
    position: absolute !important;
    top: 15px !important;
    left: 15px !important;
    z-index: 10;
    box-shadow: 0 4px 10px rgba(30, 37, 102, 0.15);
}

/* Botoes animacao */

.button-up {
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    /* Transição elástica e suave */
}

.button-up:hover {
    transform: translateY(-4px) scale(1.02);
    /* O botão "flutua" para cima e cresce impercetivelmente */
}

.button-up:active {
    transform: translateY(-1px);
    /* O botão desce ligeiramente (feedback tátil) */
}


/* Useful to fix <a> overlay blocks */
.relative {
    position: relative;
}

/* Miniaturas */
.miniaturas {
    /*width: 100%;*/
    /*max-height: 30px;*/
    /*height: auto;*/
    /*border-radius: 10px;*/
    /*transition: transform 0.2s ease;*/
}

.wc-block-product-gallery-thumbnails__image,
.wc-block-woocommerce-product-gallery-large-image__image {
    /*width: 60px !important;*/
    /*height: 60px !important;*/
    /*object-fit: cover;*/
    border-radius: 8px;
}

.wc-block-product-gallery-thumbnails__thumbnail {
    border: none;
}

/* Mini cart empty */

.mini-cart-button {
    border-radius: 25px;
}

/*
 * FAQ Page Style
 */

/* --- CONTENTOR PRINCIPAL --- */
.nimo-faq-wrapper {
    max-width: 1200px;
    margin: 0 auto;
    padding: 60px 20px;
}

/* Cabeçalho da Secção */
.nimo-faq-header {
    text-align: center;
    margin-bottom: 50px;
}

.nimo-faq-header h2 {
    font-family: 'Rubik', sans-serif;
    font-size: 2.5rem;
    color: #1e2566;
    /* Blue Nimo */
    font-weight: 700;
    margin-bottom: 15px;
}

.nimo-faq-header p {
    font-family: 'Open Sans', sans-serif;
    color: #7268e1;
    /* Lilac Nimo */
    font-size: 1.1rem;
    font-weight: 500;
}

/* --- A GRELHA (GRID) --- */
.nimo-faq-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    /* 2 Colunas no PC */
    gap: 25px;
    /* Espaço entre cartões */
    align-items: start;
    /* Impede que estiquem altura desnecessariamente */
}

/* --- O CARTÃO INDIVIDUAL --- */
.nimo-faq-card {
    background: #ffffff;
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(30, 37, 102, 0.04);
    /* Sombra super leve */
    border: 1px solid rgba(114, 104, 225, 0.08);
    /* Borda Lilac quase invisível */
    overflow: hidden;
    transition: all 0.3s ease;
}

.nimo-faq-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 15px 40px rgba(30, 37, 102, 0.08);
}

.nimo-faq-card.active {
    border-color: #7268e1;
    /* Borda fica Lilac quando aberto */
    box-shadow: 0 15px 40px rgba(114, 104, 225, 0.1);
}

/* --- O BOTÃO (PERGUNTA) --- */
.nimo-faq-trigger {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 25px;
    background: none;
    border: none;
    cursor: pointer;
    text-align: left;
    outline: none;
}

.nimo-faq-question {
    font-family: 'Rubik', sans-serif;
    color: #1e2566;
    font-weight: 600;
    font-size: 1.05rem;
    padding-right: 15px;
    line-height: 1.4;
    transition: color 0.3s ease;
}

.nimo-faq-card.active .nimo-faq-question {
    color: #7268e1;
    /* Pergunta fica Lilac quando aberta */
}

/* O Ícone (+ vira x) */
.nimo-faq-icon {
    width: 32px;
    height: 32px;
    background: #f4f3ff;
    /* Fundo Lilac muito claro */
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #7268e1;
    flex-shrink: 0;
    transition: all 0.3s ease;
}

.nimo-faq-card.active .nimo-faq-icon {
    background: #7268e1;
    color: #ffffff;
    transform: rotate(45deg);
    /* Roda para fazer um X */
}

/* --- A RESPOSTA (ANIMAÇÃO) --- */
.nimo-faq-answer {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.4s ease-out;
}

.nimo-faq-card.active .nimo-faq-answer {
    grid-template-rows: 1fr;
}

.nimo-faq-answer-inner {
    overflow: hidden;
    padding: 0 25px;
    /* Padding lateral */
}

/* Conteúdo do texto da resposta */
.nimo-faq-card.active .nimo-faq-answer-inner {
    padding-bottom: 25px;
    /* Só dá padding em baixo se estiver aberto */
    font-family: 'Open Sans', sans-serif;
    color: #555;
    line-height: 1.7;
    font-size: 0.95rem;
    opacity: 0;
    animation: fadeInText 0.5s 0.1s forwards;
    /* Pequeno delay */
}

@keyframes fadeInText {
    to {
        opacity: 1;
    }
}

/* --- MOBILE --- */
@media (max-width: 768px) {
    .nimo-faq-grid {
        grid-template-columns: 1fr;
        /* 1 Coluna no telemóvel */
        gap: 15px;
    }

    .nimo-faq-header h2 {
        font-size: 2rem;
    }
}

/*
 * FAQ Homepage Style
 */
.faq-question {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    text-align: left;
    padding: 1rem;
    font-size: 1.1rem;
    background: none;
    border: none;
    outline: none;
    cursor: pointer;
    font-weight: bold;
    transition: background 0.2s;
    gap: 1em;
}

.faq-question-text {
    flex: 1;
}

.faq-arrow {
    display: flex;
    align-items: center;
    transition: transform 0.3s;
}

.faq-item.active .faq-arrow {
    transform: rotate(90deg);
}

.faq-accordion {
    max-width: 864px;
    margin: 2rem auto;
    padding: 1rem;
}

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


.faq-question:hover {
    background-color: #f9f9f9;
}

.faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease;
    padding: 0 1rem;
}

.faq-item.active .faq-answer {
    max-height: 500px;
    /* large enough to fit content */
    padding-bottom: 1rem;
}

@media (max-width: 600px) {
    .faq-question {
        font-size: 1rem;
        padding: 0.9rem;
    }

    .faq-answer {
        padding: 0 0.8rem;
    }
}


/* Features Horizontal Bar */
.feature-rolling-wrapper::before,
.feature-rolling-wrapper::after {
    content: "";
    position: absolute;
    top: 0;
    height: 100%;
    /* A largura do fade. Ajusta este valor (ex: 10%, 15%, 200px)
       para coincidir exatamente com as linhas vermelhas da tua imagem */
    width: 20%;
    z-index: 2;
    /* Fica por cima do conteúdo */
    pointer-events: none;
    /* Permite que o rato passe através do fade (opcional) */
}

/* --- Fade Esquerdo (::before) --- */
.feature-rolling-wrapper::before {
    left: 0;
    /* Gradiente: Da cor sólida (esquerda) para transparente (direita) */
    /* ATENÇÃO: Substitui #1e2566 pela tua cor azul exata se for diferente */
    background: linear-gradient(to right, #1e2566 10%, transparent);
}

/* --- Fade Direito (::after) --- */
.feature-rolling-wrapper::after {
    right: 0;
    /* Gradiente: De transparente (esquerda) para cor sólida (direita) */
    /* ATENÇÃO: Substitui #1e2566 pela tua cor azul exata se for diferente */
    background: linear-gradient(to right, transparent, #1e2566 90%);
}

.feature-rolling-wrapper {
    overflow: hidden;
    width: 100%;
    /*background: #fff;*/
    padding: 10px 0;
    position: relative;
}

.feature-rolling {
    display: flex;
    animation: scroll-left linear infinite;
    animation-duration: 30s;
    flex-direction: row;
    gap: 70px;
    flex: 0 1 auto;
}

.feature-item {
    /*justify-content: center;*/
    align-items: center;
    display: flex;
    flex-direction: row;
    flex-shrink: 0;
    min-width: 250px;
}

.feature-item img {
    filter: invert(89%) sepia(23%) saturate(579%) hue-rotate(25deg) brightness(103%) contrast(92%);
    scale: 70%;
}

.feature-item span {
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 0.9rem !important;
}

.feature-item strong {
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 0.9rem !important;
}

.feature-item img::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #74a724;
    opacity: 0.6;
    /* adjust as needed */
    pointer-events: none;
}

@keyframes scroll-left {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-50%);
    }
}

/* Fix logo link due to A tag */
#logo .wp-block-image.size-full a {
    width: 100%;
}

/* Hero Bar */
#hero-bar {
    transition: transform 0.2s ease;
    position: relative;
    z-index: 1;
}

#hero-bar:hover {
    opacity: 0.9;
    /*transform: translateY(-1px);*/
}

/* Box Shadows */
.box-shadow-1 {
    box-shadow: 0 .25rem .5rem #4038331a;
}

.box-shadow-2 {
    /*box-shadow: 0px 0px 10px 0px #0000001B;*/
    box-shadow: 0 8px 15px #00000026;
}

.box-shadow-3 {
    /* Lilac shadow*/
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
}

.box-shadow-3:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 12px 30px rgba(114, 104, 225, 0.3);
}

/* Prices Styles */
.current-price-highlight .woocommerce-Price-amount {
    color: #7268e1;
    font-size: clamp(1.3rem, 1.3rem + ((1vw - 0.2rem) * 0.156), 1.125rem) !important;
}

/* Sticky Header */
.wp-block-template-part {
    position: sticky;
    top: 0;
    z-index: 9999;
}

/* Header arrows and transitions */
.top-arrow {
    cursor: pointer;
}

.top-hero {
    font-size: clamp(0.75rem, 3vw, 0.875rem) !important;
    opacity: 1;
    text-decoration: none;
    transition: opacity 0.5s ease;
    white-space: nowrap;
}

.top-hero.fade-out {
    opacity: 0;
}

.top-hero a {
    text-decoration: none;
}

/* Menus animations */
#top-nav nav a::after {
    content: '';
    position: absolute;
    width: 0;
    height: 2px;
    left: 0;
    bottom: 4px;
    background-color: #6770C1;
    opacity: 0;
    transition: all 0.3s ease;
}

#top-nav nav a:hover::after {
    width: 100%;
    opacity: 1;
}

/* Top bar hover */
#top-nav .wp-block-navigation-item__content:hover {
    color: #7268e1 !important;
}

/* Barras de Adaptabilidade e Firmeza */
.custom-bars {
    margin: 20px 0;
}

.bar-item {
    margin-bottom: 15px;
}

.bar-label {
    display: block;
    margin-bottom: 5px;
    font-weight: 600;
}

.bar-background {
    background: #f0f0f0;
    height: 8px;
    border-radius: 6px;
    overflow: hidden;
}

.bar-fill {
    background: #7268e1;
    /* Cor da barra */
    height: 100%;
    border-radius: 6px;
    transition: width 0.5s ease;
}

/*@media (max-width: 600px) {*/
/*    #logo {*/
/*        order: 2;*/
/*    }*/

/*    #top-nav {*/
/*        order: 1;*/
/*    }*/

/*    #top-icons {*/
/*        order: 3;*/
/*    }*/
/*}*/


/* ----------------------------
   WooCommerce My Account - Polished Dashboard Fixed Layout
------------------------------- */
.woocommerce-account .woocommerce {
    /*--primary: #7268e1;  --wp--preset--color--primary*/
    /*--light-bg: #feffed;  --wp--preset--color--secondary-3: */
    /*--accent: #eff6a5;*/
    /*--dark: #1e2566;  --wp--preset--color--secondary*/
    --radius: 28px;
    /* TODO passar para tema */
    /*--gap: 2rem;*/
    /*font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;*/
    /*color: var(--dark);*/
    /*box-sizing: border-box;*/
    /*padding: 2rem 1rem;*/

    align-items: flex-start;
    display: flex;
    flex-direction: row;
    gap: 3rem;
    margin: 3rem auto;
    max-width: 1200px;
}

/* --- Navigation --- */
.woocommerce-MyAccount-navigation {
    background: linear-gradient(180deg, rgba(114, 104, 225, 0.03), transparent 40%), var(--wp--preset--color--secondary-3);
    border-radius: 24px;
    box-shadow: 0 6px 18px rgba(30, 37, 102, 0.06);
    flex: 0 0 280px;
    padding: 1.5rem 1rem;
    position: sticky;
    top: 2rem;
}

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

.woocommerce-MyAccount-navigation li {
    margin: 0.5rem 0;
}

/* Nav links */
.woocommerce-MyAccount-navigation a {
    align-items: center;
    border-radius: 12px;
    color: var(--wp--preset--color--secondary);
    display: flex;
    font-family: 'Open Sans', sans-serif;
    font-weight: 600;
    padding: 1rem 1.2rem;
    position: relative;
    text-decoration: none !important;
    transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

/* Remove any global theme underlines */
.woocommerce-MyAccount-navigation a::after,
.woocommerce-MyAccount-navigation a::before {
    display: none !important;
}

/* Hover / focus effect */
.woocommerce-MyAccount-navigation a:hover,
.woocommerce-MyAccount-navigation a:focus {
    background: rgba(114, 104, 225, 0.04);
    box-shadow: inset 3px 0 0 rgba(114, 104, 225, 0.4);
    color: var(--wp--preset--color--primary);
}

/* Active link */
.woocommerce-MyAccount-navigation li.is-active>a {
    background: linear-gradient(90deg, rgba(114, 104, 225, 0.08), rgba(143, 129, 232, 0.03));
    box-shadow: inset 4px 0 0 var(--wp--preset--color--primary);
    color: var(--wp--preset--color--primary);
    font-weight: 700;
}

/* Active dot before text */
.woocommerce-MyAccount-navigation li.is-active>a::before {
    background: var(--wp--preset--color--primary);
    border-radius: 50%;
    content: "";
    flex: 0 0 auto;
    height: 8px;
    margin-right: 0.75rem;
    width: 8px;
}

/* --- Content Area --- */
.woocommerce-MyAccount-content {
    flex: 1;
    background: white;
    padding: 3rem;
    border-radius: 24px;
    box-shadow: 0 10px 40px rgba(30, 37, 102, 0.06);
    border: 1px solid rgba(30, 37, 102, 0.03);
    line-height: 1.6;
    color: #1e2566;
}

/* Responsive My Account */
@media (max-width: 900px) {
    .woocommerce-account .woocommerce {
        flex-direction: column;
        padding: 0 1rem;
        gap: 1.5rem;
        margin: 1.5rem auto;
    }

    .woocommerce-MyAccount-navigation {
        flex: 1 1 100%;
        width: 100%;
        position: static;
        padding: 0;
        background: transparent;
        box-shadow: none;
        border-radius: 0;
        margin: 0;
        overflow: hidden;
        /* Prevent global overflow */
    }

    .woocommerce-MyAccount-navigation ul {
        display: flex;
        flex-direction: row;
        gap: 0.8rem;
        overflow-x: auto;
        padding: 1rem 1.5rem;
        /* Horizontal padding for scroll room */
        margin: 0;
        list-style: none;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
        width: 100%;
        box-sizing: border-box;
    }

    .woocommerce-MyAccount-navigation ul::-webkit-scrollbar {
        display: none;
    }

    .woocommerce-MyAccount-navigation li {
        flex: 0 0 auto;
    }

    .woocommerce-MyAccount-navigation a {
        padding: 0.7rem 1.4rem;
        background: #ffffff;
        border: 1px solid #e0e0e0;
        border-radius: 30px;
        white-space: nowrap;
        font-size: 0.95rem;
        font-weight: 600;
        box-shadow: 0 2px 8px rgba(30, 37, 102, 0.04);
        display: block;
    }

    .woocommerce-MyAccount-navigation li.is-active>a {
        background: var(--nimo-lilac);
        color: white;
        box-shadow: 0 4px 12px rgba(114, 104, 225, 0.3);
        border-color: var(--nimo-lilac);
    }

    .woocommerce-MyAccount-navigation li.is-active>a::before {
        display: none;
        /* Remove dot on mobile to save space */
    }

    .woocommerce-MyAccount-content {
        padding: 2rem 1.5rem;
        border-radius: 20px;
    }
}

/* Notices styling */
.woocommerce .woocommerce-notices-wrapper .woocommerce-message,
.woocommerce .woocommerce-notices-wrapper .woocommerce-info,
.woocommerce .woocommerce-notices-wrapper .woocommerce-error {
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(30, 37, 102, 0.04);
    font-weight: 500;
    margin-bottom: 1.5rem;
    padding: 1rem 1.5rem;
}

.woocommerce .woocommerce-notices-wrapper .woocommerce-message {
    background: #feffed;
    border-left: 4px solid #eff6a5;
    color: #1e2566;
}

.woocommerce .woocommerce-notices-wrapper .woocommerce-error {
    background: #fff3f3;
    border-left: 4px solid rgba(255, 0, 0, 0.15);
    color: #6b1e1e;
}

.woocommerce .woocommerce-notices-wrapper .woocommerce-info {
    background: rgba(114, 104, 225, 0.04);
    border-left: 4px solid #7268e1;
    color: #1e2566;
}

/* Paragraphs inside content */
.woocommerce-MyAccount-content p {
    color: #4a5568;
    font-family: 'Open Sans', sans-serif;
    margin: 0 0 1.2rem 0;
}

.woocommerce-MyAccount-content strong {
    color: #1e2566;
    font-weight: 700;
}

/* Links inside content */
.woocommerce-MyAccount-content a {
    color: #7268e1;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.woocommerce-MyAccount-content a:hover {
    color: #1e2566;
}

/* Buttons inside content */
.woocommerce-MyAccount-content a.button,
.woocommerce-MyAccount-content button.button,
.woocommerce-MyAccount-content input.button {
    background: #1e2566;
    border: none;
    border-radius: 28px;
    box-shadow: 0 6px 18px rgba(30, 37, 102, 0.12);
    color: white;
    cursor: pointer;
    display: inline-block;
    font-weight: 700;
    padding: 0.7rem 1.2rem;
    text-decoration: none !important;
    transition: transform .12s ease, box-shadow .12s ease, opacity .12s ease;
}

.woocommerce-MyAccount-content a.button:hover,
.woocommerce-MyAccount-content button.button:hover,
.woocommerce-MyAccount-content input.button:hover {
    box-shadow: 0 8px 24px rgba(30, 37, 102, 0.18);
    color: white;
    opacity: 0.98;
    transform: translateY(-2px);
}

/* Forms inside My Account Content */
.woocommerce-MyAccount-content form {
    margin-top: 1.5rem;
}

.woocommerce-MyAccount-content form .form-row {
    margin-bottom: 1.2rem;
}

.woocommerce-MyAccount-content label {
    color: #1e2566;
    display: block;
    font-family: 'Open Sans', sans-serif;
    font-size: 0.95rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
}

.woocommerce-MyAccount-content input[type="text"],
.woocommerce-MyAccount-content input[type="password"],
.woocommerce-MyAccount-content input[type="email"],
.woocommerce-MyAccount-content input[type="tel"],
.woocommerce-MyAccount-content select,
.woocommerce-MyAccount-content textarea {
    background-color: #fcfcfc;
    border: 1px solid #e0e0e0;
    border-radius: 12px;
    box-sizing: border-box;
    color: #1e2566;
    font-family: 'Open Sans', sans-serif;
    font-size: 1rem;
    padding: 0.85rem 1.2rem;
    transition: all 0.3s ease;
    width: 100%;
}

.woocommerce-MyAccount-content input[type="text"]:focus,
.woocommerce-MyAccount-content input[type="password"]:focus,
.woocommerce-MyAccount-content input[type="email"]:focus,
.woocommerce-MyAccount-content input[type="tel"]:focus,
.woocommerce-MyAccount-content select:focus,
.woocommerce-MyAccount-content textarea:focus {
    background-color: #ffffff;
    border-color: #7268e1;
    box-shadow: 0 0 0 4px rgba(114, 104, 225, 0.1);
    outline: none;
}

/* Tables inside My Account Content (Orders, Details) */
.woocommerce-MyAccount-content table.shop_table {
    border: 1px solid #e0e0e0;
    border-collapse: collapse;
    border-radius: 12px;
    margin-top: 1.5rem;
    width: 100%;
}

.woocommerce-MyAccount-content table.shop_table th {
    background-color: #feffed;
    border-bottom: 1px solid #e0e0e0;
    color: #1e2566;
    font-family: 'Rubik', sans-serif;
    font-weight: 600;
    padding: 1rem 1.2rem;
    text-align: left;
}

.woocommerce-MyAccount-content table.shop_table td {
    border-bottom: 1px solid #f0f0f0;
    color: #4a5568;
    padding: 1rem 1.2rem;
    vertical-align: middle;
}

.woocommerce-MyAccount-content table.shop_table tbody tr:last-child td {
    border-bottom: none;
}

.woocommerce-MyAccount-content table.shop_table tbody tr:hover {
    background-color: #fafafa;
}

/* Order Status badges */
.woocommerce-MyAccount-content mark.order-status {
    background-color: rgba(114, 104, 225, 0.1);
    border-radius: 20px;
    color: #7268e1;
    font-size: 0.85rem;
    font-weight: 600;
    padding: 0.3rem 0.8rem;
}

.woocommerce-MyAccount-content mark.order-status.status-completed {
    background-color: rgba(39, 174, 96, 0.1);
    color: #27ae60;
}

/*!* --- Responsive --- *!*/
/*@media (max-width: 880px) {*/
/*    .woocommerce {*/
/*        display: block;*/
/*        padding: 1rem;*/
/*    }*/
/*    .woocommerce-MyAccount-navigation {*/
/*        position: relative;*/
/*        top: 0;*/
/*        height: auto;*/
/*        overflow: visible;*/
/*        margin-bottom: 1rem;*/
/*    }*/
/*    .woocommerce-MyAccount-navigation ul {*/
/*        display: flex;*/
/*        gap: 0.5rem;*/
/*        overflow-x: auto;*/
/*        padding: 0 0.5rem;*/
/*    }*/
/*    .woocommerce-MyAccount-navigation li {*/
/*        margin: 0;*/
/*        flex: 0 0 auto;*/
/*    }*/
/*    .woocommerce-MyAccount-navigation a {*/
/*        white-space: nowrap;*/
/*        padding: 0.6rem 0.9rem;*/
/*    }*/
/*    .woocommerce-MyAccount-content {*/
/*        flex-direction: column;*/
/*    }*/
/*}*/


/* ----------------------------
   WooCommerce Login/Register - Flex Layout
------------------------------- */

/* General container */
.woocommerce #customer_login.col2-set {
    align-items: stretch;
    background-color: transparent;
    /* Remove yellow from outer wrapper if any */
    color: #1e2566;
    display: flex !important;
    flex-direction: row !important;
    gap: 3rem;
    justify-content: center;
    margin: 2rem auto;
    max-width: 1100px;
    padding: 2rem 0;
}

.woocommerce #customer_login.col2-set::after,
.woocommerce #customer_login.col2-set::before {
    display: none !important;
    /* Remove clearfix pseudos that might break flex */
}

/* Column styling */
.woocommerce #customer_login.col2-set .u-column1.col-1,
.woocommerce #customer_login.col2-set .u-column2.col-2 {
    background: #ffffff;
    border: 1px solid rgba(30, 37, 102, 0.03);
    border-radius: 24px;
    box-shadow: 0 10px 40px rgba(30, 37, 102, 0.06);
    display: flex !important;
    flex: 1 1 500px !important;
    flex-direction: column !important;
    float: none !important;
    /* Critical: kill the float */
    margin: 0 !important;
    /* Override WooCommerce margins */
    max-width: 500px !important;
    padding: 3rem;
    width: 100% !important;
}

/* Mobile responsive */
@media (max-width: 800px) {
    .woocommerce #customer_login.col2-set {
        align-items: center;
        flex-direction: column !important;
        gap: 2rem;
        padding: 1rem;
    }

    .woocommerce #customer_login.col2-set .u-column1.col-1,
    .woocommerce #customer_login.col2-set .u-column2.col-2 {
        max-width: 100% !important;
        padding: 2rem;
    }
}

/* Headings */
.woocommerce #customer_login h2 {
    color: #1e2566;
    font-family: 'Rubik', sans-serif;
    font-size: 1.8rem;
    font-weight: 700;
    margin-bottom: 1.5rem;
}

/* Forms */
.woocommerce #customer_login form {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

/* Input fields */
.woocommerce #customer_login input[type="text"],
.woocommerce #customer_login input[type="password"],
.woocommerce #customer_login input[type="email"] {
    background-color: #fcfcfc;
    color: #1e2566;
    font-family: 'Open Sans', sans-serif;
    font-size: 1rem;
    padding: 0.85rem 1.2rem;
    border: 1px solid #e0e0e0;
    border-radius: 12px;
    transition: all 0.3s ease;
    width: 100%;
}

.woocommerce #customer_login input[type="text"]:focus,
.woocommerce #customer_login input[type="password"]:focus,
.woocommerce #customer_login input[type="email"]:focus {
    background-color: #ffffff;
    border-color: #7268e1;
    box-shadow: 0 0 0 4px rgba(114, 104, 225, 0.1);
    outline: none;
}

/* Labels */
.woocommerce #customer_login label {
    color: #1e2566;
    display: block;
    font-family: 'Open Sans', sans-serif;
    font-size: 0.95rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
}

/* Remember me checkbox */
.woocommerce #customer_login .woocommerce-form__label-for-checkbox {
    align-items: center;
    color: #1e2566;
    cursor: pointer;
    display: flex;
    font-size: 0.9rem;
    font-weight: 400;
    gap: 0.5rem;
}

/* Buttons */
.woocommerce #customer_login button.woocommerce-button {
    background: #1e2566;
    color: white;
    font-weight: 700;
    border-radius: 28px;
    padding: 0.7rem 1.2rem;
    border: none;
    cursor: pointer;
    transition: transform 0.12s ease, box-shadow 0.12s ease, opacity 0.12s ease;
}

.woocommerce #customer_login button.woocommerce-button:hover {
    transform: translateY(-2px);
    opacity: 0.98;
    box-shadow: 0 6px 18px rgba(30, 37, 102, 0.12);
}

/* Lost password / privacy links */
.woocommerce #customer_login .lost_password a,
.woocommerce #customer_login .woocommerce-privacy-policy-link {
    color: #7268e1;
    text-decoration: underline;
    text-underline-offset: 2px;
    font-weight: 500;
}

.woocommerce #customer_login .woocommerce-privacy-policy-text p {
    color: #24304b;
    font-size: 0.9rem;
    margin-top: 0.5rem;
}

/* Notices inside forms */
.woocommerce #customer_login .woocommerce-notices-wrapper .woocommerce-message,
.woocommerce #customer_login .woocommerce-notices-wrapper .woocommerce-info,
.woocommerce #customer_login .woocommerce-notices-wrapper .woocommerce-error {
    border-radius: 28px;
    padding: 0.9rem 1rem;
    margin-bottom: 1rem;
    font-weight: 600;
    box-shadow: 0 6px 18px rgba(30, 37, 102, 0.03);
}

.woocommerce #customer_login .woocommerce-notices-wrapper .woocommerce-message {
    background: linear-gradient(90deg, rgba(239, 246, 165, 0.25), rgba(239, 246, 165, 0.12));
    color: #1e2566;
    border-left: 4px solid #eff6a5;
}

.woocommerce #customer_login .woocommerce-notices-wrapper .woocommerce-error {
    background: #fff3f3;
    color: #6b1e1e;
    border-left: 4px solid rgba(255, 0, 0, 0.15);
}

.woocommerce #customer_login .woocommerce-notices-wrapper .woocommerce-info {
    background: rgba(114, 104, 225, 0.04);
    color: #1e2566;
    border-left: 4px solid #7268e1;
}



/*
 * Mini Carrinho cheio
 */
/* ============================================================
   NIMO MINI CART - CLEAN VERSION (CORRIGIDO)
   ============================================================ */

/* 1. ESTRUTURA E CORES (Tudo Azul Nimo) */
.wp-block-woocommerce-filled-mini-cart-contents-block {
    font-family: 'Open Sans', sans-serif;
    color: #1e2566;
}

.wp-block-woocommerce-filled-mini-cart-contents-block a {
    color: #1e2566;
    text-decoration: none;
}

/* Título */
.wp-block-woocommerce-filled-mini-cart-contents-block .wc-block-mini-cart__title {
    font-family: 'Rubik', sans-serif;
    color: #1e2566 !important;
    font-size: 1.2rem;
    font-weight: 700;
    text-transform: uppercase;
    border-bottom: 1px solid #e0e0e0;
    padding-bottom: 15px;
    margin-bottom: 15px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* Contador */
.wp-block-woocommerce-filled-mini-cart-contents-block .wp-block-woocommerce-mini-cart-title-items-counter-block {
    font-size: 0.8rem;
    color: #1e2566;
    font-weight: 400;
}

/* 2. TABELA DE PRODUTOS */
.wp-block-woocommerce-filled-mini-cart-contents-block .wc-block-cart-items__header th {
    font-family: 'Rubik', sans-serif;
    font-size: 0.65rem;
    text-transform: uppercase;
    color: #1e2566;
    border: none;
    padding-bottom: 10px;
    opacity: 0.6;
}

.wp-block-woocommerce-filled-mini-cart-contents-block .wc-block-cart-items__row {
    border-bottom: 1px solid #eee;
    padding: 20px 0;
    vertical-align: top;
}

/* Imagem */
.wp-block-woocommerce-filled-mini-cart-contents-block .wc-block-cart-item__image img {
    border-radius: 8px !important;
    width: 70px !important;
    height: 70px !important;
    object-fit: cover;
    border: 1px solid #eee;
}

/* 3. CONTEÚDO DO PRODUTO */
.wp-block-woocommerce-filled-mini-cart-contents-block .wc-block-components-product-name {
    font-family: 'Rubik', sans-serif;
    font-weight: 700;
    font-size: 0.95rem;
    margin-bottom: 5px;
    display: block;
    line-height: 1.2;
}

/* Remover Descrição */
.wp-block-woocommerce-filled-mini-cart-contents-block .wc-block-components-product-metadata__description {
    display: none !important;
}

/* Variantes (Medidas) */
.wp-block-woocommerce-filled-mini-cart-contents-block .wc-block-components-product-details__value {
    font-size: 0.75rem;
    color: #666;
    background: #f5f5f5;
    padding: 2px 6px;
    border-radius: 4px;
    display: inline-block;
    margin-bottom: 5px;
}

.wp-block-woocommerce-filled-mini-cart-contents-block .wc-block-components-product-details__name {
    display: none;
}

/* 4. QUANTIDADE (Correção Total - Estilo Caixa Simples) */
.wp-block-woocommerce-filled-mini-cart-contents-block .wc-block-components-quantity-selector {
    display: flex !important;
    align-items: center !important;
    border: 1px solid #1e2566;
    /* Borda Azul */
    border-radius: 4px;
    height: 30px;
    width: 100px;
    /* Largura fixa */
    margin-top: 8px;
    background: #fff;
}

/* Input numérico */
.wp-block-woocommerce-filled-mini-cart-contents-block .wc-block-components-quantity-selector__input {
    border: none !important;
    background: transparent !important;
    color: #1e2566 !important;
    font-weight: 700;
    font-size: 0.9rem;
    text-align: center;
    width: 100%;
    padding: 0 !important;
    margin: 0 !important;
    height: 100%;
    -moz-appearance: textfield;
}

/* Remove setas navegador */
.wp-block-woocommerce-filled-mini-cart-contents-block .wc-block-components-quantity-selector__input::-webkit-outer-spin-button,
.wp-block-woocommerce-filled-mini-cart-contents-block .wc-block-components-quantity-selector__input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Botões +/- */
.wp-block-woocommerce-filled-mini-cart-contents-block .wc-block-components-quantity-selector__button {
    color: #1e2566 !important;
    background: transparent !important;
    border: none !important;
    font-size: 1.2rem;
    line-height: 1;
    cursor: pointer;
    width: 25px;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    position: static !important;
    /* Força reset */
}

/* 5. PREÇOS E BADGE (Ajuste Lógico) */
.wp-block-woocommerce-filled-mini-cart-contents-block .price {
    font-family: 'Rubik', sans-serif;
    font-size: 0.9rem;
}

.wp-block-woocommerce-filled-mini-cart-contents-block del {
    color: #999;
    font-size: 0.75rem;
    margin-right: 5px;
}

.wp-block-woocommerce-filled-mini-cart-contents-block ins {
    text-decoration: none;
    font-weight: 700;
}

/* LOGICA DA BADGE: */
/* 1. Esconde a badge unitária (coluna do meio) */
.wp-block-woocommerce-filled-mini-cart-contents-block .wc-block-cart-item__product .wc-block-components-sale-badge {
    display: none !important;
}

/* 2. Mostra e estiliza a badge TOTAL (coluna da direita) */
.wp-block-woocommerce-filled-mini-cart-contents-block .wc-block-cart-item__total .wc-block-components-sale-badge {
    display: block !important;
    /* Garante que aparece */
    font-size: 0.65rem;
    text-transform: uppercase;
    font-weight: 700;
    color: #1e2566;
    /* Azul */
    border: 1px solid #1e2566;
    /* Borda Azul */
    background: transparent;
    padding: 2px 4px;
    margin-top: 5px;
    border-radius: 4px;
    text-align: right;
    white-space: nowrap;
}

/* Link Remover */
.wp-block-woocommerce-filled-mini-cart-contents-block .wc-block-cart-item__remove-link {
    font-size: 0.7rem;
    color: #999;
    text-decoration: underline;
    margin-top: 5px;
    display: block;
}

/* 6. RODAPÉ E BOTÕES */
.wp-block-woocommerce-filled-mini-cart-contents-block .wc-block-mini-cart__footer {
    border-top: 1px solid #e0e0e0;
    padding-top: 20px;
    margin-top: 10px;
}

.wp-block-woocommerce-filled-mini-cart-contents-block .wc-block-components-totals-item__label {
    font-family: 'Rubik', sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.9rem;
}

.wp-block-woocommerce-filled-mini-cart-contents-block .wc-block-components-totals-item__value {
    font-family: 'Rubik', sans-serif;
    font-weight: 700;
    font-size: 1.4rem;
}

/* Botões */
.wp-block-woocommerce-filled-mini-cart-contents-block .wc-block-mini-cart__footer-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* Botão Checkout */
.wp-block-woocommerce-filled-mini-cart-contents-block .wc-block-mini-cart__footer-checkout {
    background-color: #1e2566 !important;
    color: #fff !important;
    border: 1px solid #1e2566 !important;
    border-radius: 30px !important;
    /* Cantos pouco arredondados */
    padding: 15px !important;
    font-family: 'Rubik', sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.9rem;
    text-align: center;
    display: block;
}

/* Botão Ver Carrinho (FIX: Cabe tudo numa linha) */
.wp-block-woocommerce-filled-mini-cart-contents-block .wc-block-mini-cart__footer-cart {
    background-color: transparent !important;
    color: #1e2566 !important;
    border: 1px solid #1e2566 !important;
    border-radius: 30px !important;
    padding: 12px 10px !important;
    /* Padding lateral reduzido */
    font-family: 'Rubik', sans-serif;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.8rem;
    /* Letra ligeiramente menor */
    text-align: center;
    display: block;
    white-space: nowrap;
    /* IMPEDE QUEBRA DE LINHA */
    width: 100%;
    /* Ocupa largura total */
    box-sizing: border-box;
}

.wp-block-woocommerce-filled-mini-cart-contents-block .wc-block-mini-cart__footer-cart:hover {
    background-color: #f5f5f5 !important;
}


/*.wp-block-woocommerce-empty-mini-cart-contents-block .wc-block-mini-cart__shopping-button {*/
/*    background-color: #1e2566 !important;*/
/*    color: #fff !important;*/
/*    border: 1px solid #1e2566 !important;*/
/*    border-radius: 30px !important; !* Cantos pouco arredondados *!*/
/*    padding: 15px !important;*/
/*    font-family: 'Rubik', sans-serif;*/
/*    font-weight: 700;*/
/*    text-transform: uppercase;*/
/*    font-size: 0.9rem;*/
/*    text-align: center;*/
/*    display: block;*/
/*}*/

.wp-block-woocommerce-empty-mini-cart-contents-block .wc-block-mini-cart__empty-cart-wrapper p {
    font-family: 'Rubik', sans-serif;
    color: #1e2566 !important;
    font-size: 1.2rem;
    font-weight: 500;
    padding-bottom: 15px;
    margin-bottom: 15px;

}

/*
 * Checkout
 */
/* ============================================================
   NIMO CHECKOUT - CLEAN PREMIUM (REFINED)
   ============================================================ */
/* pay by card section */
/* ============================================================
   UNIVERSAL PAYMENT FIX (CARTÃO + MULTIBANCO)
   (Substitui o bloco anterior do Stripe)
   ============================================================ */

/* 1. Limpar o "Caixote" Cinzento (Para Cartão E Multibanco) */
.nimo-checkout-body div.payment_box.payment_method_woocommerce_payments,
.nimo-checkout-body div.payment_box.payment_method_woocommerce_payments_multibanco {
    background: transparent !important;
    padding: 10px 0 0 0 !important;
    /* Apenas margem superior */
    margin: 0 !important;
    border: none !important;
    box-shadow: none !important;
}

/* Remover o triângulo/seta para ambos */
.nimo-checkout-body div.payment_box.payment_method_woocommerce_payments::before,
.nimo-checkout-body div.payment_box.payment_method_woocommerce_payments_multibanco::before {
    display: none !important;
}

/* 2. Estilizar a "Caixa de Input" (Onde escreves os dados) */
/* Isto afeta tanto o formulário de Cartão como o de Multibanco para ficarem iguais aos teus inputs de texto */
.nimo-checkout-body .wc-payment-form {
    background-color: #ffffff !important;
    border: 1px solid #cbd5e0 !important;
    /* A mesma borda dos teus inputs de Nome/Morada */
    border-radius: 6px !important;
    /* O mesmo arredondamento */
    padding: 12px !important;
    margin-top: 5px !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03) !important;
}

/* Remover bordas duplicadas do fieldset interno */
.nimo-checkout-body fieldset.wc-payment-form {
    border: 1px solid #cbd5e0 !important;
    min-width: 0 !important;
}

/* 3. Ajuste Específico para MULTIBANCO (Altura) */
/* O Multibanco às vezes traz margens negativas estranhas do Stripe, isto corrige */
.nimo-checkout-body .wcpay-upe-form[data-payment-method-type="multibanco"] .wc-payment-form {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 50px;
    /* Garante altura mínima elegante */
}

/* --- MOBILE SPECIFIC FIXES (Atualizado para ambos) --- */
@media (max-width: 768px) {

    /* Garante largura total em mobile */
    .nimo-checkout-body .wcpay-upe-form {
        width: 100% !important;
        max-width: 100% !important;
    }

    /* Reduz padding em mobile */
    .nimo-checkout-body .wc-payment-form {
        padding: 10px !important;
    }

    /* Remove margens do iframe interno */
    .nimo-checkout-body .wcpay-upe-element .__PrivateStripeElement {
        margin: 0 !important;
        width: 100% !important;
    }
}

/* end of pay by card section */


/* Esconde o toggle do cupão (correção) */
.nimo-checkout-body .woocommerce-form-coupon-toggle {
    display: none;
}

.nimo-checkout-body #thwmscf-tab-panel-0 .woocommerce-form-login-toggle .wc-block-components-notice-banner svg {
    display: none;
}

.nimo-checkout-body tr.order-total th,
.nimo-checkout-body tr.order-total td {
    font-size: 1.1rem !important;
    /* Total grande */
    padding-top: 20px !important;
    border-top: 2px dashed #cbd5e0 !important;
    /* Linha pontilhada estilo talão */
}

.nimo-checkout-body table.woocommerce-checkout-review-order-table {
    border: none !important;
}

/* --- 1. ESTRUTURA E CORES (Regresso ao Clean) --- */
.nimo-checkout-body {
    background-color: #f4f6f8;
    /* Cinza muito suave premium */
    font-family: 'Open Sans', sans-serif;
    color: #2d3748;
    padding-bottom: 80px;
    padding-top: 30px;
}

/* O Cartão Principal */
.nimo-checkout-body .woocommerce {
    max-width: 750px;
    margin: 0 auto;
    background: #ffffff;
    border-radius: 20px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.05);
    /* Sombra difusa */
    overflow: hidden;
    position: relative;
}

/* Wrapper interno */
.nimo-checkout-body .thwmscf-wrapper {
    padding: 0;
    /* Remove padding do wrapper para controlar nos filhos */
}

/* Títulos */
.nimo-checkout-body h3 {
    font-family: 'Rubik', sans-serif;
    color: #1e2566;
    /* Azul Nimo */
    font-size: 1.3rem;
    font-weight: 700;
    margin-bottom: 25px;
    padding-bottom: 10px;
    border-bottom: 2px solid #f0f0f5;
}

/* --- 2. CABEÇALHO (STEPS) - Limpo e Minimalista --- */
.nimo-checkout-body #thwmscf-tabs {
    background: #fff;
    padding: 30px 40px;
    margin: 0;
    border-bottom: 1px solid #edf2f7;
    display: flex;
    justify-content: space-between;
    position: relative;
}

/* Linha de conexão */
.nimo-checkout-body #thwmscf-tabs::before {
    display: none;
}

.nimo-checkout-body .thwmscf-tab a {
    text-decoration: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    transition: all 0.3s;
    opacity: 0.5;
}

.nimo-checkout-body .thwmscf-tab a.active,
.nimo-checkout-body .thwmscf-tab a.thwmscf-finished-step {
    opacity: 1;
}

/* Bolas numéricas */
.nimo-checkout-body .thwmscf-index {
    width: 38px;
    height: 38px;
    background: #f7fafc;
    color: #a0aec0;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-family: 'Rubik', sans-serif;
    margin-bottom: 8px;
    border: 2px solid #edf2f7;
    transition: all 0.3s;
}

/* Estado Ativo (Lilás) */
.nimo-checkout-body .thwmscf-tab a.active .thwmscf-index {
    background: #7268e1;
    color: #fff;
    border-color: #7268e1;
    box-shadow: 0 4px 10px rgba(114, 104, 225, 0.3);
    transform: scale(1.1);
}

/* Estado Concluído (Azul) */
.nimo-checkout-body .thwmscf-tab a.thwmscf-finished-step .thwmscf-index {
    background: #1e2566;
    color: #fff;
    border-color: #1e2566;
}

.nimo-checkout-body .thwmscf-tab-label {
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #1e2566;
}

/* Painéis de Conteúdo (Padding Global) */
.nimo-checkout-body .thwmscf-tab-panel {
    padding: 40px;
}

/* --- 3. STEP 0: O LOGIN (CORRIGIDO) --- */

/* Esconde o título do separador no corpo se aparecer */
.nimo-checkout-body #thwmscf-accordion-label-0 {
    display: none;
}

/* O Aviso "Já tem conta?" */
.nimo-checkout-body .wc-block-components-notice-banner {
    background: #f4f6fc;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 30px;
    display: flex;
    align-items: center;
    gap: 15px;
    color: #4a5568;
}

.nimo-checkout-body .wc-block-components-notice-banner svg {
    fill: #7268e1;
    min-width: 24px;
}

.nimo-checkout-body .wc-block-components-notice-banner a {
    color: #7268e1;
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: 0.2s;
}

.nimo-checkout-body .wc-block-components-notice-banner a:hover {
    border-bottom-color: #7268e1;
}

/* O Formulário de Login */
.nimo-checkout-body .woocommerce-form-login {
    max-width: 500px;
    margin: 0 auto !important;
    /*background: #fff;*/
    /*border: 2px solid #f0f0f5 !important;*/
    border-radius: 16px !important;
    /*box-shadow: 0 10px 25px rgba(0,0,0,0.02);*/
    border: 0px !important;
}

/* Botão de Login */
.nimo-checkout-body .woocommerce-form-login__submit {
    width: 100%;
    background-color: #1e2566;
    color: white;
    padding: 15px;
    border-radius: 10px;
    font-weight: 700;
    margin-top: 15px;
    cursor: pointer;
    transition: 0.3s;
}

.nimo-checkout-body .woocommerce-form-login__submit:hover {
    background-color: #7268e1;
}

/* --- 4. FORMULÁRIOS (Inputs Gerais) --- */
.nimo-checkout-body label {
    font-size: 0.9rem;
    font-weight: 600;
    color: #1e2566;
    margin-bottom: 8px !important;
    display: block !important;
}

.nimo-checkout-body input.input-text,
.nimo-checkout-body select,
.nimo-checkout-body textarea {
    width: 100%;
    background-color: #fff !important;
    border: 2px solid #e2e8f0 !important;
    border-radius: 10px !important;
    padding: 12px 15px !important;
    font-size: 1rem !important;
    color: #2d3748 !important;
    transition: all 0.2s;
}

.nimo-checkout-body input.input-text:focus,
.nimo-checkout-body select:focus {
    border-color: #7268e1;
    box-shadow: 0 0 0 4px rgba(114, 104, 225, 0.1);
    outline: none;
}

/* --- 5. REVIEW (Recibo Limpo) --- */
.nimo-checkout-body table.woocommerce-checkout-review-order-table {
    border: 1px solid #edf2f7;
    border-radius: 12px;
    margin-bottom: 25px;
    overflow: hidden;
    width: 100%;
}

.nimo-checkout-body table.shop_table th,
.nimo-checkout-body table.shop_table td {
    padding: 18px 25px;
    border-bottom: 1px solid #edf2f7;
    border-top: none;
}

.nimo-checkout-body table.shop_table thead th {
    background: #f9fafb;
    color: #718096;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.nimo-checkout-body table.shop_table .product-name {
    color: #2d3748;
    font-weight: 600;
}

/* Total */
.nimo-checkout-body tr.order-total th,
.nimo-checkout-body tr.order-total td {
    background: #fcfcff;
    border-top: 2px solid #edf2f7;
    font-size: 1.25rem;
    color: #1e2566;
    font-weight: 800;
}

.nimo-checkout-body tr.order-total .amount {
    color: #7268e1;
}

/* --- 6. PAGAMENTO (Smart Tiles) --- */
.nimo-checkout-body #payment {
    background: transparent;
    padding: 0;
}

.nimo-checkout-body ul.payment_methods {
    padding: 0 !important;
    display: grid;
    gap: 15px;
    border: none !important;
}

.nimo-checkout-body li.wc_payment_method {
    background: #fff;
    border: 2px solid #edf2f7 !important;
    border-radius: 12px;
    position: relative;
    transition: all 0.2s;
}

/* Hover */
.nimo-checkout-body li.wc_payment_method:hover {
    border-color: #cbd5e0;
}

/* Selected */
.nimo-checkout-body li.wc_payment_method input:checked+label,
.nimo-checkout-body li.wc_payment_method:has(input:checked) {
    border-color: #7268e1 !important;
    /*background-color: #fdfdff;*/
    /*box-shadow: 0 5px 15px rgba(114, 104, 225, 0.1);*/
}

.nimo-checkout-body li.wc_payment_method label {
    display: flex !important;
    align-items: center !important;
    padding-left: 48px;
    margin-top: -25px !important;
    cursor: pointer;
    font-weight: 700 !important;
    color: #1e2566 !important;
    width: 100%;
}

/* Radio Button Customizado */
.nimo-checkout-body li.wc_payment_method input[type="radio"] {
    appearance: none !important;
    -webkit-appearance: none;
    width: 20px;
    height: 20px;
    border: 2px solid #cbd5e0;
    border-radius: 50%;
    margin-left: 15px !important;
    margin-top: 15px !important;
    flex-shrink: 0 !important;
    display: grid;
    place-content: center;
}

.nimo-checkout-body li.wc_payment_method input[type="radio"]::before {
    content: "";
    width: 10px;
    height: 10px;
    border-radius: 50%;
    transform: scale(0);
    transition: 0.2s transform;
    background: #fff;
}

.nimo-checkout-body li.wc_payment_method input[type="radio"]:checked {
    background-color: #7268e1;
    border-color: #7268e1;
}

.nimo-checkout-body li.wc_payment_method input[type="radio"]:checked::before {
    transform: scale(1);
}

/* Icones */
.nimo-checkout-body li.wc_payment_method img {
    margin-left: auto;
    height: 24px;
}

/* Detalhes */
.nimo-checkout-body div.payment_box {
    background-color: transparent !important;
    padding: 0 20px 20px 58px !important;
    color: #718096 !important;
    margin: 0 !important;
    font-size: 0.9rem !important;
}

.nimo-checkout-body div.payment_box::before {
    display: none;
    !important;
}

/* Stripe Field Fix */
.nimo-checkout-body .wc-payment-form {
    background: #f8fafc;
    padding: 15px !important;
    border-radius: 8px;
    border: 0 solid #e2e8f0 !important;
    margin-top: 10px;
}

/* --- 7. BOTÕES DE NAVEGAÇÃO --- */
.nimo-checkout-body .thwmscf-buttons {
    display: flex;
    justify-content: space-between;
    margin-top: 30px;
    padding: 30px 40px;
    /* Padding dentro do card */
    background: #fff;
    /* Garante fundo branco */
    border-top: 1px solid #edf2f7;
    /* Remover padding do tab-panel para os botões ficarem fora do scroll se houver */
    margin-left: -40px;
    margin-right: -40px;
    margin-bottom: -40px;
    /* Compensa o padding do card */
    border-radius: 0 0 20px 20px;
}

.nimo-checkout-body .action-prev {
    background: transparent;
    color: #a0aec0;
    border: none;
    font-weight: 600;
    padding: 10px 20px;
    cursor: pointer;
}

.nimo-checkout-body .action-prev:hover {
    color: #1e2566;
}

.nimo-checkout-body .action-next {
    background-color: #1e2566;
    color: white;
    padding: 15px 45px;
    border-radius: 50px;
    font-weight: 700;
    border: none;
    cursor: pointer;
    transition: 0.3s;
}

.nimo-checkout-body .action-next:hover {
    background-color: #7268e1;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(114, 104, 225, 0.3);
}

/* --- 8. BOTÃO FINALIZAR (HERO) --- */

/* Esconde o botão "Próximo" do plugin no último passo */
.nimo-checkout-body #thwmscf-tab-panel-4 .thwmscf-buttons .action-next {
    display: none !important;
}

.nimo-checkout-body #thwmscf-tab-panel-0 .thwmscf-buttons .action-prev {
    display: none !important;
}

/* erros */

.nimo-checkout-body .wc-block-store-notices {
    max-width: none;
    padding: 0px 50px;
}

/* Estila o Botão Real do WooCommerce */
.nimo-checkout-body #place_order {
    width: 100%;
    background: linear-gradient(135deg, #7268e1 0%, #655bc0 100%);
    color: white;
    font-size: 1.2rem;
    font-weight: 800;
    text-transform: uppercase;
    padding: 22px;
    border: none;
    border-radius: 12px;
    margin-top: 20px;
    cursor: pointer;
    box-shadow: 0 10px 30px rgba(114, 104, 225, 0.4);
    transition: all 0.3s;
}

.nimo-checkout-body #place_order:hover {
    transform: translateY(-2px);
    box-shadow: 0 15px 40px rgba(114, 104, 225, 0.5);
}

/* Termos */
.nimo-checkout-body .woocommerce-terms-and-conditions-wrapper {
    background: #f8fafc;
    border: 1px dashed #cbd5e0;
    padding: 15px;
    border-radius: 10px;
    margin-bottom: 25px;
    font-size: 0.85rem;
}

/* --- 9. MOBILE --- */
@media (max-width: 768px) {
    .nimo-checkout-body {
        padding-top: 0;
        background: #fff;
        /* Fundo branco em mobile */
    }

    .nimo-checkout-body .woocommerce {
        box-shadow: none;
        margin: 0;
        border-radius: 0;
    }

    .nimo-checkout-body #thwmscf-tabs {
        padding: 20px;
        justify-content: center;
        gap: 15px;
    }

    .nimo-checkout-body .thwmscf-tab-label {
        display: none;
    }

    .nimo-checkout-body .thwmscf-tab-panel {
        padding: 20px;
    }

    .nimo-checkout-body .thwmscf-buttons {
        padding: 20px;
        margin: 20px -20px -20px -20px;
    }

    /* Login Mobile */
    .nimo-checkout-body .woocommerce-form-login {
        padding: 20px;
        box-shadow: none;
        border: 1px solid #edf2f7;
    }

    /* 1. ACABAR COM O "CARTÃO FLUTUANTE" */
    /* Em mobile, usamos o ecrã todo. É mais limpo e dá mais espaço. */
    .nimo-checkout-body {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        background-color: #ffffff !important;
        /* Fundo branco total */
    }

    .nimo-checkout-body .woocommerce {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        border: none !important;
    }

    /* 2. ARRANJAR A BARRA DE PROGRESSO */
    /* As bolas ficam mais pequenas e ESCONDEMOS o texto para caberem todas */
    .nimo-checkout-body #thwmscf-tabs {
        padding: 15px 10px !important;
        gap: 5px !important;
        justify-content: center !important;
        /* Centrar as bolas */
        background: #f9fafb !important;
        /* Ligeiro cinza para separar do conteúdo */
    }

    /* Esconder os textos (Faturação, Entrega...) porque não cabem */
    .nimo-checkout-body .thwmscf-tab-label {
        display: none !important;
    }

    /* Ajustar tamanho das bolas */
    .nimo-checkout-body .thwmscf-index {
        width: 32px !important;
        height: 32px !important;
        font-size: 12px !important;
        margin-bottom: 0 !important;
        /* Remover margem de baixo */
    }

    /* 3. DAR ESPAÇO AO CONTEÚDO */
    /* Reduzir o padding gigante de 40px para 20px */
    .nimo-checkout-body .thwmscf-tab-panel {
        padding: 20px 15px !important;
    }

    /* 4. BOTÕES "DEDO-FRIENDLY" */
    /* Botões empilhados e largura total */
    .nimo-checkout-body .thwmscf-buttons {
        flex-direction: column-reverse;
        /* "Anterior" vai para baixo */
        gap: 15px;
        padding: 0 15px 30px 15px !important;
    }

    .nimo-checkout-body .action-next,
    .nimo-checkout-body #place_order {
        width: 100% !important;
        /* Botão ocupa a largura toda */
        padding: 18px !important;
    }

    .nimo-checkout-body .action-prev {
        width: 100% !important;
        padding: 15px !important;
        border: 1px solid #edf2f7 !important;
        border-radius: 50px !important;
    }

    /* 5. AJUSTES FINAIS */
    /* Garantir que o Step 0 (Login) não quebra */
    .nimo-checkout-body .woocommerce-form-login {
        padding: 15px !important;
        border: 1px solid #edf2f7 !important;
    }

    /* Títulos mais pequenos */
    .nimo-checkout-body h3 {
        font-size: 1.1rem !important;
    }

    .nimo-checkout-body .woocommerce form .form-row-first,
    .nimo-checkout-body .woocommerce form .form-row-last {
        width: 100% !important;
        /* Ocupa a largura toda */
        float: none !important;
        /* Remove o alinhamento lado-a-lado */
        margin-right: 0 !important;
        /* Remove a margem lateral */
        clear: both !important;
        /* Garante que salta para a linha seguinte */
    }

    /* Reduzir letra geral da tabela e remover bordas laterais para ganhar espaço */
    .nimo-checkout-body table.woocommerce-checkout-review-order-table {
        font-size: 0.85rem !important;
        /* Letra mais pequena (~13px) */
        border: none !important;
        background: transparent !important;
    }

    /* Ajustar espaçamento das células */
    .nimo-checkout-body table.shop_table th,
    .nimo-checkout-body table.shop_table td {
        padding: 10px 0 !important;
        /* Remove padding lateral para usar 100% da largura */
    }

    /* Coluna do Preço: Forçar a ficar numa linha só e encostada à direita */
    .nimo-checkout-body table.shop_table .product-total {
        white-space: nowrap !important;
        /* Impede que o preço parta em 2 linhas */
        text-align: right !important;
        width: 1% !important;
        /* Truque para ocupar apenas o espaço necessário */
        vertical-align: top !important;
    }

    /* Coluna do Produto: Dar margem para não colar ao preço */
    .nimo-checkout-body table.shop_table .product-name {
        padding-right: 15px !important;
    }

    /* VARIAÇÕES (ex: Medidas, Opções) - Tornar subtil */
    .nimo-checkout-body table.shop_table dl.variation {
        font-size: 0.75rem !important;
        /* Letra bem pequena */
        color: #718096 !important;
        /* Cinza claro */
        margin-top: 5px !important;
        display: block !important;
    }

    /* Linha do TOTAL FINAL - Destacar */
    .nimo-checkout-body tr.order-total th,
    .nimo-checkout-body tr.order-total td {
        font-size: 1.1rem !important;
        /* Total grande */
        padding-top: 20px !important;
        border-top: 2px dashed #cbd5e0 !important;
        /* Linha pontilhada estilo talão */
    }

    .nimo-checkout-body .entry-content {
        margin: 0px 0px !important;
        max-width: none;
    }
}

/*!* ============================================================*/
/*   NIMO CHECKOUT: ULTRA-PREMIUM EXPERIENCE*/
/*   ============================================================ *!*/

/*!* --- 0. CORREÇÕES DE TRADUÇÃO (CSS TRICKS) --- *!*/

/*!* Traduzir: "Or continue below" *!*/
/*.wc-block-components-express-payment-continue-rule {*/
/*    font-size: 0 !important; !* Esconde o texto original *!*/
/*    height: 20px;*/
/*    position: relative;*/
/*    overflow: visible;*/
/*    text-align: center !important;*/
/*    margin: 30px 0 !important;*/
/*}*/

/*.wc-block-components-express-payment-continue-rule::after {*/
/*    !*content: "Ou continue com os dados abaixo" !important; !* Novo Texto PT *!*!*/
/*    font-size: 0.8rem;*/
/*    color: #999;*/
/*    font-family: 'Open Sans', sans-serif;*/
/*    text-transform: uppercase;*/
/*    letter-spacing: 1px;*/
/*    background: #fff;*/
/*    padding: 0 15px;*/
/*    position: relative;*/
/*    z-index: 10000;*/
/*}*/

/*.wc-block-components-express-payment-continue-rule::before {*/
/*    content: '';*/
/*    position: absolute;*/
/*    top: 95%;*/
/*    opacity: 0.6;*/
/*    left: 0;*/
/*    width: 100%;*/
/*    height: 0.1px;*/
/*    background: #eee;*/
/*    z-index: 0;*/
/*}*/

/*!* Traduzir: "Save payment information..." *!*/
/*.wc-block-components-payment-methods__save-card-info .wc-block-components-checkbox__label {*/
/*    font-size: 0 !important;*/
/*}*/

/*.wc-block-components-payment-methods__save-card-info .wc-block-components-checkbox__label::after {*/
/*    content: "Guardar dados de pagamento para futuras compras";*/
/*    font-size: 0.9rem;*/
/*    font-family: 'Open Sans', sans-serif;*/
/*    display: block;*/
/*    margin-top: -21px; !* Ajuste fino *!*/
/*}*/

/*!* --- 1. CABEÇALHO (Minimalismo Puro) --- *!*/
/*.nimo-checkout-header {*/
/*    background: #ffffff;*/
/*    padding: 25px 0;*/
/*    box-shadow: 0 4px 20px rgba(0,0,0,0.03); !* Sombra subtil *!*/
/*    position: relative;*/
/*    z-index: 100;*/
/*}*/

/*.nimo-checkout-header a {*/
/*    font-family: 'Rubik', sans-serif;*/
/*    font-weight: 700;*/
/*    font-size: 2.2rem;*/
/*    color: #1e2566;*/
/*    text-decoration: none;*/
/*    letter-spacing: -1px;*/
/*}*/

/*!* --- 2. LAYOUT & ESTRUTURA --- *!*/
/*.wp-block-woocommerce-checkout {*/
/*    font-family: 'Open Sans', sans-serif;*/
/*    color: #4a4a4a;*/
/*    margin-top: 50px;*/
/*}*/

/*!* Títulos das Secções *!*/
/*.wc-block-components-checkout-step__title {*/
/*    font-family: 'Rubik', sans-serif;*/
/*    font-size: 1.4rem;*/
/*    font-weight: 700;*/
/*    color: #1e2566;*/
/*    margin-bottom: 20px;*/
/*    display: flex;*/
/*    align-items: center;*/
/*}*/

/*!* Adiciona um pequeno traço antes do título para dar estilo *!*/
/*.wc-block-components-checkout-step__title::before {*/
/*    content: '';*/
/*    display: block;*/
/*    width: 6px;*/
/*    height: 24px;*/
/*    background: #7268e1; !* Lilas *!*/
/*    margin-right: 12px;*/
/*    border-radius: 4px;*/
/*}*/

/*!* --- 3. INPUTS "ALMOFADA" (Soft UI) --- *!*/
/*!* A magia acontece aqui: inputs que parecem táteis *!*/
/*.wc-block-components-text-input input,*/
/*.wc-blocks-components-select__select {*/
/*    background-color: #f9f9fc !important; !* Azul/Cinza muito claro *!*/
/*    border: 1px solid transparent !important; !* Sem borda visível inicialmente *!*/
/*    border-radius: 12px !important;*/
/*    height: 56px !important;*/
/*    padding-left: 20px !important;*/
/*    font-size: 1rem;*/
/*    color: #1e2566 !important;*/
/*    font-weight: 500;*/
/*    transition: all 0.3s ease;*/
/*    box-shadow: inset 0 2px 4px rgba(0,0,0,0.02); !* Sombra interna subtil *!*/
/*}*/

/*!* Labels Flutuantes (Texto dentro do input) *!*/
/*.wc-block-components-text-input label {*/
/*    color: #888;*/
/*    font-size: 0.9rem;*/
/*    font-weight: 500;*/
/*    top: 18px; !* Ajuste vertical *!*/
/*}*/

/*!* Foco: Quando o utilizador clica *!*/
/*.wc-block-components-text-input input:focus,*/
/*.wc-blocks-components-select__select:focus {*/
/*    background-color: #fff !important;*/
/*    border-color: #7268e1 !important;*/
/*    box-shadow: 0 5px 20px rgba(114, 104, 225, 0.15) !important; !* Glow Lilas *!*/
/*}*/

/*!* --- 4. SECÇÃO DE PAGAMENTO (Estilo Cartão de Crédito) --- *!*/
/*.wc-block-components-radio-control-accordion-option {*/
/*    border: 1px solid #f0f0f0;*/
/*    border-radius: 16px;*/
/*    margin-bottom: 15px;*/
/*    background: #fff;*/
/*    overflow: hidden;*/
/*    transition: all 0.3s ease;*/
/*}*/

/*!* Opção Selecionada *!*/
/*.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control__option-checked {*/
/*    background-color: #fbfbfe; !* Lilas ultra claro *!*/
/*    border: 1px solid #7268e1;*/
/*    box-shadow: 0 10px 30px rgba(114, 104, 225, 0.05);*/
/*}*/

/*!* Logos de Pagamento (Visa, MB Way, etc) *!*/
/*.payment-methods--logos {*/
/*    filter: grayscale(100%); !* Logos a preto e branco para ser chique *!*/
/*    opacity: 0.7;*/
/*    transition: all 0.3s;*/
/*}*/

/*!* Logos a cores quando selecionado *!*/
/*.wc-block-components-radio-control__option-checked .payment-methods--logos {*/
/*    filter: none;*/
/*    opacity: 1;*/
/*}*/

/*!* --- 5. SIDEBAR (Resumo Sticky & Premium) --- *!*/
/*.wc-block-checkout__sidebar {*/
/*    background: #ffffff;*/
/*    border-radius: 24px;*/
/*    padding: 35px;*/
/*    !* Efeito de vidro fosco subtil se o fundo da pagina não for branco puro *!*/
/*    box-shadow: 0 20px 60px rgba(30, 37, 102, 0.08);*/
/*    border: 1px solid rgba(0,0,0,0.03);*/

/*    !* STICKY - Faz o resumo acompanhar o scroll *!*/
/*    position: sticky;*/
/*    top: 40px;*/
/*}*/

/*!* Título Resumo *!*/
/*.wc-block-components-checkout-order-summary__title-text {*/
/*    font-family: 'Rubik', sans-serif;*/
/*    color: #1e2566;*/
/*    font-size: 1.2rem;*/
/*    font-weight: 700;*/
/*}*/

/*!* Preço Total (Destaque) *!*/
/*.wc-block-components-checkout-order-summary__title-price {*/
/*    color: #7268e1;*/
/*    font-family: 'Rubik', sans-serif;*/
/*    font-weight: 700;*/
/*    font-size: 1.2rem;*/
/*}*/

/*!* Produto no Resumo *!*/
/*.wc-block-components-order-summary-item__image img {*/
/*    border-radius: 12px;*/
/*    box-shadow: 0 5px 15px rgba(0,0,0,0.1);*/
/*}*/

/*.wc-block-components-product-name {*/
/*    font-family: 'Rubik', sans-serif;*/
/*    font-weight: 600;*/
/*    color: #1e2566;*/
/*    font-size: 1rem;*/
/*}*/

/*!* Totais (Subtotal, Envio) *!*/
/*.wc-block-components-totals-item {*/
/*    border-bottom: 1px dashed #eee;*/
/*    padding-bottom: 15px;*/
/*    margin-bottom: 15px;*/
/*}*/

/*.wc-block-components-totals-item__label {*/
/*    text-transform: uppercase;*/
/*    font-size: 0.85rem;*/
/*    letter-spacing: 1px;*/
/*    color: #888;*/
/*}*/

/*!* Linha Final TOTAL *!*/
/*.wc-block-components-totals-footer-item {*/
/*    border-top: 2px solid #1e2566; !* Linha grossa azul no fim *!*/
/*    padding-top: 20px;*/
/*    border-bottom: none;*/
/*}*/

/*.wc-block-components-totals-footer-item .wc-block-components-totals-item__label {*/
/*    color: #1e2566;*/
/*    font-weight: 700;*/
/*    font-size: 1.1rem;*/
/*}*/

/*.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {*/
/*    color: #1e2566;*/
/*    font-size: 2rem; !* Preço gigante *!*/
/*    font-weight: 700;*/
/*    font-family: 'Rubik', sans-serif;*/
/*}*/

/*!* IVA *!*/
/*.wc-block-components-totals-item__description {*/
/*    color: #999;*/
/*    font-size: 0.8rem;*/
/*    font-style: italic;*/
/*}*/

/*!* --- 6. BOTÃO DE AÇÃO (O "Call to Action") --- *!*/
/*.wc-block-components-checkout-place-order-button {*/
/*    !* Gradiente Nimo *!*/
/*    background: linear-gradient(135deg, #1e2566 0%, #2a3585 100%) !important;*/

/*    color: #ffffff !important;*/
/*    font-family: 'Rubik', sans-serif;*/
/*    font-weight: 700;*/
/*    text-transform: uppercase;*/
/*    letter-spacing: 1.5px;*/
/*    border-radius: 16px !important; !* Cantos arredondados modernos *!*/
/*    padding: 22px 30px !important;*/
/*    font-size: 1.1rem !important;*/
/*    border: none !important;*/

/*    !* Sombra colorida que brilha *!*/
/*    box-shadow: 0 10px 30px rgba(42, 53, 133, 0.4);*/

/*    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);*/
/*    width: 100%;*/
/*    margin-top: 30px;*/
/*    position: relative;*/
/*    overflow: hidden;*/
/*}*/

/*!* Efeito de brilho no hover *!*/
/*.wc-block-components-checkout-place-order-button::after {*/
/*    content: '';*/
/*    position: absolute;*/
/*    top: 0;*/
/*    left: -100%;*/
/*    width: 100%;*/
/*    height: 100%;*/
/*    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);*/
/*    transition: 0.5s;*/
/*}*/

/*.wc-block-components-checkout-place-order-button:hover {*/
/*    transform: translateY(-4px);*/
/*    box-shadow: 0 20px 50px rgba(42, 53, 133, 0.5);*/
/*}*/

/*.wc-block-components-checkout-place-order-button:hover::after {*/
/*    left: 100%;*/
/*}*/

/*!* --- 7. EXPRESS CHECKOUT (Limpeza) --- *!*/
/*.wc-block-components-express-payment {*/
/*    background: #f0f2f5;*/
/*    border: none;*/
/*    border-radius: 16px;*/
/*    padding: 20px;*/
/*}*/

/*.wc-block-components-express-payment__title {*/
/*    color: #666;*/
/*    font-weight: 600;*/
/*}*/

/*!* --- 8. AJUSTES MOBILE --- *!*/
/*@media (max-width: 900px) {*/
/*    .wc-block-checkout__sidebar {*/
/*        position: relative; !* Remove sticky no mobile *!*/
/*        top: 0;*/
/*        margin-bottom: 40px;*/
/*        order: -1; !* Opcional: Coloca o resumo acima do formulário no mobile *!*/
/*    }*/

/*    !* Botões fixos no fundo no mobile? Opcional *!*/
/*    !* .wc-block-checkout__actions { position: fixed; bottom: 0; ... } *!*/
/*}*/


/*!* Outros *!*/
/*.wc-block-components-express-payment--checkout .wc-block-components-express-payment__content {*/
/*    border: 0px solid hsla(0,0%,7%,.11) !important;*/
/*}*/

/*.wc-block-components-express-payment--checkout .wc-block-components-express-payment__title-container:before {*/
/*    border-left: 0px solid hsla(0,0%,7%,.11) !important;*/
/*    border-top: 0px solid hsla(0,0%,7%,.11) !important;;*/
/*}*/

/*.wc-block-components-express-payment--checkout .wc-block-components-express-payment__title-container:after {*/
/*    border-left: 0px solid hsla(0,0%,7%,.11) !important;*/
/*    border-top: 0px solid hsla(0,0%,7%,.11) !important;*/
/*}*/

/*.wc-block-components-express-payment--checkout .wc-block-components-express-payment__title {*/
/*    transform: translateY(100%) !important;*/
/*}*/

/*block-components-radio-control--highlight-checked::after {*/
/*    border: 0px solid hsla(0, 0%, 7%, .11) !important;*/
/*}*/

/*
 * Nimo Pag do carrinho
 */
/* ============================================================
   NIMO CART: PREMIUM EDIT (.nimo-cart)
   ============================================================ */

/* --- 1. ESTRUTURA & BASE --- */
.nimo-cart {
    background-color: #ffffff;
    font-family: 'Open Sans', sans-serif;
    color: #4a4a4a;
}

.nimo-cart h1.wp-block-post-title {
    font-family: 'Rubik', sans-serif;
    font-weight: 700;
    color: #1e2566;
    font-size: 2.5rem;
    text-align: center;
    margin-bottom: 40px;
    letter-spacing: -1px;
}

/* --- 2. TABELA DE PRODUTOS (Clean Layout) --- */
.nimo-cart .wc-block-cart-items {
    border: none;
    margin-bottom: 40px;
}

/* Cabeçalhos (Produto, Detalhes, Total) */
.nimo-cart .wc-block-cart-items__header th {
    font-family: 'Rubik', sans-serif;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #999;
    border: none;
    padding-bottom: 20px;
    font-weight: 600;
}

/* Linha do Produto */
.nimo-cart .wc-block-cart-items__row {
    border-bottom: 1px solid #f0f0f0;
    padding: 30px 0;
}

/* Imagem do Produto */
.nimo-cart .wc-block-cart-item__image img {
    border-radius: 16px !important;
    width: 100px !important;
    /* Imagens maiores no carrinho */
    height: 100px !important;
    object-fit: cover;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06);
}

/* Nome do Produto */
.nimo-cart .wc-block-components-product-name {
    font-family: 'Rubik', sans-serif;
    font-size: 1.1rem;
    font-weight: 700;
    color: #1e2566;
    text-decoration: none;
    margin-bottom: 5px;
    display: block;
}

/* Variantes (Medidas) */
.nimo-cart .wc-block-components-product-details__value {
    font-size: 0.8rem;
    color: #666;
    background: #f5f5f7;
    padding: 4px 10px;
    border-radius: 6px;
    font-weight: 600;
}

.nimo-cart .wc-block-components-product-details__name {
    display: none;
    /* Esconde label "medidas:" */
}

/* --- 3. PREÇOS & BADGES --- */
.nimo-cart .wc-block-cart-item__prices {
    margin-bottom: 10px;
}

.nimo-cart del {
    color: #ccc;
    font-size: 0.9rem;
}

.nimo-cart ins {
    text-decoration: none;
    color: #1e2566;
    font-weight: 700;
    font-size: 1.1rem;
}

/* Badge "POUPA X€" (Pill Style) */
.nimo-cart .wc-block-components-sale-badge {
    background-color: #f3f0ff;
    /* Lilás Claro */
    color: #7268e1;
    /* Lilás Marca */
    font-family: 'Rubik', sans-serif;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    padding: 5px 10px;
    border-radius: 20px;
    display: inline-block;
    margin-bottom: 10px;
}

/* --- 4. SELETOR DE QUANTIDADE (Tech Style) --- */
.nimo-cart .wc-block-components-quantity-selector {
    display: flex !important;
    align-items: center !important;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    height: 40px;
    width: 110px;
    background: #fff;
    margin-top: 15px;
    overflow: hidden;
}

/* Input Numérico */
.nimo-cart .wc-block-components-quantity-selector__input {
    border: none !important;
    background: transparent !important;
    color: #1e2566 !important;
    font-weight: 700;
    font-size: 1rem;
    text-align: center;
    width: 100%;
    padding: 0 !important;
    margin: 0 !important;
    -moz-appearance: textfield;
}

/* Remover setas nativas */
.nimo-cart .wc-block-components-quantity-selector__input::-webkit-outer-spin-button,
.nimo-cart .wc-block-components-quantity-selector__input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Botões +/- */
.nimo-cart .wc-block-components-quantity-selector__button {
    color: #1e2566 !important;
    background: transparent !important;
    border: none !important;
    font-size: 1.2rem;
    width: 35px;
    height: 100%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s;
}

.nimo-cart .wc-block-components-quantity-selector__button:hover {
    background: #f9f9f9 !important;
    color: #7268e1 !important;
}

/* Link Remover */
.nimo-cart .wc-block-cart-item__remove-link {
    font-size: 0.8rem;
    color: #e74c3c;
    text-decoration: none;
    margin-top: 10px;
    display: inline-block;
    border-bottom: 1px dotted transparent;
    transition: all 0.2s;
}

.nimo-cart .wc-block-cart-item__remove-link:hover {
    border-bottom-color: #e74c3c;
}

/* --- 5. SIDEBAR / TOTAIS (Cartão Sticky) --- */
.nimo-cart .wc-block-cart__sidebar {
    background-color: #f8f9fc;
    /* Azul Cinza muito suave */
    border-radius: 24px;
    padding: 40px;
    border: 1px solid rgba(0, 0, 0, 0.02);
    /* Sticky effect para acompanhar scroll */
    position: sticky;
    top: 40px;
}

/* Título Sidebar */
.nimo-cart .wc-block-cart__totals-title {
    font-family: 'Rubik', sans-serif;
    color: #1e2566;
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 25px;
}

/* Linhas de Totais */
.nimo-cart .wc-block-components-totals-item {
    border-bottom: 1px dashed #e0e0e0;
    padding-bottom: 15px;
    margin-bottom: 15px;
}

.nimo-cart .wc-block-components-totals-item__label {
    text-transform: uppercase;
    font-size: 0.85rem;
    letter-spacing: 1px;
    color: #666;
}

.nimo-cart .wc-block-components-totals-item__value {
    color: #1e2566;
    font-weight: 600;
}

/* TOTAL GERAL */
.nimo-cart .wc-block-components-totals-footer-item {
    border-top: 2px solid #1e2566;
    padding-top: 20px;
    border-bottom: none;
}

.nimo-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    font-size: 2.2rem;
    font-family: 'Rubik', sans-serif;
    color: #1e2566;
    font-weight: 700;
}

.nimo-cart .wc-block-components-totals-item__description {
    font-size: 0.8rem;
    color: #999;
    font-style: italic;
}

/* --- 6. BOTÃO FINALIZAR COMPRA (Action) --- */
.nimo-cart .wc-block-cart__submit-button {
    background: linear-gradient(135deg, #1e2566 0%, #2a3585 100%) !important;
    color: #ffffff !important;
    font-family: 'Rubik', sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    border-radius: 12px !important;
    padding: 20px !important;
    font-size: 1.1rem !important;
    border: none !important;
    width: 100%;
    box-shadow: 0 10px 30px rgba(30, 37, 102, 0.25);
    transition: all 0.3s ease;
    margin-top: 20px;
    display: block;
    text-align: center;
    text-decoration: none;
}

.nimo-cart .wc-block-cart__submit-button:hover {
    transform: translateY(-3px);
    box-shadow: 0 15px 40px rgba(30, 37, 102, 0.35);
}

/* --- 7. EXPRESS PAYMENT (Limpeza) --- */
.nimo-cart .wc-block-components-express-payment {
    border: 1px solid #e0e0e0;
    border-radius: 12px;
    padding: 20px;
    background: #fff;
    margin-top: 20px;
}

/* Separador "OU" (Correção Visual) */
.nimo-cart .wc-block-components-express-payment-continue-rule {
    font-size: 0 !important;
    margin: 30px 0 !important;
    border-top: 1px solid #e0e0e0;
    position: relative;
    overflow: visible;
    text-align: center;
}

.nimo-cart .wc-block-components-express-payment-continue-rule::after {
    content: "OU PAGUE COM";
    font-size: 0.75rem;
    color: #999;
    background: #f8f9fc;
    /* Mesma cor do sidebar */
    padding: 0 15px;
    position: absolute;
    top: -10px;
    left: 50%;
    transform: translateX(-50%);
    font-weight: 600;
}

/* --- 8. CROSS SELLS ("Pode estar interessado") --- */
.nimo-cart .wp-block-woocommerce-cart-cross-sells-block {
    margin-top: 80px;
    border-top: 1px solid #f0f0f0;
    padding-top: 50px;
}

.nimo-cart .wp-block-woocommerce-cart-cross-sells-block h2 {
    font-family: 'Rubik', sans-serif;
    color: #1e2566;
    font-size: 1.8rem;
    margin-bottom: 30px;
}

/* Produto Cross Sell */
.nimo-cart .cross-sells-product {
    text-align: center;
}

.nimo-cart .cross-sells-product img {
    border-radius: 16px;
    margin-bottom: 15px;
    transition: transform 0.3s ease;
}

.nimo-cart .cross-sells-product:hover img {
    transform: scale(1.03);
}

.nimo-cart .wp-block-cart-cross-sells-product__product-title a {
    font-family: 'Rubik', sans-serif;
    color: #1e2566;
    font-weight: 600;
    text-decoration: none;
    font-size: 1.1rem;
}

/* Botão Adicionar (Cross Sell) */
.nimo-cart .wp-block-cart-cross-sells-product__product-add-to-cart .wp-block-button__link {
    background: transparent !important;
    color: #1e2566 !important;
    border: 1px solid #1e2566 !important;
    border-radius: 50px !important;
    padding: 10px 25px !important;
    font-size: 0.9rem !important;
    font-weight: 700;
    text-transform: uppercase;
    transition: all 0.3s;
}

.nimo-cart .wp-block-cart-cross-sells-product__product-add-to-cart .wp-block-button__link:hover {
    background: #1e2566 !important;
    color: #fff !important;
}

/* --- 9. MOBILE --- */
@media (max-width: 900px) {
    .nimo-cart .wc-block-cart__sidebar {
        position: relative;
        top: 0;
        margin-top: 40px;
    }
}


/*
 * Também pode gostar
 */
/* 1. Contentor & Título */
.up-sells {
    margin-top: 80px;
    padding-top: 50px;
    border-top: 1px solid #f0f0f0;
}

.up-sells h2 {
    font-family: 'Rubik', sans-serif;
    font-size: 1.8rem;
    color: #1e2566;
    text-align: center;
    margin-bottom: 50px;
    font-weight: 700;
}

/* 2. GRELHA (Grid Layout Robusto) */
.up-sells ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 30px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    width: 100% !important;
}

/* Limpeza de CSS antigo */
.up-sells ul.products::before,
.up-sells ul.products::after {
    display: none !important;
}

.up-sells li.product {
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
}


/* 3. O CARTÃO (Estrutura) */
.up-sells li.product {
    background: #ffffff;
    border: 1px solid #f0f0f0;
    border-radius: 13px;
    /* Coerência */

    /* ZERO PADDING aqui para a imagem tocar nas bordas */
    padding: 0 !important;

    /* Flexbox para alinhar o botão no fundo */
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;

    position: relative;
    overflow: hidden;
    /* Corta a imagem nos cantos redondos */
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.up-sells li.product:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 30px rgba(30, 37, 102, 0.08);
    border-color: #7268e1;
}

/* Esconder Badge (Pedido) */
.up-sells .onsale {
    display: none !important;
}


/* 4. LINK PRINCIPAL (Wrapper do conteúdo) */
.up-sells li.product .woocommerce-LoopProduct-link {
    text-decoration: none !important;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    width: 100%;
}


/* 5. IMAGEM (FULL WIDTH - ATÉ AOS CANTOS) */
.up-sells li.product img {
    width: 100% !important;
    height: 250px !important;
    /* Altura fixa */
    object-fit: cover !important;
    /* Ou 'contain' se preferires ver o colchão todo sem cortes */
    margin: 0 0 20px 0 !important;
    /* Margem apenas em baixo */
    border-bottom: 1px solid #f9f9f9;
    background: #fbfbfd;

    /* Garante que não há padding à volta */
    padding: 0 !important;
    border-radius: 0 !important;
    /* O radius vem do cartão (overflow: hidden) */
}


/* 6. CONTEÚDO DE TEXTO (Aqui aplicamos o padding lateral) */
/* Como tirámos o padding do cartão, temos de dar padding aos elementos de texto individualmente ou criar regras para eles */

.up-sells .woocommerce-loop-product__title {
    font-family: 'Rubik', sans-serif !important;
    color: #1e2566 !important;
    font-size: 1.1rem;
    font-weight: 600;
    line-height: 1.4;
    text-align: center;

    /* Espaçamento lateral */
    padding: 0 20px;
    margin-bottom: 10px;
    margin-top: 0;
}

.up-sells .custom-bars {
    width: 100%;
    /* Espaçamento lateral */
    padding: 0 20px;
    margin-bottom: 15px;
    box-sizing: border-box;
}

.up-sells .star-rating {
    display: none !important;
    ;
    margin: 0 auto 10px auto;
    color: #f1c40f;
    font-size: 0.8rem;
}

.up-sells .price {
    font-family: 'Rubik', sans-serif !important;
    color: #7268e1 !important;
    font-size: 1.125rem !important;
    font-weight: 700;
    letter-spacing: 1px;
    display: block;
    text-align: center;
    margin-bottom: 15px;

    /* Espaçamento lateral */
    padding: 0 20px;
}

.up-sells del {
    color: #ccc !important;
    font-size: 0.9rem !important;
    margin-right: 8px;
    font-weight: 400;
    text-decoration: line-through;
}

.up-sells .woocommerce-price-suffix {
    display: none;
}



/* 8. BOTÃO (Ver Opções) */
.up-sells .button {
    /* Margem lateral para criar o "padding" visual */
    margin: 0 20px 25px 20px !important;
    margin-top: auto !important;
    /* Empurra para o fundo */

    background: transparent !important;
    color: #1e2566 !important;
    border: 1px solid #1e2566 !important;
    border-radius: 50px !important;
    padding: 12px !important;
    font-family: 'Rubik', sans-serif;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.8rem !important;
    text-align: center;
    transition: all 0.3s ease;
    display: block;
}

.up-sells .button:hover {
    background: #1e2566 !important;
    color: #ffffff !important;
    box-shadow: 0 5px 15px rgba(30, 37, 102, 0.15);
}


/* RESPONSIVIDADE */
@media (max-width: 1024px) {
    .up-sells ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (max-width: 600px) {
    .up-sells ul.products {
        grid-template-columns: 1fr !important;
    }
}

/*
 * Nimo Quiz
 */
/* ============================================================
   NIMO QUIZ STYLES
   ============================================================ */

/*.nimo-quiz-wrapper {*/
/*    background: #ffffff;*/
/*    border-radius: 24px;*/
/*    box-shadow: 0 20px 60px rgba(30, 37, 102, 0.08); !* Sombra suave Nimo *!*/
/*    padding: 40px;*/
/*    max-width: 700px;*/
/*    margin: 40px auto;*/
/*    position: relative;*/
/*    overflow: hidden;*/
/*    border: 1px solid #f0f0f0;*/
/*    min-height: 450px; !* Evita saltos de altura *!*/
/*    display: flex;*/
/*    flex-direction: column;*/
/*    justify-content: center;*/
/*}*/

/*!* Barra de Progresso *!*/
/*.nimo-quiz-progress {*/
/*    position: absolute;*/
/*    top: 0;*/
/*    left: 0;*/
/*    width: 100%;*/
/*    height: 6px;*/
/*    background: #f0f0f0;*/
/*}*/
/*.nimo-quiz-bar {*/
/*    height: 100%;*/
/*    background: linear-gradient(90deg, #1e2566, #7268e1);*/
/*    transition: width 0.4s ease;*/
/*}*/

/*!* Passos (Escondidos por defeito) *!*/
/*.nimo-quiz-step {*/
/*    display: none;*/
/*    animation: fadeInSlide 0.5s ease;*/
/*    text-align: center;*/
/*}*/
/*.nimo-quiz-step.active-step {*/
/*    display: block;*/
/*}*/

/*!* Tipografia *!*/
/*.nimo-step-count {*/
/*    font-family: 'Rubik', sans-serif;*/
/*    color: #999;*/
/*    text-transform: uppercase;*/
/*    font-size: 0.8rem;*/
/*    letter-spacing: 1px;*/
/*    font-weight: 600;*/
/*}*/

/*.nimo-quiz-question {*/
/*    font-family: 'Rubik', sans-serif;*/
/*    color: #1e2566;*/
/*    font-size: 1.8rem;*/
/*    font-weight: 700;*/
/*    margin: 15px 0 40px 0;*/
/*    line-height: 1.3;*/
/*}*/

/*.nimo-quiz-sub {*/
/*    font-family: 'Open Sans', sans-serif;*/
/*    color: #666;*/
/*    margin-bottom: 30px;*/
/*}*/

/*!* Opções (Botões Grandes) *!*/
/*.nimo-quiz-options {*/
/*    display: grid;*/
/*    gap: 15px;*/
/*}*/

/*.nimo-opt-btn {*/
/*    background: #fff;*/
/*    border: 2px solid #f0f0f0;*/
/*    border-radius: 12px;*/
/*    padding: 20px;*/
/*    font-family: 'Open Sans', sans-serif;*/
/*    font-size: 1rem;*/
/*    color: #1e2566;*/
/*    font-weight: 600;*/
/*    cursor: pointer;*/
/*    transition: all 0.2s ease;*/
/*    text-align: left;*/
/*    width: 100%;*/
/*}*/

/*.nimo-opt-btn:hover {*/
/*    border-color: #7268e1;*/
/*    background: #fbfbfe;*/
/*    transform: translateY(-2px);*/
/*    box-shadow: 0 5px 15px rgba(114, 104, 225, 0.15);*/
/*}*/

/*!* Formulário de Lead *!*/
/*.nimo-quiz-form input {*/
/*    width: 100%;*/
/*    padding: 15px;*/
/*    margin-bottom: 15px;*/
/*    border: 1px solid #ddd;*/
/*    border-radius: 8px;*/
/*    font-size: 1rem;*/
/*}*/

/*.nimo-cta-btn {*/
/*    background: linear-gradient(135deg, #7268e1, #6257d0);*/
/*    color: white;*/
/*    border: none;*/
/*    padding: 18px 40px;*/
/*    border-radius: 50px;*/
/*    font-size: 1.1rem;*/
/*    font-weight: 700;*/
/*    cursor: pointer;*/
/*    box-shadow: 0 10px 25px rgba(114, 104, 225, 0.3);*/
/*    transition: transform 0.2s ease;*/
/*    width: 100%;*/
/*    margin-top: 10px;*/
/*}*/
/*.nimo-cta-btn:hover { transform: translateY(-3px); }*/

/*.nimo-privacy {*/
/*    font-size: 0.75rem;*/
/*    color: #aaa;*/
/*    margin-top: 15px;*/
/*}*/

/*!* Resultados *!*/
/*.nimo-quiz-result {*/
/*    display: none; !* Escondido até final *!*/
/*    text-align: center;*/
/*    animation: fadeInSlide 0.6s ease;*/
/*}*/

/*.nimo-result-tag {*/
/*    background: #eef2ff;*/
/*    color: #1e2566;*/
/*    padding: 5px 15px;*/
/*    border-radius: 20px;*/
/*    font-weight: 700;*/
/*    font-size: 0.8rem;*/
/*    text-transform: uppercase;*/
/*}*/

/*.nimo-quiz-result h2 {*/
/*    font-family: 'Rubik', sans-serif;*/
/*    color: #1e2566;*/
/*    font-size: 2rem;*/
/*    margin-top: 20px;*/
/*}*/

/*.nimo-quiz-result p {*/
/*    color: #555;*/
/*    line-height: 1.6;*/
/*    margin-bottom: 30px;*/
/*}*/

/*.nimo-product-card {*/
/*    background: #fbfbfe;*/
/*    border: 1px solid #f0f0f0;*/
/*    padding: 30px;*/
/*    border-radius: 20px;*/
/*    max-width: 400px;*/
/*    margin: 0 auto;*/
/*}*/

/*.nimo-product-card img {*/
/*    width: 100%;*/
/*    height: 200px;*/
/*    object-fit: contain;*/
/*    margin-bottom: 20px;*/
/*}*/

/*.text-lilac { color: #7268e1; }*/
/*.text-blue { color: #1e2566; }*/

/*@keyframes fadeInSlide {*/
/*    from { opacity: 0; transform: translateY(20px); }*/
/*    to { opacity: 1; transform: translateY(0); }*/
/*}*/

/*!* Mobile *!*/
/*@media (max-width: 600px) {*/
/*    .nimo-quiz-wrapper { padding: 25px; }*/
/*    .nimo-quiz-question { font-size: 1.4rem; }*/
/*}*/

/*!* nimo gdpr *!*/
/*.nimo-gdpr-consent {*/
/*    margin: 15px 0 20px 0;*/
/*    text-align: left;*/
/*    display: flex;*/
/*    justify-content: center;*/
/*}*/

/*.nimo-checkbox-container {*/
/*    display: flex;*/
/*    align-items: flex-start; !* Alinha ao topo caso o texto quebre linha *!*/
/*    position: relative;*/
/*    padding-left: 30px; !* Espaço para o quadrado *!*/
/*    cursor: pointer;*/
/*    font-size: 0.85rem;*/
/*    color: #666;*/
/*    font-family: 'Open Sans', sans-serif;*/
/*    line-height: 1.4;*/
/*    user-select: none;*/
/*}*/

/*!* Esconder checkbox nativa feia *!*/
/*.nimo-checkbox-container input {*/
/*    position: absolute;*/
/*    opacity: 0;*/
/*    cursor: pointer;*/
/*    height: 0;*/
/*    width: 0;*/
/*}*/

/*!* Criar checkbox customizada *!*/
/*.nimo-checkmark {*/
/*    position: absolute;*/
/*    top: 2px;*/
/*    left: 0;*/
/*    height: 20px;*/
/*    width: 20px;*/
/*    background-color: #fff;*/
/*    border: 2px solid #ddd;*/
/*    border-radius: 6px;*/
/*    transition: all 0.2s ease;*/
/*}*/

/*!* Hover *!*/
/*.nimo-checkbox-container:hover input ~ .nimo-checkmark {*/
/*    border-color: #7268e1;*/
/*}*/

/*!* Quando marcado (Checked) *!*/
/*.nimo-checkbox-container input:checked ~ .nimo-checkmark {*/
/*    background-color: #7268e1;*/
/*    border-color: #7268e1;*/
/*}*/

/*!* O Visto (Check icon) *!*/
/*.nimo-checkmark:after {*/
/*    content: "";*/
/*    position: absolute;*/
/*    display: none;*/
/*}*/

/*.nimo-checkbox-container input:checked ~ .nimo-checkmark:after {*/
/*    display: block;*/
/*}*/

/*!* Desenhar o Visto branco *!*/
/*.nimo-checkbox-container .nimo-checkmark:after {*/
/*    left: 6px;*/
/*    top: 2px;*/
/*    width: 5px;*/
/*    height: 10px;*/
/*    border: solid white;*/
/*    border-width: 0 2px 2px 0;*/
/*    transform: rotate(45deg);*/
/*}*/

/*!* Links no texto *!*/
/*.nimo-gdpr-text a {*/
/*    color: #1e2566;*/
/*    text-decoration: underline;*/
/*    font-weight: 600;*/
/*}*/

/* NIMO CSS SYSTEM - QUIZ & MODAL */

/* 1. TEASER NA HOMEPAGE */
.nimo-quiz-teaser {
    background: linear-gradient(135deg, #fbfbfe 0%, #f0f0f5 100%);
    border-radius: 24px;
    padding-top: 60px;
    padding-bottom: 60px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border: 1px solid rgba(114, 104, 225, 0.1);
}

.nimo-teaser-content {
    margin-left: 60px;
}

.nimo-teaser-image {
    margin-right: 60px;
}

.nimo-teaser-tag {
    background: #eef2ff;
    color: #7268e1;
    padding: 6px 14px;
    border-radius: 20px;
    text-transform: uppercase;
    font-size: 0.75rem;
    font-weight: 700;
    font-family: 'Rubik', sans-serif;
    letter-spacing: 1px;
}

.nimo-quiz-teaser h2 {
    font-family: 'Rubik', sans-serif;
    color: #1e2566;
    font-size: 2.2rem;
    margin: 15px 0;
    line-height: 1.2;
}

.nimo-teaser-btn {
    background: #1e2566;
    color: #fff;
    padding: 18px 35px;
    border-radius: 50px;
    font-weight: 700;
    cursor: pointer;
    border: none;
    transition: all 0.3s ease;
    box-shadow: 0 10px 20px rgba(30, 37, 102, 0.15);
    margin-top: 20px;
}

.nimo-teaser-btn:hover {
    background: #7268e1;
    transform: translateY(-3px);
    box-shadow: 0 15px 30px rgba(114, 104, 225, 0.25);
}

.nimo-teaser-image img {
    max-width: 350px;
    transform: rotate(-5deg);
    transition: transform 0.5s;
    border-radius: 13px;
    scale: 0.9;
}

.nimo-quiz-teaser:hover .nimo-teaser-image img {
    transform: rotate(0deg) scale(1.05);
}

/* 2. MODAL OVERLAY */
.nimo-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(30, 37, 102, 0.85);
    backdrop-filter: blur(8px);
    /* Blur effect */
    z-index: 99999;
    display: flex;
    justify-content: center;
    align-items: center;
    animation: fadeIn 0.3s ease;
}

.nimo-modal-content {
    width: 100%;
    max-width: 700px;
    padding: 20px;
    position: relative;
}

.nimo-close-btn {
    position: absolute;
    top: -30px;
    right: 0;
    font-size: 30px;
    color: #fff;
    cursor: pointer;
    transition: transform 0.2s;
}

.nimo-close-btn:hover {
    transform: rotate(90deg);
    color: #7268e1;
}

/* 3. QUIZ CARD */
.nimo-quiz-wrapper {
    background: #fff;
    border-radius: 24px;
    padding: 40px;
    min-height: 500px;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.2);
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    overflow: hidden;
}

.nimo-quiz-progress {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 6px;
    background: #f0f0f5;
}

.nimo-quiz-bar {
    height: 100%;
    background: linear-gradient(90deg, #7268e1, #1e2566);
    transition: width 0.4s ease;
}

.nimo-step-count {
    color: #7268e1;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.8rem;
    font-family: 'Rubik', sans-serif;
    letter-spacing: 1px;
}

.nimo-quiz-question {
    font-family: 'Rubik', sans-serif;
    color: #1e2566;
    font-size: 1.8rem;
    margin: 15px 0 30px 0;
}

.nimo-opt-btn {
    background: #fff;
    border: 2px solid #f0f0f5;
    border-radius: 12px;
    padding: 20px;
    width: 100%;
    text-align: left;
    font-family: 'Open Sans', sans-serif;
    color: #1e2566;
    font-weight: 600;
    margin-bottom: 10px;
    cursor: pointer;
    transition: all 0.2s;
}

.nimo-opt-btn:hover {
    border-color: #7268e1;
    background: #fbfbfe;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(114, 104, 225, 0.1);
}

.nimo-cta-btn {
    background: #7268e1;
    border: none;
    border-radius: 50px;
    box-sizing: border-box;
    color: white;
    cursor: pointer;
    font-size: 1rem;
    font-weight: 700;
    margin-top: 15px;
    padding: 18px;
    width: 100%;
}

.nimo-stock-check {
    margin-top: 15px;
    color: #27ae60;
    font-weight: 600;
    font-size: 0.9rem;
}

/* 4. UTILS & RESPONSIVE */
.active-step {
    display: block;
    animation: fadeInSlide 0.4s ease;
}

.nimo-quiz-step,
.nimo-quiz-result {
    display: none;
    text-align: center;
}

.nimo-quiz-form input {
    border: 1px solid #ddd;
    border-radius: 8px;
    box-sizing: border-box;
    margin-bottom: 10px;
    padding: 15px;
    width: 100%;
}

.nimo-quiz-step.active-step {
    display: block !important;
    opacity: 1 !important;
}

@keyframes fadeInSlide {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

/* GDPR Checkbox */
.nimo-gdpr-consent {
    box-sizing: border-box;
    color: #666;
    display: flex;
    font-size: 0.8rem;
    justify-content: center;
    margin: 10px 0;
    text-align: left;
    width: 100%;
}

.nimo-checkbox-container {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    cursor: pointer;
}

.nimo-checkmark {
    min-width: 18px;
    height: 18px;
    border: 1px solid #aaa;
    border-radius: 4px;
    position: relative;
}

.nimo-checkbox-container input:checked~.nimo-checkmark {
    background: #7268e1;
    border-color: #7268e1;
}

.nimo-checkbox-container input {
    display: none;
}

@media (max-width: 768px) {
    .nimo-quiz-teaser {
        flex-direction: column-reverse;
        padding: 30px;
        text-align: center;
    }

    .nimo-teaser-content {
        margin-left: 0;
    }

    .nimo-teaser-image {
        margin-right: 0;
        width: 100%;
    }

    .nimo-teaser-image img {
        height: auto;
        max-width: 100%;
        scale: 1;
        transform: none;
    }

    .nimo-modal-content {
        height: 100vh;
        max-width: 100%;
        padding: 0;
    }

    .nimo-quiz-wrapper {
        border-radius: 0;
        box-sizing: border-box;
        height: 100%;
        justify-content: flex-start;
        padding: 80px 20px 40px;
        width: 100%;
    }

    .nimo-close-btn {
        color: #1e2566;
        right: 20px;
        top: 20px;
        z-index: 999;
    }
}

/* ============================================================
   CORREÇÃO: RESULTADO COMPACTO (SEM SCROLL NECESSÁRIO)
   ============================================================ */

/* 1. Domar a Imagem Gigante */
.nimo-product-card img {
    width: 100%;
    height: auto;
    max-height: 180px !important;
    /* Força a imagem a ser pequena */
    object-fit: contain;
    /* Garante que não fica esticada/deformada */
    margin-bottom: 15px;
}

/* 2. Reduzir Espaços no Cartão de Resultado */
.nimo-product-card {
    padding: 20px !important;
    /* Menos "ar" para caber tudo */
    max-width: 100%;
}

/* 3. Garantir Scroll de Segurança (Caso o ecrã seja mesmo minúsculo) */
.nimo-modal-content {
    overflow-y: auto !important;
    /* Ativa a barra de scroll se necessário */
    max-height: 90vh !important;
    /* Limita a altura do cartão */

    /* Melhoria UX Mobile */
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    /* Barra mais fina no Firefox */
}

/* 4. Ajuste no Título do Resultado para poupar espaço */
.nimo-quiz-result h2 {
    font-size: 1.5rem !important;
    /* Um pouco menor no resultado */
    margin-top: 10px !important;
    margin-bottom: 10px !important;
}

/* 5. Ajuste Mobile Específico */
@media (max-width: 600px) {
    .nimo-product-card img {
        max-height: 140px !important;
        /* Ainda menor em telemóveis */
    }

    .nimo-quiz-wrapper {
        padding: 20px !important;
        /* Menos padding no geral */
    }
}


/* 1. Domar a Imagem Gigante */
.nimo-product-card img {
    width: 100%;
    height: auto;
    max-height: 180px !important;
    /* Força a imagem a ser pequena */
    object-fit: contain;
    /* Garante que não fica esticada/deformada */
    margin-bottom: 15px;
}

/* 2. Reduzir Espaços no Cartão de Resultado */
.nimo-product-card {
    padding: 20px !important;
    /* Menos "ar" para caber tudo */
    max-width: 100%;
}

/* 3. Garantir Scroll de Segurança (Caso o ecrã seja mesmo minúsculo) */
.nimo-modal-content {
    /*overflow-y: auto !important; !* Ativa a barra de scroll se necessário *!*/
    max-height: 90vh !important;
    /* Limita a altura do cartão */

    /* Melhoria UX Mobile */
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    /* Barra mais fina no Firefox */
}

/* 4. Ajuste no Título do Resultado para poupar espaço */
.nimo-quiz-result h2 {
    font-size: 1.5rem !important;
    /* Um pouco menor no resultado */
    margin-top: 10px !important;
    margin-bottom: 10px !important;
}

/* 5. Ajuste Mobile Específico */
@media (max-width: 600px) {
    .nimo-product-card img {
        max-height: 140px !important;
        /* Ainda menor em telemóveis */
    }

    .nimo-quiz-wrapper {
        padding: 20px !important;
        /* Menos padding no geral */
    }
}

/* ========= Nimo Product Description ========= */
/* Contentor Geral */
.nimo-description-wrapper {
    font-family: 'Open Sans', sans-serif;
    color: #4a5568;
    max-width: 100%;
}

/* 1. Texto de Storytelling */
.nimo-story-block p {
    font-size: 1rem;
    line-height: 1.8;
    margin-bottom: 20px;
    color: #4a5568;
}

.nimo-story-block strong {
    color: #1e2566;
    /* Azul Nimo */
    font-weight: 700;
}

/* 2. Título da Secção Técnica */
h3.nimo-tech-title {
    font-family: 'Rubik', sans-serif;
    color: #1e2566;
    font-size: 1.3rem;
    font-weight: 700;
    margin-top: 40px;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 10px;
}

/* Pequena linha decorativa antes do título */
h3.nimo-tech-title::before {
    content: '';
    display: block;
    width: 6px;
    height: 24px;
    background: #7268e1;
    /* Lilás Nimo */
    border-radius: 4px;
}

/* 3. A Tabela Técnica (Design Arredondado) */
.nimo-tech-table-container {
    border: 1px solid #eef1f5;
    border-radius: 16px;
    /* Cantos Redondos */
    overflow: hidden;
    /* Para os cantos da tabela não saírem fora */
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.02);
    /* Sombra subtil */
}

table.nimo-specs-table {
    width: 100%;
    border-collapse: collapse;
    margin: 0;
    border: none;
}

/* Células da Tabela */
.nimo-specs-table td {
    padding: 16px 24px;
    border-bottom: 1px solid #f0f0f5;
    font-size: 0.95rem;
    vertical-align: middle;
}

/* Coluna da Esquerda (Rótulos) */
.nimo-specs-table td:first-child {
    width: 40%;
    /* Largura fixa */
    background-color: #f8f9fc;
    /* Fundo muito clarinho */
    color: #1e2566;
    font-family: 'Rubik', sans-serif;
    font-weight: 600;
}

/* Coluna da Direita (Valores) */
.nimo-specs-table td:last-child {
    background-color: #fff;
    color: #555;
    font-weight: 500;
}

/* Remover borda da última linha */
.nimo-specs-table tr:last-child td {
    border-bottom: none;
}

/* Ajuste Mobile para a Tabela */
@media (max-width: 600px) {
    .nimo-specs-table td {
        display: block;
        width: 100% !important;
        padding: 10px 20px;
    }

    /* No telemóvel, o rótulo fica em cima e o valor em baixo */
    .nimo-specs-table td:first-child {
        background-color: #fff;
        color: #7268e1;
        /* Lilás para destacar */
        font-size: 0.85rem;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        padding-bottom: 0;
        border-bottom: none;
    }

    .nimo-specs-table td:last-child {
        padding-top: 5px;
        font-size: 1.1rem;
        color: #1e2566;
    }
}

/* ============================================================
   SECÇÃO CUIDADOS (CARE GUIDE)
   ============================================================ */

.nimo-care-wrapper {
    font-family: 'Open Sans', sans-serif;
    color: #4a5568;
    padding: 10px 0;
}

.nimo-care-intro {
    font-size: 1rem;
    margin-bottom: 30px;
    color: #4a5568;
}

/* Grelha 2x2 */
.nimo-care-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 20px;
}

/* Cartão Individual de Cuidado */
.nimo-care-item {
    background: #fff;
    border: 1px solid #eef1f5;
    border-radius: 16px;
    padding: 25px;
    text-align: center;
    /* Centraliza tudo */
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.nimo-care-item:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 25px rgba(114, 104, 225, 0.1);
    border-color: #7268e1;
}

/* O Ícone */
.nimo-care-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    background-color: #f5f3ff;
    /* Fundo lilás muito claro */
    color: #7268e1;
    /* Cor do ícone */
    border-radius: 50%;
    margin-bottom: 15px;
}

/* Título do Cartão */
.nimo-care-item h4 {
    font-family: 'Rubik', sans-serif;
    color: #1e2566;
    /* Azul Nimo */
    font-weight: 700;
    font-size: 1.1rem;
    margin: 0 0 10px 0;
}

/* Texto do Cartão */
.nimo-care-item p {
    font-size: 0.9rem;
    line-height: 1.5;
    color: #666;
    margin: 0;
}

/* Mobile */
@media (max-width: 600px) {
    .nimo-care-grid {
        grid-template-columns: 1fr;
        /* 1 Coluna no telemóvel */
    }

    .nimo-care-item {
        display: flex;
        text-align: left;
        /* Alinha à esquerda no mobile */
        align-items: flex-start;
        gap: 15px;
        padding: 20px;
    }

    .nimo-care-icon {
        flex-shrink: 0;
        width: 40px;
        height: 40px;
        margin-bottom: 0;
    }

    .nimo-care-icon svg {
        width: 20px;
        height: 20px;
    }
}


/* ============================================================
   PORQUÊ NÓS - COMPARAÇÃO "GRAND SLAM"
   ============================================================ */

/* 1. Contentor Principal */
.nimo-why-us-wrapper {
    padding: 60px 20px;
    background-color: #fff;
    /* Ou #f9f9fc se o fundo do site for branco */
    font-family: 'Open Sans', sans-serif;
}

/* 2. Cabeçalho da Secção */
.nimo-comparison-header {
    text-align: center;
    max-width: 800px;
    margin: 0 auto 50px auto;
}

.nimo-comparison-header h2 {
    font-family: 'Rubik', sans-serif;
    color: #1e2566;
    /* Azul Nimo */
    font-size: 2.5rem;
    font-weight: 700;
    margin-bottom: 15px;
}

.nimo-comparison-header p {
    color: #555;
    font-size: 1.1rem;
    line-height: 1.6;
}

/* 3. Grid de Comparação */
.nimo-comparison-container {
    display: flex;
    justify-content: center;
    align-items: center;
    /* Alinha verticalmente */
    max-width: 1100px;
    margin: 0 auto;
    position: relative;
    gap: 0;
    /* Sem espaço, o VS vai ficar no meio */
}

/* 4. Estilo Base dos Cartões */
.nimo-card {
    padding: 40px;
    border-radius: 24px;
    /* Brand Book: Arredondado */
    width: 100%;
    position: relative;
    transition: transform 0.3s ease;
}

.nimo-card h3 {
    font-family: 'Rubik', sans-serif;
    font-weight: 700;
    font-size: 1.5rem;
    text-align: center;
    margin-bottom: 5px;
}

.nimo-price-concept {
    text-align: center;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 30px;
    font-weight: 600;
    opacity: 0.7;
}

.nimo-card ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.nimo-card li {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 20px;
    font-size: 1rem;
    line-height: 1.4;
}

/* Ícones (Check e Cross) */
.nimo-card .icon {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 14px;
}

/* --- 5. O Cartão "Competidor" (Cinza/Triste) --- */
.nimo-card.competitor {
    background-color: #f4f4f6;
    /* Cinza morto */
    color: #7f8c8d;
    border: 1px solid #eee;
    z-index: 1;
    padding-right: 60px;
    /* Espaço para o VS não tapar texto */
}

.nimo-card.competitor li.bad .icon {
    background-color: #e0e0e0;
    color: #888;
}

/* --- 6. O Cartão "Nimo" (Hero/Vencedor) --- */
.nimo-card.nimo-brand {
    background-color: #fff;
    border: 2px solid #7268e1;
    /* Borda Lilás Nimo */
    color: #1e2566;
    z-index: 2;
    transform: scale(1.05);
    /* Maior que o outro (Dominância) */
    box-shadow: 0 20px 50px rgba(30, 37, 102, 0.15);
    /* Sombra Premium */
    padding-left: 60px;
}

.nimo-card.nimo-brand h3 {
    color: #1e2566;
}

.nimo-card.nimo-brand .nimo-price-concept {
    color: #7268e1;
}

.nimo-card.nimo-brand li.good .icon {
    background-color: #eef2ff;
    /* Lilás suave */
    color: #7268e1;
    /* Check Lilás */
}

/* Badge "Melhor Escolha" */
.nimo-best-choice {
    position: absolute;
    top: -15px;
    left: 50%;
    transform: translateX(-50%);
    background: #1e2566;
    color: #fff;
    padding: 8px 20px;
    border-radius: 50px;
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    box-shadow: 0 5px 15px rgba(30, 37, 102, 0.3);
}

/* --- 7. A Bola "VS" no meio --- */
.nimo-vs-badge {
    background: #fff;
    color: #1e2566;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-family: 'Rubik', sans-serif;
    font-size: 1.2rem;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 3;
    box-shadow: 0 0 0 5px #fff, 0 5px 15px rgba(0, 0, 0, 0.1);
    /* Borda branca grossa */
}

/* --- 8. Responsividade (Mobile) --- */
@media (max-width: 850px) {
    .nimo-comparison-container {
        flex-direction: column;
        gap: 20px;
    }

    .nimo-card.competitor,
    .nimo-card.nimo-brand {
        padding: 30px !important;
        /* Reset padding */
        transform: none !important;
        /* Remove zoom */
        width: 100%;
    }

    /* O cartão Nimo fica em cima no mobile para vender logo?
       Hormozi diz: Problema primeiro, Solução depois.
       Então mantemos Competidor -> Nimo */

    .nimo-vs-badge {
        position: static;
        transform: none;
        margin-top: -53px;
        /* Puxa para cima para ficar entre os cartões */
        margin-bottom: -13px;
        /* Puxa para cima para ficar entre os cartões */
        box-shadow: 0 0 0 5px #fff;
    }

    .nimo-card.nimo-brand {
        margin-top: 0;
        border-width: 2px;
    }
}

/* --- 5. STICKY ADD TO CART --- */
.nimo-sticky-add-to-cart-wrapper {
    background-color: #ffffff;
    border-top: 1px solid #e0e0e0;
    bottom: 0;
    box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.05);
    left: 0;
    opacity: 0;
    padding: 10px 0;
    pointer-events: none;
    position: fixed;
    right: 0;
    transform: translateY(100%);
    transition: transform 0.3s ease, opacity 0.3s ease;
    z-index: 9999;
}

.nimo-sticky-add-to-cart-wrapper.is-visible {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

.nimo-sticky-add-to-cart {
    margin: 0 auto;
    max-width: 1200px;
    padding: 0 20px;
}

.sticky-container {
    align-items: center;
    display: flex;
    justify-content: space-between;
}

.sticky-info {
    align-items: center;
    display: flex;
    gap: 15px;
}

.sticky-thumb-container {
    background: #f7f7f7;
    border-radius: 4px;
    height: 50px;
    overflow: hidden;
    width: 50px;
}

.sticky-thumb {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.sticky-text {
    display: flex;
    flex-direction: column;
}

.sticky-product-name {
    color: #1e2566;
    font-family: 'Rubik', sans-serif;
    font-size: 0.95rem;
    font-weight: 600;
}

.sticky-variation-name {
    color: #7268e1;
    font-size: 0.8rem;
    text-transform: uppercase;
}

.sticky-action {
    align-items: center;
    display: flex;
    gap: 20px;
}

.sticky-price {
    align-items: center;
    color: #1e2566;
    display: flex;
    font-family: 'Rubik', sans-serif;
    gap: 10px;
}

.sticky-price-regular {
    color: #999;
    font-size: 0.85rem;
    text-decoration: line-through;
}

.sticky-price-sale {
    color: #7268e1;
    font-size: 1.2rem;
    font-weight: 700;
}

.sticky-price-iva {
    color: #000000;
    font-size: 0.85rem;
    font-weight: 400;
}

.sticky-add-button {
    background-color: #7268e1;
    border: none;
    border-radius: 30px;
    color: #ffffff;
    cursor: pointer;
    font-family: 'Rubik', sans-serif;
    font-size: 0.9rem;
    font-weight: 500;
    padding: 10px 25px;
    transition: background-color 0.2s ease;
}

.sticky-add-button:hover {
    background-color: #1e2566;
}

/* Mobile Responsive */
@media (max-width: 600px) {
    .nimo-sticky-add-to-cart-wrapper {
        padding: 12px 0;
    }

    .sticky-info {
        gap: 10px;
    }

    .sticky-thumb-container {
        height: 40px;
        width: 40px;
    }

    .sticky-product-name {
        font-size: 0.85rem;
    }

    .sticky-variation-name {
        font-size: 0.7rem;
    }

    .sticky-action {
        gap: 10px;
    }

    .sticky-price {
        font-size: 1rem;
    }

    .sticky-add-button {
        padding: 8px 15px;
        font-size: 0.8rem;
    }
}

/* --- 6. BREADCRUMBS --- */
.wc-block-components-product-breadcrumbs,
.woocommerce-breadcrumb {
    align-items: center;
    display: flex;
    flex-wrap: nowrap;
    font-family: 'Open Sans', sans-serif;
    font-size: 0.85rem;
    gap: 8px;
    margin-bottom: 20px;
    overflow-x: auto;
    padding: 5px 0;
    scrollbar-width: none;
    /* Hide scrollbar Firefox */
    white-space: nowrap;
}

.wc-block-components-product-breadcrumbs::-webkit-scrollbar,
.woocommerce-breadcrumb::-webkit-scrollbar {
    display: none;
    /* Hide scrollbar Chrome/Safari */
}

.wc-block-components-product-breadcrumbs a,
.woocommerce-breadcrumb a {
    color: var(--nimo-blue);
    text-decoration: none;
    transition: color 0.2s ease;
}

.wc-block-components-product-breadcrumbs a:hover,
.woocommerce-breadcrumb a:hover {
    color: var(--nimo-lilac);
    text-decoration: underline;
}

.breadcrumb-separator {
    align-items: center;
    color: #999;
    display: flex;
    flex-shrink: 0;
}

/* Active/Current Page */
.wc-block-components-product-breadcrumbs .wc-block-components-product-breadcrumbs__item:last-child,
.wc-block-components-product-breadcrumbs .wc-block-components-product-breadcrumbs__item--active,
.woocommerce-breadcrumb span:last-child {
    color: var(--nimo-lilac);
    font-weight: 500;
}

/* Safari-specific fix for Product Gallery Thumbnails */
@supports (background: -webkit-named-image(i)) {

    .wc-block-product-gallery-thumbnails,
    .wc-block-product-gallery-thumbnails>div {
        clear: both;
        margin-bottom: 0 !important;
        margin-top: 30px !important;
    }

    .wc-block-product-gallery-thumbnails__scrollable {
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 15px !important;
        margin: 0 !important;
    }
}


/****************
Return matresses
*****************/
/* --- 1. Mattress Pickup Box Styling --- */
.premium-pickup-wrapper {
    margin: 15px 0 25px 0;
    padding: 18px 20px;
    border: 1px solid #eaeaea;
    border-radius: 12px;
    background-color: #fdfdfd;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    width: 100% !important;
    flex-basis: 100% !important;
    flex-shrink: 0 !important;
    box-sizing: border-box;
}

/* Ensure Entrega Prime box is always full width */
.nimo-entrega-prime {
    width: 100% !important;
    flex-basis: 100% !important;
    flex-shrink: 0 !important;
    box-sizing: border-box;
}

/* CRITICAL: Force Add-to-Cart block (outer + inner) to stack vertically */
.wp-block-woocommerce-add-to-cart-with-options,
.wp-block-woocommerce-add-to-cart-with-options.wp-block-woocommerce-add-to-cart-with-options,
.wc-block-add-to-cart-with-options,
.wp-block-woocommerce-add-to-cart-with-options>.wc-block-add-to-cart-with-options {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    align-items: stretch !important;
}

/* All direct children of add-to-cart block (outer + inner) must be full width */
.wp-block-woocommerce-add-to-cart-with-options>*,
.wc-block-add-to-cart-with-options>* {
    width: 100% !important;
    flex-basis: auto !important;
    flex-shrink: 0 !important;
    box-sizing: border-box !important;
    max-width: 100% !important;
}

/* Ensure the qty selector row is always auto width */
.wp-block-woocommerce-add-to-cart-with-options-quantity-selector {
    width: auto !important;
    flex-basis: auto !important;
    box-sizing: border-box;
}

.pickup-header label {
    display: block;
    font-weight: 700;
    color: #1a1a1a;
    margin-bottom: 6px;
    font-size: 15px;
}

.pickup-header span {
    display: block;
    font-size: 13px;
    color: #666;
    line-height: 1.4;
}

/* Custom Pill-shaped Quantity Selector */
.custom-qty-selector {
    display: flex;
    align-items: center;
    border: 1px solid #d1d1d1;
    border-radius: 30px;
    padding: 4px 6px;
    background: #ffffff;
    min-width: 100px;
    justify-content: space-between;
}

.custom-qty-selector .qty-btn {
    background: none;
    border: none;
    font-size: 20px;
    font-weight: 400;
    color: #333;
    cursor: pointer;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s ease, transform 0.1s ease;
    padding: 0;
}

.custom-qty-selector .qty-btn:hover {
    color: #6452D9;
}

.custom-qty-selector .qty-btn:active {
    transform: scale(0.9);
}

.custom-qty-selector input[type="number"] {
    width: 30px;
    border: none;
    text-align: center;
    font-size: 16px;
    font-weight: 600;
    color: #333;
    background: transparent;
    pointer-events: none;
    padding: 0;
    -moz-appearance: textfield;
}

.custom-qty-selector input[type="number"]::-webkit-outer-spin-button,
.custom-qty-selector input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Responsive adjustment */
@media (max-width: 768px) {
    .premium-pickup-wrapper {
        flex-direction: column;
        align-items: flex-start;
    }

    .custom-qty-selector {
        align-self: flex-start;
        margin-top: 10px;
    }
}

/* --- 2. Hide unwanted PayPal Express Buttons on Single Products --- */
.single-product .wcppec-checkout-buttons,
.single-product .ppc-button-wrapper,
.single-product #ppc-button,
.single-product .paypal-buttons {
    display: none !important;
}


/* Style whatapp button */
.qlwapp__container {
    bottom: 50px !important;
    z-index: 100;
}
