/*
Theme Name: M.A. Rolamentos
Theme URI: https://marolamentos.com
Author: M.A. Rolamentos
Description: Tema institucional da M.A. Rolamentos — a casa dos rolamentos. Catálogo pesquisável, cotação por WhatsApp e blog otimizado para SEO.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ma-rolamentos
Tags: business, blog, custom-menu, custom-logo, translation-ready
*/

:root{
  --navy:#002250;
  --navy-deep:#001736;
  --navy-soft:#0D3B72;
  --yellow:#F1EB27;
  --yellow-deep:#D8D211;
  --paper:#F5F6F7;
  --white:#FFFFFF;
  --ink:#14202E;
  --ink-soft:#55647A;
  --ink-faint:#8494A8;
  --line:#DCE2E9;
  --line-strong:#C3CDD9;
  --green:#1F7A45;
  --shadow-sm:0 1px 2px rgba(0,34,80,.06), 0 2px 6px rgba(0,34,80,.05);
  --shadow-md:0 2px 4px rgba(0,34,80,.06), 0 12px 28px -14px rgba(0,34,80,.30);
  --shadow-lg:0 4px 8px rgba(0,34,80,.07), 0 28px 60px -24px rgba(0,34,80,.40);
  --r:12px;
  --r-sm:8px;
  --maxw:1180px;
}

*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%; scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:"Barlow", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size:17px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
@media (prefers-reduced-motion: reduce){
  *{animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important;}
}
img{max-width:100%; display:block;}
a{color:var(--navy); text-decoration:none;}
button{font:inherit; color:inherit;}
:focus-visible{outline:3px solid var(--yellow); outline-offset:2px; border-radius:4px;}

.wrap{max-width:var(--maxw); margin:0 auto; padding:0 24px;}
.mono{font-family:"IBM Plex Mono", ui-monospace, monospace;}
.display{font-family:"Archivo", "Barlow", system-ui, sans-serif;}

/* ============ TIPOGRAFIA ============ */
h1,h2,h3,h4{margin:0; text-wrap:balance;}
.h-display{
  font-family:"Archivo", "Barlow", system-ui, sans-serif;
  font-weight:800;
  line-height:1.06;
  letter-spacing:-.022em;
}
.eyebrow{
  font-family:"Barlow", sans-serif;
  font-size:12.5px; font-weight:700;
  letter-spacing:.16em; text-transform:uppercase;
  color:var(--ink-soft);
  display:block; margin:0;
}
.eyebrow::before{
  content:""; display:inline-block; vertical-align:middle;
  width:22px; height:3px; background:var(--yellow); border-radius:2px;
  margin-right:11px; position:relative; top:-1px;
}
.eyebrow.on-navy{color:rgba(255,255,255,.72);}
.sec-title{font-size:clamp(1.85rem,4vw,2.7rem);}
.sec-lede{color:var(--ink-soft); font-size:1.08rem; max-width:60ch; margin:14px 0 0;}
.sec-lede.on-navy{color:rgba(255,255,255,.78);}

/* ============ BOTÕES ============ */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  padding:13px 22px; border-radius:999px;
  font-weight:700; font-size:15.5px; letter-spacing:.01em;
  border:2px solid transparent; cursor:pointer;
  transition:transform .16s ease, box-shadow .16s ease, background .16s ease, border-color .16s ease;
  text-align:center; line-height:1.2;
}
.btn:hover{transform:translateY(-2px);}
.btn-yellow{background:var(--yellow); color:var(--navy); box-shadow:0 4px 0 var(--yellow-deep);}
.btn-yellow:hover{background:#f7f24a; box-shadow:0 6px 0 var(--yellow-deep);}
.btn-navy{background:var(--navy); color:var(--white); box-shadow:0 4px 0 var(--navy-deep);}
.btn-navy:hover{background:#003a7a;}
.btn-ghost-light{background:transparent; color:var(--white); border-color:rgba(255,255,255,.42);}
.btn-ghost-light:hover{border-color:var(--white); background:rgba(255,255,255,.08);}
.btn-ghost{background:var(--white); color:var(--navy); border-color:var(--line-strong);}
.btn-ghost:hover{border-color:var(--navy);}
.btn-sm{padding:9px 16px; font-size:14px;}
.btn svg{flex:none;}

/* ============ HEADER ============ */
.site-header{
  position:sticky; top:0; z-index:80;
  background:var(--white);
  border-bottom:1px solid var(--line);
  box-shadow:var(--shadow-sm);
}
.header-in{
  max-width:var(--maxw); margin:0 auto; padding:10px 24px;
  display:flex; align-items:center; gap:18px;
}
.brand{display:flex; align-items:center; gap:12px; flex:none;}
.brand img{width:46px; height:46px; object-fit:contain; flex:none;}
.brand-text{display:flex; flex-direction:column; line-height:1;}
.brand-name{
  font-family:"Archivo", "Barlow", system-ui, sans-serif;
  font-weight:800; font-size:18.5px; color:var(--navy);
  letter-spacing:-.005em; text-transform:uppercase;
}
.brand-tag{
  font-size:9.5px; font-weight:700; letter-spacing:.15em; text-transform:uppercase;
  color:var(--ink-faint); margin-top:4px;
}
.main-nav{display:flex; gap:2px; margin-left:auto;}
.main-nav a{
  padding:9px 13px; border-radius:8px; white-space:nowrap;
  font-weight:600; font-size:15.5px; color:var(--ink);
  transition:background .15s ease, color .15s ease;
}
.main-nav a:hover{background:var(--paper); color:var(--navy);}
.main-nav a.active{color:var(--navy); background:#e8eef6;}
.header-cta{flex:none;}
.nav-toggle{
  display:none; margin-left:auto;
  background:var(--navy); color:var(--white); border:none;
  width:44px; height:44px; border-radius:10px; cursor:pointer;
  align-items:center; justify-content:center;
}
@media (max-width:1020px){
  .main-nav{
    position:fixed; inset:64px 0 auto; z-index:79;
    flex-direction:column; gap:0;
    background:var(--white); border-bottom:1px solid var(--line);
    padding:8px 16px 18px; margin-left:0;
    box-shadow:var(--shadow-md);
    transform:translateY(-120%); transition:transform .25s ease;
  }
  .main-nav.open{transform:translateY(0);}
  .main-nav a{padding:14px 12px; border-bottom:1px solid var(--line); border-radius:0; font-size:17px;}
  .nav-toggle{display:flex;}
  .header-cta{display:none;}
}
@media (max-width:420px){
  .brand img{width:42px;}
  .brand-name{font-size:17px;}
}

/* ============ ANEL DE ROLAMENTO (motivo da marca) ============ */
.ring-motif{position:absolute; pointer-events:none; user-select:none;}
.ring-spin{animation:spin 58s linear infinite; transform-origin:50% 50%;}
@keyframes spin{to{transform:rotate(360deg);}}

.ball-divider{
  display:flex; justify-content:center; align-items:center; gap:11px;
  padding:0; margin:0;
}
.ball-divider span{width:7px; height:7px; border-radius:50%; background:var(--line-strong);}
.ball-divider span:nth-child(4),.ball-divider span:nth-child(5){background:var(--navy);}

/* ============ HERO ============ */
.hero{
  position:relative; overflow:hidden;
  background:
    radial-gradient(1000px 520px at 82% 12%, #04336f 0%, transparent 62%),
    linear-gradient(160deg, var(--navy) 0%, var(--navy-deep) 100%);
  color:var(--white);
  padding:clamp(56px,8vw,96px) 0 0;
}
.hero-grid{
  position:absolute; inset:0; pointer-events:none; opacity:.30;
  background-image:linear-gradient(rgba(255,255,255,.075) 1px, transparent 1px),
                   linear-gradient(90deg, rgba(255,255,255,.075) 1px, transparent 1px);
  background-size:56px 56px;
  -webkit-mask-image:linear-gradient(to bottom, black, transparent 78%);
          mask-image:linear-gradient(to bottom, black, transparent 78%);
}
.hero-in{position:relative; z-index:2; display:grid; grid-template-columns:1.15fr .85fr; gap:40px; align-items:center;}
.hero h1{
  font-family:"Archivo", "Barlow", system-ui, sans-serif; font-weight:900;
  font-size:clamp(2.4rem,5.5vw,3.95rem); line-height:1.04; letter-spacing:-.032em;
  margin:20px 0 0; max-width:13ch; text-transform:uppercase;
}
.hero h1 em{font-style:normal; color:var(--yellow); display:block;}
.hero-sub{
  font-size:clamp(1.06rem,2vw,1.28rem); color:rgba(255,255,255,.84);
  max-width:52ch; margin:22px 0 0; font-weight:400;
}
.hero-sub b{color:var(--white); font-weight:700;}
.hero-actions{display:flex; gap:14px; flex-wrap:wrap; margin-top:32px;}
.hero-art{position:relative; display:flex; align-items:center; justify-content:center;}
.hero-watermark{
  position:absolute; right:-9%; top:50%; transform:translateY(-50%);
  width:min(560px,64vw); opacity:.07; pointer-events:none; z-index:1;
}
.photo-card{
  margin:0; position:relative; z-index:2;
  width:min(400px,100%); border-radius:16px; overflow:hidden;
  background:var(--navy-deep);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 30px 70px -24px rgba(0,0,0,.72);
}
.photo-card img{width:100%; height:auto; display:block; aspect-ratio:4/5; object-fit:cover;}
.photo-card figcaption{
  display:flex; align-items:center; gap:9px;
  padding:13px 17px; background:var(--navy-deep);
  border-top:3px solid var(--yellow);
  font-size:13px; font-weight:700; letter-spacing:.09em; text-transform:uppercase;
  color:var(--white);
}
.pc-dot{width:8px; height:8px; border-radius:50%; background:var(--yellow); flex:none;}
@media (max-width:900px){
  .hero-in{grid-template-columns:1fr;}
  .hero-art{margin-top:6px;}
  .photo-card{width:100%; max-width:420px;}
  .photo-card img{aspect-ratio:16/11;}
  .hero-watermark{display:none;}
}

.hero-stats{
  position:relative; z-index:2;
  margin-top:clamp(44px,6vw,72px);
  display:grid; grid-template-columns:repeat(4,1fr);
  border-top:1px solid rgba(255,255,255,.16);
}
.hstat{padding:22px 20px 30px; border-right:1px solid rgba(255,255,255,.16);}
.hstat:last-child{border-right:none;}
.hstat .n{
  font-family:"Archivo", "Barlow", system-ui, sans-serif; font-weight:900; letter-spacing:-.03em;
  font-size:clamp(1.7rem,3.4vw,2.5rem); color:var(--yellow); line-height:1;
  font-variant-numeric:tabular-nums;
}
.hstat .l{font-size:13px; font-weight:600; letter-spacing:.09em; text-transform:uppercase; color:rgba(255,255,255,.68); margin-top:9px;}
@media (max-width:720px){
  .hero-stats{grid-template-columns:1fr 1fr;}
  .hstat:nth-child(2){border-right:none;}
  .hstat:nth-child(1),.hstat:nth-child(2){border-bottom:1px solid rgba(255,255,255,.16);}
}

/* ============ SEÇÕES ============ */
.section{padding:clamp(56px,7vw,86px) 0;}
.section.tight{padding:clamp(40px,5vw,60px) 0;}
.section-white{background:var(--white);}
.section-paper{background:var(--paper);}
.section-navy{background:var(--navy); color:var(--white);}
.section-head{margin-bottom:40px;}

/* ============ PILARES ============ */
.pillars{display:grid; grid-template-columns:repeat(4,1fr); gap:18px;}
.pillar{
  background:var(--white); border:1px solid var(--line); border-radius:var(--r);
  padding:26px 22px 24px; box-shadow:var(--shadow-sm);
  position:relative; overflow:hidden;
  transition:transform .18s ease, box-shadow .18s ease;
}
.pillar:hover{transform:translateY(-4px); box-shadow:var(--shadow-md);}
.pillar::after{content:""; position:absolute; left:0; right:0; bottom:0; height:4px; background:var(--yellow);}
.pillar-ico{
  width:48px; height:48px; border-radius:50%; background:var(--yellow);
  display:flex; align-items:center; justify-content:center; margin-bottom:16px;
}
.pillar h3{font-size:1.18rem; font-weight:700; color:var(--navy); margin-bottom:7px;}
.pillar p{margin:0; font-size:15.5px; color:var(--ink-soft);}
@media (max-width:900px){.pillars{grid-template-columns:1fr 1fr;}}
@media (max-width:520px){.pillars{grid-template-columns:1fr;}}

/* ============ CATEGORIAS ============ */
.cat-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(224px,1fr)); gap:16px;}
.cat-card{
  background:var(--white); border:1px solid var(--line); border-radius:var(--r);
  padding:22px 20px 18px; cursor:pointer; text-align:left;
  display:flex; flex-direction:column; gap:12px; width:100%;
  transition:border-color .18s ease, transform .18s ease, box-shadow .18s ease;
  box-shadow:var(--shadow-sm);
}
.cat-card:hover{border-color:var(--navy); transform:translateY(-3px); box-shadow:var(--shadow-md);}
.cat-card .cat-ico{width:44px; height:44px; color:var(--navy);}
.cat-card h3{font-size:1.08rem; font-weight:700; color:var(--navy); line-height:1.25;}
.cat-meta{
  font-family:"IBM Plex Mono", monospace; font-size:12.5px; color:var(--ink-faint);
  font-variant-numeric:tabular-nums;
}
.cat-link{
  margin-top:auto; padding-top:11px; border-top:1px solid var(--line);
  font-size:13px; font-weight:700; color:var(--navy);
  display:flex; align-items:center; justify-content:space-between; gap:8px; letter-spacing:.01em;
}
.cat-link svg{flex:none;}
.cat-card:hover .cat-link{color:#004a9e;}

/* ============ BUSCA / CATÁLOGO ============ */
.catalog-panel{
  scroll-margin-top:84px;
  background:var(--white); border:1px solid var(--line);
  border-radius:var(--r); box-shadow:var(--shadow-md);
}
.search-bar{
  position:sticky; top:66px; z-index:40;
  background:var(--white); border-bottom:1px solid var(--line);
  border-radius:calc(var(--r) - 1px) calc(var(--r) - 1px) 0 0;
  padding:18px 20px 14px;
}
.search-field{position:relative; display:flex; align-items:center;}
.search-field svg{position:absolute; left:16px; color:var(--ink-faint); pointer-events:none;}
#q{
  width:100%; padding:15px 46px 15px 48px;
  border:2px solid var(--line-strong); border-radius:999px;
  font-family:"IBM Plex Mono", monospace; font-size:15.5px; color:var(--ink);
  background:var(--paper); transition:border-color .15s ease, background .15s ease;
}
#q::placeholder{font-family:"Barlow",sans-serif; color:var(--ink-faint); font-size:15px;}
#q::-webkit-search-cancel-button,#q::-webkit-search-decoration{-webkit-appearance:none; appearance:none;}
#q:focus{outline:none; border-color:var(--navy); background:var(--white);}
.clear-q{
  position:absolute; right:12px; width:28px; height:28px; border-radius:50%;
  border:none; background:var(--line); color:var(--ink-soft); cursor:pointer;
  display:none; align-items:center; justify-content:center; font-size:17px; line-height:1;
}
.clear-q.show{display:flex;}
.chips{display:flex; gap:8px; overflow-x:auto; padding:14px 2px 4px; scrollbar-width:thin;}
.chip{
  flex:none; padding:7px 14px; border-radius:999px; cursor:pointer;
  border:1.5px solid var(--line-strong); background:var(--white);
  font-size:13.5px; font-weight:600; color:var(--ink-soft); white-space:nowrap;
  transition:all .15s ease;
}
.chip:hover{border-color:var(--navy); color:var(--navy);}
.chip.on{background:var(--navy); border-color:var(--navy); color:var(--white);}
.chip .ct{font-family:"IBM Plex Mono",monospace; font-size:11.5px; opacity:.65; margin-left:5px;}
.result-line{
  margin:12px -20px -14px; padding:11px 20px;
  background:var(--paper); border-top:1px solid var(--line);
  font-size:14px; color:var(--ink-soft); display:flex; align-items:center; gap:8px; flex-wrap:wrap;
}
.result-line b{color:var(--navy); font-family:"IBM Plex Mono",monospace; font-variant-numeric:tabular-nums;}

.plist{list-style:none; margin:0; padding:0;}
.plist li{
  display:flex; align-items:center; gap:16px;
  padding:14px 20px; border-bottom:1px solid var(--line);
  transition:background .12s ease;
}
.plist li:hover{background:#f8fafc;}
.p-main{flex:1; min-width:0;}
.p-name{
  font-family:"IBM Plex Mono", monospace; font-size:14.5px; font-weight:500;
  color:var(--ink); word-break:break-word; line-height:1.35;
}
.p-name mark{background:var(--yellow); color:var(--navy); padding:0 2px; border-radius:2px;}
.p-tags{display:flex; gap:7px; align-items:center; margin-top:6px; flex-wrap:wrap;}
.tag-brand{
  font-size:11.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  background:var(--navy); color:var(--white); padding:2px 8px; border-radius:4px;
}
.tag-cat{font-size:12.5px; color:var(--ink-faint);}
.tag-stock{
  font-size:11.5px; font-weight:700; color:var(--green);
  display:inline-flex; align-items:center; gap:5px;
}
.tag-stock::before{content:""; width:6px; height:6px; border-radius:50%; background:var(--green);}
.p-cta{flex:none;}
@media (max-width:640px){
  .plist li{flex-direction:column; align-items:stretch; gap:11px;}
  .p-cta .btn{width:100%;}
  .search-bar{top:62px;}
}
.aprox{
  display:inline-block; margin-left:8px; padding:2px 9px; border-radius:999px;
  background:var(--warm-soft, #fdf3e3); color:#8a5a1d; border:1px solid #e6c79a;
  font-size:12px; font-weight:700; letter-spacing:.02em;
}
.nao-achou{
  margin-top:22px; padding:24px 26px;
  background:var(--navy); color:var(--white);
  border-radius:var(--r); border-left:6px solid var(--yellow);
  display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;
  box-shadow:var(--shadow-md);
}
.nao-achou .na-txt{flex:1; min-width:260px;}
.nao-achou h3{
  font-family:"Archivo","Barlow",system-ui,sans-serif; font-weight:800;
  font-size:1.22rem; letter-spacing:-.018em; color:var(--white); margin-bottom:6px;
}
.nao-achou p{margin:0; font-size:15px; color:rgba(255,255,255,.78); max-width:62ch;}
.nao-achou .btn{flex:none;}
@media (max-width:640px){ .nao-achou .btn{width:100%;} }
.load-more{padding:26px 20px; text-align:center; background:var(--paper); border-radius:0 0 calc(var(--r) - 1px) calc(var(--r) - 1px);}
.empty{padding:44px 24px 48px; text-align:center; color:var(--ink-soft);}
.empty strong{display:block; color:var(--navy); font-size:1.2rem; margin-bottom:6px;}
.empty-why{
  max-width:56ch; margin:0 auto 18px; font-size:15.5px; color:var(--ink-soft);
  background:var(--paper); border:1px solid var(--line); border-left:4px solid var(--yellow);
  border-radius:var(--r-sm); padding:14px 18px; text-align:left;
}
.empty-why b{color:var(--navy);}
.empty-acoes{
  display:flex; gap:10px; justify-content:center; flex-wrap:wrap;
  margin:0 auto 30px; padding-bottom:26px; border-bottom:1px solid var(--line); max-width:56ch;
}

/* ============ MODAL ============ */
.modal{
  position:fixed; inset:0; z-index:200;
  background:rgba(0,23,54,.72); backdrop-filter:blur(4px);
  display:flex; align-items:center; justify-content:center; padding:20px;
}
.modal[hidden]{display:none;}
.modal-card{
  background:var(--white); border-radius:16px; max-width:520px; width:100%;
  box-shadow:var(--shadow-lg); padding:30px 28px 26px; position:relative;
  max-height:90vh; overflow-y:auto;
  animation:pop .2s ease;
}
@keyframes pop{from{transform:scale(.95) translateY(8px); opacity:0;} to{transform:none; opacity:1;}}
.modal-x{
  position:absolute; top:14px; right:14px; width:34px; height:34px;
  border-radius:50%; border:none; background:var(--paper); color:var(--ink-soft);
  font-size:22px; line-height:1; cursor:pointer;
}
.modal-x:hover{background:var(--line);}
.modal-eyebrow{
  font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase;
  color:var(--ink-faint); margin:0 0 8px;
}
.modal-prod{
  font-family:"IBM Plex Mono", monospace; font-size:1.06rem; font-weight:600;
  color:var(--navy); margin:0 0 6px; word-break:break-word; line-height:1.35;
}
.modal-help{font-size:15px; color:var(--ink-soft); margin:0 0 20px;}
.modal-units{display:flex; flex-direction:column; gap:10px;}
.unit-btn{
  display:flex; align-items:center; gap:14px; width:100%; text-align:left;
  padding:14px 16px; border:2px solid var(--line); border-radius:var(--r);
  background:var(--white); cursor:pointer; transition:all .15s ease;
}
.unit-btn:hover{border-color:var(--green); background:#f4fbf6; transform:translateX(3px);}
.unit-btn .wa{
  width:40px; height:40px; border-radius:50%; background:#25D366;
  display:flex; align-items:center; justify-content:center; flex:none;
}
.unit-btn > span:last-child{display:flex; flex-direction:column; min-width:0;}
.unit-btn .un{display:block; font-weight:700; color:var(--navy); font-size:16px; line-height:1.25;}
.unit-btn .ua{display:block; font-size:13px; color:var(--ink-soft); margin-top:3px; line-height:1.35;}

/* ============ FAIXA CTA ============ */
.cta-band{background:var(--yellow); color:var(--navy); padding:clamp(34px,4.5vw,52px) 0;}
.cta-band-in{display:flex; align-items:center; justify-content:space-between; gap:28px; flex-wrap:wrap;}
.cta-band h2{font-family:"Archivo","Barlow",system-ui,sans-serif; font-weight:900; font-size:clamp(1.45rem,3.2vw,2.05rem); line-height:1.1; letter-spacing:-.024em; text-transform:uppercase;}
.cta-band p{margin:8px 0 0; font-weight:600; font-size:1.02rem; color:#33420a;}

/* ============ NÚMEROS ============ */
.numbers{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:var(--r); overflow:hidden;}
.num-cell{background:var(--white); padding:28px 22px;}
.num-cell .n{font-family:"Archivo","Barlow",system-ui,sans-serif; font-weight:900; letter-spacing:-.03em; font-size:clamp(1.9rem,3.6vw,2.6rem); color:var(--navy); line-height:1; font-variant-numeric:tabular-nums;}
.num-cell .l{font-size:13px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-soft); margin-top:10px;}
.num-cell .d{font-size:14px; color:var(--ink-faint); margin-top:6px;}
@media (max-width:800px){.numbers{grid-template-columns:1fr 1fr;}}

/* ============ BLOG ============ */
.post-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
@media (max-width:900px){.post-grid{grid-template-columns:1fr;}}
.post-card{
  background:var(--white); border:1px solid var(--line); border-radius:var(--r);
  overflow:hidden; display:flex; flex-direction:column; text-align:left;
  box-shadow:var(--shadow-sm); cursor:pointer; width:100%;
  transition:transform .18s ease, box-shadow .18s ease;
}
.post-card:hover{transform:translateY(-4px); box-shadow:var(--shadow-md);}
.post-thumb{height:8px; background:var(--yellow);}
.post-body{padding:22px 22px 24px; display:flex; flex-direction:column; gap:10px; flex:1;}
.post-cat{font-size:11.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-faint);}
.post-card h3{font-family:"Archivo","Barlow",system-ui,sans-serif; font-weight:700; font-size:1.16rem; letter-spacing:-.016em; color:var(--navy); line-height:1.28;}
.post-card p{margin:0; font-size:15px; color:var(--ink-soft);}
.post-more{margin-top:auto; padding-top:12px; font-weight:700; font-size:14px; color:var(--navy); display:flex; gap:6px; align-items:center;}

.article{max-width:720px; margin:0 auto;}
.article h1{font-family:"Archivo","Barlow",system-ui,sans-serif; font-weight:800; font-size:clamp(1.8rem,4vw,2.5rem); line-height:1.14; letter-spacing:-.024em; color:var(--navy); margin:16px 0 0;}
.article .meta{display:flex; gap:14px; flex-wrap:wrap; font-size:14px; color:var(--ink-faint); margin-top:18px; padding-bottom:22px; border-bottom:1px solid var(--line);}
.article h2{font-family:"Barlow",sans-serif; font-weight:700; font-size:1.42rem; color:var(--navy); margin:38px 0 12px;}
.article p{margin:0 0 1.05em; color:var(--ink);}
.article ul,.article ol{margin:0 0 1.2em; padding-left:1.3em; color:var(--ink);}
.article li{margin-bottom:.5em;}
.article-note{
  background:var(--white); border:1px solid var(--line); border-left:4px solid var(--yellow);
  border-radius:var(--r-sm); padding:20px 22px; margin:30px 0;
}
.article-note h3{font-size:1.1rem; font-weight:700; color:var(--navy); margin-bottom:8px;}
.article-note p{margin:0; color:var(--ink-soft); font-size:15.5px;}
.seo-spec{background:var(--white); border:1px solid var(--line); border-radius:var(--r); overflow-x:auto; box-shadow:var(--shadow-sm);}
table{width:100%; border-collapse:collapse; font-size:15px;}
th,td{text-align:left; padding:13px 16px; border-bottom:1px solid var(--line); vertical-align:top;}
thead th{background:var(--navy); color:var(--white); font-size:12px; letter-spacing:.1em; text-transform:uppercase; font-weight:700;}
tbody tr:last-child td{border-bottom:none;}
td:first-child{font-weight:600; color:var(--navy); white-space:nowrap;}

/* ============ QUEM SOMOS ============ */
.story{display:grid; grid-template-columns:1.1fr .9fr; gap:44px; align-items:start;}
@media (max-width:860px){.story{grid-template-columns:1fr;}}
.story p{color:var(--ink-soft); font-size:1.05rem;}
.story p strong{color:var(--ink);}
.tl-h{
  list-style:none; margin:56px 0 0; padding:36px 0 0;
  border-top:1px solid var(--line);
  display:grid; grid-template-columns:repeat(3,1fr); gap:26px;
}
.tl-h li{position:relative; padding-top:26px;}
.tl-h li::before{
  content:""; position:absolute; top:0; left:0; right:0; height:3px;
  background:var(--line);
}
.tl-h li::after{
  content:""; position:absolute; top:-4px; left:0; width:11px; height:11px;
  border-radius:50%; background:var(--yellow); border:2px solid var(--white);
}
.tl-h li:first-child::before{background:var(--yellow);}
.tl-h .yr{
  display:inline-block; font-family:"Archivo","Barlow",system-ui,sans-serif;
  font-weight:800; font-size:1.5rem; color:var(--navy); letter-spacing:-.02em;
  font-variant-numeric:tabular-nums; line-height:1;
}
.tl-h h3{font-size:1.06rem; font-weight:700; color:var(--navy); margin:10px 0 6px;}
.tl-h p{margin:0; font-size:15.5px; color:var(--ink-soft);}
@media (max-width:800px){
  .tl-h{grid-template-columns:1fr; gap:22px; margin-top:40px;}
}
.tl{list-style:none; margin:0; padding:0;}
.tl li{display:grid; grid-template-columns:82px 1fr; gap:20px; position:relative; padding-bottom:30px;}
.tl li::before{content:""; position:absolute; left:40px; top:32px; bottom:0; width:2px; background:var(--line);}
.tl li:last-child{padding-bottom:0;}
.tl li:last-child::before{display:none;}
.tl .yr{
  font-family:"Archivo","Barlow",system-ui,sans-serif; font-weight:800; font-size:1.14rem; color:var(--navy);
  background:var(--yellow); border-radius:999px; padding:6px 0; text-align:center; height:fit-content;
  font-variant-numeric:tabular-nums;
}
.tl h3{font-size:1.1rem; font-weight:700; color:var(--navy); margin-bottom:5px;}
.tl p{margin:0; font-size:15.5px; color:var(--ink-soft);}
.quote-card{
  background:var(--navy); color:var(--white); border-radius:var(--r);
  padding:30px 28px; position:relative; overflow:hidden;
  border-left:6px solid var(--yellow);
}
.team-photo{margin:0; border-radius:var(--r); overflow:hidden; box-shadow:var(--shadow-md); background:var(--navy-deep);}
.team-photo img{width:100%; aspect-ratio:4/3; object-fit:cover; object-position:center 76%; display:block;}
.team-photo figcaption{
  padding:11px 16px; background:var(--navy-deep); color:rgba(255,255,255,.8);
  font-size:12.5px; font-weight:600; letter-spacing:.07em; text-transform:uppercase;
}
.quote-card .qt{font-family:"Archivo","Barlow",system-ui,sans-serif; font-weight:900; font-size:1.42rem; line-height:1.2; letter-spacing:-.02em; text-transform:uppercase; color:var(--white); margin:0;}
.quote-card .qs{margin-top:14px; color:rgba(255,255,255,.72); font-size:15px;}

/* ============ GALERIA ============ */
.gallery{display:grid; grid-template-columns:repeat(3,1fr); grid-auto-rows:340px; gap:14px;}
.g-item{
  margin:0; position:relative; border-radius:var(--r); overflow:hidden;
  background:var(--navy-deep); box-shadow:var(--shadow-sm);
}
.g-item img{width:100%; height:100%; object-fit:cover; display:block;}
.g-item.g-wide{grid-column:span 2;}
.g-item figcaption{
  position:absolute; left:0; right:0; bottom:0; padding:30px 14px 12px;
  background:linear-gradient(to top, rgba(0,23,54,.92), rgba(0,23,54,0));
  color:rgba(255,255,255,.92); font-size:12.5px; font-weight:600; line-height:1.35;
}
@media (max-width:860px){
  .gallery{grid-template-columns:1fr 1fr; grid-auto-rows:270px;}
  .g-item.g-wide{grid-column:span 2;}
}
@media (max-width:520px){
  .gallery{grid-template-columns:1fr; grid-auto-rows:240px;}
  .g-item.g-wide{grid-column:span 1;}
}

/* ============ LOJAS ============ */
.shop-strip{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
@media (max-width:860px){.shop-strip{grid-template-columns:1fr;}}
.shop-tile{
  position:relative; display:block; border-radius:var(--r); overflow:hidden;
  aspect-ratio:4/3; background:var(--navy-deep); box-shadow:var(--shadow-sm);
  transition:transform .2s ease, box-shadow .2s ease;
}
.shop-tile:hover{transform:translateY(-4px); box-shadow:var(--shadow-md);}
.shop-tile img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s ease;}
.shop-tile:hover img{transform:scale(1.05);}
.shop-tile-ov{
  position:absolute; left:0; right:0; bottom:0; padding:40px 18px 16px; color:var(--white);
  background:linear-gradient(to top, rgba(0,23,54,.94) 0%, rgba(0,23,54,.6) 50%, rgba(0,23,54,0) 100%);
}
.shop-tile-ov{display:block;}
.shop-tile-ov > span{display:block;}
.shop-tile-ov .n{font-family:"Archivo","Barlow",system-ui,sans-serif; font-weight:800; font-size:1.32rem; letter-spacing:-.02em; text-transform:uppercase; line-height:1;}
.shop-tile-ov .a{font-size:13px; color:rgba(255,255,255,.78); margin-top:6px;}
.shop-tile-ov .t{font-family:"IBM Plex Mono",monospace; font-size:13px; color:var(--yellow); font-weight:500; margin-top:4px;}
.stores{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
@media (max-width:940px){.stores{grid-template-columns:1fr;}}
.store{
  background:var(--white); border:1px solid var(--line); border-radius:var(--r);
  overflow:hidden; box-shadow:var(--shadow-sm); display:flex; flex-direction:column;
}
.store-photo{position:relative; aspect-ratio:4/3; overflow:hidden; background:var(--navy-deep);}
.store-photo img{width:100%; height:100%; object-fit:cover; object-position:center 42%; display:block; transition:transform .5s ease;}
.store:hover .store-photo img{transform:scale(1.045);}
.store-top{
  position:absolute; left:0; right:0; bottom:0; padding:44px 20px 16px; color:var(--white);
  background:linear-gradient(to top, rgba(0,23,54,.95) 0%, rgba(0,23,54,.72) 45%, rgba(0,23,54,0) 100%);
}
.store-top .badge{font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--yellow);}
.store-top h3{font-family:"Archivo","Barlow",system-ui,sans-serif; font-weight:800; font-size:1.5rem; letter-spacing:-.022em; margin-top:4px; text-transform:uppercase;}
.store-body{padding:22px; display:flex; flex-direction:column; gap:15px; flex:1;}
.store-row{display:flex; gap:12px; align-items:flex-start; font-size:15.5px; color:var(--ink-soft);}
.store-row svg{flex:none; color:var(--navy); margin-top:3px;}
.store-row a{color:var(--navy); font-weight:600;}
.store-actions{margin-top:auto; padding-top:6px; display:flex; flex-direction:column; gap:9px;}

/* ============ CONTATO ============ */
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:start;}
@media (max-width:860px){.contact-grid{grid-template-columns:1fr;}}
.form-card{background:var(--white); border:1px solid var(--line); border-radius:var(--r); padding:28px; box-shadow:var(--shadow-sm);}
.field{display:flex; flex-direction:column; gap:6px; margin-bottom:16px;}
.field label{font-size:13.5px; font-weight:700; color:var(--navy); letter-spacing:.02em;}
.field input,.field textarea,.field select{
  padding:12px 14px; border:1.5px solid var(--line-strong); border-radius:var(--r-sm);
  font-family:"Barlow",sans-serif; font-size:16px; color:var(--ink); background:var(--paper);
}
.field input:focus,.field textarea:focus,.field select:focus{outline:none; border-color:var(--navy); background:var(--white);}
.field textarea{resize:vertical; min-height:112px;}
.form-ok{
  background:#f2fbf5; border:1.5px solid var(--green); color:#155c33;
  border-radius:var(--r-sm); padding:16px 18px; font-size:15px; margin-bottom:16px;
}
.form-ok small{display:block; margin-top:5px; color:#3d7a55; font-size:13px;}

/* ============ FOOTER ============ */
.site-footer{background:var(--navy-deep); color:rgba(255,255,255,.72); padding:clamp(50px,6vw,72px) 0 0;}
.footer-cta-head{text-align:center; margin-bottom:36px;}
.footer-cta-head h2{font-family:"Archivo","Barlow",system-ui,sans-serif; font-weight:900; font-size:clamp(1.6rem,3.4vw,2.2rem); color:var(--white); line-height:1.1; letter-spacing:-.024em; text-transform:uppercase;}
.footer-cta-head p{margin:12px auto 0; max-width:52ch; color:rgba(255,255,255,.72);}
.fstores{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
@media (max-width:860px){.fstores{grid-template-columns:1fr;}}
.fstore{
  background:rgba(255,255,255,.055); border:1px solid rgba(255,255,255,.14);
  border-radius:var(--r); padding:22px; display:flex; flex-direction:column; gap:13px;
  transition:border-color .18s ease, background .18s ease;
}
.fstore:hover{border-color:var(--yellow); background:rgba(255,255,255,.09);}
.fstore h3{font-size:1.18rem; font-weight:700; color:var(--white); display:flex; align-items:center; gap:9px;}
.fstore h3 .dot{width:8px; height:8px; border-radius:50%; background:var(--yellow); flex:none;}
.fstore .addr{font-size:14.5px; line-height:1.5; color:rgba(255,255,255,.66);}
.fstore .tel{font-family:"IBM Plex Mono",monospace; font-size:14.5px; color:var(--white); font-weight:500;}
.fstore .btn{margin-top:auto;}
.footer-bottom{
  margin-top:52px; border-top:1px solid rgba(255,255,255,.14);
  padding:26px 0 30px; display:flex; gap:22px; align-items:center; flex-wrap:wrap;
}
.footer-brand{display:flex; align-items:center; gap:13px;}
.fb-badge{
  width:60px; height:60px; border-radius:50%; background:var(--white);
  display:flex; align-items:center; justify-content:center; flex:none;
}
.footer-brand img{width:48px; height:48px; object-fit:contain;}
.footer-brand .fb-name{font-family:"Archivo","Barlow",system-ui,sans-serif; font-weight:800; font-size:18px; color:var(--white); text-transform:uppercase; letter-spacing:-.005em;}
.footer-brand .fb-tag{font-size:13px; color:rgba(255,255,255,.6); margin-top:2px;}
.footer-nav{display:flex; gap:8px; flex-wrap:wrap; margin-left:auto;}
.footer-nav a{color:rgba(255,255,255,.72); font-size:14.5px; padding:5px 9px; border-radius:6px;}
.footer-nav a:hover{color:var(--yellow); background:rgba(255,255,255,.07);}
.copyright{width:100%; font-size:13.5px; color:rgba(255,255,255,.45); padding-top:6px;}

/* ============ FLOAT WHATSAPP ============ */
.wa-float{
  position:fixed; right:18px; bottom:18px; z-index:70;
  width:58px; height:58px; border-radius:50%; background:#25D366; border:none;
  display:flex; align-items:center; justify-content:center; cursor:pointer;
  box-shadow:0 6px 22px rgba(0,0,0,.28);
  transition:transform .18s ease;
}
.wa-float:hover{transform:scale(1.07);}

/* ============ PÁGINAS ============ */
/* Atenção: nunca criar uma regra para ".page" sozinha — o WordPress usa essa
   classe no <body> de toda página, e isso derrubaria o site inteiro. */
@keyframes fade{from{opacity:0; transform:translateY(6px);} to{opacity:1; transform:none;}}

.page-head{
  background:var(--navy); color:var(--white); position:relative; overflow:hidden;
  padding:clamp(44px,6vw,68px) 0 clamp(40px,5vw,58px);
}
.page-head h1{font-family:"Archivo","Barlow",system-ui,sans-serif; font-weight:900; font-size:clamp(1.9rem,4.3vw,2.8rem); line-height:1.09; letter-spacing:-.028em; margin-top:18px; text-transform:uppercase;}
.page-head p{margin:16px 0 0; color:rgba(255,255,255,.78); max-width:58ch; font-size:1.06rem;}
.crumb{font-size:13.5px; color:rgba(255,255,255,.5);}
.crumb a{color:rgba(255,255,255,.72);}

/* ==========================================================================
   AJUSTES PARA O WORDPRESS
   ========================================================================== */

/* --- acessibilidade --- */
.sr-only{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}
.pular-para-conteudo{
  position:absolute; left:-9999px; top:0; z-index:200;
  background:var(--yellow); color:var(--navy); font-weight:700;
  padding:12px 18px; border-radius:0 0 8px 0;
}
.pular-para-conteudo:focus{left:0;}

/* --- menus vindos do painel (o WordPress gera <li>) --- */
.main-nav li,.footer-nav li{list-style:none; margin:0;}
.main-nav ul,.footer-nav ul,.main-nav-lista,.footer-nav-lista{
  list-style:none; margin:0; padding:0; display:contents;
}
.main-nav .current-menu-item > a,
.main-nav .current_page_item > a,
.main-nav .current-menu-ancestor > a{color:var(--navy); background:#e8eef6;}
.footer-nav .current-menu-item > a{color:var(--yellow);}

/* cartões que viraram links */
.cat-card,.post-card,.shop-tile{text-decoration:none; color:inherit;}

/* --- conteúdo escrito no editor do WordPress --- */
.conteudo-editor{max-width:74ch; margin:0 auto; font-size:1.05rem; color:var(--ink);}
.conteudo-editor > *:first-child{margin-top:0;}
.conteudo-editor p{margin:0 0 1.05em;}
.conteudo-editor h2{
  font-family:"Barlow",sans-serif; font-weight:700; font-size:1.42rem;
  color:var(--navy); margin:38px 0 12px;
}
.conteudo-editor h3{font-size:1.16rem; font-weight:700; color:var(--navy); margin:28px 0 8px;}
.conteudo-editor h4{font-size:1.04rem; font-weight:700; color:var(--navy); margin:22px 0 6px;}
.conteudo-editor ul,.conteudo-editor ol{margin:0 0 1.2em; padding-left:1.3em;}
.conteudo-editor li{margin-bottom:.5em;}
.conteudo-editor a{text-decoration:underline; text-underline-offset:2px;}
.conteudo-editor a:hover{color:#004a9e;}
.conteudo-editor img{border-radius:var(--r-sm); height:auto;}
.conteudo-editor figure{margin:26px 0;}
.conteudo-editor figcaption{font-size:14px; color:var(--ink-faint); margin-top:8px; text-align:center;}
.conteudo-editor blockquote{
  margin:26px 0; padding:18px 22px; background:var(--paper);
  border-left:4px solid var(--yellow); border-radius:var(--r-sm);
  font-size:1.06rem; color:var(--ink-soft);
}
.conteudo-editor blockquote p:last-child{margin-bottom:0;}
.conteudo-editor pre,.conteudo-editor code{font-family:"IBM Plex Mono",monospace; font-size:.92em;}
.conteudo-editor pre{background:var(--paper); padding:16px; border-radius:var(--r-sm); overflow-x:auto;}
.conteudo-editor table{margin:24px 0;}
.conteudo-editor .wp-block-table{overflow-x:auto;}
.conteudo-editor .aligncenter{margin-left:auto; margin-right:auto; display:block;}
.conteudo-editor .alignleft{float:left; margin:0 22px 16px 0;}
.conteudo-editor .alignright{float:right; margin:0 0 16px 22px;}
.conteudo-editor .wp-caption{max-width:100%;}

/* --- post --- */
.article-capa{margin:26px 0 0; border-radius:var(--r); overflow:hidden;}
.article-capa img{width:100%; height:auto; display:block;}
.article .conteudo-editor{max-width:none; margin:26px 0 0;}
.article-tags{margin-top:26px; font-size:14px; color:var(--ink-faint);}
.article-tags a{color:var(--ink-soft);}

/* --- cartão de post com imagem destacada --- */
.post-thumb-img{height:auto; aspect-ratio:4/3; overflow:hidden; background:var(--navy-deep);}
.post-thumb-img img{width:100%; height:100%; object-fit:cover; display:block;}

/* --- mapa dentro do cartão de loja --- */
.store-mapa{border-radius:var(--r-sm); overflow:hidden; border:1px solid var(--line);}
.store-mapa iframe{display:block; width:100%; height:200px; border:0;}

/* --- catálogo enquanto carrega --- */
.catalog-panel.carregando .search-bar{opacity:.6; pointer-events:none;}
.catalog-panel.carregando #plist{min-height:220px;}

/* --- paginação do blog --- */
.paginacao{margin-top:38px; display:flex; justify-content:center;}
.paginacao .nav-links{display:flex; gap:8px; flex-wrap:wrap; align-items:center;}
.paginacao .page-numbers{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:42px; height:42px; padding:0 14px;
  border:1.5px solid var(--line-strong); border-radius:999px;
  background:var(--white); color:var(--navy); font-weight:700; font-size:15px;
  text-decoration:none; transition:all .15s ease;
}
.paginacao .page-numbers:hover{border-color:var(--navy);}
.paginacao .page-numbers.current{background:var(--navy); border-color:var(--navy); color:var(--white);}
.paginacao .page-numbers.dots{border-color:transparent; background:transparent;}

/* --- comentários --- */
.comment-list{list-style:none; padding:0; margin:0 0 30px;}
.comment-list li{margin-bottom:22px;}
.comment-body{background:var(--paper); border:1px solid var(--line); border-radius:var(--r-sm); padding:18px 20px;}
.comment-form input[type=text],.comment-form input[type=email],.comment-form input[type=url],.comment-form textarea{
  width:100%; padding:12px 14px; border:1.5px solid var(--line-strong);
  border-radius:var(--r-sm); font-family:"Barlow",sans-serif; font-size:16px; background:var(--paper);
}
.comment-form .submit{
  background:var(--yellow); color:var(--navy); border:none; border-radius:999px;
  padding:13px 24px; font-weight:700; cursor:pointer; box-shadow:0 4px 0 var(--yellow-deep);
}

/* --- barra de administração do WordPress --- */
body.admin-bar .site-header{top:32px;}
body.admin-bar .search-bar{top:98px;}
@media screen and (max-width:782px){
  body.admin-bar .site-header{top:46px;}
  body.admin-bar .search-bar{top:108px;}
}
@media (max-width:1020px){
  body.admin-bar .main-nav{top:110px;}
}
