/* ==========================================================================
   Fochi e Tagliavini â€“ stili principali (mobile first)
   Breakpoint come il sito attuale: tablet >= 768px, desktop >= 1025px.
   ========================================================================== */

/* ---------- Font self-hosted (variabili: un file copre 400-700) ---------- */
@font-face {
	font-family: "Oswald";
	font-style: normal;
	font-weight: 200 700; /* il file variabile copre anche il 300 dei campi del modulo contatti */
	font-display: swap;
	src: url("../fonts/oswald-latin.woff2") format("woff2");
}
@font-face {
	font-family: "Roboto";
	font-style: normal;
	font-weight: 400 700;
	font-display: swap;
	src: url("../fonts/roboto-latin.woff2") format("woff2");
}
@font-face {
	font-family: "Poppins";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/poppins-400-latin.woff2") format("woff2");
}

/* ---------- Variabili (colori del kit attuale) ---------- */
:root {
	--ft-dark: #2b2522;      /* Marrone logo scuro */
	--ft-light: #cdbda4;     /* Marrone logo chiaro */
	--ft-panna: #f5f3ef;     /* Sfondi chiari */
	--ft-hover: #765f3b;     /* Hover menu */
	--ft-white: #fff;
	--ft-text: #333;
	--ft-sale: #4c7a34;
	--ft-font-title: "Oswald", sans-serif;
	--ft-font-text: "Roboto", sans-serif;
	--ft-container: 1140px;
	--ft-radius: 10px;
}

/* ---------- Base ---------- */
*,
*::before,
*::after {
	box-sizing: border-box;
}
html {
	-webkit-text-size-adjust: 100%;
}
body {
	margin: 0;
	background: var(--ft-white);
	color: var(--ft-text);
	font-family: var(--ft-font-text);
	font-size: 1rem;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
}
img {
	max-width: 100%;
	height: auto;
	border: 0;
	vertical-align: middle;
}
a {
	color: var(--ft-dark);
	text-decoration: none;
	transition: color .3s;
}
p {
	margin: 0 0 .9rem;
}
h1, h2, h3, h4, h5, h6 {
	margin: 0;
	font-weight: 600;
	line-height: 1.2;
	color: var(--ft-dark);
}
ul {
	margin: 0;
	padding: 0;
}
.ft-icon {
	display: inline-block;
	width: 1em;
	height: 1em;
	fill: currentColor;
	vertical-align: middle;
}
.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}
.ft-skip-link {
	position: absolute;
	top: -100px;
	left: 10px;
	z-index: 1000;
	padding: 10px 16px;
	background: var(--ft-dark);
	color: var(--ft-white);
}
.ft-skip-link:focus {
	top: 10px;
}
:focus-visible {
	outline: 2px solid var(--ft-hover);
	outline-offset: 2px;
}
.ft-container {
	width: 100%;
	max-width: var(--ft-container);
	margin: 0 auto;
	padding: 0 10px;
}

/* Bottoni: outline marrone, angoli 10px (stile globale del sito attuale) */
.ft-button,
button.ft-button,
[type="submit"]:not(.ft-plain),
.button:not(.ft-plain) {
	display: inline-block;
	padding: 8px 20px;
	border: 2px solid var(--ft-dark);
	border-radius: var(--ft-radius);
	background: transparent;
	color: var(--ft-dark);
	font-family: var(--ft-font-title);
	font-size: 18px;
	font-weight: 500;
	line-height: 1.5;
	text-transform: uppercase;
	cursor: pointer;
	transition: all .3s;
}
.ft-button:hover,
.ft-button:focus,
[type="submit"]:not(.ft-plain):hover,
.button:not(.ft-plain):hover {
	border-color: var(--ft-dark);
	background: var(--ft-dark);
	color: var(--ft-light);
}

.ft-section-title {
	font-family: var(--ft-font-title);
	font-size: 24px;
	font-weight: 600;
	line-height: 1;
	text-align: center;
	text-transform: uppercase;
	color: var(--ft-dark);
}

/* ==========================================================================
   HEADER
   ========================================================================== */
.ft-header {
	position: relative;
	z-index: 50;
}
.ft-promo {
	background: var(--ft-light);
	color: var(--ft-dark);
	text-align: center;
	font-size: 12px;
	padding: 6px 10px;
}
.ft-promo p {
	margin: 0;
}

/* Riga loghi + azioni: su mobile loghi sopra, barra panna con account/carrello/menu sotto */
.ft-brandbar {
	display: grid;
	grid-template-columns: 1fr;
	background: var(--ft-white);
	padding-top: 10px;
}
.ft-brandbar__spacer {
	display: none;
}
.ft-brandbar__logos {
	display: flex;
	align-items: center;
	justify-content: center;
}
.ft-logo--main {
	width: 52%;
	text-align: center;
}
.ft-logo--main img {
	width: 90%;
}
.ft-logo--second {
	width: 25%;
	text-align: center;
}
.ft-logo--second img {
	width: 90%;
}
.ft-brandbar__actions {
	display: grid;
	grid-template-columns: 33% 33% 34%;
	align-items: center;
	justify-items: center;
	margin-top: 10px;
	padding: 8px 0;
	background: var(--ft-panna);
}
.ft-account-link {
	color: var(--ft-hover);
	font-size: 20px;
	line-height: 1;
}
.ft-account-link:hover {
	color: var(--ft-light);
}

/* Bottone carrello */
.ft-cart-toggle {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 6px 4px;
	border: 0;
	background: transparent;
	color: var(--ft-dark);
	font-family: var(--ft-font-text);
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
}
.ft-cart-toggle:hover {
	color: var(--ft-hover);
}
.ft-cart-toggle__icon {
	position: relative;
	font-size: 20px;
	line-height: 1;
}
.ft-cart-count {
	position: absolute;
	top: -10px;
	right: -10px;
	min-width: 1.6em;
	height: 1.6em;
	padding: 0 .3em;
	border-radius: 100%;
	background: var(--ft-dark);
	color: var(--ft-white);
	font-size: 9px;
	font-weight: 700;
	line-height: 1.6em;
	text-align: center;
}

/* Hamburger (solo mobile) */
.ft-menu-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: .25em;
	border: 0;
	background: transparent;
	color: var(--ft-dark);
	font-size: 22px;
	cursor: pointer;
}
.ft-menu-toggle:hover {
	color: var(--ft-hover);
}
.ft-menu-toggle__close,
.ft-menu-toggle[aria-expanded="true"] .ft-menu-toggle__open {
	display: none;
}
.ft-menu-toggle[aria-expanded="true"] .ft-menu-toggle__close {
	display: inline-block;
}

/* Menu mobile: tendina a tutta larghezza */
.ft-nav {
	display: none;
	position: absolute;
	left: 0;
	right: 0;
	margin-top: 5px;
	background: var(--ft-panna);
	box-shadow: 0 8px 16px rgba(0, 0, 0, .08);
}
.ft-nav.is-open {
	display: block;
}
.ft-nav__list {
	list-style: none;
}
.ft-nav__item {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.ft-nav__link {
	flex: 1 1 auto;
	display: block;
	padding: 10px 20px;
	color: var(--ft-dark);
	font-family: var(--ft-font-title);
	font-size: 16px;
	font-weight: 500;
	text-align: center;
	text-transform: uppercase;
}
.ft-nav__link:hover,
.ft-nav__link:focus {
	background: var(--ft-light);
	color: var(--ft-white);
}
.ft-nav__item--shop > .ft-nav__link {
	background: var(--ft-light);
	color: var(--ft-white);
}
.ft-nav__sub-toggle {
	position: absolute;
	top: 0;
	right: 0;
	height: 44px;
	width: 48px;
	border: 0;
	background: transparent;
	color: var(--ft-white);
	font-size: 18px;
	cursor: pointer;
}
.ft-nav__sub-toggle[aria-expanded="true"] .ft-icon {
	transform: rotate(180deg);
}
.ft-nav__sub {
	display: none;
	flex: 1 0 100%;
	list-style: none;
}
.ft-nav__sub.is-open {
	display: block;
}
.ft-nav__sub a {
	display: block;
	padding: 10px 20px;
	color: var(--ft-dark);
	font-family: var(--ft-font-title);
	font-size: 16px;
	font-weight: 500;
	text-align: center;
	text-transform: uppercase;
}
.ft-nav__sub a:hover,
.ft-nav__sub a:focus {
	background: var(--ft-light);
	color: var(--ft-white);
}
.ft-mega {
	display: none;
}

/* Carrello laterale */
.ft-side-cart[hidden] {
	display: none;
}
.ft-side-cart {
	position: fixed;
	inset: 0;
	z-index: 9999;
}
.ft-side-cart__overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, .25);
	opacity: 0;
	transition: opacity .3s;
}
.ft-side-cart__panel {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	display: flex;
	flex-direction: column;
	width: min(400px, 100%);
	padding: 20px 30px;
	overflow-y: auto;
	background: var(--ft-panna);
	color: var(--ft-dark);
	transform: translateX(100%);
	transition: transform .3s;
}
.ft-side-cart.is-open .ft-side-cart__overlay {
	opacity: 1;
}
.ft-side-cart.is-open .ft-side-cart__panel {
	transform: none;
}
.ft-side-cart__close {
	align-self: flex-start;
	margin-bottom: 20px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--ft-dark);
	font-size: 25px;
	cursor: pointer;
}
.ft-side-cart__close:hover {
	color: #7d0000;
}

/* ==========================================================================
   HOME
   ========================================================================== */

/* Hero */
.ft-hero {
	position: relative;
	display: grid;
	min-height: 65vh;
	overflow: hidden;
	background: var(--ft-dark);
}
.ft-hero__slide {
	grid-area: 1 / 1;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 100px 10px 0;
	background-position: center center;
	background-size: cover;
	transition: opacity 1s ease;
}
.ft-hero--slider .ft-hero__slide:not(.is-active) {
	opacity: 0;
	visibility: hidden;
}
.ft-hero__content {
	max-width: var(--ft-container);
	text-align: center;
}
.ft-hero__subtitle {
	margin: 0 0 15px;
	color: var(--ft-white);
	font-family: var(--ft-font-title);
	font-size: 20px;
	font-weight: 600;
	line-height: 1;
	text-transform: uppercase;
}
.ft-hero__title {
	margin: -15px 0 15px;
	color: var(--ft-white);
	font-family: var(--ft-font-title);
	font-size: 24px;
	font-weight: 600;
	line-height: 1;
	text-transform: uppercase;
}
.ft-hero__title a {
	color: inherit;
}

/* Prodotti in evidenza */
.ft-featured {
	padding: 80px 0;
}
.ft-featured .ft-section-title {
	margin-bottom: 15px;
}
.ft-carousel {
	position: relative;
	padding: 0 34px;
}
.ft-carousel__track {
	--ft-per-view: 2;
	/* contenitore di posizionamento: i testi nascosti (screen-reader-text) delle card non escono dal carosello e non creano scroll orizzontale */
	position: relative;
	display: flex;
	gap: 20px;
	margin: 0;
	padding: 0;
	list-style: none;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
}
.ft-carousel__track::-webkit-scrollbar {
	display: none;
}
.ft-carousel__track > li {
	flex: 0 0 calc((100% - (var(--ft-per-view) - 1) * 20px) / var(--ft-per-view));
	scroll-snap-align: start;
}
.ft-carousel__arrow {
	position: absolute;
	top: 30%;
	z-index: 2;
	padding: 4px;
	border: 0;
	background: transparent;
	color: var(--ft-dark);
	font-size: 22px;
	line-height: 22px;
	cursor: pointer;
}
.ft-carousel__arrow:hover {
	color: var(--ft-hover);
}
.ft-carousel__arrow--prev {
	left: 4px;
}
.ft-carousel__arrow--next {
	right: 4px;
}
.ft-carousel__dots {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin-top: 20px;
}
.ft-carousel__dots button {
	width: 8px;
	height: 8px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #000;
	opacity: .2;
	cursor: pointer;
}
.ft-carousel__dots button.is-active {
	opacity: 1;
}

/* Card prodotto del carosello */
.ft-card {
	padding: 10px;
	text-align: center;
}
.ft-card__media {
	position: relative;
	display: block;
	overflow: hidden;
	margin-bottom: 10px;
}
.ft-card__media img {
	width: 100%;
	aspect-ratio: 1;
	object-fit: contain;
	transition: transform .3s;
}
.ft-card__media:hover img {
	transform: scale(1.1);
}
.ft-card__badge {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	min-width: 2em;
	padding: 2px 10px;
	background: var(--ft-sale);
	color: var(--ft-white);
	font-size: 14px;
	line-height: 2em;
}
.ft-card__stock {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 4px;
	background: rgba(255, 255, 255, .85);
	color: #5f0000;
	font-family: var(--ft-font-title);
	font-size: 14px;
	font-weight: 500;
}
.ft-card__title h3 {
	margin: 0;
	color: var(--ft-dark);
	font-family: var(--ft-font-title);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.2;
	text-transform: uppercase;
	transition: color .3s;
}
.ft-card__title:hover h3 {
	color: var(--ft-hover);
}
.ft-card .price {
	display: block;
	margin: 2px 0 15px;
	color: var(--ft-dark);
	font-family: var(--ft-font-title);
	font-size: 16px;
	font-weight: 600;
}
.ft-card .price del {
	opacity: .6;
	margin-right: 4px;
}
.ft-card .price ins {
	text-decoration: underline;
}
.ft-card__actions .button {
	padding: 4px 15px;
	border: 2px solid var(--ft-dark);
	border-radius: var(--ft-radius);
	background: var(--ft-panna);
	color: var(--ft-dark);
	font-family: var(--ft-font-title);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.5;
	text-transform: uppercase;
}
.ft-card__actions .button:hover {
	background: var(--ft-dark);
	color: var(--ft-light);
}
.ft-card__actions .added_to_cart {
	display: block;
	margin-top: 6px;
	font-family: var(--ft-font-title);
	font-size: 14px;
	text-transform: uppercase;
}

/* QualitÃ  e innovazione */
.ft-intro {
	display: grid;
	grid-template-columns: 1fr;
}
.ft-intro__dark {
	display: flex;
	align-items: center;
	padding: 50px 20px;
	background: var(--ft-dark);
	color: var(--ft-light);
	text-align: center;
}
.ft-intro__inner {
	width: 100%;
}
.ft-intro__title {
	margin: 4px 0 20px;
	color: var(--ft-light);
	font-family: var(--ft-font-title);
	font-size: 24px;
	font-weight: 600;
	line-height: 1;
}
.ft-intro__text p {
	margin: 0 0 24px;
}
.ft-intro__text p + p {
	margin-top: 8px;
}
.ft-intro__text p:last-child {
	margin-bottom: 22px;
}
.ft-intro__text strong {
	color: var(--ft-light);
}
.ft-intro__light {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 50px 20px;
	background: var(--ft-white);
	text-align: center;
}
.ft-intro__logo {
	width: 60%;
}
.ft-circles {
	display: grid;
	grid-template-columns: 1fr;
	width: 100%;
	max-width: 1200px;
	margin: 0 0 50px;
	list-style: none;
}
.ft-circles__item {
	padding: 0 15px;
}
.ft-circles__item img {
	width: 100px;
	height: 100px;
	margin: 20px 0 10px;
	border: 3px solid var(--ft-dark);
	border-radius: 50%;
	object-fit: cover;
}
.ft-circles__title {
	margin: 0 0 10px;
	color: var(--ft-dark);
	font-family: var(--ft-font-title);
	font-size: 16px;
	font-weight: 600;
	line-height: 1;
	text-transform: uppercase;
}
.ft-circles__title a {
	color: inherit;
}
.ft-intro__light .ft-button {
	padding: 12px 24px;
	font-size: 16px;
	line-height: 1;
}

/* Fascia immagine finale */
.ft-band {
	min-height: 300px;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.ft-footer {
	/* nel sito attuale l'immagine di fondo e' coperta da un velo pieno color marrone chiaro */
	background-color: var(--ft-light);
	color: var(--ft-dark);
	text-align: center;
}
.ft-footer__cols {
	display: flex;
	flex-direction: column;
	max-width: 1200px;
	margin: 0 auto;
	padding: 50px 0 0;
}
.ft-footer__col {
	padding: 0 15px;
}
.ft-footer__col--logos {
	order: -1;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	margin-bottom: 50px;
}
.ft-footer__logo {
	width: 65%;
	max-width: 65%;
}
.ft-footer__logo-2 {
	width: 50%;
	max-width: 50%;
	padding: 0 12.5%;
}
.ft-footer__title {
	margin: 0 0 32px;
	color: var(--ft-dark);
	font-family: var(--ft-font-title);
	font-size: 22px;
	font-weight: 600;
	line-height: 1;
	text-transform: uppercase;
}
.ft-footer__col--pages .ft-footer__title {
	padding-top: 30px;
}
.ft-footer__list {
	margin: 0 0 11px;
	list-style: none;
}
.ft-footer__list li + li {
	margin-top: 3px;
	padding-top: 0;
}
.ft-footer__list a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--ft-dark);
	font-size: 15px;
	letter-spacing: 1.2px;
}
.ft-footer__list .ft-icon {
	font-size: 14px;
}
.ft-social {
	display: flex;
	justify-content: center;
	gap: 5px;
	margin: 0 0 10px;
	list-style: none;
}
.ft-social a {
	display: inline-flex;
	padding: 9px;
	color: var(--ft-dark);
	font-size: 18px;
	line-height: 1;
}
.ft-social a:hover {
	color: var(--ft-hover);
}
.ft-footer__legal {
	margin: 0;
	padding: 0 15px 50px;
	color: var(--ft-dark);
	font-size: 14px;
	line-height: 1.3;
}
.ft-footer__legal a {
	color: var(--ft-dark);
	text-decoration: underline;
}

/* Pagine generiche (riserva) */
.ft-page {
	padding: 60px 0;
}
.ft-page-title {
	margin-bottom: 30px;
	font-family: var(--ft-font-title);
	font-size: 28px;
	text-transform: uppercase;
}

/* ==========================================================================
   TABLET >= 768px
   ========================================================================== */
@media (min-width: 768px) {
	.ft-promo {
		font-size: 16px;
		padding: 6px 10px;
	}

	/* Header: colonne 30% / 40% / 15% / 15% */
	.ft-brandbar {
		grid-template-columns: 30% 40% 30%;
		align-items: center;
		padding: 10px 0 20px;
	}
	.ft-brandbar__spacer {
		display: block;
	}
	.ft-logo--main {
		width: 40%;
	}
	.ft-logo--main img {
		width: 100%;
	}
	.ft-logo--second {
		width: 26%;
		padding-left: 20px;
	}
	.ft-logo--second img {
		width: 100%;
	}
	.ft-brandbar__actions {
		grid-template-columns: 1fr 1fr;
		margin: 0;
		padding: 0;
		background: transparent;
	}
	.ft-brandbar__actions .ft-account-link {
		justify-self: end;
		padding-right: 10px;
		color: var(--ft-dark);
	}
	.ft-menu-toggle {
		display: none;
	}

	/* Barra menu desktop/tablet */
	.ft-nav {
		display: block;
		position: relative;
		margin: 0;
		background: var(--ft-light);
		box-shadow: none;
	}
	.ft-nav__list {
		display: flex;
		align-items: center;
		justify-content: space-between;
		max-width: var(--ft-container);
		margin: 0 auto;
	}
	.ft-nav__item {
		position: static;
		display: flex;
		align-items: center;
		height: 50px;
	}
	.ft-nav__link {
		padding: 12px 24px;
		font-family: var(--ft-font-text);
		font-size: 12px;
		font-weight: 600;
		line-height: 1;
	}
	.ft-nav__link:hover,
	.ft-nav__link:focus {
		background: transparent;
		color: var(--ft-hover);
	}
	.ft-nav__item--shop > .ft-nav__link {
		background: var(--ft-dark);
		color: var(--ft-white);
	}
	.ft-nav__item--shop > .ft-nav__link:hover,
	.ft-nav__item--shop > .ft-nav__link:focus {
		color: var(--ft-hover);
	}
	.ft-nav__sub-toggle,
	.ft-nav__sub {
		display: none !important;
	}

	/* Pannello Shop a comparsa */
	.ft-mega {
		display: block;
		position: absolute;
		top: 45px;
		left: 0;
		right: 0;
		padding: 20px 0;
		background: var(--ft-panna);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition: opacity .2s;
	}
	.ft-nav__item--shop:hover .ft-mega,
	.ft-nav__item--shop:focus-within .ft-mega {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
	}
	.ft-mega__list {
		display: flex;
		justify-content: center;
		list-style: none;
	}
	.ft-mega__item {
		flex: 0 0 14.28%;
		padding: 10px;
		text-align: center;
	}
	.ft-mega__item img {
		display: block;
		width: 50%;
		margin: 0 auto 15px;
	}
	.ft-mega__item span {
		display: block;
		margin-top: -2px;
		color: var(--ft-dark);
		font-family: var(--ft-font-title);
		font-size: 14px;
		font-weight: 600;
		line-height: 1;
		text-transform: uppercase;
	}

	/* Home */
	.ft-hero__subtitle {
		margin: 0;
		font-size: 28px;
	}
	.ft-hero__title {
		margin: 0 0 23px;
		font-size: 36px;
	}
	.ft-section-title {
		font-size: 26px;
	}
	.ft-featured .ft-section-title {
		margin-bottom: 5px;
	}
	.ft-carousel__track {
		--ft-per-view: 4;
	}
	.ft-intro__dark,
	.ft-intro__light {
		padding: 50px;
	}
	.ft-intro__logo {
		width: 42%;
		margin-bottom: 30px;
	}
	.ft-circles {
		grid-template-columns: repeat(3, 1fr);
	}
	.ft-circles__item img {
		margin: 0 0 25px;
	}
	.ft-circles__title {
		margin-bottom: 20px;
	}
	.ft-band {
		min-height: 450px;
	}

	/* Footer a 3 colonne */
	.ft-footer__cols {
		flex-direction: row;
		align-items: center;
		padding-top: 70px;
	}
	.ft-footer__col {
		flex: 1 1 33.333%;
	}
	.ft-footer__col--logos {
		order: 0;
		margin-bottom: 0;
	}
	.ft-footer__logo {
		width: 100%;
		max-width: 100%;
	}
	.ft-footer__logo-2 {
		width: 60%;
		max-width: 60%;
		margin-top: 15px;
		padding: 0;
	}
	.ft-footer__col--pages .ft-footer__title {
		padding-top: 0;
	}
	.ft-footer__legal {
		padding-bottom: 50px;
	}
}

/* ==========================================================================
   DESKTOP >= 1025px
   ========================================================================== */
@media (min-width: 1025px) {
	/* Header: 20% / 60% / 10% / 10% */
	.ft-brandbar {
		grid-template-columns: 20% 60% 20%;
	}
	.ft-logo--main {
		width: 20%;
	}
	.ft-logo--main img {
		width: 75%;
	}
	.ft-logo--second {
		width: 10%;
		padding-left: 0;
	}
	.ft-logo--second img {
		width: 65%;
	}
	.ft-nav__list {
		max-width: 56%;
	}
	.ft-nav__link {
		font-size: 16px;
	}
	.ft-mega__list {
		padding: 0 11.1%;
	}

	/* Home */
	.ft-hero__title {
		font-size: 42px;
	}
	.ft-section-title {
		font-size: 28px;
	}
	.ft-carousel__track {
		--ft-per-view: 6;
	}
	.ft-intro {
		grid-template-columns: 1fr 1fr;
	}
	.ft-intro__dark {
		justify-content: flex-end;
		padding: 70px 40px 70px 10px;
		text-align: left;
	}
	.ft-intro__inner {
		max-width: 500px;
	}
	.ft-intro__title {
		font-size: 28px;
	}
	.ft-intro__text {
		padding-right: 140px;
	}
	.ft-intro__light {
		justify-content: center;
		padding: 10px;
	}
	.ft-circles {
		margin: 50px 0 30px;
	}
	.ft-intro__light .ft-button {
		font-size: 18px;
	}
	.ft-band {
		min-height: 600px;
		background-attachment: fixed;
	}
	.ft-footer__cols {
		padding-top: 40px;
	}
	.ft-footer__logo {
		width: 65%;
		max-width: 65%;
	}
	.ft-footer__logo-2 {
		width: 35%;
		max-width: 35%;
		margin-top: 0;
		padding: 0 5%;
	}
	.ft-footer__legal {
		padding-bottom: 20px;
	}
}

/* Reset dei bottoni-icona: alcuni CSS dei plugin (Elementor/WooCommerce) stilizzano
   [type=button] con bordo e display; qui la specificita' piu' alta li neutralizza. */
.ft-header button.ft-cart-toggle,
.ft-header button.ft-menu-toggle,
.ft-header button.ft-nav__sub-toggle,
.ft-side-cart button.ft-side-cart__close,
.ft-carousel button.ft-carousel__arrow,
.ft-carousel__dots button {
	border: 0;
	border-radius: 0;
	box-shadow: none;
	background-color: transparent;
	font-family: inherit;
	text-transform: none;
}
.ft-carousel__dots button {
	background-color: #000;
	border-radius: 50%;
}
.ft-header button.ft-cart-toggle {
	font-family: var(--ft-font-text);
	color: var(--ft-dark);
	padding: 6px 4px;
}
.ft-header button.ft-cart-toggle:hover,
.ft-header button.ft-menu-toggle:hover,
.ft-carousel button.ft-carousel__arrow:hover {
	background-color: transparent;
	color: var(--ft-hover);
}
.ft-header button.ft-menu-toggle {
	display: inline-flex;
	padding: .25em;
	color: var(--ft-dark);
}
.ft-carousel button.ft-carousel__arrow {
	padding: 4px;
	color: var(--ft-dark);
}
@media (min-width: 768px) {
	.ft-header button.ft-menu-toggle {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		transition-duration: .01ms !important;
		scroll-behavior: auto !important;
	}
}

/* Fase 6 - area di tocco su touch: l'aspetto non cambia, si allarga solo la zona cliccabile */
@media (pointer: coarse), (max-width: 767px) {
	.ft-account-link,
	.ft-header button.ft-menu-toggle,
	.ft-carousel button.ft-carousel__arrow,
	.ft-carousel__dots button {
		position: relative;
	}
	.ft-carousel button.ft-carousel__arrow {
		position: absolute;
	}
	.ft-account-link::after,
	.ft-header button.ft-menu-toggle::after,
	.ft-carousel button.ft-carousel__arrow::after {
		content: "";
		position: absolute;
		inset: -12px;
	}
	.ft-carousel__dots button::after {
		content: "";
		position: absolute;
		inset: -9px -4px;
	}
	.ft-footer__list a {
		padding-block: 8px;
	}
	.ft-dialog__close,
	.ft-filters__close,
	.ft-filter-toggle,
	.ft-side-cart__close,
	.ft-lightbox__close,
	.ft-lightbox__nav {
		min-width: 44px;
		min-height: 44px;
	}
}
