*{margin:0;padding:0;box-sizing:border-box;}
:root{--accent:#e8531a;--dark:#0d0d0d;--font:'Helvetica Neue',Helvetica,Arial,sans-serif;}
html{scroll-behavior:smooth;}
body{font-family:var(--font);background:#fff;color:#1a1a1a;min-height:100vh;}

a{color:inherit;}

/* HOME / LOJA BUTTONS (coin haut-gauche, comme la page Sobre) */
.top-btns{position:fixed;top:1.5rem;left:2rem;z-index:500;display:flex;gap:.7rem;}
.top-btn{background:var(--accent);color:#fff;border:none;padding:.55rem 1.3rem;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;border-radius:4px;cursor:pointer;text-decoration:none;transition:background .2s;display:inline-block;}
.top-btn:hover{background:#c4430f;}
.top-btn.secondary{background:var(--accent);}
.top-btn.secondary:hover{background:#c4430f;}
@media(max-width:640px){.top-btns{top:1rem;left:1rem;}.top-btn{padding:.5rem 1rem;font-size:.65rem;}}
.top-btn .lbl-m{display:none;}
@media(max-width:640px){.top-btn .lbl-d{display:none;}.top-btn .lbl-m{display:inline;}}

/* HEADER DE PAGE */
.page-wrap{max-width:1300px;margin:0 auto;padding:7rem 3rem 5rem;}
.section-label{font-size:.65rem;letter-spacing:.35em;text-transform:uppercase;color:var(--accent);margin-bottom:1rem;}
.section-title{font-size:clamp(1.8rem,4vw,3.4rem);font-weight:200;letter-spacing:.04em;text-transform:uppercase;margin-bottom:1.2rem;color:#1a1a1a;}
.section-title strong{font-weight:700;}
.section-sub{font-size:.9rem;color:#666;max-width:600px;line-height:1.7;margin-bottom:3rem;}
@media(max-width:640px){.page-wrap{padding:6rem 1.3rem 3rem;}}

/* BANNIÈRE ENCOMENDAS PERSONALIZADAS */
.encomenda-banner{background:var(--accent);color:#fff;border-radius:10px;padding:1.4rem 1.4rem 2rem;margin-bottom:3.5rem;overflow:hidden;}
.encomenda-img{width:100%;display:block;border-radius:6px;margin-bottom:.4rem;}
.encomenda-legendas{display:grid;grid-template-columns:58.5% 41.5%;margin-bottom:1.6rem;text-align:center;color:#fff;}
.legenda{display:flex;flex-direction:column;align-items:center;gap:.1rem;padding:0 .6rem;}
.legenda strong,.legenda span{font-size:.95rem;font-weight:700;line-height:1.35;}
.legenda small{font-size:.8rem;line-height:1.3;opacity:.95;}
@media(max-width:900px){.legenda strong,.legenda span{font-size:.88rem;} .legenda small{font-size:.75rem;}}
@media(max-width:640px){
  .encomenda-banner{padding:1.2rem 1rem 2rem;text-align:center;}
  .encomenda-legendas{grid-template-columns:1fr;gap:.7rem;margin:.8rem 0 1.8rem;}
  .legenda{display:block;padding:0 .4rem;}
  .legenda strong,.legenda span,.legenda small{display:inline;font-size:.88rem;font-weight:600;line-height:1.45;}
  .legenda strong::after,.legenda small::after,.legenda span::after{content:' ';}
  .legenda small{font-weight:600;}
  .encomenda-conteudo{flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:1.4rem;padding:0 .3rem;}
  .encomenda-banner h3{font-size:1.7rem;margin-bottom:1rem;}
  .encomenda-banner p{font-size:1.2rem;color:#fff;max-width:none;line-height:1.5;}
}
.encomenda-conteudo{display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap;padding:0 1.1rem;}
.encomenda-banner h3{font-size:1.3rem;font-weight:700;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.03em;}
.encomenda-banner p{font-size:1.15rem;color:#fce6da;max-width:560px;line-height:1.6;}
.encomenda-banner .top-btn{position:static;background:#fff;color:var(--accent);white-space:nowrap;}
.encomenda-banner .top-btn:hover{background:#1a1a1a;color:#fff;}
@media(max-width:640px){.encomenda-conteudo{padding:0 .3rem;}}

/* GRID PRODUTOS (même esprit que .portfolio-grid) */
.produtos-grid{columns:3;column-gap:1.2rem;}
@media(max-width:900px){.produtos-grid{columns:2;}}
@media(max-width:560px){.produtos-grid{columns:1;}}
.produto-card{break-inside:avoid;margin-bottom:1.2rem;position:relative;overflow:hidden;background:#1a1a1a;display:block;text-decoration:none;border-radius:4px;}
.produto-card img{width:100%;display:block;object-fit:cover;}
.produto-caption{padding:.7rem .9rem .8rem;background:#fff;border-top:2px solid var(--accent);}
.produto-title{font-size:.85rem;font-weight:600;line-height:1.3;color:#1a1a1a;}
.produto-tamanho{font-size:.68rem;color:#999;margin-top:.15rem;letter-spacing:.03em;}

/* PÁGINA PRODUTO — layout aéré, inspiré de galeria de arte */
.produto-wrap{max-width:1240px;margin:0 auto;padding:8rem 3rem 6rem;display:grid;grid-template-columns:1.15fr 1fr;gap:5.5rem;position:relative;}
@media(max-width:900px){.produto-wrap{grid-template-columns:1fr;padding:6rem 1.3rem 3rem;gap:2.5rem;}}

.produto-nav{position:fixed;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;background:#fff;border:1px solid #ddd;color:#1a1a1a;display:flex;align-items:center;justify-content:center;font-size:1.6rem;text-decoration:none;z-index:400;box-shadow:0 2px 10px rgba(0,0,0,.08);transition:background .2s,color .2s;}
.produto-nav:hover{background:var(--accent);border-color:var(--accent);color:#fff;}
.produto-nav-prev{left:1.5rem;}
.produto-nav-next{right:1.5rem;}
@media(max-width:900px){
  .produto-nav{width:40px;height:40px;font-size:1.3rem;top:auto;bottom:1.2rem;transform:none;}
  .produto-nav-prev{left:1.2rem;}
  .produto-nav-next{right:1.2rem;}
}

.tamanho-nota{font-size:.72rem;color:#999;margin:.9rem 0 2.4rem;font-style:italic;}

.galeria-col{display:flex;flex-direction:column;}
.galeria-principal{width:100%;aspect-ratio:1/1;background:#f7f7f6;border-radius:2px;overflow:hidden;cursor:zoom-in;margin-bottom:2.8rem;}
.galeria-principal img{width:100%;height:100%;object-fit:contain;}
.galeria-thumbs{display:flex;gap:.9rem;flex-wrap:wrap;}
.galeria-thumbs img{width:64px;height:64px;object-fit:cover;border-radius:2px;cursor:pointer;opacity:.45;transition:opacity .25s;border-bottom:2px solid transparent;}
.galeria-thumbs img:hover{opacity:.8;}
.galeria-thumbs img.ativa{opacity:1;border-bottom-color:var(--accent);}

.produto-info h1{font-size:1.7rem;font-weight:300;letter-spacing:.01em;margin-bottom:1.1rem;line-height:1.3;}
.produto-info .desc{font-size:.88rem;color:#666;line-height:1.85;margin-bottom:2.2rem;max-width:46ch;}

/* CARTOUCHE — fiche técnica minimaliste, sans encadré */
.cartouche{margin-bottom:0;}
.cartouche-row{display:flex;justify-content:space-between;padding:.65rem 0;border-bottom:1px solid #eee;font-size:.8rem;}
.cartouche-row:first-child{border-top:1px solid #eee;}
.cartouche-row .label{color:#999;text-transform:uppercase;letter-spacing:.12em;font-size:.65rem;}
.cartouche-row .valor{color:#1a1a1a;font-weight:500;text-align:right;}

/* Tipos de impressão */
.tipo-papel-list{display:flex;flex-direction:column;gap:.55rem;margin-bottom:1.6rem;}
.tipo-papel-opt{display:flex;align-items:center;justify-content:space-between;border:1px solid #e2e2e2;border-radius:2px;padding:.85rem 1.1rem;cursor:pointer;transition:border-color .2s,background .2s;}
.tipo-papel-opt:hover{border-color:var(--accent);}
.tipo-papel-opt.selecionado{border-color:var(--accent);background:#fff8f4;}
.tipo-papel-opt input{margin-right:.8rem;accent-color:var(--accent);}
.tipo-papel-nome{font-size:.85rem;font-weight:500;flex:1;}
.tipo-papel-preco{font-weight:700;color:var(--accent);font-size:.85rem;white-space:nowrap;}

.moldura-opt{display:flex;align-items:center;gap:.6rem;font-size:.85rem;margin-bottom:2rem;color:#444;}
.moldura-opt input{accent-color:var(--accent);}


.btn-primario{display:inline-block;background:var(--accent);color:#fff;border:none;padding:.9rem 2.4rem;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;border-radius:4px;cursor:pointer;text-decoration:none;text-align:center;transition:background .2s;}
.btn-primario:hover{background:#c4430f;}
.btn-secundario{display:inline-block;background:none;border:1px solid #1a1a1a;color:#1a1a1a;padding:.85rem 2.2rem;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;border-radius:4px;cursor:pointer;text-decoration:none;text-align:center;transition:all .2s;}
.btn-secundario:hover{background:#1a1a1a;color:#fff;}

/* LIGHTBOX popup */
.lightbox{display:none;position:fixed;inset:0;background:rgba(0,0,0,.94);z-index:3000;align-items:center;justify-content:center;}
.lightbox.open{display:flex;}
.lightbox img{max-width:88vw;max-height:86vh;object-fit:contain;}
.lightbox-close{position:absolute;top:1.5rem;right:2rem;color:#fff;font-size:2.2rem;background:none;border:none;cursor:pointer;opacity:.8;}
.lightbox-close:hover{opacity:1;}
.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.6);border:2px solid rgba(255,255,255,.85);color:#fff;font-size:1.8rem;line-height:1;width:56px;height:56px;border-radius:50%;cursor:pointer;transition:background .2s;z-index:5;display:flex;align-items:center;justify-content:center;padding:0 0 .15em;box-shadow:0 2px 10px rgba(0,0,0,.4);-webkit-tap-highlight-color:transparent;}
.lightbox-nav:hover{background:var(--accent);border-color:var(--accent);}
.lightbox-prev{left:1.5rem;}
.lightbox-next{right:1.5rem;}
@media(max-width:640px){.lightbox-nav{width:44px;height:44px;font-size:1.5rem;}.lightbox-prev{left:.5rem;}.lightbox-next{right:.5rem;}.lightbox-close{top:.8rem;right:.8rem;font-size:1.7rem;width:42px;height:42px;border-radius:50%;background:rgba(0,0,0,.6);border:2px solid rgba(255,255,255,.85);opacity:1;z-index:5;display:flex;align-items:center;justify-content:center;padding:0 0 .1em;}}

/* CARRINHO */
.carrinho-item{display:flex;gap:1.2rem;align-items:center;padding:1rem 0;border-bottom:1px solid #eee;}
.carrinho-item img{width:80px;height:80px;object-fit:cover;border-radius:6px;}
.carrinho-item .info{flex:1;}
.carrinho-item .info h4{font-size:.95rem;margin-bottom:.2rem;}
.carrinho-item .info .meta{font-size:.75rem;color:#888;margin-bottom:.4rem;}
.carrinho-qtd-form{display:flex;align-items:center;gap:.5rem;}
.carrinho-qtd-form label{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:#999;}
.carrinho-qtd-form input{width:52px;padding:.3rem;text-align:center;border:1px solid #ddd;border-radius:4px;font-size:.82rem;}
.carrinho-item .preco{font-weight:700;color:var(--accent);white-space:nowrap;}
.carrinho-remover{background:none;border:none;color:#bbb;font-size:1.1rem;cursor:pointer;}
.carrinho-remover:hover{color:#e8531a;}

.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
@media(max-width:640px){.form-grid{grid-template-columns:1fr;}}
.form-field{margin-bottom:1rem;}
.form-field.full{grid-column:1/-1;}
.form-field label{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:#888;margin-bottom:.35rem;}
.form-field input,.form-field select,.form-field textarea{width:100%;padding:.7rem .9rem;border:1px solid #ddd;border-radius:5px;font-size:.88rem;font-family:var(--font);}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:none;border-color:var(--accent);}

.resumo-box{background:#fafafa;border:1px solid #eee;border-radius:8px;padding:1.5rem 1.7rem;position:sticky;top:2rem;}
.resumo-linha{display:flex;justify-content:space-between;font-size:.85rem;padding:.5rem 0;color:#555;}
.resumo-linha.total{border-top:1px solid #ddd;margin-top:.5rem;padding-top:1rem;font-size:1.1rem;font-weight:700;color:#1a1a1a;}

/* PIX / PAGAMENTO */
.pix-box{max-width:480px;margin:0 auto;text-align:center;}
.pix-box #qrcode{display:flex;justify-content:center;margin:1.5rem 0;}
.pix-copia{display:flex;gap:.5rem;margin-bottom:1.5rem;}
.pix-copia input{flex:1;padding:.7rem;border:1px solid #ddd;border-radius:5px;font-size:.75rem;background:#f7f7f5;}
.pix-copia button{white-space:nowrap;}

.aviso{background:#fff4ee;border:1px solid #f3c8ac;color:#8a4a1e;padding:1rem 1.2rem;border-radius:6px;font-size:.82rem;margin-bottom:1.5rem;}

footer.loja-footer{padding:2rem 3rem;border-top:1px solid rgba(0,0,0,.1);text-align:center;font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:#aaa;}

.nb{white-space:nowrap;}

/* Venda por ilustração — seletor discreto */
.selecao-bloco{margin-top:1.6rem;}
.selecao-ajuda{font-size:.78rem;color:#999;margin:0 0 .8rem;}
.selecao-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(82px,1fr));gap:.55rem;}
.selecao-item{position:relative;border-radius:8px;overflow:hidden;background:#f3f3f3;aspect-ratio:1/1;outline:2px solid transparent;outline-offset:-2px;transition:outline-color .15s;}
.selecao-item img{width:100%;height:100%;object-fit:cover;display:block;cursor:pointer;transition:transform .25s,opacity .2s;opacity:.92;}
.selecao-item:hover img{transform:scale(1.04);opacity:1;}
.selecao-num{position:absolute;left:5px;top:4px;font-size:.58rem;color:#fff;text-shadow:0 0 3px rgba(0,0,0,.7);pointer-events:none;letter-spacing:.04em;}
.selecao-qtd{position:absolute;left:50%;bottom:5px;transform:translateX(-50%);display:flex;align-items:center;background:rgba(255,255,255,.88);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-radius:20px;box-shadow:0 1px 4px rgba(0,0,0,.18);}
.selecao-qtd button{width:24px;height:24px;border:none;background:none;font-size:.95rem;line-height:1;cursor:pointer;color:#555;padding:0;border-radius:50%;}
.selecao-qtd button:hover{color:var(--accent);}
.selecao-qtd input{width:18px;text-align:center;border:none;background:transparent;font-size:.72rem;font-weight:600;color:#999;padding:0;-moz-appearance:textfield;pointer-events:none;}
.selecao-qtd input::-webkit-outer-spin-button,.selecao-qtd input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.selecao-item.marcada{outline-color:var(--accent);}
.selecao-item.marcada .selecao-qtd input{color:var(--accent);}
.tipo-papel-preco small{font-size:.68rem;font-weight:400;color:#888;margin-left:.2rem;}
.preco-por-ilustracao{font-size:.78rem;color:#999;margin:1rem 0 .5rem;}
.selecao-resumo{font-size:.9rem;margin:0 0 1rem;padding:.6rem 0;border-top:1px solid #eee;border-bottom:1px solid #eee;color:#555;}
.selecao-resumo strong{color:#1a1a1a;}
.btn-primario:disabled{opacity:.4;cursor:not-allowed;}
/* Carrinho : botões do resumo */
.resumo-nota{font-size:.72rem;color:#999;line-height:1.5;margin:.6rem 0 1rem;text-align:center;}
.btn-link-discreto{display:block;text-align:center;font-size:.78rem;letter-spacing:.08em;color:#777;text-decoration:none;padding:.7rem;border:1px solid #e3e3e3;border-radius:2px;}
.btn-link-discreto:hover{color:var(--accent);border-color:var(--accent);}
/* Página de mensagem */
.mensagem-aviso{background:#fff8f4;border-left:3px solid var(--accent);padding:1rem 1.2rem;margin:1.2rem 0 1.8rem;max-width:640px;font-size:.85rem;color:#555;}
.mensagem-aviso strong{display:block;color:#1a1a1a;margin-bottom:.5rem;}
.mensagem-aviso ul{margin:.4rem 0 .6rem 1.1rem;padding:0;font-size:.8rem;}
.mensagem-aviso span{font-size:.8rem;color:#888;}

/* MENU DO SITE (igual à página Construção IA) */
.site-nav{position:fixed;top:0;left:0;right:0;z-index:600;display:flex;justify-content:space-between;align-items:center;padding:1.4rem 3rem;background:var(--accent);}
.site-nav .logo{font-size:.85rem;letter-spacing:.25em;text-transform:uppercase;color:#fff;text-decoration:none;opacity:.9;white-space:nowrap;}
.site-nav ul{list-style:none;display:flex;gap:2.5rem;align-items:center;}
.site-nav ul a{color:#fff;text-decoration:none;font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;opacity:.8;transition:opacity .2s;white-space:nowrap;}
.site-nav ul a:hover{opacity:1;}
.site-nav ul a.active{opacity:1;font-weight:700;border-bottom:1px solid #fff;padding-bottom:.3rem;}
.site-nav .nav-papasalse{opacity:1;}
.site-nav .nav-papasalse img{height:2.6rem;width:auto;display:block;}
@media(max-width:1100px){.site-nav ul{gap:1.4rem;}}
.hamburger{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:40px;height:40px;cursor:pointer;z-index:700;background:none;border:none;padding:4px;}
.hamburger span{display:block;width:24px;height:2px;background:#fff;transition:transform .3s,opacity .3s;}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.mobile-menu{display:none;position:fixed;inset:0;z-index:650;background:var(--accent);flex-direction:column;justify-content:center;align-items:center;gap:3rem;}
.mobile-menu.open{display:flex;}
.mobile-menu a{color:#fff;text-decoration:none;font-size:1.5rem;letter-spacing:.25em;text-transform:uppercase;opacity:.85;}
.mobile-menu a:hover,.mobile-menu a.active{opacity:1;}
.mobile-menu a.active{font-weight:700;text-decoration:underline;text-underline-offset:.4em;}
@media(max-width:920px){.site-nav{padding:1.2rem 1.5rem;}.site-nav ul{display:none;}.hamburger{display:flex;}}
