/*
Theme Name: 	BuddyBoss Child
Theme URI: 		https://www.buddyboss.com/
Description: 	A child theme of BuddyBoss Theme. To ensure easy updates, make your own edits in this theme.
Author: 		BuddyBoss.com
Author URI: 	https://www.buddyboss.com/
License: 		GNU General Public License v3 or later
License URI: 	http://www.gnu.org/licenses/gpl-3.0.html
Template: 		buddyboss-theme
Version: 		1.0.1
*/

/*

-- Stylesheet locations --

Add your own customizations into /css/custom.css in this child theme.

Parent styles are called from /buddyboss-theme/inc/theme/functions.php in the 
parent theme and are located in /buddyboss-theme/assets/css/ in the parent theme.


--- If you are editing CSS via the WordPress admin, do the following ---

1. Install the plugin WP Editor: http://wordpress.org/plugins/wp-editor/
2. Navigate to Appearance > Theme Editor in the WordPress admin.
3. Navigate into the /css/ folder of your child theme to edit custom.css.

*/


/* ================================
   Site Wide Adjustments
================================ */

body.has-sidebar #primary, body.buddypress.has-sidebar #primary {
max-width: unset!important;
flex: unset!important;
width: 100%!important;
}

body.has-sidebar #secondary, body.buddypress.has-sidebar #secondary {
    display: none!important;
}


/* ================================
   Typography and Font styling
================================ */

body, p, body.buddypress {
	font-family: "Open Sans", Sans-serif;
	color: #000000;
}


/* ================================
   Elementor
================================ */

.elementor-heading-title {
	line-height:1.5em;
}


/* ================================
   Homepage
================================ */

.text-wrap {
  backdrop-filter: blur(2px) brightness(1.1);
  background: rgba(255,255,255,0.15);
  padding: 0.5em 1em;
  border-radius: 6px;
}

.text-wrap span {
  color: #000;
}

/* ================================
   Profiles & Directory
================================ */

/* Hide BuddyPress/BuddyBoss directory pagination (top + bottom) */
#buddypress .pagination,
#buddypress div.pagination,
#buddypress .bp-pagination,
#buddypress .pag-count,
#buddypress .pagination-links,
#buddypress #pag-top,
#buddypress #pag-bottom,
body .bb-pagination,
body .bbp-pagination,
body nav.pagination,
body .page-numbers {
  display: none !important;
}

/*cover image*/
@media (max-width: 768px) {
  body.bbp-user-page #buddypress #header-cover-image {
    background-image: url("https://neurolanguagecoachnetwork.com/wp-content/uploads/2025/12/new-network-600-x-350-px-3.jpg") !important;
    background-size: cover !important;
    background-position: center top !important;
  }
}

/*homepage search form */
.elc-lang-search { width: 50%; }
.elc-lang-search__label { margin: 0 0 8px; font-weight: 600; }
.elc-lang-search__form { display: flex; gap: 10px; align-items: stretch; }
.elc-lang-search__input { flex: 1 1 auto; min-width: 220px; }
.elc-lang-search__button { white-space: nowrap; }

@media (max-width: 767px) {
.elc-lang-search { width: 100%; }
.elc-lang-search__form { flex-direction: column; }
.elc-lang-search__input { width: 100%; min-width: 0; }
.elc-lang-search__button { width: 100%; }
}	

.compose .bp-messages-recipient {padding: 20px 55px 22px 22px;}
.bp-messages-container #send_message_form {margin:10px;}

body.directory h1.entry-title {
	display:none;
}

.elc-coach-meta { margin-top: 6px; font-size: 14px; line-height: 1.35; }
.elc-coach-meta-row { margin-top: 2px; }


.elc-coach-directory-hero { margin: 0 0 20px; }
.elc-coach-directory-hero h1 { margin: 0; }
.elc-coach-directory-hero h2 { margin: 6px 0 0; }
.elc-coach-directory-hero p  { margin: 10px 0 0; }

.elc-coach-filters { margin: 12px 0 18px; }
.elc-coach-filters-row { display:flex; gap:12px; flex-wrap:wrap; align-items:flex-end; }
.elc-filter { flex: 1 1 220px; }
.elc-filter label { display:block; font-size: 12px; margin: 0 0 6px; opacity:.8; }
.elc-filter input { width:100%; }
.elc-filter-actions { flex: 0 0 auto; display:flex; gap:10px; }


/* Hide BuddyBoss' default filters on this directory */
body.directory.members .bp-profile-filter-wrap,
body.directory.members .bp-members-filter-wrap,
body.directory.members .bp-secondary-header .bp-filters {
	display:none !important;
}

select#member-type-filter, input#pp_member_search_center, input#pp_member_search_keywords, div#members-dir-map-filter-keywords input.button-primary {margin-left:40px;}

input#pp_member_search_center {margin-right:40px;}

div#members-dir-map-filter-type, div#members-dir-map-filter-distance, div#groups-dir-map-filter-keywords {margin: 30px 0px;}

#stax-profile-nav nav#object-nav li {

float: left!important;
margin: 0!important;
padding: 0 30px 0 0!important;
}

#stax-profile-content #subnav li {
padding-right: 20px;
}

#subnav #public-personal-li li.selected a, #subnav .subnav li.selected a {
	border: none;
}

.bpb-settings-container {
	margin-top:20px;
}

body.user-logged-out #buddybuilder-essential {
	display:none;
}

h1.coach-name {
	margin-bottom:5px!important;
}

h3.coach-id {
	margin-bottom:5px!important;
}

.profile.edit .field_site-identifier, .profile.edit .field_953, .profile.edit .field_16, .profile.edit .field_14, .profile.edit .field_15 {
	display:none!important;
}


#public_profile_edit ul li {
	margin-bottom:0px!important
}

/*logged out*/
body.user-logged-out.xprofile .bb-single-main-nav--vertical {
	display:none!important;
}

body.user-logged-out nav.users-nav {display:none!important;}

body.user-logged-out div.public {display:none!important;}


/* ================================
   User Activation
================================ */

/*Activation*/
body.page-id-617 div.elementor-widget-button {
	display:none!important;
}


/* ================================
   Events Calendar
================================ */

/*Events*/
/* Basic TEC de-frill for /events/ */

/* Hide the big events bar (search, views toggle, etc.) */
.tribe-events .tribe-events-c-top-bar,
.tribe-events .tribe-events-c-subscribe-dropdown {
    display: none !important;
}

/* Hide iCal/Export links */
.tribe-events .tribe-events-c-ical {
    display: none !important;
}

/* Hide organiser/venue links if you want it super minimal */
.tribe-events .tribe-events-meta-group--venue,
.tribe-events .tribe-events-meta-group--organizer {
    display: none !important;
}

/* Typography to match your theme – tweak as needed */
.tribe-events .tribe-events-calendar-month__calendar {
    font-family: inherit;
    font-size: 0.95rem;
}

.tribe-events .tribe-events-calendar-month__day-date {
    font-weight: 600;
}

.tribe-events a {
    text-decoration: none;
}

/* Example corporate colours (adjust to your palette) */
.tribe-events .tribe-events-calendar-month__day--current {
    background: #f5f5f9;
}

.tribe-events .tribe-events-calendar-month__day-event {
    background: #003f63;      /* your primary */
    color: #ffffff;
    border-radius: 4px;
    padding: 2px 4px;
}

.tribe-events .tribe-events-calendar-month__day-event a {
    color: inherit;
}

/* Grid page: if Elementor doesn't have built-in masonry */
.nlc-events-grid-masonry {
    column-count: 3;
    column-gap: 2rem;
}

@media (max-width: 1024px) {
    .nlc-events-grid-masonry {
        column-count: 2;
    }
}

@media (max-width: 767px) {
    .nlc-events-grid-masonry {
        column-count: 1;
    }
}

.nlc-events-grid-masonry .elementor-post {
    break-inside: avoid;
    margin-bottom: 2rem;
}

/*Loop items*/
/* Wrapper */
.nlc-event-date-wrap {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 14px 16px;
    border-radius: 12px;
    border-left: 4px solid transparent;
    background: #f5f5f5;
    border: 1px solid #ddd;
}

/* Badge */
.nlc-event-badge {
    display: inline-block;
    padding: 3px 10px;
    font-size: 11px;
    font-weight: 600;
    border-radius: 20px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* ---------- FIXED ICON (back to original good version) ---------- */

.nlc-event-date-icon {
    width: 54px;
    height: 54px;
    background: #ffffff;
    border-radius: 8px;
    border: 2px solid #ccc;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    padding-top: 3px;
}

/* MONTH — red bar at top, slightly bigger, uppercase */
.nlc-event-date-month {
    font-size: 11px;
    font-weight: 700;
    color: #d9534f;      /* original red */
    text-transform: uppercase;
    margin-bottom: 0;
    line-height: 1.1;
}

/* DAY — directly under month, bold, centred */
.nlc-event-date-day {
    font-size: 17px;
    font-weight: 700;
    color: #222;
    margin-top: 0;
    line-height: 1.1;
}

/* ---------- Text underneath ---------- */

.nlc-event-date-details {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.nlc-event-date-line {
    font-weight: 600;
    font-size: 15px;
}

.nlc-event-time-line {
    font-size: 14px;
    color: #444;
}

.nlc-event-starts-line {
    font-size: 13px;
    color: #555;
    font-style: italic;
}

/* ---------- COLOUR CODING ---------- */

/* OFFICIAL — teal */
.nlc-event-type-official {
    background: #e0f5f5;
    border-color: #008080;
    border-left-color: #008080;
}

.nlc-event-type-official .nlc-event-badge {
    background: #008080;
    color: #fff;
}

/* COMMUNITY — purple */
.nlc-event-type-community {
    background: #f3e8f7;
    border-color: #642581;
    border-left-color: #642581;
}

.nlc-event-type-community .nlc-event-badge {
    background: #642581;
    color: #fff;
}

/* Hover (optional) */
.nlc-event-date-wrap:hover {
    box-shadow: 0 4px 14px rgba(0,0,0,0.08);
    transform: translateY(-2px);
    transition: all 0.15s ease;
}

/* Base widget wrapper – BuddyBoss style */
.nlc-events-widget {
    border-radius: 4px;
    border: 1px solid var(--bb-content-border-color);
    padding: 20px;
    background-color: #fff;
    margin-bottom: 20px;
}

/* Header/title */
.nlc-events-widget-header {
    font-weight: 600;
    font-size: 15px;
    margin-bottom: 12px;
}

/* Empty state */
.nlc-events-widget-empty p {
    margin: 0;
    font-size: 14px;
    color: #777;
}

/* List + items */
.nlc-events-widget-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.nlc-events-widget-item {
    padding: 8px 0;
    border-bottom: 1px solid rgba(0,0,0,0.04);
}

.nlc-events-widget-item:last-child {
    border-bottom: none;
}

/* Title link */
.nlc-events-widget-title {
    display: inline-block;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
}

.nlc-events-widget-title:hover {
    text-decoration: underline;
}

/* Meta line (date + time) */
.nlc-events-widget-meta {
    margin-top: 2px;
    font-size: 13px;
    color: #666;
}

.nlc-events-widget-date::after {
    content: " • ";
    padding: 0 3px;
}

/* Optional: slight differentiation by type */
.nlc-widget-official .nlc-events-widget-header {
    color: #008080;
}

.nlc-widget-community .nlc-events-widget-header {
    color: #642581;
}

/* Base widget wrapper – BuddyBoss style */
.nlc-events-widget {
    border-radius: 4px;
    border: 1px solid var(--bb-content-border-color);
    padding: 20px;
    background-color: #fff;
    margin-bottom: 20px;
}

/* Header/title */
.nlc-events-widget-header {
    font-weight: 600;
    font-size: 15px;
    margin-bottom: 12px;
}

/* Empty state */
.nlc-events-widget-empty p {
    margin: 0;
    font-size: 14px;
    color: #777;
}

/* List reset */
.nlc-events-widget-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* Each event tile */
.nlc-events-widget-item {
    padding: 8px 0;
    border-bottom: 1px solid rgba(0,0,0,0.04);
}

.nlc-events-widget-item:last-child {
    border-bottom: none;
}

/* Clickable row (image left, content right) */
.nlc-events-widget-row {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    text-decoration: none;
    color: inherit;
}

/* Thumbnail column */
.nlc-events-widget-thumb {
    flex: 0 0 auto;
}

.nlc-events-widget-thumb-img {
    width: 64px;
    height: 64px;
    object-fit: cover;
    border-radius: 4px;
    display: block;
}

/* Placeholder if no image */
.nlc-events-widget-thumb-placeholder {
    width: 64px;
    height: 64px;
    border-radius: 4px;
    background: #f0f0f0;
    font-size: 11px;
    color: #888;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Content column */
.nlc-events-widget-content {
    flex: 1 1 auto;
}

/* Title */
.nlc-events-widget-title {
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 2px;
}

/* Meta row (date + time) */
.nlc-events-widget-meta {
    font-size: 13px;
    color: #666;
}

.nlc-events-widget-date::after {
    content: " • ";
    padding: 0 3px;
}

/* Optional hover effect on the row */
.nlc-events-widget-row:hover .nlc-events-widget-title {
    text-decoration: underline;
}

/* Optional: slight colour accent per widget type */
.nlc-widget-official .nlc-events-widget-header {
    color: #008080;
}

.nlc-widget-community .nlc-events-widget-header {
    color: #642581;
}

/* Make widget header consistent with BuddyBoss block headers */
.nlc-events-widget-header.bb-block-header {
    margin-bottom: 16px;
}

.nlc-events-login-required {
    max-width: 600px;
    margin: 100px auto 40px auto; /* top margin of 100px as requested */
    text-align: center;
    padding: 20px;
    background: #fff;
    border-radius: 4px;
    border: 1px solid var(--bb-content-border-color);
}

.nlc-events-login-required h1 {
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 10px;
}

.nlc-events-login-required p {
    font-size: 16px;
    line-height: 1.5;
}

/* ================================
   Messages
================================ */

body.my-messages.logged-in #buddypress div#item-header img.avatar {max-width:100%;}

/* ================================
   Notifications
================================ */

.bp-user.notifications #buddypress #item-header {
	display: block;
}

/* ================================
   Shortcodes
================================ */

.elc-value-bold,
.elc-value-bold a{
  font-weight: 700;
  font-size: inherit;
  line-height: inherit;
}

/* ================================
   Hide BuddyBuilder Template 
	on edit pages
================================ */

body.my-messages.logged-in .elc-public-profile {display:none;}
body.notifications.logged-in .elc-public-profile {display:none;}
body.public.logged-in div.profile.public {display:none;}
body.profile-edit.logged-in .elc-public-profile {display:none;}
body.change-avatar.logged-in .elc-public-profile {display:none;}
body.change-cover-image.logged-in .elc-public-profile {display:none;}
body.my-activity.logged-in .elc-public-profile {display:none;}
body.my-friends.logged-in .elc-public-profile {display:none;}
body.my-groups.logged-in .elc-public-profile {display:none;}
body.my-video.logged-in .elc-public-profile {display:none;}
body.my-media.logged-in .elc-public-profile {display:none;}
body.forums.logged-in .elc-public-profile {display:none;}
body.albums.logged-in .elc-public-profile {display:none;}
body.my-document.logged-in .elc-public-profile {display:none;}
body.settings.logged-in .elc-public-profile {display:none;}
body.location.logged-in .elc-public-profile {display:none;}

/* ================================
   Hide fields
================================ */
 
tr.field_site-identifier {
display:none;
}

/* ================================
   Groups
================================ */

fieldset.group-create-types select#bp-groups-type option[for="group-type-coach-groups"] {
display:none;
}

/* ================================
   Forms
================================ */

/*Homepage search form*/
form#form_154 .bps-selectbox {
float:left;
}

form#form_154 button {
margin-left: 40px;
}

form#form_154 button:after {
content:" for a language coach";
}

form#form_154 label {
	font-size: 18px;
	color:#000000;
	font-weight:300!important;
}

/*Homepage mobile search form*/

form#form_386 {
	text-align:center;
}


form#form_386 .bps-selectbox {
margin:auto;width:100%;
}

form#form_386 button {
margin:auto;width:50%;
}

form#form_386 button:after {
content:" for a language coach";
}

form#form_386 label {
	font-size: 18px;
	color:#000000;
	font-weight:300!important;
}


/*Events*/



/* ================================
   Profile border colours by member type
   Only on "my profile" pages
================================ */

.profile-type-avatar-border img.avatar {
	max-width:200px!important;
}

/* Professional Neurolanguage Coach */
body.member-type-professional-neurolanguage-coach .profile-type-avatar-border, body.member-type-professional-neurolanguage-coach div.profile-type-title-border, body.member-type-professional-neurolanguage-coach .profile-type-about-border, body.member-type-professional-neurolanguage-coach .profile-badge-title-border {
	border-color: #f0820b!important;
}

#members-list .member-type-professional-neurolanguage-coach .list-wrap {border: 4px solid #f0820b!important;}


/* Neurolanguage Coach */
body.member-type-neurolanguage-coach
.profile-type-avatar-border,
body.member-type-neurolanguage-coach
div.profile-type-title-border,
body.member-type-neurolanguage-coach
.profile-type-about-border, body.member-type-neurolanguage-coach .profile-badge-title-border {
	border-color: #008080!important;
}

#members-list .member-type-neurolanguage-coach .list-wrap {border: 4px solid #008080!important;}

/* Advanced Neurolanguage Coach */
body.member-type-advanced-neurolanguage-coach
.profile-type-avatar-border,
body.member-type-advanced-neurolanguage-coach
div.profile-type-title-border,
body.member-type-advanced-neurolanguage-coach
.profile-type-about-border, body.member-type-advanced-neurolanguage-coach .profile-badge-title-border {
	border-color: #642581!important;
}

#members-list .member-type-advanced-neurolanguage-coach .list-wrap {border: 4px solid #642581!important;}

.members-list .bp-member-type { font-size:15px!important }

/* ================================
   Hide Sections
================================= */

/*Qualifications section*/
body.member-type-prospective-neurolanguage-coach #qualifications-coaches {
	display:none;
}

body.member-type-advanced-neurolanguage-coach #qualifications-prospective, body.member-type-professional-neurolanguage-coach #qualifications-prospective, body.member-type-neurolanguage-coach #qualifications-prospective, body.member-type-head-neurolanguage-coach #qualifications-prospective {
	display:none;
}

/*contact form section*/
body.no_coach_business_email .contact-form {
display:none!important;
}

/* ================================
   Map
================================ */

/* Fix Google Maps rendering issues caused by theme-wide img rules */
.gm-style img,
.gm-style object,
.gm-style iframe {
  max-width: none !important;
}

/* Prevent Google’s internal containers from clipping overlays */
.gm-style .gm-style-iw-d {
  overflow: visible !important;
}

/* If clusters are HTML/SVG, this reduces overlap */
.gm-style .cluster,
.gm-style [class*="cluster"] {
  transform: scale(0.9);
  transform-origin: center;
}

/* InfoWindow outer shell */
.gm-style .gm-style-iw-c {
  border-radius: 16px !important;
  padding: 0 !important;
  box-shadow: 0 10px 30px rgba(0,0,0,.18) !important;
}

/* Scroll wrapper */
.gm-style .gm-style-iw-d {
  overflow: visible !important;
}

/* Your content inside the InfoWindow (first child div) */
.gm-style .gm-style-iw-d > div {
  padding: 16px 16px 14px !important;
  min-width: 260px;
}

/* Close (X) button */
.gm-style button.gm-ui-hover-effect {
  top: 10px !important;
  right: 10px !important;
  opacity: .75 !important;
}
.gm-style button.gm-ui-hover-effect:hover { opacity: 1 !important; }

/* Make the avatar/card feel nicer */
.gm-style .gm-style-iw-d img {
  border-radius: 14px !important;
  display: block;
  margin: 0 0 12px 0;
}

/* ================================
   Directory Badges
================================ */

#buddypress .members-list li,
#buddypress .bp-list.members-list li{
	position: relative !important;
	overflow: visible !important;
}

#buddypress .elc-icf-badge{
	position: absolute;
	top: -12px;
	right: -12px;
	z-index: 600;

	display: inline-flex;
	align-items: center;
	gap: 6px;

	max-width: 260px;
	padding: 8px 10px;

	border-radius: 999px;
	color: #fff;
	font-size: 12px;
	line-height: 1.2;
	font-weight: 700;
	text-decoration: none;

	box-shadow: 0 8px 18px rgba(0,0,0,0.18);
	border: 2px solid rgba(255,255,255,0.85);
}

#buddypress .elc-icf-badge .elc-icf-badge-dot{
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: rgba(255,255,255,0.95);
	flex: 0 0 auto;
}

#buddypress .elc-icf-badge:hover{
	filter: brightness(0.95);
	text-decoration: none;
}

#buddypress #members-list li,
#buddypress #members-list li .list-wrap{
  position: relative;
  overflow: visible;
}

#buddypress .elc-icf-badge--static{
	cursor: default !important;
	/*opacity: .95!important;*/
}

#buddypress .elc-icf-badge--static:hover{
	filter: none;
}

#buddypress a.elc-icf-badge{
	cursor: pointer;
}

#buddypress a.elc-icf-badge:hover{
	transform: translateY(-1px);
}

/* ================================
   Qualification Badges
================================ */

/* Badge images only */
.elc-badge--image {
	display: inline-block;
	transform-origin: center;
	will-change: transform;
	transition: transform 700ms cubic-bezier(0.22, 1, 0.36, 1); /* very smooth */
}

/* Hover: scale only */
.elc-badge--image:hover {
	transform: scale(2);
}

/* Wiggle animation (runs at normal scale) */
.elc-badge--image {
	animation: elcBadgeWiggle 4s ease-in-out 1;
}

/* 4-second gentle wiggle, NO scaling inside keyframes */
@keyframes elcBadgeWiggle {
	0%   { transform: rotate(0deg); }
	10%  { transform: rotate(-2deg); }
	20%  { transform: rotate(2deg); }
	30%  { transform: rotate(-2deg); }
	40%  { transform: rotate(1.5deg); }
	50%  { transform: rotate(-1.5deg); }
	60%  { transform: rotate(1deg); }
	70%  { transform: rotate(-1deg); }
	80%  { transform: rotate(0.6deg); }
	90%  { transform: rotate(-0.6deg); }
	100% { transform: rotate(0deg); }
}

