:root {
  --uma-aqua: #a0a0a0;
  --uma-aqua-light: #e8e8e8;
  --uma-blue: #444444;
  --uma-#6b6b6b: #6b6b6b;
  --uma-white: #ffffff;
  --uma-offwhite: #f7faf9;
  --uma-gray: #707070;
  --uma-line: #e8e8e8;
}

.uma-two {
  margin: 0;
  background: var(--uma-white);
  color: var(--uma-blue);
}

.uma-two .container {
  width: min(1220px, calc(100% - 42px));
  margin: 0 auto;
}

.uma-two-top {
  background: var(--uma-blue);
  color: #fff;
  font-size: 11px;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.uma-two-top .container {
  min-height: 34px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.uma-two-top a {
  color: #fff;
  text-decoration: none;
}

.uma-two-header {
  background: #fff !important;
  border-bottom: 1px solid var(--uma-line);
}

.uma-two-nav {
  min-height: 100px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.uma-two-logo img {
  display: block;
  width: auto;
  height: 75px;
  max-width: 260px;
  object-fit: contain;
}

.uma-two-menu {
  display: flex;
  align-items: center;
  gap: 27px;
}

.uma-two-menu a {
  color: var(--uma-blue) !important;
  font-size: 14px;
  font-weight: 750;
  text-decoration: none;
}

.uma-two-menu a:hover {
  color: var(--uma-#6b6b6b) !important;
}

.uma-two-menu .uma-two-book {
  padding: 14px 23px;
  border-radius: 999px;
  background: var(--uma-#6b6b6b) !important;
  color: #fff !important;
}

.uma-two-hero {
  padding: 60px 0 0;
  background:
    linear-gradient(
      90deg,
      var(--uma-offwhite) 0 58%,
      var(--uma-aqua-light) 58% 100%
    );
}

.uma-two-hero-grid {
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: 70px;
  align-items: center;
}

.uma-two-hero-copy {
  padding: 50px 0 90px;
}

.uma-two-label {
  display: inline-block;
  margin-bottom: 17px;
  color: var(--uma-#6b6b6b);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.uma-two-hero h1 {
  max-width: 650px;
  margin: 0;
  color: var(--uma-blue);
  font-family: Georgia, serif;
  font-size: clamp(48px, 6vw, 80px);
  font-weight: 500;
  line-height: 1;
  letter-spacing: -.04em;
}

.uma-two-hero-copy > p {
  max-width: 570px;
  margin: 27px 0 0;
  color: var(--uma-gray);
  font-size: 18px;
  line-height: 1.7;
}

.uma-two-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 13px;
  margin-top: 35px;
}

.uma-two-primary,
.uma-two-secondary {
  display: inline-flex;
  min-height: 52px;
  padding: 0 25px;
  justify-content: center;
  align-items: center;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 900;
  text-decoration: none;
}

.uma-two-primary {
  background: var(--uma-#6b6b6b);
  color: #fff;
}

.uma-two-secondary {
  border: 1px solid var(--uma-blue);
  color: var(--uma-blue);
}

.uma-two-mini-info {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-top: 55px;
}

.uma-two-mini-info div {
  padding-top: 14px;
  border-top: 2px solid var(--uma-aqua);
}

.uma-two-mini-info strong,
.uma-two-mini-info span {
  display: block;
}

.uma-two-mini-info strong {
  font-size: 13px;
}

.uma-two-mini-info span {
  margin-top: 4px;
  color: var(--uma-gray);
  font-size: 12px;
}

.uma-two-hero-media {
  position: relative;
  min-height: 650px;
  overflow: hidden;
  border-radius: 10px 10px 170px 10px;
  background: var(--uma-aqua);
}

.uma-two-slide {
  position: absolute;
  inset: 0;
  background-position: center;
  background-size: cover;
  opacity: 0;
  transform: scale(1.05);
  transition:
    opacity .7s ease,
    transform 6s ease;
}

.uma-two-slide.active {
  opacity: 1;
  transform: scale(1);
}

.uma-two-#6b6b6b-shape {
  position: absolute;
  right: -45px;
  bottom: -45px;
  width: 180px;
  height: 180px;
  transform: rotate(45deg);
  background: var(--uma-#6b6b6b);
  opacity: .92;
}

.uma-two-slide-buttons {
  position: absolute;
  left: 24px;
  bottom: 24px;
  display: flex;
  gap: 7px;
}

.uma-two-dot {
  width: 43px;
  height: 43px;
  padding: 0;
  border: 1px solid rgba(255,255,255,.65);
  border-radius: 50%;
  background: rgba(68,68,68,.55);
  color: #fff;
  font-weight: 900;
  cursor: pointer;
}

.uma-two-dot.active {
  background: var(--uma-#6b6b6b);
}

.uma-two-search {
  position: relative;
  z-index: 10;
  display: grid;
  grid-template-columns: repeat(4, 1fr) auto;
  margin-top: -25px;
  background: #fff;
  border: 1px solid var(--uma-line);
  box-shadow: 0 20px 60px rgba(68,68,68,.12);
}

.uma-two-search > div {
  padding: 18px 20px;
  border-right: 1px solid var(--uma-line);
}

.uma-two-search label {
  display: block;
  margin-bottom: 7px;
  color: var(--uma-gray);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.uma-two-search input,
.uma-two-search select {
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--uma-blue);
  font-weight: 800;
}

.uma-two-search button {
  min-width: 185px;
  border: 0;
  background: var(--uma-blue);
  color: #fff;
  font-weight: 900;
  cursor: pointer;
}

.uma-two-intro {
  padding: 130px 0;
}

.uma-two-intro-grid {
  display: grid;
  grid-template-columns: 100px 1.1fr .7fr;
  gap: 55px;
  align-items: start;
}

.uma-two-intro-number span {
  display: grid;
  width: 65px;
  height: 65px;
  place-items: center;
  border-radius: 50%;
  background: var(--uma-aqua-light);
  color: var(--uma-blue);
  font-weight: 900;
}

.uma-two-intro h2,
.uma-two-section-head h2,
.uma-two-gallery h2,
.uma-two-final h2 {
  margin: 0;
  color: var(--uma-blue);
  font-family: Georgia, serif;
  font-weight: 500;
}

.uma-two-intro h2 {
  font-size: clamp(42px, 5vw, 64px);
  line-height: 1.08;
}

.uma-two-intro-text p {
  margin: 0 0 25px;
  color: var(--uma-gray);
  font-size: 17px;
  line-height: 1.75;
}

.uma-two-intro-text a {
  color: var(--uma-#6b6b6b);
  font-weight: 900;
  text-decoration: none;
}

.uma-two-villas {
  padding: 110px 0;
  background: var(--uma-offwhite);
}

.uma-two-section-head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  margin-bottom: 48px;
}

.uma-two-section-head h2 {
  font-size: clamp(43px, 5vw, 65px);
}

.uma-two-section-head > a {
  color: var(--uma-#6b6b6b);
  font-weight: 900;
  text-decoration: none;
}

.uma-two-villa-list {
  border-top: 1px solid var(--uma-line);
}

.uma-two-villa-row {
  display: grid;
  grid-template-columns: 45% 55%;
  min-height: 380px;
  border-bottom: 1px solid var(--uma-line);
  background: #fff;
}

.uma-two-villa-row:nth-child(even) {
  grid-template-columns: 55% 45%;
}

.uma-two-villa-row:nth-child(even) .uma-two-villa-photo {
  order: 2;
}

.uma-two-villa-photo {
  position: relative;
  display: block;
  min-height: 380px;
  background-position: center;
  background-size: cover;
}

.uma-two-villa-photo span {
  position: absolute;
  top: 20px;
  left: 20px;
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border-radius: 50%;
  background: #fff;
  color: var(--uma-blue);
  font-weight: 900;
}

.uma-two-villa-content {
  padding: 55px;
}

.uma-two-villa-heading {
  display: flex;
  justify-content: space-between;
  gap: 25px;
}

.uma-two-villa-heading h3 {
  margin: 0;
  color: var(--uma-blue);
  font-family: Georgia, serif;
  font-size: 36px;
  font-weight: 500;
}

.uma-two-villa-heading strong {
  color: var(--uma-#6b6b6b);
  white-space: nowrap;
}

.uma-two-villa-content > p {
  margin: 24px 0;
  color: var(--uma-gray);
  line-height: 1.7;
}

.uma-two-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 30px;
}

.uma-two-tags span {
  padding: 8px 12px;
  border-radius: 999px;
  background: var(--uma-aqua-light);
  color: var(--uma-blue);
  font-size: 11px;
  font-weight: 800;
}

.uma-two-detail {
  color: var(--uma-#6b6b6b);
  font-weight: 900;
  text-decoration: none;
}

.uma-two-gallery {
  padding: 130px 0;
}

.uma-two-gallery-grid {
  display: grid;
  grid-template-columns: .9fr 1.1fr .8fr;
  grid-template-rows: 260px 260px;
  gap: 18px;
}

.uma-two-gallery-copy {
  grid-row: 1 / 3;
  padding: 45px;
  background: var(--uma-blue);
  color: #fff;
}

.uma-two-gallery-copy .uma-two-label {
  color: #6b6b6b;
}

.uma-two-gallery h2 {
  color: #fff;
  font-size: clamp(40px, 4.5vw, 60px);
  line-height: 1.08;
}

.uma-two-gallery-copy p {
  margin: 25px 0 30px;
  color: rgba(255,255,255,.76);
  line-height: 1.7;
}

.uma-two-photo {
  background-position: center;
  background-size: cover;
}

.photo-one {
  grid-row: 1 / 3;
  background-image:
    url('/uploads/partners/villas-uma-slider/villas-uma-1.jpg');
}

.photo-two {
  background-image:
    url('/uploads/partners/villas-uma-slider/villas-uma-2.jpg');
}

.photo-three {
  background-image:
    url('/uploads/partners/villas-uma-slider/villas-uma-3.jpg');
}

.uma-two-final {
  padding: 95px 0;
  background: var(--uma-aqua);
}

.uma-two-final-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 45px;
}

.uma-two-final span {
  color: var(--uma-blue);
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.uma-two-final h2 {
  max-width: 760px;
  margin-top: 12px;
  color: #fff;
  font-size: clamp(40px, 5vw, 65px);
}

.uma-two-final a {
  display: inline-flex;
  min-height: 55px;
  padding: 0 27px;
  justify-content: center;
  align-items: center;
  border-radius: 999px;
  background: var(--uma-#6b6b6b);
  color: #fff;
  font-weight: 900;
  text-decoration: none;
  white-space: nowrap;
}

.uma-two-footer {
  padding: 85px 0 28px;
  background: var(--uma-blue) !important;
  color: rgba(255,255,255,.72);
}

.uma-two-footer-grid {
  display: grid;
  grid-template-columns: 1.6fr repeat(3, 1fr);
  gap: 65px;
}

.uma-two-footer-main img {
  height: 75px;
  max-width: 240px;
  padding: 6px;
  background: #fff;
  object-fit: contain;
}

.uma-two-footer-main p {
  max-width: 390px;
  margin-top: 22px;
  line-height: 1.7;
}

.uma-two-footer h4 {
  margin: 0 0 18px;
  color: #fff;
}

.uma-two-footer a {
  display: block;
  margin: 10px 0;
  color: rgba(255,255,255,.72);
  text-decoration: none;
}

.uma-two-footer-bottom {
  display: flex;
  justify-content: space-between;
  margin-top: 60px;
  padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,.15);
  font-size: 12px;
}

@media (max-width: 950px) {
  .uma-two-menu {
    position: absolute;
    top: 100px;
    left: 20px;
    right: 20px;
    z-index: 100;
    display: none;
    padding: 24px;
    flex-direction: column;
    align-items: stretch;
    background: #fff;
    box-shadow: 0 20px 60px rgba(68,68,68,.15);
  }

  .uma-two-menu.open {
    display: flex;
  }

  .uma-two-hero {
    background: var(--uma-offwhite);
  }

  .uma-two-hero-grid,
  .uma-two-intro-grid {
    grid-template-columns: 1fr;
  }

  .uma-two-hero-media {
    min-height: 520px;
  }

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

  .uma-two-search button {
    min-height: 65px;
    grid-column: 1 / -1;
  }

  .uma-two-villa-row,
  .uma-two-villa-row:nth-child(even) {
    grid-template-columns: 1fr;
  }

  .uma-two-villa-row:nth-child(even) .uma-two-villa-photo {
    order: 0;
  }

  .uma-two-gallery-grid {
    grid-template-columns: 1fr 1fr;
  }

  .uma-two-gallery-copy {
    grid-column: 1 / -1;
    grid-row: auto;
  }

  .photo-one {
    grid-row: auto;
  }

  .uma-two-footer-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 600px) {
  .uma-two .container {
    width: min(100% - 28px, 1220px);
  }

  .uma-two-top .container {
    justify-content: center;
  }

  .uma-two-top span:nth-child(2),
  .uma-two-top a {
    display: none;
  }

  .uma-two-logo img {
    height: 60px;
  }

  .uma-two-hero {
    padding-top: 30px;
  }

  .uma-two-hero-copy {
    padding-bottom: 40px;
  }

  .uma-two-hero h1 {
    font-size: 47px;
  }

  .uma-two-mini-info {
    grid-template-columns: 1fr;
  }

  .uma-two-hero-media {
    min-height: 420px;
    border-radius: 8px 8px 90px 8px;
  }

  .uma-two-search {
    grid-template-columns: 1fr;
    margin-top: 25px;
  }

  .uma-two-search > div {
    border-right: 0;
    border-bottom: 1px solid var(--uma-line);
  }

  .uma-two-intro,
  .uma-two-villas,
  .uma-two-gallery,
  .uma-two-final {
    padding: 75px 0;
  }

  .uma-two-section-head,
  .uma-two-final-inner {
    align-items: flex-start;
    flex-direction: column;
  }

  .uma-two-villa-photo {
    min-height: 300px;
  }

  .uma-two-villa-content {
    padding: 30px;
  }

  .uma-two-villa-heading {
    flex-direction: column;
  }

  .uma-two-gallery-grid {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }

  .uma-two-photo {
    min-height: 300px;
  }

  .uma-two-footer-grid {
    grid-template-columns: 1fr;
  }

  .uma-two-footer-bottom {
    gap: 12px;
    flex-direction: column;
  }
}

/* ===== PRONÓSTICO DE SURF JUNQUILLAL ===== */

.uma-surf-section {
  padding: 110px 0;
  background: #ffffff;
}

.uma-surf-heading {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 45px;
  margin-bottom: 38px;
}

.uma-surf-heading h2 {
  margin: 0;
  max-width: 760px;
  color: var(--uma-blue);
  font-family: Georgia, serif;
  font-size: clamp(40px, 5vw, 64px);
  font-weight: 500;
  line-height: 1.08;
}

.uma-surf-heading p {
  max-width: 680px;
  margin: 20px 0 0;
  color: var(--uma-gray);
  font-size: 17px;
  line-height: 1.7;
}

.uma-surf-heading > a {
  flex-shrink: 0;
  color: var(--uma-#6b6b6b);
  font-weight: 900;
  text-decoration: none;
}

.uma-surf-widget {
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 24px;
  border: 1px solid var(--uma-line);
  border-radius: 26px;
  background:
    linear-gradient(
      135deg,
      var(--uma-aqua-light),
      #ffffff
    );
  box-shadow: 0 20px 55px rgba(68,68,68, .10);
}

.uma-surf-widget iframe {
  display: block;
  width: 100%;
  min-width: 780px;
  height: 440px;
  border: 0;
  background: #ffffff;
}

.uma-surf-credit {
  margin: 16px 0 0;
  color: var(--uma-gray);
  font-size: 12px;
  text-align: right;
}

@media (max-width: 700px) {
  .uma-surf-section {
    padding: 75px 0;
  }

  .uma-surf-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .uma-surf-widget {
    padding: 12px;
    border-radius: 18px;
  }

  .uma-surf-widget iframe {
    height: 430px;
  }

  .uma-surf-credit {
    text-align: left;
  }
}

/* =========================================================
   VILLAS PERRO LOCO — ESTILO GLOBAL DE TODAS LAS PÁGINAS
   ========================================================= */

.uma-two {
  --uma-aqua: #a0a0a0;
  --uma-aqua-dark: #a0a0a0;
  --uma-aqua-light: #e8e8e8;
  --uma-blue: #444444;
  --uma-blue-soft: #444444;
  --uma-#6b6b6b: #6b6b6b;
  --uma-#6b6b6b-dark: #6b6b6b;
  --uma-white: #ffffff;
  --uma-offwhite: #f7faf9;
  --uma-gray: #707070;
  --uma-line: #e8e8e8;
  --uma-shadow: 0 18px 50px rgba(68,68,68, .10);
}

/* ---------- ENCABEZADOS INTERIORES ---------- */

.uma-two .page-hero {
  position: relative;
  min-height: 390px;
  display: flex;
  align-items: flex-end;
  padding: 90px 0 65px;
  overflow: hidden;
  background:
    linear-gradient(
      115deg,
      rgba(68,68,68, .96),
      rgba(68,68,68, .72)
    ),
    url('/uploads/partners/villas-uma-slider/villas-uma-1.jpg')
    center / cover no-repeat !important;
}

.uma-two .page-hero::before {
  content: '';
  position: absolute;
  top: -120px;
  right: -100px;
  width: 310px;
  height: 310px;
  border-radius: 50%;
  background: rgba(160,160,160, .26);
}

.uma-two .page-hero::after {
  content: '';
  position: absolute;
  right: 60px;
  bottom: -70px;
  width: 155px;
  height: 155px;
  transform: rotate(45deg);
  background: rgba(160,160,160, .88);
}

.uma-two .page-hero .container {
  position: relative;
  z-index: 2;
}

.uma-two .page-hero .eyebrow {
  display: inline-block;
  margin-bottom: 15px;
  color: #c8c8c8;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .17em;
  text-transform: uppercase;
}

.uma-two .page-hero h1 {
  max-width: 900px;
  margin: 0;
  color: #ffffff;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(46px, 6vw, 78px);
  font-weight: 500;
  line-height: 1;
  letter-spacing: -.04em;
}

.uma-two .page-hero p {
  max-width: 710px;
  margin: 22px 0 0;
  color: rgba(255,255,255,.80);
  font-size: 18px;
  line-height: 1.7;
}

/* ---------- SECCIONES GENERALES ---------- */

.uma-two .section {
  padding: 100px 0;
  background: #ffffff;
}

.uma-two .section:nth-of-type(even) {
  background: var(--uma-offwhite);
}

.uma-two .section-title {
  margin-bottom: 42px;
}

.uma-two .section-title .eyebrow {
  display: inline-block;
  margin-bottom: 14px;
  color: var(--uma-#6b6b6b);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.uma-two .section-title h2 {
  margin: 0;
  color: var(--uma-blue);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(38px, 5vw, 60px);
  font-weight: 500;
  line-height: 1.08;
}

.uma-two .section-title p {
  max-width: 720px;
  margin: 18px 0 0;
  color: var(--uma-gray);
  font-size: 17px;
  line-height: 1.7;
}

/* ---------- BOTONES ---------- */

.uma-two .btn,
.uma-two a.btn,
.uma-two button.btn {
  display: inline-flex;
  min-height: 48px;
  padding: 0 22px;
  align-items: center;
  justify-content: center;
  border-radius: 999px !important;
  font-size: 13px;
  font-weight: 900;
  text-decoration: none;
  transition:
    transform .2s ease,
    background .2s ease,
    border-color .2s ease;
}

.uma-two .btn:hover {
  transform: translateY(-2px);
}

.uma-two .btn-primary,
.uma-two a.btn-primary,
.uma-two button.btn-primary {
  border: 1px solid var(--uma-#6b6b6b) !important;
  background: var(--uma-#6b6b6b) !important;
  color: #ffffff !important;
}

.uma-two .btn-primary:hover {
  border-color: var(--uma-#6b6b6b-dark) !important;
  background: var(--uma-#6b6b6b-dark) !important;
}

.uma-two .btn-secondary,
.uma-two a.btn-secondary,
.uma-two button.btn-secondary {
  border: 1px solid var(--uma-blue) !important;
  background: transparent !important;
  color: var(--uma-blue) !important;
}

.uma-two .btn-secondary:hover {
  background: var(--uma-blue) !important;
  color: #ffffff !important;
}

/* ---------- TARJETAS GENERALES ---------- */

.uma-two .cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 25px;
}

.uma-two .card {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--uma-line) !important;
  border-radius: 10px 10px 70px 10px !important;
  background: #ffffff !important;
  box-shadow: var(--uma-shadow) !important;
}

.uma-two .card:nth-child(even) {
  border-radius: 70px 10px 10px 10px !important;
}

.uma-two .card-img {
  position: relative;
  min-height: 300px;
  border-radius: 0 !important;
  background-color: var(--uma-aqua-light);
}

.uma-two .card-img::after {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      180deg,
      transparent 65%,
      rgba(68,68,68, .35)
    );
}

.uma-two .card-body {
  padding: 27px !important;
}

.uma-two .card-body h3 {
  margin: 0 0 12px;
  color: var(--uma-blue);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 29px;
  font-weight: 500;
}

.uma-two .card-body > p {
  color: var(--uma-gray);
  line-height: 1.65;
}

.uma-two .meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 20px 0;
}

.uma-two .meta span {
  padding: 8px 12px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--uma-aqua-light) !important;
  color: var(--uma-blue) !important;
  font-size: 11px !important;
  font-weight: 900;
}

.uma-two .price {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  margin-top: 24px;
}

.uma-two .price strong {
  color: var(--uma-#6b6b6b);
  font-size: 20px;
}

/* ---------- PANELES Y BLOQUES ---------- */

.uma-two .split {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 28px;
  align-items: start;
}

.uma-two .panel {
  padding: 35px !important;
  border: 1px solid var(--uma-line) !important;
  border-radius: 10px 10px 60px 10px !important;
  background: #ffffff !important;
  box-shadow: var(--uma-shadow) !important;
}

.uma-two .panel h2,
.uma-two .panel h3 {
  color: var(--uma-blue);
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 500;
}

.uma-two .panel h2 {
  margin-top: 0;
  font-size: 36px;
}

.uma-two .panel p {
  color: var(--uma-gray);
  line-height: 1.7;
}

/* ---------- FORMULARIOS ---------- */

.uma-two .simple-form {
  padding: 38px !important;
  border: 1px solid var(--uma-line) !important;
  border-radius: 10px 10px 70px 10px !important;
  background: #ffffff !important;
  box-shadow: var(--uma-shadow) !important;
}

.uma-two .simple-form h2 {
  margin-top: 0;
  color: var(--uma-blue);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 35px;
  font-weight: 500;
}

.uma-two .form-grid {
  gap: 20px !important;
}

.uma-two .field label {
  display: block;
  margin-bottom: 8px;
  color: var(--uma-blue);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.uma-two .field input,
.uma-two .field select,
.uma-two .field textarea {
  width: 100%;
  min-height: 52px;
  padding: 13px 15px;
  border: 1px solid var(--uma-line) !important;
  border-radius: 10px !important;
  outline: 0;
  background: var(--uma-offwhite) !important;
  color: var(--uma-blue);
  font: inherit;
  box-sizing: border-box;
}

.uma-two .field textarea {
  min-height: 140px;
  resize: vertical;
}

.uma-two .field input:focus,
.uma-two .field select:focus,
.uma-two .field textarea:focus {
  border-color: var(--uma-aqua) !important;
  box-shadow: 0 0 0 4px rgba(160,160,160,.15);
}

/* ---------- DETALLE DE VILLA ---------- */

.uma-two .villa-gallery {
  display: grid !important;
  grid-template-columns: 2fr 1fr 1fr !important;
  gap: 12px !important;
  margin-bottom: 35px !important;
}

.uma-two .villa-gallery img {
  width: 100%;
  height: 245px !important;
  border-radius: 8px !important;
  object-fit: cover;
}

.uma-two .villa-gallery img:first-child {
  grid-row: span 2;
  height: 502px !important;
  border-radius: 8px 8px 100px 8px !important;
}

/* ---------- GALERÍA ---------- */

.uma-two .public-gallery {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.uma-two .gallery-card {
  overflow: hidden;
  border: 1px solid var(--uma-line) !important;
  border-radius: 8px 8px 55px 8px !important;
  background: #ffffff !important;
  box-shadow: var(--uma-shadow) !important;
}

.uma-two .gallery-card:nth-child(3n+2) {
  border-radius: 55px 8px 8px 8px !important;
}

.uma-two .gallery-card img {
  width: 100%;
  height: 300px !important;
  object-fit: cover;
}

.uma-two .gallery-card > div {
  padding: 22px !important;
}

.uma-two .gallery-card h3 {
  margin: 0 0 8px !important;
  color: var(--uma-blue) !important;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 25px;
  font-weight: 500;
}

.uma-two .gallery-card p {
  color: var(--uma-gray);
}

/* ---------- SITIOS DE INTERÉS ---------- */

.uma-two .interest-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 35px;
}

.uma-two .interest-tabs a {
  padding: 11px 17px !important;
  border: 1px solid var(--uma-line) !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: var(--uma-blue) !important;
  font-weight: 900;
  text-decoration: none;
  box-shadow: none !important;
}

.uma-two .interest-tabs a:hover,
.uma-two .interest-tabs a.active {
  border-color: var(--uma-#6b6b6b) !important;
  background: var(--uma-#6b6b6b) !important;
  color: #ffffff !important;
}

.uma-two .interest-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.uma-two .interest-card {
  overflow: hidden;
  border: 1px solid var(--uma-line) !important;
  border-radius: 8px 8px 60px 8px !important;
  background: #ffffff !important;
  box-shadow: var(--uma-shadow) !important;
}

.uma-two .interest-card:nth-child(even) {
  border-radius: 60px 8px 8px 8px !important;
}

.uma-two .interest-img {
  height: 250px !important;
  background-color: var(--uma-aqua-light) !important;
}

.uma-two .interest-body {
  padding: 25px !important;
}

.uma-two .interest-body h3 {
  margin: 0 0 10px !important;
  color: var(--uma-blue) !important;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 27px !important;
  font-weight: 500;
}

.uma-two .interest-body p {
  color: var(--uma-gray);
  line-height: 1.6;
}

.uma-two .interest-meta span {
  border-radius: 999px !important;
  background: var(--uma-aqua-light) !important;
  color: var(--uma-blue) !important;
  font-size: 11px !important;
}

.uma-two .map-embed {
  margin-top: 45px !important;
  padding: 35px !important;
  border: 1px solid var(--uma-line) !important;
  border-radius: 8px 8px 70px 8px !important;
  background: var(--uma-aqua-light) !important;
  box-shadow: none !important;
}

.uma-two .map-embed h2 {
  color: var(--uma-blue);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 36px;
  font-weight: 500;
}

/* ---------- ACCIONES ---------- */

.uma-two .actions,
.uma-two .interest-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

/* ---------- MENSAJES ---------- */

.uma-two .simple-form[style*="ecfdf5"] {
  border-left: 6px solid var(--uma-aqua) !important;
  border-radius: 8px !important;
}

.uma-two .simple-form[style*="fef2f2"] {
  border-left: 6px solid var(--uma-#6b6b6b) !important;
  border-radius: 8px !important;
}

/* ---------- PÁGINAS LEGALES Y SISTEMA ---------- */

.uma-two main,
.uma-two .section {
  color: var(--uma-blue);
}

.uma-two table {
  width: 100%;
  border-collapse: collapse;
  background: #ffffff;
}

.uma-two th,
.uma-two td {
  padding: 14px;
  border-bottom: 1px solid var(--uma-line);
  text-align: left;
}

.uma-two th {
  background: var(--uma-aqua-light);
  color: var(--uma-blue);
}

/* ---------- RESPONSIVE ---------- */

@media (max-width: 980px) {
  .uma-two .cards,
  .uma-two .public-gallery,
  .uma-two .interest-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .uma-two .split {
    grid-template-columns: 1fr;
  }

  .uma-two .villa-gallery {
    grid-template-columns: 1fr 1fr !important;
  }

  .uma-two .villa-gallery img,
  .uma-two .villa-gallery img:first-child {
    height: 320px !important;
    grid-row: auto;
    border-radius: 8px !important;
  }
}

@media (max-width: 620px) {
  .uma-two .page-hero {
    min-height: 330px;
    padding: 70px 0 48px;
  }

  .uma-two .page-hero::after {
    right: -35px;
  }

  .uma-two .section {
    padding: 70px 0;
  }

  .uma-two .cards,
  .uma-two .public-gallery,
  .uma-two .interest-grid,
  .uma-two .villa-gallery {
    grid-template-columns: 1fr !important;
  }

  .uma-two .card-img,
  .uma-two .villa-gallery img,
  .uma-two .villa-gallery img:first-child {
    height: 290px !important;
  }

  .uma-two .simple-form,
  .uma-two .panel {
    padding: 25px !important;
    border-radius: 8px 8px 45px 8px !important;
  }

  .uma-two .price {
    align-items: flex-start;
    flex-direction: column;
  }

  .uma-two .price .btn {
    width: 100%;
  }
}

/* =========================================================
   VIDEO DE FONDO — SOLO PRONÓSTICO DE SURF
   ========================================================= */

.uma-surf-section {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 120px 0;
  background: #444444 !important;
}

.uma-surf-video-bg {
  position: absolute;
  z-index: -2;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  pointer-events: none;
}

.uma-surf-video-bg video {
  display: block;
  width: 100%;
  height: 100%;
  min-width: 100%;
  min-height: 100%;
  object-fit: cover;
  object-position: center center;
}

.uma-surf-video-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      90deg,
      rgba(68,68,68, .88) 0%,
      rgba(68,68,68, .70) 45%,
      rgba(68,68,68, .57) 100%
    ),
    linear-gradient(
      180deg,
      rgba(68,68,68, .20),
      rgba(68,68,68, .56)
    );
}

.uma-surf-section > .container {
  position: relative;
  z-index: 2;
}

.uma-surf-section .uma-surf-heading h2 {
  color: #ffffff !important;
  text-shadow: 0 4px 22px rgba(0,0,0, .24);
}

.uma-surf-section .uma-surf-heading p {
  color: rgba(255,255,255, .84) !important;
}

.uma-surf-section .uma-two-label {
  color: #6b6b6b !important;
}

.uma-surf-section .uma-surf-heading > a {
  color: #ffffff !important;
  padding: 12px 20px;
  border: 1px solid rgba(255,255,255,.65);
  border-radius: 999px;
  background: rgba(68,68,68,.25);
  backdrop-filter: blur(5px);
}

.uma-surf-widget {
  background: rgba(255,255,255,.93) !important;
  border-color: rgba(255,255,255,.58) !important;
  box-shadow: 0 25px 70px rgba(0,0,0,.24) !important;
  backdrop-filter: blur(7px);
}

.uma-surf-credit {
  color: rgba(255,255,255,.76) !important;
}

@media (max-width: 700px) {
  .uma-surf-section {
    padding: 80px 0;
  }

  .uma-surf-video-bg video {
    object-position: 60% center;
  }

  .uma-surf-video-overlay {
    background: rgba(68,68,68, .72);
  }
}

@media (prefers-reduced-motion: reduce) {
  .uma-surf-video-bg video {
    display: none;
  }

  .uma-surf-section {
    background:
      linear-gradient(
        135deg,
        #444444,
        #a0a0a0
      ) !important;
  }
}

/* ===== CORRECCIÓN DEFINITIVA VIDEO SECCIÓN SURF ===== */

.uma-surf-section {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  background: transparent !important;
}

.uma-surf-video-bg {
  position: absolute !important;
  z-index: 0 !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

.uma-surf-video-bg video {
  position: absolute !important;
  z-index: 0 !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  opacity: 1 !important;
}

.uma-surf-video-overlay {
  position: absolute !important;
  z-index: 1 !important;
  inset: 0 !important;
  background:
    linear-gradient(
      90deg,
      rgba(68,68,68, .76),
      rgba(68,68,68, .48)
    ) !important;
}

.uma-surf-section > .container {
  position: relative !important;
  z-index: 2 !important;
}

.uma-surf-widget {
  position: relative !important;
  z-index: 3 !important;
}

@media (max-width: 700px) {
  .uma-surf-video-bg video {
    object-position: 55% center !important;
  }

  .uma-surf-video-overlay {
    background: rgba(68,68,68, .62) !important;
  }
}

/* ===== VIDEO EXTERNO VISIBLE — SECCIÓN SURF ===== */

.uma-surf-section {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  background: #444444 !important;
}

.uma-surf-video-bg {
  position: absolute !important;
  z-index: 0 !important;
  inset: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

.uma-surf-video-bg iframe {
  position: absolute !important;
  z-index: 0 !important;
  top: 50% !important;
  left: 50% !important;

  width: 177.77777778vh !important;
  min-width: 100% !important;
  height: 56.25vw !important;
  min-height: 100% !important;

  border: 0 !important;
  transform: translate(-50%, -50%) scale(1.12);
}

.uma-surf-video-overlay {
  position: absolute !important;
  z-index: 1 !important;
  inset: 0 !important;
  background: rgba(68,68,68, .48) !important;
}

.uma-surf-section > .container {
  position: relative !important;
  z-index: 2 !important;
}

.uma-surf-widget {
  position: relative !important;
  z-index: 3 !important;
}

@media (max-width: 700px) {
  .uma-surf-video-bg iframe {
    transform: translate(-50%, -50%) scale(1.7);
  }

  .uma-surf-video-overlay {
    background: rgba(68,68,68, .58) !important;
  }
}

/* ===== VIDEO REAL DE PLAYA — BLOQUE SURF ===== */

.uma-surf-video-bg video {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;

  display: block !important;
  width: 100% !important;
  height: 100% !important;

  object-fit: cover !important;
  object-position: center 55% !important;

  opacity: 1 !important;
}

.uma-surf-video-bg iframe {
  display: none !important;
}

.uma-surf-video-overlay {
  z-index: 1 !important;
  background:
    linear-gradient(
      90deg,
      rgba(68,68,68, .60),
      rgba(68,68,68, .32)
    ) !important;
}

@media (max-width: 700px) {
  .uma-surf-video-bg video {
    object-position: center center !important;
  }

  .uma-surf-video-overlay {
    background: rgba(68,68,68, .52) !important;
  }
}

/* =========================================================
   FONDO SURF — VIDEO LOCAL DE BUYBITCOIN
   ========================================================= */

.uma-surf-section {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  background: #444444 !important;
}

.uma-surf-video-bg {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

.uma-surf-video-bg video {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;

  display: block !important;
  width: 100% !important;
  height: 100% !important;

  object-fit: cover !important;
  object-position: center center !important;

  opacity: 1 !important;
  visibility: visible !important;
}

.uma-surf-video-bg iframe {
  display: none !important;
}

.uma-surf-video-overlay {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;

  background:
    linear-gradient(
      90deg,
      rgba(68,68,68,.48),
      rgba(68,68,68,.20)
    ) !important;
}

.uma-surf-section > .container {
  position: relative !important;
  z-index: 2 !important;
}

.uma-surf-widget {
  position: relative !important;
  z-index: 3 !important;
}

.uma-surf-section .uma-surf-heading h2 {
  color: #ffffff !important;
}

.uma-surf-section .uma-surf-heading p {
  color: rgba(255,255,255,.88) !important;
}

.uma-surf-section .uma-surf-credit {
  color: rgba(255,255,255,.80) !important;
}

@media (max-width: 700px) {
  .uma-surf-video-bg video {
    object-position: 55% center !important;
  }

  .uma-surf-video-overlay {
    background: rgba(68,68,68,.42) !important;
  }
}

/* =========================================================
   FOOTER VILLAS PERRO LOCO
   ========================================================= */

.uma-footer {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(
      circle at 88% 12%,
      rgba(160,160,160, .18),
      transparent 28rem
    ),
    linear-gradient(
      135deg,
      #171717 0%,
      #444444 46%,
      #171717 100%
    );
  color: #fff;
}

.uma-footer * {
  box-sizing: border-box;
}

.uma-footer a {
  color: inherit;
}

.uma-footer-decoration {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}

.uma-footer-sun {
  position: absolute;
  top: 3.5rem;
  right: 6%;
  width: 11rem;
  height: 11rem;
  border-radius: 50%;
  border: 1px solid rgba(160,160,160, .28);
  box-shadow:
    0 0 0 2.4rem rgba(160,160,160, .035),
    0 0 0 4.8rem rgba(160,160,160, .025);
}

.uma-footer-wave {
  position: absolute;
  right: -8%;
  bottom: 7rem;
  width: 48%;
  height: 8rem;
  border-top: 1px solid rgba(160,160,160, .16);
  border-radius: 50%;
  transform: rotate(-5deg);
}

.uma-footer-wave-two {
  right: -4%;
  bottom: 4rem;
  width: 38%;
  opacity: .65;
}

.uma-footer-main {
  position: relative;
  z-index: 1;
  padding: clamp(4rem, 7vw, 7rem) 0 3.5rem;
}

.uma-footer-grid {
  display: grid;
  grid-template-columns:
    minmax(15rem, 1.05fr)
    minmax(9rem, .55fr)
    minmax(15rem, .9fr)
    minmax(18rem, 1.25fr);
  gap: clamp(2rem, 4vw, 4.5rem);
  align-items: start;
}

.uma-footer-brand p {
  max-width: 28rem;
  margin: 1.4rem 0 1.6rem;
  color: rgba(255,255,255, .76);
  font-size: .96rem;
  line-height: 1.75;
}

.uma-footer-logo {
  display: inline-flex;
  flex-direction: column;
  text-decoration: none;
  line-height: .85;
}

.uma-footer-logo-main {
  margin-left: .18rem;
  color: #a0a0a0;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .48rem;
}

.uma-footer-logo strong {
  color: #fff;
  font-size: clamp(3.4rem, 5vw, 5rem);
  font-weight: 900;
  letter-spacing: -.2rem;
}

.uma-footer-logo small {
  margin-top: .7rem;
  color: rgba(255,255,255, .65);
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .2rem;
}

.uma-footer-badges {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  margin-bottom: 1.6rem;
}

.uma-footer-badges span {
  padding: .48rem .7rem;
  border: 1px solid rgba(160,160,160, .24);
  border-radius: 999px;
  background: rgba(255,255,255, .055);
  color: rgba(255,255,255, .8);
  font-size: .71rem;
}

.uma-footer-book-button {
  display: inline-flex;
  min-height: 3rem;
  align-items: center;
  justify-content: center;
  padding: .8rem 1.15rem;
  border-radius: .75rem;
  background: #6b6b6b;
  box-shadow: 0 1rem 2rem rgba(0,0,0, .18);
  color: #fff !important;
  font-size: .82rem;
  font-weight: 800;
  text-decoration: none;
  transition:
    transform .2s ease,
    background .2s ease;
}

.uma-footer-book-button:hover {
  background: #6b6b6b;
  transform: translateY(-2px);
}

.uma-footer-column h3,
.uma-footer-form-card h3 {
  position: relative;
  margin: 0 0 1.35rem;
  padding-bottom: .8rem;
  color: #fff;
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: .02rem;
}

.uma-footer-column h3::after,
.uma-footer-form-card h3::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 2.3rem;
  height: 2px;
  border-radius: 1rem;
  background: #6b6b6b;
  content: "";
}

.uma-footer-links {
  display: flex;
  flex-direction: column;
  gap: .8rem;
}

.uma-footer-links a {
  position: relative;
  width: fit-content;
  padding-left: 1rem;
  color: rgba(255,255,255, .72);
  font-size: .88rem;
  text-decoration: none;
  transition:
    color .2s ease,
    transform .2s ease;
}

.uma-footer-links a::before {
  position: absolute;
  top: .42rem;
  left: 0;
  width: .32rem;
  height: .32rem;
  border-radius: 50%;
  background: #a0a0a0;
  content: "";
}

.uma-footer-links a:hover {
  color: #fff;
  transform: translateX(.2rem);
}

.uma-footer-contact-info {
  display: flex;
  flex-direction: column;
}

.uma-footer-info-item {
  display: grid;
  grid-template-columns: 2rem 1fr;
  gap: .75rem;
  margin-bottom: 1.1rem;
}

.uma-footer-icon {
  display: flex;
  width: 2rem;
  height: 2rem;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(160,160,160, .22);
  border-radius: .65rem;
  background: rgba(160,160,160, .09);
  color: #a0a0a0;
}

.uma-footer-info-item strong {
  display: block;
  margin-bottom: .25rem;
  color: #fff;
  font-size: .75rem;
}

.uma-footer-info-item p,
.uma-footer-info-item a {
  display: block;
  margin: 0;
  color: rgba(255,255,255, .68);
  font-size: .78rem;
  line-height: 1.55;
  text-decoration: none;
}

.uma-footer-info-item a:hover {
  color: #a0a0a0;
}

.uma-footer-social {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  margin-top: .35rem;
}

.uma-footer-social a {
  padding: .58rem .8rem;
  border: 1px solid rgba(255,255,255, .13);
  border-radius: .65rem;
  background: rgba(255,255,255, .05);
  color: rgba(255,255,255, .8);
  font-size: .73rem;
  font-weight: 700;
  text-decoration: none;
}

.uma-footer-social a:hover {
  border-color: rgba(160,160,160, .6);
  background: rgba(160,160,160, .12);
  color: #fff;
}

.uma-footer-forms {
  display: grid;
  gap: 1rem;
}

.uma-footer-form-card {
  padding: 1.4rem;
  border: 1px solid rgba(255,255,255, .1);
  border-radius: 1.1rem;
  background:
    linear-gradient(
      145deg,
      rgba(255,255,255, .085),
      rgba(255,255,255, .035)
    );
  box-shadow: 0 1.4rem 3rem rgba(0,0,0, .16);
  backdrop-filter: blur(8px);
}

.uma-footer-form-kicker {
  display: block;
  margin-bottom: .35rem;
  color: #a0a0a0;
  font-size: .64rem;
  font-weight: 800;
  letter-spacing: .13rem;
  text-transform: uppercase;
}

.uma-footer-form-card h3 {
  margin-bottom: 1rem;
}

.uma-footer-contact-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .65rem;
}

.uma-footer-contact-form label:nth-of-type(3) {
  grid-column: 1 / -1;
}

.uma-footer-contact-form button {
  grid-column: 1 / -1;
}

.uma-footer-form-card label {
  display: block;
}

.uma-footer-form-card label > span:not(.sr-only) {
  display: block;
  margin-bottom: .32rem;
  color: rgba(255,255,255, .68);
  font-size: .66rem;
  font-weight: 700;
}

.uma-footer-form-card input,
.uma-footer-form-card textarea {
  width: 100%;
  border: 1px solid rgba(255,255,255, .13);
  border-radius: .65rem;
  outline: none;
  background: rgba(0,0,0, .12);
  color: #fff;
  font: inherit;
  font-size: .76rem;
  transition:
    border .2s ease,
    background .2s ease;
}

.uma-footer-form-card input {
  min-height: 2.75rem;
  padding: .72rem .8rem;
}

.uma-footer-form-card textarea {
  min-height: 5rem;
  padding: .75rem .8rem;
  resize: vertical;
}

.uma-footer-form-card input::placeholder,
.uma-footer-form-card textarea::placeholder {
  color: rgba(255,255,255, .38);
}

.uma-footer-form-card input:focus,
.uma-footer-form-card textarea:focus {
  border-color: #a0a0a0;
  background: rgba(0,0,0, .18);
}

.uma-footer-form-card button {
  min-height: 2.8rem;
  border: 0;
  border-radius: .65rem;
  background: #a0a0a0;
  color: #444444;
  cursor: pointer;
  font-weight: 900;
}

.uma-footer-form-card button:hover {
  background: #a0a0a0;
}

.uma-footer-newsletter {
  background:
    linear-gradient(
      135deg,
      rgba(160,160,160, .14),
      rgba(255,255,255, .045)
    );
}

.uma-footer-newsletter p {
  margin: -.2rem 0 1rem;
  color: rgba(255,255,255, .66);
  font-size: .75rem;
  line-height: 1.55;
}

.uma-footer-newsletter-field {
  display: grid !important;
  grid-template-columns: 1fr auto;
  gap: .5rem;
}

.uma-footer-newsletter-field button {
  padding: 0 .85rem;
  background: #6b6b6b;
  color: #fff;
  font-size: .72rem;
}

.uma-footer-newsletter-field button:hover {
  background: #6b6b6b;
}

.uma-footer-newsletter small {
  display: block;
  margin-top: .7rem;
  color: rgba(255,255,255, .4);
  font-size: .63rem;
}

.uma-footer-honeypot {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

.uma-footer-bottom {
  position: relative;
  z-index: 1;
  border-top: 1px solid rgba(255,255,255, .08);
  background: rgba(0,0,0, .13);
}

.uma-footer-bottom-inner {
  display: flex;
  min-height: 4.5rem;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.uma-footer-bottom p {
  margin: 0;
  color: rgba(255,255,255, .48);
  font-size: .68rem;
}

.uma-footer-bottom-inner > div {
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem;
}

.uma-footer-bottom a {
  color: rgba(255,255,255, .58);
  font-size: .68rem;
  text-decoration: none;
}

.uma-footer-bottom a:hover {
  color: #a0a0a0;
}

@media (max-width: 1180px) {
  .uma-footer-grid {
    grid-template-columns: 1.1fr .65fr 1fr;
  }

  .uma-footer-forms {
    grid-column: 1 / -1;
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 800px) {
  .uma-footer-main {
    padding-top: 4rem;
  }

  .uma-footer-grid {
    grid-template-columns: 1fr 1fr;
  }

  .uma-footer-brand,
  .uma-footer-forms {
    grid-column: 1 / -1;
  }

  .uma-footer-contact-form {
    grid-template-columns: 1fr;
  }

  .uma-footer-contact-form label,
  .uma-footer-contact-form label:nth-of-type(3),
  .uma-footer-contact-form button {
    grid-column: 1;
  }
}

@media (max-width: 560px) {
  .uma-footer-grid,
  .uma-footer-forms {
    grid-template-columns: 1fr;
  }

  .uma-footer-column,
  .uma-footer-contact-info,
  .uma-footer-forms {
    grid-column: 1;
  }

  .uma-footer-newsletter-field {
    grid-template-columns: 1fr;
  }

  .uma-footer-newsletter-field button {
    min-height: 2.75rem;
  }

  .uma-footer-bottom-inner {
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding-top: 1.2rem;
    padding-bottom: 1.2rem;
  }
}

/* =========================================================
   CORRECCIÓN FOOTER — PALETA ORIGINAL VILLAS PERRO LOCO
   ========================================================= */

.uma-footer {
  background:
    radial-gradient(
      circle at 92% 12%,
      rgba(160,160,160, .18),
      transparent 24rem
    ),
    linear-gradient(
      180deg,
      #f8fcfb 0%,
      #ffffff 55%,
      #ffffff 100%
    ) !important;

  color: #444444 !important;
}

.uma-footer-decoration {
  opacity: 1 !important;
}

.uma-footer-sun {
  border-color: rgba(160,160,160, .24) !important;

  box-shadow:
    0 0 0 2.5rem rgba(160,160,160, .04),
    0 0 0 5rem rgba(160,160,160, .035) !important;
}

.uma-footer-wave {
  border-top-color: rgba(160,160,160, .24) !important;
}

.uma-footer-logo-main {
  color: #a0a0a0 !important;
}

.uma-footer-logo strong {
  color: #444444 !important;
}

.uma-footer-logo small {
  color: rgba(68,68,68, .58) !important;
}

.uma-footer-brand p {
  color: rgba(68,68,68, .72) !important;
}

.uma-footer-badges span {
  border-color: rgba(160,160,160, .36) !important;
  background: rgba(160,160,160, .10) !important;
  color: #444444 !important;
}

.uma-footer-book-button {
  background: #6b6b6b !important;
  color: #ffffff !important;
  box-shadow: 0 .8rem 1.8rem rgba(160,160,160, .20) !important;
}

.uma-footer-book-button:hover {
  background: #6b6b6b !important;
}

.uma-footer-column h3,
.uma-footer-form-card h3 {
  color: #444444 !important;
}

.uma-footer-column h3::after,
.uma-footer-form-card h3::after {
  background: #6b6b6b !important;
}

.uma-footer-links a {
  color: rgba(68,68,68, .72) !important;
}

.uma-footer-links a::before {
  background: #a0a0a0 !important;
}

.uma-footer-links a:hover {
  color: #6b6b6b !important;
}

.uma-footer-icon {
  border-color: rgba(160,160,160, .34) !important;
  background: rgba(160,160,160, .12) !important;
  color: #444444 !important;
}

.uma-footer-info-item strong {
  color: #444444 !important;
}

.uma-footer-info-item p,
.uma-footer-info-item a {
  color: rgba(68,68,68, .70) !important;
}

.uma-footer-info-item a:hover {
  color: #6b6b6b !important;
}

.uma-footer-social a {
  border-color: rgba(160,160,160, .34) !important;
  background: #ffffff !important;
  color: #444444 !important;
  box-shadow: 0 .35rem 1rem rgba(68,68,68, .06) !important;
}

.uma-footer-social a:hover {
  border-color: #a0a0a0 !important;
  background: #a0a0a0 !important;
  color: #ffffff !important;
}

.uma-footer-form-card {
  border-color: rgba(160,160,160, .30) !important;

  background:
    linear-gradient(
      145deg,
      rgba(255,255,255, .98),
      rgba(255,255,255, .96)
    ) !important;

  box-shadow:
    0 1rem 2.5rem rgba(68,68,68, .10) !important;

  backdrop-filter: none !important;
}

.uma-footer-form-kicker {
  color: #6b6b6b !important;
}

.uma-footer-form-card label > span:not(.sr-only) {
  color: rgba(68,68,68, .70) !important;
}

.uma-footer-form-card input,
.uma-footer-form-card textarea {
  border-color: rgba(160,160,160, .35) !important;
  background: #ffffff !important;
  color: #444444 !important;
}

.uma-footer-form-card input::placeholder,
.uma-footer-form-card textarea::placeholder {
  color: rgba(68,68,68, .38) !important;
}

.uma-footer-form-card input:focus,
.uma-footer-form-card textarea:focus {
  border-color: #a0a0a0 !important;
  background: #ffffff !important;
  box-shadow: 0 0 0 3px rgba(160,160,160, .12) !important;
}

.uma-footer-form-card button {
  background: #a0a0a0 !important;
  color: #444444 !important;
}

.uma-footer-form-card button:hover {
  background: #a0a0a0 !important;
}

.uma-footer-newsletter {
  border-color: rgba(160,160,160, .28) !important;

  background:
    linear-gradient(
      135deg,
      rgba(160,160,160, .10),
      rgba(255,255,255, .98)
    ) !important;
}

.uma-footer-newsletter p {
  color: rgba(68,68,68, .68) !important;
}

.uma-footer-newsletter-field button {
  background: #6b6b6b !important;
  color: #ffffff !important;
}

.uma-footer-newsletter-field button:hover {
  background: #6b6b6b !important;
}

.uma-footer-newsletter small {
  color: rgba(68,68,68, .46) !important;
}

.uma-footer-bottom {
  border-top-color: rgba(160,160,160, .22) !important;
  background: #444444 !important;
}

.uma-footer-bottom p {
  color: rgba(255,255,255, .68) !important;
}

.uma-footer-bottom a {
  color: rgba(255,255,255, .76) !important;
}

.uma-footer-bottom a:hover {
  color: #a0a0a0 !important;
}


/* =========================================================
   CTA PARALLAX + BOLETÍN HORIZONTAL
   ========================================================= */

.uma-footer-prelude {
  position: relative;
  z-index: 3;
}

/* Caja grande con fotografía */

.uma-footer-parallax-cta {
  position: relative;
  display: flex;
  min-height: clamp(25rem, 48vw, 38rem);
  align-items: center;
  overflow: hidden;

  background-image: var(--uma-footer-parallax-image);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment: fixed;
}

.uma-footer-parallax-overlay {
  position: absolute;
  inset: 0;
  z-index: 0;

  background:
    linear-gradient(
      90deg,
      rgba(68,68,68, .80) 0%,
      rgba(68,68,68, .55) 42%,
      rgba(68,68,68, .12) 100%
    );
}

.uma-footer-parallax-content {
  position: relative;
  z-index: 1;
  width: 100%;
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.uma-footer-parallax-content > span {
  display: block;
  margin-bottom: 1rem;
  color: #a0a0a0;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .22rem;
  text-transform: uppercase;
}

.uma-footer-parallax-content h2 {
  max-width: 48rem;
  margin: 0 0 2rem;
  color: #ffffff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(3rem, 7vw, 6.8rem);
  font-weight: 400;
  line-height: .97;
  letter-spacing: -.22rem;
  text-shadow: 0 .25rem 1.8rem rgba(0,0,0, .25);
}

.uma-footer-parallax-content a {
  display: inline-flex;
  min-height: 3.6rem;
  align-items: center;
  justify-content: center;
  gap: 1.2rem;
  padding: .9rem 1.45rem;
  border-radius: .8rem;
  background: #6b6b6b;
  box-shadow: 0 1rem 2.5rem rgba(0,0,0, .24);
  color: #ffffff;
  font-size: .84rem;
  font-weight: 900;
  text-decoration: none;
  transition:
    transform .2s ease,
    background .2s ease;
}

.uma-footer-parallax-content a:hover {
  background: #6b6b6b;
  transform: translateY(-3px);
}

.uma-footer-parallax-content a strong {
  font-size: 1.25rem;
  font-weight: 400;
}

/* Boletín horizontal */

.uma-footer-newsletter-horizontal {
  position: relative;
  z-index: 4;
  background: #a0a0a0;
}

.uma-footer-newsletter-horizontal-inner {
  display: grid;
  min-height: 10.5rem;
  grid-template-columns: minmax(20rem, 1fr) minmax(25rem, .85fr);
  align-items: center;
  gap: clamp(2rem, 5vw, 6rem);
  padding-top: 2rem;
  padding-bottom: 2rem;
}

.uma-footer-newsletter-copy {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 1.5rem;
}

.uma-footer-newsletter-copy > span {
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  color: rgba(68,68,68, .62);
  font-size: .62rem;
  font-weight: 900;
  letter-spacing: .18rem;
  text-transform: uppercase;
}

.uma-footer-newsletter-copy h2 {
  margin: 0 0 .45rem;
  color: #444444;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.8rem, 3.5vw, 3rem);
  font-weight: 400;
  line-height: 1;
}

.uma-footer-newsletter-copy p {
  max-width: 38rem;
  margin: 0;
  color: rgba(68,68,68, .72);
  font-size: .82rem;
  line-height: 1.6;
}

.uma-footer-newsletter-horizontal-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .65rem;
  padding: .55rem;
  border: 1px solid rgba(68,68,68, .12);
  border-radius: .9rem;
  background: rgba(255,255,255, .22);
}

.uma-footer-newsletter-horizontal-form label {
  display: block;
}

.uma-footer-newsletter-horizontal-form input[type="email"] {
  width: 100%;
  min-height: 3.3rem;
  padding: .85rem 1rem;
  border: 0;
  border-radius: .65rem;
  outline: none;
  background: #ffffff;
  color: #444444;
  font: inherit;
  font-size: .82rem;
}

.uma-footer-newsletter-horizontal-form input[type="email"]::placeholder {
  color: rgba(68,68,68, .45);
}

.uma-footer-newsletter-horizontal-form input[type="email"]:focus {
  box-shadow: 0 0 0 3px rgba(160,160,160, .22);
}

.uma-footer-newsletter-horizontal-form button {
  min-height: 3.3rem;
  padding: .8rem 1.3rem;
  border: 0;
  border-radius: .65rem;
  background: #6b6b6b;
  color: #ffffff;
  cursor: pointer;
  font-size: .78rem;
  font-weight: 900;
}

.uma-footer-newsletter-horizontal-form button:hover {
  background: #6b6b6b;
}

/* El footer inferior queda más compacto al tener una sola caja lateral */

.uma-footer-forms {
  display: block !important;
}

.uma-footer-forms .uma-footer-form-card {
  width: 100%;
}

/* Tablet */

@media (max-width: 900px) {
  .uma-footer-parallax-cta {
    background-attachment: scroll;
  }

  .uma-footer-newsletter-horizontal-inner {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .uma-footer-newsletter-copy {
    grid-template-columns: 1fr;
    gap: .5rem;
  }

  .uma-footer-newsletter-copy > span {
    writing-mode: initial;
    transform: none;
  }
}

/* Teléfono */

@media (max-width: 600px) {
  .uma-footer-parallax-cta {
    min-height: 31rem;
    background-position: 60% center;
  }

  .uma-footer-parallax-overlay {
    background: rgba(68,68,68, .64);
  }

  .uma-footer-parallax-content h2 {
    font-size: clamp(2.8rem, 14vw, 4.3rem);
    letter-spacing: -.12rem;
  }

  .uma-footer-newsletter-horizontal-inner {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }

  .uma-footer-newsletter-horizontal-form {
    grid-template-columns: 1fr;
  }

  .uma-footer-newsletter-horizontal-form button {
    width: 100%;
  }
}


/* =========================================================
   FRANJA HORIZONTAL DE PLATAFORMAS
   ========================================================= */

.uma-booking-strip {
  position: relative;
  z-index: 5;
  overflow: hidden;
  padding: clamp(3.5rem, 6vw, 5.8rem) 0 2.4rem;
  border-top: 1px solid rgba(160,160,160, .18);
  border-bottom: 1px solid rgba(160,160,160, .18);

  background:
    radial-gradient(
      circle at 92% 10%,
      rgba(160,160,160, .12),
      transparent 18rem
    ),
    radial-gradient(
      circle at 8% 90%,
      rgba(160,160,160, .18),
      transparent 20rem
    ),
    #f8fcfb;
}

.uma-booking-strip::before {
  position: absolute;
  top: -5rem;
  right: 7%;
  width: 13rem;
  height: 13rem;
  border: 1px solid rgba(160,160,160, .18);
  border-radius: 50%;
  box-shadow:
    0 0 0 2rem rgba(160,160,160, .025),
    0 0 0 4rem rgba(160,160,160, .025);
  content: "";
  pointer-events: none;
}

.uma-booking-strip-heading {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 2rem;
  margin-bottom: 2.5rem;
}

.uma-booking-strip-copy > span {
  display: block;
  margin-bottom: .8rem;
  color: #6b6b6b;
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .17rem;
  text-transform: uppercase;
}

.uma-booking-strip-copy h2 {
  margin: 0;
  color: #444444;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2rem, 4.5vw, 4.2rem);
  font-weight: 400;
  line-height: 1.02;
  letter-spacing: -.1rem;
}

.uma-booking-strip-action {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: .8rem;
}

.uma-booking-strip-action small {
  color: rgba(68,68,68, .55);
  font-size: .7rem;
}

.uma-booking-strip-action a {
  display: inline-flex;
  min-height: 3.2rem;
  align-items: center;
  gap: 1rem;
  padding: .8rem 1.2rem;
  border-radius: .75rem;
  background: #444444;
  color: #fff;
  font-size: .76rem;
  font-weight: 900;
  text-decoration: none;
  transition:
    transform .2s ease,
    background .2s ease;
}

.uma-booking-strip-action a:hover {
  background: #444444;
  transform: translateY(-2px);
}

.uma-booking-strip-action a strong {
  color: #a0a0a0;
  font-size: 1.1rem;
}

.uma-booking-marquee {
  position: relative;
  z-index: 2;
  width: 100%;
  overflow: hidden;
  padding: .5rem 0 1.1rem;
}

.uma-booking-marquee::before,
.uma-booking-marquee::after {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 3;
  width: clamp(2rem, 8vw, 8rem);
  content: "";
  pointer-events: none;
}

.uma-booking-marquee::before {
  left: 0;
  background: linear-gradient(
    90deg,
    #f8fcfb,
    rgba(248,252,251, 0)
  );
}

.uma-booking-marquee::after {
  right: 0;
  background: linear-gradient(
    -90deg,
    #f8fcfb,
    rgba(248,252,251, 0)
  );
}

.uma-booking-marquee-track {
  display: flex;
  width: max-content;
  gap: 1rem;
  padding-left: 1rem;
  animation: uma-booking-scroll 35s linear infinite;
}

.uma-booking-marquee:hover .uma-booking-marquee-track {
  animation-play-state: paused;
}

.uma-booking-platform {
  display: grid;
  min-width: clamp(14rem, 19vw, 18rem);
  grid-template-columns: 3rem 1fr;
  grid-template-rows: auto auto;
  column-gap: .9rem;
  align-items: center;
  padding: 1.15rem 1.25rem;
  border: 1px solid rgba(160,160,160, .25);
  border-radius: 1rem;
  background: rgba(255,255,255, .88);
  box-shadow: 0 .8rem 2rem rgba(68,68,68, .07);
}

.uma-platform-symbol {
  display: flex;
  grid-row: 1 / 3;
  width: 3rem;
  height: 3rem;
  align-items: center;
  justify-content: center;
  border-radius: .85rem;
  background:
    linear-gradient(
      135deg,
      rgba(160,160,160, .22),
      rgba(160,160,160, .08)
    );
  color: #444444;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.35rem;
  font-weight: 700;
}

.uma-booking-platform strong {
  color: #444444;
  font-size: .9rem;
}

.uma-booking-platform small {
  color: rgba(68,68,68, .52);
  font-size: .68rem;
}

.uma-booking-platform-direct {
  border-color: rgba(160,160,160, .32);
  background:
    linear-gradient(
      135deg,
      rgba(160,160,160, .10),
      #fff
    );
}

.uma-booking-platform-direct .uma-platform-symbol {
  background: #6b6b6b;
  color: #fff;
}

.uma-booking-features {
  position: relative;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .7rem 1.5rem;
  padding-top: 1.4rem;
  border-top: 1px solid rgba(160,160,160, .18);
}

.uma-booking-features span {
  color: rgba(68,68,68, .66);
  font-size: .72rem;
  font-weight: 700;
}

@keyframes uma-booking-scroll {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(calc(-50% - .5rem));
  }
}

@media (prefers-reduced-motion: reduce) {
  .uma-booking-marquee-track {
    animation: none;
  }
}

@media (max-width: 800px) {
  .uma-booking-strip-heading {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .uma-booking-strip-action {
    align-items: flex-start;
  }
}

@media (max-width: 560px) {
  .uma-booking-strip {
    padding-top: 3.5rem;
  }

  .uma-booking-strip-copy h2 br {
    display: none;
  }

  .uma-booking-strip-action a {
    width: 100%;
    justify-content: center;
  }

  .uma-booking-platform {
    min-width: 15rem;
  }

  .uma-booking-features {
    justify-content: flex-start;
  }
}


/* ===== LOGOS REALES DE PLATAFORMAS ===== */

.uma-platform-symbol {
  overflow: hidden;
  padding: .42rem;
  background: #ffffff !important;
  border: 1px solid rgba(68,68,68, .08);
}

.uma-platform-logo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.uma-booking-platform strong {
  display: block;
  margin-bottom: .15rem;
}

.uma-booking-platform small {
  display: block;
}

.uma-booking-platform-direct .uma-platform-symbol {
  background: #6b6b6b !important;
  color: #ffffff !important;
  border: none !important;
}



/* ===== ICONOS COMPACTOS DE PLATAFORMAS ===== */

.uma-unit-platforms {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin: 12px 0 0 !important;
    padding: 0 !important;
    width: auto !important;
}

.uma-unit-platform {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 38px !important;
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 50% !important;
    border: 1px solid rgba(68,68,68, 0.14) !important;
    text-decoration: none !important;
    overflow: hidden !important;
    box-shadow: 0 6px 16px rgba(68,68,68, 0.12) !important;
    transition: transform .2s ease, box-shadow .2s ease !important;
}

.uma-unit-platform:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 9px 22px rgba(68,68,68, 0.18) !important;
}

.uma-unit-platform span {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    font-family: Arial, sans-serif !important;
    font-size: 17px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}

.uma-unit-platform-airbnb {
    background: #6b6b6b !important;
    color: #ffffff !important;
}

.uma-unit-platform-booking {
    background: #444444 !important;
    color: #ffffff !important;
}

.uma-unit-platform-direct {
    background: #a0a0a0 !important;
    color: #ffffff !important;
}



/* ===== LOGOS ORIGINALES DE PLATAFORMAS ===== */
.uma-unit-platforms{
  display:flex !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  margin:12px 0 0 !important;
  padding:0 !important;
}

.uma-unit-platform{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:38px !important;
  min-width:38px !important;
  height:38px !important;
  min-height:38px !important;
  padding:0 !important;
  border-radius:999px !important;
  background:#ffffff !important;
  border:1px solid rgba(68,68,68,.14) !important;
  box-shadow:0 6px 18px rgba(68,68,68,.12) !important;
  text-decoration:none !important;
  overflow:hidden !important;
  transition:transform .2s ease, box-shadow .2s ease !important;
}

.uma-unit-platform:hover{
  transform:translateY(-2px) !important;
  box-shadow:0 10px 22px rgba(68,68,68,.18) !important;
}

.uma-unit-platform img{
  width:18px !important;
  height:18px !important;
  object-fit:contain !important;
  display:block !important;
}

.uma-unit-platform-booking img{
  width:19px !important;
  height:19px !important;
}

.uma-unit-platform-direct{
  width:auto !important;
  min-width:unset !important;
  padding:0 12px !important;
  background:#a0a0a0 !important;
  border-color:#a0a0a0 !important;
}

.uma-unit-platform-label{
  font-size:11px !important;
  font-weight:800 !important;
  line-height:1 !important;
  color:#ffffff !important;
  white-space:nowrap !important;
}


/* ==================================================
   ACCIONES COMPACTAS DE ALOJAMIENTO
   ================================================== */

.uma-booking-actions-extra {
    display: contents;
}

/*
 * El contenedor que incluye tarifa, detalles y
 * reserva directa queda organizado en dos líneas.
 */
article :has(> .btn-primary):has(> .uma-booking-actions-extra),
.uma-two-villa-content :has(> .uma-booking-actions-extra) {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
}

/* Consultar tarifa */
article :has(> .btn-primary):has(> .uma-booking-actions-extra) > strong,
.uma-two-villa-content :has(> .uma-booking-actions-extra) > strong {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 1 1 0 !important;
    min-width: 0 !important;
    min-height: 31px !important;
    margin: 0 !important;
    padding: 6px 4px !important;
    border: 1px solid #a0a0a0 !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    color: #707070 !important;
    font-size: 9px !important;
    font-weight: 800 !important;
    line-height: 1.05 !important;
    text-align: center !important;
    white-space: normal !important;
    transition:
        transform .2s ease,
        background .2s ease,
        color .2s ease,
        box-shadow .2s ease !important;
}

/* Ver detalles */
article :has(> .uma-booking-actions-extra) > .btn-primary,
.uma-two-villa-content :has(> .uma-booking-actions-extra) > .btn-primary,
.uma-two-villa-content :has(> .uma-booking-actions-extra) > .uma-two-villa-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 1 1 0 !important;
    min-width: 0 !important;
    min-height: 31px !important;
    margin: 0 !important;
    padding: 6px 4px !important;
    border-radius: 999px !important;
    font-size: 9px !important;
    font-weight: 800 !important;
    line-height: 1.05 !important;
    text-align: center !important;
    white-space: normal !important;
    box-shadow: none !important;
    transition:
        transform .2s ease,
        box-shadow .2s ease,
        filter .2s ease !important;
}

/* Reserva directa */
.uma-direct-booking-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 1.25 1 0 !important;
    min-width: 0 !important;
    min-height: 31px !important;
    margin: 0 !important;
    padding: 6px 5px !important;
    border: 1px solid #a0a0a0 !important;
    border-radius: 999px !important;
    background: #a0a0a0 !important;
    color: #ffffff !important;
    font-size: 9px !important;
    font-weight: 900 !important;
    line-height: 1.05 !important;
    text-align: center !important;
    text-decoration: none !important;
    white-space: normal !important;
    box-shadow: 0 5px 14px rgba(112,112,112, .18) !important;
    transition:
        transform .2s ease,
        background .2s ease,
        box-shadow .2s ease !important;
}

/* Segunda línea: plataformas */
.uma-unit-platforms {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex: 0 0 100% !important;
    width: 100% !important;
    gap: 7px !important;
    margin: 2px 0 0 !important;
    padding: 0 !important;
}

.uma-unit-platform {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 32px !important;
    width: 32px !important;
    min-width: 32px !important;
    height: 32px !important;
    min-height: 32px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid rgba(68,68,68, .13) !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    box-shadow: 0 5px 14px rgba(68,68,68, .10) !important;
    overflow: hidden !important;
    transition:
        transform .2s ease,
        border-color .2s ease,
        box-shadow .2s ease !important;
}

.uma-unit-platform img {
    display: block !important;
    width: 17px !important;
    height: 17px !important;
    max-width: 17px !important;
    max-height: 17px !important;
    object-fit: contain !important;
}

/* Hover de todos los botones */
article :has(> .btn-primary):has(> .uma-booking-actions-extra) > strong:hover,
.uma-two-villa-content :has(> .uma-booking-actions-extra) > strong:hover {
    transform: translateY(-2px) !important;
    background: #a0a0a0 !important;
    color: #ffffff !important;
    box-shadow: 0 7px 16px rgba(112,112,112, .18) !important;
}

article :has(> .uma-booking-actions-extra) > .btn-primary:hover,
.uma-two-villa-content :has(> .uma-booking-actions-extra) > .btn-primary:hover,
.uma-two-villa-content :has(> .uma-booking-actions-extra) > .uma-two-villa-link:hover {
    transform: translateY(-2px) !important;
    filter: brightness(.96) !important;
    box-shadow: 0 7px 16px rgba(160,160,160, .20) !important;
}

.uma-direct-booking-button:hover {
    transform: translateY(-2px) !important;
    background: #a0a0a0 !important;
    color: #ffffff !important;
    box-shadow: 0 8px 19px rgba(112,112,112, .28) !important;
}

.uma-unit-platform:hover {
    transform: translateY(-3px) scale(1.06) !important;
    border-color: rgba(68,68,68, .30) !important;
    box-shadow: 0 9px 20px rgba(68,68,68, .18) !important;
}

@media (max-width: 500px) {
    article :has(> .uma-booking-actions-extra) > strong,
    article :has(> .uma-booking-actions-extra) > .btn-primary,
    .uma-direct-booking-button {
        font-size: 8px !important;
        padding-left: 3px !important;
        padding-right: 3px !important;
    }
}


/* ===== MAPA FULL WIDTH UBICACION ===== */
.uma-location-map-band {
  margin-top: 42px;
}

.uma-location-map-copy {
  margin-bottom: 18px;
}

.uma-location-map-copy span {
  display: inline-block;
  margin-bottom: 10px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #6b6b6b;
}

.uma-location-map-copy h2 {
  margin: 0 0 10px;
  font-size: clamp(30px, 4vw, 46px);
  line-height: 1.04;
  color: #444444;
}

.uma-location-map-copy p {
  max-width: 760px;
  margin: 0;
  color: #707070;
  line-height: 1.7;
}

.uma-location-map-full {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  overflow: hidden;
  border-top: 1px solid rgba(68,68,68, 0.08);
  border-bottom: 1px solid rgba(68,68,68, 0.08);
  background: #e8e8e8;
}

.uma-location-map-full iframe {
  display: block;
  width: 100%;
  height: 420px;
  border: 0;
  filter: saturate(0.95) contrast(1.02);
}

@media (max-width: 768px) {
  .uma-location-map-full iframe {
    height: 320px;
  }
}

/* =========================================================
   CONTACTO PROFESIONAL VILLAS PERRO LOCO
   ========================================================= */

.uma-contact-page {
  background:
    linear-gradient(180deg, #ffffff 0%, #ffffff 52%, #ffffff 100%);
}

.uma-contact-hero p {
  max-width: 680px;
}

.uma-contact-intro {
  padding: 70px 0 62px;
}

.uma-contact-intro-copy {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  gap: 70px;
  align-items: end;
  margin-bottom: 40px;
}

.uma-contact-kicker {
  display: inline-block;
  margin-bottom: 12px;
  color: #6b6b6b;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .17em;
  text-transform: uppercase;
}

.uma-contact-intro-copy h2,
.uma-contact-form-aside h2 {
  margin: 0;
  color: #444444;
  font-family: Georgia, serif;
  font-size: clamp(34px, 4vw, 54px);
  line-height: 1.02;
}

.uma-contact-intro-copy p,
.uma-contact-form-aside > p {
  margin: 0;
  color: #707070;
  font-size: 15px;
  line-height: 1.8;
}

.uma-contact-channel-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.uma-contact-channel-card {
  position: relative;
  display: flex;
  min-height: 255px;
  flex-direction: column;
  justify-content: space-between;
  padding: 25px;
  overflow: hidden;
  border: 1px solid rgba(68,68,68, .09);
  border-radius: 24px;
  background: rgba(255,255,255, .92);
  box-shadow: 0 18px 48px rgba(68,68,68, .08);
  color: #444444;
  text-decoration: none;
  transition:
    transform .25s ease,
    box-shadow .25s ease,
    border-color .25s ease;
}

.uma-contact-channel-card::after {
  content: "";
  position: absolute;
  right: -28px;
  bottom: -34px;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: rgba(160,160,160, .10);
  transition: transform .3s ease;
}

.uma-contact-channel-card:hover {
  transform: translateY(-7px);
  border-color: rgba(160,160,160, .5);
  box-shadow: 0 24px 58px rgba(68,68,68, .14);
}

.uma-contact-channel-card:hover::after {
  transform: scale(1.35);
}

.uma-contact-channel-icon {
  position: relative;
  z-index: 1;
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  margin-bottom: 28px;
  border-radius: 15px;
  background: #e8e8e8;
  color: #707070;
  font-size: 22px;
  font-weight: 900;
}

.uma-contact-channel-card small {
  display: block;
  margin-bottom: 7px;
  color: #6b6b6b;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.uma-contact-channel-card h3 {
  margin: 0 0 8px;
  color: #444444;
  font-family: Georgia, serif;
  font-size: 22px;
  line-height: 1.12;
}

.uma-contact-channel-card p {
  margin: 0;
  color: #707070;
  font-size: 13px;
  line-height: 1.6;
}

.uma-contact-channel-card > strong {
  position: relative;
  z-index: 1;
  margin-top: 22px;
  color: #707070;
  font-size: 12px;
}

.uma-contact-form-section {
  padding: 72px 0 82px;
  border-top: 1px solid rgba(68,68,68, .07);
  background:
    radial-gradient(
      circle at 8% 15%,
      rgba(160,160,160, .15),
      transparent 28%
    ),
    #444444;
}

.uma-contact-form-layout {
  display: grid;
  grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr);
  gap: 54px;
  align-items: start;
}

.uma-contact-form-aside {
  position: sticky;
  top: 110px;
  padding: 22px 0;
}

.uma-contact-form-aside h2 {
  color: #ffffff;
}

.uma-contact-form-aside > p {
  margin-top: 22px;
  color: rgba(255,255,255, .68);
}

.uma-contact-aside-points {
  display: grid;
  gap: 17px;
  margin-top: 36px;
}

.uma-contact-aside-points > div {
  display: grid;
  grid-template-columns: 39px 1fr;
  gap: 13px;
  align-items: start;
}

.uma-contact-aside-points span {
  display: grid;
  width: 39px;
  height: 39px;
  place-items: center;
  border: 1px solid rgba(255,255,255, .18);
  border-radius: 50%;
  color: #c8c8c8;
  font-size: 10px;
  font-weight: 900;
}

.uma-contact-aside-points p {
  margin: 6px 0 0;
  color: rgba(255,255,255, .75);
  font-size: 13px;
  line-height: 1.55;
}

.uma-contact-help-box {
  margin-top: 35px;
  padding: 18px;
  border: 1px solid rgba(255,255,255, .12);
  border-radius: 18px;
  background: rgba(255,255,255, .05);
}

.uma-contact-help-box small {
  display: block;
  margin-bottom: 8px;
  color: rgba(255,255,255, .55);
  font-size: 11px;
}

.uma-contact-help-box a {
  color: #c8c8c8;
  font-size: 13px;
  font-weight: 900;
  text-decoration: none;
}

.uma-contact-form-card {
  padding: 34px;
  border-radius: 28px;
  background: #ffffff;
  box-shadow: 0 32px 90px rgba(0,0,0, .22);
}

.uma-contact-success {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  margin-bottom: 26px;
  padding: 17px;
  border: 1px solid #c8c8c8;
  border-radius: 16px;
  background: #ffffff;
  color: #444444;
}

.uma-contact-success > span {
  display: grid;
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  place-items: center;
  border-radius: 50%;
  background: #707070;
  color: #ffffff;
  font-weight: 900;
}

.uma-contact-success strong {
  display: block;
  margin-bottom: 4px;
}

.uma-contact-success p {
  margin: 0;
  font-size: 12px;
  line-height: 1.55;
}

.uma-contact-form-heading {
  padding-bottom: 23px;
  border-bottom: 1px solid #e8e8e8;
}

.uma-contact-form-heading span {
  color: #6b6b6b;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.uma-contact-form-heading h3 {
  margin: 7px 0 0;
  color: #444444;
  font-family: Georgia, serif;
  font-size: 30px;
}

.uma-contact-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 17px;
  margin-top: 20px;
}

.uma-contact-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.uma-contact-field.full {
  grid-column: 1 / -1;
  margin-top: 20px;
}

.uma-contact-field label {
  color: #444444;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.uma-contact-field input,
.uma-contact-field select,
.uma-contact-field textarea {
  width: 100%;
  border: 1px solid #e8e8e8;
  border-radius: 13px;
  outline: none;
  background: #f8fbfb;
  color: #444444;
  font-family: inherit;
  font-size: 13px;
  transition:
    border-color .2s ease,
    box-shadow .2s ease,
    background .2s ease;
}

.uma-contact-field input,
.uma-contact-field select {
  min-height: 48px;
  padding: 0 14px;
}

.uma-contact-field textarea {
  min-height: 150px;
  padding: 14px;
  resize: vertical;
  line-height: 1.6;
}

.uma-contact-field input:focus,
.uma-contact-field select:focus,
.uma-contact-field textarea:focus {
  border-color: #a0a0a0;
  background: #ffffff;
  box-shadow: 0 0 0 4px rgba(160,160,160, .13);
}

.uma-contact-form-footer {
  display: flex;
  gap: 25px;
  align-items: center;
  justify-content: space-between;
  margin-top: 23px;
  padding-top: 22px;
  border-top: 1px solid #e8e8e8;
}

.uma-contact-form-footer p {
  max-width: 440px;
  margin: 0;
  color: #707070;
  font-size: 10px;
  line-height: 1.55;
}

.uma-contact-form-footer button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 0 22px;
  border: 0;
  border-radius: 999px;
  background: #6b6b6b;
  color: #ffffff;
  cursor: pointer;
  font-size: 12px;
  font-weight: 900;
  box-shadow: 0 12px 27px rgba(160,160,160, .26);
  transition:
    transform .2s ease,
    background .2s ease,
    box-shadow .2s ease;
}

.uma-contact-form-footer button:hover {
  transform: translateY(-2px);
  background: #6b6b6b;
  box-shadow: 0 16px 32px rgba(160,160,160, .34);
}

.uma-contact-closing {
  padding: 70px 0;
}

.uma-contact-closing .container {
  display: flex;
  gap: 35px;
  align-items: center;
  justify-content: space-between;
  padding: 39px 45px;
  border-radius: 27px;
  background: #e8e8e8;
}

.uma-contact-closing span {
  color: #6b6b6b;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.uma-contact-closing h2 {
  max-width: 650px;
  margin: 8px 0 0;
  color: #444444;
  font-family: Georgia, serif;
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1.07;
}

.uma-contact-closing a {
  display: inline-flex;
  min-height: 48px;
  flex: 0 0 auto;
  align-items: center;
  gap: 14px;
  padding: 0 20px;
  border-radius: 999px;
  background: #444444;
  color: #ffffff;
  font-size: 12px;
  font-weight: 900;
  text-decoration: none;
  transition: transform .2s ease, background .2s ease;
}

.uma-contact-closing a:hover {
  transform: translateY(-2px);
  background: #444444;
}

@media (max-width: 1050px) {
  .uma-contact-channel-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .uma-contact-form-layout {
    grid-template-columns: 1fr;
  }

  .uma-contact-form-aside {
    position: static;
  }
}

@media (max-width: 760px) {
  .uma-contact-intro {
    padding: 48px 0;
  }

  .uma-contact-intro-copy {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .uma-contact-channel-grid {
    grid-template-columns: 1fr;
  }

  .uma-contact-channel-card {
    min-height: 220px;
  }

  .uma-contact-form-section {
    padding: 52px 0;
  }

  .uma-contact-form-card {
    padding: 23px 18px;
  }

  .uma-contact-form-grid {
    grid-template-columns: 1fr;
  }

  .uma-contact-form-footer {
    align-items: stretch;
    flex-direction: column;
  }

  .uma-contact-form-footer button {
    width: 100%;
  }

  .uma-contact-closing .container {
    align-items: flex-start;
    flex-direction: column;
    padding: 30px 24px;
  }
}

/* =========================================================
   GALERÍA ESPECTACULAR VILLAS PERRO LOCO
   ========================================================= */

.uma-gallery-page {
  overflow: visible;
  background: #ffffff;
}

.uma-gallery-editorial,
.uma-gallery-accommodations {
  padding: 78px 0;
}

.uma-gallery-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(300px, .75fr);
  gap: 60px;
  align-items: end;
  margin-bottom: 42px;
}

.uma-gallery-heading.centered {
  max-width: 900px;
  grid-template-columns: 1fr;
  gap: 15px;
  text-align: center;
  margin-right: auto;
  margin-left: auto;
}

.uma-gallery-heading span,
.uma-gallery-carousel-header span,
.uma-gallery-closing span {
  display: block;
  margin-bottom: 10px;
  color: #6b6b6b;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .17em;
  text-transform: uppercase;
}

.uma-gallery-heading h2,
.uma-gallery-carousel-header h2,
.uma-gallery-closing h2 {
  margin: 0;
  color: #444444;
  font-family: Georgia, serif;
  font-size: clamp(35px, 4.4vw, 58px);
  line-height: 1.02;
}

.uma-gallery-heading p {
  margin: 0;
  color: #707070;
  font-size: 14px;
  line-height: 1.75;
}

/* MOSAICO */

.uma-gallery-mosaic {
  display: grid;
  grid-template-columns: 1.25fr .75fr 1fr;
  grid-template-rows: 260px 260px;
  gap: 14px;
}

.uma-gallery-mosaic-item {
  position: relative;
  margin: 0;
  overflow: hidden;
  border-radius: 24px;
  opacity: 0;
  transform: translateY(28px);
  box-shadow: 0 18px 50px rgba(68,68,68, .12);
  transition:
    opacity .7s ease,
    transform .7s ease,
    box-shadow .35s ease;
}

.uma-gallery-mosaic-item.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.uma-gallery-mosaic-item-1 {
  grid-row: span 2;
}

.uma-gallery-mosaic-item-4 {
  grid-column: span 2;
}

.uma-gallery-mosaic-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  cursor: zoom-in;
  transition: transform .7s cubic-bezier(.2, .7, .2, 1);
}

.uma-gallery-mosaic-item::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(
      180deg,
      transparent 45%,
      rgba(23,23,23, .78) 100%
    );
}

.uma-gallery-mosaic-item:hover {
  box-shadow: 0 28px 70px rgba(68,68,68, .22);
}

.uma-gallery-mosaic-item:hover img {
  transform: scale(1.075);
}

.uma-gallery-mosaic-item figcaption {
  position: absolute;
  z-index: 2;
  right: 20px;
  bottom: 19px;
  left: 20px;
  color: #fff;
}

.uma-gallery-mosaic-item figcaption span {
  display: block;
  margin-bottom: 5px;
  color: #c8c8c8;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.uma-gallery-mosaic-item figcaption strong {
  font-family: Georgia, serif;
  font-size: 18px;
  line-height: 1.15;
}

/* VIDEO */

.uma-gallery-video-section {
  --uma-gallery-video-height: 100vh;
  --uma-gallery-video-scroll-space: clamp(320px, 58vh, 640px);
  position: relative;
  width: 100%;
  height: calc(
    var(--uma-gallery-video-height) + var(--uma-gallery-video-scroll-space)
  );
  min-height: 1080px;
  margin: 0;
  background: #444444;
}

.uma-gallery-video {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: var(--uma-gallery-video-height);
  min-height: 520px;
  overflow: hidden;
  background: #444444;
}

.uma-gallery-video video {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.uma-gallery-video-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      90deg,
      rgba(23,23,23, .88) 0%,
      rgba(23,23,23, .55) 42%,
      rgba(23,23,23, .08) 78%
    );
}

.uma-gallery-video-content {
  position: absolute;
  z-index: 2;
  top: 50%;
  right: 0;
  left: 0;
  transform: translateY(-50%);
  color: #fff;
}

.uma-gallery-video-content > span {
  display: block;
  margin-bottom: 14px;
  color: #c8c8c8;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .17em;
  text-transform: uppercase;
}

.uma-gallery-video-content h2 {
  max-width: 800px;
  margin: 0;
  color: #fff;
  font-family: Georgia, serif;
  font-size: clamp(42px, 6vw, 76px);
  line-height: .98;
}

.uma-gallery-video-content p {
  max-width: 570px;
  margin: 22px 0 27px;
  color: rgba(255,255,255, .75);
  font-size: 14px;
  line-height: 1.7;
}

.uma-gallery-video-content a {
  display: inline-flex;
  min-height: 49px;
  align-items: center;
  gap: 18px;
  padding: 0 21px;
  border-radius: 999px;
  background: #6b6b6b;
  color: #fff;
  font-size: 12px;
  font-weight: 900;
  text-decoration: none;
  box-shadow: 0 15px 35px rgba(160,160,160, .28);
  transition:
    transform .2s ease,
    background .2s ease;
}

.uma-gallery-video-content a:hover {
  transform: translateY(-3px);
  background: #6b6b6b;
}

.uma-gallery-video-control {
  position: absolute;
  z-index: 3;
  right: 32px;
  bottom: 30px;
  display: grid;
  width: 52px;
  height: 52px;
  place-items: center;
  border: 1px solid rgba(255,255,255, .35);
  border-radius: 50%;
  background: rgba(23,23,23, .42);
  color: #fff;
  cursor: pointer;
  backdrop-filter: blur(8px);
  transition:
    transform .2s ease,
    background .2s ease;
}

.uma-gallery-video-control:hover {
  transform: scale(1.08);
  background: rgba(160,160,160, .85);
}

/* GALERÍA EN PILA */

.uma-gallery-accommodations {
  position: relative;
  z-index: 2;
  background: #fff;
}

.uma-gallery-stack {
  display: grid;
  gap: 22px;
}

.uma-gallery-stack-card {
  display: grid;
  grid-template-columns: minmax(320px, .94fr) minmax(0, 1.06fr);
  min-height: 350px;
  overflow: hidden;
  border: 1px solid rgba(68,68,68, .08);
  border-radius: 28px;
  background: #f6fbfa;
  opacity: 0;
  transform: translateY(30px);
  box-shadow: 0 18px 55px rgba(68,68,68, .08);
  transition:
    opacity .7s ease,
    transform .7s ease,
    box-shadow .3s ease;
}

.uma-gallery-stack-card:nth-child(even) {
  grid-template-columns: minmax(0, 1.06fr) minmax(320px, .94fr);
}

.uma-gallery-stack-card:nth-child(even) .uma-gallery-stack-image {
  order: 2;
}

.uma-gallery-stack-card.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.uma-gallery-stack-card:hover {
  box-shadow: 0 30px 75px rgba(68,68,68, .15);
}

.uma-gallery-stack-image {
  overflow: hidden;
}

.uma-gallery-stack-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .8s cubic-bezier(.2, .7, .2, 1);
}

.uma-gallery-stack-card:hover .uma-gallery-stack-image img {
  transform: scale(1.06);
}

.uma-gallery-stack-content {
  display: grid;
  grid-template-columns: 50px 1fr;
  gap: 18px;
  align-content: center;
  padding: 45px;
}

.uma-gallery-stack-content > span {
  color: #a0a0a0;
  font-size: 12px;
  font-weight: 900;
}

.uma-gallery-stack-content small {
  display: block;
  margin-bottom: 8px;
  color: #6b6b6b;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.uma-gallery-stack-content h3 {
  margin: 0 0 13px;
  color: #444444;
  font-family: Georgia, serif;
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1.05;
}

.uma-gallery-stack-content p {
  max-width: 560px;
  margin: 0;
  color: #707070;
  font-size: 13px;
  line-height: 1.7;
}

.uma-gallery-stack-content a {
  grid-column: 2;
  margin-top: 22px;
  color: #707070;
  font-size: 12px;
  font-weight: 900;
  text-decoration: none;
  transition: transform .2s ease;
}

.uma-gallery-stack-content a:hover {
  transform: translateX(6px);
}

/* CARRUSEL */

.uma-gallery-carousel-section {
  padding: 82px 0 88px;
  background: #444444;
}

.uma-gallery-carousel-header {
  display: flex;
  gap: 30px;
  align-items: end;
  justify-content: space-between;
  margin-bottom: 34px;
}

.uma-gallery-carousel-header h2 {
  color: #fff;
}

.uma-gallery-carousel-controls {
  display: flex;
  gap: 9px;
}

.uma-gallery-carousel-controls button {
  display: grid;
  width: 46px;
  height: 46px;
  place-items: center;
  border: 1px solid rgba(255,255,255, .22);
  border-radius: 50%;
  background: transparent;
  color: #fff;
  cursor: pointer;
  font-size: 18px;
  transition:
    transform .2s ease,
    background .2s ease;
}

.uma-gallery-carousel-controls button:hover {
  transform: translateY(-2px);
  background: #6b6b6b;
}

.uma-gallery-carousel {
  display: flex;
  gap: 18px;
  width: 100%;
  overflow-x: auto;
  padding: 0 max(4vw, calc((100vw - 1180px) / 2)) 20px;
  scrollbar-width: none;
  scroll-snap-type: x mandatory;
}

.uma-gallery-carousel::-webkit-scrollbar {
  display: none;
}

.uma-gallery-carousel-item {
  position: relative;
  flex: 0 0 min(420px, 78vw);
  height: 480px;
  margin: 0;
  overflow: hidden;
  border-radius: 24px;
  opacity: 0;
  transform: translateX(24px);
  scroll-snap-align: start;
  transition:
    opacity .7s ease,
    transform .7s ease;
}

.uma-gallery-carousel-item.is-visible {
  opacity: 1;
  transform: translateX(0);
}

.uma-gallery-carousel-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  cursor: zoom-in;
  transition: transform .7s ease;
}

.uma-gallery-carousel-item:hover img {
  transform: scale(1.07);
}

.uma-gallery-carousel-item::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      180deg,
      transparent 48%,
      rgba(23,23,23, .82) 100%
    );
  pointer-events: none;
}

.uma-gallery-carousel-item figcaption {
  position: absolute;
  z-index: 2;
  right: 22px;
  bottom: 22px;
  left: 22px;
  color: #fff;
}

.uma-gallery-carousel-item figcaption span {
  display: block;
  margin-bottom: 7px;
  color: #c8c8c8;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.uma-gallery-carousel-item figcaption strong {
  font-family: Georgia, serif;
  font-size: 22px;
}

/* CIERRE */

.uma-gallery-closing {
  padding: 75px 0;
  background: #ffffff;
}

.uma-gallery-closing .container {
  display: flex;
  gap: 30px;
  align-items: center;
  justify-content: space-between;
}

.uma-gallery-closing h2 {
  max-width: 700px;
}

.uma-gallery-closing a {
  display: inline-flex;
  min-height: 50px;
  flex: 0 0 auto;
  align-items: center;
  gap: 17px;
  padding: 0 22px;
  border-radius: 999px;
  background: #444444;
  color: #fff;
  font-size: 12px;
  font-weight: 900;
  text-decoration: none;
  transition:
    transform .2s ease,
    background .2s ease;
}

.uma-gallery-closing a:hover {
  transform: translateY(-3px);
  background: #6b6b6b;
}

/* LIGHTBOX */

.uma-gallery-lightbox {
  position: fixed;
  z-index: 99999;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 40px;
  background: rgba(23,23,23, .94);
  backdrop-filter: blur(10px);
}

.uma-gallery-lightbox[hidden] {
  display: none;
}

.uma-gallery-lightbox img {
  max-width: min(1200px, 94vw);
  max-height: 88vh;
  border-radius: 18px;
  object-fit: contain;
  box-shadow: 0 30px 100px rgba(0,0,0, .45);
  animation: umaGalleryLightboxIn .3s ease;
}

.uma-gallery-lightbox-close {
  position: absolute;
  top: 22px;
  right: 26px;
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border: 1px solid rgba(255,255,255, .25);
  border-radius: 50%;
  background: rgba(255,255,255, .08);
  color: #fff;
  cursor: pointer;
  font-size: 28px;
}

@keyframes umaGalleryLightboxIn {
  from {
    opacity: 0;
    transform: scale(.94);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

@media (max-width: 900px) {
  .uma-gallery-heading {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .uma-gallery-mosaic {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(3, 250px);
  }

  .uma-gallery-mosaic-item-1,
  .uma-gallery-mosaic-item-4 {
    grid-column: auto;
    grid-row: auto;
  }

  .uma-gallery-stack-card,
  .uma-gallery-stack-card:nth-child(even) {
    grid-template-columns: 1fr;
  }

  .uma-gallery-stack-card:nth-child(even) .uma-gallery-stack-image {
    order: 0;
  }

  .uma-gallery-stack-image {
    height: 320px;
  }
}

@media (max-width: 760px) {
  .uma-gallery-video-section {
    height: auto;
    min-height: 0;
    overflow: hidden;
  }

  .uma-gallery-video {
    position: relative;
    top: auto;
    right: auto;
    left: auto;
    height: 78vh;
    min-height: 560px;
  }
}

@media (max-width: 620px) {
  .uma-gallery-editorial,
  .uma-gallery-accommodations {
    padding: 52px 0;
  }

  .uma-gallery-mosaic {
    grid-template-columns: 1fr;
    grid-template-rows: none;
  }

  .uma-gallery-mosaic-item {
    height: 310px;
  }

  .uma-gallery-video {
    min-height: 580px;
    height: 78vh;
  }

  .uma-gallery-video-overlay {
    background:
      linear-gradient(
        180deg,
        rgba(23,23,23, .25),
        rgba(23,23,23, .88)
      );
  }

  .uma-gallery-video-content {
    top: auto;
    bottom: 70px;
    transform: none;
  }

  .uma-gallery-video-content h2 br {
    display: none;
  }

  .uma-gallery-video-control {
    right: 18px;
    bottom: 18px;
  }

  .uma-gallery-stack-content {
    grid-template-columns: 35px 1fr;
    padding: 30px 22px;
  }

  .uma-gallery-stack-content a {
    grid-column: 1 / -1;
  }

  .uma-gallery-carousel-header {
    align-items: flex-start;
    flex-direction: column;
  }

  .uma-gallery-carousel-item {
    height: 400px;
  }

  .uma-gallery-closing .container {
    align-items: flex-start;
    flex-direction: column;
  }

  .uma-gallery-lightbox {
    padding: 18px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .uma-gallery-mosaic-item,
  .uma-gallery-stack-card,
  .uma-gallery-carousel-item {
    opacity: 1;
    transform: none;
    transition: none;
  }

  .uma-gallery-mosaic-item img,
  .uma-gallery-stack-image img,
  .uma-gallery-carousel-item img {
    transition: none;
  }
}

/* ===== PANORÁMICA SUBIDA DESDE EL ADMIN ===== */

.uma-junquillal-uploaded-panorama {
  width: 100%;
  margin: 0;
  background: #444444;
}

.uma-junquillal-uploaded-frame {
  position: relative;
  width: 100%;
  height: 520px;
  margin: 0;
  overflow: hidden;
  background: #444444;
}

.uma-junquillal-uploaded-frame > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition:
    transform 9s cubic-bezier(.2, .7, .2, 1),
    filter .6s ease;
}

.uma-junquillal-uploaded-frame:hover > img {
  transform: scale(1.05);
  filter: saturate(1.08);
}

.uma-junquillal-uploaded-shade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      90deg,
      rgba(23,23,23, .84) 0%,
      rgba(23,23,23, .48) 44%,
      rgba(23,23,23, .05) 80%
    );
}

.uma-junquillal-uploaded-frame figcaption {
  position: absolute;
  z-index: 2;
  top: 50%;
  right: 0;
  left: 0;
  transform: translateY(-50%);
  color: #ffffff;
}

.uma-junquillal-uploaded-frame figcaption > span {
  display: block;
  margin-bottom: 13px;
  color: #c8c8c8;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.uma-junquillal-uploaded-frame figcaption h2 {
  max-width: 720px;
  margin: 0;
  color: #ffffff;
  font-family: Georgia, serif;
  font-size: clamp(40px, 5vw, 68px);
  line-height: 1;
}

.uma-junquillal-uploaded-frame figcaption p {
  max-width: 560px;
  margin: 20px 0 26px;
  color: rgba(255,255,255, .80);
  font-size: 14px;
  line-height: 1.7;
}

.uma-junquillal-uploaded-frame figcaption a {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  gap: 16px;
  padding: 0 21px;
  border-radius: 999px;
  background: #6b6b6b;
  color: #ffffff;
  font-size: 12px;
  font-weight: 900;
  text-decoration: none;
  transition:
    transform .2s ease,
    background .2s ease;
}

.uma-junquillal-uploaded-frame figcaption a:hover {
  transform: translateY(-3px);
  background: #6b6b6b;
}

@media (max-width: 680px) {
  .uma-junquillal-uploaded-frame {
    height: 590px;
  }

  .uma-junquillal-uploaded-shade {
    background:
      linear-gradient(
        180deg,
        rgba(23,23,23, .10) 10%,
        rgba(23,23,23, .88) 84%
      );
  }

  .uma-junquillal-uploaded-frame figcaption {
    top: auto;
    bottom: 65px;
    transform: none;
  }
}

/* =====================================================
   HERO VILLAS PERRO LOCO — PANTALLA COMPLETA + RESERVAS
   ===================================================== */

.uma-full-hero {
  position: relative;
  min-height: calc(100vh - 112px);
  overflow: hidden;
  isolation: isolate;
  background: #050505;
}

.uma-full-hero-slide {
  position: absolute;
  inset: 0;
  z-index: -3;
  width: 100%;
  height: 100%;
  opacity: 0;
  transform: scale(1.06);
  background-size: cover;
  background-position: center;
  transition: opacity 1s ease, transform 7s ease;
}

.uma-full-hero-slide.active {
  opacity: 1;
  transform: scale(1);
}

.uma-full-hero-overlay {
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    linear-gradient(
      90deg,
      rgba(0,0,0, .78) 0%,
      rgba(0,0,0, .48) 43%,
      rgba(0,0,0, .30) 68%,
      rgba(0,0,0, .46) 100%
    ),
    linear-gradient(
      180deg,
      rgba(0,0,0, .10),
      rgba(0,0,0, .32)
    );
}

.uma-full-hero-content {
  min-height: calc(100vh - 112px);
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(340px, .85fr);
  align-items: center;
  gap: clamp(35px, 6vw, 90px);
  padding-top: 60px;
  padding-bottom: 75px;
}

.uma-full-hero-copy {
  max-width: 760px;
  color: #fff;
}

.uma-full-eyebrow {
  display: inline-flex;
  padding: 9px 15px;
  border: 1px solid rgba(255,255,255, .40);
  border-radius: 999px;
  background: rgba(0,0,0, .26);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
  backdrop-filter: blur(8px);
}

.uma-full-hero h1 {
  max-width: 780px;
  margin: 22px 0 18px;
  color: #fff;
  font-size: clamp(52px, 7.2vw, 102px);
  line-height: .93;
  letter-spacing: -.055em;
  text-wrap: balance;
}

.uma-full-hero-copy > p {
  max-width: 650px;
  margin: 0;
  color: rgba(255,255,255, .90);
  font-size: clamp(17px, 1.5vw, 21px);
  line-height: 1.6;
}

.uma-full-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 13px;
  margin-top: 29px;
}

.uma-full-primary,
.uma-full-secondary {
  display: inline-flex;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  padding: 13px 22px;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 800;
  transition: transform .2s ease, background .2s ease;
}

.uma-full-primary {
  background: #fff;
  color: #111;
}

.uma-full-secondary {
  border: 1px solid rgba(255,255,255, .45);
  background: rgba(255,255,255, .12);
  color: #fff;
  backdrop-filter: blur(8px);
}

.uma-full-primary:hover,
.uma-full-secondary:hover {
  transform: translateY(-2px);
}

.uma-full-booking-card {
  justify-self: end;
  width: min(440px, 100%);
  padding: 30px;
  border: 1px solid rgba(255,255,255, .55);
  border-radius: 25px;
  background: rgba(255,255,255, .94);
  color: #121212;
  box-shadow: 0 30px 70px rgba(0,0,0, .30);
  backdrop-filter: blur(18px);
}

.uma-full-card-label {
  display: inline-flex;
  margin-bottom: 11px;
  color: #6b6b6b;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.uma-full-booking-card h2 {
  margin: 0 0 8px;
  color: #111;
  font-size: 30px;
  line-height: 1.08;
}

.uma-full-booking-card > p {
  margin: 0 0 22px;
  color: #656565;
  font-size: 14px;
  line-height: 1.55;
}

.uma-full-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 13px;
}

.uma-full-field {
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.uma-full-field label {
  color: #444;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.uma-full-field input,
.uma-full-field select {
  width: 100%;
  min-height: 48px;
  padding: 11px 12px;
  border: 1px solid #dedede;
  border-radius: 13px;
  background: #fff;
  color: #161616;
  font-size: 14px;
}

.uma-full-booking-card button {
  width: 100%;
  min-height: 51px;
  margin-top: 16px;
  border: 0;
  border-radius: 999px;
  background: #050505;
  color: #fff;
  font-size: 15px;
  font-weight: 900;
  cursor: pointer;
}

.uma-full-booking-card button:hover {
  background: #252525;
}

.uma-full-dots {
  position: absolute;
  z-index: 5;
  right: 5%;
  bottom: 27px;
  display: flex;
  gap: 9px;
}

.uma-full-dots .uma-two-dot {
  width: 11px;
  height: 11px;
  min-width: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255, .48);
  color: transparent;
  font-size: 0;
  cursor: pointer;
  transition: width .25s ease, background .25s ease;
}

.uma-full-dots .uma-two-dot.active {
  width: 38px;
  background: #fff;
}

@media (max-width: 980px) {
  .uma-full-hero,
  .uma-full-hero-content {
    min-height: auto;
  }

  .uma-full-hero-content {
    grid-template-columns: 1fr;
    padding-top: 90px;
    padding-bottom: 90px;
  }

  .uma-full-booking-card {
    justify-self: start;
  }
}

@media (max-width: 600px) {
  .uma-full-hero-content {
    padding-top: 65px;
    padding-bottom: 80px;
  }

  .uma-full-hero h1 {
    font-size: clamp(44px, 14vw, 66px);
  }

  .uma-full-form-grid {
    grid-template-columns: 1fr;
  }

  .uma-full-booking-card {
    padding: 23px;
    border-radius: 20px;
  }

  .uma-full-dots {
    right: auto;
    left: 50%;
    transform: translateX(-50%);
  }
}

/* =====================================================
   BOTONES HERO COLORES DEL LOGO VILLAS PERRO LOCO
   ===================================================== */

.uma-full-primary {
  background: #6b6b6b !important;
  border: 1px solid #6b6b6b !important;
  color: #050505 !important;
  box-shadow: 0 14px 32px rgba(200,200,200, .32);
}

.uma-full-primary:hover {
  background: #6b6b6b !important;
  border-color: #6b6b6b !important;
  color: #050505 !important;
}

.uma-full-secondary {
  background: rgba(5,5,5, .78) !important;
  border: 1px solid rgba(200,200,200, .85) !important;
  color: #ffffff !important;
}

.uma-full-secondary:hover {
  background: #050505 !important;
  border-color: #6b6b6b !important;
  color: #6b6b6b !important;
}

.uma-full-booking-card button {
  background: #6b6b6b !important;
  border: 1px solid #6b6b6b !important;
  color: #050505 !important;
  box-shadow: 0 12px 28px rgba(200,200,200, .28);
}

.uma-full-booking-card button:hover {
  background: #050505 !important;
  border-color: #050505 !important;
  color: #6b6b6b !important;
}


/* ===== COLORES REALES VILLAS PERRO LOCO ===== */

:root {
  --uma-turquoise: #a0a0a0;
  --uma-#6b6b6b: #6b6b6b;
  --uma-dark-blue: #444444;
  --uma-light: #ffffff;
}

.uma-full-primary,
.uma-full-booking-card button {
  background: var(--uma-#6b6b6b) !important;
  border-color: var(--uma-#6b6b6b) !important;
  color: #ffffff !important;
  box-shadow: 0 12px 28px rgba(160,160,160,.30) !important;
}

.uma-full-primary:hover,
.uma-full-booking-card button:hover {
  background: var(--uma-turquoise) !important;
  border-color: var(--uma-turquoise) !important;
  color: #ffffff !important;
}

.uma-full-secondary {
  background: var(--uma-turquoise) !important;
  border-color: var(--uma-turquoise) !important;
  color: #ffffff !important;
}

.uma-full-secondary:hover {
  background: var(--uma-dark-blue) !important;
  border-color: var(--uma-dark-blue) !important;
  color: #ffffff !important;
}

.uma-full-card-label,
.uma-full-booking-card h2 {
  color: var(--uma-dark-blue) !important;
}

.uma-full-booking-card {
  border-top: 6px solid var(--uma-turquoise) !important;
}

.uma-full-dots .uma-two-dot.active {
  background: var(--uma-#6b6b6b) !important;
}

.uma-full-eyebrow {
  background: rgba(160,160,160,.88) !important;
  border-color: var(--uma-turquoise) !important;
  color: #ffffff !important;
}

/* =====================================================
   HERO FINAL VILLAS PERRO LOCO VIDEO
   ===================================================== */

.uma-full-hero {
  position: relative;
  min-height: calc(100vh - 112px);
  overflow: hidden;
  isolation: isolate;
  background: #000;
}

.uma-full-hero-video-wrap {
  position: absolute;
  inset: 0;
  z-index: -3;
  overflow: hidden;
}

.uma-full-hero-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.uma-full-hero-overlay {
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    linear-gradient(
      90deg,
      rgba(0,0,0, .62) 0%,
      rgba(0,0,0, .35) 45%,
      rgba(0,0,0, .42) 100%
    );
}

.uma-full-hero-content {
  min-height: calc(100vh - 112px);
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(340px, .85fr);
  align-items: center;
  gap: clamp(35px, 6vw, 90px);
  padding-top: 60px;
  padding-bottom: 75px;
}

.uma-full-hero-copy {
  max-width: 760px;
  color: #fff;
}

.uma-full-eyebrow {
  display: inline-flex;
  padding: 9px 15px;
  border-radius: 999px;
  background: #a0a0a0;
  border: 1px solid #a0a0a0;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.uma-full-hero h1 {
  margin: 22px 0 18px;
  color: #fff;
  font-size: clamp(54px, 8vw, 110px);
  line-height: .92;
  letter-spacing: -.05em;
}

.uma-full-hero-copy > p {
  max-width: 650px;
  margin: 0;
  color: rgba(255,255,255,.92);
  font-size: clamp(17px, 1.5vw, 21px);
  line-height: 1.6;
}

.uma-full-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 13px;
  margin-top: 28px;
}

.uma-full-primary,
.uma-full-secondary {
  display: inline-flex;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  padding: 13px 22px;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 800;
  transition: .2s ease;
}

.uma-full-primary {
  background: #6b6b6b;
  border: 1px solid #6b6b6b;
  color: #fff;
  box-shadow: 0 12px 28px rgba(160,160,160,.30);
}

.uma-full-primary:hover {
  background: #6b6b6b;
  border-color: #6b6b6b;
  color: #fff;
  transform: translateY(-2px);
}

.uma-full-secondary {
  background: #a0a0a0;
  border: 1px solid #a0a0a0;
  color: #fff;
}

.uma-full-secondary:hover {
  background: #444444;
  border-color: #444444;
  color: #fff;
  transform: translateY(-2px);
}

.uma-full-booking-card {
  justify-self: end;
  width: min(440px, 100%);
  padding: 30px;
  border-radius: 25px;
  background: rgba(255,255,255,.95);
  color: #121212;
  box-shadow: 0 30px 70px rgba(0,0,0,.30);
  border-top: 6px solid #a0a0a0;
}

.uma-full-card-label {
  display: inline-flex;
  margin-bottom: 11px;
  color: #444444;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.uma-full-booking-card h2 {
  margin: 0 0 8px;
  color: #444444;
  font-size: 30px;
  line-height: 1.08;
}

.uma-full-booking-card > p {
  margin: 0 0 22px;
  color: #656565;
  font-size: 14px;
  line-height: 1.55;
}

.uma-full-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 13px;
}

.uma-full-field {
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.uma-full-field label {
  color: #444444;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.uma-full-field input,
.uma-full-field select {
  width: 100%;
  min-height: 48px;
  padding: 11px 12px;
  border: 1px solid #e8e8e8;
  border-radius: 13px;
  background: #fff;
  color: #161616;
  font-size: 14px;
}

.uma-full-booking-card button {
  width: 100%;
  min-height: 51px;
  margin-top: 16px;
  border: 0;
  border-radius: 999px;
  background: #6b6b6b;
  color: #fff;
  font-size: 15px;
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 12px 28px rgba(160,160,160,.30);
}

.uma-full-booking-card button:hover {
  background: #6b6b6b;
}

@media (max-width: 980px) {
  .uma-full-hero,
  .uma-full-hero-content {
    min-height: auto;
  }

  .uma-full-hero-content {
    grid-template-columns: 1fr;
    padding-top: 90px;
    padding-bottom: 90px;
  }

  .uma-full-booking-card {
    justify-self: start;
  }
}

@media (max-width: 600px) {
  .uma-full-hero-content {
    padding-top: 65px;
    padding-bottom: 80px;
  }

  .uma-full-hero h1 {
    font-size: clamp(44px, 14vw, 66px);
  }

  .uma-full-form-grid {
    grid-template-columns: 1fr;
  }

  .uma-full-booking-card {
    padding: 23px;
    border-radius: 20px;
  }
}


/* ===== AJUSTE FINAL: MENÚ MÁS COMPACTO ===== */

.uma-two-nav {
  min-height: 88px !important;
  padding-top: 4px !important;
  padding-bottom: 4px !important;
}

.uma-two-header {
  min-height: auto !important;
}

.uma-two-logo img {
  width: 230px !important;
  max-height: 78px !important;
  height: auto !important;
}

@media (max-width: 980px) {
  .uma-two-nav {
    min-height: 82px !important;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
  }

  .uma-two-logo img {
    width: 190px !important;
    max-height: 70px !important;
  }
}

@media (max-width: 600px) {
  .uma-two-nav {
    min-height: 74px !important;
  }

  .uma-two-logo img {
    width: 160px !important;
    max-height: 62px !important;
  }
}


/* ===== CORRECCIÓN: BARRA COMPACTA, LOGO GRANDE ===== */

.uma-two-nav {
  min-height: 88px !important;
  padding-top: 4px !important;
  padding-bottom: 4px !important;
}

.uma-two-logo img {
  width: 230px !important;
  height: auto !important;
  max-width: none !important;
  max-height: 80px !important;
  object-fit: contain !important;
}

@media (max-width: 980px) {
  .uma-two-nav {
    min-height: 82px !important;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
  }

  .uma-two-logo img {
    width: 210px !important;
    max-height: 74px !important;
  }
}

@media (max-width: 600px) {
  .uma-two-nav {
    min-height: 74px !important;
  }

  .uma-two-logo img {
    width: 180px !important;
    max-height: 66px !important;
  }
}


/* ===== CORRECCIÓN: BARRA COMPACTA, LOGO GRANDE ===== */

.uma-two-nav {
  min-height: 88px !important;
  padding-top: 4px !important;
  padding-bottom: 4px !important;
}

.uma-two-logo img {
  width: 230px !important;
  height: auto !important;
  max-width: none !important;
  max-height: 80px !important;
  object-fit: contain !important;
}

@media (max-width: 980px) {
  .uma-two-nav {
    min-height: 82px !important;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
  }

  .uma-two-logo img {
    width: 210px !important;
    max-height: 74px !important;
  }
}

@media (max-width: 600px) {
  .uma-two-nav {
    min-height: 74px !important;
  }

  .uma-two-logo img {
    width: 180px !important;
    max-height: 66px !important;
  }
}


/* ===== REPARACIÓN FINAL LOGO MENÚ ===== */

/* Barra blanca compacta */
.uma-two-header {
  min-height: auto !important;
}

.uma-two-nav {
  min-height: 82px !important;
  padding-top: 2px !important;
  padding-bottom: 2px !important;
  overflow: visible !important;
}

/* Logo original, grande, sin escalas ni límites */
.uma-two-logo {
  width: auto !important;
  height: auto !important;
  display: flex !important;
  align-items: center !important;
  overflow: visible !important;
}

.uma-two-logo img {
  display: block !important;
  width: 230px !important;
  height: auto !important;
  max-width: none !important;
  max-height: none !important;
  transform: none !important;
  object-fit: contain !important;
}

/* Móvil */
@media (max-width: 600px) {
  .uma-two-nav {
    min-height: 74px !important;
  }

  .uma-two-logo img {
    width: 180px !important;
  }
}


/* ===== MENÚ UN POCO MÁS GRANDE ===== */
.uma-two-menu a,
.uma-two-menu button,
.uma-two-nav .nav-link {
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: 0.03em !important;
}

@media (max-width: 980px) {
  .uma-two-menu a,
  .uma-two-menu button,
  .uma-two-nav .nav-link {
    font-size: 14px !important;
  }
}


/* =====================================================
   MENÚ LATERAL VILLAS PERRO LOCO
   ===================================================== */

.mobile-toggle {
  position: relative !important;
  z-index: 1003 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 48px !important;
  height: 48px !important;
  border: 1px solid rgba(255,255,255,.45) !important;
  border-radius: 50% !important;
  background: rgba(68,68,68,.78) !important;
  color: #fff !important;
  font-size: 23px !important;
  line-height: 1 !important;
  cursor: pointer !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

/* Panel lateral */
.uma-two-menu {
  position: fixed !important;
  z-index: 1005 !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: min(420px, 92vw) !important;
  height: 100dvh !important;
  padding: 24px 32px 30px !important;
  margin: 0 !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 0 !important;

  background:
    linear-gradient(
      145deg,
      rgba(23,23,23,.98),
      rgba(68,68,68,.98)
    ) !important;

  box-shadow: -24px 0 70px rgba(0,0,0,.28) !important;
  overflow-y: auto !important;

  transform: translateX(105%) !important;
  visibility: hidden !important;
  opacity: 0 !important;

  transition:
    transform .42s cubic-bezier(.22,.75,.25,1),
    opacity .28s ease,
    visibility .42s !important;
}

.uma-two-menu.open {
  transform: translateX(0) !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Encabezado del panel */
.uma-drawer-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 20px !important;
  min-height: 70px !important;
  margin-bottom: 22px !important;
  padding-bottom: 18px !important;
  border-bottom: 1px solid rgba(255,255,255,.17) !important;
}

.uma-drawer-head span {
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .18em !important;
}

.uma-drawer-close {
  width: 44px !important;
  height: 44px !important;
  border: 1px solid rgba(255,255,255,.25) !important;
  border-radius: 50% !important;
  background: transparent !important;
  color: #fff !important;
  font-size: 30px !important;
  line-height: 1 !important;
  cursor: pointer !important;
}

/* Enlaces grandes */
.uma-two-menu > a:not(.uma-two-book) {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  min-height: 64px !important;
  padding: 8px 2px !important;
  border-bottom: 1px solid rgba(255,255,255,.16) !important;
  color: #fff !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  letter-spacing: .015em !important;
  text-decoration: none !important;
}

.uma-two-menu > a:not(.uma-two-book)::after {
  content: "→";
  color: #a0a0a0;
  font-size: 21px;
  transition: transform .2s ease;
}

.uma-two-menu > a:not(.uma-two-book):hover::after {
  transform: translateX(5px);
}

/* Botón grande inferior */
.uma-two-menu .uma-two-book {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  min-height: 74px !important;
  margin-top: auto !important;
  padding: 18px 22px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #6b6b6b !important;
  color: #fff !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

.uma-two-menu .uma-two-book::after {
  content: "→";
  font-size: 24px;
}

/* Fondo exterior */
.uma-drawer-overlay {
  position: fixed !important;
  z-index: 1004 !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
  padding: 0 !important;
  background: rgba(23,23,23,.58) !important;
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);

  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: opacity .3s ease, visibility .3s ease !important;
}

body.uma-drawer-open .uma-drawer-overlay {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

body.uma-drawer-open {
  overflow: hidden !important;
}

/* En teléfono ocupa casi toda la pantalla */
@media (max-width: 600px) {
  .uma-two-menu {
    width: 92vw !important;
    padding: 20px 24px 24px !important;
  }

  .uma-two-menu > a:not(.uma-two-book) {
    min-height: 58px !important;
    font-size: 17px !important;
  }
}


/* =====================================================
   HEADER TRANSPARENTE SOBRE EL HERO
   ===================================================== */

body.uma-two {
  margin: 0 !important;
}

/* Quitar totalmente la barra blanca */
.uma-two-header {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  z-index: 1002 !important;

  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Navegación flotando dentro del video */
.uma-two-nav {
  width: 100% !important;
  max-width: 1320px !important;
  min-height: 104px !important;
  height: auto !important;
  margin: 0 auto !important;
  padding: 14px 28px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;

  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}

/* Logo sobre el video */
.uma-two-logo {
  position: relative !important;
  z-index: 1003 !important;
  width: auto !important;
  height: auto !important;
  flex: 0 0 auto !important;
  overflow: visible !important;
}

.uma-two-logo img {
  position: static !important;
  display: block !important;
  width: 215px !important;
  height: auto !important;
  max-width: none !important;
  max-height: 88px !important;
  transform: none !important;
  object-fit: contain !important;

  filter:
    drop-shadow(0 2px 2px rgba(0,0,0,.20))
    drop-shadow(0 8px 20px rgba(0,0,0,.18)) !important;
}

/* Hamburguesa flotante */
.mobile-toggle {
  position: relative !important;
  z-index: 1006 !important;
  width: 50px !important;
  height: 50px !important;
  margin-left: auto !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border: 1px solid rgba(255,255,255,.50) !important;
  border-radius: 50% !important;
  background: rgba(68,68,68,.68) !important;
  color: #ffffff !important;
  box-shadow: 0 8px 28px rgba(0,0,0,.18) !important;

  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

/* Evitar cualquier fondo blanco heredado */
.uma-two-header::before,
.uma-two-header::after,
.uma-two-nav::before,
.uma-two-nav::after {
  display: none !important;
  content: none !important;
}

/* El panel lateral continúa funcionando */
.uma-two-menu {
  z-index: 1010 !important;
}

.uma-drawer-overlay {
  z-index: 1009 !important;
}

/* Móvil */
@media (max-width: 700px) {
  .uma-two-nav {
    min-height: 86px !important;
    padding: 10px 16px !important;
  }

  .uma-two-logo img {
    width: 165px !important;
    max-height: 70px !important;
  }

  .mobile-toggle {
    width: 46px !important;
    height: 46px !important;
    font-size: 21px !important;
  }
}


/* ===== CORRECCIÓN POSICIÓN HAMBURGUESA Y FONDO DEL DRAWER ===== */

/* Llevar hamburguesa más hacia la derecha */
.uma-two-nav {
  max-width: none !important;
  width: 100% !important;
  padding-left: 28px !important;
  padding-right: 28px !important;
}

.mobile-toggle {
  margin-left: auto !important;
  margin-right: 0 !important;
  transform: none !important;
}

/* Quitar el efecto borroso exagerado */
.uma-drawer-overlay {
  background: rgba(23,23,23,.48) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Mantener el panel nítido */
.uma-two-menu {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Ajuste escritorio */
@media (min-width: 701px) {
  .uma-two-nav {
    padding-left: 40px !important;
    padding-right: 40px !important;
  }

  .mobile-toggle {
    position: absolute !important;
    right: 40px !important;
    top: 22px !important;
  }
}

/* Ajuste móvil */
@media (max-width: 700px) {
  .uma-two-nav {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .mobile-toggle {
    position: absolute !important;
    right: 16px !important;
    top: 18px !important;
  }
}


/* ===== PANEL LATERAL SIEMPRE ENCIMA, SIN OSCURECER ===== */

.uma-drawer-overlay {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  z-index: -1 !important;
}

.uma-two-menu {
  z-index: 99999 !important;
  opacity: 1 !important;
  filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.uma-two-menu.open {
  z-index: 99999 !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.uma-drawer-head,
.uma-two-menu a,
.uma-two-menu .uma-two-book {
  position: relative !important;
  z-index: 100000 !important;
  opacity: 1 !important;
  filter: none !important;
}

.mobile-toggle {
  z-index: 100001 !important;
}


/* ===== CORRECCIÓN: HAMBURGUESA NO DEBE QUEDAR SOBRE EL PANEL ===== */

.mobile-toggle {
  z-index: 1006 !important;
  transition: opacity .2s ease, visibility .2s ease !important;
}

body.uma-drawer-open .mobile-toggle {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.uma-two-menu {
  z-index: 99999 !important;
}

.uma-drawer-close {
  position: relative !important;
  z-index: 100001 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* ===== HERO VIDEO FULL SCREEN ===== */

.uma-hero,
.hero,
.hero-video-section,
.uma-two-hero {
  position: relative !important;
  width: 100% !important;
  min-height: 100vh !important;
  height: 100vh !important;
  overflow: hidden !important;
}

/* Compatibilidad móvil moderna */
@supports (height: 100dvh) {
  .uma-hero,
  .hero,
  .hero-video-section,
  .uma-two-hero {
    min-height: 100dvh !important;
    height: 100dvh !important;
  }
}

/* Video cubriendo toda la pantalla */
.uma-hero video,
.hero video,
.hero-video-section video,
.uma-two-hero video,
.hero-bg-video,
.uma-hero-video {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
}

/* Contenido centrado verticalmente */
.uma-hero-content,
.hero-content,
.uma-two-hero-content {
  position: relative !important;
  z-index: 3 !important;
  min-height: 100vh !important;
  display: flex !important;
  align-items: center !important;
}

@supports (height: 100dvh) {
  .uma-hero-content,
  .hero-content,
  .uma-two-hero-content {
    min-height: 100dvh !important;
  }
}

/* El siguiente bloque comienza después del hero */
.uma-hero + section,
.hero + section,
.hero-video-section + section,
.uma-two-hero + section {
  position: relative !important;
  z-index: 2 !important;
}

/* Ajuste móvil */
@media (max-width: 700px) {
  .uma-hero,
  .hero,
  .hero-video-section,
  .uma-two-hero {
    min-height: 100svh !important;
    height: 100svh !important;
  }

  .uma-hero-content,
  .hero-content,
  .uma-two-hero-content {
    min-height: 100svh !important;
    padding-top: 90px !important;
    padding-bottom: 28px !important;
  }
}


/* =====================================================
   HERO REAL FULL SCREEN
   ===================================================== */

html,
body {
  margin: 0 !important;
  padding: 0 !important;
}

/* Sección completa de una pantalla */
.uma-full-hero,
.uma-full-hero.uma-full-hero-video-mode {
  position: relative !important;
  width: 100% !important;
  height: 100vh !important;
  min-height: 100vh !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* Video y contenedor cubriendo todo */
.uma-full-hero-video-wrap {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  z-index: 0 !important;
  overflow: hidden !important;
}

.uma-full-hero-video {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
}

/* Capa oscura ocupando toda la pantalla */
.uma-full-hero-overlay {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 1 !important;
}

/* Texto y formulario centrados dentro de la pantalla */
.uma-full-hero-content {
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
  max-width: 1200px !important;
  height: 100% !important;
  min-height: 100vh !important;
  margin: 0 auto !important;
  padding-top: 105px !important;
  padding-bottom: 42px !important;
  display: grid !important;
  align-items: center !important;
}

/* La sección siguiente comienza después del alto completo */
.uma-full-hero + .uma-two-intro {
  margin-top: 0 !important;
}

/* Navegadores modernos */
@supports (height: 100dvh) {
  .uma-full-hero,
  .uma-full-hero.uma-full-hero-video-mode {
    height: 100dvh !important;
    min-height: 100dvh !important;
  }

  .uma-full-hero-content {
    min-height: 100dvh !important;
  }
}

/* Teléfono */
@media (max-width: 700px) {
  .uma-full-hero,
  .uma-full-hero.uma-full-hero-video-mode {
    height: 100svh !important;
    min-height: 100svh !important;
  }

  .uma-full-hero-content {
    min-height: 100svh !important;
    padding: 90px 18px 28px !important;
    align-content: center !important;
  }

  .uma-full-hero-video {
    object-position: center center !important;
  }
}


/* =====================================================
   HERO REAL FULL SCREEN
   ===================================================== */

html,
body {
  margin: 0 !important;
  padding: 0 !important;
}

/* Sección completa de una pantalla */
.uma-full-hero,
.uma-full-hero.uma-full-hero-video-mode {
  position: relative !important;
  width: 100% !important;
  height: 100vh !important;
  min-height: 100vh !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* Video y contenedor cubriendo todo */
.uma-full-hero-video-wrap {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  z-index: 0 !important;
  overflow: hidden !important;
}

.uma-full-hero-video {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
}

/* Capa oscura ocupando toda la pantalla */
.uma-full-hero-overlay {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 1 !important;
}

/* Texto y formulario centrados dentro de la pantalla */
.uma-full-hero-content {
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
  max-width: 1200px !important;
  height: 100% !important;
  min-height: 100vh !important;
  margin: 0 auto !important;
  padding-top: 105px !important;
  padding-bottom: 42px !important;
  display: grid !important;
  align-items: center !important;
}

/* La sección siguiente comienza después del alto completo */
.uma-full-hero + .uma-two-intro {
  margin-top: 0 !important;
}

/* Navegadores modernos */
@supports (height: 100dvh) {
  .uma-full-hero,
  .uma-full-hero.uma-full-hero-video-mode {
    height: 100dvh !important;
    min-height: 100dvh !important;
  }

  .uma-full-hero-content {
    min-height: 100dvh !important;
  }
}

/* Teléfono */
@media (max-width: 700px) {
  .uma-full-hero,
  .uma-full-hero.uma-full-hero-video-mode {
    height: 100svh !important;
    min-height: 100svh !important;
  }

  .uma-full-hero-content {
    min-height: 100svh !important;
    padding: 90px 18px 28px !important;
    align-content: center !important;
  }

  .uma-full-hero-video {
    object-position: center center !important;
  }
}


/* =====================================================
   SECCIÓN SURF FINAL:
   VIDEO PANORÁMICO ARRIBA + CONTENIDO BLANCO
   ===================================================== */

.uma-surf-section {
  position: relative !important;
  display: block !important;
  padding: 0 !important;
  background: #ffffff !important;
  overflow: hidden !important;
  isolation: auto !important;
}

/* Franja de video superior */
.uma-surf-video-bg {
  position: relative !important;
  inset: auto !important;
  z-index: 1 !important;

  display: block !important;
  width: 100% !important;
  height: 320px !important;
  min-height: 0 !important;

  overflow: hidden !important;
  pointer-events: none !important;
  background: #444444 !important;
}

.uma-surf-video-bg video {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;

  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;

  object-fit: cover !important;
  object-position: center 52% !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Ocultar cualquier iframe de video antiguo */
.uma-surf-video-bg iframe {
  display: none !important;
}

/* Sombra suave sobre el video */
.uma-surf-video-overlay {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;

  background:
    linear-gradient(
      180deg,
      rgba(68,68,68,.10) 0%,
      rgba(68,68,68,.18) 55%,
      rgba(68,68,68,.42) 100%
    ) !important;
}

/* Área blanca inferior */
.uma-surf-section > .container {
  position: relative !important;
  z-index: 2 !important;

  width: 100% !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding-top: 82px !important;
  padding-bottom: 92px !important;

  background: #ffffff !important;
}

/* Encabezado */
.uma-surf-heading {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-end !important;
  gap: 48px !important;
  margin-bottom: 42px !important;
}

.uma-surf-section .uma-two-label {
  color: #a0a0a0 !important;
}

.uma-surf-section .uma-surf-heading h2 {
  margin: 0 !important;
  max-width: 760px !important;

  color: #444444 !important;
  text-shadow: none !important;

  font-family: Georgia, serif !important;
  font-size: clamp(38px, 5vw, 62px) !important;
  font-weight: 500 !important;
  line-height: 1.06 !important;
}

.uma-surf-section .uma-surf-heading p {
  max-width: 680px !important;
  margin: 18px 0 0 !important;

  color: #707070 !important;
  font-size: 17px !important;
  line-height: 1.7 !important;
}

/* Botón */
.uma-surf-section .uma-surf-heading > a {
  flex-shrink: 0 !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-height: 48px !important;
  padding: 12px 22px !important;

  border: 0 !important;
  border-radius: 999px !important;

  background: #6b6b6b !important;
  color: #ffffff !important;

  font-size: 14px !important;
  font-weight: 800 !important;
  text-decoration: none !important;

  box-shadow: 0 12px 28px rgba(160,160,160,.24) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.uma-surf-section .uma-surf-heading > a:hover {
  background: #a0a0a0 !important;
  color: #ffffff !important;
}

/* Tarjeta del pronóstico */
.uma-surf-widget {
  position: relative !important;
  z-index: 3 !important;

  width: 100% !important;
  padding: 22px !important;

  border: 1px solid #e8e8e8 !important;
  border-radius: 24px !important;

  background: #ffffff !important;
  box-shadow: 0 22px 60px rgba(68,68,68,.12) !important;

  overflow-x: auto !important;
  overflow-y: hidden !important;

  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Reducir un poco la altura del pronóstico */
.uma-surf-widget iframe {
  display: block !important;
  width: 100% !important;
  min-width: 780px !important;
  height: 360px !important;

  border: 0 !important;
  background: #ffffff !important;
}

/* Crédito */
.uma-surf-credit,
.uma-surf-section .uma-surf-credit {
  margin: 15px 0 0 !important;
  color: #707070 !important;
  font-size: 12px !important;
  text-align: right !important;
}

/* Teléfono */
@media (max-width: 700px) {
  .uma-surf-video-bg {
    height: 220px !important;
  }

  .uma-surf-video-bg video {
    object-position: center center !important;
  }

  .uma-surf-section > .container {
    padding: 58px 18px 66px !important;
  }

  .uma-surf-heading {
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 24px !important;
    margin-bottom: 30px !important;
  }

  .uma-surf-section .uma-surf-heading h2 {
    font-size: 38px !important;
  }

  .uma-surf-section .uma-surf-heading > a {
    width: 100% !important;
  }

  .uma-surf-widget {
    padding: 10px !important;
    border-radius: 16px !important;
  }

  .uma-surf-widget iframe {
    height: 340px !important;
  }

  .uma-surf-credit,
  .uma-surf-section .uma-surf-credit {
    text-align: left !important;
  }
}


/* =====================================================
   SURF MÁS COMPACTO Y SIMPLE
   ===================================================== */

/* Video superior más bajo */
.uma-surf-video-bg {
  height: 190px !important;
}

/* Menos espacio en toda la sección */
.uma-surf-section > .container {
  padding-top: 45px !important;
  padding-bottom: 52px !important;
}

/* Encabezado más compacto */
.uma-surf-heading {
  gap: 28px !important;
  margin-bottom: 26px !important;
}

.uma-surf-section .uma-surf-heading h2 {
  max-width: 620px !important;
  font-size: clamp(32px, 4vw, 46px) !important;
  line-height: 1.08 !important;
}

.uma-surf-section .uma-surf-heading p {
  max-width: 580px !important;
  margin-top: 12px !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
}

/* Etiqueta más pequeña */
.uma-surf-section .uma-two-label {
  font-size: 11px !important;
  letter-spacing: .12em !important;
}

/* Botón más sencillo */
.uma-surf-section .uma-surf-heading > a {
  min-height: 42px !important;
  padding: 10px 17px !important;
  font-size: 13px !important;
  box-shadow: none !important;
}

/* Tarjeta menos grande */
.uma-surf-widget {
  padding: 14px !important;
  border-radius: 16px !important;
  box-shadow: 0 12px 32px rgba(68,68,68,.09) !important;
}

.uma-surf-widget iframe {
  height: 285px !important;
}

/* Crédito más cerca */
.uma-surf-credit,
.uma-surf-section .uma-surf-credit {
  margin-top: 10px !important;
}

/* Móvil */
@media (max-width: 700px) {
  .uma-surf-video-bg {
    height: 145px !important;
  }

  .uma-surf-section > .container {
    padding-top: 36px !important;
    padding-bottom: 42px !important;
  }

  .uma-surf-heading {
    gap: 18px !important;
    margin-bottom: 22px !important;
  }

  .uma-surf-section .uma-surf-heading h2 {
    font-size: 31px !important;
  }

  .uma-surf-section .uma-surf-heading p {
    font-size: 14px !important;
  }

  .uma-surf-widget iframe {
    height: 270px !important;
  }
}


/* =====================================================
   SURF CORREGIDO:
   VIDEO ALTO + INFORMACIÓN EN UNA SOLA FILA
   ===================================================== */

/* Recuperar altura del video */
.uma-surf-video-bg {
  height: 280px !important;
}

/* Bloque blanco horizontal y compacto */
.uma-surf-section > .container {
  max-width: 1280px !important;
  padding-top: 34px !important;
  padding-bottom: 38px !important;

  display: grid !important;
  grid-template-columns: minmax(250px, 330px) minmax(0, 1fr) !important;
  grid-template-areas:
    "heading widget"
    "credit credit" !important;
  align-items: center !important;
  gap: 30px !important;
}

/* Columna izquierda */
.uma-surf-heading {
  grid-area: heading !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 0 !important;

  margin: 0 !important;
}

.uma-surf-heading > div {
  width: 100% !important;
}

.uma-surf-section .uma-two-label {
  margin-bottom: 8px !important;
  font-size: 10px !important;
  letter-spacing: .13em !important;
}

.uma-surf-section .uma-surf-heading h2 {
  max-width: 330px !important;
  margin: 0 !important;

  font-size: 31px !important;
  line-height: 1.05 !important;
}

.uma-surf-section .uma-surf-heading p {
  max-width: 320px !important;
  margin: 10px 0 0 !important;

  font-size: 13px !important;
  line-height: 1.45 !important;
}

/* Botón debajo del texto, pequeño */
.uma-surf-section .uma-surf-heading > a {
  width: auto !important;
  min-height: 36px !important;
  margin-top: 15px !important;
  padding: 8px 14px !important;

  font-size: 11px !important;
  box-shadow: none !important;
}

/* Widget a la derecha, en la misma línea */
.uma-surf-widget {
  grid-area: widget !important;

  width: 100% !important;
  height: 205px !important;
  min-width: 0 !important;

  margin: 0 !important;
  padding: 8px !important;

  border-radius: 14px !important;
  overflow: hidden !important;
  box-shadow: 0 10px 26px rgba(68,68,68,.09) !important;
}

/*
  El widget externo tiene un ancho interno grande.
  Lo reducimos visualmente para mostrarlo completo
  dentro de una sola fila.
*/
.uma-surf-widget iframe {
  display: block !important;

  width: 138% !important;
  min-width: 0 !important;
  height: 265px !important;

  border: 0 !important;

  transform: scale(.72) !important;
  transform-origin: top left !important;
}

/* Crédito debajo de toda la fila */
.uma-surf-credit,
.uma-surf-section .uma-surf-credit {
  grid-area: credit !important;

  margin: -14px 0 0 !important;
  font-size: 10px !important;
  text-align: right !important;
}

/* Tableta y teléfono: vuelve a apilarse para no cortarse */
@media (max-width: 850px) {
  .uma-surf-video-bg {
    height: 230px !important;
  }

  .uma-surf-section > .container {
    display: block !important;
    padding: 30px 18px 36px !important;
  }

  .uma-surf-heading {
    margin-bottom: 22px !important;
  }

  .uma-surf-section .uma-surf-heading h2 {
    max-width: none !important;
    font-size: 30px !important;
  }

  .uma-surf-section .uma-surf-heading p {
    max-width: none !important;
  }

  .uma-surf-widget {
    height: 230px !important;
  }

  .uma-surf-widget iframe {
    width: 155% !important;
    height: 300px !important;
    transform: scale(.64) !important;
  }

  .uma-surf-credit,
  .uma-surf-section .uma-surf-credit {
    margin-top: 8px !important;
    text-align: left !important;
  }
}


/* ===== AJUSTE SURF: VIDEO UN POCO MÁS ALTO ===== */

.uma-surf-video-bg {
  height: 340px !important;
}

.uma-surf-video-bg video {
  object-position: center 52% !important;
}

@media (max-width: 850px) {
  .uma-surf-video-bg {
    height: 270px !important;
  }
}

@media (max-width: 600px) {
  .uma-surf-video-bg {
    height: 230px !important;
  }
}


/* ===== SURF PLAYA NEGRA: VIDEO 15 PX MÁS ALTO ===== */
.uma-surf-video-bg {
  height: 355px !important;
}

@media (max-width: 850px) {
  .uma-surf-video-bg {
    height: 285px !important;
  }
}

@media (max-width: 600px) {
  .uma-surf-video-bg {
    height: 245px !important;
  }
}


/* =====================================================
   ALOJAMIENTOS — DISEÑO TIPO CHOOSE YOUR PERFECT ROOM
   SOLO PRESENTACIÓN: NO CAMBIA INFORMACIÓN
   ===================================================== */

.uma-two-villas {
  padding: 105px 0 115px !important;
  background: #f7f8f8 !important;
}

/* Encabezado centrado */
.uma-two-villas .uma-two-section-head {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  max-width: 760px !important;
  margin: 0 auto 54px !important;
  text-align: center !important;
}

.uma-two-villas .uma-two-section-head > div {
  width: 100% !important;
}

.uma-two-villas .uma-two-label {
  display: block !important;
  margin-bottom: 10px !important;
  color: #a0a0a0 !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .17em !important;
  text-transform: uppercase !important;
}

.uma-two-villas .uma-two-section-head h2 {
  margin: 0 !important;
  color: #444444 !important;
  font-family: Georgia, serif !important;
  font-size: clamp(40px, 5vw, 58px) !important;
  font-weight: 500 !important;
  line-height: 1.08 !important;
}

.uma-two-villas .uma-two-section-head > a {
  margin-top: 8px !important;
  color: #6b6b6b !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

/* Dos tarjetas por fila */
.uma-two-villa-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 34px !important;
  border: 0 !important;
}

/* Tarjeta vertical */
.uma-two-villa-row,
.uma-two-villa-row:nth-child(even) {
  display: flex !important;
  flex-direction: column !important;
  grid-template-columns: none !important;
  min-height: 0 !important;
  overflow: hidden !important;

  border: 0 !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  box-shadow: 0 12px 34px rgba(68,68,68,.09) !important;

  transition:
    transform .28s ease,
    box-shadow .28s ease !important;
}

.uma-two-villa-row:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 22px 50px rgba(68,68,68,.14) !important;
}

/* Tercera tarjeta centrada */
.uma-two-villa-row:nth-child(3):last-child {
  grid-column: 1 / -1 !important;
  width: calc(50% - 17px) !important;
  justify-self: center !important;
}

/* Foto arriba */
.uma-two-villa-photo,
.uma-two-villa-row:nth-child(even) .uma-two-villa-photo {
  order: 0 !important;
  position: relative !important;
  display: block !important;
  width: 100% !important;
  min-height: 0 !important;
  height: 335px !important;

  background-position: center center !important;
  background-size: cover !important;
  overflow: hidden !important;

  transition: background-size .35s ease !important;
}

/* Número discreto */
.uma-two-villa-photo span {
  top: 18px !important;
  left: 18px !important;
  width: 38px !important;
  height: 38px !important;

  border-radius: 50% !important;
  background: rgba(255,255,255,.94) !important;
  color: #444444 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  box-shadow: 0 5px 18px rgba(0,0,0,.12) !important;
}

/* Información debajo */
.uma-two-villa-content {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  padding: 24px 25px 26px !important;
}

/* Nombre y precio */
.uma-two-villa-heading {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 18px !important;
}

.uma-two-villa-heading h3 {
  margin: 0 !important;
  color: #444444 !important;
  font-family: inherit !important;
  font-size: 21px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
}

.uma-two-villa-heading strong {
  flex-shrink: 0 !important;
  color: #6b6b6b !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}

/* Descripción */
.uma-two-villa-content > p {
  margin: 15px 0 17px !important;
  color: #707070 !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
}

/* Características pequeñas en una línea limpia */
.uma-two-tags {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px 14px !important;
  margin: 0 0 18px !important;
  padding-top: 13px !important;
  border-top: 1px solid #e8e8e8 !important;
}

.uma-two-tags span {
  position: relative !important;
  padding: 0 0 0 12px !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #707070 !important;
  font-size: 11px !important;
  font-weight: 600 !important;
}

.uma-two-tags span::before {
  content: "•" !important;
  position: absolute !important;
  left: 0 !important;
  color: #a0a0a0 !important;
}

/* Enlace inferior tipo flecha */
.uma-two-detail {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  margin-top: auto !important;
  padding-top: 15px !important;

  border-top: 1px solid #e8e8e8 !important;
  color: #444444 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

.uma-two-detail:hover {
  color: #6b6b6b !important;
}

/* Tableta */
@media (max-width: 900px) {
  .uma-two-villa-photo,
  .uma-two-villa-row:nth-child(even) .uma-two-villa-photo {
    height: 285px !important;
  }
}

/* Teléfono: una tarjeta por fila */
@media (max-width: 700px) {
  .uma-two-villas {
    padding: 72px 0 78px !important;
  }

  .uma-two-villas .uma-two-section-head {
    margin-bottom: 34px !important;
  }

  .uma-two-villas .uma-two-section-head h2 {
    font-size: 38px !important;
  }

  .uma-two-villa-list {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  .uma-two-villa-row:nth-child(3):last-child {
    grid-column: auto !important;
    width: 100% !important;
  }

  .uma-two-villa-photo,
  .uma-two-villa-row:nth-child(even) .uma-two-villa-photo {
    height: 255px !important;
  }

  .uma-two-villa-content {
    padding: 21px 20px 23px !important;
  }

  .uma-two-villa-heading {
    flex-direction: row !important;
  }

  .uma-two-villa-heading h3 {
    font-size: 19px !important;
  }
}


/* =====================================================
   EFECTOS FINOS EN TARJETAS DE ALOJAMIENTOS
   FOTO Y TEXTO SE MUEVEN DE FORMA INDEPENDIENTE
   ===================================================== */

/* La tarjeta completa ya no sube */
.uma-two-villa-row,
.uma-two-villa-row:hover {
  transform: none !important;
}

/* Contenedor de foto con recorte */
.uma-two-villa-photo {
  overflow: hidden !important;
  background-size: cover !important;
  background-position: center center !important;

  transition:
    background-size .65s cubic-bezier(.22,.61,.36,1),
    background-position .65s cubic-bezier(.22,.61,.36,1),
    filter .45s ease !important;
}

/* La foto se acerca suavemente */
.uma-two-villa-row:hover .uma-two-villa-photo {
  background-size: 108% !important;
  background-position: center 47% !important;
  filter: saturate(1.04) contrast(1.02) !important;
}

/* El contenido se eleva apenas, independiente de la foto */
.uma-two-villa-content {
  position: relative !important;
  z-index: 2 !important;

  transition:
    transform .38s cubic-bezier(.22,.61,.36,1),
    box-shadow .38s ease,
    background-color .38s ease !important;
}

.uma-two-villa-row:hover .uma-two-villa-content {
  transform: translateY(-3px) !important;
  background: #ffffff !important;
  box-shadow: 0 -12px 28px rgba(68,68,68,.08) !important;
}

/* Sombra general muy discreta, sin mover la tarjeta */
.uma-two-villa-row {
  transition:
    box-shadow .38s ease,
    border-color .38s ease !important;
}

.uma-two-villa-row:hover {
  box-shadow: 0 20px 48px rgba(68,68,68,.14) !important;
}

/* El número también reacciona ligeramente */
.uma-two-villa-photo span {
  transition:
    transform .3s ease,
    box-shadow .3s ease !important;
}

.uma-two-villa-row:hover .uma-two-villa-photo span {
  transform: scale(1.06) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.16) !important;
}

/* Movimiento independiente del enlace */
.uma-two-detail {
  transition:
    color .25s ease,
    padding-left .25s ease !important;
}

.uma-two-villa-row:hover .uma-two-detail {
  color: #6b6b6b !important;
  padding-left: 4px !important;
}

/* Nombre con reacción mínima */
.uma-two-villa-heading h3 {
  transition:
    color .25s ease,
    transform .25s ease !important;
}

.uma-two-villa-row:hover .uma-two-villa-heading h3 {
  color: #444444 !important;
  transform: translateX(2px) !important;
}

/* Accesibilidad */
@media (prefers-reduced-motion: reduce) {
  .uma-two-villa-photo,
  .uma-two-villa-content,
  .uma-two-villa-row,
  .uma-two-detail,
  .uma-two-villa-heading h3,
  .uma-two-villa-photo span {
    transition: none !important;
    transform: none !important;
  }

  .uma-two-villa-row:hover .uma-two-villa-photo {
    background-size: cover !important;
    background-position: center center !important;
  }
}


/* =====================================================
   HOVER MUY SUAVE — ALOJAMIENTOS
   ===================================================== */

/* Tarjeta: sombra lenta, sin desplazamiento completo */
.uma-two-villa-row,
.uma-two-villa-row:hover {
  transform: none !important;
}

.uma-two-villa-row {
  transition:
    box-shadow 1.15s cubic-bezier(.22, .61, .36, 1),
    border-color 1.15s cubic-bezier(.22, .61, .36, 1) !important;
}

.uma-two-villa-row:hover {
  box-shadow: 0 18px 44px rgba(68,68,68,.13) !important;
}

/* Foto: zoom mínimo y muy lento */
.uma-two-villa-photo {
  background-size: 100% auto !important;
  background-position: center center !important;
  transition:
    background-size 1.65s cubic-bezier(.22, .61, .36, 1),
    background-position 1.65s cubic-bezier(.22, .61, .36, 1),
    filter 1.3s ease !important;
}

.uma-two-villa-row:hover .uma-two-villa-photo {
  background-size: 104% auto !important;
  background-position: center 49% !important;
  filter: saturate(1.025) contrast(1.01) !important;
}

/* Texto: movimiento casi imperceptible */
.uma-two-villa-content {
  transition:
    transform 1.05s cubic-bezier(.22, .61, .36, 1),
    box-shadow 1.05s cubic-bezier(.22, .61, .36, 1),
    background-color 1.05s ease !important;
}

.uma-two-villa-row:hover .uma-two-villa-content {
  transform: translateY(-1px) !important;
  box-shadow: 0 -8px 22px rgba(68,68,68,.055) !important;
}

/* Número */
.uma-two-villa-photo span {
  transition:
    transform .9s cubic-bezier(.22, .61, .36, 1),
    box-shadow .9s ease !important;
}

.uma-two-villa-row:hover .uma-two-villa-photo span {
  transform: scale(1.025) !important;
}

/* Nombre */
.uma-two-villa-heading h3 {
  transition:
    color .85s ease,
    transform .85s cubic-bezier(.22, .61, .36, 1) !important;
}

.uma-two-villa-row:hover .uma-two-villa-heading h3 {
  transform: translateX(1px) !important;
}

/* Enlace */
.uma-two-detail {
  transition:
    color .85s ease,
    padding-left .85s cubic-bezier(.22, .61, .36, 1) !important;
}

.uma-two-villa-row:hover .uma-two-detail {
  padding-left: 2px !important;
}


/* =====================================================
   ZOOM UNIFORME Y MUY SUAVE EN TODAS LAS FOTOS
   ===================================================== */

.uma-two-villa-photo {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  background-image: none !important;
}

/* Capa independiente que contiene la fotografía */
.uma-two-villa-photo::before {
  content: "" !important;
  position: absolute !important;
  z-index: 0 !important;
  inset: -2px !important;

  background-image: var(--uma-villa-photo) !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: cover !important;

  transform: scale(1) translate3d(0, 0, 0) !important;
  transform-origin: center center !important;

  transition:
    transform 1.85s cubic-bezier(.22, .61, .36, 1),
    filter 1.55s ease !important;

  will-change: transform !important;
}

/* Zoom pequeño, lento e idéntico en las tres fotos */
.uma-two-villa-row:hover .uma-two-villa-photo::before {
  transform: scale(1.045) translate3d(0, -2px, 0) !important;
  filter: saturate(1.025) contrast(1.01) !important;
}

/* Mantener el número por encima de la imagen */
.uma-two-villa-photo > span {
  position: absolute !important;
  z-index: 2 !important;
}

/* Neutralizar el efecto anterior basado en background-size */
.uma-two-villa-photo,
.uma-two-villa-row:hover .uma-two-villa-photo {
  background-size: cover !important;
  background-position: center center !important;
  filter: none !important;
}

/* Sin animaciones en dispositivos que lo soliciten */
@media (prefers-reduced-motion: reduce) {
  .uma-two-villa-photo::before,
  .uma-two-villa-row:hover .uma-two-villa-photo::before {
    transition: none !important;
    transform: none !important;
  }
}


/* =========================================================
   PÁGINA INDIVIDUAL DE ALOJAMIENTO — ESTILO VILLAS PERRO LOCO
   ========================================================= */

.uma-stay-page {
  background: #fff;
  color: #444444;
}

.uma-stay-page *,
.uma-stay-page *::before,
.uma-stay-page *::after {
  box-sizing: border-box;
}

.uma-stay-heading {
  padding: 125px 0 34px;
  background: #fff;
}

.uma-stay-back {
  display: inline-block;
  margin-bottom: 24px;
  color: #707070;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
}

.uma-stay-back:hover {
  color: #6b6b6b;
}

.uma-stay-eyebrow,
.uma-stay-section-label,
.uma-stay-booking-label {
  display: block;
  margin-bottom: 10px;
  color: #a0a0a0;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.uma-stay-heading h1 {
  max-width: 920px;
  margin: 0 0 18px;
  color: #444444;
  font-family: Georgia, serif;
  font-size: clamp(42px, 6vw, 72px);
  font-weight: 500;
  line-height: 1.02;
}

.uma-stay-main-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 22px;
  color: #707070;
  font-size: 13px;
}

.uma-stay-main-facts span {
  position: relative;
  padding-left: 14px;
}

.uma-stay-main-facts span::before {
  content: "•";
  position: absolute;
  left: 0;
  color: #6b6b6b;
}

.uma-stay-visual-section {
  padding: 0 0 75px;
  background: #fff;
}

.uma-stay-top-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 305px;
  align-items: stretch;
  gap: 20px;
}

.uma-stay-gallery {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 195px;
  gap: 12px;
  min-height: 510px;
}

.uma-stay-gallery button {
  padding: 0;
  border: 0;
  cursor: pointer;
}

.uma-stay-gallery-main,
.uma-stay-gallery-small {
  position: relative;
  display: block;
  overflow: hidden;
  background: #e9eeee;
}

.uma-stay-gallery-main {
  min-height: 510px;
  border-radius: 10px 0 0 10px;
}

.uma-stay-gallery-side {
  display: grid;
  grid-template-rows: 1fr 1fr auto;
  gap: 12px;
}

.uma-stay-gallery-small {
  min-height: 210px;
  border-radius: 0 10px 10px 0;
}

.uma-stay-gallery img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1);
  transition:
    transform 1.8s cubic-bezier(.22,.61,.36,1),
    filter 1.4s ease;
}

.uma-stay-gallery-main:hover img,
.uma-stay-gallery-small:hover img {
  transform: scale(1.045);
  filter: saturate(1.025) contrast(1.01);
}

.uma-stay-photo-counter {
  position: absolute;
  right: 17px;
  bottom: 17px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(23,23,23,.78);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
}

.uma-stay-view-all {
  min-height: 42px;
  border-radius: 8px !important;
  background: #444444;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  transition:
    background .5s ease,
    box-shadow .5s ease;
}

.uma-stay-view-all:hover {
  background: #6b6b6b;
  box-shadow: 0 10px 25px rgba(160,160,160,.20);
}

.uma-stay-booking {
  padding: 26px 22px;
  border-radius: 9px;
  background: #e8e8e8;
  color: #444444;
  box-shadow: 0 14px 35px rgba(68,68,68,.10);
}

.uma-stay-booking h2 {
  margin: 0 0 9px;
  font-family: Georgia, serif;
  font-size: 26px;
  font-weight: 500;
  line-height: 1.1;
}

.uma-stay-price {
  margin: 0 0 21px;
  color: #707070;
  font-size: 13px;
}

.uma-stay-price strong {
  color: #444444;
}

.uma-stay-booking-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.uma-stay-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.uma-stay-field-full {
  grid-column: 1 / -1;
}

.uma-stay-field label {
  color: #444444;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .10em;
  text-transform: uppercase;
}

.uma-stay-field input {
  width: 100%;
  min-height: 43px;
  padding: 9px 10px;
  border: 1px solid rgba(68,68,68,.12);
  border-radius: 7px;
  background: rgba(255,255,255,.88);
  color: #444444;
  font-size: 12px;
}

.uma-stay-booking-button {
  width: 100%;
  min-height: 45px;
  margin-top: 12px;
  border: 0;
  border-radius: 5px;
  background: #444444;
  color: #fff;
  font-size: 13px;
  font-weight: 900;
  cursor: pointer;
  transition:
    background .55s ease,
    box-shadow .55s ease,
    transform .55s cubic-bezier(.22,.61,.36,1);
}

.uma-stay-booking-button:hover {
  transform: translateY(-1px);
  background: #6b6b6b;
  box-shadow: 0 10px 25px rgba(160,160,160,.24);
}

.uma-stay-direct-benefits {
  display: grid;
  gap: 7px;
  margin-top: 20px;
  padding-top: 17px;
  border-top: 1px solid rgba(68,68,68,.13);
  color: #707070;
  font-size: 11px;
  line-height: 1.45;
}

.uma-stay-direct-benefits strong {
  color: #444444;
  font-size: 12px;
}

.uma-stay-description-section {
  padding: 70px 0;
  border-top: 1px solid #e8e8e8;
  background: #fff;
}

.uma-stay-description-grid {
  display: grid;
  grid-template-columns: .75fr 1.25fr;
  gap: 90px;
}

.uma-stay-description-section h2,
.uma-stay-amenities-section h2,
.uma-stay-good-to-know h2,
.uma-stay-tour-heading h2,
.uma-stay-related-heading h2 {
  margin: 0;
  color: #444444;
  font-family: Georgia, serif;
  font-size: clamp(34px, 4.5vw, 52px);
  font-weight: 500;
  line-height: 1.08;
}

.uma-stay-description-copy p {
  margin: 0;
  color: #707070;
  font-size: 15px;
  line-height: 1.8;
}

.uma-stay-amenities-section {
  padding: 70px 0;
  border-top: 1px solid #e8e8e8;
  background: #fff;
}

.uma-stay-amenities-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 45px;
  margin-top: 40px;
}

.uma-stay-amenity-group h3 {
  margin: 0 0 18px;
  color: #444444;
  font-size: 15px;
}

.uma-stay-amenity-group ul {
  display: grid;
  gap: 11px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.uma-stay-amenity-group li {
  position: relative;
  padding-left: 20px;
  color: #707070;
  font-size: 13px;
}

.uma-stay-amenity-group li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: #a0a0a0;
  font-weight: 900;
}

.uma-stay-good-to-know {
  padding: 70px 0;
  border-top: 1px solid #e8e8e8;
  background: #fafbfb;
}

.uma-stay-know-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 25px;
  margin-top: 38px;
}

.uma-stay-know-grid > div {
  display: grid;
  gap: 7px;
  padding: 20px 0;
  border-top: 1px solid #e8e8e8;
}

.uma-stay-know-grid strong {
  color: #444444;
  font-size: 13px;
}

.uma-stay-know-grid span {
  color: #707070;
  font-size: 12px;
  line-height: 1.5;
}

.uma-stay-rules {
  margin-top: 35px;
  padding-top: 27px;
  border-top: 1px solid #e8e8e8;
}

.uma-stay-rules h3 {
  margin: 0 0 12px;
  color: #444444;
  font-size: 18px;
}

.uma-stay-rules p {
  max-width: 850px;
  margin: 0;
  color: #707070;
  font-size: 13px;
  line-height: 1.7;
}

.uma-stay-tour-section {
  padding: 80px 0;
  background: #fff;
}

.uma-stay-tour-heading {
  max-width: 750px;
  margin: 0 auto 32px;
  text-align: center;
}

.uma-stay-tour-heading p {
  color: #707070;
}

.uma-stay-tour-frame {
  overflow: hidden;
  aspect-ratio: 16 / 8;
  border-radius: 16px;
  background: #e8e8e8;
}

.uma-stay-tour-frame iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

.uma-stay-related-section {
  padding: 80px 0 105px;
  background: #f7f8f8;
}

.uma-stay-related-heading {
  max-width: 700px;
  margin: 0 auto 40px;
  text-align: center;
}

.uma-stay-related-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.uma-stay-related-card {
  overflow: hidden;
  background: #fff;
  box-shadow: 0 8px 25px rgba(68,68,68,.08);
  transition: box-shadow 1s ease;
}

.uma-stay-related-card:hover {
  box-shadow: 0 18px 42px rgba(68,68,68,.14);
}

.uma-stay-related-photo {
  display: block;
  height: 245px;
  overflow: hidden;
}

.uma-stay-related-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1);
  transition:
    transform 1.8s cubic-bezier(.22,.61,.36,1),
    filter 1.5s ease;
}

.uma-stay-related-card:hover .uma-stay-related-photo img {
  transform: scale(1.045);
  filter: saturate(1.025);
}

.uma-stay-related-content {
  padding: 20px;
}

.uma-stay-related-content h3 {
  margin: 0 0 10px;
  color: #444444;
  font-family: Georgia, serif;
  font-size: 22px;
  font-weight: 500;
}

.uma-stay-related-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 16px;
  color: #707070;
  font-size: 11px;
}

.uma-stay-related-content p {
  margin: 14px 0;
  color: #707070;
  font-size: 12px;
  line-height: 1.6;
}

.uma-stay-related-link {
  color: #6b6b6b;
  font-size: 12px;
  font-weight: 900;
  text-decoration: none;
}

.uma-stay-lightbox {
  position: fixed;
  z-index: 100000;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 45px 85px;
  background: rgba(23,23,23,.94);
}

.uma-stay-lightbox.is-open {
  display: flex;
}

.uma-stay-lightbox figure {
  display: grid;
  justify-items: center;
  gap: 14px;
  max-width: 1200px;
  max-height: 90vh;
  margin: 0;
}

.uma-stay-lightbox figure img {
  display: block;
  max-width: 100%;
  max-height: 80vh;
  object-fit: contain;
}

.uma-stay-lightbox figcaption {
  color: #fff;
  font-size: 13px;
  font-weight: 800;
}

.uma-stay-lightbox-close,
.uma-stay-lightbox-arrow {
  position: absolute;
  border: 0;
  color: #fff;
  cursor: pointer;
}

.uma-stay-lightbox-close {
  top: 20px;
  right: 25px;
  background: transparent;
  font-size: 42px;
}

.uma-stay-lightbox-arrow {
  top: 50%;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: rgba(255,255,255,.13);
  font-size: 34px;
  transform: translateY(-50%);
}

.uma-stay-lightbox-prev {
  left: 22px;
}

.uma-stay-lightbox-next {
  right: 22px;
}

@media (max-width: 980px) {
  .uma-stay-top-grid {
    grid-template-columns: 1fr;
  }

  .uma-stay-booking {
    width: 100%;
  }

  .uma-stay-description-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }

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

@media (max-width: 700px) {
  .uma-stay-heading {
    padding: 105px 0 27px;
  }

  .uma-stay-heading h1 {
    font-size: 43px;
  }

  .uma-stay-gallery {
    display: block;
    min-height: 0;
  }

  .uma-stay-gallery-main {
    min-height: 330px;
    border-radius: 8px;
  }

  .uma-stay-gallery-side {
    display: none;
  }

  .uma-stay-booking {
    padding: 22px 18px;
  }

  .uma-stay-description-section,
  .uma-stay-amenities-section,
  .uma-stay-good-to-know,
  .uma-stay-tour-section {
    padding: 55px 0;
  }

  .uma-stay-amenities-grid,
  .uma-stay-know-grid,
  .uma-stay-related-grid {
    grid-template-columns: 1fr;
  }

  .uma-stay-amenities-grid {
    gap: 30px;
  }

  .uma-stay-lightbox {
    padding: 60px 15px 25px;
  }

  .uma-stay-lightbox-arrow {
    top: auto;
    bottom: 15px;
    transform: none;
  }

  .uma-stay-lightbox-prev {
    left: calc(50% - 60px);
  }

  .uma-stay-lightbox-next {
    right: calc(50% - 60px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .uma-stay-page *,
  .uma-stay-page *::before,
  .uma-stay-page *::after {
    scroll-behavior: auto !important;
    transition: none !important;
    animation: none !important;
  }
}


/* =========================================================
   REDISEÑO VISUAL VILLA INDIVIDUAL
   Inspirado en la referencia, SIN achicar el contenido
   ========================================================= */

.uma-stay-page > section > .container{
  width:min(100% - 48px, 1180px) !important;
}

/* encabezado */
.uma-stay-heading{
  padding:110px 0 28px !important;
}

.uma-stay-back{
  display:inline-block !important;
  margin-bottom:14px !important;
  font-size:12px !important;
}

.uma-stay-eyebrow{
  margin-bottom:8px !important;
  font-size:11px !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
}

.uma-stay-heading h1{
  margin:0 0 12px !important;
  font-size:clamp(44px, 5vw, 68px) !important;
  line-height:1.02 !important;
  font-weight:500 !important;
}

.uma-stay-main-facts{
  gap:8px 18px !important;
  font-size:13px !important;
}

/* bloque superior */
.uma-stay-visual-section{
  padding:8px 0 58px !important;
}

.uma-stay-top-grid{
  grid-template-columns:minmax(0,1fr) 320px !important;
  gap:28px !important;
  align-items:start !important;
}

/* galería */
.uma-stay-gallery{
  grid-template-columns:minmax(0,1fr) 180px !important;
  gap:12px !important;
  min-height:520px !important;
}

.uma-stay-gallery-main{
  min-height:520px !important;
  height:520px !important;
  border-radius:8px 0 0 8px !important;
  overflow:hidden !important;
}

.uma-stay-gallery-main img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
}

.uma-stay-gallery-side{
  gap:12px !important;
}

.uma-stay-gallery-small{
  min-height:162px !important;
  height:162px !important;
  border-radius:0 8px 8px 0 !important;
  overflow:hidden !important;
}

.uma-stay-gallery-small img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
}

.uma-stay-view-all{
  min-height:50px !important;
  font-size:13px !important;
  border-radius:0 8px 8px 0 !important;
}

.uma-stay-photo-counter{
  right:14px !important;
  bottom:14px !important;
  padding:7px 10px !important;
  font-size:11px !important;
  border-radius:999px !important;
}

/* tarjeta reserva */
.uma-stay-booking{
  padding:26px 24px !important;
  border-radius:8px !important;
  box-shadow:0 16px 34px rgba(23,23,23,.12) !important;
  position:sticky !important;
  top:110px !important;
}

.uma-stay-booking-label{
  margin-bottom:7px !important;
  font-size:10px !important;
  letter-spacing:.16em !important;
  text-transform:uppercase !important;
}

.uma-stay-booking h2{
  margin-bottom:7px !important;
  font-size:30px !important;
  line-height:1.05 !important;
}

.uma-stay-price{
  margin-bottom:18px !important;
  font-size:14px !important;
}

.uma-stay-booking-grid{
  gap:10px !important;
}

.uma-stay-field{
  gap:5px !important;
}

.uma-stay-field label{
  font-size:10px !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
}

.uma-stay-field input,
.uma-stay-field select{
  min-height:44px !important;
  padding:10px 12px !important;
  font-size:13px !important;
  border-radius:6px !important;
}

.uma-stay-booking-button{
  min-height:46px !important;
  margin-top:12px !important;
  font-size:13px !important;
  border-radius:6px !important;
}

.uma-stay-direct-benefits{
  gap:7px !important;
  margin-top:18px !important;
  padding-top:16px !important;
  font-size:11px !important;
}

.uma-stay-direct-benefits strong{
  display:block !important;
  margin-bottom:4px !important;
  font-size:12px !important;
}

/* descripción */
.uma-stay-description-section{
  padding:64px 0 !important;
}

.uma-stay-description-grid{
  grid-template-columns:300px minmax(0,1fr) !important;
  gap:68px !important;
  align-items:start !important;
}

.uma-stay-section-label{
  margin-bottom:8px !important;
  font-size:10px !important;
  letter-spacing:.16em !important;
  text-transform:uppercase !important;
}

.uma-stay-description-section h2,
.uma-stay-amenities-section h2,
.uma-stay-good-to-know h2,
.uma-stay-tour-heading h2,
.uma-stay-related-heading h2{
  margin:0 !important;
  font-size:clamp(34px, 4vw, 48px) !important;
  line-height:1.08 !important;
  font-weight:500 !important;
}

.uma-stay-description-copy p{
  margin:0 0 16px !important;
  font-size:15px !important;
  line-height:1.8 !important;
}

/* amenidades */
.uma-stay-amenities-section{
  padding:18px 0 58px !important;
}

.uma-stay-amenities-grid{
  gap:34px !important;
  margin-top:28px !important;
}

.uma-stay-amenity-group h3{
  margin-bottom:14px !important;
  font-size:16px !important;
}

.uma-stay-amenity-group ul{
  gap:10px !important;
}

.uma-stay-amenity-group li{
  padding-left:18px !important;
  font-size:14px !important;
  line-height:1.65 !important;
}

/* good to know */
.uma-stay-good-to-know{
  padding:10px 0 58px !important;
}

.uma-stay-know-grid{
  gap:28px !important;
  margin-top:28px !important;
}

.uma-stay-know-grid > div{
  padding:14px 0 !important;
}

.uma-stay-know-grid strong{
  display:block !important;
  margin-bottom:4px !important;
  font-size:14px !important;
}

.uma-stay-know-grid span{
  font-size:13px !important;
  line-height:1.6 !important;
}

.uma-stay-rules{
  margin-top:26px !important;
  padding-top:20px !important;
}

.uma-stay-rules h3{
  margin-bottom:10px !important;
  font-size:18px !important;
}

.uma-stay-rules p{
  font-size:14px !important;
  line-height:1.75 !important;
}

/* 360 */
.uma-stay-tour-section{
  padding:60px 0 70px !important;
}

.uma-stay-tour-heading{
  margin-bottom:20px !important;
  text-align:center !important;
}

.uma-stay-tour-heading p{
  margin-top:8px !important;
  font-size:14px !important;
}

.uma-stay-tour-frame{
  width:min(100%, 920px) !important;
  margin:0 auto !important;
  aspect-ratio:16 / 8.2 !important;
  border-radius:10px !important;
  overflow:hidden !important;
}

/* relacionadas */
.uma-stay-related-section{
  padding:20px 0 90px !important;
}

.uma-stay-related-heading{
  margin-bottom:28px !important;
  text-align:center !important;
}

.uma-stay-related-heading p{
  margin-top:8px !important;
  font-size:14px !important;
}

.uma-stay-related-grid{
  gap:24px !important;
}

.uma-stay-related-card{
  border-radius:10px !important;
  overflow:hidden !important;
  box-shadow:0 10px 28px rgba(23,23,23,.08) !important;
  transition:transform .35s ease, box-shadow .35s ease !important;
}

.uma-stay-related-card:hover{
  transform:translateY(-4px) !important;
  box-shadow:0 16px 34px rgba(23,23,23,.13) !important;
}

.uma-stay-related-photo{
  height:245px !important;
  overflow:hidden !important;
}

.uma-stay-related-photo img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  transition:transform .7s ease !important;
}

.uma-stay-related-card:hover .uma-stay-related-photo img{
  transform:scale(1.04) !important;
}

.uma-stay-related-content{
  padding:18px !important;
}

.uma-stay-related-content h3{
  margin-bottom:8px !important;
  font-size:20px !important;
}

.uma-stay-related-meta{
  gap:8px 14px !important;
  font-size:11px !important;
}

.uma-stay-related-content p{
  margin:12px 0 !important;
  font-size:13px !important;
  line-height:1.7 !important;
}

.uma-stay-related-link{
  font-size:13px !important;
}

/* responsive */
@media (max-width: 1100px){
  .uma-stay-top-grid{
    grid-template-columns:minmax(0,1fr) 290px !important;
  }

  .uma-stay-gallery{
    grid-template-columns:minmax(0,1fr) 160px !important;
  }

  .uma-stay-gallery-main{
    min-height:470px !important;
    height:470px !important;
  }

  .uma-stay-gallery-small{
    min-height:146px !important;
    height:146px !important;
  }

  .uma-stay-description-grid{
    grid-template-columns:250px minmax(0,1fr) !important;
    gap:42px !important;
  }
}

@media (max-width: 860px){
  .uma-stay-top-grid{
    grid-template-columns:1fr !important;
  }

  .uma-stay-booking{
    position:relative !important;
    top:auto !important;
  }

  .uma-stay-description-grid{
    grid-template-columns:1fr !important;
    gap:22px !important;
  }
}

@media (max-width: 680px){
  .uma-stay-page > section > .container{
    width:min(100% - 28px, 1180px) !important;
  }

  .uma-stay-heading{
    padding:96px 0 20px !important;
  }

  .uma-stay-heading h1{
    font-size:42px !important;
  }

  .uma-stay-gallery{
    grid-template-columns:1fr !important;
    min-height:0 !important;
  }

  .uma-stay-gallery-main{
    height:300px !important;
    min-height:300px !important;
    border-radius:8px !important;
  }

  .uma-stay-gallery-side{
    display:none !important;
  }

  .uma-stay-amenities-grid,
  .uma-stay-know-grid,
  .uma-stay-related-grid{
    grid-template-columns:1fr !important;
  }

  .uma-stay-related-photo{
    height:220px !important;
  }
}


/* =========================================================
   GALERÍA SUPERIOR REFINADA — PÁGINA DE ALOJAMIENTO
   ========================================================= */

/* Mantener el conjunto ancho y proporcionado */
.uma-stay-visual-section .container {
  width: min(100% - 48px, 1180px) !important;
}

.uma-stay-top-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 320px !important;
  gap: 24px !important;
  align-items: start !important;
}

/* Galería horizontal */
.uma-stay-gallery {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 178px !important;
  gap: 10px !important;
  width: 100% !important;
  min-height: 475px !important;
}

/* Fotografía principal */
.uma-stay-gallery-main {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 475px !important;
  min-height: 475px !important;
  padding: 0 !important;
  overflow: hidden !important;

  border: 0 !important;
  border-radius: 8px !important;
  background: #e8e8e8 !important;
  cursor: pointer !important;
}

/* Columna derecha */
.uma-stay-gallery-side {
  display: grid !important;
  grid-template-rows: 1fr 1fr 46px !important;
  gap: 10px !important;
  height: 475px !important;
}

.uma-stay-gallery-small {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;

  border: 0 !important;
  border-radius: 8px !important;
  background: #e8e8e8 !important;
  cursor: pointer !important;
}

/* Todas las imágenes llenan correctamente su marco */
.uma-stay-gallery-main > img,
.uma-stay-gallery-small > img {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;

  object-fit: cover !important;
  object-position: center center !important;

  transform: scale(1) translate3d(0, 0, 0) !important;
  transform-origin: center center !important;

  transition:
    transform 1.85s cubic-bezier(.22, .61, .36, 1),
    filter 1.55s ease !important;

  will-change: transform !important;
}

/* Movimiento lento solo en la imagen */
.uma-stay-gallery-main:hover > img,
.uma-stay-gallery-small:hover > img {
  transform: scale(1.045) translate3d(0, -2px, 0) !important;
  filter: saturate(1.025) contrast(1.01) !important;
}

/* Sombra suave independiente, sin mover el cuadro */
.uma-stay-gallery-main,
.uma-stay-gallery-small {
  transition:
    box-shadow 1s cubic-bezier(.22, .61, .36, 1),
    filter 1s ease !important;
}

.uma-stay-gallery-main:hover,
.uma-stay-gallery-small:hover {
  box-shadow: 0 16px 38px rgba(23,23,23, .15) !important;
}

/* Flechas dentro de la imagen principal */
.uma-stay-inline-arrow {
  position: absolute !important;
  z-index: 5 !important;
  top: 50% !important;

  display: grid !important;
  place-items: center !important;
  width: 38px !important;
  height: 38px !important;
  padding: 0 !important;

  border: 0 !important;
  border-radius: 50% !important;
  background: rgba(255,255,255, .93) !important;
  color: #444444 !important;
  box-shadow: 0 7px 20px rgba(0,0,0, .14) !important;

  font-size: 25px !important;
  line-height: 1 !important;
  cursor: pointer !important;

  transform: translateY(-50%) !important;
  transition:
    transform .8s cubic-bezier(.22, .61, .36, 1),
    background-color .8s ease,
    color .8s ease,
    box-shadow .8s ease !important;
}

.uma-stay-inline-prev {
  left: 14px !important;
}

.uma-stay-inline-next {
  right: 14px !important;
}

.uma-stay-inline-arrow:hover {
  background: #444444 !important;
  color: #ffffff !important;
  box-shadow: 0 10px 26px rgba(0,0,0, .20) !important;
}

.uma-stay-inline-prev:hover {
  transform: translateY(-50%) translateX(-2px) !important;
}

.uma-stay-inline-next:hover {
  transform: translateY(-50%) translateX(2px) !important;
}

/* Contador igual de discreto que la referencia */
.uma-stay-photo-counter {
  position: absolute !important;
  z-index: 5 !important;
  right: 13px !important;
  bottom: 13px !important;

  display: inline-flex !important;
  align-items: center !important;
  min-height: 28px !important;
  padding: 5px 9px !important;

  border-radius: 999px !important;
  background: rgba(23,23,23, .80) !important;
  color: #ffffff !important;

  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: .02em !important;
}

/* Botón ver todas */
.uma-stay-view-all {
  display: grid !important;
  place-items: center !important;
  width: 100% !important;
  height: 46px !important;
  min-height: 46px !important;
  padding: 0 10px !important;

  border: 0 !important;
  border-radius: 8px !important;
  background: #444444 !important;
  color: #ffffff !important;

  font-size: 11px !important;
  font-weight: 800 !important;
  cursor: pointer !important;

  transition:
    background-color .8s ease,
    box-shadow .8s ease !important;
}

.uma-stay-view-all:hover {
  background: #6b6b6b !important;
  box-shadow: 0 10px 25px rgba(160,160,160, .22) !important;
}

/* La reserva se mantiene alineada arriba */
.uma-stay-booking {
  align-self: start !important;
  width: 100% !important;
  margin: 0 !important;
}

/* Pantallas medianas */
@media (max-width: 1050px) {
  .uma-stay-top-grid {
    grid-template-columns: minmax(0, 1fr) 290px !important;
  }

  .uma-stay-gallery {
    grid-template-columns: minmax(0, 1fr) 155px !important;
    min-height: 440px !important;
  }

  .uma-stay-gallery-main,
  .uma-stay-gallery-side {
    height: 440px !important;
    min-height: 440px !important;
  }
}

/* Tableta: reserva debajo */
@media (max-width: 850px) {
  .uma-stay-top-grid {
    grid-template-columns: 1fr !important;
  }

  .uma-stay-gallery {
    grid-template-columns: minmax(0, 1fr) 170px !important;
  }

  .uma-stay-booking {
    position: relative !important;
    top: auto !important;
  }
}

/* Teléfono */
@media (max-width: 650px) {
  .uma-stay-visual-section .container {
    width: min(100% - 28px, 1180px) !important;
  }

  .uma-stay-gallery {
    display: block !important;
    min-height: 0 !important;
  }

  .uma-stay-gallery-main {
    height: 325px !important;
    min-height: 325px !important;
    border-radius: 8px !important;
  }

  .uma-stay-gallery-side {
    display: none !important;
  }

  .uma-stay-inline-arrow {
    width: 34px !important;
    height: 34px !important;
    font-size: 22px !important;
  }

  .uma-stay-inline-prev {
    left: 10px !important;
  }

  .uma-stay-inline-next {
    right: 10px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .uma-stay-gallery-main > img,
  .uma-stay-gallery-small > img,
  .uma-stay-inline-arrow,
  .uma-stay-view-all {
    transition: none !important;
  }

  .uma-stay-gallery-main:hover > img,
  .uma-stay-gallery-small:hover > img {
    transform: none !important;
  }
}


/* =========================================================
   HOME: CUATRO ALOJAMIENTOS EN CUADRÍCULA 2 X 2
   ========================================================= */

.uma-two-villa-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 36px 28px !important;
  align-items: stretch !important;
}

.uma-two-villa-row {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  margin: 0 !important;
}

.uma-two-villa-row:nth-child(3),
.uma-two-villa-row:nth-child(4) {
  grid-column: auto !important;
  width: 100% !important;
  max-width: none !important;
  justify-self: stretch !important;
}

.uma-two-villa-photo {
  width: 100% !important;
}

.uma-two-villa-content {
  flex: 1 1 auto !important;
}

@media (max-width: 760px) {
  .uma-two-villa-list {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }
}


/* =========================================================
   HERO DE VIDEO PARA PÁGINAS INDIVIDUALES
   ========================================================= */

body.uma-two:has(.uma-stay-page) .uma-two-header {
  position: absolute !important;
  z-index: 1000 !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
}

body.uma-two:has(.uma-stay-page) .uma-two-nav {
  background: transparent !important;
}

body.uma-two:has(.uma-stay-page) .uma-two-logo {
  position: relative !important;
  z-index: 4 !important;
}

body.uma-two:has(.uma-stay-page) .mobile-toggle {
  position: relative !important;
  z-index: 4 !important;
  background: rgba(255,255,255, .94) !important;
  color: #444444 !important;
  box-shadow: 0 8px 25px rgba(0,0,0, .16) !important;
}

.uma-stay-video-hero {
  position: relative !important;
  display: flex !important;
  align-items: flex-end !important;
  width: 100% !important;
  min-height: 82vh !important;
  height: 760px !important;
  overflow: hidden !important;
  background: #444444 !important;
}

.uma-stay-video {
  position: absolute !important;
  z-index: 1 !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
}

.uma-stay-video-shade {
  position: absolute !important;
  z-index: 2 !important;
  inset: 0 !important;
  background:
    linear-gradient(
      180deg,
      rgba(23,23,23, .18) 0%,
      rgba(23,23,23, .08) 35%,
      rgba(23,23,23, .68) 100%
    ) !important;
}

.uma-stay-video-content {
  position: relative !important;
  z-index: 3 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: end !important;
  gap: 50px !important;
  width: min(100% - 48px, 1180px) !important;
  padding-bottom: 82px !important;
  color: #ffffff !important;
}

.uma-stay-video-back {
  position: absolute !important;
  top: -52px !important;
  left: 0 !important;
  color: rgba(255,255,255, .84) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  transition:
    color .4s ease,
    transform .4s ease !important;
}

.uma-stay-video-back:hover {
  color: #ffffff !important;
  transform: translateX(-3px) !important;
}

.uma-stay-video-copy {
  max-width: 820px !important;
}

.uma-stay-video-eyebrow {
  display: block !important;
  margin-bottom: 13px !important;
  color: #ffffff !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
}

.uma-stay-video-copy h1 {
  max-width: 950px !important;
  margin: 0 0 17px !important;
  color: #ffffff !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(54px, 7vw, 92px) !important;
  font-weight: 500 !important;
  line-height: .96 !important;
  letter-spacing: -.035em !important;
  text-shadow: 0 5px 25px rgba(0,0,0, .20) !important;
}

.uma-stay-video-copy > p {
  max-width: 720px !important;
  margin: 0 0 23px !important;
  color: rgba(255,255,255, .90) !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
}

.uma-stay-video-facts {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 9px 25px !important;
  color: #ffffff !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

.uma-stay-video-facts span {
  position: relative !important;
  padding-left: 15px !important;
}

.uma-stay-video-facts span::before {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  left: 0 !important;
  width: 5px !important;
  height: 5px !important;
  border-radius: 50% !important;
  background: #6b6b6b !important;
  transform: translateY(-50%) !important;
}

.uma-stay-video-action {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px !important;
  min-width: 230px !important;
  min-height: 56px !important;
  padding: 14px 23px !important;
  border: 1px solid rgba(255,255,255, .72) !important;
  border-radius: 4px !important;
  background: rgba(255,255,255, .12) !important;
  color: #ffffff !important;
  backdrop-filter: blur(9px) !important;
  -webkit-backdrop-filter: blur(9px) !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
  transition:
    background-color .5s ease,
    color .5s ease,
    border-color .5s ease,
    transform .5s cubic-bezier(.22, .61, .36, 1) !important;
}

.uma-stay-video-action:hover {
  transform: translateY(-2px) !important;
  border-color: #ffffff !important;
  background: #ffffff !important;
  color: #444444 !important;
}

.uma-stay-video-action strong {
  font-size: 18px !important;
  font-weight: 500 !important;
}

.uma-stay-video-scroll {
  position: absolute !important;
  z-index: 3 !important;
  right: 28px !important;
  bottom: 28px !important;
  color: rgba(255,255,255, .68) !important;
  font-size: 9px !important;
  font-weight: 800 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  writing-mode: vertical-rl !important;
}

.uma-stay-visual-section {
  padding-top: 74px !important;
}

#reservar-alojamiento {
  scroll-margin-top: 110px !important;
}

/* Animación muy suave del video */
@media (prefers-reduced-motion: no-preference) {
  .uma-stay-video {
    animation: umaStayVideoReveal 1.5s ease both !important;
  }

  .uma-stay-video-copy,
  .uma-stay-video-action {
    animation: umaStayHeroContent 1.1s .25s ease both !important;
  }
}

@keyframes umaStayVideoReveal {
  from {
    opacity: 0;
    transform: scale(1.025);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes umaStayHeroContent {
  from {
    opacity: 0;
    transform: translateY(24px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 850px) {
  .uma-stay-video-hero {
    min-height: 720px !important;
    height: 82vh !important;
  }

  .uma-stay-video-content {
    grid-template-columns: 1fr !important;
    gap: 27px !important;
    padding-bottom: 65px !important;
  }

  .uma-stay-video-action {
    width: max-content !important;
  }
}

@media (max-width: 600px) {
  .uma-stay-video-hero {
    min-height: 680px !important;
    height: 88svh !important;
  }

  .uma-stay-video-content {
    width: min(100% - 30px, 1180px) !important;
    padding-bottom: 50px !important;
  }

  .uma-stay-video-back {
    top: -42px !important;
    font-size: 11px !important;
  }

  .uma-stay-video-copy h1 {
    font-size: clamp(46px, 14vw, 66px) !important;
  }

  .uma-stay-video-copy > p {
    font-size: 14px !important;
  }

  .uma-stay-video-facts {
    gap: 8px 16px !important;
    font-size: 11px !important;
  }

  .uma-stay-video-action {
    width: 100% !important;
    min-width: 0 !important;
  }

  .uma-stay-video-scroll {
    display: none !important;
  }

  .uma-stay-visual-section {
    padding-top: 48px !important;
  }
}


/* =========================================================
   HERO DE VIDEO REAL — PROPIEDADES
   ========================================================= */

body.uma-two:has(.uma-stay-property-hero) .uma-two-header {
  position: absolute !important;
  z-index: 9999 !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.uma-two:has(.uma-stay-property-hero) .uma-two-nav {
  background: transparent !important;
}

body.uma-two:has(.uma-stay-property-hero) .mobile-toggle {
  background: rgba(255,255,255,.94) !important;
  color: #444444 !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.17) !important;
}

.uma-stay-property-hero {
  position: relative !important;
  display: flex !important;
  align-items: flex-end !important;
  width: 100% !important;
  height: 760px !important;
  min-height: 82vh !important;
  overflow: hidden !important;
  background: #444444 !important;
}

.uma-stay-property-video {
  position: absolute !important;
  z-index: 1 !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
}

.uma-stay-property-overlay {
  position: absolute !important;
  z-index: 2 !important;
  inset: 0 !important;
  background:
    linear-gradient(
      180deg,
      rgba(23,23,23,.15) 0%,
      rgba(23,23,23,.05) 35%,
      rgba(23,23,23,.74) 100%
    ) !important;
}

.uma-stay-property-content {
  position: relative !important;
  z-index: 3 !important;
  display: grid !important;
  grid-template-columns: minmax(0,1fr) auto !important;
  align-items: end !important;
  gap: 50px !important;
  width: min(100% - 48px, 1180px) !important;
  padding-bottom: 74px !important;
  color: #fff !important;
}

.uma-stay-property-back {
  position: absolute !important;
  left: 0 !important;
  top: -48px !important;
  color: rgba(255,255,255,.88) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

.uma-stay-property-copy {
  max-width: 820px !important;
}

.uma-stay-property-copy > span {
  display: block !important;
  margin-bottom: 12px !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
}

.uma-stay-property-copy h1 {
  margin: 0 0 18px !important;
  color: #fff !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(58px, 7vw, 96px) !important;
  font-weight: 500 !important;
  line-height: .95 !important;
  letter-spacing: -.035em !important;
  text-shadow: 0 6px 28px rgba(0,0,0,.25) !important;
}

.uma-stay-property-copy p {
  max-width: 720px !important;
  margin: 0 0 23px !important;
  color: rgba(255,255,255,.92) !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
}

.uma-stay-property-facts {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px 24px !important;
}

.uma-stay-property-facts strong {
  position: relative !important;
  padding-left: 15px !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

.uma-stay-property-facts strong::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 50% !important;
  width: 5px !important;
  height: 5px !important;
  border-radius: 50% !important;
  background: #6b6b6b !important;
  transform: translateY(-50%) !important;
}

.uma-stay-property-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 225px !important;
  min-height: 56px !important;
  padding: 14px 22px !important;
  border: 1px solid rgba(255,255,255,.75) !important;
  border-radius: 4px !important;
  background: rgba(255,255,255,.13) !important;
  color: #fff !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
  transition: background .4s ease, color .4s ease, transform .4s ease !important;
}

.uma-stay-property-button:hover {
  transform: translateY(-2px) !important;
  background: #fff !important;
  color: #444444 !important;
}

.uma-stay-visual-section {
  padding-top: 70px !important;
}

#reservar-alojamiento {
  scroll-margin-top: 110px !important;
}

@media (max-width: 850px) {
  .uma-stay-property-content {
    grid-template-columns: 1fr !important;
    gap: 25px !important;
  }

  .uma-stay-property-button {
    width: max-content !important;
  }
}

@media (max-width: 600px) {
  .uma-stay-property-hero {
    height: 88svh !important;
    min-height: 680px !important;
  }

  .uma-stay-property-content {
    width: min(100% - 30px, 1180px) !important;
    padding-bottom: 48px !important;
  }

  .uma-stay-property-copy h1 {
    font-size: clamp(46px, 14vw, 66px) !important;
  }

  .uma-stay-property-copy p {
    font-size: 14px !important;
  }

  .uma-stay-property-facts {
    gap: 8px 15px !important;
  }

  .uma-stay-property-facts strong {
    font-size: 11px !important;
  }

  .uma-stay-property-button {
    width: 100% !important;
  }
}


/* ===== ENCABEZADO INTERIOR CON VIDEO ===== */

.uma-stay-video-header {
  position: relative !important;
  width: 100% !important;
  height: 330px !important;
  min-height: 330px !important;
  overflow: hidden !important;
  background: #444444 !important;
}

.uma-stay-video-header > video {
  position: absolute !important;
  z-index: 1 !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}

.uma-stay-video-header-overlay {
  position: absolute !important;
  z-index: 2 !important;
  inset: 0 !important;
  background:
    linear-gradient(
      90deg,
      rgba(68,68,68,.88) 0%,
      rgba(68,68,68,.66) 48%,
      rgba(68,68,68,.24) 100%
    ) !important;
}

.uma-stay-video-header-content {
  position: relative !important;
  z-index: 3 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  width: min(100% - 48px, 1180px) !important;
  height: 100% !important;
  padding-bottom: 48px !important;
  color: #ffffff !important;
}

.uma-stay-video-header-content > a {
  display: inline-block !important;
  width: max-content !important;
  margin-bottom: 16px !important;
  color: rgba(255,255,255,.84) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

.uma-stay-video-header-content > span {
  margin-bottom: 7px !important;
  color: #6b6b6b !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
}

.uma-stay-video-header-content h1 {
  max-width: 820px !important;
  margin: 0 0 9px !important;
  color: #ffffff !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(42px, 5vw, 64px) !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  text-shadow: 0 5px 20px rgba(0,0,0,.20) !important;
}

.uma-stay-video-header-content p {
  max-width: 720px !important;
  margin: 0 0 14px !important;
  color: rgba(255,255,255,.90) !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}

.uma-stay-video-header-facts {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px 22px !important;
}

.uma-stay-video-header-facts strong {
  position: relative !important;
  padding-left: 13px !important;
  color: #ffffff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

.uma-stay-video-header-facts strong::before {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  left: 0 !important;
  width: 5px !important;
  height: 5px !important;
  border-radius: 50% !important;
  background: #6b6b6b !important;
  transform: translateY(-50%) !important;
}

.uma-stay-video-header-shape {
  position: absolute !important;
  z-index: 3 !important;
  right: 28px !important;
  bottom: -48px !important;
  width: 105px !important;
  height: 105px !important;
  background: #6b6b6b !important;
  transform: rotate(45deg) !important;
}

.uma-stay-visual-section {
  padding-top: 58px !important;
}

@media (max-width: 650px) {
  .uma-stay-video-header {
    height: 390px !important;
    min-height: 390px !important;
  }

  .uma-stay-video-header-content {
    width: min(100% - 30px, 1180px) !important;
    padding-bottom: 40px !important;
  }

  .uma-stay-video-header-content h1 {
    font-size: 42px !important;
  }

  .uma-stay-video-header-content p {
    font-size: 13px !important;
  }

  .uma-stay-video-header-shape {
    right: -25px !important;
  }
}


/* ===== BLOQUE HOME STORY VILLAS PERRO LOCO ===== */
.uma-home-story{
  padding: 82px 0 86px;
  background: #fff;
}

.uma-home-story-inner{
  width: min(1140px, calc(100% - 64px));
  margin: 0 auto;
}

.uma-home-story-grid{
  display: grid;
  grid-template-columns: minmax(280px, 430px) minmax(360px, 1fr);
  gap: 56px;
  align-items: start;
}

.uma-home-story-head{
  max-width: 420px;
}

.uma-home-story-kicker{
  display: inline-block;
  margin-bottom: 12px;
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  font-weight: 700;
  color: #a0a0a0;
}

.uma-home-story-head h2{
  margin: 0;
  color: #444444;
  font-size: clamp(38px, 4.2vw, 60px);
  line-height: 1.02;
  letter-spacing: -0.02em;
}

.uma-home-story-copy{
  max-width: 700px;
  padding-top: 8px;
}

.uma-home-story-copy p{
  margin: 0 0 18px;
  font-size: 16px;
  line-height: 1.85;
  color: #707070;
}

.uma-home-story-copy .uma-home-story-lead{
  font-size: 18px;
  line-height: 1.9;
  color: #444444;
}

.uma-home-story-link{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
  font-size: 15px;
  font-weight: 700;
  color: #6b6b6b;
  text-decoration: none;
  transition: transform .22s ease, color .22s ease;
}

.uma-home-story-link:hover{
  transform: translateX(4px);
  color: #6b6b6b;
}

@media (max-width: 900px){
  .uma-home-story{
    padding: 64px 0 68px;
  }

  .uma-home-story-inner{
    width: min(100%, calc(100% - 36px));
  }

  .uma-home-story-grid{
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .uma-home-story-head{
    max-width: none;
  }

  .uma-home-story-head h2{
    font-size: clamp(34px, 9vw, 48px);
    line-height: 1.04;
  }

  .uma-home-story-copy{
    max-width: none;
    padding-top: 0;
  }

  .uma-home-story-copy p{
    font-size: 15px;
    line-height: 1.8;
  }

  .uma-home-story-copy .uma-home-story-lead{
    font-size: 16px;
  }
}
/* ===== FIN BLOQUE HOME STORY VILLAS PERRO LOCO ===== */


/* ===== AJUSTE FINO BLOQUE TEXTO HOME ===== */
.uma-home-story-head{
  max-width: 470px;
}

.uma-home-story-head h2{
  max-width: 470px;
  font-size: clamp(36px, 4vw, 54px);
  line-height: 1.02;
  letter-spacing: -0.02em;
}

.uma-home-story-kicker{
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  letter-spacing: .18em;
  text-transform: uppercase;
  font-weight: 700;
  color: #a0a0a0;
}

.uma-home-story-kicker::before{
  content: "◆";
  display: inline-block;
  font-size: 10px;
  color: #6b6b6b;
  transform: translateY(-1px) rotate(45deg);
}

@media (max-width: 900px){
  .uma-home-story-head{
    max-width: none;
  }

  .uma-home-story-head h2{
    max-width: none;
    font-size: clamp(32px, 8vw, 44px);
    line-height: 1.05;
  }

  .uma-home-story-kicker{
    font-size: 12px;
  }
}
/* ===== FIN AJUSTE FINO BLOQUE TEXTO HOME ===== */

/* ===== VILLAS PERRO LOCO + ROMBO MÁS GRANDES ===== */
.uma-home-story-kicker{
  gap: 11px !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  letter-spacing: .16em !important;
}

.uma-home-story-kicker::before{
  font-size: 15px !important;
  line-height: 1 !important;
  transform: translateY(-1px) rotate(45deg) !important;
}

@media (max-width: 900px){
  .uma-home-story-kicker{
    font-size: 15px !important;
  }

  .uma-home-story-kicker::before{
    font-size: 13px !important;
  }
}
/* ===== FIN VILLAS PERRO LOCO + ROMBO MÁS GRANDES ===== */

/* ===== ROMBO REAL EN "VILLAS PERRO LOCO" ===== */
.uma-home-story-kicker{
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  letter-spacing: .16em !important;
}

.uma-home-story-kicker::before{
  content: "" !important;
  display: inline-block !important;
  width: 9px !important;
  height: 9px !important;
  background: #6b6b6b !important;
  border-radius: 1px !important;
  transform: rotate(45deg) translateY(-1px) !important;
  transform-origin: center !important;
  flex: 0 0 9px !important;
  box-shadow: none !important;
}

@media (max-width: 900px){
  .uma-home-story-kicker{
    font-size: 15px !important;
    gap: 8px !important;
  }

  .uma-home-story-kicker::before{
    width: 8px !important;
    height: 8px !important;
    flex: 0 0 8px !important;
  }
}
/* ===== FIN ROMBO REAL ===== */

/* ===== BOTÓN VER TODAS HOME ===== */
.uma-all-villas-button{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  min-height: 48px !important;
  padding: 0 24px !important;
  border: 1px solid #444444 !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: #444444 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  transition:
    background .28s ease,
    color .28s ease,
    transform .28s ease,
    box-shadow .28s ease !important;
}

.uma-all-villas-button span{
  font-size: 18px !important;
  line-height: 1 !important;
  transition: transform .28s ease !important;
}

.uma-all-villas-button:hover{
  background: #444444 !important;
  color: #ffffff !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 12px 30px rgba(68,68,68,.18) !important;
}

.uma-all-villas-button:hover span{
  transform: translateX(4px) !important;
}

@media (max-width: 650px){
  .uma-all-villas-button{
    min-height: 44px !important;
    padding: 0 19px !important;
    font-size: 12px !important;
  }
}
/* ===== FIN BOTÓN VER TODAS HOME ===== */

/* ===== BOTÓN VER TODAS HOME ===== */
.uma-all-villas-button{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  min-height: 48px !important;
  padding: 0 24px !important;
  border: 1px solid #444444 !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: #444444 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  transition:
    background .28s ease,
    color .28s ease,
    transform .28s ease,
    box-shadow .28s ease !important;
}

.uma-all-villas-button span{
  font-size: 18px !important;
  line-height: 1 !important;
  transition: transform .28s ease !important;
}

.uma-all-villas-button:hover{
  background: #444444 !important;
  color: #ffffff !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 12px 30px rgba(68,68,68,.18) !important;
}

.uma-all-villas-button:hover span{
  transform: translateX(4px) !important;
}

@media (max-width: 650px){
  .uma-all-villas-button{
    min-height: 44px !important;
    padding: 0 19px !important;
    font-size: 12px !important;
  }
}
/* ===== FIN BOTÓN VER TODAS HOME ===== */

/* ===== FOTOS REDONDEADAS EN PÁGINA VILLAS ===== */
.page-hero + .section .cards .card .card-img{
  border-radius: 18px !important;
  overflow: hidden !important;
  background-size: cover !important;
  background-position: center !important;
}
/* ===== FIN FOTOS REDONDEADAS ===== */

/* ===== REDONDEADO REAL DE FOTOS EN VILLAS ===== */
.page-hero + .section .cards .card{
  border-radius: 18px !important;
  overflow: hidden !important;
}

.page-hero + .section .cards .card .card-img{
  border-radius: 18px 18px 0 0 !important;
  overflow: hidden !important;
  background-size: cover !important;
  background-position: center !important;
  transform: translateZ(0) !important;
}
/* ===== FIN REDONDEADO REAL ===== */

/* ===== EFECTOS DE LAS 6 TARJETAS EN VILLAS ===== */

.page-hero + .section .cards .card{
  position: relative !important;
  overflow: hidden !important;
  border-radius: 18px !important;
  transition:
    transform .55s cubic-bezier(.22,.61,.36,1),
    box-shadow .55s cubic-bezier(.22,.61,.36,1) !important;
  will-change: transform !important;
}

.page-hero + .section .cards .card:hover{
  transform: translateY(-7px) !important;
  box-shadow: 0 22px 48px rgba(68,68,68,.16) !important;
}

.page-hero + .section .cards .card .uma-villas-photo{
  position: relative !important;
  display: block !important;
  width: 100% !important;
  overflow: hidden !important;
  border-radius: 18px 18px 0 0 !important;
  background: none !important;
  text-decoration: none !important;
  isolation: isolate !important;
}

.page-hero + .section .cards .card .uma-villas-photo::before{
  content: "" !important;
  position: absolute !important;
  z-index: 0 !important;
  inset: 0 !important;
  background-image: var(--uma-villas-photo) !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  transform: scale(1) translate3d(0,0,0) !important;
  transition:
    transform 1.85s cubic-bezier(.22,.61,.36,1) !important;
  will-change: transform !important;
}

.page-hero + .section .cards .card:hover .uma-villas-photo::before,
.page-hero + .section .cards .card .uma-villas-photo:hover::before{
  transform: scale(1.045) translate3d(0,-2px,0) !important;
}

/* Entrada animada al cargar y hacer scroll */
.uma-villas-reveal{
  opacity: 0 !important;
  transform: translate3d(0,34px,0) !important;
  transition:
    opacity .8s cubic-bezier(.22,.61,.36,1)
      var(--uma-reveal-delay, 0ms),
    transform .9s cubic-bezier(.22,.61,.36,1)
      var(--uma-reveal-delay, 0ms),
    box-shadow .55s cubic-bezier(.22,.61,.36,1) !important;
}

.uma-villas-reveal.is-visible{
  opacity: 1 !important;
  transform: translate3d(0,0,0) !important;
}

.uma-villas-reveal.is-visible:hover{
  transform: translate3d(0,-7px,0) !important;
}

@media (prefers-reduced-motion: reduce){
  .uma-villas-reveal{
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  .page-hero + .section .cards .card .uma-villas-photo::before{
    transition: none !important;
  }
}

/* ===== FIN EFECTOS TARJETAS VILLAS ===== */

/* ===== HOSPEDAJE CON EL MISMO ESTILO DE VILLAS PERRO LOCO ===== */
.uma-villas-page-kicker{
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin-bottom: 12px !important;
  color: #a0a0a0 !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
}

.uma-villas-page-kicker::before{
  content: "" !important;
  display: inline-block !important;
  width: 9px !important;
  height: 9px !important;
  flex: 0 0 9px !important;
  border-radius: 1px !important;
  background: #6b6b6b !important;
  transform: rotate(45deg) translateY(-1px) !important;
  transform-origin: center !important;
}

@media (max-width: 900px){
  .uma-villas-page-kicker{
    gap: 8px !important;
    font-size: 15px !important;
  }

  .uma-villas-page-kicker::before{
    width: 8px !important;
    height: 8px !important;
    flex-basis: 8px !important;
  }
}
/* ===== FIN HOSPEDAJE CON ROMBO ===== */

/* ===== REDISEÑO GALERÍA HOME ===== */

.uma-two-gallery{
  padding: 95px 0 !important;
  overflow: hidden !important;
}

.uma-two-gallery-grid{
  grid-template-columns: .85fr 1.2fr .8fr !important;
  grid-template-rows: 245px 245px !important;
  gap: 16px !important;
}

.uma-two-gallery-copy{
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  min-height: 100% !important;
  padding: 34px 34px 30px !important;
  overflow: hidden !important;
  border-radius: 4px !important;
  background:
    linear-gradient(145deg, rgba(255,255,255,.04), transparent 46%),
    var(--uma-blue) !important;
}

.uma-two-gallery-copy::after{
  content: "" !important;
  position: absolute !important;
  right: -54px !important;
  bottom: -54px !important;
  width: 135px !important;
  height: 135px !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  transform: rotate(45deg) !important;
  pointer-events: none !important;
}

.uma-two-gallery-copy .uma-two-label{
  position: relative !important;
  z-index: 2 !important;
  margin-bottom: 14px !important;
  color: #6b6b6b !important;
}

.uma-two-gallery-copy h2{
  position: relative !important;
  z-index: 2 !important;
  max-width: 360px !important;
  margin: 0 !important;
  color: #ffffff !important;
  font-size: clamp(34px, 3.4vw, 49px) !important;
  line-height: 1.02 !important;
  letter-spacing: -.025em !important;
}

.uma-two-gallery-copy p{
  position: relative !important;
  z-index: 2 !important;
  max-width: 330px !important;
  margin: 18px 0 22px !important;
  color: rgba(255,255,255,.78) !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
}

.uma-two-gallery-copy .uma-two-primary{
  position: relative !important;
  z-index: 2 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: flex-start !important;
  gap: 8px !important;
  margin-top: auto !important;
  min-height: 44px !important;
  padding: 0 20px !important;
  border: 1px solid rgba(255,255,255,.78) !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: #ffffff !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .07em !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  transition:
    background .3s ease,
    color .3s ease,
    transform .3s ease,
    box-shadow .3s ease !important;
}

.uma-two-gallery-copy .uma-two-primary::after{
  content: "→" !important;
  font-size: 17px !important;
  line-height: 1 !important;
  transition: transform .3s ease !important;
}

.uma-two-gallery-copy .uma-two-primary:hover{
  background: #ffffff !important;
  color: var(--uma-blue) !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 12px 26px rgba(0,0,0,.18) !important;
}

.uma-two-gallery-copy .uma-two-primary:hover::after{
  transform: translateX(4px) !important;
}

.uma-two-photo{
  position: relative !important;
  overflow: hidden !important;
  border-radius: 4px !important;
  background-image: none !important;
  isolation: isolate !important;
}

.uma-two-photo::before{
  content: "" !important;
  position: absolute !important;
  z-index: 0 !important;
  inset: -2% !important;
  background-position: center !important;
  background-size: cover !important;
  transform: scale(1.015) translate3d(0,0,0) !important;
  transition:
    transform 1.5s cubic-bezier(.22,.61,.36,1),
    filter .8s ease !important;
  will-change: transform !important;
}

.photo-one::before{
  background-image:
    url('/uploads/partners/villas-uma-slider/villas-uma-1.jpg') !important;
}

.photo-two::before{
  background-image:
    url('/uploads/partners/villas-uma-slider/villas-uma-2.jpg') !important;
}

.photo-three::before{
  background-image:
    url('/uploads/partners/villas-uma-slider/villas-uma-3.jpg') !important;
}

.uma-two-photo::after{
  content: "" !important;
  position: absolute !important;
  z-index: 1 !important;
  inset: 0 !important;
  background:
    linear-gradient(
      180deg,
      rgba(23,23,23,.04),
      rgba(23,23,23,.27)
    ) !important;
  opacity: .72 !important;
  transition:
    opacity .6s ease,
    background .6s ease !important;
  pointer-events: none !important;
}

.uma-two-photo:hover::before{
  transform: scale(1.085) translate3d(0,-4px,0) !important;
  filter: saturate(1.08) contrast(1.03) !important;
}

.uma-two-photo:hover::after{
  opacity: 1 !important;
  background:
    linear-gradient(
      145deg,
      rgba(23,23,23,.08),
      rgba(23,23,23,.38)
    ) !important;
}

/* Entrada animada */
.uma-gallery-reveal .uma-two-gallery-copy,
.uma-gallery-reveal .uma-two-photo{
  opacity: 0 !important;
  transform: translate3d(0,30px,0) !important;
  transition:
    opacity .8s cubic-bezier(.22,.61,.36,1),
    transform .9s cubic-bezier(.22,.61,.36,1) !important;
}

.uma-gallery-reveal.is-visible .uma-two-gallery-copy,
.uma-gallery-reveal.is-visible .uma-two-photo{
  opacity: 1 !important;
  transform: translate3d(0,0,0) !important;
}

.uma-gallery-reveal.is-visible .photo-one{
  transition-delay: 90ms !important;
}

.uma-gallery-reveal.is-visible .photo-two{
  transition-delay: 170ms !important;
}

.uma-gallery-reveal.is-visible .photo-three{
  transition-delay: 250ms !important;
}

@media (max-width: 900px){
  .uma-two-gallery-grid{
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: auto !important;
  }

  .uma-two-gallery-copy{
    grid-column: 1 / -1 !important;
    min-height: 390px !important;
  }
}

@media (max-width: 600px){
  .uma-two-gallery{
    padding: 70px 0 !important;
  }

  .uma-two-gallery-grid{
    grid-template-columns: 1fr !important;
  }

  .uma-two-gallery-copy{
    min-height: 410px !important;
    padding: 30px 26px !important;
  }

  .uma-two-gallery-copy h2{
    font-size: 38px !important;
  }

  .uma-two-photo{
    min-height: 280px !important;
  }
}

/* ===== FIN REDISEÑO GALERÍA HOME ===== */

/* ===== BOTÓN GALERÍA NARANJA ===== */
.uma-two-gallery-copy .uma-two-primary{
  border-color: var(--uma-#6b6b6b) !important;
  background: var(--uma-#6b6b6b) !important;
  color: #ffffff !important;
}

.uma-two-gallery-copy .uma-two-primary:hover{
  border-color: #6b6b6b !important;
  background: #6b6b6b !important;
  color: #ffffff !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 12px 26px rgba(112,112,112,.28) !important;
}
/* ===== FIN BOTÓN GALERÍA NARANJA ===== */

/* ===== SOL EN CONDICIONES DEL OCÉANO ===== */
.uma-surf-label-icon{
  display: inline-flex !important;
  align-items: center !important;
  gap: 9px !important;
}

.uma-surf-sun{
  position: relative !important;
  display: inline-block !important;
  width: 12px !important;
  height: 12px !important;
  flex: 0 0 12px !important;
  border: 2px solid #6b6b6b !important;
  border-radius: 50% !important;
  box-shadow:
    0 -7px 0 -5px #6b6b6b,
    0 7px 0 -5px #6b6b6b,
    7px 0 0 -5px #6b6b6b,
    -7px 0 0 -5px #6b6b6b,
    5px 5px 0 -5px #6b6b6b,
    -5px -5px 0 -5px #6b6b6b,
    5px -5px 0 -5px #6b6b6b,
    -5px 5px 0 -5px #6b6b6b !important;
  filter: none !important;
}
/* ===== FIN SOL ===== */

/* ===== OVERRIDE ICONO TABLA SURF - CONDICIONES DEL OCEANO ===== */
.uma-surf-label-icon{
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
}

.uma-surf-sun{
  position: relative !important;
  display: inline-block !important;
  width: 18px !important;
  height: 38px !important;
  flex: 0 0 18px !important;
  box-sizing: border-box !important;
  border: 2px solid #6b6b6b !important;
  border-radius: 999px !important;
  background: linear-gradient(180deg, #c8c8c8 0%, #ffffff 52%, #c8c8c8 100%) !important;
  transform: rotate(-18deg) translateY(1px) !important;
  box-shadow: none !important;
  filter: none !important;
}

.uma-surf-sun::before{
  content: "" !important;
  position: absolute !important;
  top: 4px !important;
  bottom: 4px !important;
  left: 50% !important;
  width: 2px !important;
  transform: translateX(-50%) !important;
  background: #444444 !important;
  border-radius: 999px !important;
}

.uma-surf-sun::after{
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  bottom: -7px !important;
  transform: translateX(-50%) !important;
  width: 0 !important;
  height: 0 !important;
  border-left: 4px solid transparent !important;
  border-right: 4px solid transparent !important;
  border-top: 8px solid #6b6b6b !important;
}
/* ===== FIN OVERRIDE ICONO TABLA SURF ===== */


/* ===== RESTAURAR SOL ORIGINAL ===== */
.uma-surf-label-icon{
  display: inline-flex !important;
  align-items: center !important;
  gap: 9px !important;
}

.uma-surf-sun{
  position: relative !important;
  display: inline-block !important;
  width: 12px !important;
  height: 12px !important;
  flex: 0 0 12px !important;
  box-sizing: content-box !important;
  border: 2px solid #6b6b6b !important;
  border-radius: 50% !important;
  background: transparent !important;
  transform: none !important;
  box-shadow:
    0 -7px 0 -5px #6b6b6b,
    0 7px 0 -5px #6b6b6b,
    7px 0 0 -5px #6b6b6b,
    -7px 0 0 -5px #6b6b6b,
    5px 5px 0 -5px #6b6b6b,
    -5px -5px 0 -5px #6b6b6b,
    5px -5px 0 -5px #6b6b6b,
    -5px 5px 0 -5px #6b6b6b !important;
  filter: none !important;
}

.uma-surf-sun::before,
.uma-surf-sun::after{
  content: none !important;
  display: none !important;
}
/* ===== FIN RESTAURAR SOL ORIGINAL ===== */

/* ===== RESERVAS VILLAS PERRO LOCO: MISMO COLOR QUE LOS OTROS KICKERS ===== */
.uma-booking-strip-copy .uma-home-story-kicker{
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin-bottom: 12px !important;
  color: #a0a0a0 !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
}

.uma-booking-strip-copy .uma-home-story-kicker::before{
  content: "" !important;
  display: inline-block !important;
  width: 9px !important;
  height: 9px !important;
  flex: 0 0 9px !important;
  border-radius: 1px !important;
  background: #6b6b6b !important;
  transform: rotate(45deg) translateY(-1px) !important;
  box-shadow: none !important;
}

@media (max-width: 900px){
  .uma-booking-strip-copy .uma-home-story-kicker{
    gap: 8px !important;
    font-size: 15px !important;
  }

  .uma-booking-strip-copy .uma-home-story-kicker::before{
    width: 8px !important;
    height: 8px !important;
    flex-basis: 8px !important;
  }
}
/* ===== FIN COLOR RESERVAS KICKER ===== */

/* ===== SOLO CORRECCIÓN DE LOGOS, SIN TOCAR CARRUSEL ===== */

.uma-reserva-logo-box{
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  flex: 0 0 34px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  border-radius: 50% !important;
  background: #ffffff !important;
}

.uma-reserva-logo{
  width: 32px !important;
  height: 32px !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
  border-radius: 50% !important;
  transform: none !important;
  filter: none !important;
  opacity: 1 !important;
}

.uma-vrbo-logo-box{
  width: 34px !important;
  height: 28px !important;
  min-width: 34px !important;
  flex: 0 0 34px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: visible !important;
  background: transparent !important;
}

.uma-vrbo-logo{
  width: 32px !important;
  height: 22px !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
  transform: none !important;
  filter: none !important;
  opacity: 1 !important;
}

/* ===== FIN CORRECCIÓN DE LOGOS ===== */

/* ===== SOLO CORRECCIÓN DE LOGOS, SIN TOCAR CARRUSEL ===== */

.uma-reserva-logo-box{
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  flex: 0 0 34px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  border-radius: 50% !important;
  background: #ffffff !important;
}

.uma-reserva-logo{
  width: 32px !important;
  height: 32px !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
  border-radius: 50% !important;
  transform: none !important;
  filter: none !important;
  opacity: 1 !important;
}

.uma-vrbo-logo-box{
  width: 34px !important;
  height: 28px !important;
  min-width: 34px !important;
  flex: 0 0 34px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: visible !important;
  background: transparent !important;
}

.uma-vrbo-logo{
  width: 32px !important;
  height: 22px !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
  transform: none !important;
  filter: none !important;
  opacity: 1 !important;
}

/* ===== FIN CORRECCIÓN DE LOGOS ===== */

/* ===== CORRECCIÓN REAL Y FINAL DE LOGOS DEL CARRUSEL ===== */

/* Reserva directa: logo exacto de Villas Perro Loco */
.uma-booking-platform-direct .uma-platform-symbol{
  display: flex !important;
  grid-row: 1 / 3 !important;
  width: 3rem !important;
  height: 3rem !important;
  padding: 2px !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  border: 1px solid rgba(160,160,160,.28) !important;
  border-radius: .85rem !important;
  background: #ffffff !important;
  color: transparent !important;
}

.uma-booking-platform-direct .uma-platform-symbol img{
  display: block !important;
  width: 46px !important;
  height: 46px !important;
  max-width: none !important;
  max-height: none !important;
  padding: 0 !important;
  margin: 0 !important;
  object-fit: contain !important;
  object-position: center !important;
  transform: none !important;
  filter: none !important;
  opacity: 1 !important;
}

/* Vrbo: quitar padding que lo encoge y ampliar el símbolo */
.uma-booking-platform .uma-platform-symbol:has(img[alt="Vrbo"]){
  display: flex !important;
  grid-row: 1 / 3 !important;
  width: 3rem !important;
  height: 3rem !important;
  padding: 3px !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: visible !important;
  border: 1px solid rgba(68,68,68,.12) !important;
  border-radius: .85rem !important;
  background: #ffffff !important;
}

.uma-booking-platform img[alt="Vrbo"]{
  display: block !important;
  width: 40px !important;
  height: 40px !important;
  max-width: none !important;
  max-height: none !important;
  padding: 0 !important;
  margin: 0 !important;
  object-fit: contain !important;
  object-position: center !important;
  transform: scale(1.18) !important;
  filter: none !important;
  opacity: 1 !important;
}

/* ===== FIN CORRECCIÓN REAL DE LOGOS ===== */

/* ===== REDES SOCIALES FOOTER VILLAS PERRO LOCO ===== */

.uma-footer-social{
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin-top: 22px !important;
}

.uma-footer-social a{
  display: inline-flex !important;
  min-height: 42px !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 9px 13px !important;
  border: 1px solid rgba(160,160,160,.34) !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: #444444 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow: 0 6px 18px rgba(68,68,68,.08) !important;
  transition:
    transform .2s ease,
    background .2s ease,
    color .2s ease,
    border-color .2s ease !important;
}

.uma-footer-social a svg{
  width: 19px !important;
  height: 19px !important;
  flex: 0 0 19px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.8 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

.uma-footer-social a[href*="facebook"] svg,
.uma-footer-social a[href*="wa.me"] svg,
.uma-footer-social-whatsapp svg{
  fill: currentColor !important;
  stroke: none !important;
}

.uma-footer-social a:hover{
  border-color: #a0a0a0 !important;
  background: #a0a0a0 !important;
  color: #ffffff !important;
  transform: translateY(-2px) !important;
}

.uma-footer-social-pending{
  cursor: default !important;
  opacity: .68 !important;
  border-style: dashed !important;
}

.uma-footer-social-pending:hover{
  border-color: rgba(160,160,160,.45) !important;
  background: #ffffff !important;
  color: #444444 !important;
  transform: none !important;
}

@media (max-width: 600px){
  .uma-footer-social a{
    min-width: 42px !important;
    padding: 10px !important;
  }

  .uma-footer-social a span{
    display: none !important;
  }
}

/* ===== FIN REDES SOCIALES FOOTER ===== */

/* ===== REDES SOCIALES HORIZONTALES FOOTER ===== */

.uma-footer-social{
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  width: 100% !important;
  margin-top: 22px !important;
}

.uma-footer-social a{
  display: inline-flex !important;
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;
  flex: 0 0 42px !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  text-decoration: none !important;
  box-shadow: 0 6px 18px rgba(68,68,68,.10) !important;
  transition:
    transform .2s ease,
    box-shadow .2s ease !important;
}

.uma-footer-social a:hover{
  transform: translateY(-3px) scale(1.05) !important;
  background: #ffffff !important;
  box-shadow: 0 10px 24px rgba(68,68,68,.16) !important;
}

.uma-footer-social svg{
  display: block !important;
  width: 22px !important;
  height: 22px !important;
}

/* Instagram */
.uma-social-instagram{
  border: 1px solid rgba(68,68,68,.25) !important;
}

.uma-social-instagram svg rect,
.uma-social-instagram svg circle{
  fill: none !important;
  stroke: url(#umaInstagramGradient) !important;
  stroke-width: 1.9 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

/* Facebook */
.uma-social-facebook{
  border: 1px solid rgba(112,112,112,.25) !important;
}

.uma-social-facebook svg{
  fill: #707070 !important;
  stroke: none !important;
}

/* WhatsApp */
.uma-social-whatsapp{
  border: 1px solid rgba(160,160,160,.28) !important;
}

.uma-social-whatsapp svg{
  fill: #a0a0a0 !important;
  stroke: none !important;
}

/* ===== FIN REDES SOCIALES HORIZONTALES ===== */

/* ===== ALINEAR REDES DEL FOOTER A LA IZQUIERDA ===== */
.uma-footer-social{
  justify-content: flex-start !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  text-align: left !important;
}
/* ===== FIN ALINEACIÓN REDES FOOTER ===== */

/* =========================================================
   REDISEÑO TARJETAS Y REDES DE CONTACTO
   ========================================================= */

.uma-contact-social-row{
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 16px !important;
  margin: -14px 0 34px !important;
}

.uma-contact-social-label{
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  color: #a0a0a0 !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}

.uma-contact-social-label::before{
  content: "" !important;
  width: 8px !important;
  height: 8px !important;
  flex: 0 0 8px !important;
  border-radius: 1px !important;
  background: #6b6b6b !important;
  transform: rotate(45deg) !important;
}

.uma-contact-social-icons{
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
}

.uma-contact-social-icons a{
  display: inline-flex !important;
  width: 42px !important;
  height: 42px !important;
  flex: 0 0 42px !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  box-shadow: 0 9px 24px rgba(68,68,68,.11) !important;
  transition:
    transform .22s ease,
    box-shadow .22s ease !important;
}

.uma-contact-social-icons a:hover{
  transform: translateY(-4px) scale(1.06) !important;
  box-shadow: 0 15px 30px rgba(68,68,68,.17) !important;
}

.uma-contact-social-icons svg{
  width: 21px !important;
  height: 21px !important;
  display: block !important;
}

.uma-contact-social-instagram{
  border: 1px solid rgba(68,68,68,.22) !important;
}

.uma-contact-social-instagram rect,
.uma-contact-social-instagram circle{
  fill: none !important;
  stroke: url(#umaContactInstagram) !important;
  stroke-width: 1.9 !important;
}

.uma-contact-social-facebook{
  border: 1px solid rgba(112,112,112,.22) !important;
}

.uma-contact-social-facebook svg{
  fill: #707070 !important;
}

.uma-contact-social-whatsapp{
  border: 1px solid rgba(160,160,160,.25) !important;
}

.uma-contact-social-whatsapp svg{
  fill: #a0a0a0 !important;
}

/* Tarjetas */

.uma-contact-channel-card{
  min-height: 278px !important;
  padding: 28px !important;
  border-radius: 26px !important;
  isolation: isolate !important;
}

.uma-contact-channel-card::before{
  content: "" !important;
  position: absolute !important;
  top: 25px !important;
  right: 25px !important;
  width: 9px !important;
  height: 9px !important;
  border-radius: 1px !important;
  background: #6b6b6b !important;
  transform: rotate(45deg) !important;
  opacity: .7 !important;
}

.uma-contact-channel-card:nth-child(even)::before{
  background: #a0a0a0 !important;
}

.uma-contact-channel-icon{
  width: 58px !important;
  height: 58px !important;
  margin-bottom: 30px !important;
  border: 1px solid rgba(160,160,160,.25) !important;
  border-radius: 18px !important;
  background:
    linear-gradient(
      145deg,
      #ffffff,
      #e8e8e8
    ) !important;
  box-shadow: 0 12px 28px rgba(68,68,68,.10) !important;
  transform: rotate(-3deg) !important;
  transition:
    transform .25s ease,
    box-shadow .25s ease !important;
}

.uma-contact-channel-card:hover .uma-contact-channel-icon{
  transform: rotate(0deg) scale(1.08) !important;
  box-shadow: 0 16px 34px rgba(68,68,68,.16) !important;
}

.uma-contact-channel-icon svg{
  width: 27px !important;
  height: 27px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.8 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

.uma-contact-icon-booking{
  color: #707070 !important;
}

.uma-contact-icon-help{
  color: #6b6b6b !important;
  background:
    linear-gradient(
      145deg,
      #ffffff,
      #e8e8e8
    ) !important;
  border-color: rgba(160,160,160,.25) !important;
}

.uma-contact-icon-email{
  color: #444444 !important;
}

.uma-contact-icon-location{
  color: #6b6b6b !important;
  background:
    linear-gradient(
      145deg,
      #ffffff,
      #ffffff
    ) !important;
  border-color: rgba(160,160,160,.25) !important;
}

.uma-contact-channel-card h3{
  font-size: 23px !important;
}

.uma-contact-channel-card > strong{
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.uma-contact-channel-card > strong::before{
  content: "" !important;
  width: 6px !important;
  height: 6px !important;
  border-radius: 1px !important;
  background: #6b6b6b !important;
  transform: rotate(45deg) !important;
}

@media (max-width: 760px){
  .uma-contact-social-row{
    align-items: flex-start !important;
    justify-content: flex-start !important;
    flex-direction: column !important;
    margin-top: 0 !important;
  }

  .uma-contact-channel-card{
    min-height: 235px !important;
  }
}

/* ===== FIN REDISEÑO CONTACTO ===== */

/* ===== CTA CONTACTO CON FOTO START ===== */

.uma-contact-closing-photo{
  position: relative !important;
  padding: 72px 0 !important;
  overflow: hidden !important;
  background: #ffffff !important;
}

.uma-contact-closing-photo .container{
  position: relative !important;
  display: flex !important;
  min-height: 470px !important;
  align-items: flex-end !important;
  padding: 54px !important;
  overflow: hidden !important;
  border-radius: 32px !important;
  background:
    linear-gradient(
      90deg,
      rgba(68,68,68,.88) 0%,
      rgba(68,68,68,.66) 48%,
      rgba(68,68,68,.18) 100%
    ),
    url("/uploads/hero/20260729040055_c1d72f3268e0.jpg")
    center center / cover no-repeat !important;
  box-shadow: 0 28px 70px rgba(68,68,68,.18) !important;
}

.uma-contact-closing-photo .container::before{
  content: "" !important;
  position: absolute !important;
  top: 32px !important;
  right: 32px !important;
  width: 11px !important;
  height: 11px !important;
  border-radius: 2px !important;
  background: #6b6b6b !important;
  transform: rotate(45deg) !important;
  box-shadow: 0 0 0 11px rgba(160,160,160,.10) !important;
}

.uma-contact-closing-photo-content{
  position: relative !important;
  z-index: 2 !important;
  width: min(100%, 650px) !important;
}

.uma-contact-closing-photo-content > span{
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin-bottom: 17px !important;
  color: #c8c8c8 !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
}

.uma-contact-closing-photo-content > span::before{
  content: "" !important;
  width: 8px !important;
  height: 8px !important;
  flex: 0 0 8px !important;
  border-radius: 1px !important;
  background: #6b6b6b !important;
  transform: rotate(45deg) !important;
}

.uma-contact-closing-photo-content h2{
  max-width: 700px !important;
  margin: 0 0 18px !important;
  color: #ffffff !important;
  font-family: Georgia, serif !important;
  font-size: clamp(38px, 5vw, 66px) !important;
  font-weight: 400 !important;
  line-height: .98 !important;
  letter-spacing: -.04em !important;
  text-shadow: 0 5px 25px rgba(0,0,0,.26) !important;
}

.uma-contact-closing-photo-content p{
  max-width: 510px !important;
  margin: 0 0 27px !important;
  color: rgba(255,255,255,.82) !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
}

.uma-contact-closing-photo-content a{
  display: inline-flex !important;
  min-height: 52px !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 16px !important;
  padding: 0 23px !important;
  border-radius: 999px !important;
  background: #6b6b6b !important;
  color: #ffffff !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
  box-shadow: 0 15px 32px rgba(160,160,160,.28) !important;
  transition:
    transform .22s ease,
    background .22s ease,
    box-shadow .22s ease !important;
}

.uma-contact-closing-photo-content a:hover{
  transform: translateY(-3px) !important;
  background: #6b6b6b !important;
  box-shadow: 0 20px 38px rgba(160,160,160,.36) !important;
}

.uma-contact-closing-photo-content a strong{
  font-size: 18px !important;
  font-weight: 400 !important;
}

@media (max-width: 760px){
  .uma-contact-closing-photo{
    padding: 48px 0 !important;
  }

  .uma-contact-closing-photo .container{
    min-height: 440px !important;
    align-items: flex-end !important;
    padding: 34px 24px !important;
    border-radius: 24px !important;
    background:
      linear-gradient(
        180deg,
        rgba(68,68,68,.25) 0%,
        rgba(68,68,68,.88) 75%
      ),
      url("/uploads/hero/20260729040055_c1d72f3268e0.jpg")
      center center / cover no-repeat !important;
  }

  .uma-contact-closing-photo-content h2{
    font-size: clamp(34px, 11vw, 48px) !important;
  }
}

/* ===== CTA CONTACTO CON FOTO END ===== */

/* ===== CONTACTO SHOWCASE START ===== */

.uma-contact-showcase{
  position: relative !important;
  padding: 78px 0 !important;
  overflow: hidden !important;
  background:
    radial-gradient(
      circle at 88% 12%,
      rgba(160,160,160,.16),
      transparent 28%
    ),
    #ffffff !important;
}

.uma-contact-showcase::before{
  content: "" !important;
  position: absolute !important;
  top: 48px !important;
  left: 6% !important;
  width: 13px !important;
  height: 13px !important;
  border-radius: 2px !important;
  background: #6b6b6b !important;
  transform: rotate(45deg) !important;
  opacity: .7 !important;
}

.uma-contact-showcase-layout{
  display: grid !important;
  grid-template-columns:
    minmax(340px, .82fr)
    minmax(0, 1.18fr) !important;
  gap: 26px !important;
  align-items: stretch !important;
}

/* Panel principal */

.uma-contact-showcase-main{
  position: relative !important;
  display: flex !important;
  min-height: 590px !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  padding: clamp(38px, 5vw, 62px) !important;
  overflow: hidden !important;
  border-radius: 32px !important;
  background:
    radial-gradient(
      circle at 85% 15%,
      rgba(160,160,160,.28),
      transparent 30%
    ),
    #444444 !important;
  box-shadow: 0 28px 70px rgba(68,68,68,.18) !important;
}

.uma-contact-showcase-main::before{
  content: "" !important;
  position: absolute !important;
  right: -85px !important;
  bottom: -95px !important;
  width: 270px !important;
  height: 270px !important;
  border: 1px solid rgba(255,255,255,.09) !important;
  border-radius: 50% !important;
}

.uma-contact-showcase-main::after{
  content: "" !important;
  position: absolute !important;
  right: -30px !important;
  bottom: -42px !important;
  width: 155px !important;
  height: 155px !important;
  border-radius: 50% !important;
  background: rgba(160,160,160,.10) !important;
}

.uma-contact-showcase-kicker{
  position: relative !important;
  z-index: 2 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 11px !important;
  margin-bottom: 28px !important;
  color: #c8c8c8 !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
}

.uma-contact-showcase-kicker::before{
  content: "" !important;
  width: 8px !important;
  height: 8px !important;
  flex: 0 0 8px !important;
  border-radius: 1px !important;
  background: #6b6b6b !important;
  transform: rotate(45deg) !important;
}

.uma-contact-showcase-main h1{
  position: relative !important;
  z-index: 2 !important;
  max-width: 680px !important;
  margin: 0 0 24px !important;
  color: #ffffff !important;
  font-family: Georgia, serif !important;
  font-size: clamp(42px, 5vw, 68px) !important;
  font-weight: 400 !important;
  line-height: .98 !important;
  letter-spacing: -.045em !important;
}

.uma-contact-showcase-main > p{
  position: relative !important;
  z-index: 2 !important;
  max-width: 540px !important;
  margin: 0 !important;
  color: rgba(255,255,255,.70) !important;
  font-size: 15px !important;
  line-height: 1.85 !important;
}

.uma-contact-showcase-social{
  position: relative !important;
  z-index: 2 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 20px !important;
  margin-top: 48px !important;
  padding-top: 24px !important;
  border-top: 1px solid rgba(255,255,255,.12) !important;
}

.uma-contact-showcase-social > span{
  color: rgba(255,255,255,.48) !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
}

.uma-contact-showcase-social > div{
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

.uma-contact-showcase-social a{
  display: inline-flex !important;
  width: 42px !important;
  height: 42px !important;
  flex: 0 0 42px !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid rgba(255,255,255,.15) !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  box-shadow: 0 10px 25px rgba(0,0,0,.16) !important;
  transition:
    transform .2s ease,
    box-shadow .2s ease !important;
}

.uma-contact-showcase-social a:hover{
  transform: translateY(-3px) !important;
  box-shadow: 0 15px 30px rgba(0,0,0,.24) !important;
}

.uma-contact-showcase-social svg{
  display: block !important;
  width: 21px !important;
  height: 21px !important;
}

.uma-showcase-instagram rect,
.uma-showcase-instagram circle{
  fill: none !important;
  stroke: url(#umaShowcaseInstagram) !important;
  stroke-width: 1.9 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

.uma-showcase-facebook svg{
  fill: #707070 !important;
  stroke: none !important;
}

.uma-showcase-whatsapp svg{
  fill: #a0a0a0 !important;
  stroke: none !important;
}

/* Opciones */

.uma-contact-showcase-options{
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

.uma-contact-option{
  position: relative !important;
  display: grid !important;
  min-height: 286px !important;
  grid-template-columns: 58px minmax(0,1fr) auto !important;
  grid-template-rows: 1fr !important;
  gap: 18px !important;
  align-items: start !important;
  padding: 30px 26px !important;
  overflow: hidden !important;
  border: 1px solid rgba(68,68,68,.09) !important;
  border-radius: 28px !important;
  background: #ffffff !important;
  box-shadow: 0 20px 52px rgba(68,68,68,.08) !important;
  color: #444444 !important;
  text-decoration: none !important;
  transition:
    transform .25s ease,
    box-shadow .25s ease,
    border-color .25s ease !important;
}

.uma-contact-option::after{
  content: "" !important;
  position: absolute !important;
  right: -48px !important;
  bottom: -58px !important;
  width: 150px !important;
  height: 150px !important;
  border-radius: 50% !important;
  background: rgba(160,160,160,.09) !important;
  transition: transform .3s ease !important;
}

.uma-contact-option:hover{
  transform: translateY(-6px) !important;
  border-color: rgba(160,160,160,.46) !important;
  box-shadow: 0 28px 65px rgba(68,68,68,.14) !important;
}

.uma-contact-option:hover::after{
  transform: scale(1.25) !important;
}

.uma-contact-option-icon{
  position: relative !important;
  z-index: 2 !important;
  display: grid !important;
  width: 58px !important;
  height: 58px !important;
  place-items: center !important;
  border-radius: 18px !important;
  background: #e8e8e8 !important;
  color: #707070 !important;
}

.uma-contact-option:nth-child(2) .uma-contact-option-icon{
  background: #e8e8e8 !important;
  color: #6b6b6b !important;
}

.uma-contact-option:nth-child(3) .uma-contact-option-icon{
  background: #e8e8e8 !important;
  color: #444444 !important;
}

.uma-contact-option:nth-child(4) .uma-contact-option-icon{
  background: #ffffff !important;
  color: #6b6b6b !important;
}

.uma-contact-option-icon svg{
  width: 27px !important;
  height: 27px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.8 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

.uma-contact-option > div{
  position: relative !important;
  z-index: 2 !important;
  align-self: center !important;
}

.uma-contact-option small{
  display: block !important;
  margin-bottom: 10px !important;
  color: #6b6b6b !important;
  font-size: 9px !important;
  font-weight: 900 !important;
  letter-spacing: .13em !important;
  text-transform: uppercase !important;
}

.uma-contact-option h2{
  margin: 0 0 11px !important;
  color: #444444 !important;
  font-family: Georgia, serif !important;
  font-size: clamp(23px, 2.2vw, 31px) !important;
  font-weight: 400 !important;
  line-height: 1.06 !important;
  letter-spacing: -.025em !important;
}

.uma-contact-option p{
  max-width: 290px !important;
  margin: 0 !important;
  color: #707070 !important;
  font-size: 13px !important;
  line-height: 1.65 !important;
}

.uma-contact-option > strong{
  position: relative !important;
  z-index: 2 !important;
  display: grid !important;
  width: 38px !important;
  height: 38px !important;
  place-items: center !important;
  align-self: end !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  color: #707070 !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  transition:
    background .2s ease,
    color .2s ease,
    transform .2s ease !important;
}

.uma-contact-option:hover > strong{
  background: #6b6b6b !important;
  color: #ffffff !important;
  transform: translateX(3px) !important;
}

@media (max-width: 1080px){
  .uma-contact-showcase-layout{
    grid-template-columns: 1fr !important;
  }

  .uma-contact-showcase-main{
    min-height: 480px !important;
  }
}

@media (max-width: 720px){
  .uma-contact-showcase{
    padding: 48px 0 !important;
  }

  .uma-contact-showcase-main{
    min-height: auto !important;
    padding: 34px 25px !important;
    border-radius: 25px !important;
  }

  .uma-contact-showcase-main h1{
    font-size: clamp(36px, 11vw, 50px) !important;
  }

  .uma-contact-showcase-social{
    align-items: flex-start !important;
    flex-direction: column !important;
  }

  .uma-contact-showcase-options{
    grid-template-columns: 1fr !important;
  }

  .uma-contact-option{
    min-height: 240px !important;
    grid-template-columns: 50px minmax(0,1fr) !important;
    padding: 25px 22px !important;
  }

  .uma-contact-option-icon{
    width: 50px !important;
    height: 50px !important;
  }

  .uma-contact-option > strong{
    position: absolute !important;
    right: 22px !important;
    bottom: 22px !important;
  }
}

/* ===== CONTACTO SHOWCASE END ===== */


/* Consulta real de disponibilidad en el hero */
.uma-availability-result {
  margin-top: 16px;
  padding: 15px;
  border-radius: 14px;
  display: grid;
  gap: 7px;
  font-size: 14px;
  line-height: 1.45;
}

.uma-availability-result strong {
  display: block;
  font-size: 17px;
}

.uma-availability-result span,
.uma-availability-result small {
  display: block;
}

.uma-availability-result.is-loading {
  background: rgba(255,255,255, .72);
  border: 1px solid rgba(23,23,23, .12);
}

.uma-availability-result.is-available {
  background: rgba(255,255,255, .96);
  border: 1px solid #e8e8e8;
  color: #444444;
}

.uma-availability-result.is-unavailable {
  background: rgba(255,255,255, .96);
  border: 1px solid #c8c8c8;
  color: #444444;
}

.uma-availability-option {
  margin-top: 8px;
  padding-top: 12px;
  border-top: 1px solid rgba(68,68,68, .18);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.uma-availability-option b,
.uma-availability-option small {
  display: block;
}

.uma-availability-option .uma-full-primary {
  flex: 0 0 auto;
  padding: 10px 16px;
  text-decoration: none;
}

#heroAvailabilityButton:disabled {
  opacity: .65;
  cursor: wait;
}

@media (max-width: 640px) {
  .uma-availability-option {
    align-items: stretch;
    flex-direction: column;
  }

  .uma-availability-option .uma-full-primary {
    text-align: center;
  }
}

/* Mantener compacta la lista de disponibilidad dentro del hero */
.uma-availability-result.is-available {
  max-height: 260px;
  overflow-y: auto;
  overflow-x: hidden;
  padding-right: 10px;
}

.uma-availability-result.is-available::-webkit-scrollbar {
  width: 6px;
}

.uma-availability-result.is-available::-webkit-scrollbar-thumb {
  background: rgba(68,68,68, .28);
  border-radius: 999px;
}

.uma-availability-result.is-available::-webkit-scrollbar-track {
  background: transparent;
}


/* ===== BOOK NOW JUNTO AL HAMBURGUESA ===== */

.uma-header-book-now {
  position: absolute !important;
  right: 98px !important;
  top: 24px !important;
  z-index: 1005 !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-height: 42px !important;
  padding: 0 22px !important;

  border: 1px solid rgba(255,255,255,.7) !important;
  border-radius: 999px !important;

  background: rgba(23,23,23,.88) !important;
  color: #fff !important;

  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: .12em !important;
  text-decoration: none !important;
  white-space: nowrap !important;

  box-shadow: 0 8px 24px rgba(0,0,0,.14) !important;
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);

  transition:
    background .2s ease,
    transform .2s ease,
    box-shadow .2s ease !important;
}

.uma-header-book-now:hover {
  background: #444444 !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 10px 28px rgba(0,0,0,.20) !important;
}

body.uma-drawer-open .uma-header-book-now {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

@media (max-width: 700px) {
  .uma-header-book-now {
    right: 72px !important;
    top: 20px !important;
    min-height: 42px !important;
    padding: 0 15px !important;
    font-size: 10px !important;
    letter-spacing: .08em !important;
  }
}

@media (max-width: 390px) {
  .uma-header-book-now {
    right: 68px !important;
    padding: 0 11px !important;
    font-size: 9px !important;
  }
}


/* =========================================================
   POPUP BOOK NOW FINAL
   ========================================================= */

/* La caja ya NO ocupa espacio permanente dentro del hero */
.uma-full-booking-card {
  display: none !important;

  position: fixed !important;
  top: 96px !important;
  right: 28px !important;

  width: min(430px, calc(100vw - 32px)) !important;
  max-height: calc(100vh - 120px) !important;
  max-height: calc(100dvh - 120px) !important;

  padding: 24px !important;
  overflow: hidden !important;

  z-index: 10050 !important;

  border-radius: 18px !important;
  border: 1px solid rgba(255,255,255,.75) !important;
  border-top: 4px solid #a0a0a0 !important;

  background: rgba(255,255,255,.98) !important;

  box-shadow:
    0 24px 70px rgba(0,0,0,.34),
    0 4px 18px rgba(0,0,0,.12) !important;

  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
}

.uma-full-booking-card.is-open {
  display: block !important;
  animation: umaBookingPopupIn .22s ease both;
}

@keyframes umaBookingPopupIn {
  from {
    opacity: 0;
    transform: translateY(-8px) scale(.985);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}


/* El hero queda limpio cuando la caja está cerrada */
.uma-full-hero-content {
  grid-template-columns: 1fr !important;
}


/* X cerrar */
.uma-booking-popup-close {
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;

  width: 34px !important;
  height: 34px !important;
  min-height: 34px !important;

  margin: 0 !important;
  padding: 0 !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border: 0 !important;
  border-radius: 999px !important;

  background: #eef3f3 !important;
  color: #444444 !important;

  box-shadow: none !important;

  font-size: 24px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  cursor: pointer !important;
}

.uma-booking-popup-close:hover {
  background: #444444 !important;
  color: #fff !important;
}


/* Compactar título */
#umaBookingPopup .uma-full-card-label {
  margin-right: 40px !important;
}

#umaBookingPopup h2 {
  padding-right: 38px !important;
  font-size: 25px !important;
}

#umaBookingPopup > p {
  margin-bottom: 16px !important;
  font-size: 13px !important;
}


/* Formulario compacto */
#umaBookingPopup .uma-full-form-grid {
  gap: 9px !important;
}

#umaBookingPopup .uma-full-field {
  gap: 4px !important;
}

#umaBookingPopup .uma-full-field input,
#umaBookingPopup .uma-full-field select {
  min-height: 42px !important;
  padding: 8px 10px !important;
  border-radius: 9px !important;
  font-size: 13px !important;
}

#umaBookingPopup #heroAvailabilityButton {
  min-height: 43px !important;
  margin-top: 11px !important;
  font-size: 13px !important;
}


/* =========================================================
   RESULTADOS CON FOTO
   ========================================================= */

#umaBookingPopup .uma-availability-result.is-available {
  max-height: 330px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;

  margin-top: 12px !important;
  padding: 8px !important;

  background: #fff !important;
  border: 1px solid #e8e8e8 !important;
  color: #444444 !important;
}

#umaBookingPopup .uma-availability-result.is-available > strong,
#umaBookingPopup .uma-availability-result.is-available > span {
  padding-left: 5px !important;
  padding-right: 5px !important;
}


/* Cada villa */
#umaBookingPopup .uma-availability-option {
  display: grid !important;
  grid-template-columns: 100px minmax(0,1fr) auto !important;
  align-items: center !important;

  gap: 11px !important;

  margin-top: 9px !important;
  padding: 10px 0 0 !important;

  border-top: 1px solid #e8e8e8 !important;
}


/* Foto */
.uma-availability-photo {
  display: block !important;

  width: 100px !important;
  height: 78px !important;

  object-fit: cover !important;

  border-radius: 9px !important;

  background: #eef3f3 !important;
}


/* Información */
.uma-availability-info {
  min-width: 0 !important;
}

.uma-availability-info b {
  margin-bottom: 4px !important;

  color: #171717 !important;

  font-size: 14px !important;
  line-height: 1.2 !important;
}

.uma-availability-info small {
  color: #707070 !important;
  font-size: 11px !important;
  line-height: 1.35 !important;
}


/* Botón villa */
#umaBookingPopup .uma-availability-option .uma-full-primary {
  min-height: 36px !important;

  padding: 8px 11px !important;

  border-radius: 7px !important;

  font-size: 10px !important;
  white-space: nowrap !important;
}


/* Scroll */
#umaBookingPopup .uma-availability-result::-webkit-scrollbar {
  width: 5px !important;
}

#umaBookingPopup .uma-availability-result::-webkit-scrollbar-thumb {
  background: rgba(68,68,68,.28) !important;
  border-radius: 999px !important;
}


/* =========================================================
   MÓVIL
   ========================================================= */

@media (max-width: 700px) {

  .uma-full-booking-card {
    top: 78px !important;
    right: 12px !important;

    width: calc(100vw - 24px) !important;

    max-height: calc(100dvh - 94px) !important;

    padding: 18px !important;
  }

  #umaBookingPopup h2 {
    font-size: 22px !important;
  }

  #umaBookingPopup .uma-full-form-grid {
    grid-template-columns: 1fr 1fr !important;
  }

  #umaBookingPopup .uma-availability-option {
    grid-template-columns: 86px minmax(0,1fr) !important;
  }

  .uma-availability-photo {
    width: 86px !important;
    height: 72px !important;
  }

  #umaBookingPopup .uma-availability-option .uma-full-primary {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    text-align: center !important;
  }
}

@media (max-width: 390px) {

  #umaBookingPopup .uma-full-form-grid {
    grid-template-columns: 1fr !important;
  }

}

/* ===== COMPROBANTES POR WHATSAPP ===== */
.payment-whatsapp-proof {
  margin-top: 18px;
}

.payment-whatsapp-proof p {
  margin: 0 0 14px;
  color: #707070;
  font-size: 13px;
  line-height: 1.55;
}

.payment-proof-whatsapp-btn {
  display: flex;
  width: 100%;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 12px 18px;
  border-radius: 999px;
  background: #a0a0a0;
  color: #fff !important;
  text-decoration: none !important;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .04em;
  text-align: center;
  transition: transform .2s ease, background .2s ease;
}

.payment-proof-whatsapp-btn:hover {
  background: #a0a0a0;
  transform: translateY(-1px);
}


/* ===== COMPROBANTES WHATSAPP FINAL ===== */

.payment-whatsapp-proof {
  margin-top: 18px;
}

.payment-whatsapp-proof p {
  margin: 0 0 14px;
  color: #707070;
  font-size: 13px;
  line-height: 1.55;
}

.payment-proof-whatsapp-btn {
  display: flex;
  width: 100%;
  min-height: 48px;
  padding: 12px 18px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #a0a0a0;
  color: #fff !important;
  text-decoration: none !important;
  text-align: center;
  font-size: 12px;
  font-weight: 900;
}

.payment-proof-whatsapp-btn:hover {
  background: #a0a0a0;
}

/* =====================================================
   HEADER CONTROLES SIEMPRE VISIBLES - FINAL
   ===================================================== */

/* HAMBURGUESA */
.mobile-toggle {
    position: fixed !important;
    top: 22px !important;
    right: 40px !important;
    z-index: 100002 !important;

    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;

    transform: none !important;
}

/* NO OCULTAR HAMBURGUESA AL ABRIR EL DRAWER */
body.uma-drawer-open .mobile-toggle {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

/* BOOK NOW */
.uma-header-book-now {
    position: fixed !important;
    top: 24px !important;
    right: 98px !important;
    z-index: 100001 !important;

    display: inline-flex !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

/* MÓVIL */
@media (max-width: 700px) {

    .mobile-toggle {
        position: fixed !important;
        top: 18px !important;
        right: 16px !important;
    }

    .uma-header-book-now {
        position: fixed !important;
        top: 20px !important;
        right: 74px !important;
        min-height: 42px !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

}


/* =========================================================
   VILLAS PERRO LOCO
   TEMA FINAL BLANCO + NEGRO
   ========================================================= */

:root{
    --pl-black:#000000;
    --pl-dark:#111111;
    --pl-gray:#666666;
    --pl-gray-light:#e8e8e8;
    --pl-white:#ffffff;
}

/* GENERAL */
html,
body,
.uma-two{
    background:#ffffff !important;
    color:#111111 !important;
}

.uma-two h1,
.uma-two h2,
.uma-two h3,
.uma-two h4,
.uma-two h5,
.uma-two h6{
    color:#000000 !important;
}

.uma-two p,
.uma-two li,
.uma-two label{
    color:#222222;
}

.uma-two a{
    color:#000000;
}

/* HEADER */
.uma-two-header,
.uma-two-nav{
    color:#ffffff !important;
}

.uma-header-book-now{
    background:#000000 !important;
    color:#ffffff !important;
    border-color:#ffffff !important;
}

.uma-header-book-now:hover{
    background:#ffffff !important;
    color:#000000 !important;
    border-color:#000000 !important;
}

/* HAMBURGUESA */
.mobile-toggle,
.mobile-toggle span,
.mobile-toggle::before,
.mobile-toggle::after{
    color:#ffffff !important;
    border-color:#ffffff !important;
}

.mobile-toggle span{
    background:#ffffff !important;
}

/* MENÚ LATERAL */
.uma-two-menu{
    background:#000000 !important;
    color:#ffffff !important;
}

.uma-two-menu a,
.uma-two-menu span,
.uma-two-menu p,
.uma-two-menu strong{
    color:#ffffff !important;
}

.uma-two-menu a:hover{
    color:#bdbdbd !important;
}

.uma-drawer-close{
    color:#ffffff !important;
    border-color:#ffffff !important;
}

/* HERO */
.uma-two-hero,
.uma-home-hero{
    color:#ffffff !important;
}

.uma-two-hero h1,
.uma-two-hero h2,
.uma-two-hero p,
.uma-home-hero h1,
.uma-home-hero h2,
.uma-home-hero p{
    color:#ffffff !important;
}

/* EYEBROWS / KICKERS */
.eyebrow,
.uma-home-story-kicker,
.uma-section-kicker{
    color:#000000 !important;
}

/* BOTONES */
.btn,
.btn-primary,
button[type="submit"],
input[type="submit"]{
    background:#000000 !important;
    color:#ffffff !important;
    border-color:#000000 !important;
}

.btn:hover,
.btn-primary:hover,
button[type="submit"]:hover,
input[type="submit"]:hover{
    background:#ffffff !important;
    color:#000000 !important;
    border-color:#000000 !important;
}

/* FORMULARIOS */
input,
select,
textarea{
    background:#ffffff !important;
    color:#000000 !important;
    border-color:#a7a7a7 !important;
}

input:focus,
select:focus,
textarea:focus{
    border-color:#000000 !important;
    box-shadow:0 0 0 1px #000000 !important;
    outline:none !important;
}

/* BOOK NOW POPUP */
#heroAvailabilityForm,
.uma-booking-panel,
.uma-booking-popup,
.uma-availability-panel{
    background:#ffffff !important;
    color:#000000 !important;
}

#heroAvailabilityForm label{
    color:#000000 !important;
}

#heroAvailabilityButton{
    background:#000000 !important;
    color:#ffffff !important;
    border-color:#000000 !important;
}

#heroAvailabilityButton:hover{
    background:#ffffff !important;
    color:#000000 !important;
}

/* TARJETAS */
.card,
.villa-card,
.uma-card,
.uma-villa-card,
.simple-form{
    background:#ffffff !important;
    color:#111111 !important;
    border-color:#dedede !important;
}

.card h2,
.card h3,
.villa-card h2,
.villa-card h3,
.uma-card h2,
.uma-card h3{
    color:#000000 !important;
}

/* RESULTADOS DE DISPONIBILIDAD */
#umaSearchResults,
.uma-search-results,
.uma-result-card,
.uma-availability-card{
    color:#111111 !important;
}

.uma-result-card,
.uma-availability-card{
    background:#ffffff !important;
    border-color:#d4d4d4 !important;
}

.uma-result-card button,
.uma-result-card .btn,
.uma-availability-card button,
.uma-availability-card .btn{
    background:#000000 !important;
    color:#ffffff !important;
}

/* ÍCONOS */
.uma-two svg,
.uma-two svg path{
    color:inherit;
}

/* LÍNEAS Y BORDES */
hr{
    border-color:#d7d7d7 !important;
}

/* FOOTER */
.uma-footer,
footer{
    background:#000000 !important;
    color:#ffffff !important;
}

.uma-footer h2,
.uma-footer h3,
.uma-footer h4,
.uma-footer p,
.uma-footer span,
.uma-footer a,
.uma-footer li,
footer h2,
footer h3,
footer h4,
footer p,
footer span,
footer a{
    color:#ffffff !important;
}

.uma-footer a:hover,
footer a:hover{
    color:#bbbbbb !important;
}

/* REDES SOCIALES */
.uma-footer-social a{
    background:#ffffff !important;
    color:#000000 !important;
    border-color:#ffffff !important;
}

.uma-footer-social a:hover{
    background:#000000 !important;
    color:#ffffff !important;
    border-color:#ffffff !important;
}

/* WHATSAPP TAMBIÉN BLANCO/NEGRO */
.payment-proof-whatsapp-btn{
    background:#000000 !important;
    color:#ffffff !important;
    border-color:#000000 !important;
}

.payment-proof-whatsapp-btn:hover{
    background:#ffffff !important;
    color:#000000 !important;
}

/* DETALLES / PRECIOS */
.price,
.uma-price,
.uma-total,
.uma-result-price{
    color:#000000 !important;
}

/* FONDOS QUE ANTES ERAN VERDES / CREMA */
.uma-two .section,
.uma-two section:not(.uma-two-hero):not(.uma-home-hero){
    --uma-accent:#000000;
}

/* SELECCIÓN */
::selection{
    background:#000000;
    color:#ffffff;
}

/* =========================================================
   FIN TEMA BLANCO + NEGRO
   ========================================================= */


/* =====================================================
   VILLAS PERRO LOCO - HERO BLANCO + NEGRO FINAL
   ===================================================== */

/* TODO EL TEXTO DEL HERO EN BLANCO */
.uma-home-hero,
.uma-home-hero h1,
.uma-home-hero h2,
.uma-home-hero h3,
.uma-home-hero p,
.uma-home-hero span,
.uma-two-hero,
.uma-two-hero h1,
.uma-two-hero h2,
.uma-two-hero h3,
.uma-two-hero p,
#heroTitle {
    color: #ffffff !important;
}

/* ETIQUETA PLAYA BLANCA */
.uma-home-hero .eyebrow,
.uma-home-hero .uma-hero-kicker,
.uma-home-hero [class*="kicker"],
.uma-home-hero [class*="eyebrow"] {
    background: #ffffff !important;
    color: #000000 !important;
    border-color: #ffffff !important;
}

/* BOTÓN PRINCIPAL DEL HERO = NEGRO */
.uma-home-hero .btn-primary,
.uma-home-hero a.btn-primary,
.uma-home-hero button.btn-primary {
    background: #000000 !important;
    color: #ffffff !important;
    border: 1px solid #000000 !important;
}

/* BOTÓN SECUNDARIO DEL HERO = BLANCO */
.uma-home-hero .btn-secondary,
.uma-home-hero a.btn-secondary,
.uma-home-hero .btn-outline,
.uma-home-hero a.btn-outline {
    background: #ffffff !important;
    color: #000000 !important;
    border: 1px solid #ffffff !important;
}

/* POR SI LOS DOS BOTONES NO USAN ESAS CLASES */
.uma-home-hero .hero-actions a:first-child,
.uma-home-hero [class*="hero-actions"] a:first-child {
    background: #000000 !important;
    color: #ffffff !important;
    border-color: #000000 !important;
}

.uma-home-hero .hero-actions a:nth-child(2),
.uma-home-hero [class*="hero-actions"] a:nth-child(2) {
    background: #ffffff !important;
    color: #000000 !important;
    border-color: #ffffff !important;
}

/* HOVER INVERSO */
.uma-home-hero .hero-actions a:first-child:hover,
.uma-home-hero [class*="hero-actions"] a:first-child:hover {
    background: #ffffff !important;
    color: #000000 !important;
    border-color: #ffffff !important;
}

.uma-home-hero .hero-actions a:nth-child(2):hover,
.uma-home-hero [class*="hero-actions"] a:nth-child(2):hover {
    background: #000000 !important;
    color: #ffffff !important;
    border-color: #ffffff !important;
}

/* =====================================================
   FIN HERO PERRO LOCO
   ===================================================== */


/* VILLAS PERRO LOCO - BOTÓN HERO GRIS */
.uma-home-hero .btn-primary,
.uma-two-hero .btn-primary,
.uma-home-hero .hero-actions a:first-child,
.uma-two-hero .hero-actions a:first-child,
.uma-home-hero [class*="hero-actions"] a:first-child,
.uma-two-hero [class*="hero-actions"] a:first-child {
    background: #6b6b6b !important;
    color: #ffffff !important;
    border-color: #6b6b6b !important;
}

.uma-home-hero .btn-primary:hover,
.uma-two-hero .btn-primary:hover,
.uma-home-hero .hero-actions a:first-child:hover,
.uma-two-hero .hero-actions a:first-child:hover {
    background: #4a4a4a !important;
    color: #ffffff !important;
    border-color: #4a4a4a !important;
}


/* =====================================================
   VILLAS PERRO LOCO - ACENTO GRIS GLOBAL
   ===================================================== */

:root {
    --uma-accent: #6b6b6b !important;
    --uma-primary: #6b6b6b !important;
    --accent: #6b6b6b !important;
    --primary: #6b6b6b !important;
}

/* BOTONES Y CTA */
.btn-primary,
button.btn-primary,
a.btn-primary,
.hero-actions a:first-child,
[class*="cta"] .btn-primary {
    background: #6b6b6b !important;
    border-color: #6b6b6b !important;
    color: #ffffff !important;
}

.btn-primary:hover,
button.btn-primary:hover,
a.btn-primary:hover {
    background: #444444 !important;
    border-color: #444444 !important;
    color: #ffffff !important;
}

/* ETIQUETAS / BADGES / KICKERS */
.badge,
.tag,
.pill,
[class*="badge"],
[class*="tag"] {
    border-color: #6b6b6b !important;
}

/* ICONOS Y DETALLES DE ACENTO */
[class*="accent"] {
    color: #6b6b6b !important;
    border-color: #6b6b6b !important;
}

/* BOOK NOW */
.uma-header-book-now {
    background: #000000 !important;
    color: #ffffff !important;
    border-color: #ffffff !important;
}

/* =====================================================
   FIN GRIS GLOBAL
   ===================================================== */

/* =========================================================
   VILLAS PERRO LOCO
   PALETA FINAL: NEGRO + BLANCO + GRIS
   SIN VERDES / NARANJAS / TURQUESAS
   ========================================================= */

:root{
    --pl-black:#000000 !important;
    --pl-dark:#171717 !important;
    --pl-gray:#707070 !important;
    --pl-gray-dark:#444444 !important;
    --pl-gray-light:#e8e8e8 !important;
    --pl-white:#ffffff !important;

    --uma-accent:#707070 !important;
    --uma-primary:#000000 !important;
    --accent:#707070 !important;
    --primary:#000000 !important;
}

/* BASE */
html,
body,
.uma-two{
    background:#ffffff !important;
    color:#000000 !important;
}

/* TEXTO GENERAL */
.uma-two h1,
.uma-two h2,
.uma-two h3,
.uma-two h4,
.uma-two h5,
.uma-two h6{
    color:#000000 !important;
}

.uma-two p,
.uma-two li,
.uma-two label,
.uma-two strong{
    color:#171717;
}

/* =========================================
   HERO
   ========================================= */

/* TÍTULO: NO CAMBIAR, NEGRO */
#heroTitle,
.uma-home-hero #heroTitle{
    color:#000000 !important;
}

/* TEXTO HERO */
.uma-home-hero p,
.uma-home-hero .hero-subtitle,
.uma-home-hero .hero-description{
    color:#171717 !important;
}

/* ETIQUETA HERO */
.uma-home-hero .eyebrow,
.uma-home-hero [class*="kicker"]{
    background:#ffffff !important;
    color:#000000 !important;
    border-color:#000000 !important;
}

/* BOTÓN 1 */
.uma-home-hero .hero-actions a:first-child,
.uma-home-hero [class*="hero-actions"] a:first-child,
.uma-home-hero .btn-primary{
    background:#000000 !important;
    color:#ffffff !important;
    border-color:#000000 !important;
}

/* BOTÓN 2 */
.uma-home-hero .hero-actions a:nth-child(2),
.uma-home-hero [class*="hero-actions"] a:nth-child(2){
    background:#707070 !important;
    color:#ffffff !important;
    border-color:#707070 !important;
}

/* =========================================
   BOTONES DE TODO EL SITIO
   ========================================= */

.btn-primary,
a.btn-primary,
button.btn-primary,
button[type="submit"],
input[type="submit"]{
    background:#000000 !important;
    color:#ffffff !important;
    border-color:#000000 !important;
}

.btn-secondary,
a.btn-secondary,
.btn-outline{
    background:#707070 !important;
    color:#ffffff !important;
    border-color:#707070 !important;
}

.btn:hover,
button[type="submit"]:hover,
input[type="submit"]:hover{
    background:#444444 !important;
    color:#ffffff !important;
    border-color:#444444 !important;
}

/* =========================================
   QUITAR VERDE DE WHATSAPP / COMPROBANTES
   ========================================= */

.payment-proof-whatsapp-btn,
a.payment-proof-whatsapp-btn,
[class*="whatsapp-btn"],
[class*="whatsapp-button"]{
    background:#000000 !important;
    color:#ffffff !important;
    border-color:#000000 !important;
}

.payment-proof-whatsapp-btn:hover,
[class*="whatsapp-btn"]:hover,
[class*="whatsapp-button"]:hover{
    background:#707070 !important;
    color:#ffffff !important;
    border-color:#707070 !important;
}

/* =========================================
   BOOK NOW
   ========================================= */

.uma-header-book-now{
    background:#000000 !important;
    color:#ffffff !important;
    border-color:#ffffff !important;
}

.uma-header-book-now:hover{
    background:#ffffff !important;
    color:#000000 !important;
    border-color:#000000 !important;
}

/* =========================================
   FORMULARIOS
   ========================================= */

input,
select,
textarea{
    background:#ffffff !important;
    color:#000000 !important;
    border-color:#707070 !important;
}

input:focus,
select:focus,
textarea:focus{
    border-color:#000000 !important;
    box-shadow:0 0 0 1px #000000 !important;
}

/* =========================================
   TARJETAS / RESULTADOS
   ========================================= */

.card,
.villa-card,
.uma-card,
.uma-villa-card,
.uma-result-card,
.uma-availability-card,
.simple-form{
    background:#ffffff !important;
    color:#000000 !important;
    border-color:#e0e0e0 !important;
}

.price,
.uma-price,
.uma-total,
.uma-result-price{
    color:#000000 !important;
}

/* BADGES / ETIQUETAS / ESTADOS */
.badge,
.tag,
.pill,
[class*="badge"],
[class*="tag"],
[class*="status"]{
    background:#e8e8e8 !important;
    color:#000000 !important;
    border-color:#707070 !important;
}

/* =========================================
   LINKS / DETALLES
   ========================================= */

.uma-two a:not(.btn):not(.uma-header-book-now){
    color:#000000;
}

.uma-two a:not(.btn):hover{
    color:#707070;
}

/* =========================================
   MENÚ
   ========================================= */

#uma-site-drawer,
.uma-site-drawer,
.uma-two-menu{
    background:#000000 !important;
}

#uma-site-drawer a,
#uma-site-drawer span,
#uma-site-drawer p,
.uma-two-menu a,
.uma-two-menu span{
    color:#ffffff !important;
}

/* =========================================
   FOOTER
   ========================================= */

.uma-footer,
footer{
    background:#000000 !important;
    color:#ffffff !important;
}

.uma-footer h1,
.uma-footer h2,
.uma-footer h3,
.uma-footer h4,
.uma-footer p,
.uma-footer span,
.uma-footer a,
footer p,
footer span,
footer a{
    color:#ffffff !important;
}

.uma-footer-social a{
    background:#ffffff !important;
    color:#000000 !important;
    border-color:#ffffff !important;
}

.uma-footer-social a:hover{
    background:#707070 !important;
    color:#ffffff !important;
    border-color:#707070 !important;
}

/* SELECCIÓN */
::selection{
    background:#707070;
    color:#ffffff;
}

/* =========================================================
   FIN PALETA FINAL
   ========================================================= */


/* =====================================================
   VILLAS PERRO LOCO - HERO CORREGIDO FINAL
   ===================================================== */

/* TODO EL TEXTO DEL HERO NEGRO */
.uma-home-hero,
.uma-home-hero h1,
.uma-home-hero h2,
.uma-home-hero h3,
.uma-home-hero p,
.uma-home-hero strong,
.uma-home-hero small,
.uma-home-hero .hero-subtitle,
.uma-home-hero .hero-description,
#heroTitle {
    color:#000000 !important;
}

/* TÍTULO PRINCIPAL */
#heroTitle,
.uma-home-hero #heroTitle {
    color:#000000 !important;
}

/* ETIQUETA SUPERIOR */
.uma-home-hero .eyebrow,
.uma-home-hero [class*="eyebrow"],
.uma-home-hero [class*="kicker"],
.uma-home-hero [class*="badge"] {
    background:#ffffff !important;
    color:#000000 !important;
    border-color:#000000 !important;
}

/* BOTÓN 1 - RESERVAR AHORA */
.uma-home-hero .hero-actions a:first-child,
.uma-home-hero [class*="hero-actions"] a:first-child,
.uma-home-hero .btn-primary {
    background:#000000 !important;
    color:#ffffff !important;
    border:1px solid #000000 !important;
}

/* BOTÓN 2 - VER GALERÍA */
.uma-home-hero .hero-actions a:nth-child(2),
.uma-home-hero [class*="hero-actions"] a:nth-child(2),
.uma-home-hero .btn-secondary,
.uma-home-hero .btn-outline {
    background:#707070 !important;
    color:#ffffff !important;
    border:1px solid #707070 !important;
}

/* FORZAR TEXTO BLANCO DENTRO DE BOTONES */
.uma-home-hero .hero-actions a,
.uma-home-hero [class*="hero-actions"] a,
.uma-home-hero .btn {
    color:#ffffff !important;
}

/* HOVER */
.uma-home-hero .hero-actions a:first-child:hover,
.uma-home-hero .btn-primary:hover {
    background:#444444 !important;
    color:#ffffff !important;
    border-color:#444444 !important;
}

.uma-home-hero .hero-actions a:nth-child(2):hover,
.uma-home-hero .btn-secondary:hover,
.uma-home-hero .btn-outline:hover {
    background:#000000 !important;
    color:#ffffff !important;
    border-color:#000000 !important;
}

/* QUITAR CUALQUIER VERDE/TURQUESA HEREDADO EN LOS CTA DEL HERO */
.uma-home-hero a[class*="btn"],
.uma-home-hero button[class*="btn"] {
    box-shadow:none !important;
}

/* =====================================================
   FIN HERO
   ===================================================== */

/* =====================================================
   VILLAS PERRO LOCO - HERO CORREGIDO FINAL
   ===================================================== */

/* TODO EL TEXTO DEL HERO NEGRO */
.uma-home-hero,
.uma-home-hero h1,
.uma-home-hero h2,
.uma-home-hero h3,
.uma-home-hero p,
.uma-home-hero strong,
.uma-home-hero small,
.uma-home-hero .hero-subtitle,
.uma-home-hero .hero-description,
#heroTitle {
    color:#000000 !important;
}

/* TÍTULO PRINCIPAL */
#heroTitle,
.uma-home-hero #heroTitle {
    color:#000000 !important;
}

/* ETIQUETA SUPERIOR */
.uma-home-hero .eyebrow,
.uma-home-hero [class*="eyebrow"],
.uma-home-hero [class*="kicker"],
.uma-home-hero [class*="badge"] {
    background:#ffffff !important;
    color:#000000 !important;
    border-color:#000000 !important;
}

/* BOTÓN 1 - RESERVAR AHORA */
.uma-home-hero .hero-actions a:first-child,
.uma-home-hero [class*="hero-actions"] a:first-child,
.uma-home-hero .btn-primary {
    background:#000000 !important;
    color:#ffffff !important;
    border:1px solid #000000 !important;
}

/* BOTÓN 2 - VER GALERÍA */
.uma-home-hero .hero-actions a:nth-child(2),
.uma-home-hero [class*="hero-actions"] a:nth-child(2),
.uma-home-hero .btn-secondary,
.uma-home-hero .btn-outline {
    background:#707070 !important;
    color:#ffffff !important;
    border:1px solid #707070 !important;
}

/* FORZAR TEXTO BLANCO DENTRO DE BOTONES */
.uma-home-hero .hero-actions a,
.uma-home-hero [class*="hero-actions"] a,
.uma-home-hero .btn {
    color:#ffffff !important;
}

/* HOVER */
.uma-home-hero .hero-actions a:first-child:hover,
.uma-home-hero .btn-primary:hover {
    background:#444444 !important;
    color:#ffffff !important;
    border-color:#444444 !important;
}

.uma-home-hero .hero-actions a:nth-child(2):hover,
.uma-home-hero .btn-secondary:hover,
.uma-home-hero .btn-outline:hover {
    background:#000000 !important;
    color:#ffffff !important;
    border-color:#000000 !important;
}

/* QUITAR CUALQUIER VERDE/TURQUESA HEREDADO EN LOS CTA DEL HERO */
.uma-home-hero a[class*="btn"],
.uma-home-hero button[class*="btn"] {
    box-shadow:none !important;
}

/* =====================================================
   FIN HERO
   ===================================================== */

/* =====================================================
   PERRO LOCO - HERO REAL DEFINITIVO
   ===================================================== */

/* TÍTULO Y DESCRIPCIÓN NEGROS */
#heroTitle{
    color:#000000 !important;
}

#heroTitle + p,
.uma-home-hero p{
    color:#000000 !important;
}

/* ETIQUETA SUPERIOR */
.pl-hero-label{
    background:#ffffff !important;
    color:#000000 !important;
    border:1px solid #707070 !important;
}

/* RESERVAR AHORA */
a.pl-hero-reservar,
.pl-hero-reservar{
    background:#000000 !important;
    background-color:#000000 !important;
    color:#ffffff !important;
    border-color:#000000 !important;
    box-shadow:none !important;
}

/* VER GALERÍA */
a.pl-hero-galeria,
.pl-hero-galeria{
    background:#707070 !important;
    background-color:#707070 !important;
    color:#ffffff !important;
    border-color:#707070 !important;
    box-shadow:none !important;
}

/* HOVER */
a.pl-hero-reservar:hover{
    background:#444444 !important;
    color:#ffffff !important;
}

a.pl-hero-galeria:hover{
    background:#000000 !important;
    color:#ffffff !important;
}

/* =====================================================
   FIN HERO REAL
   ===================================================== */

/* VILLAS PERRO LOCO - TITULO HERO BLANCO */
#heroTitle,
.uma-home-hero #heroTitle{
    color:#ffffff !important;
    text-shadow:0 2px 10px rgba(0,0,0,.35);
}

/* RESTO DEL TEXTO DEL HERO NEGRO */
.uma-home-hero p,
.uma-home-hero .hero-subtitle,
.uma-home-hero .hero-description{
    color:#000000 !important;
}


/* PLAYA BLANCA · COSTA RICA - INVERTIDO */
.pl-hero-label,
.uma-home-hero .eyebrow,
.uma-home-hero [class*="eyebrow"],
.uma-home-hero [class*="kicker"]{
    background:#000000 !important;
    color:#ffffff !important;
    border-color:#000000 !important;
}


/* ==========================================================
   VILLAS PERRO LOCO
   MONOCROMO + CONTRASTE FINAL
   ========================================================== */

:root{
    --pl-black:#000000 !important;
    --pl-dark:#171717 !important;
    --pl-gray-dark:#444444 !important;
    --pl-gray:#707070 !important;
    --pl-gray-mid:#a0a0a0 !important;
    --pl-gray-light:#e8e8e8 !important;
    --pl-white:#ffffff !important;

    --uma-primary:#000000 !important;
    --uma-accent:#707070 !important;
    --primary:#000000 !important;
    --accent:#707070 !important;
}


/* ---------- BASE CLARA ---------- */

html,
body,
.uma-two{
    background:#ffffff !important;
    color:#171717 !important;
}

.uma-two h1,
.uma-two h2,
.uma-two h3,
.uma-two h4,
.uma-two h5,
.uma-two h6{
    color:#000000;
}

.uma-two p,
.uma-two li,
.uma-two label{
    color:#171717;
}


/* ---------- HERO ---------- */

/* TÍTULO GRANDE SE QUEDA BLANCO */
#heroTitle,
.uma-home-hero #heroTitle{
    color:#ffffff !important;
    text-shadow:
        0 2px 8px rgba(0,0,0,.65),
        0 1px 2px rgba(0,0,0,.9) !important;
}

/* DESCRIPCIÓN NEGRA, CON APOYO CLARO PARA QUE SIEMPRE LEA */
#heroSubtitle,
.uma-home-hero #heroSubtitle,
.uma-home-hero .hero-subtitle,
.uma-home-hero .hero-description{
    color:#000000 !important;
    text-shadow:
        0 1px 5px rgba(255,255,255,.95),
        0 0 12px rgba(255,255,255,.8) !important;
}


/* PLAYA BLANCA · COSTA RICA */
.pl-hero-label,
.uma-home-hero .eyebrow{
    background:#000000 !important;
    color:#ffffff !important;
    border-color:#000000 !important;
}


/* RESERVAR */
.pl-hero-reservar,
a.pl-hero-reservar{
    background:#000000 !important;
    color:#ffffff !important;
    border-color:#000000 !important;
}


/* GALERÍA */
.pl-hero-galeria,
a.pl-hero-galeria{
    background:#707070 !important;
    color:#ffffff !important;
    border-color:#707070 !important;
}

.pl-hero-reservar:hover,
.pl-hero-galeria:hover{
    background:#444444 !important;
    color:#ffffff !important;
    border-color:#444444 !important;
}


/* ---------- BOTONES GENERALES ---------- */

.btn-primary,
a.btn-primary,
button.btn-primary,
button[type="submit"],
input[type="submit"]{
    background:#000000 !important;
    color:#ffffff !important;
    border-color:#000000 !important;
}

.btn-secondary,
a.btn-secondary,
.btn-outline,
a.btn-outline{
    background:#707070 !important;
    color:#ffffff !important;
    border-color:#707070 !important;
}

.btn:hover,
button[type="submit"]:hover,
input[type="submit"]:hover{
    background:#444444 !important;
    color:#ffffff !important;
    border-color:#444444 !important;
}


/* ---------- TARJETAS CLARAS ---------- */

.card,
.villa-card,
.uma-card,
.uma-villa-card,
.uma-result-card,
.uma-availability-card,
.simple-form{
    background:#ffffff !important;
    color:#171717 !important;
    border-color:#e8e8e8 !important;
}

.card h1,
.card h2,
.card h3,
.card h4,
.villa-card h2,
.villa-card h3,
.uma-card h2,
.uma-card h3{
    color:#000000 !important;
}

.card p,
.villa-card p,
.uma-card p{
    color:#171717 !important;
}


/* ---------- FORMULARIOS ---------- */

input,
select,
textarea{
    background:#ffffff !important;
    color:#000000 !important;
    border-color:#a0a0a0 !important;
}

input::placeholder,
textarea::placeholder{
    color:#707070 !important;
}

input:focus,
select:focus,
textarea:focus{
    border-color:#000000 !important;
    box-shadow:0 0 0 1px #000000 !important;
}


/* ---------- FONDOS OSCUROS = TEXTO BLANCO ---------- */

.uma-footer,
footer,
#uma-site-drawer,
.uma-site-drawer,
.uma-two-menu,
.section-dark,
.dark-section,
[class*="section-dark"],
[class*="dark-section"]{
    background:#000000 !important;
    color:#ffffff !important;
}

.uma-footer h1,
.uma-footer h2,
.uma-footer h3,
.uma-footer h4,
.uma-footer p,
.uma-footer span,
.uma-footer li,
.uma-footer strong,
.uma-footer a,

footer h1,
footer h2,
footer h3,
footer h4,
footer p,
footer span,
footer li,
footer strong,
footer a,

#uma-site-drawer h1,
#uma-site-drawer h2,
#uma-site-drawer h3,
#uma-site-drawer p,
#uma-site-drawer span,
#uma-site-drawer li,
#uma-site-drawer strong,
#uma-site-drawer a,

.section-dark h1,
.section-dark h2,
.section-dark h3,
.section-dark p,
.section-dark span,
.section-dark li,
.section-dark a{
    color:#ffffff !important;
}


/* ---------- BOOK NOW ---------- */

.uma-header-book-now{
    background:#000000 !important;
    color:#ffffff !important;
    border-color:#ffffff !important;
}

.uma-header-book-now:hover{
    background:#ffffff !important;
    color:#000000 !important;
    border-color:#000000 !important;
}


/* ---------- WHATSAPP SIN VERDE ---------- */

.payment-proof-whatsapp-btn,
[class*="whatsapp-btn"],
[class*="whatsapp-button"]{
    background:#000000 !important;
    color:#ffffff !important;
    border-color:#000000 !important;
}

.payment-proof-whatsapp-btn:hover,
[class*="whatsapp-btn"]:hover,
[class*="whatsapp-button"]:hover{
    background:#707070 !important;
    color:#ffffff !important;
    border-color:#707070 !important;
}


/* ---------- BADGES / ESTADOS ---------- */

.badge,
.tag,
.pill,
[class*="badge"],
[class*="tag"],
[class*="status"]{
    background:#e8e8e8 !important;
    color:#000000 !important;
    border-color:#a0a0a0 !important;
}


/* ---------- LOGOS DE PLATAFORMAS / ICONOS A GRIS ---------- */

.uma-platform-logo,
.uma-footer-social img,
img[src*="simpleicons.org"]{
    filter:grayscale(1) !important;
}


/* ---------- REDES ---------- */

.uma-footer-social a{
    background:#ffffff !important;
    color:#000000 !important;
    border-color:#ffffff !important;
}

.uma-footer-social a:hover{
    background:#707070 !important;
    color:#ffffff !important;
}


/* ---------- SELECCIÓN ---------- */

::selection{
    background:#444444;
    color:#ffffff;
}

/* ==========================================================
   FIN MONOCROMO FINAL
   ========================================================== */


/* ==========================================================
   VILLAS PERRO LOCO
   CONTRASTE AUTOMATICO FINAL
   ========================================================== */

.pl-auto-text-light{
    color:#ffffff !important;
}

.pl-auto-text-dark{
    color:#000000 !important;
}


/* ==========================================================
   RESERVAS / PLATAFORMAS
   Fondo claro = texto negro
   ========================================================== */

.uma-booking-strip,
.uma-booking-strip-heading,
.uma-booking-marquee{
    color:#000000 !important;
}

.uma-booking-strip-copy,
.uma-booking-strip-copy h1,
.uma-booking-strip-copy h2,
.uma-booking-strip-copy h3,
.uma-booking-strip-copy p,
.uma-booking-strip-copy span,
.uma-booking-strip-copy strong{
    color:#000000 !important;
}

/* Quitar bloques grises detrás del título */
.uma-booking-strip-copy h1,
.uma-booking-strip-copy h2,
.uma-booking-strip-copy h3,
.uma-booking-strip-copy h1 *,
.uma-booking-strip-copy h2 *,
.uma-booking-strip-copy h3 *{
    background:transparent !important;
    background-color:transparent !important;
    color:#000000 !important;
    text-shadow:none !important;
}


/* Etiqueta superior */
.uma-booking-strip-copy .eyebrow{
    display:inline-block;
    background:#444444 !important;
    color:#ffffff !important;
    padding:4px 8px;
}


/* Tarjetas de Airbnb / Booking / Vrbo */
.uma-booking-platform{
    background:#ffffff !important;
    color:#000000 !important;
    border-color:#e8e8e8 !important;
}

.uma-booking-platform strong,
.uma-booking-platform span,
.uma-booking-platform small,
.uma-booking-platform p{
    color:#000000 !important;
}


/* Reserva directa destacada */
.uma-booking-platform-direct{
    background:#e8e8e8 !important;
    color:#000000 !important;
}

.uma-booking-platform-direct strong,
.uma-booking-platform-direct span,
.uma-booking-platform-direct p{
    color:#000000 !important;
}


/* ==========================================================
   BLOQUES OSCUROS
   ========================================================== */

.section-dark,
.dark-section,
[class*="dark-card"],
[class*="dark-panel"],
[class*="black-card"],
[class*="black-panel"]{
    color:#ffffff !important;
}

.section-dark h1,
.section-dark h2,
.section-dark h3,
.section-dark h4,
.section-dark p,
.section-dark span,
.section-dark strong,
.section-dark small,

.dark-section h1,
.dark-section h2,
.dark-section h3,
.dark-section h4,
.dark-section p,
.dark-section span,
.dark-section strong,
.dark-section small{
    color:#ffffff !important;
}


/* BLOQUES INLINE OSCUROS */
[style*="background:#000000"] h1,
[style*="background:#000000"] h2,
[style*="background:#000000"] h3,
[style*="background:#000000"] p,
[style*="background:#000000"] span,
[style*="background:#000000"] strong,

[style*="background:#171717"] h1,
[style*="background:#171717"] h2,
[style*="background:#171717"] h3,
[style*="background:#171717"] p,
[style*="background:#171717"] span,
[style*="background:#171717"] strong,

[style*="background:#444444"] h1,
[style*="background:#444444"] h2,
[style*="background:#444444"] h3,
[style*="background:#444444"] p,
[style*="background:#444444"] span,
[style*="background:#444444"] strong,

[style*="background: #000000"] h1,
[style*="background: #000000"] h2,
[style*="background: #000000"] h3,
[style*="background: #000000"] p,

[style*="background: #171717"] h1,
[style*="background: #171717"] h2,
[style*="background: #171717"] h3,
[style*="background: #171717"] p,

[style*="background: #444444"] h1,
[style*="background: #444444"] h2,
[style*="background: #444444"] h3,
[style*="background: #444444"] p{
    color:#ffffff !important;
}


/* ==========================================================
   FOOTER
   ========================================================== */

footer,
.uma-footer{
    background:#000000 !important;
    color:#ffffff !important;
}

footer h1,
footer h2,
footer h3,
footer h4,
footer h5,
footer p,
footer small,
footer span,
footer strong,
footer li,
footer label,
footer a,

.uma-footer h1,
.uma-footer h2,
.uma-footer h3,
.uma-footer h4,
.uma-footer p,
.uma-footer small,
.uma-footer span,
.uma-footer strong,
.uma-footer li,
.uma-footer a{
    color:#ffffff !important;
}

footer input,
footer textarea{
    background:#ffffff !important;
    color:#000000 !important;
    border-color:#a0a0a0 !important;
}

footer input::placeholder,
footer textarea::placeholder{
    color:#707070 !important;
}


/* ==========================================================
   HERO - CONSERVAR COMO LO DEJAMOS
   ========================================================== */

#heroTitle,
.uma-home-hero #heroTitle{
    color:#ffffff !important;
}

.pl-hero-label,
.uma-home-hero .eyebrow{
    background:#000000 !important;
    color:#ffffff !important;
}

.pl-hero-reservar{
    background:#000000 !important;
    color:#ffffff !important;
}

.pl-hero-galeria{
    background:#707070 !important;
    color:#ffffff !important;
}


/* ==========================================================
   FIN CONTRASTE
   ========================================================== */

/* ==========================================================
   VILLAS PERRO LOCO
   CONTRASTE AUTOMATICO FINAL
   ========================================================== */

.pl-auto-text-light{
    color:#ffffff !important;
}

.pl-auto-text-dark{
    color:#000000 !important;
}


/* ==========================================================
   RESERVAS / PLATAFORMAS
   Fondo claro = texto negro
   ========================================================== */

.uma-booking-strip,
.uma-booking-strip-heading,
.uma-booking-marquee{
    color:#000000 !important;
}

.uma-booking-strip-copy,
.uma-booking-strip-copy h1,
.uma-booking-strip-copy h2,
.uma-booking-strip-copy h3,
.uma-booking-strip-copy p,
.uma-booking-strip-copy span,
.uma-booking-strip-copy strong{
    color:#000000 !important;
}

/* Quitar bloques grises detrás del título */
.uma-booking-strip-copy h1,
.uma-booking-strip-copy h2,
.uma-booking-strip-copy h3,
.uma-booking-strip-copy h1 *,
.uma-booking-strip-copy h2 *,
.uma-booking-strip-copy h3 *{
    background:transparent !important;
    background-color:transparent !important;
    color:#000000 !important;
    text-shadow:none !important;
}


/* Etiqueta superior */
.uma-booking-strip-copy .eyebrow{
    display:inline-block;
    background:#444444 !important;
    color:#ffffff !important;
    padding:4px 8px;
}


/* Tarjetas de Airbnb / Booking / Vrbo */
.uma-booking-platform{
    background:#ffffff !important;
    color:#000000 !important;
    border-color:#e8e8e8 !important;
}

.uma-booking-platform strong,
.uma-booking-platform span,
.uma-booking-platform small,
.uma-booking-platform p{
    color:#000000 !important;
}


/* Reserva directa destacada */
.uma-booking-platform-direct{
    background:#e8e8e8 !important;
    color:#000000 !important;
}

.uma-booking-platform-direct strong,
.uma-booking-platform-direct span,
.uma-booking-platform-direct p{
    color:#000000 !important;
}


/* ==========================================================
   BLOQUES OSCUROS
   ========================================================== */

.section-dark,
.dark-section,
[class*="dark-card"],
[class*="dark-panel"],
[class*="black-card"],
[class*="black-panel"]{
    color:#ffffff !important;
}

.section-dark h1,
.section-dark h2,
.section-dark h3,
.section-dark h4,
.section-dark p,
.section-dark span,
.section-dark strong,
.section-dark small,

.dark-section h1,
.dark-section h2,
.dark-section h3,
.dark-section h4,
.dark-section p,
.dark-section span,
.dark-section strong,
.dark-section small{
    color:#ffffff !important;
}


/* BLOQUES INLINE OSCUROS */
[style*="background:#000000"] h1,
[style*="background:#000000"] h2,
[style*="background:#000000"] h3,
[style*="background:#000000"] p,
[style*="background:#000000"] span,
[style*="background:#000000"] strong,

[style*="background:#171717"] h1,
[style*="background:#171717"] h2,
[style*="background:#171717"] h3,
[style*="background:#171717"] p,
[style*="background:#171717"] span,
[style*="background:#171717"] strong,

[style*="background:#444444"] h1,
[style*="background:#444444"] h2,
[style*="background:#444444"] h3,
[style*="background:#444444"] p,
[style*="background:#444444"] span,
[style*="background:#444444"] strong,

[style*="background: #000000"] h1,
[style*="background: #000000"] h2,
[style*="background: #000000"] h3,
[style*="background: #000000"] p,

[style*="background: #171717"] h1,
[style*="background: #171717"] h2,
[style*="background: #171717"] h3,
[style*="background: #171717"] p,

[style*="background: #444444"] h1,
[style*="background: #444444"] h2,
[style*="background: #444444"] h3,
[style*="background: #444444"] p{
    color:#ffffff !important;
}


/* ==========================================================
   FOOTER
   ========================================================== */

footer,
.uma-footer{
    background:#000000 !important;
    color:#ffffff !important;
}

footer h1,
footer h2,
footer h3,
footer h4,
footer h5,
footer p,
footer small,
footer span,
footer strong,
footer li,
footer label,
footer a,

.uma-footer h1,
.uma-footer h2,
.uma-footer h3,
.uma-footer h4,
.uma-footer p,
.uma-footer small,
.uma-footer span,
.uma-footer strong,
.uma-footer li,
.uma-footer a{
    color:#ffffff !important;
}

footer input,
footer textarea{
    background:#ffffff !important;
    color:#000000 !important;
    border-color:#a0a0a0 !important;
}

footer input::placeholder,
footer textarea::placeholder{
    color:#707070 !important;
}


/* ==========================================================
   HERO - CONSERVAR COMO LO DEJAMOS
   ========================================================== */

#heroTitle,
.uma-home-hero #heroTitle{
    color:#ffffff !important;
}

.pl-hero-label,
.uma-home-hero .eyebrow{
    background:#000000 !important;
    color:#ffffff !important;
}

.pl-hero-reservar{
    background:#000000 !important;
    color:#ffffff !important;
}

.pl-hero-galeria{
    background:#707070 !important;
    color:#ffffff !important;
}


/* ==========================================================
   FIN CONTRASTE
   ========================================================== */

/* ==========================================================
   VILLAS PERRO LOCO
   CONTRASTE VISUAL DEFINITIVO
   ========================================================== */


/* ==========================================================
   RESERVAS / PLATAFORMAS
   ========================================================== */

.uma-booking-strip{
    background:#171717 !important;
    color:#ffffff !important;
    border-top:1px solid #333333 !important;
    border-bottom:1px solid #333333 !important;
}

.uma-booking-strip-heading{
    background:transparent !important;
}


/* RESERVAS VILLAS PERRO LOCO */
.uma-booking-strip-copy .eyebrow,
.uma-booking-strip-copy [class*="eyebrow"]{
    background:#ffffff !important;
    color:#000000 !important;
    border-color:#ffffff !important;
}


/* TITULO GRANDE */
.uma-booking-strip-copy h1,
.uma-booking-strip-copy h2,
.uma-booking-strip-copy h3,
.uma-booking-strip-copy h1 *,
.uma-booking-strip-copy h2 *,
.uma-booking-strip-copy h3 *{
    color:#ffffff !important;

    background:transparent !important;
    background-color:transparent !important;

    text-shadow:none !important;

    box-decoration-break:clone !important;
    -webkit-box-decoration-break:clone !important;
}


/* TEXTO SECUNDARIO */
.uma-booking-strip-copy p,
.uma-booking-strip-copy small{
    color:#d0d0d0 !important;
}


/* BOTON CONSULTAR DISPONIBILIDAD */
.uma-booking-strip-action .btn,
.uma-booking-strip-action a,
.uma-booking-strip-action button{
    background:#ffffff !important;
    color:#000000 !important;
    border-color:#ffffff !important;
}

.uma-booking-strip-action .btn:hover,
.uma-booking-strip-action a:hover,
.uma-booking-strip-action button:hover{
    background:#707070 !important;
    color:#ffffff !important;
    border-color:#707070 !important;
}


/* ==========================================================
   CARRUSEL PLATAFORMAS
   ========================================================== */

.uma-booking-marquee{
    background:#171717 !important;
}

.uma-booking-platform{
    background:#ffffff !important;
    color:#000000 !important;

    border:1px solid #e0e0e0 !important;

    box-shadow:none !important;
}

.uma-booking-platform strong,
.uma-booking-platform span,
.uma-booking-platform p,
.uma-booking-platform small{
    color:#000000 !important;
}


/* RESERVA DIRECTA */
.uma-booking-platform-direct{
    background:#707070 !important;
    color:#ffffff !important;
    border-color:#707070 !important;
}

.uma-booking-platform-direct strong,
.uma-booking-platform-direct span,
.uma-booking-platform-direct p,
.uma-booking-platform-direct small{
    color:#ffffff !important;
}


/* ==========================================================
   HERO PRINCIPAL
   ========================================================== */

#heroTitle,
.uma-home-hero #heroTitle,
.uma-home-hero h1{
    color:#ffffff !important;

    text-shadow:
        0 2px 8px rgba(0,0,0,.75),
        0 1px 2px rgba(0,0,0,.9) !important;
}


/* ==========================================================
   TODOS LOS HEADERS SOBRE FONDOS OSCUROS
   ========================================================== */

.section-dark h1,
.section-dark h2,
.section-dark h3,
.section-dark h4,

.dark-section h1,
.dark-section h2,
.dark-section h3,
.dark-section h4,

[class*="dark-section"] h1,
[class*="dark-section"] h2,
[class*="dark-section"] h3,
[class*="dark-section"] h4,

[class*="section-dark"] h1,
[class*="section-dark"] h2,
[class*="section-dark"] h3,
[class*="section-dark"] h4,

[class*="hero"] h1,
[class*="hero"] h2,
[class*="hero"] h3,

[class*="banner"] h1,
[class*="banner"] h2,
[class*="banner"] h3,

[class*="cover"] h1,
[class*="cover"] h2,
[class*="cover"] h3,

[class*="overlay"] h1,
[class*="overlay"] h2,
[class*="overlay"] h3{
    color:#ffffff !important;
}


/* TEXTO SOBRE BLOQUES OSCUROS */
.section-dark p,
.section-dark span,
.section-dark small,

.dark-section p,
.dark-section span,
.dark-section small,

[class*="section-dark"] p,
[class*="section-dark"] span,

[class*="dark-section"] p,
[class*="dark-section"] span{
    color:#e0e0e0 !important;
}


/* ==========================================================
   SECCIONES CON FOTOGRAFIA DE FONDO
   TITULOS SIEMPRE BLANCOS
   ========================================================== */

section[style*="background-image"] h1,
section[style*="background-image"] h2,
section[style*="background-image"] h3,

div[style*="background-image"] h1,
div[style*="background-image"] h2,
div[style*="background-image"] h3{
    color:#ffffff !important;

    text-shadow:
        0 2px 10px rgba(0,0,0,.8),
        0 1px 3px rgba(0,0,0,.95) !important;
}


/* ==========================================================
   FOOTER
   ========================================================== */

footer,
.uma-footer{
    background:#000000 !important;
    color:#ffffff !important;
}

footer h1,
footer h2,
footer h3,
footer h4,
footer h5,
footer h6,

.uma-footer h1,
.uma-footer h2,
.uma-footer h3,
.uma-footer h4,
.uma-footer h5{
    color:#ffffff !important;
}

footer p,
footer span,
footer small,
footer strong,
footer li,
footer a,

.uma-footer p,
.uma-footer span,
.uma-footer small,
.uma-footer strong,
.uma-footer li,
.uma-footer a{
    color:#e8e8e8 !important;
}


/* ==========================================================
   FORMULARIO DEL FOOTER
   ========================================================== */

footer input,
footer textarea,
footer select{
    background:#ffffff !important;
    color:#000000 !important;
    border-color:#a0a0a0 !important;
}

footer input::placeholder,
footer textarea::placeholder{
    color:#707070 !important;
}

footer button,
footer input[type="submit"]{
    background:#ffffff !important;
    color:#000000 !important;
    border-color:#ffffff !important;
}


/* ==========================================================
   SECCIONES BLANCAS NORMALES
   ========================================================== */

main section:not(.uma-home-hero):not(.uma-booking-strip):not(.section-dark):not(.dark-section)
> .container > h1,

main section:not(.uma-home-hero):not(.uma-booking-strip):not(.section-dark):not(.dark-section)
> .container > h2{
    color:#000000;
}


/* ==========================================================
   FIN CONTRASTE DEFINITIVO
   ========================================================== */
