/*
 Theme Name:   Hello Elementor Child
 Theme URI:    https://lavracaccidentlaw.com
 Description:  Hello Elementor Child Theme — Lavrac Accident Law
 Author:       Lavrac Accident Law
 Author URI:   https://lavracaccidentlaw.com
 Template:     hello-elementor
 Version:      1.0.1
 Text Domain:  hello-elementor-child
*/

@import url('https://fonts.googleapis.com/css2?family=Barlow:ital,wght@0,300;0,400;0,500;0,600;1,300&family=Barlow+Condensed:wght@600;700&display=swap');

/* ============================================
   LAVRAC ACCIDENT LAW — Custom CSS v1.1
   ============================================ */

/* --- VARIÁVEIS GLOBAIS --- */
:root {
  --lav-black:     #0D0D0D;
  --lav-dark:      #161616;
  --lav-red:       #C0392B;
  --lav-red-light: #E74C3C;
  --lav-offwhite:  #F7F6F4;
  --lav-border:    #E5E3DF;
  --lav-text:      #111111;
  --lav-muted:     #666666;
}

/* --- BASE --- */
body {
  font-family: 'Barlow', 'Helvetica Neue', Arial, sans-serif;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 500;
  line-height: 1.3;
}

a { color: var(--lav-red); text-decoration: none; }
a:hover { color: var(--lav-red-light); }

/* --- BOTÕES GLOBAIS --- */
.elementor-button,
.elementor-button-wrapper .elementor-button {
  background: var(--lav-red) !important;
  border-color: var(--lav-red) !important;
  border-radius: 6px !important;
  font-weight: 500 !important;
  letter-spacing: 0.03em !important;
  transition: background 0.2s !important;
}
.elementor-button:hover,
.elementor-button-wrapper .elementor-button:hover {
  background: var(--lav-red-light) !important;
  border-color: var(--lav-red-light) !important;
}

/* --- ÍCONES --- */
.elementor-icon i,
.elementor-icon-box-icon i {
  color: var(--lav-red) !important;
}

/* --- HEADER — ElementsKit hover --- */
.elementor-1836 .elementor-element.elementor-element-7e58eea .ekit-header-info > li > a:hover {
  color: var(--lav-red) !important;
  font-family: "Dela Gothic One", Sans-serif;
  font-size: 13px;
  font-weight: 500;
  font-style: italic;
  line-height: 24px;
}

/* --- FOOTER — English Footer (ID 1842) --- */
.elementor-1842 a {
  color: rgba(255,255,255,0.6) !important;
  text-decoration: none !important;
  transition: color 0.2s !important;
}
.elementor-1842 a:hover {
  color: var(--lav-red) !important;
}
.elementor-1842 p,
.elementor-1842 span,
.elementor-1842 li {
  color: rgba(255,255,255,0.55) !important;
}
.elementor-1842 h3,
.elementor-1842 h4 {
  color: #ffffff !important;
}

/* --- SCROLLBAR --- */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: var(--lav-offwhite); }
::-webkit-scrollbar-thumb { background: var(--lav-red); border-radius: 3px; }

/* --- HOMEPAGE HERO — cards de contato --- */
.elementor-7d0773b6 .elementor-widget-icon-box .elementor-icon-box-wrapper,
.page-id-3807 .elementor-widget-icon-box .elementor-icon-box-wrapper,
.home .elementor-widget-icon-box .elementor-icon-box-wrapper {
  background: rgba(255,255,255,0.05) !important;
  border: 0.5px solid rgba(255,255,255,0.1) !important;
  border-radius: 8px !important;
}

/* --- HOMEPAGE HERO — labels dos cards (ADDRESS, etc) --- */
.page-id-3807 .elementor-icon-box-title,
.home .elementor-icon-box-title {
  color: rgba(255,255,255,0.45) !important;
  font-size: 10px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
}

/* --- HOMEPAGE HERO — valores dos cards --- */
.page-id-3807 .elementor-icon-box-description,
.home .elementor-icon-box-description {
  color: #ffffff !important;
  font-size: 13px !important;
}

/* --- HOMEPAGE HERO — ícones dos cards --- */
.page-id-3807 .elementor-icon-box-icon .elementor-icon,
.home .elementor-icon-box-icon .elementor-icon {
  background: rgba(192,57,43,0.15) !important;
  border-radius: 6px !important;
  padding: 8px !important;
  color: #C0392B !important;
}

/* --- HOMEPAGE — botão laranja → vermelho --- */
.page-id-3807 .elementor-button,
.home .elementor-button {
  background: #C0392B !important;
  border-color: #C0392B !important;
  border-radius: 6px !important;
  font-weight: 500 !important;
}
.page-id-3807 .elementor-button:hover,
.home .elementor-button:hover {
  background: #E74C3C !important;
}

/* --- HOMEPAGE — elementos decorativos (bolinhas e ondas) --- */
.page-id-3807 .elementor-widget-image img[src*="dot"],
.page-id-3807 .elementor-widget-image img[src*="wave"],
.page-id-3807 .elementor-widget-image img[src*="shape"] {
  opacity: 0.15 !important;
  filter: grayscale(100%) !important;
}

/* --- HOMEPAGE — seção CTA vermelho escuro --- */
.elementor-40511853 {
  background: linear-gradient(135deg, #1A0505 0%, #2D0A0A 100%) !important;
}
.elementor-40511853 .elementor-heading-title {
  color: #ffffff !important;
}

/* --- HERO — eael-info-box cards (ADDRESS, PHONE, EMAIL) --- */
.eael-infobox {
  background: rgba(255,255,255,0.04) !important;
  border: 0.5px solid rgba(255,255,255,0.08) !important;
  border-radius: 8px !important;
}

/* Título do card (ADDRESS, 24/7 FREE CONSULTATION, EMAIL ADDRESS) */
.eael-infobox .infobox-content .title,
.eael-infobox .infobox-title-section .title {
  color: rgba(255,255,255,0.45) !important;
  font-size: 10px !important;
  letter-spacing: 0.1em !important;
  font-weight: 500 !important;
}

/* Descrição do card (endereço, telefone, email) */
.eael-infobox .infobox-content p,
.eael-infobox .infobox-content .description {
  color: #ffffff !important;
  font-size: 13px !important;
}

/* Ícone do card */
.eael-infobox .elementor-icon,
.eael-infobox .eael-icon {
  color: #C0392B !important;
  background: rgba(192,57,43,0.15) !important;
  border-radius: 6px !important;
}

/* Fundo do ícone circular → quadrado arredondado */
.eael-infobox.eael-infobox-icon-bg-shape-circle .eael-icon-only {
  background: rgba(192,57,43,0.15) !important;
  border-radius: 8px !important;
  border: none !important;
}

/* Cor do ícone SVG/font */
.eael-infobox .eael-icon-only i,
.eael-infobox .eael-icon-only svg {
  color: #C0392B !important;
  fill: #C0392B !important;
}

/* --- BOTÃO CALL NOW → vermelho --- */
.elementor-widget-button .elementor-button {
  background-color: #C0392B !important;
  border-color: #C0392B !important;
}
.elementor-widget-button .elementor-button:hover {
  background-color: #E74C3C !important;
}

/* --- SEÇÃO WHY CHOOSE US → escuro --- */
.elementor-element-744d6661,
#xs_team_8 {
  background: #111111 !important;
}

/* --- FORCE OVERRIDE — eael-info-box background azul --- */
.elementor-widget-eael-info-box .elementor-widget-container,
.elementor-widget-eael-info-box,
.eael-infobox.eael-infobox-icon-bg-shape-circle,
.eael-infobox.eael-infobox-icon-bg-shape-none,
div[data-widget_type="eael-info-box.default"] .elementor-widget-container {
  background: rgba(13,31,45,0.6) !important;
  border: 0.5px solid rgba(255,255,255,0.1) !important;
  border-radius: 8px !important;
  padding: 16px !important;
}

/* Ícone circular → vermelho */
.eael-infobox .eael-infobox-icon-on-left,
.eael-infobox .eael-icon-only,
.eael-infobox-icon-bg-shape-circle .eael-icon-only {
  background: rgba(192,57,43,0.2) !important;
  border-color: rgba(192,57,43,0.3) !important;
  border-radius: 8px !important;
}
.eael-infobox .eael-icon-only i {
  color: #C0392B !important;
}

/* Título ADDRESS / 24/7 etc */
.eael-infobox .infobox-content .title {
  color: rgba(255,255,255,0.4) !important;
  font-size: 9px !important;
  letter-spacing: 0.12em !important;
}

/* Texto endereço / telefone / email */
.eael-infobox .infobox-content p,
.eael-infobox .infobox-content a {
  color: #ffffff !important;
}

/* --- FORCE — botão laranja → vermelho --- */
a.elementor-button,
button.elementor-button,
.elementor-button-wrapper a,
.elementor-button {
  background-color: #C0392B !important;
  border-color: #C0392B !important;
  color: #ffffff !important;
}
a.elementor-button:hover,
.elementor-button:hover {
  background-color: #E74C3C !important;
  border-color: #E74C3C !important;
}

/* --- Bolinhas decorativas --- */
.elementor-element img[src*="dot"],
.elementor-element img[src*="dots"],
.elementor-element img[src*="circle"],
.elementor-element img[src*="shape"],
.elementor-element img[src*="wave"] {
  opacity: 0.08 !important;
  filter: grayscale(100%) brightness(200%) !important;
}

/* ============================================
   HERO — Background effects
   ============================================ */

/* Dot grid overlay */
.lavrac-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(rgba(255,255,255,0.06) 1px, transparent 1px);
  background-size: 30px 30px;
  pointer-events: none;
  z-index: 0;
}

/* Radial glow bottom center */
.lavrac-hero::after {
  content: '';
  position: absolute;
  bottom: -100px;
  left: 50%;
  transform: translateX(-50%);
  width: 700px;
  height: 300px;
  background: radial-gradient(ellipse at center, rgba(13,31,45,0.6) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
}

/* Top-right circle accent */
.lavrac-hero .elementor-container {
  position: relative;
  z-index: 1;
}

/* Left red vertical bar */
.lavrac-hero > .elementor-container::before {
  content: '';
  position: absolute;
  left: -80px;
  top: 0;
  width: 4px;
  height: 100%;
  background: linear-gradient(to bottom, transparent, #C0392B 30%, #C0392B 70%, transparent);
  pointer-events: none;
}

/* "YOU HAVE RIGHTS." outline effect via CSS */
.lavrac-hero h2.elementor-heading-title {
  -webkit-text-stroke: 1.5px rgba(255,255,255,0.18) !important;
  color: transparent !important;
}

/* Ensure all hero content above pseudo-elements */
.lavrac-hero .elementor-widget-wrap {
  position: relative;
  z-index: 1;
}

/* ============================================
   WHAT WE DO — Dark cards section
   ============================================ */

/* Card base */
.lavrac-dark-card {
  background: rgba(255,255,255,0.04) !important;
  border: 0.5px solid rgba(255,255,255,0.08) !important;
  border-radius: 10px !important;
  position: relative !important;
  transition: border-color 0.2s, background 0.2s !important;
}
.lavrac-dark-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: transparent;
  border-radius: 10px 10px 0 0;
  transition: background 0.2s;
}
.lavrac-dark-card:hover::before {
  background: #C0392B;
}
.lavrac-dark-card:hover {
  background: rgba(255,255,255,0.06) !important;
  border-color: rgba(192,57,43,0.3) !important;
}

/* Eyebrow red line */
.lavrac-eyebrow p {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.lavrac-eyebrow p::before {
  content: '';
  display: inline-block;
  width: 20px;
  height: 2px;
  background: #C0392B;
  flex-shrink: 0;
}

/* Allan photo strip */
.lavrac-allan-photo img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: top center !important;
  display: block !important;
  mix-blend-mode: luminosity !important;
  opacity: 0.85 !important;
}

/* ============================================
   Allan photo — fix size and overflow
   ============================================ */
.lavrac-allan-photo,
.lavrac-allan-photo .elementor-widget-container,
.lavrac-allan-photo img {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  object-fit: unset !important;
  mix-blend-mode: unset !important;
  opacity: 1 !important;
  display: block !important;
}

/* Column containing photo — no height restriction */
.lavrac-allan-photo .elementor-widget-container {
  overflow: visible !important;
}

/* ============================================
   Allan bio strip — text sizes
   ============================================ */

/* Quote */
.lavrac-allan-photo ~ .elementor-column .elementor-text-editor p:first-child,
#wwd_allan_bio p:first-child {
  font-size: 16px !important;
  line-height: 1.8 !important;
  color: rgba(255,255,255,0.6) !important;
}

/* Bio paragraph */
.lavrac-allan-photo ~ .elementor-column .elementor-text-editor p:nth-child(2) {
  font-size: 15px !important;
  line-height: 1.75 !important;
  color: rgba(255,255,255,0.45) !important;
}

/* Force all text in Allan strip larger */
.elementor-element-wwd_allan_bio p,
.elementor-element-wwd_allan_bio span {
  font-size: 15px !important;
  line-height: 1.8 !important;
}

/* Override inline font sizes in the bio block */
.elementor-widget-container p[style*="font-size:14px"],
.elementor-widget-container p[style*="font-size:13px"],
.elementor-widget-container p[style*="font-size:12px"] {
  font-size: 15px !important;
  line-height: 1.8 !important;
}

/* ============================================
   VIDEO SECTION — Cards
   ============================================ */
.lavrac-video-card {
  border-radius: 10px !important;
  overflow: hidden !important;
  border: 0.5px solid rgba(255,255,255,0.07) !important;
  transition: border-color 0.2s !important;
}
.lavrac-video-card:hover {
  border-color: rgba(192,57,43,0.4) !important;
}

/* Play button — red */
.lavrac-video-card .elementor-custom-embed-play i,
.lavrac-video-card .elementor-custom-embed-play svg {
  color: #fff !important;
  fill: #fff !important;
}
.lavrac-video-card .elementor-custom-embed-play {
  background: rgba(192,57,43,0.9) !important;
  border-radius: 50% !important;
  width: 56px !important;
  height: 56px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background 0.2s, transform 0.2s !important;
}
.lavrac-video-card:hover .elementor-custom-embed-play {
  background: #C0392B !important;
  transform: scale(1.1) !important;
}

/* Overlay gradient on thumbnail */
.lavrac-video-card .elementor-custom-embed-image-overlay::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.6) 0%, transparent 60%);
}