/**
* Theme Name: Wellness Bliss Child
* Description: This is a child theme of Wellness Bliss.
* Author: <a href="https://cmsmasters.net/">cmsmasters</a>
* Template: wellness-bliss
* Version: 1.0.0
* Tested up to: 6.6
* Requires PHP: 7.4
* License:
* License URI:
* Text Domain: wellness-bliss-child
* Copyright: cmsmasters 2025 / All Rights Reserved
*/
/*#bg-video {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh;
  object-fit: cover;
  z-index: 1; 
  pointer-events: none;
  opacity: 0.9;
}
*/

.dorado_back {
  background: linear-gradient(90deg, #D3A469 0%, #A17C4D 100%);
}
.dorado_border:linear-gradient(90deg, #D3A469 0%, #A17C4D 100%) 1;
}
.dorado_text{
  background: linear-gradient(90deg, #D3A469 0%, #A17C4D 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}
.dorado_text .elementor-heading-title {
  background: linear-gradient(90deg, #D3A469 0%, #A17C4D 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}

/* Subrayado degradado para títulos */
#tituldecor {
  position: relative;
  display: inline-block;
}
#tituldecor::after {
  content: "" !important;
  position: absolute !important;
  left: 35% !important;
  bottom: -5px !important;
  width: 30% !important;
  height: 1px !important;
  background: linear-gradient(90deg, #D3A469 0%, #A17C4D 100%) !important;
}
/* Fuerza el recorte del video con border radius */
.video-rounded .elementor-widget-cmsmasters-video__container,
.video-rounded .elementor-widget-cmsmasters-video__wrap,
.video-rounded .elementor-widget-cmsmasters-video__inner {
  border-radius: 20px;
  overflow: hidden;
}

/* Video */
.video-rounded video {
  border-radius: 20px;
  display: block;
}

/* Imagen de portada */
.video-rounded .elementor-widget-cmsmasters-video__cover-image,
.video-rounded .elementor-widget-cmsmasters-video__cover-image img {
  border-radius: 20px;
}
.tarjetacontact {
  width: 590px;
  min-height: 400px !important;
  padding: 40px;
}

.service-durations{
  display:flex;
  gap:18px;
  justify-content:flex-end; /* como en tu screenshot a la derecha */
  align-items:center;
}

.duration-btn{
  width:56px;
  height:56px;
  border-radius:50%;
  border:1px solid rgba(237,226,215,0.9);
  background:transparent;
  color:#EDE2D7;
  font-size:16px;
  cursor:pointer;
  transition:all .25s ease;
}

.duration-btn.active{
  background:#EDE2D7;
  color:#1b1208;
}

.service-price-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-top:18px;
}

.service-price{
  font-size:20px;
}
.service-pricing{
  display:flex;
  flex-direction:column;
  gap:22px;
}

.service-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
}

.service-label{
  color:#EDE2D7;
}

.service-durations{
  display:flex;
  gap:14px;
}

.duration-btn{
  padding:12px 18px;
  border-radius:999px;
  border:1px solid #EDE2D7;
  background:transparent;
  color:#EDE2D7;
  cursor:pointer;
  transition:all .25s ease;
}

.duration-btn.active{
  background:#EDE2D7;
  color:#1b1208;
}

.service-price{
  font-size:20px;
  font-weight:500;
}
#ritual-map{
	  border-radius: 20px;
  overflow: hidden;
}
.icono_servicio img {
  filter: brightness(0) invert(1);
  max-height: 60px !important;
}
/* Contenedor principal */
.dp-wrap {
  border-top: 1px solid rgba(255, 255, 255, .18);
  border-bottom: 1px solid rgba(255, 255, 255, .18);
  padding: 18px 0;
  color: #fff;
  margin-top: 40px;
}

/* Fila general (duración y precio) */
.dp-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

/* Etiqueta (Duración y Precio) */
.dp-label {
  font-size: 20px;
  font-family: 'Philosopher', sans-serif !important;
  line-height: 1.2;
  opacity: .95;
  color: #fff;
}

/* Opciones de duración (botones) */
.dp-options {
  display: flex;
  gap: 16px;
}
.dp-pill {
  width: 56px;
  height: 56px;
  border-radius: 50% !important;
  background: transparent !important;
  border: 1px solid rgba(255,255,255,.55);
  color: rgba(255,255,255,.9);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: .18s ease;
}

/* ACTIVO = BLANCO */
.dp-pill.is-active {
  background: #ffffff !important;
  color: #987040 !important;
  border-color: #ffffff !important;
}

/* Hover opcional */
.dp-pill:hover {
  color: #987040;
}

/* 🚨 Matar pseudo-elementos del theme */
button.dp-pill::before,
button.dp-pill::after {
  content: none !important;
  display: none !important;
}

.dp-label{
	font-family: var(--cmsmasters-h5-font-family);
  font-weight: var(--cmsmasters-h5-font-weight);
  font-style: var(--cmsmasters-h5-font-style);
  text-transform: var(--cmsmasters-h5-text-transform);
  -webkit-text-decoration: var(--cmsmasters-h5-text-decoration);
  text-decoration: var(--cmsmasters-h5-text-decoration);
  font-size: var(--cmsmasters-h5-font-size);
  line-height: var(--cmsmasters-h5-line-height);
  letter-spacing: var(--cmsmasters-h5-letter-spacing);
  word-spacing: var(--cmsmasters-h5-word-spacing);

}

/* Separador entre duraciones y precio */
.dp-divider {
  height: 1px;
  background: rgba(255, 255, 255, .10);
  margin: 18px 0;
}

/* Precio */
.dp-label {
  font-size: 20px;
  font-family: 'Philosopher', sans-serif !important;
  font-weight: bold;
  color: #fff;
  opacity: .95;
}
/* Eliminar el fondo degradado del pseudo-elemento ::before con mayor especificidad */
button.dp-pill::before, 
button.dp-pill.is-active::before {
  background: none !important; /* Eliminar cualquier fondo de la pseudo-clase ::before */
  background-color: transparent !important;
  background-image: none !important;
}

/* Eliminar el fondo degradado del pseudo-elemento ::after con mayor especificidad */
button.dp-pill::after, 
button.dp-pill.is-active::after {
  background: none !important; /* Eliminar cualquier fondo de la pseudo-clase ::after */
  background-color: transparent !important;
  background-image: none !important;
}


/* Ajustes responsivos para móviles */
@media (max-width: 480px) {
  .dp-label {
    font-size: 18px;
  }
  .dp-pill {
    width: 48px;
    height: 48px;
  }
}
.video_interior{
  aspect-ratio: 16 / 9;
  min-height: 750px;
  position: relative;
  overflow: hidden;
    border-radius: 20px;
}
.video_interior iframe,
.video_interior video {
  position: absolute;
  inset: 0;
  height: 100%;
  object-fit: cover;
    border-radius: 20px;
}
/*.texto_preview_service{
	height: 160px !important;
}
.elementor-element.elementor-element-5e4ba787.e-con-full.e-flex.cmsmasters-block-default.e-con.e-child {
    display: none;
}
.elementor-widget-cmsmasters-button__button-container-inner.cmsmasters-with-percentage {
    display: none;
}*/
/* ================================
   CONTENEDOR PRINCIPAL DE FILTROS
================================ */
.wpc-filters-widget-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  align-items: center;
}

/* Cada filtro */
.wpc-filters-section {
  width: auto;
/*  min-width: 160px;*/
  margin: 0;
}

.wpc-filter-filtro_duracion {
  min-width: 150px;
}

/* Ocultar títulos superiores */
.wpc-filter-header {
  display: none;
}

/* ================================
   SELECT ESTILO DEFINITIVO
================================ */
.wpc-filters-widget-select {
  width: 100%;
  min-height: 42px;
  padding: 8px 18px;
  border-radius: 999px;
  border: 3px solid #D3A469;

  background-color: transparent;
  color: #D3A469;

  font-family: 'DM Sans', sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 26px;

  cursor: pointer;

  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;

  outline: none;
}

/* Hover (sutil, sin cambiar color) */
.wpc-filters-widget-select:hover {
  opacity: 0.9;
}

/* Focus accesible */
.wpc-filters-widget-select:focus {
  outline: none;
  box-shadow: 0 0 0 1px rgba(211, 164, 105, 0.4);
}

/* Opción por defecto (nombre del filtro) */
.wpc-filters-widget-select option[value="0"] {
  color: #D3A469;
  pointer-events: none;
  text-align: center;
}

/* Opciones del desplegable */
.wpc-filter-content{
      max-width: 160px !important;
}
.wpc-filters-widget-select option {
  color: #1a120c;
  padding-right:  2em !important;
}
.wpc-filters-widget-content select {
  color: white !important;
  border: 3px solid #D3A469 !important;
}
.wpc-filter-content .wpc-filters-widget-select {
    padding-left: 1em !important;
    padding-right: 2em !important;

}

/* ================================
   OCULTAR CONTROLES DESKTOP
================================ */
@media (min-width: 768px) {
  .wpc-filters-widget-controls-container {
    display: none;
  }
}

/* ================================
   MOBILE: SCROLL HORIZONTAL
================================ */
@media (max-width: 768px) {
  .wpc-filters-widget-wrapper {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 8px;
  }

  .wpc-filters-section {
    flex: 0 0 auto;
  }
}

.regala_cards img {
    filter: invert(1);
    max-height: 60px;
}

/* ================================
   DURACION / PRECIO – REGALA
   ================================ */

.duracion-precio-selector-ficha {
  display: flex;
  flex-direction: column;
  gap: 18px;
  z-index: 5;
}

/* ---------- BOTONES DURACIÓN ---------- */

.duracion-precio-selector-ficha .duraciones {
  display: flex;
  gap: 10px;
}

.duracion-precio-selector-ficha .duracion-btn {
  width: 50px;
  height: 50px;
  border-radius: 999px;
  border: 1px solid #ffffff !important;
  background: transparent !important;
  color: #ffffff !important;
  font-size: 14px;
  line-height: 1;
  cursor: pointer;
  position: relative;
  padding: 0 !important;

  /* Neutralizar CMSMasters */
  box-shadow: none !important;
}

.duracion-precio-selector-ficha .duracion-btn::before,
.duracion-precio-selector-ficha .duracion-btn::after {
  content: none !important;
}

.duracion-precio-selector-ficha .duracion-btn.active {
  background: rgba(255,255,255,0.15) !important;
}

/* ---------- BOTÓN REGALA ---------- */

.duracion-precio-selector-ficha
.elementor-widget-cmsmasters-button__button-container {
  line-height: 1;
}

.duracion-precio-selector-ficha
.cmsmasters-button-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  border: 1px solid #ffffff !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: #ffffff !important;

  padding: 10px 22px !important;
  min-height: 42px;

  text-decoration: none !important;
  position: relative;
  overflow: hidden;
}

/* matar overlays del theme */
.duracion-precio-selector-ficha
.cmsmasters-button-link::before,
.duracion-precio-selector-ficha
.cmsmasters-button-link::after {
  content: none !important;
}

/* texto botón */
.duracion-precio-selector-ficha
.elementor-widget-cmsmasters-button__text {
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.02em;
  color: #ffffff !important;
}

/* hover limpio */
.duracion-precio-selector-ficha
.cmsmasters-button-link:hover {
  background: rgba(255,255,255,0.15) !important;
}
.tituloservicio h1{
  display: inline-block;
  line-height: 1;
  margin: 20px 0 !important;
}
.wpml-es .tituloservicio h1::after {
  content: "+ Ritual del Té";
  margin-left: 10px !important;
  margin-top: -2px;
  font-size: 0.7em;
  font-weight: 400;
}
.wpml-en .tituloservicio h1::after {
  content: "+ Tea Ritual";
  margin-left: 10px !important;
  margin-top: -2px;
  font-size: 0.7em;
  font-weight: 400;
}
.wpml-ca .tituloservicio h1::after {
  content: "+ Ritual del Té";
  margin-left: 10px !important;
  margin-top: -2px;
  font-size: 0.7em;
  font-weight: 400;
}
@media (max-width: 576px){
  .tarjetacontact{
    width: 100%;
    margin: 0 !important;
  }
  .dp-row{
    flex-direction: column;
  }
}
/* Selector de Idioma */

.wpml-ls-legacy-dropdown{
    width: unset !important;
    min-width: 45px !important;
}
.wpml-ls-legacy-dropdown a.wpml-ls-item-toggle{
    background-color: transparent;
    /*border-color: rgb(207, 161, 103);*/
    border-color: white;
    border-radius: 0;
    color: white;
    padding: 4px 12px;
    border-radius: 20px;
}
.wpml-ls-legacy-dropdown a.wpml-ls-item-toggle::after{
    display: none !important;
    content: none !important;
}
.wpml-ls-link{
    background: transparent;
    color: white;
    border-radius: 20px;
    padding: 4px 10px !important;
    text-align: center;
}
.wpml-ls-legacy-dropdown .wpml-ls-sub-menu{
    border-top: none !important;
}
.wpml-ls-legacy-dropdown .wpml-ls-item:nth-child(1){
    margin: 10px 0 !important;
}
header li.menu-item {
    margin: 0 !important;
}
@media (min-width: 768px){
    .wpml-ls-menu-item{
        display: none !important;
    }
}
.elementor-maintenance-mode  header, .elementor-maintenance-mode footer, .elementor-maintenance-mode .elementor-inner{
    display: none !important;
}
.cmsmasters-sidebar{
    display: none !important;
}