:root{
    --bap-navy:#061b47;
    --bap-blue:#0d43b8;
    --bap-red:#d20d1f;
    --bap-gold:#f4b91f;
    --bap-green:#16833f;
    --bap-text:#12213b;
    --bap-muted:#667085;
    --bap-border:#dfe5ef;
    --bap-bg:#f5f8fc;
}

.bap-events-front-page,
.bap-event-detail-page,
.bap-event-registration-page,
.bap-event-success-page{
    width:100%;
    margin:0;
    padding:34px 0 64px;
    background:var(--bap-bg);
    color:var(--bap-text);
    font-family:inherit;
}

.bap-events-shell{
    width:min(1450px,calc(100% - 36px));
    margin:0 auto;
}

.bap-events-simple-header{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:24px;
    margin-bottom:28px;
}

.bap-events-kicker{
    display:block;
    margin-bottom:7px;
    color:var(--bap-red);
    font-size:12px;
    font-weight:900;
    letter-spacing:.1em;
}

.bap-events-simple-header h1,
.bap-event-detail-main>h1{
    margin:0;
    color:var(--bap-navy);
    font-size:clamp(34px,4vw,54px);
    line-height:1.08;
}

.bap-events-simple-header p{
    max-width:760px;
    margin:9px 0 0;
    color:var(--bap-muted);
    font-size:17px;
}

.bap-events-grid{
    display:grid;
    gap:24px;
    align-items:start;
}
.bap-events-grid-1{grid-template-columns:1fr}
.bap-events-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.bap-events-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}

.bap-event-card,
.bap-event-detail-card,
.bap-event-side-card,
.bap-registration-event-card,
.bap-registration-form-card,
.bap-registration-success-card{
    background:#fff;
    border:1px solid var(--bap-border);
    border-radius:13px;
    box-shadow:0 8px 28px rgba(12,35,75,.08);
}

.bap-event-card{overflow:hidden}
.bap-event-banner-wrap{display:block;width:100%;line-height:0;background:var(--bap-navy)}
.bap-event-banner{display:block;width:100%;height:auto!important;max-height:none!important;object-fit:contain!important}
.bap-event-banner-placeholder{display:flex;min-height:215px;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--bap-navy),#154ca6,var(--bap-red));color:#fff;text-decoration:none;font-size:25px;font-weight:900}
.bap-event-card-body{padding:19px}

.bap-event-status,
.bap-event-code-public{
    display:inline-flex;
    align-items:center;
    width:max-content;
    border-radius:6px;
    padding:5px 9px;
    font-size:11px;
    font-weight:800;
}
.bap-event-status-open{background:#dff6e6;color:#117135}
.bap-event-status-closed{background:#f0f1f4;color:#5d6573}
.bap-event-code-public{background:#ffe4e7;color:#ba0e21}

.bap-event-card h3{
    margin:12px 0 15px;
    color:var(--bap-navy);
    font-size:20px;
    line-height:1.3;
}

.bap-event-fact{
    display:grid;
    grid-template-columns:115px minmax(0,1fr);
    gap:10px;
    padding:7px 0;
    border-bottom:1px solid #edf1f6;
    font-size:13px;
}
.bap-event-fact:last-child{border-bottom:0}
.bap-event-fact strong{color:var(--bap-navy)}
.bap-event-fact span{color:#35445f;overflow-wrap:anywhere}

.bap-event-card-buttons{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px;
    margin-top:18px;
}

.bap-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    box-sizing:border-box;
    padding:10px 16px;
    border:1px solid transparent;
    border-radius:6px;
    text-decoration:none!important;
    font-weight:800;
    line-height:1.2;
    cursor:pointer;
    transition:transform .15s ease,box-shadow .15s ease,background .15s ease;
}
.bap-button:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(6,27,71,.13)}
.bap-button-primary{background:var(--bap-navy);color:#fff!important}
.bap-button-danger{background:var(--bap-red);color:#fff!important}
.bap-button-facebook{background:#1464d2;color:#fff!important}
.bap-button-outline{background:#fff;color:var(--bap-navy)!important;border-color:#8fa0ba}
.bap-button-disabled{background:#eceff4;color:#697386}
.bap-button-block{display:flex;width:100%}

.bap-event-facebook-link{
    display:block;
    margin-top:10px;
    text-align:center;
    color:#0b57c8!important;
    text-decoration:none!important;
    font-size:13px;
    font-weight:800;
}

.bap-events-empty{
    padding:40px;
    background:#fff;
    border:1px solid var(--bap-border);
    border-radius:13px;
    text-align:center;
}
.bap-events-empty strong,.bap-events-empty span{display:block}
.bap-events-empty strong{font-size:22px;color:var(--bap-navy)}
.bap-events-empty span{margin-top:7px;color:var(--bap-muted)}

.bap-event-breadcrumb{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    align-items:center;
    margin-bottom:18px;
    color:var(--bap-muted);
    font-size:13px;
}
.bap-event-breadcrumb a{color:var(--bap-navy);font-weight:700;text-decoration:none}

.bap-event-detail-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 345px;
    gap:24px;
    align-items:start;
}
.bap-event-detail-main{min-width:0}
.bap-event-detail-main>h1{margin-bottom:16px;font-size:clamp(30px,3.5vw,48px)}
.bap-event-detail-banner{overflow:hidden;border-radius:11px;background:var(--bap-navy);line-height:0}
.bap-event-detail-banner img{display:block;width:100%;height:auto;object-fit:contain}
.bap-event-detail-card{padding:22px;margin-top:18px}
.bap-event-detail-card h2,.bap-event-side-card h2{margin:0 0 14px;color:var(--bap-navy);font-size:19px}
.bap-event-detail-title-row{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.bap-event-detail-title-row>div:first-child{display:flex;gap:8px;flex-wrap:wrap}
.bap-event-inline-actions{display:flex;gap:10px;flex-wrap:wrap}
.bap-event-rich-text{color:#35445f;line-height:1.7}
.bap-event-rich-text p:first-child{margin-top:0}
.bap-event-rich-text p:last-child{margin-bottom:0}
.bap-event-rich-text ul,.bap-event-rich-text ol{padding-left:20px}
.bap-event-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}
.bap-event-detail-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.bap-event-content-section{height:calc(100% - 18px)}
.bap-event-announcement{margin-top:15px;padding:14px;border-left:4px solid var(--bap-gold);background:#fff8df;color:#5f4b09;border-radius:6px}
.bap-event-detail-sidebar{display:grid;gap:18px;position:sticky;top:24px}
.bap-event-side-card{padding:18px}
.bap-event-side-banner{display:block;width:100%;height:auto;margin-bottom:14px;border-radius:7px}
.bap-event-side-facts{margin:11px 0 16px}
.bap-event-side-card p{color:var(--bap-muted);line-height:1.55}

.bap-registration-layout{
    display:grid;
    grid-template-columns:330px minmax(0,1fr);
    gap:24px;
    align-items:start;
}
.bap-registration-event-card{padding:17px;position:sticky;top:24px}
.bap-registration-event-card>img{display:block;width:100%;height:auto;margin-bottom:15px;border-radius:8px}
.bap-registration-event-card h2{margin:10px 0 13px;color:var(--bap-navy);font-size:21px}
.bap-registration-fee{margin-top:15px;padding:13px;border-radius:8px;background:#fff3f4}
.bap-registration-fee span,.bap-registration-fee strong{display:block}
.bap-registration-fee span{font-size:12px;color:var(--bap-muted)}
.bap-registration-fee strong{margin-top:4px;color:var(--bap-red);font-size:21px}
.bap-registration-form-card{padding:26px}
.bap-registration-form-card>h1{margin:0;color:var(--bap-navy);font-size:30px}
.bap-registration-form-card>p{margin:7px 0 22px;color:var(--bap-muted)}
.bap-event-registration-form fieldset{margin:0 0 22px;padding:18px;border:1px solid var(--bap-border);border-radius:9px}
.bap-event-registration-form legend{padding:0 8px;color:var(--bap-navy);font-weight:900}
.bap-form-grid{display:grid;gap:14px}
.bap-form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.bap-form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.bap-event-registration-form label{display:block;margin-bottom:13px}
.bap-event-registration-form label>span,.bap-file-upload-field>span{display:block;margin-bottom:6px;color:var(--bap-navy);font-size:13px;font-weight:800}
.bap-event-registration-form input[type=text],
.bap-event-registration-form input[type=email],
.bap-event-registration-form select,
.bap-event-registration-form textarea,
.bap-event-registration-form input[type=file]{width:100%;box-sizing:border-box;border:1px solid #b8c2d1;border-radius:6px;background:#fff;padding:11px;color:var(--bap-text)}
.bap-event-registration-form input[readonly]{background:#eef2f7;color:#526179}
.bap-event-registration-form textarea{resize:vertical}
.bap-file-upload-field{padding:14px;border:1px dashed #7f9ac0;border-radius:8px;background:#f8fbff}
.bap-file-upload-field small{display:block;margin-top:6px;color:var(--bap-muted)}
.bap-consent{display:flex!important;align-items:flex-start;gap:9px;color:#3d4960;font-size:13px}
.bap-consent input{margin-top:2px}
.bap-submit-registration{border:0;font-size:15px}
.bap-registration-notice{margin:15px 0;padding:14px;border-radius:7px;background:#fff6d8;color:#5a480d;line-height:1.55}
.bap-registration-message{margin:0 0 20px;padding:20px;border-radius:9px;border:1px solid}
.bap-registration-message h2{margin:0 0 8px}
.bap-registration-message p{margin:0 0 15px}
.bap-registration-message.error{background:#fff0f1;border-color:#f0a7af;color:#8f1020}
.bap-registration-message.success{background:#eaf8ee;border-color:#9dd2aa;color:#145f2e}

.bap-event-success-page{min-height:62vh;display:flex;align-items:center}
.bap-registration-success-card{width:min(650px,calc(100% - 30px));margin:0 auto;padding:44px;text-align:center}
.bap-success-check{display:flex;width:82px;height:82px;margin:0 auto 18px;border-radius:50%;align-items:center;justify-content:center;background:#20a047;color:#fff;font-size:49px;font-weight:900}
.bap-registration-success-card h1{margin:0;color:#16833f;font-size:34px}
.bap-registration-success-card h2{color:var(--bap-navy)}
.bap-registration-success-card p{color:var(--bap-muted);line-height:1.6}
.bap-success-actions{justify-content:center;margin-top:24px}

@media(max-width:1100px){
    .bap-events-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
    .bap-event-detail-columns{grid-template-columns:1fr}
    .bap-event-detail-layout{grid-template-columns:minmax(0,1fr) 310px}
}

@media(max-width:820px){
    .bap-events-grid-2,.bap-events-grid-3{grid-template-columns:1fr}
    .bap-event-detail-layout,.bap-registration-layout{grid-template-columns:1fr}
    .bap-event-detail-sidebar,.bap-registration-event-card{position:static}
    .bap-event-facts{grid-template-columns:1fr}
    .bap-form-grid.two,.bap-form-grid.three{grid-template-columns:1fr}
}

@media(max-width:540px){
    .bap-events-shell{width:min(100% - 18px,1450px)}
    .bap-events-front-page,.bap-event-detail-page,.bap-event-registration-page,.bap-event-success-page{padding-top:22px}
    .bap-event-card-buttons{grid-template-columns:1fr}
    .bap-event-detail-card,.bap-event-side-card,.bap-registration-form-card{padding:16px}
    .bap-event-detail-title-row{align-items:stretch}
    .bap-event-inline-actions,.bap-event-inline-actions .bap-button{width:100%}
    .bap-registration-success-card{padding:28px 18px}
}


/* Facebook sharing and copy-link controls — v3.9.8 */
.bap-event-share-links{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:10px}
.bap-event-share-links .bap-event-facebook-link{display:inline-flex;margin-top:0}
.bap-event-copy-link{appearance:none;border:0;background:transparent;padding:0;color:var(--bap-navy);font:inherit;font-size:13px;font-weight:800;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.bap-event-copy-link:hover{color:var(--bap-blue)}
.bap-copy-event-link.is-copied{border-color:var(--bap-green);color:var(--bap-green)!important}
