/*
 Theme Name:   Blocksy Botaminuto Child
 Template:     blocksy
 Version:      1.0.0
*/

:root {
    --bm-marca: #e09a12;
    --bm-laranja: #e09a12;
    --bm-creme: #faefe8;
    --bm-escuro: #1f1713;
}

/* ===== Página inicial ===== */
body.home .hero-section,
body.home .entry-header { display: none !important; }
body.home .site-main > div > article,
body.home .ct-container-full { padding-top: 0 !important; padding-bottom: 0 !important; }

.bm-fullwidth {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    box-sizing: border-box;
}
.bm-wrap { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.bm-fullwidth { padding: 72px 0; }
.bm-title { text-align: center; margin-bottom: 36px; }
.bm-sub { text-align: center; margin: -24px 0 36px; }
.bm-center { text-align: center; margin-top: 32px; }
.bm-eyebrow { text-transform: uppercase; letter-spacing: .12em; font-size: 13px; font-weight: 600; color: var(--bm-marca); margin-bottom: 12px; }

.bm-btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.bm-btn { display: inline-block; padding: 14px 28px; border-radius: 6px; font-weight: 600; text-decoration: none !important;
    background: var(--bm-marca); color: #fff !important; border: 2px solid var(--bm-marca); transition: background .2s, color .2s; }
.bm-btn:hover { background: var(--bm-escuro); border-color: var(--bm-escuro); }
.bm-btn-alt { background: transparent; color: var(--bm-escuro) !important; border-color: var(--bm-escuro); }
.bm-btn-alt:hover { background: var(--bm-escuro); color: #fff !important; }
.bm-btn-light { background: #fff; color: var(--bm-escuro) !important; border-color: #fff; }
.bm-btn-light:hover { background: transparent; color: #fff !important; }

/* Hero */
.bm-hero { background: var(--bm-creme); padding: 64px 0; }
.bm-hero-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 56px; align-items: center; }
.bm-hero h1 { font-size: clamp(32px, 4.4vw, 52px); line-height: 1.12; margin-bottom: 20px; }
.bm-hero h1 span { color: var(--bm-marca); }
.bm-hero-img img { width: 100%; height: auto; border-radius: 14px; box-shadow: 24px 24px 0 var(--bm-laranja); }

/* Categorias */
.bm-cat-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.bm-cat { position: relative; display: block; border-radius: 12px; overflow: hidden; aspect-ratio: 4 / 3.4; text-decoration: none !important; }
.bm-cat img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.bm-cat:hover img { transform: scale(1.05); }
.bm-cat-txt { position: absolute; inset: auto 0 0 0; padding: 48px 22px 20px; color: #fff; font-size: 14px;
    background: linear-gradient(transparent, rgba(31, 23, 19, .85)); }
.bm-cat-txt strong { display: block; font-size: 20px; margin-bottom: 4px; }

/* Destaques */
.bm-destaque { background: #fff; }

/* Serviços */
.bm-servicos { background: var(--bm-creme); }
.bm-serv-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }
.bm-serv-img img { width: 100%; height: auto; border-radius: 14px; }
.bm-check { list-style: none; padding: 0; margin: 20px 0 28px; }
.bm-check li { position: relative; padding-left: 30px; margin-bottom: 10px; }
.bm-check li::before { content: ""; position: absolute; left: 0; top: .45em; width: 16px; height: 9px;
    border-left: 3px solid var(--bm-marca); border-bottom: 3px solid var(--bm-marca); transform: rotate(-45deg); }

/* Opiniões */
.bm-op-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.bm-op-grid blockquote { margin: 0; padding: 28px 22px 22px; background: var(--bm-creme); border-radius: 12px; border: 0;
    font-size: 15px; position: relative; }
.bm-op-grid blockquote::before { content: "\201C"; position: absolute; top: -6px; left: 16px; font-size: 64px; line-height: 1;
    color: var(--bm-marca); font-weight: 700; }

/* Lojas */
.bm-lojas { background: var(--bm-escuro); color: #fff; text-align: center; }
.bm-lojas h2 { color: #fff; }
.bm-lojas p { margin-bottom: 24px; opacity: .9; }

/* Blog */
.bm-posts.wp-block-latest-posts { gap: 24px; }
.bm-posts li { background: #fff; border-radius: 12px; overflow: hidden; box-shadow: 0 2px 14px rgba(31, 23, 19, .07); padding-bottom: 20px; }
.bm-posts .wp-block-latest-posts__featured-image img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.bm-posts .wp-block-latest-posts__post-title { display: block; padding: 16px 20px 6px; font-weight: 700; color: var(--bm-escuro); text-decoration: none; }
.bm-posts .wp-block-latest-posts__post-excerpt { padding: 0 20px; font-size: 15px; }
.bm-blog { background: var(--bm-creme); }

@media (max-width: 999px) {
    .bm-hero-grid, .bm-serv-grid { grid-template-columns: 1fr; gap: 36px; }
    .bm-hero-img { max-width: 460px; }
    .bm-op-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 689px) {
    .bm-fullwidth { padding: 52px 0; }
    .bm-cat-grid, .bm-op-grid { grid-template-columns: 1fr; }
    .bm-hero-img img { box-shadow: 14px 14px 0 var(--bm-laranja); }
}

/* Grelha de artigos: CSS grid em vez do flex do core (evitava as 3 colunas) */
.bm-posts.wp-block-latest-posts.is-grid { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 24px; margin: 0; padding: 0; }
.bm-posts.wp-block-latest-posts.is-grid li { width: auto !important; margin: 0 !important; }
@media (max-width: 999px) { .bm-posts.wp-block-latest-posts.is-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 689px) { .bm-posts.wp-block-latest-posts.is-grid { grid-template-columns: 1fr; } }

/* Destaques: esconder a secção enquanto não houver produtos marcados como destaque */
.bm-destaque:not(:has(ul.products)) { display: none; }

/* Loja: fotografias de produto inteiras (packshots), sem recorte */
.products .ct-media-container img,
.woocommerce-product-gallery .ct-media-container img { object-fit: contain !important; background: #fff; }
.products .ct-media-container { background: #fff; }

/* ===== Contactos: sede e grelha de lojas ===== */
.bm-sede { background: var(--bm-creme); border-radius: 12px; padding: 28px 32px; margin-bottom: 48px; }
.bm-sede h2 { margin-top: 0; }
.bm-lojas-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.bm-loja { background: #fff; border: 1px solid var(--theme-palette-color-5); border-radius: 12px; padding: 22px 20px; display: flex; flex-direction: column; }
.bm-loja h3 { font-size: 18px; margin: 0 0 10px; color: var(--bm-marca); }
.bm-loja p { font-size: 14.5px; line-height: 1.55; margin: 0 0 10px; }
.bm-loja .bm-tel a { font-weight: 600; color: var(--bm-escuro); }
.bm-loja .bm-mapa { margin-top: auto; font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; color: var(--bm-marca); }
@media (max-width: 999px) { .bm-lojas-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 689px) { .bm-lojas-grid { grid-template-columns: 1fr; } .bm-sede { padding: 22px 20px; } }

/* =====================================================================
   Template 2025 (layout do site antigo, fev. 2025)
   ===================================================================== */
:root { --t25-laranja: #e09a12; --t25-azul: #53cbed; --t25-bloco-laranja: #ffb135; --t25-amarelo: #fff87c; --t25-flutuante: #ec6a05; --t25-preto: #000; }

/* Página inicial: sem margens do conteúdo */
body.home .site-main .entry-content > * { margin-block: 0; }
.t25-full { width: 100vw !important; max-width: 100vw !important; margin-left: calc(50% - 50vw) !important; margin-right: calc(50% - 50vw) !important; }

/* Botões em pílula (como no template) */
.t25-btn, .woocommerce .button, .woocommerce button.button, .woocommerce a.button, .single_add_to_cart_button, .wc-block-components-button, .wp-element-button {
  display: inline-block; background: var(--t25-preto) !important; color: #fff !important; border: 2px solid var(--t25-preto) !important;
  border-radius: 999px !important; padding: 11px 34px !important; font-size: 12px !important; font-weight: 500 !important;
  letter-spacing: .06em; text-transform: uppercase; text-decoration: none !important; line-height: 1.4 !important; transition: background .2s, border-color .2s, color .2s;
}
.t25-btn:hover, .woocommerce .button:hover, .single_add_to_cart_button:hover, .wp-element-button:hover { background: var(--t25-laranja) !important; border-color: var(--t25-laranja) !important; }
.t25-btn-branco { background: #fff !important; color: #000 !important; border-color: #fff !important; }
.t25-btn-branco:hover { background: var(--t25-laranja) !important; color: #fff !important; border-color: var(--t25-laranja) !important; }

/* Títulos em maiúsculas, peso leve */
.t25-titulo, .t25-hero h2, .t25-intro h1, .t25-bloco h2, .t25-faixa h2, body:not(.single-product) .hero-section .page-title { text-transform: uppercase; font-weight: 500; letter-spacing: .01em; }
.t25-titulo { text-align: center; font-size: clamp(24px, 2.6vw, 32px); margin: 0 0 40px; color: #2b2b2b; }
.t25-centro { text-align: center; margin-top: 40px; }

/* Slider principal */
.t25-hero { position: relative; height: min(84vh, 820px); min-height: 460px; overflow: hidden; background: #2b2b2b; }
.t25-hero .t25-slide { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: 0; visibility: hidden; transition: opacity .9s ease, visibility .9s; display: flex; align-items: center; justify-content: center; }
.t25-hero .t25-slide::before { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,.42); }
.t25-hero .t25-slide.is-active { opacity: 1; visibility: visible; }
.t25-slide-txt { position: relative; text-align: center; color: #fff; max-width: 820px; padding: 0 24px; }
.t25-hero h2 { color: #fff; font-size: clamp(30px, 4.6vw, 60px); line-height: 1.1; margin: 0 0 26px; }
.t25-hero p { text-transform: uppercase; font-size: clamp(13px, 1.3vw, 17px); letter-spacing: .03em; margin: 0 0 32px; color: #fff; }
.t25-hero .t25-dots { position: absolute; left: 32px; top: 50%; transform: translateY(-50%); display: flex; flex-direction: column; gap: 14px; z-index: 2; }
.t25-dots button { width: 8px; height: 8px; border-radius: 50%; border: 0; padding: 0; background: rgba(255,255,255,.55); cursor: pointer; }
.t25-dots button.is-active { background: #fff; transform: scale(1.5); }

/* Introdução */
.t25-intro { display: grid; grid-template-columns: 1fr 1.15fr; gap: 64px; align-items: center; max-width: 1200px; margin: 0 auto; padding: 80px 24px; position: relative; }
.t25-intro::before { content: ""; position: absolute; left: 0; top: 0; height: 60%; width: 1px; background: var(--t25-laranja); }
.t25-intro h1 { font-size: clamp(32px, 3.6vw, 46px); line-height: 1.12; margin: 0 0 30px; color: #2b2b2b; }
.t25-intro h1 span { color: var(--t25-laranja); }
.t25-intro p { margin: 0 0 30px; }
.t25-intro-img img { width: 100%; height: auto; display: block; }

/* Destaques */
.t25-destaque { max-width: 1200px; margin: 0 auto; padding: 40px 24px 90px; }
.t25-destaque:not(:has(ul.products)) { display: none; }

/* Blocos de cor 50/50 */
.t25-bloco { display: grid; grid-template-columns: 1fr 1fr; min-height: 560px; }
.t25-bloco-img { background-size: cover; background-position: center; min-height: 320px; }
.t25-inverso .t25-bloco-img { order: 2; }
.t25-bloco-txt { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 48px 32px; }
.t25-bloco h2 { font-size: clamp(30px, 3.6vw, 48px); line-height: 1.15; color: #000; margin: 0 0 30px; max-width: 420px; }
.t25-azul { background: var(--t25-azul); } .t25-laranja { background: var(--t25-bloco-laranja); } .t25-amarelo { background: var(--t25-amarelo); }
.t25-whats { margin: 22px 0 0; font-size: 14px; color: #000; }
.t25-whats a { color: #000; font-weight: 700; text-decoration: underline; }

/* Opiniões */
.t25-opinioes { position: relative; max-width: 1000px; margin: 0 auto; padding: 90px 24px 70px; text-align: center; min-height: 420px; }
.t25-opinioes .t25-dots { flex-direction: row; justify-content: center; display: flex; gap: 12px; margin-bottom: 26px; }
.t25-opinioes .t25-dots button { background: rgba(224,154,18,.45); }
.t25-opinioes .t25-dots button.is-active { background: var(--t25-laranja); }
.t25-opinioes .t25-slide { display: none; margin: 0; border: 0; padding: 0; font-size: clamp(22px, 3.1vw, 44px); line-height: 1.25; color: #2b2b2b; }
.t25-opinioes .t25-slide.is-active { display: block; animation: t25-fade .8s ease; }
@keyframes t25-fade { from { opacity: 0; } to { opacity: 1; } }

/* Blog */
.t25-blog { max-width: 1200px; margin: 0 auto; padding: 40px 24px 100px; }
.t25-blog-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; }
.t25-post-img img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; display: block; }
.t25-post-meta { margin: 14px 0 6px; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .03em; display: flex; gap: 22px; }
.t25-post-meta span:first-child { color: var(--t25-laranja); } .t25-post-meta span + span { color: #8a8a8a; }
.t25-post h3 { font-size: clamp(20px, 2.1vw, 28px); font-weight: 500; line-height: 1.25; margin: 0; }
.t25-post h3 a { color: #2b2b2b; text-decoration: none; }

/* Faixa preta (WhatsApp, no lugar da newsletter) */
.t25-faixa { background: #000; color: #fff; }
.t25-faixa-in { max-width: 1200px; margin: 0 auto; padding: 46px 24px; display: flex; align-items: center; justify-content: space-between; gap: 30px; flex-wrap: wrap; }
.t25-faixa h2 { color: #fff; font-size: clamp(24px, 3vw, 40px); line-height: 1.3; margin: 0; }
.t25-faixa p { margin: 0; display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.t25-faixa span { font-size: 13px; opacity: .8; }

/* Botão flutuante "Serviços ao domicílio" */
.t25-flutuante { position: fixed; right: 22px; bottom: 22px; z-index: 50; width: 116px; height: 116px; border-radius: 50%; background: var(--t25-flutuante); color: #fff !important;
  display: flex; align-items: center; justify-content: center; text-align: center; font-size: 12px; font-weight: 500; text-transform: uppercase; line-height: 1.4; text-decoration: none !important; box-shadow: 0 6px 20px rgba(0,0,0,.18); transition: transform .2s; }
.t25-flutuante:hover { transform: scale(1.06); }

@media (max-width: 999px) {
  .t25-intro { grid-template-columns: 1fr; gap: 40px; padding: 60px 24px; }
  .t25-intro::before { display: none; }
  .t25-bloco { grid-template-columns: 1fr; min-height: 0; }
  .t25-inverso .t25-bloco-img { order: 0; }
  .t25-bloco-img { min-height: 340px; }
}
@media (max-width: 689px) {
  .t25-hero { height: 70vh; min-height: 420px; }
  .t25-hero .t25-dots { left: auto; right: 18px; top: auto; bottom: 22px; transform: none; flex-direction: row; }
  .t25-blog-grid { grid-template-columns: 1fr; }
  .t25-faixa-in { flex-direction: column; align-items: flex-start; }
  .t25-flutuante { width: 84px; height: 84px; font-size: 10px; right: 14px; bottom: 14px; }
}
@media (prefers-reduced-motion: reduce) { .t25-hero .t25-slide { transition: none; } .t25-opinioes .t25-slide.is-active { animation: none; } }

/* Rodapé como no template 2025: branco, 4 colunas, links em maiúsculas */
.ct-footer { background: #fff !important; border-top: 1px solid #ececec; }
.ct-footer [data-row="middle"] { padding-top: 56px !important; padding-bottom: 40px !important; }
.ct-footer .ct-footer-menu .menu a, .ct-footer .footer-menu a, .ct-footer nav a { text-transform: uppercase; font-size: 12.5px !important; font-weight: 400 !important; color: #000 !important; letter-spacing: .02em; }
.ct-footer nav a:hover { color: var(--t25-laranja) !important; }
.t25-rodape-contactos p { font-size: 13px; line-height: 1.7; margin: 0 0 12px; color: #000; }
.t25-rodape-contactos a { color: #000; font-weight: 600; text-decoration: underline; }
.t25-rodape-contactos small { font-size: 10.5px; }
.t25-rodape-empresa { font-size: 11px !important; color: #666 !important; }
.ct-footer .ct-footer-copyright { font-size: 13px; color: #000; }
.t25-pagamentos { display: flex; gap: 28px; flex-wrap: wrap; align-items: center; }
.t25-pagamentos img { height: 30px; width: auto; }
.ct-footer [data-row="bottom"] { border-top: 0 !important; padding-top: 0 !important; }
.ct-footer [data-row="middle"] [data-column] { justify-content: flex-start !important; align-items: flex-start !important; text-align: left !important; }
.ct-footer nav ul, .ct-footer .menu { align-items: flex-start !important; justify-content: flex-start !important; text-align: left !important; }
.ct-footer [data-row="middle"] { padding-top: 44px !important; padding-bottom: 24px !important; }
.ct-footer [data-row="bottom"] { padding-bottom: 28px !important; }
body.home .t25-blog { padding-bottom: 70px; }
@media (max-width: 689px) { .ct-footer [data-row="middle"] [data-column] { margin-bottom: 8px; } }
.ct-footer [data-column^="menu"] .menu a { justify-content: flex-start !important; text-align: left; padding-inline: 0 !important; }

/* Painel do MENU: branco, texto preto em maiúsculas (coerente com o template) */
#offcanvas .ct-panel-inner { background: #fff !important; }
#offcanvas .ct-panel-actions .ct-toggle-close svg { fill: #000 !important; }
#offcanvas .ct-toggle-close { --theme-icon-color: #000; color: #000 !important; }
#offcanvas .mobile-menu a, #offcanvas .mobile-menu .ct-toggle-dropdown-mobile { color: #000 !important; --theme-icon-color: #000; }
#offcanvas .mobile-menu > ul > li > a, #offcanvas .mobile-menu > ul > li > .ct-sub-menu-parent > a { text-transform: uppercase; font-size: 15px !important; font-weight: 500 !important; letter-spacing: .02em; }
#offcanvas .mobile-menu .sub-menu a { font-size: 14px !important; font-weight: 400 !important; color: #444 !important; }
#offcanvas .mobile-menu a:hover { color: var(--t25-laranja) !important; }
.ct-panel { --theme-panel-backdrop: rgba(0,0,0,.35); }

/* Destaques: só nome, preço e botão; 2 colunas em mobile */
.t25-destaque .products .entry-meta, .t25-destaque .products [data-id="product_meta"], .t25-destaque .products .meta-categories { display: none !important; }
@media (max-width: 689px) {
  .t25-destaque ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 22px 16px !important; }
  .t25-destaque .products .woocommerce-loop-product__title { font-size: 14px !important; }
  .t25-destaque .products .button { padding: 9px 16px !important; font-size: 11px !important; }
}

/* Serviços ao domicílio: texto no topo, em secções, alinhado à esquerda como no site antigo */
body.term-servicos-ao-domicilio .hero-section .page-description { display: block !important; max-width: 820px; margin: 34px auto 0; text-align: left; color: #6b6b6b; font-size: 16px; line-height: 1.7; }
body.term-servicos-ao-domicilio .hero-section .page-description h2 { color: #2b2b2b; font-size: clamp(22px, 2.4vw, 30px); font-weight: 700; text-transform: none; line-height: 1.25; margin: 42px 0 16px; }
body.term-servicos-ao-domicilio .hero-section .page-description p { margin: 0 0 14px; }
body.term-servicos-ao-domicilio .hero-section .page-description strong { color: #2b2b2b; }
body.term-servicos-ao-domicilio .hero-section .page-description ol { margin: 0 0 14px; padding-left: 22px; }
body.term-servicos-ao-domicilio .hero-section .page-description li { margin-bottom: 6px; padding-left: 4px; }
body.term-servicos-ao-domicilio .hero-section .page-description a { color: var(--t25-laranja); text-decoration: underline; }
body.term-servicos-ao-domicilio .hero-section .entry-header { max-width: 900px; }
@media (max-width: 689px) { body.term-servicos-ao-domicilio .hero-section .page-description { font-size: 15px; margin-top: 22px; } }

/* Títulos de página um pouco mais destacados (30 -> 32 px) */
body:not(.home) .hero-section .page-title { font-size: 32px !important; font-weight: 600 !important; }

/* Página Botaminuto (sobre): banner + texto em coluna como no site antigo */
.page-id-24 .site-main .entry-content > * { margin-block: 0; }
.page-id-24 .ct-container-full, .page-id-24 article { padding-top: 0 !important; }
.t25-banner { position: relative; min-height: 380px; background-size: cover; background-position: center; display: flex; align-items: center; justify-content: center; }
.t25-banner::before { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,.45); }
.t25-banner-txt { position: relative; text-align: center; color: #fff; padding: 0 24px; }
.t25-migalhas { font-size: 11px; text-transform: uppercase; letter-spacing: .05em; margin-bottom: 10px; }
.t25-migalhas a, .t25-migalhas span { color: #fff; text-decoration: none; }
.t25-banner h1 { color: #fff; text-transform: uppercase; font-weight: 600; font-size: clamp(34px, 4.4vw, 56px); margin: 0; letter-spacing: .01em; }
.t25-texto { max-width: 820px; margin: 0 auto; padding: 64px 24px 80px; color: #6b6b6b; font-size: 16.5px; line-height: 1.75; }
.t25-texto p { margin: 0 0 18px; }
.t25-texto h2 { color: #2b2b2b; font-size: clamp(24px, 2.6vw, 32px); font-weight: 700; margin: 46px 0 18px; line-height: 1.25; }
.t25-citacao { margin: 42px 0 !important; padding: 2px 0 2px 22px !important; border: 0 !important; border-left: 5px solid var(--t25-laranja) !important; background: none !important; }
.t25-citacao p { color: #1e140f; font-size: clamp(19px, 2vw, 23px); font-weight: 700; line-height: 1.45; margin: 0; font-style: normal; }
.t25-etiquetas { list-style: none; padding: 0; margin: 0 0 34px; display: flex; flex-wrap: wrap; gap: 10px; }
.t25-etiquetas li { border: 1px solid #e3ddd8; border-radius: 999px; padding: 8px 18px; font-size: 14px; color: #2b2b2b; background: #fff; }
.t25-botoes { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 10px !important; }
.t25-btn-contorno { background: transparent !important; color: #000 !important; }
.t25-btn-contorno:hover { background: var(--t25-laranja) !important; color: #fff !important; }
@media (max-width: 689px) { .t25-banner { min-height: 260px; } .t25-texto { padding: 44px 22px 56px; font-size: 15.5px; } }

/* ===== Barra lateral da loja (como no site antigo) ===== */
#sidebar .ct-widget { margin-bottom: 0 !important; padding: 18px 0; border-bottom: 1px solid #f1ebe6; }
#sidebar .ct-widget:first-child { padding-top: 0; }
#sidebar .widget-title { margin: 0 !important; font-size: 16px !important; font-weight: 400 !important; text-transform: uppercase; color: #2b2b2b; letter-spacing: .01em; }
.bm-filtro-titulo { all: unset; cursor: pointer; display: flex; justify-content: space-between; align-items: center; width: 100%; }
.bm-filtro-titulo::after { content: ""; width: 9px; height: 9px; border-right: 1.5px solid #2b2b2b; border-bottom: 1.5px solid #2b2b2b; transform: rotate(45deg); margin: -4px 4px 0 0; transition: transform .2s; }
.is-fechado .bm-filtro-titulo::after { transform: rotate(-45deg); margin-top: 0; }
.bm-filtro-titulo:focus-visible { outline: 2px solid var(--t25-laranja); outline-offset: 4px; }
#sidebar .is-fechado > ul { display: none !important; }
/* Categorias: principais em maiúsculas pretas, subcategorias em cinzento */
#sidebar .product-categories { margin: 20px 0 0 !important; padding: 0 0 0 16px !important; list-style: none; }
#sidebar .product-categories > li { margin: 0 0 4px; }
#sidebar .product-categories > li > a { display: block; padding: 8px 0; text-transform: uppercase; font-size: 13px; color: #000 !important; letter-spacing: .01em; }
#sidebar .product-categories .children { list-style: none; margin: 0 0 8px !important; padding: 0 0 0 18px !important; }
#sidebar .product-categories .children a { display: block; padding: 5px 0; font-size: 13px; color: #9a9a9a !important; }
#sidebar .product-categories a:hover, #sidebar .product-categories .current-cat > a { color: var(--t25-laranja) !important; }
/* Filtros com caixa de selecção, nome a laranja e contagem a cinzento */
#sidebar .woocommerce-widget-layered-nav-list { margin: 18px 0 0 !important; padding: 0 !important; list-style: none; max-height: 320px; overflow-y: auto; }
#sidebar .woocommerce-widget-layered-nav-list li { display: flex; align-items: center; gap: 6px; padding: 6px 0; font-size: 13px; }
#sidebar .woocommerce-widget-layered-nav-list li a { display: inline-flex; align-items: center; gap: 14px; color: var(--t25-laranja) !important; text-decoration: none; }
#sidebar .woocommerce-widget-layered-nav-list li a::before { content: ""; flex: none; width: 22px; height: 22px; border: 1px solid #d9d2cc; background: #fff; }
#sidebar .woocommerce-widget-layered-nav-list li.chosen a::before { background: var(--t25-laranja); border-color: var(--t25-laranja); box-shadow: inset 0 0 0 4px #fff; }
#sidebar .woocommerce-widget-layered-nav-list .count { color: #9a9a9a; }
/* Filtros activos */
#sidebar .widget_layered_nav_filters .widget-title { font-size: 13px !important; color: #9a9a9a; }
#sidebar .widget_layered_nav_filters ul { list-style: none; padding: 0 !important; margin: 10px 0 0 !important; display: flex; flex-wrap: wrap; gap: 8px; }
#sidebar .widget_layered_nav_filters a { display: inline-block; padding: 5px 12px; border-radius: 999px; background: #f6f2ee; color: #000 !important; font-size: 13px; }
#sidebar .widget_layered_nav_filters a::after { content: " ×"; }
/* Mobile e tablet: barra antes dos produtos, atrás de um botão */
.bm-filtros-mobile { display: none; }
@media (max-width: 999px) {
  #sidebar.ct-hidden-sm, #sidebar.ct-hidden-md { display: none !important; }
  #sidebar.is-aberto-mobile { display: block !important; order: -1; margin-bottom: 24px; }
  .bm-filtros-mobile { display: flex; justify-content: space-between; align-items: center; width: 100%; order: -2; margin: 0 0 18px; padding: 13px 18px; border: 1px solid #000; border-radius: 999px; background: #fff; font: inherit; font-size: 13px; text-transform: uppercase; letter-spacing: .05em; cursor: pointer; }
  .bm-filtros-mobile::after { content: "+"; font-size: 18px; line-height: 1; }
  .bm-filtros-mobile[aria-expanded="true"]::after { content: "−"; }
}
/* Filtro Cor: caixa com a cor do termo */
#sidebar .woocommerce-widget-layered-nav-list li a[style*="--bm-cor"]::before { background: var(--bm-cor); }
#sidebar .woocommerce-widget-layered-nav-list li.chosen a[style*="--bm-cor"]::before { background: var(--bm-cor); border-color: var(--t25-laranja); box-shadow: inset 0 0 0 3px #fff, 0 0 0 1px var(--t25-laranja); }
/* ===== Blog Tudo sobre Sapatos: títulos com altura de 2 linhas para as imagens ficarem alinhadas ===== */
@media (min-width: 690px) {
  body.blog .entries .entry-card .entry-title, body.category .entries .entry-card .entry-title { min-height: calc(2 * 1.3em); line-height: 1.3; }
}
/* Rodapé: alturas ópticas dos logótipos de pagamento */
.t25-pagamentos img[alt="Visa"] { height: 22px; }
.t25-pagamentos img[alt="PayPal"] { height: 24px; }
/* Rodapé: menos espaço entre os widgets e os ícones de pagamento */
.ct-footer [data-row="middle"] > .ct-container { padding-bottom: 0 !important; }
.ct-footer [data-row="bottom"] > .ct-container { padding-top: 16px !important; }
/* Rodapé: ícones sociais mais abaixo do copyright */
.ct-footer [data-id="socials"] { margin-top: 14px !important; }

/* ===== Aviso de cookies (Google Analytics só com consentimento) ===== */
.bm-aviso-cookies { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 100; max-width: 640px; margin: 0 auto; padding: 18px 20px;
  background: #1e140f; color: #fff; border-radius: 10px; box-shadow: 0 8px 28px rgba(0,0,0,.25); font-size: 14px; line-height: 1.55; }
.bm-aviso-cookies[hidden] { display: none; }
.bm-aviso-cookies p { margin: 0 0 14px; color: #fff; }
.bm-aviso-cookies a { color: #fff; text-decoration: underline; }
.bm-aviso-botoes { display: flex; gap: 10px; justify-content: flex-end; flex-wrap: wrap; }
/* Aceitar e Recusar com o mesmo peso visual (orientação da CNPD) */
.bm-aviso-botoes button { min-height: 44px; padding: 0 24px; border: 1px solid #fff; border-radius: 999px; background: #fff; color: #1e140f;
  font: inherit; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; cursor: pointer; }
.bm-aviso-botoes button:focus-visible, .bm-cookies-abrir:focus-visible { outline: 2px solid var(--t25-flutuante); outline-offset: 2px; }
/* Enquanto o aviso está aberto, o botão flutuante sobe para não ficar por baixo dele */
body.bm-com-aviso .t25-flutuante { bottom: 190px; }
.bm-cookies-abrir { padding: 0; border: 0; background: none; color: inherit; font: inherit; font-size: 0.70em; text-decoration: underline; cursor: pointer; }
