/* Header, nav, CTA and footer shared styles extracted from pages */
* { box-sizing: border-box; }
header {
  background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 2rem;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  backdrop-filter: blur(10px);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
}
header.scrolled {
  background: rgba(26, 26, 26, 0.95);
  backdrop-filter: blur(15px);
}
.header-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}
.logo-container { display:flex; align-items:center; }
header img { height: 45px; transition: all 0.3s ease; filter: drop-shadow(0 2px 4px rgba(0,0,0,0.3)); }
header img:hover { transform: scale(1.05); filter: drop-shadow(0 4px 8px rgba(0,0,0,0.4)); }
nav { display:flex; align-items:center; gap:2.5rem; }
nav a { color:#e0e0e0; text-decoration:none; font-weight:500; font-size:0.95rem; text-transform:uppercase; letter-spacing:0.5px; position:relative; padding:0.5rem 0; transition: all 0.3s ease; }
nav a::after { content: ''; position:absolute; bottom:0; left:0; width:0; height:2px; background: linear-gradient(90deg, #ffb800, #ff9d00); transition: width 0.3s ease; }
nav a:hover { color: #ffb800; transform: translateY(-2px); }
nav a:hover::after { width: 100%; }

/* CTA buttons */
.btn-patrocinio-header {
  background: transparent;
  color: #ffb800;
  font-family: 'Montserrat', Arial, sans-serif;
  font-weight: 800;
  border-radius: 50px;
  padding: 0.7rem 1.4rem;
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  text-decoration: none;
  border: 2px solid #ffb800;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.25);
  transition: all 0.3s ease;
  cursor: pointer;
}
.btn-patrocinio-header:hover { background: #ffb800; color: #181818; transform: scale(1.06); box-shadow: 0 6px 18px rgba(255,184,0,0.4); }

.btn-apoiar {
  background: linear-gradient(135deg, #ffb800 0%, #ff9d00 100%);
  color: #000;
  padding: 0.75rem 1.5rem;
  border-radius: 50px;
  font-weight: 700;
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  text-decoration: none;
  box-shadow: 0 4px 15px rgba(255, 184, 0, 0.3);
  transition: all 0.3s ease;
  border: none;
  cursor: pointer;
  position: relative;
  overflow: hidden;
}
.btn-apoiar::before { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height:100%; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent); transition: left 0.5s ease; }
.btn-apoiar:hover { background: linear-gradient(135deg, #ff9d00 0%, #ffb800 100%); transform: translateY(-2px) scale(1.05); box-shadow: 0 6px 20px rgba(255,184,0,0.4); }
.btn-apoiar:hover::before { left: 100%; }

.btn-socio-header {
  background: linear-gradient(90deg, #ff6a00 0%, #ffb800 100%);
  color: #fff;
  font-family: 'Montserrat', Arial, sans-serif;
  font-weight: 800;
  border-radius: 50px;
  padding: 0.75rem 1.5rem;
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  text-decoration: none;
  box-shadow: 0 4px 15px rgba(255,184,0,0.3);
  transition: all 0.3s ease;
  border: none;
  cursor: pointer;
}
.btn-socio-header:hover { transform: scale(1.07); box-shadow: 0 8px 24px rgba(255,184,0,0.28); }

.btn-doar-header {
  background: linear-gradient(90deg, #ff6a00 0%, #ffb800 100%);
  color: #fff;
  font-weight: 800;
  border-radius: 50px;
  padding: 0.75rem 1.5rem;
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  text-decoration: none;
  box-shadow: 0 4px 15px rgba(255,184,0,0.3);
  transition: all 0.3s ease;
  border: none;
  cursor: pointer;
}
.btn-doar-header:hover { transform: scale(1.07); box-shadow: 0 8px 24px rgba(255,184,0,0.28); }

.mobile-menu-toggle { display:none; flex-direction:column; cursor:pointer; padding:0.5rem; }
.mobile-menu-toggle span { width:25px; height:3px; background:#fff; margin:3px 0; transition:0.3s; border-radius:2px; }
.mobile-menu-toggle.active span:nth-child(1){ transform: rotate(-45deg) translate(-5px,6px); }
.mobile-menu-toggle.active span:nth-child(2){ opacity:0; }
.mobile-menu-toggle.active span:nth-child(3){ transform: rotate(45deg) translate(-5px,-6px); }

@media(max-width:768px) {
  body { padding-top: 70px; }
  header { padding: 0.75rem 1rem; }
  .header-container { position: relative; }
  /* Centered modal-like mobile menu for improved focus */
  .nav-menu {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -150%);
    width: min(92%, 420px);
    max-width: 420px;
    background: rgba(20,20,20,0.98);
    backdrop-filter: blur(12px);
    border-radius: 14px;
    padding: 1.25rem 1rem;
    flex-direction: column;
    gap: 0.4rem;
    opacity: 0;
    visibility: hidden;
    transition: transform 0.28s ease, opacity 0.28s ease, visibility 0.28s;
    box-shadow: 0 20px 60px rgba(0,0,0,0.4);
    z-index: 2000;
  }
  .nav-menu.active { transform: translate(-50%, -50%); opacity: 1; visibility: visible; }
  .nav-menu a { padding:0.85rem 1rem; width:100%; text-align:center; border-bottom: 1px solid rgba(255,255,255,0.06); border-radius:8px; }
  .nav-menu a:last-child { border-bottom:none; }
  .mobile-menu-toggle { display:flex; }
  .btn-apoiar { display:none; }
}
@media(max-width:480px) {
  header { padding: 0.5rem 1rem; }
  header img { height: 35px; }
}

/* Mobile CTA styles copied from teste-sobre.html */
@media(max-width:768px) {
  /* Hide header CTA container on mobile to avoid duplicates */
  #ctaButtons { display: none !important; }
  #navCtas { display:flex; flex-direction:column; align-items:center; gap:0.6rem; padding:0.6rem 0 1rem 0; }
  .nav-menu .btn-patrocinio-header, .nav-menu .btn-apoiar, .nav-menu .btn-doar-header, .nav-menu .btn-socio-header {
    display:block; width:calc(100% - 3rem); margin:0.6rem auto; text-align:center; padding:0.85rem 1rem; border-radius:999px; box-shadow:0 8px 24px rgba(0,0,0,0.14); font-weight:800; font-size:1rem; letter-spacing:0.6px; text-transform:uppercase; transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease; border:none;
  }
  .nav-menu .btn-patrocinio-header { background: rgba(255,255,255,0.04); color:#ffb800; border: 1.5px solid rgba(255,184,0,0.18); }
  .nav-menu .btn-patrocinio-header.centered { width:56%; max-width:360px; margin:0.8rem auto; padding-left:1.1rem; padding-right:1.1rem; }
  .nav-menu .menu-cta { width:72%; max-width:420px; margin:0.45rem auto; padding:0.85rem 1rem; border-radius:999px; box-shadow:0 10px 28px rgba(0,0,0,0.14); font-weight:800; font-size:1rem; letter-spacing:0.5px; text-transform:uppercase; display:inline-flex; align-items:center; justify-content:center; gap:0.6rem; }
  .nav-menu .menu-cta:hover { transform: translateY(-4px) scale(1.02); box-shadow:0 18px 40px rgba(0,0,0,0.22); }
  .nav-menu .menu-cta.centered { width:56%; max-width:360px; }
  .nav-menu .btn-apoiar { background: linear-gradient(90deg,#ffb800 0%,#ff9d00 100%); color:#111; }
  .nav-menu .btn-doar-header { background: linear-gradient(90deg,#ff6a00 0%,#ffb800 100%); color:#fff; }
  .nav-menu .btn-socio-header { background: linear-gradient(90deg,#ff6a00 0%,#ffb800 100%); color:#fff; }
  .nav-menu .btn-patrocinio-header:hover,
  .nav-menu .btn-apoiar:hover,
  .nav-menu .btn-doar-header:hover,
  .nav-menu .btn-socio-header:hover {
    transform: translateY(-4px) scale(1.02);
    box-shadow: 0 18px 40px rgba(0,0,0,0.22);
  }
}

/* Footer */
footer.footer { background:#222; color:#ccc; padding:0; margin-top:0; }
.footer-container.new-footer { max-width:1200px; margin:0 auto; display:flex; justify-content:flex-start; align-items:flex-start; padding:40px 30px 20px 30px; gap:60px; }
.footer-logo-block { display:flex; flex-direction:column; align-items:flex-start; min-width:220px; margin-right:40px; }
.footer-logo-img { width:130px; margin-bottom:10px; }
.footer-links-block { display:flex; gap:60px; flex:1; justify-content:flex-start; }
.footer-col { display:flex; flex-direction:column; min-width:180px; gap:6px; }
.footer-title { font-family: 'Montserrat', sans-serif; font-weight:700; color:#fff; font-size:1rem; margin-bottom:10px; letter-spacing:0.5px; }
.footer-col a { color:#ccc; text-decoration:none; font-size:0.95rem; font-weight:400; margin-bottom:2px; transition: color 0.2s; }
.footer-col a:hover { color:#ffb800; }
.footer-copyright { text-align:center; color:#bdbdbd; font-size:0.95rem; padding:18px 10px; border-top:1px solid #333; background:#222; }
@media (max-width:900px) {
  .footer-container.new-footer { flex-direction:column; align-items:center; gap:30px; padding:30px 10px 10px 10px; }
  .footer-links-block { justify-content:center; gap:30px; }
  .footer-logo-block { align-items:center; margin-right:0; }
}
@media (max-width:600px) {
  .footer-container.new-footer { padding:20px 2vw 10px 2vw; }
  .footer-links-block { flex-direction:column; align-items:center; gap:18px; }
  .footer-col { min-width:140px; align-items:center; }
  .footer-logo-block { min-width:0; }
}
