
/* INDEX
----------------------------------------------------------------------------------------
01. Global Variables
02. General css
03. Header css
04. Hero css
05. About Us css
06. Why Choose Us css
07. Our Services css
08. Intro Video css
09. Latest Project css
10. How We Work css
11. Our Skills css
12. Our Testimonials css
13. Our Blog css
14. Footer css
15. About Us Page css
16. Services Page css
17. Service Single css
18. Blog Archive css
19. Blog Single css
20. Project Page css
21. Product Single css
22. Image Gallery css
23. FAQs Page css
24. Contact Us Page css
25. 404 Error Page css 
26. Responsive css
27. Products Page css
28. Cart css
29. Fast Order Page css
30. My Orders Page css
-------------------------------------------------------------------------------------- */




.floating-cart-button {
	position: fixed;
	right: 20px;
	bottom: 20px;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #000000;
	color: #ffffff;
	text-decoration: none;
	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.18);
	z-index: 1100;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

	.floating-cart-button:hover {
		color: #ffffff;
		transform: translateY(-2px);
		box-shadow: 0 14px 28px rgba(0, 0, 0, 0.22);
	}

	.floating-cart-button i {
		font-size: 20px;
	}

.floating-cart-badge {
	position: absolute;
	top: -4px;
	right: -4px;
	min-width: 22px;
	height: 22px;
	padding: 0 6px;
	border-radius: 999px;
	background: #dc3545;
	color: #ffffff;
	font-size: 12px;
	font-weight: 700;
	line-height: 22px;
	text-align: center;
}

@media (max-width: 767.98px) {
	.floating-cart-button {
		right: 16px;
		bottom: 16px;
		width: 56px;
		height: 56px;
	}
}





/************************************/
/*** 	 00. Acccount Css    	  ***/
/************************************/
.page-account {
	background: #f8f8f8;
	min-height: 70vh;
}

.account-sidebar {
	background: #fff;
	border: 1px solid #ececec;
	padding: 30px;
}

.account-sidebar-header {
	margin-bottom: 25px;
	padding-bottom: 20px;
	border-bottom: 1px solid #ececec;
}

	.account-sidebar-header h3 {
		font-size: 24px;
		margin: 0;
	}

.account-card {
	background: #fff;
	border: 1px solid #ececec;
	padding: 40px;
}

.account-nav {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

	.account-nav a {
		display: flex;
		align-items: center;
		padding: 14px 16px;
		color: #222;
		font-weight: 600;
		transition: all .2s ease;
		border-left: 3px solid transparent;
	}

		.account-nav a:hover {
			background: #f7f7f7;
			color: #8F0000;
		}

		.account-nav a.active {
			background: #f7f7f7;
			border-left-color: #8F0000;
			color: #8F0000;
		}





/************************************/
/*** 	 01. Global Variables	  ***/
/************************************/	

:root{
	--primary-color			: #192324;
	--secondery-color		: #F8F8F8;
	--text-color			: #283132;
	--accent-color			: #8F0000;
	--group-color			: #D9822B;
	--white-color			: #FFFFFF;
	--divider-color			: #EAF0EC;
	--dark-divider-color	: #FFFFFF1A;
	--error-color			: rgb(230, 87, 87);
	--default-font			: "Hanken Grotesk", sans-serif;
}





/************************************/
/*** 	   02. General css		  ***/
/************************************/

body{
	font-family: var(--default-font);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.6em;
	background-color: var(--white-color);
	color: var(--text-color);
}

p{
	line-height: 1.7em;
	margin-bottom: 1.6em;
}

h1,
h2,
h3,
h4,
h5,
h6{
	margin :0;
	font-weight: 700;
	line-height: 1.1em;
	color: var(--primary-color);
}

figure{
	margin: 0;
}

img{
	max-width: 100%;
}

a{
	text-decoration: none;
}

.btn-plain-icon{
	border: none;
	background: transparent;
	padding: 0;
	color: #000000;
}

.skip-link{
	position: absolute;
	top: -60px;
	left: 8px;
	z-index: 10000;
	background: #ffffff;
	color: #b30000;
	padding: 10px 18px;
	border-radius: 4px;
	font-weight: 600;
	transition: top .15s ease;
}
.skip-link:focus-visible{
	top: 8px;
	outline: 2px solid #b30000;
	outline-offset: 2px;
}

a:hover{
	text-decoration: none;
}

a:focus{
	text-decoration: none;
}

:focus-visible{
	outline: 2px solid #b30000;
	outline-offset: 2px;
}

html,
body{
	width: 100%;
	overflow-x: clip;
}

/* Reserva sempre lo spazio per la scrollbar (evita il layout shift)
   e annulla il padding-right inline che Bootstrap 5 aggiunge al body */
html {
	scrollbar-gutter: stable;
}

body.modal-open {
	padding-right: 0 !important;
}

.container{
	max-width: 1300px;
}

.container,
.container-fluid,
.container-lg,
.container-md,
.container-sm,
.container-xl,
.container-xxl{
    padding-right: 15px;
    padding-left: 15px;
}

.image-anime{
	position: relative;
	overflow: hidden;
}

.image-anime:after{
	content: "";
	position: absolute;
    width: 200%;
    height: 0%;
    left: 50%;
    top: 50%;
    background-color: rgba(255,255,255,.3);
    transform: translate(-50%,-50%) rotate(-45deg);
    z-index: 1;
}

.image-anime:hover:after{
    height: 250%;
    transition: all 600ms linear;
    background-color: transparent;
}

.reveal{
	position: relative;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    visibility: hidden;
    overflow: hidden;
}

.reveal img{
    height: 100%;
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -webkit-transform-origin: left;
    transform-origin: left;
}

.row{
    margin-right: -15px;
    margin-left: -15px;
}

.row > *{
	padding-right: 15px;
	padding-left: 15px;
}

.row.no-gutters{
    margin-right: 0px;
    margin-left: 0px;
}

.row.no-gutters > *{
    padding-right: 0px;
    padding-left: 0px;
}

.btn-default {
	position: relative;
	display: inline-block;
	background: var(--accent-color);
	color: var(--white-color);
	font-size: 16px;
	font-weight: 700;
	line-height: 1em;
	text-transform: capitalize;
	border: none;
	padding: 17px 46px 17px 20px;
	transition: all 0.5s ease-in-out;
	overflow: hidden;
	z-index: 0;
	border-radius: 0px;
	text-align: center;
}
.btn-shop-default {
	position: relative;
	display: inline-block;
	background: var(--accent-color);
	color: var(--white-color);
	font-size: 16px;
	font-weight: 700;
	line-height: 1em;
	text-transform: capitalize;
	border: none;
	padding: 15px 30px;
	transition: all 0.5s ease-in-out;
	overflow: hidden;
	z-index: 0;
	border-radius: 0px;
	text-align: center;
}
.btn-shop-default-light {
	position: relative;
	display: inline-block;
	background: transparent;
	color: #6c757d;
	font-size: 16px;
	font-weight: 700;
	line-height: 1em;
	text-transform: capitalize;
	border: none;
	padding: 15px 30px;
	transition: all 0.5s ease-in-out;
	overflow: hidden;
	z-index: 0;
	border-radius: 0px;
	border: 1px solid #6c757d;
}
	.btn-shop-default-light:hover {
		position: relative;
		display: inline-block;
		background: #6c757d;
		color: #ffffff;
		font-size: 16px;
		font-weight: 700;
		line-height: 1em;
		text-transform: capitalize;
		border: none;
		padding: 15px 30px;
		transition: all 0.5s ease-in-out;
		overflow: hidden;
		z-index: 0;
		border-radius: 0px;
		border: 1px solid #6c757d;
	}

.btn-shop-default:hover {
		background: #9d3939;
		color: var(--white-color);
}
	.btn-default:hover {
		background: transparent;
		color: var(--white-color);
	}

.btn-default::before{
	content: '';
    position: absolute;
    top: 50%;
    right: 0;
    width: 16px;
    height: 16px;
    background-image: url(../images/arrow-white.svg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    transform: translate(-20px, -50%);
    transition: all 0.4s ease-in-out;
}

.btn-default:hover::before{
	transform: translate(-18px, -50%);
}

.btn-default::after{
	content: '';
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: -15%;
	right: 0;
    width: 0;
    height: 106%;
    background: var(--primary-color);
    transform: skew(45deg);
    transition: all 0.4s ease-in-out;
    z-index: -1;
}

.btn-default:hover:after{
	width: 100%;
    transform: skew(0deg);
    left: 0;
}

.btn-default.btn-highlighted{
	background-color: var(--white-color);
	color: var(--accent-color);
}

.btn-default.btn-highlighted:hover{
	color: var(--white-color);
}

.btn-default.btn-highlighted::before{
	background-image: url(../images/arrow-accent.svg);
}

.btn-default.btn-highlighted:hover::before{
    filter: brightness(0) invert(1);
}

.btn-default.btn-highlighted::after{
	background-color: var(--accent-color);
}

.cb-cursor:before{
	background: var(--accent-color);
}

.preloader{
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1000;
	background-color: var(--accent-color);
	display: flex;
	align-items: center;
	justify-content: center;
}

.loading-container,
.loading{
	height: 100px;
	position: relative;
	width: 100px;
	border-radius: 100%;
}

.loading-container{
	margin: 40px auto;
}

.loading{
	border: 1px solid transparent;
	border-color: transparent var(--white-color) transparent var(--white-color);
	animation: rotate-loading 1.5s linear 0s infinite normal;
	transform-origin: 50% 50%;
}

.loading-container:hover .loading,
.loading-container .loading{
	transition: all 0.5s ease-in-out;
}

#loading-icon{
	position: absolute;
	top: 50%;
	left: 50%;
	max-width: 66px;
	transform: translate(-50%, -50%);
}

@keyframes rotate-loading{
	0%{
		transform: rotate(0deg);
	}

	100%{
		transform: rotate(360deg);
	}
}

.section-row{
	margin-bottom: 80px;
}

.section-row .section-title{
	margin-bottom: 0;
	margin-right: 30px;
}

.section-btn{
	text-align: end;
}

.section-title-content{
	margin-left: 120px;
}

.section-title-content p{
	margin: 0;
}

.section-title{
	margin-bottom: 40px;
}

.section-title h3{
	display: inline-block;
	position: relative;
	font-size: 16px;
    font-weight: 500;
	line-height: 1.6em;
    text-transform: capitalize;
    color: var(--accent-color);
	padding-left: 35px;
    margin-bottom: 20px;
}

.section-title h3::before{
	content: '';
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    background: url('../images/icon-sub-heading.svg');
	background-repeat: no-repeat;
	background-position: left center;
	background-size: cover;
    width: 24px;
    height: 5px;
}

.section-title h1{
	font-size: 80px;
	font-weight: 700;
	letter-spacing: -0.02em;
	margin-bottom: 0;
	cursor: none;
}

.section-title h2{
	font-size: 46px;
	font-weight: 700;
	letter-spacing: -0.02em;
	margin-bottom: 0;
	cursor: none;
}

.section-title h1 span,
.section-title h2 span{
	color: var(--accent-color);
}

.section-title p{
	margin-top: 30px;
	margin-bottom: 0;
}


.section-title-content.dark-section p,
.section-title.dark-section p,
.section-title.dark-section h2,
.section-title.dark-section h3{
	color: var(--white-color);
}

.help-block.with-errors ul{
	margin: 0;
	text-align: left;
}

.help-block.with-errors ul li{
	color: var(--error-color);
	font-weight: 500;
	font-size: 14px;
}

/************************************/
/**** 	   03. Header css		 ****/
/************************************/
.header-user {
	position: relative;
	display: flex;
	align-items: center;
	margin-left: 18px;
}

.user-menu {
	position: relative;
}

.user-menu__toggle {
	width: 46px;
	height: 46px;
	border: 1px solid rgba(255,255,255,0.18);
	border-radius: 50%;
	background: transparent;
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	text-decoration: none;
	cursor: pointer;
	transition: all 0.3s ease;
}

	.user-menu__toggle:hover {
		background: rgba(255,255,255,0.08);
		color: #fff;
		transform: translateY(-1px);
	}

.user-menu__dropdown {
	position: absolute;
	top: calc(100% + 12px);
	right: 0;
	min-width: 220px;
	background: #fff;
	border-radius: 14px;
	box-shadow: 0 18px 40px rgba(0,0,0,0.12);
	padding: 10px;
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: all 0.25s ease;
	z-index: 999;
}

.user-menu:hover .user-menu__dropdown,
.user-menu.is-open .user-menu__dropdown {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.user-menu__item {
	width: 100%;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 14px;
	border: 0;
	background: transparent;
	color: #1f1f1f;
	text-decoration: none;
	border-radius: 10px;
	font-size: 15px;
	transition: background 0.2s ease, color 0.2s ease;
}

	.user-menu__item:hover {
		background: #f5f5f5;
		color: #000;
	}

.user-menu__item--button {
	text-align: left;
	cursor: pointer;
}

.user-menu__dropdown form {
	margin: 0;
}

@media (max-width: 991.98px) {
	.header-user {
		margin-left: 10px;
	}

	.user-menu__dropdown {
		right: -10px;
		min-width: 200px;
	}
}


header.main-header {
	position: relative;
	z-index: 100;
	background-color: rgba(0, 0, 0, 0.4);
}

header.main-header .header-sticky{
	position: relative;
	top: 0;
	z-index: 100;
}

header.main-header .header-sticky.hide{
	transform: translateY(-100%);
	transition: transform 0.3s ease-in-out;
	border-radius: 0;
}

header.main-header .header-sticky.active{
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	border-radius: 0;
    transform: translateY(0);
	background: var(--primary-color);
	border-bottom: 1px solid var(--dark-divider-color);
}

.navbar{
	padding: 30px 0;
	align-items: center;
	border-bottom: 1px solid var(--dark-divider-color);
}

header.main-header .header-sticky.active .navbar{
	border-bottom: none;
}

.navbar-brand{
	padding: 0;
	margin: 0;
}

.main-menu .nav-menu-wrapper{
	flex: 1;
	text-align: center;
	margin-left: 40px;
}

.main-menu .nav-menu-wrapper > ul{
	align-items: center;
	display: inline-flex;
}

.main-menu ul li{
	margin: 0 6px;
	position: relative;
}

.main-menu ul li a{
	font-family: var(--accent-font);
	font-size: 16px;
	font-weight: 400;
	padding: 15px 14px !important;
	color: var(--white-color);
	text-transform: capitalize;
	transition: all 0.3s ease-in-out;
}

.main-menu ul li.submenu > a:after{
	content: '\f107';
	font-family: 'FontAwesome';
	font-weight: 900;
	font-size: 14px;
	margin-left: 8px;
}

.main-menu ul li a:hover,
.main-menu ul li a:focus{
	color: var(--accent-color);
}

.main-menu ul ul{
	visibility: hidden;
	opacity: 0;
	transform: scaleY(0.8);
	transform-origin: top;
	padding: 0;
	margin: 0;
	list-style: none;
	width: 230px;
	position: absolute;
	left: 0;
	top: 100%;
	background-color: var(--accent-color);
	transition: all 0.3s ease-in-out;
	text-align: left;
}

.main-menu ul li.submenu:first-child ul{
    width: 230px;
}

.main-menu ul ul ul{
	left: 100%;
	top: 0;
	text-align: left;
}
.main-menu ul li:hover > ul{
	visibility: visible;
	opacity: 1;
	transform: scaleY(1);
    padding: 5px 0;
}

.main-menu ul li.submenu ul li.submenu > a:after{
    content: '\f105';
    float: right;
}

.main-menu ul ul li{
	margin: 0;
	padding: 0;
}

.main-menu ul ul li a{
	color: var(--white-color);
	padding: 6px 20px !important;
	transition: all 0.3s ease-in-out;
}

.main-menu ul li:hover > ul{
	visibility: visible;
	opacity: 1;
	transform: scaleY(1);
    padding: 5px 0;
}

.main-menu ul ul li a:hover,
.main-menu ul ul li a:focus{
	color: var(--primary-color);
	background-color: transparent;
	padding: 6px 20px 6px 23px !important;
}

.responsive-menu,
.navbar-toggle,
.internal-icon-responsive{
	display: none;
}

.lang-menu {
	position: relative;
}

.lang-menu__toggle {
	width: 46px;
	height: 46px;
	border: 1px solid rgba(255,255,255,0.18);
	border-radius: 50%;
	background: transparent;
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	cursor: pointer;
	transition: all 0.3s ease;
}

	.lang-menu__toggle:hover {
		background: rgba(255,255,255,0.08);
		transform: translateY(-1px);
	}

.lang-menu__dropdown {
	position: absolute;
	top: calc(100% + 10px);
	right: 0;
	min-width: 120px;
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 15px 35px rgba(0,0,0,0.15);
	padding: 6px;
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: all 0.25s ease;
	z-index: 9999;
}

.lang-menu.is-open .lang-menu__dropdown {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

/* HOVER (desktop) */
.lang-menu:hover .lang-menu__dropdown {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.lang-menu__item {
	display: block;
	padding: 10px 14px;
	text-decoration: none;
	color: #222;
	border-radius: 8px;
	font-weight: 500;
}

	.lang-menu__item:hover {
		background: #f3f3f3;
	}

.responsive-menu{
	top: 0;
	position: relative;
}

.slicknav_btn {
	background: var(--accent-color);
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	margin: 0;
	border-radius: 50%;
	margin-left: 10px;
}

.slicknav_icon .slicknav_icon-bar{
	display: block;
	width: 100%;
	height: 3px;
	width: 22px;
	background-color: var(--white-color);
	border-radius: 6px;
	margin: 4px auto !important;
	transition: all 0.1s ease-in-out;
}

.slicknav_icon .slicknav_icon-bar:first-child{
	margin-top: 0 !important;
}

.slicknav_icon .slicknav_icon-bar:last-child{
	margin-bottom: 0 !important;
}

.navbar-toggle a.slicknav_btn.slicknav_open .slicknav_icon span.slicknav_icon-bar:nth-child(1){
    transform: rotate(-45deg) translate(-5px, 5px);
}

.navbar-toggle a.slicknav_btn.slicknav_open .slicknav_icon span.slicknav_icon-bar:nth-child(2){
    opacity: 0;
}

.navbar-toggle a.slicknav_btn.slicknav_open .slicknav_icon span.slicknav_icon-bar:nth-child(3){
    transform: rotate(45deg) translate(-5px, -5px);
}

.slicknav_menu{
	position: absolute;
    width: 100%;
	padding: 0;
	background: var(--accent-color);
}

.slicknav_menu ul{
	margin: 5px 0;
}

.slicknav_menu ul ul{
	margin: 0;
}

.slicknav_nav .slicknav_row,
.slicknav_nav li a{
	position: relative;
	font-family: var(--accent-font);
	font-size: 16px;
	font-weight: 400;
	text-transform: capitalize;
	padding: 10px 20px;
	color: var(--white-color);
	line-height: normal;
	margin: 0;
	border-radius: 0 !important;
	transition: all 0.3s ease-in-out;
}

.slicknav_nav a:hover,
.slicknav_nav a:focus,
.slicknav_nav .slicknav_row:hover{
	background-color: transparent;
	color: var(--primary-color);
}

.slicknav_menu ul ul li a{
    padding: 10px 20px 10px 30px;
}

.slicknav_arrow{
	font-size: 0 !important;
}

.slicknav_arrow:after{
	content: '\f107';
	font-family: 'FontAwesome';
	font-weight: 900;
	font-size: 12px;
	margin-left: 8px;
	color: var(--white-color);
	position: absolute;
	right: 15px;
    top: 15px;
	transition: all 0.3s ease-out;
}

.slicknav_open > a .slicknav_arrow:after{
    transform: rotate(-180deg);
	color: var(--primary-color);
}

/************************************/
/***        04. Hero css	      ***/
/************************************/

.hero{
	position: relative;
	background: url('../images/hero-bg.jpg');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	padding: 280px 0 250px;
	min-height: 100vh;
	margin-top: -118px;
}

.hero::before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	background: linear-gradient(180deg, rgba(25, 35, 36, 0) 0%, rgba(25, 35, 36, 0.4) 80.94%);
	height: 100%;
	width: 100%;
	z-index: 1;
}

.hero.hero-video .hero-bg-video{
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
}

.hero.hero-video .hero-bg-video video{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hero.hero-slider-layout{
	background: none;
	padding: 0;
}

.hero.hero-slider-layout .hero-slide{
	position: relative;
    padding: 280px 0 250px;
	min-height: 100vh;
}

.hero.hero-slider-layout .hero-slide::before{
	content: '';
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(180deg, rgba(25, 35, 36, 0) 0%, rgba(25, 35, 36, 0.4) 80.94%);
    width: 100%;
    height: 100%;
    z-index: 1;
}

.hero.hero-slider-layout .hero-slide .hero-slider-image{
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
}

.hero.hero-slider-layout .hero-slide .hero-slider-image img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hero.hero-slider-layout .hero-pagination{
	position: absolute;
    bottom: 50px;
	text-align: left;
	padding-left: calc(((100vw - 1300px) / 2));
	z-index: 2;
}

.hero.hero-slider-layout .hero-pagination .swiper-pagination-bullet{
    width: 12px;
    height: 12px;
    background: var(--white-color);
    opacity: 1;
    transition: all 0.3s ease-in-out;
    margin: 0 5px;
}

.hero.hero-slider-layout .hero-pagination .swiper-pagination-bullet-active{
    background-color: var(--accent-color);
}

.hero-content{
	position: relative;
	z-index: 2;
}

.hero-content .section-title h3,
.hero-content .section-title h1{
	color: var(--white-color);
}

.hero-content .section-title p{
	font-size: 22px;
	color: var(--white-color);
	width: 100%;
	max-width: 600px;
}

.hero-content .section-title h3::before{
	filter: brightness(0) invert(1);
}

.hero-content .btn-default.btn-highlighted{
	margin-left: 30px;
}

/************************************/
/***       05. About Us css 	  ***/
/************************************/

/************************************/
/***      05. Manifesto css       ***/
/************************************/

.manifesto {
	padding: 160px 0;
	background: var(--white-color);
}

.manifesto-text {
	max-width: 1060px;
	margin: 0 auto;
	text-align: center;
	font-size: clamp(30px, 4.2vw, 56px);
	font-weight: 600;
	line-height: 1.35em;
	letter-spacing: -0.02em;
	color: var(--primary-color);
	margin-bottom: 0;
}

.manifesto-text .split-word {
	display: inline-block;
	will-change: transform, opacity, filter;
}

@media only screen and (max-width: 991px) {
	.manifesto {
		padding: 110px 0;
	}
}

@media only screen and (max-width: 767px) {
	.manifesto {
		padding: 80px 0;
	}
}

.about-us {
	/*background-image: url('../images/section-bg-shape-1.svg');*/
	background-repeat: no-repeat;
	background-position: left center;
	background-size: contain;
	padding: 100px 0;
}

.about-us-images{
	position: relative;
	background-image: url(../images/about-us-bg-shape.svg);
	background-repeat: no-repeat;
	background-position: left 60px bottom 40px;
	background-size: auto;
	padding-right: 100px;
	padding-bottom: 180px;
	margin-right: 30px;
}

.about-img-1 figure,
.about-img-2 figure{
	display: block;
}

.about-img-1 img{
	width: 100%;
	object-fit: cover;
	aspect-ratio: 1 / 0.76;
}

.about-img-2{
	position: absolute;
	width: 100%;
	max-width: 385px;
	bottom: 0;
	right: 0;
}

.about-img-2 img{
	width: 100%;
	object-fit: cover;
	aspect-ratio: 1 / 0.76;
}

.experience-counter{
	position: absolute;
	top: 0;
	left: 0;
	height: 152px;
	width: 152px;
	display: flex;
	flex-wrap: wrap;
	align-content: center;
	justify-content: center;
	align-items: center;
	background-color: var(--accent-color);
	border: 6px solid var(--white-color);
	transform: translate(-50%, -6px);
	border-radius: 50%;
}

.experience-counter h3{
	font-size: 34px;
	color: var(--white-color);
	text-align: center;
	width: 100%;
	margin-bottom: 5px;
}

.experience-counter p{
	font-weight: 600;
	line-height: 1.4em;
	text-transform: capitalize;
	color: var(--white-color);
	text-align: center;
	margin-bottom: 0;
}

.feedback-counter{
	position: absolute;
	top: 0;
	right: 0;
	transform: rotate(-180deg) translate(20px, -20px);
    writing-mode: vertical-rl;
	display: flex;
	align-items: center;
}

.feedback-counter p{
	font-size: 16px;
	font-weight: 500;
	color: var(--white-color);
	height: 60px;
	width: 60px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--accent-color);
	border-radius: 50%;
	margin: 0 0 15px 0;
	transition: all 0.3s ease-in-out;
}

.feedback-counter:hover p{
	background-color: var(--primary-color);
}

.feedback-counter h3{
	font-size: 18px;
	font-weight: 500;
	text-transform: capitalize;
	width: calc(100% - 75px);
}

.about-us-content-body{
	position: relative;
	display: flex;
	flex-wrap: wrap;
	gap: 80px;
}

.about-us-content-body::before{
	content: '';
	position: absolute;
	right: 50%;
	top: 0;
	bottom: 0;
	transform: translateX(-50%);
	border: 1px solid var(--divider-color);
	width: 1px;
	height: 100%;
}

.about-us-content-info{
	width: calc(50% - 40px);
}

.about-us-content-list{
	margin-bottom: 40px;
}

.about-us-content-list ul{
	padding: 0;
	margin: 0;
	list-style: none;
}

.about-us-content-list ul li{
	position: relative;
	font-weight: 500;
	color: var(--primary-color);
	padding-left: 30px;
	margin-bottom: 15px;
}

.about-us-content-list ul li:last-child{
	margin-bottom: 0;
}

.about-us-content-list ul li::before{
	content: '\f058';
    position: absolute;
    font-family: 'FontAwesome';
    font-size: 20px;
    font-weight: 900;
    line-height: normal;
    color: var(--accent-color);
    display: inline-block;
    top: 2px;
    left: 0;
}

.about-us-contact-list{
	width: calc(50% - 40px);
}

.about-contact-item{
	display: flex;
	align-items: center;
	margin-bottom: 40px;
}

.about-contact-item:last-child{
	margin-bottom: 0;
}

.about-contact-item .icon-box{
	width: 40px;
	height: 40px;
	background-color: var(--accent-color);
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-right: 15px;
	transition: all 0.3s ease-in-out;
}

.about-contact-item:hover .icon-box{
	background-color: var(--primary-color);
}

.about-contact-item .icon-box figure{
	display: block;
	border-radius: 50%;
	overflow: hidden;
}

.about-contact-item .icon-box img{
	max-width: 40px;
	border-radius: 50%;
}

.about-contact-item .icon-box i{
	font-size: 18px;
	color: var(--white-color);
}

.about-contact-content{
	width: calc(100% - 55px);
}

.about-contact-content h3{
	font-size: 20px;
	text-transform: capitalize;
}

.about-contact-content p{
	font-weight: 500;
	color: var(--primary-color);
	text-transform: capitalize;
	margin-bottom: 0;
}

/************************************/
	/***     06. Why Choose Us css    ***/
	/************************************/

	.why-choose-us {
		padding: 100px 0;
		background-color: var(--secondery-color);
	}

	.why-choose-item {
		display: flex;
		border-bottom: 1px solid var(--divider-color);
		margin-bottom: 20px;
		padding-bottom: 20px;
	}

		.why-choose-item:last-child {
			border-bottom: none;
			margin-bottom: 0;
			padding-bottom: 0;
		}

		.why-choose-item .icon-box {
			position: relative;
			width: 60px;
			height: 60px;
			background-color: var(--divider-color);
			border-radius: 50%;
			display: flex;
			justify-content: center;
			align-items: center;
			margin-right: 20px;
			transition: all 0.4s ease-in-out;
		}

		.why-choose-item:hover .icon-box {
			background-color: transparent;
		}

		.why-choose-item .icon-box::before {
			content: '';
			position: absolute;
			top: 0;
			bottom: 0;
			left: 0;
			right: 0;
			background-color: var(--primary-color);
			border-radius: 50%;
			height: 100%;
			width: 100%;
			transform: scale(0);
			transition: all 0.3s ease-in-out;
		}

		.why-choose-item:hover .icon-box::before {
			transform: scale(1);
		}

		.why-choose-item .icon-box img {
			max-width: 24px;
			z-index: 1;
			transition: all 0.3s ease-in-out;
		}

		.why-choose-item:hover .icon-box img {
			filter: brightness(0) invert(1);
		}

	.why-choose-item-content {
		width: calc(100% - 80px);
	}

		.why-choose-item-content h3 {
			font-size: 20px;
			text-transform: capitalize;
			margin-bottom: 10px;
		}

		.why-choose-item-content p {
			color: var(--primary-color);
			margin-bottom: 0;
		}

	.why-choose-images {
		display: flex;
		flex-wrap: wrap;
		gap: 20px;
		margin-left: 30px;
	}

	.why-choose-img-box-1,
	.why-choose-img-box-2 {
		display: flex;
		gap: 20px;
		width: 100%;
	}

	.why-choose-img-1 figure,
	.why-choose-img-2 figure,
	.why-choose-img-3 figure,
	.why-choose-img-4 figure {
		display: block;
	}

	.why-choose-img-1 {
		width: calc(57% - 10px);
	}

		.why-choose-img-1 img {
			width: 100%;
			aspect-ratio: 1 / 0.756;
			object-fit: cover;
		}

	.why-choose-img-2 {
		width: calc(43% - 10px);
	}

		.why-choose-img-2 img {
			width: 100%;
			aspect-ratio: 1 / 1.01;
			object-fit: cover;
		}

	.why-choose-img-3 {
		width: calc(67% - 10px);
	}

		.why-choose-img-3 img {
			width: 100%;
			aspect-ratio: 1 / 0.746;
			object-fit: cover;
		}

	.why-choose-img-4 {
		width: calc(33% - 10px);
	}

		.why-choose-img-4 img {
			width: 100%;
			aspect-ratio: 1 / 1.55;
			object-fit: cover;
		}
	/************************************/
	/***     07. Our Services css     ***/
	/************************************/

	.our-services {
		padding: 100px 0;
	}

	.service-item {
		position: relative;
		height: calc(100% - 30px);
		margin-bottom: 30px;
	}

	.service-image a {
		display: block;
		cursor: none;
	}

		.service-image a figure::before {
			content: '';
			position: absolute;
			top: 0;
			left: 0;
			bottom: 0;
			right: 0;
			background: linear-gradient(360deg, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 105%);
			height: 100%;
			width: 100%;
			z-index: 1;
			transition: all 0.3s ease-in-out;
		}

	.service-image img {
		width: 100%;
		object-fit: cover;
		aspect-ratio: 1 / 1.36;
		transition: all 0.4s ease-in-out;
	}

	.service-item:hover .service-image img {
		transform: scale(1.1);
	}

	.service-btn {
		position: absolute;
		top: 40px;
		right: 40px;
		z-index: 1;
	}

		.service-btn a {
			background-color: var(--accent-color);
			height: 60px;
			width: 60px;
			border-radius: 50%;
			display: flex;
			justify-content: center;
			align-items: center;
			transition: all 0.4s ease-in-out;
		}

			.service-btn a:hover {
				background-color: var(--primary-color);
			}

			.service-btn a img {
				max-width: 20px;
				transform: rotate(-45deg);
				transition: all 0.4s ease-in-out;
			}

			.service-btn a:hover img {
				transform: rotate(0)
			}

			.service-content {
				position: absolute;
				bottom: 30px;
				/* left: 40px; */
				/* right: 40px; */
				padding: 10px 40px;
				z-index: 1;
				width: 100%;
				background-color: rgba(0, 0, 0, 0.6);
			}

		.service-content h3 {
			font-size: 20px;
			text-transform: capitalize;
			color: var(--white-color);
			margin-bottom: 10px;
		}

			.service-content h3 a {
				color: inherit;
			}

		.service-content p {
			color: var(--white-color);
			margin-bottom: 0;
		}

	.all-services-btn {
		text-align: center;
		margin-top: 20px;
	}
	/************************************/
	/***      08. Intro Video css     ***/
	/************************************/

	.intro-video .container-fluid {
		padding: 0;
	}

	.intro-video-box {
		position: relative;
		overflow: hidden;
		z-index: 1;
	}

	.intro-video-image a {
		display: block;
		cursor: none;
	}

	.intro-video-image figure::before {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		bottom: 0;
		right: 0;
		background: linear-gradient(180deg, rgba(25, 35, 36, 0) 0%, rgba(25, 35, 36, 0.6) 80.94%);
		height: 100%;
		width: 100%;
		z-index: 1;
	}

	.intro-video-image img {
		width: 100%;
		aspect-ratio: 1 / 0.41;
		object-fit: cover;
	}

	.video-play-button {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		z-index: 2;
	}

		.video-play-button a {
			position: relative;
			font-size: 16px;
			font-weight: 600;
			text-transform: capitalize;
			color: var(--white-color);
			border: 1px solid var(--white-color);
			border-radius: 50%;
			width: 100px;
			height: 100px;
			margin: 0 auto;
			display: flex;
			align-items: center;
			justify-content: center;
			cursor: none;
			transition: all 0.3s ease-in-out;
		}

			.video-play-button a:hover {
				border-color: var(--primary-color);
				color: var(--primary-color);
			}
	/************************************/
	/***    09. Latest Project css    ***/
	/************************************/

	.our-project {
		padding: 100px 0 70px;
	}

	.our-Project-nav {
		text-align: center;
		margin-bottom: 60px;
	}

		.our-Project-nav ul {
			list-style: none;
			text-align: center;
			display: inline-flex;
			flex-wrap: wrap;
			align-items: center;
			justify-content: center;
			gap: 15px 30px;
			padding: 0;
			margin: 0;
		}

			.our-Project-nav ul li a {
				position: relative;
				display: inline-block;
				color: var(--primary-color);
				font-weight: 500;
				line-height: 1.2em;
				text-transform: capitalize;
				transition: all 0.3s ease-in-out;
			}

				.our-Project-nav ul li a:after,
				.our-Project-nav ul li a:before {
					content: '';
					position: absolute;
					left: 0px;
					bottom: -8px;
					width: 100%;
					height: 2px;
					background-color: var(--accent-color);
					transform-origin: bottom right;
					transition: transform 0.4s ease-in-out;
					transform: scaleX(0);
				}

				.our-Project-nav ul li a:after {
					top: -8px;
					bottom: auto;
					left: 0px;
				}

				.our-Project-nav ul li a:hover:before,
				.our-Project-nav ul li a.active-btn:before,
				.our-Project-nav ul li a:hover:after,
				.our-Project-nav ul li a.active-btn:after {
					transform-origin: bottom left;
					transform: scaleX(1);
				}

	.project-item {
		position: relative;
		height: calc(100% - 30px);
		margin-bottom: 30px;
	}

	.project-featured-image figure::before {
		content: '';
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: linear-gradient(360deg, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 111.33%);
		z-index: 0;
	}

	.project-btn {
		position: absolute;
		top: 50%;
		left: 50%;
		opacity: 0;
		visibility: hidden;
		backdrop-filter: blur(20px);
		border-radius: 50%;
		transform: translate(-50%, -30%);
		transition: all 0.3s ease-in-out;
		z-index: 1;
	}

	.project-item:hover .project-btn {
		opacity: 1;
		visibility: visible;
		transform: translate(-50%, -50%);
	}

	.project-btn a {
		width: 100px;
		height: 100px;
		background: var(--dark-divider-color);
		border-radius: 50%;
		display: flex;
		align-items: center;
		justify-content: center;
		transition: all 0.4s ease-in-out;
	}

	.project-btn img {
		max-width: 24px;
		transform: rotate(-45deg);
		transition: all 0.4s ease-in-out;
	}

	.project-btn a:hover {
		background: var(--primary-color);
	}

		.project-btn a:hover img {
			transform: rotate(0deg);
		}

	.project-featured-image img {
		width: 100%;
		aspect-ratio: 1 / 0.79;
		object-fit: cover;
	}

	.project-content {
		position: absolute;
		left: 40px;
		bottom: 40px;
		right: 40px;
	}

		.project-content h3,
		.project-content h2 {
			color: var(--white-color);
			text-transform: capitalize;
			position: relative;
			z-index: 1;
		}

		.project-content h3 {
			font-size: 16px;
			font-weight: 500;
			margin-bottom: 10px;
		}

		.project-content h2 {
			font-size: 20px;
			font-weight: 700;
		}

			.project-content h2 a {
				color: inherit;
			}
	/************************************/
	/***      10. How We Work css     ***/
	/************************************/

	.how-we-work {
		background: var(--primary-color);
		padding: 100px 0;
	}

	.how-we-work-list {
		display: flex;
		flex-wrap: wrap;
		gap: 30px;
	}

	.how-we-work-item {
		width: calc(25% - 22.5px);
	}

		.how-we-work-item .icon-box {
			margin-bottom: 30px;
		}

			.how-we-work-item .icon-box img {
				max-width: 60px;
				max-height: 60px;
			}

	.how-we-work-content h3 {
		font-size: 20px;
		text-transform: capitalize;
		color: var(--white-color);
		margin-bottom: 10px;
	}

	.how-we-work-content p {
		color: var(--white-color);
		margin: 0;
	}

	.how-work-company-slider {
		border-top: 1px solid var(--dark-divider-color);
		margin-top: 60px;
		padding-top: 60px;
	}

		.how-work-company-slider .company-logo {
			text-align: center;
		}

			.how-work-company-slider .company-logo img {
				width: 100%;
				max-height: 40px;
			}
	/************************************/
	/***      11. Our Skills css      ***/
	/************************************/

	.our-skill {
		padding: 100px 0;
		/*background: url('../images/section-bg-shape-2.svg');*/
		background-repeat: no-repeat;
		background-position: center center;
		background-size: contain;
	}

	.skills-progress-bar {
		margin-bottom: 40px;
	}

		.skills-progress-bar:last-child {
			margin-bottom: 0;
		}

	.skillbar .skill-data {
		display: flex;
		justify-content: space-between;
		margin-bottom: 10px;
	}

	.skill-data .skill-title {
		font-size: 16px;
		text-transform: capitalize;
		color: var(--primary-color);
	}

	.skill-data .skill-no {
		font-size: 16px;
		color: var(--primary-color);
		margin-left: 20px;
	}

	.skill-progress {
		width: 100%;
		height: 12px;
		background: var(--divider-color);
		border-radius: 99px;
		position: relative;
	}

		.skill-progress .count-bar {
			position: absolute;
			top: 0;
			left: 0;
			bottom: 0;
			background-color: var(--primary-color);
			border-radius: 99px;
		}

	.our-skill-image {
		position: relative;
		padding-bottom: 155px;
		margin-left: 65px;
	}

	.our-skill-img-1 {
		width: 333px;
		position: relative;
		background: url('../images/our-skill-img-bg-dot.svg');
		background-repeat: no-repeat;
		background-position: top left;
		background-size: 84px auto;
		padding: 30px 0 0 30px;
	}

		.our-skill-img-1 figure,
		.our-skill-img-2 figure,
		.our-skill-img-3 figure {
			display: block;
		}

		.our-skill-img-1 img {
			width: 100%;
			aspect-ratio: 1/1.37;
			object-fit: cover;
		}

	.our-skill-img-2 {
		width: 202px;
		position: absolute;
		top: 70px;
		right: 0;
	}

		.our-skill-img-2 img {
			width: 100%;
			aspect-ratio: 1/0.93;
			object-fit: cover;
		}

	.our-skill-img-3 {
		width: 333px;
		position: absolute;
		bottom: 0;
		right: 0;
	}

		.our-skill-img-3 img {
			width: 100%;
			aspect-ratio: 1/0.97;
			object-fit: cover;
		}
	/************************************/
	/***   12. Our Testimonials css   ***/
	/************************************/

	.our-testimonials {
		background: var(--secondery-color);
	}

		.our-testimonials .container-fluid {
			padding: 0;
		}

	.our-testimonials-image {
		height: 100%;
	}

		.our-testimonials-image figure,
		.our-testimonials-image figure img {
			width: 100%;
			height: 100%;
			aspect-ratio: 1 / 0.82;
			object-fit: cover;
		}

	.our-testimonial-content {
		padding: 100px;
	}

		.our-testimonial-content .section-title {
			background: url('../images/testimonial-quote.svg') no-repeat;
			background-position: top right;
			background-size: 162px auto;
		}

	.testimonial-slider {
		width: 100%;
		max-width: 620px;
		margin-bottom: 40px;
		padding-bottom: 40px;
		border-bottom: 1px solid var(--divider-color);
	}

		.testimonial-slider .swiper-wrapper {
			cursor: none;
		}

	.testimonial-rating {
		margin-bottom: 20px;
	}

		.testimonial-rating i {
			font-size: 18px;
			color: var(--primary-color);
			margin-right: 2px;
		}

			.testimonial-rating i:last-child {
				margin-right: 0;
			}

	.testimonial-content {
		margin-bottom: 40px;
	}

		.testimonial-content p {
			font-size: 20px;
			color: var(--primary-color);
			margin: 0;
		}

	.testimonial-body {
		display: flex;
		align-items: center;
	}

		.testimonial-body .author-image {
			margin-right: 15px;
		}

			.testimonial-body .author-image img {
				width: 60px;
				height: 60px;
				border-radius: 50%;
			}

		.testimonial-body .author-content {
			width: calc(100% - 75px);
		}

			.testimonial-body .author-content h3 {
				font-size: 20px;
				text-transform: capitalize;
			}

			.testimonial-body .author-content p {
				text-transform: capitalize;
				margin: 0;
			}

	.testimonial-rating-counter {
		display: flex;
		align-items: center;
		gap: 20px;
	}

		.testimonial-rating-counter .rating-counter h2 {
			font-size: 58px;
		}

	.testimonial-client-rating {
		display: inline-block;
		background: var(--accent-color);
		padding: 0px 5px 3px 5px;
		line-height: 1em;
	}

		.testimonial-client-rating i {
			font-size: 10px;
			color: var(--white-color);
		}

	.testimonial-rating-content p {
		color: var(--primary-color);
		font-weight: 500;
		margin: 0;
	}
	/************************************/
	/***       13. Our Blog css       ***/
	/************************************/

	.our-blog {
		padding: 100px 0;
		/*background: url('../images/section-bg-shape-2.svg');*/
		background-repeat: no-repeat;
		background-position: top center;
		background-size: contain;
	}

	.post-item {
		height: calc(100% - 30px);
		margin-bottom: 30px;
	}

	.post-featured-image {
		margin-bottom: 20px;
	}

		.post-featured-image a {
			cursor: none;
		}

		.post-featured-image figure,
		.post-featured-image a {
			display: block;
			overflow: hidden;
		}

		.post-featured-image img {
			width: 100%;
			aspect-ratio: 1 / 0.85;
			object-fit: cover;
			transition: all 0.4s ease-in-out;
		}

	.post-item:hover .post-featured-image img {
		transform: scale(1.1);
	}

	.post-item-content {
		margin-bottom: 15px;
	}

		.post-item-content h3 {
			color: var(--primary-color);
			font-size: 20px;
			line-height: 1.4em;
		}

			.post-item-content h3 a {
				color: inherit;
			}

	.post-item-btn a {
		position: relative;
		color: var(--primary-color);
		font-weight: 500;
		text-transform: capitalize;
		padding-right: 25px;
	}

		.post-item-btn a::after {
			content: '';
			position: absolute;
			top: 50%;
			right: 0;
			transform: translate(0px, -50%);
			width: 17px;
			height: 16px;
			background: url('../images/arrow-dark.svg') no-repeat;
			background-position: right center;
			background-size: cover;
			transition: all 0.4s ease-in-out;
		}

		.post-item-btn a:hover::after {
			transform: translate(2px, -50%);
		}

	.our-blog-footer {
		margin-top: 20px;
		text-align: center;
	}
	/************************************/
	/***      	14. Footer css 		  ***/
	/************************************/

	.main-footer {
		padding: 80px 0 0;
		background: var(--primary-color);
	}

		.main-footer .footer-header {
			border-bottom: 1px solid var(--dark-divider-color);
			margin-bottom: 40px;
			padding-bottom: 40px;
		}

	.footer-social-links {
		display: flex;
		align-items: center;
		justify-content: end;
		gap: 30px;
	}

	.footer-social-link-title h3 {
		font-size: 20px;
		text-transform: capitalize;
		color: var(--white-color);
	}

	.footer-social-links ul {
		list-style: none;
		margin: 0;
		padding: 0;
	}

		.footer-social-links ul li {
			display: inline-flex;
			margin-right: 10px;
		}

			.footer-social-links ul li:last-child {
				margin-right: 0;
			}

			.footer-social-links ul li a {
				display: flex;
				justify-content: center;
				align-items: center;
				background: var(--white-color);
				border-radius: 50%;
				height: 36px;
				width: 36px;
				transition: all 0.3s ease-in-out;
			}

				.footer-social-links ul li a i {
					font-size: 18px;
					color: var(--accent-color);
					transition: all 0.3s ease-in-out;
				}

				.footer-social-links ul li a:hover {
					background: var(--accent-color);
				}

					.footer-social-links ul li a:hover i {
						color: var(--white-color);
					}

	.footer-links h3 {
		font-size: 20px;
		text-transform: capitalize;
		color: var(--white-color);
		margin-bottom: 20px;
	}

	.footer-links ul {
		list-style: none;
		margin: 0;
		padding: 0;
	}

		.footer-links ul li {
			color: var(--white-color);
			text-transform: capitalize;
			transition: all 0.3s ease-in-out;
			margin-bottom: 10px;
		}

			.footer-links ul li:last-child {
				margin-bottom: 0;
			}

			.footer-links ul li:hover {
				color: var(--accent-color);
			}

			.footer-links ul li a {
				display: block;
				color: inherit;
			}

	.footer-contact-item {
		display: flex;
		align-items: center;
		margin-bottom: 15px;
	}

		.footer-contact-item:last-child {
			margin-bottom: 0;
		}

		.footer-contact-item .icon-box {
			display: flex;
			align-items: center;
			justify-content: center;
			border: 1px solid var(--dark-divider-color);
			border-radius: 50%;
			width: 40px;
			height: 40px;
			margin-right: 10px;
			transition: all 0.3s ease-in-out;
		}

		.footer-contact-item:hover .icon-box {
			border-color: var(--white-color);
		}

		.footer-contact-item .icon-box i {
			font-size: 16px;
			color: var(--white-color);
		}

	.footer-contact-content {
		width: calc(100% - 50px);
	}

		.footer-contact-content p {
			color: var(--white-color);
			margin: 0;
		}

	.footer-newsletter-form p {
		color: var(--white-color);
		margin-bottom: 30px;
	}

	.footer-newsletter-form .form-group {
		display: flex;
		background: var(--white-color);
		overflow: hidden;
	}

		.footer-newsletter-form .form-group .form-control {
			width: 85%;
			border: none;
			border-radius: 0;
			color: var(--text-color);
			background: transparent;
			padding: 13px 10px;
			box-shadow: none;
		}

			.footer-newsletter-form .form-group .form-control::placeholder {
				color: var(--text-color);
			}

	.footer-newsletter-form button {
		background-color: transparent;
		width: 15%;
		border: none;
		padding: 0;
	}

		.footer-newsletter-form button i {
			color: var(--accent-color);
			font-size: 16px;
			transition: all 0.3s ease-in-out;
		}

		.footer-newsletter-form button:hover i {
			color: var(--primary-color);
		}

	.footer-copyright {
		border-top: 1px solid var(--dark-divider-color);
		text-align: center;
		margin-top: 65px;
		padding: 40px 0;
	}

	.footer-copyright-text p {
		color: var(--white-color);
		margin: 0;
	}
	/************************************/
	/***     15. About Us Page css 	  ***/
	/************************************/

	.page-header {
		position: relative;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover;
		padding: 270px 0 180px;
		margin-top: -118px;
	}

	.about-header {
		background: url('../images/about/about.jpg');
	}

	.sustainability-header {
		background: url('../images/sustainability/progold-sustainability-hero.jpg');
	}

	.governance-header {
		background: url('../images/governance/progold-governance-hero.jpg');
	}

	.alloys-header {
		background: url('../images/products/alloys/progold-alloys-hero.jpg');
	}

	.progoldlab-header {
		background: url('../images/progoldlab/progold-lab-hero.jpg');
	}

	.privacy-header {
		background: linear-gradient(135deg, var(--primary-color) 0%, #3a4a4c 100%);
	}

	.soldering-header,
	.soldering-solutions-header {
		background: url('../images/products/solderingsolutions/progold-soldering-hero.jpg');
	}
	.search-page-header {
		background: url('../images/shop/searchpage/shop-header.jpg');
	}

	.page-header::before {
		content: '';
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		background: linear-gradient(180deg, rgba(25, 35, 36, 0) 0%, rgba(25, 35, 36, 0.4) 80.94%);
		width: 100%;
		height: 100%;
		z-index: 0;
	}

	.page-header-box {
		position: relative;
		text-align: center;
		z-index: 1;
	}

		.page-header-box h1 {
			display: inline-block;
			font-size: 80px;
			font-weight: 700;
			color: var(--white-color);
			letter-spacing: -0.02em;
			margin-bottom: 10px;
			cursor: none;
		}

		.page-header-box ol {
			margin: 0;
			padding: 0;
			justify-content: center;
		}

			.page-header-box ol li.breadcrumb-item {
				font-size: 22px;
				text-transform: capitalize;
				color: var(--white-color);
			}

				.page-header-box ol li.breadcrumb-item a {
					color: inherit;
				}

			.page-header-box ol .breadcrumb-item + .breadcrumb-item::before {
				font-size: 20px;
				color: var(--white-color);
			}

	.about-us.page-about-us {
		background: transparent;
	}

	.about-facility-list {
		margin-top: 100px;
		display: flex;
		flex-wrap: wrap;
		gap: 30px;
	}

	.about-facility-item {
		width: calc(33.33% - 20px);
		display: flex;
	}

		.about-facility-item .icon-box {
			position: relative;
			height: 60px;
			width: 60px;
			background-color: var(--divider-color);
			border-radius: 50%;
			display: flex;
			justify-content: center;
			align-items: center;
			margin-right: 20px;
		}

			.about-facility-item .icon-box:before {
				content: '';
				display: block;
				position: absolute;
				top: 0;
				left: 0;
				background: var(--primary-color);
				border-radius: 50%;
				width: 100%;
				height: 100%;
				transform: scale(0);
				transition: all 0.4s ease-in-out;
				z-index: 0;
			}

		.about-facility-item:hover .icon-box:before {
			transform: scale(1);
		}

		.about-facility-item .icon-box img {
			max-width: 24px;
			z-index: 1;
			transition: all 0.4s ease-in-out;
		}

		.about-facility-item:hover .icon-box img {
			filter: brightness(0) invert(1);
		}

	.about-facility-content {
		width: calc(100% - 80px);
	}

		.about-facility-content h3 {
			font-size: 20px;
			text-transform: capitalize;
			margin-bottom: 10px;
		}

		.about-facility-content p {
			margin-bottom: 0;
		}

	.vision-mission {
		padding: 100px 0 50px;
		background: linear-gradient(180deg, var(--primary-color) 60%, var(--white-color) 40%);
	}

	.vision-mission-box {
		background-color: var(--secondery-color);
		padding: 45px 60px;
		display: flex;
		flex-wrap: wrap;
		gap: 30px 150px;
	}

	.vision-mission-item {
		position: relative;
		width: calc(50% - 75px);
	}

		.vision-mission-item::before {
			content: '';
			position: absolute;
			height: 100%;
			width: 1px;
			top: 0;
			right: -75px;
			bottom: 0;
			background-color: var(--divider-color);
			z-index: 1;
		}

		.vision-mission-item:nth-child(2n + 2)::before,
		.vision-mission-item:last-child::before {
			display: none;
		}

		.vision-mission-item .icon-box {
			position: relative;
			width: 95px;
			height: 95px;
			background: var(--divider-color);
			border-radius: 50%;
			display: flex;
			align-items: center;
			justify-content: center;
			margin-bottom: 20px;
		}

			.vision-mission-item .icon-box:before {
				content: '';
				display: block;
				position: absolute;
				top: 0;
				left: 0;
				background: var(--primary-color);
				border-radius: 50%;
				width: 100%;
				height: 100%;
				transform: scale(0);
				transition: all 0.4s ease-in-out;
				z-index: 0;
			}

		.vision-mission-item:hover .icon-box:before {
			transform: scale(1);
		}

		.vision-mission-item .icon-box img {
			position: relative;
			max-width: 36px;
			z-index: 1;
			transition: all 0.4s ease-in-out;
		}

		.vision-mission-item:hover .icon-box img {
			filter: brightness(0) invert(1);
		}

	.vision-mission-content h3 {
		font-size: 20px;
		text-transform: capitalize;
		margin-bottom: 20px;
	}

	.vision-mission-content p {
		margin: 0;
	}

	.best-selling {
		/*background: url(../images/section-bg-shape-1.svg);*/
		background-repeat: no-repeat;
		background-position: left center;
		background-size: contain;
		padding: 50px 0 100px;
	}

	.best-selling-content-img {
		margin-bottom: 80px;
	}

		.best-selling-iamge figure,
		.best-selling-content-img figure {
			display: block;
		}

		.best-selling-content-img img {
			width: 100%;
			aspect-ratio: 1 / 0.42;
			object-fit: cover;
		}

	.best-selling-content .section-title {
		margin-bottom: 0;
	}

	.best-selling-iamge img {
		width: 100%;
		aspect-ratio: 1 / 0.93;
		object-fit: cover;
	}

	.our-team {
		padding: 100px 0 70px;
	}

	.team-member-item {
		height: calc(100% - 30px);
		margin-bottom: 30px;
	}

	.team-image {
		position: relative;
		margin-bottom: 20px;
		overflow: hidden;
	}

		.team-image a {
			display: block;
			cursor: none;
		}

		.team-image figure {
			display: block;
		}

			.team-image figure img {
				width: 100%;
				aspect-ratio: 1 / 1.11;
				object-fit: cover;
				transition: all 0.4s ease-in-out;
			}

	.team-member-item:hover .team-image figure img {
		transform: scale(1.1);
	}

	.team-readmore-btn {
		position: absolute;
		top: 30px;
		right: 30px;
		z-index: 1;
	}

		.team-readmore-btn a {
			width: 60px;
			height: 60px;
			background-color: var(--accent-color);
			border-radius: 50%;
			display: flex;
			align-items: center;
			justify-content: center;
			cursor: pointer;
			transition: all 0.4s ease-in-out;
		}

			.team-readmore-btn a:hover {
				background-color: var(--primary-color);
			}

		.team-readmore-btn img {
			max-width: 20px;
			transform: rotate(-45deg);
			transition: all 0.4s ease-in-out;
		}

		.team-readmore-btn a:hover img {
			transform: rotate(0deg);
		}

	.team-content {
		text-align: center;
		margin-bottom: 20px;
	}

		.team-content h3 {
			font-size: 20px;
			text-transform: capitalize;
			margin-bottom: 10px;
		}

		.team-content p {
			font-weight: 500;
			text-transform: capitalize;
			margin: 0;
		}

	.team-social-icon ul {
		list-style: none;
		margin: 0;
		padding: 0;
		text-align: center;
	}

		.team-social-icon ul li {
			display: inline-flex;
			margin-right: 10px;
		}

			.team-social-icon ul li:last-child {
				margin-right: 0;
			}

			.team-social-icon ul li a {
				width: 44px;
				height: 44px;
				color: var(--accent-color);
				background: var(--divider-color);
				border-radius: 50%;
				display: flex;
				align-items: center;
				justify-content: center;
				transition: all 0.4s ease-in-out;
			}

				.team-social-icon ul li a:hover {
					color: var(--white-color);
					background: var(--primary-color);
				}

				.team-social-icon ul li a i {
					color: inherit;
					font-size: 18px;
				}

	.our-faqs {
		padding: 100px 0;
	}

	.our-faqs-content {
		margin-right: 70px;
	}

	.faq-accordion .accordion-item {
		border-bottom: 1px solid var(--divider-color);
		margin-bottom: 30px;
		padding-bottom: 15px;
	}

		.faq-accordion .accordion-item:last-child {
			margin-bottom: 0;
			padding-bottom: 0;
			border-bottom: none;
		}

	.faq-accordion .accordion-header .accordion-button {
		font-size: 20px;
		font-weight: 600;
		line-height: 1.2em;
		color: var(--primary-color);
		align-items: start;
		padding-right: 35px;
		transition: all 0.3s ease-in-out;
	}

		.faq-accordion .accordion-header .accordion-button span {
			margin-right: 7px;
		}

	.faq-accordion .accordion-button:not(.collapsed) {
		padding-bottom: 15px;
	}

	.faq-accordion .accordion-item .accordion-button::after,
	.faq-accordion .accordion-item .accordion-button.collapsed::after {
		content: '\2b';
		font-family: 'Font Awesome 6 Free';
		position: absolute;
		font-size: 18px;
		font-weight: 900;
		color: var(--primary-color);
		text-align: right;
		top: 0;
		right: 0;
		transition: all 0.3s ease-in-out;
	}

	.faq-accordion .accordion-button:not(.collapsed)::after {
		content: '\f068';
	}

	.faq-accordion .accordion-body {
		padding-right: 35px;
	}

		.faq-accordion .accordion-body p {
			margin: 0;
		}

	.our-faqs-image {
		text-align: right;
	}

		.our-faqs-image figure {
			display: block;
		}

		.our-faqs-image img {
			width: 100%;
			aspect-ratio: 1 / 1.26;
			object-fit: cover;
		}

	.our-clients {
		background-color: var(--secondery-color);
		padding: 100px 0;
	}

		.our-clients .our-clients-box {
			max-width: 1100px;
			margin: 0 auto;
			text-align: center;
		}

	.our-client-slider .client-logo {
		text-align: center;
	}

		.our-client-slider .client-logo img {
			width: 100%;
			max-height: 40px;
		}
	/************************************/
	/***     16. Services Page css 	  ***/
	/************************************/

	.page-services {
		padding: 100px 0 70px;
	}
	/************************************/
	/***    17. Service Single css 	  ***/
	/************************************/

	.page-service-single {
		padding: 100px 0;
	}

	.service-sidebar {
		position: sticky;
		top: 30px;
		margin-right: 30px;
	}

	.service-catagery-list {
		border: 1px solid var(--divider-color);
		padding: 30px;
		margin-bottom: 40px;
		overflow: hidden;
	}

		.service-catagery-list h3 {
			font-size: 20px;
			text-transform: capitalize;
			border-bottom: 1px solid var(--divider-color);
			padding-bottom: 20px;
			margin-bottom: 20px;
		}

		.service-catagery-list ul {
			list-style: none;
			margin: 0;
			padding: 0;
		}

			.service-catagery-list ul li {
				margin-bottom: 20px;
			}

				.service-catagery-list ul li:last-child {
					margin: 0;
				}

				.service-catagery-list ul li a {
					position: relative;
					display: block;
					font-weight: 500;
					text-transform: capitalize;
					color: var(--accent-color);
					padding-right: 25px;
					transition: all 0.3s ease-in-out;
				}

				.service-catagery-list ul li:hover a {
					color: var(--primary-color);
				}

				.service-catagery-list ul li a::before {
					content: '';
					position: absolute;
					top: 50%;
					right: 0;
					width: 18px;
					height: 18px;
					transform: translateY(-50%) rotate(-45deg);
					background-image: url(../images/arrow-accent.svg);
					background-repeat: no-repeat;
					background-position: center center;
					background-size: cover;
					transition: all 0.3s ease-in-out;
				}

				.service-catagery-list ul li:hover a::before {
					transform: translateY(-50%) rotate(0);
					filter: brightness(0) invert(0);
				}

	.sidebar-cta-image figure {
		display: block;
	}

	.sidebar-cta-image img {
		width: 100%;
		aspect-ratio: 1 / 1;
		object-fit: cover;
	}

	.sidebar-cta-Body {
		border: 1px solid var(--divider-color);
		padding: 30px;
	}

	.sidebar-cta-content {
		margin-bottom: 25px;
	}

		.sidebar-cta-content h3 {
			font-size: 20px;
			text-transform: capitalize;
			margin-bottom: 10px;
		}

		.sidebar-cta-content p {
			font-weight: 500;
			margin-bottom: 0;
		}

	.sidebar-cta-contact-item {
		display: flex;
		align-items: center;
		margin-bottom: 20px;
	}

		.sidebar-cta-contact-item:last-child {
			margin-bottom: 0;
		}

		.sidebar-cta-contact-item .icon-box {
			position: relative;
			height: 58px;
			width: 58px;
			background-color: var(--divider-color);
			border-radius: 50%;
			display: flex;
			justify-content: center;
			align-items: center;
			margin-right: 20px;
			transition: all 0.4s ease-in-out;
		}

		.sidebar-cta-contact-item:hover {
			background-color: transparent;
		}

		.sidebar-cta-contact-item .icon-box::before {
			content: '';
			position: absolute;
			top: 0;
			bottom: 0;
			left: 0;
			right: 0;
			background-color: var(--primary-color);
			border-radius: 50%;
			height: 100%;
			width: 100%;
			transform: scale(0);
			transition: all 0.3s ease-in-out;
		}

		.sidebar-cta-contact-item:hover .icon-box::before {
			transform: scale(1);
		}

		.sidebar-cta-contact-item .icon-box img {
			position: relative;
			max-width: 24px;
			transition: all 0.3s ease-in-out;
			z-index: 1;
		}

		.sidebar-cta-contact-item:hover .icon-box img {
			filter: brightness(0) invert(1);
		}

	.cta-contact-item-content {
		width: calc(100% - 78px);
	}

		.cta-contact-item-content p {
			font-weight: 500;
			margin: 0;
		}

	.service-feature-image {
		margin-bottom: 40px;
	}

		.service-feature-image figure {
			display: block;
		}

		.service-feature-image img {
			width: 100%;
			aspect-ratio: 1 / 0.55;
			object-fit: cover;
		}

	.service-entry {
		margin-bottom: 60px;
	}

		.service-entry h2 {
			font-size: 46px;
			margin-bottom: 20px;
		}

			.service-entry h2 span {
				color: var(--accent-color);
			}

		.service-entry p {
			margin-bottom: 20px;
		}

			.service-entry p:last-child {
				margin-bottom: 0;
			}

		.service-entry ul {
			list-style: none;
			margin-bottom: 20px;
			padding: 0;
		}

			.service-entry ul li {
				position: relative;
				font-weight: 500;
				color: var(--text-color);
				text-transform: capitalize;
				padding-left: 30px;
				margin-bottom: 15px;
			}

				.service-entry ul li:last-child {
					margin-bottom: 0;
				}

				.service-entry ul li::before {
					content: '\f058';
					position: absolute;
					font-family: 'FontAwesome';
					font-size: 20px;
					font-weight: 900;
					line-height: normal;
					color: var(--accent-color);
					display: inline-block;
					top: 2px;
					left: 0;
				}

	.service-entry-list-image {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 30px;
	}

	.service-entry-image,
	.service-entry-list {
		width: calc(50% - 15px);
	}

		.service-entry-image figure {
			display: block;
		}

		.service-entry-image img {
			width: 100%;
			aspect-ratio: 1 / 0.615;
			object-fit: cover;
		}

		.service-entry-list ul {
			margin-bottom: 0;
		}

	.why-choose-content.service-single-why-choose {
		margin-bottom: 60px;
	}
	/************************************/
	/***     18. Blog Archive css 	  ***/
	/************************************/

	.page-blog {
		padding: 100px 0;
	}

	/* Category filter bar */
	.blog-filter-wrap {
		display: flex;
		flex-wrap: wrap;
		gap: 10px;
		align-items: center;
	}

	.blog-filter-btn {
		display: inline-block;
		padding: 8px 22px;
		font-size: 14px;
		font-weight: 600;
		text-transform: uppercase;
		letter-spacing: 0.05em;
		color: var(--primary-color);
		border: 2px solid var(--primary-color);
		transition: all 0.3s ease-in-out;
		text-decoration: none;
	}

		.blog-filter-btn:hover,
		.blog-filter-btn.active {
			background: var(--accent-color);
			border-color: var(--accent-color);
			color: var(--white-color);
		}

	/* Post category label */
	.post-category {
		margin-bottom: 8px;
	}

		.post-category a {
			font-size: 13px;
			font-weight: 600;
			text-transform: uppercase;
			letter-spacing: 0.08em;
			color: var(--accent-color);
			text-decoration: none;
			transition: color 0.3s ease-in-out;
		}

			.post-category a:hover {
				color: var(--primary-color);
			}

	/* Post item body */
	.post-item-body {
		padding-top: 15px;
	}

	.page-pagination {
		margin-top: 20px;
		text-align: center;
	}

		.page-pagination ul {
			justify-content: center;
			padding: 0;
			margin: 0;
		}

			.page-pagination ul li a,
			.page-pagination ul li span {
				display: flex;
				text-decoration: none;
				justify-content: center;
				align-items: center;
				background: var(--accent-color);
				color: var(--white-color);
				width: 40px;
				height: 40px;
				margin: 0 5px;
				font-weight: 700;
				line-height: 1em;
				transition: all 0.3s ease-in-out;
			}

				.page-pagination ul li.active a,
				.page-pagination ul li a:hover {
					background: var(--primary-color);
					color: var(--white-color);
				}
	/************************************/
	/***     19. Blog Single css 	  ***/
	/************************************/

	.page-single-post {
		padding: 100px 0;
	}

	.post-image {
		position: relative;
		margin-bottom: 30px;
	}

		.post-image figure {
			display: block;
		}

		.post-image figure,
		.post-image img {
			aspect-ratio: 1 / 0.50;
			object-fit: cover;
		}

	.post-content {
		width: 100%;
		max-width: 1100px;
		margin: 0 auto;
	}

	.post-entry {
		border-bottom: 1px solid var(--divider-color);
		padding-bottom: 30px;
		margin-bottom: 30px;
	}

		.post-entry:after {
			content: '';
			display: block;
			clear: both;
		}

		.post-entry a {
			color: var(--accent-color);
		}

		.post-entry h1,
		.post-entry h2,
		.post-entry h3,
		.post-entry h4,
		.post-entry h5,
		.post-entry h6 {
			font-weight: 700;
			line-height: 1.2em;
			margin: 0 0 0.6em;
		}

		.post-entry h1 {
			font-size: 80px;
			letter-spacing: -0.02em;
		}

		.post-entry h2 {
			font-size: 46px;
			letter-spacing: -0.02em;
		}

		.post-entry h3 {
			font-size: 46px;
		}

		.post-entry h4 {
			font-size: 30px;
		}

		.post-entry h5 {
			font-size: 24px;
		}

		.post-entry h6 {
			font-size: 18px;
		}

		.post-entry p {
			margin-bottom: 20px;
			text-align:justify;
		}

		.post-entry p img{
			width:50%;
		}

			.post-entry p:last-child {
				margin-bottom: 0;
			}

			.post-entry p strong {
				color: var(--primary-color);
				font-size: 18px;
				font-weight: 600;
			}

		.post-entry ol {
			margin: 0 0 30px;
		}

			.post-entry ol li {
				margin-bottom: 20px;
				font-size: 18px;
				font-weight: 600;
				color: var(--text-color);
			}

		.post-entry ul {
			padding: 0;
			margin: 20px 0 20px;
			padding-left: 20px;
		}

			.post-entry ul li {
				font-size: 18px;
				font-weight: 500;
				color: var(--text-color);
				position: relative;
				margin-bottom: 15px;
			}

				.post-entry ul li:last-child {
					margin-bottom: 0;
				}

			.post-entry ul ul,
			.post-entry ul ol,
			.post-entry ol ol,
			.post-entry ol ul {
				margin-top: 20px;
				margin-bottom: 0;
			}

				.post-entry ul ul li:last-child,
				.post-entry ul ol li:last-child,
				.post-entry ol ol li:last-child,
				.post-entry ol ul li:last-child {
					margin-bottom: 0;
				}

		.post-entry blockquote {
			background: url(../images/icon-blockquote.svg), var(--accent-color);
			background-repeat: no-repeat;
			background-position: 35px 30px;
			background-size: 58px;
			border-radius: 0;
			padding: 30px 30px 30px 100px;
			margin-bottom: 30px;
			color:#ffffff;
		}

			.post-entry blockquote p {
				font-size: 20px;
				font-weight: 600;
				line-height: 1.4em;
				color: var(--white-color);
			}

				.post-entry blockquote p:last-child {
					margin-bottom: 0;
				}

	.tag-links {
		font-size: 20px;
		font-weight: 700;
		color: var(--primary-color);
		display: inline-flex;
		align-items: center;
		flex-wrap: wrap;
		gap: 10px;
	}

	.post-tags .tag-links a {
		display: inline-block;
		font-size: 16px;
		font-weight: 600;
		text-transform: capitalize;
		background: var(--accent-color);
		color: var(--white-color);
		border-radius: 0;
		padding: 6px 20px;
		transition: all 0.3s ease-in-out;
	}

		.post-tags .tag-links a:hover {
			background: var(--primary-color);
		}

	.post-social-sharing {
		text-align: right;
	}

		.post-social-sharing ul {
			list-style: none;
			padding: 0;
			margin: 0;
		}

			.post-social-sharing ul li {
				display: inline-block;
				margin-right: 10px;
			}

				.post-social-sharing ul li:last-child {
					margin-right: 0;
				}

				.post-social-sharing ul li a {
					display: flex;
					align-items: center;
					justify-content: center;
					text-align: center;
					background: var(--accent-color);
					color: var(--white-color);
					border-radius: 0;
					width: 36px;
					height: 36px;
					transition: all 0.3s ease-in-out;
				}

				.post-social-sharing ul li:hover a {
					background: var(--primary-color);
				}

				.post-social-sharing ul li a i {
					font-size: 18px;
					color: inherit;
				}
	/************************************/
	/***     20. Project Page css 	  ***/
	/************************************/

	.page-project {
		padding: 100px 0 70px;
	}
	/************************************/
	/***    21. Product Single css 	  ***/
	/************************************/

	.page-product-single {
		padding: 20px 0;
	}

	.product-single-sidebar {
		position: sticky;
		top: 30px;
		margin-right: 30px;
	}

	.product-detail-list {
		border: 1px solid var(--divider-color);
		padding: 30px;
		margin-bottom: 60px;
	}

	.product-detail-item {
		display: flex;
		align-items: center;
		margin-bottom: 30px;
	}

		.product-detail-item:last-child {
			margin-bottom: 0;
		}

		.product-detail-item .icon-box {
			position: relative;
			background-color: var(--divider-color);
			border-radius: 50%;
			width: 50px;
			height: 50px;
			display: flex;
			align-items: center;
			justify-content: center;
			margin-right: 20px;
			transition: all 0.3s ease-in-out;
		}

			.product-detail-item .icon-box::before {
				content: '';
				position: absolute;
				top: 0;
				bottom: 0;
				left: 0;
				right: 0;
				background-color: var(--accent-color);
				border-radius: 50%;
				height: 100%;
				width: 100%;
				transform: scale(0);
				transition: all 0.3s ease-in-out;
			}

		.product-detail-item:hover .icon-box::before {
			transform: scale(1);
		}

		.product-detail-item .icon-box i {
			font-size: 22px;
			color: var(--accent-color);
			transition: all 0.3s ease-in-out;
			z-index: 1;
		}

		.product-detail-item:hover .icon-box i {
			color: var(--white-color);
		}

	.product-detail-content {
		width: calc(100% - 70px);
	}

		.product-detail-content h3 {
			font-size: 16px;
			font-weight: 500;
			text-transform: capitalize;
			margin-bottom: 5px;
		}

		.product-detail-content p {
			color: var(--accent-color);
			text-transform: capitalize;
			margin-bottom: 0;
		}

	.product-single-image {
		margin-bottom: 40px;
	}

		.product-single-image figure {
			display: block;
		}

		.product-single-image img {
			width: 100%;
			aspect-ratio: 1 / 0.6;
			object-fit: cover;
		}

	.product-info,
	.product-design-info {
		margin-bottom: 60px;
		text-align:center;
		text-align:justify;
		position:relative;
	}

	.product-entry h1 {
		font-size: 46px;
		font-weight: 700;
		letter-spacing: -0.02em;
		margin-bottom: 10px;
		text-align:center !important;
	}
	.product-entry h5 {
		letter-spacing: -0.02em;
		margin-bottom: 30px;
		color: #555555;
		text-align: center !important;
	}

	.product-entry p {
		margin-bottom: 20px;
		text-align:justify;
	}

		.product-entry p:last-child {
			margin-bottom: 0;
		}

	.product-entry ul {
		list-style: none;
		margin-bottom: 20px;
		padding: 0;
	}

		.product-entry ul li {
			position: relative;
			font-weight: 500;
			color: var(--text-color);
			padding-left: 30px;
			margin-bottom: 15px;
		}

			.product-entry ul li:last-child {
				margin-bottom: 0;
			}

			.product-entry ul li::before {
				content: '\f058';
				position: absolute;
				font-family: 'FontAwesome';
				font-size: 20px;
				font-weight: 900;
				line-height: normal;
				color: var(--accent-color);
				display: inline-block;
				top: 2px;
				left: 0;
			}

	.product-gallery-images {
		display: flex;
		flex-wrap: wrap;
		gap: 30px;
	}

	.product-gallery-img {
		width: calc(25% - 22.5px);
	}

		.product-gallery-img a,
		.product-gallery-img figure {
			display: block;
			cursor: none;
		}

			.product-gallery-img figure img {
				width: 100%;
				aspect-ratio: 1 / 0.99;
				object-fit: cover;
			}





.product-purchase-box {
	background: #ffffff;
	border: 1px solid #e6e6e6;
	padding: 30px;
	margin: 35px 0 80px;
}

.product-purchase-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 25px;
	padding-bottom: 20px;
	border-bottom: 1px solid #ededed;
}

.product-price-wrap {
	display: flex;
	flex-direction: column;
}

.product-price-label {
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: #777777;
	margin-bottom: 6px;
}

.product-price {
	margin: 0;
	font-size: 32px;
	font-weight: 700;
	color: #b40000;
	line-height: 1.1;
}

.product-purchase-body {
	align-items: end;
	gap: 20px;
	flex-wrap: wrap;
}

.quantity-selector {
	min-width: 180px;
}

.quantity-label {
	display: block;
	font-size: 14px;
	font-weight: 600;
	color: #222222;
	margin-bottom: 10px;
	text-transform: uppercase;
}

.quantity-box {
	display: flex;
	align-items: center;
	border: 1px solid #dcdcdc;
	width: fit-content;
	background: #fafafa;
}

.qty-btn {
	width: 46px;
	height: 46px;
	border: none;
	background: transparent;
	font-size: 22px;
	font-weight: 600;
	color: #222222;
	cursor: pointer;
	transition: all 0.3s ease;
}

	.qty-btn:hover {
		background: #f1f1f1;
	}

.qty-input {
	width: 70px;
	height: 46px;
	border: none;
	border-left: 1px solid #dcdcdc;
	border-right: 1px solid #dcdcdc;
	text-align: center;
	font-size: 16px;
	font-weight: 600;
	background: #ffffff;
}
.qty-input:focus-visible {
	outline: 2px solid #b30000;
	outline-offset: -2px;
}

.purchase-actions .btn {
	min-width: 220px;
	height: 46px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.fav-on,
.fav-off {
	border: none;
	background: transparent;
	padding: 0;
	line-height: 1;
}

.fav-on {
	position: absolute;
	top: 0px;
	right: 0px;
	font-size: 1.5em;
	color: #e10717;
	cursor:pointer;
}

.fav-off {
	position: absolute;
	top: 0px;
	right: 0px;
	font-size: 1.5em;
	color: #000000;
	cursor: pointer;
}

.popup-tds-modal .modal-content {
	border: 0;
	border-radius: 0px;
	overflow: hidden;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25);
}

.popup-tds-content-box {
	background: #fff;
}

.popup-tds-header {
	padding: 22px 24px 12px;
	border-bottom: 1px solid #ececec;
}

	.popup-tds-header .modal-title {
		margin: 0;
		font-size: 28px;
		font-weight: 700;
		line-height: 1.2;
	}

.popup-tds-body {
	padding: 24px;
	max-height: 65vh;
	overflow-y: auto;
}

.popup-tds-item + .popup-tds-item {
	margin-top: 20px;
	padding-top: 20px;
	border-top: 1px solid #ececec;
}

.popup-tds-item h4 {
	margin: 0 0 8px 0;
	font-size: 20px;
	font-weight: 600;
}

.popup-tds-item p {
	margin: 0;
	line-height: 1.7;
	font-size: 16px;
	color: #555;
	white-space: pre-line;
}

.popup-tds-footer {
	padding: 16px 24px 24px;
	border-top: 1px solid #ececec;
}

.popup-tds-close:focus-visible {
	outline: 2px solid #b30000;
	outline-offset: 2px;
}

.tds-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.tds-card {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 14px 16px;
	border: 1px solid #e5e5e5;
	border-radius: 8px;
	text-decoration: none;
	background: #fff;
	transition: all .2s ease;
}

	.tds-card:hover {
		border-color: #b30000;
		box-shadow: 0 4px 12px rgba(0,0,0,0.08);
	}

.tds-card-icon {
	font-size: 28px;
	color: #e02b2b;
	width: 36px;
	text-align: center;
}

.tds-card-content {
	flex: 1;
	display: flex;
	flex-direction: column;
}

.tds-card-title {
	font-weight: 600;
	color: #333;
}

.tds-card-sub {
	font-size: 13px;
	color: #888;
}

.tds-card-arrow {
	color: #999;
	font-size: 14px;
}



.kit-radio:checked + .kit-option-card {
	border-color: #b30000 !important;
	box-shadow: 0 0 0 1px rgba(179, 0, 0, 0.15);
}

.kit-option-card:hover {
	transform: translateY(-1px);
	transition: 0.2s ease;
}

.product-purchase-box,
.product-purchase-body {
	overflow: visible !important;
}

.kit-slider {
	display: flex;
	flex-wrap: nowrap;
	gap: 12px;
	overflow-x: scroll; /* non auto */
	overflow-y: hidden;
	width: 100%;
	padding-bottom: 10px;
	padding-top: 10px;
	-webkit-overflow-scrolling: touch;
	scrollbar-gutter: stable;
}

/* Firefox */
.kit-slider {
	scrollbar-width: thin;
	scrollbar-color: #b30000 #e9ecef;
}

	/* Chrome / Edge / Safari */
	.kit-slider::-webkit-scrollbar {
		height: 10px;
	}

	.kit-slider::-webkit-scrollbar-track {
		background: #e9ecef;
		border-radius: 999px;
	}

	.kit-slider::-webkit-scrollbar-thumb {
		background: #b30000;
		border-radius: 999px;
	}

		.kit-slider::-webkit-scrollbar-thumb:hover {
			background: #8f0000;
		}

.kit-radio {
	display: none;
}

.kit-option-card {
	flex: 0 0 160px;
	margin: 0;
	cursor: pointer;
	text-decoration: none;
	color: inherit;
}

.kit-option-card-inner {
	height: 100%;
	background: #fff;
	border: 1px solid #dee2e6;
	overflow: hidden;
	box-shadow: 0 0.125rem 0.25rem rgba(0,0,0,.075);
	transition: border-color .2s ease, box-shadow .2s ease;
}

.kit-radio:checked + .kit-option-card .kit-option-card-inner,
.kit-option-card.selected .kit-option-card-inner {
	border-color: #b30000;
	box-shadow: 0 0 0 2px rgba(179,0,0,.12);
}

.kit-option-image {
	display: block;
	width: 100%;
	height: 110px;
	object-fit: contain;
	padding: 12px;
	background: #fff;
	border-bottom: 1px solid #f1f1f1;
}

.kit-option-body {
	padding: 14px;
}

.kit-option-title {
	font-weight: 600;
	line-height: 1.25;
	word-break: break-word;
}

.kit-option-weight {
	margin-top: 6px;
	font-size: .9rem;
	color: #6c757d;
}



@media (max-width: 767px) {
	.kit-option-card {
		flex: 0 0 190px;
		margin: 0;
		cursor: pointer;
		text-decoration: none;
		color: inherit;
	}
	.product-purchase-box {
		padding: 20px;
		margin-bottom: 50px;
	}

	.product-price {
		font-size: 28px;
	}

	.product-purchase-body {
		flex-direction: column;
		align-items: stretch;
	}

	.quantity-selector,
	.purchase-actions,
	.purchase-actions .btn {
		width: 100%;
	}

	.quantity-box {
		width: 100%;
	}

	.qty-input {
		flex: 1;
	}
}


.purchase-box-actions {
	display: flex;
	gap: 12px;
	margin-top: 16px;
	align-items: stretch;
}

.purchase-btn-main,
.purchase-btn-cart {
	flex: 1 1 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	text-align: center;
}

.purchase-btn-cart {
	white-space: nowrap;
}

@media (max-width: 767.98px) {
	.purchase-box-actions {
		flex-direction: column;
	}
}






	/************************************/
	/***    22. Image Gallery css 	  ***/
	/************************************/

	.page-gallery {
		padding: 100px 0 70px;
	}

	.page-gallery-box .photo-gallery {
		height: calc(100% - 30px);
		margin-bottom: 30px;
	}

		.page-gallery-box .photo-gallery a {
			cursor: none;
		}

		.page-gallery-box .photo-gallery figure {
			display: block;
		}

		.page-gallery-box .photo-gallery img {
			width: 100%;
			aspect-ratio: 1 / 0.85;
			object-fit: cover;
		}
	/************************************/
	/***    	23. FAQs Page css 	  ***/
	/************************************/

	.page-faqs {
		padding: 100px 0;
	}

	.faq-sidebar {
		position: sticky;
		top: 30px;
		margin-right: 30px;
	}

	.faq-catagery-list {
		border: 1px solid var(--divider-color);
		padding: 30px;
		margin-bottom: 60px;
	}

		.faq-catagery-list ul {
			list-style: none;
			margin: 0;
			padding: 0;
		}

			.faq-catagery-list ul li {
				margin-bottom: 20px;
				transition: all 0.3s ease-in-out;
			}

				.faq-catagery-list ul li:last-child {
					margin-bottom: 0;
				}

				.faq-catagery-list ul li a {
					position: relative;
					display: block;
					font-weight: 500;
					text-transform: capitalize;
					color: var(--accent-color);
					padding-right: 25px;
					transition: all 0.3s ease-in-out;
				}

				.faq-catagery-list ul li:hover a {
					color: var(--primary-color);
				}

				.faq-catagery-list ul li a::before {
					content: '';
					position: absolute;
					top: 50%;
					right: 0;
					width: 18px;
					height: 18px;
					transform: translateY(-50%) rotate(-45deg);
					background-image: url(../images/arrow-accent.svg);
					background-repeat: no-repeat;
					background-position: center center;
					background-size: cover;
					transition: all 0.3s ease-in-out;
				}

				.faq-catagery-list ul li:hover a::before {
					transform: translateY(-50%) rotate(0);
					filter: brightness(0) invert(0);
				}

	.our-faq-section.page-faq-accordion {
		margin-bottom: 60px;
	}

		.our-faq-section.page-faq-accordion:last-child {
			margin-bottom: 0;
		}
	/************************************/
	/***   24. Contact Us Page css 	  ***/
	/************************************/

	.page-contact-us {
		padding: 100px 0 50px;
	}

	.contact-us-image {
		height: 100%;
	}

		.contact-us-image figure {
			height: 100%;
			display: block;
		}

		.contact-us-image img {
			height: 100%;
			width: 100%;
			object-fit: cover;
			aspect-ratio: 1 / 0.962;
		}

	.contact-us-form {
		margin-left: 30px;
	}

	.contact-form .form-control {
		font-size: 16px;
		font-weight: 500;
		line-height: 1.2em;
		background-color: var(--white-color);
		color: var(--text-color);
		border: 1px solid var(--divider-color);
		border-radius: 0;
		padding: 14px 15px;
	}
	.contact-form .form-control:focus-visible {
		outline: 2px solid #b30000;
		outline-offset: 1px;
	}

		.contact-form .form-control::placeholder {
			font-weight: 400;
		}

	.google-map {
		padding: 50px 0 100px;
	}

		.google-map .section-title {
			width: 100%;
			max-width: 560px;
			margin: 0 auto 30px;
			text-align: center;
		}

	.google-map-iframe,
	.google-map-iframe iframe {
		width: 100%;
		height: 500px;
	}

	.contact-info-box {
		display: flex;
		flex-wrap: wrap;
		gap: 30px;
		margin-top: 60px;
	}

	.contact-info-item {
		width: calc(33.33% - 20px);
		display: flex;
	}

		.contact-info-item .icon-box {
			position: relative;
			height: 60px;
			width: 60px;
			background-color: var(--divider-color);
			border-radius: 50%;
			display: flex;
			justify-content: center;
			align-items: center;
			margin-right: 20px;
		}

			.contact-info-item .icon-box:before {
				content: '';
				display: block;
				position: absolute;
				top: 0;
				left: 0;
				background: var(--primary-color);
				border-radius: 50%;
				width: 100%;
				height: 100%;
				transform: scale(0);
				transition: all 0.4s ease-in-out;
				z-index: 0;
			}

		.contact-info-item:hover .icon-box:before {
			transform: scale(1);
		}

		.contact-info-item .icon-box i {
			position: relative;
			font-size: 20px;
			color: var(--accent-color);
			transition: all 0.3s ease-in-out;
			z-index: 1;
		}

		.contact-info-item:hover .icon-box i {
			color: var(--white-color);
		}

	.contact-info-content {
		width: calc(100% - 80px);
	}

		.contact-info-content h3 {
			font-size: 20px;
			text-transform: capitalize;
			margin-bottom: 10px;
		}

		.contact-info-content p {
			margin-bottom: 0;
		}

	/* Pagina Contatti: hero, layout a due colonne, card mappa/info compatta */

	.contact-header {
		background: url('../images/contact/progold-contact-hero.jpg');
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover;
	}

	.contact-hero {
		padding: 50px 0 10px;
	}

	.contact-hero p {
		color: var(--text-color);
	}

	.contact-layout {
		padding: 50px 0 100px;
	}

	.contact-form-card {
		background: var(--white-color);
		border: 1px solid var(--divider-color);
		box-shadow: 0 10px 30px rgba(25, 35, 36, 0.06);
		padding: 44px;
		height: 100%;
	}

	.contact-form-card h2 {
		margin-bottom: 6px;
	}

	.contact-map-card {
		background: var(--white-color);
		border: 1px solid var(--divider-color);
		box-shadow: 0 10px 30px rgba(25, 35, 36, 0.06);
		overflow: hidden;
	}

		.contact-map-card .google-map-iframe,
		.contact-map-card .google-map-iframe iframe {
			height: 220px;
		}

		.contact-map-card .contact-info-box {
			margin-top: 0;
			padding: 26px 28px 30px;
			gap: 18px;
			flex-direction: column;
		}

		.contact-map-card .contact-info-item {
			width: 100%;
		}

	.contact-honeypot {
		position: absolute;
		left: -9999px;
		width: 1px;
		height: 1px;
		overflow: hidden;
	}

	@media (max-width: 991px) {
		.contact-form-card {
			padding: 28px 22px;
		}
	}

	/************************************/
	/***    25. 404 Error Page css 	  ***/
	/************************************/

	.error-page {
		background-image: url(../images/error-page-bg.svg);
		background-repeat: no-repeat;
		background-position: top -100px center;
		background-size: auto;
		padding: 100px 0;
	}

	.error-page-image {
		text-align: center;
		margin-bottom: 30px;
	}

		.error-page-image img {
			width: 100%;
			max-width: 50%;
		}

	.error-page-content {
		width: 100%;
		max-width: 500px;
		margin: 0 auto;
		text-align: center;
	}

		.error-page-content .section-title {
			margin-bottom: 20px;
		}

	.error-page-content-body p {
		font-weight: 500;
		margin-bottom: 20px;
	}




/************************************/
/***     27. Products Page css     ***/
/************************************/

.our-products {
	padding: 100px 0;
}

.product-item {
	position: relative;
	/*height: calc(100% - 30px);*/
	margin-bottom: 30px;
}

.product-image a {
	display: block;
	cursor: none;
}

	.product-image a figure::before {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		bottom: 0;
		right: 0;
		background: linear-gradient(360deg, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 105%);
		height: 100%;
		width: 100%;
		z-index: 1;
		transition: all 0.3s ease-in-out;
	}

.product-image img {
	width: 100%;
	object-fit: cover;
	aspect-ratio: 1 / 1;
	transition: all 0.4s ease-in-out;
}

.product-item:hover .product-image img {
	transform: scale(1.1);
}


.product-content {
	position: absolute;
	bottom: 30px;
	left: 40px;
	right: 40px;
	z-index: 1;
}

	.product-content h3 {
		font-size: 20px;
		text-transform: capitalize;
		color: var(--white-color);
		margin-bottom: 10px;
	}

		.product-content h3 a {
			color: inherit;
		}

	.product-content p {
		color: var(--white-color);
		margin-bottom: 0;
		font-size: 1.2em;
	}

.all-products-btn {
	text-align: center;
	margin-top: 20px;
}

.product-tags {
	list-style: none;
	padding: 0;
	margin: 10px 0 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

	.product-tags .tag {
		display: inline-flex;
		align-items: center;
		padding: 6px 10px;
		border-radius: 999px;
		font-size: 12px;
		line-height: 1;
		color: var(--white-color);
		background: rgba(255, 255, 255, 0.18);
		border: 1px solid rgba(255, 255, 255, 0.25);
		backdrop-filter: blur(6px); /* se vuoi effetto “glass” */
	}
	.product-tags .tag-dark {
		display: inline-flex;
		align-items: center;
		padding: 6px 10px;
		border-radius: 999px;
		font-size: 12px;
		line-height: 1;
		color: #000000;
		background: #eaf0ec;
		border: 1px solid rgba(255, 255, 255, 0.25);
		backdrop-filter: blur(6px); /* se vuoi effetto “glass” */
	}

	/* Caratura tag: affordance interattiva */
	.product-tags .tag-dark.caratura-tag {
		gap: 5px;
		cursor: pointer;
		user-select: none;
		transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.15s ease;
	}

	.product-tags .tag-dark.caratura-tag:hover {
		background: var(--accent-color, #8f0000);
		color: #ffffff;
		border-color: var(--accent-color, #8f0000);
		transform: translateY(-1px);
	}

	.product-tags .tag-dark.caratura-tag:active {
		transform: translateY(0);
	}

	.caratura-tag-hint {
		font-size: 11px;
		color: #888;
		margin: 8px 0 0;
		font-style: italic;
	}

/* ── Modal specifiche caratura ────────────────────────────── */
.caratura-specs-modal modal-dialog modal-content{
	border-radius:0px;
}

/* Sections as cards */
.caratura-specs-section {
	background: #fafafa;
	border: 1px solid #ededed;
	padding: 16px 18px 14px;
	margin-bottom: 14px;
	box-shadow: 0 1px 6px rgba(0,0,0,0.04);
}

.caratura-specs-section:last-child {
	margin-bottom: 0;
}

/* Section title — left accent bar */
.caratura-specs-title {
	font-size: 15px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--accent-color, #8f0000);
	padding-left: 10px;
	border-left: 3px solid var(--accent-color, #8f0000);
	margin-bottom: 20px;
	line-height: 1.3;
}

/* Color diagram layout — full width, 65/35 split */
.caratura-color-diagram {
	display: flex;
	align-items: flex-start;
	gap: 16px;
}

/* Canvas wrapper: 65% of the row, 3:2 aspect ratio enforced by JS */
.caratura-lab-canvas-wrap {
	position: relative;
	min-width: 0;
	border-radius: 0px;
	overflow: hidden;
	padding:15px;
	background-color: #FFFFFF;
}

/* Canvas fills wrapper; height set via JS to preserve 3:2 */
.caratura-lab-canvas {
	display: block;
	width: 100%;
	background: #fff;
}

.caratura-lab-caption {
	font-size: 10px;
	color: #bbb;
	text-align: center;
	margin: 6px 0 0;
	font-style: italic;
	letter-spacing: 0.02em;
}

/* Video prodotto nel pannello valori — formato quadrato, allineato in basso */
.caratura-product-video {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	margin-top: auto;   /* spinge il video al fondo del flex column */
	background: #000;
	border-radius: 0;
	border: none;
	flex-shrink: 0;
	max-width:200px;
}

/* Mobile: sotto alle coordinate colore, larghezza intera */
@media (max-width: 575px) {
	.caratura-product-video {
		flex: 0 0 100%;
		margin-top: 0;
	}
}

/* Values panel — compact pill cards */
.caratura-lab-values {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding-top: 2px;
}

.caratura-lab-value-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: #fff;
	border: 1px solid #e8e8e8;
	padding: 6px 10px;
	gap: 8px;
	box-shadow: 0 1px 4px rgba(0,0,0,0.04);
}

.caratura-lab-key {
	font-size: 9px;
	font-weight: 700;
	color: #aaa;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	white-space: nowrap;
}

.caratura-lab-val {
	font-size: 13px;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	color: #1a1a1a;
}

/* Sezione grafici meccanici — HD e CW side-by-side */
.caratura-mech-row {
	display: flex;
	gap: 16px;
	align-items: flex-start;
}

.caratura-mech-half {
	flex: 1;
	min-width: 0;
	width:100%;
}

.caratura-mech-title {
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #555;
	margin-bottom: 8px;
	text-align: center;
}

/* Rimuove il border-radius e shadow sul wrapper dei grafici meccanici
   (sono già dentro una sezione card) */
.caratura-mech-canvas-wrap {
	border-radius: 6px;
}

@media (max-width: 575px) {
	.caratura-mech-row {
		flex-direction: column;
	}

	/* Color diagram: stack canvas sopra, valori sotto */
	.caratura-color-diagram {
		flex-direction: column;
	}

	.caratura-lab-canvas-wrap {
		flex: 0 0 100% !important;
		width: 100%;
	}

	/* Valori L* a* b*: riga orizzontale compatta */
	.caratura-lab-values {
		flex-direction: row;
		flex-wrap: wrap;
	}

	.caratura-lab-value-row {
		flex: 1 1 calc(50% - 6px);
		justify-content: center;
	}

	/* Sezioni card: padding ridotto */
	.caratura-specs-section {
		padding: 12px 10px 10px;
	}

	/* Spec value leggermente più piccolo */
	.caratura-spec-value {
		font-size: 18px;
	}
}

/* Griglia specifiche tecniche — 4 card per riga su desktop, 2 su mobile */
.caratura-specs-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 10px;
}

@media (max-width: 575px) {
	.caratura-specs-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

.caratura-spec-card {
	background: #fff;
	border: 1px solid #ededed;
	border-radius: 10px;
	padding: 12px 14px 14px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 8px;
	box-shadow: 0 1px 4px rgba(0,0,0,0.04);
	min-height: 80px;
}

.caratura-spec-label {
	font-size: 10px;
	font-weight: 600;
	color: #aaa;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	line-height: 1.35;
}

.caratura-spec-value {
	font-size: 22px;
	font-weight: 700;
	color: #1a1a1a;
	font-variant-numeric: tabular-nums;
	line-height: 1;
	letter-spacing: -0.01em;
}

/* Griglia stelline — 4 card per riga su desktop, 2 su mobile */
.caratura-stelline-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 10px;
}

@media (max-width: 575px) {
	.caratura-stelline-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

.caratura-stellina-item {
	background: #fff;
	border: 1px solid #ededed;
	border-radius: 10px;
	padding: 14px 12px 12px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	text-align: center;
	box-shadow: 0 1px 4px rgba(0,0,0,0.04);
}

.caratura-stellina-label {
	font-size: 10px;
	font-weight: 600;
	color: #aaa;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	line-height: 1.35;
	text-align: center;
}

.caratura-stellina-icon-img {
	width: 40px;
	height: 40px;
	object-fit: contain;
	opacity: 0.75;
	margin-top: auto;
}

.caratura-stellina-stars {
	display: flex;
	gap: 3px;
	font-size: 13px;
	flex-shrink: 0;
}
.star-light {
	color: #FFD700;
}
.star-dark {
	color: #777777;
}



.shop-products-nav {
	text-align: center;
}

	.shop-products-nav ul {
		list-style: none;
		text-align: center;
		display: inline-flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		gap: 15px 30px;
		padding: 0;
		margin: 0;
	}

		.shop-products-nav ul li a {
			position: relative;
			display: inline-block;
			color: var(--primary-color);
			font-weight: 500;
			line-height: 1.2em;
			text-transform: capitalize;
			transition: all 0.3s ease-in-out;
		}

			.shop-products-nav ul li a:after,
			.shop-products-nav ul li a:before {
				content: '';
				position: absolute;
				left: 0px;
				bottom: -8px;
				width: 100%;
				height: 2px;
				background-color: var(--accent-color);
				transform-origin: bottom right;
				transition: transform 0.4s ease-in-out;
				transform: scaleX(0);
			}

			.shop-products-nav ul li a:after {
				top: -8px;
				bottom: auto;
				left: 0px;
			}

			.shop-products-nav ul li a:hover:before,
			.shop-products-nav ul li a.active-btn:before,
			.shop-products-nav ul li a:hover:after,
			.shop-products-nav ul li a.active-btn:after {
				transform-origin: bottom left;
				transform: scaleX(1);
			}

.accordion-item {
	border: none;
	border-bottom: 1px solid red;
	border-radius: 0px !important;
}

/* Accordion senza sfondo blu */
.accordion-button {
	background-color: transparent;
	box-shadow: none;
	font-weight: 600;
	padding-left: 0;
	padding-right: 0;
}

	/* quando è aperto */
	.accordion-button:not(.collapsed) {
		background-color: transparent;
		box-shadow: none;
	}

	/* rimuove il bordo blu di focus */
	.accordion-button:focus {
		box-shadow: none;
		border-color: transparent;
	}

.accordion-body {
	padding-left: 0;
}

#filtersAccordion .accordion-button {
	justify-content: flex-end;
}

	#filtersAccordion .accordion-button::after {
		margin-left: 10px;
	}

.form-check-input:checked {
	background-color: #b30000;
	border-color: #b30000;
}
.form-check-input:focus {
	border-color: #b30000;
	box-shadow: 0 0 0 0.2rem rgba(179, 0, 0, 0.25);
}

.form-control:focus,
.form-select:focus {
	border-color: #b30000;
	box-shadow: 0 0 0 0.2rem rgba(179, 0, 0, 0.25);
}
.form-control{
	border-radius:0px;
}

.favorite-filter {
	font-size: 25px;
	color: #b30000;
	text-decoration: none;
}

	.favorite-filter:hover {
		color: #d40000;
	}


.shop-notice {
	margin-bottom: 50px;
	padding: 18px 22px;
	border: 1px solid #ebd2d2;
	background: #fdf6f6;
}

.shop-notice__title {
	margin-bottom: 8px;
	font-size: 18px;
	font-weight: 700;
	text-transform: uppercase;
	color: #8f1d1d;
}

.shop-notice__text {
	font-size: 15px;
	line-height: 1.6;
	color: #5c4040;
}

.shop-notice__list {
	margin: 14px 0 0 0;
	padding-left: 18px;
}

	.shop-notice__list li {
		margin-bottom: 6px;
		font-size: 16px;
		line-height: 1.5;
		color: #5c4040;
	}



.shop-notice--danger {
	border-color: #e4b9b9;
	background: #f9eaea;
}

.shop-notice--warning {
	border-color: #e4b9b9;
	background: #f9eaea;
	color: #5f5337;
}

	.shop-notice--warning .shop-notice__title {
		color: #5f5337;
	}

	.shop-notice--warning .shop-notice__text,
	.shop-notice--warning .shop-notice__list li {
		color: #5f5337;
	}

.opening-hours {
	display: grid;
	grid-template-columns: 120px auto;
	row-gap: 4px;
}

	.opening-hours span:first-child {
		font-weight: 600;
	}


.shop-modal .modal-dialog {
	max-width: 560px;
}

.shop-modal__content {
	border: 0;
	border-radius: 0;
	box-shadow: 0 16px 50px rgba(0, 0, 0, 0.12);
}

.shop-modal__header {
	padding: 24px 28px 18px;
	border-bottom: 1px solid #ece7e7;
}

.shop-modal__title {
	margin: 0;
	font-size: 22px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: #222;
}

.shop-modal__close {
	opacity: 1;
}

.shop-modal__body {
	padding: 24px 28px;
}

.shop-modal__intro {
	margin-bottom: 16px;
	font-size: 15px;
	line-height: 1.7;
	color: #555;
}


.shop-modal__footer {
	padding: 18px 28px 24px;
	border-top: 1px solid #ece7e7;
	justify-content: flex-end;
}

.shop-modal__table-wrap {
	margin-top: 18px;
	overflow-x: auto;
}

.shop-modal__table {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
	color: #2f2f2f;
}

	.shop-modal__table thead th {
		padding: 12px 10px;
		border-bottom: 1px solid #d9d9d9;
		text-align: left;
		font-size: 12px;
		font-weight: 700;
		text-transform: uppercase;
		letter-spacing: 0.04em;
		color: #6a6a6a;
	}

	.shop-modal__table tbody td {
		padding: 14px 10px;
		border-bottom: 1px solid #ececec;
		vertical-align: middle;
	}

	.shop-modal__table tbody tr:last-child td {
		border-bottom: 0;
	}

.shop-modal__row {
	cursor: pointer;
}

	.shop-modal__row:hover {
		background: #f6f6f6;
	}

.tipo1 {
	position: absolute;
	top: 10px;
	font-size: 1em;
	padding: 5px 60px 5px 20px;
	color: #ffffff;
	font-weight: 500;
}


.popup-alert-modal .modal-content {
	border: 0;
	overflow: hidden;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25);
}

.popup-alert-content-box {
	background: #fff;
}

.popup-alert-header {
	padding: 22px 24px 12px;
	border-bottom: 1px solid #ececec;
}

	.popup-alert-header .modal-title {
		margin: 0;
		font-size: 28px;
		font-weight: 700;
		line-height: 1.2;
	}

.popup-alert-body {
	padding: 24px;
	max-height: 65vh;
	overflow-y: auto;
}

.popup-alert-item + .popup-alert-item {
	margin-top: 20px;
	padding-top: 20px;
	border-top: 1px solid #ececec;
}

.popup-alert-item h4 {
	margin: 0 0 8px 0;
	font-size: 20px;
	font-weight: 600;
}

.popup-alert-item p {
	margin: 0;
	line-height: 1.7;
	font-size: 16px;
	color: #555;
	white-space: pre-line;
}

.popup-alert-footer {
	padding: 16px 24px 24px;
	border-top: 1px solid #ececec;
}

.popup-alert-close:focus-visible {
	outline: 2px solid #b30000;
	outline-offset: 2px;
}


/************************************/
/***      26. Responsive css      ***/
/************************************/
@media only screen and (max-width: 1366px) {

	.our-testimonial-content {
		padding: 100px 50px;
	}
}

	@media only screen and (max-width: 1024px) {

		.main-menu ul li {
			margin: 0;
		}

		.our-testimonial-content {
			padding: 50px 20px;
		}
	}

	@media only screen and (max-width: 991px) {
		.shop-products-nav {
			margin: 20px 0px;
			flex-direction: column;
		}

		.shop-filters-categories {
			width: 100%;
			text-align: left;
		}

			.shop-filters-categories a {
				width: 100%;
			}

		.shop-search-bar {
			margin-left: 0px !important;
			width:50%;
		}




		.navbar {
			padding: 20px 0;
		}

		.slicknav_nav li,
		.slicknav_nav ul {
			display: block;
		}

		.responsive-menu,
		.navbar-toggle{
			display: block;
		}
		.internal-icon-responsive{
			display:flex;
			align-items:center;
		}

		.header-btn {
			display: none;
		}

		.btn-default {
			padding: 14px 42px 14px 16px;
		}

		.section-row {
			margin-bottom: 40px;
		}

			.section-row .section-title {
				margin-bottom: 0;
				margin-right: 0px;
			}

		.section-title-content {
			margin-left: 0;
			margin-top: 15px;
		}

		.section-btn {
			text-align: left;
			margin-top: 15px;
		}

		.section-title {
			margin-bottom: 30px;
		}

			.section-title h3 {
				margin-bottom: 10px;
			}

			.section-title h1 {
				font-size: 50px;
			}

			.section-title h2 {
				font-size: 36px;
			}

			.section-title p {
				margin-top: 15px;
			}

		.hero {
			min-height: auto;
			padding: 180px 0 140px;
			margin-top: -92px;
		}

			.hero.hero-slider-layout .hero-slide {
				padding: 180px 0 140px;
				min-height: auto;
			}

			.hero.hero-slider-layout .hero-pagination {
				padding-left: 15px;
				bottom: 30px;
			}

		.hero-content .section-title p {
			font-size: 20px;
		}

		.about-us {
			padding: 50px 0;
		}

		.about-us-images {
			margin: 0 0 30px 0;
		}

		.experience-counter {
			height: 137px;
			width: 137px;
		}

			.experience-counter h3 {
				font-size: 28px;
			}

		.about-us-content-list {
			margin-bottom: 30px;
		}

		.about-contact-item {
			margin-bottom: 30px;
		}

		.why-choose-us {
			padding: 50px 0;
		}

		.why-choose-content {
			margin-bottom: 30px;
		}

		.why-choose-item .icon-box {
			margin-right: 10px;
		}

		.why-choose-item-content {
			width: calc(100% - 70px);
		}

		.why-choose-images {
			margin-left: 0;
		}

		.our-services {
			padding: 50px 0;
		}

		.service-image img {
			aspect-ratio: 1 / 1.2;
		}

		.service-btn {
			top: 20px;
			right: 20px;
		}

			.service-btn a {
				height: 50px;
				width: 50px;
			}

		.service-content {
			bottom: 20px;
		}

		.all-services-btn {
			margin-top: 10px;
		}

		.video-play-button a {
			width: 80px;
			height: 80px;
		}

		.our-project {
			padding: 50px 0 20px;
		}

		.our-Project-nav {
			margin-bottom: 50px;
		}

		.project-featured-image img {
			aspect-ratio: 1 / 0.89;
		}

		.project-btn a {
			width: 80px;
			height: 80px;
		}

		.project-content {
			left: 20px;
			bottom: 20px;
			right: 20px;
		}

		.how-we-work {
			padding: 50px 0;
		}

		.how-we-work-item {
			width: calc(50% - 15px);
		}

			.how-we-work-item .icon-box {
				margin-bottom: 20px;
			}

		.how-work-company-slider {
			margin-top: 40px;
			padding-top: 40px;
		}

		.our-skill {
			padding: 50px 0;
		}

		.our-skill-content {
			margin-bottom: 30px;
		}

		.skills-progress-bar {
			margin-bottom: 30px;
		}

		.our-skill-image {
			max-width: 555px;
			margin: 0 auto;
		}

		.our-testimonials-image {
			height: auto;
		}

			.our-testimonials-image figure,
			.our-testimonials-image figure img {
				height: auto;
				aspect-ratio: 1 / 0.65;
			}

		.our-testimonial-content {
			padding: 50px 15px;
		}

			.our-testimonial-content .section-title {
				background-size: contain;
			}

		.testimonial-slider {
			max-width: 100%;
			margin-bottom: 30px;
			padding-bottom: 30px;
		}

		.testimonial-rating {
			margin-bottom: 15px;
		}

		.testimonial-content {
			margin-bottom: 30px;
		}

			.testimonial-content p {
				font-size: 18px;
			}

		.testimonial-rating-counter .rating-counter h2 {
			font-size: 48px;
		}

		.our-blog {
			padding: 50px 0;
		}

			.our-blog .section-title {
				margin-right: 0;
			}

		.post-featured-image img {
			aspect-ratio: 1 / 0.75;
		}

		.our-blog-footer {
			margin-top: 10px;
		}

		.main-footer {
			padding: 40px 0 0;
		}

			.main-footer .footer-header {
				margin-bottom: 30px;
				padding-bottom: 30px;
			}

		.footer-links {
			padding-right: 0;
			margin-bottom: 30px;
		}

		.footer-newsletter-form p {
			margin-bottom: 20px;
		}

		.footer-copyright {
			margin-top: 0px;
			padding: 20px 0;
		}

		.page-header {
			padding: 180px 0 100px;
			margin-top: -92px;
		}

		.page-header-box h1 {
			font-size: 50px;
		}

		.page-header-box ol li.breadcrumb-item {
			font-size: 18px;
		}

		.page-header-box ol .breadcrumb-item + .breadcrumb-item::before {
			font-size: 16px;
		}

		.about-facility-list {
			margin-top: 50px;
			gap: 20px;
		}

		.about-facility-item {
			width: calc(33.33% - 13.33px);
		}

			.about-facility-item .icon-box {
				height: 45px;
				width: 45px;
				margin-right: 10px;
			}

				.about-facility-item .icon-box img {
					max-width: 20px;
				}

		.about-facility-content {
			width: calc(100% - 55px);
		}

			.about-facility-content h3 {
				font-size: 18px;
			}

		.vision-mission {
			padding: 50px 0 25px;
		}

		.vision-mission-box {
			padding: 30px 15px;
			gap: 30px 40px;
		}

		.vision-mission-item {
			width: calc(50% - 20px);
		}

			.vision-mission-item::before {
				right: -20px;
			}

			.vision-mission-item .icon-box {
				width: 70px;
				height: 70px;
			}

				.vision-mission-item .icon-box img {
					max-width: 30px;
				}

		.vision-mission-content h3 {
			margin-bottom: 15px;
		}

		.best-selling {
			padding: 25px 0 50px;
		}

		.best-selling-content {
			margin-bottom: 20px;
		}

		.best-selling-content-img {
			margin-bottom: 20px;
		}

		.our-team {
			padding: 50px 0 20px;
		}

		.team-readmore-btn {
			top: 20px;
			right: 20px;
		}

			.team-readmore-btn a {
				width: 50px;
				height: 50px;
			}

		.team-content {
			margin-bottom: 15px;
		}

		.our-faqs {
			padding: 50px 0;
		}

		.our-faqs-content {
			margin-right: 0;
			margin-bottom: 30px;
		}

		.faq-accordion .accordion-item {
			margin-bottom: 20px;
		}

		.our-faqs-image {
			text-align: center;
			margin-left: 0px;
		}

			.our-faqs-image img {
				aspect-ratio: 1 / 0.8;
			}

		.our-clients {
			padding: 50px 0;
		}

			.our-clients .our-clients-box {
				max-width: 100%;
			}

		.page-services {
			padding: 50px 0 20px;
		}

		.page-service-single {
			padding: 50px 0;
		}

		.service-sidebar {
			position: initial;
			margin-right: 0;
			margin-bottom: 30px;
		}

		.service-catagery-list {
			padding: 20px;
			margin-bottom: 30px;
		}

			.service-catagery-list h3 {
				padding-bottom: 15px;
				margin-bottom: 15px;
			}

			.service-catagery-list ul li {
				margin-bottom: 10px;
			}

				.service-catagery-list ul li a::before {
					width: 16px;
					height: 16px;
				}

		.sidebar-cta-Body {
			padding: 20px;
		}

		.sidebar-cta-content {
			margin-bottom: 15px;
		}

		.sidebar-cta-contact-item {
			margin-bottom: 15px;
		}

		.service-feature-image {
			margin-bottom: 30px;
		}

		.service-entry {
			margin-bottom: 30px;
		}

			.service-entry ul li {
				font-size: 14px;
				padding-left: 25px;
				margin-bottom: 10px;
			}

				.service-entry ul li::before {
					font-size: 18px;
				}

		.why-choose-content.service-single-why-choose {
			margin-bottom: 30px;
		}

		.page-blog {
			padding: 50px 0;
		}

		.page-pagination {
			margin-top: 10px;
		}

		.page-single-post {
			padding: 50px 0;
		}

		.post-image {
			margin-bottom: 20px;
		}

		.post-entry blockquote {
			background-position: 25px 25px;
			background-size: 50px;
			padding: 25px 25px 25px 90px;
			margin-bottom: 20px;
		}

			.post-entry blockquote p {
				font-size: 18px;
			}

		.post-entry h2 {
			font-size: 38px;
		}

		.post-entry ul li {
			font-size: 16px;
		}

		.post-tags {
			margin-bottom: 20px;
		}

		.post-social-sharing ul {
			text-align: left;
		}

		.post-tags .tag-links a {
			padding: 6px 15px;
		}

		.page-project {
			padding: 50px 0 20px;
		}

		.page-product-single {
			padding: 50px 0;
		}

		.product-single-sidebar {
			position: initial;
			margin-right: 0px;
			margin-bottom: 30px
		}

		.product-detail-list {
			padding: 20px;
			margin-bottom: 30px;
		}

		.product-single-image {
			margin-bottom: 30px;
		}

		.product-info,
		.product-design-info {
			margin-bottom: 30px;
		}

		.product-entry h2 {
			font-size: 36px;
			margin-bottom: 20px;
		}

		.page-gallery {
			padding: 50px 0 20px;
		}

		.page-gallery-box .photo-gallery img {
			aspect-ratio: 1 / 0.85;
		}

		.page-faqs {
			padding: 50px 0;
		}

		.faq-sidebar {
			position: initial;
			margin-right: 0;
			margin-bottom: 30px;
		}

		.faq-catagery-list {
			padding: 20px;
			margin-bottom: 30px;
		}

			.faq-catagery-list ul li {
				margin-bottom: 15px;
			}

				.faq-catagery-list ul li a::before {
					width: 16px;
					height: 16px;
				}

		.our-faq-section.page-faq-accordion {
			margin-bottom: 40px;
		}

		.page-contact-us {
			padding: 50px 0 25px;
		}

		.contact-us-image {
			height: auto;
			margin-bottom: 30px;
		}

			.contact-us-image img {
				aspect-ratio: 1 / 0.6;
			}

		.contact-us-form {
			margin-left: 0;
		}

		.contact-form .form-control {
			padding: 12px 15px;
		}

		.google-map {
			padding: 25px 0 50px;
		}

		.google-map-iframe,
		.google-map-iframe iframe {
			height: 400px;
		}

		.contact-info-box {
			gap: 20px;
			margin-top: 40px;
		}

		.contact-info-item {
			width: calc(33.33% - 13.33px);
		}

			.contact-info-item .icon-box {
				height: 50px;
				width: 50px;
				margin-right: 10px;
			}

				.contact-info-item .icon-box i {
					font-size: 16px;
				}

		.contact-info-content {
			width: calc(100% - 60px);
		}

			.contact-info-content h3 {
				font-size: 18px;
			}

		.error-page {
			padding: 50px 0;
		}

		.error-page-image img {
			max-width: 80%;
		}
	}

	@media only screen and (max-width: 767px) {
		.shop-products-nav{
			margin:20px 0px;
			flex-direction: column;
		}
		.shop-filters-categories{
			width:100%;
			text-align:left;
		}
		.shop-filters-categories a{
			width: 100%;
		}
		.shop-search-bar {
			margin-left: 0px !important;
			width: 100%;
		}

		.section-row {
			margin-bottom: 30px;
		}

		.section-title {
			margin-bottom: 30px;
		}

			.section-title h1 {
				font-size: 28px;
			}

			.section-title h2 {
				font-size: 26px;
			}

		.hero-content .section-title p {
			font-size: 18px;
		}

		.hero-content .btn-default {
			margin-right: 40px;
			margin-bottom: 10px;
		}

			.hero-content .btn-default.btn-highlighted {
				margin: 0;
			}

		.about-us-images {
			background-position: left 10px bottom 10px;
			background-size: 20% auto;
			padding: 10px 45px 100px 0;
		}

		.feedback-counter {
			transform: rotate(-180deg) translate(0, 0);
		}

			.feedback-counter p {
				font-size: 12px;
				height: 38px;
				width: 38px;
				margin: 0 0 6px 0;
			}

			.feedback-counter h3 {
				font-size: 12px;
				width: calc(100% - 40px);
			}

		.about-img-2 {
			max-width: 240px;
		}

		.experience-counter {
			height: 102px;
			width: 102px;
		}

			.experience-counter h3 {
				font-size: 22px;
			}

			.experience-counter p {
				font-size: 12px;
				line-height: 1.1em;
			}

		.about-us-content-body {
			gap: 0px;
		}

			.about-us-content-body::before {
				display: none;
			}

		.about-us-content-info {
			width: 100%;
			border-bottom: 1px solid var(--divider-color);
			padding-bottom: 15px;
			margin-bottom: 15px;
		}

		.about-us-content-list {
			margin-bottom: 20px;
		}

		.about-us-contact-list {
			width: 100%;
		}

		.about-us-content-list ul li {
			margin-bottom: 10px;
		}

			.about-us-content-list ul li::before {
				font-size: 18px;
				top: 3px;
			}

		.about-contact-item {
			margin-bottom: 20px;
		}

		.about-contact-content h3 {
			font-size: 18px;
		}

		.why-choose-item-content h3 {
			font-size: 18px;
			margin-bottom: 5px;
		}

		.why-choose-img-2 img {
			aspect-ratio: 1 / 1.02;
		}

		.why-choose-img-4 img {
			aspect-ratio: 1 / 1.588;
		}

		.service-content h3 {
			font-size: 18px;
		}

		.intro-video-image img {
			aspect-ratio: 1 / 0.7;
		}

		.project-btn a {
			width: 60px;
			height: 60px;
		}

		.project-btn img {
			max-width: 20px;
		}

		.project-content h2 {
			font-size: 18px;
		}

		.how-we-work-item {
			width: 100%;
		}

			.how-we-work-item .icon-box img {
				max-width: 50px;
			}

		.how-we-work-content h3 {
			font-size: 18px;
		}

		.how-work-company-slider {
			margin-top: 30px;
			padding-top: 30px;
		}

		.our-skill-image {
			padding-bottom: 83px;
		}

		.our-skill-img-1 {
			width: 200px;
			padding: 20px 0 0 20px;
		}

		.our-skill-img-2 {
			width: 130px;
			top: 20px;
		}

		.our-skill-img-3 {
			width: 200px;
		}

		.testimonial-rating {
			margin-bottom: 10px;
		}

			.testimonial-rating i {
				font-size: 16px;
			}

		.testimonial-content {
			margin-bottom: 20px;
		}

			.testimonial-content p {
				font-size: 16px;
			}

		.testimonial-body .author-content h3 {
			font-size: 18px;
		}

		.testimonial-rating-counter .rating-counter h2 {
			font-size: 38px;
		}

		.post-featured-image {
			margin-bottom: 15px;
		}

		.post-item-content {
			margin-bottom: 10px;
		}

			.post-item-content h3 {
				font-size: 18px;
			}

		.footer-logo {
			margin-bottom: 20px;
		}

		.footer-social-links {
			justify-content: start;
			gap: 20px;
		}

		.footer-social-link-title h3 {
			font-size: 18px;
		}

		.footer-links h3 {
			margin-bottom: 15px;
		}

		.footer-links ul li {
			margin-bottom: 5px;
		}

		.footer-copyright {
			padding: 15px 0;
		}

		.page-header-box h1 {
			font-size: 28px;
			margin-bottom: 5px;
		}

		.page-header-box ol li.breadcrumb-item {
			font-size: 16px;
		}

		.page-header-box ol .breadcrumb-item + .breadcrumb-item::before {
			font-size: 14px;
		}

		.about-facility-item {
			width: 100%;
		}

		.vision-mission {
			background: linear-gradient(180deg, var(--primary-color) 40%, var(--white-color) 40%);
		}

		.vision-mission-box {
			padding: 20px;
			gap: 40px;
		}

		.vision-mission-item {
			width: 100%;
		}

			.vision-mission-item::before {
				height: 1px;
				width: 100%;
				top: auto;
				right: 0;
				bottom: -20px;
			}

			.vision-mission-item:nth-child(2n + 2)::before {
				display: block;
			}

			.vision-mission-item:last-child::before {
				display: none;
			}

		.vision-mission-content h3 {
			font-size: 18px;
		}

		.team-content h3 {
			font-size: 18px;
			margin-bottom: 5px;
		}

		.faq-accordion .accordion-header .accordion-button {
			font-size: 18px;
			padding-right: 30px;
		}

		.faq-accordion .accordion-item .accordion-button::after,
		.faq-accordion .accordion-item .accordion-button.collapsed::after {
			top: 2px;
		}

		.faq-accordion .accordion-body {
			padding-right: 0;
		}

		.our-faqs-image img {
			aspect-ratio: 1 / 1.26;
		}

		.service-catagery-list h3 {
			font-size: 18px;
		}

		.sidebar-cta-content h3 {
			font-size: 18px;
		}

		.service-entry p {
			margin-bottom: 15px;
		}

		.service-feature-image {
			margin-bottom: 20px;
		}

			.service-feature-image img {
				aspect-ratio: 1 / 0.7;
			}

		.service-entry-list-image {
			gap: 20px;
		}

		.service-entry-image,
		.service-entry-list {
			width: 100%;
		}

		.post-image figure,
		.post-image img {
			aspect-ratio: 1 / 0.70;
		}

		.post-entry blockquote {
			background-position: 20px 20px;
			padding: 70px 20px 20px 20px;
		}

		.post-entry h2 {
			font-size: 26px;
		}

		.product-single-image {
			margin-bottom: 20px;
		}

			.product-single-image img {
				aspect-ratio: 1 / 0.7;
			}

		.product-info,
		.product-design-highlight {
			margin-bottom: 20px;
		}

		.product-entry h2 {
			font-size: 26px;
			margin-bottom: 15px;
		}

		.product-entry p {
			margin-bottom: 15px;
		}

		.product-entry ul li {
			margin-bottom: 10px;
		}

			.product-entry ul li::before {
				font-size: 18px;
				top: 5px;
			}

		.product-gallery-images {
			gap: 20px;
		}

		.product-gallery-img {
			width: calc(50% - 10px);
		}

		.contact-us-image img {
			aspect-ratio: 1 / 0.75;
		}

		.google-map-iframe,
		.google-map-iframe iframe {
			height: 350px;
		}

		.contact-info-item {
			width: 100%;
		}

		.error-page-image img {
			max-width: 100%;
		}
	}


/************************************/
/*** 	    28. Cart Css       	  ***/
/************************************/

.cart-page {
	color: #222;
}

/* HEADER */
.cart-header {
	font-size: 13px;
	font-weight: 600;
	text-transform: uppercase;
	color: #888;
	border-bottom: 1px solid #eee;
	padding-bottom: 10px;
}

/* ITEM */
.cart-item {
	border-bottom: 1px solid #f1f1f1;
}

/* IMG */
.cart-img {
	width: 70px;
	height: 70px;
	flex-shrink: 0;
}

	.cart-img img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		border-radius: 6px;
	}

/* INFO */
.cart-title {
	font-weight: 600;
	font-size: 15px;
}

.cart-sub {
	font-size: 13px;
	color: #777;
}

/* QTY */
.cart-qty {
	font-weight: 600;
	font-size: 15px;
}

/* PRICE */
.cart-price {
	font-weight: 600;
}

/* REMOVE */
.btn-remove {
	background: transparent;
	border: none;
	color: #999;
	cursor: pointer;
}

	.btn-remove:hover {
		color: #c00;
	}

.cart-summary {
	background: #f8f9fa;
	border-radius: 8px;
}

	.cart-summary span {
		color: #6c757d;
	}

	.cart-summary strong {
		font-size: 1rem;
	}

.shipment-card {
	border: 1px solid #ececec;
	border-radius: 8px;
	transition: all 0.2s ease;
	cursor: pointer;
}
.stock-card {
	border: 1px solid #ececec;
	border-radius: 8px;
}

.shipment-card:hover {
	border-color: #999;
	box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}

.shipment-choice-input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.shipment-choice-input:checked + .shipment-card {
	border: 1px solid #b30000;
	background: #f8f9fa;
	box-shadow: 0 6px 16px rgba(0,0,0,0.12);
}

.shipment-choice-input:focus-visible + .shipment-card {
	outline: 2px solid #b30000;
	outline-offset: 2px;
}

.shipment-row:first-of-type {
	border-top: 0 !important;
}

.shipment-card.selected::after {
	content: "✓";
	position: absolute;
	top: 10px;
	right: 15px;
	font-size: 18px;
	color: #0d6efd;
	font-weight: bold;
}


.cart-box {
	background: #fff;
	border: 1px solid #ececec;
	border-radius: 14px;
	padding: 10px 20px;
}

.cart-item {
	border-bottom: 1px solid #f0f0f0;
}

	.cart-item:last-child {
		border-bottom: none;
	}

.cart-title {
	font-size: 18px;
	font-weight: 600;
	color: #1f1f1f;
}

.cart-qty,
.cart-price {
	font-size: 16px;
	font-weight: 600;
	color: #1f1f1f;
}

.btn-remove {
	border: none;
	background: transparent;
	color: #8c8c8c;
	font-size: 18px;
	transition: 0.2s ease;
}

	.btn-remove:hover {
		color: #c0392b;
	}

.conto-lavoro-summary {
	margin-top: 40px;
	padding: 24px 28px;
	background: #fff;
	border: 1px solid #ececec;
	border-radius: 8px;
}

.conto-lavoro-summary__header {
	margin-bottom: 18px;
}

.conto-lavoro-summary__title {
	margin: 0;
	font-size: 1em;
	font-weight: 700;
	color: #555555;
}

.conto-lavoro-summary__subtitle {
	margin: 6px 0 0 0;
	font-size: 14px;
	color: #777;
}

.conto-lavoro-summary__body {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.conto-lavoro-summary__row {
	display: grid;
	grid-template-columns: 180px auto;
	align-items: center;
	font-size: 15px;
	color: #333;
}

	.conto-lavoro-summary__row:last-child {
		border-bottom: none;
		padding-bottom: 0;
	}

	.conto-lavoro-summary__row strong {
		font-size: 16px;
		font-weight: 700;
		color: #1f1f1f;
	}
.shipment-list {
	border-top: 1px solid #eee;
}

.shipment-list-header {
	font-size: 12px;
	text-transform: uppercase;
	color: #888;
	letter-spacing: 0.05em;
	padding: 10px 0;
}

.shipment-list-row {
	display: flex;
	align-items: center;
	padding: 14px 0;
	border-top: 1px solid #f2f2f2;
	font-size: 14px;
}

	.shipment-list-row:first-child {
		border-top: 0;
	}

/* colonne */
.col-prodotto {
	flex: 2;
}

.col-qty {
	flex: 1;
	text-align: center;
}

.col-data {
	flex: 1;
	text-align: right;
}

/* mobile */
@media (max-width: 991px) {
	.shipment-list-row {
		flex-direction: column;
		align-items: flex-start;
		gap: 6px;
	}

	.col-qty,
	.col-data {
		text-align: left;
	}

	.label-mobile {
		font-size: 11px;
		color: #999;
		display: block;
	}
}

.transport-group {
	margin-top: 42px;
}

.transport-group__header {
	margin-bottom: 18px;
}

.transport-group__title {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	font-size: 1rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #1f2937;
}

.transport-divider {
	margin: 28px 0 0 0;
	border-color: #e5e7eb;
	opacity: 1;
}
.transport-option {
	display: block;
	margin: 0;
	cursor: pointer;
}

.transport-option__input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.transport-card {
	position: relative;
	border: 1px solid #dfe3e8;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 4px 16px rgba(15, 23, 42, 0.04);
	transition: all 0.2s ease;
	overflow: hidden;
	min-height: 170px;
}

.transport-option:hover .transport-card {
	border-color: #bfc7d1;
	box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
}

.transport-option__input:checked + .transport-card {
	border: 1px solid #b20000;
	box-shadow: 0 12px 28px rgba(178, 0, 0, 0.12);
}

.transport-card__body {
	position: relative;
	padding: 20px;
	display: flex;
	flex-direction: column;
	gap: 18px;
	height: 100%;
}

.transport-card__check {
	position: absolute;
	top: 10px;
	left: 14px;
	width: 26px;
	height: 26px;
	color: #b20000;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.85rem;
	opacity: 0;
	transform: scale(0.85);
	transition: all 0.2s ease;
}

.transport-option__input:checked + .transport-card .transport-card__check {
	opacity: 1;
	transform: scale(1);
}

.transport-card__top {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 16px;
	padding-top: 18px;
}

.transport-card__content {
	flex: 1 1 auto;
	min-width: 0;
}

.transport-card__title {
	margin: 0 0 8px 0;
	font-size: 1rem;
	font-weight: 700;
	color: #1f2937;
	line-height: 1.35;
}

.transport-card__text {
	margin: 0;
	font-size: 0.8rem;
	line-height: 1.5;
	color: #6b7280;
}

.transport-card__eta {
	flex: 0 0 auto;
	min-width: 145px;
	padding: 10px 12px;
	border-radius: 10px;
	background: #f8fafc;
	border: 1px solid #e5e7eb;
	text-align: right;
}

.transport-card__eta-label {
	display: block;
	margin-bottom: 4px;
	font-size: 0.72rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #6b7280;
}

.transport-card__eta-date {
	display: block;
	font-size: 0.92rem;
	font-weight: 700;
	color: #111827;
}

.transport-card__footer {
	margin-top: auto;
	padding-top: 14px;
	border-top: 1px solid #eef2f6;
}

.transport-card__price-wrap {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
}

.transport-card__price-label {
	font-size: 0.9rem;
	color: #6b7280;
}

.transport-card__price {
	font-size: 1.2rem;
	font-weight: 700;
	color: #b20000;
	white-space: nowrap;
}

@media (max-width: 767.98px) {
	.transport-card__top {
		flex-direction: column;
		align-items: stretch;
	}

	.transport-card__eta {
		width: 100%;
		min-width: unset;
		text-align: left;
	}

	.transport-card__price-wrap {
		flex-direction: column;
		align-items: flex-start;
	}
}

.cart-page--final-step {
	padding-top: 10px;
	padding-bottom: 20px;
}

.cart-section-header {
	margin-bottom: 10px;
}

.cart-info-card {
	background: #f8f8f8;
	border: 1px solid #ececec;
	border-radius: 14px;
	padding: 0;
	height: 100%;
	transition: all 0.25s ease;
}

	/*.cart-info-card:hover {
		transform: translateY(-2px);
		box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
	}*/

.cart-info-card__header {
	padding: 10px 15px;
	border-bottom: 1px solid #e7e7e7;
}

.cart-info-card__header--with-action {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

.cart-info-card__body {
	padding: 20px 0px;
}

.cart-info-card__title {
	font-size: 18px;
	font-weight: 700;
	color: #111;
	line-height: 1.3;
	margin: 0;
}

.cart-info-card--compact {
	padding: 22px 24px;
}

.cart-info-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
	padding: 10px 0;
	font-size: 15px;
	color: #444;
}

	.cart-info-row + .cart-info-row {
		border-top: 1px solid #ececec;
	}

	.cart-info-row strong {
		color: #111;
		font-weight: 700;
	}

.cart-info-row--total {
	margin-top: 6px;
	padding-top: 14px;
}

	.cart-info-row--total span,
	.cart-info-row--total strong {
		font-size: 16px;
	}

.cart-info-row--single {
	padding: 0;
	border-top: 0 !important;
}

.cart-info-row__label {
	color: #444;
	font-size: 15px;
}

.cart-info-row__value {
	font-size: 18px;
	color: #111;
	font-weight: 700;
	text-align: right;
}

.cart-contact-list {
	margin: 0;
	padding-left: 18px;
}

	.cart-contact-list li {
		margin-bottom: 10px;
		color: #1b1b1b;
		line-height: 1.5;
	}

		.cart-contact-list li:last-child {
			margin-bottom: 0;
		}

.cart-card-edit {
	width: 35px;
	height: 35px;
	min-width: 35px;
	border: 1px solid #dfdfdf;
	background: #fff;
	border-radius: 8px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #b00000;
	transition: all 0.2s ease;
	padding: 0;
}

	.cart-card-edit:hover {
		background: #b00000;
		border-color: #b00000;
		color: #fff;
	}

	.cart-card-edit i {
		font-size: 15px;
	}

@media (max-width: 991.98px) {
	.cart-info-card__header,
	.cart-info-card__body,
	.cart-info-card--compact {
		padding-left: 18px;
		padding-right: 18px;
	}

	.cart-info-row {
		flex-direction: column;
		align-items: flex-start;
		gap: 6px;
	}

	.cart-info-row__value {
		text-align: left;
	}
}

@media (max-width: 575.98px) {
	.cart-info-card__title {
		font-size: 16px;
	}

	.cart-card-edit {
		width: 34px;
		height: 34px;
		min-width: 34px;
	}
}

.cart-info-card--order-details .cart-info-card__body {
	padding: 24px;
}

.checkout-form-group {
	margin-bottom: 0;
}

.checkout-label {
	display: inline-block;
	margin-bottom: 10px;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #666;
}

.checkout-input {
	height: 52px;
	border-radius: 12px;
	border: 1px solid #dcdcdc;
	background: #fff;
	padding: 0 16px;
	font-size: 15px;
	color: #111;
	box-shadow: none;
}

	.checkout-input:focus {
		border-color: #b00000;
		box-shadow: 0 0 0 0.15rem rgba(176, 0, 0, 0.08);
	}

	.checkout-input[readonly] {
		background: #f7f7f7;
		color: #333;
	}

.order-attachments {
	border-top: 1px solid #ececec;
	padding-top: 18px;
}

.order-attachments__top {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
}

.order-attachments__input {
	display: none;
}

.order-attachments__button {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 38px;
	padding: 0 14px;
	border: 1px solid #dcdcdc;
	border-radius: 10px;
	background: #fff;
	color: #111;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.2s ease;
	margin-bottom: 0;
}

	.order-attachments__button:hover {
		border-color: #b00000;
		color: #b00000;
	}

.order-attachments__list {
	margin-top: 12px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.order-attachments__item {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	color: #444;
	line-height: 1.4;
}

	.order-attachments__item i {
		color: #b00000;
		font-size: 13px;
	}

@media (max-width: 767.98px) {
	.cart-info-card--order-details .cart-info-card__body {
		padding: 18px;
	}

	.checkout-input {
		height: 48px;
	}
}

.selected-contacts-list {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.selected-contact-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 10px 12px;
	border: 1px solid #e3e3e3;
	border-radius: 8px;
	background: #f8f8f8;
}

.selected-contact-name {
	font-weight: 500;
	color: #222;
}

.selected-contact-remove {
	border: none;
	background: transparent;
	color: #b30000;
	font-size: 16px;
	cursor: pointer;
	padding: 4px;
}

	.selected-contact-remove:hover {
		opacity: 0.7;
	}

.modal-add-contact {
	margin-top: 20px;
	padding-top: 20px;
	border-top: 1px solid #e9e9e9;
}

.modal-add-contact__row {
	display: flex;
	gap: 12px;
	align-items: center;
}

	.modal-add-contact__row .form-select {
		min-height: 46px;
		border-radius: 10px;
	}

	.modal-add-contact__row .btn {
		min-width: 110px;
		white-space: nowrap;
	}

@media (max-width: 767.98px) {
	.modal-add-contact__row {
		flex-direction: column;
		align-items: stretch;
	}

		.modal-add-contact__row .btn {
			width: 100%;
		}
}

.add-documents{
	margin-top:5px;
	margin-left:20px;
}
.add-documents input{
	margin-right: 10px;
}


.payment-credit-card-choice {
	padding-top: 14px;
	border-top: 1px solid #e5e5e5;
}

.payment-credit-card-choice__label {
	display: flex;
	align-items: center;
	gap: 10px;
	cursor: pointer;
	margin: 0;
}

.payment-credit-card-choice__input {
	width: 18px;
	height: 18px;
	cursor: pointer;
}

.payment-credit-card-choice__text {
	font-weight: 600;
	color: #111;
}

.ccimgcontainer{
	display:flex;
	flex-direction:row;
}
.ccimg {
	height: 20px;
	margin-right:30px;
}

.checkout-recalc-box {
	border: 1px solid #e5e5e5;
	border-radius: 14px;
	padding: 40px;
	background: #fff;
}

.checkout-recalc-timer {
	font-size: 3.4rem;
	font-weight: 700;
	min-width: 70px;
	text-align: right;
}


/************************************/
/***     29. Fast Order Page   	  ***/
/************************************/

.fast-order-actions {
	margin-bottom: 80px;
}

.fast-order-card {
	width: 100%;
	min-height: 180px;
	height: 100%;
	border: 1px solid rgba(0, 0, 0, 0.08);
	background: #ffffff;
	border-radius: 22px;
	padding: 28px;
	text-align: center;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	position: relative;
	overflow: hidden;
	transition: all 0.25s ease;
	box-shadow: 0 14px 40px rgba(0, 0, 0, 0.06);
	cursor: pointer;
}

	.fast-order-card::before {
		content: "";
		position: absolute;
		inset: 0;
		background: linear-gradient(135deg, rgba(220, 0, 0, 0.09), rgba(18, 32, 31, 0.03));
		opacity: 0;
		transition: opacity 0.25s ease;
	}

	.fast-order-card:hover {
		transform: translateY(-6px);
		border-color: rgba(220, 0, 0, 0.35);
		box-shadow: 0 22px 55px rgba(0, 0, 0, 0.11);
	}

		.fast-order-card:hover::before {
			opacity: 1;
		}

.fast-order-card__icon {
	width: 54px;
	height: 54px;
	border-radius: 50%;
	background: #e30613;
	color: #ffffff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 22px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 24px;
	position: relative;
	z-index: 1;
}

.fast-order-card__content {
	position: relative;
	z-index: 1;
}

.fast-order-card__title {
	display: block;
	font-size: 18px;
	line-height: 1.25;
	font-weight: 700;
	color: #12201f;
	margin-bottom: 10px;
}

.fast-order-card__text {
	display: block;
	font-size: 14px;
	line-height: 1.5;
	color: #6c757d;
}

.fast-order-card__arrow {
	position: absolute;
	right: 24px;
	bottom: 24px;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: #12201f;
	color: #ffffff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
	z-index: 1;
	transition: all 0.25s ease;
}

.fast-order-card:hover .fast-order-card__arrow {
	background: #e30613;
	transform: translateX(4px);
}

@media (max-width: 767px) {
	.fast-order-card {
		min-height: 150px;
	}
}


.modal-overload {
	background-color: grey;
	position: absolute;
	width: 100%;
	height: 100%;
	z-index: 1;
	opacity: 0.5;
}

.order-mode-switch {
	position: fixed;
	left: 24px;
	bottom: 24px;
	z-index: 1055;
	margin: 0;
}

.order-mode-switch__button {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	border: 2px solid #1f1f1f;
	border-radius: 999px;
	padding: 13px 20px;
	background: #ffffff;
	color: #1f1f1f;
	font-weight: 600;
	line-height: 1;
	box-shadow: 0 12px 30px rgba(0, 0, 0, .25);
	cursor: pointer;
	transition: transform .15s ease, box-shadow .15s ease, opacity .15s ease;
}

	.order-mode-switch__button:hover {
		transform: translateY(-2px);
		box-shadow: 0 16px 36px rgba(0, 0, 0, .32);
		opacity: .95;
	}

	.order-mode-switch__button i {
		font-size: 16px;
	}

@media (max-width: 575.98px) {
	.order-mode-switch {
		left: 16px;
		bottom: 16px;
	}

	.order-mode-switch__button {
		padding: 12px 16px;
	}
}


/************************************/
/***     30. My Orders Page   	  ***/
/************************************/

.orders-list,
.invoice-list {
	display: grid;
	gap: 18px;
}

.order-history-card,
.invoice-history-card,
.orders-empty-box,
.invoices-empty-box {
	background: #fff;
	border-radius: 20px;
	padding: 24px 30px;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.06);
}

.order-history-main,
.invoice-history-main {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 20px;
}

.order-history-label,
.invoice-history-label,
.order-history-details span,
.invoice-history-details span {
	display: block;
	color: var(--text-color, #666);
	font-size: 14px;
	margin-bottom: 4px;
	text-transform: uppercase;
}

.order-history-main h3,
.invoice-history-main h3 {
	margin-bottom: 4px;
}

.order-history-main p,
.invoice-history-main p {
	margin-bottom: 0;
	color: var(--text-color, #666);
}

.order-status {
	align-self: flex-start;
	border-radius: 999px;
	background: rgba(0, 0, 0, 0.06);
	padding: 6px 12px;
	font-size: 13px;
	font-weight: 600;
	text-transform: uppercase;
}

.order-history-details,
.invoice-history-details {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	padding-top: 18px;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
}

@media (max-width: 767px) {
	.order-history-card,
	.orders-empty-box,{
		padding: 22px 16px;
	}

	.order-history-main,
	.order-history-details, {
		grid-template-columns: 1fr;
		flex-direction: column;
	}
	.invoice-history-card,
	.invoice-empty-box {
		padding: 22px 16px;
	}

	.invoice-history-main,
	.invoice-history-details {
		grid-template-columns: 1fr;
		flex-direction: column;
	}
}

.orders-filter-box {
	background: #fff;
	border-radius: 20px;
	padding: 24px 30px;
	margin-bottom: 30px;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.06);
}

.orders-filter-title {
	margin-bottom: 18px;
}

	.orders-filter-title h3 {
		margin-bottom: 6px;
	}

	.orders-filter-title p {
		margin-bottom: 0;
		color: var(--text-color, #666);
	}

.orders-client-box {
	margin-bottom: 20px;
	padding-bottom: 20px;
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.orders-client-current {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	text-transform: uppercase;
}

.orders-client-edit {
	border: 0;
	background: transparent;
	color: #000;
	cursor: pointer;
	padding: 0 4px;
	line-height: 1;
}

.orders-client-selector {
	margin-top: 12px;
}

.orders-filter-fields {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr)) auto;
	align-items: end;
	gap: 18px;
}

.orders-filter-box label {
	display: block;
	margin-bottom: 8px;
	font-weight: 600;
	color: var(--accent-color, #111);
}

.orders-filter-actions {
	display: flex;
	align-items: end;
}

@media (max-width: 767px) {
	.orders-filter-box {
		padding: 22px 16px;
	}

	.orders-filter-fields {
		grid-template-columns: 1fr;
	}

	.orders-filter-actions .btn-default {
		width: 100%;
	}
}

.shop-modal .modal-dialog {
	max-width: 980px;
}

.shop-modal__body {
	padding: 28px 32px 32px;
}

.order-details,
.invoice-detail{
	display: flex;
	flex-direction: column;
	gap: 32px;
}

.order-details__section-head,
.invoice-details__section-head {
	margin-bottom: 14px;
}

	.order-details__section-head h3,
	.invoice-details__section-head h3 {
		margin: 0;
		font-size: 22px;
		font-weight: 700;
		color: #101820;
	}

.order-details-table-wrap,
.invoice-details-table-wrap {
	overflow-x: auto;
	background: #fff;
	border-radius: 18px;
	box-shadow: 0 10px 35px rgba(0, 0, 0, .06);
}

.order-details-table,
.invoice-details-table {
	width: 100%;
	border-collapse: collapse;
	min-width: 760px;
}

	.order-details-table th,
	.invoice-details-table th {
		padding: 18px 20px 12px;
		font-size: 12px;
		font-weight: 700;
		color: #777;
		text-transform: uppercase;
		white-space: nowrap;
	}

	.order-details-table td,
	.invoice-details-table td {
		padding: 16px 20px;
		border-top: 1px solid #f0f0f0;
		font-size: 14px;
		color: #101820;
		vertical-align: middle;
	}

		.order-details-table td strong,
		.invoice-details-table td strong {
			font-weight: 700;
		}

		.order-details-table td span,
		.invoice-details-table td span {
			display: block;
			margin-top: 4px;
			font-size: 12px;
			color: #777;
		}

.order-details-files,
.invoice-details-files {
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid #eeeeee;
}

	.order-details-files li,
	.invoice-details-files li {
		padding: 12px 0;
		border-bottom: 1px solid #eeeeee;
	}

	.order-details-files a,
	.invoice-details-files a,
	.order-details-files span,
	.invoice-details-files span {
		font-size: 14px;
		font-weight: 600;
		color: #101820;
		text-decoration: none;
	}

		.order-details-files a:hover,
		.invoice-details-files a:hover {
			color: #9b0000;
			text-decoration: underline;
		}

@media (max-width: 767px) {
	.shop-modal__body {
		padding: 22px 18px;
	}

	.order-details-attachment,
	.invoice-details-attachment {
		align-items: flex-start;
		flex-direction: column;
	}

}

.nav-tabs {
	border: 0;
	gap: 12px;
	margin-bottom: 40px;
	display: flex;
	align-items: center;
}

	.nav-tabs .nav-item {
		margin: 0;
	}

	.nav-tabs .nav-link {
		border: none;
		border-radius: 12px;
		background: transparent;
		color: var(--e-global-color-text, #777);
		font-size: 14px;
		font-weight: 600;
		letter-spacing: 1px;
		text-transform: uppercase;
		padding: 14px 28px;
		transition: all 0.3s ease;
		position: relative;
		overflow: hidden;
	}

		.nav-tabs .nav-link:hover {
			color: var(--e-global-color-primary, #111);
			background: rgba(0,0,0,0.04);
		}

		.nav-tabs .nav-link.active {
			background: var(--e-global-color-accent, #111);
			color: #fff;
			box-shadow: 0 10px 25px rgba(0,0,0,0.08);
		}

		.nav-tabs .nav-link:focus-visible {
			outline: 2px solid #b30000;
			outline-offset: 2px;
		}

		/* Optional underline animation */
		.nav-tabs .nav-link::after {
			content: "";
			position: absolute;
			left: 50%;
			bottom: 8px;
			width: 0;
			height: 2px;
			background: currentColor;
			transition: all 0.3s ease;
			transform: translateX(-50%);
			opacity: 0;
		}

		.nav-tabs .nav-link:hover::after {
			width: 40%;
			opacity: 0.4;
		}

		.nav-tabs .nav-link.active::after {
			display: none;
		}

/* Tab content spacing */
.tab-content {
	padding-top: 0px;
}

/* Mobile */
@media (max-width: 767px) {
	.nav-tabs {
		gap: 8px;
		overflow-x: auto;
		flex-wrap: nowrap;
		padding-bottom: 5px;
	}

		.nav-tabs .nav-link {
			white-space: nowrap;
			padding: 12px 20px;
			font-size: 13px;
		}
}


/* ── Dealer Map ──────────────────────────────────────────────── */

.dealer-map-wrapper {
	position: relative;
	width: 100%;
	line-height: 0;
}

.dealer-map-bg {
	width: 100%;
	height: auto;
	display: block;
	user-select: none;
}

/* ── Map pins (tips) ─────────────────────────────────────── */
.map-pin {
	position: absolute;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: var(--accent-color);
	border: 2px solid rgba(255,255,255,0.95);
	transform: translate(-50%, -50%);
	cursor: pointer;
	box-shadow: 0 1px 6px rgba(0,0,0,0.50);
	z-index: 5;
	transition: box-shadow 0.15s;
}

.map-pin--hq {
	width: 26px;
	height: 26px;
	background: var(--primary-color);
	border: 3px solid rgba(255,255,255,0.95);
	box-shadow: 0 2px 10px rgba(0,0,0,0.55);
}

.map-pin--group {
	width: 23px;
	height: 23px;
	background: var(--group-color);
	border: 2.5px solid rgba(255,255,255,0.95);
	box-shadow: 0 2px 8px rgba(0,0,0,0.50);
}

/* Glow ring on hover — NO movement */
.map-pin:hover {
	box-shadow: 0 0 0 4px rgba(143,0,0,0.25), 0 2px 8px rgba(0,0,0,0.45);
}

.map-pin--hq:hover {
	box-shadow: 0 0 0 4px rgba(25,35,36,0.25), 0 2px 8px rgba(0,0,0,0.45);
}

.map-pin--group:hover {
	box-shadow: 0 0 0 4px rgba(217,130,43,0.30), 0 2px 8px rgba(0,0,0,0.45);
}

.map-pin:focus {
	outline: none;
	box-shadow: 0 0 0 4px rgba(143,0,0,0.40), 0 2px 8px rgba(0,0,0,0.45);
}

.map-pin--hq:focus {
	box-shadow: 0 0 0 4px rgba(25,35,36,0.40), 0 2px 8px rgba(0,0,0,0.45);
}

.map-pin--group:focus {
	box-shadow: 0 0 0 4px rgba(217,130,43,0.45), 0 2px 8px rgba(0,0,0,0.45);
}

/* ── Map legend ───────────────────────────────────────────── */
.map-legend {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 10px 28px;
	padding: 10px 0 4px;
}

.map-legend__item {
	display: flex;
	align-items: center;
	gap: 9px;
}

.map-legend__dot {
	width: 14px;
	height: 14px;
	border-radius: 50%;
	border: 2px solid rgba(255,255,255,0.95);
	box-shadow: 0 1px 4px rgba(0,0,0,0.35);
	flex-shrink: 0;
}

.map-legend__dot--hq    { background: var(--primary-color); }
.map-legend__dot--group { background: var(--group-color); }
.map-legend__dot--sole  { background: var(--accent-color); }

.map-legend__label {
	font-size: 13px;
	font-weight: 500;
	color: var(--text-color);
}

/* ── Default contacts box (countries not covered by a dealer) ──────── */
.dealer-default-box {
	background-color: var(--secondery-color);
	border-top: 3px solid var(--accent-color);
	padding: 28px 32px 32px;
	box-shadow: 0 2px 10px rgba(0,0,0,0.05);
	margin-bottom:100px;
}

.dealer-default-box__header {
	text-align: center;
	margin-bottom: 18px;
}

.dealer-default-box__title {
	font-size: 20px;
	font-weight: 700;
	color: var(--primary-color);
	margin-bottom: 4px;
}

.dealer-default-box__subtitle {
	font-size: 14px;
	color: var(--text-color);
	opacity: 0.75;
	margin-bottom: 0;
}

/* Hover tooltip */
.map-tooltip {
	position: absolute;
	pointer-events: none;
	background: var(--primary-color);
	color: #ffffff;
	padding: 10px 16px 12px;
	min-width: 170px;
	max-width: 240px;
	box-shadow: 0 8px 28px rgba(0,0,0,0.28);
	z-index: 20;
	transform: translateY(-50%);
	/* reset line-height ereditato da .dealer-map-wrapper (line-height:0) */
	line-height: 1.4;
}

.map-tooltip::before {
	content: '';
	position: absolute;
	left: -7px;
	right: auto;
	top: 50%;
	transform: translateY(-50%);
	border-style: solid;
	border-width: 6px 8px 6px 0;
	border-color: transparent var(--primary-color) transparent transparent;
}

/* Arrow flips to the right side when tooltip is placed left of the cursor */
.map-tooltip--left::before {
	left: auto;
	right: -7px;
	border-width: 6px 0 6px 8px;
	border-color: transparent transparent transparent var(--primary-color);
}

.map-tooltip__country {
	font-weight: 700;
	font-size: 14px;
	margin-bottom: 2px;
	white-space: nowrap;
}

.map-tooltip__name {
	font-size: 12px;
	opacity: 0.8;
	margin-bottom: 7px;
}

.map-tooltip__cta {
	font-size: 11px;
	opacity: 0.55;
	letter-spacing: 0.02em;
}

/* ── Dealer modal ─────────────────────────────────────────── */
.dealer-modal .modal-content {
	border: 0;
	overflow: hidden;
}

/* Header — dark, company info */
.dealer-modal__header {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 16px;
	padding: 28px 32px 24px;
	background: var(--primary-color);
	color: #ffffff;
}

.dealer-modal__company { flex: 1; min-width: 0; }

.dealer-modal__badge {
	display: inline-block;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding: 3px 12px;
	background: rgba(255,255,255,0.15);
	color: #ffffff;
	margin-bottom: 12px;
}

.dealer-modal__badge--hq { background: var(--accent-color); }

.dealer-modal__company-name {
	margin: 0 0 6px;
	font-size: 22px;
	font-weight: 700;
	color: #ffffff;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.dealer-modal__address {
	margin: 0 0 8px;
	font-size: 13px;
	color: rgba(255,255,255,0.70);
	line-height: 1.5;
	white-space: pre-line;
}

.dealer-modal__company-phone {
	margin: 0;
	font-size: 14px;
	color: rgba(255,255,255,0.80);
	display: flex;
	align-items: center;
	gap: 8px;
}

.dealer-modal__company-phone i { font-size: 12px; opacity: .7; }
.dealer-modal__company-phone a { color: inherit; text-decoration: none; }
.dealer-modal__company-phone a:hover { text-decoration: underline; }

.dealer-modal__close {
	filter: invert(1);
	opacity: 0.55;
	flex-shrink: 0;
	margin-top: 2px;
	transition: opacity 0.15s;
}
.dealer-modal__close:hover { opacity: 1; }

/* Body */
.dealer-modal__body { padding: 28px 32px 32px; min-height: 120px; }

.dealer-modal__loading {
	display: flex;
	justify-content: center;
	padding: 24px 0;
}

.dealer-modal__empty {
	text-align: center;
	color: #888;
	font-size: 14px;
	padding: 24px 0;
}

/* Contacts grid: auto-fit centered — 2 cols on wide modal, 1 col on narrow */
.dealer-modal__contacts-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
	gap: 16px;
	justify-content: center;
}

/* ── Single contact card — horizontal layout ─────────────── */
.dealer-contact {
	display: flex;
	flex-direction: row;
	align-items: stretch;
	border: 1px solid #e8e8e8;
	overflow: hidden;
	background: #fff;
	box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}

/* Avatar column: fixed-width square on the left */
.dealer-contact__photo {
	position: relative;
	width: 120px;
	min-width: 120px;
	flex-shrink: 0;
	overflow: hidden;
	background: #f0f0f0;
}

/* La foto copre il placeholder; se manca il file, onerror la rimuove
   e il placeholder sottostante torna visibile */
.dealer-contact__photo img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top center;
	display: block;
}

.dealer-contact__photo-placeholder {
	width: 100%;
	height: 100%;
	min-height: 90px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #ccc;
	font-size: 30px;
}

.dealer-contact__info { padding: 14px 16px; flex: 1; min-width: 0; }

.dealer-contact__name {
	margin: 0 0 2px;
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--primary-color);
}

.dealer-contact__role {
	margin: 0;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #888;
}

.dealer-contact__branch {
	margin: 2px 0 0;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.07em;
	color: var(--accent-color);
}

.dealer-contact__divider {
	margin: 10px 0;
	border-color: var(--accent-color);
	opacity: 1;
}

.dealer-contact__links {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 7px;
}

.dealer-contact__links li {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 13px;
}

.dealer-contact__links i {
	width: 14px;
	text-align: center;
	color: var(--accent-color);
	flex-shrink: 0;
	font-size: 13px;
}

.dealer-contact__links a {
	color: var(--primary-color);
	text-decoration: none;
	word-break: break-all;
}
.dealer-contact__links a:hover {
	color: var(--accent-color);
	text-decoration: underline;
}

/* fa-brands (WhatsApp, LinkedIn) in green / blue */
.dealer-contact__links .fa-whatsapp { color: #25d366; }
.dealer-contact__links .fa-linkedin  { color: #0077b5; }

/* ── Mobile dealer grid ──────────────────────────────────── */
.dealer-mobile-grid {
	display: flex;
	flex-direction: column;
	gap: 1px;
	background: #e8e8e8;
	border: 1px solid #e8e8e8;
	overflow: hidden;
}

.dealer-mobile-card {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 14px 16px;
	background: #fff;
	cursor: pointer;
	user-select: none;
	transition: background 0.12s;
}
.dealer-mobile-card:hover,
.dealer-mobile-card:focus  { background: #f7f7f7; }
.dealer-mobile-card:focus-visible { outline: 2px solid #b30000; outline-offset: -2px; }
.dealer-mobile-card--hq   { background: #f9f6f3; }
.dealer-mobile-card--hq:hover { background: #f2ede8; }
.dealer-mobile-card--group   { background: #fcf3e9; }
.dealer-mobile-card--group:hover { background: #f8e9d8; }

.dealer-mobile-card__code {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--accent-color);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.03em;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.dealer-mobile-card--hq .dealer-mobile-card__code { background: var(--primary-color); }
.dealer-mobile-card--group .dealer-mobile-card__code { background: var(--group-color); }

.dealer-mobile-card__text {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.dealer-mobile-card__country {
	font-size: 14px;
	font-weight: 600;
	color: var(--primary-color);
}
.dealer-mobile-card__city {
	font-size: 12px;
	color: #888;
}

.dealer-mobile-card__hq-badge {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.08em;
	background: var(--accent-color);
	color: #fff;
	padding: 2px 8px;
	flex-shrink: 0;
}

.dealer-mobile-card__group-badge {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.08em;
	background: var(--group-color);
	color: #fff;
	padding: 2px 8px;
	flex-shrink: 0;
}

.dealer-mobile-card__arrow {
	color: #ccc;
	font-size: 11px;
	flex-shrink: 0;
}

/* Modal responsive tweaks */
@media (max-width: 575px) {
	.dealer-modal__header  { padding: 20px 18px 18px; }
	.dealer-modal__body    { padding: 18px 18px 24px; }
	.dealer-modal__company-name { font-size: 18px; }
}


/* =========================
   Payment status icons
   ========================= */

.payment-status-cell {
	width: 50px;
	text-align: center;
	vertical-align: middle;
}

.payment-status-icon {
	font-size: 18px;
	transition: transform 0.2s ease;
}

	.payment-status-icon:hover {
		transform: scale(1.08);
	}

	/* Scaduto */
	.payment-status-icon.is-overdue {
		color: #d92d20;
	}

	/* Futuro */
	.payment-status-icon.is-upcoming {
		color: #f59e0b;
	}

/* =========================
   Payment action button
   ========================= */

.payment-actions-cell {
	width: 42px;
	vertical-align: middle;
}

.payment-link-btn {
	width: 30px;
	height: 30px;
	border-radius: 8px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	color: var(--e-global-color-text, #777);
	text-decoration: none;
	transition: all 0.2s ease;
}

	.payment-link-btn i {
		font-size: 15px;
	}

	.payment-link-btn:hover {
		background: rgba(0,0,0,0.05);
		color: var(--e-global-color-primary, #111);
	}

/* =============================================
   WAREHOUSE / STOCK PAGE
   ============================================= */

.stock-warehouse-section {
    padding-bottom: 20px;
}

.stock-warehouse-title {
    font-size: 16px;
    font-weight: 700;
    color: #101820;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.stock-metals-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 20px;
}

.stock-metal-card {
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.06);
    overflow: hidden;
    transition: box-shadow 0.2s ease;
	padding:20px;
}

    .stock-metal-card:hover {
        box-shadow: 0 10px 36px rgba(0, 0, 0, 0.10);
    }

.stock-metal-header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 20px;
    background: #f9f9f9;
}

.stock-metal-code {
    font-size: 20px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.5px;
}

.stock-metal-name {
    font-size: 14px;
    font-weight: 600;
    color: #444;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.stock-metal-body {
    padding: 16px 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.stock-metal-row {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 13px;
    color: #555;
    line-height: 1.4;
}

    .stock-metal-row i {
        margin-top: 2px;
        flex-shrink: 0;
    }

.stock-metal-available {
    color: #101820;
    padding-top: 8px;
    border-top: 1px solid #f0f0f0;
    font-size: 14px;
}

@media (max-width: 767px) {
    .stock-metals-grid {
        grid-template-columns: 1fr;
    }
}

/* Stock transactions table */
.stock-transactions-table {
    min-width: 700px;
}

.stock-row-saldo {
	background-color: rgba(26, 127, 75, 0.04);
}

.stock-row-carico {
    background-color: rgba(26, 127, 75, 0.04);
}

.stock-row-scarico {
    background-color: rgba(192, 57, 43, 0.04);
}

.stock-tipo-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 3px 10px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.stock-badge-saldo {
	background: rgb(187, 187, 187, 0.25);
	color: #1a7f4b;
}

.stock-badge-carico {
    background: rgb(60, 204, 130, 0.25);
    color: #1a7f4b;
}

.stock-badge-scarico {
    background: rgb(208, 38, 20, 0.25);
    color: #c0392b;
}

.stock-qty-positive {
    color: #1a7f4b;
    font-weight: 600;
}

.stock-qty-negative {
    color: #c0392b;
    font-weight: 600;
}

.stock-doc-cell {
    font-size: 13px;
    color: #555;
}

.stock-file-cell {
    white-space: nowrap;
    text-align: center;
}

.stock-file-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 6px;
    font-size: 16px;
    transition: opacity 0.15s;
    text-decoration: none;
}

    .stock-file-link:hover {
        opacity: 0.75;
    }

.stock-file-pdf {
    color: #e74c3c;
}

.stock-file-video {
    color: #2980b9;
}

/* Report PDF button */
.btn-report-pdf {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    background: #101820;
    color: #fff;
    border: none;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.18s, transform 0.12s, box-shadow 0.18s;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18);
}

    .btn-report-pdf i {
        font-size: 15px;
    }

    .btn-report-pdf:hover {
        background: #2c2c2c;
        box-shadow: 0 6px 20px rgba(0, 0, 0, 0.24);
        transform: translateY(-1px);
    }

    .btn-report-pdf:active {
        transform: translateY(0);
        box-shadow: 0 3px 8px rgba(0, 0, 0, 0.18);
    }

    .btn-report-pdf:disabled {
        opacity: 0.6;
        cursor: not-allowed;
        transform: none;
    }



/************************************/
/***      31. Compare css          ***/
/************************************/

/* --- Compare Toggle Button (on product card) --- */
.compare-toggle {
    position: absolute;
    top: 40px;
    right: 20px;
    font-size: 15px;
    color: #000000;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer !important;
    z-index: 5;
    line-height: 1;
    transition: color 0.2s ease;
}

    .compare-toggle:hover {
        color: #555;
    }

    .compare-toggle.is-active {
        color: #e10717;
    }

/* --- Compare Bar (fixed bottom) --- */
.compare-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: #192324;
    color: #fff;
    z-index: 1300;
    padding: 10px 0;
    transform: translateY(100%);
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.2);
}

    .compare-bar.is-visible {
        transform: translateY(0);
    }

.compare-bar__inner {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: nowrap;
}

.compare-bar__label {
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    opacity: 0.6;
    white-space: nowrap;
    flex-shrink: 0;
}

.compare-bar__slots {
    display: flex;
    gap: 8px;
    flex: 1;
    min-width: 0;
}

.compare-bar__slot {
    position: relative;
    width: 56px;
    height: 56px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 4px;
    overflow: hidden;
    flex-shrink: 0;
}

    .compare-bar__slot img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        scale: 0.8;
    }

.compare-bar__slot-code {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(0, 0, 0, 0.55);
    color: #fff;
    font-size: 8px;
    text-align: center;
    padding: 2px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.compare-bar__slot-remove {
    position: absolute;
    top: 2px;
    right: 2px;
    width: 16px;
    height: 16px;
    background: rgba(0, 0, 0, 0.6);
    border: none;
    border-radius: 50%;
    color: #fff;
    font-size: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: 0;
    line-height: 1;
    transition: background 0.15s ease;
}

    .compare-bar__slot-remove:hover {
        background: #8F0000;
    }

.compare-bar__actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

.compare-bar__count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    background: #8F0000;
    border-radius: 50%;
    font-size: 11px;
    font-weight: 700;
    margin-left: 4px;
}

/* --- Compare Table Page --- */
.compare-table-wrapper {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.compare-table {
    width: 100%;
    min-width: 560px;
    border-collapse: separate;
    border-spacing: 0;
}

    .compare-table th,
    .compare-table td {
        padding: 14px 16px;
        border: 1px solid #eaeaea;
        vertical-align: middle;
    }

.compare-table__label-col {
    width: 160px;
    min-width: 140px;
}

.compare-table__product-col {
    min-width: 180px;
}

.compare-table__row-label {
    background: #f8f8f8;
    font-weight: 600;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #666;
    white-space: nowrap;
}

.compare-table__product-header {
    position: relative;
    text-align: center;
    padding: 8px 28px 8px 8px;
}

.compare-table__product-img {
    width: 100%;
    max-width: 130px;
    height: 110px;
    object-fit: contain;
    display: block;
    margin: 0 auto 10px;
    scale: 0.85;
}

.compare-table__product-code {
    font-weight: 700;
    font-size: 14px;
    margin-bottom: 6px;
}

.compare-table__product-link {
    font-size: 12px;
    color: #8F0000;
    text-decoration: none;
    display: inline-block;
}

    .compare-table__product-link:hover {
        text-decoration: underline;
        color: #8F0000;
    }

.compare-table__remove-btn {
    position: absolute;
    top: 6px;
    right: 6px;
    width: 22px;
    height: 22px;
    background: #f0f0f0;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    color: #555;
    text-decoration: none;
    transition: background 0.15s ease, color 0.15s ease;
}

    .compare-table__remove-btn:hover {
        background: #8F0000;
        color: #fff;
    }

.compare-table__yes {
    text-align: center;
    color: #2e7d32;
    font-size: 15px;
}

.compare-table__no {
    text-align: center;
    color: #ccc;
    font-size: 15px;
}

.compare-table__section-header {
    background: #192324;
    color: #fff;
    font-weight: 600;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding: 8px 16px;
}

.compare-color-dot {
    display: inline-block;
    width: 13px;
    height: 13px;
    border-radius: 50%;
    vertical-align: middle;
    margin-right: 5px;
    border: 1px solid rgba(0,0,0,0.12);
}

.compare-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

/* --- Compare: fineness clickable tags --- */
.compare-fineness-tag {
    background: #f0f0f0;
    border: 1px solid #ccc;
    border-radius: 20px;
    padding: 2px 10px;
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    color: #555;
    transition: background 0.2s, color 0.2s, border-color 0.2s;
}

.compare-fineness-tag:hover {
    background: #e0e0e0;
    border-color: #aaa;
    color: #222;
}

.compare-fineness-tag.is-active {
    background: #e10717;
    border-color: #e10717;
    color: #fff;
}

/* --- Compare: Processing Attitude (ECharts) --- */
.compare-attitude-section {
    margin-top: 24px;
    border: 1px solid #eaeaea;
    border-radius: 4px;
    overflow: hidden;
}

.compare-attitude-section-title {
    background: #192324;
    color: #fff;
    padding: 14px 20px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

#compare-attitude-chart {
    width: 100%;
    height: 560px;
    background: #fff;
}


/* ============================================================
   Blog article — immagini e testo
   ============================================================ */

/* Testo giustificato su tutte le dimensioni schermo */
.post-entry p,
.post-entry li {
    text-align: justify;
}

/* Immagini: centrate, 50% larghezza su desktop */
.post-entry p img {
    display: block;
    margin-left: auto;
    margin-right: auto;
    width: 50%;
    height: auto;
}

/* Mobile: immagini a piena larghezza */
@media (max-width: 767px) {
    .post-entry p img {
        width: 100%;
    }
}


/* ============================================================
   Area Interna — Hub page
   ============================================================ */

.hub-section {
    padding: 60px 0 80px;
}

.hub-welcome {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 40px;
    padding: 18px 24px;
    background: #f8f8f6;
    border-left: 4px solid #e10717;
    border-radius: 4px;
}

.hub-welcome__icon {
    font-size: 2rem;
    color: #e10717;
    flex-shrink: 0;
}

.hub-welcome__label {
    display: block;
    font-size: 13px;
    color: #888;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.hub-welcome__company {
    font-size: 1.1rem;
    color: #1a1a1a;
}

/* Card */
.hub-card {
    background: #fff;
    border: 1px solid #e8e8e4;
    border-radius: 8px;
    padding: 28px 28px 20px;
    height: 100%;
    transition: box-shadow .25s ease, transform .25s ease;
}

.hub-card:hover {
    box-shadow: 0 8px 30px rgba(0,0,0,.10);
    transform: translateY(-3px);
}

.hub-card--admin {
    border-color: #c5d4e8;
    background: #f5f8fc;
}

.hub-card__header {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 20px;
    padding-bottom: 16px;
    border-bottom: 1px solid #efefeb;
}

.hub-card__icon-wrap {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #f4f4f0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: #e10717;
    font-size: 1.1rem;
    transition: background .2s ease;
}

.hub-card--admin .hub-card__icon-wrap {
    background: #dce8f5;
    color: #2c5f8a;
}

.hub-card:hover .hub-card__icon-wrap {
    background: #e10717;
    color: #fff;
}

.hub-card--admin:hover .hub-card__icon-wrap {
    background: #2c5f8a;
    color: #fff;
}

.hub-card__title {
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #1a1a1a;
    margin: 0;
}

.hub-card__links {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.hub-card__link {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 10px;
    border-radius: 5px;
    color: #444;
    font-size: 14px;
    text-decoration: none;
    transition: background .18s ease, color .18s ease, padding-left .18s ease;
}

.hub-card__link i {
    font-size: 13px;
    width: 16px;
    text-align: center;
    color: #999;
    transition: color .18s ease;
    flex-shrink: 0;
}

.hub-card__link:hover {
    background: #fdf2f3;
    color: #e10717;
    padding-left: 16px;
}

.hub-card__link:hover i {
    color: #e10717;
}

.hub-card--admin .hub-card__link:hover {
    background: #edf3fb;
    color: #2c5f8a;
}


/* =============================================
   31. Fasce Listino Page
   ============================================= */

.fasce-filter-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 16px;
    align-items: end;
}

.fasce-filter-grid label {
    display: block;
    margin-bottom: 8px;
    font-weight: 600;
    color: var(--accent-color, #111);
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.fasce-filter-actions {
    grid-column: 1 / -1;
    display: flex;
    gap: 12px;
    justify-content: flex-end;
    padding-top: 12px;
    border-top: 1px solid rgba(0,0,0,.06);
    flex-wrap: wrap;
}

.btn-fascia-outline {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 10px 22px;
    border: 1.5px solid #ccc;
    background: transparent;
    color: #555;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: border-color .2s, color .2s, background .2s;
    text-decoration: none;
    white-space: nowrap;
}

.btn-fascia-outline:hover {
    border-color: #1a1a1a;
    color: #1a1a1a;
    background: #f5f5f5;
}

.btn-fascia-new {
    background: #1a1a1a !important;
    color: #fff !important;
}

.btn-fascia-new:hover {
    background: var(--accent-color, #e10717) !important;
    color: #fff !important;
}

.fasce-table {
    font-size: 13px;
    background: #fff;
    box-shadow: 0 6px 28px rgba(0,0,0,.06);
}

.fasce-table thead th {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .06em;
    font-weight: 700;
    padding: 12px 10px;
    background: #1a1a1a;
    color: #fff;
}

.fasce-table tbody td {
    padding: 10px;
    vertical-align: middle;
    border-color: #f0f0f0;
}

.fasce-table tbody tr:hover td {
    background: #fafafa;
}

.fascia-row-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border: 1.5px solid;
    background: transparent;
    border-radius: 4px;
    cursor: pointer;
    font-size: 12px;
    transition: background .18s, color .18s;
}

.fascia-row-btn--view {
    border-color: #1a1a1a;
    color: #1a1a1a;
}

.fascia-row-btn--view:hover {
    background: #1a1a1a;
    color: #fff;
}

.fascia-row-btn--edit {
    border-color: #0d6efd;
    color: #0d6efd;
}

.fascia-row-btn--edit:hover {
    background: #0d6efd;
    color: #fff;
}

/* --- Gestione Fidi: pannello Filtra / Situazione attuale --- */
.fidi-col-title {
    text-transform: uppercase;
    font-size: 12px;
    letter-spacing: .06em;
    font-weight: 700;
    color: var(--accent-color, #111);
    margin-bottom: 14px;
}

/* Ordinamento tramite intestazioni di colonna nella griglia Fidi */
.fidi-th-sortable {
    cursor: pointer;
    user-select: none;
    white-space: nowrap;
}

.fidi-th-sortable:hover {
    color: var(--accent-color, #fff);
}

.fidi-th-sortable i {
    font-size: 11px;
    opacity: .6;
    margin-left: 4px;
}

.fidi-th-sortable i.fa-sort-up,
.fidi-th-sortable i.fa-sort-down {
    opacity: 1;
}

.fidi-situazione-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 6px 0;
    border-bottom: 1px solid rgba(0,0,0,.06);
    font-size: 14px;
}

.fidi-situazione-row:last-child {
    border-bottom: none;
}

.fidi-situazione-row--danger strong {
    color: #dc3545;
}

/* Ellissi nella paginazione della griglia Fidi: neutra, non cliccabile */
.page-pagination ul li.disabled span {
    background: transparent;
    color: var(--text-color, #666);
    font-weight: 400;
    width: auto;
    cursor: default;
}

/* Bottone salva fascia visivamente disabilitato (ma cliccabile per mostrare errori) */
.btn-salva-not-ready {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: auto !important; /* rimane cliccabile */
}

.fascia-row-btn--close {
    border-color: var(--accent-color, #e10717);
    color: var(--accent-color, #e10717);
}

.fascia-row-btn--close:hover {
    background: var(--accent-color, #e10717);
    color: #fff;
}

.fascia-type-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 24px 16px;
    border: 2px solid #e8e8e4;
    border-radius: 8px;
    cursor: pointer;
    text-align: center;
    transition: border-color .2s, background .2s, box-shadow .2s;
    background: #fff;
}

.fascia-type-card:hover {
    border-color: #1a1a1a;
    box-shadow: 0 4px 16px rgba(0,0,0,.08);
}

.fascia-type-card.selected {
    border-color: var(--accent-color, #e10717);
    background: #fff5f5;
}

.fascia-type-card i {
    font-size: 2rem;
    color: #aaa;
    transition: color .2s;
}

.fascia-type-card:hover i,
.fascia-type-card.selected i {
    color: var(--accent-color, #e10717);
}

.fascia-type-card strong {
    font-size: .9rem;
    font-weight: 700;
    color: #1a1a1a;
}

.fascia-type-card span {
    font-size: .78rem;
    color: #888;
    line-height: 1.4;
}

.fascia-step .fascia-type-card {
    height: 100%;
}

@media (max-width: 767px) {
    .fasce-filter-grid {
        grid-template-columns: 1fr;
    }

    .fasce-filter-actions {
        flex-direction: column;
    }

    .btn-fascia-outline,
    .btn-shop-default {
        width: 100%;
        justify-content: center;
        text-align: center;
    }
}

.hub-card--admin .hub-card__link:hover i {
    color: #2c5f8a;
}

@media (max-width: 767px) {
    .hub-section {
        padding: 40px 0 60px;
    }
    .hub-card {
        padding: 20px 18px 16px;
    }
}


/* ============================================================
   Account Manage pages
   ============================================================ */

.manage-section {
    padding: 60px 0 80px;
}

/* Sidebar nav */
.manage-nav {
    background: #fff;
    border: 1px solid #e8e8e4;
    border-radius: 8px;
    overflow: hidden;
    position: sticky;
    top: 100px;
}

.manage-nav__header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 20px 20px 16px;
    border-bottom: 1px solid #efefeb;
    background: #f8f8f6;
}

.manage-nav__avatar {
    font-size: 1.4rem;
    color: #e10717;
}

.manage-nav__label {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #1a1a1a;
}

.manage-nav__list {
    list-style: none;
    padding: 8px 0;
    margin: 0;
}

.manage-nav__link {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 20px;
    color: #555;
    font-size: 14px;
    text-decoration: none;
    transition: background .15s ease, color .15s ease, padding-left .15s ease;
    border-left: 3px solid transparent;
}

.manage-nav__link i {
    font-size: 13px;
    width: 15px;
    text-align: center;
    color: #bbb;
    transition: color .15s ease;
    flex-shrink: 0;
}

.manage-nav__link:hover {
    background: #fdf2f3;
    color: #e10717;
    padding-left: 24px;
}

.manage-nav__link:hover i {
    color: #e10717;
}

.manage-nav__link.active {
    background: #fdf2f3;
    color: #e10717;
    font-weight: 600;
    border-left-color: #e10717;
}

.manage-nav__link.active i {
    color: #e10717;
}

.manage-nav__footer {
    padding: 12px 16px;
    border-top: 1px solid #efefeb;
}

.manage-nav__back {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 4px;
    font-size: 13px;
    color: #888;
    text-decoration: none;
    transition: color .15s ease;
}

.manage-nav__back:hover {
    color: #e10717;
}

/* Content card */
.manage-card {
    background: #fff;
    border: 1px solid #e8e8e4;
    border-radius: 8px;
    padding: 36px 40px 40px;
}

/* Section title */
.manage-section-title {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 28px;
    padding-bottom: 18px;
    border-bottom: 1px solid #efefeb;
}

.manage-section-title i {
    font-size: 1.2rem;
    color: #e10717;
}

.manage-section-title h3 {
    margin: 0;
    font-size: 1.15rem;
    font-weight: 700;
    color: #1a1a1a;
}

.manage-section-subtitle {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 24px 0 16px;
}

.manage-section-subtitle i {
    font-size: 1rem;
    color: #e10717;
}

.manage-section-subtitle h4 {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
    color: #1a1a1a;
}

/* Form fields */
.manage-field {
    margin-bottom: 22px;
}

.manage-field__label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .03em;
    text-transform: uppercase;
    color: #555;
    margin-bottom: 8px;
}

.manage-field__input {
    display: block;
    width: 100%;
    padding: 11px 14px;
    font-size: 14px;
    font-family: inherit;
    color: #1a1a1a;
    background: #fafaf8;
    border: 1px solid #ddd;
    border-radius: 6px;
    outline: none;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.manage-field__input:focus {
    border-color: #e10717;
    box-shadow: 0 0 0 3px rgba(225, 7, 23, .08);
    background: #fff;
}

.manage-field__input:disabled {
    background: #f0f0ec;
    color: #999;
    cursor: not-allowed;
}

.manage-field__password-wrap {
    position: relative;
}

.manage-field__password-wrap .manage-field__input {
    padding-right: 44px;
}

.manage-field__toggle-pw {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    cursor: pointer;
    color: #aaa;
    padding: 4px;
    transition: color .15s ease;
}

.manage-field__toggle-pw:hover {
    color: #555;
}

.manage-field__hint {
    display: block;
    font-size: 12px;
    color: #999;
    margin-top: 5px;
}

.manage-field__error {
    display: block;
    font-size: 12px;
    color: #e10717;
    margin-top: 5px;
}

/* Buttons */
.manage-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 28px;
}

.manage-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 22px;
    font-size: 14px;
    font-family: inherit;
    font-weight: 600;
    border-radius: 6px;
    border: 2px solid transparent;
    cursor: pointer;
    text-decoration: none;
    transition: background .2s ease, color .2s ease, border-color .2s ease, transform .15s ease;
    white-space: nowrap;
}

.manage-btn:hover {
    transform: translateY(-1px);
}

.manage-btn--primary {
    background: #e10717;
    color: #fff;
    border-color: #e10717;
}

.manage-btn--primary:hover {
    background: #c00615;
    border-color: #c00615;
    color: #fff;
}

.manage-btn--outline {
    background: transparent;
    color: #555;
    border-color: #ddd;
}

.manage-btn--outline:hover {
    background: #f8f8f6;
    border-color: #bbb;
    color: #1a1a1a;
}

.manage-btn--danger {
    background: #fff;
    color: #c00615;
    border-color: #c00615;
}

.manage-btn--danger:hover {
    background: #c00615;
    color: #fff;
}

/* Alerts */
.manage-alert {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 16px 18px;
    border-radius: 6px;
    margin-bottom: 24px;
    font-size: 14px;
    line-height: 1.5;
}

.manage-alert i {
    font-size: 1.1rem;
    flex-shrink: 0;
    margin-top: 1px;
}

.manage-alert p {
    margin: 4px 0 0;
    color: inherit;
}

.manage-alert a {
    color: inherit;
    text-decoration: underline;
}

.manage-alert--error {
    background: #fff2f3;
    color: #c00615;
    border: 1px solid #f5c0c4;
}

.manage-alert--warning {
    background: #fffbf0;
    color: #8a6400;
    border: 1px solid #f0dfa0;
}

.manage-alert--success {
    background: #f0faf4;
    color: #1a7a3c;
    border: 1px solid #b3e0c4;
}

/* Divider */
.manage-divider {
    border: none;
    border-top: 1px solid #efefeb;
    margin: 28px 0;
}

/* 2FA status badge */
.manage-2fa-status {
    margin-bottom: 24px;
}

.manage-2fa-status__badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 18px;
    border-radius: 20px;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .03em;
}

.manage-2fa-status__badge--on {
    background: #f0faf4;
    color: #1a7a3c;
    border: 1px solid #b3e0c4;
}

.manage-2fa-status__badge--off {
    background: #f8f8f6;
    color: #888;
    border: 1px solid #ddd;
}

.manage-2fa-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

/* Steps (EnableAuthenticator) */
.manage-steps {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
}

.manage-step {
    display: flex;
    gap: 20px;
    padding: 0 0 32px;
    position: relative;
}

.manage-step::before {
    content: '';
    position: absolute;
    left: 18px;
    top: 42px;
    bottom: 0;
    width: 2px;
    background: #efefeb;
}

.manage-step:last-child::before {
    display: none;
}

.manage-step__number {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #e10717;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    position: relative;
    z-index: 1;
}

.manage-step__content {
    flex: 1;
    padding-top: 8px;
}

.manage-step__content p {
    margin: 0 0 12px;
    font-size: 14px;
    line-height: 1.6;
    color: #444;
}

/* QR code block */
.manage-qr-block {
    display: flex;
    align-items: flex-start;
    gap: 24px;
    flex-wrap: wrap;
    padding: 20px;
    background: #f8f8f6;
    border: 1px solid #e8e8e4;
    border-radius: 8px;
    margin: 12px 0;
}

.manage-qr-code {
    background: #fff;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 6px;
}

.manage-qr-key {
    display: flex;
    flex-direction: column;
    gap: 6px;
    justify-content: center;
}

.manage-qr-key__label {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #888;
    font-weight: 600;
}

.manage-qr-key__value {
    font-size: 14px;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 6px 12px;
    color: #1a1a1a;
    letter-spacing: .08em;
}

/* Recovery codes grid */
.manage-recovery-codes {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 20px;
    background: #f8f8f6;
    border: 1px solid #e8e8e4;
    border-radius: 8px;
    margin: 0 0 24px;
}

.manage-recovery-codes__row {
    display: flex;
    gap: 16px;
}

.manage-recovery-codes__code {
    font-size: 15px;
    letter-spacing: .1em;
    color: #1a1a1a;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 5px 12px;
    min-width: 140px;
    text-align: center;
}

/* Status message from _StatusMessage partial */
.manage-card .alert-success {
    background: #f0faf4;
    color: #1a7a3c;
    border: 1px solid #b3e0c4;
    border-radius: 6px;
    padding: 12px 16px;
    font-size: 14px;
    margin-bottom: 20px;
}

.manage-card .alert-danger {
    background: #fff2f3;
    color: #c00615;
    border: 1px solid #f5c0c4;
    border-radius: 6px;
    padding: 12px 16px;
    font-size: 14px;
    margin-bottom: 20px;
}

@media (max-width: 767px) {
    .manage-section {
        padding: 40px 0 60px;
    }
    .manage-card {
        padding: 24px 20px 28px;
    }
    .manage-nav {
        position: static;
        margin-bottom: 8px;
    }
    .manage-qr-block {
        flex-direction: column;
    }
    .manage-recovery-codes__row {
        flex-direction: column;
        gap: 6px;
    }
}

/* =====================================================
   ORDER MANAGER
   ===================================================== */

.om-ordini-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.om-ordine-card {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 2px 12px rgba(0,0,0,.07);
    overflow: hidden;
    border: 1px solid #ececec;
    transition: box-shadow .2s;
}

.om-ordine-card:hover {
    box-shadow: 0 4px 20px rgba(0,0,0,.12);
}

/* Testata cliccabile */
.om-testata-row {
    display: grid;
    grid-template-columns: 1fr auto 32px;
    align-items: stretch;
    cursor: pointer;
    user-select: none;
    gap: 0;
}

.om-testata-row:hover .om-testata-main {
    background: #fafafa;
}

/* Colonna sinistra — dati descrittivi */
.om-testata-main {
    padding: 16px 20px;
    display: flex;
    flex-direction: column;
    gap: 5px;
    border-right: 1px solid #ececec;
    transition: background .15s;
}

.om-info-row {
    display: flex;
    align-items: baseline;
    gap: 6px;
    font-size: 13px;
    line-height: 1.4;
}

.om-info-label {
    color: #999;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .04em;
    white-space: nowrap;
    min-width: 110px;
    flex-shrink: 0;
}

.om-info-value {
    color: #283132;
}

.om-cliente-line {
    font-size: 15px;
    font-weight: 700;
    color: #283132;
    margin-bottom: 4px;
}

.om-cliente-line .om-cd {
    color: #8F0000;
    margin-right: 4px;
}

.om-cliente-line.is-parked {
    color: #8F0000;
}

.om-parcheggio-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 4px;
}

/* Colonna destra — dati numerici + azioni */
.om-testata-side {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 14px 18px;
    min-width: 200px;
    background: #fafafa;
    border-right: 1px solid #ececec;
    gap: 4px;
}

.om-side-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 10px;
    font-size: 13px;
}

.om-side-label {
    color: #999;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .04em;
    white-space: nowrap;
}

.om-side-value {
    color: #283132;
    font-weight: 500;
    text-align: right;
}

.om-side-value.is-alert {
    color: #8F0000;
    font-weight: 700;
}

.om-side-divider {
    border: none;
    border-top: 1px solid #e5e5e5;
    margin: 6px 0;
}

.om-side-actions {
    display: flex;
    gap: 5px;
    justify-content: flex-end;
    flex-wrap: wrap;
    margin-top: 4px;
}

.om-btn-action {
    width: 32px;
    height: 32px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    font-size: 13px;
    line-height: 1;
    flex-shrink: 0;
}

/* Freccia expand */
.om-expand-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    color: #bbb;
    font-size: 13px;
    transition: color .2s;
}

.om-testata-row:hover .om-expand-icon {
    color: #8F0000;
}

/* Righe espandibili */
.om-righe-row {
    display: none;
    border-top: 2px solid #f0f0f0;
}

.om-righe-row.om-righe-open {
    display: block;
}

.om-righe-table-wrap {
    padding: 16px 20px;
    background: #f9f9f9;
}

.om-righe-table {
    font-size: 13px;
    margin-bottom: 0;
}

.om-righe-table tbody td {
    vertical-align: middle;
    padding: 8px 10px;
    border-color: #e8e8e8;
}

.om-righe-table tbody tr:last-child td {
    border-bottom: none;
}

.om-righe-table thead th {
    background: #283132;
    color: #fff;
    font-weight: 600;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .04em;
    white-space: nowrap;
    border: none;
    vertical-align: middle;
}

.om-cl-header {
    background: #3d5254 !important;
    border-left: 2px solid #283132 !important;
    border-right: 2px solid #283132 !important;
}

.om-cl-sub {
    background: #4a6163 !important;
    border-left: 1px solid #283132 !important;
    border-right: 1px solid #283132 !important;
    font-size: 10px !important;
    text-transform: none !important;
}

.om-righe-table tbody tr:hover {
    background: #f0f0f0;
}

/* ---- Tab stato Order Manager ---- */
.om-nav-tabs {
    border-bottom: 2px solid #e0e0e0;
}

.om-nav-tabs .nav-link {
    color: #666;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .04em;
    padding: 10px 20px;
    border: none;
    border-bottom: 3px solid transparent;
    border-radius: 0;
    background: none;
    transition: color .2s, border-color .2s;
    margin-bottom: -2px;
    text-decoration: none;
}

.om-nav-tabs .nav-link:hover {
    color: var(--accent-color);
    border-bottom-color: rgba(143,0,0,.3);
}

.om-nav-tabs .nav-link.active {
    color: var(--accent-color);
    border-bottom: 3px solid var(--accent-color);
    background: none;
}

.om-tab-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--accent-color);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    min-width: 20px;
    height: 20px;
    border-radius: 10px;
    padding: 0 6px;
    margin-left: 6px;
    line-height: 1;
}

/* ---- Barra filtri sotto i tab ---- */
.om-tab-filter-bar {
    padding: 14px 0;
    border-bottom: 1px solid #eee;
}

/* Tutti i controlli della barra filtri: altezza uniforme 40px */
.om-tab-filter-bar .om-form-input,
.om-tab-filter-bar .om-form-select,
.om-tab-filter-bar .btn-shop-default,
.om-tab-filter-bar .btn-fascia-outline {
    height: 40px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    font-size: 13px !important;
    line-height: 40px !important;
    display: inline-flex !important;
    align-items: center !important;
    box-sizing: border-box;
    white-space: nowrap;
}

.om-tab-filter-bar .om-form-input,
.om-tab-filter-bar .om-form-select {
    padding-left: 12px !important;
    padding-right: 12px !important;
    line-height: normal !important;
}

.om-tab-filter-bar .btn-shop-default {
    padding-left: 18px !important;
    padding-right: 18px !important;
    font-weight: 600 !important;
    line-height: normal !important;
}

.om-tab-filter-bar .btn-fascia-outline {
    padding-left: 14px !important;
    padding-right: 14px !important;
    line-height: normal !important;
}

.om-date-input {
    width: 160px;
}

/* Box operatore semaforo (accettato/rifiutato) */
.om-semaforo-box {
    display: inline-flex;
    flex-direction: column;
    gap: 2px;
    margin-top: 8px;
    padding: 7px 12px;
    border-left: 3px solid;
    border-radius: 0 4px 4px 0;
}

.om-semaforo-box--ok {
    background: #f0faf4;
    border-color: #166534;
}

.om-semaforo-box--ko {
    background: #fff5f5;
    border-color: var(--accent-color);
}

.om-semaforo-operatore {
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .01em;
}

.om-semaforo-box--ok .om-semaforo-operatore {
    color: #166534;
}

.om-semaforo-box--ko .om-semaforo-operatore {
    color: var(--accent-color);
}

.om-semaforo-data {
    font-size: 11px;
    color: #888;
    font-weight: 500;
}

/* Esito accettato/rifiutato (colonna destra, stato 2/3) */
.om-side-esito {
    font-size: 13px;
    font-weight: 700;
    text-align: right;
    padding: 4px 0;
}

.om-side-esito--accettato {
    color: #166534;
}

.om-side-esito--rifiutato {
    color: var(--accent-color);
}

/* Motivazione rifiuto in colonna sinistra */
.om-motivo-rifiuto {
    color: var(--accent-color);
    font-style: italic;
}

/* Badge parcheggio override colori */
.om-badge-scaduto  { background: #8F0000 !important; color: #fff !important; }
.om-badge-fido     { background: #d97706 !important; color: #fff !important; }
.om-badge-cl       { background: #0369a1 !important; color: #fff !important; }
.om-badge-advance  { background: #166534 !important; color: #fff !important; }

/* Toast notifiche Order Manager */
.om-toast-container {
    position: fixed;
    bottom: 28px;
    right: 28px;
    z-index: 9999;
    display: flex;
    flex-direction: column;
    gap: 10px;
    pointer-events: none;
}

.om-toast {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 18px;
    border-radius: 0;
    min-width: 320px;
    max-width: 480px;
    font-size: 14px;
    font-weight: 500;
    box-shadow: 0 8px 32px rgba(0,0,0,.18);
    pointer-events: all;
    opacity: 0;
    transform: translateY(12px);
    transition: opacity .25s ease, transform .25s ease;
}

.om-toast--show {
    opacity: 1;
    transform: translateY(0);
}

.om-toast--success {
    background: #1a3a1a;
    color: #d4f0d4;
    border-left: 4px solid #4caf50;
}

.om-toast--error {
    background: #3a0a0a;
    color: #f5d0d0;
    border-left: 4px solid var(--accent-color);
}

.om-toast__msg {
    flex: 1;
    line-height: 1.4;
}

.om-toast__close {
    background: none;
    border: none;
    color: inherit;
    opacity: .6;
    cursor: pointer;
    padding: 0 2px;
    font-size: 13px;
    flex-shrink: 0;
    transition: opacity .15s;
}

.om-toast__close:hover {
    opacity: 1;
}

/* Form controls modal Order Manager */
.om-form-label {
    display: block;
    margin-bottom: 8px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #888;
}

.om-filter-label {
    display: block;
    margin-bottom: 5px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #999;
}

.om-form-select,
.om-form-input {
    width: 100%;
    padding: 11px 16px;
    border: 1px solid #ddd;
    border-radius: 0;
    font-size: 14px;
    color: #283132;
    background-color: #fff;
    appearance: auto;
    transition: border-color .2s, box-shadow .2s;
    outline: none;
}

.om-form-select:focus,
.om-form-input:focus {
    border-color: var(--accent-color);
    box-shadow: 0 0 0 3px rgba(143, 0, 0, .12);
}

/* Versione compatta per uso dentro le tabelle */
.om-form-select--sm,
.om-form-input--sm {
    padding: 5px 10px;
    font-size: 13px;
    border: 1px solid #ddd;
    border-radius: 0;
    color: #283132;
    background-color: #fff;
    appearance: auto;
    transition: border-color .2s, box-shadow .2s;
    outline: none;
    height: 34px;
    line-height: 1.4;
}

.om-form-select--sm {
    width: 100%;
}

.om-form-input--sm {
    display: block;
    text-align: right;
}

.om-form-select--sm:focus,
.om-form-input--sm:focus {
    border-color: var(--accent-color);
    box-shadow: 0 0 0 3px rgba(143, 0, 0, .12);
}

.om-consuntiva-wrap {
    display: flex;
    align-items: center;
    gap: 10px;
}

.om-consuntiva-wrap .om-form-input {
    width: 120px;
    text-align: center;
}

/* Card metalli disponibili vs fabbisogno (modal parziale) */
.om-metalli-cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 10px;
}

.om-metallo-card {
    border: 2px solid #e5e5e5;
    border-radius: 10px;
    padding: 12px 14px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    position: relative;
    transition: border-color .2s, background .2s;
    background: #fafafa;
}

.om-metallo-card--ok {
    border-color: #c6e8c6;
    background: #f4fbf4;
}

.om-metallo-card--danger {
    border-color: #f5c6c6;
    background: #fff4f4;
}

.om-metallo-card__name {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .05em;
    color: #555;
}

.om-metallo-card__body {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.om-metallo-card__row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 4px;
    font-size: 11px;
}

.om-metallo-card__lbl {
    color: #aaa;
    white-space: nowrap;
}

.om-metallo-card__val {
    font-size: 12px;
    font-weight: 600;
    color: #283132;
    text-align: right;
}

.om-metallo-card--danger .om-metallo-fab {
    color: #8F0000;
}

.om-metallo-card__stato {
    position: absolute;
    top: 10px;
    right: 12px;
    font-size: 14px;
}

.om-metallo-card--ok    .om-metallo-card__stato { color: #3d8b3d; }
.om-metallo-card--danger .om-metallo-card__stato { color: #8F0000; }

/* Variante rossa per btn-shop-default (rifiuto) */
.btn-shop-default.om-btn-danger {
    background: #6b0000;
}
.btn-shop-default.om-btn-danger:hover {
    background: #8F0000;
}

.om-consuntiva-unit {
    font-size: 13px;
    color: #888;
    font-weight: 500;
}

/* Modal riepilogo ordine */
.om-modal-riepilogo {
    background: #f8f8f8;
    border-radius: 10px;
    padding: 14px 18px;
    border: 1px solid #ececec;
}

.om-modal-riepilogo-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 12px;
    padding: 4px 0;
    font-size: 13px;
    border-bottom: 1px solid #efefef;
}

.om-modal-riepilogo-row:last-child {
    border-bottom: none;
}

.om-modal-riepilogo-label {
    color: #999;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .04em;
    white-space: nowrap;
}

.om-modal-riepilogo-value {
    color: #283132;
    text-align: right;
}

/* Responsive */
@media (max-width: 991px) {
    .om-testata-row {
        grid-template-columns: 1fr 32px;
    }
    .om-testata-side {
        display: none;
    }
    .om-testata-main {
        border-right: none;
    }
}

@media (max-width: 575px) {
    .om-testata-main {
        padding: 12px 14px;
    }
    .om-info-label {
        min-width: 80px;
    }
}

/* ========================================================================================
   E-SUPPORT
   ======================================================================================== */

/* Bottoni apertura nuovo ticket/reclamo */
.esupport-new-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 32px 24px;
    border: 2px solid var(--color-border, #e0e0e0);
    border-radius: 12px;
    text-decoration: none;
    color: var(--color-text, #222);
    background: #fff;
    transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s;
    text-align: center;
}
.esupport-new-card i { font-size: 2rem; color: var(--color-primary, #b8972a); }
.esupport-new-card span { font-weight: 600; font-size: 1.1rem; }
.esupport-new-card small { color: #888; }
.esupport-new-card:hover {
    border-color: var(--color-primary, #b8972a);
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
    transform: translateY(-2px);
    color: var(--color-text, #222);
}
.esupport-new-card--reclamo i { color: #c0392b; }
.esupport-new-card--reclamo:hover { border-color: #c0392b; }

/* ─── Badge stato e priorità ──────────────────────────────────────────────── */
.esupport-badge {
    display: inline-flex;
    align-items: center;
    padding: 2px 9px;
    border-radius: 20px;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    white-space: nowrap;
}
/* stato — valori da PG_ESupport_Ticket_Stati */
.esupport-badge--aperto                       { background: #e8f5e9; color: #2e7d32; }
.esupport-badge--risposto                     { background: #e3f2fd; color: #1565c0; }
.esupport-badge--attesa-campione-informazione { background: #fff3e0; color: #e65100; }
.esupport-badge--pianificato                  { background: #f3e5f5; color: #6a1b9a; }
.esupport-badge--attesa-feedback              { background: #fff8e1; color: #f57f17; }
.esupport-badge--in-lavorazione               { background: #e8eaf6; color: #283593; }
.esupport-badge--chiuso                       { background: #f5f5f5; color: #9e9e9e; }
/* priorità */
.esupport-badge--bloccante { background: #ffebee; color: #b71c1c; }
.esupport-badge--urgente   { background: #ffebee; color: #c62828; }
.esupport-badge--alta      { background: #fce4ec; color: #ad1457; }
.esupport-badge--media     { background: #fff8e1; color: #f57f17; }
.esupport-badge--bassa     { background: #f1f8e9; color: #558b2f; }
.esupport-badge--interno   { background: #ede7f6; color: #4527a0; font-size: 0.67rem; }

/* ─── Bottoni cambio stato ticket ────────────────────────────────────────── */
.esup-stato-btn {
    display: flex; align-items: center;
    width: 100%; padding: 8px 12px;
    border: none; border-radius: 8px;
    font-size: 0.82rem; font-weight: 500; cursor: pointer;
    transition: filter 0.15s, opacity 0.15s;
}
.esup-stato-btn:disabled { opacity: 0.5; cursor: not-allowed; }
.esup-stato-btn:not(:disabled):hover { filter: brightness(0.92); }
.esup-stato-btn--assign       { background: #1565c0; color: #fff; }
.esup-stato-btn--analyze      { background: #0288d1; color: #fff; }
.esup-stato-btn--waitinfo     { background: #e65100; color: #fff; }
.esup-stato-btn--waitfeedback { background: #f57f17; color: #fff; }
.esup-stato-btn--close        { background: #2e7d32; color: #fff; }
.esup-stato-btn--reopen       { background: #6a1b9a; color: #fff; }

/* Lista operatori nella modal assegnazione */
.esup-operatore-item {
    display: flex; align-items: center; gap: 12px;
    width: 100%; padding: 12px 20px;
    border: none; background: transparent;
    border-bottom: 1px solid #f0f0f0;
    cursor: pointer; transition: background 0.15s;
    text-align: left;
}
.esup-operatore-item:last-child { border-bottom: none; }
.esup-operatore-item:hover { background: #f7f7f7; }
.esup-operatore-item.selected { background: #e8f5e9; }
.esup-operatore-item__avatar {
    width: 36px; height: 36px; border-radius: 50%;
    background: #e0e0e0; color: #555;
    display: flex; align-items: center; justify-content: center;
    font-size: 0.75rem; font-weight: 700; flex-shrink: 0;
    transition: background 0.15s, color 0.15s;
}
.esup-operatore-item.selected .esup-operatore-item__avatar { background: #2e7d32; color: #fff; }
.esup-operatore-item__info { flex: 1; display: flex; flex-direction: column; gap: 2px; }
.esup-operatore-item__name { font-size: 0.88rem; font-weight: 500; color: #222; }
.esup-operatore-item__check {
    color: #2e7d32; opacity: 0;
    transition: opacity 0.15s; font-size: 0.85rem;
}
.esup-operatore-item.selected .esup-operatore-item__check { opacity: 1; }
.esup-operatore-badge {
    font-size: 0.68rem; font-weight: 600; padding: 1px 7px;
    border-radius: 20px; background: #ede7f6; color: #4527a0;
    width: fit-content;
}
/* Inline confirm stato */
.esup-inline-confirm {
    background: #f8f9fa; border-radius: 10px;
    padding: 14px; border: 1px solid #dee2e6;
}
.esup-inline-confirm__text {
    font-size: 0.85rem; color: #444; margin-bottom: 10px; margin-top: 0;
}
.esup-stato-btn--confirm-si  { background: #1b5e20; color: #fff; flex: 1; justify-content: center; }
.esup-stato-btn--confirm-no  { background: #f5f5f5; color: #555; flex: 1; justify-content: center; border: 1px solid #ddd; }

/* ─── Lista ticket / reclami ─────────────────────────────────────────────── */
.esupport-list { display: flex; flex-direction: column; gap: 10px; }

.esupport-list-item {
    display: block;
    border-radius: 7px;
    border: 1px solid #e8e8e8;
    border-left: 4px solid #e0e0e0;
    background: #fff;
    text-decoration: none;
    color: inherit;
    transition: box-shadow 0.15s, opacity 0.15s;
}
.esupport-list-item:hover {
    box-shadow: 0 2px 10px rgba(0,0,0,0.08);
    color: inherit;
}
.esupport-list-item[data-priorita="1"] { border-left-color: #ef4444; }
.esupport-list-item[data-priorita="2"] { border-left-color: #f472b6; }
.esupport-list-item[data-priorita="3"] { border-left-color: #f59e0b; }
.esupport-list-item[data-priorita="4"] { border-left-color: #86efac; }
.esupport-list-item--chiuso { border-left-color: #d0d0d0 !important; opacity: 0.55; }
.esupport-list-item--chiuso:hover { opacity: 1; }

.esupport-list-item__inner {
    padding: 12px 16px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}

/* ── Riga 1: #id + titolo (sx) | giorni · priorità · stato (dx) ── */
.esli-row1 {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}
.esli-left {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1;
    min-width: 0;
    overflow: hidden;
}
.esli-id {
    font-size: 0.72rem;
    font-weight: 700;
    color: #bbb;
    flex-shrink: 0;
}
.esli-title {
    font-size: 0.9rem;
    font-weight: 700;
    color: #1a1a1a;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.esli-right1 {
    display: flex;
    align-items: center;
    gap: 5px;
    flex-shrink: 0;
}

/* ── Riga 2: articolo ── */
.esli-row2 {
    font-size: 0.78rem;
    color: #aaa;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.esli-row2:empty { display: none; }

/* ── Riga azienda (sopra il prodotto) ── */
.esli-row-azienda {
    font-size: 0.80rem;
    font-weight: 600;
    color: #666;
    display: flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.esli-row-azienda:empty { display: none; }

/* ── Riga 3: data (sx) | operatore (dx) ── */
.esli-row3 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 0.74rem;
    color: #bbb;
    gap: 8px;
}
.esli-row3-left  { display: flex; align-items: center; gap: 4px; flex-shrink: 0; }
.esli-row3-right { display: flex; align-items: center; gap: 4px; flex-shrink: 0; }

/* ── Riga 4: chiusura + soluzione (solo ticket chiuso) ── */
.esli-footer-closed {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 0.73rem;
    color: #bbb;
    padding-top: 6px;
    margin-top: 2px;
    border-top: 1px dashed #ebebeb;
}
.esli-soluzione {
    color: #78909c;
    font-style: italic;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    flex: 1;
}

/* KPI Cards — Dashboard operatore E-Support */
/* ── KPI strip ── */
.esup-kpi-strip {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 14px;
    margin-bottom: 28px;
}
.esup-kpi {
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 12px;
    border-top: 3px solid #e0e0e0;
    padding: 18px 16px 14px;
    text-align: center;
}
.esup-kpi__icon { font-size: 1.1rem; display: block; margin-bottom: 10px; color: #bbb; }
.esup-kpi__value { font-size: 2rem; font-weight: 700; line-height: 1; color: #1a1a1a; }
.esup-kpi__label { font-size: 0.72rem; color: #999; margin-top: 6px; line-height: 1.3; }

.esup-kpi--blue   { border-top-color: #3b82f6; }
.esup-kpi--blue   .esup-kpi__icon { color: #3b82f6; }
.esup-kpi--amber  { border-top-color: #f59e0b; }
.esup-kpi--amber  .esup-kpi__icon { color: #f59e0b; }
.esup-kpi--purple { border-top-color: #8b5cf6; }
.esup-kpi--purple .esup-kpi__icon { color: #8b5cf6; }
.esup-kpi--red    { border-top-color: #ef4444; }
.esup-kpi--red    .esup-kpi__icon  { color: #ef4444; }
.esup-kpi--red    .esup-kpi__value { color: #ef4444; }
.esup-kpi--green  { border-top-color: #10b981; }
.esup-kpi--green  .esup-kpi__icon  { color: #10b981; }
.esup-kpi--green  .esup-kpi__value { color: #10b981; }
.esup-kpi--gray   { border-top-color: #aaa; }
.esup-kpi--gray   .esup-kpi__icon  { color: #aaa; }

.esup-kpi--clickable { cursor: pointer; transition: transform 0.12s; }
.esup-kpi--clickable:hover  { transform: translateY(-3px); }
.esup-kpi--clickable:active { transform: translateY(0); }

/* ── Layout dashboard: lista + sidebar ── */
.esup-dashboard-body {
    display: grid;
    grid-template-columns: 1fr 280px;
    gap: 20px;
    align-items: start;
}

/* ── Pannello lista ticket ── */
.esup-panel {
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 12px;
    overflow: hidden;
}
.esup-panel__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 18px;
    border-bottom: 1px solid #f0f0f0;
    flex-wrap: wrap;
    gap: 8px;
}
.esup-panel__title {
    font-size: 0.85rem;
    font-weight: 700;
    color: #333;
    display: flex;
    align-items: center;
    gap: 7px;
}
.esup-panel__title i { color: #888; }
.esup-panel__pills { display: flex; gap: 5px; flex-wrap: wrap; }
.esup-pill {
    font-size: 0.72rem;
    padding: 4px 11px;
    border-radius: 100px;
    border: 1px solid #e0e0e0;
    background: #fff;
    color: #666;
    cursor: pointer;
    transition: background 0.1s, color 0.1s;
}
.esup-pill:hover { background: #f5f5f5; }
.esup-pill--active { background: #1a1a1a; color: #fff; border-color: #1a1a1a; }
.esup-panel__filters {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    border-bottom: 1px solid #f0f0f0;
    flex-wrap: wrap;
}
.esup-panel__filters .form-select,
.esup-panel__filters .form-control { font-size: 0.8rem; }

/* ── Sidebar operatori ── */
.esup-sidebar-ops { position: sticky; top: 100px; }
.esup-sidebar-ops__title {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #aaa;
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 6px;
}

/* Coda lavoro — card operatori (layout verticale per sidebar) */
.esup-coda-grid {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.esup-op-card {
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 10px;
    padding: 12px 14px;
}
.esup-op-card--urgente { border-left: 3px solid #ef4444; border-radius: 0 10px 10px 0; }
.esup-op-card__header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
}
.esup-op-card__avatar {
    width: 32px; height: 32px;
    border-radius: 50%;
    background: #e8eaf6;
    color: #3949ab;
    font-size: 0.7rem;
    font-weight: 700;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
}
.esup-op-card__name { font-size: 0.82rem; font-weight: 600; color: #222; }
.esup-op-card__stats { display: flex; gap: 6px; }
.esup-op-stat {
    flex: 1;
    text-align: center;
    background: #f5f5f5;
    border-radius: 6px;
    padding: 5px 4px;
}
.esup-op-stat--aperto     { background: #eff6ff; }
.esup-op-stat--lavorazione { background: #fffbeb; }
.esup-op-stat__val { display: block; font-size: 1.1rem; font-weight: 700; color: #222; line-height: 1.1; }
.esup-op-stat--aperto .esup-op-stat__val     { color: #2563eb; }
.esup-op-stat--lavorazione .esup-op-stat__val { color: #d97706; }
.esup-op-stat__lbl { display: block; font-size: 0.6rem; color: #888; margin-top: 2px; }

@media (max-width: 991px) {
    .esup-kpi-strip { grid-template-columns: repeat(3, 1fr); }
    .esup-dashboard-body { grid-template-columns: 1fr; }
    .esup-sidebar-ops { position: static; }
}
@media (max-width: 576px) {
    .esup-kpi-strip { grid-template-columns: repeat(2, 1fr); }
}

.esup-count { padding: 2px 0; }

/* Giorni ultimo thread */
.esup-giorni { font-size: 0.75rem; font-weight: 600; padding: 2px 7px; border-radius: 20px; }
.esup-giorni--ok    { background: #d1fae5; color: #065f46; }
.esup-giorni--warn  { background: #fef3c7; color: #92400e; }
.esup-giorni--alert { background: #fee2e2; color: #991b1b; }

/* Questionario */
.esup-questionario { font-size: 0.75rem; font-weight: 600; }
.esup-questionario--ok { color: #10b981; }
.esup-questionario--ko { color: #9ca3af; }

/* Ticket chiuso — opacità ridotta */
.esupport-list-item--chiuso { opacity: 0.65; }
.esupport-list-item--chiuso:hover { opacity: 1; }

/* Preview descrizione */
.esupport-list-item__preview {
    font-size: 0.8rem;
    color: #888;
    margin: 4px 0 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Soluzione */
.esup-soluzione { font-size: 0.78rem; color: #6b7280; font-style: italic; }

/* Stato vuoto */
.esupport-empty {
    text-align: center;
    padding: 48px 24px;
    color: #bbb;
}
.esupport-empty i { font-size: 2.5rem; display: block; margin-bottom: 12px; }

/* Loading */
.esupport-loading {
    text-align: center;
    padding: 32px;
    font-size: 1.5rem;
    color: #ccc;
}

/* Form apertura ticket/reclamo */
.esupport-form__section {
    border: 1px solid #e8e8e8;
    border-radius: 10px;
    padding: 24px;
    margin-bottom: 24px;
    background: #fafafa;
}
.esupport-form__section-title {
    font-weight: 600;
    margin-bottom: 20px;
    color: #444;
    padding-bottom: 10px;
    border-bottom: 1px solid #ececec;
}

/* Contatti ticket */
.esupport-section-edit-btn {
    font-size: 0.82rem;
    color: #aaa;
    transition: color .15s;
}
.esupport-section-edit-btn:hover { color: #b8972a; }

.esupport-contatti-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    min-height: 28px;
}
.esupport-contatto-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #f0f0f0;
    border: 1px solid #ddd;
    border-radius: 20px;
    padding: 4px 12px;
    font-size: 0.82rem;
    color: #333;
    white-space: nowrap;
}
.esupport-chip-remove {
    background: none;
    border: none;
    padding: 0;
    line-height: 1;
    color: #999;
    cursor: pointer;
    display: flex;
    align-items: center;
    transition: color .15s;
}
.esupport-chip-remove:hover { color: #c0392b; }
.esupport-contatti-add-row { max-width: 360px; }

/* Blocco form quando nessun prodotto disponibile */
#form-body-block.esup-blocked {
    opacity: 0.35;
    pointer-events: none;
    user-select: none;
}

/* Upload area */
.esupport-upload-area {
    border: 2px dashed #d0d0d0;
    border-radius: 8px;
    padding: 24px;
    text-align: center;
    cursor: pointer;
    transition: border-color 0.2s, background 0.2s;
}
.esupport-upload-area:hover,
.esupport-upload-area.dragover {
    border-color: var(--color-primary, #b8972a);
    background: #fffbf0;
}
.esupport-upload-area i { font-size: 1.8rem; color: #ccc; display: block; margin-bottom: 8px; }
.esupport-upload-area p { margin: 0; color: #888; }
.esupport-upload-area--small {
    padding: 10px 16px;
    text-align: left;
    display: flex;
    align-items: center;
    gap: 8px;
}
.esupport-upload-area--small i { font-size: 1rem; margin: 0; }
.esupport-upload-link { color: var(--color-primary, #b8972a); cursor: pointer; font-weight: 600; }

/* File list */
.esupport-file-list { display: flex; flex-direction: column; gap: 4px; }
.esupport-file-item {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 4px 8px;
    background: #f0f0f0;
    border-radius: 4px;
    font-size: 0.85rem;
}
.esupport-file-remove {
    background: none;
    border: none;
    color: #999;
    cursor: pointer;
    margin-left: auto;
    padding: 0 4px;
    line-height: 1;
}
.esupport-file-remove:hover { color: #c0392b; }

/* ── Dettaglio ticket — header ── */
.esupport-detail-header { 
	margin-bottom: 20px; 
	padding: 30px 0px;
}
.esupport-detail-header__badges {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 10px;
    flex-wrap: wrap;
}
.esupport-detail-header__title {
    font-size: 1.6rem;
    font-weight: 600;
    color: #1a1a1a;
    margin-bottom: 6px;
}
.esupport-detail-header__company {
    font-size: 0.9rem;
    color: #777;
    display: flex;
    align-items: center;
    gap: 5px;
	margin-bottom:10px;
}

/* ── Corpo del ticket (Descrizione + Dettaglio unificati) ── */
.esupport-ticket-body {
    background: #fafaf8;
    border: 1px solid #e8e4d8;
    border-left: 3px solid #b8972a;
    border-radius: 0 8px 8px 0;
    padding: 16px 18px;
    margin-bottom: 20px;
}
.esupport-ticket-body__label {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #b8972a;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 5px;
}
.esupport-ticket-body__short {
    font-size: 0.88rem;
    color: #777;
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid #e8e4d8;
}
.esupport-ticket-body__long {
    font-size: 0.92rem;
    color: #333;
    line-height: 1.7;
    white-space: pre-wrap;
}

/* ── Sezione soluzione (chiuso) ── */
.esupport-detail-section--soluzione {
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    border-left: 3px solid #22c55e;
    border-radius: 0 8px 8px 0;
    overflow: hidden;
    margin-bottom: 20px;
}
.esupport-detail-section--soluzione .esupport-detail-section__title {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #166534;
    padding: 8px 16px;
    border-bottom: 1px solid #bbf7d0;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 5px;
}
.esupport-detail-section--soluzione .esupport-detail-section__body {
    padding: 12px 16px;
    font-size: 0.92rem;
    line-height: 1.7;
    color: #14532d;
    white-space: pre-wrap;
}

/* ── Allegati griglia ── */
.esupport-allegati-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 20px;
}
.esupport-allegato-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 12px;
    background: #f5f5f5;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    text-decoration: none;
    color: #444;
    font-size: 0.82rem;
    transition: background 0.15s, border-color 0.15s;
}
.esupport-allegato-item:hover { background: #ececec; color: #222; border-color: #ccc; }
.esupport-allegato-item--img  { border-color: #bae6fd; background: #f0f9ff; color: #0369a1; flex-direction: column; align-items: flex-start; padding: 6px; gap: 0; cursor: pointer; }
.esupport-allegato-item--img:hover { background: #e0f2fe; }
.esupport-allegato-thumb { width: 80px; height: 60px; object-fit: cover; border-radius: 4px; display: block; }
.esupport-allegato-item--img span { display: none; }

/* Navigazione modal immagini */
.esupport-modal-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0,0,0,0.45);
    border: none;
    color: #fff;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 10;
    transition: background 0.15s;
}
.esupport-modal-nav:hover { background: rgba(0,0,0,0.75); }
.esupport-modal-nav--prev { left: 10px; }
.esupport-modal-nav--next { right: 10px; }

/* ── Divider conversazione ── */
.esupport-convo-divider {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 28px 0 18px;
}
.esupport-convo-divider__line { flex: 1; height: 1px; background: #e8e8e8; }
.esupport-convo-divider__label {
    font-size: 0.78rem;
    font-weight: 600;
    color: #999;
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap: 5px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* ── Thread messaggi ── */
.esupport-thread-message {
    border: 1px solid #e8e8e8;
    border-left: 3px solid #e0e0e0;
    border-radius: 0 8px 8px 0;
    padding: 12px 16px;
    margin-bottom: 10px;
    background: #fff;
}
.esupport-thread-message--operatore {
    background: #f0f7ff;
    border-color: #c7dff7;
    border-left-color: #378add;
}
.esupport-thread-message--interno {
    background: #faf8ff;
    border-color: #ddd6f3;
    border-left-color: #7c5cbf;
}
.esupport-thread-message--privato {
    background: #fff8f0;
    border-color: #f5d9b0;
    border-left-color: #e08020;
}

/* Badge tipo thread */
.esupport-thread-type-badge {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    border-radius: 100px;
    font-size: 0.7rem;
    font-weight: 600;
    background: #e3f2fd;
    color: #1565c0;
    border: none;
}
.esupport-thread-message--interno .esupport-thread-type-badge {
    background: #ede7f6;
    color: #4527a0;
}

.esupport-thread-message__subject {
    font-weight: 600;
    font-size: 0.88rem;
    color: #333;
    margin-bottom: 6px;
}
.esupport-thread-message__header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
    font-size: 0.82rem;
    flex-wrap: wrap;
}
.esupport-thread-message__author { font-weight: 600; color: #333; }
.esupport-thread-message__date { font-size: 0.78rem; color: #aaa; margin-left: auto; }
.esupport-thread-message__body { font-size: 0.9rem; line-height: 1.65; color: #333; }
.esupport-thread-message__allegati {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid #efefef;
}

/* ── Selettore tipo thread ── */
.esupport-thread-type-selector {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: stretch;
}
.esupport-thread-type-option {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 4px;
    padding: 10px 14px;
    border: 2px solid #e0e0e0;
    border-radius: 8px;
    cursor: pointer;
    transition: border-color .18s, background .18s;
    user-select: none;
    flex: 1 1 130px;
    min-width: 130px;
    max-width: 200px;
}
.esupport-thread-type-option:hover {
    border-color: var(--tipo-color, #aaa);
    background: color-mix(in srgb, var(--tipo-color, #aaa) 10%, transparent);
}
.esupport-thread-type-option.selected {
    border-color: var(--tipo-color, #aaa);
    background: color-mix(in srgb, var(--tipo-color, #aaa) 15%, transparent);
}
.esupport-thread-type-option__dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #ccc;
    border: 2px solid #bbb;
    flex-shrink: 0;
    margin-bottom: 4px;
}
.esupport-thread-type-option.selected .esupport-thread-type-option__dot {
    background: var(--tipo-color, #aaa);
    border-color: var(--tipo-color, #aaa);
}
.esupport-thread-type-option__label {
    font-size: 0.82rem;
    font-weight: 600;
    color: #444;
    line-height: 1.3;
}
.esupport-thread-type-option__sub {
    font-size: 0.72rem;
    color: #999;
    line-height: 1.3;
    margin-top: auto;
    padding-top: 4px;
}

/* ── Blocco solution type ── */
.esupport-solution-type-block {
    background: color-mix(in srgb, #34c6bb 8%, transparent);
    border: 1px solid color-mix(in srgb, #34c6bb 40%, transparent);
    border-radius: 8px;
    padding: 12px 14px;
}
.esupport-solution-type-block__label {
    font-size: 0.82rem;
    font-weight: 600;
    color: #2a9e97;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
}
.esupport-solution-type-block .form-select:focus {
    border-color: color-mix(in srgb, #34c6bb 60%, transparent);
    box-shadow: 0 0 0 3px color-mix(in srgb, #34c6bb 20%, transparent);
    outline: none;
}

/* ── Form risposta ── */
.esupport-reply-form {
    border-top: 1px solid #e8e8e8;
    padding-top: 18px;
    margin-top: 20px;
}
.esupport-reply-form__title {
    font-size: 0.82rem;
    font-weight: 600;
    color: #888;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 5px;
}
.esupport-upload-area--small {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.85rem;
    color: #888;
    cursor: pointer;
    padding: 4px 0;
}
.esupport-upload-link { color: #b8972a; cursor: pointer; font-weight: 600; }
.esupport-file-list { display: flex; flex-direction: column; gap: 4px; }
.esupport-file-item {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.82rem;
    color: #555;
    padding: 3px 0;
}
.esupport-file-remove {
    background: none;
    border: none;
    color: #bbb;
    cursor: pointer;
    padding: 0 2px;
    margin-left: auto;
    font-size: 0.8rem;
}
.esupport-file-remove:hover { color: #c0392b; }

/* ── Sidebar info ── */
.esupport-sidebar-sticky {
    position: sticky;
    top: 100px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.esupport-sidebar {
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 10px;
    padding: 18px;
}
.esupport-sidebar__title {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #aaa;
    margin-bottom: 14px;
    padding-bottom: 10px;
    border-bottom: 1px solid #efefef;
}
.esupport-sidebar__list { margin: 0; }
.esupport-sidebar__list dt {
    font-size: 0.75rem;
    color: #aaa;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-top: 12px;
    margin-bottom: 3px;
}
.esupport-sidebar__list dd { margin: 0; font-size: 0.9rem; color: #222; }

/* ── Sezioni interne operatore (Actions / Annotazioni) ── */
.esupport-detail-section--interno {
    background: #faf8ff;
    border: 1px solid #ddd6f3;
    border-left: 3px solid #7c5cbf;
    border-radius: 0 8px 8px 0;
    overflow: hidden;
}
.esupport-detail-section__title--interno {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #4527a0;
    padding: 8px 16px;
    border-bottom: 1px solid #ddd6f3;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 5px;
}
.esupport-detail-section__body--interno {
    padding: 12px 16px;
    font-size: 0.92rem;
    line-height: 1.7;
    color: #3d2b7a;
    white-space: pre-wrap;
}

/* ── Card specifiche tecniche ── */
.esupport-specs-card__header {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #aaa;
    margin-bottom: 14px;
    padding-bottom: 10px;
    border-bottom: 1px solid #efefef;
}
.esupport-specs-card__header i { font-size: 1rem; color: #b8972a; }

/* Responsive */
@media (max-width: 768px) {
    .esupport-new-card { padding: 20px 16px; }
    .esupport-thread-message { padding: 10px 12px; }
    .esupport-sidebar { position: static; margin-top: 20px; }
}

/* ── Pannello selezione etichette (reply form operatore) ──────────────── */
.esup-etichette-toggle {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 0.5rem 0.75rem;
    border: 1px dashed #ccc;
    border-radius: 6px;
    background: transparent;
    font-size: 0.83rem;
    color: #666;
    cursor: pointer;
    transition: border-color .2s, color .2s;
    text-align: left;
    gap: 0.4rem;
}
.esup-etichette-toggle:hover,
.esup-etichette-toggle[aria-expanded="true"] { border-color: #b30000; color: #b30000; }
.esup-toggle-chevron { margin-left: auto; transition: transform .2s; }

.esup-etichette-panel {
    border: 1px dashed #ccc;
    border-top: none;
    border-radius: 0 0 6px 6px;
    padding: 0.65rem 0.75rem;
    background: #fafafa;
}
.esup-etichette-check-item {
    margin-bottom: 0.3rem;
    font-size: 0.84rem;
}
.esup-etichette-check-item .form-check-input:checked { background-color: #b30000; border-color: #b30000; }

/* ── Etichette richieste nei thread ──────────────────────────────────── */
.esupport-thread-etichette {
    margin-top: 0.75rem;
    padding-top: 0.6rem;
    border-top: 1px solid rgba(0,0,0,.08);
}
.esupport-thread-etichette__title {
    font-size: 0.75rem;
    font-weight: 700;
    color: #b30000;
    text-transform: uppercase;
    letter-spacing: .05em;
    margin-bottom: 0.35rem;
}
.esupport-thread-etichette__item {
    display: flex;
    justify-content: space-between;
    gap: 0.5rem;
    font-size: 0.82rem;
    padding: 0.18rem 0;
    border-bottom: 1px solid rgba(0,0,0,.05);
}
.esupport-thread-etichette__item:last-child { border-bottom: none; }
.esupport-thread-etichette__label { color: #777; }
.esupport-thread-etichette__value { font-weight: 500; color: #333; }

/* ── Etichette — singola riga (nuova struttura) ─────────────────────── */
.esup-etic-item {
    display:         flex;
    align-items:     baseline;
    gap:             12px;
    padding:         5px 0;
    border-bottom:   1px solid rgba(0,0,0,.05);
    flex-wrap:       wrap;
}
.esup-etic-item:last-child { border-bottom: none; }

.esup-etic-label {
    flex:        0 0 45%;
    font-size:   .82rem;
    color:       #555;
    font-weight: 500;
    min-width:   120px;
}
.esup-etic-val {
    font-size:   .85rem;
    color:       #222;
}
.esup-etic-item--answered .esup-etic-label { color: #2e7d32; }
.esup-etic-input { max-width: 220px; font-size: .82rem !important; }

/* Badge stato etichette */
.esup-etic-badge--pending,
.esup-etic-badge--done {
    display:       inline-flex;
    align-items:   center;
    font-size:     .7rem;
    padding:       2px 6px;
    border-radius: 4px;
    font-weight:   600;
}
.esup-etic-badge--pending { background: #fff3cd; color: #856404; }

/* ── Sustainability page ─────────────────────────────────────── */

:root {
	--esg-environment-color: #3C8558;
	--esg-social-color: #2F6FA8;
	--esg-governance-color: #B07B2E;
}

.sustainability-hero {
	padding: 80px 0 20px;
}

.sustainability-eyebrow {
	font-size: .8rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--accent-color);
	margin-bottom: 14px;
}

.sustainability-hero h2 {
	margin-bottom: 18px;
}

.sustainability-stats {
	padding: 40px 0 80px;
}

.sustainability-stat-card {
	background: var(--secondery-color);
	padding: 36px 24px;
	text-align: center;
	height: 100%;
}

.sustainability-stat-label {
	font-size: .95rem;
	font-weight: 600;
	color: var(--text-color);
	margin-bottom: 8px;
}

.sustainability-stat-value {
	font-size: 2.6rem;
	font-weight: 700;
	color: var(--primary-color);
	line-height: 1.1;
}

.sustainability-stat-sublabel {
	font-size: .85rem;
	color: #767676;
	margin-top: 8px;
}

.sustainability-certs {
	padding: 0 0 100px;
}

.sustainability-certs > .container > .section-title,
.sustainability-certs > .container > .row p {
	margin-bottom: 8px;
}

.pillar-block {
	margin-top: 50px;
	padding-left: 20px;
	border-left: 4px solid transparent;
}

.pillar-accent-environment { border-color: var(--esg-environment-color); }
.pillar-accent-social { border-color: var(--esg-social-color); }
.pillar-accent-governance { border-color: var(--esg-governance-color); }

.pillar-header {
	margin-bottom: 20px;
}

.pillar-name {
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--primary-color);
}

.pillar-accent-environment .pillar-name { color: var(--esg-environment-color); }
.pillar-accent-social .pillar-name { color: var(--esg-social-color); }
.pillar-accent-governance .pillar-name { color: var(--esg-governance-color); }

.cert-card {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
	width: 100%;
	height: 100%;
	background: var(--white-color);
	border: 1px solid var(--divider-color);
	padding: 22px 20px;
	text-align: left;
	cursor: pointer;
	transition: all .25s ease;
}

.cert-card:hover {
	border-color: var(--primary-color);
	box-shadow: 0 10px 24px rgba(25, 35, 36, 0.08);
	transform: translateY(-3px);
}

.cert-card-icon {
	width: 42px;
	height: 42px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.cert-card-icon img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}

.cert-card-icon i {
	font-size: 1.6rem;
	color: var(--primary-color);
}

.cert-card-name {
	font-size: .95rem;
	font-weight: 700;
	color: var(--primary-color);
}

.cert-card-desc {
	font-size: .82rem;
	color: #767676;
	line-height: 1.4em;
}

.cert-badge {
	position: absolute;
	top: 14px;
	right: 14px;
	font-size: .65rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .03em;
	color: var(--primary-color);
	background: var(--divider-color);
	border-radius: 999px;
	padding: 3px 10px;
}

.cert-modal-link-list {
	list-style: none;
	margin: 20px 0 0;
	padding: 0;
	border-top: 1px solid #ece7e7;
}

.cert-modal-link-list li {
	border-bottom: 1px solid #ece7e7;
}

.cert-modal-link {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 14px 2px;
	color: var(--primary-color);
	font-weight: 600;
	font-size: .92rem;
	text-decoration: none;
	transition: color .2s ease;
}

.cert-modal-link:hover {
	color: var(--accent-color);
}

.cert-modal-link i {
	font-size: 1rem;
	color: var(--accent-color);
}

.sustainability-reports {
	padding: 20px 0 100px;
}

.report-card {
	position: relative;
	display: flex;
	width: 100%;
	aspect-ratio: 210 / 297;
	background: var(--white-color);
	border: 1px solid var(--divider-color);
	overflow: hidden;
	text-decoration: none;
	transition: all .25s ease;
}

.report-card:hover {
	box-shadow: 0 10px 24px rgba(25, 35, 36, 0.1);
	transform: translateY(-3px);
}

.report-card-cover {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.report-card-placeholder {
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 24px 20px 18px;
}

.report-card-top {
	position: relative;
	width: 100%;
	flex: 1;
	display: flex;
	justify-content: center;
}

.report-card-accent {
	position: absolute;
	top: 0;
	left: 6px;
	width: 12px;
	height: 65%;
	background: var(--accent-color);
}

.report-card-frame {
	width: 34%;
	height: 100%;
	border: 1px solid var(--divider-color);
}

.report-card-caption {
	font-size: .78rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .02em;
	color: var(--primary-color);
	text-align: center;
	margin-top: 14px;
}

.report-card-footer {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: auto;
	padding-top: 14px;
}

.report-card-year {
	font-size: .72rem;
	font-weight: 700;
	color: var(--accent-color);
}

.report-card-mark {
	width: 16px;
	height: 9px;
	background: var(--accent-color);
}

.progoldlab-hero {
	padding: 80px 0 20px;
}

.progoldlab-eyebrow {
	font-size: .8rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--accent-color);
	margin-bottom: 14px;
}

.progoldlab-hero h2 {
	margin-bottom: 18px;
}

.progoldlab-instruments {
	padding: 40px 0 100px;
}

.progoldlab-instrument-row {
	margin-bottom: 130px;
}

.progoldlab-instrument-row:last-child {
	margin-bottom: 130px;
}

/* ── Mobile (stacked): image, text, transparent image ─────────────────── */
.progoldlab-instrument-images {
	width: 100%;
	aspect-ratio: 3 / 2;
}

.progoldlab-img-side,
.progoldlab-img-side img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.progoldlab-instrument-content-col {
	width: 100%;
}

.progoldlab-instrument-content {
	background: var(--secondery-color);
	padding: 32px 24px;
}

.progoldlab-instrument-eyebrow {
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--accent-color);
	margin-bottom: 10px;
}

.progoldlab-instrument-content h3 {
	margin-bottom: 16px;
}

.progoldlab-img-png {
	width: 46%;
	max-width: 200px;
	margin: 24px auto 0;
}

.progoldlab-img-png img {
	width: 100%;
	height: auto;
	object-fit: contain;
	display: block;
}

/* ── Desktop: 3/7 photo + 4/7 grey panel (fixed to photo height), PNG bleeding below ── */
@media (min-width: 992px) {
	.progoldlab-instrument-row {
		position: relative;
	}

	.progoldlab-instrument-images {
		width: 42.8571%;
	}

	.progoldlab-instrument-images.side-right {
		margin-left: 57.1429%;
	}

	.progoldlab-instrument-content-col {
		position: absolute;
		top: 0;
		bottom: 0;
		width: 57.1429%;
	}

	.progoldlab-instrument-content-col.content-left {
		left: 0;
	}

	.progoldlab-instrument-content-col.content-right {
		right: 0;
	}

	.progoldlab-instrument-content {
		height: 100%;
		padding: 40px 60px;
		display: flex;
		flex-direction: column;
		/*justify-content: center;*/
	}

	.progoldlab-img-png {
		position: absolute;
		bottom: -60px;
		left: 50%;
		transform: translateX(-50%);
		height: 170px;
		width: auto;
		max-width: 60%;
		margin: 0;
		z-index: 2;
	}

	.progoldlab-img-png img {
		height: 100%;
		width: auto;
		max-width: 100%;
	}
}

.esup-etic-badge--done    { background: #d1e7dd; color: #0f5132; }

/************************************/
/***     Career Page css	          ***/
/************************************/

.career-header {
	background: url('../images/career/progold-career-hero.jpg');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.patents-header {
	background: url('../images/patents/progold-patents-hero.jpg');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.press-header {
	background: url('../images/press/progold-press-hero.jpg');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.events-header {
	background: url('../images/events/progold-events-hero.jpg');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.knowledgebase-header {
	background: url('../images/knowledgebase/progold-knowledgebase-hero.jpg');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.career-hero {
	padding: 60px 0 20px;
}

.career-hero p {
	color: var(--text-color);
}

.career-eyebrow {
	display: inline-block;
	font-size: .8rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--accent-color);
	margin-bottom: 14px;
}

.career-content {
	padding: 40px 0 100px;
}

.career-success {
	text-align: center;
	background: var(--secondery-color);
	padding: 70px 40px;
}

.career-success i {
	font-size: 56px;
	color: var(--accent-color);
	margin-bottom: 20px;
}

.career-success h2 {
	margin-bottom: 12px;
}

.career-form-card {
	background: var(--white-color);
	border: 1px solid var(--divider-color);
	box-shadow: 0 10px 30px rgba(25, 35, 36, 0.06);
	padding: 48px;
}

.career-fs-block + .career-fs-block {
	margin-top: 44px;
	padding-top: 44px;
	border-top: 1px solid var(--divider-color);
}

.career-fs-label {
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .1em;
	color: var(--primary-color);
	opacity: .55;
	margin-bottom: 22px;
}

.career-req {
	color: var(--accent-color);
}

.career-opt {
	color: var(--text-color);
	opacity: .55;
	font-size: 12px;
	text-transform: none;
	letter-spacing: 0;
}

.career-upload-field {
	margin-bottom: 20px;
}

.career-upload-field:last-child {
	margin-bottom: 0;
}

.career-dropzone {
	position: relative;
	border: 1.5px dashed var(--divider-color);
	padding: 22px;
	display: flex;
	align-items: center;
	gap: 14px;
	background: var(--secondery-color);
}

.career-dropzone i {
	font-size: 26px;
	color: var(--accent-color);
	flex-shrink: 0;
}

.career-dz-text strong {
	display: block;
	font-size: 14px;
	color: var(--primary-color);
	margin-bottom: 2px;
}

.career-dz-text span {
	font-size: 12.5px;
	color: var(--text-color);
	opacity: .65;
}

.career-dropzone-input {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	cursor: pointer;
}

.career-consent-row {
	display: flex;
	align-items: flex-start;
	gap: 12px;
}

.career-consent-row input[type="checkbox"] {
	width: 18px;
	height: 18px;
	margin-top: 3px;
	flex-shrink: 0;
	accent-color: var(--accent-color);
}

.career-consent-row label {
	font-weight: 500;
	font-size: 13.5px;
	line-height: 1.6;
	color: var(--text-color);
}

.career-honeypot {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.career-submit-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin-top: 40px;
	padding-top: 32px;
	border-top: 1px solid var(--divider-color);
	flex-wrap: wrap;
}

.career-fine-print {
	font-size: 12.5px;
	color: var(--text-color);
	opacity: .65;
	max-width: 380px;
}

.career-btn-submit {
	background: var(--accent-color);
	color: #fff;
	border: none;
	font-size: 15px;
	font-weight: 700;
	padding: 15px 38px;
	border-radius: 999px;
	cursor: pointer;
	white-space: nowrap;
	transition: background .15s ease;
}

.career-btn-submit:hover {
	background: #6e0000;
	color: #fff;
}

@media (max-width: 767px) {
	.career-form-card {
		padding: 28px 22px;
	}

	.career-submit-row {
		flex-direction: column;
		align-items: stretch;
	}

	.career-btn-submit {
		width: 100%;
	}
}
