/*
Theme Name: Kiosko
Theme URI: https://wordpress.com/theme/kiosko/
Author: Automattic
Author URI: https://automattic.com/
Description: Kiosko is a store theme for WooCommerce.
Requires at least: 5.8
Tested up to: 6.6
Requires PHP: 5.7
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Template: 
Text Domain: kiosko
Tags: e-commerce, four-columns, wide-blocks, block-patterns, block-styles, featured-images, full-site-editing, rtl-language-support, sticky-post, template-editing, threaded-comments, translation-ready
*/

/*
 * Control the hover stylings of outline block style.
 * Unnecessary once block styles are configurable via theme.json
 * https://github.com/WordPress/gutenberg/issues/42794
 */
.wp-block-button.is-style-outline>.wp-block-button__link:not(.has-background):hover {
	background-color: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
	border-color: var(--wp--preset--color--contrast);
}

/*
 * Link styles
 * https://github.com/WordPress/gutenberg/issues/42319
 */
a {
	text-decoration-color: var(--wp--preset--color--primary);
	text-decoration-thickness: 0.5px !important;
	text-underline-offset: 0.05em;
}

/* Sticky header */
.kiosko-sticky-header.fixed {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 999;
	background: #fff;
	box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}
.kiosko-sticky-header-placeholder {
	display: none;
	width: 100%;
	pointer-events: none;
}
.kiosko-sticky-header.fixed + .kiosko-sticky-header-placeholder {
	display: block;
}

/* Reset browser default margins for blockquote element */
.wp-block-pullquote blockquote {
	margin: 0;
}

/* Search button inside style */
.wp-block-search__button-inside .wp-block-search__inside-wrapper {
	padding: 4px;
}

/* Search toggle button in header */
.kiosko-search-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	color: inherit;
	line-height: 0;
	background: none !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	outline: none !important;
	cursor: pointer;
}
.kiosko-search-toggle:hover {
	opacity: 0.7;
	background: none !important;
	border: none !important;
}
.kiosko-search-toggle svg {
	display: block;
}

/* Adjust font size for comment reply title */
.wp-block-post-comments-form .comment-reply-title {
	font-size: var(--wp--preset--font-size--large);
}

/* Remove the bottom margin from the button */
.wp-block-post-comments-form .form-submit {
	margin-bottom: 0;
}

/*
 * Responsive menu container padding.
 * This ensures the responsive container inherits the same
 * spacing defined above. This behavior may be built into
 * the Block Editor in the future.
 */
.wp-block-navigation__responsive-container.is-menu-open {
	padding: var(--wp--preset--spacing--50);
}

/* Adjust the top padding for the submenu items */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container {
	padding-top: var(--wp--preset--spacing--30);
}

/* Override the Gutenberg style to theme style */
.wp-block-post-author__byline,
.wp-block-post-author__bio {
	font-size: inherit;
}

/* Round the avatar and reset the vertical alignment */
.wp-block-post-author__avatar img {
	border-radius: 999px;
	line-height: 0;
}

/* Style tag cloud outline style  */
.wp-block-tag-cloud.is-style-outline a {
	border-color: var(--wp--preset--color--tertiary);
	border-radius: 999px;
	padding: 0 0.5rem;
}

.wp-block-tag-cloud.is-style-outline a:hover {
	color: var(--wp--preset--color--base);
	background-color: var(--wp--preset--color--primary);
}

/* Remove the default margin from author bio */
.wp-block-post-author__bio {
	margin: 0;
}

/* Remove the default margin from term description. */
.wp-block-term-description p:first-child {
	margin-top: 0;
}

.wp-block-term-description p:last-child {
	margin-bottom: 0;
}

/* Normalise font sizes for the latest comments and latest posts widgets */
.wp-block-latest-comments__comment-excerpt p,
.wp-block-latest-comments__comment-date,
.wp-block-latest-posts__post-author,
.wp-block-latest-posts__post-date {
	font-size: inherit;
}

/* Adjust font colour in the Calendar widget */
.wp-block-calendar table:where(:not(.has-text-color)) {
	color: var(--wp--preset--color--foreground);
}

/* Fix border radius setting for the avatar block */
.wp-block-avatar a,
.wp-block-avatar img {
	border-radius: inherit;
	vertical-align: middle;
}

/* Fix line height for various fields */
.wp-block-search__input,
.wp-block-post-comments-form .comment-form input:not([type=submit]):not([type=checkbox]),
.wp-block-post-comments-form .comment-form textarea {
	line-height: inherit;
}

/* Style  border colour for search and Jetpack subscription blocks */
.wp-block-search__input,
.wp-block-search__button-inside .wp-block-search__inside-wrapper,
.wp-block-jetpack-subscriptions.wp-block-jetpack-subscriptions__supports-newline form input[type="email"] {
	border-color: var(--wp--preset--color--tertiary);
}

/* Needed to style input field for various Jetpack blocks */
.wp-block-jetpack-contact-form input:not([type="submit"]):not([type="checkbox"]),
.wp-block-jetpack-contact-form select,
.wp-block-jetpack-contact-form textarea,
.wp-block-jetpack-mailchimp input:not([type="submit"]):not([type="checkbox"]),
.wp-block-jetpack-revue input:not([type="submit"]):not([type="checkbox"]) {
	background-color: #fff;
	border: 1px solid var(--wp--preset--color--tertiary);
	font-size: inherit;
	line-height: inherit;
	padding: 0.5rem;
}

.wp-block-jetpack-contact-form.contact-form label {
	font-weight: 400;
}

.wp-block-jetpack-contact-form.contact-form label span {
	opacity: 0.7;
}

.wp-block-jetpack-contact-form.contact-form select {
	padding: 0.5rem;
}

.wp-block-jetpack-contact-form.contact-form textarea {
	margin-bottom: var(--wp--preset--spacing--40);
}

/* Style the feedback you get after submitting the contact form */
div[id^="contact-form-"] h4 {
	font-size: var(--wp--preset--font-size--medium);
	font-weight: inherit;
	line-height: 1.555555556;
}

div[id^="contact-form-"] .contact-form-submission {
	margin: 0;
	padding: 0;
}

/* Adjust vertical margins in the mailchimp block */
.wp-block-jetpack-mailchimp .wp-block-jetpack-button,
.wp-block-jetpack-mailchimp p {
	margin: var(--wp--preset--spacing--40) 0;
}

/* Adjust the size of the consent text in mailchimp block */
#wp-block-jetpack-mailchimp_consent-text {
	font-size: var(--wp--preset--font-size--small);
	margin-bottom: 0;
}

/* Remove underline from the price after discounted */
ins {
	text-decoration: none;
}

/* Fix the hardcoded wide width value in the stylesheet for TT3 */
.woocommerce.woocommerce-page main {
	max-width: calc(var(--wp--style--global--wide-size) + var(--wp--style--root--padding-right) + var(--wp--style--root--padding-left));
}

/*
 * Mobile Responsive: Product Grid
 * On mobile devices, show 2 products per row instead of 3.
 * Each product shows: image, title, and price.
 */
@media (max-width: 768px) {
	/* Front page & pattern product grids using flex layout */
	.wp-block-post-template.columns-3 > li {
		width: calc((100% - 0.5rem) / 2) !important;
	}

	.wp-block-post-template.columns-3 > li .has-global-padding{
		padding: 0.1rem !important;
	}

	/* Archive & search product grids using CSS grid layout */
	.wp-block-post-template.is-grid.columns-3 {
		grid-template-columns: repeat(2, 1fr) !important;
	}

	.products-block-post-template{
		display: flex !important;
		flex-wrap: wrap;
		gap: 0.5rem;
	}

	.products-block-post-template .has-text-align-center {
		text-align: left !important;
	}

	/* Hide the Add to Cart button on mobile for cleaner cards */
	.wp-block-post-template .wp-block-woocommerce-product-button {
		display: none;
	}

	/* Front-page: stack sidebar (25%) and product area (75%) vertically */
	main .wp-block-columns > .wp-block-column {
		flex-basis: 100% !important;
	}

	/* Reduce front-page columns vertical spacing on mobile */
	#wp-bgg .wp-block-group {
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}

	.wc-block-mini-cart__button .wc-block-mini-cart__icon{
		height: 2rem !important;
		width: 2rem !important;
	}

	#wp-bgg .wp-block-columns {
		margin-top: var(--wp--preset--spacing--20) !important;
		margin-bottom: var(--wp--preset--spacing--20) !important;
	}

	.wp-site-blocks > *{
		margin-block-start: 0 !important;
	}

	.has-global-padding {
		padding-left: 1rem !important;
		padding-right: 1rem !important;
		margin-top: 0.5rem !important;
		margin-bottom: 0rem !important;
	}

	.wp-site-blocks .has-global-padding{
		margin-block-start: 0rem !important;
	}

	.woocommerce .woocommerce-breadcrumb {
		margin-bottom: 0.5rem !important;
	}

	.is-layout-constrained > * {
		margin-block-start: 0 !important;
	}

	.kiosko-product-gallery {
		gap: 0 !important;
	}

	.is-layout-flex{
		gap: 0rem !important;
	}

	.is-layout-flow > * {
		margin-block-start: 0rem !important;
	}

	/* .wp-block-woocommerce-product-price{
		margin-block-start: 0.5rem !important;
	} */

	.wp-block-post-excerpt{
		margin-block-start: 0.5rem !important;
		margin-top: 0.5rem !important;
	}

	.wp-block-woocommerce-product-meta{
		margin-block-start: 0.5rem !important;
	}

	.woocommerce-tabs,.woocommerce-Tabs-panel{
		padding-top: 0rem !important;
	}

	.wp-block-post-template.is-flex-container{
		gap: 0.5rem !important;
	}

	/* Hide Price, Color, Size filters on mobile — keep Brand only */
	.wp-block-woocommerce-filter-wrapper:has(.wp-block-woocommerce-price-filter),
	.wp-block-woocommerce-filter-wrapper:has(.wp-block-woocommerce-attribute-filter[data-attribute-id="1"]),
	.wp-block-woocommerce-filter-wrapper:has(.wp-block-woocommerce-attribute-filter[data-attribute-id="2"]) {
		display: none;
	}

	/* Limit product description to 2 lines on mobile */
	.wp-block-group h3 a {
		display: -webkit-box;
		line-clamp: 2;
		box-orient: vertical;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	/* Single product: gallery full width */
	.single-product .wp-block-columns .wp-block-column:first-child {
		flex-basis: 100% !important;
		width: auto !important;
	}
	.single-product .wp-block-columns .wp-block-column:first-child .kiosko-product-gallery__main {
		min-height: unset;
	}

	/* Related products: 2 per row on mobile */
	.wp-block-woocommerce-related-products .wp-block-post-template {
		display: flex !important;
		flex-wrap: wrap;
		gap: 0.5rem;
	}
	.wp-block-woocommerce-related-products .wp-block-post-template > li {
		width: calc((100% - 0.5rem) / 2) !important;
	}
	.wp-block-woocommerce-related-products .wp-block-post-template > li .wp-block-group {
		padding: 0.1rem !important;
	}
	.wp-block-woocommerce-related-products .wp-block-post-template .wp-block-woocommerce-product-button {
		display: none;
	}

	/* Infinite scroll on mobile — hide pagination */
	.wp-block-query-pagination {
		display: none;
	}
}


.wc-block-components-product-price .woocommerce-Price-amount {
	color: red;
	font-weight: bold;
	font-size: 1.2em;
}

/* Hide the original/regular price on sale products */
.wp-block-woocommerce-product-price del,
.wc-block-components-product-price del {
	display: none;
}

/* Brand filter chips */
.kiosko-brand-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.kiosko-brand-chips .kiosko-brand-chip {
	display: inline-block;
	padding: 6px 14px;
	border: 1px solid #222;
	border-radius: 0;
	background: #fff;
	color: #222;
	font-size: 13px;
	text-decoration: none;
	transition: background 0.2s, color 0.2s;
}
.kiosko-brand-chips .kiosko-brand-chip:hover {
	background: #444;
	color: #fff;
}
.kiosko-brand-chips .kiosko-brand-chip.is-active {
	background: #111;
	color: #fff;
	border-color: #111;
}

.kiosko-brand-heading {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.kiosko-brand-filter {
	margin-top: 0.75rem;
}


.kiosko-btn-contact .wp-element-button {
	background: transparent url(/wp-content/themes/kiosko/assets/imgs/whatsbg.png) no-repeat left center !important;
	background-size: cover !important;
	color: #fff !important;
	border: none !important;
	padding: 1rem 1rem 1rem 3.2rem !important;
	font-size: 1rem !important;
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	min-height: 48px;
}
.kiosko-mobile-actions {
	display: none;
	position: fixed;
	right: 1rem;
	top: 50%;
	transform: translateY(-50%);
	z-index: 9999;
	flex-direction: column;
	gap: 0.2rem;
	padding: 0;
	border-radius: 1rem;
	background: rgba(255,255,255,0.5);
}

.kiosko-mobile-action {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	/* gap: 0.35rem; */
	padding: 0.2rem;
	color: #111;
	text-decoration: none;
	box-shadow: 0 12px 25px rgba(0,0,0,0.12);
	font-size: 0.75rem;
	line-height: 1.2;
	white-space: normal;
	text-align: center;
}

.kiosko-mobile-action:hover,
.kiosko-mobile-action:focus-visible {
	background: #f6f6f6;
}

.kiosko-mobile-action-icon {
	display: inline-flex;
	width: 2rem;
	height: 2rem;
	justify-content: center;
	align-items: center;
	border-radius: 0.75rem;
	background: #111;
	color: #fff;
	font-size: 1rem;
}

.kiosko-mobile-action-label {
	display: block;
	color: #111;
	font-weight: 500;
}
@media (max-width: 900px) {
	.kiosko-mobile-actions {
		display: flex;
	}
}

@media (min-width: 901px) {
	.kiosko-mobile-actions {
		display: none;
	}
}

.kiosko-btn-contact .wp-element-button:hover {
	filter: brightness(0.9);
}

/* Mobile Ad Banners — hidden on desktop, visible on mobile */
.kiosko-mobile-ads {
	display: none;
}
@media (max-width: 768px) {
	.kiosko-mobile-ads {
		display: block;
		margin-bottom: 1rem;
	}
	.kiosko-mobile-ad-link {
		display: block;
		overflow: hidden;
		border-radius: 4px;
	}
	.kiosko-mobile-ad-link + .kiosko-mobile-ad-link {
		margin-top: 0.5rem;
	}
}

/* Product video — modal overlay (outside React tree) */
.kiosko-video-gallery-thumb:hover {
	border-color: #888 !important;
}

/* Product gallery layout */
.kiosko-product-gallery {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}
.kiosko-product-gallery__main {
	position: relative;
	width: 100%;
	background: #f7f7f7;
	overflow: hidden;
	display: flex;
	flex-direction: column;
}
.kiosko-product-gallery__slide {
	display: none;
	padding: 0;
}
.kiosko-product-gallery__slide.active {
	display: flex;
	flex-direction: column;
}
.kiosko-product-gallery__slide img,
.kiosko-product-gallery__slide video {
	width: 100%;
	height: auto;
	display: block;
}
.kiosko-product-gallery__slide img {
	cursor: zoom-in;
}
.kiosko-product-gallery__thumbs {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 0.5rem;
	align-items: flex-start;
}
.kiosko-product-gallery__thumbs p {
	margin: 0 !important;
	padding: 0 !important;
	display: inline-flex !important;
}
.kiosko-product-gallery-thumb {
	border: 2px solid #ddd;
	padding: 0 !important;
	margin: 0 !important;
	width: 60px;
	height: 60px;
	min-width: 60px;
	max-width: 60px;
	min-height: 60px;
	background: #fff;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	border-radius: 4px;
	overflow: hidden;
	box-sizing: border-box;
	position: relative;
	font-size: 0;
	line-height: 0;
}
.kiosko-product-gallery-thumb.active {
	border-color: #111;
}
.kiosko-product-gallery-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.kiosko-product-gallery-thumb--video {
	background: #111;
}
.kiosko-product-gallery-thumb--video img {
	opacity: 0.5;
}
.kiosko-product-gallery-thumb__play {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	font-size: 1.4rem;
	color: #fff;
	z-index: 2;
	line-height: 1;
	pointer-events: none;
	text-shadow: 0 1px 4px rgba(0,0,0,0.6);
}
.kiosko-video-gallery-player {
	display: block;
	width: 100%;
	height: auto;
	max-height: calc(100vh - 150px);
	border-radius: 4px;
	background: #000;
}

/* Lightbox overlay for image enlargement */
.kiosko-lightbox {
	display: none;
	position: fixed;
	z-index: 99999;
	inset: 0;
	background: rgba(0,0,0,0.9);
	align-items: center;
	justify-content: center;
	cursor: pointer;
	padding: 2rem;
}
.kiosko-lightbox.active {
	display: flex;
}
.kiosko-lightbox img {
	max-width: 95%;
	max-height: 95%;
	object-fit: contain;
	border-radius: 4px;
	box-shadow: 0 4px 30px rgba(0,0,0,0.5);
}
.kiosko-lightbox__close {
	position: absolute;
	top: 1rem;
	right: 1.5rem;
	color: #fff;
	font-size: 2.5rem;
	line-height: 1;
	cursor: pointer;
	opacity: 0.7;
	transition: opacity 0.2s;
}
.kiosko-lightbox__close:hover {
	opacity: 1;
}
.kiosko-product-gallery__slide img {
	cursor: zoom-in;
}

/* Masthead carousel — latest posts */
.kiosko-masthead-carousel {
	position: relative;
	width: 100%;
	max-width: var(--wp--style--global--wide-size);
	margin: 0 auto;
	overflow: hidden;
}
.kiosko-carousel-track {
	position: relative;
	width: 100%;
	aspect-ratio: 8 / 5;
}
.kiosko-carousel-slide {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	transition: opacity 0.6s ease;
	text-decoration: none;
	border-radius: 12px;
	overflow: hidden;
	display: block;
}
.kiosko-carousel-slide.active {
	opacity: 1;
	z-index: 1;
}
.kiosko-carousel-slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.kiosko-carousel-title {
	position: absolute;
	bottom: 1rem;
	left: 1rem;
	color: #fff;
	font-size: 0.8rem;
	font-weight: 600;
	background: rgba(0,0,0,0.45);
	padding: 0.4rem 0.8rem;
	border-radius: 6px;
	max-width: 80%;
	line-height: 1.3;
}
.kiosko-carousel-dots {
	display: flex;
	justify-content: center;
	gap: 0.5rem;
	margin-top: 0.75rem;
}
.kiosko-carousel-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	border: none;
	background: #ccc;
	cursor: pointer;
	padding: 0;
	transition: background 0.3s;
}
.kiosko-carousel-dot.active {
	background: #333;
}
