/*
 * Pacific Salmon Slam account and passport UI
 * Reusable design tokens, cards, grids, buttons and form components.
 */

:root {
	--bcslam-navy: #08243a;
	--bcslam-navy-deep: #051a2b;
	--bcslam-navy-soft: #123b58;
	--bcslam-green: #5a7531;
	--bcslam-green-hover: #485f27;
	--bcslam-green-soft: #eef3e8;
	--bcslam-gold: #d4ac45;
	--bcslam-gold-hover: #bc9130;
	--bcslam-gold-soft: #fbf5e6;
	--bcslam-cream: #f7f5ef;
	--bcslam-surface: #ffffff;
	--bcslam-surface-soft: #f5f7f4;
	--bcslam-border: #dfe5dc;
	--bcslam-border-strong: #cdd7c8;
	--bcslam-text: #183047;
	--bcslam-muted: #657487;
	--bcslam-success: #317b43;
	--bcslam-warning: #9a6a13;
	--bcslam-danger: #a83b45;
	--bcslam-info: #176b91;
	--bcslam-radius-sm: 10px;
	--bcslam-radius-md: 16px;
	--bcslam-radius-lg: 22px;
	--bcslam-shadow-sm: 0 8px 24px rgba(8, 36, 58, .06);
	--bcslam-shadow-md: 0 16px 44px rgba(8, 36, 58, .10);
	--bcslam-space-1: 6px;
	--bcslam-space-2: 10px;
	--bcslam-space-3: 14px;
	--bcslam-space-4: 18px;
	--bcslam-space-5: 24px;
	--bcslam-space-6: 32px;
	--bcslam-space-7: 40px;
}

/* ------------------------------
   Shared foundations
------------------------------ */

.bcslam-dashboard,
.bcslam-passport-layout,
.bcslam-passport-table,
.bcslam-species-accordion {
	color: var(--bcslam-text);
}

.bcslam-dashboard *,
.bcslam-passport-layout *,
.bcslam-passport-table *,
.bcslam-species-accordion * {
	box-sizing: border-box;
}

.bcslam-dashboard {
	display: grid;
	gap: var(--bcslam-space-5);
}

.bcslam-dashboard h2,
.bcslam-dashboard h3,
.bcslam-dashboard h4 {
	letter-spacing: .015em;
}

.bcslam-dashboard p {
	line-height: 1.65;
}

/* Reusable card */
.bcslam-panel {
	min-width: 0;
	font-size: 14px;
	background: var(--bcslam-surface);
	border: 1px solid var(--bcslam-border);
	border-radius: var(--bcslam-radius-md);
	padding: var(--bcslam-space-5);
	box-shadow: var(--bcslam-shadow-sm);
}

.bcslam-passport-page .bcslam-panel {
	margin-bottom: 30px;
}

.bcslam-panel > :first-child {
	margin-top: 0;
}

.bcslam-panel > :last-child {
	margin-bottom: 0;
}

.bcslam-panel h3,
.bcslam-section-title h3 {
	margin: 0 0 var(--bcslam-space-3);
	color: var(--bcslam-navy);
	font-size: clamp(1.15rem, 1vw + .8rem, 1.45rem);
	line-height: 1.05;
	text-transform: uppercase;
}

/* Reusable grids */
.bcslam-card-grid {
	display: grid;
	gap: var(--bcslam-space-5);
	align-items: stretch;
}

.bcslam-card-grid--3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.bcslam-card-grid--2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.bcslam-card-grid--passport {
	grid-template-columns: minmax(0, 1fr) minmax(240px, 300px);
}

/* Backward-compatible aliases used elsewhere */
.bcslam-dash-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--bcslam-space-5);
}

.bcslam-dash-grid.secondary {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* Reusable buttons */
.bcslam-btn,
.bcslam-gold-btn {
	appearance: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 11px 18px;
	border: 1px solid transparent;
	border-radius: var(--bcslam-radius-sm);
	font-size: .95rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: .02em;
	white-space: nowrap;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.bcslam-btn {
	color: #fff;
	background: var(--account-nav-background-active-color, var(--theme-palette-color-1));
}

.bcslam-btn:hover {
	background: var(--account-nav-background-active-color, var(--bcslam-navy-deep));
}


.bcslam-btn:hover,
.bcslam-gold-btn:hover {
	transform: translateY(-1px);
	text-decoration: none;
}

.bcslam-btn:focus-visible,
.bcslam-gold-btn:focus-visible,
.bcslam-btn-link:focus-visible,
.bcslam-link-btn:focus-visible {
	outline: 3px solid rgba(212, 172, 69, .45);
	outline-offset: 3px;
}

.bcslam-btn--primary,
.bcslam-gold-btn {
	background: var(--bcslam-green) !important;
	border-color: var(--bcslam-green) !important;
	color: #fff;
	box-shadow: 0 8px 20px rgba(90, 117, 49, .18);
}

.bcslam-btn--primary:hover,
.bcslam-gold-btn:hover {
	background: var(--bcslam-green-hover) !important;
	border-color: var(--bcslam-green-hover) !important;
	color: #fff;
}

.bcslam-btn-link,
.bcslam-link-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--bcslam-green-hover);
	font-weight: 800;
	text-decoration: none;
	line-height: 1.1;
}

.bcslam-btn-link:hover,
.bcslam-link-btn:hover {
	color: var(--bcslam-navy);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* ------------------------------
   Dashboard hero
------------------------------ */

.bcslam-dash-hero {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	min-height: 300px;
	padding: clamp(28px, 4vw, 48px);
	border-radius: var(--bcslam-radius-lg);
	background:
		linear-gradient(90deg, rgba(5, 26, 43, .56) 0%, rgba(5, 26, 43, .40) 46%, rgba(5, 26, 43, .30) 100%),
		url('../img/salmonnn.jpg') center / cover no-repeat;
	color: #fff;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(290px, 360px);
	gap: var(--bcslam-space-6);
	align-items: center;
	box-shadow: var(--bcslam-shadow-md);
}

.bcslam-dash-hero::after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(180deg, transparent 55%, rgba(5, 26, 43, .22));
	pointer-events: none;
}

.bcslam-script {
	margin: 0 0 4px;
	color: var(--bcslam-gold);
	font-size: clamp(1.45rem, 2.4vw, 2rem);
	line-height: 1;
}

.bcslam-dash-hero h2 {
	margin: 0;
	color: #fff;
	font-size: clamp(3rem, 6vw, 4.75rem) !important;
	line-height: .9 !important;
	text-transform: uppercase;
}

.bcslam-season {
	margin: 10px 0 18px;
	color: rgba(255,255,255,.86);
	font-size: .82rem;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.bcslam-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	margin: 0 7px 7px 0;
	padding: 9px 13px;
	border: 1px solid rgba(255,255,255,.16);
	border-radius: 999px;
	background: var(--bcslam-gold);
	color: var(--bcslam-navy-deep);
	font-size: .75rem;
	font-weight: 900;
	line-height: 1;
	text-transform: uppercase;
}

.bcslam-badge.supporter {
	margin-left: 0;
	background: var(--bcslam-green);
	color: #fff;
}

.bcslam-progress-card {
	background: rgba(5, 26, 43, .90);
	border: 1px solid rgba(255,255,255,.16);
	border-radius: var(--bcslam-radius-md);
	padding: var(--bcslam-space-5);
	box-shadow: 0 16px 40px rgba(0,0,0,.24);
	backdrop-filter: blur(8px);
}

.bcslam-progress-card > p:first-child {
	margin: 0 0 12px;
	color: var(--bcslam-gold);
	font-size: .78rem;
	font-weight: 900;
	letter-spacing: .07em;
	text-transform: uppercase;
}

.bcslam-progress-card h3 {
	margin: 0;
	color: #fff;
	font-size: 1.2rem;
	line-height: 1.2;
}

.bcslam-progress-card h3 strong {
	font-size: 2.8rem;
	line-height: 1;
}

.bcslam-small-note {
	margin: 10px 0 0 !important;
	color: rgba(255,255,255) !important;
	font-size: .76rem;
	letter-spacing: .035em;
}

.bcslam-progress-bar {
	height: 9px;
	margin: 18px 0;
	overflow: hidden;
	border-radius: 999px;
	background: rgba(255,255,255,.14);
}

.bcslam-progress-bar span,
.bcslam-mini-progress span {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: var(--bcslam-gold);
}

/* ------------------------------
   Active passport and supporter
------------------------------ */

.bcslam-passport {
	display: flex;
	flex-direction: column;
}

.bcslam-passport > .bcslam-gold-btn,
.bcslam-passport > .bcslam-btn {
	align-self: flex-start;
	margin-top: var(--bcslam-space-4);
}

.bcslam-section-title {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: var(--bcslam-space-4);
	margin-bottom: var(--bcslam-space-4);
}

.bcslam-section-title h3 {
	flex: 0 0 auto;
	margin-bottom: 0;
}

.bcslam-section-title p {
	max-width: 560px;
	margin: 0;
	color: var(--bcslam-muted);
	font-size: .9rem;
}

.bcslam-species-grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: var(--bcslam-space-3);
}

.bcslam-species-card {
	min-width: 0;
	padding: 18px 12px;
	border: 1px solid var(--bcslam-border);
	border-radius: var(--bcslam-radius-sm);
	background: var(--bcslam-gold-soft);
	text-align: center;
	transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.bcslam-species-card:hover {
	transform: translateY(-2px);
	border-color: var(--bcslam-border-strong);
	box-shadow: var(--bcslam-shadow-sm);
}

.bcslam-species-card.complete {
	border-color: rgba(49, 123, 67, .35);
	background: var(--bcslam-green-soft);
}

.bcslam-fish-placeholder {
	min-height: 46px;
	margin-bottom: 10px;
	display: grid;
	place-items: center;
	font-size: 2.1rem;
}

.bcslam-species-card h4 {
	margin: 0 0 5px;
	color: var(--bcslam-navy);
	font-size: 1.08rem;
	line-height: 1;
	text-transform: uppercase;
}

.bcslam-species-card span {
	display: block;
	color: var(--bcslam-muted);
	font-size: .65rem;
	font-weight: 700;
	letter-spacing: .055em;
	line-height: 1.4;
	text-transform: uppercase;
}

.bcslam-species-card.complete span {
	color: var(--bcslam-success);
}

.bcslam-supporter-panel {
	background: var(--bcslam-green-soft);
	border-color: rgba(90, 117, 49, .24);
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.bcslam-supporter-icon {
	width: 72px;
	height: 72px;
	margin: 4px auto 16px;
	border: 1px solid rgba(90, 117, 49, .18);
	border-radius: 50%;
	background: #fff;
	display: grid;
	place-items: center;
	font-size: 2rem;
	box-shadow: var(--bcslam-shadow-sm);
}

.bcslam-supporter-panel strong {
	display: block;
	margin-bottom: 8px;
	color: var(--bcslam-green-hover);
	font-size: 1.08rem;
	line-height: 1.3;
}

.bcslam-supporter-panel p {
	margin: 0 0 18px;
	color: var(--bcslam-muted);
	font-size: .9rem;
}

/* ------------------------------
   Dashboard cards
------------------------------ */

.bcslam-profile-meter {
	--progress: 60;
	position: relative;
	width: 112px;
	height: 112px;
	margin: 4px 0 18px;
	border-radius: 50%;
	background: conic-gradient(var(--bcslam-green) calc(var(--progress) * 1%), #e8ece6 0);
	display: flex;
	align-items: center;
	justify-content: center;
}

.bcslam-profile-meter::before {
	content: '';
	position: absolute;
	inset: 9px;
	border-radius: 50%;
	background: #fff;
}

.bcslam-profile-meter-inner {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.bcslam-profile-meter strong {
	color: var(--bcslam-navy);
	font-size: 1.85rem;
	line-height: 1;
}

.bcslam-profile-meter span {
	margin-top: 4px;
	font-size: .65rem;
	font-weight: 800;
	letter-spacing: .05em;
	text-transform: uppercase;
}

.bcslam-profile-list {
	list-style: none;
	padding: 0;
	margin: 0 0 20px;
	display: grid;
	gap: 9px;
}

.bcslam-profile-list li {
	display: flex;
	gap: 9px;
	align-items: center;
	color: var(--bcslam-text);
	font-size: .9rem;
}

.bcslam-profile-list span {
	flex: 0 0 auto;
	width: 21px;
	height: 21px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	font-size: .7rem;
	font-weight: 900;
}

.bcslam-profile-list .complete span {
	background: var(--bcslam-success);
	color: #fff;
}

.bcslam-profile-list .missing span {
	background: var(--bcslam-gold);
	color: var(--bcslam-navy-deep);
}

.bcslam-registration-card {
	margin-bottom: 16px;
	padding: 18px;
	border: 1px solid rgba(212, 172, 69, .38);
	border-radius: var(--bcslam-radius-sm);
	background: var(--bcslam-gold-soft);
}

.bcslam-registration-card.supporter {
	border-color: rgba(90, 117, 49, .25);
	background: var(--bcslam-green-soft);
}

.bcslam-registration-card strong,
.bcslam-registration-card span {
	display: block;
}

.bcslam-registration-card strong {
	color: var(--bcslam-navy);
}

.bcslam-registration-card span {
	margin-top: 7px;
	color: var(--bcslam-green-hover);
	font-size: .78rem;
	font-weight: 900;
	text-transform: uppercase;
}

.bcslam-registration-card p {
	margin: 12px 0 16px;
	color: var(--bcslam-muted);
	font-size: .9rem;
}

.bcslam-actions-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.bcslam-actions-grid a {
	min-height: 104px;
	padding: 14px 10px;
	border: 1px solid transparent;
	border-radius: var(--bcslam-radius-sm);
	background: var(--bcslam-surface-soft);
	display: grid;
	place-content: center;
	text-align: center;
	text-decoration: none;
	color: var(--bcslam-navy);
	font-weight: 900;
	transition: background-color .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.bcslam-actions-grid a:hover {
	transform: translateY(-2px);
	border-color: rgba(90, 117, 49, .28);
	background: var(--bcslam-green-soft);
	box-shadow: var(--bcslam-shadow-sm);
	text-decoration: none;
}

.bcslam-action-icon {
	display: block;
	font-size: 1.4rem !important;
	line-height: 1;
}

.bcslam-actions-grid a span:last-child {
	display: block;
	margin-top: 9px;
	font-size: .72rem;
	letter-spacing: .025em;
	text-transform: uppercase;
}

.bcslam-panel.dark {
	background: var(--bcslam-navy-deep);
	border-color: var(--bcslam-navy-deep);
	color: #fff;
	text-align: center;
}

.bcslam-panel.dark h3 {
	color: var(--bcslam-gold);
}

.bcslam-panel.dark p {
	color: rgba(255,255,255,.75);
}

.bcslam-coin {
	width: 112px;
	height: 112px;
	margin: 8px auto 18px;
	border: 3px solid rgba(255,255,255,.18);
	border-radius: 50%;
	background: radial-gradient(circle at 35% 30%, #f3d77f, var(--bcslam-gold) 55%, #966d22);
	display: grid;
	place-items: center;
	color: var(--bcslam-navy-deep);
	font-size: 3rem;
	box-shadow: inset 0 0 0 4px rgba(5,26,43,.16), 0 14px 28px rgba(0,0,0,.20);
}

.bcslam-impact-row {
	display: grid;
	grid-template-columns: 58px 1fr;
	gap: 14px;
	align-items: center;
	margin-top: 13px;
	padding-top: 13px;
	border-top: 1px solid var(--bcslam-border);
}

.bcslam-impact-row strong {
	color: var(--bcslam-navy);
	font-size: 2rem;
	line-height: 1;
}

.bcslam-impact-row span {
	color: var(--bcslam-muted);
	font-weight: 700;
}

/* ------------------------------
   Passport list/table
------------------------------ */

.bcslam-passport-table {
	display: grid;
	gap: 12px;
}

.bcslam-passport-table-head,
.bcslam-passport-table .bcslam-passport-row {
	display: grid;
	grid-template-columns: 1.5fr 1fr 1fr auto;
	gap: 20px;
	align-items: center;
}

.bcslam-passport-table-head {
	padding: 0 20px;
	color: var(--bcslam-muted);
	font-size: .68rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.bcslam-passport-table .bcslam-passport-row {
	padding: 20px;
	border: 1px solid var(--bcslam-border);
	border-radius: var(--bcslam-radius-md);
	background: #fff;
	box-shadow: var(--bcslam-shadow-sm);
}

.bcslam-passport-row > div:nth-child(3) {
	display: flex;
	justify-content: center;
}

.bcslam-passport-table .bcslam-passport-row strong {
	display: block;
	color: var(--bcslam-navy);
}

.bcslam-passport-table .bcslam-passport-row small {
	display: block;
	margin-top: 4px;
	color: var(--bcslam-muted);
}

.bcslam-mini-progress {
	height: 7px;
	margin-top: 8px;
	overflow: hidden;
	border-radius: 999px;
	background: #e8ece6;
}

.bcslam-status-pill {
	display: inline-flex;
	align-items: center;
	padding: 7px 12px;
	border-radius: 999px;
	background: #edf1f3;
	color: #415363;
	font-size: .75rem;
	font-weight: 800;
}

.bcslam-status-pill.status-draft { background: #fff3d3; color: #835800; }
.bcslam-status-pill.status-not-started { background: #edf1f3; color: #64748b; }
.bcslam-status-pill.status-pending { background: #e2f3f9; color: #075c7d; }
.bcslam-status-pill.status-needs-info { background: #fff0f1; color: #aa2941; }
.bcslam-status-pill.status-approved { background: #e4f4e7; color: #216d37; }
.bcslam-status-pill.status-rejected { background: #fbe8e8; color: #8f2929; }

/* ------------------------------
   Passport form layout
------------------------------ */

.bcslam-passport-layout {
	display: grid;
	grid-template-columns: 280px minmax(0, 1fr);
	gap: 28px;
	align-items: start;
}

.bcslam-passport-sidebar {
	position: sticky;
	top: 174px;
	padding: 24px;
	border: 1px solid var(--bcslam-border);
	border-radius: var(--bcslam-radius-lg);
	background: var(--bcslam-surface-soft);
}

.bcslam-passport-step {
	position: relative;
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr);
	gap: 12px;
	padding: 14px 0;
	cursor: pointer;
}

.bcslam-passport-step span {
	width: 30px;
	height: 30px;
	border: 1px solid var(--bcslam-border-strong);
	border-radius: 50%;
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--bcslam-navy);
	font-weight: 800;
}

.bcslam-passport-step.active span {
	border-color: var(--bcslam-navy);
	background: var(--bcslam-navy);
	color: #fff;
}

.bcslam-passport-step.complete span {
	border-color: var(--bcslam-green);
	background: var(--bcslam-green);
	color: #fff;
}

.bcslam-passport-step strong {
	display: block;
	color: var(--bcslam-navy);
	font-size: .9rem;
}

.bcslam-passport-step small {
	display: block;
	margin-top: 3px;
	color: var(--bcslam-muted);
	font-size: .75rem;
}

.bcslam-passport-screen { display: none; }
.bcslam-passport-screen.active { display: block; }

.bcslam-step-actions > div {
	display: flex;
	justify-content: space-between;
	gap: 14px;
}

.bcslam-step-actions {
	margin-top: 24px;
}

@media screen and (max-width: 689px) {
	.bcslam-step-actions > div {
		flex-wrap: wrap;
	}
}

@media (min-width: 690px) {
    .ct-acount-nav {
         min-width: 120px !important; 
    }
}

@media screen and (max-width:1023px) {

	.ct-woo-account {
		display: block !important;
	}
	.ct-acount-nav {
		width: 100% !important;
		min-width: 120px;
   }

   .ct-acount-nav {
   	margin-bottom: 20px !important;
   }
}

/* ------------------------------
   Accordion and submit form
------------------------------ */

.bcslam-species-accordion {
	display: grid;
	gap: 14px;
	margin-top: 24px;
}

.bcslam-accordion-item {
	overflow: hidden;
	border: 1px solid var(--bcslam-border);
	border-radius: var(--bcslam-radius-md);
	background: #fff;
}

.bcslam-accordion-item.complete {
	border-color: rgba(49, 123, 67, .35);
	background: #f8fcf8;
}

.bcslam-accordion-toggle {
	width: 100%;
	padding: 18px 22px;
	border: 0;
	background: transparent;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	color: var(--bcslam-navy);
	text-align: left;
	cursor: pointer;
}

.bcslam-accordion-toggle strong {
	display: block;
	font-size: 1.08rem;
	font-weight: 800;
}

.bcslam-accordion-toggle small {
	display: block;
	margin-top: 4px;
	color: var(--bcslam-muted);
	font-size: .8rem;
}

.bcslam-accordion-item.complete .bcslam-accordion-toggle small {
	color: var(--bcslam-success);
	font-weight: 700;
}

.bcslam-accordion-toggle em {
	color: var(--bcslam-green);
	font-size: .75rem;
	font-style: normal;
	font-weight: 800;
	text-transform: uppercase;
}

.bcslam-accordion-panel {
	padding: 22px;
	border-top: 1px solid var(--bcslam-border);
}

.bcslam-accordion-panel[hidden] { display: none; }

.bcslam-existing-photos {
	margin-top: 18px;
	padding: 16px;
	border-radius: var(--bcslam-radius-sm);
	background: var(--bcslam-surface-soft);
}

.bcslam-photo-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 12px;
}

.bcslam-photo-grid img {
	width: 92px;
	height: 92px;
	object-fit: cover;
	border: 1px solid var(--bcslam-border);
	border-radius: var(--bcslam-radius-sm);
}

.bcslam-check-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 10px;
}

.bcslam-check-chip {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 14px;
	border: 1px solid var(--bcslam-border);
	border-radius: 999px;
	background: #fff;
	font-size: .875rem;
	cursor: pointer;
}

.bcslam-check-chip input { margin: 0; }

.bcslam-check-chip:has(input:checked) {
	border-color: var(--bcslam-green);
	background: var(--bcslam-green-soft);
	font-weight: 700;
}

.bcslam-other-field { display: none; margin-top: 14px; }
.bcslam-other-field.is-visible { display: block; }

.bcslam-review-note,
.bcslam-missing-requirements {
	margin-top: 18px;
	padding: 17px 18px;
	border: 1px solid rgba(212, 172, 69, .42);
	border-radius: var(--bcslam-radius-sm);
	background: var(--bcslam-gold-soft);
	color: var(--bcslam-text);
}

.bcslam-review-note strong {
	display: block;
	margin-bottom: 6px;
	font-weight: 800;
}

.bcslam-review-note p { margin: 0; }

.bcslam-missing-requirements h4 {
	margin: 0 0 14px;
}

.bcslam-missing-item {
	padding: 14px 0;
	border-top: 1px solid rgba(212, 172, 69, .30);
}

.bcslam-missing-item:first-of-type {
	padding-top: 0;
	border-top: 0;
}

.bcslam-missing-item p {
	margin: 6px 0 10px;
}

/* ------------------------------
   Responsive
------------------------------ */

@media (max-width: 1100px) {
	.bcslam-card-grid--3,
	.bcslam-dash-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.bcslam-card-grid--3 > .bcslam-panel:last-child,
	.bcslam-dash-grid > .bcslam-panel:last-child {
		grid-column: auto;
	}
}

@media (max-width: 960px) {
	.bcslam-dash-hero,
	.bcslam-card-grid--passport,
	.bcslam-card-grid--2,
	.bcslam-dash-grid.secondary,
	.bcslam-passport-layout {
		grid-template-columns: 1fr;
	}

	.bcslam-passport-sidebar {
		position: static;
	}

	.bcslam-species-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 760px) {
	.bcslam-card-grid--3,
	.bcslam-dash-grid {
		grid-template-columns: 1fr;
	}

	.bcslam-section-title {
		flex-direction: column;
	}

	.bcslam-species-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.bcslam-passport-table-head {
		display: none;
	}

	.bcslam-passport-table .bcslam-passport-row {
		grid-template-columns: 1fr;
		gap: 14px;
	}
}

@media (max-width: 560px) {
	.bcslam-dashboard {
		gap: 18px;
	}

	.bcslam-dash-hero,
	.bcslam-panel {
		padding: 20px;
		border-radius: 14px;
	}

	.bcslam-dash-hero {
		min-height: auto;
	}

	.bcslam-dash-hero h2 {
		font-size: 3rem;
	}

	.bcslam-progress-card {
		padding: 18px;
	}

	.bcslam-species-grid,
	.bcslam-actions-grid {
		grid-template-columns: 1fr;
	}

	.bcslam-species-card {
		display: grid;
		grid-template-columns: 46px 1fr;
		grid-template-rows: auto auto;
		column-gap: 12px;
		align-items: center;
		text-align: left;
	}

	.bcslam-fish-placeholder {
		grid-row: 1 / 3;
		margin: 0;
	}

	.bcslam-species-card h4,
	.bcslam-species-card span {
		text-align: left;
	}

	.bcslam-step-actions {
		flex-direction: column;
	}

	.bcslam-step-actions > * {
		width: 100%;
	}

	.bcslam-accordion-toggle {
		padding: 16px;
	}

	.bcslam-accordion-panel {
		padding: 0 16px 18px;
	}
}


/* --------------------------------------------------------------------------
   Dashboard Utility Links
-------------------------------------------------------------------------- */

.bcslam-utility-links {
	display: flex;
	flex-wrap: wrap;
	gap: 28px;
	padding: 0 4px;
	margin: -8px 0 8px;
}

.bcslam-utility-links a,
.bcslam-btn-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-weight: 700;
	font-size: 15px;
	color: var(--bcslam-primary, #5A7531);
	text-decoration: none;
	transition: color .2s ease;
}

.bcslam-utility-links a:hover,
.bcslam-btn-link:hover {
	color: var(--bcslam-primary-hover, #485F27);
	text-decoration: underline;
}

.bcslam-btn-link--light {
	color: rgba(255,255,255,.9);
}

.bcslam-btn-link--light:hover {
	color: #ffffff;
}

.bcslam-badge-row {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 18px;
}

@media (max-width: 768px) {

	.bcslam-utility-links {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 12px;
	}

}


.bcslam-fish-image {
	width: 90px;
	height: auto;
	display: block;
	transition: filter .35s ease, opacity .35s ease, transform .35s ease;
}

/* Incomplete species */
.bcslam-species-card.pending .bcslam-fish-image {
	filter: grayscale(100%);
	opacity: .45;
}

/* Completed species */
.bcslam-species-card.complete .bcslam-fish-image {
	filter: grayscale(0%);
	opacity: 1;
	transform: scale(1.03);
}


.bcslam-public-profile-form{
	display:flex;
	flex-direction:column;
	gap:18px;
	margin-top:20px;
}

.bcslam-form-field label{
	display:block;
	font-weight:600;
	margin-bottom:8px;
}

.bcslam-form-field input[type="text"]{
	width:100%;
}

.bcslam-checkbox{
	display:flex;
	align-items:center;
	gap:10px;
	font-size:15px;
	cursor:pointer;
}

.bcslam-checkbox input{
	margin:0;
}

.bcslam-public-profile-link{
	margin-top:22px;
	padding-top:18px;
	border-top:1px solid #e8ece8;
}

.bcslam-public-profile-link strong{
	display:block;
	margin-bottom:8px;
	font-size:14px;
}

.bcslam-public-profile-link a{
	word-break:break-word;
	font-size:14px;
}

/*
|--------------------------------------------------------------------------
| Passport licence cards
|--------------------------------------------------------------------------
*/

.bcslam-license-intro {
	margin-bottom: 18px;
}

.bcslam-license-intro h3 {
	margin: 0 0 10px;
}

.bcslam-license-intro > p:last-child {
	max-width: 720px;
	margin-bottom: 0;
}

.bcslam-license-kicker {
	margin: 0 0 7px;
	color: #5a7531;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.bcslam-license-year-note {
	margin: 0 0 20px;
	padding: 12px 14px;
	border-left: 3px solid #cda43b;
	background: #faf8ef;
	color: #526078;
	font-size: 14px;
}

.bcslam-license-year-list {
	display: grid;
	gap: 18px;
	margin: 22px 0;
}

.bcslam-license-year-card {
	overflow: hidden;
	border: 1px solid #d9e1d1;
	border-radius: 16px;
	padding: 20px;
	background: #fff;
	box-shadow: 0 10px 28px rgba(7, 29, 56, .06);
}

.bcslam-license-year-card label {
	display: block;
	margin-bottom: 10px;
}

.bcslam-license-card-header {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 18px 20px;
	border-bottom: 1px solid #e7ecdf;
	background: #f5f8f0;
}

.bcslam-license-year-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 108px;
	padding: 9px 13px;
	border-radius: 999px;
	background: #5a7531;
	color: #fff;
	font-size: 13px;
	font-weight: 800;
	white-space: nowrap;
}

.bcslam-license-type {
	margin: 0 0 2px;
	color: #738066;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.bcslam-license-card-header h4 {
	margin: 0;
	color: #0b2943;
	font-size: 20px;
}

.bcslam-license-field {
	margin: 0;
	padding: 20px;
}

.bcslam-license-field label {
	display: block;
	margin-bottom: 8px;
	color: #0b2943;
	font-weight: 800;
}

.bcslam-license-field input[type="text"] {
	width: 100%;
	min-height: 48px;
	margin: 0;
	border: 1px solid #ccd6df;
	border-radius: 10px;
	background: #fff;
}

.bcslam-license-field input[type="text"]:focus {
	border-color: #5a7531;
	box-shadow: 0 0 0 3px rgba(90, 117, 49, .13);
	outline: 0;
}

.bcslam-license-catches {
	margin: 0 20px 20px;
	padding: 16px;
	border-radius: 12px;
	background: #f8faf6;
}

.bcslam-license-catches > strong {
	display: block;
	margin-bottom: 12px;
	color: #354725;
	font-size: 12px;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.bcslam-license-catches ul {
	display: grid;
	gap: 9px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.bcslam-license-catches li {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
}

.bcslam-license-catch-check {
	flex: 0 0 28px;
	width: 28px;
	height: 28px;
	display: inline-grid;
	place-items: center;
	border-radius: 50%;
	background: #e9f1df;
	color: #5a7531;
	font-weight: 900;
}

.bcslam-license-catches li > span:last-child {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 8px;
}

.bcslam-license-catches li strong {
	color: #0b2943;
}

.bcslam-license-catches li small {
	color: #6b788a;
}

.bcslam-license-confirmation {
	margin-top: 22px;
	padding: 18px;
	border: 1px solid #d4dfc7;
	border-radius: 14px;
	background: #f4f8ee;
	align-items: flex-start;
}

.bcslam-license-confirmation input {
	margin-top: 4px;
}

.bcslam-license-confirmation span {
	display: block;
	color: #334155;
	line-height: 1.55;
}

.bcslam-license-confirmation span strong {
	display: block;
	margin-bottom: 3px;
	color: #243516;
}

@media (max-width: 620px) {
	.bcslam-license-card-header {
		align-items: flex-start;
		flex-direction: column;
	}

	.bcslam-license-year-badge {
		min-width: 0;
	}
}


.ct-acount-nav,
.woocommerce-edit-address .woocommerce-MyAccount-content,
.woocommerce-payment-methods .woocommerce-MyAccount-content,
.woocommerce-edit-account .woocommerce-MyAccount-content,
.woocommerce-orders .woocommerce-MyAccount-content,
.woocommerce-view-order .woocommerce-MyAccount-content {
	border: 1px solid var(--bcslam-border) !important;
	border-radius: var(--bcslam-radius-md) !important;
	box-shadow: var(--bcslam-shadow-sm) !important;
	background: var(--bcslam-surface) !important;
}

.woocommerce-edit-address .woocommerce-MyAccount-content,
.woocommerce-payment-methods .woocommerce-MyAccount-content,
.woocommerce-edit-account .woocommerce-MyAccount-content,
.woocommerce-orders .woocommerce-MyAccount-content,
.woocommerce-view-order .woocommerce-MyAccount-content {
	padding: 30px !important;
}

.woocommerce-EditAccountForm fieldset {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.woocommerce-Address-title a{
	color: var(--account-nav-text-initial-color, var(--theme-palette-color-3));
}

.bcslam-step-actions {
	margin-top: 30px !important;
}


.bcslam-social-sharing-section {
	margin-top: 24px;
	padding: 22px;
	border: 1px solid #dce4d5;
	border-radius: 16px;
	background: #f8faf6;
}

.bcslam-social-sharing-header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 18px;
}

.bcslam-social-sharing-header h3,
.bcslam-social-sharing-header h4 {
	margin: 0 0 7px;
}

.bcslam-social-sharing-header p:last-child {
	margin: 0;
	color: #64748b;
}

.bcslam-social-kicker {
	margin: 0 0 5px;
	color: #5a7531;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.bcslam-social-profile-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}

.bcslam-social-profile-card {
	display: flex;
	align-items: center;
	gap: 12px;
	min-width: 0;
	padding: 14px;
	border: 1px solid #dce4d5;
	border-radius: 12px;
	background: #fff;
}

.bcslam-social-profile-card.is-empty {
	background: rgba(255,255,255,.56);
}

.bcslam-social-profile-icon {
	flex: 0 0 38px;
	width: 38px;
	height: 38px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: #edf3e7;
	color: #5a7531;
	font-size: 18px;
	font-weight: 900;
	display: none !important;
}

.bcslam-social-profile-card > div {
	min-width: 0;
}

.bcslam-social-profile-card strong,
.bcslam-social-profile-card span,
.bcslam-social-profile-card a {
	display: block;
}

.bcslam-social-profile-card strong {
	margin-bottom: 2px;
	color: #0b2943;
	font-size: 13px;
}

.bcslam-social-profile-card span,
.bcslam-social-profile-card a {
	overflow: hidden;
	color: #64748b;
	font-size: 13px;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.bcslam-social-profile-card a {
	color: #5a7531;
	font-weight: 700;
	text-decoration: none;
}

.bcslam-social-profile-card a:hover {
	text-decoration: underline;
}

.bcslam-social-consent {
	margin-top: 18px;
	padding: 16px;
	border: 1px solid #d2dec6;
	border-radius: 12px;
	background: #f1f6eb;
	align-items: flex-start;
}

.bcslam-social-consent input {
	margin-top: 4px;
}

.bcslam-social-consent span {
	line-height: 1.5;
}

.bcslam-social-consent strong {
	display: block;
	margin-bottom: 3px;
	color: #243516;
}

@media (max-width: 760px) {
	.bcslam-social-sharing-header {
		flex-direction: column;
		gap: 10px;
	}

	.bcslam-social-profile-grid {
		grid-template-columns: 1fr;
	}
}

    