/* =========================================================
   01. GLOBAL UTILITIES
   ========================================================= */

/* White underline CTA */
.whiteUnderline.nectar-cta[data-style="underline"] .link_wrap .link_text:after {
  border-bottom-color: #fff;
}

/* White paragraph links/text */
.whiteLinks p {
  color: #fff !important;
}

/* Hide Complianz list markers */
.cmplz-links ul li::marker {
  content: "";
}

/* Remove top padding before footer on non-content pages */
body:not(.page):not(.single-post):not(.single-portfolio) .nectar-global-section.before-footer {
  padding-top: 0 !important;
}

/* Mobile only element */
.NoDeskOnlyMob {
  display: none !important;
}

@media (max-width: 767px) {
  .NoDeskOnlyMob {
    display: inline-block !important;
  }
}

/* Desktop and tablet only element */
.DeskAndTab {
  display: inline-block !important;
}

@media (max-width: 767px) {
  .DeskAndTab {
    display: none !important;
  }
}

/* 3-column gutters without wrapping */
.gutterRow {
  margin-left: -12px !important;
  margin-right: -12px !important;
}

.gutterRow .hoverWrap {
  padding-left: 12px !important;
  padding-right: 12px !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.gutterRow > .wpb_column,
.gutterRow > .vc_column_container {
  float: left;
}

/* Square/cropped image helper */
.square-image {
  width: 100% !important;
  height: 500px !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 0 !important;
}

/* Salient image hover transition */
.ih-item.square.effect7 .img {
  transition: all 1.4s ease-in-out !important;
}

/* Slider text max width on desktop only */
@media (min-width: 1000px) {
  .SliderText {
    max-width: 520px;
    width: 100%;
  }
}

@media (max-width: 999px) {
  .SliderText {
    max-width: none;
    width: 100%;
  }
}


/* =========================================================
   02. BUTTONS / CTA TYPOGRAPHY
   ========================================================= */

/* Florattica button / CTA typography */
a[role="button"],
[role="button"].nectar-button,
[role="button"].link_text {
  font-family: "Inter", Arial, sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 0.10em !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 500 !important;
}

/* Ensure inner text spans inherit the same style */
a[role="button"] span:not(.line),
[role="button"].nectar-button span,
[role="button"].link_text .text {
  font-family: "Inter", Arial, sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 0.10em !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 500 !important;
}

/* Footer button links */
.footerLinks a[role="button"] {
  font-size: 14px !important;
  line-height: 2 !important;
}



/* =========================================================
   04. ACCORDIONS / TOGGLES
   ========================================================= */

/* Hide the existing Salient toggle icon */
.toggle-title a i,
.toggle.open > .toggle-title a i {
  display: none;
}

/* Replacement toggle icon - closed state */
.toggle-title a::after {
  content: "\f107";
  font-family: "FontAwesome";
  font-weight: 400;
  text-align: center !important;
  vertical-align: top !important;
  width: 30px;
  height: 30px;
  position: absolute;
  right: 0;
  left: auto;
  top: 50%;
  margin-top: -15px;
  border: 0;
  border-radius: 30px;
  transition: border-color .15s ease;
}

/* Replacement toggle icon - open state */
.toggle.open > .toggle-title a::after {
  content: "\f106";
}

.nectar-inherit-h4::after {
  font-size: 29px !important;
}


/* =========================================================
   05. HOVER REVEAL ELEMENTS
   ========================================================= */

/* Hidden by default */
.hoverWrap .hoverOnly,
.zoom-bg-column .hoverOnly {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease, visibility 0s linear .25s;
}

/* Reveal on hover */
.hoverWrap:hover .hoverOnly,
.zoom-bg-column:hover .hoverOnly {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
  transition: opacity .25s ease, transform .25s ease, visibility 0s;
}

/* Always show hover-only elements on mobile / touch devices */
@media (hover: none), (pointer: coarse), (max-width: 768px) {
  .hoverWrap .hoverOnly,
  .zoom-bg-column .hoverOnly {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
    transition: none !important;
  }
}

/* Make the main column work as a vertical layout */
.hoverWrap > .vc_column-inner {
  height: 100%;
}

.hoverWrap > .vc_column-inner > .wpb_wrapper {
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* Always visible element fixed to the bottom of the column */
.hoverWrap .alwaysBottom {
  margin-top: auto !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  transform: none !important;
}


/* =========================================================
   06. IMAGE ZOOM / CARD EFFECTS
   ========================================================= */

/* Smooth zoom on the real image layer */
.zoom-bg .column-image-bg {
  position: relative;
  transition: transform 1s ease-in-out;
  transform-origin: center center;
  z-index: 0;
}

/* Zoom in */
.zoom-bg:hover .column-image-bg {
  transform: scale(1.2);
}

/* Overlay directly on top of the image */
.zoom-bg .column-image-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0);
  transition: background 0.8s ease-in-out;
  z-index: 1;
  pointer-events: none;
}

/* Darken on hover */
.zoom-bg:hover .column-image-bg::after {
  background: rgba(0, 0, 0, 0.4);
}

/* Keep text/content above overlay */
.zoom-bg .wpb_wrapper {
  position: relative;
  z-index: 2;
}

/* Keep zoom inside each card */
.zoom-bg-column,
.zoom-bg-column .vc_column-inner,
.zoom-bg-column .nectar-flip-box,
.zoom-bg-column .flip-box-front,
.zoom-bg-column .column-image-bg-wrap,
.zoom-bg-column .column-image-bg-wrap .inner-wrap {
  overflow: hidden;
}

/* Smooth animation for column background */
.zoom-bg-column .column-image-bg {
  background-size: cover !important;
  background-position: center center !important;
  transition: transform 0.8s ease;
  transform: scale(1);
  will-change: transform;
}

/* Smooth animation for flip-box front backgrounds */
.zoom-bg-column .nectar-flip-box .flip-box-front {
  background-size: cover !important;
  background-position: center center !important;
  transition: background-size 0.8s ease;
  will-change: background-size;
}

/* First column zoom */
.zoom-bg-column:hover .column-image-bg {
  transform: scale(1.08);
}

/* Second + third columns zoom */
.zoom-bg-column:hover .nectar-flip-box .flip-box-front {
  background-size: 108% !important;
}


/* Animate underline only when hovering the whole column/card */
.zoom-bg-column:hover .nectar-highlighted-text[data-style="half_text"] em.animated {
  background-size: 100% 16% !important;
}

/* Global highlighted text underline size */
.nectar-highlighted-text[data-style="half_text"] em.animated {
  background-size: 100% 16%;
}


/* =========================================================
   07. CAROUSEL / SLIDER DOTS
   ========================================================= */

/* Position the dots inside the image */
.NavIn .flickity-page-dots {
  position: absolute !important;
  bottom: 40px !important;
  right: 20px !important;
  left: auto !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  z-index: 100 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Remove any theme-added backgrounds or shapes */
.NavIn .flickity-page-dots:before,
.NavIn .flickity-page-dots:after,
.NavIn .flickity-page-dots .dot:before,
.NavIn .flickity-page-dots .dot:after {
  display: none !important;
  content: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Actual dots */
.NavIn .flickity-page-dots .dot {
  width: 12px !important;
  height: 12px !important;
  margin: 0 5px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.99) !important;
  border: 1px solid black !important;
  box-shadow: none !important;
}

/* Active dot */
.NavIn .flickity-page-dots .dot.is-selected {
  background: #fff !important;
  opacity: 1 !important;
}


/* =========================================================
   08. FORMS
   ========================================================= */

/* Legacy Forminator form layout - specific to form ID 6591 */
#forminator-module-6591 {
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  column-gap: 10px !important;
  align-items: center !important;
}

#forminator-module-6591 > .forminator-row:not(.forminator-row-last) {
  grid-column: 1 !important;
  margin: 0 !important;
}

#forminator-module-6591 > .forminator-row.forminator-row-last {
  grid-column: 2 !important;
  margin: 0 !important;
  width: auto !important;
}

#forminator-module-6591 .forminator-col,
#forminator-module-6591 .forminator-col-12 {
  padding: 0 !important;
  width: auto !important;
  max-width: none !important;
}

#forminator-module-6591 .forminator-email--field {
  width: 100% !important;
}

#forminator-module-6591 .forminator-button-submit {
  width: auto !important;
  min-width: 130px !important;
  white-space: nowrap !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

#forminator-module-6591 > p {
  display: none !important;
}

/* Florattica signup form wrapper */
.florattica-signup {
  width: 100%;
  max-width: 450px;
}

/* Force the form into one horizontal row */
.florattica-signup form,
.florattica-signup .wpcf7-form,
.florattica-signup .forminator-custom-form,
.florattica-signup .mc4wp-form-fields {
  display: flex !important;
  align-items: stretch !important;
  width: 100% !important;
  height: 42px !important;
  border: 1px solid rgba(255, 247, 236, 0.35) !important;
  background: transparent !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Remove paragraph/wrapper spacing that breaks the layout */
.florattica-signup p,
.florattica-signup .forminator-row,
.florattica-signup .forminator-field,
.florattica-signup .forminator-col,
.florattica-signup .wpcf7-form-control-wrap {
  margin: 0 !important;
  padding: 0 !important;
  display: contents !important;
}

/* Email input */
.florattica-signup input[type="email"],
.florattica-signup input[type="text"] {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  height: 100% !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #FFF7EC !important;
  padding: 0 16px !important;
  margin: 0 !important;
  font-size: 12px !important;
  line-height: 42px !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Placeholder */
.florattica-signup input::placeholder {
  color: rgba(255, 247, 236, 0.65) !important;
  opacity: 1 !important;
}

/* Submit button */
.florattica-signup button,
.florattica-signup input[type="submit"] {
  flex: 0 0 125px !important;
  width: 125px !important;
  height: 100% !important;
  border: 0 !important;
  border-left: 1px solid rgba(255, 247, 236, 0.35) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #FFF7EC !important;
  padding: 0 14px !important;
  margin: 0 !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  line-height: 42px !important;
  text-align: center !important;
  box-shadow: none !important;
  cursor: pointer !important;
}

/* Hover */
.florattica-signup button:hover,
.florattica-signup input[type="submit"]:hover {
  background: rgba(255, 247, 236, 0.08) !important;
  color: #FFF7EC !important;
}

/* Remove unwanted breaks */
.florattica-signup br {
  display: none !important;
}

/* Mobile signup form */
@media (max-width: 600px) {
  .florattica-signup {
    max-width: 100%;
  }

  .florattica-signup form,
  .florattica-signup .wpcf7-form,
  .florattica-signup .forminator-custom-form,
  .florattica-signup .mc4wp-form-fields {
    height: 40px !important;
  }

  .florattica-signup button,
  .florattica-signup input[type="submit"] {
    flex-basis: 115px !important;
    width: 115px !important;
    font-size: 9px !important;
    line-height: 40px !important;
    letter-spacing: 0.12em !important;
  }

  .florattica-signup input[type="email"],
  .florattica-signup input[type="text"] {
    line-height: 40px !important;
    padding: 0 12px !important;
  }
}


/* =========================================================
   09. EVENTS / POST GRID / CAROUSEL
   ========================================================= */

/* Hide default post heading on event cards */
.eventsNoTitle .post-heading {
  display: none;
}

/* Dim event carousel buttons */
.eventsNoTitle button {
  opacity: 0.5;
}

/* Event carousel arrow positions */
.eventsNoTitle .nectar-flickity[data-controls*="arrows_overlaid"] .flickity-prev-next-button.previous {
  left: 10px;
}

.eventsNoTitle .nectar-flickity[data-controls*="arrows_overlaid"] .flickity-prev-next-button.next {
  right: 10px;
}

/* Desktop only: image above, text below, no background colour */
@media (min-width: 1000px) {
  .eventsNoTitle.nectar-post-grid .flickity-viewport,
  .eventsNoTitle .nectar-post-grid .flickity-viewport {
    height: 640px !important;
  }

  .eventsNoTitle.nectar-post-grid .nectar-post-grid-item,
  .eventsNoTitle .nectar-post-grid .nectar-post-grid-item {
    height: 640px !important;
  }

  .eventsNoTitle.nectar-post-grid .nectar-post-grid-item .inner,
  .eventsNoTitle .nectar-post-grid .nectar-post-grid-item .inner {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    overflow: visible !important;
    border-radius: 0 !important;
    background: transparent !important;
  }

  /* Image area */
  .eventsNoTitle.nectar-post-grid .nectar-post-grid-item-bg-wrap,
  .eventsNoTitle .nectar-post-grid .nectar-post-grid-item-bg-wrap {
    position: relative !important;
    inset: auto !important;
    height: 320px !important;
    flex: 0 0 320px !important;
    overflow: hidden !important;
    border-radius: 0 !important;
  }

  .eventsNoTitle.nectar-post-grid .nectar-post-grid-item-bg-wrap-inner,
  .eventsNoTitle.nectar-post-grid .nectar-post-grid-item-bg,
  .eventsNoTitle.nectar-post-grid .nectar-post-grid-item-bg img,
  .eventsNoTitle .nectar-post-grid .nectar-post-grid-item-bg-wrap-inner,
  .eventsNoTitle .nectar-post-grid .nectar-post-grid-item-bg,
  .eventsNoTitle .nectar-post-grid .nectar-post-grid-item-bg img {
    height: 100% !important;
    width: 100% !important;
  }

  .eventsNoTitle.nectar-post-grid .nectar-post-grid-item-bg img,
  .eventsNoTitle .nectar-post-grid .nectar-post-grid-item-bg img {
    object-fit: cover !important;
  }

  /* Remove dark image overlay on desktop */
  .eventsNoTitle.nectar-post-grid .bg-overlay,
  .eventsNoTitle .nectar-post-grid .bg-overlay {
    display: none !important;
  }

  /* Text below image */
  .eventsNoTitle.nectar-post-grid .content,
  .eventsNoTitle .nectar-post-grid .content {
    position: relative !important;
    inset: auto !important;
    transform: none !important;
    height: auto !important;
    min-height: 260px !important;
    flex: 1 1 auto !important;
    padding: 22px 0 40px 0 !important;
    background: transparent !important;
    color: inherit !important;
    overflow: visible !important;
  }

  .eventsNoTitle.nectar-post-grid .item-main,
  .eventsNoTitle .nectar-post-grid .item-main {
    position: relative !important;
    inset: auto !important;
    transform: none !important;
    overflow: visible !important;
  }

  /* Text colour below image */
  .eventsNoTitle.nectar-post-grid .post-heading,
  .eventsNoTitle.nectar-post-grid .post-heading span,
  .eventsNoTitle.nectar-post-grid .nectar-post-grid-item__custom-field,
  .eventsNoTitle .nectar-post-grid .post-heading,
  .eventsNoTitle .nectar-post-grid .post-heading span,
  .eventsNoTitle .nectar-post-grid .nectar-post-grid-item__custom-field {
    color: #020A13 !important;
  }

  /* Keep the full card clickable */
  .eventsNoTitle.nectar-post-grid .nectar-post-grid-link,
  .eventsNoTitle .nectar-post-grid .nectar-post-grid-link {
    position: absolute !important;
    inset: 0 !important;
    z-index: 10 !important;
  }

  /* Move carousel arrows up so they sit over the image area */
  .eventsNoTitle.nectar-post-grid .flickity-prev-next-button,
  .eventsNoTitle .nectar-post-grid .flickity-prev-next-button {
    top: 160px !important;
    transform: translateY(-50%) !important;
  }
}

/* Event title field colour - desktop */
body #ajax-content-wrap .nectar-post-grid-wrap.eventsNoTitle
.nectar-post-grid[data-text-color="light"]
.nectar-post-grid-item .content .item-main
.nectar-post-grid-item__custom-fields
h3.nectar-post-grid-item__custom-field[data-key="iq_event_title_text"] {
  color: #97400b !important;
  font-weight: 500 !important;
  font-size: 27px !important;
  -webkit-text-fill-color: #97400b !important;
}

/* Event title field colour - mobile */
@media only screen and (max-width: 999px) {
  body #ajax-content-wrap .nectar-post-grid-wrap.eventsNoTitle
  .nectar-post-grid[data-text-color="light"]
  .nectar-post-grid-item .content .item-main
  .nectar-post-grid-item__custom-fields
  h3.nectar-post-grid-item__custom-field[data-key="iq_event_title_text"] {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
  }
}

.LightLink a{
	color: #FFF7EE
}
.icon-default-style
{
	font-size: 25px !important
}
/* =========================================================
   03. HEADER / MENU / BOOKING BUTTON
   ========================================================= */

/* Header menu item hover */
#header-outer .menu-item-6180 > a:hover:before {
  background-color: #ffffff;
  color: #2b351f !important;
  border: 1px solid #2b351f !important;
}

/* Header menu item colour */
#header-outer .menu-item-6180 > a,
#header-outer #top nav .menu-item-6180 > a,
#header-outer.transparent nav > ul.sf-menu .menu-item.menu-item-6180 > a,
#header-outer.transparent #top nav > ul.sf-menu .menu-item.menu-item-6180 > a:hover {
  color: #2b351f !important;
}

/* Book a table button - normal state */
#header-outer #top nav ul.buttons li.trigger-sevenrooms > a#sr_booking_trigger,
#header-outer #top nav ul.buttons li.trigger-sevenrooms > a#sr_booking_trigger:before {
  background-color: #2b351f !important;
  border: 1px solid #2b351f !important;
  border-radius: 0 !important;
}

/* Book a table button text - normal state */
#header-outer #top nav ul.buttons li.trigger-sevenrooms > a#sr_booking_trigger,
#header-outer #top nav ul.buttons li.trigger-sevenrooms > a#sr_booking_trigger span,
#header-outer #top nav ul.buttons li.trigger-sevenrooms > a#sr_booking_trigger .menu-title-text {
  color: #ffffff !important;
}

/* Make background, border and text change at the same time */
#header-outer #top nav ul.buttons li.trigger-sevenrooms > a#sr_booking_trigger,
#header-outer #top nav ul.buttons li.trigger-sevenrooms > a#sr_booking_trigger:before,
#header-outer #top nav ul.buttons li.trigger-sevenrooms > a#sr_booking_trigger span,
#header-outer #top nav ul.buttons li.trigger-sevenrooms > a#sr_booking_trigger .menu-title-text {
  transition:
    color 0.25s ease,
    background-color 0.25s ease,
    border-color 0.25s ease !important;
}

/* Book a table button - hover background */
body #header-outer #top nav ul.buttons li.trigger-sevenrooms:hover > a#sr_booking_trigger,
body #header-outer #top nav ul.buttons li.trigger-sevenrooms:hover > a#sr_booking_trigger:before,
body #header-outer #top nav ul.buttons li.trigger-sevenrooms.sfHover > a#sr_booking_trigger,
body #header-outer #top nav ul.buttons li.trigger-sevenrooms.sfHover > a#sr_booking_trigger:before,
body #header-outer #top nav ul.buttons li.trigger-sevenrooms > a#sr_booking_trigger:hover,
body #header-outer #top nav ul.buttons li.trigger-sevenrooms > a#sr_booking_trigger:hover:before {
  background-color: #ffffff !important;
  border-color: #2b351f !important;
  border-radius: 0 !important;
}

/* Book a table button - hover text */
body #header-outer #top nav ul.buttons li.trigger-sevenrooms:hover > a#sr_booking_trigger,
body #header-outer #top nav ul.buttons li.trigger-sevenrooms:hover > a#sr_booking_trigger span,
body #header-outer #top nav ul.buttons li.trigger-sevenrooms:hover > a#sr_booking_trigger .menu-title-text,
body #header-outer #top nav ul.buttons li.trigger-sevenrooms.sfHover > a#sr_booking_trigger,
body #header-outer #top nav ul.buttons li.trigger-sevenrooms.sfHover > a#sr_booking_trigger span,
body #header-outer #top nav ul.buttons li.trigger-sevenrooms.sfHover > a#sr_booking_trigger .menu-title-text,
body #header-outer #top nav ul.buttons li.trigger-sevenrooms > a#sr_booking_trigger:hover,
body #header-outer #top nav ul.buttons li.trigger-sevenrooms > a#sr_booking_trigger:hover span,
body #header-outer #top nav ul.buttons li.trigger-sevenrooms > a#sr_booking_trigger:hover .menu-title-text {
  color: #2b351f !important;
}