﻿/* ================================================================
 *  BBG PARTICIPATION FORM  PREMIUM DARK NAVY DESIGN
 *  Hardened for Elementor / theme override.
 *  All critical props carry !important & doubled selectors.
 * ================================================================ */

/* -- GOOGLE FONTS ------------------------------------------------ */
/* Google Fonts are loaded globally via wp_enqueue_style in bbg-custom-plugin.php */

/* -- ANIMATION KEYFRAMES ----------------------------------------- */
@keyframes bbg-pf-fadeUp      { from { opacity:0; transform:translateY(30px) } to { opacity:1; transform:translateY(0) } }
@keyframes bbg-pf-fadeIn      { from { opacity:0 } to { opacity:1 } }
@keyframes bbg-pf-slideDown   { from { opacity:0; transform:translateY(-12px) } to { opacity:1; transform:translateY(0) } }
@keyframes bbg-pf-shimmer     { 0% { background-position:-200% center } 100% { background-position:200% center } }
@keyframes bbg-pf-pulse       { 0%,100% { box-shadow:0 0 0 0 rgba(11,171,228,.35) } 50% { box-shadow:0 0 0 12px rgba(11,171,228,0) } }
@keyframes bbg-pf-spin        { to { transform:rotate(360deg) } }
@keyframes bbg-pf-drawRing    { to { stroke-dashoffset:0 } }
@keyframes bbg-pf-drawCheck   { to { stroke-dashoffset:0 } }
@keyframes bbg-pf-ringGlow    { 0%,100% { filter:drop-shadow(0 0 8px rgba(97,206,112,.4)) } 50% { filter:drop-shadow(0 0 20px rgba(97,206,112,.7)) } }
@keyframes bbg-pf-wordReveal  { from { opacity:0; transform:translateY(20px) scale(.92) } to { opacity:1; transform:translateY(0) scale(1) } }
@keyframes bbg-pf-chipIn      { from { opacity:0; transform:scale(.85) translateY(10px) } to { opacity:1; transform:scale(1) translateY(0) } }
@keyframes bbg-pf-float       { 0%,100% { transform:translateY(0) } 50% { transform:translateY(-6px) } }
@keyframes bbg-pf-diamondPulse{ 0%,100% { opacity:.6; transform:rotate(45deg) scale(1) } 50% { opacity:1; transform:rotate(45deg) scale(1.15) } }
@keyframes bbg-pf-checkboxPop { 0% { transform:scale(0) } 60% { transform:scale(1.2) } 100% { transform:scale(1) } }

/* -- OUTER WRAPPER  FULL-BLEED LIGHT -------------------------- */
.bbg-pf,
div.bbg-pf {
    display:              block !important;
    box-sizing:           border-box !important;
    width:                100vw !important;
    margin-left:          calc(-50vw + 50%) !important;
    padding:              0 !important;
    background:           linear-gradient(180deg, #E8EFFE 0%, #F4F7FF 40%, #EEF3FB 70%, #F0F4FE 100%) !important;
    color:                #0A1628 !important;
    font-family:          'Karla', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    font-size:            16px !important;
    line-height:          1.65 !important;
    -webkit-font-smoothing: antialiased !important;
    position:             relative !important;
    overflow:             hidden !important;
}

/* Subtle grain texture */
.bbg-pf::before,
div.bbg-pf::before {
    content:    '' !important;
    position:   absolute !important;
    inset:      0 !important;
    background: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.02'/%3E%3C/svg%3E") !important;
    pointer-events: none !important;
    z-index: 0 !important;
}

/* ================================================================
 *  INTRO SECTION
 * ================================================================ */
.bbg-pf__intro,
.bbg-pf .bbg-pf__intro {
    position:   relative !important;
    z-index:    1 !important;
    max-width:  780px !important;
    margin:     0 auto !important;
    padding:    80px 32px 40px !important;
    text-align: center !important;
    animation:  bbg-pf-fadeUp .8s ease both !important;
}

.bbg-pf__intro-badge,
.bbg-pf .bbg-pf__intro-badge {
    display:          inline-flex !important;
    align-items:      center !important;
    gap:              8px !important;
    padding:          6px 18px !important;
    border-radius:    40px !important;
    background:       rgba(11, 171, 228, 0.08) !important;
    border:           1px solid rgba(11, 171, 228, 0.2) !important;
    color:            #0BABE4 !important;
    font-family:      'Poppins', sans-serif !important;
    font-size:        12px !important;
    font-weight:      600 !important;
    text-transform:   uppercase !important;
    letter-spacing:   1.5px !important;
    margin-bottom:    24px !important;
}

.bbg-pf__intro-title,
.bbg-pf .bbg-pf__intro-title,
.bbg-pf h1.bbg-pf__intro-title {
    font-family:    'Nissan', sans-serif !important;
    font-size:      clamp(30px, 4.5vw, 48px) !important;
    font-weight:    700 !important;
    color:          #0A1628 !important;
    margin:         0 0 20px !important;
    padding:        0 !important;
    line-height:    1.15 !important;
    letter-spacing: -.6px !important;
}

.bbg-pf__intro-divider,
.bbg-pf .bbg-pf__intro-divider {
    display:          flex !important;
    align-items:      center !important;
    justify-content:  center !important;
    gap:              16px !important;
    margin:           0 auto 28px !important;
}
.bbg-pf__intro-divider::before,
.bbg-pf__intro-divider::after {
    content:    '' !important;
    width:      60px !important;
    height:     1px !important;
    background: linear-gradient(90deg, transparent, rgba(212,168,83,.4), transparent) !important;
}
.bbg-pf__intro-diamond,
.bbg-pf .bbg-pf__intro-diamond {
    width:       8px !important;
    height:      8px !important;
    background:  #D4A853 !important;
    transform:   rotate(45deg) !important;
    flex-shrink: 0 !important;
    animation:   bbg-pf-diamondPulse 3s ease infinite !important;
}

.bbg-pf__intro-text,
.bbg-pf .bbg-pf__intro-text,
.bbg-pf p.bbg-pf__intro-text {
    font-family: 'Karla', sans-serif !important;
    font-size:   16px !important;
    line-height: 1.7 !important;
    color:       #374A6D !important;
    margin:      0 0 14px !important;
    padding:     0 !important;
}
.bbg-pf__intro-text--highlight,
.bbg-pf .bbg-pf__intro-text--highlight {
    background:    rgba(0, 45, 114, 0.04) !important;
    border:        1px solid rgba(0, 45, 114, 0.12) !important;
    border-radius: 10px !important;
    padding:       14px 20px !important;
    margin-top:    8px !important;
    color:         #374A6D !important;
}
.bbg-pf__intro-text--highlight strong {
    color: #002D72 !important;
}

/* ================================================================
 *  FORM CARD
 * ================================================================ */
.bbg-pf__card,
.bbg-pf .bbg-pf__card {
    position:      relative !important;
    z-index:       1 !important;
    max-width:     720px !important;
    margin:        0 auto !important;
    padding:       48px 40px 44px !important;
    background:    rgba(255, 255, 255, 0.75) !important;
    backdrop-filter: blur(18px) saturate(1.6) !important;
    -webkit-backdrop-filter: blur(18px) saturate(1.6) !important;
    border:        1px solid rgba(255, 255, 255, 0.45) !important;
    border-radius: 22px !important;
    box-shadow:    0 6px 32px rgba(0, 24, 69, 0.12), 0 2px 8px rgba(0, 24, 69, 0.06) !important;
    animation:     bbg-pf-fadeUp .9s ease .15s both !important;
}

/* Gold accent bar at the very top of card */
.bbg-pf__accent,
.bbg-pf .bbg-pf__accent {
    position:      absolute !important;
    top:           0 !important;
    left:          32px !important;
    right:         32px !important;
    height:        3px !important;
    background:    linear-gradient(90deg, transparent, #D4A853, #0BABE4, #D4A853, transparent) !important;
    background-size: 200% 100% !important;
    border-radius: 0 0 3px 3px !important;
    animation:     bbg-pf-shimmer 4s linear infinite !important;
}

/* -- HEADER ------------------------------------------------------ */
.bbg-pf__header,
.bbg-pf .bbg-pf__header {
    text-align:    center !important;
    margin-bottom: 36px !important;
}

.bbg-pf__icon-wrap,
.bbg-pf .bbg-pf__icon-wrap {
    display:          inline-flex !important;
    align-items:      center !important;
    justify-content:  center !important;
    width:            60px !important;
    height:           60px !important;
    border-radius:    16px !important;
    background:       linear-gradient(135deg, #001845 0%, #0050C8 100%) !important;
    border:           none !important;
    margin:           0 auto 14px !important;
    box-shadow:       0 6px 24px rgba(0, 24, 69, 0.30) !important;
}
.bbg-pf__icon,
.bbg-pf .bbg-pf__icon {
    width:  28px !important;
    height: 28px !important;
    color:  #fff !important;
}

.bbg-pf__title,
.bbg-pf .bbg-pf__title,
.bbg-pf h2.bbg-pf__title {
    font-family: 'Nissan', sans-serif !important;
    font-size:   30px !important;
    font-weight: 700 !important;
    color:       #0A1628 !important;
    margin:      0 0 6px !important;
    padding:     0 !important;
    line-height: 1.25 !important;
}

.bbg-pf__subtitle,
.bbg-pf .bbg-pf__subtitle,
.bbg-pf p.bbg-pf__subtitle {
    font-family: 'Karla', sans-serif !important;
    font-size:   14px !important;
    color:       #7A8AAD !important;
    margin:      0 !important;
    padding:     0 !important;
}

/* -- FORM LAYOUT ------------------------------------------------- */
.bbg-pf__form,
.bbg-pf .bbg-pf__form,
.bbg-pf form.bbg-pf__form {
    display:        flex !important;
    flex-direction: column !important;
    gap:            20px !important;
}

.bbg-pf__row,
.bbg-pf .bbg-pf__row {
    display:        flex !important;
    flex-direction: column !important;
    gap:            20px !important;
}
.bbg-pf__row--2col,
.bbg-pf .bbg-pf__row--2col {
    flex-direction: row !important;
    gap:            20px !important;
}
.bbg-pf__row--2col > .bbg-pf__field {
    flex: 1 !important;
    min-width: 0 !important;
}

.bbg-pf__field,
.bbg-pf .bbg-pf__field {
    display:        flex !important;
    flex-direction: column !important;
    gap:            6px !important;
}

/* -- LABELS ------------------------------------------------------ */
.bbg-pf__label,
.bbg-pf .bbg-pf__label,
.bbg-pf label.bbg-pf__label {
    font-family:    'Poppins', sans-serif !important;
    font-size:      12px !important;
    font-weight:    600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    color:          #374A6D !important;
    margin:         0 !important;
    padding:        0 !important;
}

.bbg-pf__req,
.bbg-pf .bbg-pf__req {
    color:       #D4A853 !important;
    font-weight: 700 !important;
}

/* -- INPUTS / SELECT / TEXTAREA ---------------------------------- */
.bbg-pf__input,
.bbg-pf .bbg-pf__input,
.bbg-pf input.bbg-pf__input,
.bbg-pf select.bbg-pf__input,
.bbg-pf textarea.bbg-pf__input {
    display:          block !important;
    width:            100% !important;
    box-sizing:       border-box !important;
    padding:          14px 18px !important;
    font-family:      'Karla', sans-serif !important;
    font-size:        15px !important;
    font-weight:      400 !important;
    color:            #0D1B3E !important;
    background:       #F4F7FF !important;
    border:           1.5px solid rgba(0, 45, 114, 0.14) !important;
    border-radius:    12px !important;
    outline:          none !important;
    transition:       border-color .25s ease, background .25s ease, box-shadow .25s ease !important;
    -webkit-appearance: none !important;
    appearance:        none !important;
    line-height:       1.5 !important;
    margin:            0 !important;
}
.bbg-pf__input::placeholder {
    color: #AAB4C8 !important;
}
.bbg-pf__input:focus,
.bbg-pf .bbg-pf__input:focus,
.bbg-pf input.bbg-pf__input:focus,
.bbg-pf select.bbg-pf__input:focus,
.bbg-pf textarea.bbg-pf__input:focus {
    border-color: #0050C8 !important;
    background:   #FFFFFF !important;
    box-shadow:   0 0 0 4px rgba(0, 80, 200, 0.12) !important;
}

/* Input error state */
.bbg-pf__input.bbg-pf--error,
.bbg-pf .bbg-pf__input.bbg-pf--error {
    border-color: #e74c3c !important;
    box-shadow:   0 0 0 3px rgba(231,76,60,.12) !important;
}

/* Select dropdown arrow */
.bbg-pf__select,
.bbg-pf .bbg-pf__select,
.bbg-pf select.bbg-pf__select {
    padding-right:      44px !important;
    background-image:   url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%230BABE4' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-repeat:  no-repeat !important;
    background-position:right 16px center !important;
    background-size:    12px !important;
    cursor:             pointer !important;
}
.bbg-pf__select option {
    background: #fff !important;
    color:      #0D1B3E !important;
}

/* Textarea */
.bbg-pf__textarea,
.bbg-pf .bbg-pf__textarea,
.bbg-pf textarea.bbg-pf__textarea {
    resize:     vertical !important;
    min-height: 100px !important;
}

/* Error message */
.bbg-pf__error,
.bbg-pf .bbg-pf__error {
    font-family: 'Karla', sans-serif !important;
    font-size:   12px !important;
    color:       #e74c3c !important;
    min-height:  0 !important;
    overflow:    hidden !important;
    transition:  all .25s ease !important;
}
.bbg-pf__error:not(:empty) {
    min-height: 18px !important;
    animation:  bbg-pf-slideDown .3s ease both !important;
}

/* ================================================================
 *  CONSENT CHECKBOX
 * ================================================================ */
.bbg-pf__consent,
.bbg-pf .bbg-pf__consent {
    padding:       16px 20px !important;
    background:    rgba(0, 45, 114, 0.03) !important;
    border:        1px solid rgba(0, 45, 114, 0.10) !important;
    border-radius: 12px !important;
    margin-top:    4px !important;
}
.bbg-pf__consent-label,
.bbg-pf .bbg-pf__consent-label,
.bbg-pf label.bbg-pf__consent-label {
    display:     flex !important;
    align-items: flex-start !important;
    gap:         14px !important;
    cursor:      pointer !important;
    margin:      0 !important;
    padding:     0 !important;
}

/* Hide native checkbox */
.bbg-pf__checkbox,
.bbg-pf .bbg-pf__checkbox,
.bbg-pf input.bbg-pf__checkbox {
    position:  absolute !important;
    opacity:   0 !important;
    width:     0 !important;
    height:    0 !important;
    margin:    0 !important;
    padding:   0 !important;
}

/* Custom checkbox box */
.bbg-pf__checkmark-box,
.bbg-pf .bbg-pf__checkmark-box {
    display:          inline-flex !important;
    align-items:      center !important;
    justify-content:  center !important;
    flex-shrink:      0 !important;
    width:            22px !important;
    height:           22px !important;
    border:           2px solid rgba(0, 45, 114, 0.25) !important;
    border-radius:    6px !important;
    background:       #F4F7FF !important;
    transition:       all .25s ease !important;
    margin-top:       2px !important;
}
.bbg-pf__checkmark-box svg {
    opacity:    0 !important;
    transform:  scale(0) !important;
    transition: all .2s ease !important;
    color:      #ffffff !important;
}

/* Checked state */
.bbg-pf__checkbox:checked + .bbg-pf__checkmark-box,
.bbg-pf .bbg-pf__checkbox:checked + .bbg-pf__checkmark-box {
    background:   linear-gradient(135deg, #0BABE4, #0090c4) !important;
    border-color: #0BABE4 !important;
    box-shadow:   0 0 0 3px rgba(11,171,228,.15) !important;
}
.bbg-pf__checkbox:checked + .bbg-pf__checkmark-box svg {
    opacity:   1 !important;
    transform: scale(1) !important;
    animation: bbg-pf-checkboxPop .35s ease !important;
}

/* Consent text */
.bbg-pf__consent-text,
.bbg-pf .bbg-pf__consent-text {
    font-family: 'Karla', sans-serif !important;
    font-size:   13px !important;
    line-height: 1.55 !important;
    color:       #374A6D !important;
}

/* Consent error */
.bbg-pf__consent .bbg-pf__error {
    margin-top:  8px !important;
    margin-left: 36px !important;
}

/* Consent error highlight */
.bbg-pf__consent.bbg-pf--error {
    border-color: rgba(231,76,60,.3) !important;
}

/* ================================================================
 *  SUBMIT BUTTON
 * ================================================================ */
.bbg-pf__submit,
.bbg-pf .bbg-pf__submit,
.bbg-pf button.bbg-pf__submit {
    display:          inline-flex !important;
    align-items:      center !important;
    justify-content:  center !important;
    gap:              10px !important;
    width:            100% !important;
    padding:          17px 32px !important;
    margin-top:       8px !important;
    font-family:      'Poppins', sans-serif !important;
    font-size:        15px !important;
    font-weight:      700 !important;
    letter-spacing:   .8px !important;
    text-transform:   uppercase !important;
    color:            #ffffff !important;
    background:       linear-gradient(135deg, #001845 0%, #0050C8 100%) !important;
    border:           none !important;
    border-radius:    14px !important;
    cursor:           pointer !important;
    transition:       transform .2s ease, box-shadow .25s ease, filter .25s ease !important;
    box-shadow:       0 6px 24px rgba(0,24,69,0.35), 0 2px 8px rgba(0,24,69,0.18) !important;
    outline:          none !important;
    -webkit-appearance: none !important;
    appearance:        none !important;
    line-height:       1.4 !important;
}
.bbg-pf__submit:hover,
.bbg-pf .bbg-pf__submit:hover,
.bbg-pf button.bbg-pf__submit:hover {
    transform:  translateY(-2px) !important;
    box-shadow: 0 10px 36px rgba(0,24,69,0.42), 0 4px 12px rgba(0,24,69,0.22) !important;
    filter:     brightness(1.06) !important;
}
.bbg-pf__submit:active,
.bbg-pf .bbg-pf__submit:active {
    transform:  translateY(0) !important;
    box-shadow: 0 3px 14px rgba(0,24,69,0.22) !important;
}

/* Loading state */
.bbg-pf__submit.bbg-pf--loading,
.bbg-pf .bbg-pf__submit.bbg-pf--loading {
    pointer-events: none !important;
    opacity:        .85 !important;
}
.bbg-pf__submit-loader {
    display: none !important;
}
.bbg-pf__submit.bbg-pf--loading .bbg-pf__submit-text {
    display: none !important;
}
.bbg-pf__submit.bbg-pf--loading .bbg-pf__submit-loader {
    display:    inline-flex !important;
    align-items: center !important;
    gap:        8px !important;
}
.bbg-pf__spinner,
.bbg-pf .bbg-pf__spinner {
    width:     20px !important;
    height:    20px !important;
    animation: bbg-pf-spin 1s linear infinite !important;
}

/* ================================================================
 *  CONTACT INFO SECTION (below form card)
 * ================================================================ */
.bbg-pf__contact,
.bbg-pf .bbg-pf__contact {
    position:   relative !important;
    z-index:    1 !important;
    max-width:  720px !important;
    margin:     0 auto !important;
    padding:    44px 32px 80px !important;
    text-align: center !important;
    animation:  bbg-pf-fadeUp 1s ease .3s both !important;
}

.bbg-pf__contact-divider,
.bbg-pf .bbg-pf__contact-divider {
    display:         flex !important;
    align-items:     center !important;
    justify-content: center !important;
    gap:             16px !important;
    margin-bottom:   28px !important;
}
.bbg-pf__contact-divider::before,
.bbg-pf__contact-divider::after {
    content:    '' !important;
    width:      50px !important;
    height:     1px !important;
    background: linear-gradient(90deg, transparent, rgba(212,168,83,.3), transparent) !important;
}
.bbg-pf__contact-diamond,
.bbg-pf .bbg-pf__contact-diamond {
    width:       8px !important;
    height:      8px !important;
    background:  #D4A853 !important;
    transform:   rotate(45deg) !important;
    flex-shrink: 0 !important;
    animation:   bbg-pf-diamondPulse 3s ease infinite !important;
}

.bbg-pf__contact-heading,
.bbg-pf .bbg-pf__contact-heading,
.bbg-pf h3.bbg-pf__contact-heading {
    font-family: 'Nissan', sans-serif !important;
    font-size:   24px !important;
    font-weight: 700 !important;
    color:       #0A1628 !important;
    margin:      0 0 8px !important;
    padding:     0 !important;
}

.bbg-pf__contact-sub,
.bbg-pf .bbg-pf__contact-sub,
.bbg-pf p.bbg-pf__contact-sub {
    font-family: 'Karla', sans-serif !important;
    font-size:   14px !important;
    color:       #7A8AAD !important;
    margin:      0 0 24px !important;
    padding:     0 !important;
}

.bbg-pf__contact-items,
.bbg-pf .bbg-pf__contact-items {
    display:         flex !important;
    flex-wrap:       wrap !important;
    justify-content: center !important;
    gap:             16px !important;
}

.bbg-pf__contact-item,
.bbg-pf .bbg-pf__contact-item,
.bbg-pf a.bbg-pf__contact-item {
    display:          inline-flex !important;
    align-items:      center !important;
    gap:              10px !important;
    padding:          12px 24px !important;
    background:       rgba(0, 45, 114, 0.04) !important;
    border:           1px solid rgba(0, 45, 114, 0.12) !important;
    border-radius:    12px !important;
    color:            #002D72 !important;
    font-family:      'Karla', sans-serif !important;
    font-size:        15px !important;
    font-weight:      500 !important;
    text-decoration:  none !important;
    transition:       border-color .25s ease, background .25s ease, transform .2s ease !important;
}
.bbg-pf__contact-item:hover,
.bbg-pf a.bbg-pf__contact-item:hover {
    background:   rgba(0, 45, 114, 0.08) !important;
    border-color: rgba(0, 45, 114, 0.25) !important;
    transform:    translateY(-2px) !important;
    color:        #002D72 !important;
    text-decoration: none !important;
}
.bbg-pf__contact-icon,
.bbg-pf .bbg-pf__contact-icon {
    display:     inline-flex !important;
    align-items: center !important;
    color:       #002D72 !important;
    opacity:     .7 !important;
}

/* ================================================================
 *  CONFIRMATION PANEL
 * ================================================================ */
.bbg-pf__confirmation,
.bbg-pf .bbg-pf__confirmation {
    display:         none !important;
    flex-direction:  column !important;
    align-items:     center !important;
    justify-content: center !important;
    text-align:      center !important;
    position:        relative !important;
    z-index:         1 !important;
    min-height:      80vh !important;
    padding:         80px 32px !important;
}
.bbg-pf__confirmation.bbg-pf--visible,
.bbg-pf .bbg-pf__confirmation.bbg-pf--visible {
    display: flex !important;
}

/* Particle canvas */
.bbg-pf__particles,
.bbg-pf .bbg-pf__particles {
    position:       absolute !important;
    inset:          0 !important;
    width:          100% !important;
    height:         100% !important;
    pointer-events: none !important;
    z-index:        0 !important;
}

/* Animated ring */
.bbg-pf__confirm-ring,
.bbg-pf .bbg-pf__confirm-ring {
    position:  relative !important;
    z-index:   1 !important;
    width:     120px !important;
    height:    120px !important;
    margin:    0 auto 32px !important;
    animation: bbg-pf-ringGlow 2.5s ease infinite !important;
}
.bbg-pf__confirm-svg {
    width:  100% !important;
    height: 100% !important;
}
.bbg-pf__ring-bg {
    fill:         none !important;
    stroke:       rgba(0, 45, 114, 0.10) !important;
    stroke-width: 3 !important;
}
.bbg-pf__ring-progress {
    fill:               none !important;
    stroke:             #61CE70 !important;
    stroke-width:       3.5 !important;
    stroke-linecap:     round !important;
    stroke-dasharray:   339.292 !important;
    stroke-dashoffset:  339.292 !important;
    transform:          rotate(-90deg) !important;
    transform-origin:   center !important;
    animation:          bbg-pf-drawRing 1.2s ease .3s forwards !important;
}
.bbg-pf__checkmark {
    fill:              none !important;
    stroke:            #61CE70 !important;
    stroke-width:      4 !important;
    stroke-linecap:    round !important;
    stroke-linejoin:   round !important;
    stroke-dasharray:  80 !important;
    stroke-dashoffset: 80 !important;
    animation:         bbg-pf-drawCheck .6s ease 1.4s forwards !important;
}

/* Title  word-by-word reveal */
.bbg-pf__confirm-title,
.bbg-pf .bbg-pf__confirm-title,
.bbg-pf h2.bbg-pf__confirm-title {
    font-family: 'Nissan', sans-serif !important;
    font-size:   clamp(30px, 4.5vw, 44px) !important;
    font-weight: 700 !important;
    color:       #0A1628 !important;
    margin:      0 0 8px !important;
    padding:     0 !important;
    display:     flex !important;
    gap:         12px !important;
    justify-content: center !important;
    flex-wrap:   wrap !important;
}
.bbg-pf__confirm-word {
    display:   inline-block !important;
    opacity:   0 !important;
    animation: bbg-pf-wordReveal .6s ease forwards !important;
}
.bbg-pf__confirm-word:nth-child(1) { animation-delay: 1.6s !important; }
.bbg-pf__confirm-word:nth-child(2) { animation-delay: 1.85s !important; }

/* Name */
.bbg-pf__confirm-name,
.bbg-pf .bbg-pf__confirm-name {
    font-family:  'Poppins', sans-serif !important;
    font-size:    14px !important;
    font-weight:  600 !important;
    color:        #0BABE4 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    margin:       0 0 16px !important;
    opacity:      0 !important;
    animation:    bbg-pf-fadeIn .5s ease 2.1s forwards !important;
}

/* Body text */
.bbg-pf__confirm-text,
.bbg-pf .bbg-pf__confirm-text,
.bbg-pf p.bbg-pf__confirm-text {
    font-family: 'Karla', sans-serif !important;
    font-size:   15px !important;
    line-height: 1.7 !important;
    color:       #374A6D !important;
    max-width:   540px !important;
    margin:      0 auto 28px !important;
    padding:     0 !important;
    opacity:     0 !important;
    animation:   bbg-pf-fadeIn .5s ease 2.3s forwards !important;
}
.bbg-pf__confirm-text strong {
    color: #002D72 !important;
}

/* Detail chips */
.bbg-pf__confirm-details,
.bbg-pf .bbg-pf__confirm-details {
    display:         flex !important;
    flex-wrap:       wrap !important;
    justify-content: center !important;
    gap:             10px !important;
    margin-bottom:   32px !important;
}
.bbg-pf__confirm-chip {
    display:       inline-flex !important;
    align-items:   center !important;
    gap:           8px !important;
    padding:       8px 18px !important;
    background:    rgba(0, 45, 114, 0.05) !important;
    border:        1px solid rgba(0, 45, 114, 0.12) !important;
    border-radius: 40px !important;
    font-family:   'Karla', sans-serif !important;
    font-size:     13px !important;
    color:         #374A6D !important;
    opacity:       0 !important;
    animation:     bbg-pf-chipIn .5s ease forwards !important;
}
.bbg-pf__confirm-chip svg {
    color:   #D4A853 !important;
    opacity: .8 !important;
}

/* Divider */
.bbg-pf__confirm-divider,
.bbg-pf .bbg-pf__confirm-divider {
    display:         flex !important;
    align-items:     center !important;
    justify-content: center !important;
    gap:             16px !important;
    margin:          0 auto 24px !important;
    opacity:         0 !important;
    animation:       bbg-pf-fadeIn .5s ease 3s forwards !important;
}
.bbg-pf__confirm-divider::before,
.bbg-pf__confirm-divider::after {
    content:    '' !important;
    width:      50px !important;
    height:     1px !important;
    background: linear-gradient(90deg, transparent, rgba(212,168,83,.4), transparent) !important;
}
.bbg-pf__confirm-diamond,
.bbg-pf .bbg-pf__confirm-diamond {
    width:       8px !important;
    height:      8px !important;
    background:  #D4A853 !important;
    transform:   rotate(45deg) !important;
    flex-shrink: 0 !important;
}

/* Contact on confirmation */
.bbg-pf__confirm-contact,
.bbg-pf .bbg-pf__confirm-contact {
    margin-bottom: 24px !important;
    opacity:       0 !important;
    animation:     bbg-pf-fadeIn .5s ease 3.2s forwards !important;
}
.bbg-pf__confirm-contact-label,
.bbg-pf .bbg-pf__confirm-contact-label,
.bbg-pf p.bbg-pf__confirm-contact-label {
    font-family: 'Karla', sans-serif !important;
    font-size:   13px !important;
    color:       #7A8AAD !important;
    margin:      0 0 12px !important;
    padding:     0 !important;
}
.bbg-pf__confirm-contact-items,
.bbg-pf .bbg-pf__confirm-contact-items {
    display:         flex !important;
    flex-wrap:       wrap !important;
    justify-content: center !important;
    gap:             12px !important;
}
.bbg-pf__confirm-contact-link,
.bbg-pf .bbg-pf__confirm-contact-link,
.bbg-pf a.bbg-pf__confirm-contact-link {
    display:          inline-flex !important;
    align-items:      center !important;
    gap:              8px !important;
    padding:          8px 16px !important;
    background:       rgba(0, 45, 114, 0.04) !important;
    border:           1px solid rgba(0, 45, 114, 0.12) !important;
    border-radius:    8px !important;
    color:            #002D72 !important;
    font-family:      'Karla', sans-serif !important;
    font-size:        13px !important;
    font-weight:      500 !important;
    text-decoration:  none !important;
    transition:       border-color .25s ease, background .25s ease !important;
}
.bbg-pf__confirm-contact-link:hover,
.bbg-pf a.bbg-pf__confirm-contact-link:hover {
    background:      rgba(0, 45, 114, 0.08) !important;
    border-color:    rgba(0, 45, 114, 0.25) !important;
    text-decoration: none !important;
    color:           #002D72 !important;
}

/* Tagline */
.bbg-pf__confirm-tagline,
.bbg-pf .bbg-pf__confirm-tagline,
.bbg-pf p.bbg-pf__confirm-tagline {
    font-family:    'Nissan', sans-serif !important;
    font-size:      16px !important;
    font-weight:    500 !important;
    color:          rgba(212,168,83,.6) !important;
    font-style:     italic !important;
    margin:         0 0 32px !important;
    padding:        0 !important;
    opacity:        0 !important;
    animation:      bbg-pf-fadeIn .5s ease 3.4s forwards !important;
}

/* New enquiry button */
.bbg-pf__confirm-btn,
.bbg-pf .bbg-pf__confirm-btn,
.bbg-pf button.bbg-pf__confirm-btn {
    display:          inline-flex !important;
    align-items:      center !important;
    justify-content:  center !important;
    padding:          14px 36px !important;
    font-family:      'Poppins', sans-serif !important;
    font-size:        13px !important;
    font-weight:      600 !important;
    text-transform:   uppercase !important;
    letter-spacing:   1px !important;
    color:            #0BABE4 !important;
    background:       transparent !important;
    border:           1px solid rgba(11,171,228,.25) !important;
    border-radius:    12px !important;
    cursor:           pointer !important;
    transition:       all .25s ease !important;
    opacity:          0 !important;
    animation:        bbg-pf-fadeIn .5s ease 3.6s forwards !important;
    outline:          none !important;
}
.bbg-pf__confirm-btn:hover,
.bbg-pf .bbg-pf__confirm-btn:hover {
    background:   rgba(11,171,228,.08) !important;
    border-color: rgba(11,171,228,.45) !important;
    transform:    translateY(-2px) !important;
}

/* ================================================================
 *  RESPONSIVE
 * ================================================================ */
@media (max-width: 640px) {
    .bbg-pf__intro,
    .bbg-pf .bbg-pf__intro {
        padding: 60px 20px 28px !important;
    }
    .bbg-pf__card,
    .bbg-pf .bbg-pf__card {
        padding:       36px 22px 32px !important;
        margin-left:   12px !important;
        margin-right:  12px !important;
        border-radius: 16px !important;
    }
    .bbg-pf__row--2col,
    .bbg-pf .bbg-pf__row--2col {
        flex-direction: column !important;
    }
    .bbg-pf__contact,
    .bbg-pf .bbg-pf__contact {
        padding: 32px 20px 60px !important;
    }
    .bbg-pf__contact-items {
        flex-direction: column !important;
        align-items:    center !important;
    }
    .bbg-pf__confirmation {
        padding: 60px 20px !important;
        min-height: 90vh !important;
    }
}

@media (max-width: 400px) {
    .bbg-pf__intro,
    .bbg-pf .bbg-pf__intro {
        padding: 44px 14px 20px !important;
    }
    .bbg-pf__card,
    .bbg-pf .bbg-pf__card {
        padding:       28px 16px 24px !important;
        margin-left:   8px !important;
        margin-right:  8px !important;
    }
    .bbg-pf__input,
    .bbg-pf .bbg-pf__input,
    .bbg-pf input.bbg-pf__input,
    .bbg-pf select.bbg-pf__input,
    .bbg-pf textarea.bbg-pf__input {
        padding: 12px 14px !important;
        font-size: 16px !important; /* prevents iOS zoom */
    }
    .bbg-pf__title,
    .bbg-pf .bbg-pf__title,
    .bbg-pf h2.bbg-pf__title {
        font-size: 22px !important;
    }
    .bbg-pf__contact,
    .bbg-pf .bbg-pf__contact {
        padding: 24px 14px 48px !important;
    }
}
