/**
 * Works4U global theme — tokens from Figma Style Guide (Works4U file).
 */

@import url("https://fonts.googleapis.com/css2?family=Geologica:wght@400;500;600;700&family=Nunito+Sans:opsz,wght@6..12,400;6..12,600;6..12,700&display=swap");

:root {
	--w4u-primary: #148332;
	--w4u-primary-dark: #0f6b28;
	--w4u-primary-mid: #609d6d;
	--w4u-primary-soft: #e7f3ea;
	--w4u-primary-muted: #eaf1ec;
	--w4u-bg: #f5f8f6;
	--w4u-bg-card: #ffffff;
	--w4u-bg-dark: #252a30;
	--w4u-text: #000000;
	--w4u-text-body: #4d4d4d;
	--w4u-text-muted: #999999;
	--w4u-border: #d6d6d6;
	--w4u-error: #e81111;
	--w4u-radius: 10px;
	--w4u-radius-lg: 16px;
	--w4u-shadow: 0 8px 24px rgba(20, 131, 50, 0.08);
	--w4u-font: "Geologica", "Nunito Sans", sans-serif;
	--w4u-font-heading: "Geologica", "Quicksand", sans-serif;
}

/* Override TaskHive customizer yellow with Figma green. */
body {
	font-family: var(--w4u-font);
	color: var(--w4u-text-body);
	background-color: var(--w4u-bg);
}

h1,
h2,
h3,
h4,
h5,
h6,
.header-logo__name,
.hp-page__title,
.content-title,
.button,
button,
input[type="submit"],
.hp-form__button {
	font-family: var(--w4u-font-heading) !important;
}

.site-header,
.content-section {
	background-color: var(--w4u-bg-card) !important;
	background-image: none !important;
	border-bottom: 1px solid var(--w4u-border);
}

.site-header {
	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.04);
}

.header-logo__name {
	font-weight: 700 !important;
	font-size: 1.35rem !important;
	color: var(--w4u-text) !important;
	letter-spacing: -0.02em;
}

/* Replaced by works4u-logo-inner.png via branding.js */
.works4u-logo-link {
	display: inline-flex;
	align-items: center;
	line-height: 0;
}

.works4u-inner-logo {
	display: block;
	height: 40px;
	width: auto;
	max-width: min(180px, 42vw);
	object-fit: contain;
}

.header-navbar__menu > ul > li > a,
.header-navbar__burger > ul > li > a {
	color: var(--w4u-text-body) !important;
	font-weight: 500;
}

.header-navbar__menu ul li.active > a,
.header-navbar__menu ul li.current-menu-item > a,
.header-navbar__menu ul li a:hover,
.footer-navbar__menu ul li a:hover,
.hp-menu--tabbed .hp-menu__item--current a,
.hp-link:hover,
.hp-link:hover i {
	color: var(--w4u-primary) !important;
}

.header-navbar__menu > ul > li.current-menu-item::before,
.header-navbar__burger > ul > li.current-menu-item::before,
.hp-menu--tabbed .hp-menu__item--current::before,
.content-title::before,
.hp-page__title::before,
.hp-section__title::before,
.hp-vendor--view-block:hover::before,
.hp-listing-category--view-block:hover::before {
	background-color: var(--w4u-primary) !important;
}

.button--primary,
button[type="submit"],
input[type="submit"],
.hp-form__button,
.hp-field--submit,
.woocommerce #respond input#submit.alt,
.woocommerce button[type="submit"],
.woocommerce input[type="submit"],
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
	background-color: var(--w4u-primary) !important;
	border-color: var(--w4u-primary) !important;
	color: #fff !important;
	border-radius: var(--w4u-radius) !important;
}

.button--primary:hover,
button[type="submit"]:hover,
input[type="submit"]:hover,
.hp-form__button:hover,
.hp-field--submit:hover {
	background-color: var(--w4u-primary-dark) !important;
	border-color: var(--w4u-primary-dark) !important;
}

.button--secondary,
.hp-menu__item--listing-submit,
.hp-menu__item--request-submit.button,
.works4u-nav__add-job > a.button {
	background-color: var(--w4u-primary-soft) !important;
	color: var(--w4u-primary) !important;
	border: 1px solid var(--w4u-primary-mid) !important;
	border-radius: var(--w4u-radius) !important;
}

.button--secondary:hover,
.hp-menu__item--listing-submit:hover {
	background-color: var(--w4u-primary) !important;
	color: #fff !important;
}

.hp-field--text,
.hp-field--email,
.hp-field--password,
.hp-field--number,
.hp-field--textarea,
select.hp-field,
textarea.hp-field {
	border: 1px solid var(--w4u-border) !important;
	border-radius: var(--w4u-radius) !important;
}

.hp-field input[type="checkbox"]:checked + span::before,
.hp-field input[type="radio"]:checked + span::before {
	border-color: var(--w4u-primary) !important;
}

.hp-field input[type="checkbox"]:checked + span::after,
.hp-field input[type="radio"]:checked + span::after,
.hp-field--number-range .ui-slider-range,
.button--secondary {
	background-color: var(--w4u-primary) !important;
}

.hp-vendor--view-block,
.hp-listing--view-block,
.hp-request--view-block,
.hp-widget {
	border-radius: var(--w4u-radius-lg) !important;
	border: 1px solid var(--w4u-border) !important;
	box-shadow: var(--w4u-shadow);
	background: var(--w4u-bg-card) !important;
}

.post__categories a,
.hp-listing--view-block .hp-listing__categories a,
.hp-vendor--view-block .hp-vendor__categories a,
.hp-request--view-block .hp-request__categories a {
	background-color: var(--w4u-primary-soft) !important;
	color: var(--w4u-primary) !important;
	border-radius: 999px;
}

.hp-listing__location i {
	color: var(--w4u-primary) !important;
}

.site-footer {
	background: var(--w4u-bg-dark) !important;
	color: #fff;
}

.site-footer a {
	color: #fff;
	opacity: 0.9;
}

.site-footer a:hover {
	color: var(--w4u-primary-soft);
	opacity: 1;
}

.site-sidebar .hp-widget,
.widget {
	border-radius: var(--w4u-radius-lg);
}

/* Auth pages share tokens (auth.css uses overlapping vars). */
body.works4u-auth-page {
	--w4u-green: var(--w4u-primary);
	--w4u-green-dark: var(--w4u-primary-dark);
	--w4u-green-soft: var(--w4u-primary-soft);
	--w4u-green-btn: var(--w4u-primary);
}

/* Buyer / seller header actions */
body.works4u-user--buyer .hp-menu__item--listing-submit,
body.works4u-user--buyer .hp-listing__action--offer {
	display: none !important;
}

body.works4u-user--seller .hp-menu__item--request-submit {
	display: none !important;
}

/* Request submit — prevent stuck grey overlay when category AJAX reload fails */
[data-model="request"][data-state="loading"] {
	opacity: 1 !important;
}

[data-model="request"][data-state="loading"]::after {
	display: none !important;
}

/* Account dashboard + reviews */
.works4u-account-dashboard,
.works4u-account-reviews {
	padding: 8px 0 24px;
}

.works4u-account-dashboard__hero,
.works4u-account-reviews__header {
	margin-bottom: 24px;
}

.works4u-account-dashboard__title,
.works4u-account-reviews__title {
	margin: 0 0 8px;
	font-size: 28px;
	line-height: 1.2;
}

.works4u-account-dashboard__subtitle,
.works4u-account-reviews__subtitle {
	margin: 0;
	color: var(--w4u-text-muted, #666);
}

.works4u-account-dashboard__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.works4u-account-dashboard__summary {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	margin-bottom: 24px;
}

.works4u-account-dashboard__summary-item {
	min-width: 160px;
	padding: 14px 16px;
	border: 1px solid var(--w4u-border, #e5e7eb);
	border-radius: var(--w4u-radius-lg, 12px);
	background: #f9fafb;
}

.works4u-account-dashboard__summary-item span {
	display: block;
	margin-bottom: 4px;
	color: var(--w4u-text-muted, #666);
	font-size: 13px;
}

.works4u-account-dashboard__summary-item strong {
	font-size: 15px;
}

.works4u-account-dashboard__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 16px;
}

.works4u-account-dashboard__card {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 18px 20px;
	border: 1px solid var(--w4u-border, #e5e7eb);
	border-radius: var(--w4u-radius-lg, 12px);
	background: #fff;
	color: inherit;
	text-decoration: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.works4u-account-dashboard__card:hover {
	border-color: var(--w4u-primary, #148332);
	box-shadow: 0 8px 24px rgba(20, 131, 50, 0.08);
	color: inherit;
}

.works4u-account-dashboard__card strong {
	font-size: 16px;
}

.works4u-account-dashboard__card span {
	color: var(--w4u-text-muted, #666);
	font-size: 14px;
	line-height: 1.45;
}

.works4u-account-dashboard__card--accent {
	border-color: var(--w4u-primary, #148332);
	background: #f3faf5;
}

.works4u-job-notice {
	margin: 0 0 20px;
	padding: 14px 16px;
	border-radius: var(--w4u-radius-lg, 12px);
}

.works4u-job-notice--info {
	background: #eff6ff;
	border: 1px solid #bfdbfe;
	color: #1e3a8a;
}

.works4u-job-notice p {
	margin: 0;
}

/* Header nav role visibility fallback */
body.works4u-user--seller .works4u-nav__post-job,
body.works4u-user--buyer .works4u-nav__join-seller,
body.logged-in .menu-item--user-login + .menu-item a[href*="/login/"] {
	display: none !important;
}

.works4u-account-reviews__list {
	display: grid;
	gap: 16px;
}

.works4u-account-reviews__item {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 16px;
	padding: 18px 20px;
	border: 1px solid var(--w4u-border, #e5e7eb);
	border-radius: var(--w4u-radius-lg, 12px);
	background: #fff;
}

.works4u-account-reviews__rating {
	color: #f59e0b;
	font-size: 18px;
	line-height: 1.4;
	white-space: nowrap;
}

.works4u-account-reviews__content p {
	margin: 0 0 8px;
}

.works4u-account-reviews__date {
	color: var(--w4u-text-muted, #666);
	font-size: 13px;
}

.works4u-account-reviews__empty {
	padding: 24px;
	border: 1px dashed var(--w4u-border, #e5e7eb);
	border-radius: var(--w4u-radius-lg, 12px);
	background: #fff;
	color: var(--w4u-text-muted, #666);
}

/* Buyer account panels (left nav + right content) */
body.works4u-user--buyer .hp-page__sidebar .hp-menu--user_account {
	position: sticky;
	top: 24px;
}

.works4u-account-panel {
	padding: 4px 0 24px;
}

.works4u-account-panel__header {
	margin-bottom: 24px;
}

.works4u-account-panel__title,
.works4u-account-reviews__section-title {
	margin: 0 0 8px;
	font-size: 28px;
	line-height: 1.2;
}

.works4u-account-panel__subtitle,
.works4u-account-reviews__section-subtitle {
	margin: 0;
	color: var(--w4u-text-muted, #666);
}

.works4u-account-panel--empty {
	padding: 20px;
	border: 1px dashed var(--w4u-border, #d6d6d6);
	border-radius: var(--w4u-radius-lg, 12px);
	background: #fafbfc;
	color: var(--w4u-text-muted, #666);
}

.works4u-account-reviews__section + .works4u-account-reviews__section {
	margin-top: 32px;
	padding-top: 28px;
	border-top: 1px solid var(--w4u-border, #e5e7eb);
}

.works4u-account-offers {
	display: grid;
	gap: 16px;
}

.works4u-account-offers__item {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 16px;
	padding: 18px 20px;
	border: 1px solid var(--w4u-border, #e5e7eb);
	border-radius: var(--w4u-radius-lg, 12px);
	background: #fff;
}

.works4u-account-offers__item--hp-block {
	grid-template-columns: 1fr;
}

.works4u-account-offers__block .hp-offer {
	margin: 0;
}

.works4u-account-offers__block .hp-row {
	margin: 0;
}

.works4u-account-offers__job {
	margin: 0 0 8px;
	font-size: 18px;
}

.works4u-account-offers__vendor,
.works4u-account-offers__message {
	margin: 0 0 6px;
	color: var(--w4u-text-body, #4d4d4d);
}

.works4u-account-offers__meta {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 8px;
	min-width: 120px;
}

.works4u-account-offers__price {
	font-size: 20px;
	color: var(--w4u-primary, #148332);
}

.works4u-account-offers__status {
	display: inline-block;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	color: #047857;
}

.works4u-account-offers__date,
.works4u-account-offers__link {
	font-size: 13px;
	color: var(--w4u-text-muted, #666);
}

.works4u-account-offers__link {
	color: var(--w4u-primary, #148332);
	text-decoration: none;
	font-weight: 600;
}

.works4u-account-orders {
	display: grid;
	gap: 16px;
}

.works4u-payment-order {
	display: grid;
	gap: 16px;
	padding: 18px 20px;
	border: 1px solid var(--w4u-border, #e5e7eb);
	border-radius: var(--w4u-radius-lg, 12px);
	background: #fff;
}

.works4u-payment-order__summary {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 16px;
}

.works4u-payment-order__title {
	margin: 0 0 10px;
	font-size: 18px;
	line-height: 1.35;
}

.works4u-payment-order__title a {
	color: inherit;
	text-decoration: none;
}

.works4u-payment-order__title a:hover {
	color: var(--w4u-primary, #148332);
}

.works4u-payment-order__meta {
	margin: 0 0 10px;
	color: var(--w4u-text-muted, #666);
	font-size: 14px;
}

.works4u-payment-order__excerpt,
.works4u-payment-order__buyer {
	margin: 8px 0 0;
	color: var(--w4u-text-muted, #666);
	font-size: 14px;
	line-height: 1.45;
}

.works4u-payment-order__status--completed {
	background: #ecfdf5;
	color: #047857;
}

.works4u-payment-order__actions .works4u-order-review-btn {
	margin-top: 0;
}

.works4u-payment-order__actions .works4u-order-deliver-btn {
	margin-top: 0;
}

.works4u-order-review {
	width: 100%;
}

.works4u-order-review__panel {
	margin-top: 0;
}

.works4u-order-review__panel summary {
	list-style: none;
	cursor: pointer;
	display: inline-block;
}

.works4u-order-review__panel summary::-webkit-details-marker {
	display: none;
}

.works4u-order-review__form {
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid var(--w4u-border, #e5e7eb);
}

.works4u-order-review__form .hp-form__footer {
	margin-top: 12px;
}

.works4u-payment-order__id {
	font-size: 16px;
}

.works4u-payment-order__price {
	font-size: 16px;
	color: var(--w4u-primary, #148332);
}

.works4u-payment-order__status {
	display: inline-flex;
	align-items: center;
	padding: 4px 10px;
	border-radius: 999px;
	background: #fff7ed;
	color: #c2410c;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.04em;
}

.works4u-payment-order__date,
.works4u-payment-order__job,
.works4u-payment-order__vendor {
	margin: 8px 0 0;
	color: var(--w4u-text-muted, #666);
	font-size: 14px;
}

.works4u-payment-order__actions .hp-order__actions,
.works4u-payment-order__actions .hp-form__footer,
.works4u-payment-order__actions .hp-row {
	margin: 0;
}

.works4u-payment-order__notice {
	margin: 0;
	padding: 12px 14px;
	border-radius: var(--w4u-radius-lg, 12px);
	background: #eff6ff;
	border: 1px solid #bfdbfe;
	color: #1e3a8a;
	font-size: 14px;
	line-height: 1.45;
}

.works4u-payment-order__notice--success {
	background: #ecfdf5;
	border-color: #a7f3d0;
	color: #065f46;
}

.works4u-payment-order__notice--error {
	background: #fef2f2;
	border-color: #fecaca;
	color: #991b1b;
}

.works4u-account-panel .works4u-payment-order__notice {
	margin-bottom: 16px;
}

.works4u-earnings-summary {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin-bottom: 20px;
}

.works4u-earnings-card {
	padding: 18px 20px;
	border: 1px solid var(--w4u-border, #e5e7eb);
	border-radius: var(--w4u-radius-lg, 12px);
	background: #fff;
}

.works4u-earnings-card--pending {
	background: #fffbeb;
	border-color: #fde68a;
}

.works4u-earnings-card__label {
	display: block;
	margin-bottom: 8px;
	color: var(--w4u-text-muted, #666);
	font-size: 14px;
}

.works4u-earnings-card__value {
	display: block;
	font-size: 28px;
	line-height: 1.2;
	color: var(--w4u-primary, #148332);
}

.works4u-earnings-card__hint {
	margin: 8px 0 0;
	color: var(--w4u-text-muted, #666);
	font-size: 13px;
}

.works4u-earnings-stripe .button {
	margin-top: 8px;
}

.works4u-earnings-orders__title {
	margin: 0 0 12px;
	font-size: 18px;
}

.works4u-earnings-orders__list {
	display: grid;
	gap: 12px;
}

.works4u-earnings-order {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 14px 16px;
	border: 1px solid var(--w4u-border, #e5e7eb);
	border-radius: var(--w4u-radius-lg, 12px);
	background: #fff;
}

.works4u-earnings-order__main {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}

.works4u-earnings-order__title {
	font-size: 16px;
}

.works4u-earnings-order__title a {
	color: inherit;
	text-decoration: none;
}

.works4u-earnings-order__title a:hover {
	color: var(--w4u-primary, #148332);
}

.works4u-earnings-order__meta,
.works4u-earnings-order__buyer {
	margin: 0;
	color: var(--w4u-text-muted, #666);
	font-size: 14px;
}

.works4u-earnings-order__details {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 12px;
	margin-top: 4px;
}

.works4u-earnings-order__amounts {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 4px;
	text-align: right;
}

.works4u-earnings-order__total {
	color: var(--w4u-text-muted, #666);
	font-size: 13px;
}

.works4u-earnings-order__status {
	padding: 3px 8px;
	border-radius: 999px;
	background: #f3f4f6;
	font-size: 12px;
	font-weight: 600;
}

.works4u-earnings-order__amount {
	color: var(--w4u-primary, #148332);
	font-size: 16px;
}

.works4u-earnings-hp-payouts {
	margin-top: 24px;
}

@media (max-width: 768px) {
	.works4u-earnings-summary {
		grid-template-columns: 1fr;
	}

	.works4u-earnings-order {
		flex-direction: column;
		align-items: flex-start;
	}
}

.works4u-payment-order__actions a.hp-order__action--edit,
.works4u-payment-order__actions .hp-order__edit-link,
.works4u-payment-order__actions .hp-order__header,
.works4u-payment-order__actions .hp-order__title,
.works4u-payment-order__actions .hp-order__details,
.works4u-payment-order__actions .hp-order__summary,
.works4u-payment-order__actions .hp-page__sidebar,
.works4u-payment-order__actions .hp-menu--user-account {
	display: none !important;
}

.works4u-payment-order__actions .hp-form__footer,
.works4u-payment-order__actions .hp-order__footer,
.works4u-payment-order__actions .hp-order__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.works4u-account-orders .hp-page__sidebar,
.works4u-account-orders .page_sidebar,
.works4u-account-orders .hp-menu--user-account {
	display: none !important;
}

.works4u-account-orders .hp-order {
	margin: 0;
}

.works4u-wc-endpoint .woocommerce-orders-table,
.works4u-wc-endpoint .woocommerce-Address {
	width: 100%;
}

.works4u-payment-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.works4u-payment-list__head,
.works4u-payment-list__row {
	display: grid;
	grid-template-columns: minmax(0, 2fr) 80px 110px 100px 110px 100px;
	gap: 12px;
	align-items: center;
}

.works4u-payment-list__head {
	padding: 0 16px 8px;
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--w4u-muted, #6b7280);
}

.works4u-payment-list__row {
	padding: 16px;
	border: 1px solid var(--w4u-border, #e5e7eb);
	border-radius: var(--w4u-radius-lg, 12px);
	background: #fff;
}

.works4u-payment-list__job strong {
	display: block;
	font-size: 15px;
	line-height: 1.4;
}

.works4u-payment-list__status {
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
}

.works4u-payment-list__status--completed {
	color: #047857;
}

.works4u-payment-list__view {
	min-width: 72px;
	text-align: center;
}

.works4u-order-view__back {
	margin: 0 0 8px;
}

.works4u-order-view__back a {
	color: var(--w4u-primary, #2563eb);
	text-decoration: none;
}

.works4u-order-view__detail {
	margin-bottom: 20px;
	padding: 20px;
	border: 1px solid var(--w4u-border, #e5e7eb);
	border-radius: var(--w4u-radius-lg, 12px);
	background: #fff;
}

.works4u-order-view__actions {
	padding: 0 4px;
}

.works4u-my-jobs {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.works4u-my-jobs__item {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding: 16px;
	border: 1px solid var(--w4u-border, #e5e7eb);
	border-radius: var(--w4u-radius-lg, 12px);
	background: #fff;
}

.works4u-my-jobs__title {
	margin: 0 0 8px;
	font-size: 18px;
}

.works4u-my-jobs__title a {
	color: inherit;
	text-decoration: none;
}

.works4u-my-jobs__summary,
.works4u-my-jobs__meta {
	margin: 0 0 8px;
	color: var(--w4u-muted, #6b7280);
}

.works4u-my-jobs__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: flex-start;
}

@media (max-width: 768px) {
	.works4u-account-offers__item {
		grid-template-columns: 1fr;
	}

	.works4u-account-offers__meta {
		align-items: flex-start;
	}

	.works4u-payment-list__head {
		display: none;
	}

	.works4u-payment-list__row {
		grid-template-columns: 1fr;
		gap: 8px;
	}

	.works4u-my-jobs__item {
		flex-direction: column;
	}
}
