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

/* ==========================================================================
   Rebrand Image ID Expert — páginas de inscrição (Joomla EventBooking).
   Escopado em body.com-eventbooking: não afeta o resto do site Joomla.
   ========================================================================== */
body.com-eventbooking,
body.com-eventbooking .sp-main-body,
body.com-eventbooking .item-page,
body.com-eventbooking .eb-container,
body.com-eventbooking p,
body.com-eventbooking li,
body.com-eventbooking td{
  font-family:"Jost","Futura","Century Gothic",system-ui,sans-serif !important;
  color:#2A3867;
}
body.com-eventbooking{background:#FFFFFF !important}
body.com-eventbooking #sp-main-body{background:#FFFFFF}

/* Títulos */
body.com-eventbooking h1,
body.com-eventbooking h2,
body.com-eventbooking h3,
body.com-eventbooking h4,
body.com-eventbooking .sp-page-title h1,
body.com-eventbooking .sp-page-title h2{
  font-family:"Jost",sans-serif !important;
  font-weight:300 !important;
  color:#2A3867 !important;
  letter-spacing:0;
}

/* Faixa de título (banner) na cor da marca */
body.com-eventbooking #sp-title,
body.com-eventbooking .sp-page-title{background:#2A3867 !important}
body.com-eventbooking .sp-page-title,
body.com-eventbooking .sp-page-title *{color:#FFFFFF !important}

/* Header/logo: troca pelo IMAGE iD Expert (branco, header é transparente sobre o azul) */
body.com-eventbooking #sp-header .sp-logo img,
body.com-eventbooking .logo img{
  content:url('/assets/img/expert-white-i.png');
  max-height:46px; width:auto;
}
/* Se o header ficar branco (sticky), garante contraste com um leve fundo */
body.com-eventbooking #sp-header.header-sticky .sp-logo{background:#2A3867; padding:6px 10px; border-radius:4px}

/* Menu do topo em Jost, sem caixa-alta gritada */
body.com-eventbooking #sp-menu a,
body.com-eventbooking .sp-megamenu-parent > li > a{
  font-family:"Jost",sans-serif !important;
  font-weight:400 !important;
  text-transform:none !important;
}

/* Texto das instruções */
body.com-eventbooking .item-page p,
body.com-eventbooking .eb-container p,
body.com-eventbooking .eb-container li{color:#5C6478}
body.com-eventbooking strong,
body.com-eventbooking b{color:#2A3867; font-weight:500}
body.com-eventbooking em{font-style:italic}

/* Rótulos do formulário */
body.com-eventbooking .control-label,
body.com-eventbooking .row.form-group > label,
body.com-eventbooking form label{
  font-family:"Jost",sans-serif !important;
  font-weight:500 !important;
  color:#2A3867 !important;
}

/* Campos: filete cinza, sem cantos arredondados, foco azul */
body.com-eventbooking .eb-form-control input,
body.com-eventbooking input.form-control,
body.com-eventbooking select.form-control,
body.com-eventbooking select,
body.com-eventbooking textarea.form-control,
body.com-eventbooking textarea,
body.com-eventbooking input[type=text],
body.com-eventbooking input[type=email],
body.com-eventbooking input[type=tel]{
  border:1px solid #D9DBDE !important;
  border-radius:0 !important;
  box-shadow:none !important;
  background:#FFFFFF !important;
  font-family:"Jost",sans-serif !important;
  color:#2A3867 !important;
  height:auto !important;
  padding:10px 12px !important;
  font-size:1rem !important;
}
body.com-eventbooking input:focus,
body.com-eventbooking select:focus,
body.com-eventbooking textarea:focus{
  border-color:#2A3867 !important; box-shadow:none !important; outline:none !important;
}
body.com-eventbooking input[type=radio],
body.com-eventbooking input[type=checkbox]{accent-color:#2A3867}

/* Botão "PARA O PAGAMENTO": pílula azul da marca */
body.com-eventbooking #btn-submit,
body.com-eventbooking .form-actions .btn,
body.com-eventbooking .form-actions input[type=submit],
body.com-eventbooking .eb-container .btn-primary{
  background:#2A3867 !important;
  border:1px solid #2A3867 !important;
  color:#FFFFFF !important;
  border-radius:999px !important;
  font-family:"Jost",sans-serif !important;
  font-weight:500 !important;
  letter-spacing:.04em;
  padding:12px 30px !important;
  box-shadow:none !important;
  transition:background-color .18s;
}
body.com-eventbooking #btn-submit:hover,
body.com-eventbooking .form-actions .btn:hover{background:#1F2A4D !important; border-color:#1F2A4D !important}

/* Botões secundários (cupom etc.): pílula de contorno */
body.com-eventbooking .btn:not(#btn-submit):not(.btn-primary){
  border-radius:999px !important; border:1px solid #2A3867 !important; color:#2A3867 !important;
  background:transparent !important; font-family:"Jost",sans-serif !important;
}

/* Links */
body.com-eventbooking a{color:#2A3867}
body.com-eventbooking a:hover{color:#E03E52}

/* Linha divisória / cartões */
body.com-eventbooking hr{border-color:#D9DBDE}
body.com-eventbooking .eb-container-j4{border:0}

/* Rodapé / bottom: Jost + logo IMAGE iD Expert */
body.com-eventbooking #sp-bottom,
body.com-eventbooking #sp-bottom1,
body.com-eventbooking #sp-footer,
body.com-eventbooking #sp-bottom *,
body.com-eventbooking #sp-footer *{
  font-family:"Jost","Futura",system-ui,sans-serif !important;
}
body.com-eventbooking #sp-bottom1 img.sppb-img-responsive,
body.com-eventbooking #sp-bottom1 .sppb-addon-single-image img{
  content:url('/assets/img/expert-white-i.png') !important;
  max-height:64px; width:auto;
}

/* ==========================================================================
   Compactar a página de inscrição (estava muito longa)
   ========================================================================== */
/* Banner menor */
body.com-eventbooking .sp-page-title{padding:26px 0 !important}
body.com-eventbooking .sp-page-title h1,
body.com-eventbooking .sp-page-title h2{font-size:1.9rem !important; margin:0 !important; line-height:1.1 !important}
/* Menos respiro nas seções */
body.com-eventbooking #sp-main-body{padding-top:22px !important; padding-bottom:22px !important}
body.com-eventbooking #sp-main-body > .sp-column{padding:0}
body.com-eventbooking .item-page{margin:0 !important}
/* Títulos/texto mais justos */
body.com-eventbooking .item-page h1,
body.com-eventbooking .item-page h2{font-size:1.9rem !important; margin:0 0 6px !important; line-height:1.1 !important}
body.com-eventbooking .item-page > p,
body.com-eventbooking .eb-container p{margin:0 0 7px !important; line-height:1.4 !important}
body.com-eventbooking .item-page ul,
body.com-eventbooking .eb-container ul{margin:0 0 10px !important}
body.com-eventbooking .item-page li,
body.com-eventbooking .eb-container li{margin:2px 0 !important; line-height:1.4 !important}
body.com-eventbooking h3,
body.com-eventbooking h4{margin:12px 0 6px !important}
/* Formulário: linhas bem mais justas */
body.com-eventbooking .row.form-group{margin-bottom:7px !important; margin-top:0 !important}
body.com-eventbooking .control-label,
body.com-eventbooking form label{margin-bottom:2px !important; padding-top:6px !important; line-height:1.3 !important}
body.com-eventbooking .eb-form-control input,
body.com-eventbooking input.form-control,
body.com-eventbooking select,
body.com-eventbooking select.form-control,
body.com-eventbooking textarea,
body.com-eventbooking input[type=text],
body.com-eventbooking input[type=email],
body.com-eventbooking input[type=tel]{
  padding:7px 10px !important; font-size:.95rem !important; min-height:0 !important;
}
body.com-eventbooking textarea{min-height:64px !important}
/* Botão/ações mais justos */
body.com-eventbooking .form-actions{padding:14px 0 !important; margin:10px 0 0 !important}
body.com-eventbooking #btn-submit{padding:10px 26px !important}
/* Menos espaço entre blocos */
body.com-eventbooking hr{margin:10px 0 !important}
body.com-eventbooking .eb-container-j4,
body.com-eventbooking .eb-container{padding:0 !important}
body.com-eventbooking .well,
body.com-eventbooking fieldset{padding:12px !important; margin-bottom:10px !important}

/* Opções de rádio/checkbox lado a lado (No Brasil / No Exterior, PF / PJ etc.) */
body.com-eventbooking fieldset > .row{
  display:flex !important; flex-wrap:wrap !important; gap:4px 28px !important;
}
body.com-eventbooking fieldset > .row > .col-md-12,
body.com-eventbooking fieldset > .row > [class*="col-"]{
  width:auto !important; flex:0 0 auto !important; max-width:none !important;
  padding-left:0 !important; padding-right:0 !important;
}
body.com-eventbooking fieldset .radio,
body.com-eventbooking fieldset .checkbox{margin:0 !important; display:inline-flex !important; align-items:center !important; gap:6px}
body.com-eventbooking fieldset .radio input,
body.com-eventbooking fieldset .checkbox input{margin:0 !important; position:static !important}

/* ==== País / Estado / Cidade na mesma linha (3 colunas) ==== */
@media (min-width:600px){
  body.com-eventbooking #field_country,
  body.com-eventbooking #field_state,
  body.com-eventbooking #field_city{
    display:inline-block !important; width:31.5% !important; vertical-align:top;
    margin-right:2% !important;
  }
  body.com-eventbooking #field_city{ margin-right:0 !important; }
  body.com-eventbooking #field_country > .form-control-label,
  body.com-eventbooking #field_state   > .form-control-label,
  body.com-eventbooking #field_city    > .form-control-label,
  body.com-eventbooking #field_country > .eb-form-control,
  body.com-eventbooking #field_state   > .eb-form-control,
  body.com-eventbooking #field_city    > .eb-form-control{
    display:block !important; width:100% !important; max-width:100% !important; flex:0 0 100% !important;
    float:none !important; text-align:left !important;
  }
}

/* ==== Instruções recolhíveis (acordeão) + fontes normalizadas ==== */
body.com-eventbooking .eb-message,
body.com-eventbooking .eb-message *{
  font-family:"Jost","Futura",system-ui,sans-serif !important;
  font-size:1rem !important; line-height:1.45 !important;
}
body.com-eventbooking .eb-message li{margin:4px 0 !important}
body.com-eventbooking details.vd-instrucoes{
  border:1px solid #D9DBDE; border-radius:8px; background:#F3F4F5;
  padding:12px 16px; margin:10px 0 18px;
}
body.com-eventbooking details.vd-instrucoes > summary{
  cursor:pointer; list-style:none; font-weight:500 !important; color:#2A3867 !important;
  display:flex; align-items:center; justify-content:space-between; gap:10px;
}
body.com-eventbooking details.vd-instrucoes > summary::-webkit-details-marker{display:none}
body.com-eventbooking details.vd-instrucoes > summary::after{content:"▾"; color:#2A3867; font-size:.9em}
body.com-eventbooking details.vd-instrucoes[open] > summary::after{content:"▴"}
body.com-eventbooking details.vd-instrucoes .vd-i-hint{color:#5C6478 !important; font-weight:400 !important}
body.com-eventbooking details.vd-instrucoes ul{margin:12px 0 0 !important; padding-left:20px}

/* Rádios/checkboxes lado a lado — cada opção é um .row.clearfix próprio no fieldset */
body.com-eventbooking .eb-form-control fieldset{
  display:flex !important; flex-wrap:wrap !important; gap:2px 28px !important; align-items:center;
}
body.com-eventbooking .eb-form-control fieldset > .row,
body.com-eventbooking .eb-form-control fieldset > div{
  width:auto !important; max-width:none !important; flex:0 0 auto !important; margin:0 !important; padding:0 !important;
}
body.com-eventbooking .eb-form-control fieldset .col-md-12{
  width:auto !important; max-width:none !important; flex:0 0 auto !important; padding:0 !important;
}

/* ==== Footer oficial Image ID Expert na página de inscrição ==== */
body.com-eventbooking #sp-footer,
body.com-eventbooking #sp-bottom,
body.com-eventbooking #sp-bottom1,
body.com-eventbooking #sp-bottom2{ display:none !important; }
body.com-eventbooking #vd-foot{
  --line:#D9DBDE; --text:#2A3867; --text-2:#5C6478;
  padding:40px 0 56px; border-top:1px solid var(--line);
  background:#fff !important; color:var(--text);
  font-family:"Jost","Futura",system-ui,sans-serif !important;
}
body.com-eventbooking #vd-foot .wrap{max-width:1280px; margin:0 auto; padding:0 32px}
body.com-eventbooking #vd-foot .foot2{
  display:grid; grid-template-columns:38.2fr 20.6fr 20.6fr 20.6fr; gap:40px;
  padding-top:44px; padding-bottom:32px;
}
body.com-eventbooking #vd-foot .foot2 img{width:240px; height:auto; margin:0 0 18px -4px}
body.com-eventbooking #vd-foot .foot2 h4{font-size:.9rem; font-weight:500; margin-bottom:12px; color:var(--text) !important}
body.com-eventbooking #vd-foot .foot2 a{display:block; text-decoration:none; color:var(--text-2) !important; padding:4px 0; font-size:.95rem}
body.com-eventbooking #vd-foot .foot2 a:hover{color:var(--text) !important}
body.com-eventbooking #vd-foot .foot2 p{color:var(--text-2) !important; font-size:.92rem; max-width:36ch}
body.com-eventbooking #vd-foot .legal{
  border-top:1px solid var(--line); padding-top:20px; padding-bottom:36px;
  font-size:.82rem; color:var(--text-2) !important; display:flex;
  justify-content:space-between; gap:16px; flex-wrap:wrap;
}
body.com-eventbooking #vd-foot .legal a{color:var(--text-2) !important}
body.com-eventbooking #vd-foot .legal a:hover{color:var(--text) !important}
@media (max-width:900px){
  body.com-eventbooking #vd-foot .foot2{grid-template-columns:1fr 1fr; gap:20px 16px}
  body.com-eventbooking #vd-foot .foot2>div:first-child{grid-column:1/-1; display:flex; gap:14px; align-items:center}
  body.com-eventbooking #vd-foot .foot2>div:first-child img{width:120px; margin:0}
  body.com-eventbooking #vd-foot .foot2>div:first-child p{max-width:none}
  body.com-eventbooking #vd-foot .legal{flex-direction:column; gap:4px}
}

/* ==== Tema oficial completo: esconder header Joomla + forçar vars de marca claras ==== */
body.com-eventbooking{
  --h1:clamp(2.4rem,3.8vw,3.6rem); --h2:clamp(1.8rem,3vw,2.5rem); --lab:1.1rem; --small:.88rem;
  --blue:#2A3867; --red:#E03E52; --gray:#999B9D; --ground:#FFFFFF; --ground-2:#ECEDEE; --line:#D9DBDE;
  --text:#2A3867; --text-2:#5C6478; --panel:#FFFFFF;
  --sans:"Jost","Futura","Century Gothic",system-ui,sans-serif;
}
body.com-eventbooking #sp-header,
body.com-eventbooking #sp-top-bar,
body.com-eventbooking .sp-preloader{ display:none !important; }
body.com-eventbooking #vd-top{ font-family:var(--sans); }
body.com-eventbooking #vd-top .menu a,
body.com-eventbooking #vd-top .menu-drop .dropm a{ text-transform:none !important; }

/* ==== FIX: restaurar aparência nativa de rádios/checkboxes (estavam sem marcação) ==== */
body.com-eventbooking input[type=radio],
body.com-eventbooking input[type=checkbox],
body.com-eventbooking .form-check-input{
  -webkit-appearance:auto !important;
  -moz-appearance:auto !important;
  appearance:auto !important;
  width:16px !important; height:16px !important; min-height:0 !important;
  padding:0 !important; margin:0 8px 0 0 !important;
  border:0 !important; border-radius:0 !important;
  background:none !important; box-shadow:none !important;
  accent-color:#2A3867; vertical-align:middle; flex:none !important;
}

/* ==== Remover popup de instruções do EventBooking (fora do padrão do site) ==== */
body.com-eventbooking .eb-inst,
body.com-eventbooking .eb-dialog,
body.com-eventbooking .eb-close.placement-outside{ display:none !important; }
html.eb-popup{ overflow:auto !important; }

/* ==== Esconder botões de compartilhamento social quebrados do EventBooking ==== */
body.com-eventbooking .eb-btn-facebook,
body.com-eventbooking .eb-btn-twitter,
body.com-eventbooking .eb-btn-linkedin,
body.com-eventbooking .eb-btn-delicious,
body.com-eventbooking .eb-btn-digg,
body.com-eventbooking .eb-btn-pinterest,
body.com-eventbooking .eb-social,
body.com-eventbooking .eb-social-buttons,
body.com-eventbooking [class*="eb-btn-"][class*="facebook"],
body.com-eventbooking .eb-registration-social{ display:none !important; }
