:root{--thc-ink:#232323;--thc-heading:#111111;--thc-muted:#6b6b6b;--thc-brand:#e54584;--thc-brand-dark:#c83a72;--thc-brand-tint:#fff3f8;--thc-border:#eaeaea;--thc-surface:#ffffff;--thc-surface-alt:#f7f7f7;--thc-shadow-xs:0 1px 3px rgba(35, 35, 35, 0.05);--thc-shadow-sm:0 4px 14px rgba(35, 35, 35, 0.06);--thc-shadow-md:0 14px 34px rgba(35, 35, 35, 0.08);--thc-shadow-lg:0 20px 44px rgba(35, 35, 35, 0.12);--thc-shadow-brand:0 12px 26px rgba(229, 69, 132, 0.22);--thc-radius-sm:10px;--thc-radius-md:16px;--thc-radius-pill:999px;--thc-ease:cubic-bezier(0.2, 0.6, 0.3, 1);--thc-t-fast:160ms;--thc-t-base:220ms}::selection{background:var(--thc-brand);color:#fff}html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[role=button]:focus-visible{outline:2px solid var(--thc-brand)!important;outline-offset:2px;border-radius:4px}h1,h2,h3,.elementor-heading-title{letter-spacing:-.015em;text-wrap:balance}h1{line-height:1.15}h2{line-height:1.2}h3{line-height:1.3}p,li{text-wrap:pretty}.thc-city-intro{max-width:68ch;line-height:1.65;color:var(--thc-ink)}.thc-city-microcopy{color:var(--thc-muted);letter-spacing:.01em}.listing_title_unit,.listing_title_unit a{color:var(--thc-heading);transition:color var(--thc-t-fast) var(--thc-ease)}.listing_title_unit a:hover{color:var(--thc-brand)}.price_unit,.thc-price-from,.mvp-membership-plans__price{font-variant-numeric:tabular-nums}.elementor-button,.wpb_btn-info,.wpb_button,.wpestate_vc_button,.thc-card-view-btn{transition:background-color var(--thc-t-fast) var(--thc-ease),color var(--thc-t-fast) var(--thc-ease),border-color var(--thc-t-fast) var(--thc-ease),box-shadow var(--thc-t-base) var(--thc-ease),transform var(--thc-t-fast) var(--thc-ease);cursor:pointer}.elementor-button:hover,.wpb_btn-info:hover,.thc-card-view-btn:hover{transform:translateY(-1px);box-shadow:var(--thc-shadow-brand)}.elementor-button:active,.wpb_btn-info:active,.thc-card-view-btn:active{transform:translateY(0) scale(.98);box-shadow:none;transition-duration:80ms}.filter_menu_trigger{border-radius:var(--thc-radius-sm);transition:border-color var(--thc-t-fast) var(--thc-ease),box-shadow var(--thc-t-fast) var(--thc-ease),background-color var(--thc-t-fast) var(--thc-ease)}.filter_menu_trigger:hover{border-color:var(--thc-brand);background-color:var(--thc-brand-tint)}.dropdown-menu{border-radius:var(--thc-radius-sm)!important;border:1px solid var(--thc-border)!important;box-shadow:var(--thc-shadow-md)!important}.modal-content{border-radius:var(--thc-radius-md);box-shadow:var(--thc-shadow-lg)}input[type=text],input[type=email],input[type=password],input[type=tel],input[type=number],select,textarea{transition:border-color var(--thc-t-fast) var(--thc-ease),box-shadow var(--thc-t-fast) var(--thc-ease)}input[type=text]:focus,input[type=email]:focus,input[type=password]:focus,input[type=tel]:focus,input[type=number]:focus,select:focus,textarea:focus{border-color:var(--thc-brand);box-shadow:0 0 0 3px rgba(229,69,132,.12)}.menu-item-link,.menu-item a{transition:color var(--thc-t-fast) var(--thc-ease),background-color var(--thc-t-fast) var(--thc-ease)}#colophon a{transition:color var(--thc-t-fast) var(--thc-ease)}#colophon a:hover{color:var(--thc-brand)}@media (hover:none){.property_unit_v3:hover,.property_listing:hover{transform:none;box-shadow:var(--thc-shadow-xs)}.property_unit_v3:hover .listing-unit-img-wrapper img,.property_listing:hover .listing-unit-img-wrapper img{transform:none}.elementor-button:hover,.wpb_btn-info:hover,.thc-card-view-btn:hover{transform:none;box-shadow:none}.elementor-widget-icon-box .elementor-icon:hover{box-shadow:none!important;transform:none!important}.elementor-button:active,.wpb_btn-info:active,.thc-card-view-btn:active{transform:scale(.97)}}.thc-anim{opacity:0;transform:translateY(26px);transition:opacity .6s var(--thc-ease),transform .6s var(--thc-ease);will-change:opacity,transform}.thc-anim.thc-in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.thc-anim{opacity:1!important;transform:none!important;transition:none!important}}@media (hover:none) and (prefers-reduced-motion:no-preference){.thc-landing .elementor-widget-icon-box:not(.thc-steps) .elementor-icon img,.thc-landing .elementor-widget-icon-box:not(.thc-steps) .elementor-icon svg{animation:thc-float 3.4s ease-in-out infinite}}@keyframes thc-float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.thc-trust-pill{text-align:center}.thc-trust-pill .elementor-widget-container>*,.thc-trust-pill p{display:inline-block;background:var(--thc-brand);color:#fff!important;padding:9px 20px;border-radius:var(--thc-radius-pill);box-shadow:var(--thc-shadow-sm);margin:0}.thc-hero-sub{max-width:720px;margin-left:auto;margin-right:auto}.thc-landing .thc-hero .elementor-widget-button .elementor-button{box-shadow:0 8px 22px rgba(35,35,35,.16)}.thc-countup{line-height:1;letter-spacing:-.02em}.thc-countup .elementor-heading-title{white-space:nowrap;font-variant-numeric:tabular-nums;background:linear-gradient(100deg,#c83a72 0,#e54584 30%,#f06aa0 50%,#e54584 70%,#c83a72 100%);background-size:220%auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:thc-shimmer 5s linear infinite}@keyframes thc-shimmer{to{background-position:-220%center}}@media (prefers-reduced-motion:reduce){.thc-countup .elementor-heading-title{animation:none;background-position:0 center}}#thc-stats-band{row-gap:16px!important}#thc-stats-band>.e-con-inner>.e-con,#thc-stats-band>.e-con{position:relative;background:#fff;border:1px solid #f2e3ea;border-radius:var(--thc-radius-md);padding:30px 16px 26px!important;box-shadow:0 10px 30px rgba(229,69,132,.07);overflow:hidden;transition:transform .3s var(--thc-ease),box-shadow .3s var(--thc-ease)}#thc-stats-band>.e-con-inner>.e-con::before,#thc-stats-band>.e-con::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#e54584,#f06aa0)}#thc-stats-band>.e-con-inner>.e-con:hover,#thc-stats-band>.e-con:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(229,69,132,.14)}@media (max-width:767px){#thc-stats-band>.e-con-inner>.e-con,#thc-stats-band>.e-con{padding:22px 20px!important;min-width:0}#thc-stats-band .thc-countup .elementor-heading-title{font-size:46px!important}}.thc-countup .elementor-heading-title{position:relative;display:inline-block;padding-bottom:10px}.thc-countup .elementor-heading-title::after{content:"";position:absolute;left:50%;bottom:0;width:30px;height:3px;border-radius:3px;background:var(--thc-brand);transform:translateX(-50%) scaleX(0);transition:transform .6s var(--thc-ease) .25s}.thc-countup.thc-in .elementor-heading-title::after{transform:translateX(-50%) scaleX(1)}#thc-stats-band .elementor-widget-text-editor p{text-transform:uppercase;letter-spacing:.05em;font-size:12.5px!important;font-weight:600!important;color:var(--thc-muted)!important}.thc-countup .elementor-heading-title.thc-counted{animation:thc-count-pop .85s cubic-bezier(.18,.9,.3,1.5),thc-shimmer 5s linear infinite}@keyframes thc-count-pop{0%{transform:scale(.85)}45%{transform:scale(1.32)}68%{transform:scale(.95)}to{transform:scale(1)}}.thc-landing .thc-hero{background-position:center 78%!important}@media (max-width:767px){.thc-landing .thc-hero{background-image:url(/wp-content/uploads/2026/07/villa-ibicenca-piscina-javea-movil.jpg)!important;background-position:center center!important;background-size:cover!important}}.thc-steps .elementor-icon,.thc-steps .elementor-icon:hover{background:0 0!important;box-shadow:none!important;border:0!important;transform:none!important}.thc-steps .elementor-icon img,.thc-steps .elementor-icon svg{transition:transform var(--thc-t-base) var(--thc-ease),filter var(--thc-t-base) var(--thc-ease)}.thc-steps:hover .elementor-icon img,.thc-steps:hover .elementor-icon svg{transform:scale(1.09)!important;filter:drop-shadow(0 6px 14px rgba(229,69,132,.4))!important}.thc-landing .elementor-widget-button:not(.thc-cta-ghost) .elementor-button,.thc-landing .elementor-widget-button:not(.thc-cta-ghost) .elementor-button:hover,.thc-landing .elementor-widget-button:not(.thc-cta-ghost) .elementor-button:focus,.thc-landing .elementor-widget-button:not(.thc-cta-ghost) .elementor-button:active{background-color:var(--thc-brand)!important;background-image:none!important;color:#fff!important}.thc-landing .thc-cta-ghost .elementor-button{background-color:#fff!important;color:var(--thc-ink)!important}.thc-landing .thc-cta-ghost .elementor-button:hover{background-color:var(--thc-brand-tint)!important;color:var(--thc-ink)!important}.thc-benefit-card{background:#fff;border:1px solid #efe6ea;border-radius:var(--thc-radius-md);padding:30px 22px!important;box-shadow:var(--thc-shadow-sm);transition:transform var(--thc-t-base) var(--thc-ease),box-shadow var(--thc-t-base) var(--thc-ease),border-color var(--thc-t-base) var(--thc-ease);height:100%}.thc-benefit-card:hover{transform:translateY(-6px);box-shadow:var(--thc-shadow-lg);border-color:rgba(229,69,132,.35)}.thc-benefit-card .elementor-icon{background:var(--thc-brand-tint)!important;border:0!important;border-radius:50%!important;width:78px!important;height:78px!important;display:inline-flex!important;align-items:center;justify-content:center;transition:background var(--thc-t-base) var(--thc-ease),transform var(--thc-t-base) var(--thc-ease)}.thc-benefit-card:hover .elementor-icon{background:var(--thc-brand)!important;transform:scale(1.06)!important;box-shadow:none!important}.thc-benefit-card:hover .elementor-icon img{filter:brightness(0) invert(1)}.thc-benefit-card .elementor-icon img,.thc-benefit-card .elementor-icon svg{width:40px!important;height:40px!important;transition:filter var(--thc-t-base) var(--thc-ease)}.thc-benefit-icon .elementor-icon,.thc-benefit-icon .elementor-icon:hover{background:0 0!important;box-shadow:none!important;border:0!important;transform:none!important}.thc-benefit-icon .elementor-icon svg{filter:drop-shadow(0 8px 16px rgba(229,69,132,.14));transition:transform .4s var(--thc-ease),filter .4s var(--thc-ease)}.thc-benefit-icon:hover .elementor-icon svg{transform:translateY(-3px) scale(1.05);filter:drop-shadow(0 14px 22px rgba(229,69,132,.22))}.thc-landing .elementor-widget-icon-box:not(.thc-steps){height:100%}.thc-landing .elementor-widget-icon-box:not(.thc-steps) .elementor-icon-box-wrapper{height:100%;display:flex;flex-direction:column;align-items:center}.thc-landing .elementor-widget-icon-box:not(.thc-steps) .elementor-icon-box-title{min-height:2.6em;display:flex;align-items:center;justify-content:center}.thc-landing .listing_wrapper{height:100%}.thc-landing .property_unit_v3{height:100%;display:flex;flex-direction:column}.thc-landing .property_unit_v3 .listing-unit-img-wrapper{aspect-ratio:4/3;overflow:hidden}.thc-landing .property_unit_v3 .listing-unit-img-wrapper img{width:100%;height:100%;object-fit:cover}.thc-landing .property_unit_v3 .listing_title_unit{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.4em}.single-estate_property .listing_main_image_price:not(:has(.thc-price-from))::before{content:"Desde ";font-weight:500;color:var(--thc-ink)}.single-estate_property .listing_main_image_price .thc-price-from{color:var(--thc-ink)!important}.single-estate_property .submit_booking_front,.single-estate_property .submit_booking_front:hover,.single-estate_property #mobile_booking_triger,.single-estate_property #mobile_booking_triger:hover,.single-estate_property #submit_booking_front,.single-estate_property #submit_booking_front:hover{background-color:var(--thc-brand)!important;background-image:none!important;color:#fff!important;border-color:var(--thc-brand)!important}@media (max-width:767px){.single-estate_property .thc-whatsapp-floating{left:14px;right:auto;bottom:20px;z-index:9990}.single-estate_property .reservation_buttons,.single-estate_property .submit_booking_front_wrapper{width:100%!important;float:none!important;margin-bottom:20px}.single-estate_property .submit_booking_front{width:100%!important;display:block!important;text-align:center!important;padding:16px 20px!important;font-size:16px!important;border-radius:var(--thc-radius-pill)!important}.single-estate_property .listing_main_image_price:not(:has(.thc-price-from))::before{content:"Desde ";font-size:15px;font-weight:500;color:var(--thc-ink)}.single-estate_property .listing_main_image_price{display:block!important;font-family:"Fraunces",serif!important;font-size:22px!important;color:var(--thc-ink)!important;font-weight:600!important}.single-estate_property .listing_main_image_price .thc-price-from{display:inline!important;visibility:visible!important;font-size:15px!important;font-weight:500!important;color:var(--thc-ink)!important}}@media (min-width:480px) and (max-width:767px){.single-estate_property .mobile_booking_wrapper .mobile_booking_wrapper_flex{padding-left:64px}}@media (prefers-reduced-motion:reduce){*,::before,::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.property_unit_v3:hover,.property_listing:hover,.elementor-button:hover{transform:none}.property_unit_v3:hover .listing-unit-img-wrapper img,.property_listing:hover .listing-unit-img-wrapper img{transform:none}}.thc-page-hero .elementor-widget-heading .elementor-heading-title,.thc-hero .elementor-widget-heading .elementor-heading-title,.thc-page-hero h1.elementor-heading-title,.thc-page-hero h2.elementor-heading-title{text-shadow:0 1px 1px rgba(255,255,255,.55),0 0 14px rgba(255,255,255,.5),0 0 34px rgba(255,255,255,.34),0 0 60px rgba(255,255,255,.22)}.thc-page-hero .thc-hero-sub,.thc-hero .thc-hero-sub{text-shadow:0 1px 1px rgba(255,255,255,.5),0 0 12px rgba(255,255,255,.35)}@media (min-width:1025px){.elementor-element-e0dbfe2{align-items:flex-start!important}.elementor-element-39f2062{min-height:660px!important;align-self:flex-start!important;position:sticky;top:96px}}.elementor-icon-box-description{color:#5f6368!important}@media (max-width:374px){.single-estate_property .thc-whatsapp-floating{bottom:100px}}
/* ============================================================
   ED-3c (2026-08-21) -- IMPOSICION DELIBERADA: algunos checkbox del tema se estilan
   POR ID (ej. #user_terms_register_sh, modal de login/registro de cabecera) con
   especificidad (1,0,0), que gana a nuestro selector (0,2,0) aunque este ya use
   !important en la mayoria de propiedades. Se añade !important tambien a
   min-width/max-width/max-height (las que quedaban sin el) en appearance, tamano,
   min/max, border, border-radius, background e imagen de fondo, en base/:checked/
   :focus-visible/:disabled -- esta hoja IMPONE el diseño de casa, no negocia con IDs.
   ED-3 (2026-08-21) -- Checkbox/radio UNICO de toda la web.
   Referencia exacta: #booking_form_request input[type=checkbox] en
   wp-content/novamira-sandbox/thc-booking-widget-fx.php (formulario
   "Contacta para reservar" de la ficha). Mismo tamano/borde/radio/glifo/
   color en TODO el sitio: publico y zona privada.
   GOTCHA: el tema padre (WPRentals, style.css ~L14781) repinta CUALQUIER
   checkbox con un pseudo-elemento FontAwesome propio (:checked:before,
   contenido \f00c, color #b881fc). accent-color no lo evita. Se anula ese
   pseudo Y se dibuja el control entero. El selector repite el atributo
   [type="checkbox"] para ganar especificidad sin depender del orden de
   carga (mismo truco que ya usa este tema para batir zona-privada.css). */
input[type="checkbox"][type="checkbox"]::before,
input[type="checkbox"][type="checkbox"]::after,
input[type="checkbox"][type="checkbox"]:checked::before,
input[type="checkbox"][type="checkbox"]:checked::after {
  content: none !important;
  display: none !important;
}
input[type="checkbox"][type="checkbox"] {
  -webkit-appearance: none !important;
  appearance: none !important;
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  max-width: 20px !important;
  min-height: 0 !important;
  max-height: 20px !important;
  aspect-ratio: 1 / 1;
  flex: 0 0 20px;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1.5px solid #d0d0d0 !important;
  border-radius: 6px !important;
  background-color: var(--thc-surface, #fff) !important;
  background-image: none !important;
  box-shadow: none !important;
  cursor: pointer;
  display: inline-block;
  vertical-align: middle;
  position: static !important;
  transition: border-color var(--thc-t-fast, 160ms) var(--thc-ease, ease),
              background-color var(--thc-t-fast, 160ms) var(--thc-ease, ease);
}
input[type="checkbox"][type="checkbox"]:hover {
  border-color: var(--thc-brand, #e54584) !important;
}
input[type="checkbox"][type="checkbox"]:checked {
  background-color: var(--thc-brand, #e54584) !important;
  border-color: var(--thc-brand, #e54584) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22white%22 stroke-width=%223.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpolyline points=%224.5 12.5 9.5 17.5 19.5 6.5%22/%3E%3C/svg%3E") !important;
  background-position: center center !important;
  background-size: 12px 12px !important;
  background-repeat: no-repeat !important;
}
input[type="checkbox"][type="checkbox"]:disabled {
  cursor: default;
  opacity: .5;
  border-color: #e2e2e2 !important;
  background-color: #f5f5f5 !important;
}
input[type="checkbox"][type="checkbox"]:focus-visible {
  outline: 2px solid var(--thc-cta, #c83a72) !important;
  outline-offset: 2px !important;
}

/* Radio: mismo lenguaje (circulo radio 999px en vez de 6px, mismo borde/
   colores/transicion). El tema padre NO repinta el radio nativo (su regla
   input[type="radio"]{} esta vacia en style.css), se define igualmente para
   que cualquier radio del sitio hable el mismo idioma que el checkbox. */
input[type="radio"][type="radio"]::before,
input[type="radio"][type="radio"]::after {
  content: none !important;
  display: none !important;
}
input[type="radio"][type="radio"] {
  -webkit-appearance: none !important;
  appearance: none !important;
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  max-width: 20px !important;
  min-height: 0 !important;
  max-height: 20px !important;
  aspect-ratio: 1 / 1;
  flex: 0 0 20px;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1.5px solid #d0d0d0 !important;
  border-radius: 999px !important;
  background-color: var(--thc-surface, #fff) !important;
  background-image: none !important;
  box-shadow: none !important;
  cursor: pointer;
  display: inline-block;
  vertical-align: middle;
  position: static !important;
  transition: border-color var(--thc-t-fast, 160ms) var(--thc-ease, ease),
              background-color var(--thc-t-fast, 160ms) var(--thc-ease, ease);
}
input[type="radio"][type="radio"]:hover {
  border-color: var(--thc-brand, #e54584) !important;
}
input[type="radio"][type="radio"]:checked {
  border-color: var(--thc-brand, #e54584) !important;
  background-color: var(--thc-surface, #fff) !important;
  background-image: radial-gradient(circle, var(--thc-brand, #e54584) 42%, transparent 44%) !important;
  background-position: center center !important;
  background-size: 20px 20px !important;
  background-repeat: no-repeat !important;
}
input[type="radio"][type="radio"]:disabled {
  cursor: default;
  opacity: .5;
  border-color: #e2e2e2 !important;
  background-color: #f5f5f5 !important;
}
input[type="radio"][type="radio"]:focus-visible {
  outline: 2px solid var(--thc-cta, #c83a72) !important;
  outline-offset: 2px !important;
}
/* ponytail: zona-privada.css fuerza border-radius:3px / min-width:0 /
   margin-right:6px !important sobre estos inputs DENTRO de .user_dashboard_panel
   (fichero fuera del WRITE SET de este ticket, no se toca). Esas 3 propiedades
   cosmeticas pueden seguir viendose distintas SOLO en zona privada/editor; el
   resto (glifo unico, color, foco, tamano base) ya es identico en todo el sitio.
   Via de mejora: alinear esas 3 declaraciones en zona-privada.css cuando se
   autorice tocar ese fichero. */