.elementor-108 .elementor-element.elementor-element-18bb2b37{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:stretch;}.elementor-widget-gallery .elementor-gallery-item__title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-gallery .elementor-gallery-item__description{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-gallery{--galleries-title-color-normal:var( --e-global-color-primary );--galleries-title-color-hover:var( --e-global-color-secondary );--galleries-pointer-bg-color-hover:var( --e-global-color-accent );--gallery-title-color-active:var( --e-global-color-secondary );--galleries-pointer-bg-color-active:var( --e-global-color-accent );}.elementor-widget-gallery .elementor-gallery-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-108 .elementor-element.elementor-element-146c9651 .e-gallery-item:hover .elementor-gallery-item__overlay, .elementor-108 .elementor-element.elementor-element-146c9651 .e-gallery-item:focus .elementor-gallery-item__overlay{background-color:rgba(0,0,0,0.5);}.elementor-108 .elementor-element.elementor-element-146c9651{--image-transition-duration:800ms;--overlay-transition-duration:800ms;--content-text-align:center;--content-padding:20px;--content-transition-duration:800ms;--content-transition-delay:800ms;}.elementor-108 .elementor-element.elementor-element-26a1d029{--spacer-size:50px;}.elementor-108 .elementor-element.elementor-element-158e197c{--display:flex;--min-height:100vh;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-around;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-108 .elementor-element.elementor-element-6b4b972a{--display:flex;--min-height:0px;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:-20px;--padding-right:0px;}.elementor-108 .elementor-element.elementor-element-6b4b972a.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-widget-woocommerce-product-content{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-108 .elementor-element.elementor-element-58879997{--display:flex;}.elementor-108 .elementor-element.elementor-element-58879997.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-108 .elementor-element.elementor-element-6d946a8d{--display:flex;--min-height:0px;--justify-content:center;--align-items:stretch;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:5px 5px;--row-gap:5px;--column-gap:5px;--border-radius:5px 5px 5px 5px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:21px;--padding-right:0px;}.elementor-108 .elementor-element.elementor-element-50bfed8d{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-108 .elementor-element.elementor-element-7d60ecf5{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:16px;}.elementor-108 .elementor-element.elementor-element-7d60ecf5.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-widget-woocommerce-product-title .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-108 .elementor-element.elementor-element-71e61c62{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) -10px;}.elementor-108 .elementor-element.elementor-element-71e61c62.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-108 .elementor-element.elementor-element-71e61c62 .elementor-heading-title{font-family:"playfair-display", Sans-serif;font-size:38px;color:#214A7C;}.elementor-108 .elementor-element.elementor-element-4a059257{--spacer-size:10px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-108 .elementor-element.elementor-element-4599d80b{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) -10px;}.elementor-108 .elementor-element.elementor-element-4599d80b.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-108 .elementor-element.elementor-element-4599d80b .elementor-heading-title{font-family:"AvenirNextLTPro", Sans-serif;font-size:34px;font-weight:bold;color:#214A7C;}.woocommerce .elementor-108 .elementor-element.elementor-element-22ce350 .star-rating{color:#F7CB10;font-size:0.5em;}.woocommerce .elementor-108 .elementor-element.elementor-element-22ce350 .star-rating::before{color:#535252;}.elementor-108 .elementor-element.elementor-element-2f6eaa14{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) -10px;text-align:justify;}.elementor-widget-woocommerce-product-add-to-cart .added_to_cart{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-108 .elementor-element.elementor-element-6965c01c .cart button, .elementor-108 .elementor-element.elementor-element-6965c01c .cart .button{transition:all 0.2s;}.elementor-108 .elementor-element.elementor-element-6965c01c .quantity .qty{transition:all 0.2s;}.elementor-108 .elementor-element.elementor-element-11a52629{--display:flex;--min-height:0vh;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-around;--align-items:center;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:16px;--padding-bottom:-16px;--padding-left:0px;--padding-right:0px;}.elementor-108 .elementor-element.elementor-element-11a52629.e-con{--align-self:center;--flex-grow:1;--flex-shrink:0;}.elementor-108 .elementor-element.elementor-element-4ef604a5{--display:flex;--min-height:631px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-108 .elementor-element.elementor-element-4087bd30{--display:flex;}@media(max-width:1024px){.elementor-108 .elementor-element.elementor-element-71e61c62{width:var( --container-widget-width, 333.188px );max-width:333.188px;--container-widget-width:333.188px;--container-widget-flex-grow:0;}.elementor-108 .elementor-element.elementor-element-4599d80b{width:var( --container-widget-width, 333.188px );max-width:333.188px;--container-widget-width:333.188px;--container-widget-flex-grow:0;}}@media(min-width:768px){.elementor-108 .elementor-element.elementor-element-6b4b972a{--width:36.374%;}.elementor-108 .elementor-element.elementor-element-58879997{--width:49.234%;}.elementor-108 .elementor-element.elementor-element-6d946a8d{--content-width:1382px;}.elementor-108 .elementor-element.elementor-element-7d60ecf5{--width:93.56%;}.elementor-108 .elementor-element.elementor-element-11a52629{--content-width:1467px;}.elementor-108 .elementor-element.elementor-element-4ef604a5{--width:81%;}}/* Start custom CSS for woocommerce-product-content, class: .elementor-element-3f42e77a *//* Contenedor general del acordeón */
.weplan-acordeon-container {
    width: 100%;
    max-width: 800px; /* Evita que sea gigante en monitores de PC. Ajusta a tu gusto */
    margin: 20px auto; /* Centra el acordeón */
    font-family: inherit;
}

/* Estilo de cada caja de acordeón */
.weplan-acordeon {
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    margin-bottom: 12px;
    background-color: #ffffff;
    overflow: hidden;
    transition: all 0.3s ease;
}

/* Estilo de la barra del título que se hace clic */
.weplan-acordeon summary {
    background-color: #eff7fd; /* Mismo celeste suave de tus correos */
    color: #004d73; /* Azul oscuro corporativo */
    /* El padding derecho (40px) previene que el texto se monte encima del símbolo + */
    padding: 15px 40px 15px 20px; 
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;
    list-style: none;
    position: relative;
    outline: none;
}

/* Añadir indicador (+) a la derecha del título */
.weplan-acordeon summary::after {
    content: "+";
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%); /* Centra el ícono verticalmente de forma perfecta */
    font-size: 20px;
    font-weight: bold;
    color: #004d73;
    transition: transform 0.2s ease;
}

/* Cambiar el indicador a (-) cuando el acordeón está abierto */
.weplan-acordeon[open] summary::after {
    content: "–";
}

/* Quitar la flecha fea por defecto de algunos navegadores */
.weplan-acordeon summary::-webkit-details-marker {
    display: none;
}

/* Estilo del área interna de contenido */
.weplan-acordeon .acordeon-contenido {
    padding: 20px;
    border-top: 1px solid #e0e0e0;
    color: #444444;
    background-color: #fff;
    line-height: 1.5; /* Mejora la lectura */
}

.weplan-acordeon .acordeon-contenido ul {
    margin: 0;
    padding-left: 20px;
}

.weplan-acordeon .acordeon-contenido li {
    margin-bottom: 8px;
}

/* =========================================
   MEDIA QUERIES PARA MÓVILES (Responsivo)
========================================= */
@media (max-width: 768px) {
    /* Reducimos ligeramente los tamaños para ahorrar espacio en móviles */
    .weplan-acordeon summary {
        padding: 12px 35px 12px 15px;
        font-size: 15px;
    }
    
    .weplan-acordeon summary::after {
        right: 15px; /* Acercamos el ícono un poco más al borde */
    }

    .weplan-acordeon .acordeon-contenido {
        padding: 15px; /* Menos relleno interno para aprovechar la pantalla */
    }
}/* End custom CSS */
/* Start custom CSS for woocommerce-product-add-to-cart, class: .elementor-element-6965c01c *//* =========================
   iOS 2025 ULTRA PREMIUM CALENDAR
   PALETA: #002F5D #043E5B #F1F8FB #D6E5F0 #F0F4F5
========================= */

.elementor-108 .elementor-element.elementor-element-6965c01c {
  font-family: -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", sans-serif;

  /* GLASS iOS */
  background: linear-gradient(180deg, #F1F8FB 0%, #F0F4F5 100%);
  border-radius: 22px;
  padding: 20px;
  border: 1px solid #D6E5F0;
  box-shadow:
    0 25px 60px rgba(0, 47, 93, 0.10),
    inset 0 1px 0 rgba(255,255,255,0.8);
    
  /* Previene desbordes en contenedores pequeños */
  box-sizing: border-box;
  overflow: hidden;
}

/* =========================
   HEADER (iOS NAV STYLE)
========================= */

.elementor-108 .elementor-element.elementor-element-6965c01c .fc-toolbar {
  margin-bottom: 16px;
}

.elementor-108 .elementor-element.elementor-element-6965c01c .fc-toolbar-title {
  font-size: 18px;
  font-weight: 700;
  color: #002F5D;
  letter-spacing: 0.2px;
}

/* arrows */
.elementor-108 .elementor-element.elementor-element-6965c01c .fc-button {
  background: transparent !important;
  border: none !important;
  color: #043E5B !important;
  font-size: 16px;
  box-shadow: none !important;
  transition: 0.2s ease;
}

.elementor-108 .elementor-element.elementor-element-6965c01c .fc-button:hover {
  color: #002F5D !important;
  transform: scale(1.15);
}

/* =========================
   GRID CLEAN iOS
========================= */

.elementor-108 .elementor-element.elementor-element-6965c01c table,
.elementor-108 .elementor-element.elementor-element-6965c01c thead,
.elementor-108 .elementor-element.elementor-element-6965c01c tbody,
.elementor-108 .elementor-element.elementor-element-6965c01c .fc-scrollgrid {
  border: none !important;
  background: transparent !important;
  width: 100% !important; /* Asegura que la tabla ocupe el ancho correcto */
  table-layout: fixed;
}

/* weekdays */
.elementor-108 .elementor-element.elementor-element-6965c01c th {
  border: none !important;
  background: transparent !important;
  color: #043E5B;
  opacity: 0.6;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  padding: 10px 0;
  text-align: center;
}

/* =========================
   DAYS (iOS SOFT CARDS)
========================= */

.elementor-108 .elementor-element.elementor-element-6965c01c td {
  border: none !important;
  padding: 6px !important;
}

/* base day */
.elementor-108 .elementor-element.elementor-element-6965c01c td > * {
  display: flex !important;
  align-items: center;
  justify-content: center;
  
  /* Uso de margin automático para mantener el círculo centrado en celdas más anchas */
  margin: 0 auto;
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: #F1F8FB;
  border: 1px solid #D6E5F0;
  font-size: 13px;
  font-weight: 600;
  color: #043E5B;
  transition: all 0.25s ease;
}

/* hover iOS lift */
.elementor-108 .elementor-element.elementor-element-6965c01c td:hover > * {
  transform: translateY(-2px);
  background: #ffffff;
  box-shadow: 0 10px 25px rgba(0, 47, 93, 0.10);
  border-color: #002F5D33;
}

/* =========================
   TODAY (iOS OUTLINE BLUE)
========================= */

.elementor-108 .elementor-element.elementor-element-6965c01c .today > *,
.elementor-108 .elementor-element.elementor-element-6965c01c .fc-day-today > * {
  border: 2px solid #002F5D !important;
  background: #F1F8FB !important;
  color: #002F5D !important;
}

/* =========================
   SELECTED DAYS (PRIMARY iOS BLUE)
========================= */

.elementor-108 .elementor-element.elementor-element-6965c01c .active > *,
.elementor-108 .elementor-element.elementor-element-6965c01c .selected > *,
.elementor-108 .elementor-element.elementor-element-6965c01c .fc-day-selected > * {
  background: #002F5D !important;
  color: #ffffff !important;
  border: none !important;
  box-shadow: 0 15px 30px rgba(0, 47, 93, 0.25);
}

/* range selection soft iOS */
.elementor-108 .elementor-element.elementor-element-6965c01c .in-range > * {
  background: rgba(214, 229, 240, 0.9) !important;
  color: #002F5D !important;
  border: 1px solid #D6E5F0 !important;
}

/* start / end range */
.elementor-108 .elementor-element.elementor-element-6965c01c .range-start > *,
.elementor-108 .elementor-element.elementor-element-6965c01c .range-end > * {
  background: #043E5B !important;
  color: #ffffff !important;
  border-radius: 14px !important;
}

/* =========================
   OTHER MONTH
========================= */

.elementor-108 .elementor-element.elementor-element-6965c01c .other-month > *,
.elementor-108 .elementor-element.elementor-element-6965c01c .fc-day-other > * {
  opacity: 0.25;
  background: #F0F4F5 !important;
}

/* =========================
   TEXT BELOW
========================= */

.elementor-108 .elementor-element.elementor-element-6965c01c p,
.elementor-108 .elementor-element.elementor-element-6965c01c .available-times {
  text-align: center;
  color: #043E5B;
  opacity: 0.7;
  font-size: 13px;
  margin-top: 12px;
}

/* =========================
   iOS BUTTON
========================= */

.elementor-108 .elementor-element.elementor-element-6965c01c button,
.elementor-108 .elementor-element.elementor-element-6965c01c input[type="submit"] {
  margin-top: 18px;
  width: 100%;
  max-width: 280px;
  display: block;
  margin: 18px auto 0;
  background: linear-gradient(135deg, #002F5D, #043E5B) !important;
  color: #fff !important;
  border-radius: 14px;
  padding: 12px 18px;
  border: none !important;
  font-weight: 600;
  box-shadow: 0 15px 30px rgba(0, 47, 93, 0.20);
  transition: all 0.25s ease;
}

.elementor-108 .elementor-element.elementor-element-6965c01c button:hover,
.elementor-108 .elementor-element.elementor-element-6965c01c input[type="submit"]:hover {
  transform: translateY(-2px);
  box-shadow: 0 20px 40px rgba(0, 47, 93, 0.30);
}


/* =========================================
   MEDIA QUERIES PARA MÓVILES (Responsivo)
========================================= */

@media (max-width: 768px) {
  /* Contenedor un poco más ajustado */
  .elementor-108 .elementor-element.elementor-element-6965c01c {
    padding: 15px 10px;
    border-radius: 18px;
  }

  /* Ajustar texto del mes/año */
  .elementor-108 .elementor-element.elementor-element-6965c01c .fc-toolbar-title {
    font-size: 16px;
  }

  /* Reducir espacio entre celdas */
  .elementor-108 .elementor-element.elementor-element-6965c01c td {
    padding: 2px !important;
  }

  /* Días de la semana más pequeños */
  .elementor-108 .elementor-element.elementor-element-6965c01c th {
    font-size: 9px;
    padding: 6px 0;
  }

  /* Reducir el tamaño de las cajas de los días para que quepan 7 en fila */
  .elementor-108 .elementor-element.elementor-element-6965c01c td > * {
    width: 34px;
    height: 34px;
    font-size: 12px;
    border-radius: 10px;
  }

  .elementor-108 .elementor-element.elementor-element-6965c01c button,
  .elementor-108 .elementor-element.elementor-element-6965c01c input[type="submit"] {
    font-size: 14px;
    padding: 10px 15px;
  }
}

/* Ajuste extra para teléfonos muy estrechos (ej. iPhone SE) */
@media (max-width: 360px) {
  .elementor-108 .elementor-element.elementor-element-6965c01c td > * {
    width: 30px;
    height: 30px;
    font-size: 11px;
    border-radius: 8px;
  }
  
  .elementor-108 .elementor-element.elementor-element-6965c01c .fc-toolbar-title {
    font-size: 14px;
  }
}/* End custom CSS */