/*------------------------------------------------------------------
[Table of contents]

1.  Template default CSS
	1.1	Variables
	1.2	Mixins
	1.3	Flexbox
	1.4	Reset
2.  Helper Css
3.  Header Section
4.  Hero Section
5.  Service Section
6.  Categories Section
7.  Featured Section
8.  Latest Product Section
9.  Contact
10.  Footer Style
-------------------------------------------------------------------*/

/*----------------------------------------*/
/* Template default CSS
/*----------------------------------------*/

:root{
	--color-acento:#C9A96E ;
	--color-principal: #1B2A4A;
	--color-secundario:#C9A96E ;
	--color-texto-claro: #ffffff;
	--color-fondo-beige: #F5F0EB;
	--fuente-predeterminada: "Poppins", sans-serif;
	--fuente-weight: 700;
	/* New design tokens */
	--e404-bg: #f7f6f1;
	--e404-paper: #ffffff;
	--e404-ink: #1c1912;
	--e404-ink-soft: #4a453c;
	--e404-muted: #8b8579;
	--e404-line: #dedacc;
	--e404-stamp: #a8322a;
	--e404-thread: #4b5d45;
	--e404-font-serif: 'Poppins', sans-serif;
	--e404-font-sans: 'Poppins', sans-serif;
	--e404-card-bg: #ffffff;
	--e404-green: #4b5d45;
	--e404-font-mono: 'Space Mono', monospace;
}

/* Dark Mode
/*----------------------------------------*/
body.dark {
	--color-acento: #d4a84a;
	--color-principal: #e8e4de;
	--color-secundario: #d4a84a;
	--color-texto-claro: #1a1a1a;
	--color-fondo-beige: #1a1a1a;

	--e404-bg: #1a1a1a;
	--e404-paper: #242424;
	--e404-card-bg: #2a2a2a;
	--e404-ink: #e8e4de;
	--e404-ink-soft: #b0a99e;
	--e404-muted: #7a756d;
	--e404-line: #3a3a3a;
	--e404-stamp: #d4453a;
	--e404-green: #6a9b5e;

	background-color: #1a1a1a;
	color: #e8e4de;
}

body.dark h1,
body.dark h2,
body.dark h3,
body.dark h4,
body.dark h5,
body.dark h6 {
	color: #e8e4de;
}

body.dark img {
	opacity: 0.92;
}

/* --- Header top --- */
body.dark .header__top {
	background: #1c1912;
}

body.dark .header__top__links a {
	color: rgba(255,255,255,0.6);
}

body.dark .header__top__links .header__top__info {
	color: rgba(255,255,255,0.45);
}

body.dark .header__top__separator {
	background: rgba(255,255,255,0.15);
}

/* --- Carrusel categorías --- */
body.dark .categories__item h5 a {
	background: rgba(0,0,0,0.75);
	color: #e8e4de;
}

body.dark .categories__item h5 a:hover {
	background: var(--e404-stamp);
	color: #fff;
}

body.dark .categories__slider.owl-carousel .owl-nav button {
	color: #e8e4de;
	background: var(--e404-card-bg);
	border-color: var(--e404-line);
}

/* --- Selector de cantidad --- */
body.dark .pro-qty,
body.dark .pro-qty-detail {
	background: var(--e404-card-bg);
}

body.dark .pro-qty input,
body.dark .pro-qty-detail input {
	background: transparent;
	color: var(--e404-ink);
}

body.dark .pro-qty .qtybtn,
body.dark .pro-qty-detail .qtybtn {
	color: var(--e404-muted);
}

body.dark .product__card__quantity input {
	background: transparent;
	color: var(--e404-ink);
}

body.dark .product__card__quantity span {
	background-color: var(--e404-card-bg);
	border-color: var(--e404-line);
	color: var(--e404-ink-soft);
}

html,
body {
	height: 100%;
	font-family: var(--fuente-predeterminada);
	-webkit-font-smoothing: antialiased;
	/* font-smoothing: antialiased; */
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0;
	color: #111111;
	font-weight: 400;
	font-family: var(--fuente-predeterminada);
}

h1 {
	font-size: 70px;
}

h2 {
	font-size: 36px;
}

h3 {
	font-size: 30px;
}

h4 {
	font-size: 24px;
}

h5 {
	font-size: 18px;
}

h6 {
	font-size: 16px;
}

p {
	font-size: 16px;
	font-family: var(--fuente-predeterminada);
	/* color: #6f6f6f; */
	color: #1c1c1c;
	font-weight: 400;
	line-height: 26px;
	margin: 0 0 15px 0;
}

img {
	max-width: 100%;
}

input:focus,
select:focus,
button:focus,
textarea:focus {
	outline: none;
}

a:hover,
a:focus {
	text-decoration: none;
	outline: none;
	color: #ffffff;
}

ul,
ol {
	padding: 0;
	margin: 0;
}

/*---------------------
  Helper CSS
-----------------------*/

.section-title {
	margin-bottom: 50px;
	text-align: center;
}

.section-title h2 {
	font-family: var(--e404-font-serif);
	color: var(--e404-ink);
	font-weight: 600;
	font-size: 32px;
	letter-spacing: -0.01em;
	position: relative;
}

.section-title h2:after {
	position: absolute;
	left: 0;
	bottom: -15px;
	right: 0;
	height: 3px;
	width: 60px;
	background: var(--e404-stamp);
	content: "";
	margin: 0 auto;
	border-radius: 2px;
}

.set-bg {

	background-repeat: no-repeat;
	background-size: cover;
	background-position: top center;
}

.spad {
	padding-top: 70px;
	padding-bottom: 70px;
}

.text-white h1,
.text-white h2,
.text-white h3,
.text-white h4,
.text-white h5,
.text-white h6,
.text-white p,
.text-white span,
.text-white li,
.text-white a {
	color: #fff;
}

/* buttons */

.primary-btn {
	display: inline-block;
	font-family: var(--e404-font-mono);
	font-size: 11px;
	padding: 14px 32px;
	color: var(--e404-paper);
	text-transform: uppercase;
	font-weight: 700;
	background: var(--e404-ink);
	letter-spacing: 0.12em;
	border-radius: 0;
	transition: all 0.3s ease;
	border: 1px solid var(--e404-ink);
	text-decoration: none;
}

.primary-btn:hover {
	background: var(--e404-paper);
	color: var(--e404-ink);
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(28,25,18,0.1);
	text-decoration: none;
}

.primary-btn-disabled {
	display: inline-block;
	font-family: var(--e404-font-mono);
	font-size: 11px;
	padding: 14px 32px;
	color: var(--e404-paper);
	text-transform: uppercase;
	font-weight: 700;
	background: var(--e404-muted);
	letter-spacing: 0.12em;
	border-radius: 0;
	border: 1px solid var(--e404-muted);
}


.site-btn {
	font-family: var(--e404-font-mono);
	font-size: 11px;
	color: var(--e404-paper);
	font-weight: 700;
	text-transform: uppercase;
	display: inline-block;
	padding: 14px 32px;
	background: var(--e404-ink);
	border: 1px solid var(--e404-ink);
	letter-spacing: 0.12em;
	transition: background 0.3s;
	text-decoration: none;
}

.site-btn:hover {
	background: var(--e404-stamp);
	border-color: var(--e404-stamp);
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(168,50,42,0.2);
	text-decoration: none;
}

/* Preloder */

#preloder {
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 999999;
	background: #1B2A4A ;
	
}

.loader {
	width: 40px;
	height: 40px;
	position: absolute;
	top: 50%;
	left: 50%;
	margin-top: -13px;
	margin-left: -13px;
	border-radius: 60px;
	animation: loader 0.8s linear infinite;
	-webkit-animation: loader 0.8s linear infinite;
	
}

@keyframes loader {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
		border: 4px solid #f44336;
		border-left-color: transparent;
	}
	50% {
		-webkit-transform: rotate(180deg);
		transform: rotate(180deg);
		border: 4px solid #673ab7;
		border-left-color: transparent;
	}
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
		border: 4px solid #f44336;
		border-left-color: transparent;
	}
}

@-webkit-keyframes loader {
	0% {
		-webkit-transform: rotate(0deg);
		border: 4px solid #f44336;
		border-left-color: transparent;
	}
	50% {
		-webkit-transform: rotate(180deg);
		border: 4px solid #673ab7;
		border-left-color: transparent;
	}
	100% {
		-webkit-transform: rotate(360deg);
		border: 4px solid #f44336;
		border-left-color: transparent;
	}
}

/*---------------------
  Header - Estilo Adidas
-----------------------*/

.header {
	position: sticky;
	top: 0;
	z-index: 999;
	background: #fff;
	transition: box-shadow 0.3s ease;
}

.header.scrolled {
	box-shadow: 0 2px 10px rgba(0,0,0,0.08);
}

/* === TOP BAR === */
.header__top {
	background: var(--e404-ink);
	padding: 6px 0;
}

.header__top__links {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 11px;
}

.header__top__links a {
	color: rgba(255,255,255,0.6);
	font-size: 11px;
	font-family: var(--e404-font-mono);
	font-weight: 400;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	transition: color 0.2s;
	text-decoration: none;
}

.header__top__links a:hover {
	color: var(--e404-stamp);
	text-decoration: none;
}

.header__top__links a i {
	margin-right: 5px;
	font-size: 10px;
}

.header__top__links .header__top__info {
	color: rgba(255,255,255,0.45);
	font-size: 11px;
	font-family: var(--e404-font-mono);
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.header__top__separator {
	width: 1px;
	height: 10px;
	background: rgba(255,255,255,0.15);
	display: inline-block;
}

/* === HEADER PRINCIPAL === */
.header__main {
	background: var(--e404-bg);
	border-bottom: 1px solid var(--e404-line);
}

.header__main__inner {
	display: flex;
	align-items: center;
	height: 72px;
	gap: 24px;
}

/* === LOGO === */
.header__logo {
	flex-shrink: 0;
}

.header__logo a {
	display: flex;
	align-items: center;
}

.img_logo {
	height: 44px;
	width: auto;
	transition: opacity 0.3s;
}

.header__logo a:hover .img_logo {
	opacity: 0.85;
}

/* === NAV LINKS === */
.header__nav {
	flex: 1;
}

.header__nav-list {
	display: flex;
	align-items: center;
	gap: 28px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.header__nav-list li a {
	font-family: var(--e404-font-sans);
	font-size: 12px;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--e404-ink);
	transition: color 0.2s;
	padding: 4px 0;
	display: block;
	position: relative;
}

.header__nav-list li a::after {
	content: '';
	position: absolute;
	bottom: -2px;
	left: 0;
	width: 0;
	height: 2px;
	background: var(--e404-stamp);
	transition: width 0.3s ease;
}

.header__nav-list li:hover a,
.header__nav-list li.active a {
	color: var(--e404-stamp);
}

.header__nav-list li:hover a::after,
.header__nav-list li.active a::after {
	width: 100%;
}

/* === ACCIONES DERECHA === */
.header__actions {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-shrink: 0;
}

.header__action-icon {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--e404-ink);
	text-decoration: none;
	cursor: pointer;
	background: none;
	border: none;
	padding: 4px;
	transition: color 0.2s;
}

.header__action-icon svg {
	width: 22px;
	height: 22px;
	transition: color 0.2s;
}

.header__action-icon:hover {
	color: var(--e404-stamp);
}

/* Dark mode toggle - hidden on mobile, visible on desktop */
.header__actions .theme-toggle {
	display: none;
}

@media (min-width: 768px) {
	.header__actions .theme-toggle {
		display: flex;
	}
}

.header__action-link {
	display: flex;
	align-items: center;
	gap: 6px;
}

.header__user-img {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	object-fit: cover;
	border: 2px solid var(--e404-line);
}

.header__user-name {
	font-family: var(--e404-font-mono);
	font-size: 11px;
	font-weight: 400;
	color: var(--e404-ink-soft);
	max-width: 80px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.header__user-arrow {
	margin-left: 2px;
	transition: transform 0.2s ease;
}

.header__user-dropdown:hover .header__user-arrow {
	transform: rotate(180deg);
}

/* === BADGES === */
.header__badge {
	position: absolute;
	top: -4px;
	right: -6px;
	background: var(--e404-stamp);
	color: #fff;
	font-size: 9px;
	font-weight: 700;
	min-width: 16px;
	height: 16px;
	line-height: 16px;
	text-align: center;
	border-radius: 50%;
	padding: 0 3px;
	display: none;
}

.header__badge:not(:empty) {
	display: block;
}

/* === CANTIDAD EN CARRITO === */
.header__cart-total {
	font-family: var(--e404-font-mono);
	font-size: 11px;
	color: var(--e404-muted);
	font-weight: 400;
	margin-left: 2px;
	white-space: nowrap;
}

/* === DROPDOWN USUARIO === */
.header__user-dropdown {
	position: relative;
}

.header__user-menu {
	position: absolute;
	top: 100%;
	right: 0;
	background: var(--e404-paper);
	min-width: 180px;
	padding: 8px 0;
	margin-top: 8px;
	box-shadow: 0 4px 16px rgba(28,25,18,0.1);
	border: 1px solid var(--e404-line);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-4px);
	transition: all 0.2s ease;
	list-style: none;
	z-index: 10;
}

.header__user-dropdown:hover .header__user-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.header__user-menu li a {
	display: block;
	padding: 8px 16px;
	font-family: var(--e404-font-sans);
	font-size: 13px;
	font-weight: 400;
	color: var(--e404-ink-soft);
	transition: all 0.2s;
	text-decoration: none;
}

.header__user-menu li a:hover {
	background: var(--e404-bg);
	color: var(--e404-stamp);
}

/* === BÚSQUEDA INLINE === */
.header__search-inline {
	display: flex;
	align-items: center;
	border-bottom: 1px solid var(--e404-line);
	transition: border-color 0.2s;
}

.header__search-inline:focus-within {
	border-bottom-color: var(--e404-stamp);
}

.header__search-inline-btn {
	background: none;
	border: none;
	cursor: pointer;
	padding: 6px 8px 6px 0;
	color: var(--e404-muted);
	display: flex;
	align-items: center;
	transition: color 0.2s;
}

.header__search-inline-btn:hover {
	color: var(--e404-stamp);
}

.header__search-inline-input {
	border: none;
	background: transparent;
	padding: 6px 0;
	font-family: var(--e404-font-sans);
	font-size: 13px;
	font-weight: 400;
	color: var(--e404-ink);
	width: 140px;
	outline: none;
	transition: width 0.3s ease;
}

.header__search-inline-input::placeholder {
	color: var(--e404-muted);
	font-weight: 400;
}

.header__search-inline-input:focus {
	width: 180px;
}

/* === HAMBURGER (MOBILE) === */
.humberger__open {
	display: none;
	cursor: pointer;
	color: #2d2d2d;
	padding: 4px;
	background: none;
	border: none;
}

.humberger__open svg {
	width: 24px;
	height: 24px;
}

.humberger__menu__wrapper {
	display: none;
}

/*---------------------
  Hero
-----------------------*/

.hero {
	padding-bottom: 50px;
}

.hero.hero-normal {
	padding-bottom: 30px;
}

.hero.hero-normal .hero__categories {
	position: relative;
	box-shadow: 0 2px 12px rgba(28,25,18,0.06);
}

.hero.hero-normal .hero__categories ul {
	display: none;
	position: absolute;
	left: 0;
	top: 46px;
	width: 100%;
	z-index: 9;
	background: var(--e404-paper);
	border: 1px solid var(--e404-line);
}

.hero.hero-normal .hero__search {
	margin-bottom: 0;
}



.hero__categories__all {
	background: var(--e404-ink);
	position: relative;
	padding: 12px 25px 12px 40px;
	cursor: pointer;
	border-radius: 0;
	display: flex;
	align-items: center;
}

.hero__categories__all i {
	font-size: 16px;
	color: var(--e404-paper);
	margin-right: 10px;
}

.hero__categories__all .category-chevron {
	font-size: 12px;
	color: var(--e404-paper);
	margin-left: auto;
	transition: transform 0.3s ease;
}

.hero__categories__all.active .category-chevron {
	transform: rotate(180deg);
}

.hero__categories__all span {
	font-family: var(--e404-font-mono);
	font-size: 11px;
	font-weight: 700;
	color: var(--e404-paper);
	text-transform: uppercase;
	letter-spacing: 0.1em;
}

.hero__categories__all:after {
	display: none;
}

.hero__categories ul {
	border: none;
	border-top: none;
	padding: 8px 0 8px 0;
	border-radius: 0;
	box-shadow: 0 4px 16px rgba(28,25,18,0.1);
	background: var(--e404-paper);
	border: 1px solid var(--e404-line);
}

.hero__categories ul li {
	list-style: none;
	border-bottom: 1px solid var(--e404-line);
}

.hero__categories ul li:last-child {
	border-bottom: none;
}

.hero__categories ul li a {
	font-family: var(--e404-font-sans);
	font-size: 13px;
	color: var(--e404-ink-soft);
	line-height: 38px;
	display: block;
	padding: 0 20px 0 40px;
	transition: all 0.2s ease;
	text-decoration: none;
}

.hero__categories ul li a:hover {
	color: var(--e404-stamp);
	padding-left: 45px;
	background: rgba(168,50,42,0.05);
}

.hero__search {
	overflow: hidden;
	/* margin-bottom: 30px; */
	margin-bottom: 15px;
}

.hero__search__form {
	width: 610px;
	height: 50px;
	border: 1.5px solid #e0e0e0;
	border-radius: 6px;
	position: relative;
	float: left;
	overflow: hidden;
}

.hero__search__form form .hero__search__categories {
	width: 16%;
	float: left;
	font-size: 14px;
	color: #2d2d2d;
	font-weight: 600;
	padding-left: 18px;
	padding-top: 13px;
	position: relative;
}

.hero__search__form form .hero__search__categories:after {
	position: absolute;
	right: 0;
	top: 14px;
	height: 20px;
	width: 1px;
	background: #e0e0e0;
	content: "";
}

.hero__search__form form .hero__search__categories span {
	position: absolute;
	right: 14px;
	top: 14px;
}

.hero__search__form form input {
	width: 64%;
	border: none;
	height: 48px;
	font-size: 14px;
	color: #2d2d2d;
	padding-left: 20px;
	outline: none;
}

.hero__search__form form input::placeholder {
	color: #b2b2b2;
}

.hero__search__form form button {
	position: absolute;
	right: 0;
	top: -1px;
	height: 48px;
	border-radius: 0 6px 6px 0;
}

.hero__search__phone {
	/* float: right; se desborda y pasa abajo con el float*/
}

.hero__search__phone__icon {
	font-size: 18px;
	color: #fff;
	height: 50px;
	width: 50px;
	background: var(--e404-ink);
	line-height: 50px;
	text-align: center;
	border-radius: 50%;
	float: left;
	margin-left: 10px;
	margin-right: 10px;
}

.hero__search__phone__text {
	overflow: hidden;
}

.hero__search__phone__text h5 {
	color: #2d2d2d;
	font-weight: 600;
	margin-bottom: 5px;
	font-size: 15px;
}

.hero__search__phone__text span {
	font-size: 13px;
	color: #888888;
}

.hero__item {
	height: 480px;
	display: flex;
	align-items: center;
	padding-left: 75px;
	position: relative;
	border-radius: 12px;
	overflow: hidden;
}

.hero__item::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(90deg, rgba(28,25,18,0.7) 0%, rgba(28,25,18,0.1) 100%);
}

.hero__text {
	position: relative;
	z-index: 1;
	max-width: 500px;
	padding: 2rem 0;
}

.hero__text span {
	font-family: var(--e404-font-mono);
	font-size: 11px;
	text-transform: uppercase;
	font-weight: 700;
	letter-spacing: 0.18em;
	color: var(--e404-stamp);
	display: inline-block;
	margin-bottom: 8px;
}

.hero__text h2 {
	font-family: var(--e404-font-serif);
	font-size: 48px;
	color: var(--e404-paper);
	line-height: 1.1;
	font-weight: 600;
	margin: 10px 0 15px;
}

.hero__text p {
	font-family: var(--e404-font-sans);
	margin-bottom: 35px;
	color: rgba(255,255,255,0.75);
	font-size: 16px;
	line-height: 1.6;
}

/*---------------------
  Categories
-----------------------*/

.categories__item {
	height: 270px;
	position: relative;
}

.categories__item h5 {
	position: absolute;
	left: 0;
	width: 100%;
	padding: 0 20px;
	bottom: 20px;
	text-align: center;
}

.categories__item h5 a {
	font-family: var(--e404-font-mono);
	font-size: 11px;
	color: var(--e404-ink);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	padding: 12px 20px;
	background: rgba(255, 255, 255, 0.92);
	backdrop-filter: blur(4px);
	display: inline-block;
	text-decoration: none;
	transition: background 0.2s, color 0.2s;
}

.categories__item h5 a:hover {
	background: var(--e404-ink);
	color: var(--e404-paper);
}

.categories__slider .col-lg-3 {
	max-width: 100%;
}

.categories__slider.owl-carousel .owl-nav button {
	font-size: 18px;
	color: #1c1c1c;
	height: 70px;
	width: 30px;
	line-height: 70px;
	text-align: center;
	border: 1px solid #ebebeb;
	position: absolute;
	left: -35px;
	top: 50%;
	-webkit-transform: translateY(-35px);
	background: #ffffff;
}

.categories__slider.owl-carousel .owl-nav button.owl-next {
	left: auto;
	right: -35px;
}

/*---------------------
  Featured
-----------------------*/

.featured {
	padding-top: 70px;
	padding-bottom: 70px;
}

.featured__controls {
	text-align: center;
	margin-bottom: 50px;
}

.featured__controls ul li {
	list-style: none;
	font-family: var(--e404-font-mono);
	font-size: 11px;
	color: var(--e404-ink-soft);
	text-transform: uppercase;
	letter-spacing: 0.1em;
	display: inline-block;
	margin-right: 25px;
	position: relative;
	cursor: pointer;
	padding-bottom: 4px;
	transition: color 0.3s;
}

.featured__controls ul li.active:after {
	opacity: 1;
}

.featured__controls ul li:after {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 2px;
	background: var(--e404-stamp);
	content: "";
	opacity: 0;
	transition: opacity 0.3s;
}

.featured__controls ul li:last-child {
	margin-right: 0;
}

.featured__controls ul li:hover {
	color: var(--e404-stamp);
}

.featured__controls ul li.active {
	color: var(--e404-ink);
	font-weight: 700;
}

.featured__item {
	display: flex;
	flex-direction: column;
	position: relative;
	margin-bottom: 22px;
	transition: box-shadow .2s ease;
	background: var(--e404-paper);
	padding: 0;
	border: 1px solid var(--e404-line);
	border-radius: 8px;
	overflow: hidden;
	text-decoration: none;
	color: inherit;
}

.featured__item:hover {
	box-shadow: 0 4px 16px rgba(28,25,18,0.10);
	text-decoration: none;
}

.featured__item:hover .featured__item__pic {
	filter: brightness(0.98);
}

.featured__item__pic {
	height: 190px;
	position: relative;
	overflow: hidden;
	border-radius: 0;
	border: none;
	border-bottom: 1px dashed var(--e404-line);
	display: flex;
	align-items: center;
	justify-content: center;
}
.featured__item__pic img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.featured__item__pic::before {
	content: "";
	position: absolute;
	top: 10px;
	left: 10px;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: var(--e404-bg);
	border: 1px solid var(--e404-ink);
	box-shadow: 0 0 0 1px var(--e404-bg);
	z-index: 2;
}

.featured__item__fab {
	display: flex;
	align-items: center;
	justify-content: center;
}
.featured__item__fab svg {
	width: 58px;
	height: 58px;
	position: relative;
	z-index: 1;
	opacity: 0.85;
}
.featured__item__fab-1 { background: linear-gradient(135deg, #e7e2d4, #cfc8b3); }
.featured__item__fab-2 { background: linear-gradient(135deg, #dfe3dd, #b9c2b6); }
.featured__item__fab-3 { background: linear-gradient(135deg, #ece0d8, #d3b9a9); }

.featured__item__pic__hover {
	position: absolute;
	left: 0;
	bottom: -50px;
	width: 100%;
	text-align: center;
	-webkit-transition: all, 0.5s;
	-moz-transition: all, 0.5s;
	-ms-transition: all, 0.5s;
	-o-transition: all, 0.5s;
	transition: all, 0.5s;
}

.featured__item__pic__hover li {
	list-style: none;
	display: inline-block;
	margin-right: 6px;
}

.featured__item__pic__hover li:last-child {
	margin-right: 0;
}

.featured__item__pic__hover li:hover a {
	background: var(--e404-stamp);
	border-color: var(--e404-stamp);
}

.featured__item__pic__hover li:hover a i {
	color: #ffffff;
	transform: rotate(360deg);
}

.featured__item__pic__hover li a {
	font-size: 16px;
	color: var(--e404-ink);
	height: 40px;
	width: 40px;
	line-height: 40px;
	text-align: center;
	border: 1px solid var(--e404-line);
	background: var(--e404-paper);
	display: block;
	border-radius: 50%;
	-webkit-transition: all, 0.5s;
	-moz-transition: all, 0.5s;
	-ms-transition: all, 0.5s;
	-o-transition: all, 0.5s;
	transition: all, 0.5s;
}

.featured__item__pic__hover li a i {
	position: relative;
	transform: rotate(0);
	-webkit-transition: all, 0.3s;
	-moz-transition: all, 0.3s;
	-ms-transition: all, 0.3s;
	-o-transition: all, 0.3s;
	transition: all, 0.3s;
}

.featured__item__text {
	text-align: left;
	padding: 18px 18px 20px;
	height: auto;
}

.featured__item__cat {
	font-family: 'Space Mono', monospace;
	font-size: 10.5px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--e404-muted);
	margin-bottom: 8px;
	display: block;
}

.featured__item__text h6 {
	font-family: var(--e404-font-serif);
	font-weight: 500;
	font-size: 15px;
	color: var(--e404-ink-soft);
	transition: color 0.3s;
	text-decoration: none;
	line-height: 1.3;
	margin: 0 0 8px;
}

.featured__item__text h6:hover {
	color: var(--e404-stamp);
}

.featured__item__text h5 {
	font-family: var(--e404-font-mono);
	color: var(--e404-ink);
	font-weight: 700;
	font-size: 16px;
	margin: 0;
}

.featured__item__actions {
	padding: 0 18px 18px;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 8px;
}

.product__card__actions-row {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

.product__card__badge-oferta {
	position: absolute;
	top: 12px;
	left: 12px;
	font-family: var(--e404-font-mono);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #fff;
	background: var(--e404-stamp);
	padding: 4px 10px;
	border-radius: 4px;
	z-index: 3;
}

/*---------------------
  Latest Product
-----------------------*/

.latest-product {
	padding-top: 70px;
	padding-bottom: 70px;
}

.latest-product__text h4 {
	font-family: var(--e404-font-serif);
	font-weight: 600;
	color: var(--e404-ink);
	margin-bottom: 30px;
	font-size: 20px;
}

.latest-product__slider.owl-carousel .owl-nav {
	position: absolute;
	right: 20px;
	top: -75px;
}

.latest-product__slider.owl-carousel .owl-nav button {
	height: 30px;
	width: 30px;
	background: var(--e404-bg);
	border: 1px solid var(--e404-line);
	font-size: 14px;
	color: var(--e404-muted);
	margin-right: 10px;
	line-height: 30px;
	text-align: center;
	transition: background 0.2s, color 0.2s, border-color 0.2s;
}

.latest-product__slider.owl-carousel .owl-nav button:hover {
	background: var(--e404-ink);
	color: var(--e404-paper);
	border-color: var(--e404-ink);
}

.latest-product__slider.owl-carousel .owl-nav button span {
	font-weight: 700;
}

.latest-product__slider.owl-carousel .owl-nav button:last-child {
	margin-right: 0;
}

.latest-product__item {
	margin-bottom: 20px;
	display: flex;
	align-items: flex-start;
	gap: 26px;
	text-decoration: none;
}

.latest-product__item__pic {
	flex-shrink: 0;
	width: 110px;
	height: 110px;
	border-radius: 6px;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}

.latest-product__item__pic svg {
	width: 36px;
	height: 36px;
	opacity: 0.85;
}

.latest-product__item__pic img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.latest-product__item__fab-1 { background: linear-gradient(135deg, #e7e2d4, #cfc8b3); }
.latest-product__item__fab-2 { background: linear-gradient(135deg, #dfe3dd, #b9c2b6); }
.latest-product__item__fab-3 { background: linear-gradient(135deg, #ece0d8, #d3b9a9); }

.latest-product__item__text {
	flex: 1;
	padding-top: 10px;
	overflow: hidden;
}

.latest-product__item__text h6 {
	font-family: var(--e404-font-serif);
	font-weight: 500;
	font-size: 14px;
	color: var(--e404-ink-soft);
	margin-bottom: 4px;
}

.latest-product__item__text span {
	font-family: var(--e404-font-mono);
	font-size: 13px;
	font-weight: 700;
	color: var(--e404-ink);
}

/*---------------------
  Form BLog
-----------------------*/

.from-blog {
	padding-top: 50px;
	padding-bottom: 50px;
}

.from-blog .blog__item {
	margin-bottom: 30px;
}

.from-blog__title {
	margin-bottom: 70px;
}

/*---------------------
  Breadcrumb
-----------------------*/

.breadcrumb-section {
	display: flex;
	align-items: center;
	padding: 16px 0;
	background: var(--e404-bg);
	border-bottom: 1px solid var(--e404-line);
}

.breadcrumb__text h2 {
	font-family: var(--e404-font-serif);
	font-size: 26px;
	color: var(--e404-ink);
	font-weight: 600;
	margin-bottom: 8px;
	letter-spacing: -0.01em;
	position: relative;
	display: inline-block;
}

.breadcrumb__text h2::after {
	content: '';
	position: absolute;
	bottom: -4px;
	left: 0;
	width: 40px;
	height: 3px;
	background: var(--e404-stamp);
	border-radius: 2px;
}

.breadcrumb__option {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	margin-top: 12px;
}

.breadcrumb__option a {
	display: inline-flex;
	align-items: center;
	font-family: var(--e404-font-mono);
	font-size: 11px;
	color: var(--e404-muted);
	font-weight: 400;
	transition: color 0.2s;
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.breadcrumb__option a:hover {
	color: var(--e404-stamp);
}

.breadcrumb__option a::after {
	content: '\f105';
	font-family: 'FontAwesome';
	font-size: 11px;
	margin-left: 10px;
	margin-right: 4px;
	color: var(--e404-muted);
	opacity: 0.6;
}

.breadcrumb__option a:last-child::after {
	display: none;
}

.breadcrumb__option span {
	display: inline-block;
	font-family: var(--e404-font-sans);
	font-size: 13px;
	color: var(--e404-ink);
	font-weight: 500;
}

/*---------------------
  Sidebar
-----------------------*/

.sidebar__item {
	margin-bottom: 35px;
}

.sidebar__item.sidebar__item__color--option {
	overflow: hidden;
}

.sidebar__item h4 {
	font-family: var(--e404-font-serif);
	color: var(--e404-ink);
	font-weight: 600;
	margin-bottom: 25px;
}

.sidebar__item ul li {
	list-style: none;
}

.sidebar__item ul li a {
	font-family: var(--e404-font-sans);
	font-size: 13px;
	color: var(--e404-ink-soft);
	line-height: 36px;
	display: block;
	transition: color 0.2s;
	text-decoration: none;
}

.sidebar__item ul li a:hover {
	color: var(--e404-stamp);
}

.sidebar__item .latest-product__text {
	position: relative;
}

.sidebar__item .latest-product__text h4 {
	margin-bottom: 45px;
}

.sidebar__item .latest-product__text .owl-carousel .owl-nav {
	right: 0;
}

.price-range-wrap .range-slider {
	margin-top: 20px;
}

.price-range-wrap .range-slider .price-input {
	position: relative;
}

.price-range-wrap .range-slider .price-input:after {
	position: absolute;
	left: 38px;
	top: 13px;
	height: 1px;
	width: 5px;
	background: #dd2222;
	content: "";
}

.price-range-wrap .range-slider .price-input input {
	font-size: 16px;
	color: #dd2222;
	font-weight: var(--fuente-weight);
	max-width: 20%;
	border: none;
	display: inline-block;
}

.price-range-wrap .price-range {
	border-radius: 0;
}

.price-range-wrap .price-range.ui-widget-content {
	border: none;
	background: #ebebeb;
	height: 5px;
}

.price-range-wrap .price-range.ui-widget-content .ui-slider-handle {
	height: 13px;
	width: 13px;
	border-radius: 50%;
	background: #ffffff;
	border: none;
	-webkit-box-shadow: 0px 1px 10px rgba(0, 0, 0, 0.2);
	box-shadow: 0px 1px 10px rgba(0, 0, 0, 0.2);
	outline: none;
	cursor: pointer;
}

.price-range-wrap .price-range .ui-slider-range {
	background: #dd2222;
	border-radius: 0;
}

.price-range-wrap .price-range .ui-slider-range.ui-corner-all.ui-widget-header:last-child {
	background: #dd2222;
}

.sidebar__item__color {
	float: left;
	width: 40%;
}

.sidebar__item__color.sidebar__item__color--white label:after {
	border: 2px solid #333333;
	background: transparent;
}

.sidebar__item__color.sidebar__item__color--gray label:after {
	background: #E9A625;
}

.sidebar__item__color.sidebar__item__color--red label:after {
	background: #D62D2D;
}

.sidebar__item__color.sidebar__item__color--black label:after {
	background: #252525;
}

.sidebar__item__color.sidebar__item__color--blue label:after {
	background: #249BC8;
}

.sidebar__item__color.sidebar__item__color--green label:after {
	background: #3CC032;
}

.sidebar__item__color label {
	font-size: 16px;
	color: #333333;
	position: relative;
	padding-left: 32px;
	cursor: pointer;
}

.sidebar__item__color label input {
	position: absolute;
	visibility: hidden;
}

.sidebar__item__color label:after {
	position: absolute;
	left: 0;
	top: 5px;
	height: 14px;
	width: 14px;
	background: #222;
	content: "";
	border-radius: 50%;
}

.sidebar__item__size {
	display: inline-block;
	margin-right: 16px;
	margin-bottom: 10px;
}

.sidebar__item__size label {
	font-size: 12px;
	color: #6f6f6f;
	display: inline-block;
	padding: 8px 25px 6px;
	background: var(--e404-ink);
	cursor: pointer;
	margin-bottom: 0;
}

.sidebar__item__size label input {
	position: absolute;
	visibility: hidden;
}

/*---------------------
  Shop Grid
-----------------------*/

.product {
	padding-top: 20px;
	padding-bottom: 80px;
}

.product__discount {
	padding-bottom: 50px;
}

.product__discount {
	margin-block-start: 50px;
}

.tienda-search-info {
	margin: 0 0 5px 0;
	padding: 0;
	font-size: 14px;
	color: #666;
	line-height: 1.4;
	width: fit-content;
}

body.dark .tienda-search-info {
	color: #aaa;
}


@media only screen and (min-width: 767px) {
	.product__discount {
		margin-block-start: 70px;
	}	
}



.product__discount__title {
	text-align: left;
	margin-bottom: 40px;
	display: flex;
    justify-content: center;
    width: 100%;
}

@media only screen and(min-width:767px){
	
	.product__discount__title {	
		margin-bottom: 65px;
		display: inline-block;
	}

}

.product__discount__title h2 {
	display: inline-block;
}

.product__discount__title h2:after {
	margin: 0;
	width: 100%;
}

.product__discount__slider .owl-item .col-lg-4 {
	max-width: 100%;
	padding: 0;
}

.product__discount__slider.owl-carousel .owl-dots {
	text-align: center;
	margin-top: 30px;
}

.product__discount__slider.owl-carousel .owl-dots button {
	height: 12px;
	width: 12px;
	border: 1px solid #b2b2b2;
	border-radius: 50%;
	margin-right: 12px;
}

.product__discount__slider.owl-carousel .owl-dots button.active {
	background: #707070;
	border-color: #6f6f6f;
}

.product__discount__slider.owl-carousel .owl-dots button:last-child {
	margin-right: 0;
}

.filter__item {
	padding-top: 45px;
	border-top: 1px solid var(--e404-line);
	padding-bottom: 20px;
}

.filter__sort {
	margin-bottom: 15px;
}

.filter__sort span {
	font-family: var(--e404-font-mono);
	font-size: 11px;
	color: var(--e404-muted);
	display: inline-block;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.filter__sort .nice-select {
	background-color: var(--e404-paper);
	border-radius: 0;
	border: none;
	display: inline-block;
	float: none;
	height: 0;
	line-height: 0;
	padding-left: 18px;
	padding-right: 30px;
	font-family: var(--e404-font-sans);
	font-size: 13px;
	color: var(--e404-ink);
	font-weight: 500;
	cursor: pointer;
}

.filter__sort .nice-select span {
	font-family: var(--e404-font-sans);
	color: var(--e404-ink);
	font-size: 13px;
	text-transform: none;
	letter-spacing: normal;
}

.filter__sort .nice-select:after {
	border-bottom: 1.5px solid var(--e404-ink);
	border-right: 1.5px solid var(--e404-ink);
	height: 8px;
	margin-top: 0;
	right: 16px;
	width: 8px;
	top: -5px;
}

.filter__sort .nice-select.open .list {
	opacity: 1;
	pointer-events: auto;
	-webkit-transform: scale(1) translateY(0);
	-ms-transform: scale(1) translateY(0);
	transform: scale(1) translateY(0);
}

.filter__sort .nice-select .list {
	border-radius: 0;
	margin-top: 0;
	top: 15px;
}

.filter__sort .nice-select .option {
	line-height: 30px;
	min-height: 30px;
}

.filter__found {
	text-align: center;
	margin-bottom: 15px;
}

.filter__found h6 {
	font-family: var(--e404-font-sans);
	font-size: 14px;
	color: var(--e404-muted);
}

.filter__found h6 span {
	font-family: var(--e404-font-mono);
	color: var(--e404-ink);
	font-weight: 700;
	margin-right: 5px;
}

.filter__option {
	text-align: right;
	margin-bottom: 15px;
}

.filter__option span {
	font-size: 24px;
	color: var(--e404-muted);
	margin-right: 10px;
	cursor: pointer;
	-webkit-transition: all, 0.3s;
	-moz-transition: all, 0.3s;
	-ms-transition: all, 0.3s;
	-o-transition: all, 0.3s;
	transition: all, 0.3s;
}

.filter__option span:last-child {
	margin: 0;
}

.filter__option span:hover {
	color: var(--e404-stamp);
}

.product__item {
	margin-bottom: 50px;
}

.product__item:hover .product__item__pic .product__item__pic__hover {
	bottom: 20px;
}

.product__item__pic {
	height: 270px;
	position: relative;
	overflow: hidden;
	border-radius: 8px;
	border: 1px solid var(--e404-line);
}

.product__item__pic__hover {
	position: absolute;
	left: 0;
	bottom: -50px;
	width: 100%;
	text-align: center;
	-webkit-transition: all, 0.5s;
	-moz-transition: all, 0.5s;
	-ms-transition: all, 0.5s;
	-o-transition: all, 0.5s;
	transition: all, 0.5s;
}

.product__item__pic__hover li {
	list-style: none;
	display: inline-block;
	margin-right: 6px;
}

.product__item__pic__hover li:last-child {
	margin-right: 0;
}

.product__item__pic__hover li:hover a {
	background: var(--e404-stamp);
	border-color: var(--e404-stamp);
}

.product__item__pic__hover li:hover a i {
	color: #ffffff;
	transform: rotate(360deg);
}

.product__item__pic__hover li a {
	font-size: 16px;
	color: #1c1c1c;
	height: 40px;
	width: 40px;
	line-height: 40px;
	text-align: center;
	border: 1px solid #ebebeb;
	background: #ffffff;
	display: block;
	border-radius: 50%;
	-webkit-transition: all, 0.5s;
	-moz-transition: all, 0.5s;
	-ms-transition: all, 0.5s;
	-o-transition: all, 0.5s;
	transition: all, 0.5s;
}

.product__item__pic__hover li a i {
	position: relative;
	transform: rotate(0);
	-webkit-transition: all, 0.3s;
	-moz-transition: all, 0.3s;
	-ms-transition: all, 0.3s;
	-o-transition: all, 0.3s;
	transition: all, 0.3s;
}

.product__item__text {
	text-align: center;
	padding-top: 15px;
}

.product__item__text h6 {
	margin-bottom: 10px;
}

.product__item__text h6 a {
	color: #2d2d2d;
	transition: color 0.3s;
}

.product__item__text h6 a:hover {
	color: var(--e404-stamp);
}

.product__item__text h5 {
	color: var(--e404-stamp);
	font-weight: 700;
}

.product__pagination,
.blog__pagination {
	padding-top: 10px;
}

.product__pagination a,
.blog__pagination a {
	display: inline-block;
	width: 30px;
	height: 30px;
	border: 1px solid var(--e404-line);
	font-family: var(--e404-font-mono);
	font-size: 12px;
	color: var(--e404-muted);
	font-weight: 400;
	line-height: 28px;
	text-align: center;
	margin-right: 8px;
	-webkit-transition: all, 0.3s;
	-moz-transition: all, 0.3s;
	-ms-transition: all, 0.3s;
	-o-transition: all, 0.3s;
	transition: all, 0.3s;
	text-decoration: none;
}

.product__pagination a:hover,
.blog__pagination a:hover {
	background: var(--e404-stamp);
	border-color: var(--e404-stamp);
	color: #ffffff;
}

.product__pagination a:last-child,
.blog__pagination a:last-child {
	margin-right: 0;
}

/*---------------------
  Shop Details
-----------------------*/

.product-details {
	padding-top: 60px;
	padding-bottom: 60px;
}

.product__details__pic__item {
	margin-bottom: 20px;
	background: var(--e404-card-bg);
	border: 1px solid var(--e404-line);
	border-radius: 8px;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
}

.product__details__pic__item img {
	width: 100%;
	height: auto;
	max-height: 500px;
	object-fit: contain;
	display: block;
}

.product__details__pic__slider img {
	cursor: pointer;
	border-radius: 6px;
	border: 2px solid var(--e404-line);
	transition: border-color 0.3s;
}

.product__details__pic__slider img:hover {
	border-color: var(--e404-stamp);
}

.product__details__pic__slider.owl-carousel .owl-item img {
	width: auto;
}

.product__details__text h3 {
	font-family: var(--e404-font-serif);
	font-size: 26px;
	color: var(--e404-ink);
	font-weight: 600;
	margin-bottom: 12px;
	line-height: 1.2;
}

.product__details__text .product__details__price {
	font-family: var(--e404-font-mono);
	font-size: 28px;
	color: var(--e404-stamp);
	font-weight: 700;
	margin-bottom: 16px;
}

.product__details__text p {
	font-family: var(--e404-font-sans);
	font-size: 15px;
	color: var(--e404-muted);
	line-height: 1.7;
	margin-bottom: 40px;
}

.product__details__text .primary-btn {
	font-family: var(--e404-font-mono);
	font-size: 13px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	background: var(--e404-stamp);
	color: #fff;
	padding: 14px 24px;
	border: none;
	border-radius: 6px;
	margin-right: 6px;
	margin-bottom: 5px;
	transition: background 0.3s;
}

.product__details__text .primary-btn:hover {
	background: #8c2820;
}

.product__details__text .primary-btn-disabled {
	font-family: var(--e404-font-mono);
	font-size: 13px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	background: var(--e404-muted);
	color: #fff;
	padding: 14px 24px;
	border: none;
	border-radius: 6px;
	margin-right: 6px;
	margin-bottom: 5px;
	opacity: 0.7;
	cursor: not-allowed;
}

.add-to-fav-detail{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
	width: 48px;
	height: 48px;
	background: var(--e404-card-bg);
	border: 1px solid var(--e404-line);
	color: var(--e404-muted);
	cursor:pointer;
	border-radius: 50%;
	transition: all 0.3s;
	flex-shrink: 0;
}

.add-to-fav-detail:hover{
	background: var(--e404-stamp);
	border-color: var(--e404-stamp);
	color: #fff;
}

.add-to-fav-activo{
	color: var(--e404-stamp) !important;
}

@keyframes heartPulse {
	0% { transform: scale(1); }
	15% { transform: scale(1.3); }
	30% { transform: scale(0.9); }
	45% { transform: scale(1.1); }
	60% { transform: scale(1); }
}

.add-to-fav-detail.fav-animate {
	animation: heartPulse 0.6s ease-in-out;
}





.product__details__text ul {
	border-top: 1px solid var(--e404-line);
	padding-top: 20px;
	margin-top: 20px;
}

.product__details__text ul li {
	font-family: var(--e404-font-sans);
	font-size: 14px;
	color: var(--e404-ink);
	list-style: none;
	line-height: 36px;
}

.product__details__text ul li b {
	font-family: var(--e404-font-mono);
	font-size: 12px;
	font-weight: 600;
	color: var(--e404-muted);
	width: 150px;
	display: inline-block;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.product__details__text ul li span samp {
	color: var(--e404-stamp);
}

.product__details__text ul li .share {
	display: inline-block;
}

.product__details__text ul li .share a {
	display: inline-block;
	font-size: 15px;
	color: var(--e404-ink);
	margin-right: 25px;
	transition: color 0.3s;
}

.product__details__text ul li .share a:hover {
	color: var(--e404-stamp);
}

.product__details__text ul li .share a:last-child {
	margin-right: 0;
}

.product__details__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin-bottom: 30px;
}

.product__details__quantity {
	display: inline-block;
	margin-right: 6px;
}

.pro-qty , .pro-qty-detail {
	width: 130px;
	height: 46px;
	display: inline-flex;
	align-items: center;
	position: relative;
	background: var(--e404-card-bg);
	border: 1px solid var(--e404-line);
	border-radius: 6px;
	margin-bottom: 5px;
}

.pro-qty input , .pro-qty-detail input {
	height: 100%;
	font-family: var(--e404-font-mono);
	font-size: 15px;
	color: var(--e404-ink);
	width: 50px;
	border: none;
	background: transparent;
	text-align: center;
	flex: 1;
}

.pro-qty .qtybtn , .pro-qty-detail .qtybtn{
	width: 35px;
	height: 100%;
	font-family: var(--e404-font-mono);
	font-size: 16px;
	color: var(--e404-muted);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	transition: color 0.3s;
}

.pro-qty .qtybtn:hover , .pro-qty-detail .qtybtn:hover {
	color: var(--e404-stamp);
}

.product__details__tab {
	padding-top: 0;
}

.product__details__tab .nav-tabs {
	border-bottom: 1px solid var(--e404-line);
	justify-content: center;
}

.product__details__tab .nav-tabs li {
	margin-bottom: 0;
	margin-right: 65px;
}

.product__details__tab .nav-tabs li:last-child {
	margin-right: 0;
}

.product__details__tab .nav-tabs li a {
	font-family: var(--e404-font-mono);
	font-size: 13px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--e404-muted);
	font-weight: 600;
	border: none;
	border-top-left-radius: 0;
	border-top-right-radius: 0;
	border-bottom: 2px solid transparent;
	padding: 0 0 12px;
	transition: color 0.3s, border-color 0.3s;
}

.product__details__tab .nav-tabs li a:hover {
	color: var(--e404-ink);
	border-bottom-color: var(--e404-muted);
}

.product__details__tab .nav-tabs li a.active {
	color: var(--e404-stamp);
	border-bottom-color: var(--e404-stamp);
}

.product__details__tab .nav-tabs .nav-link {
	background-color: transparent;
}

.product__details__tab .nav-tabs .nav-link.active {
	background-color: transparent;
	border-color: transparent;
}

.product__details__tab .product__details__tab__desc {
	padding-top: 36px;
}

.product__details__tab .product__details__tab__desc h6 {
	font-family: var(--e404-font-serif);
	font-size: 18px;
	font-weight: 600;
	color: var(--e404-ink);
	margin-bottom: 20px;
}

.product__details__tab .product__details__tab__desc p {
	font-family: var(--e404-font-sans);
	font-size: 15px;
	color: var(--e404-muted);
	line-height: 1.7;
}

/*---------------------
  Shop Details
-----------------------*/

.related-product {
	padding-bottom: 30px;
}

.related__product__title {
	margin-bottom: 70px;
}

/*---------------------
  Shop Cart
-----------------------*/

.shoping-cart {
	padding-top: 60px;
	padding-bottom: 60px;
}

.shoping__cart__table {
	margin-bottom: 30px;
}

.shoping__cart__table table {
	width: 100%;
	text-align: center;
}

.shoping__cart__table table thead tr {
	border-bottom: 1px solid #ebebeb;
}

.shoping__cart__table table thead th {
	font-size: 20px;
	font-weight: var(--fuente-weight);
	color: #1c1c1c;
	padding-bottom: 20px;
}

.shoping__cart__table table thead th.shoping__product {
	text-align: left;
}

.shoping__cart__table table tbody tr td {
	padding-top: 30px;
	padding-bottom: 30px;
	border-bottom: 1px solid #ebebeb;
}

.shoping__cart__table table tbody tr > * {
	cursor:pointer;
}

.shoping__cart__table table tbody tr td.shoping__cart__item {
	width: 630px;
	text-align: left;
}

.shoping__cart__table table tbody tr td.shoping__cart__item img {
	display: inline-block;
	margin-right: 25px;
	cursor:pointer; 
}

.shoping__cart__table table tbody tr td.shoping__cart__item h5 {
	color: #1c1c1c;
	display: inline-block;
}

.shoping__cart__table table tbody tr td.shoping__cart__price {
	font-size: 18px;
	color: #1c1c1c;
	font-weight: var(--fuente-weight);
	width: 100px;
}

.shoping__cart__table table tbody tr td.shoping__cart__total {
	font-size: 18px;
	color: #1c1c1c;
	font-weight: var(--fuente-weight);
	width: 110px;
}

.shoping__cart__table table tbody tr td.shoping__cart__item__close {
	text-align: right;
	font-size: 24px;
	color: #b2b2b2;
	cursor: pointer;
}


.shoping__cart__table table tbody tr td.shoping__cart__quantity {
	width: 225px;
}

.shoping__cart__table table tbody tr td.shoping__cart__quantity .pro-qty {
	width: 120px;
	height: 40px;
}



.shoping__cart__table table tbody tr td.shoping__cart__quantity .pro-qty input {
	color: var(--e404-ink);
}

.shoping__cart__table table tbody tr td.shoping__cart__quantity .pro-qty input::placeholder {
	color: var(--e404-muted);
}

.shoping__cart__table table tbody tr td.shoping__cart__quantity .pro-qty .qtybtn {
	width: 15px;
}

.primary-btn.cart-btn {
	font-family: var(--e404-font-mono);
	font-size: 12px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--e404-paper);
	padding: 12px 24px;
	background: var(--e404-ink);
	border-radius: 6px;
	transition: background 0.3s, transform 0.2s;
	text-decoration: none;
}

.primary-btn.cart-btn:hover {
	background: var(--e404-stamp);
	transform: translateY(-1px);
	text-decoration: none;
}

.primary-btn.cart-btn span {
	font-size: 14px;
}

.primary-btn.cart-btn.cart-btn-right {
	float: right;
}

.shoping__discount {
	margin-top: 40px;
}

.shoping__discount h5 {
	font-family: var(--e404-font-serif);
	font-size: 18px;
	color: var(--e404-ink);
	font-weight: 600;
	margin-bottom: 20px;
}

.shoping__discount form input {
	width: 255px;
	height: 44px;
	border: 1px solid var(--e404-line);
	font-family: var(--e404-font-mono);
	font-size: 13px;
	color: var(--e404-ink);
	text-align: center;
	display: inline-block;
	margin-right: 12px;
	border-radius: 6px;
	background: var(--e404-card-bg);
	transition: border-color 0.3s;
}

.shoping__discount form input::placeholder {
	color: var(--e404-muted);
}

.shoping__discount form input:focus {
	outline: none;
	border-color: var(--e404-stamp);
}

.shoping__discount form button {
	padding: 12px 28px;
	font-family: var(--e404-font-mono);
	font-size: 11px;
	letter-spacing: 0.1em;
	background: var(--e404-ink);
	color: #fff;
	border-radius: 6px;
	text-transform: uppercase;
	transition: background 0.3s;
}

.shoping__discount form button:hover {
	background: var(--e404-stamp);
}

.shoping__checkout {
	background: var(--e404-card-bg);
	border: 1px solid var(--e404-line);
	padding: 28px;
	padding-top: 20px;
	border-radius: 8px;
}

.shoping__checkout h5 {
	font-family: var(--e404-font-serif);
	color: var(--e404-ink);
	font-weight: 600;
	font-size: 18px;
	margin-bottom: 24px;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.shoping__checkout ul {
	margin-bottom: 24px;
}

.shoping__checkout ul li {
	font-family: var(--e404-font-sans);
	font-size: 14px;
	color: var(--e404-ink);
	font-weight: 400;
	list-style: none;
	overflow: hidden;
	border-bottom: 1px solid var(--e404-line);
	padding-bottom: 12px;
	margin-bottom: 14px;
}

.shoping__checkout ul li:last-child {
	padding-bottom: 0;
	border-bottom: none;
	margin-bottom: 0;
}

.shoping__checkout ul li span {
	font-family: var(--e404-font-mono);
	font-size: 15px;
	color: var(--e404-stamp);
	float: right;
}

.shoping__checkout .primary-btn {
	display: block;
	text-align: center;
	padding: 14px 28px;
	font-family: var(--e404-font-mono);
	font-size: 13px;
	font-weight: 600;
	background: var(--e404-stamp);
	color: #ffffff;
	border-radius: 6px;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	transition: all 0.3s ease;
	text-decoration: none;
}

.shoping__checkout .primary-btn:hover {
	background: #8c2820;
	transform: translateY(-1px);
	text-decoration: none;
}

.shoping__checkout .primary-btn i {
	margin-right: 8px;
}

.checkout-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	padding: 10px 16px;
	font-family: var(--e404-font-mono);
	font-size: 12px;
	font-weight: 600;
	background: #fff;
	color: var(--e404-stamp);
	border: 1px solid var(--e404-stamp);
	border-radius: 6px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	transition: all 0.2s ease;
	text-decoration: none;
}

.checkout-btn:hover {
	background: var(--e404-stamp);
	color: #fff;
	text-decoration: none;
}

.checkout-btn__arrow {
	font-size: 12px;
}

/*---------------------
  Checkout
-----------------------*/

.checkout {
	padding-top: 80px;
	padding-bottom: 60px;
}

.checkout h6 {
	color: #999999;
	text-align: center;
	background: var(--e404-ink);
	border-top: 1px solid #6AB963;
	padding: 12px 0 12px;
	margin-bottom: 75px;
}

.checkout h6 span {
	font-size: 16px;
	color: #6AB963;
	margin-right: 5px;
}

.checkout h6 a {
	text-decoration: underline;
	color: #999999;
}

.checkout__form h4 {
	color: #1c1c1c;
	font-weight: var(--fuente-weight);
	border-bottom: 1px solid #e1e1e1;
	padding-bottom: 20px;
	margin-bottom: 25px;
}

.checkout__form p {
	column-rule: #b2b2b2;
}

.checkout__input {
	margin-bottom: 24px;
}

.checkout__input p {
	color: #1c1c1c;
	margin-bottom: 20px;
}

.checkout__input p span {
	color: #dd2222;
}

.checkout__input input {
	width: 100%;
	height: 46px;
	border: 1px solid #ebebeb;
	padding-left: 20px;
	font-size: 16px;
	color: #b2b2b2;
	border-radius: 4px;
}

.checkout__input input.checkout__input__add {
	margin-bottom: 20px;
}

.checkout__input input::placeholder {
	color: #b2b2b2;
}

.checkout__input__checkbox {
	margin-bottom: 10px;
}

.checkout__input__checkbox label {
	position: relative;
	font-size: 16px;
	color: #1c1c1c;
	padding-left: 40px;
	cursor: pointer;
}

.checkout__input__checkbox label input {
	position: absolute;
	visibility: hidden;
}

.checkout__input__checkbox label input:checked~.checkmark {
	background: var(--e404-stamp);
	border-color: var(--e404-stamp);
}

.checkout__input__checkbox label input:checked~.checkmark:after {
	opacity: 1;
}

.checkout__input__checkbox label .checkmark {
	position: absolute;
	left: 0;
	top: 4px;
	height: 16px;
	width: 14px;
	border: 1px solid #a6a6a6;
	content: "";
	border-radius: 4px;
}

.checkout__input__checkbox label .checkmark:after {
	position: absolute;
	left: 1px;
	top: 1px;
	width: 10px;
	height: 8px;
	border: solid white;
	border-width: 3px 3px 0px 0px;
	-webkit-transform: rotate(127deg);
	-ms-transform: rotate(127deg);
	transform: rotate(127deg);
	content: "";
	opacity: 0;
}

.checkout__order {
	background: var(--e404-ink);
	padding: 40px;
	padding-top: 30px;
}

.checkout__order h4 {
	color: #1c1c1c;
	font-weight: var(--fuente-weight);
	border-bottom: 1px solid #e1e1e1;
	padding-bottom: 20px;
	margin-bottom: 20px;
}

.checkout__order .checkout__order__products {
	font-size: 18px;
	color: #1c1c1c;
	font-weight: var(--fuente-weight);
	margin-bottom: 10px;
}

.checkout__order .checkout__order__products span {
	float: right;
}

.checkout__order ul {
	margin-bottom: 12px;
}

.checkout__order ul li {
	font-size: 16px;
	color: #6f6f6f;
	line-height: 40px;
	list-style: none;
}

.checkout__order ul li span {
	font-weight: var(--fuente-weight);
	float: right;
}

.checkout__order .checkout__order__subtotal {
	font-size: 18px;
	color: #1c1c1c;
	font-weight: var(--fuente-weight);
	border-bottom: 1px solid #e1e1e1;
	border-top: 1px solid #e1e1e1;
	padding-bottom: 15px;
	margin-bottom: 15px;
	padding-top: 15px;
}

.checkout__order .checkout__order__subtotal span {
	float: right;
}

.checkout__order .checkout__input__checkbox label {
	padding-left: 20px;
}

.checkout__order .checkout__order__total {
	font-size: 18px;
	color: #1c1c1c;
	font-weight: var(--fuente-weight);
	border-bottom: 1px solid #e1e1e1;
	padding-bottom: 15px;
	margin-bottom: 25px;
}

.checkout__order .checkout__order__total span {
	float: right;
	color: #dd2222;
}

.checkout__order button {
	font-size: 18px;
	letter-spacing: 2px;
	width: 100%;
	margin-top: 10px;
}

/*---------------------
  Blog
-----------------------*/

.blog__item {
	margin-bottom: 60px;
}

.blog__item__pic img {
	min-width: 100%;
}

.blog__item__text {
	padding-top: 25px;
}

.blog__item__text ul {
	margin-bottom: 15px;
}

.blog__item__text ul li {
	font-size: 16px;
	color: #b2b2b2;
	list-style: none;
	display: inline-block;
	margin-right: 15px;
}

.blog__item__text ul li:last-child {
	margin-right: 0;
}

.blog__item__text h5 {
	margin-bottom: 12px;
}

.blog__item__text h5 a {
	font-size: 20px;
	color: #1c1c1c;
	font-weight: var(--fuente-weight);
}

.blog__item__text p {
	margin-bottom: 25px;
}

.blog__item__text .blog__btn {
	display: inline-block;
	font-size: 14px;
	color: #1c1c1c;
	text-transform: uppercase;
	letter-spacing: 1px;
	border: 1px solid #b2b2b2;
	padding: 14px 20px 12px;
	border-radius: 25px;
}

.blog__item__text .blog__btn span {
	position: relative;
	top: 1px;
	margin-left: 5px;
}

.blog__pagination {
	padding-top: 5px;
	position: relative;
}

.blog__pagination:before {
	position: absolute;
	left: 0;
	top: -29px;
	height: 1px;
	width: 100%;
	background: #000000;
	opacity: 0.1;
	content: "";
}

/*---------------------
  Blog Sidebar
-----------------------*/

.blog__sidebar {
	padding-top: 50px;
}

.blog__sidebar__item {
	margin-bottom: 50px;
}

.blog__sidebar__item h4 {
	color: #1c1c1c;
	font-weight: var(--fuente-weight);
	margin-bottom: 25px;
}

.blog__sidebar__item ul li {
	list-style: none;
}

.blog__sidebar__item ul li a {
	font-size: 16px;
	color: #666666;
	line-height: 48px;
	-webkit-transition: all, 0.3s;
	-moz-transition: all, 0.3s;
	-ms-transition: all, 0.3s;
	-o-transition: all, 0.3s;
	transition: all, 0.3s;
}

.blog__sidebar__item ul li a:hover {
	color: var(--e404-stamp);
}

.blog__sidebar__search {
	margin-bottom: 50px;
}

.blog__sidebar__search form {
	position: relative;
}

.blog__sidebar__search form input {
	width: 100%;
	height: 46px;
	font-size: 16px;
	color: #6f6f6f;
	padding-left: 15px;
	border: 1px solid #e1e1e1;
	border-radius: 20px;
}

.blog__sidebar__search form input::placeholder {
	color: #6f6f6f;
}

.blog__sidebar__search form button {
	font-size: 16px;
	color: #6f6f6f;
	background: transparent;
	border: none;
	position: absolute;
	right: 0;
	top: 0;
	height: 100%;
	padding: 0px 18px;
}

.blog__sidebar__recent .blog__sidebar__recent__item {
	display: block;
}

.blog__sidebar__recent .blog__sidebar__recent__item:last-child {
	margin-bottom: 0;
}

.blog__sidebar__recent__item {
	overflow: hidden;
	margin-bottom: 20px;
}

.blog__sidebar__recent__item__pic {
	float: left;
	margin-right: 20px;
}

.blog__sidebar__recent__item__text {
	overflow: hidden;
}

.blog__sidebar__recent__item__text h6 {
	font-weight: var(--fuente-weight);
	color: #333333;
	line-height: 20px;
	margin-bottom: 5px;
}

.blog__sidebar__recent__item__text span {
	font-size: 12px;
	color: #999999;
	text-transform: uppercase;
}

.blog__sidebar__item__tags a {
	font-size: 16px;
	color: #6f6f6f;
	background: var(--e404-ink);
	display: inline-block;
	padding: 7px 26px 5px;
	margin-right: 6px;
	margin-bottom: 10px;
}

/*---------------------
  Blog Details Hero
-----------------------*/

.blog-details-hero {
	height: 350px;
	display: flex;
	align-items: center;
}

.blog__details__hero__text {
	text-align: center;
}

.blog__details__hero__text h2 {
	font-size: 46px;
	color: #ffffff;
	font-weight: var(--fuente-weight);
	margin-bottom: 10px;
}

.blog__details__hero__text ul li {
	font-size: 16px;
	color: #ffffff;
	list-style: none;
	display: inline-block;
	margin-right: 45px;
	position: relative;
}

.blog__details__hero__text ul li:after {
	position: absolute;
	right: -26px;
	top: 0;
	content: "|";
}

.blog__details__hero__text ul li:last-child {
	margin-right: 0;
}

.blog__details__hero__text ul li:last-child:after {
	display: none;
}

/*---------------------
  Blog Details
-----------------------*/

.related-blog {
	padding-top: 70px;
	padding-bottom: 10px;
}

.related-blog-title {
	margin-bottom: 70px;
}

.blog-details {
	padding-bottom: 75px;
	border-bottom: 1px solid #e1e1e1;
}

.blog__details__text {
	margin-bottom: 45px;
}

.blog__details__text img {
	margin-bottom: 30px;
}

.blog__details__text p {
	font-size: 18px;
	line-height: 30px;
}

.blog__details__text h3 {
	color: #333333;
	font-weight: var(--fuente-weight);
	line-height: 30px;
	margin-bottom: 30px;
}

.blog__details__author__pic {
	float: left;
	margin-right: 15px;
}

.blog__details__author__pic img {
	height: 92px;
	width: 92px;
	border-radius: 50%;
}

.blog__details__author__text {
	overflow: hidden;
	padding-top: 30px;
}

.blog__details__author__text h6 {
	color: #1c1c1c;
	font-weight: var(--fuente-weight);
}

.blog__details__author__text span {
	font-size: 16px;
	color: #6f6f6f;
}

.blog__details__widget ul {
	margin-bottom: 5px;
}

.blog__details__widget ul li {
	font-size: 16px;
	color: #6f6f6f;
	list-style: none;
	line-height: 30px;
}

.blog__details__widget ul li span {
	color: #1c1c1c;
	font-weight: var(--fuente-weight);
}

.blog__details__widget .blog__details__social a {
	display: inline-block;
	font-size: 20px;
	color: #6f6f6f;
	margin-right: 24px;
	-webkit-transition: all, 0.3s;
	-moz-transition: all, 0.3s;
	-ms-transition: all, 0.3s;
	-o-transition: all, 0.3s;
	transition: all, 0.3s;
}

.blog__details__widget .blog__details__social a:hover {
	color: var(--e404-stamp);
}

.blog__details__widget .blog__details__social a:last-child {
	margin-right: 0;
}

/*---------------------
  Footer
-----------------------*/

.footer {
	background: var(--e404-bg);
	padding-top: 60px;
	padding-bottom: 0;
	border-top: 1px solid var(--e404-line);
}

.footer__about {
	margin-bottom: 0;
}

.footer__about__inner {
	display: flex;
	align-items: flex-start;
	gap: 30px;
}

.footer__about ul li {
	font-family: var(--e404-font-sans);
	font-size: 14px;
	color: var(--e404-ink-soft);
	line-height: 32px;
	list-style: none;
}

.footer__about ul li i {
	color: var(--e404-muted);
	margin-right: 8px;
	font-size: 13px;
	width: 16px;
	text-align: center;
}

.footer__about__logo {
	flex-shrink: 0;
}

.footer__about__logo a {
	display: inline-block;
}

.footer__about__logo img {
	max-width: 160px;
	height: auto;
}

.footer__about__info {
	flex: 1;
}

.footer__widget {
	margin-bottom: 0;
	overflow: hidden;
}

.footer__widget h6 {
	font-family: var(--e404-font-mono);
	color: var(--e404-ink);
	font-weight: 700;
	margin-bottom: 18px;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.1em;
}

.footer__widget ul {
	width: 50%;
}

.footer__widget__links {
	display: flex;
	gap: 40px;
}

.footer__widget ul li {
	list-style: none;
}

.footer__widget ul li a {
	font-family: var(--e404-font-sans);
	color: var(--e404-ink-soft);
	font-size: 14px;
	line-height: 34px;
	transition: color 0.3s, padding-left 0.3s;
	text-decoration: none;
}

.footer__widget ul li a:hover {
	color: var(--e404-stamp);
	padding-left: 6px;
}

.footer__widget p {
	font-family: var(--e404-font-sans);
	font-size: 14px;
	color: var(--e404-ink-soft);
	margin-bottom: 30px;
	line-height: 1.6;
}

.footer__widget form {
	position: relative;
	margin-bottom: 30px;
}

.footer__widget form input {
	width: 100%;
	font-family: var(--e404-font-sans);
	font-size: 14px;
	padding-left: 20px;
	color: var(--e404-ink);
	height: 46px;
	background: var(--e404-paper);
	border: 1px solid var(--e404-line);
	border-radius: 0;
}

.footer__widget form input:focus {
	outline: none;
	border-color: var(--e404-stamp);
}

.footer__widget form input::placeholder {
	color: var(--e404-muted);
}

.footer__widget form button {
	position: absolute;
	right: 0;
	top: 0;
	padding: 0 26px;
	height: 100%;
	background: var(--e404-ink);
	border: none;
	font-family: var(--e404-font-mono);
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	cursor: pointer;
	transition: background 0.3s;
	color: var(--e404-paper);
}

.footer__widget form button:hover {
	background: var(--e404-stamp);
	transform: translateY(-1px);
}

.footer__widget__social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 38px;
	width: 38px;
	font-size: 15px;
	color: var(--e404-ink-soft);
	border: 1px solid var(--e404-line);
	border-radius: 50%;
	background: transparent;
	transition: all 0.3s ease;
	margin-right: 10px;
	text-decoration: none;
}

.footer__widget__social a:last-child {
	margin-right: 0;
}

.footer__widget__social a:hover {
	background: var(--e404-stamp);
	color: #ffffff;
	border-color: var(--e404-stamp);
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(168,50,42,0.2);
}

.footer__copyright {
	border-top: 1px solid var(--e404-line);
	padding: 25px 0;
	overflow: hidden;
	margin-top: 50px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.footer__copyright__text p {
	font-family: var(--e404-font-mono);
	font-size: 11px;
	color: var(--e404-muted) !important;
	text-align: center;
	line-height: 25px;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	margin: 0;
}

.footer__copyright__text {
	font-family: var(--e404-font-mono);
	font-size: 11px;
	color: var(--e404-muted);
	text-align: center;
	line-height: 25px;
	letter-spacing: 0.05em;
}

.footer__copyright__dev {
	font-size: 11px;
	color: var(--e404-muted);
	margin-top: 4px;
	font-family: var(--e404-font-mono);
}

.footer__copyright__dev a {
	color: var(--e404-stamp);
	text-decoration: none;
	font-weight: 700;
	transition: color 0.2s, opacity 0.2s;
}

.footer__copyright__dev a:hover {
	color: var(--e404-ink);
	text-decoration: underline;
}

.footer__copyright__payment img {
	opacity: 0.4;
	transition: opacity 0.3s;
	filter: grayscale(1);
}

.footer__copyright__payment img:hover {
	opacity: 0.7;
	filter: grayscale(0);
}

.footer__copyright__dots {
	display: flex;
	gap: 8px;
	align-items: center;
}

.footer__copyright__dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--e404-line);
}

.footer__copyright__dot--on {
	background: var(--e404-stamp);
}

/* Back to Top Button */
.back-to-top {
	position: fixed;
	bottom: 30px;
	right: 30px;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--e404-stamp);
	color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	text-decoration: none;
	opacity: 0;
	visibility: hidden;
	transform: translateY(20px);
	transition: all 0.3s ease;
	box-shadow: 0 4px 12px rgba(0,0,0,0.2);
	z-index: 999;
}

.back-to-top:hover {
	background: var(--e404-ink);
	transform: translateY(-3px);
	box-shadow: 0 6px 16px rgba(0,0,0,0.25);
	color: #ffffff;
}

.back-to-top.visible {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

/*---------------------
  Contact
-----------------------*/

.contact {
	padding-top: 80px;
	padding-bottom: 10px;
}

.contact__widget {
	margin-bottom: 30px;
}

.contact__widget span {
	font-size: 32px;
	color: var(--e404-stamp);
}

.contact__widget h4 {
	font-family: var(--e404-font-serif);
	font-size: 16px;
	color: var(--e404-ink);
	font-weight: 600;
	margin-bottom: 6px;
	margin-top: 14px;
}

.contact__widget p {
	font-family: var(--e404-font-sans);
	font-size: 14px;
	color: var(--e404-muted);
	margin-bottom: 0;
}

/*---------------------
  Map
-----------------------*/

.map {
	height: 500px;
	position: relative;
}

.map iframe {
	width: 100%;
}

.map .map-inside {
	position: absolute;
	left: 50%;
	top: 160px;
	-webkit-transform: translateX(-175px);
	-ms-transform: translateX(-175px);
	transform: translateX(-175px);
}

.map .map-inside i {
	font-size: 48px;
	color: var(--e404-stamp);
	position: absolute;
	bottom: -75px;
	left: 50%;
	-webkit-transform: translateX(-18px);
	-ms-transform: translateX(-18px);
	transform: translateX(-18px);
}

.map .map-inside .inside-widget {
	width: 350px;
	background: #ffffff;
	text-align: center;
	padding: 23px 0;
	position: relative;
	z-index: 1;
	-webkit-box-shadow: 0 0 20px 5px rgba(12, 7, 26, 0.15);
	box-shadow: 0 0 20px 5px rgba(12, 7, 26, 0.15);
}

.map .map-inside .inside-widget:after {
	position: absolute;
	left: 50%;
	bottom: -30px;
	-webkit-transform: translateX(-6px);
	-ms-transform: translateX(-6px);
	transform: translateX(-6px);
	border: 12px solid transparent;
	border-top: 30px solid #ffffff;
	content: "";
	z-index: -1;
}

.map .map-inside .inside-widget h4 {
	font-size: 22px;
	font-weight: var(--fuente-weight);
	color: #1c1c1c;
	margin-bottom: 4px;
}

.map .map-inside .inside-widget ul li {
	list-style: none;
	font-size: 16px;
	color: #666666;
	line-height: 26px;
}

/*---------------------
  Contact Form
-----------------------*/

.contact__form__title {
	margin-bottom: 40px;
	text-align: center;
}

.contact__form__title h2 {
	font-family: var(--e404-font-serif);
	font-size: 24px;
	color: var(--e404-ink);
	font-weight: 600;
}

.contact-form {
	padding-top: 60px;
	padding-bottom: 60px;
}

.contact-form form input {
	width: 100%;
	height: 48px;
	font-family: var(--e404-font-sans);
	font-size: 15px;
	color: var(--e404-ink);
	padding-left: 16px;
	margin-bottom: 24px;
	border: 1px solid var(--e404-line);
	border-radius: 6px;
	background: var(--e404-card-bg);
	transition: border-color 0.3s;
}

.contact-form form input::placeholder {
	color: var(--e404-muted);
}

.contact-form form input:focus {
	outline: none;
	border-color: var(--e404-stamp);
}

.contact-form form textarea {
	width: 100%;
	height: 150px;
	font-family: var(--e404-font-sans);
	font-size: 15px;
	color: var(--e404-ink);
	padding-left: 16px;
	margin-bottom: 20px;
	border: 1px solid var(--e404-line);
	border-radius: 6px;
	padding-top: 12px;
	resize: none;
	background: var(--e404-card-bg);
	transition: border-color 0.3s;
}

.contact-form form textarea::placeholder {
	color: var(--e404-muted);
}

.contact-form form textarea:focus {
	outline: none;
	border-color: var(--e404-stamp);
}

.contact-form form button {
	font-family: var(--e404-font-mono);
	font-size: 13px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

/*--------------------------------- Responsive Media Quaries -----------------------------*/

@media only screen and (min-width: 1200px) {
	.container {
		max-width: 1170px;
	}
}

/* Medium Device = 1200px */

@media only screen and (min-width: 992px) and (max-width: 1199px) {
	.header__menu ul li {
		margin-right: 45px;
	}
	.hero__search__form {
		width: 490px;
	}
	.hero__categories__all {
		padding: 10px 25px 10px 20px;
	}
	.hero__categories ul {
		padding-left: 20px;
	}
	.latest-product__slider.owl-carousel .owl-nav {
		right: 0;
	}
	.shoping__discount form input {
		width: 240px;
	}
}

/* Tablet Device = 768px */

@media only screen and (min-width: 768px) and (max-width: 991px) {
	.hero__categories {
		margin-bottom: 30px;
	}
	.hero__search__form {
		width: 485px;
	}
	.categories__slider.owl-carousel .owl-nav button {
		left: -20px;
	}
	.categories__slider.owl-carousel .owl-nav button.owl-next {
		right: -20px;
	}
	.filter__sort .nice-select {
		padding-left: 5px;
		padding-right: 28px;
	}
	.product__details__quantity {
		margin-bottom: 10px;
	}
	.product__details__text .primary-btn {
		margin-bottom: 10px;
	}
	.blog__details__author {
		overflow: hidden;
		margin-bottom: 25px;
	}
	.humberger__open {
		display: block;
		color: #2d2d2d;
		position: absolute;
		left: 15px;
		top: 18px;
	}
	.humberger__open:hover {
		color: var(--e404-stamp);
	}
	.header__main__inner {
		height: 56px;
	}
	.header__nav {
		display: none;
	}
	.header__actions {
		gap: 12px;
		margin-left: auto;
	}
	.header .container {
		position: relative;
	}
	.header__logo {
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
	}
	.humberger__menu__wrapper {
		width: 260px;
		background: var(--e404-bg);
		position: fixed;
		left: -260px;
		top: 0;
		height: 100%;
		overflow-y: auto;
		z-index: 99;
		padding: 20px;
		padding-top: 24px;
		opacity: 0;
		display: block;
		-webkit-transition: all, 0.6s;
		-moz-transition: all, 0.6s;
		-ms-transition: all, 0.6s;
		-o-transition: all, 0.6s;
		transition: all, 0.6s;
		border-right: 1px solid var(--e404-line);
	}
	.humberger__menu__wrapper.show__humberger__menu__wrapper {
		opacity: 1;
		left: 0;
	}
	.humberger__menu__logo {
		margin-bottom: 30px;
	}
	.humberger__menu__logo a {
		display: inline-block;
	}
	.humberger__menu__contact {
		padding: 8px 0 10px;
		border-top: 1px solid var(--e404-line);
	}
	.humberger__menu__contact ul li {
		font-family: var(--e404-font-mono);
		font-size: 11px;
		color: var(--e404-ink-soft);
		position: relative;
		line-height: 30px;
		list-style: none;
		text-transform: uppercase;
		letter-spacing: 0.05em;
	}
	.humberger__menu__contact ul li i {
		color: var(--e404-stamp);
		margin-right: 5px;
	}
	.humberger__menu__cart ul {
		display: inline-block;
		margin-right: 25px;
	}
	.humberger__menu__cart ul li {
		list-style: none;
		display: inline-block;
		margin-right: 15px;
	}
	.humberger__menu__cart ul li:last-child {
		margin-right: 0;
	}
	.humberger__menu__cart ul li a {
		position: relative;
	}
	.humberger__menu__cart ul li a i {
		font-size: 18px;
		color: var(--e404-ink);
	}
	.humberger__menu__cart ul li a span {
		height: 16px;
		width: 16px;
		background: var(--e404-stamp);
		font-size: 10px;
		color: #ffffff;
		line-height: 16px;
		text-align: center;
		font-weight: 700;
		display: inline-block;
		border-radius: 50%;
		position: absolute;
		top: -4px;
		right: -12px;
	}
	.humberger__menu__cart .header__cart__price {
		font-family: var(--e404-font-mono);
		font-size: 12px;
		color: var(--e404-muted);
		display: inline-block;
	}
	.humberger__menu__cart .header__cart__price span {
		color: var(--e404-ink);
		font-weight: 700;
	}
	.humberger__menu__cart {
		margin-bottom: 25px;
	}
	.humberger__menu__widget {
		margin-bottom: 20px;
		padding-bottom: 16px;
		border-bottom: 1px solid #e1e1e1;
	}
	.humberger__menu__widget .header__top__right__language {
		margin-right: 20px;
	}
	.humberger__menu__user {
		margin-bottom: 12px;
		display: flex;
		align-items: center;
		gap: 10px;
	}
	.humberger__menu__user-avatar {
		width: 36px;
		height: 36px;
		border-radius: 50%;
		object-fit: cover;
		border: 2px solid #e1e1e1;
		flex-shrink: 0;
	}
	.humberger__menu__user-name {
		font-size: 16px;
		font-weight: 600;
		color: #252525;
		display: block;
		padding: 4px 0;
	}
	.humberger__menu__auth-link {
		display: block;
		padding: 6px 0;
		font-size: 14px;
		font-weight: 500;
		color: #1c1c1c;
		text-decoration: none;
		transition: color 0.2s;
		border-bottom: 1px solid #f0f0f0;
	}
	.humberger__menu__auth-link i {
		width: 20px;
		margin-right: 8px;
		color: #252525;
		text-align: center;
	}
	.humberger__menu__auth-link:hover {
		color: #7fad39;
	}
	.humberger__menu__auth-link:hover i {
		color: #7fad39;
	}
	.humberger__menu__logout {
		color: #c0392b;
	}
	.humberger__menu__logout i {
		color: #c0392b;
	}
	.humberger__menu__logout:hover {
		color: #a93226;
	}
	.humberger__menu__logout:hover i {
		color: #a93226;
	}
	.humberger__menu__theme-toggle {
		display: flex;
		align-items: center;
		gap: 8px;
		padding: 8px 0;
		font-size: 14px;
		font-weight: 500;
		color: #1c1c1c;
		margin-top: 12px;
		border-top: 1px solid #e1e1e1;
		background: none;
		border-left: none;
		border-right: none;
		border-bottom: none;
		cursor: pointer;
	}
	.humberger__menu__theme-toggle i {
		font-size: 16px;
	}
	.humberger__menu__nav {
		display: none;
	}
	.humberger__menu__wrapper .header__top__right__social {
		display: block;
		margin-right: 0;
		margin-bottom: 12px;
	}
	.humberger__menu__wrapper .slicknav_btn {
		display: none;
	}
	.humberger__menu__wrapper .slicknav_nav .slicknav_item a {
		border-bottom: none !important;
	}
	.humberger__menu__wrapper .slicknav_nav {
		display: block !important;
	}
	.humberger__menu__wrapper .slicknav_menu {
		background: transparent;
		padding: 0;
		margin-bottom: 16px;
	}
	.humberger__menu__wrapper .slicknav_nav ul {
		margin: 0;
	}
	.humberger__menu__wrapper .slicknav_nav a {
		font-family: var(--e404-font-sans);
		color: var(--e404-ink);
		font-size: 13px;
		font-weight: 500;
		text-transform: uppercase;
		letter-spacing: 0.1em;
		margin: 0;
		border-bottom: 1px solid var(--e404-line);
	}
	.humberger__menu__wrapper .slicknav_nav a:hover {
		-webkit-border-radius: 0;
		border-radius: 0;
		background: transparent;
		color: var(--e404-stamp);
	}
	.humberger__menu__wrapper .slicknav_nav .slicknav_row,
	.humberger__menu__wrapper .slicknav_nav a {
		padding: 8px 0;
	}
	.humberger__menu__overlay {
		position: fixed;
		left: 0;
		top: 0;
		height: 100%;
		width: 100%;
		background: rgba(0, 0, 0, 0.5);
		content: "";
		z-index: 98;
		visibility: hidden;
		-webkit-transition: all, 0.6s;
		-moz-transition: all, 0.6s;
		-ms-transition: all, 0.6s;
		-o-transition: all, 0.6s;
		transition: all, 0.6s;
	}
	.humberger__menu__overlay.active {
		visibility: visible;
	}
	.header__top {
		display: none;
	}
	.header__nav {
		display: none;
	}
	.header__search-inline {
		display: none;
	}
	.header__cart {
		text-align: center;
		padding: 10px 0 24px;
	}
	.over_hid {
		overflow: hidden;
	}
}

/* Wide Mobile = 480px */

@media only screen and (max-width: 767px) {
	.hero__categories {
		margin-bottom: 30px;
	}
	.hero__categories ul {
		display: none;
	}
	.hero__search-mobile {
		margin-top: 15px;
		margin-bottom: 20px;
		position: relative;
		z-index: 10;
	}
	.hero__search-mobile-form {
		display: flex;
		align-items: center;
		width: 100%;
		height: 44px;
		border: 1.5px solid #e0e0e0;
		border-radius: 6px;
		overflow: hidden;
		background: #fff;
	}
	.hero__search-mobile-btn {
		background: none;
		border: none;
		padding: 0 12px;
		cursor: pointer;
		color: #999;
		font-size: 16px;
		display: flex;
		align-items: center;
		flex-shrink: 0;
	}
	.hero__search-mobile-btn:hover {
		color: #333;
	}
	.hero__search-mobile-input {
		flex: 1;
		border: none;
		outline: none;
		font-size: 14px;
		padding: 0 12px 0 0;
		height: 100%;
		background: transparent;
	}
	.hero__search-mobile-input::placeholder {
		color: #aaa;
	}
	.header__search-inline {
		display: none;
	}
	.hero__search {
		margin-bottom: 30px;
	}
	.hero__search__form {
		width: 100%;
	}
	.hero__search__form form input {
		width: 100%;
	}
	.hero__search__form form .hero__search__categories {
		display: none;
	}
	.hero__search__phone {
		float: left;
		margin-top: 30px;
	}
	.categories__slider.owl-carousel .owl-nav {
		text-align: center;
		margin-top: 40px;
	}
	.categories__slider.owl-carousel .owl-nav button {
		position: relative;
		left: 0;
		top: 0;
		-webkit-transform: translateY(0);
		height: 100px;
		width: 45px;
		font-size: 24px;
		line-height: 100px;
	}
	.categories__slider.owl-carousel .owl-nav button.owl-next {
		right: -10px;
	}
	.footer {
		padding-top: 50px;
	}
	.footer__about {
		text-align: center;
	}
	.footer__about__inner {
		flex-direction: column;
		align-items: center;
	}
	.footer__widget {
		text-align: center;
	}
	.footer__widget ul {
		width: 100%;
	}
	.footer__widget__social {
		text-align: center;
	}
	.footer__widget__links {
		flex-direction: column;
		gap: 10px;
	}
	.footer__copyright {
		text-align: center;
		flex-direction: column;
	}
	.footer__copyright__text {
		margin-bottom: 15px;
	}
	.back-to-top {
		bottom: 20px;
		right: 20px;
		width: 40px;
		height: 40px;
		font-size: 16px;
	}
	.filter__item {
		text-align: center;
	}
	.filter__option {
		text-align: center;
	}
	.product__details__pic {
		margin-bottom: 40px;
	}
	.shoping__cart__table {
		overflow-y: auto;
	}
	.shoping__discount form input {
		margin-bottom: 15px;
	}
	.blog__details__author {
		overflow: hidden;
		margin-bottom: 25px;
	}
	.humberger__open {
		display: block;
		color: #2d2d2d;
		position: absolute;
		left: 15px;
		top: 18px;
	}
	.humberger__open:hover {
		color: var(--e404-stamp);
	}
	.header__main__inner {
		height: 56px;
	}
	.header__nav {
		display: none;
	}
	.header__actions {
		gap: 12px;
		margin-left: auto;
	}
	.header__user-name {
		display: none;
	}
	.header .container {
		position: relative;
	}
	.header__logo {
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
	}
	.humberger__menu__wrapper {
		width: 260px;
		background: var(--e404-bg);
		position: fixed;
		left: -260px;
		top: 0;
		height: 100%;
		overflow-y: auto;
		z-index: 99;
		padding: 20px;
		padding-top: 24px;
		opacity: 0;
		display: block;
		-webkit-transition: all, 0.6s;
		-moz-transition: all, 0.6s;
		-ms-transition: all, 0.6s;
		-o-transition: all, 0.6s;
		transition: all, 0.6s;
		border-right: 1px solid var(--e404-line);
	}
	.humberger__menu__wrapper.show__humberger__menu__wrapper {
		opacity: 1;
		left: 0;
	}
	.humberger__menu__logo {
		margin-bottom: 30px;
	}
	.humberger__menu__logo a {
		display: inline-block;
	}
	.humberger__menu__contact {
		padding: 8px 0 10px;
		border-top: 1px solid var(--e404-line);
	}
	.humberger__menu__contact ul li {
		font-family: var(--e404-font-mono);
		font-size: 11px;
		color: var(--e404-ink-soft);
		position: relative;
		line-height: 30px;
		list-style: none;
		text-transform: uppercase;
		letter-spacing: 0.05em;
	}
	.humberger__menu__contact ul li i {
		color: var(--e404-stamp);
		margin-right: 5px;
	}
	.humberger__menu__cart .humberger__cart-list {
		display: inline-flex;
		gap: 15px;
		margin-right: 25px;
		list-style: none;
		padding: 0;
	}
	.humberger__menu__cart .humberger__cart-list li {
		position: relative;
	}
	.humberger__menu__cart .humberger__cart-list li a {
		display: flex;
		align-items: center;
		color: var(--e404-ink);
	}
	.humberger__menu__cart .humberger__cart-list li a svg {
		width: 20px;
		height: 20px;
	}
	.humberger__menu__cart .humberger__cart-price {
		font-family: var(--e404-font-mono);
		font-size: 12px;
		color: var(--e404-muted);
		margin-top: 10px;
		display: block;
	}
	.humberger__menu__cart .humberger__cart-price span {
		color: var(--e404-ink);
		font-weight: 700;
	}
	.humberger__menu__cart {
		margin-bottom: 25px;
	}
	.humberger__menu__widget {
		margin-bottom: 20px;
		padding-bottom: 16px;
		border-bottom: 1px solid #e1e1e1;
	}
	.humberger__menu__widget .header__top__right__language {
		margin-right: 20px;
	}
	.humberger__menu__user {
		margin-bottom: 12px;
		display: flex;
		align-items: center;
		gap: 10px;
	}
	.humberger__menu__user-avatar {
		width: 36px;
		height: 36px;
		border-radius: 50%;
		object-fit: cover;
		border: 2px solid #e1e1e1;
		flex-shrink: 0;
	}
	.humberger__menu__user-name {
		font-size: 16px;
		font-weight: 600;
		color: #252525;
		display: block;
		padding: 4px 0;
	}
	.humberger__menu__auth-link {
		display: block;
		padding: 6px 0;
		font-size: 14px;
		font-weight: 500;
		color: #1c1c1c;
		text-decoration: none;
		transition: color 0.2s;
		border-bottom: 1px solid #f0f0f0;
	}
	.humberger__menu__auth-link i {
		width: 20px;
		margin-right: 8px;
		color: #252525;
		text-align: center;
	}
	.humberger__menu__auth-link:hover {
		color: #7fad39;
	}
	.humberger__menu__auth-link:hover i {
		color: #7fad39;
	}
	.humberger__menu__logout {
		color: #c0392b;
	}
	.humberger__menu__logout i {
		color: #c0392b;
	}
	.humberger__menu__logout:hover {
		color: #a93226;
	}
	.humberger__menu__logout:hover i {
		color: #a93226;
	}
	.humberger__menu__theme-toggle {
		display: flex;
		align-items: center;
		gap: 8px;
		padding: 8px 0;
		font-size: 14px;
		font-weight: 500;
		color: #1c1c1c;
		margin-top: 12px;
		border-top: 1px solid #e1e1e1;
		background: none;
		border-left: none;
		border-right: none;
		border-bottom: none;
		cursor: pointer;
	}
	.humberger__menu__theme-toggle i {
		font-size: 16px;
	}
	.humberger__menu__nav {
		display: none;
	}
	.humberger__menu__wrapper .header__top__right__social {
		display: block;
		margin-right: 0;
		margin-bottom: 12px;
	}
	.humberger__menu__wrapper .slicknav_btn {
		display: none;
	}
	.humberger__menu__wrapper .slicknav_nav .slicknav_item a {
		border-bottom: none !important;
	}
	.humberger__menu__wrapper .slicknav_nav {
		display: block !important;
	}
	.humberger__menu__wrapper .slicknav_menu {
		background: transparent;
		padding: 0;
		margin-bottom: 16px;
	}
	.humberger__menu__wrapper .slicknav_nav ul {
		margin: 0;
	}
	.humberger__menu__wrapper .slicknav_nav a {
		font-family: var(--e404-font-sans);
		color: var(--e404-ink);
		font-size: 13px;
		font-weight: 500;
		text-transform: uppercase;
		letter-spacing: 0.1em;
		margin: 0;
		border-bottom: 1px solid var(--e404-line);
	}
	.humberger__menu__wrapper .slicknav_nav a:hover {
		-webkit-border-radius: 0;
		border-radius: 0;
		background: transparent;
		color: var(--e404-stamp);
	}
	.humberger__menu__wrapper .slicknav_nav .slicknav_row,
	.humberger__menu__wrapper .slicknav_nav a {
		padding: 8px 0;
	}
	.humberger__menu__overlay {
		position: fixed;
		left: 0;
		top: 0;
		height: 100%;
		width: 100%;
		background: rgba(0, 0, 0, 0.5);
		content: "";
		z-index: 98;
		visibility: hidden;
		-webkit-transition: all, 0.6s;
		-moz-transition: all, 0.6s;
		-ms-transition: all, 0.6s;
		-o-transition: all, 0.6s;
		transition: all, 0.6s;
	}
	.humberger__menu__overlay.active {
		visibility: visible;
	}
	.header__top {
		display: none;
	}
	.header__nav {
		display: none;
	}
	.header__cart {
		text-align: center;
		padding: 10px 0 24px;
	}
	.over_hid {
		overflow: hidden;
	}
}

/* Small Device = 320px */

@media only screen and (max-width: 479px) {
	.hero__search__form form .hero__search__categories {
		display: none;
	}
	.featured__controls ul li {
		margin-bottom: 10px;
	}
	.product__details__text ul li b {
		width: auto;
		min-width: 100px;
	}
	.product__details__tab .nav-tabs li {
		margin-right: 20px;
	}
	.fila__container {
		padding: 12px;
		flex-wrap: wrap;
	}
	.fila__container > .shoping__cart__item {
		width: 25%;
	}
	.fila__container > .shoping__cart__item > img {
		width: 60px;
		height: 60px;
	}
	.fila__container > .shoping__cart__info {
		width: 75%;
	}
	.fila__container > .shoping__cart__info > div {
		flex-wrap: wrap;
		gap: 8px;
	}
	.fila__container .pro-qty {
		width: 110px;
		height: 36px;
	}
	.fila__container .pro-qty input {
		width: 38px;
		font-size: 14px;
	}
	.fila__container .pro-qty .qtybtn {
		width: 36px;
		font-size: 16px;
	}
	.shoping__cart__btns {
		text-align: center;
	}
	.primary-btn.cart-btn.cart-btn-right {
		float: none;
		margin-top: 10px;
	}
	.shoping__checkout .primary-btn {
		display: block;
		text-align: center;
		padding: 10px 15px 10px;
	}
	.shoping__checkout {
		padding: 20px;
	}
	.map .map-inside {
		-webkit-transform: translateX(-125px);
		-ms-transform: translateX(-125px);
		transform: translateX(-125px);
	}
	.map .map-inside .inside-widget {
		width: 250px;
	}
	.product__details__tab .nav-tabs li {
		margin-right: 15px;
	}
	.product__details__text .product__details__price {
		font-size: 24px;
	}
	.product__details__actions {
		gap: 8px;
	}
	.product__details__text ul {
		margin-top: 30px;
		padding-top: 25px;
	}
	.shoping__discount form input {
		width: 100%;
	}
	.checkout__order {
		padding: 20px;
	}
	.blog__details__hero__text h2 {
		font-size: 24px;
	}
}



/*
// mis estilos
*/

.lista_categorias{
	max-height: calc(100vh - 200px);
	overflow-y: auto;
	scrollbar-width: thin;
	scrollbar-color: var(--e404-stamp) #f0f0f0;
}

.lista_categorias::-webkit-scrollbar {
	width: 6px;
}

.lista_categorias::-webkit-scrollbar-track {
	background: #f0f0f0;
	border-radius: 0;
}

.lista_categorias::-webkit-scrollbar-thumb {
	background: var(--e404-stamp);
	border-radius: 0;
}

.lista_categorias::-webkit-scrollbar-thumb:hover {
	background: #b8985d;
}

/* === BUSCADOR DE CATEGORÍAS === */
.category-filter {
	padding: 8px 16px !important;
	border-bottom: 1px solid #f0f0f0;
	position: sticky;
	top: 0;
	background: #fff;
	z-index: 1;
}

.category-search-input {
	width: 100%;
	border: 1px solid #e0e0e0;
	padding: 8px 12px;
	font-size: 13px;
	font-family: "Poppins", Arial, sans-serif;
	color: #2d2d2d;
	background: #fafafa;
	border-radius: 0;
	outline: none;
	transition: border-color 0.2s, background 0.2s;
}

.category-search-input:focus {
	border-color: var(--e404-stamp);
	background: #fff;
}

.category-search-input::placeholder {
	color: #aaa;
	font-weight: 300;
}

.category-no-results {
	padding: 16px !important;
	text-align: center;
	color: #999;
	font-size: 13px;
	font-style: italic;
}

a.link-to-item{
	cursor:none;
	text-decoration:none;
	display:block;
	position:relative;
}

.breadcrumb__text h2{
	font-family: var(--e404-font-serif);
	font-size: 26px;
	color: var(--e404-ink);
	font-weight: 600;
	margin-bottom: 8px;
	letter-spacing: -0.01em;
	background: transparent;
	padding: 0;
	border-radius: 0;
	opacity: 1;
	display: inline-block;
	position: relative;
}

.breadcrumb__text h2::after {
	content: '';
	position: absolute;
	bottom: -4px;
	left: 0;
	width: 40px;
	height: 3px;
	background: var(--e404-stamp);
	border-radius: 2px;
}


.breadcrumb__option span {
	display: inline-block;
	font-size: 13px;
	color: var(--e404-ink);
	font-weight: 500;
}

a.precio{
	color: var(--e404-stamp) !important; 
}

span.precio{
	color: var(--e404-stamp) !important; 
}

a.precio:hover, a:focus {
    text-decoration: none !important;
    outline: none;
    color: var(--e404-stamp) !important;
}

div.featured__item__pic{
	border-radius:0;
	cursor:pointer;
}

.product .sidebar {
	position: sticky;
	top: 90px;
	align-self: flex-start;
}

/*esto es para que los product card tengan una transicion suave*/
div.featured__item__pic:hover , .product__item__pic:hover{
	cursor:pointer;
	transition: filter 0.3s ease;
	filter: brightness(0.97);
}


 /*------------------------------------------------------
  login section
 ------------------------------------------------------*/
 .login__wrapper{
	width: 100%;
	padding:20px;
	display:flex;
	justify-content:center;
	flex-direction: column;
	align-items:center;
}

.login__wrapper > span{
	margin-block-end:30px;
}

.login__wrapper > div{
	margin-block-end:30px;
	width:50%;
}

.login__wrapper .login__social{
	display:flex;
	flex-direction:row;
	justify-content:center;
}
.login__wrapper .login__social > div{
	margin-inline-end:20px;
	border: 1px solid lightgrey;
	padding:10px;
	border-radius:5px;
	cursor:pointer;
}

.login__wrapper .login__social > div {
	opacity:0.5;
}

.login__wrapper .login__social > div:hover {
	opacity:1;	
}

.login__wrapper .login__account{
	width:50%;
}



.login__account > form > div{
    display: flex;
    justify-content: center;
    margin-block-start: 20px;
    margin-block-end: 20px;	
}

.login__wrapper .login__footer{
	width:50%;
}

.login__account  input[type="email"], .login__account  input[type="password"]{
	width:50%;
	border-radius:4px;
}



.login__account  input{
	
	font-family:var(--fuente-predeterminada);
	color: #b2b2b2 !important;
	border: 1px solid lightgrey;
    height: 36px;
	font-weight: bold;
    font-size: 15px;
    padding-left: 20px;	
} 

.login__account  .login__account--submit button{
	width:47%;
	max-width:50%;
	border-radius:4px;
	opacity:0.8;
}

.login__account  .login__account--submit button:hover{
	opacity:1;
	transition: all .3s ease-in-out;
	transform: scale(1.05);
	box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px;
	
}


.login__account--forgot{
	display:flex;
	justify-content:center;
}

.login__account--forgot a{
	text-decoration:none;
}

.login__account--forgot span{
	font-family:var(--fuente-predeterminada);
	font-weight: 400;
	font-size: 16px;
	color:#6f6f6f;
	
}

.login__account--new{
	display:flex;
	justify-content:center;
	margin-block-start:30px;
}

.login__account--new a{
	text-decoration:none;
	font-weight: bold;
}

.login__account--new a:hover{
	text-decoration:none;
	font-weight: bold;
	color:rgb(12, 29, 187);
}

.login__account--new span{
	font-family:var(--fuente-predeterminada);
	font-weight: 400;
	font-size: 16px;
	color:#f6f6f6;
}

@media screen and (max-width: 540px) {
	.login__wrapper .login__account{
		width:100%;
	}

	.login__account  input[type="email"], .login__account  input[type="password"]{
		width:100%;
	}

	.login__account  .login__account--submit button{
		width:100%;
		max-width:100%;
	}
	
	
}


/*----------------------------------------
* formulario de contacto
*----------------------------------------*/
.contact-form form input{
	border: 1px solid var(--e404-line);
	border-radius: 6px;
	background: var(--e404-card-bg);
	font-family: var(--e404-font-sans);
	font-size: 15px;
	color: var(--e404-ink);
}

.contact-form form textarea{
	border: 1px solid var(--e404-line);
	border-radius: 6px;
	background: var(--e404-card-bg);
	font-family: var(--e404-font-sans);
	font-size: 15px;
	color: var(--e404-ink);
}

.btn-primary-action{
	font-family: var(--e404-font-mono);
	font-size: 13px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	background: var(--e404-stamp);
	color: #fff;
	border: none;
	border-radius: 6px;
	padding: 14px 28px;
	transition: background 0.3s;
	text-decoration: none;
}

.btn-primary-action:hover{
	background: #8c2820;
	text-decoration: none;
}

span.input__help{
    position: relative;
    top: -20px;
    font-family: var(--e404-font-mono);
    color: var(--e404-muted);
    font-style: normal;
    font-size: 10px;
}


/*----------------------------------------
* gracias por contacto
*----------------------------------------*/
/*----------------------------------------
* labels de formulario contacto
*----------------------------------------*/
.field-required,
.field-optional {
	display: block;
	font-family: var(--e404-font-sans);
	font-size: 13px;
	margin-bottom: 6px;
	text-align: left;
}

.field-required {
	color: var(--e404-ink);
}

.field-required span {
	color: #e44;
	font-weight: 700;
}

.field-optional {
	color: var(--e404-muted);
}

.contacto__thanks__wrapper--logo{
	display:flex;
	justify-content:center;
}

.contacto__thanks__wrapper--logo img{
	width:150px;
	height:auto;
}

.contacto__thanks__wrapper--mensaje p{
	font-weight:500;
    text-align: center;
}

.contacto__thanks__wrapper--accion{
	display:flex;
	justify-content:center;
	margin-block-end:40px;
}

.contacto__thanks__wrapper--accion .login__account--submit{
	width:100%;	
}

.contacto__thanks__wrapper--accion .login__account--submit button{
	width:100%;	
}

/* Dark mode - gracias por contacto */
body.dark .contacto__thanks__wrapper--mensaje p {
	color: var(--e404-ink);
}

body.dark .contacto__thanks__wrapper--mensaje strong {
	color: var(--e404-ink);
}

body.dark .site-btn {
	color: var(--e404-paper);
	background: var(--e404-ink);
	border-color: var(--e404-ink);
}

body.dark .site-btn:hover {
	background: var(--e404-stamp);
	border-color: var(--e404-stamp);
}


/*----------------------------------------
* CARRITO
*----------------------------------------*/

.shoping__cart__item {
	display:flex;
	flex-direction:row;
}

.shoping__cart__table table tbody tr td{
	padding-top: 8px;
	padding-bottom: 8px;	
}

.shoping__cart__table table tbody tr:nth-child(even){
	background: var(--e404-card-bg);
}

.shoping__cart__table table tbody tr:nth-child(odd){
	background: var(--e404-bg);
}

.compra__gracias{
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 60px 20px;
    min-height: 70vh;
}

.compra__gracias--iconos{
    position: relative;
    width: 180px;
    height: 160px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 30px;
}

.compra__gracias--fire{
    position: absolute;
    width: 180px;
    height: auto;
    opacity: 0.6;
    top: 0;
    left: 0;
}

.compra__gracias--cart{
    position: relative;
    width: 90px;
    height: auto;
    z-index: 2;
    filter: drop-shadow(0 4px 12px rgba(0,0,0,0.15));
}

.compra__gracias--content{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    max-width: 500px;
}

.compra__gracias--title{
    font-family: var(--e404-font-serif);
    font-size: 48px;
    font-weight: 800;
    color: var(--e404-ink);
    margin: 0;
    line-height: 1;
    letter-spacing: 4px;
}

.compra__gracias--subtitle{
    font-family: var(--e404-font-mono);
    font-size: 14px;
    font-weight: 600;
    color: var(--e404-muted);
    margin: 0;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.compra__gracias--mensaje{
    font-family: var(--e404-font-sans);
    font-size: 15px;
    color: var(--e404-muted);
    line-height: 1.6;
    margin: 8px 0 0;
}

.compra__gracias--btn{
    margin-top: 12px;
    padding: 12px 32px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: var(--e404-font-mono);
    font-size: 12px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.compra__gracias--contacto{
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid var(--e404-line);
    width: 100%;
}

.compra__gracias--contacto > p{
    font-family: var(--e404-font-mono);
    font-size: 12px;
    color: var(--e404-muted);
    margin-bottom: 12px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.compra__gracias--contacto-info{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.compra__gracias--contacto-link{
    font-family: var(--e404-font-sans);
    font-size: 14px;
    color: var(--e404-ink);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: color 0.2s;
}

.compra__gracias--contacto-link:hover{
    color: var(--e404-stamp);
    text-decoration: none;
}

.compra__gracias--contacto-link i{
    width: 16px;
    text-align: center;
    color: var(--e404-stamp);
}

@media only screen and (min-width: 768px){
    .compra__gracias{
        padding: 80px 20px;
    }

    .compra__gracias--title{
        font-size: 56px;
    }

    .compra__gracias--subtitle{
        font-size: 22px;
    }

    .compra__gracias--contacto-info{
        flex-direction: row;
        justify-content: center;
        gap: 24px;
    }
}


/*----------------------------------------
* ERROR
*----------------------------------------*/
/* ---------- Error 404 ---------- */
.error404{
    --e404-bg: #f7f6f1;
    --e404-paper: #ffffff;
    --e404-ink: #1c1912;
    --e404-ink-soft: #4a453c;
    --e404-muted: #8b8579;
    --e404-line: #dedacc;
    --e404-stamp: #a8322a;
    --e404-thread: #4b5d45;

    background: var(--e404-bg);
    color: var(--e404-ink);
    font-family: 'Poppins', sans-serif;
    min-height: 100vh;
    background-image: radial-gradient(circle at 1px 1px, rgba(28,25,18,0.045) 1px, transparent 0);
    background-size: 22px 22px;
    max-width: 1040px;
    margin: 0 auto;
    padding: 64px 28px 96px;
}

/* eyebrow */
.error404-eyebrow{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    font-family:'Space Mono', monospace;
    font-size: 12px;
    letter-spacing: 0.18em;
    color: var(--e404-muted);
    text-transform: uppercase;
    margin-bottom: 56px;
}
.error404-dot{
    width:5px; height:5px; border-radius:50%;
    background: var(--e404-stamp);
    flex: none;
}

/* hero */
.error404-hero{
    display:grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: 48px;
    align-items:center;
    padding-bottom: 72px;
    border-bottom: 1px solid var(--e404-line);
}
@media (max-width: 780px){
    .error404-hero{ grid-template-columns: 1fr; }
}

.error404-copy h1{
    font-family:'Poppins', sans-serif;
    font-weight: 600;
    font-size: clamp(2.4rem, 5vw, 3.6rem);
    line-height: 1.05;
    letter-spacing: -0.01em;
    margin: 0 0 22px;
}
.error404-copy h1 em{
    font-style: italic;
    font-weight: 500;
    color: var(--e404-stamp);
}
.error404-copy p{
    font-size: 16.5px;
    line-height: 1.6;
    color: var(--e404-ink-soft);
    max-width: 40ch;
    margin: 0 0 34px;
}

.error404-actions{ display:flex; align-items:center; gap: 22px; flex-wrap: wrap; }

.error404-btn-primary{
    display:inline-flex;
    align-items:center;
    gap:10px;
    background: var(--e404-ink);
    color: var(--e404-paper);
    font-family:'Poppins', sans-serif;
    font-weight: 600;
    font-size: 13px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-decoration:none;
    padding: 16px 26px;
    border: 1px solid var(--e404-ink);
    transition: background .2s ease, color .2s ease, transform .15s ease;
}
.error404-btn-primary:hover{ background: var(--e404-paper); color: var(--e404-ink); transform: translateY(-1px); text-decoration:none; }
.error404-btn-primary svg{ width:14px; height:14px; }

.error404-link-secondary{
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--e404-ink-soft);
    text-decoration: none;
    border-bottom: 1px solid var(--e404-muted);
    padding-bottom: 2px;
    transition: color .2s ease, border-color .2s ease;
}
.error404-link-secondary:hover{ color: var(--e404-ink); border-color: var(--e404-ink); text-decoration:none; }

/* hanging tag */
.error404-tag-stage{
    display:flex;
    justify-content:center;
    padding-top: 6px;
}
.error404-tag-rig{
    position: relative;
    width: 220px;
}
.error404-string{
    width: 100%;
    height: 74px;
    display:block;
    overflow: visible;
}
.error404-tag{
    position: relative;
    background: var(--e404-paper);
    border: 1px solid var(--e404-ink);
    padding: 26px 20px 22px;
    transform: rotate(-5deg);
    transform-origin: 50% 0%;
    box-shadow: 6px 10px 0 rgba(28,25,18,0.06);
    animation: e404swing 6s ease-in-out infinite;
}
.error404-tag::before{
    content:"";
    position:absolute;
    top: -34px;
    left: 50%;
    transform: translateX(-50%);
    width: 14px; height: 14px;
    border-radius:50%;
    background: var(--e404-bg);
    border: 1px solid var(--e404-ink);
}
@keyframes e404swing{
    0%, 100% { transform: rotate(-5deg); }
    50% { transform: rotate(2deg); }
}
@media (prefers-reduced-motion: reduce){
    .error404-tag{ animation: none; }
}

.error404-ref{
    font-family:'Space Mono', monospace;
    font-size: 11px;
    letter-spacing: 0.08em;
    color: var(--e404-muted);
    text-transform: uppercase;
    margin-bottom: 14px;
}
.error404-code-num{ color: var(--e404-ink); font-weight: 700; }

.error404-stamp{
    font-family:'Poppins', sans-serif;
    font-weight: 700;
    font-style: italic;
    font-size: 34px;
    color: var(--e404-stamp);
    transform: rotate(-8deg);
    letter-spacing: 0.01em;
    line-height: 1;
    margin: 6px 0 18px;
    border-top: 3px double var(--e404-stamp);
    border-bottom: 3px double var(--e404-stamp);
    padding: 8px 0;
    text-align: center;
}

.error404-talle{
    display:flex;
    justify-content:space-between;
    font-family:'Space Mono', monospace;
    font-size: 10.5px;
    letter-spacing: 0.06em;
    color: var(--e404-muted);
    text-transform: uppercase;
    border-top: 1px dashed var(--e404-line);
    padding-top: 12px;
}
.error404-talle strong{ color: var(--e404-ink-soft); font-weight: 700; }

/* products */
.error404-products-head{
    display:flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 20px;
    margin: 64px 0 30px;
    flex-wrap: wrap;
}
.error404-products-head h2{
    font-family:'Poppins', sans-serif;
    font-weight: 600;
    font-size: 1.5rem;
    margin: 0;
}
.error404-products-head span{
    font-family:'Space Mono', monospace;
    font-size: 11.5px;
    color: var(--e404-muted);
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.error404-grid{
    display:grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
}
@media (max-width: 780px){
    .error404-grid{ grid-template-columns: 1fr; }
}

.error404-card{
    background: var(--e404-paper);
    border: 1px solid var(--e404-line);
    display:flex;
    flex-direction: column;
    text-decoration:none;
    color: inherit;
    border-radius: 8px;
    overflow: hidden;
    transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.error404-card:hover{
    border-color: var(--e404-ink);
    transform: translateY(-3px);
    box-shadow: 0 10px 24px rgba(28,25,18,0.08);
    text-decoration:none;
}

.error404-swatch{
    position: relative;
    height: 190px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-bottom: 1px dashed var(--e404-line);
    overflow: hidden;
}
.error404-swatch::before{
    content:"";
    position:absolute;
    top:10px; left:10px;
    width: 12px; height:12px;
    border-radius: 50%;
    background: var(--e404-bg);
    border: 1px solid var(--e404-ink);
    box-shadow: 0 0 0 1px var(--e404-bg);
    z-index: 2;
}
.error404-swatch svg{ width: 58px; height: 58px; position: relative; z-index:1; opacity: 0.85; }
.error404-swatch-img{ width: 100%; height: 100%; object-fit: cover; position: relative; z-index:1; }

.error404-fab-1{ background: linear-gradient(135deg,#e7e2d4,#cfc8b3); }
.error404-fab-2{ background: linear-gradient(135deg,#dfe3dd,#b9c2b6); }
.error404-fab-3{ background: linear-gradient(135deg,#ece0d8,#d3b9a9); }

.error404-card-body{
    padding: 18px 18px 20px;
}
.error404-cat{
    font-family:'Space Mono', monospace;
    font-size: 10.5px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--e404-muted);
    margin-bottom: 8px;
    display:block;
}
.error404-name{
    font-family:'Poppins', sans-serif;
    font-weight: 500;
    font-size: 15px;
    color: var(--e404-ink-soft);
    margin: 0 0 8px;
    line-height: 1.3;
}
.error404-price{
    font-family:'Space Mono', monospace;
    font-size: 16px;
    font-weight: 700;
    color: var(--e404-ink);
    margin: 0;
}

/* footer */
.error404-footer{
    margin-top: 64px;
    padding-top: 26px;
    border-top: 1px solid var(--e404-line);
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap: wrap;
    gap: 12px;
    font-family:'Space Mono', monospace;
    font-size: 11px;
    letter-spacing: 0.05em;
    color: var(--e404-muted);
    text-transform: uppercase;
}
.error404-dots{ display:flex; gap: 8px; }
.error404-dots span{ width:6px; height:6px; border-radius:50%; background: var(--e404-line); }
.error404-dots span.error404-on{ background: var(--e404-stamp); }


.imgoferta{
	width:100px;
}


/*avatar en el top*/
.img-avatar  {
	display:inline-block;
}

.img-avatar img {
	width: 30px;
	height: 30px;
	border-radius:50%;
}

.img-avatar__big img {
	width: 60px;
	height: 60px;
	border-radius:50%;
}



.img_logo {
	width:80px;
	border-radius:50%;
}

.img_logo_error{
	width:80px;
	border-radius:50%;
	border: 2px solid #dd2222;
}

/* tablets y computadoras*/
@media only screen and (min-width: 768px) {
	.img_logo {
		width:100px;
	}
	
}
.header__top__right__auth a{
	padding: 8px;
	font-family: var(--e404-font-sans);
	font-size: 13px;
	color: var(--e404-ink);
	text-decoration: none;
	transition: color 0.2s;
}
.header__top__right__auth a:hover{
	color: var(--e404-stamp);
	background-color: transparent;
	border-radius: 0;
	box-sizing:content-box;
}

.always-on-top{
	z-index:100;
}


@media only screen and (max-width: 767px){
	ul.pagination{
		flex-wrap: wrap;	
	}
}


/* esto es para el carrito , solo en mobile*/
.fila__container{
    display: flex;
    flex-direction: row;
    border-bottom: 1px solid var(--e404-line);
    margin-block-end: 16px;
    background: var(--e404-card-bg);
    border-radius: 8px;
    padding: 16px;
    transition: box-shadow 0.3s;
}

.fila__container:hover {
	box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

.fila__container > .shoping__cart__item{
	width:20%;
}

.fila__container > .shoping__cart__item > img{
	width: 80px;
	height: 80px;
	border-radius: 8px;
	object-fit: cover;
}

.fila__container > .shoping__cart__info{
	width:80%;
	display:flex;
	flex-direction:column;
	font-weight: bold;
}

.fila__container .pro-qty {
	height: 40px;
	width: 130px;
	border-radius: 6px;
	border: 1px solid var(--e404-line);
	background: var(--e404-card-bg);
	display: inline-flex;
	align-items: center;
	overflow: hidden;
}

.fila__container .pro-qty input, .fila__container .pro-qty-detail input {
	height: 100%;
	width: 50px;
	flex: none;
	font-family: var(--e404-font-mono);
	color: var(--e404-ink);
	background: transparent;
	border: none;
}

.fila__container .pro-qty .qtybtn {
	color: var(--e404-muted);
	width: 40px;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--e404-font-mono);
	font-size: 16px;
	font-weight: 700;
	transition: color 0.2s;
}

.fila__container .pro-qty .qtybtn:hover {
	color: var(--e404-stamp);
}

.fila__container .icon_close{
    color: var(--e404-muted);
    margin-inline-start: 12px;
    font-size: 1.5rem;
	cursor:pointer;
	opacity: 0.5;
	transition: opacity 0.3s, color 0.3s;
}

.fila__container .icon_close:hover {
	opacity: 1;
	color: var(--e404-stamp);
}

.fila__container  .shoping__cart__info--nombre{
	margin-block-end:12px;
	font-family: var(--e404-font-sans);
	font-size:14px;
	font-weight: 600;
	color: var(--e404-ink);
}

.fila__container > .shoping__cart__info > div{
	display:flex;
	flex-direction:row;
	align-items: center;
	gap: 12px;
}

.shoping__checkout a{
	color: var(--e404-muted);
	border-bottom: 1px dashed var(--e404-line);
	font-family: var(--e404-font-mono);
	font-size: 11px;
	transition: color 0.3s, border-color 0.3s;
}

.shoping__checkout a:hover{
	color: var(--e404-stamp);
	border-bottom-color: var(--e404-stamp);
}

.fila__container .shoping__cart__price{
	font-family: var(--e404-font-mono);
	color: var(--e404-stamp);
	font-weight: 600;
	font-size: 14px;
}

.fila__container .shoping__cart__total{
	font-family: var(--e404-font-mono);
	color: var(--e404-ink);
	font-weight: 600;
	font-size: 14px;
}



/* carrito en desktop */

@media only screen and (min-width: 768px){
	.fila__container {
		flex-direction: row;
		align-items: center;
		padding: 20px 24px;
	}

	.fila__container .shoping__cart__item {
		width: auto;
		margin-right: 20px;
	}
	.fila__container .shoping__cart__item img{
		width: 100px;
		height: 100px;
	}

	.fila__container > .shoping__cart__info{
		display:flex;
		flex-direction:row;
		align-items: center;
		width: 100%;
	}

	.fila__container .shoping__cart__info h5{
		display:inline-block;
		margin: 0;
		margin-right: auto;
		width: 35%;
		color: var(--e404-stamp);
		font-size: 1.1rem;
	}

	.fila__container .shoping__cart__price{
		font-size: 18px;
		color: var(--e404-stamp);
		font-weight: var(--fuente-weight);
		margin: 0;
		min-width: 100px;
		text-align: center;
	}

	.fila__container .shoping__cart__quantity {
		margin: 0;
	}

	.fila__container .shoping__cart__total{
		margin: 0;
		font-size: 18px;
		color: var(--e404-stamp);
		font-weight: var(--fuente-weight);
		min-width: 110px;
		text-align: right;
	}

	.fila__container .shoping__cart__item__close {
		margin-left: 16px;
	}

}

/* Cart side-by-side layout */
.cart__products {
	padding-right: 30px;
}

.cart__summary {
	position: sticky;
	top: 30px;
	align-self: flex-start;
}

.cart__summary .shoping__checkout {
	margin-top: 0;
}

/* Cart responsive improvements */
@media (max-width: 991.98px) {
	.cart__products {
		padding-right: 15px;
	}
	.cart__summary {
		position: static;
		margin-top: 30px;
	}
}

@media (max-width: 575.98px) {
	.fila__container {
		flex-direction: row;
		align-items: center;
		padding: 10px 12px;
		gap: 8px;
	}
	.fila__container > .shoping__cart__item {
		width: auto;
		flex-shrink: 0;
		margin-bottom: 0;
	}
	.fila__container > .shoping__cart__item img {
		width: 52px;
		height: 52px;
	}
	.fila__container > .shoping__cart__info {
		width: 0;
		flex: 1;
		min-width: 0;
		gap: 2px;
	}
	.fila__container .shoping__cart__info--nombre {
		font-size: 12px;
		margin-bottom: 2px;
		line-height: 1.2;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}
	.fila__container > .shoping__cart__info > div {
		display: flex;
		flex-wrap: nowrap;
		gap: 6px;
		align-items: center;
	}
	.fila__container .shoping__cart__price {
		font-size: 12px;
		min-width: auto;
	}
	.fila__container .shoping__cart__total {
		font-size: 12px;
		min-width: auto;
	}
	.fila__container .icon_close {
		font-size: 1rem;
		margin-inline-start: 4px;
	}
	.fila__container .pro-qty {
		height: 28px;
		width: 80px;
	}
	.fila__container .pro-qty input {
		width: 28px;
		font-size: 12px;
	}
	.fila__container .pro-qty .qtybtn {
		width: 26px;
		font-size: 12px;
	}
	.shoping__cart__btns {
		display: flex;
		flex-direction: column;
		gap: 10px;
		align-items: stretch;
	}
	.shoping__cart__btns .primary-btn {
		text-align: center;
	}
	.primary-btn.cart-btn.cart-btn-right {
		float: none;
		margin-top: 0;
	}
}
/* Favorites card grid */
.favorite-card {
	background: var(--e404-card-bg);
	border: 1px solid var(--e404-line);
	border-radius: 8px;
	overflow: hidden;
	transition: box-shadow 0.3s;
	margin-bottom: 30px;
	height: 100%;
	display: flex;
	flex-direction: column;
}

.favorite-card:hover {
	box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

.favorite-card__thumb {
	position: relative;
	width: 100%;
	padding-top: 100%;
	overflow: hidden;
	background: var(--e404-card-bg);
}

.favorite-card__thumb a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: block;
}

.favorite-card__thumb a img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s;
}

.favorite-card:hover .favorite-card__thumb img {
	transform: scale(1.05);
}

.favorite-card__remove {
	position: absolute;
	top: 10px;
	right: 10px;
	width: 32px;
	height: 32px;
	background: rgba(255,255,255,0.9);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
	color: var(--e404-muted);
	cursor: pointer;
	transition: all 0.3s;
	z-index: 2;
}

.favorite-card__remove:hover {
	background: var(--e404-stamp);
	color: #fff;
	transform: rotate(90deg);
}

.favorite-card__body {
	padding: 16px 18px 18px;
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.favorite-card__name {
	font-family: var(--e404-font-sans);
	font-size: 14px;
	font-weight: 600;
	margin: 0;
	line-height: 1.3;
}

.favorite-card__name a {
	color: var(--e404-ink);
	text-decoration: none;
	transition: color 0.3s;
}

.favorite-card__name a:hover {
	color: var(--e404-stamp);
}

.favorite-card__price {
	font-family: var(--e404-font-mono);
	font-size: 15px;
	font-weight: 600;
	color: var(--e404-stamp);
}

.favorite-card__body .fav-add-to-cart {
	margin-top: auto;
	padding: 10px 16px;
	font-family: var(--e404-font-mono);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	border: none;
	border-radius: 6px;
	background: var(--e404-ink);
	color: #fff;
	cursor: pointer;
	transition: background 0.3s;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

.favorite-card__body .fav-add-to-cart:hover {
	background: var(--e404-stamp);
}

body.dark .favorite-card__body .fav-add-to-cart {
	background: var(--e404-stamp);
	color: #fff;
}
body.dark .favorite-card__body .fav-add-to-cart:hover {
	background: #8c2820;
}

.favorite-empty {
	font-family: var(--e404-font-sans);
	font-size: 15px;
	color: var(--e404-muted);
	padding: 40px 0 20px;
}

@media (max-width: 767.98px) {
	.favorite-card__body {
		padding: 12px 14px 16px;
	}
	.favorite-card__name {
		font-size: 0.95rem;
	}
	.favorite-card__price {
		font-size: 1rem;
	}
}
/*---------------------------------------------------------------------*/
/* estilos para el checkout - split screen v2 */
/*---------------------------------------------------------------------*/
.pago__wrapper {
  width: 100%;
  min-height: 100vh;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: flex-start;
  background: var(--e404-bg);
}

.pago__left {
  flex: 1 1 0%;
  min-width: 0;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  padding: 24px 32px;
  position: relative;
}

.pago__left-inner {
  width: 100%;
  max-width: 600px;
}

.pago__logo {
  display: flex;
  justify-content: center;
  margin-bottom: 10px;
}

.pago__logo img {
  width: 40px;
  height: auto;
  border-radius: 50%;
}

.pago__title {
  font-family: var(--e404-font-serif);
  font-size: 22px;
  font-weight: 600;
  color: var(--e404-ink);
  text-align: center;
  margin-bottom: 16px;
}

.pago__section {
  background: var(--e404-card-bg);
  border: 1px solid var(--e404-line);
  border-radius: 8px;
  padding: 18px 22px;
  margin-bottom: 12px;
}

.pago__section-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}

.pago__section-number {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--e404-stamp);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--e404-font-mono);
  font-size: 13px;
  font-weight: 700;
  flex-shrink: 0;
}

.pago__section-header h2 {
  font-family: var(--e404-font-sans);
  font-size: 16px;
  font-weight: 600;
  color: var(--e404-ink);
  margin: 0;
}

/* --- Métodos de pago: lista limpia --- */
.pago__methods {
  display: flex;
  flex-direction: column;
}

.pago__method {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border: none;
  border-bottom: 1px solid var(--e404-line);
  cursor: pointer;
  transition: all 0.2s ease;
  background: transparent;
  position: relative;
  border-left: 3px solid transparent;
	border-radius: 4px;
}

.pago__method:last-child {
  border-bottom: none;
}

.pago__method:hover {
  background: var(--e404-card-bg);
}

.pago__method--active {
  background: var(--e404-card-bg);
  border-left-color: var(--e404-stamp);
}

.pago__method-radio {
  display: none;
}

.pago__method-radio:checked + .pago__method-check {
  border-color: var(--e404-stamp);
  background: var(--e404-stamp);
}

.pago__method-radio:checked + .pago__method-check::after {
  opacity: 1;
}

.pago__method-check {
  width: 18px;
  height: 18px;
  border: 2px solid var(--e404-line);
  border-radius: 50%;
  position: relative;
  flex-shrink: 0;
  transition: all 0.2s ease;
}

.pago__method-check::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8px;
  height: 8px;
  background: #fff;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: opacity 0.2s ease;
}

.pago__method-icon {
  width: 34px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: var(--e404-card-bg);
  border: 1px solid var(--e404-line);
  color: var(--e404-muted);
  font-size: 18px;
  flex-shrink: 0;
  transition: background 0.2s;
}

.pago__method--active .pago__method-icon {
  background: var(--e404-card-bg);
  border-color: var(--e404-stamp);
  color: var(--e404-stamp);
}

.pago__method-icon--mp {
  background: #e6f2ff url('/img/logo-mp.svg') center 17% / 223% auto no-repeat;
  width: 40px;
  height: 40px;
}

.pago__method--active .pago__method-icon--mp {
  background: #e6f2ff url('/img/logo-mp.svg') center 17% / 223% auto no-repeat;
  width: 40px;
  height: 40px;
}

.pago__method-info {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.pago__method-info strong {
  font-family: var(--e404-font-sans);
  font-size: 14px;
  font-weight: 600;
  color: var(--e404-ink);
}

.pago__method-info small {
  font-family: var(--e404-font-sans);
  font-size: 12px;
  color: var(--e404-muted);
}

.pago__method-badge {
  font-family: var(--e404-font-mono);
  font-size: 10px;
  font-weight: 600;
  color: var(--e404-stamp);
  background: rgba(168,50,42,0.08);
  padding: 3px 10px;
  border-radius: 20px;
  white-space: nowrap;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* --- Campos del formulario --- */
.pago__fields {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.pago__field {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.pago__field label {
  font-family: var(--e404-font-mono);
  font-size: 11px;
  font-weight: 600;
  color: var(--e404-ink);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.pago__field input,
.pago__field textarea {
  width: 100%;
  padding: 9px 12px;
  border: 1px solid var(--e404-line);
  border-radius: 6px;
  font-family: var(--e404-font-sans);
  font-size: 14px;
  transition: border-color 0.2s;
  outline: none;
  background: var(--e404-card-bg);
  color: var(--e404-ink);
}

.pago__field input::placeholder,
.pago__field textarea::placeholder {
  color: var(--e404-muted);
}

.pago__field input:focus,
.pago__field textarea:focus {
  border-color: var(--e404-stamp);
}

.pago__field textarea {
  resize: vertical;
  min-height: 50px;
}

.pago__field-optional {
  font-family: var(--e404-font-mono);
  font-size: 10px;
  color: var(--e404-muted);
  font-weight: 400;
}

.pago__field-required {
  color: #e74c3c;
  font-weight: 600;
}

.pago__input--error {
  border-color: #e74c3c !important;
  box-shadow: 0 0 0 2px rgba(231, 76, 60, 0.15);
}

.pago__section--disabled {
  opacity: 0.45;
  pointer-events: none;
  user-select: none;
}

.pago__method:has(.pago__method-radio:disabled) {
  opacity: 0.4;
  pointer-events: none;
  cursor: not-allowed;
}

/* --- Wallet MercadoPago --- */
.pago__wallet {
  width: 100%;
  min-height: 48px;
  margin-bottom: 8px;
}

.pago__wallet-loading {
  text-align: center;
  padding: 24px;
  color: var(--e404-muted);
  font-family: var(--e404-font-sans);
  font-size: 14px;
  background: var(--e404-card-bg);
  border: 1px solid var(--e404-line);
  border-radius: 8px;
}

.pago__wallet-loading i {
  color: var(--e404-stamp);
  margin-right: 6px;
}

.pago__wallet-error {
  text-align: center;
  padding: 18px;
  color: #b91c1c;
  font-family: var(--e404-font-sans);
  font-size: 14px;
  background: #fef2f2;
  border-radius: 8px;
  border: 1px solid #fca5a5;
}

.pago__wallet-error a {
  color: var(--e404-stamp);
  text-decoration: underline;
}

/* --- Banner de error --- */
.pago__error-banner {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 16px;
  background: #fef2f2;
  border: 1px solid #fca5a5;
  border-radius: 8px;
  color: #b91c1c;
  font-family: var(--e404-font-sans);
  font-size: 14px;
  margin-bottom: 18px;
}

.pago__error-banner i {
  flex-shrink: 0;
  font-size: 16px;
}

/* --- Botones y acciones --- */
.pago__submit {
  width: 100%;
  padding: 11px 24px;
  background: var(--e404-stamp);
  color: #fff;
  border: none;
  border-radius: 6px;
  font-family: var(--e404-font-mono);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  transition: background 0.2s, transform 0.1s;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.pago__submit:hover {
  background: #8c2820;
}

.pago__submit:active {
  transform: scale(0.98);
}

.pago__submit i {
  font-size: 14px;
}

.pago__security {
  text-align: center;
  font-family: var(--e404-font-mono);
  font-size: 11px;
  color: var(--e404-muted);
  margin-top: 6px;
}

.pago__security i {
  color: var(--e404-green);
  margin-right: 4px;
}

.pago__actions {
  margin-top: 12px;
}

/* --- Columna derecha: Resumen --- */
.pago__right {
  width: 380px;
  min-width: 380px;
  flex-shrink: 0;
  padding: 32px 28px;
  max-height: 100vh;
  overflow-y: auto;
  position: sticky;
  top: 0;
}

.pago__resumen {
  background: var(--e404-card-bg);
  border: 1px solid var(--e404-line);
  border-radius: 8px;
  padding: 24px;
  position: sticky;
  top: 32px;
  overflow-y: auto;
  width: 100%;
}

.pago__resumen::-webkit-scrollbar {
  width: 4px;
}

.pago__resumen::-webkit-scrollbar-thumb {
  background: var(--e404-line);
  border-radius: 4px;
}

.pago__resumen-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--e404-line);
}

.pago__resumen-header h3 {
  font-family: var(--e404-font-serif);
  font-size: 16px;
  font-weight: 600;
  color: var(--e404-ink);
  margin: 0;
}

.pago__resumen-count {
  font-family: var(--e404-font-mono);
  font-size: 11px;
  color: var(--e404-muted);
  background: var(--e404-bg);
  padding: 3px 10px;
  border-radius: 12px;
}

.pago__resumen-items {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-bottom: 18px;
}

.pago__resumen-item {
  display: flex;
  align-items: center;
  gap: 12px;
}

.pago__resumen-item-img {
  width: 44px;
  height: 44px;
  border-radius: 6px;
  overflow: hidden;
  background: var(--e404-bg);
  border: 1px solid var(--e404-line);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.pago__resumen-item-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.pago__resumen-item-noimg {
  color: var(--e404-line);
  font-size: 20px;
}

.pago__resumen-item-info {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 6px;
}

.pago__resumen-item-nombre {
  font-family: var(--e404-font-sans);
  font-size: 13px;
  color: var(--e404-ink);
  line-height: 1.3;
}

.pago__resumen-item-cant {
  font-family: var(--e404-font-mono);
  font-size: 10px;
  color: var(--e404-muted);
  background: var(--e404-bg);
  padding: 2px 6px;
  border-radius: 4px;
}

.pago__resumen-item-precio {
  font-family: var(--e404-font-mono);
  font-size: 13px;
  font-weight: 600;
  color: var(--e404-ink);
  white-space: nowrap;
}

.pago__resumen-totals {
  border-top: 1px solid var(--e404-line);
  padding-top: 14px;
}

.pago__resumen-row {
  display: flex;
  justify-content: space-between;
  font-family: var(--e404-font-sans);
  font-size: 13px;
  color: var(--e404-muted);
  margin-bottom: 8px;
}

.pago__resumen-envio {
  color: var(--e404-muted);
  font-style: italic;
}

.pago__resumen-total {
  display: flex;
  justify-content: space-between;
  font-family: var(--e404-font-mono);
  font-size: 18px;
  font-weight: 700;
  color: var(--e404-stamp);
  margin-top: 12px;
  padding-top: 12px;
  border-top: 2px solid var(--e404-line);
}

.pago__resumen-link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 14px;
  padding: 10px 16px;
  font-family: var(--e404-font-mono);
  font-size: 12px;
  font-weight: 600;
  color: var(--e404-stamp);
  text-decoration: none;
  border: 1px solid var(--e404-stamp);
  border-radius: 6px;
  transition: all 0.2s;
  letter-spacing: 0.06em;
}

.pago__resumen-link:hover {
  background: var(--e404-stamp);
  color: #fff;
}

/* --- Responsive --- */
@media only screen and (max-width: 900px) {
  .pago__left {
    padding: 20px 20px;
  }

  .pago__right {
    width: 300px;
    min-width: 300px;
    padding: 24px 16px 24px 0;
  }

  .pago__resumen {
    padding: 20px;
  }

  .pago__resumen-items {
    max-height: 200px;
    overflow-y: auto;
  }

  .pago__resumen-item-img {
    width: 38px;
    height: 38px;
  }
}

@media only screen and (max-width: 768px) {
  .pago__wrapper {
    flex-direction: column;
    min-height: auto;
    align-items: stretch;
  }

  .pago__right {
    width: 100%;
    min-width: 0;
    order: -1;
    max-height: none;
    overflow-y: visible;
    padding: 20px 20px 0;
    position: relative;
  }

  .pago__left {
    padding: 0 0 32px !important;
    position: relative;
    justify-content: center !important;
  }

  .pago__left-inner {
    max-width: 100% !important;
    padding: 0 16px;
  }

  .pago__resumen {
    position: static;
    overflow-y: visible;
  }

  .pago__resumen-items {
    max-height: none;
    overflow-y: visible;
  }

  .pago__title {
    font-size: 20px;
    margin-bottom: 14px;
  }

  .pago__section {
    padding: 14px 18px;
  }
}

@media only screen and (max-width: 640px) {
  .pago__left {
    padding: 0 0 24px;
  }

  .pago__resumen {
    padding: 16px;
  }

  .pago__resumen-item-img {
    width: 34px;
    height: 34px;
  }

  .pago__resumen-item-nombre {
    font-size: 13px;
  }

  .pago__resumen-item-precio {
    font-size: 13px;
  }

  .pago__resumen-header h3 {
    font-size: 16px;
  }

  .pago__resumen-total {
    font-size: 18px;
  }

  .pago__method {
    padding: 12px 14px;
  }

  .pago__method-icon {
    width: 36px;
    height: 36px;
    font-size: 16px;
  }
}

.product__card__calltoaction{
	padding-block-start:12px;
	padding-inline: 8px;
}

.product__card__cta-row{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:12px;
	margin-bottom:10px;
}

.product__card__quantity{
	display:flex;
	align-items:center;
	border: 1px solid var(--e404-line);
	border-radius: 6px;
	overflow: hidden;
}

.product__card__quantity span{
	width:30px;
	height:30px;
	background-color: var(--e404-paper);
	border-radius: 0;
	border: 1px solid var(--e404-line);
	text-align: center;
	line-height:30px;
	font-weight: 400;
	font-size: 1rem;	
	color: var(--e404-ink-soft);
	cursor:pointer;
	transition: background 0.2s, color 0.2s, border-color 0.2s;
}

.product__card__quantity span:hover {
	background: var(--e404-bg);
	border-color: var(--e404-stamp);
	color: var(--e404-ink);
}

.product__card__quantity input{
	width:40px;
	height:30px;
	border: 1px solid var(--e404-line);
	font-size: 14px;
	color: var(--e404-ink);
	border-radius: 0;	
	text-align:center;
	cursor:pointer;
	margin:0 4px;
	font-family: var(--e404-font-mono);
}

.product__card__button{
	display:flex;
	width:100%;
	background: var(--e404-ink);
	color: var(--e404-paper);
	border: 1px solid var(--e404-ink);
	border-radius: 6px;
	font-family: var(--e404-font-mono);
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	padding: 10px 12px;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: all 0.25s ease;
}

.product__card__button:hover {
	background: transparent;
	color: var(--e404-ink);
}

.product__card__agotado{
	display:flex;
	width:100%;
	background: var(--e404-muted);
	color: var(--e404-paper);
	border-radius: 0;
	font-family: var(--e404-font-mono);
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	padding: 10px 12px;
	align-items: center;
	justify-content: center;
}

.product__card__fav{
	font-size: 16px;
	color: var(--e404-muted);
	transition: color 0.3s;
	flex-shrink:0;
	text-decoration: none;
}

.product__card__fav:hover{
	color: var(--e404-stamp);
}

/*----------------------------------------
*  MODERN NAVY - refinements visuales
*----------------------------------------*/

.header {
	border-bottom: 2px solid var(--e404-stamp);
}

.featured {
	background: var(--e404-card-bg);
	padding-top: 70px;
	padding-bottom: 70px;
}

.categories {
	background: #ffffff;
}

.product {
	background: var(--e404-card-bg);
}

.product:nth-child(even) {
	background: #ffffff;
}

.from-blog {
	background: var(--e404-card-bg);
}

.featured__item {
	display: flex;
	flex-direction: column;
	transition: box-shadow .2s ease;
	background: var(--e404-paper);
	padding: 0;
	border: 1px solid var(--e404-line);
	border-radius: 8px;
	overflow: hidden;
	text-decoration: none;
	color: inherit;
}

.featured__item:hover {
	box-shadow: 0 4px 16px rgba(28,25,18,0.10);
	text-decoration: none;
}

.product__item {
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	border-radius: 8px;
	background: var(--e404-paper);
	padding: 0;
	border: 1px solid var(--e404-line);
	overflow: hidden;
}

.product__item:hover {
	transform: translateY(-3px);
	box-shadow: 0 10px 24px rgba(28,25,18,0.08);
	border-color: var(--e404-ink);
}

/* Carousel discount items — usa el mismo estilo que featured__item */
.product__discount__slider .owl-item {
	padding: 0 11px;
}

.product__discount__slider .owl-item .col-lg-4 {
	max-width: 100%;
	padding: 0;
}

.product__discount__slider .owl-item .featured__item {
	border: none;
	margin-bottom: 0;
}

.product__discount__slider .owl-item .featured__item {
	border: none;
	margin-bottom: 0;
}

.product__discount__slider .owl-stage {
	display: flex;
}

.product__discount__slider .owl-stage .owl-item {
	float: none;
}

.featured__item__pic {
	border-radius: 0;
	overflow: hidden;
}

.header__logo a {
	transition: opacity 0.3s;
}

.header__logo a:hover {
	opacity: 0.85;
}

.header__menu ul li a {
	font-weight: 500;
	letter-spacing: 1px;
}

.header__cart ul li a i {
	transition: color 0.3s, transform 0.3s;
}

.header__cart ul li a:hover i {
	transform: scale(1.1);
}

.product__pagination a:hover,
.blog__pagination a:hover {
	background: var(--e404-stamp);
	border-color: var(--e404-stamp);
	color: #ffffff;
	transform: translateY(-2px);
	box-shadow: 0 4px 8px rgba(168,50,42,0.3);
}

.product__pagination a.active,
.blog__pagination a.active {
	background: var(--e404-ink);
	border-color: var(--e404-ink);
	color: #ffffff;
}

.section-title h2 {
	font-family: var(--e404-font-serif);
	font-size: 32px;
	letter-spacing: -0.01em;
}

.section-title h2:after {
	width: 60px;
	height: 3px;
	border-radius: 2px;
}

.breadcrumb-section {
	background: var(--e404-bg);
	border-bottom: 1px solid var(--e404-line);
}

.hero__item {
	border-radius: 12px;
	overflow: hidden;
}

.featured__controls ul li {
	font-family: var(--e404-font-mono);
	font-size: 11px;
	font-weight: 400;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	transition: color 0.3s;
}

.featured__controls ul li:hover {
	color: var(--e404-stamp);
}

.featured__controls ul li.active {
	color: var(--e404-ink);
	font-weight: 700;
}

.img-avatar img {
	border: 2px solid var(--e404-line);
	transition: border-color 0.3s;
}

.img-avatar img:hover {
	border-color: var(--e404-stamp);
}

.header__top__right__auth a {
	border-radius: 0;
	transition: color 0.3s;
	font-family: var(--e404-font-sans);
}

.header__top__right__auth a:hover {
	background: transparent;
	color: var(--e404-stamp) !important;
}

/* checkout steps visual */

.shoping__checkout {
	background: var(--e404-ink);
	border-radius: 8px;
	padding: 30px;
}

body.dark .shoping__checkout {
	background: #2a2a2a;
}

.shoping__checkout h5 {
	color: #fff;
	font-weight: 600;
}

.shoping__checkout ul li {
	color: rgba(255,255,255,0.85);
}

.shoping__checkout ul li span {
	color: var(--e404-stamp);
	font-weight: 600;
}

.footer__widget__social a {
	border-color: rgba(255,255,255,0.12);
	color: rgba(255,255,255,0.7);
	background: rgba(255,255,255,0.05);
}

.footer__widget__social a:hover {
	background: var(--e404-stamp);
	color: #ffffff;
	border-color: var(--e404-stamp);
	transform: translateY(-3px);
	box-shadow: 0 6px 20px rgba(201, 169, 110, 0.35);
}

.footer__about ul li i {
	color: var(--e404-muted);
	margin-right: 10px;
	width: 18px;
	text-align: center;
}

/* smoother general transitions */
* {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.product__card__quantity span {
	transition: background 0.2s, color 0.2s, border-color 0.2s;
}

.product__card__quantity span:hover {
	background: var(--e404-card-bg);
	border-color: var(--e404-stamp);
	color: var(--e404-ink);
}

.product__card__button {
	transition: background 0.3s, transform 0.2s, box-shadow 0.3s;
}

.primary-btn {
	transition: background 0.3s, transform 0.2s, box-shadow 0.3s;
}

.site-btn {
	transition: background 0.3s, transform 0.2s, box-shadow 0.3s;
}

/* toast refinement */
.toast {
	background: var(--e404-ink);
	color: #ffffff;
	border-radius: 8px;
	box-shadow: 0 8px 24px rgba(27, 42, 74, 0.2);
}

/* -------------------------------------------------------------------
   AUTH PAGES (Login / Register)
------------------------------------------------------------------- */

.auth-section {
	min-height: 70vh;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 60px 20px;
	background: var(--e404-bg);
}

.auth-card {
	background: var(--e404-card-bg);
	border: 1px solid var(--e404-line);
	border-radius: 8px;
	width: 100%;
	max-width: 440px;
	padding: 44px 36px;
}

.auth-card__header {
	text-align: center;
	margin-bottom: 28px;
}

.auth-card__title {
	font-family: var(--e404-font-serif);
	font-size: 26px;
	font-weight: 600;
	color: var(--e404-ink);
	margin-bottom: 6px;
}

.auth-card__subtitle {
	font-family: var(--e404-font-sans);
	font-size: 14px;
	color: var(--e404-muted);
	margin: 0;
}

/* -- Social buttons -- */

.auth-social {
	display: flex;
	justify-content: center;
	gap: 12px;
	margin-bottom: 20px;
}

.auth-social__btn {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 12px 16px;
	border-radius: 6px;
	border: 1px solid var(--e404-line);
	background: var(--e404-card-bg);
	text-decoration: none;
	transition: all 0.3s ease;
	cursor: pointer;
	font-family: var(--e404-font-sans);
	font-size: 13px;
	font-weight: 500;
	color: var(--e404-ink);
}

.auth-social__btn:hover {
	border-color: var(--e404-stamp);
	color: var(--e404-stamp);
	text-decoration: none;
}

.auth-social__btn img {
	width: 20px;
	height: 20px;
}

.auth-social__btn--facebook:hover {
	border-color: #1877F2;
	color: #1877F2;
}

.auth-social__btn--google:hover {
	border-color: #DB4437;
	color: #DB4437;
}

/* -- Divider -- */

.auth-divider {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 20px;
	color: var(--e404-muted);
	font-family: var(--e404-font-mono);
	font-size: 11px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.auth-divider::before,
.auth-divider::after {
	content: '';
	flex: 1;
	height: 1px;
	background: var(--e404-line);
}

/* -- Form -- */

.auth-form {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.auth-form__group {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.auth-form__label {
	font-family: var(--e404-font-mono);
	font-size: 11px;
	font-weight: 600;
	color: var(--e404-ink);
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.auth-form__input {
	width: 100%;
	height: 46px;
	padding: 0 16px;
	border: 1px solid var(--e404-line);
	border-radius: 6px;
	font-family: var(--e404-font-sans);
	font-size: 15px;
	color: var(--e404-ink);
	transition: border-color 0.3s ease;
	background: var(--e404-card-bg);
	box-sizing: border-box;
}

.auth-form__input::placeholder {
	color: var(--e404-muted);
	font-weight: 400;
	font-size: 14px;
}

.auth-form__input:focus {
	outline: none;
	border-color: var(--e404-stamp);
}

.auth-form__input-group {
	position: relative;
}

.auth-form__input-group .auth-form__input {
	padding-right: 48px;
}

.auth-form__toggle-password {
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	background: none;
	border: none;
	cursor: pointer;
	color: var(--e404-muted);
	font-size: 16px;
	padding: 4px;
	display: flex;
	align-items: center;
	transition: color 0.3s;
}

.auth-form__toggle-password:hover {
	color: var(--e404-stamp);
}

.auth-form__input.is-invalid {
	border-color: #dc3545;
}

.auth-form__error {
	font-family: var(--e404-font-sans);
	font-size: 13px;
	color: #dc3545;
	margin: 0;
}

.auth-form__submit {
	width: 100%;
	height: 48px;
	border: none;
	border-radius: 6px;
	background: var(--e404-stamp);
	color: #ffffff;
	font-family: var(--e404-font-mono);
	font-size: 13px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	cursor: pointer;
	transition: background 0.3s ease;
	margin-top: 4px;
}

.auth-form__submit:hover {
	background: #8c2820;
}

.auth-form__footer {
	text-align: center;
	margin-top: 4px;
}

/* -- Links -- */

.auth-link {
	font-family: var(--e404-font-sans);
	font-size: 13px;
	color: var(--e404-stamp);
	font-weight: 500;
	transition: color 0.3s ease;
}

.auth-link:hover {
	color: #8c2820;
	text-decoration: none;
}

.auth-link--bold {
	font-weight: 600;
}

/* -- Card footer -- */

.auth-card__footer {
	text-align: center;
	margin-top: 24px;
	padding-top: 20px;
	border-top: 1px solid var(--e404-line);
}

.auth-card__footer p {
	font-family: var(--e404-font-sans);
	font-size: 13px;
	color: var(--e404-muted);
	margin-bottom: 6px;
}

/* -- Auth responsive -- */

@media (max-width: 480px) {
	.auth-card {
		padding: 32px 20px;
	}

	.auth-social {
		flex-direction: column;
	}

	.auth-card__title {
		font-size: 22px;
	}
}

/* -------------------------------------------------------------------
   HOMEPAGE — Visual harmony refinements
------------------------------------------------------------------- */

/* Banner section */
.banner {
	padding: 0 0 0;
}

.banner .container {
	padding-top: 10px;
	padding-bottom: 10px;
}

.banner__pic {
	border-radius: 0;
	overflow: hidden;
	border: 1px solid var(--e404-line);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.banner__pic:hover {
	transform: translateY(-3px);
	box-shadow: 0 10px 24px rgba(28,25,18,0.08);
}

.banner__pic img {
	width: 100%;
	display: block;
}

/* Categories slider — subtle background for rhythm */
.categories {
	background: var(--e404-bg);
	padding-top: 60px;
	padding-bottom: 60px;
}

.categories__item h5 a {
	background: rgba(255, 255, 255, 0.92);
	backdrop-filter: blur(4px);
}

/* Hero section spacing */
.hero {
	padding-top: 0;
	padding-bottom: 0;
}

/* Latest product — consistent spacing */
.latest-product .section-title {
	margin-bottom: 40px;
}

/* Homepage section title refinement */
.home-section-title {
	margin-bottom: 40px;
	text-align: center;
}

.home-section-title h2 {
	font-family: var(--e404-font-serif);
	color: var(--e404-ink);
	font-size: 28px;
	font-weight: 600;
	letter-spacing: -0.01em;
	position: relative;
	display: inline-block;
	padding-bottom: 12px;
}

.home-section-title h2::after {
	content: '';
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: 0;
	width: 50px;
	height: 3px;
	background: var(--e404-stamp);
	border-radius: 2px;
}

/* Section rhythm — consistent bottom spacing */
.categories + .featured {
	margin-top: 0;
}

.banner + .latest-product {
	margin-top: 0;
}

/* ── Product Placeholder (sin imagen) ───────────────────── */
.product-placeholder {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 10px;
	overflow: hidden;
	position: relative;
}

/* Tamaño del card (featured__item__pic tiene height fijo) */
.featured__item__pic.product-placeholder {
	height: 190px;
}

.product-placeholder__content {
	text-align: center;
	padding: 20px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 6px;
	width: 100%;
	height: 100%;
}

.product-placeholder__name {
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0.3px;
	line-height: 1.3;
	text-transform: uppercase;
	opacity: 0.85;
}

.product-placeholder__code {
	font-size: 12px;
	opacity: 0.55;
	font-weight: 400;
}

/* Variante detail (página de detalle) */
.product-placeholder--detail {
	height: 500px;
	border-radius: 10px;
}

.product-placeholder--detail .product-placeholder__name {
	font-size: 22px;
}

.product-placeholder--detail .product-placeholder__code {
	font-size: 14px;
}

/* === ANIMACIONES: Agregar al carrito y favoritos === */

/* Badge pop - el número del badge pulsa */
@keyframes badgePop {
	0%   { transform: scale(1); }
	35%  { transform: scale(1.6); }
	100% { transform: scale(1); }
}

.header__badge--pop {
	animation: badgePop 0.4s ease;
}

/* Botón cambio de estado - "Añadir al Carrito" → "✓ Agregado" */
.product__card__button--added,
.btn-cart--added,
.primary-btn--added {
	background: #4CAF50 !important;
	pointer-events: none;
	transition: background 0.2s;
}

body.dark .product__card__button {
	background: var(--e404-stamp);
	color: #fff;
	border-color: var(--e404-stamp);
}
body.dark .product__card__button:hover {
	background: #8c2820;
	border-color: #8c2820;
	color: #fff;
}

/* Card borde verde temporal */
@keyframes cardBorderGreen {
	0%   { box-shadow: inset 0 0 0 2px rgba(76, 175, 80, 0.8); }
	100% { box-shadow: inset 0 0 0 2px rgba(76, 175, 80, 0); }
}

.product__added-border {
	animation: cardBorderGreen 0.8s ease forwards;
	border-radius: 8px;
}

/* Corazón favorito - fill temporal */
@keyframes heartPop {
	0%   { transform: scale(1); }
	35%  { transform: scale(1.4); }
	100% { transform: scale(1); }
}

.product__card__fav--added {
	animation: heartPop 0.4s ease;
	color: #e74c3c !important;
}

/* =====================
   Botón Finalizar Compra
   ===================== */
.checkout-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	padding: 10px 16px;
	background: #fff;
	color: var(--e404-stamp);
	border: 1px solid var(--e404-stamp);
	border-radius: 6px;
	text-decoration: none;
	font-family: var(--e404-font-mono);
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	transition: all 0.2s ease;
}

.checkout-btn:hover {
	background: var(--e404-stamp);
	color: #fff;
	text-decoration: none;
}

.checkout-btn:active {
	transform: scale(0.98);
}

.checkout-btn__label {
	font-size: 12px;
	font-weight: 600;
}

.checkout-btn__arrow {
	font-size: 12px;
	transition: transform 0.3s ease;
}

.checkout-btn:hover .checkout-btn__arrow {
	transform: translateX(4px);
}

.checkout-btn:hover .checkout-btn__label {
	color: #fff;
}

.checkout-btn:hover .checkout-btn__arrow {
	color: #fff;
}

@media (max-width: 767px) {
	.checkout-btn {
		padding: 10px 16px;
		font-size: 12px;
	}
}


/* Totales del header - flash de color */
@keyframes totalFlash {
	0%   { color: #6f6f6f; }
	30%  { color: var(--e404-stamp); font-weight: 700; }
	100% { color: #6f6f6f; }
}

.header__cart-total--flash {
	animation: totalFlash 0.6s ease;
}

/* Descripciones de imagenes en panel de configuracion */
.img-field-desc {
	font-size: 11px;
	color: #999;
	background: none;
	border-left: none;
	padding: 2px 0;
	margin: 2px 0 6px;
	border-radius: 0;
	line-height: 1.3;
	font-style: italic;
}

/* ---------------------
   Mis Compras
----------------------- */

.compras-alert {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 14px 18px;
	border-radius: 6px;
	margin-bottom: 24px;
	font-family: var(--e404-font-sans);
	font-size: 14px;
}

.compras-alert--success {
	background: rgba(75, 93, 69, 0.1);
	color: #4b5d45;
	border: 1px solid rgba(75, 93, 69, 0.2);
}

.compras-alert__close {
	background: none;
	border: none;
	color: inherit;
	cursor: pointer;
	margin-left: auto;
	font-size: 18px;
	opacity: 0.6;
	transition: opacity 0.2s;
}

.compras-alert__close:hover {
	opacity: 1;
}

.compras-table-wrap {
	background: var(--e404-card-bg);
	border: 1px solid var(--e404-line);
	border-radius: 8px;
	overflow: hidden;
}

.compras-table {
	width: 100%;
	border-collapse: collapse;
}

.compras-table thead th {
	background: var(--e404-ink);
	color: #fff;
	font-family: var(--e404-font-mono);
	font-weight: 600;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	padding: 14px 16px;
	border: none;
}

.compras-table tbody td {
	padding: 14px 16px;
	border-bottom: 1px solid var(--e404-line);
	font-family: var(--e404-font-sans);
	font-size: 14px;
	color: var(--e404-ink);
	vertical-align: middle;
}

.compras-table tbody tr:last-child td {
	border-bottom: none;
}

.compras-table tbody tr:hover {
	background: rgba(168, 50, 42, 0.03);
}

.compras-table tfoot td {
	padding: 14px 16px;
	border-top: 2px solid var(--e404-line);
	font-family: var(--e404-font-sans);
	font-size: 14px;
}

.compras-table__id {
	font-family: var(--e404-font-mono);
	font-weight: 700;
}

.compras-table__total {
	font-family: var(--e404-font-mono);
	font-weight: 700;
	color: var(--e404-stamp);
}

.compras-badge {
	display: inline-block;
	padding: 4px 10px;
	border-radius: 12px;
	font-family: var(--e404-font-mono);
	font-size: 11px;
	font-weight: 600;
	color: #fff;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.badge-purple {
	background-color: rgba(155, 89, 182, 0.12);
	color: #7d3c98;
}

.compras-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: var(--e404-font-mono);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	padding: 8px 16px;
	border-radius: 6px;
	text-decoration: none;
	transition: all 0.3s;
	cursor: pointer;
}

.compras-btn--outline {
	background: transparent;
	color: var(--e404-ink);
	border: 1px solid var(--e404-line);
}

.compras-btn--outline:hover {
	border-color: var(--e404-stamp);
	color: var(--e404-stamp);
	text-decoration: none;
}

.compras-pagination {
	display: flex;
	justify-content: center;
	margin-top: 32px;
}

.compras-empty {
	text-align: center;
	padding: 60px 20px;
}

.compras-empty i {
	font-size: 48px;
	color: var(--e404-line);
	margin-bottom: 20px;
	display: block;
}

.compras-empty h4 {
	font-family: var(--e404-font-serif);
	font-size: 20px;
	color: var(--e404-ink);
	margin-bottom: 8px;
}

.compras-empty p {
	font-family: var(--e404-font-sans);
	font-size: 14px;
	color: var(--e404-muted);
	margin-bottom: 24px;
}

.compras-resumen-card {
	background: var(--e404-card-bg);
	border: 1px solid var(--e404-line);
	border-radius: 8px;
	padding: 24px;
	margin-bottom: 24px;
}

.compras-resumen-card__row {
	display: flex;
	gap: 32px;
	flex-wrap: wrap;
}

.compras-resumen-card__col {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.compras-resumen-card__label {
	font-family: var(--e404-font-mono);
	font-size: 10px;
	font-weight: 600;
	color: var(--e404-muted);
	text-transform: uppercase;
	letter-spacing: 0.1em;
}

.compras-resumen-card__value {
	font-family: var(--e404-font-sans);
	font-size: 15px;
	color: var(--e404-ink);
	font-weight: 600;
}

.compras-resumen-card__value--total {
	font-family: var(--e404-font-mono);
	font-size: 20px;
	color: var(--e404-stamp);
	font-weight: 700;
}

.compras-actions {
	margin-top: 32px;
}

/* --- Modal cambio de estado --- */

.modal-estado {
	background: var(--e404-paper);
	border: 1px solid var(--e404-line);
	border-radius: 8px;
	overflow: hidden;
}

.modal-estado__header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	padding: 24px 24px 0;
}

.modal-estado__icono {
	flex-shrink: 0;
}

.modal-estado__close {
	font-size: 24px;
	color: var(--e404-muted);
	padding: 0;
	margin: -4px -8px 0 0;
	opacity: 0.6;
	transition: opacity 0.2s;
}

.modal-estado__close:hover {
	opacity: 1;
	color: var(--e404-stamp);
}

.modal-estado__body {
	padding: 16px 24px 8px;
}

.modal-estado__titulo {
	font-family: var(--e404-font-serif);
	font-weight: 600;
	font-size: 18px;
	color: var(--e404-ink);
	margin-bottom: 10px;
}

.modal-estado__mensaje {
	font-family: var(--e404-font-sans);
	font-size: 14px;
	color: var(--e404-ink-soft);
	line-height: 1.6;
	margin: 0;
}

.modal-estado__footer {
	display: flex;
	gap: 10px;
	padding: 16px 24px 24px;
	justify-content: flex-end;
}

.modal-estado__btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	border-radius: 6px;
	font-family: var(--e404-font-mono);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	padding: 10px 18px;
	text-decoration: none;
	transition: all 0.3s;
	cursor: pointer;
}

.modal-estado__btn--primary {
	background: var(--e404-ink);
	color: var(--e404-paper);
	border: 1px solid var(--e404-ink);
}

.modal-estado__btn--primary:hover {
	background: var(--e404-stamp);
	border-color: var(--e404-stamp);
	text-decoration: none;
}

.modal-estado__btn--secondary {
	background: transparent;
	color: var(--e404-ink);
	border: 1px solid var(--e404-line);
}

.modal-estado__btn--secondary:hover {
	border-color: var(--e404-stamp);
	color: var(--e404-stamp);
	text-decoration: none;
}

/*----------------------------------------*/
/* Talle Selector
/*----------------------------------------*/
.talle-selector {
	margin: 16px 0 14px;
}

.talle-selector__title {
	display: block;
	font-family: var(--e404-font-mono);
	font-size: 11px;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--e404-muted);
	margin-bottom: 8px;
}

.talle-selector__grid {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

/* --- Botón base --- */
.talle-selector__btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 48px;
	height: 40px;
	padding: 0 14px;
	border: 1px solid var(--e404-line);
	border-radius: 4px;
	background: var(--e404-paper);
	color: var(--e404-ink);
	font-family: var(--e404-font-mono);
	font-size: 13px;
	font-weight: 400;
	cursor: pointer;
	transition: all 0.15s ease;
}

.talle-selector__btn:hover {
	border-color: var(--e404-muted);
	color: var(--e404-stamp);
}

.talle-selector__btn:active {
	transform: scale(0.97);
}

/* --- Seleccionado --- */
.talle-selector__btn--active {
	background: var(--e404-ink);
	border-color: var(--e404-ink);
	color: var(--e404-paper);
}

.talle-selector__btn--active:hover {
	background: var(--e404-stamp);
	border-color: var(--e404-stamp);
}

/* --- Talle badge en carrito --- */
.shoping__cart__info--nombre .badge {
	font-size: 12px;
	font-weight: 600;
	vertical-align: middle;
	background: var(--color-principal);
	padding: 3px 8px;
	border-radius: 4px;
}

/* --- Talle en formapago --- */
.pago__resumen-item-talle {
	font-size: 13px;
	color: #999;
	font-weight: 500;
}

/* --- Talle agotado --- */
.talle-selector__btn--disabled {
	opacity: 0.35;
	text-decoration: line-through;
	cursor: not-allowed;
	pointer-events: none;
}

/* --- Stock message below talles --- */
.talle-selector__stock-msg {
	display: none;
	margin-top: 10px;
	padding: 8px 14px;
	border-radius: 6px;
	font-family: var(--e404-font-sans);
	font-size: 0.85rem;
	font-weight: 500;
	text-align: center;
	animation: fadeIn 0.25s ease;
}
.talle-selector__stock-msg--danger {
	background: #fff0f0;
	color: var(--e404-stamp);
	border: 1px solid #f5c6c2;
}
.talle-selector__stock-msg--warning {
	background: #fff8e1;
	color: #856404;
	border: 1px solid #ffeaa7;
}
body.dark .talle-selector__stock-msg--danger {
	background: #2a1215;
	border-color: #5a1a1a;
}
body.dark .talle-selector__stock-msg--warning {
	background: #2a2210;
	border-color: #5a4a10;
}
@keyframes fadeIn {
	from { opacity: 0; transform: translateY(-4px); }
	to { opacity: 1; transform: translateY(0); }
}

/* --- Reseñas --- */
.resenas-form__stars {
	display: flex;
	gap: 4px;
}

.resenas-star {
	font-size: 22px;
	cursor: pointer;
	color: #ccc;
	transition: color 0.15s;
}

.resenas-star:hover,
.resenas-star.active {
	color: #f39c12;
}

.resena-item {
	padding: 20px;
	margin-bottom: 12px;
	border: 1px solid var(--e404-line);
	border-radius: 6px;
	background: var(--e404-card-bg);
}

.resena-item__header {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	margin-bottom: 6px;
}

.resena-item__stars {
	display: flex;
	gap: 2px;
}

.resena-item__star--active {
	color: #f39c12;
}

.resena-item__star--inactive {
	color: #ccc;
}

.resena-item__author {
	font-size: 14px;
}

.resena-item__date {
	font-size: 12px;
	color: var(--e404-muted);
}

.resena-item__text {
	margin-top: 4px;
	font-size: 14px;
	line-height: 1.5;
}

body.dark .resenas-form textarea.form-control {
	background: var(--e404-card-bg);
	color: var(--e404-ink);
	border-color: var(--e404-line);
}

body.dark .resenas-form textarea.form-control::placeholder {
	color: var(--e404-muted);
}

body.dark .resenas-form .text-muted {
	color: var(--e404-muted) !important;
}

body.dark .resenas-form .text-muted a {
	color: var(--e404-stamp);
}

body.dark .resenas-star,
body.dark .resena-item__star--inactive {
	color: #555;
}

/* --- Dark mode: modales Bootstrap --- */
body.dark .modal-content {
	background: var(--e404-paper);
	border-color: var(--e404-line);
}

body.dark .modal-header {
	border-bottom-color: var(--e404-line);
}

body.dark .modal-title {
	color: var(--e404-ink);
}

body.dark .close {
	color: var(--e404-muted);
	text-shadow: none;
}

body.dark .modal-body {
	color: var(--e404-ink);
}

body.dark .modal-body p,
body.dark .modal-body span,
body.dark .modal-body strong {
	color: var(--e404-ink);
}

body.dark .modal-body a {
	color: var(--e404-stamp);
}

body.dark .modal-footer {
	border-top-color: var(--e404-line);
}

body.dark .btn-secondary {
	background: var(--e404-card-bg);
	border-color: var(--e404-line);
	color: var(--e404-ink);
}

body.dark .btn-primary {
	background: var(--e404-stamp);
	border-color: var(--e404-stamp);
	color: var(--e404-paper);
}

/* --- Theme Toggle --- */
.theme-toggle {
	background: none;
	border: none;
	cursor: pointer;
	padding: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.theme-toggle__icon {
	transition: transform 0.3s ease;
}

.theme-toggle:hover .theme-toggle__icon {
	transform: rotate(20deg);
}

body.dark .theme-toggle__icon--moon {
	display: none !important;
}

body.dark .theme-toggle__icon--sun {
	display: block !important;
}

body.dark .compras-table-wrap {
	border-color: #3a3a3a;
}

body.dark .compras-table thead th {
	background: #2a2a2a;
	color: #e8e4de;
}

body.dark .compras-table tbody td {
	color: #e8e4de;
	border-bottom-color: #3a3a3a;
}

body.dark .compras-table tbody tr:hover {
	background: rgba(196, 65, 58, 0.08);
}

body.dark .compras-table__total {
	color: #d4453a;
}

body.dark .shoping__cart__info--nombre .badge-secondary {
	background: var(--e404-line);
	color: var(--e404-ink-soft);
}

.filter__gender-btn {
	display: inline-block;
	padding: 6px 14px;
	font-family: var(--e404-font-mono);
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	border: 1px solid var(--e404-line);
	border-radius: 20px;
	background: transparent;
	color: var(--e404-ink-soft);
	text-decoration: none;
	transition: all 0.2s ease;
}
.filter__gender-btn:hover {
	border-color: var(--e404-stamp);
	color: var(--e404-stamp);
	text-decoration: none;
}
.filter__gender-btn--active {
	background: var(--e404-ink);
	color: var(--e404-paper);
	border-color: var(--e404-ink);
}
body.dark .filter__gender-btn--active {
	background: var(--e404-stamp);
	border-color: var(--e404-stamp);
	color: #fff;
}
.filter__gender {
	margin-bottom: 10px;
	display: flex;
	flex-wrap: nowrap;
	gap: 6px;
}

body.dark .filter__sort .nice-select {
	background-color: var(--e404-card-bg);
	color: var(--e404-ink);
	border: 1px solid var(--e404-line);
}
body.dark .filter__sort .nice-select span {
	color: var(--e404-ink);
}
body.dark .filter__sort .nice-select:after {
	border-bottom-color: var(--e404-ink);
	border-right-color: var(--e404-ink);
}
body.dark .filter__sort .nice-select .list {
	background-color: var(--e404-card-bg);
	border: 1px solid var(--e404-line);
}
body.dark .filter__sort .nice-select .option:hover,
body.dark .filter__sort .nice-select .option.selected.focus {
	background-color: var(--e404-line);
	color: var(--e404-ink);
}
body.dark .filter__sort .nice-select .option {
	color: var(--e404-ink);
}
body.dark .filter__item {
	border-top-color: var(--e404-line);
}

/* --- AJAX Loader --- */
.tienda-loader {
	display: none;
	text-align: center;
	padding: 60px 0;
}
.tienda-loader--active {
	display: block;
}
.tienda-loader__spinner {
	width: 28px;
	height: 28px;
	border: 3px solid var(--e404-line);
	border-top-color: var(--e404-stamp);
	border-radius: 50%;
	animation: tiendaSpin 0.7s linear infinite;
	margin: 0 auto 12px;
}
.tienda-loader__text {
	font-family: var(--e404-font-mono);
	font-size: 11px;
	color: var(--e404-ink-soft);
	text-transform: uppercase;
	letter-spacing: 0.08em;
}
@keyframes tiendaSpin {
	to { transform: rotate(360deg); }
}
body.dark .tienda-loader__spinner {
	border-color: var(--e404-line);
	border-top-color: var(--e404-stamp);
}
body.dark .tienda-loader__text {
	color: var(--e404-ink-soft);
}

/* --- Hamburger Menu Dark Mode --- */
body.dark .humberger__menu__wrapper {
	background: #1a1a1a;
}
body.dark .humberger__menu__user-name {
	color: #e8e4de;
}
body.dark .humberger__menu__user-avatar {
	border-color: #3a3a3a;
}
body.dark .humberger__menu__auth-link {
	color: #e8e4de;
	border-bottom-color: #3a3a3a;
}
body.dark .humberger__menu__auth-link i {
	color: #e8e4de;
}
body.dark .humberger__menu__auth-link:hover {
	color: #d4a84a;
}
body.dark .humberger__menu__auth-link:hover i {
	color: #d4a84a;
}
body.dark .humberger__menu__logout {
	color: #e06050;
}
body.dark .humberger__menu__logout i {
	color: #e06050;
}
body.dark .humberger__menu__logout:hover {
	color: #ff7060;
}
body.dark .humberger__menu__logout:hover i {
	color: #ff7060;
}
body.dark .humberger__menu__theme-toggle {
	color: #e8e4de;
	border-top-color: #3a3a3a;
}
body.dark .humberger__menu__contact ul li {
	color: #b0a99e;
}
body.dark .humberger__menu__contact ul li i {
	color: #b0a99e;
}

/* --- Hamburger Button Dark Mode --- */
body.dark .humberger__open {
	color: #e8e4de;
	border-color: #e8e4de;
}

/* --- Nav Links Dark Mode (mobile) --- */
body.dark .humberger__menu__wrapper .slicknav_nav a {
	color: #e8e4de;
	border-bottom-color: #3a3a3a;
}
body.dark .humberger__menu__wrapper .slicknav_nav a:hover {
	color: #d4a84a;
}
body.dark .humberger__menu__wrapper .slicknav_nav ul {
	border-bottom-color: #3a3a3a;
}

/* === Mobile Search Collapse === */
@media only screen and (max-width: 767px) {
	.header__user-dropdown {
		display: none;
	}
}

