/* ==========================================================================
   DESIWED v3.1 — desktop listing, blog redesign, Bookings nuke, empty first card
   ========================================================================== */

/* ==========================================================================
   1. DESKTOP SINGLE LISTING — restore aside enquiry card on full desktop
   The previous CSS collapsed at 1024px which is too aggressive — desktop nav
   shows at >900px but aside was disappearing at <=1024px. Realign breakpoints.
   ========================================================================== */

/* Force the desktop layout above 900px (where nav is desktop) */
@media (min-width: 901px) {
	body.desiwed-rebrand.single-listing .dw-vendor__body,
	body.desiwed-rebrand .dw-vendor__body {
		display: grid !important;
		grid-template-columns: minmax(0, 2fr) minmax(340px, 1fr) !important;
		gap: 60px !important;
		padding: 40px 60px 80px !important;
		max-width: 1400px !important;
		margin: 0 auto !important;
	}

	body.desiwed-rebrand.single-listing .dw-vendor__main {
		min-width: 0 !important;
	}

	body.desiwed-rebrand.single-listing .dw-vendor__aside {
		display: block !important;
		position: sticky !important;
		top: 100px !important;
		align-self: start !important;
		min-width: 340px !important;
		visibility: visible !important;
		opacity: 1 !important;
	}

	body.desiwed-rebrand.single-listing .dw-vendor__aside-card {
		background: #ffffff !important;
		border: 1px solid #dcd6cb !important;
		box-shadow: 0 12px 40px rgba(26, 24, 20, 0.08) !important;
		padding: 28px !important;
		display: block !important;
		visibility: visible !important;
	}

	/* Ensure mobile sticky bar is hidden on desktop */
	body.desiwed-rebrand .dw-vendor__mobile-enquire {
		display: none !important;
	}
}

/* Tablet/mobile: collapse to single column at <=900px (matches nav switch) */
@media (max-width: 900px) {
	body.desiwed-rebrand .dw-vendor__body {
		display: block !important;
		padding: 24px 16px !important;
	}
	body.desiwed-rebrand .dw-vendor__aside {
		position: static !important;
		min-width: 0 !important;
		margin-top: 32px !important;
	}
}

/* ==========================================================================
   2. EMPTY FIRST CARD ON SHOP — hide any non-product LI inside ul.products
   Listeo/Dokan injects a hidden LI before the products that creates a phantom
   first cell in the grid.
   ========================================================================== */
body.desiwed-rebrand ul.products > li:not(.product),
body.desiwed-rebrand ul.products > li.product:empty,
body.desiwed-rebrand .woocommerce ul.products > li:not(.product),
body.desiwed-rebrand .woocommerce ul.products > li.product:empty {
	display: none !important;
	width: 0 !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Also hide any product that has no image AND no title (broken product) */
body.desiwed-rebrand ul.products > li.product:not(:has(img)):not(:has(.woocommerce-loop-product__title)):not(:has(h2)):not(:has(h3)) {
	display: none !important;
}

/* Reset clear:both on first/last classes that WC adds (which can break grid) */
body.desiwed-rebrand ul.products li.product.first,
body.desiwed-rebrand ul.products li.product.last,
body.desiwed-rebrand .woocommerce ul.products li.product.first,
body.desiwed-rebrand .woocommerce ul.products li.product.last {
	clear: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	float: none !important;
	grid-column: auto !important;
}

/* ==========================================================================
   3. BLOG POST — editorial redesign for desktop + mobile
   ========================================================================== */

/* DESKTOP — wide hero, narrow centered reading column, generous spacing */
body.desiwed-rebrand.single-post,
body.desiwed-rebrand.single-post #content,
body.desiwed-rebrand.single-post main {
	background: #faf6ef !important;
}

body.desiwed-rebrand.single-post .container,
body.desiwed-rebrand.single-post #titlebar {
	max-width: 100% !important;
	width: 100% !important;
	padding: 0 !important;
	background: transparent !important;
	margin: 0 !important;
	min-height: 0 !important;
}

/* Hide Listeo's default page titlebar on blog posts */
body.desiwed-rebrand.single-post #titlebar {
	display: none !important;
}

body.desiwed-rebrand.single-post article,
body.desiwed-rebrand.single-post .post {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Featured image as wide hero */
body.desiwed-rebrand.single-post .post-thumbnail,
body.desiwed-rebrand.single-post .wp-post-image,
body.desiwed-rebrand.single-post .featured-image {
	display: block !important;
	width: 100% !important;
	max-width: 1400px !important;
	margin: 32px auto 48px !important;
	aspect-ratio: 21/9 !important;
	overflow: hidden !important;
}

body.desiwed-rebrand.single-post .post-thumbnail img,
body.desiwed-rebrand.single-post .wp-post-image {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
}

/* Title — large, serif, centered */
body.desiwed-rebrand.single-post .entry-title,
body.desiwed-rebrand.single-post h1.entry-title,
body.desiwed-rebrand.single-post h1.post-title {
	font-family: 'Cardo', Georgia, serif !important;
	font-size: 52px !important;
	line-height: 1.1 !important;
	letter-spacing: -0.01em !important;
	color: #1a1814 !important;
	max-width: 800px !important;
	margin: 0 auto 16px !important;
	padding: 0 24px !important;
	text-align: left !important;
	font-weight: 400 !important;
}

/* Meta info — date, author, category */
body.desiwed-rebrand.single-post .entry-meta,
body.desiwed-rebrand.single-post .post-meta {
	max-width: 800px !important;
	margin: 0 auto 48px !important;
	padding: 0 24px !important;
	font-size: 13px !important;
	color: #94897e !important;
	text-transform: uppercase !important;
	letter-spacing: 0.14em !important;
}

body.desiwed-rebrand.single-post .entry-meta a,
body.desiwed-rebrand.single-post .post-meta a {
	color: #6b2c2c !important;
	text-decoration: none !important;
}

/* Body content — narrow column, big readable type */
body.desiwed-rebrand.single-post .entry-content,
body.desiwed-rebrand.single-post .post-content,
body.desiwed-rebrand.single-post article > div:not(.post-thumbnail):not(.entry-meta) {
	max-width: 720px !important;
	margin: 0 auto !important;
	padding: 0 24px !important;
	font-family: 'Inter', sans-serif !important;
	font-size: 18px !important;
	line-height: 1.75 !important;
	color: #2c2722 !important;
}

body.desiwed-rebrand.single-post .entry-content p,
body.desiwed-rebrand.single-post .post-content p {
	margin: 0 0 24px !important;
	font-size: 18px !important;
	line-height: 1.75 !important;
	color: #2c2722 !important;
}

body.desiwed-rebrand.single-post .entry-content h2,
body.desiwed-rebrand.single-post .post-content h2 {
	font-family: 'Cardo', Georgia, serif !important;
	font-size: 32px !important;
	line-height: 1.2 !important;
	color: #1a1814 !important;
	margin: 56px 0 16px !important;
	font-weight: 400 !important;
	letter-spacing: -0.01em !important;
}

body.desiwed-rebrand.single-post .entry-content h3,
body.desiwed-rebrand.single-post .post-content h3 {
	font-family: 'Cardo', Georgia, serif !important;
	font-size: 24px !important;
	line-height: 1.25 !important;
	color: #1a1814 !important;
	margin: 40px 0 12px !important;
	font-weight: 400 !important;
}

body.desiwed-rebrand.single-post .entry-content blockquote,
body.desiwed-rebrand.single-post .post-content blockquote {
	margin: 40px 0 !important;
	padding: 8px 0 8px 24px !important;
	border-left: 3px solid #6b2c2c !important;
	font-family: 'Cardo', Georgia, serif !important;
	font-style: italic !important;
	font-size: 22px !important;
	line-height: 1.5 !important;
	color: #1a1814 !important;
	background: transparent !important;
}

body.desiwed-rebrand.single-post .entry-content img,
body.desiwed-rebrand.single-post .post-content img,
body.desiwed-rebrand.single-post .entry-content figure,
body.desiwed-rebrand.single-post .post-content figure {
	max-width: 100% !important;
	height: auto !important;
	margin: 32px auto !important;
	display: block !important;
}

/* Wide images can break out of the reading column */
body.desiwed-rebrand.single-post .entry-content .alignwide,
body.desiwed-rebrand.single-post .entry-content .wp-block-image.alignwide {
	max-width: 1100px !important;
	margin-left: calc((720px - 1100px) / 2) !important;
}
@media (max-width: 1100px) {
	body.desiwed-rebrand.single-post .entry-content .alignwide {
		max-width: 100% !important;
		margin-left: 0 !important;
	}
}

body.desiwed-rebrand.single-post .entry-content a,
body.desiwed-rebrand.single-post .post-content a {
	color: #6b2c2c !important;
	text-decoration: underline !important;
	text-underline-offset: 3px !important;
}

body.desiwed-rebrand.single-post .entry-content ul,
body.desiwed-rebrand.single-post .entry-content ol,
body.desiwed-rebrand.single-post .post-content ul,
body.desiwed-rebrand.single-post .post-content ol {
	margin: 0 0 24px !important;
	padding-left: 28px !important;
}

body.desiwed-rebrand.single-post .entry-content li,
body.desiwed-rebrand.single-post .post-content li {
	margin: 0 0 8px !important;
	font-size: 18px !important;
	line-height: 1.65 !important;
}

/* Hide sidebar on blog posts */
body.desiwed-rebrand.single-post aside,
body.desiwed-rebrand.single-post .sidebar,
body.desiwed-rebrand.single-post #sidebar,
body.desiwed-rebrand.single-post .col-md-3.sidebar,
body.desiwed-rebrand.single-post .widget-area {
	display: none !important;
}

body.desiwed-rebrand.single-post .col-md-9 {
	width: 100% !important;
	max-width: 100% !important;
	flex: 0 0 100% !important;
}

/* Bottom of post — pad before footer */
body.desiwed-rebrand.single-post article {
	padding-bottom: 80px !important;
}

/* MOBILE blog tweaks */
@media (max-width: 768px) {
	body.desiwed-rebrand.single-post .post-thumbnail {
		margin: 0 0 24px !important;
		aspect-ratio: 4/3 !important;
	}
	body.desiwed-rebrand.single-post h1.entry-title {
		font-size: 28px !important;
		padding: 0 16px !important;
		margin-bottom: 12px !important;
	}
	body.desiwed-rebrand.single-post .entry-meta {
		padding: 0 16px !important;
		margin-bottom: 24px !important;
	}
	body.desiwed-rebrand.single-post .entry-content,
	body.desiwed-rebrand.single-post .post-content {
		padding: 0 16px !important;
		font-size: 16px !important;
	}
	body.desiwed-rebrand.single-post .entry-content p {
		font-size: 16px !important;
	}
	body.desiwed-rebrand.single-post .entry-content h2 {
		font-size: 24px !important;
		margin: 36px 0 12px !important;
	}
	body.desiwed-rebrand.single-post .entry-content h3 {
		font-size: 19px !important;
		margin: 28px 0 8px !important;
	}
	body.desiwed-rebrand.single-post .entry-content blockquote {
		font-size: 18px !important;
		margin: 24px 0 !important;
	}
}

/* ==========================================================================
   4. LISTEO BOOKINGS — final nuke (any leftover paths still referencing it)
   ========================================================================== */
body.desiwed-rebrand .dw-pill[href*="listeo-booking"],
body.desiwed-rebrand .dw-pill[href*="listeo_booking"],
body.desiwed-rebrand .dw-pill[href*="bookings"],
body.desiwed-rebrand a[href*="/product-category/listeo-bookings"],
body.desiwed-rebrand a[href*="/product-category/bookings"],
body.desiwed-rebrand .product-categories li:has(a[href*="listeo-booking"]),
body.desiwed-rebrand .product-categories li:has(a[href*="bookings"]),
body.desiwed-rebrand .widget_product_categories li:has(a[href*="listeo-booking"]),
body.desiwed-rebrand .widget_product_categories li:has(a[href*="bookings"]) {
	display: none !important;
}

/* End */
