/* Editorial layout aligned with the fitness and HYROX pages. */
.bf-page{color:var(--ink);background:var(--paper);font-family:Rubik,Arial,sans-serif;font-size:16px;line-height:26px}
.bf-page .bf-wrap,.bf-page .bf-details{width:100%;max-width:1472px;margin-inline:auto;padding:64px 26px}
.bf-page h2{font-size:32px;line-height:40px;font-weight:400;margin:0 0 24px;color:var(--ink)}
.bf-page p{margin:0 0 20px}.bf-page p:last-child{margin-bottom:0}
.bf-page .bf-booking{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;align-items:stretch;scroll-margin-top:120px}
.bf-card{background:#fff;border:1px solid #e0e3e0;border-radius:8px;padding:32px;min-width:0;overflow:hidden}
.bf-page img{display:block;max-width:100%;height:auto;border-radius:8px}
.bf-page .bf-photo-card{position:relative;padding:0;min-height:420px}
.bf-page .bf-photo-card img{position:absolute;inset:0;width:100%;height:100%!important;object-fit:cover;border-radius:0}
.bf-intro-band,.bf-details-band{background:#fff}
.bf-intro{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:50px;align-items:center}
.bf-aside{min-width:0}.bf-aside img{width:100%;margin:0 0 24px}
.bf-page .bf-benefits{list-style:none;margin:24px 0;padding:0;display:grid;gap:16px}
.bf-page .bf-benefits li{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:12px;padding:0;margin:0;min-width:0}
.bf-page .bf-benefits li::before{content:none}
.bf-page .bf-benefits .dgs-icon{display:block;width:16px;height:16px;margin-top:5px;color:#82b29a;flex-shrink:0}
.bf-intro .bf-benefits{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px}
.bf-band{background:var(--paper)}
.bf-band .bf-reading{max-width:952px;margin:auto;padding:64px 26px}
.bf-details-intro{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:50px;align-items:center;margin-bottom:48px}
.bf-detail-photo img{width:100%;aspect-ratio:16/10;object-fit:cover}
.bf-detail-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;align-items:stretch}
.bf-detail-card{min-width:0;background:var(--paper);border-radius:8px;padding:32px}
.bf-detail-card h2{font-size:24px;line-height:32px}
.bf-page a:not(.dgs-button):not(.elementor-button):not(.dgs-action){text-decoration:underline;text-underline-offset:4px;color:#527c65}
.bf-page a:not(.dgs-button):not(.elementor-button):not(.dgs-action):hover{color:#243b2e}
.bf-page .dgs-button,.bf-page .elementor-button,.bf-page .dgs-form button{background:var(--green);color:#fbf9f6;border:1px solid var(--green);border-radius:30px;padding:15px 24px;font-size:15px;line-height:23px;text-decoration:none;display:inline-flex;justify-content:center;align-items:center;min-height:55px;gap:8px}
.bf-page .bf-closing{text-align:center;background:linear-gradient(151deg,#fbf9f6,#f4f6ef,#e0ebe0);padding:72px 26px}
.bf-closing h2{margin-bottom:24px}
@media(max-width:767px){
 .bf-page .bf-wrap,.bf-page .bf-details,.bf-band .bf-reading{padding:48px 22px}
 .bf-page h2{font-size:27px;line-height:35px}
 .bf-page .bf-booking,.bf-intro,.bf-details-intro,.bf-detail-cards{grid-template-columns:minmax(0,1fr);gap:24px}
 .bf-card,.bf-detail-card{padding:24px}
 .bf-card h2,.bf-detail-card h2{font-size:24px;line-height:32px}
 .bf-page .bf-photo-card{min-height:0;aspect-ratio:4/3}
 .bf-intro .bf-benefits{grid-template-columns:minmax(0,1fr)}
 .bf-details-intro{margin-bottom:24px}.bf-detail-photo{order:2}
 .bf-page .bf-closing{padding:56px 22px}
}
