
/*
Theme Name:   Storefront Child
Theme URI:    https://example.com/
Description:  Child theme for Storefront
Author:       Abhijit
Author URI:   https://example.com/
Template:     storefront
Version:      1.30.4
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  storefront-child
*/

/* Your custom CSS goes below this line */
body.home .entry-header h1.entry-title {
	display: none !important;
}

input[type=text], input[type=number], input[type=email], input[type=tel], input[type=url], input[type=password], textarea, .input-text {
	background-color: #fff !important;
}

ul.products li.product img, ul.products .wc-block-grid__product img, .wc-block-grid__products li.product img, .wc-block-grid__products .wc-block-grid__product img {
	border: 1.5px solid #ddd;
	background-color: #fff;
}

.page-title {
	color: inherit;
	font-weight: inherit;
}

.wc-block-components-order-summary .wc-block-components-order-summary-item__quantity span {
	color: #333 !important;
}

.widget_nav_menu ul li::before {
	content: none !important;
}

.widget_recent_entries ul li, .widget_pages ul li, .widget_categories ul li, .widget_archive ul li, .widget_recent_comments ul li, .widget_nav_menu ul li, .widget_links ul li, .widget_product_categories ul li, .widget_layered_nav ul li, .widget_layered_nav_filters ul li {
	padding-left: 0 !important;
}

.tnp-widget-minimal input.tnp-submit {
	margin-top: 1em !important;
}

/* 1. Remove top gap above the hero block */
body.page-id-18877 .site-header {
	margin-bottom: 0 !important;
}

body.page-id-18877 .site-main, body.page-id-18877 #post-18877 .entry-content {
	padding-top: 0 !important;
	margin-top: 0 !important;
}

/* 2. Force zero gap on the Columns container */
html body.page-id-18877 #post-18877 .entry-content .wp-block-columns.hero-split-banner.is-layout-flex {
	display: flex !important;
	flex-wrap: nowrap !important;
	gap: 0px !important;
	column-gap: 0px !important;
	row-gap: 0px !important;
}

/* 3. Force zero left/right margin and exact 50% width on both columns */
html body.page-id-18877 #post-18877 .entry-content .wp-block-columns.hero-split-banner > .wp-block-column, html body.page-id-18877 #post-18877 .entry-content .wp-block-columns.hero-split-banner > .wp-block-column:not(:first-child), html body.page-id-18877 #post-18877 .entry-content .wp-block-columns.hero-split-banner > .wp-block-column:first-child {
	margin-left: 0px !important;
	margin-right: 0px !important;
	padding-left: 0px !important;
	padding-right: 0px !important;
	flex: 0 0 50% !important;
	width: 50% !important;
	max-width: 50% !important;
}

/* 4. Remove any margin on images inside the columns */
html body.page-id-18877 #post-18877 .entry-content .wp-block-columns.hero-split-banner figure, html body.page-id-18877 #post-18877 .entry-content .wp-block-columns.hero-split-banner img {
	margin: 0 !important;
	width: 100% !important;
	display: block !important;
}

/* 5. Stack cleanly full-width on mobile screens */
@media (max-width: 767px) {
	html body.page-id-18877 #post-18877 .entry-content .wp-block-columns.hero-split-banner, html body.page-id-18877 #post-18877 .entry-content .wp-block-columns.hero-split-banner.is-layout-flex {
		display: flex !important;
		flex-direction: column !important;
		flex-wrap: wrap !important;
		width: 100vw !important;
		max-width: 100vw !important;
		margin-left: calc(50% - 50vw) !important;
		margin-right: calc(50% - 50vw) !important;
	}
	
	html body.page-id-18877 #post-18877 .entry-content .wp-block-columns.hero-split-banner > .wp-block-column, html body.page-id-18877 #post-18877 .entry-content .wp-block-columns.hero-split-banner > .wp-block-column:not(:first-child), html body.page-id-18877 #post-18877 .entry-content .wp-block-columns.hero-split-banner > .wp-block-column:first-child {
		flex: 0 0 100% !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 100% !important;
		margin: 0 !important;
	}
	
	html body.page-id-18877 #post-18877 .entry-content .wp-block-columns.hero-split-banner img {
		width: 100% !important;
		height: auto !important;
		object-fit: cover !important;
	}
}

@media (max-width: 767px) {
	.woocommerce ul.products li.product, .woocommerce-page ul.products li.product {
		float: left;
		width: 48%;
		margin-right: 4%;
		clear: none;
	}
	
	.woocommerce ul.products li.product:nth-child(even), .woocommerce-page ul.products li.product:nth-child(even) {
		margin-right: 0;
	}
}

/* 1. Reset Storefront grid layout inside BOTH Slick Carousels */
#post-18877 .woocommerce.columns-5 ul.products.slick-initialized, #post-18877 .woocommerce.columns-4 ul.products.slick-initialized {
	display: block !important;
	position: relative !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 30px !important;
	box-sizing: border-box !important;
}

/* 2. Remove Storefront pseudo-elements that break Slick width calculations */
#post-18877 .woocommerce.columns-5 ul.products.slick-initialized::before, #post-18877 .woocommerce.columns-5 ul.products.slick-initialized::after, #post-18877 .woocommerce.columns-4 ul.products.slick-initialized::before, #post-18877 .woocommerce.columns-4 ul.products.slick-initialized::after, #post-18877 .woocommerce .slick-track::before, #post-18877 .woocommerce .slick-track::after {
	display: none !important;
	content: none !important;
}

/* 3. Ensure tracks and slides align cleanly across all screen sizes */
#post-18877 .woocommerce .slick-list {
	overflow: hidden !important;
	width: 100% !important;
}

#post-18877 .woocommerce .slick-track {
	display: flex !important;
	align-items: stretch !important;
}

#post-18877 .woocommerce.columns-5 ul.products li.product.slick-slide, #post-18877 .woocommerce.columns-4 ul.products li.product.slick-slide {
	float: none !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: space-between !important;
	clear: none !important;
	margin: 0 10px !important;
	padding: 0 !important;
	opacity: 1 !important;
	visibility: visible !important;
	height: auto !important;
}

/* 4. Style Prev/Next arrows for both sliders */
#post-18877 .woocommerce .slick-prev {
	left: 0px !important;
	z-index: 20 !important;
}

#post-18877 .woocommerce .slick-next {
	right: 0px !important;
	z-index: 20 !important;
}

#post-18877 .woocommerce .slick-prev:before, #post-18877 .woocommerce .slick-next:before {
	color: #222 !important;
	font-size: 26px !important;
	opacity: 1 !important;
}

.custom-product-attributes-summary {
	margin: 15px 0 20px 0;
}

.custom-product-attributes-summary table.woocommerce-product-attributes {
	margin-bottom: 0;
	font-size: .9em;
}

.custom-product-attributes-summary table.woocommerce-product-attributes th, .custom-product-attributes-summary table.woocommerce-product-attributes td {
	padding: 6px 10px;
}

.custom-catalog-stock {
	font-size: .85em;
	font-weight: 600;
	margin: 4px 0 8px 0 !important;
	line-height: 1.2;
}

.custom-catalog-stock.in-stock {
	color: #2e7d32 !important;
}

.custom-catalog-stock.available-on-backorder {
	color: #ef6c00 !important;
}

.custom-catalog-stock.out-of-stock {
	color: #c62828 !important;
}

/* 1. Make the Blog archive container full width and hide the sidebar */
body.blog #primary.content-area, body.archive.category #primary.content-area {
	width: 100% !important;
	float: none !important;
	margin-right: 0 !important;
}

body.blog #secondary.widget-area, body.archive.category #secondary.widget-area {
	display: none !important;
}

/* 2. Turn the blog posts list into a 4-column CSS Grid on Desktop */
body.blog #main.site-main, body.archive.category #main.site-main {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 24px !important;
	align-items: stretch !important;
}

/* 3. Style each blog post as a clean card */
body.blog #main.site-main article.post, body.archive.category #main.site-main article.post {
	display: flex !important;
	flex-direction: column !important;
	background: #fff;
	border: 1px solid #e5e5e5;
	border-radius: 8px;
	padding: 16px !important;
	margin-bottom: 0 !important;
	transition: transform .2s ease, box-shadow .2s ease;
}

body.blog #main.site-main article.post:hover, body.archive.category #main.site-main article.post:hover {
	transform: translateY(-4px);
	box-shadow: 0 8px 20px rgba(0, 0, 0, .08);
}

/* 4. Reorder elements so the Featured Image sits cleanly at the top of the card */
body.blog article.post .entry-content {
	display: flex !important;
	flex-direction: column !important;
	flex-grow: 1;
}

body.blog article.post .entry-content img.wp-post-image {
	order: -1;
	width: 100% !important;
	height: 180px !important;
	object-fit: cover !important;
	border-radius: 6px;
	margin-bottom: 14px !important;
}

/* 5. Adjust typography sizes to fit 4 columns cleanly */
body.blog article.post .entry-header {
	margin-bottom: 10px !important;
}

body.blog article.post .entry-title {
	font-size: 1.15rem !important;
	line-height: 1.35 !important;
	margin-top: 6px !important;
	margin-bottom: 0 !important;
}

body.blog article.post .posted-on, body.blog article.post .byline, body.blog article.post .comments-link {
	font-size: .78rem !important;
}

body.blog article.post .entry-content p {
	font-size: .9rem !important;
	line-height: 1.5 !important;
	margin-bottom: 12px !important;
}

/* 6. Make pagination span across all 4 columns at the bottom */
body.blog #main.site-main .storefront-pagination, body.blog #main.site-main .navigation.pagination, body.archive.category #main.site-main .navigation.pagination {
	grid-column: 1/-1 !important;
	margin-top: 20px !important;
	text-align: center !important;
}

/* 7. Responsive Breakpoints: 2 Columns on Tablet, 1 Column on Mobile */
@media (max-width: 1024px) {
	body.blog #main.site-main, body.archive.category #main.site-main {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

@media (max-width: 600px) {
	body.blog #main.site-main, body.archive.category #main.site-main {
		grid-template-columns: 1fr !important;
	}
}

/* 1. Make the Eventbrite Events container full width and hide the sidebar */
body.post-type-archive-eventbrite_events #primary.content-area {
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
	margin-right: 0 !important;
}

body.post-type-archive-eventbrite_events #secondary.widget-area {
	display: none !important;
}

/* 2. Lock all 4 columns to exact equal widths using minmax(0, 1fr) */
body.post-type-archive-eventbrite_events #main.site-main {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 20px !important;
	align-items: stretch !important;
	width: 100% !important;
}

/* 3. Span the page header across all 4 columns */
body.post-type-archive-eventbrite_events #main.site-main > header.page-header {
	grid-column: 1/-1 !important;
	margin-bottom: 10px !important;
}

/* 4. Prevent cards from overflowing their grid track */
body.post-type-archive-eventbrite_events #main.site-main article {
	min-width: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
	display: flex !important;
	flex-direction: column !important;
	background: #fff;
	border: 1px solid #e5e5e5;
	border-radius: 8px;
	padding: 16px !important;
	margin: 0 !important;
	overflow: hidden !important;
}

/* 5. Constrain images and inner wrappers so they never push the column wider */
body.post-type-archive-eventbrite_events article .entry-content {
	display: flex !important;
	flex-direction: column !important;
	flex-grow: 1;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
}

body.post-type-archive-eventbrite_events article .entry-content img, body.post-type-archive-eventbrite_events article img.wp-post-image {
	order: -1;
	width: 100% !important;
	max-width: 100% !important;
	height: 170px !important;
	object-fit: cover !important;
	border-radius: 6px;
	margin-bottom: 14px !important;
	display: block !important;
}

/* 6. Clean card typography */
body.post-type-archive-eventbrite_events article .entry-header {
	margin-bottom: 10px !important;
	width: 100% !important;
}

body.post-type-archive-eventbrite_events article .entry-title {
	font-size: 1.05rem !important;
	line-height: 1.35 !important;
	margin: 0 !important;
	word-wrap: break-word !important;
}

body.post-type-archive-eventbrite_events article .entry-content p {
	font-size: .88rem !important;
	line-height: 1.5 !important;
	margin-bottom: 12px !important;
	word-wrap: break-word !important;
}

/* 7. Span pagination across all 4 columns */
body.post-type-archive-eventbrite_events #main.site-main .storefront-pagination, body.post-type-archive-eventbrite_events #main.site-main .navigation.pagination {
	grid-column: 1/-1 !important;
	margin-top: 20px !important;
	text-align: center !important;
}

/* 8. Responsive Breakpoints */
@media (max-width: 1024px) {
	body.post-type-archive-eventbrite_events #main.site-main {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 600px) {
	body.post-type-archive-eventbrite_events #main.site-main {
		grid-template-columns: minmax(0, 1fr) !important;
	}
}

.widget_layered_nav li::before, .widget_product_categories ul li::before {
	opacity: 1 !important;
	color: #54595f !important;
	margin-left: 0 !important;
}

#secondary .mobile-filters-body .widget.widget-open > *:not(.widget-title) {
	padding-top: 1em;
}

/* Hide the main mobile toggle button on Desktop */
.mobile-filter-main-btn {
	display: none;
}

/* Global Individual Filter Widget Accordion (Desktop & Mobile) */
#secondary .mobile-filters-body .widget {
	margin: 0 !important;
	padding: 12px 0 !important;
	border-bottom: 1px solid #e5e5e5 !important;
}

#secondary .mobile-filters-body .widget:last-child {
	border-bottom: none !important;
}

#secondary .mobile-filters-body .widget .widget-title {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	margin: 0 !important;
	padding: 4px 0 !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	cursor: pointer !important;
	border-bottom: none !important;
	user-select: none;
}

#secondary .mobile-filters-body .widget .widget-title::after {
	content: "+" !important;
	font-size: 18px !important;
	font-weight: 400 !important;
	color: #444 !important;
	margin-left: 10px;
}

#secondary .mobile-filters-body .widget.widget-open .widget-title::after {
	content: "−" !important;
}

/* Collapse filter options by default until clicked */
#secondary .mobile-filters-body .widget > *:not(.widget-title) {
	display: none !important;
}

#secondary .mobile-filters-body .widget.widget-open > *:not(.widget-title) {
	display: block !important;
	margin-top: 12px !important;
	max-height: 250px !important;
	overflow-y: auto !important;
}

/* Mobile Only Adjustments (<= 767px) */
@media (max-width: 767px) {
	#content.site-content > .col-full {
		display: flex !important;
		flex-direction: column !important;
	}
	
	#content.site-content > .col-full::before, #content.site-content > .col-full::after {
		display: none !important;
		content: none !important;
	}
	
	#content.site-content > .col-full > #secondary.widget-area {
		order: -1 !important;
		width: 100% !important;
		max-width: 100% !important;
		float: none !important;
		margin: 0 0 18px 0 !important;
	}
	
	#content.site-content > .col-full > #primary.content-area {
		order: 1 !important;
		width: 100% !important;
		max-width: 100% !important;
		float: none !important;
	}
	
	.mobile-filter-main-btn {
		display: flex !important;
		justify-content: space-between !important;
		align-items: center !important;
		width: 100% !important;
		padding: 12px 16px !important;
		background-color: #1f1f1f !important;
		color: #fff !important;
		font-size: 15px !important;
		font-weight: 600 !important;
		border: none !important;
		border-radius: 6px !important;
		cursor: pointer !important;
	}
	
	.mobile-filter-main-btn .filter-toggle-icon {
		font-size: 20px !important;
		line-height: 1 !important;
	}
	
	#secondary.widget-area .mobile-filters-body {
		display: none !important;
		border: 1px solid #e0e0e0 !important;
		border-top: none !important;
		border-radius: 0 0 6px 6px !important;
		padding: 8px 14px !important;
		background: #fff !important;
	}
	
	#secondary.widget-area.filters-open .mobile-filters-body {
		display: block !important;
	}
}
