/**
 * MegaShop Child Theme - Custom Styles
 *
 * Añade aquí tus estilos personalizados que sobrescribirán los del tema padre.
 * Este archivo se cargará después de los estilos del tema padre.
 */

/* Ejemplo: Personalizar el color principal */
/*
:root {
  --primary-color: #your-color;
  --secondary-color: #your-color;
}
*/

@import url("https://fonts.googleapis.com/css?family=Montserrat:500,600,700");
@import url("https://fonts.googleapis.com/css2?family=Special+Elite&display=swap");

@charset "UTF-8";

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
strike,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;
	border: 0;
	font: inherit;
	font-size: 100%;
	vertical-align: baseline;
}

body {
	background: none repeat scroll 0 0 #ffffff;
	color: #111;
	font-family: "Montserrat", sans-serif;
	font-size: 14px;
	font-weight: 500;
}

a {
	color: #333;
	outline: medium none;
	text-decoration: none;
}

a:hover {
	text-decoration: underline;
}

ul {
	list-style: none;
}

ol li {
	margin-left: 20px;
}

caption,
th,
td {
	font-weight: normal;
	vertical-align: middle;
}

strong {
	font-weight: 700;
}

#checkout .payment-options #js-stripe-payment-form {
	margin-bottom: 20px!important;
}

q,
blockquote {
	quotes: none;
}

q:before,
q:after,
blockquote:before,
blockquote:after {
	content: "";
	content: none;
}

img {
	height: auto;
	max-width: 100%;
}

a img {
	border: none;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary {
	display: block;
}

.box {
	border: 1px solid #444;
	padding: 20px;
	margin: 0 0 30px;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

table.table {
	border: 1px solid #444;
	margin-bottom: 30px;
	width: 100%;
}

table.table th {
	background: #333;
	border-right: 1px solid #444;
	border-bottom: 1px solid #444;
	padding: 12px 8px;
	text-transform: uppercase;
}

table.table td {
	border-bottom: 1px solid #444;
	border-right: 1px solid #444;
	padding: 8px;
	text-align: center;
}

.footable-row-detail-cell {
	border-top: 1px solid #444;
}

.footable-row-detail-inner {
	width: 100%;
}

small,
small a {
	font-size: 12px;
	color: #fff;
}

p {
	margin: 0 0 15px;
}

/*** Inputs ***/
input,
textarea,
select {
	border: 1px solid #444;
	padding: 8px;
	margin: 0;
	background-color: #000;
	color: #fff;
}

input,
button,
textarea,
select,
optgroup,
option {
	font-family: inherit;
	font-size: inherit;
	font-style: inherit;
	font-weight: inherit;
}

.form-control[disabled],
.form-control[readonly],
fieldset[disabled] .form-control {
	background: #eee;
	cursor: not-allowed;
}

#address p.required,
#identity p.required,
#account-creation_form p.required,
#new_account_form p.required,
#opc_account_form p.required,
#authentication p.required {}

sup {
	color: #ff0000;
}

.clearfix:before,
.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	overflow: hidden;
}

.clearfix:after {
	clear: both;
}

.header-nav .container #tptnhtmlbox1 {
	transition: opacity 0.5s ease-in-out;
}

/* Page heading */
.page-heading,
.page-subheading {
	font-size: 20px;
	margin: 0 0 20px;
	text-transform: uppercase;
}

.page-heading span.heading-counter {
	font-size: 13px;
	margin: 3px 0 0;
	float: right;
	text-transform: none;
}

h3.page-product-heading {
	background: #eee;
	padding: 10px;
	margin: 0 0 10px;
}

h3.subheading {
	font-size: 16px;
	margin: 0 0 20px;
}

/** Button Colors **/
button,
input.button_mini,
input.button_small,
input.button,
input.button_large,
input.exclusive_mini,
input.exclusive_small,
input.exclusive,
input.exclusive_large,
a.button_mini,
a.button_small,
a.button,
a.button_large,
a.exclusive_mini,
a.exclusive_small,
a.exclusive,
a.exclusive_large,
span.button_mini,
span.button_small,
span.button,
span.button_large,
span.exclusive_mini,
span.exclusive_small,
span.exclusive,
span.exclusive_large {
	border: none;
	color: #fff;
	font-size: 14px;
	cursor: pointer;
	display: inline-block;
	padding: 10px 15px;
	text-decoration: none;
	transition: all 0.5s;
}

button:hover,
input.button_mini:hover,
input.button_small:hover,
input.button:hover,
input.button_large:hover,
input.exclusive_mini:hover,
input.exclusive_small:hover,
input.exclusive:hover,
input.exclusive_large:hover,
a.button_mini:hover,
a.button_small:hover,
a.button:hover,
a.button_large:hover,
a.exclusive_mini:hover,
a.exclusive_small:hover,
a.exclusive:hover,
a.exclusive_large:hover,
span.button_mini:hover,
span.button_small:hover,
span.button:hover,
span.button_large:hover,
span.exclusive_mini:hover,
span.exclusive_small:hover,
span.exclusive:hover,
span.exclusive_large:hover {
	background: #333;
}

button.std-btn,
input.std-btn,
a.std-btn,
span.std-btn {
	background: #888;
	border: none;
	color: #fff;
	font-size: 14px;
	cursor: pointer;
	display: inline-block;
	padding: 10px 15px;
	text-decoration: none;
	transition: all 0.5s;
}

button.std-btn:hover,
input.std-btn:hover,
a.std-btn:hover,
span.std-btn:hover {
	background: #333;
}

input.button_mini_disabled,
input.button_small_disabled,
input.button_disabled,
input.button_large_disabled,
input.exclusive_mini_disabled,
input.exclusive_small_disabled,
input.exclusive_disabled,
input.exclusive_large_disabled,
span.exclusive_large_disabled {
	background: #ccc;
	cursor: default;
}

input.button_mini_disabled:hover,
input.button_small_disabled:hover,
input.button_disabled:hover,
input.button_large_disabled:hover,
input.exclusive_mini_disabled:hover,
input.exclusive_small_disabled:hover,
input.exclusive_disabled:hover,
input.exclusive_large_disabled:hover,
span.exclusive_large_disabled:hover {
	background: #999;
}

i.left {
	margin-right: 7px;
}

i.right {
	margin-left: 7px;
}

i.fa-trash-o {
	font-size: 21px;
	color: #ff0000;
}

i.fa-trash-o:hover {
	color: #333;
}

/*** Forms ***/
.form-group {
	margin: 0 0 30px;
}

.form-group:last-child {
	margin: 0;
}

.form-group label,
.form-group span {
	display: block;
	margin: 0 0 10px;
}

.form-group .form_info,
.form-group .inline-infos {
	color: #888;
	margin: 5px 0 0;
}

.form-group p.radio label,
.form-group p.radio input,
.form-group p.checkbox label,
.form-group p.checkbox input {
	display: inline;
	padding: 0;
}

.radio-inline {
	display: inline-block;
	margin-right: 15px;
}

.radio-inline label {
	margin: 0;
}

.form-group.form-ok input,
.form-group.form-ok textarea {
	background: url("../img/icon/form-ok.png") no-repeat scroll 98% 10px #ddf9e1;
	border: 1px solid #444;
	color: #fff;
	background-color: #000;
}

.form-group.form-error input,
.form-group.form-error textarea {
	background: url("../img/icon/form-error.png") no-repeat scroll 98% 10px #fff1f2;
	border: 1px solid #ff0000;
	color: #ff0000;
	background-color: #000;
}

.checkbox {
	margin: 0 0 15px;
	border: none;
}

label.required:after {
	color: #ff0000;
	content: "*";
}

/*** Header ***/
#header .sticky-header {
	position: inherit !important;
}

#header .container {
	position: relative;
}

#header #nav-row {
	background: #f9f9f9;
	border-bottom: 1px solid #e5e5e5;
	padding: 12px 0;
}

#header #nav-row .container {
	display: flex;
	justify-content: flex-end;
}

#tptnhtmlbox1 {
	margin-right: auto;
}

#tptnhtmlbox1 a {
	color: #f13340;
}

.lc-block {
	position: relative;
	margin-left: 30px;
	z-index: 104;
}

.lc-block .lc-dropbtn {
	cursor: pointer;
}

.lc-block .lc-dropbtn:after {
	content: "\f107";
	font-family: "FontAwesome";
	font-size: 14px;
	color: #bbb;
	margin-left: 5px;
}

.lc-block .lc-dropdown-content {
	background: #fff;
	box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2);
	visibility: hidden;
	opacity: 0;
	margin-top: 10px;
	position: absolute;
	top: 100%;
	left: 0;
	width: 110px;
	transition: all 0.2s;
}

.lc-block .lc-dropdown-content li {
	border-bottom: 1px solid #ddd;
}

.lc-block .lc-dropdown-content li:last-child {
	border-bottom: none;
}

.lc-block .lc-dropdown-content a,
.lc-block .lc-dropdown-content span {
	display: block;
	padding: 7px 10px;
	text-decoration: none;
}

.lc-block .lc-dropdown-content a:hover {
	background: #f9f9f9;
}

.lc-block:hover .lc-dropdown-content {
	visibility: visible;
	opacity: 1;
	margin-top: 0;
}

#currencies-block-top .lc-dropdown-content {
	right: 0;
	left: auto;
}

#header #header_logo {
	position: absolute;
	left: 15px;
}

#tptnuserinfo {
	position: absolute;
	right: 15px;
	z-index: 102;
}

#tptnuserinfo .fa {
	font-size: 16px;
}

#tptnuserinfo .dropbtn {
	border: 1px solid #e5e5e5;
	font-size: 14px;
	display: block;
	padding: 0 15px;
	height: 42px;
	line-height: 42px;
	cursor: pointer;
}

#tptnuserinfo .dropdown-content {
	background: #fff;
	box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.3);
	visibility: hidden;
	opacity: 0;
	margin-top: 10px;
	position: absolute;
	top: 100%;
	right: 0;
	width: 180px;
	transition: all 0.2s ease-out;
}

#tptnuserinfo:hover .dropdown-content {
	visibility: visible;
	opacity: 1;
	margin-top: 0;
}

#tptnuserinfo li {
	border-bottom: 1px solid #ddd;
}

#tptnuserinfo li:last-child {
	border-bottom: none;
}

#tptnuserinfo a {
	display: block;
	padding: 10px 15px;
	text-decoration: none;
}

#tptnuserinfo a:hover {
	background: #f9f9f9;
	color: #333;
}

#header #top-categ {
	left: 15px;
	position: absolute;
}

#header #top-categ span {
	color: #fff;
	font-size: 16px;
	float: left;
	height: 50px;
	line-height: 50px;
	padding: 0 15px;
	text-transform: uppercase;
}

#header .shopping_cart {
	position: absolute;
	right: 15px;
	z-index: 101;
}

#header .shopping_cart>a:before {
	content: "\f07a";
	display: inline-block;
	font-family: "FontAwesome";
	margin: 0 5px 0 0;
}

#header .shopping_cart>a {
	color: #fff;
	font-size: 19px;
	display: block;
	height: 50px;
	line-height: 50px;
	padding: 0 10px;
	text-decoration: none;
}

#tptnheaderlinks {
	position: absolute;
	top: 130px;
}

#tptnheaderlinks li {
	float: left;
}

#tptnheaderlinks a {
	color: #fff;
	font-size: 14px;
	padding: 0 15px;
	line-height: 50px;
	display: block;
	text-decoration: none;
	text-transform: uppercase;
}

#tptnheaderlinks a:hover {
	background: rgba(0, 0, 0, 0.3);
}

#columns {
	padding-bottom: 30px;
}

/*** Footer ***/
#footer {}

.footer_top {}

#tptnhtmlbox2 {
	background: #f9f9f9;
	border-top: 1px solid #e5e5e5;
	padding: 30px 0 0;
	text-align: center;
}

#tptnhtmlbox2 .container {
	display: flex;
	flex-wrap: wrap;
}

#tptnhtmlbox2 .box-content {
	margin-bottom: 30px;
	padding: 0 10px;
}

#tptnhtmlbox2 a {
	display: block;
	text-decoration: none;
	text-transform: uppercase;
}

#tptnhtmlbox2 em {
	border-radius: 50%;
	color: #fff;
	font-size: 25px;
	margin-bottom: 15px;
	display: inline-block;
	width: 50px;
	height: 50px;
	line-height: 52px;
}

#tptnhtmlbox2 a:hover em {
	background: #333 !important;
}

#tptnhtmlbox2 span {
	display: block;
}

.footer_middle {
	border-top: 1px solid #000;
	padding: 30px 0;
	background-color: rgba(0, 0, 0, 0.6);
}

.footer_middle h4 {
	font-size: 16px;
	text-transform: uppercase;
	color: #bbb;
}

.footer_middle h4:after {
	font-family: "FontAwesome";
	content: "\f078";
	font-size: 15px;
	color: #999;
	cursor: pointer;
	float: right;
}

.footer_middle h4.active:after {
	content: "\f077";
}

.footer_middle a {
	color: #888;
	text-decoration: none;
}

.footer_middle a:hover {
	color: #f1d7cd;
}

.footer_middle li {
	color: #888;
	margin: 0 0 10px;
}

#tptnsocial .social-contact-links {
	list-style: none;
	padding: 0;
	margin: 10px 0 0;
}

#tptnsocial .social-contact-links li {
	margin-bottom: 8px;
}

#tptnsocial .social-contact-link {
	color: rgb(236, 93, 101) !important;
	text-decoration: none;
	font-size: 14px;
	font-weight: 600;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	-webkit-transition: opacity 0.3s;
	transition: opacity 0.3s;
}

#tptnsocial .social-contact-link:hover {
	opacity: 0.8;
	text-decoration: underline;
}

#tptnsocial .social-contact-link i {
	font-size: 16px;
}


.footer_bottom {
	border-top: 1px solid #000;
	color: #aaa;
	padding: 15px 0;
	text-align: center;
}

#authentication #content.card, 
#registration #content.card {
	background-color: transparent!important;
}

#authentication #content.card #field-password, 
#authentication #content.card #field-email {
	max-height: 40px;
	min-height: 40px;
}

#authentication #content.card button[data-action="show-password"]{
	min-height: 40px;
	border-top-left-radius: 0px;
	border-bottom-left-radius: 0px;
}

#registration .form-group label {
	display: flex!important;
}

#registration .form-group label span {
	margin-right: 10px;
}

#registration .password-requirements-length, 
#registration .password-requirements-score {
	display: flex;
	flex-direction: row;
	align-items: center;
}

#registration .password-requirements-length span,
#registration .password-requirements-score span {
	margin-bottom: 0px;
} 

#registration button[data-action="show-password"],
#identity button[data-action="show-password"], 
#identity #field-password, 
#identity #field-new_password, 
#registration #field-password{
	height: 34.25px;
}

#checkout div[paypal-messaging-banner] {
    background-color: #FFF;
	margin-top: 10px;
	padding: 10px;
}

#checkout .payment-option img {
	max-height: 16px;
	margin-right: 10px;
	float: left;
}
/*** Columns ***/
#center_column {
	margin: 30px 0 0;
}

.column .block {
	background: #fff;
	border: 1px solid #e5e5e5;
	margin-top: 30px;
}

.column .block .title_block {
	background: #f9f9f9;
	border-bottom: 1px solid #e5e5e5;
	font-size: 15px;
	padding: 15px;
	text-transform: uppercase;
}

.column .block .title_block a:hover {
	color: #888;
	text-decoration: none;
}

.column.accordion .title_block:after {
	font-family: "FontAwesome";
	content: "\f078";
	font-size: 18px;
	color: #999;
	cursor: pointer;
	float: right;
}

.column.accordion .title_block.active:after {
	content: "\f077";
}

.column .block .block_content {
	padding: 15px;
}

.column .block li {
	margin: 0 0 10px;
	overflow: hidden;
}

.column .block li:last-child {
	margin: 0;
}

.column .block li a:hover {
	color: #888;
	text-decoration: none;
}

.column .colprods li {
	margin: 0 0 15px;
}

.column .colprods li.last {
	margin: 0;
}

.column .colprods li .left_block {
	border: 1px solid #e5e5e5;
	float: left;
	margin: 0 10px 0 0;
	width: 70px;
}

.column .colprods li .right_block {
	float: left;
}

.column .colprods li .product-name {
	display: block;
	margin: 0 0 10px;
}

.column .colprods li .price {
	display: inline;
}

.column .colprods li .old-price {
	text-decoration: line-through;
	display: inline;
	margin: 0 0 0 3px;
}

/*** Sub Banner and Column Banner ***/
.tptnbanner {
	text-align: center;
}

.tptnbanner li {
	margin-top: 30px;
}

.tptnbanner a {
	display: block;
	position: relative;
	text-decoration: none;
}

.tptnbanner img {
	vertical-align: top;
}

.tptnbanner a:before {
	background: rgba(0, 0, 0, 0.2);
	content: "";
	position: absolute;
	left: 50%;
	top: 0;
	width: 0;
	height: 100%;
	opacity: 0;
	-ms-filter: "progid: DXImageTransform.Microsoft.Alpha(Opacity=0)";
	filter: alpha(opacity=0);
	-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	transition: all 0.5s ease;
	-webkit-animation-duration: 0.5s;
	-moz-animation-duration: 0.5s;
	-o-animation-duration: 0.5s;
	animation-duration: 0.5s;
}

.tptnbanner a:hover:before {
	left: 0;
	width: 100%;
	opacity: 1;
	-ms-filter: "progid: DXImageTransform.Microsoft.Alpha(Opacity=1)";
	filter: alpha(opacity=100);
}

/*** Product Carousel ***/
.tptncarousel {
	position: relative;
}

.tptncarousel .owl-stage {
	position: relative;
	-ms-touch-action: pan-Y;
	-moz-backface-visibility: hidden;
	/* fix firefox animation glitch */
}

.tptncarousel .owl-stage:after {
	content: ".";
	display: block;
	clear: both;
	visibility: hidden;
	line-height: 0;
	height: 0;
}

.tptncarousel .owl-stage-outer {
	position: relative;
	overflow: hidden;
	/* fix for flashing background */
	-webkit-transform: translate3d(0px, 0px, 0px);
}

.tptncarousel .owl-wrapper,
.tptncarousel .owl-item {
	-webkit-backface-visibility: hidden;
	-moz-backface-visibility: hidden;
	-ms-backface-visibility: hidden;
}

.tptncarousel .owl-item {
	float: left;
	-webkit-backface-visibility: hidden;
	-webkit-tap-highlight-color: transparent;
	-webkit-touch-callout: none;
}

.tptncarousel .owl-nav.disabled,
.tptncarousel .owl-dots.disabled {
	display: none;
}

.tptncarousel .owl-loaded {
	display: block;
}

.tptncarousel .owl-loading {
	opacity: 0;
	display: block;
}

.tptncarousel .owl-hidden {
	opacity: 0;
}

.tptncarousel .owl-refresh .owl-item {
	visibility: hidden;
}

.tptncarousel .owl-drag .owl-item {
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.tptncarousel .owl-grab {
	cursor: move;
	cursor: grab;
}

.tptncarousel .owl-rtl {
	direction: rtl;
}

.tptncarousel .owl-rtl .owl-item {
	float: right;
}

.tptncarousel .owl-nav {
	position: absolute;
	top: 17px;
	right: 15px;
}

.tptncarousel .owl-nav div {
	cursor: pointer;
	float: left;
	font-family: "FontAwesome";
	font-size: 17px;
}

.tptncarousel .owl-nav div.disabled {
	color: #ccc;
	cursor: default;
}

.tptncarousel .owl-prev {
	margin: 0 10px 0 0;
}

.tptncarousel .owl-prev:before {
	content: "\f177";
}

.tptncarousel .owl-next:before {
	content: "\f178";
}

/* No Js */
.no-js .tptncarousel {
	display: block;
}

.tptnprods {
	border: 1px solid #e5e5e5;
	margin-top: 30px;
	overflow: hidden;
}

.tptnprods h4 {
	background: #f9f9f9;
	border-bottom: 1px solid #e5e5e5;
	font-size: 15px;
	padding: 15px 60px 15px 15px;
	text-transform: uppercase;
}

.language-selector ul li:nth-child(2) {
	background-color: #960223;
}

.language-selector ul li:nth-child(2) a {
	color: #FFF;
}

.language-selector ul li:nth-child(2):hover {
	background-color: #000;
}

.language-selector ul li:nth-child(2) a:hover {
	text-decoration: none;
}

.language-selector ul li.current {
	background-color: #FFF;
}

#custom-text {
	border: none;
}

#custom-text #fom_description p {
	font-family: "Montserrat", sans-serif;
	font-size: 14px!important;
    line-height: 1.5em!important;
	font-weight: 600;
}

.tptnprods h4 a:hover {
	color: #888;
	text-decoration: none;
}

.tptnprods .owl-item {
	border-right: 1px solid #e5e5e5;
}

.tptnprods .item {
	padding: 0 0 15px;
	text-align: center;
}

.tptnprods img {
	vertical-align: top;
}

.tptnprods .product-image-container {
	position: relative;
	border-bottom: 1px solid #e5e5e5;
}

.tptnprods .product_name {
	margin: 15px 5px 0;
}

.tptnprods .product_name a:hover {
	/*color: #888;*/
	text-decoration: none;
}

.tptnprods .content_price {
	font-size: 14px;
	margin: 10px 0 0;
}

.tptnprods .content_price span {
	margin: 0 2px;
}

.tptnprods .functional-buttons {
	position: absolute;
	-webkit-transition: all 0.5s;
	transition: all 0.5s;
	width: 100%;
}

.tptnprods .functional-buttons a,
.tptnprods .functional-buttons span {
	color: #fff;
	display: block;
	font-size: 16px;
	margin: 0 2px;
	text-decoration: none;
	height: 34px;
	line-height: 32px;
	width: 34px;
	-webkit-transition: background 0.5s;
	transition: background 0.5s;
}

.tptnprods .functional-buttons span {
	background: #ccc;
}

.tptnprods .functional-buttons a:hover {
	background: #333;
}

.tptnprods .functional-buttons div {
	display: inline-block;
}

.tptnprods .no-products {
	color: #888;
	font-size: 14px;
	margin: 0;
	padding: 15px;
}

/* Breadcrumb */
.breadcrumb {
	color: #888;
	margin: 0 0 5px;
}

.breadcrumb .navigation-pipe {
	margin: 0 5px;
}

.breadcrumb a {}

.breadcrumb a:hover {
	color: #888;
	text-decoration: none;
}

.breadcrumb ol li {
	margin-left: 0px !important;
}

nav.breadcrumb {
	margin-top: 20px;
}

/*** SortPagiBar Category page ***/
.content_sortPagiBar {
	margin: 0 0 30px;
}

.content_sortPagiBar .display {
	float: left;
	border: 1px solid #ddd;
}

.content_sortPagiBar .display li {
	float: left;
	border-right: 1px solid #ddd;
}

.content_sortPagiBar .display li:last-child {
	border-right: none;
}

.content_sortPagiBar .display li a {
	display: block;
	padding: 6px 12px;
	text-decoration: none;
	text-transform: uppercase;
}

.content_sortPagiBar .display li.selected a {
	background: #f5f5f5;
	cursor: default;
}

.content_sortPagiBar .display li a:hover {
	color: #888;
}

.content_sortPagiBar .sortPagiBar #productsSortForm {
	float: right;
	margin: 0 0 0 30px;
}

.content_sortPagiBar .sortPagiBar select {
	padding: 5px;
}

.content_sortPagiBar .nbrItemPage {
	float: right;
}

div.pagination {
	float: left;
	margin: 0 15px 0 0;
}

ul.pagination {
	border: 1px solid #ddd;
	float: left;
}

ul.pagination li {
	border-left: 1px solid #ddd;
	float: left;
}

ul.pagination li:first-child {
	border-left: none;
}

ul.pagination li>a,
ul.pagination li>span {
	display: block;
	text-align: center;
	text-decoration: none;
	height: 38px;
	line-height: 38px;
	width: 32px;
}

ul.pagination li.current span {
	background: #f5f5f5;
	color: red;
	font-weight: bold;
}

ul.pagination li a:hover {
	color: #888;
}

ul.pagination li i {
	font-size: 16px;
}

ul.pagination li.disabled span {
	color: #ccc;
	cursor: default;
}

.content_sortPagiBar .product-count {
	color: #888;
	float: left;
	margin: 12px 0 0;
}

.content_sortPagiBar .compare-form {
	float: right;
}

.content_sortPagiBar .instant_search,
.content_sortPagiBar .showall {
	display: none !important;
}

/*** Cart page ***/
ul#order_step {}

ul.step {
	margin: 0 0 30px;
	overflow: hidden;
}

ul.step li {
	background: #fff;
	float: left;
	padding: 12px 0;
	text-transform: uppercase;
	text-align: center;
}

ul.step li a,
ul.step li span {
	text-decoration: none;
}

ul.step li.step_done {
	background: #444;
}

ul.step li.step_current {
	background: #e4d04f;
	color: #333;
}

ul.step li.step_done a:hover {
	color: #777;
}

ul.step li.step_done a:after {
	color: #41ae53;
	content: "\f00c";
	display: inline-block;
	font-family: "FontAwesome";
	margin-left: 5px;
}

ul.step li.step_todo span {
	color: #aaa;
}

.cart_last_product {
	display: none;
}

#order-detail-content {
	margin-bottom: 30px;
}

table#cart_summary th.cart_product {
	text-align: center;
}

.cart_quantity .cart_quantity_input {
	text-align: center;
}

.cart_quantity .cart_quantity_button {
	margin: 5px 0 0;
}

.cart_quantity .cart_quantity_button .btn {
	font-size: 12px;
	color: #999;
	margin: 0 4px;
}

.cart_quantity .cart_quantity_button .btn:hover {
	color: #333;
}

table#cart_summary_total {
	float: right;
}

table#cart_summary_total td {
	text-align: left;
}

table#cart_summary_total .price {
	text-align: center;
}

.cart_voucher {
	border: 1px solid #444;
	float: left;
}

.cart_voucher .voucher_box {
	padding: 15px;
	overflow: hidden;
}

.cart_voucher h4 {
	border-bottom: 1px solid #444;
	padding: 12px 15px;
	text-transform: uppercase;
}

.cart_voucher #display_cart_vouchers {
	clear: both;
	line-height: 16px;
	color: #666;
	font-weight: normal;
	border-top: 1px dotted #ccc;
}

.cart_voucher #display_cart_vouchers .title_offers {
	margin-top: 10px;
}

.cart_voucher #display_cart_vouchers span {}

.cart_voucher .discount_name {
	float: left;
}

.cart_voucher .button {
	float: left;
	padding: 0 10px;
	height: 32px;
}

#cart_summary .price {
	font-weight: normal;
	font-size: 13px;
	border-right: none;
	color: #fff;
}

#cart_summary .price-percent-reduction {
	display: none;
}

.total_price_container p {
	text-align: left;
}

table#cart_summary .cart_total_price .total_price_container {
	padding: 0;
}

.cart_total_price .total_price_container p {
	display: block;
	padding: 8px;
	color: #fff;
	text-transform: uppercase;
	background: #333;
}

.cart_total_price span {
	font-size: 15px;
	font-weight: bold;
}

.cart_navigation {
	margin: 30px 0 0;
	overflow: hidden;
}

.cart_navigation .standard-checkout {
	float: right;
}

.order_carrier_content .carrier_title {
	font-size: 16px;
}

.order_carrier_content p.checkbox {
	margin: 0;
}

.order_carrier_content a.iframe {
	text-decoration: underline;
}

.order_carrier_content a.iframe:hover {
	color: #888;
}

#ordermsg {
	margin: 20px 0 0;
}

#order .delivery_option>div>table.resume,
#order-opc .delivery_option>div>table.resume {
	height: 50px;
}

#order .delivery_option>div>table.resume.delivery_option_carrier td,
#order-opc .delivery_option>div>table.resume.delivery_option_carrier td {
	padding: 8px 11px 7px 11px;
}

#order .delivery_option>div>table.resume td.delivery_option_radio,
#order-opc .delivery_option>div>table.resume td.delivery_option_radio {
	width: 20px;
}

#order .delivery_option>div>table.resume td.delivery_option_logo,
#order-opc .delivery_option>div>table.resume td.delivery_option_logo {
	width: 100px;
}

#order .delivery_option>div>table.resume td.delivery_option_price,
#order-opc .delivery_option>div>table.resume td.delivery_option_price {
	width: 160px;
}

#HOOK_SHOPPING_CART #loyalty {
	margin: 0 0 20px;
}

.payment_module {
	margin: 0 0 20px;
	overflow: hidden;
}

.payment_module:last-child {
	margin: 0;
}

p.payment_module a {
	/* border: 1px solid #e5e5e5; */
	font-size: 14px;
	padding: 15px;
	display: block;
	text-decoration: none;
}

.payment_module img {
	display: inline-block;
	margin-right: 10px;
	vertical-align: middle;
}

/** 404 page **/
.pagenotfound .buttons {
	margin: 20px 0 0;
}

/*** General ***/
.unvisible,
.not-displayable,
.hide,
.block_hidden_only_for_screen {
	display: none;
}

.hidden {
	display: none !important;
}

.product-name a,
.product-name {}

.price {}

.old-price {
	color: #aaa;
	text-decoration: line-through;
}

/* Vista de producto */
#product .product-container .images-container .product-cover {
	border: none;
}

#product .product-container .images-container .product-cover .layer{
	/*display: none!important;*/
}
.cart-product-format {
	font-size: 13px;
    font-weight: 700 !important;
    text-transform: uppercase;
	margin: 5px 10px 15px 0px;
    background-color: #333333;
    color: #ffffff;
    padding: 3px 10px;
    display: inline-block;
}
#product .images-container .product-images .thumb-container,
#product .product-flags,
#product .product-prices .tax-shipping-delivery-label {
	display: none;
}
#product #content .product-cover .tptncarousel {
	margin-top: 0!important;
}
#product #main #content {
	padding-top: 0!important;
}
#product #content-wrapper .product-container .product-description {
	margin-top: 0;
}
#product .modal .modal-dialog {
	max-width: 810px;
}
#product .modal .modal-dialog .modal-body {
	padding: 20px;
	background-color: #fff;
}
#product .modal .image-caption {
	background: none!important;
	border-top: none!important;
	margin-top: -5px!important;
	border-radius: 0!important;
	text-align: center;
}
#product #thumbnails .product-images {
	margin-left: 20px!important;
}
#product-modal .modal-content .modal-body {
	margin-left: 0px;
}
.pele-related-products {
	background-color: transparent;
	padding: 0;
}
.pele-product-name {
	margin-bottom: 0;
}
.pele-product-name a, 
.pele-product-name a:hover {
	color: #FFF;
	text-transform: uppercase;
	font-size: 12px;
	font-weight: 700;
	text-decoration: none;
}
.pele-products-carousel {
	grid-template-columns: repeat(4, 1fr);
}
.pele-product-item {
	background-color: transparent;
	border: none;
	border-radius: 0;
}
.pele-product-item:hover {
	background-color: rgba(255,0,0,0.2);
	border-radius: 5px;
}
.pele-product-feature {
	display: inline-block;
	margin: 10px auto;
	font-size: 10px !important;
	color: #aaa;
	font-weight: 400 !important;
	background-color: #000;
	box-sizing: border-box;
	padding: 2px 5px;
	width: fit-content;
}
.pele-product-image-container {
	background-color: transparent;
	border-radius: 0;
}
.pele-related-products h4 {
	text-transform: uppercase;
	color: red;
	background-color: rgba(200,0,0,0.2) !important;
	font-size: 16px;
	font-weight: 600;
	box-shadow: 0 2px 8px #000;
	font-family: 'Special Elite', cursive;
	padding: 15px 60px 15px 15px;
}
.pele-related-products h4 strong {
	color: red;
}
.pele-product-price-container {
	position: relative;
}
.pele-product-price {
	position: absolute;
	text-align: center;
	border: none;
	left: 50%;
	transform: translate(-50%, -50%)!important;
}
.pele-product-price .pele-price-value {
	color: #111 !important;
	background-color: #FFF;
	font-size: 14px !important;
	font-weight: 700 !important;
	padding: 3px 10px !important;
}
#same_category_products .product_list {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}
#same_category_products .wishlist-button-add {
	display: none!important;
}
#same_category_products .product-title a:hover {
	color: #FFF!important;
	text-decoration: none!important;
}
#same_category_products .product-description h2 {
	margin-bottom: 5px;
}
#same_category_products .product-features {
	padding: 2px 5px;
	text-transform: uppercase;
    letter-spacing: -1px;
    font-size: 10px !important;
    color: #aaa;
    font-weight: 400 !important;
    background-color: #000;
    box-sizing: border-box;
	width: fit-content;
	margin: 10px auto;
}
#same_category_products .product-miniature .thumbnail-container {
	padding: 0!important;
}
#same_category_products .custom-product-desc {
	min-height: 29px;
}
#product .social-sharing {
	margin-top: 30px;
}
#product .social-sharing li {
	width: 32px;
	height: 32px;
	background-color: transparent;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
#product .product-actions {
	border-bottom: none!important;
	padding-bottom: 0px!important;
}
#product .product-additional-info {
	margin-bottom: 20px;
}
#product .social-sharing span:first-child {
	font-weight: 700;
}
#product .social-sharing li a {
	text-indent: 0!important;
}
#product .social-sharing a i {
	background: none;
    border: 1px solid #ccc;
    color: #999;
    font-size: 18px;
    height: 32px;
    padding: 0;
    width: 32px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
}
#product .social-sharing a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
}
#product .social-sharing .sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
}
#product .product-add-to-cart .product-quantity .add {
	margin-left: 0;
}
#product .custom-product-list:hover {
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    border-color: #0066cc;
	background-color: rgba(255, 0, 0, 0.2);
    border-radius: 5px;
	padding: 5px;
}
#product .qty {
	display: none!important;
}
#product .custom-qty-display {
	border: 1px solid rgb(189, 194, 201);
	padding: 5px;
	display: inline-block;
    margin: 0 5px 0 0;
    text-align: center;
    width: 50px;
}
#product .custom-qty-decrease,
#product .custom-qty-increase {
	color: #999;
    display: inline-block;
    font-size: 12px;
    margin: 0 5px 0 0;
    text-decoration: none;
	cursor: pointer;
}
#product .add {
	margin-left: -15px!important;
}
#product .add-to-cart {
	font-size: 14px;
	padding: 10px 15px!important;
}
#product #wishlist-button {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
}
#product .wishlist-button-add {
	background: none;
    padding: 0;
    width: 18px;
    height: 18px;
    margin-right: 5px;
}
#product .wishlist-button-add i {
	color: #FFF;
}
#product .wishlist-add-to .modal-title {
	text-transform: uppercase;
    color: red;
    font-size: 16px;
    font-weight: 600;
    font-family: 'Special Elite', cursive;
}
#product .wishlist-add-to .modal-content, 
.wishlist-create .modal .modal-content {
	background-color: rgba(20, 0, 0, 0.95);
    background-image: url(../img/shop-background-red-seamless-dark-red-920.jpg);
    background-size: cover;
    background-repeat: repeat;
}
#product .wishlist-add-to .wishlist-list-item p,
.wishlist-create .modal .modal-content input[type="text"] {
	color: #FFF;
}
#product .wishlist-add-to .modal-footer .wishlist-add-to-new,
#product .wishlist-add-to .modal-footer .wishlist-add-to-new:hover,
#product .wishlist-add-to .modal-footer .wishlist-add-to-new i {
	color: #EC5D65!important;
	text-decoration: none!important;
}
#product .wishlist-add-to .wishlist-list {
	border: none!important;
}
#product .wishlist-add-to .wishlist-list .wishlist-list-item:hover {
	background: rgba(0, 0, 0, 0.2);
}
.new-box,
.sale-box {
	color: #fff;
	font-size: 13px;
	padding: 3px 8px;
	cursor: default;
	position: absolute;
	top: 10px;
	z-index: 100;
}

.new-box {
	left: 10px;
}

.sale-box {
	right: 10px;
}

.rating {
	clear: both;
	display: block;
	margin: 2em;
	cursor: pointer;
}

.rating:after {
	content: ".";
	display: block;
	height: 0;
	width: 0;
	clear: both;
	visibility: hidden;
}

.cancel {
	float: left;
}

/* ===================================================
   HEADER MOBILE PERSONALIZADO
   =================================================== */

@media (max-width: 1199px) {
    /* Ocultar solo el header desktop principal, mantener nav superior */
    .header-top.hidden-lg-down {
        display: none !important;
    }
    
    /* Mantener visible la barra de navegación superior */
    .header-nav {
        display: block !important;
    }

    /* Contenedor de logo móvil reorganizado con grid */
    .mobile-header-top {
        display: grid !important;
        grid-template-columns: 50px 1fr 50px;
        align-items: center;
        gap: 10px;
        padding: 12px 15px 0 15px!important;
    }

    /* Botón hamburguesa personalizado */
    #mobile-custom-menu-btn, #myaccount-btn a.btn-primary {
        width: 50px;
        height: 35px;
        background: #8B0000;
        border: none;
        border-radius: 4px;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        color: #fff;
        font-size: 24px;
        transition: background 0.3s;
    }

	#myaccount-btn a.btn-primary {
		font-size: 14px!important;
		border: 1px solid #222;
		background-color: rgba(86, 0, 0, 1);
        border-radius: 5px;
	}

	#myaccount-dropdown a {
		font-size: 14px;
		padding: 10px;
		display: block;
	}

	#myaccount-dropdown a:hover,
	#myaccount-dropdown a:active,
	#myaccount-dropdown a:focus {
		color: #FFF;
		text-decoration: none;
	}

	#myaccount-dropdown a i {
		margin-right: 10px;
	}

	#myaccount-dropdown {
		display: none;
		margin-top: -3px;
		position: absolute;
		max-width: 300px;
		width: 300px;
		background: rgba(86, 0, 0, 1);;
		right: 0px;
		z-index: 1;
	}

    #mobile-custom-menu-btn:hover {
        background: #a00000;
    }

    /* Logo centrado */
    .mobile-header-top .shop-logo {
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .mobile-header-top .shop-logo img {
        max-height: 80px;
        width: auto;
    }

    /* Botón carrito personalizado */
    #mobile-custom-cart-btn {
        width: 50px;
        height: 35px;
        background: #8B0000;
        border: none;
        border-radius: 4px;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        color: #fff;
        font-size: 22px;
        position: relative;
        transition: background 0.3s;
    }

    #mobile-custom-cart-btn:hover {
        background: #a00000;
    }

    #mobile-custom-cart-count {
        position: absolute;
        top: 2px;
        right: 2px;
        background: #fff;
        color: #8B0000;
        font-size: 11px;
        font-weight: bold;
        padding: 2px 5px;
        border-radius: 10px;
        min-width: 18px;
        text-align: center;
        display: none;
    }

	#header .tptncart .minicart-body .minicart-title .minicart-close {
		color: #FFF;
		display: inline-block;
		width: 32px;
		height: 32px;
		margin-top: 10px;
        margin-right: 20px;
	}

    /* Barra de búsqueda visible */
    .mobile-header-search {
        padding: 0 15px 15px 15px;
    }

    .mobile-header-search #_mobile_tptnsearch {
        width: 100%;
    }

	.minicart-body .no-items {
		max-width: 284px;
		color: #FFF;
	}

	.minicart-body .no-items .minicart-title {
		color: #FFF;
	}

    /* Ocultar visualmente solo los toggles originales pero mantenerlos funcionales */
    .mobile-header-bottom {
        position: fixed;
        left: -9999px;
        top: 0;
        pointer-events: none;
        z-index: 1;
    }

    /* IMPORTANTE: Los botones originales deben poder recibir clicks */
    .mobile-header-bottom #_mobile_tptnmobilemenu .m-toggle,
    .mobile-header-bottom #_mobile_blockcart-wrapper .blockcart .m-toggle {
        pointer-events: auto;
    }

    /* Ocultar solo el botón toggle, no todo el contenedor */
    .mobile-header-bottom #_mobile_tptnmobilemenu .m-toggle,
    .mobile-header-bottom #_mobile_blockcart-wrapper .blockcart .m-toggle {
        opacity: 0;
        width: 1px;
        height: 1px;
    }

    /* Panel lateral del menú - FORZAR posición correcta */
    .mobile-header-bottom #_mobile_tptnmobilemenu {
        position: static !important;
        pointer-events: auto !important;
    }

    /* Panel de menú - FORZAR por encima de todo con máxima especificidad */
    body #_mobile_tptnmobilemenu .mobile-menu,
    body .tptnmobilemenu .mobile-menu,
    #_mobile_tptnmobilemenu .mobile-menu {
        position: fixed !important;
        top: 0 !important;
        left: -320px !important;
        bottom: 0 !important;
        width: 320px !important;
        background-color: rgba(45, 0, 0, 1) !important;
        z-index: 999999 !important;
        transition: left 0.3s ease !important;
        overflow-y: auto !important;
        pointer-events: auto !important;
        box-shadow: 2px 0 8px rgba(0, 0, 0, 0.3) !important;
    }

	body #_mobile_tptnmobilemenu .mobile-menu a {
		color: #FFF;
		text-transform: uppercase;
		font-weight: 600;
	}

    body #_mobile_tptnmobilemenu .mobile-menu.menu-show,
    #_mobile_tptnmobilemenu .mobile-menu.menu-show {
        left: 0 !important;
    }

    /* Estilos del panel de menú móvil */
    #_mobile_tptnmobilemenu .mobile-menu-title {
        background: #8B0000;
        color: #fff;
        padding: 15px;
        display: flex;
        align-items: center;
        gap: 10px;
    }

    #_mobile_tptnmobilemenu .mobile-menu-title .material-icons {
        font-size: 24px;
    }

    #_mobile_tptnmobilemenu .mobile-menu-close {
        margin-left: auto;
        cursor: pointer;
    }

    /* Panel del carrito - FORZAR posición correcta */
    .mobile-header-bottom #_mobile_blockcart-wrapper {
        position: static !important;
        pointer-events: auto !important;
    }

    .mobile-header-bottom #_mobile_blockcart-wrapper .blockcart {
        position: static !important;
        pointer-events: auto !important;
    }

    /* Panel de carrito - FORZAR por encima de todo con máxima especificidad */
    body #_mobile_blockcart-wrapper .blockcart .minicart-body,
    body .tptncart .minicart-body,
    #_mobile_blockcart-wrapper .blockcart .minicart-body {
        position: fixed !important;
        top: 0 !important;
        right: -320px !important;
        bottom: 0 !important;
        width: 320px !important;
        background: rgba(45, 0, 0, 1) !important;
        z-index: 2 !important;
        transition: right 0.3s ease !important;
        overflow-y: auto !important;
        pointer-events: auto !important;
        display: block !important;
        box-shadow: -2px 0 8px rgba(0, 0, 0, 0.3) !important;
    }

    /* Mostrar minicart cuando tiene la clase minicart-show (como hace el tema) */
    body #_mobile_blockcart-wrapper .blockcart.minicart-show .minicart-body,
    #_mobile_blockcart-wrapper .blockcart.minicart-show .minicart-body {
        right: 0 !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    /* Estilos del minicart */
    #_mobile_blockcart-wrapper .minicart-title {
        background: #8B0000;
        color: #fff;
        padding: 15px;
        font-weight: bold;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    #_mobile_blockcart-wrapper .minicart-title .material-icons {
        cursor: pointer;
    }

    body .tptn-overlay,
    body .tptn-overlay.tptnmobilemenu-overlay,
    body .tptn-overlay.tptncart-overlay,
    .mobile-header .tptn-overlay {
        z-index: 0 !important;
        background: rgba(0, 0, 0, 0.7) !important;
    }

	#tptndesktopmenu .dtmenu .dtmenu-list li[data-depth="0"]:hover .level-1, .tptnmobilemenu ul ul {
		background-color: rgba(45, 0, 0, 1) !important;
		padding-left: 15px;
	}

    /* Enlaces del menú móvil */
    #_mobile_tptnmobilemenu .mobile-menu a {
        color: #333;
        text-decoration: none;
        display: block;
        padding: 5px 15px;
		font-weight: 700!important;
    }

	.tptnsearch form input[type=text]::placeholder {
		color: #CCC;
	}

	#header-mailorder-top {
		width: 100%;
		padding: 0 15px;
		margin-bottom: 10px;
	}

    /* Contenido del minicart */
    #_mobile_blockcart-wrapper .minicart-body .no-items {
        padding: 20px;
        text-align: center;
        color: #FFF;
    }

    #_mobile_blockcart-wrapper .minicart-body .cart-items {
        padding: 15px;
    }
}

/* Estilos para minicart-title con X de cierre */
.minicart-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.minicart-title i.minicart-close {
    cursor: pointer;
    transition: color 0.3s;
    user-select: none;
}

.minicart-title i.minicart-close:hover {
    color: #888;
}

.star {
	margin: 0 1px 0 0;
	width: 16px;
	height: 16px;
	cursor: pointer;
}

.cancel,
.cancel a {
	background: url(../img/custom/delete.gif) no-repeat 0 -16px !important;
}

.cancel a,
.star a {
	display: block;
	background-position: 0 0;
}

div.star_on a {
	background-position: 0 -16px;
}

div.star_hover a,
div.star a:hover {
	background-position: 0 -32px;
}

.star {
	display: inline-block;
	font-size: 16px;
	font-weight: normal;
}

.star a {
	display: block;
	position: absolute;
	text-indent: -5000px;
}

div.star:after {
	content: "\f006";
	font-family: "FontAwesome";
	display: inline-block;
	color: #ddd;
}

div.star.star_on:after,
div.star.star_hover:after {
	content: "\f005";
	color: #ffd200;
}

.alert-info,
.alert-warning,
.warning,
.alert-success,
.success,
.alert-danger,
.danger {
	margin: 10px 0;
	padding: 15px 10px 15px 45px;
	position: relative;
}

.alert-info,
.alert-warning,
.warning {
	background: #550305;
	color: #fff;
}

.alert-success,
.success {
	background: #e1f2e4;
	color: #41ae53;
}

.alert-danger,
.danger {
	background: #550305;
	color: #fff;
	font-size: 13px;
	line-height: 20px;
}

.alert-info:before,
.alert-warning:before,
.warning:before,
.alert-success:before,
.success:before,
.alert-danger:before,
.danger:before {
	font-family: "FontAwesome";
	font-size: 20px;
	position: absolute;
	left: 15px;
	top: 14px;
}

.alert-info:before,
.alert-warning:before,
.warning:before {
	content: "\f05a";
}

.alert-success:before,
.success:before {
	content: "\f058";
}

.alert-danger:before,
.danger:before {
	content: "\f071";
}

.mansup-container {
	border: 1px solid #e5e5e5;
	text-align: center;
	margin-bottom: 30px;
}

.mansup-container:hover {
	border: 1px solid #ccc;
}

ul.footer_links {
	overflow: hidden;
	margin: 30px 0 0;
}

.popover {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1010;
	display: none;
	max-width: 276px;
	padding: 1px;
	text-align: left;
	background-color: #fff;
	background-clip: padding-box;
	border: 1px solid #ccc;
	border: 1px solid rgba(0, 0, 0, 0.2);
	border-radius: 6px;
	-webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
	box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
	white-space: normal;
}

.popover.top {
	margin-top: -10px;
}

.popover.right {
	margin-left: 10px;
}

.popover.bottom {
	margin-top: 10px;
}

.popover.left {
	margin-left: -10px;
}

.popover-title {
	margin: 0;
	padding: 8px 14px;
	font-size: 13px;
	font-weight: normal;
	line-height: 18px;
	background-color: #f7f7f7;
	border-bottom: 1px solid #ebebeb;
	border-radius: 5px 5px 0 0;
}

.popover-content {
	padding: 9px 14px;
}

.popover .arrow,
.popover .arrow:after {
	position: absolute;
	display: block;
	width: 0;
	height: 0;
	border-color: transparent;
	border-style: solid;
}

.popover .arrow {
	border-width: 11px;
}

.popover .arrow:after {
	border-width: 10px;
	content: "";
}

.popover.bottom .arrow {
	left: 50%;
	margin-left: -11px;
	border-top-width: 0;
	border-bottom-color: #999;
	border-bottom-color: rgba(0, 0, 0, 0.25);
	top: -11px;
}

.popover.bottom .arrow:after {
	content: " ";
	top: 1px;
	margin-left: -10px;
	border-top-width: 0;
	border-bottom-color: #fff;
}

/** Text Editor **/
.rte h2 {
	font-size: 20px;
}

.rte h3 {
	font-size: 18px;
}

.rte h4 {
	font-size: 16px;
}

.rte h5 {
	font-size: 14px;
}

.rte h6 {
	font-size: 12px;
}

.rte h2,
.rte h3,
.rte h4,
.rte h5,
.rte h6 {
	font-weight: 700;
	margin: 0 0 15px;
}

.rte p {
	color: #888;
}

.rte ul {
	list-style: disc inside none;
}

.rte .cms-box {
	margin: 0 0 30px;
}

.rte iframe {
	max-width: 100%;
	margin: 10px 10px 0 0;
}

/* SimpTip v1.0.2
// A simple CSS tooltip made with Sass
// source: https://github.com/arashmanteghi/simptip/
// ducoment: http://arashm.net/lab/simptip/
// by @ArashManteghi - http://arashm.net */

.simptip {
	position: relative;
	display: inline-block;
}

.simptip:before,
.simptip:after {
	position: absolute;
	visibility: hidden;
	opacity: 0;
	z-index: 1;
	left: 50%;
	bottom: 100%;
	-webkit-transform: translateX(-50%);
	-moz-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	-o-transform: translateX(-50%);
	transform: translateX(-50%);
	-webkit-transition: all 0.1s linear;
	-moz-transition: all 0.1s linear;
	-o-transition: all 0.1s linear;
	-ms-transition: all 0.1s linear;
	transition: all 0.1s linear;
}

.simptip:before {
	content: "";
	border-color: #333333 transparent transparent;
	border-style: solid;
	border-width: 6px;
	margin-bottom: -15px;
}

.simptip:after {
	background-color: #333;
	-webkit-border-radius: 3px;
	border-radius: 3px;
	color: #fff;
	font-size: 13px;
	line-height: 30px;
	margin-bottom: -3px;
	padding: 0 10px;
	content: attr(data-tooltip);
	white-space: nowrap;
	width: auto;
}

.simptip:hover:before,
.simptip:hover:after {
	opacity: 1;
	visibility: visible;
	-webkit-transform: translate(-50%, -10px);
	-moz-transform: translate(-50%, -10px);
	-ms-transform: translate(-50%, -10px);
	-o-transform: translate(-50%, -10px);
	transform: translate(-50%, -10px);
}

/*
   -----------------------------------------------------------------------------------
   SELFMADEGOD THEME

   Pesronalización CSS para la tienda XtreenShop haciendo override del CSS principal

   (c) juancarloscruz.es (2018)
   -----------------------------------------------------------------------------------
*/

.hidden {
	display: none;
}

.block {
	display: block;
}

.spacer-10 {
	display: block;
	height: 10px;
}

.tptnprods .product-image-container {
	border: 1px solid #eee !important;
	position: relative;
	border-bottom: 0px !important;
	box-shadow: 0 2px 10px #ddd;
	transition: 0.3s;
}

.tptnprods .product-image-container:hover {
	box-shadow: 0 6px 10px #ccc;
}

.dwp-cart-summary__lines strong {
    font-weight: bold !important;
}

#header #top-categ {}

#header #top-categ span {
	background-color: #760606;
}

#header-row {
	border-bottom-color: #000 !important;
	box-shadow: 0 0 5px #000;
}

#header_logo {
	margin-top: -10px;
}

#tptnheaderlinks a:hover {
	background-color: #eee;
	color: #760606;
}

.tptnbanner li {
	margin-top: 20px;
	margin-bottom: 10px;
}

.shopping_cart {
	background-color: #760606 !important;
}

.shopping_cart a:hover {
	/*background-color: #eee !important;*/
	color: #760606 !important;
}

.tptncarousel {
	margin-top: 10px;
}

.tptncarousel .owl-item {
	padding: 20px 12px 0 12px;
	border-right: 0px;
}

.tptnprods h4 {
	background: #000;
	font-size: 15px;
	padding: 15px 60px 15px 15px;
	text-transform: uppercase;
	color: #fff;
}

.tptnprods h4 a,
.tptnprods h4 {
	color: #fff;
	font-family: "Special Elite", cursive;
	font-size: 18px;
	color: red;
}

.tptncarousel .owl-nav {
	color: #fff;
}

.tptncarousel .owl-nav div.disabled {
	color: #666;
}

h5.product_name {
	margin-top: 10px;
}

a.product-name {
	color: #111 !important;
	font-weight: 700;
	overflow: hidden;
	overflow-wrap: break-word;
}

a.product-name span {
	font-weight: 500;
	font-size: 11px;
	/*text-overflow: all;*/
	white-space: normal;
}

.content_price {
	position: absolute;
	/*top: 245px;*/
	bottom: 20px;
	display: block;
	text-align: center;
	width: 100%;
}

.content_price .product-price {
	padding: 3px 10px 3px 10px;
	text-align: center;
	background-color: #000;
	color: #fff !important;
	font-weight: 500;
	font-size: 14px;
	border: 1px solid white;
}

.price {
	font-weight: 700;
	font-size: 14px;
	font-weight: normal;
}

.tptnprods .item {
	padding-bottom: 0px;
}

.tptncarousel .owl-item {
	padding-top: 0;
}

.ajax_block_product {
	padding-bottom: 30px !important;
	height: 304px !important;
}

.tptnprods .owl-stage {
	padding-top: 20px;
}

.footer-block h4 {
	font-weight: 600;
}

.toggle-footer a,
.toggle-footer li {
	color: #ec5d65;
}

.new-box {
	background-color: #000 !important;
	color: #fff;
	border-radius: 16px;
}

.pb-left-column {
	margin-top: 10px !important;
	width: 350px !important;
}

.pb-right-column {
	margin-top: 10px !important;
}

.pb-right-column h1 {
	font-weight: 700 !important;
}

.pb-right-column .our_price_display {
	font-size: 14px;
}

.our_price_display span {
	font-size: 24px;
}

/* -------------------------------- */
/* Desplegable carrito de la compra */
/* -------------------------------- */
#header .tptncart.minicart-show .minicart-body {
	background-image:url('../img/shop-background-red-seamless-dark-red-920.jpg');
	background-repeat: repeat-y;
	background-position: right;
}

#header .tptncart .minicart-body .cart-totals {
	background: transparent!important;
}

#header .tptncart .minicart-body .cart-subtotals {
	padding: 15px;
}

#header .tptncart .minicart-body .cart-subtotals {
	font-weight: 600!important;
	font-size: 13px;
}

#header .tptncart .minicart-body .product-title a {
	color: #FFF;
	font-weight: 700!important;
}

#header .tptncart .minicart-body .material-icons {
	color: #FF0000;
}

#header .tptncart .minicart-body .product-price {
	font-weight: 700;
}

#header .tptncart .minicart-body .cart-subtotals .products, 
#header .tptncart .minicart-body .cart-subtotals .shipping,
#header .tptncart .minicart-body .cart-subtotals .tax,
#header .tptncart .minicart-body .cart-subtotals .cart-total {
	display: flex;
    flex-direction: row;
    justify-content: space-between;
	margin-bottom: 5px;
}

#header .tptncart .minicart-body li {
	border-bottom: solid 1px #000;
}

#header .tptncart .minicart-body .minicart-left, 
#header .tptncart .minicart-body .cart-action {
	border: none;
}

#header .tptncart .minicart-body .cart-action .btn-primary {
	font-weight: 700;
}

/* -------------------------------- */
/* Página de Categorías de Producto */
/* -------------------------------- */

#subcategories {
	margin-bottom: 20px;
}

#subcategories li {
	margin-bottom: 10px !important;
}

#subcategories h5 {
	background-color: #111 !important;
}

#subcategories .subcategory-name {
	font-size: 11px !important;
	color: #fff !important;
}

#subcategories .subcategory-name:hover {
	color: #c00 !important;
}

.item-content,
.item-content .right-block {
	border: 0px !important;
	padding-top: 0px !important;
}

.product_list.list .right-block {
	padding-left: 0px;
}

.product_list.grid .content_price {
	bottom: 10px !important;
}

.product_list.list .content_price {
	position: relative !important;
	margin-top: 30px !important;
	text-align: left !important;
}

.product_list.list .left-block {
	padding-right: 0px !important;
}

.product_list.list .new-box {
	left: 45px !important;
	top: 5px !important;
}

.product_list.list .sale-box {
	top: 5px !important;
	right: 45px !important;
}

.product_list.list .ajax_block_product {
	height: auto !important;
	padding-bottom: 0 !important;
}

.right-block .content_price {
	right: 0;
	left: 0;
}

.product_row_description {
	font-size: 13px;
	font-weight: 500;
}

ul.product_list.grid .item {
	margin-bottom: 10px !important;
}

/* -------------------------------- */
/* Tags de Producto                 */
/* -------------------------------- */

.product_tags {
	margin-top: 10px;
	display: block;
}

.product_tags .product_tag {
	display: inline-block;
	background-color: #f0f0f0;
	color: #333333;
	margin-bottom: 3px;
}

.product_tag a {
	display: block;
	font-size: 8px;
	text-decoration: none;
	text-transform: uppercase;
	padding: 4px 10px;
}

.product_tag a:hover {
	color: #ffffff !important;
}

.product_tag:hover {
	background-color: #000000;
}

/* -------------------------------- */
/* Vista previa del producto        */
/* -------------------------------- */

.primary_block .page-heading {
	margin-bottom: 0px !important;
}

#short_description_content p {
	color: #111 !important;
	font-size: 12px !important;
}

/* -------------------------------- */
/* Bloque de productos similares    */
/* -------------------------------- */

.item.similar {
	position: relative;
	min-height: 295px !important;
	height: 295px !important;
}

.item.similar span.price {
	background-color: #fff !important;
	color: #111 !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	padding: 3px 10px !important;
}

/* --------------------------------- */
/* Bloque de Novedades en el Sidebar */
/* --------------------------------- */

#new-products_block_right .product-name {
	font-size: 12px !important;
	margin-bottom: 0 !important;
}

#new-products_block_right .price {
	color: #111 !important;
	font-size: 14px !important;
	font-weight: 700 !important;
}

#new-products_block_right .new-product-shortname,
#new-products_block_right p {
	font-size: 10px;
	margin-bottom: 5px !important;
}

/* --------------------------------- */

.item-content .product-image-container img {
	border: 1px solid #eeeeee;
	box-shadow: 0 2px 10px #ddd;
}

.product_zoom_description {
	margin-top: 10px !important;
}

#short_description_content {
	font-size: 16px;
	text-transform: uppercase;
	margin-top: 3px;
	margin-bottom: 6px;
}

.row.grid h5.product_name {
	margin-top: 2px !important;
}

.row.list a.product-name {
	font-size: 16px;
	font-weight: 700;
}

.row.grid a.product-name {
	font-size: 14px;
	font-weight: 700;
	letter-spacing: -1px;
	line-height: 14px;
}

.row.grid br {
	line-height: 5px;
}

.row.list .short_description_content {
	font-size: 14px;
	text-transform: uppercase;
	margin-top: 3px;
	margin-bottom: 6px;
}

.row.grid .short_description_content {
	font-size: 12px !important;
	text-transform: uppercase;
	letter-spacing: -1px;
}

.row.list .product_feature {
	font-size: 13px;
	font-weight: 600 !important;
	text-transform: uppercase;
	margin-bottom: 15px;
	background-color: #333333;
	color: #ffffff;
	padding: 3px 10px;
	display: inline-block;
}

.primary_block.row .product_feature {
	font-size: 13px;
	font-weight: 600 !important;
	text-transform: uppercase;
	margin-bottom: 15px;
	background-color: #333333;
	color: #ffffff;
	padding: 3px 10px;
	display: inline-block;
}

.primary_block.row .label_feature {
	font-size: 13px;
	font-weight: 700 !important;
	text-transform: uppercase;
	margin-bottom: 15px;
	background-color: #db0000;
	color: #ffffff;
	padding: 3px 10px;
	display: inline-block;
}

.row.grid .product_feature {
	font-size: 11px;
	font-weight: 500 !important;
	text-transform: uppercase;
	margin-bottom: 15px;
}

.item.similar .product_name {
	font-weight: 700 !important;
	text-transform: uppercase;
	letter-spacing: -1px;
	margin-top: 7px !important;
	line-height: 14px;
}

.item.similar .title {
	letter-spacing: -1px;
	font-weight: 600;
	font-size: 12px;
	text-transform: uppercase;
}

.item.similar .feature {
	padding: 2px 5px;
	font-weight: 500;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: -1px;
}

.item.similar .content_price {
	bottom: 10px !important;
}

.product-feature-block {
	margin-top: 15px;
	margin-bottom: 15px;
}

.product-feature-table {
	font-size: 12px !important;
	font-weight: 600;
	text-transform: uppercase;
	min-width: 350px;
}

.product-feature-table .row.value {
	font-weight: 600;
}

.product-thumbs-flex {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-start;
	padding: 10px;
}

.product-thumbs-flex li {
	list-style-type: none;
	padding: 5px 10px 0 0 !important;
}

#thumbs_list {
	margin-top: 0;
}

.owl-item,
.product_list.grid.row .item {
	padding-top: 10px !important;
	padding-bottom: 10px !important;
	border: 1px solid #ffffff !important;
	transition: 0.3s;
}

.product_list.row.list .item {
	padding-top: 20px !important;
	padding-bottom: 10px !important;
	border: 1px solid #ffffff !important;
	transition: 0.3s;
}

.owl-item:hover,
.product_list.grid.row .item:hover {
	background-color: #f4f4f4;
	border-radius: 5px;
}

.product_list.row.list .item:hover {
	background-color: #f4f4f4;
	border-radius: 10px;
}

.ac_results li {
	font-size: 12px !important;
	letter-spacing: -1px;
}

span.availability {
	display: inline-block !important;
	background-color: #f0f0f0;
	font-size: 10px;
	padding: 3px 5px;
	margin-top: 0 !important;
}

span.label-success {
	color: #fff !important;
}

.price.product-price {
	background-color: #ffffff;
	color: #333333 !important;
	font-weight: 700;
	padding: 4px 10px;
}

.cat-name {
	font-weight: 700;
}

.blocknewproducts,
.blockbestsellers {
	margin-left: 0px !important;
	margin-right: 0px !important;
}

.blocknewproducts .product-image-container,
.blockbestsellers .product-image-container {
	border: 0px !important;
	box-shadow: none !important;
}

/* ================================= */
/* Modal del carrito de la compra.   */
/* ================================= */
#blockcart-modal .modal-dialog {
	box-shadow: 0 0 7px 5px rgba(0, 0, 0, 0.3);
	border: 4px solid #400;
}

#blockcart-modal .modal-content {
	background-color: transparent;
	box-shadow: 0 0 7px 5px rgba(0, 0, 0, 0.3);
}

#blockcart-modal .modal-header {
	background: transparent;
	border-bottom: 0px;
}

#blockcart-modal.dwp-blockcart-modal .modal-dialog {
	max-width: 600px;
}

#blockcart-modal.dwp-blockcart-modal .modal-content.dwp-cart-modal {
	background-color: rgba(20, 0, 0, 0.95);
	background-image: url("../img/shop-background-red-seamless-dark-red-920.jpg");
	background-size: cover;
	background-repeat: repeat;
	color: #fff;
	border: 1px solid #5a0000;
	border-radius: 2px;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.6);
	position: relative;
}

#blockcart-modal.dwp-blockcart-modal .close {
	position: absolute;
	right: 8px;
	top: 8px;
	color: #fff;
	opacity: 1;
}

/* Banner superior de confirmación */
.dwp-cart-modal__banner {
	background: #760606;
	/* coincide con tono del tema */
	color: #fff;
	padding: 10px 14px;
	display: flex;
	align-items: center;
	gap: 10px;
}

.dwp-cart-modal__banner .material-icons {
	font-size: 18px;
}

#blockcart-modal .dwp-cart-summary__count {
	font-size: 15px;
}

#blockcart-modal .dwp-product__qty .label, 
#blockart-modal .dwp-product__price .label,
.dwp-cart-actions button, .dwp-cart-actions a {
	font-weight: 700;
}

.dwp-cart-modal__title {
	font-weight: 600;
}

/* Cuerpo apilado */
.dwp-cart-modal__body {
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding: 18px;
}

/* Separador horizontal entre producto y resumen */
.dwp-cart-modal__divider {
	border-top: 1px solid rgba(255, 255, 255, 0.15);
	margin: 12px 0;
}

.sidebar-block {
	margin-top: 20px;
}

.sidebar-links {
	display: block;
	width: 100%;
	border-top: 1px solid #e5e5e5;
}

.sidebar-links .item {
	box-sizing: border-box;
	border-left: 1px solid #e5e5e5;
	border-right: 1px solid #e5e5e5;
	border-bottom: 1px solid #e5e5e5;
	cursor: pointer;
	font-weight: 600;
	color: #333;
}

.sidebar-links .item a {
	display: block;
	width: 100%;
	padding: 10px;
}

.sidebar-links .item:hover {
	background-color: #f9f9f9;
}

.sidebar-links a {
	font-size: 13px;
	text-transform: uppercase;
}

.sidebar-links a:hover {
	text-decoration: none;
}

.sidebar-title {
	background-color: #760606;
	font-family: "Special Elite", cursive;
	color: #fff;
	font-size: 16px !important;
	box-sizing: border-box;
	padding: 10px;
	color: #fff;
	text-transform: uppercase;
}

h1.page-heading.product-listing {
	display: block;
	background-color: #111;
	color: #fff;
	font-family: "Special Elite", cursive;
	font-size: 30px;
	box-sizing: border-box;
	padding: 20px 20px 10px 20px;
	color: red;
}

.page-heading .cat-name {
	font-weight: normal;
}

.page-heading .heading-counter {
	font-family: "Montserrat";
}

#top-categ span {
	font-family: "Special Elite", cursive;
	font-size: 16px !important;
	color: red;
}

#header .tptnheaderlinks ul a {
	font-family: "Special Elite", cursive;
	font-size: 16px !important;
	color: #fff;
	text-transform: uppercase;
	display: block;
	line-height: 60px;
	padding: 0 15px;
	font-weight: 600;
}

#header .tptnheaderlinks ul li a:hover {
	background-color: #000;
	color: #f00;
	text-decoration: none;
}

#_desktop_blockcart-wrapper .m-toggle,
.tptncart .minicart-title {
	background-color: rgb(139, 5, 5) !important;
}

#tptndesktopmenu {
	min-width: 262px;
	text-transform: uppercase;
	font-weight: 600;
	background-color: #500;
	box-shadow: 0 5px 20px #000 !important;
	font-family: "Special Elite", cursive;
}

#header-top-searchbar .mailorder-img {
	display: block;
	margin-bottom: 10px;
}

#_desktop_tptnsearch {
	padding: 0px !important;
}

#_desktop_tptnsearch input[type="text"]::placeholder {
	color: #f8f8f8;
}

#tptndesktopmenu .material-icons {
	display: none !important;
}

#header .login-register {
	min-width: 121px;
}

#header .login-register .m-toggle {
	box-shadow: 0 4px 10px 2px rgba(78, 9, 9, 0.9);
	background-color: rgba(0, 0, 0, 0.4);
	border: none;
	font-size: 14px;
}

#header .header-nav {
	border-bottom: solid 1px #111;
}

#header .header-top {
	padding: 15px 0;
	background-image: url(../img/top-menu-background-002.jpg);
	background-repeat: repeat-x;
	border-bottom-color: rgba(255, 0, 0, 0.3) !important;
	box-shadow: 0 5px 20px #000 !important;
	height: 152px !important;
}

.slick-arrow,
.slick-arrow:hover {
	background: transparent;
	border: none;
}

.login-register .dropdown-content {
	background-color: #4b0208 !important;
	color: #fff;
}

.login-register .dropdown-content li a:hover {
	background-color: #250104 !important;
	color: #fff;
	text-decoration: none;
}

#header .user-info .dropdown-content li,
.tptnmobilemenu a {
	border-bottom: 1px solid #000;
}

#header .header-bottom {
	background-color: transparent !important;
	border-bottom: 60px solid #ff1717;
	background-image: url(../img/top-menu-background-002.jpg);
	background-repeat: repeat-x;
	background-position: bottom;
	border-bottom-color: rgba(255, 0, 0, 0.3) !important;
	box-shadow: 0 5px 20px #000 !important;
	height: 51px !important;
}

.attribute_label {}

.cms p,
.cms li {
	color: #bbb;
	font-size: 13px;
	line-height: 18px;
}

.cms h2,
.cms h3,
.cms h4 {
	font-size: 15px;
	font-weight: bold;
	margin-top: 5px;
}

#first-languages {
	background-color: #9a0024;
}

#languages-block-top a {
	color: #ccc;
}

#languages-block-top a:hover {
	background-color: #111;
}

#languages-block-top li.selected {
	color: #111 !important;
	background-color: #fff;
}

#newsletter-input {
	color: #333;
}

/* Estilos del módulo de Paypal */
#order #paypal_process_payment {
	display: flex;
	flex-direction: row;
	text-align: left;
	align-items: center;
}

#order .payment_module a {
	text-align: left;
}

#compact_disc_delivery_options {
	border: 1px solid #444;
	margin-bottom: 30px;
	padding: 20px;
}

#compact_disc_delivery_options h2 {
	margin-bottom: 10px;
	font-size: 17px;
	font-weight: bold;
	text-transform: uppercase;
	color: #e4d04f;
}

#compact_disc_delivery_options p {
	line-height: 1.3rem;
}

#compact_disc_weight_value {
	color: #e4d04f;
}

#order .orderSummaryInfo {
	display: block;
	width: 100%;
	background-color: #e4d04f;
	color: #000;
	padding: 10px;
	margin-bottom: 30px;
	line-height: 1.2rem;
}

.show-grid .product_name .product_row_description {
	font-size: 13px !important;
}

#fom_description {
	margin-bottom: 50px;
}

#home_title,
#fom_description h1 {
	font-size: 1.8em !important;
	margin-bottom: 20px;
	color: #f00 !important;
	margin: 24px auto 26px auto;
	font-family: "Special Elite", cursive;
}

#fom_description p {
	font-size: 1.2em !important;
	line-height: 1.5em !important;
}

#social-links-block {
	margin-top: 30px;
}

#social-links-block h2 {
	font-size: 16px;
	color: #f00;
	font-family: "Special Elite", cursive;
	margin-bottom: 20px;
}

#social-links-block .social-links li {
	margin-bottom: 20px;
}

#social-links-block .social-links a {
	font-size: 12px;
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 8px;
	width: fit-content;
}

#social-links-block .social-links a svg {
	flex-shrink: 0;
}

.tptncarousel .crsl-title h4,
#mod_bestsellers h1 {
	font-family: "Special Elite", cursive;
	font-size: 16px;
	width: 100%;
}

#mod_bestsellers h1 a {
	color: red;
}

#mod_bestsellers h1 {
	background-color: rgba(200, 0, 0, 0.2) !important;
    border: none;
    font-size: 16px;
    font-weight: 600;
    box-shadow: 0 2px 8px #000;
	padding: 15px 60px 12px 15px;
	text-transform: uppercase;
	margin-bottom: 20px;
}

.tptncarousel .crsl-title h4 a {
	display: block;
}

.tptncarousel .crsl-title h4 a span {
	font-size: 14px;
	text-transform: uppercase;
}

.product-miniature:hover {
	box-shadow: none !important;
}

.tptncarousel .prodlist {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
}

#category .pagination {
	background: none!important;
}

#category .pagination .page-list li.current .disabled {
	background: red;
	color: #fff;
	border: none;
}

.product-card {
	display: flex;
	flex-direction: column;
	width: 48%;
	gap: 20px;
	padding: 10px!important;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	color: #f5f5f5;
	min-height: 350px;
}

.product-card__inner {
	display: flex;
	flex-direction: row;
	gap: 10px;
}

.product-card__media {
	flex: 0 0 170px;
	position: relative;
	min-width: 195px;
}

.product-card__content .product-card__read-more {
	color: red;
	margin-bottom: 20px;
}

.product-card__content .product-card__read-more:hover {
	color: red;
	text-decoration: none;
}

.quickview .product-additional-info .js-mailalert{
	margin-top: 10px;
}

.product-card__thumbnail {
	display: block;
	border: 3px solid rgba(255, 255, 255, 0.08);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5);
	overflow: hidden;
}

.product-card__thumbnail img {
	display: block;
	width: 100%;
	height: auto;
}

.product-card__floating-actions {
	position: absolute;
	left: 50%;
	top: 50%;
	display: flex;
	flex-direction: row;
	gap: 12px;
	transform: translate(-50%, calc(-50% + 30px));
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.25s ease, transform 0.25s ease;
}

.product-card:hover .product-card__floating-actions {
	transform: translate(-50%, -50%);
	opacity: 1;
	pointer-events: auto;
}

.product-card__floating-btn {
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: #ff1a1a;
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: none;
	cursor: pointer;
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.45);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.product-card__floating-btn:hover:not([disabled]) {
	transform: translateY(-4px);
	box-shadow: 0 10px 20px rgba(0, 0, 0, 0.55);
}

.product-card__floating-btn:hover {
	text-decoration: none;
	color: #fff;
	box-shadow: 0 10px 20px rgba(0, 0, 0, 0.55);
	background-color: #333;
}

.product-card__floating-btn[disabled] {
	opacity: 0.5;
	cursor: not-allowed;
}

.product-card__floating-btn .material-icons {
	font-size: 22px;
}

.product-card__floating-form {
	margin: 0;
}

.product-card__content {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	text-align: left;
}

.product-card__title {
	font-family: "Special Elite", cursive;
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #fff;
}

.product-card__features {
	margin-bottom: 0px;
}

.product-card__format, 
.product-card__release {
	font-size: 13px;
    text-transform: uppercase;
    margin-right: 10px;
    margin-bottom: 15px;
    background-color: rgb(51, 51, 51);
    color: rgb(255, 255, 255);
    display: inline-block;
	font-size: 12px;
    font-weight: 600 !important;
    padding: 3px 10px;
	width: fit-content;
}

.product-card__release {
	float: right;
	background-color: red;
}

.product-card__style {
	text-align: center;
	margin-top: 10px;
}

.product-card__title a {
	color: inherit;
}

.product-card__subtitle {
	font-size: 13px;
	text-transform: uppercase;
	color: #f00 !important;
	font-weight: 600;
	letter-spacing: -1px;
}

.product-card__description {
	font-size: 13px;
	line-height: 1.45;
	color: rgba(255, 255, 255, 0.82);
}

.product-card__reviews {
	margin-top: auto;
}

.product-card__footer {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.product-card__price-block {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.product-card__price {
	display: inline-block;
	padding: 4px 10px;
	background: #fff;
	color: #333333;
	font-size: 14px;
	font-weight: 700;
	width: fit-content;
	text-align: center;
}

.product-card__price-old {
	color: rgba(255, 255, 255, 0.6);
	font-size: 0.85rem;
	text-decoration: line-through;
}

.product-flags .new {
	background-color: red !important;
}

.product-card__discount {
	font-size: 0.8rem;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	background: rgba(0, 0, 0, 0.4);
	padding: 4px 8px;
	border-radius: 12px;
	display: inline-block;
}

#category #js-product-list-header {
    background-color: rgba(100, 0, 0, 0.5);
    box-shadow: 0 4px 10px 10px rgba(0, 0, 0, 0.7);
    color: #fff;
    font-weight: bold !important;
	font-family: 'Special Elite', cursive;
    font-size: 30px;
    box-sizing: border-box;
    padding: 20px 20px 10px 20px;
	display: block;
	text-transform: uppercase;
}

#category #js-product-list-header span {
	font-size: 13px;
	float: right;
	text-transform: capitalize;
	font-family: 'Montserrat';
	font-weight: 700;
}

.custom-product-list {
	text-transform: uppercase;
}

.custom-product-list .product-title {
	margin-bottom: 0px;
}

.tptnprods .crsl-title {
	border-bottom: none;
}

.no-products {
	border: none!important;
	padding-top: 0px!important;
	padding-bottom: 20px!important;
}

.custom-product-list .product-title a {
	color: #FFF;
	font-weight: 700;
}

.custom-product-list .custom-product-desc,
.pele-product-description {
	font-size: 12px !important;
    color: #f00 !important;
    text-transform: uppercase;
    letter-spacing: -1px;
    font-weight: 700 !important;
}
.pele-product-name {
	min-height: auto;
    margin-bottom: 5px;
}

.ps-crossselling .product-miniature, 
.ps-crossselling .custom-product-list:hover {
	min-height: 325px;
}
.ps-crosselling-content {
	display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}
#product .ps-crossselling .add-to-cart,
#product #same_category_products .add-to-cart {
	padding: 0px!important;
}

.custom-product-list .product-flags {
	display: none!important;
}

.custom-product-list .product-price-and-shipping {
	position: absolute;
	top: -30px;
	left: 50%;
	transform: translateX(-50%);
    width: fit-content;
    z-index: 100;
    background: #FFF;
    padding: 4px 10px;
    text-align: center;
}

.custom-product-list .product-price-and-shipping .price {
	color: #333333 !important;
	font-weight: 700;
}

#category .products-selection {
	background: none;
}

#category .sort-by-row .select-title {
	background: none;
	border: 1px solid #444;
	padding: 5px 5px 0 5px;
}

#category .sort-by-row .dropdown-menu {
	background: #000;
}

#more_popular .product_list {
	display: flex!important;
}

/* ================================= */
/* Estilos para la página de producto */
/* ================================= */
#product #content-wrapper .product-container .col-lg-6:first-child {
	max-width: 350px!important;
}

#product #content-wrapper h1 {
	font-weight: 700;
	margin-top: 0px;
	margin-bottom: 0px;
	font-size: 20px;
}

#product #content-wrapper .product-short-description {
	color: #f00 !important;
    font-weight: 700;
	font-size: 16px;
    text-transform: uppercase;
    margin-top: 3px;
    margin-bottom: 6px;
}

#product #content-wrapper .product-description {
	color: #fff !important;
	font-weight: 600;
	font-size: 12px;
	margin-top: 20px;
}

#product #content-wrapper .product-features ul, 
#product #content-wrapper .product-tags ul {
	display: flex;
	flex-direction: row;
}

#product #content-wrapper .product-tags ul {
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 5px;
}

#product #content-wrapper .product-tags ul li {
	align-self: flex-start;
}

#product #content-wrapper .product-features ul li {
	font-size: 13px;
    font-weight: 700 !important;
    text-transform: uppercase;
	margin-right: 10px;
    margin-bottom: 15px;
    background-color: #333333;
    color: #ffffff;
    padding: 3px 10px;
    display: inline-block;
}

#product #content-wrapper .product-tags ul li a {
	background-color: #900;
    color: #fff;
	display: block;
    font-size: 8px;
    text-decoration: none;
    text-transform: uppercase;
    padding: 4px 10px;
	font-weight: 700;
}

#product #content-wrapper .product-tags ul li a:hover {
	text-decoration: underline;
}

#product #content-wrapper .product-variants {
	border-bottom: none;
	margin-bottom: 0px;
}

#product #content-wrapper .current-price-value {
	font-weight: 700;
	font-size: 24px;
	color: #F13340;
}

#product #content-wrapper .product-features ul li:last-child {
	background-color: #DB0000;
}

#product #content-wrapper .table-features {
	width: 350px;
	margin-bottom: 20px;
}

#product #content-wrapper .table-features td {
	width: 50%;
	text-transform: uppercase;
	color: #bbb;
	font-weight: 700;
}

#product #content-wrapper .product-tags {
	margin-bottom: 20px;
}
#product .images-container .product-images .thumb {
	border: none!important;
}
/* Página de carrito */
#cart .cart-container, 
#cart .cart-grid-right {
	margin-top: 20px;
}
#cart .card,
#cart .separator,
#checkout .card {
	background: none!important;
	border-color: #444!important;
}
#password #content {
	background-color: transparent;
	border-color: #444!important;
}
#password #content .forgotten-password #send-reset-link {
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
}
#password .ps-alert-success .item p {
	background-color: transparent;
}
#cart .cart-grid-body .cart-item {
	border-color: #444!important;
}
#cart .current-price .price {
	color: #FFF;
}
#cart .cart-line-product-actions i {
	color: #ff0000;
	font-size: 18px;
}
#cart .product-line-grid-right .price .product-price {
	color: #FFF;
}
#cart .product-title a, 
#cart .product-description-short {
	color: #ff0000;
}
#cart .product-description-short {
	margin-bottom: 10px;
}
#cart .bootstrap-touchspin {
	flex-direction: column;
}
#cart .input-group-btn-vertical {
	display: flex;
	justify-content: center;
	margin-top: 4px;
}
#cart .btn-touchspin {
	background: none;
	width: 12px;
	height: 15px;
	color: #999;
}
#cart .js-cart-line-product-quantity {
	border-color: #999;
	background: none;
	text-align: center;
	color: #FFF;
}
#cart .bootstrap-touchspin-down {
	margin-top: 0px;
}
#cart .cart-total .label {
	font-size: 12px;
}
#cart .cart-detailed-actions a {
	margin-top: 20px;
	width: 100%;
}
#cart #orderSummaryInfo {
	display: block;
	width: 100%;
	background-color: #E4D04F;
	color: #000;
	padding: 10px;
	margin-bottom: 30px;
	line-height: 1.2rem;
}
body#checkout section.checkout-step, 
body#checkout section.checkout-step.-current .step-title {
	border-color: #444;
}
body#checkout .-current .step-title {
	background-color: #E4D04F;
	color: #333;
	text-transform: uppercase;
}
body#checkout a {
	color: #FFF;
}
#checkout #content {
	margin-top: 20px;
}
body#checkout #customer-form .form-control-valign {
	display: flex!important;
}
body#checkout #customer-form .field-password-policy .input-group-btn,
#checkout-login-form #login-form .input-group-btn {
	margin-bottom: 0px;
}
#customer-form .form-control-comment {
	padding-left: 0px;
}
#customer-form .custom-checkbox label {
	display: flex;
	align-items: flex-start;
}
#customer_privacy_container .custom-checkbox label {
	display: inline-block!important;
}
body#checkout section.checkout-step .address-item {
	background: none;
	border: solid 1px #444;
}
body#checkout section.checkout-step .delete-address, body#checkout section.checkout-step .edit-address {
	color: #FFF!important;
}
#checkout-addresses-step #delivery-address .form-group .col-md-9 {
	display: flex;
	flex-direction: row;
	gap: 10px;
	align-items: flex-start;
}
#checkout-addresses-step #delivery-address .cancel-address {
	color: #FFF;
}
body#checkout section.checkout-step .delivery-options .delivery-option, 
body#checkout  .definition-list dl dd, body#checkout .definition-list dl dt,
#order-confirmation .card {
	background: none;
	border: solid 1px #444;
}
#order-confirmation .page-order-confirmation .card-block h3 {
	font-size: 14px;
}
#order-confirmation #order-items {
	border-right: 1px solid #444;
}
#order-confirmation #order-items table tr.total-value, .bootstrap-touchspin .btn-touchspin:hover {
	background-color: transparent;
}
#order-confirmation #order-items .image img {
	border: none;
}
#order-confirmation hr {
	border-color: #444;
}
#order-confirmation #order-details {
	padding-left: 23px;
	margin-top: 20px;
}
.promo-name .cart-summary-line a[data-link-action="remove-voucher"] {
	display: none;
}
body#checkout section.checkout-step.-unreachable .step-number {
	color: #000;
}
body#checkout .currency-selector li a {
	color: #000;
}
/* Mi cuenta */
#my-account h1,
#my-account header.page-header {
	margin-bottom: 0;
}
#my-account-subtitle {
	margin-bottom: 10px;
}
#my-account #content .links {
	display: flex;
	flex-wrap: wrap;
}
#my-account #content .links a {
	flex: 1 1 45%;
	margin: 0.5rem;
}
.page-my-account #content .links a {
	text-align: left;
}
.page-my-account #content .links a i {
	width: 20px;
	height: 20px;
	margin-bottom: 0px;
	margin-right: 15px;
	font-size: 20px;
	color: #777;
}
.page-my-account #content .links a:hover,
.page-my-account #content .links a:focus,
.page-my-account #content .links a:active {
	color: #FFF;
}
.page-my-account #content .links a span:hover {
	background-color: #930017;
}
.page-my-account #content .links a:hover,
.page-my-account #content .links a:hover i {
	text-decoration: none;
}
#my-account #content .links a span {
	display: flex;
	flex-direction: row;
	align-items: center;
	border: solid 1px #444;
}
#identity #customer-form .form-group label {
	display: flex;
}
#identity #customer-form .form-group label span {
	margin-right: 10px;
}
#identity .breadcrumb {
	margin-top: 20px;
}
#addresses article,
.page-addresses .address .address-footer {
	border-color: #444;
}
.page-addresses .address .address-footer a:hover {
	color: #FFF;
}
#history table.table th {
	background-color: transparent;
	color: #FFF;
}
#history .table-bordered td, #history .table-bordered th {
	background: transparent;
}
.page-addresses .address, .page-customer-account #content {
	border: solid 1px #444!important;
}
#history table.table th {
	border-color: #444;
}
.page-order-detail .box, 
table.table th, 
.table-bordered td, .table-bordered th {
	border: solid 1px #444!important;
}
table.table th {
	background: transparent;
	color: #FFF;
}
.table-bordered td, .table-bordered th {
	background: transparent;
}
button[name="submitMessage"] {
	margin-top: 20px;
}
#order-detail .page-header {
	margin-top: 20px;
}
#module-blockwishlist-lists .card, 
#view .card, 
#view .pagination {
	background: transparent;
}
#module-blockwishlist-lists .wishlist-list a,
#module-blockwishlist-lists .wishlist-list a:hover,
.wishlist-list-item:hover .wishlist-list-item-title,
#module-blockwishlist-lists a.text-primary, 
.wishlist-product-price, 
.wishlist-products-count {
	color: #f00 !important;
}
.wishlist-products-count {
	font-size: 14px!important;
}
#view #content.card {
	border: solid 1px #444;
}
.wishlist-product-link, .wishlist-product-link:hover {
	color: #FFF;
	text-decoration: none;
	font-weight: 700;
}
#view .sort-by-row .select-title {
	margin-left: 10px;
	max-height: 30px;
	color: #000;
	padding: 5px 10px;
}
#view .wishlist-products-container-header {
	margin-top: 20px;
}
#header .language-selector li {
	background-color: #960223;
}
#header .language-selector li a {
	color: #FFF;
}
#header .language-selector .current {
	background-color: #FFF;
}
.tptn-vertical-mega-menu > ul > li > ul > li:hover {
	background-color: transparent;
}
.tptn-vertical-mega-menu .menu li.has-submenu a:hover {
	background-color: #69020b;
}
#best-sales .products-selection, 
#best-sales .pagination {
	background-color: transparent!important;
}
#best-sales .sort-by-row .select-title {
	max-height: 35.25px;
	color: #000;
}
#best-sales .sort-by-row .dropdown-menu a {
	color: #000;
}
@media (max-width: 1199px) {
	#product .hidden-lg-down[data-toggle="modal"] {
        display: flex !important;
    }
}
@media (max-width: 768px) {
	#index #home_title {
		display: none!important;
	}
	#product .hidden-lg-down[data-toggle="modal"] {
		display: flex!important;
	}
	#product aside#thumbnails {
		width: 100%;
		max-width: 100%;
	}
	#product #thumbnails .product-images {
		display: flex;
		flex-direction: row;
		margin-left: 0!important;
		justify-content: space-between;
        gap: 10px;
	}
	#product-modal .modal-content .modal-body .product-images .thumb-container {
		width: 33%!important;
	}
	#product-modal .modal-content .modal-body .product-images .thumb-container picture, 
	#product-modal .modal-content .modal-body .product-images .thumb-container img {
		width: 100%;
	}
	#product-modal .modal-content .modal-body {
		margin-left: 0;
		display: flex;
		flex-direction: column;
	}
	#password .form-control-label, 
	#authentication .form-control-label {
		width: 100%;
		text-align: left;
		padding-left: 10px;
	}
	.mobile-header .tptnmobilemenu .mobile-menu {
		padding-top: 20px;
	}
	#index .slick-arrow {
		display: none!important;
	}
	#my-account #content .links a {
		flex: 1 1 100%;
		margin: 0;
	}
	#category #js-product-list-header {
		display: flex;
		flex-direction: column;
		font-size: 16px;
		padding: 20px;
	}
	.currency-selector {
		display: none !important;
	}
	.page-home .product_list .product-card {
		width: 100%;
		margin-bottom: 30px;
	}
	.page-home .product_list .product-card .product-card__inner {
		flex-direction: row;
	}
	#blockcart-modal {
		top: 30px;
	}
	.product-card__title {
		font-size: 14px;
	}
	.product-card__media {
		width: 169px;
		min-width: 169px;
	}
	.product-card__description {
		color: #FFF;
		font-weight: 600;
	}
	.dwp-cart-actions {
		flex-direction: column;
	}
	.dwp-cart-actions button {
		margin: 20px 0 10px 0;
	}
	#mod_bestsellers .product-card, 
	#mod_bestsellers .product-card__inner {
		flex-direction: row!important;
	}
	#mod_bestsellers .product-card {
		width: 100%;
	}
	#more_popular .product_list {
		flex-direction: column;
	}
	#more_popular .custom-product-list {
		margin-bottom: 50px;
	}
	#left-column #categories_block_left, 
	#left-column .sidebar-block, 
	#left-column #dwp-banner-column {
		display: none;
	}
	.product-card__inner {
		flex-direction: column;
	}

	.product-card__media {
		flex: 0 0 auto;
	}

	.product-card__footer {
		flex-direction: column;
		align-items: flex-start;
	}

	.product-card__floating-actions {
		left: auto;
		right: 20px;
		bottom: 20px;
	}
	#header .tptncart .minicart-body .cart-subtotals,
	#header .tptncart .minicart-body .cart-action {
		width: 88%;
	}
	#footer .footer-container .links {
		background: #2a0104;
		margin-bottom: 5px;
		border-top: none;
		padding: 0px;
	}
	#footer .footer-container .links .title {
		padding: 10px;
	}
	#footer .footer-container .links p.h3 {
		font-size: 14px;
		font-weight: 600;
		line-height: 22px;
	}
	#footer .footer-container .links .footer-toggle {
		padding-left: 10px;
		margin-top: 0px;
	}
	#footer .footer-container .links .footer-toggle .social-icons {
		margin-top: 0px;
		margin-bottom: 20px;
	}
	#product #content-wrapper #main .col-lg-6 {
		max-width: 100%!important;
	}
	#product .pele-products-carousel, 
	#product #same_category_products .product_list {
		grid-template-columns: repeat(1, 1fr);
	}
	#product .pele-product-image-container {
		height: 312px;
	}
	#product .thumbnail-container .product-qty-cart .add-to-cart {
		padding: 0px!important;
	}
}

/* --------------------------------- */
/* Estilos para Quickview Modal      */
/* --------------------------------- */
.quickview .images-container .tptncarousel .thumb-container ,
.quickview .images-container .product-cover .layer, 
.quickview .custom-quantity-selector {
	display: none!important;
}
.quickview .quickview-variants .product-variants {
	row-gap: 0;
	padding: 0;
	border-bottom: none;
}
.quickview .product-variants-item {
	gap: 0;
}
.quickview .quickview-variants .product-variants select {
	text-align: center;
	border: 1px solid #444;
    background-color: #000;
    color: #fff;
	width: 50px;
	height: 28px;
}
.quickview .quickview-short-desc {
	text-transform: uppercase;
	color: #f00 !important;
	font-size: 14px;
	font-weight: 600;
	margin-bottom: 15px;
	line-height: 1.4;
}
.quickview .quickview-short-desc p {
	color: #f00 !important;
	margin-bottom: 10px;
}
.quickview .social-sharing li {
	background-color: transparent;
	width: 32px;
	height: 32px;
}
.quickview .social-sharing li a {
	text-indent: inherit;
	text-align: center;
}
.quickview .social-sharing li a i {
	border: 1px solid #ccc;
    color: #999;
    font-size: 18px;
	width: 32px;
    height: 32px;
	padding-top: 5px;
}
#cart .cart-summary .promo-name .cart-summary-line .label, 
#cart .cart-summary .promo-name .cart-summary-line div, 
#checkout .promo-name .cart-summary-line .label, 
#checkout .promo-name .cart-summary-line div {
	color: greenyellow;
}
/* 2. Característica FORMATO */
.quickview .quickview-formato {
	background-color: #333;
	color: #fff;
	font-size: 10px;
	font-weight: 600;
	text-transform: uppercase;
	padding: 5px 10px;
	display: inline-block;
	margin-bottom: 15px;
}

/* 3. Descripción larga en blanco */
.quickview .quickview-long-desc {
	color: #fff !important;
	font-size: 13px;
	line-height: 1.5;
	margin-bottom: 20px;
}

.quickview .quickview-long-desc p {
	color: #fff !important;
	margin-bottom: 10px;
}

/* 4. Tabla de información del producto */
.quickview .quickview-product-info {
	margin-bottom: 20px;
}

.quickview .quickview-info-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 12px;
	margin-bottom: 20px;
}

.quickview .quickview-info-table td {
	padding: 2px 5px;
	vertical-align: top;
}

.quickview .quickview-info-table .info-label {
	font-weight: 700;
	text-transform: uppercase;
	color: #fff;
	width: 40%;
}

.quickview .quickview-info-table .info-value {
	color: #ccc;
	width: 60%;
}

.quickview #product-description-short {
	color: #f00 !important;
	font-weight: 600;
	font-size: 16px;
	text-transform: uppercase;
}

/* Ajustes adicionales para el modal */
.quickview .modal-body {
	color: #fff;
}

.quickview .h1 {
	color: #fff;
	margin-bottom: 5px;
}

/* 5. Etiquetas de producto */
.quickview .quickview-product-tags {
	margin-bottom: 20px;
}

.quickview .quickview-tag {
	background-color: #900;
	color: #fff;
	display: inline-block;
	font-size: 8px;
	text-decoration: none;
	text-transform: uppercase;
	padding: 4px 10px;
	margin-bottom: 5px;
	transition: background-color 0.3s;
}

.quickview .quickview-tag:hover {
	background-color: #c00;
	color: #fff;
	text-decoration: none;
}

/* 6. Información de compra */
.quickview .quickview-purchase-info {
	margin-top: 20px;
}

.quickview .quickview-reference,
.quickview .quickview-availability,
.quickview .quickview-quantity {
	margin-bottom: 15px;
	font-size: 13px;
}

.quickview .quickview-reference .label,
.quickview .quickview-availability .label,
.quickview .quickview-quantity .label {
	color: #fff;
	font-weight: 600;
	margin-right: 10px;
}

.quickview .quickview-reference .value {
	color: #fff;
}

.quickview .quickview-availability .value.available {
	color: #41ae53;
}

.quickview .quickview-availability .value.unavailable {
	color: #f00;
	font-weight: 600;
}

.quickview .input-group-btn-vertical {
	display: none !important;
}

.quickview .modal-footer {
	border-top: none;
}

/* Controles de cantidad */
.quickview .quickview-quantity {
	display: flex;
	align-items: center;
}

.quickview .qty-controls {
	display: flex;
	align-items: center;
	margin-left: 10px;
}

.quickview .qty-controls input[type="number"] {
	width: 50px;
	height: 28px;
	text-align: center;
	padding: 0;
	border: 1px solid #444;
	background-color: #000;
	color: #fff;
	font-size: 13px;
	margin: 0 5px;
	-moz-appearance: textfield;
}

/* Ocultar los controles nativos de number input */
.quickview .qty-controls input[type="number"]::-webkit-outer-spin-button,
.quickview .qty-controls input[type="number"]::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.quickview .qty-buttons {
	display: flex;
	align-items: center;
	gap: 5px;
}

.quickview .qty-buttons button {
	background-color: transparent;
	border: none;
	color: #fff;
	cursor: pointer;
	font-size: 16px;
	font-weight: 600;
	line-height: 1;
	padding: 0;
	width: 20px;
	height: 28px;
	transition: color 0.3s;
}

.quickview .qty-buttons button:hover {
	color: #f00;
}

.quickview .qty-buttons .bootstrap-touchspin-down {
	order: -1;
}

/* Precio */
.quickview .quickview-price {
	margin: 20px 0;
}

.quickview .quickview-price .regular-price {
	color: #aaa;
	font-size: 14px;
	text-decoration: line-through;
	margin-right: 10px;
}

.quickview .quickview-price .current-price {
	color: #f13340;
	font-size: 24px;
	font-weight: 700;
}
.wishlist-add-to .modal .modal-dialog .modal-body, 
.wishlist-create .wishlist-modal .modal-content, 
.wishlist-create .wishlist-modal .modal-body {
	background-color: transparent!important;
}
/* Contacto */
#contact .card {
	background: transparent;
	border: none;
	padding: 0;
}

/* Contact Form Layout */
.contact-form h1 {
	color: #fff;
	font-size: 24px;
	font-weight: 700;
	text-transform: uppercase;
	margin-bottom: 30px;
}

.contact-form-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px;
	margin-bottom: 30px;
}

.contact-left-column,
.contact-right-column {
	display: flex;
	flex-direction: column;
}

.contact-form .form-group {
	margin-bottom: 25px;
}

.contact-form .form-control-label {
	color: #fff;
	display: block;
	font-size: 14px;
	font-weight: 600;
	margin-bottom: 8px;
	text-transform: capitalize;
	text-align: left;
}

.contact-form .form-control,
.contact-form .form-control-select,
.contact-form .form-control-file {
	background-color: #000;
	border: 1px solid #444;
	color: #fff;
	padding: 10px 12px;
	width: 100%;
	font-size: 14px;
	font-family: "Montserrat", sans-serif;
}

.contact-form .form-control::placeholder {
	color: #666;
}

.contact-form .form-control:focus,
.contact-form .form-control-select:focus {
	background-color: #000;
	border-color: #c71e1e;
	color: #fff;
	outline: none;
	box-shadow: 0 0 0 2px rgba(199, 30, 30, 0.2);
}

.contact-form textarea.form-control {
	min-height: 200px;
	resize: vertical;
}

.contact-form .form-control-file {
	padding: 8px 12px;
	cursor: pointer;
}

.contact-form .form-text {
	color: #888;
	display: block;
	font-size: 12px;
	margin-top: 5px;
}

.contact-form .contact-gdpr {
	grid-column: 1 / -1;
	margin-top: 10px;
}

.contact-form .form-footer {
	text-align: left;
	margin-top: 20px;
}

.contact-form .contact-submit-btn {
	background-color: #c71e1e;
	border: none;
	color: #fff;
	cursor: pointer;
	font-size: 14px;
	font-weight: 600;
	padding: 12px 30px;
	text-transform: uppercase;
	transition: background-color 0.3s;
}

.contact-form .contact-submit-btn:hover {
	background-color: #333;
	color: #fff;
}

.contact-form .alert {
	background-color: rgba(199, 30, 30, 0.1);
	border: 1px solid #c71e1e;
	color: #fff;
	padding: 15px;
	margin-bottom: 20px;
}

.contact-form .alert-success {
	background-color: rgba(65, 174, 83, 0.1);
	border-color: #41ae53;
}

#contact .contact-form-grid {
	width: 100%;
}

#contact .contact-gdpr, 
#contact .contact-form-grid {
	margin-bottom: 0px;
}
#contact .form-footer {
	margin-top: 0px;
}

#contact .alert-danger ul {
	margin-left: 30px;
}
/* Búsqueda */
#search .pagination, 
#search #js-product-list-top {
	background: transparent;
}
#search .products-sort-order .select-title {
	max-height: 30px;
	padding-top: 4px;
}
#search .products-sort-order .select-title, 
#search .products-sort-order .dropdown-menu a {
	color: #000;
}
/* Responsive */
@media (max-width: 991px) {
	.contact-form-grid {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.contact-form textarea.form-control {
		min-height: 150px;
	}
}

@media (max-width: 767px) {
	.contact-form h1 {
		font-size: 20px;
		margin-bottom: 20px;
	}

	.contact-form .form-group {
		margin-bottom: 20px;
	}
}
/* Pagos */
#module-cashondeliveryplus-validation #main h1 {
	margin-top: 20px;
}
#module-cashondeliveryplus-validation #main #content, 
#module-cashondeliveryplus-validation #main #content .card {
	background: transparent;
	border: solid 1px #444;
}
#module-cashondeliveryplus-validation #main #content .alert {
	border: none;
}
#module-cashondeliveryplus-validation #main #content .text-primary {
	color: #c71e1e!important;
}
/* Modal legal */
#checkout .js-checkout-modal .modal-content {
	background-color: #000000;
    background-image: url(../img/shop-background-red-seamless-dark-red-920.jpg);
    background-position: top center;
    background-repeat: repeat;
    font-family: "Montserrat", Helvetica, sans-serif;
    font-weight: 300;
    font-size: 12px;
    color: #ffffff;
}
/* Botón añadir al carrito */
.quickview .quickview-add-to-cart {
	margin-top: 20px;
}

.quickview .add-to-cart {
	background-color: #c71e1e;
	border: none;
	color: #fff;
	cursor: pointer;
	font-size: 14px;
	font-weight: 600;
	padding: 12px 20px;
	transition: background-color 0.3s;
	width: 100%;
}

.quickview .add-to-cart:hover {
	background-color: #333 !important;
}

.quickview .add-to-cart:hover {
	background-color: #c00;
}

.quickview .add-to-cart .material-icons {
	font-size: 18px;
	margin-right: 5px;
	vertical-align: middle;
}

#footer {
	border-top: 1px solid #000;
    padding: 30px 0;
    background-color: rgba(0, 0, 0, 0.6);
	color: #FFF!important;
	font-family: "Montserrat", Helvetica, sans-serif;
}

#footer a {
	color: #EC5D65!important;
}

#footer a:hover {
	text-decoration: underline;
	color: #FFF!important;
}

#footer p.h3 {
	font-size: 16px;
    text-transform: uppercase;
    color: #bbb!important;
}

#footer .footer-bottom {
	border-top: none;
}

#footer .social-icons a i, 
#footer .footer-bottom .tptncopyright, .product-customization small, .tptnsearch form button:hover{
	color: #FFF;
}

/* ================================= */
/* CMS                               */
/* ================================= */

#cms .breadcrumb {
	margin-top: 30px;
}

#cms .breadcrumb li {
	margin-left: 0px;
}

#cms h1 {
	margin-top: 30px;
}

#cms h1, #cms .page-header {
	margin-bottom: 0px;
}

#cms h3, #cms h2 {
	font-size: 15px;
	margin-bottom: 20px;
	font-weight: 700;
}

#cms h4 {
	margin-bottom: 15px;
}

#cms h3, #cms p {
	font-family: "Montserrat", Helvetica, sans-serif;
}

#cms p, #cms ul {
	color: #bbb;
    font-size: 13px;
    line-height: 18px;
	font-weight: 500;
}

#sitemap .card {
	background-color: transparent!important;
	border: 1px solid #444!important;
}

/* ================================= */
/* Responsive - Vista móvil quickview */
/* ================================= */

@media (min-width: 1200px) {
	.container {
		width: 1170px!important;
	}
	#header .tptnheaderlinks {
		max-width: 785px!important
	}
    #header .tptnheaderlinks ul {
        gap: 0px;
    }
}
/* Smartphone */
@media (max-width: 767px) {
	.product-card {
		min-height: 290px;
	}
	#index #mod_bestsellers .products {
		display: block!important;
	}
	#index #mod_bestsellers .products .product-card {
		margin-bottom: 40px!important;
	}
	/* Modal más grande en móvil */
	.modal.fade .modal-dialog {
		max-width: 95%;
		min-width: 95% !important;
		width: 95%;
		margin: auto;
	}

	.modal-content .modal-header .close {
		right: -5px !important;
		padding: 0px !important;
	}

	.quickview .modal-dialog {
		margin: 10px;
	}

	.quickview .row {
		display: flex;
		flex-direction: column;
	}

	.quickview .modal-content {
		border-radius: 0;
	}

	/* Ocultar imagen en móvil para dar más espacio al contenido */
	.quickview .col-md-6.hidden-xs-down {
		display: block !important;
		padding-bottom: 0px!important;
	}

	.quickview h1 {
		margin-top: -30px!important;
	}

	/* Columna de contenido ocupa todo el ancho */
	.quickview .col-md-6.col-sm-6 {
		width: 100%;
		padding: 15px;
	}

	/* Título más pequeño */
	.quickview .h1 {
		font-size: 18px;
		margin-bottom: 10px;
		line-height: 1.3;
	}

	/* Descripción corta más pequeña */
	.quickview .quickview-short-desc {
		font-size: 12px;
		margin-bottom: 10px;
	}

	/* Formato más pequeño */
	.quickview .quickview-formato {
		font-size: 11px;
		padding: 4px 8px;
		margin-bottom: 10px;
	}

	/* Descripción larga más pequeña */
	.quickview .quickview-long-desc {
		font-size: 11px;
		line-height: 1.4;
		margin-bottom: 15px;
	}

	/* Tabla de información más compacta */
	.quickview .quickview-info-table {
		font-size: 11px;
		margin-bottom: 15px;
	}

	.quickview .quickview-info-table td {
		padding: 6px 3px;
	}

	.quickview .quickview-info-table .info-label {
		width: 35%;
		font-size: 10px;
	}

	.quickview .quickview-info-table .info-value {
		width: 65%;
		font-size: 11px;
	}

	/* Etiquetas más pequeñas */
	.quickview .quickview-tag {
		font-size: 7px;
		padding: 3px 8px;
		margin-right: 3px;
		margin-bottom: 3px;
	}

	.quickview .quickview-product-tags {
		margin-bottom: 15px;
	}

	/* Información de compra */
	.quickview .quickview-purchase-info {
		margin-top: 15px;
	}

	.quickview .quickview-reference,
	.quickview .quickview-availability,
	.quickview .quickview-quantity {
		font-size: 12px;
		margin-bottom: 12px;
	}

	/* Controles de cantidad más pequeños */
	.quickview .qty-controls input[type="number"] {
		width: 45px;
		height: 26px;
		font-size: 12px;
		margin: 0 4px;
	}

	.quickview .qty-buttons button {
		font-size: 14px;
		width: 18px;
		height: 26px;
	}

	/* Precio más compacto */
	.quickview .quickview-price {
		margin: 15px 0;
	}

	.quickview .quickview-price .regular-price {
		font-size: 12px;
		margin-right: 8px;
	}

	.quickview .quickview-price .current-price {
		font-size: 20px;
	}

	/* Botón añadir al carrito */
	.quickview .quickview-add-to-cart {
		margin-top: 15px;
	}

	.quickview .add-to-cart {
		font-size: 13px;
		padding: 10px 15px;
	}

	.quickview .add-to-cart .material-icons {
		font-size: 16px;
		margin-right: 4px;
	}

	/* Modal header */
	.quickview .modal-header {
		padding: 10px 15px;
	}

	.quickview .modal-header .close {
		padding: 10px;
		font-size: 24px;
	}

	/* Modal body */
	.quickview .modal-body {
		padding: 15px;
	}

	/* Modal footer */
	.quickview .modal-footer {
		padding: 10px 15px;
	}
	.quickview .modal-dialog {
		margin-top: 35px!important;
	}
	.quickview .quickview-reference, 
	.quickview .quickview-availability {
		display: none!important;
	}

	
}

#index #mod_bestsellers .products {
	display: grid;
    grid-template-columns: repeat(2, 1fr);
}

#index #mod_bestsellers .products .product-card {
	width: 100%;
}

/* Módulo PsDevs Category Format Filter para MegaShop */
#module-psdevscategoryformatfilter-category #products .products-selection, 
#module-psdevscategoryformatfilter-category .pagination {
	background: none!important;
}
#module-psdevscategoryformatfilter-category .page-list .current a {
	background: red;
    color: #fff;
    border: none;
	border-radius: 4px;
}
#module-psdevscategoryformatfilter-category #category-description {
	display: none!important;
}
#module-psdevscategoryformatfilter-category .sort-by-row .select-title {
	background: none;
	border: 1px solid #444;
	padding: 5px 5px 0 5px;
}
#module-psdevscategoryformatfilter-category .sort-by-row .dropdown-menu {
	background: #000;
}
#module-psdevscategoryformatfilter-category h1 {
	background-color: rgba(100, 0, 0, 0.5);
    box-shadow: 0 4px 10px 10px rgba(0, 0, 0, 0.7);
    color: #fff;
    font-weight: bold !important;
    font-family: 'Special Elite', cursive;
    font-size: 30px;
    box-sizing: border-box;
    padding: 20px 20px 10px 20px;
    display: block;
    text-transform: uppercase;
}
#module-psdevscategoryformatfilter-category .breadcrumb[data-depth="1"] {
	display: inherit!important;
}

/* Tablet */
#product.tablet .custom-product-list .add-to-cart {
	padding: 0!important;
}
@media (min-width: 769px) and (max-width: 820px) {
	.tablet #content-wrapper {
		width: 75%;
	}
	.tablet .tptn-vertical-mega-menu .menu li a,
	.tablet .sidebar-links a {
		font-size: 8px;
	}
	.tablet .product-card__media {
		min-width: 125px;
		max-width: 125px;
	}
	.tablet .product_list {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 20px;
	}
	.tablet .product_list .product-card {
		width: 280px;
		padding: 0;
		min-height: fit-content;
		margin-bottom: 30px;
	}
	.tablet .product-card__title {
		font-size: 1rem;
	}
	#history.tablet table.table,
	#password.tablet #content .forgotten-password #send-reset-link {
		font-size: 10px;
	}
}
@media (min-width: 1000px) and (max-width: 1025px) {
	.tablet #content-wrapper {
		width: 75%;
	}
	.tablet .tptn-vertical-mega-menu .menu li a,
	.tablet .sidebar-links a {
		font-size: 8px;
	}
	.tablet .product-card__media {
		min-width: 150px;
		max-width: 150px;
	}
	.tablet .product_list {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 20px;
	}
	.tablet .product_list .product-card {
		width: 350px;
		padding: 0;
		min-height: fit-content;
		margin-bottom: 30px;
	}
	.tablet .product-card__title {
		font-size: 1rem;
	}
	#product.tablet .custom-product-list .product-price-and-shipping {
		top: -19px;
	}
}
/* Ajustes para pantallas muy pequeñas (< 375px) */
@media (max-width: 374px) {
	.quickview .h1 {
		font-size: 16px;
	}

	.quickview .quickview-short-desc {
		font-size: 11px;
	}

	.quickview .quickview-info-table {
		font-size: 10px;
	}

	.quickview .quickview-info-table .info-label {
		font-size: 9px;
	}

	.quickview .quickview-price .current-price {
		font-size: 18px;
	}

	.quickview .add-to-cart {
		font-size: 12px;
		padding: 8px 12px;
	}
}

/* Producto */
.dwp-product {
	display: flex;
	gap: 15px;
}

.dwp-product__image img {
	display: block;
	width: 90px;
	height: auto;
	border: 1px solid rgba(255, 255, 255, 0.12);
}

.dwp-product__name {
	font-weight: 700;
	margin-bottom: 6px;
}

.dwp-product__attr,
.dwp-product__qty,
.dwp-product__price {
	margin: 4px 0;
}

.dwp-product .label {
	color: #ddd;
}

/* Resumen */
.dwp-cart-summary__count {
	font-weight: 600;
	margin-bottom: 10px;
}

.dwp-cart-summary__lines .dwp-line {
	display: flex;
	justify-content: flex-start;
	align-items: baseline;
	gap: 8px;
	margin: 6px 0;
}

.dwp-cart-summary__lines .label {
	color: #ddd;
}

.dwp-cart-summary__lines .dwp-total .label {
	color: #fff;
	font-weight: 700;
}

.dwp-cart-summary__lines .dwp-total .value {
	font-weight: 700;
}

/* Botones */
.dwp-cart-actions {
	display: flex;
	justify-content: space-between;
	margin-top: 14px;
	width: 100%;
}

.dwp-cart-actions .btn {
	border-radius: 3px;
	padding: 10px 16px;
	text-transform: none;
}

.dwp-cart-actions .btn-secondary {
	background: #8a8a8a;
	color: #fff;
}

.dwp-cart-actions .btn-secondary:hover {
	background: #7a7a7a;
}

.dwp-cart-actions .btn-primary {
	background: #c62828;
	color: #fff;
}

.dwp-cart-actions .btn-primary:hover {
	background: #a61f1f;
}

/* Flecha para select en variantes de producto - quickview */
.select-with-arrow {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	background-image: url('data:image/svg+xml;charset=UTF-8,%3Csvg xmlns="http://www.w3.org/2000/svg" width="12" height="8" viewBox="0 0 12 8"%3E%3Cpath fill="%23333" d="M1.41 0L6 4.59L10.59 0L12 1.41l-6 6l-6-6z"/%3E%3C/svg%3E');
	background-repeat: no-repeat;
	background-position: right 8px center;
	background-size: 8px;
	padding-right: 24px;
}

.select-with-arrow::-ms-expand {
	display: none;
}

/* =============================================
   Order Detail - Product Features
   ============================================= */
.product-features-order {
	margin: 5px 0;
	font-size: 1em;
	line-height: 1.4;
	color: #fff;
}

.product-features-order .product-feature-item {
	display: inline-block;
	margin-right: 5px;
}

#order-confirmation #order-items .order-line .product-description-short {
	margin-top: 15px;
}

#cart #notifications .notifications-container .alert-danger {
	background: #E4D04F!important;
	border: 1px solid #444;
	color: #000;
}

#product #product-availability {
	display: none!important;
}

#new-products .products-selection, 
#new-products .products-sort-order .select-title, 
#new-products .pagination {
	background: transparent!important;
}

#new-products .products-sort-order .select-title {
	background: none;
    border-width: 1px;
    border-style: solid;
    border-color: rgb(68, 68, 68);
    border-image: initial;
    padding: 5px 5px 0px;
}

#new-products .dropdown-menu a {
	color: #000!important;
}

/* Pagination controls for New Products home block */
#new-products-pagination {
    margin-top: 0px!important;
	margin-bottom: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
}

#new-products-pagination .pagination-link {
    cursor: pointer;
    font-size: 16px;
    color: #fff!important;
    padding: 0;
    width: 35px;
    height: 35px;
    line-height: 35px;
    text-align: center;
    border-radius: 4px;
    transition: all 0.3s ease;
    display: inline-block;
    font-weight: 500;
}

/* If the background is white, we need dark text for inactive items */
body:not(.dark-mode) #new-products-pagination .pagination-link {
    color: #333;
}

#new-products-pagination .pagination-link:hover {
    color: #f00; /* Red on hover */
}

#new-products-pagination .pagination-link.active {
    background-color: #f00; /* Red background confirmed from image */
    color: #fff !important;
    font-weight: bold;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}

#new-products-pagination .pagination-void {
    color: #aaa;
    font-size: 14px;
    padding: 0 5px;
}

#new-products-pagination .next-arrow i {
    font-size: 18px;
    vertical-align: middle;
}

/* ============================================
   Selector de tallas en listado de productos
   ============================================ */
.product-card__size-selector {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 8px 0 30px;
    padding: 0;
}

.product-card__size-label {
    font-size: 12px;
    font-weight: 600;
    color: #333;
    white-space: nowrap;
    text-transform: uppercase;
    letter-spacing: 0.5px;
	color: #FFF;
}

.product-card__size-select {
    flex: 1;
    min-width: 0;
	max-width: 50px;
    padding: 4px 24px 4px 8px;
    font-size: 12px;
    font-weight: 500;
    color: #333;
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 3px;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23666'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 8px center;
    background-size: 10px 6px;
    transition: border-color 0.2s ease;
}

.product-card__size-select:hover {
    border-color: #999;
}

.product-card__size-select:focus {
    outline: none;
    border-color: #e30613;
    box-shadow: 0 0 0 2px rgba(227, 6, 19, 0.15);
}

.product-card__size-select option[disabled] {
    color: #aaa;
}

/* ============================================
   Social icons in mobile header (dwp_sociallinks)
   ============================================ */
#dwp-social-header-icons {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-right: 8px;
}

#dwp-social-header-icons .dwp-social-icon-link {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 18px;
    line-height: 1;
    text-decoration: none;
    transition: opacity 0.2s ease;
}

#dwp-social-header-icons .dwp-social-icon-link:hover {
    opacity: 0.75;
}

/* -------------------------------------------------------
   Modal zoom - Merchandise (categoría 1610)
   El tamaño del modal-dialog se gestiona dinámicamente
   por JS (custom.js) según las dimensiones de cada imagen.
   El CSS solo define la estructura flexbox y los estilos base.
------------------------------------------------------- */

/* Imagen principal: responsiva por defecto */
#product-modal .product-cover-modal {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
}

/* Dialog: JS asigna width/height dinámicamente; aquí solo posicionamiento */
#product-modal .modal-merchandise {
    position: relative;
    margin: 4vh auto;
    overflow: hidden;
}

#product-modal .modal-merchandise .modal-content {
    width: 100%;
}

/* Layout flexbox: figura a la izquierda, thumbnails a la derecha */
#product-modal .modal-merchandise .modal-body {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 16px;
    padding: 16px;
    height: 100%;
    overflow: hidden;
}

#product-modal .modal-merchandise figure.figure-merchandise {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    margin: 0;
}

#product-modal .modal-merchandise figure.figure-merchandise picture {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

/* La imagen se muestra a su tamaño natural si cabe, o reducida si es mayor
   que el contenedor. Nunca se amplía (sin upscaling = sin pixelado). */
#product-modal .modal-merchandise figure.figure-merchandise .product-cover-modal {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
}

/* Thumbnails: columna vertical scrollable */
#product-modal .modal-merchandise #thumbnails {
    flex: 0 0 150px;
    min-width: 150px;
    overflow-y: auto;
}

#product-modal .modal-merchandise #thumbnails .js-modal-mask,
#product-modal .modal-merchandise #thumbnails .product-images {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

#product-modal .modal-merchandise #thumbnails .thumb-container {
    width: 90px;
}

#product-modal .modal-merchandise #thumbnails .thumb-container img {
    width: 90px;
    height: 90px;
    object-fit: cover;
}

/* Móvil: layout vertical, JS no anula tamaños */
@media (max-width: 767px) {
    #product-modal .modal-merchandise {
        width: 98vw !important;
        max-width: 98vw !important;
        height: auto !important;
        margin: 1vh auto;
    }

    #product-modal .modal-merchandise .modal-body {
        flex-direction: column;
        height: auto !important;
        max-height: 95vh;
        overflow-y: auto;
        padding: 10px;
    }

    #product-modal .modal-merchandise figure.figure-merchandise {
        height: auto;
    }

    #product-modal .modal-merchandise figure.figure-merchandise .product-cover-modal {
        max-height: 60vh;
        width: 100%;
    }

    #product-modal .modal-merchandise #thumbnails {
        flex: 0 0 auto;
        overflow-y: visible;
        width: 100%;
    }

    #product-modal .modal-merchandise #thumbnails .product-images {
        flex-direction: row;
        flex-wrap: wrap;
    }
}

@media (max-width: 1199px) {
    #dwp-social-links-block {
        display: none !important;
    }
}