:root {
  --pp-primary: #1a6fb6;   /* azul institucional */
  --pp-accent: #b65d1a;    /* terracota */
  --pp-secondary: #8e99a8;
}

/* ---------- HERO CAROUSEL ---------- */
#inspireCarousel {
  box-shadow: 0 6px 16px rgba(0,0,0,.12); /* sombra abaixo do carrossel */
}
#inspireCarousel img {
  height: 70vh;              /* altura imersiva em desktop */
  object-fit: cover;         /* corta sem distorcer */
  object-position: center;   /* sempre centralizado */
}
@media (max-width: 768px) {
  #inspireCarousel img {
    height: 40vh;            /* mais compacto em mobile */
  }
}

/* ---------- SEARCH BAR ---------- */
.search-bar {
  background: #fff;
  padding: 1rem 1.5rem;
  border-radius: 0.75rem;
  box-shadow: 0 4px 12px rgba(0,0,0,.08);
  margin-top: -3rem;    /* sobe menos para deixar espaço de respiro */
  position: relative;
  z-index: 10;
}

/* ---------- TIPOGRAFIA ---------- */
body {
  font-family: 'Inter', sans-serif;
}
h1, h2, h3, h4, h5 {
  font-family: 'Playfair Display', serif;
}

/* ---------- BOTÕES ---------- */
.btn-primary {
  background-color: var(--pp-primary);
  border-color: var(--pp-primary);
}
.btn-primary:hover {
  background-color: var(--pp-accent);
  border-color: var(--pp-accent);
}

/* ---------- AJUSTES GERAIS ---------- */
.bg-hero {
  background: radial-gradient(60% 80% at 10% 10%, rgba(26,111,182,.08), transparent),
              linear-gradient(180deg, rgba(0,0,0,.02), transparent);
}
.navbar-brand { font-weight: 700; }
.card img { object-fit: cover; height: 180px; }
.badge { border-radius: .75rem; }
footer { background: #f8f9fa; }


/* =============== SOBRE: POLISH VISUAL (2025) =============== */
:root{
  /* Mantém sua paleta; adiciona utilitários sem colidir */
  --pp-brown: #5A2E22;        /* tom terroso opcional */
  --pp-cream: #F6F2EC;        /* fundo suave para quotes */
  --pp-radius: 1rem;          /* raio padrão para cards/boxes */
}

/* Tipografia e largura confortável para leitura longa */
.prose p{ font-size:1.05rem; line-height:1.8; }
.prose .lead{ font-size:1.25rem; }
.container-narrow{ max-width: 860px; }

/* Micro-heading acima do título (eyebrow) */
.eyebrow{
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:600;
  color: #ebe4d4;
  opacity:.9;
  text-shadow: #000000 0 1px 4px;
}

/* HERO com imagem de fundo + degradê para legibilidade */
.hero-cover{
  position: relative;
  background: #eee top center/cover no-repeat;
  border-bottom: 1px solid rgba(0,0,0,.06);
  min-height: 44vh; /* dá presença sem pesar em mobile */
}
.hero-cover::after{
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(
    180deg,
    rgba(0,0,0,.28),
    rgba(0,0,0,.18) 30%,
    rgba(0,0,0,0) 60%
  );
}
.hero-inner{
  position: relative; z-index: 2;
  color: #fff;
  text-shadow: 0 2px 12px rgba(0,0,0,.35);
}

/* Badges do hero: pastilhas brancas com leve borda/sombra */
.badges .badge{
  border-radius: 999px;
  padding: .55rem .9rem;
  border: 1px solid rgba(255,255,255,.6);
  background: rgba(109, 71, 2, 0.9);
  box-shadow: 0 2px 8px rgba(0,0,0,.08);
}

/* Cartões de “O que nos move” */
.feature-card{
  border:1px solid rgba(0,0,0,.08);
  border-radius: var(--pp-radius);
  padding: 1.25rem;
  background:#fff;
  box-shadow: 0 4px 14px rgba(0,0,0,.04);
}
.feature-card i{
  font-size:1.25rem;
  color: var(--pp-accent, #b65d1a);
}

/* Citação curta / lema */
.quote{
  background: var(--pp-cream, #F6F2EC);
  border-radius: var(--pp-radius);
  padding: 1.25rem 1.5rem;
  border: 1px solid rgba(0,0,0,.05);
}

/* Faixa de CTA com gradiente da sua paleta */
.cta-band{
  background: linear-gradient(90deg, var(--pp-primary, #707026), var(--pp-accent, #b65d1a));
  color:#fff;
  border-radius: var(--pp-radius);
}
.cta-band .btn{ box-shadow: 0 3px 12px rgba(0,0,0,.15); }

/* Ajustes responsivos finos para o hero */
@media (max-width: 768px){
  .hero-inner .display-6{ font-size: 1.75rem; }
  .badges .badge{ padding:.45rem .75rem; }
}

/* HERO: imagem pelo topo e texto alinhado embaixo */
.hero-cover{ background-position: top center; }

.hero-cover.hero-bottom .container{
  display: flex;
  flex-direction: column;
  justify-content: flex-end;                 /* joga o conteúdo para baixo */
  min-height: clamp(360px, 50vh, 680px);     /* altura responsiva elegante */
  padding-top: 2rem;
  padding-bottom: 2rem;
}

/* Degradês para legibilidade do texto (de baixo e de cima) */
.hero-cover.hero-bottom::after{
  background:
    linear-gradient(0deg, rgba(0,0,0,.38), rgba(0,0,0,0) 55%),
    linear-gradient(180deg, rgba(0,0,0,.18), rgba(0,0,0,0) 35%);
}

@media (max-width: 768px){
  .hero-cover.hero-bottom .container{ min-height: 46vh; }
}
