.elementor-20 .elementor-element.elementor-element-7dcfb54c{--display:flex;--min-height:600px;--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;--justify-content:center;--overlay-opacity:1;--padding-top:0px;--padding-bottom:0px;--padding-left:20px;--padding-right:20px;}.elementor-20 .elementor-element.elementor-element-7dcfb54c:not(.elementor-motion-effects-element-type-background), .elementor-20 .elementor-element.elementor-element-7dcfb54c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://thesunstoneplace.com/wp-content/uploads/2026/02/sunstone-place-exterior-14.jpg");background-position:top center;background-size:cover;}.elementor-20 .elementor-element.elementor-element-7dcfb54c::before, .elementor-20 .elementor-element.elementor-element-7dcfb54c > .elementor-background-video-container::before, .elementor-20 .elementor-element.elementor-element-7dcfb54c > .e-con-inner > .elementor-background-video-container::before, .elementor-20 .elementor-element.elementor-element-7dcfb54c > .elementor-background-slideshow::before, .elementor-20 .elementor-element.elementor-element-7dcfb54c > .e-con-inner > .elementor-background-slideshow::before, .elementor-20 .elementor-element.elementor-element-7dcfb54c > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#0F0F0F96;--background-overlay:'';}.elementor-20 .elementor-element.elementor-element-786c0242{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:45px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}.elementor-20 .elementor-element.elementor-element-67f3c480{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 28px) 0px;text-align:center;}.elementor-20 .elementor-element.elementor-element-67f3c480 .elementor-heading-title{font-family:var( --e-global-typography-888c778-font-family ), Sans-serif;font-size:var( --e-global-typography-888c778-font-size );font-weight:var( --e-global-typography-888c778-font-weight );text-transform:var( --e-global-typography-888c778-text-transform );font-style:var( --e-global-typography-888c778-font-style );text-decoration:var( --e-global-typography-888c778-text-decoration );line-height:var( --e-global-typography-888c778-line-height );letter-spacing:var( --e-global-typography-888c778-letter-spacing );color:var( --e-global-color-f0e0728 );}.elementor-20 .elementor-element.elementor-element-451b9778{width:var( --container-widget-width, 50% );max-width:50%;--container-widget-width:50%;--container-widget-flex-grow:0;text-align:center;color:#FFFFFF;}.elementor-20 .elementor-element.elementor-element-451b9778.elementor-element{--align-self:center;}.elementor-20 .elementor-element.elementor-element-7a7b9649{--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;--padding-top:0px;--padding-bottom:0px;--padding-left:20px;--padding-right:20px;}.elementor-20 .elementor-element.elementor-element-35f23c2f{--display:flex;--min-height:663px;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--overlay-opacity:1;--border-radius:25px 25px 25px 25px;--margin-top:-100px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-20 .elementor-element.elementor-element-35f23c2f:not(.elementor-motion-effects-element-type-background), .elementor-20 .elementor-element.elementor-element-35f23c2f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://thesunstoneplace.com/wp-content/uploads/2026/02/Debbie-Devon-1.jpg");background-position:center center;background-size:cover;}.elementor-20 .elementor-element.elementor-element-35f23c2f::before, .elementor-20 .elementor-element.elementor-element-35f23c2f > .elementor-background-video-container::before, .elementor-20 .elementor-element.elementor-element-35f23c2f > .e-con-inner > .elementor-background-video-container::before, .elementor-20 .elementor-element.elementor-element-35f23c2f > .elementor-background-slideshow::before, .elementor-20 .elementor-element.elementor-element-35f23c2f > .e-con-inner > .elementor-background-slideshow::before, .elementor-20 .elementor-element.elementor-element-35f23c2f > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#0F0F0F00;--background-overlay:'';}.elementor-20 .elementor-element.elementor-element-35f23c2f.e-con{--align-self:center;}.elementor-20 .elementor-element.elementor-element-498c0696{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:90px;--margin-bottom:100px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:20px;--padding-right:20px;}.elementor-20 .elementor-element.elementor-element-6cd1eb7e{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 28px) 0px;padding:0px 200px 0px 200px;text-align:center;}.elementor-20 .elementor-element.elementor-element-6cd1eb7e .elementor-heading-title{font-family:var( --e-global-typography-dbcccba-font-family ), Sans-serif;font-size:var( --e-global-typography-dbcccba-font-size );font-weight:var( --e-global-typography-dbcccba-font-weight );text-transform:var( --e-global-typography-dbcccba-text-transform );font-style:var( --e-global-typography-dbcccba-font-style );text-decoration:var( --e-global-typography-dbcccba-text-decoration );line-height:var( --e-global-typography-dbcccba-line-height );letter-spacing:var( --e-global-typography-dbcccba-letter-spacing );color:var( --e-global-color-text );}.elementor-20 .elementor-element.elementor-element-1a62e9f8{width:var( --container-widget-width, 50% );max-width:50%;--container-widget-width:50%;--container-widget-flex-grow:0;text-align:center;font-family:var( --e-global-typography-8437c3e-font-family ), Sans-serif;font-size:var( --e-global-typography-8437c3e-font-size );font-weight:var( --e-global-typography-8437c3e-font-weight );text-transform:var( --e-global-typography-8437c3e-text-transform );font-style:var( --e-global-typography-8437c3e-font-style );text-decoration:var( --e-global-typography-8437c3e-text-decoration );line-height:var( --e-global-typography-8437c3e-line-height );letter-spacing:var( --e-global-typography-8437c3e-letter-spacing );color:var( --e-global-color-abac551 );}.elementor-20 .elementor-element.elementor-element-1a62e9f8.elementor-element{--align-self:center;}.elementor-20 .elementor-element.elementor-element-3be0779{width:var( --container-widget-width, 77% );max-width:77%;margin:50px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:77%;--container-widget-flex-grow:0;text-align:center;font-family:var( --e-global-typography-8437c3e-font-family ), Sans-serif;font-size:var( --e-global-typography-8437c3e-font-size );font-weight:var( --e-global-typography-8437c3e-font-weight );text-transform:var( --e-global-typography-8437c3e-text-transform );font-style:var( --e-global-typography-8437c3e-font-style );text-decoration:var( --e-global-typography-8437c3e-text-decoration );line-height:var( --e-global-typography-8437c3e-line-height );letter-spacing:var( --e-global-typography-8437c3e-letter-spacing );color:#0E0E0E;}.elementor-20 .elementor-element.elementor-element-3be0779.elementor-element{--align-self:center;}.elementor-20 .elementor-element.elementor-element-ae1c066{--display:flex;--overlay-opacity:1;--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-20 .elementor-element.elementor-element-ae1c066:not(.elementor-motion-effects-element-type-background), .elementor-20 .elementor-element.elementor-element-ae1c066 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#000000;}.elementor-20 .elementor-element.elementor-element-ae1c066::before, .elementor-20 .elementor-element.elementor-element-ae1c066 > .elementor-background-video-container::before, .elementor-20 .elementor-element.elementor-element-ae1c066 > .e-con-inner > .elementor-background-video-container::before, .elementor-20 .elementor-element.elementor-element-ae1c066 > .elementor-background-slideshow::before, .elementor-20 .elementor-element.elementor-element-ae1c066 > .e-con-inner > .elementor-background-slideshow::before, .elementor-20 .elementor-element.elementor-element-ae1c066 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#000000;--background-overlay:'';}.elementor-20 .elementor-element.elementor-element-ae1c066.e-con{--align-self:center;}.elementor-20 .elementor-element.elementor-element-bd86e5a{margin:50px 0px calc(var(--kit-widget-spacing, 0px) + 50px) 0px;padding:50px 50px 100px 50px;border-style:solid;border-width:0px 0px 0px 0px;border-color:#FFFFFF;border-radius:10px 10px 10px 10px;}.elementor-20 .elementor-element.elementor-element-bd86e5a.elementor-element{--align-self:center;}@media(min-width:768px){.elementor-20 .elementor-element.elementor-element-7dcfb54c{--content-width:1240px;}.elementor-20 .elementor-element.elementor-element-7a7b9649{--content-width:1240px;}.elementor-20 .elementor-element.elementor-element-35f23c2f{--width:90%;}.elementor-20 .elementor-element.elementor-element-498c0696{--content-width:1240px;}}@media(max-width:1024px){.elementor-20 .elementor-element.elementor-element-7dcfb54c{--min-height:500px;--padding-top:0px;--padding-bottom:0px;--padding-left:40px;--padding-right:40px;}.elementor-20 .elementor-element.elementor-element-786c0242{--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-20 .elementor-element.elementor-element-67f3c480 .elementor-heading-title{font-size:var( --e-global-typography-888c778-font-size );line-height:var( --e-global-typography-888c778-line-height );letter-spacing:var( --e-global-typography-888c778-letter-spacing );}.elementor-20 .elementor-element.elementor-element-451b9778{--container-widget-width:85%;--container-widget-flex-grow:0;width:var( --container-widget-width, 85% );max-width:85%;}.elementor-20 .elementor-element.elementor-element-7a7b9649{--padding-top:0px;--padding-bottom:0px;--padding-left:40px;--padding-right:40px;}.elementor-20 .elementor-element.elementor-element-35f23c2f{--min-height:550px;}.elementor-20 .elementor-element.elementor-element-498c0696{--margin-top:70px;--margin-bottom:75px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:40px;--padding-right:40px;}.elementor-20 .elementor-element.elementor-element-6cd1eb7e{width:var( --container-widget-width, 650px );max-width:650px;padding:0px 0px 0px 0px;--container-widget-width:650px;--container-widget-flex-grow:0;}.elementor-20 .elementor-element.elementor-element-6cd1eb7e.elementor-element{--align-self:center;}.elementor-20 .elementor-element.elementor-element-6cd1eb7e .elementor-heading-title{font-size:var( --e-global-typography-dbcccba-font-size );line-height:var( --e-global-typography-dbcccba-line-height );letter-spacing:var( --e-global-typography-dbcccba-letter-spacing );}.elementor-20 .elementor-element.elementor-element-1a62e9f8{--container-widget-width:515px;--container-widget-flex-grow:0;width:var( --container-widget-width, 515px );max-width:515px;font-size:var( --e-global-typography-8437c3e-font-size );line-height:var( --e-global-typography-8437c3e-line-height );letter-spacing:var( --e-global-typography-8437c3e-letter-spacing );}.elementor-20 .elementor-element.elementor-element-3be0779{--container-widget-width:515px;--container-widget-flex-grow:0;width:var( --container-widget-width, 515px );max-width:515px;font-size:var( --e-global-typography-8437c3e-font-size );line-height:var( --e-global-typography-8437c3e-line-height );letter-spacing:var( --e-global-typography-8437c3e-letter-spacing );}}@media(max-width:767px){.elementor-20 .elementor-element.elementor-element-7dcfb54c{--min-height:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:20px;--padding-right:20px;}.elementor-20 .elementor-element.elementor-element-786c0242{--padding-top:100px;--padding-bottom:90px;--padding-left:0px;--padding-right:0px;}.elementor-20 .elementor-element.elementor-element-67f3c480{padding:0px 0px 0px 0px;}.elementor-20 .elementor-element.elementor-element-67f3c480 .elementor-heading-title{font-size:var( --e-global-typography-888c778-font-size );line-height:var( --e-global-typography-888c778-line-height );letter-spacing:var( --e-global-typography-888c778-letter-spacing );}.elementor-20 .elementor-element.elementor-element-451b9778{width:100%;max-width:100%;}.elementor-20 .elementor-element.elementor-element-7a7b9649{--padding-top:0px;--padding-bottom:0px;--padding-left:20px;--padding-right:20px;}.elementor-20 .elementor-element.elementor-element-35f23c2f{--min-height:220px;--margin-top:-50px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-20 .elementor-element.elementor-element-498c0696{--margin-top:45px;--margin-bottom:50px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:20px;--padding-right:20px;}.elementor-20 .elementor-element.elementor-element-6cd1eb7e .elementor-heading-title{font-size:var( --e-global-typography-dbcccba-font-size );line-height:var( --e-global-typography-dbcccba-line-height );letter-spacing:var( --e-global-typography-dbcccba-letter-spacing );}.elementor-20 .elementor-element.elementor-element-1a62e9f8{width:100%;max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 32px) 0px;font-size:var( --e-global-typography-8437c3e-font-size );line-height:var( --e-global-typography-8437c3e-line-height );letter-spacing:var( --e-global-typography-8437c3e-letter-spacing );}.elementor-20 .elementor-element.elementor-element-3be0779{width:100%;max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 32px) 0px;font-size:var( --e-global-typography-8437c3e-font-size );line-height:var( --e-global-typography-8437c3e-line-height );letter-spacing:var( --e-global-typography-8437c3e-letter-spacing );}.elementor-20 .elementor-element.elementor-element-bd86e5a{padding:0px 0px 0px 0px;}}/* Start custom CSS for shortcode, class: .elementor-element-bd86e5a *//* ============================================
   MPHB Booking Calendar — Clean White Theme
   ============================================ */

.mphb_sc_availability_calendar-wrapper {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  max-width: 820px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 24px 24px 40px !important;
  background: #ffffff !important;
  border-radius: 16px !important;
  border: 1px solid #e5e5e5 !important;
  box-shadow: 0 2px 16px rgba(0, 0, 0, 0.06) !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

/* Kill plugin inline width */
.datepick {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  background: #ffffff !important;
  color: #111111 !important;
  box-sizing: border-box !important;
}

.datepick-multi {
  display: flex !important;
  flex-direction: column !important;
  gap: 40px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* ---- Nav ---- */
.datepick-nav {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 16px !important;
  padding: 0 !important;
}

.datepick-nav a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 8px 18px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #111111 !important;
  background: #f5f5f5 !important;
  border: 1px solid #d0d0d0 !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  transition: background 0.15s, color 0.15s !important;
  cursor: pointer !important;
}

.datepick-nav a:hover:not(.datepick-disabled) {
  background: #111111 !important;
  border-color: #111111 !important;
  color: #ffffff !important;
}

.datepick-nav a.datepick-disabled {
  opacity: 0.3 !important;
  cursor: not-allowed !important;
}

/* ---- Month row ---- */
.datepick-month-row {
  display: flex !important;
  flex-direction: row !important;
  gap: 32px !important;
  flex-wrap: wrap !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.datepick-month {
  flex: 1 1 340px !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

/* ---- Month header ---- */
.datepick-month-header {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #111111 !important;
  margin-bottom: 14px !important;
  padding-bottom: 10px !important;
  border-bottom: 1px solid #eeeeee !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}

.datepick-month-header select {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #111111 !important;
  background: transparent !important;
  border: none !important;
  outline: none !important;
  cursor: pointer !important;
  padding: 2px 4px !important;
  border-radius: 6px !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}

.datepick-month-header select:hover {
  background: #f5f5f5 !important;
}

/* ---- Table: equal 7 columns, full width ---- */
.datepick-month table {
  width: 100% !important;
  table-layout: fixed !important;
  border-collapse: separate !important;
  border-spacing: 3px !important;
  box-sizing: border-box !important;
}

.datepick-month table th,
.datepick-month table td {
  width: 14.2857% !important;
  max-width: 14.2857% !important;
  padding: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

/* Collapse trailing/leading other-month cells — kills the gap after 29/30/31 */
.datepick-month tbody td > span.datepick-other-month {
  min-height: 0 !important;
  height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  display: block !important;
  visibility: hidden !important;
  overflow: hidden !important;
}

/* ---- Day headers ---- */
.datepick-month thead th {
  padding: 7px 0 !important;
  text-align: center !important;
  background: #111111 !important;
  border-radius: 0 !important;
}

.datepick-month thead th:first-child { border-radius: 6px 0 0 6px !important; }
.datepick-month thead th:last-child  { border-radius: 0 6px 6px 0 !important; }

.datepick-month thead th span {
  display: block !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  color: #ffffff !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}

/* ---- Date cells ---- */
.mphb-date-cell {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 54px !important;
  padding: 6px 0 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #111111 !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  transition: background 0.12s, color 0.12s !important;
  line-height: 1.2 !important;
  box-sizing: border-box !important;
  text-decoration: none !important;
  overflow: visible !important;
}

/* ---- Hide all-other-month rows ---- */
.datepick-month tbody tr:has(td > span.datepick-other-month):not(:has(td > span:not(.datepick-other-month))) {
  display: none !important;
}

/* ---- Hide all-past-date rows ---- */
.datepick-month tbody tr:has(td > span.mphb-past-date):not(:has(td > span:not(.mphb-past-date):not(.datepick-other-month))) {
  display: none !important;
}

/* Other-month */
.mphb-extra-date {
  color: #cccccc !important;
  cursor: default !important;
  background: transparent !important;
  text-decoration: none !important;
}

/* Past */
.mphb-past-date {
  color: #cccccc !important;
  cursor: not-allowed !important;
  background: transparent !important;
  text-decoration: none !important;
}

/* Available */
.mphb-available-date {
  background: #f9f9f9 !important;
  text-decoration: none !important;
}



/* Today */
.datepick-today {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  background: #ffffff !important;
  font-weight: 700 !important;
}

/* Unavailable */
.mphb-mark-as-unavailable--check-out {
  background: #fff8f0 !important;
  color: #cc6600 !important;
  cursor: not-allowed !important;
  text-decoration: none !important;
}

/* Weekends */
.datepick-weekend.mphb-available-date {
  background: #f3f3ff !important;
}

/* ---- Price block ---- */
.mphb-date-cell__price {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  margin-top: 3px !important;
  overflow: visible !important;
}

/* Show full "$450" — scale with cell width using font-size in % */
.mphb-price {
  display: block !important;
  font-size: clamp(8px, 1.5vw, 11px) !important;
  font-weight: 500 !important;
  color: #777777 !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  line-height: 1 !important;
  overflow: visible !important;
  /* Scale text to always fit the cell */
  transform-origin: center top !important;
}

.mphb-currency {
  font-size: inherit !important;
  font-weight: 500 !important;
}

/* ---- Clear fix ---- */
.datepick-clear-fix { clear: both !important; }

/* ---- Responsive ---- */
@media (max-width: 640px) {
  .mphb_sc_availability_calendar-wrapper {
    padding: 16px 12px 32px !important;
  }
  .datepick-month-row {
    flex-direction: column !important;
    gap: 32px !important;
  }
  .mphb-date-cell {
    min-height: 46px !important;
    font-size: 12px !important;
  }
  .mphb-price {
    font-size: clamp(7px, 2.5vw, 10px) !important;
  }
}



.mphb-calendar.mphb-datepick .mphb-datepicker-minimal .datepick-month td a, .mphb-calendar.mphb-datepick .mphb-datepicker-minimal .datepick-month td span {
    font-size: 8px !important;
    border-radius: 0;
}

.mphb-calendar {
  --mphb-not-available-date-bg: #c0c0c0 !important;
  --mphb-not-available-date-color: #999999 !important;
  --mphb-booked-date-bg: #c0c0c0 !important;
  --mphb-booked-date-color: #999999 !important ;
  --mphb-out-of-season-date-bg: #c0c0c0 !important;
  --mphb-out-of-season-date-color: #999999 !important;
}

/* Stronger blocked/unselectable appearance */
.mphb-calendar td .mphb-booked-date,
.mphb-calendar td .mphb-not-available-date,
.mphb-calendar td .mphb-out-of-season-date,
.mphb-calendar td .mphb-mark-as-unavailable {
  opacity: 0.6 !important;
  cursor: not-allowed !important;
  text-decoration: line-through !important;
}/* End custom CSS */