/* =========================================================
   ADRIANA ROCHA — COMPONENTES GLOBAIS DO SITE
   Menu e rodapé compartilhados por todas as páginas.
   Alterações aqui se refletem em todo o site.
   ========================================================= */

:root{
  --site-ink:#2A2A2A;
  --site-cream:#EDEAE3;
  --site-magenta:#A2175C;
  --site-muted:#67645F;
  --site-line:rgba(42,42,42,.10);
  --site-max:1160px;
}

/* Container fallback para páginas que não declaram .container */
.container{
  width:min(calc(100% - 44px), var(--max, var(--site-max)));
  margin-inline:auto;
}

/* HEADER */
.site-header{
  position:sticky;
  top:0;
  z-index:1000;
  background:rgba(237,234,227,.94);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line, var(--site-line));
  padding:0;
}
.site-header .nav{
  min-height:76px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
}
.site-header .brand{
  display:flex;
  align-items:center;
  gap:11px;
  color:var(--ink, var(--site-ink));
  text-decoration:none;
  flex:none;
}
.site-header .brand-mark{
  width:36px;
  height:36px;
  object-fit:contain;
  flex:none;
}
.site-header .brand-name{
  display:block;
  font-family:"Anek Bangla",sans-serif;
  font-variation-settings:"wdth" 80;
  font-size:1.28rem;
  font-weight:680;
  letter-spacing:-.02em;
  line-height:.9;
}
.site-header .brand-role{
  display:block;
  margin-top:4px;
  font-family:"Montserrat",system-ui,sans-serif;
  font-size:.58rem;
  line-height:1.2;
  font-weight:300;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--muted, var(--site-muted));
}
.site-header .nav-links{
  display:flex;
  align-items:center;
  gap:20px;
  font-family:"Montserrat",system-ui,sans-serif;
  font-size:.80rem;
  font-weight:400;
  color:var(--muted, var(--site-muted));
}
.site-header .nav-links a{
  color:inherit;
  text-decoration:none;
  transition:color .2s ease, opacity .2s ease;
}
.site-header .nav-links a:hover,
.site-header .nav-links a[aria-current="page"]{
  color:var(--ink, var(--site-ink));
}
.site-header .nav-links .nav-cta{
  color:var(--magenta, var(--site-magenta));
  font-weight:500;
}
.site-header .nav-links .nav-cta:hover{
  color:var(--magenta, var(--site-magenta));
  opacity:.72;
}

/* FOOTER */
.site-footer{
  background:var(--cream, var(--canvas, var(--site-cream)));
  color:var(--muted, var(--site-muted));
  margin:0;
  padding:0;
  border-top:1px solid var(--line, var(--site-line));
  font-family:"Montserrat",system-ui,sans-serif;
}
.site-footer a{
  color:inherit;
  text-decoration:none;
  transition:color .2s ease, opacity .2s ease;
}
.site-footer a:hover{
  color:var(--magenta, var(--site-magenta));
  opacity:1;
}
.site-footer .footer-main{
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(280px,.9fr);
  gap:20px 24px;
  padding:28px 0 20px;
  align-items:start;
}
.site-footer .footer-main.footer-main-contact-only{
  grid-template-columns:1fr;
  padding:24px 0 20px;
}
.site-footer .footer-main-contact-only .footer-panel{
  justify-self:end;
}
.site-footer .footer-panel{
  padding:6px 0;
  background:transparent;
  border:none;
  border-radius:0;
}
.site-footer .footer-panel-title{
  margin:0 0 12px;
  font-size:.72rem;
  line-height:1.4;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--muted, var(--site-muted));
  font-weight:500;
}
.site-footer .footer-links{
  display:flex;
  flex-wrap:wrap;
  gap:8px 22px;
  align-items:center;
}
.site-footer .footer-links a{
  font-family:"Montserrat",system-ui,sans-serif;
  font-size:.80rem;
  line-height:1.45;
  font-weight:400;
  letter-spacing:0;
  color:var(--muted, var(--site-muted));
}
.site-footer .footer-contact{
  display:flex;
  flex-direction:row;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}
.site-footer .footer-contact a{
  width:40px;
  height:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(42,42,42,.12);
  border-radius:50%;
  color:var(--muted, var(--site-muted));
  transition:color .2s ease,border-color .2s ease,transform .2s ease,background .2s ease;
}
.site-footer .footer-contact a:hover{
  color:var(--magenta, var(--site-magenta));
  border-color:rgba(162,23,92,.34);
  background:rgba(162,23,92,.035);
  transform:translateY(-1px);
}
.site-footer .footer-contact svg{
  width:18px;
  height:18px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.site-footer .footer-contact .icon-fill{
  fill:currentColor;
  stroke:none;
}
.site-footer .footer-bottom{
  border-top:1px solid var(--line, var(--site-line));
  background:var(--magenta, var(--site-magenta));
  font-size:.8rem;
}
.site-footer .footer-bottom-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:12px 0 16px;
  flex-wrap:wrap;
}
.site-footer .footer-copy,
.site-footer .footer-back-top{
  color:#fff;
  font-weight:500;
}
.site-footer .footer-back-top{
  white-space:nowrap;
  font-size:.82rem;
}
.site-footer .footer-back-top:hover{
  color:#fff;
  opacity:.82;
}

@media(max-width:900px){
  .site-header .nav-links a:not(.nav-cta){display:none;}
  .site-footer .footer-main{grid-template-columns:1fr;align-items:flex-start;}
  .site-footer .footer-main-contact-only .footer-panel{justify-self:start;}
  .site-footer .footer-links{gap:8px 16px;}
  .site-footer .footer-bottom-row{align-items:flex-start;}
}

@media(max-width:560px){
  .container{width:min(calc(100% - 28px),var(--max,var(--site-max)));}
  .site-header .brand-mark{width:32px;height:32px;}
  .site-header .brand-role{display:none;}
  .site-header .nav-cta{font-size:.78rem;}
  .site-footer .footer-main{grid-template-columns:1fr;padding:18px 0 14px;gap:14px;}
  .site-footer .footer-links{gap:8px 14px;}
  .site-footer .footer-contact{gap:8px;}
  .site-footer .footer-links a{font-size:.84rem;}
  .site-footer .footer-bottom-row{padding:10px 0 14px;}
}
