
:root {
	--palette1Blu:#206EB1;
	--paletteLilla:#EFE1EE;
	--paletteArancio:#FFA639;
	--paletteGiallo:#FCEFA3;
	--paletteCiano:#E5EEFF;
	
	--border-radius:16px;
	--header-border-radius:16px;
	
	--primary-bg-color:#206EB1;
	--primary-btn-bg-color:#206EB1;
	--main-color:#206EB1;
	--main-color-hover:#FFA639;
	--alt-bg-color:#FCEFA3;
	--cta-bg-color:#206EB1;
	--secondary-btn-bg-color:#206EB1;
	--secondary-bg-color: #1D71B8;
	--secondary-btn-color:#fff;
	--footer-title-color:#206EB1;
	--footer-color:#206EB1;
	--footer-before-bg-color: #fff;
	--section-min-spacing:50px;
	--section-spacing:100px;
	
	--primary-font: 'Nunito', Helvetica, sans-serif;
    --secondary-font: 'Nunito', Helvetica, sans-serif;
	--border-color: #CCCCCC;
}

@media(max-width:767px) {
	:root {
		--section-spacing:50px;
	}	
	.wd-titletab {
		margin:0;
	}
}

.container {
	max-width: 1728px;
}

#content-wrapper {
	max-width: 1728px;
	margin:auto;
}

#page {
	#wrapper {
		.container.big {
			max-width: 1728px;
			margin: auto;
		}
	}
}

/* Buttons */

.btn-primary {
	background: #206EB1;
	color: white;
	border: none;
	border-radius: var(--border-radius);
	padding: 10px 25px;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.3s;
	
}

.btn-primary:hover {
	background: #FFA639;
	color:#206EB1;
}

.btn-secondary {
	background: white;
	padding: 12px 25px;
	border-radius: var(--border-radius);
	font-weight: 600;
	color: var(--main-color);
}

.btn-secondary:hover {
	background: var(--main-color-hover);
	color: white;
}

/* Common */

h1 {
	color: var(--main-color) !important;
	font-size: 48px;
	line-height: 48px;
	font-weight: 700;
	margin-bottom: 50px;
	display: block;
}

* .wd-title {
	font-size:48px;
	line-height:48px;
	color:var(--main-color);
	background:none!important;
	font-weight: 700;
}

* a:hover {
	color: var(--main-color-hover);
}

.align_center {
	text-align: center;
}

h1, .wd-innerpagetitle {
	color:var(--main-color)!important;
	font-size: 48px;
	line-height: 48px;
}

.footer_link {
    text-align: center;
    margin-top: var(--section-min-spacing);	
}

.custom-checkbox a{
	font-size: 15px;
    line-height: 15px;
}

#search_filters_wrapper #search_filters ul li label>span span, 
body#checkout .custom-checkbox span, 
.custom-checkbox input[type="checkbox"]+span {
	border: solid 1px var(--main-color);
    border-radius: 4px;
}

#search_filters_wrapper #search_filters ul li label>span:hover span, 
body#checkout .custom-checkbox span:hover, 
.custom-checkbox input[type="checkbox"]+span:hover{
    background-color: var(--main-color);
    border-color: var(--main-color);
}

.custom-checkbox input[type="checkbox"]+span .checkbox-checked {
	background-color: var(--main-color);
    border-radius: 4px;
    color: #fff;
	width:100%;
}

.input-group.bootstrap-touchspin {
	border: 1px solid var(--palette1Blu);
	color: var(--main-color);
	padding: 0px 13px;
	border-radius: var(--border-radius);
	.btn-touchspin {
		border:none;
		color:var(--main-color);
	}
	input.form-control {
		border:none;
    	width: 45px;
	}
}

.block-promo .cart-summary-line .label, .block-promo .promo-name {
	color:var(--main-color);
}

@media (min-width: 992px) {
	.wd-menu-horizontal ul li.level-1.parent > a span::after, .wd-menu-horizontal li.level-1.wdmenu a .category::after {
		font-size: 30px;
	}
}

@media (max-width: 543px) {
    #search_widget .wdsearchtoggle {
        width: 150px;
        right: 45px;
        top: -0px;
    }
	.breadcrumb {
        padding: 15px 0!important;
		li:last-child {
			margin:0;
		}
    }
}

@media (max-width: 991px) {
    .main-breadcrumb {
        margin: 0;
    }

 	#category #left-column #search_filters .facet .navbar-toggler {
        display: none;
        padding: 0;
    }

	& #left-column {
		& #search_filters_wrapper {
			& #search_filters {
				& .facet {
					.h6.facet-title {
						width: 100%;
						padding-right: 0;
					}
				}
			}
		}
	}
}

@media (max-width: 767px) {
	.cart-grid-body .card-block {
		padding: 20px 0;
	}

	h1 {
		font-size: 32px!important;
		line-height: 32px!important;
	}
	* .wd-title {
		font-size: 32px!important;
		line-height: 32px!important;
	}
}



body main .tabs .nav-tabs .nav-item a h3.tab-title {
	color:var(--main-color);
}

.block-promo .promo-code-button a.collapse-button {
	color:var(--main-color);
	padding:0;
	font-weight: 700;
}

.block-promo .promo-input+button {
    margin-top: 10px;
}

.tabs {
	.nav-tabs {
		&:after {
			margin-top: -15px;
			display:block;
			content:' ';
			height:8px;
			width:100%;
			border: solid 8px #CACACA;	
			border-radius:8px;
		}	
		width: fit-content;
		margin: auto;
		.nav-link {
			color:var(--body-color);
			&.active {
				color: var(--main-color);
			}
			&:hover {
				color: var(--main-color-hover);
			}
		}
		.nav-item {
			
			.nav-link {
				font-size:20px;
				line-height:20px;
				font-weight: 700;
				&.active {
					background: none;
				}
				.tab-title {
					font-size:27px!important;
				}
			}
			
			&:has(.nav-link.active):after {
				display:block;
				content:'';
				height:8px;
				width:100%;
				border: solid 8px var(--main-color);	
				border-radius:8px;
			}
			&:not(:has(.nav-link.active)):after {
				display:block;
				content:'';
				height:8px;
				width:100%;
				border: solid 8px #CACACA;	
				border-radius:8px;
			}	
		}
	}
	.tab-content {
		.product-reference {
			display:none;
		}
		.tab-pane {
			border:none;
			.product-features {
				.h6 {
					display:none;
				}
				.data-sheet {
					display: grid;
					grid-template-columns: 20% 80%;
					gap: 0;
					margin: 0;
					padding: 0;
					border: none;
					dt.name{
						grid-column: 1;
						border-right:none;
						border-left:none;
						font-weight:bold;
						&:nth-of-type(even) {
							background:transparent;
						}
					}
					dd.value{
						grid-column: 2;
						border-right:none;
						border-left:none;
						&:nth-of-type(even) {
							background:transparent;
						}
						br {
							display:none;
						}
					}
				}
			}
		}
	}
}

@media(max-width:767px) {

	.tabs .nav-tabs {
		&:after {
			z-index: -1;
			position: relative;
			top: -21px;
		}
		.nav-item {
			width: 50%;
			margin: 0 0 5px;
			padding:0;
		}		
	}

	/*ul.nav.nav-tabs:before {		
		margin-top: -15px;
		display: block;
		position: relative;
		content: '';
		height: 8px;
		width: 100%;
		border: solid 8px #CACACA;
		border-radius: 8px;
		top: 78px;
		z-index: -1;
	}*/	
	
	.homebg .tabs .nav-tabs .nav-item {
        width: 50%;
    }
	
	/* Mobile: una sotto l'altra */
	.tab-content { 
		.tab-pane {
			padding:0;
			.product-quantities {
				padding-left:15px;
			}
			.product-features {		
				.data-sheet {
					   grid-template-columns: 1fr!important;
					  .name {
						grid-column: 1!important;
						padding-bottom: 2px!important;
						border-bottom:none;
					  }

					  .value {
						grid-column: 1!important;
						padding-top: 2px!important;
					  }
				}
			}
		}
	}

}

@media (max-width: 768px) {
    dl.data-sheet {
        grid-template-columns: 1fr;
    }
    
    dl.data-sheet dt.name,
    dl.data-sheet dd.value {
        grid-column: 1;
    }
}

/* Breadcrumb */
.main-breadcrumb {
	background:transparent;
	.breadcrumb {
		padding: 20px 0px 20px 55px;
		text-align:left;
		a {
			color:var(--main-color);
			span {
				color:var(--main-color);
				text-transform: uppercase;
			}
		}
	}
}

/* Header */ 
#header {
	a:hover {
		color:var(--main-color);
	}
	.header-top {
		background: none;
		
		.wd-menu-horizontal {
			ul li.level-1 {
				a, 
				.more-menu .categories, 
				ul li > a {
					color:var(--main-color)!important;
				}
			}		
			li.level-1 > a span {
				font-weight:700;
				font-size: 20px;
                padding: 0 30px;
                letter-spacing: 2px;
			}
		}
	}
	border-bottom:solid 1px var(--main-color);
	.search-widget #search_query_top {
		border-radius:var(--header-border-radius);
		border-color:#206EB1;
		&::placeholder {
		  color: var(--palette1Blu);
		  opacity: 1; /* Necessario per Firefox che di default applica trasparenza */
		}
	}
	
	.search-widget form button[type="submit"] .material-icons.search {
		background: url(/themes/wdg041_petstore_child/assets/img/sprite_color1x.png);
		background-repeat: no-repeat;
		background-position: 0px 5px;
	}

	.header-wishtlist .wishtlist_top::after {
		background: url(/themes/wdg041_petstore_child/assets/img/sprite_color1x.png);
		background-repeat: no-repeat;
		background-position: -65px 10px;
	}

	@media (min-width: 1200px) {
		.header-compare .bt_compare::after {
			background: url(/themes/wdg041_petstore_child/assets/img/sprite_color1x.png);
			background-repeat: no-repeat;
			background-position: -130px 10px;
		}
	}

	.wduserheading::after {
		background: url(/themes/wdg041_petstore_child/assets/img/sprite_color1x.png);
		background-repeat: no-repeat;
		background-position: -190px 10px;
	}
	#_desktop_cart {
		padding:8px 0;
		.blockcart{
			padding: 7px 0;
			.header .shopping{
				background: var(--palette1Blu);
				border-radius: var(--header-border-radius);
				width: 150px;
				height: 42px;
				.cart-products-count,.wdamount {
					display:none;
				}
				&::after {
					background: url(/themes/wdg041_petstore_child/assets/img/sprite_white1x.png);
					background-repeat: no-repeat;
					background-position: -250px 7px;
					margin-left: 10px;
				}
				&::before {
					content: 'Carrello';
					font-family: 'Nunito';
                    color: rgb(255, 255, 255);
                    position: absolute;
                    left: 60px;
					top:0;
                    line-height: 40px;
				}
			}
		}
	}
}

/* Doofinder hack */
.dfd-btn-term-filter {
	text-transform: lowercase!important;
}
@media (max-width: 991px) {
    #search_widget .wdsearchtoggle {
        left: -500px;
        position: absolute;
    }
	.search-widget.active .wdsearch_button::before {
		display:none!important;
	}

	.search-widget.active .wdsearch_button i {
		display: block!important;
	}
}


/* Menu */
@media (max-width: 991px) {
	#header {
		.wd-menu-horizontal .main-menu {
			border: none;
			box-shadow: none;
			border-top-left-radius: 0;
            border-top-right-radius: 0;
			margin: 2px auto;
		}
		
		.cart-preview.dropdown{
			.cart_block {
				
				border-top-left-radius: 0;
				border-top-right-radius: 0;
			}
		}
	}
}

@media (max-width: 991px) {
	#header {
		.wdsearch_button .material-icons.search {
			background: url(/themes/wdg041_petstore_child/assets/img/sprite_white1x.png);
			background-repeat: no-repeat;
			background-position: 7px 7px;
		}
			
		/*.header-wishtlist .wishtlist_top::after {
			background: url(/themes/wdg041_petstore_child/assets/img/sprite_white1x.png);
		}

		.header-compare .bt_compare::after {
			background: url(/themes/wdg041_petstore_child/assets/img/sprite_white1x.png);
		}*/

		.wduserheading::after {
			background: url(/themes/wdg041_petstore_child/assets/img/sprite_white1x.png);
			background-repeat: no-repeat;
			background-position: -188px 7px !important;
			background-size: auto !important;
		}

		.blockcart .header .shopping{
				.cart-products-count,.wdamount {
					display:none;
				}
				&::after {
				background: url(/themes/wdg041_petstore_child/assets/img/sprite_white1x.png);
				background-repeat: no-repeat;
				background-position: -260px 7px!important;
				background-size: auto !important;
			}
		}
	}

}

/* Footer */

#footer {
	
	.footer-container {
		.psgdpr_consent_message {
			max-width: 600px;
		}
		li a, .links {
			font: 400 14px / 28px var(--secondary-font);
		}
		.block-contact .block.call .data .icon {
			display: flex;
			align-items: center;
			justify-content: center;
		}

		.block-contact .block.call .data .icon svg {
			width: 45px;
			height: 45px;
		}
		.links h3 {
			font-size:32px;
			line-height:32px;
			a {
				font-size:32px;	
				line-height:32px;
			}
		}
		#social-bar {
			width: 250px;
			display: flex;
			column-gap: 10px;
			margin: 5px 0;
			.social-item {
				
			}
		}
	}
}

@media(max-width:767px) {
	#footer {	
		.footer-container {
			.column1 {
				text-align: center;
				margin-bottom: 20px;
			}
			#social-bar {
				justify-content: center;
				width: 100%;
			}
		}
	}
}

/* Newsletter */

#newsletter {
	margin: 40px 0;
	.block_newsletter {
		position: relative;
		background-color: var(--paletteCiano);
		border-radius: 20px;
		padding: 40px 20px;
		min-height: 300px;
		overflow: visible;
		margin-bottom: 30px;
	
		.newsletter-image {
			position: absolute;
			right: -20px;
			bottom: -30px;
			height: 120%;
			width: auto;
			max-width: 55%;
			z-index: 1;
			pointer-events: none; /* per non bloccare i click sul form */
		}

		.block_newsletter .psgdpr_consent_message {
			margin-top: 15px;
			font-size: 14px;
			max-width: 500px;
		}

		.block_title {
			position: relative;
			z-index: 2;
		}

		.block_title .h3 {
			font-size: 64px;
			margin-bottom: 10px;
			font-weight: bold;
			padding-left: 0;
			text-transform: none;
			width: 300px;
			line-height: 64px;
			color: var(--main-color);        
		}
		
		.wdinput_newsletter {
			max-width: 500px;
			input[type=submit] {
				margin-left: -130px;
			}
		}
		
		.block_title .h3::after {
			right: -150px;
			position: absolute;
			top: 0;
			display: block;
			content: '';
			width: 137px;
			height: 104px;
			background: url(../img/newsletter-icon.png);
			background-size: cover;
		}

		.block_desc {
			display: block;
			margin-bottom: 20px;
		}

		.wdinput_newsletter {
			position: relative;
			z-index: 2;
		}

		.news-inner {
			position: relative;
			z-index: 2;
		}
		

	}
}

/* Per dispositivi più piccoli */
@media (max-width: 768px) {
	#newsletter .block_newsletter {

        .block_title .h3 {
			font-size: 44px;
            line-height: 44px;
			&:after {
				display: none;
			}
		}

		.wdinput_newsletter {
			display: flex;
            position: relative;
            z-index: 2;
			max-width: 100%;
			margin-bottom:20px;
			
			input[type=submit] {
                order: 2;
                margin-left: -30px;
            }
			.input-wrapper {
				width: 100%;				
			}
			form input[type=email] {
				padding: 0;
			}
        }
						
		.newsletter-image {
			position: relative;
			right: 0;
            bottom: 20px;
		}
	}
}

.block_newsletter .block_title h3::before {
	content: '';
}

/* Home */
.page-index {
	.wd_category_feature {
		display:none;
	}
	#header {
		border:none;
	}
	h3.tab-title {
		color:var(--main-color)!important; 
	}
	
	.brands.bottom-to-top {
		background-color: transparent;
	}
	
	.wdfeatured-products {
		.tab-title {
			font-size: 48px;
    		line-height: 48px;
			margin-bottom:20px;
		}
	}

	.pet-section {
		position: relative;
		background-image: url('../img/sfondo_cani.png');
		background-size: cover;
		background-position: center;
		background-repeat: no-repeat;
		padding: 60px 0;
		min-height: 400px;
	}

	.pet-container {
		max-width: 1200px;
		margin: 0 auto;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 40px;
		padding: 0 20px;
	}

	.pet-content {
		flex: 1;
		background: white;
		border-radius: 20px;
		padding: 40px;
		box-shadow: 0 4px 20px rgba(0,0,0,0.1);
	}

	.pet-header {
		margin-bottom: 30px;
	}

	.pet-subtitle {
		display: block;
		font-size: 14px;
		color: #666;
		margin-bottom: 5px;
	}

	.pet-title {
		font-size: 48px;
		font-weight: bold;
		color: #206EB1;
		margin: 0;
	}

	.pet-cards {
		display: flex;
		gap: 20px;
	}

	.pet-card {
		flex: 1;
		background: #f8f9ff;
		border-radius: 15px;
		padding: 20px;
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 15px;
	}

	.card-title {
		font-size: 20px;
		font-weight: 600;
		color: #206EB1;
		margin: 0 0 10px 0;
	}

	.card-image {
		width: 100%;
		text-align: center;
	}

	.card-image img {
		max-width: 120px;
		height: auto;
	}

	.pet-image {
		flex: 0 0 400px;
		position: relative;
	}

	.pet-image img {
		width: 100%;
		height: auto;
		border-radius: 20px;
	}
	
	.page-home {
		display: flex;
		flex-direction: column;
		.htmlblock.htmlblock-2 {
			order:3;
			margin-bottom:var(--section-spacing);
		}
	}
	
	.hero-section {
		background: url(/themes/wdg041_petstore_child/assets/img/top_home.jpg);
        background-size: 100% auto;
        background-repeat: no-repeat;
        background-position: top center;
        min-height: 1340px;
        overflow: hidden;
        padding: 60px 0;
        z-index: -1;
	}

	.main-title {
		color: #206EB1;
		font-weight: bold;
		font-size: 64px;
		line-height: 64px;
		text-align: center;
		margin-bottom: 30px;
		position: relative;
		z-index: 1;
	}

	.button-group {
		display: flex;
		justify-content: center;
		gap: 20px;
		margin-bottom: 60px;
		flex-wrap: wrap;
	}

	.card-container {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
		gap: 25px;
		max-width: 1200px;
		margin: 0 auto;
		padding: 0 20px;
		position: relative;
		z-index: 0;
		margin-top: 550px;
	}

	.product-card {
		background: white;
		border-radius: 20px;
		padding: 25px;
		box-shadow: 0 4px 15px rgba(0,0,0,0.1);
		transition: all 0.3s;
		display: flex;
		flex-direction: column;
		align-items: start;
		text-align: left;
		position: relative;
		overflow: hidden;
		background-size: contain;
		background-repeat: no-repeat;
		color: #206EB1;
		padding-top:70px;
	}

	.product-card:hover {
		transform: translateY(-5px);
		box-shadow: 0 8px 25px rgba(0,0,0,0.15);
	}

	.product-card.cane {
		background-image: url(/themes/wdg041_petstore_child/assets/img/quiz-cani.png);
        background-position: 180px 46px;
        height: 300px;
        background-size: auto 350px;
	}
	
	.product-card.gatto {
		background-image: url(/themes/wdg041_petstore_child/assets/img/quiz-gatti.png);
		background-position: 208px 50px;
        height: 300px;
        background-size: auto 250px;
	}
	
	.product-card.offerte {
		background-image: url(/themes/wdg041_petstore_child/assets/img/super-offerte.png);
		background-position: 180px 80px;
        height: 300px;
        background-size: 250px auto;
	}
	
	.card-image {
		width: 100%;
		height: 200px;
		object-fit: cover;
		border-radius: 15px;
		margin-bottom: 20px;
	}

	.card-title {
		max-width: 240px;
		color: #206EB1;
		font-weight: bold;
		font-size: 35px;
		margin-bottom: 15px;
		font-size: 28px;
	}

	.card-subtitle {
		color: #666;
		font-size: 0.95rem;
		margin-bottom: 20px;
	}

	.quiz-btn {
		background: #206EB1;
		color: white;
		border: none;
		padding: 12px 30px;
		border-radius: 16px;
		font-weight: 600;
		transition: all 0.3s;
		box-shadow: 0 3px 10px rgba(0,102,161,0.3);
	}

	.quiz-btn:hover {
		background: #005080;
		transform: translateY(-2px);
		box-shadow: 0 5px 15px rgba(0,102,161,0.4);
	}

	.offer-card {
		background: #fff;
		color: white;
	}

	.offer-card::before {
		color: rgba(255,255,255,0.2);
	}

	.offer-card .card-title {
		color: white;
	}

	.discount-text {
		font-size: 1.1rem;
		margin-bottom: 20px;
		font-weight: 600;
	}

	.offer-btn:hover {
		background: #f0f0f0;
		transform: translateY(-2px);
	}

	.product-image {
		width: 100%;
		max-width: 250px;
		height: auto;
		margin-top: 10px;
	}

	/* Responsive */
	@media (max-width: 768px) {
		.pet-container {
			flex-direction: column;
		}
		
		.pet-cards {
			flex-direction: column;
		}
		
		.pet-image {
			flex: 0 0 auto;
			max-width: 300px;
			margin: 0 auto;
		}
		
		.pet-title {
			font-size: 36px;
		}
		
		.card-container {
			margin-top: 0px;
		}
	
		.main-title {
			font-size: 44px;
			line-height: 44px;
		}
		
		.card-container {
			grid-template-columns: 1fr;
		}

		.wdfeatured-products {
			.tab-title {
				font-size: 32px;
				line-height: 32px;
			}
		}
	}
	
}

@media(max-width:767px) {
	.page-index {
		.home-tab-main {
			padding-top:var(--section-spacing);
		}
		.hero-section {
			background: url(/themes/wdg041_petstore_child/assets/img/sfondo_mobile_top.png) #f2e0ee;
			background-size: contain;
			min-height: 100vh;
			position: relative;
			overflow: hidden;
			padding: 60px 0;
			z-index:0;
		}
		
		.tabs .nav-tabs {
			&:after {
				z-index: -1;
				position: relative;
				top: -21px;
			}
			
		}
		
		.product-card {
			padding-top:30px;
		}
		
		.product-card.cane, .product-card.gatto, .product-card.offerte {
			background-position: 200px 20px;
			height: 240px;
			background-size: auto 220px;
		}
		
		.homecanigatti-section.homegatti, .homecanigatti-section.homecani {
			min-height: fit-content;
			height: auto;
			padding-top:var(--section-spacing);
			padding-bottom:var(--section-spacing);
			.homecanigatti-card {
				.pet {
					position: absolute;
					.homecanigatti-dog__img {
						max-height: 100px;
						margin-right: 30px;
					}
				}
				.homecanigatti-content {
					margin-top: -29px;
				}
				
			}
		}
	}
}
/* Products */
body .products {
	.product-title, .product-price-and-shipping { 
		text-align: left;
		padding: 0 10px;
		color:var(--main-color);
	}
	.product-miniature .thumbnail-container .product-description .product-title a, #product_comparison .product-miniature .product-description .product-title > a
	/*.product-miniature .thumbnail-container .product-description .product-title a:hover, 
	#product_comparison .product-miniature .product-description .product-title>a:hover */ {
		color: var(--main-color);
		text-align:left;
	}
	
	.product-miniature .thumbnail-container .product-flags li {
		background: var(--main-color);
		color: #fff;
		padding: 5px 10px;
		border-radius: var(--border-radius);
	}
}

/* ============================================
   Home Cani/Gatto - Section Styles
   ============================================ */

/* Section wrapper */
.homecanigatti-section.homecani {
	background: url(../img/sfondo_cani.png);    
	background-size: 100% 800px;    
	height: 600px;    
	min-height: 800px;    
}
.homecanigatti-section.homegatti {
	background: url(../img/sfondo_gatti.png);    
	background-size: 100% 800px;    
	height: 600px;    
	min-height: 800px;    
}
.homecanigatti-section {
	position: relative;    
	background-size: 100% 800px;    
	padding: 60px 0;    
	overflow: hidden;    
	height: 600px;    
	background-repeat: no-repeat;    
	min-height: 800px;    
	background-position: center;    
	display: flex;    
	align-content: center;    
	justify-content: center;    
	align-items: center;
}
@media (min-width:1300px) {	
	.homecanigatti-section {
		.container {			
			min-width: 1200px;		
		}	
	}
}

/* ---- Main Card ---- */
.homecanigatti-card {
	height:350px;
	background: #ffffff;
	border-radius: 20px;
	overflow: visible;
	position: relative;
	z-index: 2;
	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06);
	.pet {
		position: absolute;
		display: flex;
		right: 0;
		top: -50px;
	}
}

/* ---- Content area (left) ---- */
.homecanigatti-content {
  padding: 40px 30px 40px 45px;
}

.homecanigatti-content__subtitle {
    display: block;    font-size: 16px;    color: var(--primary-bg-color);    font-weight: 400;    margin-bottom: 4px;    text-align: left;
}

.homecanigatti-content__title {
	font-size: 48px;    font-weight: 800;    color: #1a1a2e;    margin: 0 0 30px;    line-height: 1.1;    text-align: left;	color: var(--primary-bg-color);
}

/* ---- Category cards row ---- */
.homecanigatti-categories {
  margin-top: 10px;
}

/* Category card (shared) */
.homecanigatti-catcard {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  border-radius: 16px;
  padding: 20px;
  min-height: 150px;
  position: relative;
  overflow: hidden;
  text-decoration: none;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.homecanigatti-catcard:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
  text-decoration: none;
}

.homecanigatti-catcard__title {
  font-size: 22px;
  font-weight: 700;
  color: var(--primary-bg-color);
  margin: 0 0 14px;
  position: relative;
  z-index: 2;
}

/* Button styles */
.homecanigatti-catcard__btn {
  display: inline-block;
  padding: 10px 22px;
  border-radius: var(--border-radius);
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  position: relative;
  z-index: 2;
  transition: all 0.2s ease;
}

/*.homecanigatti-catcard__btn--filled {
  background-color: #3a7cc3;
  color: #ffffff;
  border: 2px solid #3a7cc3;
}*/

/*.homecanigatti-catcard:hover .homecanigatti-catcard__btn--filled {
  background-color: #2d6aae;
  border-color: #2d6aae;
}

.homecanigatti-catcard__btn--outline {
  background-color: #fff;
  color: var(--primary-bg-color);
}*/

.homecanigatti-catcard:hover .homecanigatti-catcard__btn--outline {
  background-color: var(--primary-bg-color);
  color: #ffffff;
}

/* Category card image */
.homecanigatti-catcard__img {
  position: absolute;
  bottom: -30%;
  right: 0;
  max-width: 55%;
  max-height: 100%;
  object-fit: contain;
  z-index: 1;
}

/* Blue card (Igiene) */
.homecanigatti-catcard--blue {
  background: linear-gradient(135deg, #e8f4fd 0%, #d0e8f7 100%);
  margin-bottom:20px;
}

/* Pink card (Toelettatura) */
.homecanigatti-catcard--pink {
  background: linear-gradient(135deg, #f8e8f0 0%, #f0d8e8 100%);
}

/* ---- Dog image (right) ---- */
.homecanigatti-dog {
  position: relative;
  height: 100%;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}

.homecanigatti-dog__img {
  max-width: 100%;
  max-height: 420px;
  object-fit: contain;
  object-position: bottom center;
  margin-top: -40px;
  position: relative;
  z-index: 3;
}

/* ============================================
   Responsive Breakpoints
   ============================================ */

/* Large screens */
@media (min-width: 1200px) {
  .homecanigatti-dog__img {
    max-height: 460px;
    margin-top: -60px;
  }
}

/* Tablets portrait */
@media (max-width: 767px) {
	.homecanigatti-section {
		padding: 40px 0;
		display: block;
	}
	.homecanigatti-section.homecani {
		background: url(/themes/wdg041_petstore_child/assets/img/sfondo_mobil_cani.png) #e3eeff;
		background-size: contain;
	}
	.homecanigatti-section.homegatti {
		background: url(/themes/wdg041_petstore_child/assets/img/sfondo_mobil_gatti.png) #ffee98;
		background-size: contain;
	}

	.homecanigatti-card {
		border-radius: 16px;
		height:auto;
		.pet {
			display:block;
			position:relative;
			top:0px;
		}
		
		.homecanigatti-dog {
			justify-content: end;
		}
	}

	.homecanigatti-content {
		padding: 25px 20px;
	}

	.homecanigatti-content__title {
		font-size: 32px;
	}

	.homecanigatti-catcard {
		min-height: 150px;
		padding: 14px;
	}

	.homecanigatti-catcard__title {
		font-size: 16px;
		margin-bottom: 10px;
	}

	.homecanigatti-catcard__btn {
		padding: 8px 16px;
		font-size: 12px;
	}

	.homecanigatti-dog__img {
		max-height: 260px;
		margin-top:0;
	}

}

/* Mobile */
@media (max-width: 550px) {
  .homecanigatti-section {
    padding: 80px 30px;
	.container {
		margin-top: 30px;
	}
  }

  .homecanigatti-content {
    padding: 20px 16px;
  }

  .homecanigatti-content__subtitle {
    font-size: 14px;
  }

  .homecanigatti-content__title {
    font-size: 38px;
    margin-bottom: 16px;
  }

  .homecanigatti-catcard {
    min-height: 130px;
    padding: 12px;
    border-radius: 12px;
  }

  .homecanigatti-catcard__title {
    font-size: 20px;
    margin-bottom: 8px;
  }

  /*.homecanigatti-catcard__btn {
    padding: 6px 14px;
    font-size: 13px;
  }*/

  .homecanigatti-dog__img {
    max-height: 200px;
  }

}

/* Article */
article {
	margin-bottom:var(--section-min-spacing);
	.thumbnail-container {
		border:none!important;
		.wdproduct-image {
			border:1px solid var(--border-color);
			border-radius:var(--border-radius);
		}
	}
	.product-price-and-shipping {
		.price {
			color:#000;
		}
	}
	.buttons {
		float: none;
		margin: 0;
		width: 100%;
		.product-add-to-cart .btn-default {
			width:100%;
			padding: 10px 20px;
			font-size: 14px;
			background-color:#fff;
			color:var(--main-color);
			border: solid 1px var(--main-color);
			.loading {
				display: none;
			}
			&.add-to-cart-disable {
				color: #ccc;
    			border-color: #ccc;
			}
		}
	}
	.product-manufacturer {
		text-align: left;
		padding: 0 10px;
		margin-bottom: 0!important;
		color: #363636;
		font-size: 14px;
		display: inline-block;
		width: 100%;
	}
}

@media(max-width:767px) {
	article {
		& .buttons {
			.product-add-to-cart .btn-default {
				span:not(.loading) {
					/*display: none;*/
					/*&:after {
						content:'Aggiungi';
						display:inline-block;
					}*/
				}
			}
		}
	}
}

/* Listing / Offerte */

.page-category, .page-prices-drop, .page-manufacturer {
	
	#left-column {
		.wdtext {
			font: 600 20px / 20px var(--secondary-font);
			background: none;
			color: var(--main-color) !important;
			padding: 0 !important;
		}
		.block-categories {
			display:none;
		}
		.new-products {
			border:none;
			.all-product-link {
				float: left !important;
			}
		}
		
		#search_filters_wrapper {
			border-bottom: solid 1px var(--border-color);
			border:none;
			.wdtext {
				 background: none;
				 color:var(--main-color)!important;
			}
			#search_filters {
				#_desktop_search_filters_clear_all, .wdtext  {
					display:none;
				}
				.facet {
					&:not(.collapsed) {
						ul:has(a[href*="Fase+di+Vita-Adulto"]) { /* Fase di vita */
							display: flex;
							flex-direction: column;
							li:has(a[href*="Fase+di+Vita-Cucciolo"]) {
								order:0;
							}
							li:has(a[href*="Fase+di+Vita-Adulto"]) {
								order:1;
							}
							li:has(a[href*="Fase+di+Vita-Senior"]) {
								order:2;
							}
						}
					}
					p {
						color:var(--main-color);
					}
					border-top: solid 1px var(--border-color);
					.facet-title {
						color:var(--main-color)!important;
					}
					.facet-label {
						a {
							color:var(--main-color);
							&[href*="q=Fase+di+Vita-Cucciolo"]::after {
								content:'0-12 mesi';
								display: block;
                                font-size: 12px;
							}
							&[href*="q=Fase+di+Vita-Adulto"]::after {
								content:'1-7 anni';
								display: block;
                                font-size: 12px;
							}
							&[href*="q=Fase+di+Vita-Senior"]::after {
								content:'8+ anni';
								display: block;
                                font-size: 12px;
							}
						}
					}
				
					/* Accordion per facet */
				
					border-bottom: 1px solid #e5e5e5;
					padding: 15px 0;

					.h6.facet-title {
						cursor: pointer;
						position: relative;
						padding-right: 25px;
						margin-bottom: 0px;
						user-select: none;
						font-size:20px;
						line-height:50px;

						&::after {
						    content: '›';
                            position: absolute;
                            right: 10px;
                            top: 50%;
                            transform: translateY(-50%) rotate(270deg);
                            font-size: 50px;
                            font-family: Arial;
                            font-weight: 300;
                            transition: transform 0.3s ease;
						}
					}

					&.collapsed {
						.h6.facet-title::after {
						  transform: translateY(-50%) rotate(90deg);
						}
						.show-all-link {
							display:none;
						}
						ul:not(.collapse.in) {
						  display: none;
						}
						ul.collapse.in {
						  &+a.show-all-link {
							display:block;
						  }
						}						
						
					}

					ul {
						list-style: none;
						padding: 0;
						margin: 0;

						li {
						  display: block;

						  &:nth-child(n+11) {
							display: none;
						  }
						}
					}

					&.expanded {
						ul li {
						  display: block;

						  &:nth-child(n+11) {
							display: block;
						  }
						}

						.show-all-link {
						  display: none!important;
						}
					}

					.show-all-link {
						display: block;
						margin-top: 10px;
						color: #007bff;
						cursor: pointer;
						font-size: 14px;
						text-decoration: none;

						&:hover {
						  text-decoration: underline;
						}
					}

					&.few-items {
						.show-all-link {
						  display: none;
						}
					}

				}
				
				
			}
		}
		
	}
	
	#content-wrapper {		
		#js-product-list-header {
			h1 {
				color:var(--main-color);
				font-weight:700;
				font-size: 44px;
				line-height: 44px;
                margin-bottom: 30px;
			}
		}
		#products {
			.pagination {
				border:none;
			}
			.products-selection {
				border: none;
				border: none;
				.total-products,.showing {	
					display:none!important;
				}
				
			}
			color:var(--main-color);
			.products-sort-order .select-title {
				color:#000;
				font-weight:bold;
				background-color: var(--paletteCiano);
                border: none;
			}
			.sort-by-row {
				.sort-by {
					color:#000;
				}
			}
			.active_filters {
				background: transparent;
				.active-filter-title {
					color:#000;
				}
				.filter-block {
					background-color:var(--paletteCiano);
					border-radius: var(--border-radius);
				}
			}
			
		}
	}
}


@media(min-width:1240px) {	
	.page-category, .page-prices-drop, .page-manufacturer  {
		#content-wrapper {		
			#js-product-list-header {
				h1 {
					color:var(--main-color);
				}
			}
			#products {			
				#js-product-list {
					margin-top:80px;
				}
				
				.products-selection {
					position: absolute;
					left: calc(100% - 500px);
					margin-bottom: 100px;
					.row.sort-by-row {
						width:500px;
					}
				}
			}
		}
	}
}

/* Product */
.page-product {
	.product-container {
		.pb-left-column {
			.page-content {
				.images-container {
					.wdimage-zoom {
						border:solid 1px var(--border-color);
						border-radius: var(--border-radius);
					}
				}
			}
			.js-qv-mask .thumb-container {
				margin: 0 5px;
				padding: 5px 0;
				margin-top: 20px;
				border: solid 1px var(--border-color);
				border-radius: var(--border-radius);
			}
		}
		.pb-right-column {
			h1.wd-producttitle {
				color:var(--main-color);
				font-size:44px;
				line-height:44px;
				font-weight: 700;
				border:none;
			}
			.product-description-short {
				color:var(--main-color);
			}
			.product-manufacturer {
				a {
					color:var(--main-color);
				}
				text-decoration: underline;
			}
			.product-prices {
				margin:0;
				.product-prices-inner {
					margin:0;
				}
				.current-price {
					font-size: 36px;
					line-height: 36px;
					font-weight: 700;
				}
			}
			.peso-web {
				color:var(--main-color);
				font-size: 14px;
				margin-bottom: 14px;
				margin-top:-15px;
			}
			#product_comments_block_extra, .tax-shipping-delivery-label,.payments {
				display:none;
			}
			.product-information {
				color:var(--main-color);
				.pseudo-variants+.pseudo-variants{
					display:none;
				}
			}
			.product-add-to-cart {
				color:var(--main-color);
				.btn.add-to-cart {
					min-height: 44px;
					i {
						background-position: 0px -2px;
					}
				}
				.form-control {
					border: none;
				}
				a, a:hover {
					color:var(--main-color);
				}
				/*.input-group.bootstrap-touchspin {
					border: 1px solid var(--palette1Blu);
					color: var(--main-color);
					padding: 0px 13px;
					border-radius: var(--border-radius);
					.btn-touchspin {
						border:none;
						color:var(--main-color);
					}
				}*/
				.wishlist a, .compare a  {
					&:hover::after {
						color:var(--main-color-hover);
					}
					&::after {
						color:var(--main-color);
					}
				}
			}
			.pseudo-variants {
				color:var(--main-color);
				.variant-title {
					color:var(--main-color);
				}
				.variants-container .pseudo-variant {
					background-color: #F5F5F5;
					color:var(--main-color);
					border:none;
					border-radius:var(--border-radius);
					&:hover,&.selected {
						background-color: var(--paletteArancio);
						color:#fff;						
					}
					text-align: left;
				}
			}
			/* Proteina Principale */
			.proteina-principale {
				margin: 10px 0;
				float: left;
    			clear: left;
			}
			.proteina-principale .proteina-label {
				background: url(/themes/wdg041_petstore_child/assets/img/ciotola.png) #f8f8f8 !important;
                background-repeat: no-repeat !important;
                background-position-x: center !important;
                background-position-y: 15px !important;
                background-size: auto 30px !important;
                font-weight: 600;
                font-size: 14px;
                color: var(--main-color);
                margin: 10px 0;
                padding: 20px 40px;
				padding-top: 50px;
                border-radius: var(--border-radius);
                border: 1px solid #eee;
                display: block;
                width: fit-content;
			}
			.product_shipping_info,
			.product_shipping_cost,
			.product_payments {
				display: flex;
				align-items: center;
				gap: 8px;
				line-height: 30px;
				font-weight: bold;
				float: left;
				clear: left;
			}
			.product_payments {
				margin-bottom: 20px;
			}
			.product_shipping_info .material-icons,
			.product_shipping_cost .material-icons,
			.product_payments .material-icons {
				font-size: 24px;
				line-height: 1;
				flex-shrink: 0;
			}
			.product_shipping_cost .highlight {
				color: var(--paletteArancio);
			}
			.social-sharing {
				display: none;
			}
		}
	}
	.cross-sell {
		float: left;
		h2 {
			text-align: center;
			font-size: 32px;
			margin-bottom: 20px;
			color: var(--main-color);
		}
		.product-grid.col-lg-3 {
			width: 24%;
		}
	}
}

body:not(#index)  {
	.hometop {
		display:none;
	}
}

#module-wdcompare-compare {
	#product_comparison {

		.product-miniature {
			display: table-cell!important;
		}
	}
}

/* Cart */
.page-cart, .page-order {
	.main-breadcrumb {
		display:none;
	}
	.content_wrap {
		padding-top:20px;
	}
	.product-line-grid-right .cart-line-product-actions .remove-from-cart, .product-line-grid-right .product-price .remove-from-cart {
		color:var(--main-color);
	}
}

.page-cart  {
 .cart-grid {
	.card {
		border:none;
		h1 {
			font-size: 48px;
			line-height: 48px;
			font-weight: 700;
		}
	}
 }
}

.page-order {
	.content_wrap:before {
		content: 'Pagamento';
		color: var(--main-color) !important;
		font-size: 48px;
		line-height: 48px;
		font-weight: 700;
		margin-bottom: 50px;
        display: block;
	}
	
}

.page-order-confirmation {
	#content-hook_order_confirmation .h1.card-title {
		font-weight: 700;
		font-size: 32px;
		color: var(--main-color);
		margin-bottom: 30px;
		.done {
			float: right;
		}
	}
	#order-items {
		.card-title.h3 {
			color:var(--main-color);
			font-weight: 700;
		}
		.image img {
			width: auto;
			max-height: 150px;
		}
		.total-value {
			color: var(--main-color);
		}

	}
	#order-details {
		padding-left: 0;
		.h3.card-title {
			text-transform: uppercase;
		}
	}
	#content-hook-order-confirmation-footer {
		.featured-products {
			margin-top: 50px;
		}
	}
}

/* Fix: .blockcart z-index deve essere sopra .dropdown-backdrop (z-index: 990)
   altrimenti su dispositivi touch il backdrop intercetta i click dentro .cart_block */
.blockcart {
	.cart_block {
		z-index: 1000;
	}
}

@media (max-width:767px) {
	.page-cart  {
		.promo-name.card-block {
			.cart-summary-line {
				div.float-xs-right {
					float:left!important;
				}
			}
		}
	}
	.page-order {
		.container_wd_megamenu {
			display: none;
		}
		h1.h3.step-title {
			font-size:23px!important;
		}
	}
}
