 :root{
      --bg:#f7f8fb; --card:#ffffff; --ink:#0f172a; --muted:#475569;
      --brand:#0ea5e9; --brand-2:#0369a1; --line:#e2e8f0; --pill:#eef2ff;
      --ok:#16a34a; --warn:#ca8a04; --danger:#dc2626;
    }
    *{box-sizing:border-box}
    html,body{margin:0}
    body{
      font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
      background:var(--bg); color:var(--ink);
    }
    header{
      background:linear-gradient(180deg,#0ea5e9 0%, #0284c7 100%);
      color:#fff; padding:36px 16px; text-align:center;
    }
    header h1{margin:0 0 6px 0; font-size:clamp(1.6rem,2.8vw,2.2rem)}
    header p{margin:0; opacity:.95}
    .container{max-width:1100px; margin:0 auto; padding:20px}
    .card{
      background:var(--card); border:1px solid var(--line); border-radius:16px;
      padding:20px; box-shadow:0 10px 30px rgba(2,8,23,.04); margin-top:18px;
    }
    h2{font-size:clamp(1.2rem,2.2vw,1.6rem); margin:0 0 10px}
    h3{font-size:clamp(1.05rem,2vw,1.2rem); margin:14px 0 6px}
    p{line-height:1.6}
    .lead{font-size:1.05rem; color:var(--muted)}
    .toc{
      display:flex; flex-wrap:wrap; gap:10px; margin-top:10px
    }
    .toc a{
      text-decoration:none; background:#e0f2fe; color:#075985;
      border:1px solid #bae6fd; padding:8px 12px; border-radius:999px; font-weight:600;
    }
    .step{
      display:grid; grid-template-columns:48px 1fr; gap:12px; align-items:start; margin:12px 0;
    }
    .badge{
      width:48px; height:48px; border-radius:12px; background:#e0f2fe; 
      display:flex; align-items:center; justify-content:center;
      font-weight:800; color:#075985; border:1px solid #bae6fd;
    }
    .tip{background:var(--pill); border:1px dashed #c7d2fe; padding:12px; border-radius:12px; color:#273158}
    .states{margin-top:10px}
    .search{
      display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin:10px 0 16px;
    }
    .search input{
      flex:1; min-width:220px; padding:12px; border:1px solid var(--line); border-radius:10px; font-size:1rem
    }
    .state-grid{
      display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px;
    }
    @media (min-width:720px){ .state-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
    @media (min-width:980px){ .state-grid{ grid-template-columns:repeat(4,minmax(0,1fr)); } }
    .state{
      background:var(--card); border:1px solid var(--line); border-radius:12px; padding:14px;
      display:flex; flex-direction:column; gap:6px;
    }
    .state a{
      text-decoration:none; color:var(--brand-2); font-weight:700; word-break:break-word;
    }
    .meta{font-size:.92rem; color:var(--muted)}
    .inline-list{margin:.2rem 0 .6rem 1rem}
    .notice{
      background:#fff7ed; border:1px solid #fed7aa; color:#713f12; padding:12px; border-radius:10px;
    }
	
    footer{color:var(--muted); text-align:center; padding:40px 16px 60px}
    .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}
	
	/* Bloco de promoções */
		.promo-link {
		  background: #ffffff;
		  border: 1px solid #e0e0e0;
		  border-radius: 16px;
		  padding: 20px;
		  margin: 40px auto;
		  max-width: 400px;
		  text-align: center;
		  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
		  transition: transform 0.2s ease, box-shadow 0.2s ease;
		}

		.promo-link:hover {
		  transform: translateY(-4px);
		  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.12);
		}

		.promo-link p {
		  margin: 10px 0;
		  font-size: 15px;
		  line-height: 1.4;
		  color: #333;
		}

		.promo-link p[name="ordem"] {
		  font-weight: bold;
		  font-size: 18px;
		  margin-top: 8px;
		  color: #002f6c;
		}

		.promo-link img {
		  max-width: 90%;
		  height: auto;
		  border-radius: 12px;
		  margin: 15px auto;
		  display: block;
		  transition: transform 0.3s ease;
		}

		.promo-link img:hover {
		  transform: scale(1.05);
		}

		.promo-link button {
		  background-color: #001f5b;
		  color: #fff;
		  border: none;
		  padding: 14px 24px;
		  font-size: 16px;
		  font-weight: 600;
		  cursor: pointer;
		  border-radius: 25px;
		  margin-top: 15px;
		  transition: background 0.3s ease, transform 0.2s ease;
		}

		.promo-link button:hover {
		  background-color: #0033a0;
		  transform: scale(1.03);
		}

		.outros-servicos {
		  background: #f9fafc;
		  border-top: 3px solid #004aad;
		  padding: 40px 20px;
		  margin-top: 40px;
		  border-radius: 8px;
		}

		.outros-servicos h2 {
		  font-size: 1.8rem;
		  margin-bottom: 10px;
		  color: #004aad;
		  text-align: center;
		}

		.outros-servicos p {
		  text-align: center;
		  margin-bottom: 30px;
		  color: #333;
		  font-size: 1rem;
		}

		.outros-servicos h3 {
		  font-size: 1.3rem;
		  margin-top: 25px;
		  margin-bottom: 10px;
		  color: #222;
		  border-left: 4px solid #004aad;
		  padding-left: 10px;
		}

		.outros-servicos ul {
		  list-style: none;
		  margin: 0;
		  padding: 0;
		  display: grid;
		  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
		  gap: 8px 20px;
		}

		.outros-servicos ul li {
		  margin-bottom: 5px;
		}

		.outros-servicos ul li a {
		  text-decoration: none;
		  color: #004aad;
		  font-weight: 500;
		  transition: all 0.3s ease;
		}

		.outros-servicos ul li a:hover {
		  color: #e63946;
		  text-decoration: underline;
		}
		
		/* Estilo para tabelas no modelo DETRAN */
		.tabela {
		  width: 100%;
		  border-collapse: collapse;
		  margin: 20px 0;
		  font-size: 0.95rem;
		  text-align: left;
		  overflow-x: auto;
		  display: block;
		}

		.tabela thead {
		  background-color: #004080;
		  color: #fff;
		}

		.tabela th,
		.tabela td {
		  border: 1px solid #ddd;
		  padding: 10px;
		  vertical-align: top;
		}

		.tabela tr:nth-child(even) {
		  background-color: #f9f9f9;
		}

		.tabela th {
		  font-weight: bold;
		}

		.tabela td {
		  word-wrap: break-word;
		}
		
		.gsc-control-cse {
		  background-color: transparent !important;
		  border: none !important;
		  font-family: 'Inter', sans-serif;
		}

		.gsc-input-box {
		  border-radius: 12px !important;
		  border: 1px solid #ccc !important;
		  padding: 4px 8px !important;
		}

		.gsc-search-button-v2 {
		  border-radius: 12px !important;
		  background: #2563eb !important;
		  color: white !important;
		  font-weight: 600;
		}

		.gsc-search-button-v2:hover {
		  background: #1e40af !important;
		}

		/* Scroll horizontal para telas pequenas */
		@media (max-width: 768px) {
		  .tabela {
			display: block;
			width: 100%;
			overflow-x: auto;
		  }

		  .tabela th,
		  .tabela td {
			min-width: 150px; /* evita colunas muito estreitas */
		  }
		}
		

				