/**
 * Il Tucano Pet ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã…â€œ custom UI (child theme)
 * Survives WoodMart parent updates.
 */

:root {
	--ilt-red: #cf303c;
	--ilt-red-dark: #b52631;
	--ilt-gold: #fbbc34;
	--ilt-ink: #1f1f1f;
	--ilt-muted: #6b6b6b;
	--ilt-line: #ebebeb;
	--ilt-bg: #fafafa;
	--ilt-radius: 12px;
	--ilt-radius-sm: 8px;
	--ilt-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
	--ilt-touch: 44px;
}

/* ------------------------------------------------------------------
   Slider / hero: avoid white collapse before RevSlider boots
------------------------------------------------------------------- */
#woodmart-layout-basic_wrapper,
rs-module-wrap#woodmart-layout-basic_wrapper {
	min-height: 420px !important;
	background: linear-gradient(180deg, #f6f6f6 0%, #fff 100%) !important;
}

@media (max-width: 768px) {
	#woodmart-layout-basic_wrapper,
	rs-module-wrap#woodmart-layout-basic_wrapper {
		min-height: 280px !important;
	}
}

@media (max-width: 480px) {
	#woodmart-layout-basic_wrapper,
	rs-module-wrap#woodmart-layout-basic_wrapper {
		min-height: 220px !important;
	}
}

/* Once slider is visible, let it size itself */
html.iltucano-slider-ready #woodmart-layout-basic_wrapper,
html.iltucano-slider-ready rs-module-wrap#woodmart-layout-basic_wrapper,
rs-module-wrap.rs-force-h-full,
rs-module-wrap[style*="visibility: visible"] {
	min-height: 0 !important;
	background: transparent !important;
}

/* Sticky header depth after scroll */
html.iltucano-scrolled .whb-sticked .whb-main-header,
html.iltucano-scrolled .whb-clone.whb-sticked {
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
}

/* ------------------------------------------------------------------
   Header polish
------------------------------------------------------------------- */
.whb-top-bar {
	letter-spacing: 0.02em;
}

.iltucano-child .whb-main-header .wd-nav > li > a {
	letter-spacing: 0.04em;
	transition: color 0.2s ease, opacity 0.2s ease;
}

.iltucano-child .whb-main-header .wd-nav > li > a:hover {
	color: var(--ilt-red);
}

.iltucano-child .wd-header-cart .wd-tools-icon,
.iltucano-child .wd-header-search .wd-tools-icon,
.iltucano-child .wd-header-my-account .wd-tools-icon {
	transition: transform 0.2s ease;
}

.iltucano-child .wd-header-cart:hover .wd-tools-icon,
.iltucano-child .wd-header-search:hover .wd-tools-icon,
.iltucano-child .wd-header-my-account:hover .wd-tools-icon {
	transform: scale(1.06);
}

/* ------------------------------------------------------------------
   Buttons / CTA ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã…â€œ brand consistency
------------------------------------------------------------------- */
.iltucano-child .button,
.iltucano-child button.button,
.iltucano-child .btn,
.iltucano-child .wd-buy-now-btn,
.iltucano-child .single_add_to_cart_button,
.iltucano-child .add_to_cart_button,
.iltucano-child .checkout-button,
.iltucano-child .woocommerce-button {
	border-radius: 999px !important;
	font-weight: 600 !important;
	letter-spacing: 0.02em;
	transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease !important;
}

.iltucano-child .button:hover,
.iltucano-child button.button:hover,
.iltucano-child .single_add_to_cart_button:hover,
.iltucano-child .add_to_cart_button:hover {
	transform: translateY(-1px);
	box-shadow: 0 6px 16px rgba(207, 48, 60, 0.22);
}

.iltucano-child .button.alt,
.iltucano-child .checkout-button,
.iltucano-child .single_add_to_cart_button {
	background-color: var(--ilt-red) !important;
	border-color: var(--ilt-red) !important;
	color: #fff !important;
}

.iltucano-child .button.alt:hover,
.iltucano-child .checkout-button:hover,
.iltucano-child .single_add_to_cart_button:hover {
	background-color: var(--ilt-red-dark) !important;
	border-color: var(--ilt-red-dark) !important;
}

/* ------------------------------------------------------------------
   Category banners / home cards
------------------------------------------------------------------- */
.iltucano-child .banner {
	border-radius: var(--ilt-radius);
	overflow: hidden;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.iltucano-child .banner:hover {
	transform: translateY(-3px);
	box-shadow: var(--ilt-shadow);
}

.iltucano-child .banner-btn a,
.iltucano-child .banner .btn {
	border-radius: 999px !important;
}

.iltucano-child .title-wrapper .title,
.iltucano-child .elementor-heading-title {
	letter-spacing: -0.01em;
}

/* ------------------------------------------------------------------
   Product cards
------------------------------------------------------------------- */
.iltucano-child .product-grid-item {
	border-radius: var(--ilt-radius);
	background: #fff;
	transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.iltucano-child .product-grid-item:hover {
	box-shadow: var(--ilt-shadow);
	transform: translateY(-2px);
}

.iltucano-child .product-grid-item .product-wrapper {
	border-radius: var(--ilt-radius);
	overflow: visible;
	display: flex;
	flex-direction: column;
	height: 100%;
}

.iltucano-child .product-image-link img,
.iltucano-child .product-grid-item img {
	transition: transform 0.35s ease;
}

.iltucano-child .product-grid-item:hover .product-image-link img {
	transform: scale(1.04);
}

.iltucano-child .product-grid-item .wd-entities-title,
.iltucano-child .product-grid-item .woocommerce-loop-product__title {
	font-size: 14px;
	line-height: 1.35;
	font-weight: 500;
}

.iltucano-child .price {
	color: var(--ilt-ink);
	font-weight: 600;
}

.iltucano-child .price del {
	opacity: 0.55;
	font-weight: 400;
}

.iltucano-child .price ins {
	color: var(--ilt-red);
	text-decoration: none;
}

.iltucano-child .onsale,
.iltucano-child .wd-product-label {
	border-radius: 999px !important;
	font-weight: 700 !important;
}

/* Larger mobile tap targets on add-to-cart */
@media (max-width: 768px) {
	.iltucano-child .product-grid-item .add_to_cart_button,
	.iltucano-child .product-grid-item .button,
	.iltucano-child .product-grid-item .product-actions a {
		min-height: var(--ilt-touch);
		min-width: var(--ilt-touch);
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
	}
}

/* ------------------------------------------------------------------
   Shop / archive
------------------------------------------------------------------- */
.iltucano-child .shop-loop-head {
	gap: 12px;
	align-items: center;
}

.iltucano-child .woocommerce-ordering select,
.iltucano-child .wd-shop-tools select {
	border-radius: var(--ilt-radius-sm);
	border: 1px solid var(--ilt-line);
	min-height: 40px;
	padding-inline: 12px;
}

.iltucano-child .wd-filter-list,
.iltucano-child .wd-widget {
	border-radius: var(--ilt-radius);
}

/* ------------------------------------------------------------------
   Single product
------------------------------------------------------------------- */
.iltucano-child .product-image-wrap,
.iltucano-child .woocommerce-product-gallery {
	border-radius: var(--ilt-radius);
	overflow: hidden;
	background: #fff;
}

.iltucano-child .summary .product_title {
	line-height: 1.25;
	letter-spacing: -0.015em;
}

.iltucano-child .quantity .qty {
	border-radius: var(--ilt-radius-sm);
	min-height: 44px;
	text-align: center;
}

.iltucano-child .woocommerce-tabs {
	border-radius: var(--ilt-radius);
}

.iltucano-child .woocommerce-message,
.iltucano-child .woocommerce-info,
.iltucano-child .woocommerce-error {
	border-radius: var(--ilt-radius-sm);
}

/* ------------------------------------------------------------------
   Forms / newsletter
------------------------------------------------------------------- */
.iltucano-child input[type="text"],
.iltucano-child input[type="email"],
.iltucano-child input[type="tel"],
.iltucano-child input[type="password"],
.iltucano-child input[type="search"],
.iltucano-child textarea,
.iltucano-child select {
	border-radius: var(--ilt-radius-sm) !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.iltucano-child input:focus,
.iltucano-child textarea:focus,
.iltucano-child select:focus {
	border-color: var(--ilt-red) !important;
	box-shadow: 0 0 0 3px rgba(207, 48, 60, 0.12) !important;
	outline: none;
}

/* ------------------------------------------------------------------
   Footer
------------------------------------------------------------------- */
.iltucano-child .footer-container {
	border-top: 1px solid var(--ilt-line);
}

.iltucano-child .footer-container a:hover {
	color: var(--ilt-red);
}

/* ------------------------------------------------------------------
   Mobile-first UX
------------------------------------------------------------------- */
@media (max-width: 1024px) {
	.iltucano-child .wd-nav-mobile .menu-item > a {
		min-height: var(--ilt-touch);
		display: flex;
		align-items: center;
		font-size: 15px;
	}

	.iltucano-child .wd-header-burger,
	.iltucano-child .wd-tools-element > a {
		min-width: var(--ilt-touch);
		min-height: var(--ilt-touch);
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
	}

	/* Top bar: shorter copy on very small screens handled via JS if needed */
	.iltucano-child .whb-top-bar {
		font-size: 11px;
		line-height: 1.2;
	}
}

@media (max-width: 768px) {
	.iltucano-child {
		-webkit-tap-highlight-color: rgba(207, 48, 60, 0.12);
	}

	.iltucano-child .whb-top-bar .wd-info-box,
	.iltucano-child .whb-top-bar .info-box-title {
		font-size: 11px !important;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		max-width: 100%;
	}

	/* Mobile sticky bottom nav ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã…â€œ clearer + safer taps */
	.iltucano-child .wd-sticky-nav,
	.iltucano-child .wd-bottom-nav,
	.iltucano-child .wd-toolbar {
		backdrop-filter: blur(10px);
		-webkit-backdrop-filter: blur(10px);
		background: rgba(255, 255, 255, 0.94) !important;
		border-top: 1px solid var(--ilt-line);
		box-shadow: 0 -6px 20px rgba(0, 0, 0, 0.05);
	}

	.iltucano-child .wd-toolbar a,
	.iltucano-child .wd-bottom-nav a,
	.iltucano-child .wd-sticky-nav a {
		min-height: 52px;
		padding: 8px 4px;
		font-size: 11px;
		font-weight: 600;
	}

	/* Product grid denser but readable */
	.iltucano-child .products.elements-grid .product-grid-item .wd-entities-title {
		font-size: 13px;
	}

	.iltucano-child .products.elements-grid .price {
		font-size: 14px;
	}

	/* Cart / checkout breathing room */
	.iltucano-child .woocommerce-cart-form,
	.iltucano-child .woocommerce-checkout {
		padding-bottom: 24px;
	}

	.iltucano-child .checkout-button,
	.iltucano-child .single_add_to_cart_button,
	.iltucano-child button[name="woocommerce_checkout_place_order"] {
		width: 100%;
		min-height: 50px;
		font-size: 15px !important;
	}

	/* Reduce motion on small devices for perceived speed */
	.iltucano-is-mobile .banner,
	.iltucano-is-mobile .product-grid-item {
		transition: none;
	}

	.iltucano-is-mobile .banner:hover,
	.iltucano-is-mobile .product-grid-item:hover {
		transform: none;
		box-shadow: none;
	}
}

@media (max-width: 480px) {
	.iltucano-child .container,
	.iltucano-child .elementor-section.elementor-section-boxed > .elementor-container {
		padding-left: 14px;
		padding-right: 14px;
	}

	.iltucano-child .elementor-heading-title {
		font-size: clamp(18px, 5.2vw, 24px) !important;
		line-height: 1.25 !important;
	}
}

/* ------------------------------------------------------------------
   Accessibility / focus
------------------------------------------------------------------- */
.iltucano-child a:focus-visible,
.iltucano-child button:focus-visible,
.iltucano-child .button:focus-visible {
	outline: 2px solid var(--ilt-red);
	outline-offset: 2px;
}

/* Prefer less animation when user asks */
@media (prefers-reduced-motion: reduce) {
	.iltucano-child *,
	.iltucano-child *::before,
	.iltucano-child *::after {
		animation-duration: 0.01ms !important;
		transition-duration: 0.01ms !important;
	}
}

/* ------------------------------------------------------------------
   Cookie banner: less intrusive on mobile (don't fight MAP, just soften)
------------------------------------------------------------------- */
@media (max-width: 768px) {
	.iltucano-child .map-cookie-banner,
	.iltucano-child #map-cookie-banner,
	.iltucano-child .myagileprivacy {
		max-width: calc(100vw - 24px);
	}
}

/* Hero fallback while RevSlider boots */
.iltucano-hero-fallback,
#woodmart-layout-basic_wrapper:not([style*='visibility: visible']) {
	position: relative;
}
#woodmart-layout-basic_wrapper:not([style*='visibility: visible'])::after {
	content: 'Il Tucano Pet';
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: Poppins, Lato, sans-serif;
	font-weight: 700;
	font-size: clamp(22px, 4vw, 40px);
	color: rgba(207, 48, 60, 0.28);
	letter-spacing: 0.02em;
	pointer-events: none;
	z-index: 1;
}
/* ==================================================================
   iltucano-shop-grid-fix Ã¢â‚¬â€œ category/shop product grid alignment
================================================================== */
.iltucano-child .products.elements-grid,
.iltucano-child .products.wd-products,
.iltucano-child ul.products {
	align-items: stretch;
}

.iltucano-child .product-grid-item.wd-product,
.iltucano-child .products .product-grid-item {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.iltucano-child .product-grid-item .product-wrapper {
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: visible;
}

.iltucano-child .product-grid-item .product-element-top {
	position: relative;
	overflow: hidden;
	border-radius: var(--ilt-radius) var(--ilt-radius) 0 0;
	background: #fff;
}

.iltucano-child .product-grid-item .product-image-link {
	display: block;
	position: relative;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: #fff;
}

.iltucano-child .product-grid-item .product-image-link img,
.iltucano-child .product-grid-item .product-element-top img {
	position: absolute !important;
	inset: 0;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: contain;
	object-position: center;
	margin: 0 auto;
	transform: none !important;
}

.iltucano-child .product-grid-item:hover .product-image-link img {
	transform: scale(1.03) !important;
}

.iltucano-child .product-grid-item .product-element-bottom {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	padding-top: 10px;
	min-height: 0;
}

.iltucano-child .product-grid-item .wd-entities-title,
.iltucano-child .product-grid-item .woocommerce-loop-product__title {
	min-height: 3.9em;
	max-height: 3.9em;
	overflow: hidden;
	display: -webkit-box !important;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	line-height: 1.3;
	margin: 0 0 8px;
	font-size: 13px !important;
}

.iltucano-child .product-grid-item .wrap-price,
.iltucano-child .product-grid-item .price {
	margin-top: auto;
	margin-bottom: 8px;
}

.iltucano-child .product-grid-item .wd-product-footer {
	margin-top: auto;
}

/* Labels: keep inside image, readable, no broken circle text */
.iltucano-child .product-labels {
	position: absolute !important;
	top: 8px !important;
	left: 8px !important;
	right: auto !important;
	z-index: 5 !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	gap: 6px !important;
	max-width: calc(100% - 16px) !important;
	pointer-events: none;
}

.iltucano-child .product-labels .product-label {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 0 !important;
	min-height: 0 !important;
	max-width: none !important;
	width: auto !important;
	height: auto !important;
	padding: 5px 10px !important;
	border-radius: 999px !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	word-break: normal !important;
	white-space: nowrap !important;
	box-shadow: 0 2px 8px rgba(0,0,0,.12);
}

.iltucano-child .product-labels .product-label.onsale {
	background: var(--ilt-red) !important;
	color: #fff !important;
}

.iltucano-child .product-labels .product-label.out-of-stock {
	background: #1f1f1f !important;
	color: #fff !important;
	order: 2;
}

.iltucano-child .product-labels .product-label.featured {
	background: #e22d2d !important;
	color: #fff !important;
}

.iltucano-child .product-labels .product-label.new {
	background: #438e44 !important;
	color: #fff !important;
}

/* WooCommerce block price filter stuck in loading */
.iltucano-child .wp-block-woocommerce-price-filter.is-loading {
	min-height: 0;
}
.iltucano-child .wp-block-woocommerce-price-filter.is-loading .wc-block-components-price-slider,
.iltucano-child .wp-block-woocommerce-price-filter.is-loading .wc-block-components-price-slider__range,
.iltucano-child .wp-block-woocommerce-price-filter.is-loading .wc-block-filter-title-placeholder,
.iltucano-child .wp-block-woocommerce-filter-wrapper .wc-block-components-skeleton,
.iltucano-child .wp-block-woocommerce-price-filter.is-loading > *:not(h3):not(.wp-block-heading) {
	display: none !important;
}

/* Hide empty/broken WC block filter wrappers that never hydrate */
.iltucano-child .wp-block-woocommerce-filter-wrapper:has(.is-loading) {
	display: none !important;
}

/* Fallback if :has unsupported Ã¢â‚¬â€œ hide skeleton placeholders */
.iltucano-child .wc-block-components-skeleton__element,
.iltucano-child .wc-block-components-price-slider__range-input-progress {
	background: transparent !important;
}

@media (max-width: 768px) {
	.iltucano-child .product-grid-item .wd-entities-title {
		min-height: 3.4em;
		max-height: 3.4em;
		font-size: 12px !important;
	}
}

/* Price filter: hide empty loading placeholders, keep working slider */
.iltucano-child .wp-block-woocommerce-filter-wrapper[data-filter-type="rating-filter"],
.iltucano-child .wp-block-woocommerce-filter-wrapper[data-filter-type="attribute-filter"] {
	display: none !important;
}

.iltucano-child .wc-block-components-skeleton,
.iltucano-child .wc-block-components-skeleton__element,
.iltucano-child .wc-block-filter-title-placeholder {
	display: none !important;
}

.iltucano-child .wp-block-woocommerce-price-filter.is-loading:not(:has(input)) {
	display: none !important;
}

.iltucano-child .wp-block-woocommerce-price-filter {
	margin-bottom: 1rem;
}

.iltucano-child .wc-block-components-price-slider__range,
.iltucano-child .wc-block-price-filter__range-input-wrapper {
	min-height: 24px;
}

.iltucano-child .widget_layered_nav button,
.iltucano-child .woocommerce-widget-layered-nav button,
.iltucano-child .wd-widget button[type="submit"],
.iltucano-child .widget .button,
.iltucano-child aside .button {
	background: var(--ilt-red, #c8102e) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 4px !important;
	padding: 10px 16px !important;
	width: 100%;
	font-weight: 700 !important;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

/* Compact sale + stock badges stacked cleanly */
.iltucano-child .product-labels .product-label.out-of-stock {
	background: rgba(20, 20, 20, 0.92) !important;
	color: #fff !important;
	border: 1px solid rgba(255,255,255,0.15);
}

.iltucano-child .product-labels .product-label.onsale {
	min-width: 42px !important;
	min-height: 42px !important;
	border-radius: 50% !important;
	padding: 0 !important;
}