/* Estilos exclusivos da pagina de contacto. */
.contact-hero{min-height:42vh}
.contact-hero .wrap{padding-top:118px;padding-bottom:42px}
.contact-hero h1{font-size:clamp(29px,3.4vw,44px);max-width:22ch}
.contact-hero .lede{font-size:clamp(15px,1.15vw,17px);line-height:1.55;
  max-width:56ch;margin-top:14px}

.contact-section{padding-block:clamp(44px,5.5vw,76px)}
.contact-page-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;
  gap:clamp(24px,4vw,42px);align-items:start}
.contact-page-grid > *,
.contact-form,
.contact-list,
.contact-list .info-item,
.contact-side-head{min-width:0}
.contact-main .h-2{font-size:clamp(24px,2.4vw,34px);margin:10px 0 10px}
.contact-copy{color:var(--ink-700);font-size:15.5px;line-height:1.62;
  margin-bottom:18px;max-width:620px}
.contact-badges{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.contact-badges span{display:inline-flex;align-items:center;border:1px solid var(--ink-200);
  background:var(--paper-alt);border-radius:999px;padding:7px 11px;
  font-size:12.5px;font-weight:600;color:var(--ink-700)}
.contact-alert{border-radius:8px;padding:12px 14px;margin:0 0 16px;
  font-size:14px;font-weight:600;line-height:1.45}
.contact-alert-ok{background:#e9f9ef;color:#17683a;border:1px solid #bfead0}
.contact-alert-erro{background:#fdecec;color:#9f173a;border:1px solid #f3c4cd}

.contact-form{display:flex;flex-direction:column;background:var(--paper);
  border:1px solid var(--ink-200);border-radius:10px;padding:24px;gap:14px;
  max-width:780px;box-shadow:var(--shadow-md)}
.contact-form .form-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:14px}
.contact-form .field{display:flex;flex-direction:column;gap:6px;min-width:0}
.contact-form .field label{font-size:13px;font-weight:600;color:var(--ink-800)}
.contact-form .field input,
.contact-form .field select,
.contact-form .field textarea{display:block;width:100%;min-width:0;
  font-family:inherit;font-size:14.5px;color:var(--ink-900);background:#fff;
  border:1px solid var(--ink-300);border-radius:8px;padding:11px 12px;
  line-height:1.45;box-shadow:none;appearance:none;
  transition:border-color .2s,box-shadow .2s,background .2s}
.contact-form .field select{background-image:linear-gradient(45deg,transparent 50%,var(--ink-600) 50%),
  linear-gradient(135deg,var(--ink-600) 50%,transparent 50%);
  background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;
  background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:34px}
.contact-form .field textarea{min-height:116px;resize:vertical}
.contact-form .field input:focus,
.contact-form .field select:focus,
.contact-form .field textarea:focus{outline:none;border-color:var(--brand);
  box-shadow:0 0 0 3px rgba(177,31,69,.12)}
.contact-form .field input::placeholder,
.contact-form .field textarea::placeholder{color:var(--ink-500)}
.contact-form .form-note{font-size:12.5px;color:var(--ink-500);line-height:1.5;margin:0}
.contact-submit{width:100%;padding:14px 22px}

.contact-side{position:sticky;top:98px}
.contact-side-head{background:var(--paper-deep);color:#fff;border-radius:10px 10px 0 0;
  padding:20px 20px 18px}
.contact-side-head h3{color:#fff;font-size:19px;margin-bottom:6px}
.contact-side-head p{color:rgba(255,255,255,.72);font-size:13.5px;line-height:1.5}
.contact-list{gap:10px;max-width:620px}
.contact-side-head + .contact-list{border:1px solid var(--ink-200);border-top:0;
  border-radius:0 0 10px 10px;padding:10px;background:var(--paper-alt)}
.contact-list .info-item{gap:12px;border-radius:8px;padding:14px 16px;align-items:flex-start}
.contact-list .info-item h4{font-size:13.5px;margin-bottom:1px}
.contact-list .info-item p,
.contact-list .info-item a{font-size:13.5px;line-height:1.45;overflow-wrap:anywhere}
.contact-list .ic-wrap{width:38px;height:38px;border-radius:10px}
.contact-list .ic-wrap svg{width:18px;height:18px}
.contact-whatsapp{background:#e9f9ef;border-color:#bfead0}
.contact-whatsapp .ic-wrap{background:#25D366;color:#fff}

.contact-cta .wrap{padding-block:clamp(48px,6vw,80px)}
.contact-cta .h-1{font-size:clamp(28px,3.4vw,42px)}
.contact-cta .lede{font-size:clamp(15px,1.2vw,17px);margin:16px auto 24px;
  line-height:1.55}
.contact-cta-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.contact-cta .btn-lg{padding:14px 24px;font-size:14.5px}
.contact-cta-mail{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.6)}

@media (max-width:900px){
  .contact-page-grid{grid-template-columns:1fr;gap:24px}
  .contact-side{position:static}
  .contact-hero .wrap{padding-top:108px;padding-bottom:36px}
  .contact-section{padding-block:42px}
  .contact-form{max-width:none}
  .contact-form .form-row{grid-template-columns:1fr}
  .contact-side-head + .contact-list{max-width:none}
}

@media (max-width:560px){
  .contact-hero{min-height:0}
  .contact-hero h1{font-size:30px}
  .contact-hero .lede{font-size:15px}
  .contact-form{padding:18px;border-radius:8px}
  .contact-list{gap:8px}
  .contact-side-head{padding:18px 16px 16px;border-radius:8px 8px 0 0}
  .contact-side-head h3{font-size:18px}
  .contact-side-head + .contact-list{padding:8px;border-radius:0 0 8px 8px}
  .contact-list .info-item{padding:13px 12px;gap:10px}
  .contact-list .ic-wrap{width:34px;height:34px;border-radius:9px}
  .contact-badges span{width:100%;justify-content:center}
  .contact-cta .btn-lg{width:100%;padding-inline:18px}
}
