/* =========================================================
   00) SETTINGS / TOKENS
========================================================= */
:root{
  --container-max: 1440px;
  --content-max: 1440px;
  --section-pad-y: clamp(48px, 5vw, 96px);
  --section-pad-x: clamp(16px, 3vw, 40px);
  --stack-gap: clamp(16px, 2vw, 28px);

  --radius-lg: 25px;
  --radius-md: 12px;
  --radius-sm: 10px;

  --space-1: 10px;
  --space-2: 20px;
  --space-3: 25px;
  --space-4: 50px;
  --space-5: 75px;
  --space-6: 100px;
}

/* =========================================================
   01) BASE
========================================================= */
body{
  background-color: #f7f7f7 !important;
}

.entry-header h1{
  display:none;
}


#site-logo .site-title img.bb-logo {
    position: relative;
    z-index: 99;
}
.footer-text a{
	color: var(--bb-headings-color);
}

.custom-button {
 min-width: 250px;
}

.wp-block-columns p {
    padding-left: 0px !important;
    padding-right: 0px !important;
}

/* =========================================================
   02) LAYOUT
========================================================= */
.container{
  max-width: var(--container-max) !important;
}

/* Default content width container */
.entry-content > *:not(.alignfull):not(.alignwide),
.wp-site-blocks > *:not(.alignfull):not(.alignwide) {
  max-width: var(--content-max);

  /* padding-left: var(--section-pad-x);
  padding-right: var(--section-pad-x); */
} 

/* Wide/full alignment still centered */
  .entry-content .alignwide{
  max-width: min(1600px, calc(100% - (2 * var(--section-pad-x))));
  margin-left: auto;
  margin-right: auto;
}



.alignfull{

    margin-left: calc((-100vw + 100%) / 2) !important;
    padding-left: calc((105vw - 100%) / 2) !important;
    margin-right: calc((-100vw + 100%) / 2) !important;
    padding-right: calc((105vw - 100%) / 2) !important;

}

.wp-block-group-is-layout-grid.alignfull{

    margin-left: 20px !important;
    padding-left: 0px !important;
    margin-right: 20px !important;
    padding-right: 0px !important;

}

/* ===== Section wrapper convention ===== */
/* Apply to Group/Cover that you label with class "section" */
.section{
  padding-top: var(--section-pad-y);
  padding-bottom: var(--section-pad-y);
}


/* Make sure inner content of full-width sections stays boxed */
.section.alignfull > *{
  max-width: var(--content-max);
  /* margin-left: auto;
  margin-right: auto; */
  padding-left: var(--section-pad-x);
  padding-right: var(--section-pad-x);
}


/* Hero block */

.alignfull.hero-block{

    margin-left: calc((-95vw + 100%) / 2) !important;
    padding-left: calc((95vw - 100%) / 2) !important;
    margin-right: calc((-95vw + 100%) / 2) !important;
    padding-right: calc((95vw - 100%) / 2) !important;

}

.alignfull.hero-block.with-cards{

    margin-left: calc((-95vw + 100%) / 2) !important;
    padding-left: calc((95vw - 100%) / 2) !important;
    margin-right: calc((-95vw + 100%) / 2) !important;
    padding-right: calc((95vw - 100%) / 2) !important;

}

.hero-block{

    border-radius: var(--radius-lg) !important;

}

/* Remove section padding inside hero block */
.hero-block .section{
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Small padding variant class */
.hero-block.small-padding{ 
        padding: 50px 50px;
}


/* Panel */
.site-header .buddypanel_logo_display_on {
    display: block !important;
}


/* WP layout tweaks */
.is-layout-grid{
  margin: 0 !important;
  gap: 25px;
}
body .is-layout-flex{
  display: flex;
  gap: 100px !important; /* consider reducing on smaller screens */
}



/* Remove gap when inside the specific group */
.wp-container-core-group-is-layout-64b26803 {
  gap: 10px !important;
}

body .wp-block-cover .wp-block-cover-image-text, body .wp-block-cover .wp-block-cover-text, body .wp-block-cover h2, body .wp-block-cover-image .wp-block-cover-image-text, body .wp-block-cover-image .wp-block-cover-text, body .wp-block-cover-image h2{
    /* font-size: 1.8rem !important; */
    font-weight: 500 !important;
}
/* =========================================================
   03) UTILITIES
========================================================= */
.wffa-margin-top{ 
  margin-top: 100px; 
}
.has-transparent-background-color{ 
  background-color: transparent !important;
}

li.red-bullet::marker {
  color:#E42046 !important;
  font-weight: bold;
} 


/* WordPress blocks */



/* =========================================================
   04) COMPONENTS
========================================================= */
/* Cards */
.card-container{
  border-radius: var(--radius-sm);
  background-color: #fff;
  padding: 25px !important;
}
.card-container img{
  border-radius: 8px;
  height: 175px;
  object-fit: cover;
}

.card-container:hover{
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  transition: box-shadow 0.3s ease-in-out;
  background: #EFEFEF;
}
.card-container .wp-block-post-title{
  padding: 35px 0;
}
.card-container .wp-block-post-title a{
  color: var(--bb-headings-color);
  font-weight: 500;
  font-size: 20px;
}

/* Solid cards colour BG + header & text */
.card-block-colorbg-header-text{
  padding: var(--space-4);
  font-size: 14px;
  border-radius: var(--radius-sm);
}

/* Default Hero Block */
.default-hero-block{
  margin: 100px 0;
}

.default-hero-block .hero-block{
  padding: var(--space-5) 0;
}
.default-hero-block .wp-block-group{
  max-width: 100% !important;
}
.default-hero-block .is-layout-flex{
  gap: 0; /* mobile-first */
}

/* News Block */
.news-container-block{
  margin: 100px 0;
}
.news-container-block .card-container{
  background-color: transparent;
}

/* Misc */
.header-left-text-right-button{
  padding: 75px 50px 100px 50px !important;
}


.home-page .upcoming-events-query-stack{
  /* margin-top: -100px !important; */
}

hr.wp-block-separator{
  border-color: transparent;
  height: 0.1px;
  border-bottom: 0;
  background-color: #959697 !important;
}

.readme-primary a{
  color: var(--wp--preset--color--accent-1);
}

/* Footer */
.is-layout-flex.wp-block-social-links{
  gap: 10px !important;
}
.footer-widget .widget{
  border-radius: var(--bb-block-radius);
  padding: 0 !important;
}
.wp-block-social-links .wp-social-link svg{
  height: 2em;
  width: 2em;
}

/* Dashboard */
.page-id-1209 .has-white-background-color a {
    background-color: var(--wp--preset--color--white) !important;
}

.page-id-1209 .alignfull.hero-block {
        margin-left: auto !important;
        padding-left: calc((95vw - 100%) / 2) !important;
        margin-right: auto !important;
        padding-right: calc((95vw - 100%) / 2) !important;
    }



/* =========================================================
   05) BUDDYBOSS / WP OVERRIDES
========================================================= */
/* Hide panel on certain pages */
.page-id-14 .buddypanel{ display:none; }
.page-id-14.bb-buddypanel:not(.register) .site,
.page-id-14.bb-buddypanel:not(.activate) .site{ margin:0; }
.page-id-14.bb-buddypanel.sticky-header:not(.bb-sfwd-aside) .site-header{ width:100%; }

/* Widgets */
.widget{ padding: 20px !important; }
.bb-rl-container-inner{
  width: 100%;
  max-width: inherit !important;
}

/* Dashboard - make responsive */
.dashboard{
  max-width: 800px;
  width: 100%;
}


button, .button {
 
    border-radius: 999px !important;
}

.mepr-price-box-head{
  display: flex;
  flex-direction: column;
  justify-content: stretch;
}

/* POST IMAGE FULL WIDTH */

.single-post:not(.has-sidebar, .elementor-template-full-width) .content-area, .single-post:not(.has-sidebar, .elementor-template-full-width) .site-content-grid, .single-attachment:not(.has-sidebar, .elementor-template-full-width) .content-area, .single-attachment:not(.has-sidebar, .elementor-template-full-width) .site-content-grid

 {
    margin-top: 50px !important;
}
figure.entry-img, .single .post.full-fi-invert figure.entry-img {
    width: inherit !important;
    margin-left: calc((-75vw + 100%) / 2) !important;
    padding-left: inherit !important;
    margin-right: calc((-75vw + 100%) / 2) !important;
    padding-right: inherit !important;
    border-radius: 10px !important;
}


/* Groups and Forums cards */
.wffa-bbgroups .wffa-bbgroups__card,
.wffa-bbforums .wffa-bbforums__card{
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: var(--radius-md);
  padding: 20px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 250px;
  background-color: #fff;
}
.wffa-bbgroups .wffa-bbgroups__title,
.wffa-bbforums .wffa-bbforums__title{
  margin: 0 0 0.75rem 0;
  font-size: 1.35rem;
  line-height: 1.2;
  font-weight: 700;
}
.wffa-bbgroups .wffa-bbgroups__title a,
.wffa-bbforums .wffa-bbforums__title a{
  color: var(--bb-headings-color) !important;
}

/* =========================================================
   06) Memberpress Overrides
========================================================= */
/* Pricing page */

.cb-mq6r6hmm .jet-listing-dynamic-field.display-inline
 {
      justify-content: center !important;
}

.jet-listing-dynamic-field-block .cb-mq6r6hmm{
  padding: 0px !important;
}

.mepr-price-menu {
  
    padding: 0px !important;
}


.mepr-price-box-price{
 font-size: 25px !important;
}

#content .mepr-price-menu .mepr-price-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: column;
    flex-flow: column;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    margin: 0 10px 30px;
    padding: 0px !important;
   /*  width: 350px !important; */
    -webkit-transition: all linear 0.2s;
    transition: all linear 0.2s;
}

.mepr-price-menu .mepr-price-boxes.mepr-3-col .mepr-price-box-content{
  border-radius: 10px !important;
  border: none !important;
}
.mepr-price-menu .mepr-price-boxes.mepr-3-col .mepr-price-box-content:hover{
  border-radius: 10px !important;
 
}

.mepr-price-boxes .mepr-price-box:hover {

    border-radius: 10px !important;
    background-color: #EFEFEF !important; 
}

.mepr-price-box-button a{
  background-color: var(--bb-primary-color);
  color: #fff !important;
  border: none !important;
}

.mepr-price-box-button a:hover{
  background-color: var(--bb-primary-button-background-hover) !important;
  color: #fff !important;

}




/*
*  Membership default colours and fonts
*  

/* =========================================================
   06) RESPONSIVE (mobile-first)
========================================================= */

/* <= 600px (tablet) */
@media (max-width: 600px){

  .alignfull.hero-block{

    margin-left: inherit !important;
    padding-left: calc((95vw - 100%) / 2) !important;
    margin-right: inherit !important;
    padding-right: calc((95vw - 100%) / 2) !important;

}

.alignfull.hero-block.with-cards{

    margin-left: inherit !important;
    padding-left: calc((95vw - 100%) / 2) !important;
    margin-right: inherit !important;
    padding-right: calc((95vw - 100%) / 2) !important;

}

.section.alignfull > * {
    max-width: var(--content-max);
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--space-3);
    padding-right: var(--space-3);
}

.alignfull {
        margin-left: calc((-100vw + 100%) / 2) !important;
        padding-left: 40px !important;
        margin-right: calc((-100vw + 100%) / 2) !important;
        padding-right: 40px;
    }


.site-title img {

    padding: 15px 0;

}


  /* .wp-block-columns{
    margin: 15px; /* consider moving this to base if it’s always wanted 
  } */

.has-huge-font-size {
    font-size: 35px !important;
}
    
.header-left-text-right-button {
    padding: 25px 0px 15px 0px !important;
}

    

body .is-layout-flex {
    display: flex;
     gap: 15px !important;
}   

.wp-block-columns{
    padding-left: 0px !important;
    padding-right: 0px !important;
    margin-left: 0px !important;
    margin-right: 0px !important;
} 

.wp-block-columns p {
    padding-left: 0px !important;
    padding-right: 0px !important;
}

hr.wp-block-separator {

    margin-top: 50px;
}

body .wp-block-cover .wp-block-cover-image-text, body .wp-block-cover .wp-block-cover-text, body .wp-block-cover h2, body .wp-block-cover-image .wp-block-cover-image-text, body .wp-block-cover-image .wp-block-cover-text, body .wp-block-cover-image h2{
    font-size: 1.8rem !important;
    font-weight: 600;
}


}

/* >= 796px (large tablet / small desktop) */
@media (min-width: 601px){

 .alignfull.hero-block{

    margin-left: inherit !important;
    padding-left: calc((95vw - 100%) / 2) !important;
    margin-right: inherit !important;
    padding-right: calc((95vw - 100%) / 2) !important;

}

.alignfull.hero-block.with-cards{

    margin-left: calc((-95vw + 100%) / 2) !important;
    padding-left: calc((95vw - 100%) / 2) !important;
    margin-right: icalc((-95vw + 100%) / 2) !important;
    padding-right: calc((95vw - 100%) / 2) !important;

}

}

/* >= 900px (small desktop / landscape tablet) */
@media (min-width: 900px){
  .buddypanel-open:not(.register) .buddypanel{ width: 330px; }
  .buddypanel-open:not(.register) .site{ margin-left: 330px; }


}

/* >= 1200px (desktop) */
@media (min-width: 1200px){
  .hero-block{
    padding: 200px 300px;
  }

.alignfull.hero-block{

    margin-left: calc((-95vw + 100%) / 2) !important;
    padding-left: calc((95vw - 100%) / 2) !important;
    margin-right: calc((-95vw + 100%) / 2) !important;
    padding-right: calc((95vw - 100%) / 2) !important;

}

}

/* >= 1440px (large screens) */
@media (min-width: 1440px){
  /* optional: slightly increase spacing/typography if desired */
}
