/* Estilos base e tema (pt-PT) */
:root {
  /* Cor de destaque: castanho claro */
  --bs-primary: rgb(171, 114, 44);
  --bs-primary: rgb(173, 98, 0);
  --bs-primary-rgb: 173, 98, 0;
  --font-body: 'Montserrat', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', 'Liberation Sans', sans-serif;
  --font-heading: 'Cormorant Infant', Georgia, 'Times New Roman', Times, serif;
}

html, body { scroll-behavior: smooth; }




body { 
  font-family: var(--font-body); 
  font-weight: 300;
  font-size: 1.3rem;
}

footer {
  position: relative;
  z-index: 10;
}
.footer-partners {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}
.footer-partners-text {
  max-width: 580px;
}
.footer-partners-label {
  letter-spacing: 0.35em;
  font-size: 0.82rem;
  color: #f7e6c4;
}
.footer-partners-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.partner-card {
  min-height: 90px;
  aspect-ratio: 1/1;
  border-radius: 14px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: rgba(0, 0, 0, 0.35);
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: #f7e6c4;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}
.partner-card span {
  opacity: 0.8;
}
.partner-card img {
  max-width: 140px;
  max-height: 58px;
  width: auto;
  object-fit: contain;
  filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.35));
}
.partner-card:hover,
.partner-card:focus-visible {
  border-color: rgba(var(--bs-primary-rgb), 0.6);
  box-shadow: 0 12px 25px rgba(0, 0, 0, 0.45);
  transform: translateY(-2px);
}
.partner-card:focus-visible {
  outline: 2px solid rgba(var(--bs-primary-rgb), 0.8);
  outline-offset: 3px;
}
@media (min-width: 576px) {
  .footer-partners-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (min-width: 992px) {
  .footer-partners-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

/* Fundo com textura de ard??sia (substitua a imagem pelo seu ficheiro) */
/* body {
  background-color: #1f2326;
  // Guarde a imagem fornecida em assets/img/bg-ardosia.jpg 
  background:linear-gradient(0deg, rgba(0, 0, 0, 0.3), rgba(255, 255, 255, 0.3)), url('../../assets/img/background.jpg');
      
  / background-image: url('../../assets/img/background.jpg'); 
  background-size: cover;
  background-position: center;
  background-attachment:scroll;
} */

body {
  position: relative;
  width: 100%;
  min-height: 100%;
  background-image: url('../../assets/img/background.jpg');
  /* background-color: rgba(156, 156, 156, 0.514); */
  background-repeat: repeat-y;
  background-position: center top;
  background-attachment: scroll;
  background-size: cover;
    --bs-body-color:white;
}
body::before {
   content: '';
  position: absolute;
  inset: 0;
 /*  background-image: linear-gradient(to bottom right,#001c2c,var(--bs-primary)); */
  background-color: rgba(131, 131, 131, 0.699);
  opacity: .6;
  pointer-events: none;
  z-index: -1; 
}

.side-ribbon {
  position: relative;
}

.side-ribbon::after {
  content: '';
  position: fixed;
  top: 0;
  bottom: 0;
  right: 0;
  width: 4vw;
  min-width: 40px;
  background: rgba(var(--bs-primary-rgb),1.0);
  opacity: 1;
  pointer-events: none;
  z-index: -1;
}

.custom_shadow::after {
  content: '';
  display: block;
  position: absolute;
  top: 4%;
  left: 4%;
  width: 92%;
  height: 92%;
  border: 4px solid var(--bs-primary);
  border-radius: 10px;
  pointer-events: none;
}

/* Navbar sempre vis??vel em fundo escuro */
/* Logo accent bar */
.navbar {
  position: relative;
  z-index: 5;
  pointer-events: auto;
}

.navbar-brand-accent {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: clamp(48px, 8vw, 120px);
  background: #ff8c1a;
  pointer-events: none;
  z-index: 0;
}

.navbar-brand {
  /* margin-left: clamp(48px, 8vw, 120px); */
  position: relative;
  width: 150px;
  height: 150px;
  z-index: 1;
}

@media (max-width: 767.98px) {
  .navbar-brand {
    margin-left: 0;
    margin-right: auto;
    display: flex;
    align-items: center;
  }
}


@media (max-width: 575.98px) {
  .navbar-brand-accent {
    width: clamp(32px, 18vw, 72px);
  }
  .navbar-brand {
    /* margin-left: clamp(32px, 18vw, 10px); */
  }
}

.recipe-subtitle {
  /* font-family: var(--font-heading); */
  font-family: 'Montserrat' ;
  font-size: 1.35rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #fff;
  color: var(--bs-primary);
}

.recipe-note {
    background: rgb(0 0 0 / 67%);
    /* border: 1px solid rgba(255, 140, 26, 0.35); */
    border-radius: 1rem;
    font-size: 70%;
}

.recipe-note p {
  margin-bottom: 0;
  margin-left:15%;
}

.recipe-list {
  list-style: none;
  padding-left: 0;
  margin: 1rem 0 0;
  display: grid;
  gap: 0.5rem;
  z-index: 10;
}

.recipe-list li {
  position: relative;
  padding-left: 1.25rem;
  color: rgba(255,255,255,0.85);
}

.recipe-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55rem;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: rgba(255, 140, 26, 0.75);
}

.recipe-card {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 1.25rem;
  height: 100%;
  border-radius: 1rem;
  overflow: hidden;
}

.recipe-card-media {
  position: relative;
  flex: 0 0 auto;
  width: 100%;
  min-height: 200px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  overflow: hidden;
}

.recipe-card-image {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  align-self: flex-start;
}

.recipe-card-body {
  flex: 1 1 auto;
  padding: 1.75rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.ingredient-icon-row {
  flex-wrap: wrap;
}

.ingredient-icon {
  width: 44px;
  height: 44px;
  object-fit: cover;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.25);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.3);
}

@media (min-width: 768px) {
  .recipe-card {
    flex-direction: row;
    gap: 1.5rem;
  }

  .recipe-card-media {
    flex: 0 0 clamp(180px, 22vw, 260px);
    width: auto;
    min-height: 0;
    align-self: stretch;
  }

  .recipe-card-image {
    height: auto;
  }
}

@media (max-width: 575.98px) {
  .recipe-card-body {
    padding: 1.5rem;
  }

  .ingredient-icon {
    width: 36px;
    height: 36px;
  }
}
/* Navbar toggler: sem borda e ??cone mais grosso */
.navbar .navbar-toggler {
  border: none;
  box-shadow: none !important;
  position: relative; z-index: 1; 
}
.navbar .navbar-toggler:focus { box-shadow: none;}

/* Hamburger mais espesso (navbar-dark) */
.navbar-dark .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255,255,255,0.95)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='3' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.subtitulo_pagina {
  font-family: 'Montserrat' ;
  color: var(--bs-primary);
  font-size:1.5rem;
  
}

.subtitulo_pagina::before {
/*   content: "";
  position: absolute; 
  top: 105%;
  left: 0;
  width: 150px;
  height: 10px;
  background: var(--bs-primary);
  opacity: 1;
  pointer-events: none;
  z-index: 0; */
}

.titulo_pagina {
  /* font-family: 'Montserrat' ; */
  color: white;
  font-size:3rem;
  
}

/* Espa??amento utilit??rio extra onde necess??rio */
.section-spacer {
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.apresetacao_section p {
  text-indent: 5%;
  font-size: 1.7rem;
  text-align: justify;
}

/* Headings: usar "Cormorant Infant" */
h1, h2, h3, h4, h5, h6 { font-family: var(--font-heading);}


.navbar-toggler {
    border-left-color: white;
   
    border-left-style: solid;
    border-radius: 0;
     border-left-width: 1px;
}
/* Hero (texto ?? esquerda) */
.texto-hero h1 { 
  color: #fff; letter-spacing: 0.04em; 
  font-family: var(--font-body);
  font-size: 1.2rem;
  letter-spacing: 7px;
  font-weight: 600;
  color: var(--bs-primary);
}

.texto-hero h2 { 
  /* font-size: 60px; */
  font-size: calc(2em + 2vw);
  line-height: 90%;
  color: #fff; 
  text-transform: uppercase; 
  letter-spacing: 0.06em; 
}

.texto-hero p { color: rgba(255,255,255,.85);}
.shadowImg {
  filter: drop-shadow(40px 60px 0px var(--bs-primary));
}


.pdf {
  height: 90vh;
  iframe {
    width: 100%; 
    height: 100%;
    border: none;
 }
}

 

#texto-hero-2 {
  font-size: 3rem;
}

.img-hero { 
  max-width: 100%;
  width: 100%;
}

/* Bot??o prim??rio ajustado ao acento */
.btn-primary {
  --bs-btn-bg: var(--bs-primary);
  --bs-btn-border-color: var(--bs-primary);
  --bs-btn-hover-bg: #b48759;
  --bs-btn-hover-border-color: #b48759;
  --bs-btn-focus-shadow-rgb: var(--bs-primary-rgb);
}

/* Ajuste: navbar fixa por cima do hero */
:root { --nav-height: 4.5rem;}
.hero {
  min-height: calc(100vh - var(--nav-height));
  min-height: calc(100svh - var(--nav-height));
  min-height: calc(100dvh - var(--nav-height));
  /* padding-top: var(--nav-height); */
}

/* Hero: 100vh com faixa direita (25%) na cor de destaque */
.hero {
  position: relative;
  min-height: 100vh;
  min-height: 100svh;
  min-height: 100dvh;
  display: flex;
  align-items: center;
}
.left_panel::after {
  content: "";
  position: fixed; /* ocupa sempre toda a altura do ecr?? */
  top: 0;
  right: 0;
  width: 35%;
  height: 100vh;
  height: 100dvh;
  background: #ff8c1a;
  opacity: .7;
  pointer-events: none;
  z-index: 0;
}

.bg-panel {
  content: "";
  position:absolute; /* ocupa sempre toda a altura do ecr?? */
  top: 0;
  right: 0;
  width: 120%;
  height: 120%;
  background-color: #AB722C;
  opacity: .7;
  pointer-events: none;
  z-index: 0;
  translate: 20% 20%;
}




.navbar-brand::before,
.test-bar {
  content: "";
  position: absolute; /* ocupa sempre toda a altura do ecr?? */
  top: 105%;
  left: -300px;
  width: 450px;
  height: 5px;
  background: var(--bs-primary);
  opacity: 1;
  pointer-events: none;
  z-index: 0;
}

.hero > .container-fluid { position: relative; z-index: 1;}






#menuOffcanvasLabel {
  font-family: var(--font-body);
}

#menuOffcanvas {
  width: 200px;
}

#menuOffcanvas .navbar-nav .nav-item {
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 0.35rem;
  margin-bottom: 0.4rem;
  padding: 0 !important;
  background-color: rgba(255, 255, 255, 0.08);
  transition: background-color 0.25s ease, border-color 0.25s ease;
}

#menuOffcanvas .navbar-nav .nav-item:last-child {
  margin-bottom: 0;
}

#menuOffcanvas .navbar-nav .nav-item .nav-link {
  padding: 0.65rem 1rem;
  color: #fff;
  opacity: 0.85;
  transition: opacity 0.25s ease, color 0.25s ease;
}
#menuOffcanvas .navbar-nav .nav-link.active {
  opacity: 1;
  font-weight: 600;
}


#menuOffcanvas .navbar-nav .nav-item:hover,
#menuOffcanvas .navbar-nav .nav-item:focus-within {
  background-color: var(--bs-primary);
  border-color: rgba(255, 255, 255, 0.35);
}

#menuOffcanvas .navbar-nav .nav-item:hover .nav-link,
#menuOffcanvas .navbar-nav .nav-item:focus-within .nav-link {
  text-decoration: none;
  opacity: 1;
  color: #fff;
}


.divider {
  display: block;
  height: 1px;
  border: 0;
  border-top: 4px solid #AB722C;
  margin: 1em 0;
  padding: 0;
}

/* Fallback amplo: box-shadow retangular (sem transpar??ncias) */
/* .custom_shadow > img {
   box-shadow: 5% 5% 0 0 var(--bs-primary);
}  */

/* Prefer??ncia: drop-shadow respeita transpar??ncias da imagem (quando suportado) */
/* @supports (filter: drop-shadow(0 0 0 #000)) {
  img {
    box-shadow: none;
    filter: drop-shadow(100px 100px 0 var(--bs-primary));
 }
}
 */



/* Offcanvas Estatutos submenu */
.offcanvas.offcanvas-end .offcanvas-body {
  overflow-y: auto;
  overflow-x: visible;
}

.offcanvas-submenu {
  position: relative;
}

.offcanvas-submenu > .nav-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  z-index: 10;
}

.offcanvas-submenu > .nav-link::after {
  content: '\25BC';
  font-size: 0.85rem;
  transition: transform 0.25s ease;
}

.offcanvas-submenu:hover > .nav-link::after,
.offcanvas-submenu:focus-within > .nav-link::after,
.offcanvas-submenu.submenu-open > .nav-link::after {
  transform: rotate(-180deg);
}

.offcanvas-submenu > .submenu {
  display: grid;
  gap: 0.35rem;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transform: translateY(-0.35rem);
  transition: max-height 0.35s ease, opacity 0.25s ease, transform 0.35s ease;
  padding-top: 0;
  margin: 0;
}

.offcanvas-submenu:hover > .submenu,
.offcanvas-submenu:focus-within > .submenu,
.offcanvas-submenu.submenu-open > .submenu {
  max-height: 480px;
  opacity: 1;
  transform: translateY(0);
  padding-top: 0.5rem;
}

.offcanvas-submenu .submenu .nav-link {
  padding: 0.25rem 0;
  color: #fff;
  opacity: 0.8;
}

.offcanvas-submenu .submenu .nav-link:hover,
.offcanvas-submenu .submenu .nav-link:focus {
  opacity: 1;
  text-decoration: none;
}

@media (max-width: 575.98px) {
  .offcanvas-submenu > .submenu {
    max-height: none;
    opacity: 1;
    transform: none;
    padding-top: 0.5rem;
 }

  .offcanvas-submenu > .nav-link::after {
    transform: rotate(0deg);
 }
}


















/* Confraria sections */
.corpos-sociais-section {
  background: rgba(0, 0, 0, 0.25);
  /* backdrop-filter: blur(6px); */
}

.corpos-sociais-section .corpo-card {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border: 2px solid var(--bs-primary);
  border-radius: 1rem;
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.25);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.corpos-sociais-section .corpo-card:hover,
.corpos-sociais-section .corpo-card:focus-within {
  transform: translateY(-6px);
  box-shadow: 0 30px 55px rgba(0, 0, 0, 0.35);
}

.corpos-sociais-section .corpo-titulo {
  /* font-family: var(--font-heading, "Cormorant Infant", serif); */
  font-size: 2.8rem;
  text-transform: uppercase;
  text-align: center;
  letter-spacing: 0.05em;
  padding-bottom: 0px;
}

.member-thumb {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid rgba(255, 255, 255, 0.35);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.35);
}

.member-nome {
  font-weight: 600;
}

.member-cargo {
  font-size: 0.9rem;
  font-weight: 600;
  /* opacity: 0.7; */
  color: var(--bs-primary);
}

.confrades-dynamic {

}

.lista-confrades-section {
  background: rgba(0, 0, 0, 0.18);
}

.lista-confrades-section .confrade-tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 70px;
  padding: 0.75rem 1rem;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 0.9rem;
  text-align: center;
  /* font-weight: 500; */
  color: #fff;
  transition: transform 0.25s ease, background-color 0.25s ease, border-color 0.25s ease;
}

.lista-confrades-section .confrade-tag:hover,
.lista-confrades-section .confrade-tag:focus,
.member-line-card:hover,
.member-line-card:focus {
  transform: translateY(-4px);
  background: rgba(171, 114, 44, 0.25);
  border-color: rgba(171, 114, 44, 0.45);
}

@media (max-width: 767.98px) {
  .member-thumb {
    width: 56px;
    height: 56px;
 }

  .lista-confrades-section .confrade-tag {
    min-height: 60px;
    font-size: 0.95rem;
 }
}


.contact-info-item {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  color: rgba(255, 255, 255, 0.9);
}

.contact-info-icon {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: rgba(255, 140, 26, 0.15);
  color: #ff8c1a;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 52px;
}

.contact-info-icon svg {
  width: 22px;
  height: 22px;
}

@media (max-width: 575.98px) {
  .contact-info-item {
    flex-direction: row;
  }

  .contact-info-icon {
    width: 46px;
    height: 46px;
  }
}

.top-nav-links .top-nav-link {
  color: rgba(255,255,255,0.78);
  text-decoration: none;
  font-weight: 500;
  position: relative;
  transition: color 0.2s ease-in-out;
}

.top-nav-links .top-nav-link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, rgba(var(--bs-primary-rgb), 0.2), rgba(var(--bs-primary-rgb), 0.95) 50%, rgba(var(--bs-primary-rgb), 0.2));
  box-shadow: 0 0 5px rgba(var(--bs-primary-rgb), 0.55);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.2s ease-in-out;

/*     border: 0;
  height: 4px;
  width: 100%;
  border-radius: 100%;
  background: transparent;
  position: relative;
  transition: filter 0.3s ease, opacity 0.3s ease;
  background: linear-gradient(90deg, rgba(var(--bs-primary-rgb), 0.2), rgba(var(--bs-primary-rgb), 0.5) 30%, rgba(var(--bs-primary-rgb), 0.95) 50%, rgba(var(--bs-primary-rgb), 0.5) 70%, rgba(var(--bs-primary-rgb), 0.2));
  box-shadow: 0 0 22px rgba(255, 184, 66, 0.55);
  opacity: 0.9; */
}

.top-nav-links .top-nav-link:hover,
.top-nav-links .top-nav-link:focus {
  color: #fff;
}

.top-nav-links .top-nav-link:hover::after,
.top-nav-links .top-nav-link:focus::after,
.top-nav-links .top-nav-link.active::after {
  transform: scaleX(1);
}

.top-nav-links .top-nav-link.active {
  color: #fff;
}

.top-nav-item {
  position: relative;
  padding-bottom: 12px;
}

.top-nav-sections {
  position: absolute;
  top: 100%;
  left: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  z-index: 10;
  padding: 1rem;
  min-width: 220px;
  background: rgba(10, 12, 16, 0.92);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 0.75rem;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.45);
  opacity: 0;
  pointer-events: none;
  transform: translateY(-8px);
  transition: opacity 0.18s ease-in-out, transform 0.18s ease-in-out;
  transition-delay: 0.08s;
}

.top-nav-section-link {
  color: rgba(255,255,255,0.8);
  text-decoration: none;
  font-size: 0.95rem;
  transition: color 0.15s ease-in-out, padding-left 0.15s ease-in-out;
}

.top-nav-section-link:hover,
.top-nav-section-link:focus {
  color: #fff;
  padding-left: 4px;
}

@media (max-width: 991.98px) {
  .top-nav-sections {
    display: none !important;
  }
}

.top-nav-style-default .top-nav-link {
  padding: 0.25rem 0;
}

.top-nav-style-pill .top-nav-link {
  padding: 0.45rem 1rem;
  background: rgba(255, 140, 26, 0.15);
  border-radius: 999px;
  color: rgba(255,255,255,0.88);
  transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.top-nav-style-pill .top-nav-link::after {
  display: none;
}

.top-nav-style-pill .top-nav-link:hover,
.top-nav-style-pill .top-nav-link:focus,
.top-nav-style-pill .top-nav-link.active {
  background: rgba(255, 140, 26, 0.35);
  color: #fff;
  transform: translateY(-2px);
}

.top-nav-style-outline .top-nav-link {
  padding: 0.35rem 1rem;
  border: 1px solid rgba(255,255,255,0.22);
  border-radius: 0.75rem;
  color: rgba(255,255,255,0.82);
  transition: border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

.top-nav-style-outline .top-nav-link::after {
  display: none;
}

.top-nav-style-outline .top-nav-link:hover,
.top-nav-style-outline .top-nav-link:focus,
.top-nav-style-outline .top-nav-link.active {
  border-color: rgba(255,140,26,0.7);
  color: #fff;
  box-shadow: 0 8px 24px rgba(255,140,26,0.25);
}

.top-nav-style-gradient .top-nav-link {
  padding: 0.4rem 1.1rem;
  border-radius: 0.6rem;
  background: linear-gradient(135deg, rgba(255,140,26,0.1), rgba(255,255,255,0.05));
  color: rgba(255,255,255,0.85);
  transition: background 0.25s ease, color 0.2s ease;
}

.top-nav-style-gradient .top-nav-link::after {
  display: none;
}

.top-nav-style-gradient .top-nav-link:hover,
.top-nav-style-gradient .top-nav-link:focus,
.top-nav-style-gradient .top-nav-link.active {
  background: linear-gradient(135deg, rgba(255,140,26,0.65), rgba(255,220,180,0.35));
  color: #101217;
}

.top-nav-style-minimal .top-nav-link {
  padding: 0.2rem 0;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  font-size: 0.8rem;
}

.top-nav-style-minimal .top-nav-link::after {
  height: 3px;
  background: rgba(255,255,255,0.9);
}

.top-nav-style-minimal .top-nav-link:hover,
.top-nav-style-minimal .top-nav-link:focus,
.top-nav-style-minimal .top-nav-link.active {
  color: #fff;
}

.top-nav-style-shadow .top-nav-link {
  padding: 0.35rem 0.9rem;
  border-radius: 0.6rem;
  color: rgba(255,255,255,0.85);
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.top-nav-style-shadow .top-nav-link::after {
  display: none;
}

.top-nav-style-shadow .top-nav-link:hover,
.top-nav-style-shadow .top-nav-link:focus,
.top-nav-style-shadow .top-nav-link.active {
  transform: translateY(-3px);
  box-shadow: 0 12px 24px rgba(0,0,0,0.35);
  color: #fff;
}

.nav-preview-card {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 1rem;
  padding: 1.5rem;
}

.nav-preview-links {
  display: flex !important;
  flex-wrap: wrap;
  gap: 1rem;
}

.nav-preview-links .top-nav-item {
  position: relative;
  padding-bottom: 12px;
}

.nav-preview-note {
  font-size: 0.9rem;
  color: rgba(255,255,255,0.65);
}

.hero-image-col {
  position: relative;
  max-width: 70vw;
}

.hero-background-box {
  position: fixed;
  overflow: hidden;
  top: 0;
  bottom: 0;
  left: 75%;
  right: 0;
  background: var(--bs-primary);
  z-index: -1;
}

.hero-background-box-2 {
  position: fixed;
  overflow: hidden;
  top: 0;
  bottom: 0;
  left: 96%;
  right: 0;
  background: var(--bs-primary);
  z-index: -1;
}

.right-ribon {
  position: absolute;
  overflow: hidden;
  top: 0;
  bottom: 0;
  left: 96%;
  right: 0;
  background: var(--bs-primary);
  z-index: -1;
}

.hero-highlight {
  position: relative;
}
.hero-highlight::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: max(calc((100vw - 100%) / -2), -200px); /* keeps it pinned to container’s side */
  width: clamp(80px, 15vw, 200px);
  background: var(--bs-primary);
  opacity: 0.65;
  pointer-events: none;
  z-index: 0;
}
.hero-highlight > .container {
  position: relative; /* keep actual content above the accent */
  z-index: 1;
}

#galeria {
  background-image: url(../../assets/img/forno_2.png);
  background-position: center;
  background-size: cover;
}
#galeria::after {
    content: " ";
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    -webkit-user-select:none;
    user-select: none;
    opacity: 0;
    background-color: #e9dfc43a;
    /* background: rgb(0,0,0);
    transition: all .3s; */
}

.hero-image-col .img-hero {
  position: relative;
  z-index: 1;
}

@media (min-width: 991px) {
  .hero-background-box {
    overflow: hidden;
/*     top: -100vh;
    bottom: -100vh; */
  }
  .presentation-image-wrapper {
    height: 30vw;
    max-width: 75%;
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 992px) {
  .hero-background-box {
    display:none;
    overflow: hidden;
  }
  .presentation-image-wrapper {
    height: 100%;
  }
}
.presentation-image-wrapper {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  min-height: 360px;
  background: rgba(9, 12, 18, 0.45);
  box-shadow: 20px 20px 0 0 var(--bs-primary);
}

.presentation-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.presentation-logo-circle {
  position: absolute;
  top: 50%;
  
  /* transform: translate(-50%, -50%); */
  width: clamp(120px, 12vw, 180px);
  height: clamp(120px, 12vw, 180px);
  border-radius: 50%;
  background: var(--bs-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
/*   box-shadow: 0 25px 60px rgba(0, 0, 0, 0.45);
 */}

.presentation-logo {
  width: 85%;
  height: auto;
}


.round_border {
  display: flex;
  border-radius: 100%;
  border: 3px solid var(--bs-primary);
  box-shadow: 0 0 8px rgba(var(--bs-primary-rgb), 0.55);
  overflow:hidden;
  padding: 15px;
}
.round_border img {
  width: 100%;
  height: 100%; /* Or whatever */
  margin: auto;
}

.member-card,
.member-line-card {
  /* justify-content: center; */
  display: flex;
  align-items: center;
  gap: 1rem;
  background: linear-gradient(180deg, rgba(255,255,255,0.08) 0%, rgba(255,255,255,0.03) 65%, rgba(255,255,255,0) 100%);
  padding: 1rem;
  border-radius: 1rem;
  /* border: 1px solid rgba(255,255,255,0.08); */
  position: relative;
  overflow: hidden;
  transition: transform 0.25s ease, background-color 0.25s ease, border-color 0.25s ease;
}
.member-line-card img{
  border-radius: 50%;
  object-fit: cover;
}

.member-portrait-line {
  width: 150px;
  height: 150px;
  border-radius: 50%;
  object-fit: cover;
}
.member-portrait-line img {
  width:100%;
}

.member-card-vertical {
  background: rgba(255,255,255,0.05);
  border-radius: 1rem;
  border: 1px solid rgba(255,255,255,0.08);
  padding: 1.75rem 1.5rem;
}

.member-portrait {
  width: 120px;
  height: 120px;
  border-radius: 1rem;
  object-fit: cover;
}

.member-portrait-large {
  width: 160px;
  height: 160px;
  object-fit: cover;
  border-radius: 1.25rem;
  margin: 0 auto;
}


.corpo-card-vertical {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.09);
}

.corpo-group {
  /* background: rgba(255,255,255,0.04); */
  border-radius: 1.5rem;
  /* border: 1px solid rgba(255,255,255,0.08); */
  padding: .5rem;
}

.member-portrait,
.member-portrait-line {
  width: 120px;
  height: 120px;
}

.div-underline {
  border-bottom: 4px solid var(--bs-primary);
  margin-bottom: 1.5rem;
  padding-bottom: 0.75rem;
  width:50%;
}

.blockquote {
  padding: 10px;
  /* color: var(--bs-primary); */
  border: 2px solid var(--bs-primary);
  border-radius: 5px;
  background: rgba(var(--bs-primary-rgb),0.1); 
}

.blockquote-wrapper {
  margin-top: 3rem;
  padding: 2rem;
  background: rgba(255,255,255,0.04);
  border-radius: 1.25rem;
  border: 1px solid rgba(255,255,255,0.12);
}
.estatutos-section {
  background: rgba(255, 255, 255, 0.02);
}

.estatutos-section:nth-of-type(odd) {
  background: rgba(255, 255, 255, 0.05);
}

.estatuto-document p {
  margin-bottom: 0;
}

.estatuto-document > * + * {
  margin-top: 0.75rem;
}

.estatuto-artigo {
  font-family: var(--font-heading);
  font-size: 1.35rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.estatuto-list {
  margin-bottom: 1rem;
  padding-left: 1.25rem;
}

.estatuto-list li + li {
  margin-top: 0.25rem;
}

.member-line-card.confrade-general-card {
  flex-direction: column;
  align-items: flex-start;
  gap: 0.5rem;
  min-height: 100%;
}

.confrade-general-card .member-date {
  font-size: 0.875rem;
}


/* .hr-divider {
  border: 0;
  height: 4px;
  width: 100%;
  margin: 3rem auto; 
  border-radius: 999px;
  background: transparent;
  position: relative;
  transition: filter 0.3s ease, opacity 0.3s ease;
} */


/* .hr-divider.divider-variant-3 {
  background: linear-gradient(90deg, rgba(255, 184, 66, 0.2), rgba(255, 184, 66, 0.5) 30%, rgba(255, 214, 110, 0.95) 50%, rgba(255, 184, 66, 0.5) 70%, rgba(255, 184, 66, 0.2));
  box-shadow: 0 0 22px rgba(255, 184, 66, 0.55);
  opacity: 0.9;
} */

.hr-divider {
  border: 0;
  justify-self: center;
  height: 3px;
  width: 100%;
  border-radius: 100%;
  background: transparent;
  position: relative;
  transition: filter 0.3s ease, opacity 0.3s ease;
  /* background: linear-gradient(90deg, rgba(255, 184, 66, 0.2), rgba(255, 184, 66, 0.5) 30%, rgba(255, 214, 110, 0.95) 50%, rgba(255, 184, 66, 0.5) 70%, rgba(255, 184, 66, 0.2)); */
  background: linear-gradient(90deg, rgba(var(--bs-primary-rgb), 0.2), rgba(var(--bs-primary-rgb), 0.5) 30%, rgba(var(--bs-primary-rgb), 0.95) 50%, rgba(var(--bs-primary-rgb), 0.5) 70%, rgba(var(--bs-primary-rgb), 0.2));
  box-shadow: 0 0 22px rgba(var(--bs-primary-rgb), 0.55);
  opacity: 0.9;
  margin:0px;
}

.hr-divider-half {
  border: 0;
  justify-self: left;
  height: 3px;
  width: 50%;
  border-radius: 100%;
  border-radius: 5% 50% 50% 5%;
  background: transparent;
  position: relative;
  transition: filter 0.3s ease, opacity 0.3s ease;
  /* background: linear-gradient(90deg, rgba(255, 184, 66, 0.2), rgba(255, 184, 66, 0.5) 30%, rgba(255, 214, 110, 0.95) 50%, rgba(255, 184, 66, 0.5) 70%, rgba(255, 184, 66, 0.2)); */
  background: linear-gradient(90deg, rgba(var(--bs-primary-rgb), 0.95) 0%, rgba(var(--bs-primary-rgb), 0.5) 50%, rgba(var(--bs-primary-rgb), 0.2));
  box-shadow: 0 0 22px rgba(var(--bs-primary-rgb), 0.55);
  opacity: 0.9;
}

.comissao-eventos-section {
  position: relative;
  padding: 5rem 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.15) 0%, rgba(0, 0, 0, 0.45) 100%);
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.media-section {
  position: relative;
  /* background: linear-gradient(160deg, rgba(171, 114, 44, 0.22) 0%, rgba(12, 8, 6, 0.78) 100%);
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08); */
}

.midia-card {
  background: rgba(171, 114, 44, 0.25);
  /* border: 1px solid rgba(255, 177, 106, 0.35); */
  border-radius: 1.25rem;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.35);
  overflow: hidden;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.midia-thumb {
  width: 100%;
  height: 220px;
  object-fit: cover;
}

.midia-card-body {
  padding: 1.5rem;
}

.midia-card-title {
  font-family: var(--font-heading);
  font-size: 1.25rem;
  color: #fff;
}

.midia-frame {
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 18px 36px rgba(0, 0, 0, 0.4);
  /* border: 1px solid rgba(255, 177, 106, 0.35); */
}

.comissao-eventos-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at top, rgba(var(--bs-primary-rgb), 0.25), transparent 45%),
              radial-gradient(circle at bottom, rgba(var(--bs-primary-rgb), 0.18), transparent 55%);
  pointer-events: none;
  opacity: 0.85;
}

.comissao-eventos-heading {
  position: relative;
  z-index: 1;
  text-align: center;
}

.comissao-eventos-heading .titulo_pagina {
  letter-spacing: 0.2rem;
}

.comissao-eventos-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 2.5rem;
  justify-items: center;
}

.committee-card {
  text-align: center;
  padding: 2rem;
  margin:1rem;
  /* background: linear-gradient(160deg, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0.02) 100%); */
  border-radius: 1.5rem;
  height: 100%;
  position: relative;
  overflow: hidden;
    width:250px;
  /* border: 1px solid rgba(255, 255, 255, 0.08); */
  /* box-shadow: 0 20px 45px rgba(0, 0, 0, 0.35); */
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

#comissao-eventos {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background: rgba(46, 15, 11, 0.9);
  background: linear-gradient(to left,#a50000,rgba(var(--bs-primary-rgb),0.7));
  
}

#corpos-sociais {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  /* background-color: rgba(54, 37, 6, 0.9); */
  /* background: linear-gradient(180deg, rgba(73, 50, 1, 0.61), transparent 80%); */
  background: linear-gradient(to right,#001c2c,var(--bs-primary));
}

#comissao-eventos::before {
  content: '';
  position: absolute;
  inset: -12%;
  z-index: -1;
  /* background-image: url('../../assets/img/forno_2.png');
  background-repeat: no-repeat;
  background-size:auto;
  background-position:fixed; */
  filter: blur(10px);
  opacity: 0.55;
  transform: scale(1.1);
}

#comissao-eventos > * {
  position: relative;
  z-index: 1;
}


.committee-card::after {
  content: '';
  position: absolute;
  inset: 0;
  /* background: radial-gradient(circle at top, rgba(255, 203, 92, 0.25), transparent 55%); */
  background: rgba(245, 245, 245, 0.158);
  opacity: 0;
  transition: opacity 0.3s ease;
}

.committee-card:hover {
  transform: translateY(-8px);
  /* box-shadow: 0 28px 55px rgba(0, 0, 0, 0.45); */
}

.committee-card:hover::after {
  opacity: 1;
}

.committee-avatar {
  width: 140px;
  aspect-ratio: 1;
  border-radius: 50%;
  border: 4px solid rgba(var(--bs-primary-rgb), 0.85);
  box-shadow: 0 0 32px rgba(var(--bs-primary-rgb), 0.45), 0 0 12px rgba(var(--bs-primary-rgb), 0.35);
  object-fit: cover;
  margin: 0 auto 1.5rem;
  background: rgba(0, 0, 0, 0.35);
}

.committee-name {
  font-size: 1.7rem;
  text-transform: uppercase;
  letter-spacing: 0.08rem;
  margin-bottom: 0.5rem;
  font-family: var(--font-heading);
}

.committee-role {
  font-size: 0.95rem;
  word-break: break-word;
  color: rgba(255, 255, 255, 0.75);
  margin-bottom: 0px;
}

@media (max-width: 576px) {
  .committee-card {
    
  }



  .committee-avatar {
    width: 120px;
  }
}

@media (max-width: 991.98px) {
  .presentation-image-wrapper {
    min-height: auto;
  }

  .presentation-logo-circle {
    left: 50%;
    top: 0;
    transform: translate(-50%, -40%);
    width: 120px;
    height: 120px;
  }
}

.apresentacao-icon {
  width:150px;
  height: 150px;
  border-radius: 50%;
  border: 0px solid white;
  background-color: var(--bs-primary);
  padding:10px;
  margin:30px;
  justify-self: center;
  img {
    height: 100%;
    width: 100%;
    object-fit: contain;
  }
}

.apresentacao-icon-2 {
  height:400px; 
  width:400px;
  border-radius: 50%;
  border: 0px solid white;
  /* box-shadow:
    0 0 25px rgba(255,150,50,0.4),
    0 0 60px rgba(255,90,0,0.2); */
  /* background-color: #AB722C; */
  padding:10px;
  margin:30px;
  justify-self: center;
  overflow:hidden;
  img {
    height: 100%;
    width: 100%;
    object-fit: cover;
  }
}



.section {
  overflow-x:hidden;
}


















.confraria-intro {
  background: radial-gradient(
      circle at 50% 0%,
      rgba(188,114,17,0.18) 0%,
      rgba(15,15,15,1) 70%
    );
  color: #f7e6c4;
  position: relative;
  overflow: hidden;
  border-top: 1px solid rgba(188,114,17,0.25);
  border-bottom: 1px solid rgba(188,114,17,0.25);
  font-family: "Merriweather", serif;
}

/* Título principal */
.intro-title {
  font-family: "Cinzel Decorative", serif;
  font-weight: 700;
  font-size: clamp(1.4rem, 1vw + 1rem, 1.8rem);
  line-height: 1.3;
  color: #f7e6c4;
  text-shadow: 0 0 8px rgba(255,160,60,.4);
  letter-spacing: .05em;
  text-transform: uppercase;
}

/* Lead inicial */
.intro-lead {
  font-family: "Merriweather", serif;
  font-size: 1rem;
  line-height: 1.6;
  color: #e9dfc4;
  max-width: 48ch;
  text-shadow: 0 0 6px rgba(0,0,0,.8);
}

/* Selo lateral */
.selo-wrapper { min-width: 140px; }
.selo-circulo {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  margin-left: auto;
  margin-right: auto;
  background: radial-gradient(
      circle at 50% 40%,
      rgba(255,170,70,0.4) 0%,
      rgba(0,0,0,0) 70%
    ),
    #1a1a1a;
  border: 2px solid #c28f43;
  box-shadow:
    0 0 25px rgba(255,150,50,0.4),
    0 0 60px rgba(255,90,0,0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #f7e6c4;
  font-family: "Cinzel", serif;
  text-shadow: 0 0 10px rgba(255,140,40,0.4);
}
.selo-texto {
  line-height: 1.2;
  font-size: .8rem;
}
.selo-ano {
  font-size: 1.2rem;
  font-weight: 700;
  color: #ffdda8;
}
.selo-legenda,
.selo-local {
  font-size: .75rem;
  color: #f7e6c4;
}
.selo-caption {
  color: rgba(255,221,168,0.6) !important;
  font-size: .75rem;
  line-height: 1.3;
  text-shadow: 0 0 6px rgba(0,0,0,.9);
  font-family: "Merriweather", serif;
}

/* Cartões de conteúdo */
.info-card {
  background: rgba(0,0,0,0.4);
  border: 1px solid rgba(194,114,17,0.25); /* #bc7211 */
  border-radius: 8px;
  padding: 1.25rem 1.25rem 1rem;
  box-shadow:
    0 20px 40px rgba(0,0,0,0.8),
    0 0 30px rgba(188,114,17,0.2) inset;
  color: #f7e6c4;
  min-height: 100%;
}

.info-card-title {
  font-family: "Cinzel Decorative", serif;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.3;
  color: #ffdda8;
  text-transform: uppercase;
  letter-spacing: .05em;
  margin-bottom: .75rem;
  text-shadow: 0 0 8px rgba(255,160,60,.4);
}

.info-card-text {
  font-family: "Merriweather", serif;
  font-size: .9rem;
  line-height: 1.55;
  color: #e9dfc4;
  text-shadow: 0 0 4px rgba(0,0,0,.8);
  margin-bottom: .8rem;
}

/* Manifesto final */
.manifesto-box {
  background: rgba(0,0,0,0.6);
  background: rgba(var(--bs-primary-rgb),0.3);
  border: 1px solid rgba(var(--bs-primary-rgb),0.4);
  border-radius: 10px;
  padding: 2rem 1.5rem;
  position: relative;
  box-shadow:
    0 30px 60px rgba(0,0,0,0.9),
    0 0 60px rgba(var(--bs-primary-rgb),0.15) inset;
}
.manifesto-icon {
  font-size: 1.5rem;
  line-height: 1;
  color: #ffdda8;
  text-shadow: 0 0 10px rgba(255,160,60,.6);
  margin-bottom: .75rem;
}
.manifesto-text {
  font-family: "Cinzel Decorative", serif;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.5;
  color: #f7e6c4;
  text-shadow:
    0 0 10px rgba(255,160,60,.4),
    0 0 30px rgba(0,0,0,.9);
  max-width: 40ch;
  margin-left: auto;
  margin-right: auto;
}
.manifesto-assinatura {
  margin-top: 1rem;
  font-size: .8rem;
  line-height: 1.4;
  color: rgba(255,221,168,0.6);
  text-shadow: 0 0 6px rgba(0,0,0,.9);
  font-family: "Merriweather", serif;
  font-style: italic;
}

/* Responsivo */
@media (max-width: 768px) {
  .intro-title {font-size: 1.2rem;}
  .intro-lead {font-size: .9rem;}
  .info-card-title {font-size: .9rem;}
  .info-card-text {font-size: .85rem;}
  .manifesto-text {font-size: .9rem;}
}

.comissao-spotlight {
  background: radial-gradient(
      circle at 50% 30%,
      rgba(60, 35, 15, 0.6) 0%,
      rgba(15, 15, 15, 1) 70%
    );
  padding: 60px 0px 70px 0px;
  color: #f7e6c4;
  text-align: center;
  position: relative;
  overflow: hidden;
  border-top: 1px solid rgba(194, 143, 67, 0.2);
  border-bottom: 1px solid rgba(194, 143, 67, 0.2);
  font-family: "Cinzel", serif;
}

.spotlight-wrapper {
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

/* --- Título --- */
.spotlight-title {
  font-size: 1.6rem;
  line-height: 1.3;
  letter-spacing: 2px;
  color: #f7e6c4;
  text-transform: uppercase;
  margin-bottom: 2rem;
  text-shadow: 0 0 8px rgba(255, 160, 60, 0.4);
  font-family: "Cinzel Decorative", serif;
  font-weight: 700;
}

/* --- Carrossel --- */
.carousel-outer {
  position: relative;
  width: 100%;
  /* max-width: 1100px; */
  padding-top: 150px;
  padding-bottom: 150px;
  overflow: hidden;
  /* altura suficiente p/ os avatares + nomes */
  /* padding: 40px 0; */
}

/* faixa que anda */
.carousel-track {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
  gap: 40px;
  will-change: transform;
  user-select: none;
  -webkit-user-select: none;
  cursor: grab;
  position: relative;
}

/* "pausa" visual ao fazer hover */
.carousel-outer.paused .carousel-track {
  cursor: default;
}

/* zona central de foco */
.carousel-focus-zone {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 180px;           /* área de destaque */
  left: 50%;
  transform: translateX(-50%);
  pointer-events: none;
  /* um brilho muito leve ao centro */
  background: radial-gradient(
    circle at 50% 50%,
    rgba(255,140,40,0.08) 0%,
    rgba(0,0,0,0) 70%
  );
  mix-blend-mode: screen;
  filter: blur(20px);
}

/* --- Cada membro --- */
.membro-card {
  min-width: 140px;
  max-width: 140px;
  text-align: center;
  color: #f7e6c4;
  font-family: "Cinzel", serif;
  transition: transform .25s ease, filter .25s ease, box-shadow .25s ease;
  position: relative;
}

.membro-foto-wrap {
  width: 120px;
  height: 120px;
  margin: 0 auto 0.75rem auto;
  position: relative;
}

.membro-foto {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  object-fit: cover;
  border: 3px solid #c28f43;
  background-color: #1a1a1a;
  box-shadow:
    0 0 20px rgba(255, 150, 50, 0.4),
    0 0 50px rgba(255, 90, 0, 0.15);
  transition: inherit;
}

.membro-glow {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: radial-gradient(
    circle at 50% 40%,
    rgba(255, 170, 70, 0.4) 0%,
    rgba(0, 0, 0, 0) 70%
  );
  filter: blur(18px);
  z-index: -1;
  opacity: .7;
  transition: inherit;
}

.membro-nome {
  font-size: 1rem;
  line-height: 1.3;
  font-weight: 500;
  color: #f7e6c4;
  text-shadow: 0 0 10px rgba(255, 140, 40, 0.4);
}

.membro-funcao {
  margin-top: .4rem;
  font-size: .8rem;
  line-height: 1.3;
  color: #ffda8a;
  white-space: pre-line;
  text-shadow: 0 0 8px rgba(255, 150, 50, 0.4);
  font-family: "Inter", system-ui, sans-serif;
  font-weight: 400;
}

/* estado destacado ao centro */
.membro-card.focused {
  transform: scale(1.5);
  z-index: 10;
}
.membro-card.focused .membro-foto {
  box-shadow:
    0 0 28px rgba(255, 170, 70, 0.75),
    0 0 70px rgba(255, 90, 0, 0.4);
}
.membro-card.focused .membro-glow {
  opacity: 1;
  filter: blur(24px);
}
.membro-card.focused .membro-nome {
  text-shadow: 0 0 12px rgba(255, 160, 60, 0.8);
}
.membro-card.focused .membro-funcao {
  text-shadow: 0 0 10px rgba(255, 160, 60, 0.8);
  color: #ffe9b8;
}

/* legenda final */
.spotlight-caption {
  font-size: 0.8rem;
  line-height: 1.4;
  max-width: 500px;
  margin: 0 auto;
  color: #d6c6a3;
  font-family: "Inter", system-ui, sans-serif;
  opacity: 0.8;
  text-shadow: 0 0 6px rgba(0,0,0,0.9);
}

/* Responsivo */
@media (max-width:768px){
  .spotlight-title {
    font-size: 1.3rem;
    margin-bottom: 1.5rem;
  }

  .carousel-focus-zone {
    width: 150px;
  }

  .membro-card {
    min-width: 120px;
    max-width: 120px;
  }

  .membro-foto-wrap {
    width: 100px;
    height: 100px;
  }
  .membro-foto {
    width:100px;
    height:100px;
  }
  .membro-nome {font-size:0.9rem;}
  .membro-funcao {font-size:0.7rem;}
}

/* Quando pausado (hover ou toque): cursor muda */
.carousel-outer.paused .carousel-track {
  cursor: default;
}




/* --- Receita: hero & blocos --- */
.recipe-hero {
  color: #f7e6c4;
  border-top: 1px solid rgba(194, 143, 67, 0.2);
  border-bottom: 1px solid rgba(194, 143, 67, 0.2);
  background: radial-gradient(circle at 50% 10%, rgba(255, 180, 90, 0.12) 0%, rgba(8, 6, 4, 0.9) 60%);
}

.recipe-hero-bg {
  position: absolute;
  inset: 0;
  overflow: hidden;
  z-index: 0;
}

.recipe-hero-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.35;
  filter: blur(6px);
}

.recipe-hero-badge {
  background: rgba(12, 8, 6, 0.75);
  border: 1px solid rgba(255, 180, 90, 0.35);
  border-radius: 18px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.45);
}

.recipe-hero-title {
  font-family: "Cinzel Decorative", serif;
  letter-spacing: 0.18rem;
}



.recipe-step {
    background: linear-gradient(150deg, rgb(20 14 10 / 60%) 0%, rgb(177 95 0 / 23%) 100%);
    /* border: 1px solid rgba(255, 180, 90, 0.25); */
    border-radius: 1.25rem;
    padding: 2rem;
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.28);
}

.recipe-step p {
  color: rgba(247, 230, 196, 0.78);
}

.bg-dark-gradient {
  /* background: linear-gradient(180deg, rgba(18, 14, 11, 0.95) 0%, rgba(10, 6, 4, 0.85) 100%); */
}

.ingredient-card {
  display: flex;
  height: 100%;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}



.ingredient-card-inner {
  background: rgba(20, 14, 11, 0.253);
  border: 1px solid rgba(255, 180, 90, 0.25);
  border-radius: 1.25rem;
  padding: 1.5rem;
  text-align: center;
  box-shadow: 0 18px 36px rgba(0, 0, 0, 0.4);
  display: flex;
  flex-direction: column;
  flex: 1;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}



.ingredient-card:hover .ingredient-card-inner {
  transform: translateY(-8px);
  box-shadow: 0 24px 46px rgba(0, 0, 0, 0.45);
}


.galery-top {
  height:60vh;
  width:100%;

  
}

.galery-top::after {
background-image: url(../../assets/img/forno_2.png);
  background-position: center;
  background-size: cover;
}

.ingredient-thumb {
  /* margin: 0 auto 1.25rem;
  width: min(180px, 100%); */
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}



.ingredient-thumb img {
  max-width: 90%;
  max-height: 90%;
  width: auto;
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 16px 32px rgba(0, 0, 0, 0.45));
}



.ingredient-name {
  font-size: 1.1rem;
  font-family: "Montserrat";
  text-transform: uppercase;
  letter-spacing: 0.05rem;
  margin-bottom: 0.75rem;
  color: #f7e6c4;
}

.ingredient-category {
  font-size: 0.75rem;
  letter-spacing: 0.2rem;
  text-transform: uppercase;
  color: rgba(255, 180, 90, 0.7);
  margin-bottom: 0;
}

.ingredient-filters {
  gap: 0.75rem;
}

.ingredient-filter-btn {
  border: 1px solid rgba(255, 180, 90, 0.35);
  background: rgba(20, 14, 11, 0.85);
  color: rgba(247, 230, 196, 0.7);
  /* font-family: "Cinzel", serif; */
  font-size: 0.85rem;
  letter-spacing: 0.2rem;
  text-transform: uppercase;
  padding: 0.6rem 1.75rem;
  border-radius: 999px;
  transition: all 0.2s ease;
}

.ingredient-filter-btn:hover,
.ingredient-filter-btn:focus {
  color: #f7e6c4;
  border-color: rgba(255, 180, 90, 0.6);
  box-shadow: 0 0 0 2px rgba(255, 180, 90, 0.25);
}

.ingredient-filter-btn.active {
  background: rgba(255, 180, 90, 0.2);
  color: #f7e6c4;
  border-color: rgba(255, 180, 90, 0.65);
}

.ingredient-card.is-hidden {
  display: none !important;
}

.recipe-table .table {
  border-radius: 1rem;
  overflow: hidden;
}

.recipe-table .table thead th {
  text-transform: uppercase;
  font-size: 0.75rem;
  letter-spacing: 0.05rem;
}

.recipe-table .table tbody tr td,
.recipe-table .table tbody tr th {
  color: #f7e6c4;
}

.recipe-table .table tbody tr.table-active th {
  color: rgba(255, 255, 255, 0.9);
}

@media (max-width: 575.98px) {
  .recipe-hero-badge {
    border-radius: 14px;
  }

  .ingredient-thumb {
    width: min(140px, 100%);
  }

  .ingredient-filter-btn {
    font-size: 0.75rem;
    padding: 0.55rem 1.4rem;
  }
}

.ingredient-card-inner .ingredient-category {
  margin-top: auto;
}


.gallery-section {
  background: linear-gradient(180deg, rgba(12, 8, 6, 0.9) 0%, rgba(20, 14, 11, 0.85) 100%);
}

.gallery-section .container-fluid {
  padding-left: 0;
  padding-right: 0;
}

.gallery-grid {
  display: grid;
  grid-auto-flow: dense;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  grid-auto-rows: 220px;
  gap: 0;
}

.gallery-item {
  position: relative;
  overflow: hidden;
}

.gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.gallery-item.span-2x1 {
  grid-column: span 2;
}

.gallery-item.span-1x2 {
  grid-row: span 2;
}

.gallery-item.span-2x2 {
  grid-column: span 2;
  grid-row: span 2;
}

@media (max-width: 991.98px) {
  .gallery-grid {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    grid-auto-rows: 180px;
  }
}

@media (max-width: 575.98px) {
  .gallery-grid {
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    grid-auto-rows: 160px;
  }
}

.gallery-hero {
  position: relative;
  min-height: 420px;
  background-image: url("assets/img/fornoLenha.jpeg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.gallery-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0.15) 0%, rgba(8,6,4,0.85) 100%);
}

.gallery-hero-overlay {
  position: relative;
  z-index: 1;
  padding: 140px 20px 120px;
  color: #f7e6c4;
}

.gallery-hero-title {
  font-family: "Cinzel Decorative", serif;
  letter-spacing: 0.2rem;
  font-size: clamp(1.8rem, 3vw, 2.6rem);
}

.gallery-hero-text {
  color: rgba(247, 230, 196, 0.8);
  letter-spacing: 0.08rem;
  text-transform: uppercase;
  font-size: clamp(0.85rem, 1.4vw, 1rem);
}

.gallery-grid-wrap {
  margin-top: -60px;
}

.gallery-grid {
  display: grid;
  grid-auto-flow: dense;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  grid-auto-rows: 220px;
  gap: 0;
}

.gallery-item {
  position: relative;
  overflow: hidden;
}

.gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.gallery-item:hover img {
  transform: scale(1.05);
}

.gallery-item.span-2x1 {
  grid-column: span 2;
}

.gallery-item.span-1x2 {
  grid-row: span 2;
}

.gallery-item.span-2x2 {
  grid-column: span 2;
  grid-row: span 2;
}

@media (max-width: 991.98px) {
  .gallery-grid {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    grid-auto-rows: 180px;
 
  }

  .apresetacao_section p {
    text-align: start;
  }

  .gallery-hero-overlay {
    padding: 110px 20px 100px;
  }
}

@media (max-width: 575.98px) {
  .gallery-grid {
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    grid-auto-rows: 160px;
  }

  .gallery-hero-overlay {
    padding: 90px 18px 80px;
  }
}


.heading-glow {
  position: relative;
  display: inline-block;
  padding: 1rem 2rem;
  margin-bottom: 2rem;
  color: #f7e6c4; /* tom creme dourado */
  font-family: "Cinzel Decorative", serif;
  font-weight: 700;
  font-size: 1.6rem;
  letter-spacing: 1px;
  text-transform: uppercase;
  text-align: center;
  text-shadow:
    0 0 8px rgba(255, 180, 70, 0.4),
    0 0 20px rgba(255, 90, 0, 0.25);

  /* fundo translúcido com gradiente quente */
  background: linear-gradient(
    to bottom,
    rgba(255, 170, 70, 0.25) 0%,
    rgba(80, 40, 0, 0.4) 100%
  );
  border-radius: 6px;
  border: 1px solid rgba(194, 114, 17, 0.4);

  /* brilho e profundidade */
  box-shadow:
    inset 0 1px 6px rgba(255, 200, 100, 0.25),
    0 8px 25px rgba(0, 0, 0, 0.6);
}

/* opção: ocupa toda a largura (em vez de inline) */
.heading-glow.full {
  display: block;
  width: 100%;
}

/* efeito animado opcional (brilho pulsante) */
@keyframes goldPulse {
  0%, 100% {
    box-shadow:
      inset 0 1px 6px rgba(255, 200, 100, 0.25),
      0 8px 25px rgba(0, 0, 0, 0.6);
  }
  50% {
    box-shadow:
      inset 0 1px 10px rgba(255, 220, 130, 0.4),
      0 10px 35px rgba(255, 140, 0, 0.3);
  }
}

.heading-glow.animated {
  animation: goldPulse 5s ease-in-out infinite;
}
