@charset "UTF-8";
/* CSS Document */
/********************************************************************************************************************
													GENERALE STYLES  
********************************************************************************************************************/
/* iOS: body overflow-x isn’t enough — clamp html as well */
html {
  -webkit-text-size-adjust: 100%;
}
html {
  overflow-x: clip;
} /* use 'hidden' if you prefer broader support */
body {
  overflow-x: hidden;
  font-family: 'poppins' !important;
  font-weight: 400 !important;
  background-color: #ffffff !important;
}
/* poppins-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 400;
  src: url('/wp-content/themes/generatepress-child/fonts/poppins-v21-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* poppins-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 700;
  src: url('/wp-content/themes/generatepress-child/fonts/poppins-v21-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* barlow-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 400;
  src: url('/wp-content/themes/generatepress-child/fonts/barlow-v12-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* barlow-italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Barlow';
  font-style: italic;
  font-weight: 400;
  src: url('/wp-content/themes/generatepress-child/fonts/barlow-v12-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
body p {
  font-family: 'barlow' !important;
  line-height: 1.1;
  font-size: 15px;
  color: #868686;
}
h1, h2, h3, h4, h5, h6 {
  font-family: 'poppins' !important;
  /*font-weight: 600 !important;*/
}
.site-content {
  display: block !important;
}
input[type="text"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], input[type="tel"], input[type="number"], textarea, select {
  background-color: #ffffff !important;
  border-radius: 16px !important;
  border: solid 1px #1E75C1 !important;
}
/*Remove Bootsrap bg card color */
.card {
  background-color: transparent !important;
}
/********************************************************************************************************************
													OFF CANVAS STYLES  
********************************************************************************************************************/
/**Icon color Off canva 1 **/
.menu-section.user-account-links {
  color: #2687DB;
}
/**Icon color Off canva 2 **/
.bi-house-door-fill::before, .bi-play-circle-fill::before, .bi-collection-play-fill::before, .bi-briefcase-fill::before, .bi-person-lines-fill::before, .bi-credit-card-fill::before, .bi-chat-square-quote-fill::before {
  color: #2787db;
}
.bi-grid-fill::before {
  color: #2787db;
}
/**Icon color Off canva 3 **/
.bi-trophy-fill::before {
  color: #F5795D;
}
.bi-egg-fried::before {
  color: #8C4939;
}
.bi-grid-1x2-fill::before {
  color: #44A5B7;
}
.bi-mortarboard-fill::before {
  color: #A5A158;
}
.bi-translate::before {
  color: #c4626c;
}
.bi-tools::before {
  color: #A88ACB;
}

.menu-toggle {
  display: block !important;
}
.offcanvas-menu {
  display: flex !important;
}
.alert-info {
  background-color: transparent !important;
  border: 0;
}
.alert-info h4 {
  font-size: 1rem;
  color: #333;
}
.offcanvas-menu {
  position: fixed;
  background-color: white;
  top: 0;
  left: 0;
  height: 100%;
  transition: width 0.3s ease-in-out;
  width: 240px;
  z-index: 1000;
  display: flex;
  flex-direction: column;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  border-radius: 12px;
  transition: box-shadow 0.3s ease-in-out;
  /*border-right: 1px solid #dee2e6;*/
}
.offcanvas-menu.collapsed {
  width: 64px;
}
.content-wrapper {
  transition: margin-left 0.3s ease-in-out;
  margin-left: 240px;
  padding-top: 100px;
  background-color: white;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  box-sizing: border-box;
}
.site-footer {
  margin-top: auto;
}
.content-wrapper.shifted {
  margin-left: 64px;
}
.nav-link {
  display: flex;
  align-items: center;
  white-space: nowrap;
  overflow: hidden;
  padding: 0.5rem 1rem;
}
.nav-link i {
  font-size: 1.1rem;
  margin-right: 1rem;
  min-width: 24px;
}
.menu-text {
  transition: opacity 0.3s ease-in-out;
  font-size: 0.8rem;
}
.collapsed .menu-text {
  opacity: 0;
}
button.menu-toggle {
  width: 100%;
  text-align: left !important;
  padding: 0.5rem 1rem;
  border: none;
  background: none;
  cursor: pointer;
}
button.menu-toggle:focus {
  background-color: transparent !important;
}
button.menu-toggle i {
  font-size: 1.5rem;
  color: black !important;
}
.menu-sections-container {
  display: flex;
  flex-direction: column;
  height: calc(100% - 40px);
  overflow-y: auto;
  padding-bottom: 24px;
  /* Firefox */
  scrollbar-width: thin; /* auto | thin | none */
  scrollbar-color: var(--sb-thumb, #bbb) transparent;
}
/* Chromium / Safari */
.menu-sections-container::-webkit-scrollbar {
  width: 6px; /* make it thin */
}
.menu-sections-container::-webkit-scrollbar-track {
  background: transparent; /* hide track */
}
.menu-sections-container::-webkit-scrollbar-thumb {
  background: var(--sb-thumb, #bbb);
  border-radius: 999px; /* pill */
  border: 2px solid transparent; /* space around thumb */
  background-clip: content-box; /* keeps the border gap visible */
}
/* (nice) optional: show a bit thicker on hover for usability */
.menu-sections-container:hover::-webkit-scrollbar {
  width: 8px;
}
.menu-section {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 1rem 0;
}
.menu-section:not(:last-child) {
  border-bottom: 1px solid #DEDEDE;
}
.menu-section-content {
  display: flex;
  flex-direction: column;
}
ul.navbar-nav {
  margin-left: 0;
}
/* Add these styles to your theme's stylesheet */
.off-canvas-footer {
  margin-top: auto; /* Push to bottom if there's space */
  padding-top: 20px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  margin-top: 30px;
}
.off-canvas-footer .menu-section-content {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 15px;
}
.off-canvas-footer a {
  font-size: 0.85rem;
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  transition: color 0.3s ease;
}
.off-canvas-footer a:hover {
  color: #fff;
}
/* Make sure the menu container can use flex to push footer to bottom */
.menu-sections-container {
  display: flex;
  flex-direction: column;
  min-height: 100%;
}
ul.footer-menu-links {
  line-height: 0;
  color: #9d9d9d;
  font-size: 0.8rem;
  margin: 0;
}
/********************************************************************************************************************
													Mobile UI Bottom 
********************************************************************************************************************/
/* Mobile UI Bottom Control Menu */
.mobile-ui-bottom-control {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: #ffffff;
  box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.1);
  z-index: 9999;
  display: flex;
  justify-content: center;
  padding: 10px 0;
}
.mobile-ui-bottom-control-items {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: space-around;
  width: 100%;
}
.mobile-ui-bottom-control-items li {
  flex: 1;
  text-align: center;
}
.mobile-ui-bottom-control-items a {
  text-decoration: none;
  color: #333;
  font-size: 0.7rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  line-height: 1;
}
.mobile-ui-bottom-control-items a i {
  font-size: 0.9rem;
  margin-bottom: 5px;
  color: #0073aa;
  display: block; /* Ensure icon is block-level */
}
.mobile-ui-bottom-control-items a span {
  display: block; /* Make text block-level for better spacing */
}
.mobile-ui-bottom-control-items a:hover i {
  color: #0056b3;
}
.mobile-ui-bottom-control-items a:hover {
  color: #0056b3;
}
/* Hide the mobile menu on desktop */
.mobile-ui-bottom-control {
  display: none; /* Hide by default */
}
/* Show the mobile menu only on screens smaller than 768px */
@media (max-width: 768px) {
  .mobile-ui-bottom-control {
    display: flex; /* Show the menu */
  }
}
/********************************************************************************************************************
													FIXED TOP MENU STYLES 
********************************************************************************************************************/
.top-menu {
  position: fixed;
  top: 0;
  left: 240px;
  right: 0;
  z-index: 999;
  background-color: #fff;
  /*box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);*/
  transition: left 0.3s ease-in-out;
}
.top-menu.shifted {
  left: 64px;
}
i.bi.bi-cart {
  margin: 0;
}
.brand-logo {
  height: 40px;
}
.search-form {
  position: relative;
  width: auto; /* was 100% */
  max-width: 300px;
}
.search-form .form-control {
  padding-right: 30px;
  border-radius: 24px;
  font-size: 12px;
  line-height: 2.5rem;
  height: 2.1rem;
  border: solid 1px #c3c3c3 !important;
}
.search-form .bi-search {
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  font-size: .9rem;
}
.nav-pills {
  display: flex;
  align-items: center;
}
.nav-pills .nav-item {
  margin-right: 2.5rem;
}
.nav-pills .nav-link {
  color: #2687DB;
  border: 1px solid #2687DB;
  border-radius: 24px;
  padding: 0.1rem 1.5rem !important;
  font-size: 13px;
  white-space: nowrap;
  transition: all 0.3s ease;
}
.nav-pills .nav-item:last-child {
  margin-right: 0;
}
.nav-pills .nav-link:hover, .nav-pills .nav-link.active, .nav-pills .show > .nav-link {
  background-color: #2687DB;
  color: #fff;
}
.cart-icon {
  padding: 0.25rem 0.75rem !important;
  display: flex;
  justify-content: center;
  align-items: center;
}
.dropdown-menu {
  border-radius: 0 0 12px 12px;
  border: none;
  padding: 0.5rem;
  display: none;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  margin-top: -1px;
}
.dropdown-item {
  border-radius: 8px;
  padding: 0.5rem 1rem;
  font-size: 13px;
}
.dropdown-item:hover, .dropdown-item:focus {
  background-color: #f8f9fa;
}
.nav-item.dropdown:hover .dropdown-menu {
  display: block;
}
.nav-item.dropdown .dropdown-toggle::after {
  display: none;
}
.nav-item.dropdown .dropdown-menu {
  width: 100%;
}
.nav-item.dropdown {
  position: relative;
}
.nav-item.dropdown:hover .nav-link {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom-color: transparent;
}
@media (max-width: 768px) {
  .top-menu {
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  }
}
/********************************************************************************************************************
												custom login page 
*******************************************************************************************************************/
.auth-container {
  display: flex;
  align-items: center;
  justify-content: center;
  /*  min-height: calc(100vh - 100px);*/
  /*  padding: 2rem 0*/ ;
}
.auth-wrapper {
  display: flex;
  width: 100%;
  margin: 0 auto;
  overflow: hidden;
  gap: 2rem;
}
.auth-content, .auth-image {
  width: calc(50% - 1rem);
  transition: transform 0.5s ease-in-out;
}
.auth-content {
  background-color: #f8f9fa;
  padding: 2rem;
  border-radius: 36px;
}
.auth-inner {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}
.auth-forms-container {
  overflow: hidden;
}
.auth-forms {
  display: flex;
  width: 100%;
}
.auth-form-inner {
  width: 100%;
  padding: 0 1rem;
}
.social-login {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: 2rem 0;
}
.auth-toggle {
  margin-top: 1rem;
}
.auth-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.form-control {
  border: 1px solid #5DB1FA;
  border-radius: 14px;
  padding: 0.5rem 1rem;
}
.btn-primary {
  background-color: #2687DB;
  border-color: #2687DB;
  border-radius: 14px;
  min-width: 150px;
}
input[type="text"], input[type="email"], input[type="password"] {
  border: 1px solid #5DB1FA;
  border-radius: 14px;
  padding: 0.5rem 1rem;
  width: 100%;
}
input#wp-submit, input#wp-submit-reg {
  background-color: #2687DB;
}
.social-btn {
  width: 100%;
  margin-bottom: 10px;
  border-radius: 14px;
}
.divider {
  border-top: 1px solid #dee2e6;
  margin: 1.5rem 0;
}
@media (max-width: 768px) {
  .auth-wrapper {
    flex-direction: column;
    gap: 0;
  }
  .auth-content, .auth-image {
    width: 100%;
	  padding:.65rem;
  }
  .auth-image {
    order: -1;
  }
  .auth-forms {
    display: flex;
    transition: transform 0.5s ease-in-out;
    width: 200%;
  }
  .auth-form-inner {
    width: 50%;
  }
}
/********************************************************************************************************************
									Woocmmerce checkout in modal defailt fields 
********************************************************************************************************************/
.wc-block-components-title.wc-block-components-title {
  font-size: 1em !important;
  color: black;
  font-weight: 600;
}
/* Reset ONLY on cart and checkout pages */
body.woocommerce-cart input[type="text"], body.woocommerce-cart input[type="email"], body.woocommerce-cart input[type="url"], body.woocommerce-cart input[type="password"], body.woocommerce-cart input[type="search"], body.woocommerce-cart input[type="tel"], body.woocommerce-cart input[type="number"], body.woocommerce-cart textarea, body.woocommerce-cart select, body.woocommerce-checkout input[type="text"], body.woocommerce-checkout input[type="email"], body.woocommerce-checkout input[type="url"], body.woocommerce-checkout input[type="password"], body.woocommerce-checkout input[type="search"], body.woocommerce-checkout input[type="tel"], body.woocommerce-checkout input[type="number"], body.woocommerce-checkout textarea, body.woocommerce-checkout select {
  background-color: #fff !important;
  border: 1px solid hsla(0, 0%, 7%, .8) !important;
  border-radius: 4px !important;
}
.p-CardForm input, .p-CardForm select, .p-CardForm textarea {
  background-color: #fff !important;
  border: 1px solid hsla(0, 0%, 7%, .8) !important;
  border-radius: 4px !important;
}
#card-panel {
  background-color: #fff !important;
  border: 1px solid hsla(0, 0%, 7%, .8) !important;
  border-radius: 4px !important;
}
.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted {
  box-shadow: none !important;
}
.wc-block-components-address-form__address_2-toggle {
  display: none !important;
}
.wc-block-components-radio-control.wc-block-components-radio-control--highlight-checked.wc-block-components-radio-control--highlight-checked--first-selected.wc-block-components-radio-control--highlight-checked--last-selected.disable-radio-control {
  background: #f7f7f7;
  border-radius: 4px;
  border: solid 1px #dfdfdf;
}
.wc-block-components-validation-error {
  color: #cc1818 !important;
  font-size: .75em !important;
}
.wc-block-components-address-form__address_2-toggle {
  font-size: 0.8rem !important;
  color: #2787db !important;
}
/* WooCommerce Blocks floating label */
.wc-block-components-text-input label {
  font-size: 13px !important; /* smaller, chill size */
  color: #777 !important; /* optional softer color */
}
.wc-block-components-address-card__edit, .wp-block-woocommerce-checkout .wc-block-checkout__login-prompt {
  background-color: #2787db !important;
  color: #fff !important;
  border-radius: 12px;
  padding: 5px 8px;
  color: inherit;
  cursor: pointer !important;
  font-family: inherit;
  font-size: .875em;
  font-weight: 400 !;
  margin: 0 0 0 auto;
}
/********************************************************************************************************************
SITE FOOTER (legacy rules — kept empty after cleanup; current rules live further down)
********************************************************************************************************************/
/********************************************************************************************************************
														MObile style
********************************************************************************************************************/
@media (max-width: 991px) {
  .offcanvas-menu {
    display: none !important;
  }
  .top-menu {
    left: 0 !important;
  }
  .content-wrapper {
    margin-left: 0 !important;
    padding-top: 70px !important;
  }
  #mobileMenu {
    width: 80%;
    background-color: #ffffff;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.3);
  }
  ul.navbar-nav {
    margin-left: 0px;
  }
  #mobileMenu .offcanvas-header, #mobileMenu .offcanvas-body {
    padding: 1rem;
  }
  #mobileMenu .offcanvas-title, #mobileMenu .btn-close {
    color: #000;
  }
  #mobileMenu .nav-link {
    /*   padding: 0.75rem 1rem;*/
    border: none;
    border-radius: 0;
    font-size: 16px;
  }
  #mobileMenu .nav-link:hover, #mobileMenu .nav-link:focus {
    background-color: rgba(255, 255, 255, 0.1);
  }
  #mobileMenu .dropdown-menu {
    background-color: transparent;
    box-shadow: none;
    border-radius: 0;
    padding-left: 2rem;
  }
  #mobileMenu .dropdown-item {
    padding: 0.5rem 1rem;
    color: #fff;
  }
  #mobileMenu .dropdown-item:hover, #mobileMenu .dropdown-item:focus {
    background-color: rgba(255, 255, 255, 0.1);
  }
}
/********************************************************************************************************************
												Laptop Style
********************************************************************************************************************/
@media (min-width: 992px) and (max-width: 1399px) {
  .nav-pills .nav-item {
    margin-right: 1rem;
  }
  .nav-pills .nav-link {
    padding: 0.25rem 0.75rem !important;
    font-size: 12px;
  }
}
/* === Mobile header layout & offcanvas placement overrides (added) === */
@media (max-width: 991px) {
  .top-menu .container-fluid {
    display: flex;
    align-items: center;
  }
  .top-menu .navbar-brand {
    position: static;
    left: auto;
    transform: none;
    margin-right: 0px;
  }
  .brand-logo {
    height: 30px;
  }
  .mobile-search-toggle {
    line-height: 1;
    font-size: 1.4rem;
  }
  .mobile-icons a {
    text-decoration: none;
  }
  #mobileSearch {
    background: #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .04);
  }
  /* Force mobile offcanvas to open from the right if markup cannot be changed */
  #mobileMenu.offcanvas {
    left: auto !important;
    right: 0 !important;
    transform: translateX(100%);
  }
  #mobileMenu.offcanvas.show {
    transform: none;
	  z-index:99999 !important;
  }
  .mobile-icons a, .mobile-icons button {
    color: #5DB1FA;
  }
  .mobile-icons i {
    color: currentColor;
    font-size: 1.3rem;
    line-height: 1;
  }
  /* === Mobile UX refinements v2 === */
  .mobile-icons a, .mobile-icons button {
    color: #5DB1FA;
  }
  .mobile-icons .icon-btn, .mobile-icons .navbar-toggler {
    background: transparent;
    border: 0;
  }
  .cart-icon {
    padding: 0 10px 0 0 !important;
  } /* remove extra padding on mobile */
  .nav-user-initials {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    font-size: 0.95rem;
    font-weight: 700;
    text-transform: uppercase;
    background: #E9F4FF;
    color: #2A6FAD;
  }
  .mobile-icons a, .mobile-icons button {
    color: #5DB1FA;
  }
  .mobile-icons .icon-btn, .mobile-icons .navbar-toggler {
    background: transparent;
    border: 0;
  }
  .nav-user-avatar img {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: block;
  }
  /* Make initials plain text next to avatar */
  .nav-user-initials {
    background: transparent;
    width: auto;
    height: auto;
    border-radius: 0;
    font-weight: 700;
    font-size: .95rem;
    color: inherit;
  }
  .mobile-icons a, .mobile-icons button, .mobile-icons i {
    color: #333;
  }
  .nav-user-initials {
    color: #333;
    font-weight: 400;
  }
  .cart-icon i, .icon-btn i {
    color: #333;
  }
  #mobileSearch .search-form {
    display: block;
    padding: 0.75rem 1rem;
  }
  #mobileSearch .coaching-search-input {
    display: block;
    width: 100% !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  #mobileSearch .coaching-search-results-container {
    position: static;
    width: 100%;
    max-width: none;
  }
  .mobile-icons i, .mobile-icons a, .mobile-icons button {
    color: #333;
  }
  .nav-user-name {
    color: #333;
    font-weight: 400;
  }
  .cart-icon i, .icon-btn i {
    color: #333;
  }
  #mobileSearch {
    position: relative;
    background: #fff;
  }
  #mobileSearch.collapse.show {
    display: block;
  }
  #mobileSearch .search-form {
    display: block;
    padding: 0.75rem 1rem;
  }
  #mobileSearch .coaching-search-input {
    display: block;
    width: 100% !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  #mobileSearch .coaching-search-results-container {
    position: static;
    width: 100%;
    max-width: none;
  }
  .navbar-toggler {
    padding: 0px !important;
    margin-right: 0px !important;
  }
  .navbar-toggler i.bi-list {
    font-size: 1.7rem !important;
  }
  .navbar-toggler:focus, .btn-close:focus {
    box-shadow: none !important;
  }
  .cart-contents-count {
    position: absolute;
    top: -10px;
    right: -3px;
    z-index: 9999;
  }
  .btn-close:hover {
    background-color: #ffffff !important
  }
  .offcanvas-backdrop {
    background-color: rgb(0 0 0 / 52%) !important;
    backdrop-filter: blur(5px);
  }
  .filter-section:after {
    top: 0 !important;
    background: linear-gradient(to right, rgba(255, 255, 255, 0), rgb(255 255 255 / 42%)) !important;
  }
}
/* Fix tablet-landscape horizontal overflow on Coach Profile Editor → Livestreams */
/*@media (min-width: 768px) and (max-width: 1400px) {
  .search-form {
    width: 50%;
    max-width: 200px;
  }
}*/
/* ==== Mobile horizontal-pan fix (safe to append) ==== */
/* Stop offscreen offcanvas from creating a horizontal pan area */
@media (max-width: 991px) {
  /* Ensure the fixed header never contributes to a wider layout */
  .top-menu {
    left: 0 !important;
    right: 0;
  } /* reinforce existing rule */
  /* Prevent any descendants from pushing the page sideways */
  .content-wrapper {
    overflow-x: clip;
  }
  /* Keep offcanvas fully within viewport accounting, even when translated */
  #mobileMenu {
    max-width: 100vw;
  } /* you already set width:80%; keep it, just cap it */
  #mobileMenu.offcanvas {
    left: auto !important;
    right: 0 !important;
    transform: translateX(100%); /* hidden state */
    contain: layout paint; /* isolate layout effects */
    will-change: transform;
  }
  #mobileMenu.offcanvas:not(.show) {
    visibility: hidden; /* don’t contribute to layout */
    pointer-events: none;
  }
  #mobileMenu.offcanvas.show {
    transform: none; /* visible state */
    visibility: visible;
  }
  /* Backdrop shouldn’t allow horizontal pan gestures */
  .offcanvas-backdrop {
    overscroll-behavior-x: contain;
    touch-action: pan-y;
  }
  /* Safety net for any full-width containers / rows */
  .container, .container-fluid {
    overflow-x: clip;
  }
}
/**************
************* Category page — reduce margin top **/
.category-container {
  padding-top: 0px !important;
}
/*Margin bottom on mobile to leave room for UI menu bottom*/
@media (max-width: 768px) {
  .site-content {
    margin-bottom: 6rem;
  }
}
/**************
************* Default WP page template — readable typography for legal pages
************* Targets .page (single page, default template) so it doesn't
************* affect category / coach / payouts / etc. pages with their own templates.
**/
.page .entry-header {
  margin: 16px 0 24px;
}
.page .entry-title {
  font-size: 32px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -0.01em;
  margin: 0;
  color: #0f172a;
}
.page .entry-content {
  font-size: 15px;
  line-height: 1.6;
  color: #334155;
  max-width: 880px;
}
.page .entry-content h2 {
  font-size: 20px;
  font-weight: 500;
  line-height: 1.3;
  margin: 40px 0 12px;
  color: #0f172a;
  padding-top: 16px;
  border-top: 1px solid #e5e7eb;
}
.page .entry-content > h2:first-child {
  margin-top: 0;
  padding-top: 0;
  border-top: none;
}
.page .entry-content h3 {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.4;
  margin: 24px 0 8px;
  color: #1e293b;
}
.page .entry-content h4 {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
  margin: 18px 0 6px;
  color: #334155;
  text-transform: none;
}
.page .entry-content p {
  margin: 0 0 12px;
}
body.page .entry-content ul,
body.page .entry-content ol {
  margin: 0 0 16px 0 !important;
  margin-left: 0 !important;
  padding-left: 22px !important;
}
@media (max-width: 768px) {
  body.page .entry-content ul,
  body.page .entry-content ol {
    padding-left: 18px !important;
  }
  body.page .entry-content {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}
body.page .entry-content ul li,
body.page .entry-content ol li {
  margin-bottom: 4px !important;
  font-family: 'Barlow', sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
  color: #979797 !important;
}
.page .entry-content a {
  color: #2687DB;
  text-decoration: underline;
}
.page .entry-content a:hover {
  color: #1f78c5;
}
/**************
************* Site footer — inline legal links + copyright on a greyish band
************* Sits at the bottom of every page that includes
************* template-parts/custom-footer.php. On desktop the off-canvas menu
************* (240px) shifts it right via the same .content-wrapper margin-left
************* so it visually aligns with the page content.
**/
.site-footer {
  background-color: #f7f7f7;
  padding: 18px 24px;
  font-family: 'Barlow', sans-serif;
  color: #475569;
  font-size: 13px;
  line-height: 1.4;
}
.site-footer-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
}
ul.site-footer-legal-menu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0;
}
ul.site-footer-legal-menu li {
  margin: 0;
  padding: 0;
  display: inline-flex;
  align-items: center;
}
ul.site-footer-legal-menu li + li::before {
  content: '·';
  color: #cbd5e1;
  padding: 0 10px;
}
ul.site-footer-legal-menu a {
  color: #475569;
  text-decoration: none;
  font-size: 13px;
}
ul.site-footer-legal-menu a:hover {
  color: #2787db;
  text-decoration: underline;
}
.site-footer-copyright {
  color: #94a3b8;
  font-size: 12px;
}
@media (max-width: 991px) {
  .site-footer {
    padding: 14px 16px;
  }
  .site-footer-inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
  .site-footer-copyright {
    display: none;
  }
}
