/* ============================================================
 *  Nery Ocean Service — Seção "Orçamento" na home
 *
 *  CSS próprio, escrito para conviver com o Tailwind compilado do
 *  site: todo seletor começa com .nos-sec, e nenhuma regra atinge
 *  elemento global. O catalogo.css NÃO é carregado aqui — ele
 *  estiliza body, img, button e a, e reescreveria o site.
 * ============================================================ */

.nos-sec {
  background: hsl(213 55% 14%);
  color: #fff;
  padding: 76px 0 84px;
  position: relative;
  overflow: hidden;
}
.nos-sec::after {
  content: "";
  position: absolute; inset: 0;
  background: radial-gradient(circle at 84% 16%, hsl(38 70% 50% / .14), transparent 58%);
  pointer-events: none;
}

.nos-sec__inner {
  position: relative; z-index: 1;
  width: 100%; max-width: 1180px;
  margin: 0 auto; padding: 0 24px;
  text-align: center;
}

.nos-sec__eyebrow {
  display: inline-block;
  font-size: .72rem; letter-spacing: 3px; text-transform: uppercase;
  color: hsl(38 70% 55%); font-weight: 600;
  margin-bottom: 14px;
}

.nos-sec__inner h2 {
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(1.9rem, 4vw, 2.6rem);
  line-height: 1.15; font-weight: 600;
  margin: 0 0 16px;
  text-wrap: balance;
}

.nos-sec__texto {
  font-size: 1.04rem; line-height: 1.6;
  color: hsl(210 30% 84%);
  max-width: 620px; margin: 0 auto 38px;
}

/* Ladrilhos de categoria: vêm do produtos.js, então acompanham o que o
   cliente editar, sem conteúdo duplicado aqui. */
.nos-sec__grade {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(178px, 1fr));
  gap: 14px;
  margin: 0 0 38px;
}

.nos-sec__tile {
  display: flex; flex-direction: column; align-items: center; gap: 12px;
  padding: 22px 16px;
  background: hsl(213 40% 19%);
  border: 1px solid hsl(213 35% 27%);
  border-radius: 8px;
  color: #fff; font-family: inherit; font-size: .88rem; font-weight: 600;
  line-height: 1.35; text-align: center; cursor: pointer;
  transition: border-color .18s, background .18s, transform .18s;
}
.nos-sec__tile:hover {
  background: hsl(213 40% 23%);
  border-color: hsl(38 70% 50% / .55);
  transform: translateY(-3px);
}
.nos-sec__tile:focus-visible { outline: 2px solid hsl(38 70% 55%); outline-offset: 3px; }
.nos-sec__tile img { width: 46px; height: 46px; display: block; }

.nos-sec__cta {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  background: hsl(38 70% 50%); color: hsl(213 60% 10%);
  border: 0; border-radius: 6px;
  padding: 15px 30px;
  font-family: inherit; font-size: 1rem; font-weight: 700;
  cursor: pointer; transition: background .18s, transform .12s;
}
.nos-sec__cta:hover { background: hsl(38 60% 62%); }
.nos-sec__cta:active { transform: translateY(1px); }
.nos-sec__cta:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.nos-sec__cta svg { width: 19px; height: 19px; }

.nos-sec__nota {
  font-size: .82rem; color: hsl(210 25% 70%);
  margin: 16px 0 0;
}

@media (max-width: 640px) {
  .nos-sec { padding: 58px 0 64px; }
  .nos-sec__grade { grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 10px; }
  .nos-sec__tile { padding: 18px 12px; font-size: .82rem; }
  .nos-sec__tile img { width: 38px; height: 38px; }
  .nos-sec__cta { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .nos-sec__tile, .nos-sec__cta { transition: none; }
  .nos-sec__tile:hover { transform: none; }
}
