/* loja.css - LPM vitrine (referência visual: e-commerce de luxo, fundo branco, tipografia sóbria) */
:root{--preto:#111;--cinza:#757575;--linha:#e8e8e8;--fundo:#fff;--suave:#f7f7f7}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Archivo',system-ui,sans-serif;background:var(--fundo);color:var(--preto);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
.ff-wrap{max-width:1360px;margin:0 auto;padding:0 32px}
@media(max-width:700px){.ff-wrap{padding:0 16px}}

/* topo */
.ff-top{border-bottom:1px solid var(--linha);position:sticky;top:0;background:#fff;z-index:20}
.ff-top .ff-wrap{display:flex;align-items:center;gap:24px;height:64px}
.ff-logo{font-family:'Cormorant Garamond',Georgia,serif;font-size:30px;font-weight:600;letter-spacing:.28em;margin-right:-0.28em}
.ff-tag{font-size:10px;letter-spacing:.32em;color:var(--cinza);text-transform:uppercase;margin-top:2px}
.ff-top nav{margin-left:auto;display:flex;gap:22px;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.ff-top nav a:hover{text-decoration:underline;text-underline-offset:4px}

/* busca */
.ff-busca{display:flex;border-bottom:1px solid var(--preto);max-width:280px;flex:1}
.ff-busca input{border:none;outline:none;font:inherit;width:100%;padding:6px 0;background:transparent}
.ff-busca button{border:none;background:none;cursor:pointer;font-size:14px}

/* layout com sidebar */
.ff-page{display:grid;grid-template-columns:230px 1fr;gap:44px;padding:28px 0 60px}
@media(max-width:900px){.ff-page{grid-template-columns:1fr;gap:10px}}

/* filtros */
.ff-filtros{font-size:13px}
.ff-filtros h3{font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;margin-bottom:14px}
.ff-filtros details{border-top:1px solid var(--linha);padding:12px 0}
.ff-filtros details:last-of-type{border-bottom:1px solid var(--linha)}
.ff-filtros summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;font-size:13px;font-weight:500}
.ff-filtros summary::after{content:"+";color:var(--cinza)}
.ff-filtros details[open] summary::after{content:"–"}
.ff-filtros ul{list-style:none;margin-top:10px;max-height:230px;overflow:auto}
.ff-filtros li{padding:3.5px 0;color:#333}
.ff-filtros li a:hover{text-decoration:underline;text-underline-offset:3px}
.ff-filtros li.sel a{font-weight:700}
.ff-filtros li.sel a::after{content:" ×";color:var(--cinza)}
.ff-limpar{display:inline-block;margin:12px 0 0;font-size:12px;color:var(--cinza);text-decoration:underline;text-underline-offset:3px}
.ff-preco{display:flex;gap:8px;margin-top:10px;align-items:center}
.ff-preco input{width:76px;border:1px solid var(--linha);padding:7px 8px;font:inherit;font-size:12px}
.ff-preco button{border:1px solid var(--preto);background:#fff;padding:7px 12px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.ff-preco button:hover{background:var(--preto);color:#fff}

/* barra acima do grid */
.ff-barra{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:12px;flex-wrap:wrap}
.ff-barra .ff-crumb{font-size:12px;color:var(--cinza)}
.ff-orden{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--cinza)}
.ff-orden select{border:none;font:inherit;font-size:12px;background:transparent;cursor:pointer;outline:none;font-weight:600;color:var(--preto)}

/* grid de produtos */
.ff-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px 8px}
@media(max-width:1100px){.ff-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.ff-grid{grid-template-columns:repeat(2,1fr)}}
.ff-card{display:block;padding-bottom:22px}
.ff-card .ph{aspect-ratio:3/4;background:var(--suave);display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:12px}
.ff-card .ph img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.ff-card:hover .ph img{transform:scale(1.03)}
.ff-card .ph .mono{font-family:'Cormorant Garamond',Georgia,serif;font-size:26px;letter-spacing:.3em;color:#c9c9c9}
.ff-card .marca{font-size:13px;font-weight:700;letter-spacing:.02em}
.ff-card .nome{font-size:13px;color:#4a4a4a;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ff-card .tam{font-size:12px;color:var(--cinza);margin-top:2px}
.ff-card .preco{font-size:13.5px;font-weight:600;margin-top:6px}

/* paginação */
.ff-pagin{display:flex;justify-content:center;align-items:center;gap:22px;margin-top:36px;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.ff-pagin a{border:1px solid var(--preto);padding:10px 22px}
.ff-pagin a:hover{background:var(--preto);color:#fff}
.ff-pagin span{color:var(--cinza)}

/* página da peça */
.ff-peca{display:grid;grid-template-columns:1.15fr 1fr;gap:56px;padding:36px 0 30px}
@media(max-width:900px){.ff-peca{grid-template-columns:1fr;gap:24px}}
.ff-peca .ph{aspect-ratio:3/4;background:var(--suave);display:flex;align-items:center;justify-content:center;overflow:hidden}
.ff-peca .ph img{width:100%;height:100%;object-fit:cover}
.ff-peca .ph .mono{font-family:'Cormorant Garamond',Georgia,serif;font-size:44px;letter-spacing:.3em;color:#cfcfcf}
.ff-info .marca{font-size:16px;font-weight:700}
.ff-info h1{font-size:16px;font-weight:400;color:#333;margin:4px 0 10px}
.ff-info .preco{font-size:22px;font-weight:600;margin:14px 0 4px}
.ff-info .det{font-size:13px;color:var(--cinza);margin:2px 0}
.ff-info .bloco{border-top:1px solid var(--linha);margin-top:22px;padding-top:18px}
.ff-form{display:flex;flex-direction:column;gap:10px;max-width:380px}
.ff-form input{border:1px solid #ccc;padding:13px 14px;font:inherit}
.btn-p{background:var(--preto);color:#fff;border:1px solid var(--preto);padding:15px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
.btn-p:hover{background:#333}
.btn-s{background:#fff;color:var(--preto);border:1px solid var(--preto);padding:13px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
.btn-s:hover{background:var(--suave)}
.ff-nota{font-size:12px;color:var(--cinza)}
.ff-secao{padding:26px 0 60px}
.ff-secao h2{font-size:13px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;margin-bottom:20px}

/* rodapé */
.ff-rodape{border-top:1px solid var(--linha);padding:34px 0;color:var(--cinza);font-size:12px;letter-spacing:.04em;text-align:center}

/* páginas simples (login, retorno) */
.ff-caixa{max-width:420px;margin:70px auto;border:1px solid var(--linha);padding:34px;text-align:center}
.ff-caixa h2{font-size:16px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:14px}
.ff-caixa p{color:#444;margin-bottom:14px}
.ff-caixa input{width:100%;border:1px solid #ccc;padding:13px;font:inherit;margin-bottom:10px}
.erro{color:#b04a4a;font-size:13px;margin-bottom:10px}
