/* Shared preview switcher */
.willis-design-switcher {
  align-items: center;
  background: #ffffff;
  border: 1px solid rgba(44, 65, 77, .14);
  border-radius: 8px;
  bottom: 18px;
  box-shadow: 0 16px 42px rgba(24, 18, 13, .18);
  display: flex;
  gap: 6px;
  left: 18px;
  padding: 8px;
  position: fixed;
  z-index: 100000;
}

.admin-bar .willis-design-switcher {
  bottom: 24px;
}

.willis-design-switcher__label {
  color: #2c414d;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  padding: 0 6px;
  text-transform: uppercase;
}

.willis-design-switcher a {
  border-radius: 6px;
  color: #2c414d;
  display: inline-flex;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  padding: 10px 12px;
  text-decoration: none;
}

.willis-design-switcher a:hover,
.willis-design-switcher a.is-active {
  background: #2c414d;
  color: #ffffff;
}

@media (max-width: 640px) {
  .willis-design-switcher {
    bottom: 12px;
    left: 12px;
    right: 12px;
    justify-content: center;
  }
}

/* Header logo placement */
#main-header .et_menu_container {
  align-items: center;
  display: flex;
}

#main-header #et-top-navigation {
  align-items: center;
  display: flex;
  flex: 1 1 auto;
  float: none;
  min-height: 78px;
  padding-left: 0 !important;
  padding-top: 0 !important;
}

#main-header.et-fixed-header #et-top-navigation {
  min-height: 58px;
}

#main-header .willis-menu-logo-area {
  align-items: center;
  display: flex;
  flex: 0 0 auto;
  margin-right: 28px;
}

#main-header .willis-menu-logo-area .logo_helper {
  display: none;
}

#main-header .willis-menu-logo-area a {
  align-items: center;
  display: flex;
  line-height: 0;
  padding: 0;
}

#main-header .willis-menu-logo-area #logo {
  display: block;
  height: auto !important;
  object-fit: contain;
}

#main-header #top-menu-nav {
  align-items: center;
  display: flex;
  flex: 1 1 auto;
  float: none;
}

#main-header #top-menu {
  align-items: center;
  display: flex;
  flex-wrap: nowrap;
}

#main-header #top-menu > li {
  align-items: center;
  display: flex;
}

#main-header #top-menu > li > a {
  padding-bottom: 0;
}

#main-header #top-menu .willis-reserve-menu > a {
  margin-top: 0 !important;
}

#main-header #et_top_search {
  float: none;
  margin: 0 0 0 18px;
}

#main-header .et-cart-info {
  float: none;
  margin-left: 18px;
}

@media (max-width: 980px) {
  #main-header #et-top-navigation {
    justify-content: space-between;
    min-height: 78px;
    width: 100%;
  }

  #main-header .willis-menu-logo-area {
    margin-right: 16px;
  }

  #main-header #top-menu-nav {
    display: none;
  }

  #main-header #et_top_search {
    margin-left: auto;
  }

  #main-header .et_mobile_nav_menu {
    margin-left: auto;
  }

  #main-header .mobile_menu_bar {
    margin-left: 16px;
    position: relative;
  }
}

/* Divi sometimes applies custom button classes to the anchor itself. */
body .et_pb_button.willis-primary-button,
body .et_pb_button.willis-booking-button,
body .et_pb_button.willis-footer-button,
body .willis-primary-button .et_pb_button,
body .willis-booking-button .et_pb_button,
body .willis-offer-card .et_pb_button,
body .willis-footer-button .et_pb_button {
  background: var(--willis-gold) !important;
  border: 0 !important;
  border-radius: 2px !important;
  color: #ffffff !important;
  font-size: 14px;
  font-weight: 700;
  padding: 13px 22px !important;
}

body .et_pb_button.willis-primary-button:hover,
body .et_pb_button.willis-booking-button:hover,
body .et_pb_button.willis-footer-button:hover,
body .willis-primary-button .et_pb_button:hover,
body .willis-booking-button .et_pb_button:hover,
body .willis-offer-card .et_pb_button:hover,
body .willis-footer-button .et_pb_button:hover {
  background: var(--willis-ink) !important;
  color: #ffffff !important;
}

body .et_pb_button.willis-outline-button,
body .willis-outline-button .et_pb_button {
  background: transparent !important;
  border: 1px solid var(--willis-gold) !important;
  border-radius: 2px !important;
  color: var(--willis-gold) !important;
  font-size: 14px;
  font-weight: 700;
  padding: 12px 22px !important;
}

body .et_pb_button.willis-outline-button:hover,
body .willis-outline-button .et_pb_button:hover {
  background: var(--willis-gold) !important;
  color: #ffffff !important;
}

/* Keep homepage slider headings and narration on separate rows. */
body.home .et_pb_fullwidth_slider_0.et_pb_slider .et_pb_slide_title,
body.page-id-16 .et_pb_fullwidth_slider_0.et_pb_slider .et_pb_slide_title,
body.home .et_pb_fullwidth_slider_0.et_pb_slider .et_pb_slide_content,
body.page-id-16 .et_pb_fullwidth_slider_0.et_pb_slider .et_pb_slide_content {
  display: block !important;
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
  width: fit-content;
}

body.home .willis-home-slider.et_pb_slider,
body.page-id-16 .willis-home-slider.et_pb_slider {
  background: #18120d;
}

body.home .willis-home-slider .et_pb_slide,
body.page-id-16 .willis-home-slider .et_pb_slide {
  background-color: #22577a;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  overflow: hidden;
}

body.home .willis-home-slider .willis-slide-arrival,
body.page-id-16 .willis-home-slider .willis-slide-arrival {
  background-image: url("https://thewillishotel.ngaosystems.com/wp-content/uploads/2026/09/willis-google-maps-exterior.png") !important;
}

body.home .willis-home-slider .willis-slide-lounge,
body.page-id-16 .willis-home-slider .willis-slide-lounge {
  background-image: url("https://thewillishotel.ngaosystems.com/wp-content/uploads/2026/07/IMG_9738-1-scaled.jpg") !important;
}

body.home .willis-home-slider .willis-slide-rest,
body.page-id-16 .willis-home-slider .willis-slide-rest {
  background-image: url("https://thewillishotel.ngaosystems.com/wp-content/uploads/2026/07/20220218_133640-1-scaled.jpg") !important;
}

body.home .willis-home-slider .willis-slide-dining,
body.page-id-16 .willis-home-slider .willis-slide-dining {
  background-image: url("https://thewillishotel.ngaosystems.com/wp-content/uploads/2026/08/FB_IMG_1611809111074-1.jpg") !important;
}

body.home .willis-home-slider .willis-slide-meetings,
body.page-id-16 .willis-home-slider .willis-slide-meetings {
  background-image: url("https://thewillishotel.ngaosystems.com/wp-content/uploads/2026/08/bor.jpg") !important;
}

body.home .willis-home-slider .willis-slide-breakfast,
body.page-id-16 .willis-home-slider .willis-slide-breakfast {
  background-image: url("https://thewillishotel.ngaosystems.com/wp-content/uploads/2026/08/80d7fa78-8268-4c68-87ab-1179510cb30d.jpg") !important;
  background-position: center 54%;
}

body.home .willis-home-slider .willis-slide-video-events,
body.page-id-16 .willis-home-slider .willis-slide-video-events {
  background-image: url("https://thewillishotel.ngaosystems.com/wp-content/uploads/2026/08/meet.png") !important;
}

body.home .willis-home-slider .willis-slide-video-celebrations,
body.page-id-16 .willis-home-slider .willis-slide-video-celebrations {
  background-image: url("https://thewillishotel.ngaosystems.com/wp-content/uploads/2026/08/IMG_9737-scaled.jpg") !important;
}

body.home .willis-home-slider .willis-slide-video-experience,
body.page-id-16 .willis-home-slider .willis-slide-video-experience {
  background-image: url("https://thewillishotel.ngaosystems.com/wp-content/uploads/2026/07/20220218_085658-scaled.jpg") !important;
}

body.home .willis-home-slider .et_pb_slide:before,
body.page-id-16 .willis-home-slider .et_pb_slide:before {
  background: linear-gradient(90deg, rgba(24, 18, 13, .72) 0%, rgba(34, 87, 122, .34) 52%, rgba(24, 18, 13, .28) 100%);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 1;
}

body.home .willis-home-slider .et_pb_container,
body.page-id-16 .willis-home-slider .et_pb_container {
  position: relative;
  z-index: 2;
}

body.home .willis-home-slider .et_pb_slide_title,
body.page-id-16 .willis-home-slider .et_pb_slide_title,
body.home .willis-home-slider .et_pb_slide_content,
body.page-id-16 .willis-home-slider .et_pb_slide_content {
  border-radius: 6px;
  box-shadow: 0 18px 44px rgba(24, 18, 13, .18);
}

body.home .willis-home-slider .et_pb_section_video_bg,
body.page-id-16 .willis-home-slider .et_pb_section_video_bg {
  inset: 0;
  position: absolute;
  z-index: 0;
}

body.home .willis-home-slider .et_pb_section_video_bg video,
body.page-id-16 .willis-home-slider .et_pb_section_video_bg video {
  height: 100%;
  left: 50%;
  max-width: none;
  min-height: 100%;
  min-width: 100%;
  object-fit: cover;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
}

body.home .willis-home-slider .et-pb-active-slide,
body.page-id-16 .willis-home-slider .et-pb-active-slide {
  animation: willisSlideReveal .95s ease both;
}

body.home .willis-home-slider .et-pb-active-slide .et_pb_slide_description,
body.page-id-16 .willis-home-slider .et-pb-active-slide .et_pb_slide_description {
  animation: willisSlideTextIn .78s cubic-bezier(.22, .61, .36, 1) both;
}

@keyframes willisSlideReveal {
  from {
    filter: saturate(.82) brightness(.84);
  }

  to {
    filter: saturate(1.05) brightness(1);
  }
}

@keyframes willisSlideTextIn {
  from {
    opacity: 0;
    transform: translateY(22px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  body.home .willis-home-slider .et-pb-active-slide,
  body.page-id-16 .willis-home-slider .et-pb-active-slide,
  body.home .willis-home-slider .et-pb-active-slide .et_pb_slide_description,
  body.page-id-16 .willis-home-slider .et-pb-active-slide .et_pb_slide_description {
    animation: none;
  }
}

@media (max-width: 767px) {
  body.home .willis-home-slider .et_pb_slide_title,
  body.page-id-16 .willis-home-slider .et_pb_slide_title,
  body.home .willis-home-slider .et_pb_slide_content,
  body.page-id-16 .willis-home-slider .et_pb_slide_content {
    max-width: 92vw;
  }
}

.willis-booking-section--dynamic {
  margin-top: -72px;
  padding: 0 0 34px;
  position: relative;
  z-index: 5;
}

.willis-booking-section--dynamic .willis-booking-row {
  background: #ffffff;
  border-top: 4px solid var(--willis-gold, #b67832);
  box-shadow: 0 22px 50px rgba(24, 18, 13, .18);
  margin: 0 auto;
  max-width: 1060px !important;
  padding: 24px 28px !important;
  width: 90%;
}

.willis-booking-form {
  align-items: end;
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(140px, .85fr) minmax(180px, 1fr) minmax(220px, 1.35fr) auto;
}

.willis-booking-field,
.willis-booking-action {
  min-width: 0;
}

.willis-booking-action {
  align-self: end;
  position: relative;
}

.willis-booking-field label {
  color: var(--willis-ink, #18120d);
  display: block;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.2;
  margin-bottom: 8px;
  text-transform: uppercase;
}

.willis-booking-field input,
.willis-booking-field select {
  background: #f7f2ea;
  border: 1px solid rgba(24, 18, 13, .14);
  border-radius: 2px;
  color: var(--willis-ink, #18120d);
  font-size: 14px;
  font-weight: 700;
  min-height: 48px;
  padding: 0 12px;
  width: 100%;
}

.willis-booking-field select:disabled {
  color: rgba(79, 69, 59, .64);
  cursor: not-allowed;
}

.willis-booking-submit {
  align-items: center;
  border-radius: 2px !important;
  display: inline-flex;
  justify-content: center;
  min-height: 48px;
  text-align: center;
  white-space: nowrap;
}

.willis-booking-submit:disabled {
  cursor: not-allowed;
  opacity: .54;
}

.willis-booking-message {
  color: #8a2d17;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.3;
  left: 0;
  margin: 0;
  min-height: 0;
  padding: 0;
  position: absolute;
  top: calc(100% + 8px);
  white-space: nowrap;
}

.willis-booking-empty {
  align-items: center;
  display: flex;
  gap: 18px;
  justify-content: space-between;
}

.willis-booking-empty strong {
  color: var(--willis-ink, #18120d);
}

@media (max-width: 980px) {
  .willis-booking-section--dynamic {
    margin-top: 0;
  }

  .willis-booking-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .willis-booking-action {
    align-self: stretch;
  }

  .willis-booking-submit {
    width: 100%;
  }
}

@media (max-width: 640px) {
  .willis-booking-section--dynamic .willis-booking-row {
    padding: 22px !important;
  }

  .willis-booking-form,
  .willis-booking-empty {
    grid-template-columns: 1fr;
  }

  .willis-booking-message {
    margin-top: 8px;
    min-height: 16px;
    position: static;
    white-space: normal;
  }

  .willis-booking-empty {
    align-items: stretch;
    display: grid;
  }
}

body.willis-design-dark.single-product .product_title.entry-title,
body.willis-design-dark.single-product .woocommerce-Tabs-panel h2,
body.willis-design-dark.single-product .related.products > h2,
body.willis-design-dark.single-product .related.products ul.products li.product .woocommerce-loop-product__title {
  color: var(--willis-gold) !important;
}

body.willis-design-dark.single-product div.product p.price,
body.willis-design-dark.single-product div.product span.price,
body.willis-design-dark.single-product div.product p.price .amount,
body.willis-design-dark.single-product div.product span.price .amount,
body.willis-design-dark.single-product div.product .woocommerce-variation-price .price,
body.willis-design-dark.single-product div.product .woocommerce-variation-price .price .amount,
body.willis-design-dark.single-product .related.products ul.products li.product .price,
body.willis-design-dark.single-product .related.products ul.products li.product .price .amount {
  color: var(--willis-gold) !important;
}

body.willis-design-dark.single-product .single_add_to_cart_button.button.alt {
  background: var(--willis-gold) !important;
  border: 0 !important;
  border-radius: 2px !important;
  color: #ffffff !important;
  font-size: 14px;
  font-weight: 700;
  padding: 13px 22px !important;
}

body.willis-design-dark.single-product .single_add_to_cart_button.button.alt:hover {
  background: var(--willis-ink) !important;
  color: #ffffff !important;
}

body.willis-design-dark .willis-footer-section,
body.willis-design-dark #main-footer {
  background: #18120d !important;
}

body.willis-design-dark #et-footer-nav {
  background: #211812 !important;
}

body.willis-design-dark #footer-bottom {
  background: #100c08 !important;
}

body.willis-design-dark .willis-footer-section h1,
body.willis-design-dark .willis-footer-section h2,
body.willis-design-dark .willis-footer-section h3,
body.willis-design-dark .willis-footer-section h4,
body.willis-design-dark .willis-footer-section h5,
body.willis-design-dark .willis-footer-section h6,
body.willis-design-dark #main-footer h1,
body.willis-design-dark #main-footer h2,
body.willis-design-dark #main-footer h3,
body.willis-design-dark #main-footer h4,
body.willis-design-dark #main-footer h5,
body.willis-design-dark #main-footer h6 {
  color: #ffffff !important;
}

body.willis-design-dark .willis-footer-section p,
body.willis-design-dark .willis-footer-section li,
body.willis-design-dark .willis-footer-section span,
body.willis-design-dark .willis-footer-section a,
body.willis-design-dark #main-footer p,
body.willis-design-dark #main-footer li,
body.willis-design-dark #main-footer span,
body.willis-design-dark #main-footer a,
body.willis-design-dark #footer-info,
body.willis-design-dark #footer-info a,
body.willis-design-dark .bottom-nav li a {
  color: rgba(244, 234, 217, .82) !important;
}

body.willis-design-dark .willis-footer-section a:hover,
body.willis-design-dark #main-footer a:hover,
body.willis-design-dark #footer-info a:hover,
body.willis-design-dark .bottom-nav li a:hover,
body.willis-design-dark .bottom-nav li.current-menu-item a {
  color: var(--willis-gold, #b67832) !important;
}

/* Encore-inspired light visual system */
body.willis-design-encore {
  --willis-ink: #2c414d;
  --willis-ink-2: #21333d;
  --willis-gold: #bb8f49;
  --willis-cream: #f6f4ef;
  --willis-paper: #ffffff;
  --willis-green: #bdd2cf;
  --willis-text: #30404a;
  background: #fbfaf7;
  color: var(--willis-text);
  font-family: "DM Sans", "Inter", "Open Sans", Arial, sans-serif;
}

body.willis-design-encore #page-container,
body.willis-design-encore #main-content {
  background: #fbfaf7;
}

body.willis-design-encore #main-header,
body.willis-design-encore #main-header.et-fixed-header {
  background: rgba(255, 255, 255, .96) !important;
  border-bottom: 1px solid rgba(44, 65, 77, .12);
  box-shadow: 0 14px 35px rgba(44, 65, 77, .08) !important;
}

body.willis-design-encore #main-header #logo {
  content: url("../images/willis-logo-encore.svg");
  max-height: 52px !important;
}

body.willis-design-encore #top-menu li a,
body.willis-design-encore .et-fixed-header #top-menu li a {
  color: var(--willis-ink) !important;
  font-family: "DM Sans", "Open Sans", Arial, sans-serif;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

body.willis-design-encore #top-menu li.current-menu-item a,
body.willis-design-encore #top-menu li a:hover {
  color: var(--willis-gold) !important;
}

body.willis-design-encore #top-menu .willis-reserve-menu a {
  background: var(--willis-ink);
  border-radius: 4px;
  color: #ffffff !important;
}

body.willis-design-encore .mobile_menu_bar:before {
  color: var(--willis-ink) !important;
}

body.willis-design-encore .et_mobile_menu {
  background: #ffffff !important;
  border-top-color: var(--willis-gold);
}

body.willis-design-encore .et_mobile_menu li a {
  color: var(--willis-ink) !important;
  font-weight: 800;
}

body.willis-design-encore .willis-hero-section {
  background-color: #eef4f2;
  min-height: 690px;
}

body.willis-design-encore .willis-subhero-section {
  min-height: 500px;
}

body.willis-design-encore .willis-hero-section:before {
  background: linear-gradient(90deg, rgba(251, 250, 247, .95) 0%, rgba(251, 250, 247, .82) 44%, rgba(251, 250, 247, .18) 100%);
}

body.willis-design-encore .willis-hero-title h1,
body.willis-design-encore .willis-title-block h2,
body.willis-design-encore.single-product .product_title.entry-title,
body.willis-design-encore.single-product .woocommerce-Tabs-panel h2,
body.willis-design-encore.single-product .related.products > h2 {
  color: var(--willis-ink);
  font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  font-weight: 700;
}

body.willis-design-encore .willis-hero-title h1 {
  font-size: 74px;
  line-height: .98;
}

body.willis-design-encore .willis-subhero-title h1 {
  font-size: 58px;
}

body.willis-design-encore .willis-hero-kicker p,
body.willis-design-encore .willis-eyebrow {
  color: var(--willis-gold);
  font-family: "DM Sans", "Open Sans", Arial, sans-serif;
  letter-spacing: .08em;
}

body.willis-design-encore .willis-hero-subtitle p {
  color: var(--willis-ink);
  letter-spacing: .04em;
}

body.willis-design-encore .willis-hero-copy p {
  color: rgba(48, 64, 74, .9);
  font-size: 18px;
  line-height: 1.85;
}

body.willis-design-encore .willis-light-section {
  background: var(--willis-cream) !important;
}

body.willis-design-encore .willis-white-section,
body.willis-design-encore .willis-offers-section,
body.willis-design-encore .willis-gallery-section,
body.willis-design-encore .willis-contact-section {
  background: #ffffff !important;
}

body.willis-design-encore .et-l--post > .et_builder_inner_content .willis-service-section,
body.willis-design-encore .willis-service-section {
  background: #eaf2f0 !important;
}

body.willis-design-encore .willis-title-block h2 {
  font-size: 46px;
  line-height: 1.08;
}

body.willis-design-encore .willis-title-block p,
body.willis-design-encore .willis-body-copy p,
body.willis-design-encore .willis-contact-details p,
body.willis-design-encore .willis-contact-details strong {
  color: var(--willis-text);
  font-size: 16px;
  line-height: 1.9;
}

body.willis-design-encore .willis-feature-image img,
body.willis-design-encore .willis-gallery-grid .et_pb_gallery_image img {
  border-radius: 8px;
  box-shadow: 0 18px 40px rgba(44, 65, 77, .11);
}

body.willis-design-encore .willis-booking-row {
  background: #ffffff;
  border: 1px solid rgba(44, 65, 77, .12);
  border-top: 0;
  border-radius: 8px;
  box-shadow: 0 20px 45px rgba(44, 65, 77, .12);
}

body.willis-design-encore .willis-booking-item h4 {
  color: var(--willis-ink);
  font-family: "DM Sans", "Open Sans", Arial, sans-serif;
  letter-spacing: .05em;
}

body.willis-design-encore .willis-booking-item p {
  color: rgba(48, 64, 74, .74);
}

body.willis-design-encore .willis-primary-button .et_pb_button,
body.willis-design-encore .willis-booking-button .et_pb_button,
body.willis-design-encore .willis-offer-card .et_pb_button,
body.willis-design-encore .willis-footer-button .et_pb_button,
body.willis-design-encore .et_pb_button.willis-primary-button,
body.willis-design-encore .et_pb_button.willis-booking-button,
body.willis-design-encore .et_pb_button.willis-footer-button,
body.willis-design-encore.single-product .single_add_to_cart_button.button.alt,
body.willis-design-encore.woocommerce-cart .wc-block-components-button,
body.willis-design-encore.woocommerce-cart .willis-continue-shopping-button {
  background: var(--willis-ink) !important;
  border-radius: 4px !important;
  color: #ffffff !important;
  font-family: "DM Sans", "Open Sans", Arial, sans-serif;
  letter-spacing: .03em;
}

body.willis-design-encore .willis-primary-button .et_pb_button:hover,
body.willis-design-encore .willis-booking-button .et_pb_button:hover,
body.willis-design-encore .willis-offer-card .et_pb_button:hover,
body.willis-design-encore .willis-footer-button .et_pb_button:hover,
body.willis-design-encore .et_pb_button.willis-primary-button:hover,
body.willis-design-encore .et_pb_button.willis-booking-button:hover,
body.willis-design-encore .et_pb_button.willis-footer-button:hover,
body.willis-design-encore.single-product .single_add_to_cart_button.button.alt:hover,
body.willis-design-encore.woocommerce-cart .wc-block-components-button:hover,
body.willis-design-encore.woocommerce-cart .willis-continue-shopping-button:hover {
  background: var(--willis-gold) !important;
  color: #ffffff !important;
}

body.willis-design-encore .willis-outline-button .et_pb_button {
  border-color: var(--willis-ink) !important;
  border-radius: 4px !important;
  color: var(--willis-ink) !important;
}

body.willis-design-encore .et_pb_button.willis-outline-button,
body.willis-design-encore .willis-outline-button .et_pb_button {
  border-color: var(--willis-ink) !important;
  border-radius: 4px !important;
  color: var(--willis-ink) !important;
}

body.willis-design-encore .et_pb_button.willis-outline-button:hover,
body.willis-design-encore .willis-outline-button .et_pb_button:hover {
  background: var(--willis-ink) !important;
  color: #ffffff !important;
}

body.willis-design-encore .willis-light-blurb,
body.willis-design-encore .willis-contact-form,
body.willis-design-encore .willis-divi-products.et_pb_shop .woocommerce ul.products li.product,
body.willis-design-encore.single-product div.product,
body.willis-design-encore.single-product .related.products ul.products li.product,
body.willis-design-encore.woocommerce-cart .willis-cart-continue-shopping,
body.willis-design-encore.woocommerce-cart .wc-block-cart {
  background: #ffffff;
  border: 1px solid rgba(44, 65, 77, .12);
  border-top: 0;
  border-radius: 8px;
  box-shadow: 0 18px 40px rgba(44, 65, 77, .1);
}

body.willis-design-encore .willis-light-blurb {
  min-height: 250px;
}

body.willis-design-encore .willis-light-blurb h4 {
  color: var(--willis-ink);
  font-family: "DM Sans", "Open Sans", Arial, sans-serif;
  font-weight: 800;
}

body.willis-design-encore .willis-light-blurb .et_pb_blurb_description p {
  color: rgba(48, 64, 74, .82);
}

body.willis-design-encore .willis-service-blurb {
  border-left-color: rgba(44, 65, 77, .16);
}

body.willis-design-encore .willis-service-blurb h4,
body.willis-design-encore .willis-service-blurb h4 a {
  color: var(--willis-ink) !important;
  font-family: "DM Sans", "Open Sans", Arial, sans-serif;
  font-weight: 800;
}

body.willis-design-encore .willis-service-blurb .et_pb_blurb_description p,
body.willis-design-encore .willis-service-blurb .et_pb_blurb_description span {
  color: rgba(48, 64, 74, .82) !important;
}

body.willis-design-encore .willis-offer-card {
  border-radius: 8px;
  box-shadow: 0 20px 45px rgba(44, 65, 77, .12);
  min-height: 390px;
}

body.willis-design-encore .willis-room-card {
  min-height: 360px;
}

body.willis-design-encore .willis-offer-card:before {
  background: linear-gradient(180deg, rgba(255, 255, 255, .02) 0%, rgba(255, 255, 255, .92) 58%, rgba(255, 255, 255, .98) 100%);
}

body.willis-design-encore .willis-offer-card h2 {
  color: var(--willis-ink);
  font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  font-size: 32px;
  font-weight: 700;
}

body.willis-design-encore .willis-offer-card p {
  color: rgba(48, 64, 74, .9);
}

body.willis-design-encore .willis-offer-card span[style] {
  color: var(--willis-gold) !important;
}

body.willis-design-encore .willis-contact-form .input,
body.willis-design-encore .willis-contact-form textarea,
body.willis-design-encore.single-product .quantity .qty {
  background: #f6f4ef !important;
  border: 1px solid rgba(44, 65, 77, .14) !important;
  border-radius: 6px;
  color: var(--willis-ink) !important;
}

body.willis-design-encore .willis-footer-section,
body.willis-design-encore #main-footer,
body.willis-design-encore.single-product #main-footer,
body.willis-design-encore.woocommerce-cart #main-footer {
  background: var(--willis-ink) !important;
}

body.willis-design-encore .willis-footer-section h3,
body.willis-design-encore #footer-bottom,
body.willis-design-encore.single-product #footer-bottom,
body.willis-design-encore.woocommerce-cart #footer-bottom {
  color: #ffffff;
}

body.willis-design-encore .willis-footer-section p,
body.willis-design-encore .willis-footer-section a {
  color: rgba(255, 255, 255, .76);
}

body.willis-design-encore .willis-footer-section a:hover {
  color: var(--willis-gold);
}

body.willis-design-encore .willis-divi-products.et_pb_shop .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.willis-design-encore.single-product .related.products ul.products li.product .woocommerce-loop-product__title,
body.willis-design-encore.woocommerce-cart .willis-cart-continue-shopping strong,
body.willis-design-encore.woocommerce-cart .wc-block-cart__totals-title,
body.willis-design-encore.woocommerce-cart .wc-block-components-title,
body.willis-design-encore.woocommerce-cart .wp-block-heading {
  color: var(--willis-ink);
  font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif;
}

body.willis-design-encore .willis-divi-products.et_pb_shop .woocommerce ul.products li.product .price,
body.willis-design-encore .willis-divi-products.et_pb_shop .woocommerce ul.products li.product .price .amount,
body.willis-design-encore.single-product div.product p.price,
body.willis-design-encore.single-product div.product span.price,
body.willis-design-encore.single-product div.product p.price .amount,
body.willis-design-encore.single-product .related.products ul.products li.product .price,
body.willis-design-encore.single-product .related.products ul.products li.product .price .amount,
body.willis-design-encore.woocommerce-cart .wc-block-components-product-price__value,
body.willis-design-encore.woocommerce-cart .wc-block-components-totals-item__value {
  color: var(--willis-gold) !important;
}

body.willis-design-encore.single-product #main-content,
body.willis-design-encore.woocommerce-cart #main-content {
  background: var(--willis-cream);
}

body.willis-design-encore.single-product .woocommerce-breadcrumb {
  color: var(--willis-gold);
}

body.willis-design-encore.single-product .woocommerce-breadcrumb a,
body.willis-design-encore.single-product .product_meta {
  color: rgba(48, 64, 74, .72);
}

body.willis-design-encore.single-product .woocommerce-tabs {
  background: #f6f4ef;
  border-radius: 8px;
}

body.willis-design-encore.woocommerce-cart .willis-cart-continue-shopping span {
  color: rgba(48, 64, 74, .82);
}

@media (max-width: 980px) {
  body.willis-design-encore .willis-hero-section {
    min-height: 590px;
  }

  body.willis-design-encore .willis-hero-title h1 {
    font-size: 52px;
  }

  body.willis-design-encore .willis-subhero-title h1 {
    font-size: 44px;
  }
}

@media (max-width: 640px) {
  body.willis-design-encore .willis-hero-title h1 {
    font-size: 39px;
  }

  body.willis-design-encore .willis-title-block h2 {
    font-size: 34px;
  }
}
