/* =========================================================
   Movel Caminhões — Peças & Página interna do modelo
   ========================================================= */

/* ---------- Form controls (shared) ---------- */
.field{ position:relative; }
.select, .input{
  width:100%; appearance:none; font-family:var(--body); font-size:.95rem; color:var(--ink);
  background:#fff; border:1.5px solid var(--line-2); border-radius:var(--r-sm);
  padding:.8em 1em; transition:.15s; height:48px;
}
.select{ padding-right:2.4em; cursor:pointer; }
.input::placeholder{ color:var(--slate-2); }
.select:focus, .input:focus{ outline:none; border-color:var(--vw-blue); box-shadow:0 0 0 3px rgba(10,79,196,.12); }
.field .chev{ position:absolute; right:.9em; top:50%; transform:translateY(-50%); width:14px; height:14px;
  color:var(--slate); pointer-events:none; }

/* =========================================================
   PEÇAS — Filter bar
   ========================================================= */
.filters{ background:var(--mist-2); border-bottom:1px solid var(--line); }
.filters-inner{ display:grid; grid-template-columns:1.3fr 1.3fr 1fr 1fr 1.2fr auto; gap:.7rem;
  align-items:end; padding-block:1.2rem; }
.filters .f-lbl{ display:block; font-family:var(--display); font-weight:600; font-size:.72rem;
  letter-spacing:.08em; text-transform:uppercase; color:var(--slate); margin-bottom:.4rem; }
.filters .btn{ height:48px; }

/* Promo banner on parts page */
.parts-promo{ position:relative; overflow:hidden; }
.parts-promo .banner-slide{ aspect-ratio:1440/470; }
.parts-promo image-slot{ width:100%; height:100%; }

/* ---------- Product grid ---------- */
.parts-head{ display:flex; align-items:baseline; justify-content:space-between; gap:1rem;
  flex-wrap:wrap; margin-bottom:2rem; }
.parts-head .count{ color:var(--slate); font-size:.95rem; }
.parts-head .count b{ color:var(--ink); font-family:var(--display); }
.parts-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.part-card{ background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden;
  display:flex; flex-direction:column; transition:.22s; }
.part-card:hover{ box-shadow:var(--sh-md); transform:translateY(-4px); border-color:transparent; }
.part-media{ position:relative; aspect-ratio:4/3; background:
  linear-gradient(150deg,#f4f7fb,#e8eef6); display:grid; place-items:center; padding:1.2rem; }
.part-media image-slot{ width:100%; height:100%; }
.part-brand{ position:absolute; top:.8rem; left:.8rem; font-family:var(--display); font-weight:700;
  font-size:.62rem; letter-spacing:.1em; text-transform:uppercase; color:var(--vw-blue);
  background:rgba(10,79,196,.1); padding:.3em .7em; border-radius:999px; }
.part-body{ padding:1.2rem 1.3rem .4rem; flex:1; }
.part-body h3{ font-size:1.12rem; line-height:1.25; }
.part-code{ margin-top:.4rem; font-size:.78rem; color:var(--slate-2); font-family:var(--display);
  letter-spacing:.04em; }
.part-cat{ font-size:.74rem; color:var(--slate); margin-top:.5rem; display:inline-flex; align-items:center; gap:.4em; }
.part-foot{ padding:1rem 1.3rem 1.3rem; }
.part-price{ display:flex; align-items:baseline; gap:.4em; }
.part-price .cur{ font-size:.85rem; color:var(--slate); font-family:var(--display); font-weight:700; }
.part-price .val{ font-family:var(--display); font-weight:700; font-size:1.55rem; color:var(--vw-navy);
  letter-spacing:-.02em; }
.part-foot .btn{ width:100%; margin-top:1rem; }
.parts-empty{ grid-column:1/-1; text-align:center; padding:4rem 1rem; color:var(--slate); }

/* =========================================================
   MODEL DETAIL PAGE
   ========================================================= */
.pd-hero{ display:grid; grid-template-columns:1fr 1.1fr; gap:clamp(1.5rem,4vw,3.5rem);
  align-items:center; padding-block:clamp(40px,6vw,80px); }
.pd-hero .eyebrow{ margin-bottom:1rem; }
.pd-hero h1{ font-size:clamp(2.4rem,5vw,3.8rem); }
.pd-hero .lead{ color:var(--slate); font-size:1.1rem; margin-top:1.3rem; max-width:520px; text-wrap:pretty; }
.pd-hero-meta{ display:flex; flex-wrap:wrap; gap:2rem; margin-top:1.8rem; }
.pd-hero-meta .m b{ display:block; font-family:var(--display); font-weight:700; font-size:1.7rem;
  color:var(--vw-navy); letter-spacing:-.02em; }
.pd-hero-meta .m span{ font-size:.78rem; color:var(--slate); text-transform:uppercase; letter-spacing:.08em; }
.pd-hero-cta{ margin-top:2rem; display:flex; flex-wrap:wrap; gap:.8rem; }
.pd-stage{ position:relative; border-radius:var(--r-xl); overflow:hidden;
  background:radial-gradient(120% 110% at 50% 0%, #ffffff, #ffffff 70%, #ffffff);
  box-shadow:var(--sh-md); aspect-ratio:16/11; }
.pd-stage image-slot{ position:absolute; inset:7% 6% 10% 6%; width:auto; height:auto; }
.pd-stage .vw-ring{ position:absolute; top:1.1rem; right:1.1rem; width:46px; height:46px; border-radius:50%;
  border:2px solid var(--vw-navy); display:grid; place-items:center; font-family:var(--display);
  font-weight:700; color:var(--vw-navy); font-size:.9rem; }

/* Feature rows */
.features-intro h2{ font-size:clamp(1.8rem,4vw,2.8rem); max-width:14ch; }
.feature-row{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(1.5rem,4vw,4rem);
  align-items:center; padding-block:clamp(32px,4vw,56px); }
.feature-row.reverse .feature-media{ order:2; }
.feature-media{ border-radius:var(--r-lg); overflow:hidden; aspect-ratio:4/3;
  background:linear-gradient(150deg,#eef2f8,#dde4ee); box-shadow:var(--sh-sm); }
.feature-media image-slot{ width:100%; height:100%; }
.feature-text h3{ font-size:clamp(1.5rem,2.6vw,2rem); color:var(--vw-blue); }
.feature-text h3 .plus{ color:var(--vw-cyan); }
.feature-text p{ color:var(--slate); font-size:1.05rem; margin-top:1rem; text-wrap:pretty; max-width:46ch; }
.feature-text .link-arrow{ margin-top:1.2rem; }

/* Volks Total / Conectado split */
.promo-split{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(1.5rem,4vw,3rem); align-items:center; }
.volks-card{ background:var(--vw-navy); border-radius:var(--r-lg); aspect-ratio:16/10;
  display:grid; place-items:center; position:relative; overflow:hidden; }
.volks-card::before{ content:""; position:absolute; inset:0;
  background:radial-gradient(70% 100% at 100% 0%, rgba(0,177,235,.25), transparent 60%); }
.volks-card .vt{ font-family:var(--display); font-weight:300; font-size:clamp(2rem,5vw,3.2rem);
  color:#fff; letter-spacing:-.01em; position:relative; }
.volks-card .vt b{ font-weight:700; }
.volks-card .vt .bar{ color:var(--vw-cyan); margin-inline:.1em; }

/* Tabs (technical details) */
.pd-tabs{ display:flex; gap:.6rem; flex-wrap:wrap; margin-top:1.8rem; }
.pd-tab{ padding:.8em 1.5em; border-radius:999px; font-family:var(--display); font-weight:600;
  font-size:.95rem; color:var(--vw-navy); box-shadow:inset 0 0 0 1.5px var(--line-2); transition:.16s; }
.pd-tab.active{ background:var(--vw-blue); color:#fff; box-shadow:none; }
.pd-tab:not(.active):hover{ box-shadow:inset 0 0 0 1.5px var(--vw-blue); color:var(--vw-blue); }
.pd-panel{ display:none; margin-top:2rem; }
.pd-panel.active{ display:block; animation:fadeUp .3s ease; }
@keyframes fadeUp{ from{ opacity:0; transform:translateY(8px);} to{ opacity:1; transform:none; } }
.spec-table{ width:100%; border-collapse:collapse; }
.spec-table tr{ border-bottom:1px solid var(--line); }
.spec-table td{ padding:1rem .4rem; }
.spec-table td:first-child{ color:var(--slate); font-size:.92rem; width:46%; }
.spec-table td:last-child{ font-family:var(--display); font-weight:600; text-align:right; }
.guidelines{ display:grid; gap:1rem; }
.guideline{ display:flex; gap:1rem; padding:1.2rem 1.4rem; background:#fff; border:1px solid var(--line);
  border-radius:var(--r-md); }
.guideline .n{ flex:0 0 36px; height:36px; border-radius:50%; background:rgba(10,79,196,.1);
  color:var(--vw-blue); display:grid; place-items:center; font-family:var(--display); font-weight:700; }
.guideline h4{ font-size:1.05rem; }
.guideline p{ color:var(--slate); font-size:.95rem; margin-top:.3rem; }

/* Gallery */
.gallery-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.2rem; grid-auto-rows:1fr; }
.gallery-grid .g-item{ border-radius:var(--r-md); overflow:hidden; aspect-ratio:1;
  background:linear-gradient(150deg,#eef2f8,#dde4ee); }
.gallery-grid .g-item.wide{ grid-column:span 2; aspect-ratio:2; }
.gallery-grid image-slot{ width:100%; height:100%; }

/* CTA band */
.cta-band{ background:var(--vw-navy); color:#fff; border-radius:var(--r-xl); padding:clamp(2rem,5vw,3.5rem);
  display:flex; align-items:center; justify-content:space-between; gap:2rem; flex-wrap:wrap; position:relative; overflow:hidden; }
.cta-band::before{ content:""; position:absolute; inset:0;
  background:radial-gradient(60% 120% at 100% 0%, rgba(0,177,235,.22), transparent 55%); }
.cta-band .ct{ position:relative; }
.cta-band h2{ color:#fff; font-size:clamp(1.6rem,3vw,2.3rem); }
.cta-band p{ color:#aebbd2; margin-top:.6rem; }
.cta-band .ct-actions{ position:relative; display:flex; gap:.8rem; flex-wrap:wrap; }

/* =========================================================
   QUEM SOMOS / SOBRE
   ========================================================= */
.about-intro{ display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(1.5rem,4vw,3.5rem);
  align-items:center; }
.about-intro .lead-xl{ font-family:var(--display); font-weight:300; font-size:clamp(1.4rem,2.4vw,1.9rem);
  line-height:1.35; color:var(--ink); letter-spacing:-.01em; text-wrap:pretty; }
.about-intro p + p{ margin-top:1.2rem; }
.about-intro .body-copy{ color:var(--slate); font-size:1.06rem; margin-top:1.4rem; text-wrap:pretty; }
.about-photo{ position:relative; border-radius:var(--r-xl); overflow:hidden; aspect-ratio:4/5;
  background:linear-gradient(150deg,#eef2f8,#dde4ee); box-shadow:var(--sh-md); }
.about-photo image-slot{ width:100%; height:100%; }
.about-photo .vw-ring{ position:absolute; top:1.1rem; right:1.1rem; width:46px; height:46px; border-radius:50%;
  border:2px solid #fff; display:grid; place-items:center; font-family:var(--display); font-weight:700;
  color:#fff; font-size:.9rem; background:rgba(0,27,68,.4); backdrop-filter:blur(4px); }

/* Stats band (reuses .band visuals) */
.about-stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.4rem; }
.about-stat{ text-align:left; }
.about-stat b{ display:block; font-family:var(--display); font-weight:700;
  font-size:clamp(2.2rem,4vw,3.2rem); color:#fff; letter-spacing:-.02em; line-height:1; }
.about-stat b .u{ color:var(--vw-cyan); }
.about-stat span{ display:block; margin-top:.6rem; color:#aebbd2; font-size:.95rem; }

/* Values: Missão / Visão / Meta */
.values-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; margin-top:3rem; }
.value-card{ background:#fff; border:1px solid var(--line); border-radius:var(--r-lg);
  padding:2rem 1.8rem; position:relative; overflow:hidden; transition:.22s; }
.value-card:hover{ box-shadow:var(--sh-md); transform:translateY(-4px); }
.value-card::before{ content:""; position:absolute; left:0; top:1.8rem; bottom:1.8rem; width:4px;
  border-radius:0 4px 4px 0; background:var(--vw-cyan); }
.value-card .v-ic{ width:54px; height:54px; border-radius:14px; display:grid; place-items:center;
  background:rgba(10,79,196,.1); color:var(--vw-blue); margin-bottom:1.3rem; }
.value-card .v-ic svg{ width:28px; height:28px; }
.value-card h3{ font-size:1.4rem; color:var(--vw-navy); }
.value-card p{ color:var(--slate); font-size:1rem; margin-top:.8rem; text-wrap:pretty; }

/* Principles strip */
.principles{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; margin-top:2.6rem; }
.principle{ display:flex; gap:.9rem; align-items:flex-start; }
.principle .pic{ flex:0 0 40px; height:40px; border-radius:50%; display:grid; place-items:center;
  background:var(--vw-navy); color:var(--vw-cyan); }
.principle .pic svg{ width:20px; height:20px; }
.principle h4{ font-size:1.05rem; }
.principle p{ color:var(--slate); font-size:.92rem; margin-top:.2rem; }

/* =========================================================
   CONSÓRCIO / FORM LAYOUT
   ========================================================= */
.lead-layout{ display:grid; grid-template-columns:1fr 1.05fr; gap:clamp(1.5rem,4vw,3.5rem);
  align-items:start; }
.lead-aside .eyebrow{ margin-bottom:1rem; }
.lead-aside h2{ font-size:clamp(1.8rem,3.4vw,2.6rem); }
.lead-aside .lead{ color:var(--slate); font-size:1.08rem; margin-top:1.1rem; text-wrap:pretty; }
.benefit-list{ display:grid; gap:1.1rem; margin-top:2rem; }
.benefit{ display:flex; gap:1rem; align-items:flex-start; }
.benefit .b-ic{ flex:0 0 46px; height:46px; border-radius:12px; display:grid; place-items:center;
  background:rgba(10,79,196,.1); color:var(--vw-blue); }
.benefit .b-ic svg{ width:24px; height:24px; }
.benefit h4{ font-size:1.1rem; }
.benefit p{ color:var(--slate); font-size:.96rem; margin-top:.25rem; text-wrap:pretty; }
.lead-trust{ display:flex; align-items:center; gap:1rem; margin-top:2.2rem; padding:1.1rem 1.3rem;
  background:var(--mist); border-radius:var(--r-md); }
.lead-trust .vw-ring{ width:44px; height:44px; border-radius:50%; border:2px solid var(--vw-navy);
  display:grid; place-items:center; font-family:var(--display); font-weight:700; color:var(--vw-navy);
  font-size:.85rem; flex:0 0 auto; }
.lead-trust p{ font-size:.9rem; color:var(--slate); }

/* Form card */
.form-card{ background:#fff; border:1px solid var(--line); border-radius:var(--r-xl);
  box-shadow:var(--sh-md); padding:clamp(1.5rem,3vw,2.6rem); }
.form-card h3{ font-size:1.4rem; }
.form-card .form-sub{ color:var(--slate); font-size:.98rem; margin-top:.4rem; margin-bottom:1.6rem; }
.form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:1.1rem; }
.form-grid .full{ grid-column:1/-1; }
.form-field{ position:relative; }
.form-field label{ display:block; font-family:var(--display); font-weight:600; font-size:.78rem;
  letter-spacing:.04em; color:var(--slate); margin-bottom:.45rem; }
.form-field label .req{ color:var(--vw-blue); }
.textarea{ width:100%; min-height:130px; resize:vertical; font-family:var(--body); font-size:.95rem;
  color:var(--ink); background:#fff; border:1.5px solid var(--line-2); border-radius:var(--r-sm);
  padding:.8em 1em; transition:.15s; }
.textarea:focus{ outline:none; border-color:var(--vw-blue); box-shadow:0 0 0 3px rgba(10,79,196,.12); }
.form-field.invalid .input,
.form-field.invalid .select,
.form-field.invalid .textarea{ border-color:#d23b3b; box-shadow:0 0 0 3px rgba(210,59,59,.12); }
.form-err{ display:none; color:#c62f2f; font-size:.8rem; margin-top:.35rem; font-weight:500; }
.form-field.invalid .form-err{ display:block; }
.form-foot{ display:flex; align-items:center; justify-content:space-between; gap:1rem;
  margin-top:1.6rem; flex-wrap:wrap; }
.form-foot .note{ font-size:.82rem; color:var(--slate-2); max-width:46ch; }
.form-success{ display:none; text-align:center; padding:2.5rem 1rem; }
.form-success.show{ display:block; animation:fadeUp .35s ease; }
.form-success .ok{ width:72px; height:72px; border-radius:50%; background:rgba(31,138,91,.12);
  color:#1F8A5B; display:grid; place-items:center; margin:0 auto 1.4rem; }
.form-success .ok svg{ width:38px; height:38px; }
.form-success h3{ font-size:1.6rem; }
.form-success p{ color:var(--slate); margin-top:.6rem; }

/* =========================================================
   PÁGINAS INTERNAS — elementos específicos por template
   ========================================================= */

/* Fale conosco — canais de atendimento */
.contact-channels{ display:flex; flex-direction:column; gap:.85rem; margin-top:1.8rem; }
.channel-item{ display:flex; align-items:center; gap:1rem; padding:.9rem 1.1rem;
  border-radius:var(--r-md); border:1px solid var(--line); background:#fff; text-decoration:none;
  color:var(--ink); transition:.15s; }
.channel-item:hover{ border-color:var(--vw-blue); box-shadow:var(--sh-sm); }
.ch-ic{ flex:0 0 44px; height:44px; border-radius:50%; display:grid; place-items:center;
  background:#25D366; color:#fff; }
.ch-ic--blue{ background:rgba(10,79,196,.1); color:var(--vw-blue); }
.ch-ic--pink{ background:#fde8f0; color:#e1306c; }
.channel-item strong{ display:block; font-family:var(--display); font-weight:700; font-size:.97rem; }
.channel-item span{ font-size:.86rem; color:var(--slate); }

/* Chame Volks — CTA telefone */
.chamevolks-cta{ display:flex; flex-direction:column; align-items:flex-start;
  gap:.55rem; margin-top:2rem; }
.chamevolks-cta .btn svg{ width:20px; height:20px; margin-right:.4em; }
.chamevolks-hint{ font-size:.84rem; color:var(--slate); }

/* Chame Volks — lado direito (lead-content) */
.lead-content{ display:flex; flex-direction:column; gap:2rem; }
.lead-content h3{ font-size:1.4rem; }

/* Passos numerados */
.steps-list{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:1.4rem; }
.steps-list li{ display:flex; gap:1rem; align-items:flex-start; }
.step-n{ flex:0 0 36px; height:36px; border-radius:50%; background:var(--vw-navy);
  color:#fff; display:grid; place-items:center; font-family:var(--display);
  font-weight:700; font-size:.9rem; }
.steps-list strong{ display:block; font-family:var(--display); font-weight:700; font-size:1.02rem; }
.steps-list p{ color:var(--slate); font-size:.95rem; margin-top:.2rem; }

/* Info box (ex.: WhatsApp por região) */
.info-box{ background:var(--mist); border-radius:var(--r-md);
  padding:1.2rem 1.4rem; border:1px solid var(--line); }
.info-box h4{ font-size:1.05rem; margin-bottom:.5rem; }
.info-box p{ color:var(--slate); font-size:.93rem; margin-bottom:.7rem; }
.info-box ul{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:.3rem; }
.info-box li{ font-size:.93rem; color:var(--ink); }

/* =========================================================
   PAGE BAND (shared header for interior pages)
   ========================================================= */
.page-band{
  background:var(--vw-navy);
  color:#fff;
  position:relative;
  overflow:hidden;
  padding-block:clamp(44px,7vw,88px);
  border-top:3px solid var(--vw-cyan);
}

/* Dual radial gradient: cyan bloom top-right + blue bloom bottom-left */
.page-band::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:
    radial-gradient(68% 140% at 92% -8%, rgba(0,177,235,.3), transparent 55%),
    radial-gradient(48% 90% at 4% 110%, rgba(10,79,196,.22), transparent 52%);
}

/* Decorative large "W" watermark */
.page-band::after{
  content:"W";
  position:absolute;
  right:clamp(-3rem,-4vw,-1rem);
  bottom:-2.5rem;
  z-index:0;
  font-size:clamp(16rem,26vw,30rem);
  font-family:var(--display);
  font-weight:900;
  line-height:1;
  letter-spacing:-.05em;
  color:rgba(255,255,255,.028);
  pointer-events:none;
  user-select:none;
}

.page-band .wrap{ position:relative; z-index:1; }
.page-band .crumbs{ color:#8aa0be; }
.page-band .crumbs a:hover{ color:#fff; }
.page-band h1{
  color:#fff;
  font-size:clamp(2.4rem,5.5vw,4rem);
  margin-top:.6rem;
  letter-spacing:-.025em;
  line-height:1.08;
}
.page-band p{
  color:#aebbd2;
  margin-top:1rem;
  max-width:600px;
  font-size:1.06rem;
  line-height:1.72;
}

/* Layout split: text | icon */
.page-band__inner{ display:flex; flex-direction:column; margin-top:1.6rem; }
.page-band__inner--split{
  flex-direction:row;
  align-items:center;
  justify-content:space-between;
  gap:clamp(1.5rem,4vw,3rem);
}
.page-band__text{ flex:1; min-width:0; }
.page-band__text .eyebrow{ margin-bottom:.85rem; }
.page-band__text h1{ margin-top:.4rem; }

/* Icon circle with glow ring */
.page-band__icon{
  flex-shrink:0;
  position:relative;
  width:clamp(112px,15vw,174px);
  height:clamp(112px,15vw,174px);
  border-radius:50%;
  background:linear-gradient(145deg, rgba(0,177,235,.12), rgba(255,255,255,.05));
  border:1.5px solid rgba(0,177,235,.28);
  display:grid;
  place-items:center;
  box-shadow:0 0 0 18px rgba(0,177,235,.055), 0 0 60px rgba(0,177,235,.2);
}
/* Outer ghost ring */
.page-band__icon::before{
  content:"";
  position:absolute;
  inset:-12px;
  border-radius:50%;
  border:1px solid rgba(0,177,235,.12);
  pointer-events:none;
}
.page-band__icon svg{
  width:50%; height:50%;
  stroke:rgba(0,177,235,.95);
  filter:drop-shadow(0 0 8px rgba(0,177,235,.45));
}

/* Badges */
.page-band__badges{ display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1.9rem; }
.page-band__badge{
  display:inline-flex;
  align-items:center;
  gap:.5em;
  background:rgba(0,177,235,.1);
  border:1px solid rgba(0,177,235,.24);
  border-radius:999px;
  padding:.45em 1em;
  font-family:var(--display);
  font-weight:600;
  font-size:.8rem;
  color:rgba(255,255,255,.92);
  letter-spacing:.01em;
  transition:background .15s, border-color .15s;
}
.page-band__badge:hover{
  background:rgba(0,177,235,.18);
  border-color:rgba(0,177,235,.4);
}
.page-band__badge svg{
  width:15px; height:15px;
  flex-shrink:0;
  stroke:var(--vw-cyan);
}

@media (max-width:700px){
  .page-band__inner--split{ flex-direction:column; align-items:flex-start; }
  .page-band__icon{ display:none; }
  .page-band h1{ font-size:clamp(2rem,7vw,2.6rem); }
}

/* =========================================================
   NOTÍCIA — Single article
   ========================================================= */

.crumbs{ font-size:.88rem; color:var(--slate); display:flex; align-items:center; gap:.5em; flex-wrap:wrap; }
.crumbs a{ color:inherit; }
.crumbs a:hover{ color:var(--vw-blue); }

.article-head{ max-width:760px; margin-top:2rem; }
.article-head .meta{ display:flex; align-items:center; gap:.75rem; flex-wrap:wrap;
  font-size:.82rem; color:var(--slate); font-family:var(--display); }
.article-head .meta .cat{ background:rgba(10,79,196,.1); color:var(--vw-blue); font-weight:700;
  font-size:.72rem; letter-spacing:.08em; text-transform:uppercase;
  padding:.3em .75em; border-radius:999px; }
.dot-sep{ width:4px; height:4px; border-radius:50%; background:currentColor; opacity:.4; display:inline-block; }
.article-head h1{ margin-top:1.2rem; font-size:clamp(2rem,4.5vw,3.2rem); line-height:1.1; }
.standfirst{ margin-top:1.2rem; font-size:1.18rem; color:var(--slate); line-height:1.6;
  max-width:660px; text-wrap:pretty; }

.article-cover{ margin-top:2.4rem; border-radius:var(--r-lg); overflow:hidden; aspect-ratio:16/7; }
.article-cover image-slot{ width:100%; height:100%; }

.article-body{ display:grid; grid-template-columns:1fr 260px; gap:clamp(2rem,5vw,5rem);
  align-items:start; margin-top:3rem; }

/* Prose content */
.prose{ min-width:0; }
.prose p{ font-size:1.08rem; line-height:1.75; color:var(--slate); }
.prose p + p{ margin-top:1.2rem; }
.prose h2{ font-size:clamp(1.4rem,2.5vw,1.9rem); color:var(--ink); margin-top:2.4rem; margin-bottom:.8rem; }
.prose h3{ font-size:clamp(1.2rem,2vw,1.5rem); color:var(--ink); margin-top:2rem; margin-bottom:.6rem; }
.prose ul, .prose ol{ padding-left:1.5em; margin-top:1rem; margin-bottom:1rem;
  display:flex; flex-direction:column; gap:.5rem; }
.prose li{ font-size:1.05rem; line-height:1.6; color:var(--slate); }
.prose blockquote{ border-left:4px solid var(--vw-cyan); margin:2rem 0; padding:1rem 1.4rem;
  background:var(--mist-2); border-radius:0 var(--r-md) var(--r-md) 0; }
.prose blockquote p{ font-size:1.1rem; line-height:1.6; color:var(--ink); font-style:italic; margin:0; }
.prose figure{ margin:2rem 0; }
.prose figure .ph{ border-radius:var(--r-md); overflow:hidden; aspect-ratio:16/9; background:var(--mist); }
.prose figure .ph image-slot{ width:100%; height:100%; }
.prose figcaption{ margin-top:.7rem; font-size:.85rem; color:var(--slate-2); text-align:center; }

.article-foot-nav{ display:flex; align-items:center; justify-content:space-between;
  gap:1rem; flex-wrap:wrap; margin-top:3rem; padding-top:2rem; border-top:1px solid var(--line); }

/* Sidebar */
.article-aside{ position:sticky; top:6rem; }
.share-box{ background:#fff; border:1px solid var(--line); border-radius:var(--r-md); padding:1.4rem; }
.share-box .lbl{ font-family:var(--display); font-weight:700; font-size:.82rem;
  letter-spacing:.06em; text-transform:uppercase; color:var(--slate); margin-bottom:1rem; }
.share-row{ display:flex; gap:.7rem; flex-wrap:wrap; }
.share-row a, .share-row button{ width:42px; height:42px; border-radius:50%; display:grid;
  place-items:center; background:var(--mist); color:var(--slate); transition:.18s;
  border:none; cursor:pointer; padding:0; }
.share-row svg{ width:18px; height:18px; }
.share-row a:hover, .share-row button:hover{ background:var(--vw-blue); color:#fff; }

/* Related grid */
.related-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.6rem; margin-top:3rem; }

/* =========================================================
   NEWS ARCHIVE — card excerpt + empty + pagination
   ========================================================= */
.nc-excerpt{
  color:var(--slate); font-size:.95rem; margin-top:.6rem; flex:1;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.news-empty{ text-align:center; padding:4rem 1rem; color:var(--slate); display:flex;
  flex-direction:column; align-items:center; gap:1.5rem; }

.news-pagination{ margin-top:3rem; }
.news-pagination .nav-links{ display:flex; justify-content:center; gap:.5rem; flex-wrap:wrap; }
.news-pagination .page-numbers{
  display:inline-flex; align-items:center; justify-content:center;
  width:40px; height:40px; border-radius:50%;
  font-family:var(--display); font-weight:600; font-size:.92rem;
  color:var(--vw-navy); transition:.18s;
  box-shadow:inset 0 0 0 1.5px var(--line-2);
}
.news-pagination .page-numbers:hover{ box-shadow:inset 0 0 0 1.5px var(--vw-blue); color:var(--vw-blue); }
.news-pagination .page-numbers.current{ background:var(--vw-blue); color:#fff; box-shadow:none; }
.news-pagination .page-numbers.dots{ box-shadow:none; width:auto; }
.news-pagination .page-numbers svg{ pointer-events:none; }

/* =========================================================
   RESPONSIVE (Quem somos additions appended below shared rules)
   ========================================================= */
@media (max-width:920px){
  .pd-hero{ grid-template-columns:1fr; }
  .pd-stage{ max-width:560px; }
  .promo-split{ grid-template-columns:1fr; }
  .gallery-grid{ grid-template-columns:repeat(3,1fr); }
  .about-intro{ grid-template-columns:1fr; }
  .about-photo{ max-width:480px; aspect-ratio:16/11; }
  .about-stats{ grid-template-columns:repeat(2,1fr); gap:1.8rem; }
  .values-grid{ grid-template-columns:1fr; }
  .principles{ grid-template-columns:1fr; }
  .lead-layout{ grid-template-columns:1fr; }
}
@media (max-width:820px){
  .parts-grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:680px){
  .filters-inner{ grid-template-columns:1fr 1fr; }
  .feature-row{ grid-template-columns:1fr; gap:1.2rem; }
  .feature-row.reverse .feature-media{ order:0; }
  .gallery-grid{ grid-template-columns:repeat(2,1fr); }
  .gallery-grid .g-item.wide{ grid-column:span 2; }
  .form-grid{ grid-template-columns:1fr; }
}
@media (max-width:480px){
  .parts-grid{ grid-template-columns:1fr; }
}
@media (max-width:920px){
  .article-body{ grid-template-columns:1fr; }
  .article-aside{ position:static; }
  .related-grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:600px){
  .article-cover{ aspect-ratio:4/3; }
  .related-grid{ grid-template-columns:1fr; }
}

/* =========================================================
   SINGLE PEÇA — product detail page
   ========================================================= */
.peca-layout{
  display:grid; grid-template-columns:1fr 1fr;
  gap:clamp(2rem,5vw,5rem); align-items:start;
  padding-block:clamp(40px,6vw,80px);
}
.peca-gallery{ position:sticky; top:calc(var(--header-h) + var(--util-h) + 1.5rem); }
.peca-gallery__main{
  border-radius:var(--r-xl); overflow:hidden; aspect-ratio:1;
  background:var(--mist-2); border:1px solid var(--line);
  display:grid; place-items:center; padding:1.4rem;
  transition:border-color .15s;
}
.peca-gallery__main img{ width:100%; height:100%; object-fit:contain; display:block; }
.peca-gallery__main .peca-placeholder{
  display:grid; place-items:center; color:var(--line-2);
}
.peca-gallery__thumbs{ display:flex; gap:.7rem; margin-top:.9rem; flex-wrap:wrap; }
.peca-gallery__thumb{
  width:72px; height:72px; border-radius:var(--r-sm); overflow:hidden;
  border:2px solid var(--line); background:var(--mist-2); cursor:pointer;
  transition:border-color .15s; flex-shrink:0; padding:.3rem;
}
.peca-gallery__thumb.active,
.peca-gallery__thumb:hover{ border-color:var(--vw-blue); }
.peca-gallery__thumb img{ width:100%; height:100%; object-fit:contain; }

.peca-details{ display:flex; flex-direction:column; gap:1.6rem; }
.peca-details h1{ font-size:clamp(1.8rem,3.5vw,2.6rem); margin-top:.6rem; }
.peca-details .lead{ color:var(--slate); font-size:1.05rem; margin-top:.8rem; line-height:1.6; }
.peca-price-block{ display:flex; align-items:baseline; gap:.3em; }
.peca-price-block .lbl{ display:block; font-family:var(--display); font-weight:600;
  font-size:.75rem; letter-spacing:.06em; text-transform:uppercase; color:var(--slate);
  margin-bottom:.35rem; }
.peca-price-block .cur{ font-size:1rem; color:var(--slate); font-family:var(--display); font-weight:700; }
.peca-price-block .val{ font-family:var(--display); font-weight:700;
  font-size:2.8rem; color:var(--vw-navy); letter-spacing:-.03em; line-height:1; }
.peca-actions{ display:flex; gap:.8rem; flex-wrap:wrap; }
.peca-divider{ border:none; border-top:1px solid var(--line); margin:0; }
.peca-contact-card{ background:var(--mist-2); border-radius:var(--r-lg); padding:1.8rem 1.8rem 1.4rem; }
.peca-contact-card h4{ font-size:1.1rem; margin-bottom:.35rem; }
.peca-contact-card .peca-form-sub{ color:var(--slate); font-size:.92rem; margin-bottom:1.2rem; }

@media (max-width:860px){
  .peca-layout{ grid-template-columns:1fr; }
  .peca-gallery{ position:static; }
}

/* =========================================================
   VIDEO ARCHIVE (category-youtube)
   ========================================================= */
.crumbs--light{ color:#9fb0cc; }
.crumbs--light a{ color:#9fb0cc; }
.crumbs--light a:hover{ color:#fff; }

.video-archive-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; margin-top:3rem; }

@media (max-width:860px){
  .video-archive-grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:520px){
  .video-archive-grid{ grid-template-columns:1fr; }
}
