/*
Theme Name: ABAL Complete
Theme URI: https://abalconference.com/
Description: ABAL child theme for Hello Elementor. Bundles and installs ABAL Conference Registration and the Whish Money Payment Gateway automatically on theme activation.
Author: ABAL
Version: 1.0.27
Template: hello-elementor
Text Domain: abal-complete
*/

:root {
  --abal-green: #0c8b78;
  --abal-green-dark: #075f53;
  --abal-navy: #0f3554;
  --abal-gold: #fbb51b;
  --abal-ink: #17364a;
  --abal-muted: #64748b;
  --abal-line: #d8e5e1;
  --abal-soft: #f3f9f7;
  --abal-white: #ffffff;
}

/* Registration page styling only. Checkout intentionally uses native WooCommerce styles. */
body:has(.abal-register-card) .page-header,
body:has(.abal-register-card) .entry-header,
body:has(.abal-register-card) .entry-title,
body:has(.abal-register-card) h1.wp-block-post-title {
  display: none !important;
}
body:has(.abal-register-card) .site-main,
body:has(.abal-register-card) .content-area,
body:has(.abal-register-card) .site-content {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
body:has(.abal-register-card) .abal-register-card {
  margin-top: 22px !important;
  border: 0 !important;
  box-shadow: 0 18px 48px rgba(15,53,84,.10) !important;
}
body:has(.abal-register-card) .abal-register-head {
  padding: 34px 36px 30px !important;
  background: linear-gradient(135deg,#075f53 0%,#0c8b78 58%,#168f78 100%) !important;
}
body:has(.abal-register-card) .abal-register-head h2 {
  max-width: 760px;
  font-size: clamp(30px,4vw,46px) !important;
  line-height: 1.08 !important;
  letter-spacing: -.025em;
  margin: 10px 0 20px !important;
}
body:has(.abal-register-card) .abal-kicker {
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: .17em !important;
  opacity: .9 !important;
}
body:has(.abal-register-card) .abal-event-schedule {
  margin-top: 18px !important;
  gap: 10px !important;
}
body:has(.abal-register-card) .abal-schedule-line {
  font-size: 16px !important;
  font-weight: 750 !important;
}
body:has(.abal-register-card) .abal-registration-form {
  padding: 34px 36px 40px !important;
  background: #fff !important;
}
body:has(.abal-register-card) .abal-field > span {
  font-size: 15px !important;
  font-weight: 800 !important;
  color: #163f36 !important;
}
body:has(.abal-register-card) .abal-field input,
body:has(.abal-register-card) .abal-field select,
body:has(.abal-register-card) .abal-registration-form textarea {
  min-height: 58px !important;
  border-radius: 16px !important;
  border-color: #cadbd6 !important;
  box-shadow: 0 4px 16px rgba(15,53,84,.045) !important;
}
body:has(.abal-register-card) .abal-conditional {
  border-radius: 18px !important;
  padding: 20px !important;
}
body:has(.abal-register-card) .abal-registration-type-field > .abal-price-preview {
  border-radius: 14px !important;
}

@media (max-width: 700px) {
  body:has(.abal-register-card) .abal-register-card {
    margin: 0 !important;
    width: 100% !important;
    max-width: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }
  body:has(.abal-register-card) .abal-register-head {
    padding: 28px 22px 26px !important;
    border-radius: 0 !important;
  }
  body:has(.abal-register-card) .abal-register-head h2 {
    font-size: 34px !important;
    line-height: 1.1 !important;
    margin-bottom: 18px !important;
  }
  body:has(.abal-register-card) .abal-kicker {
    font-size: 11px !important;
    letter-spacing: .15em !important;
  }
  body:has(.abal-register-card) .abal-schedule-line {
    align-items: flex-start !important;
    font-size: 15px !important;
    line-height: 1.45 !important;
  }
  body:has(.abal-register-card) .abal-registration-form {
    padding: 24px 20px 34px !important;
  }
  body:has(.abal-register-card) .abal-field input,
  body:has(.abal-register-card) .abal-field select,
  body:has(.abal-register-card) .abal-registration-form textarea {
    min-height: 60px !important;
    border-radius: 15px !important;
  }
  body:has(.abal-register-card) .abal-conditional {
    padding: 17px !important;
    border-radius: 16px !important;
  }
}
