/*
Theme Name: Blessings
Theme URI: https://example.com
Author: LS
Description: Block theme for hotel websites.
Requires at least: 6.6
Tested up to: 6.9
Requires PHP: 8.0
Version: 0.1.23
Text Domain: blessings
*/
@import url("https://fonts.googleapis.com/css2?family=Google+Sans:ital,opsz,wght@0,17..18,400..700;1,17..18,400..700&display=swap");
/*
Reset
*/
*,
::after,
::before {
  box-sizing: border-box;
}

body,
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Google Sans", sans-serif !important;
}

main {
  margin-top: 0;
}

a {
  text-decoration: none;
}

/*
Utility
*/
.text-center {
  text-align: center;
}

.text-left {
  text-align: left;
}

.text-right {
  text-align: right;
}

.ml-auto {
  margin-left: auto !important;
}

@media screen and (min-width: 982px) {
  .text-md-center {
    text-align: center;
  }
  .text-md-left {
    text-align: left;
  }
  .text-md-right {
    text-align: right;
  }
}
.mb-child > * {
  margin-bottom: var(--wp--preset--spacing--70, 0.5rem);
}

p strong {
  font-weight: 600;
}

:root {
  --blessings-grid-width: min(659.988px, 76.824vw);
  --blessings-grid-line: rgba(47, 50, 150, 0.22);
}

.text-nowrap {
  white-space: nowrap;
}

.h-100 {
  height: 100%;
}

.boxed-image-border {
  position: relative;
  display: flex;
  align-items: center;
  width: min(100%, 430px);
  aspect-ratio: 1;
  margin-inline: auto;
  overflow: visible;
  isolation: isolate;
}
.boxed-image-border::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  border: 1px solid var(--wp--preset--color--accent-3);
  border-radius: 32px;
}
.boxed-image-border img {
  position: relative;
  z-index: 1;
  display: block;
  left: 12%;
  width: 103%;
  max-width: none;
  height: 75% !important;
  border-radius: 12px;
  -o-object-fit: cover !important;
     object-fit: cover !important;
  -o-object-position: center;
     object-position: center;
}

@media screen and (max-width: 781px) {
  .boxed-image-border {
    width: 88%;
  }
}
.wp-block-separator {
  width: 100%;
  height: auto;
}

.gradient-border,
.wp-block-accordion-item.is-open {
  position: relative;
}
.gradient-border::before,
.wp-block-accordion-item.is-open::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: 12px;
  background: linear-gradient(90deg, #663cf6 0%, #fee89c 100%);
  padding: 2px;
  z-index: 1;
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
          mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  pointer-events: none;
  transition: all 0.4s cubic-bezier(0.18, 0.82, 0.41, 1);
  width: 100%;
  height: 100%;
  opacity: 1;
  filter: unset;
}

body:not(.wp-admin) .entry-content > * {
  padding-top: 2em;
  padding-bottom: 2em;
}

header .wp-block-group.alignwide {
  position: relative;
}
header .wp-block-navigation-item {
  border-left: 2px solid var(--wp--preset--color--soft-blue);
  padding: 0.5em !important;
}
header .wp-block-navigation-item.current-menu-item {
  border-left: 2px solid var(--wp--preset--color--accent-3);
  color: var(--wp--preset--color--accent-3);
}

@media screen and (min-width: 1063px) {
  header nav.wp-block-navigation {
    position: absolute;
    left: 67.25%;
    width: var(--blessings-grid-width);
    transform: translateX(-50%);
  }
  header nav.wp-block-navigation .wp-block-navigation__container {
    display: grid !important;
    width: 100%;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0 !important;
  }
  header .wp-block-navigation-item {
    width: 100%;
    border-left-width: 1px;
  }
  header .wp-block-navigation-item:last-child {
    border-right: 1px solid var(--wp--preset--color--soft-blue);
  }
}
@media screen and (max-width: 1062px) {
  header nav.wp-block-navigation .wp-block-navigation__responsive-container-open {
    display: flex !important;
  }
  header nav.wp-block-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) {
    display: none !important;
  }
  header nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open {
    display: flex !important;
  }
}
.stacked-links {
  --stacked-links-active: #2f3296;
  --stacked-links-muted: #b6b8df;
  --stacked-links-line: rgba(47, 50, 150, 0.1);
  width: min(100%, 280px);
}
.stacked-links.wp-block-buttons,
.stacked-links .wp-block-buttons {
  gap: 0 !important;
}
.stacked-links .wp-block-button {
  width: 100%;
  margin: 0 !important;
  border-bottom: 1px solid var(--stacked-links-line);
}
.stacked-links .wp-block-button__link {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding: 0.72rem 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--stacked-links-muted);
  font-size: clamp(1.05rem, 1.6vw, 1.35rem);
  font-weight: 600;
  line-height: 1.1;
  text-align: left;
  text-decoration: none;
  text-transform: uppercase;
  transition: color 220ms ease;
}
.stacked-links .wp-block-button:first-child .wp-block-button__link,
.stacked-links .wp-block-button__link:hover,
.stacked-links .wp-block-button__link:focus-visible {
  color: var(--stacked-links-active);
}
.stacked-links .wp-block-button:first-child .wp-block-button__link::after,
.stacked-links .wp-block-button__link:hover::after,
.stacked-links .wp-block-button__link:focus-visible::after {
  content: ">";
  color: currentColor;
  font-weight: 700;
  line-height: 1;
}

.grid-aligned-links {
  width: var(--blessings-grid-width);
  margin-inline: auto;
}
.grid-aligned-links.wp-block-buttons,
.grid-aligned-links .wp-block-buttons {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0 !important;
}
.grid-aligned-links .wp-block-button {
  width: 100%;
  margin: 0 !important;
  border-left: 1px solid var(--blessings-grid-line);
}
.grid-aligned-links .wp-block-button:last-child {
  border-right: 1px solid var(--blessings-grid-line);
}
.grid-aligned-links .wp-block-button__link {
  display: block;
  width: 100%;
  padding: 0.8rem 0.8rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #9ea1d9;
  font-weight: 600;
  text-align: left;
  text-decoration: none;
}

.blessings-acf-field--field-other_amenities ul {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem 3.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.blessings-acf-field--field-other_amenities li {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.9rem;
  color: var(--wp--preset--color--accent-3);
  font-size: var(--wp--preset--font-size--medium);
  line-height: 1.25;
}
.blessings-acf-field--field-other_amenities li::before {
  display: inline-block;
  flex: 0 0 1.25rem;
  width: 1.25rem;
  height: 1.25rem;
  background-color: currentColor;
  content: "";
  -webkit-mask: url("data:image/svg+xml,%3Csvg viewBox='0 -0.5 25 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.03033 11.4697C4.73744 11.1768 4.26256 11.1768 3.96967 11.4697C3.67678 11.7626 3.67678 12.2374 3.96967 12.5303L5.03033 11.4697ZM8.5 16L7.96967 16.5303C8.26256 16.8232 8.73744 16.8232 9.03033 16.5303L8.5 16ZM17.0303 8.53033C17.3232 8.23744 17.3232 7.76256 17.0303 7.46967C16.7374 7.17678 16.2626 7.17678 15.9697 7.46967L17.0303 8.53033ZM9.03033 11.4697C8.73744 11.1768 8.26256 11.1768 7.96967 11.4697C7.67678 11.7626 7.67678 12.2374 7.96967 12.5303L9.03033 11.4697ZM12.5 16L11.9697 16.5303C12.2626 16.8232 12.7374 16.8232 13.0303 16.5303L12.5 16ZM21.0303 8.53033C21.3232 8.23744 21.3232 7.76256 21.0303 7.46967C20.7374 7.17678 20.2626 7.17678 19.9697 7.46967L21.0303 8.53033ZM3.96967 12.5303L7.96967 16.5303L9.03033 15.4697L5.03033 11.4697L3.96967 12.5303ZM9.03033 16.5303L17.0303 8.53033L15.9697 7.46967L7.96967 15.4697L9.03033 16.5303ZM7.96967 12.5303L11.9697 16.5303L13.0303 15.4697L9.03033 11.4697L7.96967 12.5303ZM13.0303 16.5303L21.0303 8.53033L19.9697 7.46967L11.9697 15.4697L13.0303 16.5303Z' fill='black'/%3E%3C/svg%3E") center/contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg viewBox='0 -0.5 25 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.03033 11.4697C4.73744 11.1768 4.26256 11.1768 3.96967 11.4697C3.67678 11.7626 3.67678 12.2374 3.96967 12.5303L5.03033 11.4697ZM8.5 16L7.96967 16.5303C8.26256 16.8232 8.73744 16.8232 9.03033 16.5303L8.5 16ZM17.0303 8.53033C17.3232 8.23744 17.3232 7.76256 17.0303 7.46967C16.7374 7.17678 16.2626 7.17678 15.9697 7.46967L17.0303 8.53033ZM9.03033 11.4697C8.73744 11.1768 8.26256 11.1768 7.96967 11.4697C7.67678 11.7626 7.67678 12.2374 7.96967 12.5303L9.03033 11.4697ZM12.5 16L11.9697 16.5303C12.2626 16.8232 12.7374 16.8232 13.0303 16.5303L12.5 16ZM21.0303 8.53033C21.3232 8.23744 21.3232 7.76256 21.0303 7.46967C20.7374 7.17678 20.2626 7.17678 19.9697 7.46967L21.0303 8.53033ZM3.96967 12.5303L7.96967 16.5303L9.03033 15.4697L5.03033 11.4697L3.96967 12.5303ZM9.03033 16.5303L17.0303 8.53033L15.9697 7.46967L7.96967 15.4697L9.03033 16.5303ZM7.96967 12.5303L11.9697 16.5303L13.0303 15.4697L9.03033 11.4697L7.96967 12.5303ZM13.0303 16.5303L21.0303 8.53033L19.9697 7.46967L11.9697 15.4697L13.0303 16.5303Z' fill='black'/%3E%3C/svg%3E") center/contain no-repeat;
}

@media (max-width: 781px) {
  .blessings-acf-field--field-other_amenities ul {
    grid-template-columns: 1fr;
    gap: 0.85rem;
  }
}
/*
Arcive
*/
.callback-form-header {
  width: -moz-max-content;
  width: max-content;
  background: color-mix(in srgb, var(--wp--preset--color--accent-3) 40%, transparent);
  margin-left: auto;
}
.callback-form-header form label {
  display: block;
  width: 100%;
}
.callback-form-header form label input {
  display: block;
  width: 100%;
  border-radius: 10em;
  padding: 10px;
  background: none;
  border: 1px solid #fff;
}
.callback-form-header form label input::-moz-placeholder {
  color: #fff;
}
.callback-form-header form label input::placeholder {
  color: #fff;
}
.callback-form-header form .wpcf7-submit {
  background: var(--stacked-links-muted);
  color: var(--wp--preset--color--accent-3);
  border: 0;
  background-color: #fff;
  padding: 5px 15px;
  border-radius: 10em;
}

/*
Single Property
*/
.property-template-default .overview {
  position: relative;
  padding-left: 100px;
}
.property-template-default .overview:before {
  content: "";
  width: 75px;
  height: 1px;
  background-color: var(--wp--preset--color--accent-3);
  left: 0;
  top: 10%;
  position: absolute;
}

/*
Travel
*/
.quote-bg {
  position: relative;
}
.quote-bg .wp-block-ls-blocks-cosmetic-image {
  position: absolute;
  bottom: 0;
  right: 0;
}

/*
Contact Form 7
*/
.wpcf7 {
  width: 100%;
}
.wpcf7 .wpcf7-form {
  padding: 10px 1.5em;
  background: #f0f1ff !important;
}
.wpcf7 .wpcf7-form label {
  width: 100%;
  font-size: 0.85rem;
  text-transform: uppercase;
  color: var(--wp--preset--color--accent-4);
}
.wpcf7 .wpcf7-form .wpcf7-form-control {
  display: block;
  width: 100%;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  line-height: 1.5;
  color: var(--wp--preset--color--contrast);
  background-color: var(--wp--preset--color--base);
  background-clip: padding-box;
  border: 1px solid var(--wp--preset--color--accent-2);
  border-radius: 0.25rem;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  /*
  Latest form-control overrides
  */
  background-color: transparent;
  border-top: 0;
  border-right: 0;
  border-left: 0;
  border-radius: 0;
  border: 1px solid #cfcfcf;
  border-radius: 10px;
  background: #ebecfa;
}
.wpcf7 .wpcf7-form .wpcf7-form-control::-moz-placeholder {
  color: var(--wp--preset--color--accent-4);
  opacity: 1;
  font-size: 0.8em;
}
.wpcf7 .wpcf7-form .wpcf7-form-control::placeholder {
  color: var(--wp--preset--color--accent-4);
  opacity: 1;
  font-size: 0.8em;
}
.wpcf7 .wpcf7-form .wpcf7-form-control:focus {
  border-color: var(--wp--preset--color--contrast);
}
.wpcf7 .wpcf7-form textarea.wpcf7-form-control {
  height: 50px;
}
.wpcf7 .wpcf7-form [type=text] {
  color: var(--wp--preset--color--contrast);
}
.wpcf7 .wpcf7-form .wpcf7-form-control.wpcf7-submit {
  padding: 0.5rem 2.5rem;
  font-size: 0.95rem;
  font-weight: 600;
  text-transform: uppercase;
  color: var(--wp--preset--color--base);
  background: var(--wp--preset--color--contrast);
  border-radius: 2.1875rem;
  max-width: 300px;
}
.wpcf7 .wpcf7-form .wpcf7-form-control.wpcf7-submit:focus {
  background: var(--wp--preset--color--accent-4);
}

/*
Styled form
*/
.styled-form .wpcf7-form {
  position: relative;
  background: var(--wp--preset--color--white);
  max-width: 500px;
  box-shadow: rgba(0, 0, 0, 0.16) 0 1px 4px;
  border-radius: 10px;
}
.styled-form .wpcf7-form::before {
  content: "";
  width: 50%;
  height: calc(100% + 30px);
  position: absolute;
  top: -15px;
  left: -15px;
  background: var(--wp--preset--color--accent-4) !important;
  z-index: -1;
  border-radius: 10px 0 0 10px;
}
.styled-form .wpcf7-form textarea {
  height: 150px !important;
}
.styled-form .wpcf7-form .wpcf7-form-control.wpcf7-submit {
  margin: 0 auto;
  padding-top: 10px;
  padding-bottom: 10px;
  background-color: var(--wp--preset--color--accent-4) !important;
}

/*
Modal form
*/
.ls-modal-dialog {
  padding: 0 !important;
  border-radius: 2em;
}
.ls-modal-dialog .wpcf7-form-control.wpcf7-submit {
  margin: 0 auto !important;
  background: var(--wp--preset--color--accent-3) !important;
  max-width: none !important;
  border-radius: 2em !important;
}

.ls-modal-trigger__label .wp-block-button__link {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

/*
Top form header
*/
.top-form-header {
  background: var(--wp--preset--color--accent-3) !important;
  padding: 1em 2em;
  text-align: center;
  color: #fff;
}
.top-form-header h3 {
  font-size: var(--wp--preset--font-size--x-large);
  margin: 0;
}
.top-form-header p {
  margin: 0;
  margin-top: 10px;
}

/*
Modal Menu
*/
/* Mobile menu full width + center alignment */
#modal-1.is-menu-open .wp-block-navigation__responsive-container-content,
#modal-1.is-menu-open .wp-block-navigation__container,
#modal-1.is-menu-open .wp-block-navigation__submenu-container {
  width: 100% !important;
  max-width: none !important;
  align-items: stretch !important;
  justify-content: center !important;
  text-align: center;
  gap: 1em;
}

/* Stack menu items full width */
#modal-1.is-menu-open li {
  width: 100%;
  border: none !important;
}

/* Center all menu links */
#modal-1.is-menu-open a.wp-block-navigation-item__content {
  width: 100%;
  justify-content: center;
  text-align: center;
  padding: 12px 16px;
}

/* Level 1 submenu */
#modal-1.is-menu-open .wp-block-navigation__submenu-container {
  position: static !important;
  background: #0b3f57 !important;
  padding: 10px;
  margin: 0 !important;
  border-radius: 6px;
}

/* Level 2 submenu */
#modal-1.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container {
  background: #14506b !important;
}

/* Center submenu arrow buttons */
#modal-1.is-menu-open .wp-block-navigation-submenu {
  justify-content: center;
}

#modal-1.is-menu-open .wp-block-navigation__submenu-icon {
  position: absolute;
  right: 18px;
}

/*
Nav Hero
*/
@media screen and (max-width: 1062px) {
  .nav-hero {
    flex-direction: column;
  }
  .nav-hero > :first-child {
    order: 1;
    margin-top: 3em;
  }
}