/*
Template Name: Kaffen
Author: bslthemes
Author URI: https://themeforest.net/user/bslthemes
Version: 1.0.0
*/
/* TABLE OF CONTENTS
	- Base
	- Header
	- Footer
	- Sections
*/
/*Mixins*/
/**
* Base
**/

:root {
  --negro: #111111;
  --verde-oscuro: #1d382e;
  --rojo: #ae2519;
  --naranja: #cf4d34;
  --oro: #f1cb45;
  --rojo-fuego: #CF4D34;
  --disco-letra: #4d140c;
  --borde: #b02b1d;
  --titulos: #fffbe3;
  --subtitulos: #fff7c2;
  --borde-izquerda: #49342e;
}

@font-face {
  font-family: "Sephir";
  src: url("../fonts/Sephir-Regular.otf") format("opentype");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'Benguiat';
  src: url('../fonts/BenguiatProITC-Book.otf') format('opentype');
  font-weight: 300;
  font-style: normal;
}

* {
  outline: none;
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
}

::-webkit-input-placeholder {
  color: #fff;
}

::-moz-placeholder {
  color: #fff;
}

html,
body {
  margin: 0;
  padding: 0;
  height: auto !important;
  font-size: 16px;
  color: rgba(255, 255, 255, 0.6);
  font-family: "Sephir", sans-serif;
  font-weight: 400;
  line-height: 1.75;
  background: var(--negro);
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
}

a {
  color: #fff;
  text-decoration: none;
  cursor: pointer;
  outline: none;
  -o-transition: all 0.7s cubic-bezier(0.3, 0, 0.3, 1);
  transition: all 0.7s cubic-bezier(0.3, 0, 0.3, 1);
  -webkit-transition: all 0.7s cubic-bezier(0.3, 0, 0.3, 1);
}

a:link {
  color: #fff;
}

a:active {
  color: #fff;
}

a:visited {
  color: #fff;
}

a:hover {
  color: var(--naranja);
  text-decoration: underline;
}

a img {
  border: none;
}

img {
  max-width: 100%;
}

input,
textarea,
button {
  font-family: "Benguiat";
}

label {
  cursor: pointer;
}

iframe {
  max-width: 100%;
}

strong {
  font-weight: 700;
}

/* - Typography */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 400;
  font-family: "Benguiat";
  margin: 0;
  margin-top: 30px;
  margin-bottom: 30px;
  color: #fff;
  line-height: 1.3;
}

h1 {
  font-size: 42px;
}

h2 {
  font-size: 42px;
}

h3 {
  font-size: 34px;
}

h4 {
  font-size: 28px;
}

h5 {
  font-size: 24px;
}

h6 {
  font-size: 20px;
}

p {
  padding: 0;
  margin: 30px 0;
}

strong {
  font-weight: 700;
}

/* NAVBAR UNIFICADO - Estilos base desktop */
.navigation {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background: transparent;
  z-index: 101;
  padding: 10px 20px;
  display: flex;
  align-items: right;
  justify-content: space-between;
  transition: background 0.5s ease;
}

.navigation.scrolled {
  background-color: var(--negro);
  /* o #111111 si no estás usando variables */
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
}

.navbar-menu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  gap: 15px;
}

.navbar-menu li a {
  color: #ffffff;
  transition: all 0.4s;
  position: relative;
  font-size: 1.2rem;
  text-decoration: none;
}

.navbar-menu li a::after {
  content: "";
  position: absolute;
  width: 0;
  height: 2px;
  bottom: -5px;
  left: 0;
  background: linear-gradient(90deg, #ae2519, #bd561f, #f1cb45);
  transition: width 0.3s;
}

.navbar-menu li a:hover::after {
  width: 100%;
}

.navbar-toggler {
  display: none;
  /* Ocultar por defecto */
}

@media screen and (max-width: 720px) {
  h1 {
    font-size: 32px;
  }

  h2 {
    font-size: 30px;
  }

  h3 {
    font-size: 28px;
  }

  h4 {
    font-size: 26px;
  }

  h5 {
    font-size: 24px;
  }

  h6 {
    font-size: 22px;
  }
}

a.kf-btn,
.kf-btn,
button,
input[type="submit"] {
  padding: 0 1rem;
  position: relative;
  overflow: hidden;
  display: inline-block;
  vertical-align: top;
  font-size: 1.2rem;
  color: var(--disco-letra);
  font-weight: 500;
  letter-spacing: 0.03em;
  height: 50px;
  line-height: 48px;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  background: var(--rojo-fuego);
  border: 2px solid var(--borde);
  outline: none !important;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
  outline: none;
  cursor: pointer;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -o-transition: all 0.7s cubic-bezier(0.3, 0, 0.3, 1);
  transition: all 0.7s cubic-bezier(0.3, 0, 0.3, 1);
  -webkit-transition: all 0.7s cubic-bezier(0.3, 0, 0.3, 1);
}

a.kf-btn i,
.kf-btn i,
button i,
input[type="submit"] i {
  margin-left: 3px;
  position: relative;
  display: inline-block;
  top: 0;
  font-size: 14px;
}

a.kf-btn span,
.kf-btn span,
button span,
input[type="submit"] span {
  position: relative;
}

a.kf-btn:before,
.kf-btn:before,
button:before {
  content: "";
  position: absolute;
  left: -10%;
  top: -50%;
  width: 120%;
  height: 120%;
  background: var(--verde-oscuro);
  -o-transition: all 0.7s cubic-bezier(0.3, 0, 0.3, 1);
  transition: all 0.7s cubic-bezier(0.3, 0, 0.3, 1);
  -webkit-transition: all 0.7s cubic-bezier(0.3, 0, 0.3, 1);
  transform: translate3d(0, -100%, 0) skew(-10deg, -10deg);
  -webkit-transform: translate3d(0, -100%, 0) skew(-10deg, -10deg);
}

a.kf-btn:hover,
.kf-btn:hover {
  color: var(--naranja);
}

a.kf-btn:hover:before,
.kf-btn:hover:before {
  top: -20%;
  transform: translate3d(0, 0, 0) skew(0deg);
  -webkit-transform: translate3d(0, 0, 0) skew(0deg);
}

@media screen and (max-width: 767px) {

  a.kf-btn,
  .kf-btn,
  button,
  input[type="submit"] {
    padding: 0 20px;
    height: 50px;
    line-height: 48px;
    font-size: 13px;
  }
}

input[type="text"],
input[type="email"],
input[type="search"],
input[type="password"],
input[type="tel"],
input[type="address"],
input[type="number"],
input[type="date"],
textarea {
  position: relative;
  padding: 0 20px;
  display: block;
  width: 100%;
  height: 60px;
  font-family: "Benguiat";
  font-size: 16px;
  color: #fff;
  resize: none;
  outline: 0;
  font-weight: 500;
  background: none;
  border: 1px solid #21282f;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  transition: all 0.7s cubic-bezier(0.3, 0, 0.3, 1);
  -moz-transition: all 0.7s cubic-bezier(0.3, 0, 0.3, 1);
  -webkit-transition: all 0.7s cubic-bezier(0.3, 0, 0.3, 1);
  -o-transition: all 0.7s cubic-bezier(0.3, 0, 0.3, 1);
}

::-webkit-calendar-picker-indicator {
  opacity: 0;
}

textarea {
  height: 260px;
  padding-top: 20px;
  padding-bottom: 20px;
  resize: none;
}

select {
  -webkit-box-shadow: none;
  box-shadow: none;
  height: 60px;
  padding: 0 20px;
  position: relative;
  width: 100%;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-family: "Benguiat";
  font-size: 18px;
  font-weight: 500;
  color: #fff;
  background-color: transparent;
  border: 1px solid #21282f;
  border-radius: 5px;
  -webkit-border-radius: 5px;
}

select {
  background: url(assets/images/select.png) no-repeat right 20px center/12px 8px;
}

@media screen and (max-width: 767px) {
  .navigation {
    padding: 10px 15px;
    background: var(--negro) !important;
  }

  .navbar-menu {
    position: fixed;
    top: 0;
    right: -100%;
    width: 70%;
    height: 100vh;
    background: #cf4d34;
    flex-direction: column;
    padding: 80px 30px;
    transition: transform 0.5s;
    z-index: 999;
    border-left: 2px solid #bd561f;
    margin: 0;
    justify-content: flex-start;
    gap: 0;
  }

  .navbar-menu.active {
    transform: translateX(-100%);
  }

  .navbar-menu li {
    width: 100%;
    margin: 10px 0 !important;
  }

  .navbar-menu li a {
    width: 100%;
    padding: 12px 20px !important;
    font-size: 1.1rem;
  }

  .navbar-menu li a::after {
    display: none;
    /* Ocultar efecto hover en móvil */
  }

  /* Botón hamburguesa */
  .navbar-toggler {
    display: block !important;
    width: 40px;
    height: 40px;
    background: transparent;
    margin-top: 5%;
    border: none;
    cursor: pointer;
    z-index: 1000;
    position: relative;
  }

  .navbar-toggler span {
    display: block;
    width: 30px;
    height: 2px;
    background: white;
    margin: 6px 0;
    transition: 0.4s;
    position: absolute;
    left: 5px;
  }

  .navbar-toggler span:nth-child(1) {
    top: 8px;
  }

  .navbar-toggler span:nth-child(2) {
    top: 16px;
  }

  .navbar-toggler span:nth-child(3) {
    top: 24px;
  }

  /* Animación cuando está activo */
  .navbar-toggler.active span:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px);
    top: 16px;
  }

  .navbar-toggler.active span:nth-child(2) {
    opacity: 0;
  }

  .navbar-toggler.active span:nth-child(3) {
    transform: rotate(-45deg) translate(7px, -8px);
    top: 16px;
  }

  /* Overlay */
  .mobile-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 998;
    display: none;
  }

  .mobile-overlay.active {
    display: block;
  }

  input[type="text"],
  input[type="email"],
  input[type="search"],
  input[type="password"],
  input[type="tel"],
  input[type="address"],
  input[type="number"],
  input[type="date"] {
    height: 50px;
    font-size: 14px;
  }

  textarea {
    height: 150px;
    font-size: 14px;
  }

  select {
    height: 50px;
    font-size: 14px;
  }

  select {
    background: url(assets/images/select.png) no-repeat right 20px center/12px 8px;
  }
}

label,
legend {
  display: block;
  padding-bottom: 20px;
  font-family: "Benguiat";
  font-size: 20px;
}

fieldset {
  border-width: 0;
  padding: 0;
}

label.error {
  padding-top: 10px;
  padding-bottom: 0 !important;
  font-family: "Benguiat";
  font-size: 14px;
  color: red;
  display: none;
}

ul {
  list-style: disc;
  margin-top: 30px;
  margin-bottom: 30px;
  padding-left: 0px;
  list-style-position: inside;
}

ol {
  list-style: decimal;
  margin-top: 30px;
  margin-bottom: 30px;
  padding-left: 0px;
  list-style-position: inside;
}

ul ul,
ol ol,
ul ol,
ol ul {
  margin-top: 15px;
  margin-bottom: 15px;
  margin-left: 15px;
}

code {
  padding: 0 4px;
  font-size: 14px;
  font-style: italic;
  text-decoration: none;
  display: inline-block;
  vertical-align: middle;
  overflow: auto;
  max-width: 100%;
  white-space: nowrap;
}

pre {
  margin: 30px 0;
  padding: 0;
  max-width: 100%;
  overflow: auto;
  white-space: pre;
  font-size: 14px;
}

dt {
  margin-bottom: 5px;
  font-weight: 700;
}

hr {
  border-top: 1px solid #8d99a7;
}

/* - Alignment */
.align-center {
  text-align: center !important;
}

.align-right {
  text-align: right !important;
}

.full-width {
  max-width: 100%;
  width: 100%;
}

.centrize {
  display: table;
  table-layout: fixed;
  height: 100%;
  position: relative;
  top: 0;
  left: 0;
  z-index: 2;
}

.vertical-center {
  display: table-cell;
  vertical-align: middle;
}

.alert-success {
  color: var(--rojo);
  background: transparent;
  border: none;
}

/* - Wrapper */
.wrapper {
  padding-top: 138px;
}

.wrapper,
.container {
  position: relative;
}

.container {
  margin: 0 auto;
  max-width: 1170px;
}

@media screen and (max-width: 992px) {
  .container {
    padding: 0 30px;
  }
}

/* - Breadcrumbs */
/* - Preloader */
.preloader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 0%;
  text-align: center;
  z-index: 1000;
}

.preloader .centrize {
  height: 100vh;
}

.preloader:before {
  content: "";
  position: absolute;
  left: -20vw;
  top: -20vh;
  width: 140vw;
  height: 120vh;
  background: #090c0f;
}

.preloader .spinner-logo {
  position: relative;
  margin: 0 auto;
  width: 118px;
  font-size: 0;
}

.preloader .spinner-logo img {
  margin-bottom: 15px;
  max-width: 100%;
}

.preloader .spinner-line {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: var(--naranja);
  border-radius: 0;
  -webkit-animation: spinnerline 1s cubic-bezier(0.17, 0.37, 0.43, 0.67) infinite;
  animation: spinnerline 1s cubic-bezier(0.17, 0.37, 0.43, 0.67) infinite;
}

.preloader .spinner-dot {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 0;
}

.preloader.loaded:before {
  -webkit-animation: preloader 0.75s cubic-bezier(0.3, 0, 0.3, 1) forwards;
  animation: preloader 0.75s cubic-bezier(0.3, 0, 0.3, 1) forwards;
}

@-webkit-keyframes preloader {
  0% {
    -webkit-transform: translate3d(0, 0, 0) skew(-10deg, -10deg);
    transform: translate3d(0, 0, 0) skew(-10deg, -10deg);
  }

  100% {
    -webkit-transform: translate3d(0, -100%, 0) skew(0deg);
    transform: translate3d(0, -100%, 0) skew(0deg);
  }
}

@-webkit-keyframes spinner {
  0% {
    width: 15px;
  }

  50% {
    width: 50px;
  }

  100% {
    width: 15px;
  }
}

@keyframes spinner {
  0% {
    width: 15px;
  }

  50% {
    width: 50px;
  }

  100% {
    width: 15px;
  }
}

@-webkit-keyframes spinnerline {
  0% {
    width: 0;
    left: 0;
    right: auto;
  }

  50% {
    width: 100%;
    left: 0;
    right: auto;
  }

  51% {
    width: 100%;
    left: auto;
    right: 0;
  }

  100% {
    width: 0;
    left: auto;
    right: 0;
  }
}

@keyframes spinnerline {
  0% {
    width: 0;
    left: 0;
    right: auto;
  }

  50% {
    width: 100%;
    left: 0;
    right: auto;
  }

  51% {
    width: 100%;
    left: auto;
    right: 0;
  }

  100% {
    width: 0;
    left: auto;
    right: 0;
  }
}

/* - Cursor */
.cursor {
  position: fixed;
  top: 0;
  left: 0;
  width: 30px;
  height: 30px;
  opacity: 1;
  background: rgba(255, 255, 255, 0.25);
  border: 1px solid transparent;
  -o-transition: width 0.3s cubic-bezier(0.3, 0, 0.3, 1),
    height 0.3s cubic-bezier(0.3, 0, 0.3, 1),
    background 0.3s cubic-bezier(0.3, 0, 0.3, 1),
    margin 0.3s cubic-bezier(0.3, 0, 0.3, 1),
    opacity 0.7s cubic-bezier(0.3, 0, 0.3, 1);
  transition: width 0.3s cubic-bezier(0.3, 0, 0.3, 1),
    height 0.3s cubic-bezier(0.3, 0, 0.3, 1),
    background 0.3s cubic-bezier(0.3, 0, 0.3, 1),
    margin 0.3s cubic-bezier(0.3, 0, 0.3, 1),
    opacity 0.7s cubic-bezier(0.3, 0, 0.3, 1);
  -webkit-transition: width 0.3s cubic-bezier(0.3, 0, 0.3, 1),
    height 0.3s cubic-bezier(0.3, 0, 0.3, 1),
    background 0.3s cubic-bezier(0.3, 0, 0.3, 1),
    margin 0.3s cubic-bezier(0.3, 0, 0.3, 1),
    opacity 0.7s cubic-bezier(0.3, 0, 0.3, 1);
  z-index: 999;
  pointer-events: none;
  border-radius: 100%;
  -moz-border-radius: 100%;
  -webkit-border-radius: 100%;
  -khtml-border-radius: 100%;
}

/* - Swiper */
.swiper-container {
  width: 100%;
  height: 100%;
}

.swiper-slide {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
  pointer-events: none !important;
}

.js-parallax {
  overflow: hidden;
}

/* - Animations */
.text-anim-1 .char,
.text-anim-1 .word,
.text-anim-1 .line {
  -webkit-transition: transform 0.3s cubic-bezier(0.3, 0, 0.3, 1),
    opacity 0.3s linear, color 0.3s linear;
  -webkit-transition: opacity 0.3s linear, color 0.3s linear,
    -webkit-transform 0.3s cubic-bezier(0.3, 0, 0.3, 1);
  transition: opacity 0.3s linear, color 0.3s linear,
    -webkit-transform 0.3s cubic-bezier(0.3, 0, 0.3, 1);
  -o-transition: transform 0.3s cubic-bezier(0.3, 0, 0.3, 1),
    opacity 0.3s linear, color 0.3s linear;
  transition: transform 0.3s cubic-bezier(0.3, 0, 0.3, 1), opacity 0.3s linear,
    color 0.3s linear;
  transition: transform 0.3s cubic-bezier(0.3, 0, 0.3, 1), opacity 0.3s linear,
    color 0.3s linear, -webkit-transform 0.3s cubic-bezier(0.3, 0, 0.3, 1);
  -webkit-transform: translate(10px, 0);
  -ms-transform: translate(10px, 0);
  transform: translate(10px, 0);
  opacity: 0;
}

.text-anim-1.animate__active .char,
.text-anim-1.animate__active .word,
.text-anim-1.animate__active .line,
.swiper-slide-active .text-anim-1 .char,
.swiper-slide-active .text-anim-1 .word,
.swiper-slide-active .text-anim-1 .line {
  -webkit-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  transform: translate(0, 0);
  opacity: 1;
}

.text-anim-1 .char {
  -webkit-transition-delay: calc(60ms * var(--char-index));
  -o-transition-delay: calc(60ms * var(--char-index));
  transition-delay: calc(60ms * var(--char-index));
}

.text-anim-1 .word {
  -webkit-transition-delay: calc(60ms * var(--word-index));
  -o-transition-delay: calc(60ms * var(--word-index));
  transition-delay: calc(60ms * var(--word-index));
}

.text-anim-1 .line {
  -webkit-transition-delay: calc(60ms * var(--line-index));
  -o-transition-delay: calc(60ms * var(--line-index));
  transition-delay: calc(60ms * var(--line-index));
}

.element-anim-1 {
  -webkit-transition: transform 0.7s cubic-bezier(0.3, 0, 0.3, 1),
    opacity 0.4s linear, color 0.3s linear;
  -webkit-transition: opacity 0.4s linear, color 0.3s linear,
    -webkit-transform 0.7s cubic-bezier(0.3, 0, 0.3, 1);
  transition: opacity 0.4s linear, color 0.3s linear,
    -webkit-transform 0.7s cubic-bezier(0.3, 0, 0.3, 1);
  -o-transition: transform 0.7s cubic-bezier(0.3, 0, 0.3, 1),
    opacity 0.4s linear, color 0.3s linear;
  transition: transform 0.7s cubic-bezier(0.3, 0, 0.3, 1), opacity 0.4s linear,
    color 0.3s linear;
  transition: transform 0.7s cubic-bezier(0.3, 0, 0.3, 1), opacity 0.4s linear,
    color 0.3s linear, -webkit-transform 0.7s cubic-bezier(0.3, 0, 0.3, 1);
  -webkit-transform: translate(0, 20px);
  -ms-transform: translate(0, 20px);
  transform: translate(0, 20px);
  -webkit-transition-delay: 30ms;
  -o-transition-delay: 30ms;
  transition-delay: 30ms;
  opacity: 0;
}

.element-anim-1.animate__active,
.swiper-slide-active .element-anim-1 {
  -webkit-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  transform: translate(0, 0);
  opacity: 1;
}

button.mfp-close:before {
  display: none;
}

/**
* Header
**/

.kf-header {
  font-weight: 100;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 90;
}

.kf-header.fixed .kf-navbar {
  background: #0e1317;
}

.kf-header.show .kf-navbar-mobile .kf-main-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.kf-header.show .kf-navbar-mobile .kf-topline {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.kf-header.animated .kf-navbar-mobile {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  z-index: 2;
}

.kf-header.animated .kf-navbar-mobile:before {
  -webkit-animation: nav-mobile-open 0.75s cubic-bezier(0.3, 0, 0.3, 1) forwards;
  animation: nav-mobile-open 0.75s cubic-bezier(0.3, 0, 0.3, 1) forwards;
}

.kf-header.opened .kf-navbar-mobile {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  z-index: 2;
}

.kf-header.no-touch .kf-menu-btn {
  pointer-events: none;
}

.kf-header .row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.kf-topline {
  padding: 10px 30px;
  background: #090c0f;
}

.kf-navbar {
  padding: 20px 30px;
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 3;
  -o-transition: all 0.3s cubic-bezier(0.3, 0, 0.3, 1);
  transition: all 0.3s cubic-bezier(0.3, 0, 0.3, 1);
  -webkit-transition: all 0.3s cubic-bezier(0.3, 0, 0.3, 1);
}

.kf-navbar.inner-navbar:before,
.kf-header.fixed .kf-navbar:before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: rgba(255, 255, 255, 0.1);
}

.kf-logo {
  position: relative;
  width: 118px;
  font-size: 0;
}

.kf-logo img {
  max-width: 100%;
  width: auto;
  max-height: 40px;
}

.kf-h-group {
  font-size: 14px;
  color: #ced2d5;
  text-transform: uppercase;
}

.kf-h-group em,
.kf-h-group i {
  color: var(--naranja);
  font-style: normal;
}

.kf-h-social {
  display: inline-block;
  font-family: "Sephir";
  font-size: 15px;
  text-align: center;
}

.kf-h-social a {
  margin: 0 8px;
  display: inline-block;
  text-decoration: none;
}

.kf-h-social i {
  color: #ced2d5;
  font-style: normal;
}

.kf-main-menu {
  display: inline-block;
  vertical-align: middle;
}

.kf-main-menu ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.kf-main-menu ul li {
  margin-left: 15px;
  margin-right: 15px;
  position: relative;
  display: inline-block;
  vertical-align: top;
}

.kf-main-menu ul li a {
  display: inline-block;
  color: #fff;
  font-size: 14px;
  line-height: 50px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  text-decoration: none;
  font-weight: 500;
}

.kf-main-menu ul li a:hover {
  color: var(--naranja);
}

.kf-main-menu ul li a i {
  position: relative;
  top: -2px;
  margin-left: 6px;
  font-size: 12px;
}

.kf-main-menu ul li:first-child {
  padding-left: 0;
}

.kf-main-menu ul li.active>a {
  color: var(--naranja);
}

.kf-main-menu ul li ul {
  padding: 20px;
  position: absolute;
  left: -20px;
  top: 50px;
  width: 200px;
  background: #090c0f;
  text-align: left;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  -o-transition: all 0.3s cubic-bezier(0.3, 0, 0.3, 1);
  transition: all 0.3s cubic-bezier(0.3, 0, 0.3, 1);
  -webkit-transition: all 0.3s cubic-bezier(0.3, 0, 0.3, 1);
}

.kf-main-menu ul li ul li {
  margin-bottom: 10px;
  margin-left: 0;
  display: block;
}

.kf-main-menu ul li ul li:before {
  display: none;
}

.kf-main-menu ul li ul li a {
  line-height: normal;
  font-weight: 300;
  opacity: 0.85;
}

.kf-main-menu ul li ul li:last-child {
  margin-bottom: 0;
}

.kf-main-menu ul li ul li:hover a {
  opacity: 1;
}

.kf-btn.h-btn {
  margin-left: 50px;
  vertical-align: middle;
}

.kf-menu-btn {
  margin-top: 0;
  margin-left: 30px;
  position: relative;
  float: right;
  display: none;
  width: 25px;
  height: 50px;
}

.kf-menu-btn span {
  margin-top: -7px;
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  height: 14px;
  display: block;
}

.kf-menu-btn span:before,
.kf-menu-btn span:after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 2px;
  background: #fff;
  -o-transition: all 0.3s cubic-bezier(0.3, 0, 0.3, 1);
  transition: all 0.3s cubic-bezier(0.3, 0, 0.3, 1);
  -webkit-transition: all 0.3s cubic-bezier(0.3, 0, 0.3, 1);
  border-radius: 1px;
  -webkit-border-radius: 1px;
}

.kf-menu-btn span:after {
  top: auto;
  bottom: 0;
}

.kf-menu-btn.active span {
  background: transparent;
}

.kf-menu-btn.active span:before,
.kf-menu-btn.active span:after {
  top: 8px;
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}

.kf-menu-btn.active span:after {
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
}

.kf-navbar-mobile {
  padding: 130px 30px 30px 30px;
  position: absolute;
  overflow: auto;
  overflow-x: hidden;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  z-index: -1;
  -o-transition: all 0.3s cubic-bezier(0.3, 0, 0.3, 1);
  transition: all 0.3s cubic-bezier(0.3, 0, 0.3, 1);
  -webkit-transition: all 0.3s cubic-bezier(0.3, 0, 0.3, 1);
}

.kf-navbar-mobile:before {
  content: "";
  position: fixed;
  left: -20vw;
  top: -20vh;
  width: 140vw;
  height: 120vh;
  background: #090c0f;
  -webkit-animation: nav-mobile-close 0.75s cubic-bezier(0.3, 0, 0.3, 1) forwards;
  animation: nav-mobile-close 0.75s cubic-bezier(0.3, 0, 0.3, 1) forwards;
}

.kf-navbar-mobile .kf-main-menu {
  position: relative;
  z-index: 2;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  display: block;
  -o-transition: all 0.3s cubic-bezier(0.3, 0, 0.3, 1);
  transition: all 0.3s cubic-bezier(0.3, 0, 0.3, 1);
  -webkit-transition: all 0.3s cubic-bezier(0.3, 0, 0.3, 1);
}

.kf-navbar-mobile .kf-main-menu ul li {
  margin-left: 0;
  margin-bottom: 10px;
  display: block;
}

.kf-navbar-mobile .kf-main-menu ul li.opened>i {
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
  -webkit-transform: rotate(180deg);
}

.kf-navbar-mobile .kf-main-menu ul li a {
  margin: 0;
  position: relative;
  display: inline-block;
  vertical-align: top;
  font-size: 24px;
  line-height: 1.5;
}

.kf-navbar-mobile .kf-main-menu ul li i {
  position: absolute;
  top: 0;
  display: inline-block;
  vertical-align: top;
  font-size: 18px;
  width: 36px;
  line-height: 36px;
  text-align: center;
  -o-transition: all 0.3s cubic-bezier(0.3, 0, 0.3, 1);
  transition: all 0.3s cubic-bezier(0.3, 0, 0.3, 1);
  -webkit-transition: all 0.3s cubic-bezier(0.3, 0, 0.3, 1);
}

.kf-navbar-mobile .kf-main-menu ul li ul {
  margin: 10px 0 0 0;
  padding: 20px;
  position: relative;
  left: 0;
  top: 0;
  width: auto;
  max-width: 320px;
  text-align: left;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  display: none;
  -o-transition: none;
  transition: none;
  -webkit-transition: none;
}

.kf-navbar-mobile .kf-main-menu ul li ul li a {
  font-size: 18px;
}

.kf-navbar-mobile .kf-topline {
  margin: 30px 0 0 0;
  padding: 0;
  background: none;
  position: relative;
  z-index: 2;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  display: block;
  -o-transition: all 0.3s cubic-bezier(0.3, 0, 0.3, 1);
  transition: all 0.3s cubic-bezier(0.3, 0, 0.3, 1);
  -webkit-transition: all 0.3s cubic-bezier(0.3, 0, 0.3, 1);
}

.kf-navbar-mobile .kf-h-social {
  margin: 30px 0 15px 0;
}

.kf-navbar-mobile .kf-h-social a {
  margin: 0 20px 0 0;
  font-size: 20px;
}

.kf-navbar-mobile .kf-h-group {
  margin: 5px 0;
}

.kf-navbar-mobile .kf-btn.h-btn {
  margin-left: 0;
  display: inline-block;
}

@-webkit-keyframes nav-mobile-open {
  0% {
    -webkit-transform: translate3d(0, -100%, 0) skew(-10deg, -10deg);
    transform: translate3d(0, -100%, 0) skew(-10deg, -10deg);
  }

  100% {
    -webkit-transform: translate3d(0, 0, 0) skew(0deg);
    transform: translate3d(0, 0, 0) skew(0deg);
  }
}

@-webkit-keyframes nav-mobile-close {
  0% {
    -webkit-transform: translate3d(0, 0, 0) skew(-10deg, -10deg);
    transform: translate3d(0, 0, 0) skew(-10deg, -10deg);
  }

  100% {
    -webkit-transform: translate3d(0, -100%, 0) skew(0deg);
    transform: translate3d(0, -100%, 0) skew(0deg);
  }
}

@media screen and (min-width: 1025px) {
  .kf-header.fixed .kf-navbar {
    position: fixed;
  }

  .kf-main-menu ul li:hover ul {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
}

@media screen and (max-width: 1024px) {
  .kf-header {
    position: fixed;
  }

  .kf-topline {
    display: none;
  }

  .kf-main-menu {
    display: none;
  }

  .kf-menu-btn {
    display: block;
  }

  .kf-btn.h-btn {
    display: none;
  }

  .wrapper {
    padding-top: 90px;
  }
}

@media screen and (max-width: 767px) {
  .kf-header .col-xs-12 {
    width: auto;
  }
}

/**
* Footer
**/
.kf-footer {
  padding: 70px 0 0 0;
  background: #090c0f;
  font-size: 1.5rem;
}

.kf-footer h5 {
  margin: 0 0 20px 0;
}

.kf-f-hours ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.kf-f-hours ul li {
  position: relative;
  margin-bottom: 10px;
  padding-left: 20px;
  color: #fff;
}

.kf-f-hours ul li:last-child {
  margin-bottom: 0;
}

.kf-f-hours ul li:last-child:before {
  display: none;
}

.kf-f-hours ul li:before {
  content: "";
  position: absolute;
  left: 0;
  top: 13px;
  width: 5px;
  height: 5px;
  background: #fff;
  border-radius: 5px;
  -webkit-border-radius: 5px;
}

.kf-f-hours ul li em {
  display: block;
  color: var(--naranja);
  font-style: normal;
}

.kf-f-hours ul li strong {
  font-family: "Merienda";
  color: #ff8a00;
}

.kf-f-contact ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.kf-f-contact ul li {
  position: relative;
  margin-bottom: 10px;
  padding-left: 50px;
  color: #fff;
}

.kf-f-contact ul li:last-child {
  margin-bottom: 0;
}

.kf-f-contact ul li i {
  position: absolute;
  left: 0;
  top: 5px;
  font-size: 40px;
  color: var(--naranja);
}

.kf-f-contact ul li em {
  display: block;
  color: var(--naranja);
  font-style: normal;
  font-weight: 600;
}

.kf-f-gallery ul {
  margin: 0 -4px;
  padding: 0;
  list-style: none;
  font-size: 0;
}

.kf-f-gallery ul li {
  padding: 4px;
  position: relative;
  display: inline-block;
  vertical-align: top;
  width: 33.333%;
}

.kf-f-gallery ul li img {
  position: relative;
  width: 100%;
  height: 80px;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}

.kf-copyright {
  margin-top: 70px;
  padding: 30px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

button.mfp-close:before,
button.mfp-arrow:before {
  display: none;
}

@media screen and (max-width: 992px) {
  .kf-f-hours {
    margin-bottom: 50px;
  }
}

@media screen and (max-width: 767px) {

  .kf-footer .kf-logo,
  .kf-f-hours,
  .kf-f-contact {
    margin-bottom: 50px;
  }

  .kf-copyright {
    margin-top: 50px;
    font-size: 14px;
  }
}

/**
* Section
**/
.section {
  padding: 130px 0;
  position: relative;
  z-index: 2;
}

.kf-titles {
  width: 100%;
}

.kf-subtitle {
  margin: 0 0 10px 0;
  position: relative;
  display: inline-block;
  vertical-align: top;
  font-size: 16px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--naranja);
}

.kf-title {
  margin: 0 0 70px 0;
  font-size: 3rem;
  font-family: "Benguiat";
  color: white;
  font-weight: 400;
}

.kf-text p {
  margin: 0;
}

.kf-image-hover {
  position: relative;
  overflow: hidden;
  display: block;
  font-size: 0;
}

.kf-image-hover img {
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
  -o-transition: all 0.7s cubic-bezier(0.3, 0, 0.3, 1);
  transition: all 0.7s cubic-bezier(0.3, 0, 0.3, 1);
  -webkit-transition: all 0.7s cubic-bezier(0.3, 0, 0.3, 1);
}

.kf-image-hover:hover img {
  -webkit-transform: scale(1.05);
  -ms-transform: scale(1.05);
  transform: scale(1.05);
}

.kf-parallax {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  background-attachment: fixed;
}

.kf-parallax-icon {
  position: absolute;
}

.kf-parallax-icon .p-icon {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
}

.kf-parallax-icon.pi-4 {
  left: auto;
  left: 0;
  top: 30%;
  width: 25px;
  height: 137px;
}

.kf-parallax-icon.pi-5 {
  left: auto;
  right: 0;
  top: 40%;
  width: 59px;
  height: 158px;
}

@media screen and (max-width: 767px) {
  .section {
    padding: 70px 0;
  }

  .kf-titles {
    text-align: left !important;
  }

  .kf-subtitle {
    font-size: 16px;
  }

  .kf-title {
    margin: 0 0 50px 0;
    font-size: 32px;
  }
}

.section-bg {
  background-color: #090c0f;
}

/**
* Section Hero Started
**/
.section.kf-started-slider {
  padding: 0;
  position: relative;
  overflow: hidden;
}

.section.kf-started-slider .swiper-slide {
  overflow: hidden;
}

.swiper-button-prev,
.swiper-button-next {
  left: 0;
  margin-top: -55px;
  width: 47px;
  height: 111px;
  border: none;
  outline: none;
}


.swiper-button-prev:before,
.swiper-button-prev:after,
.swiper-button-next:before,
.swiper-button-next:after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  border: none;
  background: url(assets/images/nav.png) no-repeat;
  background-size: contain;
  -o-transition: all 0.7s cubic-bezier(0.3, 0, 0.3, 1);
  transition: all 0.7s cubic-bezier(0.3, 0, 0.3, 1);
  -webkit-transition: all 0.7s cubic-bezier(0.3, 0, 0.3, 1);
}

.swiper-button-prev:after,
.swiper-button-next:after {
  background: url(assets/images/nav2.png) no-repeat;
  background-size: contain;
  opacity: 0;
}

.swiper-button-prev:hover:before,
.swiper-button-next:hover:before {
  opacity: 0;
}

.swiper-button-prev:hover:after,
.swiper-button-next:hover:after {
  opacity: 1;
}

.swiper-button-next {
  left: auto;
  right: 0;
  -webkit-transform: scale(-1);
  -ms-transform: scale(-1);
  transform: scale(-1);
}

.kf-bts .kf-btn {
  margin: 0 10px 0 0;
}

@media screen and (max-width: 767px) {

  .section.kf-started-slider .swiper-button-prev,
  .section.kf-started-slider .swiper-button-next {
    display: none;
  }

  .section.kf-started-slider .kf-bts .kf-btn {
    margin-bottom: 10px;
  }
}

/**
* Section About
**/

/**
* Section Services
**/

/**
* Section Menu
**/

.kf-menu-items {
  padding: 35px 45px;
  background-color: #090c0f;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 465px auto;
}

.kf-menu-items:first-child {
  margin-top: 0;
}

@media screen and (max-width: 992px) {
  .kf-menu-items {
    margin: 0;
  }
}

@media screen and (max-width: 767px) {
  .kf-menu-items {
    padding: 0 20px;
  }
}

/**
* Section Choose
**/
.section.kf-choose {
  overflow: hidden;
}

.section.kf-choose .kf-title {
  margin-bottom: 30px;
}

.kf-choose-image {
  position: relative;
  width: 100%;
  height: 700px;
  font-size: 0;
}

.kf-choose-image img {
  position: relative;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}

.kf-choose-list {
  margin: 40px 0;
}

.kf-choose-list ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.kf-choose-list ul li {
  margin: 0 0 30px 0;
}

.kf-choose-list ul li .icon {
  float: left;
  width: 69px;
  text-align: center;
}
.kf-choose-list ul li .icon img{
  border-radius: 50%;
}

.kf-choose-list ul li .desc {
  margin-left: 100px;
}

.kf-choose-list ul li .name {
  margin: 0 0 10px 0;
}

/* Efecto visual al pasar el mouse por las miniaturas */
.kf-choose-list img {
  width: 65px;
  height: 65px;
  border-radius: 50%;
  cursor: pointer;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.kf-choose-list img:hover {
  transform: scale(1.1);
  box-shadow: 0 0 10px #fbbf24;
}

/* Transición suave en la imagen grande */
.img-about img {
  width: 100%;
  border-radius: 10px;
  transition: opacity 0.4s ease;
}


@media screen and (max-width: 992px) {
  .kf-choose-image {
    margin-bottom: 50px;
  }

  .section.kf-choose.kf-choose-2 .kf-choose-image {
    margin-bottom: 0;
    margin-top: 50px;
  }
}

@media screen and (max-width: 767px) {
  .kf-choose-image {
    margin-bottom: 50px;
    height: 360px;
  }
}

/**
* Section Grid Carousel
**/
.section.kf-grid-carousel {
  position: relative;
  overflow: hidden;
}

.section.kf-grid-carousel .swiper-slide:nth-child(even) .slide-item {
  margin-top: 50px;
}

.section.kf-grid-carousel .swiper-slide-visible .slide-item {
  opacity: 1;
  pointer-events: auto;
}

.section.kf-grid-carousel .slide-item {
  position: relative;
  width: 100%;
  opacity: 0.25;
  pointer-events: none;
  -o-transition: all 0.7s cubic-bezier(0.3, 0, 0.3, 1);
  transition: all 0.7s cubic-bezier(0.3, 0, 0.3, 1);
  -webkit-transition: all 0.7s cubic-bezier(0.3, 0, 0.3, 1);
}

.section.kf-grid-carousel .slide-item .image {
  position: relative;
  overflow: hidden;
  left: 0;
  top: 0;
  width: 100%;
  height: 480px;
}

.section.kf-grid-carousel .slide-item .image img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  -o-transition: all 0.7s cubic-bezier(0.3, 0, 0.3, 1);
  transition: all 0.7s cubic-bezier(0.3, 0, 0.3, 1);
  -webkit-transition: all 0.7s cubic-bezier(0.3, 0, 0.3, 1);
}

.section.kf-grid-carousel .slide-item .image:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #090c0f;
  opacity: 0;
  pointer-events: none;
  -o-transition: all 0.7s cubic-bezier(0.3, 0, 0.3, 1);
  transition: all 0.7s cubic-bezier(0.3, 0, 0.3, 1);
  -webkit-transition: all 0.7s cubic-bezier(0.3, 0, 0.3, 1);
  z-index: 2;
}

.section.kf-grid-carousel .slide-item .image:after {
  content: "";
  position: absolute;
  left: 24px;
  top: 24px;
  right: 24px;
  bottom: 24px;
  border: 1px solid var(--naranja);
  border-radius: 5px;
  -webkit-border-radius: 5px;
  opacity: 0;
  pointer-events: none;
  -o-transition: all 0.7s cubic-bezier(0.3, 0, 0.3, 1);
  transition: all 0.7s cubic-bezier(0.3, 0, 0.3, 1);
  -webkit-transition: all 0.7s cubic-bezier(0.3, 0, 0.3, 1);
  z-index: 3;
}

.section.kf-grid-carousel .slide-item .desc {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  text-align: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  pointer-events: none;
  opacity: 0;
  -o-transition: all 0.7s cubic-bezier(0.3, 0, 0.3, 1);
  transition: all 0.7s cubic-bezier(0.3, 0, 0.3, 1);
  -webkit-transition: all 0.7s cubic-bezier(0.3, 0, 0.3, 1);
  z-index: 4;
}

.section.kf-grid-carousel .slide-item .desc .name {
  margin: 0;
  display: block;
}

.section.kf-grid-carousel .slide-item:hover .image .img {
  -webkit-transform: scale(1.05);
  -ms-transform: scale(1.05);
  transform: scale(1.05);
}

.section.kf-grid-carousel .slide-item:hover .image:before {
  opacity: 0.75;
}

.section.kf-grid-carousel .slide-item:hover .image:after {
  opacity: 1;
}

.section.kf-grid-carousel .slide-item:hover .desc {
  opacity: 1;
}

@media screen and (max-width: 992px) {
  .section.kf-grid-carousel .swiper-slide:nth-child(even) .slide-item {
    margin-top: 0;
  }
}

@media screen and (max-width: 767px) {
  .section.kf-grid-carousel .slide-item .image {
    height: 360px;
  }
}

/**
* Section Testimonials
**/
.section.kf-testimonials:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #090c0f;
  opacity: 0.75;
}

.kf-testimonials-slider {
  position: relative;
  padding: 80px;
  min-height: 540px;
  background-color: #090c0f;
  background-position: 80% bottom;
  background-repeat: no-repeat;
  background-size: 402px auto;
}

.kf-testimonials-slider .swiper-container {
  overflow: hidden;
}

.kf-testimonials-slider .swiper-slide {
  opacity: 0;
  -o-transition: all 0.7s cubic-bezier(0.3, 0, 0.3, 1);
  transition: all 0.7s cubic-bezier(0.3, 0, 0.3, 1);
  -webkit-transition: all 0.7s cubic-bezier(0.3, 0, 0.3, 1);
}

.kf-testimonials-slider .swiper-slide.swiper-slide-active {
  opacity: 1;
}

.kf-testimonials-slider .slide-item {
  text-align: center;
}

.kf-testimonials-slider .slide-item .image {
  position: relative;
  margin: 0 auto 30px auto;
  width: 85px;
  height: 85px;
  font-size: 0;
}

.kf-testimonials-slider .slide-item .image img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  border-radius: 100%;
  -webkit-border-radius: 100%;
}

.kf-testimonials-slider .slide-item .desc {
  margin: 0 auto;
  max-width: 700px;
}

.kf-testimonials-slider .slide-item .text {
  font-size: 24px;
  font-weight: 300;
}

.kf-testimonials-slider .slide-item .name {
  margin: 20px 0 10px 0;
  font-family: "Sephir";
  font-size: 18px;
  color: #fff;
  font-weight: 600;
}

.kf-testimonials-slider .slide-item .name em {
  margin-left: 5px;
  font-size: 15px;
  color: var(--naranja);
  font-style: normal;
}

@media screen and (max-width: 767px) {
  .kf-testimonials-slider {
    padding: 30px;
    min-height: 400px;
  }

  .kf-testimonials-slider .slide-item .image {
    margin: 0 auto 10px auto;
    width: 60px;
    height: 60px;
  }

  .kf-testimonials-slider .slide-item .text {
    font-size: 16px;
    font-weight: 400;
  }

  .kf-testimonials-slider .slide-item .name {
    font-size: 16px;
  }

  .kf-testimonials-slider .slide-item .name em {
    font-size: 14px;
  }
}

/**
* Section Numbers
**/

/**
* Section Numbers-2
**/
.kf-numbers-items-2 {
  margin-top: -50px;
}

.kf-numbers-item-2 {
  margin-top: 50px;
}

/* Estilo para el contenedor del ícono */
.kf-numbers-item-2 .icon {
  position: relative;
  margin-bottom: 20px;
  width: 80px;
  /* Mantenemos el tamaño del contenedor para no afectar el layout */
  height: 80px;
  display: flex;
  /* Usamos flexbox para centrar la imagen fácilmente */
  align-items: center;
  justify-content: center;
  background: transparent;
  /* Quitamos el color de fondo */
}

/* Estilo para la imagen dentro del contenedor */
.kf-numbers-item-2 .icon img {
  width: 60px;
  /* Ajustamos el tamaño de la imagen */
  height: auto;
  /* La altura se ajusta automáticamente para mantener la proporción */
}

.kf-numbers-item-2 .icon-botella img {
  width: 35px;
  /* Reducimos el ancho para que se vea más estilizada y similar en "peso" a las otras */
}


/* .kf-numbers-item-2 .icon:before {
  content: "";
  position: absolute;
  left: -5px;
  top: -5px;
  right: -5px;
  bottom: -5px;
  border: 1px solid var(--naranja);
  border-radius: 5px;
  -webkit-border-radius: 5px;
  opacity: 0;
  -o-transition: all 0.7s cubic-bezier(0.3, 0, 0.3, 1);
  transition: all 0.7s cubic-bezier(0.3, 0, 0.3, 1);
  -webkit-transition: all 0.7s cubic-bezier(0.3, 0, 0.3, 1);
} */

.kf-numbers-item-2 .num {
  margin-bottom: 20px;
  font-size: 60px;
  line-height: 1;
  font-family: "Sephir";
  color: var(--naranja);
  font-weight: 300;
}

.kf-numbers-item-2 .name {
  margin: 0 0 10px 0;
}

.kf-numbers-item-2:hover .icon:before {
  opacity: 0.25;
}

@media screen and (max-width: 767px) {
  .kf-numbers-item-2 {
    text-align: center;
  }

  .kf-numbers-item-2 .icon {
    margin-left: auto;
    margin-right: auto;
  }
}

/**
* Section Video
**/
.section.kf-video {
  padding: 130px 0 0 0;
}

.kf-video-item {
  position: relative;
  height: 585px;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

.kf-video-item:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #090c0f;
  opacity: 0.75;
  z-index: 2;
  pointer-events: none;
}

.kf-video-item img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  cursor: pointer;
}

.kf-video-item iframe {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  display: none;
}

.kf-video-item .play {
  margin: -65px 0 0 -65px;
  position: absolute;
  left: 50%;
  top: 50%;
  width: 130px;
  height: 130px;
  line-height: 130px;
  text-align: center;
  background: #fff;
  border-radius: 130px;
  -webkit-border-radius: 130px;
  z-index: 3;
  cursor: pointer;
}

.kf-video-item .play:before {
  content: "";
  position: absolute;
  left: -20px;
  top: -20px;
  right: -20px;
  bottom: -20px;
  border: 1px solid #fff;
  border-radius: 100%;
  -webkit-border-radius: 100%;
  opacity: 0.15;
}

.kf-video-item .play i {
  position: relative;
  left: 2px;
  top: 11px;
  font-size: 30px;
  color: var(--naranja);
}

.kf-video-item.active .img,
.kf-video-item.active .play {
  display: none;
}

.kf-video-item.active iframe {
  display: block;
  z-index: 3;
}

@media screen and (max-width: 767px) {
  .section.kf-video {
    padding: 70px 0 0 0;
  }

  .kf-video-item {
    height: 320px;
  }

  .kf-video-item .play {
    margin: -40px 0 0 -40px;
    width: 80px;
    height: 80px;
    line-height: 80px;
    border-radius: 80px;
    -webkit-border-radius: 80px;
  }

  .kf-video-item .play i {
    top: 8px;
    font-size: 22px;
  }
}

/**
* Section Services-2
**/
.kf-services {
  padding-top: 0px;
}

.kf-services-items-2 {
  padding: 40px 0 0 0;
  background: #090c0f;
}

.kf-services-item-2 {
  margin-bottom: 40px;
  position: relative;
  text-align: center;
}

/* Contenedor de la imagen circular */
.kf-services-item-2 .image {
  margin: 0 auto 20px auto;
  position: relative;
  overflow: hidden;
  /* Importante para el efecto de zoom y overlay */
  width: 130px;
  height: 130px;
  background: #0e1317;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all 0.3s ease;
}

/* La imagen dentro del círculo */
.kf-services-item-2 .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
  /* Transición suave para el zoom */
}

/* Capa de color para el hover (inicialmente invisible) */
.kf-services-item-2 .image::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #cf4d34;
  /* Tu color de marca */
  opacity: 0;
  /* Oculto por defecto */
  transition: opacity 0.4s ease;
  /* Transición suave para el color */
  z-index: 1;
  /* Se asegura que esté sobre la imagen */
}

/* Al pasar el mouse sobre el item de servicio... */
.kf-services-item-2:hover .image::before {
  opacity: 0.7;
  /* Muestra la capa de color con 70% de opacidad */
}

.kf-services-item-2:hover .image img {
  transform: scale(1.1);
  /* Aplica el efecto de zoom a la imagen */
}

.kf-services-item-2 .desc .name {
  margin: 0 0 10px 0;
}

@media screen and (max-width: 767px) {
  .kf-services-item-2 .image {
    width: 100px;
    height: 100px;
  }
}


/* --- Nuevos Estilos para la Sección de Testimonios Inicio testimonio --- */

/* Contenedor principal del carrusel de testimonios */
.kf-testimonials-carousel {
  position: relative;
  padding: 0 60px;
  /* Espacio para las flechas de navegación */
}

/* Contenedor de cada slide para alinear los elementos */
.kf-testimonials-carousel .swiper-slide {
  display: flex;
  justify-content: center;
}

.kf-testimonials-carousel .slide-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}

/* Elimina estilos anteriores que ya no necesitamos */
.section.kf-testimonials:before,
.kf-testimonials-slider {
  background: none;
  padding: 0;
  min-height: 0;
}

/* Contenedor de la estrella de calificación */
.rating-star {
  position: relative;
  width: 80px;
  height: 80px;
  margin-bottom: 30px;
}

.rating-star img {
  width: 100%;
  height: 100%;
}

/* Número dentro de la estrella */
.rating-star span {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-60%, -45%);
  font-size: 2.2rem;
  font-weight: 100;
  color: black;
  font-family: 'Sephir', sans-serif;
}

/* Estilo para la tarjeta de testimonio */
.testimonial-card {
  background-color: #181818;
  padding: 50px 30px 30px 30px;
  /* Más padding arriba para el espacio de la estrella */
  border-radius: 15px;
  text-align: center;
  height: 300px;
  /* Altura fija para todas las tarjetas */
  display: flex;
  flex-direction: column;
  justify-content: center;
  border: 1px solid #2a2a2a;
  width: 100%;
}

/* Texto del testimonio */
.testimonial-card .text {
  font-family: 'Benguiat', sans-serif;
  font-size: 16px;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.8);
  margin-bottom: 0px;
  /* Empuja el nombre hacia abajo */
  font-weight: 300;
}

/* Nombre y descripción del cliente */
.testimonial-card .name {
  padding-top: 20px;
  font-weight: 100;
}

.testimonial-card .name p {
  font-family: 'Benguiat', sans-serif;
  color: var(--naranja);
  font-size: 18px;
  font-weight: 100;
  margin: 0 0 5px 0;
}

.testimonial-card .name span {
  font-family: 'Benguiat', sans-serif;
  font-size: 14px;
  font-weight: 100;
  color: rgba(255, 255, 255, 0.6);
  line-height: 1.4;
}

/* Eliminamos la imagen y las estrellas del diseño anterior */
.kf-testimonials-carousel .image {
  display: none;
}

/* Estilos para las flechas de navegación */
.kf-testimonials-carousel .swiper-button-prev,
.kf-testimonials-carousel .swiper-button-next {
  width: 40px;
  height: 40px;
  top: 55%;
  /* Ajusta la posición vertical */
  transform: translateY(-55%);
  background-color: transparent;
  color: rgba(255, 255, 255, 0.5);
  transition: color 0.3s;
}

.kf-testimonials-carousel .swiper-button-prev:hover,
.kf-testimonials-carousel .swiper-button-next:hover {
  color: var(--naranja);
}

/* .kf-testimonials-carousel .swiper-button-prev::after,
.kf-testimonials-carousel .swiper-button-next::after {
    font-size: 28px;
    font-weight: bold;
} */

.kf-testimonials-carousel .swiper-button-prev {
  left: -20px;
  background-image: url(../assets/img/flecha-izquierda.png)
}

.kf-testimonials-carousel .swiper-button-next {
  right: -20px;
  background-image: url(../assets/img/flecha-derecha.png)
}

/* Estilos para la paginación (puntos) */
.kf-testimonials-carousel .swiper-pagination {
  bottom: -50px;
  position: absolute;
  width: 100%;
}

.kf-testimonials-carousel .swiper-pagination-bullet {
  background-color: #fff;
  opacity: 0.7;
  width: 10px;
  height: 10px;
  transition: background-color 0.3s;
}

.kf-testimonials-carousel .swiper-pagination-bullet-active {
  background-color: var(--naranja);
  opacity: 1;
}

.section.kf-started-inner {
  position: relative;
  /* Necesario para que el div de fondo se posicione correctamente */
  min-height: 65vh;
  /* Asigna una altura mínima al banner (65% de la altura de la ventana). Puedes ajustar este valor. */
  padding: 200px 0;
  /* Añade espacio interno para que el título no quede pegado a los bordes */
  display: flex;
  align-items: center;
  /* Centra el título "About Us" verticalmente */
  justify-content: center;
  /* Centra el título "About Us" horizontalmente */
  overflow: hidden;
  /* Mantenemos esto para evitar que el fondo se desborde */
}

.section.kf-started-inner .kf-parallax-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: contain;
  /* Cambiado de cover a contain */
  background-position: right center;
  /* Mantiene las botellas visibles a la derecha */
  background-repeat: no-repeat;
  /* Evita que se repita la imagen */
  z-index: 1;
}

/* Ajuste para que el título se vea por encima del fondo */
.section.kf-started-inner .container {
  position: relative;
  z-index: 2;
}

/*
=================================================================
== RECOPILACIÓN DE NUEVOS ESTILOS PARA LA PÁGINA "SERVICES"
=================================================================
*/

/* --- Estilos para el Carrusel de Productos (Our Mezcal) --- */

.section.kf-products-carousel {
  background-color: #000000;
  padding: 100px 0;
}

/* MODIFICADO: Se elimina el padding horizontal para que el contenedor no sea más ancho que la diapositiva. */
.kf-products-container {
  position: relative;
}

/* AÑADIDO: Se añade overflow:hidden para recortar cualquier contenido que se desborde, como la siguiente diapositiva. */
.kf-products-container .swiper-container {
  overflow: hidden;
}

/* AÑADIDO: Se añade padding aquí para que el contenido no quede pegado a los bordes y a las flechas. */
.kf-product-item {
  display: flex;
  align-items: center;
  gap: 40px;
  padding: 0 60px;
}

.kf-product-desc {
  background-color: #111111;
  border: 1px solid #2a2a2a;
  border-radius: 15px;
  padding-left: 20px;
  padding-right: 20px;
  color: rgba(255, 255, 255, 0.7);
  flex: 1;
  font-family: 'Sephir', sans-serif;
}

.kf-product-desc .name {
  color: var(--subtitulos);
  font-family: 'Benguiat', sans-serif;
  font-size: 24px;
  margin-bottom: 15px;
}

.kf-product-desc p {
  margin: 10px 0;
  font-size: 15px;
  line-height: 1.6;
}

.kf-product-desc p strong {
  color: rgba(255, 255, 255, 0.9);
  font-weight: 500;
}

.kf-product-image {
  flex: 1;
  text-align: center;
}

.kf-product-image img {
  max-width: 80%;
  height: auto;
}

/* --- Navigation Styles (CORREGIDO) --- */

.kf-products-container .swiper-button-prev,
.kf-products-container .swiper-button-next {
  color: var(--naranja);
  /* MODIFICADO: Color cambiado a naranja como se solicitó */
  top: 50%;
  transform: translateY(-50%);
  transition: color 0.3s ease;
  z-index: 10;
  width: 50px;
  height: 50px;
}

.kf-products-container .swiper-button-prev:hover,
.kf-products-container .swiper-button-next:hover {
  color: #fff;
  /* Cambia a blanco en hover para contraste */
}

/* MODIFICADO: Posicionamiento de las flechas para que sean visibles dentro del contenedor. */
.kf-products-container .swiper-button-prev {
  left: 10px;
}

.kf-products-container .swiper-button-next {
  right: 10px;
}

/* --- Pagination Styles --- */

.kf-products-container .swiper-pagination {
  bottom: -50px;
  position: absolute;
  width: 100%;
}

.kf-products-container .swiper-pagination-bullet {
  background-color: #fff;
  opacity: 0.7;
  width: 10px;
  height: 10px;
  transition: background-color 0.3s;
}

.kf-products-container .swiper-pagination-bullet-active {
  background-color: var(--naranja);
  opacity: 1;
}

/* --- Responsive Adjustments --- */
@media (max-width: 992px) {
  .kf-product-item {
    flex-direction: column;
    padding: 0 15px;
    /* Ajuste de padding para móvil */
  }

  .kf-product-image {
    order: -1;
    margin-bottom: 30px;
  }

  .kf-product-image img {
    max-width: 60%;
  }

  /* AÑADIDO: Se ocultan las flechas en móvil para dar más espacio al contenido. */
  .kf-products-container .swiper-button-prev,
  .kf-products-container .swiper-button-next {
    display: none;
  }
}


/* --- Estilos para la Sección "Where to Buy" --- */

.section.kf-where-to-buy {
  position: relative;
  padding: 120px 0;
  overflow: hidden;
  background-image: url('../assets/img/products/6.jpg');
  /* Adjusted path for CSS folder structure */
  background-size: cover;
  background-position: center;
}

.section.kf-where-to-buy::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(17, 17, 17, 0.85);
  z-index: 1;
}

.section.kf-where-to-buy .container {
  position: relative;
  z-index: 2;
}

.kf-where-to-buy .kf-titles .kf-subtitle {
  color: #aaa;
  font-size: 14px;
  letter-spacing: 0.1em;
}

.kf-where-to-buy .kf-titles .kf-title {
  color: #fff;
  font-size: 48px;
}

.kf-logos-carousel {
  position: relative;
  margin-top: 60px;
  padding: 0 60px;
}

.kf-logos-carousel .swiper-slide {
  text-align: center;
}

.kf-logos-carousel .logo-item img {
  max-height: 100px;
  width: auto;
  margin-bottom: 20px;
}

.kf-logos-carousel .logo-item p {
  color: #ccc;
  font-family: 'Sephir', sans-serif;
  margin-bottom: 10px;
}

.kf-logos-carousel .logo-item .buy-now-link {
  color: var(--naranja);
  font-weight: bold;
  text-decoration: none;
  font-size: 18px;
  transition: color 0.3s ease;
}

.kf-logos-carousel .logo-item .buy-now-link:hover {
  color: #fff;
  text-decoration: underline;
}

.kf-logos-carousel .swiper-button-prev,
.kf-logos-carousel .swiper-button-next {
  color: #fff;
  opacity: 0.7;
  transition: opacity 0.3s ease;
}

.kf-logos-carousel .swiper-button-prev:hover,
.kf-logos-carousel .swiper-button-next:hover {
  opacity: 1;
}

.kf-logos-carousel .swiper-button-prev {
  left: 0;
}

.kf-logos-carousel .swiper-button-next {
  right: 0;
}

@media (max-width: 767px) {
  .kf-logos-carousel {
    padding: 0;
  }

  .kf-logos-carousel .swiper-button-prev,
  .kf-logos-carousel .swiper-button-next {
    display: none;
  }

  .kf-where-to-buy .kf-titles .kf-title {
    font-size: 38px;
  }
}

/* --- Estilos para el Carrusel de Coctelería (CORREGIDO) --- */

.section.kf-cocktails-carousel {
  background-color: #000;
  padding: 100px 0;
}

/* MODIFICADO: Se elimina el padding horizontal. */
.kf-cocktails-container {
  position: relative;
}

/* AÑADIDO: Se añade overflow:hidden para recortar el contenido que se desborda. */
.kf-cocktails-container .swiper-container {
  overflow: hidden;
}

/* MODIFICADO: Se añade padding aquí para dar espacio a las flechas. */
.kf-cocktail-item {
  display: flex;
  align-items: center;
  gap: 40px;
  padding: 0 60px;
}

.kf-cocktail-image {
  flex: 1;
}

.kf-cocktail-image img {
  width: 100%;
  border-radius: 10px;
}

.kf-cocktail-desc {
  flex: 1;
  background-color: #111;
  padding: 30px;
  position: relative;
  font-family: 'Benguiat', sans-serif;
  color: rgba(255, 255, 255, 0.8);
}

.kf-cocktail-desc .icon {
  position: absolute;
  top: 20px;
  right: 20px;
  font-size: 30px;
  color: var(--naranja);
}

.kf-cocktail-desc .name {
  font-family: 'Benguiat', sans-serif;
  color: var(--subtitulos);
  font-size: 22px;
  margin-bottom: 20px;
}

.kf-cocktail-desc .subtitle {
  font-weight: bold;
  color: var(--subtitulos);
  margin-top: 20px;
  margin-bottom: 10px;
}

.kf-cocktail-desc ul {
  list-style: none;
  padding-left: 0;
  margin: 0 0 15px 0;
}

.kf-cocktail-desc ul li {
  padding-left: 15px;
  position: relative;
  margin-bottom: 5px;
}

.kf-cocktail-desc ul li::before {
  content: '•';
  color: var(--naranja);
  position: absolute;
  left: 0;
  top: 0;
}

.kf-cocktail-desc p {
  line-height: 1.7;
  margin: 0;
}

/* Navigation & Pagination for Cocktails */
.kf-cocktails-container .swiper-button-prev,
.kf-cocktails-container .swiper-button-next {
  color: rgba(255, 255, 255, 0.7);
  z-index: 10;
}

.kf-cocktails-container .swiper-pagination {
  bottom: -50px;
}

.kf-cocktails-container .swiper-pagination-bullet {
  background-color: #fff;
  opacity: 0.7;
  width: 10px;
  height: 10px;
  transition: background-color 0.3s;
}

.kf-cocktails-container .swiper-pagination-bullet-active {
  background-color: var(--naranja);
}

/* Responsive for Cocktails */
@media (max-width: 992px) {
  .kf-cocktail-item {
    flex-direction: column;
    padding: 0 15px;
    /* Ajuste para móvil */
  }

  .kf-cocktails-container .swiper-button-prev,
  .kf-cocktails-container .swiper-button-next {
    display: none;
  }
}

/* --- Estilos para la Sección de "Experiences" --- */

.section.kf-experiences {
  background-color: #000;
  padding: 100px 0;
}

.kf-experience-item {
  padding: 50px 30px;
  height: 300px;
  text-align: center;
  border-radius: 15px;
  transition: background-color 0.3s ease;
}

.kf-experience-item:hover {
  background-color: #111;
}

.kf-experience-item .image {
  margin-bottom: 25px;
}

.kf-experience-item .image .agave {
  height: 80px;
  width: auto;
}

.kf-experience-item .image img {
  height: 80px;
  width: auto;
}

.kf-experience-item .name {
  color: var(--oro);
  font-family: 'Sephir', sans-serif;
  font-size: 24px;
  margin-bottom: 10px;
}

.kf-experience-item .status {
  color: #ccc;
  font-family: 'Sephir', sans-serif;
  font-size: 16px;
  margin: 0;
}

@media (max-width: 767px) {
  .kf-experience-item {
    margin-bottom: 30px;
  }
}

/*
=================================================================
== RECOPILACIÓN DE NUEVOS ESTILOS PARA LA PÁGINA "CONTACT"
=================================================================
*/

/* --- Estilos para la Sección de Información de Contacto --- */

.section.kf-contacts-info-new {
  background-color: #000;
  padding: 100px 0;
}

.kf-contact-item-new {
  background-color: #111111;
  padding: 40px 30px;
  border-radius: 10px;
  text-align: center;
  height: 100%;
  /* Asegura que todas las tarjetas tengan la misma altura */
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.kf-contact-item-new .image {
  margin-bottom: 25px;
}

.kf-contact-item-new .image img {
  height: 60px;
  /* Tamaño del ícono */
  width: auto;
}

.kf-contact-item-new .name {
  color: var(--subtitulos);
  font-family: 'Sephir', sans-serif;
  font-weight: 600;
  font-size: 22px;
  margin-bottom: 15px;
}

.kf-contact-item-new .text {
  color: var(--titulos);
  font-family: 'Sephir', sans-serif;
  font-weight: 100;
  font-size: 1.2rem;
  line-height: 1.6;
  margin: 0;
}

@media (max-width: 767px) {
  .kf-contact-item-new {
    margin-bottom: 30px;
  }
}

/* --- Estilos para el Formulario de Contacto --- */

.section.kf-contacts-form {
  background-color: #000;
  padding: 100px 0;
}

.kf-reservation-form-new {
  max-width: 800px;
  margin: 0 auto;
}

.kf-reservation-form-new .kf-titles .kf-subtitle {
  color: var(--rojo-fuego);
  font-family: 'Sephir';
  font-size: 1.2rem;
  font-weight: 100;
  letter-spacing: 0.1em;
}

.kf-reservation-form-new .kf-titles .kf-title {
  color: white;
  font-family: 'Benguiat', sans-serif;
  margin-bottom: 50px;
}

.kf-reservation-form-new .kf-field {
  margin-bottom: 25px;
  font-family: 'Benguiat', sans-serif;
}

.kf-reservation-form-new .kf-field input,
.kf-reservation-form-new .kf-field textarea {
  background: transparent;
  border: 1px solid var(--naranja);
  border-radius: 10px;
  padding: 15px 20px;
  color: var(--titulos);
  font-family: 'Benguiat', sans-serif;
  width: 100%;
  height: 55px;
}

.kf-reservation-form-new .kf-field textarea {
  height: 150px;
  resize: none;
}

/* Eliminamos los íconos de dentro de los campos */
.kf-reservation-form-new .kf-field i {
  display: none;
}

.kf-reservation-form-new .kf-bts .kf-btn {
  background: var(--rojo-fuego);
  color: black;
  font-family: 'Sephir';
  font-weight: 100;
  border-radius: 10px;
  padding: 15px 40px;
  height: auto;
  line-height: normal;
}

.kf-reservation-form-new .kf-bts .kf-btn:hover {
  background: var(--oro);
  color: #000;
}

/*
=================================================================
== CORRECCIONES RESPONSIVAS PARA LA PÁGINA "ABOUT"
=================================================================
*/

@media (max-width: 992px) {

  /* --- Corrige el banner para que no sea tan alto en móviles --- */
  .section.kf-started-inner {
    min-height: 40vh;
    padding: 60px 0;
  }

  /* --- Sección "About Señora Fuego" (Texto e Imagen) --- */
  /* Fuerza a las columnas a apilarse verticalmente */
  .section.kf-choose .row {
    display: flex;
    flex-direction: column;
  }

  /* Asegura que cada columna ocupe el 100% del ancho */
  .section.kf-choose .col-lg-5,
  .section.kf-choose .col-lg-6 {
    width: 100%;
    max-width: 100%;
    flex: 0 0 100%;
  }

  /* Elimina el margen de la columna de la imagen */
  .section.kf-choose .offset-lg-1 {
    margin-left: 0;
  }

  /* Ajusta la imagen y su contenedor para móviles */
  .kf-choose-image {
    margin-top: 50px;
    height: auto;
    /* Altura automática para mantener la proporción */
  }

  /* --- Sección de Servicios (Íconos circulares) --- */
  /* Añade espacio entre los ítems cuando se apilan */
  .kf-services-items-2 .col-md-6 {
    margin-bottom: 40px;
  }

  /* --- Sección de Estadísticas (Números) --- */
  /* Centra el contenido y añade espacio */
  .kf-numbers-items-2 .kf-numbers-item-2 {
    text-align: center;
    margin-bottom: 40px;
  }

  .kf-numbers-items-2 .kf-numbers-item-2 .icon {
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 767px) {
  .section.kf-started-inner {
    padding: 80px 0;
    min-height: 55vh;
  }

  .section.kf-started-inner .kf-h-title {
    font-size: 1.4rem;
    line-height: 1.2;
    max-width: 90%;
  }

  .section.kf-started-inner .kf-parallax-bg {
    background-size: cover;
    background-position: center center;
  }
}

/* Cambios */
/* =========================================
                  About Us
   ========================================= */

/* Wrapper */
.hero-title {
  margin-left: 10%;
}

.hero-title h1 {
  font-size: 6rem;
  font-family: "Benguiat", sans-serif;
}

/* Ajustar imagen con texto */
.img-about .imagen__about {
  height: 90%;
}

/* CARRUSEL  */
/* =========================================
       Swiper - Visibilidad de flechas
   ========================================= */
.kf-testimonials-carousel .swiper-button-prev,
.kf-testimonials-carousel .swiper-button-next {
  width: 100px;
  height: 100px;
  top: 65%;
  /* Ajusta la posición vertical */
  transform: translateY(-55%);
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  cursor: pointer;
  transition: filter 0.3s;
  color: transparent;
  /* Oculta texto por defecto */
}

.kf-testimonials-carousel .swiper-button-prev:hover,
.kf-testimonials-carousel .swiper-button-next:hover {
  filter: brightness(1.2);
}

/* Asegurar que estén visibles también en móviles */
@media screen and (max-width: 767px) {

  .kf-testimonials-carousel .swiper-button-prev,
  .kf-testimonials-carousel .swiper-button-next {
    display: flex !important;
  }
}

/* =========================================
     Corrección del carrusel de testimonios
   ========================================= */
.kf-testimonials-carousel {
  position: relative;
  width: 100%;
  overflow: hidden;
  /* Esto evita que se vean los slides extras */
}

.kf-testimonials-carousel .swiper-container {
  width: 100%;
  overflow: hidden;
}

.kf-testimonials-carousel .swiper-wrapper {
  display: flex;
  align-items: stretch;
}

.kf-testimonials-carousel .swiper-slide {
  flex-shrink: 0;
  height: auto;
  box-sizing: border-box;
}

.kf-testimonials-carousel .testimonial-card {
  background: #121416;
  padding: 20px;
  border-radius: 12px;
  min-height: 250px;
}

.slide-item .testimonial-card .text {
  margin-bottom: -10px;
  margin-top: 20px;
}

.slide-item .testimonial-card .carrera {
  font-size: .8rem;
  font-weight: 100;
}


/* Paginacion Testimonios */

.kf-testimonials-carousel {
  position: relative;
  padding-bottom: 40px;
  /* espacio para los puntos debajo */
}

.kf-testimonials-carousel .swiper-pagination {
  position: absolute;
  bottom: 10px;
  /* distancia desde el final del carrusel */
  left: 50%;
  transform: translateX(-50%);
  width: auto;
  text-align: center;
  z-index: 10;
  /* para que esté sobre otros elementos si es necesario */
}

.kf-testimonials-carousel .swiper-pagination-bullet {
  background-color: #fff;
  opacity: 0.7;
  width: 10px;
  height: 10px;
  margin: 0 5px;
  /* separación entre puntos */
  transition: background-color 0.3s;
  cursor: pointer;
}

.kf-testimonials-carousel .swiper-pagination-bullet-active {
  background-color: var(--naranja);
  opacity: 1;
}


/* Colores */
.color-titulo {
  color: var(--titulos);
}

.color-subtitulos {
  color: var(--subtitulos);
}

html,
body {
  margin: 0;
  padding: 0;
  height: auto !important;
  font-size: 18px;
  color: var(--titulos);
  font-family: "Sephir", sans-serif;
  font-weight: 600;
  line-height: 1.75;
  background: var(--negro);
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
}
p{
  font-family: "Benguiat", sans-serif;
  font-weight: 300;
}
strong {
  color: var(--subtitulos);
}

.name {
  color: var(--subtitulos);
}

.fuente {
  font-family: 'Benguiat';
}

/* =========================================
                Our Products
   ========================================= */

.title-products {
  margin-left: 10%;
}

.title-products .kf-h-title {
  font-size: clamp(1px, 5vw, 5.5rem);
}

/* Carrusel Our Mezcal */

.kf-product-item .kf-product-desc p {
  font-family: 'Benguiat';
  font-weight: 100;
  margin-bottom: 15px;
}

.kf-product-item .kf-product-desc strong {
  color: var(--subtitulos);
}

.kf-products-carousel .swiper-button-prev {
  left: -20px;
  background-image: url(../assets/img/flecha-izquierda.png)
}

.kf-products-carousel .swiper-button-next {
  right: 0px;
  background-image: url(../assets/img/flecha-derecha.png)
}

.kf-products-carousel .swiper-button-prev,
.kf-products-carousel .swiper-button-next {
  width: 100px;
  height: 100px;
  top: 50%;
  /* Ajusta la posición vertical */
  transform: translateY(-55%);
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  cursor: pointer;
  transition: filter 0.3s;
  color: transparent;
  /* Oculta texto por defecto */
}

.kf-products-carousel .swiper-button-prev:hover,
.kf-products-carousel .swiper-button-next:hover {
  filter: brightness(1.2);
}

/* Asegurar que estén visibles también en móviles */
@media screen and (max-width: 767px) {

  .kf-products-carousel .swiper-button-prev,
  .kf-products-carousel .swiper-button-next {
    display: flex !important;
  }
}

/* Carrusel Cocktails*/

.kf-cocktails-carousel.kf-product-desc p {
  font-family: 'Benguiat';
  font-weight: 100;
  margin-bottom: 15px;
}

.kf-cocktails-carousel .kf-product-desc strong {
  color: var(--subtitulos);
}

.kf-cocktails-carousel .swiper-button-prev {
  left: -20px;
  background-image: url(../assets/img/flecha-izquierda.png)
}

.kf-cocktails-carousel .swiper-button-next {
  right: -30px;
  background-image: url(../assets/img/flecha-derecha.png)
}

.kf-cocktails-carousel .swiper-button-prev,
.kf-cocktails-carousel .swiper-button-next {
  width: 100px;
  height: 100px;
  top: 50%;
  /* Ajusta la posición vertical */
  transform: translateY(-55%);
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  cursor: pointer;
  transition: filter 0.3s;
  color: transparent;
  /* Oculta texto por defecto */
}

.kf-cocktails-carousel .swiper-button-prev:hover,
.kf-cocktails-carousel .swiper-button-next:hover {
  filter: brightness(1.2);
}

/* Asegurar que estén visibles también en móviles */
@media screen and (max-width: 767px) {

  .kf-cocktails-carousel.swiper-button-prev,
  .kf-cocktails-carousel .swiper-button-next {
    display: flex !important;
  }
}

/* Permitir que la imagen vaso se ajuste a la derecha */

.kf-border-desc {
  flex: 1;
  background-color: #111;
  padding: 10px;
  padding-top: 20px;
  position: relative;
  font-family: 'Benguiat';
  font-weight: 100;
  color: var(--titulos);
  z-index: 0;
  border-radius: 6px;
  /* opcional */

  /* Crear el pseudo-elemento que hace el borde degradado */
  border: none;
}

.kf-border-desc::before {
  content: "";
  position: absolute;
  inset: 0;
  padding: 2px;
  /* grosor del borde */
  border-radius: inherit;
  background: linear-gradient(90deg, var(--borde), var(--borde));
  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
  z-index: -1;
}

/* Fallback para navegadores sin soporte de mask */
@supports not ((-webkit-mask-composite: xor) or (mask-composite: exclude)) {
  .kf-border-desc {
    border: 2px solid;
    border-image: linear-gradient(90deg, var(--borde), var(--subtitulos)) 1;
  }
}


.kf-border-desc .icon {
  width: 65px;
  /* Ajusta según el tamaño deseado */
  height: 65px;
  margin-right: -20px;
  margin-top: -10px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.kf-border-desc .icon img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

@media (max-width: 576px) {

  .kf-border-desc .icon {
    width: 35px;
    /* Ajusta según el tamaño deseado */
    height: 25px;
    margin-right: -20px;
    margin-top: -10px;
    display: flex;
    align-items: center;
    justify-content: center;
  }

}

.btn-explore .kf-bt {
  position: relative;
  display: inline-block;
  color: var(--disco-letra);
  background: var(--rojo-fuego);
  padding: 12px 35px;
  border-radius: 30px;
  margin-top: 30px;
  text-decoration: none;
  font-weight: 700;
  font-size: 1.2rem;
  z-index: 0;
  transition: all 0.3s ease;
}

/* Borde degradado compatible */
.btn-explore .kf-bt::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 30px;
  padding: 2px;
  background: linear-gradient(90deg, var(--borde), var(--borde));
  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  z-index: -1;
}

/* Fallback para Safari y navegadores antiguos */
@supports not ((-webkit-mask-composite: xor) or (mask-composite: exclude)) {
  .btn-explore .kf-bt {
    border: 2px solid;
    border-image: linear-gradient(90deg, var(--borde), var(--subtitulos)) 1;
  }
}

.btn-explore .kf-bt:hover {
  background-color: var(--rojo);
  transform: scale(1.05);
}


/* efecto hover opcional */
.kf-border-desc:hover {
  transform: scale(1.03);
}

/* Contenedor del borde degradado */
.kf-reservation-form-new .kf-bts .kf-btn-border {
  display: inline-block;
  border-radius: 10px;
  /* mismo radio que el botón */
  padding: 2px;
  /* grosor del borde */
  background: linear-gradient(to right, var(--borde), var(--borde));
}

/* Botón interno */
.kf-reservation-form-new .kf-bts .kf-btn {
  display: block;
  background: var(--rojo-fuego, #a00000);
  color: black;
  font-family: 'Sephir', sans-serif;
  font-weight: 100;
  border-radius: 8px;
  /* ligeramente menor que el contenedor */
  padding: 15px 40px;
  border: none;
  cursor: pointer;
  width: 100%;
  text-align: center;
  transition: all 0.3s ease;
}

/* Contenedor relativo para el borde degradado */
.kf-reservation-form-new .kf-field {
  position: relative;
  border-radius: 10px;
  margin-bottom: 15px;
}

/* Pseudo-elemento del borde */
.kf-reservation-form-new .kf-field::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 2px;
  /* grosor del borde */
  background: linear-gradient(to right, var(--borde), var(--borde));
  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: destination-out;
  mask-composite: exclude;
  pointer-events: none;
  /* que no interfiera con el input */
}

/* Input y textarea transparentes, ocupando todo */
.kf-reservation-form-new .kf-field input,
.kf-reservation-form-new .kf-field textarea {
  display: block;
  width: 100%;
  border: none;
  border-radius: 8px;
  /* un poco menor que el borde */
  padding: 12px 15px;
  background: transparent;
  /* SIN fondo */
  color: white;
  font-family: 'Benguiat', sans-serif;
  font-size: 1rem;
  outline: none;
}

/* Placeholder más claro */
.kf-reservation-form-new .kf-field input::placeholder,
.kf-reservation-form-new .kf-field textarea::placeholder {
  font-family: 'Benguiat';
}


/* navegador */


.navigation .navbar-menu a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--borde), var(--borde));
  transition: width 0.3s ease-in-out;
}

.navigation .navbar-menu {
  list-style: none;
  display: flex;
  gap: 100px;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}

.navigation .navbar-menu a {
  color: white;
  text-decoration: none;
  font-size: 1.2rem;
  padding-bottom: 5px;
  position: relative;
}

@media (max-width: 992px) {
  .navigation .navbar-menu {
    position: fixed;
    top: 0;
    right: 0;
    width: 70%;
    height: 100vh;
    background: var(--rojo-fuego);
    flex-direction: column;
    padding: 80px 30px;
    transition: transform 0.4s ease-in-out;
    z-index: 1000;
    margin: 0;
    justify-content: flex-start;
    gap: 0;
    transform: translateX(100%);
    /* Inicia fuera de la pantalla */
    left: auto;
  }

  .navigation .brand {
    position: relative;
    transform: none;
    left: 0;
    top: 0;
    display: flex;
    align-items: center;
  }

  .navigation .brand img {
    width: 100%;
    max-width: 50px;
    /* Tamaño máximo del logo en pantallas grandes */
    height: auto;
    /* Mantiene la proporción */
    object-fit: contain;
  }

  @media (max-width: 768px) {
    .navigation .brand img {
      max-width: 40px;
    }
  }

  .navigation .navbar-menu.active {
    transform: translateX(0);
    /* Se desliza a la vista */
  }

  .navigation .navbar-menu li {
    width: 100%;
    margin: 10px 0 !important;
  }

  .navigation .navbar-menu a {
    width: 100%;
    padding: 12px 0px !important;
    font-size: 1.1rem;
  }

  .navigation .navbar-menu a::after {
    display: none;
  }

  .navbar-toggler {
    display: block !important;
    width: 40px;
    height: 40px;
    background: transparent;
    border: none;
    cursor: pointer;
    z-index: 1001;
    position: relative;
  }

  .navbar-toggler span {
    display: block;
    width: 30px;
    height: 2px;
    background: white;
    margin: 6px 0;
    transition: 0.4s;
    position: absolute;
    left: 5px;
  }

  .navbar-toggler span:nth-child(1) {
    top: 8px;
  }

  .navbar-toggler span:nth-child(2) {
    top: 16px;
  }

  .navbar-toggler span:nth-child(3) {
    top: 24px;
  }

  .navbar-toggler.active span:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px);
    top: 16px;
  }

  .navbar-toggler.active span:nth-child(2) {
    opacity: 0;
  }

  .navbar-toggler.active span:nth-child(3) {
    transform: rotate(-45deg) translate(7px, -8px);
    top: 16px;
  }

  .mobile-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 998;
    display: none;
  }

  .mobile-overlay.active {
    display: block;
  }

  .navigation {
    padding: 15px 20px;
  }

  .owl-theme .owl-dots {
    left: 50%;
    transform: translateX(-50%);
  }
}

.kf-parallax-bg img {
    position: absolute;
    top: -40px; /* mueve la imagen 20px hacia arriba */
}

.section.kf-started-inner {
    position: relative;
    min-height: 65vh;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: flex-start; /* texto a la izquierda */
    overflow: hidden;
}

/* Contenedor del texto */
.section.kf-started-inner .container {
    position: relative;
    z-index: 2;
    padding-left: 40px; /* espacio desde el borde izquierdo */
    max-width: 50%; /* ancho máximo del texto */
}

/* Título principal */
.kf-h-title {
    font-size: 48px;
    line-height: 1.2;
    color: inherit;
}

/* Imagen absoluta */
.kf-parallax-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    overflow: hidden;
}

.kf-parallax-bg img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover; /* llena la sección sin huecos */
}

/* Ajustes responsivos para móviles */
@media (max-width: 767px) {
    .section.kf-started-inner {
        min-height: 50vh;
        padding: 20px 0;
        justify-content: flex-start; /* texto siempre a la izquierda */
    }

    .section.kf-started-inner .container {
        max-width: 80%;
        padding-left: 20px;
        text-align: left; /* aseguramos texto a la izquierda */
    }

    .kf-h-title {
        font-size: 28px;
    }

    .kf-parallax-bg img {
        width: 100%;
        height: 100%;
        object-fit: cover; /* mantiene imagen llena */
    }
}

.kf-contacts-info-new .kf-contact-item-new {
    width: 100%;
    box-sizing: border-box; /* asegura que padding/margin no aumenten el ancho */
    overflow: hidden; /* evita que el contenido sobresalga */
}

.kf-contacts-info-new .kf-contact-item-new .text {
    word-wrap: break-word; /* rompe palabras largas si es necesario */
    overflow-wrap: break-word; /* compatibilidad con navegadores */
}

.kf-contacts-info-new .col-xs-12,
.kf-contacts-info-new .col-sm-12,
.kf-contacts-info-new .col-md-4,
.kf-contacts-info-new .col-lg-4 {
    padding-left: 15px;
    padding-right: 15px;
    box-sizing: border-box;
}

/* Ajustes responsivos */
@media (max-width: 991px) { /* tablet y móviles grandes */
    .kf-contacts-info-new .col-md-4 {
        width: 50%; /* dos columnas por fila */
        margin-bottom: 20px;
    }
}

@media (max-width: 767px) { /* móviles pequeños */
    .kf-contacts-info-new .col-md-4,
    .kf-contacts-info-new .col-sm-12,
    .kf-contacts-info-new .col-xs-12 {
        width: 100%; /* una columna por fila */
        margin-bottom: 20px;
    }
}

/* tamaño de los subtitulos/titulos */
.kf-titles .kf-subtitle{
  font-size: 1.5rem;
} 