/**
 * Theme layer — styles WordPress and plugin markup to match the design.
 *
 * style.css holds the compiled design CSS (Tailwind). This file only covers
 * what the static HTML had no equivalent for: post content, comments, widgets,
 * the WP Users forms and the WPAdverts output. No plugin file is modified.
 */
@media (min-width: 40rem) {
    .sm\:h-10 {
        height: 4.5rem !important;
    }
}
/* ==================================================================== *
 * Utilities the design needs but the compiled build does not include
 * ==================================================================== */
.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.focus\:not-sr-only:focus {
	position: static;
	width: auto;
	height: auto;
	margin: 0;
	overflow: visible;
	clip: auto;
	white-space: normal;
}

/* The fixed header needs the anchor targets to clear it. */
:root {
	--sg-header-height: 132px;
}

@media (max-width: 1023px) {
	:root {
		--sg-header-height: 84px;
	}
}

[id] {
	scroll-margin-top: var(--sg-header-height);
}

.h-40{
	height: calc(var(--spacing) * 40);
}
/* ==================================================================== *
 * Post / page content ("sg-entry")
 * ==================================================================== */
.sg-entry {
	font-family: 'Montserrat', system-ui, sans-serif;
	font-size: 1rem;
	line-height: 1.75;
	color: rgba(0, 0, 0, 0.75);
}

.sg-entry > * + * {
	margin-top: 1.5rem;
}

.sg-entry h1,
.sg-entry h2,
.sg-entry h3,
.sg-entry h4,
.sg-entry h5,
.sg-entry h6 {
	font-family: 'Poppins', system-ui, sans-serif;
	color: #000;
	line-height: 1.25;
	margin-top: 2.5rem;
	margin-bottom: 1rem;
}

.sg-entry h1 { font-size: clamp(1.85rem, 4vw, 2.5rem); }
.sg-entry h2 { font-size: clamp(1.6rem, 3.2vw, 2rem); }
.sg-entry h3 { font-size: clamp(1.3rem, 2.6vw, 1.5rem); }
.sg-entry h4 { font-size: 1.15rem; }
.sg-entry h5 { font-size: 1rem; }
.sg-entry h6 {
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0.15em;
	color: rgba(0, 0, 0, 0.5);
}

.sg-entry a {
	color: #000;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
	transition: opacity 0.2s;
}

.sg-entry a:hover {
	opacity: 0.6;
}

.sg-entry strong { color: #000; }

.sg-entry ul,
.sg-entry ol {
	padding-left: 1.35rem;
}

.sg-entry ul { list-style: disc; }
.sg-entry ol { list-style: decimal; }
.sg-entry li + li { margin-top: 0.5rem; }

.sg-entry blockquote {
	border-left: 2px solid #000;
	padding: 0.25rem 0 0.25rem 1.5rem;
	font-family: 'Poppins', system-ui, sans-serif;
	font-size: 1.15rem;
	color: #000;
}

.sg-entry blockquote cite {
	display: block;
	margin-top: 0.75rem;
	font-family: 'Montserrat', system-ui, sans-serif;
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.15em;
	color: rgba(0, 0, 0, 0.45);
	font-style: normal;
}

.sg-entry img,
.sg-entry iframe,
.sg-entry video {
	max-width: 100%;
	height: auto;
	display: block;
}

.sg-entry figure { margin: 2rem 0; }

.sg-entry figcaption {
	font-size: 0.75rem;
	color: rgba(0, 0, 0, 0.45);
	margin-top: 0.75rem;
}

.sg-entry hr {
	border: 0;
	border-top: 1px solid rgba(0, 0, 0, 0.1);
	margin: 3rem 0;
}

.sg-entry code {
	font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
	font-size: 0.875em;
	background: rgba(0, 0, 0, 0.05);
	padding: 0.15em 0.4em;
}

.sg-entry pre {
	background: #000;
	color: #fff;
	padding: 1.5rem;
	overflow-x: auto;
	font-size: 0.85rem;
	line-height: 1.6;
}

.sg-entry pre code {
	background: none;
	padding: 0;
	color: inherit;
}

/* Tables scroll rather than breaking the layout. */
.sg-entry table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.9rem;
	display: block;
	overflow-x: auto;
}

.sg-entry th,
.sg-entry td {
	border: 1px solid rgba(0, 0, 0, 0.1);
	padding: 0.75rem 1rem;
	text-align: left;
}

.sg-entry th {
	background: #f7f7f7;
	font-family: 'Montserrat', system-ui, sans-serif;
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: #000;
}

/* WordPress alignment classes. */
.sg-entry .alignleft {
	float: left;
	margin: 0.5rem 2rem 1.5rem 0;
}

.sg-entry .alignright {
	float: right;
	margin: 0.5rem 0 1.5rem 2rem;
}

.sg-entry .aligncenter {
	margin-left: auto;
	margin-right: auto;
}

.sg-entry .alignwide,
.sg-entry .alignfull {
	max-width: none;
}

.sg-entry .wp-caption { max-width: 100%; }

/* Tags list. */
.sg-tags a {
	display: inline-block;
	font-size: 0.7rem;
	text-transform: uppercase;
	letter-spacing: 0.15em;
	border: 1px solid rgba(0, 0, 0, 0.15);
	padding: 0.5rem 1rem;
	color: rgba(0, 0, 0, 0.6);
	text-decoration: none;
	transition: all 0.2s;
}

.sg-tags a:hover {
	border-color: #000;
	color: #000;
}

/* wp_link_pages. */
.sg-link-pages a,
.sg-link-pages > span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.25rem;
	height: 2.25rem;
	padding: 0 0.65rem;
	border: 1px solid rgba(0, 0, 0, 0.15);
	text-decoration: none;
	color: rgba(0, 0, 0, 0.7);
}

.sg-link-pages a:hover {
	border-color: #000;
	color: #000;
}

/* ==================================================================== *
 * Widgets
 * ==================================================================== */
.sg-sidebar .widget ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.sg-sidebar .widget li {
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
	padding: 0.7rem 0;
}

.sg-sidebar .widget li:first-child { padding-top: 0; }

.sg-sidebar .widget a {
	font-family: 'Montserrat', system-ui, sans-serif;
	font-size: 0.875rem;
	color: rgba(0, 0, 0, 0.7);
	text-decoration: none;
	transition: color 0.2s;
}

.sg-sidebar .widget a:hover { color: #000; }

.sg-sidebar .widget select,
.sg-sidebar .widget input[type='text'],
.sg-sidebar .widget input[type='search'] {
	width: 100%;
	border: 1px solid rgba(0, 0, 0, 0.15);
	border-radius: 0;
	padding: 0.65rem 0.85rem;
	font-family: 'Montserrat', system-ui, sans-serif;
	font-size: 0.875rem;
	background: #fff;
}

.sg-sidebar .widget input:focus,
.sg-sidebar .widget select:focus {
	outline: 0;
	border-color: #000;
}

.sg-sidebar .widget button,
.sg-sidebar .widget input[type='submit'] {
	background: #000;
	color: #fff;
	border: 0;
	border-radius: 0;
	text-transform: uppercase;
	letter-spacing: 0.15em;
	font-size: 0.7rem;
	padding: 0.75rem 1.25rem;
	cursor: pointer;
}

.sg-sidebar .widget button:hover,
.sg-sidebar .widget input[type='submit']:hover {
	background: rgba(0, 0, 0, 0.85);
}

/* Footer widget column inherits the dark palette. */
#footer-extra a,
.widget a { text-decoration: none; }

/* ==================================================================== *
 * Comments
 * ==================================================================== */
.sg-comments {
	margin-top: 4rem;
	padding-top: 2.5rem;
	border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.sg-comments .comment-list {
	list-style: none;
	padding: 0;
	margin: 0 0 3rem;
}

.sg-comments .comment-list ol.children {
	list-style: none;
	padding-left: 1.5rem;
	margin-top: 1.5rem;
}

@media (min-width: 640px) {
	.sg-comments .comment-list ol.children { padding-left: 3rem; }
}

.sg-comments .comment-body {
	border: 1px solid rgba(0, 0, 0, 0.1);
	padding: 1.5rem;
	margin-bottom: 1.5rem;
}

.sg-comments .comment-author {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	font-family: 'Poppins', system-ui, sans-serif;
	color: #000;
}

.sg-comments .comment-author img { border-radius: 0; }
.sg-comments .comment-author .says { display: none; }

.sg-comments .comment-metadata {
	font-size: 0.7rem;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: rgba(0, 0, 0, 0.4);
	margin: 0.5rem 0 1rem;
}

.sg-comments .comment-metadata a { color: inherit; text-decoration: none; }
.sg-comments .comment-content { font-size: 0.925rem; line-height: 1.7; }

.sg-comments .reply a {
	display: inline-block;
	margin-top: 0.75rem;
	font-size: 0.7rem;
	text-transform: uppercase;
	letter-spacing: 0.15em;
	color: #000;
	text-decoration: none;
	border-bottom: 1px solid #000;
}

.sg-comments .comment-respond {
	border: 1px solid rgba(0, 0, 0, 0.1);
	padding: 2rem;
}

.sg-comments .comment-reply-title {
	font-family: 'Poppins', system-ui, sans-serif;
	font-size: 1.35rem;
	color: #000;
	margin: 0 0 1.5rem;
}

.sg-comments label {
	display: block;
	font-size: 0.7rem;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: rgba(0, 0, 0, 0.55);
	margin-bottom: 0.5rem;
}

.sg-comments input[type='text'],
.sg-comments input[type='email'],
.sg-comments input[type='url'],
.sg-comments textarea {
	width: 100%;
	border: 1px solid rgba(0, 0, 0, 0.15);
	border-radius: 0;
	padding: 0.75rem 0.9rem;
	font-family: 'Montserrat', system-ui, sans-serif;
	font-size: 0.9rem;
	background: #fff;
	margin-bottom: 1.25rem;
}

.sg-comments input:focus,
.sg-comments textarea:focus {
	outline: 0;
	border-color: #000;
}

.sg-comments .form-submit input[type='submit'] {
	background: #000;
	color: #fff;
	border: 0;
	border-radius: 0;
	text-transform: uppercase;
	letter-spacing: 0.15em;
	font-size: 0.75rem;
	padding: 0.95rem 2rem;
	cursor: pointer;
	transition: background 0.2s;
}

.sg-comments .form-submit input[type='submit']:hover {
	background: rgba(0, 0, 0, 0.85);
}

.sg-comments .comment-notes,
.sg-comments .comment-form-cookies-consent label {
	font-size: 0.75rem;
	text-transform: none;
	letter-spacing: 0;
	color: rgba(0, 0, 0, 0.5);
}

.sg-comments .comment-form-cookies-consent {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.sg-comments .comment-form-cookies-consent label { margin: 0; }

/* ==================================================================== *
 * WP Users (neo-user) login / register forms
 * The plugin outputs Bootstrap classes; restyle them, do not edit the plugin.
 * ==================================================================== */
.sg-account-forms .card {
	border: 1px solid rgba(0, 0, 0, 0.12);
	border-radius: 0;
	background: #fff;
	box-shadow: none;
	overflow: hidden;
	height: 100%;
}

.sg-account-forms .card-header {
	background: #000;
	color: #fff;
	border: 0;
	border-radius: 0;
	padding: 1.15rem 1.5rem;
	font-family: 'Poppins', system-ui, sans-serif;
	font-size: 0.8rem;
	font-weight: 400 !important;
	text-transform: uppercase;
	letter-spacing: 0.2em;
}

.sg-account-forms .card-body {
	padding: 2rem 1.5rem !important;
}

.sg-account-forms .form-group {
	margin-bottom: 1.25rem;
}

.sg-account-forms label,
.sg-account-forms .col-form-label {
	display: block;
	font-family: 'Montserrat', system-ui, sans-serif;
	font-size: 0.7rem;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: rgba(0, 0, 0, 0.55);
	margin-bottom: 0.5rem;
	padding: 0;
}

.sg-account-forms .form-control {
	display: block;
	width: 100%;
	border: 1px solid rgba(0, 0, 0, 0.15);
	border-radius: 0;
	padding: 0.8rem 0.95rem;
	font-family: 'Montserrat', system-ui, sans-serif;
	font-size: 0.9rem;
	color: #000;
	background: #fff;
	transition: border-color 0.2s;
	box-shadow: none;
}

.sg-account-forms .form-control:focus {
	outline: 0;
	border-color: #000;
	box-shadow: none;
}

.sg-account-forms .form-control::placeholder {
	color: rgba(0, 0, 0, 0.35);
}

.sg-account-forms .btn,
.sg-account-forms .btn-primary,
.sg-account-forms button[type='submit'] {
	display: inline-block;
	width: 100%;
	background: #000;
	color: #fff;
	border: 1px solid #000;
	border-radius: 0;
	font-family: 'Montserrat', system-ui, sans-serif;
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	padding: 1rem 1.5rem;
	cursor: pointer;
	transition: background 0.2s, color 0.2s;
	text-align: center;
}

.sg-account-forms .btn:hover,
.sg-account-forms .btn-primary:hover,
.sg-account-forms button[type='submit']:hover {
	background: rgba(0, 0, 0, 0.85);
	color: #fff;
}

/* Helper links under the buttons. */
.sg-account-forms .pt-3,
.sg-account-forms .mt-3,
.sg-account-forms .text-center {
	font-family: 'Montserrat', system-ui, sans-serif;
	font-size: 0.8rem !important;
	color: rgba(0, 0, 0, 0.55);
}

.sg-account-forms a {
	color: #000;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.sg-account-forms a:hover { opacity: 0.65; }

/* Radio / checkbox rows (role selection). */
.sg-account-forms .form-check {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-bottom: 0.5rem;
}

.sg-account-forms .form-check-inline {
	display: inline-flex;
	margin-right: 1.25rem;
}

.sg-account-forms .form-check-input {
	width: 1rem;
	height: 1rem;
	margin: 0;
	accent-color: #000;
}

.sg-account-forms .form-check-label {
	margin: 0;
	text-transform: none;
	letter-spacing: 0;
	font-size: 0.85rem;
	color: rgba(0, 0, 0, 0.75);
}

/* Validation messages from the plugin's jQuery validate setup. */
.sg-account-forms .field-validation-error,
.sg-account-forms .field-validation-valid:not(:empty) {
	display: block;
	font-size: 0.7rem;
	letter-spacing: 0.05em;
	color: #b00020;
	margin-top: 0.4rem;
}

.sg-account-forms .input-validation-error {
	border-color: #b00020 !important;
}

/* Plugin flash / alert messages. */
.sg-account-forms .alert,
.sg-account-page .alert {
	border-radius: 0;
	border: 1px solid rgba(0, 0, 0, 0.12);
	padding: 1rem 1.25rem;
	font-family: 'Montserrat', system-ui, sans-serif;
	font-size: 0.85rem;
	margin-bottom: 1.5rem;
}

.sg-account-page .alert-success {
	border-color: #0f7b3f;
	color: #0f7b3f;
	background: rgba(15, 123, 63, 0.06);
}

.sg-account-page .alert-danger {
	border-color: #b00020;
	color: #b00020;
	background: rgba(176, 0, 32, 0.06);
}

/* The plugin's Bootstrap row/col grid, without loading Bootstrap. */
.sg-account-forms .row {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2rem;
	margin: 0;
}

@media (min-width: 1024px) {
	.sg-account-forms .row.g-4 {
		grid-template-columns: 1fr 1fr;
	}
}

.sg-account-forms .row > [class^='col'] {
	padding: 0;
	min-width: 0;
}

/* Dashboard tables from the plugin. */
.sg-account-forms table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.875rem;
}

.sg-account-forms table th,
.sg-account-forms table td {
	border: 1px solid rgba(0, 0, 0, 0.1);
	padding: 0.75rem 1rem;
	text-align: left;
}

.sg-account-forms table th {
	background: #f7f7f7;
	font-size: 0.7rem;
	text-transform: uppercase;
	letter-spacing: 0.1em;
}

/* ==================================================================== *
 * WPAdverts output
 * ==================================================================== */
.sg-adverts {
	font-family: 'Montserrat', system-ui, sans-serif;
}

.sg-adverts a { color: #000; }

.sg-adverts .adverts-button,
.sg-adverts input[type='submit'],
.sg-adverts button[type='submit'],
.sg-adverts .adverts-form input[type='submit'] {
	background: #000 !important;
	color: #fff !important;
	border: 1px solid #000 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	text-shadow: none !important;
	text-transform: uppercase;
	letter-spacing: 0.15em;
	font-size: 0.75rem;
	padding: 0.85rem 1.75rem;
	cursor: pointer;
	transition: background 0.2s;
}

.sg-adverts .adverts-button:hover,
.sg-adverts input[type='submit']:hover,
.sg-adverts button[type='submit']:hover {
	background: rgba(0, 0, 0, 0.85) !important;
}

.sg-adverts input[type='text'],
.sg-adverts input[type='email'],
.sg-adverts input[type='url'],
.sg-adverts input[type='number'],
.sg-adverts input[type='tel'],
.sg-adverts select,
.sg-adverts textarea {
	border: 1px solid rgba(0, 0, 0, 0.15) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 0.7rem 0.9rem !important;
	font-family: 'Montserrat', system-ui, sans-serif;
	font-size: 0.9rem;
}

.sg-adverts input:focus,
.sg-adverts select:focus,
.sg-adverts textarea:focus {
	outline: 0;
	border-color: #000 !important;
}

.sg-adverts .adverts-price,
.sg-adverts .advert-price {
	font-family: 'Poppins', system-ui, sans-serif;
	color: #000;
}

/* ==================================================================== *
 * Pagination
 * ==================================================================== */
.sg-pagination .sg-page-item .dots {
	border: 0;
}

/* ==================================================================== *
 * Admin bar: keep the fixed header clear of it.
 * ==================================================================== */
body.admin-bar #sg-header {
	top: 32px;
}

@media screen and (max-width: 782px) {
	body.admin-bar #sg-header {
		top: 46px;
	}
}

/* ==================================================================== *
 * Templates without a hero need to clear the fixed header.
 * front-page.php is exempt: its hero sits under a transparent header.
 * ==================================================================== */
.sg-age-notice + #sg-header {
	position: relative;
}

/* Respect reduced-motion preferences. */
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

/* ==================================================================== *
 * WPAdverts BLOCK output (wpadverts/list, /search, /publish, /manage).
 *
 * This install uses the plugin's Gutenberg blocks, which emit their own
 * atw-* / wpa-* classes and bypass the shortcode filters. Restyled here so
 * inner pages read like the home page: Poppins headings, Montserrat body,
 * squared black/white controls, hairline dividers. No plugin file is edited.
 * ==================================================================== */
.wpadverts-blocks {
	font-family: 'Montserrat', system-ui, sans-serif;
	color: rgba(0, 0, 0, 0.75);
}

.wpadverts-blocks a {
	color: #000;
	text-decoration: none;
}

.wpadverts-blocks a:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* --- Search / filter form: the home page hero search language --- */
.wpadverts-block-search .wpadverts-form,
.wpadverts-blocks .wpadverts-form {
	background: #fff !important;
	border: 1px solid rgba(0, 0, 0, 0.12) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

.wpadverts-blocks label,
.wpadverts-blocks .adverts-form-label {
	font-size: 0.7rem !important;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: rgba(0, 0, 0, 0.55) !important;
	font-weight: 400 !important;
}

.wpadverts-blocks input[type='text'],
.wpadverts-blocks input[type='search'],
.wpadverts-blocks input[type='email'],
.wpadverts-blocks input[type='url'],
.wpadverts-blocks input[type='tel'],
.wpadverts-blocks input[type='number'],
.wpadverts-blocks input[type='password'],
.wpadverts-blocks select,
.wpadverts-blocks textarea {
	border: 1px solid rgba(0, 0, 0, 0.15) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	background: #fff !important;
	font-family: 'Montserrat', system-ui, sans-serif !important;
	font-size: 0.9rem !important;
	padding: 0.7rem 0.9rem !important;
	color: #000 !important;
}

.wpadverts-blocks input:focus,
.wpadverts-blocks select:focus,
.wpadverts-blocks textarea:focus {
	outline: 0 !important;
	border-color: #000 !important;
	box-shadow: none !important;
}

/* --- Buttons: squared, black, uppercase, like the design --- */
.wpadverts-blocks button,
.wpadverts-blocks input[type='submit'],
.wpadverts-blocks .wpa-btn,
.wpadverts-blocks .adverts-button,
.wpadverts-blocks a.wpa-btn-primary {
	background: #000 !important;
	color: #fff !important;
	border: 1px solid #000 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	text-shadow: none !important;
	font-family: 'Montserrat', system-ui, sans-serif !important;
	font-size: 0.75rem !important;
	text-transform: uppercase;
	letter-spacing: 0.15em;
	padding: 0.85rem 1.75rem !important;
	cursor: pointer;
	transition: background 0.2s;
	text-decoration: none !important;
	line-height: 1.2 !important;
	height: auto !important;
}

.wpadverts-blocks button:hover,
.wpadverts-blocks input[type='submit']:hover,
.wpadverts-blocks .wpa-btn:hover,
.wpadverts-blocks .adverts-button:hover {
	background: rgba(0, 0, 0, 0.85) !important;
	color: #fff !important;
}

/* Secondary / outline buttons. */
.wpadverts-blocks .wpa-btn-secondary,
.wpadverts-blocks .wpa-btn-default {
	background: #fff !important;
	color: #000 !important;
	border: 1px solid #000 !important;
}

.wpadverts-blocks .wpa-btn-secondary:hover,
.wpadverts-blocks .wpa-btn-default:hover {
	background: #000 !important;
	color: #fff !important;
}

/* --- Result rows: hairline dividers, no rounded grey boxes --- */
.wpadverts-blocks .wpa-result-item {
	border-color: rgba(0, 0, 0, 0.1) !important;
	border-radius: 0 !important;
	padding: 1.5rem 0 !important;
	transition: background 0.2s;
}

.wpadverts-blocks .wpa-result-item:hover {
	background: rgba(0, 0, 0, 0.02) !important;
}

/* Listing title -> Poppins, like the home cards. */
.wpadverts-blocks .wpa-result-item h2,
.wpadverts-blocks .wpa-result-item h3,
.wpadverts-blocks .wpa-result-title,
.wpadverts-blocks .wpa-result-item a[class*='title'] {
	font-family: 'Poppins', system-ui, sans-serif !important;
	color: #000 !important;
	font-weight: 400 !important;
	letter-spacing: 0 !important;
}

/* Price -> Poppins, matching the home card price. */
.wpadverts-blocks [class*='price'],
.wpadverts-blocks .wpa-result-meta--meta__adverts_price {
	font-family: 'Poppins', system-ui, sans-serif !important;
	color: #000 !important;
}

/* Meta rows (location etc.) -> muted small caps. */
.wpadverts-blocks [class*='wpa-result-meta'] {
	font-family: 'Montserrat', system-ui, sans-serif !important;
	font-size: 0.8rem !important;
	color: rgba(0, 0, 0, 0.5) !important;
}

/* Listing thumbnails -> square, cropped, like the home cards. */
.wpadverts-blocks .wpa-result-item img {
	border-radius: 0 !important;
	object-fit: cover;
}

/* --- Pagination: match sarahglen_pagination() --- */
.wpadverts-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	margin-top: 3rem;
	font-family: 'Montserrat', system-ui, sans-serif;
}

.wpadverts-pagination a,
.wpadverts-pagination span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.5rem;
	height: 2.5rem;
	padding: 0 0.75rem;
	border: 1px solid rgba(0, 0, 0, 0.15);
	border-radius: 0 !important;
	background: #fff;
	color: rgba(0, 0, 0, 0.7);
	font-size: 0.875rem;
	text-decoration: none !important;
}

.wpadverts-pagination a:hover {
	border-color: #000;
	color: #000;
}

.wpadverts-pagination .current,
.wpadverts-pagination span[aria-current] {
	background: #000;
	border-color: #000;
	color: #fff;
}

/* --- Single listing gallery / detail --- */
.wpadverts-blocks .wpa-gallery img,
.wpadverts-blocks .adverts-gallery img {
	border-radius: 0 !important;
}

/* Neutralise the plugin's rounded/shadow utility classes inside our pages. */
.wpadverts-blocks [class*='atw-rounded'],
.wpadverts-blocks [class*='wpa-rounded'],
.wpadverts-blocks [class*='atw-shadow'],
.wpadverts-blocks [class*='wpa-shadow'] {
	border-radius: 0 !important;
	box-shadow: none !important;
}

/* Section rhythm: give the plugin blocks the home page's breathing room. */
.wpadverts-blocks + .wpadverts-blocks {
	margin-top: 2.5rem;
}

/* ==================================================================== *
 * Inner page headings inherit the home page's type scale.
 * ==================================================================== */
.sg-entry .wpadverts-blocks h1,
.sg-entry .wpadverts-blocks h2 {
	margin-top: 0;
}

/* ==================================================================== *
 * MISSING TAILWIND UTILITIES
 *
 * style.css is the design's *compiled* Tailwind build, so it only contains
 * the utilities that appear in the original index.html. Any utility the
 * WordPress templates need but the static page never used is absent from
 * that build and would silently do nothing.
 *
 * These are those utilities, hand-written to Tailwind v4 semantics.
 * Breakpoints match the compiled build: sm 40rem, md 48rem, lg 64rem
 * (xl 80rem is defined here; the original build had no xl usage).
 * ==================================================================== */

/* --- sizing --- */
.max-w-md   { max-width: 28rem; }
.max-w-lg   { max-width: 32rem; }
.max-w-2xl  { max-width: 42rem; }
.max-w-3xl  { max-width: 48rem; }
.min-w-\[220px\] { min-width: 220px; }

/* --- spacing: gap --- */
.gap-5   { gap: 1.25rem; }
.gap-12  { gap: 3rem; }
.gap-x-6 { column-gap: 1.5rem; }
.gap-y-2 { row-gap: 0.5rem; }

/* --- spacing: margin --- */
.m-0   { margin: 0; }
.mb-4  { margin-bottom: 1rem; }
.mb-8  { margin-bottom: 2rem; }
.mb-10 { margin-bottom: 2.5rem; }
.mt-8  { margin-top: 2rem; }
.mt-12 { margin-top: 3rem; }
.mt-14 { margin-top: 3.5rem; }
.mt-16 { margin-top: 4rem; }

/* --- spacing: padding --- */
.p-8   { padding: 2rem; }
.p-10  { padding: 2.5rem; }
.pb-8  { padding-bottom: 2rem; }
.pt-5  { padding-top: 1.25rem; }
.pt-8  { padding-top: 2rem; }
.pt-10 { padding-top: 2.5rem; }
.pt-32 { padding-top: 8rem; }
.pt-40 { padding-top: 10rem; }

/* --- position --- */
.top-3  { top: 0.75rem; }
.left-3 { left: 0.75rem; }

/* --- typography --- */
.text-\[12px\] { font-size: 12px; }

/* --- colour / opacity --- */
.bg-black\/5      { background-color: rgba(0, 0, 0, 0.05); }
.border-black\/15 { border-color: rgba(0, 0, 0, 0.15); }
.text-black\/25   { color: rgba(0, 0, 0, 0.25); }
.text-black\/40   { color: rgba(0, 0, 0, 0.40); }
.text-black\/45   { color: rgba(0, 0, 0, 0.45); }
.text-black\/60   { color: rgba(0, 0, 0, 0.60); }
.text-white\/40   { color: rgba(255, 255, 255, 0.40); }
.opacity-40       { opacity: 0.40; }

.hover\:border-black:hover   { border-color: #000; }
.hover\:text-white\/70:hover { color: rgba(255, 255, 255, 0.70); }

/* --- object fit / position --- */
.object-contain { object-fit: contain; }
.object-left    { object-position: left; }

/* --- aspect ratio --- */
.aspect-\[4\/3\] { aspect-ratio: 4 / 3; }

/* --- focus utilities for the skip link --- */
.focus\:absolute:focus     { position: absolute; }
.focus\:z-\[60\]:focus     { z-index: 60; }
.focus\:top-2:focus        { top: 0.5rem; }
.focus\:left-2:focus       { left: 0.5rem; }
.focus\:bg-white:focus     { background-color: #fff; }
.focus\:text-black:focus   { color: #000; }
.focus\:px-4:focus         { padding-inline: 1rem; }
.focus\:py-2:focus         { padding-block: 0.5rem; }
.focus\:border-black:focus { border-color: #000; }

/* --- responsive: sm (40rem) --- */
@media (min-width: 40rem) {
	.sm\:h-10        { height: 2.5rem; }
	.sm\:p-16        { padding: 4rem; }
	.sm\:pt-44       { padding-top: 11rem; }
	.sm\:px-12       { padding-inline: 3rem; }
	.sm\:text-base   { font-size: 1rem; line-height: 1.5rem; }
	.sm\:text-right  { text-align: right; }
}

/* --- responsive: lg (64rem) --- */
@media (min-width: 64rem) {
	.lg\:flex-row          { flex-direction: row; }
	.lg\:flex-row-reverse  { flex-direction: row-reverse; }
	.lg\:flex-1            { flex: 1 1 0%; }
	.lg\:grid-cols-2       { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.lg\:w-\[320px\]       { width: 320px; }
	.lg\:w-\[42\%\]        { width: 42%; }
	.lg\:mx-0              { margin-inline: 0; }
	.lg\:pt-24             { padding-top: 6rem; }
	.lg\:pt-28             { padding-top: 7rem; }
	.lg\:py-24             { padding-block: 6rem; }
}

/* --- responsive: xl (80rem) --- */
@media (min-width: 80rem) {
	.xl\:w-\[38\%\] { width: 38%; }
}

/* max-w-5xl is used by the wide account layout; not in the compiled build. */
.max-w-5xl { max-width: 64rem; }


/* ==================================================================== *
 * MISSING TAILWIND UTILITIES (second pass)
 *
 * Added after the account, listing-results and neo-user partial templates
 * introduced utilities the compiled design build never contained.
 * Re-check with: node scratchpad/audit.js scratchpad/used.txt
 * ==================================================================== */
.border-0        { border-width: 0; }
.cursor-pointer  { cursor: pointer; }
.underline       { text-decoration-line: underline; }
.mb-2            { margin-bottom: 0.5rem; }
.pt-16           { padding-top: 4rem; }
.py-5            { padding-block: 1.25rem; }
.text-black\/55  { color: rgba(0, 0, 0, 0.55); }
.text-black\/75  { color: rgba(0, 0, 0, 0.75); }

@media (min-width: 40rem) {
	.sm\:p-8       { padding: 2rem; }
	.sm\:text-3xl  { font-size: 1.875rem; line-height: 2.25rem; }
}

@media (min-width: 64rem) {
	.lg\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* ==================================================================== *
 * PAGE / POST / ARCHIVE BANNER
 *
 * Height lives here rather than in Tailwind padding utilities: style.css is
 * the compiled design build and contains only the classes the original HTML
 * used — pt-44, sm:pt-52, pb-20 and pb-24 are not in it, so the banner had
 * almost no padding and slid under the fixed header.
 *
 * The top padding reserves --sg-header-height (set near the top of this file:
 * 132px desktop / 84px mobile) so the title always clears the header, and the
 * min-height gives the featured image room to actually read as an image.
 * ==================================================================== */
.sg-banner {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 26rem; /* 416px */
	padding-top: calc(var(--sg-header-height) + 3.5rem);
	padding-bottom: 4rem;
}

.sg-banner--compact {
	min-height: 24rem; /* 384px */
	padding-top: calc(var(--sg-header-height) + 2.75rem);
	padding-bottom: 3rem;
}

.sg-banner__inner {
	width: 100%;
}

/* Taller on wide screens so wide crops are not squeezed. */
@media (min-width: 40rem) {
	.sg-banner {
		min-height: 32rem; /* 512px */
		padding-top: calc(var(--sg-header-height) + 5rem);
		padding-bottom: 5rem;
	}

	.sg-banner--compact {
		min-height: 28rem; /* 448px */
		padding-top: calc(var(--sg-header-height) + 3.5rem);
		padding-bottom: 3.5rem;
	}
}

@media (min-width: 64rem) {
	.sg-banner {
		min-height: 36rem; /* 576px */
	}

	.sg-banner--compact {
		min-height: 32rem; /* 512px */
	}
}

/* A banner with no image still needs to look deliberate, not collapsed. */
.sg-banner:not(:has(.sg-banner__image)) {
	min-height: 20rem;
}

/* The admin bar shifts the fixed header down; keep the offset in step. */
body.admin-bar {
	--sg-header-offset: 32px;
}

@media screen and (max-width: 782px) {
	body.admin-bar {
		--sg-header-offset: 46px;
	}
}

body.admin-bar .sg-banner {
	padding-top: calc(var(--sg-header-height) + var(--sg-header-offset, 0px) + 3.5rem);
}

body.admin-bar .sg-banner--compact {
	padding-top: calc(var(--sg-header-height) + var(--sg-header-offset, 0px) + 2.75rem);
}

/* ==================================================================== *
 * "Why Choose Us" tick mark
 *
 * The copy uses a ✔ before each point; drawn here rather than shipped as a
 * character so it inherits the theme's weight and colour.
 * ==================================================================== */
.sg-tick {
	display: inline-block;
	width: 1.5rem;
	height: 0.8rem;
	border-left: 2px solid #000;
	border-bottom: 2px solid #000;
	transform: rotate(-45deg);
	transform-origin: center;
	margin-left: 0.15rem;
}

/* Utilities used by the new home sections. */
.leading-relaxed { line-height: 1.625; }
.h-full          { height: 100%; }
.p-7             { padding: 1.75rem; }

@media (min-width: 40rem) {
	.sm\:text-center { text-align: center; }
}

/* Banner heading step-downs for long titles — not in the compiled build. */
@media (min-width: 64rem) {
	.lg\:text-5xl { font-size: 3rem; line-height: 1; }
	.lg\:text-6xl { font-size: 3.75rem; line-height: 1; }
}
.mb-14 { margin-bottom: 3.5rem; }

/* ==================================================================== *
 * Home: Welcome section
 *
 * Full padding on top, trimmed underneath — the Popular Categories section
 * that follows is also white and supplies its own generous top padding, so
 * equal padding on both would leave a ~14rem hole between them.
 * ==================================================================== */
.sg-welcome {
	padding-top: 5rem;
	padding-bottom: 1rem;
}

@media (min-width: 40rem) {
	.sg-welcome {
		padding-top: 7rem;
		padding-bottom: 1.5rem;
	}
}

/* ==================================================================== *
 * WPAdverts flash panels
 *
 * Used by WP Adverts Better Messages for the "Start chat" prompt
 * (.wpadverts-flash.wpa-layout-big.wpa-style-info) and by WPAdverts elsewhere
 * for error and success notices.
 *
 * Specificity matters here. The plugin ships rules like
 *   .wpadverts-flash.wpa-layout-big .wpa-flash-content  (0,3,0)
 *   .wpadverts-flash.wpa-style-info .wpa-flash-icon     (0,3,0)
 * so a plain `body .wpadverts-flash .wpa-flash-icon` (0,2,1) loses. Every rule
 * below therefore carries the same status/layout classes plus `body`, which
 * also settles the load-order problem — WPAdverts prints its CSS while the
 * block renders, after this file. Styling only; no plugin file is modified.
 *
 * The plugin's centred "big" layout is kept — it suits a full-width empty
 * state — but redressed in the theme's language.
 * ==================================================================== */

body .wpadverts-flash,
body .wpadverts-flash.wpa-style-info,
body .wpadverts-flash.wpa-style-error,
body .wpadverts-flash.wpa-style-success {
	background-color: #fafafa;
	border: 1px solid rgba(0, 0, 0, 0.12);
	border-left: 3px solid #000;
	border-radius: 0;
	box-shadow: none;
	color: rgba(0, 0, 0, 0.78);
	font-family: 'Montserrat', system-ui, sans-serif;
	margin: 0 0 1.5rem;
}

body .wpadverts-flash.wpa-layout-big {
	padding: 2.5rem 1.75rem;
	margin: 0 0 1.5rem;
}

body .wpadverts-flash.wpa-layout-normal {
	padding: 1.25rem 1.5rem;
	margin: 0 0 1.5rem;
}

/* --- icon: a squared black chip instead of a loose grey glyph --- */
body .wpadverts-flash.wpa-layout-big .wpa-flash-icon,
body .wpadverts-flash.wpa-layout-normal .wpa-flash-icon,
body .wpadverts-flash.wpa-style-info .wpa-flash-icon,
body .wpadverts-flash.wpa-style-error .wpa-flash-icon,
body .wpadverts-flash.wpa-style-success .wpa-flash-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 3rem;
	height: 3rem;
	padding: 0;
	margin: 0 0 1.25rem;
	background: #000;
	color: #fff;
	border-radius: 0;
	font-size: 1.05rem;
	line-height: 1;
}

body .wpadverts-flash.wpa-layout-normal .wpa-flash-icon {
	width: 2.25rem;
	height: 2.25rem;
	margin: 0 0.9rem 0 0;
	font-size: 0.9rem;
}

/* --- message --- */
body .wpadverts-flash .wpa-flash-message {
	display: block;
	font-family: 'Poppins', system-ui, sans-serif;
	font-size: 1.05rem;
	line-height: 1.5;
	color: #000;
}

/* --- Login / Register as real buttons --- */
body .wpadverts-flash .wpa-flash-link-wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.75rem;
	margin-top: 1.5rem;
}

body .wpadverts-flash.wpa-layout-normal .wpa-flash-link-wrap {
	justify-content: flex-start;
}

body .wpadverts-flash.wpa-style-info a.wpa-flash-link,
body .wpadverts-flash.wpa-style-error a.wpa-flash-link,
body .wpadverts-flash.wpa-style-success a.wpa-flash-link,
body .wpadverts-flash a.wpa-flash-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #000;
	color: #fff;
	border: 1px solid #000;
	border-radius: 0;
	box-shadow: none;
	font-family: 'Montserrat', system-ui, sans-serif;
	font-size: 0.72rem;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.16em;
	line-height: 1.2;
	padding: 0.95rem 2rem;
	text-decoration: none;
	transition: background 0.18s ease, color 0.18s ease;
}

body .wpadverts-flash.wpa-style-info a.wpa-flash-link:hover,
body .wpadverts-flash.wpa-style-error a.wpa-flash-link:hover,
body .wpadverts-flash.wpa-style-success a.wpa-flash-link:hover,
body .wpadverts-flash a.wpa-flash-link:hover {
	background: rgba(0, 0, 0, 0.85);
	color: #fff;
	text-decoration: none;
}

/* The second action reads as secondary. */
body .wpadverts-flash.wpa-style-info a.wpa-flash-link + a.wpa-flash-link,
body .wpadverts-flash a.wpa-flash-link + a.wpa-flash-link {
	background: #fff;
	color: #000;
}

body .wpadverts-flash.wpa-style-info a.wpa-flash-link + a.wpa-flash-link:hover,
body .wpadverts-flash a.wpa-flash-link + a.wpa-flash-link:hover {
	background: #000;
	color: #fff;
}

body .wpadverts-flash a.wpa-flash-link:focus-visible {
	outline: 2px solid #000;
	outline-offset: 3px;
}

/* --- status accents --- */
body .wpadverts-flash.wpa-style-error {
	border-left-color: #b00020;
}

body .wpadverts-flash.wpa-style-error .wpa-flash-icon {
	background: #b00020;
	color: #fff;
}

body .wpadverts-flash.wpa-style-success {
	border-left-color: #0f7b3f;
}

body .wpadverts-flash.wpa-style-success .wpa-flash-icon {
	background: #0f7b3f;
	color: #fff;
}

/* Strip the plugin's rounded / shadow utilities inside the panel. */
body .wpadverts-flash [class*='atw-rounded'],
body .wpadverts-flash [class*='atw-shadow'] {
	border-radius: 0;
	box-shadow: none;
}

@media (max-width: 30rem) {
	body .wpadverts-flash.wpa-layout-big {
		padding: 1.75rem 1.25rem;
	}

	body .wpadverts-flash a.wpa-flash-link {
		flex: 1 1 100%;
	}
}
@media (max-width: 767px) {
    .h-8 {
        height: calc(var(--spacing) * 15);
    }
}