/* Public Career Hub only. Colours mirror the existing dark Woo product page. */
body.tmo-career-shop-nav #object-nav.tmo-career-shop-navigation ul { display:flex; flex-wrap:nowrap; gap:26px; margin:0; padding:0; list-style:none; }
body.tmo-career-shop-nav #object-nav.tmo-career-shop-navigation li { flex:0 0 auto; }
body.tmo-career-shop-nav #object-nav.tmo-career-shop-navigation a { display:block; padding:16px 0; text-transform:uppercase; letter-spacing:.07em; font-size:12px; font-weight:700; }
body.tmo-public-shop-view [data-tmo-career-intro], body.tmo-public-shop-view #secondary { display:none !important; }
body.tmo-public-shop-view #item-body { width:100%; max-width:none; flex:1 1 100%; }
body.tmo-public-shop-view #item-body .item-body-inner { padding:0; background:transparent; border:0; }
.tmo-public-shop { --shop-bg:#0f1117; --shop-surface:#161a22; --shop-text:#fbfcff; --shop-muted:#d7dce5; --shop-brand:#7a58dd; box-sizing:border-box; padding:36px; margin:20px 0 32px; border:1px solid rgba(255,255,255,.1); border-radius:16px; background:var(--shop-bg); color:var(--shop-text); font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.tmo-public-shop * { box-sizing:border-box; }
.tmo-public-shop .tmo-public-shop__header h1 { margin:0 0 10px; color:var(--shop-text); font-size:36px; line-height:1.15; font-weight:700; letter-spacing:-.035em; }
.tmo-public-shop .tmo-public-shop__header p { color:var(--shop-muted); font-size:14px; margin:0 0 8px; }
.tmo-public-shop .tmo-public-shop__header .tmo-public-shop__eyebrow { color:#bda9f5; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.12em; margin-bottom:12px; }
.tmo-public-shop__filters { display:flex; flex-wrap:wrap; gap:8px; margin:26px 0; }
.tmo-public-shop .tmo-public-shop__filters a { display:flex; align-items:center; justify-content:center; min-height:44px; padding:10px 19px; border:1px solid #363b48; border-radius:10px; background:var(--shop-surface); color:var(--shop-muted); font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; text-decoration:none; }
.tmo-public-shop .tmo-public-shop__filters a[aria-current] { background:var(--shop-brand); border-color:var(--shop-brand); color:#fff; }
.tmo-public-shop__grid { display:grid; grid-template-columns:repeat(3,minmax(0,320px)); gap:20px; justify-content:start; align-items:stretch; }
.tmo-public-shop a.tmo-public-shop__card { display:flex; flex-direction:column; overflow:hidden; min-width:0; border:1px solid #303540; border-radius:16px; background:var(--shop-surface); color:var(--shop-text); text-decoration:none; transition:border-color .15s; }
.tmo-public-shop a.tmo-public-shop__card:hover { border-color:#a78ce9; }
.tmo-public-shop__media { position:relative; flex:0 0 auto; aspect-ratio:4/3; padding:0; overflow:hidden; background:#11141b; display:flex; align-items:center; justify-content:center; }
.tmo-public-shop__media img { position:absolute; inset:0; display:block; width:100% !important; height:100% !important; max-height:none; object-fit:cover; }
.tmo-public-shop__details { display:flex; flex-direction:column; flex:1; padding:20px; gap:10px; }
.tmo-public-shop__type { color:#bda9f5; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; }
.tmo-public-shop .tmo-public-shop__details h2 { margin:0; font-size:17px; line-height:1.4; font-weight:600; color:var(--shop-text); overflow-wrap:anywhere; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; max-height:2.8em; flex:0 0 auto; }
.tmo-public-shop__price { margin-top:auto; padding-top:0; color:var(--shop-muted); font-size:17px; font-weight:600; }
.tmo-public-shop__price del { opacity:.6; font-size:13px; }
.tmo-public-shop__price ins { background:transparent; color:inherit; text-decoration:none; }
.tmo-public-shop__cta { display:flex; justify-content:space-between; align-items:center; margin-top:0; padding:12px 14px; border-radius:10px; background:var(--shop-brand); color:#fff; font-size:13px; font-weight:600; }
.tmo-public-shop__empty { padding:56px 20px; text-align:center; border:1px dashed #363b48; border-radius:16px; background:var(--shop-surface); }
.tmo-public-shop .tmo-public-shop__empty h2 { color:var(--shop-text); font-size:20px; margin:0 0 10px; }
.tmo-public-shop .tmo-public-shop__empty p { color:var(--shop-muted); font-size:14px; margin:0; }
.tmo-public-shop__pagination { display:flex; justify-content:center; gap:20px; margin-top:24px; }
.tmo-public-shop .tmo-public-shop__pagination a { color:#d0baff; padding:12px; }
.tmo-public-shop a:focus-visible, .tmo-career-shop-navigation a:focus-visible { outline:3px solid #bda9f5; outline-offset:4px; }
/* Owner-only withheld cards: greyed, unlinked, one action. Never rendered for other viewers. */
.tmo-public-shop .tmo-public-shop__card--withheld { display:flex; flex-direction:column; overflow:hidden; min-width:0; border:1px dashed #434956; border-radius:16px; background:var(--shop-surface); color:var(--shop-text); }
.tmo-public-shop__card--withheld .tmo-public-shop__media img, .tmo-profile-shop-preview__card--withheld .tmo-profile-shop-preview__media img { filter:grayscale(1); opacity:.45; }
.tmo-public-shop .tmo-public-shop__card--withheld h2 { color:var(--shop-muted); }
.tmo-shop-owner-badge { align-self:flex-start; padding:3px 8px; border-radius:999px; background:rgba(189,169,245,.14); color:#d0baff; font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.tmo-public-shop .tmo-shop-owner-note { margin:0 0 4px; color:var(--shop-muted); font-size:14px; line-height:1.45; }
.tmo-public-shop .tmo-public-shop__card--withheld .tmo-public-shop__cta { margin-top:auto; color:#fff; text-decoration:none; }
.tmo-profile-shop-preview .tmo-profile-shop-preview__card--withheld, body.tmo-public-profile-polish .tmo-profile-shop-preview__card--withheld { border-style:dashed; border-color:rgba(17,19,24,.22); background:#f7f7f9; box-shadow:none; transform:none; }
.tmo-profile-shop-preview__card--withheld .tmo-shop-owner-badge { background:rgba(108,81,191,.1); color:#5a42a6; }
.tmo-profile-shop-preview__card--withheld .tmo-profile-shop-preview__name { color:#6b7280 !important; }
.tmo-profile-shop-preview__card--withheld .tmo-shop-owner-note { color:#4b5563; font-size:12.5px; line-height:1.4; }
.tmo-profile-shop-preview__card--withheld .tmo-shop-owner-action { margin-top:auto; color:#6c51bf; font-size:13px; font-weight:700; text-decoration:underline; text-underline-offset:3px; }
.tmo-profile-shop-preview__heading { display:flex; justify-content:space-between; align-items:baseline; gap:16px; }
.tmo-profile-shop-preview__view-all { white-space:nowrap; font-size:13px; font-weight:600; }
@media(max-width:1000px) { .tmo-public-shop__grid { grid-template-columns:repeat(2,minmax(0,320px)); } }
@media(max-width:600px) { .tmo-public-shop { padding:20px 16px; border-radius:12px; } .tmo-public-shop .tmo-public-shop__header h1 { font-size:30px; } .tmo-public-shop__grid { gap:16px; } .tmo-public-shop__filters { gap:6px; } .tmo-public-shop .tmo-public-shop__filters a { padding:10px 11px; font-size:10px; flex:1 0 auto; } .tmo-public-shop__details { padding:18px; } }

/*
 * Shop-only canvas. Palette: tmo-global-ui/assets/css/theme-dark.css and the
 * existing Woo product adapter. PHP opts this route into the shared dark shell;
 * these rules handle only the protected Career Hub content wrappers.
 * Specificity/!important here only override the existing light Profile canvas.
 */
body.tmo-public-shop-view.tmo-public-profile-polish {
	--shop-bg: #0f1117;
	--shop-surface: #161a22;
	--shop-text: #f7f8fc;
	--shop-muted: #c7cdd8;
	--shop-brand: #7a58dd;
	background: var(--shop-bg) !important;
}

body.tmo-public-shop-view.tmo-public-profile-polish #page,
body.tmo-public-shop-view.tmo-public-profile-polish #content.site-content {
	background: var(--shop-bg) !important;
}

/* Main-content wrappers only: preserve the hero's own image/gradient surfaces. */
body.tmo-public-shop-view.tmo-public-profile-polish #content > .container,
body.tmo-public-shop-view.tmo-public-profile-polish .site-content-grid,
body.tmo-public-shop-view.tmo-public-profile-polish #primary,
body.tmo-public-shop-view.tmo-public-profile-polish #main,
body.tmo-public-shop-view.tmo-public-profile-polish #main > article,
body.tmo-public-shop-view.tmo-public-profile-polish #buddypress,
body.tmo-public-shop-view.tmo-public-profile-polish #buddypress > .bp-wrap,
body.tmo-public-shop-view.tmo-public-profile-polish #buddypress .bb-profile-grid,
body.tmo-public-shop-view.tmo-public-profile-polish #item-body,
body.tmo-public-shop-view.tmo-public-profile-polish #item-body .item-body-inner,
body.tmo-public-shop-view.tmo-public-profile-polish #item-body .bp-profile-wrapper,
body.tmo-public-shop-view.tmo-public-profile-polish #item-body .bp-profile-content,
body.tmo-public-shop-view.tmo-public-profile-polish #item-body .profile.public {
	background: transparent !important;
}

body.tmo-public-shop-view.tmo-public-profile-polish #item-body,
body.tmo-public-shop-view.tmo-public-profile-polish #item-body .item-body-inner,
body.tmo-public-shop-view.tmo-public-profile-polish #item-body .bp-profile-wrapper,
body.tmo-public-shop-view.tmo-public-profile-polish #item-body .bp-profile-content,
body.tmo-public-shop-view.tmo-public-profile-polish #item-body .profile.public {
	border-color: transparent !important;
	box-shadow: none;
	color: var(--shop-text);
}

body.tmo-public-shop-view.tmo-public-profile-polish #object-nav.tmo-career-shop-navigation {
	background: transparent !important;
	border-bottom: 1px solid #343c4d !important;
	box-shadow: none;
}

body.tmo-public-shop-view.tmo-public-profile-polish #object-nav.tmo-career-shop-navigation li > a {
	color: var(--shop-muted) !important;
}

body.tmo-public-shop-view.tmo-public-profile-polish #object-nav.tmo-career-shop-navigation li > a:hover,
body.tmo-public-shop-view.tmo-public-profile-polish #object-nav.tmo-career-shop-navigation li > a:focus-visible,
body.tmo-public-shop-view.tmo-public-profile-polish #object-nav.tmo-career-shop-navigation li.current > a {
	color: #b7a7f5 !important;
}

body.tmo-public-shop-view.tmo-public-profile-polish #object-nav.tmo-career-shop-navigation li.current > a::after {
	background: var(--shop-brand) !important;
}

/* Let the catalogue sit on the page; cards/empty states retain raised surfaces. */
body.tmo-public-shop-view.tmo-public-profile-polish .tmo-public-shop {
	background: transparent;
	border: 0;
	border-radius: 0;
	padding: 32px 0 48px;
	margin: 0;
}

body.tmo-public-shop-view.tmo-public-profile-polish .tmo-public-shop__header {
	padding-bottom: 4px;
}

body.tmo-public-shop-view.tmo-public-profile-polish .tmo-public-shop__card,
body.tmo-public-shop-view.tmo-public-profile-polish .tmo-public-shop__empty {
	background: var(--shop-surface);
	border-color: #343c4d;
	box-shadow: var(--tmo-ui-shadow-xs, 0 1px 2px rgba(0, 0, 0, .28));
}

body.tmo-public-shop-view.tmo-public-profile-polish .tmo-public-shop__card:hover {
	border-color: #9d85f2;
}

/* Reuse the existing shell footer palette locally; no footer layout changes. */
body.tmo-public-shop-view.tmo-public-profile-polish .footer-bottom.bb-footer {
	--tmo-ui-shell-surface: #161a22;
	--tmo-ui-shell-surface-hover: #2b2444;
	--tmo-ui-shell-text: #f7f8fc;
	--tmo-ui-shell-text-muted: #c7cdd8;
	--tmo-ui-shell-border: #343c4d;
	--tmo-ui-shell-accent-hover: #d0c6fa;
	background: var(--tmo-ui-shell-surface) !important;
	border-top: 1px solid var(--tmo-ui-shell-border);
	color: var(--tmo-ui-shell-text-muted);
}

body.tmo-public-shop-view.tmo-public-profile-polish .footer-bottom.bb-footer :where(.footer-bottom-left, .footer-bottom-right, .footer-menu.secondary) a {
	color: var(--tmo-ui-shell-text-muted);
}

body.tmo-public-shop-view.tmo-public-profile-polish .footer-bottom.bb-footer :where(.footer-bottom-left, .footer-bottom-right, .footer-menu.secondary) a:hover {
	color: var(--tmo-ui-shell-accent-hover);
}

@media (max-width: 600px) {
	body.tmo-public-shop-view.tmo-public-profile-polish .tmo-public-shop {
		padding: 24px 0 32px;
		min-width: 0;
	}

	body.tmo-public-shop-view.tmo-public-profile-polish #object-nav.tmo-career-shop-navigation ul {
		gap: clamp(16px, 6vw, 26px);
	}
}

/* Two readable cards on wider phones; narrow phones retain a capped single card. */
@media (max-width: 479px) {
	.tmo-public-shop__grid { grid-template-columns: minmax(0, 320px); }
}
@media (min-width: 480px) and (max-width: 600px) {
	.tmo-public-shop__details { padding: 14px; }
	.tmo-public-shop .tmo-public-shop__details h2 { font-size: 15px; }
}

/* Bridge theme-level light tile/text overrides using the shared shell tokens. */
body.tmo-public-shop-view.tmo-ui-shell--dark aside.buddypanel .panel-head,
body.tmo-public-shop-view.tmo-ui-shell--dark aside.buddypanel a.bb-menu-item {
	background-color: var(--tmo-ui-shell-surface) !important;
	color: var(--tmo-ui-shell-text-muted) !important;
}
body.tmo-public-shop-view.tmo-ui-shell--dark aside.buddypanel .bb-toggle-panel,
body.tmo-public-shop-view.tmo-ui-shell--dark #masthead .user-name {
	color: var(--tmo-ui-shell-text-muted) !important;
}
body.tmo-public-shop-view.tmo-ui-shell--dark aside.buddypanel a.bb-menu-item:is(:hover, :focus-visible),
body.tmo-public-shop-view.tmo-ui-shell--dark aside.buddypanel :is(.current-menu-item, .current-menu-ancestor, .current_page_item, .current_page_ancestor) > a.bb-menu-item {
	background-color: var(--tmo-ui-shell-surface-hover) !important;
	color: var(--tmo-ui-shell-accent-hover) !important;
}

/* Keep the rightmost footer tooltip within the Shop viewport on tablets. */
body.tmo-public-shop-view .footer-bottom .footer-socials li:last-child a[data-balloon]::after {
	left: auto;
	right: 0;
	transform: translateY(10px);
}
body.tmo-public-shop-view .footer-bottom .footer-socials li:last-child a[data-balloon]:is(:hover, :focus)::after {
	transform: translateY(0);
}

/* Prevent the theme's generic heading margin from opening a gap in Shop cards. */
body.tmo-public-shop-view .tmo-public-shop .tmo-public-shop__details h2 {
	margin: 0 !important;
}
