/* ==========================================================================
   Modelos de Contrato — sistema de design
   Aplicado SOBRE o Bootstrap 5.3: re-tematiza via variáveis do próprio
   Bootstrap, para que as páginas existentes herdem o visual sem precisar
   trocar as classes (container/row/col/card/btn continuam funcionando).
   Componentes próprios usam o prefixo .mc- para não colidir com nada.
   ========================================================================== */

:root{
  /* paleta — nomeada pelo mundo do documento jurídico */
  --mc-tinta:#16265C;      /* azul-caneta: cor primária */
  --mc-tinta-esc:#0D1738;
  --mc-papel:#FBFAF7;
  --mc-papel-2:#F2EFE8;
  --mc-grafite:#2B2F38;
  --mc-carimbo:#C2334D;    /* vermelho de carimbo: uso escasso */
  --mc-selo:#1E6F5C;       /* verde "incluído" */
  --mc-margem:#DFDBD0;

  --mc-display:"Petrona",Georgia,"Times New Roman",serif;
  --mc-corpo:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mc-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Consolas,monospace;

  /* ---- overrides do Bootstrap: mudam o site inteiro de uma vez ---- */
  --bs-primary:#16265C;
  --bs-primary-rgb:22,38,92;
  --bs-body-font-family:var(--mc-corpo);
  --bs-body-font-size:1.0625rem;
  --bs-body-line-height:1.65;
  --bs-body-color:var(--mc-grafite);
  --bs-body-bg:var(--mc-papel);
  --bs-border-color:var(--mc-margem);
  --bs-border-radius:3px;
  --bs-border-radius-sm:2px;
  --bs-border-radius-lg:4px;
  --bs-link-color:var(--mc-tinta);
  --bs-link-hover-color:var(--mc-carimbo);
  --bs-emphasis-color:var(--mc-tinta-esc);
}

body{background:var(--mc-papel);color:var(--mc-grafite);-webkit-font-smoothing:antialiased}

/* ---------- tipografia ---------- */
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{
  font-family:var(--mc-display);
  font-weight:600;
  color:var(--mc-tinta-esc);
  letter-spacing:-.012em;
  line-height:1.22;
  text-wrap:balance;
}
.lead{font-family:var(--mc-corpo);font-weight:400}
.mc-eyebrow{
  font-family:var(--mc-mono);font-size:.7rem;font-weight:500;
  letter-spacing:.16em;text-transform:uppercase;color:var(--mc-tinta);
  opacity:.75;margin:0;
}
.mc-mono{font-family:var(--mc-mono)}

/* ---------- botões ---------- */
.btn{font-weight:600;border-radius:2px;letter-spacing:.005em}
.btn-primary{
  --bs-btn-bg:var(--mc-tinta);--bs-btn-border-color:var(--mc-tinta);
  --bs-btn-hover-bg:var(--mc-tinta-esc);--bs-btn-hover-border-color:var(--mc-tinta-esc);
  --bs-btn-active-bg:var(--mc-tinta-esc);--bs-btn-active-border-color:var(--mc-tinta-esc);
}
.btn-outline-primary{
  --bs-btn-color:var(--mc-tinta);--bs-btn-border-color:var(--mc-tinta);
  --bs-btn-hover-bg:var(--mc-tinta);--bs-btn-hover-border-color:var(--mc-tinta);
}
.btn-danger{
  --bs-btn-bg:var(--mc-carimbo);--bs-btn-border-color:var(--mc-carimbo);
  --bs-btn-hover-bg:#a82a41;--bs-btn-hover-border-color:#a82a41;
}
.btn-success{--bs-btn-bg:var(--mc-selo);--bs-btn-border-color:var(--mc-selo)}

/* ---------- navbar ---------- */
.navbar-modern,.navbar.bg-white{
  background:rgba(251,250,247,.94)!important;
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--mc-margem);
  box-shadow:none!important;
}
.navbar-brand{font-family:var(--mc-display);font-weight:600;color:var(--mc-tinta)}
.navbar-modern .nav-link{color:var(--mc-grafite);font-weight:500}
.navbar-modern .nav-link:hover,.navbar-modern .nav-link:focus{color:var(--mc-tinta)}

/* ---------- cards ---------- */
.card{border:1px solid var(--mc-margem);border-radius:3px;background:#fff}
.card.shadow-sm{box-shadow:none!important;transition:border-color .2s,box-shadow .2s,transform .2s}
.card.shadow-sm:hover{
  border-color:var(--mc-tinta);
  box-shadow:0 10px 26px rgba(22,38,92,.10)!important;
  transform:translateY(-3px);
}
.card-title{font-family:var(--mc-display)}

/* ---------- formulários ---------- */
.form-control,.form-select{
  border-color:var(--mc-margem);border-radius:2px;
}
.form-control:focus,.form-select:focus{
  border-color:var(--mc-tinta);
  box-shadow:0 0 0 .18rem rgba(22,38,92,.13);
}

/* ---------- abas (nav-pills da home) ---------- */
.nav-pills .nav-link{color:var(--mc-grafite);border-radius:2px;font-weight:500}
.nav-pills .nav-link.active{background:var(--mc-tinta);color:#fff}

/* ==========================================================================
   COMPONENTES PRÓPRIOS
   ========================================================================== */

/* ---------- HERO: a folha do contrato ---------- */
.mc-hero{position:relative;overflow:hidden;padding:72px 0 60px;background:var(--mc-papel)}
.mc-hero__in{position:relative;max-width:900px}
.mc-clausula{
  font-family:var(--mc-display);font-weight:500;
  font-size:clamp(1.9rem,4.6vw,3.3rem);line-height:1.18;letter-spacing:-.015em;
  color:var(--mc-tinta-esc);margin:18px 0 0;
}
.mc-clausula em{font-style:italic;color:var(--mc-tinta)}

/* o campo de busca desenhado como a LACUNA do documento */
.mc-lacuna{margin:26px 0 0}
.mc-lacuna form{
  display:flex;align-items:flex-end;gap:14px;
  border-bottom:2.5px solid var(--mc-tinta);padding-bottom:10px;
  transition:border-color .2s;
}
.mc-lacuna form:focus-within{border-bottom-color:var(--mc-carimbo)}
.mc-lacuna input[type=search],.mc-lacuna input[type=text]{
  flex:1;border:0;background:transparent;outline:none;padding:4px 2px;
  font-family:var(--mc-display);font-weight:500;
  font-size:clamp(1.25rem,3vw,2.1rem);color:var(--mc-tinta-esc);min-width:0;
  box-shadow:none;
}
.mc-lacuna input::placeholder{color:var(--mc-tinta);opacity:.34;font-style:italic}
.mc-lacuna button{
  flex:none;background:var(--mc-tinta);color:#fff;border:0;cursor:pointer;
  font-family:var(--mc-corpo);font-weight:600;font-size:.92rem;
  padding:12px 26px;border-radius:2px;transition:background .18s;
}
.mc-lacuna button:hover{background:var(--mc-carimbo)}
.mc-lacuna__rodape{
  display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:14px;
  font-family:var(--mc-mono);font-size:.74rem;letter-spacing:.06em;opacity:.72;
}
.mc-lacuna__rodape b{font-weight:500;color:var(--mc-tinta)}

/* sugestões rápidas */
.mc-sugestoes{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px;padding:0;list-style:none}
.mc-sugestoes a{
  display:inline-block;font-size:.86rem;text-decoration:none;padding:7px 15px;
  border:1px solid var(--mc-margem);border-radius:999px;background:#fff;
  color:var(--mc-grafite);transition:.18s;
}
.mc-sugestoes a:hover{border-color:var(--mc-tinta);color:var(--mc-tinta);transform:translateY(-1px)}

/* ---------- CARIMBO (elemento de assinatura) ---------- */
.mc-carimbo{
  position:absolute;right:0;top:48px;width:186px;height:186px;border-radius:50%;
  border:2.5px solid var(--mc-carimbo);color:var(--mc-carimbo);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  transform:rotate(-11deg);opacity:.9;pointer-events:none;
}
.mc-carimbo::after{content:"";position:absolute;inset:9px;border:1px solid var(--mc-carimbo);border-radius:50%;opacity:.55}
.mc-carimbo__n{font-family:var(--mc-display);font-weight:600;font-size:2.3rem;line-height:1;letter-spacing:-.02em}
.mc-carimbo__t{font-family:var(--mc-mono);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;margin-top:6px;text-align:center;line-height:1.5}
@media(max-width:991.98px){.mc-carimbo{display:none}}

/* ---------- cabeçalho de seção ---------- */
.mc-secao-cab{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:28px;flex-wrap:wrap}
.mc-link-ver{
  font-family:var(--mc-mono);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--mc-tinta);text-decoration:none;border-bottom:1px solid var(--mc-carimbo);padding-bottom:2px;
}
.mc-link-ver:hover{color:var(--mc-carimbo)}

/* ---------- categorias ---------- */
.mc-cat{
  display:block;background:#fff;border:1px solid var(--mc-margem);border-radius:3px;
  padding:20px 18px;text-decoration:none;transition:.2s;height:100%;
}
.mc-cat:hover{border-color:var(--mc-tinta);transform:translateY(-2px);box-shadow:0 8px 22px rgba(22,38,92,.09)}
.mc-cat__nome{font-family:var(--mc-display);font-size:1.1rem;font-weight:600;color:var(--mc-tinta-esc);line-height:1.25}
.mc-cat__qtd{font-family:var(--mc-mono);font-size:.72rem;opacity:.6;margin-top:5px}

/* ---------- selos de acesso ---------- */
.mc-selo-livre{font-family:var(--mc-mono);font-size:.68rem;letter-spacing:.06em;color:var(--mc-selo);font-weight:500}
.mc-selo-assin{font-family:var(--mc-mono);font-size:.68rem;letter-spacing:.06em;color:var(--mc-carimbo);font-weight:500}
.mc-tipo-arq{
  font-family:var(--mc-mono);font-size:.62rem;letter-spacing:.09em;
  background:var(--mc-tinta);color:#fff;padding:3px 7px;border-radius:2px;
}

/* ---------- bloco de anúncio (integrado, honesto) ---------- */
.mc-ad{margin:34px 0;text-align:center}
.mc-ad__rot{
  font-family:var(--mc-mono);font-size:.62rem;letter-spacing:.18em;
  text-transform:uppercase;opacity:.4;margin-bottom:8px;
}

/* ---------- planos ---------- */
.mc-planos{background:var(--mc-tinta);color:#fff;padding:66px 0;position:relative;overflow:hidden}
.mc-planos::before{
  content:"";position:absolute;inset:0;opacity:.05;pointer-events:none;
  background-image:repeating-linear-gradient(0deg,#fff 0 1px,transparent 1px 34px);
}
.mc-planos__in{position:relative}
.mc-planos h2{color:#fff}
.mc-planos .mc-eyebrow{color:#fff;opacity:.6}
.mc-plano{
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.18);
  border-radius:3px;padding:26px 24px;position:relative;height:100%;
}
.mc-plano--destaque{background:#fff;color:var(--mc-grafite);border-color:#fff}
.mc-plano__nome{font-family:var(--mc-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;opacity:.7}
.mc-plano__preco{font-family:var(--mc-display);font-size:2.4rem;font-weight:600;line-height:1;margin:12px 0 2px;letter-spacing:-.02em}
.mc-plano__preco small{font-size:.88rem;font-weight:500;opacity:.6;font-family:var(--mc-corpo)}
.mc-plano ul{list-style:none;padding:0;margin:18px 0 22px;font-size:.92rem}
.mc-plano li{padding:7px 0 7px 26px;position:relative;border-bottom:1px solid rgba(255,255,255,.10)}
.mc-plano--destaque li{border-bottom-color:var(--mc-margem)}
.mc-plano li::before{content:"✓";position:absolute;left:0;color:var(--mc-selo);font-weight:700}
.mc-plano__selo{
  position:absolute;top:-11px;right:20px;background:var(--mc-carimbo);color:#fff;
  font-family:var(--mc-mono);font-size:.62rem;letter-spacing:.13em;
  text-transform:uppercase;padding:4px 11px;border-radius:2px;
}

/* ---------- rodapé ---------- */
.mc-rodape{background:var(--mc-tinta-esc);color:rgba(255,255,255,.72);padding:50px 0 26px;font-size:.9rem}
.mc-rodape h4{
  font-family:var(--mc-mono);font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;
  color:#fff;margin:0 0 14px;opacity:.85;
}
.mc-rodape a{color:rgba(255,255,255,.72);text-decoration:none;display:block;padding:5px 0}
.mc-rodape a:hover{color:#fff}
.mc-rodape__marca{font-family:var(--mc-display);font-weight:600;font-size:1.15rem;color:#fff}
.mc-rodape__marca span{color:var(--mc-carimbo)}
.mc-rodape__fim{
  border-top:1px solid rgba(255,255,255,.14);margin-top:32px;padding-top:18px;
  display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;
  font-family:var(--mc-mono);font-size:.7rem;letter-spacing:.06em;opacity:.6;
}

/* ---------- acessibilidade ---------- */
:focus-visible{outline:2.5px solid var(--mc-carimbo);outline-offset:3px}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}
}
