:root {
  --color-bg: #111;
  --color-bg-alt: #181818;
  --color-fg: #fff;
  --color-fg-soft: #cccccc;
  --color-primary: #fff;
  --color-secondary: #181818;
  --color-accent: #fff;
  --color-card: #191919;
  --color-link: #fff;
  --color-border: #292929;

  /* CTA primária */
  --cta-bg: #1f7a8c;   /* azul petróleo (destaque) */
  --cta-bg-hover: #155766;

  /* Carrossel */
  --carousel-height: 420px;
  --carousel-radius: 16px;

  /* História */
  --history-hero-radius: 24px;
  --history-hero-maxh: 560px;
}
body.light-mode {
  --color-bg: #f7f7f7;
  --color-bg-alt: #fff;
  --color-fg: #181818;
  --color-fg-soft: #454545;
  --color-primary: #181818;
  --color-secondary: #fff;
  --color-accent: #000;
  --color-card: #fff;
  --color-link: #181818;
  --color-border: #e2e2e2;

  --cta-bg: #0d6efd;      /* azul padrão claro no light */
  --cta-bg-hover: #0b5ed7;
}

/* Acessibilidade auxiliar */
.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

* {margin:0;padding:0;box-sizing:border-box;}
html,body {
  width:100%;min-height:100%;
  font-family:"Inter","Helvetica Neue",Arial,sans-serif;
  background:var(--color-bg);color:var(--color-fg);
  transition:background 0.3s,color 0.3s;
}
a,a:visited {color:var(--color-link);text-decoration:none;transition:color 0.18s;}
a:hover {color:var(--color-accent);}

.header {position:fixed;top:0;left:0;width:100vw;background:var(--color-bg-alt);z-index:1000;border-bottom:1.5px solid var(--color-border);}
.navbar {padding:1rem 0;}
.nav-container {max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;position:relative;}
.nav-logo {display:flex;align-items:center;text-decoration:none;}
.nav-logo h2 {color:var(--color-fg);font-weight:800;font-size:1.5rem;text-transform:uppercase;letter-spacing:1px;margin:0 0 0 8px;}
.nav-logo img {height:40px;width:auto;object-fit:contain;image-rendering:auto;margin-right:2px;}
.nav-menu {display:flex;list-style:none;gap:2rem;}
.nav-link {text-decoration:none;color:var(--color-fg);font-weight:600;transition:color 0.3s;position:relative;}
.nav-link:hover,.nav-link.active {color:var(--color-accent);}
.nav-link::after {content:"";position:absolute;width:0;height:2px;bottom:-5px;left:0;background:var(--color-accent);transition:width 0.3s;}
.nav-link:hover::after,.nav-link.active::after {width:100%;}
.nav-toggle {display:none;}

.hero {min-height:100vh;display:flex;align-items:center;background:var(--color-bg);color:var(--color-fg);padding-top:90px;border-bottom:1.5px solid var(--color-border);}
.hero-container {max-width:1200px;margin:0 auto;padding:0 5vw;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;}
.hero-title {font-size:3.2rem;font-weight:800;line-height:1.15;margin-bottom:1.1rem;color:var(--color-fg);text-transform:uppercase;letter-spacing:1px;}
.hero-subtitle {font-size:1.15rem;margin-bottom:1.4rem;color:var(--color-fg-soft);}
.hero-buttons {display:flex;gap:1rem;margin-top:1.4rem;}
.btn {display:inline-flex;align-items:center;justify-content:center;font-weight:700;border-radius:14px;padding:0.9rem 1.6rem;border:2px solid var(--color-fg);transition:background .21s,color .21s,border .21s;min-width:210px;cursor:pointer;}
.btn.btn-secondary {background:transparent;color:var(--color-fg);border-color:var(--color-fg);}
.btn.btn-secondary:hover {background:var(--color-fg);color:var(--color-bg);}
.btn-primary-cta {background:var(--cta-bg);border-color:var(--cta-bg);color:#fff;}
.btn-primary-cta:hover {background:var(--cta-bg-hover);border-color:var(--cta-bg-hover);color:#fff;}

.hero-image img {width:150%;max-height:520px;height:auto;object-fit:cover;border-radius:20px;box-shadow:0 8px 24px rgba(0,0,0,0.12);background:var(--color-bg-alt);display:block;margin:0 auto;}

.container {max-width:1200px;margin:0 auto;padding:0 20px;}

.products {padding:100px 0;background:var(--color-bg-alt);border-bottom:1.5px solid var(--color-border);}
.section-title {text-align:center;font-size:2.2rem;color:var(--color-fg);margin-bottom:2.2rem;text-transform:uppercase;letter-spacing:1px;font-weight:800;}

/* ---------- CARROSSEL ---------- */
.carousel {position:relative;isolation:isolate;}
.carousel-viewport {overflow:hidden;border-radius:var(--carousel-radius);box-shadow:0 8px 24px rgba(0,0,0,0.12);background:var(--color-card);border:1.5px solid var(--color-border);}
.carousel-track {display:flex;transition:transform 0.5s ease-in-out;will-change:transform;height:var(--carousel-height);}
.carousel-slide {min-width:100%;height:var(--carousel-height);position:relative;}
.carousel-slide img {width:100%;height:100%;object-fit:cover;display:block;}
.carousel-btn {
  position:absolute;top:50%;transform:translateY(-50%);
  width:44px;height:44px;border-radius:50%;
  border:1px solid rgba(255,255,255,0.6);
  background:rgba(0,0,0,0.35);backdrop-filter:blur(2px);
  color:#fff;display:flex;align-items:center;justify-content:center;
  cursor:pointer;z-index:2;transition:background .2s,border .2s,transform .2s, box-shadow .2s;
}
.carousel-btn:hover {background:rgba(0,0,0,0.55);transform:translateY(-50%) scale(1.05);}
.carousel-btn:focus-visible {outline:2px solid var(--color-accent);box-shadow:0 0 0 3px rgba(255,255,255,0.25);}
.carousel .btnPrev {left:10px;}
.carousel .btnNext {right:10px;}
.carousel-dots {display:flex;gap:10px;justify-content:center;margin-top:12px;}
.carousel-dots .dot {width:10px;height:10px;border-radius:999px;border:1px solid var(--color-border);background:var(--color-bg);cursor:pointer;transition:transform .2s,background .2s,width .2s;}
.carousel-dots .dot:is(:hover,:focus-visible) {transform:scale(1.15);}
.carousel-dots .dot.is-active {width:24px;background:var(--color-fg);}

/* ---------- PRODUTOS ---------- */
.products-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;}
.product-card {background:var(--color-card);border-radius:16px;overflow:hidden;box-shadow:0 4px 16px rgba(0,0,0,0.1);transition:transform 0.3s,box-shadow 0.3s;border:1.5px solid var(--color-border);display:flex;flex-direction:column;}
.product-card:hover {transform:translateY(-5px) scale(1.02);box-shadow:0 10px 28px rgba(0,0,0,0.18);border-color:var(--color-accent);}
.product-card .product-media {padding:14px 14px 10px 14px;}
.product-card .carousel-viewport {border-radius:14px;}
.product-card .carousel-track,
.product-card .carousel-slide {height:var(--carousel-height);}
.product-content {padding:18px;}
.product-content h3 {font-size:1.1rem;margin-bottom:8px;color:var(--color-fg);text-transform:uppercase;font-weight:800;letter-spacing:1px;}
.product-content p {font-size:0.98rem;color:var(--color-fg-soft);}

/* Selos rápidos */
.badges {list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 4px 0;padding:0;}
.badges li {
  font-size:0.8rem;font-weight:600;color:var(--color-fg);
  border:1px solid var(--color-border);padding:.35rem .6rem;border-radius:999px;background:var(--color-bg);
}

/* CTA */
.product-cta {display:inline-block;margin-top:12px;font-weight:800;letter-spacing:.4px;border:1.5px solid var(--color-border);padding:.7rem 1rem;border-radius:10px;background:var(--cta-bg);color:#fff;transition:transform .2s, box-shadow .2s, border-color .2s, background .2s;}
.product-cta:hover {transform:translateY(-1px);box-shadow:0 6px 18px rgba(0,0,0,0.12);border-color:var(--cta-bg-hover);background:var(--cta-bg-hover);}

/* ---------- HISTÓRIA ---------- */
.value-proposition {padding:100px 0 60px 0;background:var(--color-bg);border-bottom:1.5px solid var(--color-border);}
.value-content {text-align:center;}
.historia-titulo {font-size:2.2rem;color:var(--color-fg);margin-bottom:1.2rem;}
.historia-underline {width:80px;height:5px;background:linear-gradient(90deg,var(--color-accent) 0%,var(--color-bg-alt) 100%);border-radius:2px;margin:0 auto 28px auto;}
.history-hero{width:100vw;margin-left:50%;transform:translateX(-50%);padding:28px 0 16px 0;background:linear-gradient(180deg,transparent 0%, rgba(0,0,0,0.04) 100%);}
.history-hero-figure{max-width:1200px;margin:0 auto;border-radius:var(--history-hero-radius);overflow:hidden;border:1px solid var(--color-border);box-shadow:0 10px 34px rgba(0,0,0,0.12);}
.history-hero-figure img{width:100%;height:auto;aspect-ratio:21/9;max-height:var(--history-hero-maxh);object-fit:cover;display:block;background:var(--color-bg-alt);}
.history-text-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;justify-content:center;align-items:start;margin-top:18px;}
.history-column{background:var(--color-card);padding:28px 26px;border-radius:24px;box-shadow:0 6px 32px rgba(0,0,0,0.1);border:1px solid var(--color-border);font-size:1.05rem;line-height:1.9;color:var(--color-fg);text-align:justify;transition:box-shadow .2s;}
.history-column:hover{box-shadow:0 12px 40px rgba(0,0,0,0.16);}
.history-column p{margin-bottom:16px;}
.stats {width:100vw;max-width:100vw;margin-left:50%;transform:translateX(-50%);background:transparent;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2.2rem;text-align:center;padding:2.4rem 3vw 1.8rem 3vw;box-sizing:border-box;}
.stat {background:var(--color-card);color:var(--color-fg);padding:2rem 1rem;border-radius:16px;box-shadow:0 8px 28px rgba(0,0,0,0.12);border:1.5px solid var(--color-border);display:flex;flex-direction:column;align-items:center;min-width:0;transition:box-shadow 0.3s,transform 0.3s;}
.stat:hover {box-shadow:0 8px 26px rgba(0,0,0,0.18);transform:translateY(-5px) scale(1.03);}
.stat h3 {font-size:2.4rem;font-weight:800;margin-bottom:0.6rem;letter-spacing:1px;color:var(--color-fg);display:inline;line-height:1;}
.valor::after {content:"+";margin-left:2px;font-size:1rem;vertical-align:super;}
.metros::after {content:"m²+";margin-left:2px;font-size:1rem;vertical-align:super;}
.stat p {font-size:1.05rem;opacity:0.94;font-weight:500;margin-top:6px;line-height:1.4;}

/* ---------- MISSÃO, VISÃO E VALORES ---------- */
.mission-vision-values {background:var(--color-bg-alt);padding:80px 0;border-top:1.5px solid var(--color-border);border-bottom:1.5px solid var(--color-border);}
.mv-content {display:flex;gap:2rem;justify-content:center;align-items:stretch;flex-wrap:wrap;max-width:1200px;margin:0 auto;padding:0 20px;}
.mv-item {background:var(--color-card);padding:2.2rem 2rem;border-radius:18px;box-shadow:0 4px 14px rgba(0,0,0,0.08);flex:1 1 280px;min-width:260px;max-width:340px;border:1.5px solid var(--color-border);text-align:center;transition:transform 0.25s, box-shadow 0.25s;}
.mv-item:hover {transform:translateY(-5px);box-shadow:0 10px 28px rgba(0,0,0,0.15);border-color:var(--color-accent);}
.mv-item h3 {color:var(--color-fg);margin-bottom:0.8rem;text-transform:uppercase;font-weight:800;font-size:1.1rem;letter-spacing:1px;}
.mv-item p {color:var(--color-fg-soft);font-size:1rem;line-height:1.65;}
.mv-icon {font-size:1.6rem;margin-bottom:.6rem;color:var(--cta-bg);}

/* ---------- CONTATO ---------- */
.contact {background:var(--color-bg);padding:70px 0;}
.section-title {text-align:center;font-size:2.2rem;color:var(--color-fg);margin-bottom:28px;font-weight:800;letter-spacing:1px;}
.contact-grid {display:grid;grid-template-columns:1fr 1.3fr;gap:40px;max-width:1180px;margin:0 auto;padding:0 5vw;align-items:flex-start;}
.contact-info {display:flex;flex-direction:column;gap:22px;justify-content:center;}
.contact-card {background:var(--color-card);padding:22px;border-radius:18px;display:flex;align-items:center;gap:14px;box-shadow:0 2px 14px rgba(0,0,0,0.07);font-size:1.05rem;font-weight:600;color:var(--color-fg);transition:box-shadow 0.25s;border:1.5px solid var(--color-border);}
.contact-card i {font-size:1.4rem;color:var(--color-fg-soft);}
.contact-card:hover {box-shadow:0 6px 28px rgba(0,0,0,0.13);border-color:var(--color-accent);}
.contact-social {display:flex;gap:12px;margin-top:12px;}
.contact-social a {width:44px;height:44px;border-radius:50%;background:var(--color-fg);display:flex;align-items:center;justify-content:center;color:var(--color-bg);font-size:1.15rem;box-shadow:0 2px 8px rgba(0,0,0,0.09);transition:background 0.2s,transform 0.2s;text-decoration:none;}
.contact-social a:hover {background:var(--color-accent);color:var(--color-bg);transform:scale(1.1);}
.contact-form {background:var(--color-card);padding:32px;border-radius:18px;box-shadow:0 2px 18px rgba(0,0,0,0.09);display:flex;flex-direction:column;gap:14px;border:1.5px solid var(--color-border);}
.form-title {font-size:1.15rem;font-weight:800;margin-bottom:8px;color:var(--color-fg);letter-spacing:1px;text-align:center;}
.form-group input,.form-group textarea {width:100%;padding:14px 16px;border:2px solid var(--color-border);border-radius:8px;font-size:1rem;background:var(--color-bg);margin-top:2px;color:var(--color-fg);transition:border 0.23s,box-shadow 0.23s;font-family:inherit;}
.form-group input:focus,.form-group textarea:focus {outline:none;border:2px solid var(--cta-bg);background:var(--color-bg-alt);box-shadow:0 2px 12px rgba(0,0,0,0.08);}
.form-group textarea {resize:vertical;min-height:110px;font-size:1rem;}
.btn.btn-primary {background:var(--cta-bg);color:#fff;border:none;font-weight:800;font-size:1.02rem;border-radius:10px;padding:14px 0;margin-top:6px;cursor:pointer;transition:background 0.18s,box-shadow 0.18s;}
.btn.btn-primary:hover {background:var(--cta-bg-hover);}

/* ---------- Lojista / Trabalho ---------- */
.lojas-trabalho {display:flex;align-items:stretch;justify-content:center;gap:0;margin:0;background:var(--color-bg-alt);border-top:2px solid var(--color-border);border-bottom:2px solid var(--color-border);}
.lojas-trabalho .box {flex:1 1 300px;padding:40px 30px;text-align:center;background:var(--color-bg-alt);display:flex;flex-direction:column;justify-content:center;}
.lojas-trabalho h2 {font-size:1.8rem;font-weight:800;margin-bottom:14px;color:var(--color-fg);}
.lojas-trabalho p {margin-bottom:16px;color:var(--color-fg-soft);}
.btn-lojista,.btn-trabalho {background-color:#000;color:#fff !important;padding:0.8rem 2rem;text-decoration:none;font-size:1.05rem;border-radius:10px;transition:background-color 0.3s;display:inline-block;font-weight:700;border:none;margin-top:8px;}
.btn-lojista:hover,.btn-trabalho:hover {background-color:#333;color:#fff;}
.lojas-trabalho .divider {width:2px;background:var(--color-border);margin:0;}

/* ---------- Footer ---------- */
.footer {background:var(--color-bg-alt);color:var(--color-fg);padding:50px 0 20px;border-top:1.5px solid var(--color-border);}
.footer-content {display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-bottom:2rem;}
.footer-section h3,.footer-section h4 {margin-bottom:1rem;color:var(--color-fg);text-transform:uppercase;letter-spacing:1px;font-weight:800;}
.footer-section p {line-height:1.6;margin-bottom:1rem;color:var(--color-fg-soft);}
.footer-section ul {list-style:none;}
.footer-section ul li {margin-bottom:0.5rem;}
.footer-section ul li a {color:var(--color-link);text-decoration:none;transition:color 0.3s;}
.footer-section ul li a:hover {color:var(--color-accent);}
.social-links {display:flex;gap:1rem;margin-top:1rem;}
.social-links a {display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--color-bg);color:var(--color-fg);border:1px solid var(--color-border);text-decoration:none;transition:all 0.3s;border-radius:50%;}
.social-links a:hover {background:var(--color-accent);color:var(--color-bg);transform:translateY(-2px);}
.footer-bottom {text-align:center;padding-top:2rem;border-top:1.5px solid var(--color-border);color:var(--color-fg-soft);}

/* ---------- Cookie ---------- */
.cookie-banner {position:fixed;bottom:0;left:0;width:100vw;background:var(--color-bg-alt);color:var(--color-fg);padding:18px 10px;box-shadow:0 -2px 16px rgba(0,0,0,0.08);display:flex;align-items:center;justify-content:center;z-index:9999;font-size:1rem;transition:transform 0.3s;}
.cookie-banner.hide {transform:translateY(100%);pointer-events:none;opacity:0;}
.cookie-banner button {margin-left:18px;background:var(--cta-bg);color:#fff;border:none;border-radius:8px;padding:8px 18px;font-weight:800;cursor:pointer;transition:background 0.2s;}
.cookie-banner button:hover {background:var(--cta-bg-hover);}

/* ---------- Performance hints ---------- */
.product-card,.line-card,.history-column,.mv-item,.stat,.contact-card {content-visibility:auto;contain-intrinsic-size: 1px 500px;}

/* ---------- Âncoras com header fixo ---------- */
section[id], main[id], div[id] {scroll-margin-top: 96px;}

/* ---------- Responsividade ---------- */
@media (max-width:1200px){ :root { --carousel-height: 380px; } }
@media (max-width:1100px){
  .products-grid{grid-template-columns:1fr 1fr;}
  :root{ --history-hero-maxh: 480px; }
  .history-text-grid{ grid-template-columns: 1fr; gap:18px; }
}
@media (max-width:900px){
  .hero-container,.contact-grid{grid-template-columns:1fr;gap:2rem;}
  .products-grid,.lines-grid{grid-template-columns:1fr;}
  .footer-content{grid-template-columns:1fr;gap:1rem;}
  .lojas-trabalho{flex-direction:column;}
  .lojas-trabalho .divider{display:none;}
  :root { --carousel-height: 320px; }
  .product-card .product-media {padding:10px;}
}
@media (max-width:700px){
  :root{ --history-hero-maxh: 360px; }
  .history-hero-figure img{ aspect-ratio:16/9; }
}
@media (max-width:600px){
  .hero-title,.section-title{font-size:1.8rem;}
  .container{padding:0 10px;}
  .hero-image img{height:180px;}
  :root { --carousel-height: 230px; }
  .carousel .btnPrev,.carousel .btnNext {width:40px;height:40px;}
}
@media (max-width:500px){ .stat{padding:1.1rem 0.6rem;} }

/* ===== CONHEÇA NOSSAS LINHAS ===== */
.our-lines {
  background: var(--color-bg);
  padding: 70px 0;
  border-bottom: 1.5px solid var(--color-border);
}

.our-lines .container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

.our-lines .section-title {
  font-size: 2.2rem;
  margin-bottom: 18px;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 800;
  color: var(--color-fg);
}

/* grids */
.lines-grid,
.lines-grid2 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 24px;
  margin-top: 28px;
  justify-content: center;
  align-items: stretch;
}

/* cards */
.line-card,
.line-card2 {
  background: var(--color-card);
  border: 1.5px solid var(--color-border);
  border-radius: 16px;
  overflow: hidden;
  text-align: center;
  box-shadow: 0 4px 16px rgba(0,0,0,0.1);
  transition: transform .25s, box-shadow .25s, border-color .2s;
  content-visibility: auto;
  contain-intrinsic-size: 1px 420px;
}

.line-card:hover,
.line-card2:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 28px rgba(0,0,0,0.15);
  border-color: var(--color-accent);
}

.line-card:focus-within,
.line-card2:focus-within {
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
}

/* imagens */
.line-card img,
.line-card2 img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  display: block;
  background: var(--color-bg-alt);
  opacity: 1;
  transform: none;
  transition: opacity .35s ease, transform .35s ease, filter .35s ease;
}

/* leve efeito de “blur-up” enquanto estiver com a classe .lazy */
.line-card img.lazy,
.line-card2 img.lazy {
  opacity: .85;
  transform: scale(1.01);
  filter: saturate(.92) contrast(.98);
}

/* textos */
.line-card h3,
.line-card2 h3 {
  margin: 14px 0 6px;
  font-size: 1.12rem;
  font-weight: 800;
  letter-spacing: .6px;
  color: var(--color-fg);
  text-transform: uppercase;
}

.line-card p,
.line-card2 p {
  padding: 0 14px 18px;
  font-size: .96rem;
  line-height: 1.6;
  color: var(--color-fg-soft);
}

/* centraliza a segunda linha quando tiver menos itens */
.lines-grid2 .line-card2 {
  max-width: 360px;
  margin: 0 auto;
}

/* responsivo */
@media (max-width: 900px) {
  .our-lines { padding: 56px 0; }
  .lines-grid, .lines-grid2 {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .lines-grid2 .line-card2 { max-width: 420px; }
}

@media (max-width: 600px) {
  .our-lines .section-title { font-size: 1.9rem; }
  .line-card h3, .line-card2 h3 { font-size: 1.02rem; }
  .line-card p, .line-card2 p { font-size: .94rem; }
}

/* ===== POLÍTICA DE PRIVACIDADE ===== */

/* Layout base da página */
main.policy-page { padding-top: 110px; }
.policy-container { max-width: 980px; margin: 0 auto; padding: 0 20px 64px; }

/* Cabeçalho da política */
.policy-header { text-align: center; margin-bottom: 26px; }
.policy-header h1 {
  font-size: 2rem;
  font-weight: 800;
  letter-spacing: .5px;
  text-transform: uppercase;
  color: var(--color-fg);
}
.policy-meta { color: var(--color-fg-soft); font-size: .95rem; margin-top: 6px; }
.policy-actions { margin-top: 8px; font-size: .95rem; color: var(--color-fg-soft); }
.policy-actions a { color: var(--color-link); text-decoration: underline; }
.policy-actions a:hover { color: var(--color-accent); }

/* Sumário (TOC) */
.toc {
  background: var(--color-card);
  border: 1.5px solid var(--color-border);
  border-radius: 14px;
  padding: 16px 18px;
  margin: 18px 0 26px;
  box-shadow: 0 4px 12px rgba(0,0,0,.06);
}
.toc h2 {
  font-size: 1rem;
  margin-bottom: 10px;
  text-transform: uppercase;
  letter-spacing: .6px;
  color: var(--color-fg);
}
.toc ul { list-style: none; padding-left: 0; display: grid; gap: 8px; }
.toc a { text-decoration: underline; color: var(--color-link); }
.toc a:hover { color: var(--color-accent); }

/* Seções */
.policy-section {
  background: var(--color-card);
  border: 1.5px solid var(--color-border);
  border-radius: 16px;
  padding: 18px 20px;
  margin-bottom: 16px;
  box-shadow: 0 4px 12px rgba(0,0,0,.06);
}
.policy-section h3 {
  font-size: 1.1rem;
  font-weight: 800;
  text-transform: uppercase;
  margin-bottom: 10px;
  letter-spacing: .6px;
  color: var(--color-fg);
}
.policy-section p,
.policy-section li {
  color: var(--color-fg-soft);
  line-height: 1.75;
  font-size: .98rem;
}
.policy-section ul { padding-left: 18px; }
.policy-section a { color: var(--color-link); text-decoration: underline; }
.policy-section a:hover { color: var(--color-accent); }

/* Destaques e utilidades */
.badge-law {
  display: inline-block;
  border: 1px solid var(--color-border);
  padding: .25rem .55rem;
  border-radius: 999px;
  font-size: .8rem;
  font-weight: 700;
  color: var(--color-fg);
  background: var(--color-bg-alt);
}
.contact-box { display: grid; gap: .35rem; }

/* Âncoras compensando o header fixo nesta página */
main.policy-page section[id] { scroll-margin-top: 110px; }

/* Estados de foco/acessibilidade */
.policy-section :is(a, button, [tabindex]) :focus,
.policy-section :is(a, button, [tabindex]):focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
}

/* Elementos opcionais (se usar em conteúdos futuros) */
.policy-section code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
  font-size: .88rem;
  background: var(--color-bg-alt);
  border: 1px solid var(--color-border);
  border-radius: 6px;
  padding: .05rem .35rem;
  color: var(--color-fg);
}
.policy-section blockquote {
  margin: 8px 0;
  padding: 10px 14px;
  border-left: 3px solid var(--color-border);
  background: color-mix(in srgb, var(--color-card) 92%, var(--color-fg) 8%);
  border-radius: 8px;
  color: var(--color-fg-soft);
}
.policy-section table {
  width: 100%;
  border-collapse: collapse;
  margin: 8px 0 12px;
  font-size: .95rem;
}
.policy-section table th,
.policy-section table td {
  padding: 10px 12px;
  border: 1px solid var(--color-border);
}
.policy-section table th {
  text-align: left;
  background: color-mix(in srgb, var(--color-card) 92%, var(--color-fg) 8%);
  color: var(--color-fg);
  font-weight: 700;
}

/* Responsividade */
@media (max-width: 700px){
  .policy-header h1 { font-size: 1.7rem; }
  .policy-container { padding-bottom: 48px; }
  .policy-section { padding: 16px; }
}

/* ===== POLÍTICA DE PRIVACIDADE ===== */

/* Layout base da página */
main.policy-page { padding-top: 110px; }
.policy-container { max-width: 980px; margin: 0 auto; padding: 0 20px 64px; }

/* Cabeçalho da política */
.policy-header { text-align: center; margin-bottom: 26px; }
.policy-header h1 {
  font-size: 2rem;
  font-weight: 800;
  letter-spacing: .5px;
  text-transform: uppercase;
  color: var(--color-fg);
}
.policy-meta { color: var(--color-fg-soft); font-size: .95rem; margin-top: 6px; }
.policy-actions { margin-top: 8px; font-size: .95rem; color: var(--color-fg-soft); }
.policy-actions a { color: var(--color-link); text-decoration: underline; }
.policy-actions a:hover { color: var(--color-accent); }

/* Sumário (TOC) */
.toc {
  background: var(--color-card);
  border: 1.5px solid var(--color-border);
  border-radius: 14px;
  padding: 16px 18px;
  margin: 18px 0 26px;
  box-shadow: 0 4px 12px rgba(0,0,0,.06);
}
.toc h2 {
  font-size: 1rem;
  margin-bottom: 10px;
  text-transform: uppercase;
  letter-spacing: .6px;
  color: var(--color-fg);
}
.toc ul { list-style: none; padding-left: 0; display: grid; gap: 8px; }
.toc a { text-decoration: underline; color: var(--color-link); }
.toc a:hover { color: var(--color-accent); }

/* Seções */
.policy-section {
  background: var(--color-card);
  border: 1.5px solid var(--color-border);
  border-radius: 16px;
  padding: 18px 20px;
  margin-bottom: 16px;
  box-shadow: 0 4px 12px rgba(0,0,0,.06);
}
.policy-section h3 {
  font-size: 1.1rem;
  font-weight: 800;
  text-transform: uppercase;
  margin-bottom: 10px;
  letter-spacing: .6px;
  color: var(--color-fg);
}
.policy-section p,
.policy-section li {
  color: var(--color-fg-soft);
  line-height: 1.75;
  font-size: .98rem;
}
.policy-section ul { padding-left: 18px; }
.policy-section a { color: var(--color-link); text-decoration: underline; }
.policy-section a:hover { color: var(--color-accent); }

/* Destaques e utilidades */
.badge-law {
  display: inline-block;
  border: 1px solid var(--color-border);
  padding: .25rem .55rem;
  border-radius: 999px;
  font-size: .8rem;
  font-weight: 700;
  color: var(--color-fg);
  background: var(--color-bg-alt);
}
.contact-box { display: grid; gap: .35rem; }

/* Âncoras compensando o header fixo nesta página */
main.policy-page section[id] { scroll-margin-top: 110px; }

/* Estados de foco/acessibilidade */
.policy-section :is(a, button, [tabindex]) :focus,
.policy-section :is(a, button, [tabindex]):focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
}

/* Elementos opcionais (se usar em conteúdos futuros) */
.policy-section code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
  font-size: .88rem;
  background: var(--color-bg-alt);
  border: 1px solid var(--color-border);
  border-radius: 6px;
  padding: .05rem .35rem;
  color: var(--color-fg);
}
.policy-section blockquote {
  margin: 8px 0;
  padding: 10px 14px;
  border-left: 3px solid var(--color-border);
  background: color-mix(in srgb, var(--color-card) 92%, var(--color-fg) 8%);
  border-radius: 8px;
  color: var(--color-fg-soft);
}
.policy-section table {
  width: 100%;
  border-collapse: collapse;
  margin: 8px 0 12px;
  font-size: .95rem;
}
.policy-section table th,
.policy-section table td {
  padding: 10px 12px;
  border: 1px solid var(--color-border);
}
.policy-section table th {
  text-align: left;
  background: color-mix(in srgb, var(--color-card) 92%, var(--color-fg) 8%);
  color: var(--color-fg);
  font-weight: 700;
}

/* Responsividade */
@media (max-width: 700px){
  .policy-header h1 { font-size: 1.7rem; }
  .policy-container { padding-bottom: 48px; }
  .policy-section { padding: 16px; }
}

.cookie-banner.hide {
  transform: translateY(100%);
  opacity: 0;
  pointer-events: none;
  transition: transform .3s, opacity .3s;
}