<?php
/* Paginas de categoria: ?s=<sessao> | ?sub=<subsessao> | (sem) indice */
require __DIR__.'/_db.php';
require __DIR__.'/_cat.php';
require __DIR__.'/_layout.php';
header('Content-Type: text/html; charset=utf-8');
header('Access-Control-Allow-Origin: *');
function h($s){ return htmlspecialchars((string)$s,ENT_QUOTES,'UTF-8'); }
function deslug($s){ return preg_replace('/\s+/',' ',trim(str_replace('-',' ',$s))); }
function titlecase($s){ $o=array(); foreach(explode(' ',$s) as $x){ if($x==='')continue; $o[]=strtoupper(substr($x,0,1)).substr($x,1); } return implode(' ',$o); }
function brlp($v){ return number_format((float)$v,2,',','.'); }
$BASE='https://www.revutoautoparts.com.br';
$db=loja_db();
$sSlug   = isset($_GET['s'])   ? preg_replace('/[^a-z0-9\-]/','',strtolower($_GET['s']))   : '';
$subSlug = isset($_GET['sub']) ? preg_replace('/[^a-z0-9\-]/','',strtolower($_GET['sub'])) : '';
$page=max(1,intval(isset($_GET['page'])?$_GET['page']:1)); $per=48; $off=($page-1)*$per;

function buscar_produtos($db,$texto,$per,$off,&$total){
  $m=array();
  foreach(preg_split('/[^0-9A-Za-zà-ÿÀ-ß]+/u',trim($texto)) as $t){ if($t!=='') $m[]='"'.$t.'"*'; }
  if(!$m){ $total=0; return array(); }
  $match=implode(' ',$m);
  $st=$db->prepare("SELECT l.* FROM loja_fts f JOIN loja l ON l.id=f.id WHERE loja_fts MATCH :m AND l.status='ativo' ORDER BY l.id DESC LIMIT $per OFFSET $off");
  $st->bindValue(':m',$match);
  $cs=$db->prepare("SELECT count(*) FROM loja_fts f JOIN loja l ON l.id=f.id WHERE loja_fts MATCH :m AND l.status='ativo'");
  $cs->bindValue(':m',$match);
  $total=(int)$cs->execute()->fetchArray(SQLITE3_NUM)[0];
  $res=$st->execute(); $out=array();
  while($r=$res->fetchArray(SQLITE3_ASSOC)) $out[]=$r;
  return $out;
}
function card($r){
  $nome=$r['nome']; $id=(int)$r['id']; $pix=round($r['preco']*0.83,2); $sg=cat_slug($nome);
  $url='produto?id='.$id.'&p='.$sg;
  $img='img.php?id='.$id.'&n=0&f=revuto-auto-parts-'.$sg.'.jpg';
  return '<a class="card" href="'.h($url).'"><div class="cimg"><img loading="lazy" src="'.h($img).'" alt="'.h($nome).'"></div><div class="cn">'.h($nome).'</div><div class="cp">R$ '.brlp($pix).' <span>no Pix</span></div></a>';
}

/* resolve conteudo */
$title=''; $desc=''; $canon=''; $h1=''; $crumb=array(); $body='';
if($subSlug!==''){
  $texto=deslug($subSlug); $nomeSub=titlecase($texto);
  $cls=cat_classify($texto); $sessao=$cls['sessao']; $sessaoSlug=$cls['sessao_slug'];
  $total=0; $prods=buscar_produtos($db,$texto,$per,$off,$total);
  $title=$nomeSub.' - Peças | Revuto Auto Parts';
  $desc=$nomeSub.': peças originais/OEM com garantia de 12 meses e entrega para todo o Brasil. '.$total.' anúncios.';
  $canon=$BASE.'/categoria?sub='.$subSlug;
  $h1=$nomeSub;
  $crumb=array(array('Início','/'),array('Catálogo','catalogo/'),array($sessao,'categoria?s='.$sessaoSlug),array($nomeSub,''));
  if(!$prods){ $body='<p class="empty">Nenhum anúncio encontrado para esta peça no momento. <a href="catalogo/">Ver catálogo</a>.</p>'; }
  else{
    $body='<div class="grid">'; foreach($prods as $r){ $body.=card($r); } $body.='</div>';
    $tp=(int)ceil($total/$per);
    if($tp>1){ $body.='<div class="pag">'; for($p=max(1,$page-2);$p<=min($tp,$page+2);$p++){ $body.=($p==$page?'<span class="cur">'.$p.'</span>':'<a href="categoria?sub='.h($subSlug).'&page='.$p.'">'.$p.'</a>'); } $body.='</div>'; }
  }
} elseif($sSlug!==''){
  $sessao=cat_sessao_by_slug($sSlug);
  if($sessao===null){ http_response_code(404); $sessao='Categoria'; }
  $subs=cat_subs($sessao);
  $title=$sessao.' - Catálogo de Peças | Revuto Auto Parts';
  $desc='Peças de '.$sessao.' originais e OEM para carros importados europeus. Escolha a subcategoria.';
  $canon=$BASE.'/categoria?s='.$sSlug;
  $h1=$sessao;
  $crumb=array(array('Início','/'),array('Catálogo','catalogo/'),array($sessao,''));
  $body='<div class="cats">'; foreach($subs as $n){ $body.='<a class="cat" href="categoria?sub='.h(cat_slug($n)).'">'.h($n).'</a>'; } $body.='</div>';
} else {
  $title='Catálogo de Peças por Categoria | Revuto Auto Parts';
  $desc='Catálogo completo de peças automotivas por categoria: freios, motor, suspensão, sensores, filtros e mais.';
  $canon=$BASE.'/categoria';
  $h1='Categorias de Peças';
  $crumb=array(array('Início','/'),array('Catálogo','categoria'));
  $body='<div class="cats">'; foreach(cat_sessoes() as $g){ $body.='<a class="cat" href="categoria?s='.h(cat_slug($g)).'">'.h($g).'</a>'; } $body.='</div>';
}

/* breadcrumb html + json-ld */
$cr=array(); $items=array(); $i=1;
foreach($crumb as $c){ $nm=$c[0]; $u=$c[1];
  $cr[]= $u!=='' ? '<a href="'.h($u).'">'.h($nm).'</a>' : '<span>'.h($nm).'</span>';
  $it=array('@type'=>'ListItem','position'=>$i,'name'=>$nm); if($u!=='') $it['item']=$BASE.'/'.$u; $items[]=$it; $i++;
}
$ldcrumb=json_encode(array('@context'=>'https://schema.org','@type'=>'BreadcrumbList','itemListElement'=>$items),JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES);
?><!DOCTYPE html>
<html lang="pt-BR"><head><meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title><?php echo h($title); ?></title>
<meta name="description" content="<?php echo h($desc); ?>">
<meta name="robots" content="index,follow">
<link rel="canonical" href="<?php echo h($canon); ?>">
<link rel="icon" href="favicon.ico">
<meta property="og:title" content="<?php echo h($title); ?>"><meta property="og:description" content="<?php echo h($desc); ?>"><meta property="og:type" content="website"><meta property="og:url" content="<?php echo h($canon); ?>">
<script type="application/ld+json"><?php echo $ldcrumb; ?></script>
<style>
*{box-sizing:border-box;margin:0;padding:0}body{font-family:Arial,Helvetica,sans-serif;background:#eef0f5;color:#1e293b}
header{background:linear-gradient(120deg,#0b1f3a,#13294d);padding:14px 18px;display:flex;align-items:center;gap:18px}
header .lg{color:#fff;font-weight:bold;font-size:20px;text-decoration:none;display:flex;align-items:center;gap:8px}
header .lg span{color:#f59e0b;font-size:12px;font-weight:normal}
header form{flex:1;display:flex;max-width:680px}header input{flex:1;border:none;border-radius:6px 0 0 6px;padding:11px 14px;font-size:14px}
header button{background:#2563eb;color:#fff;border:none;border-radius:0 6px 6px 0;padding:0 20px;font-weight:bold;cursor:pointer}
.wrap{max-width:1180px;margin:0 auto;padding:0 18px}
.crumb{font-size:12px;color:#64748b;padding:14px 0}.crumb a{color:#2563eb;text-decoration:none}.crumb span{color:#334155}
h1{font-size:22px;color:#0f172a;margin:6px 0 18px}
.cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-bottom:32px}
.cat{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:16px;text-decoration:none;color:#1e293b;font-weight:bold;font-size:14px;transition:.15s}
.cat:hover{box-shadow:0 6px 18px rgba(0,0,0,.1);transform:translateY(-2px);border-color:#2563eb}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;margin-bottom:24px}
.card{background:#fff;border:1px solid #eef0f3;border-radius:12px;padding:12px;text-decoration:none;color:inherit;transition:.15s;display:block}
.card:hover{box-shadow:0 6px 18px rgba(0,0,0,.1);transform:translateY(-2px)}
.cimg{height:150px;display:flex;align-items:center;justify-content:center;margin-bottom:8px}.cimg img{max-width:100%;max-height:100%;object-fit:contain}
.cn{font-size:12.5px;color:#334155;line-height:1.35;height:52px;overflow:hidden;margin-bottom:6px}
.cp{font-size:15px;font-weight:bold;color:#16a34a}.cp span{font-size:11px;color:#64748b;font-weight:normal}
.pag{display:flex;gap:6px;justify-content:center;margin:10px 0 36px}.pag a,.pag span{padding:7px 12px;border-radius:6px;text-decoration:none;font-size:13px;border:1px solid #e2e8f0;color:#2563eb}.pag .cur{background:#2563eb;color:#fff;border-color:#2563eb}
.empty{padding:30px 0;color:#64748b}.empty a{color:#2563eb}
footer{background:#0b1f3a;color:#cbd5e1;font-size:12px;text-align:center;padding:20px;margin-top:30px}footer a{color:#93c5fd;text-decoration:none}
<?php echo lay_css(); ?>
</style></head><body>
<?php echo lay_header(); ?>
<div class="wrap">
<div class="crumb"><?php echo implode(' &rsaquo; ',$cr); ?></div>
<?php echo lay_home_btn(); ?>
<h1><?php echo h($h1); ?></h1>
<?php echo $body; ?>
</div>
<?php echo lay_footer(); ?>
</body></html>
