/*
Theme Name: ListingHive Child
Template: listinghive
Version: 1.0.0
Text Domain: listinghive-child
*/

/* ── Variables ─────────────────────────────────────────── */
:root {
	--tl-green:      #1a6640;
	--tl-green-dark: #134d30;
	--tl-gold:       #d4960a;
	--tl-text:       #111111;
	--tl-muted:      #666666;
	--tl-border:     #e0e0e0;
	--tl-bg:         #f5f5f5;
	--tl-white:      #ffffff;
	--tl-radius:     6px;
	--tl-shadow:     0 2px 8px rgba(0,0,0,.09);
}

/* ── Shared utilities ──────────────────────────────────── */
.tl-btn {
	display: inline-block;
	padding: 10px 22px;
	border-radius: var(--tl-radius);
	font-weight: 600;
	font-size: .9rem;
	text-decoration: none;
	cursor: pointer;
	border: none;
	transition: background .15s;
}
.tl-btn--primary {
	background: var(--tl-green);
	color: var(--tl-white);
}
.tl-btn--primary:hover { background: var(--tl-green-dark); color: var(--tl-white); }
.tl-btn--cta {
	background: var(--tl-gold);
	color: var(--tl-white);
	font-size: 1rem;
	padding: 12px 28px;
}
.tl-btn--cta:hover { background: #b87e08; color: var(--tl-white); }

/* ── Homepage wrapper ─────────────────────────────────── */
.tl-home { width: 100%; }

/* ── Hero (logged-out) ────────────────────────────────── */
.tl-hero {
	background: var(--tl-green);
	color: var(--tl-white);
	padding: 48px 24px 40px;
	border-radius: var(--tl-radius);
	margin-bottom: 28px;
	text-align: center;
}
.tl-hero__tagline {
	font-size: 1.6rem;
	font-weight: 700;
	margin: 0 0 24px;
	line-height: 1.3;
}
.tl-hero__sub {
	font-size: 1rem;
	color: rgba(255,255,255,.78);
	margin: -12px 0 24px;
}
.tl-hero__fields {
	display: flex;
	gap: 10px;
	max-width: 780px;
	margin: 0 auto;
	flex-wrap: wrap;
	justify-content: center;
}
.tl-hero__input {
	flex: 1 1 280px;
	padding: 12px 16px;
	font-size: 1rem;
	border: none;
	border-radius: var(--tl-radius);
	outline: none;
	background: rgba(255,255,255,.15);
	color: var(--tl-white);
}
.tl-hero__input::placeholder { color: rgba(255,255,255,.65); }
.tl-hero__input:focus { background: rgba(255,255,255,.22); }
.tl-hero__select {
	flex: 0 1 200px;
	padding: 12px 14px;
	font-size: .95rem;
	border: none;
	border-radius: var(--tl-radius);
	background: var(--tl-white);
	color: var(--tl-text);
	cursor: pointer;
}

/* ── Category pills ───────────────────────────────────── */
.tl-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 32px;
}
.tl-pill {
	display: inline-block;
	padding: 6px 14px;
	background: var(--tl-white);
	border: 1px solid var(--tl-border);
	border-radius: 20px;
	font-size: .85rem;
	color: var(--tl-text);
	text-decoration: none;
	transition: border-color .15s, color .15s;
}
.tl-pill:hover {
	border-color: var(--tl-green);
	color: var(--tl-green);
}

/* ── Sections ─────────────────────────────────────────── */
.tl-section { margin-bottom: 40px; }
.tl-section__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 16px;
}
.tl-section__title {
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--tl-text);
	margin: 0 0 16px;
}
.tl-section__header .tl-section__title { margin-bottom: 0; }

/* ── Listing grid ─────────────────────────────────────── */
.tl-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 16px;
	margin-bottom: 24px;
}
@media (max-width: 1024px) { .tl-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 640px)  { .tl-grid { grid-template-columns: repeat(2, 1fr); } }

/* ── Listing card ─────────────────────────────────────── */
.tl-card {
	background: var(--tl-white);
	border: 1px solid var(--tl-border);
	border-radius: var(--tl-radius);
	overflow: hidden;
	box-shadow: var(--tl-shadow);
	transition: box-shadow .15s;
}
.tl-card:hover { box-shadow: 0 4px 16px rgba(0,0,0,.14); }

.tl-card__image-wrap {
	display: block;
	position: relative;
	aspect-ratio: 4/3;
	overflow: hidden;
	background: var(--tl-bg);
}
.tl-card__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform .2s;
}
.tl-card:hover .tl-card__image { transform: scale(1.03); }
.tl-card__image--placeholder {
	width: 100%;
	height: 100%;
	background: var(--tl-bg);
}

.tl-card__status {
	position: absolute;
	top: 8px;
	left: 8px;
	font-size: .72rem;
	font-weight: 600;
	padding: 3px 8px;
	border-radius: 4px;
	text-transform: uppercase;
	letter-spacing: .04em;
}
.tl-card__status--publish  { background: #22a86a; color: #fff; }
.tl-card__status--pending  { background: #e0890a; color: #fff; }
.tl-card__status--draft    { background: #888; color: #fff; }

.tl-card__info {
	padding: 10px 12px 12px;
}
.tl-card__price {
	display: block;
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--tl-green);
	margin-bottom: 4px;
}
.tl-card__title {
	font-size: .9rem;
	font-weight: 600;
	margin: 0 0 4px;
	line-height: 1.3;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.tl-card__title a {
	color: var(--tl-text);
	text-decoration: none;
}
.tl-card__title a:hover { color: var(--tl-green); }
.tl-card__location {
	font-size: .8rem;
	color: var(--tl-muted);
}

/* ── Logged-in search bar ─────────────────────────────── */
.tl-search-bar {
	margin-bottom: 32px;
	padding: 20px;
	background: var(--tl-white);
	border: 1px solid var(--tl-border);
	border-radius: var(--tl-radius);
}
.tl-search-bar__form {
	display: flex;
	gap: 10px;
}
.tl-search-bar__input {
	flex: 1;
	padding: 10px 14px;
	font-size: .95rem;
	border: 1px solid var(--tl-border);
	border-radius: var(--tl-radius);
	outline: none;
}
.tl-search-bar__input:focus { border-color: var(--tl-green); }

/* ── Empty state ──────────────────────────────────────── */
.tl-empty {
	text-align: center;
	padding: 40px 20px;
	background: var(--tl-bg);
	border-radius: var(--tl-radius);
	border: 1px dashed var(--tl-border);
}
.tl-empty p { color: var(--tl-muted); margin-bottom: 16px; }
.tl-no-results { color: var(--tl-muted); }

/* ── Sell CTA banner ──────────────────────────────────── */
.tl-cta {
	background: var(--tl-green);
	border-radius: var(--tl-radius);
	padding: 36px 24px;
	text-align: center;
	margin-bottom: 40px;
}
.tl-cta__text {
	font-size: 1.3rem;
	font-weight: 700;
	color: var(--tl-white);
	margin: 0 0 20px;
}

/* ── Pagination ───────────────────────────────────────── */
.tl-pagination {
	display: flex;
	gap: 6px;
	justify-content: center;
	margin: 8px 0 24px;
}
.tl-pagination__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border: 1px solid var(--tl-border);
	border-radius: var(--tl-radius);
	font-size: .9rem;
	text-decoration: none;
	color: var(--tl-text);
	background: var(--tl-white);
	transition: border-color .15s, color .15s;
}
.tl-pagination__link:hover,
.tl-pagination__link--active {
	border-color: var(--tl-green);
	color: var(--tl-green);
	font-weight: 700;
}

/* ── Button specificity fix (overrides customizer inline styles) ── */
button.tl-btn.tl-btn--primary {
	background-color: var(--tl-green) !important;
	color: var(--tl-white) !important;
}
button.tl-btn.tl-btn--primary:hover {
	background-color: var(--tl-green-dark) !important;
}

/* ── Header branding ──────────────────────────────────────── */
.site-header {
	background: var(--tl-green);
	box-shadow: 0 2px 10px rgba(0,0,0,.18);
}
.header-logo__name {
	color: var(--tl-white) !important;
	font-weight: 800;
	font-size: 1.5rem;
	letter-spacing: -.02em;
}
.header-logo:hover .header-logo__name {
	color: rgba(255,255,255,.8) !important;
}
.header-navbar__menu > ul > li > a,
.header-navbar__burger > ul > li > a {
	color: rgba(255,255,255,.88) !important;
}
.header-navbar__menu > ul > li > a:hover,
.header-navbar__burger > ul > li > a:hover {
	color: var(--tl-white) !important;
}
.header-navbar__actions a,
.header-navbar__actions button:not(.button--secondary) {
	color: rgba(255,255,255,.88) !important;
}
.header-navbar__actions a:hover {
	color: var(--tl-white) !important;
}
.site-header .button--secondary {
	background: var(--tl-white) !important;
	color: var(--tl-green) !important;
	font-weight: 700;
}
.site-header .button--secondary:hover {
	background: rgba(255,255,255,.9) !important;
	color: var(--tl-green-dark) !important;
}
.header-navbar:last-child {
	border-bottom: none !important;
}

/* ── Section titles with green accent ────────────────────── */
.tl-section__title {
	font-size: 1.1rem;
	font-weight: 700;
	padding-left: 12px;
	border-left: 3px solid var(--tl-green);
	margin-bottom: 20px;
}
.tl-section__header .tl-section__title { margin-bottom: 0; }

/* ── Section dividers ─────────────────────────────────────── */
.tl-section + .tl-section {
	padding-top: 8px;
	border-top: 1px solid var(--tl-border);
}

/* ── Search bar refinement ────────────────────────────────── */
.tl-search-bar {
	background: linear-gradient(135deg, #f0f7f3 0%, var(--tl-white) 100%);
	border-color: #c8e0d4;
}

/* ── Empty states ─────────────────────────────────────────── */
.tl-no-results {
	display: block;
	padding: 36px 24px;
	text-align: center;
	background: var(--tl-bg);
	border-radius: var(--tl-radius);
	border: 1px dashed var(--tl-border);
	color: var(--tl-muted);
	font-size: .95rem;
}
.tl-empty {
	border: 1px dashed #c8e0d4;
	background: #f0f7f3;
}
.tl-empty p {
	font-size: .95rem;
}

/* ═══════════════════════════════════════════════════════════
   HivePress search / listings page
   ═══════════════════════════════════════════════════════════ */

/* ── Buttons: green instead of customizer yellow ──────────── */
.hp-form button[type=submit],
.hp-form input[type=submit],
.hp-button--listing-filter {
	background-color: var(--tl-green) !important;
	color: var(--tl-white) !important;
	border-color: var(--tl-green) !important;
	border-radius: var(--tl-radius) !important;
}
.hp-form button[type=submit]:hover,
.hp-form input[type=submit]:hover,
.hp-button--listing-filter:hover {
	background-color: var(--tl-green-dark) !important;
	border-color: var(--tl-green-dark) !important;
}

/* ── Search input ─────────────────────────────────────────── */
.hp-form--listing-search .hp-field__input input,
.hp-form--listing-search input[type=search],
.hp-form--listing-search input[type=text] {
	border-color: var(--tl-border) !important;
	border-radius: var(--tl-radius) !important;
}
.hp-form--listing-search .hp-field__input input:focus,
.hp-form--listing-search input[type=search]:focus,
.hp-form--listing-search input[type=text]:focus {
	border-color: var(--tl-green) !important;
	outline: none !important;
}

/* ── Sidebar: replace JS sticky with CSS sticky ───────────── */
.hp-page__sidebar {
	position: sticky !important;
	top: 80px;
	align-self: flex-start;
	max-height: calc(100vh - 80px);
	overflow-y: auto;
}
.hp-page__sidebar > div {
	position: static !important;
	width: auto !important;
	left: auto !important;
	top: auto !important;
	transform: none !important;
}
.hp-page__sidebar .hp-widget,
.hp-page__sidebar .widget {
	background: var(--tl-white);
	border: 1px solid var(--tl-border);
	border-radius: var(--tl-radius);
	padding: 20px;
	box-shadow: var(--tl-shadow);
	margin-bottom: 16px;
}

/* ── Sidebar field labels ─────────────────────────────────── */
.hp-page__sidebar .hp-field__label {
	font-size: .75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .06em;
	color: var(--tl-muted);
	margin-bottom: 6px;
}

/* ── Sidebar radio/checkbox accent color ──────────────────── */
.hp-page__sidebar input[type=radio]:checked + span::after,
.hp-page__sidebar input[type=checkbox]:checked + span::before {
	background-color: var(--tl-green) !important;
}

/* ── Results count & sort bar ─────────────────────────────── */
.hp-result-count {
	font-size: .85rem;
	color: var(--tl-muted);
	font-weight: 500;
}
.hp-form--listing-sort select {
	border-color: var(--tl-border);
	border-radius: var(--tl-radius);
	font-size: .85rem;
	color: var(--tl-text);
}

/* ── Prevent layout shift from lazy-loading images ───────── */
.hp-listing__image {
	aspect-ratio: 4/3;
	overflow: hidden;
	display: block;
}
.hp-listing__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* ── Listing cards on search page ─────────────────────────── */
.hp-listing--view-block {
	border: 1px solid var(--tl-border) !important;
	border-radius: var(--tl-radius) !important;
	box-shadow: var(--tl-shadow) !important;
	transition: box-shadow .15s !important;
	overflow: hidden;
}
.hp-listing--view-block:hover {
	box-shadow: 0 4px 16px rgba(0,0,0,.14) !important;
}
.hp-listing__title a {
	color: var(--tl-text) !important;
}
.hp-listing__title a:hover {
	color: var(--tl-green) !important;
}

/* ── Category badge on listing cards ─────────────────────── */
.hp-listing__category a {
	background: #e8f3ed !important;
	color: var(--tl-green) !important;
	border-radius: 4px !important;
}

/* ── Price on listing cards ───────────────────────────────── */
.hp-listing__price {
	color: var(--tl-green) !important;
	font-weight: 700 !important;
}

/* ── Hide Archives widget ─────────────────────────────────── */
.widget_archive {
	display: none !important;
}

/* ── Show photo delete button on required image fields ───────
   HivePress hides it when data-required=true, but validation
   on submit already guards against zero images. ─────────── */
.hp-field--attachment-upload[data-required="true"] .hp-field__button--delete {
	display: flex !important;
}

/* ── Dealer badge (Business + Enterprise members) ─────────── */
.tl-dealer-badge {
	display: inline-block;
	vertical-align: middle;
	margin-left: 8px;
	padding: 2px 8px;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.6;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: var(--tl-white);
	background: var(--tl-gold);
	border-radius: 3px;
	white-space: nowrap;
}
.hp-vendor__name .tl-dealer-badge { font-size: 10px; }

/* ── Enterprise vendor storefront banner ──────────────────── */
.tl-vendor-banner {
	margin: 0 0 20px;
	border-radius: var(--tl-radius);
	overflow: hidden;
	background: var(--tl-bg);
}
.tl-vendor-banner img {
	display: block;
	width: 100%;
	max-height: 280px;
	object-fit: cover;
}

/* ═══════════════════════════════════════════════════════════════════════
   HOMEPAGE REDESIGN — "trade board for turf iron" (2026-08-10)
   Logged-out marketing landing + logged-in dashboard chrome.
   New classes are tl- namespaced and do NOT touch the shared listing-card
   / .tl-grid / .tl-pagination styles used elsewhere.
   ═══════════════════════════════════════════════════════════════════════ */

:root{
	--tl-turf-deep:    #0c3a22;
	--tl-turf-deeper:  #082a19;
	--tl-brass:        #c8901f;
	--tl-brass-bright: #e0a72a;
	--tl-sand:         #ece4d3;
	--tl-paper:        #faf8f3;
	--tl-ink:          #15211b;
	--tl-steel:        #5b6a61;
	--tl-line-warm:    #e6dfce;
	--tl-line-strong:  #d6ccb4;
	--tl-stripe-a:     #0e3f26;
	--tl-stripe-b:     #0b3521;
	--tl-display: "Arial Black","Helvetica Neue",Helvetica,Arial,sans-serif;
	--tl-mono: "SFMono-Regular",ui-monospace,"Roboto Mono",Menlo,Consolas,monospace;
}

/* ── Full-bleed the whole homepage out of the theme .container ───────── */
.tl-home{
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	width: auto;
	overflow-x: clip;
	color: var(--tl-ink);
}
.tl-home .tl-wrap{
	max-width: 1180px;
	margin: 0 auto;
	padding: 0 24px;
}
.tl-sprite{ position:absolute; width:0; height:0; overflow:hidden; }

/* ── Button modifiers (base .tl-btn already defined above) ───────────── */
.tl-btn--green{ background:var(--tl-green); color:#fff; border:1px solid var(--tl-green); }
.tl-btn--green:hover{ background:var(--tl-green-dark); color:#fff; }
.tl-btn--brass{ background:var(--tl-brass); color:#1c1403; border:1px solid var(--tl-brass); }
.tl-btn--brass:hover{ background:var(--tl-brass-bright); color:#1c1403; }
.tl-btn--ghost{ background:transparent; color:#fff; border:1px solid rgba(255,255,255,.45); }
.tl-btn--ghost:hover{ background:rgba(255,255,255,.12); color:#fff; }
.tl-btn--outline{ background:transparent; color:var(--tl-green); border:1px solid var(--tl-line-strong); }
.tl-btn--outline:hover{ border-color:var(--tl-green); color:var(--tl-green); }
.tl-btn--lg{ padding:14px 30px; font-size:1.02rem; }

/* ── Eyebrow / section heads ─────────────────────────────────────────── */
.tl-eyebrow{
	font-family:var(--tl-mono); font-size:.72rem; letter-spacing:.18em; text-transform:uppercase;
	color:var(--tl-brass-bright); margin:0 0 18px; display:inline-flex; align-items:center; gap:9px;
}
.tl-eyebrow::before{ content:""; width:26px; height:1px; background:var(--tl-brass); }
.tl-lp-head{ max-width:60ch; margin-bottom:38px; }
.tl-kicker{
	font-family:var(--tl-mono); font-size:.72rem; letter-spacing:.16em; text-transform:uppercase;
	color:var(--tl-brass); margin-bottom:12px;
}
.tl-lp-head h2{
	font-family:var(--tl-display); font-weight:900; letter-spacing:-.03em; line-height:1.02;
	font-size:clamp(1.8rem,3.4vw,2.6rem); color:var(--tl-ink);
}
.tl-lp-head p{ color:var(--tl-steel); font-size:1.05rem; margin:14px 0 0; max-width:56ch; }

/* ── Hero (mowing stripes) ───────────────────────────────────────────── */
.tl-lp-hero{
	position:relative; overflow:hidden; color:#fff; padding:94px 0 88px;
	background:repeating-linear-gradient(115deg,var(--tl-stripe-a) 0 46px,var(--tl-stripe-b) 46px 92px);
}
.tl-lp-hero::after{
	content:""; position:absolute; inset:0; pointer-events:none;
	background:radial-gradient(120% 120% at 20% 0%, rgba(0,0,0,0) 40%, rgba(0,0,0,.35) 100%);
}
.tl-lp-hero > .tl-wrap{ position:relative; z-index:2; }
.tl-lp-hero__title{
	font-family:var(--tl-display); font-weight:900; letter-spacing:-.035em; line-height:.98;
	font-size:clamp(2.6rem,6.2vw,4.6rem); margin:0 0 20px; color:#fff;
}
.tl-lp-hero__lede{ font-size:clamp(1.05rem,1.6vw,1.2rem); color:rgba(255,255,255,.82); max-width:52ch; margin:0 0 30px; }
.tl-lp-hero__cta{ display:flex; gap:14px; flex-wrap:wrap; align-items:center; }
.tl-lp-hero__trust{ margin-top:26px; display:flex; gap:22px; flex-wrap:wrap; font-size:.85rem; color:rgba(255,255,255,.72); }
.tl-lp-hero__trust span{ display:inline-flex; align-items:center; gap:8px; }
.tl-lp-hero__trust svg{ width:16px; height:16px; flex:0 0 auto; color:var(--tl-brass-bright); }
.tl-chips{ margin-top:32px; display:flex; gap:9px; flex-wrap:wrap; }
.tl-chips a{
	font-size:.83rem; color:rgba(255,255,255,.9); text-decoration:none;
	background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16);
	padding:7px 14px; border-radius:999px; transition:background .15s, border-color .15s;
}
.tl-chips a:hover{ background:rgba(255,255,255,.16); border-color:rgba(255,255,255,.35); color:#fff; }

/* ── Value strip ─────────────────────────────────────────────────────── */
.tl-vstrip{ background:var(--tl-turf-deep); color:#fff; padding:22px 0; }
.tl-vstrip__inner{ display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.tl-vs{ display:flex; gap:12px; align-items:flex-start; }
.tl-vs svg{ width:22px; height:22px; color:var(--tl-brass-bright); flex:0 0 auto; margin-top:2px; }
.tl-vs b{ display:block; font-size:.95rem; }
.tl-vs span{ font-size:.82rem; color:rgba(255,255,255,.68); }

/* ── Bands ───────────────────────────────────────────────────────────── */
.tl-lp-band{ padding:74px 0; background:var(--tl-paper); }
.tl-lp-band--sand{ background:var(--tl-sand); }

/* ── Category grid ───────────────────────────────────────────────────── */
.tl-catgrid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(224px,1fr)); gap:14px; }
.tl-cat{
	background:#fff; border:1px solid var(--tl-line-warm); border-radius:10px; padding:18px;
	text-decoration:none; color:var(--tl-ink); display:flex; flex-direction:column; gap:10px; min-height:138px;
	transition:transform .14s ease, box-shadow .15s ease, border-color .15s;
}
.tl-cat:hover{ transform:translateY(-3px); box-shadow:var(--tl-shadow); border-color:var(--tl-line-strong); }
.tl-cat__icon{
	width:46px; height:46px; border-radius:9px; display:grid; place-items:center;
	background:rgba(26,102,64,.10); color:var(--tl-green);
}
.tl-cat__icon svg{ width:26px; height:26px; }
.tl-cat__name{ font-weight:800; font-size:1.02rem; letter-spacing:-.01em; }
.tl-cat__desc{ font-size:.85rem; color:var(--tl-steel); line-height:1.45; }
.tl-cat__more{ margin-top:auto; font-family:var(--tl-mono); font-size:.72rem; letter-spacing:.04em; text-transform:uppercase; color:var(--tl-green); }
.tl-gatehint{ margin-top:26px; font-size:.9rem; color:var(--tl-steel); display:flex; gap:9px; align-items:center; }
.tl-gatehint svg{ width:18px; height:18px; color:var(--tl-green); flex:0 0 auto; }
.tl-gatehint a{ color:var(--tl-green); font-weight:600; text-decoration:none; }
.tl-gatehint a:hover{ text-decoration:underline; }

/* ── How it works (numbered sequence) ────────────────────────────────── */
.tl-steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.tl-step{ position:relative; padding-top:12px; }
.tl-step__n{
	font-family:var(--tl-mono); font-weight:700; font-size:.82rem; color:#1c1403; background:var(--tl-brass);
	width:34px; height:34px; border-radius:50%; display:grid; place-items:center; margin-bottom:16px;
}
.tl-step h3{ font-size:1.15rem; letter-spacing:-.01em; margin:0 0 8px; }
.tl-step p{ color:var(--tl-steel); font-size:.95rem; margin:0; }
.tl-step::before{
	content:""; position:absolute; top:29px; left:44px; right:-11px; height:2px;
	background:repeating-linear-gradient(90deg,var(--tl-line-strong) 0 6px,transparent 6px 12px);
}
.tl-step:last-child::before{ display:none; }

/* ── Why (feature cards) ─────────────────────────────────────────────── */
.tl-feats{ display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.tl-feat{ display:flex; gap:16px; padding:24px; background:#fff; border:1px solid var(--tl-line-warm); border-radius:10px; }
.tl-feat__icon{ width:44px; height:44px; flex:0 0 auto; border-radius:9px; background:var(--tl-turf-deep); color:var(--tl-brass-bright); display:grid; place-items:center; }
.tl-feat__icon svg{ width:24px; height:24px; }
.tl-feat h3{ font-size:1.08rem; letter-spacing:-.01em; margin:0 0 6px; }
.tl-feat p{ color:var(--tl-steel); font-size:.92rem; margin:0; }

/* ── Membership plans ────────────────────────────────────────────────── */
.tl-plans{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; align-items:stretch; }
.tl-plan{ background:#fff; border:1px solid var(--tl-line-warm); border-radius:14px; padding:28px; display:flex; flex-direction:column; position:relative; }
.tl-plan--featured{ border-color:var(--tl-green); box-shadow:var(--tl-shadow); }
.tl-plan__flag{
	position:absolute; top:-12px; left:28px; background:var(--tl-green); color:#fff;
	font-family:var(--tl-mono); font-size:.66rem; letter-spacing:.1em; text-transform:uppercase; padding:5px 12px; border-radius:999px;
}
.tl-plan__name{ font-weight:800; font-size:1.15rem; letter-spacing:-.01em; }
.tl-plan__tag{ color:var(--tl-steel); font-size:.85rem; margin:4px 0 18px; min-height:2.4em; }
.tl-plan__price{ display:flex; align-items:baseline; gap:6px; margin-bottom:4px; }
.tl-plan__amt{ font-family:var(--tl-mono); font-weight:700; font-size:2rem; letter-spacing:-.02em; color:var(--tl-ink); }
.tl-plan__per{ color:var(--tl-steel); font-size:.85rem; }
.tl-plan__feats{ list-style:none; padding:0; margin:20px 0 24px; display:flex; flex-direction:column; gap:11px; }
.tl-plan__feats li{ display:flex; gap:10px; font-size:.9rem; align-items:flex-start; }
.tl-plan__feats svg{ width:17px; height:17px; color:var(--tl-green); flex:0 0 auto; margin-top:3px; }
.tl-plan .tl-btn{ margin-top:auto; width:100%; }
.tl-plans-note{ text-align:center; color:var(--tl-steel); font-size:.9rem; margin-top:26px; }

/* ── Final CTA (stripes) ─────────────────────────────────────────────── */
.tl-fcta{
	color:#fff; text-align:center; padding:80px 0; position:relative; overflow:hidden;
	background:repeating-linear-gradient(115deg,var(--tl-stripe-a) 0 46px,var(--tl-stripe-b) 46px 92px);
}
.tl-fcta::after{ content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(120% 120% at 50% 0%,rgba(0,0,0,0) 45%,rgba(0,0,0,.32)); }
.tl-fcta > .tl-wrap{ position:relative; z-index:2; }
.tl-fcta h2{ font-family:var(--tl-display); font-weight:900; letter-spacing:-.03em; line-height:1.02; font-size:clamp(2rem,4.4vw,3.1rem); color:#fff; }
.tl-fcta p{ color:rgba(255,255,255,.82); max-width:52ch; margin:16px auto 30px; font-size:1.08rem; }
.tl-fcta__cta{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }

/* ── Logged-in: welcome bar ──────────────────────────────────────────── */
.tl-welcome{ background:var(--tl-sand); border-bottom:1px solid var(--tl-line-warm); }
.tl-welcome__inner{ padding:32px 24px; display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.tl-welcome__title{ font-family:var(--tl-display); font-weight:900; letter-spacing:-.02em; font-size:clamp(1.5rem,3vw,2rem); margin:0; }
.tl-welcome__sub{ color:var(--tl-steel); margin:4px 0 0; font-size:.95rem; }
.tl-welcome__spacer{ flex:1; }
.tl-welcome__stats{ display:flex; gap:26px; margin-right:8px; }
.tl-wstat{ display:flex; flex-direction:column; }
.tl-wstat__n{ font-family:var(--tl-mono); font-weight:700; font-size:1.4rem; line-height:1.1; }
.tl-wstat__l{ font-size:.72rem; text-transform:uppercase; letter-spacing:.06em; color:var(--tl-steel); }

/* ── Logged-in: search + quicklinks + section heads ──────────────────── */
.tl-dash-search{ background:#fff; border:1px solid var(--tl-line-warm); border-radius:12px; padding:14px; display:flex; gap:10px; margin:28px 0 8px; box-shadow:var(--tl-shadow); }
.tl-dash-search__input{ flex:1; border:1px solid var(--tl-line-warm); border-radius:var(--tl-radius); padding:11px 14px; font-size:.95rem; background:var(--tl-paper); color:var(--tl-ink); }
.tl-dash-search__select{ border:1px solid var(--tl-line-warm); border-radius:var(--tl-radius); padding:11px 14px; background:var(--tl-paper); color:var(--tl-ink); font-size:.9rem; }
.tl-dash-search__input:focus, .tl-dash-search__select:focus{ outline:none; border-color:var(--tl-green); }
.tl-quicklinks{ display:flex; gap:9px; flex-wrap:wrap; margin-top:6px; }
.tl-quicklinks a{ font-size:.85rem; text-decoration:none; color:var(--tl-ink); background:#fff; border:1px solid var(--tl-line-warm); padding:8px 15px; border-radius:999px; transition:border-color .15s, color .15s; }
.tl-quicklinks a:hover{ border-color:var(--tl-green); color:var(--tl-green); }
.tl-dash-head{ display:flex; align-items:center; justify-content:space-between; margin:40px 0 18px; }
.tl-dash-head h2{ font-size:1.15rem; letter-spacing:-.01em; padding-left:12px; border-left:3px solid var(--tl-green); margin:0; }
.tl-dash-head a{ font-size:.85rem; color:var(--tl-green); text-decoration:none; font-weight:600; }
.tl-dash-head a:hover{ text-decoration:underline; }

/* ── Responsive ──────────────────────────────────────────────────────── */
@media (max-width:900px){
	.tl-vstrip__inner{ grid-template-columns:repeat(2,1fr); gap:20px; }
	.tl-steps{ grid-template-columns:1fr; }
	.tl-step::before{ display:none; }
	.tl-feats{ grid-template-columns:1fr; }
	.tl-plans{ grid-template-columns:1fr; max-width:440px; margin:0 auto; }
}
@media (max-width:768px){
	.tl-lp-hero{ padding:70px 0 64px; }
	.tl-lp-band{ padding:56px 0; }
	.tl-welcome__inner{ padding:26px 24px; }
	.tl-welcome__stats{ order:3; margin-right:0; }
	.tl-dash-search{ flex-wrap:wrap; }
	.tl-dash-search__input{ flex:1 1 100%; }
}
@media (max-width:520px){
	.tl-catgrid{ grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); }
	.tl-vstrip__inner{ grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce){
	.tl-cat, .tl-chips a, .tl-quicklinks a{ transition:none; }
}

/* ═══════════════════════════════════════════════════════════════
 * Branded auth PAGES (2026-08-10 v2) — sign-in + reset-password.
 * Brand panel is injected as a sibling of .hp-page__content inside
 * .hp-row; here we turn that row into a two-panel card. All layout
 * scoped to body.tl-auth-page so no other HivePress page changes.
 * ═══════════════════════════════════════════════════════════════ */
body.tl-auth-page .hp-page > .hp-row{
	display:grid;
	grid-template-columns:0.92fr 1.08fr;
	align-items:stretch;
	max-width:960px;
	margin:24px auto 44px;
	background:var(--tl-white);
	border:1px solid var(--tl-border);
	border-radius:12px;
	overflow:hidden;
	box-shadow:0 12px 40px rgba(14,61,38,.16);
}
/* form column: neutralise HivePress bootstrap grid (width/offset/padding) */
body.tl-auth-page .hp-page__content{
	width:auto;max-width:none;margin:0;flex:none;float:none;
	padding:48px 48px;display:flex;flex-direction:column;justify-content:center;
}
body.tl-auth-page .hp-page__content > .hp-menu,
body.tl-auth-page .hp-page__content nav[class*="breadcrumb"]{display:none;}
body.tl-auth-page .hp-page__title{font-size:1.5rem;font-weight:800;letter-spacing:-.01em;margin:0 0 6px;}
/* brand panel */
.tl-auth__brand{
	position:relative;padding:40px 40px 36px;color:#fff;
	background:linear-gradient(150deg,var(--tl-green) 0%,var(--tl-green-dark) 62%,#0e3d26 100%);
	display:flex;flex-direction:column;overflow:hidden;isolation:isolate;
}
.tl-auth__brand::before{content:"";position:absolute;inset:0;z-index:-1;background:repeating-linear-gradient(118deg,rgba(255,255,255,.045) 0 2px,transparent 2px 26px);}
.tl-auth__brand::after{content:"";position:absolute;top:-120px;right:-120px;width:320px;height:320px;z-index:-1;background:radial-gradient(circle,rgba(212,150,10,.28),transparent 68%);}
.tl-auth__mark{display:flex;align-items:center;gap:11px;font-weight:800;font-size:1.25rem;letter-spacing:-.01em;color:#fff;}
.tl-auth__logo{width:34px;height:34px;flex:0 0 auto;display:grid;place-items:center;background:var(--tl-gold);border-radius:8px;box-shadow:inset 0 0 0 2px rgba(0,0,0,.06);}
.tl-auth__logo svg{display:block;}
.tl-auth__brandbody{margin-top:auto;padding-top:44px;}
.tl-auth__stamp{display:inline-flex;align-items:center;gap:7px;font-family:ui-monospace,SFMono-Regular,Menlo,"Roboto Mono",Consolas,monospace;font-size:.64rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#fff;border:1px solid rgba(255,255,255,.32);border-radius:4px;padding:5px 10px;margin-bottom:20px;}
.tl-auth__rule{height:2px;width:46px;background:var(--tl-gold);border-radius:2px;margin:0 0 20px;}
.tl-auth__title{font-size:1.9rem;line-height:1.1;font-weight:800;letter-spacing:-.02em;margin:0 0 12px;text-wrap:balance;color:#fff;}
.tl-auth__sub{font-size:.95rem;color:rgba(255,255,255,.82);margin:0 0 22px;}
.tl-auth__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px;}
.tl-auth__list li{display:flex;align-items:flex-start;gap:10px;font-size:.9rem;color:rgba(255,255,255,.9);}
.tl-auth__ico{flex:0 0 auto;margin-top:2px;}
/* form fields (scoped to auth pages) */
body.tl-auth-page .hp-form__fields{display:flex;flex-direction:column;gap:18px;}
body.tl-auth-page .hp-form__field{display:flex;flex-direction:column;}
body.tl-auth-page .hp-form__field--password{position:relative;}
body.tl-auth-page .hp-field__label{font-size:.76rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--tl-text);margin-bottom:7px;}
body.tl-auth-page .hp-field--text,
body.tl-auth-page .hp-field--email,
body.tl-auth-page .hp-field--password{
	width:100%;font-size:.98rem;padding:12px 14px;border:1px solid var(--tl-border);
	border-radius:var(--tl-radius);background:#fbfcfb;color:var(--tl-text);outline:none;
	transition:border-color .14s,box-shadow .14s,background .14s;
}
body.tl-auth-page .hp-field--text:focus,
body.tl-auth-page .hp-field--email:focus,
body.tl-auth-page .hp-field--password:focus{border-color:var(--tl-green);background:var(--tl-white);box-shadow:0 0 0 3px rgba(26,102,64,.13);}
body.tl-auth-page .hp-field__icon{position:absolute;right:12px;bottom:11px;color:var(--tl-muted);}
body.tl-auth-page .hp-field__icon:hover{color:var(--tl-green);}
body.tl-auth-page .hp-form__description{font-size:.9rem;color:var(--tl-muted);margin:0 0 4px;}
body.tl-auth-page .hp-form__footer{margin-top:24px;display:flex;flex-direction:column;gap:16px;}
body.tl-auth-page .hp-form__button{width:100%;font-size:1rem;font-weight:700;color:#fff;background:var(--tl-green);border:none;border-radius:var(--tl-radius);padding:13px 18px;cursor:pointer;text-align:center;transition:background .14s,transform .05s;}
body.tl-auth-page .hp-form__button:hover{background:var(--tl-green-dark);}
body.tl-auth-page .hp-form__button:active{transform:translateY(1px);}
body.tl-auth-page .hp-form__actions{display:flex;flex-direction:column;gap:8px;text-align:center;margin-top:2px;}
body.tl-auth-page .hp-form__action{margin:0;font-size:.9rem;color:var(--tl-muted);}
body.tl-auth-page .hp-form__action a{color:#b87e08;font-weight:600;text-decoration:none;}
body.tl-auth-page .hp-form__action a:hover{text-decoration:underline;}
@media (max-width:840px){
	body.tl-auth-page .hp-page > .hp-row{grid-template-columns:1fr;max-width:520px;margin:16px auto 30px;}
	.tl-auth__brand{padding:28px 26px;}
	.tl-auth__brandbody{padding-top:22px;}
	.tl-auth__title{font-size:1.55rem;}
	.tl-auth__list{display:none;}
	body.tl-auth-page .hp-page__content{padding:34px 26px 42px;}
}

/* ═══════════════════════════════════════════════════════════════
 * Branded auth MODALS — login / register / password-request.
 * Scoped to the three auth modal IDs only.
 * ═══════════════════════════════════════════════════════════════ */
#user_login_modal,#user_register_modal,#user_password_request_modal{border-top:3px solid var(--tl-green);border-radius:10px;box-shadow:0 18px 50px rgba(14,61,38,.22);}
#user_login_modal .hp-modal__title,#user_register_modal .hp-modal__title,#user_password_request_modal .hp-modal__title{
	display:flex;align-items:center;gap:11px;font-size:1.3rem;font-weight:800;letter-spacing:-.01em;color:var(--tl-green-dark);margin:0 0 20px;padding-bottom:15px;border-bottom:2px solid #efeadf;position:relative;
}
#user_login_modal .hp-modal__title::after,#user_register_modal .hp-modal__title::after,#user_password_request_modal .hp-modal__title::after{content:"";position:absolute;left:0;bottom:-2px;width:46px;height:2px;background:var(--tl-gold);}
#user_login_modal .hp-modal__title::before,#user_register_modal .hp-modal__title::before,#user_password_request_modal .hp-modal__title::before{content:"";flex:0 0 auto;width:30px;height:30px;border-radius:7px;background:var(--tl-gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M2 15h16M2 15c1.5-3 3-3 4.5 0M6.5 15c1.5-3 3-3 4.5 0M11 15c1.5-3 3-3 4.5 0' stroke='%230e3d26' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/18px no-repeat;box-shadow:inset 0 0 0 2px rgba(0,0,0,.06);}
#user_login_modal .hp-form__fields,#user_register_modal .hp-form__fields,#user_password_request_modal .hp-form__fields{display:flex;flex-direction:column;gap:15px;}
#user_login_modal .hp-form__field--password,#user_register_modal .hp-form__field--password,#user_password_request_modal .hp-form__field--password{position:relative;}
#user_login_modal .hp-field__label,#user_register_modal .hp-field__label,#user_password_request_modal .hp-field__label{font-size:.75rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--tl-text);margin-bottom:6px;display:block;}
#user_login_modal .hp-field--text,#user_login_modal .hp-field--email,#user_login_modal .hp-field--password,#user_register_modal .hp-field--text,#user_register_modal .hp-field--email,#user_register_modal .hp-field--password,#user_password_request_modal .hp-field--text,#user_password_request_modal .hp-field--email,#user_password_request_modal .hp-field--password{width:100%;font-size:.98rem;padding:11px 13px;border:1px solid var(--tl-border);border-radius:var(--tl-radius);background:#fbfcfb;color:var(--tl-text);outline:none;transition:border-color .14s,box-shadow .14s,background .14s;}
#user_login_modal .hp-field--text:focus,#user_login_modal .hp-field--email:focus,#user_login_modal .hp-field--password:focus,#user_register_modal .hp-field--text:focus,#user_register_modal .hp-field--email:focus,#user_register_modal .hp-field--password:focus,#user_password_request_modal .hp-field--text:focus,#user_password_request_modal .hp-field--email:focus,#user_password_request_modal .hp-field--password:focus{border-color:var(--tl-green);background:var(--tl-white);box-shadow:0 0 0 3px rgba(26,102,64,.13);}
#user_login_modal .hp-field__icon,#user_register_modal .hp-field__icon,#user_password_request_modal .hp-field__icon{color:var(--tl-muted);}
#user_password_request_modal .hp-form__description{font-size:.9rem;color:var(--tl-muted);margin:0 0 16px;}
#user_login_modal .hp-form__footer,#user_register_modal .hp-form__footer,#user_password_request_modal .hp-form__footer{margin-top:20px;display:flex;flex-direction:column;gap:14px;}
#user_login_modal .hp-form__button,#user_register_modal .hp-form__button,#user_password_request_modal .hp-form__button{width:100%;font-size:1rem;font-weight:700;color:#fff;background:var(--tl-green);border:none;border-radius:var(--tl-radius);padding:12px 18px;cursor:pointer;text-align:center;transition:background .14s,transform .05s;}
#user_login_modal .hp-form__button:hover,#user_register_modal .hp-form__button:hover,#user_password_request_modal .hp-form__button:hover{background:var(--tl-green-dark);}
#user_login_modal .hp-form__actions,#user_register_modal .hp-form__actions,#user_password_request_modal .hp-form__actions{display:flex;flex-direction:column;gap:7px;text-align:center;}
#user_login_modal .hp-form__action,#user_register_modal .hp-form__action,#user_password_request_modal .hp-form__action{margin:0;font-size:.89rem;color:var(--tl-muted);}
#user_login_modal .hp-form__action a,#user_register_modal .hp-form__action a,#user_password_request_modal .hp-form__action a{color:#b87e08;font-weight:600;text-decoration:none;}
#user_login_modal .hp-form__action a:hover,#user_register_modal .hp-form__action a:hover,#user_password_request_modal .hp-form__action a:hover{text-decoration:underline;}

/* ═══════════════════════════════════════════════════════════════
 * LISTINGS BROWSE PAGE revamp (2026-08-10) — scoped to body.tl-listings
 * Restyles HivePress's native search header, filter sidebar, sort bar,
 * card grid and pagination. Filters/sort/pagination stay fully functional.
 * ═══════════════════════════════════════════════════════════════ */
/* ── search header ── */
body.tl-listings .hp-page__header{
	position:relative;overflow:hidden;isolation:isolate;
	background:repeating-linear-gradient(118deg,rgba(255,255,255,.05) 0 2px,transparent 2px 26px),linear-gradient(150deg,var(--tl-green) 0%,var(--tl-green-dark) 70%,#0e3d26 100%);
	border-radius:12px;padding:26px 28px 28px;margin-bottom:24px;color:#fff;
}
body.tl-listings .hp-page__header::before{content:"Browse equipment";display:block;font-size:1.5rem;font-weight:800;letter-spacing:-.02em;margin-bottom:16px;}
body.tl-listings .hp-form--listing-search{display:flex;gap:0;max-width:720px;background:var(--tl-white);border-radius:var(--tl-radius);padding:5px;box-shadow:0 8px 24px rgba(14,61,38,.18);}
body.tl-listings .hp-form--listing-search .hp-form__messages{display:none;}
body.tl-listings .hp-form--listing-search .hp-form__fields{display:flex;flex:1;margin:0;gap:0;}
body.tl-listings .hp-form--listing-search .hp-form__field{flex:1;margin:0;}
body.tl-listings .hp-form--listing-search .hp-field--search{width:100%;border:none;background:transparent;font-size:.98rem;padding:11px 14px;outline:none;color:var(--tl-text);}
body.tl-listings .hp-form--listing-search .hp-form__footer{margin:0;}
body.tl-listings .hp-form--listing-search .hp-form__button{background:var(--tl-green);color:#fff;border:none;font-weight:700;font-size:.95rem;padding:11px 22px;border-radius:var(--tl-radius-sm,5px);cursor:pointer;white-space:nowrap;}
body.tl-listings .hp-form--listing-search .hp-form__button:hover{background:var(--tl-green-dark);}

/* ── sidebar filters ── */
body.tl-listings .hp-page__sidebar .hp-widget,
body.tl-listings .hp-page__sidebar .widget{background:var(--tl-white);border:1px solid var(--tl-border);border-radius:var(--tl-radius);padding:16px 16px 18px;margin-bottom:16px;}
body.tl-listings .hp-page__sidebar .widget-title,
body.tl-listings .hp-page__sidebar .hp-widget__title{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--tl-muted);margin:0 0 12px;}
body.tl-listings .hp-form--listing-filter .hp-form__field{margin-bottom:14px;}
body.tl-listings .hp-form--listing-filter label{font-size:.9rem;color:var(--tl-text);}
body.tl-listings .hp-form--listing-filter input[type=radio],
body.tl-listings .hp-form--listing-filter input[type=checkbox]{accent-color:var(--tl-green);}
body.tl-listings .hp-form--listing-filter ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;}
body.tl-listings .hp-form--listing-filter .hp-field--number{width:100%;font-family:var(--mono,ui-monospace,Menlo,monospace);font-size:.85rem;padding:8px 10px;border:1px solid var(--tl-border);border-radius:var(--tl-radius-sm,5px);outline:none;}
body.tl-listings .hp-form--listing-filter .hp-field--number:focus{border-color:var(--tl-green);}
body.tl-listings .hp-form--listing-filter .hp-form__button{width:100%;background:var(--tl-green);color:#fff;border:none;font-weight:600;font-size:.88rem;padding:10px;border-radius:var(--tl-radius-sm,5px);cursor:pointer;margin-top:6px;}
body.tl-listings .hp-form--listing-filter .hp-form__button:hover{background:var(--tl-green-dark);}

/* ── sort topbar ── */
body.tl-listings .hp-page__topbar{display:flex;justify-content:flex-end;align-items:center;margin-bottom:18px;}
body.tl-listings .hp-form--listing-sort .hp-field--select,
body.tl-listings .hp-form--listing-sort select{font-family:var(--sans,inherit);font-size:.88rem;color:var(--tl-text);padding:8px 12px;border:1px solid var(--tl-border);border-radius:var(--tl-radius-sm,5px);background:var(--tl-white);outline:none;cursor:pointer;}

/* ── card grid ── */
body.tl-listings .hp-listings.hp-grid > .hp-row{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:0;}
body.tl-listings .hp-listings.hp-grid > .hp-row > .hp-grid__item{width:auto;max-width:none;flex:none;padding:0;margin:0;}
@media (max-width:1100px){ body.tl-listings .hp-listings.hp-grid > .hp-row{grid-template-columns:repeat(2,1fr);} }
@media (max-width:560px){ body.tl-listings .hp-listings.hp-grid > .hp-row{grid-template-columns:1fr;} }

/* ── card ── */
body.tl-listings .hp-listing--view-block{background:var(--tl-white);border:1px solid var(--tl-border);border-radius:var(--tl-radius);overflow:hidden;box-shadow:0 1px 2px rgba(14,61,38,.06),0 6px 20px rgba(14,61,38,.07);transition:transform .15s,box-shadow .15s;display:flex;flex-direction:column;height:100%;}
body.tl-listings .hp-listing--view-block:hover{transform:translateY(-2px);box-shadow:0 3px 6px rgba(14,61,38,.09),0 14px 30px rgba(14,61,38,.12);}
body.tl-listings .hp-listing__header{margin:0;}
body.tl-listings .hp-listing__image{aspect-ratio:4/3;overflow:hidden;background:#eef2ec;}
body.tl-listings .hp-listing__image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s;}
body.tl-listings .hp-listing--view-block:hover .hp-listing__image img{transform:scale(1.04);}
body.tl-listings .hp-listing__content{padding:13px 14px 6px;display:flex;flex-direction:column;gap:6px;flex:1;}
body.tl-listings .hp-listing__categories{margin:0;}
body.tl-listings .hp-listing__categories a{font-family:var(--mono,ui-monospace,Menlo,monospace);font-size:.64rem;letter-spacing:.08em;text-transform:uppercase;color:var(--tl-green);text-decoration:none;font-weight:600;}
body.tl-listings .hp-listing__title{margin:0;font-size:.96rem;font-weight:700;line-height:1.28;}
body.tl-listings .hp-listing__title a{color:var(--tl-text);text-decoration:none;}
body.tl-listings .hp-listing__title a:hover{color:var(--tl-green);}
body.tl-listings .hp-listing__details--primary{display:none;} /* hide "Added on <date>" */
body.tl-listings .hp-listing__attributes--secondary{margin:0;font-size:.8rem;color:var(--tl-muted);}
body.tl-listings .hp-listing__attributes--secondary .hp-row{margin:0;}
body.tl-listings .hp-listing__attributes--secondary .hp-col-lg-6{width:auto;max-width:none;padding:0;}
body.tl-listings .hp-listing__attribute--location{color:var(--tl-muted);}
body.tl-listings .hp-listing__footer{margin-top:auto;padding:10px 14px 14px;border-top:1px solid var(--tl-bg);}
body.tl-listings .hp-listing__attributes--primary .hp-listing__attribute{font-family:var(--mono,ui-monospace,Menlo,monospace);font-size:1.16rem;font-weight:700;color:var(--tl-green-dark);letter-spacing:-.01em;}

/* ── pagination ── */
body.tl-listings .hp-pagination{margin-top:26px;}
body.tl-listings .hp-pagination .page-numbers{min-width:38px;height:38px;display:inline-grid;place-items:center;border:1px solid var(--tl-border);border-radius:var(--tl-radius-sm,5px);font-family:var(--mono,ui-monospace,Menlo,monospace);font-size:.85rem;color:var(--tl-text);background:var(--tl-white);text-decoration:none;margin:0 3px;padding:0 6px;}
body.tl-listings .hp-pagination .page-numbers.current{background:var(--tl-green);border-color:var(--tl-green);color:#fff;}
body.tl-listings .hp-pagination a.page-numbers:hover{border-color:var(--tl-green);color:var(--tl-green);}

/* mobile: sidebar above results */
@media (max-width:860px){
	body.tl-listings .hp-page__sidebar,body.tl-listings .hp-page__content{width:100%;max-width:none;flex:none;}
}

/* ── Header account menu de-dupe ─────────────────────────────
   HivePress's add_menu_items() injects the account/login item at BOTH the
   first AND last position of the header menu (so a theme can pick a side).
   ListingHive doesn't hide either, so it showed twice. Keep only the last
   (right-aligned) copy. */
.header-navbar__menu  .menu-item--first.menu-item--user-account,
.header-navbar__burger .menu-item--first.menu-item--user-account,
.header-navbar__menu  .menu-item--first.menu-item--user-login,
.header-navbar__burger .menu-item--first.menu-item--user-login {
	display: none !important;
}

/* ═══ ACCOUNT SETTINGS PAGE (branded — matches landing/auth) ══════════════ */
body.tl-account-settings .hp-page__title,
body.tl-account-settings .hp-page__description { display: none; } /* hero replaces them */

body.tl-account-settings .tl-acct-hero {
	display: flex; align-items: center; gap: 20px;
	margin: 0 0 26px; padding: 26px 30px;
	border-radius: 16px; color: #fff; overflow: hidden;
	background:
		linear-gradient(0deg, rgba(6,26,15,.28), rgba(6,26,15,.28)),
		repeating-linear-gradient(135deg, var(--tl-stripe-a) 0 26px, var(--tl-stripe-b) 26px 52px);
	box-shadow: var(--tl-shadow);
}
body.tl-account-settings .tl-acct__avatar-img {
	width: 84px; height: 84px; border-radius: 50%;
	border: 3px solid rgba(255,255,255,.9); object-fit: cover; display: block;
}
body.tl-account-settings .tl-acct__meta { display: flex; flex-direction: column; gap: 4px; }
body.tl-account-settings .tl-acct__eyebrow {
	font-family: var(--tl-mono); text-transform: uppercase; letter-spacing: .16em;
	font-size: 11px; color: var(--tl-brass-bright);
}
body.tl-account-settings .tl-acct__name {
	font-family: var(--tl-display); font-size: 1.9rem; line-height: 1.05; color: #fff;
}
body.tl-account-settings .tl-acct__badges { margin-top: 4px; }
body.tl-account-settings .tl-acct__tier {
	display: inline-block; font-family: var(--tl-mono); font-size: 11px;
	letter-spacing: .08em; text-transform: uppercase; font-weight: 700;
	background: var(--tl-brass); color: #1c1205; padding: 3px 11px; border-radius: 999px;
}
body.tl-account-settings .tl-acct__tier--free { background: rgba(255,255,255,.22); color: #fff; }

body.tl-account-settings .hp-form--user-update {
	background: var(--tl-white); border: 1px solid var(--tl-line-warm);
	border-radius: 16px; padding: 28px 30px; box-shadow: var(--tl-shadow); max-width: 660px;
}
body.tl-account-settings .hp-form--user-update .hp-form__field { margin-bottom: 20px; }
body.tl-account-settings .hp-form--user-update .hp-field__label span { font-weight: 700; color: var(--tl-ink); font-size: 14px; }
body.tl-account-settings .hp-form--user-update .hp-field__label small { color: var(--tl-steel); font-weight: 400; }
body.tl-account-settings .hp-form--user-update input[type="text"],
body.tl-account-settings .hp-form--user-update input[type="email"],
body.tl-account-settings .hp-form--user-update input[type="password"],
body.tl-account-settings .hp-form--user-update input[type="number"],
body.tl-account-settings .hp-form--user-update textarea {
	width: 100%; border: 1px solid var(--tl-border); border-radius: 9px;
	padding: 11px 13px; font-size: 15px; background: #fff; transition: border-color .15s, box-shadow .15s;
}
body.tl-account-settings .hp-form--user-update input:focus,
body.tl-account-settings .hp-form--user-update textarea:focus {
	border-color: var(--tl-green); outline: none; box-shadow: 0 0 0 3px rgba(26,102,64,.14);
}
body.tl-account-settings .hp-form--user-update .hp-field--submit button,
body.tl-account-settings .hp-form--user-update button[type="submit"] {
	background: var(--tl-brass) !important; color: #1c1205 !important;
	font-weight: 800; border: none; border-radius: 9px; padding: 12px 26px; font-size: 15px; cursor: pointer;
}
body.tl-account-settings .hp-form--user-update .hp-field--submit button:hover,
body.tl-account-settings .hp-form--user-update button[type="submit"]:hover { background: var(--tl-brass-bright) !important; }

@media (max-width: 640px) {
	body.tl-account-settings .tl-acct-hero { flex-direction: column; text-align: center; }
	body.tl-account-settings .hp-form--user-update { padding: 22px 18px; }
}

/* Company / dealership name shown next to the dealer badge (global, storefront) */
.tl-company { display: inline-block; margin-left: 8px; font-weight: 600; color: var(--tl-steel); font-size: .92em; }

/* ═══ ACCOUNT PAGES (My Listings / Messages / Favorites / My Membership) ═══ */
body.tl-account-page .hp-page__title,
body.tl-account-page .hp-page__description { display: none; } /* hero replaces them */

body.tl-account-page .tl-acct-hero {
	display: flex; align-items: center; justify-content: space-between; gap: 20px;
	margin: 0 0 24px; padding: 24px 30px; border-radius: 16px; color: #fff; overflow: hidden;
	background:
		linear-gradient(0deg, rgba(6,26,15,.28), rgba(6,26,15,.28)),
		repeating-linear-gradient(135deg, var(--tl-stripe-a) 0 26px, var(--tl-stripe-b) 26px 52px);
	box-shadow: var(--tl-shadow);
}
body.tl-account-page .tl-acct__meta { display: flex; flex-direction: column; gap: 2px; }
body.tl-account-page .tl-acct__eyebrow {
	font-family: var(--tl-mono); text-transform: uppercase; letter-spacing: .16em;
	font-size: 11px; color: var(--tl-brass-bright);
}
body.tl-account-page .tl-acct__name { font-family: var(--tl-display); font-size: 1.7rem; line-height: 1.05; color: #fff; }
body.tl-account-page .tl-acct__sub { color: rgba(255,255,255,.82); font-size: 14px; margin-top: 6px; max-width: 54ch; }
body.tl-account-page .tl-acct__actions { flex-shrink: 0; }

.tl-acct-btn {
	display: inline-block; background: var(--tl-brass); color: #1c1205 !important; font-weight: 800;
	padding: 11px 20px; border-radius: 9px; text-decoration: none; font-size: 14px; white-space: nowrap;
}
.tl-acct-btn:hover { background: var(--tl-brass-bright); }
.tl-acct-btn--ghost { background: rgba(255,255,255,.14); color: #fff !important; border: 1px solid rgba(255,255,255,.4); }
.tl-acct-btn--ghost:hover { background: rgba(255,255,255,.24); }

@media (max-width: 640px) {
	body.tl-account-page .tl-acct-hero { flex-direction: column; align-items: flex-start; }
}
