/* === OVERRIDES sobre lovable.css === */
/* 1) Cor da marca FCG #802478 (HSL 305 56% 32%) */
.fcg-app{
  --primary: 305 56% 32%;
  --primary-glow: 305 56% 50%;
  --ring: 305 56% 32%;
  --gradient-hero: linear-gradient(135deg, hsl(305 70% 18%) 0%, hsl(305 56% 25%) 55%, hsl(305 56% 32%) 100%);
  --gradient-primary: linear-gradient(135deg, hsl(305 56% 32%) 0%, hsl(305 56% 50%) 100%);
  --shadow-glow: 0 0 40px hsl(305 56% 50% / .35);
}

/* 2) Esconder banner azul do tema FCG nesta página + zerar container do Elementor pra full-bleed */
body.page-id-2213 .elementor-section.elementor-element-69b6d1f6,
body.page-id-2213 .elementor-element.elementor-element-74ed9216{display:none !important;}
body.page-id-2213 .elementor-widget-container{padding:0 !important;margin:0 !important;}
body.page-id-2213 .elementor-element.elementor-element-77d2bdf8{padding:0 !important;margin:0 !important;}
body.page-id-2213 .entry-content{padding:0 !important;margin:0 !important;}

/* 3) Garantir full-bleed do conteúdo dentro de containers Elementor */
.fcg-app{position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;width:100vw;max-width:100vw;}

/* 4) Sobrescrever defaults do tema FCG nos h1/h2/h3 dentro do .fcg-app */
.fcg-app h1,.fcg-app h2,.fcg-app h3,.fcg-app h4,.fcg-app p,.fcg-app ul,.fcg-app ol,.fcg-app li{margin:0;padding:0;list-style:none;}
.fcg-app .bg-hero h1,.fcg-app .bg-hero h2,.fcg-app .bg-hero p{color:#fff !important;}
.fcg-app a{text-decoration:none;}

/* Custom grid utilities (não estão no Tailwind do Lovable após purge) */
@media (min-width: 768px){
  .fcg-app .md\:grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr)) !important;}
}
@media (min-width: 1024px){
  .fcg-app .lg\:grid-cols-7{grid-template-columns:repeat(7, minmax(0, 1fr)) !important;}
}
.fcg-app .max-w-4xl{max-width:56rem !important;}

/* === OVERRIDE FONT em tudo dentro do .fcg-app (vence Elementor/Poppins) === */
.fcg-app,
.fcg-app *,
.fcg-app h1,.fcg-app h2,.fcg-app h3,.fcg-app h4,.fcg-app p,.fcg-app span,.fcg-app a,.fcg-app button,.fcg-app input,.fcg-app select,.fcg-app label,.fcg-app td,.fcg-app th,.fcg-app strong,.fcg-app li,.fcg-app div{
  font-family: 'Plus Jakarta Sans','Inter',system-ui,-apple-system,sans-serif !important;
}

.fcg-app .text-white{color:#fff !important;}
.fcg-app .text-white\/80{color:rgba(255,255,255,.8) !important;}
.fcg-app .text-white\/60{color:rgba(255,255,255,.6) !important;}
.fcg-app .text-primary{color:hsl(var(--primary)) !important;}
.fcg-app .text-primary-foreground{color:#fff !important;}
.fcg-app .text-foreground{color:hsl(var(--foreground)) !important;}
.fcg-app .text-muted-foreground{color:hsl(var(--muted-foreground)) !important;}

.fcg-app a{color:inherit;}
.fcg-app a.bg-white{color:hsl(var(--primary)) !important;background:#fff !important;}
.fcg-app a.bg-white:hover{background:rgba(255,255,255,.9) !important;color:hsl(var(--primary)) !important;}
.fcg-app a.border-white\/30{color:#fff !important;border-color:rgba(255,255,255,.3) !important;background:transparent !important;}
.fcg-app a.border-white\/30:hover{background:rgba(255,255,255,.1) !important;color:#fff !important;}

/* Zerar margin-top do container Elementor que envolve o conteúdo (110px sobrando) */
body.page-id-2213 .elementor-element.elementor-element-5a22{margin-top:0 !important;padding-top:0 !important;}
body.page-id-2213 .elementor-section.elementor-top-section{margin-top:0 !important;padding-top:0 !important;}
body.page-id-2213 article.page,body.page-id-2213 .page-content,body.page-id-2213 .entry-content{margin-top:0 !important;padding-top:0 !important;}

/* Esconder header do tema FCG na página /cotas-contempladas/ (cliente quer header próprio do Lovable) */
body.page-id-2213 header.elementor-location-header{display:none !important;}
body.page-id-2213 .elementor-location-header{display:none !important;}

/* === FORCE TAILWIND SIZES (tema FCG sobrescreve h1-h6, p, input, label) === */
.fcg-app .text-xs{font-size:.75rem !important;line-height:1rem !important;}
.fcg-app .text-sm{font-size:.875rem !important;line-height:1.25rem !important;}
.fcg-app .text-base{font-size:1rem !important;line-height:1.5rem !important;}
.fcg-app .text-lg{font-size:1.125rem !important;line-height:1.75rem !important;}
.fcg-app .text-xl{font-size:1.25rem !important;line-height:1.75rem !important;}
.fcg-app .text-2xl{font-size:1.5rem !important;line-height:2rem !important;}
.fcg-app .text-3xl{font-size:1.875rem !important;line-height:2.25rem !important;}
.fcg-app .text-4xl{font-size:2.25rem !important;line-height:2.5rem !important;}
.fcg-app .text-6xl{font-size:3.75rem !important;line-height:1 !important;}

.fcg-app h1,.fcg-app h2,.fcg-app h3,.fcg-app h4,.fcg-app h5,.fcg-app h6{font-family:'Plus Jakarta Sans','Inter',system-ui,sans-serif !important;margin:0 !important;padding:0 !important;letter-spacing:normal !important;}
.fcg-app p,.fcg-app span,.fcg-app li,.fcg-app strong{font-family:'Plus Jakarta Sans','Inter',system-ui,sans-serif !important;}
.fcg-app .font-bold{font-weight:700 !important;}
.fcg-app .font-semibold{font-weight:600 !important;}
.fcg-app .font-medium{font-weight:500 !important;}
.fcg-app .tracking-tight{letter-spacing:-.025em !important;}
.fcg-app .tracking-wider{letter-spacing:.05em !important;}
.fcg-app .leading-\[1\.05\]{line-height:1.05 !important;}
.fcg-app .uppercase{text-transform:uppercase !important;}

/* Force inputs/selects to white bg (tema FCG colocava bg cinza) */
.fcg-app input[type=text],.fcg-app input[type=number],.fcg-app input[inputmode],.fcg-app select{background-color:#fff !important;color:hsl(var(--foreground)) !important;border-color:hsl(var(--input)) !important;font-size:14px !important;height:40px !important;padding:8px 12px !important;border-radius:6px !important;}
.fcg-app input:focus,.fcg-app select:focus{outline:none !important;box-shadow:0 0 0 2px hsl(var(--ring) / .35) !important;}
.fcg-app label{font-family:'Plus Jakarta Sans','Inter',system-ui,sans-serif !important;font-size:12px !important;font-weight:500 !important;letter-spacing:.05em !important;line-height:16px !important;color:hsl(var(--muted-foreground)) !important;text-transform:uppercase !important;}

/* === FORCE responsive variants md: vencem text-4xl etc === */
@media (min-width: 768px){
  .fcg-app .md\:text-6xl{font-size:3.75rem !important;line-height:1 !important;}
  .fcg-app .md\:text-5xl{font-size:3rem !important;line-height:1 !important;}
  .fcg-app .md\:text-4xl{font-size:2.25rem !important;line-height:2.5rem !important;}
  .fcg-app .md\:text-3xl{font-size:1.875rem !important;line-height:2.25rem !important;}
  .fcg-app .md\:text-xl{font-size:1.25rem !important;line-height:1.75rem !important;}
  .fcg-app .md\:pb-40{padding-bottom:10rem !important;}
  .fcg-app .md\:pt-36{padding-top:9rem !important;}
}

/* Force button bg transparent (tema FCG aplica #04203c em todos buttons) */
.fcg-app button{background-color:transparent !important;color:inherit !important;border:0 !important;}
.fcg-app button[data-fcg-view][aria-pressed="true"],
.fcg-app button.bg-gradient-primary{background-image:linear-gradient(135deg, hsl(var(--primary)) 0%, hsl(var(--primary-glow)) 100%) !important;color:#fff !important;}

.fcg-app button[data-fcg-clear]{color:hsl(var(--muted-foreground)) !important;}
.fcg-app button[data-fcg-clear]:hover{color:hsl(var(--primary)) !important;background:hsl(var(--muted)) !important;}
.fcg-app button[data-fcg-more]{background:transparent !important;color:hsl(var(--primary)) !important;border:1px solid hsl(var(--primary) / .3) !important;}
.fcg-app button[data-fcg-more]:hover{background:hsl(var(--primary)) !important;color:#fff !important;}

/* Force input/select border (estava 0px solid no tema) */
.fcg-app input[type="text"],
.fcg-app input[type="number"],
.fcg-app input[inputmode],
.fcg-app select{
  border-width:1px !important;
  border-style:solid !important;
  border-color:hsl(var(--input)) !important;
}

/* Force Tailwind margin utilities (tema FCG sobrescreve p,h1-6 margins) */
.fcg-app .mt-0{margin-top:0 !important;}
.fcg-app .mt-1{margin-top:.25rem !important;}
.fcg-app .mt-1\.5{margin-top:.375rem !important;}
.fcg-app .mt-2{margin-top:.5rem !important;}
.fcg-app .mt-3{margin-top:.75rem !important;}
.fcg-app .mt-4{margin-top:1rem !important;}
.fcg-app .mt-5{margin-top:1.25rem !important;}
.fcg-app .mt-6{margin-top:1.5rem !important;}
.fcg-app .mt-8{margin-top:2rem !important;}
.fcg-app .mt-10{margin-top:2.5rem !important;}
.fcg-app .mt-12{margin-top:3rem !important;}
.fcg-app .mt-14{margin-top:3.5rem !important;}
.fcg-app .mt-20{margin-top:5rem !important;}
.fcg-app .mb-3{margin-bottom:.75rem !important;}
.fcg-app .mb-4{margin-bottom:1rem !important;}
.fcg-app p{margin-bottom:0 !important;}

/* Force mx-auto (tema FCG aplica margin: X 0 X 0 e quebra centralização) */
.fcg-app .mx-auto{margin-left:auto !important;margin-right:auto !important;}
.fcg-app .container{margin-left:auto !important;margin-right:auto !important;}
.fcg-app .text-center{text-align:center !important;}
.fcg-app .max-w-2xl{max-width:42rem !important;}
.fcg-app .max-w-3xl{max-width:48rem !important;}
.fcg-app .max-w-4xl{max-width:56rem !important;}
.fcg-app .max-w-5xl{max-width:64rem !important;}
.fcg-app .max-w-6xl{max-width:72rem !important;}
.fcg-app .max-w-7xl{max-width:80rem !important;}

/* Badge status colors (emerald/rose não estão no Tailwind do Lovable purged) */
.fcg-app .bg-emerald-100{background-color:#d1fae5 !important;}
.fcg-app .text-emerald-700{color:#047857 !important;}
.fcg-app .bg-emerald-500{background-color:#10b981 !important;}
.fcg-app .bg-rose-100{background-color:#ffe4e6 !important;}
.fcg-app .text-rose-700{color:#be123c !important;}
.fcg-app .bg-rose-500{background-color:#f43f5e !important;}

/* Toggle Cards no desktop: esconde tabela, mostra cards em grid */
.fcg-app[data-fcg-mode="cards"] .hidden.md\:block{display:none !important;}
.fcg-app[data-fcg-mode="cards"] .divide-y.divide-border.md\:hidden{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:16px !important;
  border:0 !important;
}

.fcg-app[data-fcg-mode="cards"] .divide-y.divide-border.md\:hidden > .p-4{
  border:1px solid hsl(var(--border)) !important;
  border-radius:1rem !important;
  background:#fff !important;
  box-shadow:0 1px 2px rgba(56,36,66,.04), 0 8px 24px -8px rgba(56,36,66,.08) !important;
}
@media (max-width: 1024px){
  .fcg-app[data-fcg-mode="cards"] .divide-y.divide-border.md\:hidden{grid-template-columns:repeat(2,1fr) !important;}
}
@media (max-width: 600px){
  .fcg-app[data-fcg-mode="cards"] .divide-y.divide-border.md\:hidden{grid-template-columns:1fr !important;}
}

/* Force Tailwind padding utilities (tema aplica 15px 35px buttons) */
.fcg-app .p-0{padding:0 !important;}
.fcg-app .p-1{padding:.25rem !important;}
.fcg-app .p-2{padding:.5rem !important;}
.fcg-app .p-3{padding:.75rem !important;}
.fcg-app .p-4{padding:1rem !important;}
.fcg-app .p-5{padding:1.25rem !important;}
.fcg-app .p-6{padding:1.5rem !important;}

.fcg-app .px-2{padding-left:.5rem !important;padding-right:.5rem !important;}
.fcg-app .px-2\.5{padding-left:.625rem !important;padding-right:.625rem !important;}
.fcg-app .px-3{padding-left:.75rem !important;padding-right:.75rem !important;}
.fcg-app .px-4{padding-left:1rem !important;padding-right:1rem !important;}
.fcg-app .px-8{padding-left:2rem !important;padding-right:2rem !important;}

.fcg-app .py-0\.5{padding-top:.125rem !important;padding-bottom:.125rem !important;}
.fcg-app .py-1{padding-top:.25rem !important;padding-bottom:.25rem !important;}
.fcg-app .py-1\.5{padding-top:.375rem !important;padding-bottom:.375rem !important;}
.fcg-app .py-2{padding-top:.5rem !important;padding-bottom:.5rem !important;}
.fcg-app .py-3{padding-top:.75rem !important;padding-bottom:.75rem !important;}

/* Toggle Cards/List: atributo data-fcg-mode está na <section data-fcg-app>, não em .fcg-app */
[data-fcg-mode="cards"] .hidden.md\:block{display:none !important;}
[data-fcg-mode="cards"] .divide-y.divide-border.md\:hidden{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:16px !important;
  border:0 !important;
}
[data-fcg-mode="cards"] .divide-y.divide-border.md\:hidden > .p-4{
  border:1px solid hsl(var(--border)) !important;
  border-radius:1rem !important;
  background:#fff !important;
}
@media (max-width: 1024px){
  [data-fcg-mode="cards"] .divide-y.divide-border.md\:hidden{grid-template-columns:repeat(2,1fr) !important;}
}

/* Toggle Cards/Lista: estilizar via aria-pressed (não via classes Tailwind estáticas) */
.fcg-app button[data-fcg-view][aria-pressed="false"]{
  background:transparent !important;
  background-image:none !important;
  color:hsl(var(--muted-foreground)) !important;
  box-shadow:none !important;
}
.fcg-app button[data-fcg-view][aria-pressed="true"]{
  background-image:linear-gradient(135deg, hsl(var(--primary)) 0%, hsl(var(--primary-glow)) 100%) !important;
  color:#fff !important;
}

/* Toggle Cards/Lista visibility */
[data-fcg-mode="list"] .fcg-cards-grid{display:none !important;}
@media (min-width:768px){[data-fcg-mode="list"] .hidden.md\:block{display:block !important;}}
[data-fcg-mode="cards"] .fcg-cards-grid{display:grid !important;}
[data-fcg-mode="cards"] .hidden.md\:block{display:none !important;}

/* Tailwind utilities usadas nos cards Lovable que podem ter sido purgadas */
.fcg-app .text-\[10px\]{font-size:10px !important;}
.fcg-app .gap-3{gap:.75rem !important;}
.fcg-app .gap-5{gap:1.25rem !important;}
.fcg-app .space-y-4 > * + *{margin-top:1rem !important;}
.fcg-app .bg-secondary\/60{background-color:rgb(243 241 245 / .6) !important;}
.fcg-app .text-3xl{font-size:1.875rem !important;line-height:2.25rem !important;}
.fcg-app .border-border\/70{border-color:hsl(var(--border) / .7) !important;}

/* Force td/th colors (tema FCG aplica color cinza nos td) */
.fcg-app td,.fcg-app th{color:hsl(var(--foreground)) !important;}
.fcg-app .text-foreground{color:hsl(var(--foreground)) !important;}
.fcg-app td a{color:inherit !important;}
.fcg-app table tbody tr{transition:background .15s;}
.fcg-app table tbody tr:hover{background-color:hsl(var(--secondary) / .4) !important;}

/* Remove vertical borders (tema FCG aplica border completo em td/th) */
.fcg-app table th,.fcg-app table td{
  border-left:0 !important;
  border-right:0 !important;
  border-top:0 !important;
  border-bottom:0 !important;
}
.fcg-app table thead th{
  border-bottom:1px solid hsl(var(--border)) !important;
}
.fcg-app table tbody tr{
  border-top:1px solid hsl(var(--border)) !important;
}
.fcg-app table tbody tr:first-child{border-top:0 !important;}
.fcg-app table thead{background-color:hsl(var(--secondary) / .6) !important;}
.fcg-app table thead th{
  color:hsl(var(--muted-foreground)) !important;
  font-weight:500 !important;
}

/* Remove zebra das rows (tema FCG aplica nth-child bg) */
.fcg-app table tbody tr,
.fcg-app table tbody tr:nth-child(odd),
.fcg-app table tbody tr:nth-child(even),
.fcg-app table tbody tr:nth-of-type(odd),
.fcg-app table tbody tr:nth-of-type(even),
.fcg-app table tbody tr td,
.fcg-app table tbody tr:nth-child(odd) td,
.fcg-app table tbody tr:nth-child(even) td{
  background-color:transparent !important;
}
.fcg-app table tbody tr:hover,
.fcg-app table tbody tr:hover td{
  background-color:hsl(var(--secondary) / .4) !important;
}

/* Force h2-h6 default size (tema FCG aplica h3:45px h2:52px etc) */
.fcg-app h2{font-size:1.5rem !important;line-height:2rem !important;}
.fcg-app h3{font-size:1rem !important;line-height:1.5rem !important;}
.fcg-app h4{font-size:.875rem !important;line-height:1.25rem !important;}
.fcg-app h5,.fcg-app h6{font-size:.875rem !important;line-height:1.25rem !important;}

/* CTA Final cola no footer (remove min-h-screen do main que cria gap) */
.fcg-app main.min-h-screen{min-height:0 !important;}
.fcg-app{margin-bottom:0 !important;}
body.page-id-2213 .elementor-element.elementor-element-77d2bdf8,
body.page-id-2213 .elementor-widget-wrap.elementor-element-populated,
body.page-id-2213 .elementor-column.elementor-top-column{padding-bottom:0 !important;margin-bottom:0 !important;}

/* Remove margin-bottom 110px da section elementor que segura o conteudo */
body.page-id-2213 .elementor-section.elementor-element-5a22eaaf{margin-bottom:0 !important;}

/* Padding superior do footer só nessa página */
body.page-id-2213 footer{background-color:#111 !important;padding-top:48px !important;}

/* SINGLE COTA — polish */
.fcg-single section.bg-hero{padding-top:80px !important;padding-bottom:96px !important;}
.fcg-single article{padding:40px !important;}
.fcg-single article > .grid{gap:20px !important;margin-top:8px !important;}
.fcg-single article .rounded-xl{padding:24px !important;}
.fcg-single article .rounded-xl p:last-child{margin-top:8px !important;}
.fcg-single .mt-8{margin-top:40px !important;}
.fcg-single article > div:first-child{margin-bottom:32px !important;}
.fcg-single h1{margin:24px 0 16px !important;}
.fcg-single h1 + p{margin-top:16px !important;}
.fcg-single a[href*="cotas-contempladas/"]{margin-bottom:32px !important;}
@media (max-width:768px){
  .fcg-single section.bg-hero{padding-top:60px !important;padding-bottom:72px !important;}
  .fcg-single article{padding:24px !important;}
}

/* Single — margem em cima/baixo do card branco */
.fcg-single section.container.max-w-5xl{padding-top:64px !important;padding-bottom:96px !important;margin-top:0 !important;}
.fcg-single section.container.max-w-5xl.\-mt-10{margin-top:-40px !important;}


/* Mobile: comportamento padrão = tabela normal com scroll horizontal (Lista); Cards mostra grid */
@media (max-width:767px){
  [data-fcg-mode="cards"] .fcg-cards-grid{display:grid !important;grid-template-columns:1fr !important;}
  [data-fcg-mode="cards"] .hidden.md\:block{display:none !important;}
  [data-fcg-mode="list"] .fcg-cards-grid{display:none !important;}
  [data-fcg-mode="list"] .hidden.md\:block{display:block !important;overflow-x:auto !important;}
}

/* Logo header — força tamanho (tema FCG aplica height auto em img) */
.fcg-app header img{height:64px !important;width:auto !important;max-width:none !important;display:block !important;}
@media (min-width:768px){.fcg-app header img{height:80px !important;}}

/* Header com altura adequada pro logo */
.fcg-app header{padding-top:24px !important;}
.fcg-app header .container{height:auto !important;min-height:88px !important;}
