 :root {
   --sce-font-family: "Kanit", sans-serif;
   --sce-headline-font-family: "Homemade Apple", cursive;
 }

 /* home-gallery */

 @media (max-width: 768px) {
   #slickNextButton {
     display: none;
   }

   #slickPrevButton {
     display: none;
   }

 }

 /* homepage */
 .elementor-1619 .elementor-element.elementor-element-f35a2d6 {
   box-shadow: var(--depth-000, 0px) var(--depth-004, 1px) var(--depth-010, 4px) var(--depth-000, 0px) var(--black-100, rgba(59, 60, 59, 0.1)) !important;
 }

 .search-title {
   font-family: var(--sce-font-family);
   font-size: var(--h4-font-size, 20px);
   font-style: normal;
   font-weight: var(--h4-font-weight, 600);
   line-height: normal;
   grid-column: span 2;
   margin: 0px !important;
 }

 .sk_branding {
   display: none !important;
 }

 .sk-ig-profile-usename {
   display: none;
 }

 .sk-ig-load-more-posts {
   background-color: #84776c !important;
 }

 td .datepick-selected {
   background: #0b5345 !important;
 }

 .mphb_sc_search-submit-button-wrapper {
   margin-block: auto !important;
 }

 .datepick-month-year {
   font-family: var(--sce-font-family);
 }

 @media (max-width: 768px) {
   .mphb_sc_search-form {
     display: grid !important;
     grid-template-columns: 1fr 1fr;
   }

   .mphb_sc_search-submit-button-wrapper {
     grid-column: span 2;
   }

   .sk-ww-instagram-hashtag-feed-item-sizer {
     display: none;
   }

   .sk-ww-instagram-hashtag-feed-container {
     display: grid !important;
     grid-template-columns: repeat(2, 1fr) !important;
   }
 }

 /* search availability */
 .elementor-14 .elementor-element.elementor-element-0d1dd0c {
   box-shadow: var(--depth-000, 0px) var(--depth-004, 1px) var(--depth-010, 4px) var(--depth-000, 0px) var(--black-100, rgba(59, 60, 59, 0.1)) !important;
 }


 /* global */
 .datepick-month-row .datepick-month:not(.first) {
   display: none !important;
 }

 body>div.datepick-popup>div {
   width: fit-content !important;
 }

 /* accomodation */
 .sce-error-message {
   margin-top: 20px;
   justify-content: flex-start;
   display: flex;
   flex-direction: column;
   align-items: center;
   height: calc(100vh - 320px);
 }

 .sce-error-message h1 {
   font-size: 32px;
   font-family: var(--sce-font-family) !important;
   text-align: center;
   line-height: 180%;
 }

 .sce-error-message p {
   font-family: var(--sce-font-family) !important;
   font-size: 24px;
   text-align: center;
   line-height: 180%;
 }

 .sce-error-message p span {
   font-size: 14px;
 }

 .sce-error-message button {
   font-size: 24px;
   width: 200px;
   background: rgb(132, 119, 108);
   font-family: var(--sce-font-family);
   color: #fff;
   border-radius: 4px;
 }

 @media (max-width: 768px) {
   .sce-error-message h1 {
     font-size: 24px;
   }

   .sce-error-message p {
     font-size: 16px;
   }

   .sce-error-message button {
     font-size: 16px;
   }
 }

 /* accomodation */
 .filters {
   margin: auto;
   display: flex;
   padding: 0;
   align-items: flex-start;
   gap: 16px;
   flex-wrap: wrap;
   max-width: 1120px;
   font-family: var(--sce-font-family);
 }

 .filter-hidden {
   display: none !important;
 }

 .filter-btn {
   border-radius: 4px;
   background: transparent;
   font-family: var(--sce-font-family);
   font-size: 16px;
   font-style: normal;
   font-weight: 400;
   line-height: normal;
   padding: 8px 16px;
   text-transform: capitalize !important;
 }

 .filter-btn.active {
   background: #67605A;
   font-weight: 400;
   color: #fff;
 }

 .accommodation-villa-type {
   margin-bottom: 40px;
 }

 @media (max-width: 768px) {
   .filters {
     padding: 16px 6px 0px 6px;
     gap: 4px;
   }

   .filter-btn {
     padding: 7px 14px;
     font-size: 12px;
   }
 }

 /* area */
 .sce-area-source-hidden {
   display: none !important;
 }

 .stratum-image-hotspot__dot.loading {
   position: relative;
 }

 .stratum-image-hotspot__dot.loading::after {
   content: "";
   position: absolute;
   top: 50%;
   left: 50%;
   width: 20px;
   height: 20px;
   margin: -10px 0 0 -10px;
   border: 2px solid #333;
   border-top-color: #fff;
   border-radius: 50%;
   animation: spin 0.8s linear infinite;
 }

 @keyframes spin {
   to {
     transform: rotate(360deg);
   }
 }

 .mphb_sc_search-check-in-date label,
 .mphb_sc_search-check-out-date label {
   font-family: var(--sce-font-family);
   font-size: 16px;
   font-style: normal;
   font-weight: 300;
   line-height: normal;
   color: var(--e-global-color-primary);
 }

 .mphb-rooms-reservation-message {
   display: flex;
   align-items: center;
   gap: 10px;
 }

 .mphb-room-info {
   display: flex;
   flex-direction: column;
   line-height: 1.4;
 }

 .mphb-room-type-title {
   font-size: 16px;
   font-weight: 600;
 }

 .room-info-people svg {
   font-size: 14px;
   height: 20px;
 }

 .group-service-confirm-note {
   font-size: 12px;
   color: rgb(102, 102, 102);
   font-weight: 400;
 }

 @keyframes pulse {
   0% {
     opacity: 1;
   }

   50% {
     opacity: 0.4;
   }

   100% {
     opacity: 1;
   }
 }

 .skeleton-box {
   border-radius: 4px;
 }

 /** 
  * Error message styles
  */
 .woocommerce-error {
   background: #fff3f3;
   border: 1px solid #f5c2c7;
   color: #842029;
   border-radius: 8px;
   padding: 16px 20px;
   margin: 20px 0;
   font-family: var(--sce-font-family);
   font-size: 15px;
   box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
   list-style: none;
 }

 .woocommerce-error li {
   position: relative;
   padding-left: 28px;
   margin-bottom: 8px;
 }

 .woocommerce-error li:last-child {
   margin-bottom: 0;
 }

 .woocommerce-error:hover {
   background: #ffe6e6;
 }

 .woocommerce-error::before {
   content: "";
 }

 @media (max-width: 768px) {
   .mphb-tax-information.taxes-included::before {
     content: "\A";
     white-space: pre;
   }
 }

 .availability-message {
   display: flex;
   align-items: center;
   gap: 12px;
   background-color: var(--e-global-color-4d90e3c);
   padding: 16px 20px;
   font-family: var(--sce-font-family);
   border: 1px solid var(--e-global-color-primary);
   background: var(--e-global-color-4d90e3c);
   border-radius: 4px;
   max-width: 450px;
   margin: auto;
 }

 .availability-message .icon {
   flex-shrink: 0;
 }

 .availability-message .text {
   line-height: 1.4;
 }

 .availability-message .text strong {
   display: block;
   font-size: 16px;
   font-weight: 600;
   margin-bottom: 4px;
 }

 .availability-message .text span {
   font-size: 14px;
   color: #555;
 }

 .hidden {
   display: none !important;
 }

 .mphb-customer-tax-type {
   display: none;
 }

 .mphb-customer-company {
   display: none;
 }

 .mphb-customer-note-to-customer {
   display: none;
 }

 .twf-mphb-inclusions-box {
   padding: 0px 12px;
   line-height: 1.65;
   font-size: 16px;
 }

 .twf-mphb-inclusions-box h3,
 .twf-mphb-inclusions-box h4 {
   margin: 0 0 8px;
   font-size: 20px;
   font-weight: 400;
 }

 .twf-mphb-inclusions-box ul {
   padding-left: 1.2em;
   margin: 0;
 }

 .twf-mphb-inclusions-box li {
   margin: 6px 0;
   list-style: none;
   position: relative;
 }

 .mphb-room-details .twf-mphb-inclusions-box {
   margin-top: 10px;
   margin-bottom: 12px;
 }
