:root{--bfi-site:#f7dad7;--bfi-rose:#f7dad7;--bfi-rose-dark:#a84f64;--bfi-blush:#fff8f7;--bfi-gold:#b9904d;--bfi-ink:#2c2530;--bfi-muted:#746d77;--bfi-line:#f7dad7;--bfi-white:#fff}
.bfi-wrap,.bfi-wrap *{box-sizing:border-box}
.bfi-wrap{font-family:Inter,Arial,sans-serif;color:var(--bfi-ink);padding:30px 0 64px;overflow:visible!important}
.bfi-shell{width:min(1280px,calc(100vw - 40px))!important;max-width:none!important;margin-left:50%!important;margin-right:0!important;transform:translateX(-50%)!important}
.bfi-heading{text-align:center;padding:12px 24px 42px}
.bfi-mark{display:block;color:var(--bfi-gold);font-size:20px;line-height:1;margin-bottom:8px}.bfi-kicker{display:block;color:var(--bfi-rose);font-size:14px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin-bottom:11px}
.bfi-heading h2{margin:0!important;font-family:"Cormorant Garamond",Georgia,serif!important;font-size:clamp(34px,4vw,48px)!important;line-height:.98!important;font-weight:600!important;letter-spacing:.01em!important;color:var(--bfi-ink)!important;text-transform:none!important}
.bfi-heading-line{display:block;width:120px;height:1px;margin:24px auto;background:linear-gradient(90deg,transparent,var(--bfi-gold),transparent)}.bfi-heading p{margin:0 auto;max-width:760px;color:var(--bfi-muted);font-size:16px;line-height:1.7}
.bfi-alert{width:100%;margin:0 0 18px;padding:15px 18px;border-radius:14px;font-weight:700}.bfi-success{background:#eefaf3;color:#24653c;border:1px solid #ccebd8}.bfi-error{background:#fff2f2;color:#9e3333;border:1px solid #f2cccc}
.bfi-form{width:100%!important;background:var(--bfi-white)!important;border:1px solid var(--bfi-line)!important;border-radius:24px!important;box-shadow:0 24px 70px rgba(65,42,49,.08)!important;padding:34px!important}
.bfi-details-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:22px;margin-bottom:34px}
.bfi-detail-card{background:linear-gradient(145deg,#fff,#fff9f8);border:1px solid var(--bfi-line);border-radius:18px;padding:28px;min-width:0}
.bfi-section-title,.bfi-course-heading{display:flex;gap:14px;align-items:center}.bfi-section-title{margin-bottom:24px}.bfi-course-heading{margin:0 0 20px}
.bfi-step{flex:0 0 42px;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--bfi-site);color:var(--bfi-rose-dark);font-weight:800;border:1px solid #f1cad4}
.bfi-section-title h3,.bfi-course-heading h3{margin:0 0 4px!important;font-family:"Cormorant Garamond",Georgia,serif!important;font-size:27px!important;line-height:1.05!important;color:var(--bfi-rose-dark)!important;font-weight:700!important;text-transform:none!important}.bfi-section-title p,.bfi-course-heading p{margin:0;color:var(--bfi-muted);font-size:13px;line-height:1.5}
.bfi-grid{display:grid;gap:18px}.bfi-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.bfi-field{display:block!important;min-width:0}.bfi-field>span{display:block;margin-bottom:8px;font-size:13px;font-weight:700;color:var(--bfi-ink)}
.bfi-field input{display:block!important;width:100%!important;max-width:none!important;height:54px!important;border:1px solid #ddd2d6!important;border-radius:12px!important;background:#fff!important;padding:0 16px!important;font-family:Inter,Arial,sans-serif!important;font-size:15px!important;color:var(--bfi-ink)!important;outline:none!important;box-shadow:none!important;transition:.2s!important}.bfi-field input::placeholder{color:#aaa1a6}.bfi-field input:focus{border-color:var(--bfi-rose)!important;box-shadow:0 0 0 4px rgba(247,218,215,.55)!important}
.bfi-course-section{padding:2px 0 30px}.bfi-courses{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr;gap:16px}
.bfi-course{display:block!important;cursor:pointer;margin:0!important;height:100%}.bfi-course>input{position:absolute!important;opacity:0!important;pointer-events:none!important}
.bfi-course-card{position:relative;display:flex!important;gap:0;height:100%;min-height:210px;padding:21px;border:1px solid var(--bfi-line);border-radius:16px;background:#fff;transition:.22s;overflow:hidden}
.bfi-course-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:transparent;transition:.22s}.bfi-course-card:hover{transform:translateY(-2px);border-color:var(--bfi-site);box-shadow:0 12px 28px rgba(74,49,57,.08)}.bfi-course>input:checked+.bfi-course-card{border-color:var(--bfi-rose);background:linear-gradient(145deg,#fff,var(--bfi-blush));box-shadow:0 0 0 3px rgba(247,218,215,.55)}.bfi-course>input:checked+.bfi-course-card:before{background:var(--bfi-rose)}
.bfi-radio{position:absolute;right:16px;top:16px;width:21px;height:21px;border:2px solid #cbbdc2;border-radius:50%;background:#fff}.bfi-course>input:checked+.bfi-course-card .bfi-radio{border-color:var(--bfi-rose-dark)}.bfi-course>input:checked+.bfi-course-card .bfi-radio:after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--bfi-rose-dark)}
.bfi-course-copy{display:flex;min-width:0;width:100%;flex-direction:column;gap:7px;padding-right:25px}.bfi-course-copy strong{font-family:"Cormorant Garamond",Georgia,serif;font-size:21px;line-height:1.15;color:var(--bfi-ink)}.bfi-course-copy em{display:block;min-height:18px;font-style:normal;font-size:13px;font-weight:900;color:#b45b6f;text-transform:uppercase;letter-spacing:.055em}.bfi-course-copy em.is-empty{visibility:hidden}.bfi-course-copy small{font-size:13px;color:var(--bfi-gold);line-height:1.4;font-weight:700;min-height:37px}.bfi-schedule{display:flex;flex-direction:column;gap:3px;margin-top:auto;padding-top:11px;border-top:1px solid #f0e6e8;font-size:13px;font-weight:700;line-height:1.45;color:#4e464f}.bfi-schedule>span{display:block}
.bfi-consent-section{display:grid;grid-template-columns:240px 1fr;border:1px solid #eadfd8;border-radius:17px;background:linear-gradient(90deg,#fffaf5 0%,#fff 36%);overflow:hidden}.bfi-consent-side{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px;border-right:1px solid #eadfd8}.bfi-consent-icon{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;border:2px solid var(--bfi-rose);color:var(--bfi-rose);font-size:27px;margin-bottom:12px}.bfi-consent-side strong{font-family:"Cormorant Garamond",Georgia,serif;color:var(--bfi-rose-dark);font-size:24px}.bfi-consent-side small{margin-top:5px;color:var(--bfi-muted);font-size:12px;line-height:1.45}.bfi-consent-box{padding:24px 28px}.bfi-consent-box h4{margin:0 0 12px!important;font-size:17px!important;color:var(--bfi-ink)!important}.bfi-consent-box p,.bfi-consent-box li{color:#625a63;font-size:13px;line-height:1.65}.bfi-consent-box ul{padding-left:20px;margin:10px 0}.bfi-check{display:flex!important;align-items:center;gap:12px;margin-top:16px;cursor:pointer}.bfi-check input{position:absolute;opacity:0}.bfi-checkmark{flex:0 0 23px;width:23px;height:23px;border:2px solid #c9bcc0;border-radius:6px;background:#fff;position:relative}.bfi-check input:checked+.bfi-checkmark{background:var(--bfi-rose-dark);border-color:var(--bfi-rose-dark)}.bfi-check input:checked+.bfi-checkmark:after{content:"✓";position:absolute;color:#fff;font-size:15px;left:4px;top:-1px}
.bfi-submit-wrap{text-align:center;padding-top:28px}.bfi-submit{width:min(100%,390px)!important;height:58px!important;border:0!important;border-radius:12px!important;background:linear-gradient(90deg,#e8aeb5,#c97082)!important;color:#fff!important;font-size:15px!important;font-weight:800!important;letter-spacing:.04em!important;text-transform:uppercase!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:12px!important;cursor:pointer!important;transition:.2s!important;box-shadow:0 14px 30px rgba(168,79,100,.20)!important}.bfi-submit:hover{transform:translateY(-2px);box-shadow:0 18px 34px rgba(168,79,100,.26)!important}.bfi-submit:disabled{opacity:.7;cursor:wait;transform:none}.bfi-submit-wrap small{display:block;margin-top:10px;color:#948a91;font-size:12px}
@media(max-width:1100px){.bfi-shell{width:min(1000px,calc(100vw - 32px))!important}.bfi-details-grid{grid-template-columns:1fr}.bfi-courses{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.bfi-wrap{padding-top:12px}.bfi-shell{width:calc(100vw - 22px)!important}.bfi-heading{padding:14px 8px 28px}.bfi-heading h2{font-size:30px!important}.bfi-form{padding:16px!important;border-radius:18px!important}.bfi-detail-card{padding:22px 18px}.bfi-grid-2,.bfi-courses,.bfi-consent-section{grid-template-columns:1fr}.bfi-courses{grid-auto-rows:auto;align-items:start}.bfi-course{height:auto;align-self:start}.bfi-course-card{height:auto;min-height:0}.bfi-consent-side{border-right:0;border-bottom:1px solid #eadfd8;padding:22px}.bfi-consent-box{padding:22px 18px}.bfi-submit{width:100%!important}}

/* Card comun: Balet avansați + Pointe Technique */
.bfi-course-combined{grid-column:span 2}
.bfi-course-combined .bfi-course-copy{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding-right:25px}
.bfi-course-part{display:flex;min-width:0;flex-direction:column;gap:7px}
.bfi-course-part-secondary{margin-left:24px;padding-left:24px;border-left:1px solid #f0e0e3}
.bfi-course-combined .bfi-schedule{margin-top:auto}
@media(max-width:1100px){.bfi-course-combined{grid-column:1/-1}}
@media(max-width:700px){.bfi-course-combined{grid-column:auto}.bfi-course-combined .bfi-course-copy{grid-template-columns:1fr;gap:20px}.bfi-course-part-secondary{margin-left:0;padding-left:0;padding-top:20px;border-left:0;border-top:1px solid #f0e0e3}}

/* Custom fields */
.bfi-custom-fields-section{margin-top:24px}.bfi-custom-fields-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bfi-field textarea,.bfi-field select{width:100%;box-sizing:border-box;border:1px solid #e9dfe1;border-radius:12px;background:#fff;padding:13px 14px;font:inherit;color:#4f4850;outline:none}.bfi-field textarea:focus,.bfi-field select:focus{border-color:var(--bfi-rose-dark);box-shadow:0 0 0 3px color-mix(in srgb,var(--bfi-rose-dark) 13%,transparent)}.bfi-field-textarea{grid-column:1/-1}.bfi-custom-check{display:flex;align-items:center;gap:9px;min-height:48px}.bfi-custom-check input{width:19px!important;height:19px!important;margin:0!important}
@media(max-width:767px){.bfi-custom-fields-grid{grid-template-columns:1fr}}
