/*
Theme Name: Challenge Tennis
Theme URI: https://example.com/challenge-tennis
Author: Challenge Tennis
Description: A modern WordPress theme for tennis challenge ladders, coach finder, and community. Clean layout, refined green palette, and responsive design.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: challenge-tennis
*/

@font-face {
  font-family: 'Writing';
  src: url('assets/fonts/Sail-Regular.ttf') format('truetype');
}

  .greenpopup {background: linear-gradient(165deg, #6f8f4f 0%, #3d5c34 45%, #1f3b24 100%)!important;}
	.greenpopup  #site-overlay-title {color:white}
  .tcrr-card * { box-sizing: border-box; }
  .tcrr-card {
    max-width: 380px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    
    border-radius: 20px;
    padding: 22px 20px 24px;
    box-shadow: 0 20px 50px rgba(0,0,0,0.35);
    color: #fff;
  }

  .tcrr-header h1 { font-size: 17px; font-weight: 700; margin: 0; }
  .tcrr-header p { margin: 2px 0 0; font-size: 12px; color: #d7e3c9; }

  .tcrr-section-label {
    font-size: 11px;
    letter-spacing: 0.03em;
    color: #e9d9a8;
    font-weight: 700;
    margin: 16px 0 8px 2px;
  }

  .tcrr-details {
    background: #f7f5ee;
    border-radius: 14px;
    padding: 6px 14px;
    color: #26331f;
  }
  .tcrr-detail-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid rgba(0,0,0,0.06);
    font-size: 13px;
  }
  .tcrr-detail-row:last-child { border-bottom: none; }
  .tcrr-detail-label {
    color: #7c8a6c;
    font-weight: 600;
    flex: none;
  }
  .tcrr-detail-value {
    font-weight: 600;
    text-align: right;
  }
  .tcrr-detail-row-notes .tcrr-detail-value {
    font-weight: 400;
    max-width: 220px;
  }

  .tcrr-actions {
    display: flex;
    gap: 10px;
    margin-top: 16px;
  }
  .tcrr-adjust-btn, .tcrr-accept-btn {
    flex: 1;
    border: none;
    border-radius: 12px;
    padding: 13px;
    font-size: 14.5px;
    font-weight: 700;
    cursor: pointer;
  }
  .tcrr-adjust-btn {
    background: rgba(255,255,255,0.12);
    color: #fff;
  }
  .tcrr-adjust-btn:hover { background: rgba(255,255,255,0.2); }
  .tcrr-adjust-btn.tcrr-active {
    background: rgba(255,255,255,0.25);
  }
  .tcrr-accept-btn {
    background: linear-gradient(135deg, #f0d385, #d8a93d);
    color: #26331f;
  }
  .tcrr-accept-btn:hover { filter: brightness(1.05); }

  .tcrr-adjust-panel {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
  }
  .tcrr-adjust-panel.tcrr-open {
    max-height: 100%;
  }

  .tcrr-card-inner {
    background: #f7f5ee;
    border-radius: 14px;
    padding: 14px 14px 10px;
    color: #26331f;
  }

  .tcrr-cal-nav {
    display: flex; align-items: center; justify-content: space-between;
    margin-bottom: 10px;
  }
  .tcrr-cal-nav button {
    width: 26px; height: 26px; border-radius: 50%;
    border: none; background: #eee9d8; color: #4a5c3a;
    font-size: 13px; cursor: pointer;
  }
  .tcrr-cal-nav button:hover { background: #e2dcc4; }
  .tcrr-cal-month { font-weight: 700; font-size: 14px; color: #2d3b23; }

  .tcrr-cal-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 4px;
    text-align: center;
  }
  .tcrr-cal-grid .tcrr-dow {
    font-size: 10px; font-weight: 700; color: #9aa085; padding-bottom: 4px;
  }

  .tcrr-day-btn {
    border: none; background: transparent;
    padding: 6px 0; border-radius: 10px;
    font-size: 12.5px; color: #3a4830; cursor: pointer;
  }
  .tcrr-day-btn:hover { background: #e9e4cf; }
  .tcrr-day-btn.tcrr-faded { color: #c6c3b3; cursor: default; }
  .tcrr-day-btn.tcrr-faded:hover { background: transparent; }
  .tcrr-day-btn.tcrr-today { border: 1.5px solid #6f8f4f; font-weight: 700; }
  .tcrr-day-btn.tcrr-selected {
    background: linear-gradient(135deg, #d8a93d, #b8842a);
    color: #fff; font-weight: 700;
  }

  .tcrr-time-card {
    background: #f7f5ee;
    border-radius: 14px;
    padding: 4px 6px;
    position: relative;
  }
  .tcrr-wheel-row { display: flex; position: relative; height: 168px; }
  .tcrr-wheel-highlight {
    position: absolute; top: 50%; left: 6px; right: 6px; height: 40px;
    transform: translateY(-50%);
    background: linear-gradient(135deg, #f0d385, #d8a93d);
    border-radius: 10px; pointer-events: none; z-index: 0;
  }
  .tcrr-wheel-col {
    flex: 1; overflow-y: auto;
    scroll-snap-type: y mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding: 64px 0;
    position: relative; z-index: 1;
  }
  .tcrr-wheel-col::-webkit-scrollbar { display: none; }
  .tcrr-wheel-item {
    height: 40px; display: flex; align-items: center; justify-content: center;
    scroll-snap-align: center;
    font-size: 15px; font-weight: 600; color: #9aa085;
    transition: color 0.15s, font-size 0.15s;
    cursor: pointer;
  }
  .tcrr-wheel-item.tcrr-centered { color: #26331f; font-size: 17px; }
  .tcrr-wheel-fade-top, .tcrr-wheel-fade-bottom {
    position: absolute; left: 0; right: 0; height: 46px;
    pointer-events: none; z-index: 2;
  }
  .tcrr-wheel-fade-top { top: 0; background: linear-gradient(#f7f5ee, rgba(247,245,238,0)); }
  .tcrr-wheel-fade-bottom { bottom: 0; background: linear-gradient(rgba(247,245,238,0), #f7f5ee); }

  .tcrr-notes {
    width: 100%;
    min-height: 64px;
    resize: vertical;
    background: #f7f5ee;
    border: none;
    border-radius: 12px;
    padding: 10px 12px;
    font-size: 13px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    color: #26331f;
    outline: none;
  }
  .tcrr-notes::placeholder { color: #9aa085; }
  .tcrr-notes:focus { box-shadow: 0 0 0 2px #d8a93d; }

  .tcrr-send-adjust-btn {
    margin-top: 14px;
    width: 100%;
    border: none;
    border-radius: 12px;
    padding: 13px;
    font-size: 14.5px;
    font-weight: 700;
    color: #26331f;
    background: linear-gradient(135deg, #f0d385, #d8a93d);
    cursor: pointer;
  }
  .tcrr-send-adjust-btn:hover { filter: brightness(1.05); }

.linkintext { cursor:pointer;
	font-weight: bold;
  font-size: 16px;
}
.matchStatus {
    text-align: center;
    margin-top: -14px;
    padding-bottom: 10px;
    font-size: 14px;
    background: #ffffff29;
    padding-top: 10px;
    margin-left: 12px;
    margin-bottom: 10px;
}

.notif-wrap {
}
.notif-wrap[data-unread]:not([data-unread="0"])::after {
	content: attr(data-unread);
	position: absolute;
	top: -4px;
	right: -4px;
	min-width: 16px;
	height: 16px;
	padding: 0 4px;
	border-radius: 999px;
	background: #e53935;
	color: #fff;
	font-size: 11px;
	line-height: 16px;
	text-align: center;
}
.notif-wrap { position: relative; display: inline-block; }

.large-ladderC:hover {
	filter: drop-shadow(2px 4px 6px #ffffff80);
}
.whitelink {
	color:white;
}
.socialM {
	color:#66cdc3;font-weight: 500;
}

.socialtitle {
	    margin-top: 0;
    margin-bottom: 10px;
    font-size: 16px;
}
.challengeB, .socialB, .callB, .messageB {
	cursor:pointer;
}

.nextleveln {
    position: absolute;
    right: 5.8%;
    bottom: 14.9px;
    letter-spacing: 2.4px;
    font-size: 24px;
    font-weight: bold;
    color: #ffffff;
    opacity: .7;    margin-left: 2px;
}
.nextlevelimg {
padding: 0 8px;
    filter: opacity(0.8);
    width: 90%;
    margin: auto;
}
.nextLevel {padding-bottom: 10px;
	    position: relative;
		margin-right: 10px;
    margin-left: 10px;
}
.blockedList {
	overflow-y:hidden!important;
}
.ladderOverlay > div {
	    display: flex;
    flex-direction: column;
    align-items: center;
    align-content: center;
    justify-content: flex-end;    padding-bottom: 40px;
    height: 100%;font-weight: 500;text-shadow:2px 4px 6px #0000008a;
}
.ladderOverlay > div > div:hover {background: #ffdf77e3;}
.ladderOverlay > div > div {cursor: pointer;
	background: #e9bd2bbf;
    padding: 10px 20px;
    border-radius: 20px;
    margin-top: 26px;
    font-size: 12px;    margin-bottom: 30px;
    text-transform: uppercase;
    font-weight: 600;    text-shadow: 0 0 black!important;
    border: 1px solid #ffffff7d;filter: drop-shadow(2px 4px 6px #0000002e);}

.ladderOverlay {position: absolute;
    background: #0000007a;
    width: 100%;bottom: 98px;
    height: 38%;      background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.23) 23%, rgb(0 0 0 / 25%) 57%);}

.entry-content {
	    color: black;
    margin: 0;
}

.accouont-settings {
	color:black;
    margin: 20px 20px;
}
.wpfda-submit { 
	display: block;
    padding: 4px;
    margin-top: 10px;
}
.ladderPage-wrapper h2 {
	    margin: 10px;
    padding-bottom: 20px;
    text-align: center;
    text-transform: uppercase;
    font-size: 24px;
}
[name="wpfda-password"] {    
	display: block;
    padding: 4px;
    margin-top: 10px;
    font-size: 20px;
    width: 208px;}
@media (max-width: 335px) {
		.youRank {
		width:80px;margin: 2px 0!important;
	}
	.yourRank > div:not(.myrank) {
		    font-size: 10px!important;
	}
		.yourRank > .myrank {
		    font-size: 20px!important;
	}

}
@media (max-width: 400px) {
	.large-ladderC img {
		display:none
	}
	.large-ladderC {
		padding-left: 14px;
	}

}
@media (max-width: 560px) {
	h2 {    font-size: 20px!important; }

	.ladderPage-wrapper .panel {	
		margin: 34px 10px 33px 10px;
		width: 96%;
	}
	.tcl-wall-profile {
		    width: 400px;
    max-width: 96% ! Important;
    margin: auto ! Important;
	margin-bottom: 14px !important;
	}
    .ladder-header > img {
		    height: 30px;
		
			padding: 0 12px 6px 16px!important;
	}
	.ladder-header h3 {    
	font-size: 1em!important;
    line-height: 1!important;
    display: block!important;
    margin: 0;
	}
}
.tcl-wall-profile {
	width: 400px;
}
.noLadder {    height: 240px;
    background: #0000002e;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;}

.ladderPage-wrapper > div {    margin: 20px;
}
.ladderPage-wrapper {    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    margin: auto;
    justify-content: center;}

.genderIcon {
	height: 36px;
    margin-left: 120px;
    padding-top: 8px;
    margin-bottom: -34px;
}
  .panel{    height: fit-content;

    width:100%;
    max-width:420px;
    background:linear-gradient(160deg,#385d3f 0%, #5a7548 100%);
    border-radius:8px;
    padding:18px 18px 20px;
    box-shadow:0 6px 18px rgba(0,0,0,0.35);
  }
  .row{     
    margin-bottom:16px;
  }
  .row:last-child{margin-bottom:0;}
  .label{
    color:var(--muted);
    font-size:11px;
    letter-spacing:0.08em;
    text-transform:uppercase;
    font-weight:700;
    margin-bottom:8px;
  }
  /* Segmented control (match style) */
  .segmented{
    display:flex;
    background:rgba(0,0,0,0.22);
    border-radius:24px;
    padding:4px;
    gap:4px;
  }
  .segmented button{
    flex:1;
    border:none;
    background:transparent;
    color:var(--muted);
    font-size:13px;
    font-weight:700;
    padding:9px 10px;
    border-radius:20px;
    cursor:pointer;
    transition:all .18s ease;
  }
  .segmented button.active{
    background:#d4af37;
    color:#f9f0d9;
    box-shadow:0 2px 6px rgba(0,0,0,0.25);
  }
  .field-wrap{
    margin-top:10px;
  }
  .field{
    width:100%;
    display:none;
  }
  .field.show{display:block;}
  input[type="number"], select{
    width:100%;
    padding:11px 14px;
    border-radius:12px;
    border:1px solid rgba(255,255,255,0.18);
    background:rgba(255,255,255,0.08);
    color:#f3efe2;
    font-size:14px;
    font-weight:600;
    outline:none;
    appearance:none;
    -webkit-appearance:none;
  }
  input[type="number"]::placeholder{color:rgba(243,239,226,0.5);font-weight:500;}
  select{
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'><path d='M1 1l6 6 6-6' stroke='%23f3efe2' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>");
    background-repeat:no-repeat;
    background-position:right 14px center;
    padding-right:36px;
  }
  select option{color:#000;}
  input:focus, select:focus{
    border-color:#d4af37;
    background:rgba(255,255,255,0.12);
  }
  /* Gender toggle row */
  .gender-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
  }
  .gender-labels{
    display:flex;
    align-items:center;
    gap:10px;
  }
  .gender-labels span{
    font-size:13px;
    font-weight:700;
    color:var(--muted);
    transition:color .18s ease;
  }
  .gender-labels span.active{
    color:#f9f0d9;
  }
  .switch{
    position:relative;
    width:52px;
    height:28px;
    background:rgba(0,0,0,0.28);
    border-radius:20px;
    cursor:pointer;
    flex-shrink:0;
    border:1px solid rgba(255,255,255,0.12);
  }
  .switch .knob{
    position:absolute;
    top:2px;
    left:2px;
    width:22px;
    height:22px;
    border-radius:50%;
    background:#d4af37;
    transition:transform .2s ease;
    box-shadow:0 1px 4px rgba(0,0,0,0.4);
  }
  .switch.on .knob{
    transform:translateX(24px);
  }
  .divider{
    height:1px;
    background:rgba(255,255,255,0.12);
    margin:16px 0;
  }
    .chip-scroll{     margin: 20px;
    display:flex;flex-wrap: wrap;
    gap:8px;
    overflow-x:auto;
    padding-bottom:2px;
    scrollbar-width:none;
	justify-content: center;
  }
  .chip-scroll::-webkit-scrollbar{display:none;}
  .chip{
    flex:0 0 auto;
    padding:9px 14px;
    border-radius:20px;
    border:1px solid rgba(255,255,255,0.18);
    background:rgba(255,255,255,0.08);
    color:var(--cream);
    font-size:13px;
    font-weight:700;
    cursor:pointer;
    transition:all .15s ease;
    white-space:nowrap;
  }
  .chip.active{
    background:#d4af37;
    border-color:#d4af37;
    color:#f9f0d9;
  }
  
.item-header-cover-image .user-nicename {
	margin-bottom: 0;
    margin-top: 10px;
}
#item-header {
background: transparent;
    margin: 0;
}
.bb-single-main-nav {
	    background: #f7f8f9;
}
.playerlist {
	    max-height: 400px;
    overflow-x: hidden;overflow-y: auto;
}
.tcl-ladder__avatar {
	    margin-left: -16px;
}
.ladderjointext {    margin: auto;
    font-size: 12px;    line-height: 1.2;
    width: 120px;
    text-align: center;}
.myrank1 {color: #ffe4a2!important;}
.myrank2 {color: #c9c9d3 !important;}
.myrank3 {color: #f7ad7a !important;}
.myrankColor {background: #ffffff21;  border-left: 4px solid #a0b282!important; }
.large-ladderB > div {padding: 6px 0; height:70px;   border:1px solid #c2cd98;   background: linear-gradient(357deg, #355a3d 0%, #fbffea1f 100%);  
    border-radius: 6px;}
.large-ladderC {display: flex;    line-height: 1.4; 
    align-items: center;}
	
.large-ladderB > div {margin: 10px 0;
    margin-top: 16px;
    max-width: 230px;}	
.large-ladderB > div > div:not(.large-ladderC) {   font-size: 40px;
    padding: 0 10px;
    padding-bottom: 6px;}
.large-ladderC > div > div:first-child	{font-weight: 700;font-size: 14px;    line-height: 1.2;}
.large-ladderC > div > div:last-child	{    font-size: 12px;}
.large-ladderB > div {      width: 45%;   align-items: center;  display: flex;
    justify-content: space-between;}
.large-ladderB {justify-content: space-evenly;
	display: flex;     border-top: 1px solid #a0b28252;
}
.large-ladderB img {       margin: 10px; width: auto;
    height: 30px; }
.tcl-ladder__actions {
    display: flex;
    justify-content: flex-end;
  position: relative;
    width: 50%;
    align-items: center;
}
.tcl-ladder__row:not(.rank1) .tcl-ladder__rank {
	padding-top: 6px;
    padding-bottom: 14px;
}
.tcl-ladder__actions img{    width: auto; padding-right:10px;
    height: 50px;}

.tcl-ladder__name > div:first-child {font-weight: 600; font-size: 14px;}
.tcl-ladder__name > div:last-child {    font-size: 10px;
    padding-top: 4px;
    color: #d5d5d5;}
.tcl-ladder__name {width: 170px;
	    line-height: 1;
    display: flex;
    flex-direction: column;
        margin-top: -3px;
    justify-content: center;
    padding-left: 2px;
}
.ladder-header-wrap {
	background:url("img/ladder%20images/santa-barbara.png");
}
.tcl-ladder__head {    display: flex;
    padding: 8px;
    text-transform: uppercase;
    font-size: 12px;
}
.rank1 {    border-left: 4px solid #ffc537!important;}
.rank2 {    border-left: 4px solid #b3b3b3!important;}
.rank3 {    border-left: 4px solid #c972359e!important;}
.rank1 .tcl-ladder__rank {    color: #ffcc60;}
.rank2 .tcl-ladder__rank {    color: #dddddd;}
.rank3 .tcl-ladder__rank {    color: #db864b;}
.rank1 .tcl-ladder__avatar > img	{border: 2px solid #ffcc60f5;}
.rank2 .tcl-ladder__avatar > img	{border: 2px solid #dddddd;}
.rank3 .tcl-ladder__avatar > img	{border: 2px solid #db864b;}
.crown > img {    position: absolute;
    width: 12px !important;
    margin-top: -15px !important;
    margin-left: -10.8px !important;
    opacity: .8;}
.tcl-ladder__row { align-items: center;   border: 1px solid #a0b28252;  margin-bottom: 12px;  display: flex;
    padding: 6px 10px;
border-left: 4px solid #a0b28252;
    margin-left: 12px;     margin-right: 6px;
    border-radius: 4px;}
.tcl-ladder__row.rank1, .tcl-ladder__rank {
	margin-top: 8px;
}
.tcl-ladder__actions > div > img	{width: auto;    padding-right: 0;
    height: 30px;
    margin-bottom: 2px;}
.tcl-ladder__actions > div  {margin-top: -5px;
    margin-right: -18px;
    margin-bottom: -5px;}
.tcl-ladder__rank	{  position: relative;     font-size: 24px;
    font-weight: 600;
    padding: 10px 6px 10px 14px;
    width: 62px;
	    text-align: center;
    margin-left: -20px;
    margin-right: 10px;}
	.tcl-ladder__avatar {
		min-width: 55px;
	}
.tcl-ladder__avatar > img {width: 45px;
    height: 45px;margin-top: 1px;
    object-fit: cover;
    border-radius: 100px;}
.tcl-ladder__head > div:first-child {  width: 100px;
    padding-left: 18px;}
.ladder-header {    padding-top: 38px;display: flex;    height: 106px;
    align-items: center;    }
.ladder-header > div, .ladder-header > img {display: inline-block; }
.ladder-header > div	{    text-shadow: 1px 1px 10px black;}
.ladder-header > img	{  padding: 0 16px 6px 20px;}

	.nrtp-banner {    float: left;
    background: #7fc7894a;letter-spacing: 2px;
    padding: 8px 15px 8px 10px;    border-top-right-radius: 8px;
    border-bottom-right-radius: 12px;
    font-weight: 600;
    font-size: 14px;
    position: absolute;}
	.nrtp-banner  > span {padding-right: 4px;}
.youRank {
width: 100px;
    float: right;
    background: #7fc78940;
    text-align: center;
    margin: 20px;
    border-radius: 4px;
}
.youRank > div:last-child {       text-shadow: 1px 1px 10px #00000047; font-size: 24px;
    font-weight: bold;
    padding-bottom: 8px;
    line-height: 1.4;
    color: #ffffff;}
.youRank > div:first-child {      text-shadow: 1px 1px 10px black;  font-size: 12px;
    text-transform: uppercase;
    font-weight: 700;
    margin-top: 8px;}
.ladder-header h3	{    text-transform: uppercase;
    font-size: 26px;    line-height: .5;}
.ladder-header h6 {margin: 0;line-height: 1.3;
    font-size: 14px;
    opacity: .9;}
.tcl-wall-profile {    border-radius: 8px;max-width: 500px; margin-bottom: 20px;}

.tcl-ladder {padding-bottom: 1px; color: white;
    }

.ur-membership-trial-label, [for="ur-membership-select-membership-69"] .ur-membership-title-text, [for="ur-membership-select-membership-67"] .ur-membership-title-text
{ color: green!important; }
.codewarning {
	color: red;
    margin-bottom: 10px;
	font-weight: 400;
}
.codeaccept {
	color: green;
    margin-bottom: 10px;
	font-weight: 400;
}
[data-membership-id="69"], [data-membership-id="67"] {display:none;}

.form-row .description {
	color: black;
    padding: 10px;
}

.regHeader {
	font-size: 22px;
	color: black;
    margin-top: 30px;
    display: block!important;
}

.ur-frontend-form {
    max-width: 1000px!important;
    margin: 20px auto!important;
}

.page-template-page-signup .site-main > h2 {
	    color: #a1c1a5;
    margin: 22px !important;
    text-align: center;
    text-transform: uppercase;
    font-size: 48px;
    font-weight: 400;
     margin-bottom: -10px !important;
    font-style: italic;
}

.signup-options div::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
}
.signup-options img {    object-fit: cover;
    object-position: top;
    height: max-content;}
.signup-options  {margin: auto;max-width: 1000px;margin-top: 20px;
    border-radius: 6px;
    overflow: hidden;}
.signup-options  > div {     cursor: pointer;
    position: relative;
    overflow: hidden;
	      
			font-size: 20px;
    text-transform: uppercase;
    font-weight: normal;
	    width: 33.3%;
	
}
.signp-forms > div {display:none}
.signp-forms > .current-tab-b {display:block}
.signup-options .current-tab-t {background: #b7cfa5!important;}

.signup-options > div:nth-child(4)::before, .signup-options > div:nth-child(5)::before, .signup-options > div:nth-child(6)::before {
    content: "";
    position: absolute;
background-size: auto!important;
 
       opacity: .099;
    top: 0;
    left: 0; 
    width: 100%;
    height: 100%;
    z-index: 0;
    pointer-events: none;
}
.signup-options > div.current-tab {
	opacity: 1!important;
	font-size: calc(1em + 4px);
}
.signup-options > div:nth-child(1), .signup-options > div:nth-child(2), .signup-options > div:nth-child(3) {height: 188px;    margin-top: 5px;      border-radius: 42px;      opacity: .3;

}
.signup-options > div:nth-child(4), .signup-options > div:nth-child(5), .signup-options > div:nth-child(6) 	{margin-top: 3px;        font-size: 26px;font-weight: 600;
margin-top: -30px;
    background: #ccdbb8e8;
    text-shadow: -1px 0px 5px #233223;}
	
.signup-options > div:nth-child(1):not(.current-tab):hover, .signup-options:has( > div:nth-child(4):hover ) > div:not(.current-tab):nth-child(1)	{
	opacity:.5!Important;
}
.signup-options > div:nth-child(2):not(.current-tab):hover, .signup-options:has( > div:nth-child(5):hover ) > div:not(.current-tab):nth-child(2)	{
	opacity:.5!Important;
}
.signup-options > div:nth-child(3):not(.current-tab):hover, .signup-options:has( > div:nth-child(6):hover ) > div:not(.current-tab):nth-child(3)	{
	opacity:.5!Important;
}

.signup-options > div:nth-child(4):not(.current-tab-t):hover, .signup-options:has( > div:nth-child(1):hover ) > div:not(.current-tab-t):nth-child(4)	{
	opacity:.9!Important;
}
.signup-options > div:nth-child(5):not(.current-tab-t):hover, .signup-options:has( > div:nth-child(2):hover ) > div:not(.current-tab-t):nth-child(5)	{
	opacity:.9!Important;
}
.signup-options > div:nth-child(6):not(.current-tab-t):hover, .signup-options:has( > div:nth-child(3):hover ) > div:not(.current-tab-t):nth-child(6)	{
	opacity:.9!Important;
}

.signup-options {background: #b8c7a5e8; }
.signup-options > div:nth-child(1)::before {
	background: linear-gradient(to bottom, rgb(255 255 255) 0%, rgba(46, 138, 87, 0%) 3%, rgba(46, 138, 87, 0%) 90%, rgb(192 213 177) 100%), url(img/tn-player.png) center center / cover no-repeat;
	width: 90%;
    margin: auto;
}
.signup-options > div:nth-child(2)::before {
	background: linear-gradient(to bottom, rgb(255 255 255) 0%, rgba(46, 138, 87, 0%) 3%, rgba(46, 138, 87, 0%) 90%, rgb(192 213 177) 100%), url(img/tn-coach.png) center center / cover no-repeat;
	width: 90%;
    margin: auto;
}
.signup-options > div:nth-child(3)::before {
	background: linear-gradient(to bottom, rgb(255 255 255) 0%, rgba(46, 138, 87, 0%) 3%, rgba(46, 138, 87, 0%) 90%, rgb(192 213 177) 100%), url(img/tn-abassador.png) center center / cover no-repeat;
	width: 90%;
    margin: auto;
}

.signup-options > div:nth-child(4)::before {
	    background:         linear-gradient(
            to bottom,
            rgba(46,139,87,30%) 0%,
            rgba(46,139,87,1) 100%
        ),url("img/racket.png") center center / cover no-repeat;
}
.signup-options > div:nth-child(5)::before {
	    background:         linear-gradient(
            to bottom,
            rgba(46,139,87,30%) 0%,
            rgba(46,139,87,1) 100%
        ),url("img/whistle.png") center center / cover no-repeat;
}
.signup-options > div:nth-child(6)::before {
	    background:         linear-gradient(
            to bottom,
            rgba(46,139,87,30%) 0%,
            rgba(46,139,87,1) 100%
        ),url("img/flag.png") center center / cover no-repeat;
}

.signup-options  > div > * {
    position: relative;
    z-index: 1;
}

.signup-options {     
background:#ffffff;
    width: 100%;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}
.signup-options > div {
	width:33.3%;     height: 72px;        
	display: flex;
    align-items: center;
    justify-content: center;
}
.vcontent {
	    height: 100%;
    background: #00000070;
	    position: absolute;
    z-index: 9999;
    top: 0;
	align-items: center;
    justify-content: center;
	display: flex;
    width: 100%;
}
.findCoach {
	text-align: center;
    font-size: 40px;
    font-weight: 500;
}
.vcontent > div {
	width:50%;
	display: flex;
    justify-content: center;
}
.findCoachInput {
	margin-bottom: 6px;   width: 100%; text-align: center;
    padding: 10px;
    border-radius: 10px;
    border: 0;
    background: #dfdfdf;
	font-size: 24px;
	color: #2b542b;
    font-weight: 600;
}
.video-bg video {    opacity: .8;}
.video-bg {
	    max-height: 450px;
    margin-bottom: -10px;
  position: relative;
  width: 100%;
  display: inline-block; /* IMPORTANT: lets height follow video */
  overflow: hidden;
  
}

.video-bg video {
  width: 100%;
  height: auto;       /* key: lets video define height */
  display: block;     /* removes inline gap */
}

.video-bg .content {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
}

.missionText {
	    font-family: 'Mont';
    font-size: 24px;
	background: #ffffff1f;
	box-shadow: 0px 0px 100px #35353524;
    border-radius: 8px;
}


#wpadminbar {
  display: none !important;
}

html {
  margin-top: 0 !important;
}
.btnwrap {    margin-left: 15px;
	display: flex;

    width: 100%;
    justify-content: center;
}
.tennis-btn {
        padding: 8px 17px 8px 22px;
    border-radius: 10px;
    background: linear-gradient(rgb(255 255 255 / 55%), rgb(82 82 82 / 45%)), url(img/tennisMaterial.png);
    color: #62514f;
    font-size: 13px;
    font-weight: 600;
	background-position-x: -10px;
        margin: 34px 0px;
	text-transform: uppercase;
    border: 1px solid #ffffff;
    border-left: unset;
	    margin-right: 15px;
		cursor: pointer;
}
.tennis-btn i {
	    padding-left: 9px;
	    text-shadow: 0px 2px #f9f9f9de;
    font-size: 11px;
}

.signupb {
    text-transform: uppercase;
    font-size: 12px;
    font-weight: 600;
    padding: 7px 22px 7px 42px;
    border: 2px dashed #ffffff63;
    display: inline-block;
    margin-left: -40px;
    border-radius: 8px;
    color: white;
}
.pmagic {display:flex}
.menuIcons {
	margin-right: 10px;
	    height: 32px;
	width:auto;
}
.entry-header {display:none;}
.fa-th:before {
    content: "\f00a";
	height: 110%;
} 
.user-dropdown {
	position: absolute;
    top: 46px;
    background: url('img/greenTexture.png');
    padding: 10px;
    font-size: 16px;
    min-width: 200px;
   
    color: white;
	text-align: right;
	display:none;
} 

.user-dropdown >  div {
	        padding: 10px 0px;
}

.user-dropdown >  div:hover {
	background: #ffffff0d;
    padding-right: 10px;
    border-radius: 3px;
	cursor:pointer;
}
.user-dropdown >  div > i {
	    padding: 5px 5px 0px;
	color: white;
	    float: left;
    font-size: 18px;
}
.menuPimg  img {
	width: 34px;
    border-radius: 100px;
    margin: auto;
	    border: 2px solid #f9ffe1;
}
.headerProfile  {

    display: flex;
    flex-direction: row;
    align-content: center;
    align-items: center;
	padding-left: 12px;
    font-size: 30px;
    padding-top: 3px;
}
.menuPimg img {margin-right:2px!important;}
.menuPimg i:hover ~ .user-dropdown, .user-dropdown:hover {
    display: block;
}
.headerProfile i {
    padding: 26px 0px 2px;
    padding-left: 12px;
    font-size: 30px;
    padding-top: 4px;
    color: #4a5f32;
    cursor: pointer;
    margin-top: 0px;
}
.headerProfile  { 
	position: absolute;
    right: 0;
	margin-right: 10px;
}
.signupbuttons { 
	position: absolute;
    right: 0;
	    margin-right: 20px;
}
.signup-btn {
  display: inline-block;
  padding: 8px 26px;
      background: #c27665;
      color: #ffffff;
    border: 1px solid #ffffff78;
    margin: 12px;
    border-radius: 10px;
  z-index: 2;
  position: relative;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-decoration: none;
    margin-right: 14px;
  transition: all 0.2s ease;
   box-shadow: -1px 1px 3px rgba(0, 0, 0, 0.2);
  
}
.signupb:hover {
background: #0000001a;
}
.signup-btn:hover {
background: #da9680;
}
/* ==========================================================================
   Split showcase: 100% width, left 1/4 static image, right 3/4 fade slideshow
   ========================================================================== */
.split-showcase {
  display: flex;
  width: 49%;
  min-height: min(50vh, 150px);    max-width: 600px;
  max-height: 70vh;
  background: #ffffff17;
      margin-bottom: 75px;   padding: 6px 8px;
	  margin-right:0.5%;  
	  margin: 0px 5% 80px 5%;
    position: relative;
}
.showcase-title {
    position: absolute;
    bottom: 6px;
    font-weight: 600;
    opacity: .6;
    left: 26.4%;
    text-transform: uppercase;
    padding: 2px 8px;
    z-index: 99;
    color: #ffffff;
    font-size: 12px !important;
}
.split-showcase__left {
  flex: 0 0 25%;
  width: 25%;
  min-width: 0;
  overflow: hidden;
}

.split-showcase__left img {
  width: 100%;
  height: 100%;
      max-height: 12vw;
  object-fit: cover;
  object-position: center;
  display: block;
}

.split-showcase__right {
  flex: 1 1 75%;
  min-width: 0;
  position: relative;
  overflow: hidden;
      margin-left: 6px;
}

.split-showcase__slides {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.split-showcase__slide {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;    max-height: 12vw;
  object-fit: cover;
  object-position: right;
  opacity: 0;
  transition: opacity var(--split-fade-ms, 400ms) ease-in-out;
  pointer-events: none;
}

.split-showcase__slide--active {
  opacity: 1;
  z-index: 1;
}

@media (max-width: 767px) {
  .split-showcase {
    flex-direction: column;
    max-height: none;
    min-height: 0;
  }

  .split-showcase__left {
    flex: 0 0 auto;
    width: 100%;
    max-height: 40vh;
  }

  .split-showcase__left img {
    min-height: 220px;
    max-height: 40vh;
  }

  .split-showcase__right {
    flex: 1 1 auto;
    width: 100%;
    min-height: 220px;
    aspect-ratio: 16 / 10;
  }
}

.right-side {
	height: calc(100% - 64px);
    width: 49%;
    background: linear-gradient(to right, rgb(254 254 254 / 0%), rgb(237 237 237 / 6%));
    margin-bottom: 64px;
}
/* ==========================================================================
   Text slider – no nav, text only; out = left + fade ease-out 1s, in = right + fade linear
   ========================================================================== */
  
.text-slider h2 {  
	margin: 0;   margin-left: 10%;
        font-size: 34px;
    font-weight: 400;
}  
.text-slider p {   
	    margin: 8px 0; margin-left: 10%; 
		    font-weight: 400;
			    text-shadow: 0px 1px black;    min-height: 77px;
				       min-height: 100px;
}
.text-slider span {     
margin-left: 10%; 
    background: #ffffff14;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 14px;
    margin-bottom: 56px;
    font-weight: 500;

}
.sliderwrap {
	display: flex;
    width: 100%;
    flex-direction: row;
    align-items: flex-end;
    justify-content: flex-end;
    position: relative;
	height:100%;
}
.text-slider-info { width: 50%; 
	 margin-bottom: 72px!important; 
	 position: absolute!important;
    left: -20px;
    bottom: 9px;        height: 420px ;
}
.featuredad {
	margin-top: 140px!important;
}
.featuredad .adplaceholder {    padding: 0 23px;}
.text-slider-ads {  background:#ffffff00 !important;    width: 50%;    max-width: 700px;
     height: 200px!important;   margin-right: 20px;   margin-bottom:32px;
    border-top-right-radius: 6px!important;}
.text-slider-ads h3 {
		margin-top: -50px;
		padding-left: 24px;
		    font-weight: 400;
			padding-bottom:8px;
			    font-size: 18px;
				opacity: .8;
	}
.text-slider-ads .fa {
		font-size: 32px;
}
.text-slider-ads button {      padding: 0;  bottom: 26%!Important;}
.text-slider-ads > div	{    margin-top: -12px;}
	.text-slider-ads  button {
		    z-index: 9999;

        bottom: 24%;
	}
.text-slider {

    overflow: hidden;

	padding: 20px;
    margin-left: 20px;
    border-radius: 10px;
	padding-top: 38px;
	position: relative;
    margin-bottom: 40px;
		
}
.text-slider__btn--prev {
	left:0;
}
.text-slider__btn--next {
	right:0;
}
.text-slider__viewport {
  position: relative;
  width: 100%;
  min-height: 3.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.75rem 1.5rem;
}

.text-slider__slide {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: flex;
      align-items: flex-start;
  justify-content: left;
  padding: 0 1.5rem;
  box-sizing: border-box;
  transform: translateX(100%);
  opacity: 0;
  flex-direction: column;
    flex-wrap: nowrap;
}

.text-slider__slide--active {
  z-index: 2;
  opacity: 1;
  transform: translateX(0);
  transition: transform 1s ease-out, opacity 1s ease-out;
}

.text-slider__slide--exiting {
  z-index: 2;
  transform: translateX(-100%);
  opacity: 0.35;
  transition: transform 1s ease-out, opacity 1s ease-out;
}

.text-slider__slide--entering {
  z-index: 1;
  transform: translateX(0);
  opacity: 1;
  transition: transform 1s linear, opacity 1s linear;
}

.text-slider__slide--entering-from-right {
  z-index: 1;
  transform: translateX(100%);
  opacity: 0.25;
  transition: none;
}

.text-slider__text {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 1.1rem;
  color: var(--color-text);
  text-align: center;
}

@media (min-width: 768px) {
  .text-slider__viewport {
    min-height: 4rem;
    padding: 1rem 2rem;
  }
  .text-slider__text {
    font-size: 1.25rem;
  }
}

.section {
	display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
}
.section > div {
	width:50%;
}
.mobile-link {
	display: flex;
    flex-direction: row;
    justify-content: center;
    margin: auto;
}
.mobile-link img {
	max-width: 250px;
    padding: 0;
}
.OurMission {    margin-top: 30px; }
.mobile-link .qr {    padding: 10px;}
.qr.join {    filter: brightness(1.5);}
.ladder-present {
	    background: linear-gradient(to right, rgb(254 255 252), rgb(237 237 237 / 28%));
    height: 500px;
}
/* ==========================================================================
   CSS Custom Properties - Modern palette inspired by tennis
   ========================================================================== */
:root {
  --color-primary: #0d9488;
  --color-primary-dark: #0f766e;
  --color-primary-light: #14b8a6;
  --color-accent: #f59e0b;
  --color-surface: #0f172a;
  --color-surface-elevated: #1e293b;
  --color-surface-card: #334155;
  --color-text: #f8fafc;
  --color-text-muted: #94a3b8;
  --color-border: rgba(248, 250, 252, 0.1);
  --color-input-bg: #1e293b;
  --font-sans: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-display: 'Outfit', var(--font-sans);
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-xl: 24px; 
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.2);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.25);
  --shadow-lg: 0 12px 40px rgba(0, 0, 0, 0.3);
  --transition: 0.2s ease;
}
.heroimg {     max-height: 850px;
  height: 90vh;
  background: linear-gradient(rgba(0, 0, 0, 0.55), rgba(0, 0, 0, 0.45)), url('img/hero.png');
  background-size: cover;
  background-position: top;
     
  
}
.joinCourt {
	 display: flex;
    justify-content: space-around;
	
}

.joinCourt img {
	width: 300px;
    height: fit-content;
	margin-bottom: 10px;
	margin-top: 80px;
}
.joinCourt > div {
	color:black!important;
	        width: 350px;    font-weight: 400;
}

.logo {
    max-width: 540px;
    padding: 56px;
    margin: auto;
	padding-top: 82px;       
	    opacity: .8;
}
.minilogo {
	filter: drop-shadow(0px 1px 5px #00000070);
	max-width: 34px;    
    margin-right: 4px;
    margin-left: 14px;
    opacity: .7;
    filter: saturate(0.8);
	margin-top: 2px;
	visibility: visible;
}
.minilw {
    display: flex;
    flex-direction: column;
    justify-content: center;
	    height: 100%;
}


.heroInner {
	box-shadow: 0px 0px 4px #00000042;
    max-width: 1500px;
    margin: auto;
    background: #ffffff0f;
        height: calc(100% + 65px);
	display: flex;
    flex-direction: column;
	justify-content: space-between;
}
.text-slider__btn {
	background: unset;
    border: unset;
	    z-index: 999;
    position: absolute;
	 bottom: 8px;
	     padding: 25px 30px;
}
.text-slider__btn  i {    
	font-size: 80px;
	padding: 0 2px;
	    cursor: pointer;
		opacity: .4;
	}
.text-slider__btn  i:hover {
	color: #ffffff70;
}
.text-slider__btn .fa-chevron-circle-left {    color: #ffffff1a;}
.text-slider__btn .fa-chevron-circle-right {    color: #ffffff30;}
/* ==========================================================================
   Reset & Base
   ========================================================================== */
*, *::before, *::after {
  box-sizing: border-box;
}

html {
  font-size: 16px;
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family: "DM Sans", sans-serif;
  font-weight: 300;
  line-height: 1.6;
  color: var(--color-text);
  background: #fbffea21;
  -webkit-font-smoothing: antialiased;
  linear-gradient(to right, rgb(254 255 252), rgb(255 255 255 / 28%));
}
#main {
	max-width: 1500px;
    background: #f7f8f9;
	box-shadow: 0px 0px 14px #0000000a;
}
img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: var(--color-primary-light);
  text-decoration: none;
  transition: color var(--transition);
}

.mission h3 {
	    width: 100%;
    padding: 0 20px;
    margin: 10px 0;
	padding-bottom: 10px;
}

/* ==========================================================================
   Layout
   ========================================================================== */
.site-wrapper {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.site-main {
  flex: 1;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;

}

#main h3 {
	    display: inline;
}
.sectionTitle {
    background: #2f4534;
    padding: 8px 26px;
    font-size: 26px;
}
.terf {
	background: linear-gradient(to right, rgb(0 0 0 / 40%), rgb(255 255 255 / 11%)), url(img/terf3.png);
	background-size: cover;
	box-shadow: 1px 1px 10px #00000061;
	    border-bottom-left-radius: 3px;
    border-bottom-right-radius: 3px;
    position: relative;
}
.terfG {
	background: linear-gradient(to right, rgb(0 0 0 / 14%), rgb(255 255 255 / 52%)), url(img/terfG.png);
	background-size: cover;
	box-shadow: 1px 1px 10px #00000061;
	border-bottom-left-radius: 3px;
    border-bottom-right-radius: 3px;
}
.mission {
	    padding: 50px;
		font-size: 16px;
		font-weight: 400;
		flex-direction: column;
}
.secondBG {
	background: linear-gradient(to right, rgb(255 255 255 / 17%), rgb(255 255 255 / 82%)), url(img/secondBG.jpg);
	background-size: cover;
    font-size: 20px;
    font-weight: 500;
    color: #163216;
	position:relative;
}
.getoffsideline {
	text-align:center;
		position:relative;
}
.getoffsideline:after {
	content:'\201D';
	position:absolute;
    font-size: 80px;
    margin-left: 20px;
    opacity: .2;
}
.missionText {
	position:relative;
}
.missionText:before {
	content: '\201C';
    position: absolute;
    top: -14px;
    font-size: 80px;
    left: 0px;
    opacity: .3;
}

.roleButton {
    background: #9fc49f;
    color: white;
    text-align: center;
    padding: 14px 20px;
    width: 180px;
    margin: auto;
    margin-top: 20px;
    margin-bottom: 20px;
    border-radius: 20px;
	    border-radius: 30px;
}
.signature {
	    margin-top: 16px;
		    font-size: 22px;
    padding: 0!important;
}
.signature > span {
	    font-weight: 600;
}
.about {
	    display: flex;
}
.mission {
	display: flex;
    flex-wrap: wrap;
	flex-direction: row;
}
.mission > div {
		padding: 20px;
}
.mission > div {    
display: flex;
    flex-wrap: wrap;
    flex-direction: row;}
.mission > div > span {font-weight: 600;}
.mission > div > div {
	width: 50%;    padding: 20px;
}
.joinBlox {
	    height: 200px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
/* ==========================================================================
   Header
   ========================================================================== */
   .mobi-a {display:none}
   
.site-header {
  background: var(--color-surface-elevated);
position: sticky;
    top: 0;
    z-index: 99;
  backdrop-filter: blur(12px);
  
}

.header-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0.75rem 1.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.site-branding {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.logo-mark {
  width: 48px;
  height: 48px;
  background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid var(--color-primary-light);
  flex-shrink: 0;
}

.logo-mark svg {
  width: 28px;
  height: 28px;
  color: white;
}

.site-title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1.25rem;
  margin: 0;
  letter-spacing: -0.02em;
}

.site-title a {
  color: var(--color-text);
}

.site-title a:hover {
  color: var(--color-primary-light);
}

.header-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.header-actions a,
.header-actions button {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-sm);
  color: var(--color-text-muted);
  background: transparent;
  border: none;
  cursor: pointer;
  transition: color var(--transition), background var(--transition);
}

.header-actions a:hover,
.header-actions button:hover {
  color: var(--color-text);
  background: var(--color-surface-card);
}

/* Primary nav bar (green strip) */
.primary-nav-bar {
        background: linear-gradient(90deg, #355a3d 0%, #c8d29c 100%);
 display: flex;
height:54px;
  -webkit-overflow-scrolling: touch;

    z-index: 100;
	    filter: drop-shadow(0px 0px 6px #00000065);
}

.primary-nav-inner {
    width: 100%;
  max-width: 1500px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  min-width: min-content;
      position: relative;
	      justify-content: flex-start;
}

.nav-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.6rem 1rem;
  border-radius: var(--radius-sm);
  color: black;
  font-weight: 500;
  font-size: 0.9rem;
  white-space: nowrap;
  transition: background var(--transition), color var(--transition);
}
/* Primary nav: list and dropdown */
.primary-nav-inner .primary-nav-menu {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.primary-nav-inner .menu-item {
	height: 100%;
    display: flex;
  position: relative;
  list-style: none;
      align-items: flex-end;
    line-height: 2.2;
}
.primary-nav-inner .sub-menu i {
	    display: flex;
    align-items: center;
}
.primary-nav-inner .sub-menu {
	
  list-style: none;
  margin: 0;
  padding: 0.5rem 0;
  min-width: 228px;
   background: url('img/greenTexture.png');
   
  border-radius: 6px;
      filter: drop-shadow(0px 0px 6px #00000065);

  position: absolute;
  top: 100%;
  left: 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-4px);
  transition: opacity var(--transition), visibility var(--transition), transform var(--transition);
  z-index: 50;
  border-top-left-radius: 0;
    border-top-right-radius: 0;
	    border-right: 1px solid #d48b748f;
		border-bottom: 1px solid #d48b748f;
	    padding-right: 24px;
    padding-top: 12px;
    padding-bottom: 6px;
    padding-left: 4px;
}

.primary-nav-inner .menu-item-has-children:hover .sub-menu,
.primary-nav-inner .menu-item-has-children:focus-within .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.primary-nav-inner .sub-menu .menu-item {
  margin: 0;
}

.primary-nav-inner .sub-menu a {
  display: block;
  padding: 0.5rem 1rem;
  color: var(--color-text);

  transition: background var(--transition), color var(--transition);
  font-weight: 600!important;
    font-size: 12px!important;
}

.primary-nav-inner .sub-menu a:hover {
 
  color: white;
}
.nav-item:hover,
.nav-item.current-menu-item {
 background: rgb(151 179 101 / 5%);
    color: #332b2b;
}

.nav-item svg {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}
.fa-question {
	padding-left: 3px;
    padding-right: 8px;
}

/* WordPress menu output in primary nav */
.primary-nav-inner ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.primary-nav-inner .menu-item a {
  display: flex;
  align-items: center;
height: 100%;
  padding: 0.6rem 1.5rem;
  color: #dbdbdb;
      font-weight: 600;
    font-size: 14px;
	    text-transform: uppercase;
  white-space: nowrap;
  transition: background var(--transition), color var(--transition);
}
.primary-nav-inner .menu-item a:hover {
color: #ffffff;	
}

/* ==========================================================================
   Find Coach Section (Hero block)
   ========================================================================== */
.find-coach-section {
  background: var(--color-surface-elevated);
  border-radius: var(--radius-lg);
  padding: 2rem;
  margin: 2rem 0;
  border: 1px solid var(--color-border);
  box-shadow: var(--shadow-md);
}

.find-coach-section .section-title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1.5rem;
  letter-spacing: 0.02em;
  margin: 0 0 1.25rem;
  color: var(--color-text);
}

.search-toggle {
  display: flex;
  gap: 0;
  background: var(--color-surface-card);
  border-radius: var(--radius-sm);
  padding: 4px;
  margin-bottom: 1rem;
  width: fit-content;
}

.search-toggle label {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.6rem 1.25rem;
  border-radius: 6px;
  font-weight: 600;
  font-size: 0.9rem;
  cursor: pointer;
  color: var(--color-text-muted);
  transition: color var(--transition), background var(--transition);
}

.search-toggle input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.search-toggle input:checked + label {
  background: var(--color-primary);
  color: white;
}

.search-input-wrap {
  position: relative;
}

.find-coach-section .search-input {
  width: 100%;
  padding: 1rem 1.25rem;
  font-size: 1.1rem;
  font-family: inherit;
  color: var(--color-text);
  background: var(--color-input-bg);
  border: 2px solid var(--color-border);
  border-radius: var(--radius-md);
  transition: border-color var(--transition), box-shadow var(--transition);
}

.find-coach-section .search-input::placeholder {
  color: var(--color-text-muted);
}

.find-coach-section .search-input:focus {
  outline: none;
  border-color: var(--color-primary);
  box-shadow: 0 0 0 4px rgba(13, 148, 136, 0.2);
}

.find-coach-section .search-submit {
  margin-top: 1rem;
  padding: 0.75rem 1.5rem;
  font-size: 1rem;
  font-weight: 600;
  font-family: inherit;
  color: white;
  background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);
  border: none;
  border-radius: var(--radius-md);
  cursor: pointer;
  transition: transform var(--transition), box-shadow var(--transition);
}

.find-coach-section .search-submit:hover {
  transform: translateY(-1px);
  box-shadow: var(--shadow-md);
}

/* ==========================================================================
   Content & Typography
   ========================================================================== */
.entry-content,
.page-content {
  font-size: 1rem;
}

.entry-content h1,
.page-content h1,
.entry-content h2,
.page-content h2 {
  font-family: var(--font-display);
  font-weight: 700;
  letter-spacing: -0.02em;
  margin-top: 1.5em;
  margin-bottom: 0.5em;
}

.entry-content h1,
.page-content h1 { font-size: 2rem; }
.entry-content h2,
.page-content h2 { font-size: 1.5rem; }

.entry-content p,
.page-content p {
  margin: 0 0 1em;
  color: var(--color-text-muted);
}

/* ==========================================================================
   Footer
   ========================================================================== */
.site-footer {
  background: var(--color-surface-elevated);
  border-top: 1px solid var(--color-border);
  margin-top: auto;
  padding: 2rem 1.5rem;
}

.footer-inner {
  max-width: 1200px;
  margin: 0 auto;
}

.footer-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 2rem;
  justify-content: center;
  list-style: none;
  margin: 0;
  padding: 0;
}

.footer-nav a {
  color: var(--color-text-muted);
  font-size: 0.9rem;
}

.footer-nav a:hover {
  color: var(--color-text);
}

.footer-bottom {
  text-align: center;
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--color-border);
  color: var(--color-text-muted);
  font-size: 0.85rem;
}

/* ==========================================================================
   Utility & WordPress defaults
   ========================================================================== */
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
}

.alignwide { max-width: 1200px; margin-left: auto; margin-right: auto; }
.alignfull { width: 100vw; margin-left: calc(50% - 50vw); max-width: none; }

/* Posts list */
.posts-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.posts-list li {
  padding: 1rem 0;
  border-bottom: 1px solid var(--color-border);
}

.posts-list li:last-child {
  border-bottom: none;
}

.posts-list .entry-title {
  font-family: var(--font-display);
  font-size: 1.25rem;
  margin: 0 0 0.25em;
}

.posts-list .entry-meta {
  font-size: 0.85rem;
  color: var(--color-text-muted);
}

/* 404 */
.error-404 .page-title {
  font-family: var(--font-display);
  font-size: 2rem;
  margin-bottom: 0.5em;
}

.error-404 .search-form {
  margin: 1.5rem 0;
}


  /* ── Overlay Backdrop ───────────────────────────────────────────────── */
  #site-overlay-backdrop {
    position: fixed;
    inset: 0;
    z-index: 9998;
    background: rgba(10, 10, 18, 0.72);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.28s ease, visibility 0.28s ease;
  }
 
  #site-overlay-backdrop.is-open {
    opacity: 1;
    visibility: visible;
  }
 
  /* ── Overlay Panel ──────────────────────────────────────────────────── */
  #site-overlay {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.25rem;          /* safe-area breathing room on mobile */
    pointer-events: none;
  }
 
  #site-overlay-panel {
    position: relative;
    width: 100%;
    max-width: 440px;
    max-height: calc(100dvh - 2.5rem);
    background: #fff;
    border-radius: 14px;
    box-shadow:
      0 4px 6px rgba(0,0,0,.05),
      0 20px 60px rgba(0,0,0,.18);
    display: flex;
    flex-direction: column;
    overflow: hidden;
 
    /* Animation */
    opacity: 0;
    transform: translateY(18px) scale(0.97);
    transition: opacity 0.3s cubic-bezier(.22,.68,0,1.2),
                transform 0.3s cubic-bezier(.22,.68,0,1.2);
    pointer-events: none;
  }
 
  #site-overlay-backdrop.is-open ~ #site-overlay #site-overlay-panel {
    opacity: 1;
    transform: translateY(0) scale(1);
    pointer-events: auto;
  }
 
  /* ── Header ─────────────────────────────────────────────────────────── */
  #site-overlay-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.25rem 1.5rem 1rem;
    border-bottom: 1px solid #7ca36f;
    flex-shrink: 0;
  }
 
  #site-overlay-title {
    margin: 0;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(1.1rem, 3vw, 1.4rem);
    font-weight: 700;
    color: #111;
    line-height: 1.3;
  }
 
  /* ── Close Button ────────────────────────────────────────────────────── */
  #site-overlay-close {
    flex-shrink: 0;
    width: 2rem;
    height: 2rem;
    padding: 0;
    border: none;
    background: #f3f3f3;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.15s ease, transform 0.15s ease;
    color: #555;
    line-height: 1;
  }
 
  #site-overlay-close:hover {
    background: #e2e2e2;
    transform: scale(1.1);
    color: #111;
  }
 
  #site-overlay-close svg {
    width: 14px;
    height: 14px;
    pointer-events: none;
  }
 
  /* ── Body / Content ──────────────────────────────────────────────────── */
  #site-overlay-body {
    margin:auto;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    flex: 1 1 auto;
    color: #333;
    font-family: system-ui, sans-serif;
    font-size: 0.95rem;
    line-height: 1.65;
  }
 
  /* Basic prose resets inside the overlay */
  #site-overlay-body h1,
  #site-overlay-body h2,
  #site-overlay-body h3 { margin-top: 1.25em; margin-bottom: .4em; color: #111; }
  #site-overlay-body p   { margin: 0 0 .85em; }
  #site-overlay-body a   { color: #0066cc; }
  #site-overlay-body img { max-width: 100%; height: auto; border-radius: 6px; }
 
  /* ── Loading Spinner ─────────────────────────────────────────────────── */
  .overlay-loader {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 120px;
  }
 
  .overlay-loader::after {
    content: '';
    width: 28px;
    height: 28px;
    border: 3px solid #e0e0e0;
    border-top-color: #555;
    border-radius: 50%;
    animation: overlay-spin 0.7s linear infinite;
  }
 
  @keyframes overlay-spin {
    to { transform: rotate(360deg); }
  }
 
  /* ── Responsive tweaks ───────────────────────────────────────────────── */
  /* ── Login form ──────────────────────────────────────────────────────── */
  .ov-login {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
 
  .ov-field {
    display: flex;
    flex-direction: column;
    gap: .35rem;
  }
 
  .ov-field label {
    font-size: .8rem;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: #555;
  }
 
  .ov-field input {
    width: 100%;
    padding: .6rem .75rem;
    border: 1.5px solid #ddd;
    border-radius: 7px;
    font-size: .95rem;
    color: #111;
    background: #fafafa;
    transition: border-color .15s ease, box-shadow .15s ease;
    box-sizing: border-box;
  }
 
  .ov-field input:focus {
    outline: none;
    border-color: #555;
    box-shadow: 0 0 0 3px rgba(0,0,0,.06);
    background: #fff;
  }
 
  .ov-submit {
    width: 100%;
    padding: .7rem;
    background: #111;
    color: #fff;
    border: none;
    border-radius: 7px;
    font-size: .95rem;
    font-weight: 600;
    cursor: pointer;
    transition: background .15s ease, transform .1s ease;
    margin-top: .25rem;
  }
 
  .ov-submit:hover  { background: #333; }
  .ov-submit:active { transform: scale(.98); }
 
  .ov-footer-link {
    text-align: center;
    margin: 0;
    font-size: .85rem;
    color: #888;
  }
 
  /* ── Responsive tweaks ───────────────────────────────────────────────── */
  @media (max-width: 480px) {
	  .text-slider__btn {        margin: 0 calc(5px + 2.5vw);}
	  .roleButton {
		  padding: 16px 20px ! Important;
	  }
	  .joinCourt > div {
		      padding: 40px;
	  }
	  .joinCourt img {margin: auto;margin-bottom: 20px;width: 260px;}

.joinBlox  {    height: auto; }
.joinBlox > div {padding-bottom: 10px;}
	  .mobile-link {width:100vw;         margin: 40px 0; }
	  .section > div { width:100% }
	  .mission {
		      padding: 2vw;
	  }
	  .findCoach {
		      font-size: 8vw;
    line-height: 1.1;
	  }
	  .findCoachInput {
		  font-size: 4.5vw;max-width: 85%;
	  }
	  
    #site-overlay-panel {
      max-height: calc(100dvh - 1.5rem);
      border-radius: 10px;
    }
    #site-overlay {
      padding: 0.75rem;
    }
  }
  #site-overlay-backdrop, #site-overlay {width:100vw}
    @media (max-width: 700px) {
		.page-template-page-signup .site-main > h2 {
			font-size: 12vw;
		}
		
	.signup-options > div:nth-child(1), .signup-options > div:nth-child(2), .signup-options > div:nth-child(3) {    height: 128px!important;}
		.signup-options > div:nth-child(4), .signup-options > div:nth-child(5), .signup-options > div:nth-child(6)  {
		        font-size: 3.4vw;
        height: 60px;
        font-weight: 900;
        margin-top: -50px;
        background: #cbdbb7e3;
		}
		.signupbuttons {
			     margin-right: -6px;
		}
	.signupb	{ opacity: .7;        
			    position: absolute;
    right: 15px;
    top: 68px;
    padding-left: 20px;
    width: 104px;
    text-align: center;
	        height: 41px;padding-top: 11px;
	background: #bfcb9159;
    border: 1px solid #ffffff;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    margin-top: -12px;
    border-top: 1px solid #abc58c;
		}
		.mobi-a {    display: flex;margin-top: 2px;}
		.mobi-a .mal {
			
        width: 32%;
		}
		.mobi-a img {    height: 24vw;}
		.split-showcase {
			display:none
		}
		.right-side .logo {
		        top: -50px;
			    position: absolute;
         
		}
		.right-side {
			height: calc(100% - 440px);
		}
		.sliderwrap {
			flex-direction: column;
			align-items: center;justify-content: flex-start;
		}
		.sliderwrap, .right-side, .logo {
			width: 100%;
		}
		.text-slider span {
			margin-left: 0%;    margin-bottom: 26px;
		}
		.text-slider__btn i {
			    font-size: 50px;
		}
		.text-slider-info {
			height: 333px !important;
		}
		.tennis-btn {
			    font-size: 11px;
		}
		.text-slider__slide:nth-of-type(2) .tennis-btn {
			    width: 100px;
			padding-right: 0px;
			padding-left: 16px;
		}
		.text-slider__slide:nth-of-type(2) .btnwrap {margin-top: -5px;}
		.tennis-btn:nth-of-type(1) {margin-left: 20px;}
		.text-slider__btn--next {    padding-right: 0;}
		.text-slider span	{          font-size: calc(4vw - 2px);}
		.text-slider h2 {            font-size: calc(6.6vw - 2px);}
		.text-slider h2, .text-slider p {    margin-left: 2%; }
		.text-slider p 	{
				    padding-top: 10px;       min-height: calc(30vw + 3px);            font-size: calc(4.1vw - 2px);
			}
			
			.btnwrap {
				margin-top: -20px;
			}
			.text-slider__slide:nth-of-type(2) .btnwrap  {
				margin-top: -30px;
			}
			.text-slider__btn {        margin: 0 calc(5px + 2.8vw);}
		.text-slider {
		       width: calc(100% + 10px);
			    padding: 10px;
    margin-left: 0px;
padding-top: 10px;     margin-bottom: 60px !important;
		}
		.sectionTitle {font-size: calc(4vw + 6px);}
		.text-slider__btn {
			
			        bottom: 4px;
		}
		.heroInner {
			/*height: calc(100% + 110px);    */
			
			height:86vh;
		}
		.heroimg {
			
			   
		}
		.minilw > img {
			visibility:visible!important;    
			margin-top: 4px;
			opacity: 0.9;
		}
		.primary-nav-inner img:not(.menuNotif) {
			margin-right:20px;
		}
		.joinCourt {
			    display: flex;
    justify-content: space-around;
    flex-direction: column;
    align-content: center;
    align-items: center;
		}
		.section {
			    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    align-items: center;
		}
		.mission > div {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    align-items: center;
}

.mission > div > div {
    width: 100%;
    padding: 20px;
    font-size: 14px;
}

.mar {
    position: relative;
width: 100%;
    overflow: hidden;
}

.mar img {
    position: absolute;
    top: 0;
    left: 100%; /* start off-screen (right) */
    width: 100%;
    height: 100%;
    opacity: 0;
    animation: slideShow 9s infinite;
}

/* stagger each image */
.mar img:nth-child(1) {
    animation-delay: 0s;
}
.mar img:nth-child(2) {
    animation-delay: 3s;
}
.mar img:nth-child(3) {
    animation-delay: 6s;
}

@keyframes slideShow {
    0% {
        left: 100%;
        opacity: 0;
    }
    10% {
        left: 0;
        opacity: 1;
    }
    30% {
        left: 0;
        opacity: 1;
    }
    40% {
        left: -100%;
        opacity: 0;
    }
    100% {
        left: -100%;
        opacity: 0;
    }
}
	}
	
 .tcbp-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.55);
    z-index: 99999;
    align-items: center;
    justify-content: center;
    padding: 16px;
  }
  .tcbp-overlay.tcbp-open {
    display: flex;
  }
 
  .tcbp-backdrop * { box-sizing: border-box; }
  .tcbp-backdrop {
    width: 100%;
    max-width: 380px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  }
 
  .tcbp-popup {
    background: linear-gradient(165deg, #6f8f4f 0%, #3d5c34 45%, #1f3b24 100%);
    border-radius: 20px;
    padding: 22px 20px 24px;
    box-shadow: 0 20px 50px rgba(0,0,0,0.45);
    color: #fff;
  }
 
  .tcbp-popup-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 18px;
  }
  .tcbp-popup-header h1 { font-size: 17px; font-weight: 700; margin: 0; }
  .tcbp-popup-header p { margin: 2px 0 0; font-size: 12px; color: #d7e3c9; }
 
  .tcbp-close-btn {
    width: 30px!important; height: 30px;
    border-radius: 50%;
    background: rgba(255,255,255,0.12)!important;
    border: none!important;
    color: #fff!important;
    font-size: 15px!important;
    cursor: pointer;
    display: flex; align-items: center; justify-content: center;
  }
  .tcbp-close-btn:hover { background: rgba(255,255,255,0.22); }
 
  .tcbp-section-label {
    font-size: 11px;
    letter-spacing: 0.03em;
    color: #e9d9a8;
    font-weight: 700;
    margin: 16px 0 8px 2px;
  }
 
  .tcbp-card {
    background: #f7f5ee;
    border-radius: 14px;
    padding: 14px 14px 10px;
    color: #26331f;
  }
 
  .tcbp-cal-nav {
    display: flex; align-items: center; justify-content: space-between;
    margin-bottom: 10px;
  }
  .tcbp-cal-nav button {
    width: 26px; height: 26px; border-radius: 50%;
    border: none; background: #eee9d8; color: #4a5c3a;
    font-size: 13px; cursor: pointer;
  }
  .tcbp-cal-nav button:hover { background: #e2dcc4; }
  .tcbp-cal-month { font-weight: 700; font-size: 14px; color: #2d3b23; }
 
  .tcbp-cal-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 4px;
    text-align: center;
  }
  .tcbp-cal-grid .tcbp-dow {
    font-size: 10px; font-weight: 700; color: #9aa085; padding-bottom: 4px;
  }
 
  .tcbp-day-btn {
    border: none!Important; background: transparent;
    padding: 6px 0!Important; border-radius: 10px!Important;
    font-size: 12.5px!Important; color: #3a4830!Important; cursor: pointer;
  }
  .tcbp-day-btn:hover { background: #e9e4cf!Important; }
  .tcbp-day-btn.tcbp-faded { color: #c6c3b3!important; cursor: default!important; }
  .tcbp-day-btn.tcbp-faded:hover { background: transparent; }
  .tcbp-day-btn.tcbp-today { border: 1.5px solid #6f8f4f!important; font-weight: 700!important; }
  .tcbp-day-btn.tcbp-selected {
    background: linear-gradient(135deg, #d8a93d, #b8842a)!important;
    color: #fff!important; font-weight: 700!important;
  }
 
  .tcbp-time-card {
    background: #f7f5ee;
    border-radius: 14px;
    padding: 4px 6px;
    position: relative;
  }
  .tcbp-wheel-row { display: flex; position: relative; height: 168px; }
  .tcbp-wheel-highlight {
    position: absolute; top: 50%; left: 6px; right: 6px; height: 40px;
    transform: translateY(-50%);
    background: linear-gradient(135deg, #f0d385, #d8a93d);
    border-radius: 10px; pointer-events: none; z-index: 0;
  }
  .tcbp-wheel-col {
    flex: 1; overflow-y: auto;
    scroll-snap-type: y mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding: 64px 0;
    position: relative; z-index: 1;
  }
  .tcbp-wheel-col::-webkit-scrollbar { display: none; }
  .tcbp-wheel-item {
    height: 40px; display: flex; align-items: center; justify-content: center;
    scroll-snap-align: center;
    font-size: 15px; font-weight: 600; color: #9aa085;
    transition: color 0.15s, font-size 0.15s;
    cursor: pointer;
  }
  .tcbp-wheel-item.tcbp-centered { color: #26331f; font-size: 17px; }
  .tcbp-wheel-fade-top, .tcbp-wheel-fade-bottom {
    position: absolute; left: 0; right: 0; height: 46px;
    pointer-events: none; z-index: 2;
  }
  .tcbp-wheel-fade-top { top: 0; background: linear-gradient(#f7f5ee, rgba(247,245,238,0)); }
  .tcbp-wheel-fade-bottom { bottom: 0; background: linear-gradient(rgba(247,245,238,0), #f7f5ee); }
 
  .tcbp-summary {
    margin-top: 18px;
    background: rgba(0,0,0,0.18);
    border-radius: 12px;
    padding: 10px 14px;
    display: flex; align-items: center; gap: 10px;
    font-size: 13px;
  }
  .tcbp-summary .tcbp-dot { width: 8px; height: 8px; border-radius: 50%; background: #d8a93d; flex: none; }
  .tcbp-summary span.tcbp-muted { color: #cddabd; }
 
  .tcbp-notes {
    width: 100%;
    min-height: 64px;
    resize: vertical;
    background: #f7f5ee;
    border: none;
    border-radius: 12px;
    padding: 10px 12px;
    font-size: 13px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    color: #26331f;
    outline: none;
  }
  .tcbp-notes::placeholder { color: #9aa085; }
  .tcbp-notes:focus { box-shadow: 0 0 0 2px #d8a93d; }
 
  .tcbp-confirm-btn {
    margin-top: 16px;
    width: 100%!important;
    border: none; border-radius: 12px;
    padding: 13px!important;
    font-size: 14.5px!important; font-weight: 700!important;
    color: #26331f!important;
    background: linear-gradient(135deg, #f0d385, #d8a93d)!important;
    cursor: pointer!important;
  }
  .tcbp-confirm-btn:disabled { opacity: 0.5; cursor: not-allowed; }
  .tcbp-confirm-btn:not(:disabled):hover { filter: brightness(1.05); }
  
  .cuc {       width: 100px;
    font-size: 11px;
    color: #d1e1c1;
    line-height: 1.6;    text-align: center;
    margin-right: 4px!important;}
	
	
	  .tn-complete-inline { padding:11px 22px; background:#e9eddb; color:#315b32; font-size:12px; font-weight:750; }
  .tn-complete-inline[hidden], #submitScore[hidden] { display:none; }
  :root {
    color-scheme: light;
    --tennis-ink: #172720;
    --tennis-muted: #75837b;
    --tennis-line: #e5ebe7;
    --tennis-green: #176b50;
    --tennis-green-soft: #e9f2ea;
    --tennis-paper: #fff;
  }
.tn-score-cell[role="button"] {
  cursor: pointer;
}
  .tn-popup {
    width: min(100%, 510px); overflow: hidden;
    background: var(--tennis-paper); border: 1px solid #e5ebe7; border-radius: 22px;
    box-shadow: 0 24px 70px #18392a1c, 0 3px 12px #18392a0c;
  }
  .tn-top { display:flex; align-items:center; justify-content:space-between; padding:20px 22px 16px; }
  .tn-eyebrow { color:var(--tennis-muted); font-size:10px; font-weight:750; letter-spacing:.13em; text-transform:uppercase; }
  .tn-event { display:flex; align-items:center; gap:9px; margin-top:4px; font-size:13px; font-weight:700; }
  .tn-event-dot { width:8px; height:8px; border-radius:50%; background:#82b54b; box-shadow:0 0 0 3px #82b54b20; }
  .tn-slash { color:#9aa49e; font-weight:500; }
  .tn-close { width:34px; height:34px; display:grid; place-items:center; border:1px solid var(--tennis-line); border-radius:11px; background:#fff; color:#65736b; font-size:18px; }
  .tn-meta { margin:0 22px; padding:12px 0; display:flex; justify-content:space-between; align-items:center; border-top:1px solid var(--tennis-line); border-bottom:1px solid var(--tennis-line); color:var(--tennis-muted); font-size:11px; font-weight:650; }
  .tn-live { display:flex; align-items:center; gap:6px; color:#bb654d; font-size:10px; font-weight:800; letter-spacing:.1em; }
  .tn-live::before { content:""; width:6px; height:6px; border-radius:50%; background:#e78265; }
  .tn-scoreboard { --name-col:minmax(0,1fr); --set-col:42px; --gap:8px; }
  .tn-score-head, .tn-player { display:grid; grid-template-columns:var(--name-col) repeat(3,var(--set-col)); column-gap:var(--gap); align-items:center; padding-left:22px; padding-right:22px; }
  .tn-score-head { min-height:42px; color:#87938c; font-size:9px; font-weight:750; letter-spacing:.08em; text-align:center; text-transform:uppercase; }
  .tn-score-head span:first-child { text-align:left; }
  .tn-player { min-height:77px; padding-top:12px; padding-bottom:12px; border-top:1px solid #eef2ef; }
  .tn-player.tn-serving { background:linear-gradient(90deg,#f5f9f5,transparent 72%); }
  .tn-identity { display:flex; align-items:center; gap:10px; min-width:0; }
  .tn-avatar { width:38px; height:38px; flex:0 0 auto; display:grid; place-items:center; border-radius:12px; background:#e4f0e7; color:#285943; font-size:10px; font-weight:800; }
  .tn-player:nth-of-type(4) .tn-avatar { background:#f2eadc; color:#664f31; }
  .tn-details { min-width:0; }
  .tn-name { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:13px; font-weight:750; }
  .tn-serve-indicator { display:inline-block; width:6px; height:6px; margin-left:6px; vertical-align:2px; border-radius:50%; background:#82b54b; }
  .tn-sub { margin-top:3px; overflow:hidden; color:#89958e; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
  .tn-score-cell { width:38px; height:38px; justify-self:center; display:grid; place-items:center; border:0; border-radius:11px; background:#f1f4f2; color:#263930; font-size:17px; font-weight:750; }
  button.score-cell { cursor:pointer; }
  button.score-cell:hover { background:#e7eee8; }
  .tn-score-cell.tn-active { background:var(--tennis-green-soft); color:var(--tennis-green); }
  .tn-score-cell.tn-done { background:#f4f6f4; color:#6f7e75; }
  .tn-score-cell.tn-empty { color:#9aa59e; }
  button:focus-visible { outline:3px solid #9ac849; outline-offset:2px; }
  .tn-footer { padding:14px 22px 18px; border-top:1px solid var(--tennis-line); background:#fafcfb; }
  .tn-hint { display:flex; align-items:flex-start; gap:8px; color:#78847d; font-size:10px; line-height:1.5; }
  .tn-hint-icon { width:16px; height:16px; flex:0 0 auto; display:grid; place-items:center; border-radius:50%; background:#edf2ed; color:#52725f; font-size:10px; font-weight:800; }
  .tn-hint b { color:#34453d; }
  .tn-actions { display:flex; gap:9px; margin-top:13px; }
  .tn-secondary, .tn-primary { min-height:42px; border-radius:11px; font-size:11px; font-weight:750; cursor:pointer; }
  .tn-secondary { flex:1; border:1px solid #e2e8e3; background:#fff; color:#516057; }
  .tn-primary { flex:1.35; border:0; background:var(--tennis-green); color:#fff; box-shadow:0 4px 11px #176b5025; }
  .tn-primary:disabled { cursor:default; opacity:.5; box-shadow:none; }
  .tn-arrow { padding-left:5px; font-size:14px; vertical-align:-1px; }
  .tn-next { display:none; padding:24px 22px 22px; background:linear-gradient(145deg,#f7faf5,#fff 65%); }
  .tn-next.tn-visible { display:block; animation:tn-popup-rise .25s ease both; }
  @keyframes tn-popup-rise { from { opacity:0; transform:translateY(7px); } to { opacity:1; transform:translateY(0); } }
  .tn-check { width:38px; height:38px; display:grid; place-items:center; border-radius:13px; background:#e7f3df; color:#39763f; font-size:19px; font-weight:800; }
  .tn-next h1 { margin:14px 0 4px; font-size:23px; letter-spacing:-.04em; }
  .tn-next-copy { margin:0; color:#77847c; font-size:12px; }
  .tn-result { display:flex; justify-content:space-between; align-items:center; margin:18px 0; padding:13px 14px; border:1px solid #e8ede8; border-radius:13px; background:#fff; }
  .tn-result-label { color:#849088; font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
  .tn-winner-line { margin-top:4px; font-weight:700; }
  .tn-result-score { font-size:15px; font-weight:750; letter-spacing:.02em; }
  .tn-up-next { margin-top:19px; padding:15px; border-radius:15px; background:#173d30; color:#fff; }
  .tn-up-next-head { display:flex; justify-content:space-between; align-items:center; color:#bad0c3; font-size:10px; font-weight:750; letter-spacing:.1em; text-transform:uppercase; }
  .tn-starts { padding:4px 7px; border-radius:6px; background:#ffffff16; color:#eff7f1; font-size:9px; letter-spacing:.03em; }
  .tn-next-match { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:13px; font-size:12px; font-weight:750; }
  .tn-side { display:flex; align-items:center; gap:7px; }
  .tn-mini-avatar { width:25px; height:25px; display:grid; place-items:center; border-radius:8px; background:#ffffff20; font-size:8px; font-weight:800; }
  .tn-mini-avatar.tn-gold { background:#ddbb78; color:#344131; }
  .tn-vs { color:#9bb4a6; font-size:9px; }
  .tn-next-actions { display:flex; gap:9px; margin-top:16px; }
  @media(max-width:540px) {
    body { display:block; min-height:100svh; padding:0; background:#fff; }
    .tn-popup { width:100%; min-height:100svh; border:0; border-radius:0; box-shadow:none; }
    .tn-top { padding:20px 18px 16px; }
    .tn-meta { margin:0 18px; }
    .tn-scoreboard { --name-col:minmax(0,1fr); --set-col:42px; --gap:8px; }
    .tn-score-head, .tn-player { padding-left:18px; padding-right:18px; }
    .tn-score-head { min-height:42px; font-size:9px; }
    .tn-player { min-height:75px; padding-top:11px; padding-bottom:11px; }
    .tn-avatar { width:36px; height:36px; }
    .tn-name { font-size:12px; }
    .tn-sub { font-size:9px; }
    .tn-score-cell { width:38px; height:38px; }
    .tn-footer { position:sticky; bottom:0; padding:14px 18px max(18px,env(safe-area-inset-bottom)); box-shadow:0 -8px 20px #14251f08; }
    .tn-next { min-height:100svh; padding:26px 20px max(22px,env(safe-area-inset-bottom)); }
  }
  @media(max-width:360px) {
    .tn-scoreboard { --set-col:38px; --gap:5px; }
    .tn-score-cell { width:36px; height:36px; }
    .tn-score-head, .tn-player { padding-left:14px; padding-right:14px; }
    .tn-identity { gap:7px; }
    .tn-avatar { width:32px; height:32px; }
  }
  /* Player-first score layout: each player name comes before that player's set panel. */
  .tn-score-head { display:none; }
  .tn-player { display:grid; grid-template-columns:1fr; row-gap:11px; padding:14px 22px; }
  .tn-sets-area { padding-left:48px; }
  .tn-sets-title { margin-bottom:7px; color:#87938c; font-size:9px; font-weight:750; letter-spacing:.1em; text-transform:uppercase; }
  .tn-sets-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
  .tn-sets-grid .tn-score-cell { width:100%; height:42px; }
  .tn-sets-grid .tn-score-cell::before { content:attr(data-label); display:block; margin-bottom:2px; color:#909b94; font-size:8px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; }
  @media(max-width:540px) {
    body { display:block; min-height:100svh; padding:0; background:#fff; }
    .tn-popup { width:100%; min-height:100svh; border:0; border-radius:0; box-shadow:none; }
    .tn-top { padding:20px 18px 16px; }
    .tn-meta { margin:0 18px; }
    .tn-player { row-gap:10px; padding:13px 18px; }
    .tn-identity { gap:9px; } .tn-avatar { width:36px; height:36px; }
    .tn-name { font-size:12px; } .tn-sub { font-size:9px; }
    .tn-sets-area { padding-left:45px; }
    .tn-sets-title { margin-bottom:6px; font-size:9px; }
    .tn-sets-grid { gap:8px; }
    .tn-sets-grid .tn-score-cell { height:46px; }
    .tn-sets-grid .tn-score-cell::before { margin-bottom:1px; font-size:8px; }
    .tn-footer { position:sticky; bottom:0; padding:14px 18px max(18px,env(safe-area-inset-bottom)); box-shadow:0 -8px 20px #14251f08; }
    .tn-next { min-height:100svh; padding:26px 20px max(22px,env(safe-area-inset-bottom)); }
  }
  @media(max-width:360px) {
    .tn-player { padding-left:14px; padding-right:14px; }
    .tn-sets-area { padding-left:42px; }
    .tn-identity { gap:7px; } .tn-avatar { width:32px; height:32px; }
  }
  /* Palette sampled from the supplied reference. */
  :root { --tennis-ink:#18321f; --tennis-muted:#73836d; --tennis-line:#e4e3d8; --tennis-green:#315b32; --tennis-green-soft:#f5e5a6; --tennis-paper:#f6f5ed; }
  body { background:#294f2e; }
  .tn-popup { background:#f6f5ed; border-color:#557747; }
  .tn-top { background:#5f8742; color:#fff; }
  .tn-top .tn-eyebrow { color:#d9e4cb; }
  .tn-event { color:#fff; }
  .tn-slash { color:#dce6d1; }
  .tn-event-dot { background:#e8c85e; box-shadow:0 0 0 3px #f5df8528; }
  .tn-close { border-color:#e8ede2; background:#f6f5ed; color:#3f5440; }
  .tn-meta { border-color:#dfdfd2; color:#71806a; }
  .tn-live { color:#d2a52d; }
  .tn-live::before { background:#d9ad34; }
  .tn-player { border-top-color:#e3e3d8; }
  .tn-player.tn-serving { background:linear-gradient(90deg,#e7eddc,transparent 82%); }
  .tn-avatar { background:#dfe8d7; color:#315b32; }
  .tn-player:nth-of-type(4) .tn-avatar { background:#f0e5c9; color:#6e5820; }
  .tn-serve-indicator { background:#d6ad35; }
  .tn-sets-title { color:#64765d; }
  .tn-score-cell { background:#eeeee5; color:#203b25; }
  button.score-cell:hover { background:#e5e8d9; }
  .tn-score-cell.tn-active { background:#f5e5a6; color:#203b25; }
  .tn-score-cell.tn-done { background:#e8e9df; color:#64745f; }
  .tn-score-cell.tn-empty { color:#9ca394; }
  .tn-footer { border-top-color:#e1e2d7; background:#f1f1e8; }
  .tn-hint { color:#71806a; }
  .tn-hint-icon { background:#e3e9d9; color:#496b43; }
  .tn-hint b { color:#36533a; }
  .tn-secondary { border-color:#78936c; background:#819978; color:#fff; }
  .tn-secondary:hover { background:#718a67; }
  .tn-primary { background:#e5bd45; color:#1d321f; box-shadow:0 4px 11px #9d792b30; }
  .tn-primary:hover:not(:disabled) { background:#d9ae34; }
  .tn-primary:disabled { opacity:.52; }
  .tn-next { background:linear-gradient(145deg,#f6f5ed,#eeefe4 65%); }
  .tn-check { background:#e1ead8; color:#39643a; }
  .tn-result { border-color:#e1e2d7; background:#fbfaf4; }
  .tn-up-next { background:#315b32; }
  .tn-starts { background:#ffffff1b; color:#f5f0d7; }
  .tn-mini-avatar.tn-gold { background:#e5bd45; color:#304b2d; }
  .tn-footer .tn-actions { flex-direction:column; }
  .tn-footer .tn-actions > button { width:100%; flex:none; }
  .tn-score-tools { display:flex; justify-content: space-between; padding:8px 22px 10px; }
  .tn-score-tools .tn-secondary { flex:0 0 auto; min-height:32px; padding:0 12px; font-size:10px; }
  @media(max-width:540px) { .tn-score-tools { padding:8px 18px 10px; } }
  .tn-demo-page { min-height:100vh; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; color:#e8eddc; }
  .tn-demo-page p { margin:0; color:#c7d4bc; font-size:12px; }
  .tn-open-modal { min-height:48px; padding:0 24px; border:0; border-radius:12px; background:#e5bd45; color:#1d321f; font-weight:750; cursor:pointer; box-shadow:0 5px 16px #152f1c40; }
  .tn-open-modal:hover { background:#f0d477; }
  .tn-overlay { position:fixed; inset:0; z-index:1000; display:grid; place-items:center; padding:24px; background:#102214a8; backdrop-filter:blur(3px); }
  .tn-overlay[hidden] { display:none; }
  .tn-popup { max-height:calc(100vh - 48px); overflow:auto; }
  @media(max-width:540px) {
    body { display:block; padding:0; background:#294f2e; }
    .tn-demo-page { min-height:100svh; }
    .tn-overlay { padding:0; place-items:stretch; }
    .tn-popup { width:100%; max-height:100svh; min-height:100svh; border:0; border-radius:0; }
  }
.ladder-view-notice { margin: 12px; padding: 10px 12px; border: 1px solid #a0b28252; border-radius: 6px; background: #ffffff14; color: #fff; font-size: 13px; text-align: center; }

/* My Wall: wrap when the ladder and timeline no longer fit comfortably. */
.tcl-wall-layout {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(16px, 2vw, 24px);
  align-items: flex-start;
}
.tcl-wall-layout > .tcl-wall-profile {
  flex: 0 1 400px;
  width: 100%;
  min-width: 0;
  max-width: 400px;
  margin: 0 auto;
}
.tcl-wall-timeline {
  flex: 1 1 360px;
  min-width: 0;
}
.tcl-wall-timeline > .tcl-wall-timeline-title { margin-top: 0; }
@media (max-width: 560px) {
  .tcl-wall-layout > .tcl-wall-profile {
    max-width: 100% !important;
    margin: 0 auto !important;
  }
}
/* My Wall timeline layout; retain BuddyBoss/theme colors. */
#buddypress .tcl-wall-timeline :is(.activity-form-placeholder, .activity-update-form:not(.modal-popup)) {
  padding: 14px 16px 0;
  border-radius: 14px;
  margin-bottom: 18px;
}
#buddypress .tcl-wall-timeline :is(.activity-form-placeholder, .activity-update-form:not(.modal-popup)) .whats-new-form-header {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 0 12px;
}
#buddypress .tcl-wall-timeline :is(.activity-form-placeholder, .activity-update-form:not(.modal-popup)) #user-status-huddle {
  flex: 0 0 44px;
  width: 44px;
  margin: 0;
  padding: 0;
}
#buddypress .tcl-wall-timeline :is(.activity-form-placeholder, .activity-update-form:not(.modal-popup)) #user-status-huddle img {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  object-fit: cover;
}
#buddypress .tcl-wall-timeline :is(#whats-new-content-placeholder, .activity-update-form:not(.modal-popup) #whats-new-content) {
  flex: 1;
  min-width: 0;
  margin: 0;
  padding: 10px 16px;
  border: 1px solid rgba(127,127,127,.2);
  border-radius: 28px;
}
#buddypress .tcl-wall-timeline :is(#whats-new-placeholder, .activity-update-form:not(.modal-popup) #whats-new) {
  min-height: 24px;
  padding: 0;
  font-size: 16px;
  line-height: 24px;
}
#buddypress .tcl-wall-timeline :is(.activity-form-placeholder, .activity-update-form:not(.modal-popup)) #whats-new-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  border-top: 1px solid rgba(127,127,127,.2);
  padding: 10px 0;
  margin: 0;
}
#buddypress .tcl-wall-timeline :is(.activity-form-placeholder, .activity-update-form:not(.modal-popup)) .post-elements-buttons-item {
  flex: 1 1 auto;
  margin: 0;
}
#buddypress .tcl-wall-timeline :is(.activity-form-placeholder, .activity-update-form:not(.modal-popup)) .toolbar-button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  min-height: 36px;
  padding: 6px 10px;
  border-radius: 8px;
}
#buddypress .tcl-wall-timeline :is(.activity-form-placeholder, .activity-update-form:not(.modal-popup)) .toolbar-button[aria-label]::after {
  content: attr(aria-label);
  position: static;
  display: inline;
  visibility: visible;
  opacity: 1;
  transform: none;
  background: none;
  color: inherit;
  padding: 0;
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.3;
  white-space: normal;
}
#buddypress .tcl-wall-timeline .activity-list { margin: 0; padding: 0; }
#buddypress .tcl-wall-timeline .activity-list > .activity-item {
  border-radius: 14px;
  margin: 0 0 18px;
}
#buddypress .tcl-wall-timeline .activity-avatar img { border-radius: 50%; }
#buddypress .tcl-wall-timeline :is(.bb-activity-media-wrap, .bb-video-wrapper) {
  border-radius: 14px;
  overflow: hidden;
}
@media (max-width: 560px) {
  #buddypress .tcl-wall-timeline :is(.activity-form-placeholder, .activity-update-form:not(.modal-popup)) { padding: 12px 12px 0; }
  #buddypress .tcl-wall-timeline :is(.activity-form-placeholder, .activity-update-form:not(.modal-popup)) .toolbar-button { padding: 6px; gap: 5px; }
}
/* Compact composer preview; the full editor retains its native controls. */
#buddypress .tcl-wall-timeline :is(.activity-form-placeholder, .activity-update-form:not(.modal-popup)) #user-status-huddle > :not(#whats-new-avatar) { display: none; }
#buddypress .tcl-wall-timeline :is(.activity-form-placeholder, .activity-update-form:not(.modal-popup)) #whats-new-avatar { margin: 0; width: 44px; }
#buddypress .tcl-wall-timeline :is(.activity-form-placeholder, .activity-update-form:not(.modal-popup)) :is(#whats-new-content-placeholder, .activity-update-form:not(.modal-popup) #whats-new-content) { height: 44px; box-sizing: border-box; overflow: hidden; }
#buddypress .tcl-wall-timeline :is(.activity-form-placeholder, .activity-update-form:not(.modal-popup)) :is(#whats-new-placeholder, .activity-update-form:not(.modal-popup) #whats-new) { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#buddypress .tcl-wall-timeline :is(.activity-form-placeholder, .activity-update-form:not(.modal-popup)) #whats-new-toolbar { justify-content: space-around; }
#buddypress .tcl-wall-timeline :is(.activity-form-placeholder, .activity-update-form:not(.modal-popup)) .post-elements-buttons-item { flex: 1 1 0; min-width: 80px; }
#buddypress .tcl-wall-timeline :is(.activity-form-placeholder, .activity-update-form:not(.modal-popup)) .toolbar-button i { flex-shrink: 0; font-size: 23px; }
/* Feed cards: compact identity row above full-width post content. */
#buddypress .tcl-wall-timeline .activity-list > .activity-item { padding: 16px; position: relative; }
#buddypress .tcl-wall-timeline .activity-item > .activity-avatar { float: left; margin: 0 10px 12px 0; }
#buddypress .tcl-wall-timeline .activity-item > .activity-avatar img { width: 44px; height: 44px; object-fit: cover; }
#buddypress .tcl-wall-timeline .activity-item > .activity-header { margin: 0 36px 12px 54px; min-height: 44px; padding: 0; line-height: 1.4; }
#buddypress .tcl-wall-timeline .activity-item > .activity-header p { margin: 0; }
#buddypress .tcl-wall-timeline .activity-item > .activity-header .activity-date { display: inline-block; font-size: 12px; }
#buddypress .tcl-wall-timeline .activity-item > .activity-content { clear: both; margin: 0; padding: 0; width: 100%; }
#buddypress .tcl-wall-timeline .activity-inner { margin: 0 20px 12px; padding: 0; }
#buddypress .tcl-wall-timeline .activity-inner p { margin: 0 0 12px; }
#buddypress .tcl-wall-timeline .activity-inner img { max-width: 100%; }
@media (max-width: 560px) {
  #buddypress .tcl-wall-timeline .activity-list > .activity-item { padding: 12px; }
  #buddypress .tcl-wall-timeline :is(.activity-form-placeholder, .activity-update-form:not(.modal-popup)) .toolbar-button[aria-label]::after { font-size: 12px; }
}


/* Match the compact, two-row composer before opening the native popup. */
#buddypress .tcl-wall-timeline .activity-update-form:not(.modal-popup) #whats-new-form { margin: 0; padding: 0; border: 0; }
#buddypress .tcl-wall-timeline .activity-update-form:not(.modal-popup) .whats-new-scroll-view { min-height: 0; }
#buddypress .tcl-wall-timeline .activity-update-form:not(.modal-popup) #whats-new { min-height: 24px; margin: 0; }
#buddypress .tcl-wall-timeline :is(.activity-form-placeholder, .activity-update-form:not(.modal-popup)) { border-radius: 0; padding: 14px 16px 18px; }
#buddypress .tcl-wall-timeline :is(.activity-form-placeholder, .activity-update-form:not(.modal-popup)) .toolbar-button[aria-label]::after { box-shadow: none; border: 0; }

.item-body { margin: 20px; }

.buddypress-wrap.bp-dir-hori-nav:not(.bp-vertical-navs) nav {
  border: 0 !important;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
}

[data-bp-tooltip][data-bp-tooltip-pos="up-left"]::after { margin-bottom: 0 !important; }

.tcl-wall-timeline [data-bp-tooltip]::after { margin-bottom: 0 !important; }

#bp-nouveau-activity-form { margin-top: 0 !important; }

/* Anchor composer tooltip arrows to their own upload buttons. */
#buddypress .tcl-wall-timeline .toolbar-button[data-bp-tooltip] { position: relative; }
#buddypress .tcl-wall-timeline .toolbar-button[data-bp-tooltip]::before {
  left: 50%;
  right: auto;
  bottom: 100%;
  margin-bottom: 0;
  transform: translateX(-50%);
}

.bp-wrap { background: #294f2e; }

.buddypress-wrap:not(.bp-single-vert-nav) .bp-navs li { background: #f7f8f9 !important; }

#object-nav.bb-single-main-nav--horizontal > ul > li.bp-personal-tab.current,
#object-nav.bb-single-main-nav--horizontal > ul > li.bp-personal-tab.selected,
.buddypress-wrap .main-navs:not(.dir-navs) li.current a,
.buddypress-wrap .main-navs:not(.dir-navs) li.selected a {
  background: transparent !important;
  border-bottom: 2px solid #294f2e9e;
}

.users-nav { padding: 0 18px; }

.buddypress-wrap .bp-navs li:not(.current) a:focus,
.buddypress-wrap .bp-navs li:not(.current) a:hover,
.buddypress-wrap .bp-navs li:not(.selected) a:focus,
.buddypress-wrap .bp-navs li:not(.selected) a:hover {
  background: #f4f9ef !important;
}

.activity-update-form {
  background: #f7f8f9;
  border: 0;
  border-radius: 10px;
  box-shadow: 0px 0px 2px #294f2e33;
}

#buddypress .tcl-wall-timeline .activity-update-form:not(.modal-popup) { border-radius: 10px; }

/* Keep timeline comment avatars circular, including non-square source images. */
#buddypress .tcl-wall-timeline .activity-comments .acomment-avatar img {
  width: 32px;
  height: 32px;
  min-width: 32px;
  max-width: 32px;
  border-radius: 50%;
  object-fit: cover;
  box-sizing: border-box;
}

/* Reserve avatar space so the comment input cannot compress it. */
#buddypress .tcl-wall-timeline :is(.acomment-avatar, .ac-reply-avatar) {
  flex: 0 0 32px;
  width: 32px;
  min-width: 32px;
  height: 32px;
}
#buddypress .tcl-wall-timeline :is(.acomment-avatar, .ac-reply-avatar) img {
  display: block;
  width: 32px;
  height: 32px;
  min-width: 32px;
  max-width: 32px;
  min-height: 32px;
  max-height: 32px;
  border-radius: 50%;
  object-fit: cover;
  box-sizing: border-box;
}
#buddypress .tcl-wall-timeline :is(.ac-reply-content, .acomment-content_wrap) { min-width: 0; }

/* Timeline cards share the ladder's forest-green and sage palette. */
#buddypress .tcl-wall-timeline .activity-list > .activity-item,
#buddypress .tcl-wall-timeline :is(.activity-form-placeholder, .activity-update-form:not(.modal-popup)) {
  background: linear-gradient(110deg, #355a3d 0%, #70885b 60%, #aebd86 100%);
  border: 1px solid #c8d29c;
  box-shadow: 0 1px 4px #294f2e26;
  color: #fff;
}
#buddypress .tcl-wall-timeline .activity-list > .activity-item :is(.activity-header, .activity-header a, .activity-header p, .activity-inner, .activity-inner p, .activity-meta a, .activity-state, .activity-state a) {
  color: #fff;
}
#buddypress .tcl-wall-timeline .activity-list > .activity-item :is(.time-since, .activity-date, .activity-date a) { color: #edf1db; }
#buddypress .tcl-wall-timeline .activity-list > .activity-item :is(.activity-meta, .activity-state, .activity-comments) { border-color: #c8d29c66; }
#buddypress .tcl-wall-timeline .activity-list > .activity-item .activity-inner a { color: #ffe39a; }
#buddypress .tcl-wall-timeline .activity-list > .activity-item .bb-activity-more-options-action { color: #fff; }
#buddypress .tcl-wall-timeline :is(.activity-form-placeholder, .activity-update-form:not(.modal-popup)) #whats-new-toolbar {
  background: #294f2e38;
  border-color: #c8d29c66;
  border-radius: 8px;
}
#buddypress .tcl-wall-timeline :is(.activity-form-placeholder, .activity-update-form:not(.modal-popup)) .toolbar-button,
#buddypress .tcl-wall-timeline :is(.activity-form-placeholder, .activity-update-form:not(.modal-popup)) .toolbar-button i { color: #fff; }
#buddypress .tcl-wall-timeline :is(.activity-form-placeholder, .activity-update-form:not(.modal-popup)) .toolbar-button:hover { background: #ffffff18; }
#buddypress .tcl-wall-timeline :is(#whats-new-content-placeholder, .activity-update-form:not(.modal-popup) #whats-new-content) { background: #f7f9ef; color: #294f2e; border-color: #c8d29c; }
#buddypress .tcl-wall-timeline :is(#whats-new-placeholder, .activity-update-form:not(.modal-popup) #whats-new) { color: #294f2e; }
#buddypress .tcl-wall-timeline :is(#whats-new-placeholder, .activity-update-form:not(.modal-popup) #whats-new)::before { color: #52664b; opacity: 1; }
#buddypress .tcl-wall-timeline .activity-list > .activity-item :is(.acomment-content_block, .ac-reply-content) { background: #f1f5e7; color: #294f2e; }
#buddypress .tcl-wall-timeline .activity-list > .activity-item :is(.acomment-content_block, .ac-reply-content) :is(a, p, .ac-input) { color: #294f2e; }
#buddypress .tcl-wall-timeline .activity-list > .activity-item .acomment-foot-actions a { color: #edf1db; }

#whats-new-form { background: none; }
#activity-stream { padding-top: 0; }

/* Link-style post actions, with matching alignment and native BuddyBoss behavior. */
#buddypress .tcl-wall-timeline .activity-item .activity-meta {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 20px;
}
#buddypress .tcl-wall-timeline .activity-meta > .generic-button {
  flex: 0 0 auto;
  margin: 0;
}
#buddypress .tcl-wall-timeline .activity-item :is(.bp-like-button, .acomment-reply) {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 7px;
  width: auto;
  min-height: 36px;
  height: 36px;
  padding: 0 !important;
  margin: 0 10px 0 0;
  border: 0 !important;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none !important;
  color: #fff !important;
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
}
#buddypress .tcl-wall-timeline .activity-item :is(.bp-like-button, .acomment-reply):is(:hover, :focus-visible),
#buddypress .tcl-wall-timeline .activity-item .bp-like-button.unfav {
  color: #201c12 !important;
  text-decoration: none !important;
}
#buddypress .tcl-wall-timeline .activity-item .acomment-reply::before {
  content: "\ee33";
  font-family: "bb-icons";
  font-size: 20px;
  font-style: normal;
  font-weight: normal;
  display: inline-block !important;
  margin: 0;
  line-height: 1;
}

.activity-head-bar { margin-bottom: 0; }
.tcl-wall-timeline .activity-head-bar .bb-subnav-filters-label { padding-left: 8px; margin-right: 8px; }

#buddypress .tcl-wall-timeline .activity-item .bp-like-button :is(.like-count, .reactions_item) {
  color: inherit !important;
}

body #buddypress .bp-list .action {
  display: flex;
  align-items: flex-end;
}

.generic-button { margin-bottom: 0 !important; }

/* Icon-only Like action; retain BuddyBoss's screen-reader label. */
#buddypress .tcl-wall-timeline .activity-item .bp-like-button .like-count {
  display: none !important;
}

.activity-header { display: flex; align-items: center; }
.tcl-wall-timeline .tcl-like-summary { display: inline; }
#buddypress .tcl-wall-timeline .activity-state-reactions.tcl-like-summary {
  background: none; border: 0; padding: 4px 0 6px; color: #edf1db;
  font: inherit; font-size: 13px; text-align: left; cursor: pointer;
}
#buddypress .tcl-wall-timeline .tcl-like-summary:hover { color: #fff; }
#buddypress .tcl-wall-timeline .activity-state-popup_inner { width: 380px; max-width: calc(100vw - 32px); border-radius: 12px; }
#buddypress .tcl-wall-timeline .activity-state_user__avatar { display: none; }
#buddypress .tcl-wall-timeline .activity-state_user__name::before {
  content: '\ef41'; font-family: 'bb-icons'; margin-right: 10px; color: #355a3d;
}

#buddypress .tcl-wall-timeline .activity-item .acomment-reply { padding-top: 2px !important; }

#buddypress .tcl-wall-timeline .activity-state-popup_inner,
#buddypress .tcl-wall-timeline .activity-state-popup_inner :is(a, p, h2, h3, .activity-state_user__name, .activity-state-popup_title) {
  color: #374151 !important;
}

#buddypress .tcl-wall-timeline .activity-list > .activity-item { padding-bottom: 0 !important; }

.activity-state.has-likes {
  margin-top: 0;
  margin-bottom: 4px;
}

#buddypress .tcl-wall-timeline .tcl-profile-event-photo { clear: both; margin: 0; }
#buddypress .tcl-wall-timeline .tcl-profile-event-photo img { display: block; width: auto; max-width: 100%; max-height: 420px; height: auto; border-radius: 10px; object-fit: contain; }
#buddypress .tcl-wall-timeline .tcl-profile-event-photo figcaption { margin-top: 6px; font-size: 12px; color: #edf1db; }

.tcl-profile-photo-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 20px; }
.tcl-profile-photo-grid figure { margin: 0; padding: 10px; border-radius: 10px; background: #f7f8f9; border: 1px solid #c8d29c; }
.tcl-profile-photo-grid img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 6px; }
.tcl-profile-photo-grid figcaption { padding-top: 10px; color: #294f2e; font-size: 14px; }
.tcl-profile-photo-note { color: #52664b; font-size: 13px; margin-top: 18px; }

/* Timeline photos: natural size, at most 600px, centered on black. */
#buddypress .tcl-wall-timeline .bb-activity-media-wrap:has(.media-activity) {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}
#buddypress .tcl-wall-timeline .bb-activity-media-elem.media-activity:not(.hide) {
  flex: none;
  width: 100%;
  max-width: 680px;
  height: auto;
  margin-inline: auto;
}
#buddypress .tcl-wall-timeline .media-activity .entry-img,
#buddypress .tcl-wall-timeline .tcl-profile-event-photo,
#buddypress .tcl-wall-timeline .activity-inner p:has(> img:not(.emoji):not(.emojioneemoji)) {
  display: block;
  position: relative;
  width: 100%;
  max-width: 680px;
  height: auto;
  min-height: 0;
  padding: 0;
  margin-inline: auto;
  background: #000;
  text-align: center;
}
#buddypress .tcl-wall-timeline .media-activity .entry-img img,
#buddypress .tcl-wall-timeline .tcl-profile-event-photo img,
#buddypress .tcl-wall-timeline .activity-inner img:not(.emoji):not(.emojioneemoji):not(.avatar) {
  display: block;
  position: static;
  width: auto !important;
  max-width: min(100%, 600px) !important;
  min-width: 0;
  height: auto !important;
  min-height: 0;
  max-height: none !important;
  aspect-ratio: auto;
  margin-inline: auto;
  object-fit: contain;
  border-radius: 0;
}
#buddypress .tcl-wall-timeline .tcl-profile-event-photo figcaption { margin: 0; padding: 6px; }

.tcl-wall-timeline { max-width: 680px; margin: auto; margin-top: 8px; }

.tcl-wall-timeline .bb-subnav-filters-search { display: none !important; }

/* Hide the Profile navigation tab without disabling profile pages. */
#buddypress #object-nav #xprofile-personal-li { display: list-item !important; }

/* Hide the Notifications tab without disabling notifications. */
#buddypress #object-nav #notifications-personal-li { display: none !important; }

.tcl-ladder .tcl-no-ladder-heading { margin: 0; padding: 24px 16px; font-size: 32px; font-weight: 700; line-height: 1.2; text-align: center; color: #fff; }

/* Keep the comment label aligned with its link color. */
#buddypress .tcl-wall-timeline .activity-item .acomment-reply .comment-count {
  color: inherit !important;
}
@media (max-width: 560px) {
  .tcl-wall-timeline {
    width: 100%;
    max-width: 100%;
    margin: 0;
    box-sizing: border-box;
  }
}

/* Mobile composer actions retain accessible labels but show icons only. */
@media (max-width: 560px) {
  #buddypress .tcl-wall-timeline :is(.activity-form-placeholder, .activity-update-form:not(.modal-popup)) .toolbar-button[aria-label]::after {
    display: none !important;
    content: none !important;
  }
}

.notif-wrap { margin-top: 12px; }

/* Keep post avatars from collapsing beside long mobile headers. */
#buddypress .tcl-wall-timeline .activity-item > .activity-avatar {
  flex: 0 0 44px;
  min-width: 44px;
  height: 44px;
}
#buddypress .tcl-wall-timeline .activity-item > .activity-avatar > a {
  display: block;
  width: 44px;
  height: 44px;
}
#buddypress .tcl-wall-timeline .activity-item > .activity-avatar img {
  width: 44px !important;
  min-width: 44px;
  max-width: 44px;
  height: 44px !important;
  border-radius: 50%;
  object-fit: cover;
  box-sizing: border-box;
}

/* Swipeable profile tabs on mobile. */
@media (max-width: 767px) {
  #buddypress #object-nav.users-nav {
    display: block;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
  }
  #buddypress #object-nav.users-nav > ul {
    display: flex !important;
    flex-direction: row;
    flex-wrap: nowrap !important;
    width: max-content;
    min-width: 100%;
    margin: 0;
    padding: 0;
  }
  #buddypress #object-nav.users-nav > ul > li {
    flex: 0 0 auto;
    float: none;
    width: auto !important;
    margin: 0;
    white-space: nowrap;
  }
  #buddypress #object-nav.users-nav > ul > li > a {
    display: flex;
    align-items: center;
    white-space: nowrap;
    padding: 14px 12px;
  }
}

#buddypress #object-nav.bb-single-main-nav--horizontal::after { content: none !important; display: none !important; }

/* Post footer and compact comment preview. */
#buddypress .tcl-wall-timeline .tcl-post-actions { display:flex; justify-content:space-between; align-items:stretch; gap:0; border-top:1px solid #c8d29c66; padding:0; }
#buddypress .tcl-wall-timeline .tcl-post-actions > .generic-button { flex:1 1 0; margin:0; }
#buddypress .tcl-wall-timeline .activity-item .tcl-share-post,
#buddypress .tcl-wall-timeline .tcl-post-actions :is(.bp-like-button,.acomment-reply,.tcl-share-post) { display:inline-flex; align-items:center; justify-content:center; width:100%; min-height:40px; margin:0; padding:0!important; border:0!important; background:transparent!important; box-shadow:none; color:#fff!important; font-family:inherit; font-size:14px; font-weight:600; line-height:1.2; gap:7px; }
#buddypress .tcl-wall-timeline .tcl-post-actions .bp-like-button .like-count { display:inline!important; }
#buddypress .tcl-wall-timeline .activity-comments > ul > .comment-item:nth-of-type(n+4),
#buddypress .tcl-wall-timeline .activity-comments .comment-item ul,
#buddypress .tcl-wall-timeline .activity-comments > .ac-form,
#buddypress .tcl-wall-timeline .activity-comments .acomments-view-more { display:none!important; }
#buddypress .tcl-wall-timeline .tcl-view-comments { display:block; padding:10px 0; border:0; background:none; color:#edf1db; font-size:13px; cursor:pointer; }
#activity-modal .tcl-view-comments, #activity-modal .tcl-share-post { display:none; }
.tcl-shared-post { border:1px solid #c8d29c; border-radius:10px; padding:14px; margin:10px; background:#294f2e; color:white; overflow:hidden; }
#buddypress .tcl-wall-timeline .tcl-shared-post :is(p,a,header) { color:white; }
.tcl-shared-post header { margin-bottom:12px; }
#tcl-share-dialog { width:520px; max-width:calc(100vw - 32px); max-height:85vh; overflow:auto; box-sizing:border-box; border:1px solid #aebd86; border-radius:14px; padding:22px; background:#f7f8f9; color:#294f2e; }
#tcl-share-dialog::backdrop { background:#102214a8; }
#tcl-share-dialog header { display:flex; align-items:center; justify-content:space-between; gap:12px; }
#tcl-share-dialog h2 { margin:0; font-size:22px; }
#tcl-share-dialog textarea { width:100%; box-sizing:border-box; margin:8px 0 14px; resize:vertical; }
#tcl-share-dialog .tcl-share-preview { border:1px solid #c8d29c; border-radius:8px; padding:12px; }
#tcl-share-dialog .tcl-share-error { color:#a32222; }
#tcl-share-dialog button[type="submit"] { background:#355a3d; color:#fff; border:0; border-radius:8px; padding:10px 20px; }
#tcl-share-dialog .tcl-share-close { background:none; border:0; color:#294f2e; font-size:26px; }

#buddypress { background: #294f2e; }
#buddypress .activity-list { background: #294f2e; border: 0; }
#buddypress .activity-head-bar { color: white; margin-bottom: 10px; }

.tcl-wall-timeline .tcl-profile-event-photo img, .tcl-wall-timeline .bb-activity-video-elem, .tcl-wall-timeline .activity-inner img[role=button] { cursor: pointer; }

#buddypress .tcl-wall-timeline .tcl-profile-event-photo { margin: 0; }
#buddypress .activity-list > li { padding-right: 0 !important; padding-left: 0 !important; }

.tcl-shared-post-header { display:flex; align-items:center; gap:12px; }
.tcl-shared-avatar { flex:0 0 44px; }
.tcl-shared-avatar img { display:block; width:44px; height:44px; border-radius:50%; object-fit:cover; }
.tcl-shared-post-action { min-width:0; color:white; }
.tcl-shared-post-action a { color:inherit; }

#buddypress .activity-state { margin: 8px 20px; }
#buddypress .tcl-wall-timeline .activity-item .tcl-share-post:is(:hover, :focus-visible) { text-decoration: none; }

.tcl-shared-post[data-original-activity-id] { cursor:pointer; }
#buddypress .tcl-shared-post .tcl-shared-post-action, #buddypress .tcl-shared-post .tcl-shared-post-action a { color:#fff !important; }



#buddypress .tcl-wall-timeline .activity-item > .activity-avatar.item-avatar { width: unset; margin-left: 10px; }

#buddypress .bb-activity-media-wrap { margin-left: 0 !important; }

#buddypress .activity-state:not(.has-likes) { display: none !important; }

/* Keep post actions compact on phones while retaining their accessible text. */
@media (max-width: 560px) {
  #buddypress .tcl-wall-timeline .activity-item :is(.bp-like-button, .acomment-reply, .tcl-share-post) {
    font-size: 0 !important;
    gap: 0;
  }
  #buddypress .tcl-wall-timeline .activity-item :is(.bp-like-button .like-count, .acomment-reply .comment-count) {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }
  #buddypress .tcl-wall-timeline .activity-item :is(.bp-like-button, .acomment-reply, .tcl-share-post) i,
  #buddypress .tcl-wall-timeline .activity-item :is(.bp-like-button, .acomment-reply, .tcl-share-post)::before {
    font-size: 20px;
  }
}

#buddypress .privacy { margin-left: 6px; }

#buddypress .activity-header .activity-time-since { margin-left: 0 !important; padding-left: 0 !important; }
#buddypress .activity-header .activity-time-since::before { content: none !important; display: none !important; }

/* Use the timestamp's 14px size throughout post headings, including shared cards. */
#buddypress .activity-item :is(.activity-header, .tcl-shared-post-action),
#buddypress .activity-item :is(.activity-header, .tcl-shared-post-action) :is(p, a, .time-since, .activity-date),
#activity-modal .activity-item :is(.activity-header, .tcl-shared-post-action),
#activity-modal .activity-item :is(.activity-header, .tcl-shared-post-action) :is(p, a, .time-since, .activity-date) {
  font-size: 14px !important;
}

#buddypress .activity-list .bb-activity-more-options-wrap .bb-activity-more-options-action i { color: #fff; }

/* Uploaded photos must not inherit BuddyBoss's cropped thumbnail grid. */
#buddypress .tcl-wall-timeline .activity-item .media-activity .entry-img,
#activity-modal .activity-item .media-activity .entry-img {
  display: flex !important;
  justify-content: center;
  align-items: center;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  aspect-ratio: auto !important;
  background: #000 !important;
  border-radius: 0;
}
#buddypress .tcl-wall-timeline .activity-item .media-activity .entry-img img,
#activity-modal .activity-item .media-activity .entry-img img {
  position: static !important;
  display: block;
  width: auto !important;
  max-width: min(100%, 600px) !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  object-fit: contain !important;
  transform: none !important;
  margin: 0 auto !important;
  border-radius: 0 !important;
}

/* Let photo frames fill the post instead of inheriting text gutters. */
#buddypress .tcl-wall-timeline .activity-item .activity-inner:has(> .bb-activity-media-wrap),
#activity-modal .activity-item .activity-inner:has(> .bb-activity-media-wrap) {
  margin-left: 0 !important;
  margin-right: 0 !important;
}
#buddypress .tcl-wall-timeline .activity-item .bb-activity-media-wrap:has(.media-activity),
#activity-modal .activity-item .bb-activity-media-wrap:has(.media-activity) {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0;
  background: #000;
}
#buddypress .tcl-wall-timeline .activity-item .bb-activity-media-wrap .media-activity,
#activity-modal .activity-item .bb-activity-media-wrap .media-activity {
  width: 100% !important;
  max-width: 680px !important;
  flex: 0 0 auto !important;
  margin: 0 auto !important;
  padding: 0 !important;
  background: #000;
}
#buddypress .tcl-wall-timeline .activity-item .media-activity .entry-img,
#activity-modal .activity-item .media-activity .entry-img {
  width: 100% !important;
  max-width: 680px !important;
  margin: 0 auto !important;
}

@media (max-width: 560px) {
  #buddypress .tcl-wall-timeline .activity-item > .activity-header {
    display: block;
    clear: none !important;
    float: none !important;
    width: auto !important;
    min-width: 0;
    margin-left: 64px;
    margin-right: 36px;
    white-space: normal;
    overflow-wrap: anywhere;
  }
  #buddypress .tcl-wall-timeline .activity-item > .activity-header p {
    width: auto;
    min-width: 0;
    white-space: normal;
  }
}

#tcl-notifications-panel[hidden] { display:none !important; }
#tcl-notifications-panel { position:fixed; z-index:100100; width:380px; max-width:calc(100vw - 16px); box-sizing:border-box; padding:16px; border:1px solid #aebd86; border-radius:12px; background:#f4f7ed; color:#294f2e; box-shadow:0 8px 30px #10221440; display:flex; flex-direction:column; font-family:'DM Sans',sans-serif; }
#tcl-notifications-panel header { display:flex; align-items:center; justify-content:space-between; }
#tcl-notifications-panel h2 { margin:0; font-size:24px; color:#294f2e; }
#tcl-notifications-panel button { border:0; background:transparent; color:#294f2e; cursor:pointer; padding:8px 12px; font:inherit; border-radius:20px; }
#tcl-notifications-panel .tcl-notifications-close { font-size:24px; }
#tcl-notifications-panel .tcl-notifications-tabs { display:flex; gap:8px; margin:10px 0; }
#tcl-notifications-panel button[aria-pressed=true] { background:#dbe7cb; font-weight:700; }
#tcl-notifications-panel .tcl-notifications-list { overflow:auto; min-height:0; overscroll-behavior:contain; }
#tcl-notifications-panel h3 { font-size:14px; margin:12px 0 4px; }
#tcl-notifications-panel .tcl-notification-row { display:flex; align-items:center; gap:10px; padding:12px 8px; border-radius:8px; }
#tcl-notifications-panel .tcl-notification-row:hover { background:#e3ecd7; }
#tcl-notifications-panel .tcl-notification-symbol { flex:0 0 44px; width:44px; height:44px; display:grid; place-items:center; border-radius:50%; background:#355a3d; color:white; font-size:23px; }
#tcl-notifications-panel .tcl-notification-copy { flex:1; min-width:0; font-size:14px; line-height:1.4; overflow-wrap:anywhere; }
#tcl-notifications-panel a { color:#294f2e; text-decoration:none; }
#tcl-notifications-panel a:hover { text-decoration:underline; }
#tcl-notifications-panel time { display:block; font-size:12px; margin-top:4px; color:#52664b; }
#tcl-notifications-panel .is-unread .tcl-notification-copy { font-weight:600; }
#tcl-notifications-panel .tcl-unread-dot { flex:0 0 8px; height:8px; border-radius:50%; background:#62863f; }
#tcl-notifications-panel .tcl-notifications-all { display:block; text-align:center; padding:12px; margin-top:10px; border-radius:8px; background:#dbe7cb; font-weight:600; }
#tcl-notifications-panel .tcl-notifications-empty { padding:20px 8px; font-size:14px; }
@media(max-width:560px) { #tcl-notifications-panel { right:8px !important; } }

#tcl-notifications-panel .tcl-notification-symbol img { width:44px; height:44px; object-fit:cover; border-radius:50%; }

#tcl-notifications-toggle { margin-right: 6px; }

.menuPimg { margin-top: -2px; }

/* Post options use the same panel styling as menu notifications. */
.activity-list .bb-activity-more-options-wrap .bb-activity-more-options {
  width: 260px;
  max-width: calc(100vw - 32px);
  padding: 8px;
  background: #f4f7ed !important;
  border: 1px solid #aebd86;
  border-radius: 12px;
  box-shadow: 0 8px 30px #10221440;
  color: #294f2e;
  overflow: hidden;
  font-family: 'DM Sans', sans-serif;
}
.activity-list .bb-activity-more-options .bb_more_dropdown__title {
  background: transparent;
  border-bottom: 1px solid #dbe7cb;
  padding: 10px 12px 14px;
  margin-bottom: 6px;
  color: #294f2e;
}
.activity-list .bb-activity-more-options .bb_more_dropdown__title__text {
  font-size: 18px;
  font-weight: 700;
  color: #294f2e;
}
.activity-list .bb-activity-more-options .bb_more_dropdown__close_button,
.activity-list .bb-activity-more-options .bb_more_dropdown__close_button i { color: #294f2e; }
#buddypress .activity-list .bb-activity-more-options-wrap .bb-activity-more-options .generic-button a,
#activity-modal .activity-list .bb-activity-more-options-wrap .bb-activity-more-options .generic-button a {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 12px;
  border-radius: 8px;
  background: transparent;
  color: #294f2e !important;
  font-size: 14px;
  line-height: 1.4;
  text-decoration: none;
}
#buddypress .activity-list .bb-activity-more-options-wrap .bb-activity-more-options .generic-button a:is(:hover, :focus-visible),
#activity-modal .activity-list .bb-activity-more-options-wrap .bb-activity-more-options .generic-button a:is(:hover, :focus-visible) {
  background: #e3ecd7;
  color: #294f2e !important;
  text-decoration: none;
}
#buddypress .activity-list .bb-activity-more-options-wrap .bb-activity-more-options .generic-button a::before,
#activity-modal .activity-list .bb-activity-more-options-wrap .bb-activity-more-options .generic-button a::before { color: #52664b; }

/* Anchor post options to their ellipsis rather than centering a mobile modal. */
#buddypress .activity-list .bb-activity-more-options-wrap .bb-activity-more-options,
#activity-modal .activity-list .bb-activity-more-options-wrap .bb-activity-more-options {
  position: absolute !important;
  top: calc(100% + 6px) !important;
  right: 0 !important;
  left: auto !important;
  bottom: auto !important;
  transform: none !important;
  max-width: min(260px, calc(100vw - 48px));
  max-height: 60vh;
  overflow-y: auto;
  z-index: 992;
}

.item-header-wrap { background: white; margin-bottom: 0 !important; }

/* Profile-owner banner above the ladder and timeline. */
#buddypress .tcl-player-banner { position:relative; isolation:isolate; overflow:hidden; min-height:280px; margin:0 0 24px; padding:95px 24px 38px; background-color:#618365; background-position:center; background-size:cover; border-radius:16px; color:white; }
.tcl-player-banner::before { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,#173e2720,#173e2760); }
.tcl-player-banner::after { content:''; position:absolute; left:-5%; bottom:-44px; width:110%; height:70px; border-radius:50% 50% 0 0; background:#355a3d; border-top:12px solid #8fac6f99; z-index:-1; }
.tcl-player-banner-strip { display:flex; align-items:center; gap:24px; background:#294f2ed9; padding:22px; border-radius:12px; }
.tcl-player-banner-avatar { flex:0 0 130px; }
#buddypress .tcl-player-banner-avatar img { display:block; width:130px; height:130px; max-width:none; border:5px solid #ebc64b; border-radius:50%; object-fit:cover; }
.tcl-player-banner-identity { flex:1; min-width:0; }
.tcl-player-banner-rating { display:inline-block; padding:6px 14px; background:#659779db; border-radius:8px; color:white; font-size:18px; font-weight:700; letter-spacing:1px; }
#buddypress .tcl-player-banner h2 { margin:8px 0; color:white; font-size:clamp(26px,3.4vw,48px); line-height:1.1; overflow-wrap:anywhere; font-weight:700; }
#buddypress .tcl-player-banner p { margin:0; color:white; font-size:clamp(16px,2vw,26px); }
.tcl-player-banner-rank,.tcl-player-banner-team { border-left:2px solid #c8d29c88; padding-left:24px; min-width:0; }
.tcl-player-banner-team { flex:0 1 24%; }
.tcl-player-banner-label { display:block; text-transform:uppercase; letter-spacing:2px; font-size:16px; margin-bottom:8px; }
.tcl-player-banner-rank strong { color:#ebc64b; font-size:40px; white-space:nowrap; }
.tcl-player-banner-team strong { display:block; font-size:clamp(22px,2.5vw,34px); line-height:1.15; overflow-wrap:anywhere; }
.tcl-player-banner-ball { position:absolute; top:12px; right:26px; font-size:58px; color:#e3edca99; transform:rotate(-25deg); }
@media(max-width:800px) {
 #buddypress .tcl-player-banner { padding:55px 12px 30px; }
 .tcl-player-banner-strip { flex-wrap:wrap; gap:16px; padding:16px; }
 .tcl-player-banner-avatar { flex-basis:80px; }
 #buddypress .tcl-player-banner-avatar img { width:80px; height:80px; border-width:3px; }
 .tcl-player-banner-identity { flex-basis:calc(100% - 100px); }
 .tcl-player-banner-rank,.tcl-player-banner-team { flex:1; padding-left:12px; }
 .tcl-player-banner-rating { font-size:14px; }
 .tcl-player-banner-rank strong { font-size:28px; }
}
@media(max-width:360px) {
 .tcl-player-banner-strip { gap:10px; padding:12px; }
 #buddypress .tcl-player-banner h2 { font-size:24px; }
 .tcl-player-banner-label { font-size:12px; }
}

/* Compact banner belongs to the 400px ladder column at every screen size. */
#buddypress .tcl-wall-profile .tcl-player-banner { width:100%; box-sizing:border-box; min-height:0; margin:0; padding:10px 10px 10px; border-radius:10px; border:1px solid #7c9167; }
.tcl-wall-profile .tcl-player-banner-strip { flex-wrap:wrap; gap:12px; padding:12px; }
.tcl-wall-profile .tcl-player-banner-avatar { flex:0 0 64px; }
#buddypress .tcl-wall-profile .tcl-player-banner-avatar img { width:64px; height:64px; border-width:3px; }
.tcl-wall-profile .tcl-player-banner-identity { flex:1 1 calc(100% - 88px); }
#buddypress .tcl-wall-profile .tcl-player-banner h2 { font-size:24px; margin:6px 0; }
#buddypress .tcl-wall-profile .tcl-player-banner p { font-size:14px; }
.tcl-wall-profile .tcl-player-banner-rating { font-size:12px; padding:4px 8px; }
.tcl-wall-profile .tcl-player-banner-rank,.tcl-wall-profile .tcl-player-banner-team { flex:1; padding-left:10px; }
.tcl-wall-profile .tcl-player-banner-label { font-size:11px; margin-bottom:4px; }
.tcl-wall-profile .tcl-player-banner-rank strong { font-size:26px; }
.tcl-wall-profile .tcl-player-banner-team strong { font-size:20px; }
.tcl-wall-profile .tcl-player-banner-ball { font-size:28px; top:2px; right:14px; }

.tcl-wall-profile .tcl-player-banner-team { display:flex; align-items:center; gap:10px; padding-left:18px; margin-left:8px; }
.tcl-player-banner-team > div { flex:1; min-width:0; }
#buddypress .tcl-player-banner-visit { display:flex; align-items:center; justify-content:center; flex:0 0 30px; width:30px; height:40px; border:1px solid #d7e3b7; border-radius:8px; background:#ffffff14; color:white; text-decoration:none; font-size:32px; line-height:1; }
#buddypress .tcl-player-banner-visit:hover, #buddypress .tcl-player-banner-visit:focus-visible { background:#ffffff30; color:#ffe39a; }

#buddypress .tcl-player-banner-visit { position: absolute; top: 10px; right: 10px; z-index: 2; }
.tcl-wall-profile .tcl-player-banner-ball { display: none; }

.tcl-wall-profile .tcl-player-banner-strip { position: relative; }

@media (width < 451px) {
  #buddypress .tcl-player-banner-visit { width: 15vw; height: 15vw; }
}

@media (width < 451px) {
  .tcl-player-banner-visit > span { font-size: 13vw; font-weight: 500; color: #d6e3bc; }
}

.tcl-wall-profile .tcl-player-banner-rank { flex: 0 0 auto; text-align: left; }
.tcl-wall-profile .tcl-player-banner-team { flex: 0 1 auto; margin-left: 0; padding-left: 16px; text-align: left; }

.tcl-player-banner-rank > strong { min-width: 76px; display: block; }

.tcl-player-banner-gender { display: inline-block; margin-left: 4px; color: #d6e3bc; font-weight: 500; }

#buddypress .tcl-player-banner-tennis-ball { filter: drop-shadow(1px 1px 3px black); display: inline-block; width: 1.1em; height: 1.1em; object-fit: contain; vertical-align: middle; margin-right: 4px; }

#buddypress img.tcl-player-banner-gender { width: 1.6em; height: 1.6em; object-fit: contain; vertical-align: middle; }

.tcl-player-banner-visit > span { margin-top: -6%; margin-left: 1px; }

#buddypress .tcl-my-ladder-separator, #buddypress .tcl-featured-photos-panel > h2 { display: block; box-sizing: border-box; width: 100%; margin: 0 0 12px; padding: 12px 14px; background: #cbd8ad; color: #173e27; font-size: 24px; line-height: 1.15; font-weight: 800; box-shadow: inset 0 3px 12px #294f2e45; }


.tcl-my-ladder-panel { position:relative; isolation:isolate; overflow:hidden; padding:0 10px 10px; border:0; border-radius:12px; background:linear-gradient(110deg,#71976e,#cbd8ad); box-shadow:inset 0 2px 10px #294f2e30; }
.tcl-my-ladder-panel::before, .tcl-featured-photos-panel::before { content:''; position:absolute; z-index:-1; top:0; left:0; width:100%; aspect-ratio:3 / 1; transform:translateY(-20%); background:url('img/my-ladder-panel.png') center / 100% 100% no-repeat; pointer-events:none; }
#buddypress .tcl-my-ladder-panel .tcl-my-ladder-separator, #buddypress .tcl-featured-photos-panel > h2 { margin:0; padding:14px 4px; background:transparent; box-shadow:none; }
#buddypress .tcl-my-ladder-panel .tcl-player-banner { margin:0; }

.tcl-featured-photos-panel { position:relative; isolation:isolate; margin-top:16px; padding:0 10px 10px; border-radius:12px; overflow:hidden; background:linear-gradient(110deg,#71976e,#cbd8ad); box-shadow:inset 0 2px 10px #294f2e30; }

.tcl-featured-photos-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; border-radius:8px; overflow:hidden; }
.tcl-featured-photo { display:block; min-width:0; aspect-ratio:1; overflow:hidden; background:#294f2e; }
#buddypress .tcl-featured-photo img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .2s ease; }
.tcl-featured-photo:hover img { transform:scale(1.04); }
.tcl-featured-photo:focus-visible { outline:3px solid #ebc64b; outline-offset:-3px; }
.tcl-featured-photos-grid:is([data-count="7"],[data-count="8"]) { grid-template-columns:repeat(4,minmax(0,1fr)); }
.tcl-featured-photos-grid:is([data-count="2"],[data-count="4"]) { grid-template-columns:repeat(2,minmax(0,1fr)); }
.tcl-featured-photos-grid[data-count="1"] { grid-template-columns:1fr; }
.tcl-featured-photos-grid[data-count="1"] .tcl-featured-photo { aspect-ratio:16/9; }
.tcl-featured-photos-grid:is([data-count="5"],[data-count="7"]) .tcl-featured-photo:last-child { grid-column:span 2; aspect-ratio:2; }
#buddypress .tcl-featured-photos-empty { margin:0; padding:16px 4px; font-size:14px; color:#294f2e; }
@media(prefers-reduced-motion:reduce) { #buddypress .tcl-featured-photo img { transition:none; } }

#buddypress .tcl-my-ladder-panel .tcl-my-ladder-separator,
#buddypress .tcl-featured-photos-panel > h2 { height: 68px; display: flex; align-items: center; box-sizing: border-box; }

#buddypress .tcl-edit-highlights { width:100%; margin-top:12px; padding:10px; border:1px solid #7c9167; border-radius:8px; background:#d6e3bc; color:#173e27; font:inherit; font-weight:700; cursor:pointer; }
#tcl-highlights-editor { width:520px; max-width:calc(100vw - 24px); max-height:85vh; box-sizing:border-box; overflow:auto; padding:20px; border:1px solid #7c9167; border-radius:12px; background:#f4f7ed; color:#294f2e; }
#tcl-highlights-editor::backdrop { background:#102214aa; }
#tcl-highlights-editor header,#tcl-highlights-editor footer { display:flex; align-items:center; justify-content:space-between; gap:12px; }
#tcl-highlights-editor h2 { font-size:24px; margin:0; color:#173e27; }
#tcl-highlights-editor button { padding:10px 14px; border:1px solid #7c9167; border-radius:8px; background:#d6e3bc; color:#173e27; cursor:pointer; }
#tcl-highlights-editor button:disabled { opacity:.5; cursor:wait; }
#tcl-highlights-editor footer { margin-top:16px; }
.tcl-highlight-picker { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-bottom:12px; }
.tcl-highlight-picker label { position:relative; aspect-ratio:1; cursor:pointer; }
.tcl-highlight-picker img { width:100%; height:100%; object-fit:cover; border-radius:8px; }
.tcl-highlight-picker input { position:absolute; top:8px; left:8px; z-index:1; }
.tcl-highlight-picker label:has(:checked) img { outline:3px solid #62863f; outline-offset:-3px; }

.tcl-highlights-empty { margin-top:25px; display:flex; min-height:160px; justify-content:center; flex-direction:column; align-items:center; text-align:center; gap:8px; padding:24px 18px; border:1px dashed #52734d80; border-radius:10px; background:#e5edcf66; color:#294f2e; }
.tcl-highlights-empty-icon { display:grid; place-items:center; width:52px; height:52px; border-radius:50%; background:#cbd8ad; font-size:38px; line-height:1; }
.tcl-highlights-empty strong { font-size:17px; }
#buddypress .tcl-highlights-empty p { margin:0; font-size:14px; line-height:1.5; color:#355a3d; }

.tcl-highlight-video { position:relative; }
.tcl-highlight-video > span, .tcl-picker-play { position:absolute; bottom:8px; right:8px; border-radius:50%; background:#173e27dd; color:white; padding:8px; line-height:1; pointer-events:none; }

@media (min-width: 451px) {
  #buddypress .tcl-player-banner-visit { width: 56px; height: 56px; }
  .tcl-player-banner-visit > span { font-size: 50px; margin-top: -2px; font-weight: 500; color: #d6e3bc; }
}

#buddypress .tcl-wall-profile .tcl-player-banner { background: #618365; }

.tcl-wall-profile .tcl-player-banner-strip { isolation: isolate; background: #294f2e; }
#buddypress .tcl-player-banner-strip > .tcl-player-strip-background { position: absolute; inset: 0; z-index: -1; width: 100%; height: 100%; max-width: none; object-fit: cover; border-radius: inherit; opacity: .4; pointer-events: none; }

#buddypress .tcl-player-banner-visit { background: #c7d6b08c; }

.tcl-player-banner-visit > span { color: #ffffff; }

#buddypress .tcl-wall-timeline :is(.activity-form-placeholder, .activity-update-form:not(.modal-popup)) #user-status-huddle { display:none; }
#buddypress .tcl-wall-timeline :is(#whats-new-content-placeholder, .activity-update-form:not(.modal-popup) #whats-new-content) { position:relative; padding-left:54px; }
#buddypress .tcl-wall-timeline :is(#whats-new-content-placeholder, .activity-update-form:not(.modal-popup) #whats-new-content)::before { content:''; position:absolute; left:5px; top:50%; transform:translateY(-50%); width:34px; height:34px; border-radius:50%; background-image:var(--tcl-composer-avatar); background-size:cover; background-position:center; pointer-events:none; }

/* Edge-to-edge composer toolbar; only the prompt field has outer spacing. */
#buddypress .tcl-wall-timeline :is(.activity-form-placeholder, .activity-update-form:not(.modal-popup)),
#buddypress .tcl-wall-timeline :is(.activity-form-placeholder, .activity-update-form:not(.modal-popup)) :is(#whats-new-form, .whats-new-form-header, #whats-new-toolbar) {
  margin: 0 !important;
  padding: 0 !important;
}
#buddypress .tcl-wall-timeline :is(#whats-new-content-placeholder, .activity-update-form:not(.modal-popup) #whats-new-content) { margin: 14px 16px !important; }
#buddypress .tcl-wall-timeline :is(.activity-form-placeholder, .activity-update-form:not(.modal-popup)) #whats-new-toolbar { border-radius: 0 0 10px 10px; gap: 0; }
#buddypress .tcl-wall-timeline :is(.activity-form-placeholder, .activity-update-form:not(.modal-popup)) .post-elements-buttons-item { margin: 0 !important; padding: 0 !important; }

#buddypress .tcl-wall-timeline :is(.activity-form-placeholder, .activity-update-form:not(.modal-popup)) .toolbar-button { display: flex; align-items: center; justify-content: center; box-sizing: border-box; width: 100%; min-height: 56px; padding: 16px 8px !important; }

/* Two-tone filter tabs with forward-slanted label edges. */
#buddypress .tcl-wall-timeline .activity-head-bar .bb-subnav-filters-container-main { display:inline-flex; align-items:stretch; gap:0; margin:0 8px 0 0; border-radius:7px 7px 0 0; background:#cbd8ad; min-width:0; }
#buddypress .tcl-wall-timeline .activity-head-bar .bb-subnav-filters-label { position:relative; display:flex; align-items:center; margin:0 10px 0 0; padding:10px 8px 10px 12px; background:#52734d; color:white; border-radius:7px 0 0 0; font-weight:600; }
#buddypress .tcl-wall-timeline .activity-head-bar .bb-subnav-filters-label::after { content:''; position:absolute; top:0; bottom:0; right:-10px; width:11px; background:#52734d; clip-path:polygon(0 0,100% 0,0 100%); }
#buddypress .tcl-wall-timeline .activity-head-bar .subnav-filters-opener { min-height:40px; padding:8px 10px 8px 4px; background:transparent; border:0; color:#173e27; font-size:13px; }
#buddypress .tcl-wall-timeline .activity-head-bar .subnav-filters-opener:is(:hover,:focus-visible) { background:#dfE8cd; border-radius:0 7px 0 0; }
#buddypress .tcl-wall-timeline .activity-head-bar .subnav-filters-opener .selected { color:inherit; }
@media(max-width:400px) {
 #buddypress .tcl-wall-timeline .activity-head-bar .bb-subnav-filters-container-main { margin-right:4px; }
 #buddypress .tcl-wall-timeline .activity-head-bar .bb-subnav-filters-label { padding-left:7px; padding-right:4px; font-size:12px; }
 #buddypress .tcl-wall-timeline .activity-head-bar .subnav-filters-opener { padding-right:5px; font-size:12px; }
}

#buddypress .tcl-wall-timeline .activity-head-bar .bb-subnav-filters-container-main { border-radius:7px 7px 7px 0; }
#buddypress .tcl-wall-timeline .activity-head-bar .bb-subnav-filters-container-main:has(.subnav-filters-opener:is(:hover,:focus-visible)) { background:#dfe8cd; }
#buddypress .tcl-wall-timeline .activity-head-bar .subnav-filters-opener,
#buddypress .tcl-wall-timeline .activity-head-bar .subnav-filters-opener:is(:hover,:focus-visible) { background:transparent; border-radius:0 7px 7px 0; }

#buddypress .tcl-wall-timeline .activity-head-bar .subnav-filters-opener { display:flex; align-items:center; gap:6px; }
#buddypress .tcl-wall-timeline .activity-head-bar .subnav-filters-opener > i { display:inline-flex; align-items:center; justify-content:center; align-self:center; position:static; margin:0; padding:0; line-height:1; transform:none; }

#buddypress .tcl-wall-timeline .activity-head-bar .bb-subnav-filters-container-main { border-radius:7px; }
#buddypress .tcl-wall-timeline .activity-head-bar .bb-subnav-filters-label { border-radius:7px 0 0 7px; }

@media (max-width: 360px) {
  #buddypress .tcl-wall-timeline .activity-head-bar .bb-subnav-filters-container-main { margin-bottom: 8px; }
}

.tcl-mobile-timeline-heading { display:none; }
@media (max-width:560px) {
  #buddypress .tcl-mobile-timeline-heading { display:flex; align-items:center; justify-content:center; text-align:center; box-sizing:border-box; height:68px; margin:0 0 12px; padding:14px 4px; color:#173e27; font-size:24px; line-height:1.15; font-weight:800; border-radius:12px; background:linear-gradient(110deg,#71976e,#cbd8ad); box-shadow:inset 0 2px 10px #294f2e30; }
}

#tcl-account-dropdown[hidden] { display:none !important; }
#tcl-account-dropdown:not([hidden]) { display:block; visibility:visible; opacity:1; position:fixed; left:auto; bottom:auto; transform:none; width:220px; max-width:calc(100vw - 16px); padding:8px; box-sizing:border-box; border:1px solid #aebd86; border-radius:12px; background:#f4f7ed; box-shadow:0 8px 30px #10221440; z-index:100100; }
#tcl-account-dropdown > a { display:block; padding:12px 14px; border-radius:8px; color:#294f2e; font-size:15px; text-decoration:none; }
#tcl-account-dropdown > a:is(:hover,:focus-visible) { background:#dbe7cb; }

.tcl-account-menu { position:relative; }
.tcl-account-menu > summary.menuPimg { display:flex; cursor:pointer; list-style:none; }
.tcl-account-menu > summary::-webkit-details-marker { display:none; }
.tcl-account-menu #tcl-account-dropdown { display:none; position:absolute; top:calc(100% + 8px); right:0; left:auto; z-index:100100; }
.tcl-account-menu[open] #tcl-account-dropdown { display:block; }
.tcl-account-menu #tcl-account-dropdown::before { content:''; position:absolute; bottom:100%; left:0; right:0; height:10px; }
@media(hover:hover) {
 .tcl-account-menu:hover #tcl-account-dropdown { display:block; }
 .tcl-account-menu:not([open]):hover > #tcl-account-dropdown { content-visibility:visible; }
}

#tcl-account-dropdown .tcl-account-identity { display:flex; align-items:center; gap:10px; padding:10px 8px 14px; margin-bottom:6px; border-bottom:1px solid #cbd8ad; text-align:left; color:#294f2e; }
#tcl-account-dropdown .tcl-account-identity img { flex:0 0 32px; width:32px; height:32px; margin:0 !important; border-radius:50%; object-fit:cover; }
#tcl-account-dropdown .tcl-account-identity strong { font-size:16px; line-height:1.3; overflow-wrap:anywhere; min-width:0; }

#tcl-account-dropdown .tcl-account-logout-icon { display:flex; align-items:center; justify-content:center; flex:0 0 32px; height:32px; margin-left:auto; border-radius:6px; color:#294f2e; }
#tcl-account-dropdown .tcl-account-logout-icon:hover { background:#dbe7cb; }
#tcl-account-dropdown > .tcl-account-logout { margin-top:6px; border-top:1px solid #cbd8ad; border-radius:0 0 8px 8px; }

#tcl-account-dropdown .tcl-account-identity { background: #d6e3bc; border-radius: 8px; padding: 10px 8px; }

#tcl-account-dropdown .tcl-account-identity { margin: -8px -8px 6px; padding: 12px 10px; border-radius: 11px 11px 0 0; }

#tcl-account-dropdown > .tcl-account-logout { margin:6px -8px -8px; padding:12px 22px; background:#b8cba3; border-radius:0 0 11px 11px; }
#tcl-account-dropdown > .tcl-account-logout:is(:hover,:focus-visible) { background:#a8bf90; }

#tcl-account-dropdown > a + a { border-top: 1px solid #cbd8ad; }

.tcl-account-menu > summary.menuPimg::before,
.tcl-account-menu > summary.menuPimg::after { content:none !important; display:none !important; }
.tcl-account-menu > summary.menuPimg::marker { content:''; }
.tcl-account-menu > summary.menuPimg::-webkit-details-marker { display:none !important; }

#tcl-logout-confirm { width:340px; max-width:calc(100vw - 32px); box-sizing:border-box; padding:24px; border:1px solid #aebd86; border-radius:12px; background:#f4f7ed; color:#294f2e; box-shadow:0 8px 30px #10221440; }
#tcl-logout-confirm::backdrop { background:#10221499; }
#tcl-logout-confirm h2 { margin:0 0 10px; font-size:24px; color:#294f2e; }
#tcl-logout-confirm p { margin:0 0 20px; }
.tcl-logout-confirm-actions { display:flex; justify-content:flex-end; gap:10px; }
#tcl-logout-confirm .tcl-logout-confirm-actions > * { padding:10px 20px; border:1px solid #7c9167; border-radius:8px; font:inherit; text-decoration:none; cursor:pointer; background:#d6e3bc; color:#294f2e; }
#tcl-logout-confirm .tcl-logout-confirm-actions > a { background:#355a3d; color:white; }

body #tcl-logout-confirm { margin:auto; padding:26px; width:360px; border:1px solid #cbd8ad; border-radius:20px; background:#faf9f3; color:#203c2f; font-family:'DM Sans',sans-serif; box-shadow:0 16px 50px #10221466; }
body #tcl-logout-confirm h2 { color:#203c2f; font-size:24px; font-weight:700; }
body #tcl-logout-confirm p { color:#52674c; font-size:15px; line-height:1.5; }
body #tcl-logout-confirm .tcl-logout-confirm-actions { gap:12px; margin-top:24px; }
body #tcl-logout-confirm .tcl-logout-confirm-actions > * { display:flex; align-items:center; justify-content:center; flex:1; min-height:44px; border:1px solid #cbd8ad; font-weight:600; }
body #tcl-logout-confirm .tcl-logout-confirm-actions > a { background:#d2f52a; color:#203c2f; border-color:#c4e626; border-radius:24px; }
body #tcl-logout-confirm .tcl-logout-confirm-actions > button { background:#edf1e2; color:#203c2f; border-color:#dce3d1; border-radius:24px; }
body #tcl-logout-confirm .tcl-logout-confirm-actions > *:hover { filter:brightness(1.08); }

.tcl-password-field { position:relative; }
.ov-login .tcl-password-field input { width:100%; box-sizing:border-box; padding-right:44px; }
.ov-login .tcl-password-toggle { position:absolute; right:2px; top:0; bottom:0; width:40px; padding:0; display:flex; align-items:center; justify-content:center; border:0; border-radius:6px; background:transparent; color:#355a3d; cursor:pointer; }
.tcl-password-toggle .tcl-eye-slash { display:none; }
.tcl-password-toggle[aria-pressed="true"] .tcl-eye-slash { display:block; }
.ov-login .tcl-password-toggle:focus-visible { outline:2px solid #62863f; outline-offset:-3px; }

.ov-login .tcl-login-stage[hidden], .ov-login .tcl-advertiser-pin[hidden] { display:none!important; }
.ov-login { width:100%; max-width:440px; margin:auto; font-family:'DM Sans',sans-serif; }
.tcl-login-stage h2 { text-align:center; color:#294f2e; font-size:28px; margin:8px 0 12px; }
.tcl-login-stage > p { text-align:center; color:#52664b; }
.ov-login [data-login-type] { position:relative; display:block; width:100%; text-align:left; margin:12px 0; padding:20px 38px 20px 16px; border:1px solid #cbd8ad; background:#f4f7ed; color:#294f2e; border-radius:12px; cursor:pointer; }
.ov-login [data-login-type] strong,.ov-login [data-login-type] span { display:block; }
.ov-login [data-login-type] span { font-size:13px; margin-top:6px; }
.ov-login [data-login-type] b { position:absolute; right:16px; top:24px; font-size:24px; }
.ov-login .tcl-login-stage input:not([type=checkbox]):not([type=hidden]) { box-sizing:border-box; width:100%; }
.ov-login .tcl-login-back { display:block; margin:16px auto; background:none; border:0; color:#355a3d; cursor:pointer; }
.ov-login .ov-submit { margin-top:20px; background:#355a3d; color:white; border:1px solid #7c9167; border-radius:8px; }

.ov-login .tcl-social-button { display:flex; align-items:center; justify-content:center; gap:12px; width:100%; box-sizing:border-box; padding:12px; margin:10px 0; border:1px solid #cbd8ad; border-radius:9px; background:#f4f7ed; color:#294f2e; font:inherit; font-weight:600; text-decoration:none; }
.tcl-social-icon { font-size:22px; font-weight:700; }.tcl-social-icon.google { color:#4285f4; }.tcl-social-icon.facebook { color:#1877f2; }
.tcl-login-or { display:flex; align-items:center; gap:12px; margin:18px 0; color:#52664b; }.tcl-login-or::before,.tcl-login-or::after { content:''; flex:1; height:1px; background:#cbd8ad; }
.tcl-social-login[hidden],.tcl-login-or[hidden] { display:none!important; }
.ov-login .tcl-social-button:disabled { cursor:not-allowed; opacity:.65; }

.ov-login label[for="tcl-login-email"] { display:block; margin-bottom:8px; color:#294f2e; font-size:14px; font-weight:600; }
.ov-login #tcl-login-email { display:block; width:100%; box-sizing:border-box; min-height:46px; padding:12px 14px; border:1px solid #aebd86; border-radius:8px; background:#f4f7ed; color:#173e27; font:inherit; font-size:16px; line-height:1.4; box-shadow:inset 0 1px 2px #294f2e0d; }
.ov-login #tcl-login-email::placeholder { color:#718367; opacity:1; }
.ov-login #tcl-login-email:focus { outline:2px solid #62863f; outline-offset:1px; border-color:#62863f; }

.ov-login .tcl-login-stage[data-stage="choice"] { margin-bottom: 24px; }

/* Homepage: editorial tennis hero. */
.tcl-home-hero {
  position: relative;
  isolation: isolate;
  background: linear-gradient(90deg, rgba(24, 51, 39, .96), rgba(24, 51, 39, .65)), url('img/hero.png') center / cover;
  color: #f5f4e9;
  padding: clamp(40px, 6vw, 88px) clamp(22px, 3vw, 54px);
  min-height: 650px;
  display: flex;
  align-items: center;
  font-family: 'DM Sans', sans-serif;
}
.tcl-home-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  background-image: linear-gradient(#ffffff04 1px, transparent 1px), linear-gradient(90deg, #ffffff04 1px, transparent 1px);
  background-size: 25% 240px;
}
.tcl-home-hero-content { width: 100%; max-width: 1400px; margin: auto; }
.tcl-home-eyebrow { display: inline-flex; align-items: center; gap: 12px; border-radius: 40px; padding: 9px 18px; background: #ffffff15; font-size: 16px; font-weight: 700; }
.tcl-home-eyebrow > span { width: 10px; height: 10px; border-radius: 50%; background: #d0f333; }
.tcl-home-hero h1 { color: #f5f4e9; font-family: inherit; font-size: clamp(42px, 8vw, 108px); line-height: 1.02; letter-spacing: -.055em; font-weight: 800; margin: 44px 0 48px; }
.tcl-home-hero h1 > span { color: #d0f333; }
.tcl-home-intro { max-width: 750px; font-size: clamp(18px, 2vw, 26px); line-height: 1.45; color: #e0e5da; margin: 0 0 48px; }
.tcl-home-actions { display: flex; flex-wrap: wrap; gap: 16px; }
.tcl-home-actions a { display: inline-flex; align-items: center; justify-content: center; gap: 18px; min-height: 64px; padding: 16px 30px; border-radius: 99px; text-decoration: none; font-size: 20px; font-weight: 700; transition: background .2s, transform .2s; }
.tcl-home-actions .tcl-home-join { background: #d0f333; color: #203b2b; border: 1px solid #d0f333; }
.tcl-home-actions .tcl-home-how { color: #f5f4e9; background: transparent; border: 1px solid #ffffff50; }
.tcl-home-actions a:hover { transform: translateY(-2px); background: #e1ff62; color: #203b2b; }
.tcl-home-actions a:focus-visible { outline: 3px solid white; outline-offset: 5px; }
.tcl-home-sponsors { background: #203b2b; padding: 28px clamp(22px, 3vw, 54px); }
.tcl-home-sponsors .split-showcase { max-width: 1400px; width: 100%; margin: auto; }
#tcl-how-it-works { scroll-margin-top: 100px; }
@media (max-width: 600px) {
  .tcl-home-hero { min-height: 580px; background-position: 65% center; }
  .tcl-home-hero h1 { margin: 32px 0; }
  .tcl-home-intro { margin-bottom: 32px; }
  .tcl-home-actions { gap: 12px; }
  .tcl-home-actions a { min-height: 52px; padding: 14px 22px; font-size: 16px; }
  .tcl-home-eyebrow { font-size: 13px; }
}

/* Homepage sections share the hero palette without textured heading bars. */
.tcl-home-sections { background: #f5f5ec; color: #203b2b; font-family: 'DM Sans', sans-serif; padding: 0 clamp(22px, 5vw, 80px) 64px; }
.tcl-home-sections .tcl-home-section-heading { max-width: 1240px; margin: 0 auto; padding: 88px 0 36px; background: none; border: 0; box-shadow: none; }
.tcl-home-kicker { display: block; color: #52734d; font-size: 12px; font-weight: 800; letter-spacing: .16em; margin-bottom: 16px; }
.tcl-home-section-heading h2 { color: #203b2b; font-family: inherit; font-size: clamp(30px, 4vw, 54px); font-weight: 800; line-height: 1.1; letter-spacing: -.04em; margin: 0 0 18px; }
.tcl-home-section-heading p { max-width: 620px; color: #59685c; font-size: 18px; line-height: 1.6; margin: 0; }
.tcl-home-sections .row1 { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 40px; max-width: 1240px; margin: auto; padding: 36px; background: #e8eddd; border-radius: 24px; }
.tcl-home-ladder-intro h3 { font-family: inherit; font-size: clamp(26px, 3vw, 40px); line-height: 1.15; letter-spacing: -.03em; margin: 0 0 20px; }
.tcl-home-ladder-intro p { color: #59685c; line-height: 1.7; max-width: 430px; }
.tcl-home-text-link { display: inline-flex; gap: 24px; color: #203b2b; font-weight: 800; text-decoration: none; border-bottom: 2px solid #91a845; padding: 10px 0; }
.tcl-home-sections .mobile-link { width: auto; margin: 0; }
.tcl-home-sections .mobile-link a { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; }
.tcl-home-sections .mobile-link img.logo { width: 150px; max-width: 100%; padding: 10px; margin: 0; opacity: 1; }
.tcl-home-sections .joinCourt { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; max-width: 1240px; margin: auto; }
.tcl-home-sections .joinCourt > div { width: auto; min-width: 0; background: transparent; border-top: 1px solid #c8d1be; padding: 28px 0 0; }
.tcl-home-sections .joinCourt img { display: block; width: 100%; height: 230px; object-fit: contain; margin: 0 auto 24px !important; }
.tcl-home-sections .joinBlox { height: auto; min-height: 220px; color: #59685c; font-size: 17px; line-height: 1.65; }
.tcl-home-sections .joinBlox b { display: block; color: #203b2b; font-size: 24px; margin-bottom: 10px; }
.tcl-home-sections .roleButton { display: flex; align-items: center; justify-content: space-between; gap: 14px; background: #d0f333; color: #203b2b; font-weight: 700; font-size: 15px; width: fit-content; max-width: 100%; padding: 12px 22px; margin: 24px 0 0; border-radius: 99px; text-decoration: none; }
.tcl-home-sections .about { display: block; max-width: 1240px; margin: auto; }
.tcl-home-sections .mission { display: block; background: #203b2b; color: #e0e5da; padding: clamp(24px,4vw,56px); border-radius: 24px; }
.tcl-home-sections .mission .missionText { display: grid; grid-template-columns: 1fr 1fr; gap: 28px 48px; padding: 0; font-size: 17px; line-height: 1.75; }
.tcl-home-sections .missionText::before, .tcl-home-sections .getoffsideline::after { content: none; }
.tcl-home-sections .missionText > div { width: auto; padding: 0; }
.tcl-home-sections .getoffsideline { color: #d0f333; text-align: left !important; font-weight: 700; margin-top: 20px; }
.tcl-home-sections .signature { font-size: 14px; margin: 0; color: #bccbbd; }
.tcl-home-sections .video-bg { position: relative; overflow: hidden; border-radius: 24px; max-width: 1240px; margin: 64px auto 0; min-height: 350px; height: auto; background: #203b2b; }
.tcl-home-sections .video-bg video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .22; }
.tcl-home-sections .vcontent { position: relative; inset: auto; transform: none; width: 100%; display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 32px; padding: clamp(24px,4vw,56px); color: #f5f5ec; }
.tcl-home-sections .vcontent > div { width: auto; }
.tcl-home-sections .vcontent .tcl-home-kicker { color: #d0f333; }
.tcl-home-sections .findCoach { color: #f5f5ec; font-size: clamp(30px,4vw,48px); line-height: 1.1; letter-spacing: -.03em; margin: 0 0 20px; }
.tcl-home-sections .findCoachInput { width: 100%; min-height: 52px; border: 1px solid #c8d1be; border-radius: 10px; background: #f5f5ec; color: #203b2b; padding: 14px 18px; font: inherit; }
.tcl-home-sections a:focus-visible, .tcl-home-sections input:focus-visible { outline: 3px solid #91a845; outline-offset: 4px; }
.tcl-home-sponsors .showcase-title { background: none; box-shadow: none; color: #d6dfcf; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; }
@media (max-width: 700px) {
 .tcl-home-sections .tcl-home-section-heading { padding-top: 56px; }
 .tcl-home-sections .row1, .tcl-home-sections .joinCourt, .tcl-home-sections .mission .missionText, .tcl-home-sections .vcontent { grid-template-columns: 1fr; }
 .tcl-home-sections .row1 { padding: 24px; gap: 24px; }
 .tcl-home-sections .joinCourt { gap: 36px; }
 .tcl-home-sections .joinBlox { min-height: 0; }
 .tcl-home-sections .joinCourt img { height: 210px; }
 .tcl-home-sections .video-bg { margin-top: 40px; }
}

/* Full-width color zones distinguish each homepage section. */
.tcl-home-sections { padding: 0; }
.tcl-home-zone { padding: 72px clamp(22px, 5vw, 80px); }
.tcl-home-sections .tcl-home-zone .tcl-home-section-heading { padding: 0 0 36px; }
.tcl-home-zone-local { background: #f5f5ec; }
.tcl-home-zone-community { background: #dce6c7; }
.tcl-home-zone-mission { background: #203b2b; color: #e0e5da; }
.tcl-home-zone-coaching { background: #b9cc9b; }
.tcl-home-zone-community .joinCourt > div { border-color: #a9bb95; }
.tcl-home-zone-mission .tcl-home-section-heading h2 { color: #f5f5ec; }
.tcl-home-zone-mission .tcl-home-section-heading p { color: #c1cebd; }
.tcl-home-zone-mission .tcl-home-kicker { color: #d0f333; }
.tcl-home-sections .tcl-home-zone-mission .mission { padding: 32px 0 0; border-top: 1px solid #ffffff26; border-radius: 0; background: none; }
.tcl-home-sections .tcl-home-zone-coaching .video-bg { margin: 0 auto; }
@media (max-width: 700px) {
  .tcl-home-zone { padding: 48px 22px; }
}

@media (max-width: 700px) {
  /* The sponsor content is hidden on mobile; remove its empty wrapper too. */
  .tcl-home-sponsors { display: none; }
}

/* Homepage section alignment and spacing. */
.tcl-home-zone-coaching { background: #dce6c7; }
.tcl-home-sections .tcl-home-zone-coaching .video-bg { display: block; max-height: none; }
.tcl-home-sections .vcontent { min-height: 350px; height: auto; z-index: 1; }
.tcl-home-sections .vcontent > div { display: block; min-width: 0; text-align: center; }
.tcl-home-sections .vcontent > div > div { width: 100%; margin-inline: auto; }
.tcl-home-sections .vcontent p { max-width: 400px; margin: 0 auto; line-height: 1.6; }
.tcl-home-sections .findCoachInput::placeholder { color: #687461; opacity: 1; }
.tcl-home-sections .mission .missionText { padding: clamp(24px, 3vw, 40px); font-family: inherit; }
.tcl-home-sections .roleButton { margin-inline: auto; }
.tcl-home-sections .row1 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.tcl-home-sections .row1 > .ladder-present { width: 100%; max-width: none; min-width: 0; height: auto; background: none; }
@media (max-width: 700px) {
  .tcl-home-sections .row1 { grid-template-columns: 1fr; }
}

/* Find a Ladder shares the public homepage's green and lime palette. */
.tcl-find-ladder { background: #f5f5ec; color: #203b2b; font-family: 'DM Sans', sans-serif; }
.tcl-find-ladder-heading { padding: clamp(40px,6vw,80px) clamp(22px,5vw,80px); background: #203b2b; }
.tcl-find-ladder-heading .tcl-home-kicker { color: #d0f333; }
.tcl-find-ladder-heading h1 { font-family: inherit; font-size: clamp(40px,6vw,76px); font-weight: 800; line-height: 1.06; letter-spacing: -.045em; color: #f5f5ec; margin: 20px 0 24px; }
.tcl-find-ladder-heading h1 span { color: #d0f333; }
.tcl-find-ladder-heading p { max-width: 640px; color: #d6dfcf; font-size: 19px; line-height: 1.6; margin: 0; }
.tcl-find-ladder .ladderPage-wrapper { display: grid; grid-template-columns: minmax(0,440px) minmax(0,1fr); align-items: start; gap: 48px; max-width: 1240px; padding: 56px 24px; margin: auto; }
.tcl-find-ladder .ladderPage-wrapper > div { margin: 0; min-width: 0; }
.tcl-find-ladder .ladderPage-wrapper .panel { width: 100%; max-width: none; padding: 30px; background: #fff; border: 1px solid #dce3d2; border-radius: 22px; box-shadow: 0 8px 24px #203b2b08; }
.tcl-find-ladder .panel h2 { margin: 0 0 8px; padding: 0; background: none; color: #203b2b; font: 800 28px/1.2 'DM Sans',sans-serif; text-align: left; }
.tcl-find-ladder .tcl-ladder-search-intro { margin: 0 0 30px; color: #657360; }
.tcl-find-ladder .panel .label { color: #52634b; font-size: 12px; margin-bottom: 14px; }
.tcl-find-ladder .panel .divider { background: #e2e8da; margin: 24px 0; }
.tcl-find-ladder .chip-scroll { margin: 0; gap: 8px; justify-content: start; }
.tcl-find-ladder .chip { min-height: 44px; background: #f2f5eb; border: 1px solid #dce3d2; color: #203b2b; padding: 10px 15px; }
.tcl-find-ladder .chip.active, .tcl-find-ladder .segmented button.active { background: #d0f333; color: #203b2b; border-color: #d0f333; box-shadow: none; }
.tcl-find-ladder .segmented { background: #edf1e4; }
.tcl-find-ladder .segmented button { color: #52634b; min-height: 44px; }
.tcl-find-ladder .gender-labels span { color: #73806b; }
.tcl-find-ladder .gender-labels span.active { color: #203b2b; }
.tcl-find-ladder .switch { background: #203b2b; border-color: #203b2b; }
.tcl-find-ladder .switch .knob { background: #d0f333; }
.tcl-find-ladder .panel .field { min-height: 52px; border: 1px solid #bac9ab; border-radius: 12px; background-color: #f7f8f2; color: #203b2b; font: inherit; }
.tcl-find-ladder .panel select { appearance: auto; background-image: none; }
.tcl-find-ladder .field::placeholder { color: #6c7964; }
.tcl-find-ladder :is(button,input,select,[role="switch"]):focus-visible { outline: 3px solid #79933f; outline-offset: 3px; }
.tcl-find-ladder #zip-error { color: #a63126; }
.tcl-find-ladder .tcl-wall-profile { width: 100%; max-width: 100%; background: none; }
.tcl-ladder-search-empty { min-height: 380px; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; padding: 32px; background: #e4ecd6; border-radius: 22px; }
.tcl-ladder-search-empty > span { font-size: 52px; color: #52734d; }
.tcl-find-ladder .tcl-ladder-search-empty h2 { font-family: inherit; font-size: 28px; color: #203b2b; margin: 16px 0; }
.tcl-ladder-search-empty p { max-width: 300px; color: #59685c; line-height: 1.6; }
@media (max-width: 760px) {
 .tcl-find-ladder .ladderPage-wrapper { grid-template-columns: minmax(0,1fr); gap: 24px; padding: 28px 18px; }
 .tcl-find-ladder .ladderPage-wrapper .panel { padding: 24px; }
 .tcl-ladder-search-empty { min-height: 230px; }
}

/* Navigation palette follows the public site's green and lime theme. */
.primary-nav-bar { background: #203b2b; border-bottom: 1px solid #ffffff20; filter: none; }
.primary-nav-inner { font-family: 'DM Sans', sans-serif; }
.primary-nav-inner > .menu-item { align-items: center; }
.primary-nav-inner > .menu-item > a { color: #f5f5ec; border-radius: 8px; }
.primary-nav-inner > .menu-item > a:hover,
.primary-nav-inner > .menu-item:focus-within > a { color: #d0f333; background: #ffffff0d; }
.primary-nav-inner .sub-menu { background: #f5f5ec; border: 1px solid #d4dfc5; border-radius: 14px; padding: 8px; filter: none; box-shadow: 0 12px 32px #10261930; }
.primary-nav-inner .sub-menu .menu-item { height: auto; width: 100%; }
.primary-nav-inner .sub-menu .menu-item > a { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 44px; padding: 10px 14px; border-radius: 8px; color: #203b2b; font-size: 14px !important; line-height: 1.4; text-decoration: none; }
.primary-nav-inner .sub-menu .menu-item > a:hover,
.primary-nav-inner .sub-menu .menu-item > a:focus-visible { color: #203b2b; background: #dce6c7; }
.primary-nav-inner .sub-menu i { color: #52734d; }
.primary-nav-inner .signup-btn { background: #d0f333; border: 1px solid #d0f333; color: #203b2b; box-shadow: none; border-radius: 99px; }
.primary-nav-inner .signupb { color: #f5f5ec; border-color: #ffffff50; border-radius: 99px; }
.primary-nav-inner .signupbuttons { background: none; }
.primary-nav-inner #tcl-account-dropdown { background: #f5f5ec; border: 1px solid #d4dfc5; border-radius: 14px; box-shadow: 0 12px 32px #10261930; color: #203b2b; }
.primary-nav-inner #tcl-account-dropdown .tcl-account-identity { background: #dce6c7; color: #203b2b; }
.primary-nav-inner #tcl-account-dropdown > a { color: #203b2b; border-color: #d4dfc5; }
.primary-nav-inner #tcl-account-dropdown > a:hover { background: #dce6c7; color: #203b2b; }

/* Menu Icons supplies an inline pale color; keep icons legible on cream. */
.primary-nav-inner .sub-menu .wpmi__icon {
  color: #52734d !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  margin: 0;
  font-size: 18px !important;
}

/* Benefits: introduce the value of local tennis before the ladder search. */
.tcl-home-benefits { background: #1d382b; color: #f5f5ec; }
.tcl-benefits-inner { max-width: 1240px; margin: auto; }
.tcl-home-benefits h2 { max-width: 790px; margin: 0 0 30px; font-family: inherit; font-size: clamp(36px,5vw,64px); font-weight: 800; line-height: 1.08; letter-spacing: -.045em; color: #f5f5ec; }
.tcl-home-benefits h2 span { color: #c7795e; }
.tcl-benefits-intro { max-width: 510px; margin: 0 0 58px; color: #ccd6c7; font-size: 20px; line-height: 1.55; }
.tcl-benefits-grid { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 24px; }
.tcl-benefit-card { position: relative; overflow: hidden; isolation: isolate; background: #ffffff06; border: 1px solid #ffffff24; border-radius: 28px; padding: clamp(26px,3vw,40px); }
.tcl-benefit-card::after { content: ''; position: absolute; z-index: -1; pointer-events: none; width: 180px; height: 180px; border: 10px double #ffffff09; border-radius: 50%; bottom: -105px; right: -40px; }
.tcl-benefit-card.tcl-benefit-local { background: #b76249; border-color: #b76249; }
.tcl-benefit-card svg { display: block; width: 36px; height: 36px; margin-bottom: 48px; color: #d0f333; }
.tcl-benefit-local svg { color: #fff5e9; }
.tcl-benefit-label { display: block; margin-bottom: 14px; color: #c7d1c1; font-size: 12px; letter-spacing: .16em; font-weight: 800; }
.tcl-benefit-local .tcl-benefit-label { color: #ffeadc; }
.tcl-benefit-card h3 { color: #f5f5ec; font-family: inherit; font-size: clamp(26px,2.5vw,34px); font-weight: 700; line-height: 1.22; letter-spacing: -.035em; margin: 0 0 20px; }
.tcl-benefit-card p { color: #e0e5da; font-size: 18px; line-height: 1.6; margin: 0; }
.tcl-benefit-local p { color: #fff4eb; }
@media (max-width: 800px) {
 .tcl-benefits-grid { grid-template-columns: 1fr; gap: 18px; }
 .tcl-benefits-intro { margin-bottom: 32px; font-size: 18px; }
 .tcl-benefit-card svg { margin-bottom: 28px; }
}

/* A three-rung introduction to challenge ladders. */
.tcl-ladder-explainer { background: #f0eee5; }
.tcl-explainer-inner { max-width: 1240px; margin: auto; display: grid; grid-template-columns: 1fr 1.15fr; gap: clamp(32px,6vw,96px); align-items: center; }
.tcl-explainer-intro .tcl-home-kicker { color: #a6533e; }
.tcl-explainer-intro h2 { max-width: 500px; color: #203b2b; font-family: inherit; font-size: clamp(36px,4.5vw,62px); line-height: 1.08; letter-spacing: -.045em; font-weight: 800; margin: 24px 0 32px; }
.tcl-explainer-intro > p { color: #626f61; font-size: 20px; line-height: 1.65; margin: 0; }
.tcl-explainer-note { display: flex; align-items: flex-start; gap: 14px; margin-top: 30px; padding: 20px; background: #faf9f4; border: 1px solid #deddd2; border-radius: 20px; }
.tcl-explainer-note > span { color: #a6533e; font-size: 22px; line-height: 1.3; }
.tcl-explainer-note p { color: #626f61; font-size: 15px; line-height: 1.6; margin: 0; }
.tcl-explainer-steps { position: relative; isolation: isolate; list-style: none; padding: 0; margin: 0; display: grid; gap: 24px; }
.tcl-explainer-steps::before { content: ''; position: absolute; z-index: -1; top: 50px; bottom: 50px; left: 64px; width: 2px; background: linear-gradient(#b76249,#52734d); }
.tcl-explainer-steps li { display: flex; gap: 26px; align-items: flex-start; padding: clamp(24px,3vw,40px); background: #faf9f4; border: 1px solid #deddd2; border-radius: 28px; margin: 0; }
.tcl-step-icon { display: grid; place-items: center; flex: 0 0 64px; width: 64px; height: 64px; border-radius: 20px; background: #203b2b; color: #f5f5ec; }
.tcl-step-icon svg { width: 30px; height: 30px; }
.tcl-step-number { color: #a6533e; font-weight: 700; font-size: 14px; }
.tcl-explainer-steps h3 { font-family: inherit; font-size: clamp(25px,2.5vw,34px); line-height: 1.2; font-weight: 700; letter-spacing: -.035em; color: #203b2b; margin: 10px 0 14px; }
.tcl-explainer-steps p { color: #626f61; font-size: 18px; line-height: 1.6; margin: 0; }
@media (max-width: 800px) {
 .tcl-explainer-inner { grid-template-columns: 1fr; }
 .tcl-explainer-intro h2 { max-width: 600px; }
}
@media (max-width: 450px) {
 .tcl-explainer-steps li { padding: 24px 18px; gap: 16px; }
 .tcl-step-icon { flex-basis: 44px; width: 44px; height: 44px; border-radius: 14px; }
 .tcl-step-icon svg { width: 24px; height: 24px; }
 .tcl-explainer-steps::before { left: 40px; }
 .tcl-explainer-steps p { font-size: 16px; }
}

.tcl-nearby-layout { max-width: 1240px; margin: auto; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 40px; padding: 32px; border-radius: 24px; background: #e8eddd; }
.tcl-nearby-controls { max-width: 400px; }
.tcl-nearby-controls label { display: block; font-weight: 700; margin: 0 0 8px; }
.tcl-nearby-controls select { appearance: auto; background: #fff; color: #203b2b; border: 1px solid #bac9ab; margin-bottom: 20px; min-height: 48px; }
#tcl-nearby-locate, .tcl-nearby-choice { background: #d0f333; color: #203b2b; font: 700 16px 'DM Sans',sans-serif; border: 0; border-radius: 99px; padding: 16px 24px; cursor: pointer; }
#tcl-nearby-locate:disabled { opacity: .6; cursor: wait; }
.tcl-nearby-privacy { font-size: 13px; color: #59685c; line-height: 1.5; margin: 16px 0; }
#tcl-nearby-status { color: #52634b; line-height: 1.6; }
#tcl-nearby-results { width: 100%; max-width: 100%; margin: 0; }
.tcl-nearby-choice { display: block; margin: 10px 0; }
@media (max-width: 700px) { .tcl-nearby-layout { grid-template-columns: minmax(0,1fr); padding: 22px; gap: 24px; } }

.tcl-footer-app { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding: 32px 0; margin-bottom: 24px; border-bottom: 1px solid #ffffff24; text-align: left; }
.tcl-footer-app h2 { color: #f5f5ec; font: 700 28px/1.2 'DM Sans',sans-serif; margin: 0 0 12px; }
.tcl-footer-app p { color: #c8d4c2; margin: 0; line-height: 1.6; }
.tcl-footer-app-links { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 24px; }
.tcl-footer-app-links a { display: block; flex: 0 0 auto; }
.tcl-footer-app-links img { display: block; width: 140px; height: auto; max-width: 100%; }
.tcl-footer-app-links .tcl-footer-qr img { width: 112px; border-radius: 8px; }
@media (max-width: 700px) { .tcl-footer-app { flex-direction: column; text-align: center; } .tcl-footer-app-links { gap: 18px; } }

.tcl-explainer-steps .tcl-step-number { margin-right: 12px; }

/* Keep the menu logo visible, including with an older cached scroll handler. */
.primary-nav-inner .minilogo { visibility: visible !important; opacity: 1; }

.tcl-home-ambassadors { background: #f5f5ec; }
.tcl-ambassadors-panel { max-width: 1240px; margin: auto; display: grid; grid-template-columns: 1fr 1fr; border-radius: 36px; overflow: hidden; background: #1e2b3c; color: #f5f5ec; }
.tcl-ambassadors-copy { padding: clamp(28px,4vw,60px); }
.tcl-ambassadors-copy .tcl-home-kicker { color: #d0f333; }
.tcl-ambassadors-copy h2 { color: #f5f5ec; font: 800 clamp(34px,4.5vw,60px)/1.08 'DM Sans',sans-serif; letter-spacing: -.045em; margin: 24px 0 32px; }
.tcl-ambassadors-copy > p { color: #d0d5d7; font-size: 20px; line-height: 1.65; margin: 0; }
.tcl-ambassadors-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin: 36px 0; }
.tcl-ambassadors-cards > div { padding: 24px; background: #ffffff05; border: 1px solid #ffffff12; border-radius: 20px; }
.tcl-ambassadors-cards h3 { color: #e09270; font: 700 23px/1.2 'DM Sans',sans-serif; margin: 0 0 12px; }
.tcl-ambassadors-cards p { color: #d0d5d7; font-size: 17px; line-height: 1.5; margin: 0; }
.tcl-ambassadors-copy .tcl-ambassadors-note { font-size: 16px; }
.tcl-ambassadors-note a { color: #d0f333; text-decoration: underline; }
.tcl-ambassadors-photo { display: block; width: 100%; height: 100%; min-height: 0; object-fit: cover; }
@media (max-width: 760px) {
 .tcl-ambassadors-panel { grid-template-columns: 1fr; border-radius: 24px; }
 .tcl-ambassadors-photo { height: 420px; object-position: center 45%; }
}
@media (max-width: 400px) { .tcl-ambassadors-cards { grid-template-columns: 1fr; } }

/* Full-width ambassador section, with a more prominent section label. */
.tcl-home-zone.tcl-home-ambassadors { padding: 0; background: #1e2b3c; }
.tcl-home-ambassadors .tcl-ambassadors-panel { max-width: none; border-radius: 0; }
.tcl-ambassadors-copy .tcl-home-kicker { font-size: clamp(20px, 2.2vw, 30px); line-height: 1.3; letter-spacing: .08em; }

/* Blend the benefits section into the cream local-ladder area below. */
.tcl-home-benefits { background: linear-gradient(to bottom, #1d382b 0%, #1d382b 62%, #f5f5ec 100%); }
.tcl-home-benefits .tcl-benefit-card:not(.tcl-benefit-local) { background: #294334; }

/* Closing homepage invitation. */
.tcl-home-final-cta { text-align: center; color: #fff8ec; padding-block: clamp(64px, 9vw, 120px); background-color: #b76249; background-image: linear-gradient(#ffffff06 1px, transparent 1px), linear-gradient(90deg, #ffffff06 1px, transparent 1px); background-size: 25% 220px; }
.tcl-home-final-cta h2 { color: #fff8ec; font: 800 clamp(42px, 6.5vw, 84px)/1.02 'DM Sans',sans-serif; letter-spacing: -.05em; margin: 0 0 32px; }
.tcl-home-final-cta p { max-width: 650px; margin: 0 auto 48px; color: #fff3e5; font-size: clamp(18px, 2vw, 23px); line-height: 1.55; }
.tcl-home-final-cta .tcl-home-actions { justify-content: center; }
@media (max-width: 450px) {
 .tcl-home-final-cta .tcl-home-actions { flex-direction: column; align-items: center; }
 .tcl-home-final-cta .tcl-home-actions a { width: 100%; max-width: 320px; }
}

/* Homepage FAQ. */
.tcl-home-faq { background: #eae7dc; }
.tcl-faq-inner { max-width: 1240px; margin: auto; display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(32px,6vw,90px); align-items: start; }
.tcl-home-faq .tcl-home-kicker { color: #a6533e; }
.tcl-home-faq h2 { color: #203b2b; font: 800 clamp(36px,4.5vw,62px)/1.08 'DM Sans',sans-serif; letter-spacing: -.045em; margin: 20px 0 0; max-width: 400px; }
.tcl-faq-list details { border: 0; border-bottom: 1px solid #203b2b20; margin: 0; padding: 0; background: none; }
.tcl-faq-list summary { display: flex; align-items: center; justify-content: space-between; gap: 24px; list-style: none; padding: 28px 0; cursor: pointer; color: #203b2b; font-size: clamp(20px,2.2vw,28px); font-weight: 700; line-height: 1.3; letter-spacing: -.025em; }
.tcl-faq-list summary::-webkit-details-marker { display: none; }
.tcl-faq-list summary::after { content: '+'; display: grid; place-items: center; flex: 0 0 46px; height: 46px; border: 1px solid #203b2b18; border-radius: 50%; font-size: 26px; font-weight: 400; }
.tcl-faq-list details[open] summary::after { content: '−'; background: #dce6c7; }
.tcl-faq-list summary:hover::after { background: #dce6c7; }
.tcl-faq-list summary:focus-visible { outline: 3px solid #79933f; outline-offset: 4px; border-radius: 6px; }
.tcl-faq-list p { color: #59685c; font-size: 17px; line-height: 1.7; margin: 0; padding: 0 60px 28px 0; }
.tcl-faq-list a { color: #203b2b; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 760px) {
 .tcl-faq-inner { grid-template-columns: 1fr; }
 .tcl-home-faq h2 { max-width: 550px; }
 .tcl-faq-list summary { padding: 24px 0; gap: 16px; }
 .tcl-faq-list p { padding-right: 0; }
 .tcl-faq-list summary::after { flex-basis: 38px; height: 38px; }
}

/* The ladder owns its surface, independent of profile/sidebar wrappers. */
.tcl-ladder-instance > .tcl-ladder { background: linear-gradient(90deg, #355a3d 0%, #aebd83 100%); border: 1px solid #cbd8ad; border-radius: 10px; overflow: hidden; }
.tcl-ladder .ladder-header-wrap { background-color: #355a3d; background-size: cover; background-position: center; }
#tcl-nearby-results .tcl-ladder-instance,
.tcl-find-ladder .tcl-ladder-instance { width: 100%; max-width: 400px; margin-inline: auto; }

/* Default court artwork when a team has no featured image. */
.tcl-ladder .ladder-header-wrap.tcl-ladder-default-background {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background-color: #294f37;
  background-image: linear-gradient(105deg, #163b2bea, #315d3e99), url('img/hero.png');
  background-size: cover;
  background-position: center 45%;
}

.tcl-ladder .noLadder:has(.tcl-empty-ladder-join) { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 20px; }
.tcl-ladder .tcl-empty-ladder-join { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 12px 24px; border-radius: 99px; background: #d0f333; color: #203b2b; font-weight: 700; text-decoration: none; }
.tcl-ladder .tcl-empty-ladder-join:hover { background: #e1ff62; color: #203b2b; }
.tcl-ladder .tcl-empty-ladder-join:focus-visible { outline: 3px solid white; outline-offset: 4px; }

/* Shared ladder redesign: forest header, cream surface, lime accents. */
.tcl-ladder-instance > .tcl-ladder { font-family: 'DM Sans', sans-serif; background: #f5f5ec; color: #203b2b; border: 1px solid #ccd7bf; border-radius: 20px; box-shadow: 0 8px 24px #203b2b0d; }
.tcl-ladder .ladder-header-wrap { position: relative; display: grid; grid-template-columns: 1fr 84px; gap: 20px 12px; align-items: center; padding: 20px; background-color: #203b2b; isolation: isolate; }
.tcl-ladder .ladder-header-wrap::after { content: ''; position: absolute; inset: 0; background: #102d21a6; z-index: -1; pointer-events: none; }
.tcl-ladder .nrtp-banner { position: static; float: none; grid-column: 1; width: fit-content; border-radius: 99px; background: #d0f333; color: #203b2b; padding: 7px 12px; font-size: 12px; letter-spacing: .04em; }
.tcl-ladder .genderIcon { position: absolute; top: 25px; left: 145px; margin: 0; padding: 0; width: 22px; height: 22px; object-fit: contain; }
.tcl-ladder .youRank { grid-column: 2; grid-row: 1 / 3; float: none; width: 84px; margin: 0; padding: 10px 5px; background: #ffffff12; border: 1px solid #ffffff24; border-radius: 14px; }
.tcl-ladder .youRank > div:first-child { color: #e0e5da; font-size: 9px; letter-spacing: .06em; margin: 0 0 4px; text-shadow: none; }
.tcl-ladder .youRank > div:last-child { color: #d0f333 !important; font-size: 30px; padding: 0; text-shadow: none; }
.tcl-ladder .ladder-header { grid-column: 1; padding: 0; height: auto; min-width: 0; gap: 10px; }
.tcl-ladder .ladder-header > img { padding: 0; width: 26px; height: 32px; object-fit: contain; flex-shrink: 0; }
.tcl-ladder .ladder-header > div { text-shadow: none; min-width: 0; }
.tcl-ladder .ladder-header h3 { color: #fff9ee; font-family: inherit; font-size: 23px; font-weight: 800; letter-spacing: -.025em; line-height: 1.08; margin: 0 0 6px; text-transform: none; overflow-wrap: anywhere; }
.tcl-ladder .ladder-header h6 { color: #d4dfcd; font-family: inherit; font-size: 11px; font-weight: 500; }
.tcl-ladder .tcl-ladder__head { background: #e4ebd8; color: #52634b; padding: 12px 18px; font-size: 10px; font-weight: 700; letter-spacing: .1em; }
.tcl-ladder .tcl-ladder__head > div:first-child { width: 72px; padding: 0; }
.tcl-ladder .playerlist { padding: 12px; scrollbar-width: thin; scrollbar-color: #a8b993 #edf1e5; }
.tcl-ladder .tcl-ladder__row { margin: 0 0 10px; padding: 12px 10px; min-height: 80px; border: 1px solid #e0e6d7; border-left: 3px solid #c8d5ba; border-radius: 12px; background: #fff; gap: 8px; }
.tcl-ladder .tcl-ladder__row:last-child { margin-bottom: 0; }
.tcl-ladder .tcl-ladder__row.myrankColor { background: #eaf2d5; border-left-color: #789345 !important; }
.tcl-ladder .tcl-ladder__rank, .tcl-ladder .tcl-ladder__row:not(.rank1) .tcl-ladder__rank { flex: 0 0 25px; width: 25px; margin: 0; padding: 0; font-size: 22px; color: #35553b; }
.tcl-ladder .rank1 .tcl-ladder__rank { color: #8b650e; }
.tcl-ladder .rank2 .tcl-ladder__rank { color: #68736b; }
.tcl-ladder .rank3 .tcl-ladder__rank { color: #a6533e; }
.tcl-ladder .tcl-ladder__avatar { flex: 0 0 40px; min-width: 40px; margin: 0; }
.tcl-ladder .tcl-ladder__avatar > img { display: block; width: 40px; height: 40px; margin: 0; border: 2px solid #dce6c7; }
.tcl-ladder .tcl-ladder__name { flex: 1; min-width: 0; width: auto; margin: 0; padding: 0; line-height: 1.2; overflow-wrap: anywhere; }
.tcl-ladder .tcl-ladder__name > div:first-child { color: #203b2b; font-size: 13px; font-weight: 700; }
.tcl-ladder .tcl-ladder__name > div:last-child { color: #718067; font-size: 10px; }
.tcl-ladder .tcl-ladder__name > div:last-child span { color: #8b650e !important; }
.tcl-ladder .ladderjointext { flex: 0 0 42px; width: auto; margin: 0; font-size: 10px; color: #718067; }
.tcl-ladder .tcl-ladder__actions { width: auto; flex: 0 0 auto; max-width: 100px; }
.tcl-ladder .noLadder { min-height: 220px; height: auto; padding: 32px 18px; background: #edf1e4; border-radius: 12px; color: #52634b; font-size: 15px; line-height: 1.6; }
.tcl-ladder .ladder-view-notice { margin: 0 12px 12px; padding: 12px; background: #e4ebd8; border: 0; border-radius: 10px; color: #52634b; font-size: 12px; line-height: 1.5; }
.tcl-ladder .large-ladderB { padding: 12px; gap: 10px; border-top: 1px solid #dce3d2; }
.tcl-ladder .large-ladderB > div { flex: 1; width: auto; margin: 0; padding: 12px 8px; height: auto; min-height: 62px; background: #203b2b; border: 0; border-radius: 12px; }
.tcl-ladder .large-ladderB a { color: #f5f5ec; text-decoration: none; }
.tcl-ladder .large-ladderB > div > div:not(.large-ladderC) { color: #d0f333; font-size: 26px; padding: 0 2px; }
.tcl-ladder .large-ladderB img { margin: 0 8px 0 0; height: 25px; }
.tcl-ladder .large-ladderC > div > div:first-child { font-size: 12px; }
.tcl-ladder .large-ladderC > div > div:last-child { font-size: 10px; color: #c8d4c2; }
.tcl-ladder .tcl-no-ladder-heading { background: #203b2b; color: #f5f5ec; font-family: inherit; font-size: 26px; }
@media (max-width: 380px) {
 .tcl-ladder .ladder-header-wrap { padding: 16px; grid-template-columns: 1fr 70px; }
 .tcl-ladder .youRank { width: 70px; }
 .tcl-ladder .ladder-header h3 { font-size: 20px; }
 .tcl-ladder .genderIcon { left: 136px; top: 22px; }
 .tcl-ladder .playerlist { padding: 8px; }
 .tcl-ladder .tcl-ladder__row { padding: 10px 6px; gap: 6px; }
}

/* Ladder rows: warmer greens, podium borders, contained contact controls. */
.tcl-ladder .tcl-ladder__row { background: #e4ecd6; border-color: #cad8b8; }
.tcl-ladder .tcl-ladder__row:nth-child(even) { background: #dbe7cb; }
.tcl-ladder .tcl-ladder__row.myrankColor { background: #d5e7b0; }
.tcl-ladder .tcl-ladder__row.rank1 { border-left-color: #d4aa32 !important; }
.tcl-ladder .tcl-ladder__row.rank2 { border-left-color: #aeb4b8 !important; }
.tcl-ladder .tcl-ladder__row.rank3 { border-left-color: #b77b4b !important; }
.tcl-ladder .tcl-ladder__actions { gap: 4px; padding-right: 32px; box-sizing: border-box; }
.tcl-ladder .tcl-ladder__actions > div { right: 0; top: 50%; transform: translateY(-50%); margin: 0; display: flex; flex-direction: column; gap: 3px; }
.tcl-ladder .tcl-ladder__actions > div > img { display: block; width: 27px; height: 27px; padding: 0; margin: 0; object-fit: contain; }
.tcl-ladder .tcl-ladder__actions > img { max-width: 44px; height: 44px; object-fit: contain; padding: 0; margin-right: 0 !important; }
.tcl-ladder .tcl-ladder__actions:not(:has(> div)) { padding-right: 0; }

.tcl-find-ladder .tcl-wall-profile.tcl-is-loading { position: relative; min-height: 560px; }
.tcl-ladder-loading { position: absolute; inset: 0; z-index: 20; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; border-radius: 20px; background: #f5f5eceb; color: #203b2b; font-weight: 700; }
.tcl-loading-spinner { width: 40px; height: 40px; border: 4px solid #dce6c7; border-top-color: #52734d; border-radius: 50%; animation: tcl-ladder-spin .8s linear infinite; }
.tcl-ladder-load-error { padding: 24px; background: #e4ecd6; border-radius: 14px; color: #203b2b; }
@keyframes tcl-ladder-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .tcl-loading-spinner { animation: none; } }

/* Leave room for the rating focus ring inside the wrapping container. */
.tcl-find-ladder .chip-scroll { padding: 6px; margin: -6px; }
.tcl-ladder .tcl-ladder__actions :is(.callB, .messageB) { cursor: pointer; border-radius: 9px; transition: filter .15s; }
.tcl-ladder .tcl-ladder__actions :is(.callB, .messageB):hover { filter: brightness(1.25); }

/* Center the spinner itself, with its label positioned beneath it. */
.tcl-ladder-loading .tcl-loading-spinner { position: absolute; top: calc(50% - 20px); left: calc(50% - 20px); }
.tcl-ladder-loading > span:last-child { position: absolute; top: calc(50% + 36px); left: 0; width: 100%; text-align: center; }

/* Larger contact targets anchored to the player's right-hand corners. */
.tcl-ladder .tcl-ladder__row { position: relative; }
.tcl-ladder .tcl-ladder__actions:has(> div) { position: static; padding-right: 36px; }
.tcl-ladder .tcl-ladder__actions > div { right: 4px; top: 4px; bottom: 4px; transform: none; justify-content: space-between; gap: 4px; }
.tcl-ladder .tcl-ladder__actions > div > img { width: 32px; height: 32px; }

.tcl-ladder .tcl-ladder__avatar { position: relative; }
.tcl-ladder .tcl-avatar-crown { position: absolute; top: -10px; left: 50%; transform: translateX(-50%); font-size: 16px; line-height: 1; z-index: 1; }

/* Share one column for the rank and avatar at every screen size. */
  .tcl-ladder .tcl-ladder__row { padding-left: 12px; }
  .tcl-ladder .tcl-ladder__rank,
  .tcl-ladder .tcl-ladder__row:not(.rank1) .tcl-ladder__rank {
    position: absolute;
    left: 6px;
    top: calc(50% + 5px);
    z-index: 2;
    display: grid;
    place-items: center;
    width: 22px;
    height: 22px;
    padding: 0;
    margin: 0;
    border: 2px solid #f5f5ec;
    border-radius: 50%;
    background: #203b2b;
    color: #f5f5ec;
    font-size: 12px;
    line-height: 1;
  }
  .tcl-ladder .rank1 .tcl-ladder__rank { background: #d4aa32; color: #203b2b; }
  .tcl-ladder .tcl-ladder__row.rank2 .tcl-ladder__rank { background: #bfc5c8; color: #203b2b; }
  .tcl-ladder .tcl-ladder__row.rank3 .tcl-ladder__rank { background: #b77b4b; color: #fff; }
  .tcl-ladder .tcl-ladder__avatar { margin-right: 2px; }

.tcl-ladder .tcl-ladder-player-name { display: flex; flex-direction: column; }
.tcl-ladder .tcl-ladder-player-name > span { display: block; max-width: 100%; }

.tcl-ladder .tcl-ladder__name > div:last-child { margin-top: 6px; padding-top: 0; padding-left: 4px; }

.tcl-ladder .tcl-ladder__row.rank1 .tcl-ladder__avatar > img { border-color: #d4aa32; }
.tcl-ladder .tcl-ladder__row.rank2 .tcl-ladder__avatar > img { border-color: #bfc5c8; }
.tcl-ladder .tcl-ladder__row.rank3 .tcl-ladder__avatar > img { border-color: #b77b4b; }

.tcl-sms-preferences { margin: 24px 0; padding: 24px; background: #f5f5ec; color: #203b2b; border: 1px solid #cad8b8; border-radius: 16px; }
.tcl-sms-preferences form { display: grid; gap: 16px; max-width: 600px; }
.tcl-sms-preferences input[type="tel"] { padding: 12px; background: white; color: #203b2b; border: 1px solid #a8b993; border-radius: 8px; }
.tcl-sms-preferences button { justify-self: start; padding: 12px 20px; border: 0; border-radius: 99px; background: #d0f333; color: #203b2b; font-weight: 700; }

/* Ambassador overview page template. */
.tcl-ambassador-page { font-family: 'DM Sans',sans-serif; background: #f5f5ec; color: #203b2b; }
.tcl-ambassador-overview, .tcl-ambassador-duties, .tcl-ambassador-fit, .tcl-ambassador-cta { padding: clamp(40px,6vw,80px) clamp(22px,5vw,80px); }
.tcl-ambassador-overview-inner, .tcl-ambassador-section-inner { max-width: 1240px; margin: auto; }
.tcl-ambassador-overview-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: stretch; }
.tcl-ambassador-about { padding: clamp(24px,3vw,40px); background: #fff; border: 1px solid #dce3d2; border-radius: 24px; align-self: center; }
.tcl-ambassador-page h2 { font-family: inherit; font-size: clamp(30px,3.5vw,46px); line-height: 1.13; font-weight: 800; letter-spacing: -.035em; color: #203b2b; margin: 0 0 24px; }
.tcl-ambassador-page p { font-size: 18px; line-height: 1.7; }
.tcl-ambassador-about p { color: #59685c; margin: 0 0 18px; }
.tcl-ambassador-about p:last-child { margin-bottom: 0; }
.tcl-ambassador-overview-photo { display: block; width: 100%; height: 480px; object-fit: cover; object-position: center 42%; border-radius: 24px; }
.tcl-ambassador-duties { background: #dce6c7; }
.tcl-ambassador-duty-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; margin-top: 36px; }
.tcl-ambassador-duty-grid article { background: #f5f5ec; padding: 28px; border: 1px solid #c5d4b0; border-radius: 20px; }
.tcl-ambassador-step { display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: #203b2b; color: #d0f333; font-weight: 700; margin-bottom: 24px; }
.tcl-ambassador-duty-grid h3 { font: 700 24px/1.2 'DM Sans',sans-serif; color: #203b2b; margin: 0 0 16px; }
.tcl-ambassador-duty-grid p { font-size: 16px; color: #59685c; margin: 0; }
.tcl-ambassador-fit p { max-width: 800px; color: #59685c; }
.tcl-ambassador-cta { background: #203b2b; text-align: center; }
.tcl-ambassador-cta h2 { color: #f5f5ec; }
.tcl-ambassador-cta p { color: #d6dfcf; max-width: 650px; margin: 0 auto 32px; }
.tcl-ambassador-cta .tcl-home-actions { justify-content: center; }
@media (max-width: 760px) {
 .tcl-ambassador-overview-inner, .tcl-ambassador-duty-grid { grid-template-columns: 1fr; gap: 24px; }
 .tcl-ambassador-overview-photo { height: 360px; }
 .tcl-ambassador-page .tcl-find-ladder-heading h1 { overflow-wrap: break-word; }
}

/* Member profiles: cover card, compact sidebar and a readable feed. */
body.tcl-member-profile { background: #f5f4eb; }
body.tcl-member-profile #main { background: #f5f4eb; }
body.tcl-member-profile #buddypress:not(.bb-internal-model) { max-width: 1120px; margin: 0 auto; padding: 28px 24px 48px; box-sizing: border-box; background: transparent; color: #203c2f; }
body.tcl-member-profile #buddypress .bp-wrap { background: transparent; }
body.tcl-member-profile #buddypress #item-header { border: 1px solid #dce3d1; border-bottom: 0; border-radius: 20px 20px 0 0; background: #fff; }
body.tcl-member-profile #buddypress #cover-image-container { margin: 0; }
body.tcl-member-profile #buddypress #header-cover-image { height: 200px; min-height: 0; border-radius: 20px 20px 0 0; overflow: hidden; background: linear-gradient(115deg, #1e3b2d, #49674a 65%, #a6b783); }
body.tcl-member-profile #buddypress #header-cover-image .header-cover-img { width: 100%; height: 100%; object-fit: cover; }
body.tcl-member-profile #buddypress #item-header-cover-image { position: relative; display: flex; align-items: flex-start; gap: 24px; padding: 0 30px 22px; margin: 0 !important; background: #fff; border-radius: 0; }
body.tcl-member-profile #buddypress #item-header-avatar { position: relative; flex: 0 0 112px; width: 112px; margin: -48px 0 0; float: none; z-index: 2; }
body.tcl-member-profile #buddypress #item-header-avatar img.avatar { display: block; width: 112px; height: 112px; max-width: none; border: 4px solid #fff; border-radius: 50%; box-sizing: border-box; object-fit: cover; }
body.tcl-member-profile #buddypress #item-header-content { flex: 1; min-width: 0; margin: 0; padding: 16px 0 0; width: auto; text-align: left; }
body.tcl-member-profile #buddypress #item-header-content > .flex { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; }
body.tcl-member-profile #buddypress #item-header-content .user-nicename { margin: 0 0 6px; color: #203c2f; text-shadow: none; font-family: 'DM Sans', sans-serif; font-size: clamp(24px, 3vw, 32px); font-weight: 800; line-height: 1.2; overflow-wrap: anywhere; }
body.tcl-member-profile #buddypress #item-header-content :is(.item-meta, .member-social) { color: #677564; font-size: 13px; margin-top: 8px; }
body.tcl-member-profile #buddypress #item-header-content :is(.item-meta, .member-social) a { color: #355a3d; }
body.tcl-member-profile #buddypress #item-header-content .generic-button a { border-radius: 10px; background: #d2f52a; border: 1px solid #c4df3b; color: #203c2f; font-weight: 700; }
body.tcl-member-profile #buddypress #object-nav { padding: 0 24px; margin: 0 0 22px; background: #fff; border: 1px solid #dce3d1 !important; border-top: 0 !important; border-radius: 0 0 20px 20px; box-shadow: 0 3px 5px #203c2f08; }
body.tcl-member-profile #buddypress #object-nav > ul { display: flex; flex-wrap: nowrap; overflow-x: auto; border-top: 1px solid #e5e9dd; padding: 0; margin: 0; }
body.tcl-member-profile #buddypress #object-nav > ul > li { flex: 0 0 auto; background: transparent !important; border: 0; }
body.tcl-member-profile #buddypress #object-nav > ul > li > a { padding: 18px 15px; background: transparent !important; color: #62715e; font-size: 14px; font-weight: 700; border-bottom: 3px solid transparent; }
body.tcl-member-profile #buddypress #object-nav > ul > li:is(.current, .selected) { border-bottom: 0 !important; }
body.tcl-member-profile #buddypress #object-nav > ul > li:is(.current, .selected) > a { color: #203c2f; border-bottom: 3px solid #a4c629 !important; }
body.tcl-member-profile #buddypress #item-body { margin: 0; padding: 0; }
body.tcl-member-profile #buddypress .tcl-wall-layout { display: grid; grid-template-columns: minmax(280px, 340px) minmax(0, 1fr); gap: 22px; }
body.tcl-member-profile #buddypress .tcl-wall-layout > .tcl-wall-profile { width: 100%; max-width: none; margin: 0; }
body.tcl-member-profile #buddypress .tcl-wall-layout > .tcl-wall-timeline { width: 100%; max-width: 680px; margin: 0; }
body.tcl-member-profile #buddypress :is(.tcl-my-ladder-panel, .tcl-featured-photos-panel) { border: 1px solid #dce3d1; border-radius: 16px; background: #fff; padding: 0 14px 14px; box-shadow: 0 2px 4px #203c2f08; }
body.tcl-member-profile #buddypress :is(.tcl-my-ladder-panel, .tcl-featured-photos-panel)::before { display: none; }
body.tcl-member-profile #buddypress :is(.tcl-my-ladder-separator, .tcl-featured-photos-panel > h2) { height: 62px; padding: 14px 2px; color: #203c2f; font-size: 21px; font-weight: 800; text-shadow: none; }
body.tcl-member-profile #buddypress .tcl-wall-profile .tcl-player-banner { border-radius: 12px; }
body:is(.tcl-member-profile,.tcl-news-feed,:has(.tcl-community-timeline)) #buddypress .tcl-wall-timeline .activity-list { background: transparent; }
body:is(.tcl-member-profile,.tcl-news-feed,:has(.tcl-community-timeline)) #buddypress .tcl-wall-timeline .activity-list > .activity-item { border-radius: 16px; border: 1px solid #d5ddc6; box-shadow: none; background: #284b35; }
body:is(.tcl-member-profile,.tcl-news-feed,:has(.tcl-community-timeline)) #buddypress .tcl-wall-timeline .activity-head-bar { background: transparent; }
body.tcl-member-profile #buddypress .tcl-highlights-edit { border-radius: 10px; }
@media (max-width: 800px) {
 body.tcl-member-profile #buddypress:not(.bb-internal-model) { padding: 16px 14px 32px; }
 body.tcl-member-profile #buddypress .tcl-wall-layout { grid-template-columns: minmax(0, 1fr); gap: 22px; }
 body.tcl-member-profile #buddypress .tcl-wall-layout > .tcl-wall-timeline { max-width: none; }
 body.tcl-member-profile #buddypress #header-cover-image { height: 160px; }
 body.tcl-member-profile #buddypress #item-header-cover-image { gap: 16px; padding: 0 18px 18px; }
 body.tcl-member-profile #buddypress #item-header-avatar { flex-basis: 88px; width: 88px; margin-top: -36px; }
 body.tcl-member-profile #buddypress #item-header-avatar img.avatar { width: 88px; height: 88px; }
 body.tcl-member-profile #buddypress #object-nav { padding: 0 8px; }
 body.tcl-member-profile #buddypress #object-nav > ul > li > a { padding: 16px 12px; }
}
@media (max-width: 480px) {
 body.tcl-member-profile #buddypress #item-header-cover-image { flex-wrap: wrap; gap: 0; }
 body.tcl-member-profile #buddypress #item-header-content { flex-basis: 100%; padding-top: 10px; }
 body.tcl-member-profile #buddypress #item-header-content .member-title-wrap { justify-content: flex-start; }
 body.tcl-member-profile #buddypress #item-header-content .member-social { justify-content: flex-start; }
}
/* Cover crops use this card's dimensions rather than a saved pixel offset. */
body.tcl-member-profile #buddypress #header-cover-image { background: linear-gradient(115deg, #1e3b2d, #49674a 65%, #a6b783) !important; }
body.tcl-member-profile #buddypress #header-cover-image > .header-cover-img { top: 0 !important; left: 0; object-position: center; }
body.tcl-member-profile #buddypress #item-header-cover-image { justify-content: flex-start; }
body.tcl-member-profile #buddypress #item-header-content :is(.bb-user-content-wrap, .item-meta) { text-align: left; }

/* Profile cards and activity dialogs share the current cream/forest palette. */
body:is(.tcl-member-profile,.tcl-news-feed,:has(.tcl-community-timeline)) #buddypress .tcl-wall-timeline :is(.activity-form-placeholder, .activity-update-form:not(.modal-popup)) {
 background: #fff; border: 1px solid #dce3d1; border-radius: 16px; box-shadow: 0 2px 4px #203c2f08;
}
body:is(.tcl-member-profile,.tcl-news-feed,:has(.tcl-community-timeline)) #buddypress .tcl-wall-timeline :is(#whats-new-content-placeholder, .activity-update-form:not(.modal-popup) #whats-new-content) {
 background-color: #f3f5e9; border: 1px solid #dde5cf; color: #203c2f; border-radius: 28px;
}
body:is(.tcl-member-profile,.tcl-news-feed,:has(.tcl-community-timeline)) #buddypress .tcl-wall-timeline #whats-new-toolbar { background: #edf1e2; border-top: 1px solid #dce3d1; }
body:is(.tcl-member-profile,.tcl-news-feed,:has(.tcl-community-timeline)) #buddypress .tcl-wall-timeline #whats-new-toolbar .toolbar-button,
body:is(.tcl-member-profile,.tcl-news-feed,:has(.tcl-community-timeline)) #buddypress .tcl-wall-timeline #whats-new-toolbar .toolbar-button :is(i, span) { color: #284b35 !important; }
body:is(.tcl-member-profile,.tcl-news-feed,:has(.tcl-community-timeline)) #buddypress .tcl-wall-timeline #whats-new-toolbar .toolbar-button:hover { background: #e2eccb; }
body:is(.tcl-member-profile,.tcl-news-feed,:has(.tcl-community-timeline)) #buddypress .tcl-wall-timeline .activity-list > .activity-item,
#buddypress #activity-modal .activity-list > .activity-item { background: #fff; border: 1px solid #dce3d1; border-radius: 16px; color: #203c2f; box-shadow: 0 2px 4px #203c2f08; }
body:is(.tcl-member-profile,.tcl-news-feed,:has(.tcl-community-timeline)) #buddypress .tcl-wall-timeline .activity-item :is(.activity-header, .activity-header p, .activity-header a, .activity-inner, .activity-inner p, .activity-inner a, .time-since, .activity-date, .activity-state, .tcl-like-summary, .tcl-like-summary:hover, .tcl-shared-post-action, .tcl-shared-post-action a),
#buddypress #activity-modal .activity-item :is(.activity-header, .activity-header p, .activity-header a, .activity-inner, .activity-inner p, .activity-inner a, .time-since, .activity-date, .activity-state, .tcl-like-summary, .tcl-shared-post-action, .tcl-shared-post-action a) { color: #203c2f !important; }
body:is(.tcl-member-profile,.tcl-news-feed,:has(.tcl-community-timeline)) #buddypress .tcl-wall-timeline .activity-item :is(.bp-like-button, .acomment-reply, .tcl-share-post),
body:is(.tcl-member-profile,.tcl-news-feed,:has(.tcl-community-timeline)) #buddypress .tcl-wall-timeline .activity-item :is(.bp-like-button, .acomment-reply, .tcl-share-post) span,
#buddypress #activity-modal .activity-item :is(.bp-like-button, .acomment-reply, .tcl-share-post) { color: #355a3d !important; }
body:is(.tcl-member-profile,.tcl-news-feed,:has(.tcl-community-timeline)) #buddypress .tcl-wall-timeline .activity-item :is(.bp-like-button, .acomment-reply, .tcl-share-post):hover,
#buddypress #activity-modal .activity-item :is(.bp-like-button, .acomment-reply, .tcl-share-post):hover { background: #edf3df !important; border-radius: 8px; }
body:is(.tcl-member-profile,.tcl-news-feed,:has(.tcl-community-timeline)) #buddypress .tcl-wall-timeline .bb-activity-more-options-action i,
#buddypress #activity-modal .bb-activity-more-options-action i { color: #59744e !important; }
body:is(.tcl-member-profile,.tcl-news-feed,:has(.tcl-community-timeline)) #buddypress .tcl-wall-timeline .tcl-post-actions { border-top: 1px solid #e0e6d6; }
body:is(.tcl-member-profile,.tcl-news-feed,:has(.tcl-community-timeline)) #buddypress .tcl-wall-timeline .tcl-shared-post,
#buddypress #activity-modal .tcl-shared-post { background: #f3f5e9; color: #203c2f; border-color: #dce3d1; border-radius: 12px; }
body.tcl-member-profile #buddypress .tcl-wall-profile .tcl-player-banner { background: transparent; border: 0; padding: 0; }
body.tcl-member-profile #buddypress .tcl-player-banner-strip { background: #1e3b2d; border-radius: 10px; }
body.tcl-member-profile #buddypress .tcl-player-banner-rating { background: #dce6c799; color: #203c2f; border-radius: 6px; font-weight: 700; }
body.tcl-member-profile #buddypress .tcl-player-banner-visit { background: #d2f52abf; border: 0; border-radius: 10px; width: 42px; height: 42px; }
body.tcl-member-profile #buddypress .tcl-player-banner-visit > span { color: #203c2f; font-size: 38px; }
body.tcl-member-profile #buddypress .tcl-edit-highlights { width: 100%; padding: 12px 16px; border: 0; border-radius: 24px; background: #d2f52a; color: #203c2f; font-weight: 700; }
body.tcl-member-profile #buddypress .tcl-edit-highlights:hover { background: #c2e61c; }

#tcl-highlights-editor, #tcl-share-dialog, #buddypress #activity-modal {
 background: #faf9f3; color: #203c2f; border: 1px solid #dce3d1; border-radius: 20px; box-shadow: 0 24px 80px #10291b33; font-family: 'DM Sans', sans-serif;
}
#tcl-highlights-editor, #tcl-share-dialog { padding: 24px; }
#tcl-highlights-editor::backdrop, #tcl-share-dialog::backdrop { background: #142c22b3; backdrop-filter: blur(4px); }
#tcl-highlights-editor header, #tcl-share-dialog header { padding-bottom: 18px; margin-bottom: 18px; border-bottom: 1px solid #dce3d1; }
#tcl-highlights-editor h2, #tcl-share-dialog h2, #buddypress #activity-modal .bb-modal-activity-header h2 { color: #203c2f; font-size: 24px; font-weight: 800; }
#tcl-highlights-editor button, #tcl-share-dialog button { font-family: inherit; border-radius: 24px; padding: 11px 20px; border: 1px solid #dce3d1; background: #edf1e2; color: #203c2f; font-weight: 700; }
#tcl-highlights-editor [data-save], #tcl-share-dialog button[type="submit"] { background: #d2f52a; border: 1px solid #c4e626; color: #203c2f; }
#tcl-highlights-editor header [data-close], #tcl-share-dialog .tcl-share-close, #buddypress #activity-modal .bb-model-close-button { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; padding: 0; border: 0; border-radius: 50%; background: #eaf0df; color: #355a3d; font-size: 23px; flex-shrink: 0; }
#tcl-highlights-editor :is(button, input):focus-visible, #tcl-share-dialog :is(button, textarea):focus-visible { outline: 2px solid #63843c; outline-offset: 3px; }
#tcl-highlights-editor .tcl-highlight-picker { gap: 12px; }
#tcl-highlights-editor .tcl-highlight-picker img { border-radius: 12px; }
#tcl-highlights-editor .tcl-highlight-picker input { accent-color: #355a3d; width: 18px; height: 18px; }
#tcl-highlights-editor .tcl-highlight-picker label:has(:checked) img { outline: 4px solid #c7ed27; }
#tcl-highlights-editor footer { padding-top: 18px; border-top: 1px solid #dce3d1; }
#tcl-share-dialog textarea { padding: 14px; border: 1px solid #dce3d1; border-radius: 12px; background: #fff; color: #203c2f; }
#buddypress #activity-modal { overflow: hidden; }
#buddypress #activity-modal .bb-modal-activity-header { background: #faf9f3; border-bottom: 1px solid #dce3d1; padding: 18px 24px; }
#buddypress #activity-modal :is(.bb-modal-activity-body, .activity-list) { background: #faf9f3; }
#buddypress #activity-modal .bb-modal-activity-body { padding: 16px; }
#buddypress #activity-modal .bb-modal-activity-footer { background: #faf9f3; border-top: 1px solid #dce3d1; padding: 14px 16px; }
#buddypress #activity-modal :is(.ac-reply-content, .ac-textarea, .ac-reply-toolbar) { background: #eef2e5; border-color: #d0ddbf; border-radius: 12px; color: #203c2f; }
#buddypress #activity-modal .ac-reply-content:focus-within { outline: 2px solid #9bb958; outline-offset: 1px; }
#buddypress #activity-modal :is(.ac-input, .emojionearea-editor) { color: #203c2f; }
#buddypress #activity-modal .toolbar-button i { color: #527044; }
@media (max-width: 480px) {
 #tcl-highlights-editor, #tcl-share-dialog { padding: 18px; border-radius: 16px; }
 #buddypress #activity-modal .bb-modal-activity-header { padding: 14px 16px; }
 #buddypress #activity-modal .bb-modal-activity-body { padding: 8px; }
}
body:is(.tcl-member-profile,.tcl-news-feed,:has(.tcl-community-timeline)) #buddypress .tcl-wall-timeline .activity-item .activity-header :is(span, time, i),
#buddypress #activity-modal .activity-item .activity-header :is(span, time, i) { color: #52674c !important; }

/* Match profile feed filters to the composer toolbar. */
body:is(.tcl-member-profile,.tcl-news-feed,:has(.tcl-community-timeline)) #buddypress .tcl-wall-timeline .activity-head-bar .bb-subnav-filters-container-main {
 background: #edf1e2; border: 1px solid #dce3d1; border-radius: 10px;
}
body:is(.tcl-member-profile,.tcl-news-feed,:has(.tcl-community-timeline)) #buddypress .tcl-wall-timeline .activity-head-bar .bb-subnav-filters-label {
 background: transparent; color: #284b35; margin-right: 8px; border-radius: 0;
}
body:is(.tcl-member-profile,.tcl-news-feed,:has(.tcl-community-timeline)) #buddypress .tcl-wall-timeline .activity-head-bar .bb-subnav-filters-label::after { display: none; }
body:is(.tcl-member-profile,.tcl-news-feed,:has(.tcl-community-timeline)) #buddypress .tcl-wall-timeline .activity-head-bar .subnav-filters-opener { color: #284b35; }
body:is(.tcl-member-profile,.tcl-news-feed,:has(.tcl-community-timeline)) #buddypress .tcl-wall-timeline .activity-head-bar .bb-subnav-filters-container-main:has(.subnav-filters-opener:is(:hover, :focus-visible)) { background: #e2eccb; }
.tcl-player-banner-rating-row { display: flex; align-items: center; gap: 8px; }
/* Put action-row spacing inside each clickable area so hover fills the row. */
#buddypress .tcl-wall-timeline .tcl-post-actions > .generic-button { display: flex; padding: 0; min-width: 0; }
#buddypress .tcl-wall-timeline .tcl-post-actions :is(.bp-like-button, .acomment-reply, .tcl-share-post) { min-height: 56px; padding: 8px 0 !important; box-sizing: border-box; }
body:is(.tcl-member-profile,.tcl-news-feed,:has(.tcl-community-timeline)) #buddypress .tcl-wall-timeline .tcl-post-actions :is(.bp-like-button, .acomment-reply, .tcl-share-post):is(:hover, :focus-visible) { border-radius: 0; background: #edf3df !important; }
.tcl-like-summary-icon { display: inline-block; width: 16px; height: 16px; margin-right: 7px; vertical-align: -3px; pointer-events: none; }
#tcl-share-dialog .tcl-share-preview > img { display: block; max-width: 100%; max-height: 240px; width: auto; height: auto; object-fit: contain; margin: 12px auto 0; border-radius: 8px; }
body #tcl-logout-confirm::backdrop { background: #142c22b3; backdrop-filter: blur(4px); }
.tcl-social-registration-notice { max-width: 720px; margin: 20px auto; padding: 18px 22px; border: 1px solid #dce3d1; border-radius: 12px; background: #edf1e2; color: #203c2f; }
.tcl-social-account-settings { padding: 24px; margin-bottom: 24px; border: 1px solid #dce3d1; border-radius: 16px; background: #faf9f3; color: #203c2f; } .tcl-social-account-settings .bb-sso-action-button { display: inline-flex; padding: 12px 20px; border-radius: 24px; background: #d2f52a; color: #203c2f; font-weight: 700; }

/* Password step: keep content inset and separate account guidance from fields. */
#site-overlay-body .ov-login [data-stage="password"] { padding: 24px 28px 20px; box-sizing: border-box; }
#site-overlay-body .ov-login [data-stage="password"] h2 { margin: 0 0 8px; color: #203c2f; font-size: 26px; line-height: 1.25; font-weight: 800; }
#site-overlay-body .ov-login .tcl-login-email-summary { margin: 0 0 20px; color: #62715e; font-size: 14px; overflow-wrap: anywhere; }
#site-overlay-body .ov-login .tcl-login-social-notice:not([hidden]) { margin: 0 0 22px; padding: 14px 16px; background: #edf1e2; border: 1px solid #dce3d1; border-radius: 12px; color: #355a3d; text-align: left; font-size: 13px; line-height: 1.6; }
#site-overlay-body .ov-login .ov-field:has(> input[type="hidden"]) { display: none; }
#site-overlay-body .ov-login [data-stage="password"] .ov-field { margin: 0 0 16px; }
#site-overlay-body .ov-login [data-stage="password"] label { color: #355a3d; font-size: 14px; text-transform: none; }
#site-overlay-body .ov-login .tcl-password-field input { min-height: 48px; padding: 12px 46px 12px 14px; background: #f5f6ef; border: 1px solid #cad6bc; border-radius: 10px; color: #203c2f; font: inherit; box-shadow: none; }
#site-overlay-body .ov-login .tcl-password-field input:focus { outline: 2px solid #93b154; outline-offset: 2px; }
#site-overlay-body .ov-login .ov-remember { display: flex; align-items: center; gap: 8px; margin: 16px 0 20px; }
#site-overlay-body .ov-login .ov-remember input { margin: 0; width: 16px; height: 16px; accent-color: #355a3d; }
#site-overlay-body .ov-login .ov-remember label { margin: 0; }
#site-overlay-body .ov-login [data-stage="password"] .ov-submit { width: 100%; min-height: 48px; margin: 0; border: 0; border-radius: 24px; background: #d2f52a; color: #203c2f; font-weight: 700; }
#site-overlay-body .ov-login [data-stage="password"] .ov-submit:hover { background: #c3e824; }
#site-overlay-body .ov-login [data-stage="password"] .ov-footer-link { margin: 16px 0 0; text-align: center; }
#site-overlay-body .ov-login [data-stage="password"] .ov-footer-link a { color: #355a3d; font-size: 13px; }
#site-overlay-body .ov-login [data-stage="password"] .tcl-login-back { margin: 14px auto 0; padding: 8px 16px; }
@media (max-width: 480px) {
 #site-overlay-body .ov-login [data-stage="password"] { padding: 22px 20px 18px; }
 #site-overlay-body .ov-login [data-stage="password"] h2 { font-size: 24px; }
}
#site-overlay-body .ov-login .tcl-login-error:not([hidden]) { padding: 12px 14px; margin: 0 0 16px; border: 1px solid #dbb4a4; border-radius: 10px; background: #fcf0e9; color: #873d26; text-align: left; font-size: 14px; line-height: 1.5; }

/* Keep the email step inset, including validation messages. */
#site-overlay-body .ov-login [data-stage="email"] { width: 100%; min-width: 0; padding: 24px 28px 20px; box-sizing: border-box; }
#site-overlay-body .ov-login [data-stage="email"] h2 { margin: 0 0 12px; color: #203c2f; font-size: 28px; line-height: 1.25; }
#site-overlay-body .ov-login [data-stage="email"] > p { line-height: 1.5; }
#site-overlay-body .ov-login .tcl-account-check-error:not([hidden]) { margin: 12px 0 0; box-sizing: border-box; overflow-wrap: anywhere; }
#site-overlay-body .ov-login [data-stage="email"] .ov-submit { width: 100%; min-height: 46px; margin-top: 18px; }
#site-overlay-body .ov-login [data-stage="email"] .tcl-social-button { color: #355a3d; }
#site-overlay-body .ov-login [data-stage="email"] .tcl-social-button:disabled { color: #718367; }
#site-overlay-body .ov-login [data-stage="email"] > p:last-child { margin-bottom: 0; font-size: 14px; }
@media (max-width: 480px) {
 #site-overlay-body .ov-login [data-stage="email"] { padding: 22px 20px 20px; }
 #site-overlay-body .ov-login [data-stage="email"] h2 { font-size: 26px; }
}

/* Prevent error copy from changing the login body's intrinsic width. */
#site-overlay-body:has(> .ov-login) { width: 100%; min-width: 0; margin: 0; box-sizing: border-box; scrollbar-gutter: stable both-edges; }
#site-overlay-body > .ov-login { width: 100%; max-width: none; min-width: 0; box-sizing: border-box; }

body.tcl-member-profile .tcl-intro-panel { background: #fff; border: 1px solid #dce3d1; border-radius: 16px; padding: 16px; margin-bottom: 16px; color: #203c2f; }
body.tcl-member-profile .tcl-intro-panel h2 { font-size: 24px; margin: 0 0 14px; }
body.tcl-member-profile .tcl-intro-panel p { margin: 0 0 16px; }
body.tcl-member-profile .tcl-view-about { display: block; text-align: center; padding: 10px 16px; border-radius: 10px; background: #edf1e2; color: #203c2f; font-weight: 600; }
#item-body[aria-busy="true"] { opacity: .5; pointer-events: none; }
.tcl-profile-load-error { padding: 16px; background: #fff1e8; color: #203c2f; border-radius: 10px; }
/* Create-post dialog: opaque theme surface, comfortable controls and primary action. */
body #buddypress .activity-update-form.modal-popup #whats-new-form {
    background: #faf9f3 !important;
    color: #203c2f;
    border: 1px solid #dce3d1 !important;
    border-radius: 20px !important;
    box-shadow: 0 20px 65px #152b2633 !important;
    overflow: hidden;
}
body #buddypress .activity-update-form.modal-popup :is(.activity-form-header, .whats-new-form-header, .whats-new-scroll-view) {
    background: #faf9f3 !important;
    color: #203c2f;
}
body #buddypress .activity-update-form.modal-popup h3 { color: #203c2f; font-family: 'DM Sans', sans-serif; font-size: 24px; }
body #buddypress .activity-update-form.modal-popup :is(#whats-new, #whats-new-title) { color: #203c2f; background: transparent; }
body #buddypress .activity-update-form.modal-popup :is(#whats-new-toolbar, #whats-new-submit) { background: #edf1e2 !important; }
body #buddypress .activity-update-form.modal-popup #aw-whats-new-submit {
    appearance: none; background: #d2f52a !important; color: #203c2f !important;
    border: 1px solid #c4e620 !important; border-radius: 999px !important;
    min-width: 110px; min-height: 44px; padding: 10px 24px !important;
    font: 700 15px 'DM Sans', sans-serif; box-shadow: none !important;
}
body #buddypress .activity-update-form.modal-popup #aw-whats-new-submit:hover { background: #c4e620 !important; }
body #buddypress .activity-update-form.modal-popup #aw-whats-new-submit:disabled { opacity: .5; cursor: not-allowed; }
body #buddypress .activity-update-form.modal-popup #aw-whats-new-submit:focus-visible { outline: 2px solid #203c2f; outline-offset: 2px; }
/* Keep routine success notices out of the profile header; retain errors. */
body.tcl-member-profile #item-header .bp-feedback.success { display: none !important; }

#tcl-delete-post-dialog { width: min(420px, calc(100vw - 32px)); box-sizing: border-box; padding: 26px; border: 1px solid #dce3d1; border-radius: 20px; background: #faf9f3; color: #203c2f; box-shadow: 0 20px 65px #152b2633; }
#tcl-delete-post-dialog::backdrop { background: #152b2699; backdrop-filter: blur(3px); }
#tcl-delete-post-dialog h2 { margin: 0 0 14px; font: 700 24px 'DM Sans', sans-serif; color: #203c2f; }
#tcl-delete-post-dialog p { margin: 0 0 22px; }
#tcl-delete-post-dialog .tcl-delete-actions { display: flex; gap: 12px; }
#tcl-delete-post-dialog button { flex: 1; padding: 12px 20px; min-height: 44px; border: 1px solid #dce3d1; border-radius: 999px; background: #edf1e2; color: #203c2f; font-weight: 700; cursor: pointer; }
#tcl-delete-post-dialog button[data-delete] { background: #d2f52a; border-color: #c4e620; }
#tcl-delete-post-dialog button:focus-visible { outline: 2px solid #638446; outline-offset: 3px; }
#tcl-delete-post-dialog button:disabled { opacity: .6; cursor: wait; }
#tcl-delete-post-dialog .tcl-delete-error { color: #a7472e; }

body.tcl-news-feed,body.tcl-news-feed #main,body.tcl-news-feed #buddypress{background:#f5f4eb}
#buddypress #object-nav :is(#messages-personal-li,#followers-personal-li,#following-personal-li,#settings-personal-li,#account-personal-li){display:none!important}
#buddypress .tcl-about-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;color:#203c2f}
#buddypress .tcl-about-panel>section{padding:24px;background:white;border:1px solid #dce3d1;border-radius:18px}
#buddypress .tcl-about-panel>section:last-child{grid-column:1/-1}
#buddypress .tcl-about-panel dl{display:grid;grid-template-columns:1fr 1.5fr;gap:14px;margin:0}
#buddypress .tcl-about-panel dd{margin:0}
#buddypress .tcl-about-panel textarea{width:100%;box-sizing:border-box;padding:14px;border:1px solid #b9c9a5;border-radius:12px;background:#f5f7ed;color:#203c2f}
#buddypress .tcl-about-panel button{padding:12px 24px;border:0;border-radius:10px;background:#d2f52a;color:#203c2f;font-weight:600}
body.tcl-member-profile #buddypress .tcl-edit-highlights{background:#edf1e2;border-radius:10px;padding:10px 16px;font-weight:600}
body.tcl-member-profile #buddypress .member-media{background:white;border:1px solid #dce3d1;border-radius:18px;padding:22px}
body.tcl-member-profile #buddypress .member-media #bp-add-video{display:none!important}
body.tcl-member-profile #buddypress .member-media :is(.button,#bb-album-title){padding:10px 18px;border:1px solid #dce3d1;border-radius:10px;background:#edf1e2;color:#203c2f}
body.tcl-member-profile #buddypress .member-media #bb-delete-album{background:#faeee8;color:#a34e36;border-color:#d7a796}
body.tcl-member-profile #buddypress #header-cover-image>.header-cover-img{position:absolute;inset:0!important;margin:0!important;transform:none!important;width:100%;height:100%;object-fit:cover}
body.tcl-member-profile #buddypress #item-header-avatar img.avatar{margin:0!important;float:none}
body.tcl-member-profile #buddypress #item-header-avatar .link-change-overlay{inset:0 auto auto 0!important;width:112px;height:112px;border-radius:50%}
body.tcl-member-profile #buddypress #item-header-avatar a.link-change-profile-image{top:56px;left:56px;margin:0!important;transform:translate(-50%,-50%)}
@media(max-width:800px){body.tcl-member-profile #buddypress #item-header-avatar .link-change-overlay{width:88px;height:88px}body.tcl-member-profile #buddypress #item-header-avatar a.link-change-profile-image{top:44px;left:44px}}
@media(max-width:650px){#buddypress .tcl-about-panel{grid-template-columns:1fr}}
.headerProfile .tcl-messages-menu{position:relative;margin:0 4px;color:#edf1e2}.tcl-messages-menu summary{display:flex;cursor:pointer;list-style:none}.tcl-messages-menu summary::-webkit-details-marker{display:none}.headerProfile .tcl-messages-panel{position:absolute;right:0;top:40px;width:350px;max-width:calc(100vw - 24px);padding:16px;box-sizing:border-box;z-index:100101;border:1px solid #c8d4b5;border-radius:16px;background:#faf9f3;color:#203c2f;font:14px/1.5 'DM Sans',sans-serif;box-shadow:0 12px 35px #152b2633}.tcl-messages-panel header{display:flex;justify-content:space-between}.tcl-messages-panel h2{font-size:22px;margin:0}.tcl-messages-close{border:0;border-radius:50%;background:#edf1e2;color:#203c2f}.tcl-messages-list{font-size:14px;margin:14px 0;max-height:50vh;overflow:auto}.tcl-message-row{display:flex;gap:12px;padding:10px;color:#203c2f!important}.tcl-message-row img{width:42px!important;height:42px!important;margin:0!important;border-radius:50%}.tcl-message-row strong,.tcl-message-row span>span{display:block;font-size:14px}.tcl-messages-all{display:block;background:#edf1e2;color:#203c2f!important;text-align:center;padding:10px;border-radius:10px;font-size:14px!important}
body:has(.tcl-community-timeline),body:has(.tcl-community-timeline) #main,body:has(.tcl-community-timeline) #buddypress{background:#f5f4eb!important}
body.tcl-member-profile #buddypress #item-header-avatar{padding:0!important;align-self:flex-start}body.tcl-member-profile #buddypress #item-header-avatar a.link-change-profile-image{display:flex;align-items:center;justify-content:center;z-index:3}body.tcl-member-profile #buddypress #item-header-avatar .link-change-overlay{margin:0;transform:none;pointer-events:none}

#tcl-avatar-crop-dialog{width:min(640px,calc(100vw - 24px));padding:0;border:1px solid #dce3d1;border-radius:20px;background:#faf9f3;color:#203c2f}#tcl-avatar-crop-dialog::backdrop{background:#152b2699;backdrop-filter:blur(3px)}#tcl-avatar-crop-dialog header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid #dce3d1}#tcl-avatar-crop-dialog h2{margin:0;font-size:24px;color:#203c2f}#tcl-avatar-crop-dialog button{border:0;border-radius:50%;background:#edf1e2;color:#203c2f;width:36px;height:36px;font-size:24px;cursor:pointer}#tcl-avatar-crop-dialog>p{margin:14px 24px;font-size:14px}#tcl-avatar-crop-dialog iframe{display:block;width:100%;height:min(500px,65vh);border:0}
#buddypress .tcl-player-banner{position:relative}.tcl-player-no-ladder-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#203c2fb3;border-radius:inherit;z-index:2}.tcl-player-no-ladder-overlay button{background:#d2f52abf;color:#203c2f;border:0;border-radius:10px;padding:12px 24px;font-weight:700}#tcl-join-picker{width:min(440px,calc(100vw - 30px));box-sizing:border-box;padding:24px;border:1px solid #dce3d1;border-radius:18px;background:#faf9f3;color:#203c2f}#tcl-join-picker::backdrop{background:#152b2699}#tcl-join-picker input,#tcl-join-picker select{display:block;width:100%;box-sizing:border-box;margin:8px 0 16px;padding:12px;border:1px solid #b9c9a5;border-radius:10px;background:#f5f7ed}#tcl-join-picker button{padding:10px 20px;border:0;border-radius:10px;background:#edf1e2;color:#203c2f}
#tcl-avatar-crop-dialog { min-width: min(300px, calc(100vw - 24px)); }
#tcl-avatar-crop-dialog { width: 500px; max-width: calc(100vw - 24px); }
#header-cover-image.tcl-cover-moving,#header-cover-image.tcl-cover-moving .header-cover-img { cursor: ns-resize !important; touch-action: none; user-select: none; }
#header-cover-image.tcl-cover-moving { outline: 2px solid #d2f52a; outline-offset: -2px; }
.tcl-cover-status { padding: 10px 18px; background: #edf1e2; color: #203c2f; font-size: 14px; }
#header-cover-image > .tcl-cover-status { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 5; width: max-content; max-width: calc(100% - 32px); box-sizing: border-box; margin: 0; padding: 10px 18px; background: #203c2f99; color: white; border-radius: 10px; text-align: center; pointer-events: none; }

/* Owner-only cover controls are rendered by BuddyBoss; keep them visible. */
body.tcl-member-profile #buddypress #header-cover-image :is(a.link-change-cover-image, a.position-change-cover-image) {
    border: 2px solid black;
    filter: drop-shadow(2px 4px 6px black);
    opacity: 1 !important;
    visibility: visible !important;
}
body.tcl-member-profile #buddypress #header-cover-image :is(a.link-change-cover-image, a.position-change-cover-image) {
    background: white !important;
    color: #203c2f !important;
}
#buddypress .tcl-player-no-ladder-overlay .tcl-join-open {
    background: #a5cf25bf;
    color: #203c2f;
}

/* Equal communication control boxes, centered alongside the account avatar. */
.primary-nav-inner .headerProfile { display: flex; align-items: center; gap: 4px; }
.headerProfile #tcl-notifications-toggle { display: flex; align-items: center; justify-content: center; width: 32px; height: 40px; margin: 0 !important; }
.headerProfile #tcl-notifications-toggle .notif-wrap { display: flex; align-items: center; justify-content: center; margin: 0 !important; }
.primary-nav-inner #tcl-notifications-toggle img { width: 26px !important; height: 26px !important; margin: 0 !important; object-fit: contain; }
.headerProfile .tcl-messages-menu { margin: 0; }
.headerProfile .tcl-messages-menu > summary { display: flex; align-items: center; justify-content: center; width: 32px; height: 40px; }
.headerProfile .tcl-account-menu > .menuPimg { margin-top: 0; }

.tcl-community-timeline .tcl-community-heading { margin: 0 0 24px; padding: 24px 26px; border: 1px solid #dce3d1; border-radius: 18px; background: #edf1e2; color: #203c2f; }
.tcl-community-heading > span { font-size: 11px; font-weight: 700; letter-spacing: .14em; color: #62754f; }
.tcl-community-heading h1 { margin: 8px 0 10px; font: 700 clamp(26px, 4vw, 34px)/1.15 'DM Sans', sans-serif; color: #203c2f; }
.tcl-community-heading p { margin: 0; font-size: 15px; line-height: 1.6; color: #52674c; }
@media(max-width: 480px) { .tcl-community-timeline .tcl-community-heading { padding: 20px; margin-bottom: 18px; } }
.tcl-account-identity > .tcl-account-profile-link { display: flex; align-items: center; gap: 10px; flex: 1; min-width: 0; padding: 0 !important; border: 0 !important; background: transparent !important; color: inherit; text-decoration: none; }

.tcl-feed-user-card { display: none; }
.tcl-community-layout { width: 100%; }
@media(min-width: 1100px) {
 .tcl-community-layout:has(.tcl-feed-user-card) { display: grid; grid-template-columns: 260px minmax(0,680px); gap: 28px; max-width: 968px; margin: 0 auto; align-items: start; }
 .tcl-community-layout .tcl-feed-user-card { display: block; position: sticky; top: 90px; background: #fff; border: 1px solid #dce3d1; border-radius: 18px; overflow: hidden; }
 .tcl-community-layout > .tcl-community-timeline { min-width: 0; width: 100%; margin: 0 !important; }
 .tcl-feed-user-identity { display: flex; align-items: center; gap: 12px; padding: 22px 18px; background: #edf1e2; color: #203c2f !important; text-decoration: none; }
 .tcl-feed-user-identity img.avatar { width: 56px; height: 56px; flex: 0 0 56px; border-radius: 50%; object-fit: cover; }
 .tcl-feed-user-identity strong { font-size: 18px; overflow-wrap: anywhere; }
 .tcl-feed-user-card nav { padding: 8px 14px; }
 .tcl-feed-user-card nav a { display: flex; justify-content: space-between; align-items: center; padding: 12px 8px; border-bottom: 1px solid #edf1e2; color: #203c2f; text-decoration: none; font-size: 14px; font-weight: 600; }
 .tcl-feed-user-card nav a:last-child { border-bottom: 0; }
 .tcl-feed-user-card nav a:hover { background: #f3f5e9; border-radius: 8px; }
 .tcl-feed-user-card nav span { color: #72885d; font-size: 20px; }
}
.tcl-feed-user-card nav .tcl-back-office-pending { display: flex; justify-content: space-between; align-items: center; padding: 12px 8px; border-bottom: 1px solid #edf1e2; color: #203c2f; font-size: 14px; font-weight: 600; }
.headerProfile .tcl-messages-menu { margin-right: 8px; }

/* Posts use the message body without an optional title field. */
body #buddypress .activity-update-form #whats-new-title,
body .activity-update-form .whats-new-title { display: none !important; }

/* Keep composer header actions minimal and emoji controls aligned. */
body #buddypress .activity-update-form.modal-popup .bb-modal-header-actions > :not(.bb-model-close-button) { display: none !important; }
body #buddypress .activity-update-form.modal-popup .post-emoji { display: inline-flex; align-items: center; justify-content: center; vertical-align: middle; }
body #buddypress .activity-update-form.modal-popup .post-emoji .emojionearea-button { position: relative; top: auto; right: auto; margin: 0; width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; }
body #buddypress .activity-update-form.modal-popup .post-emoji .emojionearea-button > div { top: 50%; left: 50%; transform: translate(-50%, -50%); margin: 0; }
body #buddypress .activity-update-form.modal-popup .emojionearea .emojionearea-picker { left: auto !important; right: 0 !important; margin-right: 0 !important; max-width: calc(100vw - 64px); box-sizing: border-box; z-index: 100; }
body #buddypress .activity-update-form.modal-popup #whats-new-form { overflow: visible; }
body #buddypress .activity-update-form.modal-popup #whats-new-form:has(.emojionearea-picker) { overflow: visible !important; }

/* Anchor the emoji menu inward instead of BuddyBoss's desktop negative offset. */
body #buddypress .activity-update-form.modal-popup .emojionearea .emojionearea-picker {
  right: 0 !important;
  bottom: 32px !important;
  width: min(300px, calc(100vw - 80px));
}
body #buddypress .activity-update-form.modal-popup .emojionearea-picker .emojionearea-wrapper {
  width: 100% !important;
  box-sizing: border-box;
}
/* Poll composer: match the site's cream, forest and lime dialog palette. */
body #bb-activity-poll-form_modal .modal-container {
  width: 600px; max-width: calc(100vw - 32px); margin: 24px auto;
  background: #faf9f3; color: #203c2f; border: 1px solid #dce3d1;
  border-radius: 20px; overflow: hidden; font-family: 'DM Sans', sans-serif;
  box-shadow: 0 20px 60px #203c2f33;
}
body #bb-activity-poll-form_modal .bb-model-header {
  display: flex; align-items: center; justify-content: space-between;
  padding: 22px 24px; background: #fff; border-bottom: 1px solid #dce3d1;
}
body #bb-activity-poll-form_modal .bb-model-header h4 { margin: 0; color: #203c2f; font-size: 24px; font-weight: 700; }
body #bb-activity-poll-form_modal .bb-model-close-button {
  position: static; display: inline-flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; border-radius: 50%; background: #edf1e2; color: #355a3d;
  text-decoration: none; flex-shrink: 0;
}
body #bb-activity-poll-form_modal .bb-action-popup-content { padding: 22px 24px; background: #faf9f3; max-height: 65vh; overflow-y: auto; }
body #bb-activity-poll-form_modal label { color: #203c2f; font-size: 14px; line-height: 1.5; }
body #bb-activity-poll-form_modal .bb-action-popup-content > label { display: block; font-weight: 700; margin-bottom: 8px; }
body #bb-activity-poll-form_modal .input-field { margin-bottom: 18px; }
body #bb-activity-poll-form_modal :is(input[type="text"], select) {
  width: 100%; box-sizing: border-box; min-height: 46px; padding: 11px 14px;
  border: 1px solid #cbd8b9 !important; border-radius: 10px; background-color: #f3f5e9 !important;
  color: #203c2f !important; font: 400 14px/1.5 'DM Sans', sans-serif; box-shadow: none;
}
body #bb-activity-poll-form_modal input::placeholder { color: #73816e; opacity: 1; }
body #bb-activity-poll-form_modal :is(input,select):focus-visible { outline: 2px solid #8ba94f; outline-offset: 2px; }
body #bb-activity-poll-form_modal .bp-checkbox-wrap { display: flex; align-items: center; gap: 10px; }
body #bb-activity-poll-form_modal .bp-checkbox-wrap input[type="checkbox"] {
  position: static !important; opacity: 1 !important; appearance: auto; flex: 0 0 18px;
  width: 18px !important; height: 18px !important; margin: 0 !important; accent-color: #355a3d;
}
body #bb-activity-poll-form_modal .bp-checkbox-wrap label { margin: 0; padding: 0; cursor: pointer; }
body #bb-activity-poll-form_modal .bp-checkbox-wrap label::before,
body #bb-activity-poll-form_modal .bp-checkbox-wrap label::after { display: none !important; }
body #bb-activity-poll-form_modal .bb-model-footer { display: flex; justify-content: flex-end; gap: 10px; padding: 18px 24px; background: #fff; border-top: 1px solid #dce3d1; }
body #bb-activity-poll-form_modal :is(.bb-poll-option_add,.bb-activity-poll-cancel,.bb-activity-poll-submit) {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  padding: 10px 20px; min-height: 42px; margin: 0; border: 1px solid #dce3d1 !important;
  border-radius: 10px; background: #edf1e2 !important; color: #203c2f !important;
  font: 600 14px/1.4 'DM Sans', sans-serif; text-decoration: none !important; box-sizing: border-box;
}
body #bb-activity-poll-form_modal .bb-activity-poll-submit { background: #cefa22 !important; border-color: #c5e629 !important; }
body #bb-activity-poll-form_modal .bb-activity-poll-submit[disabled] { opacity: .45; cursor: not-allowed; }
body #bb-activity-poll-form_modal :is(.bb-poll-option_add,.bb-activity-poll-cancel):hover { background: #dce6c7 !important; }
@media (max-width: 480px) {
  body #bb-activity-poll-form_modal :is(.bb-model-header,.bb-action-popup-content,.bb-model-footer) { padding: 18px; }
  body #bb-activity-poll-form_modal .bb-model-header h4 { font-size: 22px; }
}

/* One searchable city dropdown with visible matching-team feedback. */
#tcl-join-picker .tcl-city-combobox { position: relative; }
#tcl-join-picker input { color: #203c2f !important; }
#tcl-city-options { position: absolute; top: 100%; left: 0; right: 0; max-height: 220px; overflow-y: auto; z-index: 5; background: #fff; border: 1px solid #b9c9a5; border-radius: 10px; box-shadow: 0 8px 24px #203c2f22; }
#tcl-city-options[hidden] { display: none; }
#tcl-city-options [role="option"] { padding: 10px 14px; cursor: pointer; color: #203c2f; }
#tcl-city-options [role="option"]:hover,
#tcl-city-options [aria-selected="true"] { background: #edf1e2; }
#tcl-team-results:not(:empty) { padding: 16px; margin: 0 0 18px; border-radius: 10px; background: #edf1e2; color: #203c2f !important; }
#tcl-team-results p { margin: 0 0 8px; color: #203c2f !important; font-weight: 600; }
#tcl-team-results a { display: inline-block; color: #203c2f !important; font-weight: 700; text-decoration: underline; }

/* Member Back Office */
#item-header { position: relative; }
.tcl-profile-office { position: absolute; top: 16px; right: 16px; z-index: 10; padding: 10px 18px; background: #cefa22; color: #203c2f !important; border-radius: 10px; font-weight: 700; text-decoration: none; }
.tcl-office { display: grid; grid-template-columns: 220px minmax(0,1fr); gap: 24px; color: #203c2f; }
.tcl-office aside,.tcl-office-card { background: white; border: 1px solid #dce3d1; border-radius: 18px; padding: 22px; }
.tcl-office aside { align-self: start; padding: 18px 12px; }
.tcl-office-eyebrow { display: block; padding: 0 10px 12px; font-size: 11px; letter-spacing: .14em; font-weight: 700; }
.tcl-office nav a { display: flex; justify-content: space-between; padding: 12px 10px; border-radius: 10px; color: #203c2f; }
.tcl-office nav a:hover { background: #edf1e2; }
.tcl-office h2,.tcl-office h3 { color: #203c2f; margin: 0 0 12px; }
.tcl-office-card { margin-top: 20px; }
.tcl-office-identity { display: flex; align-items: flex-start; gap: 18px; }
.tcl-office-identity img { border-radius: 50%; width: 72px; height: 72px; }
.tcl-office-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.tcl-office-actions :is(a,button) { padding: 11px 18px; border: 0; border-radius: 10px; background: #edf1e2; color: #203c2f; font: 600 14px 'DM Sans',sans-serif; text-decoration: none; cursor: pointer; }
.tcl-office-actions .tcl-office-primary { background: #cefa22; }
.tcl-office input { flex: 1; min-width: 180px; padding: 12px; border: 1px solid #cbd8b9; background: #faf9f3; border-radius: 10px; color: #203c2f; }
.tcl-office label { display: block; margin-bottom: 8px; }
.tcl-office-note { font-size: 13px; margin-top: 10px; }
@media(max-width:700px) { .tcl-office { grid-template-columns: 1fr; } .tcl-office nav { display:flex; flex-wrap:wrap; } .tcl-office-identity { flex-wrap:wrap; } }

/* Keep the Back Office action below the cover, in the white details area. */
#item-header .tcl-profile-office { top: 216px; right: 24px; }
@media(max-width:700px) {
  #item-header .tcl-profile-office { top: auto; bottom: 16px; right: 16px; }
}

/* The private workspace has its own navigation, without the public profile masthead. */
body:has(.tcl-office) #buddypress :is(.item-header-wrap, #item-header, #object-nav) { display: none !important; }

.tcl-office-topbar { display: flex; justify-content: space-between; align-items: center; gap: 20px; background: #203c2f; color: #faf9f3; padding: 20px 24px; border-radius: 16px; margin: 0 0 24px; }
.tcl-office-topbar > div { display: grid; gap: 5px; }
.tcl-office-topbar > div > span { font-size: 10px; font-weight: 700; letter-spacing: .13em; color: #dce6c7; }
.tcl-office-topbar strong { font-size: 17px; }
.tcl-office-topbar nav { display: flex; flex-wrap: wrap; gap: 8px; }
.tcl-office-topbar nav a { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 10px 16px; border: 1px solid #ffffff55; border-radius: 24px; background: #ffffff0d; color: #fff !important; font-size: 13px; font-weight: 700; text-decoration: none; }
.tcl-office-topbar nav a:hover { background: #ffffff22; }
.tcl-office-topbar nav .tcl-office-create { background: #cefa22; border-color: #cefa22; color: #203c2f !important; }
@media(max-width:800px) { .tcl-office-topbar { align-items: flex-start; flex-direction: column; padding: 20px; } }

/* Back Office sections stay inside the private workspace. */
.tcl-office aside nav button { display:flex; width:100%; text-align:left; padding:12px 10px; border:0; border-radius:10px; background:transparent; color:#203c2f; font:500 14px 'DM Sans',sans-serif; cursor:pointer; }
.tcl-office aside nav button:hover,.tcl-office aside nav button.is-active { background:#edf1e2; }
#tcl-office-frame { width:100%; min-height:75vh; border:0; background:#f7f6ed; }
#tcl-office-home[hidden],#tcl-office-workspace[hidden] { display:none!important; }
body:has(.tcl-office) :is(#item-body,.entry-content,#buddypress,.bp-wrap) { margin-top:0!important; padding-top:0!important; }
body:has(.tcl-office) .tcl-office-topbar { width:100vw; max-width:none; box-sizing:border-box; margin-left:calc(50% - 50vw); margin-top:0; border-radius:0; padding-left:max(24px,calc((100vw - 1100px)/2)); padding-right:max(24px,calc((100vw - 1100px)/2)); }

/* Distinguish the workspace header from the main navigation. */
body:has(.tcl-office) .tcl-office-topbar { background: #dce6c7; color: #203c2f; border-bottom: 1px solid #c5d2b2; }
body:has(.tcl-office) .tcl-office-topbar > div > span { color: #52674c; }
body:has(.tcl-office) .tcl-office-topbar nav a { background: #ffffff66; border-color: #a9bd98; color: #203c2f !important; }
body:has(.tcl-office) .tcl-office-topbar nav a:hover { background: #ffffffaa; }
body:has(.tcl-office) .tcl-office-topbar nav .tcl-office-create { background: #cefa22; border-color: #b9dc30; }

/* Preserve sidebar navigation styling for section buttons. */
body #buddypress .tcl-office aside nav { display: flex; flex-direction: column; gap: 4px; }
body #buddypress .tcl-office aside nav button { appearance: none; display: flex !important; align-items: center; justify-content: space-between; width: 100% !important; min-height: 44px; margin: 0 !important; padding: 12px 10px !important; border: 0 !important; border-radius: 10px !important; background: transparent !important; color: #203c2f !important; box-shadow: none !important; text-align: left; font: 500 14px/1.5 'DM Sans', sans-serif; }
body #buddypress .tcl-office aside nav button::after { content: '›'; color: #72885d; }
body #buddypress .tcl-office aside nav button:hover,
body #buddypress .tcl-office aside nav button.is-active { background: #edf1e2 !important; }

/* Compact workspace header matching the reference's 68px desktop bar. */
@media (min-width: 801px) {
  body:has(.tcl-office) .tcl-office-topbar { height: 68px; min-height: 68px; padding-top: 10px; padding-bottom: 10px; }
}

/* Reference spacing: compact two-line identity and vertically centered actions. */
body:has(.tcl-office) .tcl-office-topbar > div { gap: 3px; }
body:has(.tcl-office) .tcl-office-topbar > div > span { font-size: 10px; line-height: 12px; letter-spacing: .1em; }
body:has(.tcl-office) .tcl-office-topbar strong { font-size: 16px; line-height: 20px; }
body:has(.tcl-office) .tcl-office-topbar nav { align-items: center; gap: 8px; margin: 0; padding: 0; }
body:has(.tcl-office) .tcl-office-topbar nav a { box-sizing: border-box; height: 44px; min-height: 44px; padding: 0 16px; margin: 0; font-size: 13px; line-height: 18px; }
@media (min-width: 801px) {
  body:has(.tcl-office) .tcl-office-topbar { align-items: center; padding-top: 12px; padding-bottom: 12px; }
}

/* Back Office actions styled to match the supplied reference. */
body:has(.tcl-office) .tcl-office-topbar nav a { gap: 8px; padding: 0 12px; border-radius: 999px; border: 1px solid #82998e; background: #496359; color: #fff !important; font-size: 13px; font-weight: 700; box-shadow: none; text-decoration: none; }
body:has(.tcl-office) .tcl-office-topbar nav a svg { flex: 0 0 16px; display: block; }
body:has(.tcl-office) .tcl-office-topbar nav a:hover { background: #3c584c; }
body:has(.tcl-office) .tcl-office-topbar nav .tcl-office-create { background: #824027; border-color: #824027; color: #fff !important; }
body:has(.tcl-office) .tcl-office-topbar nav .tcl-office-create:hover { background: #6d3420; }

/* Center the action row and each icon/label within the workspace bar. */
body:has(.tcl-office) .tcl-office-topbar nav { align-self: center; display: flex; align-items: center; margin-block: 0 !important; }
body:has(.tcl-office) .tcl-office-topbar nav a { display: inline-flex !important; align-items: center !important; justify-content: center; vertical-align: middle; padding-block: 0 !important; }
@media(min-width:801px) {
 body:has(.tcl-office) .tcl-office-topbar { display: flex; align-items: center !important; padding-block: 0 !important; }
}

/* Muted slate-green separates Back Office from the forest navigation. */
body:has(.tcl-office) .tcl-office-topbar { background: #3c584f; color: #fff; border-bottom-color: #304a41; }
body:has(.tcl-office) .tcl-office-topbar > div > span { color: #e2e9d8; }

/* Keep Back Office navigation visible while scrolling its content. */
@media (min-width: 701px) {
  body #buddypress .tcl-office > aside {
    position: sticky;
    top: 80px;
    align-self: start;
    max-height: calc(100dvh - 96px);
    overflow-y: auto;
  }
  body.admin-bar #buddypress .tcl-office > aside {
    top: 112px;
    max-height: calc(100dvh - 128px);
  }
}

/* Shared Back Office section design, scoped to the embedded workspace. */
body.tcl-office-embedded { color:#203c2f; font-family:'DM Sans',sans-serif; }
body.tcl-office-embedded #buddypress { background:transparent!important; }
body.tcl-office-embedded #buddypress :is(h1,h2,h3,h4,label,dt,dd,legend,p) { color:#203c2f; }
body.tcl-office-embedded #buddypress :is(.standard-form,#settings-form,#message-thread,.messages-screen,.bp-messages-content,.members-list,.notifications,.notification-settings,.profile-fields) { background:#fff; border:1px solid #dce3d1; border-radius:16px; padding:22px; box-sizing:border-box; }
body.tcl-office-embedded #buddypress :is(input[type=text],input[type=email],input[type=password],input[type=search],input[type=url],input[type=number],textarea,select) { background-color:#f5f7ed!important; color:#203c2f!important; border:1px solid #b9c9a5!important; border-radius:10px!important; padding:11px 14px; min-height:44px; max-width:100%; box-sizing:border-box; font:400 14px/1.5 'DM Sans',sans-serif; }
body.tcl-office-embedded #buddypress :is(input,textarea,select):focus-visible { outline:2px solid #8ba94f; outline-offset:2px; }
body.tcl-office-embedded #buddypress :is(input[type=checkbox],input[type=radio]) { accent-color:#355a3d; }
body.tcl-office-embedded #buddypress :is(button,input[type=submit],input[type=button],a.button,.generic-button a) { background:#edf1e2; color:#203c2f; border:1px solid #dce3d1; border-radius:10px; padding:10px 18px; font:600 14px/1.4 'DM Sans',sans-serif; box-shadow:none; text-decoration:none; }
body.tcl-office-embedded #buddypress :is(input[type=submit],button[type=submit],.submit button) { background:#cefa22; border-color:#c5e629; }
body.tcl-office-embedded #buddypress :is(button,input[type=submit],a.button):disabled { opacity:.5; cursor:not-allowed; }
body.tcl-office-embedded #buddypress .bp-subnavs { background:#edf1e2; border:0; border-radius:12px; padding:6px; margin-bottom:20px; }
body.tcl-office-embedded #buddypress .bp-subnavs ul { display:flex; flex-wrap:wrap; gap:4px; }
body.tcl-office-embedded #buddypress .bp-subnavs li a { color:#203c2f; padding:10px 14px; border-radius:8px; }
body.tcl-office-embedded #buddypress .bp-subnavs li.current a { background:#dce6c7!important; font-weight:700; }
body.tcl-office-embedded #buddypress table { width:100%; border-collapse:separate; border-spacing:0; background:white; color:#203c2f; }
body.tcl-office-embedded #buddypress th { background:#edf1e2; color:#203c2f; padding:14px; text-align:left; }
body.tcl-office-embedded #buddypress td { padding:14px; border-bottom:1px solid #e6ebdc; }
body.tcl-office-embedded #buddypress .bp-list > li { border-bottom:1px solid #dce3d1; padding:18px; }
body.tcl-office-embedded #buddypress .bp-list .avatar { border-radius:50%; object-fit:cover; }
body.tcl-office-embedded #buddypress :is(.description,.field-visibility-settings-notoggle,.date,.activity) { color:#627560; }
body.tcl-office-embedded #buddypress .bp-feedback { border-radius:12px; box-shadow:none; overflow:hidden; }
@media(max-width:600px) { body.tcl-office-embedded #buddypress :is(.standard-form,#settings-form,#message-thread,.bp-messages-content) { padding:16px; } }

body:has(.tcl-office) .tcl-office-topbar > div > strong { color: #ffffff !important; font-weight: 700 !important; }

/* Compact PM, bell, avatar and logout controls. */
.primary-nav-inner .headerProfile { gap: 14px; }
.headerProfile .tcl-messages-menu { order: 1; margin-right: 0; }
.headerProfile .tcl-messages-menu > summary { width: auto; gap: 7px; border: 0; }
.headerProfile .tcl-messages-menu > summary::after { content: 'PM'; font: 700 13px 'DM Sans',sans-serif; }
.headerProfile #tcl-notifications-toggle { order: 2; width: 42px; height: 42px; border: 1px solid #dce3d1; border-radius: 50%; background: #fff; color: #203c2f; box-shadow: 0 2px 4px #00000014; }
.headerProfile .tcl-account-menu { order: 3; }
.headerProfile .menuPimg img.avatar { width: 32px!important; height:32px!important; margin:0!important; border-radius:50%; }
.headerProfile .tcl-header-logout { order:4; display:inline-flex; align-items:center; gap:8px; padding:12px 18px; border:1px solid #dce3d1; border-radius:999px; background:#faf9f3; color:#203c2f; font-size:14px; font-weight:600; text-decoration:none; white-space:nowrap; }
@media(max-width:480px){ .primary-nav-inner .headerProfile { gap:8px; } .headerProfile .tcl-header-logout { padding:10px; font-size:12px; } }

body.tcl-office-embedded #notifications-filter-select,
body.tcl-office-embedded .subnav-filters:has(#notifications-filter-by) { display: none !important; }

/* Consistent BuddyBoss feedback notices across profiles and Back Office. */
body #buddypress .bp-feedback,
body .bp-feedback {
  --tcl-notice-bg: #edf1e2;
  --tcl-notice-border: #cbd8b9;
  --tcl-notice-ink: #355a3d;
  align-items: center; gap: 12px;
  padding: 14px 16px; border: 1px solid var(--tcl-notice-border) !important;
  border-radius: 12px; background: var(--tcl-notice-bg) !important;
  color: var(--tcl-notice-ink) !important; box-shadow: none !important;
}
body .bp-feedback.success { --tcl-notice-bg: #e8f0dd; --tcl-notice-border: #bdcfa8; --tcl-notice-ink: #294f2e; }
body .bp-feedback.warning { --tcl-notice-bg: #faf2df; --tcl-notice-border: #dfcca0; --tcl-notice-ink: #775b27; }
body .bp-feedback.error { --tcl-notice-bg: #faeee8; --tcl-notice-border: #dfb7a6; --tcl-notice-ink: #944c34; }
body #buddypress .bp-feedback .bp-icon,
body .bp-feedback .bp-icon {
  display: inline-flex; align-items: center; justify-content: center;
  position: static; flex: 0 0 28px; width: 28px; height: 28px; min-height: 0;
  padding: 0; margin: 0; border-radius: 50%;
  background: transparent !important; color: var(--tcl-notice-ink) !important;
}
body #buddypress .bp-feedback .bp-icon::before,
body .bp-feedback .bp-icon::before { position: static; margin: 0; color: inherit; font-size: 19px; }
body #buddypress .bp-feedback p,
body .bp-feedback p { margin: 0 !important; padding: 0 !important; color: var(--tcl-notice-ink) !important; font: 400 14px/1.6 'DM Sans', sans-serif; }
body .bp-feedback a { color: inherit; text-decoration: underline; font-weight: 600; }

/* Give the main navigation the reference's roomier vertical spacing. */
.primary-nav-inner { padding-top: 7px !important; padding-bottom: 7px !important; }

/* Allow navigation padding to increase the bar's natural height. */
.primary-nav-bar { height: auto !important; min-height: 68px; }
.primary-nav-inner { box-sizing: border-box; min-height: 68px; }

/* Compact account dropdown matching the reference. */
.primary-nav-inner #tcl-account-dropdown { width:192px; min-width:192px; padding:6px 0; background:#fff; border:1px solid #e2ded5; border-radius:10px; box-shadow:0 3px 8px #00000026; overflow:hidden; }
.primary-nav-inner #tcl-account-dropdown > a { display:flex; align-items:center; gap:9px; width:100%; box-sizing:border-box; padding:8px 12px; margin:0; min-height:32px; border:0; border-radius:0; background:transparent; color:#302e2a; font:400 14px/1.4 'DM Sans',sans-serif; text-decoration:none; }
.primary-nav-inner #tcl-account-dropdown > a svg { flex:0 0 17px; color:#887e74; }
.primary-nav-inner #tcl-account-dropdown > a:hover { background:#f4f5ee; }
.primary-nav-inner #tcl-account-dropdown > .tcl-account-logout-row { border-top:1px solid #e2ded5; margin-top:4px; padding-top:11px; color:#e64d3d; }
.primary-nav-inner #tcl-account-dropdown > .tcl-account-logout-row svg { color:inherit; }
