: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:-0.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:0.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,.mvp-membership-plans__button{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,.mvp-membership-plans__button:hover{transform:translateY(-1px);box-shadow:var(--thc-shadow-brand);}.elementor-button:active,.wpb_btn-info:active,.thc-card-view-btn:active,.mvp-membership-plans__button:active{transform:translateY(0) scale(0.98);box-shadow:none;transition-duration:80ms;}.mvp-membership-plans__card{border-radius:var(--thc-radius-md);box-shadow:var(--thc-shadow-sm);transition:box-shadow var(--thc-t-base) var(--thc-ease),transform var(--thc-t-base) var(--thc-ease),border-color var(--thc-t-base) var(--thc-ease);}.mvp-membership-plans__card:hover{box-shadow:var(--thc-shadow-lg);transform:translateY(-4px);border-color:rgba(229,69,132,0.35);}.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"],input[type="search"],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,input[type="search"]:focus,select:focus,textarea:focus{border-color:var(--thc-brand);box-shadow:0 0 0 3px rgba(229,69,132,0.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,.mvp-membership-plans__card: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,.mvp-membership-plans__button: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,.mvp-membership-plans__button:active{transform:scale(0.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%,100%{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:#FFFFFF !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,0.16);}.thc-countup{line-height:1;letter-spacing:-0.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:#FFFFFF;border:1px solid #F2E3EA;border-radius:var(--thc-radius-md);padding:30px 16px 26px !important;box-shadow:0 10px 30px rgba(229,69,132,0.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,0.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:0.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(0.85);}45%{transform:scale(1.32);}68%{transform:scale(0.95);}100%{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:transparent !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,0.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:#FFFFFF !important;}.thc-landing .thc-cta-ghost .elementor-button{background-color:#FFFFFF !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:#FFFFFF;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,0.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:transparent !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,0.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,0.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;}@media (max-width:767px){.single-estate_property .thc-whatsapp-floating{left:14px;right:auto;bottom:20px;z-index:9990;}.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 .thc-price-from{display:inline !important;visibility:visible !important;font-size:15px !important;font-weight:500 !important;color:var(--thc-ink) !important;}}@media (max-width:374px){.single-estate_property .thc-whatsapp-floating{bottom:100px;}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:0.01ms !important;animation-duration:0.01ms !important;animation-iteration-count:1 !important;}.property_unit_v3:hover,.property_listing:hover,.mvp-membership-plans__card: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,.50),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;}
/* ============================================================
   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. */