/* =====================================================================
   JOS - identidade visual (mockups 2026-10-03). Carregado depois de
   all.min.css (ver logic/00-setup-assets.php). So overrides + componentes jos-*.
   ===================================================================== */
:root {
    --jos-azul: #0064ad;
    --jos-azul-esc: #004f8a;
    --jos-azul-claro: #e6f0f8;
    --jos-navy: #0f1d33;
    --jos-texto: #23293a;
    --jos-texto-2: #5b6272;
    --jos-cinza: #f5f5f4;
    --jos-cinza-2: #ececea;
    --jos-borda: #e3e4e6;
    --jos-terracota: #d9764f;
    --jos-verde: #0c863e;
    --jos-escuro: #232628;
    --jos-raio: 6px;
    --jos-sombra: 0 6px 22px rgba(15, 29, 51, .07);

    --eko-green: var(--jos-azul);
    --eko-green-dark: var(--jos-azul-esc);
    --eko-green-bright: #2b84c6;
    --eko-cream: var(--jos-cinza);
    --eko-cream-2: var(--jos-cinza-2);
    --eko-text: var(--jos-texto);
    --eko-text-light: var(--jos-texto-2);
    --eko-border: var(--jos-borda);
    --eko-radius: var(--jos-raio);
    --eko-radius-sm: 4px;
    --eko-radius-btn: 4px;
    --eko-shadow: var(--jos-sombra);
    --eko-font: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    --eko-font-serif: var(--eko-font);
}

body.eko-body { font-family: var(--eko-font); color: var(--jos-texto); background: #fff; }
h1, h2, h3, h4 { font-family: var(--eko-font); color: var(--jos-navy); }
a { color: inherit; }

/* ---------- botoes / utilitarios ---------- */
.jos-btn {
    display: inline-flex; align-items: center; gap: 10px; padding: 12px 20px;
    border-radius: 4px; font-size: 12px; font-weight: 700; letter-spacing: .06em;
    text-transform: uppercase; text-decoration: none; border: 1px solid transparent;
    transition: background .2s, color .2s, transform .2s; cursor: pointer;
}
.jos-btn svg { width: 16px; height: 16px; }
.jos-btn-primary { background: var(--jos-azul); color: #fff; }
.jos-btn-primary:hover { background: var(--jos-azul-esc); color: #fff; }
.jos-btn-light { background: #fff; color: var(--jos-navy); text-transform: none; letter-spacing: 0; font-size: 13px; }
.jos-btn-light:hover { background: var(--jos-azul-claro); }
.jos-link { display: inline-flex; align-items: center; gap: 8px; color: var(--jos-azul); font-weight: 700; font-size: 13px; text-decoration: none; }
.jos-link svg { width: 16px; height: 16px; transition: transform .2s; }
.jos-link:hover svg { transform: translateX(3px); }
.jos-eyebrow { font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--jos-texto-2); margin: 0 0 10px; }
.jos-nota { font-family: var(--eko-font-script); font-size: 22px; line-height: 1.05; color: var(--jos-navy); margin: 0; transform: rotate(-4deg); }
.jos-card-marca { font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; color: var(--jos-texto-2); margin: 0 0 4px; }
.jos-section { padding: 64px 0; }
.jos-section h2 { font-size: 32px; font-weight: 800; letter-spacing: -.01em; margin: 0 0 6px; }
.jos-section-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin-bottom: 26px; }
.jos-section-head p { margin: 0; color: var(--jos-texto-2); font-size: 14px; }
.jos-cart-btn {
    display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; flex-shrink: 0;
    background: var(--jos-azul); color: #fff; border: 0; border-radius: 4px; cursor: pointer; transition: background .2s;
}
.jos-cart-btn svg { width: 20px; height: 20px; }
.jos-cart-btn:hover { background: var(--jos-azul-esc); }
.jos-cart-btn[disabled] { background: #a9b6c4; cursor: not-allowed; }
.jos-cart-btn-sm { width: 34px; height: 34px; }
.jos-cart-btn-sm svg { width: 17px; height: 17px; }

/* ---------- cabecalho ---------- */
.jos-header { background: var(--jos-azul); }
.jos-topbar { background: var(--jos-azul); color: #fff; font-size: 12px; }
.jos-topbar-inner { display: flex; justify-content: space-between; align-items: center; min-height: 36px; gap: 20px; }
.jos-topbar-list, .jos-topbar-links { display: flex; align-items: center; list-style: none; margin: 0; padding: 0; }
.jos-topbar-list li { display: flex; align-items: center; gap: 7px; padding: 0 16px; border-left: 1px solid rgba(255,255,255,.35); }
.jos-topbar-list li:first-child { padding-left: 0; border-left: 0; }
.jos-topbar-links { gap: 20px; }
.jos-topbar-links a { display: flex; align-items: center; gap: 6px; color: #fff; text-decoration: none; }
.jos-topbar-links a:hover { text-decoration: underline; }
.jos-topbar svg { width: 15px; height: 15px; }

.jos-header-sticky { border-bottom: 1px solid var(--jos-borda); }
.jos-header-main { gap: 28px; padding-top: 14px; padding-bottom: 14px; }
.jos-logo { gap: 10px; text-decoration: none; }
.jos-logo img { height: 44px; width: auto; }
.jos-logo-tag { border-left: 1px solid var(--jos-borda); padding-left: 10px; font-size: 9.5px; line-height: 1.25; font-weight: 600; text-transform: uppercase; color: var(--jos-navy); letter-spacing: .03em; }
.jos-mainnav { flex: 1 1 auto; display: flex; justify-content: center; }
.jos-mainnav > ul { display: flex; gap: 26px; list-style: none; margin: 0; padding: 0; }
.jos-mainnav > ul > li > a {
    display: block; padding: 12px 0; font-size: 12px; font-weight: 600; text-transform: uppercase;
    letter-spacing: .04em; color: var(--jos-navy); text-decoration: none; border-bottom: 2px solid transparent;
}
.jos-mainnav > ul > li > a:hover, .jos-mainnav > ul > li > a.is-active { color: var(--jos-azul); border-bottom-color: var(--jos-azul); }
.jos-has-mega { position: static; }
.jos-mega {
    position: absolute; left: 0; right: 0; top: 100%; background: #fff; border-top: 1px solid var(--jos-borda);
    box-shadow: 0 18px 30px rgba(15,29,51,.1); opacity: 0; visibility: hidden; transform: translateY(6px);
    transition: opacity .18s, transform .18s, visibility .18s; z-index: 80;
}
.jos-has-mega:hover .jos-mega, .jos-has-mega:focus-within .jos-mega { opacity: 1; visibility: visible; transform: none; }
.jos-mega-inner { max-width: 1280px; margin: 0 auto; padding: 28px 24px 30px; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 24px 28px; }
.jos-mega-titulo { display: block; font-weight: 700; font-size: 14px; color: var(--jos-navy); text-decoration: none; margin-bottom: 10px; }
.jos-mega-col ul { list-style: none; margin: 0; padding: 0; }
.jos-mega-col li a { display: block; padding: 4px 0; font-size: 13px; color: var(--jos-texto-2); text-decoration: none; }
.jos-mega a:hover { color: var(--jos-azul); }
.jos-mega-todos { grid-column: 1 / -1; display: inline-flex; align-items: center; gap: 8px; color: var(--jos-azul); font-weight: 700; font-size: 13px; text-decoration: none; }
.jos-mega-todos svg { width: 16px; height: 16px; }
.eko-header-sticky .eko-container { position: relative; }

.jos-header-main .eko-search-wrap { flex: 0 1 240px; max-width: 240px; }
.jos-header-main .eko-search { background: var(--jos-cinza); border-radius: 6px; padding: 2px 2px 2px 14px; }
.jos-header-main .eko-search input { font-size: 13px; }
.jos-header-main .eko-search button[type="submit"] { background: transparent; color: var(--jos-azul); }
.jos-header-main .eko-search-wrap.is-open, .jos-header-main .eko-search-wrap:focus-within { flex-basis: 360px; max-width: 360px; }
.jos-header-actions { gap: 18px; margin-left: 0; }
.jos-header-actions .eko-action > span:not(.eko-cart-icon-wrap) { display: none; }
.jos-header-actions .eko-action svg { width: 22px; height: 22px; color: var(--jos-navy); }
.jos-header-actions .eko-cart-badge { background: var(--jos-azul); color: #fff; }
.jos-header-actions .eko-hamburger { display: none; }

/* esconde barra de familias herdada (o menu JOS tem o mega-menu) */
.eko-family-nav, .eko-b2b-banner { display: none !important; }

/* ---------- HERO ---------- */
.jos-hero { position: relative; overflow: hidden; background: #efe9e4; }
.jos-hero-track { position: relative; }
.jos-hero-slide { display: none; }
.jos-hero-slide.is-active { display: block; animation: josFade .5s ease; }
@keyframes josFade { from { opacity: 0; } to { opacity: 1; } }
.jos-hero-slide:first-child { position: relative; min-height: 520px; }
.jos-hero-media {
    position: absolute; inset: 0 0 0 30%; background-size: cover; background-position: center left;
}
.jos-hero-slide:first-child::before {
    content: ""; position: absolute; inset: 0; z-index: 1;
    background: linear-gradient(90deg, #f3eeea 0%, #f3eeea 30%, rgba(243,238,234,.85) 40%, rgba(243,238,234,0) 58%);
}
.jos-hero-inner { position: relative; z-index: 2; min-height: 520px; display: flex; align-items: center; }
.jos-hero-text h1 {
    font-size: clamp(48px, 7vw, 96px); line-height: .9; font-weight: 800; text-transform: uppercase;
    letter-spacing: -.02em; color: var(--jos-navy); margin: 0 0 24px;
}
.jos-dot { color: var(--jos-azul); }
.jos-hero-text p { font-size: 17px; font-weight: 500; color: var(--jos-navy); margin: 0 0 26px; }
.jos-hero-slide-banner img { display: block; width: 100%; height: auto; }
.jos-hero-dots-wrap { position: absolute; left: 0; right: 0; bottom: 22px; z-index: 3; }
.jos-hero-dots { display: flex; gap: 0; list-style: none; margin: 0; padding: 0; }
.jos-hero-dots button {
    background: none; border: 0; border-bottom: 2px solid rgba(15,29,51,.2); padding: 6px 22px 8px 0; width: 70px; text-align: left;
    font: 600 11px var(--eko-font); color: rgba(15,29,51,.5); cursor: pointer;
}
.jos-hero-dots button.is-active { color: var(--jos-navy); border-bottom-color: var(--jos-azul); }

/* ---------- COMO PODEMOS AJUDAR ---------- */
.jos-ajuda { background: #fafaf9; }
.jos-nota-seta-esq { position: relative; padding-left: 30px; text-align: right; }
.jos-nota-seta-esq::before { content: "\21B6"; position: absolute; left: 0; top: -4px; font-family: var(--eko-font); font-size: 22px; transform: rotate(-20deg); }
.jos-ajuda-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; list-style: none; margin: 0; padding: 0; }
.jos-ajuda-card { position: relative; display: block; aspect-ratio: 151 / 176; overflow: hidden; border-radius: 2px; background: #ddd; text-decoration: none; }
.jos-ajuda-card img { width: 100%; height: 72%; object-fit: cover; display: block; transition: transform .4s; }
.jos-ajuda-card:hover img { transform: scale(1.05); }
.jos-ajuda-card::after { content: ""; position: absolute; inset: 72% 0 0; background: #f1efec; }
.jos-ajuda-label {
    position: absolute; left: 10px; right: 8px; bottom: 14px; z-index: 2; padding: 10px 26px 10px 14px;
    background: var(--jos-pincel, #5e7a6c); color: #fff; font-weight: 700; font-size: 14px; line-height: 1.2;
    clip-path: polygon(0 6%, 4% 0, 92% 4%, 100% 14%, 97% 52%, 100% 90%, 90% 100%, 6% 96%, 0 88%);
}
.jos-ajuda-card:nth-child(n) .jos-ajuda-label svg { width: 14px; height: 14px; vertical-align: -2px; margin-left: 4px; }
.jos-ajuda-grid li:nth-child(3) .jos-ajuda-label { color: var(--jos-navy); }

/* ---------- EM DESTAQUE ---------- */
.jos-destaque { background: #fff; }
.jos-destaque-inner { display: grid; grid-template-columns: 220px minmax(0, 1fr) 300px; gap: 36px; align-items: center; }
.jos-destaque-intro h2 { font-size: 26px; line-height: 1.15; margin: 0 0 40px; }
.jos-destaque-main { position: relative; background: var(--jos-cinza); padding: 30px 34px 40px; transform: rotate(-.6deg); }
.jos-destaque-slide.is-active { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; align-items: center; transform: rotate(.6deg); }
.jos-destaque-img { display: block; aspect-ratio: 1; }
.jos-destaque-img img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.jos-destaque-info h3 { font-size: 17px; margin: 0 0 6px; }
.jos-destaque-info h3 a { text-decoration: none; }
.jos-destaque-resumo { font-size: 12px; color: var(--jos-texto-2); line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; margin: 0 0 18px; }
.jos-destaque-preco { display: flex; justify-content: space-between; align-items: flex-end; gap: 10px; }
.jos-destaque-preco p { margin: 0; }
.jos-destaque-preco small { display: block; font-size: 11px; color: var(--jos-texto-2); }
.jos-destaque-preco strong { font-size: 26px; font-weight: 800; color: var(--jos-navy); }
.jos-mini-dots { position: absolute; left: 50%; bottom: 4px; display: flex; gap: 0; list-style: none; padding: 0; margin: 0; transform: translateX(-50%) rotate(.6deg); }
.jos-mini-dots button { box-sizing: border-box; width: 24px; height: 24px; padding: 10.5px 4px; border: 0; background: #c9ced6; background-clip: content-box; cursor: pointer; }   /* 24x24 para o dedo (WCAG 2.5.8), o traco visivel continua 16x3 */
.jos-mini-dots button.is-active { background: var(--jos-azul); background-clip: content-box; width: 32px; }
.jos-destaque-lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.jos-destaque-lista li { display: grid; grid-template-columns: 76px minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 10px 12px; background: #fff; border-radius: 4px; box-shadow: var(--jos-sombra); }
.jos-destaque-lista-img { aspect-ratio: 1; display: block; }
.jos-destaque-lista-img img { width: 100%; height: 100%; object-fit: contain; }
.jos-destaque-lista-nome { margin: 0 0 6px; font-size: 12px; font-weight: 700; line-height: 1.3; }
.jos-destaque-lista-nome a { text-decoration: none; }
.jos-destaque-lista-preco { margin: 0; font-weight: 800; font-size: 14px; color: var(--jos-navy); }

/* ---------- DESDE 1995 ---------- */
.jos-banda { position: relative; background: var(--jos-escuro); color: #fff; overflow: hidden; }
.jos-banda::before { content: ""; position: absolute; inset: 0 0 0 38%; background: var(--jos-banda-img) center / cover no-repeat; }
.jos-banda::after { content: ""; position: absolute; inset: 0 0 0 38%; background: linear-gradient(90deg, var(--jos-escuro) 0%, rgba(35,38,40,0) 35%); }
.jos-banda-inner { position: relative; z-index: 2; padding-top: 70px; padding-bottom: 70px; max-width: 1280px; }
.jos-banda-inner > * { max-width: 460px; }
.jos-banda .jos-eyebrow { color: rgba(255,255,255,.75); }
.jos-banda h2 { color: #fff; font-size: 36px; line-height: 1.12; font-weight: 800; margin: 0 0 18px; }
.jos-banda p { font-size: 14px; line-height: 1.6; color: rgba(255,255,255,.85); margin: 0 0 26px; }

/* ---------- DICAS ---------- */
.jos-dicas { background: #fafaf9; }
.jos-section-head-link { align-items: flex-end; }
.jos-dicas-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; list-style: none; margin: 0; padding: 0; }
.jos-dica-card { background: #fff; box-shadow: var(--jos-sombra); border-radius: 2px; overflow: hidden; }
.jos-dica-img { display: block; aspect-ratio: 16 / 6.4; overflow: hidden; }
.jos-dica-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.jos-dica-card:hover .jos-dica-img img { transform: scale(1.04); }
.jos-dica-body { padding: 16px 18px 22px; }
.jos-dica-meta { display: flex; gap: 16px; font-size: 11px; color: var(--jos-texto-2); margin: 0 0 8px; }
.jos-dica-meta strong { color: var(--jos-navy); }
.jos-dica-body h3 { font-size: 16px; line-height: 1.3; margin: 0 0 8px; }
.jos-dica-body h3 a { text-decoration: none; }
.jos-dica-body p:last-child { font-size: 13px; color: var(--jos-texto-2); margin: 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* ---------- MARCAS ---------- */
.jos-marcas { padding-top: 40px; padding-bottom: 40px; }
.jos-marcas h2 { text-align: center; font-size: 22px; margin-bottom: 22px; }
.jos-marcas-wrap { display: flex; align-items: center; gap: 12px; }
.jos-marcas-lista { display: flex; gap: 46px; list-style: none; margin: 0; padding: 4px 0; overflow-x: auto; scroll-behavior: smooth; scrollbar-width: none; flex: 1; align-items: center; }
.jos-marcas-lista::-webkit-scrollbar { display: none; }
.jos-marcas-lista li { flex: 0 0 auto; }
.jos-marcas-lista a { display: flex; align-items: center; justify-content: center; height: 56px; min-width: 90px; text-decoration: none; }
.jos-marcas-lista img { max-height: 46px; max-width: 120px; object-fit: contain; filter: grayscale(1); opacity: .75; transition: filter .2s, opacity .2s; }
.jos-marcas-lista a:hover img { filter: none; opacity: 1; }
.jos-marcas-lista span { font-weight: 800; font-size: 15px; color: #6b7280; letter-spacing: .02em; }
.jos-marcas-nav { flex-shrink: 0; width: 32px; height: 32px; border: 0; background: none; color: var(--jos-navy); cursor: pointer; }
.jos-marcas-nav svg { width: 20px; height: 20px; }

/* ---------- RODAPE ---------- */
.jos-topo {
    position: fixed; right: 22px; bottom: 22px; z-index: 60; width: 46px; height: 46px; border-radius: 50%; border: 0;
    background: var(--jos-azul); color: #fff; box-shadow: 0 6px 18px rgba(0,100,173,.35); cursor: pointer; display: flex; align-items: center; justify-content: center;
}
.jos-topo svg { width: 22px; height: 22px; }

/* ---------- LISTAGEM (mockup categoria) ---------- */
.eko-prod-banner { min-height: 250px; background-color: #eef1f4; background-size: cover; background-position: right center; }
.eko-prod-banner-overlay { background: linear-gradient(90deg, #f4f6f8 0%, #f4f6f8 38%, rgba(244,246,248,.75) 55%, rgba(244,246,248,0) 75%) !important; }
.eko-prod-banner-text h1 { font-size: 46px; font-weight: 800; color: var(--jos-navy); margin: 8px 0 10px; }
.eko-prod-banner-text p { color: var(--jos-navy); font-size: 15px; max-width: 460px; }
.eko-breadcrumb { font-size: 12px; color: var(--jos-texto-2); }
.eko-breadcrumb a { color: var(--jos-texto-2); text-decoration: none; }
.eko-breadcrumb .is-current { color: var(--jos-navy); font-weight: 700; }
.eko-prod-sidebar { background: var(--jos-cinza); padding: 20px 18px; border-radius: 4px; }
.eko-prod-sidebar h3, .eko-prod-sidebar h4 { color: var(--jos-navy); }
.eko-prod-toolbar { border: 0; }
.eko-products-grid .eko-product-card {
    background: #fff; border: 0; box-shadow: var(--jos-sombra); border-radius: 4px; padding: 14px 14px 16px;
}
.eko-product-card .eko-product-media { background: #fff; }
.eko-product-card .eko-product-media img { object-fit: contain; }
.eko-product-brand { font-size: 11px !important; font-weight: 600; text-transform: uppercase; color: var(--jos-texto-2) !important; letter-spacing: .03em; }
.eko-product-name, .eko-product-name a { font-weight: 700; color: var(--jos-navy); font-size: 13.5px; line-height: 1.3; text-decoration: none; }
.jos-card-resumo { font-size: 12px; color: var(--jos-texto-2); line-height: 1.45; margin: 4px 0 8px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.eko-product-price { font-size: 18px; font-weight: 800; color: var(--jos-navy); }
.eko-product-card .eko-btn-add, .eko-btn-primary { background: var(--jos-azul); border-color: var(--jos-azul); color: #fff; }
.eko-btn-primary:hover { background: var(--jos-azul-esc); border-color: var(--jos-azul-esc); }
.eko-stock-dot { background: var(--jos-verde); }
.eko-badge { background: var(--jos-azul); color: #fff; }
.eko-fav-toggle { color: var(--jos-navy); }

.jos-cor-faixa { padding: 10px 0 60px; }
.jos-cor-faixa-inner { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); background: #f2f5f8; border-radius: 4px; overflow: hidden; }
.jos-cor-faixa-cta { display: flex; align-items: center; gap: 26px; padding: 24px 30px 24px 0; }
.jos-cor-faixa-cta img { width: 170px; height: auto; flex-shrink: 0; mix-blend-mode: multiply; }
.jos-cor-faixa-cta h2 { font-size: 22px; font-weight: 800; margin: 0 0 8px; }
.jos-cor-faixa-cta p { font-size: 13px; color: var(--jos-texto-2); margin: 0 0 16px; max-width: 320px; }
.jos-cor-faixa-cta .jos-btn { text-transform: none; letter-spacing: 0; font-size: 13px; }
.jos-cor-faixa-perks { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); list-style: none; margin: 0; padding: 20px; align-items: center; }
.jos-cor-faixa-perks li { display: flex; flex-direction: column; align-items: center; gap: 10px; text-align: center; font-size: 11.5px; font-weight: 600; color: var(--jos-navy); padding: 0 10px; border-left: 1px solid var(--jos-borda); }
.jos-cor-faixa-perks li:first-child { border-left: 0; }
.jos-cor-faixa-perks svg { width: 34px; height: 34px; color: var(--jos-azul); stroke-width: 1.5; }

/* ---------- FICHA DE PRODUTO (mockup) ---------- */
.eko-pd-top { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); grid-template-areas: "gal info" "aside info"; gap: 26px 48px; }
.eko-pd-gallery { grid-area: gal; }
.eko-pd-info { grid-area: info; }
.jos-pd-sidebar { grid-area: aside; display: flex; flex-direction: column; gap: 18px; }
.eko-pd-main-media { background: #f3f4f6; border-radius: 4px; }
.eko-pd-main-media img { object-fit: contain; mix-blend-mode: multiply; }
.eko-pd-brand a { display: inline-block; background: var(--jos-azul); color: #fff !important; font-size: 12px; font-weight: 700; padding: 3px 9px; border-radius: 3px; text-decoration: none; text-transform: uppercase; }
.eko-pd-info h1 { font-size: 34px; font-weight: 800; line-height: 1.1; color: var(--jos-navy); text-transform: none; margin: 12px 0 8px; }
.jos-pd-resumo { font-size: 14px; line-height: 1.65; color: var(--jos-texto); margin: 16px 0 22px; padding-bottom: 22px; border-bottom: 1px solid var(--jos-borda); }
.jos-pd-opcao { margin-bottom: 22px; }
.jos-pd-opcao-label { font-size: 13px; font-weight: 700; color: var(--jos-navy); margin: 0 0 10px; }
.jos-pd-opcao-lista { display: flex; flex-wrap: wrap; gap: 10px; }
.jos-pd-chip { min-width: 58px; padding: 9px 14px; text-align: center; border: 1px solid var(--jos-borda); border-radius: 4px; font-size: 13px; color: var(--jos-texto); text-decoration: none; transition: border-color .2s; }
.jos-pd-chip:hover { border-color: var(--jos-azul); }
.jos-pd-chip.is-active { border: 2px solid var(--jos-azul); color: var(--jos-navy); font-weight: 700; padding: 8px 13px; }
.eko-pd-price { font-size: 32px; font-weight: 800; color: var(--jos-navy); }
.eko-pd-price small { font-size: 12px; font-weight: 500; color: var(--jos-texto-2); }
.eko-pd-actions .eko-btn-add { background: var(--jos-azul); border-radius: 4px; }
.eko-pd-qty { border-radius: 4px; }
.jos-pd-confianca { list-style: none; margin: 0; padding: 18px 20px; background: #f6f7f8; border-radius: 4px; display: grid; gap: 10px; font-size: 13px; }
.jos-pd-confianca li { display: flex; align-items: center; gap: 10px; }
.jos-pd-confianca li.is-ok { color: #0a7537; font-weight: 700; }   /* 4,35:1 com o --jos-verde; este da > 4,5:1 (WCAG 1.4.3) */
.jos-pd-confianca li.is-off { color: #b42318; font-weight: 700; }
.jos-pd-bola { width: 10px; height: 10px; border-radius: 50%; background: currentColor; }
.jos-pd-confianca svg { width: 16px; height: 16px; color: var(--jos-verde); }
.jos-pd-ajuda { display: grid; grid-template-columns: minmax(0, 1fr) 150px; gap: 10px; align-items: center; padding: 22px 0 22px 22px; background: #f6f7f8; border-radius: 4px; overflow: hidden; }
.jos-pd-ajuda h3 { font-size: 18px; margin: 0 0 8px; }
.jos-pd-ajuda p { font-size: 13px; color: var(--jos-texto-2); margin: 0 0 14px; }
.jos-pd-ajuda .jos-btn { text-transform: none; letter-spacing: 0; font-size: 13px; }
.jos-pd-ajuda img { width: 100%; height: auto; mix-blend-mode: multiply; }
.jos-pd-ajuda-contactos { margin: 12px 0 0 !important; font-size: 12px !important; }
.jos-pd-ajuda-contactos a { color: var(--jos-azul); font-weight: 600; text-decoration: none; }
.eko-pd-tabs .eko-tabs button.is-active { color: var(--jos-navy); border-bottom-color: var(--jos-azul); }
.eko-pd-tab-desc h3 { font-size: 22px; font-weight: 800; }
.eko-search-interp { grid-column: 1 / -1; flex-basis: 100%; width: 100%; font-size: 13px; color: var(--jos-texto-2, #4b5563); padding: 2px 0 8px; }
.eko-search-interp strong { color: var(--jos-navy); }
.eko-search-interp span { opacity: .8; }

/* ---------- paginas simples ---------- */
.jos-pagina-topo { background: #eef1f4; padding: 34px 0 40px; }
.jos-pagina-topo h1 { font-size: 42px; font-weight: 800; margin: 10px 0 8px; }
.jos-pagina-topo p { margin: 0; max-width: 620px; color: var(--jos-navy); }
.jos-catalogos-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 26px; list-style: none; margin: 0; padding: 0; }
.jos-catalogo { display: flex; flex-direction: column; gap: 6px; text-decoration: none; color: var(--jos-navy); }
.jos-catalogo-capa { display: block; aspect-ratio: 3 / 4; background: var(--jos-cinza); overflow: hidden; border-radius: 3px; box-shadow: var(--jos-sombra); margin-bottom: 8px; }
.jos-catalogo-capa img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s; }
.jos-catalogo:hover img { transform: scale(1.04); }
.jos-catalogo strong { font-size: 15px; }

/* ---------- RESPONSIVO ---------- */
@media (max-width: 1240px) {
    .jos-mainnav > ul { gap: 18px; }
    .jos-mainnav > ul > li > a { font-size: 11px; }
    .jos-header-main .eko-search-wrap { flex-basis: 190px; }
    .jos-logo-tag { display: none; }
}
@media (max-width: 1100px) {
    .jos-mainnav { display: none; }
    .jos-header-actions .eko-hamburger { display: flex; }
    .jos-header-main { justify-content: space-between; }
    .jos-header-main .eko-search-wrap { flex: 1 1 auto; max-width: 420px; }
    .jos-logo-tag { display: block; }
    .jos-destaque-inner { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    .jos-destaque-intro { grid-column: 1 / -1; }
    .jos-destaque-intro h2 br { display: none; }
    .jos-destaque-intro h2 { margin-bottom: 12px; }
    .jos-catalogos-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 992px) {
    .jos-header-main .eko-search-wrap { max-width: none; }
    .jos-topbar-list li:nth-child(n+2) { display: none; }
    .jos-ajuda-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .jos-dicas-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    .jos-cor-faixa-inner { grid-template-columns: minmax(0, 1fr); }
    .jos-cor-faixa-cta { padding: 24px; }
    .eko-pd-top { grid-template-columns: minmax(0, 1fr); grid-template-areas: "gal" "info" "aside"; }
    .jos-banda::before, .jos-banda::after { inset: 0; opacity: .35; }
}
@media (max-width: 767px) {
    .jos-topbar-links li:not(:last-child) { display: none; }
    .jos-logo img { height: 36px; }
    .jos-logo-tag { font-size: 8.5px; }
    .jos-section { padding: 44px 0; }
    .jos-section h2 { font-size: 24px; }
    .jos-section-head { flex-direction: column; align-items: flex-start; }
    .jos-nota { display: none; }
    .jos-hero-slide:first-child, .jos-hero-inner { min-height: 440px; }
    .jos-hero-media { inset: 40% 0 0 0; }
    .jos-hero-slide:first-child::before { background: linear-gradient(180deg, #f3eeea 0%, #f3eeea 45%, rgba(243,238,234,0) 70%); }
    .jos-hero-inner { align-items: flex-start; padding-top: 34px; }
    .jos-hero-text h1 { font-size: 46px; margin-bottom: 14px; }
    .jos-hero-text p { font-size: 15px; margin-bottom: 18px; }
    .jos-hero-dots button { width: 44px; }
    .jos-ajuda-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    .jos-ajuda-label { font-size: 12.5px; }
    .jos-destaque-inner { grid-template-columns: minmax(0, 1fr); }
    .jos-destaque-slide.is-active { grid-template-columns: minmax(0, 1fr); }
    .jos-destaque-img { max-width: 240px; margin: 0 auto; }
    .jos-banda h2 { font-size: 28px; }
    .jos-dicas-grid { grid-template-columns: minmax(0, 1fr); }
    .jos-marcas-lista { gap: 28px; }
    .eko-prod-banner-text h1 { font-size: 34px; }
    .jos-cor-faixa-cta { flex-direction: column; align-items: flex-start; }
    .jos-cor-faixa-perks { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 18px 0; }
    .jos-cor-faixa-perks li:nth-child(3) { border-left: 0; }
    .eko-pd-info h1 { font-size: 26px; }
    .jos-pd-ajuda { grid-template-columns: minmax(0, 1fr); padding-right: 22px; }
    .jos-pd-ajuda img { display: none; }
    .jos-catalogos-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 18px; }
    .jos-pagina-topo h1 { font-size: 32px; }
}
@media (max-width: 480px) {
    .jos-hero-text h1 { font-size: 40px; }
}

/* ajustes 1a revisao */
.jos-mainnav > ul > li > a { white-space: nowrap; }
.jos-mainnav > ul { gap: 22px; }
.jos-nota { font-size: 26px; }
/* marcas maiores (2026-11-10): os logótipos vêm recortados ao desenho (josLogoRecortado, logic/20-jos.php) */
.jos-marcas-lista img { max-height: 60px; max-width: 170px; }
.jos-marcas-lista a { height: 76px; min-width: 120px; }
.eko-pd-info .jos-pd-confianca { margin-top: 22px; }
.eko-pd-info > .eko-product-stock { display: none; }
.eko-prod-banner { min-height: 300px; }
.eko-pd-relacionados h2, .eko-pd-related h2 { text-transform: none; font-weight: 800; }
.eko-sobre-certificacoes { display: none; }
@media (max-width: 992px) {
    .jos-header-main { flex-wrap: wrap; row-gap: 10px; }
    .jos-header-actions { margin-left: auto; }
}
@media (max-width: 480px) {
    .jos-logo-tag { display: none !important; }
    .jos-header-actions { gap: 12px; }
}
.jos-destaque-img { background: #fff; border-radius: 4px; padding: 10px; }
.jos-destaque-img img { mix-blend-mode: normal; }

/* ---------- popup de pesquisa (ancorado ao cabecalho, nao a caixa) ---------- */
@media (min-width: 993px) {
    .jos-header-main .eko-search-wrap { position: static; }
    .jos-header-main .eko-search-panel {
        left: auto; right: 24px; top: calc(100% - 4px);
        width: min(860px, calc(100% - 48px)); max-width: none;
        border: 0; border-top: 3px solid var(--jos-azul); border-radius: 0 0 6px 6px;
        box-shadow: 0 24px 48px rgba(15, 29, 51, .16);
    }
}
.eko-search-panel-side { background: var(--jos-cinza); }
.eko-search-panel-side:has(#eko-search-categorias > .eko-search-empty:only-child) { display: none; }
.eko-search-group h4, .eko-search-section-head h4 { font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--jos-texto-2); }
.eko-search-products li { border-radius: 4px; transition: background .15s; }
.eko-search-products li:hover { background: var(--jos-cinza); }
.eko-search-products .eko-product-name a { color: var(--jos-navy); }
.eko-search-products .eko-product-price { color: var(--jos-navy); }
.eko-search-add { background: var(--jos-azul) !important; color: #fff !important; border-radius: 4px; }
.eko-search-marca-tile { border-radius: 4px; }
.eko-search-panel-footer { background: var(--jos-azul-claro); color: var(--jos-azul); font-weight: 700; border-radius: 0 0 6px 6px; }
.eko-search-panel-footer:hover { background: var(--jos-azul); color: #fff; }
.eko-search-empty { color: var(--jos-texto-2); font-size: 13px; }
@media (min-width: 768px) {
    .jos-header-main .eko-search-products { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 18px; }
    .jos-header-main .eko-search-products > .eko-search-empty { grid-column: 1 / -1; }
}
.jos-header-main .eko-search-products li { padding: 8px 10px; gap: 12px; }
.jos-header-main .eko-search-product-media { width: 52px; height: 52px; background: #fff; }
.jos-header-main .eko-search-product-media img { object-fit: contain; }
.jos-header-main .eko-search-products .eko-product-brand { margin: 0; font-size: 10px !important; }
.jos-header-main .eko-search-products .eko-product-name { margin: 1px 0 2px; font-size: 13px; line-height: 1.25; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.jos-header-main .eko-search-products .eko-product-price { margin: 0; font-size: 14px; }
.jos-header-main .eko-search-fav { width: 32px; height: 32px; border-radius: 50%; border-color: var(--jos-borda); }
.jos-header-main .eko-search-marcas-grid { grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); gap: 10px; }
.jos-header-main .eko-search-marca-tile { padding: 8px; gap: 4px; border: 1px solid var(--jos-borda); }
.jos-header-main .eko-search-marca-logo { aspect-ratio: auto; height: 38px; }
.jos-header-main .eko-search-marca-nome { font-size: 11px; }
.jos-header-main .eko-search-section-head { margin: 4px 0 10px; }
.jos-header-main .eko-search-section-head + .eko-search-products { margin-bottom: 18px; }

/* icones do cabecalho: mesma caixa 22px e SVG em bloco (o inline herdava line-height e descia 3px) */
.jos-header-actions .eko-action { align-items: center; line-height: 1; }
.jos-header-actions .eko-cart-icon-wrap { display: flex; align-items: center; justify-content: center; line-height: 1; }
.jos-header-actions .eko-action svg, .jos-header-actions .eko-cart-icon-wrap svg { display: block; }
/* anula o remendo da vilsad (margin-top:-10px no utilizador e na lupa em mobile) */
.jos-header-actions a.eko-action.eko-action-user,
.jos-header-actions button.eko-search-mobile-toggle.eko-action-search { margin-top: 0; }
.jos-header-actions .eko-hamburger, .jos-header-actions .eko-search-mobile-toggle { align-items: center; justify-content: center; }
.jos-header-actions .eko-hamburger svg, .jos-header-actions .eko-search-mobile-toggle svg { display: block; }

/* hero com foto inteira (Hero1, 1920x819): texto sobre a parede terracota, sem degrade */
.jos-hero-slide:first-child { min-height: 0; height: clamp(440px, 42.66vw, 820px); }
.jos-hero-slide:first-child::before { display: none; }
.jos-hero-media { inset: 0; background: var(--jos-hero-img) center center / cover no-repeat; }
.jos-hero-inner { min-height: 0; height: 100%; }
.jos-hero-text { padding-bottom: 30px; }
@media (max-width: 767px) {
    .jos-hero-slide:first-child { height: 560px; }
    .jos-hero-media { inset: 0; background-image: var(--jos-hero-img-m); background-position: center bottom; }
    .jos-hero-slide:first-child::before { display: block; background: linear-gradient(180deg, rgba(203,112,76,.55) 0%, rgba(203,112,76,0) 55%); }
    .jos-hero-inner { align-items: flex-start; padding-top: 30px; }
}
@media (min-width: 768px) {
    /* parede terracota da foto vai de ~11% a ~55% da largura: o texto comeca dentro dela */
    .jos-hero-slide:first-child .jos-hero-inner { max-width: none; padding-left: 14vw; }
    .jos-hero-text h1 { font-size: clamp(44px, 6.2vw, 110px); }
}
@media (min-width: 768px) {
    .jos-hero-dots-wrap { max-width: none; padding-left: 14vw; }
    .jos-hero-text p { text-shadow: 0 1px 8px rgba(203, 112, 76, .6); }
}

/* ---------- hero: todos os slides com a altura do primeiro ---------- */
.jos-hero-slide-banner { height: clamp(440px, 42.66vw, 820px); }
.jos-hero-slide-banner > a, .jos-hero-slide-banner picture { display: block; width: 100%; height: 100%; }
.jos-hero-slide-banner img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
@media (max-width: 767px) { .jos-hero-slide-banner { height: 560px; } }

/* ---------- Como podemos ajudar: foto como fundo do bloco inteiro ---------- */
.jos-ajuda-card { aspect-ratio: 385 / 640; background: #ddd; }
.jos-ajuda-card img { position: absolute; inset: 0; height: 100%; object-fit: cover; object-position: center; }
.jos-ajuda-card::after { inset: auto 0 0 0; height: 45%; background: linear-gradient(180deg, rgba(15,29,51,0) 0%, rgba(15,29,51,.28) 100%); z-index: 1; }
.jos-ajuda-label { bottom: 18px; box-shadow: 0 4px 14px rgba(0,0,0,.12); }
@media (max-width: 767px) { .jos-ajuda-card { aspect-ratio: 3 / 4; } }
/* titulo do hero a branco (pedido 2026-10-03) */
.jos-hero-text h1 { color: #fff; text-shadow: 0 2px 18px rgba(90, 40, 20, .25); }

/* ---------- rotulos "Como podemos ajudar?" com pincelada real (mascara PNG) ----------
   images/jos/home/pincel-rotulo.png = forma da pincelada (alpha); a cor vem de --jos-pincel. */
.jos-ajuda-label {
    left: 2px; right: 0; bottom: 12px;
    padding: 20px 30% 20px 20px;
    clip-path: none; box-shadow: none;
    background: var(--jos-pincel, #5e7a6c);
    -webkit-mask: url('../../../images/jos/home/pincel-rotulo.png') left center / 100% 100% no-repeat;
            mask: url('../../../images/jos/home/pincel-rotulo.png') left center / 100% 100% no-repeat;
    font-size: 13.5px; line-height: 1.22;
    transition: transform .25s ease;
}
.jos-ajuda-card:hover .jos-ajuda-label { transform: translateX(4px); }
.jos-ajuda-card::after { height: 50%; background: linear-gradient(180deg, rgba(15,29,51,0) 0%, rgba(15,29,51,.32) 100%); }
@media (max-width: 767px) {
    .jos-ajuda-label { padding: 16px 24% 16px 16px; font-size: 12.5px; }
}

/* nota manuscrita "Diga-nos o que pretende fazer" - maior (a regra .jos-section-head p reduzia-a a 14px) */
.jos-section-head .jos-nota { font-size: 30px; line-height: 1; color: var(--jos-navy); margin: 0 6px 6px 0; }
.jos-section-head .jos-nota-seta-esq { padding-left: 62px; }
.jos-section-head .jos-nota-seta-esq::before {
    content: ""; left: 0; top: -6px; width: 54px; height: 44px; transform: none;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 54 44' fill='none' stroke='%230f1d33' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M51 30c-6 6-17 9-27 5S8 21 9 9'/%3E%3Cpath d='M3 15l6-7 6 7'/%3E%3C/svg%3E") center / contain no-repeat;
}
@media (max-width: 1100px) { .jos-section-head .jos-nota { font-size: 26px; } }
/* seta da nota a apontar para baixo (para os cartoes) */
.jos-section-head .jos-nota-seta-esq::before {
    top: 34px; width: 52px; height: 58px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 52 58' fill='none' stroke='%230f1d33' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M49 6C33 3 15 10 12 26c-1.5 8-.5 16 1 24'/%3E%3Cpath d='M6 44l7 8 6-9'/%3E%3C/svg%3E");
}

/* redes sociais na barra de topo */
.jos-topbar-social { display: flex; align-items: center; gap: 12px; padding-left: 18px; border-left: 1px solid rgba(255,255,255,.35); }
.jos-topbar-social a { display: inline-flex; opacity: .95; transition: opacity .2s, transform .2s; }
.jos-topbar-social a:hover { opacity: 1; transform: translateY(-1px); text-decoration: none; }
.jos-topbar-social svg { width: 16px; height: 16px; }
@media (max-width: 767px) { .jos-topbar-links li.jos-topbar-social { display: flex; padding-left: 12px; } }
@media (max-width: 767px) {
    .jos-topbar-links { gap: 12px; }
    .jos-topbar-links li:nth-last-child(2) { display: list-item; }
}

/* o carrossel "Em destaque" reutiliza .jos-hero-slide: anula as regras do 1o slide do hero */
.jos-destaque-main .jos-hero-slide:first-child { height: auto; min-height: 0; }
.jos-destaque-main .jos-hero-slide:first-child::before { display: none !important; }
@media (max-width: 767px) {
    .jos-destaque-main .jos-hero-slide:first-child { height: auto; }
}

/* faixa "Desde 1995": foto inteira (1983x793, parede escura a esquerda para o texto) */
.jos-banda { min-height: clamp(380px, 40vw, 600px); display: flex; align-items: center; }
.jos-banda::before { inset: 0; background: var(--jos-banda-img) right center / cover no-repeat; }
.jos-banda::after { inset: 0; background: linear-gradient(90deg, rgba(35,38,40,.55) 0%, rgba(35,38,40,.15) 40%, rgba(35,38,40,0) 60%); }
.jos-banda-inner { width: 100%; }
@media (max-width: 992px) {
    .jos-banda::before { inset: 0; opacity: 1; background-position: 78% center; }
    .jos-banda::after { inset: 0; opacity: 1; background: linear-gradient(90deg, rgba(35,38,40,.85) 0%, rgba(35,38,40,.55) 60%, rgba(35,38,40,.25) 100%); }
}

/* listagens: ultima palavra da categoria sobre pincelada azul JOS (mesma mascara dos rotulos da home) */
.jos-palavra-pincel { position: relative; z-index: 0; display: inline-block; color: #fff; padding: .02em .55em .06em .3em; margin-left: -.1em; white-space: nowrap; }
.jos-palavra-pincel::before {
    content: ""; position: absolute; inset: -.06em -.1em -.04em -.12em; z-index: -1;
    background: var(--jos-azul);
    -webkit-mask: url('../../../images/jos/home/pincel-rotulo.png') left center / 100% 100% no-repeat;
            mask: url('../../../images/jos/home/pincel-rotulo.png') left center / 100% 100% no-repeat;
}



/* topo das listagens com a foto topoCategorias (images/jos/home/fundo-listagem.webp) */
.eko-prod-banner { min-height: 0; height: clamp(300px, 30vw, 480px); display: flex; align-items: center; background-size: cover; background-position: 70% 40%; }
.eko-prod-banner-inner { width: 100%; }
.eko-prod-banner-overlay { background: linear-gradient(90deg, rgba(247,246,243,.96) 0%, rgba(247,246,243,.9) 30%, rgba(247,246,243,.35) 48%, rgba(247,246,243,0) 62%) !important; }
@media (max-width: 767px) {
    .eko-prod-banner { height: auto; min-height: 260px; background-position: 62% center; }
    .eko-prod-banner-overlay { background: linear-gradient(90deg, rgba(247,246,243,.95) 0%, rgba(247,246,243,.8) 60%, rgba(247,246,243,.4) 100%) !important; }
}

/* topo das listagens: mais baixo, foto encostada a direita (proporcao 1920x819 = 2.344),
   esquerda preenchida com a cor da parede da foto e fundida com a imagem */
.eko-prod-banner {
    --jos-lb-h: clamp(220px, 19vw, 300px);
    --jos-lb-w: calc(var(--jos-lb-h) * 2.344);
    height: var(--jos-lb-h); min-height: 0;
    background-color: #f2e9e0;
    background-size: auto 100%;
    background-position: right center;
    background-repeat: no-repeat;
}
.eko-prod-banner-overlay {
    background: linear-gradient(90deg,
        #f2e9e0 0,
        #f2e9e0 calc(100% - var(--jos-lb-w)),
        rgba(242,233,224,.85) calc(100% - var(--jos-lb-w) * .78),
        rgba(242,233,224,0) calc(100% - var(--jos-lb-w) * .55)) !important;
}
.eko-prod-banner-text h1 { margin: 6px 0 6px; }
.eko-prod-banner-text p { margin: 0; }
@media (max-width: 767px) {
    .eko-prod-banner { height: auto; min-height: 0; padding: 22px 0; background-size: cover; background-position: 62% center; }
    .eko-prod-banner-overlay { background: linear-gradient(90deg, rgba(242,233,224,.96) 0%, rgba(242,233,224,.85) 65%, rgba(242,233,224,.5) 100%) !important; }
}

/* ------------------------------------------------------------------------------------------
   Rodape (2026-11-01): modelo do rodape atual da Pura (eko-footer, 4 colunas) com uma 5.a coluna
   para o splash "Cor. Qualidade. Confianca." (images/jos/home/splash-rodape.webp). Pedido do Gil:
   "adapta a nossa versao atual, mas manter o Cor, Qualidade, Confianca". O markup esta em
   partials/jos-footer.php; o resto do estilo e o da Pura (all.min.css). */
.jos-footer-pincel {
    align-self: start; width: 250px; aspect-ratio: 900 / 833; margin: -10px -10px 0 0;
    background: url('../../../images/jos/home/splash-rodape.webp') center / contain no-repeat;
}
@media (min-width: 993px) {
    .eko-footer-top { grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr)) 250px; }
}
@media (max-width: 992px) and (min-width: 768px) {
    /* tablet: marca e splash na primeira linha, as tres colunas por baixo */
    .eko-footer-top { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .eko-footer-brand { grid-column: 1 / 3; grid-row: 1; }
    .jos-footer-pincel { grid-column: 3; grid-row: 1; justify-self: end; align-self: center; width: 180px; margin: 0; }
}
@media (max-width: 767px) {
    /* telemovel: duas colunas (Pura); o splash fecha o rodape, centrado */
    .jos-footer-pincel { grid-column: 1 / -1; justify-self: center; width: 210px; margin: 10px 0 0; }
}

/* o display:flex do bundle ganhava ao atributo hidden: «Está a poupar 0,00 €» sem promoção e «Desconto -0,00 €» sem cupão (04/11/2026) */
.eko-cart-summary-poupa[hidden], .eko-encomenda-resumo-linha[hidden] { display: none !important; }

/* quadrados de categorias: a escolhida no filtro lateral fica marcada (2026-11-10) */
.eko-prod-categoria-tile.is-active .eko-prod-categoria-tile-media { box-shadow: 0 0 0 3px var(--jos-azul); }
.eko-prod-categoria-tile.is-active .eko-prod-categoria-tile-nome { color: var(--jos-azul); }

/* Topo com imagem nas paginas que nao a tinham (partials/jos-topo-imagem.php, 2026-11-10): pesquisa da Ajuda */
.jos-topo-imagem .jos-topo-busca { margin-top: 18px; max-width: 460px; }
/* a imagem e o degrade dependem de --jos-lb-h (ver «topo das listagens»): a altura nao pode ser outra. Quando o conteudo
   precisa de mais espaco (pesquisa da Ajuda), sobe-se a propria --jos-lb-h e a imagem e o degrade acompanham. */
@media (min-width: 768px) { .eko-prod-banner.jos-topo-alto { --jos-lb-h: clamp(320px, 24vw, 380px); } }

/* paginas de entrar / recuperar palavra-passe: foto vertical (a dos emails, 2026-11-10) - enquadrar pelo topo para nao cortar a frase */
.eko-reset-media-login { background-position: center 12%; }
