/* ==========================================================================
   M.Dias Contabilidade — pages.css
   ========================================================================== */

/* -----------------------------------------------------------------------
   Page Hero
----------------------------------------------------------------------- */
.page-hero {
  margin-top:var(--navbar-h);
  background:var(--navy);
  padding:4rem 0 3.5rem;
  position:relative; overflow:hidden;
}
.page-hero::after {
  content:''; position:absolute;
  top:-80px; right:-80px;
  width:320px; height:320px;
  border:1px solid rgba(184,148,80,.1);
  border-radius:50%; pointer-events:none;
}

.page-hero__breadcrumb {
  display:flex; align-items:center; gap:.5rem;
  font-size:.75rem; color:rgba(255,255,255,.45); margin-bottom:.9rem;
}
.page-hero__breadcrumb a { color:rgba(255,255,255,.45); transition:color var(--transition); }
.page-hero__breadcrumb a:hover { color:var(--gold-light); }
.page-hero__breadcrumb i { font-size:11px; color:rgba(255,255,255,.25); }

.page-hero__title {
  font-family:var(--font-heading);
  font-size:clamp(1.75rem,4vw,3rem);
  color:var(--white); margin-bottom:.75rem;
}
.page-hero__title span { color:var(--gold-light); }
.page-hero__subtitle {
  font-size:1rem; color:rgba(255,255,255,.65);
  max-width:560px; line-height:1.7;
}

/* -----------------------------------------------------------------------
   CTA Banner — white/cream to avoid blending with footer
----------------------------------------------------------------------- */
.cta-section {
  background:var(--cream-dark);
  padding:5rem 0; text-align:center;
  border-top:1px solid var(--border-dark);
}
.cta-section h2 { color:var(--text-heading); margin-bottom:1rem; }
.cta-section p  { color:var(--text-body); margin-bottom:2rem; max-width:500px; margin-left:auto; margin-right:auto; }

/* -----------------------------------------------------------------------
   Sobre
----------------------------------------------------------------------- */
.sobre__intro { padding:var(--section-py) 0; background:var(--white); }
.sobre__intro-inner {
  display:grid; grid-template-columns:1fr 1fr;
  gap:5rem; align-items:center;
}
.sobre__img-wrap { border-radius:var(--radius-lg); overflow:hidden; aspect-ratio:4/3; box-shadow:var(--shadow-lg); }
.sobre__img-wrap img { width:100%; height:100%; object-fit:cover; }
.sobre__text h2 { font-size:clamp(1.6rem,3vw,2.2rem); margin-bottom:1rem; }
.sobre__text p  { color:var(--text-body); line-height:1.75; margin-bottom:1rem; }

.sobre__valores { padding:var(--section-py) 0; background:var(--cream); }
.valores-grid {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:1.25rem; margin-top:3rem;
}
.valor-card {
  background:var(--white); border-radius:var(--radius-lg);
  padding:2rem; border:1.5px solid var(--border);
  transition:box-shadow var(--transition), transform var(--transition);
}
.valor-card:hover { box-shadow:var(--shadow-md); transform:translateY(-3px); }
.valor-card__icon {
  width:48px; height:48px; border-radius:var(--radius-md);
  background:var(--navy);
  display:flex; align-items:center; justify-content:center;
  margin-bottom:1.25rem; color:var(--white);
}
.valor-card__icon i { font-size:20px; }
.valor-card__title { font-size:1rem; font-weight:700; color:var(--text-heading); margin-bottom:.6rem; }
.valor-card__text  { font-size:.875rem; color:var(--text-body); line-height:1.7; }

.sobre__team { padding:var(--section-py) 0; background:var(--white); }
.team-card { display:flex; gap:3rem; align-items:flex-start; max-width:860px; }
.team-card__avatar {
  width:110px; height:110px; border-radius:50%;
  background:var(--navy);
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
  border:4px solid var(--cream); box-shadow:var(--shadow-md); color:rgba(255,255,255,.4);
}
.team-card__avatar i { font-size:50px; }
.team-card__name  { font-size:1.5rem; margin-bottom:.3rem; }
.team-card__role  { font-size:.82rem; color:var(--gold); font-weight:700; text-transform:uppercase; letter-spacing:.08em; margin-bottom:1rem; }
.team-card__bio   { font-size:.95rem; color:var(--text-body); line-height:1.75; max-width:600px; }
.team-card__links { display:flex; gap:.75rem; margin-top:1.25rem; flex-wrap:wrap; }
.team-card__link  {
  display:flex; align-items:center; gap:.5rem;
  padding:.5rem 1rem;
  border:1.5px solid var(--border); border-radius:var(--radius-pill);
  font-size:.78rem; font-weight:600; color:var(--text-body);
  transition:border-color var(--transition), color var(--transition);
}
.team-card__link:hover { border-color:var(--navy); color:var(--navy); }
.team-card__link i { font-size:14px; }

@media (max-width:860px) {
  .sobre__intro-inner { grid-template-columns:1fr; gap:2.5rem; }
  .sobre__intro-inner > div { width:100%; }
  .valores-grid       { grid-template-columns:1fr 1fr; }
  .team-card          { flex-direction:column; align-items:center; text-align:center; }
  .team-card__links   { justify-content:center; }
}
@media (max-width:560px) { .valores-grid { grid-template-columns:1fr; } }

/* -----------------------------------------------------------------------
   Serviços (página)
----------------------------------------------------------------------- */
.servicos__intro { padding:var(--section-py) 0; background:var(--white); }
.servicos__grid  {
  display:grid; grid-template-columns:1fr 1fr;
  gap:2.5rem; margin-top:3rem;
}
.servico-item {
  background:var(--cream); border-radius:var(--radius-lg);
  overflow:hidden; border:1.5px solid var(--border);
  transition:box-shadow var(--transition), transform var(--transition);
}
.servico-item:hover { box-shadow:var(--shadow-lg); transform:translateY(-4px); }
.servico-item__img { aspect-ratio:16/7; overflow:hidden; position:relative; }
.servico-item__img::after {
  content: '';
  position: absolute;
  inset: 0;
  /* background: rgba(184, 148, 80, 0.35); */
  background: rgba(28, 41, 81, 0.35);
}
.servico-item__img img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.servico-item:hover .servico-item__img img { transform:scale(1.04); }
.servico-item__body { padding:2rem; }
.servico-item__num  {
  font-family:var(--font-heading); font-size:2.5rem;
  font-weight:700; color:var(--gold); opacity:.2; line-height:1; margin-bottom:.5rem;
}
.servico-item__title { font-size:1.2rem; font-weight:700; color:var(--text-heading); margin-bottom:.75rem; }
.servico-item__text  { font-size:.9rem; color:var(--text-body); line-height:1.75; margin-bottom:1.25rem; }
.servico-item__list  { display:flex; flex-direction:column; gap:.5rem; }
.servico-item__list li {
  display:flex; align-items:flex-start; gap:.65rem;
  font-size:.875rem; color:var(--text-body);
}
.servico-item__list li i { color:var(--gold); font-size:13px; flex-shrink:0; margin-top:3px; }
@media (max-width:860px) { .servicos__grid { grid-template-columns:1fr; } }

/* -----------------------------------------------------------------------
   Links Úteis — CORRIGIDO mobile
----------------------------------------------------------------------- */
.links-uteis__section { padding:var(--section-py) 0; }
.links-uteis__section:nth-child(odd)  { background:var(--white); }
.links-uteis__section:nth-child(even) { background:var(--cream); }

.links-uteis__section-title { font-size:clamp(1.4rem,2.5vw,1.85rem); margin-bottom:.5rem; }
.links-uteis__section-desc  { font-size:.95rem; color:var(--text-body); margin-bottom:2.5rem; }

.links-uteis__cards {
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(240px,1fr));
  gap:1rem;
}

.link-card {
  display:flex; align-items:center; gap:.9rem;
  padding:1rem 1.25rem;
  background:var(--white);
  border:1.5px solid var(--border);
  border-radius:var(--radius-md);
  overflow:hidden;          /* prevents overflow */
  min-width:0;              /* allows flex children to shrink */
  transition:border-color var(--transition), box-shadow var(--transition), transform var(--transition);
}
.links-uteis__section:nth-child(even) .link-card { background:var(--white); }
.link-card:hover { border-color:var(--gold); box-shadow:var(--shadow-md); transform:translateY(-2px); }

.link-card__logo {
  width:40px; height:40px; border-radius:var(--radius-sm);
  overflow:hidden; flex-shrink:0;
  border:1px solid var(--border);
  display:flex; align-items:center; justify-content:center;
  background:var(--white);
}
.link-card__logo img { width:100%; height:100%; object-fit:contain; }

.link-card__info {
  flex:1; min-width:0;  /* critical: allows text to shrink */
  overflow:hidden;
}
.link-card__title {
  font-size:.9rem; font-weight:700; color:var(--text-heading);
  margin-bottom:.1rem;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.link-card__url {
  font-size:.72rem; color:var(--text-muted);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}

.link-card__arrow { margin-left:auto; flex-shrink:0; color:var(--text-muted); transition:color var(--transition), transform var(--transition); }
.link-card:hover .link-card__arrow { color:var(--gold); transform:translateX(3px); }
.link-card__arrow i { font-size:13px; }

@media (max-width:560px) {
  .links-uteis__cards { grid-template-columns:1fr; }
}

/* -----------------------------------------------------------------------
   Contato (página)
----------------------------------------------------------------------- */
.contato-section { padding:var(--section-py) 0; background:var(--white); }

.contato-layout {
  display:grid; grid-template-columns:1fr 1.5fr;
  gap:4rem; align-items:start;
}

.contato-info {
  background:var(--navy); border-radius:var(--radius-lg);
  padding:2.5rem; color:var(--white);
}
.contato-info h2   { color:var(--white); font-size:1.5rem; margin-bottom:.75rem; }
.contato-info > p  { font-size:.9rem; color:rgba(255,255,255,.6); line-height:1.7; margin-bottom:2rem; }
.text-gold         { color:var(--gold-light); }

.contato-info__list { display:flex; flex-direction:column; }
.contato-info__item {
  display:flex; align-items:flex-start; gap:1rem;
  padding:1rem 0; border-bottom:1px solid rgba(255,255,255,.08);
}
.contato-info__item:last-child { border-bottom:none; }
.contato-info__icon {
  width:40px; height:40px; background:rgba(255,255,255,.08);
  border-radius:var(--radius-md);
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
  color:var(--gold-light);
}
.contato-info__icon i { font-size:18px; }
.contato-info__content { display:flex; flex-direction:column; min-width:0; }
.contato-info__content strong {
  font-size:.7rem; font-weight:700; text-transform:uppercase;
  letter-spacing:.07em; color:rgba(255,255,255,.4); margin-bottom:.2rem;
}
.contato-info__content a,
.contato-info__content span {
  font-size:.92rem; color:rgba(255,255,255,.9);
  transition:color var(--transition); word-break:break-word;
}
.contato-info__content a:hover { color:var(--gold-light); }

.contato-info__social { margin-top:1.75rem; padding-top:1.75rem; border-top:1px solid rgba(255,255,255,.1); }
.contato-info__social-label {
  font-size:.7rem; font-weight:700; text-transform:uppercase;
  letter-spacing:.08em; color:rgba(255,255,255,.4); margin-bottom:1rem;
}
.contato-info__social-links { display:flex; gap:.65rem; flex-wrap:wrap; }
.social-pill {
  display:flex; align-items:center; gap:.5rem;
  padding:.45rem .9rem;
  border:1px solid rgba(255,255,255,.15); border-radius:var(--radius-pill);
  font-size:.75rem; font-weight:600; color:rgba(255,255,255,.8);
  transition:border-color var(--transition), color var(--transition), background var(--transition);
}
.social-pill:hover { border-color:var(--gold); color:var(--gold-light); background:rgba(184,148,80,.1); }
.social-pill i { font-size:14px; }

.contato-info__whatsapp { margin-top:1.5rem; }
.btn--whatsapp {
  display:inline-flex; align-items:center; justify-content:center; gap:.6rem;
  padding:.8rem 1.5rem; background:#25D366; color:var(--white);
  border:none; border-radius:var(--radius-pill);
  font-family:var(--font-body); font-size:.875rem; font-weight:700;
  letter-spacing:.04em; text-transform:uppercase;
  cursor:pointer; transition:background var(--transition), transform var(--transition);
  text-decoration:none;
}
.btn--whatsapp:hover { background:#1ebe59; transform:translateY(-2px); }
.btn--full { width:100%; }

.contato-form-wrapper {
  background:var(--cream); border-radius:var(--radius-lg);
  padding:2.5rem; border:1.5px solid var(--border);
}
.form-header          { margin-bottom:2rem; }
.form-header h3       { font-size:1.3rem; margin-bottom:.35rem; }
.form-header p        { font-size:.875rem; color:var(--text-muted); }
.form-grid            { display:grid; grid-template-columns:1fr 1fr; gap:0 1rem; }
.form-required        { color:#e53e3e; margin-left:.1rem; }
.form-honeypot        { position:absolute; left:-9999px; width:1px; height:1px; opacity:0; pointer-events:none; }

.contato-form .form-label  {
  display:block; font-size:.78rem; font-weight:700;
  text-transform:uppercase; letter-spacing:.05em;
  color:var(--text-muted); margin-bottom:.4rem;
}
.contato-form .form-input {
  width:100%; padding:.75rem 1rem;
  border:1.5px solid var(--border); border-radius:var(--radius-md);
  font-family:var(--font-body); font-size:.9rem;
  color:var(--text-heading); background:var(--white);
  transition:border-color var(--transition), box-shadow var(--transition); outline:none;
}
.contato-form .form-input:focus       { border-color:var(--navy); box-shadow:0 0 0 3px rgba(28,41,81,.08); }
.contato-form .form-input.is-invalid  { border-color:#e53e3e; }
.contato-form .form-input::placeholder { color:var(--text-muted); }
.contato-form .form-textarea { resize:vertical; min-height:130px; }

.form-status {
  padding:.875rem 1rem; border-radius:var(--radius-md);
  font-size:.875rem; font-weight:600; margin-bottom:1rem; display:none;
}
.form-status.success { background:rgba(72,187,120,.1); color:#276749; border:1px solid rgba(72,187,120,.3); display:block; }
.form-status.error   { background:rgba(229,62,62,.08);  color:#c53030; border:1px solid rgba(229,62,62,.2);  display:block; }

.btn--primary {
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  padding:.8rem 1.75rem; background:var(--navy); color:var(--white);
  border:2px solid var(--navy); border-radius:var(--radius-pill);
  font-family:var(--font-body); font-size:.875rem; font-weight:700;
  letter-spacing:.04em; text-transform:uppercase; cursor:pointer;
  transition:background var(--transition), transform var(--transition);
}
.btn--primary:hover    { background:var(--navy-mid); border-color:var(--navy-mid); transform:translateY(-2px); }
.btn--primary:disabled { opacity:.65; cursor:not-allowed; transform:none; }

@media (max-width:900px) {
  .contato-layout { grid-template-columns:1fr; gap:2.5rem; }
  .form-grid      { grid-template-columns:1fr; }
}
@media (max-width:560px) {
  .contato-form-wrapper { padding:1.5rem; }
  .contato-info         { padding:1.5rem; }
}
