/* ==========================================================================
   Quarto Fuoco — Pagina Botteghe
   Desktop: Figma 293:2535  |  Mobile: Figma 406:3850
   ========================================================================== */

.qf-botteghe,
.qf-botteghe * {
	box-sizing: border-box;
}

.qf-botteghe {
	background: #FFFFFF;
	font-family: "Inter", sans-serif;
}

/* --------- HERO --------- */
.qf-botteghe-hero {
	padding: 34px 0 132px;
}
.qf-botteghe-hero__inner {
	max-width: var(--qf-max-width);
	margin: 0 auto;
	padding: 0 24px;
}

.qf-botteghe-breadcrumb {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 16px;
	line-height: 24px;
	margin-bottom: 45px;
}
.qf-botteghe-breadcrumb a {
	color: #494949;
	text-decoration: none;
	font-weight: 400;
}
.qf-botteghe-breadcrumb a:hover {
	color: #5C2E26;
}
.qf-botteghe-breadcrumb__sep {
	display: inline-flex;
	align-items: center;
}
.qf-botteghe-breadcrumb__sep svg {
	display: block;
}
.qf-botteghe-breadcrumb__current {
	color: #12110F;
	font-weight: 500;
}

.qf-botteghe-hero__text {
	display: flex;
	flex-direction: column;
	gap: 20px;
	max-width: 952px;
	margin: 0 auto;
	text-align: center;
}
.qf-botteghe-hero__title {
	margin: 0;
	font-family: "Epilogue", sans-serif;
	font-weight: 500;
	font-size: 72px;
	line-height: 108px;
	color: #5C2E26;
}
.qf-botteghe-hero__accent {
	color: #9A4F3F;
}
.qf-botteghe-hero__subtitle {
	margin: 0;
	font-weight: 500;
	font-size: 24px;
	line-height: 36px;
	color: #12110F;
}

/* --------- GRID --------- */
.qf-botteghe-grid-wrap {
	max-width: var(--qf-max-width);
	margin: 0 auto;
	padding: 0 24px 150px;
}
.qf-botteghe-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px 24px;
	margin-bottom: 125px;
}

/* --------- CARD LINK (wrap intera card cliccabile) --------- */
.qf-bottega-card-link {
	display: block;
	color: inherit;
	text-decoration: none;
}
.qf-bottega-card-link:focus { outline: none; }
.qf-bottega-card-link:focus-visible .qf-bottega-card {
	outline: 2px solid var(--qf-bottega-color, #5C2E26);
	outline-offset: 3px;
}
.qf-bottega-card-link:hover .qf-bottega-card__btn {
	background: var(--qf-bottega-color, #5C2E26);
	color: #FFFFFF;
}

/* --------- CARD --------- */
.qf-bottega-card {
	background: #FFFFFF;
	border-radius: 20px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	border: 0;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
	transition: transform 250ms ease, box-shadow 250ms ease;
}
.qf-bottega-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 12px 28px color-mix(in srgb, var(--qf-bottega-color, #5C2E26) 25%, transparent);
}
.qf-bottega-card__image img {
	transition: transform 500ms ease;
}
.qf-bottega-card:hover .qf-bottega-card__image img {
	transform: scale(1.04);
}
.qf-bottega-card__image {
	width: 100%;
	aspect-ratio: 472 / 329;
	overflow: hidden;
	background: #E3D4C6;
}
.qf-bottega-card__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.qf-bottega-card__body {
	padding: 20px;
	display: flex;
	flex-direction: column;
	gap: 30px;
	flex: 1;
	border-left: 2px solid color-mix(in srgb, var(--qf-bottega-color, #5C2E26) 40%, transparent);
	border-right: 2px solid color-mix(in srgb, var(--qf-bottega-color, #5C2E26) 40%, transparent);
	border-bottom: 2px solid color-mix(in srgb, var(--qf-bottega-color, #5C2E26) 40%, transparent);
	border-radius: 0 0 20px 20px;
	transition: border-color 250ms ease;
}
.qf-bottega-card:hover .qf-bottega-card__body {
	border-color: color-mix(in srgb, var(--qf-bottega-color, #5C2E26) 70%, transparent);
}
.qf-bottega-card__text {
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.qf-bottega-card__name {
	margin: 0;
	font-weight: 700;
	font-size: 24px;
	line-height: 36px;
	color: var(--qf-bottega-color, #5C2E26);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}
.qf-bottega-card__tag {
	margin: 0;
	font-weight: 500;
	font-size: 18px;
	line-height: 27px;
	color: #12110F;
}
.qf-bottega-card__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 16px 37px;
	border: 1px solid var(--qf-bottega-color, #5C2E26);
	border-radius: 62px;
	background: transparent;
	color: var(--qf-bottega-color, #5C2E26);
	font-family: "Inter", sans-serif;
	font-weight: 500;
	font-size: 18px;
	line-height: 27px;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 150ms ease, color 150ms ease;
	-webkit-appearance: none;
	appearance: none;
	margin-top: auto;
}
.qf-bottega-card__btn svg {
	width: 20px;
	height: 20px;
	display: block;
}
.qf-bottega-card__btn svg path {
	stroke: currentColor;
}
.qf-bottega-card__btn:hover {
	background: var(--qf-bottega-color, #5C2E26);
	color: #FFFFFF;
}

/* --------- PAGINATION (Figma 301:3713) --------- */
.qf-botteghe-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
}
.qf-botteghe-pagination__nav {
	width: 48px;
	height: 48px;
	border: 2px solid transparent;
	background: transparent;
	border-radius: 54px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	padding: 0;
	-webkit-appearance: none;
	appearance: none;
	transition: background-color 150ms ease, border-color 150ms ease, color 150ms ease, opacity 150ms ease;
}
.qf-botteghe-pagination__nav--prev {
	color: #2F2F2F;
	opacity: 0.7;
}
.qf-botteghe-pagination__nav--next {
	color: #22286A;
}
.qf-botteghe-pagination__nav svg {
	display: block;
	width: 16px;
	height: 16px;
}
.qf-botteghe-pagination__nav svg path {
	stroke: currentColor;
}
.qf-botteghe-pagination__nav--prev:hover,
.qf-botteghe-pagination__nav--prev:focus,
.qf-botteghe-pagination__nav--prev:focus-visible {
	background: #9A4F3F;
	border-color: #9A4F3F;
	color: #FFFFFF;
	opacity: 1;
	outline: none;
}
.qf-botteghe-pagination__nav.is-disabled {
	opacity: 0.35;
	cursor: not-allowed;
	pointer-events: none;
}
.qf-botteghe-pagination__nav--next:hover,
.qf-botteghe-pagination__nav--next:focus,
.qf-botteghe-pagination__nav--next:focus-visible {
	background: #9A4F3F;
	border-color: #9A4F3F;
	color: #FFFFFF;
	outline: none;
}

.qf-botteghe-pagination__list {
	display: flex;
	align-items: center;
	gap: 16px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.qf-botteghe-pagination__num {
	width: 48px;
	height: 48px;
	border: 2px solid transparent;
	background: transparent;
	border-radius: 54px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	color: #2F2F2F;
	font-family: "Inter", sans-serif;
	font-weight: 600;
	font-size: 18px;
	line-height: 27px;
	padding: 0;
	opacity: 0.7;
	-webkit-appearance: none;
	appearance: none;
	transition: background-color 150ms ease, border-color 150ms ease, opacity 150ms ease, color 150ms ease;
}
.qf-botteghe-pagination__num:hover {
	opacity: 1;
	color: #22286A;
	border-color: #22286A;
	background: transparent;
}
.qf-botteghe-pagination__num.is-active {
	color: #22286A;
	border-color: #22286A;
	border-radius: 54px;
	opacity: 1;
	background: transparent;
}
.qf-botteghe-pagination__num.is-active,
.qf-botteghe-pagination__num.is-active:hover {
	background: transparent;
	color: #22286A;
	border-color: #22286A;
	border-radius: 54px;
	cursor: default;
}

/* ==========================================================================
   LAPTOP / TABLET — 992-1463px
   ========================================================================== */
@media (max-width: 1463px) and (min-width: 992px) {
	.qf-botteghe-hero__inner,
	.qf-botteghe-grid-wrap {
		padding-left: 32px;
		padding-right: 32px;
	}
	.qf-botteghe-hero__title {
		font-size: 56px;
		line-height: 84px;
	}
	.qf-botteghe-hero__subtitle {
		font-size: 20px;
		line-height: 30px;
	}
}

/* ==========================================================================
   TABLET landscape — 768-991
   ========================================================================== */
@media (max-width: 991px) and (min-width: 768px) {
	.qf-botteghe-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* ==========================================================================
   MOBILE — fino a 767px (Figma 406:3850)
   ========================================================================== */
@media (max-width: 804px) {
	.qf-botteghe-hero {
		padding: 20px 0 40px;
	}
	.qf-botteghe-hero__inner {
		padding: 0 20px;
	}
	.qf-botteghe-breadcrumb {
		margin-bottom: 30px;
	}
	.qf-botteghe-hero__text {
		gap: 8px;
	}
	.qf-botteghe-hero__title {
		font-size: 36px;
		line-height: 54px;
	}
	.qf-botteghe-hero__subtitle {
		font-size: 20px;
		line-height: 30px;
	}

	.qf-botteghe-grid-wrap {
		padding: 0 13px 60px;
	}
	.qf-botteghe-grid {
		grid-template-columns: 1fr;
		gap: 30px;
		margin-bottom: 30px;
	}
	.qf-bottega-card__image {
		aspect-ratio: 376 / 250;
	}
	.qf-bottega-card__body {
		padding: 20px;
		gap: 30px;
	}
	.qf-bottega-card__name {
		font-size: 20px;
		line-height: 30px;
	}
	.qf-bottega-card__tag {
		font-size: 16px;
		line-height: 24px;
	}
	.qf-bottega-card__btn {
		padding: 16px;
		font-size: 16px;
		line-height: 24px;
	}

	/* Mobile pagination (Figma 407:4187): 3 numeri, color #5C2E26 attivo, #606060 prev */
	.qf-botteghe-pagination__list li:nth-child(n+4) {
		display: none;
	}
	.qf-botteghe-pagination__num {
		width: 46px;
		height: 46px;
		font-size: 16px;
		line-height: 24px;
	}
	.qf-botteghe-pagination__num,
	.qf-botteghe-pagination__num:hover {
		color: #606060;
		border-color: transparent;
	}
	.qf-botteghe-pagination__num:hover {
		color: #5C2E26;
		border-color: #5C2E26;
		opacity: 1;
	}
	.qf-botteghe-pagination__num.is-active,
	.qf-botteghe-pagination__num.is-active:hover {
		color: #5C2E26;
		border-color: #5C2E26;
	}
	.qf-botteghe-pagination__nav--prev,
	.qf-botteghe-pagination__nav--prev:hover {
		color: #606060;
	}
	.qf-botteghe-pagination__nav--prev:hover,
	.qf-botteghe-pagination__nav--prev:focus {
		background: #5C2E26;
		border-color: #5C2E26;
		color: #FFFFFF;
	}
	.qf-botteghe-pagination__nav--next {
		color: #5C2E26;
	}
	.qf-botteghe-pagination__nav--next:hover,
	.qf-botteghe-pagination__nav--next:focus {
		background: #5C2E26;
		border-color: #5C2E26;
		color: #FFFFFF;
	}
}
