@import url('https://fonts.googleapis.com/css2?family=Heebo:wght@100;200;300;400;500;600;700;800;900&display=swap');

/* ==========================================================================
   IPA CONVEX 2027 - Custom Font Definitions: Heebo
   Specification:
   - Heebo (normal)    > text
   - Heebo (semi bold) > sub-title
   - Heebo (black)     > main title
   ========================================================================== */

/* 1. Heebo Regular / Normal (400) */
@font-face {
    font-family: 'Heebo';
    src: url('/fonts/Heebo-Regular.woff2') format('woff2'),
         url('/fonts/Heebo-Regular.woff') format('woff'),
         url('https://ipaconvex.s3.ap-southeast-1.amazonaws.com/font/Heebo-Regular.woff2') format('woff2'),
         url('https://ipaconvex.s3.ap-southeast-1.amazonaws.com/font/Heebo-Regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

/* 2. Heebo Medium (500) */
@font-face {
    font-family: 'Heebo';
    src: url('/fonts/Heebo-Medium.woff2') format('woff2'),
         url('/fonts/Heebo-Medium.woff') format('woff'),
         url('https://ipaconvex.s3.ap-southeast-1.amazonaws.com/font/Heebo-Medium.woff2') format('woff2'),
         url('https://ipaconvex.s3.ap-southeast-1.amazonaws.com/font/Heebo-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

/* 3. Heebo SemiBold (600, 700) */
@font-face {
    font-family: 'Heebo';
    src: url('/fonts/Heebo-SemiBold.woff2') format('woff2'),
         url('/fonts/Heebo-SemiBold.woff') format('woff'),
         url('https://ipaconvex.s3.ap-southeast-1.amazonaws.com/font/Heebo-SemiBold.woff2') format('woff2'),
         url('https://ipaconvex.s3.ap-southeast-1.amazonaws.com/font/Heebo-SemiBold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Heebo';
    src: url('/fonts/Heebo-SemiBold.woff2') format('woff2'),
         url('/fonts/Heebo-SemiBold.woff') format('woff'),
         url('https://ipaconvex.s3.ap-southeast-1.amazonaws.com/font/Heebo-SemiBold.woff2') format('woff2'),
         url('https://ipaconvex.s3.ap-southeast-1.amazonaws.com/font/Heebo-SemiBold.woff') format('woff');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* 4. Heebo Black (800, 900) */
@font-face {
    font-family: 'Heebo';
    src: url('/fonts/Heebo-Black.woff2') format('woff2'),
         url('/fonts/Heebo-Black.woff') format('woff'),
         url('https://ipaconvex.s3.ap-southeast-1.amazonaws.com/font/Heebo-Black.woff2') format('woff2'),
         url('https://ipaconvex.s3.ap-southeast-1.amazonaws.com/font/Heebo-Black.woff') format('woff');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Heebo';
    src: url('/fonts/Heebo-Black.woff2') format('woff2'),
         url('/fonts/Heebo-Black.woff') format('woff'),
         url('https://ipaconvex.s3.ap-southeast-1.amazonaws.com/font/Heebo-Black.woff2') format('woff2'),
         url('https://ipaconvex.s3.ap-southeast-1.amazonaws.com/font/Heebo-Black.woff') format('woff');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

/* Named aliases if referenced directly */
@font-face {
    font-family: 'Heebo-Regular';
    src: url('/fonts/Heebo-Regular.woff2') format('woff2'),
         url('/fonts/Heebo-Regular.woff') format('woff'),
         url('https://ipaconvex.s3.ap-southeast-1.amazonaws.com/font/Heebo-Regular.woff2') format('woff2'),
         url('https://ipaconvex.s3.ap-southeast-1.amazonaws.com/font/Heebo-Regular.woff') format('woff');
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Heebo-SemiBold';
    src: url('/fonts/Heebo-SemiBold.woff2') format('woff2'),
         url('/fonts/Heebo-SemiBold.woff') format('woff'),
         url('https://ipaconvex.s3.ap-southeast-1.amazonaws.com/font/Heebo-SemiBold.woff2') format('woff2'),
         url('https://ipaconvex.s3.ap-southeast-1.amazonaws.com/font/Heebo-SemiBold.woff') format('woff');
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Heebo-Black';
    src: url('/fonts/Heebo-Black.woff2') format('woff2'),
         url('/fonts/Heebo-Black.woff') format('woff'),
         url('https://ipaconvex.s3.ap-southeast-1.amazonaws.com/font/Heebo-Black.woff2') format('woff2'),
         url('https://ipaconvex.s3.ap-southeast-1.amazonaws.com/font/Heebo-Black.woff') format('woff');
    font-style: normal;
    font-display: swap;
}

/* ==========================================================================
   CSS Variables & Base Setup
   ========================================================================== */
:root {
    --bs-body-font-family: 'Heebo', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --mdb-body-font-family: 'Heebo', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --mdb-font-roboto: 'Heebo', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --font-heebo: 'Heebo', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* ==========================================================================
   1. MAIN TITLE > Heebo (Black / 900)
   ========================================================================== */
h1,
h2,
.h1,
.h2,
.main-title,
.maintitle,
.title,
.section-title,
.oral-presentation,
.oral-presentation-inversion,
.title-registration,
.technical-program,
.technical-program-numbers,
.technical-program-discover,
.number-technical-program,
.dont-miss,
.hero-title,
.powering-title,
.who-title,
.font-black,
.font-heebo-black,
.heebo-black,
.text-maintitle {
    font-family: 'Heebo', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    font-weight: 900 !important;
}

/* ==========================================================================
   2. SUB-TITLE > Heebo (Semi Bold / 600)
   ========================================================================== */
h3,
h4,
h5,
h6,
.h3,
.h4,
.h5,
.h6,
.sub-title,
.subtitle,
.section-subtitle,
.sponsor-available,
.title-technical-program,
.schedule-header-subtitle,
.card-subtitle,
.card-title,
.box-subtitle,
.headtext,
.font-semibold,
.font-heebo-semibold,
.heebo-semibold,
.text-subtitle {
    font-family: 'Heebo', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    font-weight: 600 !important;
}

/* ==========================================================================
   3. TEXT > Heebo (Normal / 400)
   ========================================================================== */
html,
body,
p,
.paragraph,
.text,
.content,
li,
.dropdown-item,
.ipa-dropdown-item,
.powering-subtitle-text,
.accordion-body,
.modal-body,
input,
textarea,
select,
label,
.font-normal,
.font-heebo-normal,
.heebo-normal,
.text-normal {
    font-family: 'Heebo', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    font-weight: 400;
}

/* Ensure body paragraphs & text strictly use Heebo normal */
p,
.paragraph,
.text {
    font-weight: 400 !important;
}
