/**
 * BeDijital contact page — Divi 5 native layout.
 */

/* Hero */
.et_pb_section:has(.bd-contact-hero-lead) {
  position:relative;
  overflow:hidden;
  padding-top:52px !important;
  padding-bottom:52px !important;
  background-color:#0946ae !important;
  background-image:none !important;
  color:#fff;
}
.et_pb_section:has(.bd-contact-hero-lead)::before,
.et_pb_section:has(.bd-contact-hero-lead)::after {
  content:"";
  position:absolute;
  z-index:0;
  border-radius:50%;
  background:rgba(255,255,255,.07);
  pointer-events:none;
}
.et_pb_section:has(.bd-contact-hero-lead)::before {
  width:320px;
  height:320px;
  right:-100px;
  top:-190px;
}
.et_pb_section:has(.bd-contact-hero-lead)::after {
  width:220px;
  height:220px;
  left:-80px;
  bottom:-150px;
}
.et_pb_section:has(.bd-contact-hero-lead) .et_pb_row {
  position:relative;
  z-index:1;
  margin-left:auto;
  margin-right:auto;
}
.et_pb_section:has(.bd-contact-hero-lead) .et_pb_heading,
.et_pb_section:has(.bd-contact-hero-lead) h1 {
  margin:0 0 16px;
  padding:0;
  color:#fff !important;
  text-align:center;
  font-family:var(--bd-font-family,Inter,Arial,sans-serif) !important;
  font-size:var(--bd-hero-title-size,40px) !important;
  line-height:var(--bd-hero-title-line,1.16) !important;
  font-weight:var(--bd-hero-title-weight,700) !important;
  letter-spacing:-.02em;
}
.bd-contact-hero-lead {
  max-width:780px;
  margin:0 auto;
  color:rgba(255,255,255,.94) !important;
  text-align:center;
  font-size:18px;
  line-height:1.65;
}

/* Contact cards */
.et_pb_row:has(.bd-contact-card) {
  align-items:stretch !important;
}
.et_pb_row:has(.bd-contact-card) > .et_pb_column {
  display:flex !important;
  align-items:stretch !important;
}
.et_pb_row:has(.bd-contact-card) .et_pb_module,
.et_pb_row:has(.bd-contact-card) .et_pb_module_inner {
  width:100%;
  height:100%;
}
.bd-contact-card {
  width:100%;
  height:100%;
  padding:36px 34px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:0;
  border:1px solid #d9e1ec;
  border-radius:14px;
  text-align:center;
  background:#fff;
  box-sizing:border-box;
}
.bd-contact-card > p:empty,
.bd-contact-card > p:has(> br:only-child),
.bd-contact-card-icon > p:empty,
.bd-contact-card-body > p:empty,
.bd-contact-card-value > p:empty {
  display:none !important;
  height:0 !important;
  margin:0 !important;
  padding:0 !important;
  line-height:0 !important;
}
.bd-contact-card-icon {
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 0 18px;
}
.bd-contact-card-icon i {
  display:block;
  margin:0;
  color:#0b55bd;
  font-size:42px;
  line-height:1;
}
.bd-contact-card h2 {
  margin:0 0 14px;
  padding:0;
  color:#111827;
  font-size:21px;
  line-height:1.3;
  font-weight:700;
}
.bd-contact-card-body {
  width:100%;
  min-height:86px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:14px;
  flex:0 0 auto;
  box-sizing:border-box;
}
.bd-contact-card-description,
.bd-contact-card-value,
.bd-contact-card address {
  margin:0;
  padding:0;
  color:#53627a;
  font-size:16px;
  line-height:1.5;
  font-style:normal;
  text-align:center;
}
.bd-contact-card-description,
.bd-contact-card-value {
  min-height:0;
}
.bd-contact-card-value {
  display:flex;
  min-height:24px;
  align-items:center;
  justify-content:center;
}
.bd-contact-card--address .bd-contact-card-value {
  min-height:86px;
}
.bd-contact-card a {
  color:#0b55bd !important;
  text-decoration:none;
  transition:color .2s ease;
}
.bd-contact-card a:hover,
.bd-contact-card a:focus {
  color:var(--bedijital-orange,#ff7a00) !important;
}

/* Form card */
.et_pb_column:has(.bd-contact-form-title) {
  position:relative;
  z-index:1;
  align-self:stretch;
  overflow:visible;
  border-radius:16px;
  background:#f7f8fa;
}
.et_pb_column:has(.bd-contact-form-title)::after {
  content:"";
  position:absolute;
  z-index:0;
  top:0;
  right:-150px;
  bottom:0;
  width:180px;
  border-radius:0 16px 16px 0;
  background:#f7f8fa;
  pointer-events:none;
}
.et_pb_column:has(.bd-contact-form-title) > * {
  position:relative;
  z-index:1;
}
.et_pb_column:has(.bd-contact-form-title) > .et_pb_module,
.et_pb_text:has(.bd-contact-form-title) {
  margin-top:0 !important; margin-bottom:0 !important;
  padding-top:0 !important; padding-bottom:0 !important;
  background:transparent !important;
}
.bd-contact-form-title {
  margin:0; padding:54px 54px 22px; background:transparent;
  border-radius:16px 16px 0 0;
}
.bd-contact-form-title h2 {
  margin:0;
  padding:0;
  color:#102d59;
  font-size:32px;
  line-height:1.22;
  font-weight:700;
}
.et_pb_column:has(.bd-contact-form-title) .et_pb_contact_form_container {
  margin:0 !important; padding:0 54px 54px !important;
  background:transparent !important; border-radius:0 0 16px 16px;
  box-sizing:border-box;
}
.et_pb_column:has(.bd-contact-form-title) .et_pb_contact_form,
.et_pb_column:has(.bd-contact-form-title) form {
  margin-top:0 !important; padding-top:0 !important;
}
.et_pb_column:has(.bd-contact-form-title) .et_contact_bottom_container {
  float:none !important;
  display:flex !important;
  width:100%;
  align-items:center;
  justify-content:flex-start !important;
  text-align:left !important;
}
.et_pb_contact_form_container input,
.et_pb_contact_form_container textarea,
.et_pb_contact_form_container select {
  width:100%; border:1px solid #cbd5e1 !important; background:#fff !important;
  border-radius:3px !important; color:#334155 !important; box-sizing:border-box;
}
.et_pb_contact_form_container textarea { min-height:135px; }
.et_pb_contact_form_container .et_pb_contact_submit,
.et_pb_contact_form_container button[type="submit"] {
  margin-top:8px; border:0 !important; border-radius:4px !important;
  background:#0b55bd !important; color:#fff !important;
  transition:background-color .2s ease;
  transform:none !important;
  box-shadow:none !important;
}
.et_pb_contact_form_container .et_pb_contact_submit:hover,
.et_pb_contact_form_container button[type="submit"]:hover {
  background:var(--bedijital-orange,#ff7a00) !important;
  transform:none !important;
  box-shadow:none !important;
}

/* Information panel */
.bd-contact-info-panel {
  position:relative; z-index:2; margin-left:-18px; padding:48px 46px;
  border-radius:16px; background:#1159c5; color:#fff;
  box-shadow:0 24px 50px rgba(22,61,116,.20); box-sizing:border-box;
}
.bd-contact-info-panel h2 {
  margin:0 0 16px;
  padding:0;
  color:#fff;
  font-size:30px;
  line-height:1.2;
  font-weight:700;
}
.bd-contact-info-intro {
  margin:0 0 28px;
  color:#fff;
  font-size:15px;
  line-height:1.5;
}
.bd-contact-info-item { display:flex; gap:12px; margin-top:26px; }
.bd-contact-info-item > i { flex:0 0 18px; margin-top:3px; color:var(--bedijital-orange,#ff7a00); }
.bd-contact-info-item h3 {
  margin:0 0 8px;
  padding:0;
  color:#fff;
  font-size:17px;
  line-height:1.35;
  font-weight:700;
}
.bd-contact-info-item address,
.bd-contact-info-item a {
  color:#fff !important;
  font-size:14px;
  font-style:normal;
  line-height:1.55;
  text-decoration:none;
}
.bd-contact-info-item a:hover,
.bd-contact-info-item a:focus { color:var(--bedijital-orange,#ff7a00) !important; }
.bd-contact-social { display:flex; gap:8px; margin-top:34px; }
.bd-contact-social a {
  display:flex; width:34px; height:34px; align-items:center; justify-content:center;
  border-radius:4px; color:#fff !important; transition:transform .2s ease, opacity .2s ease;
}
.bd-contact-social a:hover { transform:translateY(-2px); opacity:.88; }
.bd-contact-social .twitter { background:#1da1f2; }
.bd-contact-social .youtube { background:#f00; }
.bd-contact-social .linkedin { background:#0077b5; }
.bd-contact-social .dribbble { background:#ea4c89; }

/* Map */
.et_pb_map,
.et_pb_map_container { min-height:450px; }

@media (max-width:980px) {
  .et_pb_section:has(.bd-contact-hero-lead) .et_pb_heading,
  .et_pb_section:has(.bd-contact-hero-lead) h1 { font-size:40px !important; }
  .bd-contact-hero-lead { font-size:18px; }
  .et_pb_row:has(.bd-contact-card) > .et_pb_column { display:block !important; }
  .bd-contact-card { min-height:auto; margin-bottom:22px; }
  .et_pb_column:has(.bd-contact-form-title)::after { display:none; }
  .bd-contact-info-panel { margin:28px 0 0; }
}
@media (max-width:767px) {
  .et_pb_section:has(.bd-contact-hero-lead) { padding-top:42px !important; padding-bottom:42px !important; }
  .et_pb_section:has(.bd-contact-hero-lead) .et_pb_heading,
  .et_pb_section:has(.bd-contact-hero-lead) h1 { font-size:32px !important; }
  .bd-contact-hero-lead { font-size:16px; line-height:1.65; }
  .bd-contact-form-title { padding:34px 26px 18px; }
  .et_pb_column:has(.bd-contact-form-title) .et_pb_contact_form_container {
    padding:0 26px 34px !important;
  }
  .bd-contact-info-panel { padding:36px 28px; }
  .bd-contact-info-panel h2 { font-size:30px; }
}

/* 0.9.16 — robust hero normalization after Divi renders the page. */
.bd-contact-hero-section {
  background:#0946ae !important;
  background-color:#0946ae !important;
  background-image:none !important;
}
.bd-contact-hero-section::before,
.bd-contact-hero-section::after {
  background:rgba(255,255,255,.07) !important;
}


/* v1.1.121 — Contact page uses the same 1200px content axis as the site. */
.et_pb_row:has(.bd-contact-card),
.et_pb_row:has(.bd-contact-form-title),
.et_pb_row:has(.bd-contact-info-panel) {
    width: min(1200px, calc(100% - 40px)) !important;
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

@media (max-width: 767px) {
    .et_pb_row:has(.bd-contact-card),
    .et_pb_row:has(.bd-contact-form-title),
    .et_pb_row:has(.bd-contact-info-panel) {
        width: min(1200px, calc(100% - 28px)) !important;
    }
}

/* v1.1.123 — Contact submit follows the canonical primary CTA */
.et_pb_contact_form_container .et_pb_contact_submit,
.et_pb_contact_form_container button[type="submit"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 50px !important;
    margin-top: 8px !important;
    padding: 0 24px !important;
    border: 0 !important;
    border-radius: 5px !important;
    background: #ff783e !important;
    color: #fff !important;
    font-family: Inter, Arial, sans-serif !important;
    font-size: 15px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    box-shadow: none !important;
    transform: none !important;
    cursor: pointer !important;
    transition: background-color .18s ease !important;
}

.et_pb_contact_form_container .et_pb_contact_submit:hover,
.et_pb_contact_form_container button[type="submit"]:hover,
.et_pb_contact_form_container .et_pb_contact_submit:focus,
.et_pb_contact_form_container button[type="submit"]:focus {
    background: #e96528 !important;
    color: #fff !important;
    box-shadow: none !important;
    transform: none !important;
}

/* v1.1.124 — Contact heading parity + clean submit button */
.bd-contact-form-title,
.bd-contact-form-title h2,
.bd-contact-info-panel h2 {
    font-family: Inter, Arial, sans-serif !important;
    font-size: 32px !important;
    font-weight: 700 !important;
    line-height: 1.22 !important;
}

.bd-contact-form-title,
.bd-contact-form-title h2 {
    color: #102d59 !important;
}

.bd-contact-info-panel h2 {
    color: #fff !important;
}

/* Divi adds a pseudo-icon (>) to buttons; Contact submit must be text-only. */
.et_pb_contact_form_container .et_pb_contact_submit::before,
.et_pb_contact_form_container .et_pb_contact_submit::after,
.et_pb_contact_form_container button[type="submit"]::before,
.et_pb_contact_form_container button[type="submit"]::after {
    content: none !important;
    display: none !important;
}

.et_pb_contact_form_container .et_pb_contact_submit,
.et_pb_contact_form_container button[type="submit"] {
    padding-left: 24px !important;
    padding-right: 24px !important;
}

