:root {
  --body-bg: #f1eee7;
  --nav-height: 110px;
}

.bodoni {
  font-family: "Bodoni Moda", serif;
  font-optical-sizing: auto;
  font-style: normal;
}

.alegreya {
  font-family: "Alegreya", serif;
  font-optical-sizing: auto;
  font-style: normal;
}

body {
  background: var(--body-bg);
}

/* NAV */
.nav-oro {
  background-color: rgba(241, 238, 231, 1) !important;
  height: var(--nav-height);
  transition: all 400ms ease;
  display: flex;
  flex-direction: column;
}
.nav-oro a {
  color: #b59b4b;
  transition: 400ms all linear;
  letter-spacing: 1px;
}
.nav-oro a:hover {
  color: #8b7223;
}

#main-slider {
  max-height: 550px;
}

#main-slider .carousel-item {
  max-height: 550px;
}

.nav-oro.scrolled {
  background-color: rgba(241, 238, 231, 0.9) !important;
  height: 110px;
  border-bottom: solid 2px rgba(228, 191, 67, 1);
}

.fix-nav-space {
  margin-top: var(--nav-height) !important;
}

.nav-oro.hidden {
  transform: translateY(-100%);
}

#secondary-menu .navbar-brand,
#secondary-menu .nav-buttons {
  display: flex;
  transition: all 400ms linear;
  opacity: 0;
}
#secondary-menu.position-fixed .navbar-brand,
#secondary-menu.position-fixed .nav-buttons {
  opacity: 1;
}
.nav-buttons a {
  color: #b59b4b;
}
.nav-buttons a:hover {
  color: #8b7223;
}

.nav-filters .nav-item {
  position: relative;
  display: block;
  margin: 0px 10px;
}
.nav-filters .nav-link {
  color: black;
}
.nav-filters .nav-link.active,
.nav-filters .nav-link:hover {
  color: #9d8843;
  font-weight: 600;
}
.nav-filters .nav-item:not(:last-child)::after {
  background-color: #cccccc;
  content: "";
  position: absolute;
  top: 50%;
  right: -18px;
  height: 2px;
  width: 18px;
}

/* COLORS 66666d */
.txt-gray {
  color: #65666c;
}
.txt-golden {
  color: #9d8843 !important;
}
.txt-brown {
  color: #be8658;
}
.txt-darkgray {
  color: #4c4c4d;
}

.bg-base {
  background-color: rgba(241, 238, 231, 1) !important;
}

/* MISC */

.line-divider {
  background: rgb(103, 67, 18);
  background: -moz-linear-gradient(
    270deg,
    rgba(103, 67, 18, 1) 0%,
    rgba(228, 191, 67, 1) 50%,
    rgba(103, 67, 18, 1) 100%
  );
  background: -webkit-linear-gradient(
    270deg,
    rgba(103, 67, 18, 1) 0%,
    rgba(228, 191, 67, 1) 50%,
    rgba(103, 67, 18, 1) 100%
  );
  background: linear-gradient(
    270deg,
    rgba(103, 67, 18, 1) 0%,
    rgba(228, 191, 67, 1) 50%,
    rgba(103, 67, 18, 1) 100%
  );
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#674312",endColorstr="#674312",GradientType=1);
  display: block;
  height: 2px;
  margin: 0px;
  padding: 0px;
}

.unstyled {
  list-style: none;
}
.unstyled a {
  text-decoration: none;
  color: inherit;
}

.cap {
  font-size: 40px;
  line-height: 1;
  display: inline-block;
  position: relative;
  padding: 0px;
  background: var(--body-bg);
  padding: 0px 5px;
  margin-right: 4px;
  color: #9e6f23;
}

.cap::before {
  content: "";
  position: absolute;
  top: -3px;
  left: -3px;
  right: -3px;
  bottom: -3px;
  background: linear-gradient(0deg, #674312 0%, #e4bf43 50%, #674312 100%);
  z-index: -1;
}

ul.categories {
  list-style: none !important;
  padding: 0px;
  margin: 0px;
  display: flex;
}
ul.categories > li {
  list-style: none;
  display: block;
}

.category-img-container {
  height: 290px;
  width: 100%;
  display: flex;
  align-items: center;
  padding: 14px;
  border-top: solid 3px #907615;
  border-bottom: solid 3px #907615;
  position: relative;
}
.category-img-container::after,
.category-img-container::before {
  content: "";
  display: block;
  background: linear-gradient(0deg, #674312 0%, #e4bf43 50%, #674312 100%);
  width: 3px;
  position: absolute;
  top: -3px;
  bottom: -3px;
  transition: all 500ms linear;
}
.category-img-container::after {
  right: -3px;
}
.category-img-container::before {
  left: -3px;
}

.category-img-container:hover {
  border-color: #726c19;
}
.category-img-container:hover::after,
.category-img-container:hover::before {
  background: linear-gradient(
    0deg,
    #726c19 0%,
    #fff500 40%,
    #fff500 60%,
    #726c19 100%
  );
}

.category-img-container > div {
  display: block;
  border: solid 2px #fff;
  overflow: hidden;
  height: 100%;
  width: 100%;
}
.category-img-container > div > img {
  display: block;
  width: 100%;
  height: 100%;
  border: solid 2px white;
  object-position: center;
  object-fit: cover;
  transition: all 400ms ease;
}
.category-img-container > div > img:hover {
  transform: scale(1.2);
}

.cat-title {
  width: 100%;
  background: #bf9c3f;
  color: white;
  font-family: "Alegreya", serif;
  font-weight: lighter;
  text-align: center;
  text-transform: uppercase;
  padding: 5px;
  margin-top: 4px;
  margin-bottom: 0px;
}
.btn-cat {
  background: #edddbe;
  border: solid 2px white;
  width: 100%;
  display: flex;
  justify-content: center;
  padding: 4px;
  margin-top: 4px;
  border-radius: 0px;
}
.btn-cat > i {
  display: block;
  background: #bf9c3f;
  color: white;
  width: 30px;
  height: 30px;
  border-radius: 15px;
  line-height: 30px;
}

.link-item {
  text-decoration: none;
  color: inherit;
  position: relative;
  overflow: hidden;
  display: block;
}
.item-img-container {
  display: block;
  width: 100%;
  height: 345px;
  overflow: hidden;
}
.item-img-container > img {
  display: block;
  width: 100%;
  height: 100%;
  border: solid 2px white;
  object-position: center;
  object-fit: cover;
  transition: all 400ms ease-in-out;
}

.link-item .hidden-cover {
  transform: scale(1.5);
  opacity: 0;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: all 400ms ease-in-out;
}
.link-item:hover .hidden-cover {
  transform: scale(1);
  opacity: 1;
}
.link-item:hover .item-img-container > img {
  transform: scale(1.3);
  opacity: 0;
}

.item-name {
  color: black;
  font-weight: bold;
  overflow: hidden;
}

.item-price {
  color: gray;
}

.inline-banner {
  display: flex;
  max-height: 400px;
  overflow: hidden;
  border: solid 2px white;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  height: 420px;
  justify-content: center;
}
.inline-banner > h2 {
  margin-top: 50px;
  color: #9d8843;
  text-shadow: 0px 0px 15px rgba(255, 255, 255, 1),
    0px 0px 15px rgba(255, 255, 255, 1);
}

.frame {
  display: block;
  position: relative;
  height: 600px;
}

.frame-border {
  display: block;
  border: solid 4px #907615;
  border-left: none;
  border-right: none;
  position: absolute;
  top: 14px;
  bottom: 14px;
  left: 14px;
  right: 14px;
}

.frame-border::after {
  left: -2px;
}
.frame-border::before {
  right: -2px;
}

.frame-border::after,
.frame-border::before {
  content: "";
  display: block;
  width: 4px;
  position: absolute;
  top: -4px;
  bottom: -4px;
  background: linear-gradient(0deg, #674312 0%, #e4bf43 50%, #674312 100%);
}

.frame-title {
  position: absolute;
  top: 50px;
  right: 0px;
  background-color: #bf9c3f;
  padding: 10px 16px;
  color: white;
}

.section-banner {
  position: relative;
  height: 30vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;

  @media (min-width: 1200px) {
    height: 50vh;
  }
}

.section-banner h1 {
  color: white;
  font-weight: bold;
  text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.5);
}

.banner-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -2;
}
.opaque-screen {
  display: block;
  position: absolute;
  top: 0px;
  left: 0px;
  right: 0px;
  bottom: 0px;
  background-color: rgba(0, 0, 0, 0.3);
  z-index: -1;
}

.breadcrumb {
  padding: 0;
  margin-top: 10px;
}
.breadcrumb-item a {
  color: white;
  text-decoration: none;
}
.breadcrumb-item a:hover {
  text-decoration: underline;
}
.breadcrumb-item.active {
  color: rgba(255, 255, 255, 0.7);
}

/* BOOTSTRAP TUNE */
.carousel-item picture,
.carousel-item img {
  display: block;
  height: 100%;
  width: 100%;
  object-fit: cover;
}

.fs-x {
  font-size: clamp(25px, 70px, 3vw);
}
.fs-xl {
  font-size: 4em;
}

.carousel-control-prev,
.carousel-control-next {
  width: 60px;
  height: 60px;
  background-color: rgba(255, 255, 255, 0.9);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  font-size: 1.8rem;
  color: #be8658;
  top: 50%;
  transform: translateY(-50%);
}

.carousel-control-prev {
  left: 20px;
}
.carousel-control-next {
  right: 20px;
}

.carousel-control-prev:hover,
.carousel-control-next:hover {
  background-color: rgba(255, 255, 255, 1);
  color: #be8658;
  box-shadow: 0px 0px 12px rgba(80, 48, 4, 0.3);
}

.carousel-control-prev svg,
.carousel-control-next svg {
  width: 24px;
  height: 24px;
  fill: #be8658;
}

aside .card {
  --bs-card-border-color: rgb(241, 238, 231);
}

aside .card-header {
}

aside .list-group-item {
}

.btn-primary {
  /* Color de fondo del botón */
  background-color: #b59b4b; /* Tu nuevo color base */

  /* Color del texto (ajusta si es necesario para la legibilidad) */
  color: #ffffff; /* Blanco, suele funcionar bien con colores oscuros */

  /* Color del borde */
  border-color: #b59b4b;

  /* Estado al pasar el ratón (hover) */
  &:hover {
    background-color: #a08842; /* Un poco más oscuro para el hover */
    border-color: #907d39;
    color: #ffffff;
  }

  /* Estado activo/pulsado */
  &:active {
    background-color: #8c773a;
    border-color: #7d6b34;
    color: #ffffff;
  }

  /* Estado deshabilitado */
  &:disabled {
    background-color: #b59b4b;
    border-color: #b59b4b;
    color: #ffffff;
    opacity: 0.65; /* Mantener la opacidad estándar de Bootstrap */
  }
}

/*Top Menu*/
.bag-menu {
  position: relative;

  & .bag-menu-qty {
    position: absolute;
    border-radius: 50%;
    background-color: #a80000;
    color: #f8f8f8;
    font-size: 12px;
    font-weight: bold;
    top: -0.6rem;
    right: -1.2rem;
    width: 25px;
    height: 25px;
    display: none;
    align-items: center;
    justify-content: center;
    box-shadow: rgba(50, 50, 93, 0.25) 0px 6px 12px -2px,
      rgba(0, 0, 0, 0.3) 0px 3px 7px -3px;
  }
}
