/* Shared editorial rhythm: Outfit headings, Montserrat copy and compact light headings. */
.be-editorial-main,.be-listing-main { clear:both; display:flow-root; background:#fff; color:#52685f; }
.be-wrap { width:min(1180px,calc(100% - 48px)); margin:0 auto; max-width:100%; }
.be-page-heading { clear:both; padding:36px 0; background:#f2f6f3; text-align:center; }
.be-page-heading h1 { font-family:var(--be-heading-font); font-weight:500; font-size:36px; line-height:1.2; color:#2d463c; letter-spacing:-.015em; margin:0; }
.be-page-heading .be-eyebrow,.be-eyebrow { font-family:var(--be-font); font-size:14px; font-weight:400; line-height:1.6; margin:0 0 10px; color:#6a8074; }
.be-page-heading .be-page-subtitle { max-width:700px; margin:14px auto 0; color:#6a8074; font-family:var(--be-font); font-size:14px; font-weight:400; line-height:1.7; }
.be-editorial-inner { padding:42px 0 48px; }
.be-editorial-content { font-family:var(--be-font); font-size:16px; line-height:1.85; overflow-wrap:break-word; }
.be-editorial-content p { font-size:inherit; line-height:inherit; margin:0 0 20px; }
.be-editorial-content h2,.be-editorial-content h3,.be-editorial-content h4,.be-about-contact h2 { font-family:var(--be-heading-font); font-weight:500; line-height:1.25; letter-spacing:-.01em; color:#2c463a; margin:32px 0 18px; padding:0; background:none; border:0; text-transform:none; }
.be-editorial-content h2 { font-size:30px; }.be-editorial-content h3 { font-size:25px; }.be-editorial-content h4 { font-size:21px; }
.be-editorial-content h2:first-child,.be-editorial-content h3:first-child { margin-top:0; }
.be-editorial-content h2::before,.be-editorial-content h2::after,.be-editorial-content h3::before,.be-editorial-content h3::after,.be-editorial-content h4::before,.be-editorial-content h4::after { display:none; }
.be-editorial-content strong,.be-editorial-content b { font-weight:500; }
.be-editorial-content a,.be-editorial-links a { color:#2e7669; text-underline-offset:4px; }
.be-editorial-content ul,.be-editorial-content ol { padding-left:22px; margin:0 0 24px; }
.be-editorial-content li { font-size:inherit; line-height:1.8; margin-bottom:10px; }
.be-editorial-content img { max-width:100%; height:auto; }
.be-editorial-content .wp-block-columns { gap:40px; margin:0 0 28px; align-items:flex-start; }
.be-editorial-content .wp-block-column { min-width:0; }
.be-editorial-content p:empty,.be-editorial-content .wp-block-spacer { display:none; }
.be-editorial-links { display:flex; flex-wrap:wrap; gap:18px 30px; padding-top:30px; margin-top:28px; }
.be-editorial-links a { font-family:var(--be-font); font-size:14px; font-weight:500; line-height:1.7; }
body.page-id-13 .be-editorial-content > h2,body.page-id-13 .be-editorial-content > p,body.page-id-13 .be-editorial-content > h3 { max-width:920px; margin-left:auto; margin-right:auto; }
.be-about-features { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin:28px 0; }
.be-about-feature { background:#f5f8f6; padding:26px 28px; border-radius:12px; }
.be-about-feature h3 { font-size:23px; margin:0 0 14px; }
.be-about-feature p { margin:0; }
.be-about-contact { max-width:920px; margin:42px auto 0; padding-top:32px; }
.be-about-contact h2 { font-size:30px; margin:0 0 26px; }
body.page-id-59 .be-editorial-content > .wp-block-columns { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:48px; }
body.page-id-59 .be-editorial-content .wp-block-column > .wp-block-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:center; gap:24px; }
body.page-id-59 .be-editorial-content figure { margin:0 0 26px; }
body.page-id-59 .be-editorial-content figure img { display:block; width:100%; height:auto; object-fit:contain; }
body.page-id-59 .be-editorial-content .wp-block-column:has(>figure) { padding:0; }
.be-person { display:grid; grid-template-columns:280px minmax(0,1fr); gap:40px; align-items:start; padding:0 0 38px; margin-bottom:38px; border-bottom:1px solid #edf1ee; }
.be-person:last-child { border:0; margin-bottom:0; padding-bottom:0; }
.be-person > figure { float:none!important; width:100%!important; max-width:none!important; margin:0!important; }
.be-person > figure img { display:block; width:100%!important; height:auto!important; border-radius:12px; }
.be-person-bio { min-width:0; }
.be-person-bio h3 { font-size:29px; margin-top:0; }
.be-person-bio .wp-block-group { display:block; }
.be-person-bio p:last-child { margin-bottom:0; }
.be-person-bio p img { width:16px; height:16px; }
body.page-id-21 .be-editorial-inner { max-width:920px; }
body.page-id-21 .be-editorial-content { font-size:16px; line-height:1.9; }
body.page-id-21 .be-editorial-content p { text-align:left!important; }
body.page-id-21 .be-editorial-content h2 { font-size:24px; margin-top:34px; text-align:left; }
body.page-id-2583 .be-editorial-inner { max-width:1000px; }
body.page-id-2583 .be-editorial-content > .wp-block-columns { display:grid; grid-template-columns:minmax(0,1fr) 270px; gap:42px; align-items:center; padding:28px; background:#f5f8f6; border-radius:12px; }
body.page-id-2583 .be-editorial-content h3 { font-size:28px; }
body.page-id-2583 .be-editorial-content .wp-block-image,body.page-id-2583 .be-editorial-content figure { margin:0; }
body.page-id-2583 .be-editorial-content figure img { width:220px; height:auto; margin:0 auto; display:block; }
body.page-id-2583 .be-editorial-content .wp-block-button__link { border-radius:8px; background:#307d78!important; color:#fff!important; padding:13px 22px; font-size:14px; font-weight:500; line-height:1.6; box-shadow:none; }
body.page-id-2583 .be-editorial-content .wp-block-button { margin-bottom:30px; }
body.page-id-2583 .be-editorial-content hr { display:none; }
body.page-id-2583 .be-editorial-content iframe { width:100%; display:block; height:350px; border:0; margin-top:8px; border-radius:12px; background:#fafcfb; }
/* Main-query post lists keep their existing order, categories and pagination. */
.be-listing-inner { padding:42px 0 48px; }
.be-post-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px 24px; }
.be-post-card { min-width:0; border-radius:12px; overflow:hidden; background:#f5f8f6; display:flex; flex-direction:column; }
.be-post-image { display:block; aspect-ratio:16/10; overflow:hidden; background:#eef3ef; }
.be-post-image picture { display:block; width:100%; height:100%; }
.be-post-image img { display:block; width:100%; height:100%; object-fit:cover; }
.be-post-copy { padding:22px; display:flex; flex-direction:column; flex:1; }
.be-post-copy time { color:#75897c; font-family:var(--be-font); font-size:12px; font-weight:400; line-height:1.6; margin-bottom:12px; }
.be-post-copy h2 { font-family:var(--be-heading-font); font-size:23px; font-weight:500; line-height:1.3; margin:0 0 14px; color:#2c463a; letter-spacing:-.01em; }
.be-post-copy h2 a { color:inherit; text-decoration:none; }
.be-post-copy p { font-family:var(--be-font); font-size:14px; line-height:1.8; margin:0 0 18px; color:#61786a; }
.be-post-copy .be-read-more { font-family:var(--be-font); font-size:13px; font-weight:500; color:#2e7669; text-decoration:none; margin-top:auto; padding:5px 0; }
.be-pagination { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin:34px 0 0; }
.be-pagination > * { display:inline-flex; align-items:center; justify-content:center; min-width:42px; min-height:42px; padding:8px 12px; border-radius:8px; background:#f0f5f1; color:#41624e; font-family:var(--be-font); font-size:13px; box-sizing:border-box; }
.be-pagination > .current { background:#307d78; color:#fff; }.be-pagination .dots { background:none; }
.be-catalog-link { display:block; text-align:center; margin-top:26px; font-family:var(--be-font); font-size:13px; color:#607d6d; }
/* Compact category and event banners replace the old oversized brown band. */
body > .top_page,body.tax-fat-event-category > .back1,body.page-id-2000 > .back1 { clear:both; background:#f2f6f3!important; background-image:none!important; padding:32px 24px!important; height:auto; min-height:0; box-sizing:border-box; }
body > .top_page::before,body.tax-fat-event-category > .back1::before,body.page-id-2000 > .back1::before { display:none!important; }
body > .top_page .top-tit,body.tax-fat-event-category > .back1 .top-tit,body.page-id-2000 > .back1 .top-tit { font-family:var(--be-heading-font); font-size:34px; line-height:1.25; font-weight:500; color:#2c463a; margin:0; text-transform:none; }
body > .top_page .under_tit { font-family:var(--be-font); font-size:14px; line-height:1.6; font-weight:400; color:#6a8074; margin:10px auto 0; max-width:900px; }
body > .top_page .under_tit strong { font-weight:500; color:inherit!important; }
body.tax-fat-event-category .cat-desc { clear:both; background:#fff; padding:32px 0; }
body.tax-fat-event-category .cat-desc > .content { display:grid; grid-template-columns:320px minmax(0,1fr); align-items:start; gap:38px; width:min(1180px,calc(100% - 48px)); padding:0; }
body.tax-fat-event-category .cat-desc > .content::before,body.tax-fat-event-category .cat-desc > .content::after { display:none!important; }
body.tax-fat-event-category .category-images,body.tax-fat-event-category .cat_description { width:auto!important; min-width:0; margin:0; padding:0; float:none; }
body.tax-fat-event-category .category-images img { display:block; width:100%; max-width:320px; height:auto; aspect-ratio:4/3; object-fit:cover; border-radius:12px; }
body.tax-fat-event-category .cat_description,body.tax-fat-event-category .cat_description p { font-family:var(--be-font); font-size:15px; line-height:1.85; color:#60766a; }
body.tax-fat-event-category .cat_description strong { font-weight:500; }
body.tax-fat-event-category .all_course { background:#fff; padding:8px 0 44px; }
body.tax-fat-event-category .all_course > .content { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; width:min(1180px,calc(100% - 48px)); padding:0; }
body.tax-fat-event-category .all_course > .content::before,body.tax-fat-event-category .all_course > .content::after { display:none; }
body.tax-fat-event-category .all_course .box { display:flex; flex-direction:column; float:none!important; width:100%!important; min-width:0; height:auto; margin:0!important; padding:0!important; border:0; background:#f5f8f6; border-radius:12px; overflow:hidden; }
body.tax-fat-event-category .box-img { margin:0; width:100%; height:auto; aspect-ratio:16/10; }
body.tax-fat-event-category .box-img img { display:block; width:100%; height:100%; object-fit:cover; }
body.tax-fat-event-category .box-img picture,body.tax-fat-event-category .box-img a { display:block; width:100%; height:100%; }
body.tax-fat-event-category .box_content { padding:20px 22px; flex:1; }
body.tax-fat-event-category .box_content h2 { font-family:var(--be-heading-font); font-size:22px; font-weight:500; line-height:1.3; margin:0 0 14px; }
body.tax-fat-event-category .box_content h2 a { color:#2c463a; }
body.tax-fat-event-category .box_price { font-family:var(--be-font); font-size:14px; font-weight:500; color:#3f7867; }
/* Event details and a key-free location embed. */
body.single-fat-event .fat-event-single > .content { width:min(1180px,calc(100% - 48px)); padding:32px 0 44px; }
body.single-fat-event .fat-event-single > .content > .fat-row { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:36px; margin:0; }
body.single-fat-event .fat-event-single .fat-row::before,body.single-fat-event .fat-event-single .fat-row::after { display:none; }
body.single-fat-event .fat-event-single .fat-col-md-12:has(>.fat-event-thumb:empty) { display:none; }
body.single-fat-event .fat-event-single .fat-col-left,body.single-fat-event .fat-event-single .fat-col-right { float:none; width:auto; min-width:0; padding:0; margin:0; border:0; }
body.single-fat-event .fat-event-single .fat-col-right { background:#f6f8f7; padding:24px; border-radius:12px; align-self:start; }
body.single-fat-event .fat-event-single-content { font-family:var(--be-font); font-size:16px; line-height:1.85; }
body.single-fat-event .fat-event-single-content p,body.single-fat-event .fat-event-single-content li { font-size:inherit; line-height:inherit; }
body.single-fat-event .fat-event-single-content h2,body.single-fat-event .fat-event-single-content h3,body.single-fat-event .fat-event-single-content h4 { font-family:var(--be-heading-font); font-weight:500; color:#2e493c; background:none; border:0; line-height:1.3; text-transform:none; }
body.single-fat-event .fat-event-single-content h2 { font-size:28px; }body.single-fat-event .fat-event-single-content h3 { font-size:24px; }body.single-fat-event .fat-event-single-content h4 { font-size:21px; }
body.single-fat-event .fat-event-single-content h2 strong,body.single-fat-event .fat-event-single-content h3 strong,body.single-fat-event .fat-event-single-content h4 strong { font-weight:inherit; }
body.single-fat-event .fat-event-popup-info { background:#fff; color:#648071; border:0; padding:16px 0 0; }
body.single-fat-event .fat-event-popup-info .content { width:min(1180px,calc(100% - 48px)); }
body.single-fat-event .fat-event-popup-time,body.single-fat-event .fat-event-popup-location { font-size:13px; line-height:1.7; }
.be-event-map { margin-top:24px; }
.be-event-map iframe { display:block; width:100%; height:300px; border:0; border-radius:10px; background:#edf3ef; }
.be-event-map > a { display:block; font-family:var(--be-font); font-size:12px; color:#327464; margin-top:12px; line-height:1.7; }
body.single-fat-event .croll-book { display:block; background:#307d78; color:#fff; border-radius:8px; padding:12px 16px; font-family:var(--be-font); font-size:14px; line-height:1.6; font-weight:500; text-transform:none!important; text-align:center; }
body.single-fat-event .fat-event-organizer-thumb img { object-fit:contain; border-radius:0; }
/* Restyle the existing cookie plugin without changing consent behaviour. */
body #cookie-notice { width:min(440px,calc(100% - 24px)); min-width:0; left:12px; right:auto; bottom:max(12px,env(safe-area-inset-bottom)); margin:0; padding:0; background:#fff!important; color:#5a7063; border:1px solid #e3ebe5; border-radius:12px; box-shadow:0 5px 26px #193a241c; font-family:var(--be-font); z-index:9999; }
body #cookie-notice .cookie-notice-container { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; padding:16px 44px 16px 18px; color:#5a7063!important; text-align:left; }
body #cookie-notice #cn-notice-text { display:block; font-family:var(--be-font); font-size:12px; line-height:1.7; font-weight:400; margin:0; }
body #cookie-notice #cn-notice-text a { color:#307d78; text-decoration:underline; text-underline-offset:3px; }
body #cookie-notice #cn-notice-buttons { display:flex; align-items:center; margin:0; }
body #cookie-notice .cn-button { display:inline-flex; align-items:center; justify-content:center; min-height:40px; padding:9px 13px; margin:0; border:0; border-radius:7px; color:#fff; background:#307d78!important; font-family:var(--be-font); font-size:12px; line-height:1.6; font-weight:500; }
body #cookie-notice .cn-close-icon { width:30px; height:36px; top:10px; right:7px; margin:0; opacity:.65; }
body #cookie-notice .cn-close-icon::before,body #cookie-notice .cn-close-icon::after { background:#617a6a; height:12px; width:1px; }
.be-editorial-main a:focus-visible,.be-listing-main a:focus-visible,#cookie-notice a:focus-visible,#cookie-notice button:focus-visible { outline:2px solid #307d78!important; outline-offset:3px; }
@media(max-width:1000px) {
 .be-post-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .be-person { grid-template-columns:240px minmax(0,1fr); gap:28px; }
 body.single-fat-event .fat-event-single > .content > .fat-row { grid-template-columns:minmax(0,1fr) 290px; gap:26px; }
 body.tax-fat-event-category .cat-desc > .content { grid-template-columns:260px minmax(0,1fr); gap:28px; }
 body.tax-fat-event-category .all_course > .content { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:780px) {
 body.page-id-59 .be-editorial-content > .wp-block-columns { grid-template-columns:minmax(0,1fr); gap:28px; }
 body.page-id-59 .be-editorial-content > .wp-block-columns > .wp-block-column:last-child { max-width:520px; width:100%; margin:0 auto; }
 body.single-fat-event .fat-event-single > .content > .fat-row { grid-template-columns:minmax(0,1fr); }
 body.single-fat-event .fat-event-single .fat-col-right { max-width:none; }
 .be-event-map iframe { height:340px; }
 body.tax-fat-event-category .cat-desc > .content { grid-template-columns:minmax(0,1fr); gap:24px; }
 body.tax-fat-event-category .category-images img { max-width:360px; margin:0 auto; }
}
@media(max-width:620px) {
 .be-wrap { width:calc(100% - 36px); }
 .be-page-heading { padding:28px 0; }.be-page-heading h1 { font-size:30px; }
 .be-page-heading .be-page-subtitle { font-size:13px; }
 .be-editorial-inner,.be-listing-inner { padding:28px 0 36px; }
 .be-editorial-content { font-size:15px; line-height:1.85; }
 .be-editorial-content h2 { font-size:27px; }.be-editorial-content h3 { font-size:23px; }
 .be-about-features { grid-template-columns:minmax(0,1fr); gap:16px; }
 .be-about-feature { padding:22px; }.be-about-feature h3 { font-size:22px; }
 .be-about-contact { margin-top:30px; padding-top:18px; }.be-about-contact h2 { font-size:27px; }
 .be-person { grid-template-columns:minmax(0,1fr); gap:24px; padding-bottom:28px; margin-bottom:28px; }
 .be-person > figure { max-width:360px!important; margin:0 auto!important; }
 .be-person-bio h3 { font-size:27px; }
 body.page-id-21 .be-editorial-content { font-size:15px; line-height:1.85; }
 body.page-id-21 .be-editorial-content h2 { font-size:22px; }
 body.page-id-2583 .be-editorial-content > .wp-block-columns { grid-template-columns:minmax(0,1fr); gap:26px; padding:22px; }
 body.page-id-2583 .be-editorial-content h3 { font-size:25px; }
 body.page-id-2583 .be-editorial-content iframe { height:360px; }
 .be-post-grid { grid-template-columns:minmax(0,1fr); gap:22px; }
 .be-post-copy { padding:20px; }.be-post-copy h2 { font-size:23px; }
 body > .top_page,body.tax-fat-event-category > .back1,body.page-id-2000 > .back1 { padding:26px 18px!important; }
 body > .top_page .top-tit,body.tax-fat-event-category > .back1 .top-tit,body.page-id-2000 > .back1 .top-tit { font-size:28px; }
 body.tax-fat-event-category .cat-desc { padding:26px 0; }
 body.tax-fat-event-category .cat-desc > .content,body.tax-fat-event-category .all_course > .content { width:calc(100% - 36px); }
 body.tax-fat-event-category .all_course > .content { grid-template-columns:minmax(0,1fr); gap:22px; }
 body.single-fat-event .fat-event-single > .content { width:calc(100% - 36px); padding:26px 0 36px; }
 body.single-fat-event .fat-event-popup-info .content { width:calc(100% - 36px); }
 body.single-fat-event .fat-event-single-content { font-size:15px; }
 body.single-fat-event .fat-event-single-content h2 { font-size:26px; }
 body.single-fat-event .fat-event-single .fat-col-right { padding:22px; }
 body #cookie-notice .cookie-notice-container { grid-template-columns:minmax(0,1fr); gap:10px; padding:15px 38px 15px 16px; }
 body #cookie-notice .cn-button { min-height:38px; }
}
