/* Base tags ---------------------------- */
b,
strong {
  font-weight: 700;
}

label {
  font-weight: normal;
}

svg {
  fill: currentColor;
}

textarea {
  max-width: 100%;
}

/* Images ------------------------------- */
.img-fluid {
  display: block;
}

.ratio>.img-fluid {
  object-fit: cover;
}

/* Headings ----------------------------- */
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6,
.heading {
  font-weight: bold;
  margin-top: 0;
}

/* Base css states ---------------------- */
:focus {
  outline: none !important;
}

/* Custom scrollbars -------------------- */
/* In mobile/tablet use default scrollbar */
@media (min-width: 768px) {

  /* Chrome */
  ::-webkit-scrollbar {
    width: 9px;
    height: 9px;
  }

  ::-webkit-scrollbar-track {
    background-color: hsl(0, 0%, 95%);
  }

  ::-webkit-scrollbar-thumb {
    background-color: hsl(0, 0%, 75%);
    border-radius: 20px;
    border: 1px solid hsl(0, 0%, 90%);
  }

  /* Firefox */
  * {
    scrollbar-width: thin;
    scrollbar-color: hsl(0, 0%, 75%) hsl(0, 0%, 95%);
  }
}

/* Selection ---------------------------- */
::-moz-selection {
  background-color: var(--acre-primary-blue);
  color: var(--tb-mono-white);
}

::selection {
  background-color: var(--acre-primary-blue);
  color: var(--tb-mono-white);
}

/* Btn close ---------------------------- */
.btn-close:focus {
  box-shadow: none;
}

/* Base transitions --------------------- */
button,
input,
.btn:not(.btn-link) {
  transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out;
}

a,
.btn-link {
  transition: color .15s ease-in-out, font-weight .15s ease-in-out;
}

:where(a, button) svg {
  transition: fill .15s ease-in-out;
}

/* Links -------------------------------- */
a {
  fill: var(--acre-primary-blue);
  text-decoration: none;
  color: var(--acre-primary-blue);
}

/* Table -------------------------------- */
thead td,
th {
  font-weight: bold;
}

.table {
  border-color: #ddd;
}
.table > :not(:first-child) {
  border-color: #ddd;
  border-top-width: 1px;
}

/* Corrección específica para checkout: quitar borde del segundo también */
.section-checkout-confirm .table > :nth-child(-n+2) {
  border-top-width: 0;
}

.table>:not(:last-child)>:last-child>* {
  border-bottom-color: inherit;
}

/* Lists -------------------------------- */
.list-inline {
  margin-bottom: 0;
}

/* Off canvas --------------------------- */
.offcanvas-body:last-child {
  padding-bottom: calc(1rem + env(safe-area-inset-bottom));
}

/* Aspect ratios ------------------------ */
.ratio {
  background-size: cover;
  background-position: center;
}

a.ratio {
  display: block;
  width: 100%;
  height: 100%;
}

.ratio-2x1::before {
  --bs-aspect-ratio: 50%;
}

.ratio-1x2::before {
  --bs-aspect-ratio: 150%;
}

.ratio-10x3::before {
  --bs-aspect-ratio: 30%;
}

.ratio-4x1::before {
  --bs-aspect-ratio: 25%;
}

.ratio-1x1-43::before {
  --bs-aspect-ratio: 143%;
}

/* Pagination bs ------------------------ */
.page-link:focus {
  box-shadow: none;
}

/* Accordions --------------------------- */
.accordion-dropdown:not(.accordion-dropdown-init) {
  display: none !important;
}

.accordion-button:focus {
  box-shadow: none;
}

.accordion-button .icon {
  width: 1rem;
  height: 1rem;
  margin-inline-start: auto;
  transform: rotate(0deg);
  transition: transform 150ms ease-in-out;
}

.accordion-button::after {
  display: none;
}

.accordion-button:not(.collapsed) .icon {
  transform: rotate(-180deg);
}

.accordion-button:not(.collapsed) {
  background-color: transparent;
}

/* Swiper ------------------------------- */
.swiper-control {
  transition: all .15s ease-in-out;
}

.swiper-control svg {
  pointer-events: none;
}

.swiper-control::after {
  display: none;
}

/* Tabs --------------------------------- */
.nav-tabs>li>a {
  border-radius: 0;
  color: var(--bs-gray-600);
  display: flex;
  align-items: center;
  justify-content: center;
}

.nav-tabs>li>a:focus {
  background-color: #eee;
  border-color: #eee;
}

.nav-tabs>li>a:hover {
  border-color: #ddd;
  background-color: var(--bs-gray-200);
  color: var(--bs-gray-600);
}

/* Tooltips/Popovers -------------------- */
.tooltip,
.popover {
  font-family: inherit;
}

/* Date picker -------------------------- */
/* Date picker dropdown */
.date .input-group-text svg {
  width: 1rem;
  height: 1rem;
}

.bootstrap-datetimepicker-widget {
  z-index: 3000;
}

.bootstrap-datetimepicker-widget table td.today::before {
  border-bottom-color: var(--acre-primary-blue);
}

.bootstrap-datetimepicker-widget table td.active,
.bootstrap-datetimepicker-widget table td.active:hover,
.bootstrap-datetimepicker-widget table td span.active {
  background-color: var(--acre-primary-blue);
}

/* Date picker input */
.input-group.date .input-group-addon {
  border-radius: 0 0.375rem 0.375rem 0;
  background-color: var(--tb-mono-white);
  position: relative;
}

.input-group.date .input-group-addon .glyphicon-calendar {
  position: static;
  top: 0;
  display: block;
  font-family: inherit;
}

.input-group.date .input-group-addon .glyphicon-calendar::before {
  content: "";
  display: block;
  height: 16px;
  width: 16px;
  background-image: url("../../img/calendar-input-date.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 16px 16px;
}

/* Html output control ------------------ */
.html-output img:not(.img-fluid) {
  height: auto;
  display: block;
  max-width: 100%;
}


/* Stars -------------------------------- */
.lcRating {
  display: flex;
  flex-direction: row-reverse;
}

.lcRating.editable {
  flex-direction: row;
}

.lcRating .starIcon {
  transition: transform 150ms ease;
}

.lcRating .starIcon,
.lcRating .starIcon~.starIcon {
  fill: #fbc02d;
}

.lcRating .starIcon.inactive,
.lcRating.editable:hover>.starIcon,
.lcRating:hover.editable>.starIcon~.starIcon {
  fill: var(--bs-gray-400);
}

.lcRating.editable:hover>.starIcon,
.lcRating:hover.editable>.starIcon~.starIcon {
  transform: scale(1);
}

.lcRating.editable:hover>.starIcon:hover,
.lcRating:hover.editable>.starIcon:hover~.starIcon {
  fill: #fbc02d;
  transform: scale(1.1);
}

/* FlashSale ---------------------------- */
.countdown-content {
  background: var(--acre-primary-blue);
  color: var(--tb-mono-white);
}

.countdown .icon {
  width: 25px;
  height: 25px;
  fill: currentColor;
}

.countdown .cd-wrap {
  white-space: nowrap;
}

/* ToTop button ------------------------- */
#to-top-btn {
  position: fixed;
  z-index: 900;
  bottom: 8.5rem;
  right: 1.5rem;
  padding: 0;
  border-radius: 50%;
  width: 60px;
  height: 60px;
  transform: translateY(6rem);
  opacity: 0;
  visibility: hidden;
  transition: transform .15s ease-in-out, opacity .15s ease-in-out, visibility .15s ease-in-out, color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out;
}

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

#to-top-btn .icon {
  width: 2rem;
  height: 2rem;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  transition: fill .15s ease-in-out;
}

/* Ghypicon trash legacy override ------- */
.glyphicon-trash {
  font-family: inherit;
  top: auto;
  position: static;
}

.glyphicon-trash::before {
  content: "";
  display: block;
  background-image: url("../../img/delete-basket.svg");
  height: 1rem;
  width: 1rem;
  background-size: 1rem 1rem;
  background-position: center;
  background-repeat: no-repeat;
}

/* Hidden delete basket row label ------- */
.basketDeleteRowText {
  display: none;
}

/* Form submit message ------------------ */
.form-message:empty {
  display: none;
}

/* Range slider ------------------------- */
.irs--round .irs-bar {
  background-color: var(--acre-primary-blue);
}

.irs--round .irs-handle {
  border-color: var(--acre-primary-blue);
}

.irs--round .irs-from,
.irs--round .irs-to,
.irs--round .irs-single {
  background-color: var(--acre-primary-blue);
}

.irs--round .irs-from::before,
.irs--round .irs-to::before,
.irs--round .irs-single::before {
  border-top-color: var(--acre-primary-blue);
}

/* Backdrops unification ---------------- */
/* Mmenu, bs offcanvas, bs modal, mobile headers search backdrop */
.mm-wrapper__blocker {
  background-color: var(--tb-backdrop-color);
}

.mm-wrapper--opened .mm-wrapper__blocker {
  opacity: var(--tb-backdrop-opacity);
}

.mm-wrapper--opened .mm-wrapper__blocker {
  /* Set to 0.15 like .fade of bootstrap default */
  --mm-blocker-opacity-delay: 0.15s;
}

.offcanvas-backdrop {
  background-color: var(--tb-backdrop-color);
}

.offcanvas-backdrop.show {
  opacity: var(--tb-backdrop-opacity);
}

.modal-backdrop {
  --bs-backdrop-bg: var(--tb-backdrop-color);
  --bs-backdrop-opacity: var(--tb-backdrop-opacity);
}

/* Btn group fixes ---------------------- */
.btn-group>:where([style*="display: none"], [style*="display:none"]):not(.btn-check)+.btn {
  border-top-left-radius: var(--bs-btn-border-radius);
  border-bottom-left-radius: var(--bs-btn-border-radius);
}

/* Shopping lists dropdown menu --------- */
[data-shopping-list-lists-menu-list] li.divider {
  opacity: 0;
  visibility: hidden;
}

[data-shopping-list-lists-menu-list] li.divider+li {
  position: sticky;
  bottom: calc(var(--bs-dropdown-padding-y) * -1);
  background-color: var(--tb-mono-white);
  border-top: 1px solid var(--bs-dropdown-divider-bg);
  margin: -1px calc(var(--bs-dropdown-padding-x) * -1) calc(var(--bs-dropdown-padding-y) * -1);
  padding: var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);
}