.elementor-kit-7{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-color-7306fe7:#72A9DF;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1100px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:540px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* =========================================================
   GPL Advogados | CSS global do site
   Local: Elementor > Configurações do site > CSS personalizado
   Regra: só classes (nunca IDs de elemento).
   ========================================================= */

/* ---------- 1. Tokens ---------- */
:root {
  --gpl-ink: #111b2b;
  --gpl-navy: #152a47;
  --gpl-blue: #2d5f9d;
  --gpl-sky: #72a9df;
  --gpl-paper: #f3f0e9;
  --gpl-line: #d9dde2;
  --gpl-ease: cubic-bezier(.2, .7, .2, 1);
}

/* ---------- 2. Base ---------- */
html { scroll-behavior: smooth; }
body { overflow-x: hidden; }
.elementor-widget-text-editor p:last-child { margin-bottom: 0; }

/* ---------- 3. Rótulo de seção (.gpl-label) ---------- */
.gpl-label .elementor-heading-title {
  display: flex;
  align-items: center;
  gap: 12px;
}
.gpl-label .elementor-heading-title::before {
  content: "";
  display: block;
  flex: 0 0 10px;
  width: 10px;
  height: 25px;
  background: linear-gradient(90deg, var(--gpl-blue) 0 2px, transparent 2px 7px, var(--gpl-sky) 7px 9px, transparent 9px);
}

/* ---------- 4. Link sublinhado (.gpl-link / .gpl-link-light) ---------- */
.gpl-link .elementor-button {
  padding: 0 0 8px !important;
  border-bottom: 1px solid rgba(17, 27, 43, .35) !important;
}
.gpl-link-light .elementor-button { border-color: rgba(255, 255, 255, .45) !important; }

/* ---------- 5. Linhas interativas ---------- */
.gpl-area-row,
.gpl-person-row,
.gpl-principle,
.gpl-service-section {
  position: relative;
  overflow: hidden;
  transition: background-color .28s ease, padding .28s ease, transform .28s var(--gpl-ease);
}
.gpl-area-row,
.gpl-person-row { cursor: pointer; }

.gpl-area-row .elementor-button,
.gpl-person-row .elementor-button { transition: transform .25s ease !important; }

/* 5a. Áreas de atuação (.gpl-area-row): faixa azul que entra da esquerda */
.gpl-area-row::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(114, 169, 223, .075);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .35s var(--gpl-ease);
  pointer-events: none;
}
.gpl-area-row > * { position: relative; z-index: 1; }
.gpl-area-row:is(:hover, :focus-within) {
  padding-right: 20px !important;
  padding-left: 20px !important;
}
.gpl-area-row:is(:hover, :focus-within)::before { transform: scaleX(1); }
.gpl-area-row:is(:hover, :focus-within) .elementor-button { transform: translateX(6px); }

/* 5b. Advogados (.gpl-person-row) */
.gpl-person-row:is(:hover, :focus-within) {
  padding-right: 18px !important;
  padding-left: 18px !important;
  background: rgba(45, 95, 157, .075);
  transform: translateX(6px);
}
.gpl-person-row:is(:hover, :focus-within) .elementor-button { transform: translateX(5px); }

/* 5c. Princípios (.gpl-principle) */
.gpl-principle:hover {
  padding-right: 18px !important;
  padding-left: 18px !important;
  background: rgba(45, 95, 157, .055);
  transform: translateX(6px);
}

/* ---------- 6. Hero ---------- */
.gpl-hero-title em {
  color: #a9c9e9;
  font-weight: 400;
  font-style: italic;
}
.gpl-home-hero { position: relative; }
.gpl-home-hero::after,
.gpl-inner-hero::after {
  content: "";
  position: absolute;
  inset: -22% -5%;
  z-index: 1;
  pointer-events: none;
  background: repeating-linear-gradient(62deg, transparent 0 22%, rgba(114, 169, 223, .18) 22% calc(22% + 1px), transparent calc(22% + 1px) 44%);
  opacity: .46;
}
.gpl-home-hero > .e-con-inner,
.gpl-home-hero > .elementor-element,
.gpl-inner-hero > .e-con-inner,
.gpl-inner-hero > .elementor-element {
  position: relative;
  z-index: 2;
}
/* Rótulos "SÃO PAULO / PARÁ" quando o hero não tem o widget de localidades */
.gpl-home-hero:not(:has(.gpl-hero-locations))::before,
.gpl-home-hero:not(:has(.gpl-hero-locations))::after {
  position: absolute;
  z-index: 3;
  bottom: 20px;
  color: rgba(255, 255, 255, .78);
  font: 700 10px/1 "Helvetica Neue", Arial, sans-serif;
  letter-spacing: .2em;
  text-transform: uppercase;
  text-shadow: 0 2px 12px rgba(4, 13, 25, .8);
}
.gpl-home-hero:not(:has(.gpl-hero-locations))::before {
  content: "SÃO PAULO";
  left: max(18px, calc((100% - 1280px) / 2 + 48px));
}
.gpl-home-hero:not(:has(.gpl-hero-locations))::after {
  content: "PARÁ";
  right: max(18px, calc((100% - 1280px) / 2 + 48px));
}
.gpl-hero-locations { text-shadow: 0 2px 12px rgba(4, 13, 25, .8); }

/* ---------- 7. Blocos de conteúdo ---------- */
.gpl-about-quote { box-shadow: 0 28px 70px rgba(17, 27, 43, .17); }

.gpl-office-image {
  overflow: hidden;
  background-size: 100% auto !important;
  transition: background-size 1.35s var(--gpl-ease), filter 1s ease;
}
.gpl-office-image:hover {
  background-size: 102.5% auto !important;
  filter: saturate(1.05);
}

.gpl-services-list ul {
  columns: 2;
  column-gap: 44px;
  padding: 0;
  list-style: none;
}
.gpl-services-list li {
  break-inside: avoid;
  padding: 13px 0;
  border-top: 1px solid var(--gpl-line);
}
.gpl-services-list li::before {
  content: "";
  display: inline-block;
  width: 5px;
  height: 5px;
  margin: 0 12px 3px 0;
  background: var(--gpl-blue);
}

/* ---------- 8. Contato ---------- */
.gpl-contact-action {
  align-self: flex-end;
  margin-top: 74px;
}
.gpl-contact-action .elementor-button { width: max-content; }

.gpl-contact-form .elementor-field {
  border-width: 0 0 1px !important;
  border-radius: 0 !important;
  background: transparent !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
}
.gpl-contact-form .elementor-field-group { margin-bottom: 20px !important; }
.gpl-contact-form .elementor-button { border-radius: 0 !important; }

/* ---------- 9. Rodapé ---------- */
.gpl-footer-social .elementor-icon { transition: background-color .22s ease, border-color .22s ease, transform .22s ease; }
.gpl-footer-social .elementor-icon:hover {
  background: var(--gpl-sky) !important;
  border-color: var(--gpl-sky) !important;
  transform: translateY(-3px);
}
.gpl-footer-links a { transition: color .2s ease, padding-left .2s ease; }
.gpl-footer-links a:hover {
  color: var(--gpl-sky) !important;
  padding-left: 5px;
}

/* ---------- 10. Responsivo ---------- */
@media (max-width: 1100px) {
  .gpl-contact-action { align-self: flex-start; margin-top: 0; }
  .gpl-services-list ul { columns: 1; }
}

@media (max-width: 820px) {
  .gpl-area-row:is(:hover, :focus-within),
  .gpl-person-row:is(:hover, :focus-within),
  .gpl-principle:hover {
    padding-right: 0 !important;
    padding-left: 0 !important;
    transform: none;
  }
  .gpl-about-quote { margin-top: -60px; }
  .gpl-footer-nav { display: none; }
  .gpl-label .elementor-heading-title::before { height: 18px; }
  .gpl-office-image,
  .gpl-office-image:hover { background-size: cover !important; }
}

/* ---------- 11. Acessibilidade ---------- */
@media (prefers-reduced-motion: reduce) {
  * {
    scroll-behavior: auto !important;
    transition: none !important;
  }
}/* End custom CSS */