/* ====================================================
   TEMA: MINIMAL
   Ultra limpio, líneas finas, mucho espacio en blanco
   ==================================================== */

/* --- Tipografía --- */
h1, h2, h3 {
	font-weight: 200 !important;
	letter-spacing: 0.04em;
	font-style: normal;
}

h2 {
	font-size: 2.8rem !important;
}

h1 { font-size: 3.4rem !important; }

/* --- Botones --- */
.btn {
	font-weight: 400;
	border-radius: 2px !important;
}
.btn-primary, .btn.fondo1 {
	border-radius: 2px !important;
	background: transparent !important;
	color: var(--color1) !important;
	border: 1px solid var(--color1) !important;
	font-weight: 400;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	font-size: 0.82em;
	padding: 8px 22px !important;
	transition: all 0.22s ease;
	box-shadow: none !important;
	filter: none !important;
}

.btn-primary:hover, .btn.fondo1:hover,
.btn-primary:focus, .btn.fondo1:focus,
.btn-primary:active, .btn.fondo1:active {
	background: var(--color1) !important;
	color: #fff !important;
	box-shadow: none !important;
	filter: none !important;
}

.btn-outline-primary,
.btn-outline-secondary {
	border-radius: 2px !important;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	font-size: 0.82em;
	border-width: 1px !important;
	transition: all 0.22s ease;
}

/* --- Tarjetas de producto --- */
.pro-ficha-mini {
	background: transparent !important;
	padding: 0 !important;
	border: none !important;
	box-shadow: none !important;
	transition: none !important;
}

.pro-ficha-mini .img-container {
	border: 1px solid #ddd !important;
	transition: border-color 0.22s ease !important;
}

.pro-ficha-mini:hover .img-container {
	border-color: var(--color1) !important;
}

.pro-ficha-mini .info {
	padding: 10px 2px 16px !important;
	background: transparent !important;
	text-align: left !important;
	border-top: none !important;
}

.pro-ficha-mini .info .nombre {
	font-weight: 400;
	letter-spacing: 0.02em;
}

/* --- Navbar --- */
#navbarNav .navbar-nav a {
	font-weight: 400 !important;
	letter-spacing: 0.06em !important;
	font-size: 0.9em !important;
}

/* --- Footer --- */
.footer {
	border-top: 1px solid #e0e0e0 !important;
	background: #fff !important;
	color: #333;
}
.footer a:not(.color1) {
	color: #444 !important;
}
.footer a:hover {
	color: #000 !important;
}
.footer .fs-4 {
	color: #111 !important;
	font-weight: 400 !important;
	letter-spacing: 0.08em;
}

.footer2 {
	background: #fafafa !important;
	border-top: 1px solid #e8e8e8 !important;
	color: #666 !important;
}
.footer2 a,
.footer2 .text-dark {
	color: #666 !important;
}
.footer2 a:hover {
	color: #111 !important;
}

/* --- Bloques / banners --- */
.bl .titulo {
	font-weight: 200 !important;
	letter-spacing: 0.05em;
}

/* --- Secciones --- */
section, .py-6, .py-7 {
	background: #fff;
}

.input-group > .form-control:first-child { border-radius: 2px 0 0 2px !important; }
.input-group > .btn-primary,
.input-group > .btn.fondo1 { border-radius: 0 2px 2px 0 !important; }
.input-group > .input-group-text:first-child { border-radius: 2px 0 0 2px !important; }
.input-group > .input-group-text:last-child { border-radius: 0 2px 2px 0 !important; }

/* --- Cat-top: imagen desvanecida como fondo, texto centrado encima --- */
@media (min-width: 992px) {
	.cat-top {
		position: relative;
		overflow: hidden;
		min-height: 220px;
	}
	.cat-top .row > .order-1 {
		position: absolute !important;
		top: 0; left: 0; right: 0; bottom: 0;
		width: 100% !important;
		max-width: 100% !important;
		padding: 0 !important;
		z-index: 0;
		opacity: 0.1;
	}
	.cat-top img {
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
		border-radius: 0 !important;
		filter: grayscale(100%);
	}
	.cat-top .row > .order-2 {
		flex: 0 0 100% !important;
		max-width: 100% !important;
		position: relative;
		z-index: 2;
	}
	.cat-top .fondo2-transparent {
		background: transparent !important;
	}
	.cat-top h1 {
		font-weight: 100 !important;
		letter-spacing: 0.08em;
	}
}

/* --- Menú categorías (navbarNav2): punto activo --- */
#navbarNav2 .navbar-nav a {
	font-weight: 400;
	letter-spacing: 0.06em;
	position: relative;
	transition: opacity 0.2s ease;
}
#navbarNav2 .navbar-nav a.active {
	font-weight: 400 !important;
	border-bottom: none !important;
}
#navbarNav2 .navbar-nav a.active::after {
	content: '';
	display: block;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: currentColor;
	margin: 2px auto 0;
}
#navbarNav2 .navbar-nav a:hover {
	opacity: 0.65;
}
