/**
 * Kyom Course Community — styles for the enrolled-course CTA + BuddyPress group pages.
 * Enqueued (not inline) by kyom-course-community.php on BP pages + single course pages.
 * Uses the global Kyom design tokens with hard fallbacks. Logical properties throughout so
 * RTL (Arabic) and LTR (English) both render correctly from one ruleset.
 */

/* ---- Enrolled-course "Community" CTA (rendered on the Tutor course page) ---- */
/* v6: outline pill — secondary to the filled berry "Start/Continue" button in the
   same sidebar; the inline SVG icon (kyom_icon) inherits berry via currentColor. */
.kyom-community-cta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-block: 16px 4px;
	padding: 11px 22px;
	border-radius: 999px;
	background: transparent;
	color: var(--k-berry, #8E2E5E) !important;
	border: 1px solid var(--k-berry, #8E2E5E);
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
	transition: background .15s ease, color .15s ease;
}
.kyom-community-cta:hover,
.kyom-community-cta:focus-visible {
	background: var(--k-berry, #8E2E5E);
	color: var(--k-ondark, #F8F2F5) !important;
}

/* v6: community tab panel body */
.kyom-community-panel { padding-block: 8px; }
.kyom-community-panel p { color: var(--k-ink, #221A1F); margin-block-end: 8px; }

/* ---- Un-hide BuddyPress content ----
 * The Elementor Kit CSS (post-17.css) ships:
 *   body:not([class*="elementor-page-"]) .site-main { display: none }
 * to suppress the theme's native content area on non-Elementor pages. BuddyPress
 * group/member pages aren't Elementor-built, so their <main id="content"> gets hidden
 * and the page looks empty even though BP rendered fully. Re-show it on BP pages only. */
body.buddypress .site-main,
body.buddypress main#content {
	display: block !important;
}

/* ---- BuddyPress group pages (bp-nouveau) reskinned to Kyom ---- */
.buddypress-wrap {
	--bp-radius: var(--k-r, 18px);
	color: var(--k-ink, #221A1F);
}
.buddypress-wrap .item-list-tabs ul,
.buddypress-wrap .bp-navs {
	background: var(--k-paper, #FBF8F5);
	border: 1px solid var(--k-hair, #E8DFDA);
	border-radius: var(--k-r, 18px);
	padding: 6px;
}
.buddypress-wrap .bp-navs li a {
	color: var(--k-muted, #75676E);
	border-radius: var(--k-rim, 12px);
}
.buddypress-wrap .bp-navs li.current a,
.buddypress-wrap .bp-navs li.selected a,
.buddypress-wrap .bp-navs li a:hover {
	background: var(--k-rose, #F7EDF1);
	color: var(--k-berry, #8E2E5E);
}
.buddypress-wrap .bp-navs li.current a { font-weight: 600; }

/* group header */
#item-header,
.buddypress-wrap #item-header-content {
	border-block-end: 1px solid var(--k-hair, #E8DFDA);
}
#item-header #item-header-content #item-title,
.buddypress-wrap #item-header h1 {
	color: var(--k-deep, #4A1531);
}
.buddypress-wrap .highlight,
.buddypress-wrap .group-status {
	color: var(--k-berry, #8E2E5E);
}

/* activity feed = the community "chat" */
.buddypress-wrap .activity-list li {
	background: #fff;
	border: 1px solid var(--k-hair, #E8DFDA);
	border-radius: var(--k-r, 18px);
	padding: 16px;
	margin-block-end: 12px;
	box-shadow: var(--k-lift, 0 16px 40px rgb(74 21 49 / .08));
}
.buddypress-wrap .activity-list .activity-content .activity-header { color: var(--k-muted, #75676E); }
.buddypress-wrap #whats-new-form,
.buddypress-wrap .acomment-content {
	border-radius: var(--k-r, 18px);
}
.buddypress-wrap #whats-new-form textarea,
.buddypress-wrap input[type="text"],
.buddypress-wrap textarea {
	border: 1px solid var(--k-hair, #E8DFDA);
	border-radius: var(--k-rim, 12px);
	background: var(--k-paper, #FBF8F5);
	color: var(--k-ink, #221A1F);
}

/* BuddyPress buttons → Kyom berry pills */
.buddypress-wrap a.button,
.buddypress-wrap button,
.buddypress-wrap input[type="submit"],
.buddypress-wrap .generic-button a,
.buddypress-wrap .group-button a {
	background: var(--k-berry, #8E2E5E);
	color: var(--k-ondark, #F8F2F5);
	border: 0;
	border-radius: 999px;
	padding: 9px 20px;
	font-weight: 600;
}
.buddypress-wrap a.button:hover,
.buddypress-wrap button:hover,
.buddypress-wrap .group-button a:hover {
	background: var(--k-deep, #4A1531);
}

/* member cards */
.buddypress-wrap ul.item-list li {
	border-block-end: 1px solid var(--k-hair, #E8DFDA);
}
.buddypress-wrap .item-list .item-title a { color: var(--k-deep, #4A1531); }

/* ---- BuddyPress GROUPS DIRECTORY (/groups/) — outside .buddypress-wrap ----
 * Audited live: #buddypress on the directory list renders the group action buttons
 * (.group-button.button, join/leave/request) as unstyled white/grey (border-radius:0).
 * The .buddypress-wrap-scoped button rules above never reach them. Add a broader
 * #buddypress scope so directory buttons + nav match the same berry-pill system.
 * Secondary actions (leave/cancel) get the same filled-berry treatment as primary
 * (join/request/submit) — one button style is simpler than a second visual tier for
 * a single-button-per-card directory list; revisit if the client wants leave de-emphasized. */
#buddypress .group-button a,
#buddypress a.button,
#buddypress button,
#buddypress input[type="submit"],
#buddypress .generic-button a {
	background: var(--k-berry, #8E2E5E);
	color: var(--k-ondark, #F8F2F5);
	border: 0;
	border-radius: 999px;
	padding: 9px 20px;
	font-weight: 600;
}
#buddypress .group-button a:hover,
#buddypress a.button:hover,
#buddypress button:hover {
	background: var(--k-deep, #4A1531);
}
#buddypress .nouveau-search-submit {
	border-radius: var(--k-rim, 12px);
}
#buddypress .dir-navs,
#buddypress .bp-navs {
	background: var(--k-paper, #FBF8F5);
	border: 1px solid var(--k-hair, #E8DFDA);
	border-radius: var(--k-r, 18px);
	padding: 6px;
}
#buddypress .dir-navs li a,
#buddypress .bp-navs li a {
	color: var(--k-muted, #75676E);
	border-radius: var(--k-rim, 12px);
}
#buddypress .dir-navs li.selected a,
#buddypress .bp-navs li.selected a {
	background: var(--k-rose, #F7EDF1);
	color: var(--k-berry, #8E2E5E);
}

/* v8 — the group, members and activity views share this interaction contract.
 * Native selects remain selects; tabs scroll instead of shrinking or wrapping. */
.buddypress-wrap select,
#buddypress select{
	min-height:44px;max-width:100%;padding-inline:12px 36px;
	border:1px solid var(--k-hair, #E8DFDA);border-radius:var(--k-rim, 12px);
	background:var(--k-paper, #FBF8F5);color:var(--k-ink, #221A1F);
}
.buddypress-wrap .activity-list li,
.buddypress-wrap ul.item-list li,
#buddypress ul.item-list li{min-width:0;overflow-wrap:anywhere}
.buddypress-wrap .activity-content,
.buddypress-wrap .item,
#buddypress .item{min-width:0}
.buddypress-wrap .activity-meta,
#buddypress .activity-meta{display:flex;flex-wrap:wrap;gap:8px}
.buddypress-wrap a.button,.buddypress-wrap button,.buddypress-wrap input[type="submit"],
#buddypress a.button,#buddypress button,#buddypress input[type="submit"]{min-height:44px;color:var(--k-ondark, #F8F2F5)!important}
.buddypress-wrap a.button:focus-visible,.buddypress-wrap button:focus-visible,
#buddypress a.button:focus-visible,#buddypress button:focus-visible{outline:2px solid var(--k-berry, #8E2E5E);outline-offset:2px}
/* Keep BuddyPress' member count inside the tab's natural text flow. The theme's
 * default inline margins are LTR-only and push it away from "Members" in RTL. */
.buddypress-wrap .bp-navs li a .count,
#buddypress .bp-navs li a .count{
	display:inline-flex;align-items:center;justify-content:center;position:static;
	min-width:28px;height:28px;margin-inline:6px 0;padding:0 7px;vertical-align:middle;
	border:1px solid var(--k-hair, #E8DFDA);border-radius:999px;
	background:#fff;color:var(--k-muted, #75676E);font-size:12px;line-height:1;
}
.buddypress-wrap .bp-navs li.current a .count,.buddypress-wrap .bp-navs li.selected a .count,
#buddypress .bp-navs li.current a .count,#buddypress .bp-navs li.selected a .count{background:var(--k-berry, #8E2E5E);border-color:var(--k-berry, #8E2E5E);color:var(--k-ondark, #F8F2F5)}

/* Comment totals live inside the berry activity controls; they need the same
 * foreground colour as their icon and label, not BuddyPress' muted default. */
.buddypress-wrap .activity-meta a.acomment-reply span,
.buddypress-wrap .activity-meta .acomment-reply span,
#buddypress .activity-meta a.acomment-reply span,
#buddypress .activity-meta .acomment-reply span{color:var(--k-ondark,#F8F2F5)!important}

/* ---- Mobile: keep it comfortable without masking horizontal layout defects ---- */
@media (max-width: 480px) {
	/* bp-nouveau puts the tabs inside a UL. Scrolling the wrapper itself was the
	 * source of the overlapping Members count and squeezed tab labels. */
	.buddypress-wrap .bp-navs,
	#buddypress .bp-navs,
	#buddypress .dir-navs{display:block;overflow:visible}
	.buddypress-wrap .bp-navs ul,
	#buddypress .bp-navs ul,
	#buddypress .dir-navs ul{display:flex;flex-wrap:nowrap;gap:4px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none;margin:0;padding:0}
	.buddypress-wrap .bp-navs ul::-webkit-scrollbar,
	#buddypress .bp-navs ul::-webkit-scrollbar,
	#buddypress .dir-navs ul::-webkit-scrollbar{display:none}
	.buddypress-wrap .bp-navs li,
	#buddypress .bp-navs li,
	#buddypress .dir-navs li{display:block;flex:0 0 auto;margin:0}
	.buddypress-wrap .bp-navs li a,
	#buddypress .bp-navs li a,
	#buddypress .dir-navs li a{display:block;min-height:44px;padding:10px 12px;white-space:nowrap;text-align:center}
	.buddypress-wrap .activity-list li { padding: 14px; }
	.kyom-community-cta { width: 100%; justify-content: center; }

	/* bp-nouveau ships a 500px group header on single-item pages — contain it so the
	   page doesn't scroll sideways on phones. #buddypress also carries a -80px inline-start
	   margin that shoves content off the right edge on mobile; zero it so it aligns to
	   .page-content's gutters. */
	body.buddypress #buddypress { margin-inline: 0 !important;min-width:0; }
	body.buddypress #item-header,
	body.buddypress #item-header-content,
	body.buddypress #item-actions,
	body.buddypress .buddypress-wrap {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box;
	}
	body.buddypress #item-header { display: block; }
	body.buddypress #item-header-content { margin-inline-start: 0; }
	body.buddypress #item-header{padding:20px 0 16px;text-align:start}
	body.buddypress #item-header-content{display:flex;flex-direction:column;gap:10px;min-width:0}
	body.buddypress #item-header #item-title{font-family:"Amiri",serif;font-size:30px;line-height:1.25;margin:0}
	body.buddypress #item-header .group-description{font-family:"IBM Plex Sans Arabic",sans-serif;font-size:15px;line-height:1.8;color:var(--k-muted,#75676E);overflow-wrap:anywhere}
	body.buddypress #item-header #item-actions{margin:0;padding:0;position:static;text-align:start}
	body.buddypress #item-header .generic-button a,
	body.buddypress #item-header .group-button a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:8px 18px}
	body.buddypress #whats-new-form{padding:16px!important;margin:20px 0!important;border:1px solid var(--k-hair,#E8DFDA);background:#fff}
	body.buddypress #whats-new-form #whats-new-content{margin-inline-start:0!important;padding:0!important}
	body.buddypress #whats-new-form textarea{min-height:88px!important;width:100%!important;padding:12px!important;box-sizing:border-box}
	body.buddypress .activity-update-form #whats-new-options{margin:10px 0 0!important;min-height:44px}
	body.buddypress .activity-update-form #whats-new-submit{float:none!important;margin:0!important}
}

/* Group navigation and invite controls: the primary and admin lists are actual
 * ULs. Treat each as a full-width, single-row rail across phone and narrow-tablet
 * widths—never a set of desktop inline blocks that wrap into a second row. */
@media (max-width:767px){
	body.buddypress #object-nav,
	body.buddypress #subnav{display:block!important;width:100%!important;box-sizing:border-box;margin:18px 0!important;padding:6px!important;border:1px solid var(--k-hair,#E8DFDA)!important;border-radius:20px!important;background:var(--k-paper,#FBF8F5)!important;overflow:hidden}
	body.buddypress #object-nav>ul,
	body.buddypress #subnav>ul,
	body.buddypress .bp-invites-nav>ul{display:flex!important;flex-wrap:nowrap!important;align-items:stretch!important;gap:4px!important;width:max-content!important;min-width:100%!important;margin:0!important;padding:0!important;overflow-x:auto!important;overscroll-behavior-inline:contain;scrollbar-width:none}
	body.buddypress #object-nav>ul::-webkit-scrollbar,
	body.buddypress #subnav>ul::-webkit-scrollbar,
	body.buddypress .bp-invites-nav>ul::-webkit-scrollbar{display:none}
	body.buddypress #object-nav>ul>li,
	body.buddypress #subnav>ul>li,
	body.buddypress .bp-invites-nav>ul>li{display:flex!important;flex:1 0 auto!important;min-width:max-content!important;margin:0!important;list-style:none!important}
	body.buddypress #object-nav>ul>li>a,
	body.buddypress #subnav>ul>li>a,
	body.buddypress .bp-invites-nav>ul>li>a{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;min-height:48px!important;width:100%!important;padding:9px 14px!important;border-radius:12px!important;white-space:nowrap!important;text-align:center!important;line-height:1.2!important}
	body.buddypress #object-nav>ul>li>a .count,
	body.buddypress #subnav>ul>li>a .count{display:inline-flex!important;align-items:center!important;justify-content:center!important;align-self:center!important;flex:0 0 auto!important;min-width:28px!important;height:28px!important;margin:0!important;padding:0 7px!important;line-height:1!important;vertical-align:middle!important;transform:none!important}
	body.buddypress #object-nav>ul>li.current>a .count,
	body.buddypress #object-nav>ul>li.selected>a .count{color:#fff!important}

	/* Native filter select: one coherent control; its affordance cannot drop below
	 * the field or inherit the desktop container border. */
	body.buddypress .bp-dir-search-form,
	body.buddypress .subnav-search,
	body.buddypress .bp-invites-filters{display:block!important;width:100%!important;margin:16px 0!important;padding:0!important;border:0!important;background:transparent!important}
	body.buddypress .select-wrap,
	body.buddypress .bp-select-wrap,
	body.buddypress #members-order-select{display:block!important;position:relative!important;width:100%!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important}
	body.buddypress .select-wrap select,
	body.buddypress .bp-select-wrap select,
	body.buddypress #members-order-select select{display:block!important;width:100%!important;min-height:48px!important;margin:0!important;padding-inline:14px 42px!important;border:1px solid var(--k-hair,#E8DFDA)!important;border-radius:12px!important;background:var(--k-paper,#FBF8F5)!important;color:var(--k-ink,#221A1F)!important;line-height:1.2!important}

	/* Invite page: search and list rows become predictable full-width cards, and
	 * pagination uses the real supplied Dashicons rather than a wrapped glyph. */
	body.buddypress .bp-invites-nav{width:100%;margin:0 0 16px!important;padding:0!important}
	body.buddypress .bp-invites-content,
	body.buddypress #members-list{width:100%!important;min-width:0!important;margin:0!important;padding:0!important}
	body.buddypress #members-list>li{display:grid!important;grid-template-columns:56px minmax(0,1fr) auto!important;align-items:center!important;gap:12px!important;width:100%!important;box-sizing:border-box!important;margin:10px 0!important;padding:12px!important;border:1px solid var(--k-hair,#E8DFDA)!important;border-radius:14px!important;background:#fff!important}
	body.buddypress #members-list .item-avatar{margin:0!important}
	body.buddypress #members-list .item-avatar img{display:block;width:52px!important;height:52px!important;border-radius:50%!important}
	body.buddypress #members-list .item{min-width:0!important;margin:0!important;text-align:start!important}
	body.buddypress #members-list .list-title{overflow-wrap:anywhere;font-family:"IBM Plex Sans Arabic",sans-serif!important;font-size:17px!important;line-height:1.45!important}
	body.buddypress #members-list .action{margin:0!important}
	body.buddypress #members-list .invite-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important;padding:0!important}
	body.buddypress .bp-invites-filters .bp-search,
	body.buddypress .bp-invites-search-form{display:flex!important;width:100%!important;margin:0!important}
	body.buddypress .bp-invites-search-form input[type=search]{min-width:0!important;flex:1 1 auto!important;min-height:48px!important;margin:0!important}
	body.buddypress .bp-invites-search-form .nouveau-search-submit{flex:0 0 48px!important;width:48px!important;min-width:48px!important;min-height:48px!important;margin:0!important;padding:0!important}
	body.buddypress .bp-invites-filters .last{display:flex!important;justify-content:center!important;gap:8px!important;margin:14px 0 0!important}
	body.buddypress .bp-invites-filters .last .invite-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important;padding:0!important}
	body.buddypress .bp-invites-filters .last .dashicons{line-height:1!important}
}

/* ==== v10 — BuddyPress screen-specific controls ==== */
/* The invite UI is a real LTR task flow (English names, search and paging), even
 * when it sits inside an RTL group. Give it its own layout rather than letting the
 * global button rules turn its navigation into dark blocks. */
body.buddypress #group-invites-container{min-width:0}
body.buddypress .bp-screen-title{direction:ltr;text-align:left!important}
body.buddypress #group-invites-container .bp-invites-nav{display:block;width:100%;margin:0 0 18px;padding:6px;border:1px solid var(--k-hair,#E8DFDA);border-radius:18px;background:var(--k-paper,#FBF8F5);box-sizing:border-box}
body.buddypress #group-invites-container .bp-invites-nav>ul{display:flex;align-items:stretch;gap:4px;width:100%;margin:0;padding:0;overflow-x:auto;scrollbar-width:none;list-style:none}
body.buddypress #group-invites-container .bp-invites-nav>ul::-webkit-scrollbar{display:none}
body.buddypress #group-invites-container .bp-invites-nav>ul>li{display:flex;flex:1 0 max-content;margin:0;list-style:none}
body.buddypress #group-invites-container .bp-invites-nav>ul>li>a{display:inline-flex;align-items:center;justify-content:center;min-height:46px;width:100%;padding:8px 14px;border-radius:12px;background:#fff!important;color:var(--k-muted,#75676E)!important;font-family:"IBM Plex Sans Arabic",sans-serif;font-weight:500;white-space:nowrap;text-decoration:none}
body.buddypress #group-invites-container .bp-invites-nav>ul>li.current>a{background:var(--k-rose,#F7EDF1)!important;color:var(--k-berry,#8E2E5E)!important;font-weight:700}
body.buddypress #group-invites-container .bp-invites-nav>ul>li>a .count{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:26px;margin-inline-start:6px;border-radius:999px;background:var(--k-berry,#8E2E5E);color:#fff!important;line-height:1}

/* Invite rows: cancel the legacy absolute action/floats before laying each card
 * out as avatar, name, action. This removes every overlap seen in the capture. */
body.buddypress #group-invites-container .bp-invites-content ul.item-list{margin:0;padding:0;border:0;list-style:none}
body.buddypress #group-invites-container .bp-invites-content ul.item-list>li{display:grid!important;grid-template-columns:52px minmax(0,1fr) 44px!important;align-items:center!important;gap:12px!important;direction:ltr;min-height:76px;width:100%!important;margin:10px 0!important;padding:12px!important;box-sizing:border-box!important;border:1px solid var(--k-hair,#E8DFDA)!important;border-radius:16px!important;background:#fff!important;box-shadow:none!important}
body.buddypress #group-invites-container .bp-invites-content .item-avatar,
body.buddypress #group-invites-container .bp-invites-content .item,
body.buddypress #group-invites-container .bp-invites-content .action{float:none!important;position:static!important;margin:0!important;padding:0!important;min-width:0!important;width:auto!important}
body.buddypress #group-invites-container .bp-invites-content .item-avatar{grid-column:1}
body.buddypress #group-invites-container .bp-invites-content .item-avatar img{display:block!important;width:52px!important;height:52px!important;max-width:none!important;border-radius:50%!important;object-fit:cover}
body.buddypress #group-invites-container .bp-invites-content .item{grid-column:2;text-align:left!important}
body.buddypress #group-invites-container .bp-invites-content .list-title{width:auto!important;margin:0!important;color:var(--k-ink,#221A1F);font-family:"IBM Plex Sans Arabic",sans-serif!important;font-size:17px!important;font-weight:600!important;line-height:1.35!important;overflow-wrap:anywhere}
body.buddypress #group-invites-container .bp-invites-content .action{grid-column:3}
body.buddypress #group-invites-container .bp-invites-content .invite-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important;margin:0!important;padding:0!important;border-radius:50%!important;background:var(--k-berry,#8E2E5E)!important;color:#fff!important}
body.buddypress #group-invites-container .bp-invites-content .invite-button .icons:before{color:#fff!important}
body.buddypress #group-invites-container .bp-invites-filters{margin:0 0 14px!important}
body.buddypress #group-invites-container .bp-invites-filters .bp-search form{display:grid!important;grid-template-columns:minmax(0,1fr) 48px!important;width:100%!important;direction:ltr}
body.buddypress #group-invites-container .bp-invites-filters input[type=search]{grid-column:1;min-width:0!important;min-height:48px!important;margin:0!important;border-radius:12px 0 0 12px!important}
body.buddypress #group-invites-container .bp-invites-filters .nouveau-search-submit{grid-column:2;width:48px!important;min-width:48px!important;min-height:48px!important;margin:0!important;padding:0!important;border-radius:0 12px 12px 0!important;background:var(--k-berry,#8E2E5E)!important;color:#fff!important}
body.buddypress #group-invites-container .bp-invites-filters .nouveau-search-submit *{color:#fff!important}
body.buddypress #group-invites-container .bp-invites-filters .last{display:flex!important;justify-content:flex-start!important;gap:8px!important;direction:ltr;margin:12px 0 0!important}
body.buddypress #group-invites-container #bp-invites-prev-page,
body.buddypress #group-invites-container #bp-invites-next-page{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:42px!important;min-width:42px!important;height:42px!important;min-height:42px!important;margin:0!important;padding:0!important;background:var(--k-berry,#8E2E5E)!important;color:#fff!important}
body.buddypress #group-invites-container #bp-invites-prev-page .dashicons,
body.buddypress #group-invites-container #bp-invites-next-page .dashicons{color:#fff!important;transform:none!important}

/* Activity filter/search: a select-arrow is a sibling in Nouveau. Position it
 * inside the field (left edge in RTL) instead of letting it fall beneath. */
body.buddypress #buddypress .subnav-filters{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;width:100%;margin:18px 0!important;padding:0!important;border:0!important;background:transparent!important}
body.buddypress #buddypress .subnav-filters .bp-search form{display:grid!important;grid-template-columns:48px minmax(0,1fr)!important;width:100%}
body.buddypress #buddypress .subnav-filters input[type=search]{grid-column:2;min-width:0!important;min-height:48px!important;margin:0!important;border-radius:0 12px 12px 0!important}
body.buddypress #buddypress .subnav-filters .nouveau-search-submit{grid-column:1;width:48px!important;min-width:48px!important;min-height:48px!important;margin:0!important;padding:0!important;border-radius:12px 0 0 12px!important;background:var(--k-berry,#8E2E5E)!important;color:#fff!important}
body.buddypress #buddypress .subnav-filters .nouveau-search-submit *{color:#fff!important}
body.buddypress #buddypress .select-wrap{position:relative!important;display:block!important;width:100%!important}
body.buddypress #buddypress .select-wrap select{display:block!important;width:100%!important;min-height:48px!important;padding-inline:42px 14px!important;appearance:none!important;-webkit-appearance:none!important}
body.buddypress #buddypress .select-wrap .select-arrow{position:absolute!important;inset-inline-start:14px!important;inset-inline-end:auto!important;top:50%!important;display:block!important;width:12px!important;height:12px!important;margin:0!important;transform:translateY(-50%)!important;pointer-events:none}

/* Activity cards retain light hierarchy; only actual action buttons are berry.
 * This prevents the raw card body and status text from inheriting a dark UI. */
body.buddypress #buddypress .activity-list>li{padding:18px!important;border:1px solid var(--k-hair,#E8DFDA)!important;border-radius:18px!important;background:#fff!important;box-shadow:0 8px 22px rgb(74 21 49 / .05)!important}
body.buddypress #buddypress .activity-list .activity-content{min-width:0!important;margin:0!important}
body.buddypress #buddypress .activity-list .activity-header{margin:0 0 12px!important;color:var(--k-muted,#75676E)!important;font-family:"IBM Plex Sans Arabic",sans-serif!important;line-height:1.7!important;overflow-wrap:anywhere}
body.buddypress #buddypress .activity-list .activity-meta{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:8px!important;margin:14px 0 0!important;padding:0!important}
body.buddypress #buddypress .activity-list .activity-meta a{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;min-height:38px!important;padding:7px 13px!important;border-radius:999px!important;background:var(--k-berry,#8E2E5E)!important;color:#fff!important;font-size:14px!important}
body.buddypress #buddypress .activity-list .activity-meta a *{color:#fff!important}

/* TinyMCE is an editing surface, not a set of primary calls to action. */
body.buddypress #buddypress .wp-editor-container,
body.buddypress #buddypress .mce-tinymce{border:1px solid var(--k-hair,#E8DFDA)!important;border-radius:14px!important;overflow:hidden!important;background:#fff!important}
body.buddypress #buddypress .mce-toolbar-grp{padding:6px!important;border-bottom:1px solid var(--k-hair,#E8DFDA)!important;background:var(--k-paper,#FBF8F5)!important}
body.buddypress #buddypress .mce-toolbar .mce-btn,
body.buddypress #buddypress .mce-toolbar .mce-btn button{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:32px!important;min-height:32px!important;margin:1px!important;padding:0 6px!important;border:0!important;border-radius:8px!important;background:transparent!important;color:var(--k-ink,#221A1F)!important;box-shadow:none!important}
body.buddypress #buddypress .mce-toolbar .mce-btn:hover,
body.buddypress #buddypress .mce-toolbar .mce-btn:hover button{background:var(--k-rose,#F7EDF1)!important;color:var(--k-berry,#8E2E5E)!important}
body.buddypress #buddypress .mce-toolbar .mce-ico{color:currentColor!important}
body.buddypress #buddypress .mce-edit-area iframe{min-height:180px!important;background:#fff!important}
body.buddypress #buddypress #bp-messages-send{background:var(--k-berry,#8E2E5E)!important;color:#fff!important}
body.buddypress #buddypress #bp-messages-reset{background:transparent!important;color:var(--k-berry,#8E2E5E)!important;border:1px solid var(--k-berry,#8E2E5E)!important}

/* v10.1 — Nouveau's search form has both a UL/list wrapper and its own inner
 * .bp-search div. Reset both layers, then use a simple RTL flex row so the
 * field and its submit button remain a single joined control. */
body.buddypress #buddypress .subnav-filters>ul{display:block!important;margin:0!important;padding:0!important;list-style:none!important}
body.buddypress #buddypress .subnav-filters>ul>li.group-act-search,
body.buddypress #buddypress .subnav-filters .bp-search,
body.buddypress #buddypress .subnav-filters .bp-dir-search-form{display:block!important;float:none!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
body.buddypress #buddypress .subnav-filters .bp-dir-search-form{display:flex!important;align-items:stretch!important;direction:rtl!important;min-height:48px!important}
body.buddypress #buddypress .subnav-filters .bp-dir-search-form input[type=search]{order:1!important;flex:1 1 auto!important;width:0!important;min-width:0!important;min-height:48px!important;margin:0!important;padding-inline:14px!important;border-radius:0 12px 12px 0!important;box-sizing:border-box!important}
body.buddypress #buddypress .subnav-filters .bp-dir-search-form .nouveau-search-submit{order:2!important;flex:0 0 48px!important;width:48px!important;min-width:48px!important;min-height:48px!important;margin:0!important;padding:0!important;border-radius:12px 0 0 12px!important;background:var(--k-berry,#8E2E5E)!important;color:#fff!important}
body.buddypress #buddypress .subnav-filters .bp-dir-search-form .nouveau-search-submit *{color:#fff!important}

/* Make the actual filters, not just their select element, consume the row.
 * It avoids a native select calculating against an old floated half-width box. */
body.buddypress #buddypress .subnav-filters #comp-filters,
body.buddypress #buddypress .subnav-filters #dir-filters,
body.buddypress #buddypress .subnav-filters .component-filters,
body.buddypress #buddypress .subnav-filters .component-filters .filter{display:block!important;float:none!important;width:100%!important;max-width:none!important;margin:12px 0 0!important;padding:0!important}
body.buddypress #buddypress .subnav-filters .select-wrap{display:block!important;position:relative!important;width:100%!important;min-width:0!important;box-sizing:border-box!important}
body.buddypress #buddypress .subnav-filters .select-wrap select{display:block!important;width:100%!important;min-width:0!important;max-width:100%!important;height:48px!important;min-height:48px!important;padding-inline:42px 16px!important;box-sizing:border-box!important;font-size:16px!important;line-height:1.2!important;text-overflow:clip!important;white-space:nowrap!important;overflow:visible!important}
body.buddypress #buddypress .subnav-filters .select-wrap .select-arrow{inset-inline-start:16px!important;inset-inline-end:auto!important;top:50%!important;margin:0!important;transform:translateY(-50%)!important}

/* v10.2 — Nouveau places an accessibility label, input and submit button as
 * three form siblings. Keep the label visually hidden, place the two visible
 * controls in one grid row, and reset the legacy 78%/20% floats. */
body.buddypress #buddypress .subnav-filters,
body.buddypress #group-invites-container .bp-invites-filters{
	display:block!important;
	width:100%!important;
	min-width:0!important;
	height:auto!important;
	margin:18px 0!important;
	padding:0!important;
	border:0!important;
	background:transparent!important;
}
body.buddypress #buddypress .subnav-filters>ul,
body.buddypress #buddypress .subnav-filters>ul>li.group-act-search,
body.buddypress #buddypress .subnav-filters .bp-search,
body.buddypress #group-invites-container .bp-invites-filters .bp-search{
	display:block!important;
	float:none!important;
	position:static!important;
	width:100%!important;
	min-width:0!important;
	max-width:none!important;
	height:auto!important;
	margin:0!important;
	padding:0!important;
}
body.buddypress #buddypress .subnav-filters form.bp-dir-search-form,
body.buddypress #buddypress .subnav-filters form#group-members-search,
body.buddypress #buddypress form#user_messages_search_form,
body.buddypress #group-invites-container .bp-invites-filters form[data-bp-search].bp-invites-search-form{
	display:grid!important;
	grid-template-columns:minmax(0,1fr) 52px!important;
	align-items:stretch!important;
	direction:ltr!important;
	float:none!important;
	position:relative!important;
	inset:auto!important;
	width:100%!important;
	min-width:0!important;
	max-width:none!important;
	height:52px!important;
	min-height:52px!important;
	margin:0!important;
	padding:0!important;
	overflow:hidden!important;
	box-sizing:border-box!important;
	border:1px solid var(--k-hair,#E8DFDA)!important;
	border-radius:14px!important;
	background:#fff!important;
	box-shadow:0 4px 14px rgb(74 21 49 / .04)!important;
}
body.buddypress #buddypress .subnav-filters form.bp-dir-search-form:focus-within,
body.buddypress #buddypress .subnav-filters form#group-members-search:focus-within,
body.buddypress #buddypress form#user_messages_search_form:focus-within,
body.buddypress #group-invites-container .bp-invites-filters form[data-bp-search].bp-invites-search-form:focus-within{
	border-color:var(--k-berry,#8E2E5E)!important;
	box-shadow:0 0 0 3px rgb(142 46 94 / .12)!important;
}
body.buddypress #buddypress .subnav-filters form.bp-dir-search-form>label,
body.buddypress #buddypress .subnav-filters form#group-members-search>label,
body.buddypress #buddypress form#user_messages_search_form>label,
body.buddypress #group-invites-container .bp-invites-filters form[data-bp-search].bp-invites-search-form>label{
	position:absolute!important;
	width:1px!important;
	height:1px!important;
	margin:-1px!important;
	padding:0!important;
	overflow:hidden!important;
	clip:rect(0,0,0,0)!important;
	white-space:nowrap!important;
	border:0!important;
}
body.buddypress #buddypress .subnav-filters form.bp-dir-search-form input[type=search],
body.buddypress #buddypress .subnav-filters form#group-members-search input[type=search],
body.buddypress #buddypress form#user_messages_search_form input[type=search],
body.buddypress #group-invites-container .bp-invites-filters form[data-bp-search].bp-invites-search-form input[type=search]{
	display:block!important;
	grid-column:1!important;
	grid-row:1!important;
	float:none!important;
	position:static!important;
	width:100%!important;
	min-width:0!important;
	max-width:none!important;
	height:50px!important;
	min-height:50px!important;
	margin:0!important;
	padding:0 16px!important;
	box-sizing:border-box!important;
	border:0!important;
	border-radius:0!important;
	outline:0!important;
	background:#fff!important;
	color:var(--k-ink,#221A1F)!important;
	font-family:"IBM Plex Sans Arabic",sans-serif!important;
	font-size:16px!important;
	line-height:50px!important;
	text-align:left!important;
}
body.buddypress #buddypress .subnav-filters form.bp-dir-search-form input[type=search]::placeholder,
body.buddypress #buddypress .subnav-filters form#group-members-search input[type=search]::placeholder,
body.buddypress #buddypress form#user_messages_search_form input[type=search]::placeholder,
body.buddypress #group-invites-container .bp-invites-filters form[data-bp-search].bp-invites-search-form input[type=search]::placeholder{
	color:var(--k-muted,#75676E)!important;
	opacity:.82!important;
}
body.buddypress #buddypress .subnav-filters form.bp-dir-search-form button.nouveau-search-submit,
body.buddypress #buddypress .subnav-filters form#group-members-search button[type=submit],
body.buddypress #buddypress form#user_messages_search_form button[type=submit],
body.buddypress #group-invites-container .bp-invites-filters form[data-bp-search].bp-invites-search-form button.nouveau-search-submit{
	display:inline-flex!important;
	grid-column:2!important;
	grid-row:1!important;
	align-items:center!important;
	justify-content:center!important;
	float:none!important;
	position:static!important;
	inset:auto!important;
	width:52px!important;
	min-width:52px!important;
	max-width:52px!important;
	height:50px!important;
	min-height:50px!important;
	margin:0!important;
	padding:0!important;
	box-sizing:border-box!important;
	border:0!important;
	border-radius:0!important;
	background:var(--k-berry,#8E2E5E)!important;
	color:#fff!important;
	box-shadow:none!important;
}
body.buddypress #buddypress .subnav-filters form.bp-dir-search-form button.nouveau-search-submit *,
body.buddypress #buddypress .subnav-filters form#group-members-search button[type=submit] *,
body.buddypress #buddypress form#user_messages_search_form button[type=submit] *,
body.buddypress #group-invites-container .bp-invites-filters form[data-bp-search].bp-invites-search-form button.nouveau-search-submit *{
	color:#fff!important;
}
body.buddypress #buddypress .subnav-filters form.bp-dir-search-form button.nouveau-search-submit .dashicons,
body.buddypress #buddypress .subnav-filters form#group-members-search button[type=submit] .dashicons,
body.buddypress #buddypress form#user_messages_search_form button[type=submit] .dashicons,
body.buddypress #group-invites-container .bp-invites-filters form[data-bp-search].bp-invites-search-form button.nouveau-search-submit .dashicons{
	display:inline-block!important;
	position:static!important;
	width:20px!important;
	height:20px!important;
	margin:0!important;
	overflow:visible!important;
	font-size:20px!important;
	line-height:1!important;
}
body.buddypress #buddypress .subnav-filters form.bp-dir-search-form button.nouveau-search-submit .bp-screen-reader-text,
body.buddypress #buddypress .subnav-filters form#group-members-search button[type=submit] .bp-screen-reader-text,
body.buddypress #buddypress form#user_messages_search_form button[type=submit] .bp-screen-reader-text,
body.buddypress #group-invites-container .bp-invites-filters form[data-bp-search].bp-invites-search-form button.nouveau-search-submit .bp-screen-reader-text{
	position:absolute!important;
	width:1px!important;
	height:1px!important;
	margin:-1px!important;
	padding:0!important;
	overflow:hidden!important;
	clip:rect(0,0,0,0)!important;
	white-space:nowrap!important;
	border:0!important;
}

/* ==== v11 — authenticated navigation and message-search repair ==== */
/* The rail itself must own the overflow. A max-content rail can never scroll
 * inside itself, and clipping the parent made the last items unreachable. */
@media (max-width:767px){
	body.buddypress #object-nav,
	body.buddypress #subnav{
		overflow:visible!important;
	}
	body.buddypress #object-nav>ul,
	body.buddypress #subnav>ul,
	body.buddypress .bp-invites-nav>ul{
		width:100%!important;
		min-width:0!important;
		max-width:100%!important;
		overflow-x:auto!important;
		overflow-y:hidden!important;
		-webkit-overflow-scrolling:touch;
		touch-action:pan-x;
		scroll-snap-type:inline proximity;
	}
	body.buddypress #object-nav>ul>li,
	body.buddypress #subnav>ul>li,
	body.buddypress .bp-invites-nav>ul>li{
		flex:0 0 auto!important;
		scroll-snap-align:start;
	}
}

/* BuddyPress Messages uses a different form ID and sits outside the directory
 * filter list. Reset its wrapper as well so the input and submit icon remain a
 * single 52px control on every authenticated member screen. */
body.buddypress #buddypress .bp-messages-filters,
body.buddypress #buddypress .bp-messages-search{
	display:block!important;
	float:none!important;
	position:static!important;
	width:100%!important;
	min-width:0!important;
	max-width:none!important;
	height:auto!important;
	margin:18px 0!important;
	padding:0!important;
	border:0!important;
	background:transparent!important;
}
body.buddypress #buddypress form#user_messages_search_form{
	margin:0!important;
}

/* BuddyPress' select starts life as an auto-width RTL field with a negative
 * margin. Reset the native geometry and give English filter labels a clear LTR
 * reading direction with the supplied arrow kept inside the right edge. */
body.buddypress #buddypress .subnav-filters #comp-filters,
body.buddypress #buddypress .subnav-filters #dir-filters,
body.buddypress #buddypress .subnav-filters .component-filters,
body.buddypress #buddypress .subnav-filters .component-filters .filter{
	display:block!important;
	float:none!important;
	position:static!important;
	width:100%!important;
	min-width:0!important;
	max-width:none!important;
	height:auto!important;
	margin:12px 0 0!important;
	padding:0!important;
}
body.buddypress #buddypress .subnav-filters .select-wrap{
	display:block!important;
	position:relative!important;
	width:100%!important;
	min-width:0!important;
	height:52px!important;
	margin:0!important;
	padding:0!important;
	box-sizing:border-box!important;
	border:1px solid var(--k-hair,#E8DFDA)!important;
	border-radius:14px!important;
	background:#fff!important;
	box-shadow:0 4px 14px rgb(74 21 49 / .04)!important;
}
body.buddypress #buddypress .subnav-filters .select-wrap:focus-within{
	border-color:var(--k-berry,#8E2E5E)!important;
	box-shadow:0 0 0 3px rgb(142 46 94 / .12)!important;
}
body.buddypress #buddypress .subnav-filters .select-wrap select{
	display:block!important;
	float:none!important;
	position:static!important;
	direction:ltr!important;
	width:100%!important;
	min-width:0!important;
	max-width:none!important;
	height:50px!important;
	min-height:50px!important;
	margin:0!important;
	padding:0 44px 0 16px!important;
	box-sizing:border-box!important;
	border:0!important;
	border-radius:14px!important;
	outline:0!important;
	background:transparent!important;
	color:var(--k-ink,#221A1F)!important;
	font-family:"IBM Plex Sans Arabic",sans-serif!important;
	font-size:16px!important;
	line-height:50px!important;
	text-align:left!important;
	text-align-last:left!important;
	text-indent:0!important;
	white-space:nowrap!important;
	color-scheme:light!important;
}
body.buddypress #buddypress .subnav-filters .select-wrap select option{
	direction:ltr!important;
	text-align:left!important;
}
body.buddypress #buddypress .subnav-filters .select-wrap .select-arrow{
	display:flex!important;
	align-items:center!important;
	justify-content:center!important;
	position:absolute!important;
	inset:0 14px 0 auto!important;
	width:16px!important;
	height:auto!important;
	margin:0!important;
	transform:none!important;
	pointer-events:none!important;
}

/* Group member results have one structural wrapper between the LI and the
 * avatar/text. Lay out that real wrapper so cards read as compact horizontal
 * rows instead of a centered avatar stacked above the member name. */
@media (max-width:767px){
	body.buddypress #members-group-list,
	body.buddypress #members-group-list #members-list{
		width:100%!important;
		min-width:0!important;
		margin:0!important;
		padding:0!important;
	}
	body.buddypress #members-group-list #members-list>li{
		display:block!important;
		width:100%!important;
		min-width:0!important;
		margin:10px 0!important;
		padding:0!important;
		overflow:hidden!important;
		box-sizing:border-box!important;
		border:1px solid var(--k-hair,#E8DFDA)!important;
		border-radius:16px!important;
		background:#fff!important;
		box-shadow:0 7px 20px rgb(74 21 49 / .045)!important;
	}
	body.buddypress #members-group-list #members-list>li>.list-wrap{
		display:grid!important;
		grid-template-columns:56px minmax(0,1fr)!important;
		align-items:center!important;
		gap:14px!important;
		direction:ltr!important;
		width:100%!important;
		min-width:0!important;
		min-height:88px!important;
		margin:0!important;
		padding:15px!important;
		box-sizing:border-box!important;
		border:0!important;
		background:transparent!important;
	}
	body.buddypress #members-group-list #members-list .item-avatar{
		grid-column:1!important;
		float:none!important;
		position:static!important;
		width:56px!important;
		height:56px!important;
		margin:0!important;
		padding:0!important;
	}
	body.buddypress #members-group-list #members-list .item-avatar a{
		display:block!important;
		width:56px!important;
		height:56px!important;
	}
	body.buddypress #members-group-list #members-list .item-avatar img{
		display:block!important;
		width:56px!important;
		height:56px!important;
		max-width:none!important;
		margin:0!important;
		border-radius:50%!important;
		object-fit:cover!important;
	}
	body.buddypress #members-group-list #members-list .item,
	body.buddypress #members-group-list #members-list .item-block{
		display:block!important;
		grid-column:2!important;
		float:none!important;
		position:static!important;
		width:100%!important;
		min-width:0!important;
		margin:0!important;
		padding:0!important;
		text-align:left!important;
	}
	body.buddypress #members-group-list #members-list .list-title{
		margin:0!important;
		color:var(--k-berry,#8E2E5E)!important;
		font-family:"IBM Plex Sans Arabic",sans-serif!important;
		font-size:17px!important;
		font-weight:600!important;
		line-height:1.35!important;
		text-align:left!important;
		overflow-wrap:anywhere!important;
	}
	body.buddypress #members-group-list #members-list .item-meta{
		margin:5px 0 0!important;
		color:var(--k-muted,#75676E)!important;
		font-family:"IBM Plex Sans Arabic",sans-serif!important;
		font-size:14px!important;
		line-height:1.45!important;
		text-align:left!important;
	}
}
