.contact-page{background:#eef2f7;color:#111827}.contact-page main{overflow:hidden}.contact-hero-premium{--contact-hero-image:url('/assets/images/workshop-hero.webp');position:relative;min-height:600px;display:flex;align-items:center;background-image:var(--contact-hero-image);background-position:center;background-size:cover;background-repeat:no-repeat;isolation:isolate;overflow:hidden}.contact-hero-overlay{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(6,9,15,.78) 0%,rgba(6,9,15,.61) 32%,rgba(6,9,15,.38) 55%,rgba(6,9,15,.17) 76%,rgba(6,9,15,.05) 100%),linear-gradient(180deg,rgba(6,9,15,.06),rgba(6,9,15,.30))}.contact-hero-premium::after{content:"";position:absolute;left:0;right:0;bottom:0;height:120px;z-index:-1;background:linear-gradient(180deg,transparent,rgba(238,242,247,.98));pointer-events:none}.contact-hero-inner{width:min(1160px,calc(100% - 40px));max-width:1160px;margin:0 auto;padding:120px 0 108px}.contact-hero-copy{width:min(720px,100%);text-shadow:0 3px 18px rgba(0,0,0,.42)}.contact-eyebrow,.contact-section-kicker{margin:0 0 16px;color:#5f8ff7;font-size:.78rem;line-height:1.4;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.contact-hero-premium h1{max-width:760px;margin:0;color:#fff;font-size:clamp(3rem,5.5vw,5.35rem);line-height:.98;letter-spacing:-.055em;text-wrap:balance}.contact-hero-lead{max-width:660px;margin:24px 0 0;color:rgba(255,255,255,.90);font-size:clamp(1rem,1.35vw,1.22rem);line-height:1.75}.contact-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.contact-page .btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:10px;padding:13px 18px;font-weight:800;line-height:1.2;text-decoration:none;transition:transform .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease}.contact-btn-primary{background:#fff;color:#111827;border:1px solid #fff;box-shadow:0 12px 30px rgba(0,0,0,.18)}.contact-btn-primary:hover{transform:translateY(-2px);background:#f2f5fa;box-shadow:0 16px 34px rgba(0,0,0,.24)}.contact-btn-secondary{background:rgba(12,16,23,.42);color:#fff;border:1px solid rgba(255,255,255,.38);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.contact-btn-secondary:hover{transform:translateY(-2px);background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.55)}.contact-content-section{padding:0 0 88px;background:radial-gradient(circle at 12% 0%,rgba(47,124,255,.10),transparent 35%),linear-gradient(180deg,#eef2f7 0%,#f8fafc 100%)}.contact-main-grid{display:grid;grid-template-columns:minmax(0,1.38fr) minmax(340px,.82fr);gap:24px;align-items:start}.contact-form-premium,.contact-info-premium,.contact-trust-card{border:1px solid #d7dee8;box-shadow:0 22px 70px rgba(25,39,61,.10)}.contact-form-premium{display:grid;gap:17px;border-radius:24px;padding:clamp(30px,4vw,54px);background:rgba(255,255,255,.94)}.contact-form-heading{margin-bottom:8px}.contact-form-heading h2{margin:0;color:#111827;font-size:clamp(2rem,3.2vw,3.35rem);line-height:1.08;letter-spacing:-.04em}.contact-form-heading>p:last-child{max-width:700px;margin:14px 0 0;color:#667286;line-height:1.7}.contact-form-premium label{display:grid;gap:8px;color:#242933;font-weight:900}.contact-form-premium input,.contact-form-premium textarea,.contact-form-premium select{width:100%;min-height:52px;border:1px solid #d7dce4;border-radius:10px;padding:14px 15px;color:#111827;background:#f8f9fb;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.contact-form-premium textarea{min-height:150px;resize:vertical}.contact-form-premium input:focus,.contact-form-premium textarea:focus,.contact-form-premium select:focus{outline:none;border-color:#39465a;background:#fff;box-shadow:0 0 0 4px rgba(57,70,90,.11)}.contact-form-premium .form-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.contact-btn-dark{color:#fff;background:#111827;border:1px solid #111827;box-shadow:0 16px 34px rgba(12,15,20,.18)}.contact-btn-dark:hover{transform:translateY(-2px);background:#252b35}.contact-btn-light{color:#111827;background:#fff;border:1px solid #cfd7e4}.contact-btn-light:hover{transform:translateY(-2px);background:#f0f2f5}.contact-form-premium .form-note{margin:0;color:#69717d;font-size:.92rem}.contact-form-premium .form-status{min-height:26px;margin:-2px 0 0;color:#69717d;font-size:.94rem;font-weight:800}.contact-info-premium{position:sticky;top:128px;overflow:hidden;border-radius:24px;padding:clamp(28px,3vw,42px);color:#fff;background:linear-gradient(160deg,#172033,#111827);border-color:rgba(255,255,255,.08);box-shadow:0 22px 70px rgba(15,23,42,.18)}.contact-info-premium::after{content:"";position:absolute;width:260px;height:260px;right:-130px;top:-120px;border:1px solid rgba(255,255,255,.10);border-radius:50%;box-shadow:0 0 0 42px rgba(255,255,255,.035),0 0 0 84px rgba(255,255,255,.022);pointer-events:none}.contact-info-premium>*{position:relative;z-index:1}.contact-info-premium h2{margin:0;color:#fff;font-size:clamp(1.9rem,3vw,2.7rem);line-height:1.1;letter-spacing:-.035em}.contact-info-intro{margin:15px 0 24px;color:rgba(255,255,255,.68);line-height:1.7}.contact-methods-premium{display:grid;gap:12px}.contact-methods-premium>div{display:grid;grid-template-columns:34px 1fr;gap:10px 14px;padding:18px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.075);backdrop-filter:blur(8px);transition:background .2s ease,transform .2s ease,border-color .2s ease}.contact-methods-premium>div:hover{transform:translateY(-2px);background:rgba(255,255,255,.105);border-color:rgba(255,255,255,.20)}.contact-methods-premium svg{grid-row:span 2;color:#e8edf5}.contact-methods-premium h3{margin:0;color:#fff;font-size:1.05rem}.contact-methods-premium p{margin:0;color:#d4dbe6;line-height:1.65}.contact-methods-premium .hours-line{display:flex;align-items:baseline;justify-content:space-between;gap:12px;width:100%;margin:0 0 8px;white-space:nowrap}.contact-methods-premium .hours-line:last-child{margin-bottom:0}.contact-methods-premium .hours-day-label{flex:0 0 auto;white-space:nowrap}.contact-methods-premium .hours-time{flex:0 0 auto;margin-left:auto;text-align:right;white-space:nowrap}.contact-quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.contact-btn-white{color:#111827;background:#fff;border:1px solid #fff}.contact-btn-white:hover{transform:translateY(-2px);background:#f2f5fa}.contact-btn-glass{color:#fff;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.24)}.contact-btn-glass:hover{transform:translateY(-2px);background:rgba(255,255,255,.16)}.contact-trust-section{padding:0 0 96px;background:#f8fafc}.contact-trust-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.contact-trust-card{min-height:205px;border-radius:20px;padding:30px;background:#fff;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.contact-trust-card:hover{transform:translateY(-6px);border-color:rgba(47,124,255,.35);box-shadow:0 26px 70px rgba(25,39,61,.14)}.contact-trust-card>svg{width:31px;height:31px;margin-bottom:22px;color:#2f7cff}.contact-trust-card h3{margin:0 0 12px;color:#111827;font-size:1.2rem}.contact-trust-card p{margin:0;color:#687386;line-height:1.65}.contact-page .footer{margin-top:0}@media(max-width:1050px){.contact-main-grid{grid-template-columns:1fr}.contact-info-premium{position:static}.contact-trust-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.contact-hero-premium{min-height:590px;background-position:62% center}.contact-hero-overlay{background:linear-gradient(90deg,rgba(6,9,15,.90) 0%,rgba(6,9,15,.72) 55%,rgba(6,9,15,.45) 100%),linear-gradient(180deg,rgba(6,9,15,.10),rgba(6,9,15,.42))}.contact-hero-inner{max-width:100%;padding:118px 22px 90px}.contact-hero-copy{width:100%;max-width:620px}.contact-hero-premium h1{max-width:100%;font-size:clamp(2.7rem,14vw,4.4rem)}.contact-hero-lead{max-width:100%}.contact-hero-actions{display:grid;grid-template-columns:1fr}.contact-hero-actions .btn{width:100%}.contact-form-premium{padding:28px 22px}.form-row{grid-template-columns:1fr}.contact-form-premium .form-actions{display:grid;grid-template-columns:1fr}.contact-form-premium .form-actions .btn{width:100%}.contact-methods-premium .hours-line{flex-wrap:wrap;white-space:normal}.contact-methods-premium .hours-time{margin-left:0;text-align:left;white-space:normal}.contact-quick-actions{grid-template-columns:1fr}.contact-trust-grid{grid-template-columns:1fr}.contact-trust-card{min-height:0}}

/* =========================================================
   AJUSTE FINAL DE LARGURA — PÁGINA CONTATO
   ========================================================= */

.contact-content-section{
    padding:0 24px 88px;
}

.contact-main-grid{
    display:grid;
    grid-template-columns:minmax(0,1.35fr) minmax(350px,.65fr);
    gap:24px;
    align-items:start;

    width:100%;
    max-width:1120px;
    margin:0 auto;
}

.contact-form-premium,
.contact-info-premium{
    width:100%;
    min-width:0;
    box-sizing:border-box;
}

/* Mantém o formulário com duas colunas */
.contact-form-premium .form-row{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}

/* Card de informações */
.contact-info-premium{
    position:sticky;
    top:128px;
    overflow:hidden;
}

/* Evita que textos internos aumentem a largura do card */
.contact-methods-premium,
.contact-methods-premium > div{
    width:100%;
    min-width:0;
    box-sizing:border-box;
}

/* Horários alinhados sem ultrapassar o card */
.contact-methods-premium .hours-line{
    display:grid;
    grid-template-columns:minmax(130px,1fr) minmax(0,auto);
    align-items:baseline;
    gap:10px 14px;

    width:100%;
    min-width:0;
    margin:0 0 9px;
}

.contact-methods-premium .hours-line:last-child{
    margin-bottom:0;
}

.contact-methods-premium .hours-day-label{
    min-width:0;
    font-weight:800;
    white-space:normal;
}

.contact-methods-premium .hours-time{
    min-width:0;
    margin:0;
    text-align:right;
    white-space:normal;
}

/* Impede rolagem horizontal */
.contact-page,
.contact-page main{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
}

/* =========================================================
   TABLET
   ========================================================= */

@media(max-width:1050px){

    .contact-content-section{
        padding-right:22px;
        padding-left:22px;
    }

    .contact-main-grid{
        grid-template-columns:1fr;
        max-width:820px;
    }

    .contact-info-premium{
        position:static;
    }
}

/* =========================================================
   CELULAR
   ========================================================= */

@media(max-width:760px){

    .contact-content-section{
        padding-right:16px;
        padding-left:16px;
    }

    .contact-main-grid{
        max-width:100%;
        gap:18px;
    }

    .contact-form-premium .form-row{
        grid-template-columns:1fr;
    }

    .contact-methods-premium .hours-line{
        grid-template-columns:1fr;
        gap:3px;
    }

    .contact-methods-premium .hours-time{
        text-align:left;
    }
}
/* Correção da página de contato: evita corte do card lateral. */

*,
*::before,
*::after {
  box-sizing: border-box;
}

.contact-page,
.contact-page main {
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
}

.contact-content-section {
  padding-right: clamp(16px, 3vw, 32px);
  padding-left: clamp(16px, 3vw, 32px);
}

.contact-main-grid {
  width: 100%;
  max-width: 1320px;
  margin-right: auto;
  margin-left: auto;
  grid-template-columns: minmax(0, 1.45fr) minmax(400px, .75fr);
}

.contact-form-premium,
.contact-info-premium,
.contact-methods-premium,
.contact-methods-premium > div,
.contact-methods-premium > div > *,
.contact-info-premium h2 {
  min-width: 0;
  max-width: 100%;
}

.contact-info-premium h2 {
  overflow-wrap: anywhere;
  text-wrap: balance;
}

.contact-methods-premium .hours-line {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px 14px;
  width: 100%;
  min-width: 0;
  white-space: normal;
}

.contact-methods-premium .hours-day-label,
.contact-methods-premium .hours-time {
  min-width: 0;
  white-space: normal;
}

.contact-methods-premium .hours-time {
  margin-left: 0;
  text-align: right;
}

@media (max-width: 1100px) {
  .contact-main-grid {
    max-width: 820px;
    grid-template-columns: minmax(0, 1fr);
  }

  .contact-info-premium {
    position: static;
  }
}

@media (max-width: 760px) {
  .contact-main-grid {
    max-width: 100%;
  }

  .contact-form-premium .form-row,
  .contact-methods-premium .hours-line {
    grid-template-columns: minmax(0, 1fr);
  }

  .contact-methods-premium .hours-time {
    text-align: left;
  }
}
