/*
 * Talita · ritocchi grafici temporanei fino al nuovo sito (crema e nero, titoli con grazie, testo senza grazie, bottoni neri).
 * Vale solo con body.tf-stile, cioè per chi vede le novità.
 */
:root {
	--tf-nero: #1a1a1a;
	--tf-testo: #3d3a37;
	--tf-grigio: #857f79;
	--tf-filo: #e7e1da;
	--tf-crema: #f8f5f0;
	--tf-beige: #eee6df;
	--tf-cuoio: #d1a172;
	--tf-cuoio-scuro: #8a5d35;
	--tf-serif: "Tinos", "Times New Roman", Times, serif;
	--tf-sans: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

/* ------------------------------------------------------------ base */
body.tf-stile {
	color: var(--tf-testo);
	font-family: var(--tf-sans);
	font-size: 15px;
	letter-spacing: 0.01em;
}

.tf-stile h1,
.tf-stile h2,
.tf-stile h3,
.tf-stile h4,
.tf-stile .heading-font,
.tf-stile .product-title,
.tf-stile .entry-title,
.tf-stile .section-title,
.tf-stile .product-section-title {
	color: var(--tf-nero);
	font-family: var(--tf-serif);
	font-weight: 400 !important;
	letter-spacing: 0;
	text-transform: none;
}

.tf-stile .nav > li > a,
.tf-stile .button,
.tf-stile button,
.tf-stile input,
.tf-stile select,
.tf-stile textarea,
.tf-stile .breadcrumbs {
	font-family: var(--tf-sans);
}

.tf-stile a {
	color: var(--tf-nero);
}

.tf-occhiello,
.tf-stile .tf-occhiello {
	margin: 0 0 0.9em;
	color: var(--tf-nero);
	font-family: var(--tf-sans);
	font-size: 11px;
	font-weight: 400;
	letter-spacing: 0.22em;
	text-transform: uppercase;
}

/* bottoni: neri pieni o con il bordo, angoli vivi, maiuscolo piccolo spaziato */
.tf-stile .button,
.tf-stile button.button,
.tf-stile input[type="submit"].button {
	min-height: 46px;
	margin-right: 0.6em;
	padding: 0 1.6em;
	border-radius: 0 !important;
	box-shadow: none !important;
	font-size: 11px;
	font-weight: 400;
	line-height: 46px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.tf-stile .button.primary:not(.is-outline),
.tf-stile .button.secondary:not(.is-outline),
.tf-stile .button.alt {
	border: 1px solid var(--tf-nero);
	background-color: var(--tf-nero) !important;
	color: #fff !important;
}

.tf-stile .button.is-outline {
	border: 1px solid var(--tf-nero) !important;
	background: transparent !important;
	color: var(--tf-nero) !important;
	line-height: 44px;
}

.tf-stile .button.is-outline.white {
	border-color: #fff !important;
	color: #fff !important;
}

.tf-stile .button.is-outline:hover {
	background: var(--tf-nero) !important;
	color: #fff !important;
}

.tf-stile .button.is-outline.white:hover {
	background: #fff !important;
	color: var(--tf-nero) !important;
}

/* i bottoni piccoli dei moduli (quantità, codice sconto) restano come sono */
.tf-stile .ux-quantity .button,
.tf-stile .button.is-form,
.tf-stile input.button.is-form {
	min-height: 0;
	margin: 0;
	padding: 0 0.6em;
	line-height: inherit;
	letter-spacing: normal;
	text-transform: none;
}

/* ------------------------------------------------------------ header, striscia, menu */
.tf-stile .header-main {
	border-bottom: 1px solid var(--tf-filo);
}

.tf-stile .header-bg-color {
	background-color: #fff !important;
}

.tf-stile #logo img {
	max-height: 46px !important;
	padding: 0;
}

@media (max-width: 849px) {
	.tf-stile #logo img {
		max-height: 40px !important;
	}
}

.tf-stile .header-main .nav > li > a {
	color: var(--tf-nero);
	font-size: 13px;
	letter-spacing: 0.04em;
}

.tf-stile .cart-icon strong {
	border-color: var(--tf-nero);
	color: var(--tf-nero);
}

.tf-stile .cart-icon strong::after {
	border-color: var(--tf-nero);
}

.tf-stile .tf-promo-striscia {
	background: var(--tf-nero);
	color: #fff;
}

.tf-stile .tf-promo-striscia a,
.tf-stile .tf-promo-striscia a:hover {
	color: #fff;
}

.tf-stile .tf-promo-striscia time {
	color: var(--tf-cuoio);
}

/* menu da telefono: pannello bianco da sinistra, voci con le grazie */
.tf-stile .mobile-sidebar,
.tf-stile .off-canvas .mfp-content {
	background: #fff !important;
}

.tf-stile .nav-sidebar.nav-vertical > li > a {
	padding: 0.55em 0;
	color: var(--tf-nero);
	font-family: var(--tf-serif);
	font-size: 24px;
	font-weight: 400 !important;
	letter-spacing: 0;
	text-transform: none;
}

.tf-stile .nav-sidebar.nav-vertical > li {
	border-top: 0;
}

.tf-stile .nav-sidebar .sub-menu li > a,
.tf-stile .nav-sidebar .children li > a {
	color: var(--tf-testo);
	font-family: var(--tf-sans);
	font-size: 14px;
	text-transform: none;
}

.tf-stile .mobile-sidebar .sidebar-menu {
	padding: 1.5em 1.6em;
	text-align: left;
}

.tf-stile .mobile-sidebar .searchform .search-field {
	border: 0;
	border-bottom: 1px solid var(--tf-nero);
	background: transparent;
	box-shadow: none;
}

/* menu da computer: voci in tondo, minuscole, sottolineate al passaggio */
@media (min-width: 850px) {
	.tf-stile .header-nav-main > li > a {
		padding-right: 0;
		padding-left: 0;
		color: var(--tf-nero) !important;
		font-size: 14px;
		font-weight: 400;
		letter-spacing: 0.02em;
		text-transform: none;
	}

	.tf-stile .header-nav-main > li > a:hover,
	.tf-stile .header-nav-main > li.active > a {
		text-decoration: underline;
		text-underline-offset: 6px;
	}

	.tf-stile .header-nav-main .nav-dropdown {
		border: 1px solid var(--tf-filo);
		box-shadow: none;
	}

	.tf-stile .header-nav-main .nav-dropdown a {
		font-size: 14px;
		text-transform: none;
	}
}

/* ------------------------------------------------------------ home */
.tf-h .col {
	padding-bottom: 0;
}

.tf-h-titolo,
.tf-h .tf-h-titolo {
	margin: 0 0 1.1em;
	font-size: 34px;
	line-height: 1.15;
	text-align: center;
}

.tf-h-apertura__testo > .col-inner {
	padding: 2.2em 1.4em 2.4em;
	background: var(--tf-crema);
}

.tf-h-apertura h1 {
	margin: 0 0 0.5em;
	font-size: 42px;
	line-height: 1.08;
}

.tf-h-apertura p {
	max-width: 30em;
	margin-bottom: 1.6em;
	font-size: 15px;
	line-height: 1.55;
}

.tf-h-apertura .button {
	margin-bottom: 0.7em;
}

.tf-h-apertura__foto img,
.tf-h-mix__foto img,
.tf-h-storia__foto img {
	display: block;
	width: 100%;
	height: auto;
}

.tf-h-punti .col-inner p {
	margin: 0;
	padding: 1.15em 0.6em;
	color: var(--tf-testo);
	font-size: 13px;
	line-height: 1.4;
	text-align: center;
}

.tf-h-punti .col-inner p strong {
	display: block;
	margin-bottom: 0.25em;
	color: var(--tf-nero);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.tf-h-punti .row > .col {
	border-right: 1px solid var(--tf-filo);
	border-bottom: 1px solid var(--tf-filo);
}

.tf-h-punti .row > .col:last-child {
	border-right: 0;
}

.tf-h-collezioni {
	padding-top: 3.2em !important;
	padding-bottom: 3.2em !important;
	background: #fcfaf7;
}

.tf-h-banner .text-box {
	top: auto !important;
	right: auto !important;
	bottom: 1.4em !important;
	left: 1.4em !important;
	width: auto !important;
	max-width: calc(100% - 2.8em);
	transform: none !important;
}

.tf-h-banner .text-inner {
	padding: 0 !important;
}

.tf-h-best__riga > .col {
	padding-bottom: 12px !important;
}

.tf-h-best__foto .text-box {
	top: auto !important;
	bottom: 14px !important;
	left: 50% !important;
	width: auto !important;
	max-width: calc(100% - 20px);
	transform: translateX(-50%) !important;
}

.tf-h-best__foto .text-inner {
	padding: 0 !important;
}

.tf-h-best__bottone.button {
	margin: 0;
	padding: 0 1.4em;
	min-height: 2.6em;
	line-height: 2.6em;
	background: #fff !important;
	color: var(--tf-nero, #1d1d1b) !important;
	border: 0;
	border-radius: 0;
	font-size: 11px;
	letter-spacing: 0.12em;
	white-space: nowrap;
}

@media (max-width: 549px) {
	.tf-h-best__bottone.button {
		padding: 0 0.9em;
		font-size: 10px;
	}
}

@media (max-width: 849px) {
	.tf-h-collezioni__riga > .col {
		padding-bottom: 12px !important;
	}
}

.tf-h-banner h3 {
	margin: 0 0 0.6em;
	color: #fff;
	font-size: 30px;
	line-height: 1.1;
}

.tf-h-banner .button {
	margin: 0;
}

.tf-h-mix__testo > .col-inner,
.tf-h-storia__testo > .col-inner {
	padding: 2.6em 1.4em;
	background: var(--tf-beige);
}

.tf-h-mix h2,
.tf-h-storia h2 {
	margin: 0 0 0.6em;
	font-size: 34px;
	line-height: 1.12;
}

.tf-h-mix p,
.tf-h-storia p {
	margin-bottom: 1.6em;
	font-size: 15px;
	line-height: 1.6;
}

.tf-h-best,
.tf-h-stili {
	padding-top: 3.4em !important;
	padding-bottom: 3em !important;
}

.tf-h-stili {
	background: #fcfaf7;
}

.tf-stili {
	display: flex;
	gap: 0.8em;
	margin: 0 -15px;
	padding: 0 15px 0.4em;
	overflow-x: auto;
	scroll-snap-type: x proximity;
	scrollbar-width: none;
}

.tf-stili::-webkit-scrollbar {
	display: none;
}

.tf-stili__voce {
	flex: 0 0 38%;
	max-width: 13em;
	border: 1px solid var(--tf-filo);
	background: #fff;
	color: var(--tf-nero);
	text-align: center;
	text-decoration: none;
	scroll-snap-align: start;
}

.tf-stili__voce img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 2 / 3;
	object-fit: cover;
}

.tf-stili__voce span {
	display: block;
	padding: 0.7em 0.4em 0.75em;
	font-family: var(--tf-serif);
	font-size: 19px;
}

@media (min-width: 850px) {
	/* il riquadro crema è la colonna intera, alta quanto la foto; il testo al centro */
	.tf-h-apertura .row,
	.tf-h-mix .row,
	.tf-h-storia .row {
		align-items: stretch !important;
	}

	.tf-h-apertura__testo,
	.tf-h-mix__testo,
	.tf-h-storia__testo {
		display: flex;
		align-items: center;
	}

	.tf-h-apertura__testo {
		background: var(--tf-crema);
	}

	.tf-h-mix__testo,
	.tf-h-storia__testo {
		background: var(--tf-beige);
	}

	.tf-h-apertura__testo > .col-inner,
	.tf-h-mix__testo > .col-inner,
	.tf-h-storia__testo > .col-inner {
		width: 100%;
		background: transparent !important;
	}

	.tf-h-apertura__foto > .col-inner,
	.tf-h-mix__foto > .col-inner,
	.tf-h-storia__foto > .col-inner,
	.tf-h-apertura__foto .img,
	.tf-h-mix__foto .img,
	.tf-h-storia__foto .img,
	.tf-h-apertura__foto .img-inner,
	.tf-h-mix__foto .img-inner,
	.tf-h-storia__foto .img-inner {
		height: 100%;
	}

	.tf-h-apertura__foto img,
	.tf-h-mix__foto img,
	.tf-h-storia__foto img {
		height: 100% !important;
		object-fit: cover;
	}

	.tf-h-apertura__testo > .col-inner {
		padding: 4em 4em;
	}

	.tf-h-apertura h1 {
		font-size: 58px;
	}

	.tf-h-mix__testo > .col-inner,
	.tf-h-storia__testo > .col-inner {
		padding: 5em 4em;
	}

	.tf-stili {
		justify-content: center;
		overflow: visible;
	}

	.tf-stili__voce {
		flex: 1 1 0;
	}
}

@media (max-width: 849px) {
	/* da telefono la foto viene prima del testo */
	.tf-h-apertura .row,
	.tf-h-mix .row {
		flex-direction: column-reverse;
	}

	.tf-h-apertura h1 {
		font-size: 38px;
	}

	.tf-h-apertura .button {
		display: block;
		width: 100%;
		margin-right: 0;
	}

	.tf-h-punti .row > .col:nth-child(2n) {
		border-right: 0;
	}

	.tf-h-titolo,
	.tf-h .tf-h-titolo {
		font-size: 30px;
	}
}

/* prodotti nelle sezioni della home e nelle collezioni */
.tf-stile .product-small .box-text {
	padding-top: 0.7em;
}

.tf-stile .product-small .box-text .name,
.tf-stile .product-small .box-text .product-title {
	color: var(--tf-nero);
	font-family: var(--tf-sans);
	font-size: 14px;
	font-weight: 400;
}

.tf-stile .product-small .box-text a:not(.button) {
	font-weight: 400;
}

.tf-stile .product-small .category {
	color: var(--tf-grigio);
	font-size: 10px;
	letter-spacing: 0.16em;
	opacity: 1;
}

.tf-stile .product-small .price {
	color: var(--tf-nero);
	font-size: 14px;
}

.tf-stile .product-small .price ins,
.tf-stile .product-small .price .amount {
	color: var(--tf-nero);
	font-weight: 400;
}

.tf-stile .has-equal-box-heights .box-image {
	padding-top: 133% !important;
}

.tf-stile .box-image img {
	object-fit: cover;
}

.tf-stile .badge-container .badge-inner.on-sale,
.tf-stile span.onsale {
	border-radius: 0 !important;
	background: var(--tf-nero) !important;
}

/* ------------------------------------------------------------ collezioni */
.tf-stile .shop-page-title.category-page-title,
.tf-stile .custom-category-text {
	display: none !important;
}

.tf-stile .shop-container,
.tf-stile .category-page-row {
	padding-top: 1.6em;
}

.tf-collezione-avviso {
	margin: -0.6em 0 1.2em;
	color: var(--tf-testo);
	font-size: 13px;
	text-align: center;
}

.tf-collezione-strumenti {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1em;
	margin: 0 0 1.2em;
	padding: 0.6em 0;
	border-top: 1px solid var(--tf-filo);
	border-bottom: 1px solid var(--tf-filo);
}

.tf-collezione-strumenti .tf-filtra {
	color: var(--tf-nero);
	font-size: 11px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.tf-collezione-strumenti .woocommerce-ordering {
	margin: 0 0 0 auto;
}

.tf-collezione-strumenti select.orderby {
	width: auto;
	height: auto;
	margin: 0;
	padding: 0.2em 1.6em 0.2em 0.2em;
	border: 0;
	background-color: transparent;
	box-shadow: none;
	color: var(--tf-nero);
	font-size: 12px;
}

.tf-collezione-testa {
	margin: 0.4em 0 1.4em;
	text-align: center;
}

.tf-collezione-testa h1 {
	margin: 0;
	font-size: 38px;
	line-height: 1.1;
}

.tf-collezione-testa p {
	margin: 0.4em 0 0;
	color: var(--tf-grigio);
	font-size: 13px;
}

.tf-filtro-stili {
	display: flex;
	gap: 0.5em;
	margin: 0 -15px 1.4em;
	padding: 0 15px;
	overflow-x: auto;
	scrollbar-width: none;
}

.tf-filtro-stili::-webkit-scrollbar {
	display: none;
}

.tf-filtro-stili a {
	flex: none;
	padding: 0.55em 1.05em;
	border: 1px solid var(--tf-filo);
	color: var(--tf-nero);
	font-size: 12px;
	letter-spacing: 0.06em;
	text-decoration: none;
	white-space: nowrap;
}

.tf-filtro-stili a.is-attivo {
	border-color: var(--tf-nero);
	background: var(--tf-nero);
	color: #fff;
}

@media (min-width: 850px) {
	.tf-filtro-stili {
		justify-content: center;
	}
}

/* ------------------------------------------------------------ scheda prodotto */
.tf-stile .product-main {
	padding-top: 0;
}

.tf-stile .product-info .woocommerce-breadcrumb,
.tf-stile .product-info .breadcrumbs {
	display: none;
}

.tf-collezione {
	margin: 0 0 0.45em;
	font-size: 11px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
}

.tf-collezione a {
	color: var(--tf-grigio) !important;
	text-decoration: none;
}

.tf-stile .product-info {
	padding-top: 1.4em;
}

.tf-stile .product-info .product-title {
	margin-bottom: 0.25em;
	font-size: 30px;
	line-height: 1.12;
}

.tf-stile .product-info .is-divider {
	display: none;
}

.tf-stile .product-info .price-wrapper .price,
.tf-stile .product-info .price-wrapper .price .amount {
	color: var(--tf-nero);
	font-family: var(--tf-sans);
	font-size: 18px;
	font-weight: 400;
}

.tf-stile .product-info .price-wrapper {
	margin-bottom: 0.4em;
}

.tf-stile .product-short-description {
	margin: 0.9em 0 1.2em;
	color: var(--tf-testo);
	font-family: var(--tf-sans) !important;
	font-size: 14px;
	line-height: 1.6;
}

.tf-stile .product-short-description p,
.tf-stile .product-short-description span {
	font-family: var(--tf-sans) !important;
	font-size: 14px !important;
	line-height: 1.6 !important;
}

/* galleria da telefono: a tutta larghezza, senza miniature, con il contatore */
@media (max-width: 849px) {
	.tf-stile .product-gallery {
		margin: 0 !important;
		padding: 0 !important;
	}

	.tf-stile .product-thumbnails {
		display: none !important;
	}

	.tf-stile .product-gallery-slider .flickity-prev-next-button {
		display: none;
	}
}

.tf-galleria-conta {
	position: absolute;
	right: 12px;
	bottom: 12px;
	z-index: 3;
	padding: 0.35em 0.7em;
	background: rgba(255, 255, 255, 0.92);
	color: var(--tf-nero);
	font-size: 11px;
	letter-spacing: 0.1em;
	pointer-events: none;
}

/* meno vuoto tra la scheda e le informazioni */
.tf-stile .product-footer {
	margin-top: 0;
}

.tf-stile .product-footer .container {
	padding-top: 0;
}

.tf-stile .product-info .tf-completa {
	margin-bottom: 0;
}

@media (min-width: 850px) {
	.tf-stile .product-main .product-gallery {
		position: sticky;
		top: 110px;
		align-self: flex-start;
	}

	/* min-width 0: senza, quando un elemento chiede più spazio (i bottoni di Apple Pay e Google Pay,
	   la fila degli abbinamenti) la colonna dei testi va a capo sotto la foto, che resta ferma e ci finisce sotto */
	.tf-stile .product-main .product-info {
		min-width: 0;
		padding-left: 3em;
	}

	.tf-stile .product-main .product-info iframe {
		max-width: 100%;
	}
}

/* informazioni a fisarmonica */
.tf-stile .product-footer .accordion,
.tf-stile .product-footer .woocommerce-tabs {
	margin-top: 1em;
	border-bottom: 1px solid var(--tf-filo);
}

.tf-stile .accordion-item {
	border-top: 1px solid var(--tf-filo);
}

.tf-stile .accordion-title {
	padding: 1.15em 0 !important;
	border: 0 !important;
	background: none !important;
	color: var(--tf-nero) !important;
	font-family: var(--tf-sans);
	font-size: 12px !important;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.tf-stile .accordion-title.active {
	color: var(--tf-nero) !important;
}

.tf-stile .accordion-title .toggle {
	right: 0;
	left: auto;
}

.tf-stile .accordion-inner {
	padding: 0 0 1.4em;
	font-size: 14px;
	line-height: 1.65;
}

.tf-stile .accordion-inner h2,
.tf-stile .accordion-inner h3 {
	font-family: var(--tf-sans);
	font-size: 12px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.tf-stile .related-products-wrapper .product-section-title {
	margin-top: 1.4em;
	font-size: 28px;
	text-align: center;
}

.tf-stile .product-section-title-related {
	text-transform: none;
}

/* ------------------------------------------------------------ carrello laterale, carrello, checkout */
.tf-stile .cart-popup-title .heading-font {
	font-family: var(--tf-serif);
	font-size: 26px;
	letter-spacing: 0;
	text-transform: none;
}

.tf-stile .cart-popup-title .is-divider {
	display: none;
}

.tf-stile .widget_shopping_cart .button:not(.checkout) {
	border: 1px solid var(--tf-nero) !important;
	background: transparent !important;
	color: var(--tf-nero) !important;
}

.tf-stile .woocommerce-mini-cart-item a:not(.remove) {
	color: var(--tf-nero);
	font-size: 14px;
}

.tf-stile .checkout-page-title .breadcrumb-step,
.tf-stile .checkout-breadcrumbs a,
.tf-stile .page-title .breadcrumb-step {
	color: var(--tf-grigio);
	font-family: var(--tf-serif);
	letter-spacing: 0;
	text-transform: none;
}

.tf-stile .checkout-breadcrumbs .current,
.tf-stile .checkout-breadcrumbs a.current {
	color: var(--tf-nero);
}

.tf-stile .shop_table thead th {
	font-family: var(--tf-sans);
	letter-spacing: 0.12em;
}

.tf-stile .cart_totals tbody th,
.tf-stile .shop_table tbody th,
.tf-stile .shop_table tfoot th {
	font-family: var(--tf-sans);
	letter-spacing: normal;
}

.tf-stile .woocommerce-cart-form__cart-item .product-name a {
	color: var(--tf-nero);
}

.tf-stile .cart-discount {
	background: transparent !important;
}

.tf-stile #place_order {
	width: 100%;
	margin-right: 0;
}

.tf-stile .has-border {
	border: 1px solid var(--tf-filo) !important;
}

/* ------------------------------------------------------------ footer */
.tf-stile .footer-wrapper {
	border-top: 1px solid var(--tf-filo);
}

.tf-stile .absolute-footer {
	padding: 2em 0 2.4em;
	background: #fff !important;
	color: var(--tf-grigio) !important;
	font-size: 12px;
	line-height: 1.7;
}

.tf-stile .absolute-footer a,
.tf-stile .absolute-footer strong {
	color: var(--tf-testo) !important;
}

.tf-stile .absolute-footer .payment-icons .payment-icon {
	background: transparent;
	opacity: 0.5;
}

.tf-stile .absolute-footer .payment-icons svg {
	fill: var(--tf-nero);
}
