/*
Theme Name: Base
Theme URI: https://www.invbit.com
Author: Base
Author URI: https://www.invbit.com
Description: Base para Betheme
Template: betheme
Version: 1.6.2
*/

@import "./css/variables.css";
@import "./css/accesibilidad.css";

/*********************************\
            GENERALES
\*********************************/
@view-transition {
  navigation: auto;
}

.container {
  view-transition-name: page;
}

::view-transition-old(page) {
  animation: fade 0.2s linear forwards;
}

::view-transition-new(page) {
  animation: fade 0.3s linear reverse;
}

@keyframes fade {
  0% {
    opacity: 1;
    transform: translateY(0);
  }

  100% {
    opacity: 0;
    transform: translateY(50px);
  }
}

html.lenis {
  height: auto;
}

.lenis.lenis-smooth {
  scroll-behavior: auto;
}

.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}

.lenis.lenis-stopped {
  overflow: hidden;
}

.validate_email_against_bot,
.otgs-development-site-front-end,
.wpml-ls-statics-footer {
  display: none;
}

:root {
  scrollbar-color: var(--negro) #fff;
  scrollbar-width: thin;
}

.style-simple,
.style-simple .mfn-header-tmpl {
  --mfn-column-gap-bottom: 0;
  --mfn-column-gap-top: 0;
  --mfn-column-gap-right: 0;
  --mfn-column-gap-left: 0;
}

p:empty {
  margin: 0;
  display: none;
  visibility: hidden;
  opacity: 0;
}

.admin-bar .full-screen .section_wrapper {
  min-height: calc(100vh - 32px);
}

.section.has-video .section_video {
  display: flex;
  align-items: center;
  justify-content: center;
}

.section.has-video .section_video video {
  top: unset;
  left: unset;
  height: 100%;
}

.section.has-video .section_video .mask {
  display: none;
}

.style-simple .responsiveWidth {
  max-width: calc(2 * var(--halfSection));
}

.mobile-side-slide {
  overflow-x: clip !important;
}

.section_wrapper,
.container {
  box-sizing: border-box;
  padding-left: 33px;
  padding-right: 33px;
}

.slick-list {
  width: 100%;
}

.slick-track {
  display: flex;
}

.slick-dots {
  display: none !important;
}

h1 {
  /* font-size: var(--size-h1); */
  line-height: 1;
  font-weight: 500;
  text-transform: uppercase;
}

h2 {
  line-height: 1;
  letter-spacing: -0.56px;
}

h3 {
  font-size: var(--size-h3);
  line-height: 1.2;
  font-weight: 600;
}

h4 {
  font-size: var(--size-h4);
  line-height: 1.2;
  font-weight: 500;
}

h5 {
  font-size: var(--size-h5);
  line-height: 1.2;
  font-weight: 500;
}

h6 {
  font-size: var(--size-h6);
  line-height: 1.2;
  font-weight: 500;
}

/* body,
p {
  font-size: var(--size-p);
  line-height: 1.3;
} */

.lead,
.big {
  font-size: var(--size-plead);
  line-height: 1.3;
  font-weight: 500;
}

.small {
  font-size: var(--size-psmall);
  line-height: 1.3;
  font-weight: 400;
}

.fs-38 {
  font-size: 38px;
}

.fs-21 {
  font-size: 21px;
}

.fw600 {
  font-weight: 600;
}

.lh-1 {
  line-height: 1;
}

a:hover {
  text-decoration: none;
}

.decorative {
  font-family: var(--font-decorative);
}

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

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

.blanco,
.blanco * {
  color: var(--blanco);
}

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

.button {
  height: var(--button-height);
  text-transform: uppercase;
  font-weight: 600;
}

.nowrap,
.nowrap > .mcb-wrap-inner {
  flex-wrap: nowrap;
}

.flexColumn,
.flexColumn > .mcb-wrap-inner {
  flex-direction: column;
}

.placeEnd,
.placeEnd > .mcb-wrap-inner {
  place-content: end;
}

#Wrapper .section_wrapper,
#Wrapper .container {
  max-width: 1600px;
}

.dos-cols > .section_wrapper {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}

.no-icon .mfn-icon-box .icon-wrapper {
  display: none;
}

@media (width<=768px) {
  .section_wrapper,
  .container {
    padding-inline: 1rem;
  }
}

/* Pojo Accesibility */
#pojo-a11y-toolbar .pojo-a11y-toolbar-toggle a {
  background-color: var(--negro) !important;
  border-radius: 7px 0 0 7px;
  font-size: 150%;
}

/* Créditos Invbit */
#Wrapper .invbit-credits-project-type-label {
  background-color: var(--principal);
  color: var(--blanco) !important;
  padding-inline: 0.5rem;
  font-weight: 500;
}
.invbit-credits-title span {
  color: var(--principal) !important;
}

.invbit-credits-feature-list li::before {
  background: var(--principal) !important;
}

.invbit-credits-feature-item {
  color: var(--negro);
  font-weight: 400 !important;
}

.invbit-credits-title {
  text-transform: uppercase;
}

.invbit-credits-description > div div {
  margin-bottom: 1rem;
}

.invbit-credits-slogan h3 {
  font-size: 1.2rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
}

.invbit-credits-contact a {
  font-weight: 500;
  text-decoration: underline;
}

.invbit-credits-right {
  border: 1px solid #c2d500 !important;
}

aside.invbit-credits-column.invbit-credits-right {
  min-height: unset;
  max-height: 500px;
}

div#bubblesBlock {
  bottom: 2rem;
}

body #cmplz-manage-consent .cmplz-manage-consent {
  background-image: url(imagenes/fondo-ajustes.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  right: unset !important;
  left: 0px;
  font-size: 0px;
  color: #1f1f1f !important;
  width: 140px;
  background-color: transparent !important;
  box-shadow: unset !important;
  bottom: -2px !important;
  padding: 0 !important;
}

body #cmplz-manage-consent .cmplz-manage-consent:before {
  content: "";
  background-image: url(imagenes/icono-ajustes.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  width: 28px;
  height: 28px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.8s ease;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  -webkit-transition: all 0.8s ease;
  -moz-transition: all 0.8s ease;
  -ms-transition: all 0.8s ease;
  -o-transition: all 0.8s ease;
}

body #cmplz-manage-consent .cmplz-manage-consent:hover:before {
  transform: translate(-50%, -54%);
  -webkit-transform: translate(-50%, -54%);
  -moz-transform: translate(-50%, -54%);
  -ms-transform: translate(-50%, -54%);
  -o-transform: translate(-50%, -54%);
}

/* Arregla padding al abrir popup deshabilitando scroll de la web */
html.mfn-popup-browser-scroll-disabled {
  padding-right: 0;
}

/*************** BLOG ***************/
.grid .post-item {
  margin: 0 1% 40px;
}

.post-meta .category .cat-btn {
  display: none;
}

.post-item .post-meta.clearfix {
  display: flex;
  margin-left: 18px;
}

#Wrapper .post-meta .category .cat-wrapper {
  position: static;
  display: flex;
  place-items: start;
  place-content: start;
}

.post-meta .category .cat-wrapper ul li a {
  position: relative;
  font-size: 16px;
  color: var(--secundario);
  font-weight: 500;
}

.post-meta .category .cat-wrapper ul li a::before {
  top: 10px;
  content: "";
  position: absolute;
  left: -18px;
  background-color: var(--secundario);
  min-width: 12px;
  min-height: 12px;
  border-radius: 100vmax;
}

.post-meta .category .cat-wrapper ul li a:hover {
  background: none;
  color: var(--secundario);
}

.post-meta .category .cat-wrapper ul {
  padding: 0;
  min-width: unset;
  background: unset;
}

@media (width<=767px) {
  #Wrapper .photo .post-desc .post-head .post-meta .category {
    display: block;
  }

  #Wrapper .photo .post-desc .post-head .post-meta .category .post-categories {
    margin-left: 1.3rem;
  }
}

/**************** SINGLE POST ****************/

/* Sidebar */
.single-post aside.widget:not(.widget_block) > h3 {
  font-size: 1.4rem;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: -0.8px;
}

.single-post aside input.field {
  border: 1px solid var(--negro);
}

.single-post aside .Recent_posts ul li .desc {
  margin-right: 0;
  padding: 5px 0px;
  background: transparent;
  position: relative;
}

.single-post aside .content_wrapper img,
.single-post aside img.scale-with-grid {
  max-width: 100%;
  height: 100%;
  object-fit: cover;
}

.single-post aside .Recent_posts ul li .photo {
  max-width: 100%;
  width: 100%;
  height: 100%;
  border-radius: 7px;
  margin-bottom: 1rem;
}

.single-post aside .Recent_posts ul li .desc:after {
  display: none;
}

.single-post aside .Recent_posts ul li .photo img {
  border-radius: 7px;
}

.single-post aside .Recent_posts ul li {
  margin-bottom: 24px;
}

.single-post #Wrapper aside span.date {
  font-size: 1rem;
  color: var(--negro);
  font-weight: 400;
}

.single-post aside .Recent_posts ul li .desc h6 {
  position: relative;
  z-index: 2;
  margin-bottom: 3px;
  padding-bottom: 8px;
  border-bottom-width: 1px;
  border-style: solid;
}

.single-post aside.widget_categories ul {
  background-color: unset;
}

.single-post aside.widget_categories ul li {
  font-size: 1.125rem;
}

.single-post aside.widget_categories ul li a {
  color: var(--negro) !important;
}

.widget_categories ul li::marker {
  color: var(--secundario);
}

.single-post aside.widget_categories ul {
  background-color: unset;
  list-style-type: disc;
}

.Recent_posts.classic ul li a:hover .desc .date,
.Recent_posts.classic ul li a:hover h6 {
  color: var(--negro) !important;
}

/* Sidebar. END */

/* Post content */
.single-post h1 {
  font-size: 2.225rem;
  line-height: 1.1;
  margin-bottom: 2.5rem;
  text-transform: math-auto;
}

.single-post h2 {
  font-size: 1.625rem;
}

.single-post .post-inner-content {
  margin-bottom: 2rem;
}

.single-post .post-header .post-meta.clearfix {
  display: none;
}

.blog_wrapper .post-head {
  display: none;
}

.widget_search input[type="text"],
.single-post article .single-photo-wrapper img,
.single-post .single-photo-wrapper .image_frame.scale-with-grid {
  border-radius: 7px;
}

.single-post .single-photo-wrapper .image_frame.scale-with-grid {
  margin-bottom: 34px;
}

.single-post .post-excerpt span {
  font-weight: 400;
  font-size: 1.125rem;
}

.single-post .post-desc .entry-title {
  margin-bottom: 4px;
}

/* Post content. END */

/* Relacionados */
.section-related-adjustment.blog_wrapper.simple {
  padding-top: 4rem;
}

.section-related-adjustment.blog_wrapper.simple .image_frame {
  border-radius: 7px;
}

.section-related-adjustment.blog_wrapper.simple .post-desc {
  padding-inline: 0;
}

.post-meta .category .cat-wrapper ul li a::before {
  top: 50%;
  transform: translateY(-50%);
  content: "";
  position: absolute;
  left: -18px;
  background-color: var(--secundario);
  min-width: 12px;
  min-height: 12px;
  border-radius: 100vmax;
}

.section-related-ul .entry-title {
  font-size: 1.3rem;
}

.section-related-ul .post-excerpt {
  display: none;
}

/* Post navigation */
.single-post .fixed-nav .photo {
  overflow: hidden;
  line-height: 0;
  background-color: #eee;
  max-width: 80px;
  width: 100%;
  object-fit: cover;
}

.single-post .fixed-nav .photo img {
  height: 100%;
}

.widget_categories ul {
  background-color: unset;
}

.widget_categories ul li {
  color: var(--negro);
}

/* Post navigation. END */

/**************** LEGALES ****************/
body #cmplz-manage-consent .cmplz-manage-consent::before {
  background-color: transparent;
}

.cmplz-service-header .screen-reader-text {
  display: none;
}

.cmplz-cookiebanner .cmplz-body {
  overflow: hidden !important;
}

.cmplz-body .cmplz-message {
  text-align: center;
  margin-bottom: 1.5rem !important;
}

.cmplz-body .cmplz-message p:first-child {
  font-size: 1.5rem;
  margin-bottom: 10px;
}

.cmplz-body .cmplz-message p {
  font-size: 1rem;
}

.cmplz-buttons button {
  text-transform: uppercase;
}

/**************** PÁGINAS ****************/
div#cmplz-document {
  max-width: 100%;
}

div#cmplz-document {
  padding-top: 80px;
  padding-bottom: 64px;
}

div#cmplz-document h2:not(:first-child) {
  margin-top: 32px;
  font-size: 1.75rem;
}

#cmplz-document .cmplz-subtitle {
  font-weight: 500;
  margin: 10px 0 16px 0;
}

div#cmplz-document p,
div#cmplz-document ul,
div#cmplz-document li {
  font-size: 1.125rem;
  color: var(--negro);
}

div#cmplz-document b {
  font-weight: 600;
}

/**************** HEADER ****************/
/* Indicador de progreso de scroll */
.scroll-progress-indicator {
  position: absolute;
  bottom: 0;
  left: 0;
  height: 2px;
  background: #1f1f1f67;
  backdrop-filter: blur(10px);
  z-index: 9999;
  width: 0%;
  transition: width 0.1s ease-out;
}

/**************** FOOTER ****************/
.bottom-bar > .mcb-wrap-inner {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}

#Wrapper .accordion .question > .title > i {
  place-content: end;
  left: unset;
  right: 0;
}

.style-simple #Wrapper .accordion .question .title {
  box-shadow: unset;
  padding-inline: 0;
}

.style-simple #Wrapper .accordion .question {
  border: 0;
}

.style-simple #Wrapper .accordion .question.active:after {
  display: none;
}

.accordion .question > .answer {
  box-shadow: unset;
}

.footer-links-wrapper {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

#Wrapper .footer-links-wrapper a {
  color: #4a4a4a;
}

.style-simple #Wrapper .accordion .question .answer {
  padding-inline: 0.5rem;
}

@media (width<=959px) {
  .footer-logos > .mcb-wrap-inner {
    gap: 2rem;
  }

  .footer-logos > .mcb-wrap-inner {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }

  .bottom-bar > .mcb-wrap-inner {
    grid-template-columns: 1fr;
  }

  .footer-rrss > .mcb-wrap-inner {
    gap: 0.4rem;
  }

  .financiado {
    grid-column: span 2;
  }
}

body #Footer .copyright a:hover {
  text-decoration: none;
}

body #Footer .footer_copy {
  border: 0;
  background: black;
  color: white;
}

body #Footer .footer_copy a {
  color: white;
}

body #Footer .footer_copy a:hover {
  color: var(--primary);
}

body #Footer .footer_copy .one {
  --mfn-column-gap-bottom: 15px;
  padding-top: 15px;
  margin-bottom: 0;
}

body #Footer .footer_copy .mcb-column-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

body #Footer .menu {
  list-style: none;
  padding: 0;
  background: none;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
}

body #Footer .copyright .menu {
  gap: 0 10px;
  flex-direction: row;
}

body #Footer .menu li:after {
  content: none;
}

body #Footer .menu a {
  padding: 5px 0;
}

body #Footer .footer_copy .copyright {
  font-size: 14px;
  line-height: 1.3;
  letter-spacing: 0.02em;
  float: none;
  text-align: left;
}

body #Footer .footer_copy .copyText {
  margin: 0 0 5px;
}

body #Footer .footer_copy .social {
  line-height: 0;
}

body #Footer .footer_copy .social li a {
  font-size: 22px;
  line-height: 1;
}

@media only screen and (max-width: 959px) {
  body .animate {
    animation-delay: 0ms !important;
  }

  body #Footer .footer_copy .mcb-column-inner {
    flex-direction: column;
  }

  body #Footer .copyright .menu {
    justify-content: center;
  }

  body #Footer .footer_copy .copyright {
    text-align: center;
  }

  body #Footer .footer_copy .social {
    margin-top: 15px;
  }
}

@media (width<=768px) {
  .mfn-footer-tmpl .mcb-section:not(.full-width) {
    padding-inline: 0;
  }
}

/**************** KIT DIGITAL ****************/
@media only screen and (max-width: 959px) {
  body #Footer .footer_action .financiacion {
    grid-template-columns: 1fr 1fr;
    text-align: center;
    gap: 5px;
  }

  body #Footer .footer_action .financiacion > div:last-child {
    grid-column: 1 / span 2;
  }
}

@media only screen and (max-width: 767px) {
  body #Footer .footer_action .financiacion > div img {
    max-height: unset;
    width: 100%;
  }
}

body #pojo-a11y-toolbar .pojo-a11y-toolbar-overlay p.pojo-a11y-toolbar-title {
  line-height: 1.2;
  font-size: 1.1rem;
}

/**************** CONTACTO ****************/
@media (width<=500px) {
  #Wrapper .contact-info > .mcb-wrap-inner {
    grid-template-columns: 1fr;
  }
}

/* Placeholders */
.wpcf7-form input::-webkit-input-placeholder,
.wpcf7-form textarea::-webkit-input-placeholder {
  color: #1f1f1f;
  opacity: 1 !important;
}

.wpcf7-form input:-moz-placeholder,
.wpcf7-form textarea:-moz-placeholder {
  color: #1f1f1f;
  opacity: 1 !important;
}

.wpcf7-form input::-moz-placeholder,
.wpcf7-form textarea::-moz-placeholder {
  color: #1f1f1f;
  opacity: 1 !important;
}

.wpcf7-form input:-ms-input-placeholder,
.wpcf7-form textarea:-ms-input-placeholder {
  color: #1f1f1f;
  opacity: 1 !important;
}

.wpcf7-form input::-ms-input-placeholder,
.wpcf7-form textarea::-ms-input-placeholder {
  color: #1f1f1f;
  opacity: 1 !important;
}

.wpcf7-form input::placeholder,
.wpcf7-form textarea::placeholder {
  color: #1f1f1f;
  opacity: 1 !important;
}

.contact-form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.contact-form .form-row {
  position: relative;
  margin-bottom: 1rem;
}

.contact-form label {
  font-weight: 500;
  font-size: 1.2rem;
  letter-spacing: -0.28px;
}

.contact-form input,
.contact-form textarea {
  background-color: transparent;
  box-shadow: unset;
  border: 0;
  border-bottom: 1px solid;
}

.input-border {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0%;
  height: 2px;
  background-color: #1f1f1f;
  transition: width 0.3s ease;
}

#Wrapper .contact-form input:not([type="submit"]),
#Wrapper .contact-form textarea {
  color: #1f1f1f;
  background-color: transparent;
  border-color: #1f1f1f;
}

.wpcf7-acceptance label {
  font-weight: 400;
  font-size: 1.1rem;
}

.form-legal p {
  font-size: 0.9rem;
  font-weight: 400;
}

.wpcf7-acceptance > span {
  margin-left: 0;
}

.wpcf7-acceptance a {
  color: #1f1f1f;
  font-weight: 500;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.form-row.button-row button {
  min-width: 100%;
  border: 1px solid #1f1f1f;
}

.themebg,
#comments .commentlist > li .reply a.comment-reply-link,
#Filters .filters_wrapper ul li a:hover,
#Filters .filters_wrapper ul li.current-cat a,
.fixed-nav .arrow,
.offer_thumb .slider_pagination a:before,
.offer_thumb .slider_pagination a.selected:after,
.pager .pages a:hover,
.pager .pages a.active,
.pager .pages span.page-numbers.current,
.pager-single span:after,
.portfolio_group.exposure .portfolio-item .desc-inner .line,
.Recent_posts ul li .desc:after,
.Recent_posts ul li .photo .c,
.slider_pagination a.selected,
.slider_pagination .slick-active a,
.slider_pagination a.selected:after,
.slider_pagination .slick-active a:after,
.testimonials_slider .slider_images,
.testimonials_slider .slider_images a:after,
.testimonials_slider .slider_images:before,
#Top_bar .header-cart-count,
#Top_bar .header-wishlist-count,
.mfn-footer-stickymenu ul li a .header-wishlist-count,
.mfn-footer-stickymenu ul li a .header-cart-count,
.widget_categories ul,
.widget_mfn_menu ul li a:hover,
.widget_mfn_menu ul li.current-menu-item:not(.current-menu-ancestor) > a,
.widget_mfn_menu ul li.current_page_item:not(.current_page_ancestor) > a,
.widget_product_categories ul,
.widget_recent_entries ul li:after,
.woocommerce-account table.my_account_orders .order-number a,
.woocommerce-MyAccount-navigation ul li.is-active a,
.style-simple .accordion .question:after,
.style-simple .faq .question:after,
.style-simple .icon_box .desc_wrapper .title:before,
.style-simple #Filters .filters_wrapper ul li a:after,
.style-simple .trailer_box:hover .desc,
.tp-bullets.simplebullets.round .bullet.selected,
.tp-bullets.simplebullets.round .bullet.selected:after,
.tparrows.default,
.tp-bullets.tp-thumbs .bullet.selected:after {
  background-color: var(--secundario);
}

hr.hr_color,
.hr_color hr,
.hr_dots span {
  color: var(--secundario);
  background: var(--secundario);
}

.tagcloud a {
  color: var(--secundario);
}

#back_to_top.sticky {
  bottom: 100px;
  right: 35px;
  background-color: var(--negro);
  min-width: 50px;
  min-height: 50px;
  max-height: 50px;
  border-radius: 100vmax;
  padding: 0;
}

#back_to_top i {
  content: url(/wp-content/uploads/2025/10/arrowup-2025-10-24-arrowup.svg);
}

.joinchat__button {
  background: #1f1f1f var(--joinchat-ico) 50%/60% no-repeat !important;
}

.video-fix .mask {
  display: none;
}

.column_video.video-fix * {
  height: 100%;
  object-fit: cover;
}

.right-line {
  display: flex;
  flex-direction: column;
}

.right-line span:first-child {
  text-align: right;
}

@media (width<=1060px) {
  .right-line {
    font-size: clamp(1.4rem, 5vw, 4rem);
  }
}

/* Animación títulos por líneas */
.right-line .line-mask {
  display: block;
  overflow: hidden;
}

.right-line .line {
  display: inline-block;
  will-change: transform;
}

/*********************************\
            GENERALES. END
\*********************************/

/*********************************\
                PÁGINAS
\*********************************/

/**************** NOSOTRAS ****************/
.slider-nosotras .slick-controls {
  display: flex;
  gap: 1rem;
  justify-content: flex-end;
  margin-top: 1.5rem;
  right: 16px;
  position: absolute;
  bottom: -34px;
}

.style-simple #Wrapper .faqs .accordion .question.active {
  border-bottom: 1px solid #0000002e;
  margin-bottom: 2rem;
}

.style-simple #Wrapper .faqs .accordion .question.active:last-child {
  margin-bottom: 0;
  border: 0;
}

.style-simple #Wrapper .faqs .accordion .question .answer {
  padding-inline: 0.5rem;
  padding-bottom: 1.5rem;
}

/**************** SERVICIOS ****************/
.extras-list .flexColumn,
.extras-list > .mcb-wrap-inner > .wrap > .mcb-wrap-inner {
  min-width: 100%;
  width: 100%;
}

@media (width<=480px) {
  #Wrapper .extras-list > .mcb-wrap-inner {
    grid-template-columns: 1fr;
  }
  .extras-list .flexColumn .column_image img {
    max-height: 442px;
    object-fit: cover;
  }
}

/**************** VILLAS ****************/
.hero-single-villa {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.villas-list-h1 h1 {
  font-size: 49px;
}

.single-villa .column_post_content p {
  font-size: 0.9rem;
  text-transform: uppercase;
  color: var(--blanco);
  max-width: 300px;
  text-align: center;
  margin: 0 auto;
}

.villa-specs {
  display: flex;
  place-content: center;
  gap: 2.115rem;
}

.villa-specs__item {
  display: flex;
  gap: 0.65rem;
}

.villa-specs__item * {
  color: var(--blanco);
}

.villa-specs__number {
  font-size: 1.25rem;
}

/* Villa acfs row */
.single-villa-acfs {
  z-index: 10;
}
.single-villa .villa-gallery {
  margin: 0px 0 5rem;
}

.single-villa #Wrapper .villa-card__slider .slick-dots {
  display: flex !important;
  gap: 12px;
  position: absolute;
  bottom: 80px;
  left: 50%;
  transform: translateX(-50%);
}

.single-villa #Wrapper .villa-card__slider .slick-dots li:not(.slick-active) {
  opacity: 0.5;
}

.single-villa #Wrapper .villa-card__slider .slick-dots li button {
  padding: 0;
  font-size: 0;
  min-width: 12px;
  min-height: 12px;
  border-radius: 100vmax;
  background-color: var(--blanco);
}

.single-villa #Wrapper .villa-card__slider .controls {
  justify-content: end;
}
@media (width<=1460px) {
  .single-villa
    .villa-gallery.villa-gallery--slider
    .villa-card__slider
    .villa-card__slide {
    max-height: 400px;
  }
  .single-villa .villa-gallery {
    place-items: initial;
  }
}

@media (width<=959px) {
  .single-villa
    .villa-gallery.villa-gallery--slider
    .villa-card__slider
    .villa-card__slide {
    max-height: 350px;
  }
}

/* Villa List */
.villa-list {
  margin: 2rem 0;
}

.villa-list .villa-card__excerpt {
  display: none;
}

.villa-list--empty {
  text-align: center;
  padding: 3rem 1rem;
}

.villa-list__message {
  color: var(--gris-oscuro);
  font-size: 1.1rem;
}

.villa-list__grid {
  display: flex;
  flex-wrap: wrap;
  gap: 7.5rem 6.35rem;
}

.villa-list__item {
  flex: 1 1 100%;
  min-width: 0;
}

.villa-list--columns-2 .villa-list__item {
  flex: 1 1 calc(50% - 3.175rem);
}

.villa-list--columns-3 .villa-list__item {
  flex: 1 1 calc(33.333% - 4.233rem);
}

.villa-list--columns-4 .villa-list__item {
  flex: 1 1 calc(25% - 4.7625rem);
}

.villa-list__item .villa-card__slide {
  object-fit: cover;
}

@media (width>=1440.9px) {
  .villa-list__item .villa-card__slide {
    min-height: 748px;
  }
}

@media (width<=1440px) {
  .villa-list__grid {
    gap: 4rem 3rem;
  }
  .villa-list__item .villa-card__slide {
    height: 500px;
  }
}

@media (width<=1024px) {
  .villa-list__grid {
    gap: 3rem 1.5rem;
  }

  .villa-list--columns-2 .villa-list__item {
    flex: 1 1 calc(50% - 0.75rem);
  }

  .villa-list--columns-3 .villa-list__item {
    flex: 1 1 calc(50% - 0.75rem);
  }

  .villa-list--columns-4 .villa-list__item {
    flex: 1 1 calc(50% - 0.75rem);
  }
}

@media (width<=768px) {
  .villa-list__item .villa-card__slide {
    height: 350px;
  }
  .villa-list__grid {
    gap: 3rem;
  }

  .villa-list--columns-2 .villa-list__item,
  .villa-list--columns-3 .villa-list__item,
  .villa-list--columns-4 .villa-list__item {
    flex: 1 1 100%;
  }
}

/* Villa Card */
.villa-card {
  overflow: hidden;
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.villa-card__slide-caption {
  display: none;
}

.villa-card__image {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: auto;
}

.villa-card__image-link {
  display: block;
  width: 100%;
  height: 100%;
}

.villa-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
  max-width: none;
}

@media (width<=970px) {
  .villa-card__details {
    flex-direction: column;
  }
  #Wrapper .villa-card__slider .controls {
    justify-content: start;
    margin-bottom: 1rem;
  }
}

@media (width<=768px) {
  .villa-card__slider {
    max-width: 100%;
  }
  #Wrapper .villa-card__slider .controls {
    justify-content: end;
  }
  .villa-card__header {
    margin-bottom: 0.25rem;
  }
}

/* Villa Card Slider */
.villa-card__slider {
  max-width: 100%;
  width: 100%;
}

.villa-card__slider .slick-arrow,
.slider-nosotras .slick-arrow {
  margin-bottom: 0 !important;
  padding: 0;
}

.villa-card__slide {
  object-fit: cover;
  transition: transform 0.3s ease;
  display: block;
}

/* Slick Slider Customization for Villa Cards */
.villa-card__slider .controls,
.slider-nosotras .slick-controls {
  display: flex;
  gap: 1rem;
  justify-content: flex-end;
  margin-top: 1.5rem;
}

.villa-card__content {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.villa-card__header {
  margin-bottom: 1rem;
}

.villa-card__title {
  margin: 0 0 0.5rem 0;
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.3;
  text-transform: uppercase;
}

.villa-card__title-link {
  color: var(--negro);
  text-decoration: none;
  transition: color 0.3s ease;
}

.villa-card__details {
  margin-bottom: 1rem;
  display: flex;
  gap: 1rem;
  align-items: flex-start;
}

.villa-card__details-left {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.villa-card__details-right {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
}

.villa-card__button {
  border: 1px solid #000;
}

.villa-card__detail {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.9rem;
}

.villa-card__detail-icon {
  font-size: 1rem;
  width: 1.2rem;
  text-align: center;
}

.villa-card__detail-label {
  font-weight: 500;
  color: var(--gris-oscuro);
}

.villa-card__detail-value {
  font-weight: 600;
  color: var(--negro);
}

.villa-card__excerpt {
  margin-bottom: 1.5rem;
  flex: 1;
}

.villa-card__excerpt p {
  margin: 0;
  color: var(--gris-oscuro);
  line-height: 1.5;
  font-size: 0.95rem;
}

.villa-card__footer {
  margin-top: auto;
}

/* Villa Grid */
.villa-grid {
  display: grid;
  gap: 2rem;
  grid-template-columns: 1fr;
}

.villa-grid--columns-2 {
  grid-template-columns: repeat(2, 1fr);
}

.villa-grid--columns-3 {
  grid-template-columns: repeat(3, 1fr);
}

.villa-grid--columns-4 {
  grid-template-columns: repeat(4, 1fr);
}

.villa-grid--empty {
  text-align: center;
  padding: 3rem 1rem;
}

.villa-grid__message {
  color: var(--gris-oscuro);
  font-size: 1.1rem;
}

@media (width<=768px) {
  .villa-grid--columns-2,
  .villa-grid--columns-3,
  .villa-grid--columns-4 {
    grid-template-columns: 1fr;
    gap: 3rem;
  }

  .villa-card__details {
    flex-direction: column;
    gap: 1rem;
  }

  .villa-card__button {
    width: 100%;
  }

  .villa-card__slider {
    max-width: 100%;
  }

  .villa-card__slide {
    max-width: 100%;
    max-height: 450px;
  }
}

/* Villa Single Header */
.villa-single-header {
  margin-bottom: 3rem;
}

.villa-single-header__image {
  margin-bottom: 2rem;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.villa-single-header__image-img {
  width: 100%;
  height: auto;
  display: block;
  max-width: none; /* Allow full-size images */
  object-fit: cover;
}

.villa-single-header__content {
  text-align: center;
}

.villa-single-header__title {
  font-size: 2.5rem;
  font-weight: 700;
  margin: 0 0 1.5rem 0;
  color: var(--negro);
  line-height: 1.2;
}

.villa-single-header__details {
  display: flex;
  justify-content: center;
  gap: 2rem;
  flex-wrap: wrap;
}

.villa-single-header__detail {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1.1rem;
  padding: 0.75rem 1.5rem;
  background-color: var(--gris-claro);
  border-radius: 25px;
}

.villa-single-header__detail-icon {
  font-size: 1.2rem;
}

.villa-single-header__detail-label {
  font-weight: 500;
  color: var(--gris-oscuro);
}

.villa-single-header__detail-value {
  font-weight: 600;
  color: var(--negro);
}

@media (max-width: 768px) {
  .villa-single-header__title {
    font-size: 2rem;
  }

  .villa-single-header__details {
    flex-direction: column;
    align-items: center;
    gap: 1rem;
  }

  .villa-single-header__detail {
    font-size: 1rem;
  }
}

/* Villa Card Error States */
.villa-card--error {
  border: 2px dashed var(--gris-medio);
  background-color: var(--gris-claro);
}

.villa-card__message {
  color: var(--gris-oscuro);
  font-style: italic;
  text-align: center;
  padding: 2rem;
}

/**************** VILLA STYLES - BEM METHODOLOGY ****************/

/* Villa Gallery Shortcode Styles */
.villa-gallery {
  margin: 2rem 0;
  place-items: end;
}

.villa-gallery--empty {
  text-align: center;
  padding: 2rem;
  color: var(--gris-oscuro);
  font-style: italic;
}

.villa-gallery__grid {
  display: grid;
  gap: 1rem;
  margin-top: 1rem;
}

.villa-gallery--columns-1 .villa-gallery__grid {
  grid-template-columns: 1fr;
}

.villa-gallery--columns-2 .villa-gallery__grid {
  grid-template-columns: repeat(2, 1fr);
}

.villa-gallery--columns-3 .villa-gallery__grid {
  grid-template-columns: repeat(3, 1fr);
}

.villa-gallery--columns-4 .villa-gallery__grid {
  grid-template-columns: repeat(4, 1fr);
}

.villa-gallery__item {
  position: relative;
  overflow: hidden;
  border-radius: 8px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.villa-gallery__item:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 15px rgba(0, 0, 0, 0.2);
}

.villa-gallery__image {
  position: relative;
  width: 100%;
  height: 200px;
  overflow: hidden;
}

.villa-gallery__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.villa-gallery__item:hover .villa-gallery__img {
  transform: scale(1.05);
}

.villa-gallery__caption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.8));
  color: white;
  padding: 1rem;
  font-size: 0.9rem;
  text-align: center;
}

/* Villa Details Shortcode Styles */
.villa-details-container {
  max-width: 600px;
}
.villa-details--list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.5rem;
}

.villa-details--grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1rem;
}

.villa-details--inline {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: center;
}

.villa-details__item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* Villa ACF Content Styles */
.villa-detail-image__content {
  max-width: 100%;
}

.villa-detail-image__text-content {
  margin-top: 1rem;
}

.villa-detail-image__title {
  font-size: 1.5rem;
  font-weight: 600;
  color: #1f1f1f;
}

.villa-detail-image__title:first-child {
  margin-top: 0;
}

.villa-detail-image__description {
  margin: 0 0 1rem 0;
  font-size: 1rem;
  line-height: 1.6;
}

.villa-detail-image__description:last-child {
  margin-bottom: 0;
}

.villa-detail-image__button {
  margin-top: 1.5rem;
}

.villa-detail-image__button a {
  border: 1px solid;
}

/* Villa Detail Image Grid Structure */
.villa-detail-image__grid {
  display: grid;
  gap: 2rem;
  grid-template-columns: 1fr;
}

.villa-detail-image__item {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

/* Villa Detail Image Content Groups */
.villa-detail-image__content-group {
  margin-bottom: 2rem;
}

.villa-detail-image__content-group:last-child {
  margin-bottom: 0;
}

.villa-detail-image__content-group .villa-detail-image__title {
  margin-bottom: 1rem;
}

.villa-detail-image__content-group .villa-detail-image__description {
  margin-bottom: 0;
}

.villa-detail-image .villa-detail-image__text-content {
  align-self: end;
}

.villa-detail-image__grid .villa-detail-image__item {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}

/* Responsive Grid Layouts */
@media (width>=768px) {
  .villa-detail-image__grid {
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  }

  .villa-detail-image__item {
    flex-direction: row;
    align-items: flex-start;
  }

  .villa-detail-image__img {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .villa-detail-image__text-content {
    flex: 1;
    padding-left: 1.5rem;
  }
}

@media (width<=767.9px) {
  .villa-detail-image__grid .villa-detail-image__item {
    grid-template-columns: 1fr;
  }
}

/* Villa Secondary Gallery - Same as villa-card__slider */
.villa-detail-image.villa-detail-image--1 {
  z-index: -1;
}

@media (width>=1250px) {
  .villa-detail-image.villa-detail-image--1 {
    margin-top: -200px;
  }
}
.villa-secondary-gallery {
  margin: 10.5rem 0;
}

.villa-secondary-gallery .villa-card__slider {
  max-width: unset;
}

.villa-secondary-gallery .villa-card__slider {
  position: relative;
  overflow: hidden;
}

.villa-secondary-gallery .villa-card__slide {
  width: 100%;
  height: 100%;
  max-height: 700px;
  object-fit: cover;
  object-position: center center;
  transition: transform 0.3s ease;
  display: block;
}

/* Slick slider arrows for villa-secondary-gallery */
.villa-secondary-gallery .slick-arrow {
  display: none !important;
}
.villa-secondary-gallery .slick-prev,
.villa-secondary-gallery .slick-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  background: rgba(255, 255, 255, 0.9);
  border: none;
  border-radius: 50%;
  width: 50px;
  height: 50px;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.villa-secondary-gallery .slick-prev:hover,
.villa-secondary-gallery .slick-next:hover {
  background: rgba(255, 255, 255, 1);
  transform: translateY(-50%) scale(1.1);
}

.villa-secondary-gallery .slick-prev {
  left: 20px;
}

.villa-secondary-gallery .slick-next {
  right: 20px;
}

.villa-secondary-gallery .slick-prev img,
.villa-secondary-gallery .slick-next img {
  width: 20px;
  height: 20px;
}

/* Slick dots for villa-secondary-gallery */
.villa-secondary-gallery .slick-dots {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 8px;
  z-index: 10;
}

.villa-secondary-gallery .slick-dots li {
  list-style: none;
}

.villa-secondary-gallery .slick-dots button {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: none;
  background: rgba(255, 255, 255, 0.5);
  cursor: pointer;
  transition: all 0.3s ease;
}

.villa-secondary-gallery .slick-dots .slick-active button,
.villa-secondary-gallery .slick-dots button:hover {
  background: rgba(255, 255, 255, 1);
  transform: scale(1.2);
}

/* Responsive adjustments */
@media (width<=768px) {
  .villa-detail-image__title {
    font-size: 1.25rem;
  }

  .villa-detail-image__description {
    font-size: 0.9rem;
  }

  .villa-secondary-gallery .villa-card__slide {
    height: 300px;
    max-height: 300px;
  }

  .villa-secondary-gallery .slick-prev,
  .villa-secondary-gallery .slick-next {
    width: 40px;
    height: 40px;
  }

  .villa-secondary-gallery .slick-prev {
    left: 10px;
  }

  .villa-secondary-gallery .slick-next {
    right: 10px;
  }

  .villa-secondary-gallery {
    margin: 5rem 0 0;
  }
}

.villa-details__label {
  font-weight: 500;
  color: var(--gris-oscuro);
  font-size: 0.9rem;
}

.villa-details__value {
  color: var(--negro);
  font-weight: 600;
}

/* Related Villas Shortcode Styles */
.related-villas {
  margin: 3rem 0;
}

.relacionados h2.right-line {
  max-width: 1054px;
  margin-bottom: 130px;
}

.related-villas--empty {
  text-align: center;
  padding: 2rem;
  color: var(--gris-oscuro);
  font-style: italic;
  background-color: var(--gris-claro);
  border-radius: 8px;
}

.related-villas h2,
.related-villas h3 {
  margin-bottom: 2rem;
  color: var(--gris-oscuro);
  text-align: center;
}

.relacionados .slick-dots {
  display: none !important;
  opacity: 0;
}

@media (width<=768px) {
  .relacionados h2.right-line {
    margin-bottom: 64px;
  }
}

/* Villa Single Page Specific Styles */
.villa-single-header {
  position: relative;
  margin-bottom: 3rem;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

.villa-single-header__image {
  position: relative;
  width: 100%;
  height: 400px;
  overflow: hidden;
}

.villa-single-header__image-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.villa-single-header__content {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.8));
  color: white;
  padding: 2rem;
}

.villa-single-header__title {
  font-size: 2.5rem;
  font-weight: 700;
  margin: 0 0 1rem 0;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}

.villa-single-header__details {
  display: flex;
  gap: 2rem;
  flex-wrap: wrap;
}

.villa-single-header__detail {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  background: rgba(255, 255, 255, 0.1);
  padding: 0.5rem 1rem;
  border-radius: 20px;
  backdrop-filter: blur(10px);
}

.villa-single-header__detail-label {
  font-size: 0.9rem;
  opacity: 0.9;
}

.villa-single-header__detail-value {
  font-weight: 600;
  font-size: 1.1rem;
}

/* Responsive Design for Villa Components */
@media (max-width: 768px) {
  .villa-gallery--columns-3 .villa-gallery__grid,
  .villa-gallery--columns-4 .villa-gallery__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .villa-gallery--columns-2 .villa-gallery__grid {
    grid-template-columns: 1fr;
  }

  .villa-details--inline {
    flex-direction: column;
    align-items: flex-start;
  }

  .villa-single-header__title {
    font-size: 2rem;
  }

  .villa-single-header__details {
    flex-direction: column;
    gap: 1rem;
  }

  .villa-single-header__content {
    padding: 1.5rem;
  }
}

@media (max-width: 480px) {
  .villa-gallery--columns-2 .villa-gallery__grid,
  .villa-gallery--columns-3 .villa-gallery__grid,
  .villa-gallery--columns-4 .villa-gallery__grid {
    grid-template-columns: 1fr;
  }

  .villa-gallery__image {
    height: 150px;
  }

  .villa-single-header__image {
    height: 300px;
  }

  .villa-single-header__title {
    font-size: 1.5rem;
  }
}

/**************** SIDEMENU ****************/

/* Estado inicial para GSAP */
.mfn-sidemenu-tmpl {
  transform: translateY(-100%);
  /* opacity: 0; */
}

.mfn-sidemenu-tmpl.mfn-sidemenu-active {
  transform: translateY(0);
  opacity: 1;
}

/**************** HOME ****************/
