/* =========================================================
   POR DENTRO DO BAIRRO — CENTRAL DO CLIENTE
   CSS independente para futuras expansões da área do cliente.
   ========================================================= */

.client-center-trigger {
  width: auto;
  height: auto;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 0;

  border: 0;
  border-radius: 0;

  background: transparent;

  color: var(--accent, #09b3f2);

  font: inherit;
  font-size: 20px;

  cursor: pointer;

  transition:
    color var(--transition, 300ms ease),
    transform var(--transition, 300ms ease);
}

.client-center-trigger:hover,
.client-center-trigger[aria-expanded="true"] {
  background: transparent;
  color: var(--primary, #ef5350);

  transform: translateY(-2px);
}

.client-center-trigger:focus-visible {
  outline: 3px solid rgba(9,179,242,.35);
  outline-offset: 4px;
}


/* =========================================================
   BALÃO — CENTRAL DO CLIENTE
   ========================================================= */

.client-center-trigger {
  position: relative;
}


/* BALÃO */
.client-center-tooltip {
  position: absolute;

  top: calc(100% + 12px);
  left: 50%;

  transform:
    translateX(-50%)
    translateY(-4px);

  width: 105px;

  padding: 8px 7px;

  background: var(--dark, #121824);
  color: #ffffff;

  border-radius: 10px;

  font-size: 9.5px;
  font-weight: 600;
  line-height: 1.4;

  text-align: center;

  box-shadow:
    0 8px 20px rgba(0, 0, 0, .18);

  opacity: 0;
  visibility: hidden;

  pointer-events: none;

  z-index: 3000;

  transition:
    opacity 180ms ease,
    transform 180ms ease,
    visibility 0s linear 180ms;
}

.site-header {
  position: relative;
  z-index: 1200;
  overflow: visible !important;
}

.actions,
.socials {
  position: relative;
  z-index: 1201;
  overflow: visible !important;
}

.client-center-trigger {
  position: relative;
  z-index: 1202;
  overflow: visible !important;
}

.client-center-tooltip {
  z-index: 1300 !important;
}


/* Mantém o menu principal abaixo do balão */
nav.main-nav {
  position: relative;
  z-index: 100;
}

/* Clique Aqui */
.client-center-tooltip strong {
  color: var(--accent, #09b3f2);
  font-weight: 800;
}


/* PONTINHA DO BALÃO */
.client-center-tooltip::before {
  content: "";

  position: absolute;

  top: -6px;
  left: 50%;

  transform: translateX(-50%);

  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 7px solid var(--dark, #121824);
}


/* MOSTRAR BALÃO */
.client-center-trigger:hover
.client-center-tooltip,
.client-center-trigger:focus-visible
.client-center-tooltip {
  opacity: 1;
  visibility: visible;

  transform:
    translateX(-50%)
    translateY(0);

  transition:
    opacity 180ms ease,
    transform 180ms ease,
    visibility 0s linear 0s;
}

/* Pontinha do balão */
.client-center-trigger::before {
  content: "";

  position: absolute;

  top: calc(100% + 5px);
  left: 50%;

  transform: translateX(-50%);

  width: 0;
  height: 0;

  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 7px solid var(--dark, #121824);

  opacity: 0;
  visibility: hidden;

  z-index: 3001;

  transition:
    opacity 180ms ease,
    visibility 0s linear 180ms;
}


/* Mostrar o balão */
.client-center-trigger:hover::after,
.client-center-trigger:focus-visible::after {
  opacity: 1;
  visibility: visible;

  transform:
    translateX(-50%)
    translateY(0);

  transition:
    opacity 180ms ease,
    transform 180ms ease,
    visibility 0s linear 0s;
}


.client-center-trigger:hover::before,
.client-center-trigger:focus-visible::before {
  opacity: 1;
  visibility: visible;

  transition:
    opacity 180ms ease,
    visibility 0s linear 0s;
}


/* Setinha do tooltip */
.client-center-trigger::before {
  content: "";

  position: absolute;

  top: calc(100% + 6px);
  left: 50%;

  transform: translateX(-50%);

  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 6px solid var(--dark, #121824);

  opacity: 0;
  visibility: hidden;

  z-index: 3001;

  transition:
    opacity 180ms ease,
    visibility 0s linear 180ms;
}


/* Exibe ao passar o mouse */
.client-center-trigger:hover::after,
.client-center-trigger:focus-visible::after {
  opacity: 1;
  visibility: visible;

  transform:
    translateX(-50%)
    translateY(0);

  transition:
    opacity 180ms ease,
    transform 180ms ease,
    visibility 0s linear 0s;
}


.client-center-trigger:hover::before,
.client-center-trigger:focus-visible::before {
  opacity: 1;
  visibility: visible;

  transition:
    opacity 180ms ease,
    visibility 0s linear 0s;
}


body.client-center-open { overflow: hidden; }

.client-center-overlay {
  position: fixed;
  inset: 0;
  z-index: 5000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: rgba(18,24,36,.68);
  backdrop-filter: blur(8px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 240ms ease, visibility 0s linear 240ms;
}

.client-center-overlay.active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: opacity 240ms ease, visibility 0s linear 0s;
}

.client-center-dialog {
  position: relative;
  width: min(430px, 100%);
  max-height: calc(100vh - 40px);
  overflow-y: auto;
  padding: 30px;
  border: 1px solid #e2e8f0;
  border-radius: 20px;
  background: radial-gradient(circle at 100% 0%, rgba(9,179,242,.09), transparent 30%), #fff;
  box-shadow: 0 28px 70px rgba(0,0,0,.30);
  transform: translateY(18px) scale(.985);
  transition: transform 280ms cubic-bezier(.16,1,.3,1);
}

.client-center-overlay.active .client-center-dialog {
  transform: translateY(0) scale(1);
}

.client-center-close {
  position: absolute;
  top: 15px;
  right: 15px;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #f1f5f9;
  color: var(--dark, #121824);
  font-size: 15px;
  cursor: pointer;
  transition: background var(--transition, 300ms ease), color var(--transition, 300ms ease), transform var(--transition, 300ms ease);
}

.client-center-close:hover {
  background: var(--primary, #ef5350);
  color: #fff;
  transform: rotate(6deg);
}

.client-center-brand-icon {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  margin-bottom: 17px;
  border-radius: 16px;
  background: linear-gradient(135deg, var(--dark, #121824), #263247);
  color: #fff;
  font-size: 23px;
  box-shadow: 0 10px 24px rgba(18,24,36,.16);
}

.client-center-heading {
  padding-right: 28px;
  margin-bottom: 22px;
}

.client-center-heading > span {
  display: block;
  margin-bottom: 4px;
  color: var(--primary, #ef5350);
  font-size: 9.5px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .75px;
}

.client-center-heading h2 {
  margin: 0;
  color: var(--dark, #121824);
  font-size: 25px;
  line-height: 1.15;
  font-weight: 800;
  letter-spacing: -.4px;
}

.client-center-heading p {
  margin: 8px 0 0;
  color: var(--gray-text, #64748b);
  font-size: 12px;
  line-height: 1.65;
}

.client-center-form {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.client-center-field {
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.client-center-field label {
  color: var(--dark, #121824);
  font-size: 12px;
  font-weight: 800;
}

.client-center-input {
  min-height: 48px;
  display: grid;
  grid-template-columns: 44px minmax(0,1fr);
  align-items: center;
  border: 1px solid #cbd5e1;
  border-radius: 11px;
  background: #fff;
  overflow: hidden;
  transition: border-color var(--transition, 300ms ease), box-shadow var(--transition, 300ms ease);
}

.client-center-input:focus-within {
  border-color: var(--accent, #09b3f2);
  box-shadow: 0 0 0 3px rgba(9,179,242,.12);
}

.client-center-input-icon {
  height: 100%;
  display: grid;
  place-items: center;
  color: #94a3b8;
  border-right: 1px solid #e2e8f0;
  font-size: 14px;
}

.client-center-input input {
  width: 100%;
  padding: 13px;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--dark, #121824);
  font-family: inherit;
  font-size: 13px;
  font-weight: 600;
}

.client-center-input input::placeholder {
  color: #a8b2c1;
  font-weight: 500;
}

.client-center-password-input {
  grid-template-columns: 44px minmax(0,1fr) 44px;
}

.client-center-password-toggle {
  width: 44px;
  height: 100%;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  border-left: 1px solid #e2e8f0;
  background: #f8fafc;
  color: #64748b;
  font-size: 14px;
  cursor: pointer;
  transition: background var(--transition, 300ms ease), color var(--transition, 300ms ease);
}

.client-center-password-toggle:hover,
.client-center-password-toggle[aria-pressed="true"] {
  background: #eef8fc;
  color: var(--accent, #09b3f2);
}

.client-center-options {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: -2px;
}

.client-center-remember {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #64748b;
  font-size: 10.5px;
  font-weight: 700;
  cursor: pointer;
}

.client-center-remember input { accent-color: var(--primary, #ef5350); }

.client-center-forgot {
  color: var(--primary, #ef5350);
  font-size: 10.5px;
  font-weight: 800;
  text-decoration: none;
}

.client-center-forgot:hover { text-decoration: underline; }

.client-center-submit {
  min-height: 47px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 2px;
  padding: 11px 16px;
  border: 1px solid var(--primary, #ef5350);
  border-radius: 10px;
  background: var(--primary, #ef5350);
  color: #fff;
  font-family: inherit;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
  transition: background var(--transition, 300ms ease), border-color var(--transition, 300ms ease), transform var(--transition, 300ms ease), box-shadow var(--transition, 300ms ease);
}

.client-center-submit:hover {
  background: var(--primary-hover, #d32f2f);
  border-color: var(--primary-hover, #d32f2f);
  transform: translateY(-2px);
  box-shadow: 0 9px 20px rgba(239,83,80,.20);
}

.client-center-note {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 6px;
  margin: 2px 0 0;
  color: #94a3b8;
  text-align: center;
  font-size: 9.5px;
  line-height: 1.5;
  font-weight: 600;
}

.client-center-note i {
  margin-top: 2px;
  color: #16a34a;
}

@media (max-width: 600px) {

  .client-center-trigger {
    width: 32px;
    height: 32px;

    flex-basis: 32px;

    font-size: 15px;
  }


  /* Central do Cliente centralizada também no celular */
  .client-center-overlay {
    align-items: center;
    justify-content: center;

    min-height: 100vh;
    min-height: 100dvh;

    padding: 16px;
  }


  .client-center-dialog {
    width: min(430px, 100%);

    max-height: calc(100dvh - 32px);

    padding: 26px 20px 22px;

    border-radius: 18px;

    margin: auto;

    overflow-y: auto;
  }


  .client-center-brand-icon {
    width: 52px;
    height: 52px;

    font-size: 21px;
  }


  .client-center-heading h2 {
    font-size: 22px;
  }


  .client-center-options {
    align-items: flex-start;
  }

}
