/* ===================================
   TEMA OFICIAL - INSTITUTO NOAH
=================================== */

/* 1️⃣ PALETA OFICIAL */
:root {
  --noah-primary: #3B2416;   /* Marrom institucional */
  --noah-secondary: #5A3A24; /* Marrom médio */
  --noah-gold: #C9A14A;      /* Dourado */
  --noah-cream: #F5F1EA;     /* Bege claro */
  --noah-dark: #1A1A1A;      /* Preto suave */
  --noah-muted: #6c757d;
}

/* 2️⃣ TIPOGRAFIA */
body {
  font-family: 'Poppins', sans-serif;
  color: var(--noah-dark);
  background-color: #ffffff;
}

h1, h2, h3, h4, h5 {
  font-family: 'Playfair Display', serif;
  font-weight: 700;
}

/* 3️⃣ CORES DE TEXTO */
.noah-text-primary { color: var(--noah-primary); }
.noah-text-gold { color: var(--noah-gold); }
.noah-text-muted { color: var(--noah-muted); }

/* 4️⃣ FUNDOS */
.noah-bg-primary { background-color: var(--noah-primary); }
.noah-bg-cream { background-color: var(--noah-cream); }
.noah-bg-dark { background-color: var(--noah-dark); }

/* 5️⃣ BOTÕES */
.btn-noah {
  background-color: var(--noah-primary);
  border: 1px solid var(--noah-primary);
  color: #fff;
  border-radius: 12px;
  padding: 10px 22px;
  font-weight: 600;
  transition: 0.3s ease;
  text-decoration: none;
}

.btn-noah:hover {
  background-color: #2c1b10;
  border-color: #2c1b10;
  color: #fff;
}

.btn-noah-gold {
  background-color: var(--noah-gold);
  border: 1px solid var(--noah-gold);
  color: var(--noah-dark);
  border-radius: 12px;
  padding: 10px 22px;
  font-weight: 700;
  transition: 0.3s ease;
  text-decoration: none;
}

.btn-noah-gold:hover {
  background-color: #b78f3f;
  border-color: #b78f3f;
}

/* ==========================
   HERO / CAROUSEL (PEGADA ORIGINAL)
========================== */

/* altura fixa do slide */
.noah-hero-carousel .carousel-item {
  height: 500px; /* mesma vibe do seu max-height */
}

/* imagem preenche 100% da área do slide */
.noah-hero-img {
  height: 500px;
  width: 100%;
  object-fit: cover;
  opacity: 0.8; /* igual ao seu */
}

/* para a terceira imagem que você queria mais "pra cima" */
.noah-hero-top {
  object-position: top 85px center;
}

/* deixa o botão numa altura agradável */
.noah-hero-caption {
  bottom: 40px;
}

/* mobile */
@media (max-width: 768px) {
  .noah-hero-carousel .carousel-item,
  .noah-hero-img {
    height: 360px;
  }

  .noah-hero-caption {
    bottom: 20px;
  }
}


/* 6️⃣ CARDS */
.noah-card {
  border: none;
  border-radius: 18px;
  box-shadow: 0 8px 25px rgba(0,0,0,0.08);
  transition: 0.3s ease;
}

.noah-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 30px rgba(0,0,0,0.12);
}

/* 7️⃣ HERO OVERLAY */
.noah-overlay {
  position: relative;
}

.noah-overlay::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.55);
}

.noah-overlay-content {
  position: relative;
  z-index: 2;
}

/* GALERIA (clean institucional) */
.noah-gallery{
  width: 100%;
  height: 260px;          /* padroniza todas */
  object-fit: cover;      /* corta sem distorcer */
  object-position: center;
  display: block;
  border-radius: 18px;
  box-shadow: 0 10px 25px rgba(0,0,0,.06);
  transition: transform .25s ease, box-shadow .25s ease, filter .25s ease;
  filter: saturate(.95) contrast(.98);  /* leve “institucional” */
}

.noah-gallery:hover{
  transform: translateY(-3px);
  box-shadow: 0 14px 30px rgba(0,0,0,.10);
  filter: saturate(1) contrast(1);
}

@media (max-width: 576px){
  .noah-gallery{ height: 210px; }
}

/* 8️⃣ NAVBAR */
.navbar-noah {
  background-color: #ffffff;
  padding-top: 18px;
  padding-bottom: 18px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}

.navbar-noah .navbar-brand {
  font-size: 1.4rem;
}

.navbar-noah .nav-link {
  font-weight: 500;
  color: var(--noah-dark);
  margin-left: 10px;
}

.navbar-noah .nav-link:hover {
  color: var(--noah-primary);
}

/* 9️⃣ FOOTER */
.footer-noah {
  background-color: var(--noah-primary);
  color: #fff;
  padding: 40px 0;
}

/* 10️⃣ FORMULÁRIOS */
.form-control:focus {
  border-color: var(--noah-primary);
  box-shadow: 0 0 0 0.2rem rgba(59,36,22,0.2);
}

/* ==========================
   PAGE HERO (ABOUT)
========================== */
.noah-page-hero {
  position: relative;
  height: 420px;
  display: flex;
  align-items: center;
}

.noah-page-hero__bg {
  position: absolute;
  inset: 0;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

.noah-page-hero__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.55);
}

.noah-page-hero__content {
  position: relative;
  z-index: 2;
}

/* ==========================
   ICON BADGE (PROGRAMAS)
========================== */
.noah-icon-badge {
  width: 54px;
  height: 54px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(201,161,74,0.18);
  border: 1px solid rgba(201,161,74,0.35);
  font-size: 26px;
}

/* ==========================
   TEAM FLIP (EQUIPE)
========================== */
.noah-team-card {
  padding: 18px 14px;
  border-radius: 18px;
}

.noah-team-flip {
  width: 110px;
  height: 110px;
  margin: 0 auto;
  position: relative;
  perspective: 1000px;
}

.noah-team-face,
.noah-team-back {
  position: absolute;
  inset: 0;
  backface-visibility: hidden;
  transition: transform 0.6s;
  border-radius: 999px;
  overflow: hidden;
  box-shadow: 0 10px 25px rgba(0,0,0,0.12);
}

.noah-team-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
  border-radius: 999px;
}

.noah-team-back {
  transform: rotateY(180deg);
}

.noah-team-card:hover .noah-team-face {
  transform: rotateY(180deg);
}

.noah-team-card:hover .noah-team-back {
  transform: rotateY(360deg);
}

/* Mobile hero */
@media (max-width: 768px) {
  .noah-page-hero { height: 320px; }
}

/* ==========================
   PARCEIROS
========================== */

.noah-simple-hero {
  padding: 56px 0;
  background: var(--noah-cream);
}

.noah-partner-img {
  width: 160px;
  height: 160px;
  border-radius: 999px;
  object-fit: cover;
  object-position: center;
  border: 4px solid rgba(201,161,74,0.25);
}

.noah-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 12px;
  border-radius: 999px;
  font-size: 0.85rem;
  background: rgba(201,161,74,0.16);
  border: 1px solid rgba(201,161,74,0.35);
  color: var(--noah-primary);
  font-weight: 600;
}

/* ==========================
   CONSULTORIA JURÍDICA
========================== */

.noah-legal-hero {
  background: var(--noah-cream);
  padding: 28px 0;
}

.noah-pill {
  display: inline-flex;
  align-items: center;
  padding: 8px 14px;
  border-radius: 999px;
  font-weight: 700;
  font-size: 0.85rem;
  color: var(--noah-primary);
  background: rgba(201,161,74,0.16);
  border: 1px solid rgba(201,161,74,0.35);
}

.noah-tag {
  display: inline-flex;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,0.08);
  background: #fff;
  color: #444;
  font-size: 0.85rem;
  font-weight: 600;
}

.noah-legal-photo img {
  height: 520px;
  object-fit: cover;
  object-position: center;
  display: block;
}

.noah-alert {
  background: rgba(0,0,0,0.04);
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 18px;
  padding: 16px 18px;
  color: #444;
}

@media (max-width: 768px) {
  .noah-legal-photo img {
    height: 360px;
  }
}

/* ==========================
   CONSULTORIA JURÍDICA
========================== */

.noah-legal-hero {
  background: var(--noah-cream);
  padding: 28px 0;
}

.noah-pill {
  display: inline-flex;
  align-items: center;
  padding: 8px 14px;
  border-radius: 999px;
  font-weight: 700;
  font-size: 0.85rem;
  color: var(--noah-primary);
  background: rgba(201,161,74,0.16);
  border: 1px solid rgba(201,161,74,0.35);
}

.noah-tag {
  display: inline-flex;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,0.08);
  background: #fff;
  color: #444;
  font-size: 0.85rem;
  font-weight: 600;
}

.noah-legal-photo img {
  height: 520px;
  object-fit: cover;
  object-position: center;
  display: block;
}

.noah-alert {
  background: rgba(0,0,0,0.04);
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 18px;
  padding: 16px 18px;
  color: #444;
}

@media (max-width: 768px) {
  .noah-legal-photo img {
    height: 360px;
  }
}

/* ==========================
   ESPETÁCULOS (HERO VÍDEO)
========================== */
.noah-video-hero{
  position: relative;
  width: 100%;
  height: 420px;            /* ajuste aqui */
  overflow: hidden;
  display: flex;
  align-items: center;
}

.noah-video-hero__video{
  position: absolute;
  inset: 0;                 /* top/right/bottom/left:0 */
  width: 100%;
  height: 100%;
  object-fit: cover;        /* preenche sem distorcer */
  object-position: center;  /* centraliza */
  z-index: 0;
}

.noah-video-hero__overlay{
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.55);
  z-index: 1;
}

.noah-video-hero__content{
  position: relative;
  z-index: 2;
}

/* mobile */
@media (max-width: 768px){
  .noah-video-hero{ height: 300px; }
}
/* ==========================
   CONTATO
========================== */

.noah-map {
  background: #000;
}

.noah-hours li {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(0,0,0,0.06);
}

.noah-hours li:last-child {
  border-bottom: 0;
}

@media (max-width: 768px) {
  .ratio-21x9 {
    --bs-aspect-ratio: 56.25%; /* 16:9 no mobile */
  }
}

/* ==========================
   FOOTER NOAH
========================== */

.footer-noah {
  background-color: var(--noah-primary);
  color: #ffffff;
  padding: 60px 0 30px 0;
}

.footer-noah h5 {
  font-family: 'Playfair Display', serif;
  color: var(--noah-gold);
}

.footer-links li {
  margin-bottom: 8px;
}

.footer-links a {
  color: #ffffff;
  text-decoration: none;
  transition: 0.3s ease;
}

.footer-links a:hover {
  color: var(--noah-gold);
}

.footer-divider {
  border-color: rgba(255,255,255,0.2);
}
