/*
 * Casa Fernando Pessoa — identidade visual (só neste site; vem DEPOIS do all.min.css partilhado).
 * Fonte: Manual de Normas Casa Fernando Pessoa 2026 + maquetas rev-02 + e-mail do Museu (2026-10-12),
 * em "A fazer Gil/museu-pedidos-cliente-2026-10-12.md".
 * Regra: preto e branco; cinzentos como neutros; cor só com as cores dos núcleos.
 * Etapa 1: cores, fontes, logótipo, cabeçalho, menu e identidade do rodapé.
 */

@font-face{font-family:"Playfair Display";font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/playfair-display-400.woff2') format('woff2')}
@font-face{font-family:"Playfair Display";font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/playfair-display-700.woff2') format('woff2')}
@font-face{font-family:"Playfair Display";font-style:italic;font-weight:400;font-display:swap;src:url('../fonts/playfair-display-400-italic.woff2') format('woff2')}
@font-face{font-family:"Roboto";font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/roboto-400.woff2') format('woff2')}
@font-face{font-family:"Roboto";font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/roboto-500.woff2') format('woff2')}
@font-face{font-family:"Roboto";font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/roboto-700.woff2') format('woff2')}

:root{
    /* cores dos núcleos (Manual de Normas) */
    --ml-palacio-pimenta:#4da43a;
    --ml-santo-antonio:#c1171a;
    --ml-teatro-romano:#dfa426;
    --ml-casa-dos-bicos:#baaea8;
    --ml-torreao-poente:#4982cf;
    --ml-fabrica-moagem:#e36609;
    /* preto, branco e cinzentos */
    --ml-preto:#111111;
    --ml-cinza-1:#f4f4f4;
    --ml-cinza-2:#e9e9e9;
    --ml-cinza-3:#d4d2ce;
    --ml-cinza-texto:#6b6b6b;

    /* o template inteiro pinta-se a partir destas variáveis (verde da Pura → preto) */
    --eko-green:#111111;
    --eko-green-dark:#000000;
    --eko-green-bright:#3d3d3d;
    --eko-bronze:#111111;
    --eko-sand:#d4d2ce;
    --eko-gold:#111111;
    --eko-olive:#555555;
    --eko-header-bg:#ffffff;
    --eko-cream:#f4f4f4;
    --eko-cream-2:#e9e9e9;
    --eko-text:#111111;
    --eko-text-light:#6b6b6b;
    --eko-border:#e4e4e4;
    /* 2026-10-14: a letra do site e a ROBOTO (decisao do Gil, depois de comparar com a Montserrat no botao do rodape).
       O botao temporario do rodape continua a permitir ver a Montserrat em cada browser — ver o fim deste ficheiro. */
    --eko-font:"Roboto",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
    --eko-font-serif:"Playfair Display",Georgia,"Times New Roman",serif;
    --eko-font-script:"Playfair Display",Georgia,serif;
}

/* títulos: Playfair Display, peso normal, como nas maquetas */
h1,h2,.com-content-article .page-header h1,.eko-menu-subtitle,.eko-account-tab-panel h3,.eko-fav-empty h3,.eko-cart-empty h3{font-weight:400;letter-spacing:-.005em}

/* ---------------------------------------------------------------- cabeçalho (maqueta: uma só linha) */
.eko-header{display:none}                                  /* barra de topo: não existe na maqueta */
.eko-family-nav{display:none}                              /* barra das famílias: o menu é o do Museu */
.eko-header-sticky{background:#fff;border-bottom:1px solid var(--eko-border)}
.eko-header-main{position:relative;gap:28px;padding-top:0;padding-bottom:0;min-height:72px;height:72px}   /* logótipo de 40 px em y=16: píxel inteiro a 100, 125, 150 e 200% */
.eko-logo img,.eko-header-sticky.is-scrolled .eko-logo img{width:128px;height:40px;max-width:none}

.ml-menu{flex:1 1 auto;display:flex;justify-content:center;align-self:stretch}
.ml-menu>ul{display:flex;align-items:stretch;gap:44px;list-style:none;margin:0;padding:0}
.ml-menu>ul>li{position:relative;display:flex}
.ml-menu>ul>li>a{display:flex;align-items:center;gap:6px;font:500 13px/1 var(--eko-font);letter-spacing:.09em;text-transform:uppercase;color:var(--ml-preto);text-decoration:none;border-bottom:2px solid transparent;padding-top:2px;transition:border-color .15s ease}
.ml-menu>ul>li>a:hover,.ml-menu>ul>li.is-active>a{border-bottom-color:var(--ml-preto)}
.ml-menu>ul>li>a svg{width:12px;height:12px;stroke-width:2}
.ml-menu .ml-sub{position:absolute;top:100%;left:50%;transform:translateX(-50%);min-width:220px;list-style:none;margin:0;padding:10px 0;background:#fff;border:1px solid var(--eko-border);box-shadow:0 12px 28px rgba(0,0,0,.08);opacity:0;visibility:hidden;transition:opacity .15s ease,visibility .15s ease;z-index:80}
.ml-menu>ul>li:hover>.ml-sub,.ml-menu>ul>li:focus-within>.ml-sub{opacity:1;visibility:visible}
.ml-menu .ml-sub a{display:flex;align-items:center;gap:10px;padding:9px 18px;font:400 14px/1.3 var(--eko-font);color:var(--ml-preto);text-decoration:none;white-space:nowrap}
.ml-menu .ml-sub a:hover{background:var(--ml-cinza-1)}
.ml-menu .ml-sub a i{width:10px;height:10px;flex:none;background:var(--ml-cor,#111)}

/* direita: idioma · Pesquisar · Conta · carrinho */
.eko-header-actions{gap:22px}
.eko-header-actions [data-eko-fav-trigger]{display:none}   /* favoritos: na maqueta não há; ficam na gaveta "A minha conta" */
/* valor do carrinho ao lado do icone, como nos outros sites (pedido do Gil, 2026-10-13) */
.eko-action-cart{display:inline-flex;align-items:center;gap:14px;width:auto;height:auto}
.eko-action-cart [data-eko-cart-total]{display:inline-block;font:500 13px/1 var(--eko-font);color:var(--ml-preto);white-space:nowrap}
.ml-acao{display:inline-flex;align-items:center;gap:8px;font:400 13px/1 var(--eko-font);color:var(--ml-preto);text-decoration:none;background:none;border:0;padding:0;cursor:pointer;width:auto;height:auto}
.ml-acao svg{width:20px;height:20px;stroke-width:1.6}
.eko-search-mobile-toggle.ml-acao{display:inline-flex;width:auto;height:auto}
.eko-action-user.ml-acao{width:auto;height:auto;border-radius:0}
.eko-action-user.ml-acao:hover,.eko-search-mobile-toggle.ml-acao:hover{background:none;color:var(--ml-preto)}
/* idioma (maqueta: globo + idioma atual; os outros abrem por baixo ao passar o rato) */
.ml-lang{position:relative;align-self:stretch;display:inline-flex;align-items:center;gap:7px;font:400 13px/1 var(--eko-font);cursor:default}
.ml-lang>svg{width:19px;height:19px;stroke-width:1.5}
.ml-lang .mod-languages ul,.ml-menu-idioma .mod-languages ul{display:flex;list-style:none;margin:0;padding:0}
div.mod-languages ul li,div.mod-languages ul li.lang-active{background:none;margin:0;padding:0;border:0}
.ml-lang a{display:block;color:var(--ml-preto);text-decoration:none}
.ml-lang div.mod-languages ul li:not(.lang-active){display:none;position:absolute;top:100%;left:0;min-width:100%;background:#fff;border:1px solid var(--eko-border);box-shadow:0 12px 24px rgba(0,0,0,.08);z-index:80}
.ml-lang div.mod-languages ul li:not(.lang-active) a{padding:10px 16px}
.ml-lang div.mod-languages ul li:not(.lang-active) a:hover{background:var(--ml-cinza-1)}
.ml-lang:hover div.mod-languages ul li:not(.lang-active),.ml-lang:focus-within div.mod-languages ul li:not(.lang-active){display:block}
.eko-cart-badge{background:var(--ml-preto);color:#fff}
.eko-action-cart .eko-cart-icon-wrap svg{width:23px;height:23px;stroke-width:1.6}

/* pesquisa: escondida até carregar em "Pesquisar" (abre por baixo do cabeçalho, em todas as larguras) */
.eko-search-wrap{display:none;position:absolute;left:0;right:0;top:100%;z-index:60;max-width:none;margin:0;padding:16px 24px 20px;background:#fff;border-bottom:1px solid var(--eko-border);box-shadow:0 14px 26px rgba(0,0,0,.06)}
.eko-search-wrap.is-mobile-open{display:block}
.eko-search-wrap .eko-search{max-width:760px;margin:0 auto}

.eko-hamburger{display:none}

/* ---------------------------------------------------------------- gaveta do menu (telemóvel) */
.eko-menu-top img{height:30px;width:auto}
.ml-menu-gaveta a i.ml-nucleo{width:10px;height:10px;flex:none;background:var(--ml-cor,#111);margin-right:4px}
.ml-menu-idioma{display:flex;align-items:center;gap:10px;margin:18px 20px 0;padding-top:16px;border-top:1px solid var(--eko-border);font:500 14px/1 var(--eko-font)}
.ml-menu-idioma svg{width:18px;height:18px}
.ml-menu-idioma ul{display:flex;gap:14px;list-style:none;margin:0;padding:0}
.ml-menu-idioma a{color:var(--ml-cinza-texto);text-decoration:none}
.ml-menu-idioma .lang-active a{color:var(--ml-preto)}

/* ---------------------------------------------------------------- rodapé (identidade; colunas completas na etapa da página inicial) */
.eko-footer{background:var(--ml-preto);color:#d9d9d9;border-top:0}
.eko-footer h4{color:#fff;font-family:var(--eko-font);font-weight:500;font-size:12px;letter-spacing:.09em;text-transform:uppercase}
.eko-footer a{color:#d9d9d9}
.eko-footer a:hover{color:#fff}
.eko-footer-brand .ml-logos{display:flex;align-items:center;gap:22px;margin-bottom:16px}
.eko-footer-brand .ml-logos img{height:44px;width:auto}
.eko-footer-brand .ml-logos img.ml-lisboa-cultura{height:48px}
.eko-footer-brand p{color:#cfcfcf}
.eko-footer .eko-social a{color:#fff;border-color:rgba(255,255,255,.35)}
.eko-footer-bottom{border-top-color:rgba(255,255,255,.14);color:#a9a9a9}

/* ---------------------------------------------------------------- telemóvel e tablet */
@media (max-width:1100px){
    .ml-menu>ul{gap:28px}
    .ml-acao .ml-lbl{display:none}
}
@media (max-width:900px){
    .ml-menu{display:none}
    .eko-hamburger{display:flex}
    .eko-header-main{min-height:60px;gap:12px}
    .eko-logo img,.eko-header-sticky.is-scrolled .eko-logo img{height:30px}
    .eko-header-actions{gap:14px}
    .ml-lang{display:none}
}

/* =====================================================================================================================
 * Etapas 2-5 (2026-10-12): página inicial, newsletter e rodapé da maqueta, listagem, ficha de produto, gavetas, pop-up
 * e contactos. Maquetas rev-02 + e-mail do Museu (filtros a azul Torreão Poente, tipo e preço a amarelo Teatro Romano,
 * confirmação a verde Campo de Ourique; sem detalhes de pagamento e envio).
 * ===================================================================================================================== */

/* ---------------------------------------------------------------- peças comuns */
.ml-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:48px;padding:12px 20px;font:500 13px/1.2 var(--eko-font);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;cursor:pointer;border-radius:0;transition:background .15s ease,color .15s ease,border-color .15s ease}
.ml-btn svg{width:18px;height:18px}
.ml-btn-preto{background:var(--ml-preto);color:#fff;border:1px solid var(--ml-preto)}
.ml-btn-preto:hover{background:#000;color:#fff}
.ml-btn-contorno{background:#fff;color:var(--ml-preto);border:1px solid var(--ml-preto)}
.ml-btn-contorno:hover{background:var(--ml-preto);color:#fff}
.ml-link-seta{display:inline-flex;align-items:center;gap:12px;font:500 12px/1 var(--eko-font);letter-spacing:.12em;text-transform:uppercase;color:var(--ml-preto);text-decoration:none}
.ml-link-seta svg{width:16px;height:16px;transition:transform .15s ease}
.ml-link-seta:hover svg{transform:translateX(3px)}
.ml-kicker{font:500 11px/1 var(--eko-font);letter-spacing:.12em;text-transform:uppercase;color:var(--ml-santo-antonio);margin:0 0 14px}
.ml-migalhas{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font:400 13px/1.4 var(--eko-font);color:var(--ml-preto);margin-bottom:14px}
.ml-migalhas a{color:var(--ml-preto);text-decoration:none}
.ml-migalhas a:hover{text-decoration:underline}
.ml-migalhas span,.ml-migalhas .is-current{color:var(--ml-preto)}
.ml-armadilha{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.ml-nucleos{display:flex;justify-content:space-between;gap:12px;margin-top:auto;padding-top:40px}
.ml-nucleos img{width:40px;height:40px;opacity:0;transform:translateY(8px) scale(.9)}
body.eko-cart-open .eko-cart-drawer .ml-nucleos img,body.eko-account-open .eko-account-drawer .ml-nucleos img{animation:mlNucleo .5s ease forwards}
.ml-nucleos img:nth-child(2){animation-delay:.08s!important}
.ml-nucleos img:nth-child(3){animation-delay:.16s!important}
.ml-nucleos img:nth-child(4){animation-delay:.24s!important}
.ml-nucleos img:nth-child(5){animation-delay:.32s!important}
@keyframes mlNucleo{to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.ml-nucleos img{opacity:1;transform:none;animation:none!important}}

/* ---------------------------------------------------------------- etapa 2: página inicial */
.ml-hero{position:relative;height:clamp(360px,36vw,620px);background:var(--ml-cinza-3);overflow:hidden}
.ml-hero-padrao{background:#000 url("../../../images/cfp/marca/padrao-nucleos.svg") center/clamp(420px,40vw,720px) repeat}
.ml-hero-slides{list-style:none;margin:0;padding:0;height:100%}
.ml-hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .8s ease,visibility .8s ease}
.ml-hero-slide.is-active{opacity:1;visibility:visible}
.ml-hero-media,.ml-hero-media img{display:block;width:100%;height:100%;object-fit:cover}
.ml-hero-link{position:absolute;inset:0;z-index:1}
.ml-hero-seta{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:44px;height:44px;border:0;background:rgba(255,255,255,.9);color:var(--ml-preto);display:flex;align-items:center;justify-content:center;cursor:pointer}
.ml-hero-seta svg{width:20px;height:20px}
.ml-hero-seta-ant{left:20px}
.ml-hero-seta-seg{right:20px}
.ml-hero-pontos{position:absolute;left:0;right:0;bottom:18px;z-index:2;display:flex;justify-content:center;gap:8px}
.ml-hero-pontos span{width:28px;height:3px;background:rgba(255,255,255,.5);cursor:pointer}
.ml-hero-pontos span.is-active{background:#fff}

/* «Em destaque» (desenho do Gil, 2026-10-13): título + ligação em cima e cinco cartões iguais em linha.
   O carrossel anterior saiu; o .ml-carrossel continua aqui por ser usado por outras secções. */
.ml-destaque{padding:44px 0 40px;background:#fff}
.ml-destaque-topo{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:22px}
.ml-destaque-topo h2{font-size:clamp(26px,2.4vw,34px);line-height:1.1;margin:0}
.ml-destaque-grelha{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;align-items:stretch}
.ml-dest-cartao{position:relative;display:flex;flex-direction:column;background:transparent;border:1px solid var(--eko-border);padding:18px 18px 22px;min-width:0}
.ml-dest-media{display:block;width:100%;aspect-ratio:1/1;background:transparent;margin-bottom:16px}
.ml-dest-media img{width:100%;height:100%;object-fit:contain}
.ml-dest-info{display:flex;flex-direction:column;flex:1 1 auto;padding:0;min-width:0}
.ml-dest-nome{font:500 14px/1.4 var(--eko-font);color:var(--ml-preto);text-decoration:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.8em}
.ml-dest-nome:hover{text-decoration:underline;text-underline-offset:3px}
.ml-dest-linha{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:6px}
.ml-dest-preco{font:700 16px/1 var(--eko-font);color:var(--ml-preto);white-space:nowrap}
.ml-dest-add{flex:none;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border:1px solid var(--ml-preto);border-radius:50%;background:#fff;color:var(--ml-preto);cursor:pointer;transition:background .15s ease,color .15s ease}
.ml-dest-add svg{width:17px;height:17px;stroke-width:1.6}
.ml-dest-add:hover{background:var(--ml-preto);color:#fff}
.ml-dest-fav{position:absolute;top:12px;right:12px;z-index:2;width:32px;height:32px;border:0!important;background:transparent!important;color:var(--ml-preto);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
.ml-dest-fav svg{width:18px;height:18px;stroke-width:1.6}
.ml-carrossel{position:relative;display:flex;align-items:center;gap:8px;min-width:0}
.ml-carrossel-lista{display:grid;grid-auto-flow:column;grid-auto-columns:calc(100% / 6);list-style:none;margin:0;padding:0;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;flex:1 1 auto;min-width:0}
.ml-carrossel-lista::-webkit-scrollbar{display:none}
.ml-carrossel-seta{flex:none;width:32px;height:32px;border:0;background:none;color:var(--ml-preto);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
.ml-carrossel-seta svg{width:22px;height:22px;stroke-width:1.5}
.ml-carrossel-seta:disabled{opacity:.25;cursor:default}
.ml-cartao{scroll-snap-align:start;border-left:1px solid var(--eko-border)}
.ml-cartao:first-child{border-left:0}
.ml-cartao a{display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 14px;color:var(--ml-preto);text-decoration:none}
.ml-cartao-media{display:block;width:100%;aspect-ratio:1/1;margin-bottom:14px}
.ml-cartao-media img{width:100%;height:100%;object-fit:contain}
.ml-cartao-nome{font:400 13px/1.35 var(--eko-font);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.7em}
.ml-cartao-preco{font:700 14px/1 var(--eko-font);margin-top:8px}
.ml-cartao a:hover .ml-cartao-nome{text-decoration:underline}

/* ---------------------------------------------------------------- newsletter e rodapé (todas as páginas) */
.ml-newsletter{background:var(--ml-cinza-3);padding:26px 0}
.ml-newsletter-inner{display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap}
.ml-newsletter h2{font-size:clamp(20px,1.7vw,24px);line-height:1.2;margin:0}
.ml-newsletter-form{flex:0 1 480px;position:relative}
.ml-newsletter-campos{display:flex}
.ml-newsletter-campos input[type=email]{flex:1 1 auto;min-width:0;height:44px;border:0;background:#fff;padding:0 16px;font:400 13px var(--eko-font);color:var(--ml-preto);border-radius:0}
.ml-newsletter-campos input[type=email]:focus{outline:2px solid var(--ml-preto);outline-offset:-2px}
.ml-newsletter-campos button{flex:none;height:44px;padding:0 26px;border:0;background:var(--ml-preto);color:#fff;font:500 12px/1 var(--eko-font);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;border-radius:0}
.ml-newsletter-campos button:disabled{opacity:.6}
.ml-newsletter-nota{font-size:11px;color:#555;margin:6px 0 0}
.ml-newsletter-nota a{color:inherit}
.ml-newsletter-nota.is-ok{color:#2f7a22;font-size:13px}
.ml-newsletter-nota.is-erro{color:var(--ml-santo-antonio);font-size:13px}

.ml-footer{background:#161616;color:#d0d0d0;padding:0;border:0}
.ml-footer-top{display:grid;grid-template-columns:minmax(220px,1.5fr) repeat(4,minmax(0,1fr)) minmax(0,1.3fr);gap:28px;padding-top:28px;padding-bottom:22px}
.ml-footer .ml-logos{display:flex;align-items:center;gap:24px;margin-bottom:14px}
.ml-footer .ml-logos img{height:40px;width:auto}
.ml-footer .ml-logos img.ml-lisboa-cultura{height:48px}
.ml-footer-marca p{font-size:12px;line-height:1.5;color:#cfcfcf;margin:0 0 14px;max-width:240px}
.ml-footer .ml-link-seta{color:#fff;font-size:11px}
.ml-footer h4{font:500 11px/1 var(--eko-font);letter-spacing:.1em;text-transform:uppercase;color:#fff;margin:6px 0 14px}
.ml-footer ul{list-style:none;margin:0;padding:0}
.ml-footer-col li{margin-bottom:7px;font-size:12px;line-height:1.4}
.ml-footer a{color:#cfcfcf;text-decoration:none}
.ml-footer a:hover{color:#fff}
.ml-footer-contactos li{display:flex;gap:10px;align-items:flex-start}
.ml-footer-contactos li svg{width:15px;height:15px;flex:none;margin-top:1px;color:#fff}
.ml-sociais{display:flex;gap:18px;margin-top:14px!important}
.ml-sociais li{margin:0!important}
.ml-sociais a{display:flex;color:#fff}
.ml-sociais svg{width:18px;height:18px}
.ml-footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.12);padding-top:14px;padding-bottom:16px;font-size:11px;color:#a9a9a9}
.ml-footer-bottom p{margin:0}
.ml-footer-bottom ul{display:flex;flex-wrap:wrap;gap:0}
.ml-footer-bottom li{padding:0 14px;border-left:1px solid rgba(255,255,255,.2)}
.ml-footer-bottom li:first-child{border-left:0}
.ml-footer-dev a{color:#fff;font-weight:500}

/* ---------------------------------------------------------------- etapa 3: listagem */
.ml-lista-topo{min-height:0;background:#fff!important;padding:26px 0 10px}
.ml-lista-topo .eko-prod-banner-inner{min-height:0}
.ml-lista-topo .eko-prod-banner-text{max-width:720px}
.ml-lista-topo h1{font-size:clamp(34px,3.2vw,46px);line-height:1.1;margin:0 0 14px}
.ml-lista-topo p{font-size:14px;line-height:1.6;color:var(--ml-preto);margin:0}
.eko-prod-categorias-tiles{display:none}                     /* foco nos produtos (maqueta) */
.eko-prod-listagem{padding-top:20px}
.eko-prod-filter{border-bottom:1px solid var(--eko-border);padding-bottom:18px;margin-bottom:18px}
.eko-prod-filter h3{font-size:12px;font-weight:500;letter-spacing:.1em}
.eko-prod-filter-list a,.eko-prod-filter-row a{color:var(--ml-preto);font-size:13px}
.eko-prod-filter-row span,.eko-prod-filter-checks li>span{font-size:12px;color:var(--ml-preto)}
.eko-prod-filter-list li.is-active,.eko-prod-filter-tree li.is-active{border-left:0;padding-left:0;font-weight:500}
.eko-prod-filter-list li.is-active>a,.eko-prod-filter-tree li.is-active>.eko-prod-filter-row>a{color:var(--ml-torreao-poente)}
.eko-prod-filter-checks input[type=checkbox],.eko-prod-range{accent-color:var(--ml-torreao-poente)}
.eko-prod-filter-chip.is-active{background:var(--ml-torreao-poente);border-color:var(--ml-torreao-poente);color:#fff}
.eko-prod-filter-swatch.is-active{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--ml-torreao-poente)}
.eko-prod-clear{width:100%;justify-content:center;border:1px solid var(--ml-preto);background:#fff;color:var(--ml-preto);font:500 11px/1 var(--eko-font);letter-spacing:.1em;text-transform:uppercase;min-height:40px;border-radius:0}
.eko-prod-clear svg{display:none}
.eko-prod-count{font-size:13px;font-weight:500}
.eko-prod-sort select{border-radius:0;border-color:var(--eko-border);font-size:13px}

/* cartões de produto: só nome e preço, centrados (maqueta) */
.eko-product-card{border-radius:0;border-color:var(--eko-border);padding:18px 18px 22px;text-align:center}
.eko-product-card .eko-product-media{background:#fff;border-radius:0;margin-bottom:16px}
.eko-product-card .eko-product-media img{object-fit:contain}
.eko-product-card .eko-product-brand,.eko-product-card .eko-product-weight,.eko-product-card .eko-product-stock,.eko-product-card .eko-product-caract,.eko-product-card .eko-btn-add,.eko-product-card .eko-product-badges{display:none}
.eko-product-card .eko-product-name{font:500 13px/1.35 var(--eko-font);margin:0 0 8px}
.eko-product-card .eko-product-name a{color:var(--ml-preto)}
.eko-product-card .eko-product-footer{margin-top:auto}
.eko-product-card .eko-product-price{font:700 15px/1 var(--eko-font);color:var(--ml-preto);justify-content:center;margin:0}
.eko-product-card .eko-fav-toggle{border:0;background:transparent;top:12px;right:12px}
.eko-product-card .eko-fav-toggle.is-active svg{fill:var(--ml-preto);stroke:var(--ml-preto)}
.eko-prod-pagination>p,.eko-prod-per-page{font-size:12px;color:var(--eko-text-light)}
.eko-prod-pagination-pages button{border:0;background:none;border-radius:0;min-width:32px;font-size:13px;color:var(--ml-preto)}
.eko-prod-pagination-pages button.is-active{background:none;color:var(--ml-torreao-poente);border:0;box-shadow:inset 0 -2px 0 var(--ml-torreao-poente);font-weight:700}

/* ---------------------------------------------------------------- etapa 3: ficha de produto */
.eko-pd .ml-migalhas{margin:18px 0}
.eko-pd-top{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:44px}
.eko-pd-sidebar{display:none}                                 /* «Precisa de ajuda?»: não existe na maqueta */
.eko-pd-gallery:has(.eko-pd-thumbs){display:grid;grid-template-columns:84px minmax(0,1fr);gap:18px;align-items:start}
.eko-pd-gallery .eko-pd-main-media{order:2;background:#fff}
.eko-pd-gallery .eko-pd-main-media img{object-fit:contain}
.eko-pd-gallery .eko-pd-thumbs{order:1;flex-direction:column;flex-wrap:nowrap;gap:12px}
.eko-pd-thumbs li{width:84px;height:84px;border-color:transparent}
.eko-pd-thumbs li img{object-fit:contain;background:#fff}
.eko-pd-thumbs li.is-active{border-color:var(--ml-preto)}
.eko-pd-zoom{border-radius:50%;background:#fff;border:0;box-shadow:0 2px 8px rgba(0,0,0,.12)}
.ml-pd-tipo{margin:4px 0 12px;font:500 11px/1 var(--eko-font);letter-spacing:.12em;text-transform:uppercase}
.ml-pd-tipo a{color:var(--ml-teatro-romano);text-decoration:none}
.eko-pd-info h1{font-size:clamp(30px,2.7vw,40px);line-height:1.12;font-weight:400;margin:0}
.ml-pd-traco{display:block;width:24px;height:2px;background:var(--ml-teatro-romano);margin:18px 0}
.ml-pd-resumo{font-size:14px;line-height:1.6;color:var(--ml-preto);margin:0 0 18px;max-width:440px}
.eko-pd-info .eko-pd-peso{display:none}                       /* referência interna: fora da maqueta */
.eko-pd-info{display:flex;flex-direction:column}
.eko-pd-price{font-family:var(--eko-font-serif);font-weight:400;font-size:30px;color:var(--ml-teatro-romano);margin:6px 0 0}
/* stock na mesma linha do preco, alinhado pela direita com o botao de comprar (pedido do Gil, 2026-10-14):
   antes ia parar a margem direita da coluna, longe de tudo. */
.eko-pd-info .eko-product-stock{align-self:flex-start;margin-top:-28px;margin-bottom:18px;font-size:12px;max-width:460px;width:100%;text-align:right}
.eko-stock-dot{background:var(--ml-palacio-pimenta)}
.eko-stock-dot.is-esgotado{background:var(--ml-santo-antonio)}
.eko-pd-actions{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;margin-top:6px;max-width:460px}
.eko-pd-actions .eko-pd-variant-wrap{grid-column:1/-1}
.eko-pd-qty{height:50px;border-color:var(--eko-border)}
.eko-pd-qty button{height:48px}
.eko-pd-actions .eko-btn-add{min-height:50px;border-radius:0;background:var(--ml-preto);border-color:var(--ml-preto);font:500 13px/1 var(--eko-font);letter-spacing:.12em;text-transform:uppercase;gap:12px}
.eko-pd-actions .eko-btn-add svg{width:18px;height:18px}
.eko-pd-actions .eko-fav-toggle-inline{grid-column:1/-1;width:100%;height:48px;gap:12px;border-color:var(--ml-preto);font:500 12px/1 var(--eko-font);letter-spacing:.12em;text-transform:uppercase;color:var(--ml-preto)}
.eko-pd-actions .eko-fav-toggle-inline svg{width:17px;height:17px}
.eko-pd-actions .eko-fav-toggle-inline.is-active svg{fill:var(--ml-preto);stroke:var(--ml-preto)}
.eko-pd-tabs{border-top:1px solid var(--eko-border);padding-top:8px}
.eko-pd-tabs .eko-tabs{justify-content:flex-start;gap:34px;border-bottom:1px solid var(--eko-border)}
.eko-pd-tabs .eko-tabs button{font:500 12px/1 var(--eko-font);letter-spacing:.12em;text-transform:uppercase;color:var(--ml-preto)}
/* os separadores alinham com a ficha de cima: texto na coluna da fotografia, tabela na coluna do preco
   (pedido do Gil, 2026-10-14 — estava tudo centrado a 820px e nao batia certo com nada) */
.eko-pd-tab-content{max-width:none;margin:0}
.eko-pd-tab-content.eko-pd-tab-content-real{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:44px;align-items:start}
.eko-pd-tab-desc h3{font-family:var(--eko-font-serif);font-weight:400;font-size:20px;margin-bottom:14px}
.eko-pd-tab-desc,.eko-pd-tab-desc p{font-size:14px;line-height:1.7;color:var(--ml-preto)}
.eko-pd-tab-desc [style*="color"]{color:inherit!important}
.eko-pd-tab-desc [style*="font-family"]{font-family:inherit!important}
.eko-pd-relacionados{border-top:1px solid var(--eko-border);padding-top:30px;margin-top:40px}
.eko-pd-relacionados .eko-section-head{display:flex;align-items:center;gap:20px}
.eko-pd-relacionados .eko-section-head h2{font:500 13px/1 var(--eko-font);letter-spacing:.1em;text-transform:uppercase;margin:0;flex:1}
.ml-pd-vertodos{font-size:11px}
.eko-pd-relacionados .eko-carousel-arrows{display:none}
.eko-related-grid{display:grid;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:calc(100% / 5);gap:0;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.eko-related-grid::-webkit-scrollbar{display:none}
.eko-related-card{scroll-snap-align:start;text-align:center;padding:0 18px;border-left:1px solid var(--eko-border)}
.eko-related-card:first-child{border-left:0}
.eko-related-card .eko-product-media{background:#fff}
.eko-related-card .eko-product-media img{object-fit:contain}
.eko-related-card .eko-product-brand{display:none}
.eko-related-card .eko-product-name{font-size:13px;font-weight:400}
.eko-related-card .eko-product-name a{color:var(--ml-preto)}
.eko-related-card .eko-product-price{font-size:14px;font-weight:700;justify-content:center}

/* ---------------------------------------------------------------- etapa 4: gavetas */
.eko-cart-drawer,.eko-account-drawer{display:flex;flex-direction:column}
.eko-cart-head h2,.eko-fav-head h2,.eko-account-guest>h2{font-size:30px;font-weight:400}
.eko-cart-shipping,.eko-cart-trust,.eko-cart-eco{display:none!important}   /* sem detalhes de envio/pagamento (pedido do Museu) */
.eko-cart-item{padding:18px 0;border-bottom:1px solid var(--eko-border);gap:18px}
.eko-cart-item-media{width:86px;height:100px;background:#fff}
.eko-cart-item-media img{width:100%;height:100%;object-fit:contain}
.eko-cart-item .eko-product-name{font-size:14px;font-weight:500}
.eko-cart-item .eko-product-name a{color:var(--ml-preto)}
.eko-cart-item .eko-product-price{font-size:15px;font-weight:700;margin:6px 0 10px}
.eko-cart-item-qty{border:1px solid var(--eko-border);border-radius:0;display:inline-flex;align-items:center}
.eko-cart-item-qty button{width:34px;height:36px;border:0;background:none}
.eko-cart-item-qty span{min-width:28px;text-align:center}
.eko-cart-item-remove{align-self:center;color:var(--ml-preto)}
.eko-cart-summary{border-top:0;padding-top:16px}
.eko-cart-summary-row{font-size:14px;padding:6px 0}
.eko-cart-summary-row:first-child{font-weight:700}
.eko-cart-summary .ml-btn{margin-top:14px}
.eko-cart-summary .ml-btn-preto{margin-top:34px}
.eko-account-drawer .eko-tabs button.is-active{color:var(--ml-preto);border-color:var(--ml-preto)}
.eko-account-quicklinks svg,.eko-account-menu svg{color:var(--ml-preto)}

/* pop-up «Produto adicionado ao carrinho» */
.ml-adicionado{position:fixed;inset:0;z-index:120;display:flex;align-items:center;justify-content:center;padding:20px}
.ml-adicionado[hidden]{display:none}
.ml-adicionado-fundo{position:absolute;inset:0;background:rgba(0,0,0,.45)}
.ml-adicionado-caixa{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px;width:min(700px,100%);max-height:calc(100vh - 40px);overflow:auto;background:#fff;padding:32px 46px 40px 32px;box-shadow:0 30px 60px rgba(0,0,0,.25);animation:mlPopup .25s ease}
@keyframes mlPopup{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.ml-adicionado-x{position:absolute;top:18px;right:18px;width:34px;height:34px;border:0;background:none;color:var(--ml-preto);cursor:pointer;display:flex;align-items:center;justify-content:center}
.ml-adicionado-x svg{width:24px;height:24px;stroke-width:1.6}
.ml-adicionado-media{aspect-ratio:2/3;background:#fff;display:flex;align-items:center;justify-content:center}
.ml-adicionado-media img{width:100%;height:100%;object-fit:contain}
.ml-adicionado-texto{display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:10px}
.ml-adicionado-visto{width:46px;height:46px;border:2px solid var(--ml-palacio-pimenta);border-radius:50%;color:var(--ml-palacio-pimenta);display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.ml-adicionado-visto svg{width:22px;height:22px;stroke-width:2}
.ml-adicionado-texto h2{font-size:28px;line-height:1.2;margin:0 0 16px}
.ml-adicionado-texto p{font-size:14px;line-height:1.6;margin:0 0 20px}
.ml-adicionado-linha{width:100%;display:flex;align-items:center;gap:14px;padding:16px 4px;margin-bottom:16px;border:0;border-top:1px solid var(--eko-border);border-bottom:1px solid var(--eko-border);background:none;font:500 14px var(--eko-font);color:var(--ml-preto);cursor:pointer;text-align:left}
.ml-adicionado-linha>span:nth-child(2){flex:1}
.ml-adicionado-linha>svg{width:16px;height:16px}
.ml-adicionado-saco{position:relative;display:flex}
.ml-adicionado-saco svg{width:26px;height:26px}
.ml-adicionado-num{position:absolute;top:-6px;right:-8px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--ml-palacio-pimenta);color:#fff;font:700 10px/17px var(--eko-font);text-align:center}
.ml-adicionado-texto .ml-btn{margin-top:12px}
.ml-adicionado-texto .ml-btn-preto{margin-top:0}
body.ml-popup-aberto{overflow:hidden}

/* ---------------------------------------------------------------- etapa 5: contactos (e cabeçalho das páginas do museu) */
.ml-pagina-topo{padding:26px 0 8px}
.ml-pagina-topo h1{font-size:clamp(34px,3.2vw,46px);line-height:1.1;margin:0 0 14px}
.ml-pagina-intro{max-width:720px;font-size:15px;line-height:1.7}
.ml-contactos{padding:30px 0 56px}
.ml-contactos-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:64px;align-items:start}
.ml-contactos h2{font-size:24px;margin:0 0 22px}
.ml-contactos-lista{list-style:none;margin:0;padding:0}
.ml-contactos-lista li{display:flex;gap:16px;padding:16px 0;border-bottom:1px solid var(--eko-border)}
.ml-contactos-lista li:first-child{border-top:1px solid var(--eko-border)}
.ml-contactos-lista svg{width:20px;height:20px;flex:none;margin-top:2px}
.ml-contactos-lista strong{display:block;font:500 11px/1 var(--eko-font);letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px}
.ml-contactos-lista span,.ml-contactos-lista a{font-size:14px;line-height:1.55;color:var(--ml-preto);text-decoration:none}
.ml-contactos-lista a:hover{text-decoration:underline}
.ml-contactos-siga{font:500 11px/1 var(--eko-font);letter-spacing:.1em;text-transform:uppercase;margin:28px 0 0}
.ml-sociais-escuro{gap:10px;padding:0;list-style:none}
.ml-sociais-escuro a{color:var(--ml-preto);width:42px;height:42px;border:1px solid var(--eko-border);align-items:center;justify-content:center}
.ml-sociais-escuro a:hover{border-color:var(--ml-preto)}
.ml-contactos-form .eko-account-field input,.ml-contactos-form .eko-account-field textarea{border-radius:0}
.ml-contactos-form .ml-btn{width:auto;min-width:240px;margin-top:18px}
.ml-contactos-mapa iframe{display:block;width:100%;height:380px;border:0;filter:grayscale(1)}

/* ---------------------------------------------------------------- acertos depois das capturas (2026-10-12) */
@media (min-width:1280px){.eko-products-grid-4{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}}
.eko-pd-info .eko-product-stock{justify-content:flex-end}
.eko-cart-item .eko-product-weight,.eko-cart-item .eko-product-brand{display:none}
.eko-cart-item-remove{position:static;margin-left:auto;flex:none}
.eko-cart-empty-leaf{display:none}
.eko-cart-empty .eko-btn,.eko-fav-empty .eko-btn,.eko-account-drawer .eko-btn-primary,.eko-fav-footer .eko-btn{border-radius:0;font:500 12px/1.2 var(--eko-font);letter-spacing:.1em;text-transform:uppercase}
.eko-cart-suggestion-add{display:none}
.eko-cart-suggestions h4{font:500 12px/1 var(--eko-font);letter-spacing:.1em;text-transform:uppercase}
.eko-cart-suggestions .eko-product-name{font-size:12px;font-weight:400}
.eko-account-quicklinks strong{color:var(--ml-preto)}

/* ---------------------------------------------------------------- hero da página inicial (desenho hero.png do Gil, 2026-10-12) */
.ml-hero{height:clamp(440px,42.66vw,820px)}
.ml-hero-veu{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.72) 0,rgba(255,255,255,.52) 24%,rgba(255,255,255,.18) 42%,rgba(255,255,255,0) 56%);pointer-events:none}
.ml-hero-conteudo{position:absolute;left:clamp(20px,5.2vw,100px);top:clamp(40px,5.6vw,108px);max-width:min(640px,46vw);z-index:2;color:var(--ml-preto)}
.ml-hero-kicker{font:400 clamp(12px,.82vw,15px)/1 var(--eko-font);letter-spacing:.16em;text-transform:uppercase;color:#6b6b6b;margin:0 0 clamp(18px,2.6vw,50px)}
.ml-hero-titulo{font:400 clamp(40px,4.65vw,90px)/1.02 var(--eko-font-serif);letter-spacing:-.01em;color:var(--ml-preto);margin:0 0 clamp(14px,1.4vw,26px)}
.ml-hero-desc{font:400 clamp(14px,.95vw,18px)/1.6 var(--eko-font);color:#222;max-width:430px;margin:0 0 clamp(18px,1.7vw,30px)}
.ml-hero-btn{display:inline-flex;align-items:center;gap:14px;height:clamp(48px,3.1vw,60px);padding:0 clamp(24px,2vw,40px);background:var(--ml-preto);color:#fff;font:400 clamp(12px,.75vw,14px)/1 var(--eko-font);letter-spacing:.16em;text-transform:uppercase;text-decoration:none;border-radius:2px;transition:background .15s ease}
.ml-hero-btn:hover{background:#000;color:#fff}
.ml-hero-btn svg{width:18px;height:18px;stroke-width:1.5}
.ml-hero-etiquetas,.ml-hero-legenda{position:absolute;right:clamp(20px,3.4vw,66px);z-index:2;margin:0;text-align:right;color:#fff;font:400 clamp(11px,.7vw,13px)/1.75 var(--eko-font);letter-spacing:.14em;text-transform:uppercase;text-shadow:0 1px 6px rgba(0,0,0,.35)}
.ml-hero-etiquetas{top:clamp(30px,2.9vw,54px)}
.ml-hero-etiquetas::after,.ml-hero-legenda::before{content:"";display:block;width:40px;height:1px;background:#fff;margin-left:auto}
.ml-hero-etiquetas::after{margin-top:12px}
.ml-hero-legenda{bottom:clamp(30px,3vw,54px);line-height:1.55}
.ml-hero-legenda::before{margin-bottom:14px}
.ml-hero-numeros{position:absolute;left:clamp(20px,5.2vw,100px);bottom:clamp(30px,3.3vw,64px);z-index:3;display:flex;gap:18px}
.ml-hero-numeros button{width:48px;padding:0 0 10px;border:0;border-bottom:2px solid rgba(17,17,17,.25);background:none;font:400 15px/1 var(--eko-font);color:rgba(17,17,17,.45);text-align:left;cursor:pointer}
.ml-hero-numeros button.is-active{color:var(--ml-preto);font-weight:500;border-bottom-color:var(--ml-preto)}
@media (max-width:767px){
    .ml-hero:not(.ml-hero-padrao){height:auto}
    .ml-hero:not(.ml-hero-padrao) .ml-hero-slides{height:auto}
    .ml-hero-slide{position:relative;display:none}
    .ml-hero-slide.is-active{display:block}
    .ml-hero-media,.ml-hero-media img{height:auto;aspect-ratio:900/567}
    .ml-hero-veu{display:none}
    .ml-hero-conteudo{position:static;max-width:none;padding:26px 20px 34px;background:#fff}
    .ml-hero-kicker{margin-bottom:14px}
    .ml-hero-titulo{font-size:40px}
    .ml-hero-etiquetas{display:none}
    .ml-hero-legenda{bottom:auto;top:calc(100vw * 567 / 900 - 60px);right:16px;font-size:10px}
    .ml-hero-numeros{position:static;padding:0 20px 24px}
}

/* ---------------------------------------------------------------- pesquisa (maqueta do Gil, 2026-10-12): painel por baixo do cabeçalho */
.eko-search-wrap{left:50%;right:auto;transform:translateX(-50%);width:min(1380px,calc(100vw - 48px));top:100%;padding:28px 40px 22px;border:0;border-radius:8px;box-shadow:0 24px 60px rgba(0,0,0,.18);max-height:calc(100vh - 100px);overflow-y:auto}
.eko-search-wrap .eko-search{position:relative;max-width:none;margin:0 30px 0 0;display:block;border:0;background:none;padding:0}
.eko-search-wrap .eko-search input[name=q]{width:100%;height:54px;border:1px solid #d9d9d9;border-radius:2px;background:#fff;padding:0 50px 0 62px;font:400 22px/1 var(--eko-font-serif);color:var(--ml-preto)}
.eko-search-wrap .eko-search input[name=q]::placeholder{color:#8a8a8a}
.eko-search-wrap .eko-search input[name=q]:focus{outline:none;border-color:var(--ml-preto)}
.eko-search-wrap .eko-search button[type=submit]{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:32px;height:32px;border:0;background:none;color:var(--ml-preto);display:flex;align-items:center;justify-content:center;padding:0}
.eko-search-wrap .eko-search button[type=submit] svg{width:22px;height:22px;stroke-width:1.6}
.eko-search-wrap .eko-search-clear{position:absolute;right:12px;top:50%;transform:translateY(-50%)}
.ml-pesquisa-fechar{position:absolute;top:14px;right:14px;width:32px;height:32px;border:0;background:none;color:var(--ml-preto);display:flex;align-items:center;justify-content:center;cursor:pointer}
.ml-pesquisa-fechar svg{width:18px;height:18px;stroke-width:1.6}
body.ml-pesquisa-aberta::after{content:"";position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:65}
/* Travar o scroll com a pesquisa aberta tem de ser no <html>, NUNCA no <body> (2026-10-13): como o html tem
   overflow-x:hidden, é ele o contentor que faz scroll; pôr overflow:hidden no body torna o body um contentor
   próprio sem scroll e o cabeçalho deixa de ser sticky — com a página a meio, o painel da pesquisa subia para
   fora do ecrã. O scrollbar-gutter evita o salto de ~15 px ao travar. js/museu.js põe a classe nos dois. */
html{scrollbar-gutter:stable}
html.ml-pesquisa-aberta{overflow-y:hidden}
.eko-search-mobile-toggle.ml-acao{padding:6px 8px;border-radius:4px;transition:background .15s ease}
.eko-search-mobile-toggle.ml-acao.is-ativo{background:var(--ml-cinza-2)}

.ml-pesquisa-inicial h4{font:500 12px/1 var(--eko-font);letter-spacing:.12em;text-transform:uppercase;color:var(--ml-preto);margin:0 0 18px}
.ml-pesquisa-topo{display:grid;grid-template-columns:280px minmax(0,1fr);gap:0;margin-top:30px;padding-bottom:28px;border-bottom:1px solid var(--eko-border)}
.ml-pesquisa-populares{padding-right:30px;border-right:1px solid var(--eko-border)}
.ml-pesquisa-populares ul{list-style:none;margin:0;padding:0}
.ml-pesquisa-populares button{display:flex;align-items:center;gap:20px;width:100%;padding:6px 0;border:0;background:none;color:var(--ml-preto);font:400 18px/1.3 var(--eko-font-serif);text-align:left;cursor:pointer}
.ml-pesquisa-populares button svg{width:17px;height:17px;stroke-width:1.6;flex:none}
.ml-pesquisa-populares button:hover span{text-decoration:underline;text-underline-offset:3px}
.ml-pesquisa-produtos{padding-left:50px;min-width:0}
.ml-pesquisa-produtos ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}
.ml-pesquisa-produtos li{position:relative}
.ml-pesquisa-produto{display:block;color:var(--ml-preto);text-decoration:none}
.ml-pesquisa-produto-media{display:block;aspect-ratio:1/1;background:#f5f5f5;margin-bottom:14px;overflow:hidden}
.ml-pesquisa-produto-media img{width:100%;height:100%;object-fit:contain}
.ml-pesquisa-produto-nome{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font:400 13px/1.35 var(--eko-font);padding:0 14px;min-height:2.7em}
.ml-pesquisa-produto-preco{display:block;font:700 15px/1 var(--eko-font);padding:12px 14px 0}
.ml-pesquisa-produto:hover .ml-pesquisa-produto-nome{text-decoration:underline}
.ml-pesquisa-fav{position:absolute;top:10px;right:10px;border:0!important;background:transparent!important}
.ml-pesquisa-base{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:0;padding-top:26px}
.ml-pesquisa-temas{padding-right:40px;border-right:1px solid var(--eko-border)}
.ml-pesquisa-temas ul{list-style:none;margin:0;padding:0;display:flex;gap:10px;justify-content:space-between;max-width:620px}
.ml-pesquisa-temas a{display:flex;flex-direction:column;align-items:center;gap:12px;min-width:90px;padding:6px 4px;color:var(--ml-preto);text-decoration:none;font:400 13px/1.2 var(--eko-font);text-align:center}
.ml-pesquisa-temas svg{width:30px;height:30px}
.ml-pesquisa-temas a:hover span{text-decoration:underline}
.ml-pesquisa-promo{position:relative;display:flex;align-items:center;min-height:150px;margin-left:54px;color:var(--ml-preto);text-decoration:none;overflow:hidden}
.ml-pesquisa-promo-texto{position:relative;z-index:1;display:flex;flex-direction:column;gap:12px;max-width:58%}
.ml-pesquisa-promo-kicker{font:500 11px/1 var(--eko-font);letter-spacing:.12em;text-transform:uppercase;color:#6b6b6b}
.ml-pesquisa-promo-titulo{font:400 26px/1.15 var(--eko-font-serif)}
.ml-pesquisa-promo .ml-link-seta{font-size:11px;margin-top:4px}
.ml-pesquisa-promo-img{position:absolute;top:0;right:0;bottom:0;width:52%;background:url("../../../images/cfp/legado.webp") center/cover no-repeat;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 40%);mask-image:linear-gradient(90deg,transparent 0,#000 40%)}

/* com texto escrito (2+ letras): saem os blocos iniciais e entram os resultados ao vivo do template, dentro do painel */
.eko-search-wrap.is-open .ml-pesquisa-inicial{display:none}
.eko-search-wrap .eko-search-panel{position:static;width:100%;max-width:none;margin-top:22px;border:0;box-shadow:none}
/* resultados ao vivo: sem marcas no museu; a coluna de categorias só aparece quando há categorias encontradas */
.eko-search-panel .eko-search-section-head:has(#eko-search-marcas-link),#eko-search-marcas{display:none!important}
.eko-search-panel-side:has(.eko-search-empty){display:none}
.eko-search-panel-side{background:#fff;border-right:1px solid var(--eko-border)}
.eko-search-panel h4{font:500 12px/1 var(--eko-font);letter-spacing:.12em;text-transform:uppercase;color:var(--ml-preto)}
.eko-search-products .eko-search-fav{border:0;background:none}
.eko-search-panel-footer{background:var(--ml-cinza-1);font:500 12px/1 var(--eko-font);letter-spacing:.08em;text-transform:uppercase}

@media (max-width:1100px){
    .ml-pesquisa-produtos ul{grid-template-columns:repeat(4,minmax(0,1fr))}
    .ml-pesquisa-produtos li:nth-child(5){display:none}
    .ml-pesquisa-base{grid-template-columns:1fr}
    .ml-pesquisa-temas{border-right:0;padding-right:0}
    .ml-pesquisa-promo{margin:24px 0 0}
}
@media (max-width:767px){
    .eko-search-wrap{width:100vw;border-radius:0;padding:18px 16px 18px;max-height:calc(100vh - 60px)}
    .eko-search-wrap .eko-search{margin-right:34px}
    .eko-search-wrap .eko-search input[name=q]{height:48px;font-size:17px;padding-left:50px}
    .ml-pesquisa-fechar{top:26px;right:10px}
    .ml-pesquisa-topo{grid-template-columns:1fr;margin-top:20px}
    .ml-pesquisa-populares{border-right:0;padding-right:0;margin-bottom:22px}
    .ml-pesquisa-populares ul{display:grid;grid-template-columns:1fr 1fr}
    .ml-pesquisa-populares button{font-size:16px;gap:10px}
    .ml-pesquisa-produtos{padding-left:0}
    .ml-pesquisa-produtos ul{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
    .ml-pesquisa-produtos li:nth-child(n+4){display:none}
    .ml-pesquisa-temas ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 8px}
    .ml-pesquisa-temas a{min-width:0;width:auto;font-size:12px}
    .ml-pesquisa-promo{display:none}
}

/* ---------------------------------------------------------------- fotografias ORIGINAIS (2026-10-13): voltaram a ser quadradas (1000x1000) e com fundo proprio,
   por isso as molduras passaram todas a 1:1 e sem o cinzento que se usava quando as fotografias eram 3:4 tratadas. */
.eko-product-card .eko-product-media,.eko-related-card .eko-product-media,.ml-cartao-media{aspect-ratio:1/1;background:transparent}
.eko-pd-gallery .eko-pd-main-media{aspect-ratio:1/1;background:transparent}
.eko-pd-thumbs li{width:84px;height:84px}
.eko-pd-thumbs li img{background:transparent}
.eko-cart-item-media,.ml-adicionado-media{background:transparent}
.ml-adicionado-media{aspect-ratio:1/1}

/* ---------------------------------------------------------------- telemóvel e tablet (etapas 2-5) */
@media (max-width:1100px){
    .ml-footer-top{grid-template-columns:repeat(3,minmax(0,1fr))}
    .ml-footer-marca{grid-column:1/-1}
    .ml-carrossel-lista{grid-auto-columns:calc(100% / 4)}
    .eko-related-grid{grid-auto-columns:calc(100% / 4)}
}
@media (max-width:900px){
    .eko-pd-tab-content.eko-pd-tab-content-real{grid-template-columns:minmax(0,1fr);gap:24px}
    .eko-pd-tabs .eko-tabs{gap:22px;overflow-x:auto}
    .ml-destaque-grelha{grid-template-columns:repeat(3,minmax(0,1fr))}
    .eko-pd-top{grid-template-columns:minmax(0,1fr);gap:26px}
    .ml-contactos-grid{grid-template-columns:1fr;gap:40px}
    .ml-adicionado-caixa{grid-template-columns:1fr;gap:18px;padding:28px 22px 26px}
    .ml-adicionado-media{aspect-ratio:auto;height:200px}
}
@media (max-width:767px){
    .ml-hero{height:clamp(260px,70vw,420px)}
    .ml-destaque-topo{align-items:flex-start;flex-direction:column;gap:10px;margin-bottom:16px}
    .ml-destaque-grelha{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
    .ml-dest-cartao{padding:12px 10px 16px}
    .ml-dest-info{padding:0}
    .ml-dest-linha{gap:6px}
    .ml-dest-preco{font-size:15px}
    .ml-dest-add{width:34px;height:34px}
    .ml-carrossel-lista{grid-auto-columns:calc(100% / 2)}
    .eko-related-grid{grid-auto-columns:calc(100% / 2)}
    .ml-carrossel-seta{display:none}
    .ml-newsletter-inner{flex-direction:column;align-items:stretch;gap:16px}
    .ml-newsletter-form{flex:1 1 auto}
    .ml-footer-top{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px}
    .ml-footer-contactos{grid-column:1/-1}
    .ml-footer-bottom{flex-direction:column;align-items:flex-start}
    .ml-footer-bottom li:first-child{padding-left:0}
    .eko-pd-gallery:has(.eko-pd-thumbs){grid-template-columns:1fr}
    .eko-pd-gallery .eko-pd-thumbs{order:3;flex-direction:row;overflow-x:auto}
    .eko-pd-thumbs li{width:64px;height:64px}
    .eko-pd-info .eko-product-stock{align-self:flex-start;margin-top:8px;text-align:left;justify-content:flex-start}
    .eko-pd-relacionados .eko-section-head{flex-direction:row;align-items:center;text-align:left}
    .eko-pd-relacionados .eko-section-head h2{font-size:12px;letter-spacing:.1em}
    .eko-product-card{padding:12px 10px 16px}
}

/* ---------------------------------------------------------------- listagem (pedido do Gil, 2026-10-13)
   Sem o fundo cinzento por tras da fotografia (as fotografias originais ja trazem o seu), 4 cartoes por linha
   e o botao de adicionar reduzido a icone, ao lado do preco (como nos cartoes da pagina inicial). */
.eko-product-card{text-align:left}
.eko-product-card .eko-product-media{background:transparent}
.eko-product-card .eko-product-name{text-align:left;font:500 14px/1.4 var(--eko-font)}
.eko-product-card .eko-product-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:6px}
.eko-product-card .eko-product-price{justify-content:flex-start;margin:0;font-size:16px}
.eko-product-card .eko-btn-add{display:inline-flex;align-items:center;justify-content:center;flex:none;width:38px;height:38px;min-height:0;margin:0;padding:0;border:1px solid var(--ml-preto);border-radius:50%;background:#fff;color:var(--ml-preto);font-size:0;letter-spacing:0;gap:0}
.eko-product-card .eko-btn-add svg{width:17px;height:17px;stroke-width:1.6}
.eko-product-card .eko-btn-add:hover:not(:disabled){background:var(--ml-preto);color:#fff}
.eko-product-card .eko-btn-add:disabled{opacity:.3;cursor:not-allowed}

/* ---------------------------------------------------------------- ficha de produto: separadores e ficha tecnica (desenho do Gil, 2026-10-14) */
.ml-pd-abas button{cursor:pointer}
.eko-pd-tab-content[hidden]{display:none}
.ml-painel-extra{margin-top:0}
.ml-ficha{width:100%;border-collapse:collapse;font:400 13px/1.6 var(--eko-font);color:var(--ml-preto);align-self:start}
.ml-ficha th{width:42%;text-align:left;font-weight:400;color:var(--ml-cinza-texto);padding:7px 12px 7px 0;vertical-align:top;border-bottom:1px solid var(--eko-border)}
.ml-ficha td{padding:7px 0;vertical-align:top;border-bottom:1px solid var(--eko-border)}
.ml-ficha tr:last-child th,.ml-ficha tr:last-child td{border-bottom:0}
.ml-ficha-dummy{color:var(--ml-santo-antonio);font-weight:700}
@media (max-width:767px){
    .ml-ficha{margin-top:18px}
    .ml-ficha th{width:46%}
}

/* =====================================================================================================================
   CASA FERNANDO PESSOA — identidade da maqueta da página inicial (Gil, 2026-10-14)
   Este bloco vem DEPOIS de tudo o que foi herdado da Casa Fernando Pessoa e é ele que manda.
   Letras: títulos em Playfair Display (a marca usa Tiempos, que é comercial — ver registo);
           texto corrido em Open Sans, a letra do Manual de Normas da Casa.
   ===================================================================================================================== */
@font-face{font-family:"Open Sans";font-style:normal;font-weight:300 800;font-display:swap;src:url('../fonts/open-sans-var.woff2') format('woff2')}

:root{
    --eko-font:"Open Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
    --eko-font-serif:"Playfair Display",Georgia,"Times New Roman",serif;
    --eko-font-script:"Playfair Display",Georgia,serif;
    --cfp-preto:#111111;
    --cfp-cinza:#6e6e6e;
    --cfp-filete:#e3e2df;
    --cfp-media:#f4f3f1;
}

body.eko-body{background:#fff}

/* ---------------------------------------------------------------- peças comuns da maqueta */
.cfp-kicker{margin:0;font:600 11px/1 var(--eko-font);letter-spacing:.14em;text-transform:uppercase;color:var(--cfp-preto)}
.cfp-link{display:inline-flex;align-items:center;gap:14px;font:600 11px/1 var(--eko-font);letter-spacing:.14em;text-transform:uppercase;color:var(--cfp-preto);text-decoration:none}
.cfp-link span,.cfp-link>:first-child:not(svg){border-bottom:1px solid var(--cfp-preto);padding-bottom:3px}
.cfp-link svg{width:30px;height:10px;flex:none;stroke-width:1.2}
.cfp-link:hover{color:#000;opacity:.7}
h1,h2,h3{font-family:var(--eko-font-serif);font-weight:400;color:var(--cfp-preto)}

/* ---------------------------------------------------------------- cabeçalho */
.eko-header-sticky{background:#fff;border-bottom:0}
.eko-header-sticky.is-scrolled{border-bottom:1px solid var(--cfp-filete)}
.eko-header-main{min-height:92px;height:auto;padding:16px 0;gap:36px}

.ml-logo{display:flex;align-items:flex-end;gap:0;color:var(--cfp-preto);text-decoration:none}
.ml-logo-nome{font:400 17px/1.02 var(--eko-font-serif);text-transform:uppercase;letter-spacing:.005em;white-space:nowrap}
.ml-logo-loja{display:flex;align-items:center;gap:12px;margin-left:12px;padding-bottom:1px;font:400 15px/1 var(--eko-font-serif);text-transform:uppercase;letter-spacing:.07em;white-space:nowrap}
.ml-logo-loja i{display:block;width:30px;height:1px;background:currentColor}
.eko-logo{text-decoration:none}

.ml-menu>ul{gap:34px;align-items:center}
.ml-menu>ul>li>a{font:400 14px/1 var(--eko-font);letter-spacing:0;text-transform:none;color:#2b2b2b;border-bottom:0;padding:0}
.ml-menu>ul>li>a:hover,.ml-menu>ul>li.is-active>a{color:var(--cfp-preto);border-bottom:0;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}

.eko-header-actions{gap:24px;align-items:center}
.eko-header-actions [data-eko-fav-trigger]{display:inline-flex}      /* a maqueta tem o coração no cabeçalho */
.eko-action-cart [data-eko-cart-total]{display:none}                 /* na maqueta o carrinho só tem o número */
.eko-action-cart{gap:0}
.ml-acao{font:400 14px/1 var(--eko-font);gap:9px}
.ml-acao svg,.eko-action svg{width:21px;height:21px;stroke-width:1.4}
.eko-cart-badge{background:var(--cfp-preto);color:#fff;font:600 10px/1 var(--eko-font)}
.ml-lang>svg{display:none}
.ml-lang{gap:0}
.ml-lang div.mod-languages ul{display:flex;gap:16px}
.ml-lang div.mod-languages ul li:not(.lang-active){display:block;position:static;min-width:0;background:none;border:0;box-shadow:none}
.ml-lang a{font:400 12px/1 var(--eko-font);letter-spacing:.1em;text-transform:uppercase;color:#9a9a9a}
.ml-lang .lang-active a,.ml-lang a:hover{color:var(--cfp-preto)}

/* ---------------------------------------------------------------- 1. herói */
.cfp-hero{display:grid;grid-template-columns:minmax(0,46fr) minmax(0,54fr);align-items:center;gap:40px;padding:34px 0 46px}
.cfp-hero-texto{display:grid;grid-template-columns:auto minmax(0,1fr);gap:34px;padding-left:max(24px,calc((100vw - 1280px) / 2 + 48px))}
.cfp-hero-aside{display:flex;flex-direction:column;align-items:flex-start;gap:26px;padding-top:6px}
.cfp-hero-filete{display:block;width:1px;height:132px;background:var(--cfp-preto);margin-left:7px}
.cfp-hero-citacao{writing-mode:vertical-rl;transform:rotate(180deg);margin:0;font:italic 400 12px/1.9 var(--eko-font-serif);color:#2f2f2f;letter-spacing:.01em}
.cfp-hero-citacao cite{font-style:italic;font-size:11px;color:#5a5a5a}
.cfp-hero h1{margin:0;font-size:clamp(40px,4.6vw,62px);line-height:1.04;letter-spacing:-.012em}
.cfp-hero-sub{margin:26px 0 0;font:400 17px/1.5 var(--eko-font-serif);color:#2b2b2b}
.cfp-hero .cfp-link{margin-top:34px}
.cfp-hero-foto{align-self:stretch}
.cfp-hero-foto img{display:block;width:100%;height:100%;min-height:330px;max-height:430px;object-fit:cover}

/* ---------------------------------------------------------------- 2. categorias */
.cfp-categorias{padding:26px 0 10px}
.cfp-cat-nomes{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:22px 0 24px;border-top:1px solid var(--cfp-filete);border-bottom:1px solid var(--cfp-filete)}
.cfp-cat-nomes ul{display:flex;flex-wrap:wrap;gap:40px;list-style:none;margin:0;padding:0}
.cfp-cat-nomes a{font:400 15px/1 var(--eko-font-serif);color:var(--cfp-preto);text-decoration:none}
.cfp-cat-nomes a:hover{text-decoration:underline;text-underline-offset:5px}
.cfp-cat-grelha{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:24px;list-style:none;margin:26px 0 0;padding:0}
.cfp-cat-grelha a{display:block;text-decoration:none;color:var(--cfp-preto)}
.cfp-cat-media{display:block;background:var(--cfp-media);overflow:hidden}
.cfp-cat-media img{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover;filter:grayscale(1);transition:transform .4s ease}
.cfp-cat-grelha a:hover .cfp-cat-media img{transform:scale(1.04)}
.cfp-cat-nome{display:block;margin-top:12px;font:400 14px/1.3 var(--eko-font);color:#2b2b2b}

/* ---------------------------------------------------------------- cartões de produto (destaques e novidades) */
.cfp-cartao{display:flex;flex-direction:column}
.cfp-cartao-media{display:block;background:var(--cfp-media);overflow:hidden}
.cfp-cartao-media img{display:block;width:100%;aspect-ratio:4 / 5;object-fit:contain;mix-blend-mode:multiply;transition:transform .4s ease}
.cfp-cartao:hover .cfp-cartao-media img{transform:scale(1.03)}
.cfp-cartao-nome{margin-top:14px;font:600 13px/1.4 var(--eko-font);color:var(--cfp-preto);text-decoration:none}
.cfp-cartao-nome:hover{text-decoration:underline;text-underline-offset:3px}
.cfp-cartao-cat{margin:3px 0 0;font:400 12px/1.4 var(--eko-font);color:var(--cfp-cinza)}
.cfp-cartao-linha{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}
.cfp-cartao-preco{font:400 14px/1 var(--eko-font);color:var(--cfp-preto)}
.cfp-cartao-botoes{display:flex;align-items:center;gap:10px}
.cfp-cartao-fav,.cfp-cartao-add{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;background:none;border:0;color:var(--cfp-preto);cursor:pointer}
.cfp-cartao-fav svg,.cfp-cartao-add svg{width:18px;height:18px;stroke-width:1.4}
.cfp-cartao-fav.is-active svg{fill:var(--cfp-preto)}
.cfp-cartao-add{opacity:0;transition:opacity .2s ease}
.cfp-cartao:hover .cfp-cartao-add,.cfp-cartao-add:focus-visible{opacity:1}

/* ---------------------------------------------------------------- 3. produtos em destaque */
.cfp-destaques{padding:54px 0 10px}
.cfp-destaques-inner{display:grid;grid-template-columns:minmax(0,255px) minmax(0,1fr);gap:46px;align-items:start}
.cfp-destaques-texto h2{margin:20px 0 0;font-size:clamp(30px,2.9vw,40px);line-height:1.08;letter-spacing:-.01em}
.cfp-destaques-texto .cfp-link{margin-top:30px}
.cfp-destaques-grelha{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px}

/* ---------------------------------------------------------------- 4. mais do que uma loja */
.cfp-legado{padding:64px 0 10px}
.cfp-legado-inner{display:grid;grid-template-columns:minmax(0,42fr) minmax(0,37fr) minmax(0,21fr);gap:46px;align-items:center}
.cfp-legado-foto img{display:block;width:100%;aspect-ratio:1.98 / 1;object-fit:cover}
.cfp-legado-texto h2{margin:18px 0 0;font-size:clamp(28px,2.7vw,38px);line-height:1.1;letter-spacing:-.01em}
.cfp-legado-texto p{margin:20px 0 0;font:400 14px/1.75 var(--eko-font);color:#3a3a3a;max-width:44ch}
.cfp-legado-texto .cfp-link{margin-top:26px}
.cfp-legado-citacao{margin:0;padding-left:40px;border-left:1px solid var(--cfp-filete);font:400 17px/1.5 var(--eko-font-serif);color:var(--cfp-preto)}
.cfp-legado-citacao cite{display:block;margin-top:16px;font:400 12px/1 var(--eko-font);font-style:normal;color:var(--cfp-cinza)}

/* ---------------------------------------------------------------- 5. novidades */
.cfp-novidades{padding:60px 0 20px}
.cfp-novidades-topo{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}
.cfp-novidades-grelha{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:22px}
.cfp-novidades .cfp-cartao-cat{display:none}

/* ---------------------------------------------------------------- newsletter */
.cfp-newsletter{padding:66px 0 54px}
.cfp-newsletter-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:60px;align-items:center}
.cfp-newsletter h2{margin:18px 0 0;font-size:clamp(28px,2.8vw,38px);line-height:1.12;letter-spacing:-.01em}
.cfp-newsletter-form{margin:0;padding-left:60px;border-left:1px solid var(--cfp-filete)}
.cfp-newsletter-campo{display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--cfp-preto);padding-bottom:12px}
.cfp-newsletter-campo input[type=email]{flex:1 1 auto;min-width:0;border:0;background:none;padding:0;font:400 15px/1.4 var(--eko-font);color:var(--cfp-preto)}
.cfp-newsletter-campo input[type=email]:focus{outline:0}
.cfp-newsletter-campo input[type=email]::placeholder{color:#8f8f8f}
.cfp-newsletter-campo button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:26px;padding:0;background:none;border:0;color:var(--cfp-preto);cursor:pointer}
.cfp-newsletter-campo button svg{width:30px;height:10px;stroke-width:1.2}
.cfp-newsletter-nota{margin:14px 0 0;font:400 12px/1.6 var(--eko-font);color:var(--cfp-cinza)}
.cfp-newsletter-nota a{color:var(--cfp-cinza);text-decoration:underline}
.ml-armadilha{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}

/* ---------------------------------------------------------------- rodapé (claro, como na maqueta) */
.eko-footer.cfp-footer{background:#fff;color:var(--cfp-preto);border-top:1px solid var(--cfp-filete);padding:0}
.cfp-footer a{color:#2b2b2b;text-decoration:none}
.cfp-footer a:hover{color:#000;text-decoration:underline;text-underline-offset:4px}
.cfp-footer-topo{display:grid;grid-template-columns:minmax(0,230px) minmax(0,1fr) auto;gap:40px;align-items:center;padding:40px 24px 34px}
.cfp-footer-marca{display:block}
.cfp-footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:40px;list-style:none;margin:0;padding:0;font:400 13px/1 var(--eko-font)}
.cfp-footer-sociais{display:flex;align-items:center;gap:20px;list-style:none;margin:0;padding:0}
.cfp-footer-sociais a{display:inline-flex;color:var(--cfp-preto)}
.cfp-footer-sociais svg{width:19px;height:19px}
.cfp-footer-baixo{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 24px;border-top:1px solid var(--cfp-filete);font:400 12px/1.5 var(--eko-font);color:#5c5c5c}
.cfp-footer-baixo p{margin:0}
.cfp-footer-assinatura{font-style:italic;font-family:var(--eko-font-serif);font-size:13px;color:#3a3a3a}
.cfp-footer-legal{padding:0 24px 26px}
.cfp-footer-legal ul{display:flex;flex-wrap:wrap;gap:22px;list-style:none;margin:0;padding:0;font:400 11px/1.5 var(--eko-font);color:#8d8d8d}
.cfp-footer-legal a{color:#8d8d8d}

/* ---------------------------------------------------------------- telemóvel e tablet */
@media (max-width:1100px){
    .cfp-cat-grelha{grid-template-columns:repeat(3,minmax(0,1fr))}
    .cfp-novidades-grelha{grid-template-columns:repeat(3,minmax(0,1fr))}
    .cfp-destaques-inner{grid-template-columns:1fr;gap:28px}
    .cfp-legado-inner{grid-template-columns:1fr 1fr;gap:32px}
    .cfp-legado-citacao{grid-column:1 / -1;padding:22px 0 0;border-left:0;border-top:1px solid var(--cfp-filete)}
}
@media (max-width:900px){
    .cfp-hero{grid-template-columns:1fr;gap:26px;padding:18px 0 30px}
    .cfp-hero-texto{padding:0 24px}
    .cfp-hero-aside{display:none}
    .cfp-hero-foto img{min-height:240px;max-height:300px}
    .cfp-destaques-grelha{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
    .cfp-newsletter-inner{grid-template-columns:1fr;gap:26px}
    .cfp-newsletter-form{padding-left:0;border-left:0}
    .cfp-footer-topo{grid-template-columns:1fr;justify-items:center;text-align:center;gap:26px}
    .cfp-footer-links{justify-content:center;gap:22px}
    .cfp-footer-baixo{flex-direction:column;text-align:center;gap:8px}
    .cfp-footer-legal ul{justify-content:center}
    .ml-logo{align-items:flex-end}
    .ml-logo-nome{font-size:14px}
    .ml-logo-loja{font-size:12px;margin-left:9px}
    .ml-logo-loja i{width:20px}
}
@media (max-width:620px){
    .cfp-cat-grelha{grid-template-columns:repeat(2,minmax(0,1fr))}
    .cfp-novidades-grelha{grid-template-columns:repeat(2,minmax(0,1fr))}
    .cfp-cat-nomes{flex-direction:column;align-items:flex-start;gap:16px}
    .cfp-cat-nomes ul{gap:18px}
    .cfp-legado-inner{grid-template-columns:1fr}
}

/* ---------------------------------------------------------------- acertos depois das primeiras capturas (2026-10-14) */
.eko-action-user .ml-lbl{display:none}                                   /* na maqueta a conta é só o ícone */
.cfp-cat-grelha{grid-template-columns:repeat(var(--cfp-cols,6),minmax(0,1fr))}
/* os atributos width/height do <img> contam como altura fixa: sem height:auto a proporção não se aplica */
.cfp-cartao-media img,.cfp-cat-media img,.cfp-hero-foto img,.cfp-legado-foto img{height:auto}
.cfp-cartao-media img{aspect-ratio:1 / 1;object-fit:contain}             /* as fotografias do catálogo são quadradas */
.cfp-cat-media img{aspect-ratio:4 / 3;object-fit:contain;filter:grayscale(1)}
.cfp-hero-foto img{height:100%}
.cfp-hero-texto{gap:72px}                                                /* afasta a citação do título, como na maqueta */
.cfp-cat-media img{object-fit:cover}                                     /* as miniaturas enchem a moldura, como na maqueta */
.cfp-hero h1{font-size:clamp(40px,5.2vw,70px)}

/* ---------------------------------------------------------------- acertos de telemóvel (2026-10-14) */
.cfp-cat-grelha{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}  /* adapta-se sozinha ao número de categorias e à largura */
@media (max-width:900px){
    .eko-header-main{min-height:62px;height:auto;padding:10px 0;gap:12px;flex-wrap:nowrap}
    .eko-header-actions{gap:16px}
    .cfp-cat-grelha{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:16px}
    .cfp-destaques-texto h2,.cfp-legado-texto h2,.cfp-newsletter h2{font-size:clamp(26px,7vw,34px)}
}
@media (max-width:620px){
    .cfp-cat-grelha{grid-template-columns:repeat(2,minmax(0,1fr))}
    .cfp-cat-nome{font-size:13px}
}

/* ---------------------------------------------------------------- paleta: a Casa é a preto e branco (2026-10-14)
   O clone trazia as cores dos núcleos da Casa Fernando Pessoa espalhadas pelo interface (filtros a azul,
   preço a ocre, visto do carrinho a verde). Ficam todas a preto; só o vermelho de erro/esgotado se mantém. */
:root{
    --ml-torreao-poente:#111111;
    --ml-teatro-romano:#111111;
    --ml-palacio-pimenta:#111111;
    --ml-santo-antonio:#a32020;
    --ml-casa-dos-bicos:#8c8c8c;
    --ml-fabrica-moagem:#111111;
    --ml-preto:#111111;
}
.ml-kicker{color:var(--cfp-preto)}
.eko-prod-pagination-pages button.is-active{font-weight:600}

/* ---------------------------------------------------------------- margens laterais (2026-10-14)
   A maqueta respira mais nas margens do que o template de origem (≈4,7% da largura contra 24px fixos).
   NOTA: o .eko-header-main tinha ficado sem margem lateral nenhuma por causa do «padding:16px 0» acima. */
.eko-container{padding-left:clamp(20px,3.2vw,40px);padding-right:clamp(20px,3.2vw,40px)}
.eko-header-main{padding:16px clamp(20px,3.2vw,40px)}
.cfp-hero-texto{padding-left:max(clamp(20px,3.2vw,40px),calc((100vw - 1280px) / 2 + 40px))}
.cfp-footer-topo{padding-left:clamp(20px,3.2vw,40px);padding-right:clamp(20px,3.2vw,40px)}
.cfp-footer-baixo,.cfp-footer-legal{padding-left:clamp(20px,3.2vw,40px);padding-right:clamp(20px,3.2vw,40px)}

/* ---------------------------------------------------------------- largura total (pedido do Gil, 2026-10-15)
   O contentor da família travava em 1280 px e deixava faixas brancas nos ecrãs largos.
   Agora o conteúdo ocupa a largura toda, com margens laterais que crescem com o ecrã. */
/* só as margens laterais: o padding curto apagava as verticais do rodapé (todas as faixas são .eko-container) */
.eko-container{max-width:none;width:100%;padding-left:clamp(20px,3.2vw,56px);padding-right:clamp(20px,3.2vw,56px)}
.eko-header-main{max-width:none;padding:16px clamp(20px,3.2vw,56px)}
.cfp-hero-texto{padding-left:clamp(20px,3.2vw,56px)}
.cfp-footer-topo,.cfp-footer-baixo,.cfp-footer-legal{padding-left:clamp(20px,3.2vw,56px);padding-right:clamp(20px,3.2vw,56px)}

/* =====================================================================================================================
   CABEÇALHO IGUAL AO DO SITE NOVO DA CASA (pedido do Gil, 2026-10-15)
   Referência: https://thisislove2.dev/cfp2026/agenda.html — cabeçalho fixo e transparente que,
   ao rolar, ganha fundo translúcido com desfoque e encolhe o logótipo (escondendo a legenda
   «museu de literatura»). Letras e cores são as de lá: Tiempos Text, Public Sans e o vermelho #C33E3F.
   As ligações e os ícones são os NOSSOS (loja), como pedido.
   ===================================================================================================================== */
@font-face{font-family:"Tiempos";src:url('../fonts/TiemposText-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Tiempos";src:url('../fonts/TiemposText-RegularItalic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Tiempos";src:url('../fonts/TiemposText-Semibold.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Tiempos";src:url('../fonts/TiemposText-SemiboldItalic.woff2') format('woff2');font-weight:600;font-style:italic;font-display:swap}
@font-face{font-family:"Public Sans";src:url('../fonts/public-sans-var.woff2') format('woff2');font-weight:300 800;font-style:normal;font-display:swap}
@font-face{font-family:"Public Sans";src:url('../fonts/public-sans-var-italic.woff2') format('woff2');font-weight:300 800;font-style:italic;font-display:swap}

:root{
    --eko-font:"Public Sans","Helvetica Neue",Arial,sans-serif;
    --eko-font-serif:"Tiempos","Times New Roman",Georgia,serif;
    --eko-font-script:"Tiempos","Times New Roman",Georgia,serif;
    --cfp-vermelho:#C33E3F;
    --cfp-gutter:clamp(1.25rem,4vw,4rem);
    --cfp-ease:cubic-bezier(.19,1,.22,1);
    --cfp-header-altura:156px;
}

/* o cabeçalho é fixo: o conteúdo desce o equivalente à sua altura inicial */
body.eko-body{padding-top:var(--cfp-header-altura)}

.eko-header-sticky{position:fixed;inset:0 0 auto 0;z-index:100;background:transparent;border-bottom:0;box-shadow:none;transition:background .4s,box-shadow .4s,padding .4s}
.eko-header-sticky.is-scrolled{background:color-mix(in srgb,#fff 88%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 1px 0 color-mix(in srgb,var(--cfp-preto) 12%,transparent);border-bottom:0}
.eko-header-main{display:flex;align-items:center;justify-content:space-between;gap:2rem;max-width:none;width:100%;min-height:0;height:auto;padding:1.1rem var(--cfp-gutter)}
.eko-header-sticky.is-scrolled .eko-header-main{padding-block:.7rem}

/* logótipo e lado direito com a mesma largura, para o menu ficar ao centro */
.eko-logo{flex:1 1 0;display:flex;margin-top:10px;transition:margin-top .4s var(--cfp-ease)}
.eko-logo svg{height:110px;width:auto;display:block;transition:height .4s var(--cfp-ease)}
.eko-header-sticky.is-scrolled .eko-logo{margin-top:0}
.eko-header-sticky.is-scrolled .eko-logo svg{height:64px}
.eko-header-sticky.is-scrolled .eko-logo svg #museu{display:none}

/* menu: maiúsculas, com um ponto vermelho entre cada ligação e sublinhado a crescer */
.ml-menu{flex:0 0 auto;align-self:center}
.ml-menu>ul{--cfp-nav-gap:clamp(1.4rem,2.4vw,2.4rem);display:flex;align-items:center;gap:var(--cfp-nav-gap)}
.ml-menu>ul>li{position:relative;display:block}
.ml-menu>ul>li+li::before{content:'\2022';position:absolute;left:calc(var(--cfp-nav-gap) / -2);top:50%;transform:translate(-50%,-50%);color:var(--cfp-vermelho);font-size:1.05em;line-height:1}
.ml-menu>ul>li>a{display:inline-flex;align-items:center;gap:.45em;position:relative;padding-block:.35em;font:600 .85rem/1 var(--eko-font);letter-spacing:.08em;text-transform:uppercase;color:var(--cfp-preto);text-decoration:none;border:0}
.ml-menu>ul>li>a::after{content:'';position:absolute;left:0;bottom:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .4s var(--cfp-ease)}
.ml-menu>ul>li>a:hover::after,.ml-menu>ul>li.is-active>a::after{transform:scaleX(1);transform-origin:left}
.ml-menu>ul>li>a:hover,.ml-menu>ul>li.is-active>a{text-decoration:none}

/* lado direito: os ícones da loja em botões redondos, como o da pesquisa do site novo */
.eko-header-actions{flex:1 1 0;display:flex;align-items:center;justify-content:flex-end;gap:.9rem}
.eko-header-actions .ml-acao,.eko-header-actions .eko-action{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;color:var(--cfp-preto);transition:color .3s var(--cfp-ease),background .3s var(--cfp-ease)}
.eko-header-actions .ml-acao:hover,.eko-header-actions .eko-action:hover{color:var(--cfp-vermelho);background:color-mix(in srgb,var(--cfp-vermelho) 10%,transparent)}
.eko-header-actions .ml-acao .ml-lbl{display:none}
.eko-header-actions svg{width:20px;height:20px;stroke-width:1.8}
.eko-action-cart{gap:0;width:42px;height:42px}
.eko-cart-badge{background:var(--cfp-vermelho);color:#fff}
.ml-lang{align-self:center;margin-left:.3rem}
.ml-lang a{font:600 .72rem/1 var(--eko-font);letter-spacing:.12em;text-transform:uppercase;color:#8d8d8d}
.ml-lang .lang-active a,.ml-lang a:hover{color:var(--cfp-preto)}
.eko-hamburger{display:none;place-items:center;width:42px;height:42px;border-radius:50%;background:none;border:0;color:var(--cfp-preto);cursor:pointer}

/* logótipo no rodapé e na gaveta (imagem, sem o truque de encolher) */
.ml-logo{height:64px;width:auto}
.ml-logo-gaveta{height:44px}
.eko-menu-top .ml-logo{height:44px}

@media (max-width:1024px){
    :root{--cfp-header-altura:118px}
    .ml-menu{display:none}
    .eko-hamburger{display:grid;order:-1}
    .eko-logo svg{height:72px}
    .eko-header-sticky.is-scrolled .eko-logo svg{height:56px}
    .eko-header-main{gap:.6rem}
    .eko-header-actions{gap:.2rem}
    .ml-lang{display:none}
}
@media (max-width:560px){
    :root{--cfp-header-altura:104px}
    .eko-logo svg{height:60px}
    .eko-header-actions .ml-acao,.eko-header-actions .eko-action,.eko-hamburger{width:38px;height:38px}
}
/* o coração do cartão herdava position:absolute do template e fugia para o topo da página */
.cfp-cartao-fav,.cfp-cartao-add{position:static}
