.elementor-1653 .elementor-element.elementor-element-93d5d60{--display:flex;--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-1653 .elementor-element.elementor-element-93d5d60:not(.elementor-motion-effects-element-type-background), .elementor-1653 .elementor-element.elementor-element-93d5d60 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-970001d );}.elementor-1653 .elementor-element.elementor-element-baf592e{--display:grid;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-1653 .elementor-element.elementor-element-6ad9440{--display:flex;--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-widget-image .widget-image-caption{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-1653 .elementor-element.elementor-element-d3460d2:not( .elementor-widget-image ) .elementor-widget-container, .elementor-1653 .elementor-element.elementor-element-d3460d2.elementor-widget-image .elementor-widget-container img{-webkit-mask-image:url( https://joseangelprime.com/wp-content/plugins/elementor/assets/mask-shapes/circle.svg );-webkit-mask-size:contain;-webkit-mask-position:center center;-webkit-mask-repeat:no-repeat;}.elementor-1653 .elementor-element.elementor-element-d3460d2 img{width:200px;}.elementor-1653 .elementor-element.elementor-element-e45568b{--display:flex;--border-radius:20px 20px 20px 20px;}.elementor-1653 .elementor-element.elementor-element-e45568b:not(.elementor-motion-effects-element-type-background), .elementor-1653 .elementor-element.elementor-element-e45568b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.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-1653 .elementor-element.elementor-element-45af782{text-align:center;}.elementor-1653 .elementor-element.elementor-element-45af782 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:25px;font-weight:600;color:var( --e-global-color-accent );}.elementor-widget-icon-list .elementor-icon-list-item:not(:last-child):after{border-color:var( --e-global-color-text );}.elementor-widget-icon-list .elementor-icon-list-icon i{color:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-icon-list .elementor-icon-list-text{color:var( --e-global-color-secondary );}.elementor-1653 .elementor-element.elementor-element-782dea3 .elementor-icon-list-icon i{color:var( --e-global-color-accent );transition:color 0.3s;}.elementor-1653 .elementor-element.elementor-element-782dea3 .elementor-icon-list-icon svg{fill:var( --e-global-color-accent );transition:fill 0.3s;}.elementor-1653 .elementor-element.elementor-element-782dea3{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-1653 .elementor-element.elementor-element-782dea3 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-1653 .elementor-element.elementor-element-782dea3 .elementor-icon-list-item > a{font-family:"Poppins", Sans-serif;font-size:12px;font-weight:400;}.elementor-1653 .elementor-element.elementor-element-782dea3 .elementor-icon-list-text{transition:color 0.3s;}.elementor-1653 .elementor-element.elementor-element-cefd526 .elementor-icon-list-icon i{color:var( --e-global-color-accent );transition:color 0.3s;}.elementor-1653 .elementor-element.elementor-element-cefd526 .elementor-icon-list-icon svg{fill:var( --e-global-color-accent );transition:fill 0.3s;}.elementor-1653 .elementor-element.elementor-element-cefd526{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-1653 .elementor-element.elementor-element-cefd526 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-1653 .elementor-element.elementor-element-cefd526 .elementor-icon-list-item > a{font-family:"Poppins", Sans-serif;font-size:14px;font-weight:400;}.elementor-1653 .elementor-element.elementor-element-cefd526 .elementor-icon-list-text{color:var( --e-global-color-secondary );transition:color 0.3s;}.elementor-1653 .elementor-element.elementor-element-f67c658{--display:flex;--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-1653 .elementor-element.elementor-element-3138d1f:not( .elementor-widget-image ) .elementor-widget-container, .elementor-1653 .elementor-element.elementor-element-3138d1f.elementor-widget-image .elementor-widget-container img{-webkit-mask-image:url( https://joseangelprime.com/wp-content/plugins/elementor/assets/mask-shapes/circle.svg );-webkit-mask-size:contain;-webkit-mask-position:center center;-webkit-mask-repeat:no-repeat;}.elementor-1653 .elementor-element.elementor-element-3138d1f img{width:200px;}.elementor-1653 .elementor-element.elementor-element-a84d89a{--display:flex;--border-radius:20px 20px 20px 20px;}.elementor-1653 .elementor-element.elementor-element-a84d89a:not(.elementor-motion-effects-element-type-background), .elementor-1653 .elementor-element.elementor-element-a84d89a > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-1653 .elementor-element.elementor-element-f1ac998{text-align:center;}.elementor-1653 .elementor-element.elementor-element-f1ac998 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:25px;font-weight:600;color:var( --e-global-color-accent );}.elementor-1653 .elementor-element.elementor-element-c76ce82 .elementor-icon-list-icon i{color:var( --e-global-color-accent );transition:color 0.3s;}.elementor-1653 .elementor-element.elementor-element-c76ce82 .elementor-icon-list-icon svg{fill:var( --e-global-color-accent );transition:fill 0.3s;}.elementor-1653 .elementor-element.elementor-element-c76ce82{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-1653 .elementor-element.elementor-element-c76ce82 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-1653 .elementor-element.elementor-element-c76ce82 .elementor-icon-list-item > a{font-family:"Poppins", Sans-serif;font-size:12px;font-weight:400;}.elementor-1653 .elementor-element.elementor-element-c76ce82 .elementor-icon-list-text{transition:color 0.3s;}.elementor-1653 .elementor-element.elementor-element-50ecaf7 .elementor-icon-list-icon i{color:var( --e-global-color-accent );transition:color 0.3s;}.elementor-1653 .elementor-element.elementor-element-50ecaf7 .elementor-icon-list-icon svg{fill:var( --e-global-color-accent );transition:fill 0.3s;}.elementor-1653 .elementor-element.elementor-element-50ecaf7{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-1653 .elementor-element.elementor-element-50ecaf7 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-1653 .elementor-element.elementor-element-50ecaf7 .elementor-icon-list-item > a{font-family:"Poppins", Sans-serif;font-size:14px;font-weight:400;}.elementor-1653 .elementor-element.elementor-element-50ecaf7 .elementor-icon-list-text{color:var( --e-global-color-secondary );transition:color 0.3s;}.elementor-1653 .elementor-element.elementor-element-2c49477{--display:flex;--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-1653 .elementor-element.elementor-element-57709b1:not( .elementor-widget-image ) .elementor-widget-container, .elementor-1653 .elementor-element.elementor-element-57709b1.elementor-widget-image .elementor-widget-container img{-webkit-mask-image:url( https://joseangelprime.com/wp-content/plugins/elementor/assets/mask-shapes/circle.svg );-webkit-mask-size:contain;-webkit-mask-position:center center;-webkit-mask-repeat:no-repeat;}.elementor-1653 .elementor-element.elementor-element-57709b1 img{width:200px;}.elementor-1653 .elementor-element.elementor-element-3df5e15{--display:flex;--border-radius:20px 20px 20px 20px;}.elementor-1653 .elementor-element.elementor-element-3df5e15:not(.elementor-motion-effects-element-type-background), .elementor-1653 .elementor-element.elementor-element-3df5e15 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-1653 .elementor-element.elementor-element-b840dad{text-align:center;}.elementor-1653 .elementor-element.elementor-element-b840dad .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:25px;font-weight:600;color:var( --e-global-color-accent );}.elementor-1653 .elementor-element.elementor-element-e6693dc .elementor-icon-list-icon i{color:var( --e-global-color-accent );transition:color 0.3s;}.elementor-1653 .elementor-element.elementor-element-e6693dc .elementor-icon-list-icon svg{fill:var( --e-global-color-accent );transition:fill 0.3s;}.elementor-1653 .elementor-element.elementor-element-e6693dc{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-1653 .elementor-element.elementor-element-e6693dc .elementor-icon-list-item > .elementor-icon-list-text, .elementor-1653 .elementor-element.elementor-element-e6693dc .elementor-icon-list-item > a{font-family:"Poppins", Sans-serif;font-size:12px;font-weight:400;}.elementor-1653 .elementor-element.elementor-element-e6693dc .elementor-icon-list-text{transition:color 0.3s;}.elementor-1653 .elementor-element.elementor-element-3164ae4 .elementor-icon-list-icon i{color:var( --e-global-color-accent );transition:color 0.3s;}.elementor-1653 .elementor-element.elementor-element-3164ae4 .elementor-icon-list-icon svg{fill:var( --e-global-color-accent );transition:fill 0.3s;}.elementor-1653 .elementor-element.elementor-element-3164ae4{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-1653 .elementor-element.elementor-element-3164ae4 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-1653 .elementor-element.elementor-element-3164ae4 .elementor-icon-list-item > a{font-family:"Poppins", Sans-serif;font-size:14px;font-weight:400;}.elementor-1653 .elementor-element.elementor-element-3164ae4 .elementor-icon-list-text{color:var( --e-global-color-secondary );transition:color 0.3s;}.elementor-1653 .elementor-element.elementor-element-eae48ce > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-1653 .elementor-element.elementor-element-54cd765{--display:flex;--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-1653 .elementor-element.elementor-element-301340c:not( .elementor-widget-image ) .elementor-widget-container, .elementor-1653 .elementor-element.elementor-element-301340c.elementor-widget-image .elementor-widget-container img{-webkit-mask-image:url( https://joseangelprime.com/wp-content/plugins/elementor/assets/mask-shapes/circle.svg );-webkit-mask-size:contain;-webkit-mask-position:center center;-webkit-mask-repeat:no-repeat;}.elementor-1653 .elementor-element.elementor-element-301340c img{width:200px;}.elementor-1653 .elementor-element.elementor-element-49ea965{--display:flex;--border-radius:20px 20px 20px 20px;}.elementor-1653 .elementor-element.elementor-element-49ea965:not(.elementor-motion-effects-element-type-background), .elementor-1653 .elementor-element.elementor-element-49ea965 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-1653 .elementor-element.elementor-element-e9fd15e{text-align:center;}.elementor-1653 .elementor-element.elementor-element-e9fd15e .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:25px;font-weight:600;color:var( --e-global-color-accent );}.elementor-1653 .elementor-element.elementor-element-6c4510b .elementor-icon-list-icon i{color:var( --e-global-color-accent );transition:color 0.3s;}.elementor-1653 .elementor-element.elementor-element-6c4510b .elementor-icon-list-icon svg{fill:var( --e-global-color-accent );transition:fill 0.3s;}.elementor-1653 .elementor-element.elementor-element-6c4510b{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-1653 .elementor-element.elementor-element-6c4510b .elementor-icon-list-item > .elementor-icon-list-text, .elementor-1653 .elementor-element.elementor-element-6c4510b .elementor-icon-list-item > a{font-family:"Poppins", Sans-serif;font-size:12px;font-weight:400;}.elementor-1653 .elementor-element.elementor-element-6c4510b .elementor-icon-list-text{transition:color 0.3s;}.elementor-1653 .elementor-element.elementor-element-d784626 .elementor-icon-list-icon i{color:var( --e-global-color-accent );transition:color 0.3s;}.elementor-1653 .elementor-element.elementor-element-d784626 .elementor-icon-list-icon svg{fill:var( --e-global-color-accent );transition:fill 0.3s;}.elementor-1653 .elementor-element.elementor-element-d784626{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-1653 .elementor-element.elementor-element-d784626 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-1653 .elementor-element.elementor-element-d784626 .elementor-icon-list-item > a{font-family:"Poppins", Sans-serif;font-size:14px;font-weight:400;}.elementor-1653 .elementor-element.elementor-element-d784626 .elementor-icon-list-text{color:var( --e-global-color-secondary );transition:color 0.3s;}@media(max-width:1024px){.elementor-1653 .elementor-element.elementor-element-baf592e{--grid-auto-flow:row;}}@media(max-width:767px){.elementor-1653 .elementor-element.elementor-element-baf592e{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-1653 .elementor-element.elementor-element-2c49477{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1653 .elementor-element.elementor-element-54cd765{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}}/* Start custom CSS for shortcode, class: .elementor-element-6c8cdb5 *//* Contenedor general del calendario */
.jap-calendar-container {
  position: relative;
  max-width: 900px;
  margin: 0 auto;
  width: 100%;
  padding: 0 8px;
  box-sizing: border-box;
}

/* Contenido del calendario */
.jap-calendar-content {
  padding: 16px;
  background: #ffffff;
  border-radius: 12px;
  box-sizing: border-box;
}

/* Controles: flechas abajo */
.jap-cal-controls {
  position: relative;
  height: auto;
  margin-top: 16px;
  margin-bottom: 0;
  z-index: 10;
  pointer-events: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 16px;
  gap: 8px;
  box-sizing: border-box;
}

/* Botones de navegación */
.jap-cal-btn {
  position: static;
  transform: none;
  border: none;
  background: linear-gradient(135deg, #232323 0%, #232323 100%);
  color: #ffffff;
  padding: 10px 14px;
  border-radius: 8px;
  cursor: pointer;
  font-size: 16px;
  font-weight: 600;
  transition: all 0.3s ease;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  pointer-events: all;
  box-sizing: border-box;
}

.jap-cal-prev {
  left: auto;
  right: auto;
}

.jap-cal-next {
  left: auto;
  right: auto;
}

.jap-cal-btn:hover {
  background: linear-gradient(135deg, #1f2937 0%, #374151 100%);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25);
  transform: translateY(-2px);
}

.jap-cal-btn:active {
  transform: translateY(0);
}

/* Wrapper: centrado para 1 mes */
.availability-calendar-wrapper {
  display: flex;
  justify-content: center;
  max-width: 800px;
  margin: 0 auto;
  width: 100%;
  box-sizing: border-box;
}

/* Caja de cada mes */
.availability-calendar {
  padding: 12px 12px 16px;
  background: #ffffff;
  border-radius: 12px;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  box-sizing: border-box;
}

/* Título del mes */
.availability-calendar .cal-header {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 14px;
}

.availability-calendar .cal-month {
  font-weight: 600;
  font-size: 17px;
  color: #111827;
}

/* Grid base */
.availability-calendar .cal-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  column-gap: 6px;
  row-gap: 8px;
}

/* Días semana */
.availability-calendar .cal-weekdays div {
  text-align: center;
  font-size: 11px;
  font-weight: 400;
  color: #9ca3af;
  padding-bottom: 2px;
}

/* Celdas día */
.availability-calendar .cal-days .day {
  width: 32px;
  height: 32px;
  margin: 0 auto;
  font-size: 13px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  cursor: default;
  background: transparent;
  box-sizing: border-box;
}

/* Vacías */
.availability-calendar .cal-days .day.empty {
  background: transparent;
}

/* Disponibles */
.availability-calendar .day.available {
  color: #111827;
}

/* Ocupados: círculo oscuro */
.availability-calendar .day.booked {
  background: #111827;
  color: #ffffff;
}

/* Hoy: aro gris fino */
.availability-calendar .day.today {
  box-shadow: 0 0 0 1px #9ca3af inset;
  font-weight: 600;
}

/* Días pasados: gris y tachado */
.availability-calendar .day.past {
  color: #d1d5db;
  text-decoration: line-through;
}

/* Responsive: en pantallas pequeñas */
@media (max-width: 768px) {
  .jap-calendar-container {
    padding: 0 4px;
  }

  .availability-calendar-wrapper {
    flex-direction: column;
    gap: 16px;
    align-items: stretch;
    max-width: 100%;
    padding: 0 4px;
  }

  .availability-calendar {
    width: 100%;
    max-width: none;
    padding: 10px 8px 12px;
    margin: 0 auto;
  }

  .availability-calendar .cal-month {
    font-size: 14px;
  }

  .availability-calendar .cal-weekdays div {
    font-size: 9px;
  }

  .availability-calendar .cal-days .day {
    width: 28px;
    height: 28px;
    font-size: 11px;
  }

  .jap-cal-controls {
    padding: 0 4px;
    margin-top: 12px;
    gap: 4px;
  }

  .jap-cal-btn {
    flex: 1;
    padding: 8px 10px;
    font-size: 14px;
  }

  .jap-calendar-content {
    padding: 8px;
  }
}

/* ===== Mostrar solo 1 mes (primer calendario) en todas las versiones ===== */
.availability-calendar-wrapper .availability-calendar {
  display: none;
}

.availability-calendar-wrapper .availability-calendar:first-child {
  display: block;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-e635139 *//* Contenedor general del calendario */
.jap-calendar-container {
  position: relative;
  max-width: 900px;
  margin: 0 auto;
  width: 100%;
  padding: 0 8px;
  box-sizing: border-box;
}

/* Contenido del calendario */
.jap-calendar-content {
  padding: 16px;
  background: #ffffff;
  border-radius: 12px;
  box-sizing: border-box;
}

/* Controles: flechas abajo */
.jap-cal-controls {
  position: relative;
  height: auto;
  margin-top: 16px;
  margin-bottom: 0;
  z-index: 10;
  pointer-events: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 16px;
  gap: 8px;
  box-sizing: border-box;
}

/* Botones de navegación */
.jap-cal-btn {
  position: static;
  transform: none;
  border: none;
  background: linear-gradient(135deg, #232323 0%, #232323 100%);
  color: #ffffff;
  padding: 10px 14px;
  border-radius: 8px;
  cursor: pointer;
  font-size: 16px;
  font-weight: 600;
  transition: all 0.3s ease;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  pointer-events: all;
  box-sizing: border-box;
}

.jap-cal-prev {
  left: auto;
  right: auto;
}

.jap-cal-next {
  left: auto;
  right: auto;
}

.jap-cal-btn:hover {
  background: linear-gradient(135deg, #1f2937 0%, #374151 100%);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25);
  transform: translateY(-2px);
}

.jap-cal-btn:active {
  transform: translateY(0);
}

/* Wrapper: dos meses con espacio entre ellos */
.availability-calendar-wrapper {
  display: flex;
  gap: 48px;
  justify-content: center;
  max-width: 800px;
  margin: 0 auto;
  width: 100%;
  box-sizing: border-box;
}

/* Caja de cada mes */
.availability-calendar {
  padding: 12px 12px 16px;
  background: #ffffff;
  border-radius: 12px;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  box-sizing: border-box;
}

/* Título del mes */
.availability-calendar .cal-header {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 14px;
}

.availability-calendar .cal-month {
  font-weight: 600;
  font-size: 17px;
  color: #111827;
}

/* Grid base */
.availability-calendar .cal-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  column-gap: 6px;
  row-gap: 8px;
}

/* Días semana */
.availability-calendar .cal-weekdays div {
  text-align: center;
  font-size: 11px;
  font-weight: 400;
  color: #9ca3af;
  padding-bottom: 2px;
}

/* Celdas día */
.availability-calendar .cal-days .day {
  width: 32px;
  height: 32px;
  margin: 0 auto;
  font-size: 13px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  cursor: default;
  background: transparent;
  box-sizing: border-box;
}

/* Vacías */
.availability-calendar .cal-days .day.empty {
  background: transparent;
}

/* Disponibles */
.availability-calendar .day.available {
  color: #111827;
}

/* Ocupados: círculo oscuro */
.availability-calendar .day.booked {
  background: #111827;
  color: #ffffff;
}

/* Hoy: aro gris fino */
.availability-calendar .day.today {
  box-shadow: 0 0 0 1px #9ca3af inset;
  font-weight: 600;
}

/* Días pasados: gris y tachado */
.availability-calendar .day.past {
  color: #d1d5db;
  text-decoration: line-through;
}

/* Responsive: en pantallas pequeñas */
@media (max-width: 768px) {
  .jap-calendar-container {
    padding: 0 4px;
  }

  .availability-calendar-wrapper {
    flex-direction: column;
    gap: 16px;
    align-items: stretch;
    max-width: 100%;
    padding: 0 4px;
  }

  .availability-calendar {
    width: 100%;
    max-width: none;
    padding: 10px 8px 12px;
    margin: 0 auto;
  }

  .availability-calendar .cal-month {
    font-size: 14px;
  }

  .availability-calendar .cal-weekdays div {
    font-size: 9px;
  }

  .availability-calendar .cal-days .day {
    width: 28px;
    height: 28px;
    font-size: 11px;
  }

  .jap-cal-controls {
    padding: 0 4px;
    margin-top: 12px;
    gap: 4px;
  }

  .jap-cal-btn {
    flex: 1;
    padding: 8px 10px;
    font-size: 14px;
  }

  .jap-calendar-content {
    padding: 8px;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-eae48ce *//* Contenedor general del calendario */
.jap-calendar-container {
  position: relative;
  max-width: 900px;
  margin: 0 auto;
  width: 100%;
  padding: 0 8px;
  box-sizing: border-box;
}

/* Contenido del calendario */
.jap-calendar-content {
  padding: 16px;
  background: #ffffff;
  border-radius: 12px;
  box-sizing: border-box;
}

/* Controles: flechas abajo */
.jap-cal-controls {
  position: relative;
  height: auto;
  margin-top: 16px;
  margin-bottom: 0;
  z-index: 10;
  pointer-events: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 16px;
  gap: 8px;
  box-sizing: border-box;
}

/* Botones de navegación */
.jap-cal-btn {
  position: static;
  transform: none;
  border: none;
  background: linear-gradient(135deg, #232323 0%, #232323 100%);
  color: #ffffff;
  padding: 10px 14px;
  border-radius: 8px;
  cursor: pointer;
  font-size: 16px;
  font-weight: 600;
  transition: all 0.3s ease;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  pointer-events: all;
  box-sizing: border-box;
}

.jap-cal-prev {
  left: auto;
  right: auto;
}

.jap-cal-next {
  left: auto;
  right: auto;
}

.jap-cal-btn:hover {
  background: linear-gradient(135deg, #1f2937 0%, #374151 100%);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25);
  transform: translateY(-2px);
}

.jap-cal-btn:active {
  transform: translateY(0);
}

/* Wrapper: dos meses con espacio entre ellos */
.availability-calendar-wrapper {
  display: flex;
  gap: 48px;
  justify-content: center;
  max-width: 800px;
  margin: 0 auto;
  width: 100%;
  box-sizing: border-box;
}

/* Caja de cada mes */
.availability-calendar {
  padding: 12px 12px 16px;
  background: #ffffff;
  border-radius: 12px;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  box-sizing: border-box;
}

/* Título del mes */
.availability-calendar .cal-header {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 14px;
}

.availability-calendar .cal-month {
  font-weight: 600;
  font-size: 17px;
  color: #111827;
}

/* Grid base */
.availability-calendar .cal-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  column-gap: 6px;
  row-gap: 8px;
}

/* Días semana */
.availability-calendar .cal-weekdays div {
  text-align: center;
  font-size: 11px;
  font-weight: 400;
  color: #9ca3af;
  padding-bottom: 2px;
}

/* Celdas día */
.availability-calendar .cal-days .day {
  width: 32px;
  height: 32px;
  margin: 0 auto;
  font-size: 13px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  cursor: default;
  background: transparent;
  box-sizing: border-box;
}

/* Vacías */
.availability-calendar .cal-days .day.empty {
  background: transparent;
}

/* Disponibles */
.availability-calendar .day.available {
  color: #111827;
}

/* Ocupados: círculo oscuro */
.availability-calendar .day.booked {
  background: #111827;
  color: #ffffff;
}

/* Hoy: aro gris fino */
.availability-calendar .day.today {
  box-shadow: 0 0 0 1px #9ca3af inset;
  font-weight: 600;
}

/* Días pasados: gris y tachado */
.availability-calendar .day.past {
  color: #d1d5db;
  text-decoration: line-through;
}

/* Responsive: en pantallas pequeñas */
@media (max-width: 768px) {
  .jap-calendar-container {
    padding: 0 4px;
  }

  .availability-calendar-wrapper {
    flex-direction: column;
    gap: 16px;
    align-items: stretch;
    max-width: 100%;
    padding: 0 4px;
  }

  .availability-calendar {
    width: 100%;
    max-width: none;
    padding: 10px 8px 12px;
    margin: 0 auto;
  }

  .availability-calendar .cal-month {
    font-size: 14px;
  }

  .availability-calendar .cal-weekdays div {
    font-size: 9px;
  }

  .availability-calendar .cal-days .day {
    width: 28px;
    height: 28px;
    font-size: 11px;
  }

  .jap-cal-controls {
    padding: 0 4px;
    margin-top: 12px;
    gap: 4px;
  }

  .jap-cal-btn {
    flex: 1;
    padding: 8px 10px;
    font-size: 14px;
  }

  .jap-calendar-content {
    padding: 8px;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-d3516f2 *//* Contenedor general del calendario */
.jap-calendar-container {
  position: relative;
  max-width: 900px;
  margin: 0 auto;
  width: 100%;
  padding: 0 8px;
  box-sizing: border-box;
}

/* Contenido del calendario */
.jap-calendar-content {
  padding: 16px;
  background: #ffffff;
  border-radius: 12px;
  box-sizing: border-box;
}

/* Controles: flechas abajo */
.jap-cal-controls {
  position: relative;
  height: auto;
  margin-top: 16px;
  margin-bottom: 0;
  z-index: 10;
  pointer-events: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 16px;
  gap: 8px;
  box-sizing: border-box;
}

/* Botones de navegación */
.jap-cal-btn {
  position: static;
  transform: none;
  border: none;
  background: linear-gradient(135deg, #232323 0%, #232323 100%);
  color: #ffffff;
  padding: 10px 14px;
  border-radius: 8px;
  cursor: pointer;
  font-size: 16px;
  font-weight: 600;
  transition: all 0.3s ease;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  pointer-events: all;
  box-sizing: border-box;
}

.jap-cal-prev {
  left: auto;
  right: auto;
}

.jap-cal-next {
  left: auto;
  right: auto;
}

.jap-cal-btn:hover {
  background: linear-gradient(135deg, #1f2937 0%, #374151 100%);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25);
  transform: translateY(-2px);
}

.jap-cal-btn:active {
  transform: translateY(0);
}

/* Wrapper: dos meses con espacio entre ellos */
.availability-calendar-wrapper {
  display: flex;
  gap: 48px;
  justify-content: center;
  max-width: 800px;
  margin: 0 auto;
  width: 100%;
  box-sizing: border-box;
}

/* Caja de cada mes */
.availability-calendar {
  padding: 12px 12px 16px;
  background: #ffffff;
  border-radius: 12px;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  box-sizing: border-box;
}

/* Título del mes */
.availability-calendar .cal-header {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 14px;
}

.availability-calendar .cal-month {
  font-weight: 600;
  font-size: 17px;
  color: #111827;
}

/* Grid base */
.availability-calendar .cal-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  column-gap: 6px;
  row-gap: 8px;
}

/* Días semana */
.availability-calendar .cal-weekdays div {
  text-align: center;
  font-size: 11px;
  font-weight: 400;
  color: #9ca3af;
  padding-bottom: 2px;
}

/* Celdas día */
.availability-calendar .cal-days .day {
  width: 32px;
  height: 32px;
  margin: 0 auto;
  font-size: 13px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  cursor: default;
  background: transparent;
  box-sizing: border-box;
}

/* Vacías */
.availability-calendar .cal-days .day.empty {
  background: transparent;
}

/* Disponibles */
.availability-calendar .day.available {
  color: #111827;
}

/* Ocupados: círculo oscuro */
.availability-calendar .day.booked {
  background: #111827;
  color: #ffffff;
}

/* Hoy: aro gris fino */
.availability-calendar .day.today {
  box-shadow: 0 0 0 1px #9ca3af inset;
  font-weight: 600;
}

/* Días pasados: gris y tachado */
.availability-calendar .day.past {
  color: #d1d5db;
  text-decoration: line-through;
}

/* Responsive: en pantallas pequeñas */
@media (max-width: 768px) {
  .jap-calendar-container {
    padding: 0 4px;
  }

  .availability-calendar-wrapper {
    flex-direction: column;
    gap: 16px;
    align-items: stretch;
    max-width: 100%;
    padding: 0 4px;
  }

  .availability-calendar {
    width: 100%;
    max-width: none;
    padding: 10px 8px 12px;
    margin: 0 auto;
  }

  .availability-calendar .cal-month {
    font-size: 14px;
  }

  .availability-calendar .cal-weekdays div {
    font-size: 9px;
  }

  .availability-calendar .cal-days .day {
    width: 28px;
    height: 28px;
    font-size: 11px;
  }

  .jap-cal-controls {
    padding: 0 4px;
    margin-top: 12px;
    gap: 4px;
  }

  .jap-cal-btn {
    flex: 1;
    padding: 8px 10px;
    font-size: 14px;
  }

  .jap-calendar-content {
    padding: 8px;
  }
}/* End custom CSS */