:root {
  --font-primary: "Poppins";

  --color-primary: #325444;
  --color-secondary: #d2e4dc;
  --color-lightsecondary: #dbf1e7;
  --color-white: #ffffff;
  --color-black: #212121;
  --color-darkblack: #000000;

  --color-grey: #e0e2e6;
  --color-grey-bg: #dfdfdf;
  --color-lightgrey: #f3f4f6;
  --color-darkgrey: #d6d6d6;

  --color-red: #d62215;
  --color-smokedred: #d37972;
  --color-lightred: #e3aaa6;

  --font-xs: 12px;
  --font-sm: 14px;
  --font-md: 16px;
  --font-lg: 18px;
  --font-xl: 20px;
  --font-titles: 24px;

  --spaces-xs: 5px;
  --spaces-sm: 10px;
  --spaces-xsm: 15px;
  --spaces-md: 20px;
  --spaces-2md: 40px;

  --separator-sections: 100px;
  --separator-sections-sm: 60px;

  --border-radius-sm: 6px;
  --border-radius-md: 12px;
  --border-radius-lg: 30px;
  --border-radius-xl: 50px;

  --width-container: 100%;
  --width-menu: 280px;
  --width-right-column: 270px;
}

/* ---------------------- GENERAL ----------------------- */
.m-0 {
  margin: 0 !important;
}

.p-0 {
  padding: 0 !important;
}

/* Estructura web */
#wrapper {
  display: flex;
  height: calc(100dvh - 97px);
}

#wrapper > #menu {
  width: var(--width-menu);
  display: flex;
}

#wrapper > #content-footer {
  width: calc(100dvw - var(--width-menu));
  overflow-y: auto;
}

#wrapper > #content-footer > #page-content {
  padding: var(--spaces-md);
  min-height: calc(100dvh - 97px - 77px);
  background-color: var(--color-grey-bg);
}

body:not(#index) #wrapper > #content-footer > #page-content {
  padding-bottom: var(--spaces-2md);
}

#wrapper > #content-footer > #page-content > .page-title {
  margin-bottom: var(--spaces-md);
  font-size: var(--font-titles);
  font-weight: 500;
}

/* Scroll */
::-webkit-scrollbar {
  width: 5px;
}

::-webkit-scrollbar-thumb {
  background-color: var(--color-primary);
}

::-webkit-scrollbar-track {
  background-color: var(--color-secondary);
}

/* Buttons */
.btn,
.cookiesplus-btn {
  padding: var(--spaces-sm) var(--spaces-md);
  font-size: var(--font-sm) !important;
  font-family: var(--font-primary) !important;
  font-weight: 400 !important;
  border-radius: var(--border-radius-sm);
  outline: none !important;
  line-height: normal !important;
}

.btn-round {
  border-radius: var(--border-radius-xl);
}

.btn-primary {
  background-color: var(--color-primary) !important;
  border: solid 1px var(--color-primary) !important;
  color: var(--color-white) !important;
}

.btn-primary:hover {
  background-color: var(--color-secondary) !important;
  border-color: var(--color-secondary) !important;
  color: var(--color-black) !important;
}

.btn-secondary {
  background-color: var(--color-secondary) !important;
  border: solid 1px var(--color-secondary) !important;
  color: var(--color-black) !important;
}

.btn-secondary:hover {
  background-color: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
  color: var(--color-white) !important;
}

.btn-tertiary {
  background-color: var(--color-black) !important;
  border: solid 1px var(--color-black) !important;
  color: var(--color-white) !important;
}

.btn-tertiary:hover {
  background-color: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
}

/* Checkbox */
.form-group:has(.custom-checkbox):not(:last-child) {
  margin-bottom: 0;
}

.custom-checkbox label {
  display: flex;
}

.custom-checkbox label input {
  margin-top: 3px !important;
  height: 14px !important;
  width: 14px !important;
}

.custom-checkbox label input + span {
  margin: 3px var(--spaces-xs) 0 0 !important;
  height: 14px !important;
  width: 14px !important;
  min-width: 14px !important;
  position: relative;
  border-radius: 3px !important;
}

.custom-checkbox label input + span i {
  font-size: 8px !important;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  color: var(--color-white) !important;
}

.custom-checkbox label div a {
  font-weight: 400 !important;
}

.custom-checkbox label div a:hover {
  color: var(--color-smokedred) !important;
}

/* Formularios */
.form-group .form-control-label {
  margin-bottom: var(--spaces-xs);
  font-weight: 400;
}

.form-group .form-control {
  background-color: transparent;
  border-radius: var(--border-radius-sm) !important;
}

.form-group .input-group .form-control:not(:last-child) {
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

.form-group .input-group .input-group-btn .btn {
  height: 38px;
  display: flex;
  align-items: center;
  background-color: transparent;
}

.form-group .input-group .input-group-btn .btn:hover {
  background-color: var(--color-secondary);
}

.form-group .input-group .input-group-btn .btn svg.hide {
  display: none;
}

/* Breadcrumb */
.breadcrumb {
  margin: var(--spaces-sm) 0 var(--spaces-xsm) !important;
}

.breadcrumb:has(~ #right-column),
#notifications:has(~ #right-column) {
  width: calc(100% - var(--width-right-column));
}

.breadcrumb *,
.breadcrumb *::after {
  font-size: var(--font-sm) !important;
  line-height: var(--font-sm) !important;
}

.breadcrumb ol {
  padding-bottom: var(--spaces-xs);
  white-space: nowrap;
  overflow-x: auto;
}

.breadcrumb ol::-webkit-scrollbar {
  height: 2px;
}

.breadcrumb ol::-webkit-scrollbar-thumb {
  background-color: var(--color-black);
}

.breadcrumb ol li::after {
  content: none !important;
}

.breadcrumb ol li > a:hover span {
  text-decoration: underline;
}

.breadcrumb ol li > span {
  text-transform: uppercase;
}

.breadcrumb ol > .space {
  margin: 0 var(--spaces-xs);
}

.breadcrumb ol > .space:last-child {
  display: none !important;
}

/* Paginación */
.pagination:has(*) {
  margin-top: var(--spaces-md) !important;
}

.pagination .viewed-prods {
  margin-bottom: var(--spaces-sm);
  font-size: var(--font-sm);
  text-align: center;
}

.pagination .page-list {
  display: flex !important;
  justify-content: center;
  gap: var(--spaces-xs) !important;
  background-color: transparent;
}

.pagination .page-list li:not(:has(.spacer)) {
  border-radius: var(--border-radius-xl);
  border: solid 1px var(--color-primary);
}

.pagination .page-list li.arrow:has(+ .current),
.pagination .page-list li.current + li.arrow {
  display: none;
}

.pagination .page-list li.current {
  background-color: var(--color-primary);
}

.pagination .page-list li:not(.current, :has(.spacer)):hover {
  background-color: var(--color-secondary);
}

.pagination .page-list li a,
.pagination .page-list li.current span,
.pagination .page-list li .spacer {
  min-width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 400;
  font-size: var(--font-sm) !important;
  letter-spacing: 0 !important;
  color: var(--color-black);
}

.pagination .page-list li.current span {
  color: var(--color-white);
}

/* Alert */
#notifications {
  background-color: transparent;
}

.alert {
  padding-top: var(--spaces-sm);
  padding-bottom: var(--spaces-sm);
  font-size: var(--font-sm);
  color: var(--color-black) !important;
  border-radius: var(--border-radius-sm);
}

.alert::before {
  border-top-left-radius: calc(var(--border-radius-sm) - 1px);
  border-bottom-left-radius: calc(var(--border-radius-sm) - 1px);
}

.alert-success {
  border: solid 1px var(--color-primary) !important;
}

.alert-danger {
  border: solid 1px var(--color-red) !important;
}

.alert-warning {
  border: solid 1px var(--color-smokedred) !important;
}

.alert ul {
  list-style-type: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Miniatura producto */
.product-miniature {
  margin: 0 var(--spaces-xs) var(--spaces-sm) var(--spaces-xs) !important;
}

.product-miniature .thumbnail-container {
  padding: var(--spaces-sm);
  overflow: visible !important;
  border-radius: var(--border-radius-md);
}

.product-miniature .product-thumbnail img {
  border-radius: var(--border-radius-md);
}

.product-miniature .product-description {
  margin-top: var(--spaces-xsm);
}

.product-miniature .product-description .product-info {
  min-height: 62px;
}

.product-miniature .product-description .product-info .product-title {
  height: auto !important;
  min-height: 20px;
  line-height: 20px !important;
  font-size: var(--font-sm) !important;
  font-weight: 500 !important;
  color: var(--color-black) !important;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  word-break: break-all;
  overflow: hidden !important;
  text-overflow: ellipsis;
}

.product-miniature .product-description .product-info .product-reference {
  display: flex;
  font-size: var(--font-xs);
  line-height: normal;
}

.product-miniature .product-description .product-info .price {
  margin-top: var(--spaces-sm);
  display: flex;
}

.product-miniature .product-description .product-info .price span {
  color: var(--color-black);
  font-size: var(--font-sm);
  line-height: var(--font-sm);
}

.product-miniature .product-description .product-colors {
  margin-top: var(--spaces-xsm);
  height: 20px;
  display: flex;
  gap: var(--spaces-xs);
}

.product-miniature .product-description .product-colors .attr_color {
  display: block;
  width: 20px;
  height: 20px;
  border-radius: var(--border-radius-sm);
}

.product-miniature .product-description .product-colors .attr_color.white {
  border: solid 1px var(--color-grey);
}

.product-miniature .product-description .product-colors .etc {
  width: 20px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  line-height: 1;
  color: var(--color-black);
}

.product-miniature .product-description .see-options {
  margin-top: var(--spaces-sm);
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--spaces-xs);
}

.product-miniature .product-description .see-options:hover svg * {
  fill: var(--color-black);
}

/* Flags */
.product-flags {
  top: 20px;
  gap: var(--spaces-xs);
}

.product-flags .product-flag {
  border-top-right-radius: var(--border-radius-sm);
  border-bottom-right-radius: var(--border-radius-sm);
}

.product-flags .product-flag.discount {
  background-color: var(--color-red) !important;
}

.product-flags .product-flag.new {
  color: var(--color-black) !important;
  background-color: var(--color-secondary) !important;
}

.product-flags .product-flag.out_of_stock {
  background-color: var(--color-black) !important;
}

/* Modal carrito */
#blockcart-modal .modal-dialog {
  height: 100dvh !important;
}

#blockcart-modal .modal-header {
  padding: var(--spaces-md);
  background-color: var(--color-primary);
  border: none;
}

#blockcart-modal .modal-header button {
  margin-top: 0 !important;
  font-size: var(--font-xl) !important;
  outline: none;
}

#blockcart-modal .modal-header button:hover svg * {
  fill: var(--color-secondary);
}

#blockcart-modal .modal-header .modal-title {
  display: flex;
  align-items: center;
  gap: var(--spaces-xs);
  font-size: var(--font-lg);
  font-weight: 400;
}

#blockcart-modal .modal-header .modal-title .total_products {
  margin-top: 2px;
  font-weight: 400;
}

#blockcart-modal .modal-body .modal_products .modal_product:last-child {
  padding: 0 !important;
}

#blockcart-modal .modal-body .modal_products .modal_product .row {
  display: flex;
  align-items: center;
}

#blockcart-modal .modal-body .modal_products .modal_product .row .product-image {
  border-radius: var(--border-radius-md);
}

#blockcart-modal .modal-body .modal_products .modal_product .row .product-name > span {
  font-size: var(--font-sm);
}

/* Modal cookies */
#cookiesplus-modal {
  padding: var(--spaces-md) !important;
  max-width: 90%;
  border: none;
  border-radius: var(--border-radius-sm);
}

#cookiesplus-modal .cookiesplus-close {
  display: none !important;
}

#cookiesplus-modal .cookiesplus-btn {
  margin: var(--spaces-sm) 0 0 0 !important;
  padding: var(--spaces-sm) var(--spaces-md);
}

#cookiesplus-modal .cookiesplus-btn span {
  vertical-align: unset !important;
}

#cookiesplus-modal button.cookiesplus-btn:hover {
  background-color: var(--color-secondary) !important;
  border-color: var(--color-secondary) !important;
  color: var(--color-black) !important;
}

#cookiesplus-modal #cookiesplus-finalities-container {
  padding-right: var(--spaces-sm);
}

#cookiesplus-modal #cookiesplus-finalities-container::-webkit-scrollbar-thumb {
  background-color: var(--color-secondary);
}

#cookiesplus-modal #cookiesplus-finalities-container::-webkit-scrollbar-track {
  background-color: transparent;
}

#cookiesplus-modal #cookiesplus-finalities-container .cookiesplus-finality-title .cookiesplus-finality-chevron::before {
  border-width: 1px 1px 0 0;
}

#cookiesplus-modal #cookiesplus-finalities-container .cookiesplus-finality-title strong {
  font-weight: 500;
}

#cookiesplus-modal #cookiesplus-finalities-container .cookiesplus-finality-switch-container > label {
  font-size: var(--font-sm);
}

#cookiesplus-modal #cookiesplus-finalities-container .cookiesplus-finality-switch-container > span {
  outline: none !important;
}

#cookiesplus-modal .second-layer .cookiesplus-footer-actions span {
  margin-top: var(--spaces-xsm);
  display: flex;
  align-items: center;
  gap: var(--spaces-xs);
}

/* ------------- LOGIN / REGISTRO / PASSWORD ------------ */
main:has(#auth-container) {
  background-image: url("/themes/dfd-flobur/assets/img/flobur_bg.jpg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

#auth-container {
  padding: var(--spaces-md);
  height: 100dvh;
  display: flex;
  align-items: center;
  justify-content: center;
}

#auth-container .auth-form-container {
  padding: 30px 50px;
  max-width: 420px;
  border-radius: 30px;
  background-color: #d9d9d933;
  border: solid 2px #d9d9d933;
  backdrop-filter: blur(20px);
}

#auth-container .auth-form-container * {
  color: var(--color-white);
}

#auth-container .auth-form-container .pretitle {
  margin: var(--spaces-md) 0;
  font-weight: 300;
}

#auth-container .auth-form-container .title {
  margin-top: 30px;
  margin-bottom: var(--spaces-sm);
  font-size: var(--font-titles);
}

#auth-container .auth-form-container .title + p {
  margin-bottom: 30px;
  font-weight: 300;
}

#auth-container .auth-form-container .form-control {
  border-color: #d9d9d9 !important;
}

#auth-container .auth-form-container .input-password-generic .form-control {
  border-right: none;
}

#auth-container .auth-form-container .form-control::placeholder {
  color: #d9d9d9 !important;
}

#auth-container .auth-form-container .input-group-btn .btn {
  border-color: #d9d9d9;
  border-left: none;
}

#auth-container .auth-form-container .input-group-btn .btn:hover {
  background-color: var(--color-primary);
}

#auth-container .auth-form-container .input-group-btn .btn svg * {
  fill: var(--color-white);
}

#auth-container .auth-form-container .forgot-password {
  margin-top: -10px;
  margin-bottom: var(--spaces-sm);
  font-weight: 300;
}

#auth-container .auth-form-container .forgot-password:hover {
  text-decoration: underline;
}

#auth-container .auth-form-container .btn.w-100 {
  margin-top: var(--spaces-sm);
  border-radius: var(--border-radius-lg);
}

#auth-container .auth-form-container .contact {
  margin-top: 30px;
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: var(--font-sm);
  font-weight: 300;
}

#auth-container .auth-form-container .contact a:hover {
  text-decoration: underline;
}

#auth-container .auth-form-container .account-link {
  margin-top: var(--spaces-md);
  display: flex;
  align-items: center;
  gap: var(--spaces-xs);
}

#auth-container .auth-form-container .account-link span {
  font-size: var(--font-xs);
  font-weight: 300;
  line-height: var(--font-xs);
}

#auth-container .auth-form-container .account-link span:hover {
  text-decoration: underline;
}

#auth-container .auth-form-container .ps-alert:has(> *) {
  margin-top: 20px !important;
  display: block;
}

#auth-container .auth-form-container .ps-alert .item {
  border-radius: var(--border-radius-md);
  border-width: 1px;
}

#auth-container .auth-form-container .ps-alert .item p {
  padding: var(--spaces-xs) var(--spaces-sm);
  border-top-right-radius: calc(var(--border-radius-md) - 1px);
  border-bottom-right-radius: calc(var(--border-radius-md) - 1px);
  color: var(--color-black);
}

/**/

#password #content > form .renew-password > .container-fluid > .form-group {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

#password #content > form .renew-password > .container-fluid > .form-group:first-child {
  margin-bottom: var(--spaces-sm);
}

#password #content > form .renew-password > .container-fluid > .form-group label {
  margin: 0;
  padding-left: 0;
}

#password #content > form .renew-password > .container-fluid > .form-group > div {
  padding-right: 0;
}

#password #content > form .renew-password > .container-fluid > div button {
  width: 100%;
}

/* ---------------------- HEADER ------------------------ */
#header {
  z-index: 9;
}

/* Topbar */
#header .dfdtopbar .dfdtopbar-simple {
  padding: var(--spaces-xs) var(--spaces-md);
  line-height: normal;
}

/* Header */
#header .header-top {
  padding: var(--spaces-sm) 0;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  border: none;
}

#header .header-top .left {
  display: flex;
  align-items: center;
  gap: var(--spaces-md);
}

#header .header-top .left .hamburguer {
  margin-top: 4px;
  display: flex;
  cursor: pointer;
}

#header .header-top div:has(> #search_widget) {
  margin-left: auto !important;
  display: flex;
  align-items: center;
}

#header .header-top #search_widget {
  display: block;
}

#header .header-top #search_widget input[type="text"] {
  padding-left: 60px !important;
  width: 300px !important;
  font-size: 14px !important;
  border: none !important;
  font-weight: 500;
}

#header .header-top #search_widget input[type="text"]::placeholder {
  color: var(--color-primary);
}

#header .header-top #search_widget button {
  padding: 0 !important;

  left: 20px;
  top: 50% !important;
  bottom: unset;
  transform: translateY(-50%);
  display: flex;

  width: fit-content;
}

/**/

#header .header-top #_desktop_cart {
  margin-left: var(--spaces-md);
  display: flex;
  align-items: center;
}

#header .header-top #_desktop_cart .blockcart {
  padding: var(--spaces-xs) var(--spaces-md);
  display: flex;
  align-items: center;
  gap: 10px;

  border-color: var(--color-white) !important;
}

#header .header-top #_desktop_cart .blockcart:hover {
  border-color: var(--color-secondary) !important;
}

#header .header-top #_desktop_cart .blockcart:hover svg * {
  fill: var(--color-black);
  stroke: var(--color-black);
}

/* ---------------------- FOOTER ------------------------ */
#footer a:hover {
  text-decoration: underline;
  color: var(--color-white) !important;
}

#footer .links {
  padding: var(--spaces-sm) var(--spaces-md) 0;
  display: flex;
  justify-content: center;
  font-size: var(--font-sm);
}

#footer .links div:not(:last-child)::after {
  content: "︱";
  margin: 0 var(--spaces-md);
}

#footer .copyright {
  padding: var(--spaces-xs) var(--spaces-md) var(--spaces-sm);
  display: flex;
  justify-content: space-between;
  font-size: var(--font-sm);
}

/* ----------------------- MENÚ ------------------------- */
#_desktop_megamenu {
  padding: var(--spaces-md);
  overflow-y: auto;
}

#_desktop_megamenu .menu-content {
  min-height: calc(100dvh - 137px);
  display: flex;
  flex-direction: column;
  gap: var(--spaces-xsm);
}

#_desktop_megamenu .menu-content .menu-item {
  margin-left: 0 !important;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: var(--border-radius-sm);
}

#_desktop_megamenu .menu-content .menu-item:last-child {
  margin-top: auto;
}

#_desktop_megamenu .menu-content .menu-item:has(.menu-dropdown.collapsing) .collapse_up,
#_desktop_megamenu .menu-content .menu-item:has(.menu-dropdown.collapse.in) .collapse_up,
#_desktop_megamenu .menu-content .menu-item:has(.menu-dropdown.collapsing[aria-expanded="false"]) .collapse_down {
  display: block;
}

#_desktop_megamenu .menu-content .menu-item:has(.menu-dropdown.collapse) .collapse_up,
#_desktop_megamenu .menu-content .menu-item:has(.menu-dropdown.collapsing[aria-expanded="false"]) .collapse_up,
#_desktop_megamenu .menu-content .menu-item:has(.menu-dropdown.collapsing) .collapse_down,
#_desktop_megamenu .menu-content .menu-item:has(.menu-dropdown.collapse.in) .collapse_down {
  display: none;
}

#_desktop_megamenu .menu-content .menu-item > .top {
  padding: var(--spaces-sm) var(--spaces-xsm) !important;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spaces-sm);
  line-height: normal;
  background-color: var(--color-lightgrey);
  cursor: pointer;
}

#_desktop_megamenu .menu-content .menu-item:not(.contact) > a.top svg {
  display: none;
}

#_desktop_megamenu .menu-content .menu-item > .top:hover {
  background-color: var(--color-grey);
}

#_desktop_megamenu .menu-content .menu-item a:hover {
  text-decoration: underline;
}

#_desktop_megamenu .menu-content .menu-item > .top > div {
  display: flex;
  align-items: center;
  gap: var(--spaces-sm);
  color: var(--color-black);
}

#_desktop_megamenu .menu-content .menu-item .menu-dropdown {
  position: relative;
  visibility: visible;
  opacity: 1;
}

#_desktop_megamenu .menu-content .menu-item .menu-dropdown.collapse:not(.in) {
  display: none !important;
}

#_desktop_megamenu .menu-content .menu-item .menu-dropdown .submenu-item {
  padding: var(--spaces-md) var(--spaces-sm) 0 calc(var(--spaces-md) + var(--spaces-sm));
  background-color: var(--color-lightgrey);
}

#_desktop_megamenu .menu-content .menu-item .menu-dropdown .submenu-item:first-child {
  padding-top: var(--spaces-xsm);
}

#_desktop_megamenu .menu-content .menu-item .menu-dropdown .submenu-item:last-child {
  padding-bottom: var(--spaces-md);
}

#_desktop_megamenu .menu-content .menu-item .menu-dropdown .submenu-item a {
  display: flex;
  line-height: 1;
  word-break: break-all;
}

#_desktop_megamenu .menu-content .menu-item .menu-dropdown .submenu-item .category-sub-menu {
  padding-left: var(--spaces-sm);
}

/* Menú modal */
#menu-modal {
  padding: 0 !important;
  overflow-y: hidden;
  display: none;
  z-index: 9999;
}

#menu-modal .modal-dialog {
  margin: 0 auto 0 0 !important;
  max-width: 380px !important;
}

#menu-modal .modal-dialog .modal-content {
  border: none;
}

#menu-modal .modal-dialog .modal-content #modal-menu {
  padding: var(--spaces-md);
  height: 100dvh;
  overflow-y: auto;
}

#menu-modal .modal-dialog .modal-content #modal-menu > .header {
  padding: 0 var(--spaces-sm) var(--spaces-md) var(--spaces-sm);
  display: flex;
  justify-content: flex-end;
  border-bottom: solid 1px var(--color-grey);
}

#menu-modal .modal-dialog .modal-content #modal-menu > .header button {
  margin: var(--spaces-xs) 0;
  height: 14px;
  opacity: 1;
  outline: none;
  line-height: 10px;
}
#menu-modal .modal-dialog .modal-content #modal-menu > #_desktop_megamenu {
  padding: var(--spaces-md) 0 0;
}

#menu-modal .modal-dialog .modal-content #modal-menu > #_desktop_megamenu .menu-content {
  min-height: calc(100dvh - 105px);
}

/* ----------------------- HOME ------------------------- */
#index .homeblocks .blocks {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spaces-sm);
}

#index .homeblocks .blocks .block {
  padding: var(--spaces-xsm);
  width: calc(25% - calc(30px / 4));
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background-color: var(--color-white);
  border-radius: var(--border-radius-md);
}

#index .homeblocks .blocks .block img {
  object-fit: cover;
  border-radius: var(--border-radius-sm);
}

#index .homeblocks .blocks .block .title {
  margin: var(--spaces-md) 0 var(--spaces-sm);
  font-size: var(--font-xl);
}

#index .homeblocks .blocks .block .subtitle {
  font-weight: 300;
}

#index .homeblocks .blocks .block .link {
  margin-top: var(--spaces-sm);
  width: fit-content;
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: var(--font-sm);
  text-transform: uppercase;
  font-weight: 500;
  border-bottom: solid 1px transparent;
}

#index .homeblocks .blocks .block .link:hover {
  border-color: var(--color-smokedred);
  color: var(--color-smokedred);
}

#index .homeblocks .blocks .block .link:hover svg * {
  fill: var(--color-smokedred);
}

/* --------------------- CATEGORÍA ---------------------- */
#page-content #content-wrapper:has(#main.listing) {
  padding: 0;
  width: calc(100% - var(--width-right-column));
}

#page-content #content-wrapper #main.listing div:has(> .page-title) {
  margin-bottom: var(--spaces-md);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spaces-md);
}

#page-content #content-wrapper #main.listing .page-title {
  font-size: var(--font-titles);
  font-weight: 500;
}

#page-content #content-wrapper #main.listing .filter-btn {
  padding-left: var(--spaces-xsm);
  height: 40px;
  display: flex;
  align-items: center;
  gap: var(--spaces-xs);
}

#page-content #content-wrapper #main.listing #js-product-list {
  display: flex;
  flex-direction: column;
}

#page-content #content-wrapper #main.listing #js-product-list > .filter-btn {
  margin-bottom: 20px;
  width: fit-content;
}

#page-content #content-wrapper #main.listing #js-product-list > .products {
  margin-left: -5px;
  margin-right: -5px;
  justify-content: flex-start;
}

/* Subcategorías */
#right-column {
  margin-top: -44px;
  padding: 0 0 0 20px;
  width: var(--width-right-column);

  position: sticky;
  top: 20px;
}

.block-categories {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  row-gap: 20px;
  background-color: transparent;
}

.block-categories .item {
  width: 25%;
  display: flex;
  justify-content: center;
}

.block-categories .item a {
  position: relative;
  padding: 10px;

  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  border-radius: var(--border-radius-xl);
}

.block-categories .item a:hover {
  background-color: var(--color-lightred);
}

.block-categories .item a .icon {
  width: auto;
  height: auto;
}

.block-categories .item a .hint {
  position: absolute;
  top: calc(100% + 5px);
  left: 50%;
  transform: translate(-50%, -5px);

  background-color: var(--color-black);
  color: var(--color-white);
  border-radius: 6px;
  padding: 2px 7px;

  font-size: 12px;
  line-height: 20px;
  text-align: center;
  z-index: 1;

  opacity: 0;
  visibility: hidden;
  transition:
    opacity 0.25s ease,
    transform 0.25s ease,
    visibility 0.25s;
}

.block-categories .item a:hover .hint {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
}

/* Filtros */
#amazzing_filter {
  margin-top: var(--spaces-2md);
  box-shadow: none !important;
}

#amazzing_filter > .title_block {
  display: flex;
  align-items: center;
  font-size: var(--font-lg) !important;
  font-weight: 500 !important;
  line-height: var(--font-lg);
  text-transform: none !important;
}

#amazzing_filter > .title_block .close {
  margin-left: auto;
  font-size: var(--font-xl);
  outline: none;
  opacity: 1;
}

#amazzing_filter > .title_block .close:hover svg * {
  fill: var(--color-secondary);
}

#amazzing_filter > .block_content .af_filter {
  border-bottom: 2px solid var(--color-darkgrey);
}

#amazzing_filter > .block_content .af_filter .af_subtitle {
  font-weight: 400;
}

#amazzing_filter > .block_content .af_filter_content {
  display: block;
}

#amazzing_filter > .block_content .form-floating {
  position: relative;
  display: flex;
}

/* peep */

#amazzing_filter > .block_content .form-floating > select,
.modal-prod .modal-dialog .modal-content .product-variants-item > select,
#amazzing_filter > .block_content .form-floating > .c-select .dropdown-backdrop {
  display: none;
}

#amazzing_filter > .block_content .form-floating > .c-select .c-select_btn,
.modal-prod .modal-dialog .modal-content .product-variants-item > .c-select .c-select_btn {
  padding: 35px 60px var(--spaces-sm) 0;
  width: 100%;
  display: flex;
  color: var(--color-black);
  background-color: transparent;
  outline: none !important;
  border: none;
}

#amazzing_filter > .block_content .af_filter_order .form-floating > .c-select .c-select_btn {
  padding-right: 30px;
  padding-bottom: 0;
}

#amazzing_filter > .block_content .af_filter .form-floating:has(.form-select .first:checked) .c-select .c-select_btn {
  color: transparent;
}

#amazzing_filter > .block_content .form-floating > .c-select .c-select_dropdown,
.modal-prod .modal-dialog .modal-content .product-variants-item > .c-select .c-select_dropdown {
  width: 100%;
  display: none;
  position: absolute;
  background-color: var(--color-white);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
  border-radius: 0 0 var(--border-radius-sm) var(--border-radius-sm);
  overflow: hidden;
  z-index: 5;
}

#amazzing_filter > .block_content .form-floating > .c-select.open .c-select_dropdown,
.modal-prod .modal-dialog .modal-content .product-variants-item > .c-select.open .c-select_dropdown {
  display: block;
}

#amazzing_filter > .block_content .form-floating > .c-select .c-select_dropdown > div,
.modal-prod .modal-dialog .modal-content .product-variants-item > .c-select .c-select_dropdown > div {
  max-height: 200px;
  overflow-y: auto;
}

#amazzing_filter > .block_content .form-floating > .c-select .c-select_dropdown > div .c-select_option,
.modal-prod .modal-dialog .modal-content .product-variants-item > .c-select .c-select_dropdown > div .c-select_option {
  padding: 10px 15px;
  width: 100%;
  overflow: hidden;
  text-align: left;
  text-overflow: ellipsis;
  color: var(--color-black);
  background-color: transparent;
  border: none;
  outline: none;
}

#amazzing_filter > .block_content .form-floating > .c-select .c-select_dropdown > div .c-select_option:hover,
#amazzing_filter > .block_content .form-floating > .c-select .c-select_dropdown > div .c-select_option.selected,
.modal-prod .modal-dialog .modal-content .product-variants-item > .c-select .c-select_dropdown > div .c-select_option:hover,
.modal-prod .modal-dialog .modal-content .product-variants-item > .c-select .c-select_dropdown > div .c-select_option.selected {
  background-color: var(--color-lightgrey);
}

/**/

#amazzing_filter > .block_content .form-floating > svg,
.modal-prod .modal-dialog .modal-content .product-variants-item > .expand {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

#amazzing_filter > .block_content .form-floating > .expand,
.modal-prod .modal-dialog .modal-content .product-variants-item > .expand {
  right: 10px;
  pointer-events: none;
}

#amazzing_filter > .block_content .af_filter .form-floating > .close {
  padding: 4px;
  width: 20px;
  height: 20px;
  right: 36px;
  opacity: 1;
}

#amazzing_filter > .block_content .af_filter .form-floating > .close:hover * {
  fill: var(--color-smokedred);
}

#amazzing_filter > .block_content .af_filter .form-floating:has(.first:checked) .close {
  display: none;
}

#amazzing_filter > .block_content .form-floating > label,
.modal-prod .modal-dialog .modal-content .product-variants-item .control-label {
  height: 100%;
  display: flex;
  align-items: center;
  position: absolute;
  pointer-events: none;
  transform-origin: 0 0;
  transition: transform 0.2s ease;
}

#amazzing_filter > .block_content .af_filter .form-floating:has(.form-select option:not(.first):checked) label,
#amazzing_filter > .block_content .af_filter_order .form-floating label {
  transform: translateY(-6px) scale(0.875);
  opacity: 0.8;
}

/**/

#amazzing_filter > .block_content .af_filter .af_filter_content:has(.af-slider) {
  display: flex;
  justify-content: center;
}

#amazzing_filter > .block_content .af_filter .af-slider {
  width: calc(100% - var(--spaces-sm));
}

#amazzing_filter > .block_content .af_filter .af-slider .slider-bar {
  margin-bottom: 10px;
  margin-left: 5px;
  margin-right: 5px;
  background-color: var(--color-secondary);
}

#amazzing_filter > .block_content .af_filter .af-slider .slider-bar .selected-bar {
  background-color: var(--color-primary);
}

#amazzing_filter > .block_content .af_filter .af-slider .slider-bar .pointer {
  border-color: var(--color-primary);
  background-color: var(--color-secondary);
}

#amazzing_filter > .block_content .af_filter .af-slider .slider-bar .pointer::before {
  width: 16px;
  height: 16px;
  right: -5px;
  top: -5px;
}

#amazzing_filter > .block_content .af_filter .af-slider .slider-values span {
  margin-bottom: var(--spaces-sm);
  pointer-events: none;
  border: none;
}

#amazzing_filter > .btn-holder {
  padding: var(--spaces-md) !important;
  border-top: solid 1px var(--color-darkgrey);
}

#amazzing_filter > .btn-holder a {
  text-transform: none;
}

.af-compact-overlay.show {
  opacity: 0.5;
  background-color: var(--color-darkblack);
}

/**/
/**/
/**/

/* Descripción */
#category-description {
  margin-top: var(--spaces-2md);
}

/* --------------------- PRODUCTO ----------------------- */
.modal-prod .modal-dialog {
  margin: auto;
  min-height: auto;
  width: fit-content;
  top: 50%;
  transform: translate(0, -60%) !important;
}

.modal-prod.in .modal-dialog {
  transform: translate(0, -50%) !important;
}

/**/

.modal-prod .modal-dialog .modal-content {
  /*padding: 20px;*/
  width: 500px;
  border: none;
  border-radius: var(--border-radius-md);
}

/* Imagen - Nombre - Referencia - Precio - Disponibilidad */
.modal-prod .modal-dialog .modal-content .top {
  padding: 20px 20px 0 20px;
  display: flex;
  gap: 20px;
}

.modal-prod .modal-dialog .modal-content .top img {
  min-width: 150px;
  width: 150px;
  height: auto;
  border-radius: var(--border-radius-md);
}

.modal-prod .modal-dialog .modal-content .top .info {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.modal-prod .modal-dialog .modal-content .top .info .name {
  font-weight: 500;
  font-size: var(--font-lg);
  color: var(--color-black);
}

.modal-prod .modal-dialog .modal-content .top .info .ref {
  color: #4f4f4f;
  font-weight: 300;
  font-size: 13px;
  line-height: 1;
}

.modal-prod .modal-dialog .modal-content .top .info > .product_prices {
  margin-top: var(--spaces-sm);
}

.modal-prod .modal-dialog .modal-content .top .info .product_prices .current-price {
  display: flex;
  align-items: center;
}

.modal-prod .modal-dialog .modal-content .top .info .product_prices .price_pvp {
  font-size: 25px;
}

.modal-prod .modal-dialog .modal-content .top .info .product_prices .has-discount .price_pvp {
  margin-right: var(--spaces-xsm);
  color: var(--color-red);
}

.modal-prod .modal-dialog .modal-content .top .info .product_prices .current-price .show_pvp span {
  display: flex;
  font-weight: 300;
  font-size: var(--font-lg);
  text-decoration: line-through;
  color: var(--color-primary);
}

.modal-prod .modal-dialog .modal-content .top .info .product_prices .tax-shipping-delivery-label {
  margin-top: var(--spaces-sm);
}

.modal-prod .modal-dialog .modal-content .top .info .product_prices .tax-shipping-delivery-label span {
  font-size: var(--font-sm);
}

.modal-prod .modal-dialog .modal-content .top .info .product_prices .tax-shipping-delivery-label .last_remaining_items span {
  color: var(--color-smokedred);
}

.modal-prod .modal-dialog .modal-content .top .info .product_prices .tax-shipping-delivery-label .unavailable span {
  color: var(--color-red);
}

/**/

/* Descripción */
.modal-prod .modal-dialog .modal-content .product-description {
  margin-top: var(--spaces-xsm);
  padding: 0 var(--spaces-md);
}

.modal-prod .modal-dialog .modal-content .product-description > p {
  font-size: var(--font-sm);
}

.modal-prod .modal-dialog .modal-content .product-description > p:last-child {
  margin: 0;
}

/* Combinaciones */
.modal-prod .modal-dialog .modal-content .product-actions {
  margin-top: var(--spaces-md);
}

.modal-prod .modal-dialog .modal-content .product-variants {
  padding: 0 20px;
}

.modal-prod .modal-dialog .modal-content .product-variants .product-variants-item {
  position: relative;
  border: solid 1px var(--color-grey);
  border-top: none;
}

.modal-prod .modal-dialog .modal-content .product-variants .product-variants-item:first-child {
  border-radius: var(--border-radius-sm) var(--border-radius-sm) 0 0;
  border-top: solid 1px var(--color-grey);
}

.modal-prod .modal-dialog .modal-content .product-variants .product-variants-item:last-child {
  border-radius: 0 0 var(--border-radius-sm) var(--border-radius-sm);
}

.modal-prod .modal-dialog .modal-content .product-variants .product-variants-item .control-label {
  padding-left: 10px;
  display: block;
  top: 10px;
  font-size: 14px;
  opacity: 0.8;
}

.modal-prod .modal-dialog .modal-content .product-variants .product-variants-item > .c-select .c-select_btn {
  padding-left: 10px;
}

.modal-prod .modal-dialog .modal-content .product-variants .product-variants-item > .expand {
  right: 20px;
}

.modal-prod .modal-dialog .modal-content .product-variants .product-variants-item > ul {
  padding: 40px var(--spaces-sm) var(--spaces-sm);
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.modal-prod .modal-dialog .modal-content .product-variants .product-variants-item > ul li > label.color {
  display: flex;
  cursor: pointer;
  border: solid 1px transparent;
}

.modal-prod .modal-dialog .modal-content .product-variants .product-variants-item > ul li > label.color:hover,
.modal-prod .modal-dialog .modal-content .product-variants .product-variants-item > ul li > label.color:has(.input-color:checked) {
  border-color: var(--color-black);
  border-radius: var(--border-radius-xl);
}

.modal-prod .modal-dialog .modal-content .product-variants .product-variants-item > ul li > label.color .input-color {
  position: absolute;
  visibility: hidden;
}

.modal-prod .modal-dialog .modal-content .product-variants .product-variants-item > ul li > label.color span {
  margin: 3px;
  height: 30px;
  width: 30px;
  border: none;
  border-radius: var(--border-radius-xl);
}

.modal-prod .modal-dialog .modal-content .product-variants .product-variants-item > ul li > label.color span.white {
  border: solid 1px var(--color-grey);
}

/* Descuentos cantidad */
.modal-prod .modal-dialog .modal-content .product-discounts {
  margin-top: 30px;
  padding: 0 20px;
  display: flex;
  flex-wrap: wrap;
  gap: var(--spaces-xsm);
}

.modal-prod .modal-dialog .modal-content .product-discounts .pack_dto {
  padding: 10px 15px;
  width: calc(33.33% - var(--spaces-sm));
  display: flex;
  flex-direction: column;
  align-items: center;
  font-weight: 500;
  border: solid 1px var(--color-black);
  border-radius: var(--border-radius-sm);
  cursor: pointer;
}

.modal-prod .modal-dialog .modal-content .product-discounts .pack_dto .price {
  font-size: var(--font-sm);
  font-weight: 400;
}

/* Adjuntos */
.modal-prod .modal-dialog .modal-content .attachment_top {
  margin-top: var(--spaces-md);
  padding: 0 var(--spaces-md);
}

/* Cantidad - Add to cart */
.modal-prod .modal-dialog .modal-content .product_add_to_cart {
  margin-top: 30px;
}

.modal-prod .modal-dialog .modal-content .product_add_to_cart .qty > div {
  width: 100%;
  display: flex;
  align-items: center;
  flex-direction: column;
}

.modal-prod .modal-dialog .modal-content .product_add_to_cart .qty #quantity_wanted {
  width: 50%;
  padding: 5px 10px;

  height: 44px !important;
  text-align: center;

  position: absolute;

  background-color: var(--color-secondary);
  border: none;
  border-top: solid 1px var(--color-primary);

  /* pointer-events: none; /* dejar esto? es para que el input no reciba el foco */
}

.modal-prod .modal-dialog .modal-content .product_add_to_cart .qty .input-group-btn-vertical {
  width: 100%;
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
}

.modal-prod .modal-dialog .modal-content .product_add_to_cart .qty .input-group-btn-vertical .btn {
  width: 26%;
  height: 44px !important;
  padding: 5px 20px !important;
  margin: 0;

  background-color: var(--color-secondary);

  border-top: 1px solid var(--color-primary);
}

.modal-prod .modal-dialog .modal-content .product_add_to_cart .qty .input-group-btn-vertical .btn:hover {
  background-color: var(--color-lightsecondary);
}

.modal-prod .modal-dialog .modal-content .product_add_to_cart .qty .input-group-btn-vertical .btn i {
  position: relative;
  top: 0;
  left: 0;
}

/**/

.modal-prod .modal-dialog .modal-content .product_add_to_cart .add button {
  width: 100%;
  height: 50px;
  text-transform: uppercase;
  border-radius: calc(var(--border-radius-md) - 1px);
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}

.modal-prod .modal-dialog .modal-content .product_add_to_cart .add button:not(:disabled):hover {
  border-top-color: var(--color-lightgrey) !important;
}

.modal-prod .modal-dialog .modal-content .product_add_to_cart .add button:disabled {
  background-color: var(--color-primary);
  border-color: var(--color-primary);
  color: var(--color-white);
}

/* ---------------------- CARRITO ----------------------- */
#cart #notifications .alert {
  margin-top: 0;
}

#cart .cart-grid {
  margin-bottom: 0;
}

/* Left */
#cart #wrapper .left .cart-items {
  padding: var(--spaces-md);
  background-color: var(--color-white);
  border-radius: var(--border-radius-md);
}

#cart #wrapper .left .cart-items .cart-item {
  padding: var(--spaces-md) 0;
  gap: var(--spaces-md);
  border-bottom: solid 1px var(--color-darkgrey);
}

#cart #wrapper .left .cart-items .cart-item:first-child {
  padding-top: 0;
}

#cart #wrapper .left .cart-items .cart-item:last-child {
  padding-bottom: 0;
  border: none;
}

#cart #wrapper .left .cart-item .cart__product-img img {
  border-radius: var(--border-radius-md);
}

#cart #wrapper .left .cart-item .cart__product-info {
  width: calc(100% - calc(120px + var(--spaces-md)));
  display: flex;
  justify-content: space-between;
  gap: var(--spaces-md);
}

#cart #wrapper .left .cart-item .cart__product-info > .left {
  width: calc(100% - calc(150px + var(--spaces-md)));
  display: flex;
  flex-direction: column;
  gap: var(--spaces-sm);
}

#cart #wrapper .left .cart-item .cart__product-info > .left .cart__product-name .product-name {
  font-size: var(--font-md);
  font-weight: 500;
  line-height: normal;
}

#cart #wrapper .left .cart-item .cart__product-info > .left .cart__product-name .product-attributes span {
  font-size: var(--font-sm);
}

#cart #wrapper .left .cart-item .cart__product-info > .left .qty-remove {
  margin-top: var(--spaces-xs);
  display: flex;
  align-items: center;
  gap: calc(var(--spaces-sm) + var(--spaces-xs));
}

#cart #wrapper .left .cart-item .cart__product-info > .left .qty-remove .cart__product-qty {
  width: auto;
  z-index: 1;
}

#cart #wrapper .left .cart-item .cart__product-info > .left .qty-remove .cart__product-qty > .input-group {
  display: flex;
  left: -10px;
}

#cart #wrapper .left .cart-item .cart__product-info > .left .qty-remove .cart__product-qty > .input-group input {
  border-width: 1px;
}

#cart #wrapper .left .cart-item .cart__product-info > .left .qty-remove .cart__product-qty > .input-group button.bootstrap-touchspin-up {
  border-top-right-radius: var(--border-radius-sm);
  border-bottom-right-radius: var(--border-radius-sm);
}

#cart #wrapper .left .cart-item .cart__product-info > .left .qty-remove .cart__product-qty > .input-group button.bootstrap-touchspin-down {
  border-top-left-radius: var(--border-radius-sm);
  border-bottom-left-radius: var(--border-radius-sm);
}

#cart #wrapper .left .cart-item .cart__product-info > .left .qty-remove .cart__product-qty > .input-group button:hover {
  background-color: var(--color-lightgrey);
}

#cart #wrapper .left .cart-item .cart__product-info > .left .qty-remove .remove-from-cart {
  display: flex;
}

#cart #wrapper .left .cart-item .cart__product-info > .left .qty-remove .remove-from-cart:hover svg * {
  fill: var(--color-red);
}

#cart #wrapper .left .cart-item .cart__product-info .cart__product-price {
  width: 150px;
  flex-direction: column;
}

#cart #wrapper .left .cart-item .cart__product-info .cart__product-price .product-totalprice {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: var(--spaces-sm);
  line-height: normal;
}

#cart #wrapper .left .cart-item .cart__product-info .cart__product-price .product-totalprice:has(.old_price) {
  color: var(--color-red);
}

#cart #wrapper .left .cart-item .cart__product-info .cart__product-price .product-totalprice .old_price {
  line-height: 1;
}

/* Right */
#cart #wrapper .right .cart-summary {
  border-radius: var(--border-radius-md);
}

#cart #wrapper .right .cart-summary_header {
  padding: var(--spaces-md) var(--spaces-md) 0;
  font-size: 20px;
  font-weight: 500;
  background-color: transparent;
}

#cart #wrapper .right .cart-detailed-totals {
  padding: var(--spaces-md);
}

.block-promo .promo-code-button {
  padding: 0 0 var(--spaces-xsm) 0;
}

.block-promo .promo-code-button > a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spaces-sm);
  font-size: var(--font-sm) !important;
}

.block-promo:has(#promo-code.collapsing) .collapse_up,
.block-promo:has(#promo-code.collapse.in) .collapse_up,
.block-promo:has(#promo-code.collapsing[aria-expanded="false"]) .collapse_down {
  display: block;
}

.block-promo:has(#promo-code.collapse) .collapse_up,
.block-promo:has(#promo-code.collapsing[aria-expanded="false"]) .collapse_up,
.block-promo:has(#promo-code.collapsing) .collapse_down,
.block-promo:has(#promo-code.collapse.in) .collapse_down {
  display: none;
}

.block-promo .promo-code {
  margin-bottom: var(--spaces-md);
}

.block-promo .promo-code form .promo-input {
  width: calc(100% - 80px);
  height: 40px;
  font-size: var(--font-sm) !important;
  border-right: none;
  border-color: var(--color-darkgrey);
  border-top-left-radius: var(--border-radius-sm);
  border-bottom-left-radius: var(--border-radius-sm);
}

.block-promo .promo-code form button {
  width: 80px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--font-sm) !important;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.block-promo .promo-code .alert {
  margin: var(--spaces-sm) 0 0 0;
}

.block-promo .promo-code .alert::after {
  border-bottom-color: var(--color-red);
}

.block-promo .promo-code .alert > span {
  display: flex;
  line-height: normal;
  font-size: var(--font-sm) !important;
}

.block-promo .promo-discounts {
  margin-top: -5px !important;
}

.block-promo .promo-discounts li {
  margin-bottom: var(--spaces-sm) !important;
  padding: var(--spaces-xs) var(--spaces-sm) !important;
  border: solid 1px var(--color-darkgrey) !important;
  border-radius: var(--border-radius-sm);
}

.block-promo .promo-discounts li:last-child {
  margin-bottom: var(--spaces-md) !important;
}

.block-promo .promo-discounts li .code {
  color: var(--color-primary);
}

#cart #wrapper .right .cart-detailed-totals hr,
#checkout #wrapper .right .card-block-products hr {
  display: none;
}

#cart #wrapper .right .cart-detailed-totals .card-block .cart-summary-line,
#checkout #wrapper .right .card-block-products .card-block .cart-summary-line {
  padding: 0 0 var(--spaces-xsm) 0;
  display: flex;
  justify-content: space-between;
}

#cart #wrapper .right .cart-detailed-totals:has(.block-promo) .card-block .cart-summary-line:first-child,
#checkout #wrapper .right .card-block-products .card-block .cart-summary-line:first-child {
  padding-top: var(--spaces-xsm);
  border-top: solid 1px var(--color-darkgrey);
}

#cart #wrapper .right .cart-detailed-totals .card-block .cart-summary-line span,
#checkout #wrapper .right .card-block-products .card-block .cart-summary-line span,
#checkout #wrapper .right .cart-summary-totals .cart-total > span span {
  font-size: var(--font-sm);
}

#cart #wrapper .right .cart-detailed-totals .card-block .promo-name *,
#checkout #wrapper .right .card-block-products .card-block .promo-name * {
  color: var(--color-red) !important;
  font-weight: 400 !important;
  line-height: 1;
}

#cart #wrapper .right .cart-detailed-totals .card-block .promo-name .cart-summary-line {
  padding-top: 0 !important;
  border: none !important;
}

#cart #wrapper .right .cart-detailed-totals .card-block .promo-name .cart-summary-line div,
#checkout #wrapper .right .card-block-products .card-block .promo-name div {
  display: flex;
  align-items: center;
  gap: var(--spaces-xs);
  line-height: normal;
}

#cart #wrapper .right .cart-detailed-totals .card-block .promo-name .cart-summary-line div a,
#checkout #wrapper .right .card-block-products .card-block .promo-name div a {
  display: flex;
}

#cart #wrapper .right .cart-detailed-totals .card-block .cart-total {
  padding-top: var(--spaces-xsm);
  padding-bottom: 0;
}

#cart #wrapper .right .cart-detailed-totals .card-block .cart-total > span,
#checkout #wrapper .right .cart-summary-totals .cart-total > span {
  line-height: normal;
  font-weight: 500;
  font-size: var(--font-md) !important;
}

/* --------------------- CHECKOUT ----------------------- */
#checkout #notifications .alert {
  margin-top: 0;
}

/* Left */
#checkout #wrapper .left > section {
  padding: var(--spaces-md);
  border-radius: var(--border-radius-sm);
}

#checkout #wrapper .left > section:last-child {
  margin-bottom: 0;
}

#checkout #wrapper .left > section .step-title {
  font-size: var(--font-titles) !important;
  line-height: 1;
}

#checkout #wrapper .left > section.-current .step-title {
  padding-bottom: var(--spaces-xsm);
  border-bottom: solid 1px var(--color-darkgrey);
}

#checkout #wrapper .left > section .step-title .check {
  margin-right: var(--spaces-sm);
  font-size: 25px;
  color: var(--color-primary);
}

#checkout #wrapper .left > section:not(.-complete) .step-title .check,
#checkout #wrapper .left > section.-complete.-current .step-title .check {
  display: none;
}

#checkout #wrapper .left > section .content {
  margin-top: var(--spaces-md);
  position: relative;
}

/* Left - Direcciones */
#checkout #wrapper .left > section#checkout-addresses-step .js-address-form form > div,
#checkout #wrapper .left > section#checkout-addresses-step .js-address-form form ~ #invoice-address {
  margin: var(--spaces-sm) 0 0 0;
}

#checkout #wrapper .left > section#checkout-addresses-step .js-address-form form + .title_address,
#checkout #wrapper .left > section#checkout-addresses-step .js-address-form form:not(:has(.custom-checkbox)) .form-footer {
  margin-top: var(--spaces-md) !important;
}

#checkout #wrapper .left > section#checkout-addresses-step .js-address-form .form-footer {
  display: flex;
  justify-content: center;
  gap: var(--spaces-sm);
}

#checkout #wrapper .left > section#checkout-addresses-step .js-address-form .form-footer::after {
  display: none;
}

#checkout #wrapper .left > section#checkout-addresses-step .js-address-form .form-footer .btn {
  text-decoration: none;
}

#checkout #wrapper .left > section#checkout-addresses-step .address-selector {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: var(--spaces-xsm);
}

#checkout #wrapper .left > section#checkout-addresses-step .address-selector .address-item {
  margin: 0;
  width: calc(33.33% - var(--spaces-sm));
  flex: none;
  border-radius: var(--border-radius-sm);
  border-color: var(--color-darkgrey);
}

#checkout #wrapper .left > section#checkout-addresses-step .address-selector .address-item hr {
  border-color: var(--color-darkgrey);
}

#checkout #wrapper .left > section#checkout-addresses-step .address-selector .address-item:not(:has(.address-footer a)) hr {
  display: none;
}

#checkout #wrapper .left > section#checkout-addresses-step .address-selector .address-item .radio-block {
  min-height: 261px;
}

#checkout #wrapper .left > section#checkout-addresses-step .address-selector .address-item .address-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

#checkout #wrapper .left > section#checkout-addresses-step .address-selector .address-item .address-footer:not(:has(a)) {
  padding: 0;
}

#checkout #wrapper .left > section#checkout-addresses-step .address-selector .address-item .address-footer a {
  display: flex;
  align-items: center;
  gap: var(--spaces-xs);
}

#checkout #wrapper .left > section#checkout-addresses-step .address-selector .address-item .address-footer a:hover {
  text-decoration: underline;
}

#checkout #wrapper .left > section#checkout-addresses-step .address-selector > p {
  display: none;
}

#checkout #wrapper .left > section#checkout-addresses-step .js-address-form .add-address a:hover svg * {
  fill: var(--color-white);
}

#checkout #wrapper .left > section#checkout-addresses-step .js-address-form .text_small:hover {
  text-decoration: underline;
}

/* Left - Métodos de envío */
#checkout #wrapper .left > section#checkout-delivery-step .delivery-options .delivery-option,
#checkout #wrapper .left > section#checkout-payment-step .payment-options .payment-option {
  min-height: auto;
  border-color: var(--color-darkgrey);
  border-radius: var(--border-radius-sm);
}

#checkout #wrapper .left > section#checkout-delivery-step .delivery-options .delivery-option > label,
#checkout #wrapper .left > section#checkout-payment-step .payment-options .payment-option > label {
  padding: var(--spaces-xsm) var(--spaces-md);
  width: 100%;
  min-height: 80px;
  display: flex;
  flex-direction: row;
  align-items: center;
  cursor: pointer;
}

#checkout #wrapper .left > section#checkout-delivery-step .delivery-options .delivery-option .radio {
  width: 50px;
}

#checkout #wrapper .left > section#checkout-delivery-step .delivery-options .delivery-option .info {
  width: calc(100% - 50px);
  gap: var(--spaces-md);
  row-gap: var(--spaces-sm);
}

#checkout #wrapper .left > section#checkout-delivery-step .delivery-options .delivery-option .info::after {
  display: none;
}

#checkout #wrapper .left > section#checkout-delivery-step .delivery-options .delivery-option .info .carrier {
  gap: var(--spaces-md);
  row-gap: var(--spaces-sm);
}

#checkout #wrapper .left > section#checkout-delivery-step .delivery-options .delivery-option .info .carrier .carrier-logo img {
  width: auto;
  height: 50px;
}

#checkout #wrapper .left > section#checkout-delivery-step .order-options {
  margin-top: var(--spaces-md);
}

#checkout #wrapper .left > section#checkout-delivery-step .order-options #delivery label {
  margin-bottom: var(--spaces-xs);
  font-size: var(--font-sm);
}

#checkout #wrapper .left > section#checkout-delivery-step .order-options #delivery textarea {
  padding: var(--spaces-xs) var(--spaces-sm);
  margin: 0;
  width: 100%;
  border-color: var(--color-darkgrey);
  outline: none;
}

/* Left - Métodos de pago */
#checkout #wrapper .left > section#checkout-payment-step .payment-options .payment-option > label {
  min-height: auto;
}

/* Left - Modal términos del servicio */
#checkout #wrapper .left > section#checkout-payment-step .modal-dialog {
  margin: 30px auto;
  max-width: 70%;
}

#checkout #wrapper .left > section#checkout-payment-step .modal-dialog .modal-content {
  border-radius: var(--border-radius-sm);
  border: none;
}

#checkout #wrapper .left > section#checkout-payment-step .modal-dialog .modal-content .close {
  margin-top: -5px;
  outline: none;
  opacity: 1;
}

#checkout #wrapper .left > section#checkout-payment-step .modal-dialog .modal-content .bold {
  font-weight: 600;
}

#checkout #wrapper .left > section#checkout-payment-step .modal-dialog .modal-content .space {
  margin: calc(var(--spaces-md) * 2);
}

/* Right */
#checkout #wrapper .right #js-checkout-summary {
  margin-top: var(--spaces-2md);
}

#checkout #wrapper .right .page-title {
  margin-bottom: var(--spaces-md);
  font-size: var(--font-titles);
  font-weight: 500;
}

#checkout #wrapper .right .checkout-summary {
  padding: var(--spaces-md);
  border-radius: var(--border-radius-sm);
}

#checkout #wrapper .right .checkout-summary .cart-summary-products {
  margin: 0 0 var(--spaces-xsm) 0;
  border: none;
}

#checkout #wrapper .right .checkout-summary .cart-summary-products > div {
  padding: 0 var(--spaces-sm) 0 0 !important;
}

#checkout #wrapper .right .checkout-summary .cart-summary-products > div .media-list .media {
  padding-bottom: var(--spaces-xsm) !important;
  margin-bottom: 0 !important;
  align-items: center;
  border: none !important;
}

#checkout #wrapper .right .checkout-summary .cart-summary-products > div .media-list .media:last-child {
  margin: 0 !important;
  padding: 0 !important;
}

#checkout #wrapper .right .checkout-summary .cart-summary-products > div .media-list .media .media-left {
  padding-right: var(--spaces-md) !important;
}

#checkout #wrapper .right .checkout-summary .cart-summary-products > div .media-list .media .media-object {
  width: 60px !important;
  border-color: var(--color-darkgrey) !important;
  border-radius: var(--border-radius-sm);
}

#checkout #wrapper .right .checkout-summary .cart-summary-products > div .media-list .media .product-name {
  display: flex;
  font-size: var(--font-sm) !important;
}

#checkout #wrapper .right .checkout-summary .cart-summary-products > div .media-list .media .media-body div {
  display: flex;
  gap: var(--spaces-xs);
}

#checkout #wrapper .right .checkout-summary .cart-summary-products > div .media-list .media .media-body div:last-child {
  margin-top: var(--spaces-xs);
}

#checkout #wrapper .right .card-block-products > .block-promo {
  padding-top: var(--spaces-xsm);
  border-top: solid 1px var(--color-darkgrey);
}

#checkout #wrapper .right .cart-summary-totals .cart-total {
  padding: var(--spaces-xsm) 0 0;
}

/* --------------- CONFIRMACIÓN DE PEDIDO --------------- */
#order-confirmation #main > section {
  border-radius: var(--border-radius-sm);
}

#order-confirmation #main > section:first-child {
  margin-bottom: var(--spaces-md);
}

#order-confirmation #wrapper #content-hook_order_confirmation .title_confirmation {
  gap: var(--spaces-md);
}

#order-confirmation #wrapper #content-hook_order_confirmation .title_confirmation > div {
  display: flex;
  flex-direction: column;
  gap: var(--spaces-xs);
}

#order-confirmation #wrapper #content-hook_order_confirmation .title_confirmation > div .card-title {
  display: flex;
  align-items: center;
  font-size: var(--font-titles) !important;
  font-weight: 500;
}

#order-confirmation #wrapper #content-hook_order_confirmation .title_confirmation > div .card-title i {
  padding: 0 var(--spaces-sm) 0 0;
}

#order-confirmation #wrapper #content-hook_order_confirmation .title_confirmation > a {
  display: flex;
  align-items: center;
  gap: var(--spaces-xs);
  font-weight: 400;
  line-height: normal;
}

#order-confirmation #wrapper #content-hook_order_confirmation .title_confirmation > a:hover {
  text-decoration: underline;
}

#order-confirmation #wrapper #content #order-details .card-title {
  margin-bottom: var(--spaces-xsm);
  font-size: var(--font-xl);
  font-weight: 500;
}

#order-confirmation #wrapper #content #order-details ul li:last-child {
  margin: 0;
  font-size: var(--font-md);
  font-weight: 500;
}

#order-confirmation #wrapper #content .bottom:has(*) {
  margin-top: var(--spaces-md);
  padding: var(--spaces-md) 0 0;
  border-top: solid 1px var(--color-grey);
}

/* Crédito */
#order-confirmation #content .dfdcustomercredit .red,
#module-dfdcustomercredit-credit #content .red {
  color: var(--color-red);
}

/* --------------------- CONTACTO ----------------------- */
#contact #content {
  border-radius: var(--border-radius-sm);
}

#contact #content .contact-form .form-group.file .btn {
  border-top-right-radius: var(--border-radius-sm);
  border-bottom-right-radius: var(--border-radius-sm);
}

#contact #content .contact-form .form-group.file .btn .buttonText {
  display: flex;
  align-items: center;
  gap: var(--spaces-sm);
}

/* --------------------- MI CUENTA ---------------------- */
#my-account .account-items {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spaces-md);
}

#my-account .account-items .account-item {
  padding: var(--spaces-md);
  width: calc(50% - var(--spaces-sm));
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spaces-md);
  border: solid 1px transparent;
  border-radius: var(--border-radius-sm);
  background-color: var(--color-lightgrey);
}

#my-account .account-items .account-item:hover {
  border-color: var(--color-primary);
}

#my-account .account-items .account-item .info {
  display: flex;
  align-items: center;
  gap: var(--spaces-md);
  font-weight: 500;
  color: var(--color-black);
}

#my-account .account-items .account-item .info svg {
  width: 40px;
  height: 40px;
}

#my-account .account-items .account-item .icon,
#history .orders_history .order-history .icon {
  min-width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--border-radius-md);
}

#my-account .account-items .account-item .icon:hover svg *,
#history .orders_history .order-history .icon:hover svg * {
  stroke: var(--color-white);
}

#content-wrapper.account .back {
  margin-top: var(--spaces-md);
  width: fit-content;
  display: flex;
  align-items: center;
  gap: var(--spaces-sm);
}

#content-wrapper.account .back:hover svg * {
  fill: var(--color-black);
}

/* ---------------- APARTADOS MI CUENTA ----------------- */
#content-wrapper.account .card_account {
  padding: var(--spaces-md);
  border-radius: var(--border-radius-sm);
}

#content-wrapper.account .card_account > .title {
  font-weight: 500;
  font-size: var(--font-xl);
  text-transform: uppercase;
}

/* Direcciones */
#addresses .addresses-cont {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spaces-sm);
}

#addresses .addresses-cont .card_address {
  width: calc(33.33% - calc(var(--spaces-md) / 3));
}

#addresses .addresses-cont .card_address article {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border-radius: var(--border-radius-sm);
}

#addresses .addresses-cont .card_address article .address-body {
  padding-bottom: var(--spaces-sm);
}

#addresses .addresses-cont .card_address article .address-body .alias {
  margin-bottom: var(--spaces-xs);
  display: flex;
  font-weight: 500;
  font-size: var(--font-lg);
}

#addresses .addresses-cont .card_address article .address-body address {
  margin: 0;
}

#addresses .addresses-cont .card_address article .address-footer {
  margin: 0 var(--spaces-sm);
  padding: var(--spaces-sm);
  justify-content: space-between;
  gap: var(--spaces-md);
  border-color: var(--color-grey);
}

#addresses .addresses-cont .card_address article .address-footer a {
  display: flex;
  align-items: center;
  gap: var(--spaces-xs);
}

#addresses .addresses-cont .card_address article .address-footer a:hover {
  text-decoration: underline;
}

#addresses .addresses-cont .card_address article .address-footer a span {
  font-size: var(--font-sm);
}

#addresses .addresses-footer {
  margin: var(--spaces-md) 0 0 0;
}

#addresses .addresses-footer a span {
  font-size: var(--font-sm);
}

#addresses .addresses-footer a:hover svg * {
  fill: var(--color-white);
}

/* Descuentos */
#discount #content .card_account:has(table),
#module-dfdodooconnector-invoices #content .card_account:has(table) {
  padding: 0;
}

#discount #content table,
#module-dfdodooconnector-invoices #content table,
#module-dfdcustomercredit-credit #content table {
  border: none;
  border-spacing: 0;
  border-collapse: separate;
}

#discount #content table > thead th,
#module-dfdodooconnector-invoices #content table > thead th,
#module-dfdcustomercredit-credit #content table > thead th {
  background-color: var(--color-primary);
  color: var(--color-white);
}

#discount #content table th,
#discount #content table td,
#module-dfdodooconnector-invoices #content table th,
#module-dfdodooconnector-invoices #content table td,
#module-dfdcustomercredit-credit #content table th,
#module-dfdcustomercredit-credit #content table td {
  text-align: center !important;
  border: none;
}

#discount #content table thead th,
#module-dfdodooconnector-invoices #content table thead th,
#module-dfdcustomercredit-credit #content table thead th {
  font-weight: 400;
  border-right: solid 1px var(--color-white);
}

#discount #content table thead th:first-child,
#module-dfdodooconnector-invoices #content table thead th:first-child,
#module-dfdcustomercredit-credit #content table thead th:first-child {
  border-top-left-radius: var(--border-radius-sm);
}

#discount #content table thead th:last-child,
#module-dfdodooconnector-invoices #content table thead th:last-child,
#module-dfdcustomercredit-credit #content table thead th:last-child {
  border-top-right-radius: var(--border-radius-sm);
  border: none;
}

#discount #content table tbody th,
#module-dfdodooconnector-invoices #content table tbody th,
#module-dfdcustomercredit-credit #content table tbody th {
  border-left: solid 1px var(--color-secondary);
  border-bottom: solid 1px var(--color-secondary);
}

#discount #content table tbody tr:last-child th,
#module-dfdodooconnector-invoices #content table tbody tr:last-child th,
#module-dfdcustomercredit-credit #content table tbody tr:last-child th {
  border-bottom-left-radius: var(--border-radius-sm);
}

#discount #content table tbody td,
#module-dfdodooconnector-invoices #content table tbody td,
#module-dfdcustomercredit-credit #content table tbody td {
  border-left: solid 1px var(--color-secondary);
  border-bottom: solid 1px var(--color-secondary);
}

#discount #content table tbody td:last-child,
#module-dfdodooconnector-invoices #content table tbody td:last-child,
#module-dfdcustomercredit-credit #content table tbody td:last-child {
  border-right: solid 1px var(--color-secondary);
  border-bottom-right-radius: var(--border-radius-sm);
}

#discount #content .cart-rules .cart-rule > ul,
#module-dfdodooconnector-invoices #content .invoices .invoice > ul,
#module-dfdcustomercredit-credit #content .last-orders .order > ul {
  padding: var(--spaces-sm) var(--spaces-md);
  border: solid 1px var(--color-darkgrey);
  border-radius: var(--border-radius-sm);
}

#discount #content .cart-rules .cart-rule:last-child > ul,
#module-dfdodooconnector-invoices #content .invoices .invoice:last-child > ul,
#module-dfdcustomercredit-credit #content .last-orders .order:last-child > ul {
  margin: 0;
}

#discount #content .cart-rules .cart-rule > ul li,
#module-dfdodooconnector-invoices #content .invoices .invoice > ul li,
#module-dfdcustomercredit-credit #content .last-orders .order > ul li {
  padding: var(--spaces-xs) 0;
  display: flex;
  gap: var(--spaces-xs);
  font-size: var(--font-sm);
}

#discount #content .cart-rules .cart-rule > ul li strong,
#module-dfdodooconnector-invoices #content .invoices .invoice > ul li strong,
#module-dfdcustomercredit-credit #content .last-orders .order > ul li strong {
  min-width: 50%;
}

#discount #content .card_account > span,
#module-dfdodooconnector-invoices #content .card_account > span {
  display: flex;
  font-size: var(--font-sm);
  line-height: var(--font-lg);
}

/* Pedidos */
#history .orders_history {
  margin-top: var(--spaces-md);
}

#history .orders_history .order-history {
  margin-bottom: var(--spaces-sm);
  padding: var(--spaces-md);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spaces-md);
  border: solid 1px var(--color-darkgrey);
  border-radius: var(--border-radius-sm);
}

#history .orders_history .order-history:last-child {
  margin: 0;
}

#history .orders_history .order-history:hover {
  border-color: var(--color-primary);
}

#history .orders_history .order-history .history-info {
  display: flex;
  flex-direction: column;
  gap: var(--spaces-xs);
  color: var(--color-black);
}

#history .orders_history .order-history .history-info .ref {
  font-weight: 500;
}

/* Detalles del pedido */
#order-detail .card_account .order_info span {
  font-size: var(--font-sm);
}

#order-detail .card_account .box {
  margin: var(--spaces-md) 0 0 0 !important;
  padding: var(--spaces-md);
  border: solid 1px var(--color-darkgrey);
  border-radius: var(--border-radius-sm);
}

#order-detail .card_account .order_resume .box * {
  font-size: var(--font-sm);
}

#order-detail .card_account .order_resume .box .row > .item {
  border: none;
}

#order-detail .card_account .order_resume .box #accordion .address button {
  padding: 0;
  display: flex;
  align-items: center;
  gap: var(--spaces-sm);
  letter-spacing: normal !important;
  border: none;
}

#order-detail .card_account .order_resume .box #accordion .address button span {
  font-size: var(--font-md) !important;
  font-weight: 500;
}

#order-detail .card_account .order_resume .box #accordion .address:has(> div.collapsing) .collapse_up,
#order-detail .card_account .order_resume .box #accordion .address:has(> div.collapse.in) .collapse_up,
#order-detail .card_account .order_resume .box #accordion .address:has(> div.collapsing[aria-expanded="false"]) .collapse_down {
  display: block;
}

#order-detail .card_account .order_resume .box #accordion .address:has(> div.collapse) .collapse_up,
#order-detail .card_account .order_resume .box #accordion .address:has(> div.collapsing[aria-expanded="false"]) .collapse_up,
#order-detail .card_account .order_resume .box #accordion .address:has(> div.collapsing) .collapse_down,
#order-detail .card_account .order_resume .box #accordion .address:has(> div.collapse.in) .collapse_down {
  display: none;
}

#order-detail .card_account .order_resume .box #accordion .address address {
  padding-top: var(--spaces-xs);
}

#order-detail .card_account .order_resume .box #accordion .address:last-child {
  margin-top: var(--spaces-xsm);
}

#order-detail .card_account .order_resume .box .row > .item.mid > div:not(:first-child) {
  margin-top: var(--spaces-md);
}

#order-detail .card_account .order_resume .box .title {
  margin-bottom: var(--spaces-xs);
  font-size: var(--font-md);
  font-weight: 500;
}

#order-detail .card_account .order_resume .box .order_summary .line-total {
  margin-bottom: 0;
}

#order-detail .card_account .order_resume .box .order_summary .line-total * {
  font-size: var(--font-md);
  font-weight: 400;
}

#order-detail .card_account .order_actions .oactions {
  margin-top: var(--spaces-md);
  display: flex;
  flex-wrap: wrap;
  gap: var(--spaces-sm);
}

#order-detail .card_account .order_actions .oactions a {
  margin: 0;
}

#order-detail .card_account .order-items .order-item {
  margin: 0 var(--spaces-md);
  padding: var(--spaces-md) 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  column-gap: var(--spaces-2md);
  border-bottom: solid 1px var(--color-darkgrey);
}

#order-detail .card_account .order-items .order-item:last-child {
  border: none;
}

#order-detail .card_account .order-items .order-item img {
  min-width: 100px;
  height: auto;
  border-radius: var(--border-radius-md);
}

#order-detail .card_account .order-items .order-item .info {
  width: calc(100% - 140px);
}

#order-detail .card_account .order-items .order-item .info > .row {
  margin-top: var(--spaces-xs);
}

#order-detail .card_account .order-items .order-item .info > .row * {
  font-size: var(--font-sm);
}

#order-detail .card_account .order-items .order-item .info > .row .price {
  margin-right: var(--spaces-xs);
  font-size: var(--font-md);
  font-weight: 500;
  line-height: 30px;
}

#order-detail .card_account .messages .title,
#order-detail .card_account #order-message .title {
  font-weight: 500;
  font-size: var(--font-lg);
}

#order-detail .card_account .messages .message {
  margin-top: var(--spaces-sm);
  padding-bottom: var(--spaces-sm);
  border-bottom: solid 1px var(--color-darkgrey);
}

#order-detail .card_account .messages .message:last-child {
  padding: 0;
  border: none;
}

#order-detail .card_account .messages .message .header {
  margin-bottom: var(--spaces-xs);
  font-size: 15px;
}

#order-detail .card_account #order-message {
  scroll-margin-top: 250px;
}

#order-detail .card_account #order-message .title + p {
  margin-top: var(--spaces-sm);
}

#order-detail .card_account #order-message .form-group label {
  font-size: 15px;
  line-height: normal;
}

#order-detail .card_account #order-message .form-group .form-control {
  border-color: var(--color-darkgrey);
}

/* Facturas */
#module-dfdodooconnector-invoices #content table tbody td a {
  display: flex;
  justify-content: center;
}

#module-dfdodooconnector-invoices #content table tbody td a:hover svg * {
  fill: var(--color-lightred);
}

/* ------------------------ CMS ------------------------- */
#cms #content a {
  color: var(--color-smokedred);
}

#cms #content a:hover {
  text-decoration: underline;
}

#cms #content .bold {
  font-weight: 600;
}

#cms #content .space {
  margin: calc(var(--spaces-md) * 2);
}

#cms #content > p:last-child {
  margin: 0;
}

/* Política de cookies */
#cms .cookies-table .cookieplus-finality-container {
  padding: var(--spaces-xsm) 0 0;
  border: none;
}

#cms .cookies-table .cookieplus-finality-container:not(:has(table)) {
  display: none;
}

#cms .cookies-table .cookieplus-finality-container:first-child {
  padding-top: 0;
}

#cms .cookies-table .cookieplus-finality-container .cookiesplus-finality-content-cms {
  margin-top: var(--spaces-xs);
  padding-bottom: var(--spaces-xs);
  overflow-x: auto;
}

#cms .cookies-table .cookieplus-finality-container .cookiesplus-finality-content-cms::-webkit-scrollbar {
  height: 2px;
}

#cms .cookies-table .cookieplus-finality-container .cookiesplus-finality-content-cms table {
  border: none;
  border-spacing: 0;
  border-collapse: separate;
}

#cms .cookies-table .cookieplus-finality-container .cookiesplus-finality-content-cms table tr th {
  color: var(--color-black);
  background-color: var(--color-secondary);
  border: solid 1px var(--color-primary);
  border-left: none;
}

#cms .cookies-table .cookieplus-finality-container .cookiesplus-finality-content-cms table tr th:first-child {
  border-left: solid 1px var(--color-primary);
  border-top-left-radius: var(--border-radius-sm);
}

#cms .cookies-table .cookieplus-finality-container .cookiesplus-finality-content-cms table tr th:last-child {
  border-top-right-radius: var(--border-radius-sm);
}

#cms .cookies-table .cookieplus-finality-container .cookiesplus-finality-content-cms table tr td {
  border: solid 1px var(--color-primary);
  border-bottom: none;
  border-left: none;
}

#cms .cookies-table .cookieplus-finality-container .cookiesplus-finality-content-cms table tr:first-child td {
  border-top: none;
}

#cms .cookies-table .cookieplus-finality-container .cookiesplus-finality-content-cms table tr td:first-child {
  border-left: solid 1px var(--color-primary);
}

#cms .cookies-table .cookieplus-finality-container .cookiesplus-finality-content-cms table tr:last-child td {
  border-bottom: solid 1px var(--color-primary);
}

#cms .cookies-table .cookieplus-finality-container .cookiesplus-finality-content-cms table tr:last-child td:first-child {
  border-bottom-left-radius: var(--border-radius-sm);
}

#cms .cookies-table .cookieplus-finality-container .cookiesplus-finality-content-cms table tr:last-child td:last-child {
  border-bottom-right-radius: var(--border-radius-sm);
}

/* ------------------- 404 NOT FOUND -------------------- */
#page-content:has(#main > .page-not-found) {
  padding: var(--spaces-md) !important;
}

#main:has(> .page-not-found) {
  min-height: calc(100dvh - 97px - 77px - 40px);
  display: flex;
  justify-content: center;
  align-items: center;
}

.page-not-found {
  max-width: 80% !important;
  background-color: transparent !important;
}

.page-not-found .not-found img {
  height: auto;
}

.page-not-found .not-found .title {
  margin: var(--spaces-2md) 0 0;
  font-weight: 500;
  font-size: var(--font-titles);
  text-transform: uppercase;
  text-align: center;
  color: var(--color-primary);
}

.page-not-found .not-found .links {
  margin-top: var(--spaces-md);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}

/* ------------------- MANTENIMIENTO -------------------- */
body:has(> #layout-error) {
  padding: 0 var(--spaces-md);
}

#layout-error {
  margin-top: 0 !important;
  max-width: 500px;
  transform: translateY(calc(50dvh - 161px));
  border: solid 1px var(--color-grey);
  border-radius: var(--border-radius-md);
  box-shadow: none;
}

#layout-error > #main {
  padding: 0 var(--spaces-md);
}

#layout-error > #main .logo > img {
  max-height: 100px;
}

#layout-error > #main #content {
  color: var(--color-black);
}

/* --------------------- RESPONSIVE --------------------- */
@media (max-width: 1399px) {
  :root {
    --width-menu: 300px;
  }

  /* --------------------- CATEGORÍA ---------------------- */
  #page-content #content-wrapper #main.listing #js-product-list > .products > div {
    width: 50%;
  }
}

@media (max-width: 1199px) {
  /* --------------------- GENERAL ---------------------- */
  /* Estructura web */
  #wrapper > #content-footer {
    width: 100%;
  }

  /* Breadcrumb */
  .breadcrumb:has(~ #right-column),
  #notifications:has(~ #right-column) {
    width: 100%;
  }

  /* --------------------- CATEGORÍA ---------------------- */
  #page-content #content-wrapper:has(#main.listing) {
    width: 100%;
  }

  #page-content #content-wrapper #main.listing div:has(> .page-title) {
    margin: var(--spaces-md) 0;
  }

  #page-content #content-wrapper #main.listing #js-product-list > .products > div {
    width: 25%;
  }

  /* Subcategorías */
  #right-column {
    display: none;
  }

  .block-categories {
    gap: var(--spaces-2md);
  }

  .block-categories .item {
    width: auto;
  }

  .block-categories .item a {
    padding: 12px;
    width: 55px;
    height: 55px;
    border: solid 1px var(--color-black);
  }

  /* Filtros */
  #amazzing_filter {
    margin: 0;
    max-width: 380px !important;
    transition: transform 0.3s ease-out !important;
  }

  #amazzing_filter > .title_block {
    padding: var(--spaces-md) !important;
    height: 59px;
    font-weight: 400 !important;
    color: var(--color-white);
    background-color: var(--color-primary) !important;
  }

  #amazzing_filter > .block_content {
    padding: 0 var(--spaces-md) var(--spaces-sm);
    height: calc(100% - 143px);
  }

  #amazzing_filter > .block_content .af_filter {
    border-width: 1px;
  }
}

@media (max-width: 991px) {
  /* ----------------------- HOME ------------------------- */
  #index .homeblocks .blocks .block {
    width: calc(50% - var(--spaces-xs));
  }

  /* --------------------- CATEGORÍA ---------------------- */
  /* Subcategorías */
  .block-categories {
    gap: 0;
  }

  .block-categories .item {
    width: calc(100% / 7);
  }

  /* --------------------- CARRITO ---------------------- */
  /* Right */
  #cart #wrapper .right {
    margin-top: var(--spaces-md);
  }

  /* --------------------- CHECKOUT ----------------------- */
  /* Left - Direcciones */
  #checkout #wrapper .left > section#checkout-addresses-step .address-selector .address-item {
    width: calc(50% - calc(var(--spaces-xsm) / 2));
  }
}

@media (max-width: 767px) {
  /* --------------------- GENERAL ---------------------- */
  /* Estructura web */
  #wrapper > #content-footer > #page-content {
    min-height: calc(100dvh - 97px - 171px);
  }

  /* --------------------- HEADER ----------------------- */
  #header .header-top #search_widget input[type="text"] {
    width: 210px !important;
  }

  /* --------------------- FOOTER ----------------------- */
  #footer .links {
    flex-direction: column;
    text-align: center;
  }

  #footer .links div::after {
    display: none;
  }

  #footer .copyright {
    margin-top: var(--spaces-sm);
    padding-top: var(--spaces-sm);
    border-top: solid 1px var(--color-white);
  }

  /* --------------------- CATEGORÍA ---------------------- */
  #page-content #content-wrapper #main.listing #js-product-list > .products > div {
    width: 50%;
  }

  /* --------------------- CARRITO ---------------------- */
  /* Left */
  #cart #wrapper .left .cart-item .cart__product-info > .left {
    width: 100%;
  }

  #cart #wrapper .left .cart-item .cart__product-info .cart__product-price {
    width: 100%;
    flex-direction: row;
    column-gap: var(--spaces-sm);
  }

  /* --------------------- CHECKOUT ----------------------- */
  /* Left - Direcciones */
  #checkout #wrapper .left > section#checkout-addresses-step .address-selector .address-item .address-footer a {
    margin: 0 var(--spaces-sm);
  }

  /* --------------------- MI CUENTA ---------------------- */
  #my-account .account-items .account-item {
    width: 100%;
  }

  /* ---------------- APARTADOS MI CUENTA ----------------- */
  /* Direcciones */
  #addresses .addresses-cont .card_address {
    width: calc(50% - var(--spaces-xs));
  }

  /* Detalles del pedido */
  #order-detail .card_account .order_resume .box .row > .item.mid {
    margin: var(--spaces-xsm) 0 !important;
  }

  /* ------------------- 404 NOT FOUND -------------------- */
  #main:has(> .page-not-found) {
    min-height: calc(100dvh - 97px - 171px - 40px);
  }
}

@media (max-width: 543px) {
  /* --------------------- GENERAL ---------------------- */
  /* Estructura web */
  #wrapper {
    height: calc(100dvh - 144px);
  }

  #wrapper > #content-footer > #page-content {
    min-height: calc(100dvh - 144px - 197px);
  }

  /* ------------ LOGIN / REGISTRO / PASSWORD ----------- */
  #auth-container .auth-form-container {
    padding: 30px var(--spaces-2md);
  }

  /* --------------------- HEADER ----------------------- */
  #header .header-top div:has(> #search_widget) {
    margin-top: var(--spaces-sm);
    width: 100%;
  }

  #header .header-top #search_widget input[type="text"] {
    width: 100% !important;
  }

  #header .header-top #_desktop_cart {
    margin: 0;
  }

  /* --------------------- FOOTER ----------------------- */
  #footer .copyright {
    flex-direction: column;
    text-align: center;
  }

  /* ----------------------- HOME ------------------------- */
  #index .homeblocks .blocks .block {
    width: 100%;
  }

  #index .homeblocks .blocks .block img {
    height: 200px;
  }

  /* --------------------- CATEGORÍA ---------------------- */
  /* Subcategorías */
  .block-categories {
    justify-content: center;
    gap: var(--spaces-xsm);
  }

  .block-categories .item {
    width: auto;
  }

  /* --------------------- CARRITO ---------------------- */
  /* Left */
  #cart #wrapper .left .cart-items .cart-item {
    gap: var(--spaces-sm);
  }

  #cart #wrapper .left .cart-item .cart__product-img img {
    width: 100px;
    height: 100px;
  }

  #cart #wrapper .left .cart-item .cart__product-info {
    width: calc(100% - calc(100px + var(--spaces-md)));
  }

  /* --------------------- CHECKOUT ----------------------- */
  /* Left - Direcciones */
  #checkout #wrapper .left > section#checkout-addresses-step .address-selector .address-item {
    width: 100%;
  }

  /* ---------------- APARTADOS MI CUENTA ----------------- */
  /* Direcciones */
  #addresses .addresses-cont .card_address {
    width: 100%;
  }

  /* Detalles del pedido */
  #order-detail .card_account .order-items .order-item .info {
    margin-top: var(--spaces-xs);
    width: 100%;
  }

  /* ------------------- 404 NOT FOUND -------------------- */
  #main:has(> .page-not-found) {
    min-height: calc(100dvh - 144px - 197px - 40px);
  }

  .page-not-found {
    max-width: none !important;
  }
}
