/* =========================================================
   THEME-MAIN.CSS - UNIFICADO Y OPTIMIZADO PARA REDESWISP
   Incluye: Theme + Spacing + Header + Menu + OffCanvas + Footer
   Peso estimado: ~35 KB (vs ~45 KB originales)
   ========================================================= */

/* ==========================================
   1. VARIABLES Y RESET (theme-wisp.css)
   ========================================== */

/* Transiciones globales */
.tp-product-tab-2 .nav-tabs .nav-link .tp-product-tab-tooltip,
.tp-tab-line,
.tp-swiper-dot .swiper-pagination-bullet,
.tp-swiper-dot-border .swiper-pagination-bullet,
.tp-swiper-scrollbar,
.back-to-top-wrapper,
a, button, p, input, select, textarea, li,
.transition-3 {
  transition: all 0.3s ease-out;
}

.tp-hotspot svg,
.tp-pagination ul li a svg,
.tp-swiper-arrow button svg,
.tp-theme-toggle-main span svg,
.back-to-top-btn svg {
  transform: translateY(-2px);
}

.tp-product-tab-2 .nav-tabs .nav-link:not(:first-child)::after {
  transform: translateY(-50%);
}

/* Variables del tema */
:root {
  --tp-ff-body: 'DM Sans', sans-serif;
  --tp-ff-heading: 'Mulish', sans-serif;
  --tp-ff-p: 'DM Sans', sans-serif;
  --tp-ff-mulish: 'Mulish', sans-serif;
  --tp-ff-fontawesome: "Font Awesome 6 Pro";
  --tp-common-white: #fff;
  --tp-common-black: #020626;
  --tp-common-black-2: #2A2222;
  --tp-common-black-3: #272C3A;
  --tp-common-black-4: #181B24;
  --tp-common-black-5: #323848;
  --tp-common-black-6: #262B38;
  --tp-common-green: #00C44E;
  --tp-grey-1: #F5F7FA;
  --tp-text-body: #707481;
  --tp-theme-1: #0077c8;
  --tp-theme-2: #FFB302;
  --tp-border-1: #F1F1F9;
  --tp-border-2: #EDEEEE;
}

/* Overrides de contenedor */
@media (min-width: 1200px) {
  .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
    max-width: 1210px;
  }
  .custom-container { max-width: 1245px; }
}
@media (min-width: 1400px) {
  .container-large { max-width: 1325px; }
}
@media (min-width: 2000px) {
  .container-xxl-custom { max-width: 1800px; }
}

/* Tipografía y reset */
body {
  font-family: var(--tp-ff-body);
  font-size: 14px;
  font-weight: 400;
  color: var(--tp-text-body);
  line-height: 26px;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--tp-ff-heading);
  color: var(--tp-common-black);
  font-weight: 500;
  line-height: 1.2;
  transition: color 0.3s ease-out;
}

h1 { font-size: 40px; }
h2 { font-size: 36px; }
h3 { font-size: 28px; }
h4 { font-size: 24px; }
h5 { font-size: 20px; }
h6 { font-size: 16px; }

p {
  font-family: var(--tp-ff-p);
  color: var(--tp-text-body);
  font-size: 16px;
  line-height: 29px;
  margin-bottom: 15px;
}

a { text-decoration: none; }
a:focus, a:hover, .button:focus { text-decoration: none; outline: none; }
a:not([href]):not([class]), a:not([href]):not([class]):hover { color: #000; text-decoration: none; }

button {
  background: transparent;
  border: none;
  outline: none;
  cursor: pointer;
}
button:focus { outline: 0; }

img { max-width: 100%; }
ul, dl, ol { margin-top: 0; margin-bottom: 0; padding: 0; }

/* Utilidades personalizadas 
.z-index { position: relative; z-index: 1; }
.z-index-2 { position: relative; z-index: 2; }
.z-index-3 { position: relative; z-index: 3; }
.z-index-4 { position: relative; z-index: 4; }
.z-index-5 { position: relative; z-index: 5; }
.z-index-6 { position: relative; z-index: 6; }
.z-index-7 { position: relative; z-index: 7; }
.z-index-8 { position: relative; z-index: 8; }
.z-index-9 { position: relative; z-index: 9; }
.z-index-11 { position: relative; z-index: 11; }
*/
.fix { overflow: hidden; }
.clear { clear: both; }
.overflow-y-visible { overflow-x: hidden; overflow-y: visible; }
.p-relative { position: relative; }
.p-absolute { position: absolute; }
.include-bg { background-position: center; background-size: cover; background-repeat: no-repeat; }
.uppercase { text-transform: uppercase; }
.capitalize { text-transform: capitalize; }

.w-img img { width: 100%; }
.m-img img { max-width: 100%; }

::selection { background: var(--tp-common-black); color: var(--tp-common-white); text-shadow: none; }
::placeholder { color: var(--tp-common-black); font-size: 14px; opacity: 1; }

/* Grid personalizado */
.gx-10 { --bs-gutter-x: 10px; }
.gx-15 { --bs-gutter-x: 15px; }
.gx-20 { --bs-gutter-x: 20px; }
.gx-25 { --bs-gutter-x: 25px; }
.gx-30 { --bs-gutter-x: 30px; }
.gx-35 { --bs-gutter-x: 35px; }
.gx-40 { --bs-gutter-x: 40px; }
.gx-45 { --bs-gutter-x: 45px; }
.gx-50 { --bs-gutter-x: 50px; }

.tp-gx-20, .tp-gx-30, .tp-gx-40 { --bs-gutter-x: 20px; }
.tp-gx-20 [class*="col-"], .tp-gx-30 [class*="col-"], .tp-gx-40 [class*="col-"] {
  padding-right: calc(var(--bs-gutter-x) * 0.5);
  padding-left: calc(var(--bs-gutter-x) * 0.5);
  margin-top: var(--bs-gutter-y);
}

@media (min-width: 576px) and (max-width: 767px) {
  .tp-gx-20, .tp-gx-30, .tp-gx-40 { --bs-gutter-x: 15px; }
}
@media (min-width: 768px) and (max-width: 991px) {
  .tp-gx-20, .tp-gx-30 { --bs-gutter-x: 20px; }
  .tp-gx-40 { --bs-gutter-x: 30px; }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .tp-gx-20, .tp-gx-30, .tp-gx-40 { --bs-gutter-x: 30px; }
}
@media (max-width: 767px) {
  .tp-gx-20, .tp-gx-30 { --bs-gutter-x: 10px; }
  .tp-gx-40 { --bs-gutter-x: 15px; }
}

/* ==========================================
   2. SPACING COMPLETO (spacing.css)
   Reemplaza los spacings parciales de theme-wisp.css
   ========================================== */

.mt-5{margin-top:5px !important}.mt-10{margin-top:10px}.mt-15{margin-top:15px}.mt-20{margin-top:20px}.mt-25{margin-top:25px}.mt-30{margin-top:30px}.mt-35{margin-top:35px}.mt-40{margin-top:40px}.mt-45{margin-top:45px}.mt-50{margin-top:50px}.mt-55{margin-top:55px}.mt-60{margin-top:60px}.mt-65{margin-top:65px}.mt-70{margin-top:70px}.mt-75{margin-top:75px}.mt-80{margin-top:80px}.mt-85{margin-top:85px}.mt-90{margin-top:90px}.mt-95{margin-top:95px}.mt-100{margin-top:100px}.mt-105{margin-top:105px}.mt-110{margin-top:110px}.mt-115{margin-top:115px}.mt-120{margin-top:120px}.mt-125{margin-top:125px}.mt-130{margin-top:130px}.mt-135{margin-top:135px}.mt-140{margin-top:140px}.mt-145{margin-top:145px}.mt-150{margin-top:150px}.mt-155{margin-top:155px}.mt-160{margin-top:160px}.mt-165{margin-top:165px}.mt-170{margin-top:170px}.mt-175{margin-top:175px}.mt-180{margin-top:180px}.mt-185{margin-top:185px}.mt-190{margin-top:190px}.mt-195{margin-top:195px}.mt-200{margin-top:200px}

.mb-5{margin-bottom:5px !important}.mb-10{margin-bottom:10px}.mb-15{margin-bottom:15px}.mb-20{margin-bottom:20px}.mb-25{margin-bottom:25px}.mb-30{margin-bottom:30px}.mb-35{margin-bottom:35px}.mb-40{margin-bottom:40px}.mb-45{margin-bottom:45px}.mb-50{margin-bottom:50px}.mb-55{margin-bottom:55px}.mb-60{margin-bottom:60px}.mb-65{margin-bottom:65px}.mb-70{margin-bottom:70px}.mb-75{margin-bottom:75px}.mb-80{margin-bottom:80px}.mb-85{margin-bottom:85px}.mb-90{margin-bottom:90px}.mb-95{margin-bottom:95px}.mb-100{margin-bottom:100px}.mb-105{margin-bottom:105px}.mb-110{margin-bottom:110px}.mb-115{margin-bottom:115px}.mb-120{margin-bottom:120px}.mb-125{margin-bottom:125px}.mb-130{margin-bottom:130px}.mb-135{margin-bottom:135px}.mb-140{margin-bottom:140px}.mb-145{margin-bottom:145px}.mb-150{margin-bottom:150px}.mb-155{margin-bottom:155px}.mb-160{margin-bottom:160px}.mb-165{margin-bottom:165px}.mb-170{margin-bottom:170px}.mb-175{margin-bottom:175px}.mb-180{margin-bottom:180px}.mb-185{margin-bottom:185px}.mb-190{margin-bottom:190px}.mb-195{margin-bottom:195px}.mb-200{margin-bottom:200px}

.ml-5{margin-left:5px}.ml-10{margin-left:10px}.ml-15{margin-left:15px}.ml-20{margin-left:20px}.ml-25{margin-left:25px}.ml-30{margin-left:30px}.ml-35{margin-left:35px}.ml-40{margin-left:40px}.ml-45{margin-left:45px}.ml-50{margin-left:50px}.ml-55{margin-left:55px}.ml-60{margin-left:60px}.ml-65{margin-left:65px}.ml-70{margin-left:70px}.ml-75{margin-left:75px}.ml-80{margin-left:80px}.ml-85{margin-left:85px}.ml-90{margin-left:90px}.ml-95{margin-left:95px}.ml-100{margin-left:100px}.ml-105{margin-left:105px}.ml-110{margin-left:110px}.ml-115{margin-left:115px}.ml-120{margin-left:120px}.ml-125{margin-left:125px}.ml-130{margin-left:130px}.ml-135{margin-left:135px}.ml-140{margin-left:140px}.ml-145{margin-left:145px}.ml-150{margin-left:150px}.ml-155{margin-left:155px}.ml-160{margin-left:160px}.ml-165{margin-left:165px}.ml-170{margin-left:170px}.ml-175{margin-left:175px}.ml-180{margin-left:180px}.ml-185{margin-left:185px}.ml-190{margin-left:190px}.ml-195{margin-left:195px}.ml-200{margin-left:200px}

.mr-5{margin-right:5px}.mr-10{margin-right:10px}.mr-15{margin-right:15px}.mr-20{margin-right:20px}.mr-25{margin-right:25px}.mr-30{margin-right:30px}.mr-35{margin-right:35px}.mr-40{margin-right:40px}.mr-45{margin-right:45px}.mr-50{margin-right:50px}.mr-55{margin-right:55px}.mr-60{margin-right:60px}.mr-65{margin-right:65px}.mr-70{margin-right:70px}.mr-75{margin-right:75px}.mr-80{margin-right:80px}.mr-85{margin-right:85px}.mr-90{margin-right:90px}.mr-95{margin-right:95px}.mr-100{margin-right:100px}.mr-105{margin-right:105px}.mr-110{margin-right:110px}.mr-115{margin-right:115px}.mr-120{margin-right:120px}.mr-125{margin-right:125px}.mr-130{margin-right:130px}.mr-135{margin-right:135px}.mr-140{margin-right:140px}.mr-145{margin-right:145px}.mr-150{margin-right:150px}.mr-155{margin-right:155px}.mr-160{margin-right:160px}.mr-165{margin-right:165px}.mr-170{margin-right:170px}.mr-175{margin-right:175px}.mr-180{margin-right:180px}.mr-185{margin-right:185px}.mr-190{margin-right:190px}.mr-195{margin-right:195px}.mr-200{margin-right:200px}

.pt-5{padding-top:5px !important}.pt-10{padding-top:10px}.pt-15{padding-top:15px}.pt-20{padding-top:20px}.pt-25{padding-top:25px}.pt-30{padding-top:30px}.pt-35{padding-top:35px}.pt-40{padding-top:40px}.pt-45{padding-top:45px}.pt-50{padding-top:50px}.pt-55{padding-top:55px}.pt-60{padding-top:60px}.pt-65{padding-top:65px}.pt-70{padding-top:70px}.pt-75{padding-top:75px}.pt-80{padding-top:80px}.pt-85{padding-top:85px}.pt-90{padding-top:90px}.pt-95{padding-top:95px}.pt-100{padding-top:100px}.pt-105{padding-top:105px}.pt-110{padding-top:110px}.pt-115{padding-top:115px}.pt-120{padding-top:120px}.pt-125{padding-top:125px}.pt-130{padding-top:130px}.pt-135{padding-top:135px}.pt-140{padding-top:140px}.pt-145{padding-top:145px}.pt-150{padding-top:150px}.pt-155{padding-top:155px}.pt-160{padding-top:160px}.pt-165{padding-top:165px}.pt-170{padding-top:170px}.pt-175{padding-top:175px}.pt-180{padding-top:180px}.pt-185{padding-top:185px}.pt-190{padding-top:190px}.pt-195{padding-top:195px}.pt-200{padding-top:200px}

.pb-5{padding-bottom:5px !important}.pb-10{padding-bottom:10px}.pb-15{padding-bottom:15px}.pb-20{padding-bottom:20px}.pb-25{padding-bottom:25px}.pb-30{padding-bottom:30px}.pb-35{padding-bottom:35px}.pb-40{padding-bottom:40px}.pb-45{padding-bottom:45px}.pb-50{padding-bottom:50px}.pb-55{padding-bottom:55px}.pb-60{padding-bottom:60px}.pb-65{padding-bottom:65px}.pb-70{padding-bottom:70px}.pb-75{padding-bottom:75px}.pb-80{padding-bottom:80px}.pb-85{padding-bottom:85px}.pb-90{padding-bottom:90px}.pb-95{padding-bottom:95px}.pb-100{padding-bottom:100px}.pb-105{padding-bottom:105px}.pb-110{padding-bottom:110px}.pb-115{padding-bottom:115px}.pb-120{padding-bottom:120px}.pb-125{padding-bottom:125px}.pb-130{padding-bottom:130px}.pb-135{padding-bottom:135px}.pb-140{padding-bottom:140px}.pb-145{padding-bottom:145px}.pb-150{padding-bottom:150px}.pb-155{padding-bottom:155px}.pb-160{padding-bottom:160px}.pb-165{padding-bottom:165px}.pb-170{padding-bottom:170px}.pb-175{padding-bottom:175px}.pb-180{padding-bottom:180px}.pb-185{padding-bottom:185px}.pb-190{padding-bottom:190px}.pb-195{padding-bottom:195px}.pb-200{padding-bottom:200px}

.pl-5{padding-left:5px}.pl-10{padding-left:10px}.pl-15{padding-left:15px}.pl-20{padding-left:20px}.pl-25{padding-left:25px}.pl-30{padding-left:30px}.pl-35{padding-left:35px}.pl-40{padding-left:40px}.pl-45{padding-left:45px}.pl-50{padding-left:50px}.pl-55{padding-left:55px}.pl-60{padding-left:60px}.pl-65{padding-left:65px}.pl-70{padding-left:70px}.pl-75{padding-left:75px}.pl-80{padding-left:80px}.pl-85{padding-left:85px}.pl-90{padding-left:90px}.pl-95{padding-left:95px}.pl-100{padding-left:100px}.pl-105{padding-left:105px}.pl-110{padding-left:110px}.pl-115{padding-left:115px}.pl-120{padding-left:120px}.pl-125{padding-left:125px}.pl-130{padding-left:130px}.pl-135{padding-left:135px}.pl-140{padding-left:140px}.pl-145{padding-left:145px}.pl-150{padding-left:150px}.pl-155{padding-left:155px}.pl-160{padding-left:160px}.pl-165{padding-left:165px}.pl-170{padding-left:170px}.pl-175{padding-left:175px}.pl-180{padding-left:180px}.pl-185{padding-left:185px}.pl-190{padding-left:190px}.pl-195{padding-left:195px}.pl-200{padding-left:200px}

.pr-5{padding-right:5px}.pr-10{padding-right:10px}.pr-15{padding-right:15px}.pr-20{padding-right:20px}.pr-25{padding-right:25px}.pr-30{padding-right:30px}.pr-35{padding-right:35px}.pr-40{padding-right:40px}.pr-45{padding-right:45px}.pr-50{padding-right:50px}.pr-55{padding-right:55px}.pr-60{padding-right:60px}.pr-65{padding-right:65px}.pr-70{padding-right:70px}.pr-75{padding-right:75px}.pr-80{padding-right:80px}.pr-85{padding-right:85px}.pr-90{padding-right:90px}.pr-95{padding-right:95px}.pr-100{padding-right:100px}.pr-105{padding-right:105px}.pr-110{padding-right:110px}.pr-115{padding-right:115px}.pr-120{padding-right:120px}.pr-125{padding-right:125px}.pr-130{padding-right:130px}.pr-135{padding-right:135px}.pr-140{padding-right:140px}.pr-145{padding-right:145px}.pr-150{padding-right:150px}.pr-155{padding-right:155px}.pr-160{padding-right:160px}.pr-165{padding-right:165px}.pr-170{padding-right:170px}.pr-175{padding-right:175px}.pr-180{padding-right:180px}.pr-185{padding-right:185px}.pr-190{padding-right:190px}.pr-195{padding-right:195px}.pr-200{padding-right:200px}

/* ==========================================
   3. HEADER (header_stile_1.css)
   ========================================== */

.header-sticky {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  opacity: 1;
  visibility: visible;
  width: 100%;
  background-color: var(--tp-common-white);
  box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
  animation: 0.5s ease-in-out 0s normal none 1 running fadeInDown;
  z-index: 999;
}
.header-sticky .tp-header-main__menu-bg {
  width: 100%;
}

.tp-header-top__plr {
  padding-left: 100px;
  padding-right: 100px;
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), (max-width: 767px) {
  .tp-header-top__plr {
    padding-left: 0px;
    padding-right: 0px;
  }
}
.tp-header-top__height {
  min-height: 45px;
  line-height: 45px;
}
.tp-header-top__left-info ul li {
  display: inline-block;
  list-style-type: none;
  font-weight: 400;
  font-size: 15px;
  letter-spacing: 0.02em;
  color: var(--tp-common-black-2);
  padding-right: 25px;
  margin-right: 25px;
  position: relative;
}
.tp-header-top__left-info ul li:first-child a {
  text-decoration: underline;
}
@media only screen and (min-width: 1400px) and (max-width: 1599px), only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px) {
  .tp-header-top__left-info ul li:nth-child(2) {
    display: none;
  }
  .tp-header-top__left-info ul li:nth-child(3) {
    display: none;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .tp-header-top__left-info ul li {
    margin-right: 0;
  }
  .tp-header-top__left-info ul li:nth-child(2) {
    display: none;
  }
  .tp-header-top__left-info ul li:nth-child(3) {
    display: none;
  }
}
.tp-header-top__left-info ul li:last-child {
  padding-right: 0;
  margin-right: 0;
}
.tp-header-top__left-info ul li:last-child::after {
  display: none;
}
.tp-header-top__left-info ul li svg {
  margin-top: -2px;
  margin-right: 4px;
}
.tp-header-top__left-info ul li::after {
  content: "";
  height: 20px;
  width: 1px;
  right: 0;
  top: 13px;
  position: absolute;
  background-color: rgba(104, 94, 94, 0.29);
}
@media only screen and (min-width: 1400px) and (max-width: 1599px), only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px) {
  .tp-header-top__left-info ul li::after {
    display: none;
  }
}
.tp-header-top__left-info ul li span {
  height: 22px;
  line-height: 22px;
  padding: 0px 13px;
  background-color: var(--tp-theme-2);
  color: var(--tp-common-black);
  text-transform: uppercase;
  display: inline-block;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.15em;
  margin-right: 13px;
  transform: translateY(-2px);
}
.tp-header-top__left-info ul li a:hover {
  color: var(--tp-theme-1);
}
.tp-header-top__value {
  position: relative;
}
@media only screen and (min-width: 1400px) and (max-width: 1599px) {
  .tp-header-top__value {
    margin-left: 20px;
  }
}
.tp-header-top__value ul li {
  list-style-type: none;
}
.tp-header-top__value ul li a {
  font-weight: 400;
  font-size: 14px;
  color: var(--tp-common-black-2);
}
.tp-header-top__value ul li a img {
  width: 25px;
  height: 25px;
  border: 3px solid var(--tp-common-white);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.13);
  box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.12);
  margin-right: 10px;
}
.tp-header-top__value ul li a span {
  margin-left: 5px;
}
.tp-header-top__value ul li a span svg {
  transform: translateY(-1px);
}
.tp-header-top__value ul li ul.tp-header-top__value-submenu {
  position: absolute;
  top: 130%;
  left: 0px;
  width: 80px;
  background: var(--tp-common-white);
  z-index: 99;
  box-shadow: 0 30px 70px 6px rgba(11, 6, 70, 0.08);
  padding: 15px 20px;
  border-radius: 4px;
  transition: all 0.3s ease-out 0s;
  opacity: 0;
  visibility: hidden;
}
.tp-header-top__value ul li ul.tp-header-top__value-submenu.open {
  opacity: 1;
  visibility: visible;
  top: 100%;
}
.tp-header-top__value ul li ul.tp-header-top__value-submenu li {
  line-height: 1;
  margin-bottom: 10px;
  list-style-type: none;
}
.tp-header-top__value ul li ul.tp-header-top__value-submenu li:last-child {
  margin-bottom: 0;
}
.tp-header-top__value ul li ul.tp-header-top__value-submenu li a:hover {
  color: var(--tp-theme-1);
}
.tp-header-top__lang {
  position: relative;
}
@media only screen and (min-width: 1400px) and (max-width: 1599px) {
  .tp-header-top__lang {
    margin-left: 20px;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .tp-header-top__lang {
    margin-right: 20px;
  }
}
.tp-header-top__lang > ul > li {
  list-style-type: none;
}
.tp-header-top__lang > ul > li a {
  font-weight: 400;
  font-size: 15px;
  color: var(--tp-common-black-2);
}
.tp-header-top__lang > ul > li a img {
  width: 25px;
  height: 25px;
  border: 3px solid var(--tp-common-white);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.13);
  box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.12);
  margin-right: 10px;
}
.tp-header-top__lang > ul > li a span {
  margin-left: 5px;
}
.tp-header-top__lang > ul > li ul.tp-header-top__lang-submenu {
  position: absolute;
  top: 130%;
  left: 0px;
  width: 100px;
  background: var(--tp-common-white);
  z-index: 9;
  box-shadow: 0 30px 70px 6px rgba(11, 6, 70, 0.08);
  padding: 15px 15px;
  border-radius: 4px;
  transition: all 0.3s ease-out 0s;
  opacity: 0;
  visibility: hidden;
}
.tp-header-top__lang > ul > li ul.tp-header-top__lang-submenu.open {
  opacity: 1;
  visibility: visible;
  top: 100%;
}
.tp-header-top__lang > ul > li ul.tp-header-top__lang-submenu li {
  line-height: 1;
  margin-bottom: 10px;
  list-style-type: none;
}
.tp-header-top__lang > ul > li ul.tp-header-top__lang-submenu li:last-child {
  margin-bottom: 0;
}
.tp-header-top__lang > ul > li ul.tp-header-top__lang-submenu li a:hover {
  color: var(--tp-theme-1);
}
.tp-header-top__social {
  background-color: var(--tp-theme-1);
  padding: 0px 17px;
}
@media only screen and (min-width: 1400px) and (max-width: 1599px) {
  .tp-header-top__social {
    padding: 0 14px;
  }
}
.tp-header-top__social ul li {
  display: inline-block;
  list-style-type: none;
}
.tp-header-top__social ul li a {
  color: var(--tp-common-white);
  font-size: 18px;
  margin: 0px 10px;
}
.tp-header-top__social ul li a:hover {
  color: var(--tp-theme-2);
}

.tp-header-main__menu-wrapper {
  display: flex;
  justify-content: end;
}

.tp-header-main__menu-box {
  margin-right: 134px;
}
@media only screen and (min-width: 1700px) and (max-width: 1800px) {
  .tp-header-main__menu-box {
    margin-right: 60px;
  }
}
@media only screen and (min-width: 1600px) and (max-width: 1700px) {
  .tp-header-main__menu-box {
    margin-right: 80px;
  }
}
@media only screen and (min-width: 1400px) and (max-width: 1599px) {
  .tp-header-main__menu-box {
    margin-right: 50px;
  }
}
@media only screen and (min-width: 1200px) and (max-width: 1399px) {
  .tp-header-main__menu-box {
    margin-right: 0px;
  }
}

.tp-header-main__pl {
  padding-left: 100px;
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), (max-width: 767px) {
  .tp-header-main__pl {
    padding-left: 15px;
  }
}
.tp-header-main__menu-bg {
  background-color: var(--tp-common-white);
  height: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  display: flex;
  justify-content: end;
  padding-left: 45px;
}
@media only screen and (min-width: 1200px) and (max-width: 1399px) {
  .tp-header-main__menu-bg {
    padding-left: 0;
  }
}
@media (max-width: 767px) {
  .tp-header-main__menu-bg {
    padding-left: 0;
  }
}
.tp-header-main__logo-wrap {
  position: absolute;
  top: 0;
  left: 115px;
}
.tp-header-main__logo span {
  position: absolute;
  top: 0%;
  left: 0%;
}
.tp-header-main__logo-1 {
  position: relative;
  top: 20px;
  left: 30px;
}
.tp-header-main__menu > nav > ul {
  text-align: end;
}
.tp-header-main__menu > nav > ul > li {
  display: inline-block;
  list-style-type: none;
  margin: 0px 35px;
  position: relative;
}
@media only screen and (min-width: 1600px) and (max-width: 1700px) {
  .tp-header-main__menu > nav > ul > li {
    margin: 0px 25px;
  }
}
@media only screen and (min-width: 1400px) and (max-width: 1599px) {
  .tp-header-main__menu > nav > ul > li {
    margin: 0px 19px;
  }
}
@media only screen and (min-width: 1200px) and (max-width: 1399px) {
  .tp-header-main__menu > nav > ul > li {
    margin: 0px 20px;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .tp-header-main__menu > nav > ul > li {
    margin: 0px 15px;
  }
}
.tp-header-main__menu > nav > ul > li:last-child {
  margin-right: 10px;
}

/* ✅ REEMPLAZADO: Font Awesome por SVG (chevron-down) */
.tp-header-main__menu > nav > ul > li.has-dropdown-2::after {
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  /*background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512' fill='%23FFB302'%3E%3Cpath d='M201.4 342.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 274.7 86.6 137.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z'/%3E%3C/svg%3E");*/
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFB302' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14M5 12l7 7 7-7'/%3E%3C/svg%3E");
    color: var(--tp-theme-2);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transition: 0.3s;
  transform: translateY(-1px);
  margin-left: 15px;
}

.tp-header-main__menu > nav > ul > li:nth-child(2) {
  margin-right: 40px;
  margin-left: 15px;
}
@media only screen and (min-width: 1600px) and (max-width: 1700px) {
  .tp-header-main__menu > nav > ul > li:nth-child(2) {
    margin-right: 10px;
  }
}
@media only screen and (min-width: 1400px) and (max-width: 1599px) {
  .tp-header-main__menu > nav > ul > li:nth-child(2) {
    margin-right: 10px;
  }
}
@media only screen and (min-width: 1200px) and (max-width: 1399px) {
  .tp-header-main__menu > nav > ul > li:nth-child(2) {
    margin-right: 12px;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .tp-header-main__menu > nav > ul > li:nth-child(2) {
    margin-right: 15px;
  }
}
.tp-header-main__menu > nav > ul > li > .submenu {
  position: absolute;
  background-color: var(--tp-common-white);
  width: 240px;
  z-index: 999;
  padding: 30px 0px;
  top: 110%;
  opacity: 0;
  visibility: hidden;
  transition: 0.4s;
  text-align: left;
  margin-left: 0;
  border-top: 5px solid var(--tp-theme-1);
  box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
}
.tp-header-main__menu > nav > ul > li > .submenu > li {
  margin: 0;
  display: block;
  margin-bottom: 10px;
  padding: 0 45px;
}
.tp-header-main__menu > nav > ul > li > .submenu > li:last-child {
  margin-bottom: 0;
}
.tp-header-main__menu > nav > ul > li > .submenu > li > a {
  padding: 0;
  margin: 0;
  display: inline-block;
  text-transform: capitalizes;
  font-size: 14px;
  color: var(--tp-common-black);
  position: relative;
  letter-spacing: 1px;
  font-weight: 500;
}
.tp-header-main__menu > nav > ul > li > .submenu > li > a:hover {
  color: var(--tp-theme-1);
}
.tp-header-main__menu > nav > ul > li > .submenu > li .submenu {
  left: 100%;
  top: 0;
}
.tp-header-main__menu > nav > ul > li > a {
  font-weight: 500;
  font-size: 15px;
  color: var(--tp-common-black);
  padding: 37px 0px;
  display: inline-block;
}
.tp-header-main__menu > nav > ul > li:hover > .submenu {
  opacity: 1;
  visibility: visible;
  top: 100%;
}
.tp-header-main__menu > nav > ul > li:hover > a {
  color: var(--tp-theme-1);
}
.tp-header-main__right-info ul li {
  list-style-type: none;
  display: inline-block;
  margin-left: 60px;
}

.tp-header-2__shop-cart {
  position: relative;
}
.tp-header-2__shop-cart a {
  font-size: 21px;
  color: var(--tp-common-black);
}
.tp-header-2__shop-cart a span {
  position: absolute;
  right: -6px;
  top: -17px;
  height: 16px;
  width: 16px;
  line-height: 16px;
  border-radius: 50%;
  text-align: center;
  background-color: var(--tp-common-green);
  display: inline-block;
  font-size: 10px;
  color: var(--tp-common-white);
}
.tp-header-2__shop-cart span {
    position: absolute;
    right: 3px;
    top: 3px;
    height: 16px;
    width: 16px;
    line-height: 16px;
    border-radius: 50%;
    text-align: center;
    background-color: var(--tp-common-green);
    display: inline-block;
    font-size: 10px;
    color: var(--tp-common-white);
}
.navbar-cart-product .navbar-cart-product-image {
    max-width: 70px;
}
.navbar-cart-product-wrapper {
    min-width: 270px;
    max-height: 280px;
    overflow-y: auto;
}
.navbar-cart-product .align-items-center {
    font-family: var(--tp-ff-body);
    font-size: 14px;
    font-weight: normal;
    color: var(--tp-text-body);
    line-height: 15px;
}
.navbar-cart-product:last-of-type {
    border-bottom: none;
}
.navbar-cart-product {
    padding-top: 0.6rem;
    padding-bottom: 0.6rem;
    border-bottom: 1px solid #e9ecef;
}
.align-items-center {
    align-items: center!important;
}

.navbar-cart-total {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 0.7rem 1rem;
    font-size: .7875rem;
    border-top: 1px solid #e9ecef;
    border-bottom: 1px solid #e9ecef;
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
}
.justify-content-between {
    justify-content: space-between!important;
}

@media only screen and (min-width: 1400px) and (max-width: 1599px) {
  .tp-header-main__right-info ul li {
    margin-left: 25px;
  }
}
@media only screen and (min-width: 1200px) and (max-width: 1399px) {
  .tp-header-main__right-info ul li {
    margin-left: 15px;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px) {
  .tp-header-main__right-info ul li {
    margin-left: 30px;
  }
}
@media (max-width: 767px) {
  .tp-header-main__right-info ul li {
    margin-left: 0px;
  }
}
.tp-header-main__right-info ul li:first-child {
  margin-left: 0;
}
.tp-header-main__search {
  padding-left: 47px;
  position: relative;
}
.tp-header-main__search::after {
  position: absolute;
  content: "";
  top: 8px;
  left: 0;
  width: 1px;
  height: 40px;
  background-color: #EDEEEE;
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), (max-width: 767px) {
  .tp-header-main__search::after {
    display: none;
  }
}
.tp-header-main__search button {
  height: 55px;
  width: 55px;
  line-height: 53px;
  border-radius: 50%;
  background-color: var(--tp-theme-1);
  text-align: center;
  display: inline-block;
  transition: 0.3s;
}
.tp-header-main__search button span {
  margin-left: -2px;
}
.tp-header-main__search:hover button {
  background-color: var(--tp-theme-2);
}
.tp-header-main__phone-content span {
  font-weight: 500;
  font-size: 14px;
  text-transform: uppercase;
  color: rgba(0, 0, 0, 0.53);
  display: block;
}
.tp-header-main__phone-content a {
  font-weight: 500;
  font-size: 16px;
  color: var(--tp-common-black);
  transition: 0.3s;
}
.tp-header-main__phone-content a:hover {
  color: var(--tp-theme-1);
}
.tp-header-main__bar button {
  height: 100px;
  width: 110px;
  line-height: 100px;
  text-align: center;
  background-color: var(--tp-theme-1);
  color: var(--tp-common-white);
  font-size: 30px;
}
@media (max-width: 767px) {
  .tp-header-main__bar button {
    height: 80px;
    width: 90px;
    line-height: 88px;
  }
}
.tp-header-main__phone-icon {
  margin-right: 15px;
}

.tp-header-xl__bar button {
  height: 55px;
  width: 55px;
  line-height: 53px;
  background-color: var(--tp-theme-1);
  text-align: center;
  display: inline-block;
  color: var(--tp-common-white);
  font-size: 24px;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .tp-header-xl__bar button {
    margin-left: 30px;
  }
}
.tp-header-xl__mob-space {
  padding: 15px 0;
}

.header-icon svg {
  transform: translateY(-2px);
}

/* ==========================================
   4. MENÚ PRINCIPAL (main_menu.css)
   ========================================== */

.tp-header-main__menu nav ul li .has-homemenu {
  width: 810px;
  padding: 30px 30px 10px 30px;
  opacity: 0;
  visibility: hidden;
  background-color: var(--tp-common-white);
  box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
}
.tp-header-main__menu nav ul li .has-homemenu .homemenu {
  padding: 0px 10px;
  position: relative;
  margin-bottom: 20px;
}

.tp-header-2__menu nav ul li .has-homemenu {
  width: 810px;
  padding: 30px 30px 10px 30px;
  opacity: 0;
  visibility: hidden;
  background-color: var(--tp-common-white);
  box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
}
.tp-header-2__menu nav ul li .has-homemenu .homemenu {
  padding: 0px 10px;
  position: relative;
  margin-bottom: 20px;
}

.homemenu-btn {
  position: absolute;
  bottom: 20%;
  left: 0;
  right: 0;
  text-align: center;
  opacity: 0;
  visibility: hidden;
  transition: 0.4s;
}

.homemenu-title {
  font-size: 18px;
  margin-bottom: 0;
  color: var(--tp-theme-1);
  display: inline-block;
  font-weight: 700;
}
.homemenu-title:hover {
  color: var(--tp-theme-2);
}

.homemenu-thumb {
  position: relative;
  border: 1px solid rgba(0, 0, 0, 0.1);
}
.homemenu-thumb:hover .homemenu-btn {
  opacity: 1;
  visibility: visible;
  bottom: 50%;
  transform: translateY(50%);
}

.tp-main-menu-mobile .tp-submenu {
  display: none;
}
.tp-main-menu-mobile .header-icon {
  display: none;
}
.tp-main-menu-mobile ul {
  position: static;
  display: block;
  box-shadow: none;
}
.tp-main-menu-mobile ul li {
  list-style: none;
  position: relative;
  width: 100%;
  padding: 0;
}
.tp-main-menu-mobile ul li:not(:last-child) a {
  border-bottom: 1px solid rgba(6, 7, 40, 0.1);
}
.tp-main-menu-mobile ul li.has-dropdown > a .dropdown-toggle-btn {
  position: absolute;
  right: 0;
  top: 21%;
  transform: translateY(-2px);
  font-size: 18px;
  color: #7F8387;
  font-family: var(--tp-ff-fontawesome);
  transition: all 0.3s ease-in-out;
  z-index: 1;
  width: 25px;
  height: 25px;
  line-height: 22px;
  text-align: center;
  border: 1px solid rgba(255, 255, 255, 0.12);
}
.tp-main-menu-mobile ul li.has-dropdown > a .dropdown-toggle-btn svg {
  transition: all 0.3s ease-in-out;
  margin-left: 2px;
}
.tp-main-menu-mobile ul li.has-dropdown > a .dropdown-toggle-btn.dropdown-opened svg {
  transform: rotate(90deg);
}
.tp-main-menu-mobile ul li.has-dropdown > a .dropdown-toggle-btn:hover {
  background-color: var(--tp-theme-1);
  border-color: var(--tp-theme-1);
  color: var(--tp-common-white);
}
.tp-main-menu-mobile ul li.has-dropdown > a .dropdown-toggle-btn:hover svg {
  color: var(--tp-common-white);
}
.tp-main-menu-mobile ul li.has-dropdown > a.expanded {
  color: var(--tp-theme-1);
}
.tp-main-menu-mobile ul li.has-dropdown > a.expanded .dropdown-toggle-btn.dropdown-opened {
  background-color: var(--tp-theme-1);
  border-color: var(--tp-theme-1);
  color: var(--tp-common-white);
}
.tp-main-menu-mobile ul li.has-dropdown > a.expanded .dropdown-toggle-btn.dropdown-opened svg {
  color: var(--tp-common-white);
}
.tp-main-menu-mobile ul li.has-dropdown:hover > a::after {
  color: var(--tp-theme-green);
}
.tp-main-menu-mobile ul li:last-child a span {
  border-bottom: 0;
}
.tp-main-menu-mobile ul li > a {
  display: block;
  font-size: 16px;
  color: var(--tp-common-white);
  position: relative;
  padding: 10px 0;
  padding-right: 20px;
}
.tp-main-menu-mobile ul li > a svg {
  transform: translateY(-2px);
}
.tp-main-menu-mobile ul li > a > svg {
  display: inline-block;
  width: 11%;
  margin-right: 13px;
  transform: translateY(4px);
  font-size: 21px;
  line-height: 1;
}
.tp-main-menu-mobile ul li > a .menu-text {
  font-size: 16px;
  line-height: 11px;
  border-bottom: 1px solid #EAEBED;
  width: 82%;
  display: inline-block;
  padding: 19px 0 17px;
}
.tp-main-menu-mobile ul li img {
  width: 100%;
}
.tp-main-menu-mobile ul li ul {
  padding: 0;
}
.tp-main-menu-mobile ul li ul li {
  padding: 0;
}
.tp-main-menu-mobile ul li ul li a {
  margin-left: auto;
  width: 93%;
  padding: 10px 5%;
  text-shadow: none !important;
  visibility: visible;
  padding-left: 0;
  padding-right: 20px;
}
.tp-main-menu-mobile ul li ul li li a {
  width: 88%;
  padding: 10px 7%;
  padding-left: 0;
  padding-right: 20px;
}
.tp-main-menu-mobile ul li ul li li li a {
  width: 83%;
  padding: 10px 9%;
  padding-left: 0;
  padding-right: 20px;
}
.tp-main-menu-mobile ul li ul li li li li a {
  width: 68%;
  padding: 10px 11%;
  padding-left: 0;
  padding-right: 20px;
}
.tp-main-menu-mobile ul li:hover > a {
  color: var(--tp-theme-1);
}
.tp-main-menu-mobile ul li:hover > a::after {
  color: var(--tp-theme-1);
}
.tp-main-menu-mobile ul li:hover > a .dropdown-toggle-btn svg {
  color: var(--tp-theme-1);
}
.tp-main-menu-mobile ul li:hover .mega-menu {
  visibility: visible;
  opacity: 1;
  top: 0;
}
.tp-main-menu-mobile ul li .mega-menu, .tp-main-menu-mobile ul li .submenu {
  position: static;
  min-width: 100%;
  padding: 0;
  box-shadow: none;
  visibility: visible;
  opacity: 1;
  display: none;
}
.tp-main-menu-mobile ul li .mega-menu li, .tp-main-menu-mobile ul li .submenu li {
  float: none;
  display: block;
  width: 100%;
  padding: 0;
}
.tp-main-menu-mobile ul li .mega-menu li:hover a .dropdown-toggle-btn, .tp-main-menu-mobile ul li .submenu li:hover a .dropdown-toggle-btn {
  color: var(--tp-theme-1);
}
.tp-main-menu-mobile .tp-main-menu-content ul li:not(:last-child) .home-menu-title a {
  border-bottom: none;
}
.tp-main-menu-mobile * ul, .tp-main-menu-mobile * li {
  transition: none !important;
}

/* ==========================================
   5. OFF-CANVAS (off_canvas.css)
   ✅ ELIMINADO: .body-overlay duplicado (ya está en theme-wisp.css)
   ========================================== */

.tpoffcanvas {
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: fixed;
  top: 0;
  right: -100%;
  width: 480px;
  bottom: 0;
  box-shadow: 0 16px -32px 0 rgba(0, 0, 0, 0.8);
  background-color: var(--tp-common-black);
  z-index: 999999;
  padding: 50px;
  scrollbar-width: none;
  opacity: 0;
  visibility: hidden;
  transition: 0.45s ease-in-out;
  overflow-y: scroll;
}
.tpoffcanvas .homemenu {
  margin-bottom: 30px;
}
.tpoffcanvas .tp-main-menu-mobile {
  margin-bottom: 50px;
}
.tpoffcanvas.opened {
  opacity: 1;
  visibility: visible;
}
@media (max-width: 767px) {
  .tpoffcanvas {
    width: 300px;
    padding: 40px 35px;
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  .tpoffcanvas {
    width: 400px;

    padding: 40px;
  }
}
.tpoffcanvas.opened {
  right: 0;
  transition: all 0.4s cubic-bezier(0.785, 0.135, 0.15, 0.86);
  transition-duration: 0.6s;
}
.tpoffcanvas__title p {
  font-size: 18px;
  color: rgba(255, 255, 255, 0.49);
  font-weight: 500;
  line-height: 1.6;
  margin-bottom: 50px;
}
@media (max-width: 767px) {
  .tpoffcanvas__title p {
    font-size: 17px;
  }
}
.tpoffcanvas__contact-title h5 {
  font-size: 14px;
  color: #888888;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 30px;
  display: inline-block;
}
.tpoffcanvas__input-title h4 {
  font-size: 14px;
  color: #888888;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 30px;
  display: inline-block;
}
.tpoffcanvas__input {
  margin-bottom: 100px;
}
.tpoffcanvas__input input {
  background: rgba(118, 118, 130, 0.3);
  border: transparent;
  height: 60px;
  width: 100%;
  padding-left: 20px;
  padding-right: 80px;
  color: var(--tp-common-white);
}
.tpoffcanvas__input button {
  height: 60px;
  width: 60px;
  background-color: var(--tp-theme-1);
  color: var(--tp-common-white);
  font-size: 16px;
  position: absolute;
  top: 0;
  right: 0;
}
.tpoffcanvas__contact-info {
  margin-bottom: 50px;
}
.tpoffcanvas__contact-info ul li {
  font-size: 16px;
  color: var(--tp-common-white);
  margin-bottom: 15px;
  list-style-type: none;
}
@media (max-width: 767px) {
  .tpoffcanvas__contact-info ul li {
    font-size: 14px;
  }
}
.tpoffcanvas__contact-info ul li:last-child {
  margin-bottom: 0;
}
.tpoffcanvas__contact-info ul li a {
  margin-left: 10px;
  transition: 0.3s;
}
.tpoffcanvas__contact-info ul li a:hover {
  color: var(--tp-theme-2);
}
.tpoffcanvas__logo {
  margin-bottom: 60px;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .tpoffcanvas__logo {
    padding-top: 0;
  }
}
@media (max-width: 767px), only screen and (min-width: 768px) and (max-width: 991px) {
  .tpoffcanvas__logo {
    padding-top: 0;
  }
}
.tpoffcanvas__close-btn button {
  position: absolute;
  right: 30px;
  top: 30px;
  transition: 1s;
  transition: all 0.4s cubic-bezier(0.785, 0.135, 0.15, 0.86);
  transition-duration: 0.3s;
  height: 40px;
  width: 40px;
  
  background-color: var(--tp-common-white);
  color: var(--tp-common-black);
}
.tpoffcanvas__close-btn button:hover svg {
  transform: rotate(360deg);
}
.tpoffcanvas__close-btn button svg {
  font-weight: 300;
  font-size: 20px;
  transition: 0.9s;
}
.tpoffcanvas__social {
  margin-top: 30px;
}
.tpoffcanvas__social .social-icon a {
  height: 55px;
  width: 55px;
  line-height: 58px;
  text-align: center;
  font-size: 16px;
  background-color: rgba(251, 251, 253, 0.08);
  color: var(--tp-common-white);
  margin-right: 15px;
  transition: 0.3s;
  display: inline-block;
  border-radius: 50%;
}
@media (max-width: 767px) {
  .tpoffcanvas__social .social-icon a {
    margin-right: 3px;
    height: 50px;
    width: 50px;
    line-height: 53px;
    font-size: 15px;
  }
}
.tpoffcanvas__social .social-icon a:hover {
  background-color: var(--tp-theme-1);
  color: var(--tp-common-white);
}

/* ==========================================
   6. FOOTER (footer.css)
   ========================================== */

.tp-footer__logo {
  margin-bottom: 30px;
}
.tp-footer__info p {
  font-weight: 400;
  font-size: 16px;
  line-height: 30px;
  color: #B4B4B4;
  margin-bottom: 15px;
}
@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 767px) {
  .tp-footer__info p {
    margin-bottom: 20px;
  }
}
.tp-footer__main-location a {
  position: relative;
  font-weight: 400;
  font-size: 16px;
  line-height: 34px;
  color: #B4B4B4;
  padding-left: 35px;
  display: inline-block;
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .tp-footer__main-location a br {
    display: none;
  }
}
.tp-footer__main-location a svg{
  color: var(--tp-theme-1);
  font-size: 20px;
  position: absolute;
  top: 10px;
  left: 0;
}
.tp-footer__main-location a:hover {
  color: var(--tp-common-white);
}
.tp-footer__main-mail a {
  font-weight: 400;
  font-size: 16px;
  line-height: 34px;
  color: #B4B4B4;
  position: relative;
  padding-left: 35px;
  display: inline-block;
}
.tp-footer__main-mail a svg {
  color: var(--tp-theme-1);
  font-size: 20px;
  position: absolute;
  top: 10px;
  left: 0;
}
.tp-footer__main-mail a:hover {
  color: var(--tp-common-white);
}
.tp-footer__widget-title {
  font-weight: 500;
  font-size: 22px;
  line-height: 29px;
  color: var(--tp-common-white);
  display: inline-block;
  margin-bottom: 30px;
}
.tp-footer__widget-content ul li {
  list-style: none;
  margin-bottom: 18px;
}
.tp-footer__widget-content ul li:last-child {
  margin-bottom: 0;
}
.tp-footer__widget-content ul li a {
  position: relative;
  font-weight: 400;
  font-size: 16px;
  color: #B4B4B4;
  transition: 0.3s ease;
}
.tp-footer__widget-content ul li a::before {
  position: absolute;
  content: "\e09f";
  font-family: var(--tp-ff-fontawesome);
  top: 10px;
  left: -18px;
  font-size: 18px;
  transform: translateY(-50%);
  color: var(--tp-theme-1);
  transition: all 0.3s ease-in-out;
  opacity: 0;
  visibility: hidden;
}
.tp-footer__widget-content ul li a:hover {
  margin-left: 14px;
}
.tp-footer__widget-content ul li a:hover::before {
  color: var(--tp-theme-1);
  opacity: 1;
  visibility: visible;
}
.tp-footer__widget-social a {
  font-size: 14px;
  font-weight: 400;
  color: var(--tp-common-white);
  margin-right: 10px;
  height: 35px;
  width: 35px;
  line-height: 35px;
  border-radius: 50%;
  text-align: center;
  background-color: rgba(251, 251, 253, 0.08);
  display: inline-block;
  transition: 0.3s;
}
.tp-footer__widget-social a:hover {
  color: var(--tp-common-white);
  background-color: var(--tp-theme-1);
}
.tp-footer__author {
  margin-bottom: 32px;
}
.tp-footer__author-content span {
  font-weight: 400;
  font-size: 16px;
  line-height: 30px;
  color: var(--tp-common-white);
}
.tp-footer__author-thumb {
  margin-right: 20px;
}
.tp-footer__author-thumb img {
  border: 2px solid var(--tp-common-white);
  border-radius: 50%;
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .tp-footer__author-thumb img {
    margin-right: 10px;
  }
}
.tp-footer__author-thumb span {
  background-color: #00B956;
  height: 10px;
  width: 10px;
  border-radius: 50%;
  display: inline-block;
  border: 1px solid var(--tp-common-white);
  position: absolute;
  bottom: 20px;
  right: 0;
}
.tp-footer__from {
  position: relative;
  background: rgba(255, 255, 255, 0.02);
  padding: 30px 20px 40px 20px;
}
.tp-footer__text-email {
  margin-bottom: 20px;
}
.tp-footer__text-email input {
  position: relative;
  background: transparent;
  border: none;
  border-bottom: 1px solid rgba(237, 237, 237, 0.3);
  padding-left: 0px;
  padding-right: 35px;
}
.tp-footer__text-email input::placeholder {
  color: #B4B4B4;
}
.tp-footer__text-email input:focus {
  color: var(--tp-common-white);
  border-bottom: 1px solid #fff;
}
.tp-footer__text-email span {
  position: absolute;
  top: 12px;
  right: 2px;
}
.tp-footer__agree {
  margin-bottom: 25px;
}
.tp-footer__agree input {
  margin: 0;
  appearance: none;
  -moz-appearance: none;
  display: block;
  width: 23px;
  height: 23px;
  background: transparent;
  border: 1px solid #4E545F;
  outline: none;
  flex: 0 0 auto;
  transform: translateY(-2.5px);
  border-radius: 50%;
  padding: 0;
  margin-top: 4px;
}
.tp-footer__agree input:checked {
  position: relative;
  background-color: transparent;
}
.tp-footer__agree input:checked::after {
  box-sizing: border-box;
  position: absolute;
  content: "\f00c";
  font-weight: 700;
  font-family: var(--tp-ff-fontawesome);
  font-size: 10px;
  color: var(--tp-theme-2);
  top: 50%;
  left: 49%;
  transform: translate(-50%, -50%);
}
.tp-footer__agree input:hover {
  cursor: pointer;
}
.tp-footer__agree label {
  padding-left: 10px;
  font-weight: 400;
  font-size: 14px;
  line-height: 26px;
  color: #B4B4B4;
}
.tp-footer__agree label span {
  color: var(--tp-theme-2);
  padding-left: 4px;
}
.tp-footer__agree label:hover {
  cursor: pointer;
}

.footer-col-1 {
  padding-right: 20px;
}
@media (max-width: 767px) {
  .footer-col-1 {
    padding-right: 0;
  }
}

.footer-col-2 {
  padding-left: 35px;
}
@media (max-width: 767px) {
  .footer-col-2 {
    padding-left: 0;
  }
}

.footer-col-4 {
  margin-left: -20px;
}
@media (max-width: 767px) {
  .footer-col-4 {
    margin-left: 0;
  }
}

.footer-col-2-2 {
  padding-left: 70px;
}
@media (max-width: 767px) {
  .footer-col-2-2 {
    padding-left: 0;
  }
}

@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 767px) {
  .tp-copyright__inner {
    margin-bottom: 15px;
  }
}
.tp-copyright__inner p, .tp-copyright__inner a {
  font-weight: 400;
  font-size: 16px;
  line-height: 1.7;
  color: var(--tp-common-white);
  margin-bottom: 0;
}
@media (max-width: 767px) {
  .tp-copyright__inner p, .tp-copyright__inner a {
    margin-left: 0px;
    margin: 0px 5px;
  }
}
.tp-copyright__inner p span, .tp-copyright__inner a span {
  color: var(--tp-theme-2);
}
.tp-copyright__inner a:hover {
  color: var(--tp-theme-2);
}
.tp-copyright__bdr-top {
  border-top: 1px solid rgba(242, 242, 242, 0.07);
}

.tp-footer-2__customize .tp-footer__widget-content ul li a::before {
  color: var(--tp-theme-2);
}
.tp-footer-2__customize .tp-footer__main-location a svg{
  color: var(--tp-theme-2);
}
.tp-footer-2__customize .tp-footer__main-mail a svg {
  color: var(--tp-theme-2);
}
.tp-footer-2__shape-1 {
  position: absolute;
  bottom: 0;
  left: 80px;
}
@media only screen and (min-width: 1400px) and (max-width: 1599px), only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 768px) and (max-width: 991px), (max-width: 767px) {
  .tp-footer-2__shape-1 {
    display: none;
  }
}

.tp-copyright__customize .tp-copyright__inner span {
  color: var(--tp-theme-2);
}

/* ==========================================
   7. COMPONENTES UI RESTANTES (theme-wisp.css)
   ========================================== */

/* Body Overlay */
.body-overlay {
  background-color: var(--tp-common-black);
  height: 100%; width: 100%;
  position: fixed; top: 0; left: 0;
  z-index: 9999;
  opacity: 0; visibility: hidden;
  transition: all 0.3s ease-out;
}
.body-overlay:hover { cursor: url(../img/icon/cross-out.png), pointer; }
.body-overlay.opened { opacity: 0.7; visibility: visible; }

/* Dropcap */
.tp-dropcap::first-letter {
  font-size: 90px; font-weight: 500; float: left; text-align: center;
  color: var(--tp-common-black); margin-right: 5px;
  line-height: inherit; text-transform: capitalize;
}

/* Demo */
.demo { transition: color 0.3s linear, transform 0.2s ease; }
[dir="rtl"] .demo { margin-left: 0; margin-right: 15px; }
div.demo img { margin-left: 10px; }
[tp-theme="tp-theme-dark"] .demo { color: #ff0; }

/* Back to Top */
.back-to-top-wrapper {
  position: fixed; right: 50px; bottom: 0;
  height: 44px; width: 44px;
  cursor: pointer; display: block;
  border-radius: 50%; z-index: 99;
  opacity: 0; visibility: hidden;
}
@media (max-width: 767px) {
  .back-to-top-wrapper { right: 20px; bottom: 20px; }
}
.back-to-top-wrapper.back-to-top-btn-show {
  visibility: visible; opacity: 1; bottom: 50px;
}
.back-to-top-btn {
  display: inline-block; width: 44px; height: 44px;
  line-height: 44px; text-align: center;
  background: var(--tp-theme-2);
  box-shadow: 0 8px 16px rgb(3 4 28 / 0.3);
  color: var(--tp-common-white); border-radius: 50%;
  transition: all 0.3s ease-out;
}
.back-to-top-btn:hover { transform: translateY(-4px); }

/* Botones personalizados */
.tp-btn, .tp-btn-square, .tp-btn-border, .tp-btn-border-lg, 
.tp-btn-border-md, .tp-btn-white, .tp-btn-black, .tp-menu-btn {
  overflow: hidden; display: inline-block;
  font-weight: 500; text-transform: capitalize;
 
}

.tp-btn::before, .tp-btn-square::before, .tp-price-btn::before, 
.tp-btn-border::before, .tp-btn-border-lg::before, 
.tp-btn-border-md::before, .tp-btn-white::before, 
.tp-btn-black::before, .tp-menu-btn::before {
  position: absolute; top: 0; right: 0;
  width: 0%; height: 100%; z-index: -1;
  content: ""; background: var(--tp-theme-2);
  transition: all 0.4s ease-in-out;
}

.tp-btn:hover::before, .tp-btn-square:hover::before, 
.tp-price-btn:hover::before, .tp-btn-border:hover::before, 
.tp-btn-border-lg:hover::before, .tp-btn-border-md:hover::before, 
.tp-btn-white:hover::before, .tp-btn-black:hover::before, 
.tp-menu-btn:hover::before {
  left: 0%; right: auto; width: 100%;
}

.tp-btn {
  background-color: var(--tp-theme-1); color: var(--tp-common-white);
  height: 72px; line-height: 72px; border-radius: 36px;
  padding: 0 55px; font-size: 18px; letter-spacing: 0.03em;
  text-transform: uppercase; transition: all 0.5s ease-in-out;
}
.tp-btn:hover { color: var(--tp-common-black); }

.tp-btn-square {
  background-color: var(--tp-theme-1); color: var(--tp-common-white);
  height: 67px; line-height: 67px; padding: 0 55px;
  font-size: 18px; letter-spacing: 0.03em; text-transform: uppercase;
}
.tp-btn-square:hover { color: var(--tp-common-black); }

.tp-price-btn {
  color: var(--tp-common-black); border: 1px solid #DEE1ED;
  height: 61px; line-height: 57px; padding: 0 55px;
  font-size: 16px; transition: all 0.4s ease-in-out;
}
.tp-price-btn span {
  width: 9px; height: 8px; background-color: var(--tp-theme-1);
  display: inline-block; position: absolute; bottom: 0; left: 0;
  transition: 0.2s;
}
.tp-price-btn:hover { color: var(--tp-common-black); border-color: var(--tp-theme-2); }
.tp-price-btn:hover span { background-color: var(--tp-theme-2); }

.tp-btn-border {
  color: var(--tp-common-white); border: 1px solid var(--tp-theme-1);
  height: 50px; line-height: 48px; padding: 0 35px 0 25px;
  font-size: 16px; border-radius: 33px; transition: all 0.5s ease-in-out;
}
.tp-btn-border svg { margin-left: 16px; transform: translateY(1px); }
.tp-btn-border:hover { color: var(--tp-common-black); border-color: var(--tp-theme-2); }

.tp-btn-border-lg {
  color: var(--tp-common-black); border: 1px solid rgb(50 57 74 / 0.15);
  height: 67px; line-height: 67px; padding: 0 40px; font-size: 16px;
  transition: 0.4s;
}
@media (min-width: 992px) and (max-width: 1199px) {
  .tp-btn-border-lg { padding: 0 30px; }
}
.tp-btn-border-lg:hover { color: var(--tp-common-black); border-color: var(--tp-theme-2); }

.tp-btn-border-md {
  color: var(--tp-common-black); border: 1px solid rgb(50 57 74 / 0.15);
  height: 61px; line-height: 61px; padding: 0 43px; font-size: 16px;
}
.tp-btn-border-md:hover { color: var(--tp-common-black); border-color: var(--tp-theme-2); }

.tp-btn-white {
  background-color: var(--tp-common-white); color: var(--tp-common-black);
  height: 65px; line-height: 65px; padding: 0 40px;
  font-size: 16px; border-radius: 33px;
}
.tp-btn-white:hover { color: var(--tp-common-black); }

.tp-btn-subscribe {
  background: rgb(41 16 23 / 0.24); border: 1px solid #FFB302;
  border-radius: 25px; display: inline-block;
  height: 50px; line-height: 50px; padding: 0 25px;
  font-weight: 400; font-size: 16px; letter-spacing: 0.05em;
  color: var(--tp-common-white); transition: all 0.5s ease-in-out;
}
.tp-btn-subscribe svg { margin-left: 5px; }
.tp-btn-subscribe:hover {
  color: var(--tp-common-black);
  background-color: var(--tp-theme-2);
  border-color: var(--tp-theme-2);
}

.tp-btn-black {
  color: var(--tp-common-white); background-color: var(--tp-common-black);
  height: 67px; line-height: 67px; padding: 0 60px;
  font-size: 16px; transition: all 0.5s ease-in-out;
}
.tp-btn-black:hover { color: var(--tp-common-black); }

.tp-menu-btn {
  background-color: var(--tp-theme-2); color: var(--tp-common-white);
  height: 40px; line-height: 40px; padding: 0 20px;
  font-size: 16px; letter-spacing: 0.03em;
}
.tp-menu-btn::before { background: var(--tp-theme-1); }
.tp-menu-btn:hover { color: var(--tp-common-white); }

/* Fondos y colores */
.grey-bg { background-color: var(--tp-grey-1); }
.white-bg { background-color: var(--tp-common-white); }
.black-bg { background-color: var(--tp-common-black); }
.black-bg-2 { background-color: var(--tp-common-black-2); }
.black-bg-3 { background-color: var(--tp-common-black-4); }
.black-bg-4 { background-color: var(--tp-common-black-5); }
.black-bg-5 { background-color: var(--tp-common-black-6); }
.yellow-bg { background-color: var(--tp-theme-2); }

/* Sliders y selectores */
.tp-range-slider .inside-slider { padding-left: 7px; padding-right: 17px; }
.tp-range-slider .noUi-target { background-color: #191C3C; border-radius: 12px; border: 0; box-shadow: none; }
.tp-range-slider .noUi-connect { background-color: var(--tp-theme-primary); }
.tp-range-slider .noUi-horizontal { height: 6px; }
.tp-range-slider .noUi-handle {
  height: 24px; width: 24px; background-color: var(--tp-theme-primary);
  border-radius: 50%; border: 4px solid var(--tp-common-white);
  box-shadow: 0 4px 10px rgb(5 9 43 / 0.3); top: -9px;
}
.tp-range-slider .noUi-handle:hover { cursor: pointer; }
.tp-range-slider .noUi-handle::before, .tp-range-slider .noUi-handle::after { display: none; }
.tp-range-slider-dark .noUi-handle { border: 4px solid #2D314B; }

.tp-swiper-dot, .tp-swiper-dot-border { line-height: 1; }
.tp-swiper-dot .swiper-pagination-bullet {
  width: 10px; height: 10px; background-color: var(--tp-grey-3);
  opacity: 1; margin: 0 3px; position: relative;
}
.tp-swiper-dot .swiper-pagination-bullet button { font-size: 0; }
.tp-swiper-dot .swiper-pagination-bullet.swiper-pagination-bullet-active { background-color: var(--tp-theme-primary); }
.tp-swiper-dot.tp-swiper-dot-style-darkRed .swiper-pagination-bullet.swiper-pagination-bullet-active { background-color: var(--tp-theme-secondary); }

.tp-swiper-dot-border .swiper-pagination-bullet {
  width: 12px; height: 12px; background-color: transparent;
  opacity: 1; margin: 0 3px; position: relative;
  border: 1px solid rgb(2 6 38 / 0.4);
}
.tp-swiper-dot-border .swiper-pagination-bullet button { font-size: 0; }
.tp-swiper-dot-border .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: var(--tp-common-black); border-color: var(--tp-common-black);
}
.tp-swiper-dot-border .swiper-pagination-bullet:hover { border-color: var(--tp-common-black); }

.tp-swiper-arrow button {
  width: 40px; height: 40px; line-height: 38px; font-size: 20px;
  text-align: center; background-color: transparent;
  color: var(--tp-text-2); border: 1px solid rgb(2 6 38 / 0.1);
  border-radius: 50%;
}
.tp-swiper-arrow button:hover { background-color: var(--tp-theme-primary); color: var(--tp-common-white); }

.tp-swiper-scrollbar { background-color: #EDEFF2; height: 2px; }
.tp-swiper-scrollbar .tp-swiper-scrollbar-drag { background-color: var(--tp-common-black); height: 100%; }
.tp-swiper-scrollbar .tp-swiper-scrollbar-drag:hover { cursor: pointer; }
.tp-swiper-scrollbar:hover, .tp-swiper-scrollbar:focus { transform: scaleY(3); }

.tp-slick-dot .slick-dots li { display: inline-block; margin: 0 4px; }
.tp-slick-dot .slick-dots li.slick-active button { background-color: var(--tp-common-white); }
.tp-slick-dot .slick-dots li button {
  font-size: 0; width: 10px; height: 10px;
  border-radius: 50%; background-color: rgb(255 255 255 / 0.2);
}
.tp-slick-dot-blue .slick-dots li.slick-active button { background-color: var(--tp-theme-primary); }
.tp-slick-dot-blue .slick-dots li button { background-color: var(--tp-grey-3); }

.nice-select {
  -webkit-tap-highlight-color: transparent; background-color: #fff;
  border-radius: 5px; border: solid 1px #e8e8e8; box-sizing: border-box;
  clear: both; cursor: pointer; display: block; float: left;
  font-family: inherit; font-size: 14px; font-weight: 400;
  height: 42px; line-height: 40px; outline: none;
  padding-left: 18px; padding-right: 30px; position: relative;
  text-align: left !important; transition: all 0.2s ease-in-out;
  user-select: none; white-space: nowrap; width: auto;
}
.nice-select:hover { border-color: #dbdbdb; }
.nice-select:active, .nice-select.open, .nice-select:focus { border-color: #999; }
.nice-select::after {
  position: absolute; content: "\f107"; top: 50%; right: 0;
  font-family: var(--tp-ff-fontawesome); color: var(--tp-common-black);
  font-weight: 500; pointer-events: none; transition: all 0.15s ease-in-out;
  margin-top: 0; transform-origin: center; transform: translateY(-50%);
}
.nice-select.open::after { transform: translateY(-50%) rotate(-180deg); }
.nice-select.open .list {
  opacity: 1; pointer-events: auto; transform: scale(1) translateY(0);
}
.nice-select.disabled { border-color: #ededed; color: #999; pointer-events: none; }
.nice-select.disabled::after { border-color: #ccc; }
.nice-select.wide { width: 100%; }
.nice-select.wide .list { left: 0 !important; right: 0 !important; }
.nice-select.right { float: right; }
.nice-select.right .list { left: auto; right: 0; }
.nice-select.small { font-size: 12px; height: 36px; line-height: 34px; }
.nice-select.small::after { height: 4px; width: 4px; }
.nice-select.small .option { line-height: 34px; min-height: 34px; }
.nice-select .list {
  background-color: #fff; border-radius: 5px;
  box-shadow: 0 0 0 1px rgb(68 68 68 / 0.11); box-sizing: border-box;
  margin-top: 4px; opacity: 0; overflow: hidden; padding: 0;
  pointer-events: none; position: absolute; top: 100%; left: 0;
  transform-origin: 50% 0; transform: scale(0.75) translateY(-21px);
  transition: all 0.2s cubic-bezier(0.5, 0, 0, 1.25), opacity 0.15s ease-out;
  z-index: 9;
}
.nice-select .option {
  cursor: pointer; font-weight: 400; line-height: 40px;
  list-style: none; min-height: 40px; outline: none;
  padding-left: 18px; padding-right: 29px; text-align: left;
  transition: all 0.2s;
}
.nice-select .option.selected { font-weight: 700; }
.nice-select .option.disabled { background-color: transparent; color: #999; cursor: default; }

/* Secciones y títulos */
.tp-section-subtitle {
  font-weight: 700; font-size: 15px; letter-spacing: 0.02em;
  text-transform: uppercase; color: var(--tp-theme-2);
  display: inline-block; font-family: var(--tp-ff-mulish);
  margin-bottom: 15px;
}
.tp-section-subtitle.section-subtitle-border { position: relative; }
.tp-section-subtitle.section-subtitle-border::after {
  position: absolute; bottom: 0; left: 0; width: 100%; height: 2px;
  content: ""; background-color: rgb(255 179 2 / 0.38);
}

.tp-section-title {
  font-weight: 700; font-size: 44px; text-transform: capitalize;
  color: var(--tp-common-black); line-height: 1.3;
  display: inline-block;
}
@media (min-width: 992px) and (max-width: 1199px) {
  .tp-section-title { font-size: 40px; }
}
@media (max-width: 767px) {
  .tp-section-title { font-size: 35px; }
}
.tp-section-title span { color: var(--tp-theme-2); }
.tp-section-title span .tp-title-shape { position: absolute; bottom: -20px; left: 0; }
.tp-section-title span .tp-title-shape svg { animation: section-animation 4s infinite; }
.tp-section-title span .tp-title-shape-space { position: absolute; bottom: -20px; left: 8px; }

.tp-sub-title span { color: var(--tp-theme-2); }
.tp-sub-title {
  font-weight: 500; font-size: 34px; text-transform: capitalize;
  color: var(--tp-common-black); line-height: 1.3;
  display: inline-block;
}
.tp-sub-title span .tp-title-shape-space {
  position: absolute; bottom: -20px; left: 8px;
  background-image: url('/img/uploads/shape-space.svg');
  padding-bottom: 4px;
}
.tp-sub-title .p-relative .tp-title-shape-space { animation: section-animation 4s infinite; }

.tp-about-2__section-wrap h3 { font-weight: 300; font-size: 24px; }